Sortez Couvert [FR]

Sortez Couvert [FR]

Lightening talk sur Raincoat

E122b75d171a1029ba808f7e26af1820?s=128

Joachim Jablon

October 16, 2016
Tweet

Transcript

  1. Sortez couvert Brace yourself, rain is coming

  2. Django : Un framework pour les poneys avec des pouvoirs

    magiques
  3. Du code !

  4. “Don’t Repeat Yourself”, qu’ils disaient. • C’est un constat d'échec

    • Ca rend le code dur à maintenir • C’est pas bien • C’est tout pas bien • C’est vraiment pas bien • Sauf que...
  5. Tu me poses une colle • Code trop complexe •

    “Mal” découpé, pas adapté • Qui fait pas vraiment ce qu’on veut • C’est un besoin vraiment spécifique • On peut pas facilement contribuer • Il faut avancer • Sauf que...
  6. DRY

  7. Django : Un framework pour les poneys avec des pouvoirs

    magiques … et des patches de sécurité.
  8. Et là c’est le drame, les événements s’enchaînent

  9. Et là c’est le drame, les événements s’enchaînent

  10. Enter: Raincoat

  11. Comment ça marche ? # Raincoat: package "Django==1.9.0" path "django/contrib/admin/options.py"

    "ModelAdmin.changeform_view"
  12. Comment ça marche ?

  13. Hein ? Mais… Comment !? • Téléchargement sur PyPI (sans

    installation) • Lecture de la tarball ou du wheel (en mémoire) • Récupération du fichier voulu • Parsing de l’AST, exploration pour localiser la méthode voulue • Diff entre les 2 versions
  14. Demo time Cheatsheet (avec vex installé): vex -mr rc bash

    -c "pip install raincoat; echo '# Raincoat: package \"Django==1.9.0\" path \"django/contrib/admin/options.py\" \"ModelAdmin.changeform_view\"' > rc.py; raincoat"
  15. Merci On recrute ! @ewjoachim