4P by neo 2023-09-10 | favorite | 댓글 1개
  • GNU coreutils 버전 8.3의 모든 코드를 해독하는 장기 프로젝트에 대한 기사
  • 명령줄 유틸리티 설계 탐색에 관심 있는 초보 프로그래머를 위한 프로젝트
  • 각 유틸리티별 전용 페이지 생성, 중요한 설계 결정과 알고리즘에 대한 논의 확장, 소스 코드 진화 시각화 도구 생성 등을 포함한 완료된 여러 단계로 나눠진 프로젝트
  • 각 유틸리티의 전용 페이지 링크, 상세한 논의, 소스 코드, 설명서를 제공하는 기사
  • 유틸리티의 성격, 설계, 코드 읽을 때 유의할 사항에 대해 논의하는 코드 읽기에 대한 배경 제공 기사
  • GNU coreutils가 원래 쉘, 텍스트, 파일 유틸리티용 세 개의 별도 패키지였으며, 같은 유형의 유틸리티가 많은 동일한 설계 패턴을 공유한다는 내용을 설명하는 기사
  • 플래그, 옵션, 로컬라이제이션 등을 위한 설정 단계, 실행 매개변수를 설정하기 위해 입력을 읽는 인수 파싱 단계, 하나 이상의 시스템 호출을 위한 입력 준비를 하는 처리/실행 단계를 포함한 대부분의 CLI 유틸리티의 기본 설계를 제공하는 기사
  • 유틸리티 초기화, Getopt를 이용한 파싱, fts를 이용한 파일 시스템 순회, 시스템 호출 래퍼 및 도우미, 공통 함수, 공통 코드 라인, C 관용구에 대한 상세한 설명을 제공하는 기사
  • 프로젝트 전체 변경, 유틸리티 특정 업데이트, 연간 유지보수를 포함한 유틸리티 유지보수에 대해 논의하는 기사
  • GNU 프로젝트 페이지 링크, 기여 가이드라인, 거부된 기능 목록 등 프로젝트에 기여하려는 사람들을 위한 정보를 제공하는 기사
  • 재미있는 사실과 유틸리티에 대한 통찰을 제공하는 트리비아와 흥미로운 구현에 대한 섹션으로 끝나는 기사
Hacker News 의견
  • 이 기사는 거의 30년 동안 많은 사람들에 의해 수정되어 온 GNU Coreutils의 장수와 확장성에 대해 논의하고 있다.
  • 30년 동안 존재해 온 프로그램이나 30년 동안 지속될 것으로 예상되는 프로그램의 예시를 요청하는 글이 있다.
  • 댓글에서는 GNU Coreutils가 어떻게 테스트되는지, Coreutils 명령어 각각을 탐구하는 방법, 그리고 GNU Coreutils를 이용한 커맨드 라인 텍스트 처리에 대한 자료 링크를 제공한다.
  • 기사에서 발견된 오류, 특히 shred 페이지의 짧은 설명이 실제로는 csplit의 설명이라는 점에 대한 정정이 있다.
  • 일부 사용자들은 yes, shred, shuf, factor와 같은 특정 유틸리티의 존재에 놀라움과 관심을 표현한다.
  • 초보 프로그래머가 데이터 구조와 알고리즘에 대한 이해를 향상시키기 위해 연구할 유틸리티에 대한 추천을 요청한다.
  • /bin/true가 실패하고 false를 반환할 가능성에 대한 유머스러운 관찰이 있으며, 이는 "Not /bin/false" 호출을 더욱 견고하게 만든다.
  • 재미있는 사실로, MacOS에서 Homebrew를 통해 Coreutils를 설치하면, MacOS가 이미 od(1)을 제공하기 때문에 Coreutils의 od는 god(1)로 설치된다.
  • 한 사용자는 이 사이트의 필요성을 의문시하며, 이러한 유틸리티 각각에 대한 man(또는 info) 페이지가 존재한다고 지적한다.