배치(batch)마다 성장한 필드는 잘못된 것이었다
요약
작업 아이디어 레지스트리를 구축하는 과정에서 필드가 배치(batch)마다 성장하며 발생하는 데이터 구조적 문제를 다루고 있습니다. 초기에는 'categoria'와 같은 분류 필드가 여러 번의 로딩을 거치며 주제, 프로젝트, 작업 유형 등 다양한 정보를 혼합하게 되었습니다. 결국 이 문제는 스키마 변경과 값 이동을 통해 해결되었으며, 이는 개발 과정에서 데이터 구조를 설계하고 관리하는 중요성을 강조합니다.
핵심 포인트
- 배치별로 성장한 필드는 데이터 일관성 문제를 야기할 수 있습니다.
- 분류 축(classification axes)은 작업 내용을 그룹화하는 데 유용하지만 관리가 필요합니다.
- 스키마 변경과 값 이동을 통해 데이터 구조의 혼란을 해결했습니다.
- 데이터 설계 시, 필드의 확장 방식과 목적을 명확히 정의해야 합니다.
오늘 계획 세션 레지스트리에는 118개의 세션이 있는데, 그중 어느 것도 categoria(카테고리)라는 분류 필드를 가지고 있지 않습니다. 이 필드는 제가 일주일 전에 오후에 로드하면서 가장 많이 성장한 필드입니다. 제가 실수로 삭제한 것이 아닙니다. 저는 그것을 대체했고, 제가 그것을 생성했던 세션 자체가 이미 왜 그런지 경고해 주었습니다.
한 오후에 89개의 세션
9월 25일, 오후 1시 51분부터 5시 28분 사이에 저는 느슨하게 번호가 매겨진 작업 아이디어 목록을 레지스트리로 만들었습니다. 이 프로젝트에는 스프린트(sprints), 로드맵(roadmap)이나 마감 기한이 없었습니다. 저는 그것을 여덟 번의 패스(passes)를 거쳐 로드했습니다: 첫 번째는 36개의 세션을 남겼고, 마지막은 89개였습니다.
저는 분류 축(classification axes)을 처음부터 설계하지 않았습니다. 각 배치마다 하나의 축이 생겨났기 때문입니다. 축이란 주제나 프로젝트처럼 작업 내용을 그룹화하는 필드입니다. 폐쇄된 어휘(closed vocabulary)는 라이브러리 카테고리와 같이 가능한 값의 목록이 고정된 필드를 말하며, 이는 정확히 성장하지 않기 때문에 유용합니다. 만약 모든 새로운 배치가 이 필드의 값을 추가한다면, 그것은 정렬을 멈추고 설명하기 시작합니다.
categoria와 tags는
9월 30일, 94개의 세션이 로드되면서 기록된 결정은 categoria가 주제(topic), 프로젝트(project), 작업 유형(type of work)의 세 가지를 혼합한다는 것이었습니다. 이에 따라 tipo(유형) 필드가 이를 대체했습니다. 이 필드는 스키마에서 브레이킹 체인지(breaking change)로 제거되었고, 그 값은 손실 없이 tags로 이동했습니다.
오늘날에는 118개의 세션이 있으며, 8개는 완료되었고, categoria가 없는 것은 없습니다. 첫 번째 스프린트는 6개의 세션으로 시작하여 현재 32개가 되었습니다. 지연된 것은 단 하나의 질문에 답하는 축들이었고, 매 배치마다 성장했던 것이 혼합을 수행하고 있었습니다.
'닫힌(closed)' 필드가 로드될 때마다 새로운 값을 요구한다면, 그것을 확장할 것인가 아니면 무엇을 혼합하고 있는지 스스로에게 물어볼 것인가요?
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기