Expérience personnelle: d'une idée et d'une feuille blanche à une version provisoire d'un site

Bonjour.

Je m'appelle Dmitry, après quelques mois 30 ans dont environ 10 ans je suis tyzhprogramist et il y a six mois j'ai décidé de créer quelque chose à moi (boiteux, oblique, secondaire, mais le mien).

Il y a quelques jours, j'ai parlé avec un ami de mon élève et en lui, je me suis reconnu comme un échantillon de 2009 - les mêmes problèmes, les mêmes pensées. Ce texte est une compilation de notre conversation et correspondance dans la nuit du 24 septembre. Des moments personnels et des exemples concrets ont été manqués, mais le texte est devenu plus logique et généralisé.

Ce qui a aidé une personne pourrait en aider une autre.

Entrée


L'introduction ne peut pas ĂŞtre lue, mais il sera possible de comprendre la plate-forme des connaissances initiales.
En 11e année, j'avais le choix de qui aller étudier - un professeur d'histoire ou un programmeur. J'ai adoré et compris l'histoire, la programmation m'a paru une activité très intéressante et prometteuse. J'ai choisi le second, car vous pouvez aussi pratiquer l'histoire pendant votre temps libre.

Je n'ai pas pu choisir un établissement d'enseignement - mes parents ont cliqué sur une calculatrice et m'ont envoyée dans une école technique locale, qui est devenue un collège le 1er septembre. Je n'écrirai pas sur les problèmes de notre éducation, mais mon désir d'écrire du code a considérablement diminué. Après avoir reçu le spécial secondaire, j'ai catégoriquement refusé d'étudier davantage et j'ai décidé de travailler. Un ami m'a appelé pour travailler en tant qu'administrateur système dans une organisation budgétaire: «L'informatisation des soins de santé est sur le point de commencer, il est nécessaire de collecter des ordinateurs et de ramasser le papier coincé dans les imprimantes et de tout expliquer intelligemment aux gens. Vous travaillerez pendant deux ou trois ans, et là vous verrez quoi et comment continuer . " Je n'écrirai pas sur les problèmes des réformes en Russie, mais j'ai révisé mon point de vue sur la vie et les gens. Ayant travaillé pendant près de 6 ans, j'ai démissionné, car tout est devenu très triste. Je me suis reposé, j'ai changé d'emploi, puis le désir de programmer est devenu réalité.

Mars 2018 - septembre 2018


Au début, il y avait une idée - «voici un site sur lequel vous pouvez voir des statistiques plus détaillées et l'historique des changements de données». Nous parlons du classement des joueurs sur les serveurs d'un jeu en ligne (pseudo, niveau, clan, etc.). La ressource officielle ne donne que les valeurs actuelles, qui sont mises à jour une fois par jour. Pas d'historique des changements, pas de visualisation, il est difficile de choisir quoi que ce soit et des options de tri limitées. Il existe une version non officielle dans laquelle il y a déjà plus de fonctionnalités, mais c'est aussi gênant pour moi, et même avec le mineur. Par conséquent, la deuxième pensée est venue pour la première pensée: «Nous devons faire quelque chose par nous-mêmes! Pratique et sans mineur . " Et il est souhaitable que le processus de création prenne 1-2 heures le soir, car il n'y a pas assez de temps libre, et je ne voulais pas réduire le sommeil. Au cours de la soirée, j'ai peint un plan d'action approximatif et j'ai commencé à le traduire dans la réalité.

Mais pour faire quelque chose, il faut apprendre à le faire. Pendant plusieurs jours, j'ai étudié des articles et des vidéos sur le thème «Qu'est-ce qui est nécessaire pour créer un site Web?». Après quelques jours, je suis passé à «comparer différents PL - leurs avantages et leurs inconvénients». En environ une semaine, en regardant une vidéo et en lisant des articles tous les jours pendant 2-3 heures, je suis arrivé à un ensemble approximatif de technologies:
  • html5
  • css3
  • python 3
  • django 2
  • sql (postgresql 10)
  • linux (debian9)

Une fois les connaissances acquises oubliées et tout devait recommencer à zéro.

