일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 네트워크보안
- 프로그래밍
- 컴퓨터비전
- 빅데이터
- 딥러닝
- 웹개발
- 데이터베이스
- 사이버보안
- 머신러닝
- 컴퓨터과학
- 데이터분석
- 소프트웨어공학
- 데이터구조
- 디자인패턴
- 자바스크립트
- 인공지능
- 자료구조
- 컴퓨터공학
- I'm Sorry
- 버전관리
- 클라우드컴퓨팅
- 네트워크
- 파이썬
- Yes
- 소프트웨어
- 보안
- 알고리즘
- 데이터과학
- springboot
- 프로그래밍언어
- Today
- Total
목록2025/07/10 (15)
스택큐힙리스트
Java 애플리케이션을 운영하다 보면 "GC 때문에 서버가 멈췄다", "스탑더월드가 발생했다"는 말을 듣곤 합니다. 도대체 GC는 뭔지, 왜 프로그램이 멈추는 건지 궁금하지 않으셨나요? 이번 글에서는 Java의 Garbage Collection(가비지 컬렉션)과 Stop-the-World(스탑더월드) 개념을 쉽게 풀어 설명합니다.✅ GC(Garbage Collection)란?Java에서는 프로그래머가 메모리를 직접 해제하지 않아도 됩니다. 대신 JVM이 자동으로 사용되지 않는 객체를 찾아서 메모리에서 제거해주는 역할을 하는 것이 GC입니다.즉,"더 이상 참조되지 않는 객체들을 자동으로 청소해주는 기능"GC 덕분에 Java는 메모리 누수를 줄이고, 메모리 관리를 자동화할 수 있습니다.✅ GC는 언제 동작할..
Spring Boot 애플리케이션에서는 컨트롤러 진입 전 단계인 Filter나 Interceptor에서 인증·로깅·트래픽 제어 등의 처리를 하게 됩니다. 이 과정에서 예외가 발생할 수 있는데, 전통적인 @ControllerAdvice 전역 예외 처리 방식은 이 영역까지는 영향을 미치지 않습니다.이번 포스팅에서는 필터와 인터셉터에서 예외가 발생했을 때 이를 어떻게 처리하고, 클라이언트에 일관된 에러 응답을 보낼 수 있는지에 대해 설명합니다.✅ 왜 전역 예외 처리(@ControllerAdvice)로 잡히지 않을까?@ControllerAdvice는 DispatcherServlet 이후 컨트롤러 진입 시점부터 발생한 예외만 처리합니다. 하지만 필터와 인터셉터는 그 이전 단계에서 실행되므로 @ControllerA..
1. DB는 성능의 핵심느린 쿼리의 주범: "풀 스캔" → 모든 행을 다 뒤지는 비효율적인 조회성능 문제의 상당수가 DB 설계 미숙이나 잘못된 쿼리에서 발생2. 조회 트래픽을 고려한 인덱스 설계🔎 인덱스 기본전문 검색 인덱스: 텍스트 검색에 특화된 인덱스 (예: Full-Text Index)단일 인덱스: 하나의 칼럼 기준 인덱스복합 인덱스: 여러 칼럼을 조합한 인덱스 (WHERE 절에 자주 함께 쓰이는 칼럼들)🎯 인덱스 설계 팁선택도 높은 칼럼 우선: 중복 적은 값일수록 인덱스 효과 큼커버링 인덱스 활용: 쿼리가 인덱스만으로 처리되도록 설계 (SELECT 대상이 인덱스에 모두 포함)인덱스는 꼭 필요한 것만: 많다고 좋은 게 아님 → 쓰기 성능 저하3. 조회 성능 개선 방법전략설명✅ 미리 집계자주 계산..
Spring Boot로 REST API를 개발할 때 예외 처리 코드를 매번 컨트롤러에 작성하는 건 유지보수에 큰 부담이 됩니다. 이를 해결하기 위해 사용하는 것이 바로 @ControllerAdvice입니다.이번 포스팅에서는 @ControllerAdvice를 활용해 전역적으로 예외를 처리하고, 클라이언트에 적절한 메시지와 HTTP 상태 코드를 자동으로 매핑해주는 방법을 소개합니다.✅ 왜 전역 예외 처리인가?모든 컨트롤러에서 발생하는 예외를 하나의 클래스에서 처리코드 중복 제거일관된 에러 응답 구조 제공✅ 기본 사용법@RestControllerAdvicepublic class GlobalExceptionHandler { @ExceptionHandler(IllegalArgumentException.cla..