Posts

환승

1

4월 초에 가족과 함께 한국에 다녀왔다. 2020년 4월에 한국 가려고 비행기표를 끊어 놓았지만 코로나 사태로 갈 수 없었다. 마지막으로 한국에 갔던 게 2017년 11월이니 거의 5년 반만의 방문이다. 코로사 사태 이후 비행기 값이 많이 올랐기에, 조금이라도 값이 싼 경유 항공권을 구입했다.

Read more...

지구와 달

달은 지구의 위성이며, 지구에서 가장 가까운 천체다. 달은 태양과 더불어 가장 크게 보이는 천체다. 태양계 위성 중 다섯번째로 큰 위성이며 모행성 대비 질량이 가장 큰 위성이다. 또한 지금까지 인류가 방문한 유일한 천체이기도 하다.

Read more...

태양계 크기

인터넷에서 '태양계' 또는 영어로 'solar system'을 검색하면 많은 그림을 볼 수 있다. 그러나 대부분의 그림이 각 행성간 거리를 축소해 표시한다. 정확한 비율로 표현하면 그림 대부분이 빈 공간으로 나올 것이다.

Read more...

여우 이야기

Feature image

영국에 온지 얼마 되지 않았을 때 처음으로 여우를 봤다. 겨울 이른 아침이었기에 아직 깜깜했다. 출근하려 기차역으로 가는 길에 화단에서 불쑥 여우가 나와서는 내 앞을 종종 걸어 사라졌다. 아무리 이른 시각이라지만 그래도 동네 한복판에 여우가 돌아다니는 게 신기하고 놀라웠다.

Read more...

Hugo: 외부 링크 새 탭에서 열기

블로그에서 외부 링크를 열때 새 탭을 쓰지 않고 현재 탭에서 링크를 여는 게 마음에 들지 않았다. 지난 수년 간 블로그를 운영하면서 이 문제를 깨닫지 못한 것은 아마도 링크를 열 때는 거의 항상 Cmd+클릭을 사용하는 내 습관 때문이었을 것이다. 최근에 문득, '외부 링크는 그냥 새 탭에서 여는 게 맞지 않을까?' 하는 생각이 들었다.

Read more...

Rust에서 명령행 인자 파싱

Rust에서는 명령행 인자를 어떻게 처리할까? 예전에 Rust로 작성한 HTTP 에코 서버 reflexive는 포트 번호가 하드코딩 되어 있고 워커 개수는 디폴트 값을 사용하고 있는데, 포트 번호와 워커 개수를 명령행 인자로 받으려면 어떻게 해야 할까?

Read more...

불운 5

1

계속 재택근무를 하다보니 어느새 아이들 학교에 데려다 주는 게 내 일이 되었다. 그날은 두 아이 모두 사이클 코치라는 자전거 연습 클럽에 가야 해 평소보다 일찍 집을 나섰다. 뭐가 마음에 안 드는지 자전거를 끌고 학교에 가면서 계속 투덜대는 아이들을 겨우 어르고 달래 학교에 넣었다.

Read more...

Rust Echo 서버

요즘 Rust를 조금씩 보고 있는데, 갑자기 Rust로 에코 서버를 만들어보면 어떨까 하는 생각이 들었다. 에코 서버는 요청을 그대로 리턴하는 서버를 말하며, 보통 클라이언트가 서버에 제대로 연결되었는지 테스트하는 용도로 사용된다.

Read more...

JSON 파서 구현 2 - 파서

1부에서 JSON 스캐너를 구현했다. JSON 스캐너는 JSON을 읽어 토큰 리스트를 생성한다. 이제 토큰 리스트를 읽어 데이터 구조로 바꿔줄 파서를 구현할 차례다.

Read more...

JSON 파서 구현 1 - 스캐너

LexYacc와 같은 스캐너/파서 생성기를 사용하지 않고 JSON 파서를 구현하는 방법을 2부에 걸쳐 정리하려 한다. 시리즈를 끝까지 읽고 나면, JSON 파서를 만드는 게 생각보다 어렵지 않음을 알게 될 것이다.

Read more...