- JMH(Java Microbenchmark Harness) Java微基准测试
半路出家的码农小王
JMH
官网:OpenJDK:jmh什么是JMH?微基准测试,他是测的某一个方法的性能到底是好或者不好,换了方法的实现之后他的性能到底好还是不好创建JMH测试创建Maven项目,添加依赖,我们需要添加两个依赖:1.1:jmh-core(jmh的核心)1.2:jmh-generator-annprocess(注解处理包)4.0.0UTF-8UTF-81.81.81.8xw.comHelloJMH21.0-S
- java项目打包_Java项目打包方式分析
weixin_39727402
java项目打包
概述在项目实践过程中,有个需求需要做一个引擎能执行指定jar包的指定main方法。起初我们以一个简单的spring-boot项目进行测试,使用spring-boot-maven-plugin进行打包,使用java-cpdemo.jar.执行,结果报错找不到对应的类。我分析了spring-boot-maven-plugin打包的结构,又回头复习了java原生jar命令打包的结果,以及其他Maven打
- Sonatype Nexus3安装配置及使用
無法複制
nexus
1、简介SonatypeNexusRepositoryManager是一款强大的仓库管理工具,用于存储、管理和发布软件组件。它能够支持多种格式的仓库,如Maven、npm、Docker等。在企业开发中,私有Maven仓库常用于存储自定义依赖和发布组件,确保代码安全性和内部共享。本文将从服务器环境搭建、Nexus安装与配置、仓库创建、依赖上传,再到Maven项目中使用私有仓库的全过程,帮助你掌握如何
- springboot 集成mqtt 以bytes收发消息
springboot集成mqtt,且订阅和推送消息全部以bytesmaven加入依赖org.springframework.integrationspring-integration-streamorg.springframework.integrationspring-integration-mqttapplication.yml添加配置参数spring:#mqttmqtt:url:tcp://
- Maven 多模块项目调试与问题排查总结
博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分
- Gitee 持续集成与交付(CI/CD)篇
Gitee持续集成与交付(CI/CD)篇文章目录Gitee持续集成与交付(CI/CD)篇什么是CI/CD?GiteeGo介绍✨核心特性支持的技术栈提交项目进行CI/CD第一步:创建.gitee-ci.yml文件第二步:配置项目设置第三步:提交代码触发构建制品库配置Maven制品库配置Docker制品库配置npm制品库配置⚙️流水线配置示例与实践JavaSpringBoot项目示例Vue.js前端项
- SpringBoot整合百度翻译API全攻略在Spring Boot项目的pom.xml文件中添加必要的依赖
2501_92020556
dubbo
整合百度翻译API到SpringBoot项目注册百度翻译开发者账号在百度翻译开放平台(http://api.fanyi.baidu.com)注册账号,创建应用获取APIKey和SecretKey。这两个参数是调用翻译API的必要凭证。添加Maven依赖在SpringBoot项目的pom.xml文件中添加必要的依赖,包括HTTP客户端和JSON处理库:org.apache.httpcomponent
- spring boot项目整合mybatis实现多数据源的配置
张乔24
springboot整合第三方技术springbootjava多数据源
在我们日常的开发中,经常会用到一个项目中使用多个数据源的问题,本次就带你了解怎样在springboot项目中使用mybatis整合多个数据源的示例。使用springboot3.5版本1、创建一个springboot项目,并引入相应的maven依赖com.github.xiaoyminknife4j-openapi3-jakarta-spring-boot-starter4.5.0org.sprin
- 212springboot基于javaweb的城乡居民基本医疗信息管理系统医院(源码+文档+运行视频+讲解视频)
QQ2279239102
vuejavamavenSpringboothtml
项目技术:springboot+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/101G内存以上;或者MacO
- Maven项目实现简单发送邮件
Coo~
java发送邮件后端
Maven项目java后端实现发送邮件需求实现邮箱验证找回密码功能,本文介绍后端java实现实现pom.xml引入依赖包javax.mailmail1.4.7工具类SendMailUtilpackagecom.xxx.common.utils;importjava.io.FileOutputStream;importjava.io.OutputStream;importjava.text.Simp
- Flink SQL Connector Kafka 核心参数全解析与实战指南
Edingbrugh.南空
kafkaflink大数据flinksqlkafka
FlinkSQLConnectorKafka是连接FlinkSQL与Kafka的核心组件,通过将Kafka主题抽象为表结构,允许用户使用标准SQL语句完成数据读写操作。本文基于ApacheFlink官方文档(2.0版本),系统梳理从表定义、参数配置到实战调优的全流程指南,帮助开发者高效构建实时数据管道。一、依赖配置与环境准备1.1Maven依赖引入在FlinkSQL项目中使用Kafka连接器需添加
- Mac电脑如何搭建基于java后端的开发的各种工具服务
1.确认Mac的CPU架构首先,确认您的Mac是使用Intel还是AppleSilicon(如M1芯片)架构:uname-m如果返回x86_64,表示是Intel架构。如果返回arm64,表示是AppleSilicon架构。2.安装IDEADownloadIntelliJIDEA3.安装mavenDownloadApacheMaven–Maven然而IDEA里一般默认使用其自带的maven也可以配
- 员工列表查询-分页查询-PageHelper插件-注意事项
还是鼠鼠
springspringbootmybatisjava后端数据库
目录1.背景介绍2.Maven依赖(pom.xml)3.配置项(application.properties)4.核心代码示例4.1Controller层(Java)4.2Service层(Java)4.3Mapper接口(Java)4.4MapperXML(MyBatis)5.注意事项小结6.运行结果演示以下是一篇面向“JavaWeb使用PageHelper分页插件注意事项”简单介绍,包含完整可
- GitLab 18.1 发布代码搜索中单文件多匹配项、CODEOWNERS 文件验证功能,可升级体验!
极小狐
gitlabgitlab升级devsecops极狐gitlabdevops
GitLab是一个全球知名的一体化DevOps平台,很多人都通过私有化部署GitLab来进行源代码托管。极狐GitLab是GitLab在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。学习极狐GitLab的相关资料:极狐GitLab官网极狐GitLab官网文档极狐GitLab论坛沿袭我们的月度发布传统,极狐GitLab发布了18.1版本,该版本带来了Maven虚拟仓库、DAST
- GitLab 18.1 发布多项 DevSecOps 重磅功能,可升级体验!
极小狐
gitlabgitlab升级devsecopsdevops极狐gitlab
GitLab是一个全球知名的一体化DevOps平台,很多人都通过私有化部署GitLab来进行源代码托管。极狐GitLab是GitLab在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。学习极狐GitLab的相关资料:极狐GitLab官网极狐GitLab官网文档极狐GitLab论坛沿袭我们的月度发布传统,极狐GitLab发布了18.1版本,该版本带来了Maven虚拟仓库、DAST
- Maven配置本地仓库、中央仓库、公司私有仓库
巴里巴气
git和Maven合集maven
前言Maven安装之后,熟悉完操作之后,在公司实战的情况下,是需要链接公司的私有Maven仓库的。下面分享指定本地Maven仓库路径、使用阿里云镜像加速中央仓库,配置优先使用私有Maven仓库这三种常用操作。如果不熟悉Maven的同志,请看我的上篇文章:Maven安装、常用命令记录Maven安装和重要知识点概括-CSDN博客目录Maven常用的配置文件位置Maven配置本地库的路径Maven配置中
- Spring项目中使用EasyExcel实现Excel 多 Sheet 导入导出功能(完整版)
千层冷面
Springexceljava开发语言niospringboot
Excel多Sheet导入导出功能完整实现指南一、环境依赖1.Maven依赖com.alibabaeasyexcel3.3.2org.springframework.bootspring-boot-starter-web二、核心工具类封装1.Excel导出工具类publicclassExcelExportUtils{/***动态导出多SheetExcel(无需模板)*@paramsheetData
- java aspose.words_Aspose.Words for java 示例
PraiseSunMan
javaaspose.words
安装Aspose.Words.jdk16.jar到本地mavenrepository:mvninstall:install-file-Dfile=Aspose.Words.jdk16.jar-DgroupId=com.aspose-DartifactId=aspose-words-Dversion=13.9.0.0-Dpackaging=jarpom.xml文件中依赖:com.asposeaspo
- Spring Boot 3.x 项目搭建 (一)
不愿意透露姓名的樊同学
javaspringbootlog4j后端
以下是一个基础SpringBoot项目的创建指南,整合了官方推荐方式和实用配置,帮助您快速搭建可运行的项目骨架。一、项目创建方式1.在线工具SpringInitializr(推荐)步骤:访问SpringInitializr。配置参数:Project:Maven/Gradle(选Maven更通用)Language:JavaSpringBoot:最新稳定版(如3.x)Group:com.example
- 【学习笔记】2024最新版SpringCloud教程
2024最新版SpringCloud教程0前言闲聊开篇简介1SpringBoot和SpringCloud版本选型2SpringCloud是什么能干吗3SpringCloud各组件的停更升级替换说明4项目实战之需求说明5项目实战之Maven父工程聚合说明和mysql驱动选择6项目实战之Mapper4一键生成Dao层代码7项目实战之微服务工程化编写步骤8项目实战之Pay支付微服务编码落地实战9项目实战
- 42道Maven高频题整理(附答案背诵版)
1.简述什么是Maven?Maven是一个项目管理和构建自动化工具,主要服务于Java项目。使用Maven,开发者可以方便地管理项目的构建、文档生成、报告、依赖、SCM(软件配置管理)、发布和分发等过程。Maven的核心概念是基于项目对象模型(POM,ProjectObjectModel)的。每个Maven项目都有一个pom.xml文件,它包含了项目的配置信息,如项目的依赖库、构建的插件、目标平台
- Logback 在java中的使用
棠棠的cafe
日志java后端Logback
Logback是Java应用中广泛使用的日志框架,以下是其核心使用方法及最佳实践:1.引入依赖在Maven或Gradle项目中添加Logback及SLF4J依赖:ch.qos.logbacklogback-classic1.4.10org.slf4jslf4j-api1.7.36//Gradleimplementation'ch.qos.logback:logback-classic:1.4.10
- rate-limit 为 java 设计的渐进式限流开源工具
老马啸西风
cacheredisjava开源rediscacherate-limit限流网关
项目简介rate-limit是一个为java设计的渐进式限流工具。目的是为了深入学习和使用限流,后续将会持续迭代。特性渐进式实现支持独立于spring使用支持整合spring支持整合spring-boot内置多种限流策略快速开始需求jdk1.7maven3.x+maven导入com.github.houbbrate-limit-core1.1.1入门例子方法定义@RateLimit限流注解放在方法
- 持续集成环境搭建
suixinm
1.Maven3安装1.1下载maven版本:3.0.3下载地址:http://maven.apache.org/download.html1.2安装mavenJDK:jdk1.6[1]解压缩apache-maven-3.0.3-bin.zip到你想安装的位置,如D:/maven3。[2]设置Maven系统环境变量,M2_HOME=D:/maven3/maven-3.0.3。[3]添加Mavenb
- jsoup的maven依赖及jsoup解析html获取Element的数据(demo)
挑战者666888
mavenhtmljava
文章目录引入jsoup依赖:jsoup解析html代码如下所示:测试结果:jsoup的maven依赖:jar包下载地址:jsoup的jar包下载引入jsoup依赖:org.jsoupjsoup1.7.3jsoup解析html代码如下所示:packagecom.success.project;importjava.io.BufferedReader;importjava.io.IOException
- idea全局Maven配置
爱分享的代码君
开发工具intellij-ideamavenjava
使用idea创建Java项目时每次都要重新配置Maven,非常麻烦。其实IDEA可以配置全局Maven,这样配置好后,以后创建项目就不需要每次再重新配置Maven了1、点击菜单”File“——”CloseProject“回到欢迎页(如果第一次打开,默认打开的是欢迎页,可以跳过此步)2、在Idea的欢迎页面的左边点击”Customize“,在右边点击”Allsettings...;“3、在设置窗口左
- maven:迁移到 Maven Central 后 pom.xml的配置步骤
10km
开发工具javamavencentralpom.xml
迁移到MavenCentral后pom.xml的配置步骤账户迁移如果你近期登录maven中央仓库的后台Nexus存储库管理器,你会收到如下通知:OSSRH服务将于2025年6月30日终止使用。在此处了解有关如何转移到中央发布门户的更多信息。6月30日很快就临近了,所以如果你有在maven中央仓库发布版本的需要,就要网站提供的链接中的说明完成账户迁移迁移说明:Whatisdifferentbetwe
- javaweb项目,mavenweb项目,springboot项目的区别
xrkhy
JavaWebSpringBootSSMspringboot后端java
文章目录一、项目定义与定位二、核心架构差异三、依赖管理机制四、项目结构与配置五、构建与部署流程六、适用场景推荐核心差异总结一、项目定义与定位JavaWeb项目基于原生JavaEE技术栈(Servlet/JSP/JDBC),依赖外部Web容器(如Tomcat)运行。需手动配置web.xml管理Servlet和过滤器,依赖库需下载后放入WEB-INF/lib目录。典型场景:传统企业级应用(如ERP系统
- Spring Boot Security Core
BillKu
springbootjavaspring
依赖配置(Maven)xml复制下载运行org.springframework.securityspring-security-core6.2.5org.springframework.securityspring-security-web6.2.5org.springframework.securityspring-security-config6.2.5要正确实现getCurrentUserI
- Spring Boot 集成 Apache Kafka 实战指南
超级小忍
SpringBootspringbootapachekafka
ApacheKafka是一个分布式流处理平台,广泛用于构建实时数据管道、日志聚合系统和事件溯源架构。SpringBoot提供了对Kafka的良好集成支持,使得开发者可以非常便捷地在项目中使用Kafka。本文将手把手教你如何在SpringBoot项目中集成Kafka,包括生产者(Producer)和消费者(Consumer)的实现,并提供完整的代码示例。开发环境准备Java17+Maven或Grad
- 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