十年回望 -- JAVA
十年
十年时间,弹指一挥,好像一直都是在为工作奔波,匆匆忙忙的十年。
一、个人介绍
本人毕业于一所很普通的公办专科院校(全日制统招大专),专业是软件技术,当初能进入计算机这一行业,也是比较意外。主因是高中毕业的时候,跟一个朋友聊天,他当时已经工作,而且也是大专毕业,毕业后在北京做SEO相关的工作;
而我当时作为一个高考成绩一般,家境一般,对于大学要选择读哪个学校哪个专业更是满脸的迷茫的学生来说,对于计算机有了一点点的了解,所以选择专业的时候就莫名的就倾向了计算机相关的专业。
毕竟普通家庭,家里也提供不了什么好的建议,也没有什么资源,也没有什么所谓的选择权,所以一切都自己决定了。
于是,就开始正式跟计算机打交道了。
众所周知,大专院校3年究竟能学到什么东西,这是一个玄学。
在学校虽然也会教计算机原理,数据结构,数据库等专业课,但是毕竟老师管理也不严,专业课的作业和考试都是只求能过,还经常补考;所以3年下来基本等于学了个寂寞。
很多东西学过了,知道了,但是没有再深入学习,没把知识真正的学会,所以很快就又会忘记。
不过学校也有一些好的地方,比如有个比较负责的老师,就找了个重点大学的计算机研究生,给我们讲了几个月的课,教我们写JAVA代码,和一些工作上的技能。另外加上一些校企合作,有认真学习的同学还是能学到很多东西,对以后找工作有很大帮助。
也不知道本科院校都是如何教学的,羡慕。
后来工作以后,遇到的事,见到的人多了,觉得学历是个问题,19年的时候又读了个成人本科。
当时每周都要去上课,还有作业;毕业了还要写论文和毕设。如果是在学校本部的话,听说上课会比较严格;如果是代理机构的话上课就比较随意了。老师也是机构里请来的计算机行业的硕士来上课。至于能不能学到东西,我觉的可能学不到太多。但是确实会多认识一些人,总归是有好处的。
唠叨:
年纪渐大,才能越来越能认清自己,真的了解自己。
初中的时候,暑假期间就在工地搬过砖,印象很深刻的一次是去修马路。
当时只有90斤的我,需要搬一袋100斤重的水泥;我使出只有年少的时候才有的那种用不完的力气,把水泥搬到指定的位置,弄的浑身上下都是水泥灰,不知道那时候自己觉不觉得狼狈。
当时并不觉的累,也许当时也只是觉得身体上的累,就像少年时候,玩的累了休息一晚,第二天还是能蹦着起床。
可惜,那时候却没有感觉到生活上的累,否则也不至于高中不努力学习。
高中的时候,大多时间都是在玩和睡;家庭教育,学习环境不好,学校的老师也只管上课,所以高中的学业也是基本放羊了。
后来读了个普通大专。2012年的时候,大学暑假会去工厂打工,上流水线,24小时机器不停,需要倒班。当时年轻身体好,但是连续7天的夜班,差点把心脏病干出来。后来受不了了,有个工友就把白班换给了我,十分感谢他。
第一次进工厂,没有任何经验,属于是临时工,一个小时6.5元。辛苦了一个暑假,挣了几千块,全部拿出来买了台电脑,从此走上了编码的路。
不过依然可惜,那时候真切的感受到了身体上的累。但是还是没有感受到生活的累。也许是我天生就是个乐观的人吧。总以为生活是会越来越好的。
二、工作经历
这只是普通人的工作轨迹,因为普通人起点都很低。
9年时间换了4家公司,不知道在HR和管理眼里,这跳槽次数算不算多。不过对于我个人来说,我觉的还算正常。
第一家公司是一个技术部规模不大的公司,因为刚入行,薪资3k。干了一年半,涨到7k,当时的情况也比较特殊,因为公司管理的问题,技术大佬都走了,而我也因为一些私事,最后离职了。
第二家是个比较大的公司,正常干满了3年,合同到期离职了。
第三家是个创业公司,激情满满,经常007,整个人写代码写的恍恍惚惚,不过也是在这里,学到了很多东西。而且工作3-5年的时候,正是有一些自己的想法和实践的时候,所以进步还算明显。
第四家也是个大的公司,也算是干满3年,因为各种原因离职的。以这个时候的工作年龄和工作年限,工作时真的是做牛做马;因为有独挡一面的能力,也有解决问题的能力,所以只要需求不断,基本上就是每天都在编码,很少有休息的时候,公司简直不当人。
顺便留几张代码提交记录的图,因为中间gitlab迁移过,所以就截了3张。
2021年的时候

2022年的时候

2023年的时候

