기타

    CQRS(Command Query Responsibility Segregation) 패턴

    CQRS 패턴이란? Command Query Responsibility Segregation의 약자로 명령 조회 책임 분리로 해석된다. 조금 더 쉬운 말로 하면 데이터 저장소에 대한 읽기(R) 및 업데이트(CUD) 작업을 구분하는 패턴이라는 의미다. Read 작업을 하나로 묶고, Create, Update, Delete 작업을 하나로 묶는다! 왜 CQRS 패턴을 사용하게 되었을까? 이는 R과 CUD의 서로다른 특징 때문이다. 기존의 아키텍처(하나로 되어있는)에서는 R과 CUD의 구분없이 동일한 데이터 모델을 사용한다. 간단한 CRUD 작업에서는 이 방식이 좋을 수 있다. 하지만 만약 애플리케이션이 복잡해진다면? Read는 보통 일반적인 CUD의 DTO와 다르게 생긴 DTO를 return 한다(필요한 데이..

    [디자인 패턴] 템플릿 메소드(Template method) 패턴

    템플릿 메소드(Template method) 패턴이란? 템플릿 메소드 패턴은 행위패턴 중 하나로, 전체 구조에서 공통적인 부분을 제외한 특정 작업을 처리하는 일부분만 서브 클래스에서 각각 재정의하는 패턴이다. 간단하게 예시를 들어 말하자면, A와 B라는 작업이 있으면 추상 클래스에 알고리즘의 공통되는 부분은 구현을 해놓고 A, B 각각이 다른 작업은 추상 메소드로 재정의하는 것이다. 위의 이미지를 보면 상위 클래스에 step1~4를 실행하는, 즉 골격을 잡는 templateMethod()가 있고 이 클래스를 상속받는 ConcreteClass1, ConcreteClass2는 step1~4 중 필요한 것만 오버라이드 해서 재정의하고 있다. 템플릿 메소드 패턴의 장단점? 장점 중복 코드를 줄일 수 있다. 자식..

    [Git] github 간단한 명령어 정리

    //initialize empty git repository $git init $git config --global user.name "name" $git config --global user.email "email" //make .gitignore, not necessory $vi .gitignore //check status $git status //push code into repository $git add --all . $git commit -m "commit remark" //remote: add remote repository named "origin"(can change) //you can manage remote repository named "origin" $git remote add ..