- Xcodeproj(ruby库)
liboxiang
官网链接:http://www.rubydoc.info/gems/xcodeproj用于创建和修改Xcode项目
- Linux系统性能调优技巧
jie201107
linux
Linux系统性能调优是一个复杂的过程,涉及到多个层面的优化,包括硬件、操作系统、应用程序等。以下是一些常见的Linux系统性能调优技巧:1.**监控系统性能**:-使用工具如`top`,`htop`,`vmstat`,`iostat`,`mpstat`,`netstat`等来监控系统资源使用情况。2.**优化磁盘I/O**:-使用`noatime`挂载选项减少磁盘写入。-调整`swappines
- Vue项目 - 超时登出后如何跳login登录后返回之前页面
1994陈
在项目中,我们会经常遇到超时登出的功能。跟后台约定好超时登出后返回的code。目前这个项目的登出code是401。由于我们的axios是全局配置的,所以只需要在axios发送get或post请求的地方做一个是否登出的判断:(以下已post为例)axios.post(url,params).then(response=>{if(response.data.code=='0'||response.da
- UniApp首页与导航页设计开发全攻略
new_一个对象
小程序商城crmeb商城phpuni-app微信小程序crmebphp
一、简介UniApp是一款基于Vue.js框架的跨平台开发工具,可以帮助开发者使用一套代码快速构建出多个平台的应用程序,如iOS、Android、Web等。在UniApp中,首页和导航页是应用程序中必备的两个页面,本文将介绍如何在UniApp中设计和开发这两个页面,并给出相应的代码示例。二、首页设计与开发方法1.页面结构UniApp的首页一般包含标题栏、轮播图、分类导航和推荐商品等模块。其中,轮播
- iMazing2024macOS和Win平台非常出色的第三方iOS设备管理软件
FLflStudio
CleanMyMacX2024TuxeraNTFSMac2024macosios
iMazing3,是macOS和Windows平台非常出色的第三方iOS设备管理软件。在最新版本中,新增了一些功能,比如自动备份、Wi-Fi无线备份、铃声导入导出、App管理等。iMazing3支持对iPhone、iPad、iPodTouch等设备进行数据备份与恢复,并且支持对已备份的数据进行浏览和管理,比如可以单独导出照片或通讯录。iMazing3的Wi-Fi无线备份功能非常实用。只要第一次使用
- linux 进程映射空间 libc,linux进程地址空间布局浅析
钟程杰
linux进程映射空间libc
此文章是围绕该文章的思路进行总结的,原文记录的笔记详尽,在此基础上,我总结了本身的一下(想对浅显)。若是对具体细节想要了解的,能够访问这篇文章,在文章最后付了一段代码,跟该成程序的内存映射图,若是有哪里写的不正确,欢迎补充和指正。linux程序是什么抽象的来讲当咱们打开电脑点击应用程序图标,一个程序就运行起来了,可是在操做系统层面来看,实际上是产生了一个进程,这是一个程序的实体。ios接下来以li
- ios-数据库-事务
-FIGHTING-
iOS封装数据库事务回滚存储
概念事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begintransaction和endtransaction语句(或函数调用)来界定。事务由事务开始(begintransaction)和事务结束(endtransaction)之间执行的全体操
- 【转】Vue.js使用Blob的方式实现excel表格的下载(流文件下载)
Bior
导出Excelimportapifrom"../../api/api.js";importaxiosfrom"axios";exportdefault{data(){return{pageSize:30,}},created(){},computed:{},mounted(){},methods:{downloadUrl(){//console.log(api.serverUrl);letpara
- Vue实现文件下载进度显示
大海星辰798
vuevue.jsjavascript前端
//downLoadProgress为进度百分比asyncdownloadFile(){constthat=thisawait$axios.get(url,{responseType:'blob',onDownloadProgress:function(progressEvent){if(progressEvent.lengthComputable){that.downLoadProgress=(
- 如何在没有密码的情况下解锁 iPhone
分享者花花
数据恢复文件恢复手机恢复iphoneipadios人工智能文档资料
Apple以其可靠的数据保护措施而闻名。如果您使用密码、触控ID或面容ID来锁定您的iPhone,则其他人在没有密码的情况下无法进入您锁定的iPhone。这对于保护您的iOS设备免遭黑客攻击可能非常有用。但这也意味着一旦您忘记了iPhone密码,您也将被锁定在您的设备之外。“忘记iPhone密码”的发生频率比您预期的要高。这可能就是您现在搜索“如何在没有密码的情况下解锁iPhone”的原因。如果您
- 关于求数组中两部分是否相等问题可以考虑前缀和的思路
shadowcase
算法c++
当之后你不记得标题由何而来时,请回顾codeforcesround918(div4)的E题/*这道题的核心就是题干中等式的转化,然后利用前缀和。还要注意flag[0]=1不能漏,不然就都是yes了*/#includeusingnamespacestd;#definelllonglongconstintmaxn=2e5;constintmod=1e6+7;intmain(){ios::sync_wi
- 0.1折手游平台推荐 iOS手游平台0.折充值排行榜2024
诸葛村夫123
免费在线游戏平台为我们的日常休闲娱乐提供了丰富多样的游戏体验。有些游戏平台相当优质,同时还提供实时动态、活动福利等。现在让我们一起探寻哪些免费在线游戏网站值得你投入时间和精力,沉浸在游戏的世界中,畅玩各种好玩的游戏。下面就给大家盘点五个目前最好用的游戏平台!2024最火的免费游戏盒子排行榜大全──────────Top1──────────游戏盒子名字:游戏豹官网-特点-:手机游戏门户盒子日活跃量
- 探秘Appium:自动化移动应用测试的新篇章
房耿园Hartley
探秘Appium:自动化移动应用测试的新篇章项目简介Appium是一个开源的自动化测试框架,它允许开发者对原生(Native)、混合(Hybrid)以及移动Web应用程序进行自动化测试。无论你的应用程序是基于iOS还是Android平台,Appium都能提供一套统一的API,让你以熟悉的编程语言如Java、Python、Ruby等编写测试脚本。技术分析WebDriver接口Appium的核心理念是
- Xcode 14.3版本运行项目报错
致青春_bf42
报错提示升级14.3之前项目运行好好的,升级Xcode14.3后运行就报错了。原因是:xcode14支持最低部署是iOS11,系统已经内置有ARC相关的库,所以14.3的版本把arc文件夹删除;而有些第三方库可能会依赖arc里面的库,所以就报错找不到。研究后发现cocopods引入的三方库默认都是iOS8.0,在新版废弃了某些文件导致无法编译通过。把报错的cocopods引入的库的最低版本改为iO
- 【L1.第五章】 Appium Capablility 配置参数详细解析
一禅(OneZen)
「Appium」App自动化测试appiumpythonweb自动化seleniumpytest
Python+Appium+Pytest自动化测试教程AppiumCapablility配置参数详细解析1、W3C标准Capability解析2、常用的公共Capability解析3、Android部分特有参数配置解析4、IOS独有参数配置解析5、DesireCapability初始化参数6、DesireCapability推荐添加参数7、DesireCapablility完美优化参数Appium
- 什么是好的复盘?
_浅墨_
周末两天,花了一些时间练习了毛笔字,学习了UdemyiOS开发教程、PS教程,看了一集东南大学诗词韵律公开课,简单做了点运动,有点慵懒,但是还好没有一直很颓废。如果每天都有充分的自由时间,我希望过琴棋书画诗酒花那样的生活。我发现我是真心喜欢书画,想学国画,想学弹钢琴,喜欢饮酒,喜欢看花。只是那样的生活估计只有真正财务自由了才会有。昨晚尝试着把以前写的阅读量较大的读书笔记用语音备忘录录制了一遍,然后
- 关于ios上架的那些坑
人鱼小姐ww
uniappios
无法提交审核1、您的App包含NSUserTrackingUsageDescription解决方法:Hbuilder去掉使用广告标识,重新打包即可2、邮件通知:缺少推送通知授权,实际上app中并未用到推送相关功能解决方法:确保app打包时的配置确实没有勾Push,邮件直接忽略审核被拒绝1、应用必须以销售商和反应该名称的公司名称发布拒绝信息如下:Guideline5.1.1-Legal-Privac
- 基于xr-frame实现微信小程序的人脸识别3D模型叠加AR功能(含源码)
十幺卜入
AR微信小程序微信小程序AR微信小程序人脸识别3DAR微信小程序源码XR
前言xr-frame是一套小程序官方提供的XR/3D应用解决方案,基于混合方案实现,性能逼近原生、效果好、易用、强扩展、渐进式、遵循小程序开发标准。xr-frame在基础库v2.32.0开始基本稳定,发布为正式版,但仍有一些功能还在开发,目前(2024.08.24)有一些限制如下:1最低要求客户端iOS8.0.29、安卓8.0.30及以上,推荐稳定版在iOS8.0.36、安卓8.0.35及以上。2
- iOS git提交时忽略频繁更新的UserInterfaceState.xcuserstate文件
小镇之王
https://www.jianshu.com/p/6f464f555f2dgitrm--cached[YourProjectName].xcworkspace/xcuserdata/[YourUsername].xcuserdatad/UserInterfaceState.xcuserstategitcommit-m"Removedfilethatshouldn'tbetracked"gitpu
- iOS开发中的git忽略文件
半桶水码农
iOS开发git
在合作开发过程,在准备开发前,无论是使用svn还是git,设置忽略文件是非常有必要的,这样可以给后续的省去很多麻烦,在合作开发中,最容易造成代码冲突,设置忽略文件能够尽可能避免的冲突。本文主要列出iOS开发过程中,使用的git的忽略文件.gitignore,具体如何替换git忽略文件.gitignore请自行百度(如果连百度都不会,劝你还是提前转行吧)#Xcode#build/*.pbxuser*
- gitignore文件—iOS
m_miao_m
gitignore说明:在使用git的过程中,一般我们总会有些文件无需纳入git的管理,也不希望它们总出现在未跟踪文件列表,这些文件通常是日志文件、临时文件、编译产生的中间文件、工具自动生成的文件等等。此时我们可以创建一个名为.gitignore的文件,列出要忽略的文件模式,Git会根据这些模式规则来判断是否将文件添加到版本控制中。gitignore的使用:【注意⚠️在项目开始就创建.gitign
- iOS android git .gitignore 文件的常见写法
jeffasd
iOS_Gitiosandroidgit
iOScat.gitignore//这里是写法把不必要的垃圾文件过滤掉xcuserdata/Pods*.xcworkspace.DS_Store.idea*.xcuserstate*.xcuserdatad/android*.iml.gradle/local.properties/.idea/caches/.idea/libraries/.idea/modules.xml/.idea/worksp
- iOS基础- Framework的CocoaPods制作
jeikerxiao
iosgithub框架库
1.Cocoapods使用podtrunk发布程序2.Framework的CocoaPods制作一、创建自己的github仓库CocoaPods都托管在github上(官方链接为:https://github.com/CocoaPods),所有的Pods依赖库也都依赖github,因此第一步我们需要创建一个属于自己的github仓库。仓库创建界面如下图:说明:Repositoryname仓库名称,
- iOS不提交pod到Git,忽略文件,gitignore
脱缰的呆马
iOS
#Xcode##gitignorecontributors:remembertoupdateGlobal/Xcode.gitignore,Objective-C.gitignore&Swift.gitignore##Buildgeneratedbuild/DerivedData/##Varioussettings*.pbxuser!default.pbxuser*.mode1v3!default.
- ios设置tabbar背景颜色_UITabBarController、TabBar背景颜色设置、TabBarItem颜色处理
weixin_39837352
ios设置tabbar背景颜色
在iOS的开发过程中我们使用最多的框架结构估计就是UITabBarController+UINavigationController架构了,然而在开发过程中,对于许多初学者,甚至对于许多有半年多开发经验的iOSdev来说还是会有很多很棘手的问题,比如设置tabBar的背景颜色、tabBarItem的图标选中时的颜色为蓝色、tabBarItem选中的背景色的设置...完整项目点这里。下面创建项目并搭
- Vue项目中Axios取消请求功能实现
流云紫电
前端javascript开发语言vue.js
1,封装axios实例request.jsconstaxios=require('axios');//创建一个axios实例constservice=axios.create({baseURL:"https://ip:port",timeout:60000});exportdefaultservice2,封装请求api.jsimportservicefrom'request'importaxios
- 【iOS】——分类拓展关联对象
不会敲代码的VanGogh
ios分类macosobjective-c学习
分类OC的动态特征允许使用类别为现有的类添加新方法并且不需要创建子类,不需要访问原有类的源代码。通过使用类别即可动态为现有的类添加新方法,而且可以将类定义模块化分布到多个相关文件。分类是Objective-C中的一种语言特性,它允许你为现有类添加新的方法,而无需修改原始类的源代码。分类就像一个“扩展”,你可以用它来添加新的功能,而不必创建子类。分类不能添加新的实例变量,只能添加方法。分类也可以把f
- iOS面试:runtime如何实现weak变量的自动置nil?
androiios
ios面试
在iOS开发中,weak变量的自动置nil是Objective-C和Swift中内存管理的重要特性。这个特性主要依赖于Objective-C的运行时(runtime)机制。以下是对这个过程的详细解释:1.weak变量的定义weak变量是一种引用类型,它不会增加对象的引用计数。当一个对象的所有强引用(strong)被释放时,weak引用会自动被置为nil。这样可以避免循环引用(retaincycle
- 萤石云移动端sdk常见问题
做萤石二次开发的哈哈
音视频个人开发萤石云
使用萤石云的SDK时常会遇到各种问题首先,请先查看错误码文档,这能解决其中的绝大多数!!!如果没有找到,可以看看下方这些常见问题能否解决你碰到的情况。(iOS可以在打印日志中搜索opensdkerror找到错误码,android可以在Logcat日志中搜索handleerror找到错误码)如果未解决,请先自行运行Demo,确保问题能在Demo上复现。如不能复现,请参考Demo实现;如能复现,请提供
- ios面试热门问题二
hong161688
ios面试ios面试cocoa
iOS中的KVO(Key-ValueObserving)是什么?它的作用和使用场景是什么?iOS中的KVO(Key-ValueObserving),全称为键值观察/监听,是苹果提供的一套事件通知机制。它允许一个对象(观察者)观察/监听另一个对象(被观察者)指定属性值的改变。当被观察对象的属性值发生变化时,KVO会自动触发监听方法,通知观察者进行相应的处理。以下是关于KVO的详细解释:KVO的作用K
- 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