質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

6回答

2991閲覧

最も効率的な学習スタイルについて

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2016/12/24 06:59

###目標
Webサイトやスマホアプリ、Webアプリ等をがっつり自作したいと思いプログラミングの勉強を始めました。
短期間で効率的に習熟するために、皆様がベストだと思う学習スタイルを教えて頂けないでしょうか?
(来年4月以降であればセミナーの受講もできますが、それまでは自宅学習に限られます。)

###補足
今は基礎を学ぶために、日本語の情報が多くWeb系への応用がし易そうなruby(とrails)を学んでいます。
将来的には上記目的からJavaやLAMP、Andoroid(HTMLやCSSも)等についても習得しなければならないので、
時間はいくらあっても足りません。やりたいことが多くて恥ずかしいのですが、自然言語処理やクローリング、
スクレイピング等にも興味があるのでPythonも勉強したいです。

ですから、なるべく時間を浪費せずに済む、効率の良い学習スタイルを探しています。

###参考までに現在の学習スタイル
・ドットインストール、Progate等のサービスで基礎を学ぶ(現無料プラン、近々有料プランに加入予定)
・分からない事があれば、上記の有料サポートでオンラインで教えて貰う。
・理解を深めるためにPaiza等の問題サイトで、問題を解く
※Paizaは有益なサービスですが、学習サービスではないため間違い箇所が指摘されず正解例も見れません。
※正解に辿り着くまでに非常に時間がかかり効率が悪いのでもっと良い方法を探しています。

###現在のレベル
・rubyでFizzBuzz問題をギリギリ回答できる。
・rubyのメソッドやクラス等はドットインストールで見たものしか知らない。
・Paizaで最も簡単なDレベルの問題に調べながら挑戦するが、満点じゃなかったり解けない場合がある。
・HTMLやCSSは綺麗にデザイン出来ないけど、テンプレートを試行錯誤して調整できる。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

私も作りたい物がいくつかあるのですが、ruby, LAMP, JAVA等の複数の知識が必要そうです。

なんとなく、行動する前に、一生懸命道具を揃えようとしているようですね。
まずは、作りたいものがあるのだったら、作り始めて見てはいかが?
もしかしたら、必要のない道具を揃えようとしているかもしれませんよ。

作り進めていくうちに、必要なものが見えてくる のではないでしょうか。

投稿2016/12/24 09:42

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/24 13:19

ありがとうございます。 まずはrubyで勉強しています。 一通りrubyの基礎を終えたらrailsを学びながら簡単なwebサービスを作ってみようと思います。
guest

0

私が薦めるのは、定評のある入門書で基礎から学ぶことです。「たのしいRuby」とか。このサイトでも、入門書の前半に書いてあるレベルの質問がめずらしくないです。
学んだ結果として、Ruby リファレンスマニュアルの中の「Ruby の文法: 」の部分は理解できて、覚えている必要があります。車の運転を学ぶ前に「どれがハンドルか」レベルは知らないと厳しい。

各種クラスのメソッドの機能は覚える必要は無く、都度調べれば良いです。ただ、「標準でどんなクラス・モジュールがあるか」くらいは知らないと探すのも大変かと思います。まあ、何度か調べているうちに覚えると思いますが。あるいは、逆引き本を買うのも良いかと思います。

基礎を学んだら、あとは読み書きですね。良いコードを読むのと、下手でも良いので作ってみる。ウェブアプリを作るのは、他に知らないといけないことが多いので、数学的なもの、パズル的な物から始めるのはどうでしょうか。

投稿2016/12/24 10:43

otn

総合スコア84529

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/24 12:13

コメントありがとうございます。 なるほど。オンライン学習を中心に考えていたのですが、入門書で基礎をしっかり学ぶことは後々の効率を上げそうですね。「逆引き本」というもの良さそうですね。 仰るように今の私のレベルは「どれがハンドルか」を知らず、ペダルやアクセル等、目についたものを取り合えず動かしているような手探り状態で不安です。 基礎を学んだ後の「良いコード」を読むという事に関しては、私自身は良いコードと悪いコードの見分けが出来ません。良いコードが集まっておりコードを読むのに適したサイトはないでしょうか?
otn

2016/12/24 14:20

> 良いコード 標準で付いてくるライブラリとか。
退会済みユーザー

退会済みユーザー

2016/12/24 14:40

なるほど。ライブラリという存在を初めて知りました。 標準品を参考にするという点で、rubyで言えばrailsのコードを読むという事も良いコードを読むことになるのかなと思いました。
guest

0

こんにちは。
過去に夏の開発インターンシップに参加しました。そこではチーム開発でしたが、私のチームには最高の技術力を持ったメンバーがいました。「神」と呼んでいました。

そんな神にどうやってそこまで技術力を上げたのかどのような勉強方法を取り入れたのかを聞いたところこんな答えが帰って来ました。

作りたいと物を作っていたら自然と身についた。勉強っぽい勉強はしたことがない。

その人は実際に自作PCを自慢する動画サイトを立ち上げていました。

人によって適性が違うとは思いますが、神の勉強法はこのような感じでした。
ここからは下らない持論ですが、勉強の仕方は人それぞれです。多くの情報を取り入れてそこから自分に最も合う勉強法を取り入れてください。

何かの参考になれば幸いです。頑張ってください。

投稿2016/12/24 09:14

t1k2a

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/24 09:36

応援ありがとうございます。 私も作りたい物がいくつかあるのですが、ruby, LAMP, JAVA等の複数の知識が必要そうです。 必要となるスキルが多そうなので、出来るだけ効率的な学習方法を試すことで挫折するリスクを減らしたいと考えています。 少し学習方法にこだわり過ぎでしょうか?
otftrough

