前言
我这个博客一直都是一些技术分享,show code的地方,我从来没有写过个人生活或者情感杂谈,当然我也从来没有谈论过我对什么东西的喜恶. 很多人喜欢喷XX语言,喜欢谈论XX和YY的优缺,甚至凑了一本不知所云的书…好吧,我觉得没有使用一门语言超过10年,没有对一个技术研究个5,6年, 不好意思说自己懂(天才除外).我也觉得我没有资格讨论什么,也许我有我的观点看法,但是我怀着怀疑的心态看自己,生怕自己理解错了. 下文纯属个人吐槽,也许没有指定路怎么走,只是希望提个醒…
使用python2年,可喜的是python被越来越多的人接受,甚至前端工程师…但是却有点烂大街的感觉:感觉出门不聊几句python都不好意思和人打招呼.但是你真的懂python嘛?
你会python真的不重要
python实在太好学习了,假如你会其它的语言,可能搞本书翻一翻,一周后就能写很高端的python程序,由于web框架的普及,你甚至可以让一个网站应用跑起来. 你会我也会,你有什么竞争力?
你知道python怎么用嘛?
在什么时候需要使用OOP?
在什么时候使用类装饰器?
你用过元类嘛?
在什么时候用静态方法什么时候使用类方法?
你了解那些管理属性? call , init , __new__都是在什么时候被触发?*__getattr__和__getattribute__应用有什么不同?
你知道标准库里面的多少个模块?你能在需要的时候知道这个功能其实标* 准库里面已经实现了?
什么时候用回调?
什么时候用signal?假如你会django你知道django的signal是什么?你了解* orm嘛?
asyncore,contextlib, functools, collections, heapq,itertools,
SocketServer, weakref,operator(知道3个就算)这些你会几个?
python的多态是什么?
在什么场景可以尝试python的设计模式中的XX(能想到2个场景就算)?
在什么时候可以使用Mixin?
在什么时候可以使用python的闭包?
你曾经用过yield嘛?生成器和迭代器的区别和应用场景是什么?
在什么可以使用python的函数式编程?
__future__模块里面都有什么定义的用法?
提笔想了这上面16点我认为体现python的东西,假如你不能有效的回答上面1/4, 好吧不要和我说你原来是会python的,踏实下来..你的路还很长.假如你回答不超过一半,我提醒你-你只是刚入行而已(这是我的角度)
假如我是一个入职后的带新人的引导者
学好git… 呵呵
假如新人还不熟悉python,python_koans是和不错的入门选择
首先就是严格的代码规范,加上团队的文化以及风格.
我会给一个任务,比如一周内写个多线程的socket命令行聊天程序,支持群组,加好友,群聊,发送文件等功能,看新人能力而定
而后把项目一部分略棘手的工作教给他,注意这里是生产环境,在他完成任务的过程中会熟悉我们的上线/code review/代码风格等东西
我希望整个团队一起贡献一个基础的公共库,包含一些常用的功能,然后新人首先学习这些东西,以后就不需要浪费时间造轮子,但是可以修改完善公共库, 这个公共库可以在新服务器部署时候直接使用pypi或者ubuntuPPA安装进来
在这里还是要推荐下我自己建的Python开发学习群:725479218,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