Maîtriser le outer join comme un pro !

Il y a peu, j’ai eu l’occasion de m’occuper de l’optimisation d’une mĂ©thode qui chargeait plusieurs petits sets de donnĂ©es dans une table pour finalement renvoyer un seul paquet d’objets. Après avoir observĂ© le code quelques secondes je me dis que tout ça peut ĂŞtre fait directement dans la base de donnĂ©es Ă  condition de lui fournir la requĂŞte voulue !
Après un petit moment d’effort, j’ai fini par rĂ©ussir mon coup Ă  l’aide d’une fonctionnalitĂ© SQL qui m’avait toujours fait peur: le outer join !

Pour ceux qui ne sont pas Ă  l’aise avec la syntaxe du code que j’utilise ici, je suis fan de la gem MetaWhere, et je ne sais plus vraiment Ă©crire de ActiveRecord pur :)

Lire la suite

git in a nutshell Part 2

Comme je l’avais promis dans mon court billet de dimanche dernier, mon ami GrĂ©gory nous offre le deuxième volet du tutoriel consacrĂ© Ă  Git.
Dans le cas oĂą vous auriez malencontreusement loupĂ© la première partie consacrĂ©e Ă  l’utilisation gĂ©nĂ©rale de Git, ou que vous souhaitiez tout simplement le relire pour le plaisir: http://www.pierreschambacher.com/blog/git-in-a-nutshell/

Relire le premier billet ne serait d’ailleurs pas idiot puisqu’il y a eu quelques ajouts dans le tutoriel prĂ©cĂ©dents (stashs, hooks, alias).

Lire la suite

Tutoriel pour développeur WebObjects: Composants classiques

Vous avez appris dans ce billet Ă  manipuler les composants de WebObjects. Vous devriez avoir compris comment les pages fonctionnent, mais il vous manque encore de connaĂ®tre les composants que l’on utilise au quotidien.

Voici une liste de ces composants avec leur syntaxe Ă  l’ancienne, la nouvelle syntaxe et quelques exemples d’utilisation.

Lire la suite

Tutoriel pour développeur WebObjects: Hello World

Ce nouveau volet de la sĂ©rie de tutoriaux sur WebObjects fait suite au billet sur l’installation de l’environnement de travail. Nous allons ici crĂ©er notre premier projet et en expliquer les diffĂ©rentes parties et le fonctionnement gĂ©nĂ©ral.

Tout au long de ce tutoriel je vais considĂ©rer que vous avez dĂ©jĂ  une connaissance normale du langage Java et d’eclipse. Si tel n’est pas le cas je vous conseille de vous former dans un premier temps sur ces outils car sinon vous risquez d’Ă©prouver quelques difficultĂ©s Ă  suivre ce qu’il se passe.

Pour ce tutoriel et les suivants, je m’inspire fortement des screencasts de David LeBer WebObjects, WOLips and Wonder tutorial part 1 et part 2 qui sont disponible sur le site de WOCommunity avec tous les autres screencasts que je vous recommande vraiment.

Vous pouvez aussi utiliser la version PDF de ce tutoriel et si vous souhaitez le traduire je me ferais un plaisir de le publier ici mĂŞme.

Lire la suite

Tutoriel pour développeur WebObjects: install party

Un des plus gros dĂ©fauts de WebObjects est la difficultĂ© de la documentation sur le net. Cela est notamment du au fait qu’une des meilleurs source de documentation est un ensemble de screencasts, et une vidĂ©o n’est pas forcement bien rĂ©fĂ©rencĂ©e par Google. D’une manière gĂ©nĂ©rale, la plupart des sites de documentation de WebObjects ne sont d’ailleurs pas bien rĂ©fĂ©rencĂ©s du tout … Il existe bien sĂ»r des sites de documentation Javadoc, mais ce n’est pas vraiment ce dont on a envie lorsque l’on a jamais fait une seule ligne de WebObjects et que l’on souhaite s’y mettre, par envie ou par besoin.
Il est plus facile de critiquer que d’essayer d’amĂ©liorer les choses … aussi voici ma modeste contribution pour aider les gens qui souhaiteraient se former Ă  WebObjects Ă  l’aide d’un petit tutoriel, et en Français s’il vous plait :-) (je n’aurais pas le temps et la motivation de traduire en anglais mais si quelqu’un de motivĂ© pouvait me faire parvenir les versions traduites de mes tutoriaux, ils seront publiĂ©s ici avec son nom).

