Liguoblog

mercredi 18 février 2009

java.util.concurrent

Ce package introduit dans le jdk 1.5 est assez utile pour les développeurs qui doivent affronter la synchronisation dans une application ayant recourt à beaucoup de Thread. Chose qui devient complexe assez rapidement. Voici un bout de code qui utilise deux classes fournit par ce package. ReentrantLock et CyclicBarrier.

Lire la suite

mercredi 20 décembre 2006

Ant 1.7.0

La fondation Apache a annoncé la sortie d'une nouvelle version de notre outil de build préféré.  

J'ai nommé : Ant 1.7.0

samedi 16 décembre 2006

Java 6 - SystemTray

Vous souvenez-vous de JDIC ?   Dans ce billet, j'avais mentionné :

Si le développement continu au rythme prévu, JDIC devrait être intégré à la version finale de Mustang.

C'est maintenant partiellement le cas.

L'équipe de développement du JDK a reprit le code de JDIC pour le Tray API et l'a remodel

Lire la suite

Java 6 - JAXB

Wow, j'aurais du apprendre l'existence de ça plus tôt! Ça m'aurait évité de faire inutilement un gros morceau de FlexGenerator, la parti de dom4j.  Malgré que ça m'a permi de mieu connaitre les annotations de Java.

Java Architecture for XML Binding (JAXB) permet de créer générer des document XML à partir des entités et vice versa.  Un armé d'annotations est fourni pour configurer le tout.

Lire la suite

vendredi 15 décembre 2006

Java 6 - SplashScreen

Une nouveauté de Java 6 est qu'il y a maintenant une API pour utiliser un splash screen qui s'affiche dès le lancement de la JVM.  

Lire la suite

mardi 12 décembre 2006

Java SE 6

Le release officiel de la dernière mouture de Java est enfin disponible ^^

http://java.sun.com/javase/6/

lundi 19 juin 2006

Java SE 6 Beta 2

Il était en beta depuis le mois de février,  il passe maintenant en beta 2 !

C'est par ici que ça ce passe !

vendredi 26 mai 2006

Java SE 5 update 7

Une 7ième mise à jour de Java SE 5 est disponible.

Changements
Téléchargement

vendredi 12 mai 2006

NetBeans 5.5 beta

NetBeans 5.5 beta est disponible depuis cette semaine.  Au menu,  un excellent support du tout nouveau Java EE 5.

Pour le téléchargement, ça se passe ici.

jeudi 16 mars 2006

Flash Demos of NetBeans IDE 5.0

Un rassemblement de tout les démo Flash de NetBeans à été mis en place sur le site de NetBeans.

Ça se passe ici.

mercredi 15 mars 2006

Jackpot

Non non, je n'ai pas gagné au casino ! ;)  (malgré que j'ai gagné une partie de poker ce weekend :mrgreen: )

Il s'agit plutôt d'un nouveau projet pour NetBeans.  Le but de ce projet est de fournir un language de programmation conçu pour faire du refactoring sur du code source java.  Ce qui permet à n'importe qui d'écrire des commande personnalisés et de les utiliser directement dans NetBeans.

Je n'ai pas encore essayé, mais d'après ce que j'ai pu en lire,  ça l'air très puissant !  

The Jackpot Project
Jackpot Tutorial
Jackpot Rule Language

mercredi 1 mars 2006

FopImageFactory.resetCache();

Si vous utilisez FOP afin de générer dynamiquement un PDF et que vous vous demandez pourquoi l'engin conserve toujours l'ancienne image,  n'allez pas perdre votre temps à chercher la raison dans le code source et rajouter plutôt cette ligne de code après la génération. (si nécessaire)

Java
FopImageFactory.resetCache();

FOP utilise en interne une Map statique qui conserve les images dans la RAM afin d'avoir un accès rapide lors de la prochaine regénération.  Au début du projet, nous avions des problèmes de mémoire  lorsque venait le temps de générer un PDF de ~250 pages avec ~3000 photos.  Il y avait toujours une OutOfMemoryError qui était lancée avant la fin de la génération du PDF.  Nous avions réglé le problème en augmentant la limite de mémoire de la JVM de Tomcat avec l'argument suivant :

set CATALINA_OPTS="-Xmx512m"

Je viens enfin de comprendre pourquoi la RAM s'accumulait ! :D

