【复盘】2024年终总结

工作

重构风控系统

今年上半年其实就是整体重构系统,经历了多次加班的,其中的辛酸苦辣只有自己知道,现在来看的话,其实对自己还有一定的成长,从这件事情上也明白 绩效能不能拿到A,在分配的任务的时候就决定了。重构系统其实就是相当于在高速跑的汽车进行加油,如何保证无缝切换,保证应用、实例、数据等各个不出问题。以及通过各种方式进行避免各种可能出现的不可控情况。

  • 做之前想清楚,列好对应的todo list,截止时间、分清责任人
  • 多去想想可能的情况,以及可能出现情况的时候如何解决。
  • 上下游系统的API对接兼容,以及职场中各种扯皮的事情等。

我们大概是这样做的,一部分人进行新需求的对接,另外一部分人进行系统重构,分阶段开发,一部分完成先上线。灰度->验收-> 分阶段切流等。用了半年左右的时间完成系统的迁移。

监控系统完善

在系统迁移完毕之后,就开始完善系统的监控报警体系,基本都是业界的参考哪些方式。当系统出现问题时,可以更直观的看到哪里出现问题。

重复的事情不要过三,对于重复的事情 我们要尽量自动化,不仅仅可以提升效率,也可以有更多时间做其他时间。

学习

回顾今天的学习主题,其实主要就是两部分 一个是八股文 MySQL 以及框架中间件源码的阅读。构建了自己对软件设计的知识体系以及大量阅读相关优秀框架、中间件源码,完善自己的技能树。感兴趣的朋友可以star下 。

技能树

https://github.com/qxlx/skill-tree

在这里插入图片描述
整体来说其实就是JUC->Spring->MVC->Tomcat-> mybatis -> cloud -> kafka -> netty 看的源码系列。并且附加 设计模式之美

  • 1-4月 juc、jvm、redis、mysql 复盘学习
  • 5-6月 spring\mvc\tomcat源码阅读
  • 7月 boot\nacos 源码阅读
  • 8-9月 netty 源码阅读 (孙帅netty)
  • 10月 kafka 源码阅读
  • 11-12月 spring 源码阅读(孙帅spring),IOC+AOP+事务

专栏:设计模式之美 (翻来看去 今年看了两遍)、乔新亮的CTO成长复盘、代码精进之路、代码止丑、许式伟的架构(部分)、软件设计之美、职场求生攻略、Spring编程常见错误50例(部分)、王争-(程序员职场生存指南、Java编程之美)专栏、Netty 核心原理剖析与 RPC 实践、深入拆解Tomcat Jetty(部分)、从 0 开始学微服务

以下梳理下自己这一年的一些思考

1.初级程序员在维护代码,高级程序员在设计代码、架构师在重构代码

2.技术方案设计是立足于业务需求的基础上进行设计的

3.优秀的代码后背的设计思想更重要

4.代码之下,不止技术,业务、管理等软实力也重要

5.随时具备离开的能力

25计划

  • 1-2月 Myabtis源码,sql-analysis 源码阅读
  • 3-4月 JUC写一个小册子,从理论到源码到实践
  • 5月 结婚-暂停
  • 6-8 月 RPC、Dubbo源码
  • 9-10 RocketMQ源码
  • 11-12 SpringAlibaba nacos、sentinel、openfeign 、gateway系列源码

其他

  • 支付业务课程系列学习
  • 王争-代码能力提升训练营、系统设计与架构 训练营、重学计算机专业 训练营
  • 专栏
    • 左耳听风、郭东白的架构课、周志明的架构课、李智慧 高并发架构实战课 、商业思维案例笔记、从 0 开始学大数据、技术与商业案例解读
  • 书籍
    • 代码大全、代码整洁之道、架构整洁之道、重构、编写可读代码的艺术、程序员职业素养、代码的未来
    • 课外书籍: 明朝那些事
  • 25年结婚后,花一周时间进行旅游。

