이야기를 디버깅하는 개발자.

개발과 창작 사이에서, 사람들이 자기만의 이야기를 만들 수 있는 도구와 기록을 만듭니다.

roslyn.dev 자세히보기

만드는 기록 4

작은 서비스에서 로그 다음으로 필요한 것은 상태를 보는 화면입니다

서비스를 만들다 보면 로그를 먼저 생각하게 됩니다. 문제가 생겼을 때 원인을 찾아야 하고, 어떤 요청에서 실패했는지 확인해야 하기 때문입니다. 저도 닷넷 프로젝트를 만들 때 Serilog 같은 구조화 로깅 도구를 자주 떠올립니다. 하지만 로그를 남기기 시작하면 곧 다른 질문이 생깁니다. 로그는 문제가 생긴 뒤에 뒤져보는 기록에 가깝습니다. 그렇다면 지금 서비스가 어떤 상태인지, 오늘 어떤 일이 있었는지, 사용자가 실제로 어떤 흐름을 지나고 있는지는 어디에서 봐야 할까요. 이 지점에서 작은 대시보드나 상태 확인 화면이 필요해집니다. 거창한 분석 시스템이 아니라, 운영자가 매일 한 번쯤 열어보고 서비스의 현재 상태를 감각할 수 있는 화면입니다. 혼자 운영하는 서비스일수록 이런 화면이 생각보다 중요합니다. 로..

혼자 운영하는 서비스에서 관리자 화면을 먼저 정리하는 이유

작은 서비스를 만들 때 처음부터 관리자 화면을 신경 쓰는 일은 조금 과해 보일 수 있습니다. 사용자에게 보이는 기능도 아직 충분하지 않은데, 운영자만 보는 화면을 먼저 만든다는 것이 뒤로 미뤄도 되는 일처럼 느껴지기 때문입니다.저도 예전에는 비슷하게 생각했습니다. 우선 사용자가 보는 화면을 만들고, 데이터가 쌓이면 그때 관리자 기능을 붙이면 된다고 봤습니다. 하지만 혼자 서비스를 만들고 운영하는 시간이 길어질수록, 관리자 화면은 나중에 붙이는 부가 기능이 아니라 서비스를 오래 붙잡기 위한 기본 도구에 가깝다는 생각을 하게 됩니다.특히 메리톡톡처럼 창작자의 흐름을 돕는 서비스를 만들 때는 더 그렇습니다. 사용자가 어떤 지점에서 막히는지, 어떤 데이터가 쌓이고 있는지, 문제가 생겼을 때 어디를 먼저 봐야 하..

메리톡톡 자동화 구조를 다시 설계하며

메리톡톡을 다시 만들면서, 서비스가 스스로 상태를 점검하고 문제를 발견한 뒤, 필요하다면 개선 제안까지 할 수 있는 시스템이 필요하다는 생각이 들었습니다.단순히 장애 여부를 감시하는 모니터링 수준이 아니라, 사람의 개입을 최소화하면서도 위험한 작업은 자동으로 실행되지 않도록 막아주는 구조가 필요했습니다. 그래서 백그라운드 서비스를 몇 가지 계층으로 나누어 설계하기로 했습니다.전체 구조전체 구조는 크게 세 가지 계열로 구분했습니다.Watcher 계열, Control 계열, Communication 계열입니다. 각각의 역할은 명확하게 분리했습니다.WatcherWatcher는 말 그대로 관찰만 담당합니다.Site Health Watcher, Log Analyzer, GitHub Watcher, Content ..

메리톡톡을 다시 만들며: 왜 ASP.NET MVC에서 Nuxt를 거쳐 Next.js까지 왔나

메리톡톡은 처음부터 지금의 모습으로 시작한 서비스가 아니었다.가장 처음의 메리톡톡은 ASP.NET MVC로 만들었다. 당시의 나는 지금처럼 “글쓰기 경험”이나 “창작자의 리듬” 같은 표현을 명확히 붙잡고 있지는 못했다. 그래도 한 가지는 분명하게 알고 있었다.이 서비스는 단순한 게시판이 아니어야 했다.작품과 작가가 있고, 그 정보가 링크 하나로 외부에 공유될 수 있어야 했다.누군가 특정 작품의 링크를 SNS에 붙여 넣었을 때, 그냥 밋밋한 URL 한 줄만 보이는 것이 아니라 작품 제목, 소개, 대표 이미지가 카드처럼 보여야 했다. 작가 페이지도 마찬가지였다. 링크 하나만으로도 “이 글이 무엇인지”, “누가 쓴 글인지”, “읽어볼 만한지”가 전달되어야 했다.그래서 당시에는 서버에서 HTML을 만들어 내려주..

반응형