Pomme Courge Mobylette

dimanche 29 avril 2007

Framework de collection java (couche 3)

Revenons un peu à not' java. On a vu que le framework de collections était composé d'un ensemble d'interfaces et d'implémentations. Ces implémentations sont des implémentations générales, toutes les implémentations du framework de collection sont en lecture/écriture et non synchronisées. Il y a bien le cas de Vector, mais elle est là depuis java 1.0, et je rappelle que le framework est apparu avec java 2.

Donc, il y a un réel besoin de décorer les collections pour les syncrhoniser, ou les mettre en read only. Ou une autre décoration, peut importe, le principe est le même. Et cela se fait par l'utilisation d'un pattern décorateur. Le rôle de ce pattern est de rajouter de manière transparente pour l'utilisateur des capacités (ou en supprimer) à un objet.

pattern décorateur du framework de collection

Pour utiliser ce principe, il y a une classe très pratique : java.util.Collections. Les méthodes statiques de cette classe permettent de réaliser une décoration de collection simplement. Par exemple, si je veux une liste synchronisée, je vais pouvoir utiliser :

List synchronized list = Collections.synchronizedList (new ArrayList ());

Bien évidemment, on peut mixer les décorations. Comme pour faire une collection synchronisée et read only :

List synchronized list = Collections.synchronizedList (Collections.unmodifiableList (new ArrayList ()));

Bien évidemment, en cas de besoin, on peut créer ses propres décorations que l'on pourra utiliser en plus. Par exemple, j'en ai déjà implémentée une qui faisait de la vérification de cardinalité sur la collection.

mardi 24 avril 2007

La france qui se lève tot me fait chier

Tiens, ce matin, j'ai été travailler tôt. Comme on nous dit de faire à la télé pour redresser la france, comme le dit le proverbe aussi.

Mais bon, multiplier par 4 le temps d'aller bosser, c'est pas drôle

Enfin bon, heureusement que la france qui se lève tôt rentre tôt aussi, je la vois pas le soir, ça fait longtemps qu'elle est rentrée chez elle.

lundi 23 avril 2007

youpi \o/ mais non en fait

wampas / fatals picards

bah non en fait, ça a été annulé :'(

vendredi 20 avril 2007

Ayé, j'ai choisi

Ayé, après étude des programmes, réductions par tour, et vérifications d'arguments, j'ai choisi pour qui je vais voter

jeudi 19 avril 2007

Du coté sclérosé de d'internet

Je suis dans une boite sérieuse maintenant. Fini l'accès au net pendant les heures du bureau. Tout est filtré, et je n'ai plus qu'accès qu'a une série de newsgroup (NNTP pour les dinos à roulettes) choisis pour leur intéret professionnel. Je suis donc de retour sur la hiérarchie fr. 7 ans que je n'ai pas du y passer. Quasiment à la sortie de l'école en fait.

Et la, la surprise. Dejà, la hierarchie a pas bougé depuis cette époque. La conception de site web est toujours sous infosystèmes à l'écart, les forum windows s'arrêtent à NT, et tous les trucs dépassés (OS/2, windows 3, ...) sont toujours là. Cette hiérarchie semble figée, gravée dans le marbre. D'ailleurs un passage dans fufa le confirme : toute tentative de mise à jours fini en échec. Souvent pas assez de votants. Les gens seraient ils partis de usenet ?

Et effectivement, un passage dans les forums le montre : il y a plus foule. Je me souviens d'une époque ou il y avait des dizaines de messages chaque matin en arrivant, là, il n'y en a plus que quelques uns, paumés. Une lecture rapide montre l'étendu des problèmes.

Il n'y a plus que des ayatollah de la netiquette. A chaque fois, c'est parti sur cette histoire de quote dans le mauvais sens (alors que justement, ce qu'ils imposent n'est pas pratique), de remarques sur l'orthographe,et ça répond sur la forme et pas sur le fond, et ça s'engueule.

Tu m'étonne que plus personne n'est là pour faire évoluer le bestiau et atteindre le quota de voix : tout le monde est parti, il ne reste plus que quelques dinos aigris et sclérosés, gardien du temple des 80 colonnes.

mercredi 18 avril 2007

Chouette

J'ai reçu mes nouveaux catalogues mercedes. Je trouve que le catalogue AMG présente moins bien que celui que j'avais reçu il y a deux ou trois ans. L'ancien faisait livre (il est d'ailleurs exposé dans mon buffet), le nouveau fait simplementy brochure.

Mais quelle brochure ! 100 pages de superbes photos de toute la gamme AMG (dommage, on sens que le coupé sport est en fin de vie). On sent que cette brochure est là pour vendre du reve que réellement les voitures. Pas de listes d'options, pas de grand blabla de présentation. Pour les infos, c'est chez le vendeur qu'il faut aller.

Et j'ai aussi la brochure de la classe C, mais c'est d'un roturier...

mardi 10 avril 2007

adieu sarge, bonjour etch

rincevent, ma machine qui héberge tout mon bordel, est passé sous etch (debian 4.0, tout frais sorti). Ca s'est super bien passé, tout à été mis à jour sans erreur, juste un petit reboot à la fin pour être sur que tout est pris en compte

C'est pas comme les updates mineurs d'ubuntruc qui pêtent X

lundi 9 avril 2007

Framework de collection java (couche 2)

En couche 1, on avait déclaré un élément, maintenant il va falloir l'instancier.

Dans le framework, il y a toute une liste de collections concrètes. Les différences ? Principalement l'organisation interne. Il y a des listes d'éléments, des stockages sous forme d'arbre ou de map. Donc à voir si le but doit être sur l'insertion, la recherche d'un element ou leur suppression.

jeudi 5 avril 2007

Framework de collection java (couche 1)

Le framework de collection est une bibliothèque de types collections apparus dans java 2 il y a fort longtemps. Le but était de repartir des anciens Vector et Hashtable pour avoir tout un ensemble de conteneur dédiés au différents besoin, mais également configurable.

La base, c'est de ne manipuler que les interfaces. Toute déclaration, que ce soit en tant qu'attribut ou paramètre, utilise le concept d'interface pour manipuler les données. On parle de type abstrait, on a donc les classiques List, Map, Queue, Set. Le choix d'une de ces interface dépend de la façon dont on va utiliser les données. Les différences conceptuels sont tels que le choix devient fortement structurant. Doit-on garder les éléments triés ? l'ordre est-il important ? Ce sont ces questions qui vont déclencher le choix d'une interface ou d'une autre.

Le choix de la collection concrète viens ensuite, lorsque l'on doit s'occuper des contraintes techniques

Ah, j'oubliais. Les listes sont génériques maintenant. On peut donc préciser le type des éléments que l'on met dedans. On déclarera une List<Personne> par exemple. Fini de dériver les listes ou de créer des adapters de validation de type.

Le site du collection framework sur le site de sun