SlideShare a Scribd company logo
1 of 24
超初心者向け

   Mac (Lion) で

Heroku and Sinatra
   2012.07.19 @naoranger
とにもかくにも、まず




ソフトウェア・アップデート
Apple 様が配っている




              Xcode

Command Line Tools for Xcode だけインスコという手もあるが、



    素人は普通の入れとけ
Xcode 内にある




Preferences > Downloads >
Components > Command Line Tools



            をダウソ
Lion から java 無くなってた




   $ javac


   で java インスコ
Homebrew



$ /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/
mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"




                       え?見えない?

               下からコピペしろ
rbenv



$ brew install rbenv
$ brew install ruby-build
    zsh や bach_profile に追記
    eval "$(rbenv init -)"
    設定後にシェル再起動
rbenv(続き)



$ rbenv install …インスコできるの一覧
$ rbenv install 1.9.3-p125
$ rbenv global 1.9.3-p125


$ rbenv rehash ←絶対忘れんな!
git



まずはここを読め
https://help.github.com/articles/set-up-git



$ brew install git
$ git config --global user.name "hoge"
$ git config --global user.email "hoge@hoge.com"
heroku




    当然垢は持ってるよな?


https://toolbelt.heroku.com/

Heroku Toolbelt for Mac OS X をダウソしてインスコ
ssh




$ ssh-keygen -t rsa -C "hoge@hoge.com"
Enter file in which to save the key (/Users/
       you/.ssh/id_rsa): ファイル名


とりあえずファイル名は id_rsa_heroku にしといて
/.ssh/config


Host heroku.com
User git
Port 22
HostName heroku.com
IdentityFile   /.ssh/id_rsa_heroku
TCPKeepAlive yes
IdentitiesOnly yes
VerifyHostKeyDNS yes
heroku に login




$ heroku login
$ heroku keys …登録したキー
heroku




$ heroku create
$ git clone git@heroku.com:
     アプリ名 .git -o heroku
アプリ名のディレクトリができる
ローカル



$ hoge
.
├── /.git
├── app.rb
├── config.ru
└── Gemfile
app.rb



require 'rubygems'
require 'sinatra'


get '/' do
 'Hello world!'
end
config.ru




require './app'
run Sinatra::Application
Gemfile




source 'https://rubygems.org'
gem 'sinatra'
gem




$ gem install heroku sinatra bundler
bundler インスコ後にシェル再起動


$ bundle install
Gemfile.lock ができる
ローカルで確認




$ ruby -rubygems app.rb


ブラウザで
http://localhost:4567/
デプロイ



$ git add .
$ git commit -m hello world
$ git push heroku master
$ heroku open
来週 Mountain Lion が出るが…



インスコして動かなくなっても


 知らないからな!
次回までの宿題




問題①
Facebook アプリを Heroku で作れ


問題②
そのアプリをローカルで動かせ
おわり

More Related Content

What's hot

SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較
Sugawara Genki
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
kumachang_LL
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
Naoya Ito
 
about Thrift
about Thriftabout Thrift
about Thrift
Naoya Ito
 

What's hot (20)

Using Dancer
Using DancerUsing Dancer
Using Dancer
 
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較
 
実用裏方 Perl 入門
実用裏方 Perl 入門実用裏方 Perl 入門
実用裏方 Perl 入門
 
Itcamp長崎2012 capistrano
Itcamp長崎2012 capistranoItcamp長崎2012 capistrano
Itcamp長崎2012 capistrano
 
carettah usage
carettah usagecarettah usage
carettah usage
 
serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例serverspecを使用したサーバ設定テストの実例
serverspecを使用したサーバ設定テストの実例
 
OSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみたOSC Tokyo fall LT~Dockerで分散処理をやってみた
OSC Tokyo fall LT~Dockerで分散処理をやってみた
 
第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会第1回 一撃サーバー構築シェルスクリプト勉強会
第1回 一撃サーバー構築シェルスクリプト勉強会
 
