基于图像识别的AI自动化测试框架:GAME AI SDK平台解析

导语 | GAME AI SDK 是腾讯 TuringLab 研发的首个开源项目,着重解决自动化测试工具中的通用性问题,最初主要用于游戏 AI 自动化测试服务,现在可用于手机 APP、PC 端游戏、软件等专项自动化测试。通过 AI 算法进行大数据训练的网络模型具有良好的通用性,可以直接在同一类游戏(软件)中适用。文章作者:周大军,腾讯 AI 工程组专家工程师。

一、GAME AI SDK概述

自动化测试的好处显而易见,但自动化测试的投入成本大却是一个很大的障碍。为了在游戏测试中引入自动化测试, 腾讯互娱 TuringLab 实验室研发了 Game AI SDK 自动化 AI 测试平台。通过接入腾讯公司运营期或测试期的商业游戏,不停的测试优化,最后推出这款 AI 自动化测试平台。

目前,GAME AI SDK 已正式对外开源,Git 开源地址:

https://github.com/Tencent/GameAISDK

同时 TuringLab 团队出版《AI自动化测试:技术原理、平台搭建与工程实践》一书,此书将 TuringLab 团队基于深度学习的自动化AI测试框架基础的开发与应用经验,进行了详细的描述,分享了如何将AI技术与自动化测试相结合完成测试需求的。

基于 GAME AI SDK 框架,可实现多种类型的手机游戏 AI 开发(本文重点介绍手机游戏方面)。目前我们已应用的游戏类型有:射击类(穿越火线,王牌战士), MMO(寻仙,龙之谷 ), 消除类(天天爱消除,消除者联盟),吃鸡(和平精英),赛车(QQ飞车), MOBA(王者荣耀), 格斗(魂武者,DNF), 动作(魂斗罗),卡牌(圣斗士星矢), 棋牌(天天德州),跑酷(天天酷跑) ,体育(最强NBA),飞行射击(全民飞机大战)等。

同时也可以应用在手机 APP 及 Windows 应用程序方面。不但适用于手机游戏专项测试,手机 APP 专项测试,而且适用于 PC 端游戏,软件等专项测试(专项测试是指如手机兼容性测试,客户端服务器端性能测试,版本回归冒烟测试,跑图覆盖率及代码覆盖率测试,软件健壮性及 crash 测试等这一类测试)。


二、GAME AI SDK的技术架构

GAME AI SDK 是一个平台工具系统,主要由四部分组成:

第一部分:AI SDK 平台,系统的核心功能都集成在这个平台里面。

第二部分:tools 工具集,用户可以根据系统提供的 SDKtool 进行 AI 相关配置操作,也可以根据需要,自行开发需要的工具,集成到 tools 工具集中。

第三部分:环境摸拟(EM),主要提供手机游戏的环境摸拟生成,用户可以通过配置快速生成游戏运行环境,这样在训练 DQN 等网络时能节省很多时间,大幅提高训练的效率。

第四部分:系统提供的 AI 模板库,目前是按游戏类型来划分的,用户可以根据自己的需求配置使用现有的 AI 模板库,也可以在AI模板库新增自己需要的模板。

结构如下图1所示:

图1 整体系统模块


1. GAME AI SDK平台核心部分架构

GAME AI SDK 平台的核心部分的架构图如图2所示:

图2 GAME AI SDK平台架构图

GAME AI SDK 底层使用的是 TensorFlow 平台和 OpenCV 开源库,在此基础上开发自动化系统、图形图像识别系统、AI 算法系统几个核心功能模块。

  • 自动化系统:主要负责数据接入部分,如果是截图,则进行图像采集;如果是通过API传输数据,则进行通信连接。同时,会负责将AI的动作输出传到手机上执行。

  • 图形图像UI模块:负责游戏 UI 的识别与处理。

  • 图形图像识别模块:包括的平台所有的图形图像识别算法,负责游戏内所有的图形图像识别,并将识别结果传到 AI 算法模块。

  • AI算法模块:接收识别结果数据或者直接接收API输入数据,根据 AI 网络,输出数个(0个到几个)可能的动作,传回到自动化系统。

