---
# System prepended metadata

title: 2월 1주차 주간 회고
tags: ['20220204', 주간 회고]

---

2월 1주차 주간 회고
===
## TGIF
### 많은 후회는 날 천천히 가게 할 뿐이다. 후회하지 말자

###### tags: `20220204` `주간 회고`


### 패턴 & 아키텍쳐 점검

#### 김완기 
- 프로젝트 관리에 있어 건강관리 실패
    - 코로나 이슈로 인해 연휴 전후로의 개발 계획에 차질이 생김
    - 목표 중 제외해야 할 영역에 대한 판단이 요구 

#### 이강호 
- Saga pattern 과 CQRS pattern에 대한 조사 및 적용 여부 확인
    - Saga pattern
        - MSA에서 가장 문제가 되는 것은 트랜잭션 문제, db와 어플리케이션이랑 분리를 해놓았기 때문에 단일 dbms에서 제공하는 트랜잭션 기능을 사용하기가 어려움..
        - 이 문제를 해결하기 위해 서비스들 끼리 에벤트를 주고 받아 특정 서비스에서 작업이 실패하면 이전까지의 작업이 완료된 다른 서비스들에게 보상 이벤트를 소싱함으로 분산환경에서 원자성을 보장하는 패턴
        - 이 패턴의 핵심은 트랜잭션의 주체가 db가 아닌 어플리케이션에 있다는 사실..! 롤백이나 커밋을 어플리케이션 단에서 해결해야함
    - SQRS pattern
        - Command Query Responsibility Segregation - 명령 조회 책임 분리
        - 왜 명령과 조회를 분리시켰을까..? -> 전통적인 어플리케이션은 데이터베이스를 모델로 다룸, 하지만 이러한 모델은 최근 들어 어플리케이션이 변화하면서 초기 모델보다 점점 거대해지고 변질되기 쉽상임..
        - 이러한 비지니스 변화에 모델과 데이터 부분을 분리하여 관리하게 됨
        - 잦은 데이터 변경이 있는 환경에서 사용하면 좋은 패턴


#### 홍석기 
- Atomic Design Pattern의 Template과, Page 에 대한 정의 확립.
    - 두 단계가 어떤 차이점이 있고, 어떤 특징이 있어야하는지 고민함.
    
    ==결론==
    - Template: Layout 계산위주. API 연동 지양.
    
        - 미리 작성한 하위 컴포넌트들을 조합하며 위치를 조정, page로 부터 props를 받아 렌더링 할 것으로 생각하며 개발.
    - Page: children Node 를 통한 props 전달로 페이지 완성. / API 연동 활발.

        - 실질적으로 `nextjs`를 통해 렌더링 되는 page 폴더가 아토믹의 page를 대체하는 형식으로 구성.

- 기존에 작성되어 있던 `HomeTemplate` 의 네이밍 고민

    - 상단 바 , 푸터를 고정하는 역할만 하므로 -> NavTemplate으로 개명.

    - `HomeTemplate`은 실제 홈화면에 바뀌지 않는 배너, 아래에 shortcut의 모음으로 구성할 예정.

