- Linux 常用命令大全(2025简明版)
clk6607
大数据
一、文件和目录操作命令说明ls列出目录内容ls-l以列表形式显示(含权限)cd/path切换目录pwd显示当前路径mkdirdir创建目录mkdir-pdir/subdir递归创建目录rmfile删除文件rm-rdir删除目录(递归)rm-rfdir强制删除目录cpa.txtb.txt拷贝文件cp-rsrc/dest/拷贝目录mvoldnew移动/重命名文件或目录touchfile.txt创建空文
- 【AI与数据管理】基于AI大模型的企业元数据管理方案
暴躁小师兄数据学院
人工智能ai语言模型
基于AI大模型的元数据关键解决方案元数据(metadata)是描述数据的数据,例如数据的来源、结构、类型和质量信息。它在数据管理、分析和应用中至关重要。随着人工智能(AI)大模型(如基于Transformer的模型)的发展,这些模型凭借其强大的自然语言处理、模式识别和生成能力,为元数据处理提供了高效、自动化的解决方案。下面,我将逐步解释基于AI大模型的元数据关键解决方案,帮助您理解核心方法、挑战和
- 前端 常见HTTP状态码
织_网
http微信
1、200请求资源成功-->接口调用成功2、500(internalserverError)服务端/网络错误服务端错误或者网络状态不太好前端是没有办法解决的需要找后端解决3、404客户端错误-->接口错误;没有请求到资源前端问题有可能是没有这个接口或者接口错误-->查看url是否正确-->请求地址不对参数错误查看data是否正确使用Postman进行接口测试–VScode可以使用Postcode进
- Kotlin Flow 冷流 StateFlow 热流 StateFlow 的应用
Flow是冷流。简单来说。如果Flow有了订阅者Collector以后,发射出来的值才会存在内存中,这和懒加载的概念很像与之相对的是热流,StateFlow和SharedFlow是热流,在垃圾回收之前,都是存在内存之中,并且处于活跃状态StateFlow是一个状态容器式可观察数据流,可以向其收集器发出当前状态更新和新状态更新,还可通过其value属性读取当前状态值。和livedata很像。pack
- 前端的跨域问题
前端新手也能看懂的跨域问题详解在前端开发中,我们经常会听到“跨域问题”。尤其是在本地调试前端和后台接口时,浏览器突然抛出一堆报错信息,比如:AccesstoXMLHttpRequestat'[http://api.xxx.com/data](http://api.xxx.com/data)'fromorigin'[http://localhost:8080](http://localhost:80
- 前端新手看这篇就够了:各种接口请求方式全解析!
鸡吃丸子
前端
在前端开发中,我们经常需要向后端发送请求获取数据,比如用户登录、获取列表、提交表单等。而请求方式有很多种,例如GET、POST、PUT、DELETE,传参方式也五花八门:有的放在URL,有的放在请求体,有的用form-data,有的用JSON…这篇文章就一次性帮你理清楚各种请求方式的写法、参数位置、格式区别,帮助你彻底搞懂前端怎么写接口!一、最常用的HTTP请求方法方法说明GET获取数据(常用于查
- linux系统下使用Qt静态库(Qt5.15.16)
꧁白杨树下꧂
qt
前言笔者经过测试,自己编译出的Qt静态库是可以正常工作的,但有部分小伙伴反馈,他们编译出的Qt静态库无法正常使用,经过笔者了解后,决定为大家解疑部分问题一、使用QMake构建项目对于Qt5,官方对qmake的支持还是不错的,所以只要在QtCreator正常配置kit套件,无论是widget程序还是qml程序,都可以正常运行。读者可以以此判断,编译的静态库是否符合自己需要。若是widget程序也无法
- Linux网络——socket网络通信udp
深思慎考
网络linuxudp
文章目录UDP通信基础UDP的特点Linux下UDP通信核心步骤创建UDP套接字绑定本地地址(可选)发送数据函数:sendto()函数原型参数详解典型使用示例接收数据函数:recvfrom()函数原型参数详解返回值典型使用示例关键设计原因无连接特性网络字节序转换INADDR_ANY的使用缓冲区设计客户端和服务端具体实现客户端服务端UDP通信基础UDP(UserDatagramProtocol,用户
- Python编程菜鸟教程:从入门到精通的完全指南_python菜鸟教程
2401_89285717
python开发语言
我们将介绍Python在数据科学、机器学习、Web开发等方面的应用,并带你了解Python社区和生态系统。基础入门Python安装:在官方网站下载安装包,根据不同操作系统进行安装。Mac用户可直接使用Homebrew进行安装Windows用户需下载安装包后进行手动安装Linux用户可使用apt-get或yum进行安装基础语法:Python是一种解释型语言,支持面向对象、函数式和面向过程等多种编程范
- PHP/Laravel + Vue3 + MySQL + Docker 项目搭建全流程指南(Al总结版未测试未编辑)
野生yumeko
phplaravelmysql
PHP/Laravel+Vue3+MySQL+Docker项目搭建全流程指南一、环境准备(仅需Docker)安装DockerDesktopWindows/macOS:下载DockerDesktop并安装。Linux:安装docker-ce和docker-compose-plugin。#Ubuntu示例sudoaptupdate&&sudoaptinstalldocker-cedocker-comp
- Python对JSON数据操作
在Python中,对JSON数据进行增删改查及加载保存操作,主要通过内置的json模块实现。一、基础操作1.加载JSON数据•从文件加载使用json.load()读取JSON文件并转换为Python对象(字典/列表):importjsonwithopen('data.json','r',encoding='utf-8')asf:data=json.load(f)•从字符串加载使用json.load
- Linux 基础入门操作 第十四章 .U-Boot 编译 1
1U-Bboot编译1.1UBOOT介绍U-Boot,全称UniversalBootLoader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌
- 前端通过docx-preview和pdfjs插件实现docx、pdf文件在线预览
NetX行者
前端前端vue.jspdf
docx文件格式在线预览插件:docx-preview安装:npmidocx-preview使用:创建一个容器标签引入并创建渲染函数import{renderAsync}from"docx-preview";renderDocx(){renderAsync(this.fileData,this.$refs.file,null,{className:"docx",//默认和文档样式类的类名/前缀in
- SFTP服务器搭建实战:腾讯云 Linux 上的快速安全文件传输方案
更多云服务器知识,尽在hostol.com你有没有遇到这种情况:FTP上传老是失败?内网传输日志经常被拦截?最气的是安全部门说你那套文件传输方式“明文传输,不合规”。那好吧,现在是时候扔掉老掉牙的FTP,来点靠谱的了——SFTP。等等,SFTP是啥?SSH的“升级版”?不,是你服务器通信里那把真正的保险锁。今天就带你5分钟搞定它,尤其是在腾讯云Linux云服务器环境下,手把手实战部署,从基础到加固
- Linux部署MinIO与Spring Boot整合实战指南
luoqinqin
linuxspringboot运维
一、MinIO简介与核心概念MinIO是一款高性能的分布式对象存储服务,兼容AmazonS3API,适用于存储图片、文档等非结构化数据。核心术语:Bucket:存储对象的容器(类似文件夹)Object:存储的基本单元(文件+元数据)AccessKey/SecretKey:身份验证凭证二、Linux环境MinIO部署1.单节点安装#下载二进制文件wgethttps://dl.min.io/serve
- linux安装mysql客户端
有时候我们只想在某个机器上安装mysql客户度,而不是安装整个mysql服务,因为服务已经存在了,而我们又因为某些原因我们不能直接登录到这台服务器上,或者是我们要在其他机器上查询mysql的数据安装mysql客户端yuminstallmysql-y(安装mysql服务我们用的是yuminstall-ymysql-server这个命令)连接目标主机mysqlmysql-h192.168.123.11
- SpringBoot多数据源动态切换方案:AbstractRoutingDataSource详解
fanxbl957
Webspringboot后端java
博主介绍:Java、Python、js全栈开发“多面手”,精通多种编程语言和技术,痴迷于人工智能领域。秉持着对技术的热爱与执着,持续探索创新,愿在此分享交流和学习,与大家共进步。DeepSeek-行业融合之万象视界(附实战案例详解100+)全栈开发环境搭建运行攻略:多语言一站式指南(环境搭建+运行+调试+发布+保姆级详解)感兴趣的可以先收藏起来,希望帮助更多的人SpringBoot多数据源动态切换
- Pod调度、嵌入式脚本、Pod标签管理
yanjiaweiya
云原生kubernetes容器
多容器Pod案例3排错[root@master~]#vimweb2.yaml---kind:PodapiVersion:v1metadata:name:web2namespace:defaultspec:containers:-name:nginximage:myos:nginx-name:apacheimage:myos:httpdstatus:{}[root@master~]#kubectla
- pip方式安装MindSpore Ascend版本
pip方式安装MindSporeAscend版本参考:https://www.mindspore.cn/install/本文档介绍如何在Ascend环境的Linux系统上,使用pip方式快速安装MindSpore。安装MindSpore与依赖软件下表列出了安装MindSpore所需的系统环境和第三方依赖。软件名称版本作用Ubuntu18.04/CentOS7.6/EulerOS2.8/openEu
- 后端框架
再见,再也不见(๑><๑)
java
后端开发中,使用框架可以提高开发效率、简化代码编写,并提供丰富的功能和工具支持。以下是一些流行的后端框架:SpringFramework:特点:SpringFramework是一个全功能的Java开发框架,提供了依赖注入、面向切面编程、事务管理等功能,广泛用于构建企业级应用。生态系统:Spring生态系统庞大,包括SpringBoot用于快速搭建项目、SpringData用于数据访问、Spring
- Docker后端部署
cui_hao_nan
后端技术总结docker容器运维
1、构建Docker容器首先编写Dockerfile,将后端项目打包为Docker容器镜像。Dockerfile是一个文本配置文件,包含一系列指令,用干自动化构建Docker容器镜像。我们需要在Dockerfile中定义:基础环境(比如预装JDK的Linux系统)有哪些原始文件?(比如项目源代码)如何构建项目?(比如mavenpackage命令打包)如何启动项目?(比如java-jar命令).2、
- 12.组件的实现原理
青阳流月
vue3前端javascriptvue.js
将一个大的页面分为多个组件,每个组件都可以完成独立的功能并且可以被复用。1.渲染组件从用户角度,是一个描述对象constmyComponent1={name:'myComponent1',data(){return{name:'wjt'}}}从渲染器角度,是一个特殊的虚拟DOMconstmyComponent2={//type:Fragment,//描述片段type:Text,//描述节点prop
- TCP backlog工作机制
riverz1227
tcp/ip网络服务器
Linux中的TCPbacklog:两个队列与丢连接的真相在高并发网络服务场景中,listen()的backlog参数常常被误解,许多TCP连接被悄悄丢弃时,我们甚至毫无察觉。近期在排查一条内核日志TCP:dropopenrequestfrom...时,对此翻阅整理了一些资料,就TCPbacklog在Linux中的工作原理、背后的两个关键队列机制,以及如何高效排查相关连接丢失问题,做些记录01|什
- ubuntu20.04自建代码托管平台-Gitlab
HuangFJ-
VMware虚拟机ubuntulinux服务器git
介绍由于gitlab需要在linux操作系统部署,因此这篇文章涉及以下关键点1.虚拟机VMware安装ubuntu2.ubuntu修改下载源问题3.openssh、vim、net-tools等插件下载4.ubuntu下载gitlab免费版:5.gitlab相关命令6.使用浏览器访问gitlab7.初始密码/修改密码8.如何新增用户并发送邮件环境ubuntu-20.04.1-desktop-amd6
- 技术支持工程师
OS与云桌面一、核心概念解析操作系统(OS)定义:管理硬件资源(CPU、内存、存储等)并为应用程序提供运行环境的系统软件,如Windows、Linux、UOS、银河麒麟等。作用:承担进程调度、文件管理、设备驱动等基础功能,是任何计算设备的“大脑”。云桌面定义:基于云计算技术的虚拟桌面服务,将传统PC的桌面环境(操作系统、应用、数据)集中部署在远端服务器,用户通过终端设备(如瘦客户机、PC、手机)远
- 什么是DO、DTO、VO、BO、AO,还在傻傻分不清?今天一文带你了解这些概率
Gq.xxu
java系统架构
在分层架构的Java应用中,DO、DTO、VO、BO、AO等概念用于解耦不同层级的数据传递和业务逻辑。它们分别承担不同职责,以下是对这些概念的详细解释:1.DO(DataObject/DomainObject)定义:与数据库表结构直接映射的对象,通常由DAO层操作。用途:在数据访问层(DAO)中承载数据库查询结果,如UserDO对应user表字段。特点:属性与数据库字段一一对应。仅包含数据,不包含
- 【初阶学习Linux】初识Linux
鳄鱼皮坡
linux学习运维开发语言
1.Linux背景介绍发展史:本门课程学习Linux系统编程,你可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linuxs的发展史。要说Linux,还得从UNIX说起。UNIX发展的历史:1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。1969-1970年,AT&
- Ubuntu下搜狗输入法安装记录(解决安装好后仍旧无法输入中文的问题)
主要参考为博客https://blog.csdn.net/fangshuo_light/article/details/123634224以及搜狗官方给到的安装指南https://shurufa.sogou.com/linux/guide遇到问题使用dpkg安装在搜狗官网下载的Linuxdeb安装包sudodpkg-isogoupinyin_4.2.1.145_amd64.deb此时,按照官方的安
- 【LLM】Llama-Index 架构
FOUR_A
LLMllama架构
数据源(DataSources)PDF/文档数据库API网页音频/视频知识库自定义源数据连接器(DataConnectors)用于从各种数据源提取和加载数据,以便进行索引和查询。1.SimpleDirectoryReader含义:简单目录读取器。功能:主要用于读取本地文件系统中的目录内容。它可以列出目录中的文件和子目录,通常用于文件管理或数据预处理阶段。例如,在一个数据处理项目中,你可能需要列出某
- Python打卡:Day46
剑桥折刀s
python打卡python
importtorchimporttorch.nnasnnimporttorch.optimasoptimimporttorchvisionfromtorchvisionimportdatasets,transformsfromtorch.utils.dataimportDataLoaderfromtorch.utils.tensorboardimportSummaryWriterimportnu
- 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