본문 바로가기

분류 전체보기59

트랜잭션과 격리 수준 완벽 가이드 목차트랜잭션 기초ACID 속성트랜잭션 격리 수준격리 수준에 따른 문제점실전 예제성능과 격리 수준모범 사례트랜잭션 기초트랜잭션이란?트랜잭션은 데이터베이스의 상태를 변화시키는 하나의 논리적 작업 단위입니다. 예를 들어, 계좌 이체는 출금과 입금이라는 두 개의 작업이 하나의 트랜잭션으로 처리되어야 합니다.기본 예제-- 계좌 이체 트랜잭션START TRANSACTION;UPDATE accounts SET balance = balance - 1000 WHERE account_id = 'A';UPDATE accounts SET balance = balance + 1000 WHERE account_id = 'B';COMMIT;ACID 속성1. Atomicity (원자성)START TRANSACTION;UPDATE a.. CS 2024. 11. 12.
TypeORM vs Prisma: Node.js ORM 심층 비교 목차개요기본 개념 비교스키마 정의 방식타입 안정성쿼리 작성 방식성능 비교실제 사용 예제장단점 분석개요TypeORM과 Prisma는 Node.js 생태계에서 가장 인기 있는 ORM(Object-Relational Mapping) 도구입니다. 각각의 특징과 차이점을 살펴보고, 프로젝트 상황에 맞는 선택을 할 수 있도록 도와드리겠습니다.기본 개념 비교TypeORM전통적인 ORM 패턴 따름Active Record 또는 Data Mapper 패턴 선택 가능데코레이터 기반의 스키마 정의JavaScript/TypeScript로 작성된 코드베이스Prisma새로운 접근 방식의 차세대 ORM독자적인 스키마 정의 언어(Prisma Schema)강력한 타입 안정성자동 생성되는 타입-세이프 클라이언트스키마 정의 방식TypeOR.. JavaScript/ORM 2024. 11. 11.
NestJS로 구현하는 게시판 API 실전 가이드 목차프로젝트 구조도메인 모델 설계API 엔드포인트 구현유효성 검증에러 처리테스트프로젝트 구조src/boards/├── constants/│ └── board.constants.ts # 상수 정의├── dto/│ └── create-board.dto.ts # DTO 클래스├── pipes/│ └── board-status-validation.pipe.ts # 커스텀 파이프├── board.model.ts # 도메인 모델├── boards.controller.ts # 컨트롤러├── boards.service.ts # 서비스└── boards.module.ts # 모듈도메인 모델 설계게시글 모델 정의// board.model.tsexport .. JavaScript/NestJs 2024. 11. 11.
NestJS CLI 인식 문제 해결하기: PATH 설정 가이드 목차문제 상황원인 분석해결 방법운영체제별 추가 설정문제 해결 검증자주 발생하는 다른 문제들문제 상황NestJS CLI를 전역으로 설치했음에도 불구하고 터미널에서 nest 명령어를 인식하지 못하는 문제가 발생합니다.$ npm install -g @nestjs/cli$ nest new my-projectzsh: command not found: nest원인 분석이 문제는 주로 npm의 전역 설치 경로가 시스템의 PATH 환경변수에 제대로 등록되지 않아서 발생합니다. npm이 패키지를 전역으로 설치하는 위치를 시스템이 인식하지 못하는 것입니다.npm 전역 설치 경로 확인먼저 npm이 패키지를 전역으로 설치하는 위치를 확인해야 합니다:$ npm config get prefix/usr/local # 또는 다른 .. JavaScript/NestJs 2024. 11. 10.
NestJS 시작하기: 실전 입문 가이드 NestJS 시작하기: 실전 입문 가이드목차NestJS란?개발 환경 설정프로젝트 구조핵심 개념 이해하기실전 예제: REST API 만들기테스트 작성하기실무 적용 팁NestJS란?NestJS는 Node.js의 효율적인 서버 애플리케이션 구축을 위한 프레임워크입니다. Angular에서 영감을 받아 TypeScript를 기본으로 사용하며, OOP(객체지향 프로그래밍), FP(함수형 프로그래밍), FRP(함수형 반응형 프로그래밍)의 요소들을 포함하고 있습니다.주요 특징TypeScript 기반의 타입 안정성의존성 주입을 통한 느슨한 결합모듈화된 아키텍처Express/Fastify 호환성풍부한 CLI 도구 지원개발 환경 설정필수 도구 설치# Node.js 설치 (14.x 이상)$ node --versionv16.x.. JavaScript/NestJs 2024. 11. 9.