- Python处理PDF——PyMuPDF的安装与使用
程序员小六
进阶技术python技术python开发语言
1、PyMuPDF简介1.介绍在介绍PyMuPDF之前,先来了解一下MuPDF,从命名形式中就可以看出,PyMuPDF是MuPDF的Python接口形式。MuPDFMuPDF是一个轻量级的PDF、XPS和电子书查看器。MuPDF由软件库、命令行工具和各种平台的查看器组成。MuPDF中的渲染器专为高质量抗锯齿图形量身定制。它以精确到像素的几分之一内的度量和间距呈现文本,以在屏幕上再现打印页面的外观时
- Python 用 Selenium & DataFrame 提取网页内表格数据
solosoft
pythonselenium
提取的数据导入DataFrame,方便后期处理frompandas.core.frameimportDataFramefromseleniumimportwebdriverdriver=webdriver.Edge();driver.get("http://data.eastmoney.com/hsgt/index.html")table_content=driver.find_element_b
- python爬取网页的方法总结,python爬虫获取网页数据
阳阳2013哈哈
python
大家好,小编来为大家解答以下问题,python爬取网页信息代码正确爬取不到,利用python爬取简单网页数据步骤,今天让我们一起来看看吧!文章目录1.抓取网页源代码2.抓取一个网页源代码中的某标签内容3.抓取多个网页子标签的内容Python用做数据处理还是相当不错的,如果你想要做爬虫,Python是很好的选择,它有很多已经写好的类包,只要调用,即可完成很多复杂的功能在我们开始之前,我们需要安装一些
- Python 开发常见问题汇总
公众号/头条号:技术很有趣
flaskpippython1024程序员节
1WARNING:Retrying(Retry(total=3,connect=None,read=None,redirect=None,status=None))afterconnectionbrokenby'ConnectTimeoutError根因:本地代理未配置或者配置不对解决方法:方法一:使用开源的镜像源配置或者公司内部镜像源,举例:[global]index-url=https://X
- Python爬虫库Selenium
.NET跨平台
Selenium库是一个自动化测试工具,支持多种浏览器。在爬虫中主要解决JavaScript渲染的问题。用法讲解:0.基本用法fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.common.keysimportKeysfromselenium.webdriver.sup
- 8个Python爬虫高效数据抓取技巧
程序员小鱼_
python爬虫python爬虫开发语言
在数据驱动的时代,Python爬虫成为了获取网络数据的重要工具。本文将深入浅出地介绍8个高效的Python爬虫技巧,帮助初学者提升数据抓取能力,从简单的网页内容提取到复杂的动态网站抓取,逐步解锁爬虫高级技能。1.使用Requests库优雅地请求网页技巧简介:Requests是Python中处理HTTP请求的明星库,简洁易用。实践示例:importrequestsurl='https://examp
- Python selenium 库
ONE_PUNCH_Ge
python
Selenium是一个用于自动化Web浏览器操作的强大工具,广泛应用于Web应用程序测试、网页数据抓取和任务自动化等场景。Selenium为各种编程语言提供了API,用作测试。目前的官方API文档有C#、JavaScript、Java、Python、Ruby。安装Selenium和WebDriver安装Selenium要开始使用Selenium,首先需要安装selenium库,并下载适用于你浏览器
- Python装饰器居然还能这么用!新手小白必看[附源码]
花小姐的春天
跟着花姐学Pythonpython装饰器模式0基础学PythonPython教程后端脚本
大家好呀!我是花姐。你有没有遇到过这样的情况:你写了一个函数,突然想到要给它增加一些额外功能,或者你希望能在多个地方重复使用这段功能,结果却发现每次都得重新写一遍代码,超级烦!别担心,今天花姐给大家介绍一个神器——装饰器!它可以在不改变原始函数代码的情况下,为函数增加新功能,而且代码更加简洁、高效,关键是让你的代码更“优雅”。好啦,今天我们就来一起看看装饰器的魔力,它怎么帮助我们做出更简洁、可复用
- Python Cookbook-2.8 更新随机存取文件
我不会编程555
#Python学习pythonlinux前端
任务给定一个包含很多固定长度记录的大二进制文件,你想读取其中某一条记录,并且修改该条记录的某些字段的值,然后写回到文件中。解决方案读取记录,解包,执行任何需要的数据更新,然后将所有字段重新组合成记录,接着找到正确的位置,最后再写入。见如下代码:importstruct#或者说,一条记录是8个4字节整数format_string='81'thefile=open('somebinfile','r+b
- pythoncookbook 3rd pdf_Python Cookbook, 3rd Edition 第三版英文版
weixin_39928801
pythoncookbook3rdpdf
IfyouneedhelpwritingprogramsinPython3,orwanttoupdateolderPython2code,thisbookisjusttheticket.PackedwithpracticalrecipeswrittenandtestedwithPython3.3,thisuniquecookbookisforexperiencedPythonprogrammers
- pycharm 远程连接服务器 python packaging tool not found
安屿咨询
pythonpycharm服务器开发语言ide
python相关学习资料:https://edu.51cto.com/video/3832.htmlhttps://edu.51cto.com/video/3502.htmlhttps://edu.51cto.com/video/4645.htmlPyCharm远程连接服务器时遇到PythonPackagingToolNotFound的问题在使用PyCharm远程连接服务器进行开发时,可能会遇到“
- BUG之路1——Ubuntu安装pycharm报python package tools not found错误
DH小碧池
Python之路pycharm报错ubuntu安装
心路历程:真的想死啊,搞了我三天,就想在linux上架个django的服务器,然后安装个pycharm就出了一个占用我三天时间的BUG。最后终于在stackoverflow上看到国外的大神了。最后的解决方法真的是想死,简单的不能再简单,但是就是没注意到。系统:ubuntu16工具:pycharm报错描述:在安装完pycharm之后设置项目python版本时,报错:pythonpackagetool
- micropython连接onenet实现从应用端调用api到设备端执行-汇总
trashedmaker
python单片机网络嵌入式硬件
完整源码GitHub-stupidcmd/Connect-to-the-onenet-platform-with-micropython:用micropython连接onenet平台并用python脚本读取设备的数据,下发命令控制设备每一步的完整代码都在最底下1应用调用api与平台沟通python调用onenet平台api读取和下发命令(应用端的尝试)-CSDN博客2设备端自动计算tokenmic
- micropython通过umqtt连接至onenet-uasyncio提升性能(异步协程)
trashedmaker
linux数据库网络
micropython连接onenet实现从应用端调用api到设备端执行-汇总-CSDN博客↑汇总目录我们要明确功能(1)我们要上传数据即post(2)我们也要set属性和处理set属性1明确需求2创建任务3创建任务函数4运行异步程序5测试一下micropython通过umqtt连接至onenet-设备直接读取设备信息-CSDN博客上一篇↑文末有完整代码直接用配合着理解,虽然简单但是怕出错未注明作
- Python-Machine-Learning-Cookbook 项目教程
张亭齐Crown
Python-Machine-Learning-Cookbook项目教程Python-Machine-Learning-CookbookCodefilesforPython-Machine-Learning-Cookbook项目地址:https://gitcode.com/gh_mirrors/py/Python-Machine-Learning-Cookbook1.项目目录结构及介绍Python
- Weditor安装遇到了问题:Preparing metadata (pyproject.toml) did not run successfully.
BullSmall
自动化pythonandroid
问题现象uiautomator2环境部署的时候,在安装Weditor的时候并不顺利,安装过程遇到的问题如下定位过程尼玛,耗费我2小时,借助度娘,总结下网友描述这个问题的原因:weditor不支持python3.1以上版本,要降低python版本-setup包版本太低,使用pipinstall--upgradepipsetuptools==45.2.0升级setup包先gitclonehttps:/
- “码农”成长记,渐渐不想「砸」电脑了
程序员程序员发展
在互联网这个充满神奇与挑战的江湖里,程序员们就像是一群身怀绝技的侠客,在代码的世界里闯荡。一开始,很多程序员都觉得自己像是个“搬砖”的码农,每天对着屏幕,一行行地敲着代码,仿佛在堆砌一座看不见尽头的城堡。初入编程世界,那感觉就像掉进了一个巨大的迷宫。各种编程语言,像Python、Java、C++,就如同迷宫里错综复杂的路径,让人眼花缭乱。每一种语言都有它独特的语法规则,就好像不同门派的武功秘籍,各
- Python Cookbook-2.24 在 Mac OSX平台上统计PDF文档的页数
我不会编程555
#Python学习pythonpdf开发语言
任务你的计算机运行着比较新的MacOSX系统(10.3的“Panther”或更新的版本),现在需要知道一个PDF文档的页数。解决方案PDF格式和Python都已经集成到了MacOsX系统中(10.3或更高版本),因而这个问题解决起来也相对比较容易:#!/usr/binpythonimportCoreGraphicsdefpageCount(pdfPath):#返回指定路径的PDF文档的页数pdf=
- python for net_转:.NET 4.0 下使用 Python for .NET
知之狐
pythonfornet
转:首先,我要搞清楚Pythonfor.NET,IronPython它们之间的区别。Python作为一门语言,其解释器(因为是解释型动态语言,所以我觉得称之为解释器interpreter比编译器compiler更合适)并不是只有唯一实现的。通常我们从Python官方网站下载的Python解释器其实只是一种用纯C语言的实现,大家习惯称之为CPython。而目前流行的还有另外两种解释器:Jython和
- w238光影视频平台
卓怡学长
计算机毕业设计javaspringspringboot数据库课程设计maven
作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板,帮助书写开题报告。作者完整代码目录供你选择:《Springboot网站项目》400套《ssm网站项目》800套《小程序项目》300套《App项目》500套《Python网站项目
- 深入解析:FIR滤波器在FPGA上的设计与实现全流程
king-agic
FPGAfpga开发经验分享
在FPGA中实现FIR(FiniteImpulseResponse)滤波器涉及多个步骤,包括滤波器设计、系数量化、硬件架构设计、HDL(HardwareDescriptionLanguage)编码、综合、布局布线以及验证。1.滤波器设计使用软件工具如MATLAB、Octave或者Python中的SciPy库来设计FIR滤波器。定义滤波器的规格,例如采样频率、截止频率、通带和阻带衰减等。生成滤波器的
- 强者联盟——Python语言结合Spark框架
博文视点
全栈工程师全栈全栈数据SparkPythonPySpark
引言:Spark由AMPLab实验室开发,其本质是基于内存的快速迭代框架,“迭代”是机器学习最大的特点,因此非常适合做机器学习。得益于在数据科学中强大的表现,Python语言的粉丝遍布天下,如今又遇上强大的分布式内存计算框架Spark,两个领域的强者走到一起,自然能碰出更加强大的火花(Spark可以翻译为火花),因此本文主要讲述了PySpark。本文选自《全栈数据之门》。全栈框架Spark由AMP
- Python系列之例题100题(26-30题)
爱study花小卷
python例题算法python
Hello!友友们!我们话不多说,直接干题!!!26:落体反弹问题;一球从100米高度自由落下,每次落地后反跳回原高度的一半;在落下,求它在第十次落地时,共经过了多少米?第十次反弹多高?n=100count=0list=[]whilecount<10:ifcount==0:list.append(n)n/=2count+=1else:list.append(2*n)n/=2count+=1prin
- Python 编程题 第四节:斐波那契数列、列表的复制、暂停后输出、成绩评级、统计字符
MYX_309
Python编程题python开发语言学习
斐波那契数列方法一(递归)deff(a):ifa==1:return1elifa==2:return1else:returnf(a-1)+f(a-2)print(f(3))方法二(非递归)n=int(input())lst=[1,1]foriinrange(2,n+1):lst.append(lst[i-1]+lst[i-2])print(lst[n-1])列表的复制这样赋值改变list1也会改变
- Python 编程题 第三节:完数、质数分解、判断某年某天
MYX_309
python开发语言
完数完数:一个数等于除他以外的的所有因子之和被称为完数l2=[]forainrange(1,1001):sum=0foriinrange(1,a):ifa%i==0:sum+=iifsum==a:l2.append(a)print(l2)质数分解很巧妙a=int(input())lst=[]y=2whilea>=y:#最小的质数为2,所以从2开始ifa%y==0:lst.append(y)a=a/
- Python办公自动化教程(008):设置excel单元格边框和背景颜色
叁拾舞
Pythonpythonexcel
3.2添加边框示例代码importopenpyxlfromopenpyxl.stylesimportBorder,Side#1️⃣创建Excel工作簿wb=openpyxl.Workbook()sheet=wb.activesheet.title="球员信息"#2️⃣定义边框样式(细线边框)thin_border=Border(left=Side(style="thin"),right=Side(
- PythonNet:实现Python与.Net代码相互调用!
编程乐趣
python.netmicrosoft
现在是多元化编程,每一个程序员都需要使用多门编程语言,特别现在是AI时代,对于我们.Net程序员来说,就需要经常同时使用Python和.Net。下面一个开源库,方便我们来突破Python和.NET的界限。01项目简介Python.NET是一个开源项目,它允许Python代码与.NETCommonLanguageRuntime(CLR)进行交互,为.NET开发者提供了一个强大的应用脚本工具。通过Py
- Python 编程题 第五节:落体反弹问题、求指定数列之和、求阶乘的和、年龄急转弯、判断回文数、判断星期几、矩阵主对角线元素之和
MYX_309
Python编程题python开发语言
落体反弹问题每次落下后弹起高度为之前的一半h=100sum=0foriinrange(0,10):ifi==0:sum+=helse:sum+=2*hh/=2print(sum,h)求指定数列之和a是一个暂时变量来储存之前的downsum=0up=2down=1foriinrange(20):sum+=up/downa=downdown=upup=down+aprint(sum)求阶乘的和方法一(
- Python实战笔记-删除数据5
MMGNFT
K总编程笔记
importpymysqldb=pymysql.connect(host=“127.0.0.1”,user=‘root’,password=‘11111111’,database=“pymysql_test”,port=3306)cursor=db.cursor()sql=“deletefromarticlewhereid=2”cursor.execute(sql)db.commit()db.cl
- 学习计划:第四阶段(第九周)
狐凄
学习python前端
目录第四阶段:特殊方法与高级特性第9周:了解属性装饰器周一周二周三周四周五总结一、学习内容回顾二、问题与解决三、学习成果四、下周计划第四阶段:特殊方法与高级特性第9周:了解属性装饰器周一上午理论学习阅读Python官方文档及相关教程,了解属性装饰器的基本概念。明确属性装饰器是Python提供的一种语法糖,用于简化属性的访问控制逻辑,将方法伪装成属性,使代码更简洁、易读。学习属性装饰器与传统属性访问
- 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