- ubuntu22安装和部署Kettle8.2
在Ubuntu22上安装和部署Kettle8.2,你可以按照以下步骤进行:安装Java环境:Kettle需要Java环境来运行。在终端中输入以下命令安装Java:sudoaptupdatesudoaptinstallopenjdk-8-jdk安装完成后,你可以通过命令java-version来验证Java是否安装成功。下载并解压Kettle:从Pentaho官网或者其他可信赖的源下载Kettle8
- 【Java万花筒】数据魔术师:探索Java商业智能与数据可视化
friklogff
Java万花筒信息可视化java开发语言
开发者的数据魔杖:掌握Java商业智能工具的秘诀前言在当今信息爆炸的时代,数据已经成为企业决策和业务发展的重要驱动力。为了更好地理解和利用数据,商业智能(BI)和数据可视化工具变得至关重要。本文将介绍几种基于Java的商业智能和数据可视化库,从Jaspersoft到Pentaho,探索它们的功能、特点和应用场景。欢迎订阅专栏:Java万花筒文章目录开发者的数据魔杖:掌握Java商业智能工具的秘诀前
- 【kettle】pentaho/data-integration 报错:org.apache.http.NoHttpResponseException: failed to respond
lisacumt
apache大数据
一、版本说明kettle版本:8.2.0.0-342【kettle】pentaho/data-integrationdebug查看日志方法二、报错说明:核心报错内容:org.apache.http.NoHttpResponseException:xxx.com:80failedtorespond执行到某一个请求时候报错,内容:2024/01/1815:24:06-获取json.0-Connecti
- 【kettle】pentaho/data-integration debug 查看日志方法
lisacumt
大数据
kettle版本:8.2.0.0-R修改console打印日志级别:修改root打印日志级别:使用SpoonDebug.bat,根据提示,依次输入nyn。cmd窗口即可打印详细日志。UI显示详细日志方法:
- kettle在不同类型数据库之间进行数据传输并对字段进行映射
好大的月亮
Mysql
官方文档https://help.pentaho.com/Documentation/7.1/0J0/0C0/020下载地址https://community.hitachivantara.com/s/article/data-integration-kettle下载完之后双击运行启动成功这边先介绍转换模式下的数据导入导出双击转换,在输入->表输入中把表输入拖拽到右边,这里的表输入其实就是我们要读
- Kettle入门
叶逸灵
Kettle版本:7.1,下载地址:http://mirror.bit.edu.cn/pentaho/Data%20Integration/(这个镜像是北京理工大学提供,目前只有Kettle6.1、7.0、7.1)Kettle官方地址下载:https://community.hitachivantara.com/s/article/data-integration-kettle。image.png
- Kettle 8.2 如何创建资源库
sliver-毛毛
数据同步ETL工具Kettle资源库
1.为什么使用资源库如果我们是团队开发项目,除了使用SVN等版本控制软件,还可以使用Kettle的资源库,他会将转换、作业直接保存在数据库中,而且,连接资源库的话,我们就不需要每一次都新建数据库连接了,用起来还是蛮方便的。2.链接资源库Kettle8.2里面,是在右上角这个Connect来连接的2.1资源库的类型资源库有3中类型PentahoRepository(默认是如下图)要想链接下面两种类型
- kettle 同步gbase8t数据到mysql时clob类型乱码
终回首
数据仓库大数据数据库etlkettle乱码
一、问题使用kettle同步gbase8t数据到mysql时clob类型乱码。varchar类型不乱码。环境:win10kettle:9.x二、解决1(有效)修改kettle编码格式打开kettle的安装目录,进入data-integration目录记事本编辑spoon.bat搜索PENTAHO_DI_JAVA_OPTIONS=在初始化设置jvm参数所在行末尾添加"-Dfile.encoding=
- mondrian+jpivot源码导入eclipse并配置数据源
郎岳樟
eclipsejdbcaccessstringservlet数据库
导入mondrian源码步骤如下:1)下载mondrian-3.0.0.10550和jpivot1.8.0,mondrian-3.0.0以后的版本和jpivot的源码整合不到一起.jpivot好久没更新了!!!!下载地址:http://mondrian.pentaho.com/2)在eclipse里新建个web工程,命名mondrian.3)解压mondrian-3.0.0.10550/mondr
- Aspose Maven 中下载不下来的问题
暗夜行者
把maven的依赖添加到了POM文件中,com.asposeaspose-slides19.6jdk16然而就是会报无法读到artifact的问题,对比了下才发现,是要同时配置repository的,如下:pentaho-releaseshttp://nexus.pentaho.org/content/groups/omniaspose-maven-repositoryhttp://artifac
- Windows下载并配置Kettle
呆萌的代Ma
运维windowskettle
注意:需要windows配置Java下载Kettle进入官网:https://www.hitachivantara.com/en-us/products/pentaho-plus-platform/data-integration-analytics/pentaho-community-edition.html下载带有PentahoDataIntegration(BaseInstall)的文件:这
- 如何解决Cannot access central in offline mode?
迷失、淡忘、沉默
开发语言javamavenintellij-idea
如何解决Cannotaccesscentralinofflinemode?问题第一种解决方式:第二种解决方式第三种解决方式问题关于这个问题是我这两天遇到的一个比较头疼的问题,我花费了一个下午才解决的在使用maven打包执行package的过程中,在下载依赖包的这一步报错:Failuretofindorg.pentaho:pentaho-aggdesigner-algorithm:pom:5.1.5
- kettle(Pentaho Data Integration) 使用"最佳"实践
稻草鸟人
kettle是一款基于JAVA的开源ETL工具,现在它的名字应该叫做PentahoDataIntegration(PDI)了,非常优秀的一款工具,功能非常多,今天我们主要演示其JavaAPI案例案例通过PDI工具,完成一个Job,主要目标是将表中的数据导出到dat文件中,导出的文件名字以user-开头,内容使用|作为分割符,后面的格式是YYYYMMDD后缀为dat.例:user-20200502.
- org.pentaho.di.core.exception.KettleDatabaseException:Error occurred while trying to connect to the
weixin_38919176
kettle
1、kettle连接oracle数据库异常缺少驱动下载ojdbc.jar包将下载的jar包(ojdbc14.jar)放到kettle目录下(data-integration\lib文件夹下)2、kettle连接mysql数据库异常驱动包下载地址:https://download.csdn.net/download/weixin_38919176/13099358数据库名错误:3、mysql查询数据
- kettle8调度监控平台(kettle-scheduler)开源
东_4c72
背景Kettle作为用户规模最多的开源ETL工具,强大简洁的功能深受广大ETL从业者的欢迎。但kettle本身的调度监控功能却非常弱。Pentaho官方都建议采用crontab(Unix平台)和计划任务(Windows平台)来完成调度功能。所以大家在实施kettle作业调度功能的时候,通常采用以下几种方式:使用spoon程序来启动Job,使用crontab或计划任务,自主开发java程序来调用ke
- 【kettle】pdi/data-integration 打开ktr文件报错“Unable to load step info from XML“
lisacumt
hadoop
一、报错内容:UnabletoloadstepinfofromXMLstepnodeorg.pentaho.di.core.exception.KettleXMLException:UnabletoloadstepinfofromXMLatorg.pentaho.commons.launcher.Launcher.main(Launcher.java:92)atjava.lang.reflect.
- Pentaho Kettle 6.1连接CDH5.4.0集群
香山上的麻雀
最近把之前写的HadoopMapReduce程序又总结了下,发现很多逻辑基本都是大致相同的,于是想到能不能利用ETL工具来进行配置相关逻辑来实现MapReduce代码自动生成并执行,这样可以简化现有以及之后的一部分工作.于是选取了上手容易并对Hadoop支持的比较成熟的PentahoKettle来测试,把一些配置过程和遇到的坑记录下来.Kettle可以在官网下载到,但是官网会让你注册才能下载而且速
- ETL data-integration 9.3 Spoon 启动找不到javaw.exe
曹牛牛
etl数据仓库
下载链接:https://pan.baidu.com/s/140c3LdIXP3frPIWjDidbXA提取码:6gww启动时直接报错,提示找不到javaw.exe。本机的java配置正常。仔细看错误提示,路径中有两个bin,所以导致找不到。打开set-pentaho-env.bat文件,将60行,修改一下set_PENTAHO_JAVA=%_PENTAHO_JAVA_HOME%\bin\%__L
- 【数据湖架构】数据湖101:概述
架构师研究会
数据管理数据架构数据应用架构架构数据湖
数据湖是非结构化和结构化数据池,按原样存储,没有特定的目的,可以建立在多种技术上,如Hadoop,NoSQL,AmazonSimpleStorageService,关系数据库或各种组合根据一份名为“什么是数据湖”的白皮书,为什么它变得流行?DataLake允许多点采集和多个数据访问点。Pentaho公司的创始人詹姆斯·迪克森(JamesDixon)在2010年创造了“数据湖”(DataLake)这
- oracle和mysql怎么传输数据
emma20080101
oraclemysql
传输Oracle和MySQL之间的数据可以使用多种方法,以下是其中两种常用的方法:使用ETL工具:ETL工具是一种用于数据抽取、转换和加载的工具,可以将数据从一个数据库传输到另一个数据库。常用的ETL工具有ApacheNiFi、Talend、Pentaho等。这些工具通常支持多种数据库连接,包括Oracle和MySQL,可以通过简单的拖放操作或编写SQL语句来实现数据传输。使用数据库自带的工具:O
- Kettle介绍
小玉起起
Kettle
Kettle,也称为PentahoDataIntegration,是一种强大的开源ETL(Extract,Transform,Load)工具,用于数据集成、数据转换和数据加载。它是Pentaho软件套件的一部分,提供了可视化和交互式的方式来处理各种数据操作。主要特点和功能包括:ETL功能:Kettle被设计用来执行ETL操作,即数据抽取(Extract)、数据转换(Transform)、数据加载(
- kettle闪退问题(也许不适用于所有情况,只是自己遇到之后的解决方案)
析道者
kettle疑难
1、查看jdk版本是否为1.6以上2、查看jdk环境变量的配置是否有问题,即jdk是否可用(网上有jdk相关教程)3、查看spoon.bat中的“if"%PENTAHO_DI_JAVA_OPTIONS%"==”一这行开头的,将-xms和xmx改成512即可
- ETL入门系列 之 数据整合面临的挑战
小纠结在简书
这些挑战可能包括:政治的、组织性的、功能性的或者技术性的。方法论:敏捷BI软件开发者们发现这些结构化的瀑布模型方法并不能适用于所有场景,尤其是在需求经常变化的情况下。为了解决这种需求经常变化的问题,出现了各种不同的“敏捷”开发方法。在这些方法中,也许Scrum方法是最著名的一个。Pentaho公司把开发PentahoBI套件过程中使用的敏捷开发经验提升为敏捷BI方法。这样做不公可以给BI开发者提供
- 【pentaho】kettle读取Hive表不支持bigint和timstamp类型解决。
lisacumt
hivehadoop
一、bigint类型报错:Unabletogetvalue'BigNumber(16)'fromdatabaseresultset显示kettle认为此应该是decimal类型(kettle中是TYPE_BIGNUMBER或称BigNumber),但实际hive数据库中是big类型。修改kettle源码解决:kettle中java.sql.Types到kettle类型转换的方法是org.penta
- kettle加载到mysql插入更新优化方案之mysql批量加载
Dragon online
注:MySQLBulkLoader组件必须在Linux下运行,因为MySQL批量加载时会创建一个命名管道,在Windows下是不支持的。加载工具用的是fifo1.MySQLBulkLoader组件介绍wiki文档介绍https://wiki.pentaho.com/display/EAI/MySQL+Bulk+Loader这两个勾可限定是否根据主键替换2.MySQLBulkLoader组件实战介绍
- kettle+report designer导出带样式的excel包含多个sheet页
Dragon online
etlkettle开源报表设计器excel开源reportdesignerkettle生成样式excelkettle合并sheet页开源报表设计器使用ETL
场景介绍:运用pentahoreportdesigner报表设计器,查询数据库字典表生成带有样式的excel,通过kettlepentaho报表输出组件导出形成数据字典,最终形成的数据字典样式如下图:案例适用范围:pentahoreportdesigner报表设计器使用可参考,kettle生成带有样式的excel,PDF等可参考,kettle生成多个sheet页可以参考,多个sheet页合并成一个
- Linux部署Kettle(pentaho-server-ce-9.4.0.0-343)记录/配置MySQL存储
韧小钊
ETL&ELT数据集成kettlePDI9.4LinuxETL工具
下载地址Kettle是一个开源的数据集成工具,它是PentahoDataIntegration(PDI)项目的一部分。要访问Kettle的官方网站,可以通过访问其母公司HitachiVantara的网站来找到相关信息官方网站:https://www.hitachivantara.com/en-us/products/data-management-analytics.html下载地址:https:
- kettle-7.1手册系列(一) 启动spoon
利伊奥克儿
启动SpoonLinux启动spoon打开pentaho的安装目录-->单击【Spoon.bat】windows启动linux启动spoon打开pentaho的安装目录à运行【spoon.sh】linux启动版权声明:本文为博主原创文章,转载请附上博文链接!
- kettle spoon连接MySQL8.0数据库报错解决方法
江南正晓时
数据库
kettle连接mysql8.0报错,显示无法连接到数据库服务错误连接数据库[11]:org.pentaho.di.core.exception.KettleDatabaseException:ErroroccurredwhiletryingtoconnecttothedatabaseErrorconnectingtodatabase:(usingclassorg.gjt.mm.mysql.Dri
- 一、DeepOps的ETL小笔记-kettle/pentaho(pdi)简介
deepops
原文地址:http://www.mimiq.com.cn/?=265说到ETL是英文Extract-Transform-Load的缩写,它是用来描述从数据源端抽取,对其进行转换,然后将数据加载到目标端的一些列过程。很多系统之间都存在一定的批量数据的交互。然而一个好的ETL工具,在开发和使用维护上可以让我们事半功倍。目前工作的原因用到的比较多的ETL工具就是Kettle(后期这个改名为pentaho
- ASM系列六 利用TreeApi 添加和移除类成员
lijingyao8206
jvm动态代理ASM字节码技术TreeAPI
同生成的做法一样,添加和移除类成员只要去修改fields和methods中的元素即可。这里我们拿一个简单的类做例子,下面这个Task类,我们来移除isNeedRemove方法,并且添加一个int 类型的addedField属性。
package asm.core;
/**
* Created by yunshen.ljy on 2015/6/
- Springmvc-权限设计
bee1314
springWebjsp
万丈高楼平地起。
权限管理对于管理系统而言已经是标配中的标配了吧,对于我等俗人更是不能免俗。同时就目前的项目状况而言,我们还不需要那么高大上的开源的解决方案,如Spring Security,Shiro。小伙伴一致决定我们还是从基本的功能迭代起来吧。
目标:
1.实现权限的管理(CRUD)
2.实现部门管理 (CRUD)
3.实现人员的管理 (CRUD)
4.实现部门和权限
- 算法竞赛入门经典(第二版)第2章习题
CrazyMizzz
c算法
2.4.1 输出技巧
#include <stdio.h>
int
main()
{
int i, n;
scanf("%d", &n);
for (i = 1; i <= n; i++)
printf("%d\n", i);
return 0;
}
习题2-2 水仙花数(daffodil
- struts2中jsp自动跳转到Action
麦田的设计者
jspwebxmlstruts2自动跳转
1、在struts2的开发中,经常需要用户点击网页后就直接跳转到一个Action,执行Action里面的方法,利用mvc分层思想执行相应操作在界面上得到动态数据。毕竟用户不可能在地址栏里输入一个Action(不是专业人士)
2、<jsp:forward page="xxx.action" /> ,这个标签可以实现跳转,page的路径是相对地址,不同与jsp和j
- php 操作webservice实例
IT独行者
PHPwebservice
首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。我测试的环境为:apache2.2.11 php5.2.10做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll;
OK 现在我们来体验webservice
//server端 serve
- Windows下使用Vagrant安装linux系统
_wy_
windowsvagrant
准备工作:
下载安装 VirtualBox :https://www.virtualbox.org/
下载安装 Vagrant :http://www.vagrantup.com/
下载需要使用的 box :
官方提供的范例:http://files.vagrantup.com/precise32.box
还可以在 http://www.vagrantbox.es/
- 更改linux的文件拥有者及用户组(chown和chgrp)
无量
clinuxchgrpchown
本文(转)
http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/
http://ydlmlh.iteye.com/blog/1435157
一、基本使用:
使用chown命令可以修改文件或目录所属的用户:
命令
- linux下抓包工具
矮蛋蛋
linux
原文地址:
http://blog.chinaunix.net/uid-23670869-id-2610683.html
tcpdump -nn -vv -X udp port 8888
上面命令是抓取udp包、端口为8888
netstat -tln 命令是用来查看linux的端口使用情况
13 . 列出所有的网络连接
lsof -i
14. 列出所有tcp 网络连接信息
l
- 我觉得mybatis是垃圾!:“每一个用mybatis的男纸,你伤不起”
alafqq
mybatis
最近看了
每一个用mybatis的男纸,你伤不起
原文地址 :http://www.iteye.com/topic/1073938
发表一下个人看法。欢迎大神拍砖;
个人一直使用的是Ibatis框架,公司对其进行过小小的改良;
最近换了公司,要使用新的框架。听说mybatis不错;就对其进行了部分的研究;
发现多了一个mapper层;个人感觉就是个dao;
- 解决java数据交换之谜
百合不是茶
数据交换
交换两个数字的方法有以下三种 ,其中第一种最常用
/*
输出最小的一个数
*/
public class jiaohuan1 {
public static void main(String[] args) {
int a =4;
int b = 3;
if(a<b){
// 第一种交换方式
int tmep =
- 渐变显示
bijian1013
JavaScript
<style type="text/css">
#wxf {
FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffff, EndColorStr=#97FF98);
height: 25px;
}
</style>
- 探索JUnit4扩展:断言语法assertThat
bijian1013
java单元测试assertThat
一.概述
JUnit 设计的目的就是有效地抓住编程人员写代码的意图,然后快速检查他们的代码是否与他们的意图相匹配。 JUnit 发展至今,版本不停的翻新,但是所有版本都一致致力于解决一个问题,那就是如何发现编程人员的代码意图,并且如何使得编程人员更加容易地表达他们的代码意图。JUnit 4.4 也是为了如何能够
- 【Gson三】Gson解析{"data":{"IM":["MSN","QQ","Gtalk"]}}
bit1129
gson
如何把如下简单的JSON字符串反序列化为Java的POJO对象?
{"data":{"IM":["MSN","QQ","Gtalk"]}}
下面的POJO类Model无法完成正确的解析:
import com.google.gson.Gson;
- 【Kafka九】Kafka High Level API vs. Low Level API
bit1129
kafka
1. Kafka提供了两种Consumer API
High Level Consumer API
Low Level Consumer API(Kafka诡异的称之为Simple Consumer API,实际上非常复杂)
在选用哪种Consumer API时,首先要弄清楚这两种API的工作原理,能做什么不能做什么,能做的话怎么做的以及用的时候,有哪些可能的问题
- 在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
- java-归并排序
bylijinnan
java
import java.util.Arrays;
public class MergeSort {
public static void main(String[] args) {
int[] a={20,1,3,8,5,9,4,25};
mergeSort(a,0,a.length-1);
System.out.println(Arrays.to
- Netty源码学习-CompositeChannelBuffer
bylijinnan
javanetty
CompositeChannelBuffer体现了Netty的“Transparent Zero Copy”
查看API(
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/buffer/package-summary.html#package_description)
可以看到,所谓“Transparent Zero Copy”是通
- Android中给Activity添加返回键
hotsunshine
Activity
// this need android:minSdkVersion="11"
getActionBar().setDisplayHomeAsUpEnabled(true);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- 静态页面传参
ctrain
静态
$(document).ready(function () {
var request = {
QueryString :
function (val) {
var uri = window.location.search;
var re = new RegExp("" + val + "=([^&?]*)", &
- Windows中查找某个目录下的所有文件中包含某个字符串的命令
daizj
windows查找某个目录下的所有文件包含某个字符串
findstr可以完成这个工作。
[html]
view plain
copy
>findstr /s /i "string" *.*
上面的命令表示,当前目录以及当前目录的所有子目录下的所有文件中查找"string&qu
- 改善程序代码质量的一些技巧
dcj3sjt126com
编程PHP重构
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。让我们看一些基本的编程技巧: 尽量保持方法简短 尽管很多人都遵
- SharedPreferences对数据的存储
dcj3sjt126com
SharedPreferences简介: &nbs
- linux复习笔记之bash shell (2) bash基础
eksliang
bashbash shell
转载请出自出处:
http://eksliang.iteye.com/blog/2104329
1.影响显示结果的语系变量(locale)
1.1locale这个命令就是查看当前系统支持多少种语系,命令使用如下:
[root@localhost shell]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
- Android零碎知识总结
gqdy365
android
1、CopyOnWriteArrayList add(E) 和remove(int index)都是对新的数组进行修改和新增。所以在多线程操作时不会出现java.util.ConcurrentModificationException错误。
所以最后得出结论:CopyOnWriteArrayList适合使用在读操作远远大于写操作的场景里,比如缓存。发生修改时候做copy,新老版本分离,保证读的高
- HoverTree.Model.ArticleSelect类的作用
hvt
Web.netC#hovertreeasp.net
ArticleSelect类在命名空间HoverTree.Model中可以认为是文章查询条件类,用于存放查询文章时的条件,例如HvtId就是文章的id。HvtIsShow就是文章的显示属性,当为-1是,该条件不产生作用,当为0时,查询不公开显示的文章,当为1时查询公开显示的文章。HvtIsHome则为是否在首页显示。HoverTree系统源码完全开放,开发环境为Visual Studio 2013
- PHP 判断是否使用代理 PHP Proxy Detector
天梯梦
proxy
1. php 类
I found this class looking for something else actually but I remembered I needed some while ago something similar and I never found one. I'm sure it will help a lot of developers who try to
- apache的math库中的回归——regression(翻译)
lvdccyb
Mathapache
这个Math库,虽然不向weka那样专业的ML库,但是用户友好,易用。
多元线性回归,协方差和相关性(皮尔逊和斯皮尔曼),分布测试(假设检验,t,卡方,G),统计。
数学库中还包含,Cholesky,LU,SVD,QR,特征根分解,真不错。
基本覆盖了:线代,统计,矩阵,
最优化理论
曲线拟合
常微分方程
遗传算法(GA),
还有3维的运算。。。
- 基础数据结构和算法十三:Undirected Graphs (2)
sunwinner
Algorithm
Design pattern for graph processing.
Since we consider a large number of graph-processing algorithms, our initial design goal is to decouple our implementations from the graph representation
- 云计算平台最重要的五项技术
sumapp
云计算云平台智城云
云计算平台最重要的五项技术
1、云服务器
云服务器提供简单高效,处理能力可弹性伸缩的计算服务,支持国内领先的云计算技术和大规模分布存储技术,使您的系统更稳定、数据更安全、传输更快速、部署更灵活。
特性
机型丰富
通过高性能服务器虚拟化为云服务器,提供丰富配置类型虚拟机,极大简化数据存储、数据库搭建、web服务器搭建等工作;
仅需要几分钟,根据CP
- 《京东技术解密》有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的12月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
12月试读活动回顾:
http://webmaster.iteye.com/blog/2164754
本次技术图书试读活动获奖名单及相应作品如下:
一等奖(两名)
Microhardest:http://microhardest.ite