Retrospect. 돌아보기, 혹은 회고. 올 한 해를 정리해본다.
Comparing to last year…
2021년 한 해는 좋은 희망도 있었고, 그렇지 못한 부분도 있었다.
지난 해에 비하면, 적어도 고요하게 보낼 수 있었던 한 해였던 것 같다. 연말에 몇가지 일들이 생긴 걸 제외하면 정말 하루하루 삶에 충실하며 살아가는 그런 해였다고 볼 수 있을 것 같다.
내면을 단단히 다져나서 다음 걸음을 나갈 수 있게 준비하는 한 해, 그렇게 요약하고 싶다.
Up’s
한 해 보람찼거나 즐거웠던 일들을 정리해본다.
Tech
- 올해 연말은 Log4j 이슈가 화려하게 장식했는데, 이를 선제적으로 조치하고 문제를 예방했다는 점에서 Up.
예전에는 단순히 이런 오류가 있구나 확인하고 조치만 하는 선에서 그쳤다면, 올해는 직접 PoC(Proof of Concept)를 위한 모의 실험 환경을 사내에 구축하고 시연할 수 있을 정도로 준비하여 보고서를 작성하는데 활용하였다. 테스트를 위해 더미 LDAP(Lightweight Directory Access Protocol) 서버를 직접 파이썬으로 작성해보는 경험은 신선했다. - LDAP 더미 서버를 작성해보는 과정에서 LDAP의 컨셉과 프로토콜 구조에 대한 많은 이해를 하게 되었다. 하지만 풀스펙 서버를 짜기엔 아직 많은 시간이 필요한 것 같다.
- 일반적으로 어떤 프로그램이나 라이브러리를 이용할 때 수준을 넘어서 독특한 문제들을 해결해보는 경험을 많이 한 것 같다.
- IEInternals 자료를 발굴하여 IE9가 당시에 도큐먼트 파싱을 어떻게 했는지 공부해보고 현대에 적용되는 요소를 배웠다.
- 날짜와 윤년 처리, 시각과 관련된 문제들을 해결해볼 기회가 있었다.
- 블랙박스처럼 이용하던 NAVER SmartEditor 2를 완전히 분해하여 공부해보는 경험을 해보았다.
- 부서에 새로운 인원이 투입되었을 때 해주어야 하는 일들과 교육에 대해 문서화를 하고, 체크하는 On-boarding 체크리스트를 작성하고 동료검토를 받았다.
이전에는 체계화된 체크리스트 없이 중구난방으로 진행하여 누락된 프로세스도 많았지만, 이번 작업 이후로 개선될 거라고 기대한다. 12월 말에 완성하였기 때문에 내년에 신입 사원부터 시험해볼 수 있을 것 같다. 코딩 컨벤션이나 원칙적으론 가능하지만 사내 업무 특성상 금지된 코드에 대해 언젠가 문서로 기술해둘 필요가 있었다. - 사내 동영상 서버를 구축하기 위한 첫 걸음을 떼었다. 죽어가던 Microsoft IIS 서버에 새 생명의 기회를 만들어 주었다.
HLS(HTTP Live Streaming)을 완전하게는 아니지만 직접 사내에 구현해보는 좋은 기회가 되었다. 사내에서만 이용하기 때문에 에지 네트워크에 영상 리소스를 배포하는 작업은 필요하지 않았으므로 중요한 부분은 빠진 것 같지만, IIS와 FastCGI를 활용해 Python 기반 사용자 접점과 동영상 업로드 API를 만들고, 야매(?)로 만든 워커를 통해 영상을 MPEG-TS로 변환하는 과정도 수행해보았다. - 사내 동영상 서버를 구축하면서, 의도하지 않게 시간적 여유가 생겨서 Chunk upload를 직접 구현해보았다.
일반적으로 동영상과 같은 큰 파일은 업로드에 많은 시간이 소요되는데, 커넥션이 사용할 수 있는 시간을 제한해두는 경우 영상 업로드 도중에 연결이 끊어져 영상을 올릴 수 없게 된다. 그래서 조각 단위(Chunk)로 업로드하면서, 업로드 실패시 해당 청크를 다시 업로드하게 한다든가 업로드 진행현황을 체크하거나 매 조각에 체크썸 기능을 추가해 데이터 유효성 검증 작업을 추가하는 등 여러 기능을 직접 구현하게 되었다. (결론: 잘 만들어진 것 쓰자) - Kotlin 공부를 시작하였다. 물론 지금도 간단히 어느 정도 문법을 쓸 줄은 아는데, 이번엔 제대로 실무에서 써보기 위한 학습.
- 웹 페이지에 다량의 컨텐츠를 렌더링하면서도 그동안에 브라우저가 멈추는 현상을 막기 위해 개선 시도를 했다.
requestAnimationFrame()
이 바로 그것. 내가 맡고 있는 사내 업무 관리 화면에는 전사 사원을 한번에 리스팅해야할 경우가 있는데 이 페이지만 나오면 IE에선 ‘응답 없음’ 창이 떠서 차례대로 렌더링하고 진행현황을 보여주도록 개선했다. - 사내 서비스 중에는 정식 절차를 통해 최초로(?) Java 8을 도입하는데 성공했다.
다른 회사에선 이미 그 이상으로도 잘 쓰고 있겠지만, 여기가 워낙 보수적이라 이 시도도 부서 간 여러 협의와 회의가 필요했을 정도다. 무사히 업그레이드는 완료되었고, 이 덕분에 12월에 터진 Log4j 이슈 때 별 문제 없이 Log4j 2.17.1 까지 올릴 수 있었다. 다른 곳은 JAR 파일에서JndiLookup.class
빼는 작업하고 끝났다는데, 생각해보니 2.16 올렸다가 또 취약점 나와서 2.17까지 올린 것 생각하면 약간 화가 난다. (?)[1] - 사내에서 쓸 카드뉴스 제작 도구를 직접 만들어서 오픈하였다. (사내 뉴스레터 발행용) 웹 상으로 간편하게 이용할 수 있어 모두가 빨리 쓰길 원했지만, 좀 더 다듬어서 내년에 크게 오픈한다고 한다.
Non-tech
- 올해 1월에 이직 시도를 했다. 아는 분들의 추천으로 반려동물 관련 스타트업에서 일할 수 있는 기회를 얻었다.
물론 이 일은 ‘Downs’ 에 적어야 할 거리도 있다. 개인적으로 지금 회사에서 많은 매너리즘을 느끼고 있었고, 스타트업으로 이동하며 여러 변화와 발전을 거듭할 수 있을 거고, 코로나 시국에 해외에 다니는 즐거움도 없는데 업무적으로라도 큰 보람을 느낄 수 있으리라 생각하고 지원했었고 흔쾌히 기회도 마련해주셨는데 결국 거절하고 1년 더 지금 회사를 다니게 되었다. - 안전한 자가용 솔로 여행과 적절한 거리두기로 그 어느 때보다 알찬 가을을 보냈다.
여름엔 강원도도 다녀왔고, 함백산에서 지상은 영상 20도 후반의 열대야를 겪음에도 매우 시원한 여름밤을 보냈다. 가을에는 무주도 다녀고 경주도 다녀오고 이래저래 정말 알차게 다니고 사진도 많이 찍었다. 물론, 여름 여행 때는 회사에서 확진자 발생으로 인해 강원도 초입에서 차 돌려서 집에 돌아와야 했던 일도 있었는데 무사히 PCR 검사 음성 뜨고 다시 출발했다. - 올해도 꾸준히 이어지는 돌피드림 생활. 정확히는 이제 슈퍼돌피(Super dollfie)를 들였다. 뒷감당 어떻게 할지 잘 모르겠지만 아무튼 새 아이가 들어오는 건 언제나 좋은 일이다.
- 인형 덕질이 문어발 식으로 넓어지고, 이제 흔히 ‘육일돌’이라 부르는 1/6 스케일 인형에 손을 뻗었다. 물론 이 인형들(!)은 내년 5월에 오기 때문에 올해는 일단 안전하다.
- 자가용 자동차 구입 후 마일리지가 벌써 36000km이다. 1년 반 정도 탄 것 같은데 좀 빠르다. 아직 부품 교환까지 크게 한 적은 없지만, 슬슬 부품 교환 주기에 도달하는 물건들이 있어서 목돈을 아껴두고 있다. 그래도 즐겁게 잘 다니니까 좋다.
- COVID-19 시국 속에서, 대학 졸업 이후 한동안 프로그래밍을 잡지 않다가 올해 다시 이쪽으로 오기 위해 공부하는 친구를 위해 모의 면접을 해주었다. 무사히 판교 모 회사에 입사해서 근무 중.
7월에 차를 구입하여 오너 드라이버가 되었다. COVID-19 때문에 안전한 이동을 위해 구입했고, 이후로 내 인형 사진 출사나 가족 행사, 김장 준비 등에 대활약 중.차는 2020년에 구입하였다. 작년 회고록 참고해서 작성하다보니 그대로 남아있었다.- 올해 모바일 게임은 블루 아카이브와 프린세스 커넥트 리다이브, 콘솔 게임은 그동안 깨지 않고 냅둔 크라이스타(Crystar) 클리어에 힘썼다. 근데 크라이스타는 한번 깬다고 되는게 아니고 몇번 더 해야할 게 있어서 다시 덮어두었다. 처음엔 스토리가 좋아서 했는데 반복되는 지루한 전투가 지치게 하는 느낌.
- 올해 구입한 큰 전자기기는 Surface Pro X (2월), Macbook Pro (10월)이고 휴대전화도 갤럭시 노트9에서 갤럭시 S21 울트라로 바꿨다. 맥북이라는 물건 내 돈 주고 처음 사서 써보는데, 참 좋은 물건인 것 같다. 게다가 통칭 M1으로 불리는 애플 실리콘 탑재 제품이라 그런가 전력도 적게 먹고 I/O가 집중된 작업을 돌리면 너무 빨라서 좋다. 일할 때도 쓸 수 있었으면 좋겠다만, 1월에 시도한 이직을 포기한 바람에 아쉽게 되었다.
- 인형들 둘 공간도 부족하고, 코로나19 시국이 장기화됨에 따라 자가격리나 재택근무에 대비해야할 필요성이 많아져 집을 구하기 시작했다. 집을 알아보며 집값이 매우 부담스러워 숨이 턱턱 막힐 때도 있지만, 집 꾸미고 취미 생활 확대해볼 생각에 행복해지는 순간도 있는 것 같다. 나는 역시 차보다 집이 좋은 것 같다.
- 어느 정도 이제 힘든 일들도 유연하게 이겨낼 수 있는 방법과 힘이 생긴 것 같다. 근데 내가 평화를 찾고 나니까 회사 주변 사람들이 또 난리다. 알 수가 없다. 어쨌든 나는 이 힘을 바탕으로 내년에 좋은 도전을 해보고 싶다.
- 코시국에 서로 거리두느라 마음도 멀어져 갈 위기에 처한 가운데, 회사에서 매우 가까운 마음에 맞는 동료들과 함께 소규모로 가을 캠핑을 다녀왔다. 조개부터 온갖 육류에 스모어까지 정말 푸짐하게 먹고, 다음날은 문화유산 답사로 먹은 열량을 소비하며 즐거운 시간을 보냈다. 추진한 입장에서 모두가 만족하는 모습을 보니까 매우 좋다.
- 코로나19 백신 3차 접종까지 완료하였다. 1차는 5월, 2차는 7월(AZ 백신은 당시 11주 간격을 두었음)에 맞았는데 연말 가면서 코로나 기세가 심상치 않고 오미크론 변이까지 돌아다녀서 3차를 서둘러 접종하였다. 개인 위생, 마스크, 백신 3가지를 잘 갖춰 앞으로도 잘 이겨냈으면 한다.
- 백수 생활을 하던 동생이 드디어 자리를 잡고 일하기 시작했다. 좋은 직장에 들어간만큼 자기 만족과 자부심도 좋지만, 겸손함을 갖추고 자신을 낮추는 성숙된 모습을 보였으면 한다. 이 동생 때문에 어머니께서 마음의 병이 생기셨었다.
- 넷플릭스의 ‘프리즌 브레이크’ 시리즈를 재밌게 보았다. 시즌1에서 머리가 복잡해져 아파오지만 기막힌 해법으로 하나씩 풀어나가는게 재밌어는데 시즌3까지 오니 뭔가 재미가 떨어지는 느낌.
- 올해 유튜브에서 ‘세아스토리’라는, 스마일게이트 엔터테인먼트에서 진행하는 버츄얼 유튜버 채널을 재밌게 보았다.
직장인 예능 버라이어티 컨셉도 좋았지만, 여기의 PD이나 책임 역할을 담당하는 ‘필충만’이라는 분이 세아스토리 프로젝트에 갖는 열정과 애정에 감동하기도 했고 힘든 일 끝내고 집에서 사이버 남매의 투닥거림을 보면 절로 웃음이 나오는 게 천연 항우울제라서 더 좋았던듯. 12월의 24시간 방송 때, 비록 도네이션 알림은 뜨지 않았지만 5만원 도네이션을 올림으로써 소소하게 감사를 전했다. 전액 스마일게이트 희망 재단을 통하여 좋은 곳에 쓰인다고 하니 재미도 찾고 좋은 일도 해서 좋은 것 같다.
Down’s
한 해 슬펐거나 짜증났거나 아쉬운 일들을 정리해본다.
Tech
- 올해도 Github에 뭔가 올린 게 없다. 직장 생활만으로도 너무 힘든걸까?
- 친구들과 함께 진행하던 사이드 프로젝트가 있는데 생각보다 다들 일하느라 바빠서 진도가 나가질 않는다. 물론 내 잘못도 1/4 정도 있는 것 같다. 더 열심히 해서 살릴지, 아니면 다시 기획해서 시작할지 고민 중.
- 올해는 진짜 새롭게 시도한 게 없는 것 같다. 그나마 쿠버네티스 공부를 해본 것 빼고 없는 것 같은데, 진정 극복하려면 이직 밖에 답이 없는 것 같다. 배움의 새로운 동기가 필요한데, 그냥 막연히 새로운 걸 도전한다 그 이상으로 동기부여가 필요하다고 생각됨.
- 1월 경에 스타트업으로 이동할 뻔 했는데, 가족 내 문제로 좋은 오퍼를 받았지만 포기해야만 했다.
어머니 건강이 많이 안좋아지였다가 이제 좀 나아졌다. 여러 가족사 문제가 있었던터라 나도 눈물을 머금고 지원 포기를 할 수 밖에 없었다. 그 후에 매우 좋은 오퍼를 받았지만 그때도 상황이 진정되진 못한 터라 정말 죄송했다. 대표님께도 그렇고, 추천해주신 지인 분들께도 매우 죄송할 뿐이었다. (다행이도 올해 세계적 상도 받으시고 회사 일은 잘 풀리신 것 같다) - 1월에 이동해본 이직시도 말고 올해는 없는 것 같다. 내년엔 더 쉽지 않을 것 같은 느낌.
- Java 말고 다른 언어를 주종 언어로 쓰고 싶은데, 아직 마땅한 언어를 찾지 못했다. 이래저래 Go가 현재까진 끌린다.
Non-tech
- 2020년에 내가 구직과 인터뷰 준비를 도와준 친구가, 세상의 고통과 슬픔을 등지고 하늘나라로 떠나고 말았다.
12월 어느 목요일 밤 늦게 세상을 등지고, 금요일에 그 친구가 다니던 회사에서 출근하지않자 연락 끝에 찾아 갔는데 세상을 등지고 떠나버렸다고. 성공한 프로그래머가 되기 위한 야망도 가득했고 자동차를 무척 좋아하던 친구였는데 너무 마음이 아프다. 더 잘 해주지 못한 후회와 죄책감만이 남는다. 얼마나 외롭고 힘들었을지, 부디 하늘나라에선 행복하길. 설 전에 술 한잔 따라주러 갈게. - 평생 무사고 운전을 할 수 있을 줄 알았는데, 사고를 당하고야 말았다.
출근길에 아무 생각 없이 초록신호 받고 직진하고 있었는데, 옆차선이 밀리니까 흐름이 더 빠른 내 차선으로 바꿔 가려고 정체 차선에서 숄더 체킹도 없이 갑자기 들어온 차 때문에 사고가 났다. 운전석 앞 펜더와 휠은 교체해야했고, 운전석 문은 판금 도색을 해야했다. 나는 많이 다치지 않았고 상대도 괜찮았지만 이후로 운전할 때 옆에 차가 가까이 붙으면 무섭다. 과실은 8:2 정도 나왔는데, 대인 피해 접수 안하는 조건으로 내 차 수리비 온전히 받는 걸로 합의 보았다. 여러분도 항상 안전 운전. - 12월 되니까 회사에서 매주 확진자가 나와서 매주 검사 받으러 다닌다. 그 중에 두 건은 백신 거부자 때문에 받으러 갔다. 제발 의학적 진단 없으면 백신을 잘 맞든지, 자신 없으면 집 밖에서 1분이라도 마스크 벗고 다니지마라고 말하고 싶다.
- 팀 인력 구조 변경으로 인해 다른 부서로 이동하게 되었다.
그동안 이 블로그에 글 쓸 거리를 제공해주던 사내 서비스 프로젝트에서 벗어나 다른 부서로 팔려가게 되었다. 나름 정이 많이 들긴 했는데, 더이상 프로젝트에 큰 발전거리가 보이지 않고 너무 많이 익숙해졌기에 어쩌면 Down 이라고 생각했던 인사 이동이 Up이 될지도 모르겠다. 하지만 이 과정에서 있었던 일들은 너무 화가 나는 상황들이 많았다. - 신년에 했던 결심을 너무 많이 잊었다. 하지만 충분한 휴식의 시간으로 활용했다는 느낌. 소중한 1년이 되었다.
- 올해에는 몸 담고 있는 인형 사진 모임에 자주 참석하려고 했는데 1월 이후로 가질 못했다. 그런데 12월에라도 가보려고 했더니 서로 회사에서 확진자 많이 나와서 만남을 꺼리고 있는 상황이라 많은 아쉬움이 있다.
- 2019년 홍콩 여행 때 실수로 긁어먹은 카메라 렌즈 때문에 스트레스를 받는데 렌즈 수리가 쉽지 않을 거란 이야기를 들어서 대체품을 구하고 있다. 근데 중고로 샀을 땐 몰랐는데, 그 렌즈가 표준 줌렌즈에 고정 조리개라 비싼 렌즈더라. 지갑이 쓰라린다.
For next year, to-do’s
소중했던 친구를 떠나보내고, 그동안 오래 머물렀던 팀에서도 떠나게 되면서 2021년 연말에 많은 변화를 겪게 되었다.
2022년 이 변화를 바탕으로 무언가를 해낼 수 있을 거란 기대감이 든다.
그리고, 주변 사람들을 더 신경쓰고 돌볼 수 있는 사람이 될 수 있기를.
To-do’s
- 1년간 꾸준히 해볼 프로젝트 거리를 다시 고민해보자. 산타파이브는 굉장히 인상 깊은 프로젝트였다.
- 프로그래밍 언어용 소형 VM 작성 및 컴파일러 제작
- 뉴스 큐레이션 서비스
- 스위스칼처럼 즉시 언제 어디서든 잘 쓸 수 있는 프론트엔드 프레임워크 하나를 익힌다.
- 백신 접종도 마쳤으니 검도나 특공무술 중 하나를 배운다. 매일 기분좋게 땀 흘릴 수 있는 운동이 필요하다.
- 필라테스를 배워야 한다. 최근에 허리도 많이 안 좋아진 것 같음.
- 취미 관련으로, 인형 사진 출사 모임에 적어도 한달에 한번은 참석한다. 내년엔 정말로.
- 힘들고 어려운 일이 있더라도, 무조건 미루고 피하려는 생각보다 부딪혀보며 이겨내고 배우자는 마음가짐으로 살아보자
- 올해는 다른 회사로 넘어간다. 혹은 다른 나라가 될 수 있을 것 같음.
- 어려운 사람들에게 도움을 줄 수 있는 단체에 정기 후원을 한다. (달성 완료!)
- 오늘부터 ‘생명의 전화’에 정기후원을 시작했다. 정기후원은 매월 초에만 출금되기에, 올해는 내가 일시후원으로 후원금을 입금했다. 부디, 힘든 일이 있고 목숨을 버리고 싶은 생각이 든다면 꼭 전화해서 도움을 받으시길 바란다. 아직 세상에는 즐겨야 할 일도 많고 즐거운 일도 많이 남아있으니 제발.
- 건강 회복 및 체형 가꿈을 위한 목표 설정으로, 인형과 함께 비슷한 의상을 입고 같이 사진을 찍는 사진에 도전한다.
- 양성류 음성 연습을 바탕으로 버츄얼 유튜버에 도전해본다. 상업적 흥행은 별 기대 없고, 아마추어 성우 수준까진 도달해보고 싶은 욕심.
- 다른 사람이 나에게 기대하는 바에 앞서 내가 나로써 행복하게 살 수 있는 길에 좀 더 집중하기.
- 프로그래밍으로 성공하는 길만이 인생의 길이 아님을 기억하고, 다양한 도전을 해보기.
- 1.Log4j 최신 버전에서는 최소로 필요한 Java 버전이 8이기 때문에. ↩