[웹소설 캘린더] MAU 64명 → 2.5만 명, 사이드 프로젝트 성장기

배경 설명

(비자발적) 퇴사 후 약 2년 간을 백수로 지내면서, 사실 취업보다는 나만의 서비스 만들기에 몰두했었다. 

 

그중에 올해 3월에 출시했던 '웹소설 캘린더'는 9개월간 전체 이용자 수가 655명, 11월 이용자 수는 64명이었을 정도로 이용률이 저조했던 서비스였다.

 

더욱 많은 사람들에게 이용되기를 바라면서 신작 캘린더 데이터를 지속적으로 업데이트 해왔는데, 12월에 리디 마크다운 라인업 페이지를 추가하고 트위터에 올린 홍보글이 38만의 조회수를 달성하면서 많은 반응을 얻게 되었다.

 

 

그 결과 DAU 최대 6.6천 명, 12월 MAU 2.5만 명을 달성하면서, 내가 만든 서비스가 많은 사람들에게 이용이 되고 실시간으로 피드백을 받을 수 있는, 1인 개발자로서는 황금 같은 기회가 주어졌다. 이런 소중한 기회를 놓치고 싶지 않아서 한 달 동안 오로지 '웹소설 캘린더' 개발에만 매달리면서 몇 차례 업데이트를 진행했는데, 그 과정이 기억에서 사라지기 전에 하나하나 기록으로 남기려 한다.

 

웹소설 캘린더란?

나는 원래 웹소설 읽는 것을 좋아하는데, 플랫폼은 크게 따지지 않고 상황에 따라 혜택이 가장 많은 곳에서 구매한다. 그런데 매달 말 플랫폼마다 각각 링크를 찾아가며 출간 일정을 확인하는 것이 너무 번거롭게 느껴져서, 이걸 '하나의 사이트에서 편하게 조회할 수 있으면 좋겠다'는 생각에 '웹소설 캘린더'를 개발하게 되었다.

 

https://www.novel-calendar.com/

 

작년에 앱 개발을 하면서 느낀 점이 있었기 때문에 최소한의 기능만 담아서 일단 출시부터 하는 방식으로 진행해서, 3월에 플랫폼별 라인업 조회 기능만 담은 '웹소설 캘린더'를 출시했고, 한 달 후에 검색 기능을 추가했었다.

 

4월에 검색 기능을 추가한 이후로도 이용자가 거의 없었기 때문에, 서비스를 개선할 동기부여를 받지 못해서 '웹소설 캘린더'는 뒷전으로 미뤄두고 취준에 집중하면서 다른 서비스 개발을 시작했었다.

 

리디 마크다운 라인업 사이트 개발 계기

12월 1일에 리디 마크다운 라인업이 공개되면서 어떤 작품이 올라왔을까 구경하러 리디에 들어갔는데 리스트를 확인하는 게 너무 불편했다. 일단 1,000개가 넘는 라인업을 단순 텍스트 형태로 일렬로 늘어놓았다는 점에서 가독성이 너무 떨어진다고 생각했고, 가장 불편했던 점은 작품을 클릭해서 해당 작품의 상세페이지로 이동할 수 없다는 점이었다. 관심 가는 작품을 발견할 때마다 페이지 최상단의 검색창으로 이동해서 검색 후 다시 이전 페이지로 돌아오거나, 다른 창을 열어서 검색하는 등 불편함이 많았다.

 

문득 사용자 입장에서 직접 느낀 불편함을 해소하기 위해 라인업 데이터를 스크래핑해서 내가 원하는 형태로 가공하면 어떨까? 하는 생각이 들었다. 이미 '웹소설 캘린더'라는 사이트가 존재했기 때문에, 여기에 웹소설이라는 연관성이 있는 '리디 마크다운' 페이지를 추가만 하면 되는 것이어서 큰 부담은 없었다. 그래서 라인업이 공개된 바로 다음날부터 개발을 시작했다.

 

1차 업데이트: 맠다 리스트 조회, 검색 기능 추가 (12월 4일)

맠다 라인업이 공개된 다음날인 2일부터 개발을 시작해서 사흘간 개발 후 12월 4일에 '리디 마크다운' 페이지가 추가된 서비스를 배포했다. 처음에는 장르별 단순 라인업 조회, 제목 클릭 시 해당 작품 검색 페이지로 이동, 장르별 제목/작가 검색 등의 핵심 기능들만 넣었다.

 

