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

信创开发中的数据库详解:国产替代背景下的技术生态与实践指南

在这里插入图片描述

🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle,mysql,postgresql等进行开发应用,熟悉DICOM医学影像及DICOM协议,业余时间自学JavaScript,Vue,qt,python等,具备多种混合语言开发能力。撰写博客分享知识,致力于帮助编程爱好者共同进步。欢迎关注、交流及合作,提供技术支持与解决方案。
技术合作请加本人wx(注明来自csdn):xt20160813

在这里插入图片描述

信创开发中的数据库详解:国产替代背景下的技术生态与实践指南


一、引言:信创开发与数据库的战略核心

信息技术应用创新(信创)产业是中国实现技术自主可控、保障国家信息安全的核心战略支柱。在全球科技竞争加剧和国际技术封锁的背景下,信创以“2+8+N”战略为指引,覆盖党政、金融、电信、能源等关键领域,旨在构建从芯片、操作系统、数据库到应用软件的国产化技术生态。2025年,信创市场规模预计突破2.5万亿元,数据库作为数据存储与管理的核心组件,直接影响系统的性能、可靠性和安全性。

在信创开发中,国产数据库不仅是技术自主化的关键环节,更是推动金融、政务、电信等行业数字化转型的基础设施。达梦数据库、人大金仓、华为GaussDB等国产数据库的崛起,打破了国外数据库的垄断,适配了鲲鹏、飞腾等国产芯片和麒麟OS、统信UOS等操作系统。本文将从信创开发的背景出发,系统分析国产数据库在信创生态中的技术特性、应用场景及开发实践,并为开发者提供详细的技术选择与学习路径,助力在信创浪潮中把握机遇。


二、信创开发中的数据库背景

1. 信创开发的政策与市场驱动

信创产业的快速发展源于国家对信息技术自主可控的战略需求。《“十四五”规划纲要》明确提出“突破关键核心技术,构建安全可控的信息技术体系”。2024年,工信部发布的《信息技术应用创新产业发展白皮书》指出,到2027年,国产数据库在“2+8”行业的渗透率需达到80%以上。《网络安全法》《个人信息保护法》等法规进一步强化了数据库的合规性和安全性要求。

市场层面,信创数据库生态已初具规模。达梦数据库、人大金仓、华为GaussDB等产品在金融、政务、电信等行业广泛应用,市场份额快速增长。开源社区如OpenGauss吸引了数万开发者,生态碎片化问题逐步缓解,数据库的标准化和兼容性显著提升,为开发者提供了更广阔的舞台。

2. 数据库在信创生态中的角色

国产数据库在信创开发中承担以下核心功能:

  • 数据存储与管理:提供高效的存储结构、索引机制和查询优化,满足高并发场景需求。
  • 硬件适配:支持国产芯片(如鲲鹏、飞腾、龙芯)和RISC-V架构,确保性能与兼容性。
  • 生态协同:与国产操作系统(麒麟OS、统信UOS)、中间件(TongWeb)无缝集成。
  • 安全合规:实现数据加密、访问控制,满足《网络安全法》等法规要求。
  • 分布式架构:支持云原生和分布式场景,适配金融、电信等高可用需求。
  • 开源创新:通过OpenGauss等社区,吸引开发者,加速技术迭代。

开发者需根据数据库的技术特性、适配场景和生态支持,选择合适的技术栈和开发工具。


三、国产数据库详解:技术特性与应用场景

以下从信创生态的实际需求出发,详细分析主流国产数据库的技术架构、应用场景及开发实践。

1. 达梦数据库(DM):国产数据库的领军者

  • 技术特性
    • 架构:支持单机、分布式、集群部署,兼容SQL92标准。
    • 语言:DMSQL(兼容PL/SQL),支持存储过程、触发器。
    • 适配:支持鲲鹏、飞腾、龙芯芯片,兼容麒麟OS、统信UOS。
    • 安全:内置数据加密、行级访问控制,符合等保三级要求。
    • 工具:DMAdmin(图形化管理)、DMETL(数据迁移)。
  • 适用场景
    • 金融行业的核心交易系统。
    • 政务大数据平台的数据存储与分析。
    • 电信行业的计费与客户管理系统。
  • 信创案例
    • 工商银行核心系统国产化改造,DM8集群部署于鲲鹏服务器。
    • 国家电网的数据分析平台,DMAdmin优化DMSQL查询性能。
    • 某政务云项目,DMETL实现从Oracle到DM8的数据迁移。
  • 开发实践
    • 技术栈:DMSQL(存储过程)、Python(数据处理)、Java(JDBC开发)。
    • 工具:DMAdmin、达梦ODBC/JDBC驱动。
    • 社区:达梦社区(www.dameng.com)。
  • 优势与挑战
    • 优势:生态成熟,兼容性强,支持复杂事务处理。
    • 挑战:DMSQL的独特语法需额外学习,分布式性能需优化。
  • 开发者建议
    • 学习DMSQL的存储过程开发,优化复杂业务逻辑。
    • 掌握DMAdmin的集群管理功能,参与数据迁移项目。
    • 关注达梦社区的开源工具链动态。

