본문 바로가기

node.js14

[Node.js] 뷰 템플릿 적용하기 - ejs 뷰 익스프레스에서 뷰 템플릿을 적용하는 법을 알아보겠습니다. 목차 MVC 패턴과 뷰 엔진 ejs 뷰 템플릿 사용 1 ejs 뷰 템플릿 사용 2 MVC 패턴과 뷰 엔진 MVC 패턴이란 Model, View, Controller로 구성되는 구조입니다. 눈에 보이는 부분을 뷰, 뷰로 표현되는 데이터를 제공하는 것은 모델, 처리되는 과정을 담당하는 것을 컨트롤러라 합니다. 뷰 에서는 모델에서 얻는 데이터와 뷰 템플릿을 바탕으로 사용자에게 응답할 웹문서를 만들어 응답합니다. ejs 뷰 템플릿 사용 1 ejs란 embedded javascript의 약자로 html 문서 내에 자바스크립트 코드를 넣을 수 있게 해 줍니다. 위의 그림에서 를 통해 userid란 변수를 사용한 것 처럼 말입니다. 이 ejs를 통해 뷰를 구현.. 2021. 1. 11.
[Node.js] windows에서 노드 버전 변경 - downgrade/upgrade 사용해야되는 모듈이 현재 node 버전을 지원하지않아서 버전 downgrade를 해야됐습니다. linux나 mac 환경에서 노드 버전 관리 방법은 정리해주신 분들이 많았지만, 윈도우 환경에서 방법을 정리해주신 분은 없어서 작성합니다. 일단 노드 버전 관리를 위해 nvm을 사용하는데, 불행히도 윈도우 환경에선 작동하지 않았습니다. 그래서 검색한 결과 윈도우용 nvm을 제작하신분이 있었습니다. Releases · coreybutler/nvm-windows A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows github.com 먼저 위의 링크로 들어가 nvm-setup.zip을 받.. 2021. 1. 11.
[Node.js] 익스프레스에서 몽고디비 사용법 4 - 비밀번호 암호화 저번 몽고디비 사용법 3에 이어서 알아보겠습니다. 목표 암호화 과정 몽구스 스키마의 virtual 메소드 비밀번호 암호화하여 저장 암호화 과정 데이터베이스를 암호화 하여 저장하기 위해선 다음과 같은 절차가 필요합니다. 1. 사용자로부터 비밀번호를 받음 2. 암호화를 위한 salt 값을 생성함 3. 비밀번호를 암호화 함 4. 암호화한 비밀번호와 salt 값을 저장 암호화하기전 비밀번호를 받기위해 virtual 메소드를 사용합니다. 이를 사용하면 스키마에 가상으로 속성을 설정하여 값을 받을 수 있습니다. 그리고 virtual 메소드 내에서 받은 값을 암호화하여 데이터베이스에 저장할 수 있습니다. salt 값은 암호화를 위한 key입니다. 같은 비밀번호, 같은 salt를 encryptPassword 메소드에 .. 2021. 1. 8.
[Node.js] 익스프레스에서 몽고디비 사용법 3 - 몽구스로 DB 다루기 저번 몽고디비 사용법 2에 이어서 알아보겠습니다. 목표 몽구스와 스키마 몽구스로 DB 연결 및 모델 정의 몽구스로 DB 문서 추가와 조회 몽구스와 스키마 몽고디비는 한 컬렉션에 여러 문서를 저장하는데, 이 문서들의 속성이 제각각으로 저장할 수도 있습니다. 이렇게 되면 문서가 어떤 속성을 갖고있는지 알기 힘들기 때문에 데이터를 조회할 때 어려움이 생깁니다. 이 때문에 문서를 저장할 때 일정한 틀이 있어야하는데 이를 제공하는 대표적인 모델이 몽구스(mongoose)입니다. 그리고 이런 틀을 스키마(Schema)라고 합니다. 몽구스로 스키마를 정의하고, 이를 사용할 컬렉션과 매핑하기 위해 모델을 정의합니다. 그리고 이 모델을 통해 문서를 저장할 수 있습니다. 몽구스로 DB 연결 및 모델 정의 먼저 % npm .. 2021. 1. 7.