Herokuの始め方

Herokuの始め方

20130915 0

Herokuってなに?

Heroku(ヘロク)とは、サイトにアクセスするとタイトルにも「Cloud Application Platform」(「クラウド アプリケーション プラットフォーム」)と書かれているようにRuby(Rails〜Sinatra)を始めとしてNode.jsPythonJavaを使うことのできる PaaS (Platform as a Service)の一つです。

Herokuの料金

Herokuの利用料金は Dynos というHeroku独自の単位によって決められた転送量などによって算出される価格とデータベース、アドオンの価格によって利用料金が決められます(と言っても勝手に金額が増やされるようなことはないです)。

また、 1Dynosまでは無料 で利用できるので、RailsやSinatraの勉強用のPaasとしても使い勝手のいいサービスです。

Herokuへの登録方法

Herokuへの登録は以下の様な流れになります。

  1. Herokuにアクセスする
  2. Sign up for freeに進みメールアドレスを登録する
  3. Heroku Toolbeltをインストールする

2.のステップでメールアドレスを登録すると、登録メールアドレスに確認のメールが届くので、メール内に書かれたリンクをクリックしてHerokuに進んで下さい。

20130915 1

登録が完了すると heroku dashboard にアクセスできるようになります。いくつかサイトを制作してあるとこんな感じで自分が管理しているサイトのリストがずらっと並びます。

20130915 2

また、画面上部のメニューからはHerokuに関する様々な操作をおこなうことができます。

20130915 3

Heroku Toolbeltを使いましょう

20130915 4

Herokuにアプリケーションを制作したりなどの操作は先のダッシュボードからもできますが、基本操作は Heroku Toolbelt を使うことをオススメします。先ほどの3.の操作でHeroku Toolbeltをインストールしたら、まずは以下のコマンド「heroku login」を実行してください。

heroku login」を実行すると、Herokuに登録したメールアドレスとパスワードが聞かれてきます。あとは公開鍵を制作して保存します。

Heroku Toolbeltでアプリケーション制作

