일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹개발
- 데이터과학
- 네트워크
- 컴퓨터과학
- 소프트웨어공학
- 인공지능
- 딥러닝
- 빅데이터
- 프로그래밍
- 컴퓨터공학
- 데이터분석
- Yes
- springboot
- 사이버보안
- 소프트웨어
- 프로그래밍언어
- 보안
- 알고리즘
- 디자인패턴
- 데이터베이스
- 네트워크보안
- 버전관리
- 자료구조
- 머신러닝
- 자바스크립트
- 데이터구조
- I'm Sorry
- 파이썬
- 클라우드컴퓨팅
- 컴퓨터비전
- Today
- Total
목록2025/07 (233)
스택큐힙리스트
1. 왜 다시 “데이터 클래스”인가?DTO·Value Object·Config Bean처럼 “값만 담는 객체”는 스프링 프로젝트 곳곳에 숨어 있습니다. 반복되는 getter‧setter, equals/hashCode, toString… 언제까지 IDE 자동 생성 버튼을 누를 순 없죠. JDK Record, Lombok, Google AutoValue 세 가지 방법을 놓고 보일러플레이트 제거 전략을 정리합니다.2. 3파전 핵심 키워드 한눈에Record — 자바 언어 기능Java 16+ 내장, 문법 자체가 “불변 데이터 전용 클래스”생성자·필드·equals/hashCode/toString 자동 생성상속 불가(암시적 final), 필드도 자동 private final제한적 커스텀: 로직 많은 객체에는 부적합L..
1. 오늘의 목표람다‧Stream‧Record‧Optional 네 가지 키워드를 활용해 실시간 로그를 필터링하고 집계하는 예제를 만들며 “함수형 사고”에 감 잡기. 프로젝트 전반에서 반복될 깨끗한 데이터 파이프라인을 설계할 토대를 다집니다.2. 왜 배워야 할까?람다식으로 익명 클래스를 걷어내 코드량 ↓, 가독성 ↑.Stream API로 멀티스레드 컬렉션 처리까지 한 줄에.Record로 DTO 보일러플레이트 제거, 불변 객체 기본화.Optional로 NullPointerException 방지 & “null 체크” 관습 탈출.3. 실습 – 실시간 로그 필터·집계 파이프라인// Record: 로그 한 줄 정의public record LogLine(long ts, String level, String msg) ..
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..