news 2026/5/1 9:07:51

从大二到大三:技术沉淀、项目实践与181篇博客的成长之路

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从大二到大三:技术沉淀、项目实践与181篇博客的成长之路

🔥 目录

    • 一、前言
    • 二、技术学习的深化与拓展
      • 1. C/C++与系统编程的巩固
      • 2. 网络与并发编程
      • 3. 容器化与中间件技术
      • 4. 协议与框架
      • 5. 图形界面与工程工具
    • 三、项目实践与能力提升
    • 四、博客写作与社区互动
    • 五、反思与不足
    • 六、致谢与展望

一、前言

2025年即将结束,回望这一年,从大二升入大三的过渡期,我经历了比以往更系统、更深入的技术学习,也完成了从“被动输入”到“主动输出”的转变。如果2024年是我与CSDN初识、开始接触编程世界的一年,那么2025年则是我真正意义上构建技术体系、形成工程思维、积累项目经验的一年。

相比去年的迷茫和试探,今年的目标更加清晰:不再把写博客当作任务,而是作为思考、沉淀和分享的工具;不再盲目追逐热门技术,而是围绕实际应用场景去理解底层原理和工程实现。这一年,我在CSDN上累计发布了181篇技术博客,内容覆盖C/C++系统编程、Linux网络编程、Docker容器化、Redis数据结构与应用、Protobuf序列化、brpc框架、etcd分布式协调、RabbitMQ消息队列、Qt图形界面开发,以及Golang基础与并发模型等方向。这些内容大多源于项目实践、课程实验和自学总结,也得到了不少读者的反馈和讨论,这让我感到技术分享的价值所在。

二、技术学习的深化与拓展

进入大三后,课程压力有所增加,但我也逐渐意识到,仅靠课堂知识远远不够。因此,我主动规划了课外学习路径,重点围绕“系统能力”和“工程能力”两个维度展开。

1. C/C++与系统编程的巩固

C/C++依然是我最核心的编程语言。今年我系统复习了指针、内存管理、函数调用栈、动态链接等底层机制,并通过编写小型项目加深理解。例如,在实现一个基于epoll的高性能TCP服务器时,我深入研究了I/O多路复用的工作原理、边缘触发与水平触发的区别、连接管理中的资源回收问题,以及如何避免惊群效应。这些实践让我对Linux系统编程有了更扎实的掌握。

此外,我还开始学习汇编语言,尝试用x86-64汇编实现字符串处理、数组操作、成绩统计等基础功能。虽然目前还处于入门阶段,但通过阅读反汇编代码,我能更清晰地理解高级语言在底层的执行过程,这对调试和性能优化有很大帮助。

2. 网络与并发编程

在计算机网络方面,我不再满足于“能用socket通信”,而是开始关注协议设计、连接管理、超时重传、流量控制等细节。我重新梳理了TCP三次握手与四次挥手的全过程,理解了TIME_WAIT状态的作用,以及如何通过SO_REUSEADDR等选项优化服务端启动流程。

在并发方面,我系统学习了POSIX线程(pthread)编程模型,包括线程创建、同步原语(互斥锁、条件变量、读写锁)、线程池设计等。同时,我也开始了解无锁编程的基本思想,例如通过CAS(Compare-And-Swap)实现原子操作,用于构建高性能的并发数据结构。虽然目前还未能完全掌握,但这是我在2026年重点突破的方向。

3. 容器化与中间件技术

今年我正式接触了Docker,并将其应用于多个课程项目中。通过编写Dockerfile、使用docker-compose编排多容器应用,我理解了镜像分层、容器隔离、网络模式、数据卷挂载等核心概念。更重要的是,我开始用“可移植、可复现”的思路来构建开发和部署环境,这极大提升了项目的协作效率。

在中间件方面,我学习并实践了Redis的基本使用和高级特性。例如,使用Redis实现分布式锁、缓存击穿/穿透/雪崩的应对策略、基于Stream的消息队列等。我还研究了Redis的底层数据结构(如SDS、跳跃表、压缩列表),这让我在设计缓存方案时能做出更合理的选择。

此外,我接触了RabbitMQ,通过在项目中引入消息队列解耦模块,实现了异步日志处理和任务分发。通过对比Redis Stream与RabbitMQ的功能差异,我逐渐建立起对“消息中间件选型”的初步认知。

4. 协议与框架

Protobuf是我今年重点掌握的序列化协议。相比JSON,它具有更小的体积、更快的解析速度和更强的类型约束。我在一个基于brpc的微服务项目中,使用Protobuf定义服务接口和消息格式,并通过brpc提供的RPC框架实现跨节点通信。这让我体会到“接口先行、契约驱动”的开发模式在分布式系统中的重要性。

同时,我也初步了解了etcd,将其用作服务注册与发现的中心存储。通过编写Go客户端与etcd交互,我理解了租约(Lease)、Watch机制、分布式锁的实现原理。尽管使用的是Golang,但其并发模型(goroutine + channel)与C++的线程模型形成鲜明对比,这拓宽了我对并发编程范式的理解。

5. 图形界面与工程工具

在课程项目中,我使用Qt开发了一个地震波形可视化工具。通过QCustomPlot绘制波形图,结合文件读取、数据解析、交互控制等功能,我不仅掌握了Qt的基本组件使用,也理解了MVC架构在GUI开发中的体现。

在工程工具方面,我已能熟练使用Git进行版本控制,包括分支管理、合并策略、冲突解决等。同时,我也开始使用CMake构建C++项目,替代传统的Makefile,提高了项目的可维护性和跨平台能力。

