- c#:TCP服务端管理类
妮妮学代码
c#tcp/ipjava
TCP客户端连接多个服务端的类1.架构图2.创建TCP客户端与服务端通信的工具类注:TcpClientAsyncTool类中是客户端连接服务端的,TcpClient实质是Server,套用服务端连接客户端的,使用过程中自行修改名称,本案例暂未修改。连接使用异步操作,其余为同步执行的。publicclassTcpClientAsyncTool{privateTcpClient_tcpClient;p
- C#软件开发规范:从代码到实践的全面指南
jie sherry
本文还有配套的精品资源,点击获取简介:《C#经典软件开发规范》详细介绍了在企业中实行软件开发的最佳实践,包括编码、设计、文档和测试等方面。该规范着重于提升代码质量、可维护性和团队效率。关键知识点包括命名规范、注释规范、代码结构、异常处理、错误检查、代码简洁性、单元测试、版本控制、设计模式、代码审查、性能优化、并发与多线程、日志记录、安全性和持续集成/部署(CI/CD)。遵循这些规范有助于创建健壮的
- Python FastAPI 与传统 Web 框架的性能对比
Python编程之道
pythonfastapi前端ai
PythonFastAPI与传统Web框架的性能对比关键词:FastAPI、性能对比、Web框架、异步编程、Python、Django、Flask摘要:本文深入探讨了FastAPI与传统PythonWeb框架(如Django和Flask)在性能方面的差异。我们将从架构设计、请求处理模型、并发能力等多个维度进行对比分析,并通过基准测试数据展示实际性能差异。文章还将提供代码示例和性能优化建议,帮助开发
- 进阶向:基于Python的智能客服系统设计与实现
智能客服系统开发指南系统概述智能客服系统是人工智能领域的重要应用,它通过自然语言处理(NLP)和机器学习技术自动化处理用户查询,显著提升客户服务效率和响应速度。基于Python的实现方案因其丰富的生态系统(如NLTK、spaCy、Transformers等库)、跨平台兼容性以及易于集成的特点,成为开发智能客服系统的首选。系统架构系统核心包括两个主要功能模块:1.API集成模块负责连接各类外部服务,
- bj某dongfang医院js 反混淆 分析结果
yyds970108
javascript开发语言ecmascript算法
没啥特别的手段,就是反混淆,动态调试+替换constCryptoJS=require('crypto-js');constforge=require('node-forge');constaxios=require('axios');const{v4:uuidv4}=require('uuid');constqs=require('querystring');functioncreateRando
- 自己开发I2C Bootloader -上位机开发篇
EE工程师
嵌入式系统pythonstm32单片机
上位机脚本开发 在芯片原厂大部分工程师选择的脚本语言依然是Python,Python有哪些开发优势这里就不再讨论了,这里我们只陈述一下上位机的开发环境,作者的开发环境是VSCode+Anaconda。脚本内容也没有什么好说的,一看就懂,比较简单。唯一值得提醒的是本项目的上位机开发需要多注意*Write_DataBytes_To_Serial_Port(self,DataBytes):*函数的实现
- Django `transaction.atomic()` 完整使用指南
言之。
pythondjango数据库python
目录#概述#基本用法#事务一致性保障机制#破坏一致性的常见场景#高级用法#最佳实践#诊断与调试#附录概述transaction.atomic()是Django提供的数据库事务管理工具,用于确保一系列数据库操作要么全部成功提交,要么全部回滚,维护数据的一致性。基本用法1.作为上下文管理器fromdjango.dbimporttransactiondefview_func(request):witht
- Django Ninja
言之。
pythondjangopython后端
DjangoNinja是一个用于Django框架的快速、现代化的API开发库,旨在简化构建高性能、类型安全的RESTfulAPI。它受到FastAPI的启发,结合了Django的强大功能和FastAPI的简洁与现代化设计,特别适合需要快速开发、易于维护且具有强类型支持的API项目。以下是对DjangoNinja的详细介绍,涵盖其核心特质、功能、设计理念以及使用场景,力求提供深刻而本质的洞察。1.D
- Spring AI-15.Spring AI API
程序员勇哥
人工智能(AI)Java全套教程SpringAI人工智能springjavaSpringAI
SpringAI-15.SpringAIAPISpringAIAPI涵盖了广泛的功能。每个主要功能都在其专门的部分中详细介绍。以下是可用的关键功能概述:简介SpringAIAPI提供跨AI供应商的可移植模型API,适用于聊天、文本转图像、音频转录、文本转语音和嵌入模型。支持同步和流式API选项,同时也支持访问特定于模型的功能。AI模型API支持的模型类型:聊天模型(ChatModel):处理对话交
- 【python】图片批量压缩脚本
横桥码农
pythonpython
#-*-coding:utf-8-*-'''图片批量压缩脚本将脚本放入待压缩文件夹下,并运行自动生成压缩文件夹compress'''fromPILimportImageimportosimportsysimportiosys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')defcompress_image(input_imag
- Python脚本压缩图片大小,不损害图片质量
凉风听雪
Pythonpython开发语言
Python源码:同步绑定有exe文件,可下载直接使用importosfromPILimportImagedefcompress_images(input_folder,quality):#确定输出文件夹路径为输入路径同级的"out"output_folder=os.path.join(os.path.dirname(input_folder),"out")#确保输出文件夹存在ifnotos.pa
- js压缩图片脚本
这一生只吹边疆的风
js在线压缩图片
新建两个文件夹1:input2:output3:同一级目录创建一个脚本compile.js:constfs=require('fs');constpath=require('path');consthttps=require('https');constcrypto=require('crypto');const{URL}=require('url');constroot='./input',ex
- GraphQL
evanzhou
下载schema.jsonapolloschema:download--endpoint=https://api.github.com/graphqlschema.json--header="Authorization:Bearerxxxxxxxxxxxxxxxx"更新
[email protected]
- Unity 常见数据结构分析与实战展示 C#
与火星的孩子对话
Unity理论与实战unity数据结构c#
Unity常见数据结构分析与实战展示提示:内容纯个人编写,欢迎评论点赞,来指正我。文章目录Unity常见数据结构分析与实战展示1.引言2.Unity数据结构概述3.常见数据结构1.数组(Array)2.列表(List)3.字典(Dictionary)4.队列(Queue)5.栈(Stack)4.实战案例分析案例1:游戏对象管理案例2:事件系统实现案例3:AI行为树5.最佳实践与建议6.总结1.引言
- 力扣 hot100 Day49
qq_51397044
Hot100leetcode算法数据结构
105.从前序与中序遍历序列构造二叉树给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。//抄的classSolution{private:unordered_mapindex;TreeNode*myBuildTree(constvector&preorder,constvector&inord
- 基于 Qwen-Agent 与 MCP 实现阿里云 ECS 实例查询(含完整代码与实操)
✅关键词:Qwen-Agent、MCP、阿里云、运维、LLM、FunctionCalling在现代云运维场景中,我们不仅希望大语言模型(LLM)能回答文本问题,更希望它能直接调用云端API、查询资源,实现「智能运维」。本文将分享如何基于Qwen-Agent和MCP,快速实现一个“云资源助手”,能帮你查询阿里云ECS实例信息。什么是MCP?MCP(Model-ComputingPlatform)是阿
- Filter快速入门 Java web
撰卢
java前端hivespringboot
文章目录Filter快速入门登录演示Filter快速入门定义Filter:定义一个类,是实现Filter接口,并重写所有方法配置Filter:Filter类上加上==@WebFilter==注解,配置拦截资源的路径。引导类加上==@ServletComponentScan==开启Servlet组件支持(也就是在springboot的启动类上面加上这个注释)相关代码importjavax.servl
- 虚拟机Ubuntu如何开放3306端口
撰卢
服务器运维
输入sudofirewall-cmd--query-port=3306/tcp显示no以上情况表面端口没开放依次输入sudofirewall-cmd--permanent--add-port=3306/tcpsudofirewall-cmd--reload都显示ok
- API安全:企业数字化转型的隐形炸弹
漠月瑾
代码之外安全API安全网络安全
API安全:企业数字化转型的隐形炸弹最近看到一份关于企业API安全现状的报告,让我这个IT从业者不禁后背发凉。报告显示,超过80%的企业在使用API处理敏感数据时,安全措施薄弱得令人震惊。这让我意识到,在我们每天依赖的移动应用、云服务和各种数字化工具背后,可能正潜伏着巨大的安全隐患。API:数字化时代的"隐形支柱"作为开发者,我们都知道API(应用程序接口)已经成为现代软件架构的基石。它连接着移动
- Prometheus怎么监控docker容器 给我个详细的教程
Xi Zi
dockerprometheus容器运维kubernetes
Prometheus可以通过Docker容器服务检测来监控Docker容器,具体步骤如下:1.安装Prometheus和NodeExporter,并将它们部署到Docker容器中;2.在Prometheus配置文件中添加NodeExporter的配置;3.配置Prometheus和NodeExporter的服务监控;4.访问Prometheus查看监控结果。
- Prometheus监控系列 | blackbox_exporter配置实战
降世神童
高级IT运维技术专栏prometheus云原生
Prometheus监控系列|blackbox_exporter配置实战1.blackbox简介2.blackbox_exporter部署2.1.下载安装包2.2.配置启动文件3.blackbox_exporter配置文件详解3.1.HTTP监控3.2.TCP监控3.3.ICMP监控4.监控域名SSL证书的到期时间5.配置Prometheus配置文件6.Grafana监控展示图1.blackbox
- Prometheus(六)黑盒监控
疯狂的大饼
性能linux运维centos
黑盒监控(blackbox_exporter)之前介绍的对exporter的使用可以称为“白盒监控”,既需要把对应的exporter程序安装到被监控的目标主机上,从而实现对主机资源及其状态的数据采集工作。黑盒监控,blackbox_exporter无须安装在被监控的目标环境中,用户只需要将其安装在于promethenus和被监控目标互通的环境中,通过HTTP、HTTPS、DNS、TCP、ICMP等
- python 连接数据库
小鱼拉灯
mysql数据库python
一.连接MYSQL1.下载PyMySql模块2.在MYSQL中创建数据库并连接importpymysqlconn=pymysql.connect(host='localhost',user='root',password='123456',database='ikun',charset='utf8',port=3306)3.创建表importpymysqlconn=pymysql.connect(
- jxORM--整体说明
jxandrew
jxWebUI数据库pythonORM
系列文章目录:jxORMI–编程指南jxORM是配套jxWebUI使用的数据库操作库。使用说明jxORM的使用非常简单,主要包括几个步骤:1、导入依赖fromjxORMimportjxORMLogger,ORM,DBDataType,ColType,jxDB2、设置数据库连接#用默认设置,设置本地的mysql数据库连接jxDB.set('testDB',password='password')目前
- 75、Java并发集合与GUI多线程编程详解
fire9
Java编程艺术:从入门到精通Java并发集合GUI多线程编程
Java并发集合与GUI多线程编程详解1.并发集合概述在多线程编程中,对共享集合的操作需要特别处理,以避免数据不一致等问题。java.util.concurrent包中的并发集合就是为此而设计和优化的。1.1并发集合的优势与通过JavaCollectionsAPI获取的同步集合不同,java.util.concurrent包中的集合专门针对多线程共享集合的场景进行了优化,能更好地支持多线程环境下的
- F5推出后量子密码学解决方案,助力企业应对新一代安全威胁
CSDN资讯
密码学安全量子计算
近日,全球领先的应用交付和API安全解决方案提供商F5(NASDAQ:FFIV)宣布推出全新综合性后量子密码学(PQC)就绪解决方案,助力客户应对量子计算带来的网络安全范式变革。该解决方案现已无缝集成至F5应用交付与安全平台(F5ApplicationDeliveryandSecurityPlatform),为企业提供保障应用和API安全所需工具的同时,保持卓越的性能与可扩展性。随着量子时代的到来
- Java 中的函数式编程详解
超级小忍
Javajavapython开发语言
前言Java语言自从2014年发布的Java8版本引入了函数式编程(FunctionalProgramming)特性以来,其编程范式发生了深远的变革。函数式编程不仅带来了更简洁、更富有表达力的代码风格,也使得Java更加适合处理并发、流式数据处理等现代编程场景。本文将详细介绍Java中的函数式编程特性,包括Lambda表达式、函数式接口、方法引用、StreamAPI等核心概念,并通过示例展示其在实
- day 28打卡
weixin_39908253
AI学习笔记python
day18选用昨天的kmeans得到的效果进行聚类,进而推断每个簇的实际含义#先运行之前处理好的代码importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltimportseabornassnsimportwarningswarnings.filterwarnings('ignore')plt.rcParams['font.sans-se
- (2)React的JSX语法
__method__
JSX−JSX是JavaScript语法的扩展。React开发不一定使用JSX,但我们建议使用它。要使用自定义的组件,要以大写字母开始自行编辑一个todolist页面首先在src下面创建src/TodoList.js,输入以下代码importReact,{Component}from"react";classTodoListextendsComponent{render(){return(todo
- 其他常见 HTTP 方法
Lo-Y-eH
网络协议http网络协议网络
除了最常用的四种方法(GET、POST、PUT、DELETE),HTTP协议还定义了一些较少使用但非常有用的请求方法,常用于调试、部分更新、跨域预检等场景。1.HEAD方法:获取响应头特点:用途:与GET类似,但服务器只返回响应头,不返回响应体,用于测试资源是否存在作用:用于检测资源是否存在、是否更新、是否可访问等幂等性:幂等安全性:安全,不会修改服务器数据示例:HEAD/api/articles
- 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