- AWS Elastic Beanstalk
HaoHao_010
awsjava云计算服务器云服务器
AWSElasticBeanstalk是一项由AmazonWebServices(AWS)提供的完全托管的服务,旨在简化和加速应用程序的部署、管理和扩展。通过ElasticBeanstalk,开发者可以轻松地将应用程序发布到AWS云平台,而无需关注底层的基础设施管理,如服务器、负载均衡、扩展等。ElasticBeanstalk为开发人员提供了一个简化的方式来运行Web应用程序和服务,并自动处理许多
- JPA 和 Hibernate(Springboot中使用HQL)
小白的一叶扁舟
Java开发hibernatespringbootjava后端
前言:在项目开发过程中,使用Springboot集成HQL,在此用于记录,下方有原生方法及HQL注意事项和示例,有兴趣的可往下阅读。一、基本概念JPA:全称是JavaPersistenceAPI,即Java持久化API,是SUN公司推出的一套基于ORM的规范,由一系列接口和抽象类构成。它是EJB3规范中负责对象持久化的应用程序编程接口(ORM接口),定义了多种注释,这些注释可分为类级别、方法级别和
- 深入解析Spring AI框架:在Java应用中实现智能化交互的关键
鵝鵝鵝
javaspring数据库后端开发语言
合集-Spring源码分析(22)1.Spring入门系列:浅析知识点2023-04-102.Spring源码系列:初探底层,手写Spring2023-04-123.Spring源码系列:核心概念解析2023-04-204.Spring源码系列(补充):详解ApplicationContext2023-04-215.Spring源码:bean的生命周期(一)2023-05-016.Spring源码
- 使用@EmbeddedId实现复合主键的优雅方式
2501_90323865
javapython开发语言个人开发
在Java的JPA(JavaPersistenceAPI)中,复合主键是一个常见的需求,尤其是在处理多对多关系或需要多个字段共同作为主键的场景中。传统上,我们可以通过@IdClass来实现复合主键,但这种方式需要在实体类和主键类中重复定义相同的字段,显得有些冗余。相比之下,@EmbeddedId提供了一种更为简洁和直观的解决方案,它通过对象组合的方式,将复合主键类嵌入到实体类中,避免了字段的重复定
- 深入理解 Spring 的 Lazy Loading:原理、实现与应用场景
Ray.1998
springjava开发语言后端spring
延迟加载(LazyLoading)是Spring容器管理Bean的一种策略,指只有在需要时(调用getBean()方法获取Bean时)才会实例化该Bean。这是Spring提供的一种优化机制,用于提高启动效率和降低资源占用。1.延迟加载的含义在延迟加载模式下,Spring容器初始化时不会立即实例化所有Bean,而是等到真正需要使用时(即调用getBean()方法时),才创建Bean实例。如果不启用
- Mysql数据库索引
阿乾之铭
MySQLSpringDataJPA数据库mysql
SpringDataJPA建立索引所使用的语法@Entity@Table(name="user",indexes={@Index(name="idx_user_username",columnList="username"),@Index(name="idx_user_email_status",columnList="email,status")},uniqueConstraints={@Uni
- SecureUtil.aes数据加密工具类
Java知识技术分享
java技术后端javaintellij-idea
数据加密、解密工具类包含map和vo的数据转换importcn.hutool.core.bean.BeanUtil;importcn.hutool.crypto.SecureUtil;importjava.util.HashMap;importjava.util.Map;/***数据解析**/publicclassParamUtils{/***数据解密**@paramparams参数*@param
- @ConditionalOnxxx 的解析
都要好好的O
框架学习spring
@ConditionalOnBean当指定的bean存在时,则实例化当前的bean@ConditionalOnMissingBean当给定的在bean不存在时,则实例化当前Bean@ConditionalOnClass当前classpath下存在指定类,则实例化当前Bean@ConditionalOnMissingClass当前classpath下不存在指定类,则实例化当前Bean@Conditi
- 使用jenkins启动SpringBoot报错
杭州·晨光
遇到的问题JavajenkinsspringbootJavaasyncTask
jenkins启动SringBoot偶然报错!!!jenkins启动SpringBoot偶尔会报错!1、环境2、代码3、错误日志4、解决办法jenkins启动SpringBoot偶尔会报错!启动SpringBoot的项目的时候。1、环境springboot;jdk1.8;jenkins部署。2、代码1.使用了AsyncTask;importorg.springframework.beans.fac
- Spring底层核心原理解析
m0_74823364
面试学习路线阿里巴巴springjavasql
本次分享********会把Spring中核心知识点都给大家进行串讲,让大家对Spring的底层有一个整体的大致了解,比如:Bean的生命周期底层原理依赖注入底层原理初始化底层原理推断构造方法底层原理AOP底层原理Spring事务底层原理但都只是大致流程,后续有机会会针对每个流程详细深入的讲解并分析源码实现。先来看看入门使用Spring的代码:ClassPathXmlApplicationCont
- Spring三级缓存解决循环依赖
小马不敲代码
Javaspring源码解析
我们都知道Spring中的BeanFactory是一个IOC容器,负责创建Bean和缓存一些单例的Bean对象,以供项目运行过程中使用。创建Bean的大概的过程:实例化Bean对象,为Bean对象在内存中分配空间,各属性赋值为默认值初始化Bean对象,为Bean对象填充属性将Bean放入缓存首先,容器为了缓存这些单例的Bean需要一个数据结构来存储,比如Map{k:name;v:bean}。而我们
- @EnableFeignClients 和 @FeignClient 在自动装配时失败 ‘FeignContext’ NoSuchBeanDefinitionException
肉三
Javajava开发语言
我正在编写的微服务需要与我们平台中的其他微服务进行通信。对于这一尝试,对我们来说理想的解决方案是SpringCloudNetflixFeign,它实现了@FeignClient。但是,当我尝试时遇到以下异常@AutowiredReviewProvider:Causedby:org.springframework.beans.factory.NoSuchBeanDefinitionException
- Mybatis配置文件中mapper标签中package子标签的注意事项!
松醪
mybatisjavaspring
Java目录下的文件和Resources目录下的文件要在同一个目录下,在Java中创建目录时使用com.xxx.dao的方式,则会自动创建com文件夹xxx文件夹bean文件夹。而在Resource目录下不能像Java创建包一样的方式使用com.xxx.dao来创建文件夹,必须用com/xxx/dao的方式来创建。如下:Mybatis核心配置文件中,mappers标签中package子标签的值需要
- Spring Boot中HttpMessageConverters的使用与实践
2501_90323865
springboot前端后端个人开发
在SpringBoot应用开发中,HttpMessageConverters是一个非常实用的工具,它允许我们灵活地管理HTTP消息转换器(HttpMessageConverter),从而实现对请求和响应数据的自定义处理。本文将通过具体实例,详细介绍如何在SpringBoot中使用HttpMessageConverters来添加、替换默认转换器,以及如何将自定义转换器注册为Bean。一、HttpMe
- 【Spring】Spring DI(依赖注入)详解——注入参数的细节处理-内部Bean的注入
AI人H哥会Java
JAVAjava开发语言spring后端
引言在现代Java开发中,Spring框架已经成为了构建企业级应用的标准工具之一。Spring的核心特性之一就是依赖注入(DependencyInjection,DI),它通过将对象的依赖关系从代码中解耦出来,提升了代码的可维护性和可测试性。特别是在大型项目中,良好的依赖管理能够显著降低代码的复杂度,提高开发效率。依赖注入的基本概念依赖注入是一种设计模式,用于实现控制反转(InversionofC
- mvc学习笔记
JDS_DIJ
笔记mvc
mvc设计框架的形成最早是servlet==>缺点:生成html页面太麻烦,所以引入了jsp,jsp本质就是servletjsp==>缺点:阅读起来困难,难维护,于是引入javabean,用来专门和数据打交道;形成jsp的设计框架model1jsp+javabean==>缺点:jsp即要接受请求,又要展示数据,所以又加入servlet;专门用来接受请求;形成jsp的设计框架model2jsp+ja
- rabbitmq+redis防止消息重复消费
march of Time
消息队列mqjava-rabbitmqrabbitmqredis
背景:在用户注册或者登录的时候需要获取验证码,使用rabbitmq将需要发送验证码的消息发送到消息队列中rabbitmq配置@ConfigurationpublicclassRabbitMQConfig{publicstaticfinalLoggerLOGGER=LoggerFactory.getLogger(RabbitMQConfig.class);//配置一个工作模型队列@Beanpubli
- Hibernate与Spring Data JPA:深入解读两大持久化框架的优劣与选择
devme
hibernatespringjava
亲爱的读者,你是否在处理Java应用程序的数据库交互时,曾对选择哪种持久化框架感到困惑?你是否曾对Hibernate和SpringDataJPA之间的关系感到好奇?今天,我将带你深入探索这两个流行的Java持久化框架,帮助你更好地理解它们的优缺点,以及在何种情况下应该选择哪一个。首先,让我们来了解一下Hibernate和SpringDataJPA的基本概念。HibernateHibernate是一
- 优秀的Adobe Animation(AN)动画制作软件下载
inSOGwW
adobe
AdobeAN软件简介AdobeAnimation(简称AdobeAN)是由Adobe公司开发的一款优秀的动画制作软件,广泛应用于网页动画、角色动画及多媒体项目等领域。这款软件以其强大的功能和灵活的操作界面赢得了众多动画设计师和开发者的青睐。AdobeAN可以将创意转化为生动的动态效果,并且支持多种输出格式,使其在营销、教育和娱乐等多个行业中表现出色。AdobeANhttps://pan.baid
- Spring框架深度解析:从IOC容器到AOP
吃个早饭
SpringJavaspringjava后端
Spring框架深度解析:从IOC容器到AOP目录Spring框架深度解析:从IOC容器到AOP1.Spring的核心:IOC容器1.1什么是SpringIOC?1.2SpringIOC的好处1.3Spring中的DI是什么?2.SpringBean2.1什么是SpringBean?2.2SpringBean的作用域2.3Spring中的BeanFactory是什么?2.4Spring中的Fact
- 工作中常用springboot启动后执行的方法
begei
springbootjava后端
前言:工作中难免会遇到一些,程序启动之后需要提前执行的需求。例如:初始化缓存:在启动时加载必要的缓存数据。定时任务创建或启动:程序启动后创建或启动定时任务。程序启动完成通知:程序启动完成后通过邮件、短信等方式通知运维人员。外部系统同步:启动后与外部系统同步数据。下面介绍几种常见方式:1.使用@PostConstruct注解:使用@PostConstruct注解可以在Spring容器初始化bean之
- 前后端分离VUE3+Springboot项目集成PageOffice核心代码
wqqqianqian
springbootjavapageofficevue在线编辑
后端Springboot项目在项目的pom.xml中通过下面的代码引入PageOffice依赖。pageoffice.jar已发布到Maven中央仓库,建议使用最新版本。com.zhuozhengsoftpageoffice6.3.3.1-javax在项目的启动类Application类中添加一项@Bean配置,此为PageOffice服务器端的必要配置,代码如下:@Value("${posysp
- 前后端分离VUE+Springboot项目集成PageOffice核心代码
wqqqianqian
springbootvuepageoffice在线编辑
后端Springboot项目在项目的pom.xml中通过下面的代码引入PageOffice依赖。pageoffice.jar已发布到Maven中央仓库,建议使用最新版本。com.zhuozhengsoftpageoffice6.3.3.1-javax在项目的启动类Application类中添加一项@Bean配置,此为PageOffice服务器端的必要配置,代码如下:@Value("${posysp
- 【2023最新Java大厂面试题】——MyBatis面试题,看完拿捏面试官
Java凤梨
Java金三银四面试题mybatisjava面试
全套Java金三银四面试题持续更新可文末自取,建议关注收藏不然下次找不到哟~目录1、什么是Mybatis?2、Mybaits的优点:3、MyBatis框架的缺点:4、MyBatis框架适用场合:5、MyBatis与Hibernate有哪些不同?6、#{}和${}的区别是什么?7、当实体类中的属性名和表中的字段名不一样,怎么办?8、模糊查询like语句该怎么写?9、通常一个Xml映射文件,都会写一个
- Hibernate中文版教程:快速入门与实践
焦虑中
本文还有配套的精品资源,点击获取简介:Hibernate是一个高效的JavaORM框架,它通过对象关系映射简化数据库操作,使得开发人员能以面向对象的方式处理数据。本教程旨在为初学者提供一份详尽的Hibernate指南,涵盖了实体管理、会话管理、查询语言HQL、缓存机制等核心功能。教程还介绍了配置文件、映射文件、CriteriaAPI、CascadeType和FetchType、事务处理、关联映射、
- @Scope(“prototype“)
HYUJKI
java原型模式java开发语言单例模式
@Scope("prototype")是Spring框架中用于定义Bean作用域的注解之一,它的主要作用是将一个Bean定义成原型作用域(PrototypeScope)。在原型作用域下,每次从Spring容器中请求这个Bean时,都会创建一个新的实例。@Scope("prototype")的作用默认作用域:单例(SingletonScope)在Spring中,Bean的默认作用域是单例(@Scop
- java jtextfield不能输入_ubuntu下的java swing应用JTextField无法输入中文
weixin_36344231
javajtextfield不能输入
importjava.awt.BorderLayout;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JTextField;importjavax.swing.SwingUtilities;impor
- 面试题-SpringBoot
程序员
概述说说SpringBoot和Spring的关系springboot我理解就是把springspringmvcspringdatajpa等等的一些常用的常用的基础框架组合起来,提供默认的配置,然后提供可插拔的设计,就是各种starter,来方便开发者使用这一系列的技术,套用官方的一句话,spring家族发展到今天,已经很庞大了,作为一个开发者,如果想要使用spring家族一系列的技术,需要一个一个
- SpringBoot中ApplicationContextAware的作用和应用场景
Ceramist
springbootjavarpc
SpringBoot中ApplicationContextAware的作用和应用场景在SpringBoot应用中,ApplicationContextAware是一个接口,它可以让Bean获取到Spring容器的上下文(ApplicationContext),从而可以在运行时与Spring容器进行交互。本文将介绍ApplicationContextAware的作用、应用场景,并提供一些示例代码来详
- 利用redis+lua优雅实现每天给用户发短信次数限制
百味人生一壶酒
redisRedisLua短信发送限制定时任务间隔控制
最近的一个需求要求实现每天给用户发短信不超过3次,并且发短信间隔不能小于1小时,思来想去有没有什么比较好的实现方式呢,最终决定用redis+lua来实现,第一次写lua脚本。还不太熟练,不过完美的把功能实现了,废话不多说,上代码1.controller层的调用packagecom.example.lua.controller;importorg.springframework.beans.fact
- 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