1. インフラエンジニアが作った『hawk』- なぜawkを再発明したのか?
AWSインフラエンジニアがJSON/YAMLの構造把握を効率化するために開発したCLIツール「hawk」について。従来のawk/jqの課題を解決し、pandas風の統一クエリ言語でRust製の軽量ツールとして実装。
主なトピック:
- hawk: pandas風の操作感でJSON/YAML/CSVを統一的に処理できるCLIツール
- info機能: データ構造を一発で俯瞰把握できる機能
- 統一クエリ言語: 形式に関係なく同じ書き方でデータにアクセス
- Rust: 高速で軽量なシングルバイナリを実現
- その他: AWS CLI、jq、awk etc...
(コード例あり)
2. 【TypeScript】結局、never型っていつ使うん?を考えてみた。
TypeScriptのnever型の実用的な使い方を詳しく解説。分岐漏れ検出、ユニオン型差分チェック、到達不能処理の明示、再帰型の終了条件など、型安全な開発に欠かせない機能を具体例で紹介。
主なトピック:
- 分岐漏れ検出: switch文での網羅性チェックで型安全性を向上
- ユニオン型差分: Exclude + never型で型の差分を静的に検証
- 到達不能処理: throw errorやassert関数での型絞り込み
- 再帰型終了条件: 型展開の安全な打ち止め処理
- その他: 型アサート、型推論、型安全性 etc...
(コード例あり)