전체 글
[React] React X-파일
" A JavaScript library for building user interfaces" 사용자 인터페이스를 만들기 위한 JavaScript 라이브러리 - 리액트 공식 사이트 React 란? React 란 Facebook (META) 에서 만든 자바스크립트 라이브러리이다. SPA 나 모바일 애플리케이션 개발의 토대로 사용될 수 있다. 현재 가장 많은 유저가 사용하는 라이브러리중 하나이다. React 의 특징 Component 기반 구조 컴포넌트를 통해 UI를 재사용 가능한 개별적인 여러 조각으로 나누고, 각 조각을 개별적으로 살펴볼 수 있습니다. React 는 UI 를 컴포넌트로 쪼개서 만드는데 한 페이지 내에서도 여러개의 독립적인 컴포넌트로 이루어져있다. 컴포넌트 단위로 쪼개져있기때문에, 전체적인..
[JavaScript] 자바스크립트를 멀티 스레드처럼 사용하는 방법
자바스크립트는 싱글 스레드를 가지고 있는 언어이다. 옛날에 CPU 밈에서 나온 짤인데 포켓몬의 수 = 코어의 수, 팔의 수 = 쓰레드의 수이다. 스레드는 한번에 작업할 수 있는 수를 의미하는데, 자바 스크립트는 팔이 한개인 싱글 스레드이다. 싱글 스레드인 자바 스크립트는 한번에 하나의 작업밖에 하지 못하는데 이는 곧 속도 측면에서 느리다는 것을 의미한다. 자바스크립트는 비동기 방식을 통해 여러개의 작업을 동시에 하는 것 처럼 보이는 멀티 태스킹을 사용한다. Web API, Callback Queue, Event Loop 등을 통해 멀티스레드 처럼 보이게 하는 방식을 사용한다. 마치 게임 큐를 돌려놓고 다른 짓을 해도 큐는 계속 돌아가는것과 비슷한 원리라고 할 수 있다.
[JavaScript] 실행 컨텍스트 그리고 클로저
실행 컨텍스트클로저 ( execution context ) 실행 컨텍스트(execution context)는 실행할 코드에 제공할 환경 정보들을 모아놓은 객체로, 자바스크립트의 동적 언어로서의 성격을 가장 잘 파악할 수 있는 개념이다. 실행 컨텍스트는 자바스크립트 코드가 실행되는 환경으로, 모든 코드는 실행 컨텍스트 내부에서 작동된다. 함수가 실행되면 함수 실행에 해당하는 실행 컨텍스트가 생성되고, 콜스택에 쌓인다 그리고 스택이기에 LIFO 방식으로 실행하면서 전체 코드의 환경과 순서가 정해진다. 클로저 ( Closure ) 클로저는 함수와 함수가 선언된 렉시컬 환경의 조합이다. 보통 스칼라, 하스켈 등 함수형 프로그래밍 언어 에서 사용되는 특성으로, 자바스크립트 고유의 개념이 아니다.