키를 정렬했는데 왜 다른 키가 움직였죠? JSON 재배치 CLI의 안전한 --inplace
요구사항은 처음에 아주 짧았습니다. 예를 들어 원본이 다음과 같다고 하겠습니다. 요청 순서는 ['d', 'b']입니다. 결과를 어떻게 예상하시나요? 저는 처음에 이런 “선택 key를 앞으로 모으는 정렬”을 떠올릴 수 있다고 봤습니다. 하지만 실제 요구는 달랐습니다. 배열에 없는 key는 원래 자리에 남아야 했습니다. 따라서 결과는 이것입니다. a와 c는 움직이지 않았습니다. 원래 b와 d가 차지하던 두 자리 안에서만 d, b 순서로 바뀌었습니다. 작은 차이처럼 보이지만 algorithm도, test도, CLI의 안전성도 여기서 갈립니다. “key를 정렬한다”는…