Auto-formation - cette compétence est très difficile pour de nombreuses personnes. Quelqu'un ou quelque chose est constamment distrayant: le chat a décidé de ronronner à genoux, un voisin appelé, une nouvelle série de sa série préférée, un nouveau mech dans les réseaux sociaux et des centaines d'autres exemples. En plus de la volonté, de la détermination et du désir de créer, vous n'aurez pas d'alliés (il y a toujours la faim, mais elle n'est pas toujours présente). Fermez les réseaux sociaux, fermez l'onglet des séries, coupez le son du téléphone, fermez la porte de la chambre - supprimez temporairement toutes les distractions. Dans la soif d'information, le cerveau lui-même voudra recevoir des informations, et ici avant lui les bases du SQL, qui seront un bon aliment.

SQL et un script pour écrire des données dans la base de données



SQL est intéressant en ce qu'il y a peu de postes vacants où qu'il arrive en premier lieu, mais il y a beaucoup de postes vacants où il va en 2e ou 3e place. Si vous commencez tout juste à vous impliquer dans la programmation, les bases de SQL peuvent être un bon début. J'ai choisi postgresql comme SGBD car il est souvent écrit que c'est un bon choix pour python (pour autant que cela soit vrai, je ne peux pas en juger). Merci à Postgres Professional pour la traduction de la documentation .

Si vous apprenez à partir de documents disponibles sur Internet, il est possible que vous n'arriviez pas toujours à tout comprendre - quelque part, une théorie véhiculée de manière inexacte, quelque part un exemple ne reflète pas l'essence du sujet, quelque part où vous n'avez pas expliqué un moment intéressant pour vous. Après avoir lu un article, renforcez ce que vous avez appris en lisant un article similaire ou en regardant une vidéo sur un sujet similaire.

Et à la fin, implémentez le matériel que vous avez couvert en utilisant l'exemple de votre idée, même s'il est refait par la suite ou complètement rejeté comme élément inutile. N'ayez pas peur d'expérimenter. Ajoutez des signets intéressants à votre navigateur.

Nous avons donc fait connaissance avec SQL, choisi un SGBD, créé une base de données pour notre idée et décidé de passer au point suivant - en quelque sorte enregistrer les informations d'une page sur Internet dans notre base de données. Python vient à la rescousse, ce qui apporte avec lui ses packages psycopg2 , json , datetime , requêtes . Oh, et c'était amusant de tout comprendre. En environ une semaine d'expériences, un script de travail s'est avéré écrire des modifications dans la base de données d'environ 20 à 25 000 caractères.

HTML5 et CSS3


Vous devez maintenant afficher tout cela sous forme de tableau sur le site. Je suis passé en douceur aux bases de html5 et css3 - le squelette de la page et du tableau. À la recherche de bons documents, je suis tombé sur un portail qui promet de faire de moi un développeur front-end pour un peu d'argent. Les deux premières leçons sont gratuites, puis une petite quantité, dans ces leçons, seules les connaissances de base minimales sont données. Nous passons par des leçons gratuites, appliquons les connaissances acquises et obtenons ces blocs:
<div id="header">     </div> <div id="main">    </div> <div id="content">   </div> 

Tout est clairement expliqué, ils peuvent avoir un cours si besoin. Et après quelques jours, j'ai découvert qu'il s'agit d'une forme d'écriture obsolète et que vous pouvez simplement écrire l'en-tête, les balises principales, etc. Et à cette étape, j'ai réalisé qu'au stade initial de l'apprentissage, l'achat de cours en ligne n'en valait pas la peine. Je ne peux tout simplement pas comprendre à quel point ils sont pertinents (et souvent les auteurs n'indiquent pas la date des articles) et combien de connaissances ils ont besoin. Par conséquent, j'ai supprimé le signet et j'ai trouvé un peu plus tard ce que je cherchais.

Il convient de noter que lorsque vous achetez un cours, vous vous engagez financièrement à le suivre - «eh bien, ce n'est pas en vain que j'ai donné un denyuzhu, mais vous pouvez payer pour Internet» . Et l'étude des informations dont vous n'avez pas besoin pour l'objectif actuel commence, et si nécessaire, ce n'est pas un fait que vous vous en souviendrez. Et si vous abandonnez le cours, vous vous reprocherez - « et pourquoi avez-vous suivi le cours? il a accroché le poids mort et en 3 jours, il se termine, et personne n'a besoin de ce certificat ... toute la douleur . "

Je voudrais souligner les points suivants:
  • htmlbook.ru et - la plupart des demandes de balises html m'ont conduit sur ce site
  • webref.ru - hĂ©ritier de htmlbook.ru
  • htmlacademy.ru - quelque part, j'ai vu les recommandations de cette ressource et dĂ©cidĂ© de voir leur ensemble gratuit de leçons. ArmĂ© des connaissances des leçons gratuites, vous pouvez dĂ©jĂ  composer la page: en-tĂŞte, sous-sol, unitĂ© principale, menu, table et vis css Ă  tout cela


