formulous

주니어 개발자의 개발 지식 공유 블로그입니다.

typescript 5

[TypeScript] Type 스크립트의 기본형에 대해 알아봅시다.

안녕하세요. 오늘은 typescript 8가지 기본 타입에 대해 알아보겠습니다. 오늘 포스팅은 여기를 참고하여 만들어졌습니다. 필요한 타입 개념에 대해 알아가실 수 있길 바랍니다. 1. 불리언 (Boolean) true / false 값을 나타냅니다. 아래와 같이 변수를 선언할 수 있습니다. let isConnected: boolean = false; 2. 숫자 (Number) TypeScript의 모든 숫자는 부동 소수 값입니다. TypeScript에서는 2진수, 8진수, 10진수, 16진수를 제공합니다. let decimal: number = 10; let hex: number = 0xf00d; let binary: number = 0b1010; let octal: number = 0o744; 3. ..

JS & TS 2023.03.14

[nestjs] module에서 선언하는 provider, 대체 뭘까요?

안녕하세요. 오늘은 저 포함 많은 분들이 정확한 개념을 가지고 있지 않은 채로 사용하고 있는 provider에 대해서 알아봅시다. 업무 중에 있었던 일입니다. 어떤 스크립트에서든 사용할 수 있도록 만든 utils에 포함된 sqliteUtil 클래스를 provider에 선언해주고 의존성 주입을 통해 사용한 적이 있었는데요. 그때 당시 코드 리뷰에서 온 "util을 왜 provider에 썼어요?"라는 질문에 전혀 답변하지 못했던 아쉬운 기억이 있습니다. provider에 대한 기본 개념이 부족했기 때문에 그렇게 작성했을테고, 그 이유 따윈 없었으니까요.. (이렇게 개발하시면 안 됩니다..) 모든 코드에는 나름의 이유가 있어야 되는 법입니다. provider [공급자]에 대해서 몰랐기 때문에 한 잘못을 pro..

NestJS 2022.12.13

[nestjs] URL 유효성 검사를 Middleware 에서 하는 방법

안녕하세요. 오늘은 API 요청이 왔을 때 request의 URL 유효성 검사를 Middleware에서 하는 방법을 알아보겠습니다. 이번 업무 중에 제 프로젝트 관련한 요청받은 것이 하나 있었습니다. 그것은 바로 '유효성 검사를 Middleware 단에서 처리하도록 정리해달라' 에요. 서비스 단이나 컨트롤러 단에 여기저기 흩뿌려져 있던 유효성 검사 코드가 지저분해 보였던 것이죠... 여차저차 코드 정리를 마무리하던 와중 제 기준 머리 아픈 문제가 발생했는데요. 그것은 바로 다른 유효성 검증과 다르게 API 요청으로 들어온 URL의 유효성은 어떻게 middleware에서 구현하느냐입니다. 여기서 제가 발견한 해결책은 Guard의 canActivate() function에서 request 정보에 들어있는 U..

NestJS 2022.12.06

[javascript] Java Script 의 비동기 처리에 대해 알아봅시다

안녕하세요. javascript 를 사용해보신 분이라면 거의 대부분의 사람들이 익숙하지 않고 어려움을 겪는 건 역시 비동기 처리일텐데요. 오늘은 악명 높은 Promise와 async, await을 사용한 비동기 처리에 대해 간단히 정리해보는 시간을 가져봅시다. async와 await javascript의 asycn, await은 예상외로 이해하기 쉽고 사용법도 어렵지 않습니다. 우선은 async 키워드입니다. async는 function 앞에 위치하도록 작성하게 됩니다. async function add(a, b) { return a + b; } function 앞에 async를 붙이면 해당 함수는 항상 Promise를 반환하게 됩니다. 명시적으로 Promise를 작성하지 않아도, Promise가 아닌 ..

JS & TS 2022.12.05

[javascript] 배열 비구조화 할당에 대해 아시나요?

안녕하세요. 오늘은 업무 중에 배열 비구조화 할당이라는 좋은 기능을 알게 되어 소개하고자 합니다. 배열 비구조화 할당이란, 공식적인 표현으로는 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식입니다. 쉽게 말하자면, 배열의 내용을 한번에 여러 개의 변수에 할당시키는 편리한 방법이라고 생각하시면 됩니다. 예시를 한번 볼까요? let a, b, rest; [a, b] = [10, 20]; console.log(a); // expected output: 10 console.log(b); // expected output: 20 [a, b, ...rest] = [10, 20, 30, 40, 50]; console.log(rest); // expected outp..

JS & TS 2022.12.05