Bon retour.
C'est donc l'une des leçons les plus importantes de tout le cours.
Mais ça va aussi être très différent de ce que nous avons fait jusqu'ici.
Et la raison pour laquelle il est différent, c'est que je vais vous montrer un tas de code que vous n'avez jamais vu auparavant et vous ne sont pas censés comprendre du tout.
La raison pour laquelle je fais ceci est que je veux vous donner un aperçu conceptuel de la façon dont toutes ces pièces s'emboîtent.
La base de données que le serveur GET demander demande demande le navigateur.
Toutes ces demandes et réponses différentes choses.
Je veux montrer tout cela avec une application de travail vraiment simple.
C'est ce que je vais faire ici.
Si je l'enseignais en personne ce serait le point où je vous demande de mettre votre ordinateur portable pour fermer votre ordinateur.
Évidemment pas une bonne idée ici.
Mais le sentiment derrière cela, c'est que je ne veux pas que vous preniez des notes à ce sujet.
Nous allons passer en revue chaque ligne et l'écrire à partir de zéro et faire cinq six sept de ces différentes applications en utilisant ces concepts.
Donc, il s'agit juste de savoir comment les choses ne coïncident pas les détails réels de la façon dont ils fonctionnent.
Cela dit, allons-y et commencez ici.
Donc, cette application est axée sur les chiens.
C'est très simple.
Aucun style du tout.
Juste quelques pages différentes.
Et la première chose dont nous avons besoin de parler est ce que ce fichier est entier.
Donc c'est notre fichier serveur.
Dans mon cas, il s'appelle app dodge.
Oui, cela est écrit en Javascript.
Et quand je lance ce fichier, il va effectivement démarrer un serveur pour moi.
Donc, quand je l'ai mentionné avant quand nous envoyons une demande pour le lire dot com slash recherche il ya du code sur le serveur Reddit qui est à l'écoute d'une demande de le lire.
Maintenant, com slash search et puis il vous renvoie les données correctes dans une réponse.
Quand je dis qu'il ya du code sur le serveur Reddit c'est le genre de code dont nous parlons.
Donc, même si la lecture est faite en Python et c'est javascript C'est notre code sur le serveur qui est à l'écoute pour différentes demandes et puis de répondre avec des morceaux différents.
Il ya trois grands morceaux et ce haut de la page vient d'obtenir notre application mis en place.
Ainsi, y compris les bibliothèques de droite comme vous pouvez le voir il ya quelques dépendances.
Encore une fois, nous les examinerons plus tard.
Alors nous avons quelques trucs de base de données.
Donc, c'est la mise en place de notre base de données afin que notre base de données connaît chaque chien a un nom et une race et ils sont les deux chaînes.
Et tout cela est mentionné à ce sujet pour l'instant.
Et puis il ya ces choses appelées wraps qui est où nous allons passer la majeure partie de notre temps dans cette leçon avant que nous faisons que si je veux souligner la partie la plus importante pour démarrer réellement le serveur qui est à la fin ici ce Ligne n'a pas d'importance la syntaxe, mais ce qui importe.
Il y a ici trois mille.
Ce que cela va faire, c'est quand nous exécutons cette application quand je lance ce fichier dans mon terminal, il va effectivement démarrer au serveur et notre application sera sur le port 3000.
Alors laissez-moi vous montrer ce que je veux dire.
Je vais démarrer ce serveur en exécutant le fichier à nouveau peu importe ce que je fais là.
Et vous pouvez voir que je reçois un message de service de démo sur le port 3000.
Donc ce que j'ai mon éditeur de texte, j'écris le code ici pour mon serveur.
Ensuite, dans mon terminal, je suis effectivement en cours d'exécution du serveur.
Donc maintenant ce code est en cours d'exécution tout ce code est exécuté et cette ligne en particulier a démarré un serveur sur le port de trois mille.
Donc, si je vais au port trois mille maintenant et la façon dont j'arrive est l'hôte local Colan 3000, je vois quelque chose qui dit page d'accueil.
Parlons de la façon dont j'obtiens cette page d'accueil HMO si nous visualisons la source de la page.
Vous pouvez voir tout ce que j'ai obtenu comme une réponse était un seul H-1 qui dit page d'accueil et c'est tout.
Donc, si je retourne à mon serveur ici, il ya quelques choses que je veux souligner.
Le premier est que dans mon terminal où le serveur a démarré il ya un petit message qui a été imprimé.
Et ce que cela nous dit, c'est que quelqu'un a fait une demande d'obtenir qui est ce que cela dit ici à la barrele vous arole.
Donc localhost 3000 slash.
Il n'y a rien après.
Nous appelons cela le chemin racine ou juste route qui est essentiellement ce que nous voulons que notre page d'accueil pour être.
Encore une fois, je suis allé à localhost 3000 et appuyez sur Entrée.
Et qui m'a obtenu du code, mais si je suis allé à localhost 3000 slash chiens qui me donne des trucs différents en arrière si je vois la page source sur ce peut voir si nous obtenons un peu plus de contenu qui est différent que le contenu que nous avons obtenu la première fois et C'est parce que c'est une rangée différente ou une route différente.
Donc, dans ce cas, je ne demandais pas Slash.
Je demandais des chiens Slash.
Et si vous regardez dans la sortie du terminal, vous pouvez voir qu'il ya une différence entre une demande d'obtenir une barre oblique ou une demande d'obtenir des chiens slash.
Cela me montre juste que je peux vous montrer ce qui se passe, mais ce n'est pas la logique ou quoi que ce soit.
C'est juste une fenêtre sur les demandes qui sont faites.
OK, c'est le côté demande des choses.
Quand je frappe entrer je fais une demande.
Même chose ici.
Je suis juste faire à deux endroits différents.
Et bien sûr, je peux faire ces demandes obtenir avec le facteur ainsi.
Alors faisons et obtenons une requête à localhost 3000 comme ça.
Prenez un moment et réfléchissez à ce que vous attendez que nous voyions quand je frappe envoyer.
Là-bas, je viens d'obtenir exactement le même H-1 et si je ne l'hôte local 3000 slash chiens qui est une demande d'obtenir et je frappe envoyer, je reçois le même courrier HD que nous avons quand j'ai fait une demande d'obtenir dans le navigateur en frappant Entrer.
Maintenant, nous allons parler de la logique qui rend tout cela se produire sur le côté serveur.
Je vais donc revenir au sublime et me concentrer sur ces trois parties ici et en particulier ces deux.
Je sais que je suis un disque cassé sur ce sujet, mais la syntaxe n'est pas la partie importante.
Nous allons passer tellement de temps sur l'écriture de ces routes que ce n'est pas significatif.
Ce qui est significatif, c'est que dans ce premier morceau petit ce code est à l'écoute pour obtenir une demande de barre oblique afin d'obtenir slash.
Et quand cela se produit nous rendons une page appelée maison.
Donc, encore une fois quand une demande d'achat est faite pour slash localhost 3000 slash rien d'autre alors nous allons rendre quelque chose appelé home.
Et ici j'ai le fichier appelé home.
Peu importe ce que le Ejing yess.
Et à l'intérieur il ya un H1 qui dit page d'accueil.
Donc ajoutons quelque chose d'autre dans un paragraphe bas juste comme ça et sauver.
Et maintenant, quand ils font une demande d'obtenir seulement une demande d'obtenir une barre oblique je obtenir le contenu de cette maison de fichier renvoyé à moi et pour que ces changements de travail, je dois réellement redémarrer mon serveur.
Alors je vais commencer maintenant et regarder, je vais mettre cela sur le côté et je vais revenir à Chrome obtenir mon serveur là encore.
Je vais faire une demande de get à localhost 3000.
Comme vous pouvez le voir, il me dit qu'une demande d'achat a été faite pour slash.
Et nous avons récupéré ce contenu.
Encore une fois, notre code ici est à l'écoute pour obtenir des requêtes slash et de décider quel fichier à renvoyer.
Maintenant, voici une autre version plus compliquée de celle où nous sommes à l'écoute pour une demande d'obtenir des chiens de chasse.
Et puis il ya un autre code qui se passe ici.
Et je vais juste lire un commentaire.
Tout ce qui se passe ici est d'obtenir tous les chiens de la base de données, donc j'ai certains dans notre base de données déjà.
Et puis la prochaine partie est de rendre le dossier chiens et nous allons juste laisser à cela pour l'instant.
Donc nous obtenons tous les chiens dans la base de données et rendant le dossier de chiens qui est juste ici.
Et celui-ci est un peu différent.
Ce n'est pas seulement lui.
Nous avons des choses étranges que nous n'avons pas vues auparavant.
Mais à la fin de la journée ce qui se passe quand je vais à chiens de chasse notre application est à l'écoute pour obtenir une demande de chiens de chasse.
Quand il en obtient un, il récupère tous les chiens dans la base de données et chacun a un nom et ou race et puis il fait un petit mensonge pour chacun.
Donc, chacun d'eux est un allié avec un nom et une race.
Donc, encore une fois, nous avons deux lignes de slash comme une demande d'obtenir et slash chiens comme une demande d'obtenir et nous obtenons deux fichiers différents et un peu de logique quand nous allons à chiens de chiens contre quand nous allons juste à la barre oblique.
Il n'y a pas de logique rien ne se passe avec la base de données.
C'est juste nous donner une page statique.
Mais ce n'est pas statique.
Cela dépend de ce qui vient de la base de données.
Revenez au serveur ici à notre code et je parlerai un peu de cette ligne ici.
Donc, nous rendons une page un modèle appelé chiens qui est ce qui est écrit ici chiens.
Oui, mais nous passons des données à ce modèle parce que cela n'a pas un allié ici qui dit resti dash mutt et il n'a pas un autre plus tard dans le modèle qui dit pourquoi il tirez doré comme vous pouvez le voir c'est ce que nous 'Re obtenir dans le navigateur.
Mais notre dossier n'a rien de tout cela.
Et c'est ce qui le rend dynamique.
Ce fichier peut être différent chaque fois qu'il s'exécute en fonction de ce qui est dans la base de données.
Donc, ce que nous faisons réellement est de définir un modèle ou un modèle pour ce que nous voulons arriver qui est pour chaque truc chien chien pour chacun, nous voulons faire un allié où nous allons faire le nom gras ou forte tiret la race tout comme Texte brut.
Voilà comment nous nous retrouvons avec cela pour chaque chien dans la base de données que nous récupérons, nous allons boucler et faire un seul allié avec le nom en gras tirez qui ne race pas en gras.
Alors laissez-le à cela.
Résumons maintenant.
Donc, nous avons notre code qui crée le serveur ici.
Tout cela est le seul code responsable de la création de notre serveur.
Nous avons un code mis en place n'est pas vraiment important.
Quelque code de base de données importe peu non plus.
Et puis ces deux itinéraires et ceux qui importent beaucoup.
Ainsi ceci est comment nous obtenons le code différent et les différents dossiers selon le vous êtes tout ce que nous demandons que nous fassions une demande à la barre oblique comme elle obtiennent la demande.
Nous obtenons un dossier à la maison que nous faisons une demande de slash de chiens et un peu plus se produit dans les coulisses.
Il trouve tous les chiens dans la base de données et ensuite il rend que les chiens de fichier.
Mais le dossier des chiens est dynamique car il prend un tas de chiens et pour chacun.
Il fait un allié.
Donc, si nous avions 10000 chiens dans la base de données, nous aurions 10000 alliés.
Et le dernier point que je veux faire est que nous avons un éditeur de texte ici que j'ai un terminal où je suis en cours d'exécution du serveur et puis je vais dans le navigateur et visiter cette page web en faisant une demande.
Voilà les trois outils dont nous avons besoin.
Donc, ces trois choses l'éditeur de texte où nous écrivons le code au terminal ou quelque part où nous pouvons démarrer le serveur et l'avoir à l'écoute.
Et puis enfin un navigateur où nous pouvons réellement aller et faire des demandes.
Donc, nous n'avons pas à utiliser un navigateur Nous pourrions utiliser le facteur, mais personne n'utilise le facteur pour réellement interagir avec notre page Web dans les prochaines vidéos lorsque nous commençons à écrire nos propres applications Web.
Nous aurons ces trois mêmes outils.
Donc, nous allons avoir un éditeur de texte un navigateur et un terminal ou quelque part pour exécuter le serveur.