- python 链接clickhouse 连接不上
无我_a50f
原因:clickhouse-driver使用的是tcp端口:9000java驱动clickhouse-jdbc使用的是http端口:8123
- SmartETL中数据库操作与流程解耦的设计与应用
正如ETL这个概念本身所指示的,数据库读写访问是ETL的最常用甚至是最主要的操作。现代信息系统的设计与运行基本都是围绕数据库展开的,很多应用的核心功能都是对数据库的CRUD(创建、检索、更新、删除)操作。SmartETL框架设计之初就考虑到了这个情况,在早期就根据团队的技术栈,实现了对MongoDB、MySQL、ElasticSearch、ClickHouse等数据库的Extract操作(即Loa
- clickhouse字符串函数
鸭梨山大哎
clickhouseclickhouse字符串
长度以及大小写SELECT--11length('helloworld')asstr_length,--判断字符串是否为空,空为1,非空为0--0empty('helloworld'),--1notEmpty('helloworld'),--11lengthUTF8('helloworld'),--11char_length('helloworld'),--同lengthUTF8()--11cha
- clickhouse分布式表插入数据不用带ON CLUSTER
时时刻刻看着自己的心
clickhouse分布式
向分布式表插入数据时,通常不需要使用ONCLUSTER,因为分布式表的写入操作会自动将数据分发到底层表(bm_online_user_count_part)的对应节点。但对于DDL(数据定义语句,例如ALTERTABLE)操作,在分布式环境中修改底层表时,建议使用ONCLUSTER,以确保所有相关节点上的表结构和数据同步。区分DDL和DMLDML(数据操作语句,例如INSERT)向分布式表插入数据
- ClickHouse高频面试题
野老杂谈
数据库
ClickHouse高频面试题1、简单介绍一下ClickHouse2、ClickHouse具有哪些特点3、ClickHouse作为一款高性能OLAP数据库,存在哪些不足4、ClickHouse有哪些表引擎5、介绍下Log系列表引擎应用场景共性特点不支持6、简单介绍下MergeTree系列引擎7、简单介绍下外部集成表引擎ODBCJDBCMySQLHDFSKafkaRabbitMQ8、ClickHou
- clickhouse数据库表和doris数据库表迁移starrocks数据库时建表注意事项总结
积跬步,慕至千里
软件安装及程序错误解决方案集数据库clickhouse
目录零、前言一、clickhouse数据库表在starrocks数据库建表时问题总结1.1数据类型类问题:1.2数据导出阶段:二、doris数据库表在starrocks数据库建表时问题总结2.1properties不支持的属性(直接删除):2.2properties需修改属性2.3properties:doris建表语句分区明细,starrocks数据不需要明确设定,会自动更新2.4分桶设置问题2
- KingbaseES 到 Apache Doris 实时同步实践|国产数据库数据入仓解决方案
数据库
国产数据库加速进入核心系统,传统同步工具却频频“掉链子”。本系列文章聚焦OceanBase、GaussDB、TDSQL、达梦等主流信创数据库,逐一拆解其日志机制与同步难点,结合TapData的实践经验,系统讲解从CDC捕获到实时入仓(Doris、StarRocks、ClickHouse等)的完整链路构建方案,为工程师提供切实可行的替代路径与最佳实践。本篇任务:KingbaseES→ApacheDo
- Flink ClickHouse 连接器:实现 Flink 与 ClickHouse 无缝对接
Edingbrugh.南空
大数据flinkflinkclickhouse大数据
引言在大数据处理领域,ApacheFlink是一款强大的流处理和批处理框架,而ClickHouse则是一个高性能的列式数据库,专为在线分析处理(OLAP)场景设计。FlinkClickHouse连接器为这两者之间搭建了一座桥梁,使得用户能够在Flink中方便地与ClickHouse数据库进行交互,实现数据的读写操作。本文将详细介绍FlinkClickHouse连接器的相关内容,包括其特点、使用方法
- ClickHouse【理论篇】01:什么是ClickHouse
ClickHouse是一款开源的列式数据库管理系统(Column-OrientedDBMS),专为高性能实时数据分析(OLAP,OnlineAnalyticalProcessing)场景设计。它由俄罗斯搜索引擎公司Yandex开发(2016年开源),目前由独立基金会ClickHouse,Inc.维护,广泛应用于大数据分析、日志处理、用户行为洞察等领域。一、核心定位:OLAP场景的“性能标杆”传统关
- ClickHouse【理论篇】02:ClickHouse架构和组件
做一个有趣的人Zz
ClickHouseclickhouse架构
ClickHouse的架构设计深度适配OLAP(在线分析处理)场景,通过列式存储、向量化执行、分布式分片与副本等核心技术,实现了对海量数据的高效分析与实时查询。以下从核心存储引擎、查询处理流程、分布式架构、元数据管理、复制与分片等维度详细解析其内部架构与关键组件。一、核心存储引擎:MergeTree系列ClickHouse的存储引擎是其性能的核心,其中MergeTree系列引擎(如MergeTre
- SeaTunnel 社区月报(5-6 月):全新功能上线、Bug 大扫除、Merge 之星是谁?
SeaTunnel
bugSeaTunnel开源数据集成大数据
在5月和6月,SeaTunnel社区迎来了一轮密集更新:2.3.11正式发布,新增对Databend、Elasticsearch向量、HTTP批量写入、ClickHouse多表写入等多个连接器能力,全面提升了数据同步灵活性。同时,近100个修复与优化PR合入,涵盖Spark引擎并行性修复、Paimon精度兼容性增强、Mongo-CDCExactlyOnce默认值优化、OracleDDL类型支持补全
- ClickHouse 导入数据报错
愿与狸花过一生
ClickHouseclickhouse
报错信息ERROR:Thereisnolinefeed."�"foundinstead.It'slikeyourfilehasmorecolumnsthanexpected.Andifyourfilehastherightnumberofcolumns,maybeithasanunquotedstringvaluewithacomma.ClickHouse导入csv文件中发现多了一列导致报错解决方
- SeaTunnel 社区月报(5-6 月):全新功能上线、Bug 大扫除、Merge 之星是谁?
数据库
在5月和6月,SeaTunnel社区迎来了一轮密集更新:2.3.11正式发布,新增对Databend、Elasticsearch向量、HTTP批量写入、ClickHouse多表写入等多个连接器能力,全面提升了数据同步灵活性。同时,近100个修复与优化PR合入,涵盖Spark引擎并行性修复、Paimon精度兼容性增强、Mongo-CDCExactlyOnce默认值优化、OracleDDL类型支持补全
- Clickhouse源码分析-Replicated Database创建流程
前置准备DDL:CREATEDATABASEmy_replicated_dbENGINE=Replicated('/clickhouse/databases/my_replicated_db','{shard}','{replica}');这里需要你提前启动1个clickhouse,1个clickhouse-keeper。源码分析断点:bInterpreters/DDLWorker.cpp:146
- ClickHouse:在 CentOS7.4 中编译 ClickHouse
目录一、环境准备二、创建编译使用的脚本三、编译ClickHouse一、环境准备1.1、CentOS版本为7.4.17081.2、从githubcloneClickHouse源码,checkout到tagv21.2.6.1-stable。cloneClickHOuse代码的时候需要把依赖的子项目也都clone下来,命令如下:gitclone--recursivehttps://github.com/
- CentOS 7 编译ClickHouse 24.8完整指南
前言在CentOS7上编译ClickHouse24.8可能会遇到一些挑战,主要是因为CentOS7的默认软件版本较旧。本文将详细介绍从零开始构建ClickHouse24.8的完整过程,包括依赖安装和环境配置。准备工作首先确保系统已更新到最新版本:yumupdate-y1.安装CMakeClickHouse需要CMake3.1.7以上版本,我们安装3.25.3:wget--no-check-cert
- gorm 配置数据库
三金C_C
go数据库
介绍GORM是Go语言中最流行的ORM(对象关系映射)库之一,基于数据库操作的封装,提供类似DjangoORM/SQLAlchemy的开发体验。特性描述支持多种数据库MySQL、PostgreSQL、SQLite、SQLServer、ClickHouse等自动迁移自动根据struct生成数据库表结构CRUD操作简洁简洁直观的增删查改接口支持事务内置事务管理预加载一行代码加载关联数据(Preload
- Clickhouse数据库的探索与安装
PerterTingle
华为云+Ubuntu操作系统springbootjava华为云数据库
以下是一个简洁的教程,指导你在Ubuntu系统上通过Docker下载并运行ClickHouse(一个开源的列存储数据库,专为在线分析处理OLAP设计),并确保其支持远程访问。教程基于官方文档和相关资源,适用于初学者。使用Docker部署ClickHouse教程前提条件Ubuntu系统(本教程以Ubuntu22.04为例)。已安装Docker和DockerCompose(若未安装,见下方步骤)。具有
- clickhouse安装 日记
唯独不开心
clickhouse数据库
#下载安装包下载地址:Indexof/repos/clickhouse#安装rpm-ivh*.rpm错误:依赖检测失败:libcrypto.so.10()(64bit)被clickhouse-compressor-1.1.54236-4.el7.x86_64需要libicudata.so.50()(64bit)被clickhouse-compressor-1.1.54236-4.el7.x86_6
- 信创 CDC 实战|国产数据库的数据高速通道:OceanBase 实时入仓 StarRocks
数据库
国产数据库加速进入核心系统,传统同步工具却频频“掉链子”。本系列文章聚焦OceanBase、GaussDB、TDSQL、达梦等主流信创数据库,逐一拆解其日志机制与同步难点,结合TapData的实践经验,系统讲解从CDC捕获到实时入仓(Doris、StarRocks、ClickHouse等)的完整链路构建方案,为工程师提供切实可行的替代路径与最佳实践。本篇任务:OceanBase→StarRocks
- Python实现MySQL建表语句转换成Clickhouse SQL
weixin_30777913
pythonmysqlclickhousesql数据库
主程序:**main_converter.py**importreimportjsonimportargparsedefload_config(config_path:str)->dict:'''配置管理模块:加载JSON格式配置文件'''withopen(config_path,mode="r",encoding="utf-8")asf:returnjson.load(f)classBaseCo
- 大数据学习(141)-分布式数据库
viperrrrrrr
大数据学习分布式clickhousehdfshbase
在分布式数据库中主要有hdfs、hbase、clickhouse三种。HDFS(HadoopDistributedFileSystem)、HBase和ClickHouse都是处理大数据的分布式系统,但它们的设计目标、架构和适用场景有所不同。一、HDFS(HadoopDistributedFileSystem)HDFS是Hadoop生态系统的一部分,是一个高度容错的系统,适合存储大量数据。它被设计为
- PostHog 的核心原理
草明
运维PosHogop
“事件驱动的数据采集+本地部署的分析系统+全栈可观测能力”下面是对PostHog工作原理的详细拆解,从架构层次到数据流转流程,并涵盖其核心模块。架构总览PostHog通常由以下几个关键组件构成:用户前端→PostHogJSSDK/API→IngestionPipeline→Kafka(事件队列)↓PostgreSQL/ClickHouse(事件存储)↓后端处理服务+插件系统+分析引擎↓WebUI/
- Python实现高效导入Excel数据到ClickHouse
weixin_30777913
python开发语言clickhouseexcelpandas
设计一个从Excel文件导入Clickhouse表的程序流程,并用Python来实现。单进程读取Excel文件,分批读取,每批读取1000条,使用INSERT的语句带多组值来写入数据库,比如100组值,可以创建多个列表来缓存这些插入数据库的语句,实现连续读取数据不中断,创建单个进程来读取顺序这些列表来写入表,读取完列表的数据之后,清空列表以便下一次再写入插入数据库的依据,我希望读取和写入数据库的操
- 数据库选型之路YMatrix与Clickhouse对比
星*语
数据库数据仓库时序数据库
背锅我们是被迫的数据库问题‘触发’越来越频繁了,开发、业务人员也一直抱怨数据库不行,作为运维人员,天天各种处理问题,还被其他部门喷,有问题矛头全部指向数据库。刚上任的部门领导整天也是压力山大,内部会议分析了当前的情况,最终解决方案是架构变更。当前的生产系统运行在Mysql上,从开始的保留半年的数据,到现在缩减到保留不足三个月的数据,全量数据实时同步到Hadoop,随着业务的发展,Mysql和Had
- Clickhouse统计指定表中各字段的空值、空字符串或零值比例
weixin_30777913
clickhouse运维数据仓库
下面是一段ClickhouseSQL代码,用于统计指定数据库中多张表的字段空值情况。代码通过动态生成查询语句实现自动化统计,处理逻辑如下:从系统表获取指定数据库(替换your_database)中所有表的字段元数据根据字段类型动态生成对应的空值统计逻辑使用sum聚合函数统计空值记录数计算空值占比百分比结果包含数据库名、表名、字段名、字段类型、空值计数、总行数和空值占比SELECTdatabase,
- dbeaver 查询clickhouse,数据库时间差了8小时
Sayai
大数据数据库clickhouseoracle
️调整步骤修改DBeaver连接配置在DBeaver中右键点击ClickHouse连接,选择“编辑连接”。切换到“驱动属性”选项卡,找到以下参数并修改:use_server_time_zone:设置为true(强制使用服务器时区)。use_server_time_zone_for_dates:设置为true(日期字段同步服务器时区)。use_time_zone:设置为目标时区(例如Asia/Sha
- 硬核实战 | 3分钟Docker部署ClickHouse列存数据库
本文来自「大千AI助手」技术实战系列,专注用真话讲技术,拒绝过度包装。ClickHouse作为OLAP领域性能标杆,其列式存储引擎比传统数据库快100倍以上。本文将用Docker实战部署,并解析关键配置:安装# 拉取最新镜像(当前版本23.8)docker pull clickhouse/clickhouse-server# 运行容器(关键参数解析)docker run -d \ --name=
- 开源夜莺支持MySQL数据源,更方便做业务指标监控了
开源运维监控sremysql
夜莺监控项目最核心的定位,是做一个告警引擎,支持多种数据源的告警。这个版本的更新主要是增加了对MySQL数据源的支持,进一步增强了夜莺在业务指标监控方面的能力。之前版本的夜莺主要聚焦在Prometheus、VictoriaMetrics、ElasticSearch等传统监控数据源上,从上个版本引入ClickHouse开始,夜莺开始支持更多样化的数据源,本次版本迭代则引入了MySQL数据源的支持,给
- ClickHouse在数据库领域的多租户架构设计
数据库管理艺术
clickhouse数据库ai
ClickHouse在数据库领域的多租户架构设计关键词:ClickHouse、数据库、多租户架构、资源隔离、数据安全摘要:本文深入探讨了ClickHouse在数据库领域的多租户架构设计。首先介绍了多租户架构在数据库领域的背景和重要性,接着阐述了ClickHouse多租户架构的核心概念与联系,包括其原理和架构示意图。详细讲解了实现多租户架构的核心算法原理和具体操作步骤,并给出了相应的Python代码
- 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