항해 플러스 6기 수료 회고 (벌써 10주가 지났지만)
벌써 2024년도 12월이 오고 나에게 큰 변화가 찾아왔다. 그렇다. 길었고 동시에 짧았던 10주 간의 항해 플러스 백엔드 6기 여정에 종지부가 찍혔다. 이번 포스팅에서는 항해 플러스 백엔드 6기의 수료 회고를 작성해보려 한다. 🧑💻나의 배경은… 지난 중간 회고때도 소개한 것처럼 3년차 백엔드 개발자이다. 메인으로...
Backend Programmer, Spring Boot, Java, Kotlin. and I consider it important to record. Such as TIL and Blog.
벌써 2024년도 12월이 오고 나에게 큰 변화가 찾아왔다. 그렇다. 길었고 동시에 짧았던 10주 간의 항해 플러스 백엔드 6기 여정에 종지부가 찍혔다. 이번 포스팅에서는 항해 플러스 백엔드 6기의 수료 회고를 작성해보려 한다. 🧑💻나의 배경은… 지난 중간 회고때도 소개한 것처럼 3년차 백엔드 개발자이다. 메인으로...
1. 문제 이번 9주차의 과제는 다음과 같다. * 카프카를 구축해보고, 우리의 서비스에 카프카를 연동 및 실제 Producer, Consumer를 구현하여 적용해보기 * 카프카 메시지 발행의 결과에 대한 일관성을 보장하기 위한 Transactional Outbox Pattern 전략을 실제로 구현해보기 * 카프카 메시지 ...
개요 카프카의 서버 구축부터 Spring Boot 와 카프카를 연동해보고, 더 나아가 카프카 메시지 발행의 결과적 일관성을 보장하는 방법까지 다뤄본다. (본 포스팅에서 다루는 프로젝트는 다음 이커머스 프로젝트입니다.) 카프카 톺아보기 카프카? 카프카 (Kafka)는 링크드인에서 처음 개발된 오픈소스로, 그 당시 링크드...
1. 문제 이번 8주차의 과제는 다음과 같다. * 시나리오에서 수행하는 조회 쿼리를 수집하고 인덱스를 적용하여 성능을 개선할 쿼리가 있다면 적용하여 성능 비교 분석하기 * 시나리오에서의 트랜잭션 범위를 분석해보고, 서비스가 확장된다고 가정할 때 현재 구조의 한계와 해결 방안을 분석해보기 * 부가 기능을 현재 비즈니스 로직...
인덱스 톺아보기 인덱스란? 인덱스란 테이블의 검색 속도를 향상시키기 위해 사용하는 자료구조로, 데이터와 데이터의 위치를 포함한 자료구조이다. 인덱스를 활용하면 데이터를 조회하는 SELECT 쿼리 동작 외에도 UPDATE나 DELETE 성능도 함께 향상된다. 데이터를 수정, 삭제하기 위해서는 해당 대상을 조회해야 하기 때...
1. 문제 이번 7주차의 과제는 다음과 같다. * 캐싱을 적용하여 성능을 개선할 수 있는 로직을 분석하고, 이를 합리적인 이유와 함께 문서 정리하기 * 적절한 캐싱 전략을 적용한 비즈니스 로직 작성하기 이번 주차에서는 드디어 캐싱에 대해 다루게 되었다. 사실 지금까지 실무에서 캐싱에 대해 다뤄본 적이 없었기 때문에 어...
1. 문제 6주차의 과제는 다음과 같다. * 시나리오에서 발생할 수 있는 동시성 이슈 파악 후 가능한 동시성 제어 방식들을 도입 및 장단점 파악 * 파악한 내용을 보고서로 작성해보기 * 이전 주차 때 적용한 동시성 제어 방식에서, 파악 후 적합하다고 판단한 방법으로 비즈니스 로직 개선해보기 지난 4주차 때 시나...
🧑💻 회고 시작에 앞서 자기소개 회고를 작성하는 일자를 기준으로 3년 6개월 된 백엔드 개발자이다. 메인으로 삼고 있는 기술 스택은 Java, Kotlin, Spring Boot 이며, 3년 9개월이라는 시간 동안 HR 도메인에서 나름 다양한 서비스를 개발 및 유지보수 해오며 지내왔다. 취업 준비생 지원 서비스, 대학 ...
1. 문제 5주차의 과제는 다음과 같다. * 비즈니스 별 발생할 수 있는 에러 코드 정의 및 관리 체계 구축 * 시스템 성격에 적합하게 Filter, Interceptor 를 활용하여 기능의 관점을 분리하여 개선 * 시나리오 별 동시성 통합 테스트 작성 이번 시나리오를 구현하면서 발생할 수 있는 에러는 커스텀 예외를 ...
1. 문제 4주차의 과제는 다음과 같다. * 선택한 시나리오 별 비즈니스 로직 개발 및 단위 테스트 작성 * 비즈니스 유즈케이스 개발 및 통합 테스트 작성 * 여기서의 유즈케이스는 시스템의 동작을 사용자 입장에서 표현한 시나리오로, 시스템에 관련된 요구사항을 알아내는 과정을 의미한다. 다시 한 번 우리 팀이 선택한...