절기·음력·네 기둥을 전혀 다른 방식으로 만든 구현과 1900년부터 2100년까지 맞대어 확인한 기록이에요. 무엇이 몇 개 일치했고 무엇을 확인하지 못했는지 그대로 적어 둬요.
계산을 직접 만들었다면 맞는지도 직접 보여야 한다고 생각했어요. 무엇을 어떻게 맞대어 봤는지, 그리고 무엇을 아직 확인하지 못했는지 그대로 적어 둬요.
무엇과 맞대어 봤나요
정답으로 삼은 것은 우리 코드와 만든 사람도 방식도 다른 공개 구현이에요. 절기와 간지는 중국 만세력 계산 라이브러리와, 음력은 한국천문연구원 자료를 바탕으로 만든 변환 구현과, 옛 시계는 국제적으로 쓰는 시간대 자료와 견주었어요.
이 도구들은 만들 때만 쓰고 사이트에는 들어가지 않아요. 같은 답을 두 가지 방식으로 구해 서로 맞는지 보는 것이 목적이라, 운영 중에 쓸 일이 없어요.
확인한 결과
24절기 시각은 1900년부터 2100년까지 4,824개를 견주었고, 가장 크게 벌어진 곳이 84초였어요. 표를 분 단위로 반올림해 두었기 때문에 생기는 차이이고, 절반 이상은 30초 안쪽이에요.
음력은 1900년부터 2050년까지 달의 초하루 1,867개가 윤달까지 모두 일치했고, 음력 날짜를 양력으로 바꾼 결과도 약 5만 5천 일이 모두 일치했어요.
일주는 1900년 1월 1일부터 2100년 12월 31일까지 하루도 빠뜨리지 않고 73,414일을 견주어 모두 일치했어요.
네 기둥 전체는 무작위로 뽑은 2만 건을 견주었어요. 다른 결과가 나온 경우는 절입 시각에서 90초 안쪽에 든 출생뿐이었고, 절입 바로 앞뒤(2분 전과 2분 뒤) 약 4,800곳의 연주와 월주는 모두 일치했어요.
옛 시계 표는 1899년부터 2101년까지 약 14만 곳을 국제 시간대 자료와 견주어 모두 일치했어요.
시험이 진짜 잡는지도 확인했어요
시험이 통과하는 것만으로는 안심할 수 없어요. 시험이 아무것도 확인하지 않으면서 통과할 수도 있기 때문이에요.
그래서 계산 코드를 일부러 조금씩 망가뜨려 보고, 시험이 실제로 실패하는지 확인했어요. 날짜를 하루 밀거나 절기 순서를 바꾸는 식으로요. 실패하지 않는 자리가 있으면 그곳의 시험을 보강했어요.
확인하지 못한 것
음력은 공식 음양력 자료가 2050년까지라서 2051년부터 2100년까지는 맞대어 볼 자료가 없어요. 그 구간은 같은 천문 계산 결과를 그대로 쓰고 있어요.
신살은 기준을 자료로 잡아 보여 주는 참고 구역이고, 교차 검증의 대상이 아니에요. 전해지는 기준 자체가 책마다 달라서 하나를 정답으로 둘 수 없었어요.
풀이 글은 계산이 아니라 해석이라 맞고 틀림을 확인할 수 있는 종류가 아니에요. 대신 겁주는 말과 단정하는 말을 쓰지 않도록 금지 표현을 코드로 검사하고, 같은 글이 여러 화면에 돌려 쓰이지 않는지도 함께 검사해요.
이 서비스는 자바스크립트가 필요해요. 브라우저에서 자바스크립트를 켠 뒤 다시 열어 주세요.