'22 to '23 のお正月休み振り返り

今回のお正月は、いい感じに有給を取得して 11 日もお休みできました。どこかに出かけることもなく引きこもっていたのですが、沢山学ぶことができて充実した連休でした。

読書

計 5 冊読みました。

テスト駆動開発

2 部は使わないフレームワークの話だったので飛ばして、1 部と 3 部のみ読みました。読むのは 2 回目だったのですが、1 部は Java のコードを TypeScript(Deno) で写経したので前回よりも理解が深まりました。あと vscode + deno の開発体験が結構良かったです。

実践テスト駆動開発

テスト駆動開発も割とそうだったんですが、結構オブジェクト指向に寄った話が多かった印象です。原題は「Growing Object-Oriented Software, Guided By Test」なので、そりゃそうだろと言われればそうなんですが 汗  最後の方は早く読み終わりた過ぎて流し読みしてしまったので反省しています。もってテストと向き合って、テスト駆動開発が身についたら読み返したいです。

Game Programming Patterns

めちゃくちゃ良かったです。 以前 mizchi さんが紹介されていたので買って積んでたのですが、もっと早く読めば良かったと思いました。この本を読むために C++ を少し勉強したのですが、それも楽しかったです。特に 7 章の「ステート」が勉強になりました。

HTML 解体新書

こちらも積んであったので読みました。HTML の正しいタグの使い方だけではなく、アクセシビリティに関する記述が多くてとても勉強になりました。普段なかなかアクセシビリティのことまで考えてコードを書くことやレビューでの指摘ができていないので、これを機にもっと意識したいと感じました。

プロが教えるいちばん詳しい Google アナリティクス 4

自分と関係ありそうな部分だけ抜粋して読みました。現在アナリティクスを見るようなサービスを運営している訳ではないので、こんなのあるんだ〜くらいで流し読みしてしまった感があるので、必要になったらまた読み返したいです。

記事

figma 公式の lesson

https://www.figma.com/ja/resources/learn-design/lessons/

figma の操作の tutorial みたいなものかと思ってたら全然違いました。「デザインとは何か」といった感じのレッスンで、非デザイナーの方でも読みやすく、勉強になる内容でした。


TypeScript 一人 Advent Calendar 2022

https://qiita.com/advent-calendar/2022/okunokentaro-ts

主に TypeScript の型について、大変勉強になりました。今まで TypeScript のリリースノートや、ライブラリのソースを読んでいて、見たことはあるけど意味が分からなかった型の内容が分かるようになりました。


Angular Advent Calendar 2022

https://qiita.com/advent-calendar/2022/angular

今年も良かったですね〜。特に Analog と Astro は気になっていたので記事を読んで更に試してみたくなりました。Directive composition API も存在しか知らなくてちょうどキャッチアップしなきゃ〜と思っていたので実例を見ることができてスムーズに理解できました。

Angular のメタフレームワーク Analog を試す
Astro で Angular を使う
Directive composition API + Angular CDK でお手軽自作 Menu の実装


手を動かしたこと・技術検証

@angular/material-experimental -> @angular/material 化

もともとあった Angular Project を v15 へ上げたときにやりました。v15 で material-experimental の中身が material に移されています。なので material-experimental を使っている Project も全て material に移行しなければならなくなりました。(良い子は experimental って書いてあるライブラリを本番で使っちゃダメだぞ★
使ってる場所がそこまで多くなかったので移行自体はそこまで大変ではなかったのですが、mat-typography の style が適用されないバグ? にエンカウントしてしまいました。 一応解決したので、今度記事を書こうと思っています。

Angular の SPA を Google Cloud で hosting する検証

結局失敗でした。
firebase 使ってたんですけど、firebase 使わずに Cloud Storage とか Cloud CDN とか使って hosting したい〜と思ってたんですよね。しかし、firebase だとほぼ無料なのに、Cloud Storage + Cloud Load Balancing だと月 3,000 円くらいかかることが分かって断念。でもいざ firebase ちゃんと調べて使ってみたらめちゃくちゃ便利で、このままでいいじゃん!てなりました。

ただねー、Cloud Storage + Cloud Load Balancing + Cloud CDN めちゃくちゃ早いです。ちゃんと計測してないですけど、画像が 10 枚ちょっと使われてるペライチのページで firebase hosting と比べて 500ms くらい違いました。

Github Actions で firebase hosting にデプロイする

めちゃくちゃ便利です。PR 出したら検証環境作ってアップしてくれて確認できて、main にマージしたら本番へ反映してくれる。そんな Github Actions の workflow を生成してくれます。あと firebase と Github の連携もやってくれる。簡単すぎて拍子抜けした。

Angular + markuplint

残念ながら公式では Angular 非対応だったのですが、Angular 用の parser を作ってくださってる方がいらしたので試すことができました。ただその parser も上手く動いていないようで parse error が多発したので断念。markuplint のソース読んで出直します。

textlint を使って記事を書く環境を整える

textlint 使ってみたくて、textlint でチェックしながら記事を書く用の repository を作りました。今後書きながらルールの有効・無効や表記ゆれの設定をしていきたいです。

やり残したこと

やりたいけどできなかったことも沢山あります。

Angular の Standalone Component 等新機能のキャッチアップ

まだ使うことはないだろうと思っていたら Standalone Component ももう developer preview じゃなくなってますよ、奥さん。Angular のキャッチアップが納得いくところまでできてないので、これは早いうちにやっておきたいですね。

使ったことないフロントエンドのフレームワーク色々試す

Astro・Analog もそうなんですが、Qwik・SolidJS・marko など。最近は書き味よりも、どういった思想で作られたかとか、制約の多い Web でどういう方法で速さを実現してるかとかそういった部分を見るようになりました。Angular のキャッチアップもしつつ他のフレームワーク・ライブラリもチュートリアルくらいはやって、軽く説明できる程度にはなっておきたいですね。

Cloud Run 使ってみる

昨年末勉強したので実際に使ってみたいと思ったのですが、特に用途もなく優先順位が下がりました。冬休み明けたら会社に詳しい人が沢山いるので、アドバイスもらいながら何かしら作りたいです。

まとめ

やり残したことはありつつも、連休前に絶対やると決めていたものはできたので良かったです。これだけできたのは断酒の影響もかなり強いと感じているので、引き続きお酒を断っていきたいと思える連休でもありました。
あと学び全然関係ないですが、人生で初めて寿司を握りました! 楽しかったし美味しかったので新たな趣味として今後も握っていきたいです!

おわり


いいなと思ったら応援しよう!