거주 이력을 timeline.json으로 정리하는 법
거주 국가·지역 타임라인을 그리려면 데이터가 필요하다. 이 글은 흩어진 기록을 timeline.json 한 파일로 모으는 과정을 정리한다.
1. 뼈대부터
파일의 최상위 구조는 이렇게 생겼다.
{
"birth": "1994-03",
"expectedAge": 100,
"places": []
}
birth는 출생 연-월이다. expectedAge는 격자에 그릴 칸 수이고, 생략하면 화면 입력값이나 기본 100이 쓰인다. places 배열을 채우는 게 본 작업이다.
2. 구간 뽑아내기
기억에 의존하지 말고 실제 기록을 본다.
- 여권 — 장기 체류 비자 스탬프, 외국인등록증 발급·말소일
- 주민등록초본 — 국내 주소 이전 이력이 날짜와 함께 전부 남아 있다
- 학적부 / 성적증명서 — 입학·졸업 연월
- 재직증명서 / 4대보험 가입내역 — 회사별 입·퇴사일
각 구간을 { "country": ..., "region": ..., "start": ..., "end": ... } 형태로 적는다. 날짜는 "YYYY-MM"이면 충분하다.
{
"places": [
{ "country": "대한민국", "region": "대전", "start": "1994-03", "end": "2013-02" },
{ "country": "대한민국", "region": "서울", "start": "2013-03", "end": "2019-08" },
{ "country": "일본", "region": "도쿄", "start": "2019-09", "end": "2023-04" },
{ "country": "대한민국", "region": "서울", "start": "2023-04" }
]
}
마지막 구간의 end는 비웠다. “현재까지”라는 뜻이다.
3. 국가별과 지역별을 한 파일로
같은 파일이 두 모드 모두에 쓰인다. 국가별 모드는 country 값을, 지역별 모드는 region 값을 색상 키로 읽는다. 그래서 각 항목에 두 값을 모두 적어두면 파일 하나로 두 그림을 다 그릴 수 있다.
둘 중 하나가 없으면 도구는 name 필드를 대신 찾는다. 국가 구분이 필요 없으면 country를 빼고 region만, 혹은 그 반대로 둬도 된다.
4. 자주 하는 실수
- 구간 사이에 틈 — 2013-02에 끝난 구간의 다음 구간을 2013-05에 시작하면 3개월이 빈칸으로 남는다. 이사 텀이 실제로 있었다면 그대로 두고, 아니라면 날짜를 맞춘다.
- 월을 두 자리로 안 씀 —
"2019-9"도 파싱되지만"2019-09"로 통일하는 편이 안전하다. - 같은 장소를 다른 이름으로 — “서울”과 “서울특별시”는 다른 색이 된다. 이름을 하나로 고정한다.
5. 넣고 확인
완성한 JSON을 도구 상단 입력창에 붙여넣고 “시각화”를 누른다. 격자에서 색이 이상하게 튀거나 빈칸이 예상과 다르면 대개 3, 4번 항목이 원인이다. 완성한 그림은 “공유 링크 복사”로 URL에 담아 보관할 수 있다.