<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>随风录</title><description>LC&apos;s Blog</description><link>https://lickoc.site/</link><language>zh_CN</language><item><title>C++ 学习路线</title><link>https://lickoc.site/posts/cpp-learning-roadmap/</link><guid isPermaLink="true">https://lickoc.site/posts/cpp-learning-roadmap/</guid><description>一份从零到进阶的 C++ 学习路线：语法基础、面向对象、标准库、现代 C++、工程实践与进阶方向，附分阶段目标与书籍资源推荐。</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;声明&lt;/strong&gt;：本文由 AI（DeepSeek）生成，用于测试博客发布流程，内容仅供参考，请结合自身情况取舍。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;C++ 是一门「入门容易、精通极难」的语言。它的学习曲线陡峭，但如果路线规划得当，可以少走很多弯路。本文按阶段梳理一条相对完整的学习路线。&lt;/p&gt;
&lt;h2&gt;阶段划分总览&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;阶段&lt;/th&gt;
&lt;th&gt;目标&lt;/th&gt;
&lt;th&gt;大致周期&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;一、语法基础&lt;/td&gt;
&lt;td&gt;能写能跑，理解编译链接&lt;/td&gt;
&lt;td&gt;1–2 个月&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;二、面向对象&lt;/td&gt;
&lt;td&gt;掌握封装、继承、多态&lt;/td&gt;
&lt;td&gt;1–2 个月&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;三、标准库与泛型&lt;/td&gt;
&lt;td&gt;熟练使用 STL，理解模板&lt;/td&gt;
&lt;td&gt;2–3 个月&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;四、现代 C++&lt;/td&gt;
&lt;td&gt;掌握 C++11/14/17/20 核心特性&lt;/td&gt;
&lt;td&gt;2–3 个月&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;五、工程与底层&lt;/td&gt;
&lt;td&gt;构建、调试、内存与性能&lt;/td&gt;
&lt;td&gt;长期&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;六、方向深入&lt;/td&gt;
&lt;td&gt;后端 / 游戏 / 嵌入式 / 基础架构&lt;/td&gt;
&lt;td&gt;长期&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;阶段一：语法基础&lt;/h2&gt;
&lt;p&gt;先让代码跑起来，再谈风格和优化。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;开发环境：Linux + GCC/Clang，或 VS Code + CMake，或 Visual Studio&lt;/li&gt;
&lt;li&gt;基本语法：变量、类型、运算符、流程控制、函数、数组、指针与引用&lt;/li&gt;
&lt;li&gt;编译链接：预处理 → 编译 → 汇编 → 链接，理解头文件与源文件的组织&lt;/li&gt;
&lt;li&gt;内存模型初步：栈、堆、&lt;code&gt;new&lt;/code&gt;/&lt;code&gt;delete&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;本阶段目标&lt;/strong&gt;：独立写出几百行的小程序，遇到编译错误能自己读懂报错信息。&lt;/p&gt;
&lt;p&gt;:::tip
不要一上来就啃《C++ Primer》的全部内容。先快速过一遍语法，把书当字典用，遇到问题再回头查。
:::&lt;/p&gt;
&lt;h2&gt;阶段二：面向对象&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;类与对象、构造/析构函数、拷贝控制&lt;/li&gt;
&lt;li&gt;封装、继承、多态、虚函数与虚函数表&lt;/li&gt;
&lt;li&gt;运算符重载、友元&lt;/li&gt;
&lt;li&gt;RAII 思想：资源获取即初始化&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;关键理解&lt;/strong&gt;：虚函数表如何实现多态、为什么要虚析构、对象切片问题。&lt;/p&gt;
&lt;h2&gt;阶段三：标准库与泛型编程&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;容器：&lt;code&gt;vector&lt;/code&gt;、&lt;code&gt;list&lt;/code&gt;、&lt;code&gt;deque&lt;/code&gt;、&lt;code&gt;map&lt;/code&gt;、&lt;code&gt;unordered_map&lt;/code&gt;、&lt;code&gt;set&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;迭代器与算法：&lt;code&gt;&amp;lt;algorithm&amp;gt;&lt;/code&gt; 中的 &lt;code&gt;sort&lt;/code&gt;、&lt;code&gt;find&lt;/code&gt;、&lt;code&gt;transform&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;智能指针：&lt;code&gt;unique_ptr&lt;/code&gt;、&lt;code&gt;shared_ptr&lt;/code&gt;、&lt;code&gt;weak_ptr&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;模板：函数模板、类模板、特化、可变参数模板&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lambda&lt;/code&gt; 表达式与函数对象&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;本阶段目标&lt;/strong&gt;：能用 STL 组合出简洁高效的代码，不再手写链表和排序。&lt;/p&gt;
&lt;h2&gt;阶段四：现代 C++&lt;/h2&gt;
&lt;p&gt;C++11 之后语言发生了质变，这部分是现代 C++ 的核心。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;移动语义：右值引用、&lt;code&gt;std::move&lt;/code&gt;、完美转发&lt;/li&gt;
&lt;li&gt;&lt;code&gt;auto&lt;/code&gt;、范围 &lt;code&gt;for&lt;/code&gt;、&lt;code&gt;constexpr&lt;/code&gt;、&lt;code&gt;nullptr&lt;/code&gt;、&lt;code&gt;enum class&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;并发：&lt;code&gt;std::thread&lt;/code&gt;、&lt;code&gt;mutex&lt;/code&gt;、&lt;code&gt;condition_variable&lt;/code&gt;、&lt;code&gt;atomic&lt;/code&gt;、内存序&lt;/li&gt;
&lt;li&gt;C++17：结构化绑定、&lt;code&gt;if constexpr&lt;/code&gt;、&lt;code&gt;optional&lt;/code&gt;、&lt;code&gt;variant&lt;/code&gt;、&lt;code&gt;string_view&lt;/code&gt;、文件系统&lt;/li&gt;
&lt;li&gt;C++20：概念（concepts）、协程、范围（ranges）、模块（modules）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;本阶段目标&lt;/strong&gt;：写出的代码符合现代 C++ 风格，能正确使用移动语义避免无谓拷贝。&lt;/p&gt;
&lt;h2&gt;阶段五：工程与底层&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;构建系统：CMake 的基本用法与项目组织&lt;/li&gt;
&lt;li&gt;调试：GDB / LLDB、断点、调用栈、core dump 分析&lt;/li&gt;
&lt;li&gt;内存与性能：内存布局、缓存友好、&lt;code&gt;perf&lt;/code&gt; / &lt;code&gt;valgrind&lt;/code&gt; / Sanitizer&lt;/li&gt;
&lt;li&gt;编译期：模板元编程、SFINAE、类型萃取&lt;/li&gt;
&lt;li&gt;代码规范与静态检查：clang-format、clang-tidy&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;阶段六：选择方向深入&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;方向&lt;/th&gt;
&lt;th&gt;需要补的知识&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;后端服务&lt;/td&gt;
&lt;td&gt;网络编程、epoll、多线程模型、gRPC、数据库&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;游戏开发&lt;/td&gt;
&lt;td&gt;图形学、Unreal/Unity C++、ECS 架构、物理引擎&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;嵌入式&lt;/td&gt;
&lt;td&gt;交叉编译、寄存器操作、RTOS、资源受限优化&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;基础架构&lt;/td&gt;
&lt;td&gt;高性能计算、无锁数据结构、内存池、分布式&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;推荐资源&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;入门书籍&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《C++ Primer（第 5 版）》——最全面的入门教材&lt;/li&gt;
&lt;li&gt;《Essential C++》——更轻量的快速入门&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;进阶书籍&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《Effective C++》/《Effective Modern C++》——条款式经验&lt;/li&gt;
&lt;li&gt;《深度探索 C++ 对象模型》——理解编译器背后做了什么&lt;/li&gt;
&lt;li&gt;《C++ Concurrency in Action》——并发编程必读&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;在线资源&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.cppreference.com/&quot;&gt;cppreference.com&lt;/a&gt;——最权威的参考手册&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://isocpp.github.io/CppCoreGuidelines/&quot;&gt;C++ Core Guidelines&lt;/a&gt;——现代 C++ 最佳实践&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.learncpp.com/&quot;&gt;LearnCpp&lt;/a&gt;——结构化教程&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;学习建议&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;动手优先&lt;/strong&gt;：每个知识点都要写代码验证，光看不会。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;读优秀源码&lt;/strong&gt;：STL 实现、小型开源项目，比看十本书有用。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;重视调试能力&lt;/strong&gt;：会调试的人学得快一个数量级。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不要过早优化&lt;/strong&gt;：先写对，再写快。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;持续跟进标准&lt;/strong&gt;：C++ 每三年一版，保持更新。&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;本文由 AI（DeepSeek）生成，仅用于测试内容仓库的发布与自动部署流程。&lt;/em&gt;&lt;/p&gt;
</content:encoded></item><item><title>PostgreSQL 入门笔记</title><link>https://lickoc.site/posts/postgresql-notes/</link><guid isPermaLink="true">https://lickoc.site/posts/postgresql-notes/</guid><description>PostgreSQL 的核心概念与日常使用笔记：安装连接、基础 SQL、索引、事务、备份恢复，以及和 MySQL 的主要差异。</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;记录一些 PostgreSQL 的入门要点，方便以后查阅。&lt;/p&gt;
&lt;h2&gt;为什么选 PostgreSQL&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;严格的类型系统和标准 SQL 兼容性&lt;/li&gt;
&lt;li&gt;丰富的数据类型：&lt;code&gt;jsonb&lt;/code&gt;、数组、范围、几何类型&lt;/li&gt;
&lt;li&gt;强大的索引能力：部分索引、表达式索引、GIN/GiST&lt;/li&gt;
&lt;li&gt;事务与并发控制实现严谨（MVCC）&lt;/li&gt;
&lt;li&gt;扩展生态好：PostGIS、pg_trgm、TimescaleDB&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;安装与连接&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;# Debian/Ubuntu
sudo apt install postgresql

