自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yui_的博客

希望你天天开心

  • 博客(212)
  • 收藏
  • 关注

原创 protobuf介绍与快速上手

摘要:Protobuf是Google开发的跨语言、跨平台的序列化工具,相比XML/JSON更高效、更紧凑。使用流程包括:1) 编写.proto文件定义数据结构;2) 用protoc编译器生成接口代码;3) 在程序中调用生成的接口进行序列化/反序列化操作。示例展示了如何定义个人信息结构并实现序列化传输,其优势在于自动生成代码简化开发,同时保持向后兼容性。Protobuf支持多种标量数据类型,适合网络传输和数据存储场景。

2026-01-25 20:11:31 1126

原创 spdlog: 高性能C++日志库

spdlog: 高性能C++日志库 spdlog是一个专为C++设计的高性能日志库,具有零配置、跨平台和丰富的功能特性。它支持多种日志输出方式,包括控制台输出、文件记录和循环文件存储,同时提供异步日志记录功能以减少对主线程的影响。 主要特性包括: 极高性能,专为高负载场景优化 简单易用的API,支持多种日志级别 灵活的日志格式化选项 线程安全设计 跨平台支持(Windows/Linux/macOS) 使用示例展示了如何配置日志输出到控制台、文件以及实现循环文件记录。特别功能包括flush_on()用于控制日

2026-01-23 23:11:52 663

原创 Redis中的List列表

Redis列表(List)是一种有序的字符串集合,支持在两端插入(push)和弹出(pop)元素,最多可存储2^32-1个元素。常用命令包括:LPUSH/RPUSH(头插/尾插元素)、LPOP/RPOP(头删/尾删元素)、LRANGE(获取指定范围元素)、LINDEX(获取指定位置元素)、LINSERT(在特定位置插入元素)和LLEN(获取列表长度)。此外还提供阻塞版本的BLPOP/BRPOP命令,当列表为空时会阻塞等待元素。列表数据结构灵活,既可作为栈也可作为队列使用,在实际开发中有广泛应用场景。

2026-01-22 19:43:06 680

原创 Redis中的Hash哈希

Redis哈希类型是一种键值对结构,其中值本身也是字段-值的映射关系。常用命令包括HSET(设置字段值)、HGET(获取字段值)、HDEL(删除字段)、HGETALL(获取所有字段和值)等。哈希内部编码会根据数据大小自动选择压缩列表(ziplist/listpack)或哈希表(hashtable)存储。压缩列表适用于小数据量,能节省内存;大数据量时则使用哈希表保证O(1)的读写性能。Redis 7.0开始用listpack替代了ziplist作为默认紧凑编码格式。

2026-01-21 19:33:37 651

原创 Redis中的string字符串介绍

Redis字符串类型是基础数据类型,支持存储文本、数字及二进制数据,最大512MB。所有键都是字符串类型,Redis不处理字符编码问题。常用命令包括: SET:设置键值,支持NX/XX选项和过期时间 GET/MGET:获取单个或多个键值 MSET:批量设置键值 计数命令:INCR/DECR系列实现数值增减 APPEND:字符串追加 特殊功能包括原子计数和批量操作优化网络通信,但需注意单次操作不宜过大。使用--raw参数可正确显示非ASCII字符。

2026-01-20 21:20:33 636

原创 Redis的基本全局命令以及数据类型和内部编码

本文介绍了Redis的全局命令和数据类型实现原理。主要内容包括:1)KEYS、EXISTS、DEL等基本命令的功能和使用;2)Redis的5种数据类型及其多种内部编码实现,根据数据量和复杂度自动选择最优编码;3)Redis单线程架构的高性能原理,包括纯内存操作、非阻塞IO和避免线程切换开销等特性。文章还指出Redis 3.2版本后list类型采用quicklist编码,并强调编码转换的不可逆性。通过object encoding命令可查看具体key的内部编码实现。

2026-01-19 19:21:06 681

原创 Vue3入门-计算属性+监听器

