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

2023年终总结-轻舟已过万重山

自我介绍

高考大省的读书人

白,陇西布衣,流落楚、汉。-与韩荆州书

我来自孔孟故里山东济宁,也许是小学时的某一天,我第一次接触到了电脑,从此对它产生了强烈的兴趣,高中我有一个愿望:成为一名计算机从业者。18岁的我踏入北上的列车,进入我的大学生活。可录取通知书上并非我期待的那样:被计算机学院录取从此踏上编码的快车道。

也许是高中比较喜欢当时化学老师的课,在我能填报的六个志愿中,我无一例外的把计算机、软件类专业放在了第一个,把化工、化学相关的专业放在了第二个。也许我不该更改一道物理选择题,也许是我和化工学院、和化工系的人注定要共同经历一些有趣的事情。是的,我收到了化工学院的录取通知书,成为了一名化工学院的大一新生。

进入大学,梦的开始

对于理工科来讲,C语言也许是必修课。虽然是在化工系,让我心生慰藉的是,我们竟然有C语言课(可只有一学期)。恰巧,我觉得我当时的C语言老师人很棒,她是我追逐梦想道路上的启蒙老师,感谢我这位“大学姐”。

大一我们有机会转专业,条件是:期末考试成绩在系里前5%,我毅然决然的选择了尝试。由于我对化工相关课程完全不感兴趣,在化工学院“不学无术”,上课玩手机、睡觉、甚至教高数老师打王者荣耀,去实验室做实验的时候,偷偷去外边溜达、买水等等,我期末考试挂了好几科,显然,我最后的“救命稻草”也被高密的妖风吹散了。

专业课无聊时拍的。

可我并没有放弃。大一上学期的C语言课结束后,大一下学期浑浑噩噩的读过了一个学期,在大一假期,我学起了Java。最一开始,是跟着阿发你好的网课学习的,一转眼到了大二,恰好我们学校软件专业学生开了Java课,恰好他们的课表里我没课。第一次去蹭课的心情,现在依然记得。

大二,是我最舒服的一年,专业课少,下了课,我便去图书馆敲代码,当然还有一群合得来的朋友。

大学里,我最头疼的一件事就是期末考试,感谢一位温柔的小姐姐在期末考试的时候不厌其烦的给我补课,正因为抱着她的大长腿, 我才能在每次期末考试、补考、重修中把学分拿到。

图书馆的老地方

实习

由于我对化工方向毫无兴趣,并且当时的我对成为程序员这个职业充满了热情,在实习的时候,我毅然决然的选择了成为一名练习两年半的“野生”程序员,也正是开始找实习工作开始,我写起了博客,主打一手自己找着方便,帮助他人。

从此成为了一名Jave Coder。

2023事件汇总

凡是过去,皆为序章。-莎士比亚《暴风雨》

技术方面

自2019年2月初始至今已有近五年的时光,是的,我做Java程序员已有近五年的时间。

说起2023,截止目前共产出文章65篇内容,CSDN访问量29万,掘金5万,今年夏天开始了微信公众号的更新,目前数据量较小。

今年学习了:

  • MySQL相关优化
  • Docker部分内容
  • 正在学习Spring Framework源码相关
  • 正在学习Golang基础语法

读书

也许是工作压力逐渐变大,亦或是随年龄增长需要处理的事情逐渐变多,最近一两年出现了入睡慢的问题,入睡前大脑比较兴奋,后来逐渐养成了睡觉前看书的习惯。

今年重新阅读了钱钟书先生的《围城》,也许是我还未参透书中的奥秘亦或是我无法想象和理解书中主人公们的阶层,读完后干完没有什么意思,情节也并不精彩,个人感觉像是在讲一群少爷、小姐们高不成、低不就,内心浮躁的生活。

后来我开始读当年明月的《明朝那些事儿》,目前刚开始第五部,作者通过插画、举例等生动形象的讲述了朱元璋大家族的治国、内斗奋斗史,觉得比《围城》生动有趣很多。

