- java netty长连接_用netty实现长连接
大笨妞
javanetty长连接
示例代码1:https://github.com/howdyli/netty示例代码2:http://my.oschina.net/bv10000/blog/399388iosasyncsocket示例代码:http://www.superqq.com/blog/2015/04/03/ioskai-fa-zhi-asyncsocketshi-yong-jiao-cheng/长连接服务文章:http
- 迅为RK3568开发板篇OpenHarmony配置HDF驱动控制LED-新增 topeet子系统-编写 bundle.json文件
mucheni
RK3568开发板rk3568
bundle.json文件内容如下所示:下面是对各个字段的解释:1.name:"@ohos/demos"-这是组件或项目的名称,这里表示它属于OHOS(OpenHarmonyOS)生态系统下的一个名为"demos"的组件。2.description:"topeetdemos"-它描述了组件的简短说明3.version:"4.1"-组件的版本号。4.license:"Apache-2.0"-组件使用
- reac 后端接口返回二进制文件流前端导出文件
初遇你时动了情
前端
axios配置在你的请求中加入responseType:'blob'导出函数exportinterfaceDownloadFileOptions{filename:string;//文件名称}/***下载二进制文件流*@paramdata-二进制数据*@paramoptions-下载配置*/exportconstdownloadBinaryFile1=(data:any,//这里使用any是因为后
- iOS开发——NSURLSession初步学习(下载、待完善)
吉吉有梦想
iOS开发
文章目录一、前文二、NSURLSession与NSURLConnection区别2.1使用现状2.2普通任务、上传和下载2.3下载任务方式2.4请求方法的控制2.5断点续传的方式2.6配置信息三、NSURLSession的优势四、代码部分4.1Xcode不支持http访问的解决办法4.2手动缓存(繁琐)4.3自动缓存四、demo一、前文写这篇文章,是为了总结一周内的学到的关于NSURLSessio
- iOS开发入门(一)
ape阿浩
iosobjective-cswift
iOS开发是做什么的呢?这一点嘛,主要做iOS操作系统上的应用软件,包括iPhone和iPad上的各种App,主要使用的语言是Objective-C和Swift开发语言,这两种语言都是面向对象的编程语言。iOS开发使用什么开发工具呢?统一使用Xcode进行开发,Xcode可以从AppStore进行获取,这个集成开发工具(IDE)既可以开发iOS应用软件,也可以开发macOS应用软件,Xcode中可
- iOS开发最佳实践与架构指南
csp1223
本文还有配套的精品资源,点击获取简介:为确保iOS应用开发的代码质量、可维护性以及提升团队协作效率,遵循一组明确的开发准则和最佳实践是必不可少的。Trendyol提供的"ios-guidelines"是一个全面的指南,详细介绍了包括MVC、MVVM、VIPER在内的架构模式,CocoaPods依赖管理,SwiftLint代码风格检查,AutoLayout和Storyboard工具使用,以及单元测试
- Objective-C语言的数据类型
Quantum&Coder
包罗万象golang开发语言后端
Objective-C数据类型详解Objective-C是一种面向对象的编程语言,主要用于macOS和iOS应用程序的开发。作为C语言的超集,Objective-C继承了C语言的基本数据类型,同时也引入了一些独特的特性。本文将对Objective-C的各种数据类型进行详细的介绍,以帮助读者更好地理解和使用这种语言。一、基本数据类型1.整型(IntegerTypes)整型用于表示整数。在Object
- 【Compose multiplatform教程25】拖放操作
小林爱
前端compose框架kotlin多平台android
目前,拖放操作仅在Compose多平台的桌面端受到支持。在未来的版本中,这一支持将会扩展至iOS平台以及网页端。你可以让你的Compose多平台应用能够接收用户从其他应用程序拖入其中的数据,或者允许用户将数据拖出你的应用。要实现这一点,可使用“dragAndDropSource”(拖放源)和“dragAndDropTarget”(拖放目标)修饰符来指定特定的可组合项作为拖放操作潜在的源或目标。“d
- iOS - 关联对象的实现
Batac_蝠猫
iOS底层原理ioscocoamacos
根据源码总结一下关联对象(AssociatedObjects)的实现:1.关联对象的基本结构//对象的isa结构中包含关联对象标记unionisa_t{struct{uintptr_tnonpointer:1;//是否使用优化的isauintptr_thas_assoc:1;//是否有关联对象//...其他位域};};//关联对象表structAssociationsManager{staticA
- 2025年1月18日(树莓派点亮呼吸灯)
Mason Lin
RaspberryPiZero2Wpython树莓派LEDlinux
系统信息:RaspberryPiZero2W系统版本:2024-10-22-raspios-bullseye-armhfPython版本:Python3.9.2已安装pip3支持拍摄1080p30(1092*1080),720p60(1280*720),60/90(640*480)已安装vim已安装git学习目标:pwm呼吸灯学习内容:呼吸灯importRPi.GPIOasGPIOimportti
- django笔记
幸福诗歌
pythondjango
init:初始化执行方法setting:配置文件urls:路由刚创建出来的项目分为两级:第一级:项目文件夹manage.py第二级是我们的关键:settings项目的总配置文件urlsurl链接文件wsgi服务器配置文件MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分
- axios与request的区别
懒大王、
前端小常识前端js
axios与request的区别发送数据类型的区别axios会根据要发送的数据来设置合理的Content-type,默认是application/json//data是作为请求主体被发送的数据//只适用于这些请求方法‘PUT’,‘POST’,和‘PATCH’//在没有设置transformRequest时,必须是以下类型之一://-string,plainobject,ArrayBuffer,Ar
- android FragmentTabHost 的简单使用
冰糖心158
android开发
效果图:1、下面是一个简单的Demo,仅供参考packagecom.example.fragmentpageadapter;importjava.util.List;importandroid.os.Bundle;importandroid.support.v4.app.Fragment;importandroid.support.v4.app.FragmentActivity;importand
- 鸿蒙和安卓、ios的对比
惺星
harmonyosandroidios
鸿蒙系统、安卓系统、iOS系统各有特点。总体来说,鸿蒙系统在流畅性、分布式能力和可扩展性方面表现出色,安卓系统在开放性和可定制性方面具有优势,而iOS系统在稳定性和易用性方面占优。流畅性:鸿蒙系统在流畅性方面表现优秀。由于其基于微内核设计,且对硬件资源进行深度优化,使得设备在运行鸿蒙系统时更为流畅。相比之下,安卓系统的流畅性表现稍逊色,主要是由于安卓系统的碎片化问题导致设备之间的性能差异较大。而i
- Vue.js组件开发-实现后端返回二进制文件在浏览器自动下载
LCG元
前端vue.js
在Vue.js组件开发中,若需实现从后端获取二进制文件并触发浏览器自动下载,可以利用axios(或其他HTTP客户端库)来向后端发送请求,随后利用Blob对象及URL.createObjectURL方法生成一个可供下载的链接,最后通过创建一个隐藏的元素或利用window.location来启动下载。步骤1.发送请求获取二进制数据:利用axios向后端API发送请求,并指定responseTyp
- 基于vue.js+element-ui组件开发的博客blog详细步骤
perfect-code-hzy
前端工程师学习笔记vue.jsjavascript
vue学习笔记一、前端项目初始化步骤1、通过vuecli3创建项目2、配置vue路由3、配置element-ui组件库4、配置axios库5、初始化git远程仓库6、将本地项目托管到GitHub或码云上二、接口API1、调试工具三、登录和退出功能完成登录组件提交到git--合并分支一、前端项目初始化步骤1、通过vuecli3创建项目通过vueui命令进行可视化创建项目选择创建的路径->自定义配置项
- HarmonyOS 与 iOS:架构与优势的深度剖析
汪子熙
计算机基础知识harmonyosios架构华为
在现代操作系统的版图中,HarmonyOS和iOS都占据着重要地位。它们代表了两种不同的发展方向:前者以分布式架构和多终端融合为核心,后者则以精细化的用户体验和封闭的生态系统见长。以下将通过多个维度剖析它们的本质区别与各自的优势。技术架构的不同HarmonyOS是由华为开发的一款基于微内核设计的分布式操作系统,强调跨设备的无缝协同。其微内核架构使系统的模块更加轻量化,并支持多样化设备的集成,从智能
- iOS:精致雕琢的移动操作系统
ios
在移动操作系统的领域中,iOS以其独特的设计理念、出色的用户体验和强大的生态系统脱颖而出,成为了众多用户追捧的对象。自2007年第一代iPhone发布,搭载iOS操作系统惊艳亮相,它便开启了移动设备的新时代,持续引领着行业的发展潮流。iOS系统的设计理念,始终秉持着简洁与优雅的原则。从系统界面到交互方式,都体现了对简约美学的极致追求。主屏幕上,图标排列整齐有序,采用简洁明了的设计风格,色彩搭配和谐
- VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS ConnectX-3 网卡定制版
esxi
VMwareESXi8.0U3cmacOSUnlocker&OEMBIOSConnectX-3网卡定制版(集成驱动版)VMwareESXi8.0U3cmacOSUnlocker&OEMBIOS集成网卡驱动和NVMe驱动(集成驱动版)发布ESXi8.0U3c集成驱动版,在个人电脑上运行企业级工作负载请访问原文链接:https://sysin.org/blog/vmware-esxi-8-u3-sys
- Omnissa Dynamic Environment Manager 2412 - 个性化动态 Windows 桌面环境管理
虚拟化
OmnissaDynamicEnvironmentManager2412-个性化动态Windows桌面环境管理Simplifymanagementofuserprofiles,environmentsettings,andpoliciesacrossdesktopsandapps.请访问原文链接:https://sysin.org/blog/omnissa-dynamic-environment-
- VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS Dell (戴尔) 定制版
esxi
VMwareESXi8.0U3cmacOSUnlocker&OEMBIOSDell(戴尔)定制版ESXi8.0U3c标准版,Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)、Cisco(思科)、Hitachi(日立)、Fujitsu(富士通)、NEC(日电)、Huawei(华为)、xFusion(超聚变)OEM定制版请访问原文链接:https://sysin.org/b
- iOS生态系统
ios
闭环优势与发展前景iOS生态系统作为苹果公司构建的一个独特的数字生态,以其闭环式的运作模式在移动互联网领域展现出强大的竞争力。这个生态系统涵盖了硬件设备、操作系统、应用商店以及开发者社区等多个关键要素,它们相互协作,共同为用户提供了优质、统一的服务体验。iOS生态系统的核心优势之一在于其闭环式的管理模式。苹果公司对硬件、软件和服务进行全面的掌控和优化。从iPhone、iPad到Mac等硬件设备,再
- uniapp 微信小程序,底部安全距离适配,针对安卓iPhone不同型号手机
沐雨MUYU_
uni-app微信小程序android
1、全局定义底部安全距离//前提:项目中安装了vuex或其他状态管理工具//文件位置src/store/index.tsimport{createStore}from'vuex';exportdefaultcreateStore({state(){return{safeBottom:''//底部安全距离};},mutations:{...},actions:{...},getters:{safeB
- iOS系统的用户体验
ios
简洁与高效的融合iOS系统在全球拥有庞大的用户群体,其备受青睐的重要原因之一,便是为用户带来了简洁与高效相融合的卓越体验。这种体验贯穿于用户使用设备的每一个环节,从开机的那一刻起,便深深吸引着用户。iOS系统的简洁性首先体现在其界面设计上。主屏幕布局简洁大方,图标设计精美且具有高度的辨识度。系统默认的壁纸和主题色调搭配和谐,营造出一种清新、舒适的视觉氛围。与一些安卓系统复杂多样的界面相比,iOS系
- 【工具】苹果手机和安卓手机,如何进行弱网测试
keira674
工具智能手机android
进行弱网测试(网络条件不佳的情况下测试)对于确保应用程序或网站在各种网络环境下的表现是非常重要的。以下是如何在苹果手机(iOS)和安卓手机上进行弱网测试的方法:1.苹果手机(iOS)弱网测试方法方法一:使用iOS的开发者模式步骤:打开你的iPhone,进入“设置”>“开发者”。找到“网络链接调试器”(NetworkLinkConditioner)选项。启用“网络链接调试器”并选择不同的网络配置,例
- [经验总结]error: no match for ‘operator>’ (operand types are ‘const *’ and ‘const *’) { return _
wingaso
C++经验总结错误分析c++linuxstldebugbug
索引一、错误报告二、报错代码三、修正后的代码四、原因和总结一、错误报告g++4.cpp-o4.exeInfileincludedfrom/usr/include/c++/8/string:48,from/usr/include/c++/8/bits/locale_classes.h:40,from/usr/include/c++/8/bits/ios_base.h:41,from/usr/incl
- 让iPhone自带浏览器Safari能自动播放Video视频的办法
夏日米米茶
videoautoplayiphone
原以为在标签上加入“autoplay”属性就能自动播放了,没想到会受到浏览器的安全限制,会阻止视频的自动播放,具体说明可查看:https://developer.mozilla.org/zh-CN/docs/Web/Media/Autoplay_guide想让浏览器自动播放视频/音频媒体的具体解决方法如下:1、首先要在video标签上加入必要的属性,例如:尤其注意需要设置“音频文件静音或其音量设置
- iOS离屏渲染详解
风雨「83」
iOSiosobjective-c
iOS离屏渲染离屏渲染是指图层在被显示之前是在当前屏幕缓冲区以外开辟的一个缓冲区进行渲染操作。离屏渲染需要多次切换上下文环境:先是从当前屏幕(On-Screen)切换到离屏(Off-Screen);等到离屏渲染结束以后,将离屏缓冲区的渲染结果显示到屏幕上又需要将上下文环境从离屏切换到当前屏幕,而上下文环境的切换是一项高开销的动作。会造成offscreenrendering的原因有:阴影(UIVie
- iOS 保持界面流畅的技巧
风雨「83」
iOSiosobjective-cxcode
一个非常经典的帖子,适合iOS中高级https://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/
- Goland项目内引入字符串标红的解决办法
liynet
java前端服务器
当我在go项目内引入某个模块比如:import("log""xxx.com/bird/models")时,Goland会提示错误并标红这个引用,实际这个引用就走go.mod中配置着,但Goland就是不认,问了AI才知道解决办法如此简单,如下图:打开GoLand的设置(Settings/Preferences)导航到Go->GoModules,确保"EnableGomodulesintegrati
- 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