본문 바로가기
  • optimuslee

TypeScript5

[Nestjs] 4-2. DI(Dependency Injection)?? 의존성 주입?? 오늘은 의존성 주입에 대해 한번 자세히 알아보도록 하겠습니다. 간단히 언급을 하며 넘어간 적은 있었지만 구체적으로 설명한 적은 없었습니다. (이번에 설명하려고 그랬어요 ㅎ...) 의존성이라는 단어도 알고 주입이라는 단어도 알고 있지만 두 단어를 합쳐놓이니 무슨 말인지 모르겠습니다 ㅎ. 📢의존성 주입이란 하나의 객체가 다른 객체의 의존성을 제공하는 기술을 일컫는 말입니다. 더 쉽게 말하면 미리 만들어 놓은 객체를 불러와서 사용하는 것입니다. 아래 코드를 예시로 설명하겠습니다. class Animal{ private cat: Cat; getCrying():string{ this.cat=new Cat() return this.cat.Meow() } } class Cat{ crying(): string{ ret.. 2022. 4. 21.
[Nestjs] 2-2. TypeScript와 함수 오늘은 TypeScript를 이용하여 기본적으로 함수를 선언하고 사용하는 방법에 대해 알아보도록 하겠습니다. 기본에 javascript로 함수를 만들어 본 경험이 있다면 크게 어렵지는 않을 것입니다. ㅎㅎ function add(a, b){//자바스크립트 선언 방식 return a+b; } function add(a: number, b:number) :number{//타입스크립트 방식 return a+b; } 위의 2함수를 비교해보면 알 수 있듯이, 매개변수와 함수의 반환 값에 타입을 설정한 것을 알 수 있습니다. 이렇게 타입스크립트로 함수를 만들 때는 입력되는 값과 출력되는 값에 올바른 타입을 설정해주면 됩니다. 함수의 인자가 2개 선언되었다면 함수를 사용할 때 2개의 변수를 넣어주어야 합니다. 그렇지.. 2022. 3. 26.
[Nestjs] 2-1. TypeScript와 각종 타입 javascript는 런타임 언어이기에 실제로 코드를 돌려보기 전까지 디버깅이 되지 않습니다. 이런 점에 불편함을 느껴 탄생한 언어가 Typescript입니다. 코드를 돌리 전에도 컴파일이 된 상태이기에 에러에 대한 내용을 바로 알려 줍니다. 물론 javascript를 여태까지 사용한 개발자들에게는 약간 어색할 수는 있지만 Nestjs는 기본적으로 Typescript를 기본 언어로 채택하고 있기에 Nestjs의 장점을 최대한 활용하기 위해서 우리는 Typescript의 기본 문법에 대해 먼저 알고 있어야 합니다. Typescript는 마이크로소프트에서 개발한 언어입니다. javascript는 타입이 없지만 Typescript는 말 그대로 특정한 타입을 지정할 수 있습니다. 또한 위에서 언급했다시피, 런타.. 2022. 3. 26.
[Nestjs] 2. Nestjs를 배우기 전에... 1장에서 nestjs라는 프레임워크에 대한 간단한 소개와 설치 및 사용법에 대해 알아보았습니다. 저도 빨리 nestjs를 다뤄보고 싶지만 이번 2장에서는 nestjs를 다루기 전에 알아야 할 요소나 용어들에 대해 알아보고 넘어가도록 하겠습니다. 이전에 Express나 Typescript를 다뤄보신 분이라면 그냥 쓱~~ 넘어가도 좋을 것 같습니다. 2022. 3. 20.
[Nestjs] 1-1. Nestjs에 대하여... Nestjs는 Node.js에 기반을 둔 웹 API 프레임워크이며 Express를 사용하지만 Fastify와 같은 다양한 라이브러리와 같이 사용할 수 있습니다. TypeScript를 기반으로 구축되며 OOP(Object Oriented Programming), FP(Functional programming), FRP(Functional Reactive Programming) 요소를 결합하여 사용합니다. 또한 Node.js의 장점을 그대로 유지하며 시스템의 구조를 잡기 수월하게 만들었습니다. 기존의 Node.js는 유연한 라이브러리로 확장적인면에서 긍정적인 평가를 받았습니다. 하지만 라이브러리를 찾기 위해 개발자들이 많은 시간을 할애해야 했습니다. 그러나 nestjs는 프레임워크 내부에 여러 기능들을 미리.. 2022. 3. 20.