ruby et son écosystème (french)
Post on 27-Jun-2015
926 Views
Preview:
DESCRIPTION
TRANSCRIPT
Ruby et son écosystèmeLe language, ses frameworks, en entreprise, sa communauté, …
Michael BensoussanLouis Cuny
Ruby et son écosystème Michael Bensoussan Louis Cuny
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
• Libre.• Language interprété, orienté objet et multi-paradigme
(Wikipedia).• Language né au Japon en 1993.• Première release en 1995.• Inspiré de plusieurs courants Perl, Smalltalk, Eiffel et Lisp.
Histoire
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Qui utilise Ruby ?
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Features
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
L’incontournable !
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Tout est objet !
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Tout est objet !
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Quelques classes de base String
Array
Hash
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Quelques classes de base Integer (Fixnum, Bignum)
Float
Ranges
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Quelques classes de base TrueClass, FalseClass, NilClass
Ne signifient pas la meme chose
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Dynamically typed
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Strongly typed
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Méthodes et paramètres Tout les paramètres sont passés par référence sur les objets
Une valeur par défaut peux-etre spécifié pour les paramètres
La valeur retournée est la dernière valeur évaluée
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Ruby juge un objet sur ce qu’il est capable de faire pas sur un type défini statiquement
Duck Typing
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Classes
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Héritage
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Modules Les modules sont des classes non instanciables Permet d’organiser l’espace de nom en structure arborescente
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Modules Pas d’héritage multiple en ruby
mais utilisation des Mixin !
Un Mixin étend les compétences d’une classe en lui ajoutant une série de méthodes
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Modules, exemple: Enumerable RDOC: The Enumerable mixin provides collection classes with several traversal and
searching methods, and with the ability to sort. The class must provide a method each, which yields successive members of the collection.
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Les blocs de code sont incontournables en Ruby
Blocs
Bloc = fragment de code avec contexte d’exécution
C’est un objet comme les autres (classe Proc)
Peut-être passé en paramètre et accepte lui aussi des paramètres
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Outils
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
interactive ruby shell
IRB
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Comme ‘make’ mais en Ruby !
Rake
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Gestion de package ruby
Gems
Gère les dépendances, les mises à jour, installe les librairies, exécutables et documentation
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Gems
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Gems, Libraries, Plugins
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Tests
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
unit testing framework : En programmation informatique, le test unitaire est un procédé permettant de s'assurer du fonctionnement correct d'une partie déterminée d'un logiciel (Wikipedia)
Rspec
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Interpréteurs
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Interpréteurs
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
FrameworksWebs
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Sinatra est un framework minimaliste pour créer des applications web sans efforts
Sinatra
A inspiré de nombreux autres frameworks dans de nombreux languages ; PHP (Slim, fitzgerald, frank.php), Perl (Dancer, Sinatra on Perl), javascript (express, samy), Scala (scalatra), Python (nicedog, web.py) …
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Sinatra
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Sinatra
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails Framework web basé sur 3 principes fondamentaux :
Convention Over Configuration DRY (don’t repeat yourself) REST
Il est basé sur une architecture MVC
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails : Modèles
Générer un model
Editer la migration (db/migrations/201009021356_create_users.rb)
Les modèles sont les classes assurant la gestion des données.
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails : Modèles Le modèle (app/models/user.rb)
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails : Console Rails surcharge irb pour lui rajouter des fonctionnalités propres a Rails
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails : Controlleur Les contrôleurs réagissent aux actions des utilisateurs, ils vont chercher les
données dans la base et les mettent à disposition aux vues.
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Rails : Vues Les vues déterminent comment sont affichées les informations à l'utilisateur.
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Ressources Site Officiel : http://ruby-lang.org _why Guide to Ruby : http://mislav.uniqpath.com/poignant-guide/ Sinatra site officiel : http://www.sinatrarb.com/ Ruby On Rails tutorial : http://guides.rubyonrails.org/
Rspec site officiel : http://rspec.info/
Intégration continue avec Integrity : http://integrityapp.com/ Rubygems : http://rubygems.org/
Github : http://github.com/
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Vous recherchez un
stage ?dev@letitcast.com
TESTRuby et son écosystème Michael Bensoussan Louis Cuny
Questions ?
mike@letitcast.comlouis@letitcast.com
top related