본문 바로가기

JavaScript

(22)
태스크 큐(Task Queue)의 종류와 우선순위 이해 안녕하세요 :) JavaScript는 싱글 스레드로 동작하는 언어입니다. 하지만 비동기 작업으로 인해 여러 작업을 동시에 처리하는 것처럼 보이게 하는데요. 이 비동기 작업의 핵심 원리는 이벤트 루프와 태스크 큐를 이용한 작업 관리에서 비롯됩니다. 이번 글에서는 비동기 작업의 구조와 실행 순서, 이벤트 루프와 태스크 큐의 역할을 단계별로 알아보도록 하겠습니다. 우선 태스크 큐(Task Queue or Callback Queue)가 무엇인지, 어떤 역할을 하는지 먼저 살펴보겠습니다. Task Queue란?태스크 큐는 JS에서 비동기 작업을 대기시키고 관리하는 공간입니다. JS가 싱글 스레드 기반으로 동작하는 언어라서 한 번에 한 가지 작업만 처리할 수 있지만, 웹 브라우저나 Node.js 환경에서 비동기 작..
Context API로 전역 상태 관리하기 안녕하세요 :) 오늘은 React의 상태 관리 Hooks인 Context API에 대해 알아보겠습니다. 프론트엔드 개발을 하다 보면 컴포넌트 간의 데이터 전달이 생각보다 까다롭다는 것을 느낀 적이 있을 겁니다. 한 페이지에서만 사용하는 데이터라면 props로 그냥 보내버리면 되지만, 애플리케이션 전체에서 필요한 데이터를 여러 컴포넌트로 전달해야 할 때나, 너무 멀리있는 상위 컴포넌트의 데이터를 하위 컴포넌트에서 사용하고 싶은 경우가 한 번씩 있으셨을 거라고 생각합니다. 모든 컴포넌트를 거쳐가며 데이터를 전달하는 것은 너무 불편한 과정입니다. 그럼 어떻게 중간 단계를 거치지 않고 필요한 컴포넌트가 데이터를 바로 사용할 수 있도록 할 수 있을까요?Context API를 사용하면 위와 같은 고민을 조금 줄일 ..
useRef란? 안녕하세요 :) 오늘은 React Hooks 중 하나인 useRef에 대해 알아보겠습니다. React 개발에서 상태 관리는 중요하게 적용되는 요소 중 하나인데, 상태 변화가 화면에 바로 반영되지 않아도 되는 상황들이 있습니다. 그럴 때는 불필요하게 렌더링이 되는 걸 막는 방법이 필요하게 됩니다. 이 글에서는 useRef라는 훅을 소개하고, 언제 어떻게 사용하는지, 같은 상태 변화를 담당하고 있는 useState와는 뭐가 다른지를 살펴보겠습니다. useRef란?React 공식 문서에서는 useRef를 '렌더링에 필요하지 않은 값을 참조할 수 있게 해주는 React Hook'이라고 소개하고 있습니다.useRef is a React Hook that lets you reference a value that’s..
JavaScript가 싱글 스레드인 이유 안녕하세요 :)자바스크립트는 웹 브라우저 환경에서 동작하는 언어로, 동기와 비동기 작업을 모두 처리하면서 싱글 스레드 구조를 유지하고 있습니다. 오늘은 자바스크립트가 어떻게 이러한 구조를 선택하게 되었으며 싱글 스레드가 어떤 이점을 제공하는지 알아보도록 하겠습니다. JS가 싱글 스레드(Single Thread)인 이유를 알기 위해서는 싱글 스레드가 무엇인지부터 알아야겠죠? 싱글 스레드란?싱글 스레드는 한 번에 하나의 작업만 순차적으로 처리할 수 있는 구조를 말합니다. 하나의 스레드가 모든 작업을 처리하며, 한 작업이 끝나야만 다음 작업이 실행될 수 있습니다. 이러한 싱글 스레드의 장점은 무엇일까요? 가장 큰 장점은 복잡한 스레드 관리가 필요 없다는 것입니다. 여러 스레드를 동시에 처리하는 환경에서는 경쟁..
useEffect: 클린업 함수의 필요성 안녕하세요 :)오늘은 React Hooks 중 하나인 useEffect의 클린업 함수의 필요성에 대해서 알아보도록 하겠습니다.만약, useEffect를 모르신다면 이전 글을 읽고 오시면 이해하는데 도움이 될 거라고 생각합니다. ->  useEffect란?React의 useEffect에서 클린업 함수는 컴포넌트가 언마운트되거나, 의존성 배열에 명시된 값들이 변경되기 전에 실행되어 사이드 이펙트를 정리하는 데 중요한 역할을 합니다. 이번 글에서는 클린업 함수의 다양한 활용 사례부터 클린업 함수가 없을 경우 발생할 수 있는 문제점과 클린업 함수가 필요한 이유에 대해서 알아보겠습니다. Cleanup Function에 다양한 활용 사례1. 이벤트 리스너 제거import React, { useEffect } fro..
useEffect란? 안녕하세요:)오늘은 React의 Hooks 중 하나인 useEffect에 대해 알아보겠습니다. Functional Component를 사용하는 React에서 Class Componet의 생명주기와 비슷한 구성을 사용하고 싶을 때 Hooks를 사용합니다. 그 중에서도 useEffect는 SideEffect(부속 효과)를 처리하기 위해 사용하는 React의 도구입니다. Lifecycle(라이프 사이클) : 컴포넌트가 브라우저 상에 나타나고, 업데이트되고, 사라지게 되는 과정 이러한 useEffect의 정의와 역할, 기본 문법 및 간단한 사용 예제, 그리고 왜 useEffect가 필요한지에 대해 자세히 알아보도록 하겠습니다.  useEffect란?React는 UI(User Interface)를 구성하는 컴포넌..