今天就先写到这。
相关文章:
十年回望 -- JAVA
十年 十年时间,弹指一挥,好像一直都是在为工作奔波,匆匆忙忙的十年。 一、个人介绍 本人毕业于一所很普通的公办专科院校(全日制统招大专),专业是软件技术,当初能进入计算机这一行业࿰…...
Linux 环境下 安装 Elasticsearch 7.13.2
Linux 环境下 安装 Elasticsearch 7.13.2 前言镜像下载(国内镜像地址)解压安装包修改配置文件用 Es 自带Jdk 运行配置 Es 可被远程访问然后启动接着启动本地测试一下能不能连 Es 前言 借公司的 centos 7 服务器,搭建一个 Es,正好熟…...
心理咨询预约小程序
随着微信小程序的日益普及,越来越多的人开始关注如何利用小程序来提供便捷的服务。对于心理咨询行业来说,搭建一个心理咨询预约小程序可以大大提高服务的效率和用户体验。本文以乔拓云平台为例,详细介绍如何轻松搭建一个心理咨询预约小程序。…...
常用排序算法的理解
1.插入排序 插入排序的思想是将一个记录插入到已经排好序的有序表中,从而形成一个新的、记录数加1的有序表。在其实现过程使用双层循环,外层循环是进行插入的次数(也可以理解为比较的轮数),内层循环是当前记录查找插入…...
Python小程序 - 文件解析
1. 目录下文件解析:特定文件、文件列表、文件数 Windows文件目录分格使用“ / ” 或 “ \\ ”文件目录路径包含空格的,绝对路径使用“双引号”,保证文件路径的可识别性保存和读取结果时,使用 encodingUTF-8可以添加对文件目录的过…...
.mxdown-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
导言: 在数字时代,网络安全威胁层出不穷,其中.mxdown-V-XXXXXXXX、.vollhavhelp-V-XXXXXXXX、.arricklu-V-XXXXXXXX勒索病毒已成为备受关注的问题。这种病毒以其高级加密技术和威胁勒索金的方式,严重危害用户和企业的数据安全。本…...
audio 标签动态src 且src是http无法播放问题
<audioref"audio" :src"src"alt"加载失败"controls/>src是动态传参的 无法播放因为动态src需要在赋值后对audio进行重载 this.$refs.audio.load()注意如果,src跟本项目地址IP端口协议不同,会出现跨域问题。audio标…...
Leetcode—485.最大连续1的个数【中等】明天修改
2023每日刷题(十五) Leetcode—2.两数相加 迭代法实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l…...
JavaWeb 怎么在servlet向页面输出Html元素?
service()方法里面的方法体: resp.setContentType("text/html;charsetutf-8");//获得输出流PrintWriter对象PrintWriter outresp.getWriter();out.println("<html>");out.println("<head><title>a servlet</title>…...
Spring及SpringBoot中AOP的使用
Spring中AOP示例 <dependencies><!--Spring核心包--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.3.6</version></dependency><!--引入SpringBean--&…...
cmake多目录构建初步成功
目录和代码和 首次cmake 多目录构建失败 此文一样; 只有一个CMakeLists.txt; cmake_minimum_required(VERSION 3.10) project(mytest3 VERSION 1.0) include_directories("${PROJECT_SOURCE_DIR}/include") add_executable(mytest3 src/main…...
idea插件(一)-- SequenceDiagram(UML自动生成工具)
目录 1. 安装 2. 默认快捷键 3. 操作说明 4. 导出为图片与UML类图 4.1 导出为图片: 4.2 导出 UML 类图 SequenceDiagram是从java、kotlin、scala(Beta)和groovy(limited)代码生成简单序列图(UML&…...
STM32 APP跳转到Bootloader
stm32 app跳转到bootloade 【STM32】串口IAP功能的实现,BootLoader与App相互跳转 STM32 从APP跳入BootLoader问题...
[RISC-V]verilog
小明教IC-1天学会verilog(7)_哔哩哔哩_bilibili task不可综合,function可以综合...
Log4j-tag丢失
一、引言 最近有个线上日志丢失tag的问题,是组内封装了后置请求的拦截器把请求的响应结果存到ClickHouse里面去,但是日志总有一些tag丢失。 作者提出父级线程的threadlocal被清空,同事认为可能是threadlocal的弱引用在gc的时候被回收。两种想…...
代码随想录算法训练营第五十六天|1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划
1143. 最长公共子序列 int longestCommonSubsequence(char * text1, char * text2){int len1 strlen(text1);int len2 strlen(text2);int dp[len11][len21];for (int i 0; i < len1; i){for (int j 0; j < len2; j){dp[i][j] 0;}}for (int i 1; i < len1; i){f…...
虚拟机和Windows的文件传输
拖拽/复制粘贴 直接将虚拟机linux系统的文件拖曳到windows桌面,或者直接将windows的文件拖曳到虚拟机linux系统当中,可以实现文件传输。当然复制粘贴方式也可以,但是前提是需要下载安装好VMware tools。 共享文件夹 概念:在Win…...
leetcode分类刷题:二叉树(八、二叉搜索树特有的自顶向下遍历)
二叉搜索树是一个有序树:每个二叉树都满足左子树上所有节点的值均小于它的根节点的值,右子树上所有节点的值均大于它的根节点的值;利用该性质,可以实现二叉搜索树特有的自顶向下遍历 700. 二叉搜索树中的搜索 思路1、自顶向下的遍…...
Vue 插槽 组件插入不固定内容
定义好一个组件,如果想插入图片或视频这非常不好的控制应该显示什么,这个时候可以使用插槽插入自定义内容 默认插槽 <Login><template><h1>我是插入的内容</h1></template></Login >组件 <slot></slot>…...
webpack打包时配置环境变量
webpack打包时配置环境变量 一、常规环境变量配置1. 使用webpack.DefinePlugin定义全局常量2. 在Vue静态页面中使用该环境变量 二、纯静态文件配置环境变量1. 使用npm或yarn安装html-webpack-plugin2. 在Webpack配置中引入并使用插件3. 使用htmlwebpackplugin.options方式配置环…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
