Notion blog에서 Github blog로 옮기는 이유

최근 cv-learn 블로그를 쾌적한 환경으로 옮길 계획을 세웠습니다. 단순한 공부 노트에서 시작한 cv-learn인데, 이제는 어떻게 하면 좀 더 명쾌하게 컴퓨터 비전과 SLAM에 대한 정보를 전달할 수 있을지 고민을 하게 되더라구요. 우선 CV, SLAM, 그리고 cv-learn 블로그를 사랑해주신 많은 분들께 감사를 드립니다.

오늘은 과거부터 현재까지 cv-learn 블로그가 어떤 변화를 거쳐왔고, 또 블로그 이사를 위해 고민하고 직접 사용해봤던 다양한 플랫폼들을 비교해보도록 하겠습니다.

</br>

0. 태초에는…


가장 초기의 cv-learn은 Notion.so 의 기본 페이지 템플릿을 사용하였습니다. Notion을 사용해서 글을 적는 것은 굉장히 편합니다. WYSIWYG (What you see is what you get) - 바로바로 눈에 보이는 대로 적을 수 있기 때문에, 의식의 흐름이 끊기지 않고 적을 수 있다는 것이 Notion의 가장 큰 장점이라고 생각합니다. Notion의 위젯도 굉장히 이쁩니다.

하지만 Notion에는 큰 단점이 있습니다. 하나도 아니고 사실 몇개가 있습니다.

  • 첫번째로는 읽기 어려운 페이지 url 입니다. url만 봐서는 글의 내용이 전혀 추측이 되지 않습니다.
  • 두번째로는, Notion 글들의 url 주소는 글의 제목이 바뀌면 새로운 url 주소를 가지게 되는 점 입니다. 글의 제목을 조금 수정하면 이전에 Facebook 등의 소셜 스크랩으로 공유했던 주소로는 해당 글에 접근할 수 없게 됩니다. 이 때문에 저는 글의 초안을 작성할 때 무조건 제목의 내용을 픽스해야했는데, 이 점이 굉장히 답답했습니다.
  • 세번째로는, 카테고리 탐색 및 글 검색 기능이 없습니다.
  • 마지막으로, 페이지 로딩이 굉장히 느립니다.

이러한 단점들 때문에 다른 플랫폼으로 옮기는 것을 고려하게 되었습니다.

</br>

1. 노션 페이지의 진화 → cv-learn.com


첫번째 대안으로는 Github pages 를 고려했습니다. Notion처럼 Inline maths도 되고, 카테고리 탐색 기능도 있고, url 주소도 마음대로 만들 수 있습니다. 하지만 저장소의 용량 제한이 있습니다. 이는 학회에서 촬영한 영상 업로드가 어렵다는 것을 의미합니다.

둘째는 Tistory 블로그였습니다. 컴퓨터 비전 블로그의 조상, 다크프로그래머님 블로그도 Tistory 블로그를 사용하죠, 저 역시 눈이 갈 수 밖에 없었습니다. 하지만 Notion 에서 다양한 블록들을 사용하다가 이쁜 블록이 없는 Markdown 형태로 적는 것은 생각보다 많이 불편했습니다.

셋째는 Notion 블로그를 호스팅하는 것이였습니다. 이 방법을 사용하면 Notion의 이쁜 블록 기능을 계속 사용하면서 빠르게 글을 적을 수 있었습니다. 호스팅을 통해 url 등의 문제 역시 해소할 수 있었습니다. 초기에는 Inline maths 기능이 없어서 불편했지만, 이 기능도 곧 Notion측에서 구현해줬습니다.

Notion 블로그 호스팅이 가장 좋은 옵션으로 보였고, cv-learn 블로그라는 이름으로 다시 태어나게 되었습니다. 아래 모습이 여러분이 기억하시는 cv-learn 블로그의 모습입니다.

잠깐 다른 얘기를 하자면… 사실 cv-learn 블로그의 이름은 원래 cv-learn이 아니였습니다. 원래는 TorchVision 이라는 이름으로 시작했었죠. 하지만 이 이름은 호스팅을 위한 도메인을 찾을 때 크게 문제가 되었습니다. PyTorch에서 이미 TorchVision이라는 이름을 쓰고 있었습니다. 여러 고민을 하다가, 컴퓨터 비전을 공부하는 블로그이니, cv-learn이라고 짓기로 했습니다.

http://cv-learn.com 도메인을 사고 난 후, Cloudflare 호스팅 서비스를 통해 javascript 워커 할당을해서 노션 렌더링을 하였습니다. 이 도메인 아래에서 cv-learn 블로그를 운영하게 되었습니다. 많은 분들께서 감사하게도 cv-learn 블로그를 찾아주셨고, 어느새 최신 글이 한두달 가까이 나오지 않았음에도 한달 약 1500명 정도씩 꾸준하게 방문해주시는 블로그가 되었습니다.

</br>

2. 새로운 플랫폼으로의 이전


하지만 Notion + Cloudflare 호스팅도 완벽하진 않았습니다.

우선 cv-learn 도메인을 사용하기 위해 비용을 지불해야 했습니다. 3년? 5년에 약 5~7만원 정도였던 것으로 기억합니다. Cloudflare는 무료 호스팅 플랜을 사용하고 있었는데, 이 방식으로는 하루에 약 10만건의 request 를 허용할 수 있었습니다. 초기에 저는 이 ‘request’를 접속 수로 이해했고, ‘내 블로그에 하루에 10만명의 접속자가 생길리가 없지’ 하던 참에 아래와 같은 이메일을 받았습니다.


???

왜???

