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

Cryptographie : débuter par la pratique grâce à picoCTF

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

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

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.

Raspberry Pi Pico : PIO, DMA et mémoire flash

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

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Body