[GO] Feuille de route d'apprentissage qui vous permet de développer et de publier des services à partir de zéro avec Python

en premier

Cet article vise à ** "Développer des services avec Python à partir d'une programmation inexpérimentée" ** Nous avons organisé les compétences à acquérir sous forme de feuille de route d'apprentissage.

** 2-3 heures par jour (+2 heures les samedis et dimanches) ** Nous avons réduit le contenu à compléter en un minimum de 3 mois si vous continuez. Vous pouvez ignorer les compétences que vous avez déjà acquises.

Puisque le flux général est le même pour d'autres langages tels que ** Ruby ** Vous pouvez simplement lire la partie qui dit Python comme Ruby.

Vue d'ensemble de la feuille de route d'apprentissage

Tout d'abord, il existe 10 types de compétences requises pour le développement de services.

Dans chaque chapitre, expliquer à quoi sert chaque compétence Nous vous présenterons des articles et des livres de référence permettant d'acquérir des compétences suffisantes.

image.png

Méthode d'apprentissage et liens de référence

① Construction de l'environnement de programmation

Tout d'abord, effectuez la ** «construction d'environnement» ** requise pour la programmation. Installez ** Editor (Atom) ** et ** Python ** conformément à l'article de référence.

② Comment créer un site Web

Si vous n'avez aucune expérience en programmation, il est recommandé de commencer par HTML.

Les ** divers sites Web que nous voyons habituellement "utilisent toujours du HTML" ** points, La raison en est que vous pouvez poursuivre votre apprentissage confortablement car il est normal de faire des erreurs.

--HTML: créer un squelette de site Web

③ Conception (Bootstrap)

En m'habituant au HTML / CSS, je me sens ** "Je veux créer un site Web plus beau" **.

Il est possible de faire un beau design avec CSS si vous acquérez une expérience considérable, Tout le monde étudie pour ** «créer un service» **, alors passons à autre chose au plus vite.

Un outil utile qui apparaît ici est ** Bootstrap ** développé par Twitter. ** C'est un excellent moyen de créer un site élégant même si vous n'avez pas de compétences CSS ou d'expérience en conception.

Il existe différentes versions, Utilisez le dernier ** Bootstrap 4 ** en février 2020.

④ Les bases de Python

Depuis que j'étais habitué à la programmation, Python est enfin là. Même si vous dites Python en un mot, il y a tellement d'éléments que vous ne pouvez pas étudier assez.

Par conséquent, dans cet article, nous nous concentrerons uniquement sur le ** développement de services **. Je vais vous présenter ** les compétences essentielles que vous pouvez utiliser même si vous ne l'aimez pas **.

⑤ Base de données

Vient ensuite la base de données (ci-après DB) qui est inséparable pour le développement de services.

Si vous utilisez le ** framework d'application Web "Django" ** qui sera introduit plus tard, Vous n'avez pas besoin de connaître le langage DB tel que MySQL.

Cela dit, ** quel type de traitement DB effectue en interne ** Si vous ne comprenez pas l'image concrète, vous aurez certainement du mal au stade du développement du service.

Alors, concentrons-nous sur les éléments minimaux et étudions efficacement.

⑥ Construction d'un environnement de développement (environnement virtuel)

Si vous effacez jusqu'ici, vous aurez les bases pour démarrer le développement de services. Cependant, cela sera utile plus tard si vous ne vous précipitez pas et ne comprenez pas le concept et l'utilisation de ** l'environnement virtuel **.

J'espère que vous pourrez vérifier les détails dans l'article de référence, Le but est d'éviter que l'environnement de programmation ne soit encombré.

⑦ Comprendre la procédure de développement d'applications Web

Passons enfin au développement de services. Gardez à l'esprit qu'il est officiellement appelé ** Développement d'applications Web **.

Dans la plupart des développements d'applications Web, ** «Framework d'application Web» ** est utilisé.

En gros, vous n'avez pas à programmer vous-même à partir de zéro ** Préparé dans "La plupart des parties nécessaires au développement sont terminées" ** Vous pouvez le considérer comme un outil d'aide au développement pratique.

Cependant, coder simplement la ** "dernière partie superficielle" ** peut être une tâche ardue. C'est la chose la plus difficile à faire, alors faisons de notre mieux.

Il existe deux types de frameworks d'applications Web célèbres pour Python.

Cela dépend du goût de la méthode d'étude, Il y a des cas où je l'ai fait avec Flask mais je l'ai refait avec Django. Je recommande ** Challenge Django depuis le début **.

De plus, si c'est Django, il y a un article Qiita que j'ai écrit à l'origine Il est organisé de manière à ce que vous puissiez apprendre les éléments nécessaires dans les plus brefs délais.

⑧ Définition des exigences-conception du système

Vient ensuite ** «Définition des exigences - Conception du système» **, qui est souvent négligée.

Peu importe combien vous pouvez programmer ** "Que dois-je faire? Si vous ne pouvez pas décider **, vous ne pouvez rien commencer.

Je vais vous présenter les articles que j'ai écrits dans le passé, donc ** Maîtrisons le "processus de dessin d'un dessin à partir d'une idée" **.

⑨ Gestion du code source (GitHub)

Si vous étudiez jusqu'à présent, divers codes sources seront accumulés. C'est un moment où il devient difficile de gérer même les personnes les plus méticuleuses.

** "Où avez-vous enregistré ce programme?" ** ** "J'ai écrasé et enregistré .. Je souhaite revenir à l'état précédent." ** ** "Il est difficile de partager le programme avec d'autres personnes (compressez-le et joignez-le à un e-mail, etc.)" **

** GitHub ** est un outil qui résout ces problèmes. Assurez-vous de l'apprendre car il sera utilisé dans la pratique.

