CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|11日目

無料でプログラミングを体験できます

下のリンクよりお申し込み頂けます。お申し込みから受講までオンラインで完結。開発環境は必要無し。パソコンとネット環境があればお試し可能です。

エンジニアと1対1のライブ講義を体験する 

1週間カリキュラムを体験する 

こんにちは。コードキャンプ株式会社が運営するプログラミングスクール「CodeCamp(コードキャンプ)」でプログラミングを学習している井旗です。

井旗丈
関東の大学に通っています。

これから就職した際など、webデザインやエンジニアとしての知識を身に付けたいと思いCodeCamp(コードキャンプ)で必死に勉強中。

オンラインプログラミングスクールでどれだけ力がつき、どのような成果物を作れるようになるのか、日々ワクワクしながらプログラミングの勉強をしています。

私が受けているコースは「プレミアムコース」。HTML/CSSからJavascript、PHP/MySQL、Photoshop、Illustratorまで、Codecamp(コードキャンプ)で用意されているすべての言語やスキルを自由に組み合わせて自分だけのカリキュラムを組める贅沢なコースです。

受講回数は2ヶ月(20回)、4ヶ月(40回)、6ヶ月(60回)の3つから選べます(今回は2ヶ月間受講します)。

それでは、2018年1月10日に受講した、Codecamp(コードキャンプ)「プレミアムコース」第11回目の学習内容をレビューします

プレミアムコース11日目|CodeCamp(コードキャンプ)

本日の講師:足谷保典先生

2012年よりフリーランスとして活躍。独立から、お客様よりウェブに関するさまざまな相談を受けシステムの提案から設計・開発を担当。最近では縁あって講演や執筆活動などにも取り組む。担当言語はPHPとJavaScript。以前学校で授業を教えていた経験もあり、教えることはとても好き。

引用:CodeCamp(コードキャンプ)

第11回目のレッスンで学んだことは以下の内容です。

CodeCamp(コードキャンプ)プレミアムコース第11回目のレッスン内容

  1. PHPの第17章中級課題で詰まったところについて解説

  2. PHPの第17章上級課題の詰まったところについて解説

1.PHPの第17章中級課題で詰まったところについて解説

前回の受講からだいぶ間隔が空いてしまいました。その間ずっと勉強を放置していたわけではなく、個人的に何か作って動かしてみたくなり、色々作っていました…気づいたら、あと10日以内に10回の授業を終えなければいけない状況になりました。休日はほぼプログラミングに捧げ、ここから追い込みます。
今回は、受講までにPHP第17章の中級課題である「正規表現を活用した、入力情報の正誤判断のプログラム」というものを予習しました。詳しい要件定義などは、以下の画像を参照ください。自分である程度プログラムを組み立ててみたのですが、入力情報を送信した後の処理がうまくいかず、、どこでエラーが出ているかを探していたのですが、先生にも助言をもらうことにしました。

第17章の中級課題

HTMLはサクッと作り、いざPHPプログラムを書いてみたのですが、正規表現に沿って入力できている時と、そうでない時、また別の場合など、正規表現に該当しない場合はエラーを返さなければいけないのですが、まずif文でしっかり分岐することができているのか、できているとしたらエラーの文言はどこにいったのか。。

恥ずかしながら自分で書いたプログラムがどう動いているのか把握できていないという状態から、講義スタート。

井旗丈
いつもお世話になっております。本日はPHPの17章をやっていたのですが、入力後の操作が表示されないので、どうなっているか一緒に解明していただきたく思います。
足谷保典先生
お疲れ様です!本日もよろしくお願いします。

まず前提として、正規表現については大丈夫そうでしょうか?まあ、正規表現についてはいっぱいリファレンスがネットにありますので、適宜情報拾ってくるといいと思います。そのほか、自分で正規表現作らなければいけない、などのときはこちらを活用されるといいかと思います。

これは正規表現のリファレンスがあって、自分で正規表現作るときにもチェックしながら作れるので便利だと思います。ご参考まで。

井旗丈
おお、これめちゃいいですね。何か自分で書くときあったらこれ使います。下の方によく使う正規表現として電話番号とかメールアドレスの正規表現のテンプレートもあるんですね!便利!
足谷保典先生
じゃあちょっと書いてきてくださったコードをみましょうか。まず大事なことですが、配列array()と組み合わせた変数の使い方が間違っています。これでは正しくifで正規表現の条件分岐ができていても、その結果を反映できません。
井旗丈
自分が書いていたコードは

$message = array();

で定義をし、

array(‘hogehoge’);

と書けば、$messageの配列にhogehogeが入ると思っていて、それをずっとやっていました。(ちゃんと使い方は使う前に調べましょう。。。)

足谷保典先生
$message = array();までは良いのですが、ifで条件分岐した結果を配列に入れる際は、array(‘hogehoge’)と書くのではなく、$message[] = ‘hogehoge’; という風に書きます。こうすることで、$messageの配列に、hogehogeが入る、ということになります。
井旗丈
あ〜そうやって使うんでしたっけ!そしたらもう変更して全部出てきそうですね。

現在までのPHPプログラム

足谷保典先生
そうですね、これでやってみるとifの条件分岐と正規表現についてはあってるので問題なくプログラムが動くかと思います。

完成したプログラムと画面

井旗丈
ありがとうございます!!

2.PHPの第17章上級課題で詰まったところについて解説

久しぶりの上級課題です。すごい難しいんでしょうね、と半分諦めモードで取り組んでいたら案の定とても難しかったです。