纪录片

  • 《腊月》讲述的是鲁西南地区(拍摄地我的家乡山东济宁)早早辍学打工青年们迫于家乡畸形思想、村民攀比心理使得结婚彩礼水涨船高,但是迫于舆论压力不得不草率结婚的故事。
  • 《乡村里的中国》这是一部以中国农村为背景的纪录片,真实讲述了几个普通农民家庭在中国乡村生活中的喜怒哀乐,有的是对下一代的期盼以及对迫于现实的无奈。
  • 《遥望南方的童年》是一部以贫困山区为背景的纪录片,讲述了两个支教老师在偏远山区小学任教、看护留守儿童的故事。

电影

推荐《绿皮书》、《当幸福来敲门》、《超能一家人》

我的2023感悟

吾日三省吾身。-孔子

2023对于我来说是波折的一年。

关于工作方法论

在入行的前两年,我能感受到每天都能学到新的东西,并且在工作的前两年要养成良好的方法论,如:如何分析需求、如何做任务分解、如何做好功能设计并且找到自己的方法论。再次要感谢我之前的两位TeamLeader,是他们以身作则,言传身教教会我工作的方法论,在做迭代的过程中,提升了自己的技术能力。

关于裁员

2023在程序员的世界里火出圈的关键词应该是:开猿节流,降本增笑。受限于各种形式、经济影响,国内外今年开始了如火如荼的裁员日程,我觉得大家还是要理性看待这个问题,被裁,并不代表你不优秀,而是企业受自身业务线、现金流等压力,要降低开发团队的成本采取的措施,至于为什么被裁,一方面是你所在的业务线是否有稳定的现金流收入,其次,你对于团队来说,性价比是否高。结合我自身、身边朋友的经验来讲,被裁不一定是坏事,也许这是一个激励自己成长的机会,我的朋友告诉我,留下的人还不如被裁的人舒服,因为留下来的人要接手被裁的业务线。

关于不愉快的工作经历

受大环境影响,很多企业倒闭、裁员,社会上少了很多就业岗位,一些做自己产品的公司为了降低成本,可能会减缓迭代速度,“向社会贡献优秀劳动力”,我个人对行业的理解,能去做自己产品的公司就不要去外包公司,即使外包公司的薪资相对会高一些,做自己产品的公司起码相对来讲,从需求到开发再到上线的流程是相对规范的,这样你的工作体验起码是有保障的,并且工期安排合理,加班会相对少一些。部分外包团队中会有一个角色负责维护甲方关系并且督促程序员工作的“经理”,一般这些角色并不懂开发,无法分辨甲方提出的需求是否合理,只管全盘丢给程序员去做,难免无形中变更了需求,出现返工的现象,本来就不充裕的工期会更雪上加霜,程序员必须顶着压力蹒跚前行,那么此时这位“经理”看到进度延后,他会来一句,你们为什么进度延后了?这个模块,你们都做了多久了?是的,做需求没有前期准备阶段,做到哪算哪,更不会评估工作量,在他们眼里,工作量按模块为单位,不关心模块中需要写具体接口的数量,需要多少工时。

在好的坑位日益减少的今天,选择工作机会一定要慎重,能稳则稳。

如果当前你的工作正处于水深火热中,上班如上坟,那么请你一定要找到情绪、压力宣泄口,不要堆积在自己心里,人和轮胎一样,适当的压力能工作的更好,压力太大会导致爆胎。

如果一份工作一直使你身心疲惫,早日离开或许是一个好的选择。

关爱程序员身心健康

程序员每天要做的事情有很多,需要和不同的人沟通,比如:参加需求评审会时与产品同事沟通,任务分解、工期制定需要和自己的Leader沟通,对于功能的具体实现上需要和前端/后端同事沟通,迭代测试阶段需要和测试同学沟通等等,我非常喜欢的程序员up主:御风大世界在视频中说:保持一个稳定的情绪是在一家公司中最重要的事情,大家在公司聚在一起是为了赚钱,很多事情不要带主观情绪,更不要太敏感。否则自己在工作时会非常累。

程序员是一个需要持续学习的职业,在生活中停止精神内耗、保持一个良好的情绪,也会让自己有更多的精力和兴趣去学习新的知识,毕竟技术就是程序员的底气。

让内心变得更强大

累死你的,往往不是工作,而是工作中遇到的人 -罗素。

我始终认为,程序员的工作中如果只剩下Coding,那么这将会是一件不那么累的事情。在我近五年的工作经历中,感受到的累,很多时候并不是身体上的累,而是心累。

