视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python技术栈以及工具整理的详细介绍
2020-11-27 14:24:26 责编:小采
文档


开发环境

编辑器

  • vim / SublimeText2 / PyCharm
    用着顺手就好,我是由vim转PyChram的。集成开发环境自动补全、单步调试等功能好很多,有利于提高工作效率。

  • 本地环境

  • pip/easy_install 包管理

  • viertualenv + virtualenvwrapper 库/版本管理, 环境隔离

  • ipython/ipdb

  • 项目开发

    管理工具

  • git

  • Web框架

  • Tornado:异步, 高性能, 最新版本4.0。

  • Flask:轻量! 可以灵活组合各类组件进行开发(第三方组件很丰富), 简单高效, 便于快速开发和维护。

  • Django:有些重, 配置和约定众多, 可以快速开发一些”管理”性质的后台。
    Python Web框架也是超多,目前主流的就是这三个了。目前工作中采用的Tornado,性能卓越。

  • ORM

  • SQLAlchemy:标配。

  • pymongo:访问mongodb。

  • peewe:一个更轻量的ORM,简单了解,没在生产环境用过。

  • 数据库

  • 关系型数据库:mysql

  • No SQL:

  • redis 缓存/持久化/特殊需求(计数-排行榜-时间线等)

  • memcached 集群, 多用于有时限性质的缓存

  • mongodb

  • 分布式存储

  • HDFS:hadopp生态

  • Hive:分析log

  • 消息队列

  • RabbitMQ: python中pika操作。

  • 项目部署

    服务器

  • nginx , 主要用于负载均衡, 反代等

  • uWSGI,用来部署Django项目。

  • gunicorn a Python WSGI HTTP Server for UNIX, 用来运行Flask项目

  • 运维管理

  • saltstack:别名,盐栈。自动化运维工具。

  • puppet:这货是Ruby开发的,百度和小米都在大规模使用。

  • fabric: 用于自动化部署。

  • Supervisor A Process Control System, 配置管理各种程序, 进程监控, 自动重启等。

  • 三方库

  • requests HTTP for humans, 非常好用, 强烈推荐

  • beautifulsoup 配合urllib2或者requests库进项简单的抓取分析工作

  • scrapy 很牛的抓取框架, 适合规模较大,需求复杂的的抓取任务

  • 其他

    前端基础

  • html, css, javascript, jquery,bootstrap,angularjs,react, vue.js。作为一个后端工程师,了解一些基本的前端知识也是必要的。目前工作中用到bootstrap+angularjs来开发后台管理系统。

  • 软件工程

  • 设计模式:Python虽然不像Java里没完没了的设计模式,基本的设计模式也会用到。组合,单例模式、装饰器模式、工厂模式这几个常用。

  • RESTful 接口。

  • MVC

  • 测试:单元测试,性能测试。
    有比较才有差距,多看别人代码,借鉴提高。

  • 云计算

  • 大数据:Hadoop生态。

  • 虚拟化:Docker, KVM, OpenStack。

  • 公有云:AWS,阿里云,Azure,金山云。

  • 私有云:百度的私有云建设的很不错,分布式存储、虚拟化业界领先。

  • 开发环境

    编辑器

  • vim / SublimeText2 / PyCharm
    用着顺手就好,我是由vim转PyChram的。集成开发环境自动补全、单步调试等功能好很多,有利于提高工作效率。

  • 本地环境

  • pip/easy_install 包管理

  • viertualenv + virtualenvwrapper 库/版本管理, 环境隔离

  • ipython/ipdb

  • 项目开发

    管理工具

  • git

  • Web框架

  • Tornado:异步, 高性能, 最新版本4.0。

  • Flask:轻量! 可以灵活组合各类组件进行开发(第三方组件很丰富), 简单高效, 便于快速开发和维护。

  • Django:有些重, 配置和约定众多, 可以快速开发一些”管理”性质的后台。
    Python Web框架也是超多,目前主流的就是这三个了。目前工作中采用的Tornado,性能卓越。

  • ORM

  • SQLAlchemy:标配。

  • pymongo:访问mongodb。

  • peewe:一个更轻量的ORM,简单了解,没在生产环境用过。

  • 数据库

  • 关系型数据库:mysql

  • No SQL:

  • redis 缓存/持久化/特殊需求(计数-排行榜-时间线等)

  • memcached 集群, 多用于有时限性质的缓存

  • mongodb

  • 分布式存储

  • HDFS:hadopp生态

  • Hive:分析log

  • 消息队列

  • RabbitMQ: python中pika操作。

  • 项目部署

    服务器

  • nginx , 主要用于负载均衡, 反代等

  • uWSGI,用来部署Django项目。

  • gunicorn a Python WSGI HTTP Server for UNIX, 用来运行Flask项目

  • 运维管理

  • saltstack:别名,盐栈。自动化运维工具。

  • puppet:这货是Ruby开发的,百度和小米都在大规模使用。

  • fabric: 用于自动化部署。

  • Supervisor A Process Control System, 配置管理各种程序, 进程监控, 自动重启等。

  • 三方库

  • requests HTTP for humans, 非常好用, 强烈推荐

  • beautifulsoup 配合urllib2或者requests库进项简单的抓取分析工作

  • scrapy 很牛的抓取框架, 适合规模较大,需求复杂的的抓取任务

  • 其他

    前端基础

  • html, css, javascript, jquery,bootstrap,angularjs,react, vue.js。作为一个后端工程师,了解一些基本的前端知识也是必要的。目前工作中用到bootstrap+angularjs来开发后台管理系统。

  • 软件工程

  • 设计模式:Python虽然不像Java里没完没了的设计模式,基本的设计模式也会用到。组合,单例模式、装饰器模式、工厂模式这几个常用。

  • RESTful 接口。

  • MVC

  • 测试:单元测试,性能测试。
    有比较才有差距,多看别人代码,借鉴提高。

  • 云计算

  • 大数据:Hadoop生态。

  • 虚拟化:Docker, KVM, OpenStack。

  • 公有云:AWS,阿里云,Azure,金山云。

  • 私有云:百度的私有云建设的很不错,分布式存储、虚拟化业界领先。

  • 下载本文
    显示全文
    专题