転職したらスマレジだった件

スマレジのエンジニアやまてのテックブログです。マジレス大歓迎です。

ひと月の振り返り - 2022年8月

こんにちは!

スマレジ・テックファームのWebエンジニアやまてと申します。

はじめに

Web関連の自習について、学習効率を高めることを目的として、月に1記事、振り返りのブログ記事を投稿しています。(2022.5〜)

ryamate.hatenablog.com


半期目標 Goal

半期目標 Goal

自己成長についての半期(2022/05/01~2022/10/31)の目標ですが、以下の内容にしています。

1.DB設計の習得

2.PHPオブジェクト指向の習得

3.Webアプリケーションのセキュリティの習得


「習得」のレベル感としては実務で求められる業務に食らいつけるくらいのイメージです。

読んでいただく方にとっては参考になるかはわかりませんが、どんなことを考えながら学習を進めているかを書き出していけたらと思います。

今回は、先月 8 月を振り返っていきます。

目次

計画を立てる → ひとまずPDCAサイクルを回していこう!ということで、記事構成としてもPDCAの順に書き出していきます。


PDCAの中身は、

  • 計画 Plan → 何をするの?
  • 実行 Do → 何をしたの?
  • 検証 Check → やってみてどうだった?
  • 改善 Act → 今後どうする?

という感じです。

計画 Plan - 8月

以下のとおり、先月の計画を立てました。

計画 Plan - 8月

1. SQL、データベース

  • 独学エンジニアの動画講義、課題

2. PHPオブジェクト指向の習得

3. セキュリティ(徳丸本)

  • 4.Webアプリケーションの機能別に見るセキュリティバグ

4. 技術系のブログ記事投稿(週一ペース)

  • 今後のブログ記事の題材案
    • 転職活動時のポートフォリオとして作成したWebアプリの「振り返り」と「これまで学習してきたことを踏まえての深堀り」
    • 徳丸本学習の振り返り
    • PHPブラックジャック作成のまとめ
    • その他、独学エンジニアで学んだことのまとめ

