1. 기술 블로그, 그 첫걸음
요즘 많이들 이용하는 github
를 사용해서 기술블로그를 시작해 볼까 한다. 평소에 글쓰는 것도 좋아하는 편이고 뭔가를 만들어내는 과정 자체를 즐기는 성격이다 보니 대학생 초반에 네이버 블로그를 운영하기도 했었다. 그때는 주로 공부 방법등에 대해서 포스팅 했었는데 생각외로 많은 사람들이 찾아주었고 반응이 좋아서 그 당시에 하루 종일 포스팅 글만 작성했었던 기억이 있다. 마지막엔 결국 컨텐츠 부족으로 블로그를 계속 하지는 못했지만 나중에 정말 다른 사람과 쉐어할 만한 나만의 컨텐츠가 생긴다면 다시 한번 시작해 봐야겠다는 생각은 항상 가지고 있었다. 아마 이런 생각이 몇년이 지난 지금 github
를 통해 기술블로그를 새로 만들어보게 되는 계기가 된 것이라 생각한다. 구구절절 한 내용은 각설하고 내가 이 블로그를 만들게 된 목적은 무엇이며, 어떤 내용을 주로 다루려 하고, 또 블로그 자체는 어떻게 개발되었는지를 간단히 설명하고자 한다. 후에 나처럼 개인적인 만족(?) 을 위해서 기술블로그를 시작하려는 사람에게 이 글이 조금의 동기부여와, 기술적인 허들을 낮춰줄 수 있는 좋은 포스팅이 되면 좋겠다.
2. 머신러닝/딥러닝에 관한 이야기
나는 카이스트에서 머신러닝, 그 중에서도 딥러닝 관련 기법들을 관심있게 연구하고있는 AI 엔지니어다. CS (Computer Science) 쪽 트렌드가 한달이 멀다하고 바뀌다 보니 항상 공부해야하고, 또 공부한 것을 다른사람들과의 토론을 통해 완전히 내것으로 만들 필요가 있다. 때문에 이 기술블로그에게는 내가 가장 최신의 딥러닝 기법들에 관한 논문을 읽고 분석하고 기록하는 저장소
의 역할과 나보다 더 잘 하는 능력있는 사람들과 댓글 등을 통한 토론장
으로서 역할을 기대하고 있다. 물론 미약하나마 내가 포스팅한 글을 읽고 이제 막 딥러닝쪽 연구에 입문한 후배님들에게 도움을 줄 수 있다면 그것 또한 의미 있는 일일 것이다. 이 블로그를 굳이 머신러닝 기법에 한정해서 기술적인 내용만 리뷰하는 딱딱한 블로그로 만들고 싶지는 않다. 내가 이쪽분야에 종사하면서 겪는 경험들, 일상 생활들, 감명 깊었던 세미나등 다양한 컨텐츠로 포스팅 해보려 한다.
3. github, jekyll, bootstrap
나는 github
를 이용해서 블로그 개설이 가능하다는 것을 불과 얼마전에 알았다. 버전관리용으로 만들어진 github
에서는 사용자 블로그를 위한 도메인을 무료로 제공하고 있으며 jekyll
등의 툴을 이용하면 누구나 쉽게 시도해 볼 수 있다. 물론 약간의 CSS + html
관련 배경지식을 필요로 할 수 있지만 jekyll
의 레이아웃 등의 구성 원리만 파악하면 초보자들도 쉽게 따라할 수 있는 수준이다. 사실 github
와 jekyll
를 이용한 블로그 개설방법은 구글에 검색하면 관련 포스팅을 많이 찾을 수 있다. 때문에 본 포스팅에서는 블로그 개설과정에서 많은 도움이 되었던 사이트/블로그의 url과 내가 세팅한 환경등에 대한 간단한 소개만 하고, 다음 포스팅에서 jekyll
과 bootstrap
이 github
블로그에서 어떻게 동작하는지에 대해 자세히 이야기 하고자 한다.
참고하면 좋은 레퍼런스 사이트들
그럼 먼저 Jekyll을 이용해서 블로그를 개설하는 방법부터 알아야겠다. 사실 Jekyll을 기반으로 여러가지 레이아웃으로 이미 만들어진 테마들이 공유되고 있기 때문에 블로그 개설 자체는 그리 어렵지 않다. 다만 언제나 그렇듯 조금만 하다보면 나만의 블로그
를 만들고 싶은 욕심이 생기지 않는가? 그러려면 기본적으로 어떻게 지킬이 동작하는지를 알아야하기 때문에 위에 모아놓은 레퍼런스 사이트를 뒤져가며 차근차근 따라해 보는 것을 추천한다. 나 역시 github로 블로그를 만드는 것은 처음이었기 때문에 처음에는 테마를 적용해보는 것
부터 시작했고, 그 후에는 가장 마음에 드는 지킬 테마를 기반
으로 레이아웃이나 CSS 등을 수정해가면서 이 블로그를 구축했다.
이것 저것 레이아웃을 건드리다보니 Bootstrap
의 존재를 알게되었다. 부트스트랩이란 쉽게말해서 CSS와 자바스크립트
로 구성된 웹 개발 프레임워크인데 트위터 개발자들이 개발한 툴이다. 이 부트스트랩
이라는 게 참 물건인 것이 정적 웹페이지를 구성하는 거의 모든 요소들에 대해서 스타일시트로 미리 정의하여 제공하고 있기 때문에 정말 손쉽게 웹사이트 레이아웃 구성이 가능하다. 그 뿐만 아니라 기호, 버튼, 드롭다운, 페이지네이션
등의 콤포넌트
등도 제공하고 있고 Affix, 팝오버, 탭
등의 플러그인 기능
들을 자바스크립트로 정의하여 제공한다. 이러한 여러가지 기능들을 단순히 bootstrap.min.js
파일과 bootstrap.min.css
파일을 인클루드 하는 것만으로 구현할 수 있다. (.min
의 의미는 최소화된 파일이라는 의미이다. 기능상 구현은 동일하다.) 굳이 어렵게 이야기 할 것 없이, 부트스트랩 파일만 인클루드하면 레이아웃이고 버튼이고 각종 애니메이션 기능이고 할 것없이 모두 자유자재로 구현이 가능하다는 뜻이다. Jekyll
이 github
블로그의 큰 틀을 마련해주는 텍스트 변환 엔진
이라면 부트스트랩은 그 틀 안에서 자유자재로 사용가능한 웹사이트 구축 도구
이다. 부트스트랩을 어떻게 사용하는 지에 대해서는 추후에 따로 포스팅을 할 예정이다.
4. 마무리 지으며
처음엔 장난 반 호기심 반으로 건드려보기 시작한 기술블로그 구축이 어느새 생각보다 큰 프로젝트가 되어버렸다. 하면 할수록 넣고 싶은 기능도 이것 저것 많고 내가 모르던 영역을 알아가는 재미가 쏠쏠하다. 나의 경우엔 물론 프로그래밍에 대한 경험은 적지 않지만 HTML
이나 CSS
, 심지어 마크다운(Makrdown)
조차도 거의 써보지 못했기 때문에 어느정도 헤멘 감이 없지 않다. 하지만 이렇게 하나하나 알아가는게 개발의 묘미
가 아닌가 싶다. 그만큼 하고자 하면 초보자라도 누구나 자신만의 블로그를 개발할 수 있도록 엄청난 고수분들
이 이미 다 해놓았고 우리는 숟가락만 얹으면 된다 :) github로 블로그 시작하기
는 아마 시리즈물로 포스팅 할 것 같은데, 지금 이 포스팅이 인트로같은 느낌이었다면 그 다음 포스팅들은 하나하나의 과정들을 면밀히 살펴보는 글이 될 것 같다. 먼저 Jekyll이 어떻게 작동하는지
, 그리고 부트스트랩은 어떻게 사용하면 좋은지
등이 될 것 같다. 애초에 머신러닝에 관한 이야기를 하려고 만든 블로그인데 어쩌다보니 개발이야기를 많이 하게 되었다. 하지만 앞으로도 이 블로그는 60% 정도의 머신러닝 이야기
와 30% 정도의 개발 이야기
, 그리고 10% 정도의 일상생활 이야기
정도로 꾸며보고 싶다. 앞으로 이 블로그를 통해 좋은 사람들과 많이 교류할 수 있는 기회가 있으면 좋을 것 같다.