JavaScript/node.js6 Sequelize paranoid(삭제-복구) Paranoid sequelize 의 paranoid 는 컴퓨터의 휴지통 개념처럼 데이터를 완전히 삭제하는게 아닌 삭제 후 복구가 가능하도록 새로운 필드 속 넣어 두는 것이다. models 설정 'use strict'; const { Model } = require('sequelize'); module.exports = (sequelize, DataTypes) => { class Posts extends Model { /** * Helper method for defining associations. * This method is not a part of Sequelize lifecycle. * The `models/index` file will call this method automatically. .. 2022. 12. 24. 컨트롤러(Controller) 컨트롤러 컨트롤러는 클라이언트의 요청을 처리한 후 서버에서 처리된 결과를 반환해주는 역할을 한다. 클라이언트의 요청을 수신하고, 요청에서 들어온 데이터 및 내용을 검증한 뒤 서버에서 수행된 결과를 클라이언트에 반환한다. 프레젠테이션 계층(Presentation Layer) 프레젠테이션 계층은 대표적으로 컨트롤러로 사용된다. 사용자가 서버에 요청을 하게 되면 가장 먼저 만나게 되는 계층이다. 하위 계층(서비스 계층, 저장소 계층) 에서 발생하는 예외(Exception)를 처리한다. 클라이언트가 전달된 데이터에 대해 유효성을 검증하는 기능을 수행한다. 클라이언트의 요청을 처리한 후 서버에서 처리된 결과를 반환한다. Express 에서의 컨트롤러 클라이언트의 요청을 받음 요청에 대한 처리는 서비스에 전달 클라.. 2022. 12. 10. 아키텍쳐 패턴(Architecture Pattern) 아키텍쳐 패턴 소프트웨어의 구조를 구성하기 위한 가장 기본적인 토대 각각의 시스템들과 그 역할이 정의 되어 있고, 여러 시스템 사이의 관계와 규칙 등이 포함되어 있다. 검증된 구조로 개발을 진행하기 때문에 안정적인 개발이 가능하다. 아키텍쳐 패턴을 도입할 경우 도메인이 복잡할스록 모델이나 코드를 더 쉽게 변경할 수 있다. 대표적인 아키텍쳐 패턴 저장소 패턴 영속적인 저장소에 대한 추상화 서비스 계층 패턴 유스 케이스(Usecase)의 시작과 끝을 명확하게 정의하기 위한 패턴 작업 단위 패턴 원자적 연산을 제공 애그리게이트 패턴 데이터 정합성을 강화하기 위한 패턴 아키텍쳐 패턴을 도입하기 전 아키텍쳐 패턴이 주는 이익과 비용에 대해 확실한 이유가 있어야 한다. 해당하는 패턴을 채택했을 때 어떤 장단점이 있.. 2022. 12. 10. JWT JWT, json web token JWT 란 json 형식으로 사용자의 정보를 복호화가 가능한 암호로 암호화 하는 토큰이다. JWT는 토큰 자체를 정보로 사용하는 방식으로 안전하게 전달한다. JWT가 동작하는 과정은 애플리케이션이 실행될 때 JWT를 static(정적) 변수와 로컬스토리지에 저장하게 된다. 정적 변수에 저장하는 이유는 매번 http 헤더에 담아 보내지 않고, 로컬스토리지에서 불러오게 된다면 오버헤드가 발생하기 때문이다. 클라이언트에서 JWT 를 포함해 요청을 보내면 서버는 허가된 JWT인지를 검사고, 로그아웃을 할 경우 로컬 스토리지에 저장된 JWT 를 제거한다. JWT의 구조 JWT는 Header, Payload, Signature로 이루어져 있고, 각각의 구분자는 . 으로 구분한다... 2022. 12. 8. 이전 1 2 다음 반응형