- lnmt架构
有点小忧郁
Linux课程
lnmt架构安装nginx//创建系统用户nginx[root@localhost~]#useradd-r-M-s/sbin/nologinnginx//安装依赖环境[root@localhost~]#yum-yinstallpcre-developensslopenssl-develgd-develgccgcc-c++[root@localhost~]#yum-ygroupsmarkinstal
- linux 上Docker-compose配置、部署java服务
肃清万里,总齐八荒
linuxdockerjava
Docker配置部署java服务1、创建新用户1.1、使用useradd命令创建新用户1.2、使用adduser命令创建新用户1.3用户授权1.3用户组授权2、创建文件2.1、创建文件夹2.2、创建文件3、nginx3.1docker运行nginx3.1.1、拉取镜像3.1.2、容器运行3.2docker-compose运行nginx3.2.1运行环境挂载文件配置3.2.2docker-compo
- 账户管理命令分析
rxh1234567
笔记
1)useradd作用:创建新账号参数:-d设置用户家目录;-e用YYYYY-MM-DD格式指定一个账户过期日期;-f指定帐户失效日期;-g指定用户登录组的GID或组名;-G指定一个或多个附加组;-m创建用户HOME目录;-M不创建用户家目录;-p为用户账户指定默认密码;-s指定登录shell类型;-u为账户指定一个唯一的UID。2)userdel作用:删除用户参数:-r删除用户与家目录。3)gr
- Linux 用户和组的增删改查,用户切换及权限超详细解读
人工智障调包侠
Linuxlinux运维服务器
目录用户和组及权限简单介绍用户及组创建和删除用户创建useradd-m创建用户john-g创建用户john-d创建指定家目录的用户john-m-g-d的组合使用用户删除userdel用户密码设置组创建groupadd组删除groupdel主组和附加组修改用户所在主组或附加组usermod更换或添加附加组更换主组用户及组的信息查询用户信息查询id/getentpasswdidgetentpasswd
- Rocky Linux 8.8 离线安装Mariadb 10.11.7
恒云客
linuxmariadb运维
用户在阿里购买了一台无公网的云服务器,不能用yum进行安装,用离线方式进行了安装。1、创建一个不指定home目录帐号useradd-s/sbin/nologin-Mmysql2、下载官方二进制安装压缩包wgetmariadb-10.11.7-linux-systemd-x86_64.tar.gz3、解压指定目录/usr/localtarzxvfmariadb-10.11.7-linux-syste
- Linux用户/用户组以及权限
奋斗的小花生
linux运维服务器
目录Linux用户:Linux用户组:Linux权限:Linux用户:添加新用户:理解:-m创建一个组,-d仅仅代表指定的是目录home下创建(映射)一个对应的目录信息格式:useradd[选项]用户名如:useradd-d/home/lucy(目录)-m(省略lucy组)lucy(新用户)创建一个用户lucy,并且在home目录下分配一个同名目录(映射)。注意:创建新用户时没有指定组,则会创建一
- nginx平滑升级与location修饰符
霉逝
nginx运维服务器
nginx平滑升级与location修饰符文章目录nginx平滑升级与location修饰符一、nginx平滑升级1、部署nginx2、获取之前安装nginx的编译参数3、下载新模块4、重新编译软件5、备份源程序并停止、覆盖、启动服务6、测试--引用echo模块二、location案例一、nginx平滑升级1、部署nginx//创建系统用户nginx[root@10~]#useradd-r-M-s
- Linux命令基础(三(用户和组))
確定饿的猫
linux运维服务器
目录用户用户的分类管理员用户普通用户程序用户UIDpasswdchageuseraddusermoduserdel组gpasswd其他用户用户的分类Linux中用户分为三类,分别为管理员用户即root用户,我们在安装Linux虚拟机的过程中,有一个步骤就是设置root账户。设置了root账户后普通账户就无所谓怎么设置了,因为root对本机的控制权极高,ID=0。直接使用root账户登录系统,就可以
- squid缓存技术
凉博青年
Linuxsquid
squid缓存技术配置squid1、配置squid服务器(1)创建管理squid的用户[root@centos01~]#useradd-M-s/sbin/nologinsquid(2)配置squid[
[email protected]]#./configure--prefix=/usr/local/aquid--sysconfdir=/etc/--enable-linux-netfi
- 11. Node_exporter 一篇就够
starQuest
11.1解压安装tar-zxvfnode_exporter-0.18.1.linux-amd64.tar.gzgroupaddprometheus2useradd-gprometheus2-m-d/home/monitor/node_exporter/-s/sbin/nologinprometheus2mvnode_exporter-0.18.1.linux-amd64node_exporterr
- RockyLinux8 & RockyLinux9安装postgresql16-devel开发包
ynzhangyao
postgresql
1、PG的插件扩展有些需要自行编译,需要安装PG开发包2、RockyLinux8安装#创建用户先useraddpostgressudodnfinstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpmsudodnf-qymoduledisa
- SpringBoot + openGauss开发入门
renxyz
springboot后端java数据库openGauss
本文介绍如何快速安装openGauss单机版openGauss快速环境安装groupadddbgroupuseradd-gdbgroupomm#可后面安装时创建passwdomm#设置密码为Gauss_1234创建安装程序目标目录mkdir/home/omm/opengauss3chown-Romm:dbgroup/home/omm/opengauss3下载opengauss3.0.0mkdir/
- Linux进阶语法介绍
む妖饰千年ょ乱一世浮华
大数据linuxcentos远程工作交互
1.用户相关命令Linux系统和Mac系统,windows系统一样,也是支持多用户管理的,为了更好的管理多用户,就有了用户组和用户的概念,Linux系统中,root账号拥有最高权限.增,新增用户useradd用户名改,修改用户的密码passwd用户名删userdel[-r]用户名查,即:查询所有的用户cat/etc/passwdgetentpasswd查看用户信息zhangsan:x:1000:1
- Prometheus监控node
仙女陈
prometheus
下载地址:https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz1.1安装tar-xvfnode_exporter-0.18.1.linux-amd64.tar.gzsudogroupadd-rprometheussudouseradd
- linux下创建指定用户并指定 gid uid
兵兵呀
运维运维
1.创建指定所属组并指定gidgroupadddev-g1005#创建dev的所属组并指定gid10052.创建指定用户并指定uiduseraddtest-u1003-g1005#创建test用户并指定uid1003分配为dev1005属组3.将test用户绑定dev组的某一个文件chown-Rtest:dev+文件名4.将已有的用户指定到已有的用户组gpasswd-adevroot//将用户de
- linux切换用户时出现bash-4.2$
hikarilee
linuxlinux
切换用户时出现bash-4.2$工作中遇到如下场景,环境已经给定,也创建好了dsweb用户,但是切换用户时提示由于当时在.bash_logout.bash_profile这几个文件中进行了操作,但没有效果,且情景已无法再现,现在模拟错误场景1、正常新建用户useradd-mdsweb(useradd-m+用户名)的方式创建,它会在/home目录下创建同名文件夹2、执行sudsweb发现可以进入ds
- linux系统管理教程pdf,Linux运维入门到高级全套系列PDF
史文林
linux系统管理教程pdf
Linux学习技巧初学者可以自己安装虚拟机,然后把Linux常用命令例如cd、ls、chmod、useradd、vi等等多练习几十遍,把自己敲打命令的熟练程度提升上来。然后根据文档搭建Linux下常见的各种服务(DHCP、SAMBA、DNS、Apache、Mysql等),遇到问题后可以在google搜索,搜索的时候多看几篇文章,综合最好的文章来解决问题。能够熟练的搭建服务后,理解每个服务的完整配置
- 每天一个Linux命令之scp
SCOR_PIO
scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读readonlysystem时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然rsync比scp会快一点,但当小文件众多的情况下,rsync
- CentOS7 禁止root用户直接登录
Lord丶轩莫言弃
linux最高权限用户root,默认可以直接登录sshd。为了提高服务器的安全度,需要对它进行禁止,使得攻击者无法通过暴力破解来获取root权限。步骤如下:一、新建帐户,命令如下:useradduser二、设置帐户密码,命令如下:passwduser三、不允许root直接登陆,命令如下:vim/etc/ssh/sshd_config找到#PermitRootLoginyus改为PermitRoot
- day_10用户管理(3)
CxFalltohim17
昨日回顾1.系统中的用户有什么用?程序运行需要一个用户身份,可以不能登陆系统(傀儡身份)多个人操作一个系统时,需要创建多个用户,这样互相不影响。(默认初始环境一致)2.创建用户,会操作哪几个配置文件?/etc/passwd用户属性/etc/shadow用户密码属性/etc/group组/etc/gshadow组密码3.如何创建用户修改用户删除用户useraddusername-uUID-g[GID
- Linux ssh internal sftp配置说明
与狼共舞666
centos7环境下已验证首先建立两个用户,用于sftp访问使用。eg:useradd-d/opt/sftp-s/bin/nologinsftp说明-s/bin/nologin禁止ssh登录服务器,其实如果将用户设置为用于sftp的话,不做此设置也是无法登录的会提示:Thisserviceallowssftpconnectionsonly.修改ssh配置文件/etc/ssh/sshd_config
- Linux用户组
GetIdea
添加用户组groupadddevelop删除用户组groupdeldevelop添加用户时指定用户组useradd-gdevelopxm添加用户并且添加到develop用户组内如果用户组不存在,则添加失败改变用户所属组usermod-gdevelopxm改变用户xm所属的组成develop用户配置文件用户的信息都放在/etc/passwd这个文件内每行的信息:用户名:口令:用户标志号:组表示号:注
- Linux操作系统基础(七):Linux常见命令(二)
Lansonli
Linuxlinux运维服务器
文章目录Linux常见命令(二)一、kill命令二、ifconfig命令三、clear命令四、重启与关机命令五、which命令六、hostname命令七、grep命令八、|管道九、useradd命令十、userdel命令十一、tar命令十二、su命令十三、ps命令Linux常见命令(二)一、kill命令作用:kill命令用于终止执行中的程序格式:kill[参数][进程号]案例:kill-91234
- 考试总结
子晋zj
1.公司一开发人员申请对服务器10天的oldboy普通用户权限,如何操作?方法一:useraddoldboy#====》创建用户passwdoldboy#====》设置用户密码usermod-e`date-d"10day"+%F`oldboy#=====》获取权限方法二chage-E"2019-04-11"oldboy20#====》获取权限2.哪个文件中存放当前系统中用户密码信息?答:/etc/
- linux添加wheel组用户
qq_34496464
linux运维linux
useraddopsusermod-Gwheelopspasswdops如果没有wheel组,则创建groupaddwheel
- 用户和文件权限管理
maplea2012
Linux服务器linux运维
一、用户管理1、创建用户[root@master~]#useraddmaple[root@master~]#ll/hometotal0drwx------2maplemaple62Feb720:47mapledrwx------2wwwwww62Jan1721:05www[root@master~]#passwdmapleChangingpasswordforusermaple.Newpasswo
- 图数据库 之 Neo4j - 环境搭建(2)
magic_kid_2010
图数据库neo4j图数据库
运行环境:centos7Dockerversion18.09.6下载镜像dockersearchneo4jdockerpullneo4j创建neo4j用户#创建neo4j用户#-M不创建用户的主目录sudouseradd-Mneo4j#usermod用于修改用户属性命令#-L锁定用户,用户无法登录系统usermod-Lneo4j创建目录mkdir-p/data/neo4j/datamkdir-p/
- 每天一个Linux命令之tail
SCOR_PIO
tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1048576(1M)。语法tai
- Linux和Windows文件共享实现方式
小刘同学-很乖
linuxwindows运维
安装samba服务sudoapt-getinstallsambasamba-common新增用户groupaddsfp-g6000useraddsfp-u6000-g6000-s/sbin/nologin-d/dev/null设置密码sudosmbpasswd-asfp修改配置文件sudovi/etc/samba/smb.conf追加参数[file]comment=sfpfile#说明path=/
- steam游戏服务器部署文档(例子:幻兽帕鲁,操作系统:CentOS7.5)
航仔~
游戏服务器运维
服务器是自己的服务器(6核16g),可以是虚拟机,也可以是装的linux系统。如果是云服务器操作同理,记得买的时候带上公网ip,就是省去了第五步端口映射。1.创建steam用户创建用户并设置密码[root@localhost/]#useraddsteam给steam用户设密码[root@localhost/]#passwdsteam给steam用户sudo权限—不知道steam用户系统会不会用su
- 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