やりたいことは家に在る

営業を辞めた女がプログラマーになるまでの記録。

プログラミング未経験者がウェブカツWEBサービス部でつまずいたポイントとその解決策

WEBサービス部 つまずきポイント 解決策

 

みなさんこんにちは!

プログラミングスクールウェブカツでプログラミングの勉強しているまるみです!

6月後半は亀のスピードでウェブカツ進めております。

 

▼そもそもウェブカツとは…?という方はこちら

webukatu.com

 

▼私がプログラミングを始めたキッカケはこちら

www.yaritaikoto-ha-ieniaru.com

 

 

最近はプログラミング学習に時間を充てることができず、相当焦っていたのですが、今は開き直っています。

今までプログラミングの効率の良い勉強法を模索したり、悪あがきしてみたりしたのですが、そんなことを思っている時間が無駄だったことに気づいたからです。

 

もはや、ただひたすらにやるしかない。

 

多少効率が悪い勉強法でもやるしかない。

でもやったら前進はするんですね。

それでいいのだと思います。

 

せっかく女性割引という大変お得なサービスでプログラミングの勉強させてもらっているので、時間もお金も無駄にしない!

寄り道しても回り道しても歩みを止めない。

プログラミングで食べていく。

そう決意した今日この頃でした。

 

さて本題ですが、6月を振り返ると、とても学習を進めるのが辛かったなと思います。

というのも、Webサービス部の沼にハマり、コードが呪文に見え、PHP恐怖症になったからです。

▼私がWEBサービス部の沼にハマり抜け出した件はこちら参照

www.yaritaikoto-ha-ieniaru.com

 

まだまだWEBサービス部の学習は終わっていないのですが、ここ最近やっと自力でログイン画面とユーザー登録画面のアウトプットができるようになりました~(祝)

そしてちょっとプログラミング自体が好きになりました。

 

嬉しい気持ちとは反面、たくさんの時間と労力を使い、それはそれはもう…疲れました。

 

ということで今日は私がログイン画面とユーザー画面を作ったときにつまずいた些細なポイントとその解決策についてお話します!

 

 

 

1、コードの書き始めがわからない→流れだけ覚えてあとはググる!

躓いたポイント:

コードを何も見ずになんて書けない、このままだと書き始められない。

 

 

私の場合は、ユーザー登録画面を作り始めようという時にまずはHTML/CSSを書きました。

ここまでは…まぁスムーズにできたということにして…。

問題はPHPです。

 

「あれ?何から書き始めればいいんだっけ?」

「確かエラーログを吐き出すコードを書いていたような…」

そんなことを思いながら何から書き始めて良いかわからなかったんですね。

 

結論から申し上げます。

まっさらなところから何も見ずにコードなんて書けません!

 

ここでお伝えしたいのは2つ。

  1. コードを暗記して、1文字も間違えることなく空で書くことが求められているのではない。
  2. 処理の流れを把握して、処理を書ける、もしくは処理を書けなくても自力で調べる術を身に着ける

上記2点ができれば問題なしです!

ということで以下の方法で乗り切りました。

具体案:

①コメントで処理の流れを書いて答え合わせ

処理の流れを徹底的に頭に入れるために、まずはコメントを書きまくりました。

わからないところはネットで調べて、新しくわかったことはコメントにも入れてます。

 

②コードを調べ、ひたすらコピペ

コードがわからないときはGoogle先生に聞きます。

何がわからないかわからない状態のときは全く調べきれなかったのですが、処理に何が必要が自分でわかるようになってからは、ググる力が付いてきました。

 

例えば…

前述したエラーログのコードを書きたい!

全然コードを覚えていない私は「ini_set」の「i」の字も出てきませんでした…。

 

でも「エラーログ 表示 PHP」と調べるとそれに関することが沢山出てきました。

▼お世話になったサイトはこちら

www.sejuku.net

 

データベースの書き方が覚えきれていない

▼お世話になったサイトはこちら

qiita.com

 

正規表現(メールアドレス&半角)

▼お世話になったサイトはこちら
正規表現:すべて半角英数かどうか調べる - phpspot

正規表現:メールアドレスかどうか調べる - phpspot

 

と、こんな感じで調べてはコピペを繰り返しました。

調べることで他の情報も目に入るので勉強になります。

 

ちなみにとても役に立ったと思うサイトはすべてブックマークしています。

こんな感じでGoogleChromeのブックマークバーにプログラミングフォルダを作ってひたすら入れています。

f:id:echigorira-diary:20190629184153p:plain

1度では覚えられないので何度も見変えてして処理の流れやコードの書き方を身に着けています。

 

 

2、エラーが止まらないエラー地獄→ポイントを押さえて確認する

躓いたポイント:

できた~!と思って画面更新してみたらエラー。

修正して更新したらまた違うエラー。

また修正して更新したら違うエラー…エラー…。

 

こちらはもうひたすら確認するしかない!!


 エラーの場所教えてくれるのに…どこが違うかは教えてくれないですよね。

ヒントはくれるけど…。

今まではむやみやたらにソースコードと付け合わせしていましたが、実際はソースコードがないのでそうはいきません。

ということで時間をかけてソースコードは見ずにエラーを探してみました。

すると見つけるための確認のコツがあると気づきました。

 

確認するポイント

①誤字脱字

私がよくやってしまうので「$data」と「$date」。

