こんにちは!
スマレジ・テックファームのWebエンジニアやまてと申します。
はじめに
Web関連の自習について、学習効率を高めることを目的として、月に1記事、振り返りのブログ記事を投稿しています。(2022.5〜)
半期目標 Goal
半期目標 Goal
自己成長についての半期(2022/05/01~2022/10/31)の目標ですが、以下の内容にしています。
1.DB設計の習得
3.Webアプリケーションのセキュリティの習得
「習得」のレベル感としては実務で求められる業務に食らいつけるくらいのイメージです。
読んでいただく方にとっては参考になるかはわかりませんが、どんなことを考えながら学習を進めているかを書き出していけたらと思います。
今回は、先月 10 月を振り返っていきます。
目次
- はじめに
- 1. SQL、データベース
- 2. PHPとオブジェクト指向の習得
- 3. Webアプリケーションのセキュリティの習得
- 4. 技術系のブログ記事投稿
- その他(習慣化など)
- 計画 Plan - 11月
計画を立てる → ひとまずPDCAサイクルを回していこう!ということで、記事構成としてもPDCAの順に書き出していきます。
PDCAの中身は以下のイメージです。
- 計画 Plan → 何をするの?
- 実行 Do → 何をしたの?
- 検証 Check → やってみてどうだった?
- 改善 Act → 今後どうする?
計画 Plan - 10月
以下のとおり、先月の計画を立てました。
計画 Plan - 10月
1. SQL、データベース
- ログ解析システムの作成
- 10月末までに完成させる。
- 独学エンジニアの動画講義、課題
- 最新更新分について動画試聴と課題を進める。
- ポートフォリオの振り返り
- 一つの機能の解説をブログ記事化するための振り返りをする。
3. Webアプリケーションのセキュリティの習得
- 徳丸本の通読
4. 技術系のブログ記事投稿
ブログ記事投稿(週一ペース)
※ 今後のブログ記事の題材案
- ログ解析システムの作成過程
- 転職活動時のポートフォリオとして作成したWebアプリの「振り返り」と「これまで学習してきたことを踏まえての深堀り」
- 徳丸本学習の振り返り
- Qiita記事投稿(月 1 記事)
ちなみに、2022年10月末時点で、Webエンジニア経験は 11 カ月になりました。もうすぐ 1 年…
1. SQL、データベース
具体的な行動計画は以下の通りです。
- ログ解析システムの作成
1-1. ログ解析システムの作成
10月末までに完成させる。
実行 Do
Web開発についての動画学習教材 独学エンジニア の「PART7 データベースとSQL」については、残すところ下記のプロジェクトを自作する集大成の課題のみで、9月末に着手したところです。
- レッスン43: 【プロジェクト】ログ解析システムを作ろう
検証 Check
- 10月末までに完成させると工数が未知数ながら決めていましたが、無事完成しました。
#本日の自習 10/23 4.5h
— やまて|Webエンジニア2年目 (@r_yamate) 2022年10月23日
✅#徳丸本 9. 安全なWebアプリケーションのための開発マネジメント
✅#独学エンジニア 43 ログ解析システムを作ろう
ログ解析システムの課題、10月中に完成させるという目標達成🙌https://t.co/3wWcTvjaHw
- テキストファイルからMySQLにデータをインポートするところで詰まりまくりましたが、この詰まってたときのインプットは良質!だと思っているので、良い時間でした。
テキストファイルから MySQL のテーブルへのデータインポート、できたー🥹4日かかった。 pic.twitter.com/UUuwnnR4Lp
— やまて|Webエンジニア2年目 (@r_yamate) 2022年10月18日
改善 Act
- 今回のログ解析システムの課題は、優先的に取り組んで、目標通り完了させられたので満足しています。どのくらいの工数がかかるか取り掛かるまでは未知数でしたが、始めにタスクにばらして、工数のイメージをしながら取り組み始めるようにしました。その点を意識して、実行できたことが良かったです。
- ログ解析システムの課題に取り組んだ様子について、ブログ記事としてアウトプット予定です。
2. PHPとオブジェクト指向の習得
具体的な行動計画は以下の通りです。
- 独学エンジニアの動画講義、課題
- ポートフォリオの振り返り
2-1. 独学エンジニアの動画講義、課題
最新更新分について動画試聴と課題を進める。
実行 Do
Web開発についての動画学習教材 独学エンジニア の「PART8 フルスクラッチでWebアプリケーション」の下記の講座(動画視聴、課題)を受講しました。
- レッスン44: PHPでシャッフルランチサービスを作ろう(最新講義)
検証 Check
改善 Act
- ルーティングは、これまで言語フレームワーク(Laravelなど)でやってくれている機能を使用するのみだったので、作ることで理解が深まるのを感じました。ただ、結構難しかったので、要復習です。
2-2. ポートフォリオの振り返り
一つの機能の解説をブログ記事化するための振り返りをする。
実行 Do
- Notion には、設計や手順をまとめていたので、そのページを整理していき、オリジナルの機能として作成した「家族ユーザー招待」機能を選択しました。
「家族ユーザー招待」機能は、自身が招待した他のユーザー(夫婦や祖父母などの家族を想定)と、絵本の本棚の共有を開始する機能です。
検証 Check
- Webアプリ開発に関する Notion のページを整理することには結構な時間を使いましたが、忘れていたことの復習に役立ったと思います。振り返ることで、当時はわかっていなかった部分の理解が進んだ感覚もあります。
改善 Act
- 「家族ユーザー招待」機能を振り返っていて、直した方がいい点なども発見したので、記事にするまでにバグを修正したいと思います。バグ修正も学ぶ材料と考えて取り組みます。
- 振り返りを通して Laravel の復習をしていますが、下半期(2022/11〜2023/04)で作成しようとしている Laravel のWebアプリ開発で活かしていこうと思っています。
2-3. その他
- 9月まで取り組んでいた「PHPで作ったコンソール画面で操作するブラックジャックゲーム」について、社内の教育担当の方にレビューをしていただき、改善すべき点がいくつかありましたので、折を見て修正しておきたいと考えています。
3. Webアプリケーションのセキュリティの習得
具体的な行動計画は以下の通りです。
- 徳丸本の通読
3-1. 徳丸本の通読
下記、残りの章を必ず10月末までに読了する。
4.Webアプリケーションの機能別に見るセキュリティバグ
5.代表的なセキュリティ機能
6.文字コードとセキュリティ
7.脆弱性診断入門
8.Webサイトの安全性を高めるために
9.安全なWebアプリケーションのための開発マネジメント
実行 Do
5月に読み始めた『体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践(徳丸 浩 (著))』(通称「徳丸本」)を読み進めました。
検証 Check
- p450〜688を読んで、ようやく読了しました!
改善 Act
- 読書というインプットだけでは身についている感覚がない、というのが正直なところです。記事としてアウトプットに結びつけるか、個人開発でWebアプリを作る時に、今回学んだチェック方法などを実践するか、セキュリティのことは引き続き習得するための課題を用意していきます。
- 出社必須の現場なので、電車での通勤時間があるため、読書時間を確保するには最適だと感じています(出社必須はとても残念なことですが)。11月以降は『良いコード/悪いコードで学ぶ設計入門―保守しやすい 成長し続けるコードの書き方』を読んでいきます。
4. 技術系のブログ記事投稿
具体的な行動計画は以下の通りです。
- ブログ記事投稿(週一ペース)
- Qiita記事投稿(月 1 記事)
4-1. ブログ記事投稿(週一ペース)
※ 今後のブログ記事の題材案
ログ解析システムの作成過程- 転職活動時のポートフォリオとして作成したWebアプリの「振り返り」と「これまで学習してきたことを踏まえての深堀り」
徳丸本学習の振り返り
10月の記事の内容はポートフォリオの振り返りにしました。
実行 Do
- 毎週、ブログ記事を投稿しました。記事の内容は下記の通りです。
検証 Check
- 「2-2. ポートフォリオの振り返り」で触れた通り、 Notion に書き溜めていた詳細設計部分を整理して記事としてまとめる、という作業をしました。再現できる(もう一回同じ機能や、似たような機能を、作ろうと思えば作れる)ようになることを意識して取り組みました。(料理で言えば、レシピを作るイメージ)
改善 Act
- ブログ記事はポートフォリオの振り返りの記事を11月以降もしばらく投稿していきます。
4-2. Qiita記事投稿(月 1 記事)
実行 Do
- Qiitaには下記の記事を投稿しました。
検証 Check
- Qiita 記事については、下記のイベントに合わせて記事を投稿しました。
- イベントに合わせた題材選びをしましたが、今自分が復習しておきたい題材でもなく、執筆に時間がかかったので、あんまりコスパのよくない時間だったと感じています。
改善 Act
- Qiitaに投稿する際の反省点として、振り返って知識を強化したい、新しいことをやってみた、というような自分にとって技術力向上というリターンのある題材をなるべく書いていきたいと思います。
その他(習慣化など)
朝活の継続
- 一日1〜3時間程度の朝活を、4月8日に開始して以降毎日継続更新中です(10月31日で、207日継続)。
今日で朝活の毎日継続200日だった。とはいえ、6:30~7:30の1hの日もあるし、5時起きで安定させたい。
— やまて|Webエンジニア2年目 (@r_yamate) 2022年10月23日
学習時間の確保(月120時間)
- 118時間学習しました。10月は実務では残業がほぼなかったので、おおむね120時間学習時間を確保できました。
- これまで5ヶ月は100時間/月だったので、10月は20時間プラスしてみたわけですが、当然やった分だけ多くやりたいことが進む(笑)ので、続けられる限り100〜120時間の学習をめどにします。
実務
- システム改修の設計段階ですが、資料作成(詳細設計書の作成)について、ひたすら作業しています。9月に引き続き、詳細設計、データベースのテーブル設計、排他制御、WebAPI、AWS、Docker といったことについて、実務では当面考えていきます。
昨日はエンジニア仲間と話して、実務で実装経験が積めていない自分の状況の危うさを直視できた。同時期に転職した方々が実装スキルをメキメキ伸ばしているのを目にする度に、自分の焦りも大きくなることになる。なんとかする必要がある。
— やまて|Webエンジニア2年目 (@r_yamate) 2022年10月21日
- 実装できてないことへの焦りが周期的にやってきます。自分が進みたい方向をしっかりと見つめ直して、そこに進んでいく行動をとる、それしかないと考えてはいます。今の案件は実装経験は積めないけど、設計などについては経験を積めているので、案件が終わる来年3月までしっかりと向き合います。
計画 Plan - 11月
11月の計画については、会社の下半期(2022/11/01~2023/04/30)の開始月ということもあるため、来週の投稿で下半期の目標、11月の計画を投稿します。
10月の振り返りは以上です。
ありがとうございました。
45日後『HUNTER×HUNTER』37巻が読める🥹 https://t.co/PpVMdW9qzC
— やまて|Webエンジニア2年目 (@r_yamate) 2022年9月19日
遂に明日!…