본문으로 건너뛰기
DEVKBS
지금 만드는 중Seoul · KST

devkbs — 프론트엔드 개발자 강범수가 만든 것들과 그 판단의 기록

디지털 교과서 퍼블리싱으로 시작해 웹게임과 거래 플랫폼을 거쳤고, 지금은 직접 만든 서비스를 운영합니다. 화면을 그리는 시간보다 ‘이 값은 누가 주인인가’를 붙잡고 있는 시간이 깁니다. 여기에는 그때 내린 판단을 적어 둡니다.

수록 내역

기록된 작업
21
개인 서비스
8
개발 노트
9
실무 경력
4년+

20212025 · 재직 기준

01Now

지금 운영하고 있는 것들

끝난 것부터 늘어놓으면 지금 뭘 하는 사람인지가 안 보입니다. 그래서 굴러가고 있는 것을 맨 앞에 뒀습니다.

대표 작업

잘 나온 화면을 고르는 대신, 그때 뭘 놓고 고민했는지를 적었습니다. 무엇이 문제였고, 무엇을 골랐고, 그래서 어떻게 됐는지.

남해독일마을 웹사이트 리뉴얼 데스크톱 화면
남해독일마을 웹사이트 리뉴얼 모바일 화면
014Roowa2024.05 – 2024.08

남해독일마을 웹사이트 리뉴얼

관광지 홍보 사이트를 이미지 덩어리에서 검색되고 공유되는 브랜드 홈페이지로 바꿨습니다. 파독 근로자들의 이야기를 담는 것이 이 프로젝트의 진짜 목표였습니다.

역할
프론트엔드 단독
상태
운영 중
Next.jsReactTypeScriptTailwind CSSZustandAWS Amplify
recodelog.com — 개발 블로그 데스크톱 화면
recodelog.com — 개발 블로그 모바일 화면
012개인 서비스2024.03 – 운영 중

recodelog.com — 개발 블로그

겪은 기술과 트러블슈팅을 기록하는 개인 블로그. 지원이 멈춘 라이브러리를 발견하고 대안을 찾은 것이 첫 관문이었습니다.

역할
기획·디자인·개발 단독
상태
운영 중
Next.jsReactTypeScriptVeliteMDXTailwind CSS

최근 기록 6

회사·클라이언트 작업 17건과 개인 서비스 4건을 시간순으로 쌓습니다.

주력 기술: TypeScript, JavaScript, HTML, CSS, Next.js, React, Zustand, Zod, Axios, Tailwind CSS, shadcn/ui, Vercel, Git, ESLint · Prettier, pnpm · bun. 그 외 사용 기술: Sass, React Native (Expo), Vite, Hono, ASP.NET Core, TanStack Query, SWR, React Hook Form, Prisma · Drizzle, CSS Modules, Framer Motion, Storybook, Canvas · Lottie, AWS, Docker, Google Search Console, Naver Search Advisor, Google Analytics, 구조화 데이터.

반복해서 쓰게 된 판단들

프로젝트가 바뀌어도 늘 같은 자리에서 같은 질문을 만납니다. 그때마다 꺼내 쓰는 기준을 적어 뒀습니다.

  1. 원칙 01

    이 값의 주인이 누구인지 먼저 정한다

    서버가 진실인 데이터와 클라이언트가 진실인 데이터를 한 통에 담으면, 언제 버려야 하는지 아무도 답을 못 합니다. 상태를 만들기 전에 주인부터 정해 두면 나중에 치를 값이 훨씬 쌉니다.

  2. 원칙 02

    공유될 값은 URL에 둔다

    목록 필터, 상세 탭, 다단계 폼의 현재 단계. 누군가에게 링크로 보낼 만한 값은 전부 URL에 둡니다. 그러면 공유도 뒤로 가기도 검색 색인도 그냥 따라옵니다.

  3. 원칙 03

    같은 숫자는 한 곳에서만 계산한다

    금액이나 집계처럼 여러 화면에 나오는 값은 함수 하나에 몰아넣고, 화면은 결과만 그립니다. 반올림 규칙 하나가 어긋나면 사용자는 서비스 전체를 의심합니다.

  4. 원칙 04

    되돌릴 수 없는 동작에만 마찰을 준다

    모든 버튼에 확인창을 붙이면 아무도 안 읽습니다. 체결·발송·삭제처럼 되돌릴 수 없는 것에만 한 단계를 더 두고 나머지는 가볍게 둡니다. 마찰은 골고루 뿌리는 게 아니라 필요한 곳에 몰아주는 것입니다.

  5. 원칙 05

    빠른 것과 빠르게 느껴지는 것은 다르다

    고정 비율 컨테이너나 스켈레톤은 로딩 시간을 1밀리초도 줄이지 못합니다. 그런데 체감은 확실히 달라집니다. 무거운 작업일수록 지금 뭐가 돌아가고 있는지 보여주는 게 실제 속도만큼 값을 합니다.

  6. 원칙 06

    라이브러리는 기능보다 관리 상태를 먼저 본다

    다운로드 수는 과거의 지표고, 최근 커밋은 미래의 지표입니다. 시작할 때 이미 멈춰 있던 저장소는 반년 뒤에 발목을 잡습니다.

  7. 원칙 07

    만들지 않기로 하는 것도 설계다

    작은 사이트에 관리자 시스템을 안 붙이기로 한 결정이 그 프로젝트에서 제일 큰 기술 판단이었던 적이 있습니다. 무엇을 직접 만들지 않을지 고르는 것도 결국 설계입니다.

실무에서 얻은 것들

한 번 틀리게 만들어 보고, 고치면서 그제야 이해한 것들을 정리합니다.

Contact

함께 만들 것이
있다면 연락 주세요

새 프로젝트든 협업 제안이든 좋습니다. 여기 적힌 판단이 틀렸다는 지적이면 더 반갑습니다. 메일이 제일 빠릅니다.