Articles

Affichage des articles du février, 2005

Perl : Comment afficher des "gros" chiffres avec un séparateur de milliers ?

Hummm quand il s'agit de lire des très grand chifres à l'écran, il n'est pas très pratique de devoir compter à la main sur l'écran les groupes de milliers... Et donc un séprateur de millier prend tout son sens : 1'456'987 est plus lisible que 1456987 ! c'est ainsi que Perl devient votre petit à petit votre alié quotidien. Car à l'aide des expressions régulières et de l'opérateur de substitution il est très facile d'obtenir l'effet escompté en 3 lignes ! En éxécutant le code ci-dessous on obtient . My personal fortune is 1'234'567 US$ #!/usr/bin/perl -w use strict; my $test = "My personal fortune is 1234567 US\$"; print PrintStringWithThousandSeparator($test); sub PrintStringWithThousandSeparator { my $Newtext = $_[0]; $Newtext =~ s/(?<=\d)(?=(?:\d\d\d)+(?!\d))/'/g; return $Newtext; }

ReverseProxy avec Apache

Quand on veut permettre à un utilisateur lambda d'accèder sur un reseau public d'accèder à des informations sur un site web 192.168.50.120 situé dans un réseau privé, deux possibiliés s'offre à nous: On peut prendre un serveur Linux et avec deux cartes réseau : une côté publique - eth0[10.163.200.9], une côté privé - eth1[192.168.50 77]) l'utiliser comme un Firewall avec les iptables et une règle DNAT pour ouvrir un port sur l'interface publique du firewall qui redirigera les demandes sur le serveur web du réseau privé exemple: echo 1> /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -i eth0 -p tcp -d 10.163.200.9 --dport 80 -j DNAT --to-destination 192.168.50.120 Ou on peut configurer un reverse proxy avec Apache ou Squid sur le Firewall Dans le deuxieme cas on a plus de souplesse car on peut intervenir sur chaque url par exemple avec mod_rewite mais tout d'abord la config nécess

Du code portable Win32-Linux

Pour obtenir très rapidement du code utilisant du graphisme et fonctionnant aussi bien sous Linux que sous Microsoft, je dois dire que le couple OpenGL /GLUT reste des valeurs sures à mes yeux. Ainsi le code ci-après fonctionne et se compile pil-poil sous win32 et sous Linux: /* My First GLUT chtit bout de code pour compiler sous linux : gcc -o cgglut01 cgglut01.cpp -lglut -lX11 -lGL -lGLU */ #include void display(void) { glClear (GL_COLOR_BUFFER_BIT); // draw blue rectangle with corners at // (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) glColor3f (0.0, 0.0, 1.0); glBegin(GL_POLYGON); glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); // start processing buffered OpenGL routines glFlush (); } void init (void) { glClearColor (0.0, 0.0, 0.0, 0.0);// select clearing color background /* initialize viewing values */ glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrt