히바리 쿄야 와 함께 하는 Developer Cafe
NOTE 패키지 설치 npm init --y npm i -D typescript ts-node @types/node npm i -S mkdirp rimraf npm i -D @types/mkdirp @types/rimraf npm i -S chance npm i -D @types/chance 몽고 디비 설치 scoop install mongodb mongod --install net start mongodb npm i -S mongodb npm i -D @types/mongodb mkdir -p src/mongodb REST 방식 서버 REST 는 웹 서버 소프트웨어 구조의 한 형식 이다. REST 서버는 HTTP의 프로토콜의 GET, POST, PUT, DELET..
모나드는 순서가 있는 연산을 처리하는데 사용하는 디자인 패턴이다. 모나드는 순수 함수형 프로그래밍 언어에서 부작용을 관리하기 위해 광범위하게 사용되며 복합 체계 언어에서도 복잡도를 제어하기 위해 사용된다. 모나드는 타입으로 감싸 빈 값을 자동으로 전파하거나(Maybe 모나드) 또는 비동기 코드를 단순화(Continuation 모나드) 하는 등의 행동을 추가하는 역할을 한다. 모나드를 고려하고 있다면 코드의 구조가 다음 세가지 조건을 만족해야 한다. 타입 생성자 – 기초 타입을 위한 모나드화된 타입을 생성하는 기능. 예를 들면 기초 타입인 number를 위해 Maybe 타입을 정의하는 것. unit 함수 – 기초 타입의 값을 감싸 모나드에 넣음. Maybe 모나드가 number 타입인 값 2를 감싸면 타입..
NOTE 제네릭 * 컴파일시 타입 안정성을 보장 * 캐스팅 관련 코드 제거 function add(a: T, b: T) { return Num(a) + Num(b); } let a = 3; let b = 4; let result = add(a, b); console.log(result); 가 타입 매개변수 라고 함 T 대신에 다른 문자 사용해도 상관 없다 타입 상속을 이용한 방법 function add(a: T, b: T) { return a + b; } 오버 로딩을 이용한 방법 function add(a: T, b: T) T; function add(a: k, b: k) { return a + b; } (a: 최종타입1, b: 최종타입2, ...) { }