Je viens de mettre en place en PHP un décryptage d'une donnée cryptée avec une librairie ColdFusion.
Il s'avère que l'implémentation de mcrypt en PHP n'est pas totalement compatible avec celle de ColdFusion. Du coup, après décryption, il faut enlever le padding réalisé avec PKCS#5.
Du coup, je découvre ce padding super astucieux. Pour compléter la taille des blocs, on rajoute des caractères de bourrage, dont la valeur ASCII est équivalente au nombre de caractères rajoutés : si on a un texte de 32 octets et qu'on veut des blocs de 48 octets, on rajoute 16 fois le caractères dont le code ASCII est 16.
Juste excellent.
Dans mon boulot, je suis amené à parser les user agents pour faire des stats sur les browsers des internautes.
Dans un projet, sur des logs de tracking d'une journée, il y a plus de 70 000 user agents différents (oui c'est un sacré bordel).
J'avais implémenté ça en utilisant la fonction get_browser de PHP, ça prenait du temps, mais c'est un process qui tourne une fois par jour donc je ne me prenais pas plus la tête que ça.
Un collègue a regardé la page de browscap.ini utilisé par cette fonction PHP http://browscap.org/ et a vu qu'une librairie custom était recommandé au lieu de la fonction native de PHP.
Avec get_browser, le parsing des user agents durait 2h.
Avec la lib custom qui se gère son propre cache (pour les regexp & co j'imagine), ça prend moins de 2 minutes...
Bluffant et je me sens un peu con de pas avoir creusé un peu plus quand j'ai codé le truc la première fois...
Bien pratique cet outil.
Ça relève pas mal de choses dans les scripts shell pour détecter les risques d'erreurs.
Un jeu d'aventure où il faut s'échapper en codant du javascript.
Le concept a l'air balèze.
"Hey, you!
This is a JavaScript guide intended to introduce new developers and help experienced ones to the JavaScript's best practices.
Despite the name, this guide doesn't mean exactly "the right way" to do JavaScript.
We just gather all the stuff from top developers and put here. Since it come from exceptional folks, we could say that it is "the right way", or the best way to do so."
Si un jour, je me mets plus sérieusement à faire du js, ou si on me demande une source pour apprendre, celle-ci peut servir.
Un jeu sympa pour tester ses connaissances en dev web.
"Je ne sais pas à qui est destiné cette documentation, mais c’est un boulot énorme et très bien fait de collecte, analyse et présentation des bonnes pratiques. Vous devriez passer dessus et prendre du temps à lire même si vous travaillez déjà avec PHP au jour le jour.
Pour m’être frotté à ce genre d’exercice, j’ai rarement vu un résultat aussi bon."
Merci Eric.D pour le lien et la description que je copie colle https://n.survol.fr/n/documentation-php
Oh, j'avais raté ça.
Hteumeuleu a fait un calendrier de l'avent pour les gens du web. Visiblement, à chaque jour son article.
Faudra que je jette un oeil.
Ça c'est bien.
Quelques équivalents de manipulations courantes jQuery en JS pur.
Moi qui utilise beaucoup de tables dans les IHM que je développe au boulot, ça pourrait m'intéresser. Faut que je regarde si l'utilisation de ce plugin est vraiment simplissime.
J'aime bien ce blog.
L'intégration n'est pas mon métier, mais c'est celui de certains collègues et puis des fois, j'en fais un tout petit peu.
On entend souvent les critiques sur les retours type "ça marche pas" sans autre détails, mais là, il présente les renseignements utiles pour lui et la façon de les donner (un screenshot vaut mieux que de longs discours).
Bref, j'aime bien ce blog.
Ahah, très bon.
Ça me fait penser à "Exploits of a Mom" http://xkcd.com/327/
Lorem Ipsum pour des utilisateurs.
Présentation des coding goûter (http://codinggouter.org/).
"Quand on met un adulte et un enfant derrière un ordinateur, l'enfant n'a pas forcément toutes les pistes, mais il sait faire des choses que l'adulte ne sait pas, ou ne sait plus faire. Comme se servir de son imagination, essayer, se planter, recommencer... C'est un contexte qui permet d'éviter que les parents contaminent leurs enfants dans leur appréhension à essayer des choses nouvelles.»
J'aime.
Excellent.
Le pitfall n°1 est PRECISEMENT la situation dans laquelle je me trouvais ahah
"for i in $(ls *.mp3)"
La chaîne de résolution de bug.
Excellent.
Un n'ième tuto que je regarderai quand j'aurais le temps et le besoin :)
Aaah, bah je savais même pas ce que signifiait JPEG progressif.
Effectivement super important à savoir quand on fait du web.