mercredi 15 février 2006

Java SE 6 beta

Mustang est maintenant disponible en beta ! Pour rappel, la version finale est prévue pour l'automne.

jeudi 2 février 2006

Des nouvelles sur Struts

Struts est le framework Java que j'utilise au quotidien pour développer des applications web.

Le sous projet Struts Scripting est disponible en version stable depuis la semaine dernière.  Cette extension permet d'écrire les actions avec n'importe quel engin de scripting.  Les language supporté par défaut sont : Groovy,  Javascript, Jacl, Netrexx, Java, Bml, VBScript, JScript, Perlscript, Perl, jpython, jython, lotusscript, xslt, pnuts, beanbasic, beanshell, ruby, judoscript.  Et il pourrait y en avoir d'autre puisque cette extension utilise BSF.

La nouvelle version de NetBeans offre maintenant un support natif pour développer avec Struts.  Il n'aura jamais été aussi facile d'utiliser Struts!

mercredi 1 février 2006

NetBeans 5.0 is out !

La version finale de NetBeans 5.0 est disponible dès maintenant.  Que ce soit pour développer des applications desktop, mobiles, web en Java ou bien tout simplement pour créer un plug-in qui supporte la syntaxe de l'AS3 ou faire du code en multiplayer, cet IDE saura combler vos besoins.

NetBeans 5.0

mardi 17 janvier 2006

JFlash

JFlash est un projet hébergé sur java.net dont le but est de faire un Flash Player open source 100% Java.

Je vous entends déjà rire quant aux performances qu'aura ce Flash Player, mais avant de préjuger et porter un jugement ferme sur votre opinion, je vous conseille d'attendre un release officiel et d'évaluer en temps et lieu. Vous pourriez être surpris ! (ou déçu :P)

Le projet est encore très jeune (2 mois).  Pour le moment, le player est fonctionnel mais uniquement pour les SWF version 3.

Il y a aussi un sous-projet nommé JFlashME qui est un port de JFlash pour J2ME.  Donc l'équivalent de FlashLite.

À suivre de prêt !

JFlash.org

jeudi 12 janvier 2006

Drag And Drop in Mustang

Oui, oui ! Il y a aura enfin un meilleur support pour le Drag And Drop avec les composants Swing dans la prochaine version de Java.

First Class Drag and Drop Support in Mustang

mardi 6 décembre 2005

Java SE 5 update 6

Et oui, un autre de ces post qui n'aura pas de commentaires.

Sun vient de faire une mise à jour sur la dernière version de Java.

Java SE 5.0 Update 6

J'aime bien le nouveau popup pour les alertes de sécurité au lancement de Java Web Start.  Pour une liste complète des changement, c'est ici que ça se passe.

NB : J'ai rencontré un problème lors de l'installation.  Je crois que c'est à cause que j'avais NetBeans et Tomcat qui roulaient à ce moment.  Je supose qu'il y avait un lock sur le fichier rt.jar (qui contient presque tout le JDK).  J'ai fermé les deux, désinstallé l'installation foireuse du JDK et recommencé l'installation. La 2ième fois était la bonne.

jeudi 13 octobre 2005

Build JDK 6.0 on Windows XP

Pour ceux que ça l'intéresse, voici un comment faire un build du JDK 6.0 sur Window XP.

Building the JDK 6.0 on Window XP

mardi 20 septembre 2005

Java SE 5 update 5

La plateforme Java vient de subir une nouvelle mise à jour.

Par ici le téléchargement.

NetBeans IDE 4.2 - 5.0

Il y a eu un sondage dans la communauté NetBeans dernièrement.

What should the next version be called?

Les choix de réponse étaient : 4.2 - 4.5 - 5.0.

La prochaine version était censé être 4.2 à l'origine. Mais vu le nombre impressionant de nouvelles fonctionnalitées, la majorité des membres de la communauté ont voté pour ce que soit une version majeure (5.0).

Ceci étant dit, le beta devrait commencer dès lundi prochain.

Je viens de recevoir la confirmation que j'ai été choisi parmi les participant pour être dans le NetCAT 5.0 :D  Donc si jamais vous trouvé des bugs qui bloquent votre productivité, n'hésitez pas à m'en faire part il sera traité avec une haute priorité par l'équipe de dev.

