- 《Veronika decides to die》
Ooutstanding
Whatismadness?——Madnessistheinabilitytocommunicate.Betweennormalityandmadness,whicharebasicallythesamething,thereexistsanintermediarystage:itiscalled"beingdifferent."Andpeoplewerebecomingmoreandmoreaf
- python+adb
0o一人情
adb命令Python项目python开发语言
#!/usr/bin/pythonenv#-*-coding:utf-8-*-importosimportsysimportsubprocessfromtimeimportsleepimportlogginglogging.basicConfig(level=logging.DEBUG)classScreenCapture():defget_screen_size(self):"""获取手机分辨率
- C#中的LInq语句
weixin_30588907
c#数据库
语言集成查询(LINQ)是一组技术的名称,这些技术建立在将查询功能直接集成到C#语言(以及VisualBasic和可能的任何其他.NET语言)的基础上。借助于LINQ,查询现在已是高级语言构造,就如同类、方法、事件等等。对于编写查询的开发人员来说,LINQ最明显的“语言集成”部分是查询表达式。查询表达式是使用C#3.0中引入的声明性查询语法编写的。通过使用查询语法,您甚至可以使用最少的代码对数据源
- Wi-Fi基础术语
madmanazo
Hardware
AP:accesspoint,即无线接入点,是一个无线网络的创建者,是网络的中心节点;无线路由器就是一个APSTA:station,指每一个连接到无线网络中的终端设备都可以称为一个站点IBSS:IndependentBasicServiceSet,独立基本服务集,IBSS是一种无线拓扑结构,IEEE802.11标准的模式·IBSS模式,又称作独立广播卫星服务,也称为特设模式,是专为点对点连接SSI
- python http error 401 解决方案:
codeuniverse
http网络协议网络
fromrequests.authimportHTTPBasicAuthuser='myuserID'password="mypassword"ip=sys.argv[1]url="http://www.websites.com/"+ipres=requests.get(url,auth=HTTPBasicAuth(user,password))printres.text
- ESP32 UDP 05
zq4132
udpESP32嵌入式硬件
1.在上一文章基础上修改,文章网址ESP32-Ethernet-04-CSDN博客2.基本代码/*EthernetBasicExampleThisexamplecodeisinthePublicDomain(orCC0licensed,atyouroption.)Unlessrequiredbyapplicablelaworagreedtoinwriting,thissoftwareisdistr
- Paxos 算法详解(一)
林木森^~^
数据结构和算法算法分布式java
前言提到分布式算法,就不得不提Paxos算法,在过去几十年里,它基本上是分布式共识的代名词,因为当前最常用的一批共识算法都是基于它改进的。比如,FastPaxos算法、CheapPaxos算法、Raft算法、ZAB协议等等。兰伯特提出的Paxos算法包含2个部分:一个是BasicPaxos算法,描述的是多节点之间如何就某个值(提案Value)达成共识;另一个是Multi-Paxos思想,描述的是执
- HTC Vive开发学习——VRTK(3)更新到新版本SDK!
fcauto2012
Vive开发HTCViveUnityC#
上两节中,我们主要对SteamVR_Unity_Toolkit(简称旧版VRTK)中的一些基础控制器脚本进行了学习,包括VRTK_ControllerEvents(以下简写会经常省略VRTK_前缀)、SimplePointer和BasicTeleport三个主要脚本。但是最近查资料的时候发现其实VRTK早已更新了功能更强大的版本。在新的VRTK中,不仅更多的VR环境被支持,而且相比旧版本还扩展了更
- Linux:如何使用 Crontab
AnyaPapa
Linuxlinux运维服务器
今天想了解一下LinuxCrontab。嗯,在Windows上,可以看做和定时任务差不多。“要在特定时间进行特定工作。”如果是这样,可以使用crontab,轻松使用Linux。1.基本(crontabbasic)先看一下基本的crontab使用方法吧。在Linuxshell中输入如下内容:$crontab-e那么可以编辑的地方就会加载,这里就是可以设置crontab的地方。在这里输入各种cron
- React Native实现手风琴折叠菜单效果
做全栈攻城狮
使用了各类手风琴组件,都出现了各类问题。而市面上手风琴效果的第三方组件又不是很多。最终使用的是antdesign的手风琴效果,简单高效。组件网址:https://rn.mobile.ant.design/components/accordion-cn/#components-accordion-demo-basic使用DEMO:https://github.com/ant-design/ant-d
- CCS配置MSPM0G3507(七) 编码器(TIMER-QEI)
kaneki_lh
MSPM0G3507学习记录单片机嵌入式硬件
一.sysconfig(1).BasicConfig1.选择时钟源BUSCLK2.时钟分频配置为1分频3.分频系数配置为14.若勾选Start,则生成程序后会自动开启定时器的计数,否则需手动在程序中开启5.LoadValue设置为65535(2)PinMux1.MSPM0G3507只有TIMG8有QEI模式2.可以选择复位引脚二.代码0.重要函数:DL_Timer_getTimerCount(QE
- CCS配置MSPM0G3507(八)GPIO中断方式模拟编码器计数与测速
kaneki_lh
MSPM0G3507学习记录单片机嵌入式硬件
因为MSPM0G3507只有TimerG8有QEI功能,当需要外接多个编码器时,可采用GPIO中断方式实现计数。一.sysconfig(1)BasicConfig1.创建一组GPIO,并加入两个引脚进行配置(两个引脚的配置是一样的)2.将引脚设置为输入模式3.设置为浮空输入(2)InterruptConfig1.使能中断2.设置为上升沿触发(3)PinMux选择要使用的引脚二.代码1.初始化vol
- SeaweedFS接口-Filer Server API
九品神元师
SeaweedFS
YoucanappendtoanyHTTPAPIwith&pretty=ytoseeaformattedjsonoutput.FilerserverPOST/PUT/Getfiles#BasicUsage://createoroverwritethefile,thedirectories/path/towillbeautomaticallycreatedPOST/path/to/file//get
- x-ray社区版简单使用教程
一只迷茫的汪
工具爬虫web安全
下载地址https://github.com/chaitin/xray注意:xray不开源,直接下载构建的二进制文件即可证书生成./xray_windows_amd64genca使用方法1,使用基础爬虫爬取并对爬虫爬取的链接进行漏洞扫描(xray的基础爬虫不能处理js渲染的页面)./xray_windows_amd64webscan--basic-crawlerhttp://example.com
- COI实验室技能:图像到图像的深度学习开发框架(pytorch版)
山颠海涯
深度学习pytorch人工智能
Basicdeeplearningframeworkforimage-to-image这个开发框架旨在帮助科研人员快速地实现图像到图像之间的模型开发。github连接:https://github.com/SituLab/Basic-deep-learning-framework-for-image-to-image目录1模型开发1-1克隆项目到本地1-2深度学习开发2环境配置2-1安装conda
- Axure中插入Highcharts动态图表
周墨拾光
AxureAxure元件库动态图表Highcharts
操作说明:1、进入highcharts官网https://www.hcharts.cn/demo/highcharts/line-basic/dark-unica2、根据需要选择图表3、选择“编辑源代码”4、修改图表中的相关参数5、复制分享全屏链接的地址6、在Axure中拖入内联框架,双击内联框架,在链接属性弹出框中,将复制的链接粘贴到图中位置,点击确认即可;内联框架大小可以随意调整,建议根据上面
- 电脑BOIS设置详细解释
行者..................
电脑
BIOS(BasicInput/OutputSystem,基本输入输出系统)是电脑的基础固件,它控制着电脑的启动过程并提供了一些低级别的硬件配置选项。通常在电脑启动时,你可以通过按特定的键(如`DEL`、`F2`、`ESC`、`F10`等)进入BIOS设置界面。以下是BIOS设置的一些常见选项及其详细解释:###1.**Boot(启动)选项**BIOS的`Boot`选项允许你设置启动顺序和设备的优
- RabbitMQ 消费端的限流策略(basicQos)
斯沃福德
rabbitmqjava
业务场景:高并发情况下,队列里面一瞬间就积累了上万条数据,但是消费者无法同时处理这么多请求,这个时候当我们打开客户端,瞬间就有巨量的信息给推送过来,但是客户端是没有办法同时处理这么多数据的,结果就是消费者(客户端)挂掉了…这种场景下我们就需要对消费端进行限流;限流策略限流策略关键代码:channel.basicQos();例:生产者://生产者publicclassProducer{private
- python 多用户压力测试_python多线程http压力测试脚本
weixin_39672296
python多用户压力测试
#coding=utf-8importsysimporttimeimportthreadimporthttplib,urllibimportrandomimportuuidimportlogginglogging.basicConfig(level=logging.DEBUG,format='%(asctime)s%(filename)s[line:%(lineno)d]%(levelname)s
- GreatSQL执行Update失败案例分析
GreatSQL社区
GreatSQLMySQL
GreatSQL执行Update失败案例分析一问题概述业务反馈在应用核心库的用户基本信息表执行部分update命令失败,报错如下:updatexxx.xxx_staffbasicinfosetstaffidstatus='04’wherestaffidin(select*fromduyuanyu.tmp_d_xiaoyuan)>1265Datatruncatedforcolumn'NOTMODST
- GreatSQL执行Update失败案例分析
GreatSQL社区
GreatSQLMySQL
GreatSQL执行Update失败案例分析一问题概述业务反馈在应用核心库的用户基本信息表执行部分update命令失败,报错如下:updatexxx.xxx_staffbasicinfosetstaffidstatus='04’wherestaffidin(select*fromduyuanyu.tmp_d_xiaoyuan)>1265Datatruncatedforcolumn'NOTMODST
- 2018年34粥记
im天行
2018年34周(8月20号-8月26号)本周目标没列读书(非技术)8个《我不过低配的人生》1-197/271,6个。雾满拦江写的,网文或blog的合集,但是呢,话给懂的人听,部分言论还是深得我心的。《简单法则》21-64/127,1个。Basic、Repeat、Avoid、Inspire、Never这5个item啊,特别适用于学习某个知识点,跟费曼技巧有类似之处。《最重要的事,只有一件》162-
- 3.js - 鸡蛋托
一嘴一个橘子
three.jsthree.js
import*asTHREEfrom'three'import{OrbitControls}from'three/examples/jsm/controls/OrbitControls'import{GUI}from'three/examples/jsm/libs/lil-gui.module.min.js'//@ts-ignoreimportbasicVertexShaderfrom'./sha
- C++中string类的初步介绍
Little At Air
c++开发语言
C语言中的字符串在C语言中,字符串是以'\0'结尾的一些字符的集合,C标准库中提供了一系列str系列的库函数,但这些库函数与字符串是分离的,不符合面向对象的编程思想。string类的大致介绍1.string是表示字符串的字符串类2.string类的接口与常规容器的接口基本相同,又添加了一些专门用来操作string的常规操作3.string在底层实际是basic_string模板类的别名typede
- antV x6官网地址
果子切克now
图形渲染vue.js
antVx6官网1:https://x6.antv.vision/zh/docs/tutorial/basic/graphantVx6官网2:https://x6.antv.antgroup.com/tutorial/basic/graph
- mybatis xml文件中用 if 标签判断字符串是否相等
斯南
mybatisxmljava
方法一:推荐推荐a.del_flag=#{delFlag}方法二:a.del_flag=#{delFlag}注意test后面跟的是双引号("")还是单引号('')ps:用equals()亲测也可以方法三:a.del_flag=#{delFlag}注意:使用如下方式是错的12a.del_flag=#{delFlag}3转载文章关联查询删除表中指定的数据deleteafrombasic_mainale
- 网络地址转换NAT(Network Address Translation)
期待未来的男孩
路由交换服务器网络运维
NAT概述NAT是将IP数据报文头中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能。BasicNAT是实现一对一的IP地址转换,而NAPT可以实现多个私有IP地址映射到同一个公有IP地址上。配置静态interfacegigabitethernetIDnatstaticglobal2.2.2.3inside192.168.0.2netma
- VBto Converter代码转换工具最新V2.89版
中游鱼
原创VB补丁.netmicrosoftvb6代码转换
VBtoConverter代码转换工具最新V2.89版VBtoConverter是来自国外的一款简单实用,功能强大的VB6源代码转换工具。作为一款实用的编程工具软件,可以将MicrosoftVisualBasic6.0project(包括源代码)转换成MSVC++MFC,VC++.NET(CLR),VBNET,C#,J#,BorlandC++Builder,BorlandDelphi源代码文件。可
- NCBI BLAST+:分析生物内在编码的工具
belldeep
生物信息学Blast生物数据分析
在生物信息学的广阔领域中,NCBI(NationalCenterforBiotechnologyInformation,美国国立生物技术信息中心)开发的BLAST(BasicLocalAlignmentSearchTool,基本局部比对搜索工具)无疑是一把不可或缺的分析工具。NCBIBLAST+,作为其最新版本2.16.0+,为科研工作者提供了一套强大的序列比对和搜索功能,帮助解析生命现象背后的遗
- 微信小程序xr-frame图层与显示(五种方法)
牧羊人_sj
xr微信小程序图层
前言:控制小程序隐藏与显示有五种方法,感兴趣的可以参考这个文档,但是本文只赘述两种方法。1.通过visible属性(详见:Three.js模型隐藏或显示)visible:作用就是控制绑定该材质的模型对象是否可见,默认值是true,LineBasicMaterial、SpriteMaterial、MeshBasicMaterial等材质都会继承基类Material的可见性;注意:(链接)1).vis
- ASM系列五 利用TreeApi 解析生成Class
lijingyao8206
ASM字节码动态生成ClassNodeTreeAPI
前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。
在介绍前,先要知道一点, Tree工程的接口基本可以完
- 链表树——复合数据结构应用实例
bardo
数据结构树型结构表结构设计链表菜单排序
我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。
需求简介:
经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后
- 为啥要用位运算代替取模呢
chenchao051
位运算哈希汇编
在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,
JDK6中的HashMap中的indexFor方法:
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
- 最近的情况
麦田的设计者
生活感悟计划软考想
今天是2015年4月27号
整理一下最近的思绪以及要完成的任务
1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为
- PHP去掉字符串中最后一个字符的方法
IT独行者
PHP字符串
今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下:
$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;
- hadoop在linux上单机安装过程
_wy_
linuxhadoop
1、安装JDK
jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25  
- JAVA进阶----分布式事务的一种简单处理方法
无量
多系统交互分布式事务
每个方法都是原子操作:
提供第三方服务的系统,要同时提供执行方法和对应的回滚方法
A系统调用B,C,D系统完成分布式事务
=========执行开始========
A.aa();
try {
B.bb();
} catch(Exception e) {
A.rollbackAa();
}
try {
C.cc();
} catch(Excep
- 安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉
矮蛋蛋
hadoop互联网
“谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。
到底什么是移动DSP呢?
DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广
- myelipse设置
alafqq
IP
在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。
注释模板导入步骤
安装方法:
打开eclipse/myeclipse
选择 window-->Preferences-->JAVA-->Code-->Code
- java数组
百合不是茶
java数组
java数组的 声明 创建 初始化; java支持C语言
数组中的每个数都有唯一的一个下标
一维数组的定义 声明: int[] a = new int[3];声明数组中有三个数int[3]
int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数
- javascript读取表单数据
bijian1013
JavaScript
利用javascript读取表单数据,可以利用以下三种方法获取:
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id");
2、通过表单名称属性:var b = document.getElementsByName("name");
3、直接通过表单名字获取:var c = form.content.
- 探索JUnit4扩展:使用Theory
bijian1013
javaJUnitTheory
理论机制(Theory)
一.为什么要引用理论机制(Theory)
当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。
TDD 的优点:
&nb
- [Spring Data Mongo一]Spring Mongo Template操作MongoDB
bit1129
template
什么是Spring Data Mongo
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括
1. 封装客户端跟MongoDB的链接管理
2. 文档-对象映射,通过注解:@Document(collectio
- 【Kafka八】Zookeeper上关于Kafka的配置信息
bit1129
zookeeper
问题:
1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置
3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里
4. Producer跟Zookeeper究竟有没有关系?没有关系!!!
//consumers、config、brokers、cont
- java OOM内存异常的四种类型及异常与解决方案
ronin47
java OOM 内存异常
OOM异常的四种类型:
一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。
二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx
- java-实现链表反转-递归和非递归实现
bylijinnan
java
20120422更新:
对链表中部分节点进行反转操作,这些节点相隔k个:
0->1->2->3->4->5->6->7->8->9
k=2
8->1->6->3->4->5->2->7->0->9
注意1 3 5 7 9 位置是不变的。
解法:
将链表拆成两部分:
a.0-&
- Netty源码学习-DelimiterBasedFrameDecoder
bylijinnan
javanetty
看DelimiterBasedFrameDecoder的API,有举例:
接收到的ChannelBuffer如下:
+--------------+
| ABC\nDEF\r\n |
+--------------+
经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到:
+-----+----
- linux的一些命令 -查看cc攻击-网口ip统计等
hotsunshine
linux
Linux判断CC攻击命令详解
2011年12月23日 ⁄ 安全 ⁄ 暂无评论
查看所有80端口的连接数
netstat -nat|grep -i '80'|wc -l
对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态
n
- Spring获取SessionFactory
ctrain
sessionFactory
String sql = "select sysdate from dual";
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
String[] names = wac.getBeanDefinitionNames();
for(int i=0; i&
- Hive几种导出数据方式
daizj
hive数据导出
Hive几种导出数据方式
1.拷贝文件
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
hadoop fs –cp source_path target_path
2.导出到本地文件系统
--不能使用insert into local directory来导出数据,会报错
--只能使用
- 编程之美
dcj3sjt126com
编程PHP重构
我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解
header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 1
- Android保存用户名和密码
dcj3sjt126com
android
转自:http://www.2cto.com/kf/201401/272336.html
我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码
1、通过普通 的txt文本存储
2、通过properties属性文件进行存
- Oracle 复习笔记之同义词
eksliang
Oracle 同义词Oracle synonym
转载请出自出处:http://eksliang.iteye.com/blog/2098861
1.什么是同义词
同义词是现有模式对象的一个别名。
概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过
- Ajax案例
gongmeitao
Ajaxjsp
数据库采用Sql Server2005
项目名称为:Ajax_Demo
1.com.demo.conn包
package com.demo.conn;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
//获取数据库连接的类public class DBConnec
- ASP.NET中Request.RawUrl、Request.Url的区别
hvt
.netWebC#asp.nethovertree
如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&
- SVG 教程 (七)SVG 实例,SVG 参考手册
天梯梦
svg
SVG 实例 在线实例
下面的例子是把SVG代码直接嵌入到HTML代码中。
谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。
注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。 SVG 实例
SVG基本形状
一个圆
矩形
不透明矩形
一个矩形不透明2
一个带圆角矩
- 事务管理
luyulong
javaspring编程事务
事物管理
spring事物的好处
为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象
TransactionDefinition
定义了事务策略
int getIsolationLevel()得到当前事务的隔离级别
READ_COMMITTED
- 基础数据结构和算法十一:Red-black binary search tree
sunwinner
AlgorithmRed-black
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known
- centos同步时间
stunizhengjia
linux集群同步时间
做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o
- ITeye 9月技术图书有奖试读获奖名单公布
ITeye管理员
ITeye
ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《NFC:Arduino、Andro