- C++11中的std::function
文章转载自:http://www.jellythink.com/archives/771看看这段代码先来看看下面这两行代码:std::functiononKeyPressed;std::functiononKeyReleased;这两行代码是从Cocos2d-x中摘出来的,重点是这两行代码的定义啊。std::function这是什么东西?如果你对上述两行代码表示毫无压力,那就不妨再看看本文,就当温
- cocos2d pod_Cocos2D-X权威指南(第2版)[按需印刷]
weixin_39685697
cocos2dpod
第一部分基础篇本部分内容第1章认识Cocos2D-X第2章搭建跨平台的开发环境第3章Cocos2D-X中的核心类第4章Cocos2D-X中的图片渲染类第5章Cocos2D-X中的动作、特效与动画第6章Cocos2D-X中的菜单项和文本渲染系统第7章Cocos2D-X中的事件处理机制和UI控件第8章Cocos2D-X中的瓦片地图集第9章Cocos2D-X中的声音、存储和网络第10章Cocos2D-X
- java.util.Date与数据库datetime类型转换--Java数据类型与MySql类型对照表
superkcl2022
#javajava
定义实体类User定义的出生日期birthday类型是java.util.Date类型publicclassUser{privateintid;privateStringusername;privateDatebirthday;privateStringsex;privateStringaddress;}数据库中存储的birthday是datetime类型CREATETABLE`user`(`id
- Codeforces Round 974 (Div. 3) A-F
swan416
题解图论算法c++数据结构算法竞赛Codeforces信息学竞赛
封面原图画师礼島れいあ下午的ICPC网络赛的难受一晚上全都给我打没了手速拉满再加上秒杀线段树这场简直了啊唯一可惜的是最后还是掉出了1000名一把上蓝应该没啥希望了吧A-RobinHelps题意侠盗罗宾因劫富济贫而闻名于世罗宾遇到的nnn人,从1st1_{st}1st开始,到nthn_{th}nth结束。iii第三个人有aia_iai金子。如果是ai≥ka_i\gekai≥k,罗宾会拿走所有的aia
- # Cocos2d-x鸿蒙原生游戏开发指南:从引擎适配到系统能力接入
马十三
华为Cocos2d-xHarmonyOS5
深入解析国产引擎如何无缝融入HarmonyOSNEXT生态,构建高性能游戏体验作为跨平台游戏开发的利器,Cocos2d-x引擎凭借其成熟的架构和高效的渲染能力,已成为鸿蒙生态中游戏开发者的首选解决方案。本文将深入探讨Cocos2d-x在HarmonyOSNEXT平台上的适配原理、架构设计及开发实践,为开发者提供一站式迁移指南。一、Cocos2d-x与鸿蒙生态的融合价值2024年底发布的CocosC
- Cocos2d-x3.0 不规则Button
杜甲同学
cocos2d-xcocos2d-x3.0不规则按钮button
这是我参照之前在iOS项目中用过的一个不规则形状按钮的第三方Button,这里用Cocos2d-x实现一个相似功能的按钮。原文地址:http://blog.csdn.net/qqmcy/article/details/26161339代码下载:http://download.csdn.net/detail/qqmcy/7365843使用方法:.h////TestScene.h//maptest//
- Cocos Creator引擎开发:VR角色技能与战斗系统_(1).CocosCreator基础与VR开发环境搭建
chenlz2007
虚拟现实游戏vr交互uijavascript前端
CocosCreator基础与VR开发环境搭建1.CocosCreator基础介绍1.1CocosCreator概述CocosCreator是一款面向未来的开源游戏开发工具,它提供了完整的开发工作流,包括场景编辑、资源管理、脚本编写、预览和发布功能。CocosCreator基于Cocos2d-x引擎,支持2D和3D游戏开发,且具有强大的跨平台能力,可以将游戏发布到多个平台,包括Web、iOS、An
- cocos2d x 入门学习(一)实例制作简单的射击小游戏Star Fighter
小李00
小游戏实例cocos2d-x(2.x)cocos2d-x源代码实例游戏
我们将使用cocos2d-x制作一个简单的射击游戏。本文所用的制作环境是cocos2dx2.0.4,VS2010。参考资料:1、本文的原型其实是来自cocos2d-2.0-x-2.0.4官方下载的安装软件,解压缩后可以看到该例子,即在根目录下的Samples示例文件夹里面的SimpleGame。2、博客无幻的SimpleGame制作的文章,这里是传送门:http://blog.csdn.net/a
- 鸿蒙游戏开发者服务公开课:使用 Cocos 2d-x 引擎构建游戏 HarmonyOS NEXT 版本
harmonyos
课程简介课程简介:介绍如何使用Cocos2d-x引擎构建HarmonyOSNEXT游戏观看课程点击链接,立马观看学习:鸿蒙游戏开发者服务公开课:使用Cocos2d-x引擎构建游戏HarmonyOSNEXT版本学习全部课程共6个课程,欢迎小伙伴们观看学习,掌握更多鸿蒙开发技能。鸿蒙游戏开发者服务公开课:游戏适配HarmonyOSNEXT流程概览鸿蒙游戏开发者服务公开课:游戏三方库编译适配鸿蒙游戏开发
- Cocos Creator引擎开发:Cocos Creator基础入门_CocosCreator引擎概述
chenlz2007
动作游戏开发教程1024程序员节nginx运维物联网微服务
CocosCreator引擎概述CocosCreator是一款由Cocos2d-x团队开发的游戏开发引擎,专为2D和2.5D游戏设计。它基于JavaScript语言,使用Node.js运行时环境,结合了强大的编辑器和灵活的开发工具,使得开发者可以高效地创建高质量的游戏。CocosCreator采用组件化的开发模式,支持跨平台发布,适用于多种游戏类型,特别是动作游戏。CocosCreator的历史和
- cocos2dx屏幕式配深度解析
子兰
cocos2d-x学习笔记
Cocos2d-x屏幕适配新解一叶cocos2d-x05-126479217条评论本文出自[无间落叶](转载请保留出处):http://blog.leafsoar.com/archives/2013/05-10-19.html为了适应移动终端的各种分辨率大小,各种屏幕宽高比,在cocos2d-x(当前稳定版:2.0.4)中,提供了相应的解决方案,以方便我们在设计游戏时,能够更好的适应不同的环境。而
- python示例类
C7211BA
python开发语言
classPerson:def__init__(self,name,age):self.name=nameself.age=agedefintroduce(self):print(f"我叫{self.name},今年{self.age}岁。")defhave_birthday(self):self.age+=1print(f"{self.name}过生日啦,现在{self.age}岁了。")#创建
- mysql和sqlite关于data数据的识别问题
m0_68791463
mysqlsqlite数据库
#表单传入的日期birthday=request.form.get('birthday')#获取日期birthday=Column('birthday',Date,comment='出生日期',nullable=True)#数据库的数据字段模型birthday_str=request.form.get('birthday')birthday=datetime.strptime(birthday_s
- spring boot mybaits 的mapper中的crud操作语法
健康平安的活着
springbootspringboot后端java
转载来源:mybatis的select、insert、update、delete语句-风止雨歇-博客园一select查询!--查询学生,根据id-->SELECTST.STUDENT_ID,ST.STUDENT_NAME,ST.STUDENT_SEX,ST.STUDENT_BIRTHDAY,ST.CLASS_IDFROMSTUDENT_TBLSTWHEREST.STUDENT_ID=#{stude
- cocos2dx : 解决中文乱码问题
^随风~~
Cocos2d-xC++乱码
在使用cocos2dx的时候,代码里面使用了中文或者是在cocosstudio编辑器里面使用了中文,显示的时候会出现乱码问题,下面提供几个解决方案:方案一:最前面加上命令:#pragmaexecution_character_set("utf-8")方案二:使用XML文件:问题与解决方法在windows环境下使用visualstudio开发cocos2d-x,由于visualstudio默认编码为
- python 游戏开发cocos2d库安装与使用
范哥来了
pythoncocos2d开发语言
Cocos2d-x是一个广泛使用的开源游戏开发框架,支持多种编程语言,包括Python。对于Python开发者来说,通常使用的是Cocos2d-py或者更现代的Cocos2d-x的Python绑定版本。这里我将指导你如何安装和开始使用Cocos2d-py。安装步骤安装Python:确保你的系统上已经安装了Python3.x版本。你可以从Python官方网站下载最新版的Python。安装pip:pi
- C++上机实验|继承与派生编程练习
皖山文武
C++语言程序设计教程c++开发语言
1.实验目的(1)掌握派生与继承的概念与使用方法(2)运用继承机制对现有的类进行重用。(3)掌握继承中的构造函数与析构函数的调用顺序,(4)为派生类设计合适的构造函数初始化派生类。(5)深入理解继承与组合的区别。2.实验内容设计一个人员类person和一个日期类date,由人员类派生出学生类student和教师类professor,学生类和教师类的数据成员birthday为日期类。3.参考代码#i
- 《算法笔记》9.6小节 数据结构专题(2)并查集 问题 C: How Many Tables
圣保罗的大教堂
《算法笔记》算法
题目描述TodayisIgnatius'birthday.Heinvitesalotoffriends.Nowit'sdinnertime.Ignatiuswantstoknowhowmanytablesheneedsatleast.Youhavetonoticethatnotallthefriendsknoweachother,andallthefriendsdonotwanttostaywit
- cocos2d-x之CCTexture2D的使用testDemo详细解读
zanglengyu
cocos2d-x中CCTexture2D的使用,和测试,这个demo主要验证了各种格式的图片和相同格式图片但位深不同时加载纹理所占用的内存的大小和效果,以及异步加载纹理的方法,以及使用纹理创建CCSprite和删除纹理的方式,和对纹理进行精细处理的方法,参数等等#ifndef__TEXTURE2D_TEST_H__#define__TEXTURE2D_TEST_H__//包含项目中所有的头文件#
- cocos2d-x 3.x lua的api与C++的关系
鱼儿-1226
cocosluacocos2d-lua
cocos2d-x3.xlua的api与C++的关系1、Lua中如何使用Cocos2d-x引擎中的类?在C++中是这样调用的://Sprite*sprite=Sprite::create();sprite->setPosition(Vec2(100,100));this->addChild(sprite);//而在Lua中是这样调用的://localsprite=cc.Sprite:create(
- Maven + MyBatis
TZ丶旭哥
javamybatisintellij-idea
文章目录Maven配置mybatis-config.xml核心配置文件模板mybatis映射mapper可以package不可以解决Maven目录结构Maven配置核心配置文件userName或username-->-->映射文件select*fromuserinsertintouservalues(#{id},#{username},#{birthday},#{sex},#{address})外
- Mybatis如何书写
黄袜子的小希
mybatis数据库java
kh下面我们开始书写mybatis①首先开始的时候创建数据库和表结构:createdatabasemybatis_demo;usemybatis_demo;CREATETABLE`user`(`id`int(11)NOTNULLauto_increment,`username`varchar(32)NOTNULLCOMMENT'用户名称',`birthday`datetimedefaultNULL
- 关于框架设计(游戏领域)
漫步者、
cocos2dx学习
一、原型符合棋牌项目框架,快速换皮,快速融合。多渠道多包体。自由拆装。一次开发核心玩法,快速自由迭代各种市场版本。二、架构设定解耦,复用性,拓展性多自由度、可分拆多项目开发,符合敏捷需求品质保证体系高效开发支撑公司大部分业务三、模块设计概要减少客户端对Cocos2d-x引擎的依赖程度和降低耦合度,将引擎必要的初始化、逻辑更新、渲染、资源管理等交给底层处理,是客户端逻辑开发不需要过于依赖引擎层,同时
- es的date类型字段按照原生格式进行分组聚合
tebukaopu148
elasticsearch数据库大数据
PUTstudent2{"mappings":{"properties":{"name":{"type":"text","analyzer":"standard"//使用标准分析器,适合姓名字段},"birthday":{"type":"date","format":"yyyy||yyyy-MM||yyyy-MM-dd"//日期格式,可以根据需求调整},"age":{"type":"integer
- sql语句
7fae9f0f608d
--创建一个班级表(classes),包含字段id,nameCREATETABLEclasses(idINTPRIMARYKEYAUTO_INCREMENT,NAMEVARCHAR(10))--创建一个学生表(students),包含字段id,name,birthday,gender,score,class_idCREATETABLEstudents(idINTPRIMARYKEYAUTO_INC
- LJS送给WSW的生日礼物——happy birthday to my dear friend————(作者:LJS)
肾透侧视攻城狮
dockereurekajenkinskuberneteszookeeperetcddevops
目录Linux/Unix系统教程鸟哥私房菜Linux系统教程,从入门到高级,全面覆盖,学习Linux必备IBMLinux教程来自IBM开发者社区的Linux系统教程Linux介绍MachteltGarrels的Linux系统教程BeginLinux教你使用35个Linux用户必需了解的命令Unix教程来自TheUniversityofSurrey的新手指南,告诉你Unix系统最基本的特性Unix教
- 用html写出生日蛋糕,纯HTML5+CSS3制作生日蛋糕代码
天眼查
用html写出生日蛋糕
.birthday.container{width:600px;height:600px;margin:0pxauto;background:#fafafa;border-radius:5px;position:relative;}/****顶层的**/.birthday.top-one{position:absolute;width:280px;height:280px;bottom:200px
- c/c++导出lua绑定
ajt1472580369
luac/c++python
【转载】https://note.youdao.com/share/?id=0f4132271151c4b62f9afb712e8304d9&type=note#/1、在纯C环境下,把C函数注册进Lua环境,理解Lua和C之间可以互相调用的本质2、在cocos2d-x项目里,把纯C函数注册进Lua环境,理解cocos2d-x是怎样创建Lua环境的、以及怎样得到这个环境并继续自定义它3、了解为什么要
- hive load data未正确读取到日期
dogplays
hivehadoop数据仓库
1.源数据CSV文件日期字段值:2.hiveDDL语句:CREATEEXTERNALTABLE`test.textfile_table1`(`id`intCOMMENT'????',`name`stringCOMMENT'??',`gender`stringCOMMENT'??',`birthday`dateCOMMENT'????',.......)ROWFORMATSERDE'org.apac
- 亲子打卡日记Jun. 1st,sunny
森卿清
Goodbye,May!You'resoquickly!再见了,五月,过得真快!永葆童心,儿童节快乐(๑ºั╰╯ºั๑)①10:00*看电影《匹诺曹》124’温情的真人童话故事,剧情简单,并没有暗黑的改编,很适合给孩子看。我觉得无论多大,我们都要热爱童话、英雄和魔法。*逛光谷广场~k11艺术中心150’本来计划去武汉野生动物王国,还好及时看了旅游攻略,竟然都是差评,也好,及时避了坑哈。今天高温天气
- 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