0

Une gem Ruby universelle en 20 lignes de code

Source: Universal Ruby Gems in 20 Lines of Code de Michal Taszycki

Les gems Ruby sont les blocs essentiels à la création d’applications Ruby Cross-Plateformes. Nous les utilisons pour encapsuler la logique de nos applications et extraire des fonctionnalités réutilisables sur différentes plateformes.

Je vais vous montrer comment préparer une gem Ruby pour qu’elle fonctionne avec Ruby, Opal.rb et RubyMotion sans aucune modification. De cette façon vous pourrez l’utiliser dans vos applications Rails/iOS/OSX/Android/Navigateur Client.

0

Guide de migration vers Capistrano 3

Source: Capistrano 3 Upgrade Guide de Darko Fabijan sur le blog de Semaphore

Nous avons récemment reçu des demandes de support pour Capistrano 3. Pour fournir un service de support de qualité, il faut connaitre le sujet, je me suis donc lancé dans la quête de migrer scripts de déploiement de Capistrano 2 à Capistrano 3. Comme toujours, cela a pris un peu plus de temps que prévu mais au final le code est plus propre.

Je dois dire que j’ai eu un flashback remontant à deux ans, lorsque je mettais en place Capistrano pour la première fois : la documentation est incomplète et il faut jongler entre le readme, le wiki et la page d’accueil officielle. Mais c’est un projet open-source et les participations pour améliorer cela sont les bienvenues.

Je vais tenter de vous faciliter la migration en vous montrant notre nouvelle configuration en parallèle de l’ancienne, étape par étape.

0

Apprendre Angular en un jour, le guide ultime

Source: Ultimate guide to learning AngularJS in one day par Todd Motto

Qu’est-ce qu’AngularJS ?

Angular est un framework MVC/MVVM côté client, développé en JavaScript, ce qui est obligatoire pour faire une application moderne à page unique (ou même un site internet). C’est un grand bond vers le futur de HTML et vers ce que HTML5 apporte. C’est également un grand bol d’air frais dans le monde des applications web modernes. Cet article est une vue de bout en bout, issue de mon expérience, et contient des conseils et astuces glanés au travers de mon utilisation d’Angular.

0

Elixir pour les rubyists (partie 2)

Source: Elixir for Rubyists part 2 par Nate West

Voici une tentative de réponse aux questions de la partie 1.

Immuable ??

Les variables d’Elixir sont immuables. Elles ne sont pas à assignation unique. Je vous entends déjà dire “Mais Nate ! Si on réassigne une variable, n’est-ce pas une mutation ?”. Non !

Elixir assure la transparence référentielle des variables

Transparence référentielle est une façon académique de dire “quand je fais quelque chose qui modifie une valeur, je peux toujours revenir à la valeur originale”. Jessica Kerr (@jessitron) appelle cela “données en entrée, données en sortie” (data in, data out). Sous forme de code :

0

Git est une structure de données purement fonctionnelle

Source: Git is a purely functional data structure de Philip Nilsson sur le blog de Jayway

Bien que les systèmes de gestion de versions décentralisés, comme Git, aient le vent en poupe en ce moment, ils semblent toujours avoir la réputation d’être plus complexes que leurs homologues centralisés, comme SVN. Je pense que l’une des raisons est que l’on a tendance à expliquer Git par comparaison : lorsque tu fait X avec SVN, tu fais Y avec Git.

Selon moi nous devrions plutôt présenter Git comme ce qu’il est : une structure de données purement fonctionnelle. Devenir expert Git implique d’apprendre à maitriser cette structure de données.

Si la notion de structure de données purement fonctionnelle vous est étrangère, cela ne va pas vous être d’une grande aide. Il se trouve qu’un minimum de connaissances sur le sujet suffit pour comprendre, nous allons donc passer rapidement sur ce sujet avant de revenir à Git.

0

Elixir pour les rubyists (partie 1)

Source: Elixir for Rubyists part 1 par Nate West

Elixir est mon nouveau langage préféré. Cet article est le premier d’une série de longueur indéterminée sur Elixir. En tant que rubyist, la syntaxe d’Elixir va vous sembler familière. Je vais donc vous montrer beaucoup de code pour vous expliquer comment il marche. Elixir est fonctionnel et amusant (FUNctional).

