- EcmaScript和JavaScript的区别
每天吃八顿
前端ecmascript
ECMAScript和JavaScript是经常被混淆的两个术语,但实际上它们之间存在一些区别:ECMAScript:ECMAScript(通常缩写为ES,并且有版本号如ES5,ES6和ES7等)是由ECMA国际(EuropeanComputerManufacturersAssociation)制定的一种脚本语言的规范。这个规范定义了语法、命令、数据类型等基本元素。ECMAScript是一种规范,
- ES6至ES2023:深入理解ECMAScript的演变之路
N201871643
热门相关技术分享ecmascriptes6前端
ES6至ES2023:深入理解ECMAScript的演变之路目录ES6至ES2023:深入理解ECMAScript的演变之路一、ECMAScript简介二、ES6:里程碑式的版本1.类语法2.模块化3.箭头函数4.承诺5.Set和Map三、ES7至ES12:稳步前进1.ES7(ES2016美)2.ES8(ES2017美)3.ES9(ES2018英)4、ES10(ES2019美)5.ES11(ES2
- async/await
隔壁老王z
在async/await之前的三种写回调的方式:1、嵌套回调2、以Promise为主的链式回调3、使用Generators但是,这三种写起来都不够优雅,ES7做了优化改进,async/await应运而生,async/await相比较Promise对象then函数的嵌套,与Generator执行的繁琐(需要借助go才能自动执行,否则得手动调用next()),Async/Await可以让你轻松写出同步
- canal-adapter消费Kafka中MySQL的binlog数据,却没有同步更新Elastic search
iiopsd
kafkamysqljavaelasticsearch
背景在同步MySQL数据到ES的场景中,选择了canal组件同步数据。问题描述在同步的时候发现canal-adapter中canal-adapter/conf/es7/product.yml配置文件中sql语句连表查询的时候会出现无法更新Elasticsearch中数据的情况,而且日志没有提示异常(idea启动的时候有错误日志),令人百思不得其解。问题分析初步估计是内部解析yml的时候出错了,但具
- 查看linux中es是否运行,ElasticSearch 安装与运行
细雨9523
查看linux中es是否运行
公号:码农充电站pro主页:https://codeshellme.github.io本节来介绍ES的安装。1,下载ESES是基于Java语言开发的,因此,要安装ES,首先需要有Java环境。从ES7.0开始,ES内置了Java环境,所以如果安装的是7.0及以上版本的ES,就不需要额外安装Java环境了。我们可以到ES的下载页面去下载ES安装包,你可以根据你的系统,选择不同的安装包进行安装。我这里
- 03 语法
将军肚
ES7中有一项do表达式提案,类似vara,b;a=do{if(true){b=4+38;}};a;//42其目的是将语句当作表达式来处理,从而不需要将语句封装为函数再调用return来返回值。5.1.2表达式副作用最常见的有副作用的表达式是函数调用:functionfoo(){a=a+1;}vara=1;foo();//结果值:undefined。副作用:a的值被改变可使用,语句系列逗号运算符将
- RK3588开发笔记-pdm接口ES7201音频采集调试记录
flypig哗啦啦
RK3568开发笔记音视频RK3588ES7201PDM
目录前言一、ES7201技术规格二、PDM接口说明RK3588的PDM接口特性三、原理图连接四、内核配置五、音频调试总结前言在RK3588开发过程中,音频采集是一个常见的需求,而PDM(PulseDensityModulation)接口因其简单性和低成本广泛应用于音频采集模块中。本文记录了在RK3588平台上通过PDM接口集成和调试ES7201音频采集模块的过程。一、ES7201ES7201是一款
- 【退役之重学前端】使用vite+vue3+vue-router,重构react+react-router前后端分离的商城后台管理系统
williamdsy
前端vue.js重构
前言:对前端各个技术板块,HTML、CSS、JavaScript、ES6、vue家族,整体上能“摸其大概”。笔者计划重构一个基于react的商城后台管理系统。——2024年2月16日技术选型#语言和框架vue3sassbootstrapES7#架构前后端分离分层架构模块化开发#前端构建工具npmvite#代码管理工具git
- 机器学习3----决策树
pyniu
机器学习机器学习决策树人工智能
这是前期准备importnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt#ID3算法#每个特征的信息熵#target:账号是否真实,共2种情况#yes7个p=0.7#no3个p=0.3info_D=-(0.7*np.log2(0.7)+0.3*np.log2(0.3))info_D#日志密度L#日志密度3种结果#s3个0.31yes,2no
- vscode中一键生成react代码块以及快速补全react代码
前端驿站
1.vscode扩展搜索ES7React/Redux/GraphQL/React-Nativesnippetsd或者React-Native/React/Reduxsnippetsfores6/es7并安装(如果安装后者直接cccs可以一键生成模板块安装前者步骤如下)2、安装后在组件中执行rcc即可生产有状态的组件3、执行rfc即可生产无状态组件自动补充代码1、打开首选项设置2、在搜索框中输入em
- 别具一格,质感拉满 | PITAKA苹果Apple Watch彩碳表带开箱
Stark-C
其他
别具一格,质感拉满|PITAKA苹果AppleWatch彩碳表带开箱我是在前年的时候购买的目前手头这款AppleWatchSeries7,因为是购买的Nike版,所以可以看到它的表带标配为透气孔的运动型表带。耐克版的透气孔表带虽说在一定程度上解决了普通版硅胶表带闷热的情况,但是不怎么耐脏,质感也是一般;更难以接受的就是随着时间的推移,硅胶容易老化的特性也显露出来了,比如说泛白,冬天会变硬等。我在去
- ES7
牛耀
指数运算符(幂):**Array.prototype.includes(value):判断数组中是否包含指定valueconsole.log(2**3);//8letarr=[1,4,5,6,'abc'];console.log(arr.includes('a'));//falseconsole.log(arr.includes('abc'));//trueconsole.log(arr.incl
- async和await的错误处理
六卿
#jsjspromiseasyncawait错误收集
async和await的错误处理sync/await是ES7提出的基于Promise的解决异步的最终方案。真正意义上去解决异步回调的问题,同步流程表达异步操作,本质上async是Generator的语法糖,async和await,用于优化Generator的使用,无需再主动调用next。不需要像Generator去调用next方法,遇到await等待,当前的异步操作完成就往下执行被async修饰的
- ES7 async await
与你清欢_李
async把函数执行成promise返回出来一个promiseawaitawait是一个运算符,如果它等到的是一个promise对象,await就可以等到promise完成,如果是普通表达式,则运算完返回结果
- Elasticsearch(一) 安装和配置启动
king丶绝世佳友
#ElasticSearchelasticsearch大数据bigdata
前言:本环境在阿里轻量级服务器(Ubuntu)上执行(一)环境搭建1.1java环境环境:ES为java语言编写,需要有java环境版本说明:ES5需要Java8及以上的版本ES7开始内置了Java环境aptupdateaptinstalldefault-jre//下载jdk环境验证输入:java--version返回以下代码算成功1.2Elasticsearch下载通过官方下载地址挑选你喜欢的下
- 原来ES7~12分别增加了这些属性呀
一颗冰淇淋
ES6也称为ES2015,于2015年发布,此后每年都有新增一些属性,分别命名为ES7~12,发布的年份分别对应2016年到2021年ES7includes方法数组中新增了includes方法,用来判断数组中是否存在某一元素,在此之前进行这样的判断是使用indexOf判断下标值,小于0时则代表不存在。constlist=['alice','kiki','macus']console.log(lis
- ubuntu安装JDK11
veminhe
系统Ubuntuubuntulinux运维
需求背景:因为ES7的启动和安装分词组件时都需要使用java11,启动的时候我改成了jdk1.7后,能正常启动,但是使用分词插件的时候,却不行了,干脆安装java11好了。1.搜索有哪些版本apt-cachesearchjava112.选择安装的jdk版本sudoapt-getinstallopenjdk-11-jdk3.配置环境变量exportJAVA_HOME=/usr/lib/jvm/jav
- JavaScript实现同步网络请求的方式
倾云鹤
#H5边角料javascriptajax
前言:想提出通用的ajax的请求,但是也需要拿到ajax回调。默认情况下,Ajax请求是异步的,但是可以通过一些方式将ajax变成同步请求。一、使用ES7的Async和Await1通用AjaxPOST框架asyncfunctioncommonAjaxPost(url,argument){letdatas=JSON.stringify(argument);constresult=$.ajax({ur
- 一、单词篇——01人体
宇宙仙姑
一、人体组织1、cell:细胞2、chromosome:染色体3、gene:基因4、tissue:组织5、organ:器官6、bloodvessel:血管7、artery:动脉8、vein:静脉二、面部1、head:头2、hair:头发3、brain:大脑4、cerebraldeath:脑死亡5、forehead:额头=brow6、wrinkles:皱纹=lines7、eyebrow:眉毛8、ey
- ES7.17由于IP变化导致的故障及恢复
zmc@
javadockerkuberneteselasticsearch排障
背景1.k8s升级,导致环境中的ES集群(7.17版本)重启2.集群由于在公有云环境,IP不固定(重启后IP可能发生变化),通过svc进行访问curlxxx-master-svc:9200/_cat/health3.由多个sts一起维护一个ES集群(非operator的模式)xxx-masterxxx-ingestxxx-data注:一般开源的ES,无论在虚拟机还是容器中部署,最佳实践还是固定IP
- JavaScript之ES6新特性01
谭梦寻
javascriptes6前端
概述ECMAScript6(简称ES6)是于2015年6月正式发布的JavaScript语言的标准,正式名ECMAScript2015(ES2015)。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言[。另外,一些情况下ES6也泛指ES2015及之后的新增特性,虽然之后的版本应当称为ES7、ES8等为什么学习ES6ES6的版本变动内容最多,具有里程碑意义ES
- [BUUCTF]-PWN:ciscn_2019_es_7解析
Clxhzg
安全linux运维
这道题好像和buu的ciscn_2019_s_3是一模一样的看保护64位,没开canary和pie看ida题目还有能往rax传递0x3B和0xf的函数,这就提示我们可以用系统调用来getshell解法一(系统调用execve):完整exp:frompwnimport*context(log_level='debug')p=process('./es7')ret=0x4003a9pop_rdi=0x
- FSP语言学习(一):对单个process建模
小羊和小何
正式建模语言学习
目录一、什么是正式建模语言1.正式建模语言是进程代数2.为什么要使用正式建模语言二、FiniteStateProcesses1.FSP的基本概念2.FSP—theactionprefix3.FSP—choice4.FSP—non-deterministicchoice5.FSP—indexedprocesses6.FSP—constantsandranges7.FSP—ProcessParamet
- 一些开源革命的幕后人物
发疯的小猿
轻知识笔记
文章目录《FacesofOpenSource》1.INTERNET2.WWW3.UNIX4.BSD5.LINUX6.LANGUAGES7.ROS8.XWINDOW《FacesofOpenSource》是一本关于开源革命幕后人物的持续摄影记录。该项目由著名或无名英雄的肖像组成,他们致力于创造和推进我们的开源技术。此项目的链接来源:https://www.facesofopensource.com/摄
- 三、ElasticSearch集群搭建实战
南天一梦N
中间件技术elasticsearchjavaspring搜索引擎全文检索
本篇ES集群搭建主要是在LinuxVM上,未使用Docker方式,ES版本为7.10,选择7.10版本原因可以看往期文章介绍。一、ElasticSearch集群搭建须知JVM设置Elasticsearch是基于Java运行的,es7.10可以使用jdk1.8~jdk11之间的版本,更高版本还没测试过。ES运行期间很多计算都需要大量内存,所以内存这块需要提前根据机器规格进行适当配置,内存越大越好,单
- ElasticSearch 7.4集群部署 启用x-pack验证 Kibana7.4用户管理
Cocktail_py
Elasticsearchelasticsearch
一.es7.4集群搭建1.1下载es以及修改相应配置1.1.1节点规划内网ip节点192.168.18.126node-1192.168.18.125node-2192.168.18.133node-31.1.2下载cd/optwgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.2-linux-x86
- 四、ES集群安全策略设置 X-pack
南天一梦N
中间件技术elasticsearchjenkins大数据
本文主要是结合ES集群搭建时使用,并且适用于ES7.x以上版本背景及安全策略方案对比ES7.x以下版本默认几乎没有任何安全策略,如果集群IP、端口被暴露,在可访问的情况下任何用户都可以对索引进行管理以及数据的增删改查等,基于此需要考虑设置一定的安全策略,目前常用几种方式如下:类别优点缺点建议nginx对外屏蔽了ES集群的真实IP和端口,配置也较简单只能做一些网络访问安全上面的防护,不能对索引及字段
- es查询单字段去重
J_bean
ESelasticsearches去重CollapseBuilder
1环境es7.102去重方式2.1使用collapse功能注意:使用此方式去重时,不会去除掉不存在去重字段的数据。去重字段只能是数字类型或keyword。对text字段进行去重将报错,报错如下。"unknowntypeforcollapsefield`xxx`,onlykeywordsandnumbersareaccepted"去重举例如下:(1)根据approval查询,且根据standardI
- promise 进阶 —— async / await 结合 bluebird
HuaZi_Myth
一、背景1、Node.js异步控制在之前写的callbackvsasync.jsvspromisevsasync/await里,我介绍了ES6的promise和ES7的async/await的基本用法。可以肯定的是,node.js的异步控制(asynchronousJavaScript),promise就是未来的主流,诸如async.js等非promise库(async.js基于callback)
- ES7.6先分组,在求多个字段的sum和count
zhanghe687
javaes
publicvoidstatByUserIdByDay(StringuserId){try{SearchRequestsearchRequest=newSearchRequest("article_info");SearchSourceBuildersearchSourceBuilder=newSearchSourceBuilder().size(0);searchSourceBuilder.qu
- 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