2017已逝2018已来,是时候放下包袱来好好回顾下2017做了什么,有什么收获,遗憾之处的原因是什么。2018应该怎么做才能让自己满意,才能少一些遗憾。
2017
工作
工作中所参与的项目是一个直播业务的pc客户端,用到的基础框架是:
- 绘制引擎
1. D3D
2.GDI Plus
3.GDI
D3D是一个游戏引擎,各大大型游戏都用到了d3d,支持硬件加速渲染等极大提升效率的技术。但是因为xp系统不支持d3d,所以在xp系统还是使用gdi引擎绘制。GDI+主要用来绘制透明窗口,因为webview等离屏渲染的业务需要绘制到透明窗口上(其实直接绘制到d3d上不是更好么)。
- 界面库
在引擎基础上,界面库封装了一套接口,对外提供绘制、事件通知、查询等一系列虚函数接口,业务开发主要开发控件,继承这些接口实现具体的操作,控件的配置使用xml来实现,比如字体的大小、背景图、间隔等属性。在窗口类里面的消息循环里面查询和通知各个控件。
- 业务实现
一堆控件会被配置到一个大的xml文件中,该xml文件会与一个继承自业务处理基类的义务父类相绑定,添加事件通知回调等处理机制。等到该控件需要处理事件时,会通知到该业务类实例,各个业务类之间,会通过一个业务类管理器来统一管理,可以实现业务类之间的通信。
pc端客户端未来发展方向:pc客户端的用户量是逐年萎缩的,公司一般也不会太重视这一块业务,最主要的问题是用纯c++开发业务一是效率跟web端比较低,二是灵活性较差,很多时候一个功能稍微改下需要重新发版。最近跨平台的web native框架如nw和electron很火,很好的解决了上述两个问题,而且解决了web因为获取不到电脑的原生态api导致用户体验较差的问题。这是未来趋势,一份代码,多个平台。
个人发展方向:如果坚守前端的话,精通c++的绘制引擎和web开发技术会比较吃香,退可以用c++开发web native应用的基础框架,优化性能,而且d3d可以开发游戏,大不了改行做游戏去;进可以转web端,尤其是js,在web native和小程序中举足轻重。
以上是2017年对这个工作框架的理解,遗憾是:
1. 未能把d3d等绘制引擎吃透,如果现在直接扔给我一个新的项目,问题估计不要太多,应该把代码与书籍结合起来,如果单纯的看书,效果会大打折扣;
2. 被业务给锁死,每个开发周期基本上都是在框架上堆业务代码,很少有时间去真正的改善一个绘制引擎的性能问题,光做业务对自身发展很不利,等离开这个项目组,除了一些业务开发经验,真正学到的技术真的是寥寥无几;
3. 没能实现由点打开面的突破,没有自己掌握的一个核心技术,在项目组中的位置较轻,没多少话语权;
4. 有一些代码光顾着赶速度,其实放长远一点看,其实大大的影响了开发的效率和深度,比如之前解析接口的json数据,居然是针对每一个json格式数据,都写一份解析的代码,后面用了递归遍历的方法,成功实现了一份代码解析所有格式的json数据的功能,极大的提升了开发效率,也给自己争取了更多的时间提升技术修养。
生活
在毕业一年多以后,17年学会了自驾游这一项技能,确实,租一辆车去玩会轻松许多。这一年下来,游历了乌镇、鼋头渚以及上海、南京、西安的大部分景点,故地重游会有一些不一样的收获。17年年底完成了一件大事,把婚订了,明年争取把婚结了。
可能是人越大越难交心,发现还是大学里的朋友比较多,读研究生和工作后基本上没有什么朋友,这方面确实需要改进下,多一些志同道合的朋友去分享快乐悲伤,应该是一件比较幸福的事情。
学习
买了很多专业书籍和小说,鸟哥的Linux服务器搭建、Linux内核、深度学习、*设计模式、机器学习等、、、、、、,期间学习了一些设计模式也写了一段时间的博客,但是因为对自己文笔的不满意或者是博客访问量的不满意,期间终止了两三个月的时间, 后续要把写博客的习惯坚持下去,毕竟博客是写给自己看的,访问量多与少又有什么关系呢!adrew n.g.的机器学习视频看了前两部分了,光看视频其实理解得并不透彻,还是需要多coding,多学习源代码,多看一些论文。小说方面把百年孤独、白鹿原、月亮与六便士等看完了,其实看完这些小说后,尤其是百年孤独,你会发现人真是一个神奇的动物,孙辈做的事情往往是父辈爷辈们折腾过的事情,永远在那里重复,你改变不了,只能学着去接受。
2018
工作
能更专心的工作,付出全部的努力去掌握一门核心的技术,比如机器学习和人工智能技术,多去关注一些技术的发展,要尝试着不断的改变,不要让自己陷入舒适区状态。年会上cto提到过一句话是比较认同的,如果社会上发生的变革都跟你没什么关系,那么你这个业务或者是人对公司而言就可有可无了。 虽然听起来有些极端,也不无道理,学习技术真的需要极客精神,一种追求极致的心态,极致的简洁代码、优化到极致的算法、极致灵活的框架等。
生活
生活中能多一份淡然,遇事能更理智更平静。顺利完成自己的婚姻大事。多结交几个志同道合的朋友。多一些爱好。希望自己可以在六便士和月亮之间找到一个平衡点。
学习
需保持一颗向上的学习的心,多向牛人学习,找到几个开源项目,参与到其中,提交一些核心代码。在机器学习、人工智能、数据挖掘方面,要多了解最新的技术,多学习基础技术,毕竟技多不压身。
最后祝各位2018新年快乐,狗年旺旺旺!