これははてなエンジニア Advent Calendar 2022 - Hatena Developer Blogの47日目の記事です。昨日はGuardDutyの検知結果をslack投稿するアーキテクチャを考えた(あるいはAWSでイベントのフィルタを行うときに考えたこと) - でこてっくろぐ ねおでした。
ポートフォリオ的にまとめておくと便利かなと思ったので、2022年に世に出したものをまとめておきます。
TCX to Elevation
サイクルコンピューターで使われるTCX(Training Center XML)ファイルから標高図を出力できるWebサイト。ブルベの感想を書くのに欲しかったので作った。機能は誰かが書いたこの記事が詳しい。
最初はJSで書いていたが、途中でTSに移行*1した。グラフの表示にはChart.js、CSSフレームワークにはPureを使っていてNetlifyでホストしている。一応Google AnalyticsとGoogle Tag Managerも入れているが入れているだけ。
TSは静的に型がつくのはいいが、その型が読みづらくてパズルをしている気分になる。本職の人々がこういう生活を続けているとは思えないので何かしら対処ができそう。耐えられなくなったら調べる。
Chart.jsとPureはシュッと使えて便利。nitだけど、Chart.jsは軸がstringの配列なのが微妙だと思った。
Netlifyはリポジトリを指定するだけでホストできるのでめちゃくちゃ便利だった。npmみたいなツールは設定しなくても自動で判定して環境をそろえてくれていそう。
List Course Points
list-course-points.netlify.app
同じくTCXファイルからPOI(Point Of Interest)を表示できるWebサイト。ブルベで使うTCXファイルを手で編集しているが、ミスがないか確認したかったので作った。
技術的にはほとんどTCX to Elevationと同じだが、こちらはJSのまま。
Precise Distance on Ride with GPS
コースの作成、共有に使うRide with GPSの拡張機能。TCXファイルを手で編集するときに地図上の点からファイル内の要素を特定する必要があって、データを丸めずそのままを表示してほしかったので作った。
技術的に面白いことはないが、個人的には拡張機能のお作法とブラウザを使ったJSの解析の経験を積めてよかった。
通常の関数とアロー関数でthis
が指すものが違っていて詰まった記憶がある。
Display Tab Index
タブのインデックスを表示する拡張。cmd+1-8*2で移動しやすくするために作った。
拡張用のAPIを使った。
ブログ
348記事
GitHub
471 contributions
まとめ
本職はスマホアプリエンジニアだけどプライベートではWebアプリを作りがち。公開しやすいのもあるが、雑なアプリをスマホに入れたくないので他の人もそうだろうと思っているというのが大きい。
技術的には洗練されていないし、趣味のブルベ用に作られたものがほとんど。技術よりはできること、やりたいことがモチベーションになりがちだと思った。
今年も色々作れるといいですね。
*1:https://github.com/Gurrium/tcx-to-altitude-image/pull/3
*2:ショートカットといえばこっちも読んでくれ〜 日常的に使っているキーボードショートカット100+連発 - ぜのぜ