데이터 액세스 계층에 들어가기 전 예외처리를 학습했다. 계속해서 학습의 양이 늘어나고 있기 때문에 블로깅에 중점을 두기보다는 혼자 학습하는 시간을 늘리기로 했다. 따라서 프로젝트 기간까지 블로그에는 핵심적인 개념만 다루려고 한다. 핵심 개념 애플리케이션에서 예외가 발생했을 때 우리는 클라이언트에게 예외 정보를 알려줘야 한다. 하지만 모든 데이터를 넘겨줄 필요가 없으므로 필요한 정보들만 골라서 클라이언트에게 넘겨줄 수 있다. @ExceptionHandler 1 2 3 4 5 6 @ExceptionHandler public ResponseEntity handleException(MethodArgumentNotValidException e) { final List fieldErrors = e.getBindin..
서비스 계층(Application layer)은 웹 애플리케이션의 비즈니스 요구 사항을 처리하는 핵심 계층이다. API계층에서 전달받은 클라이언트의 요청 데이터를 서비스 계층이 받으면 그 데이터를 정해진 로직에 맞춰서 가공한 후, API계층에게 다시 전달해주면서 API계층이 응답 데이터를 클라이언트에게 제공되게 된다. (데이터 액세스 계층을 제외하고 생각한 부분) 도메인 Entity 클래스 서비스 계층에서 데이터 액세스 계층과 연동하면서 비즈니스 로직을 처리하기 위해 필요한 데이터를 담는 역할을 하는 클래스이다. (현재 학습에서는 데이터 액세스 계층과의 연동은 하지 않고 있다) Mapper 클래스 DTO 클래스는 API계층에서 요청 데이터를 전달받고, 응답 데이터를 전송하는 것이 주목적이고, Entity..
API 계층(Presentation layer)은 클라이언트의 요청을 직접적으로 전달받는 계층이다. 당일 학습한 것은 이 API 계층을 Spring MVC 기반의 코드로 구현한 것이다. Spring MVC 스프링의 모듈 중 서블릿(Servlet) API를 기반으로 클라이언트의 요청을 처리하는 모듈이다. 쉽게 말해서 클라이언트의 요청을 편리하게 처리해주는 프레임워크다. 서블릿(Servlet)? 동적 웹 페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이며, 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해 준다. 자세한 내용은 이 곳 에서 참고하시면 좋을 듯하다. Model (spring Mvc) 클라이언트의 요청을 받은 서버는 응답을 다시 돌려주게 되는데..
섹션1을 마친 지가 얼마 되지 않은 것 같은 느낌인데 벌써 섹션2까지 마무리됐다. 정말 어려운 내용(알고리즘의 시간 복잡도, 스프링 핵심 개념 DI, AOP 등)이 많았고 연달아 붕 뜨는 느낌을 받았기 때문에 우울함이 한가득인 것은 어쩔 수 없는 것 같다. 그래도 많이 힘들었지만 어찌저찌 내가 여기까지 왔다는 것도 대견스럽긴 하다. 학습을 계속 진행하다보면 흩어져 있는 개념들이 퍼즐처럼 딱딱 끼워 맞춰지는 순간이 오길 바라면서 섹션2 회고를 진행해보도록 하겠다. KPT 회고 목표 상기하기 - "여러분의 목표는 무엇인가요?" 당장 코 앞의 목표라면 '2023년 안으로 개발자로서 취직에 성공하기'다. 지금까지 배운 내용들에 대해서 완벽히 이해를 하고 취직에 성공하는 것은 어렵겠지만, 실무에 있어서 핵심적인 ..