히로쿠를 사용해 보자-1편/HowToUseHerokuChapter1

in #busy6 years ago

image.png



들어가며...


오늘 이야기하고 싶은 내용은 히로쿠에 대한 것입니다. Google, Amazon, IBM등에서 제공하는 유명한 클라우드가 많지만, 지속적으로 무료 제공이 되고, 사용하기 간단한 장점이 있어서 널리 많이 사용되는 클라우드 입니다.

더군다나 요즘 추세가 클라우드 또는 하이브리드 아니겠습니까?

사실 저도 최근에 사용하기 시작했는데요, 처음에는 이름부터 거부감이 있었지만, 쓰다보니 너무 좋습니다. 더군다나 나름 유명한 클라우드 이구요..

"24시간, 나를 대신해서 일해줄, 무언가가 필요하신 분은 앞으로 연재를 잘 보아 주세요.



사용하기 간단하다?


사용하기 간단하다는 의미는 아래와 같은 장점이 있다는 의미 입니다.

  1. Heroku git 또는 Github와 연동이 되고, 거기에 더불어 Github의 소스를 고치면, 자동으로 heroku서버에 반영이 되는 장점이 있습니다.
  2. 꼭 web app을 돌려야 하는 것은 아니지만, web으로 접속하는 형태의 app을 쉽게 돌리기 위해서
    URL을 제공합니다.
  3. MongoDB등의 database, Ping과 같은 종류의 monitoring tool, schedule등 다양한 plugin을 해당 사이트에 별도 가입 없이 쉽게 설치해서 사용할 수 있습니다.
  4. node.js의 경우 package.json을 보고, 자동으로 환경을 설치해 줍니다. 즉 npm install 과정이 필요하지 않습니다.
  5. 환경 변수를 통해서 중요한 password등을 소스에 넣지 않고, 연동해서 사용할 수 있다.



언제 필요한가?


이런 질문은 언제 클라우드가 필요한가라는 질문으로 바꾸어 생각해 볼 수 있습니다.

  1. 예를 들어 steemit에 자동으로 응답을 달아주는 bot을 개발할때
  2. node.js 기반의 chatbot을 개발할때
  3. 24시간 동안 항상 돌아가야 하는 무언가를 개발할때

아마도 주로 3번의 need가 있어서 클라우드를 사용하는 것이 아닐까 합니다. 3번을 조금 더 확장해 보면

  1. 24시간 동작해야 하는 챗봇
  2. 24시간 동작해야 하는 트레이딩 봇(가상 화폐, 주식등)
  3. 24시간 동안 데이터를 수집하고 분석하는 봇
    등이 그 예입니다.

만약 이런 클라우드가 없다면, 우리 집에 있는 PC가 24시간 돌아가야 하는데, 이는 쉽지 않은 일입니다. 당장 전기세만 해도 600W짜리 파워 서플라이를 사용한다면, 순수하게 컴퓨터에 대한 전기세로만 82,450원이라는 어마어마한 요금을 내야 합니다.

image.png

따라서, 무언가 24시간 돌려야 하는 컴퓨터 프로그램이 있다면 클라우드가 정답입니다. 그래서 오늘은 그 클라우드 중에 히로쿠에 대해서 알아보려고 합니다.



가입하기


우선 가입부터 해야 합니다. 가입은 몇몇 정보를 적고, 입력한 email로 오는 확인 링크를 눌러주면 완료 됩니다.

https://signup.heroku.com/login

여기로 가셔서 가입 정보를 적으시면 됩니다.

image.png

회사 이름은 넣으셔도 되고, 안 넣으셔도 됩니다. 이름, 성, 이메일, 역할, 국가, 프로그램 언어를 넣으시고 하단의 "CREATE FREE ACCOUNT"를 누르면 가입 확인 메일이 옵니다.



추가 정보 입력


일단 여기까지 하면 무료로 히로쿠를 사용할 준비가 되었습니다. 여기에 추가로 할 일이 2가지 있습니다.

추가 plugin이나 추가 시간이 필요하지 않으시다면, 여기는 skip하셔도 됩니다.

  1. 신용카드 정보 입력. 히로쿠는 무료이고, 유료로 사용하는 항목에 대해서는 사전에 고지가 됩니다. 자동으로 결제가 되지는 않으니 이를 염려하실 필요는 없습니다. 하지만 신용카드 정보를 넣어야지 다양한 plugin들과 자동으로 연동이 되고, 한달에 1000시간까지 무료로 쓰는 추가 혜택이 가능합니다. 1000시간이면 하나의 프로그램을 한달동안 돌리기에 충분한 시간입니다.

    하지만, 2개 이상의 프로그램을 돌린다면 1000시간은 금방 가게 되니, 가능한 beta이던 alpha이던 실제 서비스를 돌려야 한다면, 계정을 하나 더 만들어서 돌리시는 것을 권장합니다.

  2. 2FA 인증. 구글 OTP와 같은 것으로 password뿐만 아니라 OTP를 입력해서 login하는 것으로 변경합니다. 아무래도 1번에 신용카드 정보를 넣었으니 보안이 중요하겠죠.

다만 완전 무료 버전의 경우, 특별한 조치를 하지 않은 상태에서, 1시간 동안 접속 시도가 없으면 bot이 sleep에 들어가고 응답이 늦어지게 됩니다. 이 경우 다시 응답 요청이 오면, 깨어나긴 하지만 응답이 늦어지지 약간의 꼼수?를 써야 합니다. 이 특별한 조치 = 꼼수에 대해서는 역시 다음시간에 공유드리겠습니다.



첫 서버 프로그램 만들어 보기


