Vendredi 25 mai 2012 5 25 /05 /Mai /2012 12:06

En regardant la classe java File, j'ai remarqué qu'il n'y avait pas de méthode prévue pour détruire un dossier qui n'est pas vide. En voici une. Méfiez-vous, ça marche vraiment. Je n'ai mis aucune procédure de contrôle ou de confirmation parce que si vous en êtes là c'est que vous savez ce que vous faites. Si vous l'utilisez mal et détruisez tous vos fichiers importants, ne venez pas vous plaindre que vous n'avez pas été avertis.

 

La classe Main() crée un dossier à l'endroit que vous spécifierez. Ce dossier appelé lala va contenir un fichier pouet.pouet et un dossier tralala. Ce dossier tralala contiendra un fichier pouet.pouet et un dossier tralala. Ce dernier dossier tralala contiendra un ficher nommé icone.jpg.

 

La boucle for() de Main() n'est pas de la récursivité mais montre bien l'idée de la récursivité.

Avant la boucle for() on initialise f à dossier.

Puis à chaque passage on crée d'abord les pouet.pouet ce qui fait que f devient lala/pouet.pouet si i = 0 puis lala/tralala/pouet.pouet pour i = 1.

f.getParent() donnera lala puis lala/tralala suivant les valeurs de i.

f = new File(f.getParent() + "/tralala") ; donne les valeurs lala/tralala (fin boucle i = 0) puis lala/tralala/tralala en fin de boucle i = 1.

Donc en début de boucle i = 1 donc on crée les pouet.pouet et les tralala de la boucle i = 1 dans lala/tralala. Le dossier lala/tralala/tralala est vide en sortie de for().

En sortie de la boucle for() f = lala/tralala/tralala et il n'y a qu'a lui faire créer icone.jpg.

 

Et on dit que je suis bizarre ?...

 

Vous n'avez rien vu. Parce que ce n'est pas de la récursivité encore.

Dans la classe DetruireUnDossierComplet, il y a un exemple de vraie récursivité. Je ne le détaille pas parce que si le principe est simple suivre les variables est vraiment bizarre et donnera le vertige au lecteur innocent.

Le principe est simple, on ouvre le dossier à détruire, on examine ce qu'il y a dedans. Les fichiers ? On peut les détruire. Les dossiers vides ? Détruisons-les ! Si c'est un dossier plein ? On recommence la procédure. C'est ça la récursivité. Si vous avez envie de vous amuser, suivez les valeurs des variables pour la destruction du lala créé précédemment. Effet garanti, mieux que la moquette.

 

Après avoir créé puis détruit le dossier lala évidemment vous n'avez plus trace de rien. Pour vérifier que la création fonctionne il suffit de commenter l'appel à DetruireUnDossierComplet(dossier) ;

Pour vérifier que la destruction fonctionne il faut décommenter l'appel à DetruireUnDossierComplet(dossier) ; et de renvoyer l'application. Si votre lala a disparu, c'est bien qu'il a été détruit.

 

Cette application a été faite avec NetBeans 7.1.2 et fonctionne sous ubuntu 10.04. Pour Windows, il faut peut-être changer le « / » autre chose fileSperatorCharacter (voire classe File).

 

Télécharger Main.java

Télécharger DetruireUnDossierComplet.java

Par John Smith Images
Ecrire un commentaire - Voir les 0 commentaires
Mercredi 23 mai 2012 3 23 /05 /Mai /2012 21:07

Diner avec des hommes d'affaires est une expérience intéressante. Différente, certainement.

 

Le langage déjà est différent. Des mots comme « agressifs », « serrer la ceinture », « travail », « valeur » ou « fainéants », « branleurs » sont plus fréquents que dans mon quotidien.

 

Au début j'avais du mal à voir comment se serrer la ceinture pouvait aider à être agressif, mais la soirée avançant j'ai compris qu'il faut être agressif pour serrer la ceinture des autres. De ceux qui travaillent avec nous, surtout, parce que ce sont de vrais fainéants (qui les a engagés?). 

 

Parce que l'homme d'affaires, lui, n'est pas fainéant, lui. Il travaille, lui. Il travaille beaucoup, il travaille trop, il travaille beaucoup trop. Il a la tête dans le guidon, dans le cul, dans le tunnel ou sous l'eau mais en gros il ne voit pas la lumière du jour.

 

A ce stade j'ai bien pensé leur suggérer de lever un peu le pied, de profiter de la vie, de cueillir les boutons de roses avant qu'elles ne soient fanées mais l'ambiance n'y était pas. A la place, j'ai tenté de les consoler en faisant valoir qu'ils avaient au moins la satisfaction du travail bien fait et ce genre de choses. Raté. Débordés et entourés de fainéants le travail est mal fait, il faut s'occuper de tout soi-même sinon ça n'avance pas...

 

J'avoue avoir ici un peu cessé d'accorder toute mon attention à une conversation qui tournait un peu en rond. Cela faisait trois heures que nous étions ensemble et pendant ces trois heures ils n'avaient accomplis aucun travail réel ni ne s'étaient en rien distraient.

 

S'il me faut absolument choisir un camp je pencherais plutôt vers les branleurs de fonctionnaires que vers les drogués du travail. Les premiers sont moins toxiques.

 

