- pytest学习day01- 用例的前后置
自动化测试-自学中
pythonpytestpytestpython
#---------------------pyest用例的前后置---------------------------------------"""测试类的前后置方法方式一:1、用例级别的:setup和teardown2、测试类级别的前后置方法:setup_class和teardown_class(类方法)方式二:pytest.fixture定义:1、@pytest.fixture(scope=
- 如何安装linux版本的node.js
m0_74824755
linuxnode.js运维
在Linux系统上安装Node.js可以通过多种方式。以下是一些常见的安装方法:方法1:使用包管理器Ubuntu/Debian更新包信息:sudoaptupdate安装Node.js和npm:sudoaptinstallnodejsnpm验证安装:node-vnpm-vCentOS/Fedora使用EPEL存储库安装Node.js:sudoyuminstallepel-releasesudoyum
- 在Linux系统下配置IP地址的方法
HoRain云小助手
php服务器apachelinuxubuntucentos
在Linux系统下配置IP地址可以使用以下几种方法:1.使用ifconfig命令:打开终端,并以root权限登录。输入ifconfig命令查看当前网络接口的配置信息。使用ifconfignetmask命令来配置IP地址和子网掩码,其中表示网络接口名称(如eth0、wlan0等),表示要配置的IP地址,表示子网掩码。输入ifconfig命令确认IP地址的配置结果。2.使用ip命令:打开终端,并以ro
- 2006-2020年 区域经济高质量发展-共享发展指数原始数据及测算
小王毕业啦
大数据大数据人工智能社科数据数据分析数据挖掘毕业论文深度学习
中国区域经济高质量发展-共享发展指数原始数据及测算2006-2020年.z.ziphttps://download.csdn.net/download/2401_84585615/89919914中国区域经济高质量发展-共享发展指数原始数据及测算2006-2020年中国区域经济高质量发展是国家经济发展战略的重要组成部分,旨在通过优化资源配置、提升创新能力、促进产业升级等措施,实现区域经济的可持续发
- 深入了解 systemd:Linux 系统的启动与管理大师
weixin_42587823
linux云计算linux服务器运维
深入了解systemd:Linux系统的启动与管理大师在现代Linux系统中,systemd已经成为不可或缺的核心组件。它不仅是一个初始化系统,还包含了一系列强大而实用的工具,用于管理服务、进程、日志以及其他系统资源。今天,我们以通俗易懂的方式,深入探讨systemd的作用、使用方法以及实际场景。什么是systemd?systemd是一个初始化系统和服务管理器,是传统的SysVinit和Upsta
- 【Lua源码分析系列】1. 概述
lua源码分析编译原理虚拟机
如题,这是一系列关于Lua的源码分析的文章。分析的重点在编译原理和虚拟机的部分,而不是相关的库的实现部分。写这系列文章,最初是因为想要设计一门编程语言以及它的虚拟机,为此参考现有的优秀的实现。为何选择Lua?其实本人更加想分析Javascript的v8引擎和Chakra引擎的,只是感觉能力还不太够。而Lua的实现相当小巧,只有几万行C代码,与C/C++的互操作相当方便,并且实现的质量也是工业级别的
- ill,contain,cover,none,scale-down 区别
懒大王、
css前端
fill:默认值。内容拉伸填满整个contentbox,不保证保持原有的比例contain:保持原有尺寸比例。长度和高度中短的那条边跟容器大小一致,长的那条等比缩放,可能会有留白cover:保持原有尺寸比例。宽度和高度中长的那条边跟容器大小一致,短的那条等比缩放。可能会有部分区域不可见。none:保持原有尺寸比例。同时保持替换内容原始尺寸大小。scale-down:保持原有尺寸比例,如果容器尺寸大
- frp配置实现内网穿透(阿里云linux服务器[公网]+内网windows)
object_admin
centos
Frp配置实现内网穿透一、下载linux和windows环境的安装包注意:server和目标主机下载的frp要同一个版本GitHub下载地址:https://github.com/fatedier/frp/releases可到我的CSDN的下载地址,方便访问不到GitHub的用户下载:https://download.csdn.net/download/object_admin/85170961[
- C/C++中的 void*
wudi_demaxiya
C++c++c语言指针
在看《Unix/Linux系统编程》中关于POSIXThread部分的时候发现C语言中用void*传递了int类型变量,很疑惑,于是查了些资料并汇总了一下。介绍了C语言和C++中关于void*的用法,涉及到了C++中的reinterpret_cast如果哪里有错误欢迎指正!参考资料参考资料1.C/C++中的void*与其他指针类型转换1.1C中void*与其他指针类型转换C语言对指针类型的转换要求
- Docker部署php-fpm服务器详细教程
shelby_loo
dockerphp服务器
引言本文将详细介绍如何在Azure100学生订阅中创建一个Ubuntu虚拟机,并利用Docker技术部署PHP-FPM服务器。对于初学者来说,这将是一个非常实用的入门教程。Docker和PHP-FPM简介Docker是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,包括物理机、虚拟机、云服务等。Docker的使用可以
- Java局部变量和成员变量(面试常考)
ljxandzy
java类
**局部变量和成员变量的区别:**1.声明的位置:局部变量:方法体{}中,形参,代码块{}中成员变量:类中方法外面,又可以细分为两种类变量:有static修饰实例变量:没有static修饰2.修饰符局部变量:final成员变量:public、protected、private、final、static、volatile、transient3.值存储的位置局部变量:栈(虚拟机栈)成员变量:实例变量:
- Windows Phone开发人员必看资料
面试精华
WindowsPhoneWindowsmobile应用技术
完整附件下载:http://down.51cto.com/data/414417附件预览:WindowsEmbeddedStandard开发初体验【课件汇总】http://down.51cto.com/data/65627利用WindowsEmbeddedStandard7构建操作系统映像http://down.51cto.com/data/65761WindowsEmbeddedStandard
- RHCE第一次作业
岩魈云散
服务器linux网络
实验4:nfs自动挂载实验原理:当客户端有使用NFS文件系统的需求时才让系统自动挂载,而当NFS文件系统使用完毕后,让NFS自动卸载。使用服务:nfs、autofs实验演示:需要完成自动挂载,必须使用两台虚拟机,一台做客户端,一台做服务端。这里新建了一张网卡,使用新的网卡去完成该实验,而不使用Linux默认的网卡。1.配置新网卡ip地址查看ip,新网卡ens224初始没有ip,需要先配置ip[ro
- python 手动安装第三方库
xiongerbuer
pythonpython库
1.下载对应操作系统的安装包,如lxml包官网有下载,网上也有很多下载地址2.安装wheelpipinstallwheel3.安装lxmlpipinstallF:\Downloads\lxml-3.6.0-cp35-cp35m-win32.whl
- python使用pyzbar报错filenotfounderror: could not find module ‘libiconv.dll‘
susu1083018911
python
查了好久的问题,也不知道为什么。记录一下解决办法:libiconv.dll需要安装动态连接库,下载地址:https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x64.exe下载完以后双击安装,安装好就没有问题了。
- Bash 命令:系统操作的得力助手
阿贾克斯的黎明
运维bash开发语言
目录Bash命令:系统操作的得力助手目录操作命令文件操作命令文件查看命令在Linux系统的日常使用与运维工作中,Bash命令起着核心作用。它就像一把万能钥匙,能够开启系统各种功能的大门,让我们高效地管理和操作计算机资源。接下来,我们将详细介绍一些常用的Bash命令及其用法。目录操作命令ls(list):用于列出目录内容。例如,在终端输入ls,会显示当前目录下的文件和子目录。如果要查看详细信息,可以
- Android搞机之编译LineageOS内核
android逆向工程
编译环境VMware虚拟机+Kali2022.332GB内存400GB硬盘乐视Max2手机lineageOS18.1源码下载从lineageOS官网上找到LeMax2。在Buildforx2章节找到kernel的Github地址下载kernel源码gitclone--depth=1https://github.com/LineageOS/android_kernel_leeco_msm8996.g
- 什么是python虚拟机
python游乐园
计算机基础python开发语言
一、定义Python虚拟机(PythonVirtualMachine,简称PVM)是Python语言的运行核心。它是一种抽象的计算机,用于执行Python字节码。字节码是Python源代码经过编译后生成的一种中间表示形式,就像是一种特殊的机器语言,但不是针对物理硬件的,而是针对Python虚拟机这个“虚拟硬件”。二、工作原理编译阶段当你编写Python源代码(例如.py文件)时,Python解释器
- Linux系统调用下的文件I/O编程
夏天又到了
LinuxC\C++编程技术linux服务器运维
【图书推荐】《LinuxC与C++一线开发实践(第2版)》_linuxc与c++一线开发实践pdf-CSDN博客LinuxC\C++编程技术_夏天又到了的博客-CSDN博客《LinuxC与C++一线开发实践(第2版)(Linux技术丛书)》(朱文伟,李建英)【摘要书评试读】-京东图书I/O就是输入/输出,它是主存和外部设备(比如硬盘、U盘)之间复制数据的过程,其中数据从设备到内存的过程称为输入,数
- 避免检测:安卓模拟器/安卓虚拟机/root环境
圣道寺
日常使用android
目录标题可选方案问题解决XposedInstallermagisk安装报错:Unabletodetecttargetimage如何避免模拟器被检测可选方案如果你想要避免某些安卓应用检测到你正在使用安卓虚拟机,你可以尝试以下方法。但请注意,这些操作可能违反了应用的使用条款,因此请在遵守相关法规和条款的前提下进行操作。修改虚拟机设备信息:一些应用会检查设备的制造商、型号等信息。你可以使用一些工具来修改
- Linux系统下DPDK源码编译,testpmd的使用以及编译过程中遇到的问题,以及高版本DPDK meson+ninja编译步骤
温柔如酒
DPDKlinux运维网络
一.dpdk-20.081.首先,下载以及编译依赖库安装:ubuntu:apt-getinstalllibnuma-devcentos:yuminstalllibnuma-devel以及yuminstallnumactl-devel官网下载DPDK源码,DPDK官网:dpdk.org以dpdk-20.08为例,下载完成后,cd到源码所在路径1.指定DPDK安装路径,设置所需的环境变量并转到源目录e
- Windows基础命令_组策略开启80瑞口
2401_84300239
程序员windows
-a:查询-d:删除————arp–d169.254.155.18-s:添加主机————arp–a127.127.127.12701-01-01-01-01shutdown-s(立刻关机)shutdown-t180(180秒后关机)shutdown-s-t180(180秒后关机,shutdown-a取消上一个操作)startwww.baidu.com(访问百度网站(start——打开))copy文
- html5贪吃蛇特点,简易html5贪吃蛇
雪小梨
html5贪吃蛇特点
1.[图片]E6~0%QPA46ER843UQJ$0Z`H.jpg2.[文件]snake.htmlThesnakegamefunctionlog(msg){console.log(msg);}Yourbrowsercannotsupporthtml5.this.onkeydown=function(e){varcode=e.keyCode;if(code==37)changeMove(3);if(
- Java虚拟机(JVM)深入解析
I~Lucky
jvm
Java虚拟机(JVM)是Java程序运行的核心环境,它负责将Java字节码转换为机器码并执行。本文将深入解析JVM的运行时数据区、类加载机制以及执行引擎,帮助读者更好地理解JVM的工作原理。一、运行时数据区(RuntimeDataArea)运行时数据区是JVM在执行Java程序时分配的内存区域,主要包括以下几个部分:1.方法区(MethodArea)方法区用于存储类信息、常量、静态变量以及即时编
- 深度学习(1)
浅忆へ梦微凉
深度学习人工智能深度学习学习方法python
一、torch的安装基于直接设备情况,选择合适的torch版本,有显卡的建议安装GPU版本,可以通过nvidia-smi命令来查看显卡驱动的版本,在官网中根据cuda版本,选择合适的版本号,下面是安装示例代码GPU:pipinstalltorch==2.5.0torchvision==0.20.0torchaudio==2.5.0--index-urlhttps://download.pytorc
- Linux 系统性能调优
周盛欢
linux运维服务器
嘿,朋友们,今天咱们来唠唠Linux系统性能调优这事儿。你是不是觉得这听起来特高大上、特复杂?别担心,我保证用最简单的语言,让你这个0基础的小伙伴也能轻松入门。一、为啥要调优Linux性能想象一下,你的电脑突然变卡了,打开个软件都得等半天,是不是特别闹心?Linux系统也一样,用着用着可能会因为各种原因变慢。比如,服务器上用户越来越多,要是不调优,系统就可能扛不住,影响大家正常用。所以,性能调优就
- 线程池创建及参数设置
运筹帷幄小红花
java开发语言后端
一、创建线程池以及线程池的各种参数分析://不指定最大线程数,默认是Int的最大值ExecutorServiceexecutorService=Executors.newCachedThreadPool();executorService.submit(()->{System.out.println("新建线程池对象,执行第一个默认线程");});executorService.shutdown(
- 蓝易云 - Linux系统中常见的远程管理协议!
蓝易云
linux运维服务器httpnginxhttpsflutter
Linux系统中常见的远程管理协议有以下几种:1.SSH(SecureShell):SSH是一种安全的远程登录协议,用于在网络上安全地远程登录到Linux服务器。它提供了加密的传输和身份验证机制,可以防止数据在传输过程中被拦截和篡改。SSH使用用户名和密码或公钥认证来验证用户身份,并允许用户在远程终端上执行命令。2.Telnet:Telnet是一种不安全的远程登录协议,用于在网络上远程登录到Lin
- 【VMware创建虚拟机+安装Ubuntu22】
2301_81475776
java服务器linux
使用VMware创建虚拟机并安装Ubuntu22创建虚拟机Ubuntu安装创建虚拟机1.打开下载好的VMware,点击主页中的"创建新的虚拟机“2.弹出窗口,选择“自定义”选项,点击下一步3.弹出窗口,选择所需要的”硬件兼容性“,点击下一步4.弹出窗口,选择”稍后安装操作系统“,点击下一步5.弹出窗口,客户机系统操作选择"Linux",版本选择“Ubuntu64”6.修改虚拟机名称7.选择虚拟
- ubuntu 22 安装vmware 17.5
bohu83
ubuntulinuxvmwarevmmonvmnet
因为玩小车,亚博售后说目前技术不支持搭建移植环境,推荐使用官方的虚拟机镜像。ubuntu安装linux,下载,推荐CDSRepository-/var/www/public/stage/session-120/cds/vmw-desktop/ws/17.5.1/23298084/linux/core官方网站brandcom注册很麻烦,貌似有bug,我注册完还提示登录失败。准备工作sudoaptin
- 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