- SpringBoot整合ShardingSphere
陌殇殇
中间件springboot后端java
SpringBoot整合ShardingSphere文章目录SpringBoot整合ShardingSphere1.概述1.Sharding-JDBC2.Sharding-Proxy3.比较2.ShardingJdbc读写分离1.pom依赖2.yml配置3.测试4.props其他配置3.ShardingJdbc分库分表1.分库分表方式2.逻辑表3.分库分表数据节点-actual-data-node
- 中间件的学习理解总结
DCDDDDcccc
中间件学习
目录一、定义与作用二、主要类型数据库中间件远程过程调用中间件面向消息的中间件事务处理中间件三、特点与优势独立性高效性可扩展性可靠性四、应用场景企业应用集成分布式系统电子商务移动应用开发五、数据库中间件功能细节:应用优势:六、远程过程调用中间件功能细节:应用优势:七、面向消息的中间件功能细节:应用优势:八、事务处理中间件功能细节:应用优势:数据库中间件MyCat:ShardingSphere:远程过
- 数据库分库分表-ShardingSphere学习
学Java的skyyyyyyyy
数据库java
ShardingSphere是一个开源的分布式数据库中间件解决方案,旨在提供数据库分片、分布式事务、读写分离、数据治理等多种数据服务,它以模块化的方式设计,使用户可以根据不同的应用场景选择适合的模块来部署。ShardingSphere架构概述ShardingSphere的架构主要围绕四个核心组件展开,分别是Sharding-JDBC、Sharding-Proxy、Sharding-Sidecar(
- shardingsphere-elastic-job-ui 管理界面安装
天道有情战天下
ui
下载地址https://shardingsphere.apache.org/elasticjob/current/cn/downloads/将mysql包放到解压文件中,用于事件追踪修改配置文件,会自动创建数据表用于事件追踪其他配置参考下载地址中文档
- 发现ElasticJob-UI:分布式任务调度的得力助手
黎杉娜Torrent
发现ElasticJob-UI:分布式任务调度的得力助手shardingsphere-elasticjob-uiAdministratorconsoleofElasticJob项目地址:https://gitcode.com/gh_mirrors/sh/shardingsphere-elasticjob-ui在这个高度分布化的时代,如何高效管理定时任务成为了一个不容忽视的挑战。今天,我们为您介绍一
- 推荐开源项目:ElasticJob-UI —— 强大的弹性任务管理神器
任澄翊
推荐开源项目:ElasticJob-UI——强大的弹性任务管理神器项目介绍ElasticJob-UI是ApacheShardingSphere生态系统中的一个重要组件,它为ElasticJob提供了一款功能强大的可视化管理控制台。这个平台涵盖了动态配置和作业管控等一系列关键功能,帮助开发者轻松管理和监控分布式任务。ElasticJob-UI包含了针对ElasticJob-Lite和ElasticJ
- shardingsphere自定义hint分片算法,完美实现按区域编码数据隔离,没改一行旧代码
因为已经改造了登录平台,实现了集群统一部署,然后后续就是继续弄集中统一部署服务改造(这里的集中统一部署的意思是区别于每个区域私有部署,服务本身还是可以弹性伸缩的),首先改造一个比较简单的白名单微服务,只涉及到三张表,业务逻辑也简单就是CRUD以及关联查询。因为当初这个服务是由其他人实现交给我这边部署维护一下,具体的业务逻辑和代码我也没看过,所以改造的时候就想着尽量不动代码,无侵入式的或者低侵入式的
- 使用ShardingJDBC实现分库分表
不摸鱼的程序员
中间件shardingJDBC分库分表
一、测试环境JDK:1.8SpringBoot:2.7.17MySQL驱动:5.1.49MyBatis:2.3.1shardingJDBC:5.1.0二、核心依赖mysqlmysql-connector-java5.1.49org.mybatis.spring.bootmybatis-spring-boot-starter2.3.1org.apache.shardingspheresharding
- Sharding-JDBC学习笔记
重生之Java再爱我一次
学习笔记
1.基本概念1.1什么是ShardingSphere?ShardingSphere是一个开源的分布式数据库中间件,提供了分布式数据库的跨节点分片和分布式事务解决方案。它由分片(Sharding)和球(Sphere)两个单词组成,分片表示数据分片,球表示这些分片组成的球形空间,象征着分布式数据库的全景视图。ShardingSphere支持多种数据库的分片和分布式事务,包括关系型数据库(如MySQL、
- 基于 ShardingSphere 的分布式数据库负载均衡架构搭建实战
ShardingSphere
数据库负载均衡分布式架构服务器
本文主要分为3部分,将依次介绍:基于ShardingSphere的分布式数据库「负载均衡架构搭建」要点结合实际的「用户问题案例」,介绍引入「负载均衡」的影响介绍并展示ShardingSphere分布式数据库在云上的「一站式解决方案」要点介绍ShardingSphere负载均衡架构搭建要点ApacheShardingSphere是一款分布式的数据库生态系统,可以将任意数据库转换为分布式数据库,并通过
- 数据库切片大对决:ShardingSphere与Mycat技术解析
一只牛博
数据库数据库ShardingSpheremycat
欢迎来到我的博客,代码的世界里,每一行都是一个故事数据库切片大对决:ShardingSphere与Mycat技术解析前言ShardingSphere与Mycat简介工作原理对比功能特性对比前言在数据库的舞台上,有两位颇受欢迎的明星,它们分别是ShardingSphere和Mycat。这两位巨星在数据库切片的世界里大放异彩,好像是一场引人入胜的数据库技术盛宴。在这场Sharding大战中,我们将揭开
- ShardingSphere 5.x 系列【7】元数据持久化
云烟成雨TD
ShardingSphere5.xspringbootshardingsphere分库分表
有道无术,术尚可求,有术无道,止于术。本系列SpringBoot版本3.1.0本系列ShardingSphere版本5.4.0源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo文章目录概述2.单机模式2.1H22.2MySQL3.集群模式3.1ZooKeeper3.2Nacos3.3Consul
- ElasticJob分布式调度,分布式多个微服务执行只需要执行一个定时任务,基本概念介绍(一)
时间是一种毒药
问题背景最近的项目中需要做一个定时任务,该项目是一个分布式多节点调度任务,所以里面的定时任务在不同的节点不应该同时进行,应该使用其中一个节点做定时任务,目前寻找的方案为ElasticJob,这个篇章简单介绍一下ElasticJob简介1Elastic-job官网地址:https://shardingsphere.apache.org/elasticjob/current/cn/overview/
- ShardingSphere-Proxy5搭建使用
Echo_bf84
ShardingSphere-Proxy5搭建使用ApacheShardingSphere下的一个产品,定位为透明化的数据库代理端,与mycat类似,所有的分片都由其完成。ShardingSphere-Proxy5下载安装官网提供三种安装方式,这里主要记录两种二进制包安装官网下载二进制包apache-shardingsphere-5.2.0-shardingsphere-proxy-bin.tar
- ElasticJob 3.0 带你快速入门
@lihewei
javaelastic-job
ElasticJobElasticJob简介当当网开源的分布式定时任务框架,后被apache基金会支持;官方文档:https://shardingsphere.apache.org/elasticjob/current/cn/overview/问:ElasticJob是什么?答:定时任务框架;优势:支持分布式部署;不同节点上执行的是不一样的任务(代码是同一套);对于一个大任务,可以用分片策略,让他
- openGauss X ShardingSphere,分布式方案的另一种最佳实践
胡正策
openGauss技术分享openGauss社区新知分布式数据库database
openGauss数据库自2020年6月开源以来,受到了业界的广泛关注,现已吸引众多伙伴、开发者参与其中,共建繁荣的数据库生态。面对如今海量数据,超高并发等诸多场景,openGauss将目光转向于分布式解决方案,专注于解决海量数据存储、超高并发吞吐、大表瓶颈等众多难题,与ShardingSphere一起构建全栈开源分布式解决方案,实现openGauss的又一大突破。分布式解决方案图1分布式解决方案
- 启动shardingsphere-proxy报错
福娃筱欢
shardingsphere
--问题描述启动shardingsphere-proxy报错[INFO]2024-02-0515:47:44.920[main]o.o.core.v3.ConnectionFactoryImpl-Connectcomplete.ID:2e065e33-dbcb-4499-ac2d-dea6692b8202Exceptioninthread"main"java.lang.IllegalStateEx
- ShardingSphere实现openGauss分布式架构
福娃筱欢
分布式架构
本文档采用openGauss结合ShardingSphere中间件的架构,实现openGauss数据库分布式OLAP场景的环境部署。术语说明:开源数据库引擎:openGaussshardingsphereProxy:定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。目前提供MySQL和PostgreSQL(兼容openGauss等基于PostgreSQL
- ShardingSphere 5.x 系列【5】Spring Boot 3 集成并实现读写分离
云烟成雨TD
ShardingSphere5.xspringbootshardingsphere分库分表
有道无术,术尚可求,有术无道,止于术。本系列SpringBoot版本3.1.0本系列ShardingSphere版本5.4.0源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo文章目录1.概述2.使用限制3.案例演示3.1一主双从3.2项目搭建3.3配置3.4测试4.负载均衡算法4.1轮询4.2随机4.3权重4.
- ShardingSphere 5.x 系列【3】分库分表中间件技术选型
云烟成雨TD
ShardingSphere5.xspringbootshardingsphere分库分表
有道无术,术尚可求,有术无道,止于术。本系列SpringBoot版本3.1.0本系列ShardingSphere版本5.4.0源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo文章目录1.前言2.MyCat3.ShardingSphere4.Dble5.Vitess6.大厂开源6.1Cobar6.2Atlas6.
- Mybatis | update 时报错 Can not update sharding key
土Bo鼠
工作实践记录数据库mybatis
分片的列必须在where条件里,并且同更新的值相同;或者将该列设置为null。因为分表键不能修改,如果改了的话,数据所在库表的位置会变,这是不符合预期的。参考:【已解决】ShardingSphere使用记录,ShardingException:Cannotupdateshardingkey,logictable:[user_log]解决-腾讯云开发者社区-腾讯云
- 好好的系统,为什么要分库分表?
书火网_firebook
大家好,我是小富~说在前边今天是《分库分表ShardingSphere原理与实战》系列的开篇文章,之前写过几篇关于分库分表的文章反响都还不错,到现在公众号:程序员小富后台不断的有人留言、咨询分库分表的问题,我也没想到大家对于分库分表的话题会这么感兴趣,可能很多人的工作内容业务量较小很难接触到这方面的技能。这个系列在我脑子里筹划了挺久的,奈何手说啥也不干活,就一直拖到了现在。image其实网上关于分
- Apache ShardingSphere(Incubating)周报 2019.3.25-2019.3.29
ShardingSphere
本周工作ShardingSphere功能开发新模块开发1.调研jetcd的使用,在shardingsphere-spi-impl项目中创建sharding-orchestration-reg-jetcd模块进行开发2.shardingsphere-spi-impl项目中增加shardingsphere-distribution模块进行spi的发布3.加密业务性能测试功能优化&重构1.优化
- 关于分库分表
薛薛哦
java
儒猿购买过一个视频课程:基于ShardingSphere的分库分表实战课(9.9专享)(xiaoe-tech.com)如何演进到分库分表的?数据量大了首先考虑优化索引→缓存→读写分离(写主库,主从复制,查询从库)→垂直分库→→→→
- sharding-jdbc5系列教程(一)springboot配置shardingjdbc+mybatis-plus+druid+dynamic-datasource
爱音乐的程序猿
springbootmysqljavaspringbootjavashardingjdbc分库分表mysql
系列文章目录文章目录系列文章目录前言一、shardingjdbcApacheShardingSphere是一套开源的分布式数据库解决方案组成的生态圈,它由JDBC、Proxy和Sidecar(规划中)这3款既能够独立部署,又支持混合部署配合使用的产品组成。它们均提供标准化的数据水平扩展、分布式事务和分布式治理等功能,可适用于如Java同构、异构语言、云原生等各种多样化的应用场景。ApacheSha
- ShardingSphere之ShardingJDBC客户端分库分表下
山鸟与鱼!
分布式中间件数据库后端javaspringboot
目录ShardingJDBC实战STANDARD标准分片策略COMPLEX_INLINE复杂分片策略CLASS_BASED自定义分片策略HINT_INLINE强制分片策略ShardingJDBC实战上篇已经将需要用到的类、数据库表都准备好了,本篇主要介绍分片配置文件。STANDARD标准分片策略如果按照上篇文章所讲,使用INLINE分片算法是不能支持Between查找的,如果使用会报错。@Test
- ShardingSphere之ShardingJDBC客户端分库分表上
山鸟与鱼!
分布式中间件数据库java后端springboot
目录什么是ShardingSphere?客户端分库分表与服务端分库分表ShardingJDBC客户端分库分表ShardingProxy服务端分库分表ShardingSphere实现分库分表的核心概念ShardingJDBC实战什么是ShardingSphere?ShardingSphere是一款起源于当当网内部的应用框架。2015年在当当网内部诞生,最初就叫ShardingJDBC。Shardin
- SpringBoot+JPA+ShardingSphere4.x单库按月份分表
fengpojian
SpringBootSpringBootJPAShardingsphere数据库分表月份
1.走过的弯路在研究分表的时候,我他喵的是真的体会到了"浩如烟海"是啥意思.要么就是资料太老,要么就很少是按照月份分表的.中间我走了很多弯路,甚至一度怀疑jap不适合用来进行分表.从我看过的资料来说,没有一个博客介绍使用Shardingsphere进行分表是思路是什么样的,这也是我走了很多弯路的原因.先介绍背景:单个数据库,按照月份进行分表,每个表有月份的后缀,类似于:table_202006.我
- Apache ShardingSphere分表的简单使用和常见问题
瑶山
java技术数据库javaShardingSphereShardingJDBCspringboot
目录简介什么是ApacheShardingSphere?分库分表的背景使用pom配置1,application.properties配置文件2,创建配置类分表验证分表常见问题自定义分表规则未生效使用sum函数无法获取值合并或共用数据源问题简介官网:ApacheShardingSphere版本:4.x什么是ApacheShardingSphere?ApacheShardingSphere是一款分布式
- 分表过多引起的问题/Apache ShardingSphere元数据加载慢
瑶山
java数据库ShardingSphere元数据分表
目录环境背景探寻元数据的加载策略如何解决升级版本到5.x调大max.connections.size.per.querymax.connections.size.per.query分析服务启动阶段相关源码服务运行阶段相关源码受到的影响注意事项(重要)其他环境SpringBoot2.2.13ShardingJDBC4.1.1背景因项目特殊性问题,系统需要处理大量数据,有多个数据源,且因数据过多每个数
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http