Nouveau format numérique pour MISC Mag : le Flipbook

Salut à tous, une brève cette semaine sur un nouveau format numérique pour MISC Mag proposé par les éditions diamond : le Flipbook. Ça va vous sembler bizarre pour un type qui a déjà publié 3 fois dans le magazine en question, mais en fait j’étais plus abonné chez eux depuis 2013… Pour 2 raisons :

  • Pa vraiment besoin : je me débrouillais toujours pour lire les articles qui m’intéresse via le boulot, via l’abonnement du service ou via le service « CONNECT » quand on l’a eu (oui, je sais, c’est cheap de ma part).
  • Aspect pratique : j’ai déménagé suffisamment souvent ces 15 dernières années (genre 8 fois, depuis 2005) pour savoir que le papier c’est mal et que 10 ans de magazines pèsent quelques chose entre un âne mort et mon humour…

Et puis là, paf, à mon nouveau boulot : on est un peu plus nombreux, on est en flex-space ; et en 6 mois les MISC ils sont toujours pas arrivés jusqu’à moi malgré qu’on soit abonné. En regardant sur leur site, il s’avère que depuis septembre 2019 ils proposent une offre numérique « intermédiaire » entre l’abonnement papier et l’accès à Connect (à 300€/an) … Lire la suite

Extraire le dernier élément de chaque ligne en regex

Extraire le dernier élément de chaque ligne

Bonjour à tous, aujourd’hui un petit TP sur les expressions régulières. J’ai un collègue qui m’a demandé comment on pouvait Extraire le dernier élément de chaque ligne dans un bout de texte de quelques centaines de lignes. Voici un exemple de format :

IP Address 595,537
IPv6 Address 1,443
MAC Address 0
MD5 163,573

La première version de la regex que j’ai proposée est simple au possible :

([^\s]+)$

Qui signifie en gros : « tout, sauf les espaces avant la fin de chaque ligne ». Cette expression a quand même un problème avec ses performances (326 steps sur regex101) dans la mesure le moteur d’évaluation avance dans le texte, il ne part pas de la fin et va donc avancer dans chaque mot avant de « backtracker », si celui ci n’est pas suivi de la fin de ligne.

Du coup, j’ai pu proposer une première version optimisée :

^.*?\s([^\s]+)$

C’est l’une des rares cas que j’ai croisé où l’usage d’un .* rends l’expression plus performante (120 steps sur le même texte) en l’obligeant à aller à la fin de ligne directement avant de matcher le dernier bloc. D’après regex101, on est donc déjà 3 fois plus … Lire la suite

Key=Value en regex, extraction en PowerShell

Key=Value en Regex

Salut à tous, aujourd’hui je vous propose un focus sur la capture de structures répétées type Key=Value en Regex (ou expression régulières). C’est pas bien compliqué mais il semble qu’il y en ai quelques uns qui ne soit pas au courant du comment faire (et pour ceux qui savent même pas les comment/quoi des regex c’est par ici).

Comme un bon exemple est toujours plus parlant voici le genre de structure qu’on veut extraire :

key1="valueA" key2="valueB" key3="valueC"

Celui qui débute avec les regex aura surement envie d’écrire une regex de ce type:

(key1=\".*\") (key2=\".*\") (key3=\".*\")

Sauf que cette expression de capture des Key=Value en Regex, en plus d’être peu optimisée, n’est pas généralisable. J’entends que si le texte à analyser ne contient pas toujours les mêmes clés et pas forcément le même nombre entre plusieurs lignes. Exemple où cela ne fonctionne plus :

key1="valueA" key2="valueB" key3="valueC"
key1="valueA" key3="valueB" key5="valueC" key0="valueC"
key2="valueB" key52="valueC"

Du coup, là, on va commencer à devoir faire de vraies expressions régulières.

Première optimisation

Déjà, il est souhaitable ne pas utiliser

(.*) # "n'importe quoi plusieurs fois"

mais lui préférer :

([^=]+)= #"Tout jusqu'à un caractère spécifique"

Deuxième optimisation

Plutôt que simplement des groupes de … Lire la suite

Idées de cadeaux de noël Geek pour 2019 !

Idées de cadeaux de Noël geek 2021

Salut à tous, c’est presque noël, vous avez déjà du acheter vos cadeaux et donc je ne risque pas de vous influencer…^^ C’est donc le bon moment pour moi de vous donner ma petite sélection de cadeaux de noël Geek pour 2019, qui me viennent à l’esprit. Je suis sur que vous (n’)attentiez (pas) tous ça (du tout) ! Et comme d’hab : pas sponso, hein…

Idée cadeau 1 : un livre

How-To de Randall_Munroe, sorti en septembre et qu’on a déjà offert pour mon anniversaire. Dans la droite ligne de WhatIf et ThingsExplainer. C’est inutile, drôle, bien écrit et avec des jolis dessins, comme dans xkcd. Donc parfaitement indispensable !

Idée cadeau 2 : des écouteurs

Les Bose Headphone 700, et oui je sais : ils sont pas donnés… (Pour le coup, je les ai eu moins cher, coup de pot). Mais en contrepartie, ce sont vraiment de supers écouteurs. Je les utilise depuis un peu plus d’un mois et ils m’ont changé la vie dans les transports en commun.

  • Bon rendu sonore.
  • Isolation active efficace.
  • gestion de plusieurs connexions Bluetooth simultanées.
  • Isolation efficace de votre voie dans les conversations téléphoniques, y compris en
Lire la suite