- 光盘文件系统 (iso9660) 格式解析
穷人小水滴
光盘文件系统iso9660denoGNU/Linuxjavascript
越简单的系统,越可靠,越不容易出问题.光盘文件系统(iso9660)十分简单,只需不到200行代码,即可实现定位读取其中的文件.参考资料:https://wiki.osdev.org/ISO_9660相关文章:《光盘防水嘛?DVD+R刻录光盘泡水实验》https://blog.csdn.net/secext2022/article/details/140583910《光驱的内部结构及日常使用》ht
- 常用类库 Guava 简介
豆瑞瑞
java
简介GoogleGuava是一个由Google开发的Java开源函数库。前身是GoogleCollectionsLibrary,提供了许多简化工具,如缓存、连接器、过滤器、关联数组等仓库代码GitCode-全球开发者的开源社区,开源代码托管平台参考https://github.com/google/guavahttps://github.com/google/guava/wikiRedisStre
- 逆radon变换matlab,Radon变换及其Matlab代码实现
少年商学院
逆radon变换matlab
Radon变换和Hough变换类似,最初是用于检测图像中的直线(例如笔直的街道边沿、房屋的边沿、笔直的电线等)。关于Hough变换,可以参考OpenCV中的代码和示例(其实除了HoughLines还有HoughCircles等等变种),此处不再赘述。关于Radon变换,可以参考wiki或者百科,或者网络上的其他资料介绍。这里做一个简单的总结。首先准备一张灰度化的图像,及黑白图像,然后检测图像的边缘
- Python和java的区别
周作业
一些杂七杂八
更多decorator的内容,请参考https://wiki.python.org/moin/PythonDecorators来源:my.oschina.net/taogang/blog/264351基本概念Python和Javascript都是脚本语言,所以它们有很多共同的特性,都需要解释器来运行,都是动态类型,都支持自动内存管理,都可以调用eval()来执行脚本等等脚本语言所共有的特性。然而它
- 什么是DSL和GPL
牧竹子
通识DSLGPL
DSL的全称是domain-specificlanguage,它在wiki上的定义如下:Adomain-specificlanguage(DSL)isacomputerlanguagespecializedtoaparticularapplicationdomain.与之相对的是GPL(general-purposelanguage)。DSL指的是针对特定应用领域而设计使用的计算机语言,而GPL指
- 什么是DSL
yimi1995
程序员的日常
转载:http://blog.csdn.net/dslztx/article/details/46682889DSL的全称是domain-specificlanguage,它在wiki上的定义如下:Adomain-specificlanguage(DSL)isacomputerlanguagespecializedtoaparticularapplicationdomain.与之相对的是GPL(g
- xwiki html和css,MediaWiki vs. XWiki
Ake阿科
多语言信息技术编程数据库操作系统
140Afar,Abkhazian,Afrikaans,Amharic,Arabic,Assamese,Aymara,Azerbaijani,Bashkir,Byelorussian,Bulgarian,Bihari,Bislama,Bengali;Bangla,Tibetan,Breton,Catalan,Corsican,Czech,Welsh,Danish,German,Bhutani,Gr
- 坑爹的 xwiki 二次开发
iamdll
xwiki
boss提出一个需求,要对xwiki进行二次开发,建立一系列的模板来满足不同团队的文档需求。其中,需要在页面上实现一级tag的选择,然后根据一级tag去display二级tag,并且在将相应的tag加到tag云中。为了这件事情,我调研了2天,其中各种文档缺失--xwiki的document就是一坨乱七八糟,杂乱无章,除了不停的search,没有任何办法。调研结果:能不能做呢-肯定是可以的,好不好做
- XWiki中添加 html 二次编辑失效
草明
其他xwikimarkdown_blank
如果直接在XWiki中添加html,例如修改颜色,新窗口打开主页面等功能,首次保存是生效的.如果再次编辑,则失效,原因是被转换成了Markdown的代码,而Markdown不支持.解决这个问题可以使用HTML宏.在XWiki中使用Markdown1.2语法时,默认Markdown的链接文本语法不支持在新页面中打开链接,且XWiki可能会处理或转换HTML标记。因此,建议使用HTML宏来确保targ
- LeetCode | 0235. 二叉搜索树的最近公共祖先【Python】
Wonz
ProblemLeetCodeGivenabinarysearchtree(BST),findthelowestcommonancestor(LCA)oftwogivennodesintheBST.AccordingtothedefinitionofLCAonWikipedia:“Thelowestcommonancestorisdefinedbetweentwonodespandqasthelo
- linux访问外网的设置
错误重复学习记录
linux运维服务器
Ubuntu|LUCKFOXWIKI开发板配置添加路由信息sudorouteadddefaultgw172.32.0.100添加DNSservers打开文件sudovi/etc/resolv.conf添加以下内容:nameserver8.8.8.8联网测试pingwww.baidu.com开机自动配置路由信息和DNSservers重启后会被清除,我们创建一个脚本开机后自动帮我们完成配置cd/etc
- 翻译 Compaction wiki
i_need_job
网址:https://github.com/facebook/rocksdb/wiki/Compaction有道CompactionCompactionalgorithmsconstraintheLSMtreeshape.Theydeterminewhichsortedrunscanbemergedbyitandwhichsortedrunsneedtobeaccessedforareadoper
- ros的节点与包
well_fly
ros机器人
ros节点(node)与包(package)是ros系统的重要基本组成部分,依照官网说明做一个简单的整理,详细的参考官网教程官网网址:https://wiki.ros.org/cn/ROS/Tutorials简单理解一下节点与包的区别,节点是功能单元,包是文件单元。实现具体功能的是节点,包含节点文件,及launch等文件的一个文件整体叫一个包。而且,一个包里面可以包含多个节点或插件。在一个包里,C
- 分布式数据库架构:从单实例到分布式,开发人员需及早掌握?
我爱娃哈哈
MySQL实战分布式数据库架构数据库
现在互联网应用已经普及,数据量不断增大。对淘宝、美团、百度等互联网业务来说,传统单实例数据库很难支撑其性能和存储的要求,所以分布式架构得到了很大发展。而开发人员、项目经理,一定要认识到数据库技术正在经历一场较大的变革,及早掌握好分布式架构设计,帮助公司从古老的单实例架构迁移到分布式架构,对自己在职场的竞争力来说,大有益处。一、什么是分布式数据库?Wiki官方对分布式数据库的定义为:Adistrib
- 心缘Hub小程序
杰哥力挽狂澜
uniapp微信小程序交友
心缘Hub小程序文章目录心缘Hub小程序@[TOC](文章目录)前言飞书文章:[添加链接描述](https://mqdyd6qj756.feishu.cn/wiki/X9qbwrq70i43W0kr5X8cqytSnKb)一、简介前言飞书文章:添加链接描述一、简介心缘Hub不要钱可以匹配有缘人、直接拿微信没有多余的操作可以可以在这里面进行匹配好友一起玩游戏可以匹配到很多大佬请教可以来试一下、内置无
- Solidity 盲拍案例
黄靠谱
参考https://solidity.readthedocs.io/en/latest/solidity-by-example.htmlhttps://ethfans.org/wikis/Solidity-%E6%96%87%E6%A1%A3--%E7%AC%AC%E4%B8%89%E7%AB%A0秘密竞拍每个竞价者提供一份或者几份大于自己投标价的保证金,然后发送多个竞标价(其中有1个是有效的,其
- Mybatis 防止sql注入
Ferrari1001
SQL****注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的****SQL****语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者)。[摘自]SQLinjection-WikipediaSQL****注入,大家都不陌生,是一种常见的攻击方式。攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如“or‘1’=’1’”这样的语句),有可能入侵参数检验不足的应用程序。所以
- 【统计学习方法】感知机
jyyym
ml苦手机器学习
一、前言感知机是FrankRosenblatt在1957年就职于康奈尔航空实验室时所发明的一种人工神经网络。它可以被视为一种最简单的前馈神经网络,是一种二元线性分类器。Seemoredetailsinwikipdia感知机.本篇blog将从统计学习方法三要素即模型、策略、算法三个方面介绍感知机,并给出相应代码实现。二、模型假设输入空间是x∈Rnx\in{R^n}x∈Rn,输出空间是y∈{−1,+1
- 币圈老人的故事
Carykive
1、2011年5月,王纯通过某文章点开了en.bitcoin.it上的wiki链接,研读一晚,大彻大悟,犹如发现了新大陆般惊喜、兴奋、热血沸腾。2、比特币涨到7美元的时候,王纯下载了bitcoin0.2.x的客户端,那时软件自带挖矿功能,他用MacBook笔记本挖了一整夜,一无所获。于是想买几个比特币玩玩。(这一过程我也经历过,我用淘宝组装电脑挖了一夜的质数币,一无所获,于是开始去交易所买币。)3
- ubuntu24.04编译android7.1.2
qq_34507011
linuxjavac语言android
提示:文章目录前言一、编译环境搭建1.安装编译环境二、编译1.错误解决2.最终编译总结前言以s5p6818支持的android7为例在ubuntu24.04中编译android7.1.2friendlyarmandroid相关源码下载如下:NanoPC-T3Plus/zh-FriendlyELECWiKi提示:以下是本篇文章正文内容,下面案例可供参考一、编译环境搭建1.安装编译环境1.1添加清华源
- 使用Gradle构建Monorepo项目
dnc8371
pythonjava人工智能大数据编程语言
根据Wikipedia的说法,monorepo是一种软件开发策略,其中许多项目存储在同一存储库中。这种策略可以快速检测到因依赖关系的更改而导致的潜在问题和破坏,并且已被许多使用大型代码库的组织采用,例如Google,Facebook和Twitter。如果碰巧将Gradle用作首选的构建工具,那么您也可以应用此策略,这要归功于3.1版中引入的CompositeBuilds功能(在撰写本文时,最新版本
- windows on arm 开发指南
深圳市进化图灵智能科技有限公司
其它windowsarm
windowsonarm开发指南os:windowscpu:armArm人工智能创新应用大赛-直播课Arm人工智能创新应用大赛直播2024-09-05官方Confluence这里可以找到官方Roadmap、软件的支持列表https://linaro.atlassian.net/wiki/spaces/WOAR/overview?homepageId=28770042143gnu工具链原生支持arm
- 常见的Python Web框架
机定胜人
Perl/Python技术pythonweb框架djangopylonsweb.py框架
常见Pythonweb框架浅谈说到webframework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework、framework不可胜数,不完全列表见:http://wiki.python.org/moin/WebFrameworks。虽然另一大脚本语言PHP也有不少框架,但远没有Python这么夸张,也正是因为Pythonwebframe
- rtsp服务器性能测试工具,RTSP性能优化 · ZLMediaKit/ZLMediaKit Wiki · GitHub
小野的乐趣生活
rtsp服务器性能测试工具
提示最新的性能参数,请参考#406GB28181的推流性能测试,请参考:#961概述在最近ZLMediaKit的一次提交中,我对rtsp服务器的性能做了一次改进,本次改进中,核心的思想是:缓存时间戳相同的RTP包(意味着是同一帧数据),作为一个数据包进行分发。理论上,这样做可以大大减少多线程分发时线程切换次数、多余发送逻辑代码的执行以及系统调用次数,预期在不增加播放延时的情况下能大幅提高rtsp服
- Centos 8 下安装 php-pecl-redis 扩展
New小青龙
redisphp部署centosredisphp
官方安装说明:https://github.com/phpredis/phpredis/blob/develop/INSTALL.markdown尝试用dnf或yum安装#dnfinstallphp-pecl-redis或#yuminstallphp-pecl-redis安装不成功,再按https://fedoraproject.org/wiki/EPEL的说明,执行以下指令尝试安装#yumins
- Builder建造者模式
淡淡的橙子
最近在看设计模式之禅。该书以生动有趣的言语为我们描绘了GoF所带来的设计模式的殿堂。其中有些设计模式讲的比较好,比如抽象工厂,模板方法等。但是在将Builder模式的时候,个人感觉和自己的理解可能有些出入,所以在此记录下自己的理解。Builder模式的wiki地址:wiki-Builderpattern说个题外话,设计模式的wiki有着非常详细的内容,有兴趣的可以去学习学习,这个是设计模式的首页:
- 自学编程推荐的11个学习及刷题网站
陌染007
初学编程,很多人会选择先自学,那么这时候选择适合自己的学习平台是特别关键的,今天小优就给大家整理了11个学习及刷题网站。一起来收藏起来!第一类:课程学习类网站1、菜鸟教程菜鸟教程是@Runoob开发的一个编程技术网站,收录了非常多的编程语言文档,例如最常见的:Python、JavaScript、http://ASP.NET、Android、C、Go、C++等等语言参考文档Wiki,非常齐全,并且文
- 五维突破Twenty-Eight|学生创造策略单
墨香雪Silvia
这是我参与勇气读书会打卡第116天阅读书目:《五维突破:互联网+教育》阅读章节:第五维度:学生创造【学生创造策略单】读书笔记分享:杨晓哲博士在本小节为我们介绍了几个学生在学习过程中使用的软件、网站和工具的典型类别,我们可以看到学生正在开启一种不一样的学习方式。(1)常用工具类1.Wiki百科或百度百科这两个平台涵盖了各个领域的信息,可以说无所不能、无所不包。百科强调用户的参与和奉献精神,调动了互联
- 一维/二维高斯分布的负对数似然推导
lainegates
人工智能概率论
参考wikipediaMultivariatenormaldistribution及Normaldistribution基础公式多元高斯分布公式f(X)=f(x1,x2,...,xk)=1(2π)k∣∑∣e−12(X−μ)T∑−1(X−μ)f(X)=f(x_1,x_2,...,x_k)=\frac{1}{\sqrt{{(2\pi)}^k|\sum|}}e^{-\frac{1}{2}(X-\mu)^
- opencv绘图函数
Sun-Flower
图像处理opencvopencv绘图函数cvPutTextcvFillPolycvEllipseB
在OpenCV中,有几个基本的绘图函数,如果自学的话,可以在网上很多的函数参数解析以及代码。官方参考网站:http://wiki.opencv.org.cn/index.php/Cxcore%E7%BB%98%E5%9B%BE%E5%87%BD%E6%95%B0#DrawContourshttp://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutori
- 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