JDK 22 - What’s up doctor ?

I actually discovered what’s new in JDK22 and how Java became more attractive day by day. I’d like to share a compilation of what I have discovered and tried with my short conclusion and point of view. Before you start, you can find the release note here: https://jdk.java.net/22/release-notes JEP 456: Unnamed Variables & Patterns Sometimes you need to declare variables without using it, for matching patterns or for specific contexts. With JEP 456, you can now use _ instead of declaring the variable....

March 28, 2024

Mongodb & Docker - Expériences & Authentification

Contexte Pré-requis : concepts de conteneurisation maitrisés. Déploiement d’un container mongodb et mongo-express pré-configuré avec docker-compose. Mongodb docker-compose version: '3' services: mongo: image: mongo environment: - MONGO_INITDB_ROOT_USERNAME=<USER> - MONGO_INITDB_ROOT_PASSWORD=<PASSWORD> - MONGO_INITDB_DATABASE=test volumes: - ./etc/mongo-volume:/data/db - ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro ports: - "27017:27017" Description du conteneur mongo Basé sur l’image mongo Descriptions des variables d’environnement Création de volumes pour le partage de fichiers Configuration des flux (ports) ⚠️ Ne pas oublier de modifier les valeurs USER et PASSWORD...

April 14, 2020 · Allemand Sébastien

Kubernetes Commands - Toolbox

Collection de commandes et tips pour s’en sortir dans kubernetes Déploiment manuel ⛔️ Ne jamais, jamais, jamais déployer a la main ⛔️ Utiliser : kubectl apply -f Investigations & debug Quelques commande pour s’en sortir, quand ca va vraiment pas. kubectl logs <podid> kubectl describe pod <podid> kubectl describe deployer <deploymentid> kubectl describe service <serviceid> kubectl describe ingress <ingressid> kubectl get events kubectl top kubectl top <pod_name> logs tail -f /var/log/messages systemctl status kubelet journalctl -xe System Alias system Retourner toutes les ressources avec tous les namespaces...

April 7, 2020 · Allemand Sébastien

OpenSSL Toolbox

https://raymii.org/s/articles/OpenSSL_manually_verify_a_certificate_against_a_CRL.html Verify SSL Certificate Get certificate openssl s_client -showcerts -connect <domain_name>:443 Certificate part CSR (Certificate Signing Request) CSR is an encoded text that is given to a Certificate Authority when you apply for an SSL Certificate. It’s generaly generated on the server where the certificate will be instaled. It contains some informatiosn that will be included in the certificate such as the organization name, common name (domain name), locality, and country....

March 18, 2020 · Allemand Sébastien

Mini cluster Kubernetes avec rancher (k3s)

Découverte K3S Suivi d’installation d’un cluster mini-kubernetes. Par curiosité je souhaite simuler des systèmes complexe. J’aimerais découvrir de nouveaux concepts et apprendre des choses par cet apprentissage. Ce que je partage ici n’est que des expérimentations, elles ne sont peut être pas poussées jusqu’au bout niviable en prod. Simplement des sujets que je souhaite débunker. Outils utilisés Multipass K3S Création des machines Pour commencer nous allons créer 3 machines : 1 principales et 2 replications a l’aide de la CLI multipass...

March 17, 2020 · Allemand Sébastien

Construire un cluster de VM avec Multipass

Il existe une multitupde d’outils pour virutaliser des machines (VM). Aujourd’hui j’ai décidé pour mes atelier et mes expérience d’utiliser Multipass, un outil de la team Canonical. Multipass est un outil de construction de VMs sous ubuntu, je compte utiliser cet outil pour construire très rapidement un environnement de developpement. Lancer une instance multipass launch --name <VM_name> lister toutes les instance multipass list Arreter / démarrer une instance multipass stop <VM_name> multipass start <VM_name> Supprimer une instance Attention, lorsque vous supprimez une instance elle ne l’est pas réellement....

February 17, 2020 · Allemand Sébastien

Legacy Code

Si vous travaillez avec des développeurs vous avez certainement entendu parler de legacy. Un projet fréquemment perçu comme quelque chose de mystique, opaque, mal conçu faisant souvent référence à une période douloureuse ravivant de vieilles douleurs du passé… Mais qu’en est t’il vraiment ? Qu’appelle on Legacy ou bien Legacy Code ? J’aimerais partager avec vous ma définition: ce qu’est un projet legacy, le code legacy et comment on a fait pour en arriver la....

February 15, 2020 · Allemand Sébastien

Legacy Code

Si vous travaillez avec des développeurs vous avez certainement entendu parler de legacy. Un projet fréquemment perçu comme quelque chose de mystique, opaque, mal conçu faisant souvent référence à une période douloureuse ravivant de vieilles douleurs du passé… Mais qu’en est t’il vraiment ? Qu’appelle on Legacy ou bien Legacy Code ? J’aimerais partager avec vous ma définition: ce qu’est un projet legacy, le code legacy et comment on a fait pour en arriver la....

February 15, 2020 · Allemand Sébastien

Docker Commands - Toolbox

Dockerfile Une image Docker est crée a partir d’un fichier Dockerfile représentant la structure du conteneur. On peut y trouver plusieurs éléments comme des librairies logicielles, une application, de la configuration, l’utilisation de volumes etc. Une fois cette image construire il sera possible de lancer plusieurs container basés sur la même image. Construire une image docker build -t <docker_repository>/<image_name> . Le . défini que le dockerfile est disposé dans le dossier courant....

January 18, 2020 · Allemand Sébastien

The Practical Test Pyramid

tldr; Passer directement a la présentation de Pyramid Testing Contexte Dans mon parcours, il m’a souvent été rappelé que les développeurs devaient tester leur code. Des tests fait manuellement, afin de vérifier que le développement effectué corresponde bien a ce qui a été spécifié. Le problème avec ces tests manuels est qu’il devient difficile de s’engager sur leur reussite et leur qualité dans le temps. De plus et pour plusieurs raisons, j’ai remarqué qu’il n’est pas rare en phase de recette de voir apparaitre en plus des erreurs de tests classiques :...

June 20, 2019 · Allemand Sébastien