0. 알아보게 된 이유 Aggregate를 나누고 나면 다음으로 고민하게 되는 것은 비즈니스 로직을 어디에 둘 것인가? 이다. 현실 세계에서는 Aggregate만으로 해결되지 않는 요구사항들이 다수 존재하기 때문이다. 처음에는 모든 로직을 Entity에 넣으려고 하거나, 반대로 Service로 퉁쳐서 넣어버리는 경우가 많다. 하지만 DDD에서는...
DDD - Aggregate란 무엇인가?
0. 알아보게 된 이유 도메인 모델을 설계할 때 객체를 단순히 클래스 단위로 나누는 것이 아니라 의미 있는 기준으로 나누어야 한다는 것을 알 수 있다. 하지만 실제로 설계를 하다보면 객체 하나만 존재하는 경우는 거의 없고 여러 개의 객체가 서로 관계를 가지면서 하나의 기능을 구성하게 된다. 이때 객체를 각각 따로 관리하면 일관성이 깨지...
DDD - Entity와 Value Object의 차이
0. 알아보게 된 이유 이전 글에서 Bounded Context를 통해 도메인을 여러개의 경계로 나누는 이유에 대해 정리했다. Context를 나누었다면 이제는 Context내부에서 어떤 기준으로 모델을 설계할 것인지가 중요해진다. DDD에서는 도메인 모델을 구성할 떄 모든 객체를 동일하게 취급하지 않는다. 객체의 성격에 따라 식별자가...
DDD - Bounded Context란 무엇인가?
0. 알아보게 된 이유 이전 글에서 DDD에서 중료한 개념 중 하나인 Ubiquitous Language에 대해 정리했다. 유티쿼터스 언어를 통해 이해관계자들이 같은 의미의 용어를 사용하도록 맞출 수 있지만, 실제로 시스템이 커질수록 하나의 언어만으로 모든 영역을 설명하는 것이 어려워진다. 업무 영역이 커지면 같은 단어라도 서로 다른 의미로 사...
DDD란 무엇인가? - Ubiquitous Language 이해하기
0. 알아보게 된 이유 Hexagonal Architecture를 학습하면서 자연스럽게 함께 등장하는 개념인 DDD(Domain-Driven Design)가 무엇인지 제대로 이해해보고 싶었다. 예전에 스터디 형식으로 DDD를 학습하려고 시도한 적이 있었지만 끝까지 완주하지 못했고, 개념도 명확하게 정리되지 않은 상태로 남아 있었다. 이번에는 DDD...
Ollama 사용법 정리
Open LLM 실행 환경을 구성해주는 Ollama 도구의 사용법을 정리한다. Open LLM이란? Open LLM은 공개된 가중치나 공개 라이선스를 기반으로 누구나 내려받아 실행하거나, 필요에 따라 튜닝 및 확장할 수 있는 대규모 언어 모델(Large Language Model)을 의미한다. 일반적으로 Open LLM은 다음과 같은 특징을 ...
FastAPI란?
0. 학습 이유 재직 중 국비 교육으로 Multi AI Agent 프로젝트 과정을 수강하게 되었고, 백엔드 구현 기술로 FastAPI를 사용하게 되었다. 기존에 Python을 사용해 본 경험은 4년전 첫 직장에서 입사 초기에 3~4개월 가량 진행했던 Spoon Radio 백오피스 Django 프로젝트를 Kotlin + Spring Boot로 컨버팅...
Hexagonal Architecture란?
0. 학습 이유 2024년쯤 회사 스터디를 통해 DDD와 Hexagonal Architecture를 잠깐 공부한 적이 있었다. 하지만 당시에는 개념을 깊게 이해하지 못한 채 넘어가게 되어 아쉬움이 남아 있었다. 이번에 재직 중 국비 교육으로 Multi AI Agent 프로젝트 과정을 수강하게 되었고, 프로젝트를 진행하면서 Hexagonal Arch...
AI Agent 정리 (1) - AI 에이전트 개념, 구조, 플랫폼 생태계
AI Agent 정리 (1) — AI 에이전트 개념, 구조, 플랫폼 생태계 최근 LLM 기반 서비스가 발전하면서 단순한 챗봇을 넘어 스스로 판단하고 도구를 사용하며 작업을 수행하는 AI Agent 구조가 등장했다. 위키독스의 AI 에이전트 개발 문서를 정독하면서 AI 에이전트 개념 구조와 플랫폼 생태계까지의 내용을 정리해본다. 1. 왜 ...
- 1
- 1 / 1