🔰
내가 개발 블로그 플랫폼으로 Github과 Jekyll을 선택한 이유

네이버 블로그, 티스토리, 워드프레스를 거쳐 Jekyll에 자리잡았습니다.

Posted by 재그지그 on July 07, 2018

Blog Jekyll


많은 개발자분들께서는 자기만의 개인 기술 블로그를 하나 갖고 싶어 합니다. 알고 있는 지식을 정리하고, 지식을 다른 사람들에게 전달하며, 나의 포트폴리오를 정리하는 것처럼 각양각색의 다양한 동기를 갖고 말이죠. 심지어 최근에는 개발자 채용 공고에서 개인 블로그가 있을 경우에 좀 더 우대해주는 경우도 볼 수 있습니다. 그 만큼 개발자의 지식을 문서로 정리한다는 행위 자체가 예전보다 꽤 큰 의미를 갖게 되었습니다.

사실 새로운 무언가를 배우는 것도 어렵지만, 그걸 다른 사람에게 설명하기 위해 글을 쓴다는 것 자체는 더욱 힘든 일이거든요. 저 같은 경우는 다른 개발자분들의 멋진 블로그들 목록을 보고 자극을 받아 시작하게 되었습니다.

그 과정에서 블로그를 실행할 플랫폼을 결정해야 하는데… 네이버 블로그, 티스토리, 워드프레스 등 다양한 플랫폼을 이용해보았지만, 문제는 글을 썼는데 예쁘지가 않고 뭔가 허접해보였습니다. 결과물을 보니 뭔가 글을 쓸만한 의욕이 생기지를 않더군요. 디자인적으로 흥미를 끄는 요소가 많이 부족해보여서, 괜찮은 템플릿을 찾아보기도 하고 관련 자료를 찾아보기도 했습니다. 그런데 이게 참 핑계 같지만, 뭔가 시험기간 때 공부하려고 책상에 앉았는데… 정작 하라는 공부는 안하고 책상 정리하다가 하루가 다 가는 기분이었습니다. 정작 글을 쓰는 시간보다, 그 환경을 세팅하는 데 더 많은 시간을 투자하고 있었던 것이죠.

나를 Jekyll로 이끌게 된 배경

아무튼 여러 플랫폼들을 돌아다니다 보니, 현재는 Github에 자리를 잡았습니다. 제가 Github으로 오게 된 이유는 Github에서 제공하는 서비스가, 제가 필요로 하고 있는 것들과 일치하는 부분이 매우 많았기 때문입니다. 블로그를 만들고 싶으면서도 아직 블로그 플랫폼을 정하지 못하셨고, 그 이유가 저와 상당히 공통적인 분이라면, Jekyll을 한 번 고려해보는 것도 나쁘지 않아 보입니다.

  1. 딱히 동적인 컨텐츠(데이터베이스 연동 등)없이 간단하게 개인 지식 정리를 원하시는 분
  2. 직접 커스터마이징 할 수 있는 블로그 플랫폼을 필요로 하는 분
  3. 개발과 관련된 코드 관리를 편하게 하고 싶은 분

개인적으로는 아래와 같은 사전 지식이 있다면 더욱 좋다고 생각합니다. 꼭 필요한 건 아니지만, 구조 이해에 도움이 많이 됩니다.

  1. 프론트엔드(HTML, CSS, JavaScript, 필요에 따라 jQuery)에 대한 기본 지식
  2. Git에 대한 경험
  3. 템플릿 엔진(Handlebars, Liquid)에 대한 경험

내가 경험한 Jekyll의 장점

우선 Github 블로그를 사용할 경우에는 다음과 같은 장점이 있습니다.

  • Github에서는 무료로 개인 사용자를 위한 도메인과 서버를 제공해줍니다.

