관리할 수 있는 범위에서 작은 프로그램을 만드는 것

by gg582 · 2026-08-26 11:44:12 · 3 views

Table of contents

온전히 관리할 수 있다는 것이 무슨 이점을 줄까요?

언뜻 보기에는 관리할 수 있는 프로그램을 만든다는 것에 별다른 효용이 없어 보입니다. 우리는 이와 같은 CRUD 웹 블로그를 직접 작성할 필요도 없으며, 심지어 티스토리나 Velog같은 다양한 플랫폼도 알고 있습니다. 많은 경우 이러한 플랫폼을 사용하면 우리가 고민하고 때때로 짜증내는 모든 것들을 손쉬운 한 번의 의존성으로 끝내 버릴 수 있습니다. 우리는 일상적인 글도 쓰고, 때때로는 행렬식이나 복잡한 LaTeX 구문을 쓰려 해도 이미 모든 웹 엔진에 이것이 존재합니다.

하지만, 만약 그 블로그를 내가 꾸미고 싶은 대로 장식하려면 그 일은 매우 어려워집니다. 기본 테마 이외에 CSS의 일부를 바꾸고 몇 가지 컴포넌트를 바꿀 수 있지만, 전반적인 외관을 아예 뒤엎는 것은 힘듭니다. 게다가, 블로그에서 서빙되는 미디어를 어디에 저장할지, 혹은 내 블로그 글을 언제든 백업받을 수 있는지, 등의 문제는 전혀 다른 시점으로 다가옵니다. 이것을 위해서 심한 경우에는 웹 크롤러를 따로 짜야 합니다.

하지만 직접 통제할 수 있는 범위에서 블로그 서버를 직접 작성하고 내가 원하는 대로 소스를 수정해 기능을 추가하거나 삭제한다는 것은 생각보다 더 큰 경험입니다. 쉽고 빠르게 할 수 있는 경험으로는 github.io도 있고, 조금 더 난해한 선택지로는 이렇게 별도 VPS를 돈을 내고 사서 글을 어느 서버에 저장할지도 온전히 선택할 수도 있습니다.

블로그 폰트가 못생겼고, 그래픽 렌더링이 짜증날 때

만약 당신이 네이버 블로그나 티스토리, Velog 등에서 TikZ를 이용해서 그래프나 도형 등을 삽입하려 한다고 칩시다. 조금 더 나아가서는, HTML을 이용해서 글을 작성할 수 있는 기능까지 쓴다고 칩시다. 만약 HTML로 삽입한다고 쳐도, 구글에 Public TikZ Renderer 따위의 검색어를 친 후 임베딩해서 글 전체의 통일감을 깨게 됩니다.

HTML을 수정할 수 없다면 상황은 더 심해집니다. 당신은 렌더링 웹사이트로부터 이미지를 다운로드받아서, 잘 오리고 배경색을 날려 가며 이미지를 첨부합니다.

예쁜 까만 선으로 그래프를 땄고, 이제 이미지를 첨부합니다. 여기서 다크 모드를 키면 당신이 차분하게 렌더링한 좌표 평면은 검정 배경에 묻힙니다.

아쉽게도 많은 공개 사이트들은 자바스크립트를 내장하는 것을 금지하기 때문에 픽셀 반전 등을 짜서 넣을 수도 없습니다. 결국 이런저런 상황을 다 고려해 보다가 흰 배경색을 둔 채 이미지를 넣게 됩니다.

하지만 당신이 잘 하는 프로그래밍 언어로 직접 블로그를 작성해 올린다면 이런 문제는 쉽게 해결됩니다. 원하는대로 색을 바꾸고, 라이트 모드와 다크 모드에 기능을 추가하면 됩니다. 만약 github.io를 안 쓰고 직접 서버를 빌리면서, 서버 리전이 당신의 거주지로부터 멀어야 한다면 전송을 최적화하는 것도 당신이 손쉽게 할 수 있습니다.

더 재미있는 것은 행동 범위와 소유권

네이버 블로그는 네이버의 재산입니다. 티스토리는 카카오의 재산이죠. 그 블로그를 운영한다는 것은 거기에서 블로그를 빌려 와 운영한다는 것입니다. 물론 저도 네이버 블로그나 Velog가 있으며, 그들의 가치를 부정하자는 말을 하려는 것은 아닙니다. 하지만 여러 사람들이 드나드는 현관같은 블로그 플랫폼은 양날의 검입니다.

한편으로는 수많은 '블로거 이웃'들이 우리의 글을 읽고, 검색 엔진에서도 쉽게 글을 찾아 옵니다. 모두가 '건전하고 유익한 정보로' 다음 시간에 돌아오겠다고 하고, 실제로 선순환이 자주 일어납니다. 다른 한편으로는 그렇기 때문에 우리의 의견을 세탁할 필요가 언젠가 생긴다는 것입니다. 이를 테면, 제 네이버 블로그는 서로이웃이 적습니다. 따라서 저는 지금 제가 여기에 쓰는 것에 비해 한두 단계 낮은 수위로 네이버 게시물을 씁니다. 하지만 정말 운이 좋아 서로이웃 수가 50명, 더러는 100명이 된다고 해 봅시다. 그 때도 우리는 여전히 같은 글을 쓸 수 있을까요? 글을 쓰기 전에 체면과 위신을 돌아보다가 나중엔 자기 의견까지 세탁해 버리고 맙니다.

