
ORM? SQL을 직접 사용하는 대신, JS를 통해 쿼리를 만들고, 실행하고 객체를 통해 DB에 접근할 수 있도록 도와주는 라이브러리Migration 파일들이 깃을 통해 같이 관리되어 나중에 테이블 변경사항을 한 눈에 보기 폏남스키마 파일만 작성해도 테이블 자동 생성/반영되므로 개발하기 편리함 Prisma : 직관적으로 다양한 쿼리를 사용할 수 있는 ORM 라이브러리... 현재 가장 많이 사용되는 ORM 중 하나깃허브 : GitHub - prisma/prisma: Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB공식문서 : Prisma | Si..
환경변수 : 운영체제나 프로그램이 동작할 때 참고하는 외부 설정 값 | 민감 정보 보호 및 환경 마다 다른 설정을 쉽게 바꾸기 위해 사용 보통 .env 파일에 서버 정보, 비밀값들을 넣음깃(허브)에 업로드를 하면 안되니까 같은 디렉토리 안에 .gitignore 파일을 만들어서 아래와 같은 내용 추가# 환경변수.env.env.*# 의존성node_modules/ import dotenv from "dotenv";dotenv : .env 파일로부터 환경 변수를 읽어들이고, 이를 process.env. 객체를 통해 접근할 수 있도록 하는 역할API 코드 구현Controller : 라우팅 관련 코드 | 클라이언트의 요청을 받아 서비스에 전달DTO : 입력 데이터를 정형화된 형태로 파싱, 검증하여 전달하는 역할S..
MVC 패턴(Model-View-Controller) : 각각의 역할과 관심사를 분리함으로써 모델, 뷰, 컨트롤러가 독립적으로 작동하도록 하는 것이 목적모델은 DB와 상호작용 및 비즈니스 로직 관리, 뷰는 레이아웃과 화면처리, 컨트롤러는 모델과 뷰로 명령을 전달하는 역할을 함서비스(Service): 비즈니스 로직을 서비스로 분리해 모델이 DB라는 하나의 역할만 할 수 있도록 도와줌 | 서비스를 사용함으로서 여러 부분에서 사용되는 기능을 서비스를 통해 중복 제거 가능, 모델-컨트롤러간 결합을 낮추고, 각 부분이 완전히 독립적으로 확장이 가능해짐키 파생함수(Key Derivation Function)키 스트레칭(Key Streching) : salt와 PW를 같이 해싱해 다이제스트(digest, 해시 알고리..

파일과 multipart/form-data각각의 데이터 타입 그대로 전송됨 | 파일의 경우, 별도의 변환 과정을 거치지 않기에 파일 전송에 주로 사용웹 페이지에서 폼을 만들 때, multipart/form-data를 설정해 놓으면 브라우저에서 알아서 처리참고문헌: https://developer.mozilla.org/ko/docs/Web/HTTP/MIME_types#multipartform-data MIME 타입 (IANA 미디어 타입) - HTTP | MDN미디어 타입 (Multipurpose Internet Mail Extensions 또는 MIME type로도 알려져 있음)이란 문서, 파일 또는 바이트 집합의 성격과 형식을 나타냅니다. MIME 타입은 IETF의 RFC 6838에 정의 및 표준화되어..