목록Language (66)
미니옵빠의 code stubs
Yarn + Typescript + tslint 에서 아래의 오류를 만날 경우 (IDE겠죠) Error: Cannot find module './test/parse' 1. .yarnclean 파일 삭제2. node_modules 폴더 전체 삭제3. yarn install 다시 yarn clean을 했을 경우, test 라는 네이밍의 폴더/파일을 날려버리는 듯. 참고https://github.com/palantir/tslint/issues/1770#issuecomment-264757872
PHP를 근본 없는 언어라고 평하는 경우가 있는데, 일부 동의함. 표현을 점잖게 하자면 언어 설계 및 구조 불안정이라고 할 수 있고, 함수 이름에 일관성이 없거나 비슷한 함수들의 사용법이 상이할 때 몸으로 느낄 수 있다. 예) array_splice는Description 에 return 한다는 말이 없음. 그러니 입력값이 바뀐다라고 추정해야 함?Return Values 있다고 적혀있음Example 보면 return 없이 쓰며, 실행 후 입력값이 바뀌어 있음. Example 처럼 쓰는게 정석 array_slice의 description과 Example 을 보면 차이를 알 수 있음.이 함수는 return 값을 제공하기 때문에 비슷한 함수명으로 사용법을 추정해서 사용하다가 낭패를 볼 수 있다. (JS 등에서 ..
Node.js addonNode.js Addons are dynamically-linked shared objects, written in C++, that can be loaded into Node.js using the require() function, and used just as if they were an ordinary Node.js moduleC / C++ 라이브러리를 Node.js에서 module 형태로 사용가능합니다.addon 작성 기초node-gyp를 이용한 기본 사용법은 아래를 참고하면 됩니다. c++ 샘플 파일 작성부터 build, node.js 모듈로 사용법까지 잘 설명되어 있습니다.Node.js v8.1.2 Documentation: https://nodejs.org/api/a..
consolo.log(Object) 로 디버그 시 '[Object]' 처럼 출력되고 더 깊은 depth의 데이터는 출력되지 않음.이럴 땐 util.inspect() 를 사용. 이렇게. const util = require('util') console.log(util.inspect(myObject, {showHidden: false, depth: null})) // alternative shortcutconsole.log(util.inspect(myObject, false, null)) 참고https://stackoverflow.com/questions/10729276/how-can-i-get-the-full-object-in-node-jss-console-log-rather-than-object 주의my..
이런 식으로 사용 가능.filter는 정의된 파라메터 외 rest 형태로 받음. 이것도 객체 형태라 any로 밖에.. interface Param { startDate: string; endDate: string; metric: string | string[]; bucket: string | string[]; filter: any;} export async function getFunc({ startDate, endDate, metric = 'REQUESTED', bucket, ...filter } : Param): Promise { ...} interface 안 쓰고 한 줄에 쓰려면 아래 article 참고 https://blog.mariusschulz.com/2015/11/13/typing-destr..
자주하는 실수 중 하나.Array.forEach() 는 break 문을 지원하지 않는데, return false 로 break 를 기대하는 경우가 있음 이 경우 try catch 로 break 시키거나 (코드 구림)Array.every() / Array.some() 로 대체 사용하면 됨. continue / break 를 섞어쓰려면 Array.some() 을 사용하는 것이 좋겠음 참고https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach?v=control There is no way to stop or break a forEach() loop other than by throwing an e..
한 PC에서 여러 nodejs 버전을 사용하고 싶을 경우, NVM (Node Version Manager) 을 활용한다. Linux: https://github.com/creationix/nvm#manual-installWindows: https://github.com/coreybutler/nvm-windows gulp 등을 사용하다보면, 각 모듈이 nodejs 버전을 타는 경우가 있다.여러 프로젝트를 동시에 구현할 때 유용
worker MPM 기반으로, thread 기반으로 동작하게 하려면 관련 코드들이 모두 thread safe 해야 함 - PHP는 다양한 모듈의 집합이고- 이 모듈들이 전부 thread safe 하지 않음 따라서 안전하게 prefork를 사용하며, 이게 정석처럼 되어 있음. 라이브러리의 thread-safe 여부 (일부): http://php.net/manual/kr/faq.obtaining.php#faq.obtaining.optional
Javascipt 에서 new Date(str) 등으로 텍스트 형태의 날짜를 사용하는 경우IE 버전에 따라 NaN 이 노출됨 1. 기본은 ISO-8601 (https://ko.wikipedia.org/wiki/ISO_8601) 스펙에 따라 YYYY-MM-DDThh:mm:ssZ 이렇게 날짜와 시간 사이에 'T' , UTC일 경우 마지막에 'Z' 를 넣는 것을 기본으로 함 2. IE8 이하에서는 YYYY-MM-DD 패턴은 인식하지 못함. new Date(2016, 0, 31, 0, 0, 0); 와 같이 구현. 또는 YYYY/MM/DD 로 변경 (꼼수) 3. date-fns/parse 활용하면 좋다. 대충 넣으면 알아서 parsing 해준다. https://date-fns.org/docs/parse
http://html2canvas.hertzen.com/documentation.html 이슈- 1. Cross-origin 이슈가 있어, HTML 내에 다른 도메인의 이미지 등을 삽입한 경우는 제대로 캡쳐되지 않음. Proxy 를 만들던지 해야 됨 - 2. background-image 를 잘못 그리는 이슈가 있음. 아래와 같이 코드 수정.fperich commented on 7 Mar 2014i could not render background images and it seemed to be cover or contain background size, so i've changed line 350 in 0.4.1 version to:topPos = isNaN(parseInt(bgposition[1], ..