2. 华为GaussDB:分布式数据库的先锋

  • 技术特性
    • 架构:支持分布式、云原生部署,基于PostgreSQL生态。
    • 语言:PL/pgSQL,兼容SQL标准,支持JSONB等高级特性。
    • 适配:深度优化鲲鹏架构,适配OpenEuler、鸿蒙OS。
    • 安全:支持透明加密、动态数据脱敏,满足金融级安全需求。
    • 工具:Data Studio(SQL调试与运维)、GSQL(命令行管理)。
  • 适用场景
    • 金融行业的分布式交易系统。
    • 电信行业的实时计费与分析。
    • 云原生场景的大规模数据处理。
  • 信创案例
    • 华为云金融风控系统,GaussDB分布式集群处理高并发事务。
    • 中国电信的计费系统,Data Studio优化PL/pgSQL存储过程。
    • 政务云的大数据平台,GaussDB支持高并发OLAP查询。
  • 开发实践
    • 技术栈:PL/pgSQL(事务开发)、Go(高并发服务)、Python(数据分析)。
    • 工具:Data Studio、华为云DevCloud(CI/CD集成)。
    • 社区:OpenGauss社区(opengauss.org)。
  • 优势与挑战
    • 优势:分布式性能优异,与华为云生态深度集成,生态开源化。
    • 挑战:分布式事务开发复杂,需熟悉PostgreSQL生态。
  • 开发者建议
    • 学习PL/pgSQL和分布式事务开发,优化GaussDB性能。
    • 参与OpenGauss社区,提交查询优化补丁。
    • 掌握Data Studio的SQL Profiler,定位性能瓶颈。

3. 人大金仓(KingbaseES):灵活的国产化选择

  • 技术特性
    • 架构:支持单机、集群部署,兼容Oracle和PostgreSQL语法。
    • 语言:PL/SQL,支持复杂存储过程和触发器。
    • 适配:支持飞腾、龙芯芯片,兼容统信UOS、麒麟OS。
    • 安全:提供数据加密、审计追踪,满足政务安全需求。
    • 工具:KESAdmin(管理工具)、KESQL(命令行交互)。
  • 适用场景
    • 政务系统的核心数据库。
    • 教育行业的数据管理平台。
    • 中小企业的业务系统国产化。
  • 信创案例
    • 某省级政务云,KingbaseES适配龙芯服务器,运行PL/SQL业务逻辑。
    • 教育部的考试系统,KESAdmin管理高并发数据查询。
    • 某中小银行的业务系统,KingbaseES实现从MySQL的数据迁移。
  • 开发实践
    • 技术栈:PL/SQL(存储过程)、Java(JDBC开发)、Python(数据迁移)。
    • 工具:KESAdmin、金仓JDBC驱动。
    • 社区:人大金仓社区(www.kingbase.com.cn)。
  • 优势与挑战
    • 优势:兼容性强,适合Oracle迁移,部署灵活。
    • 挑战:市场份额较小,社区生态需进一步扩展。
  • 开发者建议
    • 学习PL/SQL的迁移技巧,适配KingbaseES。
    • 掌握KESAdmin的集群配置,优化高并发场景。
    • 参与金仓社区,学习数据迁移案例。

4. 南大通用(GBase):行业专属的数据库

  • 技术特性
    • 架构:支持分布式、列存、混合存储,优化OLAP场景。
    • 语言:SQL,兼容主流数据库语法,支持存储过程。
    • 适配:支持鲲鹏、飞腾芯片,兼容OpenEuler、麒麟OS。
    • 安全:内置数据加密、访问控制,满足电信级需求。
    • 工具:GBase Studio(管理与运维)、GBase ETL(数据集成)。
  • 适用场景
    • 电信行业的大数据分析。
    • 能源行业的实时监控系统。
    • 金融行业的风险管理平台。
  • 信创案例
    • 中国移动的计费分析,GBase列存数据库优化PB级数据查询。
    • 国家电网的监控平台,GBase Studio管理分布式集群。
    • 某券商的风险系统,GBase ETL实现多源数据集成。
  • 开发实践
    • 技术栈:SQL(查询优化)、Python(数据处理)、Java(业务开发)。
    • 工具:GBase Studio、GBase JDBC驱动。
    • 社区:南大通用社区(www.gbase.cn)。
  • 优势与挑战
    • 优势:列存性能优异,适合大数据分析场景。
    • 挑战:OLTP场景支持有限,生态规模较小 from typing import Optional