GAME AI SDK 平台通过自动化系统得到数据(如果是图像,得到的是手机截屏;如果是接口 API,则直接得到 API 提供的数据);把这部分数据输入到图形图像模块,图形图像模块拿到数据后,通过配置好的识别算法,识别出结果,再把这个识别结果输入到 AI 算法模块,AI 算法根据自己的网络,输出数个(0个到几个)可能的动作,传回到手机上面去执行,这样一次数据处理就完成了。

2. GAME AI SDK平台流程


(1)AI流程

用户的输入数据有两种方式:

  • 方式一:使用手机截图,平台通过图像识别得到 AI 需要的数据,然后进行 AI 训练。

  • 方式二:使用 API 接口得到 AI 需要的数据,然后进行 AI 训练。

方式一具有很好的通用性,不需要游戏项目额外做任何的改动,缺点是图像识别结果不一定完全准确。

方式二需要游戏项目额外提供数据 API 接口,因此需要投入额外的开发工作,但好处是数据是完全准确的,用户可以根据项目需要进行适当的选择。

整个 AI 流程如图 3 所示:

图3 AI流程图

  • Step1:用户通过数据预处理工具输入数据(手机截图或游戏数据);

  • Step2:GAME AI SDK 读取任务配置与AI算法配置;

  • Step3:通过环境模拟平台或在线直接进行 AI 训练;

  • Step4:将游戏数据存储到数据平台中,方便下次训练或者做数据分析使用(此步骤可选)。

(2)图像识别任务流程图

GAME AI SDK 平台的核心之一就是图像识别任务。在配置图像识别任务之前,如果此任务需要提前标注样本(如需要使用 YOLO 算法),则需要进行数据预处理,可以使用平台提供的 SDKTool 进行样本标注,也可以使用如 LabeImage 这种软件进行标注。

样本标注完成后,就可以使用平台提供的 SDKTool 进行任务配置(详细操作请参见下文第3章)。任务配置完成之后,就可以开始进行识别训练(如果需要进行训练的话)或直接进行识别了。

图像识别任务流程图如图 4 所示:

图4 图像识别任务流程图

  • Step1:用户使用标注工具进行样本标注(识别算法需要标注样本才进行此步骤);

  • Step2:在 SDKTool 中进行任务配置;

  • Step3:开始任务预测试:在图像识别模块中进行图像识别;

  • Step4:如果用户只需要做图像识别,则直接将识别结果返回给用户;

  • Step5:如果用户需要 AI 模块,则将识别结果输入到 AI 模块;

  • Step6:用户如果觉得任务参数(包括图像识别算法参数)需要调整,则重新调整任务参数,然后继续进行任务预测试(step3),直到用户认为图像识别效果达到要求为止。


3. GAME AI SDK平台模块结构


(1)图像识别模块

图像识别模块的输入为图像帧数据,输出为图像识别得到的结果数据。在图像识别模块内部,底层使用的是 TensorFlow 平台和 Opencv 开源库,在此基础上,图像识别模块封装了一些常用的识别算法(如 YOLO,模板匹配,像素检测,特征点匹配等),用户可以直接通过配置使用这些算法,也可根据需要修改或者直接加入新的识别算法。

根据游戏本身的特点和需求,平台在通用层封装了一些游戏中常用的识别算法,如游戏中常见的数字、按钮、血条等的识别,用户可以直接使用,只需要在 SDKTool 工具里面配置就可使用。

图像识别本身的计算会根据图像大小成倍增加,为提高识别的性能,保证游戏的响应时间,在图像识别模块中使用了多线程来提高图像识别的性能,用户可以根据机器的性能及对响应时间的要求,灵活配置多线程的数量。

图像识别模块如图 5 所示:

