Recherche

Coder's IO

Tag

Java

Ubiquity framework

 

Ubiquity est un outil permettant d’effectuer des copies d’objets vers d’autres objets. Pour être plus précis, le framework permet, à la manière d’un adaptateur, de transformer un type d’objet en un autre.
Il a été développé par +Francois Laroche 

Vous me direz, il existe déjà pas mal d’outils pour effectuer ce genre de tâche. Ce n'est pas faux. Néanmoins, lorsque les autres outils se basent sur la réflexion, Ubiquity présente une autre façon de mettre en oeuvre le mapping.

Ubiquity va parser le bytecode et générer à la volée le code nécessaire à la copie d’objet à objet.

Cette technique permet de battre des records de performance et de se trouver 20 fois plus rapide que Dozer.

Le copieur effectue une copie récursive en profondeur.

Pour son fonctionnement, l’outil ne requiert qu’une seule dépendance à l’api ASM.
Sa mise en oeuvre se résume en 3 lignes de code :

ubiquity ubiquity = new Ubiquity();
MyObject1 myObject1 = new MyOject1();
// Populate and have fun with your objet
MyObject2 myObject2 = ubiquity.Map(myObject1, MyObject 2.class);

Face à des cas plus complexes, le framework fournit des points d’entrée permettant de traiter des cas particuliers.

Il supporte les collections standard du JDK avec la possibilité de fournir l’implémentation d’un factory ( CollectionFactory ) en cas de traitement spécifique.
Ubiquity fournit également un jeu d’annotations utilitaires.
Cet outil se focalise sur une tâche, la copie d’objet à objet, et il le fait très bien (et ceci sans étape déclarative).

Le code est hébergé sur Github.

Vu la simplicité de mise en oeuvre, aucune excuse pour ne pas l’essayer 🙂

#java #bytecode #map #ubiquity

Ouvrez le capot de votre JVM

 

Avez-vous déjà été regarder du côté du bytecode ? Une des raisons pour laquelle vous ne l’avez jamais fait, c’est que lire et comprendre cette syntaxe n’est pas toujours trivial.
Une autre raison est que pour une grande part des développeurs Java, cela reste complètement transparent.
Je pense que la compréhension de la mécanique interne est une bonne chose.
Je suis récemment tombé sur cet article qui donne les éléments permettant d’appréhender le bytecode.

L’article que vous trouverez attaché à ce post est le premier d’une série d’articles.
Le sujet est vraiment bien détaillé et l’on y retrouve des exemples très clairs.

Pour tous ceux qui souhaitent découvrir ou approfondir ces connaissances sur les rouages du bytecode en Java, cet article est pour vous !

#java #bytecode #jvm

Connaitre les outils de tests c’est bien!

 

Assurer la qualité d’une application passe inévitablement par la mise en place d’une couverture de test. Qu’ils soient unitaires, d’intégration, fonctionnels, etc.

Avoir cette volonté est une très bonne chose. Encore faut-il savoir le faire correctement… 🙂
La première brique à cet ambitieux édifice est le test unitaire. Mais sait-on réellement écrire des tests unitaires pertinents, qui ont du sens, qui couvrent correctement le code de notre application ?

En Java, il existe pas mal de frameworks de tests permettant de mettre une couverture de tests en place.

Pour répondre aux questions ci-dessus, +David Gageot  a créé deux formations permettant d’apprendre ou de se perfectionner dans ce domaine :
– les tests de A à Z
– Bootcamp tests / TDD

Ces deux formations sont respectivement dispensées sur 2 et 4 jours.
L’objectif de ces formations est d’apprendre ou se perfectionner dans l’art d’écrire des tests unitaires (entre autres).

Vous trouverez tous les détails sur le lien attaché à ce post.

N’hésitez pas à tester 😉

#java   #formation   #test   #unitaire  

Apprendre à programmer en Java

 

Vous avez sûrement déjà entendu parlé du site coursera.org. Ce site permet de se former sur différents sujets gratuitement.

