Xavier Nayrac

Rubyiste accro au TDD, serial blogger, heureux utilisateur de Vim, accordéonniste.
Si vous vous sentez particulièrement généreux, suivez moi sur Twitter.

Pas de logique dans les vues Rails

| Comments

Niveau : facile

Je dis souvent aux personnes avec qui je travaille qu’introduire de la logique dans les vues est une mauvaise idée.

Pour moi, une vue n’est pas vraiment un fichier comme les autres. C’est avant tout du HTML, donc normalement rien de bien compliqué. Et à ce titre, j’ai rencontré beaucoup de développeurs, certains par ailleurs très doués, pour qui les vues sont inconsciemment les poubelles d’un projet Rails. Leurs modèles et leurs contrôleurs sont très bien écrits, concis, testés, refactorés, parfois même documentés ;) Mais leurs vues sont incompréhensibles et compliquées à outrance.

Ce que je n’ai pas fait cette semaine

| Comments

Premier article d’une série récurente que je posterai chaque dimanche, voici ce que je n’ai pas fait cette semaine.

Je n’ai pas installé la dernière version de l’IDE Arduino. Je ne compte pas l’utiliser, mais il parait qu’elle intègre des outils en ligne de commande, et ça c’est cool.

Un jeu de Simon - Étape 1

| Comments

Niveau : facile

Lors d’un projet du dimanche avec ma fille, j’ai commencé un jeu de Simon sur l’Arduino. Nous avons simplifié les règles au maximum (ma fille n’a pas 3 ans) et obtenu ce que je vous propose dans cet article.

C’est seulement un point de départ, j’ai bien envie d’implémenter le jeu en entier et d’en faire un objet réel. Il devrait donc y avoir d’autres articles…

Dis digital encore une fois

| Comments

Je suis un pessimiste optimiste. C’est à dire que ma raison sait qu’une cause est irrémédiablement perdue depuis longtemps, et malgré tout, mon cœur me pousse à faire quand même quelque chose, parce qu’on ne sait jamais.

Le combat «digital» vs «numérique» illustre parfaitement mon pessimisme optimiste. La cause est entendue depuis longtemps, l’anglicisme «digital» a gagné et écrasé haut la main (haha) le mot «numérique», et pourtant je tente quand même de réhabiliter «numérique», à mon petit niveau, en l’employant toujours et partout à la place de digital.

Les maths derrière V=RI

| Comments

Niveau : facile

\(V = RI\), la formule est simple. V pour le voltage (en Volts), R pour la résistance (en Ohms) et I pour l’intensité (en Ampères). Grâce à elle nous pouvons calculer l’ampérage si nous connaissons le voltage et la résistance:

Et nous pouvons aussi calculer la résistance si nous connaissons le voltage et l’intensité:

Pas besoin d’être fort en math pour pouvoir appliquer ces 3 formules. On a juste à faire une multiplication, ou bien une division. Mais si on veut comprendre pourquoi les deux dernières formules découlent de la première, il faut un minimum de bagage en math.

Cet article est pour celles et ceux qui ont séchés les cours de math au collège et qui voudraient maintenant comprendre pourquoi \(V = RI\) implique nécessairement \(I = V / R\). Je vais tâcher de tirer et d’expliquer tous les fils qui nous amène à déduire la seconde formule à partir de la première.

Une machine de Turing en Ruby - Une bande de données infinie

| Comments

Niveau : facile

Dans la définition d’une machine de Turing on trouve:

Le ruban est supposé être de longueur infinie vers la gauche ou vers la droite, en d’autres termes la machine doit toujours avoir assez de longueur de ruban pour son exécution. — Wikipédia

C’était une grande limitation de l’implémentation de ma machine de Turing que d’avoir une bande de taille fixe. Avec la nouvelle version, cette limitation est désormais levée.

Une machine de Turing en Ruby - Le parser

| Comments

Niveau : facile

La machine de Turing réalisée dans le dernier article était seulement un brouillon, et elle souffre de plusieurs limitations. J’aimerais maintenant faire évoluer le programme en permettant à l’utilisateur de charger un jeu d’instructions quelconque. Pour cela j’aurai besoin d’un parser, qui sera vite écrit grâce à Ruby.