当前位置: 首页 > news >正文

2024年个人总结

  照例,每年都有的个人年度总结来了,看了很多其他大佬的总结,感觉自己的2024过于单薄,故事也不太丰满,自己就回去比较,自己哪里做的不好 ?但后来发现已经进入了一个思维误区。

  年度总结年度总结,总结是我个人的,今年发生了那些影响我的事情,我做出了那些改变,针对完成不好的事情挖掘失败和反思,恰恰才是我写这篇文章的中心思想。那么我们一起跟随我的记录回顾我的2024吧~~~

身体 :立根之本

区别于往年,今年我选择将身体健康放在总结的首位,毕竟健康才是一切的前提。往年总是将工作放在最重要的位置,对身体的疏忽大意,带来的只能是隐患和后果。今年因为即将跨入30岁的行列,年度体检的数据亮起了多个“红灯”,再加上偶尔一次加班后的头晕,让我切实感受到,身体是“革命”的本钱,赚钱的前提是有命去花钱。25年,计划系统地研究一下保险,给自己和家人安排上,提早做好保障。岁数大了,身体确实顶不住随便折腾了。

饮食调整,健康先行

从24年开始,我已经慢慢尝试改善一些不合理的饮食习惯。25年,打算进一步坚持并优化这些调整:

  • 非必要不喝咖啡:减少因为依赖咖啡提神导致的作息紊乱,强度工作时更倾向于用充足的睡眠恢复精力。
  • 少油少盐,减少重口饮食:尤其是大鱼大肉、烧烤和高热量的宵夜,虽然偶尔解馋没问题,但频率需要严格控制。
  • 按时吃饭,拒绝拖延:不再因为工作忙碌随便对付一顿或随意跳过正餐,饮食规律大概是健康最基础的一环。

这些饮食习惯的改善让我逐渐感受到身体的变化,虽然不会立刻见效,但每一次坚持都会让我更接近健康的状态。

工作的反思:减少无效加班

过去一年加班的原因无外乎两点:一是业务临时变更导致的被动调整,二是自己的工作方式尚需优化,尤其是项目初期的规划和代码设计。前者是外因,后者则是让我觉得需要反思和改进的地方。

  1. 从自身找原因:

    • 早期的代码架构和实现方式,有些地方还存在不够合理之处,这往往导致后期反复调整,进而产生无效的加班。
    • 虽然24年已经迈出了好的第一步,在项目启动前,我尝试输出业务需求分析和系统性文档,但部分细节的思虑不够全面,还是给后续开发带来了不必要的问题。
  2. 改善方向:

    • 在项目初期花更多时间进行方案规划,尤其是细节部分,避免因疏忽引发大的反复。
    • 学会“高效验收文档”:不仅仅是输出文档,还要更加细心地查看、验证和讨论,确保需求分析和设计方案尽可能完善。
    • 多花一分钟思考,省下十倍时间的返工:这一点是我在24年工作中逐渐感悟到的,计划25年继续践行。

发展的健康平衡

工作多年后渐渐理解到,努力和拼命并不是一回事,效率和方法才是衡量工作能力高低的关键。25年的规划中,我要尝试让“多思考”成为核心习惯,把这种思维模式落实到生活和工作中的每一个细节。写代码如此,做生活规划更是如此。

总结下来,25年推动的几个核心目标:

  1. 从饮食、锻炼、休息等多个方面出发,逐步改善健康问题,给身体建立良性循环。
  2. 在工作中不断优化自己的流程和方法,力求在复杂的项目中找到高效协作和平衡的方式。
  3. 完善保险和风险防范措施,为未来可能的意外构筑更强的安全底线。

健康是基石,工作是延续,生活是目标。25年将是身心都逐步恢复、更进一步的开始。

工作 :成长之路

过去两年的工作中,我感受到了个人能力的成长和视野的开阔。从23年加入喜马后,适应新的团队和技术体系,到24年结合自己的业务理解,主动推动性能优化专项工作,这是我从熟悉到深入、从挑战到提升的一段宝贵经历。一方面,我更深入地理解了代码架构和业务逻辑;另一方面,通过一些关键项目的突破,让我经历了一次真正意义上的跳出舒适圈,也深刻感受到了技术驱动业务发展的价值和团队协作的重要性。

性能优化专项

在24年里,我牵头了一次性能优化专项工作,这不仅是对现有架构和技术方案的一次“重新审视”,也是对我个人能力的一次检验。专项工作内容覆盖了从APM大盘优化到内存泄露告警,从代码优化到业务优化,再到线上效果跟踪闭环的流程。

