본문 바로가기

Resource/웹 프론트엔드9

[Next.js] 사용자 상태 관리: React의 상태관리와 비교 Next.js 프로젝트에서 사용자의 상태를 관리하는 방법은 전통적인 React 어플리케이션에서 사용되는 방식과는 꽤나 차이가 있습니다. 이는 Next.js 프로젝트의 렌더링 방식과 연관이 있습니다. 본 글에서는 Next.js의 장점을 최대한 활용하기 위해 React 어플리케이션 개발 방식과는 다른 접근이 필요함을 설명하고자 합니다. 전통적인 CSR 어플리케이션의 상태 관리 CSR(Client Side Rendering) 어플리케이션에서의 상태 관리는 주로 브라우저의 로컬 스토리지 또는 세션 스토리지를 활용하여 이루어집니다. 이 방식을 통해, 사용자의 인터렉션 (버튼 클릭, 페이지 방문 등)을 기반으로 동적인 상태 관리가 가능해집니다. 이러한 CSR 어플리케이션은 구현이 편리하다는 장점이 있습니다만, 브라.. 2024. 2. 5.
[Next.js] Next.js의 클라이언트, 서버 컴포넌트 / 렌더링 전략 / Time 클라이언트 / 서버 컴포넌트의 동작 방식 Next.js 어플리케이션에서 페이지를 요청받게 되면, 해당 페이지를 서버에서 렌더링 합니다. 일반적으로 페이지는 클라이언드, 서버 컴포넌트로 이루어져 있으며 각 컴포넌트들은 서버에서 pre-rendering 된 후에 브라우저로 보내집니다. 서버 컴포넌트의 경우 서버에서 모든 코드가 실행된 후 반환된 HTML이 클라이언트로 전송됩니다. 이 컴포넌트는 일반적으로 초기 페이지 로딩 시에 사용되고, 데이터를 가져오거나 SEO(Search Engine Optimization)를 위해 사용됩니다. 클라이언트 컴포넌트도 마찬가지로 서버에서 초기 HTML을 생성하는데, HTML과 함께 브라우저에서 실행될 JS 파일(ex. 사용자 인터렉션)도 생성해서 클라이언트로 전송합니다. .. 2024. 1. 28.
[Next.js] OAuth 인증 매커니즘 사전 지식 OAuth (Open Authorization) 2.0 OAuth는 인터넷 사용자가 웹사이트나 어플리케이션에 특정 정보를 제공할 수 있게 해주는 표준 인증 프로토콜입니다. 이 프로토콜은 사용자가 자신의 정보를 공유하는 데 있어 별도의 로그인 정보를 제공하지 않고도 서비스 제공업체(ex. Google, GitHub, Facebook, etc.)를 통해 안전하게 인증할 수 있도록 해줍니다. (OAuth 2.0은 기존 OAuth 1.0 프로토콜을 대체하는 프로토콜입니다.) OAuth 2.0 프로토콜은 사용자의 자격 증명을 직접 공개하지 않으면서 안전하게 서드파티 어플리케이션에 리소스 접근 권한을 제공해줍니다. OAuth 매커니즘 1. 권한 요청 (Authorization Request) 클라이언트 .. 2024. 1. 15.
[Next.js] Next.js 14 기초 기본 용어 메타데이터(metadata) Next.js는 메타데이터(metadata)로 HTML에서 사용하던 `head` 엘리먼트를 대신합니다. Next.js에서 폴더와 파일의 역할 폴더는 경로를 정의하는 데 사용됩니다. 경로는 루트 폴더(root folder)부터, `page.js` 파일이 포함된 최종 리프 폴더(leaf folder)까지 파일 시스템 계층 구조를 따라가는 중첩된 폴더(nested folder)의 단일 경로입니다. 파일은 경로 세그먼트에 표시되는 UI를 만드는 데 사용됩니다. Next.js에서 서버 컴포넌트를 먼저 렌더링(pre rendering)하여 HTML로 클라이언트에 전송합니다. SPA를 하기 위해 필요한 코드는 따로 js파일을 생성하여 브라우저에 전송합니다.(ex. Link 컴포.. 2024. 1. 4.