Python技术栈以及工具整理的详细介绍

黄舟
发布: 2017-05-07 11:09:11
原创
3134 人浏览过


开发环境

编辑器

  • 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,简单了解,没在生产环境用过。

数据库

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, javascriptjquerybootstrapangularjsreact, vue.js。作为一个后端工程师,了解一些基本的前端知识也是必要的。目前工作中用到bootstrap+angularjs来开发后台管理系统。

软件工程

云计算

  • 大数据: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,金山云。

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

以上是Python技术栈以及工具整理的详细介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板