Patrons de Conception Essentiels : Commande, Proxy et Stratégie
Le Patron de Conception Commande
Le patron Commande est une approche structurelle qui encapsule une requête en tant qu'objet, permettant ainsi la paramétrisation des clients avec différentes requêtes, la mise en file d'attente ou la journalisation des requêtes, et la prise en charge des opérations annulables. Il dissocie l'objet qui invoque l'o ...
Publié le 13 juillet à 01h43
Installation et configuration de Nginx
Installation
Pour installer Nginx, commencez par installer les dépendances nécessaires, puis le paquet Nginx lui-même.
sudo yum -y install pcre-devel zlib-devel openssl openssl-devel
sudo yum -y install epel-release
sudo yum -y install nginx
sudo yum -y install nginx-all-modules.noarch
Configuration du démarrage automatique
Assurez-vous que ...
Publié le 11 juillet à 20h11
Intégration de services Web en C# : Approches et mise en œuvre
L'intégration de services Web dans les applicaitons C# peut être réalisée de plusieurs manières. Les deux approches principales consistent à utiliser la fonctionnalité "Ajouter une référence de service" intégrée à Visual Studio ou à implémenter une solution personnalisée basée sur la réflexion et la génération dynamique de code.
Métho ...
Publié le 28 juin à 22h35
Configuration de tunnels SSH avec PuTTY : différences entre tunnels et proxies
Configuration d'un tunnel SSH pour JupyterLab
Lorsque vous ne pouvez accéder à un serveur qu'via SSH (port 22) mais que vous souhaitez utiliser JupyterLab qui tourne sur le port 8888, la solution la plus simple et sécurisée est d'établir un transefrt de port local SSH.
Configuration côté serveur (à effectuer une seule fois)
Générer le fichier ...
Publié le 26 juin à 04h09
Ouvrir des pages web dans une application WPF avec CefSharp : serveur proxy et interaction JavaScript
Cet article décrit comment intégrer un navigateur web dans une application WPF (développée avec Visual Studio 2010 et C#) à l'aide de CefSharp, afin d'ouvrir des pages web tout en respectant deux contraintes :
L'ordinateur ne doit pouvoir accéder à Internet qu'à travers un serveur proxy spécifique (via le réseau local), et uniquement pour cett ...
Publié le 26 juin à 02h09
Scénarios d'échec de la transaction Spring
Dans une même classe, un appel d'une méthode transactionnelle à une méthode non transactionnelle peut fonctionner correctement. En revanche, le cas contraire où la transaction échoue est illustré par le point 4 ci-dessous (appel interne dans une même classe).
@Autowired
private XXXMapper xxxMapper;
@Autowired
private YYYMapper yyyMapper;
@Tra ...
Publié le 25 juin à 16h07
Implémentation manuelle des API de Vue 3.0
Dans Vue 2.x, la réactivité était implémentée via Object.defineProperty. Vue 3.x utilise désormais l'objet natif Proxy pour intercetper les opérations sur un objet.
// Objet source
const data = { name: 'js', age: 25 };
// Proxy pour intercepter get/set
const proxy = new Proxy(data, {
get(target, key) {
console.log('Lecture de la propriét ...
Publié le 24 juin à 02h19
Résoudre les erreurs de connexion ECONNREFUSED et HTTP/2 avec npm et git
Contexte
Lorsque l'on travaille derrière un proxy ou un VPN, les commandes de téléchargement et de clonage peuvent échouer avec des messages comme ECONNREFUSED pour npm ou HTTP/2 stream was not closed cleanly pour git. Ces erreurs viennent le plus souvent d'une mauvaise configuration réseau ou d'un intermédiaire (proxy local, pare-feu, certific ...
Publié le 22 juin à 20h38
Maîtrise des Métatables et Métaméthodes en Lua
Par défaut, une table Lua est créée sans métatable. L'appel à getmetatable(t) sur une table vierge renverra donc nil. N'importe quelle table peut servir de métatable à d'autres tables. Plusieurs structures peuvent partager une même métatable, et une table peut même agir comme sa propre métatable.
Métaméthodes Arithmétiques
Les métaméthodes arit ...
Publié le 6 juin à 20h05
Programmation Orientée Aspect avec JavaScript
La Programmation Orientée Aspect (POA) est un paradigme qui complète la Programmation Orientée Objet (POO). Il se concentre sur l'objectif final d'une opération plutôt que sur les étapes intermédiaires. En essence, lorsqu'une méthode cible est déclenchée (par exemple, dans un contrôleur), des comportements définis par l'aspect (comme un décodag ...
Publié le 5 juin à 23h22