Jenkins에서 Gradle Wrapper 파일 설정 및 자동화된 빌드 설정 방법 Jenkins에서 Gradle 프로젝트를 빌드하려면 Gradle Wrapper 파일을 설정하고 Git 저장소에 추가해야 합니다. 이 포스팅에서는 Gradle Wrapper 파일의 필요성, 이를 설정하는 방법, 그리고 Jenkins에서 이를 사용하는 방법을 단계별로 안내합니다. Gradle Wrapper 파일의 필요성 Gradle Wrapper는 프로젝트의 특정 Gradle 버전을 고정하고, 빌드 환경의 일관성을 유지하는 데 도움을 줍니다. 이를 통해 각 개발자와 Keun.R 4 min read 2024.06
java 동시성 문제 해결을 위한 Caffeine Cache와 동기화 블록 사용 캐싱은 데이터베이스 접근을 줄이고 성능을 향상시키는 중요한 기법입니다. 특히, Caffeine Cache는 JVM 기반의 고성능 캐싱 라이브러리로, Spring Boot와 함께 사용하면 더욱 효과적입니다. 하지만 동시에 비동기적으로 많은 요청이 들어올 때, 캐시에서 값을 차감하는 로직이 순차적으로 잘 처리되지 않으면 잔여 크레딧 이슈가 발생할 수 있습니다. 이를 해결하기 위해 동기화 블록을 활용하는 방법을 Keun.R 3 min read 2024.06
자바에서 캐시 사용하기: Caffeine 캐시 설정과 사용법 캐시는 애플리케이션 성능을 크게 향상시킬 수 있는 중요한 도구입니다. 자바에서 캐시를 사용하면 데이터베이스 조회나 복잡한 계산과 같은 비용이 많이 드는 작업의 결과를 임시 저장하여 빠르게 재사용할 수 있습니다. 이번 포스팅에서는 자바에서 사용 가능한 다양한 캐시 솔루션과 그 중에서도 JVM 내에서 사용하기 편리한 Caffeine 캐시에 대해 알아보겠습니다. Keun.R 10 min read 2024.06
ELK 스택: 개념, 특징, 장점 및 사용 방법 ELK 스택(Elasticsearch, Logstash, Kibana)은 실시간 데이터 수집, 분석, 시각화를 위한 오픈 소스 도구 모음입니다. 분산형 구조와 강력한 검색 기능을 통해 대용량 데이터를 효율적으로 처리하고, Kibana를 통해 시각화할 수 있습니다. Keun.R 5 min read 2024.05
WebClient 예외 처리 개념 및 원리 지난번 스프링 부트에서 RestTemplate을 사용한 예외 처리를 살펴보았습니다. 이번 포스팅에서는 RestTemplate과 WebClient의 차이점과 각 도구에서 예외를 처리하는 방법을 알아봅니다. RestTemplate은 동기식으로, WebClient는 비동기식으로 HTTP 요청을 처리하며, 예외 처리 방식에도 차이가 있습니다. 이 글을 통해 두 가지 도구의 예외 처리 방법을 쉽게 이해할 수 있습니다. Keun.R 3 min read 2024.05
스프링부트 예외 처리하기: 쉽고 깔끔하게! 스프링 부트에서 예외를 처리하는 방법에 대해 이야기해보려고 해요. 애플리케이션을 개발하다 보면 예외 상황을 만나는 건 피할 수 없죠. 이때 예외를 어떻게 처리하느냐가 정말 중요해요. 잘못된 예외 처리는 사용자 경험을 망칠 수 있고, 시스템의 안정성에도 영향을 줄 수 있답니다. 그래서, 예외를 쉽고 깔끔하게 처리하는 방법을 알려드릴게요! Keun.R 4 min read 2024.05
WebClient와 리액티브 프로그래밍 사용하기 자바 스프링 부트에서 WebClient와 리액티브 프로그래밍을 사용하여 비동기 논블로킹 방식으로 HTTP 요청을 처리하고, 실시간 스트리밍으로 API 응답을 프론트엔드에 표시하는 방법을 다룹니다. Keun.R 9 min read 2024.05
MacOS Silicon에서 Netty DNS 문제 해결하기 MacOS Silicon(M1/M2)에서 Netty DNS 문제를 해결하는 방법을 알아보세요. Spring Boot 애플리케이션 실행 시 발생하는 DNS 해석 문제를 `netty-resolver-dns-native-macos` 라이브러리를 추가하여 간단하게 해결할 수 있습니다. Keun.R 3 min read 2024.05