글 작성자: 망고좋아
반응형

📖 오늘 배운 내용 - 2021.12.08

  • Pug
  • 게시판 CRUD 만들기
  • Async Request Handler
  • Pagination
  • PM2 Process Manager

 

📝 Pug

 

[Pug] Pug에 대해서 간단하게 알아보자!

🎯 Pug에 대해서 간단하게 알아보자! 들여 쓰기 표현식을 이용해 가독성이 좋고 개발 생산성이 높다. HTML을 잘 모르더라도 문법적 실수를 줄일 수 있다. layout, include, mixin 등 강력한 기능 제공한

lakelouise.tistory.com

 

📝 게시판 CRUD 만들기

Create, Read, Update, Delete

  • 데이터를 다루는 네 가지 기본적인 기능
  • 일반적으로 위 네 가지에 대한 구현이 가능해야 서비스 개발에 필요한 요구사항을 충족할 수 있다.
  • Update, Delete는 작성자만 가능해야 한다.
 

[Node.js] 게시판 CRUD 만들기, 게시글 작성/상세/수정/삭제

🎯 게시판 CRUD 만들기 📝 모델 선언하기 🛠 /models/schemas/post.js const mongoose = require("mongoose"); const { Schema } = require("mongoose"); const shortId = require("./types/short-id"); module.e..

lakelouise.tistory.com

 

📝 Async Request Handler

  • exprss의 공식 기술은 아니다. 패턴 중 하나이다.
  • Async Request Handler를 사용하면 async를 쉽게 사용할 수 있고, Request Handler를 처리하는데 공통적으로 오류처리를 할 수 있거나 간단하게 구현할 수 있다.
 

[Node.js] Async Request Handler

🎯 Async Request Handler exprss의 공식 기술은 아니다. 패턴 중 하나이다. Async Request Handler를 사용하면 async를 쉽게 사용할 수 있고, Request Handler를 처리하는데 공통적으로 오류처리를 할 수 있거나..

lakelouise.tistory.com

 

📝 Pagination

  • 데이터를 균일한 수로 나누어 페이지로 분리하는 것
  • Mongoose를 이용해 Pagination을 구현하기 위해서 한 페이지에 보일 자료의 개수를 limit으로 제한하고 특정 페이지로 넘어가기 위해 skip으로 자료를 건너뛴다.
 

[Node.js] 게시판 페이지네이션 구현하기, Pagination

🎯 게시판 페이지네이션 구현하기, Pagination 데이터를 균일한 수로 나누어 페이지로 분리하는 것 Mongoose를 이용해 Pagination을 구현하기 위해서 한 페이지에 보일 자료의 개수를 limit으로 제한하고

lakelouise.tistory.com

 

📝 PM2 Process Manager

  • Node.js 작업을 관리해주는 Process Manager다.
  • node 명령어로 실행 시 오류 발생이나 실행 상태 관리를 할 수 없다.
  • pm2는 작업 관리를 위한 다양한 유용한 기능을 제공해 준다.

 

📕 사용 이유

  • 안정적인 프로세스 실행 - 오류 발생 시 자동 재실행
  • 빠른 개발환경 – 소스 코드 변경 시 자동 재실행
  • 배포 시 편리한 관리 - pm2에 모든 프로세스를 한 번에 관리

 

📕 사용 방법

module.exports = {
    apps : [{
        name: 'simple-board',
        script: './bin/www',
        watch: '.',
        ignore_watch: 'views',
    }],
};

---
$ pm2 start
  • $ pm2 init simple 혹은 $ pm2 init 명령어를 이용하여 pm2 설정 파일 예제를 만들 수 있다.
  • 예제를 수정하여 설정 파일을 생성한 후, $ pm2 start 명령어를 실행하면 애플리케이션을 pm2 데몬으로 실행해 준다.
  • 개발 시 watch 옵션 사용하여 파일 변경 시 서버 자동 재실행할 수 있다.

 

💡 오늘 깨달은 것

  • value=post&&post.title : post가 있다면 post.title로 저장해주고 없다면 빈 값으로 설정
  • 아직 pug 문법이 어색하고 오늘 하루만 사용해서 그런지 아직 불편하다. 다만 익숙해지면 생산성은 높아질 거 같다.
  • 기초적인 CRUD와 페이지네이션을 엘리스 내에서 반복적으로 구현하다 보니 저절로 서비스 흐름이 파악되었다.
  • 게시판은 데이터를 작성하고 보여주는 기능을 구현하기 가장 기본적인 형태이다. 웹 서비스 개발의 기본을 학습하기 좋다. 게시판을 통해 기본기를 잘 다지면 무엇이든 응용 가능하다.
 
반응형