2022 年を振り返る
以前、はじめて転職活動をした際に「過去をしっかり振り返っておくことが大事」と言われたことがある。これに従って、 2020 年、 2021 年と振り返っていたので、 2022 年も振り返る。
技術的なもの
新しいことにも手を出しつつ、 15 年以上続く P2P 地震情報の改善も継続して行った。
ISUCON 初参加(予選敗退)
ISUCON 初参加して 318 位と惨敗(ぎょうざとおこのみやき)。全然だったけど、スコアをちょっとでも上げることができて良かった(はず)
— たいぷらいた〜 (@no_clock) 2022年7月24日
ISUCON12 オンライン予選 全てのチームのスコア(参考値) : ISUCON公式Bloghttps://t.co/tIKBgZf1sv pic.twitter.com/lLy1hD1Y48
Rust で DNS フルリゾルバ実装
RFC 1035 を読みつつ Rust で DNS フルサービスリゾルバ実装。雑に動く感じにはなった pic.twitter.com/w2ZLrqH886
— たいぷらいた〜 (@no_clock) 2022年6月30日
P2P 地震情報
運用負荷軽減とパフォーマンス改善が中心。機能的には、緊急地震速報(警報)への対応が最も大きかった。
- www.p2pquake.net のサービスをぜんぶ Docker でコンテナ化した(計 35 コンテナ)
- パフォーマンス改善(配信遅延の短縮): 無事に 100 ms 以下になりました。やったぜ
- モバイル(iOS/Android) 0.9.4 リリース: 緊急地震速報(警報)に対応
- Windows 版: Beta3.5(Rev05) を公開しました
技術的でないもの
紅葉、雪見旅
東北~近畿地方を巡った。川瀬巴水「平泉金色堂」(絶筆)と同じ、雪がしんしんと降る中尊寺 金色堂は本当に良かった。
アプリの MAU を増やす
あるきっかけで、 P2P 地震情報の MAU を増やす工夫をいくつかやった。因果関係があるか分からないが、微増はしている。
技術的だがお気持ちが強いもの
より適したソフトウェアアーキテクチャを探る
ずっと KKD (勘と経験と度胸)に頼っていたが、仕事ではもうちょっと真面目にやりたくて試行錯誤した。効果があったなと感じているのは 2 つ。
1 つは、 Design It! の第 II 部 5 章「アーキテクチャ上重要な要求を掘り下げる」にある「アーキテクチャ上重要な要求 (Architecturally Significant Requirement: ASR)」の 4 分類。
- 制約
- 品質特性
- 影響を与える機能要求
- その他の影響を及ぼすもの
Michael Keeling; 島田 浩二. Design It! プログラマーのためのアーキテクティング入門 (Kindle の位置 No.1524-1526). 株式会社オライリー・ジャパン.
もう 1 つは、 Clean Architecture 第 15 章「アーキテクチャとは?」にあるこの一文。
ソフトウェアをソフトに保つには、できるだけ長い期間、できるだけ多く選択肢を残すことである。では、「残すべき選択肢」とは何だろうか? それは、重要ではない詳細である。
(略)
また、決定を遅延できれば、その分だけ適切に作るための情報が数多く手に入る。Robert C. Martin; 角 征典; 高木 正弘. Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ) (Kindle の位置 No.2263-2265, No.2285-2286). 株式会社ドワンゴ. Kindle 版.
詳細はそれぞれ書籍を参照されたい。
この実践は、他人に説明しやすいというメリットもあった。一方、選択肢をどれだけ出せるかについては KKD (勘と経験と度胸)でやってしまっている。 2023 年の課題になるだろうか。
技術へのリスペクト
技術へのリスペクトがなくてもプロダクトやビジネスは成功するかもしれない。ただ、選択肢があるなら、技術へのリスペクトがある組織にいたい。ここ 1 年というより 2 年くらい感じていたことだった。
「 OOP の一番大事な要素ってなんだと思います?」とか「このサービス今作るとしたらどういう技術スタックにします?」とか、そういうお題で無限に雑談したいですね
— たいぷらいた〜 (@no_clock) 2021年5月24日
おわり。