간단하고 확장 가능한 상태 관리, 쉽고 확정성 있게 만들어 주는 검증된 라이브러리 개발자 채용 공고에서 Redux와 함께 가장 많이 보이는 상태관리 라이브러리 중 하나, 배워두면 두고두고 써먹을 수 있는 라이브러리라고 할 수 있다. 공식 한국어 문서: https://ko.mobx.js.org/README.html MobX에 대하여 · MobX ko.mobx.js.org MobX 5 버전 까지는 @ 데코레이터를 사용했지만 MobX 6 부터는 데코레이터 사용을 지양하는 중. 아래는 공식 문서의 소개 페이지의 일부 특징 작동 원리 event는 observable state를 변경시키는 action을 호출하고, observable state의 변경 사항은 computed value(연산)과 변경 사항에 따라 달..
Disney Plus 를 가볍게 클론코딩한 프로젝트로 Firebase를 통한 인증을 연습하는데 도움이 된 프로젝트였다. 사용자 인증을 통해 받아온 데이터를 로컬 스토리지에 저장하고 가져오도록 설정되어 있었는데 이번에 해당 데이터를 Redux를 이용해서 관리하도록 수정해보기로 했다. 이때 문제가 발생했다. Redux는 새로고침이 발생하면 저장된 state가 리셋되는 문제가 있었다. 로그인 정보를 관리하는 경우 state가 유지되어야할 필요성이 있었다. 이럴 때 redux-persist를 활용하면 문제를 해결할 수 있다. 사용 방법 1 )Install npm i redux-persist yarn add redux-persist TypeScript npm i redux-persist @types/redux-p..
작업하던 프로젝트에서 성능 최적화를 위한 코드를 작성하고 실제로 리랜더링되는 컴포넌트들을 살펴보는 중에 문득 Styled-Components로 작성된 컴포넌트들이 반복적으로 랜더링되는 것을 목격했습니다. 수치로 따지자면 랜더링 되는데 0.1 ms미만으로 매우 짧은 시간을 차지하고 있긴하지만 이러한 컴포넌트가 수백개 수천개 쌓인다면 문제가 될 것이 당연해보였습니다. 특히 현재 작업 중인 프로젝트에서는 스크립트를 계속해서 업데이트하며 화면에 표시하는 방식을 사용하고 있기 때문에 다음 문장이 실행될 때마다, 한글자 한글자 업데이트될 때마다 리랜더링이 발생하는 것이 너무나 못마땅했습니다. CSS in JS가 나쁘다는 것은 아니지만 JS가 적으면 웹사이트가 빨라지는 것은 당연한 일입니다. 자료를 조사하던 중 CS..
디바운스(Debounce)와 쓰로틀링(Throttling)은 자바스크립트에서 이벤트 핸들링과 함수 실행을 제어하는 데 사용되는 두 가지 기술입니다.프론트엔드 개발자라면 다들 개념을 알고 있을 것이지만 비전공자 입장에서는 이조차 낮선 개념입니다. 오늘은 쓰로틀링과 디바운스에 대해서 알아보도록 합시다.디바운스이라는 용어는 전자 회로에서 스위치를 눌렀다 떼는 과정에서 스위치가 통통 튀며 전압이 불규칙적으로 들어가 전류의 흐름이 비정상적으로 일어나는 현상을 바운싱 현상이라하는데 이를 정상적으로 해주는 의미에서 사용되기 시작했다고합니다.쓰로틀링이라는 용어는 비행기 또는 자동차 등에서 연료량을 조절하는 레버가 있는데 이를 당기거나 밀어서 연료량을 조절하는 것입니다. 이러한 동작과 유사한 방식으로 동작시키기 때문에 ..