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


17

私は独学のプログラマーです。私は10月からさまざまな強度でRoRを学習しています(一日中、場合によっては数週間何もしません)。それまではJavaだけを知っていましたが、かなりよく知っていました。RoRについての誇大広告や、それがどのようにあなたを幸せにし、生産的にするのか、という話を聞いたことがあります。私はアジャイルの本からそれを学びました。そして、私がJavaScriptとCSSを知らず、データベースとHTMLを少ししか理解していないことに関係しているのではないかと疑っています。しかし、明らかに、アジャイルの本でプロジェクトを完了するのに他の人よりもはるかに長い時間がかかり、今でもあまり覚えていません。Railsには、シンボルを使用するタイミングと使用しないタイミング、動的メソッドがどのように呼び出されるかなど、私が取得できないように見えるものがいくつかあります。

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

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


1
学習は常にインクリメンタルであり、何かを学習するたびにもう少し理解します。問題解決は難しく、プログラミング言語の専門知識に関係なく忍耐が必要です。
アディティアP

私はそれをやったと思ったが、それはおそらく私の場合、その非常に慣習指向であったからだ。慣例として行うことの多くを設定することに非常に慣れています。
リグ

回答:


17

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

一方、Railsには選択肢がありません-MVCからM、V、Cの3つすべてを同時に学習する必要がありますが、MVCフレームワークの場合、Railsが最も簡単です、私は言うだろう。

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


10

Railsを学習していて、バックグラウンドがJavaだけである場合、新しいWebフレームワークを学習しているだけではありません。新しいプログラミング言語も学習していますが、これはJavaとは大きく異なります。

最初にRubyを学習し、次にRailsとその規則を確認すると役立つ場合があります。Rubyを理解するのに苦労する必要がなくなり、Railsのコード/テンプレートの読み取り(および書き込み)ができるようになったので、Railsの機能とその方法を学ぶことは非常に簡単になりました。

私はRuby on Railsのチュートリアルを見て、それが非常に役立つことを発見しました。チュートリアル本は無料で、Railsの2.3と3.0のバージョンがあります。また、MVC(Model-View-Controller)およびWeb開発/ページライフサイクル全般を読むと役立つ場合があります。


6

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

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

私は今、1年以上それを学んでいますが、ここでは、経験から学んだことをより簡単に学べると思ういくつかのことを示します。

  • いくつかの角度から攻撃します。いくつかの書籍、チュートリアル、ブログがあると、学習の道が「開かれ」ます。単独の本またはブログは、あなたを「立ち往生させる」ことができます。
  • 学習考えてみましょういくつかの HTML / CSS&ルビーを。RoRに行きすぎる前に、すべてではなく、うまくいくだけです。
  • RSpec(または同様のテスト方法論)のコースを受講してください。RSpecのCodeschoolの1つは特に優れており、テストに従うことができないため、RoRのレッスンで立ち往生するのを防ぎます。
  • 約3冊の本を入手してください。Obie Fernandez「The Rails 3 Way」は必需品です。手に入らないものがある場合に参照するために使用します(カバーツーカバーの読み物ではありません)。あなたが言及したアジャイルの1つはちょうど私を混乱させました。「Learing Rails 3」は異なる方向からのものであり、他のチュートリアルでは得られない問題を解決するのに役立ちます。
  • スクリーンキャストまたはオンライン学習コースを行います。Michael Hartlのチュートリアルは優れていますが、非常に急な学習です。上記の本に加えて、RSpecのCodeschoolコースが役立つことを発見しましたが、まだいくつかの小さな点で著者に連絡する必要がありました。
  • 聞いて、聞いて、聞いて!Rubyフォーラム、Railsフォーラム、IRCルーム、StackExchangeなどがあります。これらはすべて頻繁に使用してください。

あきらめないでください-あなたはintelligent明ですが、私に似た学習スタイルを持っているようです。Railsは学ぶのが非常に難しく、特にどこでも(完全に)教えられていません。


4

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

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

この問題に近づいたら、最初にSQLとリレーショナルモデリングを設定することから始めます(SQLにはブラウザーレイアウトの問題はありません!)。データベース層に自信がある場合は、ActiveRecordで遊んで、レールがデータベースからタプルをラップする方法を学習します。

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

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


1

私はJavaのバックグラウンドも持っているので、Railsを学ぶのはかなり困難でした。あなたが言ったのと同じ問題がありました。railscasts.comを見ると、最初は助けになることがわかりました。他の人がどのように物事を行ったかを見るだけで、私はそれを理解するのに役立ちました。Rails 3がリリースされて以来、私はRailsに触れていません。


1

「一日中、時には数週間何もしない」というあなたの言葉は、私が知る必要のあるすべてを教えてくれます。新しい言語とフレームワークを学習している場合(「Ruby」だけでなく「Ruby on Rails」を言及しているため、それがあなたのしていることだと思います)、一貫性が得られます。概念を学び、保持する唯一の方法は、通常は就寝前の1日の終わりに1日30分程度勉強することです。30分以上勉強すると、気分が悪くなり、集中力を失います。勉強が少ないと、学んだことを保持できません。

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

フォローアップの投稿は見なかったので、どうしたのかと思います。2年が経ちましたが、それは確かに、最高のWeb開発者になることを学ぶのに十分な時間であるべきです!


0

RubyとRailsを8か月ほど使っています。私はHTML、XML、SQLを理解しました。私はまだあなたと同じ問題を見つけました。私のために働いたのは、読んで理解することを望んでいるだけでなく、実際の問題に取り組んでいたことです。概念を把握するには、コードまたはmvcの小さなテストを多数実行する必要がある場合があります。シンボルは私がまだ取り組んでいるものです。一度に1つの問題を解決するだけで、問題を解決するときに、プロジェクトの別の問題を解決するために必要なことを学ぶことができます。

回答:いいえ、急な学習曲線を持つことは想定されていません。この曲線は背景によって異なります。


0

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

私のアドバイスは、Ruby(少なくとも基本的なもの)、次にRailsに焦点を合わせることから始めることです。そのため、すべてを処理するためにRailsフレームワークに100%依存しているわけではありません。また、明白な理由からHTML / CSS / Javascriptをブラッシュアップする必要があります。また、経験からRailsの絶え間ない混乱に巻き込まれないでください:Haml、Sass、RSpec / BDD、CucumberなどのようにRailsが福音伝道するすべての新しい問題を無視できる場合、またはあなたはBDDとRSpecを学習してコードを記述し、HamlとSassを学習する必要があります(難しくはありませんが、学習することは別のことです)。フロントエンドなどをコーディングします。できるだけ簡単に始めます。


0

プログラミング言語には学習曲線があります。私たちは実際に従来の方法で言語を学んでいるわけではありません。C / C ++に似ていますが、実際の状況を把握するためには、いくつかのテクノロジーの要点も知っておく必要があります。

アプローチする最良の方法は、実践することで学ぶことです。通常、私たちは物事を読みますが、実際の写真になるとそれで行き詰まります。私はネイティブC ++プログラマーです。C#でコーディングすることもできます。その言語とライブラリには抽象的な観点で多くの良さがありますが、私が読んだばかりのトピックの多くはスキップしました。あなたが私に尋ねると、私は実際に障害者です。

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


0

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

ここで何人かの人々が示唆したように、あなたは最初にRuby言語自体の内と外を学び、次にフレームワークに移ろうとするかもしれません。それでも両方を一緒に学習したい場合は、「Ruby for Rails」という名前のこの本が非常に役立つことがわかりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.