dimanche 4 septembre 2005

LoadingDialog

Voici un billet qui contient un exemple de code qui met en pratique un regroupement de notions de Java déjà abordées sur ce blog : Thread, Generics, Swing, etc...  Le but de ce code est de développer une classe générique qui permet de récupérer des données de façon synchrone et d'afficher une barre de progession dans un dialogue pendant ce temps. J'ai enlevé quelques facteurs réels d'une application afin de simplifier l'explication du code.

Lire la suite

vendredi 26 août 2005

Languages pour la JVM

Voici la listes des languages supportés par la JVM.

http://www.robert-tolksdorf.de/vmlanguages.html

Il n'y en a pas beaucoup hein ! :mrgreen:

lundi 15 août 2005

Un peu de mis

J'ai fini l'intégration de JDIC dans SAM-UI. Ce qui permet dorénavant d'exécuter des SWF à l'intérieur même de l'application. J'ai cependant eu quelques misères à tout mettre en place...

Lire la suite

jeudi 11 août 2005

Java-Source.net

Je viens de faire une belle découverte. ;)

http://java-source.net/

AJAX Tag Library

Voici une librairie de tag JSP qui à l'air assez utile. Elle permet de simplifier le développement des applications web qui utilisent la méthode AJAX.

AJAX Tag Library

jeudi 14 juillet 2005

JSwiff

Je viens tout juste de découvrir l'existance de cette librairie opensource. Elle  est écrite à 100% en Java et elle permet de manipuler des SWF version 7. JSwiff est disponible en deux licenses : GPL et Commercial.

La version actuelle est 0.9. La version première "vrai" version (1.0) devrait être disponible le 1er Août.

Je vais regarder ça de plus près afin d'exploiter ses fonctionnalités dans SAM-UI.

http://www.jswiff.com/

mardi 5 juillet 2005

The Java Language Specification 3rd Edition

Une troisième édition des spécifications du languages Java est maintenant disponible. Il s'agit de LA référence sur les fonctionnalité de Java. À lire absolument par tout les développeurs qui souhaitent connaitres les subtilitées qu'offre ce language.

http://java.sun.com/docs/books/jls/

lundi 27 juin 2005

Java SE 5 update 4

Le dernier update de Java SE 5 - qui était censé être le dernier avant Mustang - n'est finalement plus le dernier. Sun vient de mettre une nouvelle version (update 4) disponible en téléchargement.

Release Notes
Téléchargement

PS : Ceux qui ne font pas de Java, profitez en quand même pour faire l'update du JRE (machine virtuelle). Vos expériences avec les applications Java n'en seront que meilleures.

Pour ceux qui veulent avoir quelque infos sur Mustang (Java SE 6), voici un article qui donne un aperçu des nouveautées de la prochaine génération de Java.  Je l'utilise depuis déjà depuis quelque temps pour rouler NetBeans 4.2 et je ne peux qu'en dire du bon.

Petite note : les API de Sun (J2SE, J2EE, J2ME) changent de nom. Il faut désormais les nommer Java SE 5.  En gros, il faut remplacer le "J2" par "Java " et ne plus utiliser la décimale pour le numéro de version.  

Pendant qu'on y est , pour les curieux, voici ce que nous réserve Dolphin (Java SE 7) pour ce qui est du traitement XML.

mercredi 1 juin 2005

Articles sur NetBeans

Voici quelques articles intéressants sur NetBeans qui ont été publiés dernièrement.

Getting Started With the NetBeans IDE Tutorial, Part 1
Refactoring in NetBeans 4.1
Getting Started with the New JMX NetBeans Module.
Developing for Java with NetBeans 4.1 on Mac OS X

Bonne lecture :)

mercredi 11 mai 2005

NetBeans 4.1 est disponible

La dernière version de mon IDE favori est maintenant disponible ! Voici ce qu'il y a de nouveau au menu :

