Je me pose toujours des questions de performance lorsque je développe. Il y a souvent plusieurs façons de rêgler un problème et certaines plus consommatrices de ressources que d'autres. Dans le cas qui m'intéresse, je me questionne sur la performance des expressions régulières en regard d'autres méthodes de traitement de chaîne. Je dois effectuer un traitement sur un très grand nombre de lignes de log au fur et à mesure de leur émission en syslog.
mercredi 2 avril 2008
Qui est le plus fort entre l'éléphant et l'hippopotame
Par hr le mercredi 2 avril 2008, 15:31
mardi 18 mars 2008
C'est curieux chez les marins ce besoin de faire des phrases
Par hr le mardi 18 mars 2008, 15:47
Suite à une remarque judicieuse j'ai été obligé de gérer un petit cas particulier qui conduisait à un conflit. Le script sed est maintenant modifié, ce n'est pas extrêmement propre mais c'est assez efficace. Le bout du script concerné est :
# remove /* */ comments, multiline or not
/\/\*/{
# special case of /*/ starting comments that fools the next test
s:/\*/:/\* /:
:mline
/\*\// {
s:/\*.*\*/::
b mlineend
}
N
b mline
}
:mlineend
lundi 17 mars 2008
Pour en finir avec Lulu la Nantaise
Par hr le lundi 17 mars 2008, 12:32
Au final, je me suis occupé des espaces, le but de ce script étant au départ de fournir un code nettoyé qui pourra passer au banc des statistiques. Le script sed est disponible et placé sous license type *BSD. Quelques corrections d'erreur et de nouvelles fonctions constituent cette dernière version du script.
samedi 15 mars 2008
Les commentaires déssoudés par Jo le trembleur
Par hr le samedi 15 mars 2008, 21:21
La version précédente du script sed ne me convenait pas. Elle ne gérait pas certaines formes de commentaires horribles, qui mériterait une sentence extrême et douloureuse. C'est maintenant chose rêglée avec une version améliorée.
vendredi 14 mars 2008
Du C par Teddy de Montreal
Par hr le vendredi 14 mars 2008, 17:25
" ... un fondu qui travaillait qu'à la dynamite." Je me suis mis en tête de compter le nombre de lignes efficaces d'un développement en C. Par ligne efficace j'entends le nombre de lignes de code vraiment compilées. Je dois donc éliminer les commentaires sous leurs diverses formes et les lignes blanches. Et comme j'aime bien me faire mal, au lieu de faire ça en 10 minutes en Perl ou Python, je l'ai fait grâce à sed(1).
jeudi 13 mars 2008
Booooooonjouuuuuuuuuuuur jeee m'aaaappeeeeeeeeeeeeelle Dooooooooriiiiiiiiiiiis
Par hr le jeudi 13 mars 2008, 15:54
Suite à la configuration de net-snmp pour utiliser des scripts, il a bien fallu coder un compteur 32bits. Aimant les défis, je me suis décidé à écrire un compteur 32 bits en bash qui compte les entrées d'une base de donnée.
vendredi 11 janvier 2008
HAL> Affirmative, Dave, I read you.
Par hr le vendredi 11 janvier 2008, 17:39
Ah la vacuité d'une session IRC sur un canal dirigé par un automate. Quoi de plus extraordinaire que pouvoir connaitre la météo de Felletin dans la Creuse ou d'avoir une blague carambar à la demande. En ce moment je fais beaucoup de python, donc je me suis penché sur le problème pour un ami. Je vais essayer de vous exposer les clés de l'utilisation d'irclib pour construire un automate irc simple.
jeudi 3 janvier 2008
WOPR> Global Thermonuclear War
Par hr le jeudi 3 janvier 2008, 18:33
Dans mon parcours d'initiation à python, je me suis retrouvé face à un problème existentiel (ce qui donne tout le caractère initiatique au parcours, le problème, parce qu'il est existentiel ... laisse tomber). Lors de l'utilisation du module cmd, comment gérer correctement les interruptions classiques que sont ctrl+D (EOF) et ctrl-C (SIGINT).
dimanche 11 novembre 2007
A chacun sa petite fiche de présence
Par hr le dimanche 11 novembre 2007, 12:52
J'aime bien avoir des logs d'accès séparés par vhost sur mes serveurs, ça permet de simplifier la recherche d'erreur et la construction de statistiques. Comme je gère mes vhosts par un script, j'ai pensé que rajouter la création automatique de logs d'accès serait un plus. C'est toujours ça qui ne sera pas oublié lors de l'ajout d'un nouveau vhost.
Au passage, j'ai rajouté le document-root automatique, les données d'un site virtuel doivent se trouver dans un répertoire du nom de son fichier de configuration.
# ./include_vhost -h
Usage: include_dir [-hptx] [-d docroot_path] [-l log_path] <dir>
-h displays this help
-d Automatic document-root specification
-l Add vhost access logs in log_path
-p print the parsed config files and exit (default behaviour)
-t test the config files
-x specify a lighttpd binary (default /usr/local/sbin/lighttpd)
samedi 21 juillet 2007
Je veux bien prendre mais pas de là
Par hr le samedi 21 juillet 2007, 22:14
C'est toujours autant amusant de jouer avec lighttpd, mais parfois on se trompe dans un fichier de configuration et là, c'est le drame. Mon script include_dir ne permet pas de savoir quel fichier de configuration est brokmut lors de l'utilisation de lighttpd -p -f lighttpd.conf. C'est maintenant chose faite, avec la nouvelle version toujours téléchargeable au même endroit. Au passage, il est passé en license beerware
# ./include_dir -h
Usage: include_dir [-hptx] <dir>
-h displays this help
-p print the parsed config files and exit (default behaviour)
-t test the config files
-x specify a lighttpd binary (default /usr/local/sbin/lighttpd)
# ./include_dir -t vhost.d/
>>> Testing vhost.d/www.vhost1.org
Syntax OK
>>> Testing vhost.d/www.vhost2.org
2007-07-21 22:28:47: (configfile.c.833) source: vhost.d/www.vhost2.org line: 3 pos: 21 parser failed somehow near here: (EOL)
>>> Testing vhost.d/www.vhost3.org
Syntax OK
« billets précédents - page 1 de 2