import uuid
from datetime import datetime

class XAIArtifact:
def init(
self,
artifact_id: str,
title: str,
content_type: str,
content: str,
artifact_version_id: Optional[str] = None,
):
self.artifact_id = artifact_id
self.title = title
self.content_type = content_type
self.content = content
self.artifact_version_id = artifact_version_id or str(uuid.uuid4())
self.created_at = datetime.utcnow()
self.updated_at = datetime.utcnow()

def to_xml(self) -> str:attributes = (f'artifact_id="{self.artifact_id}" 'f'title="{self.title}" 'f'contentType="{self.content_type}"')if self.artifact_version_id:attributes += f' artifact_version_id="{self.artifact_version_id}"'return f"<xaiArtifact {attributes}>{self.content}</xaiArtifact>"

def generate_artifact(
artifact_id: str,
title: str,
content_type: str,
content: str,
artifact_version_id: Optional[str] = None,
) -> str:
artifact = XAIArtifact(
artifact_id=artifact_id,
title=title,
content_type=content_type,
content=content,
artifact_version_id=artifact_version_id,
)
return artifact.to_xml()

Example usage

if name == “main”:
sample_content = “”"

Sample Artifact

This is a sample artifact content.
“”"
artifact_xml = generate_artifact(
artifact_id=str(uuid.uuid4()),
title=“Sample Artifact”,
content_type=“text/markdown”,
content=sample_content,
)
print(artifact_xml)

  • 开发者建议
    • 学习SQL的列存优化技巧,适配GBase的分析场景。
    • 掌握GBase Studio的分布式管理功能。
    • 参与南大通用社区,学习大数据案例。

四、数据库选择与开发实践指南

1. 选择策略

根据信创开发的需求,开发者可按以下场景选择数据库:

  • 金融交易系统(高并发OLTP):达梦DM(成熟稳定)、华为GaussDB(分布式性能)。
  • 政务大数据(混合负载):人大金仓(兼容性强)、达梦DM(生态完善)。
  • 电信与能源(OLAP分析):南大通用GBase(列存优化)、GaussDB(云原生支持)。
  • 中小企业(快速部署):人大金仓(灵活适配)、达梦DM(社区支持)。
场景推荐数据库核心技术栈优先级
金融交易(OLTP)达梦DM、GaussDBDMSQL、PL/pgSQL、Java★★★★★
政务大数据达梦DM、人大金仓PL/SQL、Python、Java★★★★☆
电信与能源(OLAP)GBase、GaussDBSQL、Python、Go★★★★☆
中小企业人大金仓、达梦DMPL/SQL、Java、Python★★★☆☆

2. 开发路径规划

  • 初学者(0-6个月)
    • 目标:掌握数据库基础,熟悉信创生态。
    • 必修:SQL(查询优化)、Python(数据处理)。
    • 实践:在达梦DM上开发简单DMSQL存储过程,完成Python数据迁移脚本。
    • 资源:达梦社区教程、OpenGauss文档。
  • 进阶者(6-18个月)
    • 目标:深入数据库开发,参与信创项目。
    • 方向选择
      • 事务开发:学习DMSQL/PL/pgSQL,开发达梦或GaussDB存储过程。
      • 数据分析:掌握SQL和Python,优化GBase的OLAP查询。
      • 数据迁移:学习DMETL/KESAdmin,完成Oracle到国产数据库迁移。
      • 分布式开发:学习GaussDB的分布式事务,适配云原生场景。
    • 实践:参与OpenGauss、达梦社区项目。
  • 高级开发者(18个月以上)
    • 目标:成为数据库专家。
    • 技能拓展
      • 性能优化:使用Data Studio的SQL Profiler优化GaussDB。
      • 分布式架构:开发GaussDB的分布式事务逻辑。
      • 大数据集成:优化GBase的ETL流程,适配星环TDH。
    • 实践:主导信创项目(如金融系统国产化),申请“信创工程师”认证。

3. 工具链与生态适配

  • 开发工具
    • DMAdmin:达梦数据库的图形化管理与运维。
    • Data Studio:GaussDB的SQL调试与性能分析。
    • KESAdmin:人大金仓的集群管理工具。
    • GBase Studio:南大通用的分布式管理工具。
  • 驱动与接口
    • ODBC/JDBC驱动:适配Python、Java开发。
    • Gitee/TGit:代码托管与团队协作。
  • 社区资源
    • OpenGauss:分布式数据库开发文档与案例。
    • 达梦社区:DMSQL开发与迁移教程。
    • 人大金仓社区:PL/SQL适配案例。

