#
381
2025/6/2
今日のトレンド

.d.tsファイルとAIエージェント

皆さん、おはようございます!マイクです。今日は2025年6月3日、火曜日です!今日も元気に、Zennで今日トレンドの記事を紹介していきますよ。

それでは、早速今日の内容に入っていきましょう!まずは、前回紹介した記事を振り返りますね。「TSでEffect Systemを作ってみた」や「ECMAScript source phase importsがはやく動くようになってほしい」など、すごく興味深い内容でしたね。

さて、今日紹介する記事は全部で5本です!それでは、最初の記事から行ってみましょう!

1つ目の記事は「.d.tsファイルをちゃんと使うために必要な知識」です。このダイナミックでワクワクする内容についてお話ししますね。.d.tsファイルは、TypeScriptの型定義ファイルで、既存のライブラリやモジュールの形を説明する重要な役割を持っています。これにより、TypeScriptはライブラリの使用を効率的にチェックできるんですよ。手動で書く必要がなく、`--declaration`オプションを使って自動生成できるのが推奨されています。特に、TypeScriptからJavaScriptにコンパイルする時に利用されます。

よくある誤解として、ユーザー定義の型も.d.tsファイルに書くべきだと思われがちですが、実はTypeScriptプロジェクト内の.tsファイルに型定義を書くことで十分なんです!また、Node.jsのESM環境下では、`declare global`を使って型を定義することもできるんですよ。さらに、特定の拡張子を持つ.d.ext.tsというファイルも存在します。この記事では、.d.tsファイルの正しい使い方や誤解を解消し、特にNode.js環境での利用法や利点を詳しく解説しています。

。.
。.
2つ目の記事は「Claude Code Actionで5000円溶かして学んだ、AIエージェント並列開発」です。最近、AI開発界隈で注目を集めているClaude CodeとClaude Code Actionについてお話ししますね。Claude Codeはローカルで動作し、ターミナルを通じて依頼を受け、タスクを自動化します。月額プランで高コストパフォーマンスで利用できるのが魅力です。

一方、Claude Code ActionはGitHub Actionsを基にしたクラウド実行ツールで、CI/CDの自動化やチーム開発に役立っています。個人プロジェクトにはClaude Codeが適していて、視覚的なコード確認も簡単です。Claude Code Actionでは、複数のAIエージェントが同時に開発を進められるので、効率的なワークフローを実現します。

実際に5000円を使ってClaude Code Actionを試した結果、TDD学習サイトを構築しました。このプロセスでは、複数のデザイン案を並行して作成する楽しさや、AI間のコンペティションによる最適解の選択ができることを体験しました。今後の開発環境では、AIエージェントの並列開発が重要な役割を果たすと予想されていますが、コスト管理には注意が必要です。

。.
。.
3つ目の記事は「Unity製アプリを作る時のアーキテクチャをどこまで区切るか、あるいはレイヤードアーキテクチャの一指針」です。Unityでのアプリ開発において、アーキテクチャ設計がいかに重要かお話しします。インゲームとアウトゲームを分け、イベント駆動型のUI設計を採用することで保守性が向上します。Viewとロジックを分離することが推奨されており、MVP(Model-View-Presenter)パターンが一般的です。

具体的な設計アプローチとしては、UnityScreenNavigatorサンプルプロジェクトの多層設計によるMVPパターンとService+DIパターンが紹介されています。特に、チームが5人以上、開発期間が1年以上、複雑なビジネスロジックが必要な場合には多層設計が選ばれるべきです。逆に、小規模チームやプロトタイプ開発ではService+DIパターンが適しています。

移行戦略としては、初期段階で静的なManagerを使用し、徐々にDI化、Presenter層の導入、UseCase層の分離を進めることが提案されています。最終的にはRepository層の抽象化を目指すと良いでしょう。

。.
。.
4つ目の記事は「minifyの効果を最大限に引き出すTypeScriptコードを書く」です。この記事では、TypeScriptを使ったコードのminify効果を最大限に引き出すためのテクニックについてお話しします。著者は「Toolbelt.Blazor.SplitContainer」というコンポーネントライブラリのTypeScriptコードを使って、ファイルサイズ削減に挑戦しました。

リファクタリングの第一歩として、クラスからクロージャーへの移行が行われ、約34%のサイズ削減が実現しました。さらに、繰り返し出現する文字列定数やnullをconst変数に格納することで重複を排除し、最終的なファイルサイズは1,212バイトにまで達しました。著者は、これらの手法が保守性や型安全性を維持しながらも、minify効果を高めるものであることを強調していますが、実際の業務では可読性を損なう可能性があるため注意が必要だと述べています。

。.
。.
5つ目の記事は「viのようなTUIエディタを作ってみる」です。本記事では、Rust製のTUIエディタ「Edit」に触発されて、Rubyで自作のTUIエディタを実装する過程を解説しています。実装したエディタは行折り返しやファイルの作成・編集、全文検索などの基本機能を備えています。

ファイルを開く際にはRubyの`File.readlines`を使って内容を配列に格納し、ユーザー入力は`io/console`ライブラリを利用しています。カーソル位置管理やテキスト編集機能も実装されており、ノーマルモード、インサートモード、コマンドモードの3つのモード管理が行われています。今回の実装は基本的な機能しか持たず、マルチバイト対応やUndo機能が未実装ですが、基本を理解することで実際の開発に役立つでしょう。

さて、今日の内容を駆け足でおさらいしてみましょう!.d.tsファイルの使い方から、AIエージェントの並列開発、Unityのアーキテクチャ設計、TypeScriptのminifyテクニック、そして自作のTUIエディタの実装まで、幅広い内容をお届けしました。次回もお楽しみにしていてくださいね!詳しい内容はショーノートに書いてありますので、ぜひチェックしてください。

また、皆さんの番組の感想も募集しています!それでは、また次回お会いしましょう!さようなら!

Related episodes

内容の近いエピソードを推薦しています