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é.