mercredi 8 octobre 2008

Créer la metrologie à l'aide de maven

Le pluggin javancss de paven permet de calculer les métriques pour un projet. Notamment, cela permet de voir quel ration de code a été commenté.

mvn javancss:report
NCSS est le nombre d'instructions, ces dernières sont spécifié par une norme, grossièrement cela correspond au nombre de ';' et de '{'

2766 est le nombre d'instruction du projet

Programm NCSS : le nombre d'instruction total
NCSS average : le nombre d'instruction moyen par classes
CCN : la complexité cyclomatique
Javadocs average : Le nombre de ligen de commentaire par classe.

Program NCSSNCSS averageCCN averageJavadocs average
2,766.003.862.020.46










vendredi 3 octobre 2008

Astuces de backup sur Ubuntu et autres LINUX

Pour nettoyer automatiquement des répertoire de backup des fichiers top anciens

Mettez en cron la commande :

find  /var/backupreposvn/ -atime +60 -type f|xargs rm -f


Pour créer un backup de votre NAS sur votre ordinateur en ayant une gestion des backups trop ancien :


export BACKUPDIR=$HOME/backup/
mkdir $BACKUPDIR
export SRCFILE=$HOME/backup/`date +%Y%m%d`.tgz
tar -cvzf $SRCFILE $HOME/.gvfs/documents\ sur\ ls-wsglbc3/
export COMBIEN=`ls $BACKUPDIR|wc -l`
if [[ $COMBIEN>3 ]]
then
find $HOME/backup/ -mtime +30 -exec rm -f {} \;
else
echo "Pas de fichier à supprimer"
fi



My Sql

mysqldump -uroot -pjt ft_jobs_val|gzip >/var/backup/ft_jobs_val_`date +%Y%m%d`.dump.gz
mysqldump -uroot -pjt ft_jobs_val_int|gzip >/var/backup/ft_jobs_val_int_`date +%Y%m%d`.dump.gz
mysqldump -uroot -pjt jira1|gzip >/var/backup/ft_jobs_jira1_`date +%Y%m%d`.dump.gz
mysqldump -uroot -pjt jira2|gzip >/var/backup/ft_jobs_jira2_`date +%Y%m%d`.dump.gz
find /var/backup/ -mtime +30 -exec rm -f {} \;



Ce script doit être lancé à chaque démarrage de votre session.

jeudi 2 octobre 2008

Compiler subversion à partir des sources

Sous linux :
Telecharger et installer openSSL
http://www.openssl.org/source/

./config --prefix=/usr/

Downloader les sources sur http://subversion.tigris.org

Dezipper

Downloader neon sur http://www.webdav.org
Downloader apr sur http://apr.apache.org
Downloader apr-util sur http://apr.apache.org

Dezipper ces trois projet et deplacez les dans dans le projet subversion


mv /home/myhome/apr-util-XXX/ /home/myhome/subversion-XXX/apr-util/
mv /home/myhome/apr-XXX/ /home/myhome/subversion-XXX/apr/
mv /home/myhome/neon-XXX/ /home/myhome/subversion-XXX/neon/

./configure --prefix=/usr

make install

Effectuer une requête simple à l'aide d'Hibernate

Hibernate, même s'il est particulièrement à l'aise sur les problème d'informatique de gestion (Lecture/Modification d'enregistrements), ne peut se substituer à toutes les utilisations qui sont faite lors de SQL.

C'est particulièrement vrai lorsqu'on se sert de fonctions statistique, telle que SUM( ) ou COUNT(*) Dans ces cas une requête simple est préférable. Hibernate offre la possibilité de faire des requêtes simples par la fonction createSQLQuery("SELECT SUM(MACOL) FROM MATABLE").

Dans ce cas, inutile de "voler" la connexion hibernate pour s'en servir à sa place pour se servir des APIS fournies par JAVA, mieux vaut se servir des APIS hibernate.

Voici un exemple :

SQLQuery query = session
.createSQLQuery(
"SELECT count(*) FROM MATABLE WHERE MACOL1=? AND MACOL2=?");
query.addScalar("NOMBRE", Hibernate.FLOAT);
query.setDate(0, dateFinMois);
query.setInteger(1, commande.getId());
Float consommeEnFinDeMois = (Float) query.list().get(0);



L'utilisation de la fonction query.setScalar permet de typer la réponse.
query.setInteger(0,x) permet de fournir des paramètres à la requête.

mardi 23 septembre 2008

Changer le nom de machine

Dans le fichier /etc/rc.sysinit, positionner la variable HOSTNAME

mardi 9 septembre 2008

Problème étrange de tomcat

java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)


catalina.sh debug corrige le problème.

taper run par la suite.