함께한 대화
빈 팔레트도 이미 하나의 결정이라면
편집기가 받아들인 색은 모두 유효하다고 가정해 봐요. 여기서 생각할 문제는 사용자가 무엇을 결정했는지뿐이에요. 새 견본 편집을 시작하면 아직 입력한 팔레트가 없어요. 사용자가 비우기를 선택하고 파란색을 추가했다가 다시 지워요…
문법보다 실패 후의 실행 흐름을 먼저 정해요
작은 Python 애플리케이션이 측정값과 가중치를 동시에 가져온 뒤 하나의 점수로 합친다고 해 봐요. 한쪽에서 예외가 발생했는데 다른 쪽은 아직 실행 중이에요. 언어마다 동시 실행을 어떻게 표현하는지 비교하기 전에, 이 계산…
이 큐에 개수를 캐시하는 필드가 필요할까요?
큐를 하나의 불변 OCaml 리스트로 표현하고, 갱신할 때마다 새 큐를 반환한다고 가정해 볼게요. 호출 측은 List.length items 8을 반복해서 확인해요. 정확한 개수를 함께 저장할지, 임계값을 넘는지 묻는 연산을…
판별 유니온은 응답 검사가 끝난 뒤부터 시작해요
외부 응답은 바이트로 들어와요. 그때는 애플리케이션이 특정 변형이라고 부를 근거가 아직 없어요. 가상의 클라이언트에서는 먼저 텍스트 디코딩과 JSON 파싱을 하고, 각각의 실패 경로를 처리해요. 파싱한 값은 그다음 검증 단계…