Elixir est un langage fonctionnel qui tourne sur la VM Erlang mais ressemble beaucoup à Ruby.

0

6 façons de réduire la souffrance due aux tests fonctionnels avec Rails

Source: 6 Ways to Remove Pain From Feature Testing in Ruby on Rails de Mitch Lloyd

L’écriture des tests fonctionnels a été une des parts les plus douloureuses de mon travail avec Ruby on Rails. Mais aujourd’hui c’est quelque chose que j’apprécie et voici pourquoi :

1. Je n’utilise pas Cucumber

Attention: Le point de vue exprimé dans le paragraphe suivant ne reflète pas forcement celui de l’équipe ou des partenaires de Gaslight Software, LLC.

Si vous avez installé Cucumber, supprimez-le. Les tests sont déjà assez difficiles sans que l’on ait besoin de transformer le langage naturel en code Ruby.

0

Les méthodes pack et unpack en Ruby

Source: Ruby Pack Unpack de Neeraj Singh sur le blog de BigBinary

Le langage C permet aux développeurs d’accéder directement à la mémoire où sont stockées les variables. Ruby ne le permet pas. Il est cependant des cas dans lesquels on peut avoir besoin d’accéder aux bits et octets contenus dans cette mémoire tout en travaillant avec Ruby. Ce dernier fournit deux méthods pack et unpack pour cela.

Voici un exemple :

'A'.unpack('b*')
#=> ["10000010"]

0

Utiliser les Expressions Régulières en Ruby (3/3)

Source: Using Regular Expressions in Ruby de Nell Shamrell sur le blog de Blue Box

Voici la seconde partie dans une série sur les Expressions Régulières en Ruby. Vous pouvez lire la première partie ici et la deuxième partie ici.

Le comportement des Expressions Régulières

Les expressions régulières sont puissantes. Comme un célèbre super-héros l’a dit un jour “with great power comes great responsibility” (à grands pouvoirs, grande responsabilité). Pour éviter qu’une expression régulière ne cause une catastrophe, vous devez être capable d’en contrôler le comportement.

0

Utiliser les Expressions Régulières en Ruby (2/3)

Source: Using Regular Expressions in Ruby de Nell Shamrell sur le blog de Blue Box

Voici la seconde partie dans une série sur les Expressions Régulières en Ruby. Vous pouvez lire la première partie ici et la troisième partie ici.

Les LookArounds

Les lookarounds me permettent d’aller plus loin que la simple comparaison avec un modèle. En effet, ils offrent la possibilité de donner un contexte à cette comparaison. Une expression contenant un lookaround ne retourne un résultat que lorsqu’elle est effectuée dans ce contexte.

0

Utiliser les Expressions Régulières en Ruby (1/3)

Source: Using Regular Expressions in Ruby de Nell Shamrell sur le blog de Blue Box

Voici la première partie d’une série sur les Expressions Régulières en Ruby. Vous pouvez lire la deuxième partie ici et la troisième partie ici.

Introduction

Pour être honnête, la première fois que j’ai vu une expression régulière, j’étais intimidée. Cela semblait si cryptique et mystérieux. Je peinais à voir comment la comprendre et a fortiori en écrire une. Encore récemment, je n’utilisais les expressions régulières qu’en cas d’absolue nécessité (une validation d’email par ici, un remplacement basique par là). Cela m’a empêché d’approfondir ma connaissance de leur utilisation en Ruby. Ruby travaille avec les expressions régulière dans une harmonie, une symphonie de code. Pour exploiter pleinement Ruby, je devais surpasser mon intimidation, ma peur des expressions régulières.

J’ai dépassé cette peur. Comme toute chose dans la vie, les expressions régulières semblent insurmontables jusqu’à ce qu’on les découpe. Je veux vous aider à dépasser votre peur des expressions régulières. Pour cela, je vais les découper, étape par étape, et vous guider au travers du concept d’expressions régulières en Ruby et ce jusqu’aux techniques avancées. J’espère que vous verrez la beauté, surpasserez votre intimidation et les adopterez dans votre code.