Maison / l'Internet / Pourquoi Ruby on Rails est l'un des meilleurs premiers langages de programmation pour les concepteurs. Introduction à Ruby on Rails Ce dont vous avez besoin pour Ruby on Rails

Pourquoi Ruby on Rails est l'un des meilleurs premiers langages de programmation pour les concepteurs. Introduction à Ruby on Rails Ce dont vous avez besoin pour Ruby on Rails

Apprendre un nouveau langage de programmation peut prendre du temps et être extrêmement ennuyeux. Les développeurs .Net vont s'énerver en ce moment et s'exclamer : « Pourquoi devrais-je même apprendre cela, car je suis un développeur .Net professionnel et il est peu probable que mon emploi du temps quotidien corresponde au processus d'apprentissage d'une nouvelle langue ! Mais ce serait une déclaration extrêmement imprudente, car en apprenant de nouveaux langages de programmation, vous apprenez beaucoup de choses nouvelles et utiles, surtout si ce langage est une version mise à jour d'un autre langage qui existait déjà auparavant. Ruby est exactement un tel type de langage. Je conviens que le processus de transition d'un débutant à un développeur professionnel dans un langage de programmation particulier est le processus le plus difficile, mais l'expérience en vaut la peine. Maintenant, je ne peux que vous mettre au courant et je suis sûr que vous ne voudrez certainement pas vous arrêter. Allez-y doucement!

Remarque : Veuillez noter que cet article n'est qu'une introduction superficielle à Ruby (langage de programmation) et Rails (application plateforme). L'objectif principal est de vous familiariser avec Ruby et de vous motiver à prendre les forces nécessaires pour commencer à apprendre. nouveau langage la programmation.

Qu’est-ce que Ruby ?

Ruby, comme déjà mentionné, est une combinaison mise à jour de différentes approches de programmation. Ruby est le mélange parfait de l'approche de flux de travail facile à comprendre de Python, de la sophistication de Smalltalk et du style léger fourni avec le développement Perl. Ruby est un haut niveau de programmation orientée objet (comme c'est le cas de la plupart des autres langages de programmation de nos jours) qui remonte au milieu des années 90 au Japon. Au fil du temps, Ruby s’est répandu aux États-Unis et en Europe.

Ruby est connu pour son système de types dynamiques et son allocation automatique de mémoire. Par type dynamique, j'entends que la plupart des types vérifiés dans un programme Ruby sont exécutés au démarrage, ce qui signifie que vous n'avez pas à vous soucier des types entiers ou chaînes. Ruby le fera pour vous. Nous verrons cela dans un petit exemple plus tard.

L’objectif principal du lancement de Ruby était de permettre aux humains d’interagir plus facilement avec les machines et de comprendre le code. Le fondateur de Ruby, Yukihiro Matsumoto, insiste sur l'idée que Ruby a été conçu pour augmenter la productivité des programmeurs, et non pour optimiser l'application côté machine.

« Souvent, les gens, notamment les ingénieurs informaticiens, se concentrent sur les machines. Ils pensent qu'ils peuvent ainsi accélérer le travail de la machine, augmenter son efficacité, améliorer tout, tout, tout ce qui concerne la machine. Ils sont obsédés par les voitures. Mais en fait, nous devons concentrer notre attention sur les gens, en prendre soin, faciliter le processus de travail avec les applications, via les machines. Nous sommes réels et vivants, et les machines nous obéissent.

Qu’est-ce que Rails ?

Rails est une application de plateforme incroyablement productive écrite en Ruby par David Heinemeier Hansson. On estime que le développement d’une application web sur Rails est 10 fois plus rapide que sur une plateforme basée sur Java. Rails est une plateforme open source basée sur Ruby (bien sûr !), qui peut être utilisée pour une intégration de base de données rapide et facile.

Rails est connu pour ses idées exceptionnellement de première classe qui ont permis diverses nouvelles approches de programmation et la création d'une structure de programmation dynamique. Le code de l'application principale et la base de données mise à jour incluront toujours toutes les propriétés Ruby requises pour exécuter le programme du début à la fin.

Programme Ruby régulier

Voyons à quel point les choses seront simples et intéressantes après cela :

Code:
personnel = "Je n'aime pas ma petite amie"
met personnel
A la sortie :
Je n'aime pas ma copine
Oui oui! Pas d'initialisation, pas de points-virgules et pas de méthodes.

Essayons maintenant de voir la différence entre PHP et Ruby en utilisant l'exemple d'un cas où nous devons inverser une chaîne :

PHP :
strrev("chaîne");
rubis:
"chaîne".inverse
Voilà ! Nous ne perdons presque pas de temps et inversons complètement la séquence des enregistrements. Il faut tenir compte de la différence dans les efforts déployés dans les deux langues. Un langage de programmation basé sur Ruby simplifie grandement le processus d'écriture d'un programme. Cela ressemble plus à écrire en anglais que dans un langage de programmation. C'est l'avenir de toutes les langues.