# Easily browse and navigate around your classes using the new Navigator component.
# Browse and configure project classpath using the Libraries node in the Projects View.
# Use automatically generated Debug and Compile Single File actions for projects with existing build scripts.
# Import projects with multiple source roots as standard projects.
# Create a J2EE application, automatically add EJB modules and Web modules, and deploy the application.
# Create an EJB module and deploy it as a stand-alone module or packaged in a J2EE application.
# Create Session Beans, Entity Beans and Message-Driven Beans.
# Create Entity Beans using an existing database schema.
# Create a Web module, generate calls to EJBs, and deploy the Web module either as a stand-alone Web application or packaged in a J2EE application.
# Create, register, and test Web services.
# Try out the sample applications to learn and understand the J2EE technology.
# Import your existing J2EE projects.
# Validate your applications using the J2EE Verifier.
# Visually configure your EJBs, Web Services and Web Components.
# Add multiple source folders to EJB module or Web module, create Unit tests as a part of the project.
# Visually lay out your MIDlet's workflow, and design and code the GUI using drag and drop elements (available in NetBeans Mobility Pack).
# End-to-end support for enterprise applications. Wizard support for creating J2ME-J2EE applications. Enables you to quickly create J2ME client/server applications (available in NetBeans Mobility Pack).

Désolé, je suis trop fatigué pour traduire ce soir :P


Téléchargement
Release notes

En l'utilisant avec le build 32 de mustang (et +), NetBeans vient de prendre (selon moi) une bonne longueur d'avance sur Eclipse qui devient de plus en plus lent à chaque nouvelle version...

jeudi 28 avril 2005

Java 5.0 update 3

Sun vient d'annoncer l'update 3 de J2SE 5.0.

Release Notes
Téléchargement

PS : Ceux qui ne font pas de Java, profitez en quand même pour faire l'update du JRE (machine virtuelle)

Java PathFinder

La NASA vient d'annoncer la sortie du Java PathFinder. Il s'agit d'une machine virtuelle qui analyse le bytecode d'une application et trouve tout les chemins possible d'exécution afin de détecter les défaillances qui devrait s'y trouver. Disons que c'est encore assez limité pour l'instant, mais c'est extensible, donc ça devrait prendre de la maturité avec le temps.

Ça se passe ici.

jeudi 21 avril 2005

JDK 6.0 build 32 ! :D

Je l'avais annoncé brièvement ici.  Je n'en ai pas reparlé depuis mais je suis tout de même le développement de près étant donné que le développement du JDK est maintenant plus ouvert que les versions précédentes.

J'ai enfin décidé d'essayé le build 32. Pourquoi le build 32 ?  Parce qu'il vient d'y avoir un changement majeur qui risque de changer l'opinion de beaucoup de gens sur la performance de Java pour les applications desktop. Le JDK utilisera dorénavant le DoubleBuffering pour la gestion de Swing. Donc il n'y aura plus de délai d'affichage lorsque une autre fenêtre sera par dessus celle écrite en Java.

J'ai essayé Netbeans avec le build 32 et je ne peux dire qu'une seule chose : ça déchire !!! 8) On a presque l'impression d'utilisé une application native. :)

Cependant ce changement entraine la modification d'environ 60 classes dont l'API publique est différente du JDK 5. Donc pas question d'avoir cette fonctionnalité dans le prochain update du JDK 5.

Source : java.net

vendredi 1 avril 2005

StringBuilder

J'ai déjà mentionné dans ce billet que les performances de la classe String étaient vraiment mauvaise pour la construction d'une chaine de caractère avec l'opérateur +=. Je vous avais recommendé d'utiliser plutôt la classe StringBuffer pour ce type d'opération. Ce qui est (et reste encore) une bonne pratique.

Je viens tout juste de découvrir l'existance de la classe StringBuilder qui est livré avec le JDK 5.0.  

Encore une nouvelle classe ? Et pourquoi donc ?

C'est à cause que les méthodes de la classe StringBuffer sont synchronisées. Ce qui entraine forcément une baisse de performances...

Dans la majorité des cas, la construction d'une chaine de caractère se fait dans le corp d'une méthode, donc accessible seulement que pour un Thread singulier. Sun à donc décider de créer la même classe, sans la synchronisation.

Lire la suite

mardi 15 mars 2005

Language de scripting en Java

Voici un benchmark intéressant des différents languages de scripting qui sont interprêté en Java. Donc ils peuvent évidemment être utilisé à l'intérieur de vos applications Java existantes.

Choosing a Java scripting language

Java 5.0 update 2

Sun vient d'annoncer l'update 2 de J2SE 5.0.

Release Notes
Téléchargement

J2ME et la 3D

