Tiny CD
[JS] 자바스크립트 싱글 스레드와 이벤트 루프의 동작 원리
·
SW/CS
자바스크립트는 싱글 스레드 기반 언어이다.즉, 콜 스택(Call Stack)이 하나뿐이며, 동시에 여러 작업을 처리할 수 없다.💡 싱글 스레드(Single-Thread)란 ?스레드(Thread)는 프로세스의 실행 단위로, 싱글 스레드라는 건 이 스레드가 하나밖에 없다는 것을 의미한다.따라서 한 번에 하나의 작업만 처리할 수 있고, 다른 작업들은 앞선 작업이 끝날 때까지 기다려야 한다. 즉, 동시에 여러 작업을 병렬로 처리하지 못한다. 하지만 자바스크립트 기반의 우리가 사용하는 웹 브라우저에서는 여러 작업을 동시에 처리할 수 있다.예를 들어 음악을 들으면서 우리는 파일을 다운로드 할 수 있고, 동시에 웹 페이지의 스크롤도 내릴 수 있다. 어떻게 자바스크립트는 싱글 스레드 언어이면서 동시에 여러 작업들을 ..
[React] 리액트에서 상태 관리 하기 - useContext, Zustand, TanStack Query
·
SW/React
프론트엔드 개발에서 상태 관리는 UI의 일관성과 유지보수성을 좌우하는 핵심 요소이다.React는 다양한 방식의 상태 관리 도구를 제공하며, 각각의 방식은 사용 방식, 규모, 복잡도에 따라 적절하게 선택해야 한다. 상태 관리 라이브러리는 상태 관리를 편하게 만들어주는 도구이기 때문에, 배우는 입장에서는 그냥 노가다 박치기로 해보는 것도 나쁘지 않았을 것 같긴한데 ...사실 나는 그런 경험없이 "요즘은 서버 상태 관리는 Tanstack Query, 클라이언트 상태 관리는 Zustand를 이용해서 하는 게 대세다."라는 얘기를 듣고 그것부터 시작했다. 여러 프로젝트를 하면서 Zustand와 Tanstack query를 써봤는데, 이번 기회에 한 번 정리해보는 걸로 !! 상태와 상태 관리먼저 알고 가야 하는 상..