学ぶべきRailsスキルが多すぎる?初心者でも迷わない学習の始め方
Railsコンピテンシーチャートをご覧になったことはありますか?
CodeFellowsのBrook Riggio氏が作成したこのチャートには、現代のRails開発者が知っておくべきすべての概念がまとめられています。一度見てみましょう。

恐ろしいでしょう?まるで200本もの触手を持つ怪物が、あなたに襲いかかろうとしているように見えます。
Railsの学習が尻込みしたくなるのも無理はありません。SQLやデプロイメントのような一部の分野は、それだけで独立したキャリアパスになり得ます。アプリケーションアーキテクチャに何年も費やしても、専門家だと実感できないかもしれません。
しかし、このチャートは正確です。プロのRails開発者にこのチャートを見せれば、「うん、だいたいそんな感じだね」という答えが返ってくるはずです。むしろ、「何が足りないか」について語られることの方が多いかもしれません。
では、これらすべてにどう向き合えばいいのでしょうか?5年前から準備していなくても、どうやって全部を学べばいいのでしょうか?
膨大なトピックにどう対処するか?
確かに、ほとんどのプロのRails開発者は、これらの概念の多くについて深い知識を持っています。しかし、Railsアプリの構築を始めるために、これらすべてを知っている必要はありません。デプロイする段階になるまでデプロイメントを学ぶ必要はないですし、SQLでのグループ化の方法も、初めて必要になったときに調べれば十分です。
このチャートではうまく表現されていない重要なポイント(元のブログ記事では触れられています)があります。それは、各分野が互いに補強し合うということです。例えば、ユニットテスト、統合テスト、受け入れテストなどは、似たようなスキルと知識を共有しています。テストの種類ごとに違いはありますが、ユニットテストを数多く書いて基礎を理解できれば、他の種類のテストも格段に速く習得できます。
学べば学ぶほど、学習スピードは上がります。オブジェクト指向プログラミングを理解していれば、関数型プログラミングははるかに学びやすくなります。サービス指向アーキテクチャは、オブジェクト指向プログラミングとどこか似た「感覚」があります。CSSセレクターを学べば、jQueryの扱いもぐっと楽になります。学んだ原則の多くは、別の分野にも応用できるのです。
どこから始めるべきか?
すべてのスキルを同時に習得しようとすると、一つずつマスターしていくことで得られる学習加速のメリットを活かせません。だからこそ、一度にいくつかに絞り込み、しっかりと学び込むことが大切です。
まず、自分自身にこう問いかけてみてください。
「今直面している問題を前進させるために、何を知る必要があるのか?」
その答えをもとに、最初に取り組むべきスキルを絞り込みましょう。それらを習得したら、隣接するスキルにも目を向け、直前に学んだことを活かして類似の知識をより速く吸収できます。例えば、コマンドライン操作に慣れてきたら、パッケージ管理や権限設定といった分野へ比較的スムーズに広げていけるでしょう。
必要なタイミングで必要なスキルを身につければ、モチベーションという追い風も得られます。自分にとって本当に重要なことに時間を費やせるからです。
具体例を挙げましょう。マルチテナンシーを「知っておくべき常識だから」という理由だけで学ぼうとすれば、最初のブログ記事の途中で眠気が襲ってくるはずです。しかし、「アプリを動かすための唯一の手段だから」と学ぶのであれば、見つけたあらゆるチュートリアルやリファレンスガイドに食いつくことでしょう。
数百ものスキルを目の前にして、そのすべてを習得しなければならないと考えるのは、心が折れる経験です。特に、最初のいくつかのスキルの習得に数週間〜数ヶ月かかるとなれば、「プロのRails開発者には永遠になれない」と感じてしまうかもしれません。
とはいえ、チャート自体は間違っていません。Rails開発者として経験を積めば、いずれそれらのほとんどについて深い知識を持つことになるでしょう。ただ、誰もが最初からそこにいたわけではないのです。
だからこそ、まずどこかから始めましょう。優先順位をつけ、アプリを完成させるための道を一歩ずつ進んでください。途中で不足に気づいたら、その都度分野を広げて埋めていけばいいのです。そして、時間が経つにつれて学習はどんどん速くなることを忘れないでください。
さらに、これらのスキルをより速く習得し、いざという場面で使いこなせるようになりたい方は、書籍『Practicing Rails』の無料サンプル章をぜひチェックしてください。圧倒されることなく、新しいRailsの知識を素早く深く学ぶためのメソッドを紹介しています。
-
RailsでTailwind CSSを使う方法|導入から実践的なスタイリングまで徹底解説
CSSは魔法のような存在ですが、同時に時間のかかる作業でもあります。美しく、機能的で、アクセシブルなサイトは使っていて心地よいものですが、自分でCSSを一から書くのは骨の折れる仕事です。近年はBootstrapをはじめとする多くのCSSフレームワークが登場し、その中でもTailwind CSSは特に注目を集めています。 RailsにはTailwindが標準搭載されていませんが、この記事では新しいRuby on RailsプロジェクトにTailwind CSSを追加する方法を解説します。これにより、デザイン実装にかかる時間を大幅に節約できるでしょう。さらに、Tailwindのユーティリティクラス
-
Rails5でのAngularの使用
あなたは前にその話を聞いたことがあります。分散型で完全に機能するバックエンドAPIと、通常のツールセットで作成されたフロントエンドで実行されているアプリケーションがすでにあります。 次に、Angularに移動します。または、AngularをRailsプロジェクトと統合する方法を探しているだけかもしれません。これは、この方法を好むためです。私たちはあなたを責めません。 このようなアプローチを使用すると、両方の世界を活用して、たとえばRailsとAngularのどちらの機能を使用してフォーマットするかを決定できます。 構築するもの 心配する必要はありません。このチュートリアルは、この目的のた