물론 저 역시 체면을 중시하지 않는 것도 아니고, 나름대로의 자존심이 있습니다. 하지만 남의 쌀을 기한 없이 빌리고, 또 지어서 나누어 먹는 밥이 공용 블로그라면, 볶음밥을 지어서 나눠 줄 수는 있겠지만, 나만 좋아하는 우엉잎 쌈과 총각김치를 내어 줄 수는 없는 노릇입니다. 그러나 github.io나 VPS에서 굴러가는 독립 블로그에서는 내가 경상도식 우엉잎 쌈을 먹든, 남원식 추어탕에 밥을 통째로 말아 먹든 딱히 누가 뭐라고 하지는 않습니다. 그 글이 검색 엔진을 타고 익명의 누군가에게 반드시 도달한다는 보장이 없기 때문에, 별난 입맛을 가진 글을 좋아하는 사람이 가끔 방문할 수는 있지만 별난 글을 쓴 것에 대해 속상해하는 사람은 훨씬 적을 것입니다.

여기서 더 나아가면, github.io는 MS가 허락한 축제판에서 밥을 지어 먹는 것이고, VPS는 집을 전세를 들어서 밥을 해 먹는다는 비유도 가능하겠습니다. 하지만 여기서 말하고 싶은 것은 "어떤 밥을 지어도 눈치를 안 볼 수 있는가"의 개념입니다. 네이버 블로그에서는 제가 만든 이런 "빨갛고 얼룩덜룩한" 블로그 디자인을 할 수가 없습니다. 그렇지만 제가 좋아하는 언더그라운드 록 밴드 "그라지단스카야 오보로나"에서 타이틀을 따와 "Oborona님의 블로그"라고는 여전히 할 수 있죠. 반대로 둘 모두 가능한 것도 있습니다. 저는 이 블로그의 강조색을 파란색으로 바꿀 수 있습니다. 그리고 실제로 가끔 명화에서 컬러 팔레트를 따 오고 싶을 때 아무 제약 없이 바꿉니다. 네이버 블로그나 Velog 역시 강조색을 바꿀 수 있습니다. 아마 실력이 좋은 분이면 "누가 봐도 이 사람 블로그"라고 말할 수 있는 수준은 만들 수 있습니다. 하지만 이렇게 각지고 우스꽝스러운 디자인을 재현하기 위해서는 너무 많은 제약이 있습니다.

눈치를 안 보는 취미 개발

저는 이 블로그 하나를 만든다고 미니멀 웹 프레임워크 CWIST도 만들었고, 블로그 엔진도 만들었습니다. 비용이나 효율 문제로만 보면 하지 못할 짓이지만, 어쨌건 블로그는 운영되고 있으며, 매 주 기능 개선이 이루어집니다. 그리고 자기가 굴릴 블로그를 위해서 이런 것을 만드는 것은 개발자들 사이에서 흔한 일입니다. 이렇게 되면 코드의 소유권은 저에게 상당 부분 귀속되고, 어느날 블로그의 UI를 통째로 엎어 버리고 싶다면 LLM을 시키든, 구석에 꽂아 둔 CSS 책을 뒤지든 해서 바꿔 버리면 그만입니다. 더 심하게는, 서버 위치가 멀기 때문에 전송이 개선되어야 한다고 생각하면 미디어 스트리밍 로직을 바꾸면 됩니다. 대기업 CDN에서 책임지지 않더라도 데이터를 압축해서 NAS나 HDD에 저장할 수도 있고, 관련 서비스를 구매할 수도 있겠죠. 지금의 나이지리아 리전에서 미국, 일본 등으로 옮기려면 얼마든지 옮길 수 있습니다. 엉뚱한 예시로는 블로그에 들어올 때 보이는 마우스 커서를 우스꽝스러운 표정을 지은 스폰지밥으로 만들 수도 있습니다. 아마 일반적인 블로그 플랫폼에서는 하기 힘들죠.

그리고 이와 같은 소유권과 행동 범위의 문제는 생각보다 많은 부분에 존재하고, "바퀴를 재발명하는 것"이 저와 같은 아마추어나 엔트리 레벨 개발자에게 무엇을 가르쳐 줄 수 있는지 잘 보여 줍니다. 우리가 고민하지 않고 사용한 당연한 것들은 비즈니스적으로도 기술적으로 많이 고민한 결과이며, 그것을 받아들일지 아닐지 한 번 더 고민하고 결정하는 것은 우리가 무엇을 선택하고 싶은지 더 명확하게 만들어 줍니다.

Back

Comments

No comments yet.