- JavaScript 核心对象深度解析:Math、Date 与 String
小宁爱Python
前端javascript开发语言ecmascript
JavaScript作为Web开发的核心语言,提供了丰富的内置对象来简化编程工作。本文将深入探讨三个重要的内置对象:Math、Date和String,通过详细的代码示例和综合案例帮助你全面掌握它们的用法。一、Math对象Math对象提供了一系列静态属性和方法,用于执行各种数学运算,无需实例化即可使用。常用属性:console.log(Math.PI);//圆周率:3.141592653589793
- 并发编程——并发基础:守护线程和非守护线程
zlj1217
并发编程java后台线程守护线程并发基础
前言最近在复习的时候,发现一个运行线程池拒绝策略demo中的main方法在运行了之后,进程并没有关闭。看了jconsole线程池中的线程都处于waiting状态。这里是跟我设置线程池的线程工厂中的设置线程是否为后台线程有关。后台线程和非后台线程后台线程,也叫守护线程,指的是在程序运行的时候后台提供一种通用服务的线程,比如jvm里垃圾回收线程,这种线程并不属于程序中不可或缺的部分。因此,当所有的非守
- 【通过 emit() 触发的自定义事件】
软件205
VUE3API前端javascript开发语言
@[TOC](通过emit()触发的自定义事件)子组件搜索重置constemit=defineEmits();.item-search{margin-left:12px;}父组件使用importFormSearchfrom"@/components/FormSearch/index.vue";consthandleQuery=()=>{console.log("搜索参数:",{...queryPa
- 通过 es6的标签模板字符串,调用函数
改了一个昵称
es6javascript
es6的标签模板字符串/***讲一下es6的标签模板字符串*/functionfoo(...args){console.log(args);//打印的是:['why',18,1.88]}`调用foo函数,方式一`//foo('why',18,1.88)`调用foo函数,方式二`letname='coder'letage=19//也可以这样调用foo函数foo`mynameis${name},age
- 前端react框架实现打包时间动态加入配置展示在指定页面
注意:当前方法特定为create-react-app构建框架,其他的构建流程不同,不能直接照搬react-scripts的方式。✅目标:在React打包(build)时,自动将当前时间写入代码中某个变量或console.log中,例如:console.log('BuildTime:2025-06-2415:09');✅实现思路:React默认使用create-react-app(CRA),它基于W
- c# 核心技术指南——第2章 c# 语言基础
伦比兔
C#核心技术指南c#开发语言
本书中几乎所有的程序和代码片段都可以作为交互式示例在LINQPad中运行。阅读本书时使用这些示例可以加快你的学习进度。在LINQPad中编辑执行这些示例可以立即得到结果,无须在VisualStudio中建立项目和解决方案。2.1第一个C#程序在C#中,语句按顺序执行,每个语句都以分号结尾。类将函数成员和数据成员聚合在一起形成面向对象的构建单元。Console类将处理命令行的输入输出功能聚合在一起,
- vue的侦听器及怎么侦听数组--笔记
小番茄炒鸡蛋
vue.jsjavascript前端
作用侦听属性响应数据的变化,当数据发生改变的时候会立即执行对应的函数letvm=newVue({el:"#test",data:{entry:""},watch:{entry(){console.log("侦听到了");}}})这里我同过侦听器和v-model指令一起用可以更直观的体现他的作用(这也是常用搭配)。原理:当input输入内容后,因为v-model指令的绑定,此时entry属性值会随之
- 微信小程序跳转其他小程序以及跳转网站
一、跳转其他小程序1.1知道appid和页面路径wx.navigateToMiniProgram({appId:appid,//替换为目标小程序AppIDpath:pathWithParams,//小程序路径envVersion:'release',//开发版、体验版或正式版success(res){console.log("跳转到其他小程序成功!",res);},fail(err){consol
- uniapp内嵌的webview H5与应用通信
printf_824
uniapp分享uni-app
H5端:1、找到index.html引入依赖2、在需要通讯处发送消息uni.postMessage({data:{code:200,msg:"处理完成"}})uniapp端:使用@message="handlerMessage"回调的event里有所需信息functionhandlerMessage(event){console.log("接收到信息");let{code,msg}=event.d
- js 数组扁平化的几种实现方式
goodfornothing-s
javascript
一、什么是数组扁平化扁平化,顾名思义就是减少复杂性装饰,使其事物本身更简洁、简单,突出主题。数组扁平化,对着上面意思套也知道了,就是将一个复杂的嵌套多层的数组,一层一层的转化为层级较少或者只有一层的数组。Ps:flatten可以使数组扁平化,效果就会如下:constarr=[1,[2,[3,4]]];console.log(flatten(arr));//[1,2,3,4]从中可以看出,使用fla
- vue3教程笔记
Xaire
javascriptvue.js前端
选项式的写法基本和vue2一致。组合式写法:reactive()只适用于对象(数组或者内置对象),创建的对象都是js的proxy。import{reactive}from'vue'constcounter=reactive({count:0})console.log(counter.count)//0counter.count++ref()则可以接受任何值类型,ref会返回一个包裹对象,并在.va
- vue中的ref
咔咔咔索菲斯
vue.js前端javascript
在Vue中,ref是用于给元素或子组件添加引用标识的属性,通过它可以在组件实例中直接访问对应的DOM元素或子组件实例。基本用法-给DOM元素添加引用在模板中给元素添加ref="元素名",然后通过this.$refs.元素名访问对应的DOM节点。这是一个输入框exportdefault{mounted(){console.log(this.$refs.inputRef);//输出对应的DOM元素}}
- vue3 年月日 时分秒 各种转换
示例:console.log('时转秒:','1时---',hoursToSeconds(1),'秒')console.log('秒转时:','3600秒---',secondsToHours(3600),'时')console.log('分转秒:','10分---',minuteToSecond(10),'秒')console.log('秒转分:','600秒---',secondsToMinu
- Array() 方法
meng半颗糖
javascriptarray
1.concat()letarray1=[1,2,3,4]letarray2=[5,6,7,8]console.log(array1.concat(array2))//[1,2,3,4,5,6,7,8]2.fill()用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。letarray1=[1,2,3,4]console.log(array1.fill(8,1,3))//[
- 学习 前端开发中的JS调试技巧(断点)
2401_83412087
程序员学习javascript前端
Sources断点假设我现在就是要验证一下:函数传入的两个数、被加的随机数,以及最终的总和。那么该怎么操作呢?方法一从上图发现,我们在代码中新增了三行console代码,用以打印我们关心的数据变量,而最终我们从控制台(Console面板)中的输出结果,可以很清楚的验证整个计算过程是否正常,进而达到我们题设的验证要求。方法二,方法一的验证过程存在很明显的弊端就是,添加了很多冗余代码,接下来我们看一下
- H5调试工具vconsole和Eruda对比
_揽
前端学习笔记php开发语言前端javascript
VConsole与Eruda对比分析VConsole和Eruda是两款主流的移动端JavaScript调试工具,它们在功能定位、使用场景和技术实现上有诸多差异。以下从多个维度进行对比,帮助你选择更适合的工具:一、核心功能对比功能维度VConsoleEruda基础日志输出✅支持console全系列方法✅支持并增强(如分组折叠、语法高亮)网络请求监控✅显示基本请求信息(URL、状态码)✅更详细(请求/
- 【最新鸿蒙应用开发】——ArkWeb2——arkts与h5交互
秋叶先生_
harmonyos鸿蒙华为开发语言安卓交互
H5与端侧交互1.应用侧调用前端页面函数应用侧可以通过runJavaScript()方法调用前端页面的JavaScript相关函数。在下面的示例中,点击应用侧的“runJavaScript”按钮时,来触发前端页面的htmlTest()方法。前端页面代码。 functionhtmlTest(){ console.info('JavaScriptHelloWorld!'); }应用侧代码。//
- uniapp小程序在线预览
weixin_52406641
uni-app小程序前端
文章目录此文章主要为自己的笔记,所以直接上代码此文章主要为自己的笔记,所以直接上代码代码如下:chakan(){letthat=thisuni.downloadFile({url:that.fileUrl,//必须是HTTPS地址(小程序要求)success:function(res){consttempFilePaths=res.tempFilePath;console.log(tempFile
- 函数是引用类型的
functiona(){}a.deps=[]letb=ab.deps=[123]console.log(a.deps);//[123]在JavaScript中,函数实际上是一种对象。当你定义一个函数a时,你实际上是在创建一个函数对象。这个函数对象可以拥有自己的属性,比如你在代码中给a添加了一个名为deps的属性。当b=a时,只是将内存的引用赋值给了b,实际上b和a都指向同一个内存地址(a函数),这
- | 和 || 在实际开发中的使用方法
leo__520
javascript前端开发语言
一、基本使用方法按位或运算符(|)常用于二进制位操作,如权限控制、状态合并等场景。//权限控制示例constREAD=1;//二进制:0001constWRITE=2;//二进制:0010constDELETE=4;//二进制:0100//组合权限letuserPermission=READ|WRITE;//0011=3//检查权限if(userPermission&READ){console.l
- Vue3 组合式 API:生命周期钩子(三)
**之火
vue3vue.js前端前端框架Vue3
1、onMounted()onMounted()会在组件挂载到DOM后立即调用,此时DOM已经渲染完毕,可以进行相关的DOM操作或发起网络请求。exportdefault{setup(){//可以在这里定义响应式状态、计算属性等onMounted(()=>{//组件挂载到DOM后执行的代码console.log('组件已挂载到DOM');//在这里可以进行DOM操作或发起网络请求等});//返回需
- C# Process - systeminfo.exe
小老鼠爱大米
C#C#
本文主要介绍如何使用“systeminfo”来显示系统信息。usingSystem;usingSystem.Diagnostics;namespaceConsoleApp1{classProgram{staticvoidMain(string[]args){GetSystemInfo();Console.ReadLine();}staticvoidGetSystemInfo(){ProcessSt
- 腾讯云服务器linux系统有图形界面,腾讯云服务器如何搭建Ubuntu可视化界面?
kk七
腾讯云服务器如何搭建Ubuntu可视化界面?腾讯云服务器如何搭建Ubuntu可视化界面?腾讯云服务器如何搭建Ubuntu可视化界面?VNC(VirtualNetworkConsole)是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。VNC是基于UNIX和Linux操作系统的开源软件,远程控制能力强大,高效实用,其性能可以和Windows和MAC中的任
- Vscode自定义代码快捷方式
HarryHY
工程化vscodejavascript前端
首选项====>配置代码片段====>新建全局代码片段(也可以选择你的语言为了避免有的时候不生效选择全局代码){"console.log":{//名字"prefix":"log",//prefix快捷键:log"body":["console.log('$1');",//body快捷键内容"$2"],"description":"Logoutputtoconsole"//description描述
- vue3 defineExpose的使用
我在北京coding
vue3vue.js前端javascript
子组件//子组价子组件num值:{{num}}import{ref}from"vue";constnum=ref(100);constfn=()=>{console.log('我是方法');}defineExpose({num,fn})父组件//父组价import{onMounted,ref}from"vue";constchild=ref(null);onMounted(()=>{console
- 云原生时代,OpenShift如何“C位出道”
大雨淅淅
#云原生云原生openshift
目录一、云原生浪潮:OpenShift崭露头角二、OpenShift究竟是什么三、深度剖析OpenShift的强大功能(一)容器化部署(二)多租户支持(三)自动扩展(四)CI/CD管道(五)内置监控和日志记录(六)容器安全性(七)服务网格四、OpenShift的架构探秘(一)Node节点(二)Master节点(三)Operations组件(四)WebConsole界面(五)Api扩展(六)Cli命
- ABP VNext + gRPC 双向流:实时数据推送与订阅场景实现
Kookoos
AbpvNext.netABPvNext.net后端c#gRPC
ABPVNext+gRPC双向流:实时数据推送与订阅场景实现目录ABPVNext+gRPC双向流:实时数据推送与订阅场景实现背景与动机环境与依赖流式模型对比双向流时序图ABP集成gRPCProto文件️服务端实现:ChatService️客户端实现(Console示例)安全与拦截器性能优化与可观测性模块化与CI自动生成Proto参考资源背景与动机gRPC的三种流式调用(ServerStreamin
- Node.js爬虫 CheerioJS 轻量级解析、操作和渲染HTML及XML文档
伍哥的传说
前端开发那点事node.js爬虫html
简介CheerioJS是一个专为Node.js设计的轻量级库,用于解析、操作和渲染HTML及XML文档,语法类似Jquery。安装npminstallcheerio示例constcheerio=require("cheerio");consthtml=`ExampleHello,world!`;const$=cheerio.load(html);console.log($("h1").text
- selenium弹框元素定位-冻结界面
测开成长笔记
selenium
有些网站上面的元素,我们鼠标放在上面,会动态弹出一些内容。但是当我们的鼠标从音乐图标移开,这个栏目就整个消失了,就没法查看其对应的HTML。怎么办?在开发者工具栏console里面执行如下js代码:setTimeout(function(){debugger},5000)这句代码什么意思呢?表示在5000毫秒后,执行debugger命令执行该命令浏览器会进入debug状态。debug状态有个特性,
- ThinkPHP结合使用PHPConsole向Chrome 控制台输出SQL
少湖说
编程实践chromesqlandroid
在Chrome中安装PHPConsole插件下载PHPConsole服务器端程序包到ThinkPHP的Vendor目录下例如/ThinkPHP/Extend/Vendor/PhpConsole编写Behaviour行为类PhpConsoleBehavior.classfalse,);publicfunctionrun(&$params){if(C('PHP_CONSOLE')){if(APP_DE
- 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