아래 글에 이어서 작성되었습니다. [TS] Greater Than 타입 구현해보기 - 1 타입 챌린지 Greater Than에 도전합니다. type-challenges/questions/04425-medium-greater-than/README.md at main · type-challenges/type-challenges Collection of TypeScript type challenges with online judge - type-challenges/type-challenges github.c munak.tistory.com 서론 이전글에서 배열을 이용해 Greater Than 타입을 구현했었습니다. 하지만 기본적으로 타입스크립트에서는 너무 많은 재귀가 발생하는 것을 막고 있기 때문에 999까지..
타입 챌린지 Greater Than에 도전합니다. type-challenges/questions/04425-medium-greater-than/README.md at main · type-challenges/type-challenges Collection of TypeScript type challenges with online judge - type-challenges/type-challenges github.com 서론 타입 GreaterThan를 구현하는 문제입니다. 문제는 간단합니다. number인 T와 U를 입력받고, `T가 U보다 큰 경우 true를 반환`하면 됩니다. `T와 U가 같거나 작은 경우에는 false를 반환`하고, 음수의 경우는 생각하지 않습니다. 타입시스템에서는 연산자를 사용할 ..
로깅과 NestJS 인터셉터에 대하여응답 및 요청 Logging Interceptor 추가하기 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 로깅(Logging)로깅은 ..
extends와 implements의 차이에 대하여 서론 extends는 자바스크립트, 타입스크립트에서 어떠한 클래스를 상속 받기 위해 사용하는 키워드입니다. implements는 타입스크립트에서 인터페이스를 구하기 위해 사용하는 키워드입니다. extends extends 키워드는 어떠한 class의 하위 클래스를 생성할 때 사용합니다. (관련문서) 클래스 간의 상속을 구현하기 위해 사용합니다. `class A extends B { ... }`는 클래스 A가 클래스 B의 모든 멤버(메서드, 속성 등)를 상속받는다는 것을 의미합니다. 단일 상속만 허용되므로 한 클래스는 여러 클래스를 동시에 확장할 수 없습니다. 내장 객체 및 사용자 정의 클래스의 하위 클래스를 만드는 데에 사용됩니다. implements ..
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 서론애플리케이션에서 발생하는 에러는 관련 정보를 포함하도록 ..
Nest에서 스웨거를 사용하는 방법을 설명합니다. API 문서화 API 문서화란 API 사용 방법을 문서로 정리하는 것을 말합니다. 보통 엔드포인트와 HTTP 메서드, 요청 및 응답 형식, 인증 방법, 예시 등이 내용으로 들어갑니다. API 문서는 워드나 노션 이용해 개발자가 직접 수기로 작성할 수도 있고, 스웨거와 같은 도구를 이용할 수도 있습니다. 쉽게 말해 `'API 요청 주소는 여기고요. 요청 파라미터는 이런 것들이 있습니다. 이렇게 호출하면 이런 결과가 나와요~! ✋'` 와 같이 API 사용 설명서를 만드는 일이라고 할 수 있습니다. 공공데이터포털에서 예시를 쉽게 찾아볼 수 있습니다. 왜 필요한가요? API 사용자의 편의를 위해서 입니다! 사용자는 보통 프론트엔드 개발자나, 해당 API를 이용해..
아래 글에서 Split 타입 구현도 살펴볼 수 있습니다! [TS] 타입이 추론되는 String.prototype.split - 1 [TS] 타입이 추론되는 String.prototype.split - 2 DeepMerge 타입을 구현합니다. 서론 이번 글에서는 두 인터페이스를 합성하여 하나의 인터페이스로 만들어 주는 DeepMerge 타입을 만들어 보려고 합니다. 음...단순히 인터섹션(&)을 이용하면 되는 것 아닌가요? 🤔 type DeepMerge = T & P; 물론 인터섹션 타입을 이용하면 두 객체를 병합할 수 있습니다. // 인터섹션 타입을 이용해 두 객체를 병합할 수 있지만 type DeepMerge = T & P; type Example = DeepMerge; const e1: Example..
아래글에 이어 작성되었습니다. [TS] 타입이 추론되는 String.prototype.split - 1 글을 읽으시면서 모르는 개념이 나오더라도 바로바로 따라 해 볼 수 있게 작성하였습니다. TS가 처음이시라면 아래 글들이 이해에 도움이 될 것 같습니다.⭐ [TS] TypeScript 시작하기 [TS] TypeScript의 munak.tistory.com Split 타입에 파라미터 limit를 추가합니다. limit String.prototype.split는 optional parameter로 limit를 전달할 수 있습니다. /** * Split a string into substrings using the specified separator and return them as an array. *@pa..