웹소설은 장르별 특성이 뚜렷하다고 생각했기 때문에 장르를 기준으로 페이지를 나누고, 제공되는 장르를 한눈에 확인할 수 있는 마크다운 메인 페이지를 만들었다. 리디 맠다 라인업에서는 GL 장르가 로맨스나 로판 장르에 포함되어서 구분 없이 공개되었는데, 장르를 세분화해서 제공하고 싶어서 GL 장르를 따로 추출해서 페이지를 추가했다.

 

장르별로 페이지를 나누긴 했지만 하나의 페이지 안에서 타장르까지 자유롭게 탐색할 수 있기를 원했다. 그런데 장르의 수가 9개로 한 줄에 담기에는 너무  많았기 때문에 각 장르 이동 버튼을 칩 형태로 구현하고 수평 스크롤을 적용해 편의성을 높였다. 검색 기능도 장르별로 제공되기 때문에 아예 검색창을 해당 장르 라인업 테이블 바로 위에 위치했다.

 

또 1차 라인업에서만 장르별 데이터가 1,000건을 넘었기 때문에 작품 탐색의 편의성과 데이터를 불러올 때 효율성을 생각해 페이지네이션을 적용했고, 우측 하단에 TOP 버튼을 추가해서 스크롤을 내리면서 리스트를 확인하다가도 바로 페이지 최상단으로 이동할 수 있도록 했다.

 

처음엔 정말 가볍고 즐거운 마음으로 시작했는데, 개발을 할수록 추가하고 싶은 기능이 점점 많아지고 욕심이 생겼다. 내가 실제로 리디의 사용자 입장에 있었기 때문에 다양한 아이디어가 떠오를 수 있었던 거 같다. 그래서 나만의 목표를 세웠다. 라인업이 새로 발표되는 날마다 기능을 추가해서 배포하기로! 이렇게 해서 나는 12월 한 달을 리디의 맠다 라인업 공개 일정에 따라 보내게 되었다. 🫠

 

2차 업데이트: 관심 작품 찜하기 기능 추가 (12월 7일)

라인업 페이지와 검색 기능을 추가하면서 맠다 라인업을 더 편하게 확인할 수 있게 되었다. 근데 마음에 드는 작품이 생길 때마다 메모장에 작품을 따로 작성해야 된다는 점이 불편했다. 흠... 그냥 리스트를 구경하면서 마음에 드는 작품이 생기면 바로 찜을 해두고, 그 찜한 작품 리스트를 모아서 조회할 수 있다면 편하지 않을까?

 

그래서 작품 찜하기 기능을 추가하기로 했다! 기존의 '번호' 열을 삭제하고 찜 하기가 가능한 별 아이콘으로 대체했고, '찜한 작품' 페이지를 생성해서 내가 찜한 작품 리스트를 장르별로 확인할 수 있도록 했다. 

 

'웹소설 캘린더'에는 아직 로그인 기능이 없었고, 빠르고 간단하게 완성하고 싶었기 때문에 찜한 작품이 로컬 스토리지에만 저장되도록 했는데, 이용자들이 급속도로 늘어나면서 이 부분이 가장 아쉽긴 했다.

 

내가 찜한 작품 리스트를 로컬에만 저장하면 다음과 같은 문제가 발생할 수 있다.

1. 찜한 작품 리스트가 안전하게 보존되지 않는다. (기기 간에 연동이 되지 않고, 리스트가 언제든 삭제될 위험성이 있다.)

2. 사용자들이 작품을 많이 찜한 순서대로 '추천 작품'이 제공되는데, 이 순위를 조작할 가능성이 생긴다.

 

다음에 또 마크다운 라인업을 제공하게 된다면 로그인 기능을 붙여서 찜한 작품 리스트를 더욱 안정적으로 관리하고 싶은 목표가 있다.

 

3차 업데이트: 추천 작품 탭 추가 (12월 11일)

12월 8일 자정에 찜하기 기능을 추가해서 배포하고 나서 문득 다른 사람들은 어떤 작품들을 찜하고 있을지 궁금해졌다. 다른 사람들도 비슷한 궁금증을 가지고 있을 거 같아서, 사람들이 많이 찜한 작품을 리스트업 해서 보여주는 페이지를 추가하면 어떨까 하는 생각이 들었다. 그래서 아침에 일어나자마자 사용자들이 작품을 찜할 때마다 DB에 작품별 카운트를 저장하는 기능을 급하게 구현해서 오후 5시에 추가했다.

 

