Le workshop est un espace public ouvert à tout le monde, expert.e.s comme débutant.e.s.
Nous voulons en faire un espace inclusif qui accueille tout le monde dans les meilleures conditions. Lisez le Code de conduite avant de participer.
Tous les deuxièmes mercredi du mois, à partir de 19h15.
Vous pouvez vous inscrire pour le prochain workshop sur notre page meetup.
Nous travaillons sur des katas, de petits exercices faisable en à peu près une heure.
Tous les katas se font en pairing, c'est-à-dire que deux personnes travaillent ensemble sur un clavier à la fois.
Pour découvrir le langage
Algorithmie et Structures de données : de l'algorithmie et de la bonne utilisation des structures de données à travers de petits problèmes
99 Bottles : Ecrire la chanson (en TDD). =)
Autour du sujet YAML to JSON : des Hash et de la récursivité à tous les étages!
Cryptographer : Ecrire le ROT-13.
Accumulate : Réimplémentez l'équivalent de Array#map
Bubble Sort : Faire du tri à bulle.
Bob : Pour vous familiariser avec les bases de la syntaxe, en faisant du TDD
Ruby Exercices : Une série d’exercices sur différents aspects du langage Ruby.
Robot Simulator : Un petit robot qui se déplace en fonction des instructions qu’on lui donne.
RNA Transcription : Pour traduire des brins d'ADN
Chiffres romains : Afficher des nombres en chiffres romains
Change-Making problem/Rendu de monnaie : faire de la monnaie avec le moins de pièces possible
Nom d'un robot : Kata court et instructif sur l'utilisation de variables et méthodes de classe vs celles d'instance
Equations littéraires/alphamétiques : résoudre des puzzles alphametiques, en utilisant les capacités de métaprogrammation de Ruby
ActiveRecord_like methods on PORO : créons sur des PORO (Plain Old Ruby Object) des méthodes comme celles d'ActiveRecord: id, find et find_by_nom_d_attribut
Trouver les points-selles d'une matrice : Trouver pour n'importe quelle matrice donnée son ou ses points-selles, ou points minimax (saddle points)
Vérifier si un numéro de Carte Bleue, de SIRET ou d'IMEI est valide : Si vous vous êtes toujours demandé comment un site vérifiait la validité d'une carte bleue, ce kata (et l'algo de Luhn) est pour vous
Trouver la plus longue sous-chaine qui se répète : Trouver parmi une chaîne donnée la plus longue séquence de caractères qui est en double
Déterminer si une grille de Sudoku donnée et remplie est valide : Un grand classique, déterminer si une grille de Sudoku remplie est valide ou pas
kata sur les chaînes de caractères, un peu comme des anagrammes : Imaginez un collier avec des perles gravées qui peuvent glisser le long d'une chaine. Quels mots peut on former ainsi ?
Si vous connaissez déjà les bases et quelques gems:
Sinatra API : Une petite api json avec Sinatra, similaire à File to Api
Yaml to JSON : transformer un format de traduction yaml en json
Guilded Rose : Oserez vous améliorer l'algorithme de Leeroy?
Du fichier à l’api : Faites une api à partir d’un fichier json.
FileDB : Faites une base de données à partir d’un fichier json. Kata réalisé par LiveMentor :D
Binary Tree : Insérez et cherchez dans un arbre binaire, une structure de donnée très utilisée à bas niveau.
ActionCableExample : Fabriquez un chat en temps réel avec Action Cable
CustomSet : Réimplémentez la classe Set.
Sidepunch : Comprenez les background jobs en implémentant un clone de Sidekiq
Flashcards : Dans ce projet, vous écrirez un programme flashcard qui sera utilisé via la ligne de commande. Un utilisateur pourra voir les questions, deviner et voir un score final à la fin du tour.
Battleship : Utiliser Ruby pour implementer le jeu classique Bataille navale!
Remplir une grille de Sudoku : Un grand classique du backtracking, résoudre une grille de Sudoku
Si vous avez déjà travaillé sur un projet Ruby/Rails en production:
The game of life : Why not build a game of life in ruby?
Spec This Not That : Quelles specs faire tourner sur une grosse suite de tests ?
Faites un grand sourire, et présentez vous brièvement à votre partenaire de pairing.
Choisissez un kata que vous voulez coder ensemble.
Prenez une minute pour lire l'énoncé chacun de votre côté.
Décidez de qui va coder en premier. Cette personne forke le repo.
L'autre personne ferme son laptop, et vous commencez à coder en discutant ensemble de ce que vous faites
Au bout de 10 minutes, faites un commit, pushez, et échangez de rôle. Celle ou celui qui codait ferme son laptop, l'autre pull le repo et continue de coder.
Echangez environ toutes les dix minutes, jusqu'à ce que vous soyez satisfaits du résultat. :-)