# 进入交互式终端
sudo -u postgres psql

# 或指定连接参数
psql -h 127.0.0.1 -p 5432 -U myuser -d mydb
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;常用元命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;\l          -- 列出数据库
\dt         -- 列出当前库的表
\d table    -- 查看表结构
\du         -- 列出角色
\c dbname   -- 切换数据库
\x          -- 切换展开输出（宽表很有用）
\timing     -- 显示每条语句耗时
\q          -- 退出
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;基础 SQL&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;CREATE TABLE users (
    id         bigserial PRIMARY KEY,
    email      text NOT NULL UNIQUE,
    nickname   text,
    profile    jsonb DEFAULT &apos;{}&apos;::jsonb,
    created_at timestamptz NOT NULL DEFAULT now()
);

INSERT INTO users (email, nickname)
VALUES (&apos;a@example.com&apos;, &apos;alice&apos;)
RETURNING id;

SELECT id, email
FROM users
WHERE created_at &amp;gt; now() - interval &apos;7 days&apos;
ORDER BY created_at DESC
LIMIT 20;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意 &lt;code&gt;timestamptz&lt;/code&gt; 与 &lt;code&gt;timestamp&lt;/code&gt; 的区别：前者带时区语义，绝大多数场景都该用它。&lt;/p&gt;
&lt;h2&gt;索引&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;-- 普通 B-tree
CREATE INDEX idx_users_email ON users (email);

