『Webアプリ開発入門 Sinatra編1:RubyでWebアプリケーションを作ろう (全8回)』
前回に引き続き、このままJavaをやっていこうかとも思ったが、
ちょっとめんどくさそうなので、一旦他を終わらせてからにしよう😓
あと大きい所で残っているのは、Ruby関係の
だと思うんだけど、これもPythonのときのように、
FlaskとDjangoのどちらを先に学習すべきかが分からなかったが、
どうやらネットとかでみると、
Sinatraを先に学習して、Railsをやっていった方がいいらしい。
そして、最終的にはRailsを使うことになるのかな?
ところで、Sinatraって歌手のフランク・シナトラから由来しているのか?
→ フランク・シナトラってどうやら「Fly Me to the Moon」とか「My Way」とか有名な歌を歌ってた人なんだな!😲
でもなんか命名の仕方がお洒落な感じだよな!ってことはなんとなく分かる。
そんなことよりRubyの書き方忘れた!?😫
復習も兼ねてやっていきますか〜😤
そういえば、Pythonのpipに相当するパッケージ管理システムって、
Rubyだとgemだったっけ?
使ったかどうかの記憶もあやしいけど、
どうやらgemは既にインストールされてるっぽいから、
gemを使ってSinatraをインストールすればいいのかな?
Sinatraのインストール方法をググったところ、
自分にとって分かりやすいそうなのが以下の2つだった。
前者だと、erubis(これまた歌手のプレスリーが由来か?)もインストールするっぽいこと書いてあるけど、なぜ入れる必要があるのかよくわからないから、
とりあえず後者の方を参考に以下のコマンドを実行してみる。
$ sudo gem install sinatra
$ sudo gem install sinatra-contrib
2行目のパッケージもどうやら重要みたいで、
インストールしていないと'sinatra/reloader'のところで引っかかるっぽい。
sqlite3もインストールするっぽいけど、必須かどうか現時点では分からないから、
とりあえずスルーしとこう。
SQLを使ったデータベース操作に必要になるのかな?
erubisも必要になったからインストールしよう。
それにしてもインストールに結構時間かかるな!😕
ターミナルに610 secondsって書いてあったけど、
これってインストールに掛かった時間かな?
メモ
#01:Webアプリの初歩を理解しよう
- Sinatraの特徴
Rubyを使って、最小限の労力でWebアプリケーションを素早く作る土台- 特徴:
- 軽量なWebアプリケーションフレームワーク
- 簡潔に記述できる
- 柔軟な拡張性 - 用途: 小規模なWebアプリケーションの開発に向いている
- 採用例:アップル、GitHub、イギリス政府、スタンフォード大学など
- 特徴:
- 参考になるWebページ
- - [Sinatra: README (Japanese)]
http://www.sinatrarb.com/intro-ja.html - - [SinatraでとりあえずWebページを立ち上げてみる - Qiita]
http://qiita.com/k-ta-yamada/items/9e35c5f8b31862267e01 - - [Sinatraの初心者向け入門 〜簡単にWebサイトを作れるRubyのフレームワーク〜 - ゴトーのブログ]
http://www.gamehuntblog.com/entry/sinatra-first-step - - [Sinatra 入門 - Qiita]
http://qiita.com/kimioka0/items/751e460cbb59c70379c6 - - [Sinatraであそぶ | キャスレーコンサルティング 技術ブログ]
http://www.casleyconsulting.co.jp/blog-engineer/ruby/sinatra%E3%81%A7%E3%81%82%E3%81%9D%E3%81%B6/ - - [はじめてのSinatra - Qiita]
https://qiita.com/ms2sato/items/7c07b2079b48c49fad2a - - [Rubyist Magazine - Sinatra 再入門、 Padrino / Rack / その先の何か]
http://magazine.rubyist.net/?0036-SinatraReintroduction
- - [Sinatra: README (Japanese)]
#02:SinatraでHello world
- Sinatraでメッセージを表示するプログラム
/mywork/hello.rb- require 'sinatra'
get '/' do
'Hello Sinatra!'
end
- require 'sinatra'
- Webアプリを起動する
- ターミナルで次のコマンドを実行する
ruby hello.rb -o 0.0.0.0 - ブラウザで、次のアドレスにアクセスする
http://(ドメイン名):4567/
- ターミナルで次のコマンドを実行する
- 再起動を不要にする
/mywork/hello.rb- require 'sinatra/reloader'を追記する
※ ↑ここで早速sinatra-contribが必要だったことを悟る。
ってか、ちゃんとTipsに載っているし↓
ってか、ちゃんとTipsに載っているし↓
- 自分の環境に、Sinatraをインストールする
Rubyとgemが利用できる環境で、下記のコマンドを実行する。- gem install sinatra
gem install sinatra-contrib
- gem install sinatra
#03:ルーティングを理解しよう
- 複数のルートを指定する/mywork/hello.rb
- get '/about' do
- ブラウザで存在しないルートにアクセスするとエラー画面に書き方のテンプレートを示してくれる。
#04:テンプレートで表示しよう
- erbで、HTMLを出力する
- require 'erb'
get '/' do
erb :index
end
__END__
@@index
(以下、HTMLを記述) - Rubyでは、__END__以降をデータとして読み込む
- Sinatraでは、テンプレート名は先頭に@を2つ付けて指定する
- メソッドのところでは、erbの引数としてテンプレート名をシンボル(:)で指定する
- require 'erb'
※ なんだ?erbって例のerubisとなんか関係あるのか?
#05:erbの書き方を理解しよう
- 変数で値を受け渡す
- 定義:@name = "Sinatra"
- テンプレートでの使用方法:<%= @name %>
- <%= ・・・ %>と<% ・・・ %>
erbでは、HTMLの中にRubyのコードを記述するため、専用タグを使用する。- - <%= ・・・ %>:パーセントの後ろにイコールがあると、その部分の値をHTMLの一部として出力する。
- - <% ・・・ %>:パーセントだけのタグは、出力なしでRubyコードを実行する。
#06:RPGの行動選択メニューを作ろう
- RPGの行動選択メニューの作成
mywork/player_menu.rb
#07:テンプレートを別のファイルに分離しよう
- Sinatraで、テンプレートファイルを分離する
viewsディレクトリにテンプレートファイルを格納する- indnex.erb
- action.erb
テンプレートファイル名は、erbの引数でシンボルとして指定する。
#08:テンプレートの共通部分を分割しよう
- Sinatraで、共通のテンプレートファイルを分離する
viewsディレクトリにlayout.erbファイルを格納する - スタイルシートを分離する
「public」ディレクトリは、css以外にも静的なファイルを格納できる。- public/style.css
認定証
あぁ〜、駄目だ😫
全然進まん。
Rubyに慣れていないのもあるが、時間が全然ない・・・ような気がする😑
てか眠い〜😵
学習ステータス
特に進化はしなかったみたい。
※コメント投稿者のブログIDはブログ作成者のみに通知されます