참고: @Valid와 @Validated를 이용한 유효성 검증의 동작 원리 및 사용법 예시 Validation 올바르지 않은 데이터를 걸러내고, 보안을 유지하기 위해 데이터 검증은 여러 계층에 걸쳐서 적용된다. 클라이언트의 데이터는 조작이 쉽고 모든 데이터가 정상적인 방식으로 들어오는 것이 아니기 때문에 클라이언트 측 뿐만 아니라 서버 측에서도 데이터 유효성을 검사할 필요가 있다. ✅ @Valid 와 @Validated 차이 @Valid @Validated JSR-303 자바 표준 검증 어노테이션 스프링 프레임워크에서 제공하는 어노테이션 적용 계층 컨트롤러 컨트롤러 + 다른 계층도 가능 유효성 검증 실패 시 발생하는 예외 MethodArgumentNotValidException ConstraintViol..
참고: Pageable을 이용한 Pagination을 처리하는 다양한 방법 Pagination 조회할 데이터 개수가 많을 때, 한 번에 조회되는 데이터의 개수를 한정시켜 페이지 단위로 나누는 기법 정렬 방식, 페이지 크기, 불러올 페이지 번호 등 지정할 수 있다. 조회할 데이터 개수가 적어진다 > 성능 향상 사용자가 데이터를 확인하는 과정에서 확인해야 하는 데이터가 줄어든다 > UX 향상 Pagination 방법 JpaRepository 사용repository.findTop20ByIdLessThanOrderByIdDesc(Long id) repository.findTop20ByOrderByIdDesc() Pageable 객체 이용 Pageable 인터페이스 JPA에서 제공하는 Pageable 객체를 이용..
최근 다양한 브라우저, 모바일 디바이스 등 다양한 클라이언트가 등장했다 → 서버 프로그램은 다양한 클라이언트와 통신할 수 있어야 한다. → 멀티 플랫폼 지원을 위해 REST 등장 REST 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 방식 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 아키텍처자원의 표현 (representation) 그 자원을 표현하기 위한 이름 ex) “students” 자원 해당 소프트웨어가 관리하는 모든 것 ex) 문서, 그림, 데이터, 소프트웨어 자체 등 장점 • HTT..
인프런 - 스프링 MVC 김영한님 강의를 정리한 내용 출저: 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 1️⃣ 웹 애플리케이션 웹에서 데이터를 주고받을 때 거의 HTTP 프로토콜을 사용. 웹 서버 HTTP 기반으로 동작 웹 애플리케이션 서버 웹 서버의 기능을 포함 + 프로그램 코드를 실행해서 애플리케이션 로직 수행 동적 HTML 제공, HTTP API 제공 웹 서버 WAS 정적 리소스 제공 + 애플리케이션 로직까지 실행 가능 (자바) 서블릿 컨테이너 기능을 제공 간단한 웹 시스템 구성 = WAS & DB but, WAS 가 너무 많은 역할을 담당 서버 과부하 우려 정적 리소스 때문에 애플리케이션 로직 수행이 어려움 WAS에 장애 발생 > 웹에 접근 자체가 안됨, 오류 화면도 노..