defi_sort(arr):#从第二个元素开始遍历整个数组foriinrange(1,len(arr)):key=arr[i]#当前要插入的元素j=i-1#指向当前元素的前一个元素#将大于key的元素都向右移动一位whilej>=0andkey
数字接龙 第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
Geometry Fu
蓝桥杯蓝桥杯c语言c++
数字接龙题目来源第十五届蓝桥杯大赛软件赛省赛C/C++大学B组原题链接蓝桥杯数字接龙https://www.lanqiao.cn/problems/19712/learning/问题描述题目描述小蓝最近迷上了一款名为《数字接龙》的迷宫游戏,游戏在一个大小为n×nn\timesnn×n的格子棋盘上展开,其中每一个格子处都有着一个0⋯k−10\cdotsk-10⋯k−1之间的整数。游戏规则如下:从左上
Angular 17与Material Design 3的结合之旅
t0_54program
编程问题解决手册angular.js前端javascript个人开发
引言随着前端技术的不断发展,用户界面的设计和体验变得越来越重要。MaterialDesign3作为谷歌推出的最新设计语言,其简洁、直观的设计理念吸引了众多开发者的关注。特别是对于Angular开发者来说,如何将MaterialDesign3与Angular框架无缝结合是一个值得探讨的问题。本文将带你一步一步了解如何在Angular17中使用MaterialDesign3组件。准备工作在开始之前,我
深入解析Linux进程调度器-CPU负载
Linux内核站
linux运维服务器Linux内核CPU负载
说明:Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:SourceInsight3.5,Visio1.概述CPU负载(cpuload)指的是某个时间点进程对系统产生的压力。来张图来类比下(参考UnderstandingLinuxCPULoad)CPU的运行能力,就如大桥的通行能力,分别有满负荷,非满负荷,超负荷等状态,这几种状态对应不同的cpuload值;单CPU满
二叉树非递归遍历算法分析
小瓶子36
算法数据结构
以前没有学习过树的相关算法,只是了解一些皮毛,最近开始认真学习它。看视频或者网上查资料,可以知道怎么去遍历一棵树,但是算法为什么是这样的呢?少有讲到。如果有一天,我忘记了这个算法,我需要重新去看视频,看文档,这不是我想要的。我想要的是,知道这个算法是怎么设计出来的。下次我忘记的时候,我需要一支笔,一张纸,重新设计出这个算法,而不是去找资料看视频。我想要知道的是,为什么如此,而不是仅仅知道如此而已。
LRU缓存刷题的应用
suohanfjiusbis
缓存
引言LRU(最近最少使用算法):是最近最少使用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法是常见的页面置换算法,该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间t,当要淘汰一个页面时,选择现有页面中t最大的。举例说明LRU算法是针对内存不足时将最远最久未使用的踢出内存中,如该例中一开始7,0,1,内存中并没有所以就全部进入内存中,然后内存满的时候,有一个2,
探索DeepSeek:前端开发者不可错过的新一代AI技术实践指南
formerlyai
人工智能前端
引言:为什么DeepSeek成为技术圈焦点?最近,国产AI模型DeepSeek凭借其低成本训练、高性能输出和开源策略,迅速成为开发者社区的热门话题。作为覆盖语言、代码、视觉的多模态技术矩阵,DeepSeek不仅实现了与ChatGPT相媲美的能力,还通过强化学习驱动的架构创新,解决了大模型落地中的成本与效率瓶颈。对于前端开发者而言,DeepSeek的API接入能力和私有化部署方案,为智能应用开发提供
当你简历有一个agent项目如何准备问答
喂喂喂喂位
AgentlangChain手搓AIAgent记录面试准备AIGClangchain人工智能
博主现在即将参加xx大学计算机学院研究生复试,现在梳理一下项目中的细节。以下是我的简历上的项目描述:核心技术与创新点为什么需要Agent?大模型的“幻觉”问题很难在模型本身上彻底解决,需要引入外部知识确保答案的准确性,Agent具有与其所属环境交互以指导action的能力,能够满足这样的需求。大模型的参数无法实时更新,本身也无法与真实世界产生实时连接,在多数场景下难以满足实际需求。部分场景需要私有
从“参数竞赛”到“行动革命”:Manus与DeepSeek背后的中国AI范式之争
AWS官方合作商
人工智能AIdeepseekManus
引言:当中国AI开始定义游戏规则在OpenAI用ChatGPT掀起全球AI浪潮的两年后,中国科技企业正以两种截然不同的姿势重新书写竞争剧本——DeepSeek用671亿参数的R1模型震撼硅谷,而Manus则以“数字打工人”的姿态突破AI代理的想象边界。这不仅是技术的较量,更是中国AI产业对西方话语体系的颠覆性回应。本文将用技术现实主义视角,解剖这场“参数狂魔”与“行动派”的角力真相一、DeepSe
量子神经网络(Quantum Neural Network):结合量子计算的 AI 新探索
盼达思文体科创
人工智能和深度学习量子计算人工智能神经网络
一、引言在当今科技飞速发展的时代,人工智能(AI)和量子计算成为了两个备受关注的领域。量子神经网络(QuantumNeuralNetwork,QNN)作为这两个领域的交叉点,正吸引着越来越多的研究兴趣。QNN试图将量子计算的强大能力与传统神经网络的学习能力相结合,为解决复杂的人工智能问题提供新的思路和方法。二、量子计算基础(一)量子比特(Qubit)量子比特是量子计算的基本信息单位,与传统的比特不
【linux 内存管理】mmap.c文件代码分析do_mmap() 和 do_mmap_pgoff()
ElisabethSissi
leetcodec++linux
mmap.c文件代码分析do_mmap和do_mmap_pgoff当某个程序的映像开始执行时,可执行映像必须装入到进程的虚拟地址空间。如果该进程用到了任何一个共享库,则共享库也必须装入到进程的虚拟地址空间。由此可看出,Linux并不将映像装入到物理内存,相反,可执行文件只是被连接到进程的虚拟地址空间中。随着程序的运行,被引用的程序部分会由操作系统装入到物理内存,这种将映像链接到进程地址空间的方法被
【go】隐式转换限制
还没入门的大菜狗
golang
只有方法中存在隐式类型转换,函数中不存在。这个最开始的时候让我有些混乱,但是思考过设计原因后,我逐渐明白了。核心提示词1:我们先从为什么要支持方法隐式转换开始说起:核心提示词2:但是go语言的设计哲学又是显式大于隐式,那么为什么要设计成方法支持隐式转换呢?核心提示词3:为什么函数调用时,使用隐式转换,潜在混淆会大于便利?感慨一下:真的需要一个好的提问。方法隐式转换的理论基础方法调用允许隐式转换是因
【算法学习之路】11.并查集
零零时
算法学习之路算法学习c++开发语言数据结构并查集c
并查集前言一.简介二.基础并查集三.基础并查集题目12四.种类并查集(扩展域并查集)五.种类并查集的题目前言我会将一些常用的算法以及对应的题单给写完,形成一套完整的算法体系,以及大量的各个难度的题目,目前算法也写了几篇,题单正在更新,其他的也会陆陆续续的更新,希望大家点赞收藏我会尽快更新的!!!一.简介查找两个元素是否在一个(树形)集合中二.基础并查集一开始:所有的元素相互独立,每个元素单独成树给
python编程基础与案例集锦,python编程案例教程答案
青峰235
python开发语言信息可视化
大家好,小编来为大家解答以下问题,python编程案例教程航空工业出版社课后答案,python编程案例教程答案航空工业出版社,现在让我们一起来看看吧!1.整理字符串输入整理用户输入的问题在编程过程中极为常见。通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作python编程代码画樱花。但是如果问题很复杂,可能有更好的方法来解决:user_input="
RAG数据嵌入和重排序:如何选择合适的模型
从零开始学习人工智能
深度学习
RAG数据嵌入和重排序:如何选择合适的模型在自然语言处理(NLP)领域,Retrieval-AugmentedGeneration(RAG)模型已经成为一种强大的工具,用于结合检索和生成能力来处理复杂的语言任务。RAG模型的核心在于两个关键步骤:数据嵌入(Embedding)和重排序(Re-ranking)。这两个步骤的选择和优化对于模型的性能至关重要。本文将探讨如何选择合适的模型来实现高效的数据
从零开始开发微信小程序:全面指南
百态老人
经验分享微信小程序小程序
学习制作微信小程序,希望通过这次学习能够实现跨平台的统一开发,从而提高自己的编程和开发能力。第一部分需要事先准备的工具和环境:一、工具:1、微信开发者工具:用于开发、调试和预览微信小程序。微信开发者工具是专门为微信小程序开发提供的集成开发环境(IDE)。它的主要功能包括:1)开发:可以编写、编辑、管理小程序的代码,支持多种编程语言和框架(如JavaScript、TypeScript、WXML、WX
unitree
Matrixart
ubuntu
Unitreeubuntu18.04首先要安装好ubuntu18.04系统,然后开始安装显卡驱动和cuda以及cudnn,这里要注意版本对应,我是3090的显卡,安装的显卡版本是520,然后cuda的版本是11.7,cudnn的版本是8.5.0(要对应cuda版本)。具体流程可以按照1里面的走,最后记得在环境中写一下#写入环境sudogedit~/.bashrcexportPATH=/usr/lo
行业首个AI课上线!粉笔战略布局加速技术商业化进程
量子位教育
继推出AI老师后,粉笔AI产品矩阵进一步扩充。粉笔宣布,将于3月17日上线基于自研垂域大模型打造的“AI刷题系统班”,为用户提供行测、申论全科目覆盖的一站式高效备考支持。粉笔介绍,AI刷题系统班以AI为主导,采用“名师+AI数字人老师”双师结合模式,资深教师直播授课,AI教师启发式教学,具备DeepSeek同款深度思考能力,由数字人老师全程伴学,提供交互式学习体验,依托AI算法实现用户全周期学习管
LVI-SAM、VINS-Mono、LIO-SAM算法的阅读参考和m2dgr数据集上的复现(留作学习使用)
再坚持一下!!!
学习
ROS一键安装参考:ROS的最简单安装——鱼香一键安装_鱼香ros一键安装-CSDN博客opencv官网下载4.2.0参考:https://opencv.org/releases/page/3/nvidia驱动安装:ubuntu18.04安装显卡驱动-开始战斗-博客园cuda搭配使用1+2cuda安装1:Ubuntu18.04下安装CUDA_ubuntu18.04安装cuda-CSDN博客cuda
CSS竟然开始支持函数了!编程语言的未来能否在此掀起波澜?
前端javascript
ReactHook深入浅出CSS技巧与案例详解vue2与vue3技巧合集VueUse源码解读当我第一次看到CSS即将支持原生函数时?没错,朋友,这是真的!如今,CSS也开始拥抱函数特性了——那些曾坚称CSS不配称作“编程语言”的人,现在或许得重新考虑一下了。好了,兴奋之余,我们还是先稳一下,深入了解它的具体内容吧!基础知识:函数的定义和调用试想一下,你正在给网页中的多个元素添加相同的虚线边框。通常
ChatGPT推理模型&通用模型大解析!
即兴小索奇
ChatGPT&AI人工智能chatgpt
很多人知道通用模型和推理模型了,那么ChatGPT的哪些模型是通用模型,哪些又是推理模型呢?以下是ChatGPT的所有模型及其分类介绍:通用模型GPT-4:OpenAI的旗舰模型,是一个大型多模态模型,能够比以前的模型更准确地解决困难问题,具有更广泛的通用知识和先进的推理能力。它适用于多种任务,包括聊天、文本生成、内容创作等。GPT-4o系列:包括GPT-4o、GPT-4owithCanvas、G
Dropout: 一种减少神经网络过拟合的技术
冰蓝蓝
自然语言处理神经网络人工智能深度学习
在深度学习中,过拟合是一个常见的问题,尤其是在模型复杂度较高或训练数据较少的情况下。过拟合意味着模型在训练数据上表现得很好,但在未见过的数据上表现不佳,即泛化能力差。为了解决这个问题,研究者们提出了多种正则化技术,其中之一就是Dropout。什么是Dropout?Dropout是一种正则化技术,由Hinton和他的学生在2012年提出。它通过在训练过程中随机“丢弃”(即暂时移除)网络中的一些神经元
深度学习中的注意力机制:解锁智能模型的新视角
冰蓝蓝
深度学习深度学习人工智能
在人工智能的快速发展中,深度学习模型已经成为了处理复杂数据和任务的主力军。然而,随着数据量的激增和任务的复杂化,传统的深度学习模型面临着效率和性能的双重挑战。在这样的背景下,注意力机制(AttentionMechanism)应运而生,它不仅提升了模型的处理能力,还为深度学习领域带来了新的研究视角。什么是注意力机制?注意力机制是一种受人类视觉注意力启发的技术,它允许模型在处理大量信息时,能够动态地聚
2789.合并后数组中的最大元素
HR Zhou
蓝桥杯算法python开发语言leetcode职场和发展数据结构
给你一个下标从0开始、由正整数组成的数组nums。你可以在数组上执行下述操作任意次:选中一个同时满足01:ifnums[len(nums)-1]>=nums[len(nums)-2]:nums[len(nums)-1]=nums[len(nums)-1]+nums[len(nums)-2]delnums[len(nums)-2]else:delnums[len(nums)-1]nums=nums[
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