【复盘】2023年终总结

大家好,我是qxlx

2023年马上就要结束了,在此周末空闲时间进行整体复盘一下2023年关于自己的生活、工作、学习进度,以此进行记录。

01 工作

粗略算起来,来北京已经3年之久,那时候还是一个懵懵懂懂的学生,到现在已经成长为一个职场老油条。期间因为大环境问题,去年换过一次工作。今年也算是成长比较坎坷的一年,职场上的不如意,凡凡心酸,还是不说太多。对于自己来说也算是一个比较好的成长机会,开始独立负责项目,遇到问题时从慌忙到开始独立解决一些问题。总体上工作上还好,进一步体会到工作中不仅仅技术重要,如何从领导到角度思考问题、解决问题 更重要。

在实际的工作中,新手可能一聊完需求,就马上上手准备开发,但是这样往往针对一些需求不了解的前提下,会导致重复返工。所以一定要想好在动手。另一个就是变更是故障之源,在修改任何代码、数据的时候,我们一定要确认好之后,才进行修改。

今年工作上比较多的地方是,开始独立承担一些项目,可以cover住整个风控项目,业务流程、数据流程,都是时间的一些积累。另外一个不足的地方就是,工作中其实是提供了一个解决问题的实际场景,想要多学习还是要靠平时8小时之外。进行系统化、体系化的学习。

02 学习

之前毕业后,自己的重心主要放在了学习架构相关的课程,后来发现对于现阶段的自己,更重要的是要把基础打扎实。从3月份到12月,输出了100多篇文章

图片

整体路线就是:MySQL->Redis->Kafka->分布式->OS\网络->Spring\JUC源码

今年看过的专栏:

mysql45讲、消息队列高手课、Redis核心技术与实战、后端存储实战课、kafka核心技术与实战、分布式技术原理与算法解析、深入浅出分布式技术原理、分布式数据库 30 讲、分布式协议与算法实战、系统性能调优必知必会、重温左耳听风两遍(在这里向耗子叔致敬)、重温许式伟的架构课、趣谈网络协议、透视 HTTP 协议(部分)、趣谈 Linux 操作系统(部分)、代码之丑、设计模式之美(部分)、Linux 性能优化实战(部分)、Java之美(部分)

大厂学院:Redis、设计模式、Spring源码解读、周阳JUC

算法部分

从9月开始,坚持每天都刷题。

在这里插入图片描述

开始从年中总结自己的技能树 (后续也会不断的更新,欢迎star)

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

03 生活

重要事件

国庆带女朋友回家见了家长 😄

这一年去过的地方。

夏天和同学(李工)一起骑行北京三环。21年骑行的北京二环。
在这里插入图片描述

  • 海关博物馆、二刷(环球影城、国家博物馆、故宫、军事博物馆、电影博物馆)、农业展览馆、日坛、北京邮票博物馆
  • 参加大学第一对同学的婚礼
  • 休息日基本都是自己做饭,自己厨艺也慢慢有所提升。
  • 今年看过的历史剧
  • 大明王朝1566(权谋剧第一)、楚汉传奇、走向共和、老农民

04 24年计划

  • 软件设计
    • 阅读Kafka、Spring、Netty相关源码,并整理成博客。
  • 算法
    • 每日一题 坚持一年 以及将easy题刷完。争取达到1200题。
    • 算法训练营视频学习完毕
  • 性能优化
    • 相关专栏、视频等
  • 云原生
    • Docker、K8s在深入学习。(云原生训练营)
  • Go、pulsar
    • 将Go并发深入学习,以及整理博客
  • 技术管理 (技术经理实战训练营)
    • 常用的中间件(es\zk\apollo等)
  • 12本非技术书籍 / 5本技术书籍

最后,把我的座右铭送给你:日拱一卒,不期速成!

本篇的微信公众号文章

顺便花时间整理一下,今天在CSDN上发表的文章,按照系列划分基本如下

数据库

【数据库】join SQL语句原理优化

【数据库】数据库基础架构

【MySQL】聊聊数据库高可用

