본문 바로가기
[자바스크립트] 비동기처리 Promise [자바스크립트 단일스레드 비동기처리]- 제목 그대로다- 자세히 알아보기 : http://jinbroing.tistory.com/98=> 비동기함수와 콜백함수 처리 구별 1234567try{ setTimeout(function(){ throw 'Error!'; }, 1000);} catch(e){ console.log(e);}cs- 위의 코드는 에러를 캐치할까 못할까? : 하지 못함, setTimeout과 파라미터로 전달되는 콜백함수 처리를 구별할 줄 알아야함- 위와 같은 문제를 해결하기위해 Promise가 제안됨 [Promise란]- 비동기처리(콜백함수) 계산을 위해 사용됨 : ES6 정식 채택- window(전역객체)의 멤버 : Promise [Promise state]- 앞서 살펴본 에러처리는 set.. 2017. 5. 30.
[자바스크립트] 객체지향 프로그래밍하기 [프로토타입 기반 객체지향]- 자바스크립트는 클래스가 존재하지않음- 객체지향 프로그래밍을 할 수 있음 : 객체, 인스턴스 변수/메서드, 정보은닉(클로저), 상속(prototype, __proto__)- 자바스크립트 객체지향 핵심 : 프로토타입 객체(체인)- 해당 포스팅을 통해 단계별로 상속, 정보은닉 하는 방법을 알아볼 것 : 자바스크립트는 어떻게 구현하나 [자바스크립트로 객체지향 프로그래밍하기]1) 기본적인 인스턴스 생성 구조12345function Person(name){ this.name = name;} var jinbro = new Person("jinbro");cs- Person 함수 : 클래스 역할이자 생성자(객체 생성 시 처음 호출 : 인스턴스 변수 값 및 메서드 설정을 위해) 역할- new.. 2017. 5. 26.
[API] nodejs 파일 업로드 모듈 [필수적으로 먼저 봐야할 게시글]- [node.js] 모듈, 미들웨어 개념 : http://jinbroing.tistory.com/126 [express 파일 업로드 기능 및 특징]- express는 파일 업로드 기능을 제공하지않음 : 리얼 틀 제공(최소한의 구조), 써드파티 미들웨어(모듈)와 express 조합 - multer : express와 함께 사용하는 파일 업로드 기능(써드파티 미들웨어) 제공 모듈 [express 프로젝트 multer require 시키기]1) npm install --save multer : multer 모듈을 다운로드 받아 프로젝트 모듈 관리자에서 관리할 수 있도록 추가하기- express 프로젝트 내 package.json 파일 확인해보면 multer가 추가된 것을 볼 .. 2017. 5. 23.
[node.js] 모듈과 미들웨어 개념 [모듈과 미들웨어란]- 모듈 : 기본적으로 제공하는 기능 뿐 아니라 추가적으로 기능을 사용할 때 가져다 쓸 수 있는 라이브러리1) 내장 모듈 : nodejs에서 제공하는 모듈2) 확장 모듈 : nodejs 사용자들이 만들어낸 모듈 - 미들웨어 : 구조 내에서 중간 처리를 위한 함수(함수들의 꾸러미가 모듈)1) express 프레임워크에서 사용할 수 있는 중간 처리 목적의 소프트웨어 : 기본적인 express 구조 내에서 처리 목적으로 사용2) 요청에 대한 응답을 완수하기 전까지 중간중간 다양한 일을 처리할 수 있음3) 미들웨어 함수 생명주기 : request - response 응답을 주기로 종료 4) 미들웨어 함수 우선순위 : 먼저 로드되는 미들웨어 함수가 먼저 실행됨(코드 순서 중요) 12345678.. 2017. 5. 23.
[웹기본개념] 집에서 웹서버 운영하기 [먼저 보면 좋은 게시글]- [웹기본개념] 웹서버와 웹어플리케이션서버 : http://jinbroing.tistory.com/119 [웹서버란]- 클라이언트(웹브라우저)의 요청에 따른 응답을 하는 역할- HTTP 프로토콜에 의해 요청됨, HTTP 프로토콜로 응답함- WAS와는 다르게 웹서버는 정적인 파일을 응답할 때 클라이언트로 보냄- Apache, Nginx가 대표적인 웹서버 [구축에 필요한 개념]- ip : 네트워크가 물려진 컴퓨터를 식별하는 식별자- 도메인 : ip를 포장하는 개념, ip를 다 외우기 힘드니깐 ip 말고 쉽게 인식하고 기억할 수 있는 주소값으로- 유동 ip / 고정 ip : ip가 지속적으로 변경되는가 아닌가에 따른 구분, 서버용으로는 고정 ip를 사용하는 것이 좋음- DDNS : .. 2017. 5. 22.
[자바스크립트 자료구조] 배열 [배열이란]- 보통 배열을 사용하는 용도는 묶음 단위로 데이터를 구분할 때 사용함- 기본적인 자료구조 [자바스크립트 배열]- 자바스크립트 배열은 객체 : 내장 객체(미리 만들어져있고, 사용하면 되는 객체)- 객체지만 내부적으로 배열로서 특화된 객체 : 배열 관련 프로퍼티- 자바스크립트 배열은 한 배열 내 다양한 타입의 요소를 포함시킬 수 있음 : 스크립트 언어가 대부분 그럼- 배열은 레퍼런스 타입 [자바스크립트 배열 생성 방법]1) [ ]를 이용한 배열 선언123456var numbers = []; /* for문을 통해 numbers 배열에 요소 추가 */for(var i = 0; i 2017. 5. 22.
[자바스크립트] this 바인딩 포스팅 AS - 바인딩 종류 [자바스크립트 this]- 자바스크립트 this는 다른 언어들과 다름 : 컴파일 때 this가 정해지지만, 자바스크립트는 실행하면서 정해짐(동적)- 자바스크립트 코드 실행 가능 영역 분류 : global(전역), function, eval- this 는 현재 실행 코드의 환경(변수객체)을 지칭함 : 기본적으로 전역객체(브라우저 : window, nodejs : global)를 가리킴- 쉽게 말해 어떤 변수객체로 호출하고 있는가에 따라 this가 다름- this를 명시적으로 변경 가능함 [자바스크립트 this 결정조건]1) 어떤 영역에서 수행되는가 : global / function / eval2) 호출자(호출 객체)가 누구인가 : 가장 가까이에 있는 객체 - 첫번째 조건에서 같은 function 영역이라.. 2017. 5. 20.
[자바스크립트] 잠깐 쉬어가기 : 자바스크립트 특징 [자바스크립트 특징]1) 스크립트 언어 - 자바스크립트는 웹페이지 동작을 역동적으로 만들기위해 만들어짐- 다시 말하자면 프로그래밍 언어와 같이 쓸 수 있도록 만들어진 언어- 간결하게 코딩하는 것이 특징 2) 프로그래밍 언어- 웹에서 벗어나 독립적으로 하나의 프로그램을 만들 수 있게됨 : 엔진의 속도 향상, nodejs이라는 새로운 환경(런타임 환경) 3) 동적 바인딩, 동적 언어 : 처음에 익히기가 까다로움- 컴파일 시에 자료형, this, 변수 scope 등이 정해지는 것이 아니라 실행 중에 정해지고, 변경됨- 동적이기때문에 갖는 장점과 단점이 있음- 전역 객체(window), 함수 객체(VO 혹은 AO), 실행 컨텍스트, this, scope 정확하게 알고 있어야 예측 가능 4) 표준이 있지만 브라우.. 2017. 5. 18.
[자바스크립트] 객체 그리고 프로토타입 [먼저 보면 좋은 게시글]- [자바스크립트] 객체란 무엇인가 그리고 함수는 객체다 : http://jinbroing.tistory.com/113 [객체란]- 객체란 변수프로퍼티와 메서드들이 모여 이룬 하나의 꾸러미- 추상적 객체와 구체적 객체(인스턴스 객체) 구분지어 사용: 한 종류지만 각자의 개성에 맞는 값, 구체적 행동 방식을 가짐(다양성)- 객체간의 관계를 만들어 프로그래밍하는 방식을 객체지향 프로그래밍이라 함- 객체는 레퍼런스 타입 : 변수에 값을 직접 대입하는 것이 아니라 객체 메모리 주소를 대입함 [자바스크립트의 객체지향]- 객체지향 프로그래밍 : 객체 사이에 관계를 형성하여(추상화된 객체 - 구체화된 객체) 프로그래밍 하는 방식- 자바스크립트는 객체지향이긴한데, class가 없다- 자바스크립.. 2017. 5. 17.
[자바스크립트] this 바인딩 [먼저 보면 좋은 게시글]- [자바스크립트] 개념정리② - 스코프, 실행컨텍스트, 스코프체인 : http://jinbroing.tistory.com/116 [this란]- 해당 함수가 현재 어느 실행컨텍스트에서 구동되고있는지 알려줌- 현재 컨텍스트가 참조하고 있는 객체를 가리킴, 참조객체가 없다면 전역객체를 가리킴- this는 최초 실행 시 정의되고, 실행 도중 변경 불가능- this는 실행컨텍스트를 가리킴 [자바스크립트 실행가능한 코드와 실행컨텍스트]1) global2) function3) eval - 코드가 실행되면 컨텍스트 생성 및 컨텍스트 스택에 쌓임 - global은 앱이 실행되었을 때 최초 1번, 앱이 종료되었을 때 스택에서 제거됨- function 함수 호출될 때 생성, 실행이 끝난 후 스택.. 2017. 5. 16.