백엔드 · 인프라 — 대학생 개발자

멈추지 않는 시스템
설계하고 운영합니다.

안녕하세요, 이도엽입니다. 제 불편을 직접 고치려고 시작한 작은 도구들이 여러 사람이 쓰는 서비스가 되는 과정이 좋아서, 주로 서버 뒤편의 안 보이는 부분을 붙잡고 있습니다. 봇과 워커를 돌리고, 컨테이너로 묶어 배포하고, 자격증명을 암호화해 두는 일을 합니다.

작업 보기 → GitHub
3직접 만든 서비스
백엔드 · 인프라주로 다루는 영역
대학생지금은 재학 중
부산, KR활동 지역
01

소개

about me
“잘 만든 기능보다,
오래 안 죽는 구조가
더 어렵다는 걸
배우는 중입니다.” — 이도엽 / 컴퓨터공학 전공

대단한 계기는 없었습니다. 과제 공지를 놓쳐 마감을 넘긴 게 분해서 알림 봇을 만들었고, 그게 친구들까지 쓰게 되면서 여러 사람의 계정을 안전하게 다루는 법을 고민하기 시작했어요.

그 뒤로는 자연스럽게 서버 뒤편으로 관심이 옮겨갔습니다. 새벽에 워커가 멈추지 않게 하고, 같은 알림을 두 번 보내지 않게 하고, 비밀번호를 평문으로 두지 않게 하는 일들이요. 화려하진 않지만 멈추면 안 되는 부분을 맡는 게 적성에 맞더라고요.

아직 배우는 학생이라 모르는 게 더 많습니다. 그래서 일단 실제로 돌아가는 걸 만들어 보고, 부서지는 지점에서 다음에 공부할 걸 찾습니다. 이 포트폴리오의 세 프로젝트도 전부 그렇게 시작했습니다.

02

핵심 역량

what i'm good at
01

멈추지 않는 전송

같은 알림을 두 번 보내지 않고, 실패해도 결국 도착하게 만듭니다. 멱등성·중복 방지·재시도 같은 보이지 않는 장치가 신뢰를 만든다고 믿어요.

증명 → LXP 알림 · DB 큐 + baseline + retry_after 재시도
02

장애를 전제한 설계

외부 의존성은 언젠가 반드시 실패한다고 보고, 막기보다 우회로를 둡니다. 한쪽이 죽어도 작업이 이어지게 만드는 데 관심이 많습니다.

증명 → EJClaw · Codex global failover + OAuth 토큰 로테이션
03

보안은 기능이 아니라 기본값

남의 데이터를 맡는 순간부터 암호화·시크릿 분리·로그 위생을 기본으로 둡니다. DB가 유출돼도 바로 악용되지 않도록 설계합니다.

증명 → LXP 알림 · 자격증명 AES-256-GCM 암호화 저장
04

만드는 것보다 계속 돌게 하기

개발은 배포로 끝나지 않는다고 생각합니다. 여러 서비스를 한 벌로 묶어 재현 가능하게 띄우고, 안전하게 점검하며 운영합니다.

증명 → LXP 알림 · Docker Compose 4-서비스 + DRY_RUN 운영
03

작업

selected work · 2024–2026
04

다루는 것들

tools & stack
언어TypeScript · JavaScript · SQL · Bash
런타임Node.js · Bun
백엔드Prisma · Discord.js · 큐 · 워커 · REST
데이터MariaDB · SQLite(WAL)
인프라Docker · Docker Compose · Linux · Nginx · GitHub Actions
보안AES-256-GCM · OAuth · 토큰 로테이션
프론트엔드Next.js · React · Tailwind · shadcn/ui · PWA
기타Playwright · 멀티에이전트 오케스트레이션
get in touch

같이 잘 돌아가는 것
만들어요.

협업, 채용, 사이드 프로젝트 — 무엇이든 편하게 연락 주세요. 보통 하루 안에 답장합니다.