面向对象的基本概念 面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它基于“对象”的概念,将数据和操作数据的方法封装在一起。面向对象的四大基本特征是抽象、封装、继承和多态,这些特征构成了 OOP 的核心。 抽象(Abstraction): 抽象是指隐藏对象的内部细节,只暴露必要的接口。这允许我们忽略那些…
慢查询 MySQL 的慢查询日志是一个用于记录执行时间超过特定阈值的 SQL 查询的工具,它能帮助快速定位和优化这些查询。 启用慢查询日志需要修改 MySQL 配置文件,并设置执行时间阈值。启用后,所有超过这个时间的查询都会被记录到指定的日志文件中。 通过分析这些日志,可以采取多种措施来优化 SQL 查询,包括改进索引、重写查询或调整数据库配置。 …
数据库的内部结构 数据库的分层结构 MySQL 数据库的体系结构由四个关键层组成,每个层都负责处理不同的任务和功能。 连接器负责管理客户端与 MySQL 服务器之间的连接。它不仅处理连接的建立和断开,还负责用户的身份验证和权限的检查,确保只有授权用户才能访问数据库资源。这一环节是数据库安全性的第一道防线。 分析器紧接着连接器工作,它的作用是理解并解…
日志系统 日志系统的重要性 错误跟踪:当系统出现问题时,日志是诊断问题的重要工具。通过分析日志,可以追踪错误发生的原因和上下文。 安全审计:日志可以记录安全相关的事件,如登录尝试、权限变更等,这对于检测和响应安全威胁至关重要。 性能监控:日志可以帮助监控系统性能,通过分析日志中的性能指标,可以发现潜在的性能瓶颈。 系统维护:日志提供了系统运行的历史…
进程虚拟内存空间 虚拟内存空间 将 C 程序的内存管理任务完全交给操作系统,虽然听起来是一种简化的方法,但实际上可能会带来一系列问题: 进程隔离性:操作系统需要确保不同进程之间的内存空间相互隔离,以防止一个进程访问或破坏另一个进程的数据。如果 C 程序直接管理物理内存,这种隔离性很难实现,因为程序可能无意中访问到其他进程的内存区域,或者操作系统难以…
Doxygen 是一种广泛使用的文档生成工具,它允许开发者通过遵循特定的注释规范来提取文档。编写注释时,遵循 Doxygen 的语法规则至关重要,因为这样不仅可以生成格式统一、易于导航的文档,还能提高文档的可读性和专业性。如果注释不符合 Doxygen 的标准格式,生成的文档可能会显得杂乱无章,难以为其他开发者或用户所理解。 特殊命令简介 命令 字…
cmake_minimum_required(VERSION 3.28) get_filename_component(ProjectId ${CMAKE_CURRENT_SOURCE_DIR} NAME) string(REPLACE " " "_" ProjectId ${ProjectId}) project(${ProjectId} C) …
通用插件 Chinese (Simplified) Language Pack / 中文语言包 中文汉化插件 Atom Material Icons 美化插件,将图标更改为 Atom 的样式 .env files support 支持 .env 文件语法高亮显示 .ignore 增强各种 .xxignore 格式文件的功能,支持高亮、自定义模版、一…
事务的基本概念 事务 事务:是一系列的数据库操作,是数据库应用程序的逻辑单位,即应用程序对数据库的操作都应该以事务的方式进行。 事务是一个操作序列,这些操作“要么都做,要么都不做”。 事务定义的语句如下: BEGIN TRANSACTION:事务开始。 END TRANSACTION:事务结束。 COMMIT:事务提交。该操作表示事务成功地结束,它…