ホームページ  >  記事  >  バックエンド開発  >  Python テクノロジー スタックとツール構成の詳細な紹介

Python テクノロジー スタックとツール構成の詳細な紹介

黄舟
黄舟オリジナル
2017-05-07 11:09:113141ブラウズ


開発環境

Editor

  • vim / SublimeText2 / PyCharm
    vimからPyChramに変換して使いました。統合開発環境はオートコンプリートやワンステップデバッグなどの機能が充実しており、作業効率の向上に貢献します。

ローカル環境

  • pip/easy_installパッケージ管理

  • viertualenv + virtualenvwrapperライブラリ/バージョン管理、環境分離

  • ipython/ipdb

プロジェクト開発

管理ツール

  • git

WebFramework

  • Tornado: 非同期、高パフォーマンス、最新バージョン 4.0。

  • Flask: 軽量! 開発用にさまざまなコンポーネントを柔軟に組み合わせることができ (サードパーティ製コンポーネントが豊富です)、シンプルかつ効率的で、迅速な開発と保守が容易です。

  • Django: 少し重いですが、多くの構成と規約があり、いくつかの「管理」バックエンドを迅速に開発できます。
    Python Web フレームワークも多数あり、現在はこの 3 つが主流です。現在仕事で使用しているTornadoは非常に優れた性能を持っています。

ORM

  • SQLAlchemy: 標準。

  • pymongo: mongodbにアクセスします。

  • peewe: 軽量の ORM で、理解しやすく、実稼働環境では一度も使用されていません。

データベース

SQLなし:

  • redis キャッシュ/永続性/特別な要件 (カウント - ランキング - タイムラインなど)

  • memcachedクラスター、主に時間制限付きキャッシュに使用

  • mongodb

分散ストレージ

  • HDFS: hadoppの生態

  • Hive: 分析ログ

メッセージキュー

  • RabbitMQ: Python での pika 操作。 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、Alibaba Cloud、Azure、Kingsoft Cloud。

  • プライベート クラウド: Baidu のプライベート クラウドは適切に構築されており、分散ストレージと仮想化の分野で業界をリードしています。

開発環境

Editor

  • vim / SublimeText2 / PyCharm
    vimからPyChramに変換して使いました。統合開発環境はオートコンプリートやワンステップデバッグなどの機能が充実しており、作業効率の向上に貢献します。

ローカル環境

  • pip/easy_installパッケージ管理

  • viertualenv + virtualenvwrapperライブラリ/バージョン管理、環境分離

  • ipython/ipdb

プロジェクト開発

管理ツール

  • git

Web フレームワーク

  • Tornado: 非同期、高パフォーマンス、最新バージョン 4.0。

  • Flask: 軽量! 開発用にさまざまなコンポーネントを柔軟に組み合わせることができ (サードパーティ製コンポーネントが豊富です)、シンプルかつ効率的で、迅速な開発と保守が容易です。

  • Django: 少し重いですが、多くの構成と規約があり、いくつかの「管理」バックエンドをすぐに開発できます。
    Python Web フレームワークも多数あり、現在はこの 3 つが主流です。現在仕事で使用しているTornadoは非常に優れた性能を持っています。

ORM

  • SQLAlchemy: 標準。

  • pymongo: mongodb にアクセスします。

  • peewe: 軽量の ORM で、理解しやすく、実稼働環境では一度も使用されていません。

データベース

  • リレーショナルデータベース: mysql

SQLなし:

  • redisキャッシュ/永続性/特別なニーズ(カウント-ランキング-タイムラインなど)

  • memcachedクラスター、主に使用される期間限定のキャッシュ用

  • mongodb

分散ストレージ

  • HDFS: hadoppの生態

  • Hive: ログの分析

メッセージキュー

  • RabbitMQ : Python での pika 操作。 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

プロジェクトのデプロイ

サーバー
  • nginx、主に負荷分散、逆生成などに使用されます。
  • uWSGI、Djangoのデプロイに使用されますプロジェクト。
  • gunicorn は、Flask プロジェクトの実行に使用される UNIX 用の Python WSGI HTTP サーバーです

  • 運用および保守管理

saltstack: エイリアス、saltスタック。自動化された運用および保守ツール。

  • puppet: この製品は Ruby で開発されており、Baidu と Xiaomi によって大規模に使用されています。

  • ファブリック: 自動デプロイメントに使用されます。

  • スーパーバイザー プロセス制御システム。さまざまなプログラム、プロセス監視、自動再起動などを設定および管理します。

  • スリーパーティライブラリ

🎜requests人間用のHTTP、非常に使いやすく、強くお勧めします🎜🎜🎜🎜Beautifulsoupはurllib2またはリクエストで使用できますシンプルなキャプチャのためのライブラリ 分析作業🎜🎜🎜🎜scrapy は非常に優れたスクレイピングフレームワークであり、複雑な要件を持つ大規模なスクレイピングタスクに適しています🎜🎜🎜🎜その他🎜🎜フロントエンドの基本🎜🎜🎜🎜 html、css、javascript、jquery、ブートストラップ、angularjs、react、vue.js。バックエンドエンジニアとして、フロントエンドの基本的な知識を理解することも必要です。現在の仕事では、bootstrap+angularjs を使用してバックエンド管理システムを開発しています。 🎜🎜🎜🎜ソフトウェアエンジニアリング🎜🎜🎜🎜デザインパターン: PythonはJavaの無限のデザインパターンとは異なりますが、基本的なデザインパターンも使用されます。コンビネーション、シングルトン モード、デコレーター モード、ファクトリー モードがよく使用されます。 🎜🎜🎜🎜RESTfulなインターフェース。 🎜🎜🎜🎜MVC🎜🎜🎜🎜テスト:単体テスト、パフォーマンステスト。 🎜 比較がある場合にのみ違いが生じます。他の人のコードを見て、改善するためにそこから学びます。 🎜🎜🎜🎜クラウド コンピューティング🎜🎜🎜🎜ビッグ データ: Hadoop エコシステム。 🎜🎜🎜🎜仮想化: Docker、KVM、OpenStack。 🎜🎜🎜🎜パブリッククラウド: AWS、Alibaba Cloud、Azure、Kingsoft Cloud。 🎜🎜🎜🎜プライベート クラウド: Baidu のプライベート クラウドは適切に構築されており、分散ストレージと仮想化の分野で業界をリードしています。 🎜🎜🎜

以上がPython テクノロジー スタックとツール構成の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。