30歳からWebエンジニア転職を目指す

事務職に見切りをつけ、Webエンジニアに転身するために勉強する男の記録

phpの基礎の2周目が終わりました

こんにちは。しゅーのーです。

今日は日曜日ということで。プログラミングの勉強の他にも、読書をしたりしていました。

phpの勉強の参考書はこちら。

よくわかるPHPの教科書 【PHP5.5対応版】

よくわかるPHPの教科書 【PHP5.5対応版】

 

 

phpの部分の2周目が終わりました。

今日でもう一度「クッキー」とか「セッション」について学びました。

これまでふんわりとしか理解していませんでしたが、ドキュメントや参考書の解説などを読んで、理解を定着させていった感じです。

 

次からはMySQLの復習に入ります。

 

転職のことを考える

昨日の記事で、「ハローワークにはロクな求人がないよ」っていう話をしたんですが、何も会社に所属することもないのかな、と思い始めました。

もちろん会社に入ることのメリットはありますよ。

実務経験を積むことができますし、自分の知らないノウハウを蓄積することができるのではないかと思います。

 

でも、ぼくの住んでいる地方で、しかもこの年齢で会社に所属するというのはなかなか困難なことであると考えています。

年齢の壁もそうですが、そもそも求人が限られすぎているというのが問題です。

 

なんか別の手段も考えていかないとダメかなと思っています。

求人がないからこそ、これはチャンスだと捉えるべきなのかもしれないですしね。

例えばプログラミングの塾はないので、それなら自分で開講してみてもいいですし。

ここら辺はもっと実力をつけて、ポートフォリオができあがってから身の振り方を考えていきます。

 

今日はここまで。ではー。

php勉強の2周目

こんにちは。しゅーのーです。

最近いろいろなことをしすぎて、脳みそが疲れたのか、今日はいつもより寝る時間が長くなってしまいました。

おかげで久々に朝ごはんがブランチ気味に。

今日はphpの勉強2周目です。参考書は下記。

よくわかるPHPの教科書 【PHP5.5対応版】

よくわかるPHPの教科書 【PHP5.5対応版】

 

練習問題で間違える

すっかり忘れていたのですが、1周目のときには練習問題には手をつけずにいたのでした。

今回は2周目なので、練習問題にも触れながら進めていきました。

 

途中で思わぬ動作をしたりして、何回かブラウザがぶっ壊れたりしました。

for構文の繰り返し処理で無限ループに入ってしまって、抜け出せなくなったりとか。

おかげでMacがいつもは聞いたことのない音を立てたりしていました。

ちゃんと動かす前に確認しないといけないですね。

特に繰り返し処理の時は要注意だと分かりました(今更)。

 

ドキュメントを眺める

関数について、今日出てきたもののドキュメントをphp.netで確認したりもしました。

ただ、やっぱりドキュメントはまだ「何となく理解」の段階でとどまっている状態です。

例えばこのページ↓、mb_convert_kana()関数の解説なんですが、

PHP: mb_convert_kana - Manual

緑色と青色と紫色が何を表しているのかが、ぼんやりとしています。

緑色は型、青色は実際の関数や値?じゃあ紫色は?

という具合で、「とりあえず」これに従って入力すれば動いたりするので、今はすっ飛ばしています。

いつかきっと分かる日が来るんじゃないかなと思います。

 

今日はこのくらいでした。ではー。

phpをもう1周してからのこと

こんにちは。しゅーのーです。

今日はあっちこっち出かける用事があって、なかなか机に向かう時間が取れなかったので、今後の予定とかを考えたりしていました。

短い時間でしたが、phpの復習も始めました。参考書は下記。

よくわかるPHPの教科書 【PHP5.5対応版】

よくわかるPHPの教科書 【PHP5.5対応版】

 

 

phpをもう1周

今日のphpの勉強は、復習になりました。

参考書をもう一度最初からやって、なんとなく分かった気分でいたところを理解するためです。

写しただけで動いちゃったりするので、今度は関数のドキュメントを読んだりしながら進めるつもりです。

 

今後のこと

phpが終わったら、今度はWebアプリの作成の準備として、HTMLとCSS、あとはJavaScriptの勉強をするつもりです。

「dotinstall」でも少しふれたのですが、やっぱり基礎中の基礎しか知らないので、もっと詰めて勉強しようかなと思ったわけです。

いろいろ考えたり、情報収集をした結果「Progate」を利用してみることにしました。

無料でできる範囲でちょっと試したのですが、結構やりやすかったです。

なによりゲーム感覚でできるのがいいですね。

 

言語のこととか

今日は出かける用事があった、と冒頭で書きましたが、ハローワークに行ってきました。

ネットでも求人情報は見られるのですが、実際の求人票には載っていない項目もあるので、情報収集に行ったわけです。

 

ぼくが住んでるところは、いわゆる地方都市なので、やっぱり求人自体すごく少なかったです。

もう少し範囲を広げればいいのかもしれませんが、家庭の事情なんかもあるので、できれば現在地から遠くない場所で探してみました。

 

