Microbox : Ma toolbox microservices - Julien Royekino
Malgré les bénéfices indéniables des architectures microservices, elles apportent une complexité non négligeable. Durant cette session, je vous présenterai la collection d’outils open source ou développé en interne que nous utilisons sur nos différents projets microservices pour limiter les délais de mise en oeuvre de ce type d’architecture. Depuis la gestion des sources jusqu’au monitoring en passant par la génération de projets et l’usine de build nous parcourrons en live l’utilisation de ces différents outils.
Microbox : Ma toolbox microservices - Julien Royekino
Malgré les bénéfices indéniables des architectures microservices, elles apportent une complexité non négligeable. Durant cette session, je vous présenterai la collection d’outils open source ou développé en interne que nous utilisons sur nos différents projets microservices pour limiter les délais de mise en oeuvre de ce type d’architecture. Depuis la gestion des sources jusqu’au monitoring en passant par la génération de projets et l’usine de build nous parcourrons en live l’utilisation de ces différents outils.
Workshop Spring 3 - Tests et techniques avancées du conteneur SpringAntoine Rey
Les secrets du conteneur Spring vous attendent pour ce 3ième workshop sur le framework Spring : module spring-test, injection de beans de portées différentes, support des JSR 250 et 330, post-processeurs de beans, fichiers de configuration et abstraction de l’accès aux ressources.
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
Rejoignez les millions de développeurs Spring
De par sa forte pénétration dans les entreprises, tout développeur Java /JEE a ou aura à travailler sur une application s’appuyant sur Spring. Or Spring dépasse le cadre du simple framework open source.
Cette série de 5 workshops a pour objectif de faire un tour d’horizon de l’écosystème des technologies supportées par Spring avant de se focaliser plus spécifiquement sur certaines d’entre elles.
Retours d’expérience, bonnes pratiques, techniques avancées seront de partie.
Propulsée dans Java EE 6 avec CDI et plus récemment au sein de JavaScript avec Google Gin, l’injection de dépendance sera au cœur du premier workshop.
Voici le support de présentation du workshop sur Spring que j'ai animé en novembre 2011 au sein de ma SSII et que j'ai réactualisé avant sa diffusion sur Slideshare.
Au sommaire du workshop :
1. Zoom sur le portfolio Spring Source
1. Le cœur du framework Spring : IoC, AOP et support
2. Le support proposé par Spring : persistance, présentation, communication, test, outils …
2. Les fondamentaux
1. Fonctionnement du conteneur léger
2. Les beans Spring
3. Les design patterns rencontrés dans Spring
Chaque jour, de nombreux développeurs utilisent le framework Spring pour l’injection de dépendances et la gestion des transactions. Majeures, ces 2 fonctionnalités ne nécessitent pas un gros effort d’apprentissage. Pour autant, leurs mises en œuvre par le framework est complexe. Par curiosité intellectuelle, mais également afin d’éviter certains pièges et de profiter pleinement des capacités de Spring, il est intéressant de comprendre les mécanismes internes du framework qu’on utilise au quotidien : cycle de vie d’un bean, proxy, intercepteur, post-processeur, fabrique de beans, hiérarchie de contextes, portée …
Les slides de cette présentation ont pour objectif de vous les faire les introduire.
Spring Meetup Paris - Back to the basics of Spring (Boot)Eric SIBER
Aujourd'hui, avec Spring Boot, la promesse est de pouvoir bootstrapper en 60 secondes chrono une application.
C'est génial et porteur de sens (et un vrai laboratoire de bonnes pratiques) mais le temps de bootstrapping de l'équipe de développement, des individus composant cette équipe, est bien loin de suivre la même célérité. Dans le pire des cas, vous rencontrerez même des équipes au sein desquelles les écarts de niveaux sont extrêmement importants.
Pourquoi donc ? Réfléchissez à ce qui se passe si vous donnez le volant d'une formule 1 à quelqu'un qui vient tout juste d'obtenir son permis A après avoir fait son apprentissage sur une petite citadine dans une grande ville ... et vous aurez un début de réponse.
Le portfolio Spring constitue une excellente et populaire boîte à outils qui vous promet une grande productivité. Pour tirer profit de cette productivité et ne pas rester bridé par les connaissances de l'équipe, il ne suffit pas de choisir le bon framework, il faut savoir comment l'utiliser, le sublimer, en épousant les paradigmes de ce dernier.
Je vous propose donc d'en revenir aux fondamentaux de Spring (Boot) afin de vous permettre, bien avant de pouvoir vous attaquer au graal des architectures Microservices, d'être capable de tirer la pleine puissance du framework, tout du moins de ne pas en détourner l'essence.
Si vous n'êtes pas familier de Spring, ce talk vous permettra d'en avoir un premier aperçu pragmatique sans effet waouh. Si vous connaissez déjà Spring, vous trouverez à travers ce talk l'opportunité de prendre du recul sur son usage et de confronter vos pratiques aux patterns et bénéficies qu'il vous offre.
Découvrez le framework web Spring Boot qui a la cote !
Apprenez comment son système d'auto-configuration fonctionne.
Live coding et exemple de migration vers Spring Boot sont de la partie.
Workshop Spring 3 - Tests et techniques avancées du conteneur SpringAntoine Rey
Les secrets du conteneur Spring vous attendent pour ce 3ième workshop sur le framework Spring : module spring-test, injection de beans de portées différentes, support des JSR 250 et 330, post-processeurs de beans, fichiers de configuration et abstraction de l’accès aux ressources.
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
Rejoignez les millions de développeurs Spring
De par sa forte pénétration dans les entreprises, tout développeur Java /JEE a ou aura à travailler sur une application s’appuyant sur Spring. Or Spring dépasse le cadre du simple framework open source.
Cette série de 5 workshops a pour objectif de faire un tour d’horizon de l’écosystème des technologies supportées par Spring avant de se focaliser plus spécifiquement sur certaines d’entre elles.
Retours d’expérience, bonnes pratiques, techniques avancées seront de partie.
Propulsée dans Java EE 6 avec CDI et plus récemment au sein de JavaScript avec Google Gin, l’injection de dépendance sera au cœur du premier workshop.
Voici le support de présentation du workshop sur Spring que j'ai animé en novembre 2011 au sein de ma SSII et que j'ai réactualisé avant sa diffusion sur Slideshare.
Au sommaire du workshop :
1. Zoom sur le portfolio Spring Source
1. Le cœur du framework Spring : IoC, AOP et support
2. Le support proposé par Spring : persistance, présentation, communication, test, outils …
2. Les fondamentaux
1. Fonctionnement du conteneur léger
2. Les beans Spring
3. Les design patterns rencontrés dans Spring
Chaque jour, de nombreux développeurs utilisent le framework Spring pour l’injection de dépendances et la gestion des transactions. Majeures, ces 2 fonctionnalités ne nécessitent pas un gros effort d’apprentissage. Pour autant, leurs mises en œuvre par le framework est complexe. Par curiosité intellectuelle, mais également afin d’éviter certains pièges et de profiter pleinement des capacités de Spring, il est intéressant de comprendre les mécanismes internes du framework qu’on utilise au quotidien : cycle de vie d’un bean, proxy, intercepteur, post-processeur, fabrique de beans, hiérarchie de contextes, portée …
Les slides de cette présentation ont pour objectif de vous les faire les introduire.
Spring Meetup Paris - Back to the basics of Spring (Boot)Eric SIBER
Aujourd'hui, avec Spring Boot, la promesse est de pouvoir bootstrapper en 60 secondes chrono une application.
C'est génial et porteur de sens (et un vrai laboratoire de bonnes pratiques) mais le temps de bootstrapping de l'équipe de développement, des individus composant cette équipe, est bien loin de suivre la même célérité. Dans le pire des cas, vous rencontrerez même des équipes au sein desquelles les écarts de niveaux sont extrêmement importants.
Pourquoi donc ? Réfléchissez à ce qui se passe si vous donnez le volant d'une formule 1 à quelqu'un qui vient tout juste d'obtenir son permis A après avoir fait son apprentissage sur une petite citadine dans une grande ville ... et vous aurez un début de réponse.
Le portfolio Spring constitue une excellente et populaire boîte à outils qui vous promet une grande productivité. Pour tirer profit de cette productivité et ne pas rester bridé par les connaissances de l'équipe, il ne suffit pas de choisir le bon framework, il faut savoir comment l'utiliser, le sublimer, en épousant les paradigmes de ce dernier.
Je vous propose donc d'en revenir aux fondamentaux de Spring (Boot) afin de vous permettre, bien avant de pouvoir vous attaquer au graal des architectures Microservices, d'être capable de tirer la pleine puissance du framework, tout du moins de ne pas en détourner l'essence.
Si vous n'êtes pas familier de Spring, ce talk vous permettra d'en avoir un premier aperçu pragmatique sans effet waouh. Si vous connaissez déjà Spring, vous trouverez à travers ce talk l'opportunité de prendre du recul sur son usage et de confronter vos pratiques aux patterns et bénéficies qu'il vous offre.
Découvrez le framework web Spring Boot qui a la cote !
Apprenez comment son système d'auto-configuration fonctionne.
Live coding et exemple de migration vers Spring Boot sont de la partie.
Joomla! Platform
Pourquoi l’API Joomla!
C'est une présentation que j'ai fait lors de la 2eme édition de la semaine de web à Alger [événement Algeria 2.0] exactement lors de Joomla! Day Alger le 18 Avril 2012.
J'ai essayé de présenter l'api d'une manière simple et efficace afin d'initier les règles de bases d'utilisation de cette api pour le public présent.
Cette présentation aborde plusieurs points :
* Qu'est-ce qu'un moteur de règles ?
* Drools, les alternatives et son historique.
* Résumé d'un comparatif de moteur de règles.
* Première règle, une règle simple !
* Règles lisibles pour un humain (DSL et Table de décision).
* Drools Guvnor (BRMS/BPMS, système de gestion de régles métiers).
* Drools Flow (Flow/WorkFlow).
* Drools Fusion (Event Processing).
* Performance :
o Algorithme de Rete
La présentation fut dense. En effet, le focus a été mis sur la dernière version de Drools, la version 5, qui propose énormément de fonctionnalités.
Quelle place pour le framework Rails dans le développement d'application web5pidou
Cette présentation a été réalisée dans le cadre des Rencontres Mondiales décentralisées du Logiciel Libre (RMLLd) qui se sont déroulées du 1er au 3 Juillet 2011 à Saint-Joseph (Ile de la Réunion).
Les micro orm, alternatives à entity frameworkMSDEVMTL
L'arrivée il y 10 ans d'Entity Framework a permis de manipuler une base de données sans écrire une seule ligne de SQL.Entity Framework a apporté son lot d'avantages mais aussi d'inconvénients.
Aujourd'hui il existe différentes alternatives à ce dernier, les micro ORM.Nous allons voir en quoi ils sont intéressants : leur compatibilité avec les différentes bases de données, leur simplicité, leur performance, la communauté autour de ces derniers.
This document defines a MySqlHelper class that extends SQLiteOpenHelper. It contains constants for table and column names, SQL statements to create three tables (user, preference, hotel), and methods to create the database tables onCreate and drop/recreate them onUpgrade if the database version changes.
This document defines a ContentProvider class called StudentsProvider that manages access to student data stored in a SQLite database. It implements methods like insert, query, delete, update and getType to perform CRUD operations on the student data according to the URI received. The provider uses a UriMatcher to match URI patterns and route requests to the appropriate method.
This class defines a database helper that manages the underlying data repository for an Android content provider. It extends the SQLiteOpenHelper class and overrides required methods to create a database table called "students" with fields for id, name, and grade when the database is created, and to drop and recreate this table if the database version changes.
This Android application allows users to add and retrieve student records from a content provider. It contains activities for adding a new student record by inserting content values into the content provider, and retrieving student records by querying the content provider and displaying the results in toast messages. The application uses content values, URIs and cursors to interface with the content provider to store and retrieve student name and grade data.
2. SharedPreferences
les préférences sauvegardées dans un fichier .XML
Un objet preferences est de type Bundel qui peut contenir des
paires (clé, valeur)
Création : SharedPreferences preferences =
PreferenceManager.getDefaultSharedPreferences(this);
Modification:
Saber LAJILI 2
5. Démo
Réaliser cette interface avec sauvegarde de login
de user
Saber LAJILI 5
6. SQLite
SQLite Open Source intégrée dans Android.
SQLite supporte la syntaxe SQL, les transactions
et les requêtes préparées.
Ne nécessite que peu de mémoire lors de
l'exécution (environ 250 Ko).
Ne nécessite aucune tâche de configuration ni
d'administration
Sauvegardé par défaut dans le répertoire:
DATA/APP_NAME/FILENAME_DB
Ne supporte que les types : TEXT, REAL et
INTEGER
Saber LAJILI 6
7. SQLite
Création de la base
Package « android.database.sqlite »
La classe SQLiteOpenHelper
Méthode : onCreate(), onUpgrade()
Manipulation de la base
La classe « SQLiteDatabase »
méthodes :execSQL() , rawQuery, query
insert (), update () et delete ()
Résultat de requête : un objet Cursor
Saber LAJILI 7
8. Démo
Il s’agit de créer une interface de gestion des
commentaires
Saber LAJILI 8
9. Démo
Démarche suivante:
1. Créer la base de données : étendre la classe «
SQLiteOpenHelper »
2. Créer la classe « Comment »
3. Créer la classe « DAO » d’accès aux données
4. Créer la classe de test (main_activity)
Saber LAJILI 9
Notes de l'éditeur
Les activités et les applications peuvent sauvegarder leurs préférences sous la forme de
paires clés/valeurs qui persisteront entre deux appels. Les préférences peuvent être propres
à une activité ou partagées par toutes les activités d’une application (mode de partage).
Les activités et les applications peuvent sauvegarder leurs préférences sous la forme de
paires clés/valeurs qui persisteront entre deux appels. Les préférences peuvent être propres
à une activité ou partagées par toutes les activités d’une application (mode de partage).
SQLite supporte les types de données (TEXT semblable à String dans Java), INTEGER (semblable à
longue en Java) et REAL (semblable à double en Java). Tous les autres types doivent être convertis en
un de ces champs avant de les enregistrer dans la base de donnéesL'accès à une base de données SQLite comprend l'accès au système de fichiers. Cela peut être
lent. Par conséquent, il est recommandé d'effectuer les opérations de base de données de
manière asynchrone, par exemple à l'intérieur de la classe AsyncTask.
Pour réaliser des opérations d’insertion et de mises à jour de la base de données, on utilise les objets
ContentValues qui permettent de définir les paires (clé/valeur). La "clé" représente l'identificateur de
colonne de la table et la «valeur» représente le contenu cette colonne.