2024年度总结-CSDN

2024年CSDN年度总结

Author:OnceDay Date:2025年1月21日

一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦…

漫漫长路,有人对你微笑过嘛…

文章目录

      • 2024年CSDN年度总结
        • 1. 整体回顾
        • 2. 网络领域学习总结
        • 3. 操作系统领域学习总结
        • 4. 编程技术领域学习总结
        • 5. 展望

1. 整体回顾

在2024年,CSDN上总共写了100篇文章,当然,其中有不少是刷题或者简单的工具类文章,凑数之用。

整体来说,相比于2023年61篇文章,有60%的提升,在25年,目标是150篇文章(每周三篇)。

当然,现实情况是25年1月份已经过去20天,才发布一篇文章,懒惰毕竟是人的固有属性。

2024年取得的最大突破是粉丝量,显然,也是靠友情互刷起来的,只能说自己看得舒服一些,聊以慰藉。

在25年,这个目标是年中1万粉丝,年末1.5万粉丝,争取拿到优质创作者身份,需要继续加油了。

24年本想每周都发布动态,也算是一个小小的总结,可惜坚持不下去,25年需要重启拾起。

在过去,学习的领域很杂,新的语言,如Go和Rust,各种开发工具,如Linux命令行和框架。

但效果并不好,因为都是蜻蜓点水,浅尝辄止,学点皮毛,所以25年必须改善,专研深层次的问题。

24年本来准备做出一两个开源项目,但是最终只有HTTP代理和CSDN自动评论工具两个能用,其他的想法都半途而废,实在可惜。

25年必须要搞出2个开源项目,提高代码质量,不光看书总结,也需要实际训练,产生价值。

在这里插入图片描述

2. 网络领域学习总结

24年非常重要的一个工作是认真总结了TCP详解这本书里面的内容,从网络层往上,总结了大量的文档,逐个协议分析,并且深入阅读RFC资料,养成了阅读标准协议文档的习惯。

在这里插入图片描述

这部分文档学习和总结时,预期也准备自己实现用户态协议栈来加深理解,但是一直磨蹭,25年这项工作可以开始了。

网络领域学习在之前,其实有些停留于表面,都是一些整体概述性知识,不够深入,目前准备向下面五个方向前进:

  • 加密报文处理,涉及对网络传输的数据进行加密和解密,以保护数据的机密性和完整性。常见的加密协议有IPsec、SSL/TLS等。

  • 路由协议处理,路由协议如OSPF、BGP等,用于在网络中交换路由信息,构建forwarding表。

  • 内核协议栈,内核协议栈是操作系统网络功能的核心,负责处理各层网络协议。需要深刻理解TCP/IP协议栈的原理,包括报文的封装和解封装、flow的管理、拥塞控制、超时重传等各种机制。

  • 安全和审计,网络安全日益重要。需要对各种常见的攻击方式(如DDoS、TCP SYN Flood)有所了解,并设计相应的防御和检测措施。安全审计则要求对网络中的流量和行为进行记录和分析,快速发现异常。

  • DPDK深入理解与性能优化,DPDK是Intel开发的一个高性能网络数据平面开发套件,可以大幅提升报文的处理性能。需要理解DPDK提供的各种机制,如Hugepage、PMD、Ring、Mempool等,并学会如何基于DPDK开发高性能的网络应用。

3. 操作系统领域学习总结

在过去,操作系统领域一般是学习一些常见的Linux编程机制,以及与内核交互的各种接口。但在工作和学习中,如果只了解到这种程度是远远不够,还是需要阅读源码,了解真正的实现。

一方面是诊断机制(优先掌握使用,可以快速在工作中实践):

  • 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等。

  • 设备驱动: 字符设备、块设备、网络设备等各种驱动框架和具体驱动。

  • 安全: DAC(自主访问控制)、MAC(强制访问控制,如SELinux)、capabilities等。

  • 时间管理: 定时器、时钟、jiffies等。

  • 中断: 硬件中断、软中断、tasklet、workqueue等。

  • 同步: 原子操作、自旋锁、信号量、互斥锁等各种同步机制。

  • 系统调用: 用户态和内核态的切换,以及各种系统调用的实现。

4. 编程技术领域学习总结

24年尝试了Go、Rust、C++三门语言,结合工作所需,Rust和C++需要继续深入学习和使用,重点在这些编程语言的设计思想和编程范式。在软件工程方面,如设计、单元测试和集成测试,高保真设计等方面,还需要继续在独立项目中训练。

