昨天看到自己手机上wunderlist上的提示“精通python”,任务是去年同一时间建立的。那时候我才刚刚毕业,还没去单位报道,在家里找了个练手项目,逐步学习python相关的东西:爬虫、web框架、机器学习等各方面,那时候想着要是用一年的时间好好来学,应该可以达到精通的程度了。 现在回过头来看,虽然没有达到自己预想的“精通”,但这一年还算充实,至少不是虚度时光,单是针对python相关的东西,自己也是从方方面面用了不少时间来学习、练习、思考。

读好书

对于我来说,如果想要接触一门新技术,我会先去它的官网做初步的了解(主要了解它的主要用途、相关生态圈状况),然后在网上看一些关于它的一些成功应用案例,如果确定这是个不错的东西的话,我就会买上一两本评价较好的书(一只感觉要想快速掌握一门新技术的基本用法,看书是最节省时间的),当然如果没有相关书籍的话官方文档是最好的参考资料。 到现在为止,马上也快工作一年了,各类技术书籍也是没少买,不过现阶段让我学到最多的是这三本书:Python Web开发实战Python Cookbook流畅的Python。之所以说是现阶段是因为,我觉得不管是技术书籍也好还是其他各种不同类型的书籍,你在不同的时间去读都会有不同的感受。 像我这样的选手,真正使用python进行开发的时间也就一年多,缺少很多实际工作总的经验,接触到的东西也比较少,而《Python Web开发实战》这本书就恰好解决了我的很多疑惑。这本书中关于flask的一些特性相关的东西倒是其次,我比较习惯的是这本书中关于实际开发中一些像supervisor、celery这样的好工具,一些像unittest、flake8这样的一些有很大用处的库以及作者在生产环境下python项目的部署等等。 《python cookbook》则可以作为一本工具书,书中每个小节的内容基本上都可以解决在实际编程过程中遇到到很具体的问题,并且书中一些示例代码也会让我认识到什么样的代码才是更加pythonic的,不仅是提高可读性更关键的是提高代码的执行效率。在了解到生成器的好处之后,我再也不直接返回一个巨大无比的list了。 之前对《流畅的Python》这本书也是略有耳闻,在中文版出来的第一时间就入手了,虽然到现在一直也没能读完,但是我很确定这本书确实不错。和《python cookbook》有点像,这本书的作者更愿意从python标准库出发,对python数据结构、函数、面向对象、并发和元编程等各个方面有比较深入的剖析。书中的很多内容都会让我有这种“居然还有这种操作”的感觉。总之,这本书能够让自己在考虑问题的时候更多的使用python的思维方式,并且在以后的代码风格上也会尽量的按照书中所说的要求执行。

多练习

忘记是从哪里看到的这样的理论:作为一个技术人,要理解好技术二字,所谓技,可以理解为你在实际工作中一次又一次的重复的沉淀,而术则可以理解为自己在进行一项工作的时候的理论支撑,这两者也是相辅相承,而技术人的技术水平也会是一个螺旋上升的过程。 在读了很多书之后,刻意练习是必不可少的,如果工作环境恰好需要用到这项技术则最好,如果没有这样的条件,自己在生活中可以找多很多好点子可以通过自己的技术来实现。还是不得不说,奇妙清单/wunderlist是一款很不错的应用,可以实现多端同步,我经常用它来记录自己突然闪现的灵光。在有了自认为比较好的点子之后,就可以逐步细化实现方式,然后就可以动手开干。

一些想法

我自己的梦想是成为一个真正的全栈程序员,从设计、前端到交互、后端,然后可以自己在家办公,不用打卡上下班。现在看来好像还差的比较远,那就先定个小目标吧:在年底之前,巩固自己现有的技术栈:vue + python + mongodb,能够在有明确需求的情况下在最短的时间内满足需求。另外,好的工具能够有效提升生产力,好的工作流程也能减少自己在不必要地方的时间开支,自动化测试/部署也是下半年工作的一个重点。另外就是要养成总结的习惯,所以以后每个月至少更新三篇博客。