当前位置: 首页 > article >正文

浅谈 DeepSeek 对 DBA 的影响

引言:

在人工智能技术飞速发展的背景下,DeepSeek 作为一款基于混合专家模型(MoE)和强化学习技术的大语言模型,正在重塑传统数据库管理(DBA)的工作模式。通过结合其强大的自然语言处理能力、推理优化技术及多模态交互特性,DeepSeek 为 DBA 提供了从智能诊断到自动化运维的全新解决方案。本文基于 OceanBase 社区2025.02.21 召开的obdiag SIG + AI SIG 联合周会上探讨的内容展开,将从技术特性、实践案例及未来展望等方面,探讨 DeepSeek 对 DBA 工作的革新意义。

1. DeepSeek--AI圈的魔童闹海

春节期间爆火的两个新闻:一个是国产全新开源大模型deepseek,引发全球开发者热议,甚至引发资本市场的震动,英伟达股价因其AI技术创新而暴跌 17%,单日蒸发 6000 亿美元市值;另一个是国产动画IP《哪吒》系列新作票房口碑双丰收,再次掀起国潮文化热潮。两个看似不相干的领域,却在同一时间点成为现象级话题。

我们看看DeepSeek,为何一款AI产品能掀起如此话题风暴?多数使用者或许说不清它的具体创新点,但通过自身的使用与媒介的传播,感受到其推理能力的强大。

DeepSeek模型已经对标国内Qwen、海外Llama、GPT 4o,从公布的榜单评测上看:DeepSeek-V3 在开源模型中位列榜首,与世界上最先进的闭源模型不分伯仲。

上面的图展示的是技术侧deepseek所做的创新与优化,国内外众多AI领域专家对DeepSeek的技术创新给予高度评价,认为其在某些方面做出了自主创新,为AI发展提供了新的思路。同时,当下很多国内公司与政要机构纷纷本地化部署了DeepSeek,这也从侧面印证了其技术的实用性和可靠性。总结下来DeepSeek的流行主要体现在以下几个方面:

  1. 推理能力:DeepSeek通过强化学习等技术,显著提升了模型的推理能力。例如,在数学和编程问题上,DeepSeek能够生成高质量的答案,而不仅仅是简单的重复或错误。
  2. 成本效益:与传统模型相比,DeepSeek在训练和推理成本上具有明显优势。通过优化训练方式和使用更高效的硬件,DeepSeek能够在较低的成本下达到与大型模型相当的性能。
  3. 开源和共享:DeepSeek选择完全开放代码,允许免费商用,这使得更多的开发者和研究机构能够利用其成果,加速了AI技术的发展和应用。
  4. 技术先进性:DeepSeek采用了先进的技术如DualPipe技术和FP8混合精度,这些技术不仅提高了计算效率,还降低了能耗,使得DeepSeek在性能上有了显著的提升。

在硅谷,类似DeepSeek这样的AI创新并不少有,只是这次是一家中国公司做出了这个动作,相比传统的‘美国创新、中国应用’的模式显得格外的让人兴奋。有人说这是国运来了,我理解所谓"国运来了",实质是时代给予创新者的历史机遇。DeepSeek与哪吒的爆发,恰逢中国从"世界工厂"向"创新策源地"转型的关键节点——14亿人口大市场提供场景试验田,完整工业体系支撑技术迭代,文化复兴运动创造内容需求,这些要素共同构成了培育创新物种的独特生态。

2. AI4DBA

2.1. 如何解决数据库智能运维的“最后一公里”

本节内容大部分引用 OceanBase 社区obdiag SIG Maintainer / 南京基石数据责任有限公司CTO 徐戟(网名:白鳝)在obdiag SIG + AI SIG周上分享的观点。想观看完整会议视频的请添加微信:OBCE888,回复暗号:视频即可获得。

在DeepSeek问世之前,AI赋能数据库智能运维面临的核心挑战在于"最后一公里"的落地鸿沟。传统AI系统虽能生成诊断报告,但其输出结果往往呈现为专业术语堆砌的技术指标(如锁争用率、缓存命中率等),传统AI 产生的分析结论,就只能够给人提供参考,甚至是只能给专家提供参考,因为小白可能还没有足够的数据库的知识,对于结果可能都看不懂。但deepseek的出现,很大程度上让最后一公里的解决变得可操作起来了。