あんまりいい条件のところはなかったですね。

そもそも未経験OKみたいなところもなかったですし、扱う言語は「Java」とか「C#」とかその辺りが多かったです。

やっぱり結構状況的には厳しいのかなとも思いました。

ただ、phpJavaの構文からの転用も多いとドキュメントに書いてあったので、Javaにも手をつけて行くのも1つの方法なのかもしれません。

 

せっかく思い立ったからには「やっぱりやーめた」という風にならないようにしたいですね。

 

今日はこのへんで。ではー。

 

ひとこと掲示板完成

こんにちは。しゅーのーです。

久しぶりに外食でラーメンを食べてきました。おいしかったです。

今日もphpの勉強の続きをしました。参考書は下記。

 

よくわかるPHPの教科書 【PHP5.5対応版】

よくわかるPHPの教科書 【PHP5.5対応版】

 

 ひとこと掲示板が完成(1回目)

ようやくひとこと掲示板が完成しました。

会員登録から始まり、ログイン、投稿、返信、削除、ログアウトなどの一連の動作ができるようになりました。

これでひとつのWebアプリとして完結するようです。

あくまで参考書のサンプルの1つなので、これでどうこうする話ではないですが、また1歩前進できたのかな、と思います。

 

あくまで1回目

今回はただコードを写していただけなので、全体の流れを把握しただけのような気がします。

実際のコードを見て、「こういうことなんだな」と分かる部分もあれば、「なんとなく違和感」みたいな部分もまだあります。

 

これからもう一度参考書を見直して、コードを打ってみて理解を深めていこうかなと思っています。

ただあまり基礎ばっかりやっていてもしょうがないので、2周くらいしたら、つまりもう一回ひとこと掲示板ができたら、次のステップである「自分の考えたWebアプリ作り」に挑戦していきます。

 

このペースってどうなんでしょうか。

ちょっと先を急ぎすぎてる感じもありますが、作り始めてみないと「何が分からないのかが分からない」状態になってしまうような気がしています。

 

やることはまだまだタクサンある

Webアプリ作りに向けて、やることはまだまだあります。

まず、phpフレームワークに関して。

以前はCodeIgniterでつまづいてしまったので、次こそは理解できるようにしたいと思っています。

そもそもフレームワークを使うのか、という問題とか、使うフレームワークはこれでいいのか、という疑問もあります。

 

今はLaravelというフレームワークが圧倒的な支持を集めているようですし、このあたりの情報を一度整理していこうかと思います。

 

それから、デザインについて。

先日twitterで「デザインもやらないとなー」とつぶやいたところ、初心者向けとして下の本を紹介してくれた方がおりました。

 

早速本屋さんで立ち読みして、ざっと見た感じすごくよくまとまっていると思ったので購入しました。

これを少しずつ読んでデザインについて学んでいこうと思います。

 

Webでデザインと言えばCSSですが、これももっと深く理解していく必要があります。

現時点では「CSSというものがある」くらいの知識しかないので、また「dotinstall」で勉強しようかと思います。

 

今日はここまで。ではー。

ひとこと掲示板の投稿画面ができてきました

こんにちは。しゅーのーです。

今日もphpの勉強。ひとこと掲示板作り(1回目)にチャレンジ中です。

参考書はこちら。

よくわかるPHPの教科書 【PHP5.5対応版】

よくわかるPHPの教科書 【PHP5.5対応版】

 

それなりに形になってきた

今日はまず、投稿画面をつくるためのHTMLでのマークアップから始まりました。

その後にphpを置き換えて、MySQLにデータを保存したり、ひっぱってきたりしています。

bord

ひとこと掲示板はこんな感じ

投稿のメッセージとか、(なまえ)(なんとか)とかになっている部分や、画像などは全部MySQLにデータとして入っています。

それを取り出してきて、まずは全部表示している段階です。

 

(なまえ)の横にある[Re]というのは、各投稿に返信する機能がついているものです。

(なんとか)が返信機能を用いて投稿している状態になっています。

 

リレーション

今日は2つのデータベースのテーブルからデータをひっぱってきています。

「登録者情報」と「投稿情報」の2つですね。

これらについて、「リレーションを張って」、それぞれが連動して動作するようになっています。

投稿の画面でいうと、名前と写真は「登録者情報」、投稿文字と時間は「投稿情報」になっています。

まだ2つのテーブルのリレーションなので簡単ですが、これが複雑になると大変そうですね。

 

CSSがうまくいかない

この投稿画面、それぞれの投稿の境がないので、CSSでborderをつけようといろいろ試したのですが、うまくいきませんでした。

投稿は<div>で囲っていて、クラス属性もついているので、そこにborder-topつければいいんじゃね?と思ったんですが、、、。

この辺りは明日までの宿題ですね。

 

次回は

なんとか完成まで持っていきたいところです。

とは言え、まだやることは多そうです。

