Gestions des fichiers et des dossiers en python - Manipuler path chemin absolu et relatif - lister fichiers - cours tutoriel langage de programmation python
Compresser et décompresser des fichier 7zip en Python. Animal... :)
Un résumé des formations Zenika sur les micro-services pour 1890 € HT / jour.
Présentation
Une architecture microservices présente des avantages, mais nécessite une grande maturité dans les pratiques de développement, de déploiement et de maintien en conditions opérationnels. Cette formation vise à couvrir les pratiques, techniques et technologies essentielles pour tirer pleinement bénéfice d’un système découpé en microservices.
Objectifs
Sensibiliser les développeurs aux problématiques et à les résoudre dans une architecture microservices
Aider les développeurs à créer des applications s’intégrant facilement et efficacement dans une architecture microservices
Pédagogie :
40% Théorie, 60% Pratique
Public :
Développeur, Architecte
Pré-requis :
Programmation Java
Programme
Introduction et enjeux
REST
Principes
Tests automatisés
Versionning
HATEOAS
Documentation
Mise en application : Spring Boot, Spring MVC, Spring HATEOAS, Swagger, Spring REST Docs
Persistance polyglotte
Découpage d’un monolithe (“bounded context”)
Avantages et inconvénients
Mise en application : Spring Data (JPA, ElasticSearch)
Configuration d’une architecture microservices
Externalisation et centralisation de la configuration
Environnements et profils
Sécurité
Mise en application : Spring Boot, Spring Cloud Configuration Server
Enregistrement et découverte des services
Le besoin d’un registre de services
Approches (load balancer intelligent, registre de services)
Mise en application : Spring Cloud et Netflix Eureka
Routage
Load balancing
Pattern API Gateway
Mise en application : Load balancing avec Netflix Ribbon et Spring Cloud, Gateway Netflix Zuul
Fiabilisation des services
Les appels entre services
Problème du cascading failure
Pattern circuit breaker
Mise en application : Netflix Hystrix
Monitoring
Le monitoring au centre d’un microservice
Métriques et health check
Mise en application : Actuator Spring Boot
Journalisation
Centralisation des logs
Parcours de solutions : ELK, Graylog
Syslog
Identifiant de corrélation
Mise en application : journalisation via UDP dans une application, implémentation d’un ID de corrélation avec Spring Boot
Déploiement d’un architecture microservices
Déploiement continu de dizaines/centaines d’applications
Techniques d’optimisation de déploiement
Introduction à Docker
Mise en application : déploiement d’une application Spring Boot en tant que service Linux, packaging d’un microservice et de l’infrastructure (registre de services, load balancer) via Docker
Solutions d’infrastructure pour les microservices (Kubernetes, Mesos, Swarm)
Solutions Cloud (CloudFoundry, Heroku)En gros :
1) Créer un répertoire ~/.fonts
2) Y copier vos fichier TTF
3) Exécuter les commandes
-
sudo fc-cache -f -v # (pour l'OS) -
fc-cache -f -v # (pour vous, sinon c'est redémarrage)
Oula la !! De gros changement dans udev déjà sur Ubuntu (we don't care) mais aussi sur Debian (we don't "don't care" hein). En gros eth0 disparaît au profit d'une nouvelle convention de nommage fixe dans le temps.
Tout ceux qui développent un script udev devraient y penser (Animal, spourtoi).
Ci-dessous un extract de mon fichier VHost
Un bon reminder sur les choses à faire lorsque l'on souhaite internationaliser une appli
Via plein de monde
Rappel : BitLocker = outil Microsoft pour chiffrer une partition NTFS.
Il vous faudra au préalable :
1) La "BitLocker Recovery Key" de votre partition (Dislocker n'est pas un outil de hacking)
2) Avoir installé Dislocker
- sudo add-apt-repository ppa:hermlnx/dislocker
- sudo aptitude update
- sudo aptitude install dislocker
Et la command à taper pour un disque chiffré sur /dev/sda2 :
Créer le répertorie qui accueillera le descripteur de la partition BitLocker
mkdir -p /media/Drive1/
Créer le répertoire qui accueillera le point de montage de la partition BitLocker
mkdir -p /media/Mount1/
Générer le descripteur
dislocker -r -V /dev/sda2 -p -- /media/Drive1/
Monter la partition
mount -o loop /media/Driver1/dislocker-file /media/Mount1
Edit : j'ai ajouté le exit 1 qui manquait et simplifier le check, merci Animal.
Le petit script qui va bien à mettre dans votre PATH.
#!/usr/bin/env bash
## USAGE EXAMPLE : create_disk 1000 "/path/to/an/empty/folder"
## Ceci va créer un disk virtuel de 1000 Mo accessible depuis le répertoire "/path/to/an/empty/folder"
## Ne me remerciez pas
display_command_usage() {
echo "Command usage : 'create_in_memory_disk <SIZE> <PATH>'"
echo " - SIZE : The size (in Mo) of the disk to create in memory"
echo " - PATH : The folder where to create the virtual disk"
exit 1
}
if [ "$1" == "" ] || [ "$2" == "" ]; then
display_command_usage
fi
memSize="$1"
diskPath="$2"
sudo mount -t tmpfs -o size=${memSize}m tmpfs $diskPathNous en discutions avec Animal dans le train ce matin. Une JVM bien configurée permet de faire jusqu'à un fois10 en termes de performances. Cependant, les entreprises négliges systématiquement ces options.
En lien, la documentation officielle d'Oracle à ce sujet.
#!/bin/bash
## Find screen port (LVDS1, eDP1, etc.) execute 'xrandr --dryrun' and choose the connected one.
#xrandr --output LVDS1 --brightness $*
xrandr --output eDP1 --brightness $*Un tuto très sympa pour comprendre ce que fait et comment marche Modernizr. En résumé c'est une bibliothèque JavaScript qui permet de détecter si un navigateur supporte une fonctionnalité HTML5 / CSS3 ou pas.
Dans le cas de figure où la fonctionnalité n'est pas supporté, alors Modernizr crééera automatiquement une classe CSS avec le préfix "no-" pour que vous n'ayez plus qu'à la définir dans vos CSS.
Par exemple :
.no-boxshadow .box {
border: solid 2px #cc0000;
}
.boxshadow .box {
border-shadow: 3px 3px 7px #aaa;
}
Que voyons-nous depuis l'intérieur d'un trou noir ?
Copier-coller les lignes suivantes à la fin de votre fichier .bashrc pour colorier les mots clefs (info, warning, error) et les résultats de l'exécution de Maven.
ADD MAVEN COLORATION :
Formatting constants
export BOLD=tput bold
export UNDERLINE_ON=tput smul
export UNDERLINE_OFF=tput rmul
export TEXT_BLACK=tput setaf 0
export TEXT_RED=tput setaf 1
export TEXT_GREEN=tput setaf 2
export TEXT_YELLOW=tput setaf 3
export TEXT_BLUE=tput setaf 4
export TEXT_MAGENTA=tput setaf 5
export TEXT_CYAN=tput setaf 6
export TEXT_WHITE=tput setaf 7
export BACKGROUND_BLACK=tput setab 0
export BACKGROUND_RED=tput setab 1
export BACKGROUND_GREEN=tput setab 2
export BACKGROUND_YELLOW=tput setab 3
export BACKGROUND_BLUE=tput setab 4
export BACKGROUND_MAGENTA=tput setab 5
export BACKGROUND_CYAN=tput setab 6
export BACKGROUND_WHITE=tput setab 7
export RESET_FORMATTING=tput sgr0
Wrapper function for Maven's mvn command.
mvn_color() {
Filter mvn output using sed
mvn $@ | sed -e "s/\(\[INFO\]\)\(\ BUILD\ SUCCESS\)/${TEXT_BLUE}${BOLD}\1${TEXT_GREEN}\2${RESET_FORMATTING}/g" \
-e "s/\(\[INFO\]\)\(.*\)/${TEXT_BLUE}${BOLD}\1${TEXT_WHITE}\2/g" \
-e "s/\(\[WARNING\]\)\(.*\)/${BOLD}${TEXT_YELLOW}\1${TEXT_WHITE}\2${RESET_FORMATTING}/g" \
-e "s/\(\[ERROR\]\)\(.*\)/${BOLD}${TEXT_RED}\1${TEXT_WHITE}\2${RESET_FORMATTING}/g" \
-e "s/Tests run: \([^,]*\), Failures: \([^,]*\), Errors: \([^,]*\), Skipped: \([^,]*\)/${BOLD}${TEXT_GREEN}Tests run: \1${RESET_FORMATTING}, Failures: ${BOLD}${TEXT_RED}\2${RESET_FORMATTING}, Errors: ${BOLD}${TEXT_RED}\3${RESET_FORMATTING}, Skipped: ${BOLD}${TEXT_YELLOW}\4${RESET_FORMATTING}/g"
Make sure formatting is reset
echo -ne ${RESET_FORMATTING}
}
Override the mvn command with the colorized one.
alias mvn="mvn_color"
4000 € de prime sur deux et sous certaines conditions.
Chlouchloutte, des couleurs pour ta boîte
Un outil pour choisir les couleurs complémentaires
Je n'ai qu'une seule chose à ajouter à destination de Bernard Cazeneuve :
We are Anonymous.
We never forgive.
We never forget.
En français,
Nous sommes Anonymes (ou comprenant l'idée d'Anonymous)
Nous ne pardonnons jamais
Nous n'oublions jamais
Bernard : tu ne seras plus jamais un candidat pour lequel je voterai, toi et chaque parti politique qui acceptera de te recueillir en son sein.
D'ailleurs, je vais dresser une liste des mes blacklistés.