こんにちは!
スマレジ・テックファームのWebエンジニアやまてと申します。
はじめに
今月から、月に1記事、振り返りのブログ記事を投稿してみます。
ということで、学習効率を高めることを目的として、
Web関連の自習について、2022年5月から振り返っています。
半期目標 Goal
自己成長についての半期(2022/05/01~2022/10/31)の目標ですが、以下の内容にしています。
1.DB設計の習得
3.Webアプリケーションのセキュリティの習得
(ひと月を振り返るための振り返り - 転職したらスマレジだった件)
「習得」のレベル感としては実務で求められる業務に食らいつけるくらいのイメージです。
読んでいただく方にとっては参考になるかはわかりませんが、どんなことを考えながら学習を進めているかを書き出していけたらと思います。
今回は、先月6月を振り返っていきます。
目次
ひと月の振り返り - 2022年6月
計画を立てる → ひとまずPDCAサイクルを回していこう!ということで、記事構成としてもPDCAの順に書き出していきます。
計画 Plan - 6月
以下のとおり、先月(2022年6月)の計画を立てました。
計画 Plan - 6月
1. SQL、データベース
- 独学エンジニアの課題
- 独学エンジニアの課題
- UML
- SOLID原則
3. セキュリティ(徳丸本)
- 2.実習環境のセットアップ
- 3.Webセキュリティの基礎
- 4.Webアプリケーションの機能別に見るセキュリティバグ
4. 技術系のブログ記事投稿(週一ペース)
- (お題を考え中)
1. SQL、データベース
実行 Do
Web開発についての動画学習教材 独学エンジニア の「PART7 」の下記の講座(動画視聴、SQLコーディング課題など)を受講しました。
- レッスン40:データベースを設計しよう
- レッスン41:高速なクエリを書こう
検証 Check
- 実務で、データベース設計やトランザクションなどについて調査する業務をすることになったため、優先順位を上げて取り組んでいます(とはいえ、教材が更新途中なので、最新の講座を都度進めていきます)。
改善 Act
- 7月も最新の講座を都度進めていきます。
2. PHPとオブジェクト指向の習得
実行 Do
Web開発についての動画学習教材 独学エンジニア の「PART3 PHPとオブジェクト指向」の下記の講座(動画視聴、コーディング課題など)を受講しました。
教材の決まりで課題の回答は公開しないことになっているため、 private リポジトリにGitHubで学習記録を管理しています。
検証 Check
UML については、「PlantUML」でのユースケース図、クラス図、シーケンス図を書く目的、方法を学びました。作業はだいぶ慣れてきました。
実務でもシーケンス図を書く業務があって、使用するツールは何でも良いと言っていただいたので「PlantUML」を使用しました。シーケンス図については、「PlantUML」だと修正がかなり楽だと感じ、作業効率が上がったと感じています(自習と実務がリンクすると、学習効率が高まりますね)。
#本日の自習 6/16 4h
— やまて|Webエンジニア2年目 (@r_yamate) 2022年6月16日
☑️#徳丸本 受動的攻撃と同一オリジンポリシー
☑️ブログ記事下書き
☑️#独学エンジニア SOLID原則の自動販売機プログラムの課題
☑️VSCodeの拡張機能のPlantUML導入
PlantUMLで現状のクラス図作成。ブラウザよりVSCodeの拡張機能が断然使いやすかった。 pic.twitter.com/bqPTWuVhBt
VSCodeの拡張機能だと、コードに色がつくし、プレビュー見やすくて使いやすかったです。
SOLID原則 については、プログラムをSOLID原則に則って修正する課題がありました。今後コードを書く時にはSOLID原則に則ってプログラムを考えていくよう習慣づけたいです。
ちなみに SOLID原則 は、以下の五原則です。
- 単一責任の原則
- オープン・クローズドの原則
- リスコフの置換原則
- インターフェース分離の原則
- 依存性逆転の原則
デザインパターン については、初めて学びました。デザインという言葉が入っているのでなんとなく見た目のことかと連想してたんですが、開発する上での設計のデザインパターンということでした。
代表例として3パターン学びました。
- Adapterパターン
- Abstract Factoryパターン
- Compositeパターン
#本日の自習 6/22 5h
— やまて|Webエンジニア2年目 (@r_yamate) 2022年6月22日
✅ブログ記事予約投稿
✅#徳丸本 Webアプリ機能と脆弱性の対応
✅#独学エンジニア デザインパターン 16.7 課題 PHPCSのコードリーディング
レポートはどのように実装されているかをテーマに読み解き中。ライブラリ読むのは強くなるためにめっちゃ役立ちそう。
コードリーディングの課題があって、この学び方は今後も取り入れたいと思いました。
- ブラックジャックゲーム をPHP、オブジェクト指向でプログラムを書く課題に突入しました。これまでPHP、オブジェクト指向などなど学んだことの集大成、ということで、現状の力試しとして本気で取り組みます。
改善 Act
- 独学エンジニアのPHPのパートの課題としては、ブラックジャックゲームが最後なので、概ね2週間を期限と設定してみます。
- 教材の決まりで課題の回答は公開しないことになっていますが、ブラックジャックゲームについては GitHub で Public リポジトリ の設定でもOKということなので、開発の記録を公開して進めていきます。
3. Webアプリケーションのセキュリティの習得
実行 Do
5月に引き続き、『体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践(徳丸 浩 (著))』(通称「徳丸本」)を読みました。
- 2.実習環境のセットアップ
- 3.Webセキュリティの基礎
- 4.Webアプリケーションの機能別に見るセキュリティバグ
検証 Check
- 一日一項目ずつ進めました。
- ハンズオンの箇所は必ず実施しました。
改善 Act
- 688ページ中のまだ100ページ程度ですが、淡々と読み進めます。
- ブログ記事の題材としてアウトプットするのが理想ですが、どのように記事化するのか考え中です。
4. 技術系のブログ記事投稿
実行 Do
- 毎週、ブログ記事を投稿しました。記事の内容は以下のとおりです。
検証 Check
- びっしり毎週、技術系の記事を投稿したいところですが、振り返りも大事にしたいため、「ひと月の振り返り - 2022年●月」の記事は今後も毎月投稿します。
- 投稿の題材については、今回の投稿内容の「プログラミング研修でのフルボッコなコードレビューの記録」は、以下を踏まえて題材にしました。
- 同時期にWebエンジニアになった方々(他社の)が「他の方が初期にどのような注意を受けているか聞いてみたい」と言っていたため
- 研修で学んだことを取りこぼさないために振り返っておきたいと思っていたため
- スマレジ・テックファームの応募者増に貢献する記事を書こうと思っているため
改善 Act
- 執筆時間については、昼休憩を主に利用して書いていまして、昼休憩だけで書き切りたいのですが、間に合っていないので、執筆スピードを上げていきたいです。
- 今後のブログ記事の題材は、以下を考えています。
その他(習慣化など)
朝活の継続
- 一日1〜3時間程度の朝活を、4月8日に開始して以降毎日継続中です(6月30日で、84日継続)。
- 最近は30代から未経験エンジニア転職した方々と朝活していて、習慣化のモチベーションにつながっています。
gather というツールで集まっています。
学習時間の確保(月100時間)
- 96.5時間学習しました。あと3.5時間!…とはいえ、そもそも分単位で数えてるわけでもなく、それほど正確じゃないです。時間はあくまで目安で、消化したタスクがどれだけあるかが重要です。そのことを今後も念頭において、7月も100時間学習を目処に学習します。
計画 Plan - 7月
1. SQL、データベース
- 独学エンジニアの動画講義、課題
3. セキュリティ(徳丸本)
- 4.Webアプリケーションの機能別に見るセキュリティバグ
4. 技術系のブログ記事投稿(週一ペース)
おわりに
振り返りは以上です。来月も振り返っていきます。
ありがとうございました。
本日から36歳です!35歳の一年間と変わらず、家族との時間を大切にしながら毎日を過ごしていけたらと思います。Webエンジニアとしても、人としても、年相応になれるよう、自分自身の成長を楽しみながらやっていきます。ということで、朝活3時間開始します💻 pic.twitter.com/Iigmrposrj
— やまて|Webエンジニア2年目 (@r_yamate) 2022年6月27日
6月に36歳になりました。
優しい方々にいいねやリプいただいて、良い1年を過ごせる気しかしません🙏