Deux programmeurs qui se sortent les doigts du code
J'ai reçu un email étrange me signalant des pastes sur 0bin.net comme étant pédophiles et de demandant de les retirer.
Sous beaucoup d'OS, tous les ports d'un nombre inférieur à 1024 ne peuvent pas être utilisés par des serveurs sans avoir les privilèges administrateurs. Néanmoins, on a pas vraiment envie que son app bricolée un lendemain de cuite soit lancée en root, pour que la moindre faille de sécurité donne l'accès total à son système.
Après l'article d'hier, j'ai regardé le code source de requests-futures pour voir si je pouvais pas faire la même chose pour Twisted.
En attendant le dossier sur la programmation non bloquante, voici une petite lib qui résout un cas décole : faire une requête HTTP sans bloquer avec une jolie API, en pur Python.
Plus on code, plus on oublie ce que c’était quand on a débuté. Même moi, et pourtant je fais un gros effort pour essayer de me replonger dans cet état d’esprit. Dernièrement j’ai eu plusieurs interactions qui m’ont mis un petit taquet derrière la tête : - “Mec, les exceptions, y a plein de personnes […]
A chaque fois que je vais donner des sous, je vais écrire un article pour dire à qui, combien, et pourquoi.
Après un peu de rodage, IndexError est sur les rails : design amélioré, meilleur perfs, workflow plus clair, etc. Néanmoins on a été très surpris avec Max : la plupart des utilisateurs n'ont aucune idée de comment on s'en sert.
Malgré les critiques, j'aime beaucoup AngularJS. Mais à l'annonce de la version 2 d'Angular complètement incompatible avec la version 1, seulement quelques années après sa sorties, des questions se sont posées sur l'avenir du framework.
L'implémentation de référence de Python est écrite en C, et son API est exposée et bien documentée. Il est donc possible de créer des objets Python, charger un module Python ou exécuter une fonction Python depuis un code C et compiler tout ça.
Tout le monde connait le fichier __init__.py, mais __main__.py
est moins connu.
Le duck typing, qu’on pourrait traduire par “typage canard” mais on ne le fera pas parce que c’est très moche, est une manière de créer des APIs basée sur la philosophie que l’aspect pratique est plus important que la pureté du code. L’idée est de créer des signatures de callable qui acceptent des paramètres en […]
Ceci est un post invité de Bussiere posté sous licence creative common 3.0 unported. Ce petit article a pour but d’expliquer selon moi ce qu’est l’hypnose et comment cela agit pour moi comme un exhausteur de gout pour la domination / sexe. L’hypnose de mon point de vue est un hack du cerveau, il revient […]
Il est courant de vouloir installer plusieurs versions de Python. Pour faire des tests, pour s'assurer que son code est portable, pour utiliser des libs qui marchent uniquement sur une des versions, etc. Or, depuis la version 3.3, l'installeur de Python installe la commande py sous Windows, qui permet de choisir quelle version de Python on lance.
Vous aimez pdb parce que c’est cool. Et vous adorez pdbpp parce que c’est trop cool. Mais parfois vous n’avez pas accès à une console sur votre process : il est derrière un nginx, ou même sur une machine distante. rpdb vient résoudre ce problème en lançant un serveur telnet qui donne accès à votre […]
La migration de serveur est terminée. Le blog, le multiboards, IndexError et 0bin on été rétablis. On en a profité pour remettre sur pied AllThatCounts qui avait été délaissé durant le dernier crash.
Qui n'a jamais rêvé d'avoir un shell Unix un peu plus pythonic ? Les oneliners en sed et Awk bien chiadés, c'est l'apanage des grands barbus en sandales et ça déchire, mais ça reste cryptique et la manipulation de liste et de chaînes de caractères est tout de même limitée.
On peut utiliser WAMP, directement
dans Django.
Les distros Linux récentes viennent souvent avec des surcouches de protections type policykit, apparmor, SELinux, etc. Tout ça est bien loin de la simplicité de la notion user/group et leurs permissions, et peut mener à un arrachage de cheveux en règle.
J'ai beau régulièrement pointer vers la section Cours et tutos, je sens bien que les gens n'en bénéficient pas autant qu'ils le devraient. Une des raisons est la quantité d'info à lire. Ok, voici donc une sélection d'articles, qui ne sont pas forcément orientés débutants. Ce sont les trucs à maîtriser. Pas tout de suite. Pas tout d'un coup. Mais au final, un programmeur Python doit savoir ça.
Il y a des tas de manières d'indiquer la version d'un logiciel. Ubuntu utilise l'année et le mois, à l'envers : la 14.04 indique une version sortie en avril 2014. Avant la 1.2, angular utilisait les versions paires pour signifier la stabilité, et impaire pour l'instabilité. Quelques projets utilisent des numéros de branche Git ou Svn. Certains utilisent des noms du genre "kangourou-cosmique" pour marquer le coup. Et d'autres mélangent plusieurs techniques. En Python, la méthode recommandée est nommée SemVer, pour Semantic Versioning.