Programing 64日目
【本日の勉強内容】
・AWS S3にファイルアップロード(4h)
・Mailに注文内容/金額/振込先を記載(4h)
・販売履歴機能の追加(4h)
【解決済み】
・販売履歴のtableに販売したデータをそのまま挿入したいが、うまくできない。 →SQL文の理解度が低かったのと、オブジェクトの要素を指定するのに $pItem->quantity; $pItem.quantity; としていた。Railsの名残?
・return $this->index();でオブジェクトがないとエラーが出た。
→原因不明だが、サーバ再起動や一度元のコードに戻すなどしてるうちに、急に正常に戻った。
・Herokuで画像が表示できず、エラーに
→AWSのエラーでてんやわんやしているうちになぜか解決していた。
Herokuを開き直したからか、それともサーバー再起動をいつの間にかしていたのか。
・GitHubからキーパスを抜かれる
→あまり記事が上がっていなかったが、とんでもないセキュリティ上のミスをしてしまっていた。クロウラーが巡回しているらしく、ものの10分あまりでAWSからセキュリティ通知が殺到、最後にはアカウント凍結。すぐにAWSの言う通りGitHubから.env削除、rootユーザーのパス変更をし、完了のメールを送ったので、1時間後には凍結解除となった。しかし全てのインスタンス(S3だけなぜか無事)が消えたので、もう一度cloud9を白紙から・・・1hでリカバリーできたのは奇跡。
・当然Herokuが500エラーに。
→.envをgitignoreしたため。中に設定をしっかり書き込んだら起動した。
【未解決】
これから改善したい点
・販売履歴をユーザー毎にまとめて表示、ユーザー名も表示
・メールにユーザー名や住所などを表示
・商品ソート機能
・一般的なセキュリティ対策
・商品により多くの属性をつける(description,)
【新出単語】
【時間】
12h
【メモ】
試行錯誤を止めなければ、問題は解決するとよくわかった。疲れているときや集中していない時は、その試行錯誤が止まり、同じようなワードで延々検索していたりする。販売履歴はtableへの書き込みが難しかった。
AWSのミスは完全に終わったと思った。もう提出まで何も手を付けられないと思ったが、AWSのレスポンスが非常に早く、早朝5時にも関わらずアカウント凍結が解除された。本当に助かった。.envへの印象がかなりくっきりとついた。