在我们刚入行的时候,有TeamLeader带着我们做需求、有后方保障,而且在每天的开发中都能学到新的东西,我们只需要关心怎么把代码写的更好一点、更高质量的实现需求就可以了,这个阶段我们更多是只负责技术上的工作。后来我们要独立承担一整个项目的开发,需求分析、排期、风险评估、上线等等工作需要自己独立完成,操心的事情开始多了起来,自己成为了自己的后盾,在这个阶段我们需要承担更多的压力和风险,所以我们需要试着让自己的内心强大起来。

感谢在我焦虑时指点、安慰我亦师亦友的前辈。

展望2024

长风破浪会有时,直挂云帆济沧海 —— 唐·李白

技术方面

在以往的年份中,发现自己学习新知识时并不系统,接下来的学习过程中,把重点放在系统学习上。

  • 系统学习Spring Framework源码,提高知识深度
  • 系统学习GoLang语言,扩展知识广度

知识分享

目前在三个平台上分享自己的内容:CSDN、掘金、微信订阅号。

  • 产出80篇知识分享博客

至于访问量、粉丝数这些不是我能够控制的,因此不作为目标依据。一味为了访问量便脱离了知识分享的初衷。

生活方面

  • 学习理财,早日用上M系列芯片的MacBookPro
  • 阅读完《明朝那些事儿》后阅读王阳明相关著作,了解知行合一相关内容
  • 让内心变得更强大

写在最后

历史的灰尘落在每个人头上,都是一座大山。-余华《活着》

大环境不景气这是众所周知的事情,每个人都会面临困境,这是我们无法改变的客观事实,高中语文课上老师告诉我们:你改变不了这个世界,但是你可以改变自己。越是此时,越需要积累力量蓄势待发。我想用我一直崇敬的雷军先生在2023年度演讲上的发言结束本篇文章:“干了30多年回头一望,全是漫长的挫折和煎熬,和大家一样,我也迷茫,我想跟大家说我们不要逃避,你经历的所有失败和挫折,甚至那些看似毫无意义,消磨时间的事情都将成为你最重要的最宝贵的财富,人生很长,永远相信美好的事物即将发生”。
轻舟已过万重山!

相关文章:

2023年终总结-轻舟已过万重山

自我介绍 高考大省的读书人 白,陇西布衣,流落楚、汉。-与韩荆州书 我来自孔孟故里山东济宁,也许是小学时的某一天,我第一次接触到了电脑,从此对它产生了强烈的兴趣,高中我有一个愿望:成为一名计…...

手机号,邮箱,密码,验证码正则表达式[Java]

