전체 글(67)
-
📌 인덱스 완전 정복 - 인덱스란 무엇이고, 왜 중요한가?
이번 포스팅에서는 "인덱스"의 개념을 기초부터 시작해, 실무에서 왜 중요한지, 어떻게 성능에 영향을 미치는지 깊이 있게 알아보도록 하자. 단순 이론을 넘어서 Explain Plan 해석이나 인덱스 사용 시 주의사항도 함께 다룰 예정이다.✅1. 인덱스란?인덱스(Index)는 테이블에서 데이터를 더 빠르게 조회하기 위한 자료구조이다.마치 책의 목차처럼, 원하는 데이터를 빠르게 찾을 수 있게 도와줌정렬된 데이터를 참조해서 원하는 레코드로 바로 Jump하는 방식예시 : 수천 개의 책 중에서 "A로 시작하는 단어"만 찾으려면 처음부터 훓지 않고, 목차(인덱스)를 보고 곧바로 해당 위치로 접근하듯, DB도 전체 테이블 스캔 없이 인덱스를 활용해 빠르게 접근할 수 있음✅2. 인덱스를 왜 사용할까?상황인덱스 없을 때..
2025.07.28 -
Spring Scheduler & Async 처리 흐름 - 정기 작업과 비동기 실행 완전 정복
✅1. @Scheduled - 스케줄링 처리의 핵심 📌기본 개념@Scheduled는 정해진 주기마다 메서드를 실행하는 어노테이션이다.백그라운드에서 자동으로 실행되며 주로 배치 작업, 통계 집계, 외부 API 호출 등 반복 작업에 사용🔧 사용 전 설정@Configuration@EnableSchedulingpublic class SchedulerConfig {}@Componentpublic class SampleScheduler { @Scheduled(fixedDelay = 5000) public void task() { System.out.println("5초마다 실행"); }}2. 다양한 실행 옵션속성설명fixedRate메서드 시작 시점 기준 반복 (밀리초)fixedDel..
2025.07.15 -
Spring MVC 요청 처리 흐름 완전 정복 - DispatcherServlet부터 Controller까지
✅1. Spring MVC란?Model-View-Controller 아키텍처를 기반으로 하는 웹 프레임워크Model : 데이터와 비즈니스 로직View : 사용자에게 보여지는 UIController : 사용자 요청을 받고 적절한 응답을 돌려주는 역할 2. 요청 처리 흐름 한눈에 보기Client ↓DispatcherServlet ↓HandlerMapping ↓HandlerAdapter ↓Controller ↓ModelAndView ↓ViewResolver ↓View (JSP, Thymeleaf 등) ↓Response to Client3. DispatcherServlet : Spring MVC의 핵심 진입점web.xml 또는 Spring Boot에서는 자동 등록되는 Front Controller..
2025.07.02 -
Spring Boot 자동 설정 원리 완전 정복 - @EnableAutoConfiguration 내부에서 벌어지는 일
✅1. Spring Boot의 자동 설정이란?Spring Boot는 @EnableAutoConfiguration을 통해필요한 Bean 설정을 자동으로 구성해주는 기능을 제공한다. 즉, 우리가 DataSource, DispatcherServlet, Jackson, SecurityFilter 등을직접 설정하지 않아도 자동으로 등록해주는 것2. @SpringBootApplication 안에 숨어 있는 핵심@SpringBootApplication사실 이것은 다음 3개의 어노테이션을 묶은 복합 어노테이션이다.@Configuration@ComponentScan@EnableAutoConfiguration이 중 자동 설정의 핵심은 @EnableAutoConfiguration이다.3. @EnableAutoConfigur..
2025.06.25 -
🔐 Spring Security & JWT 인증 흐름 완전 정복 - 로그인 인증부터 토큰 발급, 필터 구조
✅ 1. Spring Security란?Spring 기반 애플리케이션의 인증 (Authentication)과 인가(Authorization)를 담당하는 보안 프레임워크 🔐 기본 역할인증(Authentication) : 사용자가 누구인지 확인인가(Authorization) : 사용자가 특정 리소스에 접근 가능한지 확인2. 인증 방식 비교방식설명특징세션 기반 인증로그인 시 서버가 세션 생성, 클라이언트에 세션 ID 전달서버 메모리에 상태 저장JWT 기반 인증로그인 시 토큰 생성, 클라이언트가 토큰을 저장 후 매 요청에 전송서버는 상태 저장 X (무상태 stateless)최근엔 JWT 기반 인증 방식이 보편화 (특히 REST API)🔑 3. JWT란?JSON Web Token인증 정보와 클레임을 JSON ..
2025.06.24 -
⚠️Spring 예외 처리 완전 정복 - @ControllerAdvice, @ExceptionHandler, 그리고 실무 예외 전략
✅1. 예외 처리의 필요성소프트웨어는 실패하지 않는 것이 아니라, 실패를 어떻게 다루느냐가 중요하다.Spring 애플리케이션에서는 예외를 제대로 처리하지 않으면클라이언트에게 500 에러가 그대로 노출되거나사용자 친화적인 메시지를 전달하지 못하고서비스 전체가 중단될 수 있음-> 그래서 예외 처리를 계층화하고 구조화하는 전략이 필요함 2. 예외 처리 전략의 계층화계층처리 방식Controller@ExceptionHandler, @ControllerAdivceService커스텀 예외 발생 (throw new..)Global필터/인터셉터에서의 처리, 예외 로깅🎯3. Spring MVC에서 예외가 발생했을 때 흐름컨트롤러/서비스에서 예외 발생HandlerExceptionResolver가 예외를 가로채 처리등록된 ..
2025.06.18