결제 시스템과 동시성 문제를 다룰 수 있는 프로젝트를 간단하게 구현해보고자 고민하던 중, 한정된 수량의 인기 상품을 특정 시간에 판매하는 서비스를 만들기로 결정했습니다.기능 요구사항핵심 기능특정 시간(예: 10시)에 품절 대란인 물건이 판매된다.사용자는 1인당 최대 3개까지만 구매 가능하다.회원 가입사용자 정보고유 사용자 번호: 각 사용자는 고유한 번호를 가진다.사용자 명:최소 2자, 최대 6자로 제한된다.로그인 아이디:이메일 주소를 사용하여 로그인할 수 있다.비밀번호:비밀번호는 암호화되어 DB에 저장된다.로그인사용자는 로그인 아이디(이메일)와 비밀번호를 입력하여 로그인할 수 있다.내 정보 조회사용자는 자신의 정보를 조회할 수 있다.물건 구매구매 절차사용자는 한 번에 하나의 물건만 구매할 수 있다.한 물..
컨테이너 환경을 바꾸어 보았다.람다 -> ECS + Fargate이미지: DockerHub 이용하기 알고보니 GPU를 이용하려면 EC2를 이용해야 하는 것이었고,GPU를 사용하는 경우 엄청 비싸기 때문에 그냥 Fargate로 사용해보기로 했다. 처음에는 2vCPU + 16GB를 줬었는데, 배포가 잘 되지 않았다. 혹시나 하고 4vCPU + 30GB를 배정해줬는데도 불구하고 배포 되면 죽고, 배포 되면 죽고의 반복이었다. 그렇다고 해서 컨테이너 자체의 로그를 볼 수 있는 부분인 CloudWatch 내 로그 이벤트에 '실패'가 뜨는 것도 없었다.Ollama 서버용 컨테이너 자체는 잘 동작하고 있는 것이다. 아래의 여러가지 시도를 해봤는데 되지 않았다.CPU 및 메모리 재설정상태 확인 경로 '/'로 변경해보기..
docs 바로가기테스트 코드를 작성하는데, 테스트에 필요한 데이터들을 일일히 넣어줘야 해서 이 부분을 어떻게 편리하게 할 수 있을까 찾아보다가 네이버에서 만든 오픈소스인 Fixture Monkey라는 것을 알게 되었습니다.Fixture Monkey는 제멋대로인 원숭이여서 아무 값이나 만들어서 쥐어줍니다.09:51:28.111 [main] INFO c.g.d.d.s.BrowseDiaryServiceTest - 뗀ᢕ葁ᥒ밵ꛓ槽鰘˧꤭ᢢ⣋킨ᬤ舝᎖ꆤ矨빻珿盅䔮돧ꭢ輑鲱㾏늌⾷嬬쮋헖ⅉ꼐솓魜벷쓯佼ῲ쇼鱯쏮꜉䝤逾쏑Ŕ㣪ㄲ鷙坪▊憵諜㗑게펳焌郡ᘚ叜槨第錙쒳➐❽铿鼡㤯䣾咱艘ኂ쩡뺔▊灅፦䚙ﭲ귑맅巺쾄娣扟쮒獵ᆈ橊ᥒພꠟ崐ὅ흐癦ವ傎み༚픴脟짻卝䐆罯槤晪溘頣㢾Ȫ뜓恕鉫ḏႺ㨥⭀倕ꃖ墶鿻匶䄘鈒〷豚䕾ݹ䔄བ煐覎낹Ȭ䡚薄낟-肽뗛玎넉㥿쩯椥ꏻㆋ⪃㷇垅뭩볓䏬㊥○㯑..
( 추가 )Lamda의 이미지로 만드는 것은 용량이 크고 실행시간이 길어 안 될 것이라 판단,GPU를 사용할 수 있는 ECS + Fargate를 사용해보기로 했습니다. (사용 예정)후에 구축하게 된다면 구축기로 다시 찾아오겠습니다. 기존에 홈서버에 구축 되어있던 ollama-github-code-review-bot을 구동할 때 ollama가 구동되면서 홈서버(미니PC)가 매우 뜨거워져서 따로 서버가 필요할 것 같다고 생각했다. Lambda로 동작 가능하다면 거의 무료의 가격으로 만들 수 있을 것 같아 쉽게 보고 도전했으나...Ollama를 사용했을 때 아래와 같은 부분이 필요하다.Ollama가 구동 될 서버가 필요함해당 서버로 POST 요청을 보내서 AI에게 지시1번 서버, 2번 서버 이렇게 두 개가..
처음에 랜덤 값을 만드는 방법으로 Random 클래스와 함께 seed 값으로 시스템의 현재 시간을 사용하였습니다.private int makeRewardPoint() { long seed = System.currentTimeMillis(); Random random = new Random(seed); return random.nextInt(10) + 1;} 하지만 프로젝트를 리팩토링하면서 고민해보게 된 2가지로 인해 알아보다가 ThreadLocalRandom클래스로 변경하게 되었습니다.메서드가 동작할 때마다 새로운 Random 클래스를 재생성 해도 괜찮은가?동일한 시간에 여러 개의 요청이 동시에 들어온다면?물론, '잔디일기'의 서비스의 경우 일기를 작성 했을 때 랜덤 값으로 포인트가 적립..