Voici un tutoriel intéressant pour s'initier à l'API J2ME pour la programmation 3D sur les appareils mobiles.

http://developers.sun.com/techtopics/mobility/apis/articles/3dgraphics/?source=RSS

mardi 15 février 2005

JBazaar

Je vous conseille d'ajouter ce bazar à vos bookmarks. ;)

JBaazar

lundi 31 janvier 2005

AgentFX (Moteur 3D)

Les studios Agency9 ont annoncés la sortie de la version 2.1.1 de leur moteur 3D AgentFX. Ce moteur d'envergure professionelle est écrit en Java et utilise OpenGL.

Le moteur en soi est sous license commerciale mais il est possible de l'obtenir gratuitement pour usage personnelle.

Ça se passe ici.

jeudi 27 janvier 2005

Golden T Game Engine

Golden T Studios ont annoncé la sortie de la version 0.2.0 de leur moteur de jeux 2D écrit en Java.  

- Peux rouler en plein écran, dans un fenêtre ou dans un Applet.
- Support de 3 types d'images (gif, jpg, png).
- Support complet de la souris et clavier.
- Support de 4 types d'audio (wav, midi, mp3, ogg)
- Les mouvements et animations sont basés sur le temps.
- Gestion des collisions au pixel près ! (facultatif)
- Double Buffering

J'ai lu les tutoriaux et fait quelques "mod" des exemples de code. Je crois que je vais devenir accro de cette librairie ! 8)

Golden T Game Engine (GTGE)

mardi 25 janvier 2005

Synchronisation

Depuis quelques temps, je m'intéresse beaucoup aux petits détails techniques de Java. Ces temps-ci, je lis sur la partie multi-threading. Et comme je ne veux pas oublier tout ça, je le prends en note ici. ;)

Tout d'abord, qu'est-ce qu'un Thread ?
Pour faire un résumé rapide, un Thread est un processus qui roule en arrière plan.

Comment est-ce que la machine virtuelle fait-elle pour exécuter plusieurs processus simultanément ?

Je dirais que c'est un peu comme la politique dans la chambre des communes. Chaque Thread représente un député et la JVM est le président. Lorsque ce dernier donne le droit de parole à un député, il ne doit dire qu'un seul mot. Et ce mot ne doit pas être plus gros que 4 octets(32 bits). ;)

Lire la suite

dimanche 23 janvier 2005

Java Performance - Part 2

Ceci est la suite de ce que j'avais commencé ici. Pour ceux qui n'ont pas envie de cliquer sur le lien, il s'agit d'une article sur la performance en Java.

Lire la suite

jeudi 13 janvier 2005

Java Launcher

Je viens tout juste de découvrir ce petit soft qui m'a l'air assez pratique !

- Il permet l'exécution d'une classe Java en double-cliquant dessus dans Explorer.
- Il peut générer un .exe comprenant toute les ressources de l'application (classes, images, sons, etc...).
- Il permet de voir le code source de la classe ( compilé ).
- Affichage d'un diagramme montrant les relations des différentes classes de l'application.

Je viens de faire un test et ça fonctionne #1 ! 8)

Bref, il n'y a absolument rien de nouveau là-dedans mais j'aime bien l'idée de regrouper tout ça ensemble, l'intégrer à Windows et le distribuer gratuitement.

Ça se passe ici.

this.getJavaVersion().upgrade();

C'est aujourd'hui le grand jour...

J'ai enfin demander la permission à mon gestionnaire de projet pour passer à J2SE 5.0 (donc Tomcat 5.5.4 également). La réponse à ma demande fût positive à condition que nos applications déjà existances fonctionnent sans problèmes. Je vous dirai les résultats de mes tests lorsque ceux-ci seront terminés.

Pour ceux qui était absent durant les vacances (moi), la plate-forme Java 5.0 à subi sa première mise à jour au mois de Décembre.

Mais il y a un truc que je trouve bizarre... Sur cette page, c'est qu'écrit que la version disponible la plus récente est 1.5.0_02-b05, alors que la version disponible sur la page de téléchargement est 1.5.0_01-b08.

Pour ceux qui ne sont pas encore convaincu des avantages de passer à J2SE 5.0, voici un article(en) qui risque de vous intéresser :

Five Reasons to Move to the J2SE 5 Platform

