Tags

NodeJS vs Java EE pour une application web
NodeJS vs Java EE pour une application web


Depuis 2009, NodeJS a envahi le petit monde du développement web, et petit à petit fait son trou parmi les plateformes de référence pour réaliser une application, site ou API de services. Le vieux Java EE résiste pourtant, et quiconque souhaite aujourd’hui démarrer un nouveau projet peut se confronter à cette problématique : NodeJS ou Java EE ? C’est cette question que nous nous proposons de trancher, ou plus modestement d’éclairer de quelques éléments de comparaison qui permettront de structurer la réflexion des décideurs sur les points critiques à prendre en compte en vue de ce choix.

Lire la suite…



JAVA 9 : Sortie prévue pour septembre 2016
JAVA 9 : Sortie prévue pour septembre 2016


Arrivé en mars 2014, Java 8 s’est imposé comme une petite révolution dans le monde des développeurs Java avec des nouveautés importantes comme l’API stream, les lambda expressions, ou encore la nouvelle API time. Un peu plus d’un an après, ceux qui ont pu s’aventurer sur le terrain de Java 8 n’ont pas fini d’en explorer les fonctionnalités. Mais la plupart des développeurs Java n’ont même pas encore pu s’en approcher puisqu’en 2015, Java 8 ne représente que 20 % des JVM en activité (contre 59 % de Java 7).

Lire la suite…



Optional – JAVA 8 – la fin des NPE
Optional – JAVA 8 – la fin des NPE


La fonctionnalité de Optional pour éviter les NPE. Un peu d’histoire sur le NPE: JAVA avait comme idée originale de supprimer la notion de pointeur (du moins de la masquer) afin de faciliter la vie des développeurs. Néanmoins pour des raisons de simplicité, la « valeur » null a été laissé. Et « à cause » de cette valeur null, a été créé la fameuse exception NullPointerException qui est l’erreur à la fois la plus connue et la plus détestable car généralement on ne peut plus rien y faire…

Lire la suite…



Tutorial Websocket JEE 7

Nous allons voir comment réaliser un websocket avec JEE7. Pré-requis pour faire des websocket en JEE7 Avoir un eclipse configuré Avoir un serveur d’application JEE7. Donc ce tutorial nous allons utilisé Widlfly 8. Qu’est ce qu’un websocket Si vous ne savez pas ce qu’est un websocket, commencer par lire l’article suivant. Définition et cas d’utilisation d’un websocket Création d’un websocket en Java JEE7 Premièrement il faut créer un projet Dynamic Web Project dans votre Eclipse.

Lire la suite…



Alpha blending – Mélanger programmatiquement des couleurs semi-transparentes
Alpha blending – Mélanger programmatiquement des couleurs semi-transparentes


La plupart des langages de programmation proposent des outils pour travailler sur des images directement au niveau binaire, soit via une matrice d’octets. Ainsi chaque pixel d’image peut être codé sur 3 octets si le format ne prend pas en compte la transparence (RGB), ou sur 4 octets si le format prend en compte la transparence (RGBA). Dans le cas du RGBA, si l’on souhaite appliquer une couleur partiellement transparentes par-dessus ou en-dessous d’une autre couleur elle-même partiellement transparente, le calcul du nouveau pixel RGBA n’est pas forcément intuitif.

Lire la suite…



Try-with-resources et java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection

Si vous connaissez la clause try-with-resources introduite par Java 7, vous avez certainement été convaincu par les facilités qu’elle offre quant à la gestion de la fermeture des flux (ainsi que par la diminution de la verbosité de votre code). Un petit rappel toutefois pour ceux qui ne connaîtraient pas… Try-with-resources Le principe est le suivant : pour les flux implémentant l’interface java.lang.AutoCloseable, ce qui inclut tous les flux implémentant l’interface java.

Lire la suite…



JSF – Rediriger après le login vers la page demandée (security-domain)

En cas d’accès à une page JSF sans être connecté avec les contraintes de sécurité JAAS, le système va rediriger l’utilisateur vers la page de login. La sécurité s’effectue généralement avec le web.xml de la manière suivante: < security-constraint> < web-resource-collection> < web-resource-name>SecuredContent< /web-resource-name> < url-pattern>/secure/*< /url-pattern> < http-method>GET< /http-method> < http-method>POST< /http-method> < /web-resource-collection> < auth-constraint> < role-name>1< /role-name> < /auth-constraint><a href="/2014/06/JSF_redirect_requested_url.jpg"> </a> < transport-guarantee>NONE< /transport-guarantee> < /user-data-constraint> < /security-constraint> Le problème est que lors de l’accès à la page de login, on perd l’information de la véritable page demandée par l’utilisateur.

Lire la suite…



PDFBox – Aligner un texte à droite en JAVA

Dans cet article nous allons voir comment aligner un texte à droite avec PdfBox. Pour rappel, PdfBox est une librairie OpenSource JAVA disponible à l’adresse suivante, supportée par Apache. Actuellement en version 1.8.6, cette librairie permet de créer facilement des PDF en JAVA. L’objectif de cet article est d’arriver à: Malheureusement le positionnement de texte avec PdfBox n’est pas forcement facile. En effet, il est souvent question de positionnement absolu, ce qui implique de calculer des tailles fixes pour chaque élément que l’on souhaite positionner.

Lire la suite…



AWT – Génération de graphique et BufferedImage

Dans cet article nous allons voir comment créer ses propres graphiques avec la librairie JAVA AWT. Nous utiliserons les bufferedImage pour générer des png en sortie. AWT et la création de graphique Il existe de nombreux outils et librairies pour réaliser des graphiques en JAVA. La plus connue est surement jFreeChart qui s’avère être très facile à utiliser. Néanmoins, il peut être intéressant de créer ses propres graphiques pour des besoins spécifiques surtout qu’avec AWT il s’avère être très facile de créer ses propres graphiques ou schéma.

Lire la suite…



JAVA 8 – Map – ComputeIfPresent pour la gestion des caches

Nous avons vu dans l’article précédent que la méthode computeIfAbsent permettait de gérer facilement l’assignation d’une variable dans une Map si la valeur représentée par la clé n’était pas présente. Cette option est très pratique et permet de gagner énormément de temps lors de la création et de la gestion d’un cache applicatif. Un autre besoin récurrent est la mise à jour des données à l’intérieur du cache : on veut alors modifier une valeur pour une clé existant dans la Map.

Lire la suite…