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

达梦数据库中的保留字

1. 标识符、关键字和保留字在 SQL 语言的规范体系中关键字与保留字是构成 SQL 语法基础的核心词汇是数据库识别、解析和执行 SQL 指令的关键依据。首先回顾一下数据库中标识符、关键字、保留字的相关概念。标识符用户定义的用于标识对象的名称通常只能以字母或下划线_开头如用户名模式名、表名、列名、函数名、存储过程名、别名等关键字数据库语法里有特定含义的单词属于SQL语法的一部分用来表示数据库中的操作、命令、子句等部分关键字非保留关键字可以作为标识符使用但通常不建议将任何关键字作为标识符使用保留字关键字的严格子集数据库强制保留、禁止直接自定义使用的单词。不同数据库中对关键字和保留字的设定和使用限制有较大差异在进行国产化替代或数据库升级时可能会因关键字/保留字问题对数据库系统和上层应用产生较大影响。为探究DM8数据库中的关键字和保留字使用限制下面以DM8(03134284488-20260330-320063-20200)版本为例进行研究可通过以下语句查询数据库版本。select id_code() from dual;2. 冲突场景通常达梦数据库此处特指DM8会在以下两种场景遇到保留字冲突问题国产化替代其他数据库需迁移到达梦数据库原数据库对象标识符在达梦数据库中是关键字DM8达梦数据库版本升级因加入新特性或新功能会新增关键字如8.1.3.xxx版本升级到8.1.4.xxx后新增78个关键字。若原数据库对象中存在保留字使用不当将影响对象的访问和管理。3. 达梦数据库的关键字和保留字可通过达梦数据库中的V$RESERVED_WORDS视图来查看系统中的关键字和保留字视图结构如下序号列名数据类型说明1KEYWORDVARCHAR(30)关键字名字2LENGTHINTEGER关键字长度3RESERVEDVARCHAR(1)是否保留字。Y是N否。4RES_SQLVARCHAR(1)是否SQL保留字。Y是N否。是则不能在SQL中用作标识符。5RES_PLVARCHAR(1)是否DMSQL保留字。Y是N否。是则不能在DMSQL程序包含存储过程、存储函数、匿名块、触发器等语句块中作为标识符6RES_SCHEMAVARCHAR(1)是否模式保留字。Y是N否。是则不能用作模式名。7RES_VARIABLEVARCHAR(1)是否变量保留字。Y是;N否。是则不能用作变量标识符。8RES_ALIASVARCHAR(1)是否别名保留字。Y是N否。是则不能用作别名标识符。9RES_FIXEDVARCHAR(1)是否被系统预定。Y是N否。为N时方可通过EXCLUDE_RESERVED_WORDS参数屏蔽通过上述视图即可查询到数据库系统当前未被排除的全部关键字和保留字其中RESERVED字段用于判断该关键字是否保留字N表示关键字不是保留字可在数据库中直接作为各类对象标识符使用Y表示关键字是保留字不能被直接用作标识符。其中RES_SQL、RES_PL、RES_SCHEMA等保留字均为RESERVED保留字的具体分类。在使用达梦数据库过程中遇到保留字冲突报错如下图所示下面就以V$RESERVED_WORDS视图中保留字RESERVEDY)为基础解析使用达梦数据库时遇到保留字冲突的解决办法。4. 保留字冲突解决方案在使用数据库过程中原则上不允许将数据库系统保留字、关键字作为数据库标识符使用通常建议直接从源头规范使用标识符避免在与数据库交互过程中不当使用。但若在数据库迁移到达梦数据库之前已经形成成熟应用产品、重新命名代价太大了也可以通过一定的方法绕过或屏蔽保留字下面为大家介绍三种处理方案a. 双引号在与数据库系统进行交互时用双引号将保留字括起来即可绕过保留字校验用保留字ADD测试如下--首先创建测试用户TEST并授权 CREATE USER TEST IDENTIFIED BY PASSWORD; grant PUBLIC to TEST; grant CREATE TABLE,CREATE SESSION to TEST; --不加双引号创建表ADD CREATE TABLE TEST.ADD(COL1 INT,COL2 VARCHAR(10)); /* 执行失败(语句1) -2007: 第 1 行, 第 36 列[ADD]附近出现错误: 语法分析出错 */ --添加双引号创建表ADD CREATE TABLE TEST.ADD(COL1 INT,COL2 VARCHAR(10)); --执行成功 --不带双引号的查询 SELECT * FROM TEST.ADD; /* 执行失败(语句1) -2007: 第 1 行, 第 35 列[ADD]附近出现错误: 语法分析出错 */ --带双引号的查询 SELECT * FROM TEST.ADD; --执行成功在对数据库中其他数据库对象如列、索引等进行定义、管理时若要使用保留字添加双引号均可执行成功。在实际生产环境中该方案优点是对数据库服务无影响但必须对生产环境应用服务进行一定改造。变量保留字(RES_VARIABLEY)和别名保留字(RES_ALIASY)均可直接作为表名、列名标识符使用(别名保留字甚至可直接作为表别名/列别名使用)而无需添加双引号均因系统处理时默认为对相应关键字/保留字两端添加了双引号。但变量保留字在DMSQL语句块存储函数、存储过程、匿名块或触发器中仍不可直接作为变量标识符使用需要手动添加双引号。验证过程如下--找到变量保留字DISABLE及别名保留字FULL select * from v$reserved_words where res_variableY or res_aliasY; --用变量保留字DISABLE和别名保留字FULL分别创建表 CREATE TABLE TEST.DISABLE(C1 INT,C2 INT);--执行成功 CREATE TABLE TEST.FULL(C1 INT, C2 VARCHAR(1));--执行成功 --通过错误查询来验证 select test.full.c3 from test.full; /* 执行失败(语句1) -2207: 第19 行附近出现错误: 无法解析的成员访问表达式[TEST.FULL.C3] */程序中处理应用端可通过在程序中设置统一拦截器遇到关键字时自动在关键字两端加上双引号可达成同样的效果。特别注意:ROWID、TRXID、VERSIONS_STARTTIME、VERSIONS_ENDTIME、VERSIONS_STARTTRXID、VERSIONS_ENDTRXID和VERSIONS_OPERATION等7个关键字无法作为列名使用即使用双引号括起来也不可以。b. 数据库连接串推荐在数据库连接串后面添加KEYWORDS参数需要屏蔽的关键字作为参数用括号括起来多个关键字之间用逗号(,)分隔具体如下jdbc:dm://localhost:5237?KEYWORDS(ADD,AUDIT)使用该连接串连接数据库的应用端即完成对关键字ADD和AUDIT的屏蔽。该屏蔽方案灵活度高、对数据库服务本身的影响小对应用的改造成本也较低甚至可以对系统预定保留字(RES_FIXED’Y)生效在应用中全面改造完成后任意部署扩展均生效较为推荐。本例中ADD和AUDIT均为系统预定保留字如下图所示通过达梦数据库官方推荐的数据库管理工具SQLark模拟测试该方案添加新的数据库连接并将连接方式改为URL并利用KEYWORDS屏蔽关键字如下图所示仍然通过创建表和列来确认相应保留字是否被屏蔽保留字不添加双引号如下CREATE TABLE SYSDBA.ADD(C1 INT, AUDIT VARCHAR(10));--执行成功说明屏蔽成功通过该方法屏蔽后并不影响数据库服务本身的关键字/保留字有效性只影响当前连接。可通过查询V$RESERVED_WORDS视图进行查验select * from SYS.V$RESERVED_WORDS where keyword in(ADD,AUDIT);视图显示ADD和AUDIT仍为数据库关键字且为系统预定保留字如下图所示也可通过DM数据库安装后附带的管理工具manager-数据库连接-高级中添加链接属性进行模拟属性名选择keyWords属性值填写要屏蔽的保留字多个用逗号分隔。如下图c. 客户端配置文件dm_svc.conf推荐dm_svc.conf是达梦数据库的客户端配置文件可对同一机器上的特定连接属性进行调整具体定义可参考官方文档《DM8系统管理员手册》2.1.2 客户端配置文件。可通过在dm_svc.conf中配置KEYWORDS或KEY_WORDS属性进行保留字屏蔽多个保留字用逗号(,)分隔。配置示例如下#全局配置 TIME_ZONE(480) LANGUAGE(CN) L(LOCALHOST:5236)#服务名及对应连接配置可配置多个服务名 KEYWORDS(PUBLIC) #屏蔽保留字当前机器所有客户端/接口连接默认生效 [L]#服务名及服务配置仅用对应服务名连接时生效 KEYWORDS(GOTO,BOTH)#屏蔽保留字仅当使用L服务名连接时生效 KEY_WORDS(ADD,ARRAYLEN)#屏蔽保留字仅当使用L服务名连接时生效按照上面完成配置后该机器上所有接口/客户端连接数据库时均屏蔽保留字PUBLIC仅通过L服务名连接数据库时屏蔽[L]服务名下的KEYWORDS和KEY_WORDS中定义的保留字。重点关注以下问题连接数据库的接口、客户端工具、应用服务必须与dm_svc.conf在同一台机器上要使服务名下的配置生效必须通过服务名连接jdbc连接串示例如下jdbc:dm://L #本例中等价于jdb:dm://LOCALHOST:5236同时配置了KEYWORDS和KEY_WORDS配置项后仅KEY_WORDS定义的保留字生效。下面逐一验证通过服务名连接数据库时服务名中KEYWORDS配置项会覆盖全局配置中KEYWORDS配置项配置完成后重新连接方可生效--通过disql工具连接验证先到disql所在目录 cd /dm/dmdbms/bin --首先不通过服务名登陆 ./disql SYSDBAlocalhost:5236 --输入密码后成功登陆 --测试全局配置用保留字PUBLIC创建表 create table test.public(c1 int); --操作已执行用保留字PUBLIC创建表 --再尝试用服务名中配置的保留字ADD创建表执行失败 CREATE TABLE TEST.ADD(C1 INT); --上述语句执行报错第 1 行, 第 18 列[ADD]附近出现错误[-2007]:语法分析出错. --退出当前disql会话 exit --再通过服务名连接数据库 ./disql SYSDBAL --再次尝试创建表ADD包含列ARRAYLEN CREATE TABLE TEST.ADD(C1 INT,ARRAYLEN INT); --操作已执行建表成功KEY_WORDS均生效 --尝试使用KEYWORDS配置项中的保留字创建表执行失败KEYWORDS未生效 CREATE TABLE TEST.GOTO(C1 INT,BOTH BIT); --上述语句执行报错第 1 行, 第 18 列[GOTO]附近出现错误[-2007]:语法分析出错. --删除表PUBLIC验证全局配置有效性 DROP TABLE TEST.PUBLISH; --上述语句执行报错第 1 行, 第 16 列[PUBLIC]附近出现错误[-2007]:语法分析出错. --全局配置中KEYWORDS不再生效 --退出当前disql会话 exit --修改dm_svc.conf内容 vim /etc/dm_svc.confdm_svc.conf内容保存如下TIME_ZONE(480) LANGUAGE(CN) L(LOCALHOST:5236) KEYWORDS(PUBLIC) [L] KEYWORDS(GOTO,BOTH) #KEY_WORDS(ADD,ARRAYLEN)再次连接服务L并验证KEYWORDS有效性--通过服务名L连接数据库 ./disql SYSDBAL --创建含有BOTH列的表GOTO验证KEYWORDS配置是否生效 CREATE TABLE TEST.GOTO(C1 INT, BOTH BIT); --操作已执行建表成功KEYWORDS生效该方案同样可对数据库预定保留字生效灵活度高对数据库服务本身无影响且改造成本较低较为推荐。但在应用服务器较多或应用服务节点需要频繁扩展时使用起来较为繁琐容易遗漏通过容器化部署添加统一配置文件则可解决该问题。d. 服务端配置文件dm.ini达梦数据库服务端配置文件dm.ini中包含参数EXCLUDE_RESERVED_WORDS可专门用于屏蔽对应数据库实例的保留字。使用该方法进行保留字屏蔽需要注意事项如下i. 仅当V$RESERVED_WORDS视图中对应保留字RES_FIXED值为N时屏蔽方可生效ii.调整EXCLUDE_RESERVED_WORDS参数后必须重启数据库服务方可生效。iii.屏蔽完成后V$RESERVED_WORDS视图中无法再查到对应保留字iv.屏蔽后数据库服务中相应保留字原本对应的特性或用途不再生效如用该方法将保留字“CALL”屏蔽以后就无法使用CALL语法调用存储函数或存储过程下面以系统预定保留字WINDOW(RESERVEDY AND RES_FIXEDY)和非预定保留字CALL,CASTRESERVEDY AND RES_FIXEDN)进行配置和验证。首先查看V$RESERVED_WORDS视图确认保留字状态SELECT * FROM V$RESERVED_WORDS WHERE KEYWORD IN(CALL,CAST,WINDOW);视图中仍能查到对应保留字如下图然后调整EXCLUDE_RESERVED_WORDS参数。有两种调整方法1)直接修改dm.ini文件--编辑数据库实例对应的dm.ini文件本例中路径为/dm/dmdbms/data/DAMENG vi /dm/dmdbms/data/DAMENG/dm.ini --输入?EXCLUDE_RESERVED查找定位到对应配置项注意大小写定位到EXCLUDE_RESERVED_WORDS参数如下图所示修改该配置如下修改完成后保存文件退出EXCLUDE_RESERVED_WORDS CALL,CAST,WINDOW2)用数据库系统过程SP_SET_PARA_STRING_VALUE()修改--通过数据库管理工具连接到对应数据库DBA用户 --使用SP_SET_PARA_STRING_VALUE(scope,paraname,value) SP_SET_PARA_STRING_VALUE(2,EXCLUDE_RESERVED_WORDS,CALL,CAST,WINDOW);确认服务器配置文件dm.ini相应参数变更#查看dm.ini文件中EXCLUDE_RESERVED_WORDS参数配置情况本例文件于/dm/dmdbms/data/DAMENG cat /dm/dmdbms/data/DAMENG/dm.ini|grep EXCLUDE_RESERVED_WORDS #确认返回如下即修改配置成功 #EXCLUDE_RESERVED_WORDS CALL,WINDOW,CAST #Reserved words to be exclude两种配置方法配置完成后均需重启数据库服务方可生效。重启数据库服务后再次查询V$RESERVED_WORDS视图确认保留字状态执行结果如下图已无法查到非系统预定保留字CALL,CAST仍可查到系统预定保留字WINDOWCALL和CAST均屏蔽成功,WINDOW无法屏蔽。下面通过建表进行进一步验证--创建含CALL列的CAST表 CREATE TABLE TEST.CAST(C1 INT, CALL VARCHAR(10)); --操作已执行成功建表屏蔽生效 --为CAST表添加WINDOW列 ALTER TABLE TEST.CAST ADD COLUMN WINDOW VARCHAR(100); --上述语句执行报错第 1 行, 第 33 列[WINDOW]附近出现错误[-2007]:语法分析出错. --屏蔽无效

