서버
-
[Nest.js] 1. Modules 톺아보기서버/Nest.js 2020. 12. 29. 08:34
@Module 데코레이터 데코레이터를 통해 해당 코드가 모듈임을 명시하고 Nest에게 조직화된 구조를 제공한다. @Module 데코레이터는 하나의 객체를 가지는데 다음과 같은 속성을 지닌다. providers : Nest injector에 의해 인스턴스화 되는 provider를 의미한다. 해당 모듈을 통해 공유되는 비즈니스 로직이라고 생각하면 좋다. controllers : 비즈니스 로직과 연결시켜주는 라우팅 객체라고 이해하는 것이 좋다. imports : 해당 모듈에서 필요한 export된 provider 리스트를 의미한다. exports : 다른 모듈에서 사용하기 위해 export하는 provider를 의미한다. 즉 provider를 중심으로 이해하는 것이 좋은데, 해당 모듈에서 어떠한 비즈니스 로직..
-
DynamoDB Query 공식 문서 파헤치기서버/AWS 2020. 3. 4. 23:03
DynamoDB Query 모든 DB가 그러하듯, DynamoDB를 사용하는 목적은 결국 쿼리를 하기 위해서이다. 이번에는 DynamoDB의 공식 문서를 살펴보면서 Query를 하는 방법을 알아보도록 하자. 앞선 포스팅에서 설명했듯이, DynamoDB와 DynamoDB Document Client가 서로 비슷한 관계에 있고, 다만 Document Client가 JavaScript 개발자에게 좀 더 편한 방식을 제공하기 때문에 이 글에서도 Document Client의 메서드를 통해 설명하도록 하겠다. 먼저 Document Client 클래스의 공식 API 문서의 주소이다. Document Client 이 중 query 메서드를 클릭해 살펴보도록 하자. 설명이 빈약하니 예제를 통해 살펴보도록 하자. Dyn..
-
AWS DynamoDB Document Client란?서버/AWS 2020. 3. 4. 12:53
Node.js로 AWS DynamoDB의 API를 사용할 때, 마주하는 게 있다. 그것은 Document Client인데, docClient라는 객체의 메서드인 get과 dynamoDB의 메서드인 getItem이 같은 일을 수행할 수 있다는 걸 보고 이 둘의 차이가 무엇일까 하는 의문이 들어 글을 작성하게 되었다. 먼저 공식 문서에서 제공하는 설명을 들어보자. DynamoDB Document Client는 속성 값의 개념을 추상화하여 항목 작업을 간소화합니다. 이 추상화는 입력 파라미터로 제공되는 기본 JavaScript 유형에 주석을 달고, 주석이 달린 응답 데이터를 기본 JavaScript 유형으로 변환합니다. 음.. 감이 잘 오지가 않는다.. 이번엔 API의 문서 클래스에서 제공하는 설명을 들어보도..
-
AWS IAM(Identity and Access Management) 개념 정리서버/AWS 2020. 3. 3. 23:20
AWS IAM은 AWS의 어떤 서비스이든 설정을 해야한다. 이만큼 자주 사용되는 개념인데, 용어가 비슷비슷해 헷갈리는 걸 정리해보았다. 먼저 하나 알아둬야 할 개념은 AWS는 누가 호출을 하는지(인증 부분)와 필요한 권한을 가지고 호출을 하는지(권한 부분)을 확인한다는 것이다. 역할과 권한과 정책의 관계 그룹 : 사용자가 속하는 영역으로, 사용자는 그룹에 있는 권한을 상속받는다. 역할 : 사용자, 애플리케이션, AWS 서비스 모두 IAM 역할을 부여받을 수 있는데, IAM 역할에 설정된 권한을 상속받는다. 즉, 서비스 영역(API gateway, Lambda, DynamoDB 등)에서 제공되는 IAM은 모두 역할이라고 생각하면 된다. 역할과 그룹은 어떠한 권한을 지니게 되는데, 이 때 이러한 권한을 정책..
-
AWS Lambda를 위한 동기/비동기 정리서버/AWS 2020. 3. 2. 15:17
AWS Lambda 함수의 매개변수에 대해 알아보고, 이를 통해 비동기로 처리하는 방식과 동기로 처리하는 방식에 대해 알아보도록 하자. AWS Lambda의 매개변수 AWS Lambda는 세 가지의 매개변수를 받는다. 1. event 이벤트 매개변수는 JSON 형식으로 구성되며, 외부에서 API를 호출할 때 생기는 이벤트를 의미한다. 예시로 HTTP에서 호출할 수도 있으며, AWS 서비스 내의 S3나 EC2에서도 호출할 수도 있다. 혹은 다른 Lambda 함수도 가능하다. html에서의 이벤트 핸들러와 유사하다. 2. context 컨텍스트 매개변수는 Lambda 함수가 실행되는 환경, 그리고 호출, Lambda 함수 자체에 대한 정보를 의미한다. 3. callback -> 이를 활용하는 것이 비동기 함..
-
미들웨어란?서버/Node.js 2017. 12. 1. 00:26
프로젝트를 진행하면서 느낀 것은 내가 아직 많이 개념이 모자라다는 것이었다. 대충 어느정도 흐름이 잡혔다 싶었다가도 한 번 막히면 다시 원상태로 돌아오는 것이 내 스스로에게 너무나도 답답하게 느껴졌다. 천천히, 하지만 정확히. 그것은 어디에나 통하는 '정(正)도'라고 생각한다. 그래서 다시 책 속에 나와있는 개념들을 하나하나 정리해볼까 한다. 그리고 한동안 프로젝트의 진행 내용에 대해서 꾸준히 포스팅하고 싶었지만, 뭔가를 어서 만들어 성취감을 느끼고 싶다는 마음이 너무나도 크게 들어서 그러지를 못한 거 같다. 어차피 지금 만드는 프로젝트는 정말로 내가 초보 딱지를 떼기 위해서 만드는 것이기 때문에, 이 프로젝트가 완성되면, 차후 다른 프로젝트를 진행하면서 차근차근 포스팅하도록 하겠다. 다시 본론으로 돌아..
-
정보의 전달(GET, POST)서버/Node.js 2017. 11. 27. 13:29
생활코딩의 내용을 복습하고 책에 있는 내용을 복습하도록 하자.여기서 작성되는 HTML은 모두 pug(구 jade)의 문법을 따르므로 검색을 통해 문장을 보는 눈을 익혀두자. 먼저 생활코딩에서 배운 내용에 대해서 소개하자면, 생활코딩에서는 간단하게 폼(form)과 그것이 어떻게 서버로 전송되는 지를 구현해 보았다. 1. GET 방식GET방식은 사용자가 서버로 URL을 통해 정보의 값을 전달하고 서버는 URL을 통해서 그 값을 받게 되는 구조이다. 여기서 먼저 GET방식을 익혀보자.html headmeta(charset='utf-8')bodyform(action='/form_receiver') // form 태그로 묶으면 입력된 정보들이 action의 주소로 전송됨 ( ) 안에 method = 'get'이 ..