する質問をすることでしか得られない、回答やアドバイスがある。59目標Webサイトやスマホアプリ、Webアプリ等をがっつり自作したいと思いプログラミングの勉強を始めました。短期間で効率的に習熟するために、皆様がベストだと思う学習スタイルを教えて頂けないでしょうか?(来年4月以降であればセミナーの受講もできますが、それまでは自宅学習に限られます。今は基礎を学ぶために、日本語の情報が多くWeb系への応用がし易そうなruby(とrails)を学んでいます。時間はいくらあっても足りません。やりたいことが多くて恥ずかしいのですが、自然言語処理やクローリング、スクレイピング等にも興味があるのでPythonも勉強したいです。時間を浪費せずに済む、効率の良い学習スタイルを探しています。参考までに現在の学習スタイル・ドットインストール、Progate等のサービスで基礎を学ぶ(現無料プラン、近々有料プランに加入予定)・分からない事があれば、上記の有料サポートでオンラインで教えて貰う。・理解を深めるためにPaiza等の問題サイトで、問題を解く※Paizaは有益なサービスですが、学習サービスではないため間違い箇所が指摘されず正解例も見れません。※正解に辿り着くまでに非常に時間がかかり効率が悪いのでもっと良い方法を探しています。現在のレベル・rubyでFizzBuzz問題をギリギリ回答できる。・rubyのメソッドやクラス等はドットインストールで見たものしか知らない。・Paizaで最も簡単なDレベルの問題に調べながら挑戦するが、満点じゃなかったり解けない場合がある。・HTMLやCSSは綺麗にデザイン出来ないけど、テンプレートを試行錯誤して調整できる。attachmentクリップ1気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。JAVA等の複数の知識が必要そうです。なんとなく、行動する前に、一生懸命道具を揃えようとしているようですね。作りたいものがあるのだったら、作り始めて見てはいかが?もしかしたら、必要のない道具を揃えようとしているかもしれませんよ。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。22:19ありがとうございます。rubyで勉強しています。一通りrubyの基礎を終えたらrailsを学びながら簡単なwebサービスを作ってみようと思います。ありがとうございます。rubyで勉強しています。一通りrubyの基礎を終えたらrailsを学びながら簡単なwebサービスを作ってみようと思います。キャンセル完了するlink+5私が薦めるのは、定評のある入門書で基礎から学ぶことです。「たのしいRuby」とか。このサイトでも、入門書の前半に書いてあるレベルの質問がめずらしくないです。」の部分は理解できて、覚えている必要があります。車の運転を学ぶ前に「どれがハンドルか」レベルは知らないと厳しい。各種クラスのメソッドの機能は覚える必要は無く、都度調べれば良いです。「標準でどんなクラス・モジュールがあるか」くらいは知らないと探すのも大変かと思います。何度か調べているうちに覚えると思いますが。逆引き本を買うのも良いかと思います。基礎を学んだら、あとは読み書きですね。良いコードを読むのと、下手でも良いので作ってみる。ウェブアプリを作るのは、他に知らないといけないことが多いので、数学的なもの、パズル的な物から始めるのはどうでしょうか。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。21:13コメントありがとうございます。オンライン学習を中心に考えていたのですが、入門書で基礎をしっかり学ぶことは後々の効率を上げそうですね。「逆引き本」というもの良さそうですね。仰るように今の私のレベルは「どれがハンドルか」を知らず、ペダルやアクセル等、目についたものを取り合えず動かしているような手探り状態で不安です。基礎を学んだ後の「良いコード」を読むという事に関しては、私自身は良いコードと悪いコードの見分けが出来ません。良いコードが集まっておりコードを読むのに適したサイトはないでしょうか?コメントありがとうございます。オンライン学習を中心に考えていたのですが、入門書で基礎をしっかり学ぶことは後々の効率を上げそうですね。「逆引き本」というもの良さそうですね。仰るように今の私のレベルは「どれがハンドルか」を知らず、ペダルやアクセル等、目についたものを取り合えず動かしているような手探り状態で不安です。基礎を学んだ後の「良いコード」を読むという事に関しては、私自身は良いコードと悪いコードの見分けが出来ません。良いコード標準で付いてくるライブラリとか。標準で付いてくるライブラリとか。ライブラリという存在を初めて知りました。標準品を参考にするという点で、rubyで言えばrailsのコードを読むという事も良いコードを読むことになるのかなと思いました。ライブラリという存在を初めて知りました。標準品を参考にするという点で、rubyで言えばrailsのコードを読むという事も良いコードを読むことになるのかなと思いました。キャンセル完了するlink+3こんにちは。過去に夏の開発インターンシップに参加しました。そこではチーム開発でしたが、私のチームには最高の技術力を持ったメンバーがいました。「神」と呼んでいました。そんな神にどうやってそこまで技術力を上げたのかどのような勉強方法を取り入れたのかを聞いたところこんな答えが帰って来ました。作りたいと物を作っていたら自然と身についた。勉強っぽい勉強はしたことがない。その人は実際に自作PCを自慢する動画サイトを立ち上げていました。人によって適性が違うとは思いますが、神の勉強法はこのような感じでした。ここからは下らない持論ですが、勉強の仕方は人それぞれです。多くの情報を取り入れてそこから自分に最も合う勉強法を取り入れてください。何かの参考になれば幸いです。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。18:36応援ありがとうございます。JAVA等の複数の知識が必要そうです。必要となるスキルが多そうなので、出来るだけ効率的な学習方法を試すことで挫折するリスクを減らしたいと考えています。学習方法にこだわり過ぎでしょうか?応援ありがとうございます。JAVA等の複数の知識が必要そうです。必要となるスキルが多そうなので、出来るだけ効率的な学習方法を試すことで挫折するリスクを減らしたいと考えています。22:03挫折するかどうかは、効率的な学習方法とか関係なくて、やってて楽しいかどうかだと思うから、「うごいた!」「一発でコンパイル通った!」とかが大切だと思う。挫折するかどうかは、効率的な学習方法とか関係なくて、やってて楽しいかどうかだと思うから、「うごいた!」「一発でコンパイル通った!」とかが大切だと思う。楽しいかどうかは確かに大切ですね。方法論にこだわり過ぎて窮屈にならないように気を付けたいです。楽しいかどうかは確かに大切ですね。方法論にこだわり過ぎて窮屈にならないように気を付けたいです。キャンセル完了するlinkcheckベストアンサー+2学習方法は人によって合うやり方が異なるので、いろいろな意見を参考に自分に合いそうな方法を試してみてください。いうわけで自分の場合の学習方法はこんな感じです。オンラインでの学習をある程度されているなら、やはり書籍で学習をおすすめします。RubyとRailsの入門書や逆引き本があれば十分です。ある程度オンラインで学習されているので入門書は辞書的に使う感じです。挙げてもらった現在のスキルを見ると、既に自分が一から考えたWebサービスを作ってみる段階に入っています。本当は、ブログなどをやられているなら、ブログを自作するのがおすすめです。htmlもcssもbootstrapなどを使わず手書きで書くと学べる事が多いです。自分が頻繁に使うサービスを自作して、VPSなどを使って公開する事で運用のノウハウも学べます。railsの学習では開発環境(development)で止まってしまう方が多いと思いますが、サーバ構築を含めた本番環境(production)までやらないと片手落ちです。クローリングやスクレイピングについては、Rubyでも可能ですのでPythonは不要です。AI、機械学習の分野に手を出すならPythonのほうが書籍も続々と出版されているので、充実している感じがします。Androidアプリについてまったくの知識がないのであれば、Javaの入門書とAndroidアプリの入門書を購入しましょう。Androidアプリの入門書を進めていきます。Javaの入門書は、文法などで不明な事が出てきたら調べるために使います。気持ち的には、Javaをしっかり学習してからAndroidに行きたい気もするかもしれませんが、時間効率的にはこっちのほうが断然良いです。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。15:51コメントありがとうございます。Androidアプリの入門書を進めていきます。Javaの入門書は、文法などで不明な事が出てきたら調べるために使います。気持ち的には、Javaをしっかり学習してからAndroidに行きたい気もするかもしれませんが、時間効率的にはこっちのほうが断然良いです。こちらのご指摘は時間効率を大切にする上でとても参考になりました。ある程度Javaを学んでからアプリの勉強にとりかかろうかと考えていましたが、ご指摘の方法の方が確かに効率が良さそうですね。「bootstrap」という言葉についても初めて聞いたので勉強になりました。いうものを使うと効率よくデザインができるのですね。コメントありがとうございます。Androidアプリの入門書を進めていきます。Javaの入門書は、文法などで不明な事が出てきたら調べるために使います。気持ち的には、Javaをしっかり学習してからAndroidに行きたい気もするかもしれませんが、時間効率的にはこっちのほうが断然良いです。こちらのご指摘は時間効率を大切にする上でとても参考になりました。ある程度Javaを学んでからアプリの勉強にとりかかろうかと考えていましたが、ご指摘の方法の方が確かに効率が良さそうですね。「bootstrap」という言葉についても初めて聞いたので勉強になりました。いうものを使うと効率よくデザインができるのですね。キャンセル完了するlink+1勉強してから作るより、作りたいものを先に考えて、作りながら必要な知識を勉強する方が楽しい。基礎だけは時間をかけてでも何度も反復練習?するべきだと思う。作りたいものは作れるけど、基礎がしっかりできてないから無駄が多かったり勉強でつまづきやすいのが俺の悪い例。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。17:49コメントありがとうございます。基礎中の基礎しか学べないため不十分だと考えています。コメントありがとうございます。基礎中の基礎しか学べないため不十分だと考えています。tryなど)が理解できたら、次はそれぞれの言語特有のもの(APIの使い方や継承の仕方など)を覚えたり、既に作ったプログラムをより短くスマートに書き直してみたり、逆に長くなるけど拡張性のあるものに変えてみたりすると理解が深まるかもキャンセル完了するlink+1自分も、Kosuke_Shibuyaさんが回答した通り、必要のないことを覚えるよりは、実践した方がよいと思います。目標は質問者さんの場合、Webサイト、スマホアプリ、Webアプリなどの複数あります。実際に僕も複数の目標を設定して、どの目標を達成すればいいかわからなくなりました。目標を決めるということはすごく大切なことですが、最初は、順番を決め、1つの目標に集中した方がいいと思います。効率的な学習方法ですが、自分の学習方法は、まず最初に学習サイトを一通り完走し、その後、目標を達成するために実際に作ってみて、そして書籍で学習するというものです。学習サイトですが、最後に1つの作りたい分野のものを作るというものがおすすめです。Progateでしたら、道場コースなどで自分で作ることもできますし、楽しいので、ぜひやってみるといいと思います。書籍は、パーフェクトシリーズで、しっかりと身に付けるといいと思います。この回答が質問者さんに役立つことを願います。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。22:20応援ありがとうございます。効率的な学習方法ですが、自分の学習方法は、まず最初に学習サイトを一通り完走し、その後、目標を達成するために実際に作ってみて、そして書籍で学習するというものです。学習サイトですが、最後に1つの作りたい分野のものを作るというものがおすすめです。効率的に学習するには、インプットだけではなく、アウトプットも大切だという事ですね。現在のアウトプットはProgateでコードを書いて模範解答と比べたり、少し書き直して別の表現で動作するか試しています。ある程度学んだらアウトプット学習の一環としても、皆さんが仰るように早い段階で作りたいものを作るのが良さそうですね。アウトプットの一つとしてpaizaのような課題を解くのも良い勉強になるなと感じました。応援ありがとうございます。効率的な学習方法ですが、自分の学習方法は、まず最初に学習サイトを一通り完走し、その後、目標を達成するために実際に作ってみて、そして書籍で学習するというものです。学習サイトですが、最後に1つの作りたい分野のものを作るというものがおすすめです。効率的に学習するには、インプットだけではなく、アウトプットも大切だという事ですね。現在のアウトプットはProgateでコードを書いて模範解答と比べたり、少し書き直して別の表現で動作するか試しています。ある程度学んだらアウトプット学習の一環としても、皆さんが仰るように早い段階で作りたいものを作るのが良さそうですね。アウトプットの一つとしてpaizaのような課題を解くのも良い勉強になるなと感じました。Railsで1つのサイトに機能を盛り込んでいく。Rails、どちらをがっつり勉強すべきでしょうか。頂いたご意見への回答は行っておりません。