Util类: public abstract class RegexPatterns {/*** 手机号正则*/public static final String PHONE_REGEX "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";/*** 邮箱正则*/public static final String EMAIL_REGEX "^[a-zA-Z…...

普冉(PUYA)单片机开发笔记(7): ADC-轮询式多路采样

概述 应用中经常会有使用单片机进行模数转换的需求。PY32F003 具有 1 个 12 位的模拟数字转换器(ADC),今天我们一起来使用一下这个 ADC。 数据手册中对 ADC 简介如下。 SAR ADC:逐次逼近式 ADC,原理参见“参考链接&a…...

uniapp切换页面时报错问题

我们来看如下错误: 该错误的意思是不能切换到 tabbar 页面。tabbar页面通常是公共页面或者底部导航栏,如果我们用 navigateTo 或者 redirectTo 都不能实现页面切换。 我们有两种方式: 第一种是用 switchTab 来进行切换,但注意切…...

Nginx 简单入门操作

前言:之前的文章有些过就不罗嗦了。 Nginx 基础内容 是什么? Nginx 是一个轻量级的 HTTP 服务器,采用事件驱动、异步非阻塞处理方式的服务器,它具有极好的 IO 性能,常用于 HTTP服务器(包含动静分离)、正向代理、反向代理、负载均衡 等等. Nginx 和 Node.js 在很多方…...

ChatGPT是科学还是艺术?

OpenAI最近谈到GPT4变懒的问题,说“它更像是多人共同参与的艺术创作”,那到底大模型是科学还是艺术?...

线程及实现方式

一、线程 线程是一个基本的CPU执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务&#x…...

2023年11月10日 Go生态洞察:十四年Go的成长之路

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

OpenSSL 编程指南

目录 前言初始化SSL库创建SSL 上下文接口(SSL_CTX)安装证书和私钥加载证书(客户端/服务端证书)加载私钥/公钥加载CA证书设置对端证书验证例1 SSL服务端安装证书例2 客户端安装证书创建和安装SSL结构建立TCP/IP连接客户端创建socket服务端创建连接创建SSL结构中的BIOSSL握手服务…...

js优化技巧

一、使用箭头函数简化函数定义 function add(a,b){return a b; }//箭头函数 const add (a,b) > a b;二、使用解构赋值简化变量声明 const firstName person.firstName; const lastName person.lastName;//解构赋值 const {firstName,lastName} person三、使用模板字…...

深入探索 Java 反射机制

文章目录 什么是 Java 反射?反射的核心类和接口反射的基本用法获取 Class 对象的三种方式创建对象实例访问字段和方法调用构造方法 反射的使用场景注意事项结语 Java反射(Reflection)是指在运行时获取类的信息,特别是获取其属性、…...

【ArcGIS Pro微课1000例】0054:Pro3.0创建数据库(文件数据库、移动数据库、企业级数据库)解读

文章目录 一、三种类型数据库解读二、三种类型数据库创建1. 文件数据库2. 移动数据库3. 企业级数据库三、注意事项一、三种类型数据库解读 ArcGIS Pro中主要有三种数据库类型,它们分别是:文件地理数据库、移动地理数据库和企业级地理数据库。它们的区别如下: 存储方式:文件…...

【漏洞复现】华脉智联指挥调度平台命令执行漏洞

Nx01 产品简介 深圳市华脉智联科技有限公司,融合通信系统将公网集群系统、专网宽带集群系统、不同制式、不同频段的短波/超短波对讲、模拟/数字集群系统、办公电话系统、广播系统、集群单兵视频、视频监控系统、视频会议系统等融为一体,集成了专业的有线…...

leetcode第119场双周赛 - 2023 - 12 - 9

比赛地址 : https://leetcode.cn/contest/biweekly-contest-119/ t1 : 直接哈希表 加 暴力 统计就行了 class Solution { public:vector<int> findIntersectionValues(vector<int>& nums1, vector<int>& nums2) {unordered_map<int,int>…...

05. 函数式编程

目录 1、前言 2、什么是函数式编程 2.1、函数是一等公民 2.2、避免状态和可变数据 3、函数式编程的核心概念 3.1、高阶函数 3.2、Lambda&#xff08;匿名函数&#xff09; 3.3、递归 & 尾递归优化 3.4、functools模块 3.4.1、partial 3.4.2、reduce 3.4.3、lru_…...

Linux权限(用户角色+文件权限属性)

Linux权限 文章目录 Linux权限一.文件权限1.快速掌握修改权限的方法&#xff08;修改文件权限属性&#xff09;2.对比权限的有无&#xff0c;以及具体的体现3.修改权限的第二套方法&#xff08;修改用户角色&#xff09;4.文件类型&#xff08;Linux下一切皆文件&#xff09; 二…...

短波红外相机的原理及应用场景

短波红外 (简称SWIR&#xff0c;通常指0.9~1.7μm波长的光线) 是一种比可见光波长更长的光。这些光不能通过“肉眼”看到&#xff0c;也不能用“普通相机”检测到。由于被检测物体的材料特性&#xff0c;一些在可见光下无法看到的特性&#xff0c;却能在近红外光下呈现出来&…...

【PyTorch】softmax回归

文章目录 1.理论介绍2. 代码实现2.1. 主要代码2.2. 完整代码2.3. 输出结果 3. Q&A3.1. 运行过程中出现以下警告&#xff1a;3.2. 定义的神经网络中的nn.Flatten()的作用是什么&#xff1f;3.3. num_workers有什么作用&#xff1f;它的值怎么确定&#xff1f; 1.理论介绍 背…...

12.8 作业 C++

使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0c;密码是否为…...

10.机器人系统仿真(urdf集成gazebo、rviz)

目录 1 机器人系统仿真的必要性与本篇学习目的 1.1 机器人系统仿真的必要性 1.2 一些概念 URDF是 Unified Robot Description Format 的首字母缩写&#xff0c;直译为统一(标准化)机器人描述格式&#xff0c;可以以一种 XML 的方式描述机器人的部分结构&#xff0c;比如底盘…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...