perso j'ajouterai quand meme une partition pour le /var parce que ca se remplit assez vite ce genre d'emplacements.. et sur les 2Go du / j'ai peut que ca ne fasse un peu juste , non?
( dans /var ya toute la messagerie, les bases de données, les logs systeme , des fois meme les packages téléchargés ..)
C'est bien pour cela que les licenses de films sont toutes portées sur toutes les consoles + PC :) ( ya qu'a voir harry potter, le seigneur des anneaux... )
Je ne suis pas certain que cela tienne devant un juge :-)
Le cd argenté peut aussi servir de Dessous de Verre ou bien d'épouvantails à moineaux
( j'ai une jolie collection de CD Aol/ClubInternet/xxxxx qui ont eu une carriere de ce genre.. c'est fou ce qu'on accumule entre 2 déménagements)
On peut aussi voir la solution freesbee.
Il reste aussi l'alternative ball trap mais c'est un poil moins ecolo parce que ca fait des bouts partout.
NB: un autre outil est fournit avec gcc:
gprof qui est souvent utile pour faire du profiling de code .. et t'apercevoir que tu as encore omis un passage de std::string par reference ... ;)
(pour le code fouillis c'est po ma faute, c'est mingw32 sous NT, j'avais que ca sous la main en intel.. )
si tu es en O3 il est probable qu'il déroule ou optimise les boucles de lui meme parce que gcc l'est péchu...
en bref ta tentative d'optimisation est pertinente sur un compilo qui ne ferait aucune optimisation. En revanche avec des flags d'optimisation, le compilo fait une partie du travail lui meme ( réorganisation de code, déroulement des boucles pour eviter les sauts ...
ce qui pour moi signifie que tu stockes la valeur 45 dans un byte sur 4
Le compilo trouve peut etre + optimal de faire un movb plutot qu'un movl dans ce cas là vu que tu ne forces qu'un byte.
si tu veux forcer 4 bytes en meme temps il faut peut etre mieux utiliser ca:
for(i=0;i<1024000;i++) (unsigned long)tab[i<<2]=(unsigned long)(0x63636363);
Ca dépend un peu aussi du logiciel que tu veux concevoir, de ce que tu veux laisser "accessible" au plugin, du langage ...
Je ne pense pas que l'on puisse avoir une recette toute faite
car cela me semble trop dépendant des fonctionalités du logiciel et du langage d'implémentation => les reflexes ne sont pas forcément les memes
Le plus simple AMA est de coder ton logiciel dans un langage interprété tel que python , ca pourra etre beaucoup plus souple pour les plugins .. tu devrais découvrir rapidement les parties qui doivent etre accessibles à tes plugin.
Acces à des stats de consultation = une page ou ils ont généré des stats webalizer?
Sinon pour le support , cherche dans un de tes access.log une "rupture" :
c'est à dire un moment ou tu "recules dans le temps"
Tu leur envoie le fragment de log en leur signalant que selon toi ca ne correspond pas vraiment à un pic de visites mais plutot à une anomalie dans leur outil de fusion de stats.
bah il me semble que c'est à eux de fournir des infos cohérentes..
c'est pas vraiment à toi de connaitre leur infrastructure et de savoir si
ils ont x serveurs frontaux en round robin ou en secours ...
En meme temps la fourniture du fichier de logs est elle contractuelle?
Awstats fourni un script qui doit permettre de résoudre les soucis de fusion de logs sur plusieurs serveurs..
"logresolvemerge allows you to merge several log files into one output,
sorted on date. It also makes a fast reverse DNS lookup to replace
all IP addresses into host names in resulting log file. "
Il est possible qu'il aie plusieurs serveurs en round robin
et si ca se trouve il ne fait pas de "sort" sur les dates apres avoir fusionné les fichiers de log.
tu peux peut etre utiliser un bout de script shell de cet acabit :
for FIC in $LOGS/*.log
do
echo $FIC
mv $FIC $FIC.old
sort -t - -k 3 < $FIC.old > $FIC
rm $FIC.old
done
Pour nos besoins nous avons cree une moulinette qui genere un fichier par jour ( en fonction des champs date de log), puis nous faisons le sort sur chaque fichier jour.
Avoir 1 fichier / jour nous permet d'eventuellement relancer webalizer pour une période donnée ...
# FAT32..
Posté par . Takhi . En réponse au message Partition Windows / Linux. Évalué à 3.
Le fat32 est le plus simple car supporté nativement en lecture/Ecriture par les deux OS.
NTFS est supporté en lecture seulement par Linux.
Il existe aussi un projet pour supporter les FS de type ext2 sous Windows mais je ne sais pas quel est sa stabilité en utilisation quotidienne.
http://ext2fsd.sourceforge.net/projects/projects.htm(...)
[^] # Re: en repassant
Posté par . Takhi . En réponse au message free() or not free() ?. Évalué à 2.
par contre je tiens un peu au #define pour différentier les modes debug/release.
quelques exemples:
=> fonctions de trace que l'on peut virer en mode production/release
=> assertions
le code non debug ne comprendra pas les appels au fonctions de traces ce qui peut gagner pas mal de temps.
[^] # Re: en passant
Posté par . Takhi . En réponse au message free() or not free() ?. Évalué à 3.
assert(monpointeur!=NULL);
free(monpointeur);
monpointeur=NULL;
avec la macro qui va bien tu peux avoir l'assertion en mode DEBUG et pas en mode Release
#ifdef DEBUG
#define MYFREE(ptr) assert(ptr!=NULL); free(ptr); ptr=NULL
#else
#define MYFREE(ptr) free(ptr); ptr=NULL
#endif
et tu invoques MYFREE au lieu de free
[^] # Re: Re:
Posté par . Takhi . En réponse au message Aide pour installation !. Évalué à 2.
( dans /var ya toute la messagerie, les bases de données, les logs systeme , des fois meme les packages téléchargés ..)
# il existe des cartes au format Mini Itx..
Posté par . Takhi . En réponse au message Quel architecture avec ARM sous Linux ?. Évalué à 2.
http://www.simtec.co.uk/products/EB2410ITX/avail.html(...)
par contre faut surement commander, pas trouvé ( enfin j'y ai pas passé des heures non plus) de distributeur en france...
hope this helps
[^] # Re: la bonne voie
Posté par . Takhi . En réponse à la dépêche DRM : l'UFC poursuit Sony et Apple alors que l'UE enquête toujours sur Microsoft. Évalué à 4.
Je ne suis pas certain que cela tienne devant un juge :-)
# Recyclons, réutilisons
Posté par . Takhi . En réponse au message donne CD de live-CD et de distrib. Évalué à 1.
( j'ai une jolie collection de CD Aol/ClubInternet/xxxxx qui ont eu une carriere de ce genre.. c'est fou ce qu'on accumule entre 2 déménagements)
On peut aussi voir la solution freesbee.
Il reste aussi l'alternative ball trap mais c'est un poil moins ecolo parce que ca fait des bouts partout.
[^] # Re: Mac mini "survitaminé" dans un PC
Posté par . Takhi . En réponse au journal Mac Os X sous PC, une bonne idée ?. Évalué à 5.
Perso tout l'interet du mac mini.. c'est qu'il est mini :)
[^] # Re: Un truc en C++ qui fait ca
Posté par . Takhi . En réponse au journal couverture de code. Évalué à 1.
c'est vrai que c'est bete ce mangling..
gprof a comme option --demangle mais pas gcov..
il y a longtemps j'avais du utliser un trucoverage de chez numega mais j'etais plus accaparé par mes fuites mémoires que par ma couverture de code :-)
[^] # Re: Un truc en C++ qui fait ca
Posté par . Takhi . En réponse au journal couverture de code. Évalué à 4.
phase 1: instrumenter le code pour qu'il fasse de l'analyse de coverage.
gcc ... -Wall -fprofile-arcs -ftest-coverage
phase 2:
utilise l'outil gcov fournit la plupart du temps avec le compilo.
trouvé vite fait:
http://www.network-theory.co.uk/docs/gccintro/gccintro_67.html(...)
NB: un autre outil est fournit avec gcc:
gprof qui est souvent utile pour faire du profiling de code .. et t'apercevoir que tu as encore omis un passage de std::string par reference ... ;)
[^] # Re: ya pas une bourde dans le code C?
Posté par . Takhi . En réponse au message Copie rapide de tableau. Évalué à 1.
si tu es en O3 il est probable qu'il déroule ou optimise les boucles de lui meme parce que gcc l'est péchu...
en bref ta tentative d'optimisation est pertinente sur un compilo qui ne ferait aucune optimisation. En revanche avec des flags d'optimisation, le compilo fait une partie du travail lui meme ( réorganisation de code, déroulement des boucles pour eviter les sauts ...
trouvé vite fait par google:
http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/gcc/optimize-options.html
[^] # Re: ya pas une bourde dans le code C?
Posté par . Takhi . En réponse au message Copie rapide de tableau. Évalué à 2.
(cette fois ca marche, j'ai testouillé avant)
unsigned long* ptr = (unsigned long*) tab;
...
for(i=0; i<1024;i++)
ptr[i]=0x64646464;
apres compile ca ressemble à ca:
...
L12:
cmpl $1023, -4(%ebp)
jle L15
jmp L13
L15:
movl -4(%ebp), %eax
leal 0(,%eax,4), %edx
movl -12(%ebp), %eax
movl $1684300900, (%eax,%edx)
leal -4(%ebp), %eax
incl (%eax)
jmp L12
L13:
....
[^] # Re: Il y a des fonctions toutes faites pour cela ...
Posté par . Takhi . En réponse au message Copie rapide de tableau. Évalué à 1.
http://www.uclibc.org/(...)
[^] # Re: ya pas une bourde dans le code C?
Posté par . Takhi . En réponse au message Copie rapide de tableau. Évalué à 1.
# ya pas une bourde dans le code C?
Posté par . Takhi . En réponse au message Copie rapide de tableau. Évalué à 3.
tu glisses ca:
for(i=0;i<1024000;i++) (unsigned long)tab[i<<2]=(unsigned long)(45);
ce qui pour moi signifie que tu stockes la valeur 45 dans un byte sur 4
Le compilo trouve peut etre + optimal de faire un movb plutot qu'un movl dans ce cas là vu que tu ne forces qu'un byte.
si tu veux forcer 4 bytes en meme temps il faut peut etre mieux utiliser ca:
for(i=0;i<1024000;i++) (unsigned long)tab[i<<2]=(unsigned long)(0x63636363);
Que dit le compilo?
[^] # Re: man dlopen
Posté par . Takhi . En réponse au message supporter des plugins. Évalué à 1.
Je ne pense pas que l'on puisse avoir une recette toute faite
car cela me semble trop dépendant des fonctionalités du logiciel et du langage d'implémentation => les reflexes ne sont pas forcément les memes
Le plus simple AMA est de coder ton logiciel dans un langage interprété tel que python , ca pourra etre beaucoup plus souple pour les plugins .. tu devrais découvrir rapidement les parties qui doivent etre accessibles à tes plugin.
# il faut vraissemblablement employer sha1_hash ..
Posté par . Takhi . En réponse au message Kolab et Jabberd2. Évalué à 1.
void sha1_hash(const unsigned char *dataIn, int len, unsigned char hashout[20]) ;
const char* monpassword="TOTO";
unsigned char cryptedpass[20];
sha1_hash( monpassword,strlen(monpassword), cryptedpass);
et tu récuperes le hash dans cryptedpass ..
# la quarantaine?
Posté par . Takhi . En réponse au message AMAVIS - home directory. Évalué à 1.
[^] # Re: un 'sort ' sur le champ date du log...
Posté par . Takhi . En réponse au message access.log et webalizer. Évalué à 1.
Sinon pour le support , cherche dans un de tes access.log une "rupture" :
c'est à dire un moment ou tu "recules dans le temps"
Tu leur envoie le fragment de log en leur signalant que selon toi ca ne correspond pas vraiment à un pic de visites mais plutot à une anomalie dans leur outil de fusion de stats.
[^] # Re: logresolvemerge
Posté par . Takhi . En réponse au message access.log et webalizer. Évalué à 1.
( dans le source perl de la bebete... )
bon ben utilise la commande sort .. :/
[^] # Re: un 'sort ' sur le champ date du log...
Posté par . Takhi . En réponse au message access.log et webalizer. Évalué à 2.
c'est pas vraiment à toi de connaitre leur infrastructure et de savoir si
ils ont x serveurs frontaux en round robin ou en secours ...
En meme temps la fourniture du fichier de logs est elle contractuelle?
# logresolvemerge
Posté par . Takhi . En réponse au message access.log et webalizer. Évalué à 2.
Awstats fourni un script qui doit permettre de résoudre les soucis de fusion de logs sur plusieurs serveurs..
"logresolvemerge allows you to merge several log files into one output,
sorted on date. It also makes a fast reverse DNS lookup to replace
all IP addresses into host names in resulting log file. "
# un 'sort ' sur le champ date du log...
Posté par . Takhi . En réponse au message access.log et webalizer. Évalué à 2.
et si ca se trouve il ne fait pas de "sort" sur les dates apres avoir fusionné les fichiers de log.
tu peux peut etre utiliser un bout de script shell de cet acabit :
for FIC in $LOGS/*.log
do
echo $FIC
mv $FIC $FIC.old
sort -t - -k 3 < $FIC.old > $FIC
rm $FIC.old
done
Pour nos besoins nous avons cree une moulinette qui genere un fichier par jour ( en fonction des champs date de log), puis nous faisons le sort sur chaque fichier jour.
Avoir 1 fichier / jour nous permet d'eventuellement relancer webalizer pour une période donnée ...
[^] # Re: Rectifié on dirait.
Posté par . Takhi . En réponse au journal Certificat expiré pour Logitelnet. Évalué à 2.
donc en résumé, ils l'ont commandé au mois d'aout,
pis l'ont oublié dans un coin :-)
# 404
Posté par . Takhi . En réponse au message Test de redirection. Évalué à 1.