- 操作系统中的中断机制:原理与多系统实现对比
千里码!
操作系统linux操作系统windows
操作系统中的中断机制:原理与多系统实现对比编程相关书籍分享:https://blog.csdn.net/weixin_47763579/article/details/145855793DeepSeek使用技巧pdf资料分享:https://blog.csdn.net/weixin_47763579/article/details/1458840391.中断机制概述1.1什么是中断?中断(Inte
- python 请求 流式
Toky Zhu
python开发语言
python请求非表单流式importrequestsimportjsonimportdatetimeasyncdefllm_qa_generator_stream(text,num_faq):url='http://172.16.2.45:6162/llm_qa_generator_stream'payload={'data':text,'numFaq':num_faq}print("#####
- java 庖丁解牛_“庖丁解牛” 分词器实现
weixin_39813009
java庖丁解牛
importjava.io.IOException;importjava.io.StringReader;importnet.paoding.analysis.analyzer.PaodingAnalyzer;importorg.apache.lucene.analysis.Analyzer;importorg.apache.lucene.analysis.Token;importorg.apac
- React 各模块相关全面面试及答案解析
刺客-Andy
面试react.js面试前端
一、核心概念1、什么是React?它的核心特性是什么?答案:React是用于构建UI的JavaScript库。核心特性包括组件化、虚拟DOM、单向数据流和声明式编程。2、解释虚拟DOM的工作原理。答案:虚拟DOM是内存中的轻量DOM表示,React通过Diff算法比较新旧虚拟DOM差异,最小化真实DOM操作。3、JSX是什么?为什么使用它?答案:JSX是语法扩展,允许在JS中写类似HTML的结构。
- 统一封装api接口返回值(一)
异世老者
java后端javaspringrestful
前后端分离开发模式中,后端接口基本上都是通过json格式传回前端,通过统一的返回格式封装,可以大大提高开发效率,如:{"code":0,"msg":"成功","data":{"uid":"hjgfyg"}}直接上代码,两个文件即可实现设置一个枚举值,统一封装返回状态码publicenumErrorCode{/*成功状态码*/SUCCESS(0,"成功"),ERROR(1,"操作失败"),/*web
- 协方差与相关系数概念解释
huangweibo的博客
数学/线性代数线性代数
参考知乎答案:如何通俗易懂地解释「协方差」与「相关系数」的概念?-GRAYLAMB的回答-知乎https://www.zhihu.com/question/20852004/answer/134902061
- 浏览器修改后端返回值
rechel000
Chrome修改后端返回值
模拟接口响应和网页内容通过本地覆盖可以模拟接口返回值和响应头,无需mock数据工具,比如(Requestly),无需等待后端支持,快速复现在一些数据下的BUG等。在DevTools可以直接修改你想要的Fetch/XHR接口数据,还可以修改响应头,解决跨域等问题,不仅可以覆盖Fetch/XHR,JS、CSS等资源也可以。本地覆盖其实在之前的版本就已经有了,需要在本地手动创建目录,步骤麻烦。Chrom
- 【Linux】【编译】automake 调试方法小结
花神庙码农
automakeautoconfdebug调试静默remakeprint
作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)博客主页:花神庙码农,地址:https://blog.csdn.net/qxhgd系列专栏:Linux技术如觉得博主文章写的不错或对你有所帮助的话,还望大家三连支持一下呀!!!关注✨、点赞、收藏、评论。如需转载请参考转载须知!!automake调试方法小结非静默输出非静默Automakemake-nSHELLp
- vue项目开发,涉及到的js代码
雪碧聊技术
毕业设计javascriptvue.js前端
本篇文章,主要用来收集vue项目开发的过程中,涉及到的js代码。1、删除数组中,除了首个元素以外的其他所有元素。letarr=[1,2,3,4,5];arr.splice(1);//从索引1开始删除所有元素console.log(arr);//输出:[1]
- mybatis后端有返回值前端拿不到
湙泽
mybatis前端java
前端情况后端情况一开始没注意才发现是自己少了一个注解解决方法:1.@RestController在Spring中@RestController的作用等同于@Controller+@ResponseBody。2.@ResponseBody@ResponseBody的作用其实是将java对象转为json格式的数据。
- Java 中 VO、POJO、DTO 的区别详解
♢.*
java开发语言
亲爱的小伙伴们,在求知的漫漫旅途中,若你对深度学习的奥秘、Java与Python的奇妙世界,亦或是读研论文的撰写攻略有所探寻,那不妨给我一个小小的关注吧。我会精心筹备,在未来的日子里不定期地为大家呈上这些领域的知识宝藏与实用经验分享。每一个点赞,都如同春日里的一缕阳光,给予我满满的动力与温暖,让我们在学习成长的道路上相伴而行,共同进步✨。期待你的关注与点赞哟!在Java开发的广阔领域中,准确理解和
- Python使用requests库下载文件
飞起来fly呀
Pythonpython开发语言
在编写Python程序时,requests库是一个强大且流行的HTTP请求工具,用于与网络资源进行交互。特别是在下载文件的操作中,充分利用requests库的功能能显著简化工作。下面我们将深入探讨如何使用requests库下载文件。下载文件的基础示例假设我们需要从互联网上下载一个PDF文件。以下是一个简单且实用的代码示例,其中我们将使用Python的requests库:importrequests
- Python使用requests库下载文件详解
凡客丶
pythonpython开发语言
Python使用requests库下载文件详解一、引言二、使用requests库下载文件的基本流程三、请求设置和响应处理四、异常处理一、引言在Python编程中,requests库是用于发送HTTP请求和处理HTTP响应的常用库。使用requests库,我们可以轻松地发送GET、POST等请求,并获取响应内容。在下载文件的过程中,requests库提供了一种简便的方法来获取远程服务器上的文件,并将
- Tp5 获取IPV6地址
君子……如玉
ThinkPHP5phpthinkphp
修改Request类ip()方法publicfunctionip($type=0,$adv=true){$type=$type?1:0;static$ip=null;if(null!==$ip){return$ip[$type];}$httpAgentIp=Config::get('http_agent_ip');if($httpAgentIp&&isset($_SERVER[$httpAgent
- Bootstrap4 导航active状态切换
君子……如玉
H5Bootstrap4
页面HTML代码:首页数据统计用户列表AnotheractionSomethingelsehereSeparatedlinkLinkDisabledjs代码如下:$('.nav-pills').find('a').each(function(){if(this.href==document.location.href||document.location.href.search(this.href
- 第二章:基础概念精讲 - 第三节 - Tailwind CSS 间距和布局控制
间距系统基础1.间距刻度TailwindCSS提供了一个基于0.25rem(4px)递增的间距系统://tailwind.config.js默认间距配置module.exports={theme:{spacing:{'0':'0','1':'0.25rem',//4px'2':'0.5rem',//8px'3':'0.75rem',//12px'4':'1rem',//16px'5':'1.25r
- Redis :01---Redis简介和安装
前网易架构师-高司机
2025年最新-数据库运维数据库数据结构大数据分布式
一、Redis简介·Redis官网:https://redis.io/·Redis是一种基于键值对(key-value)的NoSQL数据库·与很多键值对数据库不同的是,Redis中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成,因此Redis
- Chrome 插件下载网站+6个实用插件推荐(记录)
IT 药师
IT技术chromechrom插件
Chrome插件下载网站+6个实用插件推荐一、Chrome插件下载网站1.https://crxdl.com/可以下载Chrome扩展插件CRX离线安装包直接在搜索框输入想要下载的插件名或关键词即可搜索到相关插件,然后点击下载即可,该网站无广告,搜索速度快,下载速度快,全程操作丝滑。2.https://www.cxyhub.com/page/2/号称东半球最好用的CRX插件网站3.其他网站不推荐了
- GitHub问题整理
留白1108
github
Q:在推送大文件时无法推送到GitHub仓库A:可以尝试增加Git的HTTP.postBuffer设置。使用以下命令来增加缓冲区大小:#这可以解决因文件过大而导致的推送失败问题gitconfig--globalhttp.postBuffer2097152000E:Theremotedisconnected.CheckyourInternetconnectionandtryagain
- 面试问题(一)
重岳
面试面试职场和发展
所有东西都不是一蹴而就的,我们往往要不断向别人学习,才能更好走出自己的道路。我大概想要整理一个有关面试遇到的问题的系列,这些问题往往是真实提问过的,所以后续问题可能出现重复的情况,我也不做删除,毕竟出现越多,越说明面试官重视。一、Java的特点在听到这个问题的时候,我第一时间想到的就是面向对象,但是对其他的印象就不深了,现在系统整理一下。平台无关性:Java的“编写一次,运行无处不在”。Java编
- Vue 中引入 ECharts 的详细步骤与示例
黄尚圈圈
vue.jsecharts前端
在Vue项目中引入ECharts,可以让我们轻松地在前端页面中展示各种图表。ECharts是一个基于JavaScript的开源可视化图表库,它提供了丰富的图表类型和强大的配置选项,使得在Vue项目中集成和使用变得非常方便。一、准备工作创建Vue项目:如果你还没有Vue项目,可以使用VueCLI快速创建一个新的Vue项目。安装ECharts:在你的Vue项目中,通过npm或yarn安装ECharts
- java线程池详解
黄尚圈圈
javajvm开发语言
在Java中,线程池是一种重要的多线程处理方式,通过管理和复用线程,提高应用程序的性能和响应速度,减少线程创建和销毁的开销,避免线程数量过多导致系统负载过高的问题。本文将详细介绍Java线程池的概念、核心参数、工作流程、常见类型、拒绝策略以及使用方法和优化建议。一、线程池的概念线程池就是线程的池子,用来管理和复用线程。它可以在应用程序中有效地管理线程的生命周期、调度和执行。线程池包含一组预先创建的
- 探索STM32流水灯仿真:从入门到精通
常岱昶Salena
探索STM32流水灯仿真:从入门到精通【下载地址】基于STM32的流水灯仿真资源本仓库提供了一个基于STM32的流水灯仿真资源,包含八个灯的仿真代码及相关报告。该资源能够成功进行仿真,并且还包括了相关的软件下载、学习资料、仿真文件、HEN文件以及源代码。源代码可以进行自我修改,方便学习和实践项目地址:https://gitcode.com/open-source-toolkit/4dd09项目介绍
- 【新手向】从零开始学习Java(Day22)Java 数据结构
星河天欲瞩
从零开始学习Java学习java开发语言java-ee数据结构vscode后端
每天二十分钟,成就Java大神,点点关注不迷路!今天是第二十二天,给坚持到这里的小伙伴点个赞!追赶太阳的人,自己也会身披光芒,共勉!目录数组(Arrays)列表(Lists)ArrayListLinkedList集合(Sets)HashSetTreeSet映射(Maps)HashMapTreeMap栈(Stack)队列(Queue)堆(Heap)树(Trees)下节预告Java提供了丰富的数据结构
- 鱼眼环视拼接(AVM)(持续更新)
gyqJulius_Caesar
SLAM自动驾驶
后面有时间可以学习下:https://github.com/neozhaoliang/surround-view-system-introduction
- Go 并发编程:如何实现一个并发安全的 map
后端go面试并发编程并发
上周发布的文章「Go并发控制:sync.Map详解」有读者反馈说我写的太难了,上来就挑战源码,对新手不够友好。所以这篇文章算作补充,从入门到进阶的顺序讲解一下在Go中如何自己实现一个并发安全的map。内置map首先,我们来测试一下Go语言内置map并发安全性,示例如下:https://github.com/jianghushinian/blog-go-example/tree/main/sync/
- 024:vue+threeJS 创建多面几何体(PolyhedronGeometry)
还是大剑师兰特
#ThreeJS代码示例200+大剑师threejs教程threejs示例threejs基础
作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第024个示例文章目录一、示例效果图二、示例简介三、配置说明四、示例源代码(共98行)五、相关文章参考一、
- 安卓应用4字节不对齐导致so加载失败
锋风Fengfeng
安卓编译android安卓
今天把一个apk给厂商签名后直接push到机器的/system/app,结果运行app时显示so找不到。报错:javastacktrace:java.lang.UnsatisfiedLinkError:Librarymmkvnotfound;tried[/system/lib/libmmkv.so,/product/lib/libmmkv.so]atjava.lang.Runtime.loadLi
- WebGL开发:ThreeJS从入门到精通
莲华君
前端权威教程合集WebGL系统化学习前端WebGLThreeJSBabylonJS
前言:ThreeJS——开启3DWeb世界的钥匙欢迎来到ThreeJS的奇妙世界!无论你是前端开发者、图形学爱好者,还是希望将3D技术融入Web应用的工程师,这本书都将带你从零开始,逐步掌握ThreeJS的核心概念,并最终实现大型数字孪生项目。让我们一起踏上这段充满挑战与乐趣的旅程吧!目录:第一部分:ThreeJS基础入门第一章:ThreeJS概述与基础概念1.1ThreeJS是什么?介绍Thre
- 北大版,86页DeepSeek黑科技手册!比清华版更炸裂(免费下载)
2501_90850230
素材资源人工智能DeepSeek科技人工智能
北大最新的《DeepSeek提示词工程和落地场景》!这份文档刚在学术圈炸锅,作为国内首个系统性拆解推理大模型(DeepSeek-R1)落地方案的公开资料,其价值不仅在于揭示了一款国产模型的工程实践,更折射出大模型技术从实验室走向产业化的关键路径。手册下载:https://pan.quark.cn/s/881640172703DeepSeek全家桶北大版和清华版到底啥区别?技术定位:一个像社交达人,
- 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