Devin.KR

컬렉션과 파일 도서 목록

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

진도 0%

레슨

  1. 리스트와 맵 선택

    순회·ID 조회 비용과 equals·hashCode의 관계를 비교합니다.

  2. 검색과 정렬

    필터·정렬·이진 탐색 경계를 작은 입력으로 검증합니다.

  3. 파일 저장과 예외

    UTF-8 파일과 try-with-resources로 저장·복원을 구현합니다.

  4. 책임 분리와 변경 검토

    저장소 인터페이스와 단위 테스트로 CRUD 동작을 유지합니다.

컬렉션과 파일 도서 목록 미션

앞 모듈의 결과를 이어서 파일로 저장되는 도서 CRUD 프로그램을 완성합니다.

요구사항

  • 목록·ID 조회·추가·제목 수정·삭제를 구현합니다.
  • 파일 저장소를 이전 모듈의 도서 객체와 연결합니다.
  • 변경 이유와 리스트·맵 선택 근거를 README에 작성합니다.
  • BookCli의 list·get·add·rename·delete를 서로 다른 JVM 실행으로 호출해 파일 저장 결과를 확인합니다.
  • 앞 모듈 미션 solution의 Book·LoanPolicy·LoanService·CatalogApp과 33개 테스트를 유지합니다. ID는 저장소 키로 분리하고 파일 제목의 탭·CR·LF를 거부합니다.
  • 단일 작성자와 원자 이동 지원 환경이라는 보장 범위를 README에 명시합니다.

완료 기준

  • CRUD 후 다시 로딩한 데이터가 같은지 테스트합니다.
  • 중복 ID·없는 ID·깨진 파일에서 기존 목록이 손상되지 않는 테스트가 통과합니다.
  • 누적 50개 테스트가 실행되며 실패·오류·건너뜀 0, 종료 코드 0입니다.
  • 저장 I/O 실패 뒤 메모리 목록이 유지되고 쓰기 임시 파일이 정리됩니다.
./mvnw test
미션 시작 코드
모범 답안모범 답안 내려받기

검토 기준

  • 앞 단계의 계약과 테스트를 유지하며 변경 이유를 설명합니다.
  • 정상·경계·실패 경로의 근거와 재현 절차를 제출합니다.