[유튜브 강의] Node.js 와 mongoDB, Heroku(헤로쿠,히로쿠)로 만드는 다이어리 앱 (서버편) - 1

2020. 1. 29. 11:30[유튜브 강의]- 센치한 개발자/[Server] 잡다한 강의 - 진행중

728x90

 

▶︎ 센치한 개발자 유튜브 구독하기 : https://www.youtube.com/channel/UCvb9oqG4CtZ5H4m_NSD1GYA?sub_confirmation=1

 

[ Node js 와 mongoDB, Heroku(헤로쿠)로 만드는 다이어리앱 (서버편) 목차 ]

1. Node js 와 mongoDB, Heroku(헤로쿠)로 만드는 다이어리앱 (서버편) - 1

2. Node js 와 mongoDB, Heroku(헤로쿠)로 만드는 다이어리앱 (서버편) - 2

3. Node js 와 mongoDB, Heroku(헤로쿠)로 만드는 다이어리앱 (서버편) - 3

4. Node js 와 mongoDB, Heroku(헤로쿠)로 만드는 다이어리앱 (서버편) - 4 (서버편 완결)

 

 

*. 참고 공식 사이트 

https://devcenter.heroku.com/articles/getting-started-with-nodejs

 

Getting Started on Heroku with Node.js | Heroku Dev Center

This tutorial will have you deploying a Node.js app to Heroku in minutes. Hang on for a few more minutes to learn how to get the most out of the Heroku platform. In this step you’ll install the Heroku Command Line Interface (CLI). You use the CLI to manage

devcenter.heroku.com

[ 사전 지식 ]

 - node.js : 자바스크립트 언어를 활용하여 고객쪽, 서버쪽 이 녀석(?) 하나로 모두 구동이 가능한 언어

 - npm : 자바스크립트 프로그래밍 언어를 위한 패키지 관리자

 - express : 위의 node js를 편리하게 개발하게 도와주는 웹 프레임워크로 거의 node js 의 표준 웹 프레임워크로 통하고 있음

 - mongoDB : 데이터 베이스의 일환으로 전통적인 테이블 기반으로 서로 얽히고 설킨 관계형 DB 가 아닌(방송에서 설명드릴게요~) JSON들의 행(Row)들로 구성된 데이터베이스 종류 중의 하나

 - Heroku : 개발 프레임워크(여기서는 node.js)를 탑재하여 구동시킬수 있는 클라우드 서비스이며, 히로쿠로 발음해야 하나 한국에서는 헤로쿠로 이름이 거의 정착되었습니다.

주력 언어들을 지원하고 있는 헤로쿠 (지만 나는 히로쿠로 발음하고 싶다) *. https://www.heroku.com

 


 

 

[ 준비 - 기본 설치 및 프로그램 셋팅 ]

*. 모든 것의 첫시작은 셋팅.. 귀찮지만 해야합니다.. 밥도 솥이 있어야 끓이죠..ㅜ

 

(1) node js 및 npm, git 로컬에 설치하기

 *. 나도 모르게, 어느샌가 쥐도새도 모르게 설치되어 있는건 아닌지 확인해보고 이미 되어 있으면 또다른 나의 과거의 자아에게 땡큐베리감사해 합니다.

$ node -v

$ npm -v

$ git --version 

 

 1) https://nodejs.org/ko/

 2) https://git-scm.com/book/ko/v2/시작하기-Git-설치

 

(2) 소스 관리하는 툴 source tree 설치

https://www.sourcetreeapp.com

 

Sourcetree | Free Git GUI for Mac and Windows

A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client for Windows and Mac.

www.sourcetreeapp.com

(3) heroku 사이트 가입하기

https://www.heroku.com/

 

Cloud Application Platform | Heroku

Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.

www.heroku.com

(4) heroku cli 설치 

https://devcenter.heroku.com/articles/heroku-cli#download-and-install

 - 왜 : 로컬 콘솔을 통해 명령어로 소스를 업로드하거나 앱을 시작하거나 하는 동작이 가능하게 하는 툴입니다.

 

(5) 소스 개발 IDE 다운로드 : 젯브레인사의 intelliJ (웹스톰도 있지만.. 인텔리J는 좀더 많은 프로젝트들을 지원하기에..)

*. 학생이시면 학생용 무료, 개인이시면 1년치 구매를 하시는 것을 권장..(또는 불안정한 버전으로 사용을 해보시려면 EAP버전도 있습니다)

https://www.jetbrains.com/ko-kr/idea/download

*. 각종 비상업용 버전(학생용 등)의 경우, 상업적으로 사용하지 말아야하는 등의 라이센스 정책을 꼭! 확인하시길 바랍니다.

(주의! 라이센스 정책 위반에 대해서는 전적으로 사용자 본인에게 책임이 있습니다)

 

*. 또는 VsCode 도 있습니다. 다만 저같이 프로젝트 한큐(?)에 간편하게 만드는 걸 좋아하는 분에게는 비추하지만..간편하게 사용하기에는 좋습니다~ (feat. 호불호)

 


[ 시작 ]

(1) heroku 로그인

 $ heroku login

 - 왜 : 앱을 구동하기 위한 클라우드 환경인 "히로쿠"를 지금 이 컴퓨터에서 시작한다는 개념으로 생각하세요

 

(2) heroku 에서 샘플 앱 받기 (소스)

 - 소스 다운 / 소스다운 받은 디렉토리로 이동

   $ git clone https://github.com/heroku/node-js-getting-started.git sentilab-heroku

   $ cd sentilab-heroku

 - 왜 : 이 샘플 소스로 최초에 앱을 구동해서 맛을 보고 나중에 원하는 소스로 바꿔치기(?)할 생각입니다. 

 

(또는)

  $ git clone https://github.com/heroku/node-js-getting-started.git

  $ cd node-js-getting-started

 

(3) heroku 사이트에 앱 만들기 (저는 앱 이름은 sentilab-heroku) <- 원하는 앱 이름으로 하세요

  $ heroku create sentilab-heroku

 - 왜 : 히로쿠 서버에 내 앱(sentilab-heroku)을 설치할 예정이니 공간을 만들어 놓아라~

 

(4) 사이트 접속해보기 

   $ heroku open

 

  *. flag 어쩌구 --app 어쩌구 에러가 나는 경우 :

  $ heroku open --app 앱이름( (2),(3)번에서 정한 앱 이름 ) 또는

  $ heroku open --a 앱이름( (2),(3)번에서 정한 앱 이름 )

이렇게 페이지가 떠야 정상적으로 샘플 소스가 구동된 것입니다. ( 첫 node js 프로젝트!! )

 *. 참고로 헤로쿠의 경우... 무료버전 (신용카드 미입력버전)은 30분한에 재접속이 없으면 서버가 닫힙니다.. 재접속하면 자동으로 열리지만..빠른 접속을 원한다면 미리미리 그때그때 다시 열어줘야... (흑..)

그게 싫다면...주기적으로 http 접속을 시도하는 코드(모듈)를 프로젝트안에 넣어서 자체적으로 자기접속(?)을 하게 만들면 됩니다.

 

728x90