ウェブサイトを作る1 Ruby on Rails
どうもhiroakiです。
今回はRubyのウェブフレームワークであるRuby on Railsを用いてウェブサイトを作っていきたいと思います。progateを参考に作ってみます。よろしくお願いします。
今回は、自分の練習のためもあり、progateのレッスンとほぼ同じものを作ることになると思いますが、お付き合いください。なお、このレッスンではHTMLやCSSについては最低限のことしか紹介しません。細かく気になる人はprogateに加入してみるといいでしょう。
▼記事はこちらにまとめていきます。
Ruby on Railsとは
まずは、Ruby on Railsの基礎を押さえましょう。
Ruby on Rails(以下Rails)はRubyでwebアプリケーションを作るフレームワークのひとつです。Rubyのwebアプリケーションフレームワークには他にもSinatraなど様々あります。これらのフレームワークを使うことで、初めから自分でコードを作る必要がなくなります。開発速度が上がりますね。また、複雑なコードを用意しなくてもいいなどのメリットがあります。
以前も少しご紹介しましたが、ウェブアプリを作る人の中にwebフレームワークを使わない人はいません。
参考文献:
Ruby on Railsの原則
Railsでは、多くのプログラマーがより素早く、簡単にサービスを開発できるように、次の原則があります。この原則に「納得がいかない!」という人はRailsでの開発に向いていないかもしれません。
DRY(Don't Repeat Yourself)
同じコードや似たようなコードを何度も書くのは、効率が悪い。また変更に弱い為やめるべき。皆が理解できる拡張性の高いコードも同じようにDRYなコード記述によって生まれる。
COC(Convention Over Configuration)
プログラマーの意思よりも「規約(決められたルール)を優先する」ということ。Railsはどんな風にアプリケーションを開発することが最善の方法であるか、ある程度事前に決めてくれている。これを「規約」といい、規約を守り抜くことを前提としてフレームワークが構築されている。規約のレールに乗ることで、最速でアプリケーション開発を行うことができる。初心者の方にとって有益。
では、これから開発を進めていきます。先ほども紹介した通り、プログラミング初心者向け勉強サイト、progateの内容を元に進めていきます。ここでは、ツイッターのようなサイトを作っていきます。
環境構築
railsのインストールは以下のサイトを参考にしてください。
データベースの設定に関して。
初心者には、環境構築があまり必要のないCloud9での開発もおすすめです。
実はWindowsでのrails開発は何かと苦労が多いらしいです。自分もこれにはちょっと苦戦しまして、どうすればいいのか途方に暮れていました。
そこで、AWSのCloud9を試すことにしました。クラウドのIED(統合開発環境)であれば、そういったPCなどの違いも関係ないとの事。これですんなり開発に進めます。
これに似たサービスで、PaizaCloudもおすすめです。
AWSのcloud9やPaizaCloudなどで環境設定をする際は、以下を参考にしてみるといいでしょう。
https://dotinstall.com/search?q=AWS&f=topbar
lesson1
ひとまず、環境は整いましたかね。ちょっと時間もかかったかもしれませんが、早速、開発していきましょう。
Railsで開発を始めるには、ターミナルで「rails new アプリケーション名」というコマンドを実行します。
- rails new testtweet_app
コマンドを実行することで、入力したアプリケーション名と同名のフォルダが作成され、その中に開発に必要なフォルダやファイルが用意されます。コマンド実行後にどんなものが作られたか、実際に中身を確認してみてください。この自動生成機能がrailsのウリです。
- rails server
次に、開発中のアプリケーションをブラウザで表示するため、サーバーを起動します。「rails server」してください。
「localhost:3000」のURLにアクセスし、初期画面が表示されれば成功です。
+α
こちらも参考にしてみてください。
感想
ちょっと疲れたので、今回はここまで。
リンクばかりですみません。もし、上記までで上手くできない人がいらっしゃればコメントください。私も分からないなりに、なるべく調べてご回答差し上げます。
今回は、いつもの文章量からすると、すこし少な目かもしれませんが、初めての人にとっては環境構築に時間がかかり、大変だと感じたところかもしれません。特にWindowsの人←
自分も調べたりなんやりで結構時間かかりました。
時間がかかりすぎて、「うわー自分プログラミング向いてねー」ってなりました(笑)ストレスたまったんで、やめようかなと思いました(笑)
今回試行錯誤の末(≒Google検索の末)、ドットインストールの動画にたどり着き、なんとか開発環境を整えましたが、実はあまり仕組みがよく分かっていないです。なので今後も学びつつまとめていこうと思います。
最後に、「プログラミングで大事なのは実際に自分で手を動かして試してみること」だと、よく言われますよね。プロゲートやpaizaその他では、サイト内でコーディングを試せるようになってはいますが、それだけでは実際に開発はできません。なので環境構築って初心者を脱するには大事なことなんじゃないか?と思ってます。
なぜなら、学んだことをある程度自分で「再現」できれば、「自分はここまではできた」と思えますからね(まあ、自己満ですが)。なので、今のところ、学んだことは自分で試してみるのが一番良いんじゃないかなと思って進めていってます。
また、自分はこんな風に、偉そうに言ってますが、実際今も分けわからん状態なので、独学試行錯誤中です(笑)
こうやって仮説を立てて学ぶことも大事らしいですんで、なんでもかんでも試していこうじゃないですか(笑)吹っ切れて。
みなさん、これからlesson続けていきますが、一緒に頑張りましょう。きっと、できます。これ、自分にも言い聞かせてます(笑)きっと、じゃない必ずできます。こうすればいい、とかこれは何だとかありましたら、ぜひコメントください。お互いに知恵を出し合って解決できれば、と思います。
長くなりましたが、以上です。
ではでは。