본문 바로가기

분류 전체보기

(109)
jest 테스트코드
Promise 콜백 함수 function greeting(name) { console.log("Hello " + name); } function processUserInput(callback) { var name = "Please enter your name."; callback(name); } processUserInput(greeting); // Hello Please enter your name 콜백 지옥 피라미드 doSomething(function(result) { doSomethingElse(result, function(newResult) { doThirdThing(newResult, function(finalResult) { console.log('Got the final result: ' + final..
generator function Generator 개념 - generator function으로부터 반환된 값이며 반복자와 반복자 프로토콜을 준수한다. function* gen() { yield 1; yield 2; yield 3; } var g = gen(); // "Generator { }" 메서드 - Generator.prototype.next(); // yield 표현을 통해 yield된 값을 반환한다. - Generator.prototype.return(); // 주어진 값을 반환하고 생성기를 종료한다. - Generator.prototype.throw(); // 생성기로 에러를 throw 한다. yield 개념 - 제너레이터 함수를 중지하거나 재개하는데 사용된다. - return처럼 함수를 종료한다. 다만 함수를 재호출(ne..
module programming Node.js 기반 플젝과 외부모듈 설치. npm init : 프로젝트 디렉토리 초기화 명령어이다. package.json : npm init 한 이후에 생성되는 npm 프로젝트에 대한 환경정보이다. npm install 특정모듈 : 특정모듈을 설치하기 위한 방법이다. node_modules 디렉토리는 설치된 외부 의존성들이 존재하는 곳이다. 패키지 매니저를 이용하여 package.json에 기록된 외부의존성을 설치하면 node_modules에 저장된다 require : Node에서 파일과 모듈은 1:1로 대응된다. require마다 새로운 인스턴스가 생성되는 것이 아니라 캐싱된 객체 인스턴스를 재사용된다. require.cache라는 객체에 캐싱되어 사용한다. export : 만들고자 하는 모듈을 파일..
디버깅 (vscode) breakpoints : 소스 코드의 특정 지점에서 프로그램의 실행을 멈추는데 사용 watch : 특정 변수나 객체의 값을 등록해 놓고 변화되는 값을 관찰할 수 있다. call stack : 현재 상태까지 거쳐온 함수를 역순으로 표시해준다. 함수를 더블 클릭하면 해당 소스의 위치로 이동한다. Step over : 함수 단위로 코드를 실행한다. Step into : 한줄씩 코드를 실행한다. 중간에 함수가 호출되면 해당 함수로 넘어가 코드를 실행한다. Step out : 함수에서 나간다. Reference http://docs.tobesoft.com/developer_guide_nexacro_17_ko#ad0ccadaccc17a4a
데이터 변수와 상수 let tempC; // let tempC = undefined; 와 같다. const ROOM_TEMP_C = 21.5; // 상수 이름에는 보통 대문자와 밑줄만 사용한다. 될 수 있으면 변수보다 상수를 써야 한다. 원시 타입 - 숫자, 문자, 불리언, null, undefined, 심볼 객체 타입 - Number, String, Boolean, Array, Date, RegExp, Map과 WeakMap, Set과 WeakSet. 숫자와 문자열 const result1 = 3 + '30'; // 3이 문자열로 바뀐다. 결과는 문자열 '330'이다. const result2 = 3 * '30; // '30'이 숫자로 바뀐다. 결과는 숫자 90이다. 심볼 유일한 토큰을 나타냄. 항상 유일하다..
Thread Java 컴파일러는 Java 소스 코드를 바이트코드(bytecode)로 컴파일 한다. Java 가상 기계(virtual machine)가 Java 바이트코드 파일(컴파일된 파일)을 메모리에 읽어들여서 실행한다. 스레드는 CPU가 바이트 코드를 하나씩 순서대로 실행하고 있는 것이다. 멀티스레드는 CPU(멀티 코어)에서 각각의 코어가 독립적으로 바이트 코드를 실행하고 있는 것이다. 즉, 여러개의 스레드가 동시에 실행되는 형태이다. 메인스레드는 Java 프로그램을 실행하면 main 메소드부터 실행이 시작되는데, 이렇게 main 메소드부터 실행이 시작되는 실행 흐름이다. 실행 흐름 생성 Thread 클래스의 start 메소드를 호출하면 새 실행 흐름이 생성된다. Thread 객체를 생성하는 것은 객체만 생성할 ..
Iterator Interface 예시 import java.util.ArrayList; import java.util.ListIterator; public class Iterates2 { public static void main(String[] args) { ArrayList list = new ArrayList(); for (int i = 0; i < 5; ++i) list.add(i); ListIterator iterator = list.listIterator(); while (iterator.hasNext()) { int value = iterator.next(); System.out.println(value); iterator.add(value * 10); } System.out.println(list); } } 출력 0 1 ..