목록분류 전체보기 (201)
JUINTINATION
passport란? 이전 Express.js의 morgan과 cookie-parser, express-session 글에서 쿠키와 세션을 이용해 클라이언트를 식별하는 방법에 대해 다뤘다. passport는 내부적으로 쿠키와 세션을 사용하여 Node.js에서 인증(Authenicate)을 쉽게 적용할 수 있게 하는 미들웨어이다. 해외로 나갈 때 신원 확인을 위한 여권(passport)를 사용하는 것처럼 클라이언트가 서버에 요청을 보낼 수 있는지 심사하는 역할이라고 보면 된다. strategy passport는 어떤 것을 이용해 어떻게 인증을 구현할 것인가에 대한 전략인 strategy를 사용하는데 오늘을 기준으로 539가지 strategy가 있다고 공식 홈페이지에 나와 있다. 예를 들어 'passport-..
morgan morgan은 Logger API로 request와 response를 깔끔하게 포매팅해주어 호출된 router가 어떤 상태이고 어떤 결과 값인지 콘솔에 로그를 찍는 역할을 한다. 이렇게 찍힌 로그를 콘솔로만 확인해도 되지만 json 형태로 dump 파일에 기록해주는 winston이라는 모듈도 있다. const logger = require('morgan') 과 같은 형태로 morgan 모듈을 불러와서 const app = express() 일 때 app.use(logger('옵션')); 과 같은 형태로 사용한다. morgan에 들어가는 매개변수인 각 옵션마다 보여주는 정보가 다르며 여러 옵션을 넣어줄 수도 있다. 주로 개발 시에는 dev 옵션을 사용하는데 요청 메서드, url, 상태, 응답시..
MVC 패턴이란?MVC 패턴은 모델-뷰-컨트롤러(model–view–controller) 3가지로 분리된 형태의 3 Layer Architecture를 사용하는 디자인패턴이다. 각각의 구성요소들 사이에는 다음과 같은 관계가 있다. 모델-뷰-컨트롤러 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 모델, 뷰, 컨트롤러의 관계를 묘사하는 간단한 다이어그램. 웹 애플리케이션에서 일반적인 MVC 구성요소 다이어그램 모델-뷰-컨트롤러(model–view–controller, MVC)ko.wikipedia.org모델(Model)사용자에게 노출되지 않고 애플리케이션이 무엇을 할 것인지 정의하는 부분으로 DB와의 상호작용을 통한 연산처리가 주된 목적이다.컨트롤러에서 요청이 들어오면 DB에서 사용자가..
API란?API(Application Programming Interface)란 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이다. API란 무엇인가요? - 애플리케이션 프로그래밍 인터페이스 설명 - AWSGraphQL은 API용으로 특별히 개발된 쿼리 언어로서, 클라이언트에게 요청한 데이터만 제공하는 것을 우선으로 합니다. 또한 API를 빠르고 유연하며 개발자 친화적으로 만들도록 설계되었습니다. RESaws.amazon.comAPI라는 용어를 처음 들었을 때 가장 많이 보게되는 예시 중 하나는 기상청일 것 같다. 여러 API와 데이터를 제공하는 공공데이터포털의 인기검색어만 살펴봐도 기상청이 가장 위에 뜨는 것을 확인할 수 있다. 공공데이터 포털국가에서 ..
지난 도커(Docker) 가볍게 입문해보기 글에서 도커의 가벼운 입문 말고 Express.js 기본적인 CURD API 만들어보기, Middleware에 대한 개념 이해하기 등의 과제를 받았다고 언급했었다. 이 글에서는 Node.js의 비동기 처리 관련 내용을 적을 것이다. 지난 Node.js와 Express.js 가볍게 입문해보기 - 3에서 이어지는 내용이며 해당 글은 이 링크로 들어가면 확인할 수 있다. Node.js와 Express.js 가볍게 입문해보기 - 3 지난 도커(Docker) 가볍게 입문해보기 글에서 도커의 가벼운 입문 말고 Express.js 기본적인 CURD API 만들어보기, Middleware에 대한 개념 이해하기 등의 과제를 받았다고 언급했었다. 이 글에서는 Express.j j..
현재 진행중인 스퍼트 프로젝트의 조건 중 MySQL + Prisma ORM + 3개 테이블 이상(1:N, M:N, 최소 하나) + ERD이 있었다. 이를 위해 먼저 Prisma가 무엇인지 알아보고 기본적인 CURD API를 만들어보도록 하겠다. ORM이란? ORM(Object Relational Mapping)은 "객체로 연결을 해준다"라는 의미로 어플리케이션과 데이터베이스 연결 시 SQL언어가 아닌 어플리케이션 개발언어로 데이터베이스를 접근할 수 있게 해주는 툴이다. 즉, 어떤 객체를 schema로 정의한 다음 server side쪽에서 데이터 베이스를 CRUD가능하도록 해주는 매개체이다. SQL문법 대신 어플리케이션의 개발언어를 그대로 사용할 수 있게 함으로써, 개발 언어의 일관성과 가독성을 높여준다..