- Nginx stream 模块数据流程分析
weixin_42906485
网络Nginx
本文是原创,同时发布于F5社区1.Nginxstream模块从1.9.0开始,Nginx增加了stream模块用来实现四层协议的转发、代理和负载均衡。与著名的四层LB软件lvs相比,stream模块(开源版)无论从功能还是性能上,都有一定的差距,实现也相对简单。从性能上来说,stream模块在应用层实现四层的转发,需要与两端建立起socket连接,然后两端的数据收发进行代理转发。因此,大量的数据从
- ubuntu下编译nginx平滑添加stream模块以及fastdfs访问模块
码农下的天桥
nginxstreamfastdfs
前言参考资料:ubntu下单机配置fastdfs作为开发环境(2)—nginx生产环境下再编译+fastdfs扩展模块的编译编译nginx平滑添加stream模块nginxstream模块初探Ubuntu16.04安装Nginx编译配置过程首先看看有没有nginx,没有的话要安装一个—因为我们最后要看看官方安装时候的编译参数啊,否则凭自己能记住那么多编译参数吗?本机没有,安装:sudoapt-ge
- Nginx stream模块阅读!
bytedance-踏锋
nginxnginx阅读streamudp
Nginxstream(UDP)模块分析ngx_stream_handler.cngx_stream_init_connection函数代码解读:在ngx_stream_optimize_servers里设置有连接发生时的回调函数ngx_stream_init_connection.创建一个处理tcp的会话对象.创建ctx数组,用于存储模块的ctx数据,调用handler,处理tcp数据,收发等等
- Java:XStream 下划线
dingcho
Javajava开发语言
WhydofieldnamessuddenlyhavedoubleunderscoresinthegeneratedXML?XStreammapsJavaclassnamesandfieldnamestoXMLtagsorattributes.Unfortunatelythismappingcannotbe1:1,sincesomecharactersusedforidentifiersinJav
- 高效 Java 程序员不能错过的 10+ 个最佳库!
Java架构学习者
举些例子,最常用的官方库有java.lang、java.util、java.io、java.sql、java.net等;而至于目前最流行的第三方库,就有Junit、SLF4J、GoogleGuava、XStream、JSoup、Gson、JodaTime等,可以说是不胜枚举。我到底需要用到哪些Java库呢?某些库再热门也好,你的项目也未必适用。然而即便如此,大部分项目实际上都还是需要进行单元测试、
- 服务攻防-开发组件安全&Jackson&FastJson各版本&XStream&CVE环境复现
SuperherRo
#服务安全篇安全fastjsonxstreamjackson
知识点1、J2EE-组件Jackson-本地demo&CVE(数据处理)2、J2EE-组件FastJson-本地demo&CVE(数据处理)3、J2EE-组件XStream-本地demo&CVE(数据处理)章节点:1、目标判断-端口扫描&组合判断&信息来源2、安全问题-配置不当&CVE漏洞&弱口令爆破3、复现对象-数据库&中间件&开发框架&应用协议常见语言开发框架:PHP:ThinkphpLara
- Java实现关注微信公众号和自动回复消息
weixin_43652507
公众号微信java
依赖:dom4jdom4j1.6.1com.thoughtworks.xstreamxstream1.4.11.1关注公众号和自动回复,共两个接口,一个get,一个post,两个接口的url一样。WeChatControllerimportcom.ruoyi.ruoyiincome.wx.wechat.service.IWeChatService;importlombok.extern.slf4j
- Unity 优化之25种在渲染中不能合批的原因
忆中异
官方地址:https://github.com/Unity-Technologies/BatchBreakingCause25种原因:1.AdditionalVertexStreams—对象使用MeshRenderer.additionalVertexStreams设定了额外的顶点信息流。2.DeferredObjectsonDifferentLightingLayers—该物件位于另一不同的光照
- Spring-boot远程代码执行系列(eureka xstream deserialization RCE)
LQxdp
漏洞复现springboot命令执行漏洞复现搬砖
0x1漏洞原理1.eureka.client.serviceUrl.defaultZone属性被设置为恶意的外部eurekaserverURL地址。2.refresh触发目标机器请求远程URL,提前架设的fakeeurekaserver就会返回恶意的payload。3.目标机器相关依赖解析payload,触发XStream反序列化,造成RCE漏洞。0x2漏洞利用条件1.可以POST请求目标网站的/
- 掌握Java XML解析: 序列化 反序列化
Running的程序员
Java解析XML的类库很多,本文记录用XStream库对XML的处理背景实际开发中,应用报文的格式一般都是JSON和XML;JSON大家都很熟悉(优秀类库:GSON/FastJson/Jackson),但对XML的解析可能并不熟悉,这主要是因为XML一般用于特定的领域:如金融和支付行业等等,想要和银联、网联对接,XML是少不了的XStream的使用XStream是解析XML的一款轻量级类库,简单
- xstream 远程代码执行 CVE-2021-29505 已亲自复现
Bolgzhang
XStream网络安全
xstream远程代码执行CVE-2021-29505已亲自复现漏洞名称漏洞描述影响版本漏洞复现环境搭建漏洞利用修复建议总结漏洞名称漏洞描述XStream是用于将Java对象序列化为XML并再次序列化的软件。1.4.17之前的XStream版本中存在一个漏洞,可能允许远程攻击者拥有足够的权限,仅通过操纵已处理的输入流来执行主机的命令。遵循建议设置XStream的安全框架且白名单仅限于所需的最少类型
- Spring一些常见配置导致的漏洞
AxisX
本文所有的demo均放在了github上:https://github.com/ax1sX/SpringSecuritySpringConfigTest文件夹为常见配置导致的漏洞demo集合,可下载测试1.OXM配置SpringOXM支持Java对象和XML之间映射。SpringOXM并不直接处理XML,而是不同解决方案(如JAXB、Castor或XStream等)的包装器。JAXB包装器(Jax
- 解析XML的几种方式的原理与特点:DOM、SAX、PULL
Zal哥哥
解析XML的几种方式的原理与特点:DOM、SAX、PULL。XML的解析方式有很多,光开源的就有十多种:如Xerces、JDOM、DOM4J、XOM、JiBX、KXML、XMLBeans、jConfig、XStream、XJR等。但是最常用的还是sax、dom、pull、dom4j而android中用的比较多的是sax(SimpleAPIsforXML)、dom(DocumentObjectMod
- java使用xstream框架生成xml文件
大树168
xmlpythonjava
1JAVA代码生成XML框架主要依赖com.thoughtworks.xstreamxstream1.4.202代码如下,主要是内部标签嵌套规则,还可以把XML对象转换成bean对象packagecn.djrj.web.controller.indicatorManage.xml.module;importcn.djrj.common.utils.StringUtils;importcn.djrj
- Rust unix domain socket
洪大宇
rustunixjava
先用起来再说usestd::io::prelude::*;usestd::os::unix::net::UnixStream;fnmain(){letmutstream:UnixStream;letmutbuffer=vec![0u8;4096];matchUnixStream::connect("/tmp/hello.world.serv"){Ok(handle)=>{stream=handle
- Json与Java对象互转之Gson学习
CrazyCodeBoy
Android高手进阶Android开发Android网络编程JavaAndroid开发高手进阶Android网络编程将Json转换成Java对象Json转List泛型Json转Map泛型Json转JavaBean
Json与Java对象互转之Gson学习请尊重他人的劳动成果,转载请注明出处:Json与Java对象互转之Gson学习我曾在《XML,Object,Json转换之浅析Xstream的使用》一文中介绍过使用XStream进行XML,Object,Json之间的转换,虽然XStream内置了对Json的支持,但是效果不是特别好,毕竟XStream重点不在Json。下面就介绍另外一种工具。Gson(又称
- xstream实现xml和java bean 互相转换
祺稷
编程语言xmljava开发语言
目录pom引用javabean类XML转换工具类测试类执行结果注意问题JAXB方式见:JAXB实现XML和Bean相互转换Java中实现XML和Bean的转换的方式或插件有以下几种:JAXB(JavaArchitectureforXMLBinding):JAXB是JavaSE的一部分,可以将Java对象与XML文档相互转换。它提供了注解和XML绑定文件两种配置方式。Dom4j:Dom4j是一个开源
- JAXB实现XML和Bean相互转换
祺稷
编程语言xml
目录XML和Bean转换工具简介JAXB简介JavaBean类XMLUtil工具类另一篇转换方式xstream实现xml和javabean互相转换XML和Bean转换工具简介Java中实现XML和Bean的转换的方式或插件有以下几种:JAXB(JavaArchitectureforXMLBinding):JAXB是JavaSE的一部分,可以将Java对象与XML文档相互转换。它提供了注解和XML绑
- day17_多线程基础
沐沐霸
#Java2313java面试开发语言
今日内容零、复习昨日一、作业二、进程与线程三、创建线程四、线程的API一、复习IO流的分类方向:输入,输出类型:字节(XxxStream),字符(XxxReader,XxxWriter)字节输入流类名:FileInputStream字节输出流类名:FileOutputStream字符输入流类名:FileReader字符输出流类名:FileWriter利用try-catch-finally代码写法是
- jdom 读取xml_JDOM分析器–将XML文件读取为Java对象
cunchi4221
列表javaxmlpythonhadoop
jdom读取xmlJDOMparserprovidesusagreatJavaXMLAPItoread,editandwriteXMLdocumentseasily.JDOMprovideswrapperclassestochoseyourunderlyingimplementationfromSAXParser,DOMParser,STAXEventParserandSTAXStreamPars
- 【流媒体】Media soup源码分析(一)信令的传输过程
熠熠微光
mediasoupC++源码RTSP/RTP流媒体服务器LinuxWindowsC++MediaSoupSFUwebrtc服务器webrtckurentoJanusJitsi
正文目录JS部分1、先看整体2、展开Worker3、constructor4、channel的建立5、JS部分的总结C++部分1、main流程图2、main.cpp3、ChannelSocket的建立4、UnixStreamSocket.cpp5、consumerSocket6、UnixStreamSocket7、onRead8、OnUvRead9、UserOnUnixStreamRead10、O
- 一款针对SpringBootEnv页面进行快速漏洞利用
安全大哥
Web渗透测试红蓝对抗安全web安全
参考GitHub-0x727/SpringBootExploit:项目是根据LandGrey/SpringBootVulExploit清单编写,目的hvv期间快速利用漏洞、降低漏洞利用门槛。TODO支持EurekaXStreamdeserializationRCE支持Fastjson内存马注入支持更多可以使用JNDI内存马注入反序列化漏洞支持内存马路径和密码修改........来龙去脉项目是根据S
- 对象与XML转换 - XStream - Dom4j
MyCircle?
业务解决方案专栏java
对象与XML相互转换场景当项目中需要使用XML报文格式转换时,即可使用XStream或dom4j等技术进行解决.常见的三种解析方式(1)Dom:文档对象模型,要求解析器将整个xml文档装进内存,并解析成document对象优点:可增删改缺点:文档过大,会造成内存溢出(2)SAX:是一种速度更快的更有效的方法(一行一行解析)优:处理快,可解析大文件缺点:只能读,逐渐释放资源,比较繁琐(3)PULL安
- 《Android编程权威指南》音频播放与单元测试(一)
夜远曦白
《Android编程权威指南》第20章,本章将会学习到单元测试,所谓单元测试就是编写小程序去验证主应用各个单元的独立行为,即测试一个个的类。一、创建SoundPoolSoundPool.Builder可以创建一个SoundPool实例。setMaxStreams(Int)可以指定某个时刻同时播放多少个音频BeatBox.kt:...privateconstvalMAX_SOUNDS=5classB
- WEEX遇到的问题,源码改动备注
行业碧油鸡
1.weexSDK与微信SDK中,WXLogLevel冲突,两者改一个即可:typedefNS_ENUM(NSUInteger,WXLogLevel){WXLogLevelNormal=0,//打印日常的日志WXLogLevelDetail=1,//打印详细的日志};2.WXStreamModule类中,由于前端页面传入的url中包含中文,导致请求失败崩溃:-(WXResourceRequest*
- SpringBoot+ Drools 时出现 java.lang.NoSuchMethodError: com.thoughtworks.xstream.XStream.setupDefault...
光影路西法
今天使用Drools7.7.0.Final时出现找不到com.thoughtworks.xstream.XStream.setupDefaultSecurity的错误,于是尝试加入了XStream的包:compile("com.thoughtworks.xstream:xstream:1.4.9")结果还是一样的报错,点击查看源码的时候真没在XStream的类里找到setupDefaultSecu
- XStream浅析
One-Direction
Javajava
文章目录一、概述二、XStream相关jar包三、创建两个类四、简单的示例五、别名六、指定属性、去除无用Collection类的属性七、去除不想要的Javabean属性一、概述XStream是Java类库,用来将对象序列化成XML(JSON)或反序列化为对象。也就是说,使用XStream,我们可以把Java对象转换成XML,也可以将XML转换为Java对象。二、XStream相关jar包XStre
- SpringCloud网关zuul
晓阳emmm
Zuul简介“ZuulisthefrontdoorforallrequestsfromdevicesandwebsitestothebackendoftheNetflixstreamingapplication.Asanedgeserviceapplication,Zuulisbuilttoenabledynamicrouting,monitoring,resiliencyandsecurity.
- WuThreat身份安全云-TVD每日漏洞情报-2022-12-29
WuThreat
TVD每日漏洞情报安全web安全
漏洞名称:XStream拒绝服务漏洞漏洞级别:高危漏洞编号:CVE-2022-41966相关涉及:XStream<1.4.20漏洞状态:POC参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_ID=TVD-2022-26495漏洞名称:Authentik身份验证不正确漏洞级别:严重漏洞编号:CVE-2022-23555相关涉及:authentik2022
- JiBX 入门级使用
低至一折起
简介JiBXisatoolforbindingXMLdatatoJavaobjects这是官网开篇介绍,JiBX是绑定XML结构数据到Java对象上的工具,效率是Xstream的3倍。官网:http://jibx.sourceforge.net/index.html使用方法例子:Java对象packagecom.zb;publicclassJibxBean{privateStringname;pr
- 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