개발자네트워킹 10

[항해플러스 백엔드후기] 10주차 최종 회고 - 또다른 항해의 시작

[개요]어느새 10주 라는 시간이 지나고 마지막 챕터인 장애대응까지 왔다10주라는 시간이 마냥 쉽고 짧은 시간이라고는 할 순 없지만 그동안의 치열하게 노력했던 나의 시간과 쌓게된 경험에 비하면 짧은 시간이라고 느껴진다  [과제]10주차의 과제는 다음과 같았다 - 부하 테스트 대상 선정 및 목적, 시나리오 등의 계획을 세우고 이를 문서로 작성 및 적합한 테스트 스크립트를 작성하고 수행- 위 테스트를 진행하며 획득한 다양한 성능 지표를 분석 및 시스템 내의 병목을 탐색 및 개선해보고 (가상) 장애 대응 문서를 작성하고 제출 개발은 만들어 놓고 끝이 아니다어떻게 유지보수 하고 운영을 하는지가 더 중요하다 이번 주차는 이를 위한 주차로써 어떻게 장애 대응을 하고 모니터링과 여러 부하 테스트 등을 할수 ..

🔔[항해99]/WIL 2025.03.05

[항해플러스 백엔드후기] 9주차 회고 - 카프카는 신이야

[과제]9주차의 과제는 다음과 같았다   - docker 를 이용해 kafka 를 설치 및 실행하고 애플리케이션과 연결 후 카프카 consumer, producer 를 연동 및 테스트 - 카프카의 발행이 실패하는 것을 방지하기 위해 Transactional Outbox Pattern를 적용 카프카의 발행이 실패한 케이스에 대한 재처리를 구현 ( Scheduler or BatchProcess )  그동안에 숱하게 들어왔던.. 카프카는 신이야 ! 에서 드디어 카프카를 연동해보고 구현해보는 주차가 다가왔다사실은 실무에서도 카프카를 사용하고 있지만 내가 직접 연동해보고 어떠한 전략을 사용할지는 고민해본적은 없어서 기초적인 개념은 이해하고 있지만 제대로 실습을 해본다는 느낌으로 과제를 진행했다[과제 해결 과정..

🔔[항해99]/WIL 2025.02.24

[항해플러스 백엔드후기] 8주차 회고 - 쿼리튜닝 - ("적절한" + 인덱스) = 0

[개요]어느새 8주차도 무사히 지나갔다 !!처음 시작했을 때는 언제 10주를 다하나.. 어떻게 버틸까 아찔했는데 이제는 벌써 수료식이 코앞이라는 생각에 싱숭생숭하다 [과제]8주차의 과제는 다음과 같았다 - 나의 시나리오에서 수행하는 쿼리들을 수집해보고, 필요하다고 판단되는 인덱스를 추가하고 쿼리의 성능개선 정도를 작성하여 제출 - 자주 조회하는 쿼리, 복잡한 쿼리 파악 - Index 추가 전후 Explain, 실행시간 등 비교- 서비스의 규모가 확장되어 MSA의 형태로 각 도메인별로 배포단위를 분리해야한다면 그 분리에 따른 트랜잭션 처리의 한계와 해결방안에 대한 서비스 설계 문서 작성- 실시간 주문(이커머스), 좌석예약 정보(콘서트)를 데이터 플랫폼에 전달(mock API 호출)하는 요구사항 등..

🔔[항해99]/WIL 2025.02.17

[항해플러스 백엔드후기] 7주차 회고 - 오쪼쪼.. 나의 임시 보관함..캐싱

[개요]지난 주 고비를 넘고나니 상대적으로 수월해진 느낌이다여전히 하루하루 수면부족에 시달리고는 있지만, 고지가 눈앞에 보이니 해낼 수 있다라는 생각으로포기하지말기. 한주 한주 과제를 제출만 하자라는 생각으로 천천히 해내어 보기 [과제]7주차의 과제는 다음과 같았다  - 조회가 오래 걸리는 쿼리에 대한 캐싱, 혹은 Redis 를 이용한 로직 이관을 통해 성능 개선할 수 있는 로직을 분석하고 합리적인 이유와 함께 정리한 문서 제출 - 선착순 쿠폰 발급 기능에 대해 Redis 기반의 설계를 진행하고 적절하게 동작할 수 있도록 쿠폰 발급 로직 개선 이번에는 캐싱과 Redis에 대해 다루게 되었다.캐싱의 중요성에 대해서는 잘 알고 있었지만 실무에서는 사용하지 않고, Redis는 사용하지만 이미 모듈로 구현된..

🔔[항해99]/WIL 2025.02.13

[항해플러스 백엔드후기] 6주차 회고 - 하루하루가 고비

[개요]절반이 넘어가면서 앞으로가 힘들지는 않을거라는 생각은 하지 않았지만그래도 이렇게까지 일이 겹치면 힘들수 있겠구나 하고 느낄 수 있었던 한주였다[과제]6주차의 과제는 다음과 같았다 - 시나리오에서 발생할 수 있는 동시성 이슈에 대해 파악 후 가능한 동시성 제어 방식들을 도입 및 각각의 장단점을 파악 후 내용을 정리 제출 - DB Lock 을 활용한 동시성 제어 방식에서 해당 비즈니스 로직에서 적합하다고 판단하여 차용한 동시성 제어 방식을 구현하여 비즈니스 로직에 적용 통합테스트 등으로 이를 검증하는 코드 작성 및 제출 지난 주차에 이어서 좀더 다양한 동시성 제어 방식들에 대해서 배우고, 그 중에 DB 락에 좀더 초점을 맞추어서 비교하여 보고서를 작성하고 기존 로직을 개선하는 것에 초점이 맞춰졌다...

🔔[항해99]/WIL 2025.02.03

[항해플러스 백엔드후기] 5주차/챕터2 회고 - 시작이 반이다

[개요]어느덧 벌써 길고 길었던 10주의 절반이 지났다.시작이 반이라더니 멀게만 느껴졌던 절반을 넘어간다.5주차 회고 겸 챕터2 마무리 회고를 해보고자 한다  [과제]5주차의 과제는 다음과 같았다 - 비즈니스 별 발생할 수 있는 에러 코드 정의 및 관리 체계 구축- 프레임워크별 글로벌 에러 핸들러를 통해 예외 로깅 및 응답 처리 핸들러 구현- 시스템 성격에 적합하게 Filter, Interceptor 를 활용해 기능의 관점을 분리하여 개선- 모든 API 가 정상적으로 기능을 제공하도록 완성- 시나리오별 동시성 통합 테스트 작성  지난 주차에 비즈니스 로직을 추가하면서 예외 처리를 구현했지만, CustomException을 설정해 두지 않은 채로 핸들러만 구축해 두어 이번주차에 추가해 주었다.  Custo..

🔔[항해99]/WIL 2025.01.17

[항해플러스 백엔드후기] 4주차 회고 - 첫 FAIL

[개요]모두가 어렵다고 하는 .. 4주차가 시작되었다. 과제만을 위해서 휴가를 내고 하시는 분들도 있을 정도로 그만큼 빡쎄기도 하고 신경쓸것도 많다 [과제]4주차의 과제는 다음과 같았다  - 각 시나리오별 하기 비즈니스 로직 개발 및 단위 테스트 작성 - `e-commerce` : 상품 조회, 주문/결제 기능 - `concert` : 대기열 발급, 대기순번 조회, 좌석 예약 기능> 단위 테스트 는 반드시 대상 객체/기능 에 대한 의존성만 존재해야 함* 기본과제- API Swagger 기능 구현 및 캡쳐본 첨부 ( Readme )- 주요 비즈니스 로직 개발 및 단위 테스트 작성* 심화과제- 비즈니스 Usecase 개발 및 통합 테스트 작성> API 의 완성이 목표가 아닌, 기본 및 주요 기능의 ..

🔔[항해99]/WIL 2025.01.13

[항해플러스 백엔드후기] 3주차 회고 - 설계부터 갈아엎어

[개요]한 챕터를 끝내고 이제 찐? 이라는 3주차 과제가 시작되었다이번에는 3가지 시나리오 중에 하나를 선택하고 해당 시나리오에 맞춰서 각 주차별로 개발을 진행해주면 된다 3가지 시나리오는 이커머스 / 콘서트 예약 / 맛집 검색? 이었고 처음부터 대쪽같이 이커머스 쪽으로 나아가려 했던 나는 고민도 없이 이커머스로 선택했다.  [과제]3주차의 과제는 설계였다1,2 주차 보다 비교적 쉬운 과제네 .. 하면서 쉽게만 생각했었는데 아니었다보통 실무에서도 기획서 기반으로 간단하게 설계를 하고 운영 정책에 따라서 세부사항을 잡아가면서 개발을 하곤했었는데 바로 문서화까지 하면서 해보려니 뭔가 고려할 점들이 계속해서 나와서 어려웠다 * 아래 시나리오 중 한 가지를 선택 1. E-커머스 서비스 2. 맛집 검색..

🔔[항해99]/WIL 2025.01.05

[항해플러스 백엔드후기] 2주차 회고 - 비관적 Lock도 락이다

[개요]어느새 폭풍같이 1주일이 지나가고 벌써 2주차가 다가왔다. 퇴근후 매일 과제를 하느라 새벽 2,3시에 자고 다시 야근하고 공부하는 일주일이었다.. 이렇게 이제 9주만 더하면 된다!  이번 과제가 수강신청 시스템에서 동시성 이슈를 생각해야 하는데 매번 티켓팅하면서 동시성때문에... 이선좌 화면을 봤던 기억이 떠올랐다.. 이번 과제와 비슷하게 DB 락을 걸어서 해당 좌석 자체를 락을 걸어버렸기에 내가 그 콘서트를 못갔던 거겠지..[과제]2주차의 과제는 이러했다. * 기본기능- 아키텍처 준수를 위한 애플리케이션 패키지 설계- 특강 도메인 테이블 설계 (ERD) 및 목록/신청 등 기본 기능 구현- 각 기능에 대한 **단위 테스트** 작성* STEP 3- 설계한 테이블에 대한 **ERD** 및 이유를 설명..

🔔[항해99]/WIL 2024.12.28

[항해플러스 백엔드후기] 1주차 회고 - 동시에요? 갑자기요?

[개요] 2년전 여름, 개발자라는 직업에 대한 열정으로 5년간 일해오던 직장에서 퇴사를하고 비전공자들도 개발자가 될 수 있다는 여러 부트 캠프들을 알아보다가 항해99에서 운영하는 이노베이션 캠프에 참여하였다. 그냥 부트캠프여서 참여했다기 보다는, 일단 사전 과제를 내어 주고는, 해당 과제를 통과한 사람들에게 수강할 수 있는 기회를 준다는 점과 내가 몰입할 시간을 99일 준다는 점이 깔끔해서 마음에 들었다.  그렇게 새벽까지 (거의 울면서) 몰입하던 99일이 지나고, 그 이전에는 상상도 해보지도 못했던 개발자라는 직업을 가지게 되었다 어느덧  2년이라는 시간이 흐르고 백엔드 개발자로서 더 나은 역량 강화와 더 나은 개발자 공부라는 것은 무엇일까라는 고민이 쌓여가던 차에 항해99에서 이번에는 재직자를 대상..

🔔[항해99]/WIL 2024.12.21