회고10 [항해 플러스 백엔드] 6주차 회고 (WIL) 이번 한 주 동안 동시성 문제(Race Condition)을 해결하기 위한 방법들을 분석해보고 직접 구현해보았다.분석과정에서 추상적으로 이해했던 DB 락에 대한 이해도를 높힐 수 있었다. 덕분에 앞으로 DB락을 필요한 시점에 더 잘 활용할 수 있을 것이란 자신감이 생겼다. 1. 문제비관적락과 낙관적락의 경우 지속적으로 접해서 괜찮았으나 Redis와 Kafka는 처음 접했기 때문에 개념을 이해하기 어려웠다. 2. 시도Reds와 Kafka를 다루는 유튜브 영상과 블로그들을 살펴보았다. 3. 해결기술적 러닝커브때문에 Kafka에 대한 분석과 구현은 다음기회로 미루고 이번에는 DB락과 Redis 를 다루었다. 4. 알게된 것'분산 서버', 'NoSQL', 'in-memory' 등의 키워드 때문에 어렵게만 생각.. 2024. 11. 2. [항해 플러스 백엔드] 4주차 회고 (WIL) 지난 주차는 서버의 정상 동작을 위해 필요한 기능 구현이 메인이 되는 한 주였다. 3주차 때 작성한 설계를 따라 코드를 작성하였는데, 설계를 만족하는 경우도 존재하지만작성 중간중간 설계를 수정해야하는 일이 종종 발생하였다. 이 과정에서'아... 설계를 꼼꼼하게 작성하지 못했구나'란 생각을 하게 되었다. 설계의 잦은 수정과 함께 개발 시간 지연에 영향을 준 요인은 도메인 모델과 JPA의 완전한 분리였다. 무엇이 문제였을까?domain 레이어의 도메인 모델 객체에서 JPA에 의존하는 요소를 완전히 제거하고,JPA에서 사용하는 도메인 엔티티는 infra 레이어에 위치시켰다.모델의 형태가 단순할 때는 상관 없지만 연관관계를 가질 때는 객체를 전환하는 게 다소 불편했다. 무엇을 했나?null체크를 통해 nu.. 2024. 10. 21. [항해 플러스 백엔드] 3주차 회고 (WIL) 챕터2가 시작되었다. 챕터1에서 TDD와 클린아키텍처를 통해 어떻게 개발을 해야할 지 방법론에 대하여 배웠다면,챕터2에서는 챕터1에서 배운 내용들을 기반으로 실제 서버를 개발하는 방법을 다룬다. 이번 주는 앞으로 개발할 서버에 대한 시나리오를 선택하고시나리오에서 필요로하는 요구사항을 서비스하는 서버의 설계작업을 했다. 3주차에서 겪었던 문제...이번 주에 수행해야 했던 과제는 일반적으로 신규 개발에 들어갈 때 사전에 준비해야하는 작업들이었다. 1. 시나리오 선정2. 시나리오 요구사항 분석 (Milestone / 시퀀스 다이어그램 / 플로우 차트)3. 서비스 설계 (ERD 설계 / API 명세 / Mock API) 평소 회사에서 요구사항에 대해 깊은 고민없이 업무를 진행했었는데, 특히 시퀀스 다이어그램을.. 2024. 10. 13. [항해 플러스 백엔드] 2주간을 되돌아 보며 Intro항해 플러스 백엔드 과정을 진행한지 2주가 지났다. 회사에 입사 후 모든게 낯설었던 시간이 지나고 회사 업무는 익숙함으로 다가왔다.새로움을 위해 이직을 꿈꾸었으나 마음처럼되지 않고 시간이 지나며 쌓이는 경력은내게 두려움으로 다가왔다. 챕터1을 마무리하며 (나의 목표는 안녕한가?)항해를 시작하며 다짐했던 목표 중 하나는 블랙배지를 받는 것이었다.(항해플러스는 매주 2개의 과제를 제출해야하며 10주간의 과제 20개에 대한 통과 결과에 따라 배지 색깔이 달라진다.)2주간 총 4개의 과제를 제출했고 다행히 모두 통과를 하였고,블랙배지로 가는 첫 걸음을 뗀 것 같아 동기부여가된다. 가장 기억에 남는 것개발자 업을 시작하고 약 3년 동안 동시성 제어를 신경쓰지 않고 개발을 했다.현재 재직중인 회사에.. 2024. 10. 5. 이전 1 2 다음