백엔드 부트캠프
파일 도서 목록에서 시작해 동아리 도서 대여 API의 데이터·권한·동시성·복구를 차례로 구현합니다.
- 대상
- 국비 웹 과정 수료생과 비전공 입문자를 대상으로 합니다.
- 시작 전
- 파일·폴더 조작과 프로그램 설치가 가능하면 시작할 수 있습니다. Java·SQL·터미널의 첫 사용부터 다룹니다. 로컬 실습에는 JDK 17과 준비된 Maven 캐시가 필요하며 Linux 컨테이너 환경은 배포 모듈 전에 준비합니다.
- 학습 시간
- 144시간 안팎
트랙 프로젝트
동아리 도서 대여 API
실물 도서 목록 CRUD, 회원별 대여·반납, 관리자 권한, 동시 대여와 중복 요청 방지, Linux 배포·장애 추적·백업 복원을 구현합니다.
수료하면 할 수 있는 일
- 한 언어로 도서 목록 CRUD와 단위 테스트를 구현합니다.
- 키와 조인을 사용하는 SQL을 작성합니다.
- API 입력 오류와 예외 응답을 처리합니다.
- 사용자별 조회·수정 권한 테스트를 작성합니다.
- 테스트 환경에 배포하고 로그로 요청 실패를 추적합니다.
- 백업에서 실습 데이터를 복원하고 결과를 확인합니다.
모듈
- Java 실행과 도서 객체
Java 17로 도서 객체를 만들고 실행·테스트 환경을 준비합니다.
12시간 안팎
도서 객체와 대여 가능 규칙을 구현합니다.
- 컬렉션과 파일 도서 목록
도서 CRUD를 리스트·맵으로 구현하고 파일 저장·복원을 검증합니다.
14시간 안팎
파일로 저장되는 도서 CRUD 프로그램을 완성합니다.
- HTTP와 Spring 도서 API
파일 저장소 위에 Spring Boot 3.1.x 도서 조회·추가 API를 구현합니다.
14시간 안팎
파일 도서 목록을 HTTP API로 공개합니다.
- 관계 모델과 SQL
도서·회원·대여 관계를 모델링하고 SQL로 저장 사실을 확인합니다.
14시간 안팎
도서 대여 데이터 모델과 검증 SQL을 작성합니다.
- DB 연결과 일관된 오류
파일 저장소를 JDBC로 교체하고 입력 검증·수정·삭제 API를 구현합니다.
14시간 안팎
DB 기반 CRUD와 입력 오류 처리를 완성합니다.
- 로그인과 자원별 권한
세션 로그인과 자원별 인가로 타인의 대여 정보를 보호합니다.
16시간 안팎
회원별 대여 자원과 관리자 도서 권한을 구현합니다.
- 대여·반납과 트랜잭션
대여 기록과 현재 대여 상태를 하나의 트랜잭션으로 갱신합니다.
16시간 안팎
원자적인 대여·반납 API를 완성합니다.
- 동시 대여와 중복 요청
DB 제약과 요청 식별자로 동시 대여 및 재시도의 정합성을 지킵니다.
16시간 안팎
동시 대여와 응답 유실 후 재시도를 안전하게 처리합니다.
- Linux 실행과 배포 리허설
설정·비밀값을 분리하고 Linux 실습 환경에서 동일 산출물을 실행합니다.
14시간 안팎
동아리 API를 Linux 테스트 환경에 재현 가능하게 배포합니다.
- 로그 추적과 백업 복원
요청 실패를 관측하고 백업 복원과 수료 증거를 검증합니다.
14시간 안팎
장애 추적·백업 복원 기록과 수료 증거를 완성합니다.
신입 기본기 대응표
| 영역 | 완료 기준 | 모듈 |
|---|---|---|
| 언어와 자료구조 |
| m01-java-startm02-collections-files |
| HTTP와 API |
| m03-http-springm05-jdbc-validation |
| 데이터베이스 |
| m04-sql-modelm05-jdbc-validationm07-loan-transactions |
| 인증과 인가 |
| m06-security-access |
| 동시성과 재시도 |
| m07-loan-transactionsm08-concurrency-retry |
| 운영 |
| m09-linux-deploym10-observe-restore |
면접 질문 대응
- 리스트와 맵을 선택한 기준을 설명합니다. m02-collections-files
- 도서 조회·추가 API의 메서드와 상태 코드를 설명합니다. m03-http-springm05-jdbc-validation
- 도서와 대여 기록의 테이블 관계를 설명합니다. m04-sql-model
- 인증에 성공했지만 수정 요청을 거부해야 하는 사례를 설명합니다. m06-security-access
- 대여 처리의 트랜잭션 범위를 설명합니다. m07-loan-transactions
- 실행 환경에서 API 오류를 추적하는 순서를 설명합니다. m09-linux-deploym10-observe-restore