相关文章:

达梦数据库中的保留字

1. 标识符、关键字和保留字 在 SQL 语言的规范体系中,关键字与保留字是构成 SQL 语法基础的核心词汇,是数据库识别、解析和执行 SQL 指令的关键依据。 首先回顾一下数据库中标识符、关键字、保留字的相关概念。 标识符:用户定义的用于标识对象…...

电子对抗中的“极简主义”:单bit接收机如何用1bit数据搞定10GHz瞬时带宽测频?

电子对抗中的“极简主义”:单bit接收机如何用1bit数据搞定10GHz瞬时带宽测频? 在电子对抗这个充满技术博弈的领域,系统设计往往需要在极端性能与有限资源之间寻找精妙平衡。当我们谈论10GHz瞬时带宽这样的参数时,传统接收机方案往…...

第48篇:AI模型压缩与加速技术——让模型在移动端“飞”起来(原理解析)

文章目录现象引入:为什么我的模型跑不动?提出问题:我们到底要压缩和加速什么?原理剖析:四大主流技术的“手术刀”1. 知识蒸馏:让“小学生”模仿“大学教授”2. 剪枝:给模型做“减法手术”3. 量化…...

如何高效下载B站8K超清视频:哔哩下载姬实用技巧指南

如何高效下载B站8K超清视频:哔哩下载姬实用技巧指南 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#xf…...