图5 图像识别模块

  • 图形图像识别与跟踪相关算法:此为图形图像识别算法模块,包括了一些常用图形图像识别算法,如像素检测、特征点匹配,梯度检测等,也包括了一些基于机器学习的识别算法,如 YOLO,LeNet 等。

  • comm:此模块封装了一些游戏里面需要经常用到的识别类型,数字类型:如游戏中的分数、速度、距离、子弹数等;血条类型:如游戏中角色的血量,怪物的血量,BOSS 的血量等。

  • 日志管理:系统日志管理模块,输出错误信息及程序运行信息,方便用户查看程序运行状态。

  • 多线程管理:因为图形图像识别的计算量会比较大,在复杂的识别任务或者要求高响应时间的应用场景下,可以使用更多的线程来进行图像识别,多线程管理模块可以很方便的设置多线程的运行数量。

  • 图像识别逻辑处理:在此模块中处理用户配置的图像识别任务。

(2)AI算法模块

AI 算法模块的输入有两种方式:一种是图像识别模块识别的结果数据,一种是直接从 API 接口拿到的数据。

AI 算法模块的底层也是使用 TensoFlow 平台,与手机相关的操作使用 ADB 模块,在此基础上内置了 DQN 算法和 IM 算法。用户通过配置 AI 算法模块的配置文件及修改算法参数,可以方便地使用这两个算法。

DQN 算法使用方便,不需要标注数据,可以直接接入游戏环境进行线上训练,特点是需要训练比较长的时间才会有一定的效果,但泛化性相对 IM 来说要好些。

IM 算法需要先记录样本数据(SDKTool 里集成了样本记录功能,用户可以直接使用),再根据样本数据进行训练,特点是训练时间相对 DQN 来说会短很多,但泛化性没有 DQN 好。

效果的好坏和记录的样本关系很大。用户可根据项目需求来选择使用哪种算法,或者自己开发新的算法。GAME AI SDK 提供了相关的 AI 算法接口,可以方便的扩展用户自定义的 AI 算法。

BeTree 是行为树,用户可以根据项目业务需求,自行定义相关的行为规则,控制 AI 的输出。

业务逻辑层主要是写具体的游戏业务相关的处理,比如用户需要进行动作过滤,可以在此编写相关的过滤规则,控制 AI 的输出满足游戏业务测试的需求。

AI算法模块如图 6 所示:

图6  AI算法模块

三、GAME AI SDK使用


1. 环境安装

GAME AI SDK 环境安装分本地环境安装及镜像方式安装,如果需在进行本地二次开发,建议使用本地环境安装方式,相关安装操作说明请参见源码文档中环境部署一节的说明。

