web-dev-qa-db-ja.com

Ruby on Railsは急な学習曲線を持っているはずですか、それとも私だけですか?

私は独学のプログラマーです。私は10月以来、さまざまな強度でRoRを学んでいます(時には1日中、時には数週間何もない)。それ以前はJavaしか知りませんでしたが、かなりよく知っていました。 RoRについての大げさな宣伝や、それがあなたを幸せに、生産的にするためにどのように想定されているかなど、私は聞いたことがあります。私はアジャイル本からそれを学びました、そして私がJavaScriptとCSSを知らないこと、そしてデータベースとHTMLの不安定な把握しか持っていないこととの困難さの一部が疑われるかもしれません。しかし、どうやらアジャイルの本でプロジェクトを完了するのに他の人よりもずっと時間がかかったし、それでも私はそれの多くをまだ覚えていません。 Railsについては、シンボルを使用する場合と使用しない場合、または動的メソッドがどのように呼び出されるかなど、私が理解できないように見えることがいくつかあります。

最近、私は小さなRails割り当てを与えられました。ここで、インターフェイスに小さな変更を加えるように求められます。25時間ほどかかりました。コードの理解にある程度の進歩はありましたが、どうすればよいのかまだわかりませんが、コンテキストを提供するために提供しなければならないコードが多すぎるため、Stack Overflowに問い合わせることもできません。

だから私の質問はタイトルにあります:RoRは学ぶのに長い時間がかかるはずですか、それともただ遅いのですか?間違った本から学んでいたのでしょうか?私の学習スタイルは、それが理にかなっている場合、私は何も理解しないかすべてを理解するかのどちらかです。

17
Tootsie Rolls

あなたの質問から、それがRails学習しようとしているだけでなく、同時にデータベースとSQLの概念だけでなく、Web開発の概念も把握する必要があることは明らかです。それは大変な仕事なので、しばらくお待ちください。

一方、Railsの場合、選択の余地はありません。M、V、Cの3つすべてを[〜#〜] mvc [〜#〜]から学習する必要があります、すべて同時にですが、MVCフレームワークのすべてに当てはまります。Railsが最も簡単だと思います。

あなたが代わりにできることは、RubyとHTTPの基本的な概念に慣れるまで、Sinatraなどのより単純なフレームワークから始めて、ゆっくりとより豊かなプレゼンテーション(ビューとCSS )とデータベースベースのモデル。

17

Railsを学んでいて、唯一の背景がJavaである場合、新しいWebフレームワークを学んでいるだけではありません。あなたも新しいプログラミング言語を学び、Javaとはかなり異なる言語を学びます。

最初にRubyを学習し、次にRailsとその規則を確認することをお勧めします。 Railsを理解するのに苦労する必要がなくなり、Rubyを読み書きできるようになったので、Railsが何をし、どのようにそれを行うかを学ぶのはとても簡単になりました。 _コード/テンプレート。

Ruby on Railsチュートリアル を調べたところ、非常に参考になりました。 チュートリアルブック は無料で、Rails 2.3および3.0のバージョンがあります。また、MVC(Model-View-Controller)とWeb開発/ページのライフサイクル全般について読むことも役立つでしょう。

10
Adam Lear

アニタ、私はあなたとほとんど同じ経験をしました。でも、なぜこれほど学ぶのが難しいのか理解できたと思います。

  • RoRは1つの言語ではなく、テクノロジー、言語、テクニックの幅広いコレクションです。
  • Java、C++、または論理構造を持つ他の言語とは異なります
  • 学ぶ方法は1つではなく、あなたに教えることができる1つの本もありません(これについては後で詳しく説明します)
  • 私の意見では、コミュニティはやや「意見」のような態度を持っているように見えますが、それは学習するときに他のコミュニティほど寛容ではありません。人々は、物事がどのように「行われるべきか」について定期的に意見の相違があります。これはRoRを発明した人からのトップから来ています
  • ほとんどのRoRレッスンでは、テストが開発の中核となることが強く推奨されています。テスト言語はDSLであり、すでに高い学習負荷を追加することもできます。
  • 言語の適切なドキュメントはなく、API、いくつかのガイド、およびあなたが見つけることができるあらゆる本だけがあります。
  • 一部のコアメソッドと手法は「自動」であり、それらがどのように機能するかは明らかではありません。たとえば、has_secure_passwordメソッド。

私は一年以上それを学んでいます、そしてここに私が経験から来た、学びやすくするために私が考えるいくつかの事柄があります:

  • いくつかの角度から攻撃します。いくつかの本、チュートリアル、ブログを作成する場合、これは学習の道を「開く」ことができます。それ自体の単一の本またはブログはあなたを「行き詰まった」ままにすることができます。
  • 学習を検討してくださいsome HTML/CSS&Ruby。 RoRを使い始める前に、すべてではありません。
  • RSpec(または同様のテスト方法論)のコースを受講してください。 RSpecのCodeschoolは特に優れており、テストを追跡できないため、RoRレッスンに行き詰まるのを防ぎます。
  • 約3冊の本を入手してください。 Obie Fernandez「The Rails 3 Way ")は必須であり、手に入れられないものがある場合に参照するために使用されます(カバートゥカバーを読むためではありません)。 「学習Rails 3」は別の方向から来て、他のチュートリアルでは得られないいくつかの問題を打開するのに役立ちます。
  • スクリーンキャストまたはオンライン学習コースを行います。 Michael Hartlのチュートリアルは良いですが、非常に急な学習です。上記の本とRSpecのCodeschoolコースがそれを理解するのに役立つことがわかりましたが、それでもいくつかの小さな点で著者に連絡する必要がありました。
  • 聞いて、聞いて、聞いて! Rubyフォーラム、Railsフォーラム、IRC部屋とStackExchangeなど)-すべて使用します頻繁に