Avantages de l'utilisation de Ruby (et Rails)

Tout le monde sait que le monde Ruby est très vaste et qu'aujourd'hui nous n'en avons même pas couvert 1%, mais cette entrée te laisse ressentir le pouvoir langue donnée programmation et vous encourageons à commencer à l'apprendre vous-même. Plongeons maintenant dans le monde des avantages de Ruby :

* Disponibilité. Comme mentionné précédemment, c'est l'un des principaux avantages de Ruby. En tant que langage de programmation, Ruby est très raffiné et rappelle beaucoup l'anglais. C'est la similitude avec le langage familier habituel qui permet aux débutants de s'habituer facilement à travailler avec Ruby.

* Concision et puissance. L'exemple ci-dessus nous montre à quel point le code Ruby est concis. C'est le plus court possible. De plus, Ruby est un langage aussi puissant que d'autres langages peuvent l'être, car il s'agit d'un langage de programmation orienté objet dans haut niveau.

* pas besoin de réinventer la roue. Rails (basé sur Ruby) est une interface de programmation avec laquelle vous n'avez plus besoin de « réinventer la roue ». Il génère du code qui peut être réutilisé dans différents cas.

* Tests intégrés. Rails est populaire pour sa sécurité et sa possibilité de correctifs. La plateforme vous fournira options possiblesécrire du code, ce qui facilitera grandement le processus de développement. Rails propose également des tests simples qui peuvent être étendus à la demande des programmeurs.

* Environnements de développement, de test et de production. Rails vous permet de démarrer votre projet dans trois environnements différents appelés Dev, Test et Prod. Les trois environnements se comportent légèrement différemment.

Compilation

Jetons maintenant un coup d'œil à quelques sites Web (les plus populaires) qui ont été développés à l'aide de l'outil Ruby. Vous verrez avec quelle habileté les concepteurs gèrent leurs projets avec Ruby.


02.


03.


04.


05.


06.

Beaucoup de mes amis développeurs font l’éloge de Rails, mais je n’arrivais pas à comprendre pourquoi. Qu'est-ce que Rails et en quoi est-il différent de Ruby on Rails ? Est-ce difficile d’apprendre ? Est-ce vraiment un langage de programmation ? Que dois-je savoir avant d’apprendre Ruby on Rails ?

Ces questions et bien d’autres me trottent constamment dans la tête, mais il s’est avéré que je ne suis pas le seul. Nos lecteurs étaient également intéressés par ce numéro, alors afin d'en savoir plus, j'ai décidé de poser à l'un de mes collègues quelques questions de base sur Ruby. Et c’est ainsi que cet article est né.

Tu est prêt? Aller!

13 faits sur Ruby on Rails - Ce que vous devez savoir

1. Qu'est-ce que Rails ?

Rails est un framework d'application Web (framework) créé pour écrire du code dans le langage Ruby. Cela semble déroutant, non ?

Essayons encore. Il existe un langage de programmation Ruby. Écrire dessus est un plaisir. À propos, celui qui l'a créé a déclaré que son objectif principal était de créer un langage qui améliorerait la vie des programmeurs. N'est-ce pas merveilleux ?

Laisse moi te donner un exemple.

Si je veux afficher du texte à l'écran en PHP, je dois écrire

echo "Bonjour tout le monde" ;

Vous voyez le point-virgule ? Et cet « écho » – qu’est-ce que cela signifie ?

D'un autre côté, si je dois faire la même chose dans Ruby, je devrais écrire ce qui suit :

met "Bonjour tout le monde"

Il n'y a pas de point-virgule, et même si "puts" peut paraître un peu adolescent, je trouve cette commande plus logique que "echo". Lorsque vous passez des heures à écrire du code, de petits détails comme celui-ci font une GRANDE différence.

Le seul problème avec Ruby était qu’il n’était pas destiné à créer des applications Web. Autrement dit, vous ne pourrez pas, par exemple, créer un site Web. C'était avant l'avènement de Rails. Je ne sais pas si Rails a été le premier framework Web pour Ruby, mais il est définitivement devenu le plus populaire.

Le but de Rails est de fournir une plateforme et des fonctionnalités qui vous permettraient de créer des applications en Ruby, notamment un site Web. Jusqu'à présent, cela semble assez vague, alors je vais essayer de l'expliquer comme ceci. Si j'écrivais

met "Bonjour tout le monde"

alors dans un document HTML, vous verriez le texte entier dans son intégralité. Mais je veux que vous voyiez UNIQUEMENT ceci :

Bonjour le monde

En termes simples, Rails vous permet de le faire. Mais ce n'est pas tout.

2. Qu'est-ce que Ruby on Rails ?

Ruby on Rails est le nom officiel COMPLET du framework Rails. Mais dans les conversations, les développeurs ne disent généralement pas la première partie et l'appellent simplement Rails. Donc, si vous voulez être "au courant" et avoir l'air féru de technologie, vous devez absolument l'appeler Rails, mais rappelez-vous toujours ce que signifie cette première partie - "Ruby on".

3. J'ai entendu dire que Rails était idéal pour les débutants. Pourquoi?

Il y a plusieurs raisons pour lesquelles Rails est idéal pour les débutants. Le premier d’entre eux est que le langage Ruby lui-même est vraiment bon pour les débutants, et c’est le premier avantage. Apprendre à coder en Ruby est beaucoup plus facile que dans d'autres langages, car le langage est assez flexible et libéral, ce qui vous épargnera les nerfs et vous permettra de passer plus de temps à apprendre les bases de la programmation.

Pourquoi Rails est-il si agréable à utiliser pour les débutants ? C'est juste qu'il est très stable et qu'il fait une énorme quantité de travail pour vous.

Pour moi, travailler pour Rails, c'est comme conduire un camion de livraison. C'est incroyablement puissant, regardez : vous conduisez un camion !!! Cependant, savez-vous comment fonctionne la voiture que vous conduisez ?

Demander à Rails de s'occuper de tant de tâches, de les faire pour vous, vous permettra de profiter immédiatement de nombreux avantages intéressants. Cependant, cela peut parfois jouer contre vous si vous vous dépassez et n'apprenez pas pleinement les bases que vous devez simplement connaître.

Pour cette raison, il est très important d’apprendre Ruby on Rails à partir de zéro. Et surtout, vous devez vous assurer que vous êtes vraiment à l’aise avec Ruby. Sinon, vous sortirez de ce camion à mi-chemin et vous vous direz : « Attends, est-ce que j'ai vraiment roulé avec ce truc ?

4. En quoi Rails est-il différent d'un développeur Ruby ?

Formellement, la différence est qu'un purement "développeur Ruby" créera des applications en Ruby, mais pas en Rails. Bien que cela n'arrive généralement pas. Il est certainement possible de créer des applications Web dans Ruby en utilisant d'autres frameworks comme Sinatra, mais je suis prêt à parier que dans 99% des cas, il est peu probable que vous soyez embauché en tant que programmeur ne connaissant que Ruby. Par conséquent, vous devez quand même apprendre Rails.

5. Dans quelle mesure devrais-je connaître Ruby ? Que dois-je apprendre avant de commencer à apprendre ?

Les opinions divergent à ce sujet, mais en s'en tenant à l'exemple du gros camion, je pense que vous devriez être à l'aise avec Ruby afin d'approfondir Rails. Tout comme, disons, il est préférable d'apprendre d'abord à faire du vélo, avant de passer à une voiture, puis de réfléchir à la façon de conduire un camion.

Et voici autre chose. Beaucoup de temps à travailler sur Rails sera consacré à l'écriture de code Ruby. Pour cette raison, vous devez très bien connaître ce langage, notamment ses bases : types de données, méthodes, orientation objet, débogage, etc. Et vous n'avez pas besoin d'être un programmeur Ruby surexpérimenté - vous devez simplement vous sentir en confiance lorsque vous travaillez avec, comme un poisson dans l'eau.

6. Pourquoi devrais-je apprendre Rails ? Qu’est-ce qui le rend spécial ?

C'est élégant et tout simplement incroyable. Que devez-vous savoir d’autre ? Lorsque Rails est apparu pour la première fois, c'est devenu une véritable découverte et une réussite de l'art du design. De naï les meilleures pratiques et qui ont été pris en compte lors de sa création, Rails vous met pratiquement sur la voie de l'écriture d'un bon code, même si vous ne le souhaitez pas (ou ne savez pas comment).

Si vous souhaitez créer des applications Web robustes qui évoluent selon les besoins tout en restant faciles à maintenir à l'avenir, Rails est une excellente option. De plus, il est populaire parmi de nombreuses entreprises sympas. La dernière raison majeure pour laquelle Rails est si populaire parmi les startups est qu'il est idéal pour le prototypage rapide. En quelques heures seulement, vous pouvez concevoir, créer et exécuter votre application Rails. Il existe vraiment très peu d’autres frameworks capables de gérer cela.

7. Que pouvez-vous construire avec Rails ?

Que veux-tu créer ? Rails convient à toutes les applications Web. Pour un exemple visuel, consultez ces excellents exemples de sites Web créés avec Rails : Hulu , Airbnb et Basecamp .

8. Puis-je créer des applications mobiles avec Rails ?

Oui et non. Vous ne pouvez pas créer d'applications mobiles avec Rails, mais vous pouvez certainement créer une application Web avec Rails et l'utiliser comme back-end pour application mobile.

Il existe également un outil RubyMotion qui permet de créer très facilement des applications natives pour iOS et Android dans Ruby (mais pas Rails). Autrement dit, vous n'utiliserez pas SPÉCIFIQUEMENT Rails pour créer une application mobile pour Magasin d'applications, mais Rails peut certainement être une partie importante de votre projet mobile. J'espère que l'image est plus claire maintenant.