优化背景

作为一款高用户量的产品,喜马直播代码的复杂性和业务场景的多样化,让性能优化成为不可回避的核心任务。而我在加入团队后逐渐发现,随着用户体量增加、业务逻辑发展,某些模块的性能瓶颈也开始显现。借此契机,我决定主动推动一次内存泄露和内存水位的性能专项优化,以解决以下问题:

  • 直播间内存泄露BUG:直播间Bug率千分之一,水位偏高。
  • 内存稳定性:某些场景下由于资源申请过多未及时释放,导致内存占用过高。
  • APM看盘麻烦:直播业务看数困难,APM告警暂无等…
推进过程
  1. 需求分析与调研:从用户反馈和埋点数据中,梳理了性能瓶颈明显的模块,并结合业务优先级,列出了需要优化的关键点。

  2. 技术方案输出

    • APM子业务看数功能完善,内存水位梳理;
    • 针对内存泄露进行问题分析和 内存写法SOP宣讲;
    • 技术优化 + 设备分级 + 业务场景优化多套组合拳;
  3. 落地执行与效果跟踪

    • APM二方库添加业务归因,直播业务可查看数据不阻塞查看水位;
    • 内存泄露长效治理,图片Bitmap检测库引入,优化本地图片资源,代码使用方式调整,降低内存泄露率到十万分之二水位,明显提升用户体验
    • 通过建设直播设备分级系统,针对直播特殊高内存场景进行优化 ,降低峰值内存水位 ,尝试提升dau数据 (不过业务数据不明显)
成果总结

这一专项优化不仅显著提升了用户体验,还积累了性能优化方面的知识方法,同时也让我深刻感受到推动“技术专项”的重要性。面对复杂的问题时,找准方向和团队协作是关键,技术能力和业务目标相结合,往往能事半功倍。

突破舒适圈

对于我个人来说,性能优化专项不仅仅是一次项目任务,更是触发了我跳出舒适圈、重新审视团队角色和自身能力的关键节点。

  • 从执行到牵头:过去的工作中更多以完成任务为导向,而在这次专项中,我主动推动工作,承担了项目的牵头角色,组织和协调团队的资源和时间。这让我从单纯的技术开发者,逐步迈向技术项目管理的实践者。
  • 从局部思考到全局视角:专项优化工作从需求分析到结果落地,需要全流程思考,这让我逐渐习惯用更宏观的视角去考虑问题,不再局限于单点的代码实现。
  • 建立协作意识:过去更习惯于个人完成任务,这次工作中我深刻意识到协作的重要性。团队间的沟通不仅带来了更全面的方案,也提升了团队整体的默契。

整个过程中,不仅锻炼了自己的技术能力,也培养了领导力和组织协调能力。这些经历帮助我更有信心面对未来更高难度的挑战,同时也希望在后续的工作中持续走出舒适圈,尝试更多可能性。

AI:未来的探索

24年是 AI 技术迅猛发展的标志性一年,尤其是在大语言模型(如 ChatGPT)和生成式AI的广泛应用背景下,我开始意识到,这不仅仅是技术创新的高地,也逐渐成为业务发展的重要驱动力。为此,我也在个人时间里对 AI 技术进行了初步的学习和探索,并尝试将其思路融入到工作场景中。

技术学习和构思

  • 关注领域
    在24年,我了解了自然语言处理(NLP)推荐系统方向的技术。这两个领域不仅与喜马的核心业务高度相关,也是在大数据和人工智能浪潮中至关重要的技术模块。

  • 构思项目
    我结合喜马平台的音频内容场景以及现阶段直播(特别是视频直播方向)相对较为薄弱的问题,与产品同学进行了多次讨论和头脑风暴,创造性地构思了一些基于 AI 技术的应用场景。以下是一些重要构思:

    • 虚拟人驱动升级体验
      借助当前AI技术,想象能否引入“虚拟人”概念,为用户体验新增一层与虚拟形象互动的可能性。虚拟人既可以在某些非实时广播场景中模拟主播与用户的互动,还可以在直播间里增加趣味性或承载与用户直接沟通的功能,用以优化低活跃直播间的用户留存。
      此外,通过精细化的数据分析,再结合语音生成技术(TTS)与NLP技术,虚拟人可以根据实时用户数据动态调整直播内容的推荐和呈现方式,做到更高的个性化服务。
    • 智能内容生成工具
      针对内容运营和推荐场景,生成式 AI 具有重要意义。例如,为音频标题、描述或推荐广告文案批量生成创意内容,然后结合人工校验,能够显著提升内容生成效率和质量;在丰富的多语种场景中,自动生成多语言字幕也是可以落地的一个方向。