(1)编程语言

  • C++: 高性能、系统级编程语言。支持面向对象、泛型编程等多种范式。

  • Rust: 兼顾安全和性能的系统级编程语言。有ownership、borrow check等独特的内存安全机制。

(2)设计方法

  • 设计模式: 反复出现问题的成熟解决方案,如单例、工厂、观察者等。合理使用设计模式能提高代码的复用性、可维护性。

  • 设计文档: 从需求到实现的设计思路和接口定义。包括架构设计、概要设计、详细设计等不同层次的文档。

(3)测试技术

  • 单元测试: 对代码的最小可测试单元(如函数)进行验证。需要注意边界条件、异常case等。
  • 集成测试: 将多个单元组合在一起,测试它们之间的交互。
  • 自动化测试: 将手工测试转为机器自动执行,提高测试效率和覆盖率。常见的有UI自动化、接口自动化等。
  • 覆盖率测试: 度量测试用例对代码的覆盖情况,如语句覆盖、分支覆盖等。
  • 内存检测: 检测内存泄漏、非法访问等问题,常用工具如valgrind。

(4)工程实践

  • 编译系统: 如GNU make、CMake等,用于管理复杂项目的编译构建过程。
  • 代码文档: 对代码的功能、参数、返回值等进行说明,方便其他人阅读和使用。常用工具如Doxygen、Javadoc等。
  • 版本控制: 如Git、SVN等,用于管理代码的版本变更。
  • 代码审查: 由AI、工具对代码进行检查,找出可能的问题和改进点。
5. 展望

回首过去,总是会有遗憾,唯一要做的就是持之以恒,积少成多,25年也是重新开始的一年,将之前未完成之事给搞定,不留下遗憾。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/67866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言程序设计十大排序—冒泡排序

文章目录 1.概念✅2.冒泡排序🎈3.代码实现✅3.1 直接写✨3.2 函数✨ 4.总结✅ 1.概念✅ 排序是数据处理的基本操作之一,每次算法竞赛都很多题目用到排序。排序算法是计算机科学中基础且常用的算法,排序后的数据更易于处理和查找。在计算机发展…

源码分析之Openlayers样式篇IconImage类