Heroku上にアプリケーションを制作するには「heroku create」コマンドを利用します。このコマンドを実行することでアプリケーションが制作されます(このサンプルでは実行後に「http://stark-fog-398.herokuapp.com/」というアプリケーションが制作されています)。

実行した後ダッシュボードを見ると追加したアプリケーションが一覧の中に加わっていることを確認してください。

このあとはファイルをHerokuへの転送ですが、以降はGITを利用してファイルを転送する流れになっていきますので別記事で紹介していきます。

明日の勉強会 特別編「Rails勉強会」★沖縄Ruby勉強会 Ryukyu Rubyist Rookies(Ryukyu.rb) ではこのへんもやっていく予定ですので参加者の皆さん楽しみにしててねー(^^v

HerokuではじめるRailsプログラミング入門
掌田 津耶乃
ソフトバンククリエイティブ
売り上げランキング: 64,711
Heroku: Up and Running
Heroku: Up and Running
posted with amazlet at 13.09.15
Neil Middleton Richard Schneeman
Oreilly & Associates Inc
売り上げランキング: 47,972
Professional Heroku Programming (Wrox Programmer to Programmer)
Chris Kemp Brad Gyger
Wrox
売り上げランキング: 140,376

Sinatra自動リロードをsinatra-contribで有効にする

Sinatra自動リロードをsinatra-contribで有効にする

Sinatraいじっていて面倒なのはコードを書き換えるたびにSinatraを停止→再起動させなければならない点ですね…「sinatra-contrib」を入れることで、これも改善できます。

sinatra-contribをインストールしよう

以下のコマンドを実行するだけです

詳しいドキュメントはSinatra::Contribにあるので、こちらを参考にしてください。

インストールできたらコードの最初に「require "sinatra/reloader" if development?」を追加します。

クラシック形式

モジュール形式

これだけです!!

簡単でしょ(^^v

Sinatra Documentation

Sinatra: Up and Running
Sinatra: Up and Running
posted with amazlet at 13.09.09
O’Reilly Media (2011-11-21)
パーフェクトRuby (PERFECT SERIES 6)
Rubyサポーターズ すがわら まさのり 寺田 玄太郎 三村 益隆 近藤 宇智朗 橋立 友宏 関口 亮一
技術評論社
売り上げランキング: 2,436

Sinartaでフォームからデータを受け取る方法

Sinartaでフォームからデータを受け取る方法

20130909 1

今朝の記事では、ここまでの紹介でしたが…せっかくなのでフォームから文字を受け取るところまでも解説していきます。

Sinatraでは通常のWebアプリケーションと同様にGETとPOSTでユーザーがフォーム等から送信したデータを受け取ることができます。

GETで受け取る場合

GETで受け取る場合のコードは以下のようになります

このコードを記述してruby xxxx.rbと実行し「http://localhost:4567/hello/Tanabe」にアクセスすると、SinatraはTanabeの部分をGETで受け取り、params[:name]に格納します。

POSTで受け取る場合

POSTの場合はフォームも一緒に書いたのでコードが一気にちょっと長くなってしまいましたが…GETの時と同様に「params[:name]」で受け取ることができます。

Sinatraでの値の受け渡しは結構シンプルです。小さめのアプリを作るときなど参考になるかと思いますので、これからも更新を楽しみにしていてくださいね。

Sinatra Documentation

Sinatra: Up and Running
Sinatra: Up and Running
posted with amazlet at 13.09.09
O’Reilly Media (2011-11-21)
パーフェクトRuby (PERFECT SERIES 6)
Rubyサポーターズ すがわら まさのり 寺田 玄太郎 三村 益隆 近藤 宇智朗 橋立 友宏 関口 亮一
技術評論社
売り上げランキング: 2,436

Sinatraを使ってみよう

20130909 1

Rubyの勉強会も徐々に内容が進んできているので(まだ教科書「初めてのRuby」には突入できていないけれども)、課題もなんとかこなせる方々がでてきているということで…「そろそろブラウザ上で動くものにしようか?」と、モヤモヤしています。

で・・・Railsまでやるにはちょっと…ということで「 Sinatraでいこうかな? 」と思い、今回はSinatraを紹介します。

Sinatraとは?

SinatraとはRubyを利用してWebアプリケーションをつくる際のフレームワークのひとつです。RubyのフレームワークといえばRuby on Railsが有名ですが、このSinatraは「 とにかく軽量 」で、さくっと何か動くシステムを作るときなど手軽に使うことができるフレームワークです。

Sinatraのインストール方法

rubyとbundleが入っていれば以下のコマンドでインストールが出来ます。

サンプルコード(hi.rb)は以下のようになります。

これだけで、あとはファイルをruby hi.rbで実行し、サーバーを起動させ、ブラウザから「http://0.0.0.0:4567/」にアクセスすれば「Hello World!」と表示されているのが確認できるはずです。

シンプルですよね?

思わず「Railsだとあんなにいろいろコマンド打ってきたのに」と悲しくなってしまいます…

このSinatraの使い方の詳細はSinatra公式サイトのDOCUMENT(Sinatra Documentation)を参考にしてください。

Sinatra Documentation

先日制作した「Ruby入門(Ruby on Rails〜sinatra)」サイトでも今後はSinatraの解説をしていければと思っていますのでお楽しみに!!

Sinatra: Up and Running
Sinatra: Up and Running
posted with amazlet at 13.09.09
O’Reilly Media (2011-11-21)
パーフェクトRuby (PERFECT SERIES 6)
Rubyサポーターズ すがわら まさのり 寺田 玄太郎 三村 益隆 近藤 宇智朗 橋立 友宏 関口 亮一
技術評論社
売り上げランキング: 2,436