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

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

ただいまの
回答率

88.64%

プログラミングにおける考え方。

受付中

回答 4

投稿

  • 評価
  • クリップ 1
  • VIEW 1,269

ryo_web

score 10

初めての投稿です。
現在プログラミングを独学で学んでいます。
基礎が終わり、PHPで画像のアップロード掲示板を作ろうと思い作業を進めたのですが、画像を投稿するまでにも様々な行程があり、基礎では見たことのない文法や関数ばかりです。
皆様は初めて自分で何か作られた時にどのように行ってきたのでしょうか。
また、そのロジックの考え方も教えて頂けると助かります。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

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

  • m.ts10806

    2018/11/08 02:29

    独学で学ばれている以上は「基礎」というはかなりグレーな表現となります。何をもとに勉強してきたかは提示が必要ですし「基礎では見たことのない文法や関数ばかり」というのが何を見て言っているのか分からないので回答者としても何を基準としたアドバイスをしていいのかわかりません。「質問するときのヒント」や「推奨していない質問」にもあるように、teratailは基本的に何かをプログラミングで作っていてその過程で起きた問題や課題を質問して解決していく場です。質問内容がざっくりしすぎていたりあまりにも考えられる範囲が広かったりすると的確な回答が得られない(または低評価のみで回答がつかない)ということが起きます。「ロジックの考え方」というのもどのような意図や意識をもって聞かれているのか不明瞭なところがあります。自身が何かを作ろうとしているのであればまずそれについて作っていく過程で起きている問題を質問すべきではないかなと。文法がどれか関数がどれかはわかりませんが、PHPマニュアル( http://php.net/manual/ja/index.php )にある機能を組み立てて作られているものばかりのはずなので、標準関数であればPHPマニュアルを調べれば出てきます。具体的にどこでつまずかれたのでしょうか?

    キャンセル

  • 退会済みユーザー

    2018/11/08 12:46

    複数のユーザーから「問題・課題が含まれていない質問」という意見がありました
    teratailでは、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。
    「編集」ボタンから編集を行い、質問の意図や解決したい課題を明確に記述していただくと回答が得られやすくなります。

回答 4

+1

独学の学習、大変かと思いますが、いずれしっかりと身になります。ぜひ楽しみながらトライしてみてください。

スタンスとしては、現在はマネージャー的な仕事を行っており、IT業界の全般におおよそ精通していますが、個別の深掘りをしているわけではないというところを前提として参考にしていただければと思います。

(本職のプログラマーが、脳外科医だとしたら、それに対しての小児科医か離島のお医者さん的な立ち位置です)。

●初めて自分で何かを作ったときに、どのように行ってきたか
最初、この業界に触れたときは、現在ほどWEB上のリソースが充実していなかったため、特に苦労していました。書籍が王道でしたが、現在はWEB上の検索を中心に行っています。別な方も答えていますが、Googleでの検索力が物を言うと思います。

書籍関係は、新しい技術や言語に触れるときは、文法解説などの基礎本よりも先に、「作ってみる」系の本から入っています。そこで、おおよその考え方や流れをつかんでから、基礎を読んだ方がとっかかりやすいかと思います。

個人的には、学校の頃の算数の授業が苦痛だったので、「算数を使って、こんなことができる」部分から入り、「足し算の書き方」に入るイメージです。先に堅い部分から入ってしまうと、どうにも拒絶反応が出てしまうので、具体的な作りたい物に近いサンプルなどがあるところからはいると、とりかかりやすいかなと思います。

●ロジックの考え方
プログラム専業の方からは異論あるかと思いますが。やりたい事や目的のコアから入る方が、初学のうちはよいのではないでしょうか? あくまで、やりたい事を実現させるための手段が、プログラミングなだけですので。

ロジックの考え方はある意味訓練みたいなもので、慣れれば簡単なものなら、おおよそ頭の中で設計が組み上がるようになります。

ここにたどり着くまで、その途上で作ろうと思って作れなかった物や、解決までたくさん時間をかけたものなど、たくさんの苦労はありますが…。

例示の画像アップロード掲示板であれば、

==前提==
・画像を表示させる(最大の目的)
・FTPでのアップは面倒くさいので、ブラウザ上からアップロードできるようにする(達成させたい目的)

==コアの部分==
・PHP、HTMLで画像を表示させる方法を調べる
・PHPでファイルをアップロードさせる方法を調べる

==関連する枝葉の部分==
・管理者がファイルを削除できるようにするかといった、必要な管理者の機能
・ユーザごとの画像アップロード本数を集計したい
…etc

必要な枝葉(特に、運用や管理、保守という言葉で語られる部分)というのは、経験で思いついたり、必要に応じて発生したりする部分になるので、最初のうちは「本当にやりたい事」から、「それに必要な技術、書き方」というところにフォーカスすると、ロジックを考えやすいかなと思います。

どのような物にせよ、あなたが1から作るものであれば、世の中にないオリジナルです。正しいロジックというのはあなたが考えたもので良いと思います。楽しい事も大変な事もたくさんありますが、自分で作った物が動く喜びを、たくさん感じていただければと思います。頑張ってください。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

私は実践して作るタイプのなるべく簡単な書籍を一冊一通りやってから、わからない部分は検索して、なるべく簡単に説明しているサイトで理解を進めました。
次に、PHPであればphp.net にある関数等のリファレンスの読み方を把握して、わからなければ簡単な説明をしてくれるサイトと行ったり来たりで新しい関数を使うようになりました。
また、エラーが出た際はエラー文をコピーして検索して、解決方法を探しました。
あと、いろんな関数を一覧で書いてくれているサイトなどで、どんな事が出来るのか?だけをざっと把握して、必要な時に「あんなのあったなー」という記憶を頼りに検索して使うようにしました。
しかし欲しい関数が無ければ、どうやったら目的の処理が出来るかを段取りを決めて自分の関数をちょっとづつ作る。という感じでしたでしょうか。
また、プログラミングの勉強会等が近所で行われていれば、初心者歓迎の集まりに参加して、ベテランの方に色々アドバイスをもらったりしました。

ちなみに私が理解を深めるために役立った本を順に記述しておきます。

『基礎からのMySQL』
DBにPHPで値を入れる、出して表示する、の基礎を学べます。

『基礎からのPHP』
上記よりも詳しく一通り学べます。画像アップロード等も詳しく基礎が書いてあります。

『パーフェクトPHP』
クラスを使ったオブジェクト指向やフレームワークの基礎を学べます、ここまでくるとかなり専門化されてきます。

最低限の理解ができて簡単な掲示板が作れるようになったら、後は自分でどんどん新しい事を学んでいけるステージに行けると思います。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

やさしいPHP入門 レベルからきちんと勉強しましょう。
今は、独学が難しければ、入門向け!初心者におすすめのPHP学習サイト10選 安い費用で学べるサイトもあります。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

0

画像を投稿するまでにも様々な行程があり、基礎では見たことのない文法や関数ばかりです。

見たこと無い物が出てきたら都度調べましょう。

進めば進むほど見たことない書き方は増えていきますし、

基礎だけで全て組めるものではないです。

(組めるかもしれませんが、とてつもなく複雑になります。)

皆様は初めて自分で何か作られた時にどのように行ってきたのでしょうか。

ひたすらググりました。

あるいは時間を置くとふとした瞬間に理解できることはあります。

ついでに言えば作ろうと思って挫折したものの方が多いです。

そのロジックの考え方も教えて頂けると助かります。

ググり力と他の人のコードを読解できるかどうかかと思います。

ロジックは人によって異なることもありますし、これが正解というものはないと思ってます。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

関連した質問

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