기존에 홈서버에서 구동되던 코드 리뷰 자동화 봇에 대한 설명은 이전에 작성하지 않아, 이번에 따로 기록하게 되었습니다. 시작하게 된 계기사이드 프로젝트를 진행하면서 팀원이 적어 코드 리뷰에 어려움을 겪게 되었고, 그래서 AI의 도움을 받기로 했습니다.하지만 ChatGPT나 다른 툴을 사용하는 데 비용이 발생하다 보니, 이미 구축해 둔 홈서버를 활용하기로 했습니다. 아키텍처PR 발생 시 Github Action 트리거이때, Github Actions는 PR에서 변경된 git diff 내역을 추출하고, 이를 Kubernetes 클러스터 내에 배포된 LLM 서버로 전송한다.LLM 서버는 사전에 설정된 프롬프트와 git diff 내역을 바탕으로 코드 리뷰를 수행하고, 개선할 점에 대해 피드백을 제공한다.마지막으..
아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 메인 교안으로 진행되는 스터디입니다. [메인 교안 바로 가기] 안녕하세요! 오늘은 Spring Batch 관련 스터디 첫 회차에 참여한 후기를 공유하고자 합니다.왜 Spring Batch를 배워야 할까?첫 번째 스터디를 통해 스프링 배치의 개요에 대해 공부했습니다. 스터디를 시작할 때 KIDO님께서 Spring Batch를 배워야 하는 이유에 대해 설명해주셨습니다. KIDO님은 현재 DEVOCEAN에서 Spring Batch 관련 글을 연재 중이신데, 아래는 KIDO님의 말씀을 정리한 내용입니다. 스프링 배치는 배치 처리에 특화된 ‘프레임워크’입니다. 프레..
아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. [SpringBatch 연재 01] SpringBatch 빠르게 시작하기 devocean.sk.com원본: [SpringBatch 연재 01] SpringBatch 빠르게 시작하기 1. 기본 프로젝트 구성하기@EnableBatchProcessing // 해당 애노테이션을 사용하면 배스프링 배치 모드로 동작하게 된다.@SpringBootApplicationpublic class BatchSampleApplication { public static void main(String[] args) { Spri..
아래 글은 [우아콘 2023] Kafka Streams를 활용한 이벤트 스트림 처리 삽질기를 보고 정리되었습니다.배치에서 스트림 처리로의 전환초기에는 배치 처리를 통해 배달 데이터와 라이더 데이터를 수집하고 분석했지만, 서비스 확장과 함께 데이터량이 급격히 증가하면서 여러 문제가 발생했다.배치 처리 시간의 불안정성: 평상시에는 빠르게 끝나던 배치가, 주문량이 몰리는 시간대나 주말에는 DB에 부하가 발생하여 처리 속도 문제가 발생실시간 반영의 어려움: 배치 처리 주기 사이에 들어온 데이터는 실시간 반영이 불가능해 이상 탐지와 같은 작업이 지연이러한 이유로 대량의 데이터를 실시간으로 처리할 수 있는 스트림 처리로의 전환을 결심하게 되었다고 합니다.Kafka Streams 선택 이유Apache Flink vs..
Cloud Wave 3기가 끝나고 약 1달이 지났습니다. 늦기 전에 후기를 남겨두고자 합니다.교육 개요기간: 2024.06.24 ~ 2024.08.30 (10주)장소: 인천대상: 주로 대학생 (고학년) 및 취업 준비생교육 환경참가자 구성대학생이 많았습니다. 저희 팀의 경우 4명 중 2명이 4학년 재학 중이었습니다. 취업을 목적으로 하는 교육이다 보니 저학년은 거의 없었습니다.숙소 ?인천에서 진행되기에 저는 대구 사람으로서 합격 발표 나고 그 주 주말에 바로 집을 계약했습니다.인천이 처음이라 지리를 잘 몰랐지만, 선학역 근처로 숙소를 구했습니다. 교육장과 가까우면서도 서울 접근성도 나쁘지 않았습니다. 다른 참가자들 중에는 송도에 거주한 경우도 있었습니다.교육 과정각 주차별 주제와 간단한 평가:1-2주차: ..
결제 시스템과 동시성 문제를 다룰 수 있는 프로젝트를 간단하게 구현해보고자 고민하던 중, 한정된 수량의 인기 상품을 특정 시간에 판매하는 서비스를 만들기로 결정했습니다.기능 요구사항핵심 기능특정 시간(예: 10시)에 품절 대란인 물건이 판매된다.사용자는 1인당 최대 3개까지만 구매 가능하다.회원 가입사용자 정보고유 사용자 번호: 각 사용자는 고유한 번호를 가진다.사용자 명:최소 2자, 최대 6자로 제한된다.로그인 아이디:이메일 주소를 사용하여 로그인할 수 있다.비밀번호:비밀번호는 암호화되어 DB에 저장된다.로그인사용자는 로그인 아이디(이메일)와 비밀번호를 입력하여 로그인할 수 있다.내 정보 조회사용자는 자신의 정보를 조회할 수 있다.물건 구매구매 절차사용자는 한 번에 하나의 물건만 구매할 수 있다.한 물..