728x90
반응형

2025/01 31

[React] Transition의 단계와 동작 원리 톺아보기!🌟

React Transition 톺아보기! 🌟React에서 useTransition과 같은 Transition 기능은 사용자 경험(UX)을 부드럽게 유지하면서 상태 업데이트를 효과적으로 관리하는 도구입니다. 버벅거림 없이 매끄럽게 동작하게 하는 것이 고민이라면 꼭 알아보면 좋을 기능입니다. Transition을 이해하려면 그 단계와 React의 내부 동작 원리를 살펴보는 것이 필요한데요, Rendering, Pending, 그리고 Completed단계들을 중심으로 톺아보도록 할께요.🌈 Transition의 단계와 흐름React Transition은 상태 업데이트를 🔴 긴급 작업(Urgent)과 🔵 비긴급 작업(Non-Urgent)으로 나누어 처리합니다. 이 과정에서 주요 단계는 다음과 같습니다:1️..

Front-end/React 2025.01.31

[React] Suspense의 동작 방식 및 비동기 처리 톺아보기 🎭

React Suspense의 동작 방식 및 비동기 처리 톺아보기 🎭React에서 Suspense는 비동기 작업을 효과적으로 처리해 사용자 경험(UX)을 한 단계 끌어올리는 데에 중요한 역할을 합니다. 비동기 데이터를 처리하는 방식이 로딩 상태를 관리하고, 컴포넌트를 적절히 렌더링하는 데 있어 복잡성을 동반하는데요,이 과정에서 상태 관리, 에러 핸들링, 로딩 UI 표시 등이 프론트엔드 개발에 필수적으로 요구됩니다.  Suspense는1. 비동기 컴포넌트를 쉽게 정의하고, 2. 데이터가 로드되는 동안 사용자에게 적절한 로딩 상태를 제공함으로써매끄러운 사용자 경험을 유지할 수 있도록 합니다. React의 Suspense를 활용하면,1. 비동기 작업의 진행 상태를 시각적으로 표현하고, 2.사용자가 기다리는 동..

Front-end/React 2025.01.30

[WEB] Waterfall 현상: 웹 퍼포먼스의 내부 톺아보기 💧

Waterfall 현상 톺아보기!💧웹 퍼포먼스 최적화 이야기에서 종종 등장하는 “Waterfall 현상”은 네트워크 요청이 마치 폭포처럼 순차적으로 이루어지는 현상을 가리킵니다.  웹 페이지가 로드될 때, 각 자원(이미지, 스크립트, 스타일시트 등)의 요청이 발생하는 방식은 사용자 경험에 큰 영향을 미칠 수 있어요.이것이 무조건 나쁜 건 아니지만, 잘못 관리되면 성능 저하와 사용자 경험 악화로 이어질 수 있습니다! 이 현상이 발생하는 이유는 여러 가지가 있지만, 주로 요청 간의 의존성과 브라우저의 요청 처리 방식이 원인입니다.특히, 동기적 요청이 많거나 자원이 서로 의존적인 경우, 특정 자원이 로드될 때까지 다음 요청이 지연될 수 있습니다.이로 인해 페이지 로딩 시간이 늘어나고, 사용자는 지루함을 느낄..

Web 2025.01.29

[React] 데이터 로딩 전략의 모든 것 🛠️

데이터 로딩 전략의 모든 것 톺아보기 🛠️React 앱을 개발하다 보면 데이터를 로드하는 과정에서 다양한 접근 방식을 고민하게 됩니다.데이터 로딩 전략은 사용자 경험, 성능, 유지 보수성에 큰 영향을 미치므로 신중하게 선택해야 합니다! 오늘은 “Fetch on Render”, “Fetch then Render”, 그리고 “Render as You Fetch”라는 세 가지 데이터 로딩 전략을 파헤쳐 보려고 합니다.🌟 1. Fetch on Render🧐 무엇인가요?"Fetch on Render" 전략은 컴포넌트가 렌더링될 때 API를 호출하여 데이터를 가져오는 방식입니다.이 방법은 React의 useEffect 훅을 사용하여 컴포넌트가 마운트될 때 데이터를 로드합니다. 가장 기본적인 접근법으로, 다음과..

Front-end/React 2025.01.28

[React] React Fiber: 리액트의 새로운 엔진 심층 탐구! 🚀

🚀 React Fiber 톺아 보기! 🚀React Fiber는 React가 UI 업데이트를 처리하는 새로운 코어 알고리즘으로, React 16에서 처음 도입되었습니다. Fiber는 React를 한층 더 강력하고 유연하게 만들어주는 기술로, 비동기 렌더링을 가능하게 하여 복잡한 UI를 빠르고 부드럽게 렌더링할 수 있도록 도와줍니다. 특히, Fiber는 긴 작업을 작은 단위로 나누어 우선순위에 따라 처리할 수 있는 기능을 제공하여, 사용자가 상호작용하는 동안에도 UI가 원활하게 업데이트될 수 있도록 합니다. 또한, Fiber는 다양한 렌더링 전략을 지원하여 개발자가 애플리케이션의 요구에 맞는 최적의 성능을 달성할 수 있게 해준다고 합니다. 이러한 점에서 Fiber는 React의 핵심 아키텍처를 변화시켰고..

Front-end/React 2025.01.27

[React] React Concurrent: 사용자 경험 향상 기술!🏂

