2. 技术

我的目标是开发效率更快。只有更快,才能更好。faster and faster。

Python是一个“万金油”式的开发语言,非常强大。作为一个python工程师,需要将注意力集中到应用中去。 这点与C++这类运行高效开发低效的语言有很大的差别,C++工程师往往能够成为某方面的专家,专门去研究细节。而python工程师往往是多面手,啥都能做。

自从使用python后,我一般不再摸c++了, 因为我不想掉进细节的深渊,也不想成为专家。python干脆,简练的风格给我带来了莫大的快乐。我只想专注于做事,那些反人类的编程细节,让专家去做吧。

2.1. 职业规划

  1. python web开发全栈。
大多数的python web开发人员前端都非常薄弱,而我关注的是整个网站,近一年来,我从前端上获得了很大的突破,使得开发网站速度极快。一个人能够把控前后端。
  1. 数据挖掘,机器学习,自然语言处理等。

    我曾经花费了三年时间研读了数学系的书籍,对数学有较普通人更深的认识。这使得我在数据挖掘,机器学习,自然语言等方面有很大的可能性。我想在这方面多些实践,累积经验。

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开发上继续走下去的欲望,否则可能我会完全转向数据处理行业。