2024年度总结-CSDN

news2025/1/26 14:39:09

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.coloradmin.cn/o/2281737.html

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

相关文章

2024年度技术总结——MCU与MEMS和TOF应用实践

引言 2024年对我来说是技术成长与突破的一年。在这一年里,我不仅在技术领域拓展了深度和广度,还通过与客户合作的实际项目,成功实现了从单一MCU到MCU、MEMS与TOF技术融合的跨越。这一过程中,我深刻认识到,技术的进步不…

五、深入了解IoC

IoC控制反转,就是将对象的控制权交给Spring的IOC容器,由IOC容器创建及管理对象。也就是bean的存储。 5.1Bean的存储 共有两类注解类型可以实现: 1.类注解:Controller、Service、Repository、Component、Configuration. 2.方法注…

python-leetcode-有效的字母异位词

242. 有效的字母异位词 - 力扣(LeetCode) class Solution:def isAnagram(self, s: str, t: str) -> bool:return sorted(s) sorted(t)

RHCE实验详解

目录 实验分析 环境拓扑结构 项目需求 主机环境描述 实验步骤 一、密钥互信和主机名更改 二、DNS 三、NGINX 四、MARIADB 五、NFS 六、NTP 七、论坛服务 结果展示及痛点解答 实验分析 环境拓扑结构 项目需求 1. 172.25.250.101 主机上的 Web 服务要求提供 www.ex…

【Unity】ScrollViewContent适配问题(Contentsizefilter不刷新、ContentSizeFilter失效问题)

最近做了一个项目,菜单栏读取数据后自动生成,结果用到了双重布局 父物体 尝试了很多方式,也看过很多大佬的文章,后来自己琢磨了一下,当子物体组件自动生成之后,使用以下以下代码效果会好一些: …

linux如何修改密码,要在CentOS 7系统中修改密码

要在CentOS 7系统中修改密码,你可以按照以下步骤操作: 步骤 1: 登录到系统 在登录提示符 localhost login: 后输入你的用户名。输入密码并按回车键。 步骤 2: 修改密码 登录后,使用 passwd 命令来修改密码: passwd 系统会提…

Qt Creator 15.0.0如何更换主题和字体

1.打开Qt Creator 15.0.0 (Community), 2.点击编辑栏3.点击Preferences... 4.修改主题,点击环境,修改Theme:栏 5.修改字体大小,点击文本编辑器,修改字号栏。,修改Theme:栏

Java 日志技术、Logback日志框架、日志级别

一. 日志 1. 日志:程序中的日志,通常就是一个文件,里面记录的是程序运行过程中的各种信息。 二. 日志技术 1. 日志技术:可以将系统执行的信息,方便的记录到指定的位置(控制台、文件中、数据库中) 2. 可以随时以开关的…

【多视图学习】显式视图-标签问题:多视图聚类的多方面互补性研究

Explicit View-labels Matter:A Multifacet Complementarity Study of Multi-view Clustering TPAMI 2024 论文链接 代码链接 0.论文摘要 摘要-一致性和互补性是促进多视图聚类(MVC)的两个关键因素。最近,随着流行的对比学习的引入&#…

Datax可视化工具Datax-web安装部署

文章目录 一、Datax-web官网二、Datax-web介绍 1、Datax-web概述2、架构图3、系统环境要求4、特性支持 三、安装部署 1、环境准备2、Datax-web安装包准备 一、Datax-web官网 github:Datax-web gitee: Datax-web 二、Datax-web介绍 1、Datax-web概述 DataX Web…

Spark Streaming编程基础

文章目录 1. 流式词频统计1.1 Spark Streaming编程步骤1.2 流式词频统计项目1.2.1 创建项目1.2.2 添加项目依赖1.2.3 修改源目录1.2.4 添加scala-sdk库1.2.5 创建日志属性文件 1.3 创建词频统计对象1.4 利用nc发送数据1.5 启动应用,查看结果 2. 编程模型的基本概念3…

最新-CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机

CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机 一、前言二、设备要求三、环境要求四、安装4.1 环境安装4.2 JumpServer安装4.3 访问JumpServerWeb端,进行登录 五、登录Web控制台 一、前言 JumpServer是广受欢迎的开源堡垒机。运维必备神器!JumpServe…

【电脑无法通过鼠标和键盘唤醒应该怎么办】

【电脑无法通过鼠标和键盘唤醒应该怎么办】 方法一(有时候不起作用):方法二(方法一无效时,使用方法二): 方法一(有时候不起作用): 方法二(方法一无效时,使用方法二):

python学习笔记2-简单数据类型

不同类型的变量可以进⾏的运算是不同的,所以必须理解变量的类型,python中数据类型可以分为: Number(数值) 整型(int) python3中只有int⼀种,可以表⽰整数,例如&#xf…

iOS开发设计模式篇第二篇MVVM设计模式

目录 一、什么是MVVM 二、MVVM 的主要特点 三、MVVM 的架构图 四、MVVM 与其他模式的对比 五、如何在iOS中实现MVVM 1.Model 2.ViewModel 3.View (ViewController) 4.双向绑定 5.文中完整的代码地址 六、MVVM 的优缺点 1.优点 2.缺点 七、MVVM 的应用场景 八、结…

Kafak 单例生产者实现-C#操作

前面写了一篇入门操作的文章,因为工作需要,简单修改了下如何实现单例生产者。 Kafka入门-C#操作_c# kafka-CSDN博客文章浏览阅读1.6k次,点赞20次,收藏9次。2).报错:“kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state…

JAVA与数据结构-线性表

目录 一.线性表的概念 二.线性表的关系及分类 三.数组与顺序表 四.链表 1.静态链表(链表的的数组底层实现) 2.循环链表 3.双向链表 五.栈 1.栈的概念 2.栈的底层实现 3.共享空间栈 4.逆波兰表达式(后缀表达式) 5.栈与递归 六.…

2024.1.22 安全周报

政策/标准/指南最新动态 01 工信部印发《关于加强互联网数据中心客户数据安全保护的通知》 原文: https://www.secrss.com/articles/74673 互联网数据中心作为新一代信息基础设施,承载着千行百业的海量客户数据,是关系国民经济命脉的重要战略资源。…

WPS数据分析000005

目录 一、数据录入技巧 二、一维表 三、填充柄 向下自动填充 自动填充选项 日期填充 星期自定义 自定义序列 1-10000序列 四、智能填充 五、数据有效性 出错警告 输入信息 下拉列表 六、记录单 七、导入数据 ​编辑 八、查找录入 会员功能 Xlookup函数 VL…