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

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

ただいまの
回答率

88.06%

プログラミング初心者のPHP学習方針についてアドバイスをいただきたい。

受付中

回答 5

投稿 編集

  • 評価
  • クリップ 3
  • VIEW 2,139

score 6

独学でプログラミングを学習しているものです。
今後の学習方針についてアドバイスをいただきたいです。

 質問者について

・プログラミング未経験
・文系大学3年生
・2018年1月よりプログラミングの独学を開始

 どうなりたいか

・最終的な目標はフリーランスのウェブエンジニアとして働きながら自分のWEBサービスを開発・マネタイズすること
・当面の目標はWEB系企業でエンジニアとして働き、実務経験を積みたい
・WEB系の企業で文系未経験を雇ってくれるところはほぼ無いと思うのでインターンから始めたい
・面接でアピールするためにも、できるだけ早く自分で何か一つ作品を作りたい

 既にやったこと

・オンライン学習サービス「Progate」のHTML・CSS・PHPコースの修了
・書籍「独習PHP 第三版」1周
・PDOを用いた、MySQLと連動した簡易掲示板の作成
(パスワード機能つきの投稿・削除・編集フォームをもったもの)

今のところの目標は簡易的なものでもいいのでサービスを一つ作ることなのですが、次はどういった勉強をするべきでしょうか。
最短ルートとは言わなくとも、できるだけ効率の良い学習方針があれば助言いただきたいです。
よろしくお願いします。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 5

+9

まずは現在の知識で出来る範囲でサービスを作ってみると良いと思います。
良い企画が思いつかなかったら有名なサービスの一部機能のクローンでも何でもいいです。
例えばTwitterとか。

自分で設計・実装することで、理解できていたつもりの部分が理解出来ていないことに気付けます。
気づいた事は都度都度学習すればいいです。
*この辺でjavascriptを勉強したくなるかもしれません。

その際にはgithubやbitbukcetを使ってgitの使い方を学んでおき、ついでにソースと設計資料も公開しておけば自分が何をどのように学習したのか示す材料になるでしょう。

あとは出来れば、レンタルサーバやVPS等でかけた状態でサービスを公開しておくと、
ソースと同様に自分が出来る事を採用担当者に示しやすくなります。
*インターンシップの採用だと、自分で書いたソースと実際にインターネット上で動く環境の2点以上に能力を示せるものはあんまり無いと思います。

一通り、生のPHPで自分が思うものを書けるようになってきたらメジャーなフレームワークを使って同じものを作ってみると、フレームワークの利点について把握しながら学習出来るのでお勧めです。

その後は、

  • 開発設計資料の書き方を勉強してみる、実際に書いてみる
  • デザインパターンについて一通り勉強してみる
  • 開発/デバッグ環境としてLAMP環境を構築して実際に使ってみる
  • AWSやAzureといったクラウド環境を使ってサービスの運用環境を作ってみる

あたりに手を付けておくとぐっと出来る事の幅が広がります。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/02/19 15:18

    ご回答ありがとうございます。
    Twitterのクローンを作成するのも良いですね。
    おっしゃる通り、頭で理解するのと実際に作れるかは全く別物というのは簡易掲示板を作っている際にも感じました。
    フレームワークに手を付けてみようとおもいます。

    キャンセル

  • 2018/02/19 16:10

    はい、頑張ってください!
    色々書きましたが、とにかく色々作ってみる(コーディングだけではなく、設計や更新も含めて)のが最も重要な時期だと思います。

    キャンセル

  • 2018/02/19 20:52

    大変ご丁寧にありがとうございます!

    キャンセル

+6

最終的な目標はフリーランスのウェブエンジニアとして働きながら自分のWEBサービスを開発・マネタイズすること

目標に対して、手段がズレていますよ。

マネタイズできるような Web サービスを作るには
・サービスの企画ができること
・サービスのシステム設計ができること
・サービスの運用設計ができること
・作ったサービスを、広報できること
って感じで、プログラミングの優先順位は極めて低いです。

あと、「お金集める方法」とか「プロジェクトをコントロールする方法」とか、そういったものも必要になります。

少し視野を変えて、自身のキャリア形成を見直したほうが良いです。

