Skip to content

Eirene-dev/react_programming_with_Next.js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

레벨업 리액트 프로그래밍 with Next.js

『레벨업 리액트 프로그래밍 with Next.js (웹앱의 작동 원리부터 SSR 방식을 적용한 현대적 접근까지)』 책은 리액트와 Next.js를 사용하여 현대적인 웹 애플리케이션을 구축하는 방법을 단계별로 설명합니다. 이 책을 통해 리액트의 기본부터 고급 기술, 그리고 Next.js를 활용한 서버 사이드 렌더링, 정적 사이트 생성, API 라우트 등의 다양한 주제를 다룹니다.

책의 구성

1부: 현대 웹 개발의 기초

👉 1장. 리액트와 Next.js를 통한 웹 개발 혁신

  • 1.1 리액트와 Next.js는 무엇인가?
  • 1.2 리액트와 Next.js로 얻는 사용자 경험 향상
  • 1.3 리액트와 Next.js를 통한 개발자 생산성의 제고
  • 1.4 왜 Next.js인가?
  • 1.5 요약 및 연습 문제

👉 2장. 웹 세계의 이해

  • 2.1 웹의 기초: 웹 개발 히스토리
  • 2.2 렌더링의 이해: 브라우저에서의 웹 페이지 렌더링 메커니즘
  • 2.3 웹의 기본 구성 요소: HTML, CSS, 자바스크립트
  • 2.4 네트워킹 기초: 도메인, URL, 라우팅
  • 2.5 인프라 구조: 웹 서버, 엣지, CDN
  • 2.6 웹 개발의 필수 구성 요소: 주요 기술과 도구의 통합
  • 2.7 요약 및 연습 문제

👉 3장. 현대 웹 개발의 고급 기법

  • 3.1 Next.js 렌더링의 신세계: SSR, CSR, 하이드레이션, 웹 스트리밍
  • 3.2 코드 유지 보수성의 탁월함: 모듈화와 함수형 프로그래밍 접근 방식
  • 3.3 배포 및 운영 최적화 전략: 서버 아키텍처의 다양한 옵션
  • 3.4 현대 웹 프레임워크와 라이브러리: 리액트, 앵귤러, 뷰, 스벨트
  • 3.5 코어 웹 바이탈: 사용자 경험을 개선하는 접근
  • 3.6 요약 및 연습 문제
2부: 리액트&Next.js 실전 마스터

👉 4장. 효율적인 웹 개발 환경 구축

  • 4.1 개발 도구 및 라이브러리 설치
  • 4.2 Next.js 설치
  • 4.3 첫 Next.js 프로젝트 시작: 보일러플레이트 애플리케이션
  • 4.4 생산성을 높이는 개발 환경 설정
  • 4.5 개발 환경의 보안과 유지 보수

👉 5장. 웹 애플리케이션의 뼈대 만들기

  • 5.1 Next.js를 위한 리액트 개요
  • 5.2 리액트 컴포넌트와 속성
  • 5.3 리액트 사용자 상호 작용과 상태 관리
  • 5.4 리액트의 고급 개념과 패턴
  • 5.5 반응형 내비게이션 메뉴 실습하기

👉 6장. 최적의 Next.js 애플리케이션 구조 설계

  • 6.1 Next.js 프로젝트 구조와 조직화
  • 6.2 Next.js 앱 라우터 기반 라우팅 기법
  • 6.3 라우팅 시 특정 상황에 대한 UI 처리
  • 6.4 CSS 스타일과 디자인 적용
  • 6.5 Next.js의 내장 기능을 활용한 이미지, 폰트, 외부 스크립트 최적화
3부: Next.js의 심화 전략 및 최적화와 성능 관리

👉 8장. Next.js 고급 기법 탐구

  • 8.1 병렬 라우트 및 경로 가로채기
  • 8.2 라우터 핸들러: 동적 라우팅 관리
  • 8.3 미들웨어: 서버의 요청 완료 전 효율적 처리
  • 8.4 i18n: 다국어 제공
  • 8.5 폼 및 변형: 서버 액션
  • 8.6 메타데이터 관리
  • 8.7 지연 로딩 성능 최적화
  • 8.8 MDX 사용
  • 8.9 콘텐츠 개발을 효율화하는 초안 모드
  • 8.10 콘텐츠 보안 정책
  • 8.11 인증: 사용자 보안 관리

👉 9장. 안정적으로 서비스하는 배포 및 전략

  • 9.1 웹 애플리케이션을 운영하는 빌드 최적화
  • 9.2 다양한 배포 옵션
  • 9.3 Next.js 배포 최적화 및 관리 전략
  • 9.4 소프트웨어 장애 복구와 안정성

👉 10장. Next.js 애플리케이션 테스팅 및 성능 측정과 최적화

  • 10.1 단위 및 통합 테스트: Jest와 리액트 테스팅 라이브러리
  • 10.2 E2E 테스트: Cypress, Playwright
  • 10.3 웹 바이탈: Next.js의 내장 기능을 활용한 성능 측정
  • 10.4 성능을 최적화하는 크롬 개발자 도구와 라이트 하우스
4부: 실전! 웹 애플리케이션 개발 프로젝트

👉 11장. 차트 중심 대시보드 설계

  • 11.1 프로젝트 소개 및 라이브러리 설정
  • 11.2 웹 애플리케이션 스타일링 및 메인 페이지 구축
  • 11.3 버셀 Postgres 데이터베이스 생성 및 환경 변수 설정
  • 11.4 인증 환경 설정과 회원가입 및 로그인 구현
  • 11.5 대시보드 사용자 인터페이스 개선: 사이드 메뉴 구현
  • 11.6 사용자 계정 관리 및 API 사용 키 발급
  • 11.7 프로젝트 관리
  • 11.8 웹 바이탈 지표 정보 추출과 수집
  • 11.9 라우터 핸들러를 통한 데이터 수신 및 데이터베이스 저장
  • 11.10 대시보드 UI 구성
  • 11.11 버셀 배포 플랫폼에 배포 및 업데이트 필요 사항

