JavaでLLMを呼び出す際のトークンカウント・費用推定
JTokkit でローカルトークンをカウント、BigDecimal で費用を計算し、予算超過のリクエストをブロック、Spring AI から実際の使用状況と照合する
1記事1テーマ、動くコードで一歩ずつ解説 — Java・Spring Boot から AI、システム設計、DevOps まで。
JTokkit でローカルトークンをカウント、BigDecimal で費用を計算し、予算超過のリクエストをブロック、Spring AI から実際の使用状況と照合する
KotlinのObject Declaration、Object Expression、Companion Objectの違い、シングルトンの作成方法、Javaからの呼び出し、よくあるエラーについて説明します。
thiserrorでライブラリ用のエラー型を定義し、anyhowでアプリケーション層のエラーを集約してコンテキストを追加します。二つの組み合わせ方を紹介します。
Template Literal Typesでキー名を生成し、ルートパラメータをパースして型安全なイベントエミッターを書く。Viestでの型テスト、落とし穴も含めて解説します。
Maven で Kotlin と Java が相互に呼び出すための設定、nullability の処理、@JvmStatic、@JvmOverloads、Spring Boot での一般的なエラーの解決方法
HttpClientとWebClientを使ってLLM APIからServer-Sent Events経由でトークンを受け取り、ブラウザに転送する方法。エラーハンドリング、タイムアウト、テストも含む。
Arc<Mutex<T>>でスレッド間でデータを共有し、mpscチャネルでメッセージを送受信し、デッドロック、ポイズニング、その他の一般的なエラーを回避する方法。
tsconfigのstrictフラグが何をチェックするか、各チェックが何の型エラーを検出するか、strictの外に有効にすべきフラグ、そして既存プロジェクトをstrictに移行する方法。
keyof、typeof、indexed access types を使用して既存データから型を推論し、コードの重複を削減し、コンパイラーに代わりに間違ったキーを検出させます。
by lazyでスレッドセーフな遅延初期化を実現し、Delegates.observableとvetoableでプロパティ値の変更を監視または制限します。
Axum 0.8でCRUD REST APIを構築します。routing、extractor、shared state、IntoResponseを使ったエラーハンドリング、ネットワークポートを開かないhandlerのテストを扱います。
LLMがアプリケーションの関数を呼び出す仕組みを、JSONレベルから@Toolまで学びます。注文照会、キャンセル、実際のモデル呼び出しなしのテストの例を含みます。
Function typeの宣言、lambdaの受け渡しと戻り値、function reference、closure、lambda with receiver、inlineの使い方を解説します。
Rust での Box、Rc、Arc の使い分け: ヒープ割り当て、単一スレッド内での所有権共有と複数スレッド間での共有、Weak、RefCell、Mutex の組み合わせ
Spring BootでLLMから正しいJSONスキーマを返させる方法:Spring AIでRecordにマップする、OpenAIのネイティブJSON Schema機能を有効にする、バリデーション、リトライとテストを書く
TypeScriptライブラリが.d.tsファイルを正規に生成し、ユーザーに完全な型を提供し、Vitestでテストできるようにtsconfigとpackage.jsonを設定する方法
Kotlinを使ったSpring Boot 3プロジェクトのセットアップ、REST API、JPAエンティティ、設定とテスト、JavaからKotlinへの移行時よくあるエラーを含みます。
TokioによるRustの非同期プログラミング解説。async/await、spawn task、join!、select!、timeout、channel、spawn_blocking、非同期コードのテストまでを網羅。
async関数、Promise<T>、Awaited、Promise.all、型安全なエラーハンドリング、async/callbackでの落とし穴の回避方法を解説します。
System prompt、delimiter、few-shot、structured output、temperatureなどの実用的なプロンプトエンジニアリング技法をSpring AIで解説します。