五、信创数据库开发的挑战与应对策略

1. 生态碎片化

  • 现状:达梦、GaussDB、金仓等数据库的语法与工具存在差异,适配成本高。
  • 对策
    • 优先选择“2+8”行业的通用数据库(如达梦DM、GaussDB)。
    • 参与信创工委会的数据库标准制定,了解SQL规范。
    • 使用跨平台语言(如Python、Java)降低适配难度。

2. 性能与兼容性

  • 现状:国产数据库在高并发和PB级数据场景下的性能需优化。
  • 对策
    • 学习索引优化、查询重写等SQL调优技术。
    • 使用PerfDog、Data Studio进行性能分析。
    • 参与国产化适配项目,积累兼容性经验。

3. 数据迁移复杂性

  • 现状:从Oracle、MySQL到国产数据库的迁移涉及 schema 重构和数据转换。
  • 对策
    • 学习DMETL、KESAdmin等迁移工具的使用。
    • 掌握Python的ETL脚本开发,自动化迁移流程。
    • 参与达梦、金仓社区的迁移案例学习。

4. 人才缺口与技能转型

  • 现状:信创领域缺乏熟悉国产数据库的开发者。
  • 对策
    • 报名华为开发者学院、达梦数据库培训。
    • 参与OpenGauss、达梦社区,积累项目经验。
    • 通过“信创工程师”认证(数据库方向),提升职业竞争力。

六、国产数据库的未来前景与开发者机遇

1. 技术融合与创新

  • 云原生+数据库:GaussDB与Kubernetes深度集成,推动Go和云原生技术栈普及。
  • AI+数据库:达梦DM与MindSpore结合,Python成为数据分析核心。
  • 分布式架构:GaussDB、GBase的分布式技术引领金融、电信创新。
  • 开发者机遇:掌握云原生和AI技术,参与前沿项目。

2. 生态统一与国际化

  • 信创工委会推动数据库标准统一,降低碎片化。
  • OpenGauss、达梦社区吸引全球开发者,生态国际化加速。
  • 国产数据库通过“一带一路”输出到东南亚、非洲。
  • 开发者机遇:参与国际开源社区,学习国际化开发规范。

3. 安全与合规升级

  • 《网络安全法》《个人信息保护法》推动数据库安全体系升级。
  • 数据加密、动态脱敏技术在国产数据库中的应用扩大。
  • 开发者机遇:学习安全开发技术,参与高安全项目。

4. 市场前景量化

  • 市场规模:2027年国产数据库市场预计达300亿元。
  • 岗位需求:数据库开发(DMSQL/PL/pgSQL)年薪25-50万,分布式开发(Go)年薪30-60万,数据分析(Python)年薪20-40万。
  • 区域机遇:北京、上海、深圳、武汉的信创产业集群提供大量岗位。

七、结语:面向信创的数据库开发行动指南

国产数据库是信创生态的核心支柱,开发者的技术选择与实践需紧扣政策导向、生态适配和未来趋势。以下为核心行动建议:

  1. 构建技术体系:以DMSQL/PL/pgSQL(数据库开发)、Python(数据处理)、Java/Go(业务开发)为核心,形成复合技能。
  2. 深度融入生态:加入OpenGauss、达梦、人大金仓社区,积累项目经验。
  3. 紧跟技术迭代:关注信创白皮书、行业峰会,掌握GaussDB、DM8的新特性。
  4. 确保合规开发:熟悉《网络安全法》,保障开发合规性。

对于初学者,建议从达梦DM的DMSQL开发或Python数据处理入手;对于进阶开发者,聚焦GaussDB的分布式开发或GBase的OLAP优化;对于高级开发者,探索云原生数据库或AI集成,主导核心项目。信创浪潮为开发者提供了广阔舞台,通过系统学习与实践,每位开发者都能为技术自主可控贡献力量,并在全球科技竞争中赢得职业先机。

相关文章:

信创开发中的数据库详解:国产替代背景下的技术生态与实践指南

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…...

【Linux】第十三章 访问Linux文件系统

目录 1. 存储设备是什么&#xff1f;怎么理解分区和格式化&#xff1f; 2. 文件系统是什么&#xff1f; 3. 挂载是什么&#xff1f;挂载点是什么&#xff1f; 4. 怎么理解块设备&#xff1f; 5. 在SATA附加存储中&#xff0c;第一磁盘上的第一个分区和第二磁盘的第二个分区…...

多态与虚函数

