Les articles de GNU/Linux Magazine N°193

La complexité est un problème auquel tout développeur est confronté un jour ou l’autre et autant que ce soit le moins souvent possible ! La complexité ? Non, je ne parle pas de complexité algorithmique qui est nécessaire et permet d’optimiser le code.
La première version officielle de production du langage de programmation Perl 6 est sortie fin décembre 2015. Perl 6 reste dans l'esprit de Perl, et sa syntaxe présente de fortes ressemblances avec les versions antérieures de Perl, mais c'est véritablement un nouveau langage, résolument moderne et d'une puissance expressive sans précédent.
Écrire du code, c'est ce que nous faisons. Mais pensons-nous au futur quand nous l'écrivons ? Ne devrions-nous pas ? Qu'est-ce qui fait que notre code sera ou ne sera pas maintenable et comment améliorer les choses ?
Alors que le recours à l'ordinateur pour calculer toujours plus vite, modéliser toujours plus finement est inscrit dans une logique de progrès, il paraît indispensable de comprendre comment sont effectués ces calculs pour garder un regard critique sur la qualité des résultats qui ne sont qu'une approximation (plus ou moins bonne) des vraies valeurs. Comment sont stockés les réels, comment sont effectués les calculs, d'où viennent les erreurs de précision, peut-on les contenir ? Vous l'apprendrez en lisant cet article et sa suite.
Vous en avez assez de voir des codes QR sans comprendre leur fonctionnement ? Voici comment lire leur contenu, qu’il soit entaché d’erreurs ou non et comment en créer.
Après les présentations de l’article précédent, on continue notre voyage en lisant l’image du code QR pour la traduire en un tableau de 0 et de 1.
Profitez des tarifs très abordables des serveurs dédiés Linux pour installer un serveur X et un bureau complet accessibles en permanence depuis votre tablette, votre laptop, le PC d'un ami...
Le but de cet article est de faire les modifications nécessaires afin de rendre Tomcat « clusterisable » en mode stateless pour des applications Java Rich Internet Application. Au menu de l'article, on ouvrira le ventre d'un serveur J2EE pour faire les modifications indispensables au processus de sauvegarde de session.
Quels fichiers de configuration ont été modifiés, quels paquets ont été installés ? Nous allons voir comment, avec l'outil etckeeper, nous pouvons obtenir les réponses à ces questions.
Si vous rédigez des articles pour GNU/Linux Magazine France, vous en avez peut-être assez d’utiliser OpenOffice/LibreOffice et de passer plus de temps à vous battre avec l’éditeur pour ajouter des styles à votre article, plutôt que dans la rédaction propre de l’article. Je vous propose de découvrir un thème Asciidoctor que j’ai créé et qui va vous permettre de rédiger dans votre éditeur de texte préféré votre article au format Asciidoc, pour le générer au format ODT attendu par l’équipe de rédaction du magazine. Et même si vous n’avez jamais écrit d’article, peut-être que cet article vous mettra le pied à l’étrier, ou plus simplement vous donnera des idées pour utiliser Asciidoc pour créer votre thème personnalisé Asciidoctor pour générer vos propres documents.
Vous avez testé la recette précédente pour générer un article à partir d'un fichier source Asciidoctor et vous aimeriez savoir comment écrire votre propre thème Asciidoctor pour générer vos documents personnalisés.
Dans le précédent article, notre héros, le Lisp, a fait l’objet d’un rappel de ses innombrables qualités. Inspirés par ce modèle,  nous avons présenté rapidement le caractère modulaire que nous souhaitions donner à notre langage, puis décrit la structure de données contenant le code parsé, et enfin écrit un parseur récursif descendant. Tout ça n’est pas très utile. Nous allons remédier à ça en ajoutant un interpréteur à notre langage.
Lors du développement d'une application mobile Android, on est souvent confronté au choix du Context afin d'initialiser tel ou tel composant; cela peut être une vue, un adapter etc. Il existe plusieurs Context mis à notre disposition par le framework Android; essayons de voir ensemble quel Context utiliser suivant la situation dans laquelle on pourrait se retrouver :-)