본문 바로가기

전체 글161

[Spring MVC] API문서화 API 문서화 API 문서화가 필요한 이유 API 문서화 REST API 백엔드 애플리케이션 요청을 전송하기 위해 알아야 하는 요청 정보를 문서로 정리한 것 클라이언트 측에서 API를 사용하려면 정보가 필요하기 때문에 작성 API 정보를 수기 작성 혹은 빌드를 통해 API 문서 자동 생성 API 문서 생성의 자동화가 필요한 이유 수기 작성은 매우 비효율적 보다 정확한 정보 전달을 위해 API 문서 생성 자동화 필요 Swagger vs Spring Rest Docs Swagger API 문서화 Java 애플리케이션에서 전통적인 API 문서 자동화 오픈 소스 애플리케이션 기능을 구현하기 위해 API 문서 생성을 위한 애너테이션이 추가된다. controller와 request Body, response bod.. 2022. 11. 11.
[Spring MVC] Testing 단위 테스트(Unit Test) 테스트 목적 일반적인 의미 어떠한 일에도 잘 작동되는지에 대한 검증이 필요 Java 기반 애플리케이션 테스트 Postman을 통해 JSON 응답 결과 확인하는 것 또한 테스트 breakpoint를 걸어서 라인 단위로 확인 보다 간편한 애플리케이션 테스트 비즈니스 로직에서 특정한 메서드나 특정 계층을 테스트하기 위한 편리한 테스트 작은 단위로 테스트를 할 수 있도록 하는 테스트가 바로 단위 테스트 단위 테스트 기능 테스트 가장 큰 테스트 범주 애플리케이션을 사용하는 사용자가 제공하는 기능을 올바르게 작동하는지 테스트 개발자 혹은 QA 부서 등이 테스트 API 툴과 데이터베이스가 연관되어 얽혀 있는 테스트 통합 테스트 주로 개발자가 테스트 클라이언트 툴 없이 개발자가 짠 코드.. 2022. 11. 11.
[Spring MVC] 트랜잭션 Transaction 개념과 사용 목적 개념 물리적으로는 여러 개의 작업이지만 논리적으로는 하나의 작업 모든 하위 작업이 성공하거나 실패하는 처리 목적 데이터의 무결성을 보장하는 핵심적인 역할 ACID 원칙 Atomicity 작업을 더 이상 쪼갤 수 없는 특징 모든 작업이 성공하거나 실패하는 특징 Consistency 일관성 있게 저장되거나 변경되는 것 Isolation 각각의 트랜잭션은 독립적으로 실행 다른 트랜잭션에 영향을 주지 않는 것 Durability 결과가 지속되는 것 데이터가 물리적인 장소에 지속적으로 유지 Transaction Commit & Rollback Commit 모든 작업을 최종적으로 반영하는 명령어 변경 내용이 DB에 영구 저장 하나의 트랜잭션 종료 Rollback 작업 중 문제.. 2022. 11. 7.
[Spring MVC] JPA 데이터 액세스 계층 JPA 개요 JPA 개념 JPA(Java Persistence API) Java에서 사용하는 ORM 기술의 표준 사양 Java의 인터페이스로 정의, 구현체 따로 존재 Hibernate ORM JPA 구현체로 Hibernate ORM, EclipseLink, DataNucleus 존재 Hibernate ORM는 JPA 기능 이외 자체 사용 API 지원 Data Access layer에서 JPA 데이터 액세스 계층의 상단에 위치 JPA를 거쳐 구현체인 Hibernate ORM에서 데이터 처리 작업 작동 Hibernate ORM은 내부적으로 JDBC API 사용하여 DB 접근 JPA 의미 persistence는 영속성을 의미 Persistence Context ORM은 객체와 DB table을 매핑하여 엔티티.. 2022. 11. 7.