【数据库】聊聊MySQL的日志,binlog、undo log、redo log

【数据库】聊一下数据库的锁机制

【数据库】表数据delete了,表文件大小不变

【复盘】记录一次数据库连接超时问题

【复盘】记录一次锁库的生产故障

【复盘】记录一次数据库连接资源占用完毕

【复盘】主从延迟以及 Waiting for tablemetadata lock 线上问题

【数据库】数据库连接池导致系统吞吐量上不去-复盘

【数据库】聊聊一颗B+树 可以存储多少数据

Redis

【Redis】聊一下Redis基础架构

【Redis】Redis常用基本命令

【Redis】数据结构底层结构

【Redis】Redis 高性能IO模型原理

【Redis】IO多路复用机制

【Redis】聊一下持久化机制-AOF

【Redis】聊一下RDB持久化机制

【Redis】聊一下缓存双写一致性

【Redis】聊一下缓存雪崩、击穿、穿透、预热

【数据结构】Bloom Filter 布隆过滤器

【分布式系统】分布式锁实现之Redis

【Redis】聊一下Redis事务以及watch机制

【Redis】聊一下Redis数据同步/复制

【Redis】聊一下Redis的哨兵机制

【Redis】聊一下哨兵集群

【Redis】聊一下Redis切片集群的原理

消息队列

【消息队列】为什么使用消息队列,以及Kafka基本架构

【消息队列】聊一下Kafka Topic分区机制原理

【消息队列】消息积压了该如何处理

【消息队列】聊一下如何避免消息的重复消费

【消息队列】如何保证消息可靠传输

【消息队列】聊一下生产者消息发送流程

【消息队列】Kafka如何实现高性能IO

【消息队列】细说Kafka消费者的分区分配和重平衡

【消息队列】细说Kafka消费者位移机制

【消息队列】聊一下Kafka副本机制

【消息队列】聊一下Kafka多线程消费实例

【消息队列】Kafka高水位和Leader Epoch原理

【消息队列】Kafka主题管理机制

【消息队列】Kafka请求如何被处理的

【消息队列】Apache Pulsar存储计算分离

【复盘】记录一次生产事故-消息堆积

分布式领域

【分布式系统】分布式系统架构的冰与火

【分布式系统】架构演进方案

【分布式理论】聊一下 ACID、BASE、CAP、FLP

【分布式理论】两将军和拜占庭将军问题

【分布式存储】聊一下分布式存储中分片机制

【分布式存储】聊一下分布式存储之复制机制

【分布式存储】聊聊共识和一致性

【分布式存储】数据存储和检索~B+树

【分布式存储】数据存储和检索~LSM

【分布式存储】数据存储和检索~倒排索引&pageRank

【分布式系统】分布式系统的8个谬误

【分布式系统】聊聊系统监控

【分布式系统】聊聊服务调度

【分布式系统】聊聊流量和数据调度

【分布式系统】聊聊分布式事务中原子性

【分布式系统】聊聊高性能设计

【分布式共识】Basic Paxos 算法

【分布式共识】Multi-Paxos 算法思想

【分布式共识】Raft算法 选举一个领导者

【分布式共识】Raft算法 复制日志

【分布式共识】Raft算法 成员变更

性能设计篇

【性能设计篇】性能设计-缓存

【性能设计篇】数据库拓展

【性能设计篇】聊聊异步处理

【性能优化】聊聊性能优化那些事

【高可用架构】聊聊故障和高可用架构设计

【管理设计篇】聊聊系统部署生产有哪些方式

【管理设计篇】聊聊分布式配置中心

【弹力设计篇】聊聊API设计中的幂等性

【弹力设计篇】聊聊重试机制

【弹力设计篇】聊聊降级设计

【弹力设计篇】聊聊熔断设计

【弹力设计篇】聊聊限流设计

【弹力设计篇】聊聊异步通讯设计

【弹力设计篇】聊聊隔离设计

【弹力设计篇】聊聊灾备设计、异地多活设计

【弹力设计篇】弹力设计总结

网络协议

【网络协议】聊聊网络分层