찜한 작품 데이터가 DB에 쌓이고 있는 동안 클라이언트에서는 추천 작품 페이지를 추가하는 작업에 들어 갔다. 일단 페이지를 어떻게 구성할지 고민했는데, 처음엔 메인 페이지에 '추천 작품' 버튼을 추가해서 라인업 페이지와 추천 작품 페이지를 별도로 구성하려고 했다. 근데 개발을 하다 보니 전체 라인업과 추천 작품 페이지를 바로 이동 가능한 방식이 더 접근성이 좋을 거 같아서 이 두 페이지를 탭 안에서 편하게 이동할 수 있도록 했다. 

 

수정 전 / 수정 후

라인업/추천작품 탭이 추가되면서 테이블 상단에 콘텐츠 요소가 너무 많아지는 거 같아서 텍스트 형태의 제목을 삭제하고 장르별 칩 버튼 크기를 키워서 현재 선택한 장르 정보를 더욱 강조하고, 총 데이터 건수는 탭 안으로 옮겼다. 

 

라인업이 공개될 때마다 해당 차수의 리스트만 따로 조회하고 싶은 사용자들을 위해 차수별 라인업 조회 기능까지 추가했는데, 총 5차의 라인업 중에 4차 라인업이 공개될 때에야 추가해서 아쉬웠다. 개발 초반부터 이 기능을 염두에 두고 데이터를 추출하긴 했었는데, 다른 기능들에 우선순위를 두다 보니 해당 기능 구현이 늦어지게 됐다.

 

12일 자정에 추천 작품 탭 추가 + 4차 라인업까지 반영 후 트위터에 홍보글을 올렸다. 

 

12일에서 13일로 넘어가는 자정쯤부터 갑자기 사용자들이 엄청나게 늘어나는 동시에 트윗의 조회수, 알티수도 상승하기 시작했다. (전체 기간 동안 13일에 가장 많은 이용자 수를 기록했다.) 이전 업데이트 때에도 트위터에 계속 홍보글을 올렸었는데 이번에 유독 반응이 좋았던 것을 보면, 다들 '추천 작품' 기능을 좋아해 주셨던 거 같다.

 

이때 당시에 내가 만든 서비스가 이렇게 많은 사람들에게 이용되어서 진심으로 기쁜 한편으로는, 한번도 겪어본 적 없는 상황에 서버 비용이 얼마나 나올지 몰라서 두려움에 떨고 있었다. 😅 DB는 놀랍게도 잘 버티고 있는 상황이었고, 서비스를 배포했던 Vercel은 결국 14일에 20달러를 내고 프로 플랜으로 업그레이드를 했다. 

 

성능 최적화 및 유지보수 

5차 라인업 공개 때는 서버 비용을 줄이기 위해 사이트 최적화를 하고, 자잘하게 유지보수도 하다 보니 새로운 기능을 추가하지 못했다. 그리고 이때 실제 라인업 공개 시 기존 데이터와 연동할 계획까지 세우고 있었기 때문에 잠시 쉬어가면서 준비하는 기간으로 삼았다.

 

SNS에 올려주신 사이트 인증샷을 보다가 다크모드는 전혀 고려하지 않았다는 것을 깨달았다. 그래서 검색창 배경색이나 찜한 작품 페이지에 칩 버튼 배경색 등 디테일한 부분들을 빠르게 수정했다.

 

그리고 메타데이터를 추가해서 구글 검색 시에 더 잘 노출되도록 했다. SEO에 신경 쓰고 이용자 수도 많이 늘어난 덕분에 구글에서 '리디 마크다운'을 검색했을 때 8번째에 위치하는 결과를 얻기도 했고, 구글 검색 유입도 많이 상승했다.

 

또 서버 비용을 줄이기 위해 전체 라인업과 추천 작품 데이터에 캐싱(SSG)을 적용했다. 전체 라인업은 데이터가 추가/수정되지 않는 이상 동일하기 때문에 캐싱된 데이터를 계속해서 사용했고, 추천 작품 데이터는 사용자들이 찜한 작품을 추가하면서 순위가 계속 변동되기 때문에 10분에 한 번씩 캐싱된 데이터를 갱신해 새로운 데이터를 제공하도록 했다. 14일 오후 8시 35분에 캐싱을 적용한 웹페이지를 배포했는데 35분을 기점으로 DB 요청량이 감소한 것을 볼 수 있다. 

 

