본문 바로가기
반응형

분류 전체보기114

코드가 우아해진다! Java 21 Record와 패턴 매칭(Pattern Matching) 완벽 가이드 Java Modernization Series 02Lombok은 이제 안녕, Record & Pattern Matching의 시대 안녕하세요, code-resting입니다. 어제는 Java 21의 성능 혁명인 가상 스레드를 다뤘는데요. 오늘은 개발자의 생산성과 코드의 가독성을 극대화해주는 문법적 변화를 살펴보려 합니다. 더 이상 데이터 전달 객체(DTO)를 만들기 위해 수십 줄의 코드를 쓰거나, 복잡한 타입 체크 로직으로 고생할 필요가 없습니다.1. 데이터의 본질에 집중하는 Record레코드(Record)는 불변(Immutable) 데이터를 저장하기 위한 특수한 클래스입니다. 필드 선언만으로 생성자, Getter, equals, hashCode, toString을 자동으로 생성합니다.❌ 기존 방식 (Lo.. 2026. 3. 26.
자바 성능의 혁명: Java 21 가상 스레드(Virtual Thread) 도입하기 Java Modernization Series 01스레드당 1MB는 옛말, Virtual Thread가 가져온 성능 혁명 안녕하세요, code-resting입니다. 자바 개발자들을 오랫동안 괴롭혔던 문제 중 하나는 '스레드 비용'이었습니다. 요청 하나당 스레드 하나를 할당하는 방식은 동시 접속자가 늘어날수록 메모리와 컨텍스트 스위칭 비용을 감당하기 힘들었죠. 하지만 Java 21에서 정식 도입된 가상 스레드는 이 공식을 완전히 깨버렸습니다.1. 플랫폼 스레드 vs 가상 스레드기존의 자바 스레드(플랫폼 스레드)는 운영체제(OS)의 커널 스레드와 1:1로 매핑되었습니다. 이는 생성 비용이 비싸고 개수도 제한적이었죠.❌ 기존 방식: 스레드 하나가 수백 KB~1MB의 메모리를 점유함. 수천 개만 생성해도 OOM.. 2026. 3. 25.
서버가 아프면 슬랙으로 알려줘! Grafana Alerting과 Slack 실시간 알림 연동 Observability Series 02대시보드 그만 보세요, Slack 알림으로 장애 선제 대응하기 안녕하세요, code-resting입니다. 어제는 Prometheus와 Grafana로 대시보드를 구축해 보았습니다. 하지만 개발자가 밥 먹을 때나 잠잘 때도 화면을 보고 있을 수는 없죠. 오늘은 서버에 이상 징후가 포착되면 슬랙(Slack)으로 즉시 알림을 보내주는 Grafana Alerting 시스템을 완성해 보겠습니다.1. 장애 알림의 흐름 (Alerting Flow)단순히 알림을 보내는 것을 넘어, '언제', '어떻게' 보낼지를 정의하는 것이 중요합니다.📊 Threshold (임계치): "CPU 사용량이 90%를 넘으면 알려줘"와 같은 기준값.🕒 For (지속 시간): "1분 동안 계속 90.. 2026. 3. 24.
내 서버는 안녕한가요? Prometheus & Grafana로 구축하는 실시간 모니터링 대시보드 Observability Series 01장애를 미리 발견하는 법, Prometheus & Grafana 모니터링 기초 안녕하세요, code-resting입니다. 자동 배포 파이프라인이 완성되었다면, 이제는 운영 중인 서버의 상태를 '관측'할 차례입니다. 사용자가 불편을 느끼기 전에 우리가 먼저 서버의 과부하를 감지하는 것, 그것이 진정한 백엔드 개발자의 실력이죠. 오늘은 Prometheus로 지표를 수집하고 Grafana로 시각화하는 황금 조합을 소개합니다.1. 모니터링 시스템의 구조Prometheus는 Pull 방식의 메트릭 수집 도구입니다. 서버가 정보를 쏘는 게 아니라, 정해진 주기마다 Prometheus가 서버에 접속해 데이터를 긁어가는 방식이죠.🔥 Prometheus: 시계열 데이터베이스(T.. 2026. 3. 23.
반응형