구직 과정 기록(2): 단계별 진행
구직하는 동안 총 11개 회사에 지원하거나 문의 메일을 보냈다 — 문의 메일에 3개월 째 답장이 없는 카카오는 (당연히) 진행을 못 했다. 라인플러스는 입사 원서 쓰고나서 코딩 테스트 이메일 받기까지 4주+ 걸리더라. 이거 통과하고 나서 3주일 넘게 메일이 없어서 문의 메일 보내니 그제야 면접 일정 잡자고 해서 중간에 포기. 실제론 총 9개의 회사에 지원하거나 / 여기서 일해보면 어떨지를 얘기하는 정도까지 진행했다. 게임업계에 대한 회의와 동종업계 취업 제한 때문에 이 중 3곳은 초기 단계까지만 얘기하고 더 진행하지 않았다.
구직 과정 기록(1): 준비하기
앞선 글 “회사를 떠나며”에 이어서. 이직 결심을 굳히고는 이에 대한 준비를 시작했다. 마지막으로 이직을 한 게 2012년의 일이라 준비할 게 많더라. 먼저 이력서를 준비했다. 예전에 투자 받는 준비할 때 마지막으로 수정한 거 끄집어내서 이걸 어디 넣으려니 적당한 포맷이 없더라. 최근 일했던 방식대로 마크다운 문서 하나 만들면 좋겠지만 적어도 아직은 그렇게 하는 사람이 흔할 것 같지 않아서 포기. 그래서 야크 털 깎기의 전통에 충실하게 이력서 작성하기 위한 LaTeX 환경 찾고, 적당한 템플릿 찾는 데 몇 시간 쓰고 그랬다.
회사를 떠나며
2013년 5월 1일에 회사를 시작했었다.(준비 과정까지 세면 그 몇 주 전부터) 그 때 시작한 일들을 지난 달 말일(2021-04-30)로 마무리했다. 벌써 만으로도 8년이 지난 셈. 지금은 새 출근 일정을 확정하고, 집에서 쉬면서 아이들 수업하는 거 지켜보거나 근처 카페에서 커피 사오는 일상을 보내고 있다. 14년 만에 돌아온 방학도 겨우 2주일 남았지만. 이직 생각이 없었던 오래 전에 “다음 일을 하기 전엔 여행도 가고 쉬겠다”고 계획했던 것은 COVID19 때문에 다 포기. 사회 생활을 처음 시작하며 다녔던 회사나 지금 회사나 – 중간에 다녔던 회사에서 스핀오프한 모양새라 구성원이 비슷해서 그 회사 내용은 생략 – 팀이 싫어서 떠나는건 아니라는 점에서 참 감사하게 생각한다.
근로소득과 세금 + 준조세에 대한 생각
지난 며칠간 서류 정리하면서 들었던 생각 정리. 근로소득으로 사는 직장인이 부담하는 세금 및 준조세는 아래와 같다. (불로소득은 여기서 생각하지 않겠음) 근로소득에 대한 국세 및 지방세 국민연금 건강보험 고용보험 연봉 액수와 부양 가족에 따라서 매달 떼가는 액수가 다르며, 각각 별도의 일정(2월의 연말정산이나 4월의 건강보험료 정산)에 따라서 실제 부과액과 매달 가져간 액수의 차이를 바로 잡는다. 이 중에 직접세인 소득세만 누진제를 사용하고 있으며, 상대적으로 낮은 요율(0.8%)인 고용보험만 상한액이 없다. 국민연금은 2021년 기준으로 월급 524만원 혹은 연봉 62xx만원까지만 내는 액수가 증가하고, 그 이상은 동일한 액수(월 226,350원)를 낸다.
macOS에서 한글 파일/디렉터리 잘 다루기
어쩌다보니 macOS / linux / MS Windows를 모두 사용하고 있는데, macOS만 유니코드(특히 한글) 파일/디렉터리 이름을 다루는 방식이 달라서 괴롭다. 현대 OS는 다들 유니코드를 사용한다. 그런데 개별 OS에서 주로 사용하는 표현 방식이 다르기도 한데, 이 중 macOS가 특히 다른 것. 배경을 좀 더 설명하자면, 유니코드로 동일한 의미의 글자를 표현할 방법이 네 가지가 있고 이를 normalization form 이라고 부른다. NFD: 정준 분해 형식. 예를 들어 “한글"이라는 단어는 “ㅎㅏㄴㄱㅡㄹ” 처럼 저장한다. 총 6개의 코드 포인트란 의미.
블로그 설정 개편 (2021-05)
퇴사하고 시간이 남은 김에 예전부터 하려고 하던 것 해보는 중. 그래서 여태껏 해보고 싶었던 (호환성이 좀 부족한) 것들을 적용해봤다. 우선 HTTP2 적용. 사용 중인 nginx 설정에 http2를 넣어준 것으로 해결. server { listen 443 ssl http2 default_server; # ... } 그리고 TLS 1.3 적용을 위해서 모질라의 TLS 설정 생성기의 intermediate 설정을 골라서 적용했다. 최신(modern)으로 했더니 TLS 1.3만 사용하는 방식으로 동작하고, 이것 때문에 WordPress의 JetPack 연동 기능이 동작을 안해서 호환성 모드로 갔다.
Pytest 테스트 결과 좀 더 편하게 보기
내가 하는 일 중의 상당 시간은 C++로 소프트웨어를 만드는 일이다. 이중 프로세스 하나의 범위를 벗어난 부분은 C++에서 mocking하거나 혹은 좀 더 넓은 의미로 test-double 을 만드는게 단순하지 않은 것들이 있다. (그리고 C++에서 이런 mock을 작성하는게 그렇게 생산성이 높은 것 같지도 않다) 그래서 잘 만들어진 python 테스트 프레임웍인 pytest를 가져다 쓰기로 했다. 그리고 pytest에서 아래와 같은 식으로 테스트를 한다. 테스트 환경 (DB, redis, …) 초기화; test-suite 혹은 pytest fixture기준으로 모듈마다 실행 C++로 작성한 프로세스들을 구동 (이것도 모듈마다) 테스트 케이스 실행; 그리고 이 때 일부 외부 프로세스는 python으로 흉내낸다.
gflags (C++) uint32 지원 + ubuntu 16.04
Ubuntu 18.04 (bionic) 에서 작업한 부분이 CI 도구에서 실패하더라. 원인을 추적해보니 ubuntu 16.04에서 빌드가 실패. (16.04, 18.04, … 등을 지원하는 프로그램에 대한 CI 설정이었음) 그래서 찾아보니 DECLARE_uint32 가 ubuntu 16.04에 없는 매크로여서 생긴 문제. 그래서 찾아봤다. uint32 플래그 타입 지원 추가 커밋 2016년 4월 6일자 커밋. _2016. 04에 릴리즈한 ubuntu 16.04_에 포함되어있을리가 없는 기능이었다. (Feature freeze 는 2016-02-18이었음)
동영상 파일 미리보기 이미지로 쪼개기
외부 전시회에 나갈 때 종종 고객사 동영상을 재생한다(만드는게 게임 서버 백엔드 도구들이라 뭔가 시선을 끌게 없으니 이런걸 재생함). 그런데 이런걸 틀어놓으면 “이 동영상이 무슨 게임이냐"라는 질문을 종종 받는다. 그래서 동영상을 수 초 간격으로 (동영상 길이에 따라서 3 - 5 초 정도마다) 이미지로 저장해서 화면을 보고 이름을 알려줄 수 있게 저장해봤다. 동영상을 아주 거칠게 단순화 하면 (이전 프레임들을 이용해서 만들어낼 수 있는) 이미지를 넣어놓은 데이터 파일이다. 실제로 각 이미지를 전부 따로따로 들고있는 건 아니지만, 중간의 key frame부터 시작하면 그 이후의 변경 분을 올려서 중간 이미지들을 재구성 할 수 있다.
VS Code 로 넘어가기 (2019)
올해 소소한 목표로 vim / neovim 아닌 에디터를 GUI 쓸 때 기본 에디터로 써보자로 하고 vscode (for mac, linux) 를 써보는 중. 대략 위 내용을 작년 1월에 얘기했었는데, 대략 올해 늦봄에야 vim이 아닌 주 개발 환경을 구성. 변명을 하자면 작년엔 출장이 잦았고 그러다보니 로컬에서 GUI로 VSCode를 쓰는게 어려웠음. 그러다 늦봄 (5월쯤) VSCode Insider Preview와 원격 개발 확장 기능 쓰는 걸로 이전. 이전까지 주로 사용한 것은 SSH 위에서 vim/neovim 를 썼고 이걸 대체할 non-VIM환경을 시도해봤는데 — 로컬 CLion / VSCode 혹은 몇가지 원격 환경을 시도 — 항상 뭔가 맘에 안드는게 있더라.