一款特别好用的霸王餐系统,搭建也特别简单,个人需要自备服务器和域名。下面是一些系统图片:下面是有关部分代码展示:部分代码展示配置数据库
ESG资料大全(部分更新2024):数据+工具变量+论文复现
经管数据库
人工智能大数据物联网
资源介绍ESG是Environmental(环境)、Social(社会责任)、Governance(公司治理)3个英文单词的首字母缩写,是一种评价企业可持续性的指标及框架。不同于传统上对于企业财务绩效的评价,ESG是一种关注企业环境、社会责任和公司治理绩效的投资理念和企业评价标准。政府监管机构和投资者可以通过对企业ESG绩效的观察,评价投资对象在促进环境保护、促进经济可持续发展和履行社会责任等方面
【Nginx系列】Nginx配置超时时间
m0_74824552
面试学习路线阿里巴巴nginx运维
???欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术,jvm,并发编程redis,kafka,Spring,微服务等常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,G
MySQL与Oracle对比及区别
m0_74823434
面试学习路线阿里巴巴java
一、比较1、MySQL的特点性能卓越,服务稳定,很少出现异常宕机;开放源代码无版本制约,自主性及使用成本低;历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助;软件体积小,安装使用简单且易于维护,维护成本低;品牌口碑效应;支持多种OS,提供多种API接口,支持多种开发语言,对流行的PHP,Java很好的支持2、Oracle的特点兼容性:Oracle产品采用标准SQL,并经过美国u构架标准技术所(N
算法随笔_21:字符的最短距离
程序趣谈
算法
上一篇:算法随笔_20:区间子数组个数-CSDN博客=====================题目描述如下:给你一个字符串s和一个字符c,且c是s中出现过的字符。返回一个整数数组answer,其中answer.length==s.length且answer[i]是s中从下标i到离它最近的字符c的距离。两个下标i和j之间的距离为abs(i-j),其中abs是绝对值函数。示例1:输入:s="lovel
[JS]学习笔记2 -- JAVAScript数据类型
Jizhi_Zhang
JavaScript学习笔记javascript学习笔记
一、常量概念:使用const声明的变量称为“常量”。使用场景:当某个变量永远不会改变的时候,就可以使用const来声明,而不是let。命名规范:和变量一致注:常量不允许重新赋值,在声明的时候必须要赋值(初始化)二、数据类型1、基本数据类型1.1数字型number学习中的数字,整数、小数、正数、负数可以有很多操作:算数+:求和-:求差*:求积/:求商%:取模(取余数)--开发中经常作为某个数字是否被
基于 Node.js 的天气查询系统实现(附源码)
Kasper0121
node.js
项目概述这是一个基于Node.js的全栈应用,前端使用原生JavaScript和CSS,后端使用Express框架,通过调用第三方天气API实现天气数据的获取和展示。主要功能默认显示多个主要城市的天气信息支持城市天气搜索响应式布局设计深色主题界面优雅的加载动画技术栈后端:Node.js+Express前端:HTML5+CSS3+JavaScriptHTTP客户端:AxiosAPI:天气API(v1
Python-静态方法(@staticmethod)
lhh_qrsly
Python
@staticmethod静态方法只是名义上归属类管理,但是不能使用类变量和实例变量,是类的工具包放在函数前(该函数不传入self或者cls),所以不能访问类属性和实例属性classcal:cal_name='计算器'def__init__(self,x,y):self.x=xself.y=y@property#在cal_add函数前加上@property,使得该函数可直接调用,封装起来defca
[转] mongodb数据库备份和恢复
hi_zf
MongoDBmongodb
windows下面mongodb数据库备份和恢复1、mongodump(备份)及mongorestore(还原)→说明:mongodump是一个用于导出二进制数据库内容的实用工具,它导出的bson文档中只会包含着集合文档等信息,不包括索引信息(索引信息会单独导出),所以还原后,索引必须重建(这个不用担心,使用mongorestore会自动重建mongodump生成的索引信息)。3.4版本中添加了对
推荐开源项目:大麦抢票辅助
鲍凯印Fox
推荐开源项目:大麦抢票辅助去发现同类优质开源项目:https://gitcode.com/1、项目介绍在音乐节、演唱会和各类演出活动日益盛行的今天,抢购门票成为了一项技术活。这款名为"大麦抢票辅助"的开源工具,帮助你在票务竞争激烈的市场中,提高购票效率。它并不是传统的外挂程序,而是通过合法的技术手段,帮助用户更高效地刷新并尝试购买回流票。2、项目技术分析该项目的核心原理是实时监控大麦App的页面状
PostgreSQL体系结构
eygle
原文:https://www.enmotech.com/web/detail/1/764/1.html导读:本文主要从日志文件、参数文件、控制文件、数据文件、redo日志(WAL)、后台进程这六个方面来讨论PostgreSQL的结构。一、引言PostgreSQL是最像Oracle的开源数据库,我们可以拿MySQL和Oracle来比较学习它的体系结构,比较容易理解。本文会讨论pg的如下结构:日志文件
mikro-orm 和typeorm 对比
大耳朵乔乔
NodeJs#SQL#NestJsnode.js数据库
以下是Mikro-ORM和TypeORM的详细对比:设计理念与架构Mikro-ORM:基于数据映射器、工作单元和身份映射模式。这种设计使得它在管理内存中实体状态方面表现优异,能够自动处理事务,当调用em.flush()时,所有计算出的更改都会被包装在一个数据库事务中。TypeORM:支持活跃记录和数据映射器模式,深受Hibernate、Doctrine和Entity框架等传统ORM的影响。它提供了
小程序与内嵌网页的数据通信
大耳朵乔乔
#微信小程序开发小程序
小程序与内嵌网页的数据通信前言微信小程序提供了web-view组件,允许开发者在小程序中嵌入网页。然而,由于小程序和网页运行在不同的环境中,它们之间的通信就需要依赖特定的机制来实现。然而我们日常的需求中,很多的时候都涉及到小程序内嵌网页和小程序之间进行数据通信的情况。这篇文章是我自己总结的微信小程序与内嵌web-view中网页通信的一些方法。小程序向内嵌网页传递数据通过修改web-view的src
新华三H3CNE网络工程师认证—DHCP配置
极客范儿
计算机网络网络
动态主机配置协议(DHCP)是一种用于自动分配IP地址和其他网络参数的网络协议。它通过客户端/服务器模式工作,客户端向服务器请求配置信息,服务器根据策略返回相应的信息,如IP地址、子网掩码、网关和DNS服务器地址。DHCP的配置非常简单,以新华三设备为例,在交换机、路由器的三层接口上去配置这个功能就好了。比如交换机使用vlanif作为三层接口,配置就这些操作,开启DHCP服务功能,开完之后针对地址
Apache Doris 2.1.8 版本正式发布
SelectDB技术团队
Doris数据库大数据数据分析数据仓库
亲爱的社区小伙伴们,ApacheDoris2.1.8版本已于2025年01月24日正式发布。该版本持续在湖仓一体、异步物化视图、查询优化器与执行引擎、存储管理等方面进行改进提升与问题修复,进一步加强系统的性能和稳定性,欢迎大家下载体验。立即下载:https://doris.apache.org/downloadGitHub下载:https://github.com/apache/doris/rel
东华大学高级程序设计上机题(贪心篇)
IPython_J
算法数据结构面试c++
目录贪心有序矩阵中的第k个最小数组和题目代码买卖股票的最佳时机题目代码救生艇题目代码去除重复字母题目代码无重叠区间题目代码分割数组为连续子序列题目代码翻转矩阵后的得分题目代码拼接最大数题目代码按要求补齐数组题目代码设置交集大小至少为2题目代码后续内容持续更新~~~贪心有序矩阵中的第k个最小数组和题目给你一个m*n的矩阵mat,以及一个整数k,矩阵中的每一行都以非递减的顺序排列。你可以从每一行中选出
2.2.3 代码格式与风格指南
阿凡工控分享
ST编程指南PLC开发语言PLC
编写清晰、规范的代码是提高代码可读性、可维护性和团队协作效率的关键。虽然好多人说工控行业都是一帮电工,没有什么素质,这完全是误解,任何程序所在的行业,都需要个人保证其代码风格能够很好与团队进行协作,在过去一台设备一个人写的多,往往不注意这些,这也导致了设备交接困难,成了后来接手工程师永远的痛,但是时代在发展,如今多人协作使得代码的规范性越来越成为如今的工控开发行业的共识。以下是ST(Structu
Modbus字节序说明
阿凡工控分享
通讯汇川PLCmodbus
最近做ModBusTCP方面的测试有点多,尽管对于ModBus协议算是比较了解了,也经常知道字节传输序列的不同对工程师带来了很多不必要的麻烦,这不是一个技术难题,仅仅只是过去各家各户开发遗留下来的标准统一问题,所以这里写下这篇文章作为备忘。在Modbus通信中,目前我们主要有16bit(AB)、32bit(ABCD)和最新的64bit(ABCDEFGH)三种数据长度。每个字母代表一个字节。针对16
汇川冷复位,热复位,初始值复位
阿凡工控分享
汇川PLC
热复位:属于在线命令,在线模式下有效。热复位后,除了保持型量(retain和persistent变量)外,其它当前活动应用的变量都被重新初始化。如果设置了初始值的变量,热复位后变量值为设定的初始值,其它变量都设置为标准初始值(例如:设置为0)。冷复位:属于在线命令,只在线模式下有效。跟热复位命令不同的是,冷复位命令不但将普通变量的值设置为当前活动应用程序的初始值,而且将保持型变量(retain和p
H3CNE-DHCP(动态主机配置协议)
奋力翻身的咸鱼=_=
H3CNEH3CNE-H3CTE学习历程H33CNEDHCP动态主机配置协议网络技术
PS:本篇仅挑选作者认为重要的模块,并不全面仅供复习参考,具体请自行查阅相关书籍。DHCP:UDP,服务器侦听的端口号67,客户端端口号68,可跨网段。DHCP客户端和服务器之间的交互的协议消息以“广播方式”传递。若DHCP客户端和DHCP服务器在同一网段,则可直接部署,若不在一个网段,路由器默认不转发广播包,因此中间路由器需开启DHCP中继功能地址分配方式:1.手工分配2.自动分配3.动态分配自
详细介绍:如何使用 form-serialize 实现表单数据快速收集
还是鼠鼠
ajax前端javascriptbootstrapwebvscodenode.js
目录功能概述代码实现1.form-serialize插件源码2.HTML示例代码总结在表单处理过程中,手动提取用户输入的数据可能会显得繁琐且容易出错。form-serialize是一个强大的工具,可以帮助你快速、准确地收集表单中的数据,并将其转换为对象或URL编码字符串,便于后续使用和提交。本教程通过完整代码和详细说明,帮助开发者快速掌握其用法。功能概述form-serialize提供了一种简单而
T-SQL语言的语法
Code花园
包罗万象golang开发语言后端
T-SQL深度解析与应用T-SQL(Transact-SQL)是微软SQLServer使用的一种扩展SQL(结构化查询语言)。它不仅支持标准SQL的所有功能,而且增加了许多实用的扩展和特性,使得数据库的操作更加灵活和强大。本文将对T-SQL的基本语法、数据操作、控制流、存储过程、触发器及其在实际工作中的应用进行深入探讨。一、T-SQL的基本语法T-SQL语法大致可以分为以下几类:1.数据定义语言(
C语言:结构体数组
凭君语未可
C语言c语言
结构体数组介绍定义结构体定义结构体数组初始化结构体数组访问和修改结构体数组的元素遍历结构体数组示例高级用法动态分配结构体数组使用`malloc`动态分配使用`calloc`动态分配结构体数组作为函数参数结构体数组与指针多维结构体数组使用`typedef`简化结构体定义结构体数组的常见应用场景结构体数组的排序结构体数组与文件操作写入结构体数组到文件从文件读取结构体数组使用嵌套结构体介绍在C语言中,结
冯诺依曼架构和哈佛架构的主要区别?
m0_74824552
面试学习路线阿里巴巴架构微服务云原生
冯诺依曼架构(VonNeumannArchitecture)和哈佛架构(HarvardArchitecture)是两种计算机体系结构,它们在存储器组织、指令处理和数据存取等方面有明显的不同。以下是它们的主要区别:1.存储器结构冯诺依曼架构:在冯诺依曼架构中,程序存储器和数据存储器是共享的,即指令和数据都存储在同一个内存区域(通常是RAM)中。由于指令和数据使用同一条总线来传输,处理器在每次访问内存
电子电气架构 --- 整车控制系统
车载诊断技术
车辆信息安全思考汽车行业架构汽车电子电器架构网络SOA
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。人就应该满脑子都是前途,不再在意别人的看法不再害怕别人讨厌自己,不再畏手畏脚忧心忡忡也不会在睡前反回忆白天的行为,是否让对方产生误解用你那精神内耗
AlphaFold2的思路总结(十五)
xiaofengzihhh
蛋白质结构预测深度学习人工智能神经网络
2021SC@SDUSC这学期的代码分析工作接近尾声了,我想简单总结一下AlphaFold2的总体思路 具体来看,AlphaFold2主要利用多序列比对(MSA),把蛋白质的结构和生物信息整合到了深度学习算法中。它主要包括两个部分:神经网络EvoFormer和结构模块(Structuremodule)。一、EvoFormer 在EvoFormer中,主要是将图网络(Graphnetworks)
python机器学习
方安乐
pythonpython机器学习人工智能
Python机器学习是当前最为热门的机器学习领域之一,其简洁、易用、高效的特点,让越来越多的开发者开始探索其应用。本文将从以下几个方面介绍Python机器学习的基础知识和实践案例,帮助读者更好地理解和应用机器学习技术。前提Python机器学习的应用领域A.图像识别和计算机视觉B.自然语言处理和文本分析C.数据挖掘和推荐系统深度学习A.神经网络的基本原理B.常用的深度学习框架和算法C.深度学习在图像
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