L'année risque d'être intéressante ! 8)

mercredi 15 décembre 2004

Direct Web Remoting

Direct Web Remoting (DWR) est un framework Java/JavaScript permettant d'invoqué des méthodes Java en remote à partir du JavaScript. Ce qui permet de communiqué avec le serveur sans recharger la page.

Le principe est assez simple : le JavaScript écrit un IFRAME dans la page et s'en sert pour la communication avec le Servlet. J'ai utilisé cette techique pour un projet récemment... et ça fonctionne assez bien.

Cependant j'ai l'impression que ce framework est beaucoup plus complet que ce que j'ai fait. ;)  

Je vous en reparlerai lorsque je l'aurai testé. :)

Ça se passe ici.


Pour ceux qui aimerait voir une démo en ligne, il y a google qui à déjà fait des essais. À chaque lettre tappé dans le champ de recherche, la liste des mot clés les plus utilisé s'affiche avec le nombre de résultats associés ! 8) (Google Suggest)

Netbeans 4.0

La communauté de NetBeans à annoncé la release officielle de l'IDE version 4.0.

Je l'ai installé mais pas encore testé... Aujourd'hui je faisait du Flash ! ;)

Ça se passe ici.

jeudi 18 novembre 2004

JDesktop

Une des faiblesses de Java pour les applications desktop, c'est le manque d'accès au fonctionnalité natives de l'OS. JDesktop Integration Components(JDIC) est un projet qui donne au développeurs Java ce qu'ils ont toujours enviés au C# tout en conservant le multi-plateforme ! ^^

Ce projet à été lancé par les développeurs de Sun du groupe Desktop. Ensuite le projet à été mis en open source afin d'accélérer le développement.

Pour l'instant, le projet est divisé en 6 modules :


Desktop : Démarre les applications desktop pour ouvrir, éditer, imprimer des fichier et envoyer des mails.

Filetypes : Permet de modifier les association de type de fichier de l'OS.

Browser : Permet d'intégrer un navigateur natif (IE ou Mozilla) dans un cadre AWT.

Packager : Outils de ligne de commande pour convertir les application Java Web Start en installateur natif.

Tray API : Support pour les icones de panneaux et menu contextuels. (icônes en bas à droite dans Windows)

SaverBeans : Économisateur d'écran en Java.

Lire la suite

Options de la JVM

Je viens de découvrir un rassemblement de tous les options possibles de la JVM. Ceux que l'on passe en arguments à l'exécutable "java".

Ça se passe ici

mardi 16 novembre 2004

JDK 6.0

Non non, ce n'est pas une faute de frappe, il s'agit bien du JDK 6.0. ^^

Le nom de code cette prochaine version de Java est Mustang. Sun à changé de license et utilise maintenant la Java Research License. Ce qui permet de distribuer les sources pendant le développement.

Il est déjà possible de se procurer un snapshot du build 12. Mais il faut faire attention, ça peut être très instable.

Ça se passe ici.

jeudi 28 octobre 2004

Jake 2

Voici un projet qui risque de m'intéresser... :)
Il s'agit d'un port du jeu de shooter Quake 2 codé entièrement en Java. Les sources sont distribué sous license GNU. Plus les versions avances, plus les performances sont comparables à ceux du jeu d'orginine codé en C (benchmark).

Ça se passe ici.

mercredi 27 octobre 2004

AOP et Pattern

Vous rappelez-vous de l'AOP? Voici un article intéressant sur l'utilisation de l'AOP à l'aide du framework Spring.

Tout comme la POO, l'AOP à commence à avoir ses propres pattern. La deuxième partie de l'article propose une implémentation du Cuckoo's Egg Pattern.

NetBeans 4.1

La version 4.0 de NetBeans est encore en beta2 mais il est déjà possible de se procurer une pre-release de la version 4.1 dont la sortie est prévue pour avril 2005. :o

Ça se passe ici.

JavaMail 1.3.2

Sun vient d'annoncer JavaMail 1.3.2. Cette release vient corriger 25 bugs et ajoute les nouveautées suivantes :

- SSL/TLS support for all protocols
- STARTTLS support for the IMAP and SMTP protocols
- SASL support for the IMAP protocol
- access to detailed SMTP error codes
Ça se passe ici.

mardi 26 octobre 2004

Looking Glass

