Devin.KR

백엔드 부트캠프

파일 도서 목록에서 시작해 동아리 도서 대여 API의 데이터·권한·동시성·복구를 차례로 구현합니다.

대상
국비 웹 과정 수료생과 비전공 입문자를 대상으로 합니다.
시작 전
파일·폴더 조작과 프로그램 설치가 가능하면 시작할 수 있습니다. Java·SQL·터미널의 첫 사용부터 다룹니다. 로컬 실습에는 JDK 17과 준비된 Maven 캐시가 필요하며 Linux 컨테이너 환경은 배포 모듈 전에 준비합니다.
학습 시간
144시간 안팎

트랙 프로젝트

동아리 도서 대여 API

실물 도서 목록 CRUD, 회원별 대여·반납, 관리자 권한, 동시 대여와 중복 요청 방지, Linux 배포·장애 추적·백업 복원을 구현합니다.

수료하면 할 수 있는 일

  • 한 언어로 도서 목록 CRUD와 단위 테스트를 구현합니다.
  • 키와 조인을 사용하는 SQL을 작성합니다.
  • API 입력 오류와 예외 응답을 처리합니다.
  • 사용자별 조회·수정 권한 테스트를 작성합니다.
  • 테스트 환경에 배포하고 로그로 요청 실패를 추적합니다.
  • 백업에서 실습 데이터를 복원하고 결과를 확인합니다.
진도 0%

모듈

  1. Java 실행과 도서 객체

    Java 17로 도서 객체를 만들고 실행·테스트 환경을 준비합니다.

    12시간 안팎

    도서 객체와 대여 가능 규칙을 구현합니다.

  2. 컬렉션과 파일 도서 목록

    도서 CRUD를 리스트·맵으로 구현하고 파일 저장·복원을 검증합니다.

    14시간 안팎

    파일로 저장되는 도서 CRUD 프로그램을 완성합니다.

  3. HTTP와 Spring 도서 API

    파일 저장소 위에 Spring Boot 3.1.x 도서 조회·추가 API를 구현합니다.

    14시간 안팎

    파일 도서 목록을 HTTP API로 공개합니다.

  4. 관계 모델과 SQL

    도서·회원·대여 관계를 모델링하고 SQL로 저장 사실을 확인합니다.

    14시간 안팎

    도서 대여 데이터 모델과 검증 SQL을 작성합니다.

  5. DB 연결과 일관된 오류

    파일 저장소를 JDBC로 교체하고 입력 검증·수정·삭제 API를 구현합니다.

    14시간 안팎

    DB 기반 CRUD와 입력 오류 처리를 완성합니다.

  6. 로그인과 자원별 권한

    세션 로그인과 자원별 인가로 타인의 대여 정보를 보호합니다.

    16시간 안팎

    회원별 대여 자원과 관리자 도서 권한을 구현합니다.

  7. 대여·반납과 트랜잭션

    대여 기록과 현재 대여 상태를 하나의 트랜잭션으로 갱신합니다.

    16시간 안팎

    원자적인 대여·반납 API를 완성합니다.

  8. 동시 대여와 중복 요청

    DB 제약과 요청 식별자로 동시 대여 및 재시도의 정합성을 지킵니다.

    16시간 안팎

    동시 대여와 응답 유실 후 재시도를 안전하게 처리합니다.

  9. Linux 실행과 배포 리허설

    설정·비밀값을 분리하고 Linux 실습 환경에서 동일 산출물을 실행합니다.

    14시간 안팎

    동아리 API를 Linux 테스트 환경에 재현 가능하게 배포합니다.

  10. 로그 추적과 백업 복원

    요청 실패를 관측하고 백업 복원과 수료 증거를 검증합니다.

    14시간 안팎

    장애 추적·백업 복원 기록과 수료 증거를 완성합니다.

신입 기본기 대응표

영역완료 기준모듈
언어와 자료구조
  • Java 또는 Python으로 함수·객체·리스트·맵을 사용합니다.
  • 업무 규칙을 단위 테스트로 검증합니다.
m01-java-startm02-collections-files
HTTP와 API
  • 메서드와 상태 코드에 맞게 조회·추가 API를 구현합니다.
  • 입력 검증과 일관된 오류 응답을 작성합니다.
m03-http-springm05-jdbc-validation
데이터베이스
  • 테이블·키·조인을 사용해 데이터를 모델링합니다.
  • SQL로 저장 결과를 확인하고 트랜잭션 범위를 설명합니다.
m04-sql-modelm05-jdbc-validationm07-loan-transactions
인증과 인가
  • 로그인 확인과 자원 접근 권한을 구분합니다.
  • 다른 사용자의 수정 요청을 거부하는 테스트를 작성합니다.
m06-security-access
동시성과 재시도
  • 중복 요청과 동시 수정의 실패 사례를 재현합니다.
  • 데이터 정합성을 지키는 제약 조건을 적용합니다.
m07-loan-transactionsm08-concurrency-retry
운영
  • Linux에서 환경 설정을 분리해 서비스를 실행합니다.
  • 로그로 오류를 추적하고 백업 데이터를 복원합니다.
m09-linux-deploym10-observe-restore

면접 질문 대응