728x90

React 37

nextjs 와 react 그리고 AWS

Next.js와 React는 둘 다 프론트엔드 웹 개발을 위한 인기 있는 라이브러리/프레임워크이지만, AWS 인프라를 구성할 때 몇 가지 중요한 차이점이 있습니다. 특히 서버 사이드 렌더링(SSR) 지원 여부와 배포 방식이 AWS 구성에 영향을 미치는데, 여기서는 두 가지 측면에서 AWS 인프라가 어떻게 달라지는지 설명드리겠습니다.1. 서버 사이드 렌더링(SSR) vs 클라이언트 사이드 렌더링(CSR)Next.js (SSR 지원)Next.js는 서버 사이드 렌더링(SSR), 정적 사이트 생성(SSG), 그리고 클라이언트 사이드 렌더링(CSR)을 모두 지원하는 풀스택 프레임워크입니다. AWS 인프라를 구성할 때, Next.js의 SSR 기능이 큰 차이를 만듭니다.SSR의 특징:페이지 요청 시 서버에서 HT..

React CI/CD (feat. AWS, Gitlab)

React 애플리케이션을 GitLab을 사용한 CI/CD와 AWS를 통한 배포로 구성하는 방법을 단계별로 설명드리겠습니다. 이 구성에서는 GitLab CI/CD 파이프라인을 사용하여 React 애플리케이션을 AWS S3와 CloudFront에 자동으로 배포하는 인프라를 구축합니다.1. AWS S3와 CloudFront 설정Step 1: S3 버킷 생성S3 버킷 생성:AWS Management Console에서 S3로 이동한 후 새로운 버킷을 생성합니다.버킷 이름은 고유해야 하며, AWS가 지원하는 모든 리전에 걸쳐 사용됩니다.버킷을 정적 웹사이트 호스팅용으로 설정:S3 설정에서 '정적 웹사이트 호스팅'을 활성화하고, 인덱스 문서(index.html) 및 오류 문서(error.html)를 설정합니다.버킷 ..

Redux Toolkit 활용(4강): React 호환성

React 호환성 개선이번 포스팅에서는 React와 Redux 간의 호환성 문제를 해결하는 방법에 대해 알아보겠습니다. 특히 컴포넌트 리렌더링 문제와 상태 구독의 비효율성을 다루고, Redux Toolkit과 Context API를 사용하여 React와 자연스럽게 통합하는 방법을 소개합니다.React와 Redux 간의 호환성 문제React와 Redux를 함께 사용할 때 발생할 수 있는 주요 문제 중 하나는 컴포넌트 리렌더링 문제와 상태 구독의 비효율성입니다.Redux의 전역 상태가 변경될 때 모든 관련 컴포넌트가 다시 렌더링되면서 성능 저하가 발생할 수 있습니다. 특히 상태 변경이 빈번할 경우, 불필요한 렌더링이 발생하여 사용자 경험에 부정적인 영향을 미칠 수 있습니다. 이러한 문제는 앱의 규모가 커질수..

Next.js의 서버 사이드 렌더링(SSR)

Next.js의 **서버 사이드 렌더링(SSR)**은 페이지를 서버에서 미리 렌더링한 후 클라이언트에게 전달하는 방식입니다. SSR을 사용하면 사용자나 검색 엔진이 페이지를 요청할 때 서버에서 HTML 파일을 생성해 보내므로, 클라이언트는 완성된 HTML을 빠르게 받을 수 있습니다. 이는 클라이언트 측에서 처음 페이지를 로드할 때 필요한 자바스크립트 처리 시간을 줄여 페이지의 초기 로드 속도를 크게 개선할 수 있습니다.Next.js SSR의 작동 방식페이지 요청: 사용자가 페이지를 요청하면 Next.js 서버는 해당 페이지를 서버에서 렌더링합니다.서버 렌더링: React 컴포넌트가 서버에서 실행되고, 그 결과로 HTML이 생성됩니다.HTML 전달: 서버에서 생성된 HTML이 클라이언트에 전달되고, 그 후..

React와 Next.js 비교

React와 Next.js 비교(장단점)React와 Next.js는 모두 인기 있는 웹 애플리케이션 개발 프레임워크이지만, 서로 다른 목적을 가지고 있으며 다양한 기능을 제공합니다. 여기서는 React와 Next.js의 차이점과 사용 용도에 대해 비교해 보겠습니다.1. React 개요React는 사용자 인터페이스를 구축하기 위한 자바스크립트 라이브러리로, 주로 애플리케이션의 뷰 계층에 집중합니다. 재사용 가능한 UI 컴포넌트를 만들고 상태 관리를 효율적으로 할 수 있습니다. React는 매우 유연하지만, 라우팅이나 서버 사이드 렌더링(SSR), 정적 사이트 생성(SSG) 같은 기능은 기본적으로 제공되지 않습니다.React 주요 특징:컴포넌트 기반 아키텍처: React 애플리케이션은 재사용 가능한 컴포넌트..

