분류 전체보기(580)
-
Microservices Patterns
이 블로그에서는 패턴 기반 접근 방식(Patterns-Based Approach)을 활용하여 마이크로서비스 아키텍처를 설계하고 구현하는 방법을 설명합니다.🔹 패턴 기반 접근 방식이란?특정 기술에 종속되지 않고 다양한 기술 스택에서 공통적으로 활용할 수 있는 디자인 패턴을 중심으로 설명합니다.본 블로그에서는 Spring Boot 및 Spring Cloud를 사용하여 패턴을 구현하지만, 개념 자체는 다른 기술 플랫폼에서도 활용 가능합니다.각 패턴은 마이크로서비스 환경에서 자주 발생하는 문제를 해결하는 모범 사례(Best Practices)를 제공합니다.📌 마이크로서비스 패턴 개요본 블로그에서는 아래와 같은 6가지 주요 마이크로서비스 패턴을 다룹니다.코어 개발 패턴 (Core Development Patt..
2025.02.28 -
1.Welcome to the Spring Cloud
Spring을 활용한 마이크로서비스 아키텍처(MSA)에 대한 개념을 이해하려면 먼저 Spring Boot, 그리고 Spring Cloud의 역할을 살펴볼 필요가 있습니다.1. Spring Boot: 마이크로서비스를 위한 경량화된 SpringSpring 개발자들은 시간이 지나면서 대규모 단일(monolithic) 애플리케이션에서 점점 더 작은 서비스 단위로 애플리케이션을 분할하는 방향으로 개발 패러다임이 이동하는 것을 감지했습니다. 이에 대응하기 위해 Spring Boot와 Spring Cloud가 등장하게 되었습니다.1.1 Spring Boot란?Spring Boot는 기존 Spring 프레임워크의 핵심 기능을 유지하면서도, 보다 간결한 설정과 빠른 개발 환경을 제공하기 위해 만들어진 프레임워크입니다. ..
2025.02.28 -
Logging
Spring MVC에서 로깅(logging)은 애플리케이션의 동작을 추적하고 디버깅하는 데 필수적인 기능입니다.특히, Spring MVC의 DEBUG 및 TRACE 레벨 로깅은 가독성이 좋고, 최소한의 정보로도 유용한 디버깅이 가능하도록 설계되어 있습니다.1. Spring MVC의 로깅 레벨(Log Level)Spring MVC에서 로그는 다양한 레벨(level)을 지원하며, 목적에 따라 적절한 레벨을 설정할 수 있습니다.로그 레벨설명ERROR애플리케이션에서 치명적인 오류 발생 시 기록WARN애플리케이션이 정상 동작하지만 주의해야 할 사항 기록INFO주요 이벤트나 상태 변경 사항을 기록DEBUG디버깅을 위해 상세한 정보를 기록TRACEDEBUG보다 더 상세한 정보를 기록 (추적 목적으로 사용)📌 DEB..
2025.02.28 -
Multipart Resolver
Spring MVC에서 파일 업로드 및 멀티파트 데이터 처리를 위해 MultipartResolver를 사용합니다.MultipartResolver는 multipart/form-data 요청을 파싱하고, 업로드된 파일을 다룰 수 있도록 도와주는 인터페이스입니다.1. MultipartResolver 개념웹 애플리케이션에서 파일 업로드는 일반적인 application/x-www-form-urlencoded 요청과 다르게 처리됩니다.파일 업로드 요청은 multipart/form-data 형식으로 전송되며, 이를 파싱해야만 개별 파일과 폼 데이터를 사용할 수 있습니다.Spring MVC에서는 MultipartResolver를 사용하여 multipart 요청을 자동으로 파싱하고,기존 HttpServletRequest..
2025.02.28 -
View Resolution
Spring MVC에서 뷰(View)란 사용자가 요청한 데이터를 렌더링하여 응답하는 역할을 합니다.Spring MVC는 특정 뷰 기술(JSP, Thymeleaf, FreeMarker 등)에 종속되지 않고,ViewResolver를 사용하여 논리적인 뷰 이름을 실제 뷰로 변환하는 방식을 채택하고 있습니다.1. ViewResolver와 View 개념Spring MVC는 View와 View Resolution을 분리하여,컨트롤러가 특정 뷰 기술(JSP, FreeMarker 등)에 종속되지 않도록 설계되었습니다.📌 ViewResolver 역할컨트롤러가 반환한 논리적인 뷰 이름(view name)을 실제 뷰 객체로 변환예를 들어, "home"이라는 뷰 이름이 "WEB-INF/views/home.jsp"로 매핑될 ..
2025.02.28 -
Exceptions
Spring MVC에서 예외(Exception)가 발생하면 DispatcherServlet은 여러 단계의 예외 처리 메커니즘을 통해 적절한 응답을 생성합니다.이를 위해 HandlerExceptionResolver 인터페이스를 구현한 다양한 예외 처리 전략이 존재합니다.1. Spring MVC에서 예외가 발생하는 시점예외는 다음과 같은 경우에 발생할 수 있습니다.1️⃣ 요청 매핑(Request Mapping) 과정에서 예외 발생존재하지 않는 URL을 호출한 경우 (NoHandlerFoundException)요청이 유효하지 않은 경우 (HttpRequestMethodNotSupportedException)2️⃣ 컨트롤러(Controller) 내부에서 예외 발생@RequestMapping이 있는 메서드에서 예..
2025.02.28