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

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

ただいまの
回答率

87.93%

プログラミングを最も効率よく学べるようになるには?

解決済

回答 5

投稿

  • 評価
  • クリップ 2
  • VIEW 1,927

score 98

プログラミング初心者でございます。

皆様の知見をお借りしたく存じます。
現在、プログラミング初心者なのですが
php、cakephp、fuelphp、DB周り、サーバーインフラのあたりの対応を仕事上任されております。

上記をなるべく効率よく学び、実践で使用するには
どのような手順、学び方、意識で取り組みを行って行けばよろしいでしょうか

初心的な質問かつ、抽象的で大変申し訳ございませんが、
何卒宜しくお願い致します。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • matobaa

    2016/07/26 11:25 編集

    マルチポストであることに言及してください: http://ja.stackoverflow.com/questions/27829
    こっちで解決したのなら、あっちは閉じるなりしてください。放置しないこと。回答してくれる有識者は無限にいるわけではないのです。無駄遣いしないように。

    キャンセル

  • growthposition

    2016/07/26 11:52

    ご指摘ありがとうございます。
    気遣いが足りませんでした。

    今後このようなことがないよう徹底いたします。

    キャンセル

回答 5

checkベストアンサー

+4

インフラ組む所から勉強するのであれば、XamppやMampは悪手です。
Vagrant+VirtualBOXで仮想のLinux環境を立ち上げて、ちゃんとしたLAMP環境を作る勉強をしましょう。
(Windows+IISでの構築以外は行わないなら話は別ですが…WindowsでPECL導入は超辛いです)

Vagrant+VirtualBOXはフォルダ共有機能があるので、
ローカルでファイルを編集してサーバーで動作のチェックをすることも簡単に行なえます。

LAMP環境さえ立ち上げてしまえば、CakePHPが提供しているbakeコマンドや
FuelPHPが提供しているOilコマンドがそのまま使えるのでスケルトンプロジェクトをぱぱぱっと作って気軽に始める事が出来ます。
(何も知らない所からフレームワークの概念から使い方、フォルダの切り方を学んでいくには相当のパワーが必要かと思いますが…)


Web上の記事は上級者の方の記事以外は信頼できません。

何も知らない初学者が「PHP ブログ 作り方」でググッてコピペして出来たような記事が大量に存在しています。
セキュリティが糞、バージョン古くて動かない、そもそもテストしてないから動かないコードだらけです。
要するに鵜呑みにせず、自分の頭でちゃんと考えて判断してください。

絶対に目を通すべきサイトを2つ紹介しておきます。

PHP Right Way
PHPで覚えるべき情報が体系的にまとめられたサイトです。
初心者から上級者まで、PHP自体に卒業するまで一生学習していける深いサイトです。
今の自分に必要な知識を探すのにピッタリで、ここで見聞きした単語をぐぐっていけば良いです。

PHP公式サイト
PHPが他の言語に誇れる事の一つが公式サイトの充実です。
全ての関数が用例込みで紹介されており、不具合やセキュリティ上よろしくない関数は警告が出て教えてくれます。

調べ物や回答を頂いた時に、見知らぬ関数を見つけた場合は必ず公式サイトの右上部の検索ボックスに入力して調べる癖を付けてください。
最初は何が書いてあるかよくわかないかもしれませんが、習慣化していると必ず読めるようになってきます。

空き時間でArray関係の関数を探すとプログラミングの効率が良くなります。
PHPでプログラミングすることに慣れてきたら、何気なく使っているArrayやClass等を公式サイトで見てみると新しい発見があります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/25 15:26

    ありがとうございます。
    上記2サイトをもとに進めてまいります!

    キャンセル

+1

どの方法が、個人にとって最適かと言われても正直分からないので、泥臭いbetterな方法を

理解する

  • 動作している実物を見ること
  • 見た上で、動作、不明な箇所を小さな単位リストアップ
  • 各種APIリファレンス等で不明点を潰していく

コーディング

  • 基本に忠実(インデントを揃える、コーディング規約を守る、 マジックナンバーの回避)

「困難は分割せよ」です。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/25 15:27

    ご回答ありがとうございます。

    >「困難は分割せよ」です。
    こちら日常フローに加えます!

    キャンセル

+1

私も人にアドバイスできる実力がないのですが、過去の自分に教えてあげたい情報を書いていきます。

「効率よく学び、実践で使用」するには、自分で何かを作ることが一番いいと思います。
作るといっても最初は何を作るかまで自分で考えなくていいです。
参考書を理解しながら、同じものを作っていけばいいと思います。

学習する順序

順序としては次の通りです。

  1. PHPの入門
  2. PHPとMySQL(MariaDB)を使うウェブアプリケーションの作成
  3. フレームワーク入門(MVC)
  4. 実際にフレームワークを使ってウェブアプリケーションの作成
  5. 全体的に理解を深める

おすすめの参考書など

上記の順序に対応しておすすめする参考書・マニュアルは次の通りです。

  1. いきなりはじめるPHP ワクワク・ドキドキの入門教室
  2. 気づけばプロ並みPHP ショッピングカート作りにチャレンジ!
  3. PHPサーバーサイドプログラミングパーフェクトマスター
  4. 各フレームワークのマニュアル
  5. パーフェクトPHP

上記順序・参考書への所見

順序1が個人的には最もつまらないと思います。あくまで入門なので。

順序2になると、ショッピングカートのシステム(Amazonのようなもの)を作るので楽しく感じられます。
会員登録・ログイン・ショッピングカート機能を作るのでかなり実践的な内容です。
MySQLとのやり取りやセッションについても学べます。
また、セキュリティについての意識も徐々に高めていきます。

順序3ではPHPの基礎からフレームワーク作成まで扱っているので、復習から応用まで学べます。
実際のフレームワークを使うまでの橋渡しの内容です。
前半は飛ばしてもかまいませんが、クラスを扱うところ辺りからはしっかりと読み進めるべきです。

順序4では実際にCakePHPやFuelPHPといったフレームワークを使います。
まずはチュートリアルを通してウェブアプリケーションを作ってみましょう。
コピペから始まり、部分的に変更して挙動を確かめていきます。
チュートリアルが終わったら自分で簡単なサイトを作ってみましょう。

順序5では更に理解を深めます。
中級者以上を対象としていて、PHPの理解を深めるのに役立ちます。
逆に言うと初学者が読んでもちんぷんかんぷんです。
パーフェクトPHPは2010年発売の本なので少し古いですが、順序5までやってきた方なら古い情報とそうでない情報の見極めをしつつ、役に立つ情報を学べると思います。

意識すべきこと

  • コードを書く際は焦らず少しずつ積み上げていきましょう。すべてのコードを一度に実行するのではなく、少しずつ動く部分を増やしていきます。
  • エラーを恐れず、エラーメッセージをしっかりと読んで対処しましょう。答えはエラーメッセージにあります。
  • 常にマニュアルを参考にしましょう。大体必要なことはマニュアルに書いてあります。

追記

データベースに関しては、
「達人に学ぶDB設計徹底指南書」
という本がかなり参考になります。
上記順序4のあたりで読むのがベストかと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/25 15:26

    こちら詳細なご回答ありがとうございます。
    上記のステップを頭に加えつつ精進してまいります!!

    キャンセル

0

「学問に王道なし」

どのような学習でもまずは、自分がどのような勉強の仕方が向いているのか理解していなければ身に付きにくいと思います。

本から学ぶか、学校に行くのか、人に説明してもらうのがいいのか人それぞれ向き不向きがあります。
今まで勉強してどのような方法が効率が良かったですか?
それがわからないのならそのような本はたくさん出ているのでまずそちらを調べましょう。
(わかっていないから効率よくという質問をしているのだと思います)

いずれにしても人がものを覚えて理解するプロセスはある程度決まっています。

「手を動かせ」読んだだけのことはすぐ忘れます。
「分かるまで繰り返せ」 一度やっただけのことはすぐ忘れます。
「四六時中考えよ」能力の多少はあれど、どんなことでも取り組んだ時間に応じて身につきます。

理解するだけではなく咀嚼するまで徹底的にやりましょう。
(例えば、本でif文が出てきて、例文を真似して終わりでは身につきません、
少なくとも10通りくらいは自分でバリエーションを考えて書いてみましょう)

色々なことに手を出すのではなく、1つか2つに絞りましょう。
質問に出ている中では、まずPHPとDBに集中するのが良いと思います。

遠回りなように思えても結局それしか無いと思います。

仕事の時間だけではなく自宅にも同じ環境を用意して調べるなり遊ぶなりしましょう。
私の個人的な偏見かも知れませんが、「家ではパソコンなんて触らないよ」とかのたまってる人は大抵仕事できません。

上記の回答ではアバウトすぎてという場合、資格取得を目指すのも一つの手だと思います。
やるなら一発で必ず合格するという意気込みで。
自分を追い詰めるためには、周りに言いふらしましょう。

(いろいろ書きましたが、自分に言いたいことでもあるかも知れません)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/25 15:25

    ご回答ありがとうございます。

    「手を動かせ」読んだだけのことはすぐ忘れます。
    「分かるまで繰り返せ」 一度やっただけのことはすぐ忘れます。
    「四六時中考えよ」能力の多少はあれど、どんなことでも取り組んだ時間に応じて身につきます。

    上記基礎的な反復を地道に繰り返してまいります。

    キャンセル

0

新しいことに挑戦するときってモチベーションが大事ですよね。
で、このような質問をされるということはやる気が少なめ?

例えば、ちょっとしたご褒美を自分に用意するとか、
難しくないことからトライしていくとか、
軽く運動してから始めるとか。

築山節さんが何冊か出されている本は参考になると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/25 15:23

    ご回答ありがとうございます。
    築山節さん調べてみます!

    キャンセル

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

  • ただいまの回答率 87.93%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る