【网络协议】聊聊ifconfig

【网络协议】聊聊DHCP和PXE 工作原理

【网络协议】聊聊从物理层到MAC层 ARP 交换机

【网络协议】聊聊拓扑网络结构与原理

【网络协议】聊聊ICMP与ping是如何测试网络联通性

【网络协议】聊聊网关 NAT机制

【网络协议】聊聊网络路由相关算法

【网络协议】聊聊UDP协议

【网络协议】聊聊TCP的三挥四握

【网络协议】聊聊TCP如何做到可靠传输的

【网络协议】聊聊套接字socket

【网络协议】聊聊http协议

【网络协议】聊聊HTTPS协议

【网络协议】聊聊DNS协议如何域名解析和负载均衡

【网络协议】聊聊CND如何进行提升系统读性能

【网络协议】聊聊HTTPDNS如何工作的

【网络协议】聊聊网络ReadTimeout和ConnectTimeout

操作系统

【Linux】uptime命令详解平均负载

【Linux】端口号进程 查询

【操作系统】聊聊用户态和内核态

【操作系统】聊聊文件传输的零拷贝、PageCache、异步IO机制

【操作系统】聊聊局部性原理是如何提升性能的

【操作系统】聊聊常见的内存管理方式

【操作系统】聊聊内存管理-分段-分页机制

【操作系统】聊聊页面置换算法

【操作系统】聊聊Linux内存工作机制

【操作系统】聊聊内存中的cache和buffer

【操作系统】聊聊进程、线程、协程

【操作系统】聊聊进程是如何调度的

【操作系统】聊聊协程为什么可以支撑高并发服务

【操作系统】聊聊进程间通信方式

【操作系统】聊聊C10K

【操作系统】聊聊文件系统是如何工作的

【操作系统】聊聊磁盘IO是如何工作的

【操作系统】聊聊什么是CPU上下文切换

【操作系统】聊聊CPU上下文切换实操

【操作系统】聊聊Linux软中断

【操作系统】聊聊不可中断进程和僵尸进程

并发编程

【并发编程JUC】Future和CompletableFuture机制

【Java并发】聊聊对象内存布局和syn锁升级过程

【Java并发】从simpleDateFormart聊聊threadlocal原理机制

【Java并发】聊聊AQS原理机制

【Java并发】聊聊ReentrantReadWriteLock锁降级和StampedLock邮戳锁

【Java并发】聊聊并发编程中的锁

【Java并发】聊聊死锁

【Java并发】聊聊如何优雅的暂停一个线程以及LockSupport

【Java并发】聊聊LongAdder应用场景及其原理

【Java集合】聊聊Hashmap的哈希函数、扩容、树化

【Java并发】聊聊线程池原理以及实际应用

【Java并发】聊聊创建线程池的几种方式以及实际生产如何应用

【Java并发】聊聊不安全的HashMap以及ConcurrentHashMap

【源码解析】聊聊线程池 实现原理与源码深度解析(一)

【源码解析】聊聊线程池 实现原理与源码深度解析(二)

【源码解析】聊聊阻塞队列之BlockingArrayQueue

【源码解析】聊聊阻塞队列之LinkedBlockingQueue

【源码解析】从ReentrantLock角度聊聊AQS原理

【源码解析】从Conditon角度聊聊AQS原理

【源码解析】从CountDownLatch角度聊聊AQS

【源码解析】从CyclicBarrier角度聊聊AQS

【源码解析】Semaphore角度聊聊AQS

【Java并发】聊聊线程的几种状态

【源码解析】聊聊ReentrantReadWriteLock是如何实现的读写锁

【并发设计模式】聊聊两阶段终止模式如何优雅终止线程

【并发设计模式】聊聊Immutability模式利用不变性解决并发问题

【并发设计模式】聊聊 基于Copy-on-Write模式下的CopyOnWriteArrayList

【并发设计模式】聊聊线程本地存储模式如何实现的线程安全

源码解析

【源码解析】一张图了解spring内部原理

【Spring】聊聊Spring如何解决的循环依赖以及三级缓存

