전체 글 55

springboot에 JCache로 ehcache 로컬캐시 적용하기

이번 포스트에서는 springboot에 ehcache를 로컬캐시로 구성합니다 환경springboot 3.1.10gradle 8.7java 17spring-boot-starter-cache 패키지를 dependency에 추가합니다.spring-boot-starter-cache는 Spring Boot에서 캐시를 설정하고 사용하는 데 필요한 추상화를 제공하는 모듈입니다. 이 모듈을 통해 캐시를 쉽게 설정하고 다양한 캐시 제공자를 사용할 수 있습니다. 어떤 캐시 제공자를 사용할지는 개발자가 선택할 수 있으며, Spring Boot의 설정 파일을 통해 이를 간단히 구성할 수 있습니다. Spring Boot Starter Cache의 역할 다음과 같습니다.추상화 제공: 캐시를 설정하고 사용하는 데 필요한 공통 인터..

springboot에 scouter로 모니터링하기

이번 포스트는 로컬환경에서 scouter를 통해 intellij로 스프링부트 애플리케이션을 실행해서 scouter로 모니터링해보겠습니다 환경- Apple M2 Pro- macOS Sonoma- docker  - Docker version 24.0.6, build ed223bc scouter는 오픈소스 APM입니다APM은 애플리케이션 성능 모니터링 또는 애플리케이션 성능 관리를 의미합니다 github repo Scouter 구성은 크게 server, agent, client 구조로 되어있습니다참고: https://github.com/scouter-project/scouter/blob/master/scouter.document/main/Setup-FAQ_kr.md scouter/scouter.document..

모니터링 2024.06.16

전략패턴

이번 포스트는 인프런 - 스프링 핵심 원리 고급편을 정리한 내용입니다 이전 포스트에서 템플릿 메서드 패턴을 다뤘습니다 전략 패턴 구조 출처: https://blog.naver.com/2feelus/220658663151 템플릿 메서드 패턴이번 포스트는 인프런 - 스프링 핵심 원리 고급편을 정리한 내용입니다.  템플릿 메서드 패턴은 GoF의 디자인 패턴중 행위 패턴중 하나입니다출처: https://engineering.linecorp.com/ko/blog/templete-method-patblogger903.tistory.com 템플릿 메서드 패턴은 Template 추상 클래스에 공통으로 사용할 코드를 두고 Template을 확장한 서브 클래스에서 비즈니스 로직을 구현하면서 비즈니스 로직과 반복되는 부가 ..

디자인패턴 2024.06.16

템플릿 메서드 패턴

이번 포스트는 인프런 - 스프링 핵심 원리 고급편을 정리한 내용입니다.  템플릿 메서드 패턴은 GoF의 디자인 패턴중 행위 패턴중 하나입니다출처: https://engineering.linecorp.com/ko/blog/templete-method-pattern 템플릿 메서드 패턴으로 모순 없는 상태 보장하기시작하기 전에 안녕하세요. LINE Pay의 iOS 개발을 맡고 있는 정지인입니다. LINE Pay iOS의 결제 기능을 리팩토링하는 데에 적용했던 템플릿 메서드 패턴을 이용한 계약 기반 프로그래밍 기법에 대해engineering.linecorp.com 이 패턴은 서비스 로직에서 비즈니스 로직과 운영에 필요한 부가 코드들을 분리할때 유용하게 쓰입니다부가 코드가 구조가 동일할때 중복 코드를 제거하고 코..

디자인패턴 2024.06.16

ngrinder docker-compose 로 생성후 로컬테스트

docker-compose로 ngrinder controller와 agent를 컨테이너로 올린후 로컬호스트에 올라간 스프링부트를 테스트하겠습니다 환경- Apple M2 Pro- macOS Sonoma- docker  - Docker version 24.0.6, build ed223bc docker compose 파일을 생성해줍니다 docker-compose.ymlversion: '3.8'services: controller: image: ngrinder/controller:3.5.6 platform: linux/amd64 restart: always ports: - "8300:80" - "16001:16001" - "12000-12009:12000-120..