Nouvelle config iPython

Photo des actdeurs jouant les avengers à la pause déjeuner.

J’ai bricolé une config pour iPython dernièrement. Rappelez-vous, on peut complètement customiser ce shell.

Voici ce que j’ai dans mon ./.config/ipython/profile_default/ipython_config.py

La suite

Qu’est-ce qu’un callable en Python ?

Photo d'un homme qui se fait traire comme une vache

Un callable, qu’on peut traduire maladroitement par “appelable”, est un objet qui peut être appelé. Et ça ne vous arrange pas beaucoup de savoir ça.

On parle de callable dans les tutos, les docs, etc, en supposant que vous savez ce que ça veut dire.

En fait c’est très simple, si vous pouvez mettre deux parenthèses après le nom d’un objet pour obtenir un effet, alors l’objet est un callable.

La suite

Les imports en Python

Photo d'un homme sodomisant une poupée

Un jour vous avez du écrire votre propre module. Vous n’aviez pas vraiment réfléchi à la question. C’était juste une petite lib pour regrouper des fonctions. Ou juste une app Django. Un truc tout simple. Mais les imports ont soudainement cessé de devenir clairs. Ça ne marchait pas. Rien ne marchait. Vous aviez des sys.path.append partout juste au cas où et c’était encore pire.

Vous avez donc décidé de vous remettre à PHP, au moins le include utilise les chemins de fichiers, et ça, c’est facile.

La suite

Faire cohabiter plusieurs versions de jQuery

Photo comparant le même poids en graisse et en muscle.

jQuery est très bien foutu, non content de permettre d’utiliser des libs concurrentes utilisant la même API avec noConflict() (c’est beau l’open source quand même), elle permet également d’utiliser en même temps une version plus récente ou plus ancienne de son code, facilitant les migrations.

La suite

Socket en Python

Photo d'un enfant violoniste en larmes

Python est un langage de haut niveau, ce qui fait qu’on a rarement besoin de taper directement dans les interface de couches basses comme les sockets : on utilise des abtractions comme urllib et consort.

Même quand on doit communique directement des paquets de données, on préférera utiliser des solutions comme zeroMQ, bien plus fiables et faciles à mettre en œuvre.

Cela étant dit, pour la culture G, ça ne fait pas de mal d’avoir un petit hello world des sockets en Python.

La suite

Ajouter une route au urls.py de Django durant les tests

Cette image illustre ce que je ressent quand je ne trouve pas d'article décrivant ce genre d'astuces quand j'en ai besoin

Créer des routes dans l’urlconf juste pour les tests unitaires n’est pas très propre, heureusement on peut utiliser des urls de test complètement séparées.

La suite

Redshift / F.lux pour éviter de s’exploser le yeux devant l’ordi

Bien fixer la lueur pendant 10 minutes

Si vous programmez du matin au soir ou que vous passez beaucoup de temps devant l’ordinnateur ce logiciel est fait pour vous.

La suite

Appeler du code C depuis Python avec ctypes

Photo d'une affiche de pub dont le slogan est "une femme, une pipe, un pull".

On vous a dit et répété que Python c’était un super langage de glu et que ça pouvait très facilement s’interfacer avec les binaires produits par du C. Mais jusqu’à quel point ?

La suite

Paramètres par défaut pour la commande py.test

Photo d'une file de panneau d'avertissement pour sol glissant

Je ne fais plus de tests unittaires sans pytest, et je me retrouve souvent à rentrer les mêmes paramètres de la commande encore et encore. Parfois, quand j’autilise des wrappers tels que django-pytest et pytest-django (ça s’invente pas), je ne peux même pas passer d’arguments directement à py.test.

On peut y remedier en créer un fichier de config à la racine du projet.

La suite

Savoir si une page est en cache avec Varnish

Dans le mille émile!

Petite astuce pour savoir si Varnish fait bien son boulot. L’affichage dans les Headers d’un debug permettant de savoir si votre page a bien été servit depuis le cache plutôt que le backend.

La suite