기존에 홈서버에서 구동되던 코드 리뷰 자동화 봇에 대한 설명은 이전에 작성하지 않아, 이번에 따로 기록하게 되었습니다. 시작하게 된 계기사이드 프로젝트를 진행하면서 팀원이 적어 코드 리뷰에 어려움을 겪게 되었고, 그래서 AI의 도움을 받기로 했습니다.하지만 ChatGPT나 다른 툴을 사용하는 데 비용이 발생하다 보니, 이미 구축해 둔 홈서버를 활용하기로 했습니다. 아키텍처PR 발생 시 Github Action 트리거이때, Github Actions는 PR에서 변경된 git diff 내역을 추출하고, 이를 Kubernetes 클러스터 내에 배포된 LLM 서버로 전송한다.LLM 서버는 사전에 설정된 프롬프트와 git diff 내역을 바탕으로 코드 리뷰를 수행하고, 개선할 점에 대해 피드백을 제공한다.마지막으..
결제 시스템과 동시성 문제를 다룰 수 있는 프로젝트를 간단하게 구현해보고자 고민하던 중, 한정된 수량의 인기 상품을 특정 시간에 판매하는 서비스를 만들기로 결정했습니다.기능 요구사항핵심 기능특정 시간(예: 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번 서버 이렇게 두 개가..