본문 바로가기

전체 글

(730)
[Spring boot] 스케줄러 배치로 만들기는 오바스럽고, 간단하게 스케줄러가 필요할때, 스케줄러를 구현하면 편하다. 구현할일이 많지는 않아서, 기념적으로 정리한다. 나는 스케줄러로, 결제 처리와 빌링키 조회를 하기 위함이다. 1. 의존성 추가, 대부분 이미 추가한 의존성이라 그냥 사용가능하다고 봐도 무방하긴하다. implementation 'org.springframework.boot:spring-boot-starter-web' 2.메인 클래스 추가 @SpringBootApplication @EnableJpaAuditing @EnableScheduling public class InnabackendApplication { public static void main(String[] args) { SpringApplication.run..
[Flutter] Boot pay로 정기 결제 구현하기 우선, 플러터로 정기결제 구현하기다. 최대한 간편하고 쉽게 구현할 예정이다. 1) 부트 페이 관리자 세팅 결제수단 설정으로, 샌드박스 모드를 켜둔다. 카드 결제 + 카드정기 결제수단을 허용하기 때문에 해당만 켜두었다. 해당 세팅이 끝나면, web,aos,ios에 대한 아이디 값을 받게 된다.(연동 키값) 2. pubspec.yaml 파일에 추가 dependencies: flutter: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. assets_audio_player: ^3.0.6 google_sign_in: ..
[DDD] 바운디드 컨텍스트 식별 바운디드 컨텍스트는 .. 그냥 뭐 여러가지 커맨드 액터 들을 얼마나 그룹핑 할것이냐...정도를 정하는 것이다. 대여 회원 도서 베스트 도서 로그인 이런식으로 바운디드 컨텍스트를 나눌수있고, 아까 정리했던 것들을 위의 분류 기준으로 나눠서 경계를 지정한다고 생각하면된다. 스케일 아웃이나, 여러가지 모듈을 나누는 기준이라고 생각하면 된다. 이런식으로 바운디드 컨텍스트가 나누어 지고 해당 바운드 컨텍스트 기준으로 보면 좀더 깔끔한 느낌을 받을수 있다. 정책이나, 모듈, 흐름에 대한걸 좀더 깔끔하게 보기 좋게 정리가 가능하다. 바운디드 컨텍스트도 핵심,일반,지원에 대한 종류가있다. 쿠팡으로 치면 배송이 핵심이고, 이 도메인이라고 치면, 대여에 대한 기능이 핵심 기능이 될 수 있어서, 대여에 대한 바운디드컨텍스트..
[AWS] Docker 이미지 ECR에 올리기 Docker image를 허브에는 많이올려봤다. 허브에 올리고 ec2에서 다시 풀 받고... 근데 AWS에서 hub같은 공간이 있다. ECR 뭐 컨테이너 레지스트리 어쩌고 저쩌고 무튼, 쉽게 얘기하면 프라이빗 이미지 저장소로 이해하면된다. 이제 localimage를 ECR에 올리는 방법에 대해 알아보자 ECR에 이미지를 올리기 위해서는 먼저 로그인을 해야한다. 도커 허브에 올릴려면 docker login 으로 허브에 접속하듯이, aws도 일정기간 보장되는 자격증명이 필요하다. aws ecr get-login-password --region ap-northeast-2 --no-verify-ssl -> 이렇게 하면 패스워드가 나온디. docker login --username AWS ecr 주소는 92313..
[DDD] 애그리거트 도출 Domain Event 와 Command에 의해 관리되는 데이터, 명사로 표현한다. 일단 설게한 것을 기준으로 에그리게잇을 도출할 수 있다. 회원과 관련된 것은 회원의 에그리게이트로 도출할 수 있다. 전체적으로 붙여보면, 이렇다. 큰 맥락으로 묶을것은 묶는다 (사용자 포인트 어쩌고 저쩌고는 다 사용자 포인트로) 상태로 변경할것은 상태로 변경하고, 묶을것은 묶는다. 사실 여기서는 어떻게 묶을 것인지에 대한 개발자에 대한 생각에 따라서 달라 질수 있다. 일단 크게 보면 이렇다. 도서 대여도서 반납도서 (도서 상태) 회원 로그인 사용자 포인트 이렇게 하면, 어그리게이트 기준으로 객체를 뽑아볼수 있다, 그리고 머리속으로 그려진다. JPA 기준으로 개발을 많이 했어서, 해당 관련되서 생각을 하는게 그렇게 거부감은..
[DDD] 정책 및 외부 시스템 도출 정책은 특정 이벤트가 발생됬을때 발생되어야 하는 커맨드의 기준이다. 무튼 정의 하면 아래와 같다. 도서가 대여되면, 사용자 포인트가 적립되는 걸 정책으로 연결해줄 수 있다. 도서가 대여되면 포인트가 적립된다 또한 도서의 상태가 동시에 변경이 된다. 그래서 뭐 이렇게 표현할 수 있다. 정리는 안했다 귀찮다 솔직히 나혼자 이런거 하는건,,,,그냥 알고만 있으면 되서 회사에서 시키면 정리하고 혼자서할때는 대충 하는 방법이나 테스트만해보도록하자....정리는...어려워..... 뭐 무튼 이런식으로 연체되면~ 대출되면~ 이런 정책들을 만들어서 표현하고 관리하면 된다. 개발자가...하는게 맞는거....지? 사실 잘모르겠다....ㅋㅋ 뭐 키클락이나 요즘은 여러 시스템을 외부에서 많이 도움을 받는다. 공통으로 써야한다고..
[DDD] 커맨드 및 액터 도출 각각의 도메인 별로, 실제 행위를 하는 동사 즉 커맨드를 입력해서 메모를 한다. 액터는 말 그대로, 실제해당 행위를 하는 주체를 의미한다. 해당 주체를 액터라고 하고, 해당 액터를 표기함으로써 설계에 추가한다. 액터, 커맨드, 이벤트에 따른 색깔을 내 맘대로했더니 ㅋㅋ 조금 그러네;; 앞으로는 색깔부터 확실히 나누고 설계를 하도록하자 이렇게 커맨드랑 액터를 도출해볼수있다.
[DDD] 모델링 실습 사내 도서대여시스템 이라고 가정하고 모델링 실습을 해보자 요구 사항은 아래와 같다. Miro라는 툴로 이벤트 스토밍을 진행할 수 있다. 온라인 이벤트스토밍 툴이다. Domain Event - 시스템에서 발생하는 중요한 이벤트 - 데이터가 아닌 비즈니스 프로세스에 집중 - 과거형 동사로 표현 Hot Spot - 질문,가정,경고,의견 수렴이 필요한 내용 - 병목 구간,자동화 필요한 수작업, 도메인지식이 없는 경우 - 완전히 정의되지 않은 영역, 해결해야 하는 문제 - 필요한 곳 어디에나 부착 가능 Command - 이벤트를 트리거 하는 명령 - 현재동사로 표현 Actor - Command를 동작하게 하는 사용자/역할 - 사람이나 역할의 이름을 명사로 표현 Policy - 다른 바운디드 컨텍스트에 영향을 주는..