ProgateでPHPの基礎を理解するために2周行い、自分で作品を作っているところなのですが、こうしたいと言うイメージはあるのですがこのコードを利用して…という発想がなかなか出来ません。
どのように勉強をしていったらよろしいでしょうか?
効率よく勉強していきたいので教えていただけると幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
自分で作品を作っているところなのですが、こうしたいと言うイメージはあるのですがこのコードを利用して…という発想がなかなか出来ません。
今のステップではなく、次のステップで上記を解決するには、上流工程を学ぶ必要があります。
(今のステップではただの学習量不足なので、他の方の回答を参考にしてください。)
入り口はこちらで良いかと。
要件定義~システム設計ができる人材になれる記事
投稿2020/10/20 23:34
退会済みユーザー
総合スコア0
0
ProgateでPHPの基礎を理解するために2周行い、自分で作品を作っているところなのですが、こうしたいと言うイメージはあるのですがこのコードを利用して…という発想がなかなか出来ません。
progateで学習していない内容を実装をしようとしているか、
単純に理解不足であるかのどちらかだと思います。
まずはどちらなのかの判定をしましょう。
現状を把握することは効率を学習効率を考える上で最も重要な事です。
理解不足かどうかの判定方法
progateで作ったアプリケーションをお手本のコード無しで自力で作ってみて下さい。
(記憶の範囲にあるのであれば元コードと同じものになったり、各機能や関数をPHPマニュアルを参照したり、ググったりして参考になるコードを見つけるのはOKとする)
作れなかった場合
理解不足です。
どのように2周されたのかは分かりませんが、さっと2周したくらい(2-30時間くらい?)だと序盤でも躓く程度の理解度でも当然だと思います。
その状態で自分の作りたいものを作ろうと思っても作れなくて当然です。
お手本のコードを1行単位で理解していって、何をどう作っているかを把握することを通じて、基礎を理解していきましょう。
(PHP標準の関数やメソッドについてはそれぞれPHPマニュアルで調べましょう)
何をしているかよくわからないコードはとりあえずコメントアウトしてみたり、コードを変更してみてどうなるか試すというのも良い方法です。
- その行のコードが何をしているのか
- もしそのコードが無ければ何が起きるのか
を文章で説明出来るくらい把握出来れば、同じ仕様のアプリケーションを自分オリジナルのコードで作れるようになると思います。
このステップを踏むのが辛すぎそうとか合わなそうとか感じる場合は教材を変えるか、有料コースにして質問を投げれるようにするのが良いかもしれません。
作れた場合
基礎は十分なのですが、おそらくは「こうしたい」の粒度が荒いんだと思います。
まずは「こうしたい」の粒度を十分に細かくする訓練をしてみるのがお勧めです。
具体的には、
- progateで作成したアプリケーションに何か機能を追加する
- 追加の前後どちらでも良いので、
どうしたいので、どの部分を、どの様に修正/追加した
を出来るだけ詳細に文章化する
を何回かやってみると、何もないところに対して機能を追加していく(=自分の作品をゼロから作る)ことの取っ掛かりが掴みやすくなります。
投稿2020/10/20 17:52
編集2020/10/21 01:36総合スコア18727
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
アプリケーションはあくまで何かしらの問題解決・目的によってつくられるのであって、何かの機能を使うために作られるわけではありません。
同じ要件・設計書であったとしても余程コーディング規約でガチガチに縛らない限りは100人いたら100通りのコードが出来上がると思って良いです。
例えば「”Hello World”と出力せよ」という課題があったとして、何通り思いつくか?自分の技術力を判断するには良い課題かと思います。
例えば、以前作ったアプリケーションを、作りなおしてみる。
いわゆる「リファクタリング」というものです。
挙げた2つは自身の成長度合いも確かめられます。
「効率よく」と仰いますが裏に「楽に」という想いがあるのでしたら、その時点で逃げてるようなものだと思います。学問に王道なし。
失敗もまた学びです。失敗から学ぶことのほうが多い。(スポーツなどにも通ずる考え方です)
また、「誰かに教える」
人に教えるには自分の理解度がそれなりに高くないとできません。
teratailの質問に答えてみるとか、それもまた「誰かに教える」と同様の効果はあります。相手は顔も知らない他人ですからね。
私自身もそれで成長できた部分はあります。
何が問題かを捉え、解決のために必要となる情報を考えて追記修正依頼をする。
プログラミングの本質は問題解決にある(と私は思っています)ので、
「これによってどのような問題解決につながるか」を常に考えることだと思います。
世の中のモノづくりの大半は「自分が作りたいものを作る」ではなく「役に立つもの、求められるものを提供する」です。
あと、プログラミングの基本ができているかどうかも成長度合いに大きく影響します。
- 公式ドキュメントは活用できているか
- エラーは読んでいるか
- デバッグは適切にできるか
この3点は、勉強することが目的になっている人は大抵できていません(teratailで見た限り)
ご自身はどうなのか、自身の現在地をなるべく正確に見極めることも大切です。
投稿2020/10/20 11:37
総合スコア80875
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
どのように勉強をしていったらよろしいでしょうか?
- 勉強の進捗を教材の「周回数」で測るような発想から卒業する。
- 効率をどうこういうのはある程度周りが見えるようになってから。まずは手を動かす。
「こうしたいというイメージ」が具体的にどういうものかわかりませんが、たいていは似たようなことを部分的にでも実現しているプログラムのコードがどこかにあると思うので、それを入手して「自分のイメージ」に一致するように改造していく練習をしてみてはどうでしょうかね。
投稿2020/10/20 11:28
総合スコア13692
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/20 15:04
0
”こうしたいと言うイメージ”をお持ちなのであれば、”それを実現するためには何が必要か”を考える事ができるのではないですか?
何が必要かという具体的なイメージができれば、それをコードにしていきましょう。
具体的なイメージの中には、どんな機能を持たせるか、何が入力(引数)として必要で、どんな出力が欲しいか、データをどう持って、状態の遷移をどうするか、、、というような様々な要素を散りばめていきます。
そうした思考を進めていくと、「phpで提供されている関数が使えそうだなぁ」とか、「以前勉強したクラスやメソッドと似ているなぁ」と思える機会が増え、コーディングに慣れてくると思います。
『効率よく』というのは忘れたほうが良いです!
自分が何をしようとしているのか、自分に何ができるのか(勉強した事のうち、身についているのは何か)、といった事が判らない状態なのですから。
少しずつ、いろいろと試してみる事から始めましょう!
がんばってください。
投稿2020/10/20 11:48
総合スコア6915
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/21 01:16
退会済みユーザー
2020/10/21 03:51 編集
2020/10/21 03:48
2020/10/21 07:33
退会済みユーザー
2020/10/23 00:33