처음에 경악했던 모바일 광고

그리고 서버 비용으로 인한 손실을 보전하기 위해서 17일에 급하게 애드센스 광고 배너를 추가했다. 애드센스를 승인받는데 하루가 걸렸고, 웹 광고는 처음 넣어보는 거라 모바일에서 자꾸 화면의 반을 가릴 정도로 크고 못생긴 광고가 나와서 17일에는 일단 데스크탑 사이트에만 광고 배너를 추가했다.

 

최종 정착한 모바일 배너 사이즈

개발 환경에서는 실제 광고 배너를 확인할 수 없기 때문에, 실제 서비스에서 테스트를 하기 위해 사용자 수가 가장 적은 새벽 4시에 일어나서 테스트를 해보면서 모바일 광고 크기를 조절했었다. 모바일 이용자가 대다수이기 때문에 모바일 광고에 다양한 실험을 했었다. 광고 배너를 조금 키워보기도 하고, 페이지 하단에도 추가해보기도 했는데 사이트가 너무 지저분해지는 거 같아서 결국 상단에 제일 작은 배너 광고 하나만 남겼다.

 

첫날 광고 수익이 61원이 나와서 이게 맞나? 싶었다. 이땐 어차피 이렇게 돈도 안될 거 그냥 다시 빼버릴까 고민했었다. 다행히 시간이 지나면서 처음보다 광고 단가가 올라가긴 했지만, 돈은 거의 되지 않는다. (심지어 애드센스는 100달러 이상부터 출금이 가능하다 ^^)

 

실제 마크다운 라인업 연동 준비

실제 라인업이 공개되기 전에 미리 여러 작업을 해두었다. 제일 고민이 많았던 부분은 할인율, 가격, 리뷰 등 추가 정보를 어떻게 보여줄까 하는 것이었다. 웹소설 캘린더는 모바일 사용자가 85%일 정도로 모바일 위주의 사이트이기 때문에, 모바일에서도 모든 정보를 한눈에 확인할 수 있도록 하고 싶었다. 그래서 작품당 데이터를 두 줄로 구성해서 보여주는 방법을 생각했다.

 

여러 시행착오를 거치면서 데스크탑과 모바일에서 다음과 같은 테이블 UI가 구성되었다. 데스크탑은 한 줄로, 모바일은 두 줄로 보여주도록 조건부 렌더링을 적용했다. 모바일에서는 제목/작가 행에 약간의 배경색을 넣어서 작품이 더 쉽게 구분되도록 했고, 두 번째 줄은 폰트 크기를 좀 줄였다. 걱정이 많았던 부분인데 개인적으로는 만족스러운 결과물이었다!

 

실제 라인업 정렬 기준은 6개를 준비했다. 트위터에서 어떤 분이 '작가순' 정렬을 요청해주셨는데, 작가별로 작품을 모아볼 수 있으면 좋을 거 같아서 '작가순' 정렬을 추가했고, 나머지 옵션도 내가 독자 입장에서 어떤 기준으로 작품들을 정렬해서 보고 싶은지를 고민해서 추가했다. 

 

혹시 6가지 정렬 옵션의 반대 기준(예를 들면 가격 높은순)으로 작품을 탐색하고 싶은 분들이 있을까 봐 페이지네이션에 맨앞, 맨뒤로 버튼을 추가했다. 데이터가 장르별로 최고 7,000개까지 늘어났기 때문에라도 필요한 기능이라고 생각했다.

 

또 기존에는 '찜한 작품' 페이지에 들어가려면 메인 페이지에서 들어가야 했는데, 어느 페이지에 있든 '찜한 작품' 페이지로 이동할 수 있으면 접근성이 더 좋아질 거 같아서 헤더 우측에 '찜한 작품' 페이지 이동 버튼을 추가했다.

 

4차 업데이트: 실제 라인업 할인율, 가격 연동 (12월 19일)

