- 最长回文字串的多种解法(java)
心 -
java
文章目录1.暴力解法2.中心扩散法3.动态规划法题目要求:给你一个字符串s,找到s中最长的回文子串1.暴力解法列举所有子串;将字符串分解为字符数组char[]arr,方便后续判断是否为回文字符串,接着使用两层for循环去跑字符串s,使用maxf初始化为1去记录最长回文字符串的长度,min记录最长字符串的起始下标。代码如下:publicStringlongestPalindrome(Strings)
- 设置和获取时区
yiwang103
服务器linux算法物联网c++
1.设置时区tzset函数可以根据环境变量TZ设置时区信息,并更新全局变量timezone和daylight。这些变量可以用来获取时区偏移量和是否使用夏令时。#includeintmain(){//SettheTZenvironmentvariablesetenv("TZ","PST8PDT",1);tzset();//Getthetimezoneoffsetexternlonginttimezo
- matlab 代码主要实现了对一个具有各向异性材料的层合板的力学性能分析
go5463158465
算法深度学习MATLAB专栏python算法开发语言
clcclearcloseallclearclcformatlongg%formatshorte%初始化%板尺寸Chang=0.5;%板长lambda=1;%长宽比Kuan=Chang/lambda;%板宽%h=0.001
- uniapp:钉钉小程序录音
dingcho
前端uni-app钉钉小程序
-->{{longPress=='1'?'点击录制':'录音中...'}}{{playStatus=='1'?'播放中...':'单击播放'}}{{'剩余:'+count+'s'}}再点击结束录音删除varinit//录制时长计时器vartimer//播放录制倒计时exportdefault{data(){return{count:null,//录制倒计时longPress:'1',//1显示按住
- 第十四届蓝桥杯三月真题刷题训练——第 18 天
不摘月亮
蓝桥杯蓝桥杯c++职场和发展算法
第1题:排列字母思路:直接调用sort函数对字符串进行排序#includeusingnamespacestd;intmain(){stringarr;cin>>arr;sort(arr.begin(),arr.end());cout#definelllonglongusingnamespacestd;intmain(){lln,m,k,res;cin>>n>>m;if(n>m)swap(n,m);
- 前端框架: Vue3组件设计模式
苹果酱0567
面试题汇总与解析课程设计springbootvue.jsjavamysql
前端框架:Vue3组件设计模式在前端开发中,Vue框架一直受到开发者的喜爱。它不仅易于上手,而且功能丰富,尤其是在Vue3中引入了CompositionAPI和Teleport等新特性,进一步提升了开发体验。在Vue3中,组件设计模式是一个非常重要的话题,良好的组件设计模式可以提高代码的可维护性和可扩展性,本文将深入探讨Vue3组件设计模式的相关内容。一、组件化开发模式组件化概念及优势在前端开发中
- linux出现bash: ./java: cannot execute binary file 问题的解决办法
w36680130
linux
linux出现bash:./java:cannotexecutebinaryfile问题的解决办法参考文章:(1)linux出现bash:./java:cannotexecutebinaryfile问题的解决办法(2)https://www.cnblogs.com/longshiyVip/p/4802339.html备忘一下。
- Vue 3 中的 `setup()` 函数有什么作用?它在组件生命周期中的位置是什么?
chenNorth。
vuevue.jsjavascript前端
在Vue3中,setup()函数是CompositionAPI的入口点,它在组件实例创建之前被调用,并且是响应式系统的上下文。setup()函数的作用和位置如下:setup()函数的作用响应式状态:在setup()函数中声明的变量会自动被转换为响应式状态,这些状态可以在模板中直接使用。生命周期钩子:setup()函数内部可以访问组件的生命周期钩子,如onMounted、onUpdated和onUn
- c语言一维数组
磨十三
c语言算法开发语言
一、一维数组的定义类型说明符数组名[常量表达式];(一)类型说明符---数据类型基本数据类型中整型int/short/long/longlong浮点型float/double字符型char其它的数据类型---构造类型(二)数组名//一个名字用来代表这个数组(一组相同类型变量集合的一个名字)(三)常量表达式[]//就表示数组常量表达式//整型的数值---数组中元素的个数---数组长度(四)说明1.数
- 2025-1-15-近红外 O/E/S/C/L/U 波段 - 光电知识科普
汤姆和佩琦
Qt学习学习光电知识科普
文章目录近红外O/E/S/C/L/U波段O波段(OriginalBand)E波段(ExtendedBand)S波段(ShortBand)C波段(CompromiseBand)L波段(LongBand)U波段(UltraBand)小结近红外O/E/S/C/L/U波段在近红外波段,以下是更详细的O、E、S、C、L、U波段的划分:O波段(OriginalBand)波长范围:约1260-1360nm。特性
- matlab 程序将学生成绩管理的各项操作集成在一个 GUI 界面中,方便用户直观地对学生成绩进行操作和查看统计信息
pk_xz123456
MATLAB算法机器学习matlabjava前端
functionstudent_grades_gui()%创建图形界面f=figure('Position',[100,100,800,500
- 20道简单算法题
潜水的码不二
算法算法java蓝桥杯
整理了网上常见的20中简单算法。1.斐波那契数列publicvoidtest_Fibonacci(){intmonth=15;//15个月longf1=1L,f2=1L;longf;for(inti=3;ik&&n%k==0){System.out.print(k+"*");n=n/k;f(n);break;}elseif(n>k&&n%k!=0){k++;f(n);break;}}}难度:⭐⭐⭐
- 自学嵌入式
风华漫舞21
linuxc语言
#学习嵌入式第二天##C语言的基本数据类型C语言的基本数据类型,基本的数据类型有整型、浮点型(单精度、双精度)、字符型。整型数据有int、short、long、longlong四种类型。数据又分为有符号数和无符号数,二者数据表示的范围不同。int型:占4个字节;对于有符号数(signed)数据表示范围为:-2^31~2^31-1,对于无符号数据表示范围为:0~2^32-1。short型:占2个字节
- 小白也能懂的 Python 入门指南(1)——Python 的前世今生
荆州克莱
面试题汇总与解析springcloudspringbootspring技术css3
Lifeisshort.YouneedPython.——BruceEckel上边这句话是Python社区的名言,翻译过来就是“人生苦短,我用Python”,由此可见,Python在很多人心中已成为最中意的编程语言。在人工智能、机器学习日趋火热的时代,Python又赶上了一波AI的热潮,即使你没系统的学习过它,相信你也一定听说过吧,如果你也对Python产生了浓厚的兴趣,跟我一起来了解下它的前世今生
- 基于 Vue 的拖拽缩放卡片组件:实现思路、方法及使用指南
Jiaberrr
javascript前端vue.js前端框架
引言在前端开发中,实现可交互的组件能够极大地提升用户体验。本文将介绍一个基于Vue封装的可缩放卡片组件,从实现思路、代码具体实现以及使用方法等方面进行详细阐述,帮助开发者更好地理解和运用这一组件。项目源码地址:https://gitcode.com/Jiaberrr/vue3-pc-template实现思路定位与布局:通过position:absolute对卡片进行定位,利用left、top、ri
- C语言基本类型字节数
张玉立
c语言
文章目录前言一、标准基本类型及其字节数二、固定宽度整数类型三、查看具体平台的字节数总结前言在C语言中,基本数据类型的字节数取决于具体的编译器和目标平台(如32位或64位系统)。然而,C标准对这些类型规定了最小的大小限制。以下是一些常见平台上的典型字节数:一、标准基本类型及其字节数字符类型char:至少1字节(8位)通常用于表示单个字符。整数类型shortint或short:至少2字节int:至少2
- CSS布局:Flexbox与Grid的使用与优化
引言随着前端开发的不断进步,网页布局的需求愈加复杂。传统的布局方法,如浮动(float)和定位(position),虽然曾经是布局的主流方式,但随着CSS的不断发展,现代布局技术如Flexbox和Grid逐渐成为主流。它们通过简化代码、提高可维护性和响应性,帮助开发者更高效地构建布局。本篇文章将专注于Flexbox和Grid布局的使用,探讨它们的优化技巧及应用场景。一、Flexbox布局的使用Fl
- threejs+html 实现3D地球旋转效果
web网页精选
html3d前端
html:demo*{padding:0;margin:0;box-sizing:border-box;}#chart_map{position:fixed;top:0;bottom:0;left:0;right:0;/*border:1pxsolidred;*/}//创建场景对象Scenevarscene=newTHREE.Scene();//辅助坐标系参数250表示坐标系大小,可以根据场景大小
- Java语言基础 关键字与保留字
鹿人甲丁
javajava
关键字(keyword)的定义和特点定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html用于定义数据类型的关键字classinterfaceenumbyteshortintlongfloatdoublec
- Java选择结构(switch)
不说晚安i
java
switch多选择结构>多选择结构还有一个实现方法就是switchcase语句>switchcase语句判断一个变量与一系列值中某个值是否相等每个值称为一个分支>switch语句中的变量类型可以是:byte,short,int,char从JavaSE7开始switch支持字符串String类型了同时case标签必须为字符串常量或者字面量代码展示:packagebase.struct;importj
- CSS让div层悬浮在最上方
昨夜今夕
CSS
效果如下:这里是使得一张div里面的图片悬浮在了地图的上方,css代码如下.tl{width:240px;height:193px;position:absolute;/*这里一定要设置*/z-index:999999;/*这里是该元素与显示屏的距离,据说越大越好,但是我也没有看到效果,因为没有它也是可以的*/margin-top:20%;margin-left:-209px;background
- css 在div左上角添加类似书签的标记
嗬呜阿花
STYLELISTcss前端html
效果图html半导体CSS.mark{float:left;margin:06rpx;position:relative;padding:0;width:24px;color:#fff;writing-mode:sideways-rl;text-align:center;}.mark::after{position:absolute;content:"";left:0;top:100%;borde
- H5定位的一些坑和记录
1.先用的百度的API(坑巨多):getCurrentPosition()方法百度api文档大概代码如下:letgeolocation=newBMap.Geolocation()geolocation.getCurrentPosition(function(r){if(this.getStatus()==BMAP_STATUS_SUCCESS){//检查position是否是默认值_this.po
- 深入理解 CSS Flexbox:如何使用弹性布局实现自适应的水平和垂直居中
在Web开发中,布局一直是CSS的一个重要主题,而水平和垂直居中往往是布局中最常见、最基础的需求。传统的居中方法通常需要使用多层嵌套、position、margin等属性来实现,代码繁琐且不够灵活。而随着CSS弹性布局(Flexbox)的引入,水平和垂直居中变得非常简单、直观,几乎可以适应所有的布局场景。本文将专注于如何使用CSSFlexbox来实现内容的自适应居中,包括水平居中、垂直居中、以及水
- iOS - 底层实现中涉及的类型
Batac_蝠猫
iOS底层原理ios
1.基本类型定义//基础类型typedefunsignedlonguintptr_t;//指针大小的无符号整数typedeflongptrdiff_t;//指针差值类型typedefunsignedintuint32_t;//32位无符号整数typedefunsignedlonglonguint64_t;//64位无符号整数//掩码类型typedefuintptr_tmask_t;//用于位掩码操
- Oracle 23ai新特性:使用列别名的 GROUP BY 和 HAVING 子句
安呀智数据
Oracleoracle数据库Oracle23ai新特性having列别名groupby
摘要随着数据库技术的不断发展,SQL语言也在不断进化,以更好地满足数据查询和分析的需求。本文将探讨如何在SQL查询中使用列别名(columnalias)或列位置(columnposition)来简化GROUPBY和HAVING子句,并提高查询的可读性和维护性。一、引言在SQL查询中,GROUPBY子句用于将具有相同值的行分组到汇总行中,而HAVING子句则用于过滤这些分组的结果。传统上,GROUP
- 在Python中,文本查找和替换的常用操作
python正则表达式
1.使用字符串方法进行查找和替换Python的字符串类(str)提供了简单的查找和替换方法,如find()、replace()等。示例:text="Hello,world!"#查找子字符串的位置position=text.find("world")print(position)#输出:7#替换子字符串new_text=text.replace("world","Python")print(new_
- Long类型前后端数据不一致
igotyback
前端
响应给前端的数据浏览器控制台中response中看到的Long类型的数据是正常的到前端数据不一致前后端数据类型不匹配是一个常见问题,尤其是当后端使用Java的Long类型(64位)与前端JavaScript的Number类型(最大安全整数为2^53-1,即16位)进行数据交互时,很容易出现精度丢失的问题。这是因为JavaScript中的Number类型无法安全地表示超过16位的整数。为了解决这个问
- ARM驱动学习之4小结
JT灬新一
嵌入式C++arm开发学习linux
ARM驱动学习之4小结#include#include#include#include#include#defineDEVICE_NAME"hello_ctl123"MODULE_LICENSE("DualBSD/GPL");MODULE_AUTHOR("TOPEET");staticlonghello_ioctl(structfile*file,unsignedintcmd,unsignedlo
- C++ | Leetcode C++题解之第409题最长回文串
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:intlongestPalindrome(strings){unordered_mapcount;intans=0;for(charc:s)++count[c];for(autop:count){intv=p.second;ans+=v/2*2;if(v%2==1andans%2==0)++ans;}returnans;}};
- 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