본문 바로가기
C.W.K.
Stream
Lesson 04 of 04 · published

고정된 화면이 플러그인보다 낫다

~11 min · fixed-surfaces, reuse, window-model

Level 0Finder 에서 헤매는 중
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"계층 네 개를 같이 쓰는 기능 여섯 개는 제품이야. 각자 엔진을 가진 기능 여섯 개는 늪이고."

화면 생김새부터

추상적인 얘기 전에 창부터 그려보자. 위엔 손댈 수 있는 툴바. 왼쪽엔 접히는 레일이 있고, 선택 바구니가 위에, 그 아래로 장치·공유 볼륨·즐겨찾기·최근 항목이 늘어선 사이드바가 있어. 그다음이 본체야. Pane A 와 Pane B, 각각 탭 줄과 경로 표시, 목록이나 아이콘 보기, 크기 조절되는 Preview/Info 칸을 따로 가져. 활성 페인은 항상 하나고, 페인마다 활성 탭도 하나야. 이 배치는 고정이야. 스스로 재배열되지도 않고, 사용자가 패널을 갖다 붙일 수도 없어.

기능 여섯, 계층 넷

1.x 에서 기능 여섯 개가 붙어. 사이드바 손질, 창 배치 프리셋, 여러 개 이름 바꾸기, 선택 바구니, 용량 브라우저, Finder 태그 편집. 이게 번지지 않게 잡는 규율은 이거야. 여섯 다 똑같은 계층 네 개를 갖다 쓰는 손님이다. 작업 공간, 위치 참조, 폴더 읽기, 그리고 파일 처리 엔진. 자기 엔진을 새로 만드는 기능은 하나도 없어.

그래서 뭐가 좋아지나

이름 바꾸기는 자기 방식을 발명하지 않고 평범한 작업 계획을 제출해. 선택 바구니는 바이트를 옮기지 않고 위치만 순서대로 기억해. 용량 브라우저는 두 번째 목록을 만들지 않고 취소할 수 있는 스캔 결과만 뽑아. 프리셋은 폴더 내용을 저장하지 않고 위치만 찍어둬. 전부 같은 계층을 지나니까, 엔진에서 버그 하나를 고치면 여섯 기능이 한꺼번에 고쳐져. 그리고 어느 기능도 엔진이 못 막는 방식으로 파일을 잃을 수가 없어.

새로 붙는 화면도 기존 경계를 그대로 물려받는다. 기능은 작업 공간·위치·폴더 읽기·파일 처리 계층을 다시 써서 자리를 얻지, 갈라 써서 얻지 않아. 앞으로 뭘 더할 때 던질 질문은 하나야. 두 번째 목록이나 두 번째 처리 경로, 모듈 생명주기를 만드나? 그렇다면 아무리 쓸모 있어 보여도 안 넣어.
트랙 클리어. 원칙(겉모습보다 안전함), 자리(파일 작업대, 자기 브레인 없음), 범위(쓸모 있는 30%), 재사용 규율(고정된 화면, 계층 넷)까지 손에 넣었어. 이 뒤로는 전부 '파일 하나도 안 잃는다' 를 참으로 만드는 장치들이야.

Code

고정된 창 배치·text
  +----------------------------------------------------------+
  |  toolbar: navigation / view / dual + inspector / actions |
  +--------+-------------------------+-----------------------+
  | basket |  Pane A                 |  Pane B (collapsible) |
  | -------|  tab strip + breadcrumb |  tab strip + bcrumb   |
  | source |  list or icon browser   |  list or icon browser |
  | list   |  Preview / Info dock    |  Preview / Info dock   |
  +--------+-------------------------+-----------------------+

  One pane active. One tab active per pane. Geometry is fixed.
1.x 기능은 갖다 쓰지 갈라 쓰지 않아·text
  FAMILY                 REUSES (never a new engine)
  ------                 ---------------------------
  workspace presets      workspace + location refs
  Batch Rename           operation engine (normal plans)
  Selection Basket       ordered location references
  Size Browser           enumeration (cancellable scan)
  tags / color labels    operation engine (metadata plans)
  source-list ergonomics workspace + mount observation

  Zero new mutation paths. Zero module lifecycles.

External links

Exercise

Waygate 에 있으면 좋겠다 싶은 일곱 번째 기능을 설계해봐. 그다음 테스트를 돌려. 작업 공간·위치·폴더 읽기·파일 처리 계층만으로 만들 수 있어, 아니면 새 엔진이 필요해? 새 엔진이 필요하다면 필요 없어질 때까지 다시 설계하거나, 이 앱엔 안 맞는다고 결론 내려.
Hint
쓸 만한 파일 관리자 기능은 대부분 폴더 읽기와 저널을 갖다 쓰는 새 손님으로 풀려. '최근에 옮긴 것' 목록, 중복 찾기, 빠른 필터 같은 거. 테스트에 걸리는 건 플러그인 로더나 내장 터미널 쪽이고, 그게 정확히 안전을 무너뜨릴 기능들이야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인 — 댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.