构建数据库智能运维(DBAIOPS)有三个基础,分别是“高精度的基础数据”、“高质量运维知识”以及“强大的推理模型”,三者相辅相成。最开始,我们期望不需要精确的数据,不需要专家知识,就通过模型算法去解决数据库运维这个高阶问题。这个后来被证明是不行的,高精度的基础数据肯定是必要的,这块传统方法就可以实现,比如我们采集的监控数据、告警数据等等。另一方面高质量的运维知识也是必须的,知识覆盖面很广泛,官方的文档、博客、各种书籍等,这些可以提供高质量的知识。最后强大的推理模型也是必不可少的,而 deepseek 能很好的补齐能力。

会上白鳝分享了他基于deepseek-r1推理能力所做的数据库诊断产品的设计图。有了上面的DBAIOPS三大基础,白鳝认为高质量的运维经验是提升AIOPS能力的关键。他指出:很多做AI算法的专家都希望能够通过让大语言模型去学习知识,从而自己总结出经验,再使用这些经验去做诊断分析。哪怕是一个人类想要简单的通过知识学习,不经过任何实践就成为一个高手都十分困难。依靠算法专家和大语言模型的底座能力,给他喂进去一大堆相关知识,就能让他自己总结出经验,想做到这一点并不容易。最起码你也得给他喂进去一大堆的故障案例,通过这些案例他才能总结出相关的经验来。而标注这些案例也需要运维专家的参与,仅仅依靠大语言模型的专家是完全不够的。如果把oracle公司的mos网站的数据喂给他,是不是就无敌了?实际上来说也不见得,因为准确的推理需要精准的数据和背景知识,其实现在mos网站也是有大模型加持的,它并没有表现出你所期望的能力。哪怕你给他足够的语料也无法解决精神定位问题所需要的精准的背景知识,更何况如果没有数据的支撑,这些东西也只能是一个通用的问答而已,无法根据每个现场环境的真实情况去做更为精准的判断。在现阶段,deepseek可以为我们的DBA提供助力。通过与他对话可以节约大量的文档搜索,案例分析的工作,但是DBA还需要有强大的判断能力,否则可能无法正确的使用DeepSeek给你的帮助。

2.2. RAG:DBA的好帮手

在DBA领域,AIGC支持下的知识库已经被证明是十分有效的辅助手段了,大模型结合RAG是目前比较流行的解决方案。RAG 是检索增强生成(Retrieval-augmented generation)的缩写,是一种利用大语言模型和检索系统来生成文本的方法。RAG 可以从大规模的文本数据库中检索相关的文档,然后将它们作为上下文信息提供给 LLM,从而提高 LLM 的生成质量和准确性。RAG 可以应用于多种任务,如问答、摘要、对话等。本节是 OceanBase 高级技术专家-蔡飞志在obdiag SIG + AI SIG周上分享的内容扩展。

2.2.1. 什么是RAG

RAG(Retrieval Augmented Generation, 检索增强生成)是一种技术框架,其核心在于当 LLM 面对解答问题或创作文本任务时,首先会在大规模文档库中搜索并筛选出与任务紧密相关的素材,继而依据这些素材精准指导后续的回答生成或文本构造过程,旨在通过此种方式提升模型输出的准确性和可靠性。RAG方法赋予了开发者无需为每个特定任务重新训练大型模型的能力,仅需连接外部知识库,即可为模型注入额外的信息资源,从而显著提升其回答的精确度。这一方法尤其适用于那些高度依赖专业知识的任务。

以下是 RAG 模型的主要优势:

  1. 可扩展性:减小模型规模及训练开销,同时简化知识库的扩容更新过程。
  2. 准确性:通过引用信息源,用户能够核查答案的可信度,进而增强对模型输出结果的信任感。
  3. 可控性:支持知识内容的灵活更新与个性化配置。
  4. 可解释性:展示模型预测所依赖的检索条目,增进理解与透明度。
  5. 多功能性:RAG 能够适应多种应用场景的微调与定制,涵盖问答、文本摘要、对话系统等领域。
  6. 时效性:运用检索技术捕捉最新信息动态,确保回答既即时又准确,相比仅依赖固有训练数据的语言模型具有明显优势。
  7. 领域定制性:通过对接特定行业或领域的文本数据集,RAG 能够提供针对性的专业知识支持。
  8. 安全性:通过在数据库层面实施角色划分与安全管控,RAG 有效强化了对数据使用的管理,相较于微调模型在数据权限管理上的潜在模糊性,展现出更高的安全性。

