众所周知c++是c的高级版本在面向对象上就有了体现c++有一个多的内容就是类,那么我们来看看如何创建类还要类和结构体之间的区别classplayer{public:intx;inty;charname[10];intage;voidadd(intx,inty){std::cout<
QT运行错误码:DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x800c000d ()
老男孩之百凉上该
qt5
出现这个错误码:就是url绝对地址出错了,解决办法就是去检查自己播放视频的路径!运行错误:运行正确:虽然我看不出什么问题,但是解决了,
每日推荐11.07
西瓜绿2020
分享时下比较流行的优秀国外设计,每日开眼一下;数量四组,每日积累一点点,提高设计审美!#小程序#UI01.音乐播放器移动UI套件模板https://www.uplabs.com/posts/music-player-mobile-ui-kits-template-81dc5e4e-8750-4854-bb10-4f4a01ff94b202.游戏设备商店移动UI套件模板https://www.upl
js的MediaRecorder录音录视频方法笔记
大猫会长
javascript前端开发语言
/***录音举例说明*https://www.cnblogs.com/zaijin-yang/p/17306578.html*通过web录制视频(摄像头)并上传*https://cloud.tencent.com/developer/article/1818977?areaId=106001*视频录制基础知识-MediaRecorder*https://www.jianshu.com/p/ad7d
Android Q 音频获取指南
谷歌开发者
作者:DonTurner,开发技术推广工程师,AndroidMedia团队AndroidQ新引入的AudioPlaybackCaptureAPI允许应用获取其它应用中的音频。在这个API的帮助下,开发者将顺利处理多种业务场景,为用户提供轻松简便的内容分享与无障碍体验。部分常见用例包括:实时字幕:为正在播放的音频文件提供实时字幕和翻译。实际上,今年I/O开发者大会上展示的LiveCaption示例应
WPF-后台设置控件Background
StevenChen85
WPFwpf学习笔记
有时候需要在后台设置控件的背景方法1:Btn_SendNeedle_Admin.Content="送针结束";Btn_SendNeedle_Admin.Background=newSolidColorBrush((Media.Color)Media.ColorConverter.ConvertFromString("#AAFFFFFF"));方法2:Btn_SendNeedle_Admin.Bac
树莓派开机自动播放U盘里的照片和视频
Rocky_dmy
Raspberry原创音视频linuxpython
要用树莓派实现开机自动播放U盘里的照片和视频,你可以通过以下步骤来实现:1.挂载U盘首先,你需要确保树莓派能够自动挂载U盘。这通常需要在/etc/fstab文件中添加U盘的挂载信息。例如,如果你的U盘在插入时被识别为/dev/sda1,并且你想将其挂载到/media/usb,你可以在/etc/fstab中添加如下行:#!/bin/bash/dev/sda1/media/usbautodefault
在Linux/Ubuntu/Debian中测试USB驱动器(U盘)的速度
理工男老K
linuxubuntudebian
如果你想测试USB驱动器的速度,可以使用各种工具和命令来测量读写速度。用于此目的的一个常用工具是“dd”。以下是如何使用“dd”执行简单的速度测试:测试写入速度:打开终端。使用以下命令将测试文件写入USB驱动器:ddif=/dev/zeroof=/media/su/SharedDisk/testfilebs=1Mcount=100if=/dev/zero:输入文件是零流(虚拟零填充文件)。of=/
设计模式-行为型模式-中介者模式
凌睿马
设计模式中介者模式java
中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。[DP]首先,我们定义一个Colleague接口,表示同事类:publicinterfaceColleague{voidsend(Stringmessage,Mediatormediator);voidreceive(Stringmessag
java sunTone am_Java企业架构师课程(原Sun资深Java架构师亲授)
weixin_39963523
javasunToneam
资源内容:Java企业架构师课程(原Sun资深Java架构师亲授)|____下载必看.txt|____C5企业项目的架构与性能优化|____architecture-9_media|____architecture-8-2_media|____architecture-8-1_media|____architecture-7-2_media|____architecture-7-1_media|_
Android私有目录文件移动到公有目录
TenTenXu
随手记androidkotlinjava
背景:今天早上做了一个拍照后就上传到后台的需求,这个需求还是蛮好处理的,不就是拍照嘛,信誓旦旦说等会就打包出来,结果引发了思考,搞到了下午才打包。拍照/***拍照*/privatefuntoTakePicture(){currentTakePhotoTime=System.currentTimeMillis()valtakeIntent=Intent(MediaStore.ACTION_IMAGE
Avalonia学习(二十九)-仪表
jason成都
学习Avalonia
Avalonia制作仪表盘,把控件给大家演示一下,Avalonia有三类自定义控件,分别是用户控件、模版控件、自主控件。前面已经很多用户控件了,这个是演示模版控件,另外一种不知道哪种情况下使用。前端代码:-->后台代码:usingAvalonia;usingAvalonia.Controls;usingAvalonia.Controls.Shapes;usingAvalonia.Media;usi
UE5 C++ TPS开发 学习记录(八
烟水寻常
ue5c++学习
这一次到了p19完善了UI和写了创建房间MultiPlayerSessionSubsystem.h//FilloutyourcopyrightnoticeintheDescriptionpageofProjectSettings.#pragmaonce#include"CoreMinimal.h"#include"Subsystems/GameInstanceSubsystem.h"#includ
cmake添加QT multimedia包(mac,ubantu)
熊明之
camkeQtmacosqt开发语言cmake
现有的百度关于cmake添加QTmultimedia包(mac,ubantu)都是错误,正确的添加方式如下,cmake添加2行set(Qt5MultimediaWidgets_DIR**/Qt5.9.8/5.9.8/clang_64/lib/cmake/Qt5MultimediaWidgets)#包的位置target_link_libraries(${PROJECT_NAME}Qt5::Widge
关于MediaEval数据集的Dataset构建(Text部分-使用PLM BERT)
Coisíní℘
多模态虚假新闻检测bert人工智能深度学习
importrandomimportnumpyasnpimportpandasaspdimporttorchfromtransformersimportBertModel,BertTokenizerfromtqdm.autoimporttqdmfromtorch.utils.dataimportDatasetimportre"""参考Game-On论文""""""util.py"""defset_
ExoPlayer 播放视频黑屏的解决方法
PowerMartin
音视频
最近项目中在使用ExoPlayer来进行视频的播放,开发过程中遇到了部分视频打开后黑屏的问题,报错日志如下。EAudiocodecerrorandroid.media.MediaCodec$CodecException:Error0xeEPlaybackerrorandroidx.media3.exoplayer.ExoPlaybackException:MediaCodecAudioRender
CSS面试题:说一说对rem的理解?
程序员大澈
面试题合集前端vue.jsjavascriptcss
概述:页面响应式用rem实现【根据设备屏幕宽度改变根元素fontsize】,设备自适应用媒体查询实现【根据设备屏幕宽度控制哪些样式class生效】媒体查询实现:【页面结构需要变化时使用】1、link元素中的CSS媒体查询【一般用于Js项目】2、样式表中的CSS媒体查询【一般用于Vue项目】@mediascreenand(min-width:901px){body{background-color:
react + umi中如何使用rem完成自适应布局
左&耳
前端css3html
只要写css就可以实现:flex+rem布局;在项目的global.less中根据媒体查询;媒体查询是用于根据设备的特性(如屏幕尺寸、屏幕方向、分辨率等)来应用不同的CSS样式的技术。以下是一些常用的媒体查询尺寸:小屏幕设备(手机):最大宽度为576px:@media(max-width:576px){...}中等屏幕设备(平板):最小宽度为576px:@media(min-width:576px
基于Nakama和Unity开发网络多人游戏:Part 2
您好!在我的博客当中,我将持续挑选一些优质的国外技术文章进行翻译,如果文章内容翻译有误,欢迎在评论区指正,感谢:)本文是Nakama系列的第二篇,第一篇的链接如下:https://segmentfault.com/a/1190000044502161以下是原文链接:Tutorial:MakingaMultiplayerGamewithNakamaandUnity:Part2/3–TheKnight
细胞凋亡检测试剂盒提取的方法步骤有哪些?
清风拂面vv
产品特点◎基因工程优化的TdT酶,卓越的脱氧核糖核苷转移活性,可以在凋亡细胞断裂的DNA3’-OH端催化掺入更多的FITC-12-dUTP;◎特别配方的标记缓冲液,有效缩小FITC-12-dUTP掺入DNA链的空间位阻,使FITC标记效应达到最大化;◎荧光信号清晰,背景干净,特别适用于细胞涂片、爬片、石蜡切片和冰冻切片等。产品介绍TUNEL(TdTmediateddUTPNickEndLabeli
unity学习(38)——创建(create)角色脚本(panel)--EventSystem
u宅
学习
1.在scripts文件夹下创建一个脚本CreatePlayerPanel.cs,脚本挂到panel上!给panel加个tag,叫createPanel,脚本内容如下:usingSystem.Collections;usingSystem.Collections.Generic;usingTMPro;usingUnityEngine;publicclassCreatePlayerPanel:Mon
pose_landmarker_lite.task和pose_landmark_lite.tflite 的区别
图灵追慕者
MediaPipeposelandmarkerMediaPipe
pose_landmarker_lite.task和pose_landmark_lite.tflite是MediaPipe中用于姿势估计的两个不同文件,它们各自的作用和功能如下:1.pose_landmarker_lite.task:pose_landmarker_lite.task是一个任务文件,用于定义MediaPipe框架中使用的姿势估计任务的配置和参数。任务文件包含了模型的输入和输出规格、
【每日前端面经】2023-02-25
糠帅傅蓝烧牛肉面
每日前端面经前端面试
题目来源:牛客+牛客每日面经20240225了解Taro么Taro是一个开放式跨端跨框架解决方案,支持使用React/Vue/Nerv等框架来开发微信/京东/百度/支付宝/字节跳动/QQ/飞书小程序/H5/RN等应用多端适配怎么做固定布局(PC)window.screen分类加载CSS@media媒体查询vh+vw+rem百分比布局响应式布局移动端适配怎么做同上偏工程化如何做字体大小的适配通过媒体
【人脸识别系列】从知名DeepFace人脸识别库入手详解人脸识别---第三部分DeepFace库使用介绍之人脸检测模型介绍
Hello_WOAIAI
CV人脸识别目标检测计算机视觉视觉检测图像处理YOLOopencv
【人脸识别系列】从知名DeepFace人脸识别库入手详解人脸识别---第三部分DeepFace库使用介绍之人脸检测器介绍前言DeepFace库人脸检测器OpenCV人脸检测器RetinaFace人脸检测器mtcnn人脸检测器sdd人脸检测器dlib人脸检测器mediapipe人脸检测器yolov8人脸检测器人脸识别系列其他文章【人脸识别系列】从知名DeepFace人脸识别库入手详解人脸识别—第一部
二层交换机和三层交换机区别
OpenClouds
网络知识网络服务器运维
01、二层交换机二层交换机,也被称为数据链路层交换机,是在OSI模型的数据链路层(第二层)进行数据交换的设备。它基于MAC(MediaAccessControl)地址来转发数据包,实现局域网内部的数据传输1、特点透明性:二层交换机对上层协议是透明的,即它不关心数据包中的具体内容,只根据MAC地址进行转发。广播域分割:二层交换机能够将局域网分割成多个广播域,从而减少广播数据包的传播范围。无需配置:二
微信小程序相机组件的使用
kevin_xfzy
工具微信小程序相机组件的使用微信相机组件
最近开发人脸识别登录系统,需要在微信中调用相机实现拍照上传功能,最开始使用H5控件实现,但界面不太美观,H5的getMedia只兼容几个主流的浏览器,所以就研究了微信相机组件的开发,过程经历了许多坑......H5利用input标签直接调用相机:https://blog.csdn.net/qq_25101225/article/details/81034626首先需要获取使用微信JS-SDK的授权
vue.js之视频播放器组件
一个小前端程序员
首先,安装依赖npminstallvue-video-player-S然后,在src/main.js中importVueVideoPlayerfrom'vue-video-player'import'video.js/dist/video-js.css'Vue.use(VueVideoPlayer)最后,在组件中使用exportdefault{data(){return{playerOptions
二型交换机和三型交换机的区别
交换机网络计算机网络
首先,二层交换机和三层交换机都是网络中用来连接不同设备的硬件,但他们工作在不同的“层次”上。这里的“层次”是参考OSI(OpenSystemsInterconnection)模型,这是一个描述计算机网络如何工作的模型,它将网络通信过程分成了七层,从物理层(最底层)到应用层(最顶层)。二层交换机工作在数据链路层,而三层交换机工作在网络层。简单来说,二层交换机是根据设备的MAC地址(MediaAcce
content-type
亮学长
前端
content-type是什么Content-Type是HTTP协议中的一个头部字段(HeaderField),用于指示发送的实体数据的媒体类型(MediaType)。该字段用于告知服务器或客户端接收到的数据的内容类型,以便正确地处理和解析数据。Content-Type头部字段的格式通常为:Content-Type:type/subtype。其中:type指示主要的类型,例如文本、图像、音频等。s
Kaggle Intermediate ML Part Two
卢延吉
NewDeveloper数据(Data)ML&ME&GPTDataML
CategoricalVariablesCategoricalvariables,alsoknownasqualitativevariables,areafundamentalconceptinstatisticsanddataanalysis.Here'sabreakdowntohelpyouunderstandthem:Whatarethey?Categoricalvariablesrepre
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