Zustand를 활용(4): 여러 컴포넌트 간 상태 공유

비동기 작업과 Zustand내용:비동기 작업을 처리하기 위한 상태 관리: 비동기 작업은 주로 API 호출, 데이터베이스 접근과 같은 외부 데이터를 가져오는 작업을 포함합니다. Zustand는 이러한 비동기 작업을 처리할 수 있도록 간단한 상태 관리 기능을 제공합니다.Zustand에서 비동기 작업(fetch API 등) 다루기: 비동기 작업은 async/await 구문을 사용하여 처리됩니다. Zustand의 상태 저장소에 비동기 작업을 추가하면 컴포넌트 간에 데이터를 손쉽게 공유할 수 있습니다. 이를 통해 API 호출 후 상태를 업데이트하고 UI에 반영할 수 있습니다.실습:1. API 데이터를 Zustand로 관리하는 예제// store.jsimport create from 'zustand';const u..

React/Zustand 2024.10.15

VS Code에서 React Hooks 사용법 학습하기(실습)

VS Code에서 React Hooks 사용법 학습하기React는 웹 애플리케이션을 개발할 때 매우 인기 있는 라이브러리입니다. 이 강의에서는 VS Code를 사용해 React 프로젝트에서 기본적인 Hooks를 어떻게 사용하는지 단계별로 배워볼 것입니다. 초급자도 쉽게 따라할 수 있도록 상세한 예제와 설명을 포함하여 작성되었습니다.강의 1: VS Code 설정 및 React 프로젝트 초기화목표: VS Code 설치 및 기본 개발 환경 설정 후 첫 React 프로젝트 생성VS Code 설치공식 사이트에서 VS Code 다운로드 및 설치기본 확장(Extensions) 설치: ES7+ React/Redux snippets, Prettier, ESLintNode.js 및 NPM 설치Node.js 설치 (NPM이..

React 2024.10.11

개발관점에서 바라본 React와 Next.js 비교 분석

Next.js의 개념 및 사용 방법Next.js는 React 기반의 프레임워크로, 서버 사이드 렌더링(SSR)과 정적 사이트 생성(SSG) 등과 같은 기능을 제공하여 빠르고 최적화된 웹 애플리케이션을 개발하는 데 큰 도움을 줍니다. 이 글에서는 Next.js의 주요 특징과 장점, 그리고 사용 방법에 대해 살펴보겠습니다. 1. Next.js의 주요 특징React 기반: Next.js는 React를 기반으로 하므로, React의 컴포넌트 구조와 라이브러리를 그대로 사용할 수 있습니다.Node.js, Webpack, Babel을 기반: Next.js는 Node.js 환경에서 동작하며, 빌드 시 Webpack과 Babel을 사용하여 모던 자바스크립트의 최신 기능을 지원합니다.파일 기반 라우팅: Next.js는 ..

Zod + Zustand + React Query로 인증(Auth) 구현하기 (ErrorBoundary & AxiosInstance 사용)

Zod + Zustand + React Query로 인증(Auth) 구현하기 (feat. ErrorBoundary & AxiosInstance)이번 섹션에서는 AxiosInstance를 활용하여 인증된 요청을 효율적으로 처리하는 방법을 설명합니다. 일반적으로 JWT 토큰을 사용한 인증은 로그인 후 accessToken을 HTTP 요청의 헤더에 추가해야 합니다. 이를 수동으로 처리하는 것은 번거롭기 때문에 AxiosInstance를 사용하여 이 작업을 자동화할 수 있습니다.AxiosInstance를 사용한 인증 요청 처리AxiosInstance 설정axios는 interceptors를 제공하여 요청이 발생하기 전, 또는 응답이 반환되기 전에 특정 로직을 추가할 수 있습니다. 이 기능을 사용해 요청마다 JW..

React에서 무한 스크롤(Infinite Scroll) 구현 및 성능 최적화

React에서 Infinite Scroll 구현 및 성능 최적화무한 스크롤(Infinite Scroll)은 사용자가 페이지 하단에 도달할 때마다 API를 호출하여 새로운 콘텐츠를 추가로 로드하는 방식입니다. 이 방식은 페이지 네이션(pagination)과 달리 사용자가 끊임없이 콘텐츠를 확인할 수 있어 **사용자 경험(UX)**을 향상시키는 중요한 기술입니다. 그러나 제대로 구현하지 않으면 성능 문제를 일으킬 수 있기 때문에 성능 최적화가 중요합니다.이 글에서는 React에서 Infinite Scroll을 구현하는 방법과 성능 최적화를 위한 기술을 다룹니다. 특히 디바운스(Debounce), 쓰로틀(Throttle), 그리고 Intersection Observer API를 사용하여 효율적인 무한 스크롤을..

728x90