自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 《Protobuf 通讯录开发》

使用 Protocol Buffers(Protobuf)来构建通讯录,能够高效地进行结构化数据的存储与传输。下面从消息定义、代码生成、不同语言实现以及调试和优化方面,为你详细介绍如何实现一个基于 Protobuf 的通讯录:

2025-09-24 11:19:21 981

原创 《proto3 语法详解》

Protocol Buffers(简称 Protobuf)是 Google 开发的一种语言无关、平台无关的序列化结构数据格式。Proto3 是其第三个主要版本,相比 Proto2 简化了语法并增强了跨语言支持,成为当前主流的使用版本。

2025-09-24 11:17:48 737

原创 《Protobuf库——序列化工具》

在日常开发中,你是否经常被 “数据传输格式” 的问题困扰?JSON 虽灵活但体积大、性能一般,XML 冗余度高且解析复杂,尤其是在高性能场景(如后端服务通信、物联网设备数据交互)中,这些文本格式的短板愈发明显。今天要介绍的 Protocol Buffers(简称 Protobuf),正是 Google 为解决这些问题而生的高效数据序列化协议,它凭借 “小体积、快速度、强兼容” 的特性,成为跨语言、跨平台数据交互的首选方案之一。

2025-09-22 15:57:16 1121

原创 《etcd库——键值存储系统》

etcd 是开源分布式键值存储系统,具备高可用、强一致性、简单易用、支持事件监听等核心特点。典型应用于服务发现(助力分布式系统服务实例的动态发现)、配置管理(集中存储并实时更新应用配置)、分布式锁(保障分布式环境下操作互斥性)等场景。工作时依托 Raft 算法,区分 Leader 和 Follower 节点实现数据同步与一致性,与传统关系型数据库相比更适合高并发、轻量数据场景,和分布式缓存系统相比更侧重数据可靠性。

2025-09-22 14:30:32 653

原创 《C++ 常见概念知识整理》

常见C++概念整理

2025-09-18 00:13:19 933

原创 《C++11——array》

在 C++ 编程中,数组是很基础的数据结构,但原始数组用起来总有些 “不痛快”—— 没有便捷的方法获取长度、越界访问没检查、和 STL 算法结合也不顺畅。而 std::array 的出现,完美解决了这些问题,它既保留了原始数组固定大小、内存连续的优点,又融入了 STL 容器的便捷特性。今天,咱们就来轻松上手 std::array~

2025-09-17 23:56:37 953

原创 《spdlog——高性能日志库快速上手》

在 C++ 开发过程中,日志系统是调试程序、监控运行状态和排查问题的重要工具。而 spdlog 作为一款现代 C++ 日志库,凭借其高性能、易用性和丰富功能,成为了众多开发者的首选。本文将带你一步步掌握 spdlog 的使用方法,让你在项目中轻松集成专业级日志功能。

2025-09-16 21:52:32 706

原创 《gflags——命令行参数》

在 Linux C++ 开发中,命令行参数解析是几乎每个程序都绕不开的需求。从简单的 ./app --help 查看帮助,到复杂的服务配置(如端口、日志级别、超时时间),一个高效的参数解析库能极大提升开发效率。今天要介绍的 gflags(由 Google 开源),正是这样一款轻量、易用且功能强大的工具,它彻底告别了传统 getopt 繁琐的手动解析逻辑,让参数处理变得优雅而高效。

2025-09-15 00:07:05 856

原创 《Linux线程——从概念到实践》

在计算机世界里,程序的运行效率始终是开发者追求的核心目标之一。传统的单进程模型如同 “单线程工人”,一次只能处理一项任务,在面对复杂业务或高并发场景时显得力不从心。而 线程(Thread) 的出现,如同为程序配备了 “多线程工人团队”—— 它们共享资源却又能独立执行,让程序在效率与灵活性上实现了质的飞跃。

2025-09-13 16:19:30 1027

原创 《Linux——轻松上手vim编辑器》

为了让刚接触 vim 的人快速上手,这篇博客会从 vim 的基础认知讲起,涵盖启动与退出、核心操作模式切换,再到实用编辑技巧和配置优化,用清晰步骤和示例帮助读者掌握 vim。

2025-09-13 15:58:10 1244

原创 《Linux常见命令》

介绍了Linux常用命令及其功能

2025-09-12 02:03:26 1125

原创 《C++ 常见关键字知识整理》

本文总结了C++中常用的关键字及其作用

2025-09-10 22:21:42 796

原创 《C++——多态》

对C++多态的知识进行归纳总结

2025-09-10 01:24:06 966

原创 《C++——继承》

C++关于继承相关知识整理

2025-09-10 00:54:57 946 1

原创 《MySQL基础——C 语言链接》

在后端开发中,C 语言凭借高效的性能,常被用于开发对响应速度和资源占用敏感的数据库交互程序。而 MySQL 作为主流关系型数据库,提供了专用的 C 语言接口库,支持开发者通过代码直接操作数据库。本文基于 14-MySQL 使用C语言链接.pdf 内容,从环境准备、库文件解析到核心接口调用,完整拆解 MySQL 与 C 语言的联动流程。

