引言
天津的冬天还真是冷呢,竟让来自哈尔滨的我丝毫没有感受到南方的温暖。
伴着新年的氛围,一起回忆2019
年都经历了什么吧。
重构桌面
今年的桌面重构了不下五次,怎么整都感觉放不下,这是最终的桌面效果,感觉还挺舒服的。
左边写代码,右边浏览器,中间iPad
看网课,手机就是用来接诈骗电话的。
说起诈骗电话,大家校招时谨慎填写个人信息,部分招聘网站会泄漏电话、邮箱等信息。
双的智慧
之前使用Hexo
写博客,因为没有备份数据,导致Linux
炸掉后所有数据都没了,从此明白了“双”的智慧。
多一次不是冗余,是保险。
我在Excel
中详细记录着每一笔资金动向,同时也在Web
软件中记账,计两次,保障高可用,数据同时丢失的概率很小。
管理小孩们给甲方录单词,两人一组,一个人录,一个人审,下一单元反过来,这才有了高准确率,两个人同时错的概率很小。
私有笔记云,本地数据备份,同时实时上传到iCloud
,Mac
和iCloud
机房同时炸的概率为0
。
项目管理
Github
上的Project Activity
曲线彰显了忙碌的一年。
项目总结:翘课重构alice
(脑电波),迷之需求apply
(周一要),地铁高峰huasoft
(第二站),绝对安全exam
(先上线)。
ps:翘课的前提是这门课你都会,去上课就是浪费时间。
Github 2019
今年在Github
贡献2,586
点,同比去年的1,343
点增长92.554%
,效率翻倍。
12
月9
日,全年最高,贡献58
点。
最近发现我们小组在Github
上开源的实验有人fork
,百度地图与智能收费算法足够压轴的了,为了不被骂,顺手更新了一下README
。
更新项目的时候发现bower
实在太慢了,就按照官网的教程升级到yarn
,yarn
与npm
同源,实践中发现,部分依赖在bower
上与在npm
上的项目名与版本号不同,依赖实在是太多,修改成本高,最终放弃,在README
中说明可能遇到的问题与解决方案。
设计模式
今年的一大收获就是遇到了多种设计模式的应用场景。
不同条件创建对象,就是工厂模式(SMSServiceFactory
)。
拥有对象,未获悉创建方式,并添加功能,就是装饰器模式(final logger
)。
拥有类,并添加功能,就是代理模式(LimitQueue
)。
全局配置,单例模式。类加载时数据ready
,饿汉模式(Configuration
);类加载时数据不ready
,懒汉模式,我还自豪地使用了私有内部类Holder
替代双重校验锁实现(Holder
)。
订阅与通知,观察者模式。
秋招
挺顺利的,苏州的工作,上海的工资,远离996
。
计算了我在Github
上的代码行数。
Project | commit | Additions |
---|---|---|
courseManageSystem | 44 | 3,030 |
beautifulArticle | 197 | 5,907 |
instrument | 208 | 63,035 |
alice | 57 | 58,426 |
checkApplyOnline | 23 | 16,049 |
huasoft | 483 | 124,110 |
exam | 351 | 32,771 |
总计 | 1,363 | 303,328 |
30
万行代码只是为了让我的总结更有指导意义。
如果你是真的热爱一门职业,千万不要把它当成工作,生活的压力会让人在他最擅长的领域受挫、甚至违心,最终厌倦、放弃。
我没有名人的经历,更没有鲁迅的文采,我只是站在一个普通人的角度,总结自己的过去,希望那些与我志同道合,因为996
而被迫离开互联网行业的人不要放弃梦想,我坚信no dream, no idea, no code
,没有梦想的代码是失去灵魂的。
no dream, no idea, no code
,我将这句话送给所有热爱代码的人,同时也作为我Github
的签名,来唤醒被埋没的梦想。
新技术
今年的技术可多了,让我们整理整理。
我们启用了前端三大框架之一的Angular
,TypeScript
让类型更规范,分包加载,让应用启动更快。
第一次商用TypeScript
小程序,腾讯照搬的Angular
。
通过与C++
的交互学会了JNA
,同时了解了过去从没听说过的C++
新数据类型。
NIO
的Spring Cloud Gateway
,内网的JWT
,认证的OAuth
,授权的Spring Security
,分布式的Spring Session
,最佳实践的Junit 5
单元测试。
微服务,RPC
与消息队列,负载均衡,虽然我们目前还没有完全过渡到该架构,但目前的积累足够我们在微服务架构上取得优异成绩。
Github Actions CI
,尝试了一下,生态还不够完善,感觉对docker
的支持不够好,目前应该还没有Travis
好使。
同时还有我们些没有启用的技术(都是大厂的同学分享给我的),服务器监控Glances
、Jenkins CI
,或许这些工具有我们目前所未知的优点吧!
任务完成情况
去年的总结给自己制定的目标:
- 优秀地实现
Android
实验 - 学习
Spring Cloud
及相关组件 - 学习流行的算法
- 锻炼身体
目标完成情况
Android
实验采用RxJava
、RxAndroid
、Retrofit
等多种主流开源框架实现,同时也明白了为什么许多API
设计都不直接使用状态码,而是{code: 0, data: {}, message: 'xxxx'}
的形式,应该是RxJava
的问题,如果观察void
时,会报错,因为void
相当于没有数据,怎么通知呢?当时研究了好几天也没整出来,最终放弃了,所以不得不保证每个接口返回的http
数据都包含body
。前台Observable
,保证不报错。
这个秋天,除了猪肉,就是微服务。很自信微服务学得还是不错的。
学习算法,这个就算了。书都被我拿来垫显示器了,等我什么时候能看懂的话再学吧,但书真的是好书。
锻炼身体,2019
年12
月28
日,踢球继续。
新年目标
最近养成了“写批注”的好习惯,这个传统要一直地传承下去。
目标一:读书。《深入理解Linux
内核》、《图解TCP/IP
》,无论什么时候,基础永不过时。
最近公司也发来了所有软件开发岗位员工入职前必读书单,都是基础书籍,开始补基础。
目标二:开源组件。以前就觉得自己写得肯定没有已有的仓库写得好,最近发现其实有的组件用着很难受,并且从零开始搭架子太浪费时间了,所以趁着自己有时间的时候,维护自己的开源组件,提高效率。
目标三:锻炼身体。
目标四:未知的第二兴趣。
想要培养一个新的爱好,能够满足精神世界,让自己更快乐。
加油,奥利给!
2020
年的前夕,秉烛夜游,明月楼头。新的一年,新的开始!
本文参与了SegmentFault思否征文「2019 总结」,欢迎正在阅读的你也加入。