Next.js(13)
-
Next.js 글 삭제 기능과 애니메이션 구현 (7)
글 삭제 기능과 애니메이션 구현 글 삭제 버튼 만들기 글 삭제 기능을 만들기 위해 먼저 각 글마다 삭제 버튼을 만들어야 합니다. 이 때, 삭제 버튼을 누르면 해당 글이 데이터베이스(DB)에서 삭제되고, 그 과정에서 글 목록에서 해당 글이 서서히 사라지는 UI 애니메이션을 추가해보겠습니다. Client Component에서 애니메이션 구현 먼저, '삭제 버튼'을 누르면 해당 글이 서서히 사라지는 기능은 클라이언트 컴포넌트에서만 구현할 수 있습니다. 이를 위해 클라이언트 컴포넌트를 만들어서 코드를 작성하겠습니다. 하지만 기존에 있던 '/list/page.js' 파일을 전부 클라이언트 컴포넌트로 바꾸는 것 보다는, JavaScript 기능이 필요한 부분만 클라이언트 컴포넌트로 바꾸는 것이 효율적입니다. Lis..
2024.03.05 -
Next.js 블로그 글 수정 기능 만들기 (6)
블로그 글 수정 기능 만들기 안녕하세요! 오늘은 웹사이트에 글 수정 기능을 어떻게 만드는지에 대해 알아보려고 합니다. 1단계: 수정 버튼 만들기 먼저, 각 게시글마다 수정 버튼을 만들어봅시다. 이 버튼은 사용자가 클릭하면 해당 게시글의 수정 페이지로 이동해야 합니다. 이 때, URL은 '/edit/게시물id' 형식으로 만들어져야 합니다. 이렇게 하면 URL을 통해 어떤 게시글을 수정하는지 알 수 있습니다. 2단계: 수정 페이지 만들기 다음으로 수정 페이지를 만들어봅시다. 이 페이지는 기본적으로 게시글 작성 페이지와 비슷하게 만들어져야 합니다. 하지만, 이 경우에는 이미 작성된 게시글의 내용을 DB에서 가져와서 보여주어야 합니다. 이를 위해, 페이지가 로드될 때 DB에서 해당 게시물의 내용을 가져와서 in..
2024.03.03 -
Next.js를 활용한 게시글 작성 기능 구현: 서버와 DB 활용하기 (5)
Next.js를 활용한 게시글 작성 기능 구현: 서버와 DB 활용하기 Next.js를 활용하여 웹사이트에서 사용자의 게시글을 작성하고 그 내용을 데이터베이스(DB)에 저장하는 기능을 만드는 과정에 대해 알아보겠습니다. 이 과정은 크게 사용자의 요청을 처리하기 위한 서버 설정, 글 작성 기능의 구현, 그리고 데이터베이스에 데이터를 저장하는 과정으로 나눌 수 있습니다. 1. 서버의 필요성 사용자가 DB에 직접 데이터를 저장하거나 가져오게 하면 문제가 발생할 가능성이 높습니다. 예를 들어 사용자가 이상한 데이터를 DB에 저장하거나 민감한 정보를 가져오는 일이 발생할 수 있습니다. 이를 방지하기 위해 사용자의 DB 입출력 요청을 안전하게 대리로 수행하는 '서버'가 필요합니다. 서버는 사용자의 요청을 받아 해당 ..
2024.03.03 -
Next.js에서 Dynamic Route를 활용한 게시판 구현하기 (4)
Next.js에서 Dynamic Route를 활용한 게시판 구현하기 1. Dynamic Route를 활용해보자 Next.js에서는 Dynamic Route라는 기능을 제공합니다. 이를 활용하면 URL을 동적으로 생성할 수 있습니다. 파일이나 폴더 이름을 [name] 형식으로 생성하면 됩니다. 예를 들어, /detail/[id]/page.js라고 만들면, /detail/1, /detail/2 등으로 접속할 때마다 page.js가 표시됩니다. 2. MongoDB에서 게시물 하나 가져오기 MongoDB에서 findOne() 메소드를 사용하면 특정 document를 가져올 수 있습니다. 예를 들어 db.collection('post').findOne({_id : new ObjectId(props.params.i..
2024.03.03 -
Next.js와 MongoDB를 활용한 게시판 만들기 (3)
Next.js와 MongoDB를 활용한 게시판 만들기 1. 첫 번째 단계: 게시판의 기능 정의 게시판을 만들기 위해서는 어떤 기능이 필요한지 먼저 정의해야 합니다. 일반적인 게시판에는 다음과 같은 기능이 있습니다: 글목록 조회기능 상세페이지 기능 글발행기능 수정/삭제기능 이 중에서 가장 중요한 기능인 글목록 조회기능부터 만들어봅시다. 2. 두 번째 단계: 기능 별 구현 방법 정의 각 기능을 구현하기 위한 방법을 정의해야 합니다. 예를 들어, DB에 저장된 글들을 보여주는 기능을 만들고 싶다면 다음과 같은 방법을 사용할 수 있습니다. html 페이지를 만들어서 사용자에게 보여줄 준비를 합니다. 사용자가 페이지에 접속하면, DB에서 데이터를 꺼내옵니다. 꺼내온 데이터를 html 페이지에 삽입하여 사용자에게 ..
2024.03.01 -
Next.js 프로젝트와 MongoDB 연동하기 (2)
Next.js 프로젝트와 MongoDB 연동하기 1. MongoDB에서 데이터 생성하기 먼저, MongoDB에서 데이터를 생성해봅시다. MongoDB에 로그인 후 'collections' 버튼을 클릭하면 데이터베이스의 데이터를 볼 수 있습니다. 현재는 아무 데이터도 없으니, 'Add my own data' 버튼을 눌러 데이터를 추가해봅시다. 'forum'이라는 이름의 데이터베이스와 'post'라는 이름의 컬렉션을 만들어봅시다. 데이터베이스를 먼저 만든 후, 그 안에 컬렉션을 만들고, 그 안에 다시 도큐먼트를 추가할 수 있습니다. 도큐먼트에는 원하는 데이터를 자유롭게 추가할 수 있습니다. 예를 들어, 게시글의 제목과 내용을 저장하고 싶다면, 다음과 같이 도큐먼트를 생성할 수 있습니다: //json { "t..
2024.03.01