2025-09-07 17:56:21 1110

原创 《MySQL基础——用户管理》

在 MySQL 数据库运维中,“一刀切” 使用 root 用户存在巨大安全隐患 ——root 拥有所有数据库的最高权限,一旦账号泄露或误操作,可能导致数据丢失、篡改等严重问题。合理的用户管理能实现 “最小权限原则”,让不同用户仅能操作自己负责的数据库,既保障安全又便于协作。本文基于13-MySQL用户管理.pdf,详解用户创建、密码修改、权限分配等核心操作。

2025-09-07 17:36:57 861

原创 《MySQL基础——视图》

视图是SQL中的虚拟表,由查询语句定义但不存储数据,查询时动态生成结果。核心特性是视图与基表的双向数据联动:修改视图数据会影响基表,修改基表数据也会在视图中同步显示。基本使用包括创建视图(CREATE VIEW)、查询视图、修改视图数据(自动更新基表)和删除视图(DROP VIEW)。视图需遵循唯一命名、不能添加索引等限制,但能提升数据安全性,可与真实表联用。实战案例展示了如何创建查询员工和部门信息的视图,并验证视图与基表的双向数据同步特性。

2025-09-07 10:25:10 408

原创 《MySQL基础——索引特性》

在数据库性能优化中,索引无疑是 “性价比之王”—— 无需增加硬件、修改业务代码或调整 SQL 语句,只需合理创建索引,查询速度就能提升成百上千倍。但索引并非 “银弹”,它以牺牲写入性能(插入、更新、删除)为代价。本文将从底层原理出发,带你全面理解 MySQL 索引的特性、实现机制及实战技巧。

2025-09-07 10:08:03 562

原创 《C++——Lambda表达式》

为了帮助刚接触 C++ Lambda 的开发者快速上手,这篇博客会从基础概念讲起,结合实用场景和代码示例,逐步讲解 Lambda 的用法,让读者能轻松理解并运用这一特性。

2025-09-06 00:17:40 1473

原创 《C++——单例模式》

本文将以 C++ 为主要实现语言,从单例模式的核心定义出发,详解多种经典实现方式的优劣,结合实战场景分析其应用价值,最后梳理避坑要点,帮你真正吃透这一高频设计模式。

2025-09-05 23:28:30 745

原创 《MySQL基础——内外连接》

在 MySQL 多表查询中,“表连接” 是核心技术之一,它解决了数据分散在不同表中的关联查询问题。根据数据匹配规则的不同,表连接可分为内连接和外连接(含左外连接、右外连接),不同连接方式适用于不同业务场景。本文将从概念、语法、案例三个维度,带你彻底掌握 MySQL 表连接的用法,尤其聚焦实际开发中高频使用的外连接场景。

2025-09-04 10:10:05 771

原创 《MySQL基础——复合查询》

在实际开发中,仅靠单表查询往往无法满足复杂业务需求 —— 比如要同时展示员工信息、所属部门名称及工资等级,数据可能分散在EMP、DEPT、SALGRADE多张表中。MySQL 的复合查询正是解决这类问题的核心技术,它涵盖多表联合查询、自连接、子查询、结果合并等多种能力。本文将从基础回顾出发,系统拆解复合查询的核心用法,并结合实战案例演示如何灵活运用。

2025-09-04 06:14:23 853

原创 《MySQL基础——内置函数》

在 MySQL 数据库的日常操作中,内置函数是提升数据处理效率、简化 SQL 语句的 “利器”。无论是处理日期时间、拼接字符串,还是进行数学计算、获取数据库元信息,都能通过内置函数快速实现。本文将系统梳理 MySQL 中最常用的四类内置函数 —— 日期函数、字符串函数、数学函数及其他实用函数,并结合具体案例讲解其用法,帮助大家轻松掌握函数的应用技巧。

2025-09-04 06:02:22 819

原创 《C语言+<time.h>实现轻量级日志工具》

在 C 语言开发中,一个好用的日志工具能帮我们快速定位问题。今天我将教大家如何基于宏定义实现一个轻量级但功能完备的日志工具,代码简洁高效,适合嵌入各种 C 项目中使用。

2025-09-02 01:40:01 1170

原创 《MySQL基础——基本查询》

MySQL 作为最流行的关系型数据库之一,其核心能力在于高效的数据查询与管理。而 “基本查询” 作为数据库操作的基石,涵盖了数据的创建(Create)、读取(Retrieve)、更新(Update)、删除(Delete)—— 即经典的CRUD 操作,同时还包括聚合分析、分组查询等进阶能力。本文将以 “学生表”“考试成绩表” 等贴近实际的场景为例,系统拆解 MySQL 基本查询的全流程,从语法细节到实战技巧,助你快速掌握数据操作的核心方法。

2025-09-01 16:16:42 414

原创 《C++——try、throw、catch》

