본문 바로가기

테스트 쉽게하기3

Unleash 로컬에서 동작시켜보기 튜토리얼 2 Unleash 로컬에서 동작시켜보기 튜토리얼 1외부 클라이언트 서버를 교체할 때, 혹시 모를 상황에 대비해 롤백 해야하는 경우, 서버는 어떤 롤백 시나리오를 준비할 수 있을까요? 상황은 여기서 출발했습니다. 오픈 소스 6161990src.tistory.com  이어서 진행해보겠습니다. 먼저 Unleash 의 라이프 사이클에 대해서 서치해보았습니다. 대략 이렇습니다.   Initial Phase (초기 단계) 는 플래그가 생성되었지만, 아직 어떤 환경에서도 호출되지 않은 상태입니다. 이 설명대로라면 저는 아직 테스트 하지 않았으므로 초기 단계에 머물러있는게 맞습니다.  Pre-Live (프리라이브) 는 플래그가 비프로덕션 환경에서 사용되고 있는 상태입니다. develop 환경을 건너뛰고 저는 바로 prod.. 2024. 12. 3.
Unleash 로컬에서 동작시켜보기 튜토리얼 1 외부 클라이언트 서버를 교체할 때, 혹시 모를 상황에 대비해 롤백 해야하는 경우, 서버는 어떤 롤백 시나리오를 준비할 수 있을까요? 상황은 여기서 출발했습니다. 오픈 소스 기능 플래그 관리 툴 Unleash 를 사용해보았습니다. 기능 플래그는 애플리케이션에서 특정 기능을 제어하거나 활성화/비활성화할 수 있는 방법을 제공하며, 지속적 배포(CD) 및 점진적 릴리즈에 유용합니다. 오픈소스 기반이기 때문에 무료이고, 다양한 기본 전략이 있고 커스텀하게 전략을 세울 수도 있습니다. 사용자 세그먼트를 이용해 만 14세 이상의 유저에게는 A 기능을 만 20세 유저에게는 B 기능을 이용하도록 경우에 컨트롤할 수 있습니다. A/B 테스트를 간단하게 해볼 수 있습니다. 시간 기반 릴리즈를 통해 특정 시간 동안만 기능을 .. 2024. 12. 3.
Redis 로컬 테스트 하는 두 가지 방법 : testContainers Redis 구현 후 local 에서 실행시키는 여러가지 방법이 있습니다. 하나씩 실험삼아 기록해두려고합니다. 첫번째는 아주 쉽고 베이직한 접근방법입니다. application.yaml 세팅없이 실행시 localRedisConfig 로 세팅할 수 있습니다.  다음은 그냥 redis 서버 포트를 yaml 에 세팅해둘 수 있는 방법입니다.   둘 중 어느 방법을 선택하던지 아래 테스트 코드를 통해 결과를 확인해볼 수 있습니다.   메인 코드는 아래를 참조해보실 수 있습니다.   org.springframework.boot.autoconfigure.data.redis 의 RedisAutoConfiguration 을 디버깅을 해보았습니다.   RedisTemplate 생성시, yaml 에 설정해놓은대로 127.0.. 2024. 12. 1.