VideoAgentTrek-ScreenFilter算力优化:CPU/GPU混合推理降低显存峰值技巧

VideoAgentTrek-ScreenFilter算力优化:CPU/GPU混合推理降低显存峰值技巧 你是不是遇到过这种情况:跑一个视频目标检测模型,明明GPU显存看着还有不少,但处理长视频或者高分辨率视频时,程序突然就崩溃了,提示…...

【VS Code Dev Containers终极优化指南】:20年专家实测5大瓶颈+3倍构建提速方案

更多请点击: https://intelliparadigm.com 第一章:VS Code Dev Containers终极优化指南概览 Dev Containers 是 VS Code 实现环境可复现、团队协作零配置的关键能力。本章聚焦于性能、可靠性和开发体验三重维度的深度调优,而非基础概念介绍。…...

别再踩坑了!Vue项目里用vue-pdf-app预览PDF,这个CSS样式不设置它就不显示

Vue项目集成vue-pdf-app必知的CSS陷阱:为什么你的PDF预览不显示? 最近在Vue项目中实现PDF预览功能时,发现不少开发者都在vue-pdf-app这个组件上栽了跟头——明明按照官方文档配置得妥妥当当,预览组件却像隐形了一样完全不显示。这…...

社区团购对账程序,订单,货款,分红上链,团长与用户对账透明,无猫腻。

