반응형 spring boot 3.53 [실전] Spring Data Elasticsearch로 구현하는 '한글 자동 완성' 검색 시스템 Search Implementation Series 02이론을 넘어 실전으로! Elasticsearch 자동 완성 구현하기 안녕하세요, code-resting입니다. 지난 시간에는 Elasticsearch의 역색인 원리를 살펴보았습니다. 오늘은 이를 스프링 부트에 연동하여, 한국어 검색에서 필수적인 Nori 분석기 설정법과 Edge n-gram을 활용한 '검색 자동 완성' 기능을 구현해 보겠습니다.1. 의존성 설정 및 도메인 모델링Spring Data Elasticsearch를 사용하면 익숙한 Repository 패턴으로 ES에 접근할 수 있습니다.// build.gradledependencies { implementation 'org.springframework.boot:spring-boot-st.. 2026. 3. 5. 서버 부팅이 0.1초? GraalVM Native Image로 Java의 한계를 넘어서기 Cloud Native & High Efficiency부팅 속도 0.1초의 기적, GraalVM Native Image 도입 가이드 안녕하세요, code-resting입니다. 자바는 강력한 언어지만, 'Cold Start'(초기 구동 지연) 문제 때문에 서버리스 환경이나 짧은 주기의 배포 환경에서는 늘 고전해왔습니다. 하지만 GraalVM Native Image를 사용하면 이야기가 달라집니다. JVM 위에서 돌아가는 무거운 JAR 파일이 아닌, OS에서 직접 실행되는 바이너리 파일로 빌드하여 압도적인 성능 향상을 이뤄낼 수 있습니다.1. JIT를 넘어 AOT(Ahead-of-Time) 컴파일로기존 자바는 런타임에 코드를 최적화하는 JIT(Just-In-Time) 방식을 사용합니다. 반면, Native I.. 2026. 3. 1. [Spring Boot 3.5] WebFlux 버리고 가상 스레드(Virtual Threads)로 갈아타야 하는 이유 (성능 비교 및 주의사항) Java & Spring Ecosystem 2026WebFlux의 시대는 끝났는가? Spring Boot 가상 스레드 실전 가이드 안녕하세요, code-resting입니다. 과거 우리는 수만 개의 동시 요청을 처리하기 위해 WebFlux(Netty)라는 다소 복잡한 비동기 모델을 선택해야만 했습니다. 하지만 Java 21에서 정식 도입되고 Spring Boot 3.2+를 거쳐 3.5에 안착한 가상 스레드(Virtual Threads)는 이 패러다임을 완전히 바꾸어 놓았습니다.1. Platform Thread vs Virtual Thread기존의 전통적인 스레드 모델인 Platform Thread는 OS 스레드를 래핑한 구조로, 생성 비용이 크고 메모리 점유율(스레드당 약 1MB)이 높아 수천 개 이상의 .. 2026. 2. 26. 이전 1 다음 반응형