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

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

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1887閲覧

PHP開発に当たる上での思考力

SayakaxxSakura

総合スコア19

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2018/06/25 09:43

初めまして、コーディング歴4年、PHP歴1年目のプログラミング初心者です。

プログラムを覚えよう!となった時、普段からHTMLとCSSを用いて
サイト製作を行っていたのもあり、PHPから始めるのが一番理にかなっている思い始めました。

まずは、ドットインストールさんで無料で受けれる全ての講習を受け
その後、ProgateさんにてPHPコースを3周ほどしました。

その後、PHPでのオブジェクト指向プログラミングを主とした書籍や、
会員機能を作るという事を目標とした書籍(どちらも3000円程度)合計3冊
を購入し、ひとまず全て2周を終え、業務でもCodeigniter3を用いて
Webアプリケーションを作成済みです。

それでも、全て書籍に乗っているソースを映しただけのコードであったり
QIITA等で掲載している、コードをそのままコピペしただけであったり
それじゃだめだと思い、1からプログラミングしてエラー文と向き合う癖を
つけてはいるのですが、いつまで経っても身に付きません。
例えば、「会員認証機能」を作りなさいと言われて、必要機能の抜出しをしてみるのですが

1.ユーザー名とパスワードが一致するかどうか。
2.パスワードは、セキュリティの為ハッシュチェックを行う。
3.DBに登録した値を編集できる事。
4.登録した値を削除できる事。

ぐらいしか思いつかず、調べに行くと、DBの処理やそもそもの設計段階で
必要機能が足りないという事が多いです。

オブジェクト指向プログラミングなども、書籍や参考サイトがあれば何となく、「あーこうなっているからこうなるんだよね」と”わかった風”に理解はできていますが、
やはり、何もない状態で一から組みなさいと言われるとクラス定義すらできなくなります。

メールフォームも何度も作成しているのに、作ったコードを見ながら出ないと
作成ができません。

「なぜ?これで動くのか?」と思い、アドバイスをもらえれば10分で済むことが
調べ続けてはまって丸1日はざらにあります。

自分の勉強方法が間違っているのかと思い、ずっと迷走しています。
先輩エンジニア、プログラマの皆さんが普段、どのようにして言語に触れているのか
どういう思考でプログラミングを行っているのか、少しでも教えて頂けると幸いです。

プログラミングが好きで、自分の作りたいものなどがたくさんあるのに対して、
自分の考え方や覚えが悪く非常に悔しい毎日を送っています。

よろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

phpの専門家というよりも、phpをいじる仕事で辛うじて生きている人の戯言。

php以外の言語もあれこれいじくり倒している都合上、
文法や構文、使用する関数の引数など(うろ覚えな)不安要素が度々あるので、
割とググる。結構ググる。
エラーに遭遇したときのエラーメッセージでググる。
実現させたいことを3つ4つのキーワードに落とし込んでググる。
事例やドキュメントやリファレンスを探して間違わないようにする。
php技術者認定とか取るわけじゃないから、
探し方さえ間違わないようにすれば仕事上は差し支えない。

例えばメールフォームもいろいろあります、
最近teratailで流行ってる(?)PHPMailerを使う方法、
mb_send_mailを使う方法、その他いろいろ。
たいていどこかに事例があります、ホントもウソも含めて。
真似する、試す、適切に動くようにできたらノウハウにまで高める、
自分の引き出しにしまっとく、
解決した処理した、あとはオシマイとするか、
別の手もあるかもしれないと調べるかも自由だ。

他人の書いたコードが読める人は強い。
フレームワークを構成するソースを読みこなしてクラス拡張したり。

情報の鮮度の確認も重要。
今更mysql_*系は使わずmysqli_*系を使うという話や、
phpのバージョンによって(特にphp7以降の)互換性の有無とか。
php7以降の(非推奨含む)廃止関数とか。
やっぱりググる。

ずぶの素人のときを忘れたけど、
また使えそうなアルゴリズムは別途メモしていた気もする。
一昔前ならEvernoteだったかもしれないけど
今の時代、サンプルコードを掲載するサービスはいくらでもあるようだし。
けどある時期からやめたのは、ググるようになったからかもしれない。
見つけたサンプルコードがスカスカで脆弱なこともあるので、
色んな人のコードを総合してデザインするのも必要かもしれない。

投稿2018/06/25 10:51

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SayakaxxSakura

2018/06/25 13:03

m6u様 ありがとうございます。 現場で活躍されている方でさえ、やはりググることが多いのだと すこし安心?しました。 某掲示板などで、WebプログラマはQIITAに書いてあるコードをコピペするだけの 底辺と見かけたこともあり、まさに自分のことだなと少し不安になってました。 情報の鮮度は大事にしております。 ですので、書籍を購入するときや、少し英語が読めるので なるべくリファレンスは海外のものを参照にしたりなど行っております。 フレームワークソースを読んでクラス拡張などもやってみようと思います。 コードの統合などもやってみて、自分だけのテンプレートを作成すれば 何回も使っていくうちに覚えれそうな気もしますし、更にその中で 使うソースコードの精査を行えばより良くなれそうな気がします。 駆け出しの新米にありがとうございます。
guest

0

覚え(記憶し)なくても良いのことなのに、覚えようとするからではない?
リファレンスの中身を丸ごと暗記している人なんていませんよ。

調べに行くと、DBの処理やそもそもの設計段階で

必要機能が足りないという事が多いです。

この辺は経験を積むしかないと思う。

メールフォームも何度も作成しているのに、作ったコードを見ながら出ないと

作成ができません。

そんなもんだと思う。実績があるならそれを流用するというのは悪ではない。下手に新しく作ってバグを注入するくらいなら、運用実績のあるコードを使うのは当たり前。

投稿2018/06/25 09:56

編集2018/06/25 10:00
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SayakaxxSakura

2018/06/25 10:07

Shibuya様 ありがとうございます。 覚えなくて良い部分というよりかは、書籍や実務でその都度出てくる内部関数や処理などを Evanoteなどにメモしたり、その関数がどういう働きをしているのか調べたりしています。 経験が圧倒的に足りないのは承知の上なのですが、はたしてこのままで現役でこうして回答してくれる皆様のような思考にたどり着けるのかすごく不安になります。。 でも、確かに不必要な部分を無理に覚えようとしている部分はあると思いますので気を付けようと思います。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問