From d9c92a0a5972a8c1244e7607638fbd4ad02aed2e Mon Sep 17 00:00:00 2001 From: 2u6in Date: Mon, 6 Apr 2026 22:45:13 +0900 Subject: [PATCH] =?UTF-8?q?keyword:=204=EC=A3=BC=EC=B0=A8=20=ED=82=A4?= =?UTF-8?q?=EC=9B=8C=EB=93=9C=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- keyword/chapter04/keyword.md | 209 ++++++++++++++++++ mission/chapter03/mission.md | 13 ++ .../\354\233\214\355\201\254\353\266\201.png" | Bin 0 -> 59148 bytes 3 files changed, 222 insertions(+) create mode 100644 keyword/chapter04/keyword.md create mode 100644 "mission/chapter03/\354\233\214\355\201\254\353\266\201.png" diff --git a/keyword/chapter04/keyword.md b/keyword/chapter04/keyword.md new file mode 100644 index 0000000..73f343e --- /dev/null +++ b/keyword/chapter04/keyword.md @@ -0,0 +1,209 @@ +### 아키텍처 구조 + +프로젝트의 뼈대를 어떻게 구성할지 미리 설계하는 것 + +**아키텍처 구조를 설계하는 목적** + +- 유지보수의 용이성 + - 목적에 따라 코드 분리를 해놓기 때문에 나중에 기능 추가할 때 큰 수정 필요 없음 + - 정형화된 구조를 사용한다면 타인이 알아보기가 쉬워져서 타인과 협업, 유지보수하기 좋아짐 + +→ 따라서 다른 사람이 쉽게 이해하고 불필요한 의사소통을 최소화할 수 있는 구조를 짜는게 중요! + +**아키텍처 구조의 종류** + +- 계층 기반 구조 : 시스템 계층(controller, service 등)을 기준으로 파일을 분류 하는 것 + + + - 장점 + - 프로젝트를 패키지 구조만 보고 전체적인 구조를 파악할 수 있다 + - 애플리케이션의 API를 보고 흐름을 파악하고 싶다면 Controller 패키지 하나만 보고 파악할 수 있다 + - 애플리케이션의 비즈니스 로직을 보고 싶다면 Service 패키지 하나만 보고 파악할 수 있다 + - 계층별 응집도가 높아진다 + - 계층별 수정이 일어날 때, 하나의 패키지만 보면 된다 + - 각 계층별 독립적인 테스트 가능 + - 단점 + - 도메인 별 응집도가 낮다 + - user 도메인의 흐름을 보고 싶을 때 모든 패키지를 봐야함 + - 한 도메인의 기능 변경 시 변경 범위가 크다 + - 유스케이스 별로 쪼개는 것이 어려워진다 + - 한 클래스 안에 다 넣자니 코드가 너무 길어져서 읽기 힘들어지고 + - 한 패키지 안에 유스케이스 별로 다 쪼개서 넣으면 패키지 속에 클래스가 너무 많아서 파일 찾기가 힘듦 + - 규모가 커지면 하나의 패키지 안에 여러 클래스가 있어서 구분이 어려워진다 +- 도메인 기반 구조 : 도메인을 기준으로 파일을 분류하는 것 + + + - 장점 + - 도메인 별 응집도가 높아짐 + - 한 도메인의 흐름을 보고 싶을 때 하나의 패키지만 보면 됨! + - 도메인 기능 변경 시 변경 범위가 작아짐! + - 유스케이스 별 세분화해서 표현 가능 + - 단점 + - 애플리케이션의 전체적인 흐름 파악하기 어렵 + - 개발자의 관점에 따라 어느 패키지에 둘지 애매한 클래스 존재 + - 도메인 간 협력 어려움 + +**→ 따라서 단순하게 보자면 규모가 작고 도메인이 적다면 아키텍처, 규모가 크고 도메인이 많다면 도메인형으로 선택하자!** + +### Swagger + +api를 구현하면 그에 맞춰서 자동으로 문서화 해주는 도구 + +- 장점 + - 일일히 작성하지 않고 개발만 끝나면 자동으로 바로 작성 + - 화면에서 직접 API 테스트가 가능 + - postman 같은 별도의 앱 없이 웹에서 바로 파라미터를 입력하고 api 호출해보기가 가능! +- 단점 + - 개발 끝나기 전까지 프론트가 현황을 확인 불가 + +**자주 사용하는 어노테이션** + +- @Tag: API 그룹 짓기 + - 비슷한 API들을 묶어서 제목과 설명을 달아줌 + - 사용처 예시 : controller 클래스 위 +- @Operation: API 기능 설명 + - 한 API가 구체적으로 어떤 기능을 하는지 설명 +- @ApiResponse: 상태 코드별 응답 설명 + - 성공하면 200번, 실패하면 404번 같은 상태 코드를 미리 설명 +- @Parameter: 요청 변수 설명 + - @PathVariable이나 @RequestParam이 어떤 의미인지, 예시 값은 무엇인지 적어줍니다 +- @Schema: DTO 필드 설명 + - 요청으로 어떤 값을 받을지, 응답으로 어떤 값이 나갈지를 설명 + +```java +@Tag(name = "학식 메뉴 API", description = "기숙사 및 학생식당 메뉴 관련 API입니다.") +@RestController +@RequestMapping("/api/menus") +public class MenuController { + + @Operation(summary = "오늘의 메뉴 조회", description = "특정 식당의 오늘의 메뉴 목록을 가져옵니다.") + @ApiResponses({ + @ApiResponse(responseCode = "200", description = "메뉴 조회 성공"), + @ApiResponse(responseCode = "404", description = "해당 식당을 찾을 수 없음") + }) + @GetMapping("/{restaurantId}") + public List getTodayMenu( + @Parameter(description = "식당 ID (예: 1-학생회관, 2-기숙사)", example = "2") + @PathVariable Long restaurantId) { + + // ... 메뉴 조회 로직 ... + return menuList; + } +} +``` + +```java +@Getter +public class MenuResponseDto { + + @Schema(description = "메뉴 이름", example = "치즈돈까스") + private String menuName; + + @Schema(description = "메뉴 가격", example = "5500") + private int price; + + @Schema(description = "품절 여부", example = "false") + private boolean isSoldOut; +} +``` + +### 도메인형 아키텍처 + +도메인을 기준으로 파일을 분류하는 것 + + +- 장점 + - 도메인 별 응집도가 높아짐 + - 한 도메인의 흐름을 보고 싶을 때 하나의 패키지만 보면 됨! + - 도메인 기능 변경 시 변경 범위가 작아짐! + - 유스케이스 별 세분화해서 표현 가능 +- 단점 + - 애플리케이션의 전체적인 흐름 파악하기 어렵 + - 개발자의 관점에 따라 어느 패키지에 둘지 애매한 클래스 존재 + - 도메인 간 협력 어려움 + +프로젝트 전반적으로 사용되는 config, auth, error 같은 클래스들은 domain과 같은 레벨에서 global이라는 패키징 안에 구성한다 + +### DDD vs 도메인형 아키텍처 +- 도메인형 아키텍처는 패키지의 구조를 설계하는 방식이고 DDD(도메인 주도 설계)는 그것보다 더 거대한 개념으로 소프트웨어 시스템을 설계하고 개발하는 것에 대한 방법론이다 + +### DDD (Domain-Driven Design, 도메인 주도 설계) + +도메인 모델을 기반으로 복잡한 소프트웨어 시스템을 설계하고 개발 +여기서 도메인이란 비즈니스 문제 영역을 말한다 메뉴 도메인, 리뷰 도메인 같이 큰 문제 공간을 예시로 들 수 있다 + +- **이를 통해 각각 도메인을 철저히 분리하여 높은 응집력과 낮은 결합도로 변경과 확장에 용이하다!** + +**DDD 핵심 개념** + +- 도메인 모델 : 도메인 전문가와 개발자가 공유하는 비즈니스 지식을 소프트웨어로 표현한 핵심 모델입니다 + - 엔티티 + - 고유 식별자(ID)를 가진 객체입니다 + - 데이터가 변해도 식별자를 통해 동일한 객체로 계속 추적할 수 있습니다 (예: 사용자, 미션, 가게) + - 밸류 오브젝트 (Value Object) + - 고유 식별자가 없고 값 자체가 중요한 불변 객체입니다 + - 값이 같으면 완전히 동일한 객체로 취급하며, 변경 시 통째로 교체합니다 (예: 주소, 금액, 날짜) + - 애그리게이트 (Aggregate) & 애그리게이트 루트 (Aggregate Root) + - 애그리게이트**:** 데이터 일관성을 유지하기 위해 관련된 엔티티와 밸류 오브젝트를 한 덩어리트랜잭션 단위로 묶은 집합입니다 + - 애그리게이트 루트: 이 덩어리를 대표하는 대장 엔티티입니다. 외부에서는 무조건 루트를 통해서만 내부 데이터를 변경할 수 있도록 철저히 통제합니다 + - 리포지토리 + - 도메인 객체를 DB 같은 영구 저장소에 저장하고 조회하는 인터페이스입니다 + - DDD에서 리포지토리는 모든 엔티티마다 만드는 것이 아니라, 오직 애그리게이트 루트 단위로만 생성합니다. +- 애플리케이션 서비스 (Application Service) + - 정의: 사용자의 요청을 받아 도메인 객체들을 조종하는 흐름 제어자 + - 특징: 서비스 클래스 안에 복잡한 계산이나 비즈니스 규칙을 직접 적지 않습니다. DB에서 엔티티를 꺼내고, 엔티티에게 로직을 실행하라고 명령한 뒤, 그 결과를 다시 DB에 저장하는 역할만 담당합니다. + +**계층 구조** + + +- Presentation Layer + - controller에 해당 + - 사용자의 요청을 받고 응답을 반환하는 api 정의 +- Application Layer + - service에 해당 + - 하지만 기존 아키텍처 구조에서의 service하고는 다름 + - 절대로 비즈니스 로직이 들어가면 안되고 오직 도메인 객체를 불러와 작업을 위임하고 트랜잭션을 관리하는 흐름 제어 역할 +- Domain Layer + - model에 해당 + - 엔티티를 활용하여 도메인 로직이 실행되며, 업무 상황을 반영하여 상태를 제어하는 역할 +- Infrastructure Layer + - Repository에 해당 + - db등 외부와 통신해서 얻어 온 정보를 도메인 계층, 응용 계층 등에 전달하는 것이 주목적 + +| **구분** | **도메인형 아키텍처** | **DDD (도메인 주도 설계)** | +| --- | --- | --- | +| **정체** | 코드를 담는 **패키지 구조** | 소프트웨어를 설계하는 **거대한 방법론** | +| **핵심** | `Controller`, `Service` 등을 역할이 아닌 **기능(User, Mission 등) 단위로 같은 폴더에 묶음** | 현실의 비즈니스 규칙을 응용 계층(Service)이 아닌 **도메인 객체(Entity, Aggregate) 안에 직접 구현**함 | +| **목적** | 유지보수 편하게 | 복잡한 비즈니스 규칙 캡슐화 → 데이터의 일관성 | + +### 왜 DTO를 사용하는가? +### DTO + +계층 간 데이터 교환을 위해서 사용하는 객체 +로직을 가지지 않고 순수하게 데이터를 주고 받을 수 있도록 Getter, Setter만 가짐 + +**<사용 목적>** + +- entity와의 결합도 낮추기 + - Entity는 데이터베이스의 테이블과 1:1로 매핑되는데 이를 api 응답으로 바로 사용하게 된다면 후에 데이터베이스의 구조나 칼럼명이 바뀔 때마다 api도 바뀌게 됨 +- 민감한 정보 숨기기+클라이언트에게 딱 맞는 데이터 제공 + - DB와 연결된 Entity 객체를 바로 클라이언트에게 주기에는 민감한 정보나 화면에 필요 없는 정보 등이 있을 수 있으니 DTO로 필요한 정보만 담아서 준다 +- 입력값 검증 책임 분리 + - 비즈니스 로직을 entity에 붙이지 않고 DTO에서 해결해서 entity는 비즈니스 로직에만 집중하게 한다 +- 클라 - 서버 호출 최소화 + - 여러 개의 api가 필요할 때 거기서 필요한 모든 데이터들을 가진 DTO 하나만 보낸다면 호출 비용을 최소화 가능 + +### 컨버터는 왜 사용하는가? +### **컨버터** + +- Entity를 DTO로 변환하거나, 반대로 DTO를 Entity로 변환하는 매핑 로직만을 전담하는 객체 + +**<사용 목적>** + +- **단일 책임 원칙(SRP) 준수 및 서비스 코드 정돈** + - Service 계층은 비즈니스 흐름을 제어하는 본연의 역할에만 집중해야 함 + - 데이터를 하나하나 옮겨 담는 단순 매핑 코드를 컨버터로 분리하여, Service 코드가 노가다성 코드로 지저분해지는 것을 방지 +- **코드 재사용성 극대화 (중복 방지)** + - 단건 조회, 전체 목록 조회, 추천 조회 등 여러 API에서 동일한 DTO 변환이 필요할 때, 세팅 코드를 복사/붙여넣기 할 필요 없이 컨버터의 메서드 한 줄로 재사용 가능 +- **유지보수의 편의성 (수정 범위 최소화)** + - 추후 요구사항이 변경되어 DTO에 새로운 데이터 필드가 추가될 경우, 해당 DTO를 사용하는 모든 `Service` 파일을 일일이 찾아 고칠 필요 없이 컨버터 클래스 딱 한 곳만 수정하면 전체 시스템에 일괄 적용됨 \ No newline at end of file diff --git a/mission/chapter03/mission.md b/mission/chapter03/mission.md index 6a34d0f..3c2e9fe 100644 --- a/mission/chapter03/mission.md +++ b/mission/chapter03/mission.md @@ -1,3 +1,16 @@ +### 워크북 캡쳐 + +![워크북.png](워크북.png) + +### 워크북 리뷰 + + + - **미션 기록** ### 스프링의 요청 및 응답 흐름 (Spring MVC 흐름) diff --git "a/mission/chapter03/\354\233\214\355\201\254\353\266\201.png" "b/mission/chapter03/\354\233\214\355\201\254\353\266\201.png" new file mode 100644 index 0000000000000000000000000000000000000000..49bed88f59c7f2ed647c84b56bef1f2e5c5fe06c GIT binary patch literal 59148 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 Pf`ALAe^;+s*CG7B%)nb= literal 0 HcmV?d00001