TAG

#Time

9 posts

시각이 틀어졌을 때 - 밀린 폭만 보고 어디부터 볼지 고르기

CS · Time

시각이 틀어졌을 때 - 밀린 폭만 보고 어디부터 볼지 고르기

9시간이 밀렸는지 1시간이 밀렸는지 하루가 밀렸는지는 아무렇게나 정해지지 않는다. 밀린 폭 자체가 어디가 어긋났다는 신호다. 이 시리즈를 한 장의 판단표로 접는다.

시간이라는 데이터 9편

시계는 흔들린다 - 경과 시간을 재는 다른 시계

CS · Time

시계는 흔들린다 - 경과 시간을 재는 다른 시계

컴퓨터 안에는 시계가 둘이다. 하나는 지금이 몇 시인지 말해 주지만 뒤로 갈 수 있고, 다른 하나는 몇 시인지 모르지만 절대 뒤로 안 간다. 둘을 바꿔 쓰면 걸린 시간이 음수로 나온다.

시간이라는 데이터 8편

ISO 8601 - 시각을 글자로 적는 법

CS · Time

ISO 8601 - 시각을 글자로 적는 법

03/04/2025가 3월 4일인지 4월 3일인지는 읽는 사람의 나라가 정한다. 그 다툼을 끝내려고 정한 꼴이 ISO 8601이고, 큰 단위부터 적는다는 규칙 하나에서 나머지 성질이 전부 따라 나온다.

시간이라는 데이터 7편

팻말 없는 시각 - 저장할 때 무엇이 빠지나

CS · Time

팻말 없는 시각 - 저장할 때 무엇이 빠지나

DB 컬럼 타입을 고르는 순간 이 값이 순간인지 달력 시각인지가 정해진다. 이름이 비슷해 헷갈리는데, 한쪽은 쓰고 읽는 사이에 값이 조용히 바뀌고 다른 쪽은 안 바뀐다.

시간이라는 데이터 6편

서머타임 - 없는 시각과 두 번 오는 시각

CS · Time

서머타임 - 없는 시각과 두 번 오는 시각

1년에 두 번, 달력에서 한 시간이 사라지고 한 시간이 두 번 온다. 존재하지 않는 시각을 저장하려 들고 같은 시각이 두 번 오는 걸 모르는 코드는 그날 새벽에만 조용히 틀린다.

시간이라는 데이터 5편

시간대 - 팻말은 나라가 고쳐 단다

CS · Time

시간대 - 팻말은 나라가 고쳐 단다

시간대는 지도에서 잘라 낸 세로줄이 아니라 정부가 정하고 수시로 바꾸는 규칙이다. 그래서 컴퓨터는 그 규칙 목록을 따로 들고 다녀야 하고, 그 목록이 낡으면 조용히 한 시간이 어긋난다.

시간이라는 데이터 4편

UTC와 오프셋 - 기준선 하나와 팻말에 적힌 숫자

CS · Time

UTC와 오프셋 - 기준선 하나와 팻말에 적힌 숫자

팻말에 적힌 +09:00은 시간대가 아니다. 그 순간의 차이만 적힌 숫자다. 둘을 같은 것으로 알고 저장했다가 반년 뒤에 한 시간이 밀리는 사고가 여기서 나온다.

시간이라는 데이터 3편

에폭 - 1970년부터 몇 초 흘렀나

CS · Time

에폭 - 1970년부터 몇 초 흘렀나

큰 시계가 세는 수의 정체는 '정해진 어느 날부터 흐른 초'다. 왜 하필 1970년인지, 왜 2038년에 한 번 무너지는지, 그리고 같은 순간이 어떤 시스템에선 1000배 큰 수로 적히는지를 본다.

시간이라는 데이터 2편

시간 - 컴퓨터에 '지금'은 수 하나다

CS · Time

시간 - 컴퓨터에 '지금'은 수 하나다

화면에 뜬 '2025년 9월 30일 오후 3시'를 컴퓨터는 그렇게 들고 있지 않다. 저장된 건 수 하나뿐이고, 날짜와 시각은 그 수에 규칙을 씌워 만든 것이다. 그 규칙이 어긋날 때 무슨 일이 벌어지는지부터 본다.

시간이라는 데이터 1편