2017년 회고

Published on 2017 Dec 30 13:56:50
Last Updated on 2017 Dec 31 16:49:10

시작하며

몇 년 만에 블로그를 다시 열게 되었다. 올해도 다시 열어야겠다는 생각을 몇 번 했었지만, 막상 행동에 옮기지는 않았었다.

그러다가 최근에 친해지게 된 친구의 글을 보며 블로그를 다시 열게 되었다. 첫 글은 2017년 회고로 정했다.

글 분류를 어떻게 할까 생각했다. 작년에는 한 달 단위로 했던 일들을 정리했었는데, 올해는 하고 있는 일 단위로 정리해보려고 한다.

20대의 마지막, 그리고 건강

올해 나이가 29세다. 시나브로 20대의 마지막이 찾아왔다. 이런 말을 하기엔 너무 이를 수도 있지만, 나이를 먹는다는게 조금씩 느껴진다.

몇 일 뒤면 30대가 된다는 게 믿겨지지 않는다. 하지만 <서른 즈음에>라는 노래가 예전과 다르게 많이 와닿기에 실감하게 된다.

일단 많이 알고 지내던 고3 학생들과 잠시 떨어지게 된 시기였다. 수능 준비를 하기 위해 잠시 동안의 헤어짐이라고나 할까…

주말이면 찾아오던 학생들이 찾아오지 않게 되어 빈 자리가 많이 느껴졌지만, 그 사이를 다른 학생들이 채워줘서 잘 보낼 수 있었다.

예전에 비해 병원을 찾게 되는 횟수가 늘어났으며, 건강에도 적신호가 켜졌었다. 예전과 다르게 상당히 피곤할 때가 많아졌다.

여름 말에는 건초염인 줄 알고 찾았다가 통풍 진단을 받기도 했다. 요산 수치가 높은 줄은 알고 있었지만 그렇게 심각할 줄은 몰랐다.

그 이후에 약을 처방받고 관리를 해 지금은 조금 떨어진 상태다. 하지만 아직도 정상 수치보다는 높기 때문에 꾸준히 약을 복용하고 있다.

여름부터는 운동을 다니기 시작했다. 일반 체육관은 아니고 EMA라는 특수한 기구를 사용하며 전용 수트를 입고 하는 운동이다.

운동 시간은 약 20분인데 소모하는 칼로리는 600칼로리 내외로 시간 대비 꽤 효율이 좋다. 다만 단점이라면 가격이 매우 비싸다.

그래도 처음 운동한 이후로 체중 감량을 약 8kg 했으며, 현재도 다니고 있어서 내년에 추가로 10kg 감량하는게 목표다.

30대에는 더욱 더 건강 관리에 신경을 쓸 생각이다. 그리고 나를 위해 좀 더 투자해보려고 한다.

C++ Korea

올해 C++ Korea에서는 1회의 세미나와 1회의 스터디를 진행했다. 작년에 비해서는 활동량이 많이 줄었다.

개인적으로 많이 지치기도 했었고, 건강 상의 문제도 있었는데 내년을 위한 휴식기라고 생각하고 있다.

올해 관리는 대부분 혼자 맡았다. 하지만 내년에는 많은 일들을 준비하고 있어 그룹을 같이 운영할 3기 운영진 분들을 선발했다.

내년에는 최소 1~2회의 세미나와 스터디, 그리고 컨퍼런스 급의 행사를 주최하기 위해 준비하고 있다.

C++ Korea 제3회 세미나 - 뗼레야 뗄 수 없는 관계, 게임 개발과 C++!

세미나를 열 때는 이리저리 고민이 많다. 장소, 주제, 연사자, 후원 등 준비해야 될 게 너무나 많기 때문이다.

특히 C++ 언어와 관련이 있어야 하는 경우라면 더욱 그렇다. 연사자를 찾는게 너무 어렵기 때문이다.

다행이 Microsoft MVP 분들께서 연사자 제안에 흔쾌히 수락해주셔서 큰 문제 없이 진행할 수 있었다.

그동안 2번의 세미나를 거치면서 시행 착오를 몇 번 거쳤기에 이번에는 미리 준비를 많이 했다.

