WEB

May 03, 2020

Ruby
Rails

Ruby on Rails開発経験0の自分が最低限の基礎理解のためにやったこと

post 39

急遽PLとしてRailsアプリの開発案件に参画することになり、差し迫ってRails開発のノウハウが必要になった訳だが、直接自分でRailsアプリを開発する訳ではないし、正直どこまで理解すべきか悩ましい。

とはいえ知識0では苦労しそうなので、簡易的なWebアプリを作ったり、自分が過去経験した言語(Java/PHP/C#)での開発と比べてどう違うのか、こちらの書籍を一読して確認してみた。


本書ではRubyの言語仕様からRails開発手順など、実際に求められる知識が網羅的に説明されている。

■ Chapter 1 - RailsのためのRuby入門
■ Chapter 2 - Railsアプリケーションをのぞいてみよう 
■ Chapter 3 - タスク管理アプリケーションを作ろう 
■ Chapter 4 - 現実の複雑さに対応する 
■ Chapter 5 - テストをはじめよう
■ Chapter 6 - Railsの全体像を理解する 
■ Chapter 7 - 機能を追加してみよう
■ Chapter 8 RailsとJavaScript
■ Chapter 9 複数人でRailsアプリケーションを開発する
■ Chapter 10 Railsアプリケーションと長く付きあうために

の章を重点的に確認。

タスク管理アプリケーション開発

Chapter3 〜 Chapter4で解説されているタスク管理アプリケーションのハンズオン。

gemを活用しながらの機能実装なので、ハンズオンでRails開発の全体像はざっくり把握できると思う。

■ Railsの仕組み( ルーティング / CRUD操作 / テンプレート化 )
■ gem導入と使い方( slim / html2slim / bootstrap / bcrypt )
■ Rails標準であるジェネレータの使い方( コントローラ / モデル作成 )
■ モデルクラスでのバリデーション( 標準機能 / 独自実装 )
■ モデルクラスでのデータ操作( 関連 / 絞り込み / ソート )
■ DBマイグレーション( 主なコマンド / バージョン管理 / テーブル定義の制約制御 )
■ ログイン機能実装( Railsでのセッション管理 / Cookie )

記事を執筆しながらの実装で1日くらい要したが、開発だけであれば2〜3時間で完了可能。

Ruby on RailsでCRUD操作が出来るタスク管理アプリケーション構築 Part1
Ruby on RailsでCRUD操作が出来るタスク管理アプリケーション構築 Part2
Ruby on RailsでCRUD操作が出来るタスク管理アプリケーション構築 Part3
Ruby on RailsでCRUD操作が出来るタスク管理アプリケーション構築 Part4
Ruby on RailsでCRUD操作が出来るタスク管理アプリケーション構築 Part5

Rails APIモード

こちらの記事を拝見し、API開発は需要がありそうなので、RailsのAPIモードも試しに触ってみた。

Railsは終わったと言われる理由

docker環境での手順含め、動作検証に利用したコードはこちら

RSpecでの自動テスト

Chapter5ではRSpec導入からテスト実装までを解説されている。

個人的に今回は手を動かせていないが、モダンな開発環境であれば必須領域。

Rails界隈で有名な伊藤淳一さんが綺麗に整理されているので、一読して実践すれば大丈夫かな。

使えるRSpec入門・その1「RSpecの基本的な構文や便利な機能を理解する」
使えるRSpec入門・その2「使用頻度の高いマッチャを使いこなす」
使えるRSpec入門・その3「ゼロからわかるモック(mock)を使ったテストの書き方」
使えるRSpec入門・その4「どんなブラウザ操作も自由自在!逆引きCapybara大辞典」

RailsとJavaScript

Chapter8ではAjaxでRailsサーバとの通信について説明されている。

小規模システムであればRailsモノリスで問題ないだろうけど、最近はAPIファーストでフロントエンドとバックエンドを切り離した構成が多くなっているので、参考レベルに読めば良い内容かな。

Reactチュートリアル
基礎から学ぶVue.js - チュートリアル
Nuxt.js公式ホームページ
Next.js公式ホームページ

その他参考記事

Ruby on Railsガイド
Railsドキュメント
マイクロサービス時代に捧ぐ、Railsでの中規模APIサーバ開発のための技術構成
100万行オーバーのモノリシックRailsアプリをマイクロサービス化したクックパッドの手順


©Copyright2020 TaNA LABO. All Rights Reserved.