Microsoft n'est pas le seul à vouloir rendre les interfaces desktop en 3D (cf. longhorn). Sun travaille présentement sur le projet Looking Glass dans le but de changer notre environnement de travail qui est pratiquement le même depuis plusieurs années (à peu de choses près...). Ce qui est bien dans tout ça, ce que c'est opensource ! 8)

Ça se passe ici -- (screenshots et démo)

mercredi 20 octobre 2004

MyJavaPack

MyJavaPack est un pack contenant plein de bonne chose pour un développeur Java. C'est multi plate-forme et tout est open-source ! 8)

Lire la suite

jeudi 7 octobre 2004

HttpUnit 1.6

Cet API est destiné à simuler le comportant d'un browser afin d'automatiser la phase de test d'un application web (en HTML).  Il est possible de remplir et soumettre un formulaire, interprète le JavaScript, authenfication http de base, gestion des cookies, redirection de page. Le code Java permet également récupérer la page HTML sous format texte, en DOM XML ou sous forme d'objet.

Ça se passe ici.

Whirlycache

Il s'agit d'une librairie Java dont le rôle est la gestion de la cache. Et je dois avouer que c'est assez bien fait... :)  

Il y a trois item important dans le processus : le Backend, le Tuner et les Policy.

Le Backend représente le conteneur de la cache. Il doit implémenter l'interface com.whirlycott.cache.ManagedCache, celle-ci hérite de l'interface java.util.Map.

Le Tuner est le Thread qui s'occupe de mettre à jour la cache.

Les Policy sont les "règles de conduite" du Tuner. (Poid limite, intervale de mise à jour, etc...) . Elle doit implémenter l'interface com.whirlycott.cache.CacheMaintenancePolicy


La configuration se fait via un document XML se trouvant dans le classPath.

Lire la suite

Java et les Images

J'était censé envoyer des liens à Lolotte concernant le traitement d'images en Java. Cependant, même après 3 reprises, le courriel ne ce rend jamais... :S (désolé pour l'inconvénient Lolotte).

Tentative désespéré, je post les liens ici, qui peut-être seront utiles à d'autres... :)

IMAGE I/O LIBRARY
FILTERING AND TRANSFORMING DIGITAL IMAGES
STYLING DIGITAL IMAGES WITH CONVOLVEOP
BLENDING IMAGES
DRAWING DASHED LINES WITH STROKE

En espèrant que tu lises ce post Lolotte ! ;)

dimanche 3 octobre 2004

Java Performance

Beaucoup de gens disent que Java est lent, ce qui était vrai à l'époque du JDK 1.2. Mais depuis le language à évolué et peut dans certains cas se comparer aux language les plus réputés en termes de performances. Je parle bien du C++, même si ça peut-être difficile à croire ! ;)

Évidemment, c'est très possible (et fréquent) de rencontrer un programme Java qui est lent. Mais avant d'accuser le language il faudrait peut-être reviser son code. Car c'est aussi possible d'écrire un programme C++ lent ! Par exemple MX2004 que plusieurs considèrent intravaillable à cause de sa lenteur. (pas moi, je l'aime bien MX2004 ;))

Lire la suite

jeudi 30 septembre 2004

J2SE 5.0

La release officiel de J2SE 5.0 est maintenant disponible. Sun nous propose un bundle du nouveau JDK et de NetBeans 4.0 beta2 qui vient aussi juste d'être annoncé. Le beta2 de NetBeans vient corriger 900 bugs dont 65 reliés à la performance.

Ça se passe ici et ici ;).

mercredi 29 septembre 2004

ThreadLocal

Le problème : transformer une application web qui à présentement une instance par client en une instance unique pour tout les clients.  La complication est que le code qui décidera sur quelle base de données doit être exécuté au début de la requête et le code qui se connecte à la BD est disons, "très" profond.  :S

Lire la suite

jeudi 2 septembre 2004

J2SE 5.0 RC

La dernière mouture de J2SE passe maintenant à Release Candidate ! :D Il semblerait que Sun a décidé de changer le numéro de version pour 5.0 au lieu de 1.5 ... Voici l'explication de Sun à cela.


Release Notes
Téléchargement

mercredi 1 septembre 2004

Annonces Java

On dirait qu'aujourd'hui est la journé officielle des annonces dans la communauté Java. :)

