web-dev-qa-db-ja.com

Railsに移行する前に、Rubyどれくらい学ぶべきですか?

簡単な質問です。

これをググるとき、私は決定的な答えを決して得ることができません。 Rubyを知らなくてもRailsを学ぶことができると言う人もいますが、ある時点でレンガの壁にぶつかってRubyを知っていて、それを学ぶために戻る必要があるでしょう..そして、Rubyを学ぶ前にRailsの「基本」を学ぶように言う人もいます。

私の現在の知識は低いです。私は初心者ではありませんが、プロでもありません。 Learn Python The Hard Wayのオンラインブックを1か月で読みましたが、OOPのPython側に到達すると停止しました(ブール値は知っています) 、Elif/if/else/statements、forループ、whileループ、関数)

Railsを学ぶ前にRubyの「基本」を学ぶことに同意しますが、Rubyの「基本」とは正確には何ですか? Railsに進む前にOOPのRuby側全体を学ぶ必要がありますか?または、私が行く前にRuby構文をPython(ブール値、Elif/if/else/statements、forループ、whileループ、関数)まで学習する必要があるだけですか? Railsに?ありがとう!

6
Kevin

ほとんどの人は、Railsに移行する前に、まずRuby)に関する本を読み終えることをお勧めしますが、他の言語の基本的なプログラミング概念(OOP、制御フローなど)をすでに十分に理解している場合は、など)、あなたはRailsを勉強して、途中でRubyを拾うだけです。

ほとんどのRails初心者向けの本は、読者がRubyの知識を持たないことを前提としているため、Rubyの構文を教えるための章を持っている傾向があります。マイレージは異なる場合があります。重要なのは、飛び込んで何がうまくいくかを確認することです。Railsすぐに勉強してから、Ruby Railsに取り掛かるのに十分快適になるまでは、最初はプレーンなRubyで始めます。

Rails勉強する動機はとにかくWebアプリケーションを構築することなので、すぐに勉強することをお勧めします。Rubyだけを勉強すると、やる気が失われます=本を完成させて、その言語にかなり熟練するにはかなり長い時間がかかるからです。

7
Terence Ponce

両方を同時に学ぶことができます。 Rubyを学ぶには、Rubyコードを書く必要があります。他のRailsアプリケーションを書くこともできます。私は- RubyのプログラミングおよびRailsを使用したアジャイルWeb開発。言語のアイデアを得るためにProgramming Rubyを読み飛ばして、[〜#〜] awdwr [〜#〜]

4
kevin cline

Ruby、Sinatra、Rake、そしてRailsに行ってよかったです。

Sinatraは非常に便利なマイクロフレームワークであり、Railsをマスターした後も使い続けることができます。 RakeはRailsの不可欠な要素であり、Railsに入る前にそれを理解することは有益です。

私は他の人に同様のルートを提案します。

1
Chris Valentine

Rubyの基本的なポイントを学んでください。あなたがこれをしている間、物事がどのように起こるかを理解しようとします。よりよく理解するために、常に各トピックにいくつかの例を書く必要があります。ほとんどの場合、物事がどのように機能するかがわかります。
主要なRuby言語機能を使用して問題なく実行できたら、Railsに切り替えて、ゼロから学習を開始できます。
私は、Railsを開始する前に、Rubyについて知っておくべき最も重要な点をリストアップします。

  • 変数
  • 文字列と記号
  • オペレーター
  • 声明
  • ループ
  • ブロック/プロシージャ/ラムダ
  • クラス/モジュール
  • OOP
  • 固有クラス/シングルトンクラス

どうぞ。リストしたすべてのポイントで問題なく実行している場合は、Railsから始めることができます。そこで、Railsの前にRuby)の学習に全力を注ぐ価値があったことに気付くでしょう。

1
Yui

まず、警告:この質問に対する明確な答えはありません。

Railsは単なるフレームワークではありません。 Rubyとは別のドメイン固有言語であり、独自のキーワード、カルチャー、およびイディオムがあります。 Rails DSLの主な機能は、物事をあなたから隠すことです。 Railsは、モデルとデータベースの間の抽象化を処理するため、データアクセスモデルを作成する必要はありません。したがって、この意味で、RailsはRubyよりも単純です。RailsなしでWebアプリケーションを構築する必要がある場合、huge行うべき作業の量。

一方、構文的に正しいすべてのRubyステートメントは、構文的に正しいRailsステートメントです。したがって、Railsで作成するアプリケーションロジックはRubyです。これは、Rubyを知らないことを後悔していると人々が言う理由の1つです。 RailsはRubyのメタプログラミング機能の多くを実装しているため、実際にRailsアプリで何が行われているのかを知るには、かなり高度なRuby知識が必要です。

もう1つのポイントは、RailsフレームワークがModel/View/Controller設計パターンを実装することです。モデルはオブジェクトです。コントローラもオブジェクトです。オブジェクトを作成し、それらのオブジェクトでメソッドを呼び出すことなく、Railsを実装することはできません。 Railsアプリで行うことのほとんどは書き込みメソッドです。オブジェクトとは何か、またはメソッドとは何かがわからない場合は、これに苦労するかもしれません。オブジェクトの特定のパターンを理解する前に、オブジェクトを理解しておくとよいでしょう。一方、一般的なケースを試す前に、オブジェクトの非常に特定のパターンを使用する方法を厳密に紹介することをお勧めします。

さらに、Railsを知らない人としての私自身の経験では、Railsを知らないことは、Railsを使用してアプリケーションを作成するうえでの障壁にはなりません。これはおそらく、Railsでgoodwell-designedアプリケーションを書く際の障害となるでしょう。ただし、Rubyをよく知っている場合は、anyRubyフレームワークを使用して一緒にハッキングできます。

そうは言っても、私がこれに関して最も信頼できるアドバイスは Railsチュートリアルブック Webサイトのアドバイスです。そのアドバイスの最良の部分はこれです:

驚くほど多くの初心者がこのチュートリアルを使用してWeb開発を学習しているので、試してみることをお勧めします

道に迷ったら、戻ってRubyやHTML、あるいは道に迷ったものを学んで、もう一度やり直してください。最初にRailsを習得しても、後でRubyを習得できなくなるわけではありません。Rubyがさらに必要な場合は、いつでもRailsを下に置いて、それを拾う。これを行うための間違った方法はありません。学習への熱意を維持するものは何でも、そしてあなたが前進し続けるものは何でもしてください。ただし、どのような方法をとっても、これはかなり難しいと予想されます。それが簡単だったら、彼らはそれをするために私たちにお金を払わないでしょう。

1
philosodad

Rubyでは、OOPを基本の一部として考えます。Rubyではすべてがオブジェクトであるためです。OOP(クラスの作成方法、継承のしくみ、クラスメソッドとインスタンスメソッドの比較、オブジェクトの初期化...)、そしてRailsとモジュール-ネームスペースの作成方法を学ぶ前に。

Pythonを知っている場合は、すぐにRuby構文を選択できるはずです。非常によく似ています。

1
Lukas Stejskal

条件文、ブール値、ループ、関数のみを習得すれば、ある程度のことを成し遂げることができます。そしておそらく、はい、その知識だけで物事を成し遂げることができます。ただし、作成するコードのほとんどは、手続き型の構造体以外は何も知らないため、非常に手続き型になります。たくさんの再帰的な関数を書き始めたら、知識をさらに深めることができるでしょう。

ただし、本当にプログラムを学ぶが必要な場合は、それらのことだけではなく、もっと多くのことを学ぶ必要があります。

1
bitops