본문 바로가기

기록

(8)
Redis 테스트 환경 구성하기 최근 진행하고 있는 프로젝트에 통합테스트를 작성하고자 하고 있다. 내가 담당한 부분은 redis에 데이터를 저장하고, 조회하는 부분이기 때문에, redis 관련하여 통합테스트 환경 구축이 필요하였다. 통합테스트 환경 구축을 위해 여러가지 서치를 한 후...! embeddedRedis 라는것을 발견하였다. embeddedRedis의 경우 여러가지 블로그 글들도 많고 하여 빠르게 진행할 수 있다고 생각하여 진행해보고자 하였다. 그러나 이슈가 있었으니 ... 바로 내가 사용하고있는 맥북 환경(M1) 에서는 작동하지 않는 문제 였다 ... 😭 https://github.com/kstyrc/embedded-redis/issues/127 운이 좋게도 해당 이슈 아래 부분에 m1 에서 작동하지 않는 문제 해결 방..
의존성 한방향으로 정리하기 보호되어 있는 글입니다.
mockk를 선택한 이유 현재 팀에서 kotlin + SpringBoot 조합을 이용하여 프로젝트를 진행 하고 있다. 우리팀의 경우 mocking 하는 방식을 mockito 라이브러리를 이용하여 테스트코드를 작성하고있는데, 계속해서 사용하다보니 아래와 같은 불편함을 느꼈다. 1. when을 이용하여 mocking을 하려고 하면 `when`과 같은 식으로 mocking을 해야한다. 2. 코틀린의 장점은 간결함이라고 생각하는데, mockito를 이용하면 뭔가 간결함이 느껴지지 않는다. 그래서 kotlin 친화적인 테스트 라이브러리를 찾게 되었고, 그중 mockk 를 도입하여 사용하고 있다. why mockk? 일단 mockk의 경우 spring 공식문서에도 소개 되어있어 좀 더 인정(?) 받는 다는 느낌을 받았고, 공식문서를 보다보..
iOS 인앱결제시 서버에서 오류가 발생한다면? 이번에 새롭게 iOS앱을 오픈 함에 따라 인앱결제를 넣는 작업을 진행 하였고, 서버에서 오류가 발생할 수 있는 상황에 대해서 대처한 방법을 적어보려고한다. 설명을 하기위해서 간단하게 만든 플로우차트이다. 로직 흐름을 크게 4가지로 나눠볼 수 있다. 1) 상품정보 및 중복 구매 검증 상품정보의 경우에는 현재 판매중인 상품의 이름 및 가격정보 상세내용을 내려주는 API이며, 해당 내용을 App 뷰에 뿌려지는 내용이다.중복구매 검증의 경우에는 현재 인앱결제로 진행하고자하는 상품은 구독 상품이며, 중복구매가 불가능하기 때문에, 중복구매검증을 체크한다. 2) 결제시도 결제시도는 App에서 처리하는 부분으로써, 내가 구현한 부분이 아니라 어떤식으로 개발했는지는 잘모른다,,, 패쓰 하겠다. 아무튼 결제를 완료하게 ..
약정이 있는 구독상품 개발 이번에 새롭게 런칭하는 신규 서비스에 참여하게 되었고, 프로젝트도 마무리 되어 기능 구현한것에 대해서 기록을 남겨보려고 한다. 신규 서비스에 대해서 간단히 설명하자면 구독 서비스 상품이다. 다른 구독 서비스 상품과 조금 다른 점은 약정기간을 걸 수 있는 상품이라는 것이다. (어떻게 보면 휴대폰 요금제와 비슷하다고 보면 될 것 같다.) 신규 서비스의 요구사항 부터 간단하게 정리해보자 1. 약정 상품이 존재하고, 약정기간 동안에는 가격이 변동되더라도 약정금액을 유지해야한다. 2. 상품의 가격은 한달에 한번씩 변동 가능성이 있으며, 약정이 끝난 상품 or 무약정 상품의 경우에는 변동된 가격을 바라보고 결제를 진행해야한다. 어떤식으로 변동되는 가격을 구현하였는가? 일단 판매 상품은 할인 가격, 기본 가격 2가지..
환불 프로세스 자동화에 대한 경험과 기록 최근에 운영팀에서 수동으로 대부분 진행하던 환불 기능을 자동화 시켜 조금 더 효율적으로 운영할 수 있도록 개발을 진행하였다. 어떤식으로 진행했는지 기록을 남겨보려고 한다. 현재 어떤식으로 환불을 진행하고 있는가? 1. 가격이 비싼 상품이기 때문에 운영팀에서 환불 전화가 올 시 해지방어를 시도하고, 그래도 안되면 환불을 진행 하고 있다. 2. 환불을 하기 위해선 환불 선물지를 작성해야한다. 3. 환불 건이 들어오면 유저에게 수동으로 설문지 링크를 전달 해준다. 4. 환불 설문지가 완료가 되면 작성이 잘 완료 되었는지 확인을 하고, 어드민을 통해서 환불을 진행한다. 위와 같은 형태로 운영팀에서 환불을 진행 하고 있었다. 누가 봐도 수동으로 처리하는 부분과 신경써야하는 부분이 많아보이는 현재상황이였다. 그럼 ..
확장성 있는 하드웨어서버 개발기록 보호되어 있는 글입니다.
특정시간에 몰려오는 트래픽 장애 보호되어 있는 글입니다.