교통사고 2
일요일, 집으로 오는 길이었다. 자동차에 시동을 걸고 U턴해 큰 길로 나가기 위해 차를 오른쪽으로 크게 돌리고 있었다. 오른쪽 차장 밖으로 뭔가 시커먼 것이 보이는가 싶더니 자동차에 충돌했다. 오토바이 운전자가 넘어져서 괴로워하는 게 보였다. 잠시 어찌할 바를 몰라하다 차문을 열고 나가 운전자를 살폈다.
내 이 세상 도처에서 쉴 곳을 찾아보았으나, 마침내 찾아낸, 컴퓨터가 있는 구석방보다 나은 곳은 없더라.
일요일, 집으로 오는 길이었다. 자동차에 시동을 걸고 U턴해 큰 길로 나가기 위해 차를 오른쪽으로 크게 돌리고 있었다. 오른쪽 차장 밖으로 뭔가 시커먼 것이 보이는가 싶더니 자동차에 충돌했다. 오토바이 운전자가 넘어져서 괴로워하는 게 보였다. 잠시 어찌할 바를 몰라하다 차문을 열고 나가 운전자를 살폈다.
집에서 일하고 있는데 아내에게 전화가 왔다. 둘째 아이를 데리고 집에 오는 길에 오토바이와 충돌했다고 했다. 다행히 가벼운 사고였고 다친 사람은 없다고 했다. 아내는 영어가 서툴어 복잡한 대화를 하지 못한다. 일단 사고 현장 사진을 찍고 연락처를 교환하고 집으로 돌아왔다.
집에 있을 때는 맨 끝방에서 일한다. 끝방에 있을 때, 인터넷 라우터와 랩탑 사이의 직선 거리는 그리 멀지 않지만 벽을 두 번 (방 안쪽에 있으면 세 번) 통과해야 한다. 그래서 신호가 약하고 수시로 연결이 끊긴다. 끝방에서 인터넷 라우터에 직접 붙어 사용하기는 어렵다.
Rust로 ls 명령 구현하기 1에서 명령행 인자를 처리하는 방법과 디렉터리 안의 파일 목록을 구하는 방법을 설명했다. 2부에서는 목록을 표시할 때 ls
와 비슷하게 표시하는 방법을 설명할 것이다.
ls
는 유닉스 계열 OS에서 파일 목록을 표시하는 명령이다. 터미널에서 작업할 때 cd
와 함께 가장 자주 사용하는 명령이 아닐까 싶다. ls
를 Rust로 구현한 다른 프로젝트(eza, lsd 등)가 이미 있지만, ls
와 같은 명령을 어떤 식으로 구현하는 지 직접 확인해보고 싶다.
예전에 팀에서는 다른 나라에 있는 사람들과 함께 일할 기회가 많지 않았다. 지금 팀에서는 미국이나 인도에 있는 엔지니어와 커뮤니케이션 하는 경우가 종종 생기고, 그럴 때마다 상대편의 시간을 확인하곤 한다. 꼭 일 때문이 아니어도, 지금 한국은 몇 시쯤 됐을까 궁금할 때도 있다.
소스 코드 하이라이터는 어떻게 만드는 것일까? Rust로 간단히 소스 코드 하이라이터를 만들어 보기로 했다. 소스 코드를 스캔해 토큰 목록을 구한 다음 토큰 타입에 따라 적절히 렌더링하면 될 것 같다.
대니의 첫 인상은 뭔가 부시시하면서도 푸근한 아저씨 같은 느낌이었다. 항상 웃는 얼굴이고, 뭔가 허술한 것 같은데, 계속 이야기를 하다보면 기분이 좋아지고 내가 뭘 해야할지 깨닫게 한다. 신비로운 능력이다. 팀을 옮기더라도 가끔씩 대니와 이야기를 나눌 수 있으면 좋겠다고 생각했다.
영어로 손가락은 finger고, 엄지손가락 thumb이다. finger와 thumb 같은 기본 단어는 영어를 처음 배우기 시작했을 때 finger=손가락, thumb=엄지손가락 하고 외운 후 다시는 사전을 찾아보지 않았을 것이다. 그런데 thumb은 finger에 포함되지 않는다는 흥미로운 사실을 알게 되었다.
이 냉장고는 처음부터 문제가 있었다. 2018년 여름에 지금 집으로 이사 오면서 양문형 냉장고를 구입했는데, 소음이 생각보다 심했다. 신경쓰기 싫어 처음에는 무시했지만, 아내가 계속 불평을 해서 서비스를 받아보기로 했다. 어찌어찌 해서 기사가 집에 와 냉장고를 점검하고 약간 손을 봤는데, 나아진 건지는 알 수 없었다.