Maison  >  Article  >  développement back-end  >  Introduction détaillée à la pile technologique Python et à l'organisation des outils

Introduction détaillée à la pile technologique Python et à l'organisation des outils

黄舟
黄舟original
2017-05-07 11:09:113120parcourir

Utilisation Simplifiez-vous les choses, j'ai converti de vim en PyChram. L'environnement de développement intégré dispose de bien meilleures fonctions telles que l'auto-complétion et le débogage en une seule étape, qui contribuent à améliorer l'efficacité du travail.


Environnement local

gestion des packages pip/easy_install

  • viertualenv + bibliothèque virtualenvwrapper/gestion des versions , isolement de l'environnement

ipython/ipdb

  • développement de projets

    outils de gestion
  • git
  • Web
  • Framework

Tornado : asynchrone, hautes performances, dernière version 4.0.
  • Flask : léger ! Il peut combiner de manière flexible divers composants pour le développement (les composants tiers sont abondants), il est simple et efficace, et facile à développer et à maintenir rapidement.

Django

: Un peu lourd, avec beaucoup de configurations et de conventions, on peut rapidement développer quelques backends de "gestion".
    Il existe également de nombreux frameworks Web Python, et ces trois-là sont actuellement les plus courants. Le Tornado actuellement utilisé dans mon travail a d'excellentes performances.
  • ORM
  • SQLAlchemy : standard.
  • pymongo : accédez à
    mongodb

    .

peewe : Un ORM plus léger, simple à comprendre, jamais utilisé en environnement de production.
  • Base de données
  • Base de données relationnelle

    :
  • mysql
Pas de SQL :

memcached

cluster, principalement utilisé pour le cache à durée limitéemessage

Queue

  •  :
  • opération en python.

Déploiement de projet

Serveur

  • , principalement utilisé pour l'équilibrage de charge, la génération inverse, etc.RabbitMQpika

, utilisé pour déployer des projets Django.

    un serveur HTTP Python WSGI
  • pour

    UNIX, utilisé pour exécuter le projet Flask nginx

  • Exploitation et maintenance gestion

    uWSGI

  •  : Alias, pile de sel. Outils d'exploitation et de maintenance automatisés.

    gunicorn

     : Ce produit a été développé en Ruby et est utilisé à grande échelle par Baidu et Xiaomi.

     : utilisé pour le déploiement automatisé.
  • saltstack

  • Un système de contrôle de processus, configurez et gérez divers programmes, surveillance des processus, redémarrage automatique, etc.
  • puppet

    Bibliothèque tripartite
  • fabric

    HTTP pour les humains, très simple d'utilisation, fortement recommandée
  • Supervisor

    Coopérer avec urllib2 ou la bibliothèque de requêtes pour un travail d'exploration et d'analyse simple

    Un excellent framework d'exploration, adapté aux tâches d'exploration à grande échelle avec des exigences complexes
  • requests

    Autres
  • Bases du front-end

    beautifulsoup

  • html, css,
  • javascript

    , scrapyjquery

    ,
  • bootstrap
,

angularjs

,

react

