Beginning Rails 3のレビュー





リリース以来、このすばらしいフレームワークの3番目のバージョンは2番目のフレームワークに取って代わり始めました。 これはもちろん問題ありませんが、バージョン間で非常に多くの変更があり、一部は非推奨のステータスになっています。 そして、これは、Railsを完全に使用するための第2バージョンだけの知識では不十分であることを意味します。

それが、私がサードレールに関する文献を探し始めたときの理由です。 文書ではなく文学なのはなぜですか? このフレームワークに注意を向けたのは秋になってからだったのですが、それでも本から学ぶほうがよいと思います(そう思う)。 そして、9月にのみ出版されたBeginning Rails 3の本のサイトに出会ったときの私の喜びは何でしたか。



ブック形式



この本はもともと電子書籍であるため、モニターや電子書籍を読むのは非常に快適です。 もちろん、印刷版も販売されていますが、電子版を購入し、必要に応じて自分で印刷する方が良いと思います(メールの方が安くて信頼性が高い)。

この本は、残念ながらロシア語に翻訳されていませんが、非常にアクセスしやすい言語で書かれており、問題なく読むことができます。



材料供給



著者は、フレームワーク自体の説明だけでなく、その哲学にも多くの注意を払っています。 プラットフォームの要素の使用を説明する前に、読者にこの要素が解決することを意図した問題(たとえば、移行の章の前に硬貨を使用する場合のデータベース構造の関連性を維持する問題)にスムーズに導き、なぜこれがRail開発者によって選択されたパスであるかを説明しようとします決定。

この本は、ブログの開発に基づいています。 最も簡単なCRUD操作とスキャフォールダーから始めて、本の終わりに向かって、テスト、国際化、アプリケーションの展開の問題に取り組みます。

完成した例には、ソースをダウンロードできるgithubへのリンクが付いています。 リスト自体では、コードが古い例から変更されている場合、変更が太字で強調表示され、コードの分析が大幅に簡素化されます。 コードには十分なコメントがあり、さらに各アクションは作者によって十分に詳細に署名されているため、例に関する質問はありません。 重要な点は、誤ってすり抜けることのないメモと警告で強調されています。



内容



私が言ったように、本はブログの段階的な作成に基づいています。 各章では、フレームワークの特定の要素について説明し、要素の説明と並行して、合成例ではなく実際のアプリケーションに適用する方法をすぐに示します。

しかし、私は各章について個別に言いたいと思います。



第1章Railsフレームワークの紹介


この章では、一般的なフレームワークの出現理由から始めて、著者はRailsを選択する価値がある理由に移り、Ruby自体の利便性(メタプログラミング、DSL、便利な構文、オブジェクト指向;しかし、後者)他の言語については2つのポイントを要約できますが、記述されているとおり)、アジャイル開発の原則へのフレームワークの近接性、「構成の優位性」の概念、KISSとDRY、「構文糖」の利便性。

次に、MVCパターン、フレームワークのモジュール性を調べ、特に、Railsが「特効薬ではない」という事実に引き続き注意を払います。

一般的に、この章では、Railsとフレームワークが一般に必要な理由と、Railsでアプリケーションを開発する際に使用されるアイデアについて説明します。



第2章はじめに


第二章では、すべてがそのような本の標準です。 Mac、Linux、およびWindowsにRailsをインストールし、SQLiteをインストールして、最初のプロジェクトを作成し(「Hello、world!」だと疑う人は)、組み込みのWebサーバーをRailsで起動します。



第3章何かを実行する


そして、ここからまさにブログの作成が始まります。 この章は、アプリケーション作成のクイックスタートです。

前の章と同様に、プロジェクトの作成が考慮されます。 しかし、ここで各ディレクトリの目的、つまりデータベースの作成について説明します。 さまざまなジェネレータ、移行、および足場が簡単に確認されます。

この章の終わりに向かって、完全に機能するシングルユーザーCRUDブログを入手します。



第4章データベースの操作:アクティブレコード


すべては、特にORMとActiveRecordの本質を理解することから始まります。 リレーショナルアプローチとオブジェクトアプローチは完全に異なるものであり、ORMはそれらの間の「ブリッジを構築する」ことが求められていることが説明されています。

次に、本の過程で非常に頻繁に使用されるレールコンソールの使用を検討します。

さて、この章の主な資料は、CRUDとは何かの詳細な説明と、Railsでのこれらのメソッドのかなり詳細な説明です。

もちろん、すべてのメソッドのすべてのパラメーターが説明されているわけではありませんが、言われたことは、後のドキュメントで失われないようにするのに十分です。



