- Jenkins安装
lettger
1.第一步sudowget-O/etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat/jenkins.reposudorpm--importhttps://pkg.jenkins.io/redhat/jenkins.io.key2.第二步sudoyuminstalljenkins3.第三步servicejenkinsstatus|sta
- 实例:NX二次开发使用链表进行拉伸功能(链表相关功能练习)
白雪公主的后妈
ug二次开发NX二次开发链表相关函数的应用
一、概述在进行批量操作时经常会利用链表进行存放相应特征的TAG值,以便后续操作,最常见的就是拉伸功能。这里我们以拉伸功能为例子进行说明。二、常用链表相关函数UF_MODL_create_list创建一个链表,并返回链表的头指针。UF_MODL_put_list_item插入元素到链表中,不检验对象是否重复,或者已经存在。UF_MODL_ask_list_count获取链表对象数量,从头开始遇到NU
- 飞桨科学计算套件PaddleScience
skywalk8163
人工智能paddlepaddle人工智能飞桨
PaddleScience是一个基于深度学习框架PaddlePaddle开发的科学计算套件,利用深度神经网络的学习能力和PaddlePaddle框架的自动(高阶)微分机制,解决物理、化学、气象等领域的问题。支持物理机理驱动、数据驱动、数理融合三种求解方式,并提供了基础API和详尽文档供用户使用与二次开发。安装当然要先安装好飞桨PaddlePaddle,再安装PaddleSciencepipinst
- Java二次开发海康SDK-对接门禁机一文全解
半自定义大剑仙
一文全解java前端服务器图像处理
写在最前SDK版本:CH-HCNetSDKV6.1.6.45_build20210302_win64参考文档:海康SDK使用手册_V6.1对接测试设备型号:DS-K1T671M设备序列号:E50247795业务目标使用门禁设备实现对人脸的抓拍,将抓拍的人脸与其对应的数据进行上传。业务流程图:业务流程节点解释:1.初始化SDK(NET_DVR_Init):进行海康提供开发库的载入,使用海康官方提供的
- 2 .Gen<I>Cam模块介绍
此刻我在家里喂猪呢
GenICam协议c++GenICam工业相机GenTLGenApi
模块组成:GenApi,SFNC,GenTL,GenDC,GenCP。首先让我来看下GenTL(TransportLayer)GenApi(sometimessimplycalledtheGenICamStandard)传统相机应用程序二次开发,是基于相机厂家提供的sdk。使用GenTL模块相当于我们是在Driver这层基础之上进行开发,通过GenApi模块我们可以对xml文件进行操作,从而间接的
- jenkins指定jdk版本打包和运行项目
Grey_fantasy
jenkinsjava
背景:因为jdk8安装jenkins有很多插件有问题,导致很多自动化编译都有问题,所以我jenkins使用jdk11进行安装。全局变量配置了jdk11,直接一键式命令安装jdk8会导致jenkins异常。1、第一步,去下载jdk8版本解压。下载地址:https://repo.huaweicloud.com:8443/artifactory/java-local/jdk/8u181-b13/百度云链
- 自动化构建平台(七)使用Jenkins+Gitblit/Gitlab构建Java项目并生成镜像推送到Harbor/Nexus
流年五十前
自动化构建(CI/CD)自动化jenkinsgitlabspringbootmaven运维ci/cd
文章目录前言一、准备项目二、在Jenkins中创建项目三、Jenkins项目配置:General四、Jenkins项目配置:源码管理五、Jenkins项目配置:Build六、Jenkins项目配置:PostSteps1、创建项目启动脚本2、创建Dockerfile文件3、构建镜像4、推送镜像到私有库七、Jenkins开始构建八、检查镜像是否推送成功总结
- Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(三)
L小林同学
软件测试jmetergitsvn测试工具jenkinsci/cdios
一、Jmeter中的BeanShell组件和语言规则BeanShell是一种完全符合java语法规则的脚本语言,同时他还有自己的语法规则。java包括:javase,jjavaee,javameJmeter有哪些BeanShell:1.前置处理器:Beanshell预处理程序。2.定时器:BeanShell3.采样器:BeanShell4.后置处理器:BeanShell5.断言:BeanShell
- 【Docker】docker | 命令 | 安装docker-compose | 卷 | 镜像存放位置 | volume | 清理空间
hgSuper
LinuxLinuxDocker
-8、拷贝镜像中的文件(镜像->宿主机)1)命令dockercp:2)示例dockercpmysql:/opt/tmp/c.sql/opt/tmp/c.sql~~-7、离线备份、打包下载、load(->tar)1)下载镜像到本地dockersave-ojenkins.tarjenkinsci/blueocean:latest说明1:04540a0bb985为IMAGEID说明2:tar包会在所在目
- Superset二次开发之Superset架构理解
aimmon
架构supersetBI
技术框架框架作用前端React构建用户界面的JavaScript库ReduxJavaScript应用的状态管理库,管理组件间的状态共享Webpack前端资源打包工具BabelJavaScript编译器D3.js数据可视化的JavaScript库后端Flask轻量级的Pythonweb框架,处理HTTP请求、路由以及其他Web服务功能SQLAlchemySQL工具包和对象关系映射(ORM)工具,处理
- SparkShop开源可商用,匹配小程序H5和PC端带分销功能!
行动之上
源码免费下载小程序
SparkShop(星火商城)B2C商城是基于thinkphp6+elementui的开源免费可商用的高性能商城系统;包含小程序商城、H5商城、公众号商城、PC商城、App,支持页面diy、秒杀、优惠券、积分、分销、会员等级。营销功能采用插件化的方式方便扩展、二次开发源码下载地址你别走吖Σ(っ°Д°;)っ(chaobiji.cn)
- 运维随录实战(5)之centos搭建jenkins
Loren_云淡风轻
运维jenkins安装
一,搭建jenkins准备下载安装jdk环境-》版本jdk11下载安装maven环境-》版本maven3.8.8git-》版本1.8.3.1yuminstallgitjenkins安装版本:2.414.3下载地址:https://get.jenkins.io/war-stable/2.414.3/jenkins.war注:jenkins版本与jdk版本有一定的对应关系,版本不对应可能导致后面虽然安
- Jenkins:亲测可用 The POM for XXXXXXXXX: is invalid, transitive dependencies (if any) will
手把手入门
jenkins
意思就是找不到这个jar包场景:jenkins跑项目时报错,缺少某个jar包。解决:将maven的仓库改为远程参考文档:https://blog.51cto.com/u_15067225/4376392
- 持续集成(CICD)- Jenkins+Git+gogs综合实战(笔记一)
简丹**
jenkinsci/cdjenkins测试工具
文章目录一、学习目标二、什么是jenkins?三、jenkins环境部署四、第一次启动jenkins五、启动jenkins(非第一次启动)六、jenkin简单应用举例创建任务:编写构建脚本运行脚本-Buildnow查看运行结果目录续集----下面内容见:持续集成(CICD)-Jenkins+Git+gogs综合实战(笔记二)七、拉取代码方法一:直接填写命令进行拉取(不建议用这种)方法二:使用源码管
- 2019-06-21
随机生成的名字
Jenkins集成sonarqube方案评审Jenkins+GitLab+sonarqube三者的联通1.工具的插件准备Jenkins需要安装SonarQubeScannerpluginsonarqube需要安装gitlabplugin/语言分析插件如SonarPHP2.分析的流程图流程图.jpgsonarqube分析php项目使用的方案选择1.使用sonarqube第三方插件方式【不可行】Son
- ArcGIS开发和应用大神教程链接
GIS小天
ArcGISEngine二次开发教程:https://ke.qq.com/course/254435?tuin=2110ed82
- jenkins 使用过程问题解决方法
zhoubiyan
jenkins
目前使用jenkins做ci集成测试。记录过成中问题。形成Q&A.1、jenkins使用git时在SourceCodeManagement有红色提示:gitls-remote-hgit@****.com:****/******.gitHEAD****locked或者认证失败原因:未配置git的credentials解决方法:参考jenkins-配置githubcredentials_zhoubiy
- Maven面试题及答案
Rsun04551
Java相关技术mavenjava开发语言
1、Maven有哪些优点和缺点优点:1、简化项目依赖管理2、方便与持续集成工具(Jenkins)整合3、有助于多模块项目开发,比如一个模块开发好后发布到仓库,依赖该模块时可以直接从远程仓库更新,不用自己手动去编译4、有很多插件,便于扩展,比如:生产站点,自动发布版本缺点:1、maven是个庞大的工具,学习成本大2、maven采用约定大于配置的策略,出现问题很难调试3、当依赖很多时,m2仓库会使开发
- 用上了Jenkins,个人部署项目真方便!
作者:小傅哥博客:https://bugstack.cn项目:https://gaga.plus沉淀、分享、成长,让自己和他人都能有所收获!本文的宗旨在于通过简单干净实践的方式教会读者,如何在Docker中部署Jenkins,并通过Jenkins完成对项目的打包构建并在Docker容器中部署。Jenkins的主要作用是帮助你,把需要在本地机器完成的Maven构建、Docker镜像发布、云服务器部署
- openeuler23.09在线安装jenkins
下载Jenkins镜像dockerpulljenkins/jenkins:2.346.3挂载目录mkdir-p/haifeng/app/jenkins-server-node-1#授权chmod-R777/haifeng/app/jenkins-server-node-1启动镜像dockerrun-uroot-d-p10000:8080--namejenkins-eLANG=C.UTF-8-v/h
- 在C++程序中给视频添加文字水印
ygwelcome
c++音视频开发语言ffmpeg
有时候,我们需要给视频添加文字或水印,用已有的工具当然最简单,但想在自己的应用中,如C++应用程序中来实现,如何实现呢?假设采用FFmpeg库,可通过C++二次开发调用实现。当然这个过程还是比较复杂的,需要有一定的多媒体编程能力并使用FFmpeg的多媒体处理功能。可按以下步骤:1、安装FFmpeg:首先,确保你的系统上已经安装了FFmpeg。你可以从FFmpeg官方网站下载二进制文件,或者使用包管
- Jenkins中权限管理说明(9)
ifanatic
Jenkinsjenkinsjava运维
Jenkins版本:2.303.1默认情况下,Jenkins是不允许注册操作,只有安装时候赋予的管理员账户。JenkinsRoleAuthorization插件可以通过通配符方式给用户分配角色,即特定的用户只能看到特定前缀的View和Job,所以一般来说创建的JenkinsView与Job命名都要带上跟项目相关的前缀。1、系统设置中开启允许外部注册ManageJenkins->ConfigureG
- jenkins编译使用nohup部署进程到后台失败,解决方法
海生南梦
jenkinsjenkins
在shell脚本中加入BUILD_ID=dontKillMeserver为二进制文件#!/bin/bashBUILD_ID=dontKillMenohup./server&原理:jenkins默认会在构建完成后杀掉构建过程中shell命令触发的衍生进程。jenkins根据BUILD_ID识别某个进程是否为构建过程的衍生进程,故修改BUILD_ID后,jenkins就无法识别是否为衍生进程,则此进程
- Docker+Subversion+Jenkins在windows server部署.net core
SoehyunKim
之前在本机测试并成功完成Docker+Subversion+Jenkins部署.netcore(教程见https://www.jianshu.com/p/63b79dad2a10),然而服务器是阿里云虚拟出来的windowsserver2019系统,并不能开启Hyper-V,提示处理器没有所需的虚拟化功能。因而再次开始踩坑。1.安装docker由于不支持hyper-v,服务器不能安装DockerD
- Javaweb实现的学生宿舍管理系统
全栈小白.
Java全栈开发系统源码javatomcat
Javaweb实现的学生宿舍管理系统文章目录Javaweb实现的学生宿舍管理系统系统介绍技术选型成果展示源码获取账号地址及其他说明系统介绍Javaweb实现的学生宿舍管理系统采用jsp+servlet技术实现了如下功能模块,分别是宿舍管理员管理、学生管理、宿舍楼管理、缺勤记录、修改密码等功能,系统未使用持久层框架,使用了jdbc技术与数据库进行交互,有需要的小伙伴可自行添加功能进行二次开发。技术选
- 兰德系数(Rand Index)
J@u1
日常心得(小笔记)图像分割聚类指标评价系数
NOTE:1、一个小案例说明兰德系数是如何怎么计算的。很详细!2、关于兰德系数的讨论:https://stats.stackexchange.com/questions/89030/rand-index-calculation注意:+--------------------------------+--------------------------------------+|TP:|FN:||S
- 如何用Docker+jenkins 运行 python 自动化?
测试小鬼
dockerjenkins自动化postman测试工具开发语言python
1.在Linux服务器安装docker2.创建jenkins容器3.根据自动化项目依赖包构建python镜像(构建自动化python环境)4.运行新的python容器,执行jenkins从仓库中拉下来的自动化项目5.执行完成之后删除容器环境准备Linux服务器一台(我的是CentOS7)1、有云服务器的同学直接用云服务器2、没有云服务器的同学参考我的博客自己动手安装虚拟机吧VMware安装Cent
- 2、docker安装Jenkins
tianshuiyimo
Jenkins持续集成学习笔记dockerjenkins
1、先下载jenkins镜像https://hub.docker.com/r/jenkins/jenkins/tags,选择lts的jenkins最新版本。jenkins版本太低的话,很多插件安装不上,升级也很麻烦。dockerpulljenkins/jenkins:lts新建jenkins用户的工作目录,注意这一步最好目录保持一致。mkdir/home/jenkins查看目录归属ID命令ls-n
- 使用Jenkins、Maven、Git部署Springboot项目
ieLiM
一、Jenkins什么是Jenkins官网说明:Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建、部署、自动化,满足任何项目的需要。安装Jenkins前置条件安装java环境前往https://www.jenkins.io/zh/download/下载Jenkinsimage.png按照以下步骤,使用rpm安装image.png启动jenkinsservicejenkin
- 视野 | OpenSearch,云厂商的新选择?
RadonDB
数据库搜索引擎elasticsearch
王奇顾问软件工程师目前从事PaaS中间件服务(Redis/MongoDB/ELK等)开发工作,对NoSQL数据库有深入的研究以及丰富的二次开发经验,热衷对NoSQL数据库领域内的最新技术动态的学习,能够把握行业技术发展趋势。|最流行的全文搜索引擎Elasticsearch是一款广泛使用的开源分布式全文搜索引擎,源于ApacheLucene[1],许可证为Apache2.0。由于出色的搜索引擎、高扩
- 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