업무를 위해 RabbitMQ용 Amazon MQ를 세팅했다. 원래는 다음의 RabbitMQ의 플러그인을 사용할 예정이었다. - RabbitMQ Delayed Message Exchange - RabbitMQ Message Deduplication 그런데 막상 개발을 진행하려고 보니... Amazon MQ에서 RabbitMQ의 플러그인을 아주 제한적으로 제공하고 있었다. (참고: https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/rabbitmq-basic-elements-plugins.html) 대놓고 FAQ에서 Custom Plugin 사용하고 싶다면 EC2에 설치해서 쓰라고 하더라... ActiveMQ를 사용할까도 고민했지만, Node에서 안정..
새 맥북에 플러터 설치 후, 오랜만에 만난 에러 메시지. 어떻게 해결하는지 기억이 안나서 구글링을 해야했다. 해결 방법은 매우 간단하다. Android Studio -> SDK 매니저 -> SDK Tools 탭에 있는 Android SDK Command-line Tools를 설치. [참고자료]
1. iTerm2 자타 공인 맥의 터미널 베스트셀러. Downloads 페이지에서 Stable Release를 받아서 압축을 풀고 "응용 프로그램"에 옮겨주면 설치 완료! 2. Homebrew 거의 필수 유틸인 Mac OS 패키지 관리자 홈 브루 설치. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 설치가 끝나면 "Next steps" 라고 설명이 나오는데, 이걸 해줘야 PATH에 홈 브루가 세팅되서 편하게 쓸 수 있다. // {User Name}에 계정명이 들어가니 터미널에 뜬 메시지를 복사해서 쓰자. echo 'eval "$(/opt/homebrew/bin/brew shelle..
개발을 하다보면 초기화의 일환으로 List, Map 등에도 Literal(고정값)을 적용할 일이 종종 생긴다. 예를 들어 아래와 같은 경우가 있을 것이다. final names = [ "John Doe", "Jane Doe" ]; // List literal final account = { "name": "John Doe", "dept": "finance" }; // Map literal 위와 같이 초기값을 넣어주는 경우도 있지만, 값이 빈 객체를 만들고자 할 때도 있다. final names = []; final accounts = {}; Map은 기본적으로 "입력 순서를 보장하지 않는" 자료구조다. 언어에 따라 기본 Map이 Ordered인 경우가 있고, Unordered인 경우가 있다. 최근에는 U..
개요 HTTP를 통해 Controller에 전달되는 요청은 종류가 다양하다. HTTP 메서드도 여러가지 있지만, 데이터 전달 방식도 여러가지다. - Route Parameter 방식: localhost:3000/users/1 - Query 방식: localhost:3000/users?name=김만보&gender=male - Body 방식: localhost:3000/users (데이터는 body에 담겨서 전달됨) - 등등. 이 포스트에서는 NestJS에서 흔하게 쓰는 기초적인 방식 3가지 정도를 적어보려고 한다. - Route Parameter - Query - Body Body 방식의 경우, JSON 텍스트 방식만 다루려고 한다. (Multipart나 Graphql은 나중에...) Route Param..
[Provider] 클래스에 @Injectable() 데코레이터를 붙여서 선언한다. 이는 가장 흔한 생성자 기반 의존성 주입을 위한 방법인데, 다른 방법도 있다는 점은 일단 알아두자. Provider는 Nest의 기본 구성요소 중 하나인데, 모듈이나 컨트롤러와 달리 다양한 역할을 가질 수 있다. 대표적인 역할이 Service이고, Repository, Factory, Helper 등등 만들기 나름이다. 기본적으로 Nest에서 Provider란 의존성으로서 Injectable 한 요소다. 스프링에서도 중요한 개념인 Dependency Injection을 위한 요소라고 보면 된다. 가장 흔하게 사용되는 Provider 역할인 Service를 보자. // user.service.ts @Injectable() ..