Les cours sont généralement dispensés par des écoles prestigieuses telles que l’EPFL (l’Ecole Polytechnique Fédérale de Lausanne) ou l’université de Stanford.

Vous n’avez peut être pas échappé au célèbre cours sur Scala dispensé par le créateur du langage Martin Odersky.

Bien que la majorité des cours soient donnés en anglais, on peut trouver quelques formations en français.

Il n’est pas rare de trouver sur des forums dédiés au développement informatique des posts comme celui-ci :

Bonjour à tous,

J’aimerai apprendre la programmation et en particulier le langage Java. Est-ce que vous auriez des livres ou des ressources à me conseiller ?

Internet regorge de ressources permettant de se former en autodidacte sur le sujet.
En cherchant un peu sur le site coursera, j’ai trouvé deux formations en français sur l’initiation à la programmation en Java et initiation à la programmation orientée objet, toujours basée sur le langage Java.

Pour les débutants, ou ceux qui souhaitent s’intéresser au sujet, c’est une véritable aubaine.

Ce cours est dispensé par l’EPFL.

La première formation ne requiert aucune connaissance particulière, la deuxième part du principe que vous avez suivi l’initiation.

Les cours sont donnés sous forme de courtes séquences vidéo d'environ 10 minutes ponctuées d'une ou deux questions. La mise en pratique prend ensuite plusieurs formes :

    -des quiz vous permettent d'évaluer votre acquisition des concepts de base,
    -des exercices de programmation libres, dont le corrigé est fourni, vous permettent de mettre en pratique ces concepts.
    – des exercices notés, progressifs, vous permettent de valider les connaissances acquises.

Des aspects de méthodologie, de bonnes pratiques, seront aussi abordés au travers des vidéos de cours et au travers de certains exercices.

La charge de travail à prévoir est environ 5 à 7 heures de travail par semaine. C’est un investissement personnel qui permet d’obtenir un certificat officiel signé par les enseignants du cours.

La prochaine session débutera le 17 septembre 2013, vous pouvez d'ores et déjà vous inscrire.

Ferez-vous aussi votre rentrée des classes ?

#java   #formation   #coursera  

The ninja web framework

 

Ninja web framework est un projet qui a débuté au début de l’année 2012.
L’objectif de ce nouveau framework est d’offrir une stack web permettant de démarrer rapidement un projet web.
L’architecture proposée permet un développement productif.

Globalement l’outil se base sur des standards éprouvés tel qu’une architecture stateless (REST), une approche de ressources non partagées (facilitant le développement concurrent) etc.

Je ne sais pas vous, mais en lisant ces quelques lignes on retrouve pas mal de points communs avec un autre framewok avec lequel vous avez peut-être déjà joué  :). Il s’agit bien évidemment du célèbre framework Play.

Bien que l’approche globale soit très similaire, lorsque l’on détaille les briques techniques on distingue des choix nettement différents. La volonté de l’équipe a été de se baser sur des standards tels qu’un conteneur de servlet, un outil de build largement éprouvé comme Maven, la JSR303 pour la validation, etc.
Le binaire produit n’est autre qu’un traditionnel fichier WAR.
Un point intéressant est la compatibilité avec la plateforme cloud GAE.

L’objectif est de rester à 100% dans l’écosystème java en se basant sur des outils qui ont fait leurs preuves.

On peut se demander la raison d’un énième framework web.
Conscient de cela, les auteurs nous expliquent leur motivation par le fait qu’ils (sont) étaient des inconditionnels de PlayFramework dans sa première version.

Lors de la sortie de la version 2, complètement réécrite sur la base du langage Scala, ils n’ont pas adhéré aux choix d’évolution de l’outil.
Ils ne mettent pas du tout en cause les choix qui ont été fait, néanmoins selon eux, certains points font cruellement défaut :
    – Une mauvaise intégration dans les IDEs
    – un outil de build (SBT) contenant des bugs
    – la nature asynchrone de Play donnait lieu à du code difficile à lire et comprendre
    – etc
