- [Android开发] 工具篇--Docker使用
z4a1c2
Android开发实战docker
Docker介绍Docker是一种容器工具,是一种轻量化的虚拟技术,可以支持高效便捷地创建和使用Linux容器,同时可以让开发者以便捷方式打包应用到一个可移植的容器中,然后安装至任何运行Linux或Windows等系统的服务器上。官网:https://www.docker.com/Docker基本概念Docker中有非常重要的三个基本概念:镜像(Image)、容器(Container)和仓库(Re
- C#语言的主要特性和用途。
huacheng168
c#
你描述的非常准确。以下是C#语言的一些主要特点和特性:基于.NET平台:C#是一种基于.NET平台的开发语言,它能够利用.NET框架提供的大量类库和功能,这使得C#在开发各种类型的应用时具有很高的效率。多平台支持:C#语言本身可以在多个平台上运行,包括Windows、Linux和MacOS等操作系统。这使得C#具有很好的跨平台兼容性。简洁易学的语法:C#的语法设计得非常清晰和易学,它借鉴了多种语言
- nvm配置镜像源
Tirzano
nodejsnpmnodejsnvme
下载地址:https://github.com/coreybutler/nvm-windows/releases由于nvm的install.cmd在window家庭版上不好用,所以只好手动配置环境变量NVM_HOMEnvm安装目录NVM_SYMLINKnodejs链接目录(快捷方式)setting.txtroot:D:\$\nodenode实际安装目录或者说是下载目录arch:64系统64位pro
- 关于QT中获取Windows系统磁盘使用情况
柠檬算不酸
qt开发语言
使用WindowsAPI获取系统磁盘详细信息时,为了与WindowsAPI兼容,我们需要将QString对象转换为UTF-16编码的宽字符字符串。 QFileInfoListlist=QDir::drives();//获取所有磁盘的列表 foreach(QFileInfodir,list){ QStringdirName=dir.absolutePath();//获取磁盘的绝对路径(例如
- 【PostgreSQL】入门篇——在不同操作系统上安装 PostgreSQL
m0_74825526
postgresql数据库
PostgreSQL在Windows、macOS和Linux(以Ubuntu为例)的安装步骤,以及可能出现的问题和解决办法。一、在Windows上安装PostgreSQL1.下载PostgreSQL安装程序访问PostgreSQL官方网站:PostgreSQLDownloads点击“Downloadtheinstaller”链接,下载适合您系统的安装程序(通常是.exe文件)。2.运行安装程序双击
- w803|联盛德|WM IoT SDK2.X测试|window11|手动编译|(3):编译环境搭建
打酱油的工程师
W80X物联网单片机w80x
根据官方文档快速入门,计划在Windows系统下,安装厂家提供的一键安装的编译环境集成包,下载地址:WMIoTSDKDownloadCenter名称大小修改日期wm_iot_sdk_v2.2-beta.2.zip102MB2025/2/2214:56:07winnermicro_cli_compile_suite_setup_v1.3.1.exe111MB2025/2/2214:20:30安装根目
- ssh工具
玖玉ww
Toolsssh运维
文章目录ssh简介ssh远程连接Linux下使用SSH安装安装ssh服务端安装ssh客户端命令启动重启查看ssh的状态ssh配置文件ssh连接地址配置文件基本配置注意通配符心跳和密钥ssh的Include跳板ProxyJump内网穿透Windows下使用SSH安装ssh配置文件ssh连接地址配置文件ssh简介ssh(SecureShell,简称SSH)是安全外壳协议,是一种在不安全网络上用于安全远
- windows下安装Open Web UI
醒醒a
python
windows下安装openwebui有三种方式,docker,python+node.js,整合包.这里我选择的是第二种,非docker.非Docker方式安装1.安装Python:下载并安装Python3.11,建议安装路径中不要包含中文字符,并勾选“Addpython3.11toPath”选项。安装完成后,在命令提示符中输入python,若显示Python版本信息则表示安装成功。2.安装No
- Windows逆向工程入门之逻辑运算指令解析与应用
0xCC说逆向
windows单片机嵌入式硬件stm32安全汇编C
公开视频->链接点击跳转公开课程博客首页->链接点击跳转博客主页目录1.逻辑运算指令概述2.指令详解2.1AND指令操作含义用途示例2.2OR指令操作含义用途示例2.3NOT指令操作含义用途示例2.4XOR指令操作含义用途示例3.应用场景3.1掩码操作(AND的应用)描述示例:权限标志解析汇编层实现3.2状态或权限设置(OR的应用)示例汇编层实现3.3数据校验(NOT的应用)示例汇编层实现3.4数
- 安全见闻
kami_kami
安全
今天学了Windows操作系统和驱动程序的相关知识Windows注册表注册表是windows系统中具有层次结构的核心数据库储存的数据对windows和Windows上运行的应用程序和服务至关重要。注册表时帮助windows控制硬件、软件、用户环境和windows界面的一套数据文件。打开注册表编辑器WIN+R输入—>regedit注册表结构注册表中,所有的数据都是通过一种树状结构以键和子键的方式组织
- DeepSeek本地部署 | 小白一站式步骤
AI学无止境
人工智能pythonwindows
一、借助Ollama部署(Ollama是一个开源的、易于使用的本地大语言模型运行工具,在本地部署大模型过程中发挥着关键作用)1.安装OllamaWindows系统:打开浏览器,访问Ollama官网(https://ollama.com)。点击“DownloadforWindows”下载对应的安装程序。下载完成后,双击安装程序,按照安装向导提示,一路点击“Next”直至安装完成。建议安装在C盘,以避
- 全面汇总windows进程通信(三)
爱上解放晚晚
C++高级编程实例windowsqt开发语言c++
在Windows操作系统下,实现进程间通信(IPC,Inter-ProcessCommunication)有几种常见的方法,包括使用管道(Pipe)、共享内存(SharedMemory)、消息队列(MessageQueue)、命名管道(NamedPipe)、套接字(Socket)等。本文介绍如下几种:RPC(远程过程调用,RemoteProcedureCall)Windows注册表(Registr
- 全面汇总windows进程通信(四)
爱上解放晚晚
C++高级编程实例windowsc++
在Windows操作系统下,实现进程间通信(IPC,Inter-ProcessCommunication)有几种常见的方法,包括使用管道(Pipe)、共享内存(SharedMemory)、消息队列(MessageQueue)、命名管道(NamedPipe)、套接字(Socket)等。本文介绍如下几种:Windows共享内存(SharedMemorywithMappedFiles)Windows套接
- 全面汇总windows进程通信(五)
爱上解放晚晚
C++高级编程实例windowsc++
在Windows操作系统下,实现进程间通信(IPC,Inter-ProcessCommunication)有几种常见的方法,包括使用管道(Pipe)、共享内存(SharedMemory)、消息队列(MessageQueue)、命名管道(NamedPipe)、套接字(Socket)等。本文如下几种:Windows剪贴板(Clipboard)Windows共享资源(SharedResources)Wi
- 全面汇总windows进程通信(一)
爱上解放晚晚
C++高级编程实例windowsc++
在Windows操作系统下,实现进程间通信(IPC,Inter-ProcessCommunication)有几种常见的方法,包括使用管道(Pipe)、共享内存(SharedMemory)、消息队列(MessageQueue)、命名管道(NamedPipe)、套接字(Socket)等。本文介绍如下几种:命名管道(NamedPipe)共享内存(SharedMemory)套接字(Socket)Windo
- Python - Windows下安装pip
夜流冰
编程参考pip
当你使用[python.org](https://www.python.org)的官方安装程序安装Python时,它通常会将`pip`作为安装过程的一部分。以下是你需要了解的内容:WhenyouinstallPythonusingtheofficialinstallerfrom[python.org](https://www.python.org),ittypicallyincludes`pip`
- 如何在docker中访问宿主机其他服务的接口
2401_89793006
热门话题docker容器运维
1.使用host.docker.internal(推荐)适用场景:DockerDesktop(Windows和macOS)或DockerEngine18.03+(Linux)。原理:Docker提供了一个特殊的主机名host.docker.internal,指向宿主机。使用方法:在容器中访问宿主机服务时,使用host.docker.internal代替localhost或127.0.0.1。例如,
- Python:Pip包的安装与原理(Windows系统)
日晨难再
Pythonpippython
相关内容Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm=1001.2014.3001.5482pip是Python的包管理工具,用于安装、升级和卸载Python包和依赖。它的全称是“PipInstallsPackages”,是Python生态系统中的标准包管理器。pip从PythonPackageInde
- Ollama的安装及使用
dwjf321
大模型ollama大模型
文章目录1.ollama下载2.linux安装3.ollama离线安装4.windows安装5.使用ollama1.ollama下载下载地址:https://ollama.com/download2.linux安装执行命令:curl-fsSLhttps://ollama.com/install.sh|sh设置启动访问IP和模型存储路径:vim/etc/systemd/system/ollama.s
- Windows.h 是什么?
code_stream
#Windows程序设计windows
认识Windows.h在C++中,进行Windows开发通常使用的库是windows.h这是Windows平台特有的一个头文件,它包含了WindowsAPI(应用程序接口)的声明和定义,允许开发者编写与Windows操作系统交互的程序。windows.h是一个包含大量Windows平台特有的数据类型、宏、函数原型、结构等声明的头文件。通过这个头文件,你可以访问WindowsAPI,用于执行各种任务
- python 使用WinRM连接远程windows
Red丶哞
Python桌面运维pythonwindows开发语言
一、什么是WinRM服务WinRM是很早之前微软推出的一种新式的方便远程管理的服务WindowsRemoteManagement的简称,相比RDP远程桌面协议,WinRM这种服务更具备轻量、低宽带的特性,WinRM与WinRS(WindowsRemoteShell)的使用可以让远程连接的运维人员拥有CMDShell环境,通过命令执行对服务器与服务器数据进行管理。随着运维人员的任务量的增大,RDP的
- Docker Desktop 入门教学
优人ovo
docker容器运维
引言DockerDesktop是Docker官方为开发者提供的桌面应用程序,支持在Windows和macOS上轻松构建、运行和共享容器化应用程序。它集成了Docker引擎、DockerCLI客户端以及DockerCompose等工具,方便您在本地开发和测试。一、快速安装1.系统要求Windows:Windows1064位:专业版、企业版、教育版或2004及更高版本的家庭版。Windows1164位
- 信创国产系统与国际系统的5大技术对比
程序员
信创国产系统与国际系统的5大技术对比在全球技术飞速发展的背景下,国产系统与国际系统之间的技术对比成为了一个备受关注的话题。国产系统,即由国内企业自主研发的操作系统和其他关键技术,近年来取得了显著的进步。与此同时,国际系统,如微软的Windows和谷歌的Android,凭借其成熟的技术和广泛的应用,依然在全球市场中占据主导地位。本文将从五个关键技术维度,深入探讨国产系统与国际系统之间的差异,旨在为读
- 「QT」QSS样式表 之 QGraphicsView图形视图类
何曾参静谧
「QT」QT5程序设计qt开发语言
✨博客主页何曾参静谧的博客(✅关注、点赞、⭐收藏、转发)全部专栏(专栏会有变化,以最新发布为准)「Win」Windows程序设计「IDE」集成开发环境「定制」定制开发集合「C/C++」C/C++程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」BlockUI集合「Py」Python程序设计「Math」探秘数学世界「PK」Paras
- ChatGLM-6B中英双语对话大模型Windows本地部署实战
ErbaoLiu
数据分析&大模型自然语言处理&大模型机器学习&大模型ChatGLMChatGLM-6B中英双语对话语言模型LLM大模型GPT聊天机器人
目录智谱清言ChatGLM简介ChatGLM下载硬件需求Conda环境下载代码下载模型部署测试网页版Demo命令行DemoAPI方式部署低成本部署智谱清言智谱清言是北京智谱华章科技有限公司研发的大模型。智谱AI致力于打造新一代认知智能大模型,专注于做大模型的中国创新。公司于2020年底研发GLM预训练架构,2021年训练完成百亿参数模型GLM-10B,利用MoE架构成功训练出收敛的万亿稀疏模型,2
- 记录第一次在windows环境编译libuvc库 踩的坑
发光的小豆芽
相机连接windowslibuvc
最近遇到windows下编译libuvc库,实现经usb连接的摄像头拍摄采集。绕了一大圈,记录一下。首先,作为新手,肯定需要参考大神资料,但是还是踩了坑。要在windows环境下安装libuvc的驱动并确保可用,需要经过一系列流程,(1)先参考神人的博客记录呗有关windows下libuvc的使用https://blog.csdn.net/Arom_Corge/article/details/13
- ASP.NET CORE介绍
yorusika
asp.netjava前端
ASP.NETCore是微软公司推出的一种开源的Web应用程序框架,它是ASP.NET的下一代版本。ASP.NETCore可以在跨平台的环境中运行,包括Windows、Linux和macOS等操作系统。它具有高性能、可扩展性和灵活性等优势,可以帮助开发者快速构建高效、安全的Web应用程序。1.ASP.NETCore的特点1.1跨平台ASP.NETCore可以在Windows、Linux和macOS
- Ollama 部署指南(Windows)
圣心
windows
文章来源:Windows部署文档--Ollama中文文档|Ollama官方文档OllamaWindows欢迎使用OllamaforWindows。不再需要WSL!Ollama现在作为本机Windows应用程序运行,包括NVIDIA和AMDRadeonGPU支持。安装OllamaforWindows后,Ollama将在后台运行,并且这ollama命令行在cmd,powershell或您的最爱终端应用
- WindowsServer2025官方正式版25年2月版(微软原版ISO镜像)
S3软件
工具补丁microsoft
MicrosoftWindowsServer202524H2官方简体中文正式版2025年2月更新版(微软原版ISO镜像)简体中文零售版2025年2月版(含标准版/标准桌面体验版/数据中心版/数据中心桌面体验版)仅64位版:WindowsServer2025Standard、WindowsServer2025Standard(DesktopExperience)、WindowsServer2025D
- Windows Server 2025 OVF (2025 年 2 月更新) - VMware 虚拟机模板
windows-server
WindowsServer2025OVF(2025年2月更新)-VMware虚拟机模板WindowsServer2025Datacenterx64OVF,updatedFeb2025(sysin)请访问原文链接:https://sysin.org/blog/windows-server-2025-ovf/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org现在都是自动sysprep的
- 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