Lire la suite

Pourquoi je souhaite arrĂŞter le Flex

Dans ma recherche d’emploi, nombreux ont Ă©tĂ© ceux qui m’ont proposĂ© un poste de dĂ©veloppeur Flex, et beaucoup ont Ă©tĂ© surpris d’apprendre que je ne souhaitais plus en faire.
Outrage que ce jeune diplĂ´mĂ© qui saborde sa plus grosse expĂ©rience et voudrait changer d’horizon !! Voici donc quelques explications pour expliquer ma dĂ©cision qui pourraient en guider certains dans le choix de la technologie.

Lire la suite

git in a nutshell

Aujourd’hui, place Ă  un billet invitĂ©. C’est mon ami GrĂ©gory SoutadĂ© qui propose un petit tutoriel pour apprendre Ă  utiliser les diffĂ©rentes commandes de GIT, le gestionnaire de versions, pour un usage personnel. J’ai modestement aidĂ© Ă  la rĂ©daction et mise en forme de ce document que vous trouverez très bientĂ´t au format PDF.

Vous vous lancez dans un petit projet perso ? Vous aurez toutes les clés en main pour que GIT soit votre gestionnaire de versions sur ce projet.

Cet article ne se veut pas exhaustif mais reflète le rĂ©sultat d’un usage quotidien par un autodidacte. Si vous souhaitez corriger une Ă©ventuelle erreur ou partager une connaissance, n’hĂ©sitez pas Ă  laisser un commentaire.
Il est recommandé pour la bonne compréhension de cet article de connaitre SVN.
L’auteur du tutoriel est un utilisateur Linux et certaines commandes peuvent poser problème sur d’autres système (notamment gitk).

Note Ă  nos amis sous Windows: vous pouvez utiliser git sur Windows Ă  l’aide de msysgit disponible ici.

Lire la suite

Expérience d’un ingénieur sur Adobe Flex

Après avoir utilisĂ© le framework Flex pendant une annĂ©e au cours de mon stage d’ingĂ©nieur Ă  Polytech’Nice Sophia (voir mon CV), je souhaite donner un peu mon avis sur cette technologie, ses avantages, ses inconvĂ©nients, points forts et faibles. Comme pour WebObjects, voici une petite description pour les personnes qui ne connaitraient pas Flex.

Adobe Flex est un framework de dĂ©veloppement de clients riches (ou clients lourds) compilĂ© vers la machine virtuelle Flash. Pour les personnes connaissant Silverlight, Flex a inspirĂ© Microsoft pour sa crĂ©ation. Les interfaces sont rĂ©alisĂ©es Ă  l’aide d’un langage basĂ© sur XML, le MXML (XAML pour Silverlight) et le comportement est Ă©crit Ă  l’aide du langage Action Script 3 (.Net pour Silverlight).
Il ne surtout pas considĂ©rer Flex comme un outil fait pour les designeurs, c’est un framework créé pour les dĂ©veloppeurs.

Lire la suite

ExpĂ©rience d’un ingĂ©nieur sur WebObjects

Utilisant WebObjects depuis maintenant 6 mois dans le cadre de mon stage ingĂ©nieur sur Sophia (voir mon CV), j’aimerais revenir sur cette expĂ©rience et donner mon avis sur cette technologie assez peu connue. Pour ceux qui ne connaitraient que de nom ce framework, en voici une petite description.

WebObjects est un framework initialement dĂ©veloppĂ© en Objective C par la sociĂ©tĂ© NeXT de Steve Jobs qui sera ensuite rachetĂ©e par Apple. Il est constituĂ© d’une couche basse d’abstraction de la base de donnĂ©e appelĂ©e EOModel, d’une architecture de gestion de cache et de persistance et d’un moteur de template. WebObjects passera progressivement d’Objective C Ă  Java vers l’an 2000. Bien que diffĂ©rents par de nombreux points, il est comparable aux technologies J2EE.

Je tiens Ă  signaler que mes commentaires sont faits sur la version 5.3 de WebObjects et je ne sais pas si certaines choses n’ont pas Ă©tĂ© corrigĂ©es en version 5.4.

Lire la suite