⑩ Version de service

Enfin, publions le service développé. ** La préparation à la publication du service (préparation du serveur) ** est approximativement divisée en 5 types.

Dans cet article, nous présenterons la procédure spécifique pour ** "⑤: Cloud server" **.

Aussi, pour utiliser le serveur cloud Vous devez maîtriser les ** commandes Linux **, alors apprenons-le également.

à la fin

Créer un service par vous-même nécessite un large éventail de compétences. C'est une tâche difficile, mais j'ai vu beaucoup de gens la surmonter.

Récemment, l'environnement qui facilite la programmation a été mis en place. Il y a une tendance croissante à ce que de bons emplois ne puissent pas être obtenus avec des compétences partielles telles que ** «Je suis bon à cet endroit» **.

Une fois que vous l'avez surmonté, cela devient ** "une compétence puissante sans pareille" **, donc Nous soutenons tous ceux qui lisent cet article afin qu'ils puissent survivre les trois mois.

Veuillez ne pas abandonner jusqu'à la fin et faire de votre mieux pour créer un bon service.

【P.S.】 Enfin et surtout, Twitter publie également des informations sur la programmation. Si vous le souhaitez, je vous serais reconnaissant de bien vouloir suivre compte Twitter "Saku731".

Recommended Posts

Feuille de route d'apprentissage qui vous permet de développer et de publier des services à partir de zéro avec Python
Notez que l'environnement Python de Pineapple peut être modifié avec pyenv
Présentation du livre "Créer une IA rentable avec Python" qui vous permet d'apprendre l'apprentissage automatique dans le cours le plus court
Script Python qui peut vérifier l'état du serveur à partir du navigateur
Introduction de "scikit-mobility", une bibliothèque qui vous permet d'analyser facilement les données de flux humain avec Python (Partie 1)
J'ai écrit un livre qui vous permet d'apprendre les implémentations et les algorithmes d'apprentissage automatique de manière équilibrée.
Créez un plugin qui vous permet de rechercher les onglets Sublime Text 3 en Python
Deep Learning from scratch La théorie et la mise en œuvre de l'apprentissage profond appris avec Python Chapitre 3
WEB grattage avec python et essayez de créer un nuage de mots à partir des critiques
De l'achat d'un ordinateur à l'exécution d'un programme sur python
Créez un environnement d'apprentissage automatique à partir de zéro avec Winsows 10
Jusqu'à ce que vous créiez un environnement d'apprentissage automatique avec Python sur Windows 7 et que vous l'exécutiez
Un mémo qui lit les données de dashDB avec Python et Spark
Essayez de créer un réseau de neurones / d'apprentissage en profondeur avec scratch
Commande de raccourci Jedi-vim qui vous permet de faire référence à la source de la définition et à la destination de la définition en Python
Apprenez les bases et les astuces des expressions canoniques Python à partir de zéro
Une note qui déploie une application Python de Circle CI vers Elastic Beanstalk et avertit Slack
Un moyen standard de développer et de distribuer des packages en Python
J'ai créé un serveur avec socket Python et ssl et j'ai essayé d'y accéder depuis le navigateur
Essayez d'ouvrir une sous-fenêtre avec PyQt5 et Python
J'ai essayé de créer un générateur qui génère une classe conteneur C # à partir de CSV avec Python
Hash avec python et échapper à l'égosa d'un certain ministre
Comment écrire une classe méta qui prend en charge à la fois python2 et python3
Nous avons publié une extension qui vous permet de définir des données xarray comme une classe de données Python.
Notez ce que vous avez fait pour utiliser Flycheck avec Python
Je souhaite utiliser un caractère générique que je souhaite décortiquer avec Python remove
8 services que même les débutants peuvent apprendre Python (des débutants aux utilisateurs avancés)
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
Comment créer une caméra de surveillance (caméra de sécurité) avec Opencv et Python
Essayez d'extraire une chaîne de caractères d'une image avec Python3
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
J'ai lu "Renforcer l'apprentissage avec Python de l'introduction à la pratique" Chapitre 1
Un guide rapide de PyFlink qui combine Apache Flink et Python
Passer la liste de Python vers C ++ par référence dans pybind11
J'ai lu "Renforcer l'apprentissage avec Python de l'introduction à la pratique" Chapitre 2
Création d'un service qui vous permet de rechercher des données J-League
[Python] Essayez de reconnaître les caractères des images avec OpenCV et pyocr
2.Faites un arbre de décision à partir de 0 avec Python et comprenez-le (2. Bases du programme Python)
Avec PEP8 et PEP257, un codage Python qui n'est pas gênant à montrer aux gens!
Réaliser la construction d'environnement pour "Deep Learning from scratch" avec docker et Vagrant
Créez un outil qui secoue automatiquement furigana avec html en utilisant Mecab de Python3
[Deep Learning from scratch] J'ai essayé d'implémenter la couche sigmoïde et la couche Relu
Extraire les lignes qui correspondent aux conditions d'un fichier texte avec python
Migration de Python2 vers Python3 (Python2 est reconstruit comme un environnement virtuel et coexiste)
Connectez-vous à postgreSQL depuis Python et utilisez des procédures stockées dans une boucle.
J'ai essayé de développer un formateur qui génère des journaux Python en JSON
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (4. Structure des données)
Créez un environnement d'apprentissage pour le «Deep learning from scratch» avec Cloud9 (jupyter miniconda python3)
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (5. Entropie des informations)
[Python] Un programme qui crée des escaliers avec #
De Python à l'utilisation de MeCab (et CaboCha)
Fractal pour faire et jouer avec Python
Un mémo contenant Python2.7 et Python3 dans CentOS
Efficacité commerciale à partir de zéro avec Python