이번 글은 DDD 세레나데 7기의 1주차에 대한 필자의 자극히 개인적인 후기입니다. 혹시 문제가 되는 부분이 있다면, 언제든 말씀해 주시면 감사하겠습니다. ☺️
2023년, 2024년에 상반기까지는 코드
에 집중해서 그런지, 2024년 하반기부터는 코드
보다는 설계
쪽에 관심이 생겼다.
그래서 ‘설계를 어떻게 하면 잘할 수 있을까?’에 대해 스스로 고민을 하면서 처음에는 멀티 모듈
에 대해 먼저 공부를 하게 되었다.
멀티 모듈
과 관련된 영상을 보면서 현업 개발자분들이 왜 사용하고 어떤 이점이 있는지를 알게 되면서 이와 관련된 글을 블로그에 작성한 바 있다.
(멀티 모듈과 관련해서 이전에 작성한 글 - Kotlin, SpringBoot 기반으로 멀티 모듈 설계와 적용하기)
멀티 모듈에 대해 도움이 되었던 대표적인 영상과 자료는 아래와 같습니다. 이 외에도 다양한 영상과 자료를 참고했으나 이 글에서는 중요한 부분이 아니므로 생략했습니다.
멀티 모듈에 대해 이론적으로나마 어떤 내용인지는 이제 알게 되었다. 그런 다음에 ‘IT 회사는 현재 시점으로 지난 3년간 어떤 설계에 관심을 가지고 있을까?’에 대한 궁금증이 생겼다.
그 결과 흔히 알고 있는 여러 IT 회사에서 도메인 주도 설계
(Domain Driven Design)을 현업에서 사용하는 것을 찾게 되었다. (이후 아래부터는 도메인 주도 설계를 DDD
라는 단어로 표현하겠다)
DDD 관련 영상과 자료들은 아래와 같습니다. (
최신순
으로 내림차순 정렬)이 외에도 다양한 영상과 자료가 있습니다.
SIPE는 개발자들이 함께 교류하며 성장하는 IT 커뮤니티입니다.
이곳에서는 다양한 활동이 이루어지며, 그중 하나인 사이프톤
은 SIPE 구성원들과 외부 참여자가 하루 동안 함께 진행하는 해커톤입니다.
저는 이번 SIPE 3기의 사이프톤에서 커뮤니티에 작은 기여를 하고자 슬랙봇
개발을 주제로 참여하게 되었습니다.
이번 글에서는 슬랙봇을 개발하게 된 이유와 진행 과정, 그리고 사이프톤을 마치고 난 느낌을 기록하고자 이 글을 작성하게 되었습니다.
2025 Dev History
올해 2024년은 작년(2023)보다 더 빠르게 흘러간 느낌이다.
작년 2023년 회고 에도 많은 활동을 했지만, 글에 모두 포함해서 작성하느라 힘들었다.
그래서 이번 2024년에는 여러 가지로 한 것들이 많아서 분기별로 회고를 작성했다.
이번 글은 위에서 언급한 내용도 있고, 언급하지 않은 내용도 있어서 전반적으로 글을 작성하고자 한다.
이 글은 필자 개인의 생각이 담긴 글이며, 틀린 내용이 있다면 언제든 말씀해 주세요 🙂
IT 회사에서는 서비스 규모가 커질수록 필요한 소프트웨어의 복잡도 역시 증가한다. 특히 단일 모듈로 시작한 프로젝트는 서비스 규모가 커짐에 따라 여러 한계를 드러낼 수밖에 없다.
내 경험에 비추어 보면 이런 상황에서는 멀티 모듈 구성이 효과적인 해결책이 될 수 있다.
B2C 서비스의 경우, 사용자가 많아질수록 늘어나는 트래픽을 감당하기 위해 멀티 모듈 구성이 필요하다.
트래픽뿐만 아니라 새로운 기술을 적용하기 위해서도 모듈을 분리하면 기존 기술을 손쉽게 대체할 수 있다.
또한, 도메인이 점점 세분화되고 코드량이 증가함에 따라 모듈을 분리해 과도한 역할과 책임을 방지할 수 있다.
B2B 솔루션에서는 고객사의 다양한 요구를 충족하기 위해 멀티 모듈 구성이 유용하다.
위와 같은 경험이 없더라도 왜 멀티 모듈을 공부해야 하는지 곰곰히 생각해 본 결과, 아래와 같이 정리했다.
회사에 투입되기 이전부터 프로젝트가 멀티 모듈로 구성되어 있는 경우.
현재 프로젝트가 단일 모듈로 관리하기 어려울 정도로 서비스 규모가 커진 경우.
멀티 모듈이 무엇인지 제대로 알고 싶고, 실제로 설계와 적용 과정을 통해 그 장점을 직접 체감하고 싶은 경우.
필자는 위 세 가지 중 일부가 겹치긴 하지만, 마지막 세 번째 이유가 가장 와닿아 이 글을 작성하게 되었다.
이번 글에서는 멀티 모듈이 무엇인지 개념을 살펴보고, 실제로 제가 어떻게 적용했는지, 그리고 그 결과 어떤 장단점이 있었는지 정리해보고자 한다.