2025年CSDN年度总结
Author:OnceDay Date:2025年12月31日
一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦...
漫漫长路,有人对你微笑过嘛...
文章目录
整体回顾
在2025年,CSDN上总共写了92篇文章,当然,其中有不少是刷题或者简单的工具类文章,凑数之用。
整体来说,相比于2024年100篇文章,并没有提升,因为25年下半年忙于工作,比较疲惫。
在2026年,目标是100篇技术文章(每周2篇),以及每周刷6道leetcode题目。
2025年粉丝数9400多,没有达到预期目标,因为文章整体质量一般,且没有持之以恒的发布文章。
在2026年,这个目标是年中1.5万粉丝,年末2万粉丝,争取拿到优质创作者身份,需要继续加油了。
2025年本想每周都发布动态,也算是一个小小的总结,可惜坚持不下去,26年需要重启拾起。
2025年主要学习了操作系统基础知识,以及训练了C++项目开发能力,leetcode也刷了不少题目。
但效果并不好,因为都是蜻蜓点水,浅尝辄止,学点皮毛,所以2026年必须改善,专研深层次的问题。
2025年在知识星球上跟着训练营参与了一个C++抓包软件开发,工作中也开发了一个大型C++项目,在软件开发和C++方向有了一定积累。
2025年在Devops和CI/CD方向也有了很多实践经验,例如单元测试、集成测试、内存和静态语法分析等。
整体来说,2025年比较一般,没有很突出,主要计划没有完整实现,整体节奏后期趋于混乱。
2026年强调持之以恒、劳逸结合,重点增强基本功,深入源码学习,不再浪费表面功夫。
网络领域学习总结
2025年没有在网络领域有太多学习,RFC文档、用户态协议栈、技术书籍等均未投入时间,只在网络接口方向有投入一定资源进行学习。
2026年聚焦与TCP/IP协议栈实现,基于Linux内核、RFC文档和常见网络开源程序源码进行学习,可以尝试实现用户态协议栈加深理解。
目前准备向下面三个方向前进:
- 加密报文处理,涉及对网络传输的数据进行加密和解密,以保护数据的机密性和完整性。常见的加密协议有IPsec、SSL/TLS等。
- 内核协议栈,内核协议栈是操作系统网络功能的核心,负责处理各层网络协议。需要深刻理解TCP/IP协议栈的原理,包括报文的封装和解封装、flow的管理、拥塞控制、超时重传等各种机制。
- DPDK深入理解与性能优化,DPDK是Intel开发的一个高性能网络数据平面开发套件,可以大幅提升报文的处理性能。需要理解DPDK提供的各种机制,如Hugepage、PMD、Ring、Mempool等,并学会如何基于DPDK开发高性能的网络应用。
操作系统领域学习总结
2025年操作系统重新总结了一轮基础知识,但理解仍然比较浅显,还有一些是面向工具类,深度不够。
2026年需要聚焦内核源码和相关书籍,从宏观层面学习实现和核心机制,总结一些深度知识。
一方面是诊断机制(优先掌握使用,可以快速在工作中实践):
-
ftrace: 函数追踪工具,可以跟踪内核函数的调用。支持函数调用图、时延统计等,是分析内核行为和性能问题的利器。
-
perf: Linux性能分析工具,以性能事件采样为基础,可以分析程序热点、内核性能瓶颈等。支持多种性能事件(如CPU周期、cache命中等)和采样方式。
-
/proc等虚拟文件系统 ,提供了大量内核运行状态的信息,如/proc/kallsyms(内核符号表)、/proc/kmsg(内核日志)、/proc/meminfo(内存使用信息)等。 -
/sys等sysfs文件系统 ,提供了内核配置、硬件信息等,用于用户态和内核态的交互。如
/sys/kernel/debug/tracing用于ftrace的控制。 -
kdump: 内核崩溃转储机制,当内核panic时,利用kexec启动一个捕获内核,将崩溃的内核镜像保存下来用于离线调试。需要预留一部分内存。
另外就是主要的内核子系统:
- 进程管理: 进程调度、创建与销毁、信号处理、进程关系(如父子进程)维护等。
- 内存管理: 物理内存管理、虚拟内存管理、页表、TLB、swap、内存回收等。
- 文件系统: VFS、各种文件系统(如ext4、XFS)、页缓存、目录项缓存(dentry cache)等。
- 网络: 网络协议栈、socket、邻居子系统、路由、netfilter等。
- 设备驱动: 字符设备、块设备、网络设备等各种驱动框架和具体驱动。
- 时间管理: 定时器、时钟、jiffies等。
- 中断: 硬件中断、软中断、tasklet、workqueue等。
- 同步: 原子操作、自旋锁、信号量、互斥锁等各种同步机制。
- 系统调用: 用户态和内核态的切换,以及各种系统调用的实现。
编程技术领域学习总结
2025年在C++方向有了一定的技术积累,但深度不够,对于软件设计和C++高级语法理解不够。在软件开发流程方向有较多实践,但整体节奏仍有欠缺,不够完善,还需要继续磨炼。
2026年依旧核心为C++方向,但在 python、go 和 rust 方向可以继续积累和练习,以开源项目和leetcode刷题为主要路径。
主要包括以下方面:
- 基本功:编程语言、常见算法、常见八股文、性能优化、最佳编程实践。
- 文档类:架构设计、流程图、设计方法、各类文档。
- 开发流程:编译系统、版本控制、代码审查、流水线、devops、敏捷开发。
- 测试技术:单元测试、集成测试、自动化测试、覆盖率测试、内存测试。
展望
回首过去,总是会有遗憾,唯一要做的就是持之以恒,积少成多。