辅助工具

  • 代码赋能:AI 助力开发效率
    24年,我使用了许多AI助手类工具,如 GitHub CopilotCursor,它们让我感受到 AI 对开发效率的显著提升。以下是一些具体感受和应用场景:

    • 代码生成:在日常开发中,Copilot 能够根据上下文给出相应的代码建议,大幅减少了重复性逻辑的编写时间。同时,对于一些自己并不熟悉的工具类接口或边缘技术,Copilot 提供的实时建议往往能给出新的解决方案思路。
    • 代码 Review 輔助:Cursor 等工具以实时对代码的逻辑进行分析和优化建议为主,尤其在多人协作的场景中非常高效。它可以帮助快速检测潜在的逻辑漏洞或不够简洁的实现方式,相当于一个智能 Review 助手。
    • 多样化解题视角:不止局限于工具的直接建议,它们还为我提供了解决问题的新角度。例如,面对同一段逻辑,AI 可能推荐一些更符合当前框架特性的轻量化写法,这种角度的丰富性帮助我提升了代码质量。

    通过持续使用这些工具,我更加深刻理解了 AI 在代码开发中的定位。它不是简单的替代人类,而是成为了提升工作效率、优化解决思路的强有力助手。

  • 技术拓展:节奏提升的核心
    在经历个人项目的实践后,我愈发意识到,AI 工具的价值并不仅仅在于“解决当下问题”,更在于如何利用它们更加高效地积累知识。在过去的一年中,借助这些工具的辅助,我不仅提升了开发效率,还通过它们的输出方式学习了新的框架与解决问题的技巧。一些逼近“最佳实践”的实现方法甚至成为了自己日后工程开发中的重要参考。

生活:找到工作与生活的平衡

今年的经历让我深刻意识到,工作和生活绝不是对立的。生活为工作注入热情,而工作又促生了生活的仪式感与满足感。今年,我通过更加科学地规划时间,让生活与工作之间找到更和谐的平衡。

  • 坚持学习和成长的节奏
    无论是身体健康、技术深度,还是协作沟通,都需要日复一日地微调和完善。我计划 25 年将“年度目标”细分为季度行动计划,在不同阶段回顾目标达成情况,做出调整。
  • 提升表达与书写能力
    从计划到复盘,“总结”是一种深度输入与输出相结合的工具,我今年输出了更多的技术分享博客或在喜马业务迭代中的系分文档,不仅记录工作思考和成果也分享给他人。在表达时更加关注“结构化与逻辑性”,希望在这一能力上逐步突围。

未来

2025年,对我来说是复盘与前行的一年。过去一年中,我建立了一些好习惯和新方向,也透过自己的不足看到更多改进的空间。成长从不需要一步到位,重要的是找到更可持续、更细致的节奏,以小积累最终推动巨大改变。

未来的一年,我希望做到以下几点:

  1. 守住健康底线:将健康融入每一天的生活中;
  2. 深耕工作领域:继续突破技术壁垒,为团队和个人创造更多价值;
  3. 与AI同行:不仅使用工具,尝试主动成为工具的设计者或在业务中有变现的场景;
  4. 平衡生活与思考:在科技与生活之外,找到属于自己的“宁静时光”。

相关文章:

2024年个人总结

序 照例,每年都有的个人年度总结来了,看了很多其他大佬的总结,感觉自己的2024过于单薄,故事也不太丰满,自己就回去比较,自己哪里做的不好 ?但后来发现已经进入了一个思维误区。 年度总结年度总结…...

GitHub 仓库的 Archived 功能详解:中英双语

GitHub 仓库的 Archived 功能详解 一、什么是 GitHub 仓库的 “Archived” 功能? 在 GitHub 上,“Archived” 是一个专门用于标记仓库状态的功能。当仓库被归档后,它变为只读模式,所有的功能如提交代码、创建 issue 和 pull req…...

LeetCode:56.合并区间

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:56.合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti,…...

Vue演练场基础知识(七)插槽

