- 区块链和大模型的结合
hanyongyi 1531
区块链
大模型@区块链(4个应用)_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1mu4y1W7bY/?spm_id_from=333.337.search-card.all.click&vd_source=8d683f22b43d55b6630d3bec03cfdb6d通过使用自然语言询问有关Aptos区块链生态系统的任何问题,使用户能够无缝地进入web3
- COMP 315: Cloud Computing
后端
Assignment1:JavascriptCOMP315:CloudComputingforE-CommerceFebruary20251IntroductionAcommontaskwhenbackendprogrammingisdatacleaning,whichistheprocessoftakinganinitialdatasetthatmaycontainerroneousorinco
- 使用Node.js对接StockTV全球金融市场数据API
数据分析爬虫
使用Node.js对接StockTV全球金融市场数据API摘要:本文详细介绍了如何通过Node.js客户端库快速接入StockTV全球金融市场数据API,涵盖股票、外汇、期货和加密货币的实时行情获取与历史数据查询。通过本文,开发者可掌握RESTAPI调用、WebSocket实时订阅等核心功能。一、项目概述StockTVAPINode.js客户端是一个轻量级SDK,提供对全球四大金融市场的标准化访问
- Python模块详解:定义、操作方法与高级特性
编程咕咕gu-
python数据库开发语言学习路线数据分析
如果你正在学习Python,那么你需要的话可以点击这里Python重磅福利:入门&进阶全套学习资料、电子书、软件包、项目源码等等免费分享!在Python中,模块是一个包含Python定义和语句的文件。模块可以定义函数、类和变量。模块也可以包含可执行的代码。你可以通过import语句将一个模块中的函数、类等导入到当前的程序中,以便能够重复使用代码,提高代码的可维护性。模块定义一个Python文件(.
- Nginx负载均衡策略详解:从轮询到智能分发,打造高可用服务架构
weixin_42587823
linux云计算nginx负载均衡架构
Nginx负载均衡策略详解:从轮询到智能分发,打造高可用服务架构一、负载均衡的核心价值当单台服务器无法承载高并发流量时,负载均衡通过将请求分发到多台服务器,实现:横向扩展:突破单机性能瓶颈故障隔离:自动剔除异常节点动态调度:根据策略优化资源利用率二、Nginx原生负载均衡策略1.轮询(RoundRobin)配置示例:upstreambackend{server192.168.1.10:8080;s
- 3.13.0 python 配置tensorflow(CPU版本)
m0_Gattuso
tensorflow人工智能python
condacreate--nametestpython=3.12activatetestpipinstalltensorflow上面3步骤在condaprompt里完成退出时记得condadeactivate来源:Windows下tensorflow/pytorch环境配置_pycharm怎么配置tensorflow环境-CSDN博客然后问题出现了:condaenvironment里什么都没有,理
- 【数据分享】我国分省份的七普乡镇(街道)人口数据
小鲨鱼-立方数据学社
数据分享立方数据学社人口普查七普数据乡镇人口人口数据
人口数据是我们在各项研究中都经常使用的数据!人口数据的主要来源是人口普查,全国性的人口普查每十年进行一次。最近一次的人口普查是第七次全国人口普查,简称七普。七普统计的是2020年的人口数据。之前我们分享过省市县三个层级的七普的人口数据(可查看之前的文章获悉详情),很多小伙伴在咨询有没有到乡镇(城市地区对应街道)层级的七普人口数据!本次我们为大家分享的就是来自七普的乡镇(街道)人口数据,包括地区;总
- CE 451/551 Computer-Aided Research
后端
CE451/551–Computer-AidedResearchintheChemicalandMaterialsSciences:Homework#11(Graded#3)(Due:Tuesday,11MarchTuesday2025,5:00pm)Thegoalofthisassignmentistopracticetheuseofcookbooks,templates,andcodesnip
- COMP 315: Cloud Computing
后端
Assignment1:JavascriptCOMP315:CloudComputingforE-CommerceFebruary20251IntroductionAcommontaskwhenbackendprogrammingisdatacleaning,whichistheprocessoftakinganinitialdatasetthatmaycontainerroneousorinco
- 【数据分享】1999—2023年地级市地方一般公共预算收支状况数据(科学技术支出/教育支出等)
小鲨鱼-立方数据学社
数据分享中国城市统计年鉴地方一般公共预算收支状况立方数据学社
在之前的文章中,我们分享过基于2000-2024年《中国城市统计年鉴》整理的1999-2023年地级市的人口相关数据、染物排放和环境治理相关数据、房地产投资情况和商品房销售面积相关指标数据和社会消费品零售总额和年末金融机构存贷款余额(均可查看之前的文章获悉详情)!本次我们分享的是从2000—2024年《中国城市统计年鉴》整理的地级市一般公共预算收支状况!数据年份为1999-2023年,对于数据年份
- DDA3020 Machine Learning
后端
DDA3020Homework1Duedate:March09,2025Instructions•Thedeadlineis23:59,March09,2025.•Theweightofthisassignmentinthefinalgradeis20%.•Electronicsubmission:TurninsolutionselectronicallyviaBlackboard.Besuret
- MATH6189 Efficient energy
后端
MATH6189Assignment1Worth20%Submissiondate:14March,2025,23:59.Rules•YoumustworkonyourownonthisassignmentwithnohelpfromothersorGenAI.•YoumustsubmitasingleJupyternotebookfileasasubmission.•Clearlyindicat
- MATH2110 - STATISTICS 3
前端后端
TheUniversityofNottinghamSCHOOLOFMATHEMATICALSCIENCESSPRINGSEMESTERSEMESTER2025MATH2110-STATISTICS3Coursework1Deadline:3pm,Friday14/3/2025Yourneat,clearly-legiblesolutionsshouldbesubmittedelectronical
- Advanced Embedded Systems Design
后端
AdvancedEmbeddedSystemsDesignCE323/860WeiyongSiMiniprojectCE323/CE860AdvancedEmbeddedSystemsDesignAssignmentTheassignmentisworth30%ofthetotalmarkforthismodule.Thisassignmentistodesignahomealarmsystemb
- webpack-bundle-analyzer分析打包文件
闰土月下追猹
前端webpack-bundlebundle-analyzerwebpackvue.js前端
安装:npminstall--save-devwebpack-bundle-analyzer在vue.config.js中配置:constBundleAnalyzerPlugin=require('webpack-bundle-analyzer').BundleAnalyzerPlugin;module.exports={chainWebpack:config=>{//打包分析if(process
- excel模板生成sql server建表语句
苏晓顺
java
因为需要进行大量的表创建所以才有此方法,需要的请copypackagecom.spf.sp.util;importcom.spf.eap.util.common.Toolkit;importorg.apache.poi.xssf.usermodel.XSSFRow;importorg.apache.poi.xssf.usermodel.XSSFSheet;importorg.apache.poi.
- IntelliJ IDEA 快捷键系列:重命名快捷键详解
进一步有进一步的欢喜
intellij-ideajavaIDEA
目录引言一、默认重命名快捷键1.Windows系统2.Mac系统二、操作步骤与技巧1.精准选择重命名范围2.智能过滤无关内容三、总结引言在代码重构中,重命名变量、类、方法是最常用的操作之一。正确使用快捷键可以极大提升开发效率。本文针对Mac和Windows用户,详细讲解IntelliJIDEA中的重命名功能,并附上操作技巧和常见问题解决。一、默认重命名快捷键1.Windows系
- Python精进系列: K-Means 聚类算法调用库函数和手动实现对比分析
进一步有进一步的欢喜
Python精进系列算法pythonkmeans
一、引言在机器学习领域,聚类分析是一种重要的无监督学习方法,用于将数据集中的样本划分为不同的组或簇,使得同一簇内的样本具有较高的相似性,而不同簇之间的样本具有较大的差异性。K-Means聚类算法是最常用的聚类算法之一,它以其简单性和高效性在数据挖掘、图像分割、模式识别等领域得到了广泛应用。本文将详细介绍K-Means聚类算法,并分别给出调用现成函数和不调用任何现成函数实现K-Means聚类的代码示
- Chitu:清华核弹级开源!推理引擎3倍提速+50%省卡,国产芯片告别英伟达绑架
蚝油菜花
每日AI项目与应用实例开源开源人工智能
❤️如果你也关注AI的发展现状,且对AI应用开发感兴趣,我会每日分享大模型与AI领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!AI在线答疑->智能检索历史文章和开源项目->丰富的AI工具库->每日更新->尽在微信公众号->搜一搜:蚝油菜花“还在为天价H100排队?清华让国产芯片跑出3倍英伟达性能!”大家好,我是蚝油菜花。当科技巨头用天价H100显卡筑起算力高墙时,中国团队用
- 使用vite脚手架搭建react项目
JiaLin_Denny
react.js前端vitereactvitev脚手架
首选使用npm安装reactvitenpminstall-gcreatevite替换npminstall-gcreate-react-app新的脚手架据说很快,是原来的webpack的700倍。。。安装完vite后,使用npmcreatevitemy-react-app(my-react-app这是我自己的项目名,你自己可以随便取名字)先会问你,确定继续吗?继续你就y一下。然后回自动提示一些选择项
- 记一次java线程阻塞状态分析
chuixue24
java基础java多线程多线程java
"http-nio-9002-exec-23"#96daemonprio=5os_prio=0tid=0x00005629c8ee7800nid=0x6bwaitingformonitorentry[0x00007efc02a47000]java.lang.Thread.State:BLOCKED(onobjectmonitor)atxxx.xxxWriteServiceImpl.handleWr
- angular打地鼠
勘察加熊人
typescriptangular.js前端javascript
说明:我计划用angular做一款打地鼠的小游戏,打地鼠游戏实现文档游戏逻辑游戏场景采用3x3网格布局的9个地鼠洞核心机制地鼠随机从洞口弹出点击有效目标获得积分30秒倒计时游戏模式难度系统简单模式:生成间隔1.5s/停留1s普通模式:生成间隔1s/停留0.8s困难模式:生成间隔0.8s/停留0.6s⚙️主要功能游戏控制开始/结束游戏按钮游戏进行中禁止重复启动状态显示实时分数更新动态倒计时显示交互系
- angular中下载接口返回文件
lhhbk
angular.js前端javascriptangular
目录一、URL.createObjectURL()一、URL.createObjectURL()createObjectURL属于js的原生方法,位于window.URL上,用于将Blob或者File文件转换为可以临时的URL地址进行显示**注意**:Angular的HttpClient默认将响应解析为JSON对象16。若实际返回的是二进制数据(如Excel文件、图片等),解析过程会因格式不匹配
- nodejs 010:Webpack 可视化分析插件 webpack-bundle-analyzer的使用
FakeOccupational
服务化&架构webpack前端node.js
安装yarnadd--devwebpack-bundle-analyzer原始webpack.config.jswebpack.config.js代码定义了Webpack的配置,主要任务是将JavaScript和CSS文件打包,并将CSS提取到单独的文件中,配置了对Electron应用的支持,同时还将React相关的模块映射到Preact,以减小打包体积。//引入Node.js的path模块,用于
- 【SpringMVC】常用注解:@MatrixVariable
字节源流
springmvc
1.作用接收矩阵变量传送的值或许有人听都没听过矩阵变量是什么,下面来介绍一下矩阵变量是一种在URL路径中传递多个键值对参数的方式,它是在Servlet规范之外的一种扩展机制,可用于更灵活地传递参数。例如:/cars;color=red;year=2020,其中color=red和year=2020就是矩阵变量。2.属性name或value:指定矩阵变量的名称,用于从URL中提取对应的值。如果不指定
- 热门AI创作助手推荐【第一期】
量子星澜
文心一言AI写作chatgpt
星游AI创作助手人工智能在现代科技中的应用非常广泛,涵盖了诸多领域,包括但不限于以下几个方面:1.语音识别和自然语言处理:人工智能技术被广泛应用于语音识别和自然语言处理领域,例如智能助手、翻译系统、语音交互系统等。2.机器学习和数据分析:人工智能的机器学习算法被用于数据分析、预测建模、用户个性化推荐等领域,帮助企业做出更准确的商业决策。3.计算机视觉:人工智能在计算机视觉领域的应用包括图像识别、视
- 工厂方法模式的C++实现示例
香菇滑稽之谈
C++笔记工厂方法模式c++设计模式
核心思想工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但让子类决定实例化哪一个类。工厂方法模式将对象的实例化过程推迟到子类,从而使得子类可以根据需要决定创建哪种对象。**Product:**定义产品的接口。**ConcreteProduct:**实现Product接口,是具体的产品。**Factory:**定义工厂方法,返回一个Product对象。**ConcreteFacto
- 抽象工厂模式(附C++代码示例)
Warren++
设计模式抽象工厂模式c++开发语言设计模式
抽象工厂模式抽象工厂模式的含义核心思想及解释为什么要使用抽象工厂模式使用抽象工厂模式需要注意的点工程的应用场景示例代码及解释输出代码运行结果抽象工厂模式的含义抽象工厂模式(AbstractFactoryPattern)是一种创建型设计模式,它提供了一种方式,能够封装一组具有共同主题但各自独立的工厂,而无需指定具体类。抽象工厂模式允许客户端通过接口操作实例,而不需要依赖具体类。核心思想及解释抽象工厂
- (一)响应式编程理论
糖心何包蛋爱编程
响应式编程java响应式框架经验分享
小编大学毕业后面试的第一家公司问我会响应式吗,我当时觉得好陌生呀,完全没有听说过的名词,还在那里胡编乱造说一堆,但是也不是完全没有沾边,提到了Java8的新特性,现在想想也是印象很深,但好在成功拿到offer,入职后我就很努力的恶补很多相关知识,现在纯纯就是干货拿来分享,让你少走弯路。在了解响应式编程之后,发现响应式编程在行业内还没有普及,因为这对程序员有比较高的要求,不比传统编程好调试,但是当我
- (二)Reactor核心-前置知识1
糖心何包蛋爱编程
响应式编程java响应式编程Lambda表达式干货分享
本章是Reactor核心-前置知识(第一期),主要讲解Lambda表达式。回忆上一章我们学习了什么是响应式编程、基础概念、必读知识。一篇文章我不想写得太长了,文章不像是视频或者图片比较生动,文章太长了容易犯困。所以我直接上干货,能插图的地方我尽量插图,希望您能坚持看完。觉得有用的话点赞加藏关注,这就是我文思泉涌的动力。一、lambda表达式Lambda表达式是Java8引入的一个重要特性,它是一种
- 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