백엔드 학습 로드맵
클라이언트의 요청을 처리하고, 데이터를 저장하고, 서비스를 운영하기까지. 작은 프로젝트를 완성하며 백엔드의 기본기를 순서대로 익힙니다.
학습 목표
사용자별 할 일 관리 API를 만든다는 목표로 학습합니다. 조회와 생성부터 시작해 데이터 저장, 로그인, 테스트, 배포를 차례로 더해 보세요.
전체 학습 순서
| 단계 | 주제 | 목표 |
|---|---|---|
| 01 | 웹과 HTTP | 클라이언트와 서버 사이의 요청·응답 이해하기 |
| 02 | 언어와 서버 기초 | 선택한 언어로 서버를 실행하고 요청 처리하기 |
| 03 | API 설계와 구현 | 리소스를 조회·생성·수정·삭제하는 API 만들기 |
| 04 | 데이터베이스 | 데이터를 설계하고 영구적으로 저장하기 |
| 05 | 인증과 보안 | 사용자를 식별하고 접근 권한 제한하기 |
| 06 | 테스트와 예외 처리 | 정상 동작과 실패 상황 검증하기 |
| 07 | 배포와 운영 | 서비스를 배포하고 상태 관찰하기 |
01. 웹과 HTTP
- 인터넷 기초: IP, DNS, 포트, 클라이언트와 서버
- HTTP 요청과 응답: 메서드, 상태 코드, 헤더, 본문
- HTTPS의 역할과 JSON 데이터 형식
- 브라우저 개발자 도구와 curl로 요청 확인하기
완료 기준: URL을 입력했을 때 서버의 응답이 돌아오는 과정을 설명하고, 요청과 응답 내용을 직접 확인할 수 있습니다.
02. 언어와 서버 기초
- 한 가지 서버 언어 선택과 기초 문법 익히기
- 패키지 관리, 모듈, 환경 변수
- 비동기 처리와 오류 처리
- 서버 실행과 라우팅, 요청 데이터 읽기
완료 기준: 로컬 서버를 실행하고, 요청에 JSON으로 응답할 수 있습니다.
03. API 설계와 구현
- 리소스 중심의 URL과 HTTP 메서드 설계
- CRUD: 생성, 조회, 수정, 삭제
- 입력 검증과 일관된 응답 형식
- 목록 페이지네이션, 필터링, 정렬
- 요청·응답 예시를 포함한 API 문서 작성
완료 기준: 메모리에 데이터를 저장하는 할 일 API를 구현하고, 잘못된 입력에 적절한 오류 응답을 반환할 수 있습니다.
04. 데이터베이스
- 관계형 데이터베이스와 SQL 기초
- 테이블 설계, 기본 키, 외래 키, 제약 조건
- 테이블 간 관계와 JOIN
- 트랜잭션과 인덱스의 역할
- 매개변수 바인딩과 스키마 마이그레이션
완료 기준: 할 일 데이터를 데이터베이스에 저장하고, 서버를 재시작해도 데이터를 조회할 수 있습니다.
05. 인증과 보안
- 인증과 인가의 차이
- 회원가입, 로그인, 로그아웃 흐름
- 비밀번호 해시와 세션·토큰의 기본 개념
- 쿠키 보안 속성, CORS, CSRF의 개념
- 사용자별 데이터 접근 제어와 비밀 정보 관리
완료 기준: 로그인한 사용자가 자신의 할 일에만 접근하도록 서버에서 권한을 확인할 수 있습니다.
06. 테스트와 예외 처리
- 단위 테스트와 통합 테스트
- 테스트 데이터 준비와 격리
- 정상 요청, 잘못된 입력, 권한 없는 접근 검증
- 일관된 오류 응답과 서버 로그
- 민감 정보와 내부 오류 상세 정보의 노출 방지
완료 기준: 주요 API의 성공·실패 사례를 자동으로 검증하고, 오류 발생 시 로그로 원인을 확인할 수 있습니다.
07. 배포와 운영
- 개발·운영 환경 설정 분리
- 빌드와 실행, 환경 변수 주입
- CI/CD의 기본 흐름과 배포 전 테스트
- HTTPS, 헬스 체크, 로그와 응답 시간 확인
- 데이터 백업, 복구와 배포 롤백
완료 기준: 배포 환경에서 API가 동작하며, 실행 방법과 장애 발생 시 확인할 내용을 문서로 남길 수 있습니다.
기본기를 익힌 다음
프로젝트에서 실제로 필요한 주제를 골라 확장합니다.
- 성능: 쿼리 분석, 캐시, 부하 테스트
- 비동기 작업: 메시지 큐, 백그라운드 작업, 재시도
- 안정성: 중복 요청 처리, 멱등성, 속도 제한
- 구조: 의존성 분리, 계층별 책임, 도메인 모델링
처음부터 모든 기술을 도입하기보다, 동작하는 작은 API를 완성하고 필요에 따라 개선해 보세요.