예를 들어, 사용자 이름이 wormwlrm라면, wormwlrm.github.io라는 도메인을 제공하는 식입니다. 게다가 블로그에 자동으로 https를 지원해줍니다. 네이버 블로그나 티스토리를 썼을 때는 이게 정말 당연한 건 줄 알았습니다. 하지만 제가 워드프레스를 쓰기 위해 AWS 서버 열고 도메인 붙이는 등 각종 환경 세팅을 한 번 경험해봤는데, 일단 너무 귀찮고(…) 돈이 들어서 생각보다 환경 세팅에 신경이 많이 쓰입니다. 게다가 그냥 구매하면 돈이 드는 .io 도메인을 무료로 제공합니다. 물론 개인 도메인을 따로 구입하여 기본으로 제공되는 도메인 대신 사용할 수도 있습니다.

  • 기본적인 웹 개발을 알고 있다면, 테마를 편리하게 수정하고 관리할 수 있습니다.

저는 웹 개발 경력은 1년 정도밖에 안 되었지만, 제가 Jekyll이 다른 블로그 플랫폼과 다르게 매력을 느낀 점 중 하나가 바로 사용자의 로컬 컴퓨터에 개발 환경을 설치할 수 있다는 것입니다. 다른 블로그 플랫폼들은 대부분의 블로그 관리를 해당 홈페이지에 직접 들어가, GUI로 구성된 설정을 건드리는 제한적인 방법만 제공합니다. 물론 티스토리나 워드프레스 같은 경우에는 사용자가 부분적으로 직접 코드를 수정할 수 있지만, 문제는 이 때문에 생산성이 떨어지고 해당 설정이 WYSIWYG를 해치는 문제가 생겼습니다. 따라서 만약 어느 정도 웹 개발에 경험이 있는 사람이라면, 일반적인 웹 개발 환경에서 블로그를 관리할 수 있는 Jekyll이 충분히 매력적으로 다가옵니다.

  • 코드 관리가 편리합니다.

개발 블로그를 시작하게 되는 가장 중요한 이유가 바로 나의 코드를 공유하기 위함입니다. 네이버에서는 코드 관리 도구가 있긴 하지만 좀 심심하고, 워드프레스에서는 기본적으로 제공하고 있는 코드 관리 도구가 없어 플러그인을 추가로 다운로드 해야 하는데, 마땅히 마음에 드는 것을 못 찾았습니다. Github 블로그는 온전한 개발 환경을 제공하는 만큼, 오픈소스인 highlight.js를 이용해 블로그에 적용시켜 볼 예정입니다.

Jekyll이 항상 최선의 선택은 아니다

현재 이 글을 로컬 컴퓨터에서 작성하고 있는 중

물론 이 글을 제 개인적인 경험이므로, 글을 읽으시는 분들과는 견해가 다를 수 있습니다. 각 플랫폼마다 장점과 단점이 있기 마련이지요.

Jekyll 역시도 단점이 있다면, 커스터마이징이 자유롭다는 특징이 오히려 초기 환경 세팅에 시간이 더 많이 걸릴 수도 있습니다. Jekyll 자체로는 단순히 html로 작성된 글을 정적으로 렌더링 해준다는 특징 밖에 없어, 추가적으로 블로그에 필요한 기능들을 직접 구현해야 하기도 하고요.

글을 추가하거나 수정하려면, 로컬 컴퓨터에서 해당 글을 수정할 수 있는 환경 또한 갖추어져 있어야 합니다. 혹시라도 모바일 환경에서 글 쓰는 것을 좋아하시는 분이 있다면, Jekyll은 다시 한 번 생각해보셔야 할 수도 있겠네요. 그리고 평소에 WYSIWYG 에디터를 자주 쓰시던 분이라면, 이런 HTML 및 마크다운 문법이 불편하실 수도 있습니다.

하지만 이러한 단점을 차치하고서라도, 조금의 노력만으로 깔끔하면서도 개발에 특화된 블로그를 쓸 수 있다는 점은 높이 평가할 만 합니다. 게다가 필요한 기능을 커스터마이징으로 추가할 수 있다는 건 개발자로서는 극복해야 할 일이기도 하고요. 앞으로 Jekyll과 더 친해지도록 많이 노력해 봐야겠습니다.