👉 12장. AI 챗봇을 통합하는 웹 애플리케이션

  • 12.1 프로젝트 소개와 라이브러리 설정
  • 12.2 웹 애플리케이션 스타일링 및 메인 레이아웃 구성
  • 12.3 OpenAI API와 버셀 AI SDK 알아보기
  • 12.4 날씨 대화에서 구조화된 데이터 추출하기
  • 12.5 현재 날씨 정보를 컴포넌트 UI로 제공하는 챗봇 만들기
  • 12.6 날씨 AI 챗봇 구현 완성
  • 12.7 추가로 고려해볼 사항

👉 13장. 전자 상거래 사이트

  • 13.1 프로젝트 소개 및 라이브러리 설정
  • 13.2 쇼피파이와의 헤드리스 스토어프런트 통합
  • 13.3 전자 상거래 사이트를 개발하는 베스트 프랙티스
  • 13.4 추가로 고려해볼 사항

프로젝트 코드 구조

본 책에서 다루는 각 장의 예제 프로젝트 코드는 다음과 같이 구성되어 있습니다.

  • /chapter4/boilerplate/: Next.js 프로젝트 생성과 기본 구조 설명
  • /chapter5/levelup-react/: 리액트 기본 개념과 Next.js 적용
  • /chapter6_7/levelup-react-with-nextjs/: Next.js를 활용한 심화 리액트 프로젝트
  • /chapter11/levelup-dashboard/: 차트 중심의 대시보드 설계와 구현
  • /chapter12/levelup-weather-chat/: AI 챗봇 통합 웹 애플리케이션
  • /chapter13/levelup-commerce/: 전자 상거래 사이트 개발

각 프로젝트 폴더에는 해당 프로젝트에 대한 상세한 ReadMe 파일이 포함되어 있어 프로젝트의 세부적인 내용을 파악하고 진행할 수 있습니다.

서브모듈 포함 안내

이 프로젝트는 서브모듈을 포함하고 있습니다. 서브모듈을 포함하여 프로젝트를 클론하는 방법은 다음과 같습니다.

git clone https://github.com/bjpublic/react_programming_with_Next.js.git
cd react_programming_with_Next.js
git submodule update --init --recursive

문제 해결 및 Q/A

이 책과 모든 프로젝트 뿐만 아니라 "레벨업 리액트 프로그래밍 with Next.js" 책에 대한 모든 질문과 답변은 https://reactnext-central.xyz/levelup 웹 페이지에서 진행됩니다. 이 페이지를 통해 궁금한 점을 해결하고 다른 사용자들과 지식을 공유할 수 있습니다.

출간 후 온라인 추가 자료

「12장. AI 챗봇을 통합하는 웹 애플리케이션」의 실습 프로젝트 업데이트

이 장의 실습 프로젝트는 2.x 버전으로 구현되었습니다. 이 버전은 기본적인 텍스트 생성 및 채팅 기능을 지원했지만 대규모 언어 모델에 대한 접근 및 관리 기능이 제한적이었고 새로운 기능 추가에 대한 유연성이 부족했습니다. 버셀 AI SDK가 버전 3.x로 업그레이드되면서 성능 향상과 새로운 기능이 추가되었습니다. 주요 변경 사항은 다음과 같습니다.

  • 성능 향상: 서버와 클라이언트 간의 데이터 전송 속도 향상
  • 새로운 기능 추가: 새로운 스트리밍 텍스트 프로토콜 도입, useCompletion 훅 추가
  • Deprecated API 대체: 기존 StreamingTextResponse API가 새로운 프로토콜로 대체
  • 3.1 버전: 클라이언트와 서버 간 데이터 스트리밍 기능 개선, 다양한 AI 모델 제공자 지원 강화
  • 3.2 버전: 버그 수정 및 안정성 개선, 성능 최적화, 새로운 기능 도입

업데이트된 버전은 최신 버셀 AI SDK를 사용하고 OpenAI의 Chat Completion과 Assistants를 이용하여 구현된 예제를 제공합니다.

위 링크를 통해 최신 정보와 예제를 확인할 수 있습니다.

온라인 서점 구매 링크

저자 소개

팍스는 전문 프로그래머이자 기술 도서 작가입니다. 광범위한 컴퓨터 및 소프트웨어 아키텍처 경험을 바탕으로 다양한 플랫폼과 웹 기술을 다루어 왔습니다. 팍스는 실시간 OS, 임베디드 시스템, 안드로이드 및 타이젠 플랫폼뿐만 아니라 Chromium 및 WebKit 기반의 웹 앱에서도 작업했습니다. 또한 JSP, ASP.NET, Django 및 Spring Framework를 사용한 백엔드 개발에도 전문성을 갖추고 있으며 성능 최적화에도 주력해왔습니다.

팍스는 IEEE 논문을 다수 발표하여 성능 및 저전력 시스템 설계 분야에서 전문성을 인정받았습니다. 또한 임베디드 소프트웨어 공모전에서 대상을 수상하며 그 실력을 인정받았습니다. 현재 Pax는 웹, 모바일, AI 기술을 결합한 혁신적인 서비스 개발에 주력하고 있습니다. 저서 『레벨업 리액트 프로그래밍 with Next.js』를 통해 사용자 중심의 소프트웨어 설계와 지속 가능한 개발 방법론에 대한 통찰을 공유하고자 합니다.

책 표지

앞 표지 뒤 표지

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 90.5%
  • CSS 7.2%
  • JavaScript 2.3%