今は投稿が少ないからいいですが、多くなってきたらページングをしないといけません。

記事の削除もできるようにしないといけません。

この辺りはMySQLの範疇になるので、ガッチリ押さえていきたいと思います。

 

今日はここまで。ではー。

 

ログインフォームを作りました

こんにちは。しゅーのーです。

昨日は家に色々な事件が起こったため、勉強することができませんでした。

今日からまた再開していきます。

よくわかるPHPの教科書 【PHP5.5対応版】

よくわかるPHPの教科書 【PHP5.5対応版】

 

ログインフォームができました。

前回で会員登録フォームを作り、データベースに情報を入れることができました。

今回はログインフォームを作りました。

 

必要なのは

・メールアドレスを入力するテキストボックス

・パスワードを入力するテキストボックス(パスワード用)

 

このあたりのマークアップはすいすいとしていきます。

まぁ参考書を見ながらなんですけど。

 

phpでプログラムを組む

今回も同じページ内で、エラーのチェックとログイン成功の際の画面の移動を行います。

ログインのときにテキストボックスに入力してもらった文字列と、パスワードをデータベースの内容と照合していきます。

 

。。。あれ?

ここまで記事を書いていて思ったのですが、このコードだとどこで照合しているんだろう。

 

MySQLにあればOK

解説を読んでみると、「データベースを検索して、あればOK」という照合の方法のようです。

言われてみれば、データとしてなかったときの条件分岐がされていました。

無理に「なんとか == かんとか」のように演算子を使う必要はないんですね。

 

今回は悩むようなエラーはなし

前回の会員登録フォームより、今回のログインフォームの方がサクサク進めたような気がします。

なんとなく「ここエラーになりそうだな」という場所が分かっていたので、その分解決するのも早かったのかもしれません。

 

次回は

ログインも無事終わったので、投稿画面を作成していくことになるみたいです。

ここからは少し難しそうですね。

投稿したものを表示するのもそうですが、投稿に返信したりする機能をつけることになるので、データベースのリレーションが猛威を振るいそうです。

リレーションに慣れるためにもきっちりおさえておきたいところです。

 

今日はここまで。ではー。

会員登録フォームを作りました!

こんにちは。しゅーのーです。

今日で3連休は最終日。

明日からまた仕事しながらの勉強だと思うと、、、名残惜しいです。

今日も参考書を手に勉強をしていました。

よくわかるPHPの教科書 【PHP5.5対応版】

よくわかるPHPの教科書 【PHP5.5対応版】

 

会員登録画面を作る

今日から簡単なWebアプリ「twitter風ひとこと掲示板」の作成にとりかかりました。

まずは会員登録の作成からです。

これがないと何事も始まらないですね。

 

まずはHTMLで形を整えてからphpでプログラムを組んでいきます。

必要なのは、「情報入力画面」、「確認画面」、「終了画面」の3つ。

ちなみにデータベースの設計は参考書をなぞっていくので、今回は考える時間はなしでした。

 

HTMLでのマークアップは「dotinstall」で基本的なところは押さえてあるの、サクッと終わりました。

問題はphpでのコーディングの部分でしたね。

 

twitterでもつぶやいていたんですが、参考書のとおりにやると「Notice」という注意がphpのチェックで出てきてしまうんですよね。

ネットで検索して色々調べたんですけど、「$_POST」みたいなスーパーグローバル変数っていうのを、postする前から書いていたりすると出ちゃうみたいです。

考えてみれば当たり前ですよね。何も入ってないものを呼び出そうとしてるわけですから。

 

この辺、参考書では何も触れていなかったので、なんとなく流そうかと思ったのですが、どうにも気持ち悪かったので無理やり直しました。

何も入っていなければif構文とisset()関数でやり過ごせばいいんじゃないの、っていう記事をネットで検索したら見つけたので、Noticeが出るところ全てにこれを適用しました。

もちろんエラー表示をさせないという手もあるわけですが、それはそれで問題だと思うので、今回はエラーを駆逐する手段をとりました。

 

データベースへの登録へ

入力画面でのエラーチェックも終わり、確認画面へと移動しました。

ここでデータベースへの登録という、ある意味本番にさしかかったわけです。

これがうまくいけば、個人的にすごくうれしい気持ちになれる気がしました。

 

だって、入力したものがデータベースに入るんですよ!

あの、意味のわからないような文字列が、データとして管理できるようになるんです。

動的なページを作れるphpの醍醐味の1つなんじゃないでしょうか。

 

というわけで、極めて慎重にコードを打ち込んでいきました。

エラーが出て、間違い探しみたいなことをしたくなかったからです。

 

結果。

無事にデータベースに会員情報を登録することができました!

自分が1から考えたものではないですが、何だか感動しました。

こんなことができるようになるなんて、思ってもみなかったです。

 

次回

会員登録が終わったので、ログイン画面を作っていくようです。

作っているものもだんだんそれっぽいものになってきました。

ここからが楽しいところでしょうね。

 

今日はここまで。ではー。