- Python用PIL将PNG图像合成gif时如果背景为透明时图像出现重影的解决办法
orange_wrj
pythonPIL
最近在用PIL合成PNG图像为GIF时,因为需要透明背景,所以就用putpixel的方法替换背景为透明,但是在合成GIF时,图像出现了重影,在网上查找了GIF的相关资料:GIF相关资料其中有对GIF帧数处理的说明,需要在GIF图像的header中设置disposal的处置方法然后我们可以查看PIL库中关于GIF的定义文件GifImagePlugin.pydisposal=int(im.encode
- 2022-08-03
开朗的网友ben
蔡徐坤打篮球是什么梗蔡徐坤打篮球这个梗起源于虎扑论坛,有网友当时开了个帖子,论流量明星蔡徐坤、吴亦凡鹿晗等人谁的球技最好,不知道哪个网友丢了一个gif图出来也是技惊四座。蔡徐坤打篮球是什么意思什么梗?蔡徐坤打篮球被黑原因揭秘这个动图其实是之前在参加《偶像练习生》的时候一个特长的展示,蔡徐坤将篮球和舞蹈结合在一起的一段表演。有一部分网友表示有一点点的尴尬,打球给人的感觉太柔了,有人说我从来没有见过如
- python5行代码生成特色二维码
Cache_wood
python的myqr库有生成二维码的功能,仅仅用几行代码就可以实现特色二维码,快来试试吧!首先需要安装myqr库win+R打开命令行pipinstallmyqr2.安装完毕之后就可以快乐编程啦步骤是先导入库,之后使用run函数,需要注意的是函数中的几个重要参数。参数作用words二维码的内容或者链接picture自定义二维码背景图,支持.jpg,.png,.bmp,.gif格式,默认为黑白色co
- 每日一笑
幽默段子君
QQ图片20190426175006.gif1:小乐的老婆小美是个购物狂,每次小美从商场回来,他就发愁了。小美:“老公,我今天在商场买衣服花了六万多!”小乐:“我的天呐,家里的衣柜都不够放了吧?”小美:“够,我只买了一件。”2:老婆下班回来对我说:“亲爱的,今天晚饭你做吧,我手头还有点工作。”我:“我不做。”老婆:“爱做不做!”“做!”,听到这话,我立马站起来,开始脱衣服。3:媳妇昨天秤重,发现又
- 图形几何算法 -- 凸包算法
CAD三维软件二次开发
算法学习算法c#3d几何学
前言常用凸包算法包括GrahamScan算法和JarvisMarch(GiftWrapping)算法,在这里要简单介绍的是GrahamScan算法。1、概念凸包是一个点集所包围的最小的凸多边形。可以想象用一根绳子围绕着一群钉子,绳子所形成的轮廓便是这些钉子的凸包。在计算几何中,凸包得到了广泛的应用,涉及领域包括模式识别、图像处理和优化问题等。2、算法原理凸包算法的目标是从给定的点集(在二维平面中)
- 搞笑GIF段子:我擦,我还没有抄完呢
宁静致远_501e
我擦,我还没有抄完呢~我仿佛看到了两根筷子,在前后晃动今天三十岁生日,自己庆祝一番吧人不如浣熊~今天孩子们全回家了,老人非常高兴。其实我是一个专业的摄影师~搞笑段子1.从小我有个愿望,希望长大之后每天有数不完的钞票。长大后真的实现了!我在一家银行工作,每天真的有数不完的钞票!上班一阵子后,我发现这个愿望太好达成了。于是我又许下一个愿望:我以后一定要开银行!结果没想到这个愿望我在上星期又达成了!经理
- Sonnet 12: Eternal life
billowchaser
OftonmortalityIcontemplate:asnoelixirlastsyourlifeorfame.InfaceoffickleheraldoftheFate,Ifearitmayeffacemyloveone’sname.HadIthegiftoftheStratfordianbard,You’dlivetilllasteye’ssightandlastman’sbreath.Fe
- 在 Vue 中实现跨项目数据传递
轩轩990218
VUE系列vue.js前端javascript前端框架数据库
在Vue中实现跨项目数据传递可以通过以下几种方法:一、使用本地存储(LocalStorage)存储数据在一个项目中,可以使用localStorage.setItem()方法将数据存储到本地存储中。例如:localStorage.setItem('sharedData',JSON.stringify({key:'value'}));读取数据在另一个项目中,可以使用localStorage.getIt
- canvas计时小案例
哈哈乐乐WXT
前段时间看到某QQ群里有问这个效果怎么写,一时兴趣也研究了一下,写个小例子;效果基本实现了,代码也不是很完善,如实际操作还需更改;留着以后备用。效果图1.gifcss代码div{margin:0auto;margin-top:100px;background:#eee;width:500px;height:500px;text-align:center}canvas{margin:0auto;ma
- JSON.stringify() 和 JSON.parse()
番茄小酱001
JSjavascript前端vue.jsreact.js
我们知道,JSON.stringify()和JSON.parse()是一对处理JSON数据的方法,前者是将JSON对象序列化为字符串,而后者是将JSON字符串解析为JSON对象。但是你有较为深入地去了解过它们吗?它们分别可以传入几个参数以及每个参数对应的作用是什么呢?一、JSON.stringify()JSON.stringify()方法能将一个JavaScript对象或值转换成一个JSON字符串
- CSS 之 动态九宫格效果
努力的小朱同学
花样CSScss前端
一、简介今天给大家分享的是纯CSS实现的动态九宫格布局效果,即:九个元素排列成三乘三的九宫格布局,当鼠标hover到某个元素时,该元素会被放大,而其他元素则会被挤压缩小,从而维持整个外层父元素的大小不变。具体效果如下面的gif图所示。只要你对效果中使用到的:CSS自定义属性、:has()伪类选择器、trasition过渡等CSS知识点熟料掌握,那么该效果实现起来可以说是相当简单。该效果可以应用在图
- CSS实现“鼠标悬浮按钮_闪过光泽”效果
SOLDIER_76
创建按钮创建按钮样式创建渐变光创建什么时候渐变光出现创建渐变光的动画效果动画开始执行HTML+CSS,一共6个步骤实现效果代码效果:(用灵者GIF录制工具录下来的,效果不怎么好)HTML:(先随便写一个按钮,a或者button都为所谓。写两个类名,第一个显示按钮的样式,第二个控制按钮的动画,就写一个类名也无所谓,写两个是便于维护)CSS:(给按钮添加一些基础的样式,没什么说的,这里需要写个posi
- MATLAB绘制GIF格式的动态曲线
雍珑庚
Matlab仿真专栏matlab开发语言
代码如下:clc;clear;closeall;fig=figure;x=0:2*pi*0.01:2*pi;im=cell(1,length(x));fori=1:length(x)y=sin(i*x/10);plot(x,y,'r')pause(0.5)drawnowframe=getframe(fig);im{i}=frame2im(frame);endfilename='C:\Users\1
- MATLAB绘制GIF格式的动态点和动态曲线随动
雍珑庚
Matlab仿真专栏matlab开发语言
代码如下clc;clear;closeall;fig=figure;axis([0,2*pi,-1,1]);x=linspace(0,2*pi,20);y=sin(x);h=animatedline("Color",'r',"Marker","o","MarkerSize",10,"LineWidth",3);im=cell(1,length(x));fori=1:length(x)addpoin
- postman的加密和解密
盼丨盼
postman测试工具
一、对称式加密(私钥加密)Base64加密://base64加密varusername=CryptoJS.enc.Utf8.parse("admin");//先转为UTF-8格式varbase64_username=CryptoJS.enc.Base64.stringify(username);//进行Base64加密console.log(base64_username);Base64解密://
- 年味儿
烟雨红晨
图片来源于网络.gif儿时的年味儿,是猪圈里被宰掉的猪。是盼望已久的新衣裳,以及那噼里啪啦的鞭炮声。兜里装满了彩色的糖果,也终于有了舍不得花掉的零花钱。有长辈们的叮咛,也有伙伴们的嬉笑打骂。长大后的年,是盼望着回家的日子。那一列列拥挤的车厢,却也抵挡不了回家的脚步。年是超市里的琳琅满目,是亲朋好友团聚的日子。相聚总会很难,也有现实攀比的压力。为何生活越来越好,快乐却越来越少?为何新年越来越近,年味
- 解决移动端跳转问题——CSS过渡、target伪类
Nice先生的狂想曲
前言很多刚刚接触移动端的小伙伴都可能对于点击跳转路由这方面有些疑惑,特别是运用了Vue路由,因此这篇文章就带领小伙伴一起尝试用css进行页面跳转效果如图,由于是移动端,所以选择预览的手机模拟:1.gifHTMLshouyezhanlangerenshouyezhanlangeren主要分为main和nav两部分,其中main中包含的三个div表示三个不同的页面,同时对应的nav中三个不同的a,特别
- Android 11 ,Android Studio 三方APP调用系统 system/lib 目录下so库使用过程中的BUG(坑)。
苏苏码不动了
androidandroidstudiobug
背景介绍:最近在做文件管理器,需要把图库的功能集成到文件管理器中,实现在文件管理器中打开图片、切换图片的功能。在实现gif图片打开功能的时候,需要用到系统现成的gifplayerso库,导入Androidstudio的时候遇到了一堆问题,解决了感觉有必要记录一下主要的两个问题。一、Androidstudio导入so库。 按照下图创建目录导入。 java代码中使用System.loadLibra
- 滴滴前端日常实习一面
真的很上进
前端面试javascriptvuejava
同步到csdn上一面水平居中、垂直居中的方法。align-item实现的是水平居中还是垂直居中。flex-direction为column的时候,是什么居中。js有什么数据类型。简单数据类型和复杂数据类型的区别深拷贝和浅拷贝的区别JSON.stringify有什么弊端怎么判断数组类型Vue3和Vue2的区别Vue生命周期钩子,activated和deactivated用过吗Vue里keep-ali
- ctfshow-web入门-sql注入-web172
HkD01L
ctfshowSQL注入sql数据库
题目描述查询语句//拼接sql语句查找指定ID用户$sql="selectusername,passwordfromctfshow_user2whereusername!='flag'andid='".$_GET['id']."'limit1;";返回逻辑//检查结果是否有flagif($row->
- Vue组件开发系列之Model遮罩层组件
vue爱好者
组件源码:https://github.com/AntJavascript/widgetUI/tree/master/model20181030_111804.gif组件结构:代码分析:props参数:props:{opacity:{//组件透明度type:Number,default:()=>{return0.3;}},zIndex:{//组件层级type:Number|String,defau
- 前端性能监控、异常监控的一些记录
一只小白菜~
其他!前端异常监控性能监控
文章目录常见异常类型常用的一些异常监控的方法window.errorwindow.addEventListener('error')window.addEventListener('load')window.addEventListener('DOMContentLoaded')window.performancenavigator.sendBeacon1*1像素gifaxios请求/响应拦截器V
- 安卓开发中的Glide库的使用
我要最优解
androidglide
Glide是一个功能强大的Android图片加载库,它支持加载多种类型的图片格式。以下是Glide可以处理的一些常见图片类型:JPEG:支持加载JPEG格式的图片。PNG:支持加载PNG格式的图片,包括具有透明背景的图片。GIF:支持加载GIF动画,并能够播放动画或将其作为静态帧显示。WebP:支持加载Google的WebP格式图片,包括无损和有损压缩的变体。Bitmap:可以直接加载Androi
- html 绘制ios时钟,iOS-模仿苹果时钟选择控件
欧尼酱牌酱牛肉
html绘制ios时钟
最近看了苹果自带应用时钟上的时间选择工具感觉挺巧妙的,就尝试着模仿它做出一个控件工具。工程Demo运行效果如下:AppleAlram.gif根据时钟选择工具上面的功能,大概可以确定,圆环的绘制我们可以通过CAShapeLayer结合UIBezierPath绘制出来,当拖动起始点或者结束点View时,通过手势判断拖动的角度,从而改变UIBezierPath的角度,并且让起始点或者结束点View根据拖
- 案例19-站长之家导航
kino2046
延迟菜单*{padding:0;margin:0;}li{list-style:none;}#nav{width:500px;height:36px;padding:010px;background:url(../images/nav_bg.gif)repeat-x;margin:50pxauto0;position:relative;}#nav.adorn1{width:6px;height:3
- Python While 循环语句
Aforxiaoxie
python新手教程python开发语言算法青少年编程
PythonWhile循环语句Python编程中while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:while判断条件(condition):执行语句(statements)……执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。当判断条件假false时,循环结束。执行流程图如下:Gif演示
- Nginx 服务之location及rewrite
kid00013
nginx运维https
目录1.location和rewrite的区别2.location2.1location分类2.2location匹配规则2.3location优先级2.4示例1.location=/{}2.location/{}3.location/documents/{}4.location/documents/abc{}5.location^~/images/{}6.location~*\.(gif|jpg
- CMake构建学习笔记8-OpenSceneGraph库的构建
charlee44
CMakeC++学习CMakeC++构建OpenSceneGraph
1.概论在连续构建了zlib、libpng、libjpeg、libtiff、giflib以及freetype这几个库之后,接下来我们就要来一个大的,构建OpenSceneGraph这样大型库。OpenSceneGraph(简称OSG)是一个高性能、跨平台的三维图形应用程序框架,广泛应用于科学可视化、模拟仿真、游戏开发等领域。理论上来说,上述几个库不是OSG的必须依赖库,但是将它们作为依赖库构建,O
- CMake构建学习笔记6-giflib库的构建
charlee44
CMakeC++学习CMakec++giflibc
前面构建的zlib、libpng、libjpeg和libtiff都提供了CMakeList.txt文件,因此都可以通过CMake进行构建。不过有的依赖库是并没有CMakeList.txt文件,也就是官方没有提供CMake的构建方式,例如本篇要说的GIFLIB。GIFLIB是一个开源的C库,用于处理GIF(图形交换格式)图像文件。GIFLIB是个典型的基于Linux环境的开源库,使用Makefile
- 鸿蒙(API 12 Beta3版)【使用ImageSource完成图片解码】图片开发指导
移动开发技术栈
鸿蒙开发harmonyosopenharmony媒体ArkTS图片解码鸿蒙
图片解码指将所支持格式的存档图片解码成统一的[PixelMap],以便在应用或系统中进行图片显示或[图片处理]。当前支持的存档图片格式包括JPEG、PNG、GIF、WebP、BMP、SVG、ICO、DNG。开发步骤全局导入Image模块。import{image}from'@kit.ImageKit';获取图片。方法一:获取沙箱路径。具体请参考[获取应用文件路径]应用沙箱的介绍及如何向应用沙箱推送
- 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