Mesurer les performances d’un snippet Python
L’open source c’est fantastique. Github c’est merveilleux. On parle de batbelt, et paf, quelques jours plus tard on a notre première contribution.
L’open source c’est fantastique. Github c’est merveilleux. On parle de batbelt, et paf, quelques jours plus tard on a notre première contribution.
Vous avez fait une upgrade vers Django 1.5 et paf, votre pagination vous dégobille une erreur.
Il y a longtemps que je voulais traduire cette réponse de StackOverflow, qui donne une bonne fois pour toute la réponse à cette question souvent posée.
J’ai découvert l’excellent blog soat.fr, mais dernièrement un article m’a fait très peur : il s’enthousiasme de l’arrivée des Google glasses.
A force de coder plein de projets, il y a des opérations qui reviennent très souvent. Ces traitements sont petits et complètement sans relation, difficile d’en faire quelque chose. J’ai tout de même finit par en faire un lib, batbelt, qui au final n’est qu’une grosse collections de snippets que j’utilise régulièrement.
En informatique, on passe beaucoup de temps à tester des logiciels, encore plus dans le monde du libre, pour trouver celui qui va être le plus adapté à ses besoins.
Du coup, partager sa config peut vraiment faire gagner beaucoup de temps à d’autres pour la découverte. Et je suis sûr que les comments vont être spammés de “moi j’utilise X”, ce qui pourrait nous faire connaître encore plus de truc.
Vous avez un super outil JS que vous voulez partager avec le monde entier ? Faites un bookmarklet ! Il s’agit de compresser tout votre code sur une ligne de telle sorte qu’il puisse être mis en bookmark dans le browser et utilisé en un click.
Il fallait bien s’y mettre un jour. Dans un an Python 3 sera probablement assez mûr et répendu pour envisager une switch. Du coup j’ai changé mon modèle de fichier Python vide, il ressemble maintenant à ceci.
Je préfère Woody à Bill.
A un moment vous allez devoir proposer à vos utilisateurs de télécharger un fichier. Mais Django n’est pas du tout fait pour streamer des données, et du coup lui laisser cette tâche est un gros gouffre à performance qui va bloquer un de vos workers pendant tout le transfert.
Seulement parfois, il faut quand même générer le fichier via Django, ou au moins checker des permissions, bref, faire un traitement quelconque du côté du code Python. Comment faire alors ?