<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CSQCSQCC的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CSQCSQCC</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CSQCSQCC]]></copyright><item><title><![CDATA[多路复用 epoll -- epoll 的工作原理，epoll 的优缺点，epoll 实现 TCP 回显服务器]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/155351571</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/155351571</guid><author>CSQCSQCC</author><pubDate>Fri, 28 Nov 2025 14:01:52 +0800</pubDate><description><![CDATA[本文介绍了Linux特有的高性能I/O多路复用机制epoll。epoll通过红黑树管理监控的文件描述符(FD)，就绪链表存储触发事件，用户态缓冲区接收就绪事件，实现了O(1)复杂度的高效事件查询。相比select/poll，epoll支持海量连接，避免了FD数量限制和线性扫描开销。文章详细解析了epoll_create、epoll_ctl和epoll_wait三个核心函数的工作原理，以及关键结构体epoll_event的使用方法。最后通过实现TCP回显服务器的代码示例，展示了epoll在实际开发中的应用。虽]]></description><category></category></item><item><title><![CDATA[多路复用 poll -- poll 的介绍，poll 的优缺点，poll 版本的 TCP 回显服务器]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/155317773</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/155317773</guid><author>CSQCSQCC</author><pubDate>Thu, 27 Nov 2025 16:35:08 +0800</pubDate><description><![CDATA[本文介绍了Linux/Unix系统中的I/O多路复用机制poll。poll改进了select的缺点，通过pollfd结构体数组摆脱了FD数量限制，分离了监控事件和就绪事件管理。文章分析了poll的优缺点：优点是FD无数量限制、事件管理灵活、跨平台兼容性强；缺点是仍需线性扫描FD数组和存在内核/用户态拷贝开销。最后展示了一个使用poll实现的TCP回显服务器代码，通过poll监听多个客户端连接，实现高效I/O处理。该实现与select服务器功能相同，但更具扩展性。]]></description><category></category></item><item><title><![CDATA[多路复用 select -- select 的介绍，select 的优缺点，select 版本的 TCP 回显服务器]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/155230065</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/155230065</guid><author>CSQCSQCC</author><pubDate>Thu, 27 Nov 2025 13:41:21 +0800</pubDate><description><![CDATA[本文摘要：文章详细介绍了select系统调用的多路复用I/O机制及其在TCP回显服务器中的应用。主要内容包括：1) select函数原理及参数解析，通过监控文件描述符集实现高效I/O；2) 基于C++实现的TCP服务器框架，包含互斥锁封装、日志系统设计等基础模块；3) 完整的select版服务器实现，采用事件驱动模型处理连接和I/O事件。文中提供了详细的代码示例，展示了如何使用select构建高性能网络服务器，包括套接字管理、事件派发和错误处理等核心功能。]]></description><category></category></item><item><title><![CDATA[C 语言部分操作符详解 -- 进制转换，原码、反码、补码，位操作符，逗号表达式，操作符的优先级和结合性，整型提升，算术转换]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/149052491</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/149052491</guid><author>CSQCSQCC</author><pubDate>Tue, 15 Jul 2025 13:12:52 +0800</pubDate><description><![CDATA[本文介绍了C语言操作符的分类及其应用，包括算术、位运算、移位等操作符的使用方法。重点讲解了二进制与其他进制的转换原理，以及整数的原码、反码、补码表示。通过具体代码示例演示了位操作符（&amp;、|、^、~）的实际应用，并对比了两种变量交换方法。文章还涉及逗号表达式、下标访问和函数调用操作符的特性，最后分析了表达式求值中的整型提升和算术转换规则。这些内容为理解C语言底层运算机制提供了重要参考。]]></description><category></category></item><item><title><![CDATA[C语言函数介绍 -- 库函数与标准库，形参和实参，数组作函数参数，函数的声明和定义，static，extern，函数递归]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148959402</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148959402</guid><author>CSQCSQCC</author><pubDate>Sun, 29 Jun 2025 15:34:42 +0800</pubDate><description><![CDATA[本文系统介绍了C语言函数的相关概念和使用方法。主要内容包括：1.函数的基本概念，分为库函数和自定义函数两类；2.函数的定义与调用，包括形参和实参的关系、return语句的使用；3.数组作为函数参数的传递方式；4.函数的嵌套调用和链式访问；5.函数声明与定义，以及多文件编程方法；6.static和extern关键字对函数和变量的修饰作用；7.递归函数的工作原理及注意事项。文章通过具体代码示例详细说明了函数各种用法的实现方式，并比较了递归与迭代的优缺点，为C语言函数的使用提供了全面指导。]]></description><category></category></item><item><title><![CDATA[MySQL 索引 -- 磁盘，主键索引，唯一索引，普通索引，全文索引]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148975000</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148975000</guid><author>CSQCSQCC</author><pubDate>Sat, 28 Jun 2025 21:39:25 +0800</pubDate><description><![CDATA[MySQL数据库索引机制与优化策略 摘要： 本文系统介绍了MySQL数据库的存储结构与索引原理。首先阐述了磁盘IO的基本概念，指出MySQL以16KB的page作为基本交互单位，通过Buffer Pool缓存机制提升效率。重点分析了B+树索引结构，包括其非叶子节点存储目录、叶子节点相连的特性，以及聚簇索引与非聚簇索引的差异（数据存储方式、查询效率等）。文章详细说明了主键、唯一、普通、全文四种索引的操作方法，并提出了索引优化原则：选择合适字段、遵循最左前缀、避免冗余、使用覆盖索引。最后对比了全文索引与LIKE]]></description><category></category></item><item><title><![CDATA[MySQL 复合查询和内外连接 -- 子查询，多表查询，自连接，合并查询，表的内外连接]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148909538</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148909538</guid><author>CSQCSQCC</author><pubDate>Sat, 28 Jun 2025 02:02:42 +0800</pubDate><description><![CDATA[这篇文章介绍了SQL查询中的多种高级操作技巧。主要包括子查询（单行、多行、多列子查询及from子句中的使用）、多表查询与笛卡尔积、自连接、合并查询（union和union all）以及表的内外连接（左外连接和右外连接）。通过具体示例展示了如何查询同一部门员工、高于部门平均工资的员工、员工上级领导信息等场景，并对比了不同语法（如where子句与inner join）的实现方式。文章还解释了外连接在保留完整数据（如所有学生或所有成绩）时的重要作用。]]></description><category></category></item><item><title><![CDATA[五种 IO 模式的简单介绍 -- 阻塞 IO，非阻塞 IO，信号驱动 IO，IO 多路复用，异步 IO]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148880764</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148880764</guid><author>CSQCSQCC</author><pubDate>Wed, 25 Jun 2025 00:15:03 +0800</pubDate><description><![CDATA[本文介绍了五种I/O模型：1.同步阻塞I/O：进程发起请求后阻塞等待完成；2.同步非阻塞I/O：进程轮询检查I/O状态；3.信号驱动I/O：内核通过信号通知就绪状态；4.I/O多路复用：select/poll/epoll监控多个描述符；5.异步I/O：内核完成所有操作后通知进程。文章详细说明了各模型原理，重点分析了非阻塞I/O的实现方式，包括fcntl函数设置、错误码处理及示例代码。最后比较了select、poll、epoll三种多路复用机制的特点。]]></description><category></category></item><item><title><![CDATA[MySQL 内置函数 -- 日期函数，字符串函数，数学函数，其他函数]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148857284</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148857284</guid><author>CSQCSQCC</author><pubDate>Tue, 24 Jun 2025 22:10:36 +0800</pubDate><description><![CDATA[本文介绍了MySQL中常用的四类函数：1. 日期函数：包括now()获取当前时间，date()提取日期部分，date_add/date_sub日期加减，datediff计算日期差等；2. 字符串函数：如length()获取字节数，replace()字符串替换，substring()截取子串，trim()去除空格等；3. 数学函数：包括bin()转二进制，hex()转十六进制，conv()进制转换等；4. 其他实用函数：如user()查看用户，database()显示当前库，md5()加密，ifnull()空]]></description><category></category></item><item><title><![CDATA[C语言数组介绍 -- 一维数组和二维数组的创建、初始化、下标、遍历、存储，C99 变长数组]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148851688</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148851688</guid><author>CSQCSQCC</author><pubDate>Mon, 23 Jun 2025 20:40:53 +0800</pubDate><description><![CDATA[【摘要】本文系统地介绍了C语言中数组的概念、创建与使用方法。一维数组部分详细讲解了数组定义、初始化、下标访问、遍历操作、内存存储及sizeof计算元素个数等内容。二维数组部分重点阐述了创建方式、多种初始化方法、行列下标访问、嵌套循环遍历，以及连续存储的特性。最后介绍了C99标准新增的变长数组（VLA）特性，说明其运行时确定数组大小的特点。全文通过大量代码示例，全面展示了数组这一重要数据结构在C语言中的具体应用和底层实现原理。]]></description><category></category></item><item><title><![CDATA[NAT 与代理服务器 -- NAT，NAPT，正向代理，反向代理]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148746201</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148746201</guid><author>CSQCSQCC</author><pubDate>Wed, 18 Jun 2025 23:12:24 +0800</pubDate><description><![CDATA[（1）从应用上讲，NAT 设备是网络基础设备之一，解决的是 IP 不足的问题；（3）从使用范围上讲，NAT 一般在局域网的出口部署，代理服务器可以部署在局域网，可以部署在广域网，也可以跨网络部署。如上图所示，全球的网络就是由一个一个子网嵌套式的组成在一起，最后通过一个路由器连入广域网中（公网）。路由器往往都具备 NAT 设备的功能，通过 NAT 设备进行中转，完成子网设备和其他子网设备的通信。一般家用的主机，都是通过网线连在路由器的 LAN 口上，这表示这个主机属于该路由器构建的子网当中。]]></description><category></category></item><item><title><![CDATA[数据链路层介绍 -- 以太网数据帧格式，MTU 以及 MTU 与 UDP、TCP 的影响，ARP 协议]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148724693</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148724693</guid><author>CSQCSQCC</author><pubDate>Wed, 18 Jun 2025 18:08:30 +0800</pubDate><description><![CDATA[本文介绍了数据链路层核心概念，重点分析了以太网技术、MTU限制和ARP协议。以太网作为主流局域网技术，其数据帧包含6字节MAC地址、2字节协议类型和4字节校验码。MTU（最大传输单元）限制数据包大小（以太网为1500字节），影响UDP/TCP传输效率——UDP易因分片丢失数据，TCP通过MSS协商避免分片。ARP协议用于IP到MAC地址的映射，通过广播请求/单播应答实现跨层通信。文章还详细解析了ARP报文格式和工作流程，阐述了其在网络通信中的关键作用。]]></description><category></category></item><item><title><![CDATA[网络层协议 IP 协议介绍 -- IP 协议，网段划分，私有 IP 和 公网 IP，路由]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148614456</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148614456</guid><author>CSQCSQCC</author><pubDate>Tue, 17 Jun 2025 21:47:46 +0800</pubDate><description><![CDATA[本文介绍了网络层IP协议的核心概念与应用。主要内容包括：1) IP协议格式解析，包含版本号、首部长度、服务类型等12个关键字段；2) 网段划分技术，包括传统IP分类（A-E类）和更高效的CIDR无类域间路由；3) 特殊的IP地址用途与IP地址限制解决方案，如动态分配、NAT技术和IPv6；4) 私有IP与公网IP的区别及应用场景；5) 路由工作原理，包括路由表查询和数据包转发过程。文章系统性地阐述了网络通信中IP地址管理、子网划分和数据路由的核心机制。]]></description><category></category></item><item><title><![CDATA[C语言数据类型、变量和常用操作符 -- C语言数据类型，变量创建、分类以及初始化，常见运算符，强制类型转换，printf 函数，scanf 函数]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148639715</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148639715</guid><author>CSQCSQCC</author><pubDate>Mon, 16 Jun 2025 23:57:59 +0800</pubDate><description><![CDATA[本文摘要： 《C语言基础语法要点解析》系统介绍了C语言核心概念。内容包括：1)数据类型及其长度，使用sizeof操作符测量类型大小；2)signed/unsigned区别及取值范围；3)变量创建、初始化与分类（全局/局部变量）；4)算术运算符（+-*/%）的使用规则；5)赋值运算符及复合赋值运算符；6)单目操作符（++/--）的前置后置区别；7)强制类型转换语法；8)输入输出函数详解：printf的占位符（%d,%f等）及格式控制（宽度、对齐、小数位），scanf的数据读取机制、返回值及安全注意事项。全文通]]></description><category></category></item><item><title><![CDATA[传输层协议 TCP 介绍 -- TCP协议格式，确认应答机制，超时重传机制，连接管理机制，滑动窗口，流量控制，拥塞控制，延迟应答，捎带应答]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148436938</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148436938</guid><author>CSQCSQCC</author><pubDate>Wed, 11 Jun 2025 23:21:32 +0800</pubDate><description><![CDATA[TCP协议详解摘要 TCP（传输控制协议）是一种可靠的面向连接的传输层协议，通过序列号、确认应答、超时重传等机制保证数据传输的可靠性。其核心机制包括：1）连接管理（三次握手建立连接、四次挥手释放连接）；2）滑动窗口机制实现高效传输；3）流量控制通过窗口大小动态调节；4）拥塞控制采用慢启动、拥塞避免等算法；5）延迟应答和捎带应答提升性能。TCP通过32位序号和确认号实现字节流有序传输，使用6个标志位（SYN/ACK/FIN等）控制连接状态。应用层协议如HTTP、HTTPS、SSH等均基于TCP实现可靠通信。]]></description><category></category></item><item><title><![CDATA[Git 介绍、安装以及基本操作 ]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148568626</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148568626</guid><author>CSQCSQCC</author><pubDate>Wed, 11 Jun 2025 14:46:06 +0800</pubDate><description><![CDATA[Git入门指南：版本控制与基本操作 Git是一款强大的版本控制系统，解决了传统文件管理中的版本混乱问题。本文介绍了Git的核心概念和基本操作：1) Git可高效管理各种文件版本，解决文件冗余和修改记录不清问题；2) 在Ubuntu中通过简单命令即可安装Git；3) 详细讲解了仓库创建、三区概念(工作区/暂存区/版本库)、文件添加/修改/版本回退等核心操作；4) 重点说明如何通过git add/commit提交修改，使用git reset进行版本回退，以及如何撤销不同阶段的修改。Git通过指针机制快速切换版本]]></description><category></category></item><item><title><![CDATA[传输层协议 UDP 介绍 -- UDP 协议格式，UDP 的特点，UDP 的缓冲区]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148436378</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148436378</guid><author>CSQCSQCC</author><pubDate>Wed, 04 Jun 2025 23:24:01 +0800</pubDate><description><![CDATA[本文主要是对计算机网络体系结构中传输层的 UDP 协议做了一定的介绍，包括 UDP 协议的格式，UDP 协议的特点，UDP 协议的缓冲区以及一些基于 UDP 协议的应用层协议。]]></description><category></category></item><item><title><![CDATA[Linux 中应用层自定义协议与序列化 -- 自定义协议概述，序列化和反序列化，Jsoncpp]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148282091</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148282091</guid><author>CSQCSQCC</author><pubDate>Fri, 30 May 2025 15:43:51 +0800</pubDate><description><![CDATA[本文介绍了应用层自定义协议的设计与实现，重点基于Jsoncpp库开发网络计算器应用。主要内容包括： 应用层协议设计原理：通过序列化将结构化数据转为字符串传输，反序列化还原数据，解决跨平台兼容性问题。 Jsoncpp核心功能：详细解析Json::Value类的构造、元素访问、类型检查及转换方法，展示FastWriter序列化和Reader反序列化实践。 网络计算器实现：采用三层架构设计： 传输层：封装Socket类处理TCP通信 协议层：基于Json定制请求/响应报文格式 业务层：实现计算器核心逻辑 代码示例]]></description><category></category></item><item><title><![CDATA[MySQL 表内容的增删查改 -- CRUD操作，聚合函数，group by 子句]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148198823</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148198823</guid><author>CSQCSQCC</author><pubDate>Wed, 28 May 2025 12:35:50 +0800</pubDate><description><![CDATA[本文系统介绍了SQL的CRUD操作，包含创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)四大基本功能。详细讲解了数据插入的多种方式、条件查询、排序分组、分页显示等核心语法，并提供了丰富的示例说明。重点介绍了聚合函数使用、GROUP BY子句分组统计以及SQL查询关键字的执行顺序。文章还特别对比了DELETE与TRUNCATE的区别，并展示了如何利用子查询实现表数据去重等实用技巧，全面覆盖了SQL基础操作的关键知识点。]]></description><category></category></item><item><title><![CDATA[MySQL 中表的约束 -- 空属性，默认值，主键，自增长，唯一键，外键]]></title><link>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148189180</link><guid>https://blog.youkuaiyun.com/CSQCSQCC/article/details/148189180</guid><author>CSQCSQCC</author><pubDate>Sat, 24 May 2025 21:24:39 +0800</pubDate><description><![CDATA[数据库约束机制是保证数据合法性和正确性的关键技术手段。主要包括：1）空属性（NOT NULL）约束确保字段不为空；2）默认值（DEFAULT）为常用字段预设值；3）列描述（COMMENT）提供字段说明；4）主键（PRIMARY KEY）保证记录唯一性且非空；5）自增长（AUTO_INCREMENT）自动生成递增值；6）唯一键（UNIQUE）确保字段值唯一但允许空值；7）外键（FOREIGN KEY）维护表间引用完整性。这些约束共同作用，有效规范数据操作行为，维护数据质量。]]></description><category></category></item></channel></rss>