ウェブカツdeプログラミング学習2ヶ月目:PHPエラーとの戦い方

2020 1/15
ウェブカツdeプログラミング学習2ヶ月目:PHPエラーとの戦い方
目次

はじめに

みなさまこんにちは、もえかです。ウェブカツにおける二週間に一度のプログラミング学習記録ご報告ブログでーす!いぇーーーい!

ウェブカツってなあに?という方へ

オンラインで学習できるプログラミング学習サービスです。条件はありますが女性割引や学生割引などもありますよ!プログラミングはやってみたいけど難しそうだなーとか、プログラミングって敷居が高いよなーって方は、無料受講もできますのでぜひ一度調べてみてください。

画像

ウェブカツdeプログラミング学習0ヶ月目:ウェブカツって一体なぁに?

2019年7月29日
画像

ウェブカツdeプログラミング学習0.5ヶ月目:プログラミングが楽しくて仕方ない!

2019年8月15日
画像

ウェブカツdeプログラミング学習1ヶ月目:目&肩の疲れにお悩みの方へ

2019年8月31日
画像

ウェブカツdeプログラミング学習1.5ヶ月目:WEBサービス部のすヽめ

2019年9月15日

WEBサービス部アウトプット、完成しました!

前回の記事で宣言した通り、学習時間を記録できるWEBサービスを作成しました!いぇーいどんどんぱふー!

目標:一ヶ月以内(9月中)に完成

8月末にウェブカツの第一の鬼門と言われるWEBサービス部が解禁されましたが、正直なところどのくらい時間をかけるべきか悩みました。

私は本気で(何らかの形の)エンジニアになりたいと考えています。そのためにウェブカツに入り、プログラミング学習を始めました。そんな中、先輩方は遥か先を進み、卒業試験を終えて就職が決まった方も大勢います。そんな素敵で憧れの先輩方にいち早く追いつくためには、ここで何ヶ月も詰まっていたら一生追いつけない!ボーダーランズ3やってる場合じゃねぇ!

そんなこんなで、自分を奮い立たせるためにも目標を9月中(約1ヶ月)とし、ひたすらコードを書き続けました。ノートパソコンを持ち歩き、30分程度の隙間時間があればカタカタとプログラミングしてました。もはや生活の中心がプログラミングと言っても過言ではなかった。

そして自ら設定した期限に間に合わせるため、泣く泣く実装を諦めた機能もありました。ですが、今回は時間内に完成することが目標でしたので、一旦終了とします。

機能

  • ユーザー登録
  • ログイン/ログアウト
  • カテゴリ(大・中/色コード)登録
  • 学習情報登録
  • カテゴリ別ソート
  • 学習合計時間を表示

文字の羅列にするとまさかの6行で終わってしまう内容です。

こだわったポイント

今回は自分だけが使うつもりで作成しましたが、各カテゴリに色をつけることは絶対にやりたかったので、カテゴリ登録時に色指定できるようにしました。

実装できなかったもの

動画学習時間に合わせた棒グラフ(上記カラーコード反映したもの)を表示できるようにしたかったのですが、実装すると1週間以上かかりっきりになりそうでしたので、今回は断念。できそうであれば自主練としてぽつぽつやってみようと思います。

先取りしたこと

どーーーーしてもウェブカツで学ぶよりもいち早くやりたいことがあったので、待てずに本を買って実装しちゃいました。

CSS設計(BEM)

誰やこんな訳分からんCSS書いたの!!と怒り狂いましたが、全て自分でした。ちょうどいい機会だと思い、メンテナンス性の高いCSS設計を学ぶべく、CSS設計の本を買って取り入れてみました。

Sass

名前しか聞いたことがなかったのですが、BEMと相性がいいということでついでと言わんばかりに本を買い、こちらも取り入れてみました。

やってみた結果

次の日(または別日)の習性が格段に楽になりました!恐らくウェブカツでもう少し先で習うことだとは思うんですが、耐えきれず先にやっちゃいました。楽しかったー!

PHPエラーとの戦い方

さてさて!恐らく、WEBサービス部において多くの方が躓く最大の原因がPHPエラーです。エラーを解消するなんて生ぬるいもんじゃないです、もはやWEBサービス部はあいつらとの戦い。わらわら出てきます。

備忘録というより、自分が次にまたWEBサービスを作るときのために、エラー解消方法を書き残そうと思います。イメージは犠牲者の手記です。かゆうま。

基本の流れ

大変難しそうに見えるエラーですが……

  1. とりあえずphp.logを眺める
  2. エラーを吐いている部分を見つける
  3. 文言をコピー、検索。
  4. 該当部分を修正

実はこれを繰り返すだけなんです。

そんなに難しく考えなくて大丈夫!

エラーが出ると見たこともない英語がずらっと並んでいて「はわわ……」と思考がストップしがちなんですが、大丈夫です!エラーログに全て答えが書いてます。エラーログでは私たちの敵ではない、最大の味方なのだ。

ほとんどが書き間違い

たった6行に収まる機能を実装するだけなのにたーーーっくさんのエラーと戦ってきましたが、体感で90%くらいは書き間違いでした。ミスタイプや書き忘れがほとんどなので、まずは自分を疑ってチェックしてみましょう。

Diffツールを有効活用すべし
なお、ウェブカツのコードを参考に必要部分を写経している方は、Diffツールを使うと便利です。各エディタに元々機能が備わってることが多いので、「(エディタ名) Diff」で検索すると幸せになれます。

ひたすらデバッグログを書く

処理がどこまで終わっていて、どの部分でエラーが出ているのか分からない……そんなあなたにおすすめ、デバッグログ。
20190930 code
こんな感じでひたすらデバッグログを書きました。特にWEBサービスって、if文で分岐しているところが多いですよね。ログインしてる?フォームは空じゃない?ログイン有効期限以内?半角英数字?……などなど。そういった分岐箇所にはとりあえず書いておくと非常に分かりやすかったです。

ウェブカツの質問一覧を利用する

それでも分かんねぇ!って場合は、前回と同じ内容の繰り返しにはなってしまいますが、先輩方が過去に質問をしてくださったおかげで、ものすごいピンポイントなQ&Aがウェブカツにはあります。恐らく欲しい情報は全てあります。探せ、全てを置いてきた状態。

また、悩みを解決できるような回答がなければ質問してみましょう。

ウェブカツの月額料金の中には、質問をする権利が含まれています
3日や1週間悩むくらいならさくっと聞いてしまいましょう。なお、前回もお伝えした通り、お答えしていただく方の時間を奪っているということは忘れないようにしましょう。

さいごに

終わった!第一部完ッ!みたいな気持ちで達成感に満ち溢れていますが、実際のところようやくスタートラインに立てたくらいのレベルですので、気を緩めず引き締めて頑張っていこうと思います!
それでは、ここまでお読みいただいてありがとうございました!

この記事が気に入ったら
フォローしてね!

関連記事

目次