9. Ruby on Rails – Quel type de travail puis-je obtenir ?

Rails est l'une des compétences les plus demandées à l'heure actuelle, il existe donc de nombreuses entreprises avec lesquelles travailler. Rails est particulièrement populaire auprès des startups comme Zearn . Il s’agit d’une start-up informatique éducative à but non lucratif. Vous pouvez également choisir une entreprise plus grande comme Bloomberg et participer au développement de sites et d'applications utilisés par des millions d'utilisateurs. Le travail indépendant est également une bonne option pour les développeurs Rails. Étant indépendant, vous pourrez choisir à quels projets vous souhaitez participer : petits et courts termes ou grands et longs termes.

10. J'ai essayé un autre langage de programmation, mais je ne l'ai pas aimé. Dois-je essayer Rails ?

Je tiens à souligner à nouveau que Rails n'est pas vraiment un langage de programmation, mais un framework. Si vous vous êtes déjà demandé s'il était logique pour vous d'essayer de tomber amoureux d'un langage de programmation, tout ce que je peux dire, c'est que Ruby est le langage de programmation le plus vénéré et le plus apprécié des utilisateurs au monde. Je n’abandonnerais donc pas la programmation tant que vous n’aurez pas essayé Ruby.

11. Puis-je apprendre JavaScript avec Rails ?

Au lieu de cela, non. De plus – CERTAINEMENT.

Le développeur Rails devra apprendre JavaScript (). Ce n'est pas une obligation pour apprendre Rails, mais c'est une compétence dont vous aurez besoin au fur et à mesure de votre apprentissage.

Pour être honnête, au fur et à mesure que vous plongerez lentement dans le domaine de la technologie, vous commencerez à réaliser que vous devrez posséder un certain nombre de compétences (en substance, cela signifie que tout le monde devrait s'efforcer de devenir un développeur Full-Stack). Heureusement, au fur et à mesure que vous gagnerez en expérience, il vous sera plus facile d’apprendre à la fois de nouveaux langages et de nouveaux frameworks.

Quant à savoir quoi choisir – JavaScript ou Rails – je dirai franchement que vous ne pouvez pas vous tromper dans les deux cas. Il me semble que Ruby est beaucoup plus facile à apprendre que JavaScript. De plus, j'en connais beaucoup qui trouvent JavaScript plus facile après avoir appris Ruby pour la première fois. Mais comme je l’ai dit plus haut, vous ne perdrez certainement pas si vous étudiez les deux.

12. Combien de temps durera la formation ?

Combien de temps par jour devez-vous consacrer à étudier ? Il me semble qu'une bonne compréhension de Rails nécessite plusieurs mois de formation particulière. Mais comme pour toute autre compétence, il vous faudra des dizaines de milliers d’heures pour devenir un pro de Rails, il est donc préférable de ne pas perdre de temps et de commencer tout de suite.

Pour la vitesse d'apprentissage grande influence rendra compte de votre niveau de connaissances en programmation en général. Mais si vous êtes un débutant total, cela vaut la peine d'essayer Ruby et Rails d'abord.

13. Ruby on Rails – Par où commencer ?

Je recommande de commencer par le meilleur cours Ruby on Rails de la journée. Si vous n'avez pas écrit une seule ligne de code dans votre vie, la première chose à faire est de suivre le cours HTML et CSS. Heureusement, trouver des cours HTML et CSS est assez simple. Après cela, vous devrez apprendre Ruby, Git et la ligne de commande.

Dans le cadre du programme de formation, vous serez généralement amené progressivement à Rails et vous expliquerez comment travailler avec Sinatra et ActiveRecord. Cela ne vous dit rien pour l'instant, mais l'essentiel est qu'avant de conduire ce "camion" dont j'ai parlé plus tôt, vous devez commencer par un simple cours de conduite sur Rails.

La meilleure chose à faire lorsqu'on apprend est de créer son propre projet, de travailler sur quelque chose et de se développer, de comprendre que l'on avance dans la bonne direction, et aussi d'avoir un bon accompagnement ! Vous aurez des millions de petites questions au cours du processus d'apprentissage, et pour obtenir le meilleur résultat, il est important que vous ayez quelqu'un qui puisse vous aider à les comprendre et vous donner quelque chose à suggérer en cas de difficultés.

Alexander est le fondateur du projet de site Web Web Lab of Success, créé pour accompagner les entrepreneurs Internet débutants et confirmés. C'est un bourreau de travail convaincu avec une expérience professionnelle dans la gestion de la rédaction d'un magazine en ligne, la création et la gestion de sa propre boutique en ligne. Occupation principale : promotion d'entreprises (y compris de boutiques en ligne) via Facebook et Google AdWords. Passe-temps principal : monétisation de sites Web via des outils de marketing d'affiliation et Google adsense. Records personnels vérifiés : 3 millions de visiteurs de blog par mois.

Aujourd'hui, sur Internet, j'ai trouvé une histoire sur la façon dont James Fend a appris Ruby on Rails pendant 12 semaines. Ci-dessous, vous pouvez lire une traduction relativement précise de cette histoire et, espérons-le, vous inspirer pour apprendre ce formidable cadre (et ce beau langage).

Avant de commencer, j'aimerais vous présenter Josh Crews (http://joshcrews.com) et le remercier de m'avoir encouragé à commencer à apprendre Ruby on Rails ; sans lui, sans son aide et sans les heures qu'il a passées à être mon mentor, je n'écrirais pas ceci aujourd'hui. Merci.

Le 23 janvier, j'ai lancé mon idée de rêve, Freelancify.com. Il y a exactement 12 semaines, j'étais un entrepreneur technologique dépensant des milliers de dollars pour créer un MVP (Minimum Viable Product) décent parce que je manquais de connaissances. L'une des raisons (comme je le pensais à l'époque) était que la formation était trop difficile pour moi ou qu'elle prendrait trop de temps. Je pensais (comme beaucoup d'autres) que les programmeurs (et certains le font) naissent avec un ensemble de compétences magiques en résolution de problèmes et en mathématiques qui font d'eux des génies de la programmation. Et il y a exactement 12 semaines j'ai accepté La meilleure décision depuis longtemps, vraiment pendant longtemps . Aucune de mes idées ne restera qu’une idée. J'ai maintenant la possibilité d'exécuter des versions de production, en dépensant de l'argent uniquement pour l'hébergement et en faisant quelques efforts. Aujourd’hui, cet ensemble de compétences revient à conduire un groupe de tracteurs pendant la ruée vers l’or en Californie, alors que tout le monde utilise de simples pelles. Je suggère à tout le monde d'apprendre à écrire du code. Ici, je voudrais ajouter une précision : plus tôt, j'avais intitulé l'article « Comment j'ai appris Rails en 8 semaines », cependant, pour être précis, compte tenu de la date de lancement, il s'avère que c'est 12 semaines. Cependant, après 8 semaines, j'avais l'impression d'en savoir assez, et les quatre semaines suivantes ont été consacrées davantage à mettre en pratique ce que j'avais appris plutôt qu'à apprendre.

