- 一文看懂Qt多线程
旺代
qt开发语言多线程
目录一、QThread类1.常用方法2.信号3.注意事项二、多线程实现方式1.继承QThread类并重写run函数2.继承QObject类并使用moveToThread()3.使用QRunnable和QThreadPool4.使用QtConcurrent三、线程同步1.互斥锁(QMutex)2.读写锁(QReadWriteLock)3.条件变量(QWaitCondition)4.信号量(QSema
- Protobuf介绍
旺代
protobufc++
目录一、关于ProtobufProtobuf的优势二、Protobuf的使用步骤三、Protobuf语法1.文件声明2.包名声明3.消息体定义4.数据类型5.枚举类型6.map类型7.oneof8.扩展四、完整代码一、关于ProtobufProtocolBuffers(Protobuf)是一种由Google开发的高效、跨语言的数据序列化格式。Protobuf使用.proto文件来定义数据结构,这些
- clamav编译报错
guoguangwu
安全debian
Ubuntu编译clamav时报如下错误:CMakeErrorat/usr/local/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230(message):CouldNOTfindLibcheck(missing:LIBCHECK_INCLUDE_DIRLIBCHECK_LIBRARY)CallStack(mostre
- 使用Ambassador容器构建docker容器集群
安心Smile
dockerDocker技术入门与实战docker容器集群Ambassador容器
当两个Docker容器在同一主机(或虚拟机)时,可以通过--link命令让两者直接互相访问。如果要跨主机实现容器互联,则往往需要容器知道物理主机的ip地址。利用Ambassador容器机制,可以让互联的容器无需知道所在物理主机的IP地址即可互联。基本场景Ambassador容器也是一种docker容器,她在内部提供了转发服务。如下图。当客户端容器要访问服务器时,直接访问客户端Ambassador容
- 6.3 利用数据卷容器迁移数据
安心Smile
dockerDocker技术入门与实战备份恢复迁移数据卷
利用数据卷容器来备份、恢复、迁移数据卷可以利用数据卷对其中的数据进行进行备份、恢复和迁移。备份首先使用--volumes-from标记来创建一个加载dbdata容器卷的容器,并从主机挂载当前目录到容器的/backup目录。命令如下:$sudodockerrun--volumes-fromdbdata-v$(pwd):/backupubuntutarcvf/backup/backup.tar/dbd
- 5.3-docker仓库配置文件
安心Smile
dockerdocker仓库配置dockerregistry
Docker的Registry利用配置文件提供了一些仓库的模板(flavor),用户可以直接使用它们来进行开发或生产部署。模板若通过docker-registry源码安装,在config_sample.yml文件中,该文件位于docker-registry源码目录下,可以看到一些现成的模板段:common:基础配置local:存储数据到本地文件系统s3:存储数据到AWSS3中dev:使用local
- 3-3.4 删除镜像
安心Smile
dockerDocker技术入门与实战删除docker镜像
rmi命令用于删除镜像。若不指定标签,则删除latest标签dockerrmi[选项]/:选项:-f、--force=false强制删除镜像--no-prune=false不删除不带标签的父级镜像1.使用镜像标签删除镜像$dockerrmihello-world$dockerrmiuser/hello:latest$dockerrmi10.0.217.122:6666/hello:latest#远
- Amazon ECS 批处理参考架构:高效处理大规模数据
芮逸炯Conqueror
AmazonECS批处理参考架构:高效处理大规模数据ecs-refarch-batch-processingAreferencearchitectureforhandlingbatchprocessingworkloadsusingAmazonECS.项目地址:https://gitcode.com/gh_mirrors/ec/ecs-refarch-batch-processing在当今数据驱动
- Ansible详细学习笔记和实战案例
沉淅尘
Linux#Ansible运维Ansible自动化linux
Ansible详细学习笔记和实战案例(容易忘记的内容)一、主机清单ansiblelocalhost-mcommand-a"ls"##主机列表文件cat/etc/ansible/hosts主机描述形式:主机IP地址和主机名##blue.example.com##192.168.100.1散列主机列表和主机组列表散列主机列表主机组列表嵌套主机组列表##blue.example.com##[webser
- RTOS
weixin_34174422
操作系统嵌入式
这里参考wiki的英文,加上自己的理解翻译下RTOS的定义:Areal-timeoperatingsystem(RTOS)isanoperatingsystem(OS)intendedtoservereal-timeapplicationprocessdataasitcomesin,typicallywithoutbufferingdelays.Processingtimerequirements
- 正确解决java.lang.NoClassDefFoundError异常的有效解决方法
飞码创造者
解决bugjava开发语言bug
正确解决java.lang.NoClassDefFoundError异常的有效解决方法文章目录报错问题报错原因解决方法报错问题java.lang.NoClassDefFoundError异常报错原因java.lang.NoClassDefFoundError是Java运行时错误的一种,它表明
- Caused by: java.lang.ClassNotFoundException: org.springframework.core.NativeDetector
总是幸福的老豌豆
日常工作总结javapython开发语言
目录前言错误信息如下:错误说明前言最近搭建Springboot-Demo一顿操作后报错错误信息如下:ConnectedtothetargetVM,address:'127.0.0.1:49569',transport:'socket'Exception
- kafka开启kerberos
蘑菇丁
debian运维
一、基本环境准备创建票据创建Kerberos主体(Principal):使用kadmin.local或kadmin命令为Zookeeper和Kafka服务创建Kerberos主体。例如:注意有几台机器创建几个kadmin.local-q"addprinc-randkeyzookeeper/
[email protected]"kadmin.local-q"addprinc-rand
- JAVA NoClassDefFoundError:
dxm1986
javajava运维
NoClassDefFoundError:我所遇到出现以上错误的情况,有如下三种:1JAR重复引入,版本不一致导至2打程序版本时,没有把关联类打出去(这种情况一般是)java.lang.nosuchmethoderror3还有一种情况是A引用B时,B初始化失败时也会导致以上的错误出现。以上第三种情况,我们好几个人花了一个晚上才把问题搞清楚,A类引用B类,B类读取一个**.properties程序中
- docker部署Java8运行环境
Json____
服务器docker容器java8java运行环境
Docker是一个开源的容器化平台,旨在简化应用程序的创建、部署和管理。它基于OS-level虚拟化技术,通过将应用程序和其依赖项打包到一个称为容器的标准化单元中,使得应用程序可以在任何环境中快速、可靠地运行。Docker的优势有以下几个方面:轻量级和快速:Docker容器与主机共享操作系统内核,因此比传统虚拟化技术更轻量级且启动更快。可移植性:Docker容器可以在任何支持Docker的主机上运
- vscode+cmake的STM32单片机调试开发环境
南波儿万
bcosvscode单片机
1.概述说实话我不是非常喜欢使用KeilMDK进行嵌入式开发。但是,对于STM32等单片机来说MDK的优秀的在线调试功能总是让人喜欢。最让我不喜欢的是MDK的编辑器以及配色。这让我不停的尝试使用VisualStudioCode进行编辑代码然后使用MDK进行编译和调试,就这样我在两个IDE之间来回切换。于是,我进一步厌烦了这种开发方式。于是我决定用cmake来管理和编译工程,在VisualStudi
- ansible批量生产kerberos票据,并批量分发到所有其他主机脚本
蘑菇丁
ansiblehadoop学习笔记eclipsejavaide
-name:ConfigureKerberosforHadoopUsershosts:hadoop_serversbecome:nogather_facts:novars:kerberos_server:hadoop1.xuexi.comkeytab_file_path:/home/hadoop/keys/hadoop.keytabprincipals:-nn/-dn/-yarn/-starroc
- soular安装教程
城南花开时
TikLabsoular统一帐号中心
soular是TikLabDevOps工具套件的统一帐号中心,包含统一的帐号管理、登录认证及工作台聚合等功能模块,通过一套帐号、一个台面可访问TikLab工具链的所有系统,产品简洁易用、开源免费。1.安装安装soular非常简单,只需几步,你就可以在本地或服务器上运行soular,并且支持Windows、Mac、Linux、docker等操作系统。1.1Linux安装下载,下载地址:点击Linux
- ORB-SLAM2源码逐行解析系列(二):追踪线程
LDST_CSDN
计算机视觉人工智能自动驾驶
1.Tracking类(1)Tracking类的定义///Examples/Monocular/include/Tracking.hclassTracking{public:/***@brief构造函数**@param[in]pSys系统实例*@param[in]pVoc字典指针*@param[in]pFrameDrawer帧绘制器*@param[in]pMapDrawer地图绘制器*@param
- 使用python实现mongodb的操作
qq_44801116
pythonmongodb开发语言
一、示例frompymongoimportMongoClientfromurllib.parseimportquoteclasstest_mongo:def__init__(self,host,port,user,pwd,db):self.host=hostself.port=portself.user=userself.pwd=pwdself.db=dbdefbuild_conn_mongo(s
- select获取选择的值
Bunury
JavaSript前端
需要添加change事件select元素.selectedIndex:获取选中索引号select元素.options[index].value:获取选择的值第一个option第二个optionvarmyselect=document.getElementById('select')myselect.addEventListener('change',e=>{varindex=myselect.se
- Java个人技术知识点总结(业务场景篇)
撸码到无法自拔
业务场景篇Spring的概述Spring是完全面向接口的设计,降低程序耦合性,主要是事务控制并创建bean实例对象。在ssh整合时,充当黏合剂的作用。IOC(InversionofControl)控制反转/依赖注入,又称DI(DependencyInjection)(依赖注入)IOC的作用:产生对象实例,所以它是基于工厂设计模式的SpringIOC的注入通过属性进行注入,通过构造函数进行注入,注入
- 【某大厂一面】ThreadLocal如何实现主子线程之间的数据同步
冰糖心158
2025Java面试系列java
ThreadLocal是Java中用于实现线程本地存储的类,它为每个线程提供独立的变量副本,确保线程间的数据隔离。然而,ThreadLocal本身并不直接支持主子线程之间的数据同步。要实现主子线程之间的数据同步,可以结合InheritableThreadLocal或其他机制。1.使用InheritableThreadLocalInheritableThreadLocal是ThreadLocal的子
- 【超详细教程(附源码)】基于 ARM Cortex-M3 处理器与 FPGA 的实时人脸检测 SOC
Walker_Lau
armfpga人脸识别人工智能机器学习
原创作品,转载请联系作者并注明出处:https://github.com/WalkerLau源码地址:https://github.com/WalkerLau/DetectHumanFaces本项目是第四届集成电路创新创业大赛(ARM杯)的参赛作品,包含了详细的技术文档、软件配置教程以及完整的代码。项目描述我们采用ARMCortex-M3软核及FPGA构成了轻量级的实时人脸检测SOC,通过ov56
- 62.异步编程+Prism
军训猫猫头
开发语言c#wpfui
为什么不需要在构造函数中初始化了?privateICommand_fetchUserInfoCommand;publicICommandFetchUserInfoCommand=>_fetchUserInfoCommand??=newDelegateCommand(ExecuteFetchUserInfoAsync);publicMainWindowViewModel(){//无需在构造函数中显式
- 《基于FPGA的Cortex-M3软核基本SOC设计及外设开发详解》
HWxuYnO
fpga开发程序人生
基于FPGA的Cortex-M3软核基本SOC设计实现基于FPGA的Cortex-M3软核基本SOC,系统外设包括GPIO和UART串口。开发基于vivado2019.2和vitis,理论上可适用于任何版本的vivado,并且附带本人编写的详细开发文档,能够快速完成工程的移植。在该工程基础上可进一步开发更多的功能。ID:42100675319624107小小读者ok基于FPGA的Cortex-M3
- 实现镜像管理轻松搞定:Docker 仓库管理详解
技术蜜糖罐
dockerdockereureka容器运维云原生开发语言
想象一下,你正在开发一个新的应用程序,但你并不希望每个成员都要重新构建整个应用程序。这时,Docker仓库就是你的救星。Docker仓库是一个集中存储、管理和分享Docker镜像的地方,使得团队成员可以轻松地拉取、推送和分享镜像。本文将深入探讨Docker仓库管理的各个方面,包括常用命令、示例、应用场景、注意事项和总结,帮助你更好地利用Docker仓库管理镜像,提高应用的开发效率和部署可靠性。常用
- StarRocks
Z_z_l丶
学习java
目录部署下载解压配置启动FE节点配置启动BE节点查询数据源Catalog概述DefaultcatalogJDBCcatalog查询外部数据外部表DataCache缓存介质缓存淘汰机制开启DataCacheFE配置BE配置部署下载解压其他系统参数配置:建议关闭交换区,消除交换内存到虚拟内存时对性能的扰动。echo0|sudotee/proc/sys/vm/swappiness建议使用Overcomm
- maven
两斤半
Androidmavenpythonjava
mavenLocal()启用本地mavenpluginManagement{repositories{mavenLocal()--------------------}}dependencyResolutionManagement{repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)repositories{mavenLocal(
- docker-mirror: 简化Docker镜像管理的利器
ivwdcwso
运维docker容器运维镜像云原生
在当今容器化技术迅速发展的环境中,高效管理Docker镜像已成为DevOps工程师的一项关键技能。本文将为您介绍一个强大而简洁的工具-docker-mirror,它能够显著简化镜像拉取和私有仓库管理的流程。背景介绍docker-mirror是一个开源工具,旨在帮助用户轻松地拉取镜像并将其转存到私有镜像仓库中。这大大减少了重复的运维工作,提高了效率。在使用过程中,我们收到了许多用户的积极反馈和优化建
- 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