Django 2


Il suffit de lire le site Web officiel et la traduction de la version 1.9 , qui dans la plupart des cas convient à la version 2.0. C’est tout. Erreurs incompréhensibles, copiez et collez dans le moteur de recherche. Avec une probabilité de 90%, après 1 à 5 minutes, vous trouverez une situation similaire avec la solution du problème, parfois avec l'analyse de la solution.

Notre assistant principal sera stackoverflow , un système de questions et réponses de programmation populaire. Initialement, il n'y avait que l'anglais, mais pour le moment il y a 4 autres versions dont nous nous intéressons au russe .
Ici, je voudrais attirer l'attention sur certaines ressources qui sont parfois apparues dans mes résultats de recherche - questions / réponses avec stackoverflow traduit par traduction automatique et avec de la publicité (par exemple, qaru.site ). Parfois, ils se tenaient au-dessus du stackoverflow lui-même. La traduction à certains endroits était assez bonne, et à certains endroits, ce n'était qu'un tas de mots - cela est probablement dû à la construction correcte de la phrase, car des personnes de différents niveaux d'anglais (et pas seulement) l'écrivent sur stackoverflow.

Peu importe la qualité de cette traduction automatique - lisez le texte original, et si votre anglais ne vous permet pas de comprendre pleinement le texte, puis utilisez des traducteurs en ligne - au fil du temps, vous commencerez à comprendre de plus en plus de mots et un jour il vous suffit de regarder la réponse et de comprendre ce qui y est écrit .

La deuxième ressource la plus populaire où la recherche de la réponse m'a conduit était toster - merci à tous ceux qui ont laissé les réponses et expliqué ces réponses.

Océan d'informations et version préliminaire du site


Environ un peu plus de 3 mois se sont écoulés depuis le début de la formation - il y a eu des pauses de 2 semaines, des lectures répétées d'articles et de manuels et des problèmes qui sont tombés pendant 2-3 soirées. Les signets du navigateur sont gonflés, dans un télégramme toutes les 15 minutes un nouvel article sur la technologie qui m'intéresse, VKontakte regorge de réimpressions de ces articles. Information sur la mer - la noyade est plus facile qu'un poumon.

Et à ce moment, la conscience est venue - mais après tout, elle a commencé à s'étouffer. Et la nuit, j'ai revu tout mon plan - de l'apparence du site et de ses fonctionnalités aux technologies utilisées ou prévues.

Le plan lui-même a été reconstitué avec des sous-paragraphes et chaque sous-thème a reçu une importance, une priorité, des points critiques identifiés sans fermeture qui s'interdisaient de continuer. Mais surtout, il y avait des questions - il se posait une question, trouvait lui-même une réponse, s'expliquait, modifiait lui-même le plan.

Le mois suivant était une thérapie de choc - mettez Debian 9 (que j'ai étudiée à partir de zéro), sur laquelle il n'y avait pas de réseaux sociaux, de forums, d'émissions de télévision, de films, de skype, de discorde pendant le premier mois. Je viens de disparaître pendant un mois de l'Internet habituel pour moi (et pour la plupart des utilisateurs).

Mon horaire du soir était comme ceci:
- problème ou question
- recherche de solutions et réponses
- mise en œuvre
- nous écrivons la solution dans un cahier ou un signet dans le navigateur
- si notre création devient incontrôlable, nous supprimons tout et commençons à le faire à partir de zéro (la version 4 est actuellement utilisée)

Quelque part en août, j'ai restauré certains de mes contacts sociaux - je suis revenu sur les réseaux sociaux, j'ai installé Discord, je vais dans Windows tous les 2-3 jours et je vérifie que je ne l'ai pas encore transféré sur Debian. Le taux d'exécution du plan a ralenti, mais cela ne m'a pas fait beaucoup peur, car la première version provisoire du site fonctionnait déjà sur l'ordinateur local et, le 1er septembre, j'avais prévu de passer au VDS.

Et je n'ai pas eu le temps. Alors que j'ai compris les subtilités des paramètres VDS, alors que j'ai compris comment démarrer ma création, alors que les règles du site étaient brouillées, alors que je résolvais des problèmes dans la vie réelle, alors que j'étais distrait par les réseaux sociaux, alors que je résolvais des problèmes de santé, le site a été lancé tard dans 4 jours. Pour une raison ou une autre, ce putain de chose m'a touché - il y avait une réserve de près d'un mois, il ne fallait absolument rien faire, mais j'étais en retard et tout n'était pas fait. J'avais auparavant violé mon propre horaire, mais je ne l'avais pratiquement pas remarqué, et ces 4 jours de retard m'ont frappé. Triste et réfléchi le soir, je me mis à travailler plus loin. Et j'ai commencé par envoyer l'adresse du site à mes 3èmes connaissances. Après avoir attendu la réaction, je me suis redressé - la note moyenne était "le sujet est normal, buvez et ce sera cool."

Maintenant, les souhaits des utilisateurs ont rejoint mon plan - la plupart des souhaits étaient dans mon plan (et existent toujours). Je n'ai donc pas besoin de cela seul.

Et à ce moment, je me suis arrêté.

Le travail a changé (j'en suis de plus en plus éloigné et cela m'attriste encore plus qu'un retard de 4 jours dans le lancement du site), les activités quotidiennes, la rate d'automne et une centaine d'autres raisons font perdre du temps, qui devient de moins en moins. Au cours de la semaine dernière, je ne me suis assis que quelques fois pour le projet. Et ça me fait peur de ne pas le finir. Et ce qui me fait le plus peur, c'est la façon dont les gens vivent dans des situations similaires, mais avec des femmes et des enfants? Comment arrivez-vous à tout faire?

Pourquoi ai-je écrit tout ce texte?



Encore une fois, rappelez aux lecteurs les vérités:
  • si vous voulez faire quelque chose - prenez-le et faites-le
  • expĂ©rimentez, n'ayez pas peur de faire des erreurs - l'ordinateur supportera tout, l'essentiel est qu'au final vous obtenez un produit de qualitĂ©
  • si vous ĂŞtes un Ă©tudiant qui a perdu tout intĂ©rĂŞt pour l'apprentissage, ou qui apprend simplement quelque chose de nouveau, alors essayez d'Ă©tudier du matĂ©riel provenant de sources alternatives, si cela ne vous a pas aidĂ©, changez de profession - travailler sur un travail mal aimĂ© et incomprĂ©hensible vous Ă©puisera et ennuiera vos collègues
  • il n'est jamais trop tard pour apprendre, mais il vaut mieux commencer le plus tĂ´t possible

Épilogue


Au cours des six derniers mois, j'ai appris une tonne d'informations nouvelles et intéressantes, changé certaines de mes habitudes, je me suis débarrassé de quelque chose, je me suis habitué à quelque chose.

En bref de l'intéressant:
  • changĂ© google.com en duckduckgo.com , car duckduckgo est intĂ©grĂ© Ă  stackoverflow et la rĂ©ponse Ă  votre question peut dĂ©jĂ  ĂŞtre affichĂ©e immĂ©diatement sur la page de recherche
  • refusĂ© windows, skype, supprimĂ© le dernier compte sur les rĂ©seaux sociaux
  • n'a plus peur du nano et sait mĂŞme comment sortir de vim
  • J'ai pensĂ© Ă  la confidentialitĂ© sur le rĂ©seau, après avoir vu quelles informations un utilisateur peut laisser juste en allant sur le site
  • tirĂ© vers le haut lecture anglais
  • Je suis tombĂ© amoureux de la console et de l'analyse de la sortie des informations sur les demandes vers le site (Ă  quel point j'Ă©tais heureux quand j'ai fait 1 demande sur 100 demandes Ă  la base de donnĂ©es, puis j'ai Ă©galement rĂ©duit son temps d'exĂ©cution en limitant la sĂ©lection aux seules colonnes et lignes nĂ©cessaires)
  • J'ai rĂ©alisĂ© Ă  quel point je ne connaissais pas les technologies que j'utilise
  • et je regrette qu'il y a 5-7 ans, personne ne m'a montrĂ© le python et ne pouvait pas expliquer clairement SQL (au fait, ce professeur enseigne toujours, les Ă©tudiants ne comprennent toujours pas ses explications et apprennent le SQL par eux-mĂŞmes)
  • J'ai pu crĂ©er quelque chose de moi-mĂŞme, et un jour il cessera d'ĂŞtre boiteux et oblique.

Bon Ă  tous.

Faites-le

ps je suis vraiment complexe et maintenant mentalement pas prêt à fournir des liens vers le site pour le grand public. Pour le moment, il y a 3 objets «rouges», après quoi l'élément «vous pouvez vous vanter de votre métier» s'ouvrira.
pss a refait un peu mon flux de pensées, merci pour les critiques et commentaires

Source: https://habr.com/ru/post/fr424771/


All Articles