正規表現を使って正しい検索ワードから、DBのデータを検索し、該当するものをウェブに表示させるプログラムです。中級課題と同様に、自分で一旦納得のいくプログラムを書き、とりあえず実行してみることにしました。エラーが7個くらい出ました。大変です。

上級課題の要件

井旗丈
それでは今度は、上級課題についてもご助言いただきたいことがあります。一応こちらも自分で道筋立てて作ってみたのですが、先ほど実行してみたらエラーが出まくっていました。

自分で作ったプログラムの一部

足谷保典先生
大方できていますね。まず多分今のままだと、Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given inというエラーが二件出ています。これはSQLか何かの設定がうまくいっておらず、falseが返ってきている状況です。
井旗丈
何か忘れている気がする…なんか書かなければいけないのだが。
足谷保典先生
そうなんです。まず、13行目の前に、if ($_SERVER[‘REQUEST_METHOD’]===’POST’)というチェックが必要でしたね。

その中に、13~20行目まで丸っと移しましょう。またそれだけではやはり133行目のエラーは解消できないようなので、SQLなど一連の処理がしっかり行われているかみる必要があります。

が、まあSQL文は問題ないようですね。 おそらく冒頭の11行目、これの初期値が文字列の空欄であることがダメなようです。array()にして配列にしましょう。そうするとあとは下のforeachが正常に作動してエラーがなくなると思います。

井旗丈
なるほど、1つ1つ分解すると結構エラーの原因がわかりますね、特定が自分ではどうしても時間がかかってしまうのですが…
足谷保典先生
そうですね、練習が必要なのでどんどん問題解いてみてください。そうしたら、郵便番号検索なのか、それ以外なのかを識別するための裏技を使います。
足谷保典先生
この一文を、郵便番号検索のフォームの中に作ってください。

これは、この中のフォームでsubmitボタンが押されると同時に送られる暗号みたいなもので、ウェブの表面上には何も出てこないのですが、if文で都道府県・市区町村検索が行われたと判別するときにつかいます。

井旗丈
なるほど、こんな感じで都道府県・市区町村検索の時はこっちの処理をするように最初に書いておけばいいんですね!

実際に書いたプログラム

足谷保典先生
そうしたら、ちょっとSQL文も整形していきますか。まずDBの方で、カラム名を変更しましょう。今だとCOL 1のように、COLと1の間にスペースがあり、正常にSQLが処理できない可能性があります。DBで名前変更後、phpのSQLも変更してください。

実際に整形したプログラム

足谷保典先生
ちょっと時間がないので、その次に向けてまたアドバイスだけしますが、46行目のところは、ワイルドカード使って検索するまではいいのですが、できればカラムたちをくっつけた1つのカラムで部分一致検索した方が、SQLもスッキリするし精度も上がります。

こちらのサイトを参照して、CONCATという昨日でカラムをくっつけてから、ワイルドカードで検索をするという方法がいいと思います。そこまでできたらあとは地道にエラー出たら直す、を繰り返していくと完成すると思います。

井旗丈
なるほど、こうやってやるんだ。複数のカラムに渡って検索かけたいときどうしようか悩んでいてどうしてもANDで繋いでしまっていました。参考になります!ありがとうございました!

プレミアムコース11日目の成果と課題|CodeCamp(コードキャンプ)

第11回を受講して学んだことと、次回に向けた課題について整理します。

  • 正規表現の使い方
  • 正規表現を使うときに便利なリファレンス
  • 課題:PHPでSQLを扱う方法の再復習

今回は、自分である程度プログラムしつつ、何にエラーが出ているの勉強しながら、正規表現の使い方について勉強することができました。次回、第12回に向けて、PHP第18章以降の学習と課題に取り組んでいきたいと思います。

第18章 課題

第19章 課題

プレミアムコース11日目の感想|CodeCamp(コードキャンプ)

今回の授業では、正規表現の考え方以外は既存の知識で取り組める内容だったので、大部分を自分で考えて書くことができました。

しかしなぜか自分の思うように動かないことが多かったです。しかし正しいプログラムと比較することで、自分の命令のどこが正しくないのかがクリアに見えてきた良い勉強だったと思います。

引き続き、PHPのDB操作について課題に取り組む中で理解を深めていくと同時に、学習のスピードを上げていければと思います。残り9日で、PHPの学習コース完遂まで頑張ります!

CodeCamp(コードキャンプ)の「プレミアムコース」とは

CodeCamp(コードキャンプ)の「プレミアムコース」は、CodeCamp(コードキャンプ)で学習できるすべての言語を選べるコースです。学習の方法(どの言語をどれだけ学ぶのか)についても自分で決められることもあり、複数コースを受講するよりも断然お得な価格設定となっています。

CodeCamp(コードキャンプ)「プレミアムコース」の料金

2ヶ月
  • 料金:248,000円(税抜)
  • レッスン回数:20回
  • 受講期間:60日間
  • 週の学習時間目安:20〜25時間
4ヶ月
  • 料金:348,000円(税抜)
  • レッスン回数:40回
  • 受講期間:120日間
  • 週の学習時間目安:10〜15時間
6ヶ月
  • 料金:398,000円(税抜)
  • レッスン回数:60回
  • 受講期間:180日間
  • 週の学習時間目安:5〜10時間

CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|記事一覧

LINE@無料相談

無料で相談する

編集部がプログラミングスクール選びのアドバイスをさせて頂きます。「スクールがたくさんあり過ぎてどれを選べば良いのか分からない」「どの言語を勉強すれば良い?」「転職に有利なスクールはどこ?」など、どんな質問でもOKです!気軽にご連絡ください★