2024文章整理

java基础

【Java基础】聊聊你不知道反射的那些事

【Java基础】聊聊你不知道的注解那些事

【Java基础】动态代理与代理模式哪些事儿

MySQL

【数据库】聊聊explain如何优化sql以及索引最佳实践

【数据库】聊聊InnoDB存储引擎结构

【数据库】聊聊MVCC机制与BufferPool缓存机制

【数据库】聊聊MySQL事务隔离级别与锁机制

【数据库】聊聊常见的索引优化-上

【数据库】聊聊常见的索引优化-下

【MySQL】聊聊自增id用完怎么办?

【MySQL】聊聊全表查询会不会把数据库内存打爆

【数据库】聊聊普通索引和唯一索引怎么选

【MySQL】如何判断一个数据库是否出问题

【MySQL】聊聊你不知道的前缀索引原理以及使用场景

【MySQL】聊聊脏页flush的原理和控制策略

【MySQL】聊聊count的相关操作

【MySQL】聊聊order by 是如何排序的

【MySQL】聊聊MySQL常见的SQL语句阻塞场景

【MySQL】聊聊唯一索引是如何加锁的

【MySQL】一般大厂数据库规约

【MySQL】聊聊数据库是如何保证数据不丢的

并发

【Java并发】聊聊Future如何提升商品查询速度

【Java并发】聊聊活锁

【Java并发】聊聊concurrentHashMap扩容核心流程

【Java并发】聊聊concurrentHashMap的put核心流程

【Java并发】深入浅出 synchronized关键词原理-下

【Java并发】深入浅出 synchronized关键词原理-上

【并发设计模式】聊聊生产者-消费者模式

【并发设计模式】聊聊Thread-Per-Message与Worker-Thread模式

【Java并发】聊聊Disruptor背后高性能的原理

JVM

【JVM】聊聊JVM生产环境常见的OOM问题

【JVM】聊聊常见的JVM排查工具

【JVM】聊聊JVM参数以及调优

【JVM】聊聊垃圾回收之三色标记算法

【Redis】聊聊Redis常见数据类型底层结构

【设计模式】聊聊观察者设计模式原理及应用

源码系列

【tomcat】tomcat系统架构以及核心启动流程

【tcomat】聊聊tomcat是如何打破双亲委派模型进行类加载的

【tomcat】Tomcat如何扩展Java线程池原理

【SpringBoot】SpringBoot核心启动流程源码解析

【SpringBoot】SpringBoot自动装配原理

【SpringBoot】SpringBoot内置Servlet容器源码分析-Tomcat

【Nacos】Nacos服务注册与发现 心跳检测机制源码解析

netty

【Netty】netty启动流程源码解析

【Netty】netty接收、读、写整体过程源码解析

【Netty】ChannelPipeline以及事件执行流程源码解析

【Netty】Netty时间轮实践与源码解析

【Netty】FastThreadLocal比ThreadLocal快之源码解析

【Netty】netty中都是用了哪些设计模式

Kafka 源码阅读

【消息队列】聊聊你不知道的Kafka消费者组重平衡详细流程

【Kafka】聊聊如何做Kafka集群部署方案

【Kafka】Kafka源码解析之producer过程解读

【Kafka】Kafka Producer的缓冲池机制原理

【Kafka】Kafka源码解析之Consumer过程解读

Spring源码系列

【Spring编程常见错误50例】02.原型bean被固定

【Spring编程常见错误50例】03.依赖注入常见错误-上

【Spring编程常见错误50例】03.依赖注入常见错误-下

【方案设计】基于AOP+ThreadLocal 记录耗时接口调用

【Spring编程常见错误50例】04. Spring Bean 生命周期常见错误-上

【Spring】聊聊@EventListener注解原理

【定时任务】定时任务技术实现原理和选型分析

