SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
SinatraアプリをHerokuにアップ


12年8月31日金曜日
今回の狙い
  ✤   twitter Bootstrap を利用して
      見栄えを改善する
  ✤   作成したアプリをHerokuに
      アップして公開する




                                http://www.flickr.com/photos/alanant/4483533096/

12年8月31日金曜日
Twitter Bootstrapとは?


          Twitter社が開発/提供するCSSフレームワーク。これを利用すると
          簡単にTwitterっぽいデザインのWebサイトが作成できる




12年8月31日金曜日
Twitter Bootstrap導入までの流れ


  ✤   サイトからファイルをダウン
      ロードして解凍する

  ✤   publicフォルダを作成しその配                    http://twitter.github.com/bootstrap/

      下にダウンロードしたファイル
      を解凍する

  ✤   index.erbのheadに記述


      <link href="bootstrap.min.css" rel="stylesheet">




12年8月31日金曜日
1.Firefoxを使ってBootstrapのダウンロード
  サイトに行きます
   http://twitter.github.com/bootstrap/)




12年8月31日金曜日
2.ZIPファイルを開きbootstrap.min.cssを表
  示します



   ①bootstrapフォルダ
   ダブルクリック

                    ②cssフォルダをダブ
                    ルクリック

                                  ③bootstrap.min.c
                                  ssが表示されているの
                                  を確認


12年8月31日金曜日
3.bootstrap.min.cssだけを抽出します

                             ③Create Folderをク
                             リックして、Publicフォ
                             ルダを作成します


    ①bootstrap.m
                   ② 前回作った
    in.css上で右ク
                   フォルダを開き
    リックして
                   ます。
    Open With を
    選択
                                     ④Publicフォルダをダブルク
                                     リックして開いてから Extract
                                     ボタンをクリックします


12年8月31日金曜日
4.抽出後のフォルダ構成は以下のようになり
  ます




12年8月31日金曜日
5.前回作ったindex.erbにBootstrap読み込む
  記述を追加します
    <html>
      <head>
        <title>erb sample</title>

        <link href="bootstrap.min.css" rel="stylesheet">                  この1行を追加
      </head>
    <body>
      <h1>ERB sample</h1>
      <ul>
        <%
           url ='https://api.twitter.com/1/statuses/public_timeline.json?count=3'
           json = open(url).read
           JSON.parse(json).each do |items|
        %>
        <li>
          <%= items["text"] %>
        </li>
        <% end %>
      </ul>
    </body>
    </html>


12年8月31日金曜日
6.ターミナル上でSinatraを起動して表示確認
  します
        localhost:4567/template にアクセスします




12年8月31日金曜日
サーバーの階層構造について理解する


