Vana Blog

Vana Yun

Written by Vana Yun

Node.js Design Pattern - 디자인 패턴(Factory)

June 13, 2019

디자인 패턴은 되풀이되는 문제에 대한 재사용 가능한 솔루션이다. 팩토리(Factory) 가장 간단하고 공통적인 디자인 패턴. 객체를 생성하기 위한 제너릭 인터페이스 new 연산자 또는 Object.create…

Node.js Design Pattern - 스트림 코딩(3)

June 13, 2019

파이프 패턴 Node.js 스트림 서로 다른 패턴으로 함께 연결(pipe)될 수 있다. 두 개의 서로 다른 스트림의 흐름을 하나로 병합하고 분할할 수 있다. 스트림 결합(combine…

Node.js Design Pattern - 스트림 코딩(2)

May 24, 2019

Node.js Design Pattern - 스트림 코딩(1)

May 24, 2019

스트림의 중요성 Node.js와 같이 이벤트 기반 플랫폼에서 I/O를 처리하는 가장 효율적인 방법은 실시간으로 들어온 입력 값을 가능한 즉시 애플리케이션에 내보내는 것이다. 버퍼 vs…

Node.js Design Pattern - ES6이후 비동기식 프로그램의 제어 흐름 패턴(2)

May 04, 2019

제너레이터(Generator) 세미코루틴(semi-coroutines)이라고도 함. 함수와 비슷하지만(yield 문을 사용하여) 일시적으로 실행의 흐름을 중지시켰다가 다시 시작시킬 수 있다. 제너레이터는 반복자(Iterator…

Node.js Design Pattern - ES6이후 비동기식 프로그램의 제어 흐름 패턴(1)

May 04, 2019

프로미스(Promise) ES6~, Node4~ 부터 Node.js에서 기본적으로 사용할 수 있다. 용어 설명 대기중(Pending) 아직 비동기 작업이 완료되지 않음. 이행됨(Fulfilled) 성공적으로 끝난 상태. 거부됨(Rejected…

Node.js Design Pattern - 일반 JavaScript의 사용

April 20, 2019

콜백 규칙 비동기 코드를 작성할 때 명심해야 할 규칙 콜백을 정의할 때 함부로 클로저를 사용하지 않는 것. 모듈화 및 재사용을 고려해야 한다. 코드를 개선하는데 도움이 되는 기본 원칙 가능한 빨리 종료한다. return, continue, break…

Node.js Design Pattern - 콜백을 사용한 비동기 제어 흐름 패턴

April 13, 2019

비동기 프로그래밍의 어려움 모듈화, 재사용성, 유지보수성 같은 특성을 희생시키다 보면 callback 중첩이 확산되어 코드가 엉망이 된다. 웹 스파이더 웹 URL을 입력 받아 URL의 내용을 로컬 파일로 다운로드 하는 기능을 구현해보자. fs…

Node.js Design Pattern - 관찰자 패턴(The observer pattern)

April 10, 2019

관찰자 패턴 은 상태 변화가 일어날 때 관찰자에게 알릴 수 있는 객체를 정의하는 것. EventEmitter 클래스 관찰자 패턴은 이미 Node.js 코어에 내장되어 있으며 EventEmitter클래스를 통해 사용할 수 있다. EventEmitter…

Node.js Design Pattern - 모듈 시스템과 그 패턴

April 10, 2019

모듈 시스템과 그 패턴 모듈은 복잡한 어플리케이션을 구성하기 위한 블록 역할을 하기도 하지만 명시적으로 exports되지 않은 모든 내부 함수와 변수들을 비공개로 하여 정보를 숨기는 역할을 한다. 노출식 모듈 패턴

Node.js Design Pattern - callback 패턴

April 07, 2019

Node.js의 비동기 패턴 callback(callback) callback은 작업 결과를 전달하기 위해 호출되는 함수. 비동기 작업을 처리할 때 반드시 필요하다. 이들은 항상 동기적으로 실행되는 return 명령의 사용을 대신한다. callback…

Node.js Design Pattern - Node.js 철학과 특징, Reactor패턴

March 22, 2019

node.js…

(ES6)learning javascript - 정규표현식

February 22, 2019

정규 표현식 문자열 매칭 기능 제공. 정규식 만들기 리터럴 문법 또는 RegExp 생성자 사용. 동적으로 정규식을 만들 때 RegExp 생성자를 사용한다. 정규식 검색 문자열에 search, match 메소드 사용 정규식에 exec…

vana-multi-app

February 21, 2019

version vue-cli 3.0으로 프로젝트 구성 vue : 2.5.22 typescript : 3.0.0 프로젝트 폴더 구조 pages Todo : 할일 등록 (등록, 삭제, 완료 체크 기능) Image : 썸네일 등록 (vue…

(ES6)learning javascript - 비동기적 프로그래밍

February 15, 2019

비동기적 프로그래밍 자바스크립트 어플리케이션은 단일 스레드 에서 동작한다. 즉 자바스크립트는 한 번에 한 가지 일만 할 수 있다. 사용자 입력 외에, 비동기적 테크닉을 사용해야 하는 경우 Ajax…

unit test 테스트 개발 환경 설정 (karma, jasmine)

February 14, 2019

테스트 환경 설정 참고 사이트 : https://meetup.toast.com/posts/126 , http://blog.jeonghwan.net/tool/2017/03/28/jasmine.html 테스트 환경 : 테스트 러너 karma…

(ES6)learning javascript - 함수

February 14, 2019

함수 하나의 단위로 실행되는 문의 집합. 모든 함수에는 바디가 있다. 함수 바디는 함수를 구성하는 문의 모음. 반환 값 함수 호출의 값 함수 바디 안에 return 키워드 사용. return을 명시적으로 호출하지 않으면 반환 값은 undefined…