Web에서 서버와 클라이언트 간의 통신하는 방법을 정한 것.클라이언트는 웹 브라우저 등 서버로 요청을 보내는 대상.서버는 클라이언트가 요청을 보내기 전까지 대응하지 않음.서버와 클라이언트 사이에는 무수히 많은 요소가 존재.HTTP는 이런 존재들 사이의 통신 방법을 규정
기존 XMLHTTPRequest를 대체하는 HTTP 요청 APIES6에 추가된 Promise를 리턴하도록 정의됨네트워크 요청 성공 시, Promise는 Response 객체를 resolve 한다.네트워크 요청 실패 시, Promise는 에러를 reject 한다.Resp
싱글 쓰레드 - 비동기 - 이벤트 기반쓰레드란 명령을 실행하는 단위한 개의 쓰레드는 한 번에 한가지 동작만 실행 가능싱글 쓰레드 - 한 번에 한가지 동작만 수행함멀티 쓰레드 - 동시에 여러 동작 수행 가능장점 - 쓰레드가 늘어나지 않기 때문에 리소스 관리에 효율적단점
비동기 - 이벤트 기반 동작을 코드로 구현하는 방법Node.js에서 비동기 동작을 구현하는 세 가지 방법을 학습Callback - 전통적인 자바스크립트의 이벤트 기반 코딩 방식Promise - callback의 단점을 보완한 비동기 코딩 방식Async , Await -
이벤트(event)를 처리하는 반복되는 동작(loop)즉, Node.js가 비동기-이벤트 동작을 처리하는 일련의 반복 동작비동기 코딩이 어떤 순서로 수행되는지에 대해 이해할 수 있음이벤트 루프는 Node.js만의 특징은 아님.JavaScript의 일반적인 동작 방식으로
클린 코드란 말 그대로 깨끗하게 작성된 코드를 의미합니다. 깨끗하게 작성된 코드란 직접적이고 단순하여 읽기가 쉽고, 코드 작성자가 아닌 누가 보더라도 의도가 명확히 드러나는 코드입니다. 이러한 코드는 가독성이 좋고, 의존성을 최대한 줄여 유지보수가 쉬운 특징이 있습니다
Microsoft에서 개발한 오픈 소스 언어자바스크립트의 상위 집합자바스크립트의 한계를 해결동적 타입을 정적으로 선언할 수 있다.타입 유추를 통한 타입 제어가 가능하다.컴파일 시점에 오류를 포착할 수 있다.JavaScript에서 찾을 수 없는 추가 코드 기능을 제공한다
TypeScript는 공통 타입 변환을 용이하게 하기 위해 유틸리티 타입을 제공한다.유틸리티 타입은 전역으로 사용 가능하다.Partial T프로퍼티를 선택적으로 만드는 타입을 구성한다.주어진 타입의 모든 하위 타입 집합을 나타내는 타입을 반환한다.Readonly T프로
함수를 정의할 때 사용되는 변수를 매개변수라고 한다.함수를 호출할 때 사용되는 값을 인수라고 한다.인자 값 == 매개변수 == Parameter일급 객체(first-class object)다른 객체들에 일반적으로 적용 가능한 연산을 지원하는 객체를 일급 객체라고 한다.
함수에 주어진 인자의 수는 함수가 기대하는 매개변수의 수와 일치해야 한다.JavaScript에서는 모든 매개변수가 선택적으로, 인수가 없다면 undefined가 된다.TypeScript에서도 선택적 매개변수를 사용할 수 있다. (변수명 뒤에 '?')TypeScript에
OOP는 컴퓨터 프로그램을 객체(Object)의 모임으로 파악하려는 프로그래밍 패러다임이다.객체(Object)들은 서로 메시지를 주고 받을 수 있으며 데이터를 처리할 수 있다.프로그램을 유연하고 변경이 용이하게 만든다.프로그램의 개발과 보수를 간편하게 만든다.직관적인
Getters & Setters비공개로 설정하려는 속성은 private로 설정하고, 속성값을 읽고 수정하는 getter/setter 함수를 사용한다.readonly읽기만 가능한 속성을 선언하기 위해 사용한다.static전역 멤버를 선언할 때 사용한다.전역멤버 : 객체마
추상 클래스는 다른 클래스들이 파생될 수 있는 기초 클래스이다.직접 인스턴스화 할 수 없다.abstract 키워드는 추상 클래스나 추상 메소드를 정의하는 데 사용된다.추상 메소드는 클래스에는 구현되어 있지 않고, 파생된 클래스에서 구현해야 한다.프로그램의 일부분을 서브
일반적으로 변수, 함수, 클래스에 타입 체크를 위해 사용된다.직접 인스턴스를 생성할 수 없고 모든 메소드가 추상 메소드다추상 클래스의 추상 메소드와 달리 abstract 키워드는 사용할 수 없다.ES6는 인터페이스를 지원하지 않지만 TypeScript는 인터페이스를 지
Node.js 프로젝트를 관리하는 필수적인 도구온라인 저장소 + 커맨드라인 도구수많은 오픈소스 라이브러리와 도구들이 업로드되는 저장소필요한 라이브러리나 도구를 손쉽게 검색 가능.Node.js의 인기로, 거대한 생태계를 보유.프로젝트 관리를 위한 다양한 명령어를 제공저장
웹 서비스는 기본적으로 HTTP 요청과 응답의 반복으로 이루어짐HTTP 요청은 사용자가 어떤 데이터가 필요한지를 서버에게 알리는 역할HTTP 응답은 HTTP 요청에 해당하는 적절한 데이터를 전달하는 역할브라우저가 인터넷을 통해 HTTP 요청을 서버에 전달서버는 사용자의