- Python实战:解析labelme标注数据——如何将数据转换为COCO格式
程序员杨弋
Python全栈工程师学习指南python开发语言
在计算机视觉中,标注数据是非常重要的,而Labelme是一个简单易用的自由标注工具,被广泛应用于图像语义分割、目标检测、实例分割等领域,然而标注数据并不总是以我们需要的格式存在,因此需要进行适当的转换,本文将详细介绍如何将Labelme标注数据转换为COCO格式。首先需要安装相关的Python库,包括labelme、numpy、matplotlib、pillow等,在安装完成后设置数据路径,并读取
- python运行路径和脚本文件所在路径
Wiseehw
Python
我在sublimeText2编辑python脚本程序,用ipython导入脚本模块,打开文件时总是报错,原来是路径问题deffile2matrix(filename):fp=open(filename,'r')datalines=fp.readlines()lenlines=len(datalines)dataSet=np.zeros((lenlines,3))labels=[]index=0fo
- 揭秘!100 个 Python 常用易错知识点的避坑指南
tekin
PythonpythonPython易错点Python编程避坑Python知识总结Python基础与进阶Python代码优化Python常见错误解析
目录简介1.类方法命名中的下划线2.函数形参中的*和**3.函数实参中的*4.变量作用域5.浅拷贝和深拷贝6.默认参数的陷阱7.迭代器和生成器相关迭代器使用后耗尽生成器表达式和列表推导式混淆8.异常处理相关捕获异常范围过大异常处理中的finally子句9.多线程和多进程相关全局解释器锁(GIL)误解多线程性能提升多进程中的资源共享问题10.字符串编码问题编码和解码错误11.模块导入相关循环导入问题
- yolov8(8.2.10)+deepsort(demo)
fengsongdehappy
YOLO
只需要训练好yolov8的检测模型然后调用:results=model.track(frame,persist=True)#执行跟踪,persist=True表示持续跟踪。保持同一个人在多帧画面的id一就可以完整代码:importcv2importnumpyasnpfromultralyticsimportYOLOfromcollectionsimportdefaultdict#框的中心点的历史轨
- Deepseek与doubao|tongyi|wenxin三个大模型对比编写数据处理脚本
AI技术老狗(QA)
Deepseek大模型AI编写脚本
DeepSeek在编写脚本方面的能力非常强大,尤其在编程、推理和数学计算方面展现出了超越普通AI的能力。DeepSeek的核心优势在于其编程能力的显著提高,能够轻松应对前端脚本和后端逻辑的编写,大大降低了程序员编写代码的难度。今天我们就对比下deepseek、豆包、通义千问、文心一言这四个进行一下对比,对比的题目为:《帮我写一个处理excel数据的python脚本,要求:100万条数据,去除重
- python工作目录与文件目录
我家大宝最可爱
python开发语言
总结open函数中的相对路径是以工作目录为基准的import导入package时,相对路径是以当前执行import的文件路径为基准的由于python规定顶层模块不能作为package,因此import只能导入当前文件所在的目录以及子路下的package,无法导入上层目录的pakcage,例如import..xxx是不行的,只能是importx或者importx.y想要导入上层目录的package,
- logging 日志同时输出到控制台(踩坑:python2 vs python3使用差异)
freesonWANG
入门pythonlogging
一段python3生效的代码:importloggingforhandlerinlogging.root.handlers[:]:logging.root.removeHandler(handler)logging.basicConfig(level=logging.DEBUG,format=
- 踩坑记录: Python的工作路径(working dircetory)
neowell
个人笔记python开发语言
本部分不涉及模块搜索方式的具体解释,有兴趣可以看看我之前的笔记:Python中令人困惑的模块导入.问题描述项目简介首先给出一个简单的项目结构:root└──random_dir├──random_file.py└──text_file.txtroot是项目的根目录,旗下只有一个名为random_dir的文件夹,在这个文件夹内,有一个python的脚本文件random_file.py,以及一份空的文
- Github 2024-06-20 开源项目日报 Top10
老孙正经胡说
github开源Github趋势分析开源项目PythonGolang
根据GithubTrendings的统计,今日(2024-06-20统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下:开发语言项目数量Python项目4TypeScript项目4Rust项目2JavaScript项目1Dart项目1Java项目1Go项目1RustDesk:用Rust编写的开源远程桌面软件创建周期:1218天开发语言:Rust,Dart协议类型:GNUAfferoG
- 不安装python怎么运行py_如何不用安装python就可以运行.py文件?
weixin_39632471
不安装python怎么运行py
解决这个问题的便携版的python不能直接运行py文件。解决这个问题的便携版的python不能直接运行py文件。协会:直接运行.py文件没有windows下的一个前缀。协会:python的便携版的问题不能直接运行python脚本。直接运行py文件\u2026为了方便部署,您需要编译Python源代码到一个可执行文件,和编译后的可执行文件可以运行的Python环境。你好!这是你第一次使用欢迎页面显示
- python引用其他文件提示找不到模块_命令行执行python模块时提示ImportError: No module named xxx...
weixin_39644146
在pycharm中运行python文件没有问题,切换到cmd中是提示:ImportError:Nomodulenamedxxx原因:pycharm在运行时会把当前工程的所有文件夹路径都作为包的搜索路径,而命令行默认只是搜索当前路径。’解决方法:在出错的模块中加上importsysimportoscurPath=os.path.abspath(os.path.dirname(__file__))ro
- Matlab基础入门手册(第三章:运算符)
freexyn
matlab线性代数矩阵
目录第三章运算符1.16算术运算1.17算术常用函数1.18逻辑运算1.19关系运算1.20运算符的优先级1.21兼容性第三章运算符1.16算术运算1.算术运算(arithmetic)主要指加减乘除、幂和舍入等运算2.说明Matlab有两种不同类型的算术运算:数组运算和矩阵运算数组运算基于元素的运算,支持任意向量、矩阵和多维数组矩阵运算遵循线性代数的规则字符(.)区分矩阵运算和数组运算数组运算和矩
- python3 + selenium webdriver自动化测试启动不同浏览器
cs_mengxi
seleniumWeb自动化selenium测试工具
seleniumwebdriver自动化测试启动不同浏览器seleniumwebdriver介绍SeleniumWebDriver进行自动化测试的一般流程浏览器驱动下载浏览器驱动的安装chrome、edge、Firefox、Opera、Safari、phantomjs应用HeadlessChrome、HeadlessFirefox应用seleniumwebdriver介绍SeleniumWebDr
- 通过命令行运行py文件与通过ide运行py文件,对文件中模块的引用方式的影响
yaoshengting
pythonpython
通过命令行运行Python文件和通过IDE运行Python文件时,模块的引用方式会受到一些影响,主要体现在工作目录和模块导入路径(sys.path)的设置上。下面详细介绍这两种方式的区别和它们如何影响模块引用。1.通过命令行运行Python文件当你通过命令行运行Python文件时,Python会根据你在命令行中指定的路径来查找模块。通常情况下,当前工作目录(即你运行Python命令的目录)会被添加
- Python删除文件与文件夹:remove()、rmdir()
大数据张老师
Python程序设计python开发语言运维
Python删除文件与文件夹:remove()、rmdir()在文件和目录管理中,删除操作是非常重要的一部分。Python提供了os模块中的remove()和rmdir()方法来删除文件和文件夹。本节将详细讲解这两个方法的用法、注意事项以及它们的适用场景,帮助读者准确掌握删除文件与文件夹的操作。1.删除文件:os.remove()os.remove()方法用于删除指定路径的文件。当路径对应的目标为
- python中datetime模块时间的使用
幸运的星竹
Pythonpython开发语言
python中,有两个模块用来表示时间,一个是time模块,一个是datetime模块。之前我们讲述过time模块怎么使用时间,这篇我们看下datetime模块怎么表达时间。datetime类型是一个比较综合的类型,它下面有子包datetime.date专门用来表示日期,datetime.time专门用来表示时间,而datetime.datetime就表示日期时间,其中还有datetime.dat
- python中os的常用方法
神即道 道法自然 如来
pythonpython
os.path常用方法:os.getcwd()获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname")改变当前脚本工作目录;相当于shell下cdos.curdir返回当前目录:('.')os.pardir获取当前目录的父目录字符串名:('..')os.makedirs('dirname1/dirname2')可生成多层递归目录os.removedirs('di
- python字符串怎么转换成字典_用python将字符串转换成字典
weixin_39777018
Iknowthatthisquestionsoundaduplicate,butit'snot,atleastlookedforawhileandIcouldn'tfinenothingformyspecificproblem.Ihavethefollowingstring:"{first:{name:'test',value:100},second:{name:'test2',value:50}
- Python里的OS模块常用函数说明
weixin_34050389
python操作系统shell
Python的标准库中的os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。os.sep可以取代操作系统特定的路径分隔符。windows下为“\\”os.name字符串指示你正在使用的平台。
- python-将字符串转换为字典
weixin_30505751
pythonjson
json越来越流行,通过python获取到json格式的字符串后,可以通过eval函数转换成dict格式:>>>a='{"name":"yct","age":10}'>>>eval(a){'age':10,'name':'yct'}转载于:https://www.cnblogs.com/gy-ph/p/8087372.html
- Python调用C语言动态库(DLL)结构体/指针/变量的方法
ENOCH_Q
PYTHONpythonc语言开发语言
文章目录前言一、如何生成C语言动态库DLL第一步:安装编译工具第二步:设计C代码第三步:编译成C语言动态库DLL二、如何使用C语言动态库第一步:python/pytorch调入DLL接口第二步:Python调用DLL函数第三步:Python测试函数三、完整程序与测试结果总结前言在使用python等进行数据处理时,有时需要使用C语言生成的动态库进行数据处理,比如有些算法已经用C语言实现,或有些函数处
- 使用Python引用DLL文件的方法
NoABug
pythonmicrosoft开发语言Python
Python是一种功能强大的编程语言,可以与其他编程语言和库进行交互。在某些情况下,您可能需要使用Python引用动态链接库(DLL)文件,以便在Python代码中调用DLL文件中的函数和方法。本文将介绍如何使用Python引用DLL文件并调用其中的函数。步骤1:准备DLL文件首先,您需要准备一个DLL文件,该文件包含您要在Python中调用的函数和方法。您可以通过自己编写DLL文件,或者使用第三
- 在Python 中 字符串 转换为 字典
Yuº
Pythonpython
在Python中把字符串转换为字典例如,将字符串user_info=‘{“name”:“john”,“gender”:“male”,“age”:28}’转换为字典user_dict={“name”:“john”,“gender”:“male”,“age”:28}有以下几种方法1.通过json来转换importjsonuser_info='{"name":"john","gender":"male"
- Python实现AWS Fargate自动化部署系统
ivwdcwso
运维开发pythonaws自动化ecs开发Fargate运维
一、背景介绍在现代云原生应用开发中,自动化部署是提高开发效率和保证部署质量的关键。AWSFargate作为一项无服务器计算引擎,可以让我们专注于应用程序开发而无需管理底层基础设施。本文将详细介绍如何使用Python实现AWSFargate的完整自动化部署流程。©ivwdcwso(ID:u012172506)二、技术栈选择Python3.8+:作为主要开发语言boto3:AWS官方PythonSDK
- 小程序二:利用Python编写一个简单的计算器(实现加减乘除)
嘵奇
Python小程序python
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210515164416507.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxNDc5ODUwNTgx,size_16,color_FFFFFF,t
- 【愚公系列】《Python网络爬虫从入门到精通》012-字符串处理
愚公搬代码
愚公系列-书籍专栏python爬虫开发语言
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等
- Python 实现 2025 专属烟花效果粒子
Clevermea
python开发语言pygame算法逻辑回归推荐算法
引言“爆竹声中一岁除”,听到这句话,想必大家都不陌生吧。在城市中看到那拖着彩星的烟花飞向天空,在空中绽放出来,那一刻是多么美好。那么,话说回来,你是否想过用代码的力量,在虚拟世界中重现这绚烂的烟花场景呢?借助Python强大的绘图和动画库,我们完全可以实现这一有趣的创意,为2025年增添一份独特的科技感与浪漫氛围。准备工作在开始编码之前,我们需要安装一些必要的Python库。这里我们会用到pyga
- AWS上基于高德API验证Amazon Redshift里国内地址数据正确性的设计方案
weixin_30777913
python数据仓库云计算aws
该方案通过无服务架构实现高可扩展性,结合分页查询和批量更新确保高效处理海量数据,同时通过密钥托管和错误重试机制保障安全性及可靠性。一、技术栈组件技术选型说明计算层AWSLambda无服务器执行,适合事件驱动、按需处理,成本低数据存储AmazonRedshift存储原始地址数据及验证结果API调用高德地理编码API提供地址标准化及验证能力开发语言Python3.9+使用requests处理HTTP请
- deepseek+python,离线api,持续对话
守着黎明看日出
python
功能:通过start开启新对话,stop结束对话,exit退出程序,并且可持续对话代码fromtransformersimportAutoModelForCausalLM,AutoTokenizer,BitsAndBytesConfigimporttorch#导入torch模块#配置4-bit量化quantization_config=BitsAndBytesConfig(load_in_4bit
- 文档比对工具/Word查重(基于python的本地word文档查重)二
筠贝
windowspython开发语言
本地文档查重一本地文档查重二代码思路使用第本地文档查重一的基本思路。根据自己的需求去自定义一些函数1.自定义一个读取对比word文件名的函数。2.自定义一个根据文件名读取word内容函数,并将内容转换为list.3.自定义对比的方法。4.主函数去调用上面的方法,并采用多进程方式。多进程/多线程本文章在测试下述代码时,也曾经采用多线程(threading.Thread)方式,但感觉未展现多线程的优势
- 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