- Hive在大数据集群下的部署
正在绘制中
大数据大数据hive
hive安装1)把apache-hive-3.1.3-bin.tar.gz上传到Linux的/opt/software目录下2)解压apache-hive-3.1.3-bin.tar.gz到/opt/module/目录下面tar-zxvf/opt/software/apache-hive-3.1.3-bin.tar.gz-C/opt/module/3)修改apache-hive-3.1.3-bin
- 搭建分布式Hive集群
逸曦玥泱
大数据运维分布式hivehadoop
title:搭建分布式Hive集群date:2024-11-2923:39:00categories:-服务器tags:-Hive-大数据搭建分布式Hive集群本次实验环境:Centos7-2009、Hadoop-3.1.4、JDK8、Zookeeper-3.6.3、Mysql-5.7.38、Hive-3.1.2功能规划方案一(本地运行模式)Master主节点(Mysql+Hive)192.168
- Hadoop、Spark和 Hive 的详细关系
夜行容忍
hadoopsparkhive
Hadoop、Spark和Hive的详细关系1.ApacheHadoopHadoop是一个开源框架,用于分布式存储和处理大规模数据集。核心组件:HDFS(HadoopDistributedFileSystem):分布式文件系统,提供高吞吐量的数据访问。YARN(YetAnotherResourceNegotiator):集群资源管理和作业调度系统。MapReduce:基于YARN的并行处理框架,用
- 大数据技术生态圈:Hadoop、Hive、Spark的区别和关系
雨中徜徉的思绪漫溢
大数据hadoophive
大数据技术生态圈:Hadoop、Hive、Spark的区别和关系在大数据领域中,Hadoop、Hive和Spark是三个常用的开源技术,它们在大数据处理和分析方面发挥着重要作用。虽然它们都是为了处理大规模数据集而设计的,但它们在功能和使用方式上存在一些区别。本文将详细介绍Hadoop、Hive和Spark的区别和关系,并提供相应的源代码示例。Hadoop:Hadoop是一个用于分布式存储和处理大规
- 本地部署Hive集群
克里斯蒂亚诺罗纳尔多阿维罗
hivehadoop数据仓库
规划服务机器Hive本体部署在Node1元数据服务所需的关系型数据库(MYSQL)部署在Node1安装MYSQL数据库#更新密钥rpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysql-2022#安装Mysqlyum库rpm-Uvhhttp://repo.mysql.com//mysql57-community-release-el7-7.noarch
- 《颠覆认知,我用大模型+Redis实现SQL智能补全,开发效率暴涨500%》
煜bart
mysqlAI编程人工智能redis
一、前言:当SQL补全遇到大模型(插入传统SQL补全工具与ChatGPT对比图)你是否还在为这些场景抓狂?-凌晨3点记不清HiveQL的窗口函数语法-面对新接触的ClickHouse方言不知所措-团队新人总把STR_TO_DATE写成DATE_FORMAT传统IDE的SQL补全就像"人工智障",直到我把大模型装进Redis…##二、效果展示:智能补全的降维打击(GIF动图展示输入SELECT*FR
- 第五阶段【MySQL数据库:常用PT工具】06:使用pt-archiver来进行数据归档
做一个有趣的人Zz
DBA数据工程师成长之路数据库mysqldba
一、环境准备1、环境准备准备好一套主从复制的环境,以及一个归档的实例,也就是一个单机部署的MySQL192.168.5.130主库192.168.5.132从库归档库192.168.5.129归档2、创建用户创建归档用户,主库130创建CREATEUSER'dba_archive'@'192.168.%'IDENTIFIEDWITHMYSQL_NATIVE_PASSWORDBY'admin';GR
- python数据分析一周速成2.连表查询【含数据库实战项目】
噼里啪啦噼酷啪Q
数据分析数据分析CDApython
连表查询结合数据库实战(sql和hive跨库取数)数据准备#前面省略数据库连接,提示:可以用pymysql和pyhive模块pre_sql="""selectap,timefrombiaoyiawherea.time>20250101"""sql_df=run_mysql(pre_sql)pre_hive="""selectapplication_number,activation_dtefrom
- 利用神经网络来解决鸢尾花分类任务(附实验结果和代码)
侠之大者231
深度学习实战机器学习深度学习人工智能分类神经网络
前言本篇文章使用自己亲手搭建的神经网络模型来解决鸢尾花数据集的分类任务,读者们可以通过该简单的任务进一步理解神经网络,并且可以自己动手去搭建神经网络。鸢尾花数据集的介绍https://archive.ics.uci.edu/ml/index.php大家可以通过这个网站下载鸢尾花数据集,里面有各种经典数据集供大家使用。附:本来想给大家具体讲一讲的,但发现网站里面讲的已经很详细了,大家想用的自己去了解
- Linux(Centos 7.6)命令详解:unzip
豆是浪个
linuxcentos运维
1.命令作用unzip用于在一个ZIP存档压缩文件中进行陈列/检测/提取文件(list,testandextractcompressedfilesinaZIParchive);unzip命令是Linux系统中用于解压缩ZIP格式压缩文件的常用工具。它能够快速、方便地将ZIP文件解压到当前目录或指定目录。2.命令语法Usage:unzip[-Z][-opts[modifiers]]file[.zip
- Linux(Centos 7.6)命令详解:zip
豆是浪个
linux运维服务器
1.命令作用打包和压缩(存档)文件(packageandcompress(archive)files);该程序用于打包一组文件进行分发;存档文件;通过临时压缩未使用的文件或目录来节省磁盘空间;且压缩文件可以在Linux、Windows和macOS中轻松提取。2.命令语法usage:zip[-options][-bpath][-tmmddyyyy][-nsuffixes][zipfilelist][
- 大数据实战:Spark + Hive 逐笔计算用户盈亏
WuJiWeb3
区块链链上数据分析从0到1搭建区块链大数据平台sparkhive大数据web3区块链hadoop
简介本文将通过使用Spark+Hive实现逐笔计算区块链上用户交易数据的盈亏需求。由于我们是进行离线计算,所以我们的数据源是Hive表数据,Sink表也是Hive表,即Spark读取Hive表数据进行批计算之后写回到Hive表并供后续使用。通过本文你将会学到:如何使用SparkSQLAPI读取Hive数据源如何通过读取配置文件进行传参执行SQL如何将SparkSQL转换为JavaRDD进行处理如何
- Ubuntu系统下交叉编译szip
linux运维
一、交叉编译szip1.下载源码下载Szip:https://docs.hdfgroup.org/archive/support/doc_resource/SZIP/i...下载并解压源码。tar-xvzfszip-2.1.1.tar.gzcdtar-xvzfszip-2.1.1mkdirszipbuild2.设置环境变量设置交叉编译工具链的环境变量:exportPATH=/home/yoyo/3
- Hbase在hdfs上的archive目录占用空间过大
宝罗Paul
大数据hbase
hbase版本:1.1.2hadoop版本:2.7.3Hbase在hdfs上的目录/apps/hbase/data/archive占用空间过大,导致不停地发出hdfs空间使用率告警。【问题】告警信息alert:datanode_storageistriggered告警信息表明某个或某些datanode的HDFS存储空间使用率已超过阈值(我们设置的是80%),需要清理。[hdfs@master-2r
- hbase集群archive目录过大问题处理
spring208208
大数据组件线上问题分析hbase数据库大数据
1.问题现象现场反馈hbase集群/hbase/archive目录过大,大小约为1.52PB现场集群已经清理掉2个月以前的snapshot文件,当前archive目录文件仍不能释放现场发现1T以上的archive子目录有211个查看集群hbase配置,hmaster堆栈大小20GB,hmaster清理周期5分钟查看hmaster进程分配内存占用6G上下问题分析HMaster内存估算,假如/hbas
- 在mac上如何配置clion使用googletest进行测试
rd_cheng
c++c++cliongoogletestgtest
1、下载googletest并且编译wgethttps://github.com/google/googletest/archive/release-1.8.0.tar.gz&&\tarzxfrelease-1.8.0.tar.gz&&\rm-frelease-1.8.0.tar.gz&&\cdgoogletest-release-1.8.0&&\cmakeconfigure.&&\make&&\
- Hive JDBC 大数据查询场景下的 Socket 读超时问题及实战解决方案
窝窝和牛牛
大数据hivehadoop
文章目录HiveJDBC大数据查询场景下的Socket读超时问题及实战解决方案问题背景️解决方案方案一:通过JDBCURL直接配置超时(推荐)方案二:动态设置全局loginTimeout(兼容旧版本)总结与建议HiveJDBC大数据查询场景下的Socket读超时问题及实战解决方案问题背景在使用HiveJDBC执行查询时,偶发SocketTimeoutException异常,堆栈显示在ResultS
- ASIHTTPRequest类库简介和使用说明
从小爱吃苹果干
iOSASIHttpRequestASIHTTPRequest
一、简介原文链接http://www.cnblogs.com/dotey/archive/2011/05/10/2041966.html1.下载源码官方网站:http://allseeing-i.com/ASIHTTPRequest/。可以从上面下载到最新源码,以及获取到相关的资料。2.概况使用iOSSDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对C
- 查看归档日志及rman备份文件
大叶梧桐
LINUX归档日志man备份
[root@his1/]#ls----查看**/**根目录下的文件archivebootdevhomelib64mediamntoptrmansbinsrvtmpusrbincgroupetcliblost+foundmiscnetprocrootselinuxsysu01var[root@his1/]#cdarchive/------进入archive/[root@his1archive]#ls
- Ubuntu系统中下载安装使用Anaconda
xxxn1102_
ubuntuubuntuconda
文章目录一、下载二、安装1、上传安装文件2、阅读安装协议3、确认安装协议4、确认安装位置5、初始化Anaconda6、查看是否安装成功三、base环境四、Anaconda管理虚拟环境一、下载官网下载地址:https://www.anaconda.com/download中科大镜像源官网:https://mirrors.ustc.edu.cn/anaconda/archive/以上两个网址都可下载,
- 达梦数据库备份
huazhixuthink
数据库oraclesql
达梦数据库联机在线备份操作指南一、基础条件与准备开启归档模式:联机备份必须处于归档模式下,否则无法执行。需通过disql工具执行以下操作:alterdatabasemount;alterdatabaseARCHIVELOG;例子:[dmdba@server~]$cd/opt/dmdbms/bin[dmdba@serverbin]$./disqlSYSDBA/'"Dameng@123"':5236
- 基于hive的电信离线用户的行为分析系统
赵谨言
论文经验分享毕业设计
标题:基于hive的电信离线用户的行为分析系统内容:1.摘要随着电信行业的快速发展,用户行为数据呈现出海量、复杂的特点。为了深入了解用户行为模式,提升电信服务质量和精准营销能力,本研究旨在构建基于Hive的电信离线用户行为分析系统。通过收集电信用户的通话记录、上网行为、短信使用等多源数据,利用Hive数据仓库工具进行数据存储和处理,采用数据挖掘和机器学习算法对用户行为进行分析。实验结果表明,该系统
- 安装httpd
m0_74536424
Linux学习笔记apachelinux网络
安装httpd1.源码编译安装//下载依赖包[root@openEulter-1~]#dnf-yinstallgccgcc-c++makeapr-*pcre-develredhat-rpm-config...安装过程省略...Complete!//下载软件包[root@openEulter-1~]#wgethttps://archive.apache.org/dist/httpd/httpd-2.
- 数据分析学习目录
且行且安~
数据分析进阶之路#数据分析目录数据分析
在未来5个月里,将会陪伴大家一起来学习关于数据分析的相关内容,包括从数据思维,数据工具(Excel,Mysql,Hive,Python),数据方法论,数据展示(Tableau,BI),数据挖掘、数据实战项目一整套的内容,同步会将可能用到的以及有用的知识点整理出来。内容会慢慢更新。如下为数据分析的整个目录一、数据分析思维与方法论1.1、从0-1搭建指标体系、用户标签体系1.1.1、指标体系搭建-专项
- Python进阶--多线程
桔子code
Python笔记本多线程python
原文链接:http://www.juzicode.com/archives/841在《Python进阶教程m9–网络通信–socket通信》中我们实现了一个socket服务端和客户端通信的例子,这个例子中服务端需要等待客户端发送消息后才能返回消息给客户端,在客户端没有发送消息时,服务端一直在data=connet.recv(1024)上被阻塞住,直到等到客户端发来消息才能做下一步的动作。但是在实际
- 安装mysql
大霞上仙
数据库mysql数据库
1、安装数据库下载链接https://downloads.mysql.com/archives/community/下载zip安装包,解压到某个路径下,将bin文件夹添加到系统环境变量。然后终端输入指令mysql--version验证2、初始化数据库打开命令提示符(以管理员身份)。导航到你的MySQL目录的bin文件夹(例如cdC:\mysql\bin)。basedir路径下新建my.ini文件中
- Databend 产品月报(2025年2月)
数据库
很高兴为您带来Databend2025年2月的最新更新、新功能和改进!我们希望这些增强功能对您有所帮助,并期待您的反馈。从MySQL迁移到DatabendDatabend推荐使用db-archiver进行MySQL批量迁移,使用FlinkCDC进行实时变更数据捕获(CDC)迁移。教程已更新:使用db-archiver从MySQL迁移使用FlinkCDC从MySQL迁移设置会话标签现在,您可以为会话
- doris: Hive
向阳1218
大数据hivehadoop数据仓库doris
自2.1.3版本开始,ApacheDoris支持对Hive的DDL和DML操作。用户可以直接通过ApacheDoris在Hive中创建库表,并将数据写入到Hive表中。通过该功能,用户可以通过ApacheDoris对Hive进行完整的数据查询和写入操作,进一步帮助用户简化湖仓一体架构。本文介绍在ApacheDoris中支持的Hive操作,语法和使用须知。提示这是一个实验功能。提示使用前,请先设置:
- hive-DML语法(超级详细)
研发咨询顾问
核心库-大数据hivehadoop数据仓库
N.0变量使用setwindow_day=50--定义变量select${hiveconf:window_day}--使用变量N.1单表查询语句N.1.1语法
- Hive SQL 优化
大数据侠客
大数据相关技术文档总结hivesql性能优化
标题一、HIVESQL执##标题行顺序了解hivesql的执行顺序,有助于写出更高质量的代码。第一步:确定数据源,进行表的查询和加载from(left/right/inner/outner)joinon第二步:过滤数据,进行条件筛选wheregroupbyhaving第三步:查询数据select第四步:显示数据distinctorderbylimitunion/unionallSql:select
- 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