- 【Nginx学习】7步轻松编译安装Nginx,你真的准备好了吗?
墨瑾轩
一起学学Nginx【一】nginx学习运维
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣7步轻松编译安装Nginx,你真的准备好了吗?嘿,小伙伴们!今天我们要聊的是如何从源码编译安装Nginx。这不仅是一个技术活,更是一次对耐心和细心的考验。但别担心,跟着我一步步来,你会发现这其实并不难。让我们一起开始这段有趣的旅程吧!1.选择Nginx版本首先
- mysql_multi多实例管理
周杰伦的稻香
#MYSQLmysql数据库
继上篇文章继续MySQL编译安装-CSDN博客配置/etc/my.cnf文件[mysqld_multi]mysqld=/usr/local/mysql8.0.30/bin/mysqld_safemysqladmin=/usr/local/mysql8.0.30/bin/mysqladminlog=/home/mysql8/data30/mysqld_multi.log[mysqld]user=my
- linux下启动svn服务器,linux下svn服务器安装配置与启动
1.采用源文件编译安装。源文件共两个,为:subversion-1.6.1.tar.gz(subversion源文件)subversion-deps-1.6.1.tar.gz(subversion依赖文件)注意文件版本必须一致,否则很容易产生各种奇怪的问题.2.上传以上两个文件到服务器上,解压。解压命令为:tarxfvzsubversion-1.6.1.tar.gztarxfvzsubversio
- 【Linux学习】Linux安装并配置Redis
安装Redis在Linux系统上安装Redis可以通过包管理器或源码编译两种方式进行。以下是两种方法的详细步骤。使用包管理器安装Redis(以Ubuntu为例):sudoaptupdatesudoaptinstallredis-server通过源码编译安装Redis:wgethttps://download.redis.io/redis-stable.tar.gztar-xzvfredis-sta
- ubuntu 安装gcc 10
AI算法网奇
c++入门宝典win/ubuntuubuntulinux运维
目录ubuntu安装gcc10使用update-alternatives命令更新默认版本添加新版本解决方法:选择默认版本2.验证版本是否更新1.验证GCC安装路径2.添加GCC路径到PATH(如果未自动添加)GCC4.8.2在ubuntu下编译安装ubuntu安装gcc10sudoadd-apt-repositoryppa:ubuntu-toolchain-r/testsudoaptupdateo
- python源码编译安装和常见问题解决
运维天坑笔记
python开发语言linux
python编译安装1、下载源码包wgethttps://www.python.org/ftp/python/3.9.10/Python-3.9.10.tgztar-zxfPython-3.9.10.tgzcdpython39/2、编译安装./configure--prefix=/usr/local/python39--enable-shared--enable-optimizationsmake
- PHP学习笔记(十二)
访问控制(可见性)对属性或方法的访问控制(PHP7.1后支持常量),是通过在前面添加关键字public(公有)、protected、private来实现。公有的任意可见,受保护的可被自身及其子类和父类访问,私有的只能被其定义所在的类访问属性的访问控制类属性可以定义为public,private或者protected。在没有任何访问控制关键字的情况下,属性声明为public不对称属性可见性从PHP8
- Redis单机安装与多平台部署
jarenyVO
redisredis缓存
Redis单机安装与多平台部署以下是针对Redis单机安装与多平台部署要点整理,包含生产级配置建议和跨平台差异处理方案:一、单机安装核心步骤1.Linux系统(Ubuntu/CentOS)#安装依赖sudoapt-getinstallbuild-essentialtcl#Ubuntusudoyumgroupinstall"DevelopmentTools"#CentOS#编译安装(推荐)wgeth
- Nginx安装指南
houzhihui
WebServiceLinux学习nginx
Nginx安装指南1.版本选择2.RHEL/CentOS基于官方yum源安装3.Ubuntu基于官方apt安装4.编译安装4.1集成三方模块编译安装nginx4.2nginxopenssl模块升级4.3隐藏Nginx版本号5.官方参考文献1.版本选择Nginx的安装版本分为Mainlineversion(主要开发版本,其实就是还处于开发版)、Stableversion(当前最新稳定版)和Legac
- Linux更新操作系统Openssh版本9.3p1(源码编译安装)
Lz__Heng
LinuxOpenSSHlinux服务器运维
Linux更新操作系统Openssh版本9.3p1(源码编译安装)部署前准备安装依赖yuminstall-ygccgcc-c++glibcmakeautoconfopensslopenssl-develpcre-develpam-develyuminstall-ypam*zlib*openssh-9.3p1.tar.gzopenssl-3.1.0.tar.gz备份文件cp/etc/pam.d/ss
- Nagios监控系统插件套装:1.4.13版本深入解析
Kiki-2189
本文还有配套的精品资源,点击获取简介:Nagios是一款开源系统监控工具,用于实时监控网络服务、系统状态和IT基础设施,确保IT环境的稳定运行。本文详细解析了"Nagios-plugins-1.4.13.tar.gz"这个插件包,涵盖了Nagios核心功能、插件工作原理、安装配置、常见插件、自定义插件制作、故障报警与通知、性能数据记录以及扩展集成等方面。通过解压、编译安装和配置插件包中的内容,用户
- Nginx 核心功能
?ccc?
nginx服务器网络
目录一:正向代理1:编译安装Nginx(1)安装支持软件(2)创建运行用户、组和日志目录(3)编译安装Nginx(4)添加Nginx系统服务2:配置正向代理二:反向代理1:配置nginx七层代理2:配置nginx四层代理三:Nginx缓存1:缓存功能的核心原理和缓存类型2:代理缓存功能设置四:Nginxrewrite和正则一:正向代理正向代理(ForwardProxy)是一种位于客户端和原始服务器
- Linux 中软件使用及常见问题 Q&A
firendsunbird
Linuxjava操作系统php
软件安装与维护Mathematica的安装与卸载:安装时可以使用Windows下的注册机生成序列号;卸载时直接删除安装文件夹,同时删除/usr/local/bin/中的链接。卸载永中Office:#rmeio编译安装Thunderbird:./configure--enable-application=mail--enable-staticmakemakeinstall64位系统强制安装32位的q
- 编译OpenCV支持CUDA视频解码
AI标书
pythonopenvccudanvidiadockerbuild
如何在Ubuntu上编译OpenCV并启用CUDA视频解码支持(cudacodec)在深度学习、视频处理等高性能计算领域,OpenCV的GPU加速功能非常重要。特别是它的cudacodec模块,能直接利用NVIDIA硬件实现高效的视频解码,极大提升性能。本文将基于Ubuntu环境,详细介绍从环境准备到编译安装OpenCV,并开启cudacodec模块的全过程。完整的shell脚本以及本次编译所用到
- [架构之美]在Linux上通过源码编译安装Nginx(十四)
曼岛_
架构之美架构linuxnginx
[架构之美]在Linux上通过源码编译安装Nginx(十四)本文将手把手教你从源码编译安装Nginx,深入解析配置选项,打造定制化高性能Web服务器。通过源码安装,你可以获得最新特性、深度优化及灵活模块定制能力。一、为何选择源码安装Nginx?获取最新版本:早于官方仓库更新深度定制:自由选择模块和编译参数极致优化:针对特定CPU架构进行编译优化安全加固:自主控制依赖链二、环境准备(以Ubuntu2
- WebAssembly:wasm探索与TypeScript模块wasm应用
_Zou
前端笔记webgl笔记typescriptc++wasmwebassemblymacos
目录安装编译环境HelloWorldEmscripten/bind实践TypeScript模块WASM引用更多相关链接安装编译环境前置条件:git\cmake\python\node。编译安装Emscripten通过EmscriptenSDK构建Emscripten是自动的,下面是步骤。$gitclonehttps://github.com/juj/emsdk.git$cdemsdk$./emsd
- [置顶] libtool: link: cannot find the library `/usr/lib/libuuid.la' 找不到
许一沐
libuuidispartoftheutil-linux-ngpackagesinceversion2.15.1andisavailablefromftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/util-linux-2.21.1.tar.gz编译安装httpd2.2.24时出现libtool:link:cannotfindthelibr
- Nginx安全防护与HTTPS部署实战
lml4856
nginx安全https
一.核心安全配置1.编译安装Nginx(1)安装支持软件Nginx的配置及运行需要pcre、zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保Nginx的安装顺利完成命令:dnfinstall-ygccmakepcre-develzlib-developenssl-develperl-ExtUtils-MakeMakergitwgettar(2)创
- 新版azkaban4.0编译安装教程
码农界的老油条
azkaban4.0java
新版azkaban4.0编译安装教程由于官方没有提供安装包所以需要下载源码,按照本文安装可以完美运行解压wgethttps://github.com/azkaban/azkaban/archive/refs/tags/4.0.0.tar.gztar-zxvf4.0.0.tar.gz-C/opt/software/cdazkaban-4.0.0没有安装git的话需要先安装https://gradle
- Centos linux安装MySQL-5.6.4
suixinm
CentOS6安装MySQL5.6.41.下载MySQL我下载的版本:mysql-5.6.4.tar.gz2.安装之前先卸载CentOS自带的MySQL[root@localhost~]#yumremovemysql3.编译安装Cmake下载cmake源码包:http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz从共享目录移至usr目录[root@lo
- CentOS 7 编译安装Nginx 1.27.5完整指南及负载均衡配置
搬码红绿灯
centosnginx负载均衡
一、环境准备与依赖安装1.关闭防火墙和SELinux(仅限测试环境)systemctlstopfirewalld#停止防火墙systemctldisablefirewalld#禁用防火墙开机启动setenforce0#临时关闭SELinux2.安装编译依赖yum-yinstallgccpcre-develzlib-devel3.下载并解压Nginx源码wgethttps://nginx.org/d
- PostgreSQL全栈部署指南:从零构建企业级高可用数据库集群
Mr.L-OAM
linux系统运维数据库postgresql
PostgreSQL全栈部署指南:从零构建企业级数据库集群前言:本文详解了**PostgreSQL**所有的部署方式,如yum安装、源码编译安装、RPM包手动安装,以及如何选择适合的安装方式。适合不同的场景应用。通过高可用部署详细了解安装思路及过程,包括内网环境下的配置、主节点的创建用户、安装、数据目录设置、初始化、配置参数、防火墙管理,以及主从服务器的同步和热备配置过程。以及高可用性能的测试。数
- nginx
huang714
nginxnginx
安装依赖安装nginx之前,确保系统已经安装gcc、openssl-devel、pcre-devel和zlib-devel软件库gcc可以通过光盘直接选择安装openssl-devel、zlib-devel可以通过光盘直接选择安装,https时使用pcre-devel安装pcre库是为了使nginx支持HTTPRewrite模块编译安装通过上面的下载页下载最新的稳定版#wgethttp://ngi
- 【向量数据库】Ubuntu编译安装FAISS
风好衣轻
向量数据库ubuntufaisslinux
参考官方的安装指导:https://github.com/facebookresearch/faiss/blob/main/INSTALL.md,不需要安装的可以跳过~$wgethttps://github.com/facebookresearch/faiss/archive/refs/tags/v1.8.0.tar.gz~$tar-zxvfv1.8.0.tar.gz~$cdfaiss-1.8.0
- Nginx的平滑升级和回滚
白佳宝
nginxjava服务器
一、Nginx平滑升级和回滚1.平滑升级流程(1)平滑升级的四个阶段只用旧版本nginx和master和worker旧版和新版nginx的master和worker进程并存,由旧版本nginx接受处理用户的新请求旧版和新版nginx的master和worker进程并存,由新版nginx接收处理用户的新请求只有新版nginx的master和worker进程(2)具体过程存在旧版nginx时,编译安装
- Squid 5.2 自动化部署脚本解析(附脚本)
一、脚本核心功能与设计亮点该脚本专为CentOS7环境定制,实现了Squid5.2的自动化编译安装,具备以下特性:版本精准控制:固定编译Squid5.2版本,确保兼容性HTTPS拦截支持:自动生成SSL证书,实现HTTPS流量解密性能优化:基于CentOS7特性优化编译参数和运行配置服务集成:与systemd深度集成,支持服务管理和自动重启错误处理:完善的日志记录和错误检查机制二、关键技术实现系统
- CentOS6.5安装配置Nginx1.11.5
co-n00b
一、安装pcre查看是否已经安装了pcrerpm-qa|greppcre如果存在,则删除已经安装的pcre(最好不要用系统自带的pcre)rpm-e--nodepspcre-7.8-6.el6.x86_64安装pcreyuminstallpcre*二、安装opensslyum-yinstallopenssl*三、下载Nginx编译安装包下载地址:http://nginx.org/en/downlo
- Ascend如何测试集合通信(HCCL)的功能正确性以及性能?
zjun3021
ascendhccltesthccl带框测试
1适用场景分布式训练场景下,开发者可以通过此工具测试HCCL(HuaweiCollectiveCommunicationLibrary)集合通信的功能正确性以及性能。此工具仅支持基于HCCL单算子API实现集合通信的网络性能测试。2MPI安装与配置HCCL性能测试工具依赖MPI拉起多个进程,所以需要先安装MPI软件。具体的安装步骤,可以参考:MPICH安装配置3工具编译安装完MPI软件后,需要进行
- LVS 负载均衡群集
天空之城夢主
lvs负载均衡运维
这里写目录标题案例分析案例概述案例前置知识点HTTP请求负载均衡常用调度算法常见的Web群集调度器案例环境本案例环境案例实施编译安装Nginx服务器编译安装HaproxyHaproxy服务器配置建立Haproxy的配置文件修改haproxy.cfg配置文件测试Web群集Haproxy的日志修改haproxy配置文件,将原有的配置更改为以下配置配置Rsyslog服务创建rsyslog的HAProxy
- PHP 8 报错“mb_http_input(): Argument #1 ($type) must be one of...”的解决方案:回退至 PHP 7.4
gs80140
各种问题php
目录PHP8报错“mb_http_input():Argument#1($type)mustbeoneof...”的解决方案:回退至PHP7.41.问题背景2.错误原因分析3.快速解决方法:降级PHP版本降级步骤(以宝塔面板为例):验证效果4.后续优化建议5.总结PHP8报错“mb_http_input():Argument#1($type)mustbeoneof...”的解决方案:回退至PHP7
- 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