이렇게 데이터만 들어오면 배포가 가능하도록 며칠 동안 미리 준비를 해놓고, 긴장되는 마음으로 실제 라인업이 공개되는 19일 자정을 기다렸다. 이때 고생했던 포인트가 3가지 있었는데, 첫 번째는 작년 맠다 페이지를 참고해서 미리 만들어놓은 스크래핑 로직을 올해 페이지에 맞게 수정해야 하는 것이었다. BL만화 장르가 BL만화, BL웹툰 두 개의 장르로 나뉘기도 했고, 만화 장르에서는 할인율이 제공되지 않는 등 예상하지 못했던 부분이 많았다. (특히 리뷰 수 가져오는데 엄청 고생했다..)

 

여기서 두 번째 문제는 자정이 되자마자 Cursor(AI 도구)의 유료 토큰을 모두 소진했다는 것이었다. 12월 13일에 프로 플랜이 정기결제 됐는데 1주일 만에 제공되는 토큰을 다 써버린 것이다. 그래서 ChatGPT에 코드 복붙해가면서 구현하느라 시간이 생각보다 더 오래 걸렸다. 

 

세 번째로 힘들었던 부분은 임시 라인업과 실제 라인업에서 동일한 작품을 매칭하는 것이었다. 실제 마크다운 라인업 데이터를 가져오는 것 자체는 어렵지 않은데, 미리 공개되었던 임시 라인업과 실제 라인업과의 작품이 연동되어야 내가 찜한 작품과 추천 작품 순위가 유지되기 때문에 나는 이 두 데이터를 연동하고 싶었다. (만약 연동하지 않았다면 추천 작품과 찜한 작품이 실제 라인업 공개 전후 두 개의 데이터로 분리되었을 것이다)

 

임시 라인업에서는 작품별 고유번호가 제공되지 않았기 때문에 제목과 작가, 장르 텍스트가 일치하는 경우에 동일한 작품으로 판단하도록 했다. 근데 실제 라인업 공개 후 두 데이터를 비교해보니 매칭에 실패하는 작품들이 너무 많았다. 예를 들어 만화의 경우 작가가 여러 명인 경우가 많은데 임시 라인업에서는 "A작가"만 표기하고, 실제 라인업에서는 "A작가, B작가"로 표기되는 경우 두 작품이 일치되지 않는 것으로 판단된다. 또 BL만화가 BL만화와 BL웹툰으로 세분화되면서 동일한 작품을 각각 만화와 웹툰으로 나눠서 할당해주어야 했다. 그래서 이런 예외 경우의 데이터들을 직접 판별하느라 시간이 엄청 오래 걸렸다.

 

포스트잇 지옥...

사실 이날 자정부터 밤을 새고 17시간을 작업했기 때문에 라인업 공개 당일 오후 5시에 할인율 등 실제 정보를 추가한 사이트를 빠르게 배포할 수 있었다. 그야말로 내 체력을 갈아 넣어서 만든... 이렇게 오래 걸릴 줄 모르고 매칭 작업을 시작한 거였기 때문에 다음에 또 이렇게 할 수 있을지는 잘 모르겠다. 그래도 다 만들고 나서 누워서 맠다 라인업 확인하는데 솔직히 작품 탐색하기 너무 편해서 뿌듯하긴 했었다.

 

5차 업데이트: 찜한 작품 금액 계산 기능 추가 (12월 20일)

원래 실제 라인업으로 업데이트하면서 '찜한 작품' 페이지에 상세 정보 온오프 기능을 추가했었다. 테이블에서 제목과 작가만 간단하게 표시함으로써 SNS에 구매 리스트를 공유하는 효과를 기대했는데, GA 결과상으로 이용이 거의 되지 않았고 실제 라인업 공개 후에는 리디 사이트를 통해 구매 리스트를 공유하는 사용자들이 더 많았다.

 

그래서 좀 더 실용적인 기능으로 수정하자는 생각에 19일 업데이트 바로 다음 날인 20일에 '구매 금액 계산' 기능을 추가했다. '구매 금액 계산'은 리디에서 매일 nn만원 이상 구매 시 포인트 증정 이벤트를 진행하기도 했고, 구매 예산 내에서만 작품을 고르고 싶은 사용자들이 있을 거 같아서 내가 찜한 작품 리스트 중에 원하는 작품만 체크해서 총 구매 금액이 얼마인지를 계산할 수 있는 기능이다.

 