追記
フリーランスとしてやっていくのであれば、営業スキルを伸ばす必要があります。
あと、契約業務に対しての理解。
フリーランスって、個人商店なので、プログラミングできなくても食っていけるけど、営業力無くては食っていけないんです。
で、営業力あっても食い物にされるのが、契約マジック。
どちらも実務やってないと厳しいです。
最短で独立を目指すなら、職業プログラマーなんてやってる暇ない!w

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/02/21 16:16

    大変参考になるアドバイスありがとうございます!
    プログラミング以外のスキルも並行して身につけられるよう、就職先でも意識して働けたらと思います。

    キャンセル

  • 2019/02/04 16:07

    te2jiさんのご意見、個人的にかなりグサグサ来ました。笑
    でも確かに仰る通りです。僕も昨年5月に独立して、収入源は某出版社の電子書籍制作や、某企業が運営するwebサイトのhtml,css面の改修作業等だったりで割と安定はしています。なので今の時期に、開発スキルを身につけて将来的には自社開発でwebサービスをリリース&マネタイズしたいなと考えています。

    営業系のセミナーにも参加していて今一度営業の基礎を勉強している身でもあるのですが、個人的にはやはりフリーランスの場合、自分でも開発が出来て、営業力も身につけて、全て一人でもマネジメントするぐらいの能力がないと、いつかは食われると感じています。あるいは一生下請けか。

    いずれにしても自分の付加価値をあげていく為には、具体的な技術力と営業力の両方が必要だと感じるのですが、te2jiさんはどう思われますでしょうか?自営業経験はte2jiさんの方がかなり先輩だとお見受けしたので、ぜひご意見を伺いたいです。

    キャンセル

  • 2019/02/04 17:51

    ちょっとなんの意見を求められているのかよくわからないです^^;
    なんとなく適当なことを書きますw

    目標が

    > 将来的には自社開発でwebサービスをリリース&マネタイズしたいなと考えています。

    なのであれば、お金集めのプレゼン力、企画(マーケティング)力と営業力、マネジメント能力が必要です。

    ちなみに、私は「プログラミングがしたいだけ人」なので、自身の実践内容は記述内容からはかけ離れています!

    キャンセル

+2

LaravelなりCakeなりなんでもいいかとおもいますが、フレームワークを使って作ることを覚えた方が良いかとおもいます。
また、他人のプログラムを読むのが一番勉強になるかとおもいますので、フレームワークのソースを読んでいくと非常に勉強になるかとおもいます。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/02/19 14:46

    ご回答ありがとうございます。
    最近の流れとしてLaravelが一番使われているという話をどこかで見かけたのですがいかかでしょうか?
    フレームワークは移り変わりが激しいという認識はあるものの、どうせ学ぶのであれば今後将来性の高いものを選択したいと思っています。

    キャンセル

  • 2018/02/19 15:57

    今現在はLaravelが流行っていますが、非常に流行り廃りが早いので、将来どうなるかは誰にもわかりません。いま流行っているのをとりあえずちゃんと勉強しておけば、将来別のフレームワークに乗り換えた時にも役には立つかとおもいます。

    キャンセル

  • 2018/02/19 16:05

    わかりました!ありがとうございます。

    キャンセル

+1

・PDOを用いた、MySQLと連動した簡易掲示板の作成

ができたのであれば、CRUDについてはほぼできたものと思ってよいかと思いますので、
あとは「コードの効率化」もやってみてください。「リファクタリング」と呼ばれるものです。
共通化できる処理がないか、とか、オブジェクト指向を取り入れてより”プログラミングっぽく”やってみるとか、その辺りです。
既に出ているようにフレームワークを用いて同様の掲示板を作ってみる、とかでも良いと思います。
「簡易」ではなく、色々な機能を追加してみるとか(画像アップロード・表示だけでも結構やること多いです)、セキュリティ対策もできることを入れてみるとか。

「自分があったらいいなと思うもの」を作るのも良いかと思います。
あとは、実際に公開されているサービスを見て「どのようにできているか」を考えて、自分で再現してみるとか、ですね。

フリーランスで働きたいとのことなので、自身の作品を見てもらうWebサイトなんかあると仕事をとるときに良いアピールになるのではないでしょうか?
そのサイトもCMSを導入するとか、むしろ自身でCMSを作るとか(CRUDができてれば問題なくできます。見た目もCSSフレームワーク利用するとかで割りといい感じにできます。)

実際に私も稚拙ながら持っていてCMSも自作しましたが、履歴書にURLを書いておくと結構見てもらったりしてました。
最近全然更新できてないですが・・・。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/02/19 15:16

    ご回答ありがとうございます。
    様々な方向性をご教示いただき大変参考になります。
    フレームワークを用いて掲示板の改変を行う方向で考えています。
    Webサイトに関しては、WordPressを用いたブログ運営を行っていますので、もう少し余裕ができたらCMSの勉強も検討したいと思います。

    キャンセル

0

実務でフレームワークなしでWEBアプリを作ることはほぼないと思われますので、PHPのフレームワークを使って質問者様が作られた簡易掲示板を作り直してはいかがでしょうか。

オススメはLaravelです。公式ドキュメントも充実していますし、最近伸びているようなので選んで損はないかと思います。

参考)2017年のphpフレームワーク
https://www.webprofessional.jp/the-state-of-php-mvc-frameworks-in-2017/

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/02/19 15:08

    ご回答ありがとうございます。
    やはりフレームワークに手を付けるべきという意見が多いようですね。
    Laravelについて調べようと思います。

    キャンセル

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

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

関連した質問

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