Programing 57日目
【本日の勉強内容】
・clear:dbにデータ入力(1h)
・Herokuの表示エラー(2h)
・メール送信画面のMySQLエラー(1h)
・CSSエラー(4h)
【解決済み】
・Herokuの表示がおかしい
→MySQLにデータが入っていなかった。
・clearDBへのデータ入力
→heroku runを文頭に付けるだけ
・メール配信でMySQLエラー
→教材の手順を1つすっ飛ばしてた
・TOPページがHTTPSで表示されるので、cssが効かない
→HTTPSで接続されるのは、「信用された接続元はHTTPSで表示」「全て信用された接続元として表示」の2つのルールが記述されているから。
参考<https://qiita.com/yamatox/items/8f3f481d88e807793ad5>
→とりあえずHTTPで接続する方式に変えるのではなく、CSSをHTTPSでも表示する方向で解決
参考<https://tekito-style.me/columns/laravel-css-changes>
【未解決】
【新出単語】
【時間】
8h
【メモ】
・達成したい事
→Herokuでアプリが正しく表示されるようにしたい。
・問題
→herokuのアプリの大部分が表示されない
・原因
→MySQLにseedデータを入れるコマンドがあり、それをclearDB上で実行していなかった。
問題の切り分け
・resourceのphpファイルに問題がある?
・接続方法を定めたファイルに問題がある?
・どこかに「https://~」という記述がある?(誤ったルートの記述?)
・決済のページにまだMySQLエラーが残っている。これが原因?→違った。
・heroku内部に入ってMySQLを確認したり、エラーに対して色々な可能性を考えて、すぐに行動できた。
・1日にいくつかエラーを解決しできたのは我ながら成長を感じた。やはり大切なのはググり力。
Programing 56日目
【本日の勉強内容】
・cloud9環境構築 4h
・ECサイト 4h
【解決済み】
MySQLエラー
→.env.sampleファイルが存在しており、こちらにも.envと同じ内容を記載するべきだった。
【未解決】
・メールが正しく送信されない(MySQLエラー)
【新出単語】
【時間】
8h
【メモ】
昨日と合わせて10時間ちょっとで環境構築は終わった。Dockerを使用した前回と比べてだいぶスムーズだった。
ググり力、推理力、どちらも微増してるような気がした。
基本機能はあと購入者へのメール送信さえうまく行けば終了なので、見た目や機能を少しカスタマイズしていくことになる。
改善点として今考えているもの
・「カートに入れました!」のフラッシュを1秒で消す
・個数選択を50個まで選べ、尚且つスクロール式にする
・画像も表示する
・ソート機能を付ける
・買い物かごページに、削除だけではなく個数を減らす機能も付ける
あとは教材の力で完成させているので、内部の記述をもっと読み込んで、自分でも書けるようにしないといけない。
Programing 54日目
【本日の勉強内容】
・Udemy(4h)
【解決済み】
【未解決】
【新出単語】
file_put_contents
file_get_contents
readfile=戻り値指定がいらない。ただし受け取ったデータを加工したりはできない。
.= =データの連結を省略した形
simplexml_load_file=XMLファイルをロードする
JSON=Javascript Object Notation, XMLの代わりによく利用されるようになった。XMLより短く書ける
json_decode=PHPでjsonを扱うために必要
単独タグ=閉じタグ不要
$_REQUEST[]=フォームで送信されたものを受け取る。$_GETでも取得できる
ENT_QUOTES=シングルクォートとダブルクォート共に変換
複数チェックボックスの値は配列で発信して受け取らないといけない
is_numeric=数字か判断してくれる
mb_convert_kana=全角を半角にしたりする。かな/カナの変換もできる
preg_match=正規表現を指定する
setcookie=クッキーを保存。$_COOKIEで取り出し
クッキーは安全な保管方法ではない。セッションが良い。
session_start()=セッションを始める。ファイルの先頭に書くとそのファイルでsessionが使用可能になる
$_SESSION["キー"]で保存、取り出し
常時セッションを使うこともできるが、負荷が上がる。
substr=文字数制限して表示
prepareとexecuteで安全にSQLからデータを取得
require=別ファイル呼び出し
bindParam=型を指定してパラメータを渡せる
limit句で1ページ当たりの表示をコントロール
【時間】
4h
【メモ】
体調を崩して丸3日勉強できなかった。
少しずつ動けるようになってきたが、慢性的な吐き気、腹痛と寒気がどうしてもきつい。
Laravelの基本的な仕様の仕方を学習。
Programing 53日目
【本日の勉強内容】
・Progate(4h)
・CODEPREP(1h)
・いきなりはじめるPHP(2h)
・Udemy教材(1h)
【解決済み】
【未解決】
【新出単語】
【時間】
8h
【メモ】
WEB系企業の入社試験として「PHPでのECサイト制作」が与えられた。入りたい会社だったので全ての面接をキャンセルして、2週間この課題に取り組む。
まずは触りで色々な初心者用の教材に目を通してPHPの基本文法を確認。Progateをまたやることになるとは・・・これから新しい言語始めるたびにお世話になるんだろうなぁ。
これで入れなかったら大馬鹿なのだが、まだ不思議と不安はなく、課題に集中できている。
Laravelは使わないつもり。でないと自分で理解して書いたことにならないだろうし。まずはPHPのみでチャレンジしてみよう。
教材が豊富なので、きっとなんとかなるはず。
Programing 51日目
【本日の勉強内容】
・Dockerfileの記述について(11h)
【解決済み】
【未解決】
・Dockerfileにgit cloneの記述を正しく行う
【新出単語】
Docker-compose up コンテナを作成/起動/再起動してくれる。
Docker-compose.ymlを更新した場合は差分をキャッチして設定や利用するイメージを変更してくれる
Docker-compose build 「web」や「db」など、docker-compose.ymlに記述されている サービスのbuildを実行。ymlにimage:があればリモートからpull。既にリモートにイメージがpullされている場合はそちらを利用。imageが書かれていない場合は、buildに書かれているパスのDockerfileを参考にしてイメージをbuild。
npm=Node.jsのパッケージ(Package )を管理する(Manager)ツール
Node.js=サーバーサイドのJavaScript実行環境
OAuth=オーオース。SNSやWebサービス間で「アクセス権限の認可」を行うためのプロトコルのこと。アクセストークンは中心的な仕組みの1つ。
【時間】
11h
【メモ】
勉強時間を捻出するより、効率的に勉強をする方法について悩んだ1日だった。「確度の高い情報を見極める能力」「質問を的確に短時間でまとめる能力」「大量の情報から期待する情報を探す能力」上級者は確実にこういう能力が高いと思う。自分には時間もあり、情報もある。恵まれた環境に感謝し、明日は今日よりも少しだけ良い学習ができるよう頑張ろう。