[TIL] 20240703 - 웹 기반 문서 편집기 제작 프로젝트(2)

jini·2024년 7월 3일
0

TIL

목록 보기
38/48

🧊 소프트웨어 구조 설계서

구조 설계서(Architecture Design Specification)

  • 소프트웨어의 구조 설계를 기술하고 정의하는 문서
  • 소프트웨어 개발 과정에서 중요한 기준

🧊 BE 패키지 구조

디렉토리 : /src

  • index.ts, app.ts : 앱 진입점 파일

  • settings.ts : 환경변수 및 각종 설정 변수

  • routes/ : 라우트 함수 모음

  • models/ : 모델 클래스 모음

  • utils/ : 유틸리티 함수 및 유틸리티 객체 모음

  • middlewares/ : 미들웨어 함수 모음


🧊 개발 환경 셋업

순서

  • 프로젝트 디렉토리 생성

  • 기본 패키지 설치

  • 프로젝트 기본 설정

  • 환경 설정

  • 응용 기본 구조 구현

프로젝트 디렉토리 초기화

mkdir backend
cd backend
npm init -y



🧊 사용자 인증 및 정보의 보호

사용자 인증 (User Authentication)

인증 정보 (credentials)를 제출하도록 하여 유효한 사용자인지를 확인하는 절차

사용자 인가 (User Authorization)

특정 자원에 접근하고자 하는 사용자가 이 자원에 대한 권한을 가지고 있는지를 확인하는 절차

CORS (Cross-Origin Resource Sharing) 정책

정해진 URL 로부터 서비스된 FE 코드에 의한 요청만을 허용하는 정책


🧊 node.bcrypt.js

비밀번호를 해시하는 기능을 제공

bcrypt.hash(myPlaintextPassword, saltRounds, function(err, hash) {
  // Store hash in your password DB.
});

// Load hash from your password DB.
bcrypt.compare(myPlaintextPassword, hash, function(err, result) {
  // result == true
});

bcrypt.compare(someOtherPlaintextPassword, hash, function(err, result) {
  // result == false
});

0개의 댓글