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

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

今日の巡回

1. @motemen/ai-streamerでAIずんだもんに実況してもらう

ゲーム実況をAIで自動化するツールキット。OBSBrowser Source機能を活用し、AIでコメント生成、VOICEVOXで音声化、ずんだもんの立ち絵と字幕で再生。ストリーミング処理や雑談機能、MCP対応など実況らしさを実現する工夫が満載。

主なトピック:

  • OBS Browser Source: Chrome Embedded Frameworkでウェブページを動画にオーバーレイ
  • AI SDK: Vercelのライブラリで複数AIプロバイダを統一的に扱える
  • VOICEVOX: 音声合成エンジンでずんだもんの声を生成
  • ストリーミング処理: 句読点で区切りながら逐次音声化してレイテンシを削減
  • MCP対応: MCPエンドポイントでAIから直接ずんだもんを喋らせられる
  • その他: hono, Tool calling, c12 etc...
  • (コード例あり)

2. 【C#】Nullチェック後にNull参照が発生する

MVVM パターンでNullチェック後にNull参照例外が発生する問題を解説。原因はデータバインディングによる別スレッドでのプロパティ更新。ローカル変数に退避することで処理中の値変更を防ぐ解決策を提示。

主なトピック:

  • MVVM パターン: データバインディングで自動的にプロパティが更新される
  • データバインディング: ユーザー操作による予期しないタイミングでの値変更が原因
  • ローカル変数への退避: プロパティをローカル変数に保存して一貫性を確保
  • Null参照例外: チェック後でも別スレッドで値が変更される可能性
  • WPF: Windows Presentation Foundationでのアプリケーション開発
  • その他: ViewModel, 一貫性の確保, 可読性 etc...
  • (コード例あり)

3. 【エンジニアの日常】これが私の推しツール! 〜日々の開発を豊かにするおすすめツール〜 Part4

エンジニアが愛用するターミナルツールを紹介するシリーズ第4弾。WezTermZellijの階層的なTab/Pane管理、iTerm2の透過機能とHotkeyによる即座の切り替えなど、各エンジニアの開発スタイルに合わせたツール選定とカスタマイズを紹介。

主なトピック:

  • WezTerm: Luaで設定可能なターミナルエミュレータ、Tabで大きな作業領域を管理
  • Zellij: ターミナルマルチプレクサ、細かいTab/Pane分割が可能
  • iTerm2: macOS用ターミナル、透過機能とHotkeyで快適な作業環境
  • 階層的運用: WezTermのTabとZellijのTab/Paneを組み合わせた管理手法
  • AI駆動開発: ドキュメントを見ながらターミナル作業ができる透過機能が有効
  • その他: Workspace, Profile, ショートカット etc...