- Article sur un projet de longue haleine visant à décoder tout le code de GNU coreutils version 8.3
- Projet destiné aux programmeurs débutants intéressés par l’exploration de la conception des utilitaires en ligne de commande
- Projet divisé en plusieurs étapes déjà accomplies, notamment la création d’une page dédiée pour chaque utilitaire, l’extension des discussions sur les décisions de conception importantes et les algorithmes, ainsi que la création d’outils de visualisation de l’évolution du code source
- Article fournissant des liens vers les pages dédiées de chaque utilitaire, des discussions détaillées, le code source et la documentation
- Article fournissant un contexte pour la lecture du code, en discutant de la nature des utilitaires, de leur conception et des points auxquels prêter attention lors de la lecture du code
- Article expliquant que GNU coreutils était à l’origine composé de trois paquets distincts pour le shell, le texte et les utilitaires de fichiers, et que de nombreux utilitaires du même type partagent les mêmes modèles de conception
- Article présentant la conception de base de la plupart des utilitaires CLI, incluant une étape de configuration pour les flags, options, localisation, etc., une étape d’analyse des arguments qui lit les entrées pour définir les paramètres d’exécution, et une étape de traitement/exécution qui prépare les entrées pour un ou plusieurs appels système
- Article offrant des explications détaillées sur l’initialisation des utilitaires, le parsing avec Getopt, le parcours du système de fichiers avec fts, les wrappers et helpers d’appels système, les fonctions communes, les lignes de code communes et les idiomes C
- Article discutant de la maintenance des utilitaires, y compris les changements à l’échelle du projet, les mises à jour spécifiques aux utilitaires et la maintenance annuelle
- Article fournissant des informations à ceux qui souhaitent contribuer au projet, notamment un lien vers la page du projet GNU, les consignes de contribution et une liste des fonctionnalités refusées
- Article se terminant par une section de trivia et d’implémentations intéressantes, offrant des faits amusants et des éclairages sur les utilitaires
1 commentaires
Commentaires Hacker News
shredest en réalité celle decsplit.yes,shred,shufetfactor./bin/trueéchoue et renvoie false, ce qui rend l’appel à "Not /bin/false" encore plus robuste.odde Coreutils est installé sous le nomgod(1), car MacOS fournit déjàod(1).