- JavaScript案例(简易ATM机)
fusheng_cn
前端JavaScriptjavascript前端
Documentvarnum=100;do{varoperate=prompt("请输入您需要的操作:\n1.存钱\n2.取钱\n3.显示余额\n4.退出");switch(parseInt(operate)){case1://存钱varmoney1=prompt("请输入您需要存入的钱数:");varsum1=num+parseInt(money1);alert("您的余额为:"+sum1);n
- C语言分支语句
2401_88435596
c语言开发语言笔记改行学it
C语言中分支语句主要有以下几种:一.ifinta=1;if(2==a)printf("hehe\n);ifelseif(1==a)printf("hehe\n");elseprintf("haha\n");ifelsefielseif(a=18&&a<60)printf("青壮年");elseprintf("老年");注意:当有多个if时,else与离它最近的if配对二.switchcase---
- FreeSwitch的mod_distributor模块介绍【初步规划用来做路由优先级】
狂爱代码的码农
VOIP那些事freeswitch
FreeSWITCH的mod_distributor模块详解及应用场景模块概述mod_distributor是FreeSWITCH中一个用于动态分配呼叫或任务的模块,其核心功能是将传入的请求(如SIP呼叫、消息等)按预设策略分发到多个目标节点或坐席。它通常用于实现负载均衡、高可用性及灵活的呼叫路由。核心功能与工作原理分配策略:轮询(RoundRobin):依次分配请求,确保各节点均匀负载。随机(R
- FreeSwitch中mod_dptools和mod_easyroute两个模块及应用场景
狂爱代码的码农
VOIP那些事freeswitch
FreeSWITCH中的mod_dptools和mod_easyroute是两个功能不同的模块,分别服务于呼叫控制和动态路由场景。以下是详细介绍:mod_dptools功能概述mod_dptools(DialplanTools)是FreeSWITCH最核心的模块之一,提供了丰富的Application(App)和工具,用于在拨号计划(Dialplan)中实现呼叫控制逻辑14。主要功能包括:基础呼叫
- FreeSWITCH中 `mod_sofia` 模块
狂爱代码的码农
VOIP那些事freeswitch
以下是关于FreeSWITCH中mod_sofia模块的详细教学讲解,以分步方式展开:1.mod_sofia模块简介作用:mod_sofia是FreeSWITCH的核心模块之一,负责处理SIP协议栈(基于RFC3261),实现SIP注册、呼叫路由、媒体协商等功能。关键功能:管理SIP用户代理(UserAgent)的注册和会话。处理SIP消息(INVITE,ACK,BYE,REGISTER等)。与媒
- 浏览器chrome://version/命令行被篡改,快捷方式没有网址,还是被劫持
菜鸟王小凡
主页篡改首页被劫持
flag-switches-begin--flag-switches-end--origin-trial-disabled-features=SecurePaymentConfirmation劫持网址是MLXG、SysRoll等病毒的清除方法。https://download.csdn.net/download/wqs15192095633/19392652可以恢复。。
- restful 状态码
yqcoder
restful后端
状态码是服务器向客户端反馈请求处理结果的重要方式一、1xx:信息性状态码表示请求已被接收,需要继续处理。不过在实际的RESTfulAPI开发中,1xx状态码使用得相对较少。1.100Continue客户端在发送包含`Expect:100-continue`请求头的请求时,服务器如果愿意接受后续的数据,就会返回此状态码,告知客户端可以继续发送请求的其余部分。2.101SwitchingProtoco
- DeepSeek 助力 Vue 开发:打造丝滑的开关切换(Switch)
宝码香车
#DeepSeekvue.js前端javascriptDeepSeekecmascript
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦目录DeepSeek助力Vue开发:打造丝滑的开关切换(Switch)前言进入安装好的DeepSeek页面效果指令输入think组件代码组件特点说明:额外建议:代码测试页面效果自己部署DeepSeek安装地址相关文章️✍️️️️⚠️⬇️·正文开始
- uniapp跳转页面有几种方法?
豆豆(前端开发+ui设计)
uni-app前端
在UniApp中,页面跳转可以通过不同的方法实现:uni.navigateTo、uni.redirectTo、uni.reLaunch、uni.switchTab等。1.uni.navigateTo用途:保留当前页面,跳转到应用内的某个页面。但是不能跳到带有tabBar的页面。注意事项:使用uni.navigateTo跳转时,可以携带参数。但是需要注意,当使用uni.navigateBack返回时
- 判断按键长按短按
后天han
STM32前端linux
第一种办法:switch循环进行延时判断按键长按短按延时一秒,就这样延时N秒在判断,就将case1的东西加到caseN中,进行判断u8step=0;switch(step){ case0: if(key_flag==1)//key_flag==1代表按键按下 { flag=1; } break; case1: if(flag
- H3C AC WLAN配置本地转发(V7)
剪刀石头布Cheers
无线WLAN网关交换机网络
Switch作为DHCP服务器为AP和Client分配IP地址。现要求:在AC上配置本地转发功能,使Client的数据流量不经过AC,直接由AP转发。1、配置思路:为了将AP的GigabitEthernet1/0/1接口加入本地转发的VLAN200,需要AC下发map-configuration文件。2、配置步骤:2.1、apcfg.txt的配置:apcfg.txt的内容,要求为文本文件,按照命令
- 全新语句match,python新版本终于要引入switch-case了?
「已注销」
python进阶python
match语句(python3.10)在很多语言中,有一种用于条件判断的switch-case语句,但是在python中一直以来,没有switch-case。不过在python3.10的新版本中,加入了match-case语句。match语句的基础使用方法与switch-case语句比较类似,是通过match和case之间的组合,完成结构化模式匹配。但是match语句不等同于switch-case
- C语言分支和循环语句
止水编程 water_proof
c语言开发语言
C语言中的语句分为三种结构:1.顺序结构2.选择结构:if、switch、case等等3.循环结构:while、for、dowhile等等本章主要讲:分支语句:if、switch循环语句:while、for、dowhile、goto语句一.什么是语句?C语句可分为以下五类:1.表达式语句2.函数调用语句3.控制语句4.复合语句5.空语句本章后面介绍的是控制语句C语言中有九种控制语句,可分为以下三类
- 视频通讯使用SIP协议详解
大王算法
C/C++开发实战365算法SIPc++
一、Sip协议简介SIP(SessionInitiationProtocol,会话初始协议)是由IETF(InternetEngineeringTaskForce,因特网工程任务组)制定的多媒体通信协议。广泛应用于CS(CircuitSwitched,电路交换)、NGN(NextGenerationNetwork,下一代网络)以及IMS(IPMultimediaSubsystem,IP多媒体子系统
- GFPS扩展技术原理(六)-音频切换广播
Tim_Jiangzj
GoogleFastPairService-GFPS智能手机蓝牙GFPSFastPair谷歌快速配对
应用场景AudioSwitch音频切换,这个是为两个或者两个以上的Seeker在使用同一个Provider设备切换音频而设置的规则,举个例子,一个蓝牙耳机同时连着一个平板和一个手机,用户戴着蓝牙耳机在看平板上的视频,这个时候,手机突然接到一个电话,那么耳机就需要通知平板暂停播放音乐,转而播放手机响铃,让用户去接听手机电话,用户接听完电话,然后平板恢复播放视频,用户接着看视频,这是一个典型的应用场景
- 3G通信的一些概念
大水
网络知识学习电话网络数据库存储电信
3GPSTN(PublicSwitchedTelephoneNetwork)定义公共交换电话网络,一种常用旧式电话系统。PSTN是一种以模拟技术为基础的电路交换网络。ISDN综合业务数字网(IntegratedServicesDigitalNetwork,ISDN)是一个数字电话网络国际标准,是一种典型的电路交换网络系统。ISDN是最早为人们接受的宽带上网方式,除了具备128Kbps的传输速率外,
- 嵌入式C语言表驱动状态机
@吃了个团子被噎住了
c语言c#开发语言
嵌入式C语言表驱动状态机嵌入式中比较经常使用状态机模式,使用ifelse和switchcase出现比较多的状态时,这种方法实现的状态机可读性和可塑性比较差本章使用表驱动方法解决上述的问题以下代码参考博主:大白白https://zhuanlan.zhihu.com/p/530280333一维数组表驱动状态机实现把currentstate–event–operation()–nextstate的组合作
- C语言初阶:分支和循环语句,初步认识switch语句以及二分查找法
同途同归
学习记录c语言学习c++
目录:1.分支语句(if...elseswitch)2.循环语句(whilefordowhile)3.二分查找法学习内容:1.分支语句(ifelse语句)://1.if和else语句默认只能执行一行代码,要想执行多行代码需要用大括号括起来(这叫做一个代码块)。在C语言中0为假,非0为真。//2.关于选择语句的错误使用以及解析:在if语句中一个等号是赋值,两个等号才是判断。#includeintma
- 106.map 和 switchMap
我也念过晚霞
android
相同点与不同点:相同点:都是LiveData的转换函数:它们都用于转换一个LiveData对象,并返回一个新的LiveData对象。都使用lambda表达式进行转换:它们都接收一个lambda表达式作为参数,用于定义转换的逻辑。生命周期感知:转换后的LiveData同样具有生命周期感知能力,只有在观察者处于活动状态时才会传递数据。不同点:特性mapswitchMap转换方式map对原始LiveDa
- [笔记]深入理解PCIe架构与U-Boot中的设备管理
BROKENBOAT
笔记架构
前言PCIe(PeripheralComponentInterconnectExpress)作为一种高速串行计算机扩展总线标准,已经成为现代计算系统中不可或缺的一部分。它不仅用于个人电脑和服务器,还广泛应用于嵌入式系统和数据中心。因为项目需求对pcie进行功能调试,本文将以探讨PCIe的架构设计,包括RootComplex(RC)、Endpoint(EP)、Switch和Bridge的各个功能为主
- Mongodb数据管理
是小V呀
中间件mongodb数据库非关系数据库文档型数据库json
Mongodb数据管理1.登录数据库,查看默认的库[root@db51~]#mongo>showdatabases;admin0.000GBconfig0.000GBlocal0.000GB>useadminswitchedtodbadmin>showtablessystem.version>admin库:admin是MongoDB的管理数据库,用于存储用户、角色和系统范围的配置。具有admin数
- 微信小程序 navigator 和 wx.navigateTo不跳转问题
**Dragon**
小程序前端
这个问题可能是很多新手会遇到的问题,有经验的人一眼就能看出问题了1、先确保app.js已经注册了页面路径2、索要跳转的页面不是tabBar,tabBar也可以设置open-type="switchTab"跳转3、我们来一起分析下先看有问题的代码,看起来很正常//wxml更多>>因为用navigator跳转不了,我尝试用wx.navigateTo,wx.navigateTo({url:url,eve
- 爬虫自动化之drissionpage实现随时切换代理ip
十一姐
python爬虫逆向案例中高级爬虫自动化代理
目录一、视频二、dp首次启动设置代理三、dp利用插件随时切换代理一、视频视频直接点击学习SwitchyOmega插件使用其它二、dp首次启动设置代理fromDrissionPageimportChromiumPage,ChromiumOptionsfromloguruimportloggerco
- 【微信小程序】常见问题-解决tabBar不能传参的问题
墨夶
微信小程序微信小程序小程序
微信小程序的底部tabBar页面跳转时,使用wx.switchTab方法无法直接传递参数。这是因为wx.switchTab方法的url参数不允许带有查询字符串。然而,这并不意味着你无法在tabBar页面之间传递参数。以下是几种常见的解决方法:1.使用全局变量app.globalData你可以通过在app.js中定义全局变量来存储需要传递的参数。在跳转前设置全局变量,然后在目标页面的onLoad方法
- Java后端面试题:Java中的关键字、数据类型、运算符
青灯文案
面试题javapython开发语言
在Java中,关键字、数据类型和运算符是编程的基础组成部分。一、Java关键字Java关键字是具有特殊含义的单词,它们不能用作变量名、方法名、类名等标识符,Java共有53个关键字。1、控制流关键字if、else:用于条件判断。switch、case、default:用于多分支选择。for、while、do、break、continue:用于循环控制。2、类和对象关键字class:用于定义类。in
- Nginx 1.10 整合 Spring CLoud GateWay 2.1.3 搭建域名访问环境
itorly
nginxgateway
前提0.1SpringBoot+SpringCloud项目位于本地(win10)0.2Nginx运行在本地虚拟机VirtualBox的Docker上0.3SwitchHosts将本地域名gulimall.com与本机ip地址映射0.4本机ip地址由cmd命令行ipconfig得到,必须确保该本地ip与虚拟机ip互相ping得通注意:配置文件中##开头的注释是自定义的注释,其下一行是自定义编辑的配置
- Linux系统动态查看每个CPU上任务的调度情况
leoufung
调试驱动
Linux系统动态查看每个CPU上任务的调度情况,可以通过接口“cat/proc/sched_debug”来进行我们来看看例子,首先查看核1上的所有任务,用“ps-T-eo%cpu,stat,pid,tid,args:50,psr|awk-F""'{if($(NF)==1)print$0}'”其中44683优先级是99,44736优先级是other0那我们看一下调试的输出我们可以看到switche
- windows中HyperV为ubuntu指定固定IP
飞瀑
ubuntulinux运维
1.配置Windows主机的网络打开“控制面板”->“网络和共享中心”->“更改适配器设置”。找到与InternalSwitch对应的网络适配器(通常名为vEthernet(InternalSwitch))。右键点击适配器,选择“属性”。双击“Internet协议版本4(TCP/IPv4)”。选择“使用下面的IP地址”,设置一个固定IP(如172.168.10.2),子网掩码为255.255.25
- undetected_chromedriver 控制已打开的浏览器
FOAF-lambda
python
defget_options():options=ChromeOptions()options.add_argument("--disable-blink-features=AutomationControlled")#options.add_experimental_option("excludeSwitches",["enable-automation"])#options.add_exper
- Golang学习历程【第四篇 运算符&流程控制】
£漫步 云端彡
Golanggolang学习运算符流程控制
Golang学习历程【第四篇运算符&流程控制】1.运算符1.1算术运算符1.2关系运算符1.3逻辑运算符1.4赋值运算符1.5其他运算符2.二进制运算3.流程控制3.1条件表达式if3.2for循环3.3forrange(键值循环)3.4switch...case3.5break,continue,goto1.运算符1.1算术运算符符号描述+加法-减法*乘法/除法%取余示例:/*1.算术运算符*/
- 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