⚠️ 再次强调:这是本地模拟区块链思路的演示程序,用于说明“对账透明化”的技术逻辑,不是金融级或监管级系统。一、实际应用场景描述某社区团购平台存在以下角色:- 平台方:组织商品、结算货款- 团长:负责社…...

JDK20安装后,用Notepad++写第一个Java程序:从保存到运行的全流程演示

JDK20极简开发指南:用Notepad编写首个Java程序的完整实战 在编程学习的初始阶段,选择正确的工具链往往能事半功倍。对于Java初学者而言,直接从重量级IDE入手可能会被各种复杂功能分散注意力。本文将展示如何仅用Notepad文本编辑器和JDK20命令…...

PHP 9.0正式版发布72小时后,我们压测了17家AI Bot厂商代码——93%存在协程上下文泄漏,你中招了吗?

更多请点击: https://intelliparadigm.com 第一章:PHP 9.0 异步编程与 AI 聊天机器人 性能调优指南 PHP 9.0 引入了原生协程(Native Coroutines)和事件驱动运行时(Event Loop Runtime),为构建高…...

《AI大模型应用开发实战从入门到精通共60篇》026、模型量化技术:GPTQ、AWQ与GGUF对比与实战

026 模型量化技术:GPTQ、AWQ与GGUF对比与实战 上周调一个7B模型在Jetson Orin上的推理,显存死活压不到8G以内。FP16加载直接OOM,INT8量化后精度掉得离谱,对话变成复读机。翻遍GitHub issue,发现是量化方法选错了——AW…...

