Thématiques principales

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

vendredi 14 juin 2019

Changement de taff!!

Et bien cela va faire presque deux mois que je n’ai rien écrit! non je n’ai pas mis de coté le blog. Mais j’avoue que ces deux derniers mois ont été très chargé. D'une part, j’ai déménagé! Encore! Ce qui en terme d’organisation pour écrire, perturbe un peu les habitudes! Et aussi j’ai changé de boulot! aussi et oui ça faisait un an que j'étais chez Capemini mais je m’ennuyais.

Du coup je suis rentré chez Norsys, je me suis laisser séduire par le dynamisme, le côté écolo, et une volonté de bien faire…  et j’ai débuté le premier avril dernier… (sans blague)

Alors je disais dans un précédent article que d’ailleurs, souvent on choisi une boite surtout pour les gens qui y travaillent et le fait que l’on veuille bosser avec eux… et bien là clairement, j'étais en plein dedans! et je regrette pas! Alors initialement, c’est surtout parce que Christophe venait lui aussi d’y rentrer (bon j’ai du coup délaissé David … ^^) mais au final je l’ai assez peu croisé et j’ai dû me confronter aux effectifs en présence….

Honnêtement, ça a quand même été un choc. J’ai vu sur ces dernières années pas mal de choses, j’ai bien sûr eut des haut et des bas, j’imagine comme tout le monde… mais je ne mesurais pas à ce point comment j’avais surtout capitalisé sur des technologies qui avaient fait leur temps. D’un coup il m’a donc fallu intégrer dans mes outils du quotidien plein de nouveaux concepts et de manière de travailler….

Alors non bien sur je ne parle pas des processus de développement, de l’agilité… mais plutôt le fait que typiquement passer de Java 8 (et encore) à Java 11 implique quelques mise à jours qui même si elles ont été réalisé à titre personnelle, cela reste qu’un débroussaillage par rapport aux besoins que l’on peut en avoir dans une utilisation quotidienne!

Alors quand même! heureusement que j’ai bien débroussaillé ces dernières années! Je ne regrette pas ces heures de rafraîchissement sur Postgres et la normalisation des SGBD-R, ni cette monté en compétence sur docker qui m'a permis d'être OP des le GO sur les projets. Cependant, changer de projet, et partir sur de nouvelles techno c’est quand même la loterie et forcément on tombe toujours sur des numéros que l’on avait pas choisi!

Du coup même en ayant fait du String sur ces 10 dernières années, j’avoue que j’ai mesuré à quel point je n'étais qu’un utilisateur de cette technologie. Celle ci est vraiment trop magique et devenir vraiment compétent sur cette technologie nécessite de passer la montagne de la stupidité (cf Dunning-Kruger)

Alors oui bien sur j’ai d’autres compétences (du moins je l'espère ^^) mais quand celles ci ne sont pas à utiliser dans le cadre d’un projet, le sentiment qui en ressort est un gros syndrome de l’imposteur!

Enfin donc tout ça pour dire que ces deux derniers mois ont été très riches, que je n’ai pas eut le temps de consolider quoique ce soit mais, que je reviens doucement mais surement avec plein de sujet en tête… (sans oublier ceux qui étaient en cours….)

Du coup en aperçu, on parlera dans les prochains mois, de

  • ReST
  • Spring Boot
  • JavaScript
  • Reactor

Peut être aussi quelques sujet sur la sécurité (Spring Security, OAuth2, JWT, etc…)
Sans oublié je le disais les sujets sur l’IA:
  • Mnist
  • Les arbres de décision
  • Les forêts aléatoire


Et bien d’autres choses comme l'héritage de table dans Postgres, SpringData, peut être un peu de bayésianisme si enfin j’arrive à me poser sur ce sujet et meme un peu de réseau!

Donc à très vite pour le prochain article!

mardi 14 novembre 2017

Design pattern : Observateur


Le pattern Observateur est probablement l'un des plus important. Il s'agit d'un pattern comportemental et structurel.

  • Structurel d'abord car il facilite le découplage entre composants
  • Comportemental ensuite car il permet la conception de système réactif et dynamique facilitant a propagation d'informations au travers d'un système comme dans des IHM par exemple. 
Il est d’ailleurs d’élément central au Pattern MVC et est le fondement a la nouvelle API de Java 9 que sont les Reactives Stream

Dans la version standard, le pattern observateur est constitué d'un couple Sujet/Observateur, les second étant abonné au aux premiers qui vont se charger de les notifier de leur éventuellement évolutions, les observateur auront alors la responsabilité de faire l'action sur le ou les objets dont ils auront la charge.

Ici on peut donc constater de multiple avantage:

  • le découplage d'un delta avec l'action qui pourrait en résulter
  • la capacité a réagir des la modification
  • la possibilité de modifier dynamiquement les comportement sur les changements.


Une variante intéressante est l'adjonction d'un événement lors de la notification qui mettra a jour les observateur permettant a ceux ci de d’exécuter les comportements propagés par les événements.

L'ajout des événements permet d'autant plus de découplage en établissant un référentiel d’événements porteur des comportements et structures de données que les sujets et observateur vont se transmettre.

Ceci va ainsi nous permettre de construire un système logiciel de façon décentralisé et réactif ou chaque éléments/composant disposera de sujets et d'observateurs en interactions par le système de mise a jour.