Par liguorien,
vendredi 1 octobre 2010 à 20:34 ::Flash
Juste un petit billet pour signaler que je suis encore en vie!
Voici un petit récapitulatif des derniers mois/années classé par sujets.
Emploi
Techniquement je n'ai pas changé d'emploi depuis novembre 2007. Par contre, j'ai changé de compagnie! Tribal Nova a lancé un spin-off nommé Woozworld inc qui focus uniquement sur le projet sur lequel je travail. C'est à dire woozworld (anciennement nommé KidStudio). Il s'agit du communauté virtuel pour les pré-ados axé sur le User Generated Content (UGC). J'ai été nommé lead programmer front-end lors du changement de compagnie. Mon équipe se charge de l'ensemble du dévelopement Flex ainsi que du serveur multijoueur en java (smartfox).
Livres
Voici quelques livres que j'ai lu dans les derniers mois :
The definitive guide to Terracota
Fundamental networking in java
Network Warrior
The pragmatic programmer
Jeux
Et oui, je suis toujours un gamer assidu. Voici les jeux auquels je joue en ce moment :
Starcraft II
Final Fantasy XIV
Guitar Hero : Warriors of Rock
Misc
Pour finir, voici quelques pensées aléatoires :
Netty est vraiment bien si vous devez faire des applications clients/serveurs en java.
J'ai remplacé firefox pour chrome l'an dernier.
J'ai essayé d'apprivoiser l'Objective C pour faire des apps iPhone, mais c'est un language trop barbare pour moi :P
Je déteste travailler avec les APIs facebook.
Je n'ai jamais réussi a arrêter de fumer complètement.
Je n'ai pas encore fait de projet en Flex 4, et du coup, essayer les nouveaux composents spark. (Honte à moi, mais c'est ce qui arrive lorsqu'on travail sur le même projet depuis 3 ans)
Par liguorien,
mercredi 17 juin 2009 à 18:27 ::Divers
Aujourd'hui j'ai découvert l'existance de bing.com, le nouvel engin de recherche de Microsoft. Je crois que je vais rester ancré à mon habitude d'utiliser google, mais je dois avouer que le nouveau venu est assez intéressant.
J'ai été surpris par la réalisation technique de la section vidéo. Ayant les bon outils pour accomplir la tâche, j'ai essayé de faire un peu de reverse engineering de cette section.
Par liguorien,
mercredi 17 juin 2009 à 12:39 ::Flex
J'ai beaucoup joué avec le DragManager de Flex dans les dernier mois. J'ai eu besoin à un certain point de fournir une implémentation custom du DragManager afin de régler quelques bugs assez gênant.
Tout les singletons de Flex implémentent une certaine interface (DragManager -> IDragManager -> DragManagerImpl) sont enregistrés globalement dans la classe non-documenté mx.core.Singleton.
Le problème avec la fameuse classe Singleton, c'est qu'elle ne permet pas de redéfinir une classe.
public static function registerClass(interfaceName:String, clazz:Class):void
{.
var c:Class = classMap[interfaceName];.
if (!c).
classMap[interfaceName] = clazz;.
}.
Donc le seul moyen de spécifier ma propre classe, c'est de redéfinir le SystemManager. La majorité des managers sont défini dans la méthode SystemManager.docFrameHandler() (à la ligne 2261 pour être exact).
Heureusement, la méthode utilise le namespace mx_internal donc il est tout à fait possible de polymorpher la méthode. (à vos risques et périls, cependant)
Mais...
Hmmm.
Où est défini l'implémentation du SystemManager? Qu'est-ce que le SystemManager?
Il y a le metadata [Frame] défini dans la classe Application. Ce metatag permet d'indiquer au compilateur la classe qui sera instancié sur un frame du swf.
Dans le cadre de mx.core.Application :
[Frame(factoryClass="mx.managers.SystemManager")]
C'est en modifiant ce metadata que j'ai pu avoir ma propre implémentation du SystemManager ainsi que du DragManager. Et au final, après avoir implémenté mon DragManager custom, j'ai trouvé une solution à mon problème d'origine sans avoir à modifier le DragManager de Flex. Il suffisait d'envoyer une implémentation spécial de MouseEvent, mais ça, c'est le but d'un autre billet! :D
Par liguorien,
mercredi 18 février 2009 à 11:12 ::Java
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.
Par liguorien,
vendredi 9 janvier 2009 à 10:39 ::Divers
J'aime la griller L'inaler, la savourer Il faut arrêter
Depuis mon douzième anniversaire qu'elle fait partie intégrale de ma vie. Je n'ai jamais passé plus d'une semaine entière sans être à ses côtés. J'ai toujours eu l'impression qu'elle me réconfortait alors qu'en vérité elle m'ensorcelait. J'ai suivi les conseils d'un grand sage et décidé de chasser le démon de mon esprit.
Par liguorien,
lundi 21 janvier 2008 à 08:26 ::Divers
Et voilà. Le déménagement est complété. C'était long, non pas parce que c'était compliqué mais plutôt parce que j'ai été paresseu. Il reste encore des choses à faire mais au moins le gros du travail est accompli.
Par liguorien,
dimanche 9 décembre 2007 à 19:23 ::Divers
Après 8 mois d'inactivité sur ce blog, je crois qu'il est temps de dépoussiérer un peu. J'ai une bonne et une mauvaise nouvelle.
La bonne c'est que j'ai changé d'emploi et je suis maintenant développeur flash à temps plein pour Tribal Nova.
La mauvaise c'est que j'utilisais un des serveurs de mon ancien emploi pour faire rouler mon blog maison qui est écrit en Java. Je l'utilise encore clandestinement mais ça ne sera plus le cas pour longtemps. Les hébergeurs Java sont assez couteux et je n'ai pas envie de payer pour un simple blog. J'ai pris un hébergement PHP bon marché pour le moment et on verra ce que ça donne. J'ai installé un dotclear et je dois faire la migration du blog. Il risque d'y avoir des billet qui s'affiche mal ou des liens brisés. Merci de me faire signe si vous voyez un problème.
Ceci étant dit, on se revoit prochainement sur un nouveau blog dotcleareu! Moi j'ai du pain sur la planche!
Flex Ant Tasks Ensemble de trois tâches ant qui permettent de compiler et déployer les applicationw Flex. (mxmlc, compc et html-wrapper)
Flex Compiler Shell Un outil en ligne de commande qui permet de réutiliser la même JVM pour le compilateur. Ce n'est pas très utile pour ceux qui utilisent Flex Builder mais ceux qui compilent en ligne de commande auront un gain de performance significatif.
Par liguorien,
mercredi 24 janvier 2007 à 17:51 ::Divers
J'ai toujours détesté la pub. Et je m'étais dis qu'il n'y en aurait jamais sur ce site mis à part les 2 liens pour java et netbeans en bas du menu.
Cependant après discussion avec un ami, j'ai décidé de mettre à l'essai pour un mois ou deux les google adSense et la "google search box" afin de voir si c'est vraiment rentable ou non. Si après un ou deux mois ce n'est pas rentable à mon goût, je vais me faire un plaisir de les enlever!
J'ai essayé que ça ne soit pas trop encombrant. J'aurais pu le mettre en haut de page pour augmenter mes chances de réussite, mais disons que ça ne me ferais mal au coeur !
Donc désolé cher lecteurs pour cet ajout qui n'est pas vraiment nécessaire mais qui vaut la peine d'être essayé.
Par liguorien,
samedi 16 décembre 2006 à 00:06 ::Java
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.
Par liguorien,
jeudi 7 décembre 2006 à 00:32 ::Projets
J'ai fait quelques changement au niveau de FlexModelGenerator.
De un, j'ai enlevé le mot "Model" dans le nom. Le but du projet n'est plus de juste convertir le modèle en AS3, mais de générer du code qui est relatif au modèle. Par exemple générer une classe utilitaire qui va générer des éléments dom4j à partir d'une entité et vice versa. La même chose avec les object AS3 et XML. Je crois que la prochaine étape sera de générer des formulaires MXML pour éditer les entitées.
De deux, je change la license pour LGPL.
Je vous propose donc cette version 0.2 alpha qui était censé être beta jusqu'à aujourd'hui Je pensais avoir fini mais je me suis rendu compte que j'avais complètement oublié le support des dates. Sinon, je suporte pas mal tout les types suspect d'être sur les entitées : primitif, wrapper, String, entité, Array, Collection et Map.
Ça fait 3 jours fais que de la javadoc. C'est long... J'ai tout de même fait pas mal de test et ça l'air de fonctionner correctement. Cependant je suis mal sur qu'il doit y avoir des cas que je n'ai pas tester.
Donc même si je ne supporte pas encore les dates, je mets tout de suite en ligne les sources pour que les plus courageux d'entre vous qui ont envie de tester puisse le faire et ainsi m'aider dans l'avancement de ce projet.
Par liguorien,
dimanche 19 novembre 2006 à 09:53 ::Projets
Je commencais à être tanné de toujours convertir les entités Java en entité AS3. Avec NetBeans, ça va bien car il propose un générateur de getter/setter. Mais ce n'est pas le cas avec FlexBuilder 2...
C'est pourquoi j'ai décidé cette semaine au travail de me faire un petit outil qui le fait automatiquement en utilisant l'API de réflection de Java. En le développant, je me suis dit que c'était surement une bonne occasion de mettre en pratique les Annotations de Java. Cependant, mon patron ne me pait pas pour mes compulsions de geek mais bien pour développer des produits. C'est pourquoi j'ai refait à la maison le même outil mais en utilisant les annotations. Afin de m'assurer que c'est bien à moi et non mon patron, je distribue publiquement sous license GPL.
Par liguorien,
samedi 9 septembre 2006 à 23:16 ::Flex
De tous les composants de Flex 2, je crois que c'est mx.controls.MenuBar et mx.controls.Menu qui m'ont donnés le plus de trouble. J'irais même jusqu'à dire qu'ils font pitié, ils ne méritent pas d'être inclus dans le Flex 2 SDK
Par liguorien,
mercredi 6 septembre 2006 à 14:33 ::Divers
Un petit récapitulatif des dernier temps :
- C'est le dernier jour que je suis dans le bureau où j'ai passé les 3 dernières années. On déménage demain. Heureusement c'est encore dans le même quartier et il parait que le nouveau local est vraiment mieu.
- Nous allons enfin avoir une machine à espresso dans le bureau
- Lorsque j'aurai du temps libre, il faut vraiment que je finisse le développement de MonoSerge. Et d'ici ce temps là achaler Ben pour qu'il me compose une "toune de techno modulaire" pour respecter le concept du jeu.
- Durant le mois d'Août uniquement, il y a eu 4897 téléchargements de mon éditeur JavaScript (sans compter ceux de nbextras.org). Je crois qu'il s'agit d'un message clair sur le fait que je dois continuer ce projet.
- Mon neveu a maintenant 3 ans.
- L'automne arrive, c'est le temps des récoltes.
- J'ai testé Metal Gear Online dernièrement. C'est infesté de jeunes et je suis carrément un "noob".
- Sim City 4 n'a plus de secrets pour moi. Je crois que je vais devenir maire
- Il se peu fort bien que je sois à Las Vegas pour MAX 2006. Faites-moi signe si vous y allez.
- La version finale de Java SE 6 devrait être bientôt disponible.
- Flex 2 est vraiment génial.
- Le Flash Player 9 est plus puissant que le 8. Mais ça reste du Flash, avec ses limites. Personnellement, je ne suis plus vraiment excité par les performances du player 9 et j'attends avec impatience l'accélération hardware du Player 10 (si c'est le cas évidemment).
- Après 5 ans d'attente, il y aura enfin un nouveau "vrai" Final Fantasy(FF12) qui sort dans 2 mois.
- J'attends avec impatience la sortie de la PS3 et du linux developer kit qui me permettra de profiter de la puissance de la bête pour le développement de jeu.
- J'ai plein d'idée pour le développement d'un framework pour Flex 2, mais il y a toujours la contrainte du manque de temps. Je vais essayer dans la mesure du possible de rendre quelques packages publique à l'occasion.
- Je serge, tu serges, il serge, nous sergeons, vous sergez, ils sergent.
- Toute mes félicitations à kiroukou pour le développement de sandy (et vivement la version AS3, LÀ je vais la tester )
- J'habite maintenant seul en appartement depuis 2 mois.
- J'ai un trou dans mon soulier, il faut m'en acheter un autre paire.
- Développer un système de plugin qui gère le chargement de classes dynamique en Java, c'est palpitant et chiant à la fois.
- J'ai été nommé 'directeur technologique' la semaine dernière. En gros, c'est maintenant moi qui a le dernier mot dans la compagnie quant au choix des technologies.
- J'ai envie d'avoir un chat.
- Je suis en train d'apprendre à jouer la toune "The decisive battle" de FF6 au synthétiseur.
- Ma nouvelle voisine d'en haut est assez bruyante.
- J'était censé diminuer ma consommation de cigarette pour le mois d'Août, je l'ai malheureusement augmenté.
- Lundi c'était la fête du travail. Nous avons fêté en ne travaillant pas.
Adobe a mis ASDoc à notre disposition sur Adobe Labs. Très bonne initiative de leur part. Par contre, c'est un outil pour avoir des maux de têtes Ça m'a pris au moins 15 minutes pour réussir à générer quelque chose et je n'ai pas réussi à générer la documentation entière de tout le projet à cause de certains bug avec le mxml. J'ai pu identifier clairement au moins 2 bugs, les autres sont trop bizarre pour être identifiés
- Dans un MXML, il faut rajouter l'import pour tous les classes, même ceux dans le même package. - Si une méthode a le metadata [Bindable(event="onSerge" )], elle sera en double dans la documentation.
Même si c'est buggé avec le MXML, ça ne dérange pas trop. Habituellement ce genre de documentation c'est surtout utile pour les API d'un package AS et mais pas vraiment pour les interfaces graphiques en MXML. Ça risque d'être pratique pour les projets de type Sandy et Pixlib
Pour ceux qui auraient raté le lien en début de billet, ça se passe ici.
Ceux qui sont abonnés sur la mailing list d'OSFlash l'ont surement remarqué, Nicolas Cannasse a commencé à étudier et documenter le format SWF 9 sur le wiki d'OSFlash. Il y a encore du pain sur la planche mais c'est déjà un excellent départ! Beau travail Nicolas!
Comme vous avez surement pu lire une bonne dizaine de fois hier, je ne vous apprends rien en vous disant que Flex 2 et le Flash Player 9 sont maintenant disponibles officiellement.
Lorsque j'ai vu la nouvelle hier matin, j'ai tout de suite été télécharger le Flash Player sur le site d'Adobe. J'ai ensuite téléchargé le trial de Flex Builder 2 afin de continuer mon travail et faire une fois pour toute les modifications à mon code pour qu'il compile à nouveau (à cause des modifications dans le SDK). Petite note au passage, il y a quelques bugs assez chiants dans le SDK qui sont apparus dans le release officiel et qui n'étaient pas dans la beta 3 (grrr). Par contre, la dernière version est beaucoup moins gourmande sur la RAM. Chez moi, le plafond est à 215Mo alors que dans la beta 3 il n'y en avait pas! (je songeais à m'acheter 2Go de RAM ! )
Pour en revenir au but de ce post, j'ai eu une mauvaise surprise lorsque je suis arrivé pour debuger mon code. J'avais un popup d'erreur qui disait que le Flash Player Debug n'était pas correctement installé dans Firefox. Donc il était impossible de débuger dans Firefox. Après un certain temps, on s'est rendu compte que ça fonctionnait dans IE .
Une fois de plus, c'est Fred qui a trouver et régler la racine du problème .
C'est que la version du Flash Player qui est distribué publiquement sur le site d'Adobe est 9,0,16,0 alors que la version du Flash Player Debug est 9,0,15,0. Donc on supose que l'installeur du Flash Player ne fait rien étant donné que la version installé est supérieur. Il a fallu désinstallé le plugin Firefox et réexécuter l'installateur du Flash Player Debug.
Bref, moral de l'histoire : ne pas télécharger le Flash Player directement sur le site d'Adobe si vous avez l'intention d'installer Flex Builder.
Dernièrement, je devais développer un component Flex 2 qui doit être skinnable par un CSS. Le design par défaut m'était fourni. La définition des skins se fait dans FLA créer à l'aide Flash 8.
Il y a beaucoup de coins arrondi dans le design. J'avais entendu parler vaguement de la fonctionnalité scale9grid qui permet de définir des zones de redimensionnement dans un clip mais je croyais que c'était utilisable uniquement que par le code. Le problème était que je voyais mal comment déterminer la taille exacte des coins sans rajouter des styles supplémentaire dans la CSS, donc j'avais écarter la possiblité d'utiliser un scale9grid. Je dois avouer que j'étais un peu mélanger... C'est alors que Fred est venu à ma rescousse
Il m'a appris que l'on pouvait définir les zones de redimensionnement d'un scale9grid directement à partir de l'IDE Flash. Il suffit d'ouvrir le paneau de la librairie, faire un clic-droit sur le symbole et cliquer sur properties. En bas complètement du popup des propriétés, il y a la case à cocher "Enable guides for 9-slice scaling" qui permet d'afficher les guides pour le scale9grid.
Voilà, j'espère que ça pourra être pratique pour ceux qui comme moi, n'avait pas encore découvert cette fonctionnalité
Voici un article intéressant sur Apollo, le futur Flash-Player-Acrobat-Reader-et-browser-HTML-qui-tue, développé par Adobe. Voici un petit résumé des points importants pour ceux qui ne comprennent pas bien la langue de Shakespeare.
Pour ceux qui ne connaissent pas encore Apollo, c'est un accouplement entre le Flash Player, Acrobat Reader et un browser HTML. Ce qui permettra de lire des SWF, des PDF et du HTML dans le même conteneur. Le tout est ciblé pour le desktop. Donc ce n'est pas pour le web. Toutefois, rien n'empêche d'utiliser des services web pour charger des données dynamiquement. Apollo est uniquement un Player, il ne permet pas de créer des projecteurs afin de les distribuer sur CD-ROM.
L'engin utilisé pour afficher le HTML est censé fournir un support complet des standards web. Ce qui permettra de rouler n'importe quel application HTML/javascript déjà existante. L'identité de l'engin en question n'a pas encore été dévoilé mais il ne sera pas développé par Adobe. (je soupçonne l'utilisation de gecko, qui est l'engin de rendu utilisé par Firefox)
Apollo étant ciblé pour le desktop, il fournira des API (pour Flash et le JavaScript) permettant de communiquer étroitement avec l'OS.
Il sera disponible en alpha/beta sur Adobe Labs d'ici la fin de l'année et sera disponible officiellement dans la première moitié de l'année 2007. Apollo sera gratuit tout comme le Flash Player l'est présentement. Et dernier point important, il sera multi-plateforme !
Pour ceux qui ont encore de la misère à visualiser de quoi aura l'air Apollo, voici quelques screenshots d'applications Flex 2 qui roule sur le desktop avec un fond transparent. Rien de vraiment nouveau, mais ça peut donner un idée Étant encore dans la phase primaire du développement, il n'y a pas encore de démo démontrant le mixte de SWF, PDF et HTML.
Par liguorien,
mercredi 17 mai 2006 à 10:52 ::Flash
Nicolas Cannasse vient d'annoncer la sortie de haXe 1.0. Un nouveau language qui a pour syntaxe un mixte entre l'ActionScript 2, Java et C++. Le but de haXe est d'avoir un seul language pour plusieurs plateformes. Il peut être utilisé pour faire du Flash, du JavaScript ou bien un serveur web. Pour ce qui est du serveur, le bytecode est exécuté par la NekoVM, qui est également développé par Nicolas Cannasse.
Personnellement je ne peux pas dire que j'ai vraiment essayé, je suis trop occupé pour le moment avec Java et l'AS3... Mais si j'ai l'occasion d'utiliser haXe pour un futur projet, je vous en reparlai. Dans tout les cas, ça semble très prometteur !
Par liguorien,
mercredi 10 mai 2006 à 08:15 ::Divers
La semaine dernière, j'ai eu la surprise d'apprendre que je suis en nomination au NetBeans Community Awards pour ma contribution à la communauté NetBeans (éditeur JavaScript et CSS).
Si le coeur vous en dit, vous pouvez voter pour vos contributeurs préférés
Mr. le spammer, ça ne sert à rien de venir poster sur mon blog des commentaires pour téléchargé des cracks. Vous voyez bien que tous les messages que vous avez envoyés ce weekend ont été supprimé aussitôt posté. Vous perdez votre temps car il n'y a pas de place pour le spam sur ce blog.
Comme à chaque nouveau release, après l'installation du beta 2 de Flex 2, j'ai tenté de recompiler MonoSerge et apporté les correctifs nécessaires afin que je puisse continuer de le développer (lentement mais surement). Je n'ai pas eu beaucoup d'erreur de compilation comme les fois précédentes, mais par contre, le Flash Player plantait à l'exécution sans aucun message d'erreur!
J'ai commencé par mettre des try catch un peu partout afin de voir s'il était possible d'attraper l'erreur.
Sans succès.
J'ai donc utilisé la bonne veille technique de tout mettre en commentaire et recompilé le code en décommentant une ligne à chaque décompilation afin de cibler la ligne meutrière. Disons que j'ai été assez surpris lorsque j'ai trouvé la ligne !
Appel au flasheur, il y aura bientôt un autre volet du concours Crea organisé par l'équipe de mediabox. Le concours se déroulera entièrement en ligne. Comme à l'habitude, le sujet sera donné le jour même et les participant auront 9 heures pour réaliser leur création. Il y aura 2 sujets répartis sur 2 jours. Les participant peuvent choisir de participer à une seule soiré ou bien les deux. Le gagnant remportera la suite complète d'Adobe qui comprend :
Le concours se déroulera le vendredi 5 mai 2006 à 19H et le samedi 6 mai 2006 à 19H.
À noter que 19H c'est l'heure de France. Pour ceux comme moi qui sont au Québec, c'est à 13H. (je vais avoir un avantage statégique sur la fatigue, mouhahahah )
Par liguorien,
mercredi 15 mars 2006 à 12:24 ::Java
Non non, je n'ai pas gagné au casino ! (malgré que j'ai gagné une partie de poker ce weekend )
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 !
Par liguorien,
mercredi 15 mars 2006 à 10:56 ::Divers
Un petit billet pour signaler que je vais changer de serveur dans les prochains jours. Donc il se peut qu'il y aille y perte de données si vous postez au mauvais moment.
Pendant qu'on y est, je me suis fait royalement arnaqué avec mon nom de domaine... Il expire la semaine prochaine et il m'est impossible de le renouveler pour l'instant. Je vais surement changé pour www.liguorien.org dans le courant de la semaine. Je vais confirmer lorsque ce sera fait.
Par liguorien,
mercredi 8 mars 2006 à 20:54 ::Projets
Je continue mon apprentissage des API de la plateforme NetBeans. Le prochain truc que je vais distribuer publiquement est la suite du module CSSCompletion. Pour rappel, ce module avait pour but d'ajouter du code completion pour les mots clés de l'éditeur CSS de NetBeans. Cette fois, je me suis attaqué au navigateur (outline) des fichiers CSS.
J'ai tout d'abord démarré dans la voie traditionnelle en affichant les règles dans une liste avec la possibilité de trier par nom, type et ordre de déclaration. Lorsque l'on double-clique sur un élément, le fichier s'ouvrira dans l'éditeur (si nécessaire) et le curseur sera déplacé à la bonne ligne. La liste se mets à jour si le document est modifié.
Par liguorien,
mercredi 1 mars 2006 à 14:50 ::Java
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 !
Par liguorien,
dimanche 5 février 2006 à 20:37 ::Projets
NetBeans n'a jamais offert de support pour le JavaScript. C'est prévu pour la prochaine version mais comme je n'ai appris cette nouvelle qu'hier et comme je VOULAIS un support pour le javascript, j'ai entrepris il y a quelques jours l'écriture d'un module offrant un support de base pour le JavaScript.
Les fonctionnalités offertes sont les suivantes :
- Colorisation syntaxique : Permet de personnaliser à 100% le formatage des identifiants, mots clés, opérateurs, String, Number, nombres hexadécimals, méthodes et commentaires.
- Engin d'indentation (ctrl-shift-F)
- Dialogue de création de classe (génération de stub code)
- Toute les fonctionnalités déjà offertes par l'éditeur de NetBeans (historique de navigation, bookmark, macro, abbreviation, etc...)
Par liguorien,
jeudi 2 février 2006 à 12:06 ::Java
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.
Par liguorien,
mercredi 1 février 2006 à 19:57 ::Flex
Une nouveauté intéressante s'est introduite dans la version beta de Flex 2. Il est maintenant équipé d'un "view source" !
Voici un petit exemple pour le démontrer. L'important n'est pas le contenu du SWF, mais le "view source" lorsque l'on fait un clic-droit. Le Flash Player 8.5 beta est requis pour visionner ce swf.
Pour ceux qui ne sont pas capable de visionner le swf. Lorsque l'on clique sur View Source, une nouvelle page s'ouvrira avec un SWF contenant l'arborescense des sources et un frame HTML contenant la source sélectionné. Il y a également un bouton pour télécharger l'ensemble des sources dans un fichier ZIP.
Pour activer cette fonctionnalité, il suffit de cliquer sur le bouton Publish Application Source dans Flex Builder et le reste se fait seul. Magique n'est-ce pas ?
En fait, le principe est assez simple, on aurait pu déjà le faire avant mais il aurait fallut beaucoup plus d'effort pour obtenir le même résultat.
Par liguorien,
jeudi 26 janvier 2006 à 07:15 ::Flash
Kiroukou vient d'annoncer Sandy 0.2. Pour le rappel, Sandy est moteur 3D codé en AS2, compatible avec le Flash Player 7 et 8.
Voici une citation pour rappeler les principales nouveautées de ce release :
* Intégration d'une partie de la librairie de Francis Bourre pixlib. Cela permet d'avoir avec cette version une réelle gestion des évennements. * Gestion de la camera avancée : Rotation, translations * Compilation complète avec MTASC (bientot avec le mode -strict) * Tri des faces amélioré pour moins de problèmes d'affichage. * Modifications du coeur du moteur pour plus de performance et plus de simplicité. * Ajout des faces de 4 et N points pour plus de performance ( moins de temps d'affichage nécéssaire ). * Changement radical de la signification des transformations. Maintenant il devient très aisé de disposer un object sur la scene exactement comme on le veut.
Allez faire un tour dans la section resources pour télécharger cette nouvelle version ou bien tout simplement pour avoir de la documentation sur l'utilisation de cette API.
Par liguorien,
mardi 17 janvier 2006 à 15:45 ::Java
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 )
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.
Par liguorien,
lundi 9 janvier 2006 à 22:26 ::Jeux
Ouep, je n'ai qu'un mot à dire à propos de Dragon Quest 8, mais je ne sais pas encore lequel... Excellent, grandiose, fantastique, sensationnel, énorme, déchirant. Déchirant, ouais, voilà mon mot !
Ce jeu de rôle (RPG) développé par Square Enix est le jeu parfait pour les amateurs de RPG old-school. On croirait jouer à un vieu Final Fantasy (FF) mais en 3D.
Par liguorien,
lundi 9 janvier 2006 à 16:11 ::Divers
Une petite annonce pour vous informer de l'existence des blogs de ali_o_kan et kiroukou. Ce sont deux membres actifs dans la communauté Flash francophone et deux de mes fidèles lecteurs... Vous êtes dans mes bookmarks les gars !
- Pixlib Pas nouveau, mais je recommende à tous les dévelopeurs AS2 de tester (et utiliser ) cette librairie. Chaque revision (assez fréquentes) apporte son lot de nouveauté.
- AMFPHP 1.0 Le cadeau de Noël de Patrick Mineault.
- SexieR Une nouvelle version toute fraiche de Sexie.
- Sandy Moteur 3D en AS2 qui risque de devenir le meilleur moteur 3D pour flash.
- AS3 : String VS StringBuilder Article intéressant sur les deux façons de concaténer des String en AS3 et leur implémentation en background. (Je vais devoir faire une petite mise à jour concernant ce billet)
Par liguorien,
vendredi 23 décembre 2005 à 13:15 ::AS3
L'Actionscript 3 apporte un nouveau système événementiel basé sur le modèle événementiel du DOM Level 3. Je n'irai pas en détail dans mes explications mais il y aura au moins le strict minimum pour comprendre son utilisation. Vous devez déjà être familié avec le EventDispatcher pour lire la suite.
Par liguorien,
mercredi 7 décembre 2005 à 11:08 ::AS3
Ce n'est pas parce que j'ai arrêté de parler de l'AS3 que j'ai arrêté de jouer avec ! C'est la même chose avec Adobe (formerly macromedia), ils n'ont pas chômés pendant l'alpha !
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.
Par liguorien,
lundi 21 novembre 2005 à 15:30 ::Flash
Petit coup de pub pour le blog flash d'un ami. Le blog existe depuis 2 mois, mais je viens tout juste de découvrir son existence.. (t'aurais pu m'le dire fred ! )
Par liguorien,
mardi 15 novembre 2005 à 22:16 ::Divers
Moi aussi je veux être à la mode, alors voici ma bibliothèque de geek :
- ActionScript for Flash MX: The Definitive Guide - Essential Actionscript 2.0 - Flash Enabled (Flash design & development for devices) - Game Development with ActionScript - Game Design (Secrets of the Sages) - 3D Math Primer - C Unleashed - C++ Primer Plus (2nd edition) - C++ for game programmers - Java 2 Core Language - Core Java 2 Advanced Features Volume 2 (J2SE 5.0) - Wireless Java with J2ME in 21 days - Developing Games in Java - Patterns in Java - Applied Java patterns - Web services Java APIs for XML using WSDP - Java 2 performance and idiom guide - Java performance ans scalability, volume 1 - Swing Hacks - Hack proofing XML - HTML and XHTML in 24 hours (5th edition) - XSLT Developer's Guide
Par liguorien,
mardi 25 octobre 2005 à 21:09 ::Flash
Je me suis rendu compte d'un fait dernièrement : en Actionscript, tout est passé par valeur. Même si cela peut paraitre étrange, c'est bien le cas
Mon ancienne façon de voir la chose, c'est que les types Boolean, Number et String sont passés par valeur et tout le reste (Array, Object, etc...) est passé par référence.
Pourquoi est-ce que c'est seulement ces trois types qui sont passé valeur ? Et pourquoi le reste par référence ? Regardons tout d'abord du côté du reste qui est passé par référence.
Par liguorien,
dimanche 23 octobre 2005 à 19:10 ::AS3
Je viens de finir mon premier petit projet en AS3 (moment historique ^^). Il s'agit du jeu du serpent. Le serpent avance tout seul et il faut le diriger pour éviter les mur et aller chercher la bouffe. Plus il bouffe, plus il devient grand et il ne faut pas qu'il se passe sur le corps.
Par liguorien,
mercredi 19 octobre 2005 à 19:19 ::AS3
Il existe une nouvelle façon de faire des boucles en AS3. Il s'agit du for each. La syntaxe est presque la même qu'un for(.. in ..) sauf qu'on y ajoute le mot each entre le for et la parenthèse.
La différence au niveau fonctionnel c'est que l'itération se fait sur les valeurs d'un objet plutôt que les clés (index ou nom de propriété ).
Par liguorien,
mercredi 19 octobre 2005 à 13:11 ::AS3
Comme Aggelos l'a mentionné, Zorn permet de modifier les options de compilation du compilateur. En fait, Zorn est livré avec deux compilateurs utilisable en ligne de commande.
- mxmlc qui permet de compiler du MXML et de l'AS3 en SWF
- compc qui permet de générer des SWC.
Donc pour répondre à la question d'Aggelos :
Les paramètres de compilation d'ailleurs, quels sont-ils ?
La réponse se trouve dans la doc. Plus précisément dans la section : Developing Flex Applications > Using the command line compilers > Using mxmlc > mxmlc options.
Je ne cite pas les options ici car la liste est assez longue... ^^
Par liguorien,
mardi 18 octobre 2005 à 20:01 ::Divers
Ce post est totalement hors-sujet mais je ne peux m'empêcher de le faire. Ce weekend, Albert Uderzo à sorti un nouvel album d'Astérix. Ayant lu toute la collection à mainte reprise dans mon enfance, j'ai acheté cet album.
Ceux qui ont l'intention de l'acheter à tout prix, ne lisez pas la suite !
Par liguorien,
mardi 18 octobre 2005 à 19:19 ::AS3
Ah le XML, le fameux XML. Qui d'entre ceux qui ont déjà utiliser du XML n'ont jamais eu à faire face à des doc.firstChild.childNodes[index].childNodes[index2].firstChild.attributes.name ? Il ne doit pas y en avoir beaucoup en tout cas. Et bien avec une des nouveauté qu'apporte l'AS3 c'est maintenant chose du passé... ^^
Par liguorien,
lundi 17 octobre 2005 à 22:18 ::AS3
Qu'est-ce que c'est const ? Pour les développeurs ayant un background en C++, ce n'est pas nouveau. Pour les développeurs ayant un background en Java, c'est la même chose que déclarer une variable final. Pour les développeur AS, voici une brève explication.
Par liguorien,
lundi 17 octobre 2005 à 21:41 ::AS3
L'objet arguments existe encore en AS3, mais nous avons un petit problème... Le compilateur est beaucoup plus stricte à ce niveau. Si la déclaration d'une méthode ne comprend aucun arguments, il sera impossible d'en envoyer lors de l'invocation. Une nouvelles fonctionnalité du language permet de régler le problème.
Par liguorien,
lundi 17 octobre 2005 à 21:26 ::AS3
Je ne vous apprends surement rien, Macromedia à lancé aujourd'hui le sous domaine labs.macromedia.com avec Flex 2.0, Flex Builder 2.0, Flash Player 8.5 et l'AS3. Commençons par regarder de plus près l'AS3 avant de s'attaquer au reste.
Par liguorien,
vendredi 14 octobre 2005 à 12:27 ::Flash
J'ai commencé cette semaine à utiliser les nouvelles fonctionnalités de Flash 8. La classe flash.net.FileReference en particulier. J'ai commencé par lire ce tutoriel d'Aggelos. Le code du côté de Flash s'est fait assez rapidement sans problèmes. Enfin, c'est ce que je croyais...
Pour le côté serveur, j'ai commencé par faire un action Struts dont le rôle est d'uploader le fichier, créer une entré dans la BD, récupérer l'ID de cette entré et le retourné au SWF. C'est à ce moment que je me suis rendu compte qu'il n'avait aucun moyen de lire le contenu de la réponse de la requête HTTP utilisé pour l'upload (de la même façon qu'on le fait avec un LoadVars). J'ai dû procéder à un hack merdeu. Je stock l'ID dans une variable session et je fais un autre requête au serveur pour récupérer l'ID qui est dans la session. Ce qui entraine un autre problème...
Habituellement les requêtes HTTP faites par le FlashPlayer (LoadVars, XML, etc...) envoient les cookies du client au serveur. Ce qui permet de gérer les sessions. Mais... le FileReference d'envoi pas les cookies ! Il faut envoyer l'ID de session manuellement...
Pour récupérer l'ID de la session dans le SWF, je l'ajoute comme paramêtre dans le paramête movie de l'élément object dans le HTML.
L'upload semblait bien fonctionner, le fichier était bien copié sur le disque dur du serveur. Mais en fait ce n'était pas le bon fichier... J'avais réutilisé une classe d'upload que j'ai fait pour le même type d'application, sauf que le client était en Swing. J'envoyais les données binaires brutes directement dans le corps de la requête. Évidemment le flash player ne procède pas de cette façon. Les données sont envoyées en multipart/form-data, ce qui est l'équivalent d'un formulaire d'upload HTML. J'ai donc modifié mon action struts en conséquence. J'ai réessayé à nouveau et là j'avais toujours une Exception qui était lancé : Stream ended unexpectedly.
Comme si le Flash Player n'envoyait pas le fichier à uploader en entier. Après beaucoup de gossage. Je me suis rendu compte qu'en fait le Flash Player fait deux requêtes au serveur lorsque l'on invoque la méthode upload. La première est tout simplement une requête vide n'ayant même pas un octet ! Par contre la deuxième requête est la bonne. J'ai dû rajouter ce petit hack dans mon action Struts :
Java
if(request.getContentLength() == 0)return null;
J'ai finalement réussi à tout faire fonctionné, mais en beacoup plus long que prévu. Je me demande si cette classe à bien été testé ?
Par liguorien,
mardi 20 septembre 2005 à 07:42 ::Java
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 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.
Par liguorien,
dimanche 4 septembre 2005 à 20:22 ::Java
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.
Par liguorien,
vendredi 2 septembre 2005 à 10:10 ::Projets
J'ai menti... J'ai dit que j'allais intégrer toute les fonctionnalitées actuelles de SAM-UI dans NetBeans avant d'en ajouter d'autres. Je n'ai pu résister à la tentation de commencer l'éditeur AS2.
Pour ceux qui étaient trop occupé à s'amuser avec FDT, SAPIEN vient d'annoncer la sortie de PrimalScript 4. Il est maintenant offert en trois version : standard, professional et enterprise. La version enterprise ne sera pas disponible avant le mois d'Octobre.
Par liguorien,
dimanche 21 août 2005 à 18:20 ::Flash
Voici un article très intéressant sur la performance du Flash Player. Il est écrit par Tinic Uro, ingénieur principal du Flash Player. Lisez bien ce qu'il à écrit, particulièrement à la fin où il recommande de ne pas trop abuser des nouveaux effets graphiques.
Par liguorien,
mercredi 17 août 2005 à 12:57 ::Flash
Macromedia organise un séminaire à Montréal le 13 septembre pour le lancement de Studio 8. Une license complète sera tirée comme prix de présence ! Je crois que je vais y aller. ^^
Par liguorien,
lundi 15 août 2005 à 22:01 ::Projets
Une nouvelle version de SAM-UI est disponible. Les changements sont :
- Navigateur web natif pour exécuter les SWF (IE ou mozilla) - Classpath multiple - Liaison de classes et symboles de la librairies. - Support de la méthode Natural Entry Point - Meilleur support de MTASC - Les statistiques du profiler sont maintenant triables. - Réglage de bugs.
Cette version de SAM-UI n'est pas disponible pour Mac. La version Linux n'a pas encore été testé, alors vous qui acclamez si fort la puissance du pengouin, testez SAM-UI et dites-moi en des nouvelles !
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...
FlashORB devient maintenant WebORB. En plus de supporter le Flash Remoting (AMF) et les communication via socket, il supporte maintenant le AJAX. Il est disponible en Java et .NET. WebORB est disponible en deux versions : Standard (gratuite) et Professional (commercial).
Pour avoir travailler avec FlashORB, je crois que c'est le serveur socket et remoting le plus complet présentement sur le marché.
Par liguorien,
dimanche 7 août 2005 à 20:05 ::Projets
Le temps est venu de sortir une nouvelle version de SAM-UI. Je n'ai pas eu le temps d'intégrer toutes les fonctionnalitées voulues, mais j'avais prévu la 0.3 pour aujourd'hui, donc je respecte ma parole. Le reste sera pour la 0.4.
Pour compenser, SAM-UI devient maintenant open source distribué sous license GPL. J'ai également fait une petite page dédié à SAM-UI. La page est en anglais afin de rendre SAM-UI accessible à plus de gens.
Un nouveau blog Flash francophone est né. Il s'agit du blog de Martin Arvisais (admin de FlashADN). Les sujets traités tournent autour de la plateforme Flash.
Par liguorien,
jeudi 14 juillet 2005 à 13:22 ::Divers
J'ai finalement reçu mon laptop hier. Globalement je suis très satisfait. Mis à part quelques petit point au niveau software :
- Dell m'a carrément vendu un ordi infesté de spyware. AOL, Norton antivirus et compagnie était déjà installé en tant que service qui m'ouvre plein de popup pour s'abonner. Bref je vais formatter dans les prochains jours.
- Dans la boite, j'ai le CD de Windows Media Center 2005 alors que c'est le 2002 qui est installé sur la machine ?
- Sinon niveau performance c'est parfait !
Je l'ai donc reçu hier. Mais bizarrement, j'ai reçu ce matin au bureau exactement la même boite avec le même laptop custom. Évidemment, il ont facturé 2 fois le laptop sur la carte de crédit. Il y a eu une petite erreur quelque part... Bref, je leur retourne le doublon ASAP.
Par liguorien,
jeudi 14 juillet 2005 à 12:59 ::Java
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.
Par liguorien,
dimanche 10 juillet 2005 à 17:24 ::Projets
J'ai commencé à faire un profiler pour SAM-UI. La tâche de ce profiler est d'observer l'exécution d'une application Flash et détecter les régions chaudes du code. Celles qui pourraient demander de l'optimisation... Le tout sans modifier le code original.
Comment cibler une partie du code en particulier ? Le principe est assez simple. Au lancement de l'application, on scan de façon récursive l'objet _global afin de cibler les différente classes et packages présents au runtime. Pour chaque classe, on scan son prototype afin de détecter les méthodes. Pour chaques méthodes, on fait un backup de la méthode l'originale, on stock le nom de classe et méthode pour cette partie de code et on exécute le backup tout en calculant le temps d'exécution.
Évidemment tout ceci ralenti l'éxécution du code mais en théorie, tout devrait rester proportionel. Donc ça permet tout de même de cibler les régions chaudes. L'utilisation que je souhaite en faire pour le moment est de :
- afficher l'historique du callstack à n'importe quel moment de l'éxécution.
- afficher des statisques dans un histogramme. Les méthodes/classes les plus lentes, rapides, utilisées, etc... En fonction du temps d'exécution minimum, maximum ou de la moyenne.
Bref mon analyse primaire me disait que c'était surement possible de le faire. J'ai donc essayer ! Les premiers tests que j'ai fait étaient uniquement sur trois classes : Main, Maman et com.Papa. Le résultat était pas si mal. L'étape suivante était de le tester avec mes packages layout et component qui contiennent beaucoup plus de classes. Le résultat était catastrophique !!! Vraiment très lent, mon ordi a gelé pendant une minute le temps que le Flash Player génère le XML et le renvoie à SAM-UI pour l'afficher dans un JTree. J'avais envie de tout laisser tomber... Puis je me suis dit qu'il y avait peut-être moyen de faire un peu (beaucoup) d'optimisation !
Par liguorien,
vendredi 8 juillet 2005 à 12:51 ::Projets
Une nouvelle version de SAM-UI est disponible. Voici la liste des changements :
- Réglé le bug d'ajout de symbole à la racine de la librarie.
- Changé les labels "home" pour "path" dans la configuration de projet.
- Ajout d'un champ pour les paramètres optionels.
- Gestion de la commande TRACE() de MTASC. Il y a donc maintenant un serveur socket d'intégrer à SAM-UI (port 12000). Il peut y avoir un nombre infini de SWF connectés à l'application simultanément.
- Dans le console de sortie, lorsqu'on bouge la souris au dessus d'un message de log, un tooltip apparait avec le nom du fichier AS et le numéro de ligne à laquelle le log à été envoyé. (voir screenshot ci-dessous)
Par liguorien,
mardi 5 juillet 2005 à 08:12 ::Java
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.
Par liguorien,
dimanche 3 juillet 2005 à 23:17 ::Projets
De retour du weekend avec une première version (apha) de SAM-UI. Le but de cette application est de fournir une interface graphique pour manipuler swfmill, ant et MTASC.
Voici deux blog Flash français qui mérite un détour :
Le premier, encore tout frais, est celui d'eRom : http://www.customactions.net/webblog/. Pour l'instant les sujets principaux sont Flash et JavaScript.
Le second, un peu plus ancien, est celui d'erixtekila : http://www.v-i-a.net/blog/. La page d'acceuil est peut-être blanche, mais la dernière news est assez récentes et les archives en valent la peine. ^^
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.
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.
Par liguorien,
vendredi 10 juin 2005 à 11:50 ::Flash
Je viens d'apprendre quelque chose d'assez important en lisant un article sur PowerSDK.
Il y a plusieurs façon d'instancier les types primitif d'ActionScript. Par exemple, la façon conventionelle d'instancier un String est d'utiliser les guillements.
AS2
var str:String = "1,2,3,4,5,6";
De cette façon le String est variable "purement" primitive, elle occupera donc moin de mémoire.
Lorsque l'on doit invoquer une méthode d'un primitif, le Flash Player va instancier la classe équivalente de ce type.
Par liguorien,
mercredi 11 mai 2005 à 19:40 ::Java
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
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...
Par liguorien,
vendredi 6 mai 2005 à 23:23 ::Flash
Je continue ma série d'astuces sur les performances en ActionScript. Ce soir il s'agit de la vitesse d'accès aux données membres numériques. Lorsque l'on utilise une variable, le FlashPlayer regarde en premier lieu si c'est une variable locale... Si ce n'est pas le cas, il va continuer sa recherche en remontant jusqu'au _global. Donc je me suis dit qu'il y avait peut-être un moyen de booster les performances en créant un accès local temporaire aux données membres. Ce qui à l'air de fonctionner lorsque l'on manipule plusieurs donnée membres à l'intérieur de la méthode. Plus on utilise de données membres, plus le gain de vitesse est significatif...
Le fil RSS de mon blog avait un problème d'encoding depuis le début. Il a fallu un email de neolao (qui n'était pas le premier à m'écrire pour signaler le bug) pour me motiver à la faire. Voilà c'est fait !
Je fourni maintenant le fil en UTF-8 et iso-8859-1.
Par liguorien,
jeudi 28 avril 2005 à 13:23 ::Flash
J'avais déjà lu quelque part sur le net que la longeur de nom de variable en ActionScript avait un impact direct sur la performance de l'exécution du code. J'ai donc essayé de me défaire de mon habitude de nommé mes variable de façon explique, peut importe la longueur.
J'ai réussi à le faire sans trop de difficulté car c'était moins long à coder par la suite mais beaucoup plus difficile à relire.
Je commencais à m'ennuyer de mon ancienne habitude, c'est pourquoi j'ai fait un petit test maison pour connaitre la vérité :
Par liguorien,
jeudi 28 avril 2005 à 07:14 ::Flash
Nicolas Coevoet de informatif.org à récemment installer un wiki à la base de son site. Les sujets principaux sont Flash - XHTML/CSS - PHP. Il y des tutoriaux, code sources et liens utiles. De quoi pour plaire à tout le monde !
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.
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 !!! 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.
Par liguorien,
mardi 19 avril 2005 à 13:52 ::Flash
Le FLA sur lequel je travail présentement contient des centaines de symboles qui sont exporté pour l'ActionScript sur le premier frame. Afin de faire un preload potable, je ne dois pas les exporter sur le premier frame. L'idée de modifier tout les symboles un par un ne me plaisait pas trop... C'est alors que le JSFL est venu à ma rescousse !
Par liguorien,
lundi 18 avril 2005 à 21:19 ::Flash
Flash me surprendra toujours ! Moi qui croyait que la méthode push() de la classe Array était plus performante que d'utiliser un index. Et bien mes tests prouvent le contraire !
Par liguorien,
mercredi 13 avril 2005 à 13:37 ::Flash
Je n'en ai pas encore parlé sur ce blog. Hier soir j'ai reçu le dernier exemplaire du MX Developer's Journal dans lequel se trouvait un article sur le prochain Flash Player (Maelstrom). Certain sujets m'étaient déjà connu tandis que d'autres sont carrément nouveaux pour moi. C'est pourquoi je vous fait un petit résumé des points important de l'article.
Les efforts de l'équipe de développement sont concentrées sur trois thèmes : performance, expressivité et standardisation.
Par liguorien,
vendredi 1 avril 2005 à 11:06 ::Java
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.
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.
Par liguorien,
mercredi 16 février 2005 à 07:45 ::Divers
La prochaine version d'IE dont le lancement était prévu avec Longhorn sera finalement distribué aux clients de Windows XP. La version beta sera disponible dans le courant de l'été. J'espère que cette nouvelle mouture respectera mieu les standards que la versions actuelle.
Par liguorien,
lundi 14 février 2005 à 08:36 ::Divers
Je ne sais pas si c'est connu, mais il semble y avoir une faille de sécurité flagrante dans IE. Il est possible de créer un formulaire qui pointe vers un site non sécurisé dans une page sécurisé en SSL (https). La majorité des fureteurs feront un popup d'avertissement mais IE n'en dira rien...
Par liguorien,
jeudi 27 janvier 2005 à 22:54 ::Java
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 !
Par liguorien,
mardi 25 janvier 2005 à 22:46 ::Java
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).
Par liguorien,
lundi 24 janvier 2005 à 18:56 ::Divers
Les développeurs de PostgreSQL - le serveur de bases de données open source le plus évolué au monde - viennent d'annoncer la sortie de la version 8.0.
Voici les nouvelles fonctionnalités qui sont au menu :
- port Windows natif - points de sauvegardes/transactions imbriquées - gestion des exceptions à l'intérieur des fonctions - espaces logiques (tablespace) - PITR (Point in time recovery) - amélioration de la gestion des tampons partagés processus d'écriture en tâche de fond pour réduire l'impact des points de vérification - délais configurables pour réduire l'impact de VACUUM - refonte de pg_dump et pg_restore - options étendues de formats de traces et rotation des traces - amélioration de la gestion des guillemets imbriqués pour les fonctions - ALTER TABLE peut modifier le type de données pour une colonne existante - amélioration des fonctionnalités d'ALTER pour tous les objets de la base de donnée.
Par liguorien,
dimanche 23 janvier 2005 à 20:47 ::Java
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.
Par liguorien,
jeudi 13 janvier 2005 à 19:40 ::Flash
Pour la nouvelle version de FLASH STUDIO PRO, Multidmedia à décidé de renommer son produit Zinc v2. Cette nouvelle version apporte un lot assez important de nouvelles fonctionnalités. Cependant, il ne semble pas avoir de support pour l'AS2(?).
Si quelqu'un a la chance de l'essayer, n'hésitez à écrire vos impressions dans les commentaires.
Par liguorien,
jeudi 13 janvier 2005 à 19:13 ::Java
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 !
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.
Par liguorien,
jeudi 13 janvier 2005 à 18:48 ::Java
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 :
Par liguorien,
mercredi 15 décembre 2004 à 22:57 ::Java
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.
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 ! (Google Suggest)
Par liguorien,
mercredi 15 décembre 2004 à 22:34 ::Flash
Je ne peux rien vous cacher, je suis un grand utilisateur des composants MX2004 de Macromedia (principalement au boulot). Jusqu'à présent, ils m'ont fait économiser beaucoup de temps de développement.
Pour ce qui est des performances, ils font bien leur boulot. Je n'ai pas encore reçu de plaintes concernant les performances d'une application ou du temps de chargement initial. Les seuls plaignard que j'ai vu étaient des développeurs...
Je n'ai pas encore eu la chance de tous les utiliser dans un contexte réel. Le dernier que j'ai utilisé - et qu'au départ je croyais inutile - est le composant Loader.
Je devais charger une image centrée dans un cadre. Si cette dernière était plus grande que le cadre, il fallait la redimensionner tout en gardant ses proportions.
Ça tombe bien, le composant Loader me permet de faire tout ça en 2 ligne de code ! C'est donc ce que j'ai fait et tout fonctionnait bien. Jusqu'à temps que je me décide de tester dans IE... C'est là que mon calvaire à commencer.
Par liguorien,
jeudi 2 décembre 2004 à 21:55 ::Projets
Depuis que j'ai acheté GTA, un mauvais sort s'est abattu sur moi...
Je suis bombardé des nouvelles versions de mes jeux favoris ! Après GTA, c'est Metal Gear Solid 3 qui a fait surface. Je dois vous avouer que ce jeu est un véritable chef d'oeuvre sur tous les aspects ! (must have)
J'ai terminer ma scéance de gaming intensive dimanche dernier. N'étant pas équipé d'une technologie Hyper-Threading, je n'ai donc pas pratiqué mes activités de geek quotidiennes... Histoire de rattraper le temps perdu, j'ai décidé d'ajouter un nouveau package à ma libraire perso. J'ai nommé : com.liguo.layout.
Par liguorien,
jeudi 18 novembre 2004 à 22:32 ::Java
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)
Par liguorien,
mardi 16 novembre 2004 à 07:35 ::Java
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.
Par liguorien,
jeudi 28 octobre 2004 à 07:47 ::Java
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).
Par liguorien,
mercredi 27 octobre 2004 à 16:15 ::Flash
Avis aux utilisateurs des composants MX2004 de Macromedia. La classe PopUpManager contient un bug dans la méthode statique createPopUp... Il faut s'assurer que le premier paramètre (le clip sur lequel on crée la fenêtre) ne soit pas undefined. Si c'est le cas, vous allez faire la rencontre d'une séduisante boucle infinie...
Voici le code en question qui crée le bug :
AS2
/** *mx.managers.PopupManager.as ligne 97 * *parent est le premier paramètre */ var localRoot = parent._root; if(localRoot == undefined) localRoot = _root; while(parent != localRoot){ parent = parent._parent; }
Bon, le problème peut être réglé facilement en s'assurant que l'on envoie la bonne valeur. Mais je trouvais important de le mentionner ici juste au cas où !
Par liguorien,
mercredi 27 octobre 2004 à 10:33 ::Java
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.
Par liguorien,
mercredi 27 octobre 2004 à 10:05 ::Java
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
Par liguorien,
mardi 26 octobre 2004 à 10:19 ::Java
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 !
Par liguorien,
mardi 19 octobre 2004 à 12:36 ::Divers
Voici un petit rappel pour les retardataires...
C'est samedi qu'aura lieu le prochain FlashInTheCan à Montréal. J'étais supposé y aller, mais j'ai finalement pris la décision de m'abstenir pour cette fois. Désolé d'avoir menti à ceux que j'ai dis que je serais présent !
Par liguorien,
jeudi 7 octobre 2004 à 23:11 ::Java
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.
Par liguorien,
jeudi 7 octobre 2004 à 22:49 ::Java
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.
Par liguorien,
jeudi 7 octobre 2004 à 22:21 ::Java
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... (désolé pour l'inconvénient Lolotte).
Tentative désespéré, je post les liens ici, qui peut-être seront utiles à d'autres...
Par liguorien,
dimanche 3 octobre 2004 à 20:44 ::Java
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 )
Par liguorien,
jeudi 30 septembre 2004 à 22:23 ::Java
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.
Par liguorien,
mercredi 29 septembre 2004 à 22:01 ::Java
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.
Par liguorien,
mercredi 29 septembre 2004 à 21:55 ::Divers
Je suis encore en vie !
Je dois avouer que je n'écrit pas beaucoup depuis quelques semaines. C'est en partie à cause que j'ai commencé à utiliser le HDLoader que j'avais commandé au début de l'été et que je n'avais pas encore utilisé... Pour l'infos, ça fonctionne #1. Le seul problème c'est qu'à l'installation, un formattage du disque dur est obligatoire. Je n'avais pas le goût d'acheter un deuxième disque dur pour mon PS2 (peut-être j'aurais dû ), alors j'ai formatter le DD sur lequel j'avais installer Linux. Ce qui m'empêche pour l'instant de l'utiliser...
Le reste du temps, je continu à travailler sur le projet que j'ai parlé dans mon dernier billet. J'ai beaucoup avancé, mais je n'ai pas mis la dernière version en ligne car elle est encore une petit peu buggé... (mais il est toujours possible de se procurer la version buggé par MSN ). Voici un petit preview de mes avancements. Comme vous pouvez le remarquer, j'ai implémenté un historique. Un gros merci à Francis Bourre pour cet excellent article qui m'a beaucoup inspiré.
Par liguorien,
dimanche 19 septembre 2004 à 19:46 ::Projets
Ce weekend j'ai décidé de reprendre à zéro un projet qui était en pause depuis un bon bout de temps. Il s'agit d'un moteur de jeu 2D à la Metroid avec un éditeur de map wysiwyg. J'ai choisi cette fois de débuter avec l'éditeur de map plutôt que le moteur en soi. Il est loin d'être fini et il a encore des bugs... Mais voici quand même un petit aperçu. (désolé il n'y a pas encore de preload...)
J'ai pris la décision de laisser tomber les librairies de textures externes. C'était bien de pouvoir uploader de nouvelles textures sur le serveur sans recompiler le moteur, mais ce n'était vraiment pas pratique pour faire la gestion du z-index... Aussi maintenant il sera possible d'animer les objets du décor.
Par liguorien,
mercredi 8 septembre 2004 à 22:40 ::Flash
Jusqu'à maintenant, les exemples d'Advice que j'ai montré exécutaient le JoinPoint à la fin de la méthode. Mais comme j'ai mentionné dans ce billet, il est possible de choisir le moment où l'Advice sera exécuté par rapport au JoinPoint.
Par liguorien,
mercredi 8 septembre 2004 à 13:06 ::Flash
Aujourd'hui je devais afficher un nombre fixe de décimales dans le NumericStepper. Je n'ai pas trouvé de solution existante sur le web. Alors j'en ai fait une maison . Mais je n'avais pas le goût d'aller modifier le code source du composant et encore moins refaire le SWC. Donc j'ai opter pour une méthode statique qui vien remplacer la propriété value de l'instance du NumericStepper. Je sais que ce n'est pas très propre, mais c'est le seul moyen rapide que j'ai trouvé...
Par liguorien,
mardi 7 septembre 2004 à 23:59 ::Flash
Je continu mon apprentissage de l'AOP. Je dois avouer que sans documentation, ce n'est pas évident... Mais en relisant les articles de Simon et en étudiant son code, j'arrive quand même à avancer !
Par liguorien,
lundi 6 septembre 2004 à 21:00 ::Flash
Avec l'ajout du package aop dans la dernière version d'as2lib, je n'ai pu résister à la tentation d'en apprendre plus sur la programmation orienté aspect... C'est alors ce que j'ai fait une partie du weekend! Donc je vous fais un petit résumé de ce que j'ai compris. Certaines parties de ce billet sont une traduction des articles de Simon Wacker.
Par liguorien,
vendredi 3 septembre 2004 à 23:36 ::Flash
L'équipe d'as2lib vient d'annoncer le beta de la version 0.1 . Pour ceux qui ne le connaisse pas, ce projet consiste à nous rendre la vie facile en fournissant un API standard pour développer des application en AS2. La version 0.1 beta contient maintenant 209 classes!
Cette nouvelle version viens corriger beaucoup de bugs. La structure des packages a subit beaucoup de modifications. Je pense notamment au package org.as2lib.data.iterator qui a été supprimé. Dans le package org.as2lib.data.holder, un package a été créé pour chaque type de holder : array, list, map, queue, stack.
Par liguorien,
jeudi 2 septembre 2004 à 13:36 ::Java
La dernière mouture de J2SE passe maintenant à Release Candidate ! 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.
Attendu depuis longtemps dans la communauté Java, elles sont enfin là! 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! Ce qui vient règler certains problèmes que les valeurs numériques occasionnaient...
Par liguorien,
mardi 24 août 2004 à 10:56 ::Divers
Vous voulez être un développeur certifié mais ne voulez pas payé le prix de l'examen? Et bien voici la solution à votre problème... Macromedia vient de lancer un concours. Il suffit de composer 7 questions (minimum) qui seront suceptible d'être dans l'examen finale. Les heureux élus recevront un participation gratuite à l'examen de son choix. Et ils seront reconnus et consulté en tant qu'expert en la matière pour les prochains examens... ^^
Après quelque jours d'utilisation, voici mes premières impressions de Flex.
Premièrement je dois dire qu'il est très facile à installer. Il suffit d'insérer le cd et exécuter l'installateur traditionel. Durant l'installation, on a le choix entre utiliser JRun ou un autre serveur J2EE. J'ai choisi d'utiliser tomcat que j'avais déjà d'installé et qui est compatible avec Flex (WebSphere, WebLogic, JRun, Tomcat).
Une fois l'installation terminé, il faut aller dans le répertoire ../macromedia/flex où l'on trouve 3 WAR : flex.war, samples.war et profiler.war. Il suffit de copier ces 3 archives dans le répertoire webapps de tomcat, démarrer Tomcat... Et voilà, Flex est fonctionnel!!!
La communauté de NetBeans a annoncé hier NetBeans IDE 4.0 Beta 1. Il s'agit du premier IDE supportant officiellement le JDK 1.5 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...
Voici un petit récapitulatif de la soiré pour ceux qui étaient absent. Premièrement, la plupart des gens qui étaient censé venir ne sont pas venu... Mais nous étions quand même 25 personnes donc c'était pas si mal. Finalement la rencontre entière s'est déroulé en anglais...
Je viens de perdre environ 1 heure sur un bug... grrr!!! Alors je vous en fait part afin que vous ne perdiez pas trop de temps lorsque vous y serez confronté. Je n'ai pas encore identifié la cause exacte du bug, mais je sais que c'est à cause d'un mixe entre le MovieClip.getNextHighestDepth() et le FocusManager des components v2 de MM.
Cette après-midi, kiroukou m'a fait découvrir une librairie que je ne connaissais pas. Il s'agit d'une librairie en AS2 pour les animations fait par code. Plusieurs formes de bases sont déjà à notre disposition. Presque tous les interpolations possibles sur chaque propriété d'une forme on été encapsulé dans une classe afin de pouvoir paramétrer le tout ^^