목록전체 글 (40)
레커
- Nest.js nest 처음 느끼는 src 폴더를 보면 main.ts / app.controller.ts / app.module.ts / app.service.ts / app.controller.spec.ts 가 있었다 app.controller.ts는 express에서 라우터 기능을 하고 있는 것 같고 app.module.ts는 모듈을 한 번에 관리하는 곳 같았고 app.service.ts는 로직이나 기능을 모아놓는 곳 같았다. DTO는 구조체나 클래스처럼 형식을 지정하는 느낌이 들었다. 코드를 봤을 떄 구현기능별로 코드를 정리하는 느낌이다. board / user 폴더를 만들어 user.controller.ts / user .module.ts / user .service.ts 를 만들어서 관리를 ..
1. MongoDB 란 MongoDB는 NoSQL 데이터베이스 시스템 중 하나 이며 데이터를 저장, 관리, 검색, 보안, 정리, 분석 및 공유를 위한 도구입니다. 2. 설치 npm i mongoose express 3. 계정 생성 및 mongo compass 발급 1) 회원가입 및 클러스터 생성 2) 클러스터에서 Connect 클릭 클릭하면 mongo compass를 받을 수 있음 mongodb+srv://:@cluster0.4eb3gaz.mongodb.net/ 4. express 앱과 DB 연결 및 확인 const express = require('express'); const port = 4000; const path = require('path'); const { default: mongoose }..
1. nodemon 사용 이유 파일 변경 사항을 감지하여 자동으로 애플리케이션을 자동으로 다시 시작해줘서 개발 시간을 단축해주는 도구 2. 설치 npm i -D nodemon 3. package.json 설정 "scripts": { // nodemon 통해 server.js 실행 "dev": "nodemon server.sj" }, 설정 후 터미널에 아래 명령어로 실행하면 끝! npm run dev
1. EJS Engine 및 사용 이유 동적 웹 페이지 및 애플리케이션을 만들 때 주로 선택되는 템플릿 엔진 중 하나 EJS 엔진은 개발자에게 편리한 방식으로 동적 웹 콘텐츠를 생성하고 관리할 수 있는 효율적이고 유연한 도구입니다. ( JavaScript를 사용하여 템플릿을 정의하고 데이터를 렌더링 할 수 있고 로직을 통해 쉽게 통해 동적 콘텐츠를 생성하고 컨트롤 할 수 있음) 2. 설치 npm install ejs 3. express에 ejs 등록기본 코드 const path = require("path"); app.set("views", path.join(__dirname, "views")); app.set("view engine", "ejs"); views String or Array A direc..
1. 사용하는 이유 사용자의 인증(authentication) 또는 인가(authorization) 정보를 서버와 클라이언트 간에 안전하게 주고 받기 위해서 사용 2. 패키지 설치 npm i jsonwebtoken 3. jsonwebtoken 생성 jwt.sign( payload, 비밀키, 옵션, callback ) 1) expiresIn 옵션 : 토큰의 유효 기간을 지정할 때 사용 const accessToken = jwt.sign(test, secret, { expiresIn: "30s" }); ※ 주의 비밀키는 외부에 노출하면 인증의 의미가 없음 env 등을 통해 키 보호 3. jsonwebtoken 검증 jwt.verify( toeken, 비밀키, callback ) const verify = j..
1. 사용 이유 Express에서 정적 파일 제공하기 위한 Express의 기본 제공 미들웨어 함수 (정적 파일 제공 이미지, CSS 파일 및 JavaScript 파일 등) 2. 등록 예시) 프로젝트 최상단 경로에 'public' 이라는 폴더로 경로 지정 1) 기본 사용법 app.use(express.static('public')); 2) 가상 경로 지정 app.use('/static', express.static('public')); 3) 절대 경로 지장 const path = require('path'); app.use('/static', express.static(__dirname + '/public')); 참고 https://expressjs.com/ko/starter/static-files.ht..
REST(Representational State Transfer) 구성 자원(RESOURCE) - URI 행위(Verb) - HTTP METHOD 표현(Representations) REST 특징 Uniform (유니폼 인터페이스) Uniform Interface는 URI로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍처 스타일을 말합니다. Stateless (무상태성) REST 는 무상태성 성격을 갖습니다. 작업을 위한 상태정보는 저장하지 않습니다. 다시말해 세션 정보 및 쿠기 정보를 저장하지 않고 관리하기 떄문에 API서버는 요청오는 것만 처리합니다. 이런 특징으로 서비스의 자유도가 높고 구현이 단순해집니다. Cacheable(캐시 가능) REST의 가장 큰 특징 중 하..
모델-뷰-컨트롤러(model–view–controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. model–view–controller 3개의 부분으로 나누어 관리하는 방식을 말합니다. Model 데이터를 보관하는 부분을 말하며 데이터와 비즈니스 로직을 관리합니다. 모델의 규칙 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야만 한다 뷰나 컨트롤러에 대해서 어떠한 정보도 가지고 있지 않는다. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야 함 View 화면상에 출력되는 부분을 말하며 주로 HTML/CSS/Javascript같이 레이아웃 과 화면 처리를 담당합니다. 뷰의 규칙 모델이 가지고 있는 정보를 따로 저장해서는 안됩니다. 뷰에서는 모델이나 컨트롤러와 같이 다..