이메일로 인증을 하고 처음 접속을 하면 tutorial이 나옵니다. 내용을 차근 차근 보셔도 되고 skip하셔도 됩니다.

이 과정이 끝나면 화면 상단 오른쪽에 new라는 버튼이 나옵니다.
image.png

"create new app"을 선택합니다.

image.png

app-name을 입력하시고 create app을 누릅니다. app-name은 나중에 우리가 개발한 app의 홈페이지 주소가 됩니다. 따라서 기존의 다른 heroku app과 중복이 되면 안되고, 나름 가독성도 있어야 합니다.

우선은 steemitest로 해보겠습니다. 이름은 모두 소문자여야 합니다. 이걸 보고 따라하시는 분들은
"steemitestjeaimetu"와 같이 자신의 steem id를 뒤에 붙여 주세요. 왜냐하면 steemitest는 제가 이미 사용해서 중복이라고 에러가 나기 때문입니다.

image.png

그러면 이런 엄청나게 복잡한 화면이 나옵니다.
image.png

우리는 적어도 오늘은, 이 중에서 Deploy와 Resources만 사용할 것입니다.



Deploy


우선 이 서버에 사용할 소스코드를 작성 또는 github에서 가져옵니다.
그러기 위해서 Deployment method옆에 있는 까만색 고양이 모양의 GitHub를 선택합니다.
(Default 가 Heroku Git이고, 우리가 원하는 것은 그 옆에 있습니다.)

왼쪽칸의 ID자리에 "jeaimetu"를, 그리고 오른쪽 칸에는 heroku를 넣어 줍니다. 그리고 search를 누르면, 2개의 github가 뜨고, 그 중에서 첫번째 "herokutest" 줄의 "Connect"를 누릅니다.
(연습을 위해서 Github의 다른 분의 것으로 만들어 놓은 repository입니다.)

하단으로 스크롤 하여 Deply Branch라는 검은색 버튼을 누릅니다.
image.png

이것 저것 로그가 지나가고,
image.png

"성공적으로 인스톨 되었다는 메시지가 나옵니다.".

이제 동작이 가능한 준비를 거의 다 마쳤습니다.



실행해 보자


화면 오른쪽 위의 "Open app"을 누릅니다. 그럼 아래와 같이 browser가 새로 뜨고, 우리가 만든 app이름이 주소로 된 home page로 접속이 됩니다.

그리고 모든 언어를 처음 배울때 나오던 Hello World가 출력이 됩니다.
image.png

이제 언제 어디서나 위의 주소로 들어가게 되면 같은 hello world message가 뜨는 것을 보실 수 있을 것입니다.

시험을 위해서 잠시 open했고, 전 사용 시간을 아끼고자, 해당 서버를 현재는 중지시켜 놓았습니다. 직접 만드신 것으로 테스트 해보세요.



Resources


이번에는 Resources 로 이동을 합니다. Deploy하고 약간 시간이 지났다면 여기에 아래와 같이 나오게 됩니다.
image.png

나중에 여기에서 추가 plugin과 자동 실행 되어야 하는 일들을 지정할 수 있습니다. 현재는 그림과 같이 나오는 것만 확인하시면 되고, 또한 비용이 $0.00으로 나오는 것을 확인하시면 됩니다.



마치며

긴 글 읽어 주셔서 감사하구요, 하시다가 궁금한 것 있으면 서슴치 말고 댓글을 달아주세요.


오늘은 가볍게

  1. Heroku계정을 만들고
  2. Github와 연동하고
  3. Hello World를 출력하는 것을 만들어 보았습니다.


다음 시간에는 이번에 제작한 타로점을 보아주는 타로점 봇을 만드는 것에 대해서 알아보도록 하겠습니다.

예전 글 : 타로 점 보세요. 베타버전 오픈합니다./TarotCafeBetaVersion

그리고 그 다음 시간에는 Heroku에서 Gekko라는 가상화폐 trading bot을 동작시키는 것에 대해서도 살펴 보도록 하겠습니다.



*댓글이나 업보트는 글쓴이에게 큰 힘이 됩니다. 업보트 해주신 분은 꼭 찾아가서 팔로우하고 다시 업보트 하겠습니다.

*업보트를 해주시는 경우 꼭 댓글을 부탁드립니다. 감사의 의미로 제가 업보트 하기 위함입니다. 가끔 업보트 눌러주신 분의 페이지를 방문했는데 글이 없는 경우가 있어서 제가 은혜를 갚을 길이 없어져서요...


Sort:  

좋은글이군요!
재밌게 잘읽었습니다
전 최근에 vultr라는 서버호스팅?을 했는데
기회가 되면 요걸로도 해버고싶군요.

좋은 정보 감사합니다. 저도 vultr에 대해서 한번 알아 보겠습니다.

오늘도 덕분에 많이 배우고 갑니다:-)

감사합니다. 꾸벅.

You’ve done a great job. I like itb @jeaimetu ◕ ‿ ◕✿

히로쿠 지나가다 몇번 들어보긴했는데 정말 괜찮은 서비스군요~
타로봇도 히로쿠를 이용하신건가요?
다음 포스팅이 기대되네요^^ 좋은글 감사합니다!

감사합니다. 네 맞습니다. 타로봇도 히로쿠입니다.
하핫. 다음 글은 더 잘써야 겠습니다. 진심으로 감사드립니다.

이게 헤로쿠군요..! 내일 따라해봐야지 (...)//

금방 적응하실거에요. 주말 잘 보내시구요, 홧팅.

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by jeaimetu from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Coin Marketplace

STEEM 0.16
TRX 0.13
JST 0.027
BTC 60314.14
ETH 2890.04
USDT 1.00
SBD 2.35