Skip to content

junhyeong9812/dev-questions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Dev Questions — 개발하면서 꾸준히 던지면 좋은 질문들

이 레포는 내가 개발을 하면서 꾸준히 스스로에게 던지면 좋은 질문들을 정리해놓은 문서입니다. 기능 하나를 만들 때마다 아래 순환 프로세스를 따라 한 바퀴 돌며 질문하고, 막히는 지점에서 상세 문서로 내려갑니다.

문서 구성

상세 질문은 두 문서로 분리되어 있으며, 각각 LLM·에이전트에 컨텍스트로 넣어 쓰기 좋게 분리해둔 버전입니다. (코드 리뷰 에이전트에는 단계별 문서를, 설계 검토에는 섹션별 문서를 넣는 식)

문서 내용 용도
dev-questions-18-sections.md 18개 주제 섹션별 전체 질문 특정 주제(동시성·보안·테스트 등)를 깊게 점검할 때
dev-questions-by-stage.md 구현 8단계 순서별 질문 + 나가기 조건 작업 흐름을 따라가며 단계별로 점검할 때

개발의 순환 프로세스 — 대전제

기능이 동작하는가?
   ↓
데이터가 안전한가?
   ↓
권한이 맞는가?
   ↓
장애에 버티는가?
   ↓
변경이 가능한가?
   ↓
운영이 가능한가?
   ↓
비용이 합리적인가?
   ↓
(요구사항이 바뀌면 처음으로) ↺

순환 질문별 핵심 체크

1. 기능이 동작하는가?

  • 무엇을 만들어야 하고, 누가 사용하는가? 범위 밖은 합의했는가?
  • 항상 참이어야 하는 불변식을 한 문장으로 말할 수 있는가?
  • 사용자는 처리 중·성공·실패에 각각 무엇을 보게 되는가?

→ 상세: 18-sections §1·14·17 · by-stage ①·④

2. 데이터가 안전한가?

  • 이상한 값(빈 값·경계값·잘못된 enum)이 들어오면? 백엔드가 최종 방어선이다.
  • 어디까지 한 트랜잭션인가? 중간 실패 시 어디까지 롤백되는가?
  • 동시에 두 요청이 들어오면? 연타·재시도는? — unique 제약이 첫 줄 방어다.
  • 이 데이터의 주인은 누구이고, 삭제는 물리인가 논리인가?

→ 상세: 18-sections §2·4·5·15 · by-stage ②·④

3. 권한이 맞는가?

  • 인증(누구인가) · 인가(해도 되는가) · 소유권(정말 그 사람 것인가)을 모두 확인하는가?
  • 남의 리소스 id를 넣으면 어떻게 되는가?
  • 토큰·비밀번호·secret·개인정보가 안전하게 다뤄지는가?

→ 상세: 18-sections §3·11 · by-stage ③·④·⑥

4. 장애에 버티는가?

  • 외부 의존이 느리거나 죽어 있으면? — timeout / retry / circuit breaker / fallback
  • 재시도가 중복 실행을 만들지 않는가 (idempotency)?
  • 실패를 사용자에게 어떻게 알리고, 민감정보가 새지 않는가?
  • 데이터가 10배여도 버티는가? N+1·인덱스·페이징은?

→ 상세: 18-sections §6·8·9 · by-stage ⑤·⑥

5. 변경이 가능한가?

  • 조건이 하나 추가되면 어디를 고치는가? 한 곳인가, 다섯 곳인가?
  • 정책과 구현이 분리되어 있는가? 내부 엔티티가 API에 그대로 노출되지 않는가?
  • 바꿔도 안 깨진다는 자신감이 있는가? — 실패·권한·경계값 테스트가 있는가?
  • 다른 개발자가 문서 없이도 이어받을 수 있는가?

→ 상세: 18-sections §7·12·13·18 · by-stage ⑦

6. 운영이 가능한가?

  • 장애가 나면 어떻게 알게 되는가 — 알림? 사용자 신고가 첫 신호는 아닌가?
  • userId·requestId·traceId로 추적 가능한가?
  • 롤백 가능한가? 설정으로 끌 수 있는가? 보정 쿼리·재처리 도구가 있는가?

→ 상세: 18-sections §10 · by-stage ⑧

7. 비용이 합리적인가?

  • 이 복잡도를 감당할 가치가 있는가? 더 싸고 단순한 대안은 없는가?
  • 서버·DB·외부 호출·운영·학습·변경 비용까지 포함해서 생각했는가?

→ 상세: 18-sections §16 · by-stage ①·⑧


시간 없을 때 — 시점별 최소 질문 3개

시점 무조건 던질 3개
설계 전 불변식 한 문장? · 실패 경계? · 더 단순한 대안?
구현 중 동시에 두 번 들어오면? · 권한 없는 사람이 오면? · 중간에 실패하면 데이터는?
머지 전 데이터 10배여도 버티나? · 로그에 secret 없나? · 바꿔도 안 깨진다는 자신감 있나?
배포 후 터지면 어떻게 아나? · 롤백 가능한가? · 추적 가능한가?

About

개발하면서 스스로에게 던지는 질문 모음 — 7개 순환 질문과 18개 주제별 체크리스트, 구현 단계별 가이드

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors