はじめに
こんにちは。
先日の1月の学習の振り返りに続き、2月の学習振り返りもしていこうと思います。
1月の学習はこちら:https://qiita.com/11eleven/items/be7adbd4b5dde77a1419
2月はスギ花粉がひどい中、ひたすらコード書いてた月でした。
ご存じかもしれないですが、花粉症のアレルギー反応を抑える食べ物としてブロッコリースプラウトが有効らしいです。
ブロッコリースプラウトに含まれるスルフォラファン(植物由来の化学成分)が体内に花粉を取り入れた時に出来るIgEという抗体の生成を抑制する作用があるとのこと。(2021年記事参照)
参考:https://www.magojibi.jp/nutritionist_blog/2378/
2月上旬、スーパーへ買いに行ってみたら明らかに店内のブロッコリースプラウトの在庫が減ってる様子でした。
「周囲の方も日々の生活や、症状に合わせて食べ物を意識されてるのかな」
と少し印象的でした。
俺も見習いエンジニアとして学習に支障が出ないよう、そして脳のパフォーマンスを上げるよう、食事や食べるものへの配慮もしていこうと思います!
...話は逸れましたが、私の2月に行った学習は以下の通りです。
2月にやったこと
HTML / CSS / JS の復習
1月の振り返りも兼ねて、まだ不慣れだった HTML特殊文字 と CSSセレクタ を中心に改めて整理しました。整理した内容は実際に学習ファイルとして作成し、ブラウザ上で表示確認まで行いました。
使用したHTML特殊文字
< > & " '
使用したCSSセレクタ
・疑似要素セレクタ(::) → 要素をつくらず状態(一番最初の文や、要素の手前という状態)を指定する
・疑似クラスセレクタ(:) → 特定の状態や条件(ホバー時や訪問済みリンク)の要素を指定する
・隣接兄弟結合子(+) → 同じ親もつ要素を操作/子結合子(>) → 自身の子要素を操作
Laravel の学習(学習サイトCBCより)
先月に続き、学習サイト(CBC)を使いPHPフレームワークのLaravelを学習しました。
サイトの手順にそって、簡易的な タスク管理アプリ と 名前帳簿アプリ を実際に作成しました。
参照:https://cbc-study.com/training/backend/laravel2
先輩エンジニアとの1on1に向けた準備
3月に行われる先輩エンジニアとのコーディング能力確認1on1(PHP)に備え、
1月で学んだPHPの基本操作や概念を改めて整理しました。
具体的には以下のトピックを確認しました:
- PSR(コーディング規約)
- 改行コード/エスケープシーケンス
- クラス化(インスタンス化・プロパティ・メソッド呼び出しの流れを再確認)
GitHub・サクラエディタの基本操作
実務で頻出するツールということで、両方の基本操作を把握しました。
GitHubについては、コーディングの学習ファイルを自身のリポジトリに置くことで操作に慣れることを意識しました。
※途中段階の保存はせず、最終的な成果物のみをコミットしていました。(この辺りの運用は今後改善したいです)
加えて、GitHubには Achievements(バッジ) 機能があるようで、それを目安の目標にしながらGitHubを使っていこうかなと思っています。
Slack DMリマインダーの作成(シェルスクリプト × Cron)
API連携の経験を積むため、シェルスクリプトとCronを使って Slack内のDMリマインダー を作成しました。思ったより短時間で出来ました(恐らく1時間以下)。ただ実際にファイル内に書いたコードはAI出力をそのままコピペしたものなので余裕あればそれらの整理もしようと思います。
2月はPHP基礎・Laravel・GitHub・HTML/CSS/JS・Docker・シェルスクリプトまで、広い範囲を浅く1周した月でした。
2月に学んだこと
コーディングについて
デバッグ作業にまだ慣れていない
コーディング全体を通じて、エラーが出た時のデバッグの進め方がまだ体に染みついていない印象でした。これからはAI頼りからDivtoolsやLaravelデバッカー というツールなどの操作慣れが課題だと感じました。
「書かないと身につかない」を実感
概要を把握するだけでは定着しないと感じました。
個人的な感覚では 概要把握4割・実際に書く6割 くらいの比率が一番身につく気がします。
Laravelはバージョンによって書き方が変わる
インストールするバージョンによってコーディングの書き方が異なり、それが原因でエラーになることがありました。バージョン管理の重要性を改めて実感しました。
※確かCBCサイトに記載のLaravelのバージョンは少し古めでした。
MVCモデルの流れは掴めた
ほぼ、コーディングに関しては模写でしたが、それでもMVCモデルの流れを意識しながらコーディングできたと思います。一方で、プロジェクト内で使用したJSの動きや、無名関数の use など細かいルールの把握・整理が少し追い付いていない印象です。
クラスの一連操作がまだ曖昧
PHPの「クラスのインスタンス化・プロパティ・メソッド呼び出し」の一連の流れが、何も見ずにスラスラ書けない状態で2月が終わってしまいました。かなり基本操作なのでここは優先度高めに学習が必要です...
ツールについて
GitHubの管理が少し面倒
基本操作や便利機能は一通り把握できました。ただ、まだ「管理が面倒」と感じる場面も正直あります。操作に慣れてきたらこだわりたくなると思うので、しばらくはバッジ収集を小さな目標にしながら継続していきます。
全体的にまだ輪郭が曖昧で、億劫になっている部分が多い印象の月でした。
ただ、このブログを書くときには億劫さはないので、PHPもGitHubも操作に慣れてくれば自然とこだわりが出てくると思っています!
2月を踏まえて、次の課題は以下だと整理しました。
- 最低限エラーや不具合が発生時にAI使わず、原因を仮説できるレベルまでコーディングの全体像の輪郭やよくある構文ミスをハッキリさせること
- 原因の特定をスムーズに行うためデバックツール(DivTools/Laravelデバッカーなど)の操作慣れをすること
- 拘ることが出来るレベルまでGitHub操作に慣れる
さいごに
冒頭に少し触れましたが、学習と並行して自身の体調管理もしっかりしていこうと思います。
2月を振り返ると、概要把握だけでなく 実際にコードを書くことへのシフト を意識する必要があると感じました。
正直、新規プロジェクトの作成やコーディングに対してまだ少し億劫さ・抵抗感があります。
その抵抗を減らすためにも、慣れない操作やコードの反復練習を積極的に取り組んでいきたいです。
慣れない操作はストレスがたまりやすいので、ストレス管理のためにも意識的に今の自分に必要な栄養素や食材を取り入れていきたいと思います🍚
(…いつか『エンジニアご飯』をテーマにブログを書いてみたいです〜)
私の2月の学びはそんな様子でした。最後までご覧いただきありがとうございました。ではまた!