- 在Ubuntu主机中修改ARM Linux开发板的根文件系统
牧以南歌〆
嵌入式Linuxlinuxubuntuarm开发驱动开发
目录在Ubuntu主机中修改ARMLinux开发板的根文件系统一、安装环境二、根文件系统镜像扩容三、挂载扩容后的根文件系统镜像四、修改相关配置五、创建挂载脚本六、切换回主机目录七、取消挂载八、精简根文件系统镜像大小在Ubuntu主机中修改ARMLinux开发板的根文件系统开发环境:Ubuntu20.04、飞凌OK3568开发板、开发板使用的根文件系统镜像为ubuntu.img一、安装环境首先使用以
- Hadoop MapReduce 入门
一、Hadoop3.0.4环境准备1.环境要求Java8(Hadoop3.0.4不支持Java11+)单节点或多节点Linux系统(推荐Ubuntu18.04+)至少4GB内存(建议8GB+)50GB以上磁盘空间2.安装Java#安装Java8sudoapt-getinstallopenjdk-8-jdk#验证安装java-version3.下载与安装Hadoop3.0.4#下载Hadoop3.0
- OpenCV 人脸分析------面部关键点检测类cv::face::FacemarkLBF
村北头的码农
OpenCVopencv人工智能计算机视觉
操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述使用LocalBinaryFeatures(LBF)算法进行面部关键点检测(faciallandmarkdetection)。该算法通过级联回归树预测人脸的68个关键点,具有较高的精度和速度。公共成员函数staticPtrcreate(constParams&pa
- 补充:解决Ubuntu20.04.4安装KRS时无法下载github代码问题
mamak426
kv260github自动驾驶人工智能
官方代码下载自github(gitlab),如何访问外网的问题这里可以合法合规解决,就是先把github的代码导入gitee,再采取同步的方式解决:原代码段如下:仔细看代码内容,链接路径全为github。catkrs_rolling.reposrepositories:ros2/ament_lint:type:giturl:https://github.com/ament/ament_lintve
- 如何解决Ubuntu服务器拉取github代码失败
徐方芳
github
使用gitclone拉取GitHub代码时出现以下错误:fatal:unabletoaccess'https://github.com/XXX':Failedtoconnecttogithub.comport443after133795ms:Connectiontimedout通过查找资料,找到解决办法,可以通过运行以下代码解决:gitconfig--global--unsethttp.proxy
- 国内Ubuntu访问不了github等外网
weixin_66009678
ubuntulinux运维
各位小伙伴们,大家好呀。大家是不是经常遇到访问不了外网的情况呀。在Ubuntu中可以这样做。访问这个网站网站测速-Ping检测-Trace查询-Dig查询-路由跟踪查询-tools.ipip.net,对于github.com,在这个网站输入github.com,会返回20.205.243.166然后在ubuntu上输入sudovi/etc/hosts然后增加如下:20.205.243.166git
- Ubuntu磁盘空间清理
BACKLS
ubuntulinux运维
这个错误消息表示你的Ubuntu系统上没有足够的磁盘空间来启动MySQL。你可以按照以下步骤来解决这个问题:检查磁盘使用情况:使用df-h命令检查你的磁盘使用情况,找出哪些分区已经满了。df-h清理不必要的文件:清理一些不必要的文件和目录来释放空间。常见的目录包括/var/log/,/tmp/,以及用户目录下的大文件。sudoapt-getcleansudoapt-getautoremovesud
- Ubuntu 14.04连接上海大学ShuWlan-1X与eduroam
无线配置GUI窗口界面配置无线:安全-WPA及WAP2企业认证-受保护的EAP(PEAP)CAZ证书-不需要内部认证-MSCHAPv2eduroam的用户名为学号@sdvip.shu.edu.cn,密码为一卡通密码。ShuWlan-1X的用户名学号,密码为一卡通密码。
- 容器基础5-Helm 与 K8s 的关系
旗浩QH
Android系统虚拟化kubernetes容器云原生
一、Helm是什么?为什么需要它?K8s是强大的容器编排平台,但部署复杂应用时(如包含Web服务、数据库、缓存等多个组件的系统),需要编写大量YAML文件,管理成本高。Helm就是为简化K8s应用部署而生的工具,它被称为“K8s的包管理器”,类似Ubuntu的apt或Mac的brew。二、Helm如何工作?核心概念解析Chart(图表)Helm的基本单位,是一组YAML文件的集合,描述了一个或多个
- Docker 容器全生命周期操作指南
以下是Docker容器全生命周期操作指南,按步骤清晰划分,涵盖从镜像加载到容器销毁的完整流程:一、镜像加载与验证1.从.tar文件加载镜像sudodockerload-iubuntu18.04-boost1.88-cmake3.27-git_1.0.tar2.查看已加载的镜像sudodockerimages输出示例:REPOSITORYTAGIMAGEIDCREATEDSIZEubuntu18.0
- 利用systemd启动部署在服务器上的web应用
不是吧这都有重名
遇到的问题服务器前端运维
0.背景系统环境:Ubuntu22.04web应用情况:前后端分类,前端采用react,后端采用fastapi1.具体配置1.1前端配置开发态运行(启动命令是npmrundev),创建systemd服务文件sudonano/etc/systemd/system/frontend.service内容如下:[Unit]Description=ReactFrontendDevServerAfter=ne
- ubuntu 6.8.0 安装xenomai3.3
ZPC8210
ROSubuntulinux运维
通过以下步骤来获取和准备Linux内核6.8.0的源码,并应用Xenomai补丁:1.下载Linux内核6.8.0源码你可以从TheLinuxKernelArchives下载Linux内核6.8.0的源码。以下是具体步骤:访问内核官方网站:打开TheLinuxKernelArchives。找到对应版本的内核:在网站中找到内核6.8.0的下载链接。通常在v6.x目录下。下载源码:下载linux-6.
- 交叉编译Python-3.6.0到aarch64/aarch32 —— 支持sqlite3
参考https://datko.net/2013/05/10/cross-compiling-python-3-3-1-for-beaglebone-arm-angstrom/平台主机:ubuntu14.0464bit开发板:qemu+aarch64(参考:http://www.cnblogs.com/pengdonglin137/p/6442583.html)工具链:aarch64-linux-
- 如何解决ubuntu 中DNS无法修改导致无法联网的问题
BTU_YC
linuxubuntuubuntulinux服务器
写在前面:在刚开始遇到这个问题的时候,在网上搜了很多资料,都无法解决DNS总是无法修改,一些文章中提到过,直接修改的/etc/resolv.conf,之后确实能够通过pingwww.baidu.com的方式解决,但是当重启电脑的时候,网络有无法使用了。之前的方法就不提了,直接介绍一下我这解决的方法吧如何解决:先使用这个命令进入编辑页面vim/etc/systemd/resolved.conf输入命
- python# python:3.5 aarch64构建镜像
Ling丶落
centos
构建失败从ubuntu中尝试构建FROMpython:3.5-slimLABELMAINTAINER="
[email protected]"#installrelatedpackagesENVENVIRONMENTDOCKER_PRODWORKDIR/workCOPY./dataset.py/work/dataset.pyCOPY./model.py/work/model.pyCOPY./PyA
- 跨平台ZeroMQ:在Rust中使用zmq库的完整指南
涵树_fx
架构设计Rust实战rust开发语言后端
“消息就像神经元间的电信号,而ZeroMQ就是那个让系统思考的神经网络”——某个深夜调试zmq的程序员当你需要轻量级、高性能的进程间通信时,ZeroMQ就像代码世界里的瑞士军刀。今天我们一起探索如何在Rust生态中使用这把利器,感受它如何在不同操作系统间架起通信的桥梁。安装ZeroMQ:三大操作系统的通关秘籍Linux(Debian/Ubuntu)sudoaptupdatesudoaptinsta
- 【Prometheus】通过tar包部署单机版Prometheus 和 Pushgateway
在ECS(ElasticComputeService)机器上通过tar包部署Prometheus和Pushgateway,并配置Prometheus采集Pushgateway的数据,是一个常见的监控部署任务。以下是详细的步骤说明:环境准备操作系统:Linux(如CentOS、Ubuntu)已安装tar命名已开通ECS实例的相应端口(9090forPrometheus,9091forPushgate
- Linux报错解决——导入了gcc版本,但是还是显示原来的gcc版本的解决办法
William.csj
报错解决Ubuntulinux运维服务器
一、问题描述我想要切换gcc版本,于是我用sudo安装了gcc-11,接着我在终端运行了:exportCC=/usr/bin/gcc-11exportCXX=/usr/bin/g++-11运行gcc--version还是显示:gcc(Ubuntu13.3.0-6ubuntu2~24.04)13.3.0二、原因分析即使你exportCC=/usr/bin/gcc-11,但gcc--version还是
- Linux下Redis安装配置全攻略(2024最新版)
「已注销」
linuxredis运维
手残党也能搞定的Redis安装指南还在为Linux安装Redis发愁?(别问我怎么知道的)今天这个保姆级教程绝对能让你爽到飞起!从零开始到完全可用只要10分钟,连小白都能轻松上手!(信我,真的)环境准备(超级重要)先确认你的Linux发行版(敲黑板!):#查看系统信息cat/etc/os-release推荐系统:Ubuntu20.04/22.04LTSCentOS7/8RockyLinux8/9安
- 备份远程主机上mysql,mongodb上数据,在docker容器中导入
酒千殇
数据备份dockermongodbmysql数据备份ubuntu
将远程机器中的mysql,mongodb数据备份到Ubuntu20.04中前提:一定要明确数据库的版本。已知:远程机器ip,mysql账号,密码。说明:以下命令均在Ubuntu20.04中执行查看远程mysql的版本:用mysqlworkbench连接上远程数据库。点击Query菜单,在空白框输入selectversion();在点击菜单栏中第二个闪电符号,执行这条命令。就可以在下面的输出中看到m
- ubuntu20安装ros foxy和ros noetic以及turtlebot3
ubuntu20镜像制作U盘启动用UUI,用UltraISO一直没有成功1,安装两个版本的ROS,均可以先添加源,然后安装desktop版的方式安装2,其他依赖安装常规说明安装3,cartographer安装1)cartographer官网提供的是ros1上的安装教程,对于ros2已经可以很方便得用apt-get的方式安装参考:https://ubuntu.com/blog/simulate-th
- ubuntu没有网络
突然发现Ubuntu连不上网络,右上角也没有网络图标;打开终端,运行命令:sudoservicenetwork-managerstopsudogedit/var/lib/NetworkManager/NetworkManager.state更改打开的文件里的内容:将NetworkingEnabled=false改为NetworkingEnabled=true保存退出后,在终端运行命令:sudose
- K8S 集群配置踩坑记录
KKKingWei
kubernetes容器云原生
系统版本:Ubuntu22.04.5-live-server-amd64K8S版本:v1.28.2Containerd版本:1.7.27kubeletlogs====================kuberuntime_sandbox.go:72]"Failedtocreatesandboxforpod"err="rpcerror:code=Unknowndesc=failedtocreatec
- 详细总结在电脑上安装 Ubuntu 22.04 双系统(Windows + Ubuntu)全过程
番知了
电脑ubuntuwindows
目录一、准备阶段1.1重要数据备份1.2下载Ubuntu22.04镜像1.3制作Ubuntu启动U盘二、Windows分区调整(为Ubuntu腾出空间)2.1打开磁盘管理2.2压缩完成后三、BIOS/UEFI设置(强烈建议提前完成)3.1重启电脑→进入BIOS/UEFI3.2保存设置,插入U盘,重启四、启动并安装Ubuntu4.1选择U盘启动4.2进入Ubuntu安装界面4.3安装语言、布局、网络
- 详细总结实际物理机上安装 Ubuntu 22.04 双系统(Windows + Ubuntu)全过程
番知了
ubuntuwindowslinux
目录一、准备阶段1.1重要数据备份1.2下载Ubuntu22.04镜像1.3制作Ubuntu启动U盘二、Windows分区调整(为Ubuntu腾出空间)2.1打开磁盘管理2.2压缩完成后三、BIOS/UEFI设置(强烈建议提前完成)3.1重启电脑→进入BIOS/UEFI3.2保存设置,插入U盘,重启四、启动并安装Ubuntu4.1选择U盘启动4.2进入Ubuntu安装界面4.3安装语言、布局、网络
- 【Linux学习】Linux安装并配置Redis
安装Redis在Linux系统上安装Redis可以通过包管理器或源码编译两种方式进行。以下是两种方法的详细步骤。使用包管理器安装Redis(以Ubuntu为例):sudoaptupdatesudoaptinstallredis-server通过源码编译安装Redis:wgethttps://download.redis.io/redis-stable.tar.gztar-xzvfredis-sta
- ubuntu安装Pluto Compiler,多面体编译器-1
1)Github上下载-rw-rw-r--1aa19001097月411:52pluto-0.13.0.zip解压cd进去2)/home/a/src/llvm-project/build是我前面自己源码编译llvm的包./configure--with-clang-prefix=/home/a/src/llvm-project/build3)报错了checkingforstdlib.h...(ca
- linux 修改内核tcp参数,优化服务端高并发请求
Linux之TCPIP内核参数优化本文以Ubuntu12.04LTSDesktop(x64)默认配置为例(机器的内存为4GB),推荐先阅读《TCP连接的状态与关闭方式,及其对Server与Client的影响》、《Windows系统下的TCP参数优化》,以了解TCP优化的相关知识。/proc/sys/net目录所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys
- ubuntu18.04 配置 mid360并测试fast_lio
hero_heart
电脑
1.在买到Mid360之后,我们可以看到mid360延伸出来了三组线。第一组线是电源线,包含了红色线正极,和黑色线负极。一般可以用来接9-27v的电源,推荐接12v的电源转换器,或者接14.4v的电源转换器。第二组线是信号线,共5根线,包含了2根pps线,秒脉冲;包含了2根GPS信号输入和GPS信号输出线,和一根地线。第三组线是数据线,是一个网线,直接连接笔记本就可以了2.IP配置2.1先把mid
- 在Ubuntu上使用Certbot申请Let’s Encrypt SSL证书
1引言要使用HTTPS就必须得有SSL证书。理论上,证书是可以通过像OpenSSL这样得工具生成的。不过这种证书只能自己测试用,浏览器上面是不认的,会提示用户不安全。也就是说,浏览器只接受一些特定的证书颁发机构(CA)发布的证书。正规的商业应用上,这些证书是需要像这些机构购买的。不过好在还是有像Let’sEncrypt这样开放的证书颁发机构,可以免费向其申请SSL证书,不过缺点是证书有效期只能有9
- 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