(Ces éléments sont à replacer dans leur contexte début 2012)

A l’heure actuelle, ces points négatifs relevés à l’époque sont-ils toujours aussi pertinents ?
Est ce que ce framework a sa place dans l’écosystème technique existant ?

Le site du projet est très bien fait et permet un démarrage rapide.
Que l’on soit pour ou contre, pour diverses raisons, je pense que ce projet mérite que l’on s’y intéresse.

N’hésitez pas à partager votre point de vue en ajoutant un commentaire à ce post.

#java   #framework   #ninja   #web  

ParisJug : Soirée Quickies

 

La semaine prochaine se tiendra le prochain ParisJug. Cette soirée prendra un format particulier. En effet, elle se déroulera sous la forme d’une succession de quickies

Les sujets abordés n’auront pas forcément de point communs. 
De la programmation au féminin à l’histoire de Jmeter et java sur un bateau en passant 
par GWT et leap motion, la soirée promet d’être animée et passionnante.

Vous trouverez le détail du programme de la soirée en suivant le lien attaché au post.

Je profite de cet article pour noter les présentations de deux Sfériens +François WAUQUIER  qui nous parlera de GWT et l’élimination des DTOs et de +François Laroche  qui présentera le Leap Motion.

Pour ceux qui était à Devoxx, vous avez pu voir une démonstration de Leap Motion couplé à Nao. Pour ceux qui serait passé à coté ou qui n’était pas présent, une session de rattrapage en suivant le pointeur suivant : NAO Leap Control

Mettez à jour vos agendas : Le 9 avril 19h30 (pensez à vous inscrire)

#Java #ParisJug #quickies

Devoxx France 2013 : c’est parti!

 

Devoxx France 2013 a ouvert ses portes ce matin! 
Il aura fallu beaucoup de travail avant le démarrage de cette grande conférence.

Afin de mieux se rendre compte +Claude Falguiere  a fait un petit reportage photos des préparatifs de l’événement.

@Demain!

#java #devoxxfr

Débuggage : mode d’emploi

 

Voici un pointeur vers un article que je trouve assez original : Débogage en Java/JavaEE

Même si cela peut paraître évident pour des vétérans du développement en java, l’article peut être vraiment intéressant pour les petits juniors qui débarquent sur des projets informatique de la vraie vie :).

Je sais que la notion de débogage dans le développement est un sujet à point de vue divergent.
Je pense que le débogage est une bonne chose et c’est comme toutes les bonnes choses, il ne faut pas en abuser.

Dans tous les cas cet article fait un point sur les différentes techniques et donnera sûrement des billes à celui qui débute et qui se retrouve sur application 5 ou 6 ans d’ages.

Cet article ne s’adressera pas sûrement au plus senior d’entre nous, mais une lecture rapide ne peut jamais faire de mal 😉

Bonne lecture!

#java   #debug   #javaEE  

Guava : Gestion de cache

 

Nous avons tous été confrontés à un moment donné à des problématiques mettant en jeu la mise en place d’une gestion de cache.

Lorsque l’on est jeune et plein de fougue, on se lance dans sa propre implémentation. Avec l’expérience, on se dit que la problématique a sûrement été adressée par ailleurs et qu’il est sûrement possible de trouver une implém' qui fait ça très bien.. 

Aujourd’hui, le choix est assez large lorsqu’il est question de gestionnaire de cache.

Étant particulièrement fan de l’api guava, je vous propose un pointeur vers un article très intéressant présentant le gestionnaire de cache de Guava.

Les auteurs de l'article sont : +Charles BLONDE et +Nicolas Jozwiak 

Dans cet article, vous trouverez les différentes stratégies d’utilisation de ce cache ainsi que des tips.

Bonne lecture !

#java #guava #gestionnaire #cache

Créez un site Web ou un blog gratuitement sur WordPress.com.

Retour en haut ↑

Concevoir un site comme celui-ci avec WordPress.com
Commencer