- 【爆款长文】RAG检索增强大模型的“记忆力”革命:Contextual Chunk Headers(CCH)实战全解析
许泽宇的技术分享
人工智能机器学习
大家好,我是你们的AI技术侃侃而谈小能手。今天我们来聊聊RAG(Retrieval-AugmentedGeneration)这个AI圈的“记忆力补脑丸”,以及它最近新晋的“脑白金”——ContextualChunkHeaders(CCH)。别眨眼,这可是让大模型“查资料”能力质变的秘密武器!一、RAG:让大模型不再“张口就胡说”先来个小科普。RAG是什么?简单说,就是给大模型加个“外挂”,让它在回
- WPF 几种绑定 (笔记)
菜长江
wpf
资源与绑定DataContext(绑定到我们定义的属性)xmlns:local="clr-namespace:模板"以上仅仅是代表放了一个"ViewModel字典"完整引用是"模板\MyViewModel\SharedViewModel"然后并没有去使用它然后要想使用它就得通过指定"Source="{StaticResourceSharedViewModel}"这样就表示Grid绑定上下文对象是我
- Android筑基——Service的启动过程之同进程启动(基于api21)
willwaywang6
#Android架构学习androidService启动
目录1.前言2.正文2.1ContextWrapper.startService()方法2.2ContextImpl.startService()方法2.3ContextImpl.startServiceCommon()方法2.3.1ActivityManagerNative.getDefault()方法2.4ActivityManagerProxy.startService()方法2.5Acti
- 工厂模式中使用Map管理策略实例时,为何仍需要Context?
看这篇文章前,可以先了解一下:策略模式与工厂模式的黄金组合:从设计到实战一、核心矛盾:创建职责与调用职责的分离问题当使用Map管理策略实例时(如MapstrategyMap),工厂确实能高效获取策略实例,但这仅解决了**“策略从哪里来"的问题。而策略的"如何使用”**仍面临以下挑战:上下文逻辑碎片化:策略调用前后的公共逻辑(如参数校验、结果处理)会散落在客户端代码中调用流程不一致:不同客户端可能以
- Minikube Unable to resolve the current Docker CLI context “default“
LF-DevJourney
docker容器运维k8sminikube
问题描述minikube安装后,执行任何minikube命令,均报下面的信息。解决方法确认docker是否运行查看docker当前的context$dockercontextlsNAMETYPEDESCRIPTIONDOCKERENDPOINTKUBERNETESENDPOINTORCHESTRATORdefault*mobyCurrentDOCKER_HOSTbasedconfiguration
- ServletConfig && ServletContext
Code溪
java前端服务器
一.ServletConfig1.Servlet1代码@WebServlet(urlPatterns="servlet1",initParams={@WebInitParam(name="keya",value="valueA")})publicclassServlet1extendsHttpServlet{@Overrideprotectedvoidservice(HttpServletRequ
- 配置不当的MCP服务器使AI代理系统面临入侵风险
FreeBuf-
服务器人工智能运维
风险概述:默认配置暴露命令执行漏洞数百台用于连接大语言模型(LLM)与第三方服务、数据源及工具的模型上下文协议(ModelContextProtocol,MCP)服务器存在默认配置缺陷,可能导致用户面临未授权的操作系统命令执行等风险。随着代理型AI(AgenticAI)的兴起,MCP服务器正迅速成为增强AI模型推理上下文的关键工具。但安全研究人员警告,大量公开共享的MCP服务器存在不安全配置,攻击
- 【uniapp】给图片添加水印
改bug的101天
uniappuni-appvue.js前端
1、创建画布varcontext=uni.createCanvasContext('Canvas')2、获取本地图片uni.chooseImage({count:1,success:(res)=>{varfile=res.tempFilePaths[0];consttempFiles=res.tempFiles[0]})})3、获取图片信息----添加水印uni.getImageInfo({src
- 设计模式-策略模式
设计模式-策略模式前言策略模式前言由于作者做的C++开发比较多所以本文实例都以C++语言方式给出。策略模式//具体策略AclassConcreteStrategyA:publicStrategy{public:voidexecute()constoverride{std::coutstrategy;public:explicitContext(std::unique_ptrs):strategy(
- 关于*gin.Context的理解
无糖钨龙茶
go学习gingo
关于*gin.Context的理解作为初学者,在学习go语言用gin开发web时,我对*gin.Context感到困惑。本文章以自我总结为主,大部分为来自询问ai后的总结,如有问题欢迎指出。*gin.Context可以理解为一个gin框架的上下文对象指针,它封装了HTTP请求和响应的所有信息,可以说类似SpringBoot中的HttpServletRequest和HttpServletRespon
- 第3篇:Gin的请求处理——获取客户端数据(Gin文件上传,接收JSON数据)
GO兔
gingolang后端
引言:Context是Gin的"瑞士军刀"在Gin框架中,Context就像一把多功能的瑞士军刀,封装了所有与请求相关的操作。新手开发者常犯的错误是只把它当作参数传递的工具,却忽略了它强大的数据处理能力。想象一个场景:用户提交了一份包含个人信息的表单,上传了头像,并通过URL参数指定了显示格式。你的任务是验证这些数据、处理Gin文件上传、返回格式化响应——这一切都离不开Context的高效运用。本
- .Net Core 获取与bin目录相同文件路径的文件
csdn_aspnet
.NetCore.netcore
在.NETCore中,您可以使用以下方法来获取与`bin`目录相同的文件路径。通常,`bin`目录是应用程序编译后生成的输出目录,您可以使用`AppContext.BaseDirectory`或`Directory.GetCurrentDirectory()`来获取该目录的路径。以下是一些常用的方法:1.获取`bin`目录使用`AppContext.BaseDirectory`获取应用程序当前的基
- 足球数据API接口 - 【数据接口1】API调用示例代码
https://www.xxe.io/packagecom.huaying.demo.football;importjavax.xml.bind.JAXBContext;importjavax.xml.bind.Unmarshaller;importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bind.annotation.XmlRoo
- FastMCP:构建 MCP 服务器和客户端的高效 Python 框架
从零开始学习人工智能
服务器网络前端
在人工智能领域,模型上下文协议(ModelContextProtocol,简称MCP)作为一种标准化的协议,为大型语言模型(LLM)提供了丰富的上下文和工具支持。而FastMCP作为构建MCP服务器和客户端的Python框架,以其简洁的API设计、高效的开发体验以及强大的扩展能力,正逐渐成为开发者们的首选工具。一、FastMCP简介FastMCP是一个用于构建MCP服务器和客户端的Python框架
- Spring应用上下文事件 ApplicationContextEvent 的各个子类(ContextRefreshedEvent、ContextClosedEvent)等监听以及触发时机
拄杖忙学轻声码
SpringBootspring
说明:应用上下文事件(ApplicationContextEvent)机制,用于监听应用上下文各个阶段触发不同事件,从而处理一些特殊逻辑或架构设计。ApplicationContextEvent是各个上下文事件类的基础类,可分为四个具体事件类:【1】ContextRefreshedEvent:应用上下文初始化完成或上下文刷新完成立即触发【2】ContextStartedEvent:应用上下文启动触
- 设计模式之状态模式
尤物程序猿
设计模式状态模式java
StatePattern是一种行为设计模式,它允许对象在其内部状态改变时改变其行为,使对象看起来像是修改了它的类。核心概念状态模式的核心思想是将对象的状态封装成独立的类,并将行为委托给当前状态对象。主要角色Context(上下文):维护一个具体状态的实例,定义客户感兴趣的接口State(状态接口):定义一个接口以封装与Context的特定状态相关的行为ConcreteState(具体状态):实现状
- 阿里云MCP:开启AI应用新时代
云资源服务商
云计算阿里云ai
一、MCP初相识在当今数字化浪潮中,随着云计算技术的迅猛发展,各类云服务如雨后春笋般涌现,为企业和开发者提供了强大的技术支持。其中,阿里云作为云计算领域的佼佼者,推出的MCP(ModelContextProtocol)——模型上下文协议,正逐渐成为推动人工智能应用落地的关键力量。MCP本质上是一种开放协议,它就像是人工智能应用程序的“USB-C端口”,为大模型与外部数据源和工具之间的交互提供了标准
- WPF TreeView 数据绑定完全指南:MVVM 模式实现
若汝棋茗
wpf
WPFTreeView数据绑定完全指南:MVVM模式实现一、TreeView绑定的核心概念1.1MVVM模式下的TreeView绑定原理1.2绑定关系示意图二、完整实现步骤2.1创建节点模型类2.2创建ViewModel2.3XAML绑定配置2.4设置Window的DataContext三、关键特性详解3.1HierarchicalDataTemplate的核心作用3.2双向绑定支持3.3命令绑定
- 【JavaWeb】Servlet系列——session会话机制
胖虎不秃头
JavaWebservletjava前端
文章目录29关于B/S结构系统的会话机制(session机制)29.1关于会话29.2为什么需要session对象来保存会话状态呢?29.3为什么不使用request对象保存会话状态?为什么不使用ServletContext对象保存会话状态?29.4session对象的实现原理。29.5Cookie禁用29.6域对象:29.7解决oa项目中的登录问题,让登录起作用。29.8会话结束29.9销毁se
- 以numpy或Torch的格式存储的公开数据集
以科技求富强
多模态聚类学习数据库python大数据database
现有的以numpy或Torch的格式存储的公开数据集1.**MNIST**2.**CIFAR-10/CIFAR-100**3.**ImageNet**4.**COCO(CommonObjectsinContext)**5.**PascalVOC**6.**Fashion-MNIST**7.**BostonHousing**8.**Iris**9.**KITTI**10.**CelebA**11.*
- Java SPI机制使用及实际案例分析
不会先飞的笨鸟
springboot学习javajvm
JavaSPI机制应用场景及案例分析前言一、什么是SPI机制?二、实现方式及使用场景1.接口全限定文件名方式使用场景一:结合场景一分析:2.spring.factories方式使用场景二结合场景二分析:总结前言在之前的JVM分析系列之类加载提到过JavaSPI机制,主要是类加载器反双亲委派的实现(第三方包不在指定jdk路径,一般类加载器无法加载,需要特殊的ContextClassLoader加载以
- redis 序列化乱码导致 存储和 拿出数据比较失败
银冬纯色
redis缓存nosql
redis序列化乱码导致存储和拿出数据比较失败在存入redis的模块添加以下配置类保证存入与取出的数据一致在存入redis的模块添加以下配置类保证存入与取出的数据一致importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importor
- 【论文分享】使用可穿戴相机和计算机视觉评估个人在不断变化的环境中的屏幕暴露情况
城市数据研习社
数码相机计算机视觉人工智能
本次带来一篇sci的全文翻译,该论文主讲如何使用可穿戴相机和计算机视觉评估个人在不断变化的环境中的屏幕暴露情况!【论文题目】Assessingpersonalscreenexposurewithever-changingcontextsusingwearablecamerasandcomputervision【篇名翻译】使用可穿戴相机和计算机视觉评估个人在不断变化的环境中的屏幕暴露情况【作者及邮箱
- 小程序第四章作业
胡小图图图图图
小程序
操作题1.使用canvas组件实现“五个圆圈”的绘制。代码:.js代码:Page({onReady:function(e){constctx=wx.createCanvasContext('quanquan')//绘制蓝色圆环ctx.beginPath()ctx.arc(80,52,50,0,2*Math.PI)ctx.setStrokeStyle('#0072BB')ctx.setLineWid
- 学习日记-spring-day34-6.20
永日45670
学习日记学习数据库
知识点:1.快速入门知识点核心内容重点IOC容器创建通过ClassPathXmlApplicationContext加载XML配置文件创建容器,关联beans.xml容器与配置文件的绑定关系(多配置文件支持)Bean获取方式1.getBean(Stringid)返回Object需强转;2.getBean(Stringid,Classtype)直接返回目标类型方法重载区别(编译类型与运行类型验证)运
- 模型上下文协议(MCP):人工智能世界的“万能插座”革命
Liudef06小白
人工智能MCPAIGC
模型上下文协议(MCP):人工智能世界的“万能插座”革命在人工智能工具生态如战国时代般割裂的今天,一项名为模型上下文协议(ModelContextProtocol,MCP)的技术正悄然重塑AI与外部世界的连接方式。它如同AI宇宙的“USB-C接口”,将割裂的数据孤岛、工具孤岛和应用孤岛连接成统一协同的智能大陆。一、MCP的诞生:AI集成困境的破局之道2015年,谷歌机器学习专家在内部报告中指出:“
- 【Kubernetes】CKA Simulator Kubernetes 1.31
陈陈CHENCHEN
Kuberneteskubernetes容器
最近为了准备CKA认证,整理了模拟题,期望能帮助到需要的小伙伴们!Question1|ContextsYouhaveaccesstomultipleclustersfromyourmainterminalthroughkubectlcontexts.Writeallthosecontextnamesinto/opt/course/1/contexts.Nextwriteacommandtodisp
- 深度干货:全面解析MCP三大核心通信模式——STDIO、SSE与Streamable HTTP!
大模型老炮
人工智能语言模型产品经理AI大模型大模型大模型学习大模型教程
MCP三大核心通信模式MCP(ModelContextProtocol)模型上下文协议提供三种核心的通信模式:STDIO、SSE和StreamableHTTP,在不同的场景中为开发者提供了灵活且高效的数据传输方式。今天,我们将一起深入分析这三种模式,探讨它们的应用场景与差异。STDIO模式STDIO(StandardInputandOutput)是最基本的输入输出方式,广泛应用于命令行工具、脚本编
- MCP三种通信机制对比:Stdio、SSE、StreamableHTTP
AI Agent首席体验官
javaYOLO前端算法
MCP三种通信机制对比分析概述ModelContextProtocol(MCP)定义了三种标准传输机制,用于客户端和服务器之间的通信:Stdio-标准输入输出传输SSE(Server-SentEvents)-服务器推送事件传输StreamableHTTP-可流式HTTP传输(2025年3月新增)详细对比1.Stdio(标准输入输出)适用场景:本地集成和命令行工具客户端和服务器运行在同一机器上简单有
- Cline核心说明文档
什么是Cline?(WhatisCline?)Cline是一个与MicrosoftVisualStudioCode集成的AI开发助手。它在您的IDE和大语言模型(LLMs)之间提供接口,促进代码开发,提高生产力,并降低新手程序员的入门门槛。根据权限设置,Cline可以读/写文件,执行命令,使用您的网络浏览器,并通过模型上下文协议(ModelContextProtocol)服务器扩展其功能。Clin
- 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