사실 Notion 페이지는 실시간 업데이트를 유지하기 위해 누군가 접속중이라면 정기적으로 최소 몇백건씩 request를 날리는 구조였습니다. 실제로 10만명이 제 페이지에 접속해야 문제가 생기는 것이 아니였던 것입니다. 오히려, 지금처럼 하루에 ~100명정도 오시는 지금의 상황이 위태로운 상황이였습니다. 실제로, 새 글을 올렸을 때 Daily request limit을 넘긴 적도 있어서 블로그가 로딩이 되지 않는 경우도 있었습니다.

이 문제를 해결하는 간단한 솔루션은 Cloudflare의 유료 플랜을 통해 Daily request limit을 높이면 됩니다. 다만… 제가 이 블로그로 수익을 창출하는 것도 아닌데, 도메인 구매 + 유지에 돈을 쓰고 호스팅까지도 돈을 쓰기에는 너무 과한 것 같았습니다. 그리고 무엇보다 지인 분들의 멋진 기술 블로그를 보면 저처럼 돈을 따로 들이지 않으시더라구요. 나도 저렇게 할 수 있지 않을까,라는 생각이 들었습니다.

그렇게 새로운 플랫폼으로 두번째 블로그 이사 플랜을 세우게 되었고, 기왕에 이사가는거 커져버린 cv-learn을 좀 더 좋은 플랫폼에서 서빙하고 싶다는 생각에 이번에는 몇가지의 제약조건을 더 걸었습니다.

  1. 무료 호스팅 + 빠른 로딩
  2. cv-learn의 이름을 유지할 수 있는 플랫폼
  3. LaTeX 입력 가능
  4. Google 및 검색 엔진에서 노출 가능
  5. 댓글 기능 가능

이 조건들을 충족할 수 있는 플랫폼들은 Tistory, Velog, Github-pages가 있었습니다.

</br>

3. Tistory vs Velog vs Github-pages


Tistory를 가입하고, Notion2Tistory 라는 툴을 사용해봤습니다. 이 툴은 Notion에서 작성한 글을 특유의 블록 형태까지 그대로 Tistory로 복사할 수 있게 해주는 툴입니다. cv-learn에 작성한 글들을 그대로 Tistory에 복제하려고 해봤습니다만… 막상 옮기다보니 예전 내용을 조금 수정하고 싶은 생각이 들더라구요. 하지만 이 툴로는 한번 내용을 복제하고나면 Tistory 에디터에서 글 내용을 다시 수정하기 까다롭다는 단점이 있었습니다.

Velog의 경우, 지인이 사용을 권유하기도 했습니다. Velog는 우선 cv-learn 보다 로딩속도가 빨랐고, 그리고 Velog 플랫폼 내에서 내 글이 자동으로 홍보가 된다는 점도 좋았습니다. 개발자가 주된 플랫폼이라는 것도 좋았습니다. 하지만 Google에서 검색 노출이 거의 되지 않았습니다. 따로 SEO를 걸지 않은 cv-learn 블로그가 오히려 검색이 더 잘 되는 느낌이 들었습니다. 이 점 때문에 Velog를 선택하기가 꺼려졌습니다.

Github-pages가 대부분의 고민을 해결해줄 수 있었습니다. 무료 호스팅에, cv-learn 이름도 지킬 수 있고, 테마도 제 마음대로, LaTeX 입력도 쉽고, SEO 설정도 할 수 있습니다. 댓글은 Disqus나 다른 시스템을 연결하면 되었구요. 무엇보다, 제 주변에 멋지신 두분이 운영하시는 블로그들이 Github Pages 였기에 많은 아이디어들을 얻을 수 있었습니다 (항상 감사합니다 hoya012 블로그, jinyongjeong 블로그!).

하지만 Github-pages는 Tistory나 Velog 등에 비해 손이 많이 갑니다. 그냥 글을 쓰고 싶을 뿐인데, static site generator를 깔고 설정해야하고… 여간 귀찮은게 아닙니다. Static site generator에는 Jekyll, Hugo, Hexo, Gatsby 등등 다양한 시스템이 있었는데, 그 중 저는 Hexo를 우선 선택하였습니다. 별 다른 이유는 없습니다. Jekyll은 ruby를 쓴다는게 마음에 들지 않았고 (저는 ruby가 무슨 언어인지도 잘 모릅니다…), 그 다음에 골라본게 Hexo인데 생각보다 쉬워서 정착했습니다. Hugo가 더 빠르고 좋다고 하는데, 천천히 테스트해보고 바꿔야한다면 늦지 않게 바꿔볼 생각입니다. 어찌되었건, Hexo를 사용하면서 이쁜 블로그를 빠르게 셋업할 수 있었습니다.

현재까지의 블로그 구성은 매우 만족하고 있습니다. Github 아이디로 댓글을 달 수 있는 플러그인도 있고, 카테고리/태그 등으로 게시글을 구분할 수 있고, 속도도 굉장히 빠릅니다. LaTeX도 물론 입력 가능하고, 자동으로 SEO도 설정이 됬습니다.


4. 앞으로…


2020년 11월 24일 현재 이 블로그는 cv-learn.com 에 연결되어있지 않습니다. 빠르게 글을 이전하고, 새로운 글도 적어가면서 어느정도 준비가 되었을 때 도메인을 이전하려고 합니다. 이번 글이 테크 블로그 개설을 고려하시는 분들께 도움이 됬길 바라고, 또 앞으로도 cv-learn 블로그에 많은 관심 부탁드립니다!





게시글 공유:Twitter, Facebook, and LinkedIn