こんにちは。コードキャンプ株式会社が運営するプログラミングスクール「CodeCamp(コードキャンプ)」でプログラミングを学習している井旗です。
私が受けているコースは「プレミアムコース」。HTML/CSSからJavascript、PHP/MySQL、Photoshop、Illustratorまで、Codecamp(コードキャンプ)で用意されているすべての言語やスキルを自由に組み合わせて自分だけのカリキュラムを組める贅沢なコースです。
受講回数は2ヶ月(20回)、4ヶ月(40回)、6ヶ月(60回)の3つから選べます(今回は2ヶ月間受講します)。
それでは、2018年12月01日に受講した、Codecamp(コードキャンプ)「プレミアムコース」第4回目の学習内容をレビューします。
目次
プレミアムコース4日目|CodeCamp(コードキャンプ)
本日の講師:足谷保典先生
2012年よりフリーランスとして活躍。独立から、お客様よりウェブに関するさまざまな相談を受けシステムの提案から設計・開発を担当。最近では縁あって講演や執筆活動などにも取り組む。担当言語はPHPとJavaScript。以前学校で授業を教えていた経験もあり、教えることはとても好き。
第4回目のレッスンで学んだことは以下の内容です。
CodeCamp(コードキャンプ)プレミアムコース第4回目のレッスン内容
-
実習課題で私がつまづいたところ。
-
これからの勉強内容について。
1.実習課題で私がつまづいたところ。
前回のレッスンでは、実習課題のために絶対に覚えておかなければならない概念として、ファイル操作とその他様々な関数のおさらいを先生と一緒にしました。
その後、実習課題である「簡単な掲示板を作ってみよう」にチャレンジしてみて、実際にプログラムを書いてみました。
書き方としては、一から考えて作るのは結構骨が折れるというか、時間の無駄な部分もあるので、骨格だけ以前の学習内容で作ったプログラムを利用し、課題に合わせてプログラムを書き換えるという形で制作に取り組みました。
普段の生活で、インターネットを使用していると、いろんな掲示板に訪れることが多いと思います。あれも1つ1つプログラムを書いて膨大なデータを扱えるようにきちんと今もアップデートされたり、ブラッシュアップされているんだなぁ、と感じながら取り組んでみたのですが、名前、投稿、投稿日時だけを表示させるにもとても苦労しました。
先生とのレッスンで、わからないところを克服しながら、なんとか掲示板を完成させました。
こんな感じです。
これは完成形のコードなのですが、苦労したところは、やはりグローバルスーパー変数の使い方、ファイルの読み込み、書き込みです。
・グローバルスーパー変数
最初に自分でやっていた時は、9行目のif (isset($_POST[‘user_name’]) ===TRUE) のところを、user_nameとcommentで一括りにした形で、これらがTRUEだったら、という条件式で書いていました。
すると、以下につながるエラー時の処理について、1つの関数ずつで定義することが難しくなったり、処理の順番や方法が複雑になり、自分でもどこでエラーが起きているのか、何がダメなのかわからない状態に陥っていました。
まずは、ここをuser_nameとcommentでしっかり分けて書き直し、それぞれに対してエラー時の処理を書くことで整理しました。
・ファイルの読み込み、書き込み
次にエラーがなかった場合の処理です。自分ではここがかけず、webにもなかなか反映させることができませんでした。
先生に教わったこととしては、
「エラーがなかった処理の書き方は、エラーが出ていない時、つまりエラー時の文字が0の時で条件を書くこと。」
拡大してコードをみてみたいと思います。
この画像でいう、27行目です。これがエラーが出ていない時のコードになります。
このような書き方は、経験を積めばできるようになってくるので、今はできなくてもしょうがないかもしれません。ということでしたが、いつになってもできる気がしません。遠回しに条件をつけてみるというような感覚で、プログラミングってやっぱり奥が深いですよね!すごい。
そのほか、それ以下のプログラムに関しては今まで学習してきたことの応用で対応できたので
これで、第一回目の実習課題を提出しようと思います!
2.これからの勉強内容について。
実習課題の仕上げに時間を使っていたのですが、少しレッスンの時間が余ったので、具体的に今後どのようなことを勉強してくのかを先生に聞いてみました。
実習課題が終わると、いよいよデータベース側の使い方や、データベースをPHPで動かす、といった内容の勉強が始まります。
PHPではデータベースといえど、様々な種類があるそうです。
データを扱う手法として「階層型」「ネットワーク型」「リレーショナル型」の三種類から、CodeCampでは最も一般的に使用されているリレーショナル型に沿ったデータベース(リレーショナルデータベース)の使い方を勉強していきます。
講義の中で、このリレーショナルデータベースの特徴として2つあげています。
- データは2次元(行×列)の表形式で表現すること
- 複数の表を結合(リレーション)して利用可能なこと
①の特徴である2次元表を、ちょっと手を加えて②の特徴である分割する、または結合することで、複雑なデータを柔軟に取り扱うことができます。
現在自分がインターンしている会社でも、SQLでコードを書いてデータを抽出する作業があったりするのですが、会社の言語のPHPということで、SQLで普段書いていることってデータベースのデータをこうやって出しているんだ、など、勉強していると発見が多いです。
また、ソフトウェアの設計方法である「MVCモデル」などについてもこれから勉強していきます。
今まで取り組んだ課題や、使用例などでは、なぜかHTMLとPHPを分けて書かなければならないところが多くとても疑問に思っていました。
例えば、よく使うif文ですが、
63~68行あたりをみていただくと、PHPを指定していたり、またHTMLの書き方にすぐ戻ったりを繰り返します。なぜだ、こんなに面倒なことをいちいちしなくてもいいじゃないか、と思っていました。
先生曰く、通常ウェブサービスを作るときは、いろんな人が関わっていて、それぞれでいじるページを分けているから、ということでした。
もう少し詳しくいうと、デザイナーはHTMLやCSSの部分を主に触ったりするけど、その裏で動くバックエンドのプログラムはエンジニアが触る、というようになっているそうです。
だから、基本的にHTMLにPHPは書かないんだとか。メンテナンスの時などに、誰がどこを編集したのか、どのような意図で編集したのか、またはどこを編集すればいいのかわかりやすいからとのことでした。
実際にウェブサービスを作っている会社では、このように分けているんだ、と新たに学びました。やはり現役エンジニアの方から教わると、サービスの裏側がわかって楽しいですね。
これから、このようなことを色々勉強していきます。楽しみ半分、不安半分ですが、頑張って勉強したいと思います。
プレミアムコース4日目の感想|CodeCamp(コードキャンプ)
4回目のレッスンが終わりました。
今回は実習課題でわからないところや、未完成な部分を先生と一緒に解決してなんとか完成させることができました。不具合なくプログラムが動いて、自分で作ったものがちゃんと動いているのをみると、達成感というか、爽快感が味わえます。とても楽しかった。これから、難題が待ち構えているかと思いますが、頑張って取り組みたいと思います。
オンラインでプログラミングの学習をすることに対して、不安を感じてらっしゃる方などいらっしゃるかと思いますが、私は今の所不自由なく学習することができていいます。またオンラインの特徴としてとてもフレキシブルにレッスンを受けられ、難なく学習を進められることかと思います。
この記事や無料体験レッスンを通じて、より多くの方が勉強のイメージを膨らませ、エンジニアとしての大事な一歩を踏み出す一助となりましたら幸いです。
CodeCamp(コードキャンプ)の「プレミアムコース」とは
CodeCamp(コードキャンプ)の「プレミアムコース」は、CodeCamp(コードキャンプ)で学習できるすべての言語を選べるコースです。学習の方法(どの言語をどれだけ学ぶのか)についても自分で決められることもあり、複数コースを受講するよりも断然お得な価格設定となっています。
CodeCamp(コードキャンプ)「プレミアムコース」の料金
2ヶ月 |
|
4ヶ月 |
|
6ヶ月 |
|
CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|記事一覧
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|1日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|2日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|3日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|4日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|5日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|6日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|7日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|8日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|9日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|10日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|11日目
- CodeCamp(コードキャンプ)のプレミアムコースレビュー・感想|12日目
これから就職した際など、webデザインやエンジニアとしての知識を身に付けたいと思いCodeCamp(コードキャンプ)で必死に勉強中。
オンラインプログラミングスクールでどれだけ力がつき、どのような成果物を作れるようになるのか、日々ワクワクしながらプログラミングの勉強をしています。