- MySQL作业习题二
udc小白
MySQLmysql数据库
课堂测试2(20221221)一、单选题(共20题,20分)1、要保证数据的数据独立性,需要修改的是A、三层模式之间的两种映射B、模式与内模式C、模式与外模式D、三层模式正确答案:A解析:参见P182、已知成绩关系如表1所示,执行SQL语句:SELECTCOUNT(DISTINCT学号)FROM成绩WHERE分数>60查询结果中包含的元组数目是:表1学号课程号分数S1C180S1C275S2C1n
- Hive SQL DQL SELECT语法树 ALL、DISTINCT、WHERE、GROUP BY、HAVING、LIMIT、执行顺序、JOINORDER BY、CLUSTER BY
pljnb
Hivehivesql数据库
文章目录HiveSQLDQLSELECT语法树基础语法select_expr查询指定字段查询匹配正则表达式的所有字段查询当前数据库查询使用函数ALL、DISTINCT匹配所有行返回所有匹配的行,去处重复结果WHEREWHERE中使用函数WHERE中使用子查询分区查询、分区裁剪GROUPBYHAVINGLIMIT执行顺序高阶语法ORDERBYCLUSTERBYDISTRIBUTEBY+SORTBYU
- mysql分组后,取每组第一条数据或最新一条
山鬼谣me
MySQLmysql
环境MySQL:5.7Java:1.8SQL语句的写法:select*from(selectdistinct(a.id)tid,a.*fromtemplate_detailawherea.template_idin(3,4)orderbya.iddesc)ttgroupbytt.template_id;思路:先进行排序,然后再进行分组,获取每组的第一条。通过子查询中的orderbya.iddesc
- 什么是 Stream
Klong.k
javastream
Stream是对集合对象功能的增强,它不是集合,也不存储数据,而是从集合中抽象出一条数据通道,让你可以用链式方式一步步处理数据。常见操作分类类型方法举例创建stream(),Stream.of(),Arrays.stream()中间操作filter(),map(),sorted(),limit(),distinct()终结操作collect(),forEach(),count(),reduce()
- sql查询在A表但不在B表的数据
手揽回忆怎么睡
mysqlmysqlsql数据库mybatis
sql查询:存在A表而不在B表中的数据A、B两表,找出ID字段中,存在A表,但是不存在B表的数据。方法一:使用notinselectdistinctA.IDfromAwhereA.IDnotin(selectIDfromB)方法二:使用leftjoin...on...,"B.IDisnull"表示左连接之后在B.ID字段为null的记录selectA.IDfromAleftjoinBonA.ID=
- 记金仓数据库的一次优化
Joker&Ghost
KingbaseES数据库运维
前两天在项目应用系统放提出一个需要优化的SQL,希望我们能协助进行优化.需优化的sql脚本如下(相关表名已经过处理):selectdistinctt.idasnId,t.task_id,t.org_id,t.org_name,t.task_date,tb.gather_time,CASEWHENtb.batch_node=0THEN1ELSE0ENDAStaskState,tb.failure_r
- Java Stream流 带你从入门到精通,解锁高效数据处理新姿势。
杯莫停丶
java开发语言
文章目录一、Stream流概述Stream与传统集合操作对比二、Stream创建方式1.从集合创建2.从数组创建3.使用Stream.of()4.使用Stream.generate()创建无限流5.使用Stream.iterate()创建无限流6.其他创建方式三、Stream中间操作1.filter()-过滤2.map()-映射3.flatMap()-扁平化映射4.distinct()-去重5.s
- column “datlastsysoid“ does not exist Line1:SELECT DISTINCT datalastsysoid FROM pg_database
zru_9602
工具数据库
PGSQL15版本会连接pg数据库出现错误column“datlastsysoid“doesnotexistLine1:SELECTDISTINCTdatalastsysoidFROMpg_database#原因Postgres15从表中删除了datlastsysoid字段pg_database因此Navicat15.0.29或16.1之前的任何版本在查找此已弃用字段时都会引发此错误。要解决此问题
- SQL:单表查询基础
闪电麦坤95
SQL数据库sql数据库
目录WHERE子句条件判断(IN和NOTIN)范围查询(BETWEEN...AND...)模糊匹配搜索(LIKE)排序结果(ORDERBY)去除重复记录(DISTINCT)限制查询返回结果(LIMIT)列别名(Alias)WHERE子句WHERE是什么?WHERE是SQL中用于筛选数据的条件语句,可以用在:SELECT查询中:筛选要查看的行UPDATE操作中:只更新满足条件的行DELETE操作中:
- SQL SELECT DISTINCT 语句详解:精准去重的艺术
草药味儿の岁月
sql数据库
SQLSELECTDISTINCT语句详解:精准去重的艺术一、为什么需要数据去重?在日常数据库操作中,我们经常会遇到这样的场景:查询客户表时发现重复的邮箱地址,统计销售数据时出现冗余的订单记录,分析用户行为时碰到相同的访问日志。这些重复数据不仅影响数据分析的准确性,还会导致以下问题:统计结果失真(如重复计算用户数量)报表生成效率降低存储空间浪费业务逻辑判断错误此时,SELECTDISTINCT就像
- 数据库SQL:视图VIEW
Karon_NeverAlone
数据库系统数据库sqldatabase
目录定义视图注意事项建立视图视图有多个种类删除视图查询视图两种方法:更新视图视图的作用两个思考题定义视图CREATEVIEW[视图的列名字们]AS[WITHCHECKOPTION];这里的子查询是一个select的语句,查询出来的结果,一列列对应视图的一列列,有的系统不能在此处的查询语句中使用groupby和distinct注意事项先举个例子方便下面注意事项的说明例一CREATEVIEWis_st
- 【无标题】spark编程
zzh-
笔记
Value类型:9)distinct➢函数签名defdistinct()(implicitord:Ordering[T]=null):RDD[T]defdistinct(numPartitions:Int)(implicitord:Ordering[T]=null):RDD[T]➢函数说明将数据集中重复的数据去重valdataRDD=sparkContext.makeRDD(List(1,2,3,
- 碎点篇—— oracle 语法和练习
万道一
碎章知识碎点
返回主目录--selectfromwherehavinggroupbyorderby的正确执行顺序为:--from-->where-->groupby-->having-->select-->orderby----------------------------------------------------------1、去重:distinct必须放在开头,多字段,每个字段不一样才去重--2、条
- Java 8 Stream(三、Stream中间操作:filter()、distinct()、skip()、limit()、map()、flatMap()、sorted()、peek())
Dylan RD
Javajavastreamlambdaintellijidea
上文我们对Stream操作和无限流做了介绍,没看过的同学请出门左转Java8Stream(二、Stream操作和无限流)。文章目录一、分类二、介绍(一)筛选与切片1、filter()2、distinct()3、skip()4、limit()(二)映射1、map()2、flatMap()(三)排序1、sorted()(四)消费1、peek()Java8Stream本文我们主要介绍Stream中间操作
- SQL SELECT DISTINCT 语句详解:精准去重的艺术
PsG喵喵
sql数据库
SQLSELECTDISTINCT语句详解:精准去重的艺术一、为什么需要数据去重?在日常数据库操作中,我们经常会遇到这样的场景:查询客户表时发现重复的邮箱地址,统计销售数据时出现冗余的订单记录,分析用户行为时碰到相同的访问日志。这些重复数据不仅影响数据分析的准确性,还会导致以下问题:统计结果失真(如重复计算用户数量)报表生成效率降低存储空间浪费业务逻辑判断错误此时,SELECTDISTINCT就像
- SQL 复杂查询和性能优化
不辉放弃
sql数据库
一、掌握复杂查询的核心技能1.理解SQL执行顺序SQL语句的逻辑执行顺序(非书写顺序):FROM→JOIN→WHERE→GROUPBY→HAVING→SELECT→DISTINCT→ORDERBY→LIMIT关键点:每一步的结果会传递给下一步,影响优化逻辑。2.多表连接(JOIN)类型:INNERJOIN(默认)LEFT/RIGHTJOINFULLOUTERJOIN(部分数据库不支持)CROSSJ
- SQL——分组统计查询
刘寰
运营sql数据库
统计函数COUNT(*|DISTINCT|列)--求出全部的记录数,即全部行SUM(列)--求出总和,操作的列是数字AVG(列)--求平均值MAX(列)--求最大值MIN(列)--求最小值MEDIAN(列)--返回中间值VARIANCE(列)--返回方差STDDEV(列)--返回标准差分组函数HAVING--过滤子句,使用时必须与groupby子句一起使用:select列名from表名where条
- MySQL入门 初学者详细笔记
coralpink
笔记SQL
第一章本篇笔记仅为本人在观看CodeWithMosh的10小时sql学习视频中自学所记。特此感谢b站up主:伟大的海伦君的搬运以及翻译。第二章1.选择语句SELECT*--选择全部语句,顺序影响SELECTcolumn1,column2--以列为主FROMcustomers--tableSELECTDISTINCTcolumn--distinct自动删去该列中的重复项SELECTprice,pri
- SQL的外部、内部执行顺序
谁家有个大人
SQL的工作学习sql数据库mysql
一、SQL的执行顺序如下(外部执行)1.常用语句执行顺序(1)FROM:确定数据来源。(2)WHERE:过滤数据。(3)GROUPBY:分组数据。(4)HAVING:过滤分组后的数据。(5)SELECT:选择列并计算表达式(此时别名才被定义)。(6)DISTINCT:去除重复行。(7)ORDERBY:排序结果(可以使用别名)。(8)LIMIT/OFFSET:限制返回的行数或跳过指定行数。2.聚合函
- SQL中的Having使用
slb190623
#SQLSERVERSQLHAVING分组查询数据筛选数据库
SQL中的Having使用语法:selecttop/distinct字段名称from表名称where筛查条件groupby分组字段列表Having分组后筛查orderby排序字段列表备注:1、where里面的字段只能是原始表里面的字段进行筛查;having是对分组后的数据进行筛查2、执行顺序:首先是查找原始表数据,然后where对原始表中的数据进行筛查,然后groupby对筛查后的数据进行分组,然
- Hive 实际应用场景及对应SQL示例
小技工丨
大数据随笔hivesqlhadoop大数据数据仓库
Hive实际应用场景及对应SQL示例一、日志分析场景**场景说明:**处理大规模日志数据(如Web访问日志),分析用户行为或系统运行状态。SQL示例:--统计每日UV(用户访问量)SELECTdate,COUNT(DISTINCTuser_id)ASdaily_uvFROMweb_logsWHEREevent_type='page_view'GROUPBYdate;技术要点:使用DIST
- 蓝易云 - MySQL查询语句大全
蓝易云
mysql数据库javascript后端okhttp开发语言架构
以下是一些常用的MySQL查询语句示例:基本查询:查询所有记录:SELECT*FROMtable_name;查询特定列:SELECTcolumn1,column2FROMtable_name;带条件查询:SELECT*FROMtable_nameWHEREcondition;去重查询:SELECTDISTINCTcolumnFROMtable_name;排序和限制:排序:SELECT*FROMta
- MySQL--group by--聚合函数--内置函数--0415 22
Gosolo!
MySQLsql数据库
目录1.聚合函数1.1count1.2sum1.3avg1.4max和min2.groupby2.1groupby的条件筛选——having2.2总结3.日期函数4.字符串函数concatreplacesubstring以首字母大写,其余字母小写的方式显示员工的姓名5.数学函数formatrand()6.其他函数user()md5ifnull1.聚合函数函数说明count([DISTINCT]参数
- Java Stream 去重的多种方法
坎布里奇
javajavapython开发语言
在JavaStream中实现去重有多种方法,具体取决于需求和场景。以下是常见的几种方法及示例:1.使用distinct()方法适用于对象已正确实现equals()和hashCode(),基于对象整体去重并保留顺序:ListuniquePersons=persons.stream().distinct().collect(Collectors.toList());2.根据对象的属性去重方法一:使用C
- Java 入门指南:Java 8 新特性 —— Stream 流
热带鱼Tech
Javajava后端个人开发java-ee
文章目录JavaStream操作类型操作过程创建流操作流遍历forEach过滤filter映射map匹配match归约reduce排序sorted去重distinct限制limit跳过skip转换流流操作的特性JavaStreamJavaStream是Java8引入的一个新的API,它提供了一种函数式编程的方式来处理集合数据。Stream可以看作是一系列支持高效的、函数式操作的元素序列。通过使用S
- order by 字段没有在 select distinct 中的问题
练川
Bug仓库sqlmysql
问题引入主表m(id主键)去join两张子表c1、c2。因笛卡尔集的原因,可能导致m表的一条记录在查询结果集中会出现多次;而我只需要selectm表的字段即可,因此用distinct去除重复的行。使用distinct的同时,还需要orderby排序,恰好排序的字段没有在selectdistinct中,因此可能会报错(以下的SQL)。可能会报错:查阅资料后了解到,orderby字段不在selectd
- 【http://noi.openjudge.cn/】4.3算法之图论——1538:Gopher II
adam_life
算法图论匈牙利算法二分图深搜
@[【http://noi.openjudge.cn/】4.3算法之图论——1538:GopherII]题目查看提交统计提问总时间限制:2000ms内存限制:65536kB描述Thegopherfamily,havingavertedthecaninethreat,mustfaceanewpredator.Thearengophersandmgopherholes,eachatdistinct(x
- Hive SQL 优化
大数据侠客
大数据相关技术文档总结hivesql性能优化
标题一、HIVESQL执##标题行顺序了解hivesql的执行顺序,有助于写出更高质量的代码。第一步:确定数据源,进行表的查询和加载from(left/right/inner/outner)joinon第二步:过滤数据,进行条件筛选wheregroupbyhaving第三步:查询数据select第四步:显示数据distinctorderbylimitunion/unionallSql:select
- 嵌入式面经111题答案汇总_含技术答疑_嵌入式三大项目分享
huaxinjiayou
java
字节AdsInfra系统架构开发实习面经Timeline:3.20投递4.12一面4.25二面4.29挂一面1、自我介绍2、实习做的题解|#牛客每个人最近的登录日期(五)#selectt.date,ifnull(round(count(distinctb.user_i题解|小红的排列构造考虑特殊情况k==1,发现k至少为2,假设k==1,发现无论怎么放都不可能.另外k>n,不重复题解|#链表相加(
- sql专题 之 sql的执行顺序
m0_67265654
面试学习路线阿里巴巴sql数据库java
文章目录sql的执行顺序sql语句的格式实际的执行顺序:虚拟表vs数据集虚拟表结果集总结嵌套查询在sql查询中的执行顺序前文我们了解了sql常用的语句,这次我们对于这些语句来个小思索戳这里→sql专题之常用命令sql的执行顺序SQL语句的执行顺序是数据库查询优化和结果生成的关键sql语句的格式selectdistinct要查的字段,sum(列字段),开窗函数from左表l[left|inner]j
- 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