三、项目实践与能力提升

今年我参与了两个主要项目,均围绕实际问题展开,强调工程落地。

第一个项目是“分布式日志收集系统”。该系统使用brpc作为通信框架,客户端将日志通过Protobuf序列化后发送至中心节点,中心节点将日志写入RabbitMQ,由消费者异步写入本地文件或转发至Elasticsearch。项目中我负责客户端SDK和中心节点的开发,并使用Docker进行部署。通过这个项目,我深入理解了微服务架构下的通信、容错与扩展设计。

第二个项目是“实时地震波形监测平台”。基于Qt开发前端界面,后端通过串口或网络接收地震仪数据,进行实时解析与可视化。项目中我实现了多线程数据读取、缓冲区管理、波形滚动显示等功能,并利用Redis缓存最近10分钟的数据以支持快速回放。这个项目让我体会到嵌入式与桌面应用结合的开发模式,也锻炼了调试硬件通信协议的能力。

此外,我还参加了多场算法竞赛,虽然不再以算法为核心方向,但保持每周刷题的习惯,确保基础数据结构与算法思维不退化。

四、博客写作与社区互动

2025年,我在CSDN上发布了181篇博客,平均每周3-4篇。内容涵盖:

  • 技术原理讲解(如epoll机制、Redis跳跃表)
  • 代码实现与调试记录(如brpc服务端搭建、Docker网络配置)
  • 项目复盘与设计思考(如日志系统架构演进)
  • 学习笔记与工具使用(如CMake入门、GDB调试技巧)

相比去年,我更加注重内容的准确性、结构的清晰性和代码的可复现性。每篇文章都力求“自己能看懂,别人也能用”。虽然阅读量有高有低,但我逐渐摆脱了对数据的焦虑,转而关注内容本身的价值。

我也开始在评论区与读者互动,回答技术问题,甚至有读者基于我的博客实现了自己的项目。这种正向反馈让我意识到,技术分享不仅是输出,更是连接与共建。

五、反思与不足

尽管取得了一些进步,但我也清醒认识到自身的不足:

  1. POSIX标准理解仍浅:虽然能使用pthread、socket等接口,但对标准背后的规范、可移植性问题、边界行为等缺乏系统学习。
  2. Golang掌握不够深入:目前仅能完成基础开发,对GC机制、调度器、内存模型等核心原理了解有限。
  3. 软件工程方法论欠缺:在项目中较少使用需求建模、用例分析、敏捷迭代等工程实践,更多依赖直觉开发。
  4. 测试意识不足:很多代码缺乏单元测试和集成测试,依赖手动验证,这在复杂项目中容易引入隐蔽bug。

这些问题我已列入2026年的学习计划中。

六、致谢与展望

感谢我的朋友Zfox(https://blog.csdn.net/weixin_50776420)一路以来的陪伴与鼓励。从大一一起刷题,到如今各自在不同技术方向深耕,他的自律和坚持始终激励着我。也感谢CSDN平台提供了一个记录与分享的空间,让我在输出中不断成长。

展望2026年,我将继续深化系统编程能力,重点突破无锁并发、内存池设计、网络协议优化等方向。同时,我也希望参与更多开源项目,提升工程协作能力。如果有机会,我希望能进入一家重视技术深度的公司实习,将所学应用于真实业务场景。

最后,送给所有仍在技术路上前行的同行者一句话:

  • 技术的成长从来不是一蹴而就,而是在日复一日的坚持、试错与反思中悄然发生。愿我们都能在2026年,走得更稳,看得更远

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 8:39:01

2025最新:英雄联盟个性化美化工具完全指南,3分钟实现段位自由

2025最新:英雄联盟个性化美化工具完全指南,3分钟实现段位自由 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 还在羡慕别人的华丽段位展示和稀有头像吗?这款基于LCU API开发的英雄联盟美化工…

作者头像 李华
网站建设 2026/4/28 22:54:25

GitHub Gist分享Miniconda-Python3.10环境配置片段

GitHub Gist分享Miniconda-Python3.10环境配置片段 在AI实验室、高校科研组或初创技术团队中,你是否经历过这样的场景:新成员加入项目后,花了一整天时间仍无法跑通代码,只因为“在我机器上明明是好的”?又或者&#xf…

作者头像 李华
网站建设 2026/5/1 6:12:42

第1篇:C++类与对象入门——从结构体到类

一、为什么需要类和对象?对比:结构体 vs 类// C语言风格:结构体 函数 struct Student_Struct {char name[20];int age;float score; };void printStudent(struct Student_Struct s) {printf("姓名:%s,年龄&#…

作者头像 李华
网站建设 2026/4/27 11:39:38

如何快速掌握GHelper:华硕笔记本性能优化终极指南

如何快速掌握GHelper:华硕笔记本性能优化终极指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址: h…

作者头像 李华
网站建设 2026/5/1 6:12:19

NVIDIA Profile Inspector 显卡性能优化完整实用指南

NVIDIA Profile Inspector 显卡性能优化完整实用指南 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 你是否发现自己的显卡性能总是无法完全发挥?明明配置不错,游戏帧率却不如预…

作者头像 李华
网站建设 2026/4/30 19:42:05

5大核心功能解析:LeagueAkari如何让你的英雄联盟体验更智能高效

5大核心功能解析:LeagueAkari如何让你的英雄联盟体验更智能高效 【免费下载链接】LeagueAkari ✨兴趣使然的,功能全面的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/LeagueAkari …

作者头像 李华