4 ポイント 投稿者 GN⁺ 2023-09-10 | 1件のコメント | WhatsAppで共有
  • GNU coreutils バージョン 8.3 の全コードを解読する長期プロジェクトに関する記事
  • コマンドラインユーティリティ設計の探究に関心がある初心者プログラマー向けのプロジェクト
  • 各ユーティリティごとの専用ページ作成、重要な設計判断とアルゴリズムに関する議論の拡張、ソースコード進化の可視化ツール作成などを含む、完了した複数の段階に分かれたプロジェクト
  • 各ユーティリティの専用ページへのリンク、詳細な議論、ソースコード、説明書を提供する記事
  • ユーティリティの性格、設計、コードを読む際の注意点について議論する、コード読解の背景を提供する記事
  • GNU coreutils が元々シェル、テキスト、ファイルユーティリティ向けの 3 つの別個のパッケージであり、同種のユーティリティの多くが同じ設計パターンを共有していることを説明する記事
  • フラグ、オプション、ローカライゼーションなどのための設定段階、実行パラメータを設定するために入力を読む引数解析段階、1 つ以上のシステムコールに向けた入力準備を行う処理/実行段階を含む、ほとんどの CLI ユーティリティの基本設計を提供する記事
  • ユーティリティ初期化、Getopt を用いた解析、fts を用いたファイルシステム走査、システムコールのラッパーおよびヘルパー、共通関数、共通コードパス、C のイディオムに関する詳細な説明を提供する記事
  • プロジェクト全体の変更、ユーティリティ固有の更新、年次メンテナンスを含むユーティリティ保守について議論する記事
  • GNU プロジェクトページへのリンク、貢献ガイドライン、却下された機能一覧など、プロジェクトに貢献したい人のための情報を提供する記事
  • 面白い事実やユーティリティに関する洞察を提供するトリビアと、興味深い実装に関するセクションで締めくくられる記事

1件のコメント

 
GN⁺ 2023-09-10
Hacker Newsの意見
  • この記事は、約30年にわたり多くの人々によって修正されてきた GNU Coreutils の長寿性と拡張性について論じている。
  • 約30年間存在してきたプログラム、あるいは今後30年続くと予想されるプログラムの例を求める投稿がある。
  • コメントでは、GNU Coreutils がどのようにテストされているのか、各 Coreutils コマンドをどう探究すればよいか、そして GNU Coreutils を使ったコマンドラインのテキスト処理に関する資料へのリンクが提供されている。
  • 記事内で見つかった誤り、特に shred ページの短い説明が実際には csplit の説明であるという指摘と訂正がある。
  • 一部のユーザーは、yesshredshuffactor のような特定のユーティリティの存在に驚きや関心を示している。
  • 初心者プログラマーがデータ構造とアルゴリズムへの理解を深めるために、どのユーティリティを調べるべきかという推薦を求める声がある。
  • /bin/true が失敗して false を返す可能性についてのユーモラスな指摘があり、それによって "Not /bin/false" 呼び出しがより堅牢になる。
  • 面白い事実として、macOS で Homebrew を通じて Coreutils をインストールすると、macOS がすでに od(1) を提供しているため、Coreutils の od は god(1) としてインストールされる。
  • あるユーザーはこのサイトの必要性に疑問を呈し、こうした各ユーティリティにはそれぞれ man(または info)ページが存在すると指摘している。