- llama.cpp 编译安装@Ubuntu
skywalk8163
项目实践人工智能llamaubuntulinux人工智能
在Kylin和Ubuntu编译llama.cpp,具体参考:llama模型c语言推理@FreeBSD-CSDN博客现在代码并编译:gitclonehttps://github.com/ggerganov/llama.cppcdllama.cppmkdirbuildcdbuildcmake..cmake--build.--configRelease#可选安装makeinstall#或可选添加路径ex
- centos7 编译安装nginx-1.14.2
YHJ
nginx
1.下载nginxhttp://nginx.org/en/download.html选择稳定版本即可Stableversion这里我们选择nginx-1.14.22.上传nginx到linux上上传路径为/usr/local/3.解压tar-xvfnginx-1.14.2.tar.gzcdnginx-1.14.24.安装依赖yuminstallgccgcc-c++pcrepcre-develzli
- GitLab 的具体步骤
微个日光日
gitlab
安装操作系统:选择适合的操作系统,如Linux、Windows等。配置服务器:安装必要的软件和服务,如Web服务器、数据库等。安装GitLab:使用官方安装包或自行编译安装,根据提示进行安装。配置数据库:选择适合的数据库,如MySQL、PostgreSQL等,并进行配置。配置Web服务器:配置Web服务器,如Apache、Nginx等,使其能够处理GitLab的请求。配置邮件服务器:配置邮件服务器
- 59-Ubuntu-NGINX 高级配置
岂将无言做病深
nginxubuntu
文章目录第三方模块Nginx变量使用Nginx压缩功能https功能自签名证书实现多域名HTTPSfavicon.ico隐藏Nginx版本号OpenSSL版本升级第三方模块第三方模块是对nginx的功能扩展,第三方模块需要在编译安装Nginx的时候使用参数–add-module=PATH指定路径添加,nginx支持第三方模块,需要从源码重新编译支持[root@U8:~]#/apps/nginx/s
- Suse 12更新操作系统Openssl(3.2.0)、OpenSSH(9.6p1)及ntp(4.2.8p17)(源码编译安装)
Lz__Heng
服务器linux运维opensshntpsuse
部署前准备安装依赖zypperinstall-ygccgcc-c++glibcmakeautoconfopensslopenssl-develpcre-develpam-develzypperinstall-ypam*zlib*SUSE的pam模块支持与其他Linux不同,请按需检查openssh-9.6p1.tar.gzopenssl-3.2.0.tar.gzzlib-1.3.1.tar.gz(
- linux下搭建boost、muduo、mysql、nginx
孜孜不倦fly
后端开发c++
参考博客:1.boost:C++网络编程-Boost::asio异步网络编程-01-boost库源码编译安装2.muduo:C++muduo网络库知识分享01-Linux平台下muduo网络库源码编译安装3.mysql:sudoapt-getinstallmysql-serversudoapt-getinstallmysql-clientUbuntu安装和使用MySQLERROR1698(2800
- Liunx的Apache安装及配置
Miraitowa_xu
apache
目录一、Apache安装1.Apache介绍2.yum安装3.编译安装4.服务管理二、Apache配置应用1.基础应用2.http服务三种工作模式3.httpd服务处理过程一、Apache安装1.Apache介绍Apache即阿帕奇是一款开源的、世界使用排名第一的Web服务器软件,其特点是简单高效、稳定安全所以被广泛应用于计算机技术的各个领域,但现在由于其抗并发性问题现在新公司大部分都使用Ngin
- php报错:Error: count(): Argument #1 ($value) must be of type Countable|array, null given
見贤思齊
运维php开发语言
目录一、背景二、报错内容三、解决方案一、背景为了能给SVN前端用户提供友好的可视化工具,安装了if.svnadmin工具,但是默认安装时,php版本为7.2,该版本高危漏洞太多,所以将其升级到了php8以上,在svnadmin管理后台给用户及用户组授权时,遇到了报错。二、报错内容Error:count():Argument#1($value)mustbeoftypeCountable|array,
- sudo mvn package后提示找不到mvn命令
my_chenjie
环境安装mvn
解决办法是,编辑当前用户的.bashrc文件,添加下面这行内容:aliassudo="sudoenvPATH=$PATH"因为系统预装的sudo在编译时缺省使用了–with-secure-path参数,因此当前用户使用sudo时环境变量$PATH被覆盖,通过添加上面那行别名设置,就会在执行sudo时把当前的$PATH的值再套用上,达到想要的效果。当然,最根本的解决办法还是重新编译安装sudo,编译
- centos7 arm服务器编译安装matplotlib
番茄小能手
aarch64Linuxlinux
前言在centos7arm服务器上安装matplotlib高版本正常,但安装低版本pip3installmatplotlib==3.1.3时,报错:“src/checkdep_freetype2.c:1:10:fatalerror:ft2build.h:Nosuchfileordirectory”,如下图:解决方法经过查找资料,报错原因:最新版本的fontconfig,安装fontconfig后再
- centos7 arm服务器编译安装onnxruntime-gpu
番茄小能手
aarch64Linuxarm开发centos7
前言ONNXRuntime是适用于Linux,Windows和Mac上ONNX格式的机器学习模型的高性能推理引擎,但在arm服务器上,onnxruntime只有CPU版的,GPU版的没有,因此需要自行去编译GPU版本的才可以。环境准备1、python3.82、cmake:2.26.0版本以上,可以直接下载aarch64版本的进行安装Releases·Kitware/CMake(github.com
- Web 基础——Apache
愿许浪尽天涯
WebWeb基础——Apache运维linuxApache三种工作模式Apache优化
Web基础——Apache一、Web简介1.域名2.域名解析3.Web基础概念4.HTTP协议分析1)HTTP请求报文和响应报文5.HTTP状态码6.Apache特点1)三种工作模式PreforkWorkerEvent二、部署Apache网站服务1.编译安装Apache2.安装后优化调整3.使用浏览器访问验证4.配置多个网页5.调整工作模式1)查看工作模式2)Prefork工作模式3)Worker
- 深度学习主流开源框架:Caffe、TensorFlow、Pytorch、Theano、Keras、MXNet、Chainer
seasonsyy
深度学习小知识深度学习开源框架pytorch
2.6深度学习主流开源框架表2.1深度学习主流框架参数对比框架关键词总结框架关键词基本数据结构(都是高维数组)Caffe“在工业中应用较为广泛”,“编译安装麻烦一点”BlobTensorFlow“安装简单pip”TensorPytorch“定位:快速实验研究”,“简单”,“灵活”TensorTheanoד用于处理大规模神经网络的训练”,“不支持移动设备”,“不能应用于工业环境”,“编译复杂模型时
- pg_jieba在windows上编译安装
kmblack1
windowspg_jieba
2024.02.03修改,添加关键词增加了独占锁.1源码下载cdD:\buildgitclonehttps://github.com/jaiminpan/pg_jiebagitclone--depth=10--branch=mastergit://github.com/yanyiwu/cppjieba.git#复制cppjieba/deps至pg_jieba/libjieba#复制cppjieba
- 数据库架构师之道:MySQL安装与系统整合指南
Srlua
运维数据库数据库MySQLmysql
目录MySQL数据库安装(centos)版本选择企业版社区版选哪个MySQL特点MySQL服务端-客户端mysql下载选择软件包解释安装MySQL的方式rpm包安装yum方式安装源码编译安装★具体的编译安装步骤★★环境准备free-m命令cat/proc/cpuinfom命令top命令cat/etc/redhat-release命令编译前的依赖安装获取mysql的源代码解压缩,安装mysql执行c
- 【ansible】自动化运维ansible之playbook剧本编写与运行
liu_xueyin
运维ansible自动化云原生docker容器linux
目录一、ansible剧本playbook的组成二、palybook的基础应用:实操1:通过palybooks完成nginx的安装第一种:通过yum安装nginx第二种:通过编译安装nginx实操2:playbook定义、引用变量实操3:通过playbook完成普通账户权限提权为root用户实操4:通过when条件判断指定主机完成相应的任务实操5:通过with_items循环实现在远程主机上关闭服
- centos7搭建redis7.0.6cluster集群(编译和docker安装)及docker单机
周洋宇杰
redisrediscentos
本文尝试两种安装模式编译安装和docker容器安装一,编译安装1,环境准备系统centos7.9,IP及端口10.161.3.12:637910.161.3.12:638010.161.3.13:637910.161.3.13:638010.161.3.14:637910.161.3.14:6380防火墙端口开放:sudofirewall-cmd--zone=public--add-port=63
- docker 编译安装redis脚本
三希
dockerredis容器
在Docker中编译安装Redis通常不是一个常见的做法,因为Redis官方提供了预编译的Docker镜像,这些镜像包含了已经编译好的Redis二进制文件。不过,如果你有特殊需求,想要自己从源代码编译Redis并打包成Docker镜像,你可以使用Dockerfile来实现。下面是一个简单的Dockerfile示例,用于从Redis的源代码编译并安装Redis,然后创建一个Docker镜像:#使用一
- AWS Serverless PySpark 指定 Python 版本(qbit)
前言当前AWSEMR的最新版本是6.15,自带的Python版本是3.7,尝试上传使用Python3.11Python环境打包技术栈Ubuntu22.04(x86)Linuxversion5.15Python3.11.5pyspark3.4.1conda23.10.0conda-pack0.7.1官方建议用在AmazonLinux2上编译安装Python环境,测试发现在Ubuntu上用Minico
- 宝塔面板(CentOS7)安装ffmpeg视频切片模块
withoutfear
PHPlinuxffmpeg宝塔
FFmpeg是用于处理多媒体内容(例如音频,视频,字幕和相关元数据)的库和工具的集合。但是宝塔面板默认是没有安装的,所以我们需要自己编译安装。这里提供2中方法给各位参考,如果有更好的不妨留言交流。1、升级cd/rootyum-yupdate2、安装1安装命令如下:#下载ffmpeg(x64二进制文件)wgethttps://johnvansickle.com/ffmpeg/builds/ffmpe
- linux 安装 ffmpeg 包括静态包和编译安装
树下水月
ffmpeglinux运维
linux安装ffmpegwindows上安装,直接下载压缩包解压。linux安装,找了半天各种技术文章,说最好编译安装,按照步骤安装编译环境编译成功了,但是使用的时候总要安装各种外部库,转码转不了等等问题......最后无奈,卸载掉ffmpeg,去官网下载编译好的程序,尝试了一下。效果满意。所以建议0基础底子薄的,和我一样不要编译安装了。切记,去官网下载最新版本ffmpeg。避免踩坑!ffmpe
- 在ubuntu20.04上安装arm-linux-gcc 4.4.3
在Ubuntu20.04中安装arm-linux-gcc4.4.3的过程可以分为几个步骤。由于arm-linux-gcc4.4.3可能不直接存在于Ubuntu的软件源中,因此需要从源码编译安装。以下是详细的步骤:安装依赖在开始之前,你需要确保已经安装了必要的依赖。在终端中输入以下命令:sudoapt-getupdatesudoapt-getinstallbuild-essentiallibgmp3
- GIT安装,基本配置及使用20181002
sky92archangel
本文安装方式仅支持Debian系列操作系统第一课GIT安装sudoapt-getinstallgit或下载源代码编译安装GIT使用初始化注册GITgitconfig--globaluser.name"用户名"gitconfig--globaluser.email"邮箱"查看看配置gitconfig--listGIT工作流1-在工作目录中添加修改文件2-将需要进行版本管理的文件爱你放入暂存区3-将暂
- RSIC-V
h~k~f
risc-v
RISC-V环境搭建riscv-gnu-toolchain一、编译安装riscv-gnu-toolchain方式一、手动编译安装1、Cloneriscv-toolchain2、安装相关依赖库3、创建riscv文件夹,并设置权限4、设置环境变量5、编译(预计三个小时左右)方式二、编译压缩包安装(只适用于ubuntu)1、下载压缩包2、安装相关依赖库3、设置环境变量二、下载并编译riscv-fesvr
- 将编译安装的PHP添加到service,并设置开机自启
php转go
将php-fpm添加至service服务1,去到编辑安装后的PHP目录,找到etc/php-fpm.conf文件;pid=run/php-fpm.pid前面的分号去掉2,找到php-fpm的进程,并杀掉[root@localhost~]#psaux|grepphp-fpmroot10640.00.01786285552?SsJul310:21php-fpm:masterprocess(/usr/l
- mac安装redis-安装包方式
xialu
官网下载redis安装包官网下载地址:https://redis.io/download下载之后把安装包放到你想放到文件夹,例如:/Users/xialu/myfile/installs/redis-6.2.4.tar.gz解压:tarzxvfredis-6.2.4.tar.gz进入到解压好的文件夹:cd/Users/xialu/myfile/installs/redis-6.2.4编译安装:su
- linux安装单机版redis详细步骤,及python连接redis案例
数据知道
python3总结和案例数据库总结和案例linuxredispython
文章目录linux相关工具yum方式安装redis使用编译安装redis配置redis为systemctl启动其它:安装redis6.0python连接redis案例linux相关工具./redis-benchmark#用于进行redis性能测试的工具./redis-check-dump#用于修复出问题的dump.rdb文件./redis-cli#redis的客户端./redis-server#r
- 《Linux 简易速速上手小册》第4章: 包管理与软件安装(2024 最新版)
江帅帅
《Linux简易速速上手小册》linux运维服务器人工智能数据分析web3机器学习
文章目录4.1包管理基础4.1.1重点基础知识4.1.2重点案例:在Ubuntu上安装和管理软件4.1.3拓展案例1:添加软件仓库4.1.4拓展案例2:回滚软件到旧版本4.2使用APT与YUM4.2.1重点基础知识4.2.2重点案例:在Ubuntu上配置LAMP服务器4.2.3拓展案例1:在CentOS上配置开发环境4.2.4拓展案例2:使用APT自动清理不再需要的依赖4.3从源代码编译安装4.3
- Android 9 静默安装、卸载App
明天下
Android基础androidandroidstudio
文章目录引言安装流程实现代码AndroidManifest.xml配置apk运行打包放到源码目录下重新进行签名编译安装日志转载自Android9P静默安装/卸载App适配终极指南引言静默安装是指apk安装不需要用户手动点击,直接安装安装流程通过PackageManagerService获取getPackageInstaller对象通过packageInstaller调用openSession创建P
- nginx模块讲解
小雨喳
Nginx学习篇
nginx模块讲解一、编译安装nginx的http_stub_status_module监控其运行状态步骤:1编译nginx,加上参数--with-http_stub_status_module2修改nginx配置文件,添加监控状态配置,在nginx.conf的server块中添加如下代码location/nginx_status{#Turnonnginxstatsstub_statuson;#I
- 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