- 用XMLHttpRequest发送和接收JSON数据
潭池先生
jsonXMLHttpRequest前端
百度的AI回答了一个案例:varxhr=newXMLHttpRequest();varurl="your_endpoint_url";//替换为你的API端点vardata=JSON.stringify({key1:"value1",key2:"value2"});xhr.open("POST",url,true);xhr.setRequestHeader("Content-Type","appl
- 谷歌浏览器驱动Chromedriver(114-120版本)文件以及驱动下载教程
pigerr杨
Pythonpythonchromedrivers
ChromeDriver官方网站GitHub||GoogleChromeLabs/chrome-for-testingChromeDriver113-125_JSONChromeforTestingavailability123-125zip白月黑羽Python基础|进阶|Qt图形界面|Django|自动化测试|性能测试|JS语言|JS前端|原理与安装
- webpack.prod.js(webpack生产环境配置文件)
门板_
webpackjavascript前端
生产环境:只打包不运行本地服务器对于在config目录下的webpack.prod.js1.在根目录下运行npxwebpack--config./config/webpack.prod.js2.在package.json文件中配置"build":"npxwebpack--config./config/webpack.prod.js"constpath=require('path')constESL
- Python dict字符串转json对象,小数精度丢失问题
朝如青丝 暮成雪
jsonpython
一前言JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,dict是Python的一种数据格式。本篇介绍一个float数据转换时精度丢失的案例。二问题描述importjsontest_str1='{"π":3.1415926535897932384626433832795028841971}'test_str2='{"value":10.00000}'print
- java实体中返回前端的double类型四舍五入(格式化)
婲落ヽ紅顏誶
java
根据业务,需要通过后端给前端返回部分double类型的数值,一般需要保留两位小数,使用jackson转换对象packagecom.ruoyi.common.core.config;importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxml.jackson.databind.JsonSerializer;importcom.f
- Redis分布式锁—SETNX+Lua脚本实现
Sahm5k
javaredis分布式lua
使用redis实现分布式锁,就是利用redis中的setnx,如果key不存在则进行set操作返回1,key已经存在则直接返回0。优点:设置expiretime过期时间,可以避免程序宕机长期持有锁不释放。redis作为一个中间服务,所有微服务都可见,满足分布式的需求。只需redis中原生setnx命令即可构建,实现简单。性能高效,redis数据在内存中。高可用,可以部署redis集群。加锁在red
- lua 判断字符串是否包含指定字符
笨死de猪
lua开发语言
一、string.find在Lua中,如果你想判断一个字符串是否包含特定的子字符串(例如a),你可以使用string.find函数。string.find函数会搜索第一个参数(字符串)中第二个参数(子字符串)出现的位置。如果找到了子字符串,它会返回子字符串开始和结束的位置(两个索引);如果没有找到,它会返回nil。以下是一个示例,展示如何判断一个字符串是否包含a:functioncontainsD
- JSON与AJAX:网页交互的利器
入冉心
jsonajax前端
在现代Web开发中,JSON(JavaScriptObjectNotation)和AJAX(AsynchronousJavaScriptandXML)是两项不可或缺的技术。它们共同为网页提供了动态、实时的数据交互能力,为用户带来了更加流畅和丰富的体验。本文将详细介绍JSON和AJAX的概念、原理,并通过代码示例展示它们在实际开发中的应用。一、JSON:轻量级的数据交换格式JSON是一种轻量级的数据
- 程序员开发技术整理
laizhixue
学习前端框架
前端技术:vue-前端框架element-前端框架bootstrap-前端框架echarts-图标组件C#后端技术:webservice:soap架构:简单的通信协议,用于服务通信ORM框架:对象关系映射,如EF:对象实体模型,是ado.net中的应用技术soap服务通讯:xml通讯ado.net:OAuth2:登录授权认证:Token认证:JWT:jsonwebtokenJava后端技术:便捷工
- python在ui自动化中的一些常见用法
loveyena
http://cn.python-requests.org/zh_CN/latest可以查看requests库的说明,pprint(res.json(),width=30)可以对请求的返回值按照json格式化形式进行打印。常见的content-type有application/x-www-form-urlencoded、application/json、application/xml。自动化测试操
- Github 2024-03-26 开源项目日报 Top10
老孙正经胡说
github开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2024-03-26统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Python项目3TypeScript项目3JupyterNotebook项目2C++项目1GDScript项目1Lua项目1Solidity项目1OpenInterpreter:本地代码运行和自然语言界面创建周期:254天开发语言:Python协议
- npm 常用命令详解
马卫斌 前端工程师
npm
npm(NodePackageManager)是Node.js的包管理器,它允许用户方便地安装、共享和管理Node.js项目中的依赖。以下是一些npm常用命令的详解:1.查看npm版本npm-v这个命令用于查看本地已安装的npm版本。2.初始化项目npminit运行这个命令会引导你创建一个package.json文件,该文件包含了项目的元数据,如名称、版本、描述、作者等信息以及项目的依赖配置。若要
- pp.task.task_del 任务-删除
小二郎_Ejun
URLpp.task.task_del请求方式POST请求参数参数名类型必填说明token[string]是无task_id[string]是任务id返回结果参数说明参数名类型必含说明status[int]是返回数据状态1:成功,0:失败msg[string]是返回提示信息data[json]是结果对象包括下述字段:{"status":1,"data":"","msg":"成功"}
- Redis+Lua脚本实现分布式服务的限流
henry_2016
Redis分布式redislua
背景限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务。开始打算使用GuavaRateLimiter来实现限流,但RateLimiter是局限于单机中使用,然后打算使用Redis+Lua脚本实现限流。1提供调用的接口@Slf4j@RestController@RequestMapping("/rateLimter")publiccl
- 分布式应用下登录检验解决方案
敲键盘的小夜猫
分布式java
优缺点JWT是一个开放标准,它定义了一种用于简洁,自包含的用于通信双方之间以JSON对象的形式安全传递信息的方法。可以使用HMAC算法或者是RSA的公钥密钥对进行签名。说白了就是通过一定规范来生成token,然后可以通过解密算法逆向解密token,这样就可以获取用户信息。生产的token可以包含基本信息,比如id、用户昵称、头像等信息,避免再次查库,可以存储在客户端,不占用服务端的内存资源,在前后
- webpack快速基础
风漫漫雨歇歇
webpackwebpack前端前端框架
文章目录webpack快速基础1.概念1.1入口1.2输出(output)1.3loader1.4插件(plugin)2.建立项目,用于测试功能2.1安装webpack,2.2创建webpack配置文件,2.3配置package.json,运行项目3.配置mode开发环境4.配置entry编译入口5.配置output编译出口6.配置加载csswebpack快速基础1.概念webpack是现代Jav
- MineAdmin Swagger结合phpstorm实现快速客户端http调试
明日晴空
工具类PHPphpstormMineAdminSwaggerhttp调试
以下操作,以MineAdmin框架作为演示,其它OpenApi规范文件亦可效果演示:1、打开http.json文件【OpenApi规范】,点击左侧装订线栏按钮2、点击左侧装订线栏按钮后,自动生成generated-requests.http文件,此时即可在phpstorm编辑器中直接调试接口,非常高效方便。一、下载安装MineAdmin1、gitee地址MineAdmin:MineAdmin是基于
- .net core Program.cs中读取appsettings.json路径读取错误问题
L*先生
.net.netcore
在.netcore3.1中遇到读取appsettings.json路径读取错误问题.在.netcore3.1中使用以下语句读取,其中第一条验证可用,其他未验证过。3.1比较特殊,其他版本似乎没有这个问题.1.验证可用varconfiguration=newConfigurationBuilder().SetBasePath(Environment.CurrentDirectory).AddJson
- jmeter获取返回json参数个数
海纳百川_9dc7
我们在用jmeter做测试的时候,返回很多json数据,然后呢想要从中取出某个参数的数量,人工取数的情况下,会很繁琐。因此必须借助正则提取器。操作如下:配置线程组:然后配置正则表达式提取器:2转载:正则表达式提取器说明再用jmeter后置BeanShellPostProcessor3importcom.eclipsesource.json.*;importjava.util.regex.Match
- uniapp 开发微信小程序 出现启用组件按需注入问题如何解决
古猿写代码
uniappuni-app微信小程序小程序
问题描述在使用uniapp开发微信小程序,进行上架发布时代码质量栏出现启用组件按需注入问题。虽然现实代码上传成功,但是作为一个吹毛求疵的老猿人,肯定是无法容忍的。那么如何解决呢?问题解决方案在uniapp端,特别注意不是在微信开发工具端,找到unpackage包,在下面找到app.json文件。在app.json文件中,加入一下代码://解决启用组件按需注入问题"lazyCodeLoading":
- 开发chrome扩展( 禁止指定域名使用插件)
徐同保
chrome前端
mainfest.json:{"manifest_version":3,"name":"ChatGPT学习","version":"0.0.2","description":"ChatGPT,GPT-4,Claude3,Midjourney,StableDiffusion,AI,人工智能,AI","icons":{"16":"./images/logo.png","48":"./images/lo
- Github 2024-03-25 开源项目日报Top10
老孙正经胡说
github开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2024-03-25统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Python项目4JupyterNotebook项目2TypeScript项目2GDScript项目1Lua项目1Go项目1Dart项目1OpenInterpreter:本地代码运行和自然语言界面创建周期:254天开发语言:Python协议类型:GN
- npm 包管理工具:常用命令详解与使用指南
LXHYouth
node.jsnpmnode.js
npm常用命令的更详细解释和使用场景:npminit详细说明:此命令用于初始化一个新的Node.js项目。它会创建一个package.json文件,其中包含项目的基本信息,如名称、版本、描述、入口点(mainfile)、测试命令、git仓库地址等。这个文件是项目的心脏,记录了项目的元数据和依赖关系。使用示例:在命令行中输入npminit,然后根据提示填写项目信息。如果你想要快速生成一个默认的pac
- ECS Fargate 上部署 SkyWalking OAP Server:利用 AWS CLI 和服务发现提供服务
ivwdcwso
运维开发skywalkingaws服务发现
在本篇文章中,我们将演示如何使用AWSCLI在ECSFargate上部署SkyWalkingOAPServer,并利用AWS服务发现为gRPC流量提供一个静态入口点。这样,客户端就可以通过服务发现名称访问gRPC服务。以下是详细步骤:1.注册任务定义创建一个名为dev-skywalking-oap-server-task.json的文件,内容如下:{"family":"dev-skywalking
- 解释 RESTful API,以及如何使用它构建 web 应用程序
Snailmi
java
RESTfulAPI是一种基于HTTP协议的软件架构风格,用于构建可伸缩和可扩展的网络服务。它通常用于构建Web应用程序和移动应用程序。RESTfulAPI遵循一组约定,以实现资源的标识、状态和操作的分离。它使用HTTP方法(GET、POST、PUT、DELETE等)来表示不同的操作,并使用URL来标识资源。数据通常以JSON或XML格式进行传输。使用RESTfulAPI构建Web应用程序的过程如
- moba客户端开发面经
Unity游戏开发
面试游戏开发unity
1、Lua:元表是什么,怎么实现对象继承2、OPP是什么3、mvc结构4、C#:list和array区别和使用场景5、项目:(1)ui框架类设计,ui层级管理怎么做,对象初始化内存占用这样做高,资源是怎么加载的(2)背包数据室怎么加载的,mvc怎么使用的,怎么性能优化的(3)ui的一些优化方式,动静分离,不使用透明,排序减少batch6、帧同步和状态同步介绍:(1)用什么协议,这俩什么区别(2)网
- 【shell常用指令整理】
半夏知半秋
linuxlinux开发语言
shell常用指令整理greplessmorecatawknetstattailfheadpstopdudffindsedgrep用于在文件中搜索指定模式的内容greptrace-ctest.log:查看test.log中匹配到trace的个数greptrace-c*-l:查看所有文件中匹配到trace的文件名greptrace-C5test.log:查看test.lua中所有匹配到trace所在
- 高可用系统有哪些设计原则
没有女朋友的程序员
架构师架构
1.降级主动降级:开关推送被动降级:超时降级异常降级失败率熔断保护多级降级2.限流nginx的limit模块gatewayredis+Lua业务层限流本地限流gua分布式限流sentinel3.弹性计算弹性伸缩—K8S+docker主链路压力过大的时候可以将非主链路的机器给主链路的应用用上4.流量切换多机房环境:DNS端域名切换入口Clien端流量调度虚IPHaProxyLVS负载均衡应用层Ngi
- 集群方式下的java Redis锁 lua脚本
成长之旅
后端java
下面说一下集群方式redis下的原子锁带超时时间java代码如下:Listkeys=Collections.singletonList("test_key1");System.out.println("打印前::"+jedisCluster.get("test_key1"));//获取lua脚本这里你可以所以我是放在META-INF/scripts/redis/test.lua路径下,//获取到之
- Lua入门
Lodger007
GameDevelopmentlualinuxc++windows脚本dll
翻译自http://gamedevgeek.com/tutorials/getting-started-with-lua/Lua入门Lua是一个被设计成用于扩展C/C++编程的轻量级脚本语言。不幸的是,网上很少有关于这个语言的在线教程。我主要通过阅读其源代码来了解它是怎样工作并且通过一些发布的程序学习它。希望,通过下面的教程,会让学习Lua更加简单。本教程涵盖了Lua5.1。在Lua的每一个版本中
- 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