- 【PyTorch】分布式训练报错记录-ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1)
XuecWu3
pytorch分布式人工智能深度学习
最近,我在服务器上起基于PyTorch分布式框架的预训练实验,起初实验都在顺利进行,但是当我们把模型的深度与宽度调大之后,模型在训练几代之后便会出现如下的报错:WARNING:torch.distributed.elastic.multiprocessing.api:Sendingprocess41495closingsignalSIGTERMWARNING:torch.distributed.e
- kde截图工具报错
翻滚吧键盘
openSUSE服务器运维
Anerroroccurredwhiletakingascreenshot.KWinscreenshotrequestfailed:TheprocessisnotauthorizedtotakeascreenshotPotentiallyrelevantinformation:-Method:CaptureScreen-Methodspecificarguments:"eDP-2"好的,感谢您提供
- python selenium 滚动页面到定位元素
我有一个希哥
pythonselenium前端
用js语句target=driver.find_element_by_id("id")driver.execute_script("arguments[0].scrollIntoView();",target)或target=WebDriverWait(driver,3).until(expected_conditions.presence_of_element_located((By.ID,"i
- 游戏研发高效利器:SVN资源动态项目管理解决方案
还债大湿兄
游戏项目管理
一、问题背景与解决方案传统资源分发痛点:人工打包耗时:平均每次版本发布需2小时版本隔离:不同团队无法同时使用多个版本资源冲突:美术/QA/策划资源版本不一致动态管理方案优势:二、系统核心流程//完整工作流控制器voidGameResourceManager::executeFullWorkflow(){//1.凭证验证if(!validateCredentials()){showError("认证
- flowable 修改历史变量
小云小白
springbootflowable修改历史变量springboot
简洁场景:对已结束流程的变量进行改动方法包含2个类1)核心方法,flowablecommand类:HistoricVariablesUpdateCmd2)执行command类:BpmProcessCommandService然后springboot执行方法即可:bpmProcessCommandService.executeUpdateHistoricVariables(processInstan
- 相机-IMU联合标定:IMU更新频率
吃水果不削皮
视觉组合导航ROSVIOkalibr
文章目录简介⚠️IMU频率参数错误设置的影响❌相机-IMU联合标定失败:Optimizationfailed!确定IMU更新频率直接通过rostopichz检查实际频率检查IMU驱动或数据手册从bag文件统计频率在这里插入图片描述修改`update_rate`的注意事项**最终建议****常见问题**简介IMU更新频率参数在Kalibr标定中直接影响标定精度和系统性能。高频率的IMU数据能提供更密
- org.apache.rocketmq.client.consumer.DefaultMQPushConsumer.setNamespaceV2(java.lang.String) not exist
nextera-void
java-rocketmqapacherocketmq
***************************APPLICATIONFAILEDTOSTART***************************Description:Anattemptwasmadetocallamethodthatdoesnotexist.Theattemptwasmadefromthefollowinglocation:org.apache.rocketmq.sp
- 量子机器学习前沿:量子神经网络与混合量子-经典算法
软考和人工智能学堂
人工智能#深度学习Python开发经验量子计算
1.量子计算基础1.1量子比特与量子门importnumpyasnpfromqiskitimportQuantumCircuit,Aer,executefromqiskit.visualizationimportplot_histogram#单量子比特操作演示defsingle_qubit_demo():qc=QuantumCircuit(1)qc.h(0)#Hadamard门创建叠加态qc.rz
- 403错误服务器未响应,Failed to load resource: the server responded with a status of 403或者451(Forbidden) 解决办法...
Jump小酱
403错误服务器未响应
其(Forbidden)主要原因:1、网站域名解析到了服务器,但服务器未绑定此域名;2、你的网页脚本文件在当前目录下没有执行权限;3、在不允许写/创建文件目录中执行了创建/写文件操作;4、在一定时间内过多的访问此网站(一般是采集程序),被防火墙拒绝访问了;5、你的IP被列入黑名单;6、服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽;7、还有可能是dns服务器未响应;(Forbidden)
- ThreadPoolExecutor的submit正确的使用方式
项目场景:线程池的地方用的还是挺多的,一般来说用的多的还是execute方法,submit方法还是用的挺少的,一般ThreadPoolExecutor的submit方法通常用于将一个任务提交到线程池中执行。这个方法会返回一个Future对象,可以用来检查任务的执行状态,获取任务的返回值或者取消任务的执行。使用submit方法可以将任务提交到线程池中,由线程池中的线程来执行任务,从而避免了为每个任务
- 设计模式-策略模式
设计模式-策略模式前言策略模式前言由于作者做的C++开发比较多所以本文实例都以C++语言方式给出。策略模式//具体策略AclassConcreteStrategyA:publicStrategy{public:voidexecute()constoverride{std::coutstrategy;public:explicitContext(std::unique_ptrs):strategy(
- 错误:wasm streaming compile failed: CompileError: AsyncCompile: Wasm decoding failed
phymat.nico
编程语言
https://www.jianshu.com/p/d44bf2842dbahttps://www.jianshu.com/p/3948d0cd0300
- SAPGUI 里运行的 ABAP 报表,能够执行本地操作系统应用程序的技术原理
汪子熙
ABAP百科全书sapabapNetWeaver思爱普
笔者之前的文章使用ABAP弹出Windows操作系统的通知消息,介绍了运行在SAPGUI里的ABAP程序,如何触发Windows操作系统的消息提醒服务:实现方法就是使用cl_gui_frontend_services=>execute启动本地编写好的Node.js应用。在国内的SAP项目实施中,很多顾问朋友也喜欢使用cl_gui_frontend_services=>execute来启动本地操作系
- [报错] VSCODE无法识别相对路径
这么神奇
报错解决方案vscode
报错背景:在使用VSCODE进行代码运行时,明明是正确的相对路径,文件却无法被打开;报错为:无法找到对应文件;解决方法:打开VSCODE-->setting-->execute-->勾选ExecuteinfileDir选项;如下图所示:设置完毕后再执行对应语句:df=pd.read_csv(r'./Game_Data.csv',encoding='gbk')执行结果:问题解决!
- nmmqq.php?/lspc.html,Word Html 2 Formatting Objects
weixin_39944074
Thismessagewascreatedautomaticallybymaildeliverysoftware.Amessagethatyousentcouldnotbedeliveredtooneormoreofitsrecipients.Thisisapermanenterror.Thefollowingaddress(es)failed:
[email protected]
- WINUI/WPF——Button不同状态下图标切换
bianguanyue
WINUIWPF前端c#xml
开发环境VS2022.net6MVVMToolkit实现思路在状态管理器下,不同状态设置设置不同的图标和属性,以使状态能清晰分辨。代码实现以下为WINUI下Style实现示例,WPF可作参考:-->Page中Button代码如下:在VM中调用如下,button是否可用通过执行CanExecute来决定。[RelayCommand(CanExecute=nameof(CanReRegistratio
- npm 安装axios报错!
Jet_closer
vuevue.jsjavascript
在安装axios的时候,运行然后报一大堆错,比如errorin./node_modules/axios/index.jsModulebuildfailed:Error:ENOENT:nosuchfileordirectory,open'src/'或者这种UncaughtError:Modulebuildfailed:Error:EPERM:operationnotpermitted,open'\n
- Rust 项目实战:多线程 Web 服务器
UestcXiye
RustRust
Rust项目实战:多线程Web服务器Rust项目实战:多线程Web服务器模拟慢速请求使用线程池提高吞吐量初步尝试:为每个请求生成一个线程实现线程池的定义和函数声明验证new中的线程数创建存储线程的空间负责将代码从线程池发送到线程的Worker结构体通过通道向线程发送请求实现execute方法正常关机和清理在ThreadPool上实现Droptrait向线程发出停止监听作业的信号项目地址Rust项目
- Linux系统时间不对导致mysql初始化失败:Data Dictionary initialization failed.(数据字典版本验证失败)
文章目录问题描述分析**问题原因分析****解决方案****1.修正系统时间****2.检查数据目录完整性****3.重新初始化数据目录****4.调整MySQL配置****验证与后续步骤****注意事项**其他说明问题描述mysql数据初始化失败,发现系统时间是1970年,我将系统时间改成2025年,就能初始化成功了。1970-01-01T01:44:08.999267Z0[System][MY
- 【Git】[remote rejected] master -> master (pre-receive hook declined)error: failed to push some ref错误
whale fall
Git相关gitpython
错误信息![remoterejected]master->master(pre-receivehookdeclined)表示你在尝试将代码推送到远程Git仓库时,远程仓库拒绝了你的推送请求。具体来说,这个错误发生在远程仓库的"pre-receivehook"阶段,通常是因为某些预设的限制条件未能通过。pre-receivehook是一种Git钩子,它在Git服务器接收到推送时被触发,可以用于验证推
- ubuntu执行sudo apt update 出现问题
问题描述:Readingpackagelists...DoneE:Failedtofetchhttps://mirrors.ustc.edu.cn/ubuntu-ports/dists/focal/main/binary-amd64/Packages404NotFound[IP:202.38.95.110443]E:Failedtofetchhttps://mirrors.ustc.edu.cn/
- Web server failed to start. Port 8080 was already in use
嘉沐_Ran
javaspringboot
这个错误信息表明尝试启动的Web服务器失败了,原因是8080端口已经被其他程序占用。下面为你提供几种解决此问题的方法:1.查找并停止占用8080端口的程序你可以通过命令行工具(如命令提示符或PowerShell)来查找占用8080端口的进程,并将其停止。打开命令提示符或PowerShell。输入以下命令来查找占用8080端口的进程ID(PID):netstat-ano|findstr:8080命令
- python--将mysql建表语句转换成hive建表语句
呆呆不呆~
sparkpythonmysqlhivespark
1.代码importjsonimportsysimportpymysqldefqueryDataBase(tablename):#连接数据库并查询列信息conn=pymysql.connect(user='root',password='123456',host='hadoop11')cursor=conn.cursor()cursor.execute("SELECTcolumn_name,dat
- DirectX function “GetDeviceRemovedReason“ failed with DXGI_ERROR_DEVICE_HUNG (“The GPU will not resp
Roc-xb
Windows相关问题解决显卡驱动Windows
玩游戏的时候,报错:DirectXfunction“GetDeviceRemovedReason”failedwithDXGI_ERROR_DEVICE_HUNG(“TheGPUwillnotrespondtomorecommands”).GPU:“NVIDIAGeForceRTX4060”,Driver:57652.Thiserrorisusuallycausedbythegraphicsdri
- java ()->{}
CC大煊
Java基础
这种写法叫做Lambda表达式,它是随着Java8发布的最重要新特性在项目中比较常见使用到的场景是使用线程池.execute()的时候的,需要写线程执行的匿名内部类时.execute(()->{});上面的()里面写的是参数方法,隔开,{}写的则是执行的步骤,如果执行步骤只有一行也可以省略{}符号例如,无参输入打印提示文字到控制台newThread(()->System.out.println("
- python使用requests时报错requests.exceptions.SSLError: HTTPSConnectionPool
weixin_30767835
requests.exceptions.SSLError:HTTPSConnectionPool(host='www.baidu.com',port=443):Maxretriesexceededwithurl:/(CausedbySSLError(SSLError(1,u'[SSL:CERTIFICATE_VERIFY_FAILED]certificateverifyfailed(_ssl.c:
- 解决冲突! [rejected] master -> master (non-fast-forward) error: failed to push some refs to
成都犀牛
git
出现这个情况,我们可以看出来你的项目提交出现了冲突一是:你在不同机子上进行提交项目然后没有解决问题就会如此二是:新建分支后,不同的分支进行提交,这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突对于一解决办法:输入gitstatus查看当前git管理的项目资源状态,需要手动gitadd以下中的文件:然后这个时候再去push项目就会可以了对于二的解决办法,
- InfiniSynapse报错解决Error get_table_detail: Failed to execute script: getaddrinfo EAI_AGAIN infini-sql
skywalk8163
软硬件调试人工智能数据库InfiniSynapse
InfiniSynapse通过第二代LLM-NativeRAG实现了企业业务的理解,精准的Schema召回保证数据的准确性。提供专门为大模型优化的InfiniSQL语言,从而可以更加准确的生成查询语句,通过InfiniSQL引擎让人类第一次对存储在各种数据源的全模态(数据库结构化,文档,语音,视频)进行联合智能分析,并且支持海量规模。安装方法参见:超强人工智能解决方案套件InfiniSynapse
- mac M1 brew 报错处理 tar: Error opening archive: Failed to open
如果我是温帅帅
问题记录编辑器
tar:Erroropeningarchive:Failedtoopen'/Users/wenxiaoyu/Library/Caches/Homebrew/downloads/e10272a6b3f3af1a52a04edaa8964beef1b6e36f105ded54e943ea1e048dc951--ghostscript-9.54.0.big_sur.bottle.tar.gz'Error
- 解决Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile
weixin_ab
报错javamaven-compiler
解决Failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile首先检查安装的jdk版本1.8,cmd:java-version项目需求的jdk版本1.8,UTF-8UTF-81.8org.apache.maven.pluginsmaven-compiler-plugin3.6.01.81.8继续报错
- 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