5월에 시작했던 항해 플러스 Lite 백엔드 과정이 어느새 10주가 지나 끝이 났다. 나의 경험이 이 과정을 고민하고 있는 분들에게 도움이 되길 바라며항해 플러스 Lite 백엔드 과정 1기 수료 후기를 작성해보려 한다. 🤗 나는 어떤 개발자인가?나는 2~3년 차 백엔드 개발자이다.대학교에서는 컴퓨터공학을 전공하며 Java, C#, C++ 등 다양한 언어를 배웠고, 팀 프로젝트 중심으로 경험을 쌓았다.졸업과 동시에 첫 회사에 입사하여 현재까지 백엔드 개발자로 일하고 있으며Java, Spring Legacy, MyBatis 기반의 기술을 주로 사용하고 있다.부트캠프나 국비 교육 등 정식 커리큘럼을 따로 수강한 경험은 없고,부족하다고 느끼는 부분은 인프런이나 패스트캠퍼스 같은 온라인 강의로 보완해왔다. ..
💡 추천 코드항해 플러스 Lite 백엔드 과정에 관심 있는 분들!수강 신청 시 아래 추천 코드를 입력하면 10만원 할인 혜택이 있습니다 :) 🔗 항해 플러스 Lite 백엔드 과정 VZfgX1 과제이번 주 과제는 지난주에 구현했던결제 완료 후 외부 Mock API로 결제 정보를 전송하는 로직을 Kafka 기반으로 리팩토링하는 것이었다.기존에는 서비스 내부에서 이벤트를 발행하고, 해당 이벤트 리스너에서 외부 Mock API를 호출하여 결제 완료 정보를 로그로 출력하는 방식이었다.이번 과제에서는 이 구조를 Kafka 기반으로 변경하여, 이벤트 대신 Kafka 메시지를 발행하는 구조로 전환했다. 과제 해결 과정🔗 과제 PR 링크 Kafka를 프로젝트에 적용하기 전, 먼저 Docker를 이용해 Kafka ..
추천 코드 항해 플러스 Lite 백엔드 과정에 관심 있는 분들!수강 신청 시 아래 추천 코드를 입력하면 10만원 할인 혜택이 있습니다 :) 🔗 항해 플러스 Lite 백엔드 과정 VZfgX1 과제7주차 과제 : Redis를 활용한 대기열 시스템 및 콘서트 매진 랭킹 기능 구현8주차 과제 : Applcation Event를 활용하여 트랜잭션 분리 및 서비스 책임 분산 구현 과제 해결 과정🔗 7주차 PR 링크🔗 8주차 PR 링크 1. 콘서트 매진 랭킹 구현대기열 기능은 이전 주차에 완료했기 때문에, 콘서트 매진 랭킹에 집중했다.매진 랭킹을 어떻게 측정할 것인지부터 고민했고, 다음 기준을 세웠다. 매진 판별 기준결제 성공 시 전체 좌석 수 == 예약 확정 좌석 수인 경우 콘서트 매진으로 간주매진 시간..
💡 추천 코드항해 플러스 Lite 백엔드 과정에 관심 있는 분들!수강 신청 시 아래 추천 코드를 입력하면 10만원 할인 혜택이 있습니다 :) 🔗 항해 플러스 Lite 백엔드 과정VZfgX1 과제이번 주 과제는 Redis 기반의 분산락(Distributed Lock)을 직접 구현하고,이를 실제 시나리오에 적용하여 동시성 문제를 해결하는 것이었다. 과제 해결 과정🔗 과제 PR 링크 1. Redis 기반 분산락 구현기존 비관적 락 기반으로 구현했던 기능들을 Redis 기반 분산락으로 리팩터링 했다.RedisTemplate의 setIfAbsent()를 활용하여 자원에 대한 고유 락을 획득하고,TTL(Time To Live) 설정을 통해 일정 시간이 지나면 자동으로 해제되도록 처리했다. 적용한 주요 기능..
💡 추천 코드항해 플러스 Lite 백엔드 과정에 관심 있는 분들!수강 신청 시 아래 추천 코드를 입력하면 10만원 할인 혜택이 있습니다 :)🔗 항해 플러스 Lite 백엔드 과정 VZfgX1과제이번 주 과제는 콘서트 예약 서비스 내에서 발생할 수 있는 동시성 이슈를 식별하고 해결하는 것이 핵심이었다. 실제 운영 환경에서 발생할 수 있는 여러 충돌 상황에 대해 락 전략을 적용해 보고, 테스트 및 문서화까지 진행해 보는 경험을 할 수 있었다. 예상 동시성 시나리오같은 좌석에 대한 동시 예약 → 중복 예약동시에 여러 결제 시도 → 음수 잔액예약 후 유저 결제 지연 시, 스케줄러와 충돌 → 상태 충돌구현 목표좌석 예약 시 락 제어잔액 차감 시 동시성 방지예약 만료 처리 로직 구현 및 배치 스케줄러테스트: 멀..
💡 추천 코드항해 플러스 Lite 백엔드 과정에 관심 있는 분들!수강 신청 시 아래 추천 코드를 입력하면 10만원 할인 혜택이 있습니다 :)🔗 항해 플러스 Lite 백엔드 과정VZfgX1 과제이번 주 과제는 Infrastructure Layer 구현이었다.Redis 또는 DB를 활용하여 임시 좌석 배정과 대기열 토큰 관리 기능을 구현하는 것이 주요 목표였다. 과제 해결 과정🔗 과제 PR 링크 Infrastructure Layer 구현지난주에는 예약, 결제 기능을 클린 아키텍처로, 사용자, 콘서트 일정 기능은 레이어드 아키텍처로 나눠서 구현했었다.이번 주에 Infrastructure Layer를 만들다 보니, 기능마다 구조가 달라서 작업할 때마다 조금씩 불편함이 있었다.그래서 아예 전체 구조를 ..