200215 typeof (ABC) (x) → typeof ABC 200223 나머지 매개변수는 가장 마지막 인자에 들어와야 한다. function foo(...rest) {} // O function foo2(arg1, ...rest, arg2) {} // X 에러 발생 20032...
개발하며 겪은 이슈들, 간단한 메모
210215 EOL 처리: 작성 file 끝에 new line 넣어주기(cat 관련 문제) 파일이 끝났다고 판단하지 못하는 문제 때문 ID라는 변수명 설정 ID vs Id : Id승. 가독성이 좋고 더 많이 쓰임 e. g)...
this vs self
this JS의 모든 함수는 기본적으로 실행될 때마다 함수 내부에 this 객체가 추가된다. 현재 컨텍스트를 참조 기본적으로 전역 객체 참조 객체의 메서드를 호출했을 때 - 호출 객체 참조 var myObject = { name: "foo", sayName: function() { ...
Redis와 관련해 겪은 이슈들, 간단한 메모
200216 pub/sub(redis)에서 subscribe한 객체는 broadcasting을 받기 위해 무한히 blocking된다. → 이것이 sub을 또 다른 목적으로 사용할 수 없는 이유 ? 따라서 일반적으로 client를 정의할 때 pub / sub / client 세개를 정의하거나 sub / ...
Kotlin 특징
함수형 프로그래밍(함수가 일급 객체로서의 의미를 가짐) : 함수를 side effect 없도록 선언하고 사용하는 선언형 프로그래밍. e.g ) forEach vs map : map이 함수형에 가깝다. forEach는 원 배열에 side effect가 발생할 가능성이 있지만, map의 경우 원래의 배열을 바꾸지 않고 새로운 배열을 만들어버린다. ...
Node.js와 관련해 겪은 이슈들, 간단한 메모
200216 npm으로 무언가를 도입하거나 업데이트했을 때 변경 이력을 보니 package.json에 생소한 모듈이 보인다면 npmjs에서 새로 도입한 무언가의 패키지 의존성을 찾아보면 된다. 200222 func().then(async () => { if (foo()) { await promise() // first...
Spring Reactive stream과 Webflux
Reactive programming : 기본적으로 Data == Stream, event 로 보는 관점, 비동기 데이터 스트림을 이용해 데이터를 전달하는 방식의 Programming Reactive Streams Backpressure방식의 stream으로 처리함으로써 비동기적인 수행을 가능하게 한다. Reactive Strea...
REST API 디자인하기
Basic POST /users HTTP/1.1 { “users”:{ “name”:”Joo” } } /users 라는 Resource에 Request body에 맞게 새로운 리소스를 생성 POST해라 HTTP method란? POST, GET, DELETE, PUT, PATCH, HEAD, OPTIONS 등 멱등...
Coroutine
특징 Task 단위가 Object이다. (= 경량 thread이다.) 메모리 heap에 적재(multi thread의 경우 stack에 적재)하기 때문에 교체시 object만 교체하고, 그 object는 heap을 공유한다. 이러한 과정이 단일 Thread위에서 발생. 따라서, OS 레벨의 context switch 발생하지 않음 ...
모던 JavaScript 튜토리얼 - Promise 5 - MicroTask
Microtask Promise handler는 항상 비동기적으로 실행 let promise = Promise.resolve(); promise.then(() => alert("프라미스 성공!")); alert("코드 종료"); 이 코드에서 “코드 종료”가 먼저 출력. 그 이유는? 현재 코드에서 자유로운 상태(콜스...