あきらめないでください。あなたは頭が良いのですが、私と同じような学習スタイルを持っているようです。Railsは非常に習得が難しく、どこでも(完全に)十分に教えられていません。

6
tentimes

たぶん問題は少ないRuby(およびまたはRails)であり、HTML/CSS/JavaScriptおよびSQLとデータベースの「不安定な把握」しか持っていないという事実です。

Railsは「フルスタックフレームワーク」です。以前のプログラミング経験がコアである場合JavaおそらくいくつかのSwingを使用しているので、同時に学ぶべき多くの概念があります。

この問題に取り組む場合は、まずSQLとリレーショナルモデリングを釘付けにすることから始めます(SQLにはブラウザーレイアウトの問題はありません!)。データベースレイヤーに自信がある場合は、ActiveRecordを試して、Railsがデータベースからタプルをラップする方法を学びます。

次のステップは、コントローラーとルーティング、そしてUI(html/javascriptなど)を学ぶことです。

ほとんどすべてのWebフレームワークを使用してWeb開発を行う場合は、SQLとリレーショナルモデリングを理解する必要があります(後でNoSQLルートを選択した場合でも)。

4
user21709

私もJavaの出身で、Railsを学ぶのにかなり苦労しました。私はあなたが言及したのと同じ問題をすべて抱えていました。最初に railscasts.com を見ると助けになることがわかりました。他の誰かがどのように物事を行ったかを見るだけで、私は追いつくのに役立ち、それから私は自分で物事を始めました。 Rails 3が出て以来、私はRailsに触れていません。

1
mbreedlove

「時々一日中、時には数週間何もない時がある」というあなたの言葉は、私が知る必要があるすべてを教えてくれます。新しい言語とフレームワークを学習している場合(「Ruby」だけでなく「Ruby on Rails」について言及しているため、そうしていると思います)、一貫性は報われます。私がコンセプトを学び、維持する唯一の方法は、通常は1日の終わりに就寝直前の約30分を勉強することです。 30分以上勉強すると、落ち着かずに集中できなくなります。もっと勉強しなければ、学んだことを維持できません。

