Un sed ça va, trois sed...

Magazine
Marque
Open Silicium
Numéro
13
Mois de parution
décembre 2014
Spécialité(s)


Résumé

C'est un des piliers historiques du monde UNIX, un des outils de base que l'administrateur et le développeur « doivent connaître », mais aussi un de ces programmes qui donnent à UNIX/Linux sa mauvaise réputation, son aura d'impénétrabilité, qui font penser que le système ne sera jamais vraiment, totalement accessible au commun des mortels.Pire que vi, plus sournois que brainfuck, voilà le retour de sed.


Pourtant j'avais été échaudé lorsque j'ai conçu le compacteur de code JavaScript [1]. J'avais dû abandonner rapidement car les limitations sont très vite apparues et le code source devenait ignoble, donc ingérable sur le long terme. Mais j'ai bien vite tourné la page et j'ai cru qu'un algorithme simple échapperait à la règle. Au final, j'ai perdu beaucoup de temps et ma foi en l'humanité.

1. Un problème trivial

À la base, c'était quand même très simple. J'avais déjà codé l'algorithme en C et en Javascript, c'était très facile, digne d'un exercice de programmation de débutant, réfléchi, écrit et testé en trois minutes.

L'objectif consiste à encoder un flux binaire en hexadécimal. Chaque octet est converti en deux caractères, et lorsqu'un octet se répète, les répétitions suivantes sont représentées par un seul point. Par exemple la chaine hexadécimale 00 11 22 22 22 33 33 44 55 55 55 55 66 est écrite ainsi :  00 11 22 . . 33 . 44 55 . ....

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

L'ère des transistors au germanium

Magazine
Marque
Hackable
Numéro
51
Mois de parution
novembre 2023
Spécialité(s)
Résumé

Dans ma quête de « désinformatisation » [1], après avoir touché le fond en jouant avec des relais [2] (et sans en être remonté encore), j'ai sauté l'étape thermoïonique pour m'intéresser aux premiers transistors. Je me posais surtout cette question bête : comment nos aïeux ont-ils bien pu se débrouiller avec une technologie si capricieuse ?

Le microbenchmark est mort, vive le benchmarking différentiel !

Magazine
Marque
GNU/Linux Magazine
Numéro
265
Mois de parution
septembre 2023
Spécialité(s)
Résumé

Le benchmarking, ou mesure de la performance d’un morceau de code est devenu impossible alors qu’il reste absolument indispensable pour toute démarche d’optimisation. Comment peut-on savoir si une modification va l’accélérer, et dans quelle mesure ? Aujourd’hui, ce n’est en fait plus la vitesse absolue qui compte, mais la différence entre deux versions qui nous guidera.

PEAC : l’arrière-petit-neveu de Galois et Fibonacci

Magazine
Marque
GNU/Linux Magazine
Numéro
265
Mois de parution
septembre 2023
Spécialité(s)
Résumé

« L’important ce n’est pas d’avoir raison, mais d’être compris » a dit Dominique de Villepin, un soir à la télé. Je ne suis pas diplomate, mais cet adage s’applique aussi parfaitement dans le domaine des sciences, et surtout des mathématiques et de ses applications, où la vérité absolue nous échappera toujours un peu (merci, Monsieur Gödel) et nos heuristiques comblent les lacunes. Avoir tort est inévitable quand on défriche un sujet totalement nouveau, la compréhension est alors indispensable pour compenser les petites erreurs ou zones d’ombre. Donc, ces derniers mois, je vous ai parlé en détail de checksums [1], de Galois et des corps finis [2] ou de générateurs de nombres pseudo-aléatoires [3] [4], ravivant avec succès une bien vieille série. Tout cela pour établir les bases du présent article, qui synthétise enfin PEAC : un générateur de séquences pseudo-aléatoires (PRNG), dérivé accidentel de la séquence de Fibonacci, aux propriétés fascinantes et aux applications très intéressantes.

Les derniers articles Premiums

Les derniers articles Premium

Bénéficiez de statistiques de fréquentations web légères et respectueuses avec Plausible Analytics

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Pour être visible sur le Web, un site est indispensable, cela va de soi. Mais il est impossible d’en évaluer le succès, ni celui de ses améliorations, sans établir de statistiques de fréquentation : combien de visiteurs ? Combien de pages consultées ? Quel temps passé ? Comment savoir si le nouveau design plaît réellement ? Autant de questions auxquelles Plausible se propose de répondre.

Quarkus : applications Java pour conteneurs

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Initié par Red Hat, il y a quelques années le projet Quarkus a pris son envol et en est désormais à sa troisième version majeure. Il propose un cadre d’exécution pour une application de Java radicalement différente, où son exécution ultra optimisée en fait un parfait candidat pour le déploiement sur des conteneurs tels que ceux de Docker ou Podman. Quarkus va même encore plus loin, en permettant de transformer l’application Java en un exécutable natif ! Voici une rapide introduction, par la pratique, à cet incroyable framework, qui nous offrira l’opportunité d’illustrer également sa facilité de prise en main.

Les listes de lecture

8 article(s) - ajoutée le 01/07/2020
Découvrez notre sélection d'articles pour faire vos premiers pas avec les conteneurs, apprendre à les configurer et les utiliser au quotidien.
11 article(s) - ajoutée le 02/07/2020
Si vous recherchez quels sont les outils du DevOps et comment les utiliser, cette liste est faite pour vous.
8 article(s) - ajoutée le 02/07/2020
Il est essentiel d'effectuer des sauvegardes régulières de son travail pour éviter de perdre toutes ses données bêtement. De nombreux outils sont disponibles pour nous assister dans cette tâche.
Voir les 59 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous