
오류 이유 - prisma/schema.prisma 파일에서 datasource 블록이 없기 때문에 발생해결방법 - schema.prisma에 datasource 추가// schema.prisma// 1️⃣ 데이터베이스 연결 설정datasource db { provider = "postgresql" // PostgreSQL 사용 (프로젝트에 맞게 설정) url = env("DATABASE_URL") // .env 파일에서 DB URL 가져오기}// 2️⃣ Prisma 클라이언트 생성 설정generator client { provider = "prisma-client-js"}// 3️⃣ 모델 입력model Post { id Int @id @default(autoi..
REST 제약조건REST(Representational State Transfer) : 표현된 자원의 상태를 주고 받는 방법을 정리한 아키텍처 스타일Client-Server(클라이언트-서버) : API를 통해 정보를 교환하는 주체는 클-서 구조를 가져야 함 | 클라이언트와 서버 분리를 통해 서로 의존하지 않는 구조를 가져야 함Stateless(무상태성) : 클라이언트는 상태를 저장하지 않는다 | 클라이언트의 각 리퀘스트는 서버가 리퀘스트를 이해하는데 필요한 모든 정보를 포함해야 함Cache(캐시) : 데이터 복사본을 임시 저장 위치에 저장해 보다 빠르게 액세스할 수 있도록 하는 프로세스인 캐싱을 통해 네트워크 효율성을 높임 | 리퀘스트에 대한 리스폰스에 캐시 가능 및 불가능 여부가 들어 있어야 함Unif..
MVC 패턴(Model-View-Controller) : 각각의 역할과 관심사를 분리함으로써 모델, 뷰, 컨트롤러가 독립적으로 작동하도록 하는 것이 목적모델은 DB와 상호작용 및 비즈니스 로직 관리, 뷰는 레이아웃과 화면처리, 컨트롤러는 모델과 뷰로 명령을 전달하는 역할을 함서비스(Service): 비즈니스 로직을 서비스로 분리해 모델이 DB라는 하나의 역할만 할 수 있도록 도와줌 | 서비스를 사용함으로서 여러 부분에서 사용되는 기능을 서비스를 통해 중복 제거 가능, 모델-컨트롤러간 결합을 낮추고, 각 부분이 완전히 독립적으로 확장이 가능해짐키 파생함수(Key Derivation Function)키 스트레칭(Key Streching) : salt와 PW를 같이 해싱해 다이제스트(digest, 해시 알고리..
접근 권한 위임과 OAuth 접근 권한 위임 : 한 서비스가 다른 서비스에 있는 보호된 리소스에 대한 접근 권한을 위임하거나 받는 기능OAuth(Open Authorizatino) : 개방형 접근 권한 위임 표준(인증 X)OAuth 주체와 설정주체) 유저 - BE - FE - 인가 서버 - 리소스 서버Scope) 인가 서버로부터 넘겨 받으려는 권한의 범위 OAuth 워크플로우워크플로우 : 특정 목표를 이루기 위한 작업 흐름OAuth 워크플로우 : 접근 권한을 특정 방식으로 주고 받기 위해서 각 주체들이 해야되는 작업들과 그 순서OAuth : 유저의 이메일, 비밀번호 같은 민감정보를 직접적으로 넘겨주지 않고 다른 서비스에 있는 보호된 리소스에 접근하게 해주는 프로토콜OpenID Connect(OIDC) :..