背景
我是出来工作的时候开始学习python,因为职业需要(处理数据),所以开始接触。后来的事务安排变化较多,用python做过很多事情,从现在这个节点看。不同的学习资料(书籍)对于我在不同方面的成长不是一样。因为python的实际用途又很多,业务领域包括数据建模、数据仓库、数据分析等,技术领域有云原生、自动化运维、服务端、算法、爬虫等,下面我会分在各个领域对于我在实践领域有帮助的书籍。
· 基础编程
入门级别的语法、常见编程报错肯定是技术博客更有用,毕竟阅读量是摆在这的,通俗易懂,命中诉求。
慕课网-python课程列表
廖雪峰-python教程
· 进阶编程
这个其实可学可不学,最好的学习当然是直接去github浏览别人的作品,主要学习在于编程语言的习惯、高级用法、程序设计。为什么说可学可不学,主要是因为在实际的工作中,很多出于敏捷开发的(主要还是互联网行业发展得快)诉求,对于一般的开发是功能优先,质量上是有所忽视的。当然高级用法的使用是进阶必经之路,因为后续无论是系统开发、服务端开发等,越是做公共基础设施,对于代码质量、编码效率就越是不可忽视。Java界有它的核心编程(从入门到跑路),python界也有类似的书籍。
· 网络客户端(爬虫)
相信爬虫应该是很多应用开发者第一个上手的项目——麻雀虽小,五脏俱全。其后续的优化应用可以延伸到应用开发的各个领域,包括数据存储、网络技术、系统运维等。是巩固语言知识以及专业化的很好的上手应用。网络博客有很多,基础的就不介绍书籍了。
如果你是/想成为一名BI
KimBall的维度建模应该是业界最通用,也是个人实践下来最实用和完备的方法论
如果你是/想成为一名后端开发
· 劝退。。。考虑学习一下Java、C++、GO、Nodejs?
· 如果真要介绍,这个行业里面用得多的是django,flask作为后起之秀也是成功逆袭;考虑到Go、Node异步编程的各种好,tornado也在不断地发展
django book
如果你是/想成为一名运维、SRE
· fabric、paramiko,良心库推荐、简单实用易上手,各种兼容、分布式简化
如果你是/想成为算法工程师
· 在这方面经验不是很深,从我的观察里面,从原材料(数据)区分,(业界很多是基于学习方法)主要有两个大的部分构成,一方面是基于结构化数据——推荐、排序,一方面是基于非结构化的文本数据——自然语言处理。主要用到的(在python领域)有机器学习、神经网络,所以从这两个角度,以下两本(在实践方面)还是得看看
· 主流模型是GBDT、xgboost、CNN、RNN(以及基于此的textCNN、Bert),实用性强,性能好,网上材料也多也容易落地