【SpringAOP】深入浅出SpringAOP从原理到源码

【Spring事务】深入浅出Spring事务从原理到源码

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

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

相关文章

RedisDesktopManager新版本不再支持SSH连接远程redis后

背景 RedisDesktopManager(又名RDM)是一个用于Windows、Linux和MacOS的快速开源Redis数据库管理应用程序。这几天从新下载RedisDesktopManager最新版本,结果发现新版本开始不支持SSH连接远程redis了。 解决方案 第一种 根据网上有效的信息,可以回退版…

[卫星遥感] 解密卫星目标跟踪:挑战与突破的深度剖析

目录 [卫星遥感] 解密卫星目标跟踪:挑战与突破的深度剖析 1. 卫星目标跟踪的核心挑战 1.1 目标的高速与不确定性 1.2 卫星传感器的局限性 1.3 数据处理与融合问题 1.4 大尺度与实时性要求 2. 当前卫星目标跟踪的主流技术 2.1 卡尔曼滤波(Kalman …

OpenCV-Python实战(9)——滤波降噪

一、均值滤波器 cv2.blur() img cv2.blur(src*,ksize*,anchor*,borderType*)img:目标图像。 src:原始图像。 ksize:滤波核大小,(width,height)。 anchor:滤波核锚点&#xff0c…

【查询函数】.NET开源ORM框架 SqlSugar 系列

目录 一、基本用法 💎 二、C#函数 🔎 三、逻辑函数 🎡 3.1 case when 3.2 IsNulll 四、时间函数 🕰️ 4.1 是否是同一天 4.2 是否是同一月 4.3 是否是同一年 4.4 是否是同一时间 4.5 在当前时间加一定时间 4.6 在当前…

二、github基础

Github基础 备用github.com网站一、用户界面-Overview(概览)1用户信息2 导航栏3 热门仓库4 贡献设置5贡献活动6搜索和筛选7自定义收藏8贡献统计9最近活动10其他链接 二、用户界面-Repositories(仓库)1 libusb_stm322 savedata3 Fi…

Elasticsearch VS Easysearch 性能测试

压测环境 虚拟机配置 使用阿里云上规格:ecs.u1-c1m4.4xlarge,PL2: 单盘 IOPS 性能上限 10 万 (适用的云盘容量范围:461GiB - 64TiB) vCPU内存 (GiB)磁盘(GB)带宽(Gbit/s)数量1664500500024 Easysearch 配置 7 节点…

Echarts+vue电商平台数据可视化——webSocket改造项目

websocket的基本使用,用于测试前端能否正常获取到后台数据 后台代码编写: const path require("path"); const fileUtils require("../utils/file_utils"); const WebSocket require("ws"); // 创建WebSocket服务端的…

jenkins修改端口以及开机自启

修改Jenkins端口 方式一:通过配置文件修改(以CentOS为例) 找到配置文件:在CentOS系统中,通常可以在/etc/sysconfig/jenkins文件中修改Jenkins的配置。如果没有这个文件,也可以查看/etc/default/jenkins&…

《Vue3实战教程》34:Vue3状态管理

如果您有疑问&#xff0c;请观看视频教程《Vue3实战教程》 状态管理​ 什么是状态管理&#xff1f;​ 理论上来说&#xff0c;每一个 Vue 组件实例都已经在“管理”它自己的响应式状态了。我们以一个简单的计数器组件为例&#xff1a; vue <script setup> import { r…

简单使用linux

1.1 Linux的组成 Linux 内核&#xff1a;内核是系统的核心&#xff0c;是运行程序和管理 像磁盘和打印机等硬件设备的核心程序。 文件系统 : 文件存放在磁盘等存储设备上的组织方法。 Linux 能支持多种目前浒的文件系统&#xff0c;如 ext4 、 FAT 、 VFAT 、 ISO9660 、 NF…

微服务のGeteWay

目录 概念&#xff1a; 三大核心&#xff1a; 工作流程&#xff1a; 9527网关如何做路由映射&#xff1a; GetWay高级特性&#xff1a; 按服务名动态路由服务&#xff1a; 断言Route Predicate Factories &#xff1a; 获取当前时区时间&#xff1a; After Route &…

idea 的 springboot项目spring-boot-devtools 自动编译 配置热部署

1&#xff0c;设置一 2&#xff0c;设置二 设置二&#xff08;旧版本&#xff09; CtrlShiftAlt/ 点击弹出框中Registry... 引入&#xff08;如果报错&#xff0c;换不同的版本&#xff09; <dependency><groupId>org.springframework.boot</groupId><a…

GitHub CLI 安装指南

GitHub CLI 是 GitHub 官方提供的命令行工具&#xff0c;可以帮助开发者方便地与 GitHub 平台进行交互&#xff0c;例如克隆仓库、提交代码、创建 Pull Request 等。 相比传统的 HTTPS 下载和操作&#xff0c;GitHub CLI 提供了以下显著的优势和特殊功能&#xff1a; GitHub …

建立一个Macos载入image的实例含界面

前言 为了方便ios程序的开发&#xff0c;有时候需要先用的Macos平台进行一些功能性的程序开发。 作为对比和参考。 1、创建一个MacOS的App 2、主界面控件的增加 添加的控件方法与ios相同&#xff0c;也是再用commandshiftL&#xff08;CtrlShiftL&#xff09;,就会弹出控件…

在CodeBlocks搭建SDL2工程构建TFT彩屏模拟器虚拟TFT彩屏幕显示

在CodeBlocks搭建SDL2工程构建TFT彩屏模拟器虚拟TFT彩屏幕显示 参考文章源码下载地址一、SDL2的创建、初始化、退出二、系统基本Tick、彩屏刷新、按键事件三、彩屏获取与设置颜色四、彩屏填充颜色及清屏五、彩屏显示中文和英文字符串六、彩屏显示数字七、彩屏初始化八、主函数测…

基于Springboot + vue实现的校园周边美食探索及分享平台

&#x1f942;(❁◡❁)您的点赞&#x1f44d;➕评论&#x1f4dd;➕收藏⭐是作者创作的最大动力&#x1f91e; &#x1f496;&#x1f4d5;&#x1f389;&#x1f525; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 &#x1f525;&#x1f525;&…

LeetCode - 初级算法 数组(删除排序数组中的重复项)

免责声明:本文来源于个人知识与公开资料,仅用于学术交流。 删除排序数组中的重复项 这篇文章讨论如何从一个非严格递增的数组 nums 中删除重复的元素,使每个元素只出现一次,并返回新数组的长度。因为数组是排序的,只要是相同的肯定是挨着的,所以我们需要遍历所有数组,然…

MVCC实现原理以及解决脏读、不可重复读、幻读问题

MVCC实现原理以及解决脏读、不可重复读、幻读问题 MVCC是什么&#xff1f;有什么作用&#xff1f;MVCC的实现原理行隐藏的字段undo log日志版本链Read View MVCC在RC下避免脏读MVCC在RC造成不可重复读、丢失修改MVCC在RR下解决不可重复读问题RR下仍然存在幻读的问题 MVCC是什么…

【leetcode100】二叉树的中序遍历

1、题目描述 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 2、初始思路 2.1 思路 中序遍历的顺序是左→根→右&#xff0c;定义一个函数进行遍历 # Definition for …

租用服务器还是服务器托管:哪种方案更适合您?

随着企业对网络服务质量要求的不断提高&#xff0c;租用服务器和服务器托管是两种常见的选择&#xff0c;各自具备独特的优势和适用场景。这篇文章将从多个维度对这两种方案进行详细分析&#xff0c;帮助大家进行对比选择。 租用服务器的优劣势分析 优点 无需大额初始投入 租用…