- docker 常用命令大全(二),docker 镜像操作 ,持续更新
羱滒
docker容器运维
docker相关的命令在公共仓库中下载dockerpullbitnami/postgresql:12.8.0查看镜像dockerimages|greppostgresql打tag推送到本地仓库dockertagpostgresql:12.8.0docker.公司域名.com/library/postgresql:12.8.0推送到本地仓库dockerpushdocker.公司域名com/libra
- ubuntu使用apt-get制作OfflinePackage
欧阳子陵
运维ubuntu包依赖管理器离线包制作过程
ubuntu使用apt-get制作Offline-package(以mysql为例)近来在研究工程软件的部署,虽说这是运维的工作,但还是蛮有意思的。问题:软件环境配置有哪些需要考虑的因素软件安装有两种方式make安装,需要自己解决依赖问题apt-get安装,稳定,自动配置服务软件的安装在没有网络的情况下如何安装:自己下载好文件采用apt-get离线包的方式。文本采用的是apt-get的离线包的安装
- oracle pl/sql desc+表名 无效sql的问题
dept123
Oracle
在pl/sql的sqlwindow里面写descschema.表名-->无效sql语句要换成commandwindow然后descshema.表名;
- MySQL高性能(MySQL锁)
chen.c.
MySQL高性能mysqladb数据库sql
MySQL性能系列MySQL锁前言1.死锁机制2.思维导图与锁划分介绍3.粒度划分锁3.1.全局锁3.2.页级锁(Page-levellocking)3.3.表级锁(Tables-levellock)○共享锁(表级)○排他锁(表级)3.4.行级锁(Row-LevelLock)○共享锁(行级)○排他锁(行级)●表级读写锁与行级读写锁的区别4.模式划分4.1.共享锁(S锁)4.2.排他锁(X锁)4.3
- 如何在宝塔mysql修改掉3306端口
在使用宝塔面板管理MySQL数据库时,默认情况下,MySQL会使用3306端口。如果出于安全考虑或者其他用途,我们需要修改MySQL的端口号。本文将介绍如何在宝塔面板中修改MySQL的3306端口,并提供代码示例和流程图。操作步骤在开始之前,请确保您已经登录到宝塔面板,并且具备相关操作的权限。1.登录宝塔面板首先,您需要登录到您的宝塔面板。输入网址,输入用户名和密码进行登录。2.进入数据库管理在宝
- linux的 DBI/DBD 标准化安装文档
linux
一、安装DBIDBI(DatabaseInterface)是perl连接数据库的接口。其是perl连接数据库的最优方法,他支持包括Orcale,Sybase,mysql,db2等绝大多数的数据库,下面将简要介绍其安装方法。1.1解压tar-zxvfDBI-1.616_901.tar.gz1.2安装依赖yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-Mak
- 使用docker-compose部署时序数据库InfluxDB1.8.4
Heartsuit
Docker云原生容器编排docker时序数据库InfluxDBdocker-compose
背景如今InfluxDB已经更新到了2.x,InfluxDB1.x和2.x版本之间有几个主要的区别:数据模型:1.x:使用数据库和保留策略来组织数据。2.x:引入了组织(organizations)和存储桶(buckets)的概念,存储桶同时包含了数据的时间范围和保留策略。查询语言:1.x:使用InfluxQL,这是一种类似于SQL的查询语言。2.x:引入了Flux,这是一种更强大的数据脚本和查询
- base64加密解密
架构师成长进阶空间
Javajava
packagecom.github.util;importorg.apache.tomcat.util.codec.binary.Base64;publicclassBase64Util{//加密publicstaticStringgetBase64(Stringstr){StringencodeBase64String=Base64.encodeBase64String(str.getBytes
- Java线程池如何合理设置核心线程数
寻烟的衣袖
多线程linuxjava服务器
问题:线程池数量设置为多少比较合理呢?线程数的设置的最主要的目的是为了充分并合理地使用CPU和内存等资源,从而最大限度地提高程序的性能,先判断是CPU密集型任务还是IO密集型任务:CPU密集型任务和IO密集型任务:比如像加解密,压缩、计算等一系列需要大量耗费CPU资源的任务,大部分场景下都是纯CPU计算。IO密集型任务:比如像MySQL数据库、文件的读写、网络通信等任务,这类任务不会特别消耗CPU
- 如何部署Java应用到服务器
DKPT
#软件开发服务器环境搭建服务器服务器
准备工作:确保服务器上安装了Java运行环境(JRE或JDK)。安装Web服务器,如ApacheTomcat、Jetty或WildFly。配置服务器网络,确保可以远程访问。打包Java应用:使用IDE(如IntelliJIDEA或Eclipse)或构建工具(如Maven或Gradle)将Java项目打包成WAR或JAR文件。上传应用到服务器:使用FTP、SCP或其他文件传输工具将打包好的文件上传到
- 替换word模板内容 Java实现
一头酸奶牛_
工具类java
文章目录第一步:准备文件第二步:将word文件另存为.xml格式第三步:放到idea中的一个目录下第四步:修改占位符第五步:代码示例第六步:效果图1第六步:效果图2第一步:准备文件这里以这个文件为例,在要替换的地方用占位符$replaceXX@替换。第二步:将word文件另存为.xml格式第三步:放到idea中的一个目录下这里已src目录为例第四步:修改占位符第五步:代码示例packagecom.
- 网盘代码学习计划
孤独的程序员dis1500
新技术c++
可以参考这个代码写一个这种软件electron做界面+libmysql.dll加nodeaddon模块
- C# WPF 基础知识学习(二)
埃菲尔铁塔_CV算法
c#wpf学习计算机视觉人工智能开发语言
四、数据绑定(一)数据绑定基础绑定源和目标:数据绑定建立了UI元素(绑定目标)属性与数据源(绑定源)之间的联系。例如,将一个TextBox的Text属性绑定到一个对象的某个属性上。绑定源可以是对象的属性、集合、XML数据等,绑定目标通常是UI元素的依赖属性。绑定模式:WPF支持三种绑定模式:OneWay:数据从绑定源流向绑定目标。当绑定源属性值发生变化时,绑定目标属性会自动更新,但绑定目标的变化不
- flink读kafka写入mysql_Flink 1.9 实战:使用 SQL 读取 Kafka 并写入 MySQL
苏远岫
上周六在深圳分享了《FlinkSQL1.9.0技术内幕和最佳实践》,会后许多小伙伴对最后演示环节的Demo代码非常感兴趣,迫不及待地想尝试下,所以写了这篇文章分享下这份代码。希望对于FlinkSQL的初学者能有所帮助。完整分享可以观看Meetup视频回顾:https://developer.aliyun.com/live/1416这份代码主要由两部分组成:1)能用来提交SQL文件的SqlSubmi
- Ranger集成CDH6.3.1详细步骤
sunxunyong
hadoop
CDH-ranger基础环境:jdk:1.8maven:mvn-verisonApacheMaven3.9.4brewsearchbzip2brewinstallbzip2brewlistyuminstallgit-yyuminstall-ypython3yuminstall-ybzip2yum-yinstallfontconfig-develpip3installrequests下载ranger
- mysqlbinlog和binlog2sql的使用及mysql通过binlog日志恢复数据库数据
向宇it
#mysqlmysqllinuxbinlogbinlog2sqlmysqlbinlog
如果没有开启binlog,也没有预先生成回滚SQL,那可能真的无法快速回滚了。对存放重要业务数据的MySQL,强烈建议开启binlog。查看binklog是否开启showvariableslike'%log_bin%';值为OFF,需开启,值为ON,已开启。查看binlog存放日志文件目录(如下图,博主binlog目录为/var/lib/mysql):showvariableslike'%data
- Flink 1.17.2 版本用 java 读取 starrocks
小强签名设计
flinkjavapython
文章目录方法一:使用FlinkJDBC连接器(兼容MySQL协议)方法二:使用StarRocksFlinkConnector(推荐) 在Flink1.17.2中使用Java读取StarRocks数据,可以通过JDBC连接器或StarRocks官方提供的FlinkConnector实现。以下是两种方法的详细步骤:方法一:使用FlinkJDBC连接器(兼容MySQL协议) StarRocks兼容M
- Ranger 2.1.0集成Trino
玄慈
rangertrinocdhjavacloudera大数据
Ranger2.1.0与trino359集成一、基础环境jdk-11.0.12Maven3.6.1Git最新版二、下载ranger2.1.0源码下载之后的目录为ranger-6.3.4本文目录地址是/grid/dfs0/code/ranger-6.3.4三、修改pom.xml修改控制组件版本的pom.xmlranger-6.3.4/pom.xml一、presto的版本号改成359359二、更改组件
- 基于大模型的Text2SQL微调的实战教程(二)
herosunly
AIGCText2SQL微调实战教程
大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。希望和大家一起成长进步。 本文主要介绍了基于大模型的Text2SQL微调的实战教程(二),希望对学习大语言模型的
- PostgreSQL的备份方式
ekskef_sef
面试学习路线阿里巴巴postgresql数据库
PostgreSQL提供多种方式进行备份,适用于不同需求的场景。常用的备份方法如下:1.逻辑备份(pg_dump和pg_dumpall)1.1使用pg_dump备份单个数据库pg_dump是PostgreSQL内置的逻辑备份工具,可以将数据库导出为SQL脚本或二进制文件。备份命令备份为SQL文件:pg_dump-Uusername-ddatabase_name-Fp-f/path/to/backu
- 在VScode中建立spring boot项目 创建失败解决措施(Failed to create a project.)
2521-
vscodejava前端springboot
1.当在搜索框中输入建立命令,版本号长时间不出现解决办法:因为用的是国外网站,访问速度较慢,需要替换成国内路径在扩展里查找下面这个插件点击设置,滑到最下面点击settings.json将最后的路径改为"https://start.springboot.io/"2.在已完成的springboot项目中,需要添加新的依赖,添加依赖后报错解决措施:打开pom.xml配置文件,由于新添加依赖,下载完依赖后
- 用Lua脚本实现Redis原子操作
Cloud_.
luaredis开发语言
1.环境准备依赖:在pom.xml中添加SpringDataRedis:org.springframework.bootspring-boot-starter-data-redis配置RedisTemplate:@ConfigurationpublicclassRedisConfig{@BeanpublicRedisTemplateredisTemplate(RedisConnectionFact
- Flink SQL 读取 Kafka 数据到 Mysql 实战
小技工丨
大数据技术学习flinksqlkafka
Flink1.9.2SQL读取Kafka数据到Mysql实战案例需求通过Flinksql使用DDL的方式,实现读取kafka用户行为数据,对数据进行实时处理,根据时间分组,求PV和UV,然后输出到mysql中。1、kafka中的消息的格式数据以JSON格式编码,格式如下:{"user_id":1101,"item_id":1875,"category_id":456876,"behavior":"
- ranger集成starrock报错
蘑菇丁
大数据+机器学习+oracle大数据
org.apache.ranger.plugin.client.HadoopException:initConnection:UnabletoconnecttoStarRocksinstance,pleaseprovidevalidvalueoffield:{jdbc.driverClassName}..com.mysql.cj.jdbc.Driver.可能的原因JDBC驱动缺失:运行环境中没有安
- python连接数据库速查示例
qq_25737959
数据库python开发语言
python连接数据库importpymysqlDBHOST='localhost'DBUSER='root'DBPASS='123456'DBNAME='dbtest'db=pymysql.connect(host=DBHOST,user=DBUSER,password=DBPASS,database=DBNAME)新建一张新表importpymysqlDBHOST='localhost'DBU
- Ubuntu22.04安装数据
@-wyy
mysql
数据库安装步骤:sudoapt-getupdatesudoaptinstallmysql-servermysql-clientsudosystemctlstartmysqlsudosystemctlstatusmysql(1)在命令行登录MySQL数据库,并使用mysql数据库(必须使用这个库,因为root在这里面)sudomysql-uroot-pusemysql(2)修改连接权限,执行:upd
- RISC_V GPU skybox 系列 core 模块之VX_dispatch_unit.sv
CDerL
skyboxskybox_coreskyboxcore
VX_dispatch_unit.sv代码分析总结//Copyright©2019-2023////LicensedundertheApacheLicense,Version2.0(the"License");//youmaynotusethisfileexceptincompliancewiththeLicense.//YoumayobtainacopyoftheLicenseat//http:
- Python连接数据库汇总(二)
xinxiyinhe
pythonpython数据库开发语言
以下是Python调用其他数据库的代码示例:1.MicrosoftSQLServer#安装库:pipinstallpyodbcimportpyodbc#连接数据库conn=pyodbc.connect('DRIVER={ODBCDriver17forSQLServer};''SERVER=localhost;''DATABASE=test_db;''UID=sa;''PWD=your_passwo
- python远程连接mysql数据库_python远程连接MySQL数据库
weixin_39528697
python远程连接MySQL数据库本文实例为大家分享了python远程连接MySQL数据库的具体代码,供大家参考,具体内容如下连接数据库这里默认大家都已经配置安装好MySQL和Python的MySQL模块,且默认大家的DB内表和访问账号权限均已设置无误,下面直接代码演示:#-*-coding:utf-8-*-"""CreatedonFriDec3010:43:352016@author:zhen
- 【Python实用教学篇】手把手4步教会你用Python连接数据库!
田野猫咪
数据库python开发语言
一,打开数据库(Mysql)服务二,用Sqlyog(回复yog获取sqlyog工具使用方法)连接自己要测试的数据库,创建测试用数据库和表三,打开PyCharm,(python开发2.*版本可以直接使用MySQL,python3.*版本需要下载使用PyMySQL包才能连接数据库),按照下图方法安装PyMySql包1.ctrl+alt+s调出设置面板,选择project下的pythoninterpre
- 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