ZenTech

Aller au contenu | Aller au menu | Aller à la recherche

mercredi 2 avril 2008

Qui est le plus fort entre l'éléphant et l'hippopotame

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.

Lire la suite...

mardi 18 mars 2008

C'est curieux chez les marins ce besoin de faire des phrases

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

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.

Lire la suite...

samedi 15 mars 2008

Les commentaires déssoudés par Jo le trembleur

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.

Lire la suite...

vendredi 14 mars 2008

Du C par Teddy de Montreal

" ... 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).

Lire la suite...

jeudi 13 mars 2008

Booooooonjouuuuuuuuuuuur jeee m'aaaappeeeeeeeeeeeeelle Dooooooooriiiiiiiiiiiis

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.

Lire la suite...

vendredi 11 janvier 2008

HAL> Affirmative, Dave, I read you.

HAL 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.

Lire la suite...

jeudi 3 janvier 2008

WOPR> Global Thermonuclear War

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).

Lire la suite...

dimanche 11 novembre 2007

A chacun sa petite fiche de présence

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)

Lire la suite...

samedi 21 juillet 2007

Je veux bien prendre mais pas de là

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

- page 1 de 2