在 C 中&#xff0c;virtual 关键字用于实现多态性&#xff08;Polymorphism&#xff09;&#xff0c;这是面向对象编程&#xff08;OOPP&#xff09;的核心特性之一。多态性允许你编写通用的代码&#xff0c;该代码可以操作不同类型的对象&#xff0c;而这些对象可以有不同的内…...

Spring Boot - 配置管理与自动化配置进阶

Spring Boot 的配置管理和自动化配置是其核心特性之一&#xff0c;能够显著提升开发效率和应用灵活性。本文将深入探讨以下内容&#xff1a; 1、配置管理&#xff1a;多环境配置与优先级解析。 2、自动化配置&#xff1a;自定义 Spring Boot Starter 与 spring.factories 扩展…...

第六章 QT基础:7、Qt中多线程的使用

在进行桌面应用程序开发时&#xff0c;假设应用程序需要处理比较复杂的逻辑&#xff0c;如果只有一个线程去处理&#xff0c;就会导致窗口卡顿&#xff0c;无法处理用户的相关操作。 这种情况下&#xff0c;需要使用多线程&#xff1a; 主线程处理窗口事件和控件更新子线程进…...

前端Vue3 + 后端Spring Boot,前端取消请求后端处理逻辑分析

在 Vue3 Spring Boot 的技术栈下&#xff0c;前端取消请求后&#xff0c;后端是否继续执行业务逻辑的答案仍然是 取决于请求处理的阶段 和 Spring Boot 的实现方式。以下是结合具体技术的详细分析&#xff1a; 1. 请求未到达 Spring Boot 场景&#xff1a;前端通过 AbortContr…...

ShaderToy学习笔记 05.3D旋转

1. 3D旋转 1.1. 汇制立方体 由于立方体没有旋转&#xff0c;所以正对着看过去时&#xff0c;看起来是正方形的&#xff0c;所以需要旋转一下&#xff0c;才能看到立方体的样子。 常见几何体的SDF BOX 的SDF为 float sdBox( vec3 p, vec3 b ) {vec3 q abs(p) - b;return len…...

编程日志4.24

栈的链表基础表示结构 #include<iostream> #include<stdexcept> using namespace std; //模板声明&#xff0c;表明Stack类是一个通用的模板&#xff0c;可以用于存储任何类型的元素T template<typename T> //栈的声明 //Stack类的声明&#xff0c;表示一…...

通信设备制造数字化转型中的创新模式与实践探索

在数字化浪潮下&#xff0c;通信设备制造企业积极探索创新模式&#xff0c;推动数字化转型&#xff0c;以提升竞争力和适应市场变化。 在生产模式创新方面&#xff0c;企业引入工业互联网平台&#xff0c;实现设备互联互通与生产过程智能化监控。通过在生产设备上安装传感器&a…...

同一个路由器接口eth0和ppp0什么不同?

答案摘自 百度知道&#xff0c; eth0是以太网接口&#xff0c;是表示以太网连接的物理接口&#xff0c;路由器可能会有不止一个以太网接口&#xff0c;因此可能会eth0&#xff0c;eht1之类的。 ppp0是经以太网接口PPP拨号时创建的链路接口&#xff0c;用以建PPP拨号连接的&am…...

零训练成本优化LLM: 11种LLM权重合并策略原理与MergeKit实战配置

随着大语言模型的快速发展&#xff0c;如何在不消耗大量计算资源的情况下优化模型性能成为业界关注焦点。模型权重合并技术提供了一种零训练成本的高效解决方案&#xff0c;能够智能整合多个专业微调模型的优势&#xff0c;无需额外训练即可显著提升性能表现。本文系统剖析11种…...

基于tabula对pdf中多个excel进行识别并转换成word中的优化(五)

优化地方&#xff1a;处理合并的单元格内容。 1、修改为stream"complex" 2、增加换行符f"{table_data[i - 1][j]}\n{table_data[i][j]}".strip() 一、pdf中excel样例 二、完整代码 import tabula import numpy as np from docx import Document from docx…...

QT中的网络编程

Qt中的网络编程是通过封装操作系统的API进行实现的 C标准库中&#xff0c;并没有提供网络编程的封装接口 进行网络编程时本质是在编写应用层代码&#xff0c;需要传输层提供支持 传输层最核心的协议为UDP/TCP 使用Qt网络编程的API时&#xff0c;需要在.pro文件中添加network模块…...

0.5 像素边框实现

0.5 像素边框怎么实现 文章目录 0.5 像素边框怎么实现方法 1&#xff1a;使用 transform: scale() 缩放&#xff08;推荐&#xff09;方法 2&#xff1a;直接使用 0.5px 边框&#xff08;部分浏览器支持&#xff09;方法 3&#xff1a;使用 box-shadow 模拟边框方法 4&#xff…...

【Vagrant+VirtualBox创建自动化虚拟环境】Ansible测试Playbook

文章目录 Vagrant安装vagrant安装 VirtualBox如何使用 Ansible安装AnsiblePlaybook测试创建hosts文件创建setup.yml文件 Vagrant Vagrant是一个基于Ruby的工具&#xff0c;用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统&#xff0c;使用 Chef创建自动…...

“连接世界的桥梁:深入理解计算机网络应用层”

一、引言 当你浏览网页、发送邮件、聊天或观看视频时&#xff0c;这一切都离不开计算机网络中的应用层&#xff08;Application Layer&#xff09;。 应用层是网络协议栈的最顶层&#xff0c;直接为用户的各种应用程序提供服务。它为用户进程之间建立通信桥梁&#xff0c;屏蔽了…...

Vulkan与OpenGL的对比

传统图形API与现代图形API 传统图形API指的是OpenGL/DirectX11这类简单易用、驱动托管严重的图形接口&#xff1b;而现代图形API则指的是Vulkan/Metal/DirectX12这类使用复杂、暴露更多底层硬件功能来显式控制的弱驱动设计的图形接口。 现代图形API与传统图形API相比&#xff…...

海外社交App的Web3革命:去中心化社交与Token经济实战指南

一、Web3社交的核心组件&#xff1a;从身份到经济的重构 去中心化身份&#xff08;DID&#xff09;技术栈&#xff1a;Ceramic IDX协议构建链上身份图谱代码示例&#xff1a;javascript// 创建DID const ceramic new CeramicClient() const did new DID({ provider: cerami…...

凯撒密码算法的实现

在密码学里&#xff0c;凯撒密码&#xff08;也叫恺撒密码、移位密码、恺撒代码或者恺撒移位&#xff09;是一种简单且广为人知的加密技术。它属于替换密码的一种&#xff0c;在这种加密方式中&#xff0c;明文中的每个字母都会被替换成字母表中往后移动固定位数的字母。例如&a…...

Chrome的插件扩展程序安装目录是什么?在哪个文件夹?

目录 前提 直接复制到浏览器中打开 Mac下Chrome extension 安装路径 最近换了mac pro用起来虽然方便&#xff0c;但是对常用的一些使用方法还是不熟悉。这不为了找到mac上chrome插件的安装路径在哪里&#xff0c;花费了不少时间。我想应用有不少像小编一样刚刚使用mac的小白…...

C++23中的std::forward_like:完美转发的增强

文章目录 一、背景与动机&#xff08;一&#xff09;完美转发的局限性&#xff08;二&#xff09;std::forward_like的提出 二、std::forward_like的设计与实现&#xff08;一&#xff09;基本语法&#xff08;二&#xff09;实现原理&#xff08;三&#xff09;与std::forward…...

AI与软件测试的未来:如何利用智能自动化改变测试流程

用工作流生成测试用例和自动化测试脚本&#xff01; 随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;软件测试作为软件开发生命周期中的关键环节&#xff0c;正在经历一场前所未有的变革。传统的测试方法已经无法满足现代快速迭代和持续交付的需求&#xff…...

React Native 动态切换主题

React Native 动态切换主题 创建主题配置和上下文创建主题化高阶组件主应用组件主屏幕组件&#xff08;类组件形式&#xff09; 创建主题配置和上下文 // ThemeContext.jsimport React, { Component, createContext } from react;import { Appearance, AsyncStorage } from rea…...

得物 小程序 6宫格 分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 逆向过程 部分python代码 if result …...

PocketFlow一个最小的Agent框架

1、背景 PocketFlow 2、使用 python 的版本需要python3.10 在cookbook中有如何使用的说明&#xff0c;如图所示 在tuils.py中修改代码 def call_llm(messages):# client OpenAI(api_keyos.environ.get("OPENAI_API_KEY", "your-api-key"))client Op…...

Objective-C Block 底层原理深度解析

Objective-C Block 底层原理深度解析 1. Block 是什么&#xff1f; 1.1 Block 的本质 Block 是 Objective-C 中的特殊对象&#xff0c;实现了匿名函数的功能 通过 isa 指针继承自 NSObject&#xff0c;可以响应&#xff08;如 copy、retain、release&#xff09;等内存管理方…...

AlDente Pro for Mac电脑 充电限制保护工具 安装教程【简单,轻松上手】

AlDente Pro for Mac电脑 充电限制保护工具 安装教程【简单&#xff0c;轻松上手】 AlDente Pro for Mac&#xff0c;是一款充电限制保护工具&#xff0c;是可以限制最大充电百分比来保护电池的工具。锂离子和聚合物电池&#xff08;如 MacBook 中的电池&#xff09;在40&…...