Tout d'abord, Sun a annoncé les spécification de JavaServer Faces 1.2.

Jarkarta a annoncé que les Struts 1.2.2 sont maintenant disponible à télécharger.

Pour finir, Jarkarta a aussi annoncé Tomcat 5.5. Voici la liste des changements depuis la version 5.0.

Ça fait beaucoup de trucs à tester tout ça! ;)

mardi 24 août 2004

JDK 1.5 - enum

Attendu depuis longtemps dans la communauté Java, elles sont enfin là! :D Les enums sont très pratiques pour regrouper les constantes qui sont de même type. Ce n'est pas du nouveau pour ceux qui ont déjà fait du C, C++ ou C#. Mais... contrairement à la tradition, les enums de Java ne sont pas numériques! :o Ce qui vient règler certains problèmes que les valeurs numériques occasionnaient...

Lire la suite

samedi 21 août 2004

NetBeans IDE 4.0 Beta 1

La communauté de NetBeans a annoncé hier NetBeans IDE 4.0 Beta 1. :D Il s'agit du premier IDE supportant officiellement le JDK 1.5 8) Voici les nouveautées majeures de cette version :

Project System based on Apache Ant
Refactoring
JDK 1.5 Support
Web Application Development Improvements
Mobility
Debugger Improvements
Windowing System Improvements

Ceci n'est qu'une opinion personnelle, mais à mon avis, il s'agit de l'IDE ultime pour faire du Java. Que ce soit pour des applications web, desktop, mobile, 3D, etc...

Lire la suite

lundi 16 août 2004

JasperReports

Teodor Danciu a dévoilé la version 0.6.0 de JasperReports, une librairie open source en Java qui permet de générer des rapports à partir de templates XML ou de datasources diverses (incluant JDBC). Le résultat peut être affiché à l'écran, imprimé ou écrit dans plusieurs type de document tel que : XML, PDF, etc...

La version 0.6.0 permets d'exporter en batch, améliore l'exportation au format SVG, suis la convention de nommage de package de Java et ajoute la possibilité d'utiliser une datasource XML basé sur les XPath.

vendredi 13 août 2004

JDocs :: javadocs super-center

Cette communauté vient de voir le jour. Il s'agit d'un regroupement de Javadoc des API les plus populaires de Java. Pour l'instant, le site contient la Javadoc de 50 api! :o Ils y ont instaurés un engin de recherche qui effectue sa recherche sur tout les apis en même temps. Ils se sont aussi inspiré de php.net et mysql.com, c'est à dire qu'il est possible de poster des questions/commentaires sur chaque méthodes d'une classe. :)

JDocs

mardi 10 août 2004

JDK 1.5 - Generics

Vous croyez que Java est un language trop typé? Et bien non, il ne l'est pas assez! :P En java, pour récupérer un objet d'une collection, il faut souvent (presque toujours) caster celui-ci en son type respectif car l'interface Collection utilise le type Object pour être le plus générique possible. Caster un objet répresente toujours un risque car il y a une ClassCastException qui sera lancé à l'exécution si le type de l'objet ne correspond pas à celui demandé pour le casting... :S

Les Generics on été créés pour remédier à ce problème 8) Il est maintenant possible de spécifier le type d'objet d'une Collection. Il suffit d'ajouté <LeType> devant le type de la collection.

Lire la suite

lundi 9 août 2004

JDK 1.5 - arguments

C'est au tour de Java d'imiter l'AS2, ou plutôt ECMAscript... ;)  La version 1.5 permets désormais d'envoyer un nombre X de paramètre à une méthode! :D Il suffit d'utiliser l'opérateur "..." entre le type et le nom du tableau contenant les arguments.

Java
package com.liguo.util;

public class MathUtil{

public static int additionner(int ... nombres){
int resultat = 0;

for (int i : nombres){
resultat += i;
}

return resultat;
}
}

//EXEMPLE D'UTILISATION
MathUtil.additionner(1,2,3);
MathUtil.additionner(3,2,5,10);
MathUtil.additionner(3,7,4,6,2,8);

Ce concept est déjà familié au développeur AS, mais ça me fait plaisir de le voir en Java ;) . Contrairement à l'ECMAscript, le tableau d'arguments ne peut contenir qu'un seul type d'objet.