NestJS에 Exception filters를 추가합니다. Documentation | NestJS - A progressive Node.js frameworkNest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Readocs.nestjs.com 서론애플리케이션에서 발생하는 에러는 관련 정보를 포함하도록 ..
상속과 프로토타입 - JavaScript | MDN JavaScript는 동적 타입이고 정적 타입이 없기 때문에, (Java 또는 C++와 같은) 클래스 기반 언어에 경험이 있는 개발자에게는 약간 혼란스럽습니다. developer.mozilla.org 프로토타입(Prototype) 자바스크립트는 prototype 기반의 객체지향 프로그래밍 언어이다. 프로토타입의 직역은 '원형'입니다. 이름 그대로 프로토타입은 다른 객체로부터 상속을 받는 객체의 원형을 나타냅니다. 만들어진 객체는 또 다른 프로토타입으로 다른 객체의 원형으로 사용될 수 있죠. [[Prototype]] 자바스크립트의 모든 객체는 내부슬롯 [[Prototype]]을 가지는데요. 여기에는 해당 객체의 프로토타입에 대한 참조가 저장됩니다. 참조될..
Nest에서 스웨거를 사용하는 방법을 설명합니다. API 문서화 API 문서화란 API 사용 방법을 문서로 정리하는 것을 말합니다. 보통 엔드포인트와 HTTP 메서드, 요청 및 응답 형식, 인증 방법, 예시 등이 내용으로 들어갑니다. API 문서는 워드나 노션 이용해 개발자가 직접 수기로 작성할 수도 있고, 스웨거와 같은 도구를 이용할 수도 있습니다. 쉽게 말해 `'API 요청 주소는 여기고요. 요청 파라미터는 이런 것들이 있습니다. 이렇게 호출하면 이런 결과가 나와요~! ✋'` 와 같이 API 사용 설명서를 만드는 일이라고 할 수 있습니다. 공공데이터포털에서 예시를 쉽게 찾아볼 수 있습니다. 왜 필요한가요? API 사용자의 편의를 위해서 입니다! 사용자는 보통 프론트엔드 개발자나, 해당 API를 이용해..
아래글에서 이어지는 내용입니다. [JS] 자바스크립트가 데이터를 할당하는 방법 (feat. 불변성, 가변성) 도서 코어 자바스크립트를 내용 일부를 정리한 글입니다. 자바스크립트의 데이터 할당 과정과 변수의 불변성과 가변성에 대하여 자바스크립트의 타입 자바스크립트의 데이터 타입은 크게 원시 munak.tistory.com 서론 이전 글에서 원시값과 객체의 데이터 할당에 대해 작성했었습니다. 데이터 할당 과정이 다르니, 복사의 과정에도 차이가 발생하게 됩니다. 원시값(Primitive values)의 복사 아래 간단한 예시를 들어 보겠습니다. let name1 = 'Rimo' let name2 = name1 console.log(name1, name2) // Rimo, Rimo name1은 'Rimo'라는 ..
B-Tree와 B+Tree트리에 대하여 [DB] 인덱스(Index) 데이터 베이스 인덱스에 대하여 인덱스(Index)란? 인덱스는 데이터 베이스 레코드에 빠르게 접근하기 위해서 키와 값(포인터, 주소)의 쌍으로 구성되는 데이터 구조입니다. 데이터베이스를 책이 munak.tistory.com B+Tree는 리프 노드에만 데이터를 저장하고, 연결 리스트로 구성되어 있기에 범위 검색에 더 효율적입니다. 인덱스 관련한 글에서 B+Tree의 장점을 위와 같이 설명했었습니다. 왜 B-Tree에 비해 B+Tree가 더 범위 검색에 효율적인 걸까요? 이번글에서 정리해보려고 합니다. B-Tree B-Tree는 널리 쓰이는 인덱스 자료구조 중 하나입니다. B-Tree는 이진 트리를 확장한 형태로, 하나의 노드가 가질 수 ..
도서 코어 자바스크립트를 내용 일부를 정리한 글입니다. 자바스크립트의 데이터 할당 과정과 변수의 불변성과 가변성에 대하여 자바스크립트의 타입 자바스크립트의 데이터 타입은 크게 원시값과 객체, 이렇게 두 종류로 나눌수 있습니다. 원시 값(Primitive values) 다음과과 같은 종류가 있으며, 불변성을 가집니다. Number String Boolean Symbol Null Undefined BigInt 객체(Object) 참조형이라고도 하며, Object 하위 여러 타입이 속합니다. 가변성을 가집니다. Array Function RegExp Map Set WeakMap WeakSet 여기서 말하는 불변성과 가변성이 뭘까요? 아래에서 살펴보겠습니다. 원시 값(Primitive values)의 데이터 할..
아래글에 이어 작성되었습니다. [DB] 락(Lock)과 트랜잭션 아래 글에 이어 작성되었습니다. [DB] 트랜잭션(Transaction)과 트랜잭션 격리 수준(Isolation Level) 트랜잭션이란? 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 munak.tistory.com MySQL의 락에 대하여 MySQL의 락 MySQL은 내부적으로 다양한 컴포넌트와 엔진들의 조합으로 구성됩니다. 엔진은 크게 쿼리 처리 및 데이터베이스 관리를 위한 코어 엔진과, 데이터를 실제로 저장하고 관리하는 스토리지 엔진이 있습니다. 때문에 락도 MySQL 엔진 락과 MySQL 스토리지 엔진 락으로 나뉩니다. 이들은 서로 다른 레벨에서 동작하며 데이터베이스의 전반적인 동작 및 각 스토리지 ..
아래 글에 이어 작성되었습니다. [DB] 트랜잭션(Transaction)과 트랜잭션 격리 수준(Isolation Level) 트랜잭션이란? 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미합니다. 데이터베이스 munak.tistory.com 락과 트랜잭션에 대하여 락(Lock) 트랜잭션을 구현하기 위해 대부분*의 데이터베이스 관리 시스템(DBMS)은 락을 사용합니다. 락은 데이터베이스의 일관성과 무결성을 보장하기 위한 중요한 메커니즘 중 하나입니다. 데이터베이스의 SQL도 여타 다른 프로그래밍 언어와 같이 변수를 설정하고 명령어를 실행할 수 있습니다. 이때, 특정 변수에 대해서 다른 명령어들이 접근할 수 없게..