Layered Architecture

통합 테스트
- 여러 모듈이 협력하는 기능을 통합적으로 검증하는 테스트
- 일반적으로 작은 범위의 단위테스트만으로 기능 전체의 신뢰성을 보장할 수 없다
- 풍부한 단위 테스트 + 큰 기능 단위를 검증하는 통합 테스트
Spring
Library vs Framework

- Libary
- 내 코드가 주체가 됨
- 필요한 기능이 있다면 외부에서 끌어와서 사용함
- 이미 개발된 기능들을 가져옴
- Framework
- 이미 갖춰져있어 동작할 수 있는 환경들이 구성되어 있다
- 내 코드가 수동적으로 프레임 안에 들어가서 동작
ORM
- 객체 지향 패러다임과 관계형 DB 패러다임의 불일치
- 이전에는 개발자가 객체의 데이터를 한땀한땀 매핑하여 DB에 저장 및 조회
- ORM을 사용함으로써 개발자는 단순 작업을 줄이고 비즈니스 로직에 집중
JPA