天津的冬天还真是冷呢,竟让来自哈尔滨的我丝毫没有感受到南方的温暖。
伴着新年的氛围,一起回忆 2019
年都经历了什么吧。
今年的桌面重构了不下五次,怎么整都感觉放不下,这是最终的桌面效果,感觉还挺舒服的。
左边写代码,右边浏览器,中间 iPad
看网课,手机就是用来接诈骗电话的。
说起诈骗电话,大家校招时谨慎填写个人信息,部分招聘网站会泄漏电话、邮箱等信息。
之前使用 Hexo
写博客,因为没有备份数据,导致 Linux
炸掉后所有数据都没了,从此明白了“双”的智慧。
多一次不是冗余,是保险。
我在 Excel
中详细记录着每一笔资金动向,同时也在 Web
软件中记账,计两次,保障高可用,数据同时丢失的概率很小。
管理小孩们给甲方录单词,两人一组,一个人录,一个人审,下一单元反过来,这才有了高准确率,两个人同时错的概率很小。
私有笔记云,本地数据备份,同时实时上传到 iCloud
, Mac
和 iCloud
机房同时炸的概率为 0
。
Github
上的 Project Activity
曲线彰显了忙碌的一年。
项目总结:翘课重构 alice
(脑电波),迷之需求 apply
(周一要),地铁高峰 huasoft
(第二站),绝对安全 exam
(先上线)。
今年在 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<ResponseEntity<void>>
,保证不报错。
这个秋天,除了猪肉,就是微服务。很自信微服务学得还是不错的。
学习算法,这个就算了。书都被我拿来垫显示器了,等我什么时候能看懂的话再学吧,但书真的是好书。
锻炼身体, 2019
年 12
月 28
日,踢球继续。
最近养成了“写批注”的好习惯,这个传统要一直地传承下去。
目标一:读书。《深入理解 Linux
内核》、《图解 TCP/IP
》,无论什么时候,基础永不过时。
目标二:开源组件。以前就觉得自己写得肯定没有已有的仓库写得好,最近发现其实有的组件用着很难受,并且从零开始搭架子太浪费时间了,所以趁着自己有时间的时候,维护自己的开源组件,提高效率。
目标三:锻炼身体。
目标四:未知的第二兴趣。
想要培养一个新的爱好,能够满足精神世界,让自己更快乐。
加油,奥利给!
2020
年的前夕,秉烛夜游,明月楼头。新的一年,新的开始!
本文参与了 SegmentFault思否征文「2019 总结」 ,欢迎正在阅读的你也加入。