第5章高度なアクティブレコード:モデルの強化


この章では、モデルについてさらに詳しく説明します。 CRUD、関連付け(非常に詳細)、高度な検索(条件、セット)、バリデーター(ただし、ここではすべてが非常に少なく、ドキュメントなしでは実行できません)、コールバックモデル、およびそれらを別のファイルに追加(オブザーバー)。

各トピックは、ブログの機能と並行して実行されます。 これの利点は、アソシエーションに関して明らかになります。 本当に詳細なのは、関連付けのすべてのオプションです。



第6章アクションパック:ビューとコントローラーの操作


この章はその名の通りです。 ルーターからレンダーで終わるリクエストのパス全体を考慮します。 RESTfulアプローチは非常に詳細に検討されています。「ここで、scaffolderがルート、コントローラー、およびテンプレートを作成する」だけでなく、これらすべての生成方法とすべてを自分で行う方法の詳細な説明も考慮されます。



第7章:高度なアクションパック


第6章の継続。 この章の最も重要な部分はセッションです。 このトピックは、ブログサイトにユーザー認証メカニズムを作成することで論理的に終わります。 また、ここでは組み込みリソースとそのルーティング、フィルター、コントローラーのヘルパーについても学びます。 そしてもちろん、これらすべてにブログの段階的な改善が伴います。



第8章:Ajaxとの相互作用の改善


この章では、ほとんどの質問があります。 JQueryのインストールが考慮されますが、このプロセスを簡素化するプラグインについての説明はありません。手動でライブラリを置き換え、構成を編集します。 私が間違っていなければ、この問題を解決する既製のソリューションがあります。

RJSテンプレートについての言葉もありません。 この例では、<%...%>挿入を含む純粋なJavaScriptを使用しています。 私はまだレールをあまりよく知りませんが、3番目のバージョンのRJSは削除されなかったようです。 とにかく、この章は非常に少なく、読んだ後、AJAX in Railsはあまり開発されていないという感じが残っています。



第9章:電子メールの送信と受信


ここでの焦点は、手紙の送付です。 単純なテキスト文字と、HTMLや添付ファイルを含むより複雑な文字の両方を検討します。

また、この章の最初では、メールサーバーを操作するための環境の構成について説明し、最後に手紙の受け取りに関するいくつかの単語を説明します。



第10章:アプリケーションのテスト


私の意見では、これは本の最も興味深い章の1つです。 最初に、ユニットテスト、そして機能テストと統合テストを非常に明確かつ徹底的に検証します。 アプリケーションのどの部分を適用するかをテストするテストを書く必要がある理由が明らかになります。 もちろん、良いテストを書くための方法論はここでは完全には説明されていませんが、この方向でのさらなる開発の基礎は良いものです。 Railsに組み込まれているテストメカニズムについて詳しく説明します。 すべての資料は、本書を通して取り組んできたブログのテストスイートを作成する際に考慮されます。



第11章:国際化


この章では、まず国際化とローカリゼーションの概念を紹介し、その後多言語アプリケーションを構築するためのRailsツールについて説明します。 すべてがシンプルで明確で、例もあります



第12章:プラグインでRailsを拡張する


また、非常に便利な章です。 まず、例としてact_as_taggedプラグインを使用したプラグインの一般的な使用を検討し、次に簡単な例を使用して独自のプラグインを作成する方法を示します。 この章の最後で、著者は、必要な機能を備えたプラグインがまだ作成されていない場合にのみ、プラグインを作成する必要があることを再度思い出させます。



第13章:Railsアプリケーションのデプロイ


ここでは、Capistranoを使用してホスティングにアプリケーションをデプロイする利点について簡単に説明し、Railsアプリケーションを配置できるいくつかのホスティングプロバイダーへのリンクを提供します。

参考のためよりも教育目的のために、すべてが非常に簡潔に説明されています。



用途


本の最後では、Ruby、SQL、コミュニティ、およびGit向けのアプリケーションがいくつか提供されています。 コミュニティを除いて、アプリケーションには実質的に意味がありません。



まとめ



一般に、この本は非常に高品質で、Railsに精通している人を対象としています。 経験豊富なレーサーがそのページで特に役立つものを見つけることはまずありませんが、おそらくいくつかの別々の章が彼らを助けるでしょう。

この本はデスクトップには描かれていませんが、Railsに精通し始めたばかりなら、この本は間違いなくRailsの仲間入りを助けるでしょう。



All Articles