본문 바로가기

Express21

[O'REILLY] Node & Express - 4장 : 디렉터리와 버전 관리 1. 파일과 디렉터리 구조 - 프로젝트 경로의 파일 숫자는 가급적 줄이는 편이 좋다. - 일반적으로 package.json, README.md 디렉터리 이정도 - 소스 코드는 대부분 src에 보관하지만, 간결함을 위해 여기서는 그렇게 하지 않는다. - 어떻게 디렉터리와 애플리케이션을 설계했는지에 따라 README.md 에 마크다운언어로 기록해두면 좋다. - 관습적으로 정해진 것들이 있지만, 애플리케이션의 성격에 따라 효율적으로 관리하는게 근본이다. - App의 DataStructure나 API의 흐름도와는 다를 수도 있다. 다만 그 흐름을 잘 이해할 수 있게 설계하는 것이 중요하다. 나는 이렇게 쓴다. Root backend frontend 2. 버전 관리 - 장점 : 1) 문서화 : 프로젝트의 역사 기.. 2023. 3. 10.
[O'REILLY] Node & Express - 3장 : Express 1. 스캐폴딩 - 스캐폴딩(비계, 발판) 이란 루비에서 도입한 개념이다. 프로젝트의 뼈대를 미리 만들어두고, 새 프로젝트를 시작할 때마다 뼈대(템플릿)를 복사하면 된다는 아이디어이다. - 익스프레스는 스캐폴드를 생성하는 유틸리티를 제공한다. - 단, 익스프레스의 스캐폴딩 유틸리티는 서버사이드에서 HTML을 생성하는 방향에 치중해있고, API나 단일페이지 App에는 큰 도움이 되지 않는다. - express-generator 문서에서 확인할 수 있다. 2. 메도라크 여행사 웹사이트 - 이 책에서는 가상의 회사 메도라크 여행사의 웹사이트를 예제로 사용한다. 3. 초기 단계 - 설치 : 터미널에 npm init -y 입력. - package.json 의 entry point(main) : 'meadowlark.. 2023. 3. 7.
[앱삼] 7. (backend) feature/signUp - userData 받아서 저장하기 auth.js const User = require('../models/User'); const bcrypt = require('bcrypt'); const { logEvents } = require('../middleware/logger'); // 해시함수로 암호화하여 스키마 생성 후 저장하는 함수 const createUserData = async ({id, ps, name, email, aors})=>{ try{ const encryptedPS = await bcrypt.hash(ps[0].toString(),10) const user = new User({id:id[0], ps:encryptedPS, name : name[0], email : email[0], aors: aors[0]}); //s.. 2023. 3. 6.
[O'REILLY] Node & Express - 2장 : NodeJS 시작하기 1. 기본지식 - 노드 : nodejs 패키지를 설치할 수 있다. - 터미널 : 터미널을 켜고 끌 수 있으며, cd, npm 등을 활용 할 수 있다. - IDE : 객기 말고 돈 없으면 VScode 쓰자. - npm : 노드 패키지를 위한 패키지 매니저. npm install, -g, -D 등의 옵션과 기본 명령어를 알고 있다. 2. 노드로 만드는 단순한 웹서버 - 웹 서버는 파일이 컴퓨터 어디에 있는지 확인하고 브라우저(클라이언트)에 그 파일을 전송한다. - 노드는 전통적인 웹 서버와는 다른 패러다임을 제시한다. 노드에서는 앱이 곧 웹서버이다. - 이벤트 주도 프로그래밍 : 노드의 배경이 되는 철학이다. 어떤 이벤트가 일어날지, 그 이벤트에 어떻게 반응해야 할지 프로그래머가 이해해야 한다. UI의 클릭.. 2023. 3. 6.
[O'REILLY] Node & Express - 1장 : EXPRESS에 대하여 2021.05.01. 발행된 오라일리 노드&익스프레스 교과서를 핵심정리하고 복습하기 위한 포스팅이다. 1. 익스프레스 소개와 특징 - 익스프레스는 '웹과 모바일 앱에 빈틈없는 기능을 제공하는, 최소화되고 유연한 노드 웹 어플리케이션 프레임워크' 이다. - 자바스크립트(언어)를 기반으로하는 V8엔진(런타임)을 기반으로하는 NodeJS(서버용런타임)를 기반으로하는 프레임워크가 Express이다. - 특징 1) 최소화 : 유용한 기능을 제공하되, 최소한의 프레임워크를 제공하고, 익스프레스의 기능 중 필요한 것만 추가하고 필요하지 않다면 제거할 수 있도록 도와준다. 2) 유연성 : HTTP요청을 받고, HTTP응답을 반환하는 서버의 궁극적이고 근본적인 역할에 충실한다. 3) 웹 앱 프레임워크 : 익스프레스는 웹.. 2023. 3. 6.