如果只需要进行自动化测试相关测试操作,可以使用镜像方式(此方法简单容易上手,对测试人员比较友好):从 GAME AI SDK 官网(http://aitest.qq.com)下载相应版本的镜像安装包及本地编译包,本地解压后根据说明文档运行安装脚本就可以进行环境安装了。

2. SDKtool UI配置

GAME AI SDK 不需要进行脚本编写,只需进行少量的样本采样及标注就可以配置好。启动 SDKTool 工具,连接好手机(或配置其他的图像窗口),按相关要求进行配置,工具会自动生成相关的配置数据。

图7 UI识别配置界面


3. SDKtool识别任务配置

识别任务是识别图片中的某些关键数据信息,然后把这些数据信息做为 AI 算法的输入。配置操作与 UI 识别配置相同。

图8 识别任务配置界面


4. AI算法配置

GAME AI SDK 平台内置了 DQN 算法和 IM 算法,用户可不需要编写代码或者脚本,通过简单的参数配置,就可以使用平台内置的这两种算法。

其中 IM 算法训练及采样简单快速(30 分钟的样本及 30 分钟的离线训练时间),适用一某一特定的游戏场景,DQN 算法需要较长的在线衰弱时间,场景通用性较 IM 好。

图9 DQN算法参数配置界面


5. 动作定义及配置

根据项目的具体动作,可以通过 SDKTool 定义相同的运作,这样通过 AI 算法的训练,AI agent 就可以根据图片的输入信息进行计算,最后输出具体的运作,驱动游戏像玩家玩游戏一样自动运行起来。

图10 AI算法动作定义配置界面


6. 训练及运行

完成工程所需要的相关配置后,就可以使用 SDKTool 工具进行 AI 算法的训练及运行了。在 PC 机上连接好手机,就可以开始相关的训练,训练过程中的相关信息会通过界面显示出来。

图11 IM训练过程中的进度信息显示

四、结语

GAME AI SDK 的目标是开发一个比较通用的自动化平台,让用户更专注于测试业务本身。它放弃了传统的脚本自动化的方法,使用深度学习及图像识别算法从图像中提取中关键数据信息,做为AI算法的输入。通过大数据量的训练得到一个通用的网络模型,网络模型本身就具有了较好的通用,可以在同一类项目中适用。

理论上,数据量越多,网络模型本身的效果和通用性就越好。AI 算法及图像识别算法发展越来越快、越来越好,GAME AI SDK 也在不断努力优化与完善中,如果你有建议或需要技术支持,欢迎在评论区与我们联系。

参考链接:

[1] 项目开源地址:
https://github.com/Tencent/GameAISDK

[2]  GAME AI SDK 官网:

http://aitest.qq.com

文章推荐

鹅厂这个穷得成本精确到0.01元的微团队,怎么利用IoT与云原生监测大气质量的?

腾讯云开发者
关注 关注
  • 10
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
博客
为什么软件行业仍在重蹈 50 年前的覆辙?读《人月神话》有感
09-19 857
????目录1 《人月神话》的背景2 20 周年纪念版序言3 第 1 章 - 焦油坑4 第 2 章 - 人月神话5第 3 章 - 外科手术队伍6第 4 章 - 贵族专制、民主政治和系统设计7第 5 章 - 画蛇添足8第 6 章 - 贯彻执行9第 7 章 - 为什么巴别塔会失败10第 8 章 - 胸有成竹11第 9 章 - 削足适履12第 10 章 - 提纲挈领13第 11 章 - 未雨...
博客
什么才是真正的架构设计?
09-18 696
????目录1 什么是架构2 纵向架构3 三层架构4 四层架构5横向架构6总结7延展阅读就算你是一个打螺丝的,你依然每天游走在这个系统的“架构”里,在里面修修补补,你得从“架构”的全局角度去审视你每天忙碌的价值和意义。经历的项目多了, 在进入新的团队,有些老项目,在了解业务背景后, 你头脑中可能已经闪现出一张“架构”了,然后你去看代码的时候大喜:“果然如此”, 这种“架构”背后的代码让你读起来神清...
博客
5 款程序员画图神器,全免费!
09-12 1076
????目录1 Draw.io2 Excalidraw3 Graphviz4Matplotlib5PlantUML6写在最后在程序员的日常工作中,有两大难题:一曰写文档,二曰画图。此前我们策划了多篇技术文档写作指南文章和架构画图技巧文章,有效地帮助到了广大开发者朋友。点击文章标题即可跳转阅读:《程序员必备!最全技术文档写作指南》《如何画好架构图:7种常用类型与示例》《如何画好一张架构图?》今天我们...
博客
架构师必备底层逻辑:分层架构设计
09-11 546
????目录1 分层的优点2 分层的缺点3分层的原则4 总结有句话叫做互联网技术中的银弹,加一层解决各种问题。我们在微服务架构设计的时候会碰到分层,数据仓库设计的时候也有分层,协议设计的的时候也有分层,大部分的设计模式也是多加一层抽象。这些所有的分层都有什么共同点,分层的优缺点是什么,分层的原则是什么。我们经常拿到各种眼花缭乱的分层概念,在实践中又感觉无法完全套上去。本文尝试进行一次简单探讨。关注腾讯...
博客
为什么这段代码会阻塞?
09-10 871
????目录1 故事开始的地方——这段代码为什么会阻塞?2 三个问题3 channel4 加餐腾讯内网上,一位提问者对一段代码为什么会阻塞发出了疑问,该问题讨论跨度约一周,探讨过程中,出现了许多由于不够理解 channel 而产生的问题,非常经典。本文结合内网上的讨论和 channel 的原理,来帮助大家加深对于 channel 的理解。关注腾讯云开发者,一手技术干货提前解锁????01故事开始的地方——这段...
博客
一篇文搞定消息队列选型
09-06 1465
????目录1 概述2 架构简介3选型要点4功能剖析5 性能6 运维7常见问题 & 使用场景8 总结消息队列是重要的分布式系统组件,在高性能、高可用、低耦合等系统架构中扮演着重要作用。可用于异步通信、削峰填谷、解耦系统、数据缓存等多种业务场景。本文是关于消息队列(MQ)选型和常见问题的精心整理。在这篇文章中,我们将详细介绍消息队列的概念、作用以及如何选择适合自己需求的消息队列系统。本文中介...
博客
9本相见恨晚的“计算机”好书
09-05 752
????目录1 程序员修炼之道:从小工到专家2 关键跃升:新任管理者成事的底层逻辑3 程序员的职业素养4 设计模式:可复用面向对象软件的基础5 编程珠玑6 函数式设计:原则、模式与实践7 点石成金8 人件9 禅与摩托车维修艺术在上一篇《 9 本醍醐灌顶的计算机好书》推文中,我们分享了腾讯程序员们强烈推荐的计算机经典图书,涵盖了计算机理论科学、软件工程等帮助程序员夯实地基的基础知识。这些基础知识,是程序员...
博客
一文读懂10种最经典的设计模式
08-30 5066
????目录1 单例模式(Singleton Pattern)2 工厂模式(Factory Pattern)3 观察者模式(Observer Pattern)4 装饰者模式(Decorator Pattern)5 策略模式(Strategy Pattern)6 适配器模式(Adapter Pattern)7代理模式(Proxy Pattern)8命令模式(Command Pattern)9组合模式...
博客
腾讯这篇论文入选了 VLDB 2024!
08-30 4896
????目录1 X-Stor 介绍2 论文背景3系统架构4多模型设计5多租户支持6实验评估VLDB(International Conference on Very Large Data Bases)是数据库领域顶级国际会议之一(CCF-A)。来自腾讯X-Stor团队、华中科技大学的论文《X-Stor: A Cloud-native NoSQL Database Service with Mul...
博客
为超越JVM而生?深入理解Kotlin Native的梦想与可能
08-29 1405
????目录1 概述2 编译与产物3内存布局4内存管理5跨语言调用6当前的主要问题7未来与展望8 小结Kotlin Native 是 Kotlin 多平台生态的关键一环,也是 Kotlin 开发者突破自身发展瓶颈的重要方向。本文依据 Kotlin Native 的源码,结合作者在运用 Kotlin Native 开发多平台应用的实战经验,详细为大家解读 Kotlin Native 在编译时和运...
博客
一个52000+行代码文件给我的启示
08-28 982
????目录0五万行 all-in-one 的 checker.ts1 低配版 named parameters2 能用 number 尽量 number3无限制使用 const enum4 ESM/CJS 的性能问题:尤其是 export 导出特别多的时候5ESM 没有 private 导出6TS 甚至大量使用 var,而不是用 let 和 const7往 String.prototype....
博客
如何画好架构图:7种常用类型与示例
08-27 1378
????目录1 引言2 UML 常见的架构图3架构图在软件开发周期中的应用场景与时机4结语对于众多开发者而言,架构图不仅是一项不可或缺的技能,更是他们理解、规划和构建软件系统的关键工具。然而,面对多样化的系统需求和复杂的业务逻辑,如何画好一张架构图,成为了许多程序员面临的共同挑战。今天,我们特邀了同程旅行资深架构师、腾讯云 TVP 李智慧老师,李老师也是畅销书《高并发架构实战:从需求分析到系统设计》...
博客
9月7日,一场开发者专属的线下嘉年华等你来!
08-26 555
致开发者,在这个充满活力的数字时代,我们深知每一次技术革新都离不开充满热情和好奇心的开发者。腾讯全球数字生态大会开发者嘉年华,即将在9月7日于深圳宝安国际会展中心开幕。腾讯云开发者社区向您发出最诚挚的邀请,欢迎您回「嘉」看看!我们将为您呈现腾讯技术的新成果。在这场大会上,您将深入了解腾讯最新的云技术、黑科技,体验那些将改变我们生活和工作方式的创新成果。我们相信,技术的力量在于普惠,我们希望通过这场...
博客
如意、悟净、悟能——操作系统界的“黑神话”特性丨直播预告
08-26 171
有这样一个操作系统,2010 年就开始在腾讯内部启动研发。到 2016 年时,覆盖了 99% 的腾讯自研业务,包括微信、 QQ 、腾讯游戏等明星产品和核心业务。截至目前累计装机部署规模已达千万级节点规模——这就是 TencentOS Server 。而在云原生时代,这个操作系统也顺势而为地推出了众多云原生特性,在海量的实践场景得到了检验,其中关键特性包含:“如意”全场景混部:CPU 利用率提升 ...
博客
《黑神话:悟空》船新版本!程序猿直面天命
08-23 126
博客
黑神话上线了,想起来学Lua了?
08-21 854
????目录1 免责(shuai guo)声明2 前言3游戏行业热更新技术史4热更新方案选型与架构设计5 Asset Bundle + dll 替换反射 C# 热更新方案穿刺验证报告6 小结苦等4年,《黑神话:悟空》终于在周二正式上线了。朋友们开始玩了吗?不会还有人像我一样是被抛弃的Xbox玩家吧?不会吧?言归正传,今天我们抛开游戏不谈,来聊一聊游戏开发领域的技术话题。近年来,随着游戏行业的发展...
博客
系统设计:在搜索系统实现缓存的策略与思考
08-20 613
????目录1一些有趣的搜索事实2 从简单的搜索系统框架说起3 不同的缓存类型4缓存策略5缓存可能带来的问题6 后记世界奇奇怪,人类可可爱。在这个不断变化的复杂世界里,人类每天会在搜索系统中敲下数万乃至上亿个问题,找寻答案,给自己的好奇一个归宿。而搜索系统就像一个输送管道,每日孜孜不倦地进行各种计算,浪里淘金,旨在为各种问题送上致命一击。在庞大的数据流中,答案的搜索往往离不开大量计算资源和时间;并...
博客
一次网络请求的顿悟之旅
08-15 861
????目录1 IP、DNS 和 CDN2 TCP、消息分包和协议设计3CGI 和 FastCGI4服务器模型谈5数据层的演进当你在浏览器输入 qq.com 按下回车键,到页面呈现在你面前,整个过程发生了什么?我以前思考过这个问题,从最前面的浏览器到最后的 db 都梳理的一遍,触发了一次技术顿悟,将很多散落的知识点贯通起来了。01IP、DNS 和 CDN如果面试时问你「局域网 IP 有哪些 IP ...
博客
架构师基本功:如何画好一张UML用例图?
08-14 1106
????目录1从业务建模到业务用例图1.1愿景1.2业务用例图1.3 业务序列图2 从需求设计到系统用例图2.1需求启发2.2系统用例图2.3用例规约3 总结在做程序设计的时候,开发同学往往都有类似的困惑:分不清楚业务用例图、系统用例图都是什么,二者的区别是什么,也不确定自己画的图对不对,会不会被评审挑战。本文作者从业务建模角度切入,详细拆解了...
博客
从数据分析到智能生产:AI在工业中的应用与未来
08-12 1241
韩光祖,腾讯云 TVP,现任上海腾展长融董事 & CTO。美国南加州大学企管硕士,曾任富邦华一銀行总部渠道与数字银行部副总裁及总部信息科技部副总裁、纬创集团 WistronITS 全球总部首席信息官 、企业资安主委、子辰国际开发(央企港银博源基金)技术顾问兼任 COO (投资)、新蛋网全球科技及委外服务总监、外资银行科技一级部主管 12 年。有 20 余年企业 IT/MIS/IS 营运经验,有 DD、私募债权融资、工业地产交易与股权转让、跨境金融财务、科技发展与创新经验。
写文章

热门文章

  • bilibili技术总监毛剑:B站高可用架构实践 29971
  • 快手、抖音、微视类短视频SDK接入教程,7步就能搞定 24714
  • 国产开源IoTOS:腾讯物联网操作系统TencentOS Tiny的探索与实践 16486
  • Git合并不同url的项目 14760
  • 海量服务实践──手 Q 游戏春节红包项目设计与总结(上篇) 12809

分类专栏

  • 数实新声丨在一线 标杆案例访谈 3篇
  • 腾讯云TVP大咖专访 131篇
  • 重构 1篇
  • 技思广益 · 腾讯技术人原创集 5篇
  • 云荐大咖 12篇
  • 云加社区 32篇
  • 腾讯云的1001种玩法 38篇
  • 云加社区线上活动 1篇
  • 云加社区沙龙online 1篇
  • 腾讯云 209篇
  • 容器服务 7篇
  • 机器学习 37篇
  • 数据挖掘 6篇
  • 前端 19篇
  • 爬虫-python 5篇
  • 网易云音乐 1篇
  • 配置 18篇
  • 自动化 2篇
  • web 18篇
  • 深度学习 28篇
  • 个性化推荐 8篇
  • 框架 29篇
  • 云服务器 76篇
  • 云计算 79篇
  • 存储 7篇
  • 安全 15篇
  • 运维 24篇
  • 游戏 15篇
  • 图形处理 11篇
  • 大数据 19篇
  • 架构 25篇
  • 图片处理 6篇
  • android 8篇
  • 神经网络 6篇
  • 移动开发 29篇
  • 游戏开发 11篇
  • 区块链 4篇
  • 物联网 4篇
  • 云通信 10篇

最新评论

  • 5 款程序员画图神器,全免费!

    Kwan的解忧杂货铺@新空间代码工作室: 博主的文章一直都是我的学习圣经,内容详实,通俗易懂,希望博主能一如既往地分享知识,帮助更多人成长。你的博文总是给予我新的思考和启发,真的很感谢你一直以来的辛勤付出。每篇博客都是知识的瑰宝,我真的很喜欢你的风格,期待你的下一次精彩分享。

  • 9月7日,一场开发者专属的线下嘉年华等你来!

    Blossom_fall: 下午不好吗,上午太早了表情包

  • 一文读懂10种最经典的设计模式

    Kwan的解忧杂货铺@新空间代码工作室: 你的文章总是让我拓展了视野,增长了见识,每篇博文都是知识的瑰宝,我真的很喜欢你的风格,感谢你的专业分享。期待你的下一次精彩分享。

  • 9月7日,一场开发者专属的线下嘉年华等你来!

    No1_fancy: 报名了要收费吗

  • 9月7日,一场开发者专属的线下嘉年华等你来!

    qq_33737159: 收费吗,门票多少

最新文章

  • 为什么软件行业仍在重蹈 50 年前的覆辙?读《人月神话》有感
  • 什么才是真正的架构设计?
  • 5 款程序员画图神器,全免费!
2024
09月 7篇
08月 23篇
07月 19篇
06月 15篇
05月 23篇
04月 17篇
03月 17篇
02月 8篇
01月 25篇
2023年186篇
2022年136篇
2021年122篇
2020年183篇
2019年188篇
2018年517篇
2017年178篇

目录

目录

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王下城区网站优化哪家优惠通化网站优化企业网站建设如何优化怀化网站优化报价广州从化网站推广优化怎么把网站优化成功案例莲花网站推广优化360网站优化方案昆明网站seo优化推广费用优化网站导航怎么设计湖北搜索引擎网站优化费用网站生理周期优化西城网站优化服务网站的优化找哪家绵阳网站优化报价张家界网站排名优化方案郴州网站优化哪家服务好重庆网站seo优化排名公司网站代码优化案例哪个网站优化靠谱河南优化网站重庆标准网站优化设计长乐关键词网站优化济南网站搜索优化外包协议长治专业网站优化闵行区专业网站优化案例阳春外贸网站优化乐至网站制作优化公司长乐网站优化排名网站如何简单seo优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化