2016/12/24 13:03

挫折するかどうかは、効率的な学習方法とか関係なくて、やってて楽しいかどうかだと思うから、「うごいた!」「一発でコンパイル通った!」とかが大切だと思う。
退会済みユーザー

退会済みユーザー

2016/12/24 14:44

なるほど。楽しいかどうかは確かに大切ですね。 あまり方法論にこだわり過ぎて窮屈にならないように気を付けたいです。
guest

0

ベストアンサー

学習方法は人によって合うやり方が異なるので、いろいろな意見を参考に自分に合いそうな方法を試してみてください。
というわけで自分の場合の学習方法はこんな感じです。

オンラインでの学習をある程度されているなら、やはり書籍で学習をおすすめします。
RubyとRailsの入門書や逆引き本があれば十分です。
ただし、もうある程度オンラインで学習されているので入門書は辞書的に使う感じです。

挙げてもらった現在のスキルを見ると、既に自分が一から考えたWebサービスを作ってみる段階に入っています。
本当は、ブログなどをやられているなら、ブログを自作するのがおすすめです。
htmlもcssもbootstrapなどを使わず手書きで書くと学べる事が多いです。
自分が頻繁に使うサービスを自作して、VPSなどを使って公開する事で運用のノウハウも学べます。
また、railsの学習では開発環境(development)で止まってしまう方が多いと思いますが、
サーバ構築を含めた本番環境(production)までやらないと片手落ちです。

クローリングやスクレイピングについては、Rubyでも可能ですのでPythonは不要です。
AI、機械学習の分野に手を出すならPythonのほうが書籍も続々と出版されているので、充実している感じがします。

Androidアプリについてまったくの知識がないのであれば、Javaの入門書とAndroidアプリの入門書を購入しましょう。
そして、いきなりAndroidアプリの入門書を進めていきます。
Javaの入門書は、文法などで不明な事が出てきたら調べるために使います。
気持ち的には、Javaをしっかり学習してからAndroidに行きたい気もするかもしれませんが、時間効率的にはこっちのほうが断然良いです。

投稿2016/12/25 04:38

mingos

総合スコア4025

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/25 06:51

コメントありがとうございます。 > いきなりAndroidアプリの入門書を進めていきます。 > Javaの入門書は、文法などで不明な事が出てきたら調べるために使います。 > 気持ち的には、Javaをしっかり学習してからAndroidに行きたい気もするかもしれませんが、時間効率的にはこっちのほうが断然良いです。 こちらのご指摘は時間効率を大切にする上でとても参考になりました。 ある程度Javaを学んでからアプリの勉強にとりかかろうかと考えていましたが、ご指摘の方法の方が確かに効率が良さそうですね。 また、「bootstrap」という言葉についても初めて聞いたので勉強になりました。 こういうものを使うと効率よくデザインができるのですね。 とても勉強になりました。
guest

0

自分も、Kosuke_Shibuyaさんが回答した通り、必要のないことを覚えるよりは、実践した方がよいと思います。
また、目標は質問者さんの場合、Webサイト、スマホアプリ、Webアプリなどの複数あります。
実際に僕も複数の目標を設定して、どの目標を達成すればいいかわからなくなりました。
目標を決めるということはすごく大切なことですが、最初は、順番を決め、1つの目標に集中した方がいいと思います。
最も効率的な学習方法ですが、自分の学習方法は、まず最初に学習サイトを一通り完走し、その後、目標を達成するために実際に作ってみて、そして書籍で学習するというものです。
学習サイトですが、最後に1つの作りたい分野のものを作るというものがおすすめです。
Progateでしたら、道場コースなどで自分で作ることもできますし、楽しいので、ぜひやってみるといいと思います。
書籍は、パーフェクトシリーズで、しっかりと身に付けるといいと思います。

この回答が質問者さんに役立つことを願います。頑張ってください!

投稿2016/12/25 12:24

asadako

総合スコア147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/25 13:20

応援ありがとうございます。 > 最も効率的な学習方法ですが、自分の学習方法は、まず最初に学習サイトを一通り完走し、その後、目標を達成するために実際に作ってみて、そして書籍で学習するというものです。 > 学習サイトですが、最後に1つの作りたい分野のものを作るというものがおすすめです。 効率的に学習するには、インプットだけではなく、アウトプットも大切だという事ですね。 現在のアウトプットはProgateでコードを書いて模範解答と比べたり、少し書き直して別の表現で動作するか試しています。 ある程度学んだらアウトプット学習の一環としても、皆さんが仰るように早い段階で作りたいものを作るのが良さそうですね。 また、アウトプットの一つとしてpaizaのような課題を解くのも良い勉強になるなと感じました。
guest

0

勉強してから作るより、作りたいものを先に考えて、作りながら必要な知識を勉強する方が楽しい。
ただ、基礎だけは時間をかけてでも何度も反復練習?するべきだと思う。
作りたいものは作れるけど、基礎がしっかりできてないから無駄が多かったり勉強でつまづきやすいのが俺の悪い例。

投稿2016/12/24 07:39

otftrough

総合スコア476

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/24 08:49

コメントありがとうございます。 基礎が大切というご指摘について、どのように学習すると効率が良いでしょうか? Progateで学んでいますが、これだけでは何度反復しても同じ課題・同じ基礎しか出題されず、 基礎中の基礎しか学べないため不十分だと考えています。
otftrough

2016/12/24 12:59

文法の基礎(if while for tryなど)が理解できたら、次はそれぞれの言語特有のもの(APIの使い方や継承の仕方など)を覚えたり、既に作ったプログラムをより短くスマートに書き直してみたり、逆に長くなるけど拡張性のあるものに変えてみたりすると理解が深まるかも
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問