타입스크립트 유데미 강의 후기

문지은·2024년 3월 3일
1

글또에서 듣게 된 강의 중 타입스크립트 관련 강의를 듣게 되어 해당 강의에 대한 후기를 나눠볼까 한다. 강의 제목은 'Typescript :기초부터 실전형 프로젝트까지 with React + NodeJS'으로 타입스크립트의 기초를 알려주는 강의다. (강의 링크)

강의 후기

먼저 강의 후기를 말하기 전에 내가 어떤 배경 지식을 가지고 있는 사람인지 설명하자면 백엔드 개발자이고 프론트는 거의 모른다고 봐도 무방할 정도의 지식을 가지고 있다. 회사에서 어드민을 만들 때 Vue.js를 사용하긴 하지만 그것도 안다고 작업한다고 하기엔 어색한 수준이다. 그렇기에 이 강의를 신청하게 되었다. 주먹구구식으로 프론트 개발을 하던 내가 이제 내가 무엇을 하는지 알고 프론트 개발을 하는 사람이 되기 위해서!
그 관점에서 이 강의 후기는 내가 원했던 내용과는 사실 거리가 좀 멀었다. 나는 Node의 동작 원리도 제대로 모르는 사람으로써 프론트 서버가 돌아가는 기반에 대해서 알고 이 부분에서 이 모듈이 왜 필요한지, 패키지 구조는 왜 이렇게 되어 있는건지와 같은 더 근원적이고 개념적인 내용을 원했었다. 하지만 해당 강의는 좀 더 실무 중심적인 강의라고 할 수 있다. 내가 앞서 말한 아쉬운 점이 있긴 했지만 강의에 나온 내용을 바로 실무에서 사용할 수 있고 프로젝트까지 강의에서 진행할 수 있다는 점이 좋은 것 같다.

인상 깊었던 내용

Decorator

TypeScript에는 Decorator 라는 개념이 존재한다. Decorator를 사용하면 클래스나 클래스 멤버에 어노테이션을 달아서 함수를 적용할 수 있다. 이를 사용하려면 tsconfig.json에서 experimentDecorators 컴파일러 옵션을 활성화해야 한다.
TypeScript 공식 문서에서 관련 코드를 가져와서 설명을 하자면 아래와 같다.

  • Decorators
function sealed(constructor: Function) {
  Object.seal(constructor);
  Object.seal(constructor.prototype);
}

@sealed
class BugReport {
  type = "report";
  title: string;
 
  constructor(t: string) {
    this.title = t;
  }
}

- Decorator Factories

function color(value: string) { // 데코레이터 팩토리
    return function (target) { // 데코레이터
        // 'target'과 'value' 변수를 가지고 무언가를 수행합니다.
  };
}

Decorator Factories를 이용해서 Decorator Functions를 커스텀하거나 생성할 수 있다. 강의에서는 어노테이션을 단 객체에 bind하는 Decorator Function을 만들어서 사용했는데 매우 유용해보였다.

Namespaces and Modules

TypeScript에는 Namespaces 와 Modules 라는 개념도 존재한다. 많은 파일들이 존재하게 되면 다른 객체와 이름 충돌을 방지하기 위해 구조 체계가 필요하게 된다. 이 때 전역 Namespace를 사용하여 많은 이름을 만들어내는 대신 Namespace로 객체들을 구분해서 관리할 수 있다.
이 때 Typescript 1.5 부터 Internal Modules -> Namespace, External Modules -> Modules 로 이름이 바뀌었다고 한다. 즉 Namespaces와 Modules 는 모두 모듈로 볼 수 있는 것이다. 그럼 어떤 차이가 있을까?

  • Modules : 코드 재사용성, 독립성을 위해 사용하며 Node.js 애플리케이션에서 코드를 구조화할 때 사용하는 가장 기본적인 방법이다.
  • Namespaces : 코드를 구성하는 TypeScript만의 고유한 방법. 전역 Namespace에서 JavaScript 객체로 이름 붙여지며 모듈과 달리 여러개의 파일을 포괄할 수 있고 --outFile을 사용해 연결할 수 있다.

해당 강의 추천 대상

  • TypeScript를 처음 접하신 분
  • JavaScript는 사용해봤지만 TypeScript는 사용해본 적이 없으신 분
  • TypeScript의 문법부터 이를 활용한 프로젝트까지 컴팩트하고 빠르게 습득하고 싶으신 분
  • 지금 당장 TypeScript를 활용한 프로젝트를 해야 하는데 어떻게 시작할지 막막하신 분

해당 강의는 유데미에서 쿠폰을 발급받았습니다.

profile
백엔드 개발자입니다.

1개의 댓글

comment-user-thumbnail
2024년 3월 7일

문지은 선배님 정말 대단해!!!!!!

답글 달기