Affichage des articles dont le libellé est express. Afficher tous les articles
Affichage des articles dont le libellé est express. Afficher tous les articles

dimanche 12 janvier 2014

Node.js : l'opendata de la mairie de Paris et architecture MEAN

Rencontre Node.js Paris du 8/01/14 (conférence 05).  (lien ici)

Dans les locaux prestigieux de la Marie de Paris devant un auditoire attentif:




 Les sujets abordés étaient les suivants:

L'offre d'API pour accéder aux données de la mairie de Paris.  Cette API (librairie interactive) permet de construire des applications exploitant des données diverses (café pas cher, velib etc) : c'est ce qu'on appelle de l'opendata. (lien ici ).


Toute cette api repose sur une nouvelle pile logicielle MEAN , on connaissait les applications 'LAMP' : Linux + Apache + Mysql (ou postgresql)  + PHP , voici les applications  'MEAN' : MongoDB (ou NoSQL) + Express + Angular.js + Node.js.



Puis nous avons eu des présentations sur : Grunt. Qui remplace les Makefile et autres usines à gaz MAVEN. 

Grunt fait une percée significative même dans le monde J2E.


Afin des exemples de gestion de file d'attente avec Kue.


La soirée s'est terminée devant un verre et des pizzas.
L'année 2014 commence bien.


mardi 17 décembre 2013

Pourquoi Paypal migre ses applications de Java/J2E vers Node.js

Paypal a fait une annonce qui fait le tour du web: cet acteur majeur dans le moyen de paiement a annoncé l'abandon de Java/J2E en faveur de Node.js pour tous ses services.
Lire l'article ici.  ou ici en francais.
Cette décision est motivée par:

  • La durée raccourcie du cycle de mise en production
  • La durée raccourcie d'apprentissage de la filière Javascript
  • Et surtout pour des raisons de coût et  de performance. 
Site Payal:(lien ici)

Sur la performance:
  • Double the requests per second vs. the Java application. This is even more interesting because our initial performance results were using a single core for the node.js application compared to five cores in Java. We expect to increase this divide further.
  • 35% decrease in the average response time for the same page. This resulted in the pages being served 200ms faster— something users will definitely notice.
Sur les couts:
  • Built almost twice as fast with fewer people
  • Written in 33% fewer lines of code
  • Constructed with 40% fewer file
Les gains  d'apprentissage constaté dans la nouvelle filière est  de 1 pour 10  (1 jour pour javascript vs 10 jours pour J2E) . La pile J2E utilisée était le  framework Spring.

Paypal a mis en place une pile logicielle à base du framework Express. Et a reversé des librairies javascript servant à prendre en charge la sécurité dont

Lusca
Out-of-the-box application security. Lusca is middleware that can be deployed over Express, and configured to plug common attack vectors. When used, it will:
• Enable Cross Site Request Forgery (CSRF) headers.
• Enable Content Security Policy (CSP) headers.
• Enable X-FRAME-OPTIONS headers to help prevent Clickjacking.
• Enable Platform for Privacy Preferences Project (P3P) headers.
Lusca (lien ici) implemente la couche sécurité pour Express.

Donc: moins de ligne, moins de personnel , plus rapide et plus simple.

mercredi 19 décembre 2012

Refactorisation en coffeescript d'une application Express

Je teste  des exemples en javascript que je reprends le plus souvent en Coffeescript.
L'erreur fréquente est de tenter de reprendre tel quel le code javascript. Aussi j'ai réalisé une vidéo explicative sur les modalités de re-factorisation d'un code javascript en coffeescript.
Je suis parti d'une application javascript générée pour le framework  Express.


Pour des raisons de taille j'ai fractionné le vidéo en deux parties. Elles disponibles  sur youtube respectivement ici pour la partie I et ici pour la partie II. 
Les slides de la présentation et les videos intégrées sont disponibles également sur le site slideshare.
  
Il est possible de travailler directement en coffeescript sur des applications d'Express avec les produits : Zappa et Express-Coffee




Le résultat de la re-factorisation est le suivant:

Dans le vidéos, j'utilise l'IDE sublime Text qui affiche directement la traduction en javascript du code coffeescript.

  • J'élimine les ';' et les mots clés 'var'.
  • Les fonctions  sont appelées sans les parenthèses autour des paramètres  sauf pour les appels de fonction sans paramètre.
  • Les fonctions anonymes sont sorties des blocs pour devenir des fonctions nommées.
  • Les appels de fonction chaînés par un '.' sont individualisés.





mardi 24 juillet 2012

2 exemples d'utilisation du MVC Express

Une nouvelle vidéo en ligne sur les deux usages d'Express pour node.js



 Express peut etre utilisé selon deux modes. Cette vidéo detaille l'installation et le création d'application Express.

La connaissance de Sinatra aide à comprendre le fonctionnement d'Express

La video aborde le choix du moteur de template entre  ejs ou jade .