- 操作系统的算法调度的平均时间5-24
yaoyaoyao可爱呀
最短作业优先调度算法平均等待时间例:三个作业J1,J2,J3一起到达,分别对应的执行时间为24,3,3,则最短作业优先调度算法调度的平均等待时间为3假设一起到达:先做最短的J2或J3周转时间等待时间=周转时间-运行时间0-3J23-0=3303-6J36-0=6636-30J130-0=30306平均等待时间=(0+3+6)/3=3
- P14 - 软件维护 之 四大维护详解
濯一一
#软考-软件设计师软件维护软件设计师正确性适应性完善性预防性软考
【软考-软件设计师-历年真题-2013年上半年上午基础知识】在软件维护中,由于企业的外部市场环境和管理需求的变化而导致的维护工作,属于(33)维护。(33)A.正确性B.适应性C.完善性D.预防性【答案】B【解析】本题考查软件维护方面的基础知识。······软件维护方面·····四大方面软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改。修改时应充分利用源程序,修改后要填写
- 我国辅助服务补偿机制与市场化——从配合计划机制到现货市场
薛定谔有没有猫我也不知道
电力辅助服务市场
我国辅助服务补偿机制与市场化——从配合计划机制到现货市场回顾我国辅助服务补偿机制建设工作,现行全国性辅助服务补偿机制酝酿于2004年,《并网发电厂辅助服务管理暂行办法》出台于2006年,各区域实施细则印发于2009年,全国范围内落地1于2010年前后。该机制立足于计划体制下的电量分配机制,本质为发电侧辅助服务补偿机制,主要辅助服务品种包括调频(AGC)、调峰、无功、备用、黑启动等五种。2013年,
- 【头歌-Python】Python第一章作业(初级)
谛凌
Python头歌-Educoderpython开发语言头歌
禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/137069102参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301如果代码存在问题,麻烦大家指正~~有帮助麻烦点个赞~~Python第一章作业(初级)第1关:浮点数四则运算与格式化输出第2关:计算矩形面积第3关:简单数学
- 嵌入式Linux系统学习记录13
hhdk1
linux学习算法
在C语言中,构造数据类型(也叫复合数据类型)包括结构体(struct)、共用体(union)和枚举类型(enum)。这些类型允许用户根据需求创建复杂的数据结构。下面是对每种类型的详细解析以及需要注意的细节和常见的陷阱。1.结构体(struct)结构体是C语言中最常用的复合数据类型,它允许将不同类型的数据(例如整数、字符数组等)组合在一起形成一个新类型。定义:structStudent{ char
- rman创建 DG 备库时报错:ORA-17629
leegong23111
oracle数据库
[oracle@pridb~]$rmantarget/auxiliarysys/oraclesys@sbdb2RecoveryManager:Release11.2.0.1.0-ProductiononWedJul2421:36:452013Copyright©1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.connectedtotarg
- Java前端基础—HTML
缺少动力的火车
前端基础集合前端javahtml
Java前端基础—HTML目录Java前端基础—HTML1.简介2.基础语法2.1HTML页面固定结构2.2标题标签2.3段落标签2.4换行标签2.5水平线标签2.6文本标签2.7图片标签2.8音频标签2.9视频标签2.10链接标签2.11列表标签2.12表格标签2.13表单标签2.14语义标签1.简介1.网页组成:文字,图片,音频,视频,超链接。2.代码如何转换成网页:依靠的是浏览器的渲染和解析
- 99.13 金融难点通俗解释:营业利润率
金融OG
金融资产组合模型进化论金融python机器学习算法大数据
目录0.承前1.简述2.比喻:冰淇淋店的日常开销2.1第一步:基础成本2.2第二步:经营支出2.3第三步:计算营业利润率3.生活中的例子3.1好的营业利润率3.2一般的营业利润率3.3差的营业利润率4.小朋友要注意4.1开销大不一定不好4.2开销小不一定好5.总结6.实现代码0.承前如果想更加全面清晰地了解金融资产组合模型进化论的体系架构,可参考:0.金融资产组合模型进化全图鉴1.简述描述营业利润
- IOS越狱源集合(2024)
CIb0la
ios运维
常用源https://wwg135.github.iohttps://huayuarc.cn/https://cydia.akemi.ai/https://laileld.github.io/repohttps://themepro.yourepo.com/https://apt.geometricsoftware.se/https://repo.anthopak.devhttps://www.y
- HUDI-0.11.0 BUCKET index on Flink 特性试用
_Magic
BigDataflinkhudi
1.背景在0.10.1版本下,使用默认的index(FLINK_STATE),在upsert模式下,几十亿级别的数据更新会消耗大量内存,并且检查点(checkpoint)时间过长。因此,切换到0.11.0的BUCKET索引。当前环境:Flink1.13.2+Hudi0.11.0(master2022.04.11)+COW+HDFS。关键配置项:index.type=BUCKEThoodie.buc
- 学习记录:OpenMV 摄像头的一个简单示例,主要实现了对摄像头的基本设置和图像采集,并计算和显示采集图像的帧率。
DIY机器人工房
openmv学习笔记学习opencvpython
代码解释:整体功能:此代码是使用OpenMV摄像头的一个简单示例,主要实现了对摄像头的基本设置和图像采集,并计算和显示采集图像的帧率。首先,对摄像头进行初始化,包括重置、设置像素格式和帧大小,并等待设置生效。然后创建一个时间对象用于计算帧率。最后在一个无限循环中不断采集图像并打印出每秒采集的帧数。#此作品遵循MIT许可证授权。#版权所有(c)2013-2023OpenMVLLC。保留所有权利。#h
- 数据产品交易市场|2024年度监测报告
数据
根据遇见数据集平台监测数据分析,截止2024年12月底,数据交易市场总披露交易金额突破550亿元,总挂牌数据产品超4万个。超2000家企业供应数据,其中在多家交易所上架的企业占比17%。想要了解更多信息,请打开:五号数据雷达https://www.5radar.com/dplists/news/137462
- leetcode136.寻找重复数
努力d小白
#其他算法数据结构
标签:计数排序给定一个包含n+1个整数的数组nums,其数字都在[1,n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有一个重复的整数,返回这个重复的数。你设计的解决方案必须不修改数组nums且只用常量级O(1)的额外空间。示例1:输入:nums=[1,3,4,2,2]输出:2示例2:输入:nums=[3,1,3,4,2]输出:3示例3:输入:nums=[3,3,3,3,3]输
- 蓝桥杯Python组最后几天冲刺———吐血总结,练题总结,很管用我学会了
晚风时亦鹿
学习笔记Python算法笔记python
一、重要知识要点1、穷举法2、枚举法3、动态规划4、回溯法5、图论6、深度优先搜索(DFS)7、广度优先搜索(BFS)8、二叉树9、递归10、分治法、矩阵法11、排列组合12、素数、质数、水仙花数13、欧几里得定理gcd14、求最大公约数、最小公倍数15、海伦公式(求三角形面积)16、博弈论17、贪心18、二分查找法19、hash表20、日期计算21、矩形快速幂22、树形DP23、最短路径24、最
- JNI Android Bitmap 和 cv::Mat 互相转换安卓手机运行Opencv动态库或普通c++函数配置指南
chezabo6116
android
JNIAndroidBitmap和cv::Mat互相转换https://blog.csdn.net/tyfwin/article/details/140714946安卓手机运行Opencv动态库或普通c++函数配置指南https://blog.csdn.net/snjs000111/article/details/135067493
- 算法项目实时推流
zk_ken
php开发语言
1、搭建流媒体服务器下载mediamtx2、视频流直推ffmpeg-stream_loop-1-iDJI_20250109112715_0002_W.MP4-r30-c:vlibx264-presetultrafast-fflvrtmp://192.168.100.20:1935/live/test_chengdu13、硬件加速如果硬件支持,可以使用硬件加速编码器(如h264_nvenc、h264
- SQLmap 自动注入 -02
shenghuiping2001
网络安全sqlmapsql注入webmysql
1:如果想获得SQL数据库的信息,可以加入参数:-dbssqlmap-u"http://192.168.56.133/mutillidae/index.php?page=user-info.php&username=xiaosheng&password=abc&user-info-php-submit-button=View+Account+Details"--batch-pusername-db
- mybatis学习(14/134)
一缕叶
mybatismybatis学习
packagecom.power.mybatsi.test;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessi
- mybatis学习(7/134)
一缕叶
学习
简单了解了一下maven,https://chatgpt.com/share/678bb629-bb4c-800c-8f3b-a41d298e5467,xml还是比较方便的,对于部署或者打包之类的,只需要配置对应的代码,idea会自动到对应的中央库中下载,还可以从国内的镜像去下载,mybatis需要配置对应的mysql-connetion-java,但是版本不要需要与sql的版本相同,我今天以为需
- DSP实验七 综合实验与考查
BeBeter」
DigitalSignalProcessingDSPmatlab
目录一、实验目的二、需验证的理论三、实验内容四、实验指导五、实验设计报告要求六、思考题【实验过程】1、语音采样、时域波形、频域波形2、延时3、混响4、单回声5、多重回声6、无限回声7、全通结构混响器8、IIR低通滤波器处理9、IIR带通滤波器处理10、IIR高通滤波器处理11、FIR高通滤波器处理12、FIR低通滤波器处理13、FIR带通滤波器处理14、加噪声、用FIR低通滤去噪声/用IIR低通滤
- VMware Tools 13.0.0 发布 - 客户机操作系统无缝交互必备组件
vmware
VMwareTools13.0.0发布-客户机操作系统无缝交互必备组件VMware虚拟机必备组件(驱动和交互式服务)VMwareTools13.0.0发布-虚拟机必备组件(驱动和交互式服务)VMware客户机操作系统无缝交互必备组件请访问原文链接:https://sysin.org/blog/vmware-tools-13/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwa
- 通过python对excel进行数据分析和可视化
新叶猫长那么可爱干什么
python的学习python
importpandasaspdimportmatplotlib.pyplotaspltimportseabornassnsfile_path="C:\\Users\\86138\\Desktop\\book_list-计算机-机器学习-linux-android-数据库-互联网.xlsx"data=pd.read_excel(file_path)need_data=data[['书名','评分'
- 【JS】加密 CryptoJS DES
沈梦研
大数据
平时开发可能会遇到需要加密的情况,现在有很多加密有很多方式,我这边记录的是前后端需要一一对应的加密,使用的是CryptoJSDES加密:目录1、新建mode-ecb.js2、新建signed.js3、新建tripledes.js1、新建mode-ecb.js/*CryptoJSv3.1.2code.google.com/p/crypto-js(c)2009-2013byJeffMott.Allri
- 36. K11364 剑法
我是一只来自东方的鸭.
算法c++
题目描述两仪剑法是武当派武功的高级功夫,剑法招数变化太快、太多,且必须2个人配合使用威力才大。设弟子甲招数变化周期为M,弟子乙招数变化周期为N,两弟子同时使用该剑法,当2人恰好同时达到招数变化周期结束时,威力最大。请你计算威力最大时,每人用了多少招(用t表示)?输入格式输入数据有若干组,每组数据包含两个整数M,N(1<M,N<100000)。输出格式对于每组数据,输出威力最大时出手了多少招(用t表
- Microsoft Forms多选列表选择后在后台获取的数据是选择的数据而不是实际的顺序
Channing Lewis
其他前端FormsMicrosoft
例如1234用户选的顺序是143那么后台收到的就是143,而不会重新排序为134
- 确定电机极对数的两种方法
GivemeAK
嵌入式硬件
目前检索到的两种方法:方法1:旋转电机观测任意两相的波形【BLDC】使用示波器测量无刷电机极对数_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1iY411377Z/?spm_id_from=333.337.search-card.all.click&vd_source=0cac5d2ea8bab18974778b90331f9f30示波器上有几个脉冲
- 1.21学习总结
2401_89561082
学习
今天不知道点到什么把codeblock给玩死了,试图抢救,但是抢救无效,只好删了重下,终于让他变成了记忆中的模样。在博客上看了背包问题详解,不是很理解,题目也没能做出来。P1387:最大正方形b[i][j]表示以节点i,j为右下角,可构成的最大正方形的边长。只有a[i][j]==1时,节点i,j才能作为正方形的右下角;对于一个已经确定的b[i][j]=x,它表明包括节点i,j在内向上x个节点,向左
- 【环境安装】安装LLaMA-Factory
BoostingIsm
环境安装深度学习人工智能
【机器背景说明】Linux-Centos7;显卡驱动:DriverVersion:460.106.00;TeslaP40*2【目标环境说明】torch==1.13.1+cu116llamafactory==0.9.2.dev01.CUDA11.6软件安装CUDA11.6软件有两种安装方式,一个是直接安装到Pip环境中、一种是下载到本地安装1.1在Pip环境里直接安装(推荐)此方法优点:省事不需要通
- MySQL新建和删除普通用户
夏天又到了
MySQL数据库技术mysql数据库
【图书推荐】《MySQL9从入门到性能优化(视频教学版)》-CSDN博客《MySQL9从入门到性能优化(视频教学版)(数据库技术丛书)》(王英英)【摘要书评试读】-京东图书(jd.com)MySQL9数据库技术_夏天又到了的博客-CSDN博客13.2.2新建普通用户要创建新用户,必须有相应的权限来执行创建操作。在MySQL数据库中,有两种方式创建新用户:一种是使用CREATEUSER语句;另一种是
- Python3.13来了!编程爱好者必看
Python之栈
人工智能python开发语言
Python3.13于近期发布,其中包含大量重要更新。Python作为机器学习、数据科学和人工智能领域使用最广泛的编程语言,一直在不断发展,以满足这些领域日益增长的需求。最新发布的Python3.13提供了多项具有影响力的改进,旨在提高性能和生产力,对于从事ML和AI项目的开发人员来说是一个重要的里程碑。Python在ML和AI领域的主导地位主要归功于它的简单性、广泛的库支持和庞大的社区。然而,随
- 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