2017技术总结

去年主要做了两件小事。
其一是从0到1完成了公司项目的devops部分的搭建以及前后端分离(django+vue)方案的设计.(包括gitlab ci ansible 等工具的使用)
包括前端跨域问题的解决,前端开发环境跨域问题的解决等等。

另外一个,是以一己之力搭建起了一个任务调度系统。期间换了n种方案,也曾经考虑过使用阿里云的函数计算。但最终考虑到可靠性的问题,放弃了。

其中用到了celery docker rabbitmq redis flower,很多东西都是第一次使用。现在想来,其实也没这么难。都是直接看英文文档,文档里都说得很清楚。其中遇到了一些坑,也都解决了。

一些思考:
1,celery并不这么优秀,虽然当时足够用了,但是感觉上没这么好。最好的方案应该是自己造轮子,但是考虑到当时的人力成本不那么够。
2,Python的并发并行主要使用 threadmultiprocessing。thread 因为GIL的原因并不这么好用。对于CPU消耗性的任务来说,只可能选 multiprocessing。
3,很多东西还是直接看英文文档就够了,中文翻译的大部分都是老旧的东西、翻译质量也很难保证。
4,Python这门语言的各种trick其实没啥意思,考虑到可读性的话其实用不用无所谓。

TODO:
0, 去年帮前端写过一个vue上传组件。这让我感觉现今的流行框架实在是太恶心了,明明jq几行就能搞完的东西,竟然可以让一个做了好几年前端的同事debug两个礼拜找不出de不出来。我花了一天学vue,又在github上找了半天找到一个用到这个组件的项目拆了半天,又debug了半天才完成这个上传组件。现有的框架在设计上肯定有问题的,我现在说不好这种设计有什么问题,但是从用户的角度上来看,各种体验其实并没有这么好。

1, 前端唯一一个让我感兴趣的部分就是富文本编辑器了。但是我实在是不知道该如何着手去做这个东西。所以就搁置了。T_T
2, devops还是不错的,提高了效率、节省了很多时间。应该大力推广才是。
3,我现在有兴趣的事情大概是朝着更难的方向去做吧。比如造个任务调度的轮子。(参考xxl-job)
4,最后吐槽一下阿里云的各种产品一点都不友好啊,有的居然不支持Python3,有的各种bug,自己改包。。。。