<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[恢弘志士之气，不宜妄自菲薄]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/qq_54652195</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; qq_54652195]]></copyright><item><title><![CDATA[【负载均衡oj项目】04. oj_server题目信息获取、界面渲染、负载均衡、后台交互功能]]></title><link>https://blog.csdn.net/qq_54652195/article/details/159083328</link><guid>https://blog.csdn.net/qq_54652195/article/details/159083328</guid><author>qq_54652195</author><pubDate>Sun, 15 Mar 2026 15:26:00 +0800</pubDate><description><![CDATA[本文介绍了一个在线判题系统(oj_server)的目录框架和核心代码结构。系统包含三个主要模块：oj_model.hpp负责题目数据加载和管理，oj_view.hpp处理HTML界面渲染，oj_control.hpp实现主机控制、负载均衡等功能。系统通过questions文件夹存储题目内容，template_html文件夹存放网页模板，conf文件夹保存服务器配置。文章详细展示了oj_model.hpp的代码实现，包括题目结构体定义、数据加载和查询功能。该系统为在线编程评测提供了完整的后端支持。]]></description><category></category></item><item><title><![CDATA[【负载均衡oj项目】03. compile_server编译运行服务设计]]></title><link>https://blog.csdn.net/qq_54652195/article/details/159050203</link><guid>https://blog.csdn.net/qq_54652195/article/details/159050203</guid><author>qq_54652195</author><pubDate>Sun, 15 Mar 2026 14:14:12 +0800</pubDate><description><![CDATA[本文介绍了一个在线编译执行系统的框架设计，主要包括编译器和执行器两大模块。编译器模块(compile.hpp)通过创建子进程调用g++进行代码编译，并将错误信息重定向到指定文件。执行器模块(runner.hpp)提供资源限制功能，通过rlimit设置进程的CPU和内存限制，并运行编译后的可执行程序。系统采用模块化设计，包含编译执行流程控制、错误处理和中间文件清理等功能模块，通过HTTP协议接收用户请求并调用相应处理流程。该框架实现了代码的安全编译和运行，满足在线评测系统的基本需求。]]></description><category></category></item><item><title><![CDATA[【负载均衡oj项目】02. comm公共文件夹设计 - 包含所有需要用到的自定义工具]]></title><link>https://blog.csdn.net/qq_54652195/article/details/159049433</link><guid>https://blog.csdn.net/qq_54652195/article/details/159049433</guid><author>qq_54652195</author><pubDate>Sat, 14 Mar 2026 16:28:35 +0800</pubDate><description><![CDATA[本文介绍了日志打印和工具类设计实现。日志模块封装了INFO、DEBUG等不同等级的日志输出功能，包含时间戳、文件名和行号等信息。工具类包括：1) TimeUtil提供秒级和毫秒级时间戳获取；2) PathUtil处理文件路径拼接，生成源代码、可执行程序等各类文件的完整路径；3) FileUtil实现文件存在性检查、唯一文件名生成和文件读写操作；4) StringUtil提供基于分隔符的字符串分割功能。这些模块为系统提供了基础功能支持，包括日志记录、文件管理和字符串处理等。]]></description><category></category></item><item><title><![CDATA[【负载均衡oj项目】01. 项目概述及准备工作]]></title><link>https://blog.csdn.net/qq_54652195/article/details/159010379</link><guid>https://blog.csdn.net/qq_54652195/article/details/159010379</guid><author>qq_54652195</author><pubDate>Fri, 13 Mar 2026 15:03:48 +0800</pubDate><description><![CDATA[本文介绍了一个基于C++开发的负载均衡式在线评测系统（OJ），采用MVC架构实现类似LeetCode的编程平台功能。系统通过多机负载均衡提升编译运行服务的并发能力，包含题目浏览、代码编辑、提交评测等核心功能。项目分为comm（公共模块）、compile_server（编译服务）和oj_server（主服务）三个模块，使用cpp-httplib、jsoncpp等开源库实现网络通信和数据序列化。文档详细说明了系统部署方法（需启动多个服务进程）、功能演示流程以及开发环境配置指南（包括GCC升级和依赖库安装）。]]></description><category></category></item><item><title><![CDATA[【MySQL】7. MySQL表数据的增查改删（CRUD）]]></title><link>https://blog.csdn.net/qq_54652195/article/details/158609630</link><guid>https://blog.csdn.net/qq_54652195/article/details/158609630</guid><author>qq_54652195</author><pubDate>Tue, 03 Mar 2026 09:13:03 +0800</pubDate><description><![CDATA[本文介绍了MySQL表的增删改查（CRUD）操作，重点讲解了Create（创建/插入）功能。内容包括：基础插入语法、单行/多行数据插入（全列/指定列）、冲突处理（ON DUPLICATE KEY UPDATE和REPLACE）。通过学生表示例演示了各种插入方式，包括自动填充自增字段、处理主键/唯一键冲突等场景。特别说明了不同冲突处理方式的行为差异和返回值含义，为数据库操作提供了实用指导。]]></description><category></category></item><item><title><![CDATA[【MySQL】6. MySQL表的约束]]></title><link>https://blog.csdn.net/qq_54652195/article/details/158540342</link><guid>https://blog.csdn.net/qq_54652195/article/details/158540342</guid><author>qq_54652195</author><pubDate>Sun, 01 Mar 2026 15:43:12 +0800</pubDate><description><![CDATA[本文介绍了MySQL中常用的表约束类型，包括空属性（NULL/NOT NULL）、默认值（DEFAULT）、列描述（COMMENT）和ZEROFILL等。这些约束通过技术手段确保数据的合法性和业务逻辑的正确性，最终目标是保证数据的完整性和可预期性。空属性要求字段不能为空值，默认值为字段设置默认填充值，列描述提供字段用途说明，而ZEROFILL则用于数字类型的格式化显示。通过具体案例演示了各类约束的创建和使用方法，强调了约束在实际开发中的重要性，帮助开发者设计更规范的数据库表结构。]]></description><category></category></item><item><title><![CDATA[【MySQL】5. MySQL数据类型]]></title><link>https://blog.csdn.net/qq_54652195/article/details/158535478</link><guid>https://blog.csdn.net/qq_54652195/article/details/158535478</guid><author>qq_54652195</author><pubDate>Sun, 01 Mar 2026 09:33:16 +0800</pubDate><description><![CDATA[MySQL数据类型摘要 MySQL支持多种数据类型，主要包括数值类型、位类型和小数类型。数值类型分为有符号和无符号两种，默认有符号，使用UNSIGNED关键字可定义无符号类型。tinyint类型范围为-128~127，插入越界值会被拒绝。bit类型用于存储位字段，可指定位数(1-64)，以十六进制显示。小数类型如float(m,d)可指定总位数m和小数位数d，MySQL会进行四舍五入校验。所有数据类型都具有约束作用，会强制校验数据合法性，确保数据完整性和一致性。]]></description><category></category></item><item><title><![CDATA[【MySQL】4. MySQL表的操作]]></title><link>https://blog.csdn.net/qq_54652195/article/details/158348663</link><guid>https://blog.csdn.net/qq_54652195/article/details/158348663</guid><author>qq_54652195</author><pubDate>Tue, 24 Feb 2026 13:49:08 +0800</pubDate><description><![CDATA[本文介绍了MySQL数据库表的创建、查看、修改和删除操作。主要内容包括： 创建表的基本语法和不同存储引擎（MyISAM/InnoDB）生成的文件差异 查看表结构的两种方法：DESC命令和SHOW CREATE TABLE 修改表的常用操作：添加字段、修改字段属性、删除字段、修改表名和字段名 删除表的DROP TABLE语法 通过具体案例演示了各操作的执行效果和注意事项 文章详细说明了不同存储引擎下表的存储方式差异，并提供了修改表结构时的实用语法示例，适合数据库开发人员参考使用。]]></description><category></category></item><item><title><![CDATA[【MySQL】3. MySQL库的操作]]></title><link>https://blog.csdn.net/qq_54652195/article/details/158348613</link><guid>https://blog.csdn.net/qq_54652195/article/details/158348613</guid><author>qq_54652195</author><pubDate>Tue, 24 Feb 2026 13:45:18 +0800</pubDate><description><![CDATA[MySQL数据库操作指南：创建/删除数据库、字符集与校验规则设置。关键点包括：1)创建数据库时可指定字符集(如utf8)和校验规则(区分/不区分大小写)；2)删除数据库语法；3)字符集影响语言支持，校验规则影响大小写敏感性和排序；4)通过SHOW CREATE DATABASE查看配置。示例演示了不同校验规则对查询和排序的影响，如utf8_general_ci不区分大小写，utf8_bin区分大小写。]]></description><category></category></item><item><title><![CDATA[【MySQL】2. MySQL数据库基础]]></title><link>https://blog.csdn.net/qq_54652195/article/details/158288265</link><guid>https://blog.csdn.net/qq_54652195/article/details/158288265</guid><author>qq_54652195</author><pubDate>Sun, 22 Feb 2026 16:24:44 +0800</pubDate><description><![CDATA[本文介绍了MySQL数据库的基本使用方法和架构原理。主要内容包括：1) MySQL登录与退出操作指令，包括参数说明和root用户切换；2) 对MySQL作为客户端-服务器模式网络服务的理解；3) 通过实例演示MySQL在Linux系统中的文件存储表现；4) 主流数据库产品的特点比较；5) 服务器、数据库和表之间的层级关系；6) MySQL的架构分层，包括连接层、服务层、存储引擎层和文件系统层。文章通过具体操作示例和架构图示，帮助读者理解MySQL的基本操作和核心工作原理。]]></description><category></category></item><item><title><![CDATA[【MySQL】1. MySQL安装]]></title><link>https://blog.csdn.net/qq_54652195/article/details/158288132</link><guid>https://blog.csdn.net/qq_54652195/article/details/158288132</guid><author>qq_54652195</author><pubDate>Sun, 22 Feb 2026 16:18:22 +0800</pubDate><description><![CDATA[本文介绍了在Ubuntu 22.04系统上安装和配置MySQL 8.0的完整流程。主要内容包括：1）通过apt命令安装MySQL服务器；2）使用mysql_secure_installation进行安全初始化配置；3）验证服务状态和管理MySQL服务；4）两种登录MySQL的方式及验证方法；5）核心配置文件的修改与管理。文章还解答了关于二进制日志文件(binlog)的常见问题，提供了从安装到配置的一站式指导，适合需要快速部署MySQL的用户参考。关键步骤配有详细说明和验证方法，确保安装配置的正确性和安全性。]]></description><category></category></item><item><title><![CDATA[多路转接epoll+Reactor反应堆]]></title><link>https://blog.csdn.net/qq_54652195/article/details/158101686</link><guid>https://blog.csdn.net/qq_54652195/article/details/158101686</guid><author>qq_54652195</author><pubDate>Sun, 15 Feb 2026 20:12:35 +0800</pubDate><description><![CDATA[本文介绍了Linux系统中的两种I/O多路复用接口poll和epoll。poll接口通过pollfd结构体管理监听事件，解决了select的文件描述符数量限制问题，但仍存在性能瓶颈。epoll是poll的增强版本，通过epoll_create、epoll_ctl和epoll_wait三个系统调用实现高效的事件管理，解决了poll的性能缺陷，成为Linux下最优的多路I/O复用机制。文章详细分析了两种接口的函数原型、参数说明、就绪条件判断、优缺点对比，并提供了poll监控标准输入的代码示例。]]></description><category></category></item><item><title><![CDATA[多路转接select系统调用详解]]></title><link>https://blog.csdn.net/qq_54652195/article/details/157871580</link><guid>https://blog.csdn.net/qq_54652195/article/details/157871580</guid><author>qq_54652195</author><pubDate>Sun, 08 Feb 2026 13:07:16 +0800</pubDate><description><![CDATA[摘要：select系统调用是经典的I/O多路复用实现，允许单进程监视多个文件描述符的可读、可写和异常状态变化。其核心机制是通过位图fd_set结构来管理待监视的fd集合，当有fd状态变化或超时触发时解除阻塞。调用时需设置最大fd值+1(nfds)和超时参数，返回后内核会重写fd_set仅保留就绪fd。使用时需注意每次调用前重新初始化fd_set，避免脏数据问题。select适用于socket编程，可高效检测连接、数据传输等网络事件的就绪状态。]]></description><category></category></item><item><title><![CDATA[五种IO模型与非阻塞IO]]></title><link>https://blog.csdn.net/qq_54652195/article/details/157734568</link><guid>https://blog.csdn.net/qq_54652195/article/details/157734568</guid><author>qq_54652195</author><pubDate>Wed, 04 Feb 2026 17:43:26 +0800</pubDate><description><![CDATA[文章摘要：本文系统介绍了Unix/Linux系统中的五种I/O模型：阻塞I/O、非阻塞I/O、I/O多路复用、信号驱动I/O和异步I/O。重点分析了各模型在数据等待和复制阶段的特性，指出同步I/O与异步I/O的本质区别在于数据复制阶段是否阻塞。通过对比表格详细展示了各模型的实现难度、CPU利用率和并发能力，指出I/O多路复用模型在高并发场景中的优势。文章还澄清了同步/异步通信的概念差异，为网络编程中的I/O模型选择提供了理论依据。]]></description><category></category></item><item><title><![CDATA[NAT 技术、代理服务与内网穿透：原理、缺陷及应用场景全解析]]></title><link>https://blog.csdn.net/qq_54652195/article/details/157504379</link><guid>https://blog.csdn.net/qq_54652195/article/details/157504379</guid><author>qq_54652195</author><pubDate>Thu, 29 Jan 2026 10:21:26 +0800</pubDate><description><![CDATA[摘要： NAT技术通过私有IP与公网IP的转换缓解IPv4地址不足问题，核心包括地址转换(NAPT)和映射表维护，但存在外网无法主动连接内网、资源开销大等缺陷。代理服务器分为正向代理（客户端侧）和反向代理（服务端侧）：正向代理实现缓存加速、访问控制及客户端隐藏，适用于企业内网管理；反向代理提供负载均衡、安全防护及缓存加速，是高并发网站和业务系统的关键组件。两者分别从客户端和服务端优化网络通信与安全。]]></description><category></category></item><item><title><![CDATA[数据链路层核心全解：以太网、MAC 地址、MTU 与 ARP 协议深度剖析]]></title><link>https://blog.csdn.net/qq_54652195/article/details/157504181</link><guid>https://blog.csdn.net/qq_54652195/article/details/157504181</guid><author>qq_54652195</author><pubDate>Thu, 29 Jan 2026 10:14:08 +0800</pubDate><description><![CDATA[本文深入解析了计算机网络中数据链路层与网络层的核心概念及其协作关系。数据链路层（如以太网）负责局域网内基于MAC地址的可靠传输，通过帧格式（含目的/源MAC地址、类型、数据、CRC校验）实现点对点通信，受MTU（如以太网1500字节）限制。网络层则基于IP地址实现跨网络路由，通过分片机制适配不同链路的MTU差异。文章详细对比了MAC地址（物理标识）与IP地址（逻辑标识）的区别，并分析了MTU对UDP（增加分片丢失风险）和TCP（通过MSS协商避免分片）协议的影响，揭示了网络协议栈各层协同工作的技术细节。]]></description><category></category></item><item><title><![CDATA[从寻址到转发：网络层 IP 协议全流程工作原理详解]]></title><link>https://blog.csdn.net/qq_54652195/article/details/157503844</link><guid>https://blog.csdn.net/qq_54652195/article/details/157503844</guid><author>qq_54652195</author><pubDate>Thu, 29 Jan 2026 10:07:22 +0800</pubDate><description><![CDATA[本文分析了TCP/IP协议栈中网络层与传输层的核心功能及协作关系。网络层(IP协议)负责跨网络的路由寻址和主机间数据包传输，采用&quot;尽力而为&quot;机制但不保证可靠性。传输层(TCP/UDP)则确保端到端的可靠传输，TCP通过序列号、确认应答等机制弥补IP层的不可靠性。文章通过快递运输的类比，形象说明了两者的分工：IP层如同物流运输，TCP层则负责质量监控。此外，详细解析了IP协议的核心构成，包括地址结构、分片重组机制及协议头格式，并介绍了网段划分原则和DHCP动态配置技术。]]></description><category></category></item><item><title><![CDATA[图解 TCP：从滑动窗口到拥塞避免，彻底搞懂 TCP 的可靠性机制]]></title><link>https://blog.csdn.net/qq_54652195/article/details/157172034</link><guid>https://blog.csdn.net/qq_54652195/article/details/157172034</guid><author>qq_54652195</author><pubDate>Tue, 20 Jan 2026 10:34:55 +0800</pubDate><description><![CDATA[TCP协议通过滑动窗口机制提高传输效率，允许发送方在未收到确认时连续发送多个数据包。窗口大小决定了无需等待确认即可发送的数据量，窗口滑动依据ACK应答进行移动。针对丢包问题，TCP采用快重传机制（连续收到相同ACK时重发丢失数据包）和超时重传机制。流量控制通过接收方通告窗口大小动态调整发送速率，避免缓冲区溢出。拥塞控制采用慢启动机制，拥塞窗口呈指数增长（1,2,4,8...）以探测网络容量，实际发送窗口取拥塞窗口和接收窗口的最小值。这些机制共同保障了TCP的可靠性和网络适应性。 ]]></description><category></category></item><item><title><![CDATA[面试必问：TCP 三次握手与四次挥手详解]]></title><link>https://blog.csdn.net/qq_54652195/article/details/157171756</link><guid>https://blog.csdn.net/qq_54652195/article/details/157171756</guid><author>qq_54652195</author><pubDate>Tue, 20 Jan 2026 10:26:57 +0800</pubDate><description><![CDATA[TCP协议详解 TCP四层模型：传输控制协议，负责数据传输的可靠控制 协议段格式：首部20-60字节，包含端口号、序号、确认号、标志位等关键字段 可靠性机制： 确认应答(ACK)机制保证历史消息可靠 32位序号和确认号实现数据排序和去重 丢包处理：通过超时重传机制动态计算重传时间 连接管理： 三次握手建立连接（SYN+ACK） 四次挥手终止连接 RST标志位强制中断异常连接 TCP通过序号、确认应答、超时重传等机制确保可靠传输，同时提供流量控制和连接管理功能。]]></description><category></category></item><item><title><![CDATA[拆解 UDP 协议：从协议格式理解UDP]]></title><link>https://blog.csdn.net/qq_54652195/article/details/157063324</link><guid>https://blog.csdn.net/qq_54652195/article/details/157063324</guid><author>qq_54652195</author><pubDate>Sat, 17 Jan 2026 15:28:29 +0800</pubDate><description><![CDATA[本文介绍了端口号与UDP协议的核心概念。端口号用于标识主机上的应用程序，分为知名端口号（0-1023）和动态端口号（1024-65535）。UDP协议具有无连接、不可靠、面向数据报和全双工的特点，其首部仅8字节，包含源/目的端口号、长度和校验和字段。UDP的发送缓冲区不存在，接收缓冲区则通过sk_buff结构管理报文。sk_buff是Linux内核网络协议栈的核心数据结构，通过移动指针实现高效封装和解包，避免内存拷贝，体现了UDP轻量化、低开销的设计理念。]]></description><category></category></item></channel></rss>