이번 세미나의 참석 인원은 170~180명 정도였고, 호응 면에서는 세미나 중 가장 좋았다.

하지만 무사히 끝내고 나서 뒤돌아보니 뭔가 아쉬웠다. 더 발전시킬 수 있을 수 있을텐데, 우리는 그저 현상 유지를 하고 있었던 것이다.

그리고 피드백을 받아 보니 생각보다 C++이라는 언어에 관심이 있는 분이 많았다. 더 많은 행사가 있었으면 좋겠다고 말씀하셨다.

이러한 생각은 결국 C++ 컨퍼런스라는 주제로 발전하게 되었고, 내년을 목표로 준비하고 있다.

C++ Korea Optimized C++ 스터디

스터디를 열 때는 두 가지를 생각한다. 첫째는 ‘스터디가 중간에 터지지 않고 무사히 마무리될까’, 둘째는 ‘비용 계산에 문제는 없을까’다.

Optimized C++ 스터디는 C++ 책 중 중~고급서에 속한다. C++ 언어로 개발을 하는 사람들이 좀 더 성능 최적화된 코드를 짤 수 있도록 돕는 책이다.

주제 때문인지는 모르곘지만 스터디 인원 수가 무려 39명이나 되었다. 대부분의 참가자가 대학생/직장인이었지만, 고등학생도 한 명 있었다.

근데 그 고등학생이 스터디 참가 비용을 내는데 어려움이 있어 그만두려고 했었다. 나는 어려운 스터디에 참가 신청한 고등학생의 용기를 무작정 져버릴 순 없었다.

그래서 비용을 내가 부담할테니 스터디에 참가해도 좋다고 했다. 스터디 비용은 매주 1만원 내외로 드는데, 학생의 미래에 투자하는데 쓰는 돈이라고 생각했다.

나중에 다른 분께서 그 학생의 스터디 참가 비용에 보태라고 돈을 지원해주기도 했다. 이 자리를 빌어 그 분에게 감사하다는 말씀을 드린다.

스터디는 3명씩 한 조를 이뤄 조마다 하나의 챕터를 읽어온 뒤 정리해 발표하고, 남은 시간에 질문과 답변을 받고 토론하는 형태로 진행했다.

끝날 때쯤엔 약 2/3의 인원인 20명 내외가 남았으며, 비용 계산은 문제없이 잘 마무리했다.

내년에는 템플릿 스터디를 시작할 예정인데, 6개월 일정의 대장정이라 조금 걱정되지만 열심히 해봐야겠다.

C++ Korea 3기 운영진 선발

앞에서 올해 관리를 대부분 혼자 맡았다는 이야기를 했었다. 그런데 내년에 계획한 일들이 혼자 하기엔 너무 벅차보였다.

그래서 새로운 운영진들 모집해 앞으로 할 일들을 논의하는게 좋겠다고 생각해 그룹에 모집글을 올리게 되었다.

생각보다 많은 분들이 지원해주셨고, 선발 과정을 거쳐 나를 포함해 총 10명의 인원이 내년 C++ Korea를 이끌어가게 되었다.

12월에 친목 도모 및 앞으로 그룹에서 진행할 일들을 이야기하는 모임을 가졌다. 학생, 직장인 등 다양한 분들이 함께하게 되었다.

우리는 모여서 자기 소개를 하고, 곧 진행할 스터디나 세미나, 그리고 내년을 목표로 준비하고 있는 컨퍼런스에 대해 많은 의견을 나눴다.

그리고 C++ Korea 홈페이지 제작, C++ 핵심 가이드라인 마무리에 대해서도 많은 이야기를 주고 받았다. 다양한 사람들과 함께하는 내년의 C++ Korea가 기대된다.

C++ 핵심 가이드라인 번역 작업

C++ 핵심 가이드라인 작업은 C++ 표준 위원회에서 만든 ‘C++ Core Guidlines’를 한국어로 번역하는 작업이다.

작년부터 작업을 시작한 이후, 많은 분들이 도와주셔서 많은 부분이 한글화되었다. 이 자리를 빌어 감사하다는 말씀을 드린다.

