Hello Mr.J——唠唠叨叨年终总结(2023复刻版)

  ​想了很多天了,不知道从何开始,那就想到什么写什么吧。

​  距离上一次静下心来写写文章,已经过了不记得多久了,依稀记得上次是从一个训练营开始,然后到第二篇就零零散散的停掉了,果然我最担心的事情发生了,一边需要肝课程进度,一边需要应付公司的需求,果然就是两边都没有完全照顾好。

  ​公司的事情还算可以吧,至少领导给的年终绩效都可以,没到多好,也没有多差,疫情这几年公司也是不咋挣钱,能正常发工资已经算可以的了。这段时间也是自己找事做的情况多一些,产品始终招不上来,让别的部门兼管能负责到哪里去,所以当时把一个历史遗留问题的大而全的服务做了一次拆分,按照领域驱动设计(DDD)的理念做了服务拆分。

​  这个服务我有个良好的形容,这块业务一个部门负责,那边一个部门负责,这个服务就是“剩下的都放到这里吧”。拆分的途中我就发现,其实一开始设计的也算按照领域划分的,只是因为后续功能的迭代,有些东西单起一个服务没必要,那先放到这里吧,然后别人一看,上一个人都放了,那我也放,就这么一点一点变成了一个臃肿的服务。

  ​而在拆分的过程中,我也发现一个问题,就是当一个落地的实现接近它的理念,但是和理念有一定偏差的时候,很难觉得是哪里不对。一个形容就是,我想实现一个正方形,但我最终得到了圆形,那我一眼就能看出来哪里不对;但是如果我最终得到的是正方形缺个角,当我对理念的认知不够的时候,我就会觉得这是个90%的正方形了,剩下的10%我们想办法解决吧。

​  后来接触了公司重点项目,也算是在疫情背景下被迫的吧,一个没有好的解决方案的折扣计算,大概就是从先生成所有的可用折扣方案,之后计算出一个最优的组合价格。1.0版本设计的dfs方式查找最优解,这么说吧这接口当时设计的是40秒超时,稍微复杂一些就10分钟起算,最狠的一个case是n个900多万的list,直接jvm溢出。既然既然接手了,打印每一个方法耗时,慢慢的优化一次循环中纳秒级别的代码,再细扣每一个数据结构,设计了一个比较好用的贪心算法,第一次把剪枝深度优先查找运用,这个功能从1.0的演示不通过,变成了一个可以抗住5w用户同时购票的线上可运行方案,虽然哥们的感受是恶心的,但是收获也是巨大的。

​  经过这些东西的折磨,感觉提升最多的是心态,知识上却总感觉自己越来越无知,感觉看点什么技术文章都有些不懂的,都要多看两眼,确实需要把博客重新拾起来再从零开始了。

​  说起这个从零开始系列,学东西倒是也没停,java训练营看完之后,又买了个大数据的训练营,而这个学的也挺曲折的,大数据的软件都得部署吧,但是公司不让用虚拟机软件,一开始的想法是用docker部署,然后网上翻了个遍,用docker的实在是少,比如 Hadoop,官方的镜像没有详细的说明,用的更多的是bde2020或者其他人自己打包的镜像,而且大多数都是Hadoop2版本,即使有3版本也大概是3.1左右的,但是我的电脑是m1的,3.3.1之后才支持,没得办法之后只能自己打包镜像,自己学着写dockerfile,结果打包的镜像没法通过compose配置成集群。

  ​自己写dockerfile这条路走的有点难,就妥协成周末安装虚拟机,周一到周五把虚拟机删了。

  ​后面学到hive,要安装tez引擎,tez还没支持到3.3,只能干看着了,最后看spark,flink的时候感觉舒服多了,终于是有点熟悉的东西了,感觉spark更多的用于spark sql,flink更多用于实时流。

​  数据分析还没学完,也是想通过多写数据分析来练习python的编程习惯,不能老是带着java的东西去学,也是作为切入机器学习深度学习的前置课程吧,相关的书买了一大堆,基本都没怎么看完,希望学完这个课之后,能降低看书的门槛吧。

  最后,说说游戏方面吧,去年通关了只狼,这游戏真的很棒,非常非常锻炼人的心态,操作容错率低,到后面就是学习boss的攻击节奏,每一种抬手、变招、应对方式,去了解手上每个道具的合理用法,不怕失败,不惧重来,一直在变强的不是角色,而是屏幕前的玩家。到最后赢得和苇明一心的决斗,长舒一口气,放下手柄,感觉窗外的阳光都更加明亮了一些,再回顾一下这趟旅程,值得回忆的画面也都是失败几十次之后的那场胜利。

​  还是要写个结尾吧,那就用这两年看ti的感受吧————可以失望,不能绝望。

古德拜~

你可能感兴趣的:(个人总结,程序人生)