Quelles compétences avais-je avant de commencer à apprendre Rails ?

J'étais un web designer avec une connaissance en HTML et CSS et je me concentrais principalement sur le design UI et UX. La chose la plus difficile que j'ai faite avec le code réel (autre que le HTML) est de pouvoir personnaliser Wordpress. En un mot, je n'avais absolument aucune idée de ce qu'était un framework MVC, ni du fonctionnement des bases de données en général. Le design, la mise en page et le HTML de Freelancify ont été créés par moi en deux semaines en juin 2011.

Pourquoi ai-je décidé d’étudier ?

En juin 2011, lorsque la mise en page était prête, j'ai commencé à chercher un codeur pour faire fonctionner la mise en page. La mise en page était presque prête : j'avais des champs de texte, des menus déroulants, des formulaires, des boutons, des liens menant aux bons endroits, etc. J'ai trouvé un développeur et, en un mot, ce type ne me convenait pas. Je me suis retrouvé avec beaucoup de dettes et je n’étais même pas près de terminer un produit. Ensuite, j'ai pris contact avec Josh Crius (je l'ai rencontré lors d'une réunion Ruby on Rails qu'il a organisée à Nashville) et je l'ai rencontré pour voir si je pouvais faire quelque chose avec ce qu'il me restait de développeur. . Malheureusement, corriger et finaliser le code ne prendrait pas moins de temps que le développer à partir de zéro par un programmeur compétent. J'ai perdu courage, réalisant que je ne pouvais plus me permettre de dépenser à nouveau des milliers de dollars pour le développement à partir de zéro. Et puis Josh a dit… » Pourquoi ne pas simplement apprendre à gérer Ruby on Rails, ce projet serait un excellent moyen" et puis " Je peux même vous rencontrer deux fois par semaine et vous aider dans vos études.". J'ai passé toute la nuit à réfléchir. Mes options étaient : trouver un emploi confortable et payer les factures OU risquez tout pour apprendre Rails et finissez par manger les meilleurs ramen d'Italie. J'ai décidé. J'ai appelé Josh le lendemain matin. J'ai tout mis. J'ai retiré l'argent de mes économies restantes et je l'ai réparti sur trois mois (pour un homme célibataire qui vit seul et sans enfants, mille dollars par mois suffisent). Il est temps de me mettre au travail, maintenant je suis apprenti à temps plein. Gardez à l'esprit : la recherche Google, Stackoverflow, IRC #RubyOnRails et la communauté Rails me soutiendront lorsque je serai bloqué, je suis sûr qu'ils suffiront.

Mes trois prochains mois - Mission: obtenir un MVP, travailler suffisamment, mais pas « assez nul » pour laisser une première impression épouvantable.

Semaines 1 à 3

C’était peut-être la courbe d’apprentissage la plus difficile, mais je n’ai PAS abandonné.

Les murs sont faits pour les gens qui ne veulent pas vraiment les quitter.

Configurer un bureau Rails pour un débutant complet peut être incroyablement ennuyeux. Conseil n°1 : procurez-vous un Mac. Astuce n°2 : utilisez Homebrew, RVM, Git et Heroku (c'est vraiment tout ce dont vous avez besoin pour commencer). J'ai passé quelques jours à installer, puis j'ai tout désinstallé et réinstallé. Il suffit de répéter plusieurs fois et vous vous habituerez à utiliser ligne de commande terminal (console) et comprendre pourquoi les choses fonctionnent comme elles le font. Ensuite, la première chose que j'ai faite a été TryRuby, Rails for Zombies et Rails Tutorial de Michael Hartle. Ne vous inquiétez pas d'une compréhension à 120 % du contenu, cela n'arrivera pas tant que vous n'aurez pas vraiment commencé à apprendre. J'ai terminé le didacticiel Rails et créé cette application de type Twitter en une semaine environ sans vraiment comprendre ce que j'ai fait. Plus tard, au fur et à mesure de ma progression, j’ai commencé à réaliser que tout commençait à avoir un sens.

Semaines 3 à 6

Avec l'application Twitter construite avec le didacticiel Rails, j'ai gagné en confiance. Le guide n'a pas fait de moi un développeur, mais je connais maintenant les étapes générales de création d'une application, de la création de l'application elle-même à son installation sur Heroku. Tout ce qui se passait entre-temps restait flou. Comment puis-je VRAIMENT commencer à apprendre maintenant ? Travailler sur un vrai projet qui compte pour moi. Josh et moi avons décidé que je devrais travailler librement sur Freelancify et voir ce que je pouvais faire. La première chose que j'ai faite a été de prendre tout le code HTML du framework et de l'organiser en vues et fichiers partiels. J'ai créé des plates-formes de modèles (échafaudées) pour les utilisateurs (utilisateurs) et les projets (projets). Ensuite, j'ai commencé à découvrir mon premier véritable joyau, Devise. Ensuite, la possibilité d'avoir des relations, par exemple chaque Utilisateur aura un portfolio. Mais les utilisateurs peuvent avoir plusieurs portefeuilles, tandis que chaque portefeuille ne peut appartenir qu'à un seul utilisateur. Une fois que vous comprenez comment fonctionnent les relations entre les modèles et comment appeler/afficher des choses qui appartiennent à autre chose, la vie devient beaucoup plus facile. Si vous êtes bloqué dans une partie et que vous ne pouvez pas bouger, ignorez-la. Il est probable que pendant que vous développez une autre fonctionnalité, vous comprendrez également comment implémenter ce que vous avez manqué.

Semaines 6 à 9

Pas à pas, j'ai continué à apprendre en copiant et en répétant. Je pouvais faire fonctionner les choses, et puis - bam - et j'étais coincé dans un mur et je n'avais absolument aucune idée de quoi faire ensuite. En allant sur Stackoverflow, le chat IRC #RubyOnRails, RailsCasts ou en tirant sur Josh, j'ai finalement compris comment procéder. Faites la même chose encore et encore et vous apprendrez assez rapidement. Passer des heures ennuyeuses à tester la réponse Stackoverflow de quelqu'un pour découvrir qu'elle ne fonctionne pas est en fait utile. Vous comprenez ce qu'il ne faut pas faire. Et quand tu auras trouvé la réponse, tu commenceras à comprendre POURQUOI le dernier n'a pas fonctionné. À cette époque, j’ai commencé à prendre conscience de l’ampleur de la situation et à vraiment comprendre POURQUOI tout fonctionne exactement comme il fonctionne. Je me sentais comme un idiot et je suis revenu en arrière et j'ai refactorisé le code que j'avais écrit plus tôt pour le rendre plus efficace. Et à un moment donné, j’ai atteint un stade où tout a commencé à se mettre en place.

Semaines 9 à 12

J'ai été dans une frénésie de bonne humeur pendant que je construisais Freelancify dans la phase de lancement. À ce stade, j’avais l’impression de guérir, de redonner vie aux fonctions. La semaine dernière a été consacrée au débogage de divers bugs et problèmes. Ce lundi j'ai lancé le site. Mais je suis encore loin d'avoir terminé ma formation... C'est tout. J'ai omis (par souci de concision) les petits détails et les points techniques. Cependant, n'hésitez pas à poser des questions dans les commentaires, j'essaierai certainement d'y répondre. James Fend.

P.S. - Même si j'ai été grandement aidé par l'aide d'un mentor que j'ai pu rencontrer, on peut tout à fait apprendre Rails sans lui. Ou essayez d'en trouver un par vous-même, de nombreux développeurs Rails aiment contribuer à la communauté. Recherchez des conférences et des réunions locales.

Cette entrée date de plus de deux ans (publiée le 27 janvier 2012), mais elle n'a néanmoins pas perdu de sa pertinence. James Fend a réussi pendant ce temps à vendre Freelancify et à investir dans une nouvelle startup, a-t-il écrit à ce sujet le 27 février 2013. Je pense que cet article est un excellent exemple de la façon dont une personne peut atteindre son objectif. Juste assez pour commencer. :)

Créez de vraies applications en utilisant Ruby on Rails. Vous avez peut-être essayé Ruby on Rails, mais vous l'avez trouvé trop compliqué et vous avez l'impression d'avoir besoin d'une introduction plus complète. Peut-être que votre patron ou votre client vous a plongé dans le grand bain avec un projet Ruby on Rails et que vous avez besoin de vous familiariser rapidement avec Rails ? Ou peut-être avez-vous décidé d'ajouter le développement Web et Ruby on Rails à votre CV. Si tel est le cas, vous êtes au bon endroit. Ce cours vous apprendra à créer des applications Web avec Ruby on Rails.


Pourquoi Ruby on Rails ?

Ruby on Rails est rapide et méthode efficace développement d'applications Web. Il simplifie les tâches répétitives courantes qui prennent beaucoup de temps à créer dans d'autres langues. Il est beaucoup plus facile d'obtenir un produit de haute qualité dans Ruby on Rails que dans d'autres langages.

Étant donné que le framework est mature, il existe une tonne de projets/codes open source que vous pouvez utiliser, qui sont extrêmement puissants et vous donnent vraiment un avantage dans la création d'applications Web robustes.

De plus, il utilise le langage de programmation Ruby. Le code Ruby se lit comme l'anglais, ce qui le rend beaucoup plus facile à comprendre si vous commencez tout juste à programmer. En tant que langage typé dynamiquement, Ruby n'a pas toutes les règles strictes que d'autres langages établissent et est similaire à un langage parlé à bien des égards. Cela vous donne la flexibilité nécessaire pour résoudre les problèmes d’une manière plus humaine que les autres langages de programmation.

Qu'est-ce qui est couvert ?

Certaines des fonctionnalités couvertes par le cours incluent...

Bases de Git, "7 méthodes" principales de Rails et comment elles exécutent "CRUD", routage Rails, paramètres forts, rappels personnalisés, validation personnalisée, partiels,

Bootstrap 4, générateurs Rails, autorisation utilisateur, authentification utilisateur, gestion de contenu, déploiement, chargement de base de données, envoi/réception E-mail utiliser une application Rails, configurer Sidekiq, configurer Redis sur Heroku et un serveur privé, installer des modèles, des messages de paiement personnalisés, ajouter des actifs au pipeline Rails, télécharger des images sur votre propre serveur, télécharger sur AWS, ajouter WYSIWYG est ce que vous voyez, c'est ce que vous obtenez de l'éditeur et bien plus encore !

Pourquoi s'inscrire à ce cours est la meilleure décision que vous puissiez prendre.

Ces cours utilisent des exemples simples pour effectuer des tâches complexes. Le but est de vous faire comprendre exactement ce que vous faites et les raisons pour lesquelles, plutôt que de taper du code que vous ne comprenez pas. Aucun code n'est masqué car il est important que vous compreniez ce que fait chaque ligne.

Après avoir terminé ce cours, vous posséderez les compétences nécessaires pour créer vos propres applications Web à l'aide de Ruby on Rails.

Plus tôt vous vous inscrirez à ce cours, plus tôt vous disposerez des compétences et des connaissances dont vous avez besoin pour accroître votre expérience. Les développeurs Ruby on Rails sont très demandés ! Pourquoi ne pas commencer à travailler sur Ruby on Rails dès aujourd'hui ?

J'ai longtemps voulu apprendre Ruby on Rails à un niveau de base. Pas de but précis. Plutôt, juste pour moi, afin de mieux comprendre ce qu'il a de si spécial (contrairement à 100 500 autres technologies et frameworks), qui permet de créer et de faire évoluer rapidement des projets Internet assez chargés. Une raison secondaire était le désir d’essayer de nouvelles approches d’apprentissage. Lorsque j'étudiais pour devenir programmeur, nous n'avions que des livres et des forums où l'on pouvait demander conseil. Il existe désormais des manuels interactifs et des écoles de programmation en ligne, un grand nombre de screencasts (presque un rêve : pour voir comment les gourous codent), des bases de connaissances comme stackoverflow.com et des tonnes de code source sur GitHub, où vous pouvez passer des heures à étudier les codes sources. de vrais pros. J'ai décidé de consacrer les prochaines nuits (et il n'y a pas de temps pendant la journée) à essayer de nouvelles façons d'apprendre par l'action.

première nuit

Il serait étrange de commencer à apprendre Ruby on Rails sans au moins une connaissance minimale de Ruby directement. J'ai déjà consulté le guide interactif ruby-lang.org. Mais en passant devant, j'ai tout de suite tout oublié. Ses créateurs promettent qu'il faudra quinze minutes pour parcourir et maîtriser la syntaxe Ruby. Il m'en a fallu trente. C'est vrai, avec une distraction constante sur Twitter. Le processus ressemble à ceci. Ils vous disent : « Les tableaux dans Ruby sont déclarés comme ceci, et les données sont récupérées à partir de tableaux comme celui-ci. Essayons maintenant de créer un tableau et d'en extraire N éléments. Et nous vérifierons." Vous lisez comment tout est arrangé et vous l'essayez immédiatement. Ruby, bien sûr, vous n'apprendrez pas. Il vaut mieux y penser comme à un cours super-express qui fonctionne. Pourtant, Ruby lui-même est très loin du framework Ruby on Rails. Je voulais maîtriser les rails. De notre article sur l'éducation en ligne, je me suis certainement souvenu du cours sensationnel Zombie for Rails railsforzombies.org. C'est comme Try Ruby, un didacticiel interactif qui vous apprend dès le départ à préparer des applications ferroviaires. Tout d'abord, ils vous donnent une mini-conférence (en anglais, mais tout est très clair - activez les sous-titres) sur la structure des fichiers d'une application ferroviaire, l'approche CRUD pour travailler avec les données, expliquent comment le modèle MVC est implémenté dans les rails , et ainsi de suite. Après chaque vidéo, il vous est proposé de réaliser des devoirs pour consolider le matériel. Tout semble simple et compréhensible, le parcours passe inaperçu en une heure ou deux (il est petit). Mais! Ai-je senti après le cours que je pouvais rédiger une candidature ferroviaire ? Malheureusement non!

Deuxième nuit

L'une des raisons pour lesquelles après Rails for Zombies il y a quelques connaissances de base, mais aucune confiance, est l'environnement virtuel dans lequel se déroule la formation. D'une part, cela réduit le seuil d'entrée à la limite : vous n'avez pas à vous soucier de l'environnement. D’un autre côté, vous ne créez rien de réel en cours de route – pas de « Hello World » pour vous à la fin. Et surtout, de quel côté aborder sa création n'est pas clair. À partir de ce moment-là, j'ai voulu essayer Ruby on Rails en action, en l'installant sur le système (avant cela, je n'avais même pas besoin d'essayer) et créer une application simple à partir de zéro. Je ne me souviens pas comment, mais tout à fait par hasard, je suis tombé sur un cours de screencasts très réussi sur rails.hasbrains.org russe. Merci à l'auteur pour sa présentation compétente : il explique méthodiquement en détail les principes de l'application ferroviaire, vous plongeant au passage dans toutes les subtilités nécessaires. En bref, pendant toute la deuxième nuit de l'expérience, j'ai regardé la première moitié de plus de trente épisodes de ces screencasts. L'image est finalement restée dans ma tête, comment l'application est générée, comment travailler avec la console ferroviaire, comment créer des modèles et des migrations, comment mettre à jour les modèles et comment valider les données qu'ils contiennent, les contrôleurs RESTful, etc. En regardant chacun des épisodes, j'ai immédiatement tout essayé en action, en créant une application ferroviaire entièrement fonctionnelle. Il est devenu clair comment les rails sont disposés en principe.

Troisième nuit

Le troisième soir, il restait les derniers épisodes de screencasts, que j'ai réussi à regarder d'un seul coup : travailler avec les rails ne me paraissait plus si sauvage. À ce stade, quelqu'un m'a dit que le cours Rails for Zombies avait une suite raisonnable et beaucoup plus profonde. Certes, le cours est déjà payant et est hébergé dans le cadre de l'école de programmation Code School www.codeschool.com. Payer 25 dollars pour avoir accès à tous les cours de l'école n'était pas dommage. C'est le coût mensuel, donc si vous ne l'aimez pas, n'oubliez pas d'annuler votre abonnement. Le cours Rails for Zombies 2 a été un véritable succès. C'est vrai, beaucoup de choses étaient une répétition de ce que j'avais vu dans les screencasts - mais c'était même plutôt sympa. Cinq niveaux et cinq blocs d'exercices que vous effectuez directement dans la console interactive. À ce stade, les rails semblaient déjà logiques, compréhensibles et utilisables. Dans Code School, vous pouvez programmer directement dans le navigateur en complétant les devoirs de cours

Et après?

Ai-je appris à réaliser des projets complexes ? Non. Mais j'ai définitivement réalisé les approches utilisées dans les rails et j'ai compris leur commodité. J'ai appris à créer rapidement applications simples et en très peu de temps pour augmenter ses fonctionnalités à l'aide de gemmes écrites par la communauté. J'ai repris courage et continue d'étudier avec plaisir les bonnes pratiques des programmes Code School (maintenant je regarde le cours sur les tests unitaires). Et je suis vraiment heureux que l’apprentissage de la technologie soit devenu si simple.