- DOCKER教程
weixin_34388207
运维操作系统python
2019独角兽企业重金招聘Python工程师标准>>>注意事项1.官方申明docker还是在开发完善中,不建议在运营的产品中使用它,但是现在离正式版越来越接近了,请关注我们的博客http://blog.docker.io/2013/08/getting-to-docker-1-0/2.系统注意事项-由于现在的docker的局限性,现在只能使用在64位的服务器上边安装教程ubntu安装教程(12.0
- docker ubuntu
weixin_30628801
DOCKER教程注意事项1.官方申明docker还是在开发完善中,不建议在运营的产品中使用它,但是现在离正式版越来越接近了,请关注我们的博客http://blog.docker.io/2013/08/getting-to-docker-1-0/2.系统注意事项-由于现在的docker的局限性,现在只能使用在64位的服务器上边安装教程ubntu安装教程(12.04)由于linux容器的bug,doc
- Emgu-WPF 激光雷达研究-绘制雷达图
DuelCode
WPFc#Emgu激光雷达雷达图
硬件:HokuyoURG04LX环境:VS2017-win10-64Emgu_3.2.0.2682语言:C#WPF数据解析参考:https://sourceforge.net/p/urgnetwork/wiki/Home/https://github.com/bqhdev/urg04lx_data_decoderhttp://sourceforge.net/projects/urgnetwork/
- Python简单理解1-10阶乘和运算
小张不嚣张꒰ঌ(˚ᆺ˚)໒꒱
Python爬虫基础集合python后端
简单理解for循环实现1-10的阶乘运算基本思路;首先分析阶乘的关系如1!=12!=2*1=23!=3*2*1=64!=4*3*2*1=245!=5*4*3*2*1=120....10!=10*9*8*7*6*5*4*3*2*1=3628800自2以后的阶乘都是前面数的阶乘再乘以本身的数。如4的阶乘4!=43!(32*1),因此我们可以使用for循环来执行代码,定义一个变量啊a和一个总和sum然后
- SQL规范检查
独步秋风
Mysqlmysqlsql规范检查
序号规则规则等级数据库类型1Update/Delete需要带上where条件errorMysql2不允许使用Truncatetable语句errorMysql3Update/Delete不允许带limit条件errorMysql4Update/Delete不允许带orderby条件errorMysql5不使用“SELECT*”这样的语句errorMysql6不使用DML广播语句errorMysql
- CentOS 7 yum操作时出现 Could not resolve host: mirrorlist.centos.org 解决记录
qq_30327325
centoslinux运维
开始查询网络上大部分的解决方案是修改DNS为8.8.8.8和8.8.4.4,但是经过多次尝试未果,只能寻找其他解决办法,然后就是想到切换yum源,通过DeepSeek查询到各个源的地址,这里列一下#备份原有配置文件sudomv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup#下载阿里云的镜像源配置文件
- CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org; Name or service not known“之解决办法(换源)
仁德者得天下
centoslinux运维
yum安装出现错误如下:yuminstall-ywget&&wget-Oinstall.shhttps://download.bt.cn/install/install_6.0.sh&&shinstall.sh12f2c1d72ImportError:/lib64/libcrypto.so.10:version`OPENSSL_1.0.2'notfound(requiredby/www/serve
- ISP Pipeline(4): Anti Aliasing Noise Filter 抗锯齿与降噪滤波器
andwhataboutit?
接口隔离原则
上一篇文章讲的是:ISPPipeline(3):LensShadingCorrection镜头阴影校正-CSDN博客视频:(5)AntiAliasingNoiseFilter|ImageSignalProcessingPipelineTutorialSeries源码:ISPPipeline(3):LensShadingCorrection镜头阴影校正-CSDN博客Anti-AliasingNois
- YOLOv12_ultralytics-8.3.145_2025_5_27部分代码阅读笔记-metrics.py
红色的山茶花
YOLO笔记深度学习
metrics.pyultralytics\utils\metrics.py目录metrics.py1.所需的库和模块2.defbbox_ioa(box1:np.ndarray,box2:np.ndarray,iou:bool=False,eps:float=1e-7)->np.ndarray:3.defbox_iou(box1:torch.Tensor,box2:torch.Tensor,eps
- YOLOv12_ultralytics-8.3.145部分代码阅读笔记-utils.py
红色的山茶花
YOLO笔记深度学习
utils.pyultralytics\nn\modules\utils.py目录utils.py1.所需的库和模块2.def_get_clones(module,n):3.definverse_sigmoid(x,eps=1e-5):4.defmulti_scale_deformable_attn_pytorch(value:torch.Tensor,value_spatial_shapes:t
- YOLOv12_ultralytics-8.3.145_2025_5_27部分代码阅读笔记-loss.py
红色的山茶花
YOLO笔记深度学习
loss.pyultralytics\utils\loss.py目录loss.py1.所需的库和模块2.classVarifocalLoss(nn.Module):3.classFocalLoss(nn.Module):4.classDFLoss(nn.Module):5.classBboxLoss(nn.Module):6.classv8DetectionLoss:7.classE2EDetec
- YOLOv11-ultralytics-8.3.67部分代码阅读笔记-utils.py
红色的山茶花
YOLO笔记深度学习
utils.pyultralytics\nn\modules\utils.py目录utils.py1.所需的库和模块2.def_get_clones(module,n):3.defbias_init_with_prob(prior_prob=0.01):4.deflinear_init(module):5.definverse_sigmoid(x,eps=1e-5):6.defmulti_scal
- 运筹系列91:vrp算法包PyVRP
IE06
运筹学人工智能
1.介绍PyVRP使用HGS(hybridgeneticsearch)算法求解VRP类问题。在benchmark上的评测结果如下,看起来还不错:2.使用例子2.1CVRPCOORDS=[(456,320),#location0-thedepot(228,0),#location1(912,0),#location2(0,80),#location3(114,80),#location4(570,1
- c++指针使用
引言:在实际项目中,小白往往会不注意指针的使用而导致项目的崩溃。因此,在次简单描述一下指针的使用。简单使用:需要注意的点:1、使用前:指针一定要分配内存,判断内存是否分配成功。2、使用时使用时要判断是否是有效指针,确认是有效指针后再使用。3、使用后释放内存,避免悬空指针。#include#include//假设的结构体定义typedefstruct{intgain;floatlut[256];}o
- CentOS 7 & 8 安装 madam
黄狗操作员
centoslinux运维
1、脚本安装#!/bin/bash#定义变量MDADM_VERSION="4.2"#替换为最新版本号MDADM_URL="https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-${MDADM_VERSION}.tar.gz"LOCAL_DIR="/tmp/mdadm_install"REMOTE_USER="root"REMOTE_SERV
- 集成段码LCD驱动低功耗系列MM32L0130
EVERSPIN
MCU单片机嵌入式硬件MCU
灵动微集成段码LCD驱动低功耗系列MM32L0130搭载了最高主频为48MHz的ArmCortex-M0+处理器;提供至多64KB的Flash存储空间和8KB的SRAM空间。灵活易用的段码LCD控制器最高288段码·可驱动40x4或36x8个段码·支持COM和SEG任意映射多种占空比和偏压·静态、1/2、1/3、1/4、1/6·1/2、1/3和1/4偏压内置电荷泵·可在1.8到5.5V供电下驱动和
- Redhat&Centos挂载镜像
一位摩羯座DBA
centoslinux运维
一、RedHat8.21、上传镜像将系统镜像上传至服务器的home用户目录下。2、执行挂载mount/home/mcwd/rhel-8.2-x86_64-dvd.iso/mnt3、检查挂载df-h最后一行出现/mnt路径即可mount/dev/loop0/mnt/4、配置设置镜像源local.repo文件在文件中添加如下内容:mkdir/media/cdrom/umount/dev/sr0moun
- 【代码审计】安全审核常见漏洞修复策略
秋说
Java代码审计网络安全代码审计
文章目录1.异常信息泄露修复建议不推荐用法推荐用法2.文件上传漏洞错误示例(缺乏校验)安全示例(含格式/扩展名校验)3.SQL注入漏洞(MyBatis${})示例修复建议4.生成组件间接依赖生成依赖树建议5.间接依赖组件的漏洞什么是间接依赖后端修复1后端修复2前端修复1前端修复26.XSS(跨站脚本攻击)错误示例(存在风险)安全示例(自动转义)修复建议7.接口未鉴权修复建议8.路径遍历漏洞错误示例
- YOLOv12_ultralytics-8.3.145_2025_5_27部分代码阅读笔记-torch_utils.py
红色的山茶花
YOLO笔记深度学习
torch_utils.pyultralytics\utils\torch_utils.py目录torch_utils.py1.所需的库和模块2.defsmart_inference_mode():3.defautocast(enabled:bool,device:str="cuda"):4.deftime_sync():5.deffuse_conv_and_bn(conv,bn):6.deffu
- Flask + GPT 实践
红鼻子时代
flask项目flaskgptpython
一、前言本篇文章会介绍从零开始构建一个基于Flask+GPT的小项目的过程。总共有四个版本的迭代,包括:1、调用GPT接口并渲染到前端页面;2、使用Flask提供的session来实现登录和登出功能;3、用SQLAlchemy管理数据库,实现用户注册和登录;4、记录和分页查看用户与GPT的对话历史。二、项目环境与依赖Python版本:建议3.7+Flask:最常用的PythonWeb框架之一ope
- uni-app subPackages 分包加载:优化应用性能的利器
阿珊和她的猫
uni-app状态模式
前端开发工程师、技术日更博主、已过CET6阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1牛客高级专题作者、打造专栏《前端面试必备》、《2024面试高频手撕题》、《前端求职突破计划》蓝桥云课签约作者、上架课程《Vue.js和Egg.js开发企业级健康管理项目》、《带你从入门到实战全面掌握uni-app》文章目录subPackages配置注意事项优点使用场景在uni-app中,sub
- AWS Cognito项目实战指南:集成用户管理与自定义电子邮件功能
一一MIO一一
本文还有配套的精品资源,点击获取简介:本项目涉及利用AWSCognito服务,创建一个基于云端的用户身份验证和管理应用。通过集成Cognito用户池,项目支持社交登录和自定义用户身份保护,同时涉及通过AWSLambda发送自定义电子邮件通知,增强用户体验。项目采用TypeScript编程语言,提升代码的可维护性和可读性,为开发者提供一个学习AWS无服务器认证解决方案的实践案例。1.AWSCogni
- uni-app 自定义平台如何进行 static 目录的条件编译
前端梦工厂+
uni-app前端开发uni-app前端
一.自定义平台如何进行static目录的条件编译关于如何自定平台,参考之前文章:uni-app玩转条件编译:自定义平台的条件编译实战详解https://blog.csdn.net/qq_24956515/article/details/143951206由于官方不支持创建自定义平台下的static目录,例如以下方式,mp-weixin-custom会被认为是一个普通文件夹,将会在所有平台被打包进去
- SQL server 一个字段为yymmdd+3位序号 修改为yymm加4位序号的方法
海天胜景
数据库
在SQLServer中,如果你想要修改一个字段的格式,使其从原来的yymmdd+3位序号改为yymm+4位序号,你可以使用UPDATE语句结合CONVERT或FORMAT函数来实现这个目的。这里有两种常见的场景:场景1:如果原始数据存储为字符串格式假设你有一个表your_table,其中有一个字段your_column存储的是yymmdd+3位序号的格式,例如230415001。你可以使用以下SQ
- vue3 el-table 列增加 自定义排序逻辑
海天胜景
vue.jsjavascriptelementui
在Vue3中使用ElementPlus的组件时,如果你想增加自定义排序逻辑,可以通过以下几个步骤实现:1.使用default-sort属性首先,你可以在组件上使用default-sort属性来指定默认的排序规则。例如,如果你想默认按照某一列升序排序,可以这样做:2.使用sort-method或sort-comparator属性对于自定义排序逻辑,你可以使用sort-method或sort-comp
- 力扣74 搜索二维矩阵
许愿与你永世安宁
力扣刷题笔记leetcode矩阵算法
获取矩阵的行数和列数vector>&matrixmatrix是一个vector>类型的二维向量,其本质是一个嵌套的动态数组matrix.size()返回的是外层vector的大小,即有多少个vector元素,也就是二维向量的行数matrix[0]是第一行的vector,即第一个vector元素matrix[0].size()返回第一行的大小,也就是该行中int元素的数量,即列数一维索引与二维坐标的
- csigdiplus.dll ccb_pin_cert.dll CNCF2M50.dll cu4usb.dll CATCafPrint.dll COL32LU.dll ClassLibra
K9DMGY8SCC
经验分享
在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用MicrosoftVisualStudio编写的,所以这类软件的运行需要依赖微软VisualC++运行库,比如像QQ、迅雷、Adobe软件等等,如果没有安装VC++运行库或者安装的版本不完整,就可能会导致这些软件启动时报错,提示缺少库文件。如果我们遇到关于文件在系统使用过程中提示缺少找不到的情况,如果文件是属于运行库文件的
- 近百万奖金!2024 Web3.0 创新大赛重磅来袭!
DataFountain数据科学
web3数据竞赛大数据人工智能
10月30日,中国互联网协会与香港Web3.0协会共同组织举办的2024Web3.0创新大赛在上海举行启动会,宣布大赛正式在DataFountain竞赛平台(简称DF平台,http://www.datafountain.cn)启动上线。大赛面向社会各界征集参赛团队,不限年龄、国籍,高校、科研院所、企业人员均可参赛!两大赛区,六大赛道,近百万奖金,你不来吗:https://www.datafount
- 前端base64遇到的坑:window.btoa中文报错的修复方案
前端
问题是这样的:同事在使用的过程中发现一个问题:点击确定按钮后,有个报错提示。如下截图所示:报错文本是:invalidcharactererrorfailedtoexecutebtoaonwindowthestringtobeencodedcontainscharactersoutsideofthelatin1range详情:前端base64遇到的坑:window.btoa中文报错的修复方案
- c# 比较两个list 之间元素差异
海天胜景
c#list开发语言
在C#中,比较两个List之间元素的差异通常有多种方法,具体取决于你想如何表达这些差异(例如,找出存在于一个列表中但不在另一个列表中的元素)。下面是一些常用的方法:1.使用Except方法Except方法可以找出存在于第一个列表中但不在第二个列表中的所有元素。Listlist1=newList{1,2,3,4,5};Listlist2=newList{4,5,6,7,8};//找出存在于list1
- 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