【源码解析】Spring源码解读-bean的加载

【源码解析】Spring源码解读-beanFactory和Bean的后置处理器流程

【源码解析】聊聊SpringBean是如何初始化和创建

【源码解析】Spring Bean定义常见错误

【源码解析】聊聊SpringBoot自动装配如何实现的

其他

【Go进阶训练营】聊一下go的gc原理

【Go进阶训练营】内存分配原理

【软件工程】应对故障最佳实践

【复盘】聊一下如何高效学习

【复盘】记录一次类型不一致导致的Kafka消费异常问题

【编程范式】聊聊什么是数据类型和范式的本质

【编程范式】聊聊编程的本质

【编码规范】从代码之丑聊代码规范

【云原生】聊聊为什么需要docker以及其基础架构

【复盘】记录一次JVM 异常问题 java.lang.OutOfMemoryError: unable to create new native thread

【设计原则篇】聊聊单一职责原则

【设计原则篇】聊聊开闭原则

【设计原则篇】聊聊里氏替换原则

【设计原则篇】聊聊接口隔离原则

【设计模式】聊聊模板模式

【设计模式】聊聊策略模式

【设计模式】聊聊职责链模式

【Java异常】聊聊异常可能带来的坑

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java学习苦旅(十七)——栈和队列

本篇博客将详细讲解Java中的栈和队列。 文章目录 栈概念Java中Stack常用方法代码实现 队列概念队列常用方法对比QueueDeque 代码实现Queue 结尾 栈 概念 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一…

Android混淆那些事

前言 作为一个Android开发,大家或多或少都有一些关于混淆的了解(毕竟披个纱布也比裸奔要好的多吧)。混淆的概念虽然容易理解,但相信大多数开发可能还是在网上搜索通用配置后通过C-V大法接入到自己的项目中,这也使得混…

50、实战 - 利用 conv + bn + relu + add 写一个残差结构

上一节介绍了残差结构,还不清楚的同学可以返回上一节继续阅读。 到了这里,一个残差结构需要的算法基本都介绍完了,至少在 Resnet 这种神经网络中的残差结构是这样的。 本节我们做一个实战,基于之前几节中手写的 conv / bn 算法,来搭建一个残差结构。其中,relu 的实现和…

【linux】ufw 的基本使用

