전체 글
Hoisting (호이스팅) 이란?
Hoisting 이란? 공사장이나 엘리베이터 같은 곳에 사용되는 리프트 휠 등을 이용해서 물건을 들어올리거나 내리는 장치를 Hoist 라고 한다. 이 호이스트 장치를 사용하는 것 처럼 Hoisiting 이란 변수 선언과 함수 선언이 그 범위에 따라 선언된 위치에 상관없이 항상 최상위로 끌어올려지는 것 처럼 동작하는 것을 말한다. 대표적으로 var 키워드로 선언된 변수는 호이스팅이 발생한다. console.log(a); // undefined var a = 1; let, const 키워드로 선언된 변수는 호이스팅이 발생하지 않는 것처럼 보인다. console.log(a); // ReferenceError: a is not defined let a = 1; 발생하지 않는 것 처럼 보이는 이유는 TDZ 라는 ..
[ React ] Recoil 이란
Recoil 이란? Recoil 은 많은 상태 관리 라이브러리 중 하나로, Facebook 에서 만든 상태 관리 라이브러리입니다. Facebook 은 React 를 만든 회사이기 때문에, React 에서 사용하기 쉽도록 만들어졌습니다. 가장 중요한 개념은 atom 과 selector 입니다. atom 은 하나의 상태를 의미하고, selector 는 atom 의 상태를 기반으로 계산된 상태를 의미합니다. Atom Atoms는 상태의 단위이며, 업데이트와 구독이 가능하다. atom이 업데이트되면 각각의 구독된 컴포넌트는 새로운 값을 반영하여 다시 렌더링 된다. Atom 은 상태의 단위입니다. 해당 Atom 의 상태가 변경되면, 해당 Atom 을 구독하고 있는 컴포넌트들은 다시 렌더링 됩니다. 또 여러 개의 ..
[ Front ] 클라이언트 사이드 라우팅 ( Client Side Routing )
Client Side Routing이란? Client Side Routing은 클라이언트에서 라우팅을 처리하는 방식입니다. 서버에서 라우팅을 처리하는 방식은 Server Side Routing이라고 합니다. 보통 SPA에서는 Client Side Routing을 사용합니다. 동작 과정 : HTML 다운로드 -> JS 다운로드 -> JS 실행 -> Data Fetch -> Content Rendering Client Side Routing의 장점 Lazy Loading 지원 클라이언트 사이드 렌더링은 사용자에 행동에 필요한 부분만 읽기 때문에 빠른 인터렉션 가능 page 전체를 요청하지 않고 필요한 부분만 요청하기 때문에 트래픽 감소 Client Side Routing의 단점 SEO에 불리 (검색엔진이 S..