GNU/Linux Magazine Hors-série N°
Numéro
102

Scripts Shell : bonnes pratiques et techniques avancées

Temporalité
Mai/juin 2019
Image v3
Dossier : Scripts Shell
Article mis en avant

Résumé

Peu avant la fin de la rédaction de ce hors-série, un collègue, développeur depuis aussi longtemps que moi et certainement bien meilleur que moi en programmation Java, m’a demandé de l’aider à mettre en place une tâche de construction sur notre serveur d’intégration continue.

Dans ce numéro...


Pour être en accord avec l'air du temps, nous aurions pu choisir un autre titre pour ce hors-série et les articles qu'il contient.
Tout le monde connaît Unity3D [1], le moteur de jeu largement plébiscité par les développeurs sur diverses plateformes. Le langage utilisé est le C# et bien qu'utilisable avec Mono sous GNU/Linux, le projet n'est pas open source.
The Ray Tracer Challenge : A Test-Driven Guide to Your First 3D Renderer / Docker in Practice / Programming WebAssembly with Rust : Unified Development for Web, Mobile, and Embedded Applications / Bug - Livre 2
Lorsque l'on commence à apprendre à programmer, il faut bien débuter par un langage. La question cruciale est alors la suivante : quel langage employer ?
Les petits services Python, ce sont ces petits morceaux de code que l'on utilise ponctuellement... et que l'on oublie ! Pourquoi ne pas les organiser pour les réutiliser simplement ?
Ce hors-série a pour objectif de « booster vos scripts » afin de les rendre plus puissants, plus rapides, mais aussi plus robustes. Néanmoins, on ne peut pas jouer à la Formule 1, si la voiture n’a pas le bon châssis : il est donc nécessaire de commencer ce magazine par quelques sains rappels de bonnes pratiques et bonne conception de script, avant de pouvoir aller plus loin et surtout plus « vite » !
Comme le précédent article l’a rappelé, on peut facilement obtenir de nombreuses informations à l’aide de nombreux utilitaires disponibles sur un système « Unix ». Ces informations sont généralement fournies dans un format texte, souvent complet, mais quelque peu « brut ». Cet article va donc introduire l’une des commandes les plus puissantes du Shell : l’éditeur de flux de données à la volée sed.
Le précédent article de notre hors-série a évoqué en détail l’utilitaire sed. Nous allons maintenant nous intéresser à un outil similaire, mais surtout complémentaire, nommé awk. Celui-ci, à l’image de sed, permet aussi une manipulation du flux de données, mais propose une approche et une syntaxe très différentes. Comme le lecteur le comprendra rapidement, awk est un outil tout aussi puissant, dont les fonctionnalités s’ajoutent avec harmonie à celles de sed.
Lors du premier article, nous avons évoqué un ensemble de conventions et de techniques pour nous assurer du comportement d’un script lors de son exécution. Nous avons ensuite étudié en détail les possibilités, très avancées, de manipulation de flux de données à l’aide de sed et de awk. Cet article va maintenant nous donner l’occasion d’aller encore plus loin. Nous allons, en effet, y évoquer quelques techniques avancées de programmation et aussi recommander des outils bien précieux : Shellcheck et Bats.
Maintenant que nous avons fait le tour de nombreuses techniques assez avancées du Bash, tentons de les mettre en pratique au sein d’un exemple aussi détaillé et concret que possible.
Entretien avec Oliver Falk, responsable technique de compte chez Red Hat
Parmi les premières recherches effectuées sur l'Intelligence Artificielle figure la reconnaissance des chiffres manuscrits. La base d'étude utilisée par l'expert en IA Yann Le Cun pour ses travaux, et maintenant devenue une référence, est appelée base MNIST. Nous allons découvrir comment la récupérer, la manipuler et l'étudier.

Magazines précédents

Dossier : Big Data et Data Mining : analysez vos données !
GNU/Linux-Magazine Hors-série N°101
Big Data & Data Mining : analysez vos données !
Dossier : Deep Learning
GNU/Linux-Magazine Hors-série N°100
Deep Learning : de la théorie à la pratique
Dossier : Comprendre les attaques sur le WiFi
GNU/Linux-Magazine Hors-série N°99
Comprendre les attaques sur le Wifi
Dossier : Les conteneurs
GNU/Linux-Magazine Hors-série N°98
Comprenez enfin tout sur... les conteneurs !
Dossier : Les bonnes pratiques du développement sécurisé
GNU/Linux-Magazine Hors-série N°97
Les bonnes pratiques du développement sécurisé
Vision assistée par ordinateur avec OpenCV
GNU/Linux-Magazine Hors-série N°96
Vision assistée par ordinateur avec OpenCV

Les derniers articles Premiums

Les derniers articles Premium

Donnez une autre dimension à vos logs avec Vector

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Avoir des informations précises et détaillées sur ce qu’il se passe dans une infrastructure, et sur les applications qu'elle héberge est un enjeu critique pour votre business. Cependant, ça demande du temps, temps qu'on préfère parfois se réserver pour d'autres tâches jugées plus prioritaires. Mais qu'un système plante, qu'une application perde les pédales ou qu'une faille de sécurité soit découverte et c'est la panique à bord ! Alors je vous le demande, qui voudrait rester aveugle quand l'observabilité a tout à vous offrir ?

Du graphisme dans un terminal ? Oui, avec sixel

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

On le voit de plus en plus, les outils en ligne de commandes s'étoffent peu à peu d'éléments graphiques sous la forme d'émojis UTF8. Plus qu'une simple décoration, cette pointe de « graphisme » dans un monde de texte apporte réellement un plus en termes d'expérience utilisateur et véhicule, de façon condensée, des informations utiles. Pour autant, cette façon de sortir du cadre purement textuel d'un terminal n'est en rien une nouveauté. Pour preuve, fin des années 80 DEC introduisait le VT340 supportant des graphismes en couleurs, et cette compatibilité existe toujours...

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Body