- 用前端的语言写后端——Node.js之Express
tabzzz
前端前端node.jsexpress
ExpressExpress是一种流行的模型视图控制器(MVC)Node.js框架,具有快速、极简和灵活的优点,为Web和移动应用程序开发提供了强大的功能集合。最受欢迎的Node.js框架!文章目录Express安装ExpressHelloWorld路由中间件全局中间件应用中间件开放跨域请求几种常用的Express内置中间件函数1.JSON格式数据中间件函数2.静态文件中间件函数3.路由中间件函数
- Python 安装 Selenium 报错解决方案:全方位排错指南
小柒笔记
pythonselenium开发语言
引言在尝试使用pip安装Selenium库时,您可能会遇到中断报错,这通常是由于多种原因造成的,如网络问题、权限问题或依赖项缺失等。本文将指导您如何解决这一常见问题。一、检查网络连接首先,确保您的网络连接稳定。pip安装过程中需要从互联网下载包,因此网络不稳定可能导致安装失败。二、使用管理员权限运行在Windows系统中,尝试使用管理员权限运行命令提示符或PowerShell。右键点击命令提示符或
- 【rsync+ssh】rsync远程同步备份数据
Bogon
rsync连接远程主机进行同步或备份时有两种途径:1.使用远程shell程序(如ssh或rsh)进行连接2.使用TCP直接连接rsyncdaemonrsyncdaemon是"rsync--daemon"或再加上其他一些选项启动的,它会读取配置文件,默认是/etc/rsyncd.conf,并默认监听在873端口上,当外界有客户端对此端口发起连接请求,通过这个网络套接字就可以完成连接,以后与该客户端通
- shell————文件名称截取
背锅攻城师
shell
假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt我们可以用${}分别替换获得不同的值:${file#/}:拿掉第一条/及其左边的字串:dir1/dir2/dir3/my.file.txt${file##/}:拿掉最后一条/及其左边的字串:my.file.txt${file#.}:拿掉第一个.及其左边的字串:file.txt${file##.}:拿掉最后一个
- Android命令行查看CPU频率和温度
Tom哈哈
android
在Android设备上,你可以通过命令行工具adb来查看CPU温度和CPU频率,并确定是否有降频情况。以下是具体步骤:1.查看CPU频率你可以使用以下命令来查看CPU各个核心的当前频率:adbshellcat/sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq这个命令会显示每个CPU核心的当前频率,单位是kHz。如果某个核心的频率低于最大频率,
- Python 安装selenium时遇到问题解决措施
博吧啦
pythonselenium开发语言
在使用pip安装selenium库的过程中可能会遇到各种各样的问题。通过这篇文章,大多数与selenium安装相关的问题都可以得到解决。希望对各位有帮助。1、确保网络连接稳定安装过程需要网络,网络不稳定可能导致安装失败。2、使用管理员权限运行以Windows系统为例:按Windows键+X以显示WinX菜单。从弹出菜单中,选择"WindowsPowerShell(管理员)"以管理员模式打开它。Wi
- 【项目实践】Pyside6+Qtdesigner:登录窗体设计
climber1121
Python项目实战QT数据库python
代码功能:可实现应用程序用户管理,实现用户登录、注册、密码修改代码文档结构:user_database.db:数据库文件,用于存储用户数据,第一运行代码时自动生成login.ui:UI文件,由QT设计ui_login.py(由login.ui编译过来)在终端WindowsPowerShell运行如下代码即可生成pyside6-uiclogin.ui-oui_login.pytest_login.p
- CentOS 运维常用的shell脚本
一碗情深
运维运维centoslinux
文章目录一、操作系统磁盘空间查看实时获取系统运行状态获取cpu、内存等系统运行状态获取系统信息二、应用程序获取进程运行状态查看有多少远程的IP在连接本机三、用户管理统计当前Linux系统中可以登录计算机的账户有多少个创建用户四、自动化管理自动备份日志文件监控的页面地址,对tomcat状态进行重启或维护实时监控本机内存和硬盘,剩余空间不足发送报警邮件一、操作系统磁盘空间查看disk_info.shd
- IS-IS详解(七)——IS-IS LSP报文详解
永远是少年啊
计算机网络计算机网络IS-ISLSPHCIE数通
今天继续给大家介绍IS-IS相关内容。本文主要内容是IS-IS的报文结构、各字段作用以及LSP报文的抓包。阅读本文,您需要有一定的IS-IS基础,如果您对此存在困惑,欢迎查阅我博客的其他内容,相信您一定会有所收获。推荐阅读:IS-IS详解(一)——IS-IS基础IS-IS详解(二)——IS-IS邻居建立IS-IS详解(三)——IS-IS报文结构与功能IS-IS详解(四)——IS-ISHello报文
- linux脚本监控重启shell脚本,CentOS系统的监控进程状态并自动重启的shell脚本
小雨芝时节
在CentOS系统中利用Crontab监控进程是否被结束并自动重启。附加每天凌晨4点自动重启服务器。1、编辑Crontabcrontab-e2、按i进行编辑*/1****/root/monitor.sh#每分钟运行一遍monitor.sh脚本05***/sbin/reboot#每天凌晨5点自动重启服务器12*/1****/root/monitor.sh#每分钟运行一遍monitor.sh脚本05*
- Delta3d 简单的控制物体例子
Sunday
Delta3D
//Inthistutorial,youwillchangethepreviousHelloWorldapplicationto//furtheryourunderstandingofmotionmodels.Previouslyyoulearnedhowtoplacea//camerainasceneandmovethecamerapositionviamouseandkeyboardinput
- 【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(十一)
向往风的男子
k8s学习kubernetes容器
本站以分享各种运维经验和运维所需要的技能为主《python零基础入门》:python零基础入门学习《python运维脚本》:python运维脚本实践《shell》:shell学习《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战《k8》从问题中去学习k8s《docker学习》暂未更新《ceph学习》ceph日常问题解决分享《日志收集》ELK+各种中间件《运维日常》
- shell 脚本(Linux--ubuntu)
husky_1
介绍1.Shell介绍(1)shell是一种命令语言,也是一个用C语言编写的程序(命令解释器->“翻译官”)(2)作用:主要提供一个接口使用户与内核交互操作。(3)流程:接收用户输入的命令并且进行解析,然后将命令送入内核去执行->最后将结果返回给用户。2.Shell常见类型名称来源比较sh(BourneShell)AT&TBell实验室的SteveBourne开发最早csh(CShell)加州伯克
- 配置文件使VSCode连接Ubuntu时无需重复输入密码
郑师傅炒板栗
Linuxubuntulinuxvscode
一、在XShell(已经连接到Ubuntu上)输入:ssh-keygen-trsa#结果如下:二、继续在命令行中输入:vimauthorized_keys然后在本机的用户->.ssh文件夹下,复制id_rsa.pub里面的公钥内容,到authorized_keys中,再输入:wq,保存后退出(vim的内容);三、以上做完就大功告成了,以后通过VSCode打开连接的Ubuntu的内容,就无需重复输入
- python ‘pip‘ 不是内部或外部命令,也不是可运行的程序
Jinx Boy
pythonpip
当你遇到'pip'不是内部或外部命令,也不是可运行的程序这样的错误时,通常是因为Python的pip可执行文件没有被添加到系统的环境变量中。这导致了命令行界面(如Windows的命令提示符或PowerShell,或Linux/MacOS的终端)找不到pip命令。要解决这个问题,你可以按照以下步骤操作:查找Python安装位置:找到你的Python安装目录,通常是在C:\Users\\AppData
- Linux搭建Java环境之jdk1.8安装图文教程
yundashi168
Java教程阿里云教程
Linux的使用相信大家都要用到java吧!在使用java前我们得先安装jdk以及配置环境变量等工作;下面小编给大家分享关于Linux安装jdk的详细步骤:【Linux服务器远程连接工具】xshell6快捷下载,xftp6快捷下载温馨提示:xshell负责编写和执行Linux命令,就是大家都知道的命令行。xftp负责上传和下载文件。两款软件搭配使用。还有一款免费的国产的linux远程连接客户端—f
- Shell_11_sed
热爱_生活
一、sed工作流程imagesed是一种在线的、非交互式的编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写
- 【Python】微信发送信息
onenote_1
python微信开发语言
Python微信发送信息cat/opt/shell/weixin.py#!/usr/bin/python#-*-coding:utf-8-*-importsysimporturllib2importtimeimportjsonimportrequestsreload(sys)sys.setdefaultencoding('utf-8')touser=sys.argv[1]title=sys.arg
- 第十四章 使用SQL Shell界面(一)
Cache技术分享
第十四章使用SQLShell界面(一)执行SQL的其他方式可以使用$SYSTEM.SQL.Execute()方法从Terminal命令行执行一行SQL代码,而无需调用SQLShell。以下示例显示如何在终端提示下使用此方法:DHC-APP>SETresult=$SYSTEM.SQL.Execute("SELECTTOP5name,dob,ssnFROMSample.Person")DHC-APP>
- shell脚本操作http请求的返回值——shell处理json格式数据
奋起的菜鸟想暴富
shellshell
日常工作中,我们经常会遇到http请求会返回大量格式固定的数据,而我们只需要其中的一部分,那么怎么提取我们想要的字段呢。这里会介绍一种用shell脚本处理http请求返回,或者处理json格式数据的方式。这里我们用到了jq这个强大的命令行JSON处理器使用.data.list选择JSON数据中的list数组。使用map(select(...))对数组中的每个对象进行筛选,只保留那些element字
- mac的基本配置
奋起的菜鸟想暴富
macos
安装Homebrew通常情况下我们选择使用brew作为macOS上的包依赖管理工具,安装brew请在shell中执行:/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install.sh)"在安装完成brew之后,我们可以可以随时通过brewinstall命令来安装各式各样的软件包。若
- Linux:如何使用 Crontab
AnyaPapa
Linuxlinux运维服务器
今天想了解一下LinuxCrontab。嗯,在Windows上,可以看做和定时任务差不多。“要在特定时间进行特定工作。”如果是这样,可以使用crontab,轻松使用Linux。1.基本(crontabbasic)先看一下基本的crontab使用方法吧。在Linuxshell中输入如下内容:$crontab-e那么可以编辑的地方就会加载,这里就是可以设置crontab的地方。在这里输入各种cron
- Shell脚本综合案例(Linux篇)
鸣名旧
linux运维服务器
1.监控目标主机状态监控方法通过ping命令(ICMP协议),如果能ping通,则表示目标主机处于上线状态;反之,则处理下线状态。由于存在网络延迟情况,可能在ping的过程中产生假报警的问题,所以在ping的取值上采用3次报警阈值设置,若3次全部失败,才会报警并产生预警信息。#!/bin/bash#Author:zking#监控目标主机状态ead-p"请输入目标主机的IP地址:"-t30ipfa
- 极简之美:探索Minimal Linux Live的开源之旅
芮妍娉Keaton
极简之美:探索MinimalLinuxLive的开源之旅minimalMinimalLinuxLive(MLL)isatinyeducationalLinuxdistribution,whichisdesignedtobebuiltfromscratchbyusingacollectionofautomatedshellscripts.MinimalLinuxLiveoffersacoreenvi
- 第二十一章 结构化命令case和for,while 循环
西南蔡徐坤
本节所讲内容21,1case-流程控制语句21.2循环循环语句21.3循环语句嵌套21.4实战-3个shell脚本实战21.1流程控制语句控制语句:case变量值in变量或者表达式1)命令序列1;;变量或者表达式1)命令序列2;;.........*)默认命令序列esaccase语句执行流程控制例1编写一个操作文件的脚本#######################################
- python调用shell命令-「Python」6种python中执行shell命令方法
weixin_37988176
用Python调用Shell命令有如下几种方式:第一种:os.system("Thecommandyouwant").这个调用相当直接,且是同步进行的,程序需要阻塞并等待返回。返回值是依赖于系统的,直接返回系统的调用返回值,所以windows和linux是不一样的。第二种:os.popen(command[,mode[,bufsize]])先给大家看个例子可以看出,popen方法通过p.read(
- Python学习:执行系统shell命令
chaos-god
pythonpythonshell
1.问题python可以作为shell替代,代码比较直观,易于维护。python支持调用外部shell命令。不过,这个问题没有看上去简单,要完美的解决此问题,比较复杂,就连标准库也不见得处理得很好。2.方案2.1.方案一首先最简单的方法就是调用system方法,直接执行系统shell命令,代码如下:importosos.system('ls-l')system主要问题,就是无法获取shell命令的
- api-ms-win-shcore-scaling-l1-1-1.dll解析及缺失解决策略:确保Windows高DPI显示正常
Nebula_042
windows
api-ms-win-shcore-scaling-l1-1-1.dll是Windows操作系统中的一个API接口库文件,属于WindowsShellCommonDLLs(Shell核心动态链接库)的一部分。这个特定的DLL文件与Windows的高DPI(每英寸点数)缩放功能紧密相关,支持应用程序在不同分辨率和缩放设置下正确显示界面元素,确保UI的清晰度和适配性。当系统提示api-ms-win-s
- ERROR 1010 (HY000): Error dropping database (can‘t rmdir ‘./acct_01/‘, errno:
进击的CJR
mysql数据库oracle
1.现象:使用dropdatabase命令删除数据库时,报17错误码,导致删除失败;2.原因,数据库中有其他文件,导致无法正常删除3.解决方法:退出数据库,使用shell命令进入数据库对应目录,使用rm-f*命名,删除所有剩余文件。4.重新使用mysql命令登录数据库,重新使用dropdatabase命令删除数据库。
- 【mysql】mysql之优化
向往风的男子
DBAmysql数据库
本站以分享各种运维经验和运维所需要的技能为主《python零基础入门》:python零基础入门学习《python运维脚本》:python运维脚本实践《shell》:shell学习《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战《k8》从问题中去学习k8s《docker学习》暂未更新《ceph学习》ceph日常问题解决分享《日志收集》ELK+各种中间件《运维日常》
- 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