본문 바로가기

Coding Study/FrontEnd Study Note188

리액트 Batching Update **배칭(Batching)**은 리액트가 더 나은 성능을 위해 여러 개의 상태(State) 업데이트를 하나의 리렌더링으로 묶어서 처리하는 방식을 말합니다.쉽게 비유하자면, 식당에서 주문할 때 물 한 잔 가져다 달라고 하고, 잠시 뒤에 메뉴판 달라고 하고, 또 잠시 뒤에 주문하겠다고 벨을 세 번 누르는 대신, 한 번에 "물과 메뉴판 주시고 주문할게요"라고 말하는 것과 같습니다. 점원(리액트)은 주방(DOM)에 한 번만 다녀오면 되니 훨씬 효율적이죠!1. 배칭이 왜 필요한가요?리액트에서 상태가 변하면 컴포넌트는 다시 그려집니다(Re-render). 만약 한 함수 안에서 상태를 5번 바꿨는데 배칭이 없다면, 리액트는 화면을 5번이나 다시 그리게 됩니다. 이는 성능 저하의 주범이 됩니다. 배칭은 이 5번의 업데.. 2026. 4. 7.
User-Agent **User-Agent(UA)**는 웹 서버에 접속하는 클라이언트(브라우저, 앱, 로봇 등)의 정체성을 알려주는 신분증 같은 문자열입니다. HTTP 요청 헤더(Request Header)에 포함되어 서버로 전송됩니다.1. User-Agent의 생김새실제 브라우저가 보내는 User-Agent는 꽤나 복잡하고 길게 생겼습니다.예시 (Windows용 크롬 브라우저):Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36이 복잡한 문자열 안에는 다음과 같은 정보들이 숨어 있습니다.Mozilla/5.0: 역사적인 이유로 거의 모든 브라우저가 공통으로 사용하는 접두사입니다.. 2026. 4. 7.
제네레이터에 대해 설명해주세요. 1. 제너레이터의 특징실행 제어: 일반 함수는 호출되면 끝날 때까지 멈추지 않지만, 제너레이터는 호출자(사용자)가 원할 때만 코드를 한 줄씩 실행합니다.상태 유지: 함수가 멈춘 시점의 변수 값과 실행 상태를 그대로 기억하고 있습니다.이터러블 생성기: 제너레이터 함수를 호출하면 함수 본문이 바로 실행되는 것이 아니라, 제너레이터 객체를 반환합니다. 이 객체는 이터러블이면서 동시에 이터레이터입니다.2. 기본 문법: function*과 yield제너레이터는 함수 선언 시 별표(*)를 붙이고, 함수 내부에서 yield 키워드를 사용합니다.function* numberGenerator() { console.log("첫 번째 숫자를 생성합니다."); yield 1; // 여기서 함수가 멈추고 1을 반환합니다. .. 2026. 3. 31.