- python抓包与解包_Python—网络抓包与解包(pcap、dpkt)
weixin_39691055
python抓包与解包
pcap安装[root@localhost~]#pipinstallpypcap抓包与解包#-*-coding:utf-8-*-importpcap,dpktimportre,threading,requests__black_ip=['103.224.249.123','203.66.1.212']#抓包:param1eth_name网卡名,如:eth0,eth3。param2p_type日志捕
- CSV指南:Python程序获取大型CSV文件行数
孤独打铁匠Julian
笔记经验分享python
本指南提供了几种使用Python来获取大型CSV文件行数的方法,并解释了每种方法的适用场景。方法1:使用csv.reader处理复杂CSV文件当你的CSV文件中包含多行字段(即某些字段的值中包含换行符)时,使用csv.reader是一个可靠的选择,因为它能够正确处理这些复杂情况。这个方法适用于大多数大小的CSV文件,但是对于非常大的文件,读取整个文件可能会占用较多的时间和内存。对于极大的文件,考虑
- 高阶SQL语句(二)
www.mcb.com
数据库mysql
一子查询也被称作内查询或者嵌套查询,是指在一个查询语句里面还嵌套着另一个查询语句。子查询语句是先于主查询语句被执行的,其结果作为外层的条件返回给主查询进行下一步的查询过滤。①子语句可以与主语句所查询的表相同,也可以是不同表②子语句中的sql语句是为了,最后过滤出一个结果集,用于主语句的判断条件③in:将主表和子表关联/连接的语法环境准备:mysql>usekgc_ky35;Readingtable
- C语言pthread互斥锁(mutex)和可重入锁(递归锁recursive)的演示
嫦娥妹妹等等我
开发语言c语言
实验理论参考:1一旦共享资源被互斥锁锁定,则其余线程想访问共享资源必须等待,直到锁被释放2使用normal属性的互斥锁,一旦发生重入逻辑,则阻塞,成为死锁需要将属性改为recursive成为可重入的,递归的代码功能:1命令行传参1model=1演示异步未上锁之乱序演示count在数据竞态(RaceCondition)下的错误值2命令行传参2model=2演示使用互斥锁后线程的执行顺序演示count
- Web前端Html的表单
任家伟
前端html
表单的关键字:form标签表示一个表单区域action=“后端地址”method=“提交数据方式:get/post”input单行输入框type=“text”文本name=“定义名称名字自定义”向后端提交的键readonly=“readonly”只读,不可修改,但是可以提交disabled=“disabled”禁用组件不可修改,不能提交type=“password”密码框type=“radio”单
- 【Linux】PyCharm无法启动报错及解决方法
不是AI
python软件操作Linuxlinuxpycharm运维
一、问题描述如图,笔者试图在Ubuntu18.04虚拟机上运行PyCharm开发工具(已安装,安装过程可以参考我的博客Ubuntu安装PyCharm),无法启动,报错:CannotconnecttoalreadyrunningIDEinstance.Exception:Process2574isstillrunning.报错截图如下:二、解决方法通过报错信息看出,出于某种原因,进程(PID为257
- OpenCV基础demo
苍天饶过谁?
OpenCV学习opencv人工智能计算机视觉C++
一、读取图像//图片路径QStringappPath=QCoreApplication::applicationDirPath();QStringimagePath=appPath+"/sun.png";//读取图像cv::Matimg=cv::imread(imagePath.toStdString());//IMREAD_GRAYSCALE灰度图IMREAD_UNCHANGED具有透明通道if
- OpenCV图像翻转和旋转
苍天饶过谁?
OpenCV学习opencv人工智能计算机视觉C++
QStringappPath=QCoreApplication::applicationDirPath();imagePath=appPath+"/A.jpg";img=cv::imread(imagePath.toStdString());if(img.empty())return;Matdst;flip(img,dst,0);//上下翻转imshow("flip0",dst);flip(img
- RNA-seq数据分析_未完成
子诚之
组学数据分析数据分析
目录基础分析1.质控(reads)2.比对3.质控(alignment)4.定量5.样本合并差异表达1.质控(cohort)2.差异分析3.可视化(差异)富集分析肿瘤免疫1.免疫组库2.免疫浸润3.免疫响应4.新抗原预测微生物组参考本文主要覆盖了肿瘤样本bulkRNA-seq数据常见的分析步骤,并从实践角度出发,较为具体地介绍了每一步骤依赖的工具和数据集。另外,尽管本文适用于肿瘤样本,但其中的一些
- 并发环境下wait与sleep的区别
才艺のblog
java数据库
1、归属问题sleep是Thread类的静态方法而wait是object的成员方法2、唤醒问题执行sleep(long)和wait(long)的线程都会在等待相应毫秒后醒来wait(long)/wait()可以被notify()/notifyAll()唤醒,但sleep(long)只会等待时间结束3、锁释放问题wait方法的调用必须先获取wait对象的锁,而sleep则无此限制wait方法执行后会
- opencv 十八 python下实现0缓存掉线重连的rtsp直播流播放器
摸鱼的机器猫
opencv实战opencvpython缓存
使用opencv打开rtsp视频流时,会因为网络问题导致VideoCapture掉线;也会因为图像的后处理阶段耗时过长导致opencv缓冲区数据堆积,从而使程序无法及时处理最新的数据。为此对cv2.VideoCapture进行封装,实现0缓存掉线重连的rtsp直播流播放器,让程序能一直处理最新的数据。代码实现fromcollectionsimportdequeimportthreadingimpo
- freertos3
地中海的小岛
java开发语言
CMSIS的作用:1.提供了接口标准,便于移植和管理。2.提供了很多第三方固件,便于业务开发。3.因为统一了接口,使底层硬件和上层应用耦合降低,更换硬件平台时只需开发人员改变底层硬件的驱动即可,上层业务应用程序无需做改动。创建任务函数:osThreadId_tosThreadNew(osThreadFunc_tfunc,void*argument,constosThreadAttr_t*attr)
- SWIFT介绍和学习(简单入门级别)
weixin_43870390
swift学习开发语言
SWIFT介绍和学习SWIFT功能介绍SWIFT快速使用LLM及LLM最佳实践(LLM系列文章)部署指南vllm非官方介绍资料项目地址:https://github.com/modelscope/swift任何有疑惑的地方,参考项目首页readme寻求答案SWIFT功能介绍SWIFT(可扩展的轻量级微调基础设施)是一个可扩展的框架,旨在促进轻量级模型的微调和推理。它通过采用参数高效、内存高效和时间
- 基于 JMeter API 开发性能测试平台
咖啡加剁椒⑦
软件测试jmeter功能测试软件测试自动化测试程序人生职场和发展
背景:JMeter是一个功能强大的性能测试工具,若开发一个性能测试平台,用它作为底层执行引擎在合适不过。如要使用其API,就不得不对JMeter整个执行流程,常见的类有清楚的了解。常用的JMeter类和功能的解释:TestPlan类:代表一个测试计划,它是性能测试的顶级元素。您可以使用它来设置全局的测试属性,如测试名称、线程组、监听器等。ThreadGroup类:代表线程组,它定义了并发执行的线程
- Java学习笔记:atomic的实现原理?
曲钟人散
在多线程的场景中,我们需要保证数据安全,就会考虑同步的方案,通常会使用synchronized或者lock来处理,使用了synchronized意味着内核态的一次切换。这是一个很重的操作。有没有一种方式,可以比较便利的实现一些简单的数据同步,比如计数器等等。concurrent包下的atomic提供我们这么一种轻量级的数据同步的选择。classMyThreadimplementsRunnable{
- RN 生命周期
小如99
先给一波总结:Props属性相当于OC中的ReadOnly,只读属性!!state状态每个组件有一个系统的setState方法,用来改变状态,而且会刷新界面!调用Render()函数!!componentWillMount相当于OC中的ViewWillAppearRN的生命周期方法已经执行顺序如下:componentWillMount(){AlertIOS.alert('我要挂啦');}rende
- opencv | 计算轮廓的质心
DdddJMs__135
分享opencv人工智能计算机视觉
#include#include#include#includeusingnamespacecv;usingnamespacestd;Matsrc;Matsrc_gray;intthresh=30;intmax_thresh=255;intmain(){src=imread("2.jpg",CV_LOAD_IMAGE_COLOR);cvtColor(src,src_gray,CV_BGR2GRAY
- 【C++】学习记录--Thread线程库的使用
KK虫
c++
线程是进程的一个执行路径,是CPU调度与分配的的最小单元。创建线程需要一个可调用的函数或者函数对象作为线程的入口。C++11中可以通过函数指针/函数对象或者lambda表达式实现。基本语法#includethreadt(function_name,args...)'function_name'为程序入口点'args'为传递给函数的参数线程创建后,可以使用't.join*()'等待线程完成,或使用'
- spring cloud gateway k8s优雅启停
luffy_1993
kubernetes容器云原生
通过配置readiness探针和preStophook,实现优雅启动和停止(滚动部署)1.k8s工作负载配置readinessProbe:httpGet:path:/datetimeport:8080scheme:HTTPinitialDelaySeconds:30timeoutSeconds:1periodSeconds:30successThreshold:1failureThreshold:
- CUDA——内存
UCAS_HMM
CUDAc++c语言性能优化
内存形式静态全局内存#include#include__device__floatdevData;//-GPU静态变量(所有设备代码均可见,主机代码不允许直接访问)__global__voidcheckGlobalVariable(){printf("threadIdx.x=%ddevData=%0.2f\n",threadIdx.x,devData);devData+=2.0f;}intmain
- JAVA线程究竟有几种状态?
KK_crazy
java线程状态数据库面试javatomcat开发语言
线程状态全套面试题已打包2024最全大厂面试题无需C币点我下载或者在网页打开线程的状态,在你*度的过程中,你会发现,答案有5种,6种,甚至还有7种的,那么究竟有几种状态?准确答案就是6种在编译器JDK1.5以后的环境下,打开Thread进入源码看看:*Athreadstate.Athreadcanbeinoneofthefollowingstates:*一个线程,有以下几种状态**{@link#N
- mpyboard开发板使用REPL
原子星
pythonmicropython物联网开发单片机嵌入式硬件python
文章目录WindowsMacOSXLinux使用REPL提示符重启开发板REPL是指交互式解释器(ReadEvaluatePrintLoop),就是一种命令输入交互模式,可以使用命令行的方式与pyboard进行交互。REPL是测试代码和运行命令最简单的方式之一,也可以使用REPL编写main.py的代码。要使用REPL必须先把pyboard连接到电脑USB,不同的操作系统操作会略有区别。Windo
- 【划分数据集】stratifiedShuffleSplit分层抽样
芜湖xin
python
importpandasaspdfromsklearn.model_selectionimportStratifiedShuffleSplit#分出10%作为独立测试集ss=StratifiedShuffleSplit(n_splits=1,test_size=0.1,random_state=42)data=pd.read_csv("F:\\PaperCode\\Mypaper_python_c
- 【C语言】遍历目录树
00000928
编程#C语言#linuxc语言算法开发语言
在Linux环境下,如果编写程序且需要通过函数接口来遍历目录树,可以考虑使用以下几个常用的调用:1.opendir()/readdir()/closedir():这是POSIX标准定义的函数,用于遍历目录。`opendir()`用于打开一个目录,`readdir()`用于读取目录内的项,`closedir()`用于关闭目录。遍历目录时,通常会对获取的每一个条目进行判断,以确定它是文件还是目录。对于
- mysql 查询阻塞
撸其修远兮
数据库mysql
SELECTp2.`HOST`被阻塞方host,p2.`USER`被阻塞方用户,r.trx_id被阻塞方事务id,r.trx_mysql_thread_id被阻塞方线程号,TIMESTAMPDIFF(SECOND,r.trx_wait_started,CURRENT_TIMESTAMP)等待时间,r.trx_query被阻塞的查询,l.lock_table阻塞方锁住的表,m.`lock_mode`
- ThreadLocal本质及脏数据、内存泄漏问题
王侦
1.WeakReference的referent指向ThreadLocal的原因ThreadLocal作为WeakReference的referent,只要ThreadLocal对象引用被置为null,Entry的key(referent)就会在下一次YGC时被回收。在使用ThreadLocal的get()和set()时,会将失效的Entry(key==null)的value置为null,使val
- Dialogues---送礼物,又熬夜了
快乐有你_1ec8
挑选礼物Army'sbirthdayiscomingup.I'mgoingtobuyherapresent.Me,too.Whataboutsendingheragifttogether?Thatwouldbegreat.一起去商场挑选礼物吧。Ilikethisbook.Itispopular.It'stooserious.Shedoesn'tlikereading.Howaboutthispai
- pyflink1.18.0 报错 TypeError: cannot pickle ‘_thread.lock‘ object
Thomas2143
总结pyflink
完整报错Traceback(mostrecentcalllast):File"/Users//1.py",line851,inds1=my_datastream.key_by(lambdax:x[0]).process(MyProcessFunction())#返回元组即:f0f1f2三列File"/Users/thomas990p/bigdataSoft/minicondaarm/minicon
- 英语精读笔记.新概念第三册(5)The facts确切数字
英文研习社
文章原文:Editorsofnewspapersandmagazinesoftengotoextremestoprovidetheirreaderswithunimportantfactsandstatistics.Lastyearajournalisthadbeeninstructedbyawell-knownmagazinetowriteanarticleonthepresident'spal
- 牛客刷题 | HJ45 名字的漂亮度,HJ48 从单向链表中删除指定值的节点
Huiwen_Z
笔试刷题python开发语言
HJ45名字的漂亮度题目链接:名字的漂亮度_牛客题霸_牛客网(nowcoder.com)思路:统计单词中每个字母出现的次数,依次按出现频率从大到小分配漂亮度。代码importsysn=int(sys.stdin.readline().strip())strings=[]foriinrange(n):strings.append(sys.stdin.readline().strip())defbea
- 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