Web
-
Value Object와 EntityWeb/Nest.js 2023. 3. 19. 13:09
Value Object Entity 동치성 판별 기준 값 identity Value Object는 값을 통해 동치성이 판별되는 반면 Entity는 고유한 식별 field(identity)를 가지고 있다. Identity의 생성방식 Id 생성 주체 예시(클래스) 방식 설명 Infra structure layer (테크니컬) UserRepository User에서는 id를 optional로 두고, DB에서 id를 생성한다.(순차생성, 상승) [2 | 박00 | 010-0000-...] 일반적인 방법 micro service가 아니라면 일반적으로 사용하는 이유 1. 용량이 적다(int 형) 2. 개발이 편리하다 Domain layer (비즈니스 로직) User User의 create 함수에서 id를 발급한다...
-
DDD 마이크로 서비스의 계층Web/Nest.js 2023. 3. 19. 12:51
https://learn.microsoft.com/ko-kr/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ddd-oriented-microservice [DDD 중심 마이크로 서비스 설계 컨테이너화된 .NET 애플리케이션용 .NET 마이크로 서비스 아키텍처 | DDD 지향 주문 마이크로 서비스 및 해당 애플리케이션 계층의 디자인을 이해합니다. learn.microsoft.com](https://learn.microsoft.com/ko-kr/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ddd-oriented-microservice) 애플리케이션 레이어 외부 리퀘스트..
-
first-start-mvc: model - value objectWeb/Nest.js 2023. 3. 2. 07:12
value object 특성 가진 값에 의해서 equality를 판단함 if: A: 3 B: 3 then: A === B 암묵적으로 immutable created equal, remain equal 그렇기 때문에 client에서 값을 변경하는 등(알 수 없는 변경) 버깅 행동이 적어짐 reference로 넘기기보다 복사해서 사용한다 프로그래밍 언어에서의 사용 C# C#에서 class는 type이 레퍼런스고 구조체는 type이 value이다. class 정의로 생성한 인스턴스는 object, 구조체 정의로 생성한 인스턴스는 value object가 된다. class를 value object로 만들기 위해서는 값으로 동일성을 비교하도록 세팅(Equal등의 함수를 오버라이딩) 변경 방지(setter를 두지 ..
-
[Nest js 기초] 컨트롤러의 역할과 data validationWeb/Nest.js 2023. 2. 12. 12:52
Data validation의 책임 email이 넘어오지 않은 경우(empty data): 컨트롤러 email이 들어왔는데 형식이 틀린 경우(validation fail): 프로바이더 컨트롤러의 역할은 request를 처리하여 response하는 것인데, 여기서 처리는 service에게 위임하기 때문에 중복체크, 컨텐츠가 잘못되었는지 등의 체크는 service에서 진행한다. 하지만 애초에 필수 컨텐츠가 누락되었다면? 이것은 컨트롤러에서 체크하는 것이 맞다. 왜냐면 어차피 처리가능한 컨텐츠가 없는데, provider를 실행시킬 필요가 없으니 컨트롤러 선에서 미리 차단하는 것이다. request가 들어왔는가(type, syntax)에 대한 것은 컨트롤러의 책임이다. 그러나 처리 과정에서 밝혀진 validat..
-
[ MS HackaLearn ] 참가 후기!Web 2021. 8. 15. 11:38
~HackaLearn~ Team: Zero100, Github Id: humonnom GitHub - devrel-kr/HackaLearn: HackaLearnx Korea 2021 HackaLearnx Korea 2021. Contribute to devrel-kr/HackaLearn development by creating an account on GitHub. github.com 집에서 뒹굴뒹굴 하다가 Heom이 Hekang이랑 Yookim이랑 해커런 참여한다고 그래서 어차피 REACT쓸거라고 하길래 살포시 끼었다. 처음에 정적웹앱부터 이해하는데 시간이 오래걸렸다. React도 React인데 Azure Functions도 써보고 Github Actions도 써볼 수 있어서 좋았다! 뭔지도 모르고 ..
-
HTML 처음 접한날Web/HTML 2020. 2. 20. 02:40
HTML 카테고리에 아무것도 없어서 괜히 적는글.. (정보성 없는 글임..) 내가 처음으로 html을 접한 것은 전자출판 프로그램인 sigil을 배우러 갔을 때였다. 나중에 인터넷에 검색을 해보다가 알았는데 sigil을 시길이 아니라 시즈일이라고 읽는 게 맞다고 한다. 글쓴이가 sigil을 시길이라는 발음으로 잘못 전파했다고 고백하는 글이었다. 센터에서 총 이틀동안 html과 css 비스무리한 것?을 배웠다. 이틀 다 밥을 먹고 갔기 때문에 졸리긴 무척 졸렸지만 재미있었다. 우동이 먹고 싶어서 우동도 그렸다. 사실 이때까지 프로그래밍 자체에는 계속 관심이 있었는데 엄두가 안나서 못하고 있었다, 근데 html을 접해보니 할만한데? 하는 생각이 들었다. 걱정하고 미리 포기하기 보다는 쉬운 걸 먼저 해보는 게..
-
실시간 입력폼 만들기(3): Dynamic routes for Next.jsWeb/Next.js 2020. 2. 11. 00:26
출력된 result들의 상세 페이지를 만들어 봅시다. Link를 이용하여 자세히보기 버튼을 만들어 줍니다. 자세히보기를 누르면 상세페이지로 이동하도록해야하는데, 이 상세페이지를 만들기 위해서는 백엔드를 건드려야 한다. //Backend Next.js는 프론트엔드와 백엔드가 같이 혼합된 형태의 프레임워크이다. server side handling 을 위한 framework -Dynamic routes for Next.js : Next routes (universal) (어떤 라이브러리는 프론트엔드만, 어떤 라이브러리는 백엔드만 지원한다. 그런데 양쪽을 모두 지원하는 경우가 있고 그런 라이브러리를 "universal"하다고 소개한다.) 설치 : yarn add next-routes server.js 작성 파..