Socket.IO 10,000명 재연결 부하 테스트
Socket.IO 옵션 변경이 유효한지 이론이 아닌 실제 부하 테스트로 검증한다. 서버 전체 연결이 동시에 끊기는 순간에서 현재 설정이 어디까지 버티는지, 어디서 무너지는지, 그리고 자동 재연결이 그것을 극복하는지를 측정한다.
로컬 LLM과 n8n으로 구축하는 에러 분석 자동화
로컬 AI와 n8n 워크플로우 엔진을 결합해, 에러가 발생하는 즉시 원인을 분석하고 해결 방안을 제시하는 자동화 파이프라인을 구축했다. 이를 통해 에러 발생 후 최대 25초 이내에 체계적인 노션 리포트가 생성되며, 개발자는 반복적인 디버깅 작업에 소모되는 시간을 줄이고 보다 본질적인 문제 해결에 집중할 수 있는 환경을 마련했다.
실시간 통신 로직을 계층으로 정리하기
기능이 늘어날수록 비슷한 로직이 여러 곳에 흩어지고, 무언가를 고칠 때 어디서부터 시작해야 할지 가늠하기 어려워졌다. 실시간 통신 로직을 어떻게 계층으로 나누고, 처음 보는 사람도 따라갈 수 있는 구조로 만들 수 있는지 고민하게 되었다.
카메라 및 마이크 On/Off UX 개선
카메라와 마이크를 끄는 기능을 구현하면서 하드웨어 제어 방식에 따라 사용자 경험이 크게 달라진다는 것을 발견했다. 하나의 방식으로 두 미디어를 처리하려 했지만, 카메라는 LED 소등이라는 시각적 신뢰성이 중요하고 마이크는 즉각적인 반응성이 중요하다는 것을 두 번의 시행착오를 통해 깨달았다. 미디어 타입별로 다른 전략을 적용해 두 문제를 동시에 해결할 수 있었다.
비디오 Consumer 수 상수화로 서버 부하 최적화
mediasoup 기반 화상 강의 서비스에서 모든 참여자의 비디오를 동시 수신하는 구조가 N×(N-1)로 Consumer를 폭증시킨다는 것을 모니터링으로 발견했다. 요청 시점 수신과 ±1 프리패치를 비교 검토한 끝에, 100명 기준 Consumer 수를 9,900개에서 210개로 줄이면서 페이지 전환 지연도 함께 해결했다.
Notion API 블로그 성능 최적화
Notion API 기반으로 블로그를 제작하는 과정에서 API 중복 호출, 순차적 Table 블록 처리, 비효율적 관련 글 추천 등으로 성능 저하가 발생했다. 이를 계기로 API 최적화, 에러 처리, 폰트 최적화 등 개선 작업을 진행하게 되었다.
Notion API 초기 페이지 로딩 속도 개선
노션 API로 블로그를 구현하던 중, 페이지네이션과 총 게시글 수 계산을 위해 매번 전체 데이터를 불러오는 비효율적인 구조를 발견했다. 이를 개선하기 위해 메타데이터베이스 분리와 카테고리별 데이터베이스 설계 등 여러 최적화 방안을 시도했다.
Node.js WAS에서 일관된 에러 처리 구조 적용하기
WAS 게시글 조회 시 return null로 인해 에러 처리가 복잡해지는 문제를 경험하고, BaseError 상속 구조와 계층별 책임 분리를 적용하여 일관된 에러 처리 시스템을 구축하였다.
OCR과 Open AI의 응답 속도 개선
계약서 OCR과 OpenAI 기능에서 약 2분이 걸리던 로딩 시간을 페이지 분할, 병렬 처리, 즉시 렌더링을 통해 18초까지 단축하며, 비동기 처리 설계 방식에 대해 고민하게 되었다.
동적 폰트 로딩 전략
손글씨 커스텀 폰트 미리보기 기능을 개발하는 과정에서, 동적 폰트를 불러오는 데 시간이 꽤 소요된다는 점을 확인했다. 이를 개선하기 위해 WOFF2, 캐싱, TanStack Query, 스켈레톤 UI를 조합하여 최적화를 진행하고자 하였다.








