はじめましてRuby on Railsさん[2日目]、からのさようなら
Ruby on Rails勉強メモ、2日目です
1日目は主に導入編でした
2日目の本日から、いよいよチュートリアルで簡単なサンプルアプリを作っていきます
参考にしたのはこちらの「Railsガイド v6.0」です
今回調べていてわかったのですがRailsのチュートリアルって割と数はあるんですが、最新のv6用のチュートリアルはあまりない印象でした
「Railsをはじめよう」の感想
最初から感想を書いておきますが、今回参考にしたRailsガイドは、正直なところプログラミング初心者向けではありません
冒頭に「本ガイドの前提条件」として、以下のことが書かれています
本ガイドは、ゼロからRailsアプリケーションを構築したいと考えている初心者を対象にしています。読者にRailsの経験がないことを前提としています。
なんか一見するとプログラミング初心者向けとも取れる文章ですが、
「Railsの経験がないことを前提としてはいるが、プログラムの経験が不要とは書いてない(キリ)」
ということを言いたかったのかもしれません
全体的にはそれなりに他の言語でWebサービスを作った経験のある人向けだという印象です
プログラムについて全くの初心者の人が、いきなりこのガイドを見てもさっぱり意味がわからないと思います
挫折率は98%と言ったところでしょうか
僕はPHPでそれなりの数のWebサービスを作ってきましたし、PHPフレームワークの経験も多少ありますが、それでもこのガイドを一通り読んで理解するにはそれなりにパワーが必要でしたw
あと、ちょっと文章が回りくどいというか、読みにくい(お前が言うなw)
大まかな内容
このガイドの内容を大まかにいうと、実際にRailsのコマンドを叩いてコードを書いて、サンプルアプリを作り上げるというものです
このガイドで作るサンプルアプリはブログです
ブログで必要とされる一通りの機能を実装します
- 一覧表示機能
- 新規追加機能
- 編集機能
- 追加機能
また、記事だけでなくコメントの追加機能も追加します
詳しい内容は、Railsガイドの方をご覧ください
Railsの感想
ガイドに従って、最後まで一通りのブログ機能作り終えた感想
Rubyについて
これはRailsというかRuby言語についてなんですが、今までPHPやJavaみたいなカギ括弧({})やセミコロン(;)をコードの区切りとして使ってきた人間には、多少なれない部分があります
確かにいちいちコードの終わりにセミコロンを打つ必要がないので楽っちゃ楽なんですが、どうもシャキッとしないというかw
コードの表記のルールもちょっと独特な気がしました
この辺は、あと何個かサンプルアプリを作っていくうちに慣れていく部分かもしれません
Railsについて
いや、しかし、なんかすごいよね
コマンド何個か打ち込むだけで、それっぽいプログラムが自動的に出来上がっちゃうのね
こんなに自動でやってくれる世の中になってるとはね
もうそのうち、
rails create Web service : ちょーかっこよくってー、いけてるカレンダーアプリ作ってちょ
こんなコマンド投げたら、勝手にアプリ作ってくれる時代になるのかもしれませんね!
・・・本題に戻ります
「繰り返しを避ける」
というRailsの思想は嘘じゃない、って感じました
びっくりしたのがデータベース関係
コマンドを打っていくだけの簡単なお仕事で、DB周りの設定をすべて自動でやってくれます
PHPでWebサービスを作っていると、大変面倒に感じるのがDB周りだったりします
毎回毎回、DBのテーブルを定義して、その定義したテーブル情報をPHP側で定義して、それに合わせてクエリーを書く、みたいなアフォみたいな雑用とも言える作業がRailsではほとんど必要ありません
ちょっと怖いぐらいにサクサク進んでしまいます
このガイドを進めていくとわかるんですが、なにせSQLのクエリーを1行も書いてないのに、挿入・更新・削除といった基本操作ができてるんです
もうびっくりですよ
ただ、自動的にやってくれるということは、裏を返せば知らないブラックボックス的要素を多分に含むことを意味するわけですが、その辺はやっていくうちに解消されていくのかもしれません
Ruby on Railsって直訳すれば、
「レールの上でRubyする」
となります
レールとは鉄道の下に敷かれたレール、つまりガイドの様なものです
よく、レールの敷かれた人生なんてつまらない
と言われますが、つまらないけども裏を返せば楽だったりする訳で、まさにRailsは自由度は少ないけどレールに沿って進めていけば驚くほど少ない工数でサービスを作ることができる、
ということを実現してるのだと感じました
ということは、逆に人の道をレールを外れたサービスを作ろうとしたら、どんな災難が待ち受けてるのかと想像するとちょっと怖い気もしました
やっぱりRailsは凍結します
実は、その後、もう一つのサンプルアプリを作ってる間に、とんでもないRailsの欠点を発見してしまいました
それは、Rails(Ruby)はレンタルサーバでは動かない、ということです
正確に言えば動くレンタルサーバもありますが、どれもいろんな意味で座敷が高いのです
僕の利用してるスターサーバではRubyの利用は一応できますが、そのバージョンは今日時点で2.0.0
2.0.0つったら、あーた、Rails4.2に該当するバージョンですよ!
とてもじゃないけど、話になりません
ちなみにこれはXサーバーでも同様で、Rubyのバージョン2.0.0ということまで同じです。
どのサーバ会社もPHPであれば常に最新のバージョンを使える様にしてあるのに、Rubyに関してはひどい扱いです。
どのレンタルサーバでもRubyに対して消極的なのは、とても偶然とは思えません。
何か理由がありそうです。
Ruby on Railsを動かすためには、現実的にはVPSサーバが必要になります
そうなると、今のスターサーバで運営してるサービスは全て移行する必要がありますし、月額料金も跳ね上がります
VPS自体はいつか移行したいサーバではありますが、今じゃないんです
いくらRailsで開発工数が削減できても、サーバコストが跳ね上がったのでは素直に喜べまへん
という訳で、一旦Railsの勉強は凍結します
でも、必ずいつかRailsもやってみたいです
・・・ということで、次回からは「はじめまして Laravelさん」がスタートしますw
ディスカッション
コメント一覧
まだ、コメントがありません
新たにPostされたDocs
: ツール関連
キーボードを銀軸から赤軸に買い替えた話
約3年半前、仕事で使うキーボードとしてARCHISS ProgresTouchの ...: スマホ
楽天モバイルがおすすめできない人の特徴とは?
楽天モバイルの最強プランをおすすめできない人の特徴を簡単にまとめてみました また ...: システム開発
なぜスクラムがつらいのか?開発現場が疲弊するのか?スクラムに対する違和感と共に原因を考えてみた
今ではどこの開発現場に行っても、やれスクラムスクラムと、まるでスクラムでもやって ...: Laravel
1つのテーブルを複数のテーブルと結合したい【Laravel10】
1つのテーブルを2つの異なるテーブルに対して結合したいケースがあったのでLara ...: Laravel
Laravelで複数画像アップロード時のvalidateを指定【Laravel10】
jQuery - Image Uploaderを使って、フォームから複数の画像を ...HashMap
created_by
はやぴ
Web/アプリ開発エンジニア
Sierにてお堅いB向けのソフトウェア開発を経て、現在はC向けのWebやアプリを中心に開発しています。
Utilities