Si vous avez travaillé avec des projets Python, vous êtes probablement tombé sur les nombreuses façons de fournir une configuration. Je ne vais pas passer en revue toutes les méthodes ici, mais quelques-unes d'entre elles sont :
Ma préférence va à la configuration yaml car je trouve généralement très pratique et facile à utiliser et j'aime vraiment que les fichiers yaml soient également utilisés dans, par exemple, la configuration docker-compose, c'est donc quelque chose que la plupart connaissent.
Pour l'analyse yaml, j'utilise la bibliothèque PyYAML Python.
Dans cet article, nous parlerons du cas du fichier yaml et plus précisément de ce que vous pouvez faire pour éviter de garder vos secrets, par exemple vos mots de passe, vos hôtes, vos noms d'utilisateur, etc., directement dessus .
Disons que nous avons un exemple très simple de configuration de fichier yaml :
database:
name: database_name
user: me
password: very_secret_and_complex
host: localhost
port: 5432
ws:
user: username
password: very_secret_and_complex_too
host: localhost
Pour que PyYAML soit capable de résoudre les variables d'environnement, nous avons besoin de trois éléments principaux :
pattern = re.compile(‘.*?\${(\w+)}.*?’)!ENV.Exemple de configuration YAML avec des variables d'environnement :
database:
name: database_name
user: !ENV ${DB_USER}
password: !ENV ${DB_PASS}
host: !ENV ${DB_HOST}
port: 5432
ws:
user: !ENV ${WS_USER}
password: !ENV ${WS_PASS}
host: !ENV ‘https://${CURR_ENV}.ws.com.local'
ws:
user: !ENV ${WS_USER}
password: !ENV ${WS_PASS}
host: !ENV 'https://${CURR_ENV}.ws.com.${MODE}' # multiple env var
Définissez d’abord les variables d’environnement. Par exemple, pour le DB_PASS:
export DB_PASS=very_secret_and_complex
read -s ‘Database password: ‘ db_pass
export DB_PASS=$db_pass
python use_env_variables_in_config_example.py -c /path/to/yaml
Et dans votre code, faites des choses avec conf, par exemple accédez au mot de passe de la base de données comme ceci :conf['database']['DB_PASS']
J'espère que cela a été utile. Toutes les pensées, questions, corrections et suggestions sont les bienvenues :)
Vous devez avoir entendu parler de tous les nouveaux plugins ChatGPT puissants comme le navigateur, l'interpréteur de code, etc. Mais il y a un problème, l'accès aux plugins est limité à une liste d'attente et donc beaucoup n'y ont pas accès.
Cette semaine, j'ai reçu un e-mail d'un membre de la liste de diffusion quotidienne. Ils voulaient savoir : Quelles ressources consultez-vous quotidiennement, hebdomadairement et mensuellement ? Grande question ! Je suis heureux d'essayer de partager quelques idées sur mon flux de travail et les principales ressources que j'utilise.
Pour éviter toute ambiguïté, les termes suivants seront utilisés ; Authentificateur ; Le téléphone mobile utilisé pour effectuer la connexion au site Web ; Le site Web ou l'application que l'utilisateur utilise pour effectuer la demande de connexion au service ; Le fournisseur fournissant le service donné, par exemple
En 2022, avec la sortie de GPT-3, la compétence en écriture semble devenir moins importante. Avec l'IA, les personnes ayant une mauvaise écriture peuvent également générer du personnel de qualité.
Passer à une nouvelle carrière peut être extrêmement difficile si vous essayez de le faire seul. Il est important de trouver des partenaires de responsabilité qui sont au même niveau d'apprentissage que vous, qui partagent des objectifs, une ténacité et un dynamisme similaires.
(Attention - Ceci est une satire, destinée à être joyeusement subversive - Certainement pas pour les enfants) Vous avez vu votre mère et votre père se cacher dans la cuisine et fumer ces cigarettes malodorantes. Ils vous disent.