728x90
반응형

Javascript, Typescript 3

[Node.js] Node.js는 싱글 스레드인가?

서론Node.js 의 동작 원리라고 하면 공통적으로 나오는 키워드들이 있다. 바로 '단일 스레드 (싱글 스레드)', '비동기 논블로킹 IO' 이다.그런데, 'Node.js가 정말로 싱글 스레드인가요?' 라는 질문에는 '사실 그렇지는 않다' 라는 답변이 나온다.이 부분에 대해 정리하는 글이다. 본론Node.js가 싱글 스레드라는 말은, 관점에 따라 다르다. Node.js 도 결국 하나의 소프트웨어로, 내부 동작에 대해 몰라도 사용할 수 있게 제공되었기 때문이다. 우리가 express.js, NestJS 등 Node.js 라는 런타임 환경에서 동작하는 간단한 로직을 작성할 때는 Node.js 가 싱글 스레드로 동작한다는 것만 알면 된다. 예를 들어, HTTP 요청을 받아 라우팅을 처리하고, 비즈니스 로직을..

[타입스크립트] 타입스크립트에 타입 지정하기

서론타입스크립트와 자바스크립트의 가장 큰 차이이자 타입스크립트의 존재 이유는 동적 언어인 자바스크립트의 단점을 보완하는 타입 지정이다.그런데, 정말 간단하면서 당연한 사실임에도 일반적인 정적 언어를 사용해오며 습관적으로 작성했던 타입이 사실 타입스크립트에서는 정확하지 않을 수 있다는 사실을 확인하여 기록하게 되었다. 본론그동안 자바를 사용하면서는 다음과 같이 선언했다. String str = "test"; 위 코드는 의심의 여지 없이 정확한 코드이다. 자바에서는 문자열의 타입이 String이고, 정적 언어이기 때문에 타입을 지정하여 변수를 선언했다. 그래서 타입스크립트에서 다음과 같이 선언했다. const str: string = "test"; 타입스크립트에서는 문자열의 타입이 string이고, 마찬가지..

[타입스크립트] 타입스크립트의 타입, 클래스와 인터페이스

타입스크립트의 타입 any 타입 동적 타입 컴파일러가 타입을 확인하지 않음 → 사실상 타입이 없음 unknown 타입 unknown으로 타입을 선언하면 해당 변수에 모든 타입의 값을 설정할 수 있고 다른 어떤 타입으로 변경될 수도 있다 any 타입과는 다르게 먼저 변수의 유형이 무엇인지 확인하는 과정을 거쳐야 변수의 멤버를 호출하거나 다른 변수의 값으로 설정할 수 있다 인터섹션 타입과 유니온 타입 인터섹션 타입: 최종 객체가 여러 속성을 갖는 것 let obj: {name: string} & {age: number} = { name: 'tom', age: 25 } 유니온 타입: 최종적으로 하나의 타입을 갖는 것. 아래 예제에서 unionObj는 null 이거나 {name: string} 타입이 된다 le..

728x90
반응형