Linux systemd 从理论到实践:现代系统管理的核心工具

文章目录 引言&#xff1a;为什么需要 systemd&#xff1f;第一部分&#xff1a;systemd 核心理论1.1 systemd 的设计哲学1.2 核心组件1.3 单元文件&#xff08;Unit File&#xff09;结构 第二部分&#xff1a;实战操作指南2.1 基础命令2.2 服务管理高级操作2.3 日志管理&…...

分享一个移动端项目模板:React-Umi4-mobile

分享一个移动端项目模板&#xff1a;React-Umi4-mobile 大家好&#xff0c;今天想和大家分享一个我最近做的移动端项目模板 React-Umi4-mobile。 模板的主要内容 这个模板主要包括&#xff1a; 基于 Umi 4 框架使用了 antd-mobile 组件库配置了 px 自动转 vw&#xff08;基…...

Tailwind CSS 响应式设计解析(含示例)

本文内容&#xff1a; Tailwindcss V4 中如何使用响应式设计功能&#xff0c;包括默认断点、自定义断点、断点范围控制以及容器查询的各种技巧&#xff0c;帮助你在不离开 HTML 的前提下优雅构建响应式页面。 &#x1f31f; 默认断点用法&#xff08;移动优先&#xff09; Tail…...

ElasticSearch入门

1 elasticsearch概述 1.1 elasticsearch 简介 官网: https://www.elastic.co/ ElasticSearch是一个基于 Lucene 的搜索服务器&#xff0c;基于RESTful web接口。Elasticsearch是用Java开发的&#xff0c;开源的企业级搜索引擎。 Elastic官方宣布Elasticsearch进入Version 8…...

强化学习之基于无模型的算法之时序差分法

2、时序差分法(TD) 核心思想 TD 方法通过 引导值估计来学习最优策略。它利用当前的估计值和下一个时间步的信息来更新价值函数&#xff0c; 这种方法被称为“引导”&#xff08;bootstrapping&#xff09;。而不需要像蒙特卡罗方法那样等待一个完整的 episode 结束才进行更新&…...

【网络原理】TCP异常处理(二):连接异常

目录 一. 由进程崩溃引起的连接断开 二. 由关机引起的连接断开 三. 由断电引起的连接断开 四. 由网线断开引起的连接断开 一. 由进程崩溃引起的连接断开 在一般情况下&#xff0c;进程无论是正常结束&#xff0c;还是异常崩溃&#xff0c;都会触发回收文件资源&#xff0c;…...

[stm32] 4-1 USART(1)

文章目录 前言4-1 USARTUSART简介什么是USART?USART名字的含义&#xff1f;如何使用USART&#xff1f; USART的工作原理什么是串并转换&#xff1f;为什么要进行串并转换&#xff1f;移位寄存器串并行转换电路 USART寄存器组和完整框图 前言 本笔记内容&#xff0c;为本人依据…...

C++多线程与锁机制

1. 基本多线程编程 1.1 创建线程 #include <iostream> #include <thread>void thread_function() {std::cout << "Hello from thread!\n"; }int main() {std::thread t(thread_function); // 创建并启动线程t.join(); // 等待线程结束return 0; …...

【MCP Node.js SDK 全栈进阶指南】高级篇(4):自定义传输层开发

引言 在MCP(Model Context Protocol)应用开发中,传输层是连接客户端与服务器的关键环节,直接影响应用的性能、可靠性和扩展性。默认的传输方式虽然能满足基本需求,但在复杂场景下,自定义传输层能够为应用提供更高的灵活性和优化空间。本文将深入探讨MCP TypeScript-SDK中…...

当向量数据库与云计算相遇:AI应用全面提速

如果将AI比作一台高速运转的机器引擎&#xff0c;那么数据便是它的燃料。 然而&#xff0c;存储数据的燃料库--传统数据库&#xff0c;在AI时代的效率瓶颈愈发明显&#xff0c;已经无法满足AI对于数据的全新需求。 因此&#xff0c;向量数据库近年来迅速崛起。向量数据库通过…...

【2024-NIPS-版权】Evaluating Copyright Takedown Methods for Language Models

1.背景 目前 LLMs 在训练过程中使用了大量的受版权保护数据&#xff0c;这些数据会导致大模型记忆并生成与训练数据相似的内容&#xff0c;从而引发版权问题。随着版权所有者对模型训练和部署中的版权问题提起诉讼&#xff08;例如 Tremblay v. OpenAI, Inc. 和 Kadrey v. Met…...

