3P by neo 2달전 | favorite | 댓글 1개
  • Apple의 DS_Store 기원

  • Mac 사용자이거나 Mac에서 Windows로 파일을 전송한 적이 있다면 .DS_Store 파일에 익숙할 것임

  • 이 이름의 기원은 1999년으로 거슬러 올라감

  • 당시 필자는 Apple에서 Mac OS X Finder의 기술 리더였음

  • Finder 코드 베이스는 8년이 되었고, 유용한 수명을 다했음

  • 변경을 가하려면 엄청난 엔지니어링 노력이 필요했고, 변경 시 두세 개의 관련 없는 기능이 깨지곤 했음

  • Mac OS X를 위해 Finder를 처음부터 다시 작성하기로 결정함

  • 작업의 일부는 사용자 인터페이스와 핵심 기능, 즉 백엔드를 분리하는 것이었음

  • Finder의 백엔드는 파일을 열거하고, 파일 시스템의 변경 사항을 감시하며, 메타데이터를 처리함

  • 내부적으로 이 두 구성 요소는 Finder_FE와 Finder_BE로 알려졌음 (Frontend와 Backend)

  • Finder 백엔드가 Finder 외부에서도 유용할 것이라는 것을 깨달음

  • 이를 공개 API로 만들 계획을 세움

  • 이전에 Icon Services와 Navigation Services의 명명을 담당했기 때문에 Desktop Services라는 이름을 선택함

  • .DS_Store는 "Desktop Services Store"의 약자임

  • Unix OS, 포함 Mac OS에서 보이지 않는 파일로 간주되도록 앞에 "."를 추가함

  • 개인적으로는 이 이름이 그다지 좋지 않다고 생각하며, 좀 더 설명적인 이름을 선택했으면 좋았을 것이라고 생각함

  • .DS_Store 파일의 과도한 생성으로 이어지는 버그가 아직도 수정되지 않았음

  • 사용자가 보기 설정을 조정하거나 폴더에서 아이콘의 수동 위치를 설정할 때만 생성되어야 함

  • 그러나 폴더를 방문하면 .DS_Store 파일이 생성되는 것이 보장됨

  • Finder_BE, 즉 Desktop Services는 Finder 외에도 사용됨

  • Navigation Services (열기/저장 대화 상자)도 이를 사용함

  • 그러나 Desktop Services API는 아직 완전히 공개되지 않았음


  • 2006년 10월 1일 발행
  • Arno Gourdol 작성

GN⁺의 의견

  • 이 글은 Mac OS X Finder의 역사와 .DS_Store 파일의 기원을 설명함으로써 기술적인 배경을 제공함
  • .DS_Store 파일의 과도한 생성 문제는 여전히 해결되지 않았으며, 이는 사용자 경험에 영향을 미칠 수 있음
  • Finder 백엔드의 재사용 가능성은 Apple의 소프트웨어 설계 철학을 보여줌
  • 유사한 기능을 가진 다른 파일 시스템 관리 도구로는 Windows의 NTFS와 Linux의 ext4가 있음
  • 새로운 기술이나 오픈 소스를 채택할 때는 기존 시스템과의 호환성 및 유지보수 문제를 고려해야 함
Hacker News 의견
  • Mac 파일 시스템의 "fork" 개념은 리소스와 데이터 구성 요소가 쌍으로 존재하는 것을 의미함

    • Unix에서는 메타데이터가 디렉토리 블록 inode에 있었고, tar, cpio, zip 등으로 구조적으로 표현되어야 했음
    • Unix에서 Mac 호환 파일 지원을 구현하려면 리소스 fork를 일급으로 취급해야 했음
    • 현대적인 파일 시스템은 더 큰 디렉토리 블록 구조를 가지고 데이터를 더 잘 처리할 수 있음
  • .DS_Store 파일 생성을 끄는 방법이 있었지만 제거되었음

    • .DS_Store 파일이 생성되자마자 삭제하는 프로그램을 작성했음
    • 프로그램 링크
  • .DS_Store 파일이 같은 폴더에 있어야 하는 이유를 이해하지 못함

    • 운영체제가 경로를 참조하는 자체 데이터베이스를 가질 수 있지 않음?
  • .DS_Store 파일은 사용자가 폴더의 보기 설정을 조정하거나 아이콘의 수동 위치를 설정할 때만 생성되어야 함

    • Finder에서 폴더를 방문하면 .DS_Store 파일이 거의 항상 생성됨
    • Finder에서 폴더 창의 모양과 크기를 사용자 정의할 수 있지만, 브라우저 창에서 동일한 폴더를 열면 이러한 사용자 정의가 대부분 사라짐
    • 기본 브라우저 창 구성을 설정할 수 없기 때문에 발생하는 문제임
  • 1999년에 이미 앱이 프론트엔드와 백엔드로 나뉘어 있었음

    • Finder_FE와 Finder_BE로 알려져 있었음
  • 네트워크 볼륨을 탐색할 때 .DS_Store 파일 생성을 기본적으로 끄는 방법을 언급할 가치가 있음

    • 그렇지 않으면 Finder를 사용하여 탐색할 때 디렉토리 수정 타임스탬프가 업데이트됨
    • 관련 링크
  • .DS_Store 파일을 볼 때마다 Nintendo DS가 생각남

  • Mac 사용자가 아닌 경우, Github에서 .tgz 파일을 다운로드할 때 .DS_Store 파일이 포함되어 있는 것이 다소 성가심

    • MacOS가 GNU tar를 사용하는 것 같음
    • 기본적으로 .DS_Store 파일을 무시하도록 수정되지 않은 것이 놀라움
  • MacOS의 열렬한 팬이지만 Finder는 가장 어리석은 파일 탐색기 중 하나임

  • DS Store 파일은 불행한 존재임

    • 목적이 있지만, 대부분의 사람들에게는 파일 쓰레기로 보임
    • UX 측면에서 Apple답지 않음
    • System 7.5/OSX와 Windows를 사용하면서 Mac이 불필요한 파일을 보여주지 않으려는 경향이 있었음