虽然现在大语言模型发展迅速,研发大模型的企业也快速涌现,但囿于目前语言模型的技术方案架构,训练模型、更新和发布模型参数需要耗费较长的时间,且训练数据在开启训练之后便不可再继续增补。而现实世界的信息熵增无时无刻不在持续,要让大语言模型在“昏迷”几个月之后还能自发地掌握当下最新的信息显然是不现实的。而且用于训练的数据通常是公开可访问的,一旦遇到到训练时没有输入的知识,参数再大的语言模型也只能根据学习到的知识来“推理”,这也是我们使用大语言模型产品时发现它们可能会胡说八道的原因。

RAG 就是为了让大语言模型能够获取时下更新的、领域更专注的知识来生成所需文本而诞生的技术方案:接收到用户输入后,RAG 系统根据用户输入到知识库中进行知识检索,将检索到的知识结合用户的输入一并提交给大语言模型进行回答的生成。它类似于人类遇到问题时在搜索引擎查询问题原因、浏览网站资料、推理归纳出解决方案的过程,让大语言模型静态的知识库得到补充,打破时空的限制,是一种训练后的“再学习”过程。开发者借助 RAG 能够为各行各业各种任务实现领域专精的“智能体” Agent 以辅助人类完成具体的工作。

2.2.2. OB 智能问答小助手来啦 !

OceanBase 社区为了更好的支持用户对 OB 数据库进行诊断,做了很多的努力。比如敏捷诊断工具obdiag的推出就是为了将诊断经验代码化,让用户能够快速的进行集群的巡检、根因分析以及一键收集等。但如上面2.1章节所说的,obdiag 工具和使用者也存在诸如用户怎么知道什么场景需要什么诊断命令、诊断报告如何解读等“最后一公里”的问题未能解决。

为了解决这最后一公里,OceanBase 社区探索了一条RAG + obdiag的路子,下面详细讲讲实现细节。

大家都知道数据是 LLM 的基础,也是 RAG 系统的基础。对于 RAG 系统而言,数据指的是需要进行检索的知识的集合,是需要用来增强 LLM 文本生成效果的语料库。"Quality In, Quality Out",知识库本身的质量决定了能够产生的答案的质量。OceanBase 有众多开源项目,其中文档开源的组件包括但不限于 OceanBase、OCP、OMS、ODC、OBD、ODP、ob-operator 等。其中大部分文档都是 markdown 格式的文本文件,对于构建 RAG 知识库而言是非常好的资料。

OceanBase 使用开源文档构建 RAG 应用的业务场景之一是负责开源社区论坛问答帖子的初次应答,能够帮助值班同学尽可能地解答用户遇到的特性问题、针对诊断问题指导用户获取系统日志并且提供到问答帖子中。