React의 Concurrent를 톺아보자!🏂React는 항상 사용자 경험(UX)을 최우선으로 고려하여 설계된 강력한 라이브러리라고 합니다. 특히 Concurrent Rendering(동시성 렌더링)은 이를 한층 더 끌어올린 기술인데요. 복잡한 사용자 인터페이스를 매끄럽게 처리할 수 있게 해주며, 사용자와의 상호작용에 즉각적으로 반응하도록 설계되었습니다.  특히 여러 작업이 동시에 이루어져야 할 때 그 진가를 발휘합니다. 예를 들어, 대량의 데이터가 로드되거나 복잡한 애니메이션이 실행될 때도, 사용자가 애플리케이션을 사용하는 동안 불편함이나 지연을 최소화하여 UI의 부드러움과 반응성을 느낄 수 있습니다. 🌀 Concurrent Rendering이란?React가 기존에 렌더링을 처리하는 방식React의..

Front-end/React 2025.01.26

[Optimizing] WebP: 차세대 이미지 포맷의 모든 것 🖼️

WebP: 차세대 이미지 포맷 톺아 보기! 🖼️이미지는 웹사이트의 생명입니다. 하지만 무거운 이미지 파일은 로딩 속도와 사용자 경험(UX)을 망칠 수 있죠. 그래서 등장한 것이 바로 WebP입니다. “빠른 로딩과 높은 품질을 모두 잡아라!“는 미션을 가지고, Google에서 개발한 이미지 포맷인데요. WebP가 왜 혁신적인지, 어떻게 활용하면 좋을지, 오늘은 이를 낱낱이 파헤쳐 보겠습니다.🔍 WebP란? WebP는 Google이 2010년에 개발한 차세대 이미지 포맷으로, 빠른 로딩 속도와 뛰어난 이미지 품질, 용량을 최적화를 제공하기 위해 설계되었습니다. 내부적으로 고급 압축 알고리즘을 사용하여 이미지 데이터를 효율적으로 저장한다고 합니다.손실 압축 방식을 사용할 경우, 시각적으로 중요한 정보를 유..

[Optimizing] 코드 스플리팅(Code Splitting)웹 로딩 전략을 알아보자🪚

코드 스플리팅(Code Splitting) 톺아보기! 🪚코드 스플리팅(Code Splitting)은 애플리케이션의 코드를 작게 쪼개고, 필요한 순간에만 로드하도록 하는 기술입니다.현대의 웹 애플리케이션은 복잡성이 증가하면서 많은 양의 코드와 리소스를 포함하게 되었습니다... 이러한 대규모 애플리케이션은 초기 로딩 시 모든 코드를 한 번에 다운로드해야 하므로, 사용자가 페이지를 열기까지 기다리는 시간이 길어질 수 있습니다. 코드 스플리팅은 초기 로딩 속도를 향상시키고, 사용자 경험을 향상시킬 수 있답니다.🧩 코드 스플리팅이란?코드 스플리팅은 애플리케이션의 코드를 작은 청크(chunk)로 나누는 과정입니다. 기본적으로 모든 코드를 한 번에 로드하지 않고, 필요한 순간에 필요한 코드만 로드해 불필요한 로딩..

[Optimize] TTI(Time to Interactive)란 무엇일까? 🧾

TTI(Time to Interactive) 톺아보기! 🧾웹 페이지를 로드하는 동안 사용자 경험을 평가할 수 있는 중요한 성능 지표 중 하나가 바로 TTI(Time to Interactive)입니다. TTI는 단순히 페이지가 보이는 것만으로는 충분하지 않으며, 사용자가 페이지와 실제로 상호작용할 수 있는 시점을 측정합니다. 이 글에서는 TTI가 무엇인지, 왜 중요한지, 이를 개선하기 위한 전략까지 살펴보겠습니다.🌟 TTI란 무엇인가요?TTI는 사용자가 웹 페이지와 상호작용할 수 있는 준비가 되는 데 걸리는 시간을 의미합니다. 여기서 상호작용이란, 클릭 또는 키보드 누름과 같은 사용자 입력을 의미합니다.예를 들어:페이지가 완전히 로드되어 보이지만,버튼을 클릭해도 반응이 없다면,사용자는 해당 페이지가 아..

[Optimize] TTV (Time to Viewport): 웹사이트의 첫 뷰 렌더링 🌄

TTV (Time to Viewport) 톺아보기! 🌄TTV는 Time to Viewport의 약자로, 사용자가 웹 페이지를 열었을 때, 첫 화면(뷰포트)이 렌더링되기까지 걸리는 시간을 의미합니다. 웹 성능 지표 중 하나로, 첫 인상을 좌우하는 데 중요한 역할을 합니다. 이번 글에서는 TTV가 무엇인지, 왜 중요한지, 그리고 이를 최적화하는 방법까지 깊이 파헤쳐 보겠습니다.🎯 TTV란 무엇인가요?TTV는 웹사이트가 사용자 화면에 첫 번째 유의미한 콘텐츠를 표시하기까지의 시간을 측정합니다. 사용자가 페이지를 열었을 때 아무것도 보이지 않는 상태에서 첫 콘텐츠가 나타나는 순간까지의 시간인 First Paint와 유사하지만, TTV는 유저가 실제로 보는 화면에 초점을 맞춘다는 점에서 차이가 있습니다.예를 ..

728x90
반응형