<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2302_80243065的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2302_80243065</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2302_80243065]]></copyright><item><title><![CDATA[【MySQL】表的增删改查：写进去、查出来、改明白、删干净]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/170051450</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/170051450</guid><author>2302_80243065</author><pubDate>Wed, 04 Nov 2026 19:09:36 +0800</pubDate><description><![CDATA[本篇把 C/R/U/D 四条线串起来：先会写，再知道为什么，最后能解释这些结果。读完后，你至少能独立写出这四类 SQL，并能解释 1062、Empty set、NULL、1055 这些结果是怎么来的；看到一条查询，也知道该先看 where、order by 还是 group by。]]></description><category></category></item><item><title><![CDATA[【MySQL】给数据立规矩：六大约束、三个列属性与它们的边界]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/169445836</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/169445836</guid><author>2302_80243065</author><pubDate>Thu, 29 Oct 2026 11:04:53 +0800</pubDate><description><![CDATA[本篇文章不打算把建表子句从头到尾念一遍。我把它拆成两部分：六大约束（not null、default、primary key、unique key、foreign key、check）和三个常用列属性（auto_increment、comment、zerofill）。我想沿着一条更实际的路走：先看每一类约束在挡什么脏数据，再看它怎么写、会报什么错，最后回到一张真实的商店表，把六条约束和三个属性拼成一套能落地的设计。]]></description><category></category></item><item><title><![CDATA[【MySQL】 数据类型全解析：从 tinyint 越界到 enum 多选的选型艺术]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/168975350</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/168975350</guid><author>2302_80243065</author><pubDate>Sat, 24 Oct 2026 17:44:45 +0800</pubDate><description><![CDATA[数据类型是整个表结构设计的地基。选错类型，轻则浪费存储空间、查询变慢，重则数据被悄悄四舍五入、越界报错、甚至业务逻辑直接跑偏。本章我会先带你建立数据类型的全景认知，然后逐个拆解数值类型（整数与小数）、字符串类型（char 与 varchar）、日期时间类型、enum 与 set 选择类型这四大类，讲清楚每种类型的取值范围、存储原理、适用场景，最后用一节避坑指南把初学者最容易栽的跟头一次说透。]]></description><category></category></item><item><title><![CDATA[【MySQL】数据库世界的入场券：从认识数据库到亲手建库建表]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/168232653</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/168232653</guid><author>2302_80243065</author><pubDate>Sat, 17 Oct 2026 11:04:02 +0800</pubDate><description><![CDATA[日常开发中，我们几乎离不开数据库，那对于日常开发来说，为什么不直接用普通文件存数据？MySQL 数据库服务器、数据库、表三者是什么关系？SQL 语句分为哪几大类？存储引擎又到底是什么？

本文从为什么需要数据库开始，带你认识主流数据库，掌握 MySQL 基础操作，理清整体架构、SQL 分类以及存储引擎的核心知识点，适合零基础入门学习。

读完本文，你将理解数据库存在的原因与 MySQL 的整体架构，并能独立完成建库、建表、改表、备份恢复等全部基础操作——这是通往后续 SQL 增删改查、索引优化、事务隔离的必]]></description><category></category></item><item><title><![CDATA[【DNS与ICMP】DNS 域名解析与 ICMP 网络诊断全解析：从 hosts 文件到全球分布式系统]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/164029835</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/164029835</guid><author>2302_80243065</author><pubDate>Mon, 24 Aug 2026 17:57:46 +0800</pubDate><description><![CDATA[本文把 DNS 和 ICMP 放在一起讲，不是随意组合——它们分别代表了网络通信中"寻址"和"诊断"两个正交的维度。读完本文，你将能清晰描述从输入 URL 到页面加载的完整寻址过程，能独立使用 dig/ping/traceroute 诊断网络故障，并彻底理解"ping 是什么端口"这个经典面试陷阱背后的逻辑。]]></description><category></category></item><item><title><![CDATA[【HTTPS】一个“S“背后的战争：五轮迭代还原 HTTPS 设计全貌]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/163824638</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/163824638</guid><author>2302_80243065</author><pubDate>Mon, 17 Aug 2026 14:32:36 +0800</pubDate><description><![CDATA[本文将从运营商劫持的真实场景出发，先铺垫密码学基础知识（对称加密、非对称加密、数字摘要与签名），然后带你经历 HTTPS 方案的五次迭代——每一步都会暴露一个新漏洞，再引入一个新机制来填补——最终抵达今天互联网安全的基石：非对称加密 + 对称加密 + CA 证书认证的三层防护体系。读完本文，你不仅能讲清 HTTPS 的工作原理，还能回答面试中的刁钻追问：为什么不用全非对称加密？证书到底防住了什么？中间人攻击的根本弱点在哪里？]]></description><category></category></item><item><title><![CDATA[【Cookie与Session】无状态 HTTP 如何“记住“你？——从 Cookie 协议到分布式 Session]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/163692595</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/163692595</guid><author>2302_80243065</author><pubDate>Wed, 12 Aug 2026 11:29:28 +0800</pubDate><description><![CDATA[本文将从 Cookie 的协议定义出发，用 C++ 代码验证其写入、过期和路径隔离行为，再引出 Session 的设计动机和实现原理，最后给出生产环境中 Cookie 与 Session 的选型建议。读完本文，你将能用 C++ 亲手实现一个带登录态管理的最小 Web 后端，彻底理解"无状态 HTTP 上的有状态会话"这一看似矛盾却精妙的设计。]]></description><category></category></item><item><title><![CDATA[【守护进程】从进程组到守护进程——Linux 服务化的底层基石]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/163591427</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/163591427</guid><author>2302_80243065</author><pubDate>Sat, 08 Aug 2026 15:28:18 +0800</pubDate><description><![CDATA[本文将从进程组、会话、控制终端、作业控制四个基础概念出发，层层递进到守护进程的实现原理，最后手写一个完整的 Daemon() 函数并将一个网络服务守护进程化。读完本文，你将能够：画出"终端→会话→进程组→进程"的层级关系图，解释 setsid 为什么必须由非组长进程调用，独立实现生产级的守护进程创建逻辑，并清楚地理解 Ctrl+C/Z/\ 分别影响了哪些进程。]]></description><category></category></item><item><title><![CDATA[【自旋锁】用“忙等待“换“低延迟“——自旋锁原理与实战]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/163478424</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/163478424</guid><author>2302_80243065</author><pubDate>Tue, 04 Aug 2026 17:24:15 +0800</pubDate><description><![CDATA[本文将从自旋锁的底层原理出发，用原子操作手写一个自旋锁，再深入 Linux 的 pthread_spinlock 系统调用，最后通过售票系统的实战案例对比互斥锁和自旋锁的性能差异。读完本文，你将能够：独立解释自旋锁和互斥锁在"等待机制"上的本质区别，在合适的场景下用 pthread_spinlock 替代 mutex 以获得更低延迟，并清楚地判断什么样的临界区适合自旋锁、什么样的绝对不能用。]]></description><category></category></item><item><title><![CDATA[【读写锁】读者写者问题与读写锁——用“读共享、写独占“破解多读少写的并发性能瓶颈]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/163374813</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/163374813</guid><author>2302_80243065</author><pubDate>Fri, 31 Jul 2026 20:17:43 +0800</pubDate><description><![CDATA[本文将从读者写者问题的定义出发，用伪代码推导最小实现原型，再深入 pthread 读写锁的 API 和优先级策略，最后通过一个完整的 C++ 案例演示读写锁在多读少写场景下的表现。读完本文，你将能够清楚地解释读者写者问题和生产消费模型的本质区别，独立使用 pthread_rwlock_t 优化多读少写的并发场景，并理解读者优先和写者优先两种策略各自面临的饥饿风险。]]></description><category></category></item><item><title><![CDATA[【Reactor模式】Reactor 反应堆模式——用事件驱动取代人海战术，手写 C++ 高性能网络框架的核心骨架]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/163238799</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/163238799</guid><author>2302_80243065</author><pubDate>Mon, 27 Jul 2026 12:07:49 +0800</pubDate><description><![CDATA[本文将从零推导 Reactor 的设计动机和核心架构，然后逐行拆解一个完整的 C++ Reactor 参考实现。读完本文，你将能够理解 Reactor 模式的设计哲学，独立写出基于 epoll + Reactor 的高并发 TCP 服务器框架，并清楚地知道每个组件在事件循环中扮演什么角色。]]></description><category></category></item><item><title><![CDATA[【epoll 多路转接】红黑树 + 就绪队列 + 回调机制，彻底搞懂 Linux 高性能服务器的基石]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/162978825</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/162978825</guid><author>2302_80243065</author><pubDate>Sat, 18 Jul 2026 00:20:13 +0800</pubDate><description><![CDATA[本文将从 epoll 的三个系统调用出发，深入内核数据结构（红黑树 + 就绪队列 + 回调机制），对比 LT 和 ET 两种工作模式的设计哲学，最后手写出完整的 LT 和 ET 版本 epoll 服务器。读完本文，你将能够独立实现基于 epoll 的高并发 TCP 服务器，在面试中向面试官画出 epoll 的内核数据结构图，并清楚地判断什么场景适合 epoll、什么场景反而该用 select。]]></description><category></category></item><item><title><![CDATA[【select 多路转接】从位图推演到字典服务器，掌握 IO 复用的第一块拼图]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/162871690</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/162871690</guid><author>2302_80243065</author><pubDate>Tue, 14 Jul 2026 13:45:13 +0800</pubDate><description><![CDATA[这篇文章就来拆解 IO 多路转接的第一个、也是最经典的实现：select()。虽然它诞生于 1983 年的 4.2BSD，以今天的标准看有诸多局限（fd 数量上限 1024、每次都要重新设置 fd_set、O(n) 轮询效率），但正是因为它的简单——一个函数、一个位图、四个宏——它成为理解 IO 多路转接的最佳入口。搞懂了 select，再去学 poll 和 epoll 会发现"哦，就是在修 select 的短板"。]]></description><category></category></item><item><title><![CDATA[【Linux之旅】五种 IO 模型与阻塞 IO：带你彻底搞懂 Linux IO 设计哲学]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/162765572</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/162765572</guid><author>2302_80243065</author><pubDate>Fri, 10 Jul 2026 15:42:03 +0800</pubDate><description><![CDATA[本文将从 IO 的本质出发，用钓鱼的故事串联五种 IO 模型，理清"同步/异步"和"阻塞/非阻塞"这两对最易混淆的概念，最后用 fcntl 实战带你把默认的阻塞 IO 改成非阻塞模式。读完本文，你将能够在面试中清晰地画出五种 IO 模型的流程图、解释它们之间的本质区别，并亲手写出非阻塞 IO 的 C 代码。]]></description><category></category></item><item><title><![CDATA[【数据链路层详解】从以太网帧到 ARP 协议的最后一跳]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/162638159</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/162638159</guid><author>2302_80243065</author><pubDate>Mon, 06 Jul 2026 16:38:47 +0800</pubDate><description><![CDATA[网络层解决了"从源到目标的全局寻路"，但数据包的旅程最终要落到物理媒介上——铜缆、光纤、无线电波。连接两台相邻设备的这一段"最后一跳"，由数据链路层负责。链路层把网络层的 IP 数据报封装成帧，加上 MAC 地址标识相邻设备，通过网卡和交换机在本地网络内传输。]]></description><category></category></item><item><title><![CDATA[【Linux之旅】Linux 网络层协议详解：从 IP 报文到路由转发的底层逻辑]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/162513122</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/162513122</guid><author>2302_80243065</author><pubDate>Thu, 02 Jul 2026 11:28:26 +0800</pubDate><description><![CDATA[网络层的核心协议是 IP（Internet Protocol）。它的职责可以概括为两个词——寻址和路由。寻址是给每台主机一个逻辑地址（IP 地址），路由是让数据包在网络中找到从源到目标的最佳路径。本文将从 IP 协议头格式出发，逐步展开子网划分、CIDR、NAT、路由表等核心概念。读完本文，你将理解数据包在网络层的完整旅程，以及路由器如何改变世界。]]></description><category></category></item><item><title><![CDATA[【Linux之旅】Linux TCP 协议详解：从三次握手到拥塞控制的可靠传输密码]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/162374393</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/162374393</guid><author>2302_80243065</author><pubDate>Sat, 27 Jun 2026 21:23:08 +0800</pubDate><description><![CDATA[本篇从传输层协议视角深挖 TCP 的内核机制。我们不再写代码，而是回答更根本的问题：TCP 报文段长什么样？序列号和确认号是如何工作的？什么叫"三次握手"——为什么不是两次也不是四次？滑动窗口和拥塞窗口有什么区别？TIME_WAIT 为什么等 2MSL？读完本文，你将对 TCP 的理解从"会用 API"升级到"真正懂协议"。]]></description><category></category></item><item><title><![CDATA[【Linux之旅】Linux UDP 协议详解：从五元组到面向数据报的设计哲学]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/162229626</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/162229626</guid><author>2302_80243065</author><pubDate>Tue, 23 Jun 2026 12:08:23 +0800</pubDate><description><![CDATA[在 UDP Socket 编程实战中，我们掌握了 socket / bind / recvfrom / sendto 的用法，实现了 Echo 服务器、字典服务器和聊天室。那时我们对 UDP 的理解停留在"无连接、不可靠、直发直收"的操作层面。本篇下沉到传输层协议本身，回答根本性问题：UDP 的协议头为什么只有 8 字节？"面向数据报"究竟意味着什么？为什么 UDP 没有发送缓冲区？DNS 和 DHCP 为什么选 UDP 而不是 TCP？]]></description><category></category></item><item><title><![CDATA[Token 不限量！教你白嫖AI Ping赠金，爽用全场API]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/161930688</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/161930688</guid><author>2302_80243065</author><pubDate>Sat, 13 Jun 2026 00:11:13 +0800</pubDate><description><![CDATA[AI Ping是国内领先的大模型API聚合与评测平台，提供600+主流模型的一站式接入，核心功能包括模型聚合、性能评测和智能路由。平台近期上线智谱GLM-5.1旗舰模型，在跨文件工程和深度推理方面表现突出。AI Ping推出邀请裂变活动，双方各得10元算力金。文章详细介绍了如何通过Cline插件将GLM-5.1接入VS Code进行项目开发，包括API获取、环境配置和实际应用案例。平台支持多模型灵活选择，赠金可全场通用，为开发者提供了高效稳定的大模型调用解决方案。]]></description><category></category></item><item><title><![CDATA[【Linux之旅】HTTP 协议解析：从请求格式到构建 Web 服务器]]></title><link>https://blog.youkuaiyun.com/2302_80243065/article/details/161904663</link><guid>https://blog.youkuaiyun.com/2302_80243065/article/details/161904663</guid><author>2302_80243065</author><pubDate>Fri, 12 Jun 2026 00:39:33 +0800</pubDate><description><![CDATA[本文将从 HTTP 协议的请求/响应格式出发，逐一拆解 URL、请求方法、状态码、常用 Header、Connection 长连接等核心概念，亲手实现一个支持 GET 和 POST 的最简 HTTP 服务器，并逐步扩展为能返回静态文件、解析表单数据的功能完备的 Web 服务器。读完本文，你将彻底理解 HTTP 协议的底层约定，并能从头写出一个可被浏览器访问的真实 Web 后端。
]]></description><category></category></item></channel></rss>