【PyTorch动态计算图原理精讲】从入门到灵活应用

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比二、实战演示环境配置要求核心代码实现案例1:基础计算图构建案例2:条件分支动态图案例3:循环结构动态图运行结果验证三、性能对比测试方…...

阿里巴巴Qwen3发布:登顶全球开源模型之巅,混合推理模式重新定义AI效率

今天凌晨&#xff0c;阿里巴巴正式开源了新一代通义千问大模型Qwen3&#xff0c;这一举措不仅标志着国产大模型技术的又一里程碑&#xff0c;更以“混合推理”“极致性能”“超低成本”三大核心优势&#xff0c;刷新了全球开源模型的竞争格局。Qwen3在多项评测中超越DeepSeek-R…...

5. 配置舵机ID(具身智能机器人套件)

1. 连接舵机 waveshare驱动器板使用9-12v供电Type-C连接电脑DVG连接一个舵机 2. 使用FT SCServo Debug软件 设置串口设置波特率&#xff08;默认1000000&#xff0c;100万&#xff09;打开串口编程界面修改ID 3. 依次修改所有舵机ID 分别使用waveshare驱动板连接舵机&…...

Nacos源码—2.Nacos服务注册发现分析四

大纲 5.服务发现—服务之间的调用请求链路分析 6.服务端如何维护不健康的微服务实例 7.服务下线时涉及的处理 8.服务注册发现总结 7.服务下线时涉及的处理 (1)Nacos客户端服务下线的源码 (2)Nacos服务端处理服务下线的源码 (3)Nacos服务端发送服务变动事件给客户端的源码…...

从Windows开发迁移到信创开发的指南:国产替代背景下的技术路径与实践

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…...

从数据到决策:安科瑞EIoT如何让每一度电“清晰可见”?

安科瑞顾强 在能源管理迈向精细化与数字化的今天&#xff0c;安科瑞EIoT能源物联网平台以“数据驱动能源价值”为核心理念&#xff0c;融合物联网、云计算与大数据技术&#xff0c;打通从设备感知到云端决策的全链路闭环&#xff0c;助力工商业企业、园区、物业等场景实现用电…...

10.学习笔记-MyBatisPlus(P105-P110)

1.MyBatisPlus入门案例 &#xff08;1&#xff09;MyBatisPlus&#xff08;简称Mp&#xff09;是基于MyBatis框架基础上开发的增强型工具&#xff0c;目的是简化开发&#xff0c;提高效率。 &#xff08;2&#xff09;开发方式&#xff1a;基于MyBatis使用MyBatisPlus&#xff…...

LayerSkip: Enabling Early Exit Inference and Self-Speculative Decoding

TL;DR 2024 年 Meta FAIR 提出了 LayerSkip&#xff0c;这是一种端到端的解决方案&#xff0c;用于加速大语言模型&#xff08;LLMs&#xff09;的推理过程 Paper name LayerSkip: Enabling Early Exit Inference and Self-Speculative Decoding Paper Reading Note Paper…...

fastapi和flaskapi有什么区别

FastAPI 和 Flask 都是 Python 的 Web 框架&#xff0c;但设计目标和功能特性有显著差异。以下是它们的核心区别&#xff1a; 1. ‌性能与异步支持‌ ‌FastAPI‌ 基于 ‌Starlette‌&#xff08;高性能异步框架&#xff09;和 ‌Pydantic‌&#xff08;数据校验库&#xff09;…...

在 JMeter 中使用 BeanShell 获取 HTTP 请求体中的 JSON 数据

在 JMeter 中&#xff0c;您可以使用 BeanShell 处理器来获取 HTTP 请求体中的 JSON 数据。以下是几种方法&#xff1a; 方法一&#xff1a;使用前置处理器获取请求体 如果您需要在发送请求前访问请求体&#xff1a; 添加一个 BeanShell PreProcessor 到您的 HTTP 请求采样器…...

Go 1.25为什么要废除核心类型

​​​​​​​关于核心类型为什么要1.25里要移除&#xff0c;作者Robert在博客Goodbye core types - Hello Go as we know and love it!​​​​​​​里给了详细耐心的解答。 背景&#xff1a;Go 1.18 引入了泛型&#xff08;generics&#xff09;&#xff0c;带来了类型参数…...

flask中的Response 如何使用?

在 Flask 中&#xff0c;Response 对象用于生成 HTTP 响应并返回给客户端。以下是其常见用法及示例&#xff1a; 1. 直接返回字符串或 HTML 视图函数返回的字符串会被自动包装为 Response 对象&#xff0c;默认状态码为 200&#xff0c;内容类型为 text/html&#xff1a; app…...