- Rocky Linux9下安装Docker和卸载Docker
Hadoop_Liang
dockerdocker容器运维
前提条件安装好RockyLinux9,可参考Vmware下安装RockyLinux9.4安装Docker精简版命令yuminstall-yyum-utilsyum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyuminstall-ydocker-cesystemctl
- Java:实现导出报表到Excel表格(附带源码)
Katie。
javaexcel开发语言
项目背景在许多企业应用中,生成报表并将其导出到Excel表格是一项常见需求。Java通过第三方库,如ApachePOI,可以实现将数据导出到Excel格式。ApachePOI提供了对MicrosoftExcel文件(.xls和.xlsx格式)的支持,可以让我们在Java程序中轻松生成Excel报表。本项目的目标是实现一个Java程序,生成一个简单的报表,并将其导出为Excel表格(.xlsx格式)
- Android面试题-多线程(99题)
猎羽
Android面试题面试题android
Android面试题之多线程,包括线程、Java同步问题、阻塞队列、线程池、AsyncTask、HandlerThread、IntentService等内容。本文是我一点点归纳总结的干货,但是难免有疏忽和遗漏,希望不吝赐教。转载请注明链接:https://blog.csdn.net/feather_wch/article/details/81207725有帮助的话请点个赞!万分感谢!Android
- YOLOv8实例分割训练自己的数据集
NoContours
YOLOpython开发语言
转载https://blog.csdn.net/m0_51530640/article/details/1299752571.利用labelme进行数据标注1.1Labelme安装方法首先安装Anaconda,然后运行下列命令:####################forPython2####################condacreate--name=labelmepython=2.7s
- 企业内外网隔离环境下的文件传输解决方案
CSSoftTechAI
中间件安全架构
##一、概述[](https://postimg.cc/qh8f5Sfg)在企业内外网隔离的网络环境中,确保企业内部员工能够安全、高效地与外部钉钉平台进行文件传输是提升工作效率的关键。本方案通过实现企业内网与钉钉平台的文件交互,满足员工在内外网隔离条件下文件传输的需求,同时保障企业数据的安全性和合规性。#
- 【微服务】SpringBoot 自定义消息转换器使用详解
小码农叔叔
springboot入门到精通springboot消息转换器spring消息转换器详解消息转换器使用详解springmvc消息转换器spring自定义消息转换器自定义消息转换器
目录一、前言二、SpringBoot内容协商介绍2.1什么是内容协商2.2内容协商机制深入理解2.2.1内容协商产生的场景2.3内容协商实现的常用方式2.3.1前置准备2.3.2通过HTTP请求头2.3.2.1操作示例2.3.3通过请求参数三、SpringBoot消息转换器介绍3.1HttpMessageConvertor介绍3.1.1常用的HttpMessageConvertor3.2如何确定使
- electron部署更新服务器
zhhao1
部署vercelelectron
1.electron更新有两种方式windows应用安装打包有两种1.squirrel第一种通过electron包里的autoUpdater模块,设置github用户名/repo仓库名,会自动拼接feedurl为https://update.electronjs.org/${用户名}/${仓库名}/${arch}/${version},更新服务器update.electronjs.org会去git
- python爬取pdf_python爬取在线教程转成pdf
weixin_39842237
python爬取pdf
1、网站介绍之前再搜资料的时候经常会跳转到如下图所示的在线教程:01.教程样式包括一些github的项目也纷纷将教程链接指向这个网站。经过一番查找,该网站是一个可以创建、托管和浏览文档的网站,其网址为:https://readthedocs.org。在上面可以找到很多优质的资源。该网站虽然提供了下载功能,但是有些教程并没有提供PDF格式文件的下载,如图:02.下载该教程只提供了HTML格式文件的下
- QT6开发高性能企业视频会议-5 Linux Audio开发
sqmeeting
linux运维服务器
Linux系统音频技术简介视频会议或者其他音视频通信应用都会涉及Audio/Voice的采集和播放,本文简单介绍Linux系统常用Audio开发框架和技术,并且配有示例代码。更完整的代码和应用请访问下面地址免费获取:国内:https://gitee.com/sqmeeting神旗视讯--开源高性能音视频系统目前,常用的Linux系统音频开发框架和SDK主要有如下几种:QtMultimedia简介:
- 服务器/mac m1配置python环境
LoveSeven.Lin
macospython开发语言
目录服务器配置环境一、安装miniconda二、创建环境三、激活环境四、conda安装Macm1配置环境一、安装Miniforge3二、创建环境三、激活环境四、安装tensorflow五、测试运行服务器配置环境一、安装miniconda#step1:获取安装shell脚本文件wgethttps://repo.continuum.io/miniconda/Miniconda3-latest-Linu
- golang调用deepseekr1
又菜又爱玩呜呜呜~
golang开发语言后端
1.官方文档2.请求看一下因为deepseek官方API的deepssek-r1响应太慢,于是用了腾讯的API来测试funcmain(){cfg:=config.Config{BaseURL:"https://api.lkeap.cloud.tencent.com",APIKey:"API-KEY",HTTPClient:&http.Client{},}//初始化deepseekd:=deepse
- 《白帽子讲Web安全》爬虫对抗:技术演进与攻防博弈
予安灵
白帽子讲Web安全web安全爬虫安全网络安全网络攻击模型
《白帽子讲Web安全》一书中,作者吴翰清和叶敏以技术深度与实战视角系统剖析了爬虫技术的演进与反爬虫对抗的核心逻辑。本文结合书中内容,从爬虫发展、行业挑战、反爬方案及对抗策略等维度总结核心观点。一、爬虫技术的发展与行业挑战1.爬虫的演进早期爬虫以简单脚本为主,通过模拟HTTP请求抓取公开数据;随着技术进步,现代爬虫已发展为具备分布式架构、动态渲染(如Headless浏览器)、AI辅助解析等能力的复杂
- 【前端】react+ts 轮播图的实现
Loong_DQX
前端react.jstypescript
一、场景描述在很多网站的页面中都有轮播图,所以我想利用react.js和ts实现一个轮播图。自动轮播图已经在前面实现过了,如:https://blog.csdn.net/weixin_43872912/article/details/145622444?sharetype=blogdetail&sharerId=145622444&sharerefer=PC&sharesource=weixin_
- [字节青训_AI对话框]SSE交互规范、自定义事件、前后端数据传递、状态监听、连接和断开详解
GISer_Jinger
项目前端node.js架构
1.SSE基础以下是关于Server-SentEvents(SSE)的前后端交互规范、常见方法及自定义扩展的完整指南:一、SSE交互规范1.基础协议HTTP协议:基于HTTP/1.1长连接,响应头需包含:Content-Type:text/event-streamCache-Control:no-cacheConnection:keep-alive2.数据格式规范每条消息格式为:[field]:v
- 《白帽子讲Web安全》学习:深入解析Cookie与会话安全
予安灵
白帽子讲Web安全安全web安全学习网络安全网络攻击模型cookie
目录导言一、Cookie的原理与作用二、Cookie面临的安全风险三、Cookie的核心安全属性1.Domain属性2.Path属性3.Expires属性4.HttpOnly属性5.Secure属性6.SameSite属性7.SameParty属性四、安全使用Cookie1.正确设置Cookie属性值2.Cookie前缀3.保密性和完整性五、会话安全1.会话管理(1)会话ID的随机性:(2)过期和
- 【BCT认证】Bonjour Conformance Test教程
Lotay_天天
Airplay-苹果投屏智能路由器网络
一、Bonjour一致性测试作为认证的一部分,BonjourConformanceTest工具必须通过所有网络的所有测试DUT支持的接口。测试结果文件和相应的debug.log文件必须是认证时提交。1.1BonjourConformance测试工具•在此处下载该工具的最新可用版本:https://developer.apple.com/bonjour/•“README.txt”展示了如何使用Bon
- 网络运维学习笔记 017 HCIA-Datacom综合实验01
技术小齐
网络运维学习
文章目录综合实验1实验需求总部特性分支8分支9配置一、基本配置(IP+二层VLAN+链路聚合)ACC_SWSW-S1SW-S2SW-Ser1SW-CoreSW8SW9DHCPISPGW二、单臂路由GW三、vlanifSW8SW9四、OSPFSW8SW9GW五、DHCPDHCPGW六、NAT+缺省路由GW七、HTTPGW综合实验1实验需求总部1.除了SW8和SW9是三层交换机,其他交换机均为二层交换
- 洛谷 CF2022A:Bus to Pénjamo ← 模拟题
hnjzsyjyj
信息学竞赛#模拟算法与基础语法算法
【题目来源】https://www.luogu.com.cn/problem/CF2022Ahttps://codeforces.com/contest/2022/problem/A【题目描述】有n个家庭前往佩恩哈莫,见证墨西哥有史以来最大规模的"拴着绳子遛鸡"马拉松比赛。其中i个家庭有ai名家庭成员。所有家庭将乘坐一辆大巴,每辆大巴有r排,2个座位。一个人在以下情况下被认为是幸福的:●另一名家庭
- 基于Matlab的脑功能网络工具箱 BCT & FCLab
脑电信号要分类
脑电信号识别
基于Matlab的脑功能网络工具箱BCT&FCLab1.下载BCT:https://www.nitrc.org/projects/bctFCLab:https://github.com/ramsys28/FCLAB2.位置放置将下载好的FCLab文件夹放在EEGLAB文件下下的plugins,然后将BCT文件夹放在FCLab文件夹下,如下图:3.测试打开matlab设置路径里添加FCLab文件夹及
- Genesis:AI驱动的天空盒深度纹理自动生成工具
羿妍玫Ivan
Genesis:AI驱动的天空盒深度纹理自动生成工具genesis项目地址:https://gitcode.com/gh_mirrors/genesis4/genesis项目介绍Genesis是一个实验性的Unity包,旨在为使用SkyboxLab创建的天空盒自动生成深度纹理。该项目的主要目的是探索当前2D图像生成模型在构建3D世界中的潜力,并为未来的AI辅助游戏开发提供原型工作流程。项目技术分析
- Genesis项目安装与使用指南
倪炎墨
Genesis项目安装与使用指南genesisAllgenericfunctionsforGoyoueverneed!项目地址:https://gitcode.com/gh_mirrors/gen/genesis项目概述本指南基于GitHub上的开源项目life4/genesis,旨在帮助开发者理解和使用此项目。然而,值得注意的是,提供的链接似乎并不指向一个实际存在的或者明确的开源项目“genes
- YashanDB审计
数据库
本文内容来自YashanDB官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E6%A6%82%E5%BF%B5%...数据库审计是一种监控和记录数据库活动的过程,通过数据库审计,可以追踪和记录对数据库的访问、修改和操作行为,以便进行追踪溯源、故障排除和合规性检查。#审计管理员审计管理员(AUDIT\_ADMIN角色)可以创建和管理审计策略,可
- 网络渗透测试实验四:CTF实践
肆——
渗透作业网络
1.实验目的和要求实验目的:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTPweb服务、目录枚举、提权、图像信息提取、密码破解等相关工具的使用。系统环境:KaliLinux2、WebDeveloper靶机来源:https://www.vulnhub.co
- Apache Pinpoint工具介绍
程序员的世界你不懂
效率工具提升apache
ApachePinpoint:分布式系统性能分析与链路追踪一、Pinpoint简介ApachePinpoint是一个开源的分布式追踪系统,专为微服务架构设计,支持HTTP、RPC、MQTT等协议的调用链追踪。其核心功能包括:链路可视化:展示服务间调用关系(调用树、耗时分布)性能分析:定位慢请求、异常错误根源依赖分析:统计服务间流量占比自动化监控:集成Prometheus、Grafana实时告警二、
- K8S集群搭建(kubeadm+calico)
kubernetes
准备阶段环境显卡:4060ti系统:ubuntu22.041.安装docker官网安装步骤:#AddDocker'sofficialGPGkey:sudoapt-getupdatesudoapt-getinstallca-certificatescurlsudoinstall-m0755-d/etc/apt/keyringssudocurl-fsSLhttps://download.docker.
- Python命令速查
hongyuT
pythonPython
什么也不做donothingpass安装依赖sudoapt-getinstall-fpip更换源pipinstallpackage_name-ihttps://pypi.tuna.tsinghua.edu.cn/simplepip安装pip:python2.x:sudoaptinstallpython-pippython3.x:sudoaptinstallpython3-pip升级pip:pyth
- 如何使用GraphX在Spark中进行图计算
python资深爱好者
spark大数据分布式
GraphX是ApacheSpark的一个图计算框架,它允许开发者在分布式环境中进行大规模的图数据处理和分析。以下是如何使用GraphX在Spark中进行图计算的基本步骤:1.环境准备首先,确保你已经安装了ApacheSpark,并且你的Spark版本支持GraphX。GraphX是Spark的一个组件,因此通常与Spark一起安装。2.导入GraphX库在你的Spark应用程序中,你需要导入Gr
- 软件测试高频面试题
码农黛兮_46
软件测试appium测试工具fiddler功能测试单元测试压力测试集成测试
以下是一些软件测试高频面试题:基础概念类HTTP和HTTPS的区别:HTTPS使用SSL/TLS协议对传输数据加密,HTTP没有加密;HTTPS可确保数据完整性,防止传输中被篡改,HTTP不保证;HTTP默认用80端口,HTTPS默认用443端口;HTTPS加密解密操作使其性能可能略低于HTTP,但差距已很小。TCP和UDP的区别:TCP面向连接,提供可靠服务,有流量、拥塞控制,无重复、丢失、差错
- Linux系统:服务器常见服务默认IP端口合集
前端白袍
服务器linuxtcp/ip
服务器的默认IP端口取决于所使用的协议和服务类型。以下是一些常见服务和协议的默认端口:服务端口实例:HTTP服务默认端口:80说明:用于普通的HTTP网页访问。例如,访问http://example.com时,默认使用80端口。HTTPS服务默认端口:443说明:用于加密的HTTP网页访问。例如,访问https://example.com时,默认使用443端口。ApacheHTTP服务HTTP:8
- flash_attn安装
壶小旭
PythonLinuxpython
flash_attn安装1.cuda-nvcc安装https://anaconda.org/nvidia/cuda-nvcc2.torch安装#https://pytorch.org/#找到对应cuda版本的torch进行安装pip3installtorchtorchvisiontorchaudio--index-urlhttps://download.pytorch.org/whl/cu1213
- 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