31 juil. 2012

Astuces SSH

Quand on doit souvent se connecter par SSH, il devient intéressant d'utiliser des raccourcis ou d'automatiser la connexion, le rebond etc… et tout se passe dans le fichier ~/.ssh/config (vous pouvez créer le fichier s'il n'existe pas)

6 avr. 2012

Gerer plusieurs id avec ssh

On doit souvent se connecter de façon sécurisé par ssh, par exemple vers un dépôt git, svn, ou pour ouvrir une session ssh. On veut pas forcément utiliser la même clé partout, des fois qu'elle deviendrait compromise, ou simplement parce que la clé nous est imposée.

22 mars 2012

TER

Dans le cadre de mon Master 1 info à Nice, nous devons à partir d'Avril à temps plein faire un stage de recherche en informatique. Notre coordinateur nous a proposé un panel de sujets de TER (Travaux Encadré de Recherche) et j'ai fait mon choix.

22 févr. 2012

Memo Makefile

En Programmation Efficace on doit établir des benchmarks sur des programmes C qu'on aurait fait auparavant. On doit alors passer par des Makefile, je fais ici un petit mémo à moi même au cas ou: définition de variables:
UNEVAR=toto
UNEAUTREVAR=titi
CC=clang
utilisation d'une variable:
$(CC) -o $(UNEVAR) $(UNEAUTREVAR).c
serra vu comme:
clang -o toto titi.c
La structure d'un Makefile (respecter le M majuscule) est la suivante:
cible : dependance1 dependance2
    $(CC) -o output input.c

dependance1 :
    echo "hello "

dependance2 :
    echo "world"
On peut effectuer les commandes d'une cible en silent:
dependance1 :
    @echo "hello"
Ce qui aura comme effet de ne pas écrire echo hello sur l'invite de commande, mais bien hello. *attention*: avec flymake, il faudra inclure la cible suivante dans le Makefile correspondant:
check-syntax :
    gcc -o /dev/null -S ${CHK_SOURCES}
Voilà, pour plus d'infos j'ai trouvé le lien suivant.

21 févr. 2012

Petit comparatif de GCC et Clang

Cette aprèm on a eu Programmation Efficace a.k.a ETFP (Elite Task Force Programmers), on a du comparer la performance en temps et en place d'une implémentation en C de l'algorithme de Floyd Warshall. On devait monter une batterie de tests du temps real, user et sys en fonction de l'option d'optimisation de GCC: -Ox (1...n)
D'ailleurs voici un lien vers un comparatif de gcc et clang.
Je posterais mon benchmark qui consiste en un Makefile et quelques scripts python et bash.

:D

17 févr. 2012

Mémo: GIT sous Eclipse

Note à moi même:
Avec GIT (sous Eclipse EGit), lorsqu'on commit, ça ne comitte que localement, pour appliquer les changements dans le dépôt en ligne, il faut faire un push !

6 févr. 2012

Les DAO

Cet article me sert surtout d'aide mémoire dans le cas où je suis amené à réutiliser les DAO. Data Access Object sont comme leur nom le suppose des objets d'acces aux données. Les DAO sont utilisés lorsqu'on doit rendre persistant des données. C'est en fait une couche entre le code métier de votre application et le pilote vers votre base de données. Par ce concept on essaye d'abstraire tout le code interne à la connexion à la base de données, l'acces, l'ajout, la mise à jour et la suppression de données, et fournir au code métier des primitives qui seront elles utilisées à la place. Ainsi le code métier n'aura qu'à s'occuper à demander des informations, les modifier, etc… sans se soucier de comment se connecter, ou si on a bien fermé la connexion à la fin. Aussi la puissance des DAO se situe dans le fait qu'on peut carrément abstraire le type de connexion, de ce fait le code métier est très peu impacté. Conjointement avec les DAO, on peut utiliser le design pattern de fabrique abstraite qui permet, pour un impact moindre sur le code métier, de choisir son type de connexion avant de récupérer les DAO spécialisés.

22 janv. 2012

installation de Tomcat

L'installation de Tomcat est très simple, il suffit de télécharger depuis le site officiel de Tomcat la version qui vous interesse (pour ma part j'ai pris la dernière). Il suffit ensuite de la décompresser dans un répertoire ou vous avez les droits d'écriture, chez moi (sur mon mac), usr/local était un bon candidat.

19 janv. 2012

Presentation C++

Ce semestre nous avons eu un module de C++. Trois cours censé nous donner les bases du langage, en faisant un tour d'horizon de ses particularités. Il faut savoir que le C++ n'est pas un langage facile, par exemple la construction des objets peut être implicite, il faut s'occuper de beaucoup de mécanismes qu'on prend pourtant comme acquis en Java. Nous avons pris l'habitude avec notre prof de séparer la spécification de l'implémentation. Je ne reviendrais pas sur le paradigme orienté objet car ce n'est pas le but de cet article.