【紧急避坑】Swoole内存泄漏×LLM Token流积压×连接雪崩:3类致命组合故障的72小时定位与根治手册

更多请点击: https://intelliparadigm.com 第一章:SwooleLLM长连接架构全景与故障风暴图谱 Swoole 与大语言模型(LLM)的深度协同正催生新一代实时智能服务范式——基于协程化长连接的流式推理架构。该架构摒弃传统 HTTP 短轮询瓶…...

LangSmith + LangGraph 完整打通 + 全链路追踪调试

LangGraph RAG 每一步:检索、重排、LLM 调用、耗时、参数,全部可视化追踪、调试、打分、日志留存。 一、先搞懂:LangSmith 到底做什么? LangSmith = LLM 应用的黑匣子 + 调试控制台 它能帮你看到: 每个节点执行了什么 检索到了哪些文档 LLM 输入 / 输出是什么 耗时、报错…...

工业级进阶版 LangGraph RAG

工业级进阶版 LangGraph RAG,彻底替换掉老旧的 RetrievalQA 链式写法,实现: 拆分检索、重排、上下文组装、LLM 回答独立节点 条件路由:无需检索直接回答 / 需要检索再走 RAG 支持上下文重排(Rerank)提升精度 完整状态管理、可扩展多轮、人工干预、故障重试 纯 LangGraph …...

4步重塑Windows体验:开源工具激活70%隐藏性能,打造个性化系统空间

4步重塑Windows体验:开源工具激活70%隐藏性能,打造个性化系统空间 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other chang…...

别光跑分了!用UnixBench给你的Linux服务器做一次全面“体检”(附调优实战)

别光跑分了!用UnixBench给你的Linux服务器做一次全面“体检”(附调优实战) 当你拿到一台新配置的Linux服务器,或是发现现有系统出现性能瓶颈时,第一反应是什么?大多数工程师会本能地运行各种基准测试工具&a…...

Seed-VC:突破性零样本语音克隆技术,300ms实时转换的革命性方案

Seed-VC:突破性零样本语音克隆技术,300ms实时转换的革命性方案 【免费下载链接】seed-vc zero-shot voice conversion & singing voice conversion, with real-time support 项目地址: https://gitcode.com/GitHub_Trending/se/seed-vc 在语音…...

Linux进程名和killall的‘爱恨情仇’:为什么你的进程名总对不上?

Linux进程名与killall的微妙关系:为什么你的进程总杀不掉? 刚接触Linux系统管理时,很多人都会遇到一个令人困惑的场景:明明通过ps或top看到了某个进程在运行,但使用killall命令时却提示"no process found"。…...

嵌入式显示开发终极指南:5分钟快速掌握TFT_eSPI图形库核心技巧

嵌入式显示开发终极指南:5分钟快速掌握TFT_eSPI图形库核心技巧 【免费下载链接】TFT_eSPI Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32 that supports different driver chips 项…...

Genshin FPS Unlock终极指南:解锁高帧率游戏体验的专业方案

Genshin FPS Unlock终极指南:解锁高帧率游戏体验的专业方案 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock Genshin FPS Unlock是一款专为《原神》玩家设计的开源帧率解锁工具…...

全球短视频内容创作的技术挑战与Pixelle-Video的分布式架构解决方案

全球短视频内容创作的技术挑战与Pixelle-Video的分布式架构解决方案 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 在全球化内容创作浪…...

用FPGA和Verilog做个带数码管显示的电子密码锁(附完整代码和仿真)

基于FPGA的智能电子密码锁设计与实现:从Verilog编码到数码管动态显示 在物联网和智能家居快速发展的今天,电子密码锁作为基础安全设备,其可靠性和用户体验至关重要。本文将带您从零开始构建一个基于FPGA的电子密码锁系统,不仅包含…...

如何通过OpenColorIO-Config-ACES实现跨平台色彩管理标准化提升制作效率

如何通过OpenColorIO-Config-ACES实现跨平台色彩管理标准化提升制作效率 【免费下载链接】OpenColorIO-Config-ACES 项目地址: https://gitcode.com/gh_mirrors/op/OpenColorIO-Config-ACES 在现代视觉制作流程中,跨平台色彩一致性问题已成为制约创意协作的…...

如何用douyin-downloader实现抖音无水印批量采集:5个强力方案完整指南

如何用douyin-downloader实现抖音无水印批量采集:5个强力方案完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser…...

精密磨削电主轴故障诊断系统【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,查看文章底部二维码(1)多传感器融合数据采集与预处理:针对精密…...

如何在3秒内从任何图片提取文字:Text-Grab终极指南

如何在3秒内从任何图片提取文字:Text-Grab终极指南 【免费下载链接】Text-Grab Use OCR in Windows quickly and easily with Text Grab. With optional background process and notifications. 项目地址: https://gitcode.com/gh_mirrors/te/Text-Grab 你是…...

5个步骤轻松掌握Blazor WebAssembly:高效构建现代Web应用的实用指南

5个步骤轻松掌握Blazor WebAssembly:高效构建现代Web应用的实用指南 【免费下载链接】blazor Blazor moved to https://github.com/dotnet/aspnetcore 项目地址: https://gitcode.com/gh_mirrors/bl/blazor Blazor WebAssembly是一个革命性的Web开发框架&…...

别再为arm_sin_f32报错发愁了!STM32F103C8T6在CLion里调用DSP库的完整CMake配置流程

别再为arm_sin_f32报错发愁了!STM32F103C8T6在CLion里调用DSP库的完整CMake配置流程 如果你正在从Keil/MDK转向CLion开发STM32,并且尝试集成ARM的DSP库时遇到了undefined reference to arm_sin_f32这类恼人的链接错误,那么这篇文章就是为你准…...

月饼机排名:企业选购选型关键策略深度解析

月饼机排名与企业选购选型全攻略:高频疑问解答,选对设备少走弯路"月饼机排名≠选购唯一标准,企业选型更需结合生产需求与设备适配性" 很多企业在选购月饼机时,容易陷入排名误区,忽略实际生产场景的匹配&…...

别再死记硬背算法了!用Visualgo可视化网站,5分钟搞懂冒泡排序到快速排序

别再死记硬背算法了!用Visualgo可视化网站,5分钟搞懂冒泡排序到快速排序 第一次接触排序算法时,你是否也被那些抽象的伪代码和数学推导弄得晕头转向?当书本上的文字描述和静态图示无法让你真正理解算法如何运作时,Visu…...