- 解决: ImportError: Missing optional dependency ‘openpyxl’. Use pip or conda to install openpyxl.
白舟的博客
抠脑问题pipconda
问题:使用代码时:importpandasaspd#替换为你的Excel文件路径excel_path='path_to_your_excel_file.xlsx'#使用pandas的read_excel函数读取Excel文件df=pd.read_excel(excel_path)#将DataFrame转换为数组data_array=df.values#打印数组print(data_array)然后
- linux下全盘查找文件,linux下的查找文件命令find
大表姐绫蛮蛮
linux下全盘查找文件
find1.作用find命令的作用是在目录中搜索文件,它的使用权限是所有用户。2.格式find[path][options][expression]path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。3.主要参数[options]参数:-depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。-max
- Spring MVC请求处理(五) - 拦截器
buzzerrookie
DispatcherServlet的doDispatch方法在调用处理器处理请求前后分别调用了拦截器的前置和后置处理方法,代码如下所示:if(!mappedHandler.applyPreHandle(processedRequest,response)){return;}//Actuallyinvokethehandler.mv=ha.handle(processedRequest,respon
- SeaweedFS接口-Filer Server API
九品神元师
SeaweedFS
YoucanappendtoanyHTTPAPIwith&pretty=ytoseeaformattedjsonoutput.FilerserverPOST/PUT/Getfiles#BasicUsage://createoroverwritethefile,thedirectories/path/towillbeautomaticallycreatedPOST/path/to/file//get
- this is incompatible with sql_mode=only_full_group_by解决方案
Biubbbbbbbbiu
NavicatforMySQLsqlmysql数据库
MySQL查询时报错:thisisincompatiblewithsql_mode=only_full_group_by报错原因分析:一、原理层面这个错误发生在mysql5.7.5版本及以上版本会出现的问题:mysql5.7.5版本以上默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。二、sql层面在sql执行时,出现该原因,简单
- JDom解析xml文件的java.lang.NoClassDefFoundError问题
轻口味
常见问题xmlexceptionencodingclasslistthread
java代码为:importjava.io.IOException;importjava.util.List;importorg.jdom.Document;importorg.jdom.Element;importorg.jdom.JDOMException;importorg.jdom.input.SAXBuilder;importorg.jdom.xpath.XPath;publicclas
- this is incompatible with sql_mode=only_full_group_by解决
返回值
mysqlsqlmysql数据库
项目场景:有时候,遇到数据库重复数据,需要将数据进行分组,并取出其中一条来展示,这时就需要用到groupby语句。但是,如果mysql是高版本,当执行groupby时,select的字段不属于groupby的字段的话,sql语句就会报错。报错信息如下:Expression#1ofSELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn
- mysql 查询报错 this is incompatible with sql_mode=only_full_group_by
Wind Drift
mysqlsql数据库
InaggregatedquerywithoutGROUPBY,expression#1ofSELECTlistcontainsnonaggregatedcolumn‘smart_site.tc.company_name’;thisisincompatiblewithsql_mode=only_full_group_by原因:这个错误是由于MySQL的"ONLY_FULL_GROUP_BY"SQL
- Linux shell sed 命令详解
BugBear1989
详细的sed命令详解,请参考https://my.oschina.net/u/3908182/blog/1921761一、sed命令工作机制:每次读取一行文本至“模式空间(patternspace)”中,在模式空间中完成处理;将处理结果输出至标准输出设备;语法:sed[OPTION]...{script}[input-file]...参数说明-r支持扩展正则表达式-n静默模式-escript1-e
- MySQL解决错误this is incompatible with sql_mode=only_full_group_by…
培根芝士
SQLmysqlsql数据库
在SQL查询语句中加入groupby时报了以下错误:;badSQLgrammar[];nestedexceptionisjava.sql.SQLSyntaxErrorException:Expression#1ofSELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn'user.varieties.id'whichisnotfunc
- 股票中的情侣——配对交易
鸿鹄Max
什么是配对交易?配对交易(PairsTrading)是指八十年代中期华尔街著名投行MorganStanley的数量交易员NunzioTartaglia成立的一个数量分析团队提出的一种市场中性投资策略,,其成员主要是物理学家、数学家、以及计算机学家。GanapathyVidyamurthy在《PairsTrading:QuantitativeMethodsandAnalysis》一书中定义配对交易为
- Python中的绝对路径与相对路径详解
小桥流水---人工智能
人工智能Python程序代码机器学习算法python开发语言
对路径与相对路径Python中的绝对路径与相对路径详解什么是路径?绝对路径优点:缺点:示例:相对路径优点:缺点:示例:Python中如何使用**重点内容**:**在Python中,建议使用`os.path.join`来构建路径,这样可以确保代码在不同操作系统上的兼容性。同时,理解并正确使用绝对路径和相对路径,对于开发可移植和可维护的应用程序至关重要。**结论Python中的绝对路径与相对路径详解在
- 成功解决 -bash:***: command not found
方永
Linuxbashcentoslinux
1、获取系统环境路径[root@centos~]#echo$PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin2、修改~/.bash_profile,在最后添加环境变量[root@centos~]#cd~[root@centos~]#vim~/.bash_profile###在底部加上上面获取的路径e
- canvas插件 fabric.js 使用
lxw_powerfulCat
前端javascriptfabrichtml
fabric.js使用fabric.js是常用的canvas插件1,在项目中使用2,特殊用法①,基本设置②,画板数据的导入导出③,遮罩Pattern(引用官网案例)④,多个对象合并,并设置为fabric背景(适用于变色和更多场景)⑤,把canvas对象或者fabric对象导出为图片⑥,位置的获取思路一:(计算法,没算出来)思路二(记录位置)补充:鼠标位移留痕不规则线条在如下代码中注意事项fabri
- 通信术语
gelao18sui
networkaccessexchangesysteminterfacesignal
通信类常用的英语词汇(表记录的)插入修改添加删除InsertModify,updateAddDelete(拨号后)拨号音不断Non-stopDialTone(程序,进程)调度Dispatch(程序安装的)序列号SerialNumberSN(单板)不在位Not-in-position(单板等)插入/拔出Plug/Unplug(发货)附件,辅助设备Accessories(话务员)为分机用户代拨外线Di
- 肯定陈述句变特殊疑问句
向往有才华
这是我们简单地分类疑问句的方法。其实,我们进一步分析疑问句,就会发现深层的现象。请留意下面句子划线的部分。1.Hegetsupat7o'clock.针对本句中表达时间的部分提问,也就是相对于肯定陈述句来说,时间这部分缺了。用中文表达是:你几点起床?2.Igetupat7o'clock.针对本句中表达动作的部分提问,也就是相对于肯定陈述句来说,动作这部分缺了。用中文表达是:你在七点做什么?3.Ige
- python离线库导出及安装
一只迷茫的汪
菜鸟python
1,导出离线库列表:pipfreeze>requirement.txt2,导出离线库:pipdownload-dDIR-rLISTDIR为离线库导出路径,LIST为离线库列表路径3,安装pipinstall--no-index--find-links=DIR-rPATH其中DIR为离线库文件夹路径,PATH为离线库列表文件路径单个安装:pipinstallxxxx.whl
- Java实现建造者模式和源码中的应用
coffee_baby
JAVA实现设计模式java建造者模式开发语言
Java实现建造者模式(BuilderPattern)文章目录Java实现建造者模式(BuilderPattern)案例:汉堡制作建造者模式的核心角色代码实现:汉堡制作内部类实现:Step1:产品类BurgerStep2:指挥者DirectorStep3:客户端代码结果总结抽象类实现Step1:产品类BurgerStep2:抽象的Builder类Step3:具体的Builder类Step4:指挥者
- 轻松搞定Python多版本共存:小白也能轻松上手的配置指南
CongSec
电脑各种疑难杂症python服务器linux
轻松搞定Python多版本共存:小白也能轻松上手的配置指南文章目录轻松搞定Python多版本共存:小白也能轻松上手的配置指南1.引言2.为什么需要Python多版本共存?3.准备工作:下载安装不同版本的Python4.配置环境变量:实现多版本Python的关键步骤1:修改Python可执行文件名步骤2:配置系统环境变量PATH步骤3:验证配置是否成功5.PIP命令的使用1.引言Python作为一种
- http协议详解
梦里有阳光
#测试总结网络协议http软件测试http响应码http特征
文章目录http协议的基本特征http协议解析一、httprequest1、requestline(1)requestmethod(2)requestpath(3)protocol/version2、requestheaders3、requestbody二、httpresponse1、responseline(1)protocol/version(2)responsecode(3)response
- 第五章 SqlSession 的创建过程
flying jiang
MyBatis3源码深度解析javatomcatmybatis
在MyBatis3中,SqlSession的创建过程涉及到对MyBatis配置文件的解析,这通常是通过XPath(XMLPathLanguage)来完成的。XPath是一种在XML文档中查找信息的语言,MyBatis使用它来解析配置文件(如mybatis-config.xml)中的元素和属性。以下是SqlSession创建过程中XPath使用的简要概述:读取配置文件:MyBatis首先需要读取其配
- Python合成gif动图
北山杉林
python开发语言
这里主要用到一个库:imageioimportosimportimageiofig_path="path_to_figure/"all_file=os.listdir(home_path)all_file.sort()images=[]foriinall_file:file_name=os.path.join(fig_path,i)img=imageio.imread(file_name)imag
- python gif压缩_怎么用python把多个图片变成gif 格式?
weixin_39778393
pythongif压缩
展开全部解决这个问题需要用到PIL库fromPILimportImageimportos第一步获得所有图像文件列表,过滤不需要扩展名filelist=[]path=os.getcwd()files=os.listdir(path)forfinfiles:if(os.path.isfile(path+'/'+f)):if(os.path.splitext(f)[1]==".BMP"):filelis
- 【已解决】onnx无法找到CUDA的路径
烟花节
已解决人工智能深度学习pythonpip
报错RuntimeError:D:\a\_work\1\s\onnxruntime\python\onnxruntime_pybind_state.cc:857onnxruntime::python::CreateExecutionProviderInstanceCUDA_PATHissetbutCUDAwasntabletobeloaded.Pleaseinstallthecorrectvers
- 使用 MongoDB 构建 AI:Patronus 如何自动进行大语言模型评估来增强对生成式 AI 的信心
MongoDB 数据平台
AI应用客户案例人工智能mongodb
大语言模型可能不可靠,这几乎算不上头条新闻。对于某些用例,这可能会带来不便。而对于其他行业,尤其是受监管行业,后果则要严重得多。于是,业内首个大语言模型自动评估平台PatronusAI应运而生。PatronusAI由MetaAI和MetaRealityLabs的机器学习专家创立,旨在增强企业对生成式AI应用程序的信心,在塑造值得信赖的AI生态方面处于领先地位。Patronus联合创始人兼首席技术官
- 【软考】设计模式之抽象工厂模式
王佑辉
软考设计模式软考
目录1.说明2.应用场景3.结构图4.构成5.适用性6.优点7.缺点8.java示例1.说明1.提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。2.抽象工厂模式(AbstractFactoryPattern)是一种创建型设计模式。3.抽象工厂模式用于系统的产品族,而不仅仅是一个等级结构;一个等级的抽象类只能创建一个等级的产品,而抽象工厂模式能创建多个等级的产品。2.应用场景1.
- go.path/filepath — 兼容操作系统的文件路径操作
Generalzy
GOgolang开发语言后端
path/filepath包涉及到路径操作时,路径分隔符使用os.PathSeparator。不同系统,路径表示方式有所不同,比如Unix和Windows差别很大。本包能够处理所有的文件路径,不管是什么系统。注意,路径操作函数并不会校验路径是否真实存在。目录path相对路径和绝对路径funcIsAbsfuncAbs路径的切分和拼接funcSplitfuncJoinfuncSplitList解析路径
- 正则表达式语法、运算符优先级
weixin_54668000
mvc
正则表达式(regularexpression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。例如:runoo+b,可以匹配runoob、runooob、runoooooob
- freemarker模板学习笔记
tryCbest
freemarkerjavaspringboot
文章目录freemarker常用指令if-elseif-else指令switch,case,default,break指令list,else,items,sep,break指令指令语法指令指令指令指令include指令基础知识带*的pathimport指令assign指令自定义指令参数嵌套内容宏和循环变量freemarker内置函数字符串内置函数数字内置函数哈希表内置函数序列内置函数循环变量内置函
- 深度学习目标检测入门COCO数据集
日暮途远z
深度学习目标检测人工智能
常见数据集类型:COCO数据集:Pytorch加载COCO数据集:COCO数据集的读取COCO_dataset=torchvision.datasets.CocoDetection(root="./dataset/val2017",annFile="./instances_val2017/instances_val2017.json")root(strorpathlib.Path)–Rootdir
- 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