プログラミング初心者でございます。
皆様の知見をお借りしたく存じます。
現在、プログラミング初心者なのですが
php、cakephp、fuelphp、DB周り、サーバーインフラのあたりの対応を仕事上任されております。
上記をなるべく効率よく学び、実践で使用するには
どのような手順、学び方、意識で取り組みを行って行けばよろしいでしょうか
初心的な質問かつ、抽象的で大変申し訳ございませんが、
何卒宜しくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/26 02:52
回答5件
0
ベストアンサー
インフラ組む所から勉強するのであれば、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/24 04:58
総合スコア21158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
私も人にアドバイスできる実力がないのですが、過去の自分に教えてあげたい情報を書いていきます。
「効率よく学び、実践で使用」するには、自分で何かを作ることが一番いいと思います。
作るといっても最初は何を作るかまで自分で考えなくていいです。
参考書を理解しながら、同じものを作っていけばいいと思います。
学習する順序
順序としては次の通りです。
0. PHPの入門
0. PHPとMySQL(MariaDB)を使うウェブアプリケーションの作成
0. フレームワーク入門(MVC)
0. 実際にフレームワークを使ってウェブアプリケーションの作成
0. 全体的に理解を深める
おすすめの参考書など
上記の順序に対応しておすすめする参考書・マニュアルは次の通りです。
0. いきなりはじめるPHP ワクワク・ドキドキの入門教室
0. 気づけばプロ並みPHP ショッピングカート作りにチャレンジ!
0. PHPサーバーサイドプログラミングパーフェクトマスター
0. 各フレームワークのマニュアル
0. パーフェクトPHP
上記順序・参考書への所見
順序1が個人的には最もつまらないと思います。あくまで入門なので。
順序2になると、ショッピングカートのシステム(Amazonのようなもの)を作るので楽しく感じられます。
会員登録・ログイン・ショッピングカート機能を作るのでかなり実践的な内容です。
MySQLとのやり取りやセッションについても学べます。
また、セキュリティについての意識も徐々に高めていきます。
順序3ではPHPの基礎からフレームワーク作成まで扱っているので、復習から応用まで学べます。
実際のフレームワークを使うまでの橋渡しの内容です。
前半は飛ばしてもかまいませんが、クラスを扱うところ辺りからはしっかりと読み進めるべきです。
順序4では実際にCakePHPやFuelPHPといったフレームワークを使います。
まずはチュートリアルを通してウェブアプリケーションを作ってみましょう。
コピペから始まり、部分的に変更して挙動を確かめていきます。
チュートリアルが終わったら自分で簡単なサイトを作ってみましょう。
順序5では更に理解を深めます。
中級者以上を対象としていて、PHPの理解を深めるのに役立ちます。
逆に言うと初学者が読んでもちんぷんかんぷんです。
パーフェクトPHPは2010年発売の本なので少し古いですが、順序5までやってきた方なら古い情報とそうでない情報の見極めをしつつ、役に立つ情報を学べると思います。
意識すべきこと
- コードを書く際は焦らず少しずつ積み上げていきましょう。すべてのコードを一度に実行するのではなく、少しずつ動く部分を増やしていきます。
- エラーを恐れず、エラーメッセージをしっかりと読んで対処しましょう。答えはエラーメッセージにあります。
- 常にマニュアルを参考にしましょう。大体必要なことはマニュアルに書いてあります。
追記
データベースに関しては、
「達人に学ぶDB設計徹底指南書」
という本がかなり参考になります。
上記順序4のあたりで読むのがベストかと思います。
投稿2016/07/24 04:05
編集2016/07/24 04:12総合スコア1409
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
どの方法が、個人にとって最適かと言われても正直分からないので、泥臭いbetterな方法を
理解する
- 動作している実物を見ること
- 見た上で、動作、不明な箇所を小さな単位リストアップ
- 各種APIリファレンス等で不明点を潰していく
コーディング
- 基本に忠実(インデントを揃える、コーディング規約を守る、 マジックナンバーの回避)
「困難は分割せよ」です。
投稿2016/07/24 03:27
総合スコア507
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
新しいことに挑戦するときってモチベーションが大事ですよね。
で、このような質問をされるということはやる気が少なめ?
例えば、ちょっとしたご褒美を自分に用意するとか、
難しくないことからトライしていくとか、
軽く運動してから始めるとか。
築山節さんが何冊か出されている本は参考になると思います。
投稿2016/07/24 12:48
総合スコア7458
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
「学問に王道なし」
どのような学習でもまずは、自分がどのような勉強の仕方が向いているのか理解していなければ身に付きにくいと思います。
本から学ぶか、学校に行くのか、人に説明してもらうのがいいのか人それぞれ向き不向きがあります。
今まで勉強してどのような方法が効率が良かったですか?
それがわからないのならそのような本はたくさん出ているのでまずそちらを調べましょう。
(わかっていないから効率よくという質問をしているのだと思います)
いずれにしても人がものを覚えて理解するプロセスはある程度決まっています。
「手を動かせ」読んだだけのことはすぐ忘れます。
「分かるまで繰り返せ」 一度やっただけのことはすぐ忘れます。
「四六時中考えよ」能力の多少はあれど、どんなことでも取り組んだ時間に応じて身につきます。
理解するだけではなく咀嚼するまで徹底的にやりましょう。
(例えば、本でif文が出てきて、例文を真似して終わりでは身につきません、
少なくとも10通りくらいは自分でバリエーションを考えて書いてみましょう)
色々なことに手を出すのではなく、1つか2つに絞りましょう。
質問に出ている中では、まずPHPとDBに集中するのが良いと思います。
遠回りなように思えても結局それしか無いと思います。
仕事の時間だけではなく自宅にも同じ環境を用意して調べるなり遊ぶなりしましょう。
私の個人的な偏見かも知れませんが、「家ではパソコンなんて触らないよ」とかのたまってる人は大抵仕事できません。
上記の回答ではアバウトすぎてという場合、資格取得を目指すのも一つの手だと思います。
やるなら一発で必ず合格するという意気込みで。
自分を追い詰めるためには、周りに言いふらしましょう。
(いろいろ書きましたが、自分に言いたいことでもあるかも知れません)
投稿2016/07/24 12:33
総合スコア2208
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/25 06:25
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。