L'utilisation d'un ORM efficace comme celui de Django abstrait la base de données au point de rendre parfois le debug malaisé voire difficile. Il n'est pas souvent évident de remonter jusqu'à la vue qui a généré une requête SQL consommatrice de ressources qui aurait été détectée dans les logs d'un …
Django, l'ORM et l'optimisation
Wed 28 January 2015 • Tags: django ORM python SQLComme vous le savez sans doute, les objets de type QuerySet sont lazy. C'est à dire qu'ils ne sont évalués qu'au tout dernier moment. En fait, ils peuvent même ne pas être évalués du tout. Ou au contraire être évalués à de nombreuses reprises.
Evidemment, pour de meilleures performances, on …
Stockage Array avec Django
Tue 23 December 2014 • Tags: array django djorm-array postgresqlActuellement dans un de nos projets nous stockons un ensemble d'id provenant d'une table dans une autre base de données, ces valeurs étant coûteuses à calculer et variant peu nous les stockons directement au niveau du tuple dans une colonne de type text en séparant chaque valeur par une virgule …
Supprimer un grand nombre d'objets dans une base
Fri 14 November 2014 • Tags: delete django massive raw sqlDans ce billet nous allons nous intéresser aux différentes méthodes utilisables pour supprimer un grand nombre d'objets dans une base de données PostgreSQL avec Django.
Le test est réalisé sur des tables contenant 100 000 lignes et la suppression représente environ 16% des lignes. Les différentes mesures sont réalisées sur …
Functions and scopes in Javascript
Mon 27 October 2014 • Tags: frontend javascriptFunctions and scopes in JS just need to be explained
Thou shalt polyfill
Mon 27 October 2014 • Tags: frontend polyfillPolyfills help your project move forward
Managing Node.js projects for pythonists
Wed 15 October 2014 • Tags: nodejs python toolingNode.js environment for python devs
Aller à l'essentiel avec only et defer
Mon 06 October 2014 • Tags: defer django only sqlAprès avoir étudié l'intérêt de la pagination par clé dans un récent article nous allons nous pencher cette fois sur les queryset et en particulier sur la méthode only()
Le bench est réalisé sur une table de 10 000 lignes, ce qui est peu mais déjà suffisant pour mettre en …
Paginator c'est bien, ... pour paginer
Thu 18 September 2014 • Tags: django offset paginator sqlAprès la lecture de l'excellent article de Markus Winnand intitulé no-offset dans lequel il décrit la pagination par clé j'ai réalisé un test pour mesurer l'impact de performance sur un cas réel. Django propose de base la classe Paginator pour faire de la pagination, l'implémentation de celle-ci utilise OFFSET lors …
Maintaining CHANGELOG
Fri 29 August 2014 • Tags: changelog git historyAt PeopleDoc, in our development workflow, many questions came about CHANGELOG: what to put in CHANGELOG? How to maintain CHANGELOG and make sure it stays up to date? How do releases affect CHANGELOG? ...
In this article, I'll try to share my experience on the topic, as a base for discussions …