- 强大的文本编辑器:Sublime Text for Mac注册激活版
macw_q
后端
SublimeTextforMac是一款功能强大的文本编辑器,特别适合程序员和开发者使用。它提供了丰富的功能,如智能代码补全、语法高亮、自定义快捷键、项目管理、多行选择、自动保存等,以提高代码编写效率和舒适度。此外,SublimeText还支持插件扩展,用户可以根据自己的需求安装各种插件,进一步增强编辑器的功能。软件下载:SublimeTextforMac注册激活版下载在Mac上使用Sublime
- [commonjs--resolver] Missing “./jsx-runtime.js“ specifier in “react“ package
清羽_ls
前端&&沉淀javascriptreact.js前端
修复vite构建时错误vite打包,第三方包引用的react版本不一致问题修复(不是最优解)//vite.config.jsimport{defineConfig}from'vite';importreactfrom'@vitejs/plugin-react';importpathfrom'path';exportdefaultdefineConfig({plugins:[react(),//如果
- CSS-DAY2
i330.
前端css前端
CSS-DAY22024/2/4Emmet语法快速生成HTML结构语法如果想要生成多个相同标签加上*就可以了比如div*3就可以快速生成3个div如果有父子级关系的标签,可以用>比如ul>li就可以了如果有兄弟关系的标签,用+就可以了比如div+p如果生成带有类名或者id名字的,直接写.demo或者#twotab键就可以了(默认是div,如需修改其他标签只需在.之前加上标签名即可,如p.color
- react 和vue区别
小王学前端️
vue3react.jsvue.js前端
React和Vue是两个非常流行的前端JavaScript框架,它们有许多相似之处,但也有一些关键的区别:设计理念:React更倾向于函数式编程,推崇组件的纯粹性和可预测性,而Vue则更倾向于易用性和灵活性,提供了更多的内置特性和语法糖。模板vsJSX:Vue使用基于HTML的模板语法,这使得开发者可以快速上手。而React使用JSX,它是JavaScript的语法扩展,允许在JavaScript
- React核心⼊⻔-lesson1
IT帮
#Reactreact.js前端
自学React从入门到精通,从使用到写源码React⼊⻔课堂⽬标资源起步⽂件结构⽂件结构⼀览React和ReactDomJSX使⽤JSX组件组件的两种形式class组件function组件组件状态管理类组件中的状态管理函数组件中的状态管理事件处理组件通信Props属性传递contextredux⽣命周期变更缘由新引⼊了两个新的⽣命周期函数:getDerivedStateFromProps,getS
- 音视频实战---音视频解码
weixin_45673259
音视频音视频
该方法只能解码裸流。1、使用avcodec_find_decoder查找解码器根据使用解码器类型,决定是解码音频还是解码视频。2、使用av_parser_init获取裸流解析器和方法3、使用avcodec_alloc_context3分配编解码器上下文4、使用avcodec_open2将解码器和解码器上下文进行关联5、使用fopen打开输入、输出文件6、使用fread读取文件7、使用av_fram
- react native使用TS实现路由
前方路远
reactnativetypescript
一、入口文件app.jsx的配置入口文件最好还是要保留jsximport{NavigationContainer}from'@react-navigation/native';import{navigationRef}from"./src/views/RootNavigation";constApp=()=>{return()}二、HomeScreen自定义你的tabbar导航一般情况下项目里都是
- Apache Paimon 使用之Creating Catalogs
猫猫爱吃小鱼粮
Paimonapachehivehadoop
PaimonCatalog目前支持两种类型的metastores:filesystemmetastore(default),在文件系统中存储元数据和表文件。hivemetastore,将metadata存储在Hivemetastore中。用户可以直接从Hive访问表。1.使用FilesystemMetastore创建CatalogFlink引擎FlinkSQL注册并使用名为my_catalog的P
- Visual Studio Code &C++ on macOS
Hanbaxia
C++C++MACVSCODE环境搭建C++标准输入
一、预备知识1、理解mac环境的开发环境名称在开发环境中作用举例文本编辑器编写代码sublime,atom,visualstdiocode,nodepad++,vi/vim,emacs编译器文本编辑器写的代码翻译成机器代码链接器代码经编译二进制机器代码后,与系统提供的二进制库进行组合,生成一个可执行文件通常编译器和连接器一起的。vc/vc++,gcc/g++,clang+llvm项目管理工具管理程
- react组件间通讯方式(组件传值)
秃头的小毛驴
react.js前端javascript
组件间传值有多种方式,包括使用props、ContextAPI、回调函数、自定义Hook、事件总线等。下面我将逐一介绍这些传值方式:一、props传值(父给子传)1、最常见的方式是通过props将数据从父组件传递给子组件。2、在父组件中通过JSX的属性形式将数据传递给子组件。//ParentComponent.js(父组件)importChildComponentfrom'./ChildCompo
- sublime text 4 4121注册(亲测可用)
Vince Jobs
软件sublimetext编辑器
1、打开浏览器进入网站https://hexed.it2、打开sublimetext4安装目录选择文件sublime_text.exe3、搜索807805000f94c1更改为c64005014885c9(第一个匹配到的)4、保存文件命名为sublime_text.exe并替换原文件参考:https://blog.csdn.net/m0_46538608/article/details/12155
- React源码之render过程中发生了什么?
我的名字豌豆
Reactreact.jsjavascript前端
理解JSX对于我们直接书写jsx语法,我们的浏览器是不理解我们这种语法的,所以需要babel来去转义,那么可以通过plugin-transform-react-jsx来转译jsx语法,使得浏览器可以识别我们的Jsx语法,例如:1转译过后:React.createElement("div",null,"1")对于React.createElement实际是调用的这个方法,来将element的属性收集
- vue中使用jsx语法
_处女座程序员的日常
jsvueES6vue.jsjavascript前端
请注意,在Vue中使用JSX时,你仍然需要通过h函数(通常是一个别名,对应于createElement函数)来创建虚拟DOM元素。在下面的例子中,h函数作为render函数的参数传入,但在JSX语法中你通常不会直接调用它,因为JSX会被Babel转换成对应的createElement调用,换句话说,render函数中返回的值会自动用h函数包裹。exportdefault{name:'MyTable
- 虚拟机扩容实战
高粱
linuxcentos运维
docker所在linux磁盘满了,怎么办?df-h看磁盘空间fdisk-l看硬盘开始挂载新加的硬盘fdisk/dev/sda输入m,输入n输入p,p之后的东西都选择为默认。(回车即可)继续输入m,在输入t,分区号根据默认输入,Hex代码输入8e(将分区的类型更改为LinuxLVM)输入w保存fdisk-l查看是否生效,运行reboot将创建的磁盘分区格式化,mkfs-text3/dev/sda3
- vue封装el-table表格组件
_处女座程序员的日常
vuejsElementUIvue.jsjavascript前端
先上效果图:本文包含了具名插槽、作用域插槽、jsx语法三种:Render.vue(很重要,必须有):exportdefault{name:"FreeRender",functional:true,props:{scope:Object,render:Function},render:(h,ctx)=>{console.log(222,ctx.props.render);//通过打印会发现rende
- 用VS Code代替source insight的配置
guomq0402
安装插件CSSPeak:代码跳转工具C/C++:代码浏览Beautify:代码格式化SublimeBabel:代码高亮快捷键使用Ctrl+F:当前文件内搜索Ctrl+P:搜索文件Ctrl+Shift+F:在整个工程内搜索Ctrl+G:跳转到某一行Alt+左右方向键,实现前后跳转Alt+上下方向键,实现向上或者向下复制整行F12:跳转到定义处Alt+F12:只查看定义而不跳转Shift+F12:列出
- sublime text 2 ubuntu安装及插件管理
weixin_30542079
git
参考dudumao1、下载SublimeText2官网下载地址:http://www.sublimetext.com2、安装SublimeText2解压即可使用$sudotar-jxvfSublime\Text\2.0.2\x64.tar.bz2或者sudoadd-apt-repositoryppa:webupd8team/sublime-text-2sudoapt-getupdatesudoap
- Nextjs styled-jsx animation
aibinMr
Nextjs自带的styled-jsx(v3.2.1)可能是不支持css3动画中@keyframes,多次尝试失败,现在采用把@keyframes写入css文件中,通过页面入口引入,(注意,在组件内部使用Head组件会编译出错)importReactfrom'react'importHeadfrom'next/head'classIndexextendsReact.Component{render
- html-css-js prettify 设置缩进,sublime格式化插件---HTML-CSS-JS Prettify美化代码(示例代码)...
阿热妮
html-css-jsprettify设置缩进
1.HTML-CSS-JSPrettifyHTML-CSSS-JSPrettify插件使用js-beautify来格式化js、html与css代码。可以在这里尝试js-beautify的效果原始代码://Thisisjustasamplescript.Pasteyourrealcode(javascriptorHTML)here.if(‘this_is‘==/an_example/){of_bea
- 前端input密码自动填充问题解决方案,React项目
猛踹瘸子那条好腿の
前端
在input上写入autoComplete='new-password'可以禁止浏览器的自动填充密码1定义一个变量const[inputType,setInputType]=useState('text')2进入页面的是否将密码输入框的type设置为text3再jsx函数体内声明onchange函数constonChangePass=(e)=>{setInputType('password')}只
- 【前端面试题】08—31道有关前端工程化的面试题(附答案)
web前端开发V
vuepythonjavascriptjavalinux
随着前端技术的发展,前端工程化变得越来越重要。前端工程化部分的面试题主要考察应试者对工程化的理解与运用,如何通过工程化来提高代码质量、编译代码、优化代码;如何提高网站性能,保障网站安全,提升用户体验;如何将开发的代码按照理想的方式发布和上线等。当然,一些新技术的实现(诸如EMAScript6、typescript、jsx、Less、Sass、Stylus等)都离不开前端工程化。1、谈谈你对WebP
- CSS进阶
一只小松许捏
HTMLcss前端
文章目录CSS进阶复合选择器后代选择器子代选择器并集选择器交集选择器伪类选择器超链接伪类CSS特性继承性层叠性优先级基础选择器复合选择器-叠加Emmet写法背景属性背景图平铺方式背景图位置背景图缩放背景图固定背景复合属性显示模式块级元素行内元素行内块元素转换显示模式CSS进阶复合选择器复和选择器是由两个或多个基础选择器,通过不同的方式组合而成,可以更准确、更高效的选择目标元素(标签)。后代选择器后
- 电脑使用者必备的文本编辑器,哪款适合你?
诗雅颂
编辑器ide工具vimvsxcode移动
以下是一些常用的文本编辑器,被广泛认可为电脑使用者必备的工具:VisualStudioCode(VSCode):一个功能强大的开源文本编辑器,支持多种编程语言和丰富的扩展插件。它提供了智能代码补全、调试功能、版本控制等工具。下载链接:https://code.visualstudio.com/SublimeText:一个轻量级但功能丰富的文本编辑器,具有优雅的界面和强大的性能。它支持多种编程语言,
- vscode配置项记录
triggerExpansionOnTab输入标签名时,自动补充完整的标签"emmet.triggerExpansionOnTab":true,输入div点击tab得到
- vscode配置项记录
triggerExpansionOnTab输入标签名时,自动补充完整的标签"emmet.triggerExpansionOnTab":true,输入div点击tab得到
- vscode修改文件名或者移动后,自动更新import的功能,为什么无效呢?
1尝试清理掉vscode的配置项目(无效)2添加jsconfig.json版本1(无效){"compilerOptions":{"module":"commonjs","target":"es2016","jsx":"preserve"},"exclude":["node_modules","**/node_modules/*"]}版本2(无效){"compilerOptions":{"modul
- 从0实现react
第十人i
项目地址:项目地地址参考地址:bilibili1.下载nodejs2.下载脚手架:npminstallcreate-react-app-g3.创建项目:create-react-appreact-test1.火热的0配置的打包工具parcel地址:parcel官网2.安装babel插件,将jsx语法转换成js对象(虚拟DOM)npminstallbabel-corebabel-preset-env
- 放弃 Notepad++,事实证明,还有 5 款更牛逼……
狂徒_张三
推荐:Python全栈教程!花了29980买的从入门到精通课程,分享给大家今天跟大家聊一聊,作为文本编辑工具,还有比Notepad++更好的替代工具吗?别说,还真有另外5款(为啥有些粉丝说,要卸载Notepad++呢,其实这个Notepad++作者之前网上的言论,卸载一百遍也不为过)SublimeText(非开源)SublimeText是一个轻量、简洁、高效、跨平台的编辑器。SublimeText
- Sublime Text 常用快捷键简介
人生万事须自为,跬步江山即寥廓。
集成开发环境IDEsublimetext编辑器
SublimeText是一款流行的文本编辑器,广泛用于代码编写、标记语言编辑等。它具有高度可定制性,支持多种编程语言的语法高亮、代码折叠、代码补全等功能。SublimeText的快捷键是其强大功能的重要部分,以下是一些常用的SublimeText快捷键。通用快捷键1.**全局快捷键**-`Ctrl+P`:打开搜索框,快速查找文件。-`Ctrl+G`:跳转到指定的行。-`Ctrl+R`:查找并替换。
- React基础入门
QiShare
JSXJSX是在JavaScript语法上的拓展,允许HTML代码和JS一起写。///单行代码constheading=MozillaDeveloperNetwork;///多行代码constheader=(MozillaDeveloperNetwork);///heading/header常量称为JSX表达式///React可以使header在我们的应用程序中进行渲染JSX浏览器无法直接读取并解
- 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