TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 25 READS

잘라내기(Cut)는 왜 40년째 위험한 기능일까 — '고스트 컷'이라는 대안

잘라내기(Cut)는 왜 40년째 위험한 기능일까 — '고스트 컷'이라는 대안

여러분, 혹시 이런 경험 있으세요? 문서에서 문단 하나를 잘라내기(Ctrl+X) 하고, 붙여넣을 자리를 찾다가 잠깐 다른 걸 복사했는데... 아까 잘라낸 내용이 흔적도 없이 사라져 버린 경험이요. 터미널 UI 프레임워크 'Textual'을 만든 Textualize 팀이 블로그에서 바로 이 문제를 정면으로 다뤘는데요. 결론부터 말하면, 우리가 40년 넘게 당연하게 써온 '잘라내기-붙여넣기'는 설계 자체에 결함이 있고, 이걸 고칠 방법으로 '고스트 컷(Ghost Cut)'이라는 아이디어를 제안했어요.

잘라내기가 위험한 이유

잘라내기가 뭐가 문제냐면요, 동작 순서가 거꾸로 되어 있다는 거예요. 지금의 잘라내기는 '일단 삭제부터 하고, 삭제된 내용을 클립보드라는 임시 보관함에 넣어두는' 방식이거든요. 그런데 이 클립보드라는 게 생각보다 훨씬 불안정한 공간이에요. 딱 한 칸짜리 보관함이라서 다른 걸 복사하는 순간 이전 내용이 덮어써지고, 앱이 죽거나 컴퓨터가 꺼져도 날아가요. 즉, 붙여넣기가 끝나기 전까지 여러분의 소중한 데이터는 언제 사라져도 이상하지 않은 '허공'에 떠 있는 셈이에요.

프로그래밍 개념으로 표현하면 클립보드는 '전역 가변 상태(global mutable state)'예요. 어떤 앱이든 아무 때나 읽고 쓸 수 있는 전역 변수 하나를 온 시스템이 공유하는 구조인 거죠. 우리가 코드 리뷰에서 전역 변수를 그렇게 싫어하면서, 정작 매일 쓰는 OS의 핵심 기능이 이 구조라는 게 아이러니하죠.

사실 파일 탐색기는 이미 해법을 알고 있었어요

재미있는 건, 이 문제의 해법이 이미 우리 곁에 있다는 거예요. 윈도우 탐색기에서 파일을 잘라내기 하면 어떻게 되죠? 파일이 바로 삭제되지 않고, 아이콘이 반투명하게 흐려지기만 해요. 실제 이동은 붙여넣기를 하는 순간에 일어나고요. 중간에 마음이 바뀌어서 ESC를 누르거나 다른 파일을 복사하면, 흐려졌던 파일은 아무 일 없었다는 듯 원래대로 돌아와요. 파괴적인 작업(삭제)을 마지막 순간까지 미루는 거죠.

'고스트 컷'은 바로 이 방식을 텍스트 편집에도 적용하자는 제안이에요. 잘라내기를 누르면 텍스트가 사라지는 대신 유령처럼 흐릿하게 표시만 되고, 실제 삭제는 붙여넣기가 성공하는 순간에 일어나는 거예요. 이렇게 하면 '잘라냈는데 붙여넣기 전에 날려먹는' 사고 자체가 구조적으로 불가능해져요.

macOS의 Finder에 파일 잘라내기가 아예 없는 것도 같은 고민의 결과인데요. 대신 복사(Cmd+C)한 다음 '옮기기'(Cmd+Option+V)를 하도록 되어 있어요. 원본을 먼저 지우는 일이 절대 없도록 순서를 바꾼 거죠.

이게 우리한테 왜 중요하냐면

이 이야기는 단순히 편집기 기능 하나에 대한 얘기가 아니라, UX 설계의 중요한 원칙을 담고 있어요. 바로 '파괴적인 작업은 최대한 뒤로 미루고, 되돌릴 수 있게 만들어라'는 원칙이요. 실무에서도 그대로 적용되는데요. 삭제 버튼을 누르면 바로 지우는 대신 휴지통에 보관하는 것, 데이터베이스에서 soft delete(실제로 지우지 않고 삭제 표시만 하는 것)를 쓰는 것, 배포할 때 바로 교체하지 않고 롤백 가능한 블루-그린 배포를 하는 것. 전부 같은 철학이에요.

여러분이 지금 만들고 있는 서비스에도 물어볼 수 있어요. '사용자가 실수했을 때 되돌릴 수 있나?' 만약 어떤 버튼 하나로 데이터가 즉시, 영구히 사라진다면 그 설계는 다시 생각해볼 만해요. 사용자는 반드시 실수하거든요. 실수를 막는 게 아니라, 실수해도 괜찮은 시스템을 만드는 게 좋은 설계예요.

마무리

핵심 한 줄: 40년 된 잘라내기-붙여넣기도 다시 뜯어보면 개선할 지점이 나온다는 것, '원래 그런 것'으로 여겨지는 기능일수록 의심해볼 가치가 있다는 거예요. 여러분은 잘라내기 하다가 데이터 날려본 적 있으세요? 그리고 매일 쓰는 도구 중에 '이건 진짜 왜 이렇게 만들었지?' 싶은 기능이 있다면 어떤 게 떠오르세요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://ishmael.textualize.io/blog/ghost-cut/
SHARE
처리 중...