본문 바로가기



전체  > 분류 전체보기 (54)

NextJs 11: next.js글수정 useEffect 안녕하세요, 각성한 데브키라입니다.  웹 애플리케이션 개발 과정에서 사용자의 편의를 위해 글 수정 기능을 추가하는 것은 매우 중요한 과정 중 하나입니다. 이를 위해 구조적인 준비와 코드의 정확한 구현이 필수적입니다. 본 문서에서는 글 수정 기능을 추가하기 위한 폴더 구조 설정과 필수 소스코드 구현에 대해 다루고자 합니다.1. 글수정을 위해 추가된 구조"update" 폴더를 생성하고 그 안에 "[id]"라는 이름의 디렉터리를 만들었습니다. 이 "[id]" 디렉터리는 특별한 기능을 가지고 있으며, 사용자로부터 입력 받은 id 파라미터를 "page.js" 파일로 전달하는 역할을 합니다.2. 글수정 소스코드입력 필드에 문자를 입력해도 반영되지 않는 문제를 방지하려면, onChange={(e)=>setTitle(..


NextJs 10: 버튼 컴포넌트를 별도 파일로 분리 후 활성 비활성화 처리 안녕하세요. 각성한 데브키라입니다. 이번 포스팅에서는 좌측 목록을 클릭했을 때 해당 목록의 ID가 존재할 경우에만 활성화되는 기능을 탑제한 버튼 영역을 별도의 클라이언트 컴포넌트 파일로 분리하는 작업을 진행하겠습니다. 목록 ID가 생성되지 않았을 때는 버튼이 비활성화되도록 처리할 것입니다.1. 버튼 영역을 별도의 컴포넌트로 분리2. 별도의 파일로 컴포넌트 분리좌측 목록을 클릭했을 때 전달되는 파라미터 값을 효율적으로 사용하기 위해서는 해당 부분을 클라이언트 컴포넌트로 정의해야 합니다. 그러나 특정 부분에만 "use client"를 적용할 수 없기 때문에, 이를 별도의 파일로 분리할 계획입니다.해당 컴포넌트 함수 상단에 위치한 전구 모양 아이콘을 클릭하면, 컴포넌트를 쉽게 별도의 파일로 분리할 수 있는 메..


NextJs 09: Next.js 글입력 작성과 캐시처리 안녕하세요. 각성한 데브키라입니다. JSON Server를 사용하여 Next.js에서 글 입력 기능을 구현하는 방법에 대해 설명하겠습니다. JSON Server는 REST API를 모의로 구현할 수 있는 간단한 방법을 제공합니다. 이를 통해 개발 중인 프런트엔드 애플리케이션에 백엔드가 없어도 데이터를 생성, 읽기, 업데이트, 삭제(CRUD)할 수 있습니다. fetch 함수에서 사용할 수 있는 캐시 옵션들은 다음과 같습니다. 이 옵션들은 요청 시의 캐싱 동작을 제어하는 데 사용됩니다. 이 포스팅에서는 no-store옵션을 사용하였습니다. 1. default: 브라우저의 기본 캐시 정책을 따릅니다. 명시적으로 캐싱 동작을 설정하지 않을 때 사용되는 기본값입니다.2. no-store: 어떠한 캐시도 사용하지 ..


NextJs 08: Next.js를 활용한 동적 웹 콘텐츠 글보기 화면 실습 안녕하세요, 각성한 데브키라입니다. 현대 웹 개발의 핵심은 사용자 경험입니다. 이를 위해 Next.js를 활용한 동적 웹 콘텐츠 구현 방법을 실습을 통해 공유합니다. Next.js는 빠르고 유연한 웹 애플리케이션 개발을 가능하게 합니다.1. 서버의 구성VSCode의 터미널에서 9999번 포트를 사용하여 서버를 실행하였습니다. 서버가 실행되면, 자동으로 db.json 파일이 생성됩니다. 실습을 위해, 이 파일에 popics라는 항목을 추가하였습니다.또한, Node.js는 3000번 포트로 실행되었습니다.파일명: db.json{ "topics": [ {"id": 1, "title":"블랙핑크", "body":"블랙핑크 good!"}, {"id": 2, "title":"아이브", "body":"아..


NextJs 07: 서버컴포넌트 vs 클라이언트컴포넌트 안녕하세요, 각성한 데브키라입니다. 오늘은 Next.js에서 제공하는 서버 컴포넌트와 클라이언트 컴포넌트의 차이점에 대해 알아보고, 각각의 상황에서 어떻게 활용하는 것이 가장 효과적인지에 대해 이야기해보겠습니다.Next.js의 서버 컴포넌트특징렌더링 방법: 서버가 HTML을 렌더링 하여 클라이언트에 전송합니다.자바스크립트 요구사항: 클라이언트가 자바스크립트 파일을 받지 않으므로, 브라우저에서 자바스크립트가 비활성화되어도 페이지가 제대로 기능할 수 있습니다.사용 사례: 사용자 상호작용이 없는 정보 페이지에 주로 사용됩니다.장점1. 빠른 초기 로딩 속도: 서버에서 미리 렌더링된 HTML로 인해 초기 페이지 로딩이 빠릅니다.2. SEO 최적화: 서버 렌더링 페이지는 검색 엔진에 의해 더 잘 인식됩니다.3. 클..


NextJs 06: npx와 json-server 사용하기 안녕하세요. 각성한 데브키라입니다.  웹 애플리케이션을 개발할 때 백엔드 개발이 완료되기 전에 프론트엔드 개발을 진행해야 하는 경우가 있습니다. 이런 경우, "가짜" 데이터를 제공할 수 있는 간단한 서버가 필요합니다. json-server는 이 목적에 매우 적합한 도구입니다. 이 글에서는 json-server를 사용하여 간단하게 REST API를 구축하는 과정을 안내합니다.json-server란 무엇인가?json-server는 JSON 파일을 데이터베이스로 사용하여 가짜 REST API를 생성할 수 있게 해주는 Node.js 라이브러리입니다. 설치가 쉽고 몇 줄의 명령어로 서버를 시작할 수 있습니다.설치 및 실행npx를 사용하여 json-server를 설치하지 않고 실행할 수 있습니다. npx는 Node..


NextJs 05: 넥스트Js에서 정적 자원 사용하기 안녕하세요. 각성한 데브키라입니다.  NextJs에서 정적 자원 즉 이미지 파일이나 미리 정의된 데이터파일 또는 템플릿 파일을 사용할때 public폴더를 사용하면 정적데이터를 사용하실수 있습니다.정적 파일과 동적 파일은 웹 개발에서 자주 언급되는 개념입니다. 이 둘의 차이점과 정적 파일을 사용하는 이유를 아래에서 설명하겠습니다.[ 정적 파일(Static Files)과 동적 파일(Dynamic Files)의 차이점 ]정적 파일(Static Files)- 정의: 서버에 미리 저장된 파일로, 서버에서 추가적인 처리 없이 그대로 클라이언트에 전달됩니다. HTML, CSS, JavaScript 파일, 이미지 등이 여기에 해당합니다.- 특징: 사용자의 요청이나 사용자의 입력에 따라 내용이 변경되지 않습니다. 모든 ..


NextJs 04: Link태그와 <a> 태그의 차이점을 이해하고 라우팅 설정까지 안녕하세요. 각성한 데브키라입니다.  웹 개발을 하다 보면, 사용자를 한 페이지에서 다른 페이지로 이동시키는 링크를 자주 사용합니다. 이때, Next.js 프레임워크를 사용하는 경우 Link 컴포넌트와 일반 HTML 태그 중 어떤 것을 사용해야 할지 고민할 수 있습니다. 이 블로그 포스트에서는 두 방식의 주요 차이점을 살펴보고, 어떤 상황에서 각각을 사용하는 것이 좋은지 알아보겠습니다. 웹 애플리케이션의 사용성과 퍼포먼스를 최적화하는 것은 개발자에게 중요한 과제 중 하나입니다. Next.js는 이러한 과제를 해결하기 위해 효율적인 라우팅 시스템을 제공합니다. 특히, Link 컴포넌트를 통해 클라이언트 사이드 라우팅을 지원하며, 이는 전통적인 태그 방식과 비교했을 때 몇 가지 이점을 제공합니다.Next..