하지만 그 이후에 작업 속도가 굉장히 느려졌고 지금은 거의 멈췄다시피 한 상태다. 내가 게을러졌다고 밖에 설명하지 못할 것 같다.

지금은 한 분이 꾸준히 작업해주고 계셔서 풀 리퀘를 보내주실 때마다 검수를 도와드리고 있다. 검수라도 꼭 해드려야 할 것 같았다.

내년에는 좀 더 의욕을 내서 마무리 작업을 해야되지 않을까 싶다. 한 번 시작한다고 건드렸으니, 끝은 봐야하지 않겠는가?

C++ 컨퍼런스 ?

내년에 C++ 컨퍼런스를 열 계획을 하고 있다. 그 동안에는 반나절 형태의 세미나만 주최했었는데 판을 좀 더 키워보려고 한다.

좀 더 큰 장소에서, 좀 더 많은 사람들과, 좀 더 전문적인 세션으로 함께하고 싶은 마음이 컸다. 그래서 준비하고 있다.

1일이나 2일 규모로 진행할 생각이며, 해외에서 연사자 분을 초청하는 방안도 고려하고 있다.

아직 어떻게 한다고 확정된 건 없으며, 앞으로 운영진 분들과 함께 구체적인 계획을 세울 것이다.

내년에 좀 더 자세한 내용으로 인사드릴 예정이니 조금만 기다려주시길 바란다.

Microsoft MVP

운이 좋았는지 올해도 무사히 Microsoft MVP로 선정되었다. 그 동안에 했던 활동들이 큰 역할을 해준 것 같다.

MVP 덕분에 알게 된 사람도 많고, 나의 시야도 정말로 넓어지게 되었다. 나에게 많은 변화를 준 계기이기도 하다.

올해는 MVP Summit 행사가 없어서 그다지 쓸 말이 많지 않다. 내년 3월에 예정되어 있는데, 갔다 오면 쓸 말이 많아지겠지…

그리고 지금은 말할 수 없지만 MVP이기 때문에 기여할 수 있는 무언가를 하고 있다. 그것도 공개할 때가 되면 공개할 것이다.

번역 및 집필

올해 총 2권의 번역서를 냈다. 하나는 <러스트 핵심 원리>, 나머지 하나는 <모던 C++ 입문>이다.

러스트 핵심 원리

<러스트 핵심 원리>는 러스트 언어를 처음 배우는 사람이 보기 좋은 입문서다. 물론 지금은 버전이 바뀌어 읽기에 적합하지 않다.

러스트를 처음 소개했을 때는 C++의 대안이라고 각광받았으나, 생각보다 대중적으로 사용하지는 않아 많이 아쉬운 언어다.

내가 번역할 당시만 해도 안정된 버전이 아니라서 수시로 스펙이 바뀌어 잘 실행되던 코드가 실행되지 않는 문제가 있었다.

최근에는 버전이 상당히 안정화되어 사용하기에 무리가 없다. 그리고 실제로 사용하는 분들도 예전보다 많아졌다.

내년에는 러스트를 한 번 제대로 공부해볼까 생각하고 있다. 물론 공식 문서나 다른 책으로 배워야 할 것 같다.

모던 C++ 입문

<모던 C++ 입문>은 C++11/14 표준을 기반으로 C++을 처음 배우거나 C++을 알고 있지만 모던 C++을 처음 배우는 사람에게 적합한 책이다.

하지만 입문서라고 하기엔 난이도가 꽤 높다. 기존 C++ 입문서에서 다루지 않는 내용을 꽤 많이 다루고 있다.

예를 들어, 메타 프로그래밍을 80페이지에 걸쳐 설명하고 있으며, ADL이나 SFINAE, CRTP도 다룬다.

하지만 그 어떤 입문서보다 많은 내용을 다루고 있기에 이 책만 제대로 읽어도 초보자는 바로 벗어날 수 있을 정도다.

책을 검수하는 과정에서 번역을 누락했거나 엉터리로 번역한 부분이 많아 모든 내용을 다시 한 번 손봤다. 검수만 약 1달이 걸렸다.

그만큼 많은 노력을 들인 책이며, 번역의 중요성에 대해 다시 한 번 깨닫게 된 책이다.

오픈 소스

올해는 공부보다는 오픈 소스 프로젝트에 많은 시간을 투자했다. 수많은 프로젝트를 진행했지만, 기억에 남는 몇 개만 소개하고자 한다.

나머지 프로젝트에 대해 궁금하다면, 관련 링크를 통해 확인하길 바란다.

game-developer-roadmap

game-developer-roadmap은 올해 초에 화제가 되었던 웹 개발자 로드맵에 영감을 얻어 시작한 프로젝트다.

게임 개발자를 희망하는 사람은 많지만, 막상 무엇을 배워야 할 지 정리되어 있는 자료는 없어서 답답한 경우가 많다고 생각했다.

그래서 클라이언트 프로그래머는 나의 경험을 기반으로 작성했고, 서버 프로그래머는 허린 님이 많은 부분을 도와주셨다.

덕분에 지금은 Star 수가 500이 넘는, 그리고 꾸준히 하나씩 늘어나는 저장소가 되었다.

2018년을 맞아 새 업데이트를 준비하고 있으며 조만간 좋은 소식 전달할 수 있을 듯 하다.

CubbyFlow


CubbyFlow는 복셀 기반의 유체역학 시뮬레이션 엔진이다. 실시간 컴퓨터 게임에 사용하기 위한 목표를 두고 작업하고 있다.

김도엽 님이 집필하신 Fluid Engine Development라는 책을 보고, Jet 프레임워크를 기반으로 처음부터 만들게 되었다.

대학원 때 유체역학과 관련한 논문을 많이 읽게 되었는데, 그 때부터 흥미를 느껴 만들어 보고 싶었지만 막상 하기 쉽지 않았다.

그러던 도중 좋은 책이 나와 용기를 내 작업하기 시작했으며 지금은 어느 정도 궤도에 올라왔다고 생각하고 있다.

하지만 목표까지는 아직 갈 길이 많기에, 몇몇 학생들과 함께 꾸준히 작업하고 있다.

내년에는 제작한 엔진에 다양한 언어를 지원하는 API를 지원하고, CUDA를 통해 GPU도 적용해 보려고 한다.

그리고 딥러닝을 활용해 실시간에 사용할 수 있게 만들어 보려고 한다. 목표를 달성하면, 논문도 작성할 생각이다.

이 프로젝트는 현재 김동민 님, 김영중 님, 전승현 님과 함께 작업중이다.

Hearthstone++

Hearhstone++은 C++로 하스스톤 게임을 구현하고 강화 학습을 통해 여러 가지 의미있는 연구를 하기 위한 저장소다.

이 프로젝트를 시작하게 된 계기는 아주 단순하다. 하루는 하스스톤을 하고 있는데 여관 주인의 플레이가 너무 답답했다.

플레이어라면 하지 않은 플레이를 하길래 ‘아, 여관 주인의 뇌를 바꿔야겠다.’라고 느껴 시작하게 되었다.

현재 프로젝트는 초기 단계이며, 카드 데이터를 불러와 카드를 검색하고 덱을 짤 수 있는 기능이 구현되어 있다.

내년부터는 게임 플레이 부분을 구현할 예정이며 게임 구현이 끝나면 강화 학습을 위한 작업을 진행할 예정이다.

이 프로젝트는 현재 김영중 님, 전승현 님, 김성현 님과 함께 작업중이다.

마치며

올해 참 많은 일이 있었다. 이렇게 적고 나니 그래도 마냥 놀지는 않았다고 생각했다.

그래도 다른 해에 비하면 많이 게을렀다고 생각한다. 잠시 멈춰놓은 오픈 소스 프로젝트가 너무 많다.

또한 새로운 책을 번역해야 하고, C++ 책을 집필해야 한다. 그만큼 내년에도 할 일이 많다.

30대의 시작이다. 이제는 좀 더 전문성을 발휘해야 할 때가 아닌가 생각해 본다.

내가 갖고 있는 능력을 최대한 발휘해 최고의 성과를 남기는 한 해가 되었으면 좋겠다.