気晴らしをなくす-それは私の最高のアドバイスです。そして、毎週毎日勉強します。あなたがそれを知る前に、物事は適所に落ち始めます。

フォローアップの投稿が表示されなかったので、どのように行ったのでしょうか。 2年が経過しましたが、一流のWeb開発者になることを学ぶには、それで十分です。

1
user2583747

どのプログラミング言語にも学習曲線があります。従来の方法で言語を実際に学習しているわけではありません。 C/C++と同様ですが、実際の状況に到達すると、いくつかのテクノロジーの本質についても理解する必要があります。

それに取り組む最善の方法は、実践することによって学ぶことです。通常、私たちは物事を読んでいますが、実際の絵になると、それにこだわります。私はネイティブC++プログラマーです。C#でコーディングすることもできます。その言語とライブラリーには抽象的な観点で多くの優れた点があることは知っていますが、読んだりスキップしたりしたトピックの多くは、だから私に聞いたら、私は実際に障害者です。

私はDjangoフレームワークを学習しています。選択した本は非常にシンプルで、ソーシャルブックマークアプリケーションを作成します。つまり、実際にプロジェクトを実践してゼロから高度なレベルまで学習するようなものです。 。私たちはすべて自分で学んでいるので、そのようにアプローチすることをお勧めします。

0
sarat

RoR、特に2番目の「R」の問題は、ほとんどの学習チュートリアルが「コードモンキー」スタイルを教えることに重点を置いていることです。特にアジャイルの本は、表面的な「今、私たちはこれをやっているだけで、なぜか気にしないでください」というプログラミングのステップでいっぱいです。さらに、彼らがパラダイムを変え続けているという事実-つまり、最初に彼らはRJSを進んでいると宣伝していましたが、今突然、それはUJSについてです。

ここで一部の人々が示唆したように、まずRuby言語自体の詳細を学び、次にフレームワークに進みます。両方を一緒に学びたい場合は、この本を見つけました「Ruby for Rails」という名前は非常に役立つものです。

0
Jas

私はRubyおよびRailsを約8か月間学習しています。HTML、XML、SQLについて理解しました。それでも同じことを見つけましたあなたにとっての問題は、私のために働いたのは、単に読んで理解することではなく、実際の問題に取り組んでいたことです。概念を理解するために、コードの一部またはmvcの多数の小さなテストを実行する必要があるかもしれません。シンボルはまだ私です一度に1つの問題を取り上げるだけで、問題を解決するときに、プロジェクトの別の問題を解決するために必要なことがわかります。

回答:いいえ、急な学習曲線を想定していません。曲線は背景によって異なります。

0
OpenCoderX

できる。本当に座って学習に集中しようとするたびに、「学習曲線」に出くわすことを知っていますRails(約2年間で数か月ごと)。問題は非常に多くのことですでRails非常に速いペースで変化し、多くの場合、見つけたリソースはほとんどすぐに古くなっています。

私のアドバイスは、Ruby(少なくとも基本))に集中し、次にRailsに集中することです。そのため、Railsフレームワークに100%依存することはありませんすべてを処理します。また、明らかな理由でHTML/CSS/Javascriptをブラッシュアップする必要があります。また、経験から、Rails世界の絶え間ない混乱に巻き込まれないでください:できればRails Cognoscenti evangelize like Haml、Sass、RSpec/BDD、Cucumber、etcなど)を無視してください。そうしないと、コードを書くためにBDDとRSpecを学ぶ必要があり、学ぶ必要があります。 HamlとSass(難しいことではありませんが、学ぶのはもう1つのことです)を使用して、フロントエンドなどをコーディングします。できるだけ簡単に始めます。

0
Wayne Molina