programing
-
[JS] 함수선언식과 함수표현식programing/Language 2019. 7. 16. 18:52
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 이번 포스트에서는 함수 선언식(function declaration/function statement)과 함수 표현식(function expression)에 대해 알아보도록 하겠습니다. 함수 선언식 코드 function foo() { return 3; } 호이스팅 호이스팅된다. 재선언 가능하다. 사용처 일반 함수를 정의하는 경우. 용례 일반 함수 조건부 생성 함수 (브라우저별 동작이 다르므로 권장하지 않음) 함수 표현식 코드 // 익명 함수 표현식 const foo = function () { return 3; }; // 이름 있는 함수 표현식 const bar = function barbar() { return 4; }; 호이..
-
[JS] JavaScript get call stack traceprograming/Language 2019. 7. 16. 17:03
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 오늘은 자바스크립트로 호출 스택을 얻는 방법을 알아보도록 하겠습니다. 호출 스택 코드 function getStackTrace () { let stack = new Error().stack || ''; stack = stack.split('\n').map(function (line) { return line.trim(); }); return stack.splice(stack[0] == 'Error' ? 2 : 1); } getStackTrace()[2]; // get stack trace info 2 levels-deep 위와 같은 함수를 이용해, 호출 스택을 얻을 수 있습니다. 주의사항 This feature is non-st..
-
[Functional] map, filter, reduceprograming/Language 2019. 7. 15. 18:27
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 2019/06/25 - [programing/JavaScript] - [Functional] 평가와 일급, 고차함수 2019/07/15 - [programing/JavaScript] - [Functional] 순회와 이터러블 2019/07/15 - [programing/JavaScript] - [Functional] 제네레이터와 이터러블 map const products = [ {name: "볼펜", price: 500}, {name: "샤프", price: 1000}, {name: "자", price: 700}, {name: "커터칼", price: 1500}, {name: "수정테이프", price: 3000}, ]; // ..
-
[Functional] 제네레이터와 이터러블programing/Language 2019. 7. 15. 17:37
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 2019/07/15 - [programing/JavaScript] - [Functional] 순회와 이터러블 제네레이터 function *gen() { yield 1; yield 2; yield 3; // 반환값은 {value, done}객체에서, done이 ture가 될 때의 value값이다 // 따라서, 일반적인 순회에서 등장하지 않는 값이다 return 100; } const iter1 = gen(); const iter2 = gen(); for(const e of iter1) console.log(e); // 1 2 3 출력 console.log(iter2.next()); // {value: 1, done: false} ..
-
[Functional] 순회와 이터러블programing/Language 2019. 7. 15. 16:43
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) ES6에서의 리스트 순회 for of // array const arr = [1, 2, 3]; for(const e of arr) console.log(e); // set const set = new Set([1, 2, 3]); for(const e of set) consol.elog(e); // map const map = new Map([['a', 1], ['b', 2], ['c', 3]]); for(const e of map) consol.log(e); for(const e of map.entries()) console.log(e); // ["a", 1], ["b", 2], ["c", 3] 출력 for(const e of ..
-
[Algorithm] 정렬 알고리즘에 대하여 3programing/Algorithm 2019. 7. 13. 16:03
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 2019/06/26 - [programing/Algorithm] - [Algorithm] 정렬 알고리즘에 대하여 1 2019/06/27 - [programing/Algorithm] - [Algorithm] 정렬 알고리즘에 대하여 2 이번 포스트에서는 이진 힙(binary heap)를 이용한 힙(heap) 정렬에 대해 알아보도록 하겠습니다. 힙 (heap) 힙은 다음과 같은 성질을 지니고 있습니다. 완전 이진 트리 (complete binary tree) 모든 노드는 최대 두 개의 자식을 가질 수 있습니다. 모든 잎 노드 (leaf node)의 깊이(depth)는 동일하며, 왼쪽부터 빈틈없이 채워져야 합니다. 모든 잎 노드를 제외..
-
[Algorithm] 프로그래밍 대회에서 배우는 알고리즘 문제해결 전략 4programing/Algorithm 2019. 7. 12. 16:44
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 2019/07/02 - [programing/Algorithm] - [Algorithm] 프로그래밍 대회에서 배우는 알고리즘 문제해결 전략 1 2019/07/09 - [programing/Algorithm] - [Algorithm] 프로그래밍 대회에서 배우는 알고리즘 문제해결 전략 2 2019/07/09 - [programing/Algorithm] - [Algorithm] 프로그래밍 대회에서 배우는 알고리즘 문제해결 전략 3 해당 포스트는 "프로그래밍 대회에서 배우는 알고리즘 문제해결 전략"을 읽고 간단하게 정리한 포스트입니다. 정당성 증명 수학적 귀납법과 반복문 불변식 수학적 귀납법 단계 나누기 첫 단계 증명하기 귀납 증명하기..
-