블로그 express + mongodb 로 만들기 15

블로그 만들기(4)- 게시판 기능 만들기 (pagination)

오늘 메인 페이지에 게시글 보여주려 하는데 기능을 만들기위해서 기능설명을 먼저 한글로 적어보면 1. db에서 post 컬렉션에 저장되어있는 title이랑 content를 찾기 2. 메인페이지에 html을 생성하기 순서대로 하면 될것 같습니다. 1번 기능 만들어보면 find().toArray()로 post에 들어있는 모든 document를 찾아서 result에 배열 형태로 저장한다음 그 값을 render()의 두번째 파라미터로 데이터를 보내줍니다. ejs 파일이라서 js 문법을 사용해서 html을 생성할 수 있는 장점이 빛을 낼 차례입니다. ejs 파일안에서 js 문법 사용하려면 안에 감싸주면 되고 html을 생성해주려면 이런식으로 감싸주면 ok 모르면 검색하면 되서 굳이 외울필요는 없어 보입니다. ren..

블로그 만들기(3) - 게시판 기능 만들기 ( 글쓰기 )

게시판 기능을 만들기 전에 기능설명을 먼저 해보면 1. NAV바의 글쓰기 버튼을 누르면 글쓰는 페이지로 이동한다. 2. 글쓰는 페이지에서 내용, 제목을 작성하고 글쓰기 버튼을 누르면 DB에 post 컬렉션에 글제목, 내용, 첨부파일 등을 저장한다. 이걸 코드로 구현하면 될것 같습니다. 이미지 게시 기능은 클라우드 기능을 이용해서 1. 파일을 전송하면, 클라우드 서비스에 이미지를 저장 2. 클라우드 연동 라이브러리에 이미지를 URL로 변환 3. 변환된 URL을 DB에 저장해서 보관해서 해결 이러한 3단계를 거쳐서 만들어야 하는데 이미지 기능은 필요한것 같으면 나중에 추가하면 되니깐, 일단 기본적인 글쓰기 기능을 만들어 보겠습니다. 환경변수를 이용해서, DB 비번, 클라우드 비번, 공용으로 사용되는 주요 변..

블로그 만들기(2) - 메인 페이지 제작하기.

메인페이지를 상세히 만들어 볼겁니다. 메인 페이지를 만들기 전에 navbar를 먼저 만드는게 좋아보입니다. nav 바는 모든 ejs 페이지에 공통적으로 들어갈것 같은데 ejs 문법중에 를 사용하면 같은 views 폴더에 있는 파일들의 ejs 파일을 가져다 쓸수 있습니다. 이렇게 쓰면 앞으로 상세 페이지 만들때마다 nav 복붙할필요 없이 include 문법을 사용하면 간단할것 같습니다. nav.ejs 파일 view에 추가하고 일단 포괄적으로 이정도만 구성하고 css는 gpt-4 를 이용해서 작성해 보겠습니다. 이렇게 css 파일을 작성해 줬습니다. 3. 서버를 통해 메인페이지를 보여주기 get요청을 통해서 /경로로 get요청 받을경오 main.ejs 파일을 렌더링 해줍니다. 잘 실행되는것 같습니다. 메인페..

블로그 만들기 (1) - 만들기 전에 해야 할 간단한 세팅

메인 페이지 만들기 위해서 구현해야할 기능들을 나열해보면. 1. 서버를 실행하고 2. 메인페이지를 제작하고 3. 서버를 통해서 메인페이지를 보여주자. 이렇게 3단계 거치면 될것같습니다. 1. 서버를 실행하기 일단 터미널에 npm install express. 이용해서 express 설치해주고 server.js에서 express를 사용하기위해 작성해야 하는 코드도 작성해 줍니다. (라이브러리 쓰는법 검색해서 복붙하기) 이제 서버 port 3000을 통해서 열리네요. 잘 동작하나 확인하기 위해서 app.get 사용해서 한번 확인해주려 하는데 그러면 서버 시작하는 방법을 알아야 할것 같습니다. node 파일명.js 이렇게하면 실행한다고 뜨는데 근데 이러면 귀찮은게, 새로운 코드를 작성할때마다. 1. Ctrl ..

블로그를 만들어보자 (express + mongoDB)

이거 작성하는 이유는.. 코딩애플 선생님의 node.js 강의에서 express + mongodb를 이용해서 블로그를 만드는 프로젝트를 따라해 봤는데, 강의를 다 진행하고 나서, 뭔가 이거 처음부터 혼자 만들면 안될것 같은 느낌이 들음 무작정 외우기보단, 필요한 순간에 검색을통해 사용방법을 찾고 활용하는걸 목표로 한다지만.. node 기반의 백엔드 포지션 하려면.. 뭔가 이정도 기능구현은 숨쉬듯 가능해야 할것같은 생각이 들음. 그래서 복기할겸, 강의 도움 없이 검색을 이용해서 다시 만들어보려함 기능을 구현하기 위한 라이브러리 사용법도 다시 익혀보고, 예외처리도 해볼예정. 물론 나는 애기 개발자라서 gpt-4와 검색을 적극 활용할것임.