为学习Vue基础知识,我动手操作通关了Vue演练场,该演练场教程的目标是快速体验使用 Vue 是什么感受,设置偏好时我选的是选项式 单文件组件。以下是我结合深入指南写的总结笔记,希望对Vue初学者有所帮助。 文章目录 十五. 插槽插槽…...

进程池的制作(linux进程间通信,匿名管道... ...)

目录 一、进程间通信的理解 1.为什么进程间要通信 2.如何进行通信 二、匿名管道 1.管道的理解 2.匿名管道的使用 3.管道的五种特性 4.管道的四种通信情况 5.管道缓冲区容量 三、进程池 1.进程池的理解 2.进程池的制作 四、源码 1.ProcessPool.hpp 2.Task.hpp 3…...

【Linux】Linux C比较两个 IPv6 网关地址是否相等,包括前缀

功能说明 在 Linux 环境下使用 C 语言比较两个 IPv6 网关地址是否相等,包括前缀 实现步骤 解析 IPv6 地址:使用 inet_pton 将字符串形式的 IPv6 地址转换为二进制形式。解析前缀长度:从地址字符串中提取前缀长度(如 /64&#xf…...

【uniapp】uniapp使用java线程池

标题 由于js是性能孱弱的单线程语言,只要在渲染中执行了一些其他操作,会中断渲染,导致页面卡死,卡顿,吐司不消失等问题。在安卓端可以调用java线程池,把耗时操作写入线程池里面,优化性能。 实…...

面试题-Java集合框架

前言 Java集合框架(Java Collections Framework)是Java平台提供的一套用于表示和操作集合的统一架构。它位于java.util包中,并且自Java 1.2(也称为Java 2平台,标准版,即Java SE 2)起成为Java平…...

Java基础教程(007):方法的重载与方法的练习

文章目录 6.5 方法的重载6.6 方法练习数组遍历数组最大值 6.5 方法的重载 在 Java 中,方法的重载是指在同一个类中定义多个方法,这些方法具有相同的名称,但参数列表不同。方法的重载是一种实现多态的方式,允许一个方法名以不同的…...

【ESP32】ESP-IDF开发 | WiFi开发 | TCP传输控制协议 + TCP服务器和客户端例程

1. 简介 TCP(Transmission Control Protocol),全称传输控制协议。它的特点有以下几点:面向连接,每一个TCP连接只能是点对点的(一对一);提供可靠交付服务;提供全双工通信&…...

npm cnpm pnpm npx yarn的区别

npm、cnpm、pnpm、npx、yarn 这几个工具都与 Node.js 项目的包管理和命令执行相关,它们的区别具体如下: 本质与功能定位 npm:是 Node.js 官方的包管理工具,提供了安装、卸载、更新、发布等全方位的包管理功能,还能通…...

debian12.9编译freeswitch1.10.12【默认安装】

服务器操作系统 cat /etc/os-release PRETTY_NAME"Debian GNU/Linux 12 (bookworm)" NAME"Debian GNU/Linux" VERSION_ID"12" VERSION"12 (bookworm)" VERSION_CODENAMEbookworm IDdebian HOME_URL"https://www.debian.org/&quo…...

使用 C/C++ 调用 libcurl 调试消息

在使用 C/C 调用 libcurl 进行 HTTP 请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试。libcurl 提供了多种方法来捕获和输出这些信息,本文介绍具体的使用方式。 1. libcurl 调试工具简介 libcurl 是…...

【愚公系列】《循序渐进Vue.js 3.x前端开发实践》030-自定义组件的插槽Mixin

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…...

大一计算机的自学总结:异或运算

前言 异或运算这个操作看上去很匪夷所思,实际上作用非常大。 一、异或运算的性质 1.异或运算就是无进位相加。 2.满足交换律、结合律。 3.0^nn,n^n0。 4.若集合B为集合A子集,集合A异或和为x,集合B异或和为y,则集…...

通过protoc工具生成proto的pb.go文件以及使用protoc-go-inject-tag工具注入自定义标签

1.ProtoBuf认识,安装以及用法 参考:[golang 微服务] 3. ProtoBuf认识,安装以及golang 中ProtoBuf使用 2. 使用protoc-go-inject-tag工具注入自定义标签 这里有一个案例: syntaxproto3; package test;option go_package ".;test";message MyMessage {int6…...

C语言练习(29)

13个人围成一圈&#xff0c;从第1个人开始顺序报号1、2、3。凡报到“3”者退出圈子&#xff0c;找出最后留在圈子中的人原来的序号。本题要求用链表实现。 #include <stdio.h> #include <stdlib.h>// 定义链表节点结构体 typedef struct Node {int num;struct Nod…...

Android实训九 数据存储和访问

实训9 数据存储和访问 一、【实训目的】 1、 SharedPreferences存储数据; 2、 借助Java的I/O体系实现文件的存储&#xff0c; 3、使用Android内置的轻量级数据库SQLite存储数据; 二、【实训内容】 1、实现下图所示的界面&#xff0c;实现以下功能&#xff1a; 1&#xff…...

实验一---典型环节及其阶跃响应---自动控制原理实验课

一 实验目的 1.掌握典型环节阶跃响应分析的基本原理和一般方法。 2. 掌握MATLAB编程分析阶跃响应方法。 二 实验仪器 1. 计算机 2. MATLAB软件 三 实验内容及步骤 利用MATLAB中Simulink模块构建下述典型一阶系统的模拟电路并测量其在阶跃响应。 1.比例环节的模拟电路 提…...

SOME/IP--协议英文原文讲解2

前言 SOME/IP协议越来越多的用于汽车电子行业中&#xff0c;关于协议详细完全的中文资料却没有&#xff0c;所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块&#xff1a; 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 4.1 Speci…...

matlab中,fill命令用法

在 MATLAB 中&#xff0c;fill 命令用于创建填充多边形的图形对象。使用 fill 可以在二维坐标系中绘制填充的区域&#xff0c;通常用于绘制图形的背景或显示数据分布。 基本语法 fill(X, Y, C)X 和 Y 是同样长度的向量&#xff0c;定义了多边形的顶点坐标。C 是颜色&#xff0…...

【Linux】Linux C判断两个IPv6地址是否有包含关系

功能说明 要判断两个 IPv6 地址是否具有包含关系&#xff0c;包括前缀的比较&#xff0c;可以通过以下步骤实现&#xff1a; 解析 IPv6 地址和前缀&#xff1a;将两个 IPv6 地址和它们的前缀长度解析为二进制形式。生成掩码&#xff1a;根据前缀长度生成掩码。按位比较&#…...

【玩转全栈】----Django基本配置和介绍

目录 Django基本介绍&#xff1a; Django基本配置&#xff1a; 安装Django 创建项目 创建app 注册app Django配置路由URL Django创建视图 启动项目 Django基本介绍&#xff1a; Django是一个开源的、基于Python的高级Web框架&#xff0c;旨在以快速、简洁的方式构建高质量的Web…...

mysql 学习6 DML语句,对数据库中的表进行 增 删 改 操作

添加数据 我们对 testdatabase 数据中 的 qqemp 这张表进行 增加数据&#xff0c;在这张表 下 打开 命令行 query console 在 软件中就是打开命令行的意思 可以先执行 desc qqemp; 查看一下当前表的结构。 插入一条数据 到qqemp 表&#xff0c;插入时要每个字段都有值 insert…...

自动化运维在云环境中的完整实践指南

随着云计算的普及,越来越多的企业将业务迁移到云上。云环境的高动态性和复杂性使得传统的手动运维方式难以应对,自动化运维成为提升效率、降低成本、保障系统稳定性的关键。本文将详细介绍如何在云环境中实施自动化运维,涵盖工具选择、实施步骤和最佳实践。 © ivwdcwso…...

一分钟搭建promehteus+grafana+alertmanager监控平台

为什么要自己搭建一个监控平台 平时进行后端开发&#xff0c;特别是微服务的后端可开发&#xff0c;一定少不了对接监控平台&#xff0c;但是平时进行一些小功能的测试又没有必要每次都手动安装那么多软件进行一个小功能的测试&#xff0c;这里我使用docker-compose搭建了一个…...

【10.2】队列-设计循环队列

一、题目 设计你的循环队列实现。 循环队列是一种线性数据结构&#xff0c;其操作表现基于 FIFO&#xff08;先进先出&#xff09;原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普…...

设置jmeter界面图标字体大小

设置jmeter界面图标字体大小 方法&#xff1a;点击“选项” -> 点击放大、缩小。&#xff08;可进行全局的菜单、左侧目录结构树、元件界面显示等字体图标的放大、缩小。&#xff09;...

Xposed-Hook

配置 Xposed 模块的 AndroidManifest.xml&#xff1a; <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"your.package.name"><applicationandr…...

设计模式Python版 原型模式

文章目录 前言一、原型模式二、原型模式示例三、原型管理器 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&#xff1a;关注类和对…...