Sens-Interdit.fr

Tech Débloquer l'utilisation de l'event "onload" en Javascript

vendredi 30 juin 2006 à 09:05 (Julien Tartarin)

11 commentaires

L'event onload est très pratique pour initialiser des scripts Javascript, mais il a une limite : il attend que tout le contenu de la page soit chargé pour s'exécuter.

Lire la suite...

Tech preg_match()

lundi 19 juin 2006 à 18:09 (Julien Tartarin)

4 commentaires

Une petite expression régulière sympathique pour la route :

/^[a-z]{1}(-|(?<!--)([a-z0-9]{1})){2,18}[a-z0-9]{1}$/i

Son pitch, c'est de filtrer les pseudos de Lexode v8 selon leur nouveau format, c'est à dire en acceptant la présence de tirets. Par contre, pour des raisons d'arborescence de fichiers et de compatibilité/respect des normes, le pseudo doit commencer par une lettre et ne pas finir par un tiret. Et puisque c'est plus joli, les tirets consécutifs sont interdits !

J'ai eu la chance d'éplucher en détail la fantastique documentation de PHP (très complète !) pour écrire ce pattern un peu particulier (d'habitude, les expressions régulières sont un peu plus basiques).

Pour me faciliter la vie, j'ai décidé de mettre en place un unit test très basique et rapide pour être sûr en un coup d'œil que chaque cas prévu fonctionne comme attendu (ou pas, d'ailleurs), et j'ai écrit l'expression avec le modifier x (il permet de mettre des espaces pour faciliter la lecture des parenthèses).

Pour la petite histoire, la voilà décortiquée :

  • ^[a-z]{1} on commence par une lettre
  • [a-z0-9]{1}$ on finit par un chiffre ou une lettre
  • {2,18} entre tout ça, on a 2 à 18 caractères : le pseudo fait entre 4 et 20 caractères de toute façon
  • -|(?<!--)([a-z0-9]{1}) au milieu, on a soit un tiret, soit un chiffre ou une lettre qui n'est pas précédé(e) de deux tirets ((?<!--)([a-z0-9]{1}))

Pour exprimer cette condition sur les caractères précédents, c'est la chaîne ?<! qui importe. Et elle porte le doux nom d'assertion arrière négative.

C'est définitif : je suis amoureux des expressions régulières[1] !

Notes

[1] d'ailleurs, c'est comme ça que j'ai découvert la puissance de la programmation, il y a quelques années...

Tech Mesure de performances et optimisation en PHP

dimanche 18 juin 2006 à 23:03 (Julien Tartarin)

3 commentaires

Développer une application, ou plutôt des pages (scripts) à fort trafic (même si tout est relatif) n'est pas la chose la plus évidente à faire. Ces derniers mois m'ont appris quelques éléments non négligeables que je me permets de partager ici.

Lire la suite...

Sens-Interdit.fr