前回は全部の$dataを$dateにしていました(笑)

 

あとは、「require('function.php');」なのに「require('fanction.php');」とか。

「$err_msg['commom']」なのに「$err_msg['common']」とか。

「$dbh = new PDO($dsn,$user,$password,$options);」を「$dbh = new PDO($dsn:$user:$password:$options);」とか…。

ちょっと見直すだけでわかることもありますが、頭が飽和状態のときは中々見つけられないことが多いので、そんなときはちょっと寝たり、翌日の朝にやったりします。

これがなぜだか間違えているところが秒で見つかったりするので不思議です。

 

②抜け漏れ

よくあるのが「;」ですね。

これがない行から下の行にエラーが出るので厄介です。

なのでエラーが出た行の前後の「;」は必ず確認するようにしています。

 

あとはif分のelse以降をまるっと書かなかったことがありました。

else{
$err_msg['commom']=MSG09;
}

そりゃエラーメッセージが出ないわけです…。

 

③データベースのエラーはどこまで処理ができているか確認する

まずどの部分でエラーになっているか確認します。

  • そもそもデータベースにつながっていないのか?
  • つながっているけど情報が入っていかないのか?

私の場合はデータベースに接続したはずなのに、なぜかphpMyAdminにユーザー情報が入らないなんてことがありました。

ということはデータベースに接続できていないと考えました。

 

結論から申し上げますと

$dsn='mysql:dbname=●●●;host=localhost;charset=utf8';

これに半角でスペースを入れていたからでした。

 優しいフォロワーさんのおかげで瞬間解決!

がんばれ〜
$dsnに半角スペース入ってたりすると接続できないらしいですよ〜

— みえぞー@ウェブカツ (@headlight326) June 21, 2019

 

これでデータベースは繋がったのですが次はユーザー登録した情報が入っていかない問題が起きました。

こちらも結論から申し上げますと、

$sql = 'INSERT INTO users (email,pass,login_time,create_date) VALUES(:email,:pass,:login_time,:create_date)';

上記の「pass」を「password」にしていたせいでした。

 

phpMyAdminで登録した名前と少しでも違うと何も情報が入りません…。

 

エラーは最初ワケワカメで嫌いでしたが、最近は間違い探しのような感じでちょっと楽しくなってきました。

エラーの意味が分かってきちんと修正できた時は達成感ありますよね。

 

3、まとめ

今回はユーザー登録画面とログイン画面だけだったのでまだまだこの程度で済みましたが、このあと学習を進めていくにあたって、きっとまたつまずく気がします。

 

その際はまたブログでどうやって乗り越えたかを自分のためにもまとめていきたいと思います。

 

最近亀スピードなので、日々少しでも前に進められるように7月も頑張ろう!

 

4、余談 ~優先順位と葛藤~ ※いつも余談が長くなる

現在私は専業主婦です。子どもなし。

7月に挙式するので現在ガチめなダイエットしています。

(某トレーニングジムに25万円支払い糖質制限中)

結婚式の準備も装花代をケチったばかりに毎日4時間くらいしています。

 

仕事をしているときよりは全然ラク。

でも私が求める理想の自分からかけ離れすぎて最近まで落ち込んでました。

 

【私が求める理想の自分】

・ダイエット…ストイックに糖質制限できる、トレーニングも毎日頑張る、痩せていく

・結婚式の準備…無駄なものを買わないように効率よくDIYする

・家事…朝食・夕食は完璧に作る、2日に1回は掃除機をかける、お金の管理を徹底する

・ウェブカツ…平日1日5時間、土日は1時間以上、自主制作の何かを作り始める、WEBサービス部を終わらせている

 

【現実の私】

・ダイエット…トレーニング休む日もある(気分で決めちゃう)、チョコ食べるときもある

・結婚式の準備…無駄遣いばかり、要領が悪くて時間もお金も無駄に、予算より30万くらいオーバー

・家事…朝食てきとー、夕食てきとー、掃除は汚くなってから、水道代払い忘れて平日旦那さんに払いに行ってもらう

・ウェブカツ…最近は平日1日1時間、土日も1時間、自主制作作れていない、WEBサービス部を終わっていない

 

今の優先順位がダイエット>結婚式準備>>>>ウェブカツ>>>>>>>>>家事になっていて本当に嫌になる。

優先順位の高いダイエットですらモチベーションが低いときは平気で糖質とってしまう。

ちなみに今日も誘惑に負けて玉ねぎ食べてしまった。

 

そんな意志の弱くて情けない自分を変えるために、どうすればよいか考えました。

 

 

【7月実施する打ち手】やることは徹底して、やらないことはやらない!

・ダイエット…休養日をあらかじめ決める、見た目を変えたい部位を自分でより鍛える、体重を気にしない

・結婚式の準備…準備する日と時間を決める(平日は旦那さんが帰ってきてから、土日は3時間以内)

・家事…夕食をたくさん作って朝も食べる、土日は旦那さんに勝手に食べてもらう(自分はプロテイン)

・ウェブカツ…平日午前中2時間、午後2時間は最低やる。予定がある日は2時間やる。7月までにWEBサービス部終わらせる。

 

決めごと作るのは簡単だけど、守るのが本当に難しい。

一生に一度の結婚式と同じくらい、将来の職業になるであろうプログラミングの勉強も大切。

優先順位を上げて頑張ろう。