-- 表达式索引：支持大小写不敏感查询
CREATE INDEX idx_users_email_lower ON users (lower(email));

-- 部分索引：只索引活跃用户
CREATE INDEX idx_active_users ON users (created_at)
WHERE created_at &amp;gt; &apos;2026-01-01&apos;;

-- jsonb 的 GIN 索引
CREATE INDEX idx_users_profile ON users USING gin (profile);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;用 &lt;code&gt;EXPLAIN ANALYZE&lt;/code&gt; 验证索引是否真的被用上，不要凭感觉加索引。&lt;/p&gt;
&lt;h2&gt;事务&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;PostgreSQL 默认是 &lt;code&gt;READ COMMITTED&lt;/code&gt;。需要更强的隔离时可显式指定：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;BEGIN ISOLATION LEVEL REPEATABLE READ;
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;备份与恢复&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;# 逻辑备份
pg_dump -Fc mydb &amp;gt; mydb.dump

# 恢复
pg_restore -d mydb mydb.dump

# 全库
pg_dumpall &amp;gt; all.sql
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;生产环境还应配置 WAL 归档做时间点恢复（PITR）。&lt;/p&gt;
&lt;h2&gt;与 MySQL 的主要差异&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;维度&lt;/th&gt;
&lt;th&gt;PostgreSQL&lt;/th&gt;
&lt;th&gt;MySQL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;布尔类型&lt;/td&gt;
&lt;td&gt;原生 &lt;code&gt;boolean&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;tinyint(1)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;自增&lt;/td&gt;
&lt;td&gt;&lt;code&gt;bigserial&lt;/code&gt; / &lt;code&gt;GENERATED&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;AUTO_INCREMENT&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;字符串&lt;/td&gt;
&lt;td&gt;&lt;code&gt;text&lt;/code&gt;（无长度限制）&lt;/td&gt;
&lt;td&gt;需指定长度或用 &lt;code&gt;TEXT&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JSON&lt;/td&gt;
&lt;td&gt;&lt;code&gt;jsonb&lt;/code&gt; 可索引&lt;/td&gt;
&lt;td&gt;&lt;code&gt;JSON&lt;/code&gt; 较弱&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;大小写&lt;/td&gt;
&lt;td&gt;标识符折叠为小写&lt;/td&gt;
&lt;td&gt;取决于平台&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;事务 DDL&lt;/td&gt;
&lt;td&gt;支持事务内 DDL&lt;/td&gt;
&lt;td&gt;不支持&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;小结&lt;/h2&gt;
&lt;p&gt;入门阶段抓住三件事就够了：&lt;strong&gt;用对类型（尤其 &lt;code&gt;timestamptz&lt;/code&gt; 和 &lt;code&gt;jsonb&lt;/code&gt;）&lt;/strong&gt;、&lt;strong&gt;用 &lt;code&gt;EXPLAIN ANALYZE&lt;/code&gt; 验证索引&lt;/strong&gt;、&lt;strong&gt;搞清事务隔离级别&lt;/strong&gt;。剩下的边用边查。&lt;/p&gt;
&lt;h2&gt;参考&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.postgresql.org/docs/&quot;&gt;PostgreSQL 官方文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://use-the-index-luke.com/&quot;&gt;Use The Index, Luke&lt;/a&gt; —— 讲索引与查询优化很到位&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>自动部署测试</title><link>https://lickoc.site/posts/auto-deploy-test/</link><guid isPermaLink="true">https://lickoc.site/posts/auto-deploy-test/</guid><description>测试自托管 Runner 自动构建部署是否正常工作</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2&gt;这是一篇自动部署测试帖&lt;/h2&gt;
&lt;p&gt;如果你能在博客上看到这篇文章，说明自托管 Runner 自动部署流程已经跑通了。&lt;/p&gt;
&lt;h3&gt;部署流程&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;在 &lt;code&gt;Mizuki-Content&lt;/code&gt; 仓库推送新内容&lt;/li&gt;
&lt;li&gt;GitHub Actions 触发，Runner 在腾讯云服务器本地执行&lt;/li&gt;
&lt;li&gt;自动拉取最新代码、构建、部署到 nginx&lt;/li&gt;
&lt;li&gt;博客网站即时更新&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;不再使用 SCP 远程推送，彻底避免 IP 安全告警问题。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;测试时间：2026-09-04&lt;/em&gt;&lt;/p&gt;
</content:encoded></item><item><title>欢迎来到随风录</title><link>https://lickoc.site/posts/welcome/</link><guid isPermaLink="true">https://lickoc.site/posts/welcome/</guid><description>站点开篇：欢迎来到我的博客</description><pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;欢迎来到我的博客「随风录」。&lt;/p&gt;
&lt;p&gt;这里将记录我的生活、学习与思考，分享我感兴趣的二次元作品与技术笔记。&lt;/p&gt;
&lt;h2&gt;关于这个站点&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;站点名称：随风录&lt;/li&gt;
&lt;li&gt;站点地址：https://lickoc.site&lt;/li&gt;
&lt;li&gt;风过留痕，我录我心&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;后续会陆续更新更多内容，感谢来访。&lt;/p&gt;
</content:encoded></item></channel></rss>