(過去記事:ひと月の振り返り - 2022年7月 - 転職したらスマレジだった件

ちなみに、2022年8月末時点で、Webエンジニア経験は 9 カ月になりました。


1. SQL、データベース

実行 Do

dokugaku-engineer.com

Web開発についての動画学習教材 独学エンジニア の「PART7 データベースとSQL」の下記の講座(動画視聴、SQLコーディング課題など)を受講しました。

検証 Check

  • レッスン42の最後の課題は、データベースに対して、トランザクションを開始して、ロールバックとコミットの挙動を確認する、という内容でした。半年前に受けたスマレジの研修でも同様の課題があったため、良い復習になりました。
  • 実務で「同時実行制御」を加味したシーケンス図を作成する機会があり、学習の内容が実務で活かせました。

改善 Act

  • 今後も自習内容を近々実務で活かせるような学習内容を優先していきたいと考えています。
  • 続いてのレッスン43は「【プロジェクト】ログ解析システムを作ろう」という、「PART7 データベースとSQL」の集大成の課題があるため、9月の課題として取り組みます。



2. PHPオブジェクト指向の習得

実行 Do

dokugaku-engineer.com

Web開発についての動画学習教材 独学エンジニア の「PART3 PHPオブジェクト指向」の下記の講座の課題について実装をしました。

GitHubで進捗の履歴を Public リポジトリとして公開しながら進めています。

github.com

ryamate.hatenablog.com

  • 8月に入ってからは、以下の変更を加えました。
    • プレイヤー人数変更の機能追加

    github.com

    github.com

    • クラス図、シーケンス図修正

    github.com

    • Playerクラスの抽象クラス化(Solid原則に則っての修正)

    github.com

同じく独学エンジニア の「PART8 フルスクラッチでWebアプリケーション」の下記の講座(動画視聴、課題)を受講しました。

  • レッスン44: PHPでシャッフルランチサービスを作ろう(最新講義)

参考ツイート:

検証 Check

  • 「最大3人までのプレイヤーでプレイできるよう変更する」という機能追加としてはシンプルなもので、動作としては5日間(10hくらい)で完了しましたが、コードの状態としては変更しづらいな…という感触でした。
  • 続けて、SOLID原則に沿って書けているか、講義内容を復習しながらコードをリファクタリングすることで、元のコードよりは断然良くなったと思います。もっと良いコードにする余地があるとは思っていますが、自分で考えて、積極的にああでもないこうでもないとコードを書き換えていけていると思います。

改善 Act

  • デザインパターンを考えることでもっとコードが良くならないかについて、残る機能追加「ダブルダウン、スプリット、サレンダーのルールを追加する」課題取り組み時にチェックしていきます。(9 月で完了させたい)
  • 完成までの期限については実務を意識して、なるべく工数を見積もって進めることを習慣づけたいため、工数の見積もりを分からないなりにもしてみて、仮でも期日を決めて、それを目処に進めます。
  • 「レッスン44: PHPでシャッフルランチサービスを作ろう」の最新更新分を進めていきます。



3. Webアプリケーションのセキュリティの習得

実行 Do

5月に読み始めた『体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践(徳丸 浩 (著))』(通称「徳丸本」)を読み進めています。

wasbook.org

  • 4.Webアプリケーションの機能別に見るセキュリティバグ
    • 4.6 セッション管理の不備
    • 4.7 リダイレクト処理にまつわる脆弱性
    • 4.8 クッキー出力にまつわる脆弱性
    • 4.9 メール送信の問題
    • 4.10 ファイルアクセスにまつわる問題

検証 Check

  • 一日 1 項目ずつ淡々と読み進めて、p230〜280(688ページ中)のあたりを読みました。
  • 電車の通勤時間で読んでいるので、ブラウザでテストしてみるハンズオンは省略することにしました。

改善 Act

  • 一日 1 項目は読むだけだとスローペースすぎるので、9月は一日 10 ページペースで読み進めて、一旦早く読み切ってしまおうと思います。
  • ブログ記事の題材としてアウトプットすることを理解を深める次の一手として考えているので、なるべく早く一つ題材とする攻撃を選んで、記事にしてみたいと思います。(9月より先かも)



4. 技術系のブログ記事投稿

実行 Do

  • 毎週、ブログ記事を投稿しました。記事の内容は以下のとおりです。

ryamate.hatenablog.com

ryamate.hatenablog.com

ryamate.hatenablog.com

ryamate.hatenablog.com

ryamate.hatenablog.com

  • ブログに加えて、Qiitaにも投稿しました。

qiita.com

qiita.com

qiita.com

qiita.com

検証 Check

  • ブログ記事は週1ペースで少し執筆スピードが上がったような気がします。題材によるだけかもしれませんが…
  • 投稿したブログ記事 をいくつか Qiita にも投稿しました。Qiitaでは、閲覧数が桁違いであることもあり、コメントなどのリアクションを多々いただくことができ、とても勉強になると感じました。

改善 Act

  • 今後も Qiita にも投稿を継続したいという意欲が湧いていますので、月 2 記事 を一旦、9月の目標に入れてみます。


その他(習慣化など)

朝活の継続

  • 一日1〜3時間程度の朝活を、4月8日に開始して以降毎日継続更新中です(8月31日で、146日継続)。

学習時間の確保(月100時間)

  • 115.5時間学習しました。お盆に一人の時間が多かったため、時間確保が多めにできました。9月も100時間学習を目処に学習します。

実務

  • システム改修の設計段階ですが、資料作成(概要書作成)について、ひたすら作業しています。


計画 Plan - 9月

1. SQL、データベース

  • ログ解析システムを作る

2. PHPオブジェクト指向の習得

  • 独学エンジニアの動画講義、課題
  • ブラックジャックゲームを作る
    • 機能追加「ダブルダウン、スプリット、サレンダーのルールを追加する」
  • ポートフォリオを振り返る

3. セキュリティ(徳丸本)

  • 4.Webアプリケーションの機能別に見るセキュリティバグ

4. 技術系のブログ記事投稿

  • ブログ記事投稿(週一ペース)

    ※ 今後のブログ記事の題材案

    • PHPブラックジャック作成のまとめ
    • 転職活動時のポートフォリオとして作成したWebアプリの「振り返り」と「これまで学習してきたことを踏まえての深堀り」
    • 徳丸本学習の振り返り
    • その他、独学エンジニアで学んだことのまとめ
  • Qiita記事投稿(月 2 記事)


また、下半期開始(11月〜)くらいで、スマレジのAPIを利用したWebアプリ開発したいと思ってます。

振り返りは以上です。来月も振り返っていきます。


ありがとうございました。



母の手料理はあと何回食べられるだろうか…

としみじみ思いながら、いつもより咀嚼多めで食べました。