12年8月31日金曜日
サーバーの構造




              {
                  プログラム

                  ミドルウェア


                    OS


                    HW




12年8月31日金曜日
代表的な組み合わせ



                                                            VB.
        プログラム         Java        Ruby         PHP    C#
                                                            NET


                                Passenger   mod_php       IIS+
                   WebSphere、
       ミドルウェア                                         .NET Frame
                    Tomcatなど                             work
                                      Apache


              OS     Linux、FreeBSD、Unix(Solaris)      Windows


              HW         DELL、hp、IBM、NEC、富士通など




12年8月31日金曜日
今回利用するHerokuというクラウドサービス




                             Ruby    Java   PHP*



                                    ミドルウェア



                                      OS


                                      HW


              * PHPは公式には利用できないのですが、やり方によっては利用可能なようです。(http://
              d.hatena.ne.jp/ishikawam/20120413/p1)

12年8月31日金曜日
アプリ作成∼Herokuにアップまでの全体像

         ① https://api.heroku.com/signup でHerokuアカウントを作成




         自分のマシン




                                           ssh



              Virtual Box上のLinux環境

          ② Linux環境上でSinatraのアプリ作成
          ③ Sinatraアプリアップ作業用ファイル作成
          ④ 作成したアプリをHerokuに転送

12年8月31日金曜日
事前準備:Herokuログイン出来るか確認


  ✤   heroku login で作成したアカウントで
      ログイン出来るかターミナル上で以下
      コマンド入力します

      ✤   heroku login

  ✤   Enter your Heroku credentials.と表
      示された後にメールアドレスの入力を
      促されるので、Herokuに登録したメー
      ルアドレスを入力します

  ✤   その後パスワード入力を促されるので
      Herokuに登録したパスワードを入力し
      ます

12年8月31日金曜日
①Sinatraアプリアップ作業用ファイル作成

  ✤   これまで作ってきたフォルダ配下にGemfileと                 source :rubyforge
      いう名前のファイルを作成して、右記内容を記                   gem 'sinatra'
      述                                       gem 'json'              Gemfile

  ✤   ターミナル上で
      bundle install
      と入力。

  ✤   Heroku上でSinatraを起動させるために必要な
      Procfileに右記内容を記述します

      ✤   Procfileについては以下を参照しました
          http://www.ownway.info/Ruby/
          index.php?heroku%2Fhelloclockwork
                                              web: bundle exec ruby app.rb -p $PORT
                                                                   Procfile


12年8月31日金曜日
②Gitというツール利用準備

  ✤   これまで作ったファイル/フォ
      ルダをGitが管理できるように
      以下コマンド入力します
                               git init とやった
                               だけでは空っぽ
      ✤   git init
  ✤   git initi入力後これまで作成し              git add .
      たファイル/フォルダをGitに登
      録するために以下入力します

      ✤
          git add    .
      ✤   git commit -m init

12年8月31日金曜日
③Gitを通じて手元の環境とHerokuの環境が
  連携できるようにする
  ✤   まずはHerokuにログインするためにターミナル上で
      以下入力します

      ✤   heroku login

  ✤   ログイン出来たら以下手順でアプリケーション名を
      登録します

      ✤   heroku create --stack cedar neri0829-01




                                                    ssh
          ※ この後、git remote と入力して、herokuと
                                                          git push heroku masterで
          表示されれば成功です
                                                          Herokuにファイルが転送
  ✤   最後にSinatraアプリを以下コマンド入力して                            (push)される
      Herokuに転送します

      ✤   git push heroku master

  ✤   転送終了したら以下コマンド実行してアプリケー
      ション起動します

      ✤   heroku ps:scale web=1



12年8月31日金曜日
参考情報:Git のcommitについて

  ✤   http://blog.asial.co.jp/894 より引用

      ✤   ドラクエでいうと、中ボス前にセー
          ブした内容とボス前にセーブした
          データが残っていて、それぞれに
          「中ボス前 薬草の数注意」「ボス
          前 選択肢はいいえを押すこと」と
          いった、コミットに対するメッセー
          ジが残せるかんじです。

      ✤   こうすることで、ボスを倒したあと
          で、「いややっぱり中ボスからやり
          直したい」と思ったら、コミット
          メッセージを参考に中ボス前のデー
          タまで戻ればいいのです

12年8月31日金曜日
参考情報:Git のpushについて

  ✤   http://blog.asial.co.jp/894 より引用

      ✤   プッシュすることで、これまでのコ
          ミット内容を共有リポジトリに送る
          ことができます。

  ✤   今回の作業では「共有」とある部分が
      Herokuのサーバと読み替えてください




12年8月31日金曜日

Contenu connexe

Tendances

dodaiのProvisioning周辺探訪 - dodai勉強会 #4
dodaiのProvisioning周辺探訪 - dodai勉強会 #4dodaiのProvisioning周辺探訪 - dodai勉強会 #4
dodaiのProvisioning周辺探訪 - dodai勉強会 #4Satoshi Yazawa
 
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶLingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶKenichiro MATOHARA
 
俺のXcodeがiBeaconを 発信しながらGistに投稿できるわけがない
俺のXcodeがiBeaconを 発信しながらGistに投稿できるわけがない俺のXcodeがiBeaconを 発信しながらGistに投稿できるわけがない
俺のXcodeがiBeaconを 発信しながらGistに投稿できるわけがないToshiki Chiba
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介Uchio Kondo
 
Dodai勉強会#2
Dodai勉強会#2Dodai勉強会#2
Dodai勉強会#2taka400k
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンAkihiko Horiuchi
 
Dockerハンズオン
DockerハンズオンDockerハンズオン
DockerハンズオンKazuyuki Mori
 
Rancher command line interface
Rancher command line interfaceRancher command line interface
Rancher command line interfaceMasahito Zembutsu
 
Goで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティGoで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティyaegashi
 
Linux環境でLibreOfficeをビルドしてみようかね
Linux環境でLibreOfficeをビルドしてみようかねLinux環境でLibreOfficeをビルドしてみようかね
Linux環境でLibreOfficeをビルドしてみようかねNaruhiko Ogasawara
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門Hori Tasuku
 
E2D3 ver. 0.2 開発の手順書
E2D3 ver. 0.2 開発の手順書E2D3 ver. 0.2 開発の手順書
E2D3 ver. 0.2 開発の手順書E2D3.org
 
Alfresco勉強会#24 コンテンツのライフサイクル
Alfresco勉強会#24 コンテンツのライフサイクルAlfresco勉強会#24 コンテンツのライフサイクル
Alfresco勉強会#24 コンテンツのライフサイクルJun Terashita
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るKiyoshi SATOH
 
LibreOfficeコミュニティに不具合修正パッチを送ってみた
LibreOfficeコミュニティに不具合修正パッチを送ってみたLibreOfficeコミュニティに不具合修正パッチを送ってみた
LibreOfficeコミュニティに不具合修正パッチを送ってみたTomofumi Yagi
 
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDAzure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDyaegashi
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成shigeki_ohtsu
 
βが取れたBluemixのDockerを使ってみる(基本編)
βが取れたBluemixのDockerを使ってみる(基本編)βが取れたBluemixのDockerを使ってみる(基本編)
βが取れたBluemixのDockerを使ってみる(基本編)Shisei Hanai
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstreamwata2ki
 

Tendances (20)

dodaiのProvisioning周辺探訪 - dodai勉強会 #4
dodaiのProvisioning周辺探訪 - dodai勉強会 #4dodaiのProvisioning周辺探訪 - dodai勉強会 #4
dodaiのProvisioning周辺探訪 - dodai勉強会 #4
 
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶLingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
LingrBotを作ってみた/ ownCloud+Andoroid+Picasa+Flickr連携/Chromecast をLinuxで遊ぶ
 
俺のXcodeがiBeaconを 発信しながらGistに投稿できるわけがない
俺のXcodeがiBeaconを 発信しながらGistに投稿できるわけがない俺のXcodeがiBeaconを 発信しながらGistに投稿できるわけがない
俺のXcodeがiBeaconを 発信しながらGistに投稿できるわけがない
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
 
Dodai勉強会#2
Dodai勉強会#2Dodai勉強会#2
Dodai勉強会#2
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
Dockerハンズオン
DockerハンズオンDockerハンズオン
Dockerハンズオン
 
Rancher command line interface
Rancher command line interfaceRancher command line interface
Rancher command line interface
 
Goで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティGoで作って配布するAzureコマンドラインユーティリティ
Goで作って配布するAzureコマンドラインユーティリティ
 
Linux環境でLibreOfficeをビルドしてみようかね
Linux環境でLibreOfficeをビルドしてみようかねLinux環境でLibreOfficeをビルドしてみようかね
Linux環境でLibreOfficeをビルドしてみようかね
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
 
E2D3 ver. 0.2 開発の手順書
E2D3 ver. 0.2 開発の手順書E2D3 ver. 0.2 開発の手順書
E2D3 ver. 0.2 開発の手順書
 
Alfresco勉強会#24 コンテンツのライフサイクル
Alfresco勉強会#24 コンテンツのライフサイクルAlfresco勉強会#24 コンテンツのライフサイクル
Alfresco勉強会#24 コンテンツのライフサイクル
 
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作るnode+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
 
LibreOfficeコミュニティに不具合修正パッチを送ってみた
LibreOfficeコミュニティに不具合修正パッチを送ってみたLibreOfficeコミュニティに不具合修正パッチを送ってみた
LibreOfficeコミュニティに不具合修正パッチを送ってみた
 
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDAzure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
 
Android Hacks - Hack47
Android Hacks - Hack47Android Hacks - Hack47
Android Hacks - Hack47
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
 
βが取れたBluemixのDockerを使ってみる(基本編)
βが取れたBluemixのDockerを使ってみる(基本編)βが取れたBluemixのDockerを使ってみる(基本編)
βが取れたBluemixのDockerを使ってみる(基本編)
 
Linux kernelのbspとupstream
Linux kernelのbspとupstreamLinux kernelのbspとupstream
Linux kernelのbspとupstream
 

Similaire à Sinatraアプリをherokuにアップ

Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶHiroshi Oyamada
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Takashi Kanai
 
Mixiアプリで体験する Open Social
Mixiアプリで体験する Open SocialMixiアプリで体験する Open Social
Mixiアプリで体験する Open Socialngi group.
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Mori Shingo
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hackyut148atgmaildotcom
 
Twitterのデータを取得する準備
Twitterのデータを取得する準備Twitterのデータを取得する準備
Twitterのデータを取得する準備Takeshi Arabiki
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Nobuhiro Iwamatsu
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 
GitLab + Dokku で作る CI/CD 環境
GitLab + Dokku で作る CI/CD 環境GitLab + Dokku で作る CI/CD 環境
GitLab + Dokku で作る CI/CD 環境Kazuhiro Nishiyama
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタTakashi Kanai
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Shinya Nakajima
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門sandai
 
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版VirtualTech Japan Inc./Begi.net Inc.
 

Similaire à Sinatraアプリをherokuにアップ (20)

Tekton 入門
Tekton 入門Tekton 入門
Tekton 入門
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
 
Mixiアプリで体験する Open Social
Mixiアプリで体験する Open SocialMixiアプリで体験する Open Social
Mixiアプリで体験する Open Social
 
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
 
Twitterのデータを取得する準備
Twitterのデータを取得する準備Twitterのデータを取得する準備
Twitterのデータを取得する準備
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
 
Code ignitertalk 01
Code ignitertalk 01Code ignitertalk 01
Code ignitertalk 01
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
Git 20100724
Git 20100724Git 20100724
Git 20100724
 
今さら聞けない人のためのGit超入門
今さら聞けない人のためのGit超入門今さら聞けない人のためのGit超入門
今さら聞けない人のためのGit超入門
 
GitLab + Dokku で作る CI/CD 環境
GitLab + Dokku で作る CI/CD 環境GitLab + Dokku で作る CI/CD 環境
GitLab + Dokku で作る CI/CD 環境
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタ
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
 
今さら聞けない人のためのGit超入門 2019/11/21
今さら聞けない人のためのGit超入門 2019/11/21今さら聞けない人のためのGit超入門 2019/11/21
今さら聞けない人のためのGit超入門 2019/11/21
 
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版
 

Plus de Hiroshi Oyamada

2016 02-25-crawler-study-01
2016 02-25-crawler-study-012016 02-25-crawler-study-01
2016 02-25-crawler-study-01Hiroshi Oyamada
 
育児を支える技術〜クローラーとかスクレイピング
育児を支える技術〜クローラーとかスクレイピング育児を支える技術〜クローラーとかスクレイピング
育児を支える技術〜クローラーとかスクレイピングHiroshi Oyamada
 
日々の面倒をプログラミングで解決!【入門編】
日々の面倒をプログラミングで解決!【入門編】日々の面倒をプログラミングで解決!【入門編】
日々の面倒をプログラミングで解決!【入門編】Hiroshi Oyamada
 
2014 05-17-titanium hamamatsuvol3
2014 05-17-titanium hamamatsuvol32014 05-17-titanium hamamatsuvol3
2014 05-17-titanium hamamatsuvol3Hiroshi Oyamada
 
20140319 titanium meetupvol17
20140319 titanium meetupvol1720140319 titanium meetupvol17
20140319 titanium meetupvol17Hiroshi Oyamada
 
2014 02-19-titanium meetupvol16
2014 02-19-titanium meetupvol162014 02-19-titanium meetupvol16
2014 02-19-titanium meetupvol16Hiroshi Oyamada
 
20130910 titanium meetupvol11
20130910 titanium meetupvol1120130910 titanium meetupvol11
20130910 titanium meetupvol11Hiroshi Oyamada
 
勉強会主催者のための勉強会
勉強会主催者のための勉強会勉強会主催者のための勉強会
勉強会主催者のための勉強会Hiroshi Oyamada
 
20130613 titanium meetupvol9
20130613 titanium meetupvol920130613 titanium meetupvol9
20130613 titanium meetupvol9Hiroshi Oyamada
 
2013 06-11-craft beerfanlt
2013 06-11-craft beerfanlt2013 06-11-craft beerfanlt
2013 06-11-craft beerfanltHiroshi Oyamada
 
2013 06-05-web-career-talk-at-coedo
2013 06-05-web-career-talk-at-coedo2013 06-05-web-career-talk-at-coedo
2013 06-05-web-career-talk-at-coedoHiroshi Oyamada
 
20130412 titanium meetupvol7
20130412 titanium meetupvol720130412 titanium meetupvol7
20130412 titanium meetupvol7Hiroshi Oyamada
 
2013 02-28-bussiness-plan-about-titanium
2013 02-28-bussiness-plan-about-titanium2013 02-28-bussiness-plan-about-titanium
2013 02-28-bussiness-plan-about-titaniumHiroshi Oyamada
 
20130126 titanium新年会
20130126 titanium新年会20130126 titanium新年会
20130126 titanium新年会Hiroshi Oyamada
 
20130125 titanium meetupvol5
20130125 titanium meetupvol520130125 titanium meetupvol5
20130125 titanium meetupvol5Hiroshi Oyamada
 
2012 12-17-titanium meetupvol4
2012 12-17-titanium meetupvol42012 12-17-titanium meetupvol4
2012 12-17-titanium meetupvol4Hiroshi Oyamada
 

Plus de Hiroshi Oyamada (20)

2016 02-25-crawler-study-01
2016 02-25-crawler-study-012016 02-25-crawler-study-01
2016 02-25-crawler-study-01
 
2016 02-09-co-edo lt
2016 02-09-co-edo lt2016 02-09-co-edo lt
2016 02-09-co-edo lt
 
2015 12-19-ruby rails
2015 12-19-ruby rails2015 12-19-ruby rails
2015 12-19-ruby rails
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 
育児を支える技術〜クローラーとかスクレイピング
育児を支える技術〜クローラーとかスクレイピング育児を支える技術〜クローラーとかスクレイピング
育児を支える技術〜クローラーとかスクレイピング
 
日々の面倒をプログラミングで解決!【入門編】
日々の面倒をプログラミングで解決!【入門編】日々の面倒をプログラミングで解決!【入門編】
日々の面倒をプログラミングで解決!【入門編】
 
2014 05-17-titanium hamamatsuvol3
2014 05-17-titanium hamamatsuvol32014 05-17-titanium hamamatsuvol3
2014 05-17-titanium hamamatsuvol3
 
20140319 titanium meetupvol17
20140319 titanium meetupvol1720140319 titanium meetupvol17
20140319 titanium meetupvol17
 
2014 02-19-titanium meetupvol16
2014 02-19-titanium meetupvol162014 02-19-titanium meetupvol16
2014 02-19-titanium meetupvol16
 
TitaniumMeetUpVol13
TitaniumMeetUpVol13TitaniumMeetUpVol13
TitaniumMeetUpVol13
 
20130910 titanium meetupvol11
20130910 titanium meetupvol1120130910 titanium meetupvol11
20130910 titanium meetupvol11
 
勉強会主催者のための勉強会
勉強会主催者のための勉強会勉強会主催者のための勉強会
勉強会主催者のための勉強会
 
20130613 titanium meetupvol9
20130613 titanium meetupvol920130613 titanium meetupvol9
20130613 titanium meetupvol9
 
2013 06-11-craft beerfanlt
2013 06-11-craft beerfanlt2013 06-11-craft beerfanlt
2013 06-11-craft beerfanlt
 
2013 06-05-web-career-talk-at-coedo
2013 06-05-web-career-talk-at-coedo2013 06-05-web-career-talk-at-coedo
2013 06-05-web-career-talk-at-coedo
 
20130412 titanium meetupvol7
20130412 titanium meetupvol720130412 titanium meetupvol7
20130412 titanium meetupvol7
 
2013 02-28-bussiness-plan-about-titanium
2013 02-28-bussiness-plan-about-titanium2013 02-28-bussiness-plan-about-titanium
2013 02-28-bussiness-plan-about-titanium
 
20130126 titanium新年会
20130126 titanium新年会20130126 titanium新年会
20130126 titanium新年会
 
20130125 titanium meetupvol5
20130125 titanium meetupvol520130125 titanium meetupvol5
20130125 titanium meetupvol5
 
2012 12-17-titanium meetupvol4
2012 12-17-titanium meetupvol42012 12-17-titanium meetupvol4
2012 12-17-titanium meetupvol4
 

Sinatraアプリをherokuにアップ

  • 2. 今回の狙い ✤ twitter Bootstrap を利用して 見栄えを改善する ✤ 作成したアプリをHerokuに アップして公開する http://www.flickr.com/photos/alanant/4483533096/ 12年8月31日金曜日
  • 3. Twitter Bootstrapとは? Twitter社が開発/提供するCSSフレームワーク。これを利用すると 簡単にTwitterっぽいデザインのWebサイトが作成できる 12年8月31日金曜日
  • 4. Twitter Bootstrap導入までの流れ ✤ サイトからファイルをダウン ロードして解凍する ✤ publicフォルダを作成しその配 http://twitter.github.com/bootstrap/ 下にダウンロードしたファイル を解凍する ✤ index.erbのheadに記述 <link href="bootstrap.min.css" rel="stylesheet"> 12年8月31日金曜日
  • 5. 1.Firefoxを使ってBootstrapのダウンロード サイトに行きます http://twitter.github.com/bootstrap/) 12年8月31日金曜日
  • 6. 2.ZIPファイルを開きbootstrap.min.cssを表 示します ①bootstrapフォルダ ダブルクリック ②cssフォルダをダブ ルクリック ③bootstrap.min.c ssが表示されているの を確認 12年8月31日金曜日
  • 7. 3.bootstrap.min.cssだけを抽出します ③Create Folderをク リックして、Publicフォ ルダを作成します ①bootstrap.m ② 前回作った in.css上で右ク フォルダを開き リックして ます。 Open With を 選択 ④Publicフォルダをダブルク リックして開いてから Extract ボタンをクリックします 12年8月31日金曜日
  • 9. 5.前回作ったindex.erbにBootstrap読み込む 記述を追加します <html>   <head>     <title>erb sample</title> <link href="bootstrap.min.css" rel="stylesheet"> この1行を追加   </head> <body>   <h1>ERB sample</h1>   <ul>     <%        url ='https://api.twitter.com/1/statuses/public_timeline.json?count=3'        json = open(url).read        JSON.parse(json).each do |items|     %>     <li>       <%= items["text"] %>     </li>     <% end %>   </ul> </body> </html> 12年8月31日金曜日
  • 10. 6.ターミナル上でSinatraを起動して表示確認 します localhost:4567/template にアクセスします 12年8月31日金曜日
  • 12. サーバーの構造 { プログラム ミドルウェア OS HW 12年8月31日金曜日
  • 13. 代表的な組み合わせ VB. プログラム Java Ruby PHP C# NET Passenger mod_php IIS+ WebSphere、 ミドルウェア .NET Frame Tomcatなど work Apache OS Linux、FreeBSD、Unix(Solaris) Windows HW DELL、hp、IBM、NEC、富士通など 12年8月31日金曜日
  • 14. 今回利用するHerokuというクラウドサービス Ruby Java PHP* ミドルウェア OS HW * PHPは公式には利用できないのですが、やり方によっては利用可能なようです。(http:// d.hatena.ne.jp/ishikawam/20120413/p1) 12年8月31日金曜日
  • 15. アプリ作成∼Herokuにアップまでの全体像 ① https://api.heroku.com/signup でHerokuアカウントを作成 自分のマシン ssh Virtual Box上のLinux環境 ② Linux環境上でSinatraのアプリ作成 ③ Sinatraアプリアップ作業用ファイル作成 ④ 作成したアプリをHerokuに転送 12年8月31日金曜日
  • 16. 事前準備:Herokuログイン出来るか確認 ✤ heroku login で作成したアカウントで ログイン出来るかターミナル上で以下 コマンド入力します ✤ heroku login ✤ Enter your Heroku credentials.と表 示された後にメールアドレスの入力を 促されるので、Herokuに登録したメー ルアドレスを入力します ✤ その後パスワード入力を促されるので Herokuに登録したパスワードを入力し ます 12年8月31日金曜日
  • 17. ①Sinatraアプリアップ作業用ファイル作成 ✤ これまで作ってきたフォルダ配下にGemfileと source :rubyforge いう名前のファイルを作成して、右記内容を記 gem 'sinatra' 述 gem 'json' Gemfile ✤ ターミナル上で bundle install と入力。 ✤ Heroku上でSinatraを起動させるために必要な Procfileに右記内容を記述します ✤ Procfileについては以下を参照しました http://www.ownway.info/Ruby/ index.php?heroku%2Fhelloclockwork web: bundle exec ruby app.rb -p $PORT Procfile 12年8月31日金曜日
  • 18. ②Gitというツール利用準備 ✤ これまで作ったファイル/フォ ルダをGitが管理できるように 以下コマンド入力します git init とやった だけでは空っぽ ✤ git init ✤ git initi入力後これまで作成し git add . たファイル/フォルダをGitに登 録するために以下入力します ✤ git add . ✤ git commit -m init 12年8月31日金曜日
  • 19. ③Gitを通じて手元の環境とHerokuの環境が 連携できるようにする ✤ まずはHerokuにログインするためにターミナル上で 以下入力します ✤ heroku login ✤ ログイン出来たら以下手順でアプリケーション名を 登録します ✤ heroku create --stack cedar neri0829-01 ssh ※ この後、git remote と入力して、herokuと git push heroku masterで 表示されれば成功です Herokuにファイルが転送 ✤ 最後にSinatraアプリを以下コマンド入力して (push)される Herokuに転送します ✤ git push heroku master ✤ 転送終了したら以下コマンド実行してアプリケー ション起動します ✤ heroku ps:scale web=1 12年8月31日金曜日
  • 20. 参考情報:Git のcommitについて ✤ http://blog.asial.co.jp/894 より引用 ✤ ドラクエでいうと、中ボス前にセー ブした内容とボス前にセーブした データが残っていて、それぞれに 「中ボス前 薬草の数注意」「ボス 前 選択肢はいいえを押すこと」と いった、コミットに対するメッセー ジが残せるかんじです。 ✤ こうすることで、ボスを倒したあと で、「いややっぱり中ボスからやり 直したい」と思ったら、コミット メッセージを参考に中ボス前のデー タまで戻ればいいのです 12年8月31日金曜日
  • 21. 参考情報:Git のpushについて ✤ http://blog.asial.co.jp/894 より引用 ✤ プッシュすることで、これまでのコ ミット内容を共有リポジトリに送る ことができます。 ✤ 今回の作業では「共有」とある部分が Herokuのサーバと読み替えてください 12年8月31日金曜日