YosemiteでApacheを設定してみる
YosemiteでApacheを設定してみるYosemiteでApacheを設定してみる
YosemiteでApacheを設定してみる
 
Haikara
HaikaraHaikara
Haikara
 
実は怖くないDevOps
実は怖くないDevOps実は怖くないDevOps
実は怖くないDevOps
 
Titanium Mobile
Titanium MobileTitanium Mobile
Titanium Mobile
 
Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門Ansible ではじめるインフラのコード化入門
Ansible ではじめるインフラのコード化入門
 
about Thrift
about Thriftabout Thrift
about Thrift
 
できないことはPortで外注
できないことはPortで外注できないことはPortで外注
できないことはPortで外注
 
Ansible handson ood2016
Ansible handson ood2016Ansible handson ood2016
Ansible handson ood2016
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
 
開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~
開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~
開発チームもIaCやってみたい~VSOとDockerの組合せにチャレンジ~
 
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
サバカン屋のサバ缶はre:Inventで通用したのか&すぐに使える!最新運用ネタ #re:Port2016
 

Viewers also liked (9)

Aqua real
Aqua realAqua real
Aqua real
 
Success mantras
Success mantrasSuccess mantras
Success mantras
 
TextMate
TextMateTextMate
TextMate
 
Pro file
Pro filePro file
Pro file
 
Dodgingtown Fire Deparment 100th Anniversary Slideshow - March 11th 2011
Dodgingtown Fire Deparment 100th Anniversary Slideshow - March 11th 2011Dodgingtown Fire Deparment 100th Anniversary Slideshow - March 11th 2011
Dodgingtown Fire Deparment 100th Anniversary Slideshow - March 11th 2011
 
Facebook and heroku
Facebook and herokuFacebook and heroku
Facebook and heroku
 
Nokogiri and mechanize
Nokogiri and mechanizeNokogiri and mechanize
Nokogiri and mechanize
 
Fission and fusion
Fission and fusionFission and fusion
Fission and fusion
 
Causes of deforestation
Causes of deforestationCauses of deforestation
Causes of deforestation
 

Similar to Sinatra and heroku for mac

Dockerハンズオン
DockerハンズオンDockerハンズオン
Dockerハンズオン
Kazuyuki Mori
 
Rails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2editionRails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2edition
Satomi Tsujita
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
hiro345
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
max747
 
Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介
Kiwamu Okabe
 

Similar to Sinatra and heroku for mac (20)

Mina 20130417
Mina 20130417Mina 20130417
Mina 20130417
 
Dockerハンズオン
DockerハンズオンDockerハンズオン
Dockerハンズオン
 
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
 
Rails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2editionRails初心者レッスン lesson5 2edition
Rails初心者レッスン lesson5 2edition
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
Yesod on Heroku
Yesod on HerokuYesod on Heroku
Yesod on Heroku
 
start Heroku
start Herokustart Heroku
start Heroku
 
Railsの開発環境作るぞ
Railsの開発環境作るぞRailsの開発環境作るぞ
Railsの開発環境作るぞ
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~RでつくるWebアプリ~rApache編~
RでつくるWebアプリ~rApache編~
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
 
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
 
Docker handson
Docker handsonDocker handson
Docker handson
 
Dockerの導入
Dockerの導入Dockerの導入
Dockerの導入
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
 
Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介Debianを用いたCortex-M3マイコン開発事例のご紹介
Debianを用いたCortex-M3マイコン開発事例のご紹介
 
Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19Bundler kanazawa.rb meetup #2 2012/09/19
Bundler kanazawa.rb meetup #2 2012/09/19
 
Drone.io のご紹介
Drone.io のご紹介Drone.io のご紹介
Drone.io のご紹介
 
Dockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニックDockerイメージ構築 実践テクニック
Dockerイメージ構築 実践テクニック
 
恋に落ちるデプロイツール
恋に落ちるデプロイツール恋に落ちるデプロイツール
恋に落ちるデプロイツール
 

Recently uploaded

Recently uploaded (12)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Sinatra and heroku for mac