news 2026/6/10 20:38:48

从大二到大三:技术沉淀、项目实践与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/6/10 11:13:05

LeaguePrank深度解析:如何用3分钟打造个性化英雄联盟资料页?

LeaguePrank深度解析:如何用3分钟打造个性化英雄联盟资料页? 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 还在为单调的游戏资料页感到乏味吗?LeaguePrank作为一款基于LCU API开发的免费工…

作者头像 李华
网站建设 2026/6/10 11:11:06

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…

作者头像 李华
网站建设 2026/6/10 18:22:00

2025年iOS微信抢红包插件完整教程:快速配置自动抢红包

2025年iOS微信抢红包插件完整教程:快速配置自动抢红包 【免费下载链接】WeChatRedEnvelopesHelper iOS版微信抢红包插件,支持后台抢红包 项目地址: https://gitcode.com/gh_mirrors/we/WeChatRedEnvelopesHelper 还在为错过微信群里的红包而烦恼吗&#xff1…

作者头像 李华
网站建设 2026/6/10 9:42:52

Conda update失败处理方案|Miniconda-Python3.10镜像定期维护

Conda 更新失败?一文搞懂 Miniconda-Python3.10 镜像的维护之道 在如今 AI 项目遍地开花的时代,一个稳定、高效、可复现的开发环境几乎是每个数据科学家和工程师的“刚需”。你有没有遇到过这样的场景:刚准备复现一篇论文的代码,执…

作者头像 李华
网站建设 2026/6/10 6:10:36

Miniconda-Python3.10镜像预装git/curl/vim方便开发

Miniconda-Python3.10镜像预装git/curl/vim方便开发 在AI模型训练、数据科学实验或云端协作开发中,你是否经历过这样的场景:刚启动一个新项目容器,却不得不花半小时手动安装git拉代码、用curl下载数据集、再折腾vim写脚本?更糟的…

作者头像 李华
网站建设 2026/6/10 11:09:58

Conda info查看Miniconda-Python3.10环境详细信息

Conda 环境诊断的艺术:深入理解 conda info 与 Miniconda-Python3.10 实践 在人工智能实验室、数据科学团队和 DevOps 流水线中,一个看似简单的命令行输出——conda info,往往成为排查环境问题的关键突破口。你是否曾遇到过这样的场景&#x…

作者头像 李华