2. 技术¶
我的目标是开发效率更快。只有更快,才能更好。faster and faster。
Python是一个“万金油”式的开发语言,非常强大。作为一个python工程师,需要将注意力集中到应用中去。 这点与C++这类运行高效开发低效的语言有很大的差别,C++工程师往往能够成为某方面的专家,专门去研究细节。而python工程师往往是多面手,啥都能做。
自从使用python后,我一般不再摸c++了, 因为我不想掉进细节的深渊,也不想成为专家。python干脆,简练的风格给我带来了莫大的快乐。我只想专注于做事,那些反人类的编程细节,让专家去做吧。
2.1. 职业规划¶
- python web开发全栈。
大多数的python web开发人员前端都非常薄弱,而我关注的是整个网站,近一年来,我从前端上获得了很大的突破,使得开发网站速度极快。一个人能够把控前后端。
数据挖掘,机器学习,自然语言处理等。
我曾经花费了三年时间研读了数学系的书籍,对数学有较普通人更深的认识。这使得我在数据挖掘,机器学习,自然语言等方面有很大的可能性。我想在这方面多些实践,累积经验。
2.2. 其他技术经验¶
数据库¶
我开发的系统都是使用的MYSQL,我对MYSQL基本的维护,以及SQL查询都有一定的经验。
开发或者维护系统时,经常会遇到修改数据库,或者查询数据的时候,我一般不会直接使用SQL,而是使用DJANGO ORM进行操作。在工作期间,我发现了能够让DJANGO ORM在脚本里面单独运行的方式,同事都说好用,把以前SQL的脚本全扔了。
前端¶
我使用Vuejs来做模块化,做到了纯粹的数据驱动。它结合了Angularjs和react的优势,去掉了很多臃肿的东西,简直是神作。这个是一个核武器,建议您试试。
现在我一般是用webpack对ES6的js文件进行打包。利用ES6文件来封装Vuejs模块,开发特别爽。
文档¶
我使用sphinx来做文档
版本控制¶
使用GIT,在windows上有tortoiseGit,linux上使用原生的git
异步队列¶
我喜欢使用celery+redis的组合。
2.3. 我的战友¶
在折腾计算机的岁月中,接触到了太多的知识。当其中有一些对我来所有特别重要的地位,是它们给予我激情和希望。我把它们当成自己最亲密的战友。
- Qt
- Qt让我学会了很多,socket通信,C++及其tool chains,真正的GUI编程,多线程,事件处理,消息循环,hybird编程,还有好多。
- C++对象模型
- 读《C++对象模型》这本书。让我爬出了c++这个大坑。而C/C++能够让你感受到计算机最核心的技术。
- python
- 接触python。不管是web开发,还是科学计算,都是我的菜,而这些都是python的地盘,而且python还有Pyqt。所以我热爱python。
- Vuejs
- 接触Angularjs,Vuejs,webpack等前端技术,等前端模块化。正是因为有了它们才让我有了在web开发上继续走下去的欲望,否则可能我会完全转向数据处理行业。