'구매 금액 계산' 체크박스를 선택하면 찜하기 아이콘이 체크박스 아이콘으로 변하고, 원하는 작품만 선택할 수 있게 된다. 특히 웹툰의 경우에는 보통 여러 회차를 구매하기 때문에 구매 회차에 따라 금액을 계산하는 기능도 넣었다. 이 기능은 GA에서 지속적으로 이용되고 있는 것을 확인할 수 있어서 마지막으로 추가하길 잘했다는 생각이 들었다.

 

사실 최종적으로 추가하고 싶은 기능이 하나 더 있었는데 너무 힘들어서 그 기능은 추가하지 않았다. 언젠가 기회가 된다면 추가해보고 싶긴 하다. 이로써 리디 마크다운 페이지 개발은 마무리되었다!

 

6차 업데이트: 웹소설 신작 캘린더 페이지 개선 (12월 26일)

그런데 사람의 욕심은 끝이 없으니.. 올해 초에 개발해놓고 손 놓고 있었던 웹소설 신작 캘린더 페이지가 신경 쓰이기 시작했다. 이번에 사이트 홍보가 많이 되었으니 내년 1월 신작 캘린더 업데이트를 앞두고 지속적인 사용자들을 확보하고 싶어서 기회가 주어진 김에 신작 캘린더 부분을 개선하기로 했다.

 

기존 캘린더의 문제점

1. 플랫폼, 장르 타입 필터 옵션을 하나하나 선택 후 '적용' 버튼까지 클릭해야 데이터가 업데이트된다.

2. 새로고침하면 내가 선택한 옵션 정보가 유지되지 않는다.

3. 어딘가 지저분한 듯한 디자인 (제목 앞에 저 파란 점은 왜 넣었을까..?)

 

일단 어떤 플랫폼과 장르가 있는지 한눈에 확인할 수 있고, 원하는 옵션을 바로 선택할 수 있도록 플랫폼은 탭 형태로, 장르는 칩 형태로 수정했다. 사실 개인적으로 완벽하게 마음에 들지는 않는데 현재로서는 최선의 방법을 선택했다고 생각한다. 그리고 이제 플랫폼이든 장르든 클릭하기만 하면 즉시 선택값에 따른 새로운 데이터가 반영된다.

 

https://www.novel-calendar.com/ridi/romance/2025-12

또한 플랫폼, 장르, 현재 달을 url에 반영해서 새로고침을 해도 선택 옵션이 유지되도록 하고, SEO도 개선하기 위해 노력했다. 이렇게 하면 내가 원하는 플랫폼과 장르 캘린더를 북마크에 추가해서 더욱 편하게 접근할 수도 있다!

 

수정 전/후

 

폰트/아이콘 크기 축소, 테이블 레이아웃 변경, 요일 위치 변경, 제목순 정렬 등도 추가하면서 더욱 깔끔한 UI를 제공하기 위해 노력했다. 또한 캘린더 검색 기능도 개선했는데, 띄어쓰기나 영어 대소문자에 상관없이 더욱 정확한 작품 검색이 가능해졌다.

 

간단 통계

  • 모든 작품을 통틀어 총 '61,896회' 북마크되었다.
  • 가장 많이 북마크 된 작품은 '497회'를 달성했다.
  • 가장 많이 조회된 장르는 'BL소설'이다.
  • 가장 많이 사용된 정렬 옵션은 '리뷰 많은 순'이다.
  • 12월 한 달 동안 '65개국'에서 서비스가 이용되었다.
  • iOS와 Android 이용률은 약 '6:4 비율'을 기록했다.

 

마무리하며

비공개 테스트 중

취준 기간이 길어지면서 점점 동기부여를 잃고 무기력해지던 시기였는데 마침 이렇게 좋은 기회가 주어져서 오랜만에 개발에 대한 열정을 불태우게 되었다. 일단 웹소설 캘린더 개발은 마무리하고 현재는 '비포알리미'라는 앱 출시를 위해 노력하고 있다. 만약 앱 심사에 차질이 없다면 내년 1월에 출시하는 것을 목표로 하고 있다.

 

또 당분간 취준을 뒷전으로 미뤄 두고 서비스 개발만 하고 싶어 지는데... 취준과 개발 사이에 균형을 찾을 수 있도록 노력해야겠다. 연말에 찾아온 선물 같았던 웹소설 캘린더 개발 과정글 끝! 기술적 내용을 담은 후기도 언젠가 작성할 것...🙄