, vue.js. En tant qu’ingénieur back-end, il est également nécessaire de comprendre certaines connaissances de base du front-end. Dans mon travail actuel, j'utilise sont couramment utilisés.

  • Interface RESTful.

  • MVC

  • Tests : Tests unitaires, tests de performances.
    Il n'y a de différences que lorsqu'il y a comparaison. Regardez les codes des autres et apprenez d'eux pour vous améliorer.

  • Cloud Computing

    • Big Data : écosystème Hadoop.

    • Virtualisation : Docker, KVM, OpenStack.

    • Cloud public : AWS, Alibaba Cloud, Azure, Kingsoft Cloud.

    • Cloud privé : le cloud privé de Baidu est bien construit et est à la pointe du secteur du stockage distribué et de la virtualisation. Utilisation Simplifiez-vous les choses, j'ai converti de vim en PyChram. L'environnement de développement intégré dispose de bien meilleures fonctions telles que l'auto-complétion et le débogage en une seule étape, qui contribuent à améliorer l'efficacité du travail.

    Environnement local

    gestion des packages pip/easy_install

    • viertualenv + bibliothèque virtualenvwrapper/gestion des versions , isolement de l'environnement

    ipython/ipdb

    • développement de projets

      outils de gestion
    • git
    • Web Framework

    Tornado : asynchrone, hautes performances, dernière version 4.0.

    • Flask : léger ! Il peut combiner de manière flexible divers composants pour le développement (les composants tiers sont abondants), il est simple et efficace, et facile à développer et à maintenir rapidement.

    Django : Un peu lourd, avec beaucoup de configurations et de conventions, on peut rapidement développer quelques backends de "gestion".

    Il existe également de nombreux frameworks Web Python, et ces trois-là sont actuellement les plus courants. Le Tornado actuellement utilisé dans mon travail a d'excellentes performances.

    • ORM

    • SQLAlchemy : standard.

    • pymongo : accédez à mongodb.

    peewe : Un ORM plus léger, simple à comprendre, jamais utilisé en environnement de production.

    • Base de données

    • Base de données relationnelle : mysql

    • Pas de SQL :

    mise en cache/persistance/exigences spéciales Redis (compte-classement-chronologie, etc.)

    • cluster Memcached, principalement utilisé pour la mise en cache à durée limitée

    mongodb

    • Stockage distribué

    • HDFS : écologie hadopp

    • Hive : Journal d'analyse

    Message Queue

    • :

      opération en python.
    • Déploiement de projet
    Serveur

    • , principalement utilisé pour l'équilibrage de charge, la génération inverse, etc.RabbitMQpika

    , utilisé pour déployer des projets Django.

      un serveur HTTP Python WSGI pour UNIX, utilisé pour exécuter le projet Flask
    • nginx

      Gestion des opérations et de la maintenance
    • uWSGI

       : Alias, pile de sel. Outils d'exploitation et de maintenance automatisés.
    • gunicorn

       : Ce produit a été développé en Ruby et est utilisé à grande échelle par Baidu et Xiaomi.

       : utilisé pour le déploiement automatisé.
    • saltstack

    • Un système de contrôle de processus, configurez et gérez divers programmes, surveillance des processus, redémarrage automatique, etc.
    • puppet

      Bibliothèque tripartite
    • fabric

      HTTP pour les humains, très simple d'utilisation, fortement recommandée
    • Supervisor

      Coopérer avec urllib2 ou la bibliothèque de requêtes pour un travail d'exploration et d'analyse simple

      Un excellent framework d'exploration, adapté aux tâches d'exploration à grande échelle avec des exigences complexes
    • requests

      Autres
    • Bases du front-end

      beautifulsoup

    • html, css, javascript, jquery, bootstrap, angulairejs, réagir, vue. js. En tant qu’ingénieur back-end, il est également nécessaire de comprendre certaines connaissances de base du front-end. Dans mon travail actuel, j'utilise
    • +

      pour développer le système de gestion backend. scrapy

    Génie logiciel

    Modèles de conception : bien que Python n'ait pas de modèles de conception infinis en Java, des modèles de conception de base sont également utilisés. La combinaison, le mode singleton, le mode décorateur et le mode usine sont couramment utilisés.
    • bootstrapInterface RESTful. angularjs

    MVC

    • Tests : tests unitaires, tests de performances.

      Il n'y a de différences que lorsqu'il y a comparaison. Regardez les codes des autres et apprenez d'eux pour vous améliorer.

    • Cloud Computing

    • Big Data : écosystème Hadoop.

    • Virtualisation : Docker, KVM, OpenStack.

    Cloud public : AWS, Alibaba Cloud, Azure, Kingsoft Cloud.

    • Cloud privé : le cloud privé de Baidu est bien construit et est à la pointe du secteur du stockage distribué et de la virtualisation.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn