Mise à jour: 16 janvier 2019
Apprendre en faisant
Ma façon préférée d’apprendre est d’apprendre en faisant. Je peux lire et regarder des choses toute la journée, mais jusqu’à ce que je me couche et que je me salisse avec le code, cela ne s’enfonce pas vraiment. Une excellente façon d’apprendre en faisant est de créer une application, c’est ce que nous allons faire!
Ce ne sera pas un aperçu de haut niveau qui explique tout ce qui se passe. Il s’agit plus d’une visite guidée pour ceux qui connaissent un peu Elixir et Phoenix mais qui n’ont pas encore construit leur première application. J’utilise Phoenix 1.4 et Elixir 1.8 pour ce tutoriel.
La fonctionnalité sera simple. Vous pouvez créer un compte. Vous pouvez rechercher et visionner des vidéos. Vous pouvez ajouter de nouvelles vidéos. Il y aura des complexités comme obtenir des informations de l’API YouTube pour ajouter des vidéos et utiliser le CSS Tailwind au lieu du milligramme par défaut (le milligramme a remplacé le Bootstrap dans Phoenix 1.4). Cependant, comme j’ai déjà eu la peine de combattre le code pour que les choses fonctionnent, tout devrait se passer bien pour vous.
Faites-moi savoir si vous êtes coincé à un moment donné et je serai heureux de vous aider. Commençons!
REMARQUE: Si vous êtes bloqué à un moment donné, vous pouvez me laisser un commentaire ou consulter le dépôt sur GitHub. Chaque partie a sa propre branche et sera liée au début avec (GitHub). Il y aura également des hachages de validation tout au long afin que vous puissiez voir ce qui a été fait pour une section particulière. Ils ressembleront à ce qui suit (70ea207). S’ils se trouvent dans une sous-position, le commit concerne l’ensemble de cette section. Sinon, le commit sera partagé à la fin du texte pertinent.
Générez l’application (70ea207) (GitHub)
Nous allons créer des Catcasts. Ce sera un endroit pour partager vos vidéos de chat YouTube préférées. L’utilisateur sera créé en se connectant avec Google. Les vidéos seront créées en publiant une URL sur l’API YouTube et en récupérant les informations. Ces informations seront utilisées pour créer une page avec la vidéo intégrée.
Si vous n’avez pas déjà installé Elixir et Phoenix, vous pouvez suivre le guide Elixir et le guide Phoenix. Maintenant, en supposant que c’est fait, il est temps de créer notre application. Nous exécutons mix phx.new catcasts
pour générer notre application, et quand elle demande « Récupérer et installer les dépendances? « nous dirons « y ».
Configurez Postgres(975847b)
À la fin de la génération de notre application, nous obtenons des instructions utiles sur ce que nous devons faire ensuite.
La première chose que nous devons faire après avoir exécuté cd catcasts
et avant d’exécuter mix ecto.create
div> c’est configurer notre base de données. Selon la configuration de votre Postgres local, il y a de fortes chances pour votre environnement local que le nom d’utilisateur soit votre répertoire personnel (pour moi, ce serait thebrianemory), et votre champ de mot de passe est vide. Ouvrons notre fichier config/dev.exs
et configurons notre base de données.
Remarque: Si vous n’avez pas configuré Postgres sur votre machine locale, Heroku dispose d’un guide utile pour le configurer. Si vous utilisez Homebrew, vous pouvez à la place exécuter brew install postgresql
dans la ligne de commande.
Vous pouvez ensuite exécuter mix ecto.create
, votre application compilera, puis vous verrez le merveilleux message, « La base de données pour les Catcasts.Le dépôt a été créé. »À ce stade, vous pouvez exécuter mix phx.server
et visiter http://localhost:4000 pour voir « Bienvenue à Phoenix! »
REMARQUE: Si vous voyez un message similaire à » Dois-je installer rebar3? (si l’exécution n’est pas interactive, utilisez « mix local.rebar -force « ) », allez-y et sélectionnez « y ».
Nous avons également trois tests créés avec l’application qui passent actuellement. Pour les voir passer, nous devons d’abord également mettre à jour nos paramètres de base de données dans config/test.exs
.
Vous pouvez maintenant exécuter les tests en utilisant mix test
(votre application compilera avant d’exécuter les tests) et voir le joli texte vert « 3 tests, 0 échecs ».