- python3学习笔记:执行精确的小数计算
潼潼夏
问题我们需要对小数进行精确计算,不希望因为浮点数天生的误差而带来影响解决方案使用decimal模块,牺牲一些性能,得到更高的精度。示例如下:fromdecimalimportDecimala=4.2b=2.1c=a+bprint(c)#c=6.300000000000001a2=Decimal('4.2')b2=Decimal('2.1')c2=a2+b2print(c2)#c2=6.3Decim
- 【python3学习笔记】之list的相关操作
_young_for_u_
1、定义list:列表名=[列表内容]列表名=[关于A的表达式forAinB其它判断],最终的list根据A的表达式计算并逐个列出list=[iforiinrange(10)ifi%2==0]#两种方式等价,但列表解析式执行效率更高list1=[]foriinrange(10):ifi%2==0:list1.append(i)2、增加list元素:list.append(obj),小括号内的内容将
- pythonurllib模块-Python3学习笔记(urllib模块的使用)
weixin_37988176
1.urlliburllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)-url:需要打开的网址-data:Post提交的数据-timeout:设置网站的访问超时时间直接用urllib.request模块的urlopen()获取页面,page的数据格式
- 【python3学习笔记】之字符串格式化符号含义及转义字符含义
_young_for_u_
字符串格式化符号含义符号说明%c格式化字符及其ASCII码%s格式化字符串%d格式化整数%o格式化无符号八进制数%x格式化无符号十六进制数%X格式化无符号十六进制数(大写)%f格式化浮点数字,可指定小数点后的精度%e用科学计数法格式化浮点数%E作用同%e,用科学计数法格式化浮点数%g根据值的大小决定使用%f或%e%G作用同%g,根据值的大小决定使用%f或者%E格式化操作符辅助命令符号说明m.nm是
- Python3学习笔记29——Socket(网络编程)
Darin2017
python基础Socket网络编程
Socket是网络编程的一个抽象概念。通常我们用一个Socket表示”打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可。客户端大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接。如果一切顺利,新浪的服
- Python3学习笔记之-模块(第一篇)
是小先生
python学习笔记python
Python3学习笔记之-模块(第一篇)文章目录目录Python3学习笔记之-模块(第一篇)一、使用模块二、作用域三、安装第三方模块四、模块搜索路径一、使用模块python本身内置了许多模块,安装就能使用,我们编写一个自己的模块试一试:#!/usr/bin/envpython3#-*-coding:utf-8-*-'mymodule'__author__='myname'importsysdeft
- 「Python3学习笔记」读书笔记--float类型
Lovemma
本文为「Python3学习笔记」一书的读书总结。在Python中float类型默认存储双精度浮点数(也就是其他语言中的double),可一表达16到17位浮点数。>>>1/30.3333333333333333>>>0.12345678901234567890.12345678901234568从实现方式上来看,浮点数是以二进制的方式来存储十进制数的近似值。这就可能导致执行的结果与预期不符合,造成
- 「Python3学习笔记」读书笔记—字符串
Lovemma
字符串字面量以成对的单引号(`)、双引号(”),或可跨行的三引号(”””)语法构成,自动合并相邻的字面量。字符串支持转义、八进制、十六进制,或Unicode格式字符。使用单引号还是双引号,并没有什么特殊限制。如果文本内的引用文字使用双引号,那么外面用单引号可避免转义,更易阅读。通常情况下,建议遵循多数编程语言惯例,使用双引号标示。Python3中字符串存储的是Unicode文本,是不可变序列类型。
- Python3学习笔记——第一章:基础入门
福旺旺
Pythonpython
Python3有段时间没摸Python了,浏览了一下菜鸟教程,巩固一下基础吧。Python3学习笔记——第一章:基础入门文章目录Python3一、Python3简介二、Python的安装三、查看Python版本四、第一个Python3程序一、Python3简介讲几个对编程有用的点Python是一种高级编程语言,它具有以下特点:易学易用:Python是开源的,其具有简洁的语法,清晰的语言结构,和相对
- [Python3学习笔记-基础语法] Python3 基础语法
Python小菜鸡
本篇文章详细介绍Python3的基础语法,主要包括编码、标识符、Python保留字、注释、行缩进、多行语句、Number类型、字符串、空行、print打印等。这些是Python最基础的东西,掌握好了才能更好的学习后续的内容。有兴趣共同结伴学习Python的朋友,点击下面的图标加群:编码默认情况下,Python3源码文件以UTF-8编码,所有字符串都是unicode字符串。当然你也可以为源码文件指定
- python3学习笔记-数据结构
谢懵逼
列表和循环列表列表就是一种有序的列表有序的列表随机访问线性访问通过索引访问创建列表普通列表以作坊括号([)开头打开列表,然后写要放入列表的东西,以逗号隔开,以右方括号(])表明列表结束,然后赋给一个变量eghairs=['brown','blond','red']eyse=['brown','blue','green']weights=[1,2,3,4]二维列表在列表中包含列表eg[[1,2,3]
- VIM YouCompleteMe(ycm) 对于Python3第三方库的自动补全【部分解决】
太阳神LoveU
高手的点拨Python项目实战编程语言学习笔记pythonvimmac
VIMYouCompleteMe(ycm)对于Python3第三方库的自动补全【部分解决】Python3学习笔记问题:VIM用YouCompleteMe(ycm)自动补全插件时,只能支持Python3的标准库的自动补全,而不能自动补全第三方库的内容。环境:Mac+VIM8.0+vundle+ycm+python3解决:尝试对Python3第三方库的自动补全进行配置。1)在网上查阅了很多资料,至今未
- python3学习笔记------函数
爽爽ing
这周,我们学习了函数,现在就让我来总结一下知识点吧!def是函数名()函数封装的代码1:def是英文defind的缩写2:函数名称应该能够表达函数封装代码的功能,方便后续的调用3:函数名称的命名应该符合标识符的命名规则^可以由字母、下划线和数字组成^不能以数字开头^不能与关键字重名4:函数可以通过函数名()来调用接下来我们来举个例子吧!
- python3学习笔记第一章(tools工具的安装)
一个人看小丸子
python
python3学习笔记(一)Tools(代码编辑器管理)https://www.jetbrains.com/toolbox-app/download/download-thanks.html?platform=windows修改路径文件默认安装的路径为C盘下,大约200兆左右,这一步移动默认位置直接剪切JetBrains文件夹下的所有文件到D盘或者其他盘符原路径C:\Users\zzsoft\Ap
- Python3学习笔记:清晰理解协程
码途有道
线程和进程在了解协程之前,我们先简单了解一下进程与线程,并发与并行的概念。进程:是资源分配的独立单位。我们可以将其通俗的理解为电脑中运行的程序的实例,例如打开一个浏览器就是启动了一个浏览器进程,打开一个记事本就是启动一个记事本进程。线程:是操作系统调度的基本执行单位。当我们启动了一个浏览器时(即启动了一个浏览器进程),我们可能会做播放视频、下载文件等操作。在浏览器进程中,我们执行的这些操作,我们可
- python3学习笔记--函数
谢懵逼
函数(function)定义函数:def函数名+":"参数多个参数(使用*arg)defprint_two(*args):arg1,arg2=args多个参数(函数名中定义)defprint_two_again(arg1,arg2):单个参数defprint_one(arg1):不传参defprint_none():定义函数的时候应检查调用函数的时候是否使用了函数名函数名是都紧接着(字符括号内是否
- python3学习笔记-变量、数据类型
谢懵逼
变量和字符变量要以字母开头使用round函数可以进行四舍五入字符串和文本‘’和”“都可以用来创建字符,不过一般单引号会用来创建简短的字符‘字符/字符串’+*+‘数字’->复制‘字符/字符串’几个‘数字’格式化字符串{变量}+字符串以f开头:将变量放到{}之中数据类型数据类型种类(6种)Number(数字)True=1False=0数值的除法(/)总是返回一个浮点数,要获取整数使//操作符在混合计算
- Python3学习笔记——列表(二)
equalsYU
对列表元素的操作1、增加元素1.1append()方法append()方法用于将元素添加到列表末尾。countries=['China','Japan','USA']countries.append('Germany')print(countries)输出为:['China','Japan','USA','Germany']1.2insert()方法insert()方法可以在列表的任意位置插入元素
- python3学习笔记1--TypeError: 'dict' object is not callable的解决
x_q_q
python对象
dict()是python的一个函数,但我又将dict自定义为一个python字典,在之后想调用dict()函数是会报出“TypeError:'dict'objectisnotcallable”的错误,只需将之前自定义的变量delete掉即可。del(dict)。
- Python3学习笔记20——collections
Darin2017
python基础collections模块
collections是Python内建的一个集合模块,提供了许多有用的集合类。namedtuple我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:p=(1,2)但是,看到(1,2)很难看出这个tuple是用来表示一个坐标的。定义一个class又小题大做了,这时,namedtuple就派上了用场:fromcollectionsimportnamedtuplePoint=na
- Python3学习笔记
python
标准数据类型Python3中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionary(字典)Number(数字)Python3支持int、float、bool、complex(复数)。在Python3里,只有一种整数类型int,表示为长整型,没有python2中的Long。像大多数语言一样,数值类型的赋值和计算都是很直观
- 「Python3学习笔记」读书笔记—字节数组
Lovemma
生物都是由细胞构成的,但在我们普通人眼中,并不会将鸡、鸭、狗、鸟这些动物当作细胞看待,因为对待事物的角度决定了我们更关心生物的外在形状和行为,而不是它的组织构成。从计算机底层实现来说,所有的数据都是二进制字节序列。但为了更好地表达某个逻辑,计算机科学家们将数据抽象成不同的类型,犹如细胞和动物的关系。在编程语言中,对于字节序列,我们更关心的是它的存储和传输方式;而面向对象时,则着重于它的抽象属性。尽
- python3学习笔记
zzqsmile
久未温习,遂尽忘矣。从头学习python,泪奔!!!基础语法编码#-*-coding:utf-8-*-多行语句Python通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句,例如:#!/usr/bin/envpython3#-*-coding:utf-8-*-a=1+\1+\1print(a)#----------------------------输出结果3[Fini
- 廖雪峰Python3学习笔记-IO编程
相关函数
本文是笔者学习廖雪峰Python3教程的笔记,在此感谢廖老师的教程让我们这些初学者能够一步一步的进行下去.如果读者想学习完成的教程,请访问廖雪峰Python3教程,笔记如有侵权,请告知删除...读文件以读文件的方式打开文件的做法是使用Python内置的open()函数,参数为文件名和标识符标识符:r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb以二进制格式打开一个文件用于只读
- Python3学习笔记 2
TomQ
查看帮助交互环境中:help(函数名)定义defmy_fun():注:无return语句最终返回None。returnNone同return空函数:defnop():passpass:什么都不做,又如:ifa>b:pass参数类型检查:defmyfun(x):ifnotisinstance(x,(int,float)):raiseTypeError('badoperandtypeformyfun'
- python3学习笔记
爱吃甜粽子
python3学习笔记基础语法编码标识符保留字注释行与缩进同一行显示多条语句输入输出import与from...import结构迭代器变量变量的声明变量的赋值查询变量所指的对象类型删除对象标准数据类型数字(Number)数值运算数学函数三角函数数学常量随机数函数字符串(String)字符串转移符号、格式化、f-string、内建函数等列表(List)python列表函数&方法元组(Tuple)集合
- Python3学习笔记-18(私有方法)
笑笑是一个码农
PythonPython3Python
私有方法__private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用,不能在类地外部调用。例:#定义类classMyClass:#定义私有方法def__sum(self,a,b):total=a+bprint('私有方法')returntotal#定义公有方法defadd(self,a,b):total=a+bprint('这是公有方法')returntotal#定义
- python3学习笔记之五——将json数据写入excel表
joey_2018_
python3
#student4.json[{"student_no":1001,"name":"James","score":10,"class":"A-1","rank":1},{"student_no":1002,"name":"Tome","score":91,"class":"A-1","rank":2},{"student_no":1003,"name":"Jane","score":100,"cl
- Python3学习笔记15-迭代器与生成器
weixin_33709590
生成器如果创建一个有很多元素的列表,但是只需要访问前几个元素,后面的元素占着的空间就白白浪费了在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。要创建一个generator,有很多种方法第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator:L=[x*x
- Python3学习笔记:清晰理解迭代器、生成器以及yield表达式
AlbertLii
Python
前言迭代器、生成器与装饰器是python中非常重要的三个特性。对于迭代器,很多初学者理解起来不是很困难,但是学习生成器与装饰器时可能就会感觉云里雾里。本篇文章会用简洁清晰的方式讲解迭代器与生成器,同时记录一下最近的学习成果。迭代器(Iterator)在介绍迭代器之前,我们需要先简单了解一个概念:可迭代对象(iterable)。可以直接作用于for循环的对象,称之为可迭代对象,例如list、tupl
- 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