访问Openlayers网站(https://jinuss.github.io/Openlayers_map_pages/,网站是基于Vue3 Openlayers,里面有大量的实践和案例。觉得还不错,可以 给个小星星Star,鼓励一波 https://github.com/Jinuss/OpenlayersMap哦~ 概述 在 Ope…

MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 6

第06章_多表查询 多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。 这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个 关联字段可能建立了外键,也…

FANUC机器人系统镜像备份与恢复的具体步骤(图文)

FANUC机器人系统镜像备份与恢复的具体步骤(图文) 镜像备份: 如下图所示,进入文件—工具—切换设备,找到插入的U盘UT1, 如下图所示,进入U盘目录后,创建目录,这里目录名称为11, 如下图所示࿰

根除埃博拉病毒(2015MCM美赛A)

题目 要求: 现实、合理、可用要求考虑到: a. 疾病传播 b.药物数量 c. 传送系统 d.传送位置 e. 药物或者疫苗的生产速度一个非技术性文件 论文 参考论文 概述 两个模型,stochastic和deterministic。 分析思路:基于现实的数据建立…

多线程之旅:开启多线程安全之门的钥匙

上次,小编分享到了多线程出现了安全问题。 那么接下来小编来分享下是如何解决这个多线程安全问题的。 上次分享到,多线程安全问题的“罪魁祸首”:线程调度的不确定性。 就是说呢,A、B、C三个线程,然后,A…

Docker 单机快速部署大数据各组件

文章目录 一、Spark1.1 NetWork 网络1.2 安装 Java81.3 安装 Python 环境1.4 Spark 安装部署 二、Kafka三、StarRocks四、Redis五、Rabbitmq六、Emqx6.1 前言6.2 安装部署 七、Flink八、Nacos九、Nginx 一、Spark 1.1 NetWork 网络 docker network lsdocker network create -…

设计模式的艺术-职责链模式

行为型模式的名称、定义、学习难度和使用频率如下表所示: 1.如何理解职责链模式 最常见的职责链是直线型,即沿着一条单向的链来传递请求。链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并让请求沿着…

CSDN 博客之星 2024:默语的技术进阶与社区耕耘之旅

CSDN 博客之星 2024:默语的技术进阶与社区耕耘之旅 🌟 默语,是一位在技术分享与社区建设中坚持深耕的博客作者。今年,我有幸再次入围成为 CSDN 博客之星TOP300 的一员,这既是对过往努力的肯定,也是对未来探…

Mysql的数据类型(学习自用)

一、整数型数据类型 名称大小(字节数)范围(无符号)范围(有符号)TINYINT10-255-2^8~2^8-1SMALLINT20-65535-2^16~2^16-1MEDIUMINT30-2^24-1-2^24~2^24-1INT40-2^32-1-2^32~2^32-1BIGINT80-2^64-1-2^64~2^64-1 二、浮点…

深入 Flutter 和 Compose 的 PlatformView 实现对比,它们是如何接入平台控件

在上一篇《深入 Flutter 和 Compose 在 UI 渲染刷新时 Diff 实现对比》发布之后,收到了大佬的“催稿”,想了解下 Flutter 和 Compose 在 PlatformView 实现上的对比,恰好过去写过不少 Flutter 上对于 PlatformView 的实现,这次恰好…

winfrom项目,引用EPPlus.dll实现将DataTable 中的数据保存到Excel文件

最近研究不安装office也可以保存Excel文件,在网上查询资料找到这个方法。 第一步:下载EPPlus.dll文件(自行去网上搜索下载) 第二步:引用到需要用的项目中,如图所示: 第三步:写代码…

暑期实习准备:C语言

1.局部变量和全局变量 局部变量的作用域是在变量所在的局部范围,全局变量的作用域是整个工程;局部变量的生命周期是作用域内,全局变量的生命周期是整个程序的生命周期,当两者命名冲突时,优先使用的是局部变量。 2.C语言…

OGG 19C 集成模式启用DDL复制

接Oracle19C PDB 环境下 OGG 搭建(PDB to PDB)_cdb架构 配置ogg-CSDN博客,给 pdb 环境 ogg 配置 DDL 功能。 一个报错 SYShfdb1> ddl_setup.sqlOracle GoldenGate DDL Replication setup scriptVerifying that current user has privile…

【动态规划】落花人独立,微雨燕双飞 - 8. 01背包问题

本篇博客给大家带来的是01背包问题之动态规划解法技巧. 🐎文章专栏: 动态规划 🚀若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅🚀 要开心要快乐顺便…

FluentCMS:基于 ASP.NET Core 和 Blazor 技术构建的开源CMS内容管理系统

推荐一个基于 ASP.NET Core 和 Blazor 技术构建的、功能完善的开源CMS内容管理系统。 01 项目简介 FluentCMS 是一个基于强大的 ASP.NET Core 和创新的 Blazor 技术构建的现代内容管理系统(CMS)。 FluentCMS 设计为快速、灵活且用户友好,它…

[创业之路-262]:《向流程设计要效率》-2-职能型组织、项目型组织、流程型组织的异同比较

目录 一、职能型组织与流程化组织的比较 1.1、定义与结构 1.2、关注焦点与运作方式 1.3、优势与局限性 1.4、转型与发展 二、职能型组织、项目型组织、流程型组织的比较 2.1、定义与特点 2.2、优势与局限性 2.3、适用场景与选择建议 三、项目型组织、流程型组织的异同…

5G网络下移动机器人的图像和指令传输用于远程操作

论文标题 **英文标题:**Image and Command Transmission Over the 5G Network for Teleoperation of Mobile Robots **中文标题:**5G网络下移动机器人的图像和指令传输用于远程操作 作者信息 Thiago B. Levin,, Joo Miguel Oliveira,, Ricardo B. Sou…

云计算、AI与国产化浪潮下DBA职业之路风云变幻,如何谋破局启新途?

引言 在近日举办的一场「云和恩墨大讲堂」直播栏目中,云和恩墨联合创始人李轶楠、副总经理熊军和欧冶云商数据库首席薛晓刚共同探讨了DBA的现状与未来发展。三位专家从云计算、人工智能、国产化替代等多个角度进行了深入的分析和探讨,为从业者提供了宝贵…

30天开发操作系统 第 17 天 -- 命令行窗口

前言 今天一开始,请大家先回忆一下任务A的情形。在harib13e中,任务A下面的LEVEL中有任务因此FIFO为空时我们可以让任务A进入休眠状态。那么,如果我们并未启动任务B0~ B0~ B2, B2的话,任务A又将会如何呢? 首先&#xf…