在程序开发中,错误处理是保证软件健壮性的关键环节。C++ 提供的异常处理机制 ——try、throw、catch 组合,为我们提供了一种清晰、结构化的错误处理方式。本文将带你快速上手这一强大工具。

2025-09-01 16:07:04 292

原创 《#include <assert.h> 入门指南》

在 C 语言开发中,调试是必不可少的环节。今天我要向大家介绍一个简单却强大的调试工具 ——assert.h头文件,它能帮助你在开发阶段快速捕获程序中的逻辑错误。

2025-09-01 15:41:29 447

原创 《C++——定长内存池》

在高频次内存分配场景中,频繁使用new/delete或malloc/free往往会带来性能损耗和内存碎片问题。定长内存池作为一种高效的内存管理方案,专为同类型对象的频繁创建与销毁设计,能显著提升程序性能。本文将从原理到实现,详细解析定长内存池的工作机制。

2025-08-31 00:32:34 1100

原创 《C++——makefile》

在 C/C++ 开发中,当项目文件越来越多,手动输入冗长的编译命令会变得极其繁琐。Makefile 就是为了解决这个问题而生的工具,它能自动化编译流程,让我们更高效地管理项目构建。今天,就带大家从 0 开始上手 Makefile。

2025-08-30 22:19:25 801

原创 《C++ 模板入门指南:从基础到实战技巧》

模板是 C++ 中最强大的特性之一,它让代码具备了惊人的灵活性和复用性。无论是 STL 标准库,还是各类开源框架,模板都扮演着核心角色。本文将从基础概念出发,逐步深入模板的高级用法,帮助你快速上手这一强大工具。

2025-08-29 06:20:59 681

原创 《C++——了解move》

C++ move:从 “拷贝浪费” 到 “所有权转移” 的性能优化利器

2025-08-27 06:03:37 966

原创 《C++——std::map》

在 C++ 标准模板库(STL)中,std::map 是一个非常实用的关联容器,它以键值对(key-value)的形式存储数据,并能自动按照键(key)进行排序。无论是存储配置信息、建立映射关系还是实现字典功能,std::map 都是开发者的得力助手。本文将带你从零开始,快速掌握 std::map 的使用方法。

2025-08-24 04:11:29 991

原创 《c++——std::set》

在 C++ 标准模板库(STL)中,std::set 是一个非常实用的关联容器,它能够自动排序并保证元素唯一性。本文将带你从基础开始,快速掌握 std::set 的使用方法和最佳实践。

2025-08-24 03:06:35 874

原创 《muduo——网络库》

如果你是 C++ 开发者,想要踏入高性能网络编程的世界,那么 muduo 库绝对值得你学习。作为一个基于 C++11 的高性能网络库,muduo 采用了 Reactor 模式,特别适合开发 Linux 平台下的高并发网络应用。本文将带你从零开始,一步步了解 muduo 库的基本使用方法。

2025-08-21 03:57:39 915

原创 《c++11——智能指针基础》

在 C++ 开发中,手动管理内存常常令人头疼,忘记释放会造成内存泄漏,释放时机不当又会引发悬垂指针问题。而智能指针的出现,为我们提供了优雅的解决方案,借助 RAII(Resource Acquisition Is Initialization,资源获取即初始化)机制,自动管控对象生命周期,让内存管理更轻松。

2025-08-19 04:30:50 482

原创 《C++11——std::bind》

在 C++ 编程中,我们经常需要调整函数的参数列表以适应不同的调用场景。C++11 引入的 std::bind 为我们提供了一种灵活的函数适配机制,它能够绑定函数的部分参数、调整参数顺序,甚至改变函数的调用方式。本文将详细介绍 std::bind 的用法、特性及实际应用场景。

2025-08-15 04:16:11 387

原创 《C++11——std::function》

在 C++11 标准之前,处理函数指针、回调函数或函数对象时往往显得笨拙而繁琐。C++11 引入的std::function 彻底改变了这一局面,它为各种可调用对象提供了统一的包装器,让函数可以像普通变量一样被存储、传递和使用。本文将深入探讨 std::function 的特性、用法及实际应用场景。

2025-08-15 03:43:28 360

原创 《c++11 回调函数的理解与运用》

在编程学习的道路上,回调函数是一个既基础又重要的概念。无论是前端 JavaScript、后端 C++ 开发,还是移动端应用开发,回调函数都扮演着至关重要的角色。本文将带你从概念到实践,全面掌握回调函数的本质与应用。​

2025-08-15 02:51:25 657

原创 《Jsoncpp库》

在现代 C++ 开发中,处理 JSON 数据已成为家常便饭 —— 无论是配置文件解析、网络数据交换还是跨语言通信,JSON 都扮演着重要角色。今天我们就来深入学习一款强大的 C++ JSON 处理库:JSONCpp,从安装到实战,带你轻松掌握 JSON 数据处理技巧。

2025-08-12 01:15:28 631

原创 《MySQL基础——表的约束》

真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primarykey,auto_increment,unique key 。

2025-08-05 02:21:40 568

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除