- ultralytics 是什么?
博刻
AI学习笔记python
ultralytics是一个用于计算机视觉任务的Python库,专注于提供高效、易用的目标检测、实例分割和图像分类工具。它最著名的功能是实现YOLO(YouOnlyLookOnce)系列模型,特别是最新的YOLOv8。1.YOLO是什么?YOLO是一种流行的目标检测算法,以其速度快和精度高而闻名。YOLO的核心思想是将目标检测问题转化为一个回归问题,直接预测目标的边界框和类别。YOLOv8是YOL
- 《Python 动画:实现多种不同速度的炫酷烟花效果》
后端工匠之道
python开发语言新手入门表白表白代码爱心烟花
《Python动画:实现多种不同速度的炫酷烟花效果》前言烟花绽放是一个经典的视觉效果,通过Python和Matplotlib,我们可以轻松实现动态的烟花动画效果。本篇文章将教你如何实现多个不同速度、位置的烟花动画,让它们在屏幕上绚丽绽放,占满整个画布。效果预览本代码的最终效果如下,完整代码底部获取:多个烟花随机从屏幕不同位置升空。烟花绽放时,粒子以随机颜色和方向扩散。不同烟花有快有慢,呈现出真实的
- python主要是做什么的-Python到底可以干什么?主要应用领域
weixin_37988176
如果说挑选一门编程语言进行学习,你会选择哪个?当然是Python。Python是一门简单的编程语言,适合初学者学习,也是很多人都喜欢的语言,那么Python到底可以干什么?Python语言在学术上是非常受欢迎的,不是计算机专业的人,都可以学习Python。这个语言的前景是不可限量的,语法是非常容易理解的,很多人可以减去学习的负担,没有压力。Python到底可以干什么?主要应用领域:1、Linux运
- C++ 与机器学习:构建高效推理引擎的秘诀
salsm
C++编程魔法师c++机器学习开发语言
随着深度学习模型逐渐从研究走向生产环境,推理能力成为部署中的关键环节。模型的推理引擎需要以极低的延迟快速处理输入数据,同时最大化地利用硬件资源。虽然Python被广泛用于模型的训练和开发,但C++却在推理领域独占鳌头,其性能优势和硬件控制能力无可替代。在这篇文章中,我们将从为什么选择C++、构建高效推理引擎的细节,以及相似的开源项目三个方面深入探讨如何利用C++打造高效的机器学习推理引擎。目录为什
- 使用 C++ 和函数式编程构建高效的 AI 模型
salsm
C++编程魔法师c++人工智能
引言现代AI开发常常使用Python,但在底层实现中,C++仍是不可或缺的语言,尤其是在性能敏感的场景下。将C++与函数式编程结合,可以打造高效、模块化的AI模型,同时提高代码的可读性和可维护性。本文将深入探讨如何利用现代C++和函数式编程的强大特性,优化AI模型的构建流程,并提升整体性能。函数式编程在C++中的角色函数式编程(FunctionalProgramming)是一种强调不可变数据和纯函
- 《深入Python子域名扫描:解锁网络空间的隐藏宝藏》
乐茵安全
python_studypythonphp开发语言
Python子域名扫描:探索网络世界的隐藏边界在当今数字化的时代,网络安全和网络探索变得愈发重要。网络就像一个广阔无垠的宇宙,隐藏着无数的秘密和潜在的威胁。而子域名扫描,就是在这个庞大的网络宇宙中寻找线索、探索未知领域的一把钥匙。Python,作为一门强大且灵活的编程语言,在网络安全的各个领域都有着广泛的应用。其中,利用Python进行子域名扫描,不仅可以帮助我们发现目标域名下的更多信息,还能在渗
- C/C++炫酷烟花③(完整代码)
Want595
C/C++趣味编程c++开发语言
系列专栏《Python趣味编程》《C/C++趣味编程》《HTML趣味编程》《Java趣味编程》写在前面C/C++语言实现新春烟花动画的完整代码。
- 【八】python装饰器模式
無欲無为
python设计模式python装饰器模式开发语言
文章目录8.1装饰器模式简介8.2装饰器模式作用8.3装饰器模式构成8.3.1装饰器模式包含以下几个核心角色:8.3.2UML类图8.4装饰器模式python代码实现8.4.1基本装饰器的使用8.4.2多个装饰器的执行顺序8.4.3带返回值的装饰器的使用8.4.4装饰器模式-关联类模式8.4.5装饰器模式-无参数8.4.6装饰器模式-接收原函数参数8.4.7装饰器模式-装饰器自带函数8.4.8装饰
- python爬虫爬取拉勾网招聘信息
2401_84692405
程序员python爬虫数据挖掘
print('showId',show_id)print(“typeofresult”,type(position_result))total_count=position_result[‘totalCount’]没有符合条件的工作,直接返回iftotal_count==0:returnremain_page_count=math.ceil(total_count/JOBS_COUNT_ONE_P
- 一文看尽C、C++、Java与Python的优势与应用
禁小默
pythonjavac语言
前言编程语言的选择直接影响到开发效率、系统性能以及开发者的工作体验。C、C++、Java和Python是当前最受欢迎的四种编程语言,它们各自有着不同的设计哲学、应用领域及开发者社区。在这篇博客中,我们将深入对比这四种语言的特点,帮助大家根据项目需求做出合理的选择。1.历史背景与语言设计理念C语言C语言由DennisRitchie于1972年在贝尔实验室开发,最初用于系统编程和操作系统的开发。C语言
- python - 日志库
01Coding
pythonpython开发语言
文章目录python日志库logging库第三方库-logurupython日志库python中用作记录日记,默认分为六种日志级别(括号为级别对应的数值)NOTSET(0)DEBUG(10):详细信息,只有诊断问题时才需要INFO(20):当程序运行时期望的一些信息WARNING(30):软件运行正常,但是可能会有一些预期之外的事情发生ERROR(40):由于一些严重问题导致软件一些功能出现问题C
- python日志库
Happinessคิดถึง
Python学习python开发语言
更新时间:2023-03-10官方提供的logging封装成以日期命名。参考:logging和logurulogging封装类使用importosimportloggingimportreimporttimefromlogging.handlersimportTimedRotatingFileHandler#logspathdefault:/logs/classsetup_log:def__ini
- python日志模块写入不同文件_Python实用教程系列——Logging日志模块
吴跃湘
那个百分十先生:Python实用教程系列——异常处理zhuanlan.zhihu.com上篇文章讲述了Python中的相关异常的知识,包括异常的种类以及异常的处理方式,以及使用实例的方式说明了一些常用异常的处理。这次,我们来讲述一下Python中的另一个实用的教程,日志相关的知识。很多的小伙伴在平时写代码的时候,基本上使用的都是使用print()函数来进行一些日志的打印,使用print()来进行一
- Python 日志记录工具logging
酒酿小圆子~
Pythonpython运维
文章目录1.日志的作用2.日志的级别3.几个重要的概念3.1Logger记录器3.2Handler处理器3.3Formatter格式化器3.4Filter过滤器4.常见示例4.1常见示例1:Logging日志记录4.2常见示例2:函数化示例(避免重复日志)4.3多进程环境下往同一个文件写日志日志对于系统开发的开发、调试和运行整个过程中都起着很重要的作用,调试阶段需要查看日志来明确问题所在,运行阶段
- Python常用库 - logging日志库
小菠萝测试笔记
logging的简单介绍用作记录日志,默认分为六种日志级别(括号为级别对应的数值)NOTSET(0)DEBUG(10)INFO(20)WARNING(30)ERROR(40)CRITICAL(50)special在自定义日志级别时注意不要和默认的日志级别数值相同logging执行时输出大于等于设置的日志级别的日志信息,如设置日志级别是INFO,则INFO、WARNING、ERROR、CRITICA
- 【python学习】loguru日志库用法大全!附代码示例
NLP仙人
pythonpython学习开发语言
Loguru是一个用于Python的简单且强大的日志库。它的目标是使日志记录变得简单和优雅,同时提供许多有用的功能。Loguru的主要特点包括:简单易用:不需要复杂的配置,开箱即用。丰富的功能:支持异步日志、日志文件轮转、日志格式化、过滤器等。优雅的语法:通过logger对象的直接方法调用记录日志。下面通过代码演示Loguru的几个最核心的功能:安装Loguru可以通过pip安装Loguru:pi
- 【Python】 使用pygame库实现新年烟花
Nerous_
pythonpygame开发语言
祝大家金蛇衔财,蛇来运转首先,确保你已经安装了pygame库。如果还没有安装,可以通过以下命令安装:pipinstallpygame接下来是烟花效果的Python代码:importpygameimportrandomimportmathimportsys#初始化pygamepygame.init()#设置窗口尺寸和颜色WIDTH,HEIGHT=800,600screen=pygame.displa
- LEETCODE | PYTHON | 63 | 不同路径Ⅱ
Angelawlc
leetcode-pythonleetcodepython算法
LEETCODE|PYTHON|63|不同路径Ⅱ1.题目一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用1和0来表示。来源:力扣(LeetCode)链接:https://leet
- python动态全局缓存配置
king9666
python缓存
在内存中缓存配置,但提供手动或自动刷新机制。使用文件的修改时间戳(mtime)来判断文件是否更新,只有在文件更新时重新读取importosimportjson_cached_config=None_cached_config_mtime=Nonedefread_config():global_cached_config,_cached_config_mtimeconfig_file=os.path
- THULAC-Python 使用教程
时昕海Minerva
THULAC-Python使用教程THULAC-PythonTHULAC-Python:由清华大学开发的中文词法分析工具包,提供中文分词和词性标注功能。项目地址:https://gitcode.com/gh_mirrors/th/THULAC-Python项目介绍THULAC(THULexicalAnalyzerforChinese)是由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词
- 【Python】探索自然语言处理的利器:THULAC 中文词法分析库详解
技术无疆
Python人工智能自然语言处理人工智能python数据挖掘机器学习深度学习神经网络
THULAC(THULexicalAnalyzerforChinese)是清华大学开发的一款中文词法分析工具,集成了分词和词性标注两大功能。THULAC拥有强大的分词能力和高效的词性标注,适用于多种中文文本处理场景。该工具能够在保证高准确率的同时保持较快的处理速度,非常适合大规模中文数据处理。⭕️宇宙起点THULAC的特点安装与配置1.使用pip安装2.使用GitHub源码安装♨️使用方法1.分词
- Mongodb 慢查询日志分析 - 1
草明
mongodbmongodbpython数据库
Mongodb慢查询日志分析使用mloginfo处理过的日志会在控制台输出,显示还是比较友好的.但是如果内容较大,就不方便查看了,如果可以导入到excel就比较方便筛选/排序.但是mloginfo并没有提供生成到excel的功能.可以通过一个python脚本辅助生成:importpandasaspdimportre#定义文件路径mloginfo_output_file="mloginfo_outp
- Python软件打包工具Pyinstaller
码农NoError
人工智能python自然语言处理智能对话智能闲聊人工智能
需求:我们需要把自己使用python开发好的程序发给朋友体验一下这就需要让朋友安装python的解释器,安装程序所需要的python包,最最最重要的是还要考虑版本兼容问题,特别麻烦。此时如果我们能给别人一个exe软件直接双击运行就好多了,那么就需要用到今天介绍的python程序打包工具pyinstaller了。1、安装pyinstaller首先安装pyinstaller,使用安装命令:pipins
- python 循环语句
金箍一梦何来愁
python
while循环while循环的格式while条件:条件满足时,做的事情1条件满足时,做的事情2条件满足时,做的事情3...(省略)...demoi=0whileiwhile嵌套的格式while条件1:条件1满足时,做的事情1条件1满足时,做的事情2条件1满足时,做的事情3...(省略)...while条件2:条件2满足时,做的事情1条件2满足时,做的事情2条件2满足时,做的事情3...(省略)..
- 每日一道算法题 移除元素
BraveOxCow
算法题算法数据结构
题目27.移除元素-力扣(LeetCode)PythonclassSolution:defremoveElement(self,nums:List[int],val:int)->int:whilevalinnums:fornuminnums:ifnum==val:nums.remove(num)breakreturnlen(nums)classSolution:defremoveElement(s
- 每日一道算法题 成绩排序
BraveOxCow
算法python开发语言
题目成绩排序_牛客题霸_牛客网(nowcoder.com)Pythonn=int(input())flag=int(input())ans=[]for_inrange(n):name,score=input().split('')ans.append([name,int(score)])ans.sort(key=lambdax:x[1],reverse=notflag)foreinans:prin
- 每日一道算法题 组合
BraveOxCow
算法题算法数据结构
题目77.组合-力扣(LeetCode)Python体会一下Python的高开发效率classSolution:defcombine(self,n:int,k:int)->List[List[int]]:fromitertoolsimportcombinationsreturnlist(combinations(range(1,n+1),k))第二种解法如下:classSolution:defco
- python制作日历_Python如何绘制日历图和热力图
weixin_39692847
python制作日历
本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib、calmap、pyecharts绘制日历图和热力图。在绘图之前先利用pandas对空气质量数据进行处理。数据处理从网站下载的数据为逐小时数据,每天一个文件。如果要绘制全年的日历图或者热图,首先要将所有的数据进行合并处理。下载好数据之后,将数据解压到当前目录的2019文件夹内,然后处理数据:importglobfromdat
- Python 中的 `selectors`:构建高效的 I/O 复用程序
蜗牛沐雨
pythonjava开发语言
在现代编程中,高效地处理I/O操作是构建高性能应用程序的关键。无论是网络服务器、多任务文件处理还是实时数据流处理,都需要一种机制来同时监控多个I/O源,并在它们准备好时高效地处理数据。Python的selectors模块正是为了解决这一问题而设计的。它提供了一种高级的I/O复用接口,使得开发者可以轻松地实现高效的并发程序。一、什么是I/O复用?在多任务程序中,我们经常需要同时处理多个I/O操作,例
- 深入理解 Python 中的 `@classmethod` 和 `@staticmethod` 装饰器
蜗牛沐雨
Pythonpython开发语言
在Python的面向对象编程中,装饰器为我们提供了灵活的函数和方法定义方式。其中,@classmethod和@staticmethod是两个常用的装饰器,它们的主要作用是改变方法的调用方式,使方法能够在类的层面上使用,而不是依赖具体的实例。什么是@classmethod?@classmethod是Python的内置装饰器,用于将一个方法标记为类方法。类方法的第一个参数通常命名为cls,代表类本身。
- 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