Rubyistに、俺はなる!?ということで、以前にRubyを触った記事が実に6年前の2018年! ただ、この時は本当に触りだけ、四則演算やputsメソッドで文字を出力しただけです。
この度、6年ぶりにRubyおよびRuby on Railsをがっつり触りたく、思い立ちました!
【目次】
※Ruby/Ruby on Railsを習得するためにやったこと まとめ qiita.com
Ruby再開計画
2018年以来、6年ぶりのRuby再開計画。6年前は四則演算やputsメソッドで文字を出力しただけ。
※参考:初めてのRuby:インストール確認、REPL、Hello worldまで - クモのようにコツコツと
今回は下記のステップで進んで行こうと思ふ。
- Ruby最新版をインストール
- 20分で始めるRuby
- Railsチュートリアル
- オリジナルアプリ(APIモード)
Ruby最新版をインストール
PCの中にあらかじめRubyが入っているようだが、バージョンは2.6
$ ruby -v ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin22]
Rubyの最新版は3.3なのでそちらをインストールしたい。
インストールガイドによるとMacではHomebrewを使うことになりそう。
※参考:Rubyのインストール
20分で始めるRuby
Rubyの公式サイトにあるチュートリアル。6年前もこのページの触りは見たのだが、今回は最後までちゃんと見て取り組みたいと思ふ。ざっと見、変数、配列、クラス、分岐、ループなどRubyの基本的なことに触れることができそう。
※参考:20分ではじめるRuby
なお、Ruby3.3の公式リファレンスマニュアルはこちらのページにある。今後、細かいところはここを調べながら進めたい。
※参考:オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (Ruby 3.3 リファレンスマニュアル)
リファレンスは簡素な目次になっているが、「Rubyの公式リファレンスが読めるようになる本」で見方のコツが身につきそう
なお、「Rubyの公式リファレンスが読めるようになる本」の筆者の伊藤さんが書かれた「プロを目指す人のためのRuby入門(通称:チェリー本)」も購入!!読み進めてます。
リファレンスには検索ウィンドウがないが、こちらの「るりまサーチ」で検索ができる。
※参考:最速Rubyリファレンスマニュアル検索! | るりまサーチ
Railsチュートリアル
Rubyの基本的な読み書きができるようになったら、RubyのWebアプリの代表格である、Ruby on Railsに入りたい。
RailsチュートリアルのWebテキストからまずはトライしようかと(有料だが千円ほど)
※参考:Rails 7 でプロダクト開発を学ぼう - Railsチュートリアル
Webテキスト版がどうしても難しい場合は、動画版もあるらしい(こちらは3万円ほど)
※参考:スライド付き解説動画で、早く学ぼう - Railsチュートリアル
Railsチュートリアルで身につけたいこと:
- オブジェクト指向を理解したい
- MVCアーキテクチャを理解したい
- データベースの設計や操作の基本を身につけたい(SQL、ORM activeRecordなど)
- API設計の基本を身につけたい
- ログイン認証などセキュリティ設定の基本を身につけたい
- Railsのフロントエンド設定を経験したい(ERB、BootStrap、Hotwireなど)
- Railsのルーティング設定を経験したい
- テスト駆動開発(TDD)
- バックエンド&データベース込みの環境のデプロイ(Render)
バックエンド自体ははPHP(laravel)やJS(Node/Express)で少し経験していたが、新たにRuby(Rails)に取り組むのはオブジェクト指向(カプセル化・継承・ポリモフィズムなど)を身につけたい目的がある。
※参考:オブジェクト指向プログラミングの3大要素 - Good Concepts in Programming - #初心者 - Qiita
オブジェクト指向自体はJavaなどで身につける方法もあるが、自分の今の仕事により身近なWeb系バックエンド環境としてRubyに決めた。
チュートリアルが終わったあとも、Railsの仕様の詳細は「Railsガイド」で調べることができそう。
※参考:Ruby on Rails ガイド:体系的に Rails を学ぼう
Railsの公式リファレンスもあり(英語版)
オリジナルアプリ(APIモード)
Railsチュートリアルが終わったら、オリジナルのWebアプリも何か作ってみたい。
Railsチュートリアル以外でやってみたいこと:
- RailsをAPIモードにして、Vew部分はReact/Nextなどのフロントエンドフレームワークに分離する
- CSSはBootStrapではなくTailwindで作る
- ローカル環境をDockerで構築する
- リモート環境にDockerのコンテナをデプロイする(Render?, AWS?)
- GitHub Copilotなどコード補正AIを使ったコーディング
- GitHub ActionsなどのCI/CDパイプラインを利用(?)
RailsのAPIモード
※参考:Rails による API 専用アプリケーション - Railsガイド
今年中にバックエンドの基本を習得し、Webアプリを作るところまで行きたく、新しい学習方法として、GitHub Copilotなども使ってみたい。
※参考:GitHub Copilot の概要 - GitHub Docs
※参考:【入門】Github Copilotとは?使い方・活用の基本 - カゴヤのサーバー研究室
最後に
ということで、これからしばらくRubyおよびRuby on Railsをメインに取り組んでいきたく思います。進捗をブログにも書いていきたいと思っています。
Rubyistに、俺はなる!!!
※Ruby/Ruby on Railsを習得するためにやったこと まとめ qiita.com