본문 바로가기

비동기처리3

[자바스크립트] 필수 개념 - 어렴풋이 알면 모르는 것 [기본이자 필수개념 - js 프로그래밍 할 때 모르면 코드 못짜, 다른 사람 코드 못봐] 1) 브라우저 환경에서 자바스크립트는 샌드박스 환경에서 실행됨 : 파일 입출력 막기2) 함수를 통해 생성된 객체는 __proto__ (부모 객체의 프로토타입을 저장하는 프로퍼티가 존재함) => new String, new Object, new 사용자함수 등 => 사용자 함수를 선언하는 것 : new Function()=> 리터럴로 string을 생성하는 경우에는 x=> 부모 객체의 prototype 객체 프로퍼티에 추가를 하면 상속받는 객체들이 추가된 메서드나 변수를 사용할 수 있음 => 프로토타입 체인 : 해당 객체에 프로퍼티가 존재하지않을 경우 부모 객체로 올라감 => 즉시 반영 : 부모 역할을 하는 functi.. 2017. 7. 28.
[자바스크립트] 비동기처리 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.
[자바스크립트] js엔진은 어떻게 동시처리를 하는가? 이벤트루프 [목표]- nodejs가 싱글쓰레드임에도 불구하고 비동기처리를 한다는데 어떻게해? 의문에 답해보자- nodejs가 이벤트루프기반 비동기처리를 한다는데, 이벤트루프가 대체 뭔지 알아보자- 랜더링엔진 구조, 처리방식은 알아봤는데 자바스크립트 엔진은 그냥 지나간 것 같으니 이번 기회에 알아보자 [우선! 자바스크립트 엔진과 브라우저 랜더링엔진은 다르다]- 랜더링엔진은 HTML과 CSS파일을 파싱하여 새로운 트리구조를 만들고 브라우저 화면에 문서를 나타내는(painting) 작업을 함- 자바스크립트 엔진은 js 코드 파일을 해석하고 실행하는 인터프리터(구글의 V8과 같은 엔진) [자바스크립트 엔진 구조]- 대부분의 자바스크립트 엔진은 다음과 같이 세가지 영역으로 나뉨 1) Call Stack- 자바스크립트는 단 .. 2017. 4. 21.