碎碎念 所有的云平台的网络流量的进出基本上有三层,首先是虚拟网的流量控制,一般是通过子网访问控制列表来控制vpc也好子网也好的流量出入,其次是安全组控制一层,通过安全组规则控制一类/一组主机(指EC2/ECS/VM/CE这些…

SpringBoot整合ElasticSearch实现CRUD操作

本文来说下SpringBoot整合ES实现CRUD操作 文章目录 概述项目搭建ES简单的crud操作保存数据修改数据查看数据删除数据 本文小结 概述 SpringBoot支持两种技术和es交互。一种的jest,还有一种就是SpringData-ElasticSearch。根据引入的依赖不同而选择不同的技术。反正作…

SQL必知必会笔记(5~8章)

第五章 高级数据过滤 本章示例表为transcript成绩表,数据库软件选用SQLITE3,具体如下 1、高级过滤也是通过where条件子句实现,辅以and、or、in、not进行实现 2、and语句:and连接的多个条件为与的关系,例如 SELECT * FR…

洗地机怎么选?哪款洗地机好用?

选择洗地机前,我们需要对自己购买洗地机的需求做一个清洗的判断,吸尘器和扫地机智能解决地面基本的清洁问题,作为新兴的清洁工具洗地机越来越受大家的喜欢,洗地机的品类很多,洗地机到底该买哪款呢?我们先来看看挑选洗…

利用MATLAB绘制折线图

x20:20:140;%x轴上的数据,第一个值代表数据开始,第二个值代表间隔,第三个值代表终止a[0.85, 2.2, 3.45, 2.65, 1.5, 1.9, 1.25]; %a数据y值plot(x,a,-*b); %线性,颜色,标记 axis([0,160,0,4]) %确定x轴与y轴框图大小 …

安全防御之授权和访问控制技术

授权和访问控制技术是安全防御中的重要组成部分,主要用于管理和限制对系统资源(如数据、应用程序等)的访问。授权控制用户可访问和操作的系统资源,而访问控制技术则负责在授权的基础上,确保只有经过授权的用户才能访问…

K8S集群部署MySql

挂载MySQL数据卷 在k8s集群中挂载MySQL数据卷 需要安装一个NFS。 在主节点安装NFS yum install -y nfs-utils rpcbind 在主节点创建目录 mkdir -p /nfs chmod 777 /nfs 更改归属组与用户 chown -R nfsnobody:nfsnobody /nfs 配置共享目录 echo "/nfs *(insecure,rw,s…

半导体设备系列:半导体制造产能扩张,设备零部件需求旺盛

近年来国内半导体制造产能不断扩张,半导体设备厂商加速成长。我们认为下游发展将拉动上游本地化配套需求,半导体设备零部件迎来高增长阶段。 摘要 半导体设备零部件包含密封圈、EFEM、射频电源、静电吸盘、硅电极、真空泵、气体流量计、喷淋头等产品&a…

如何做好档案数字化前的鉴定工作

要做好档案数字化前的鉴定工作,可以按照以下步骤进行: 1. 确定鉴定目标:明确要鉴定的档案的内容、数量和性质,确定鉴定的范围和目标。 2. 进行档案清点:对档案进行全面清点和登记,包括数量、种类、状况等信…

【稳定检索|投稿优惠】2024年创新设计与经济发展国际学术会议(IACLDED 2024)

2024年创新设计与经济发展国际学术会议(IACLDED 2024) 2024 International Academic Conference on Innovative Design and Economic Development(IACLDED) 一、【会议简介】 2024年创新设计与经济发展国际学术会议(IACLDED 2024),将于繁华的成都盛大召开。本次会议…

Vue3 使用路由 Router

Vue3 使用路由 Router 之前几篇博文说了一下 vue 的基本语法和 vue 的传参,今天这篇博文稍微说一下 vue3 里面使用路由。 介绍 众所周知,vue 是用来构建单页面应用的前端框架,大于大多数此类型应用来讲,都推荐使用官方支持的 vue…

阿赵UE学习笔记——6、免费资源获取

阿赵UE学习笔记目录 大家好,我是阿赵。   接下来准备要往UE引擎里面放美术资源了。美术资源可以自己做,不过也有一些免费的资源可以供我们使用的,这里介绍一些获得免费美术资源的方法。 一、Quixel 1、Quixel网站下载 Quixel资源库&#…

小H靶场笔记:DC-3

DC-3 January 3, 2024 4:11 PM Tags:Joomla owner:只惠摸鱼 信息收集 探测靶机ip: 192.168.199.133 nmap 扫描端口、 系统版本 漏洞 发现只有80端口开发, 且有cve-2017-8917漏洞存在是Joomla的SQL注入漏洞 Joomla版本为3.7.0…

【Java】接口和抽象类有什么共同点和区别?

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 【Java】接口和抽象类有什么共同点和区别&…

李沐机器学习系列3---深度学习计算

1 层和块 1.1 定义块 用class表示层,并只需要实现构造函数和前向传播函数 class MLP(nn.Module):# 用模型参数声明层。这里,我们声明两个全连接的层def __init__(self):# 调用MLP的父类Module的构造函数来执行必要的初始化。# 这样,在类实…

流媒体学习之路(WebRTC)——GCC分析(4)

流媒体学习之路(WebRTC)——GCC分析(4) —— 我正在的github给大家开发一个用于做实验的项目 —— github.com/qw225967/Bifrost目标:可以让大家熟悉各类Qos能力、带宽估计能力,提供每个环节关键参数调节接口并实现一个json全配置…

代码审查那些事

代码审查(code review)是指对源代码进行系统化地审查,是软件开发中的最佳实践之一,代码合并之前必须审查通过才行,可及时发现隐藏问题,提高代码质量。 1 为什么要代码审查 代码审查环节,或者流于形式,或者…