Et travaillent peut-être même un peu plus.

Par John Smith Images
Ecrire un commentaire - Voir les 0 commentaires
Lundi 21 mai 2012 1 21 /05 /Mai /2012 07:49

Hier j'ai enfin découvert un DVD sur Sylvie Guillem (Sylvie Guillem au travail) qui vaut la peine d'être vu par tous mais surtout par les photographes. « 

 

La danse et la photographie entretiennent des rapports ambigus. Les danseurs incarnent le mouvement dans la continuité, les photographes (bon gré mal gré) le figent. Malgré tout nous nous retrouvons tous sur un point : la force du visuel.

 

Les extraits de la représentation du ballet «  In The Middle Somewhat Elevated » sont pour tous les photographes une source d'inspiration. Personnellement j'y ai trouvé une mine d'idées sur la façon de rendre le mouvement d'une danseuse dans le style « mouvement arrêté ».

 

Avoir absolument.

Par John Smith Images
Ecrire un commentaire - Voir les 0 commentaires
Vendredi 18 mai 2012 5 18 /05 /Mai /2012 09:06

Pour avoir eu à redéployer une application web java avec un serveur Tomcat récemment, je me suis aperçu qu'il fallait compléter mon billet sur « La mère de toutes les applications web de type jsp servlet java servlet. »

 

Première étape démarrer Tomcat.

Si vous avez le Tomcat qui s'est installé par défaut avec Netbeans 7.1.1 il est dans un dossier apache-tomcat-7.0.22 à la racine de votre dossier personnel qui s'appelle évidemment « toto »

Sur le bureau clic droit, choisir créer un lanceur et entrer

sh /home/toto/apache-tomcat-7.0.22/bin/startup.sh

dans la ligne de commande.

Aller sur startup.sh et donnez-vous les permissions. Clic droit, propriété et exécuter comme un programme, si besoin.

Tant que vous y êtes faites la même chose pour arrêter Tomcat avec

sh /home/toto/apache-tomcat-7.0.22/bin/shutdown.sh

 

Démarrez Tomcat. Dans le navigateur (firefox pour moi) taper localhost:8080. La page de Tomcat apparaît. Cliquer sur manager et vous êtes banni. Vous n'avez pas le mot de passe. Fermez Tomcat et le navigateur.

 

Ouvrez le fichier file:///home/toto/apache-tomcat-7.0.22/conf/tomcat-users.xml avec gedit.

Juste au-dessus de </tomcat-users> mais en dessous de

<!--

<role rolename="tomcat"/>

<role rolename="role1"/>

<user username="tomcat" password="tomcat" roles="tomcat"/>

<user username="both" password="tomcat" roles="tomcat,role1"/>

<user username="role1" password="tomcat" roles="role1"/>

-->

insérez

<role rolename="manager-gui"/>

<user username="toto" password="toto" roles="manager-gui"/>

Enregistrez fermez.

 

Démarrez Tomcat, démarrez le navigateur retapez localhost:8080 puis cliquez sur manager. NE PAS ALLER DIRECTEMENT SUR LA PAGE MANAGER. PASSER PAR L'ACCUEIL TOMCAT.

Dans les deux champs entrez toto et toto et vous êtes in business.

 

Pour déployer votre application web, copier le Appliwebjsp.war dans le dossier

/home/toto/apache-tomcat-7.0.22/webapps/

à coté du dossier ROOT. Rechargez la page manager. Fini.

 

D'autre part certains ont eu des difficultés avec l'importation de Appliwebjsp dans Netbeans. Je les comprends. Voici une procédure détaillée qui vous permettra de faire ça sans problème.

 

Clic droit dans la fenêtre des projets et choisir nouveau projet. Dans la fenêtre qui s'ouvre, choisir java web et Web Free-Form Application. Next. 

Finish.

 

Je détaille parce que je trouve que l'on perd plus de temps à configurer les outils qu'à écrire du code proprement dit.

Par John Smith Images
Ecrire un commentaire - Voir les 0 commentaires
Mardi 15 mai 2012 2 15 /05 /Mai /2012 16:46

Quand j'avais 13-14 ans j'ai fait un pari avec une de mes amies. Je m'en souviens très bien, c'était sur le résultat d'un match de tennis. Elle était si persuadée d'avoir raison qu'elle a accepté de parier « ce que je voulais ». Ne me racontez pas d'histoires, à cet age vous auriez choisi comme moi un million de XXXXX(censuré).

 

Cette dette d'honneur ne fût jamais entièrement réglée.

 

Je ne lui en veux pas trop. Si elle avait maintenu une moyenne raisonnable de 5 XXXXX(censuré) par jour (5 bpj) elle en avait quand même pour 200 000 jours. Même avec des années à 400 jours elle en aurait eu pour 500 ans.

 

Si elle avait eu une moyenne de 20 bpj (ce que je trouve un peu osé quand même) elle en avait pour … 125 ans.

 

La morale de cette histoire ?

1)oui, un million c'est beaucoup.

2)oui, les mathématiques peuvent générer une certaine frustration.

Par John Smith Images
Ecrire un commentaire - Voir les 0 commentaires

Présentation

Créer un Blog

Recherche

Calendrier

Mai 2012
L M M J V S D
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
<< < > >>

Liens

Créer un blog gratuit sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés