我的2017
许久没有提起过笔写点什么工作总结了,记得上一次,还是2014年。
今天打开那年写的年终总结,尽管内容已很模糊,但是从笔法上依稀能看到那青葱岁月划过的痕迹。那时候,我才二十二三岁。
今年,我二十六七岁。如果说时间带走了许多青春属性的美好,但也在开怀大笑时的皱纹间流露出略带成熟特质的东西,这大概是 舍 · 得 的问题吧。渐渐地,也就学会了多一份理解,少一些埋怨;多一句赞美,少一声反对;多一点客观的思考,少一些主观的臆断。
对于一个做技术的人来说,如果十年是一个周期的话,那么我现在应该处于一个不上不下或者是中上阶段。就像一只极力洄游的鲤鱼,前路漫漫,唯有逆流而上,不停地向前,才能触及龙门,否则鲤鱼还只是鲤鱼,十年也就只是个十年。
2017,工作上的变故挺大,从璇玑项目组调度到读秒项目组。告别了从零开始、一行一行代码码起来的基金项目,也告别了某几个月连续每天超过十多个小时的工作,接手做一个名字美的不像实力派的 遇见 APP,正是这份际遇,让我有机会接触 iOS 编程范畴意外的技术知识,比如:Java、HTML、node.js、区块链等,通过对这些语言的涉猎,更加明白为什么说语言都是相通的,只要有思想、掌握了方法,实现起来只是时间问题(当然,更深层次的理解,还需要历练)。
工作
记录,使得回忆成为可能。
Java: 一门犹如马刺般稳定的编程语言。
大学时学过Java,只是上班后很少用到过,工作需要,组长( 毛老师 )说计划做一套 APP 上传、下载、升级平台和 APP 推送后台,于是我们打算用 Java 写后台。初次从 iOS 转到其它语言,离开了熟悉的 IDE,熟悉的语法,最开始还是各种不习惯,但随着对新的语言的理解,渐渐也就平衡了二者之间的关系。
一、APP上传下载
二、推送后台
一个推送服务,第三方接入后直接调用 api,实现对消息发送逻辑的封装,并提供一个消息管理后台。
iOS App推送(In House) - 小米推送
node.js: 事件驱动、异步编程的最好实践
一、APP 与 H5 交互
APP 开发中,经常会有原生页面与H5交互的逻辑,于是在原有的js模块上,补充实现了一个比较通用的模块,主要实现原生页面与H5任意跳转、传参、回调处理,减少后续的开发难度。
二、hotfix
APP 开发中,如果页面遇到严重性的bug或者急需修改某条文案以应对万变的法律法规,这时候,安卓端可以发个热修复补丁,对于原生开发的 iOS,苹果已经封杀了热修复(如:JSPatch),那么如何实现所见即所得的效果呢?答案是用 H5 页面替换。
思路:
在APP生命周期里的某个时机(比如程序刚启动时)访问一个接口,返回一个开关和H5页面的链接,如果需要替换,APP跳转到需要替换的原生页面时做个处理,让它跳转到H5页面,随即回到原生。
区块链: 极具潜力的新生物
在一个技术驱动的公司里,很有幸接触并参与开发公司的区块链项目,从零开始,在极少的文档中寻找答案,很多时候都只能阅读源码和官方示例,尽管示例在当时不一定正确(比较有意思的是,一定时间内,我们本地的修改竟和官方的几乎同步,哈哈。)。在磕磕绊绊中摸索,我们也明白了区块链的原理和流程,于是在12月初,我们的第一个版本终于上线了,目前运行状态良好。
生产环境运行效果图如下:
生活
生活不止眼前的苟且,还有诗和远方。
记得2016年给自己定下的几个目标:读书、交友、旅行……,堂而皇之地认为只是因为忙、因为各种因为,所以只是实现了一小部分。事实证明,“取乎其上,得乎其中;取乎其中,得乎其下;取乎其下,则无所得矣。”
曾经想仗剑走天涯,看一看世界的繁华。
尽管旅行的计划未完全实现,但还是想为自己点个赞,毕竟不像之前那样死宅般的存在。是的,有些风景,如果不站在合适的位置,很难体会到它的魅力;有些路,如果不启程,永远不知道它是多么美丽。
蓝天下,微风中,或结伴,或一人,逛公园,登大山,欣赏美景,释放心怀。很高兴能有机会去了趟福州,然后呢,在北京,去了北宫国家森林公园、百望山、西山国家森林公园、鹫峰国家森林公园、千灵山、法海寺、八大处和香山等等。各有各的美,各有各的趣味。
收集到的门票
单身问题
其实,总想逃避,但又不能回避这个十分敏感的问题(尤其是春节来了)。。。首先感谢我的父母,谢谢他们对我的信任,并没有像其他朋友的父母那样无休止地“催婚”(我还是对我挺有信心的,哈哈),不知从什么时候起,我们就开始被各种催,大概也许是到了该找对象的年纪了吧。最近看到一朋友发表的心情,内容大抵如此:
“终于到了被父亲催着找对象的年纪了。上个月刚协商好,半年内不要给介绍对象了。然而……今日……。我只好阴奉阳违的答应父亲(不知他看了这句话会怎么说我)。”
是的,不知道父母看到了心里会怎么想。也许在程序员的圈子里,单身挺正常的吧(嗯,假装是这样的),但看到发小的娃都能打酱油,父母操心也是挺正常的,相互理解也就不会使得这个问题变得那么敏感。其实我不太能接受那种像是在菜市场买菜似的指标式的相亲,坦白地说,如果是我,我那幼小的心灵是经受不起数次的打磨,害怕自己是为了“演出”而相亲。也许我们心里都想的是:在某个转角处的遇见,你喜欢我,我也喜欢你。是的,也许这个场景好像只在电视剧里出现过,但美好的事物不更值得期待么。
今年团建的时候,问及是否有对象时,记得有位同事说过 “以后会有的”、“有对象可能会错失很多美好”。感觉她挺睿智的,生活本来不应该就是这样么,每个阶段做该做的事,该来的总是会来,不是任何事物都可以使用催化剂,并不是使用了催化剂都会有效果。毕竟美好的事物需要等待。
生命在于运动
给自己点个赞,谢谢自己在2017年已经坚持下去。运动不仅能增强体质,还能缓解疲劳,释放压力,对意志力也是一种锻炼。虽然与2016年相比,运动量有所下降,但也在可接受范围之内。2018,继续加油!Coding不息,户外与运动不止!
2017运动成绩单工作
最后,还是回到工作上,经常有人问我写了几年代码,现在是什么感觉,每次我都是搪塞地说:还好。其实是想说 “爽歪歪,写代码挺好的呀”。虽然有时候也会茫然,有时候也会想想那个哲学问题:生命的意义。但静下心来发现,把每一行代码写好了,不就有意义了么。
每一份工作都需要精心雕琢,经验也需要积累,量变才会引起质变。也许在某一阶段会迷茫、会失望、会有挫败感,但走过来了之后,回过头来,并不觉得之前有什么不对,因为那就是青春。只要方向正确,就勇往直前。
最近看了一本书,它上面对自我(知识)资产的经营,提出了几个可借鉴性的建议,仅供参考:
1. 定期投资
2. 多元化
3. 管理风险
4. 低买高卖
5. 重新评估和平衡
点我查看详细内容
Invest Regularly in Your Knowledge Portfolio.
最后的最后,感谢公司提供了一个平台,使得我在完成本职工作的同时有接触到新鲜的事物的可能。新的一年,新的计划,希望大家都越来越好。
究竟是遗失的美好更加动人还是憧憬中的未来更让人期许?