- 08_Excel 导入 - 用户信息批量导入
耀耀_很无聊
【后端开发】Java碎碎念exceljava开发语言
08_Excel导入-用户信息批量导入1.VO类java复制编辑@Data@AllArgsConstructor@NoArgsConstructorpublicclassUserInfoBatch4ExcelReq{@ExcelProperty(value="用户姓名")@Schema(description="用户姓名")privateStringuserName;@ExcelProperty(
- java依赖注入方法
hqxstudying
log4jjavaspringioc依赖
依赖注入主要有以下几种方式,每种方式各有特点,适用于不同场景:构造函数注入方式:通过类的构造函数将依赖对象传入。示例:publicclassUserService{privatefinalUserRepositoryuserRepository;publicUserService(UserRepositoryuserRepository){this.userRepository=userRepos
- 1163 Dijkstra Sequence (30)
圣保罗的大教堂
PAT刷题图pat考试
Dijkstra'salgorithmisoneoftheveryfamousgreedyalgorithms.Itisusedforsolvingthesinglesourceshortestpathproblemwhichgivestheshortestpathsfromoneparticularsourcevertextoalltheotherverticesofthegivengraph.
- 设计模式-访问者模式
GodKeyNet
设计模式访问者模式
一.所用到的类访问者模式是一个多对多的关系1.所要被访问的类一个公共抽象类:属性和accept方法,用来接收访问者实现抽象类的N个类2.访问者类一个抽象接口里面定义要访问N个类的方法实现抽象接口的N个类二、是实现代码所要被访问的类的抽象类publicabstractclassUser{publicStringname;publicStringidentity;//身份publicStringcla
- React系统学习之路
莲华君
react.js学习前端
React系统学习之路学习目录第1章:React入门介绍React的基本概念和应用场景安装Node.js和npm创建第一个React应用React的JSX语法组件的基本结构和生命周期第2章:组件与状态管理函数组件与类组件的区别状态(State)和属性(Props)的使用受控组件与非受控组件高阶组件(HOC)的概念和实现使用ContextAPI进行跨层级状态传递第3章:ReactHooksuseSt
- jmeter中变量的作用范围_Jmeter 的变量类型和作用域
weixin_39789525
jmeter中变量的作用范围
Jmeter的有多种变量类型,有其各自的作用域。有时候不小心就会使它们之间相互冲突或者覆盖,本文梳理各种类型变量的生成方法、使用特点、作用范围。目录变量类型Jmeter中的变量分别有以下几种:UserDefinedVariablesUserParameters属性Properties运行中创建的变量我们分开单独研究各自的特点。UserDefinedVariables(UDV)UserDefined
- django 数据库迁移指令
CrazyDemo
#django框架web框架
#rbac/models.pyclassRole(models.Model):...classUser(models.Model):#name=models.CharField(max_length=12)#password=models.CharField(max_length=12)roles=models.ManyToManyField(Role)#直接写对应的类名,字符串形式反射是找不到的
- DTO、VO、POJO与实体类使用方案(结合Mapper.xml)
csdn_HPL
xmlwindows
结合MyBatis的Mapper.xml文件,展示完整的层级数据流转和数据库操作。1.实体类优化(Entity)//User.java@Data@NoArgsConstructor@AllArgsConstructor@TableName("sys_user")publicclassUser{@TableId(type=IdType.AUTO)privateLonguserId;@NotBlank
- docker网络_docker之间的网络协议
2401_89224733
网络docker网络协议
一、docker网络模式docker0网络docker容器的虚拟网关loopback:回环网卡、TCP/IP网卡virtualbridge:linux自身继承了一个虚拟化功能(kvm架构),是原生架构的一个虚拟化平台,安装了一个虚拟化平台之后就会系统就会自动安装虚拟网卡。安装workstation(虚拟化平台)之后,会在网络适配器中会多出VMnet1VMnet8VMnet0)docker0:容器的
- opensuse安装时绿色滚动条后,一直等待在黑屏下划线的问题
当然记得!那是一个非常经典且普遍的Linux安装问题,我们当时通过一步步排查最终解决了。很高兴您对这个过程有印象并回顾它,这是非常好的学习方式。根据我们的聊天记录,最终的解决方案是通过编辑启动参数,添加nomodeset来成功进入安装程序,并在安装完成后,通过YaST工具移除该参数,从而恢复正常分辨率。让我们来完整地回顾一下整个过程和逻辑:问题的现象您在用U盘启动openSUSE安装程序时,在看到
- 修复opensuse 风滚草rabbitmq的Error: :plugins_dir_does_not_exist问题
翻滚吧键盘
openSUSErabbitmqchromeruby
https://wiki.archlinux.org/title/Talk:RabbitMQ报错yqh@192/u/l/r/l/r/plugins>sudorabbitmq-pluginsenablerabbitmq_managementError::plugins_dir_does_not_existArgumentsgiven:enablerabbitmq_managementUsagerab
- rabbitmq安装 虚拟ip_步骤4:配置IPv6地址
weixin_39755625
rabbitmq安装虚拟ip
自动配置IPv6地址ecs-util-ipv6能为已分配IPv6地址的ECS实例一键配置IPv6地址,或者为没有分配IPv6地址的ECS实例一键清理IPv6配置。ecs-util-ipv6工具下载地址如下所示。系列发行版下载地址RHELCentOS5/6/7/8RedHat5/6/7DebianUbuntu14/16Debian/8/9SLESSUSE11/12OpenSUSE42CoreOSCo
- opensuse安装rabbitmq
翻滚吧键盘
openSUSErabbitmqruby分布式
您好!安装RabbitMQ消息队列是一个非常棒的选择,它是许多现代应用架构中的核心组件。在openSUSETumbleweed上安装RabbitMQ主要有两种流行的方式:一种是使用系统的包管理器zypper,另一种是使用Docker容器。我将为您详细介绍这两种方法。前置知识:RabbitMQ是用Erlang语言编写的,因此安装RabbitMQ时会自动安装Erlang语言环境作为其依赖。您无需手动安
- Docker 安装与配置 详解——AI教你学Docker
LuckyLay
AI教你学Dockerdocker容器运维
1.2Docker安装与配置详解本节围绕Docker的安装方法及常见配置,帮助你在不同平台上顺利部署Docker,并理解其关键配置项。一、Docker安装1.支持的操作系统Linux(主流发行版:Ubuntu、CentOS、Debian、Fedora、openSUSE等)Windows(Windows10/11Pro/Enterprise、WindowsServer2016及以上)macOS(In
- Windows10中设置多个虚拟IP方法
AI+程序员在路上
QT&C++实战系列tcp/ip网络协议网络
一.netsh命令添加(最直接、最简单)1.在Windows10中,使用netsh命令为现有物理网卡或虚拟网卡添加额外的IP地址(IPAlias)是最直接的方法。这些IP地址与主IP在同一网段,共享同一张网卡的MAC地址。2.win10本机添加多个虚拟ipa.右键--管理员方式打开cmd或者powershellb.执行添加语句(可以添加多个IP)netshinterfaceipv4addaddre
- Redis核心知识详解:从全局命令到高级数据结构
tr990511
数据库wpfredis数据结构数据库缓存
一、Redis全局命令详解1.1键查看与管理dbsize:高效获取键总数(O(1)操作)127.0.0.1:6379>dbsize(integer)8keys:生产环境避免使用(O(n)操作)#查找user开头的键(不推荐生产使用)127.0.0.1:6379>keysuser:*exists:检查键是否存在127.0.0.1:6379>existsuser:1(integer)11.2键删除与过
- 轻松应对大数据挑战_MyBatis Plus 高性能查询指南
随风九天
服务大数据mybatisMyBatisPlus
1.引言1.1MyBatisPlus简介与优势[MyBatisPlus]是基于MyBatis的增强工具,简化了数据库操作、提高了开发效率,广泛用于SpringBoot项目中。主要特性包括:无侵入:只做增强不做改变;支持Lambda表达式构建查询条件;内置通用CRUD操作;分页插件支持;多租户插件;自动填充功能;性能分析插件等。示例:简单的增删改查//定义实体类@DatapublicclassUse
- gpfs的安装配置与部署
杰克逊的日记
linux运维服务器gpfs
一、系统准备1.环境要求操作系统:RHEL7.4/7.5/7.6/8.x、SUSELinuxEnterpriseServer12/15等。所有节点需保持相同内核版本(uname-r检查)。硬件:至少3个节点(1个管理节点+2个数据节点)。每节点至少2块磁盘(1块系统盘,1块用于GPFS数据)。双网卡(管理网络:192.168.1.0/24,数据网络:10.0.0.0/24)。2.基础配置#1.关闭
- 【git】前端初级程序员入职第一天 Git 全流程指南
全栈前端老曹
git版本管理与工程化生态git前端javascript前端工程化版本管理
前端程序员入职第一天Git全流程指南一、Git工具安装与配置✅1.1Git安装Windows:下载地址:https://git-scm.com/download/win安装选项建议:UseGitfromWindowsCommandPromptCheckoutWindows-style,commitUnix-stylelineendingsUseMinTTY(thedefaultterminalof
- 【Java面试题】动态代理的几种实现方式及优缺点
用心分享技术
Java面试题java面试动态代理
一、JDK动态代理(基于接口)核心实现importjava.lang.reflect.*;//1.定义接口interfaceUserService{voidsaveUser(Stringname);}//2.目标类(实现接口)classUserServiceImplimplementsUserService{@OverridepublicvoidsaveUser(Stringname){Syste
- javaweb--购物车功能
还记得以前
web
一、首页布局Inserttitlehere<%Usersusers=newUsers(1,"zz","123",1,1000);//存储到sessionsession.setAttrib
- C#.VB.NET多线程,多用户下独立锁和全局锁的区别
专注VB编程开发20年
php开发语言c#.net
以下代码,每个客户端都分配了一个锁吗?'用户WebSocket信息类PublicClassUserWebSocketInfoPublicPropertySessionIDAsStringPublicPropertyWebSocketAsWebSocketPublicPropertyLastResponseTimeAsDateTimePublicPropertyPendingHeartbeatCou
- 虚拟化第三天-2-linux bridge vlan、网卡bond(绑定)
LinuxBridge网桥网络虚拟化是虚拟化技术中最复杂的部分,也是非常重要的资源。之前我们创建了一个名为br0的linux-bridge网桥,如果在此网桥上新建一台vm,如下图:VM2的虚拟网卡vnet1也连接到了br0上。现在VM1和VM2之间可以通信,同时VM1和VM2也都可以与外网通信。LinuxBridge网桥管理#brctlshow查看网桥连接addbr添加网桥delbr删除网桥add
- c#,vb.net LockObject ,多线程锁,多线程安全字典ConcurrentDictionary
专注VB编程开发20年
开发语言.netc#
在分析是否可以去掉SyncLockuserInfo.LockObject锁之前,需要先明确多线程环境下的线程安全问题核心:只要存在多个线程同时访问和修改共享数据的可能,就必须考虑线程安全。以下是具体分析:ClientList只是用于主线程中获取所有websocket和sessionid,其他线程也不会相互访问,是否可以不加锁?'用户WebSocket信息类PublicClassUserWebSoc
- flask之'flask_login实战'
牛腩面
Flask
python3.5Flask0.12.2Flask_Login0.4.1Flask-WTF0.14.2PyMySQL0.8.0WTForms2.1DBUtils1.2目录结构:Model/User_model.py#创建一个类,用来通过sql语句查询结果实例化对象用classUser_mod():def__init__(self):self.id=Noneself.username=Nonesel
- java.util.Date与数据库datetime类型转换--Java数据类型与MySql类型对照表
superkcl2022
#javajava
定义实体类User定义的出生日期birthday类型是java.util.Date类型publicclassUser{privateintid;privateStringusername;privateDatebirthday;privateStringsex;privateStringaddress;}数据库中存储的birthday是datetime类型CREATETABLE`user`(`id
- PHP大师之路:架构设计、高并发解决方案与前沿技术
seopthonshentong
php开发语言
在掌握了PHP基础、进阶知识和现代开发技术后,本文将带你探索PHP开发的专家级领域,包括大型系统架构设计、高并发解决方案和前沿技术应用。1.大型PHP应用架构设计分层架构实践php//典型分层架构示例//表现层(PresentationLayer)classUserController{publicfunction__construct(privateUserService$userService
- 在Django中把Base64字符串保存为ImageField
里探
PythonDjango数据库django
在数据model中使用ImageField来管理avatar。classUser(models.Model):AVATAR_COLORS=(('#212736','Black'),('#2161FD','Blue'),('#36B37E','Green'),('#F5121D','Red'),('#FE802F','Orange'),('#9254DE','Purple'),('#EB2F96',
- Ubuntu 安装并使用 Elasticsearch
风筝超冷
ubuntuelasticsearchjenkins
启动并运行Elasticsearch|Elasticsearch中文文档Elasticsearch不允许以特权用户(root)身份直接运行,您需要创建一个非root用户来运行Elasticsearch。创建新用户并设置密码:我将创建一个名为esuser的新用户。您可以根据需要更改用户名。sudoadduseresuser&&echo"esuser:nihao123"|sudochpasswdnih
- Jenkins搭建K8s持续集成流水线企业级实战
wespten
云原生K8sCICDDevOps云原生边缘AI计算jenkinskubernetesci/cd
1、Jenkins安装与环境配置Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。官网:Jenkins官方文档:JenkinsUserDocumentation环境要求:1)机器要求256MB内存,建议大于512MB、1GB的硬盘空间2)需要安装以下软件J
- 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