みんなのちからになりたい

コピペでブログラムつくっていきたい

今日の巡回

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...

(コード例あり)