- Qt——Qt控件之输入窗口-QTextEdit文本编辑框控件的使用总结(例程:文本编辑输入)
Winter_world
QT开发实战qt开发语言QTextEdit控件Qt文本编辑控件的使用
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!《项目案例分享》《极客DIY开源分享》《嵌入式通用开发实战》《C++语言开发基础总结》《从0到1学习嵌入式Linux开发》《QT开发实战》《Android开发实战》《实用硬件方案设计》《结构建模设计》《数据库开发总结》《JAVA入门基础》《JavaWeb开发实战》长期持续带来更多案例与技术文章分享;欢迎商业项目咨询,10年+软
- Android面试题-多线程(99题)
猎羽
Android面试题面试题android
Android面试题之多线程,包括线程、Java同步问题、阻塞队列、线程池、AsyncTask、HandlerThread、IntentService等内容。本文是我一点点归纳总结的干货,但是难免有疏忽和遗漏,希望不吝赐教。转载请注明链接:https://blog.csdn.net/feather_wch/article/details/81207725有帮助的话请点个赞!万分感谢!Android
- MobSF(Mobile Security Framework) 的详细介绍、安装指南、配置说明
程序员的世界你不懂
效率工具提升新浪微博测试工具百度
MobSF:移动应用安全分析的全能框架一、MobSF简介MobSF是一款开源的移动应用安全测试框架,专为Android和iOS应用设计。它集成了静态代码分析、动态调试、恶意软件检测、网络流量分析等功能,适用于渗透测试、漏洞挖掘和安全合规审计。其核心优势包括:跨平台支持:兼容Android/iOS应用(APK/IPA文件及安装包)。自动化分析:快速识别常见漏洞(如SQL注入、XSS、越界访问)。可视
- Appium自动化测试框架
码农黛兮_46
软件测试appium自动化测试工具
Appium自动化测试框架1、Appium简介1.1Appium概念Appium是一个开源的移动端自动化测试工具,适用于移动端原生APP、移动WebAPP或混合APP的自动化测试; Appium继承了Selenium(Web端自动化测试工具),应用WebDriver(JSONwireprotocol)技术,借助操作系统自带的测试框架来驱动Android和IOS应用。特点:Appium是一个开源、跨
- [Meachines] [Easy] Explore Android ES File Explorer+adb权限提升
Мартин.
HackTheBoxandroidelasticsearchadb
InformationGatheringIPAddressOpeningPorts10.10.10.247TCP:2222,38637,42135,59777$ip='10.10.10.247';itf='tun0';ifnmap-Pn-sn"$ip"|grep-q"Hostisup";thenecho-e"\e[32m[+]Target$ipisup,scanningports...\e[0m"
- uniapp调用Android原生NFC进行读写操作
数学分析分析什么?
uniapp相关Android相关uni-appnativeappnfc
进行读操作请刷卡读取数据varNfcAdapter;varMifareClassic;exportdefault{components:{uniPopup},data(){return{formData:{bind_code:'',tagid:'',time:null,show:false,}}},methods:{open(){//开启阴影遮罩前检查NFC状态varmain=plus.andro
- Android 轻量级双向 IPC 通信 Messenger
SunshineBoy的博客
面试专栏android
Service服务端示例://MessengerService.ktclassMessengerService:Service(){//处理客户端消息的Handlerprivatevalhandler=object:Handler(Looper.getMainLooper()){overridefunhandleMessage(msg:Message){when(msg.what){MSG_SAY
- android开发:web页面唤起其他应用app
士心山
Androidwebviewandroidwebview网页唤醒app
如何在webview加载的网页,唤醒其他应用app?具体步骤:第一步:打开AndroidMenifest.xml文件,添加下面代码关键代码:第二步:创建html文件,测试启动应用程序格式:启动应用程序各个项目含义如下所示:scheme:判别启动的App。host:适当记述path:传值时必须的key※没有也可以query:获取值的Key和Value※没有也可以参考网站详解如何通过H5(浏览器/We
- Android Studio导入外部项目时一定要使用New--Import Project 不要选Open 特别是github项目
小黄人软件
deepseekandroidstudio
AndroidStudio导入外部项目时一定要使用New–ImportProject不要选OpenNew–ImportProject适用于与本地环境不一致的项目之前在本地运行成功才选Open
- Android蓝牙通讯开发指南
缘来的精彩
androidBluetooth
在Android平台上进行蓝牙通讯开发涉及多个步骤,包括权限申请、设备发现、连接、数据传输等。以下是开发蓝牙通讯的基本流程和关键点:1.权限申请首先,在AndroidManifest.xml文件中声明蓝牙相关的权限:运行HTML从Android6.0(API23)开始,访问位置信息需要动态申请权限:if(ContextCompat.checkSelfPermission(this,Manifest
- 深度解析Android平台Camera2与大牛直播SDK的对接及应用
音视频牛哥
GB28181接入RTMP推流轻量级RTSP服务音视频实时音视频gb28181camera2相对cameracamera2rtrmpcamera2rtspcamera2直播
在移动互联网时代,实时视频采集、编码、推流和设备接入等技术在直播、安防监控等领域得到了广泛应用。本文将深入探讨如何在Android平台上利用Camera2API采集摄像头数据,并结合大牛直播SDK的RTMP推送模块、轻量级RTSP服务模块以及GB28181设备接入模块,实现高效稳定的视频处理和设备接入功能。一、Camera2API的优势与应用1.Camera2API的优势Camera2API是An
- A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction 报错
Dic-
#AndroidStudioIDE单元测试androidstudioandroidide编译报错单元测试JUnitAndroidJUnit
问题AndroidStudio编译应用报错:>Task:mergeDebugJavaResourceFAILEDExecutionfailedfortask':mergeDebugJavaResource'.>Afailureoccurredwhileexecutingcom.android.build.gradle.internal.tasks.MergeJavaResWorkAction>6f
- 解析 uni-app 小程序分包策略:合理优化包体积分布
前端梦工厂+
uni-app前端开发前端uni-app小程序
引言微信小程序的流行使得越来越多的开发者投入到小程序的开发中。但是,随着项目规模的增大,小程序的性能也会面临一些挑战。其中,小程序分包策略是提升性能的重要一环。同时,uni-app的流行也使众多的移动端开发者选择使用uni-app框架来开发移动端应用,因为开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、
- Flutter-Android编译报错与解决方案汇总
ShawnRacine
flutterandroid
报错一:java.lang.NullPointerException:Cannotinvoke“String.length()”because“”isnull解决方案:IsolvedthisproblembyupgradingAndroidGradlePlugintoversion8.3.1.YoucanuseTools->AGPUpgradeAssistanttoupgradeAndroidGr
- Android社招面经分享!2021华为Android高级面试题及答案,附相关架构及资料
Andorid实习僧
程序员面试android程序人生
反思昨晚去北京大望路阿里面试,产生了严重的挫败感,羞愧难当.比不得从大学就有目标有理想,一直在为目标努力学习技术的同学,在大学唯一能拿得出手的就是参加了电子设计大赛,学了点嵌入式的知识.毕业后开始做android,说得好听点叫做项目,实际上就是搬代码,真正记到脑子里的有多少呢?从百度Google搬到自己的代码里,同一个问题要遇到好几次才能记住,很多问题搬完了还不知道为什么这么做.ReactNati
- 牛笔了!2024年Android-高级面试题总结
2401_86964130
android
5.执行所有字段定义处的初始化,从基类开始。6.执行构造器。(在第一行会执行基类的构造器)4.对象的销毁是按照创建的逆序来进行的。5.final的方法和类都不允许覆盖和继承。private默认实现了final。6.简述内部类的特点7.形式参数可被视为localvariable,也就是说形式参数相当于在方法中定义了一个局部变量a,当传入c时,只是将c指向的对象给a8.finally语句块是在tr
- 2024 Android面试心得,已拿到offer
2401_89820624
android面试职场和发展
二、Java垃圾回收机制需要理解JVM,内存划分——方法区、内存堆、虚拟机栈(线程私有)、本地方法栈(线程私有)、程序计数器(线程私有),理解回收算法——标记清除算法、可达性分析算法、标记-整理算法、复制算法、分代算法,优缺点都理解下。详细的可以看看其他同学写的点击打开链接三、类加载机制这个可以结合热修复深入理解下。点击打开链接四、线程和线程池,并发,锁等一系列问题这个可以扩展下如何自己实现一个线
- android launchMode理解以及应用场景(1)
2401_86372470
androidphp开发语言
如果这些活动都来自同一个应用程序,它能够像5.0之前一样,堆叠的任务但是在某些情况下,我们发送的Intent来自不同的intent,新的task将被创建,新创建的activity将被放置在下面的根activity中。下面是我们重任务管理器中看到的和5.0之前是有区别的这是因为任务管理系统的改进Lollipop使它更有意义。Lollipop,你可以切换回画廊,因为它们是不同的任务。你可以发射另一个意
- 2024Android面试总结(附相关架构及资料)
2401_86372470
面试架构职场和发展
在今年六月份,我萌生了跳槽的打算,在过去的7,8月份我经历了差不多两个月左右的面试。最终拿到了平安人寿、TCL电子、投哪儿网以及几个不太知名公司的offer。于是就写下这篇文章,一来记录总结自己的面试,二来帮助需要跳槽意向的大家了提供一些跳槽经验。文末会给大家分享我整理的Android面试专题及答案(这些题我基本都刷了三遍以上,毕竟年前突然被裁心里是有点迷)准备阶段在面试准备阶段我大概准备了差不多
- [Android开发] 工具篇--Docker使用
z4a1c2
Android开发实战docker
Docker介绍Docker是一种容器工具,是一种轻量化的虚拟技术,可以支持高效便捷地创建和使用Linux容器,同时可以让开发者以便捷方式打包应用到一个可移植的容器中,然后安装至任何运行Linux或Windows等系统的服务器上。官网:https://www.docker.com/Docker基本概念Docker中有非常重要的三个基本概念:镜像(Image)、容器(Container)和仓库(Re
- android开发适配深色模式,手机不支持深色模式,如何用软件解决深色模式的问题?(附有系统全局深色模式实现方法...
weixin_39755853
android开发适配深色模式
本帖最后由巷子口的你于2020-8-807:57编辑1.92允许通过设置为助手应用来饮捷切频深色模式(设置入口一般为系统默认应用-助手和语音输人,MIU需要设置为语音助手)提醒:稳定模式一股不用开启,OPPO等设备开启深色模式后自动关团的才需要开启,据反馈,部分OPPO设备在锁屏后还是会自动关团深色模式,这个哲时无解。稳定模式下,可点击刷新米使本App界面眼随系统深色模式1.94增加用前须知,尽可
- linux建立多个repo,git+repo的搭建过程
七月步远
linux建立多个repo
此文章是分为Git搭建和repo搭建,以及repoAndroid仓库的创建Git搭建公用版代码服务器apt-getinstallgit确保ssh已经正常安装并使用。useradd-mgitapt-getinstallpython-setuptoolsgitconfig--globaluser.name"S905-server"gitconfig--globaluser.email查看成功与否则是:
- Android各版本对应的SDK版本
holamP
android版本androidandroidstudioide
平台版本SDK版本版本名称Android1434UPSIDE_DOWN_CAKEAndroid1333TIRAMISUAndroid1231,32S,S_V2Android1130RAndroid1029QAndroid9.028PieAndroid8.127OreoAndroid8.026OreoAndroid7.125NougatAndroid7.024NougatAndroid6.023Ma
- 信创国产系统与国际系统的5大技术对比
程序员
信创国产系统与国际系统的5大技术对比在全球技术飞速发展的背景下,国产系统与国际系统之间的技术对比成为了一个备受关注的话题。国产系统,即由国内企业自主研发的操作系统和其他关键技术,近年来取得了显著的进步。与此同时,国际系统,如微软的Windows和谷歌的Android,凭借其成熟的技术和广泛的应用,依然在全球市场中占据主导地位。本文将从五个关键技术维度,深入探讨国产系统与国际系统之间的差异,旨在为读
- Facebook登陆问题和在Android 11 上的问题
苗壮.
androidfacebookgradle
AndroidFaebookLoginFacebook登陆问题和在Android11上的问题Facebook新的改变为什么使用最新版本的AndroidStudio?而且要升级androidtools和gradle版本升级完成Facebook登陆问题和在Android11上的问题接入Facebookandroid版本的登陆,遇到了很多问题,在Android11上登陆不上去。android11以下都没
- Cordova插件获取App权限
zl979899
Cordovaandroid
1.github地址:https://github.com/NeoLSN/cordova-plugin-android-permissions/2.安装插件:cordovapluginaddcordova-plugin-android-permissions3.可获取的权限列表4.API方法:varpermissions=cordova.plugins.permissionscheckPermis
- [Android]浏览器下载的apk文件无法识别无法安装问题
风浅月明
Androidandroid
在Android电话机上,用浏览器下载apk进行版本更新,出现下载文件没被识别为apk,导致无法安装问题。原来的下载链接:https://mojsetup.obs.cn-southwest-2.myhuaweicloud.com/callphone-release-1.0.4.apk修改后的下载链接:https://mobile.mjsaas.com/callphone-release-1.0.4
- android java 串口通信_Android串口通信
婧在机器学习中
androidjava串口通信
1.解析SerialPortAPI串口通信例子首先分析一下例子中的类结构:通过类结构可知,最主要的还是在SerialPortJNI.java类,该类写了一些Native方法处理打开与关闭串口接收发送的SerialPort.Java代码如下:packagecom.dwin.navy.serialportapi;importjava.io.FileDescriptor;importandroid.ut
- 举世无双语音合成系统 VITS 发展历程(2024.3 PAVITS)
u013250861
#语音
VITS经典项目:FaceBook开源,1000+语言,mms-meta/MMSwenet社区,onnx和android,wenet-e2e/wetts手写模型,huakunyang/SummerTTS30+语言,rhasspy/piperVITS流式推理:
- Android系统源代码下载
nmgchfzhzhg
Android学习Android资料
一、概述众所周知,Android移动操作系统是Google花费了很大的财力、物力及人力的前提下,推广到世界各个角落,以开放源代码的方式(当然也不是完全开放所有),使其在世界范围内迅速漫延开来,到目前虽说只有三四年的时间,火热程度,也不用我细说了,看看业界新闻就明白了。这里我们主要讨论Android系统源代码的下载,这里我们先了解两个工具:1、GitGit是面向Linux内核管理的一个工具,它是一种
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http