$ git tag --list autoslave-0.0.8-1 autoslave-0.0.8-2 autoslave-0.0.9-1 ... autoslave-1.49.2 autoslave-1.49.3 autoslave-1.49.4 $ git tag --list | wc -l 216 $ git log --oneline | wc -l 29923
>>> len(settings.INSTALLED_APPS) 168 >>> len(models.get_models()) 341
✔ Plus simple à administrer et déployer
✔ Plus facile à migrer
✘ Mutualisation de fonctionnalités complexe
✘ Couplage fort
✔ Facile à mutualiser
✔ Plannig de déploiement autonome
✔ Simple conceptuellement
✔ Résistance aux pannes
✘ Duplication des données
✘ Désynchronisation des données
✔ Facile à mutualiser
✔ Plannig de déploiement autonome
✔ Pas de duplication
✘ Forte charge sur l'infrastructure
✘ Pannes en cascades
def load_backend(name): modname, classname = name.rsplit('.', 1) mod = import_module(modname) backend_class = getattr(mod, classname) return backend_class()
def doit(x, y, z): backend = load_backend(settings.MY_BACKEND_NAME) return backend.doit(x, y, z)
Isoler les chemins pour création et mise à jour
MY_CREATION_BACKEND = 'mymod.backends.multi' MY_UPDATE_BACKEND = 'mymod.backends.legacy'
Prévoir 3 versions des backends :
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |