質問: 現在、独学でPHPの勉強を始めて3ヶ月目のものです。 私の環境が周りにプログラムの事を聞けるような人が居ないような超ド級の田舎に住んでる事もあり、 こちらにて質問をさせて頂けたらと思います。 【理想:作りたいもの】 PHPでwebサイトやブログのスクレイピングをcronにて30分や1時間に1度実行して 取得した「記事タイトル・記事url・投稿時間・画像の枚数・動画の本数」等をデータベースに保存し データベースに保存したものをhtml上に表示するサイトを作りたいと考え、 【html/css/jquery/php/mysql】の勉強をドットインストールにて行っています。 【現在の技術力】 html/cssについてはもう大丈夫だと思います。(分からない所・機能も調べる事が出来るようになりました。) jquery:簡単な操作(click時のイベント、classの追加・削除・submit関連・サイト作成の必要最低限の情報) 【終了した講座】 PHP入門 (全30回) MySQL入門 (全19回)(テーブルにレコードの追加・削除・変更・並び替えが出来るようになりました。) PHPデータベース入門 (全13回) PHPでビンゴシートを作ろう (全7回) PHPのDateTimeクラスでカレンダーを作ろう (全14回) PHPで画像アップロード掲示板を作ろう (全20回) PHPでTodo管理アプリを作ろう (全18回) PHPでクイズアプリを作ろう (全17回) PHPで投票システムを作ろう (全18回) PHPでログイン機能を実装しよう (全26回) PHPに関しては 「1行1行にどんな意味があるのかを調べながら 自分なりの言葉でコメントを山のように書きながら動画の通りに作成しています。」 私の目標である「スクレイピングサイト」に必要になりそうなPHPの講座を一通り終わった状態です。 ただ、動画で作っている「コードの意味」については調べながら写していたので理解出来るのですが 「最初から一人で全部作る」という事はまったく出来ていない状況です。 (試してみたのですが、本当にまったく出来ませんでした。) このレベルの初心者だとして効率良く独学で進めていくと考えると 「基礎」を固めるためにネットで調べた際に書いてありました Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)がある 「Todo管理アプリ」を一人で最初から最後まで作れるように何度も何度も繰り返していくのか 理想となる「スクレイピングサイト」を作る事へ挑戦して 分からない事を解決していく事で技術力を増やしていくのがいいのか、 どちらが効率が良い独学の方法なのか迷ってしまい困っています。 独学で進めていると、不安に思う事も多く、是非先輩方のご意見を頂ければ嬉しいです。 前提として 会社に就職する為にPHPの勉強をやっているというのではなく 作りたいサイト・機能追加の為にプログラムの勉強を行っています。 (本物の田舎なので周りにIT系の会社も無く、 地縁関係的に都会にいけるという状況でもないので プログラムを使って収入の助け的に頑張りたいと思っています。) ネットでPHP勉強法 PHP独学 で調べてみると 「ブログ・掲示板」といったCreate(生成)、Read(読み取り)、Update(更新)、Delete(削除)機能のある プログラムをじっくりと作成や基礎を固めるのが一番だと書いてあるのと PHP入門を学んだら作りたい物をどんどん作っていって 成功する体験を繰り返していく事でやっとプログラムを作る事が出来るようになります。 という風に分かれていて、 どちらに力を入れて勉強していこうか悩んでいます。 実際にPHPを学んだ先輩の皆さんのご意見を教えて頂けると嬉しいです。
回答: 例えば、「プログラミングを覚える」と「プログラミングを使って何かを創造する」と「他人が書いたソースコードを理解して直す」っていうのは、僕は別々の能力だと思っているので、現段階で「最初から一人で全部作る」という事がまったく出来ていなくても全然問題ないのではないでしょうか。 あなたがこれから「プログラミングを使って何かを創造する」という力を磨きたいと思うのであれば、なんども繰り返すのは僕はおすすめしないです。プログラミングは技術のように見えて考え方です。答えを覚えてもあんまりスキルが向上しません、理系科目の宿命です。どのように問題を発見し、どのように問題を解決していくのか、考えなきゃいけません。 僕は、一つの考え方として『ルビィのぼうけん』という本を読むことをおすすめします。小さい小さい単位で問題を考えたり。問題解決の為には必要な手順があるっていうことを学んだり、『ルビィのぼうけん』という本から多くを学びましたし、役に立つこと間違いなしだと思います。