实际上,我们在接收到论坛用户的提问时会先将问题进行分类,分为闲聊、特性问题和诊断问题,其中:

  • 闲聊是指与 OceanBase 无关的问题,例如明天天气如何?如何使用 Python 实现快速排序算法?。这类问题我们直接不予回复,直接终止流程。
  • 特性问题是指与 OceanBase 及其周边组件的特性有关的疑问,往往是抽象、宏观、整体的描述,例如oceanbase 合并到底是集群级别还是租户级别?oceanbase分区均衡策略的优先级顺序是什么?。回答特性问题属于典型的 RAG 场景,我们会将特性问题进行书面润色和改写后提交给 RAG 流程进行文档检索、检索重排和 LLM 答复流程,最终产生具有参考文档链接的答复。
  • 诊断问题是指与 OceanBase 及其周边组件的问题排查有关的问题,往往是具体、微观、局部的描述,例如OCP 告警推送 失败 【CancellationException】租户备份失败: ob 4.0 环境下,调用租户下 备份恢复菜单执行租户级别备份,失败,报错代码2024-08-13 10:40:38.370 INFO 1057922 --- [p...。诊断问题的处理比特性问题复杂很多,无论对于 LLM 还是对于人类来说都是如此,诊断问题复杂在错误域极大,诊断链路极长且没有足够丰富的诊断知识库可供参考,仅凭开源文档库的文档检索是无法完全解决用户问题的。在诊断问题的处理上,我们借助 obdiag 敏捷诊断工具的部分能力,为用户提供日志采集、根因分析的指引和进一步诊断方向的建议。

对于诊断问题,我们采取至少三轮对话的策略:

  1. 第一轮对话:用户初次提问时,我们将用户问题改写后交给 OBDiag Agent,该智能体结合 obdiag 的日志采集和根因分析场景给出相应的命令建议,建议用户采集日志上传到论坛中,如果可能也使用根因分析尝试排查问题。除了提出建议的 obdiag 命令之外,还会提出 4 个左右的问题,让用户补充信息;
  2. 中间轮次对话:中间轮次对话由 Question Agent 负责答复,该智能体负责根据历史消息判断问题是否可解,如果判断为可以解决,则交给 RAG Agent 进行答复;如果判断为不可解决,则向用户追问 4-5 个问题进一步获取信息;
  3. 最终对话:最终轮次的对话由 RAG Agent 完成,与特性问题一致。先用历史消息对用户的问题进行向量检索,查询到相关的文档之后再综合历史对话让 LLM 生成回答,尝试解决用户的问题,并不再响应后续的提问。最终对话生成后会追加(小助手答复已经结束,如果未能解决您的问题,请您继续追问并等待其他同学的答复,谢谢!)告知用户 RAG 系统流程已结束。

下面是OB 智能问答小助手实际使用的图,左侧是钉钉群里的效果,右侧是OceanBase 社区论坛的使用效果。

3. DBA:敢问路在何方?

当下AI技术已逐步渗透数据库领域,从自动化运维到智能诊断调优,DBA的职能边界正经历前所未有的重构。面对AI的冲击,DBA群体既感受到效率提升的机遇,也面临职业价值被弱化的隐忧。

咱们开篇从deepseek来,结束也从deepseek走,以下是deepseek的回答,我觉得写的比我全面,大家可以看一看。

4. 写在最后

AI时代,DBA不会消失,但固守传统技能者必将被淘汰。未来的DBA将是“六边形战士”:既懂数据库内核原理,又能驾驭AI工具;既能设计高可用架构,又深谙业务需求。唯有以技术为舟、以业务为舵,方能在数据洪流中开辟新航路。

相关文章:

浅谈 DeepSeek 对 DBA 的影响

引言: 在人工智能技术飞速发展的背景下,DeepSeek 作为一款基于混合专家模型(MoE)和强化学习技术的大语言模型,正在重塑传统数据库管理(DBA)的工作模式。通过结合其强大的自然语言处理能力、推理…...

Web服务器配置

配置虚拟主机:启动XAMPP的Apache,在htdocs目录中创建www.php.test目录 创建index.html,内容为“Welcome www.php.test”,访问两个虚拟主机 访问权限控制 在Apache的主配置文件httpd.conf中,默认已经添加了一些目录的…...

DeepSeek-R1本地化部署(Mac)

一、下载 Ollama 本地化部署需要用到 Ollama,它能支持很多大模型。官方网站:https://ollama.com/ 点击 Download 即可,支持macOS,Linux 和 Windows;我下载的是 mac 版本,要求macOS 11 Big Sur or later,Ol…...

Java面试第九山!《SpringBoot框架》

引言 你是否经历过这样的场景?想快速开发一个Java Web应用,却被XML配置、依赖冲突、服务器部署搞得焦头烂额。Spring Boot的诞生,正是为了解决这些"配置地狱"问题。 对比项Spring Boot传统 Spring配置复杂度自动配置,…...

Java 中数据脱敏的实现

数据脱敏 首先,要思考一个问题,SpringBoot 查询到的一条数据是一个 Java 对象,为什么返回给前端时候,前端拿到的却是 JSON 格式的数据呢? 是因为 SpringBoot 默认采用了 Jackson 作为序列化器,而 Jackson…...

PyQt组件间的通信方式

PyQt组件间的通信方式 PyQt组件间的通信方式 1. 组件介绍 1.1 组件的定义1.2 组件的分类 2. 组件的通信方式 2.1 信号与槽(Signal & Slot) 1. 组件介绍 在 Qt 框架中,‌组件‌(Component)是构建图形用户界面&am…...

视频理解开山之作 “双流网络”

1 论文核心信息 1.1核心问题 任务:如何利用深度学习方法进行视频中的动作识别(Action Recognition)。挑战: 视频包含时空信息,既需要捕捉静态外观特征(Spatial Information),也需要…...

基于Matlab的人脸识别的二维PCA

一、基本原理 传统 PCA 在处理图像数据时,需将二维图像矩阵拉伸为一维向量,这使得数据维度剧增,引发高计算成本与存储压力。与之不同,2DPCA 直接基于二维图像矩阵展开运算。 它着眼于图像矩阵的列向量,构建协方差矩阵…...

Java直通车系列15【Spring MVC】(ModelAndView 使用)

目录 1. ModelAndView 概述 2. ModelAndView 的主要属性和方法 主要属性 主要方法 3. 场景示例 示例 1:简单的 ModelAndView 使用 示例 2:使用 ModelAndView 处理列表数据 示例 3:使用 ModelAndView 处理异常情况 1. ModelAndView 概…...

考研数一非数竞赛复习之Stolz定理求解数列极限

在非数类大学生数学竞赛中,Stolz定理作为一种强大的工具,经常被用来解决和式数列极限的问题,也被誉为离散版的’洛必达’方法,它提供了一种简洁而有效的方法,使得原本复杂繁琐的极限计算过程变得直观明了。本文&#x…...

Java在小米SU7 Ultra汽车中的技术赋能

目录 一、智能驾驶“大脑”与实时数据 场景一:海量数据的分布式计算 场景二:实时决策的毫秒级响应 场景三:弹性扩展与容错机制 技术隐喻: 二、车载信息系统(IVI)的交互 场景一:Android Automo…...

【简单的C++围棋游戏开发示例】

C围棋游戏开发简单示例&#xff08;控制台版&#xff09; ‌核心代码实现‌ #include <iostream> #include <vector> #include <queue> using namespace std;const int SIZE 9; // 简化棋盘为9x9‌:ml-citation{ref"1" data"citationList&…...

DeepSeek R1-7B 医疗大模型微调实战全流程分析(全码版)

DeepSeek R1-7B 医疗大模型微调实战全流程指南 目录 环境配置与硬件优化医疗数据工程微调策略详解训练监控与评估模型部署与安全持续优化与迭代多模态扩展伦理与合规体系故障排除与调试行业应用案例进阶调优技巧版本管理与迭代法律风险规避成本控制方案文档与知识传承1. 环境配…...

HCIA-DHCP

1、定义&#xff1a;DHCP即动态主机配置协议&#xff0c;通过C/S模型架构&#xff0c;无需主机配置IP地址&#xff0c;自动分配网络配置参数的网络协议。 2、作用 对比项目无 DHCP有 DHCP配置难度配置多&#xff0c;容易出错自动为客户端分配 IP 地址及其他网络配置参数&…...

前端面试题 口语化复述解答(从2025.3.8 开始频繁更新中)

背景 看了很多面试题及其答案。但是过于标准化&#xff0c;一般不能直接用于回复面试官&#xff0c;这里我将总结一系列面试题&#xff0c;用于自我复习也乐于分享给大家&#xff0c;欢迎大家提供建议&#xff0c;我必不断完善之。 Javascript ES6 1. var let const 的区别…...

网络安全技术和协议(高软43)

系列文章目录 网络安全技术和协议 文章目录 系列文章目录前言一、网络安全技术1.防火墙2.入侵检测系统IDS3.入侵防御系统IPS 二、网络攻击和威胁三、网络安全协议四、真题在这里插入图片描述 总结 前言 本节讲明网络安全技术和协议方面的相关知识。 一、网络安全技术 1.防火…...

K8S学习之基础十七:k8s的蓝绿部署

蓝绿部署概述 ​ 蓝绿部署中&#xff0c;一共有两套系统&#xff0c;一套是正在提供服务的系统&#xff0c;一套是准备发布的系统。两套系统都是功能完善、正在运行的系统&#xff0c;只是版本和对外服务情况不同。 ​ 开发新版本&#xff0c;要用新版本替换线上的旧版本&…...

【统计至简】【古典概率模型】联合概率、边缘概率、条件概率、全概率

联合概率、边缘概率、条件概率 联合概率边缘概率条件概率全概率 一副标准扑克牌有 54 张&#xff0c;包括 52 张常规牌&#xff08;13 个点数&#xff0c;每个点数有 4 种花色&#xff09;和 2 张王&#xff08;大、小王&#xff09;。我们从中随机抽取一张牌&#xff0c;定义以…...

批量插入对比-mysql-oracle-sqlserver

单个插入mysql //单个 根据有值就插入&#xff0c;无值不改动 <insert id"insertOne" keyColumn"id" keyProperty"id"parameterType"com.test.log" useGeneratedKeys"true">insert into test_mysql_tab<trim p…...

saltstack通过master下发脚本批量修改minion_id,修改为IP

通过master下发脚本批量修改minion_id&#xff0c;以修改为IP为例 通过cmd.script远程执行shell脚本修改minion_id&#xff0c;步骤如下: # 下发脚本并执行 >> salt old_minion_id cmd.script salt://modify_minion_id.sh saltenvdev #输出结果 old_minion_id:Minion di…...

【网络】TCP常考知识点详解

TCP报文结构 TCP报文由**首部&#xff08;Header&#xff09;和数据&#xff08;Data&#xff09;**两部分组成。首部包括固定部分&#xff08;20字节&#xff09;和可选选项&#xff08;最多40字节&#xff09;&#xff0c;总长度最大为60字节。 1. 首部固定部分 源端口&…...

LeetCode1137 第N个泰波那契数

泰波那契数列求解&#xff1a;从递归到迭代的优化之路 在算法的世界里&#xff0c;数列问题常常是我们锻炼思维、提升编程能力的重要途径。今天&#xff0c;让我们一同深入探讨泰波那契数列这一有趣的话题。 泰波那契数列的定义 泰波那契序列 Tn 有着独特的定义方式&#xf…...

六十天前端强化训练之第十四天之深入理解JavaScript异步编程

欢迎来到编程星辰海的博客讲解 目录 一、异步编程的本质与必要性 1.1 单线程的JavaScript运行时 1.2 阻塞与非阻塞的微观区别 1.3 异步操作的性能代价 二、事件循环机制深度解析 2.1 浏览器环境的事件循环架构 核心组件详解&#xff1a; 2.2 执行顺序实战分析 2.3 Nod…...

利用EasyCVR平台打造化工园区视频+AI智能化监控管理系统

化工园区作为化工产业的重要聚集地&#xff0c;其安全问题一直是社会关注的焦点。传统的人工监控方式效率低下且容易出现疏漏&#xff0c;已经难以满足日益增长的安全管理需求。 基于EasyCVR视频汇聚平台构建的化工园区视频AI智能化应用方案&#xff0c;能够有效解决这些问题&…...

【VUE2】第三期——样式冲突、组件通信、异步更新

目录 1 scoped解决样式冲突 2 data写法 3 组件通信 3.1 父子关系 3.1.1 父向子传值 props 3.1.2 子向父传值 $emit 3.2 非父子关系 3.2.1 event bus 事件总线 3.2.2 跨层级共享数据 provide&inject 4 props 4.1 介绍 4.2 props校验完整写法 5 v-model原理 …...

深度学习分类回归(衣帽数据集)

一、步骤 1 加载数据集fashion_minst 2 搭建class NeuralNetwork模型 3 设置损失函数&#xff0c;优化器 4 编写评估函数 5 编写训练函数 6 开始训练 7 绘制损失&#xff0c;准确率曲线 二、代码 导包&#xff0c;打印版本号&#xff1a; import matplotlib as mpl im…...

深入解析ECDSA与RSA公钥算法:原理、对比及AWS最佳实践

一、公钥加密算法概述 在HTTPS通信和数字证书领域,ECDSA(椭圆曲线数字签名算法)和RSA(Rivest-Shamir-Adleman)是最主流的两种非对称加密算法。它们共同构成了现代网络安全的基础,但设计理念和技术实现存在显著差异。 © ivwdcwso (ID: u012172506) 二、RSA算法详解…...

preloaded-classes裁剪

系统预加载了哪些class类&#xff1f;system/etc/preloaded-classes 修改源代码&#xff1f; frameworks\base\config\preloaded-classes 默认位置&#xff0c;如果改了不生效&#xff0c;可能有其它模块的mk文件指定了preloaded-classes覆盖了framework模块&#xff0c;例如…...

在Linux中开发OpenGL——检查开发环境对OpenGL ES的支持

由于移动端GPU规模有限&#xff0c;厂商并没有实现完整的OpenGL特性&#xff0c;而是实现了它的子集——OpenGL ES。因此如果需要开发的程序要支持移动端平台&#xff0c;最好使用OpenGL ES开发。 1、 下载支持库、OpenGL ES Demo 1.1、下载PowerVRSDK支持库作为准备&#xff…...

HJ C++11 Day2

Initializer Lists 对于一个类P class P{P(int a, int b){cout << "P(int, int), a" << a << ", b " << b << endl;}P(initializer_list<int> initlist){cout << "P(initializer_list<int>), val…...