计算属性(computed)用于根据已有数据动态计算新值,具有缓存特性,适合模板展示和数据派生;侦听器(watch)用于监听响应式数据的变化并执行副作用操作,如异步请求或复杂逻辑,适合处理数据变化带来的过程和操作。两者结合使用,可以让 Vue 应用既高效又灵活。

2025-07-17 21:40:14 1521 1

原创 Vue3入门-组件及组件化

组件是 Vue 的核心概念之一,是指具有独立功能和结构的可复用代码块。每个组件包含自己的模板、逻辑和样式,可以像“积木”一样组合成完整的应用。组件化开发让项目结构更清晰、代码更易维护和复用。

2025-07-17 21:37:39 1212

原创 Vue3入门-指令补充

Vue 的指令修饰符(modifier)是以点(.)表示的特殊后缀,用于改变指令的行为。修饰符让指令更灵活,能满足更多实际开发需求。

2025-07-15 20:00:09 1028

原创 Vue3入门-指令

指令式Vue提供的带有v-前缀的特殊标签属性,用来增强标签的能力。可以提高数据的渲染能力。

2025-07-15 19:55:30 1313

原创 Vue3入门-声明式渲染+数据响应式

声明式渲染和数据响应式都是Vue3的重要特点,需要熟练掌握。

2025-07-14 13:50:56 772

原创 Vue3入门-必会前置知识

在学Vue3前,JS的基础知识是必须要知道,如果你有其他语言的基础的话,JS的语法非常简单,下面笔者会带大家回顾一下JS的基础语法,作为Vue3必会的前置基础知识。

2025-07-14 10:41:34 1397

原创 【MySQL】数据类型

本位介绍了MySQL中的数据类型,也了解的各个数据类型的具体用法,数据范围。希望大家在后续的创建表的过程中,可以合理使用这些数据类型。

2025-04-20 13:37:49 1674 10

原创 【MySQL】表的操作

本文主要讲述了对表的增(创建)删查改,不过这些都是表的基操作,后续的文章就对表的操作进行进阶

2025-04-18 13:40:56 1320 7

原创 【MySQL】库的操作

在数据库中,创建数据库是最开始的一步,本文向读者介绍了库的创建,然后通过数据库的创建语法引导出数据库的字符集和校验规则,然后就是对数据库进行操作比如查看、修改等操作,最后就是数据的备份与恢复。

2025-04-17 11:18:34 2841 54

原创 【MySQL】数据库基础

数据库技术产生于20世纪60年代,是数据管理的核心技术。数据库管理系统(database management system,简称DBMS)是大型复杂的基础软件,也是现代信息系统的核心和基础。

2025-04-14 16:39:36 1251 22

原创 【Qt】QWidget的styleSheet属性

【Qt】QWidget的styleSheet属性

2025-03-23 14:49:49 1914 86

原创 【Qt】QWidget属性2

【Qt】QWidget属性2

2025-03-17 10:30:57 1843 75

原创 【Qt】qrc机制介绍

【Qt】qrc机制介绍

2025-03-16 09:52:35 1556 37

原创 【Qt】QWidget属性介绍

【Qt】QWidget属性介绍

2025-03-14 16:26:46 1855 70

原创 【Qt】带参数的信号和槽函数

【Qt】带参数的信号和槽函数

2025-03-11 23:13:12 1957 70

原创 【Qt】自定义信号和槽函数

【Qt】自定义信号和槽函数

2025-03-08 16:35:46 3605 95

原创 【Qt-信号与槽】connect函数的用法

【Qt-信号与槽】connect函数的用法

2025-03-01 19:47:08 2790 99

原创 【Qt】HelloWorld程序

在Qt中,实现HelloWorld的方法有两种:1.通过图形化的方式,在界面上创建出一个控件,显示HelloWorld。2.通过纯代码的方式,在界面上创建控件,显示HelloWorld。

2025-02-26 16:24:06 1086 42

原创 【Qt】初始项目代码解释

Qt 初始代码的结构清晰且模块化,充分体现了 Qt 框架的设计哲学。从 QApplication 的初始化到 QWidget 的父子管理机制,再到 .pro 文件的配置,每个部分都在确保应用的稳定性和可扩展性。理解这些基础代码,不仅有助于掌握 Qt 的事件循环、窗口管理和资源组织方式,还能为后续的开发打下坚实的基础。希望这篇解析能帮助你更高效地入门 Qt,并为更复杂的应用开发做好准备。

2025-02-25 15:55:44 1865 73

原创 手把手教你实现文档搜索引擎

本文将以Boost文档为例手把手教你实现文档搜索引擎

2025-02-22 16:52:47 3343 66

原创 互联网的诞生与网络类型

互联网的诞生与网络类型

2025-02-10 20:14:22 1457 19

原创 【Linux/多线程】线程池的实现

【Linux/多线程】线程池的实现

2025-02-06 22:33:06 2438 75

原创 【CSS】:盒模型

【CSS】:盒模型的介绍

2025-02-03 22:49:25 2179 58

原创 【Linux】:多线程中的生产消费者模型

【Linux】:多线程中的生产消费者模型

2025-02-03 16:04:11 1319 30

原创 【CSS】:圆角矩形与元素的显示模式

【CSS】:圆角矩形与元素的显示模式

2025-02-02 15:21:27 797 5

原创 CSS:背景属性

CSS:背景属性

2025-02-02 11:45:59 1045 2

原创 【CSS】:字体与文本样式

【CSS】:字体与文本样式

2025-02-01 16:41:33 930 5

原创 【OpenCV】入门教学

OpenCV是一个集轻量、高效、开源与一身的被使用最广泛的计算机视觉工具,非常值得程序员的学习。

2025-01-27 23:38:35 4335 57

原创 【Java】异常处理:从基础到进阶

异常处理不仅仅是程序中应对错误的工具,更是确保程序健壮性和可维护性的重要手段。通过精确地捕获和处理异常,开发者能够有效地防止程序崩溃,并为用户提供更加友好的错误提示。合理的异常处理不仅能让代码在面对预期之外的情况时保持稳定,还能提升程序的可读性与可扩展性。

2025-01-25 14:24:08 1996 33

原创 【Linux】同步与异步的魔法:如何让多线程程序更高效

在多线程编程中,线程同步与异步是两个核心概念,它们在保障程序稳定性和提升性能方面各司其职。

2025-01-24 23:18:52 2731 54

原创 【Linux】线程控制的秘密:如何写出高效、稳定的多线程程序

线程控制是多线程编程中不可或缺的一部分,通过合理管理线程的创建、运行、同步和终止,可以提升程序的效率、稳定性和资源利用率。

2025-01-22 22:42:41 1440 54

原创 「2024·我的成长之路」:年终反思与展望

2025年1月16日,2024年博客之星入围公布,很荣幸获得了这次入围的机会。2024年对我个人是里程碑的一年,是意义非凡的一年,是充满变化的一年。

2025-01-21 21:19:02 1842 62

原创 【Java】详细讲解数据类型与运算符

Java 类型汇总. 本文介绍的是基本数据类型,后续会给大家介绍引用数据类型。由于 Java 是强类型语言, 因此对于类型检查较严格, 因此像 && 之类的运算操作数必须是 boolean,整体来看, Java 的运算符的基本规则和 C 语言基本一致

2025-01-20 21:23:03 1781 31

原创 LeetCode热题100(子串篇)

LeetCode热题100(子串篇)

2025-01-19 22:24:32 931 1

用C++编写的日志系统

可以为不同的日志分级,能通过日志锁定代码所在文件与行数以及清楚日志产生的时间。

2025-02-13

简易网页版音乐播放器源码

支持加入歌曲、暂停播放、音量调节。

2025-02-04

基于python实现的简单抽奖程序

本资源包括以及打包好的可执行文件以及对于的python源代码,使用者可以根据自己的需求对源代码进行修改。

2025-01-25

空空如也

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

TA关注的人

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