首页 > 代码库 > 2016年终总结

2016年终总结

整理一下今年做的事情:

工作:

1. IM通讯平台
完全基于Erlang重新设计、从头开始编写。主要功能,多终端消息、已读未读、历史记录完全同步,富文本,好友关系,群组、讨论组,二人、多人音视频。实现灵活自动化部署、日志收集分析、监控报警,全用例覆盖自动化测试脚本。
投入了120%的精力。SDK部分得益LUA实现和代码生成脚本,相对开发工作量较低,即使是在提供Android/iOS/Windows/Nodejs(Windows&Mac)/WebJs 5个平台版本,只需要付出1个平台脚本编写的成本。
前5年一直从事IM后台开发,但更多的只是在小心翼翼的维护一坨"老家伙",重在求稳。终于有机会从头开始,前期花大量精力从分析研究微信、Telegram、Whatsapp等IM协议设计,到查找技术分享、分析猜想服务器设计。主导重新设计协议、平台架构,想办法把事情有最简单是的方式优雅漂亮的实现。没做好,也敢于推到重做,群组协议因为总有些别扭,平台和测试脚本都几乎重新了三遍才好。好的设计肯定是带着美感的,什么事情都不能将就。
CodeReview 使用PH的先Review后提交方式,当然推行初期可能不很乐意,但坚持一段时间后效果真的很好。如果没有Review真不敢想代码会有多烂。开始看Review可能要占掉30%+的时间,大量批注反复修改,看写的代码就能知道一个人的开发水平高低、性格、优缺点、有没有追求,当然尽量提醒改进,想改进只很多时候只是一厢情愿,最后还可以为合适的人安排合适的事情。

2. 音视频引擎
Android/iOS/Windows 三个平台,Android倒很熟,iOS和Windows完全新手了。对自己来说都是新的领域吧,C++/OC/NDK/OpenGL/MFC/D3D ...。占用不到30%精力,生扛差不多一个月把webrtc整体流程及各个平台大概整明白了。主要开发工作是偏feature的,比如实现CVO(Coordination of Video Orientation)、调整视频质量、iOS下VideoToolbox硬件编码支持、调整d3d图像或绘制、截屏等等。但对于真正难点,音频通话质量方面,后还是需要花很大精力才能啃下来。

3. 其他

- 区块链 分析了比特币、以太坊、IPFS、Lighting Network技术实现

   受限于纯分布式网络在广域网只能实现10~20 TX/s 不实用;最多是联盟链应用大机构之间的交易,比如银行。

- 物联网 开发很简单,就芯片适配麻烦

人工智能 对于成熟框架不知其所以然,但已经会用了

 

总体上:

今年来从原来纯服务器,到各个平台的端、包括硬件芯片都撸一遍,外加音视频、GPU绘制、深度学习,也挺平顺的,技术上也都能很好的Hold住,基本没啥遗留问题了。

以前是一个方向的深度,现在是扩大广度,另一方世界,就算在回到平台开发设计时,能够更全面的评估各个细节,做出更合适的方案。

再者就是遇到不了解技术,不在犯怵,大多相通的,花些精力就能搞定,大不了死磕,没啥搞不定的。

 

 

学习:

上半年基本都在工作,从关注得到李笑来的《通往财富自由之路》,开始意识到这种状态不行,需要给自己预留些关注力。

1. 得到:1.通往财富自由之路 必看,2. 万维刚 精英日课 基本全听了 3. 王煜全 前哨 太多听不过来

2. 熊猫书院: 微信订阅,每周1本书,开始每天看周末考试,现在只看喜欢的书

3. 英语:先被单词,想要提高一下英语,被一些事情耽误,下周要开始继续

 

2017重点:

1. 英语词汇

2. 人工智能,先听完课程,复习数学,算法

3. 通往财富自由之路

4. 多看书,各种书

 

2016年终总结