어느덧 2016년 마지막 날입니다. 올 한해 역시 정신없이 지나갔고 작년에 태어난 딸도 돌을 지나고 어느새 python 개발 서적을 읽을 정도의 나이가 되었습니다(위 사진 참조). 회사는 6주년을 맞이했고 올해 처음으로 일반 고객을 대상으로한 서비스를 오픈했습니다. 서비스를 운영하면서 느낀 점도 많지만 일단은 블로그에 대해 한해를 마무리하는 회고를 하려고 합니다.
10년 전쯤 블로그를 처음 시작하고 방치하고 삭제하고 다시 만들고 방치하고 삭제하고를 반복했습니다. 애초에 글을 쓸 실력이 안되었고 특별한 목적을 가지고 만들지 않았기 때문에 내용도 부실하고 방문자수도 없는 상황이였습니다. 그러다 2016년 5월 30일 다시 블로그를 만들었고 첫번째 글 “홈쇼핑처럼 개발후기“가 반응을 타면서 몇 개 글을 더 썼고 7월 이후 다시 방치..되고 있습니다.
블로그 구성
현재 블로그는 jekyll 엔진을 이용하여 github에서 정적 문서로 제공되고 있습니다. 이 방식은 무료면서 디자인을 자유롭게 구성할 수 있고 마크다운 문서로 편리하게 글을 관리할 수 있습니다. 네이버 블로그나 티스토리, 브런치같은 무료 호스트 방식은 커스터마이징등 기능에 제한이 있고 wordpress나 ghost와 같은 설치형은 자유롭게 수정할 수 있으나 서버 및 버전 관리가 귀찮은 점 때문에 최종적으로 jekyll+github 방식을 사용하였습니다.
jekyll skin은 mediator를 fork한 후 폰트와 가로폭, 줄간격, 로고, 코멘트 방식, 이전/다음글 목록을 한땀한땀 수정하여 보는 사람이 편하게 볼 수 있도록 최대한 노력하였습니다. medium과 브런치가 워낙 이뻐서 많은 영향을 받았습니다. (medium은 윈도우에서 한글폰트가 꽝입니다.)
글 작성은 atom에디터에서 Markdown Preview 기능을 이용하여 작성하고 있고 코드는 gist를 사용하였습니다. gist는 코드관리가 편하고 다양한 언어의 syntax highlighting을 지원하여 아주 이쁘게 표현해 줍니다. 차트나 순서도는 Lucidchart를 이용하고 있는데 단순하게 쓰기에 무료플랜도 전혀 문제없고 아주 쉽고 빠르게 그럴듯한 결과물을 만들 수 있습니다. 블로그뿐 아니라 시스템 구성도나 프로세스를 설명할 때도 자주 사용하고 있습니다. 특히 Titillium 폰트와 함께 사용하면 깔끔해 보입니다. 색을 선택하기 어렵다면 flatuicolors서비스를 추천합니다.
올 해 쓴글
처음 글을 쓸때는 1주일에 한개를 목표로 하였으나 최종적으로 5개밖에 쓰지 못했습니다. (…) 첫번째 글인 홈쇼핑처럼 개발후기는 하루만에 페이지뷰가 10,000을 돌파하는 예상외의 폭발적인 반응과 우려을 얻었고 파워블로거를 해볼까..라는 헛된 생각과 블로그의 주제에 대해 많은 고민을 하게 해주었습니다.
이후에 작성한 도커를 이용한 웹서비스 무중단 배포하기도 반응이 좋아 7월경에 “홈쇼핑처럼x개발자처럼_첫번째이야기”라는 오프라인 모임도 갖게 되었습니다.
이 때 후기를 정리하여 6번째 글을 작성할 예정이였으나 결국 올해를 넘기게 되었습니다. ㅠㅠ 이부분은 아마 내년 초에 작성할 것 같습니다. 그 때 참여해 주셨던 분들 모두 감사드리고 좋은 말씀 나누어서 뜻깊은 시간이였습니다.
3번째 글인 Go언어로 오픈소스 배송조회 서비스 만들기도 많은 분들이 읽어주셨고 관련하여 오픈한 delibird 소스는 아주 활성화 되지는 않았지만 좋아요는 100개를 넘겼습니다. ㅎㅎ 마성의 언어인 Go에 대해 요즘 사용이 뜸해져서 개인프로젝트에 다시 사용해 보려고 하고 있습니다.
4번째 글인 왜 React와 서버 사이드 렌더링인가?는 React를 꽤 사용해보고 적었다고 생각했는데 그 이후로 React에 대해 몰랐던 부분을 많이 배웠고 글 쓴 당시보다는 React에 꽤 실망하고 있습니다. React는 여전히 매력적이고 계속해서 한동안 사용할 것 같지만 3rd party 라이브러리들에서 은근 문제가 많이 발생하고 디렉토리 구조나 사용패턴등이 너무 다양하여 선택자체에 시간과 고민이 너무 많이 소요되었습니다. 많은 고민 끝에 어느정도 패턴을 정형화 하여 사용중이긴 하나 아직 확신이 들지 않습니다. 이 부분은 어느정도 더 정리가 되면 포스팅 하려고 합니다.
5번째 글인 linter를 이용한 코딩스타일과 에러 체크하기는 다른글에 비해 급하게 작성하였는데 역시 페이지뷰에서 증명되었습니다. 오랫동안 생각하고 정리한 글이 확실히 반응이 좋았던 것 같습니다.
어려운점
개발자 중에서 글을 재밌고 논리정연하게 잘 작성하는 고오오급 개발자 분들도 많지만 저 같은 경우는 글쓰기 자체가 어려웠습니다. 글을 쓰는 것 보다 코드를 한 줄 더 작성하는게 좋고 잘 정리하고 이해하기 쉽게 쓰려면 시간이 꽤 많이 필요했습니다. 일이 먼저, 글은 나중이 되다보니 쓸 시간은 점점 더 없어지고 집에서도 아기와 함께하느라 시간내기가 어려웠습니다. 이부분은 부지런해지는 수밖에 없는 것 같습니다.
그리고 주제를 정하는 것이 특히 어려웠습니다. 흔한 주제는 쓰기는 쉽지만 차별화가 어렵고, 좋은 외국 개발자의 글을 번역하는 것은 내용이나 의미가 바뀔까봐 쓰기가 어려웠습니다. 많이 하고 잘 아는 분야에 대해 글을 써야 하는데 알면 알수록 모르는게 많아지는 개발공부의 특성상 부정확한 정보를 작성하는 것에 대한 두려움이 글을 쓰기 어렵게 만드는 것 같습니다.
내가 직접 경험한 내용과 남이 경험한 내용을 들은 것, 내가 직접 확인한 것과 거의 확실하다고 추측되는 것등을 적절하게 선택하여 글을 쓰려면 많은 고민이 필요하고 더더욱 글을 쓰기 어렵게 만듭니다.
그래서
개발 관련 글을 쓰거나 발표를 하면 자칫 입으로 개발을 하는 사람(입개발)이 되는 경우가 있습니다. 허세와 건방짐이 있는 것처럼 보이는데 이러한 부분이 무조건 나쁘다고 생각하지 않습니다. 문제는 무조건 내가 맞다고 주장하거나 피드백을 받아 들이지 못하는 경우라고 생각합니다.
글을 쓰려면 틀릴걸 각오하는 용기가 필요합니다. 이러한 것이 없다면 모든 걸 다 알기 전까진 글을 쓰지 못할 것이고 “Done is better then perfect”라는 말처럼 어쨋든 무언가를 하는 것이 낫다고 생각합니다. 글을 쓰면서 생각을 정리하고 모호했던 부분을 다시 공부하고 많은 사람과 피드백 속에 더 좋은 결과가 나오는 것 같습니다.
많은 글을 쓰진 못했지만.. 많은 분들이 글을 좋게 봐주셔서 감사한 한해였고, 내년에는 좀더 부지런하게 글을 쓰도록 해야겠습니다.
새해 복 많이 받으세요.