회고10 개발자 - 커뮤니티의 중요성? 국비학원의 백엔드 코스를 수료하며 개발자 커리어를 시작했다.학원에서 학습한 내용을 통해 동기들과 함께 프로젝트를 만드는 과정은 흥미로웠다. 하지만, 거기까지였다. 개발자가 커뮤니티에 참여했을 때 경험할 수 있는 장점은 느끼지 못했기 때문이다. 개발자를 업으로 삼는 많은 사람들이 커뮤니티 참여를 추천하며, 나 역시 이에 같은 생각이다. 그 이유는 무엇일까? 그동안 겪었던 경험을 돌아보며 커뮤니티에 참여하며 가졌던 생각을 돌아본다. 모각코 스터디모각코는 '모여서 각자 코딩'의 줄임말로 정해진 장소에 모여서 각자 해야할 작업을 하는 스터디를 의미한다.이름 그대로 프로젝트를 위한 코딩을 할 수도 있지만 회사 업무, 인강 및 서적을 통한 개발 공부 등 개인 시간을 투자해야하는 작업을 함께 할 수 있다. 다양한.. 2025. 4. 6. 패키지 구조 리팩토링 - 도메인 vs 레이어 "2024년, 한 해 동안 작성한 코드 중 변경하고 싶은 코드는 무엇일까?" 위 질문을 던졌을 때, 작년 초에 진행한 사이드 프로젝트의 패키지 구조가 가장 먼저 떠오른다. 도메인 주도개발 (DDD, Domain Driven Development)에 관심을 가진 상태에서 사이드 프로젝트를 진행했기 때문에 도메인 중심으로 패키지 구조를 설계 했다. 사이드 프로젝트는 단순한 기능을 제공하는 소규모 서비스였고 도메인 중심의 패키지 구조는 이런 소규모 서비스에 어울리지 않는다란 느낌을 주었다. 내부적으로 레이어드 아키텍처를 사용했기 때문에 도메인을 기준으로 패키지를 구성한 뒤 내부에 레이어를 위한 별도의 패키지를 구성하는 작업은 비효율적이었기 때문이다. 더 나은 패키지 구조를 적용하기 위해 '도메인 중심의 패.. 2025. 3. 9. [항해 플러스 백엔드] 마지막 회고 11월 30일, 가을의 마지막 토요일에 10주간의 여정이 끝을 맺었다.토요일마다 발제 강의를 듣고 평일에는 발제 내용을 학습하는 게 일상이 되었는 데, 이제는 제출할 과제가 없어 어색하다.매주 피곤하고 힘들어서 빨리 자유가 오길 바랐지만, 막상 끝나고 나니 허탈하기만 하다. 목표를 이루었는가?처음 생각한 목표의 50%를 달성했다. 항해 플러스를 시작할 때, 10주 동안 이루어야 할 3가지 목표를 세웠다.모든 과제 제출하기매주 진행되는 발제 주제 정리하기코치분들의 개발 노하우 배우기 모든 과제 제출하기매주 발제와 함께 과제가 제공되고, 과제 통과율에 따라 배지를 받는다는 안내를 받았을 때부터 블랙배지를 목표로 삼았다.해당 주차의 교육내용을 완전히 이해해야 통과할 수 있다고 생각했기 때문에, 블랙배지는 .. 2024. 12. 11. [항해 플러스 백엔드] 9주차 회고 (WIL) 이번 한 주동안 카프카를 다루었다.새롭게 접한 기술이었기 때문에 사용되는 개념을 학습할 때는 이해가 잘 안되었지만 hello world를 만들고 필요한 기능을 구현하면서 이해도를 높일 수 있었다. 문제카프카의 주요 구성요소(Producer, Broker, Consumer)가 기능하는 프로세스를 이해했지만 공식문서만을 보고 구현하기는 어려웠다. 시도공식문서의 가이드에 따라 hello world를 구성해보았으나 진행과정을 제대로 따라가지 못했다. 가이드 문서에서 실행시키는 파일의 경로를 찾기 어려웠기 때문이다. 해결Youtube의 강의 영상을 찾아 해결할 수 있었다. Kafka를 검색하면 Kafka의 목적이나 기능에 대한 설명 영상 뿐만 아니라 설정 및 사용하는 방법을 다루는 강의 영상이 존재한다. 알게.. 2024. 11. 25. [항해 플러스 백엔드] 8주차 회고 (WIL) DB인덱스와 트랜잭션 분리에 대해 다루었던 지난 한 주도 어느 순간 끝이 났다. 1. 문제서비스가 제공하는 기능에 따라 트랜잭션의 범위는 다르다. 이번 과제는 서비스가 확대되어 서비스를 분리하게 될 경우 예상되는 문제를 어떻게 해결할지 설계하는 것이었다. 트랜잭션의 범위 때문에 서비스를 분리하면 트랜잭션의 문제가 발생하고 이를 해결하기 위해서는 '보상 트랜잭션'이 필요하다. 하지만 '보상 트랜잭션' 개념을 이번에 처음 듣게 되었다. 2. 시도잘 모르는 개념이기 때문에 단순 구글링을 통해 관련 정보를 찾아볼 수 밖에 없었다. 3. 해결보상 트랜잭션을 검색하면 연관해서 MSA 개념을 쉽게 찾을 수 있다. MSA(MicroService Architecture)에서 보장하는 보상 트랜잭션 방법을 참고해서 과제.. 2024. 11. 16. [항해 플러스 백엔드] 7주차 회고 (WIL) 7주는 지금까지 항해플러스를 진행하면서 가장 힘든 한 주였다. 과제가 생각보다 어렵기도 했지만 피로가 몸에 지속적으로 누적된 점도 한 몫했다 생각한다. 과제는 챕터2에서 구현한 서버를 캐싱과 레디스를 활용해 고도화하는 작업이었다. 캐싱처리와 레디스를 사용해본 경험이 없었기 때문에 사용법부터 익혀야만 했다. 1. 문제새로운 개념을 익히는 과정은 생각보다 큰 문제가 되지 않았다. 정작 내 발목을 크게 붙잡은 건 챕터2를 진행할 때 작성했던 내 코드들이었다. 과제 제출에 초점을 두어 기능을 동작하게 만들었지만 구조상 기능사이의 결합도가 크게 형성되었다. 2. 시도이번 과제 내용 중 하나는 DB로 구현된 대기열을 Redis로 옮기는 것이었다. 때문에 처음에는 큰 변경 없이 Redis로 옮기려고 했지만 기존 코.. 2024. 11. 9. 이전 1 2 다음