たより

Zennの「Rust」のフィード icon

Zennの「Rust」のフィード

Zennのトピック「Rust」のRSSフィードです

「Claude Code に向いているプログラミング言語」記事を見て、LLM が書きやすい言語 Almide を土日で作ってみた

O6lvl4

はじめに 先日、@mametter 氏による「Claude Codeで15言語ベンチマーク」という記事を読んで、思わず二度見してしまいました。 Claude Code に複数のプログラミング言語でコードを書かせ、実行時間とコストを比較した記事です。結果はかなり興味深くて、Ruby が 73.1 秒 / $0.36、Python が 74.6 秒 / $0.38 と上位を占める一方、Rust は 113.7 秒 / $0.54、Haskell は 174 秒という結果になっていました。 ここで比較されているのは、プログラムそのものの実行速度ではありません。LLM がコードを書き、修正し...

ドローン映像のブレをFFTで定量化し、Gyroflowパラメータを自動推定する

yostos

TL;DR DJIドローンの映像ファイルに埋め込まれた機体の動きデータを元に、映像のブレを後処理で除去するGyroflow[1]の調整パラメータ5種を信号処理のみで自動推定するアルゴリズムをRustで作ってみた。手動調整の出発点として使う想定。 https://github.com/yostos/gyrotriage はじめに 私はドローンを2機運用しています。空撮用のDJI Air 3Sは3軸メカニカルジンバル(チルト・ロール・パン)を搭載しており、物理的にカメラを安定させるため映像のブレはほとんど問題になりません。一方、小型のDJI Neoは1軸ジンバル(チルトのみ)しか搭...

AI雑談エージェントを作る

㐂乃

ちまちまと作って自分で使っていたが、なんかAIVTuberも発展しているようだし、『超かぐや姫!』も公開されたし、一旦どういう感じか書いておこうと思う。 https://github.com/kinoh/Tsuki プロンプトとハーネス 「雑談」エージェントでは口調の制御が見かけの人格を大きく左右する。特定のキャラを明示して「〇〇っぽく振る舞う」といった書き方は手軽だが、人格は平坦な記号に束縛され、不変で成長の余地がなくなる。フォースターの言うフラットキャラクターだ。(これはAI的な模倣、つまり確率分布に基づく「推論」だけしていると新奇な表現は生まれなくなるだろうという表現文化全てへ...

crmux + torudo: Claude Codeセッションをタスク管理ツールから操る設計

maedana

! この記事はClaude Codeとの共同執筆です。構成・コード例の整理はAIが担当し、筆者が内容の確認・加筆を行っています。 はじめに Claude Codeを複数セッション並行で使っていると、「このタスクをあのセッションに投げたい」という場面が増えてくる。手動でペインを切り替えてプロンプトを貼り付けるのは面倒だし、ミスも起きる。 この記事では、自作のtmuxセッション管理ツール crmux と、タスク管理TUI torudo を組み合わせて、タスクの選択からClaude Codeへのプロンプト送信までを一気通貫で行う仕組みについて書く。 crmux の紹介記事はこちら。 ht...

Rustで作ったバイナリ静的解析ツール「BinSleuth」の紹介

Long

! この記事は Claude Code(claude.ai/code)を使用して作成しました。 はじめに セキュリティエンジニアや開発者として、こんな場面に遭遇したことはありませんか? ビルドした実行ファイルにセキュリティ強化オプションが有効になっているか確認したい 手に入れたバイナリが本当に安全かどうか、パッキングや暗号化の痕跡がないか調べたい CI/CDパイプラインに「ハードニングチェック」を組み込みたいが、重いツールは入れたくない そんな課題を解決するために、Rustで BinSleuth を作りました。 https://github.com/long-910/BinSl...

Solana開発学習4日目 : クラウドファンディングプログラム1

DeIn

Anchorで学ぶクラウドファンディングプログラム開発 日付: 2026年3月8日 学習内容: Anchorによるクラウドファンディングプログラムの実装、PDA(Program Derived Address)によるアカウント生成、SOLの送金(CPI)と直接lamports操作の違い、system_programの要否の理解 1. 学習の全体像 本日の学習では、前回の電卓プログラムから一歩進み、実用的なクラウドファンディングプログラムをAnchorで実装した。 特に、次の3点を重点的に理解した。 キャンペーン(Campaign)の作成・寄付・引き出しという3つの命令の実装 P...

RustでFirestoreサブコレクション操作時にハマった3つの罠【パス構築・WebSocket認証・部分更新】

宇川 雄大

はじめに Rust(axum)で構築したリアルタイム音声対話バックエンドで、Firestore のサブコレクション操作と WebSocket 認証に関する3つのバグに連続して遭遇しました。いずれもコンパイルは通るがランタイムで失敗するタイプで、原因特定に時間がかかったものです。 ! 対象読者 Rust で Firestore(firestore-rs crate)を使っている方 axum で WebSocket エンドポイントを実装している方 サブコレクション(users/{uid}/notes 等)を操作するバックエンドを書いている方 システム構成 ┌──────────...

なぜ、「2020年代はオブジェクト指向が衰退した」という嘘の印象を持つエンジニアが多いのか?

pdfractal

はじめに 「2020年代はオブジェクト指向が衰退した」という言い方は、事実の一部だけを見て全体に拡張した見方です。実際に弱くなったのは、深い継承ツリーやUMLの完全記述、XMLやSOAPと結びついた重い企業開発の作法であって、オブジェクト指向の中核そのものではありません。 むしろ2020年代の主流言語や設計実践は、オブジェクト指向を否定する方向ではなく蒸留する方向に進みました。Goはinterfaceを暗黙実装にし、TypeScriptは構造的部分型を採用し、Swiftはプロトコル合成を前面に出し、Rustはtraitとトレイトオブジェクトで共有振る舞いと多相性を扱います。共通してい...

Tauri v2 + React で作った自作ノートアプリに MCP サーバーを組み込んでみた

Shu Hirouchi

はじめに — AI にノートを触らせたい 前回の記事で、Tauri + React でローカルファーストなノートアプリ「Graphite」を作った話を書いた。 記事を公開した直後から、ひとつの願望が消えなくなった。 「Claude にノートの整理を頼めたら最高なのに」 Graphite のノートはただの Markdown ファイルだ。YAML Frontmatter にメタデータを持たせて、フォルダとタグで整理している。構造はシンプル。であれば、AI がこのファイル群を直接読み書きできるインターフェースを作れば、「昨日の会議メモをまとめて」とか「未整理のノートにタグをつけて」が自然言...

Rustの外部実装を禁止するsealedトレイトパターン

ultimatile

はじめに Rustで公開ライブラリを書く際、定義したトレイトを外部クレートが自由に実装できてしまうと、将来の変更が難しくなります。 sealedトレイトパターンは、トレイトの実装を自クレート内に限定するための手法です。 問題: 外部クレートによるトレイト実装 以下のように公開トレイトを定義すると、外部クレートが自由に実装を追加できます。 pub trait Scalar { type Real; fn abs_sq(self) -> Self::Real; } ライブラリ側が想定しない型にScalarが実装されると、将来メソッドを追加した際に下流クレートが壊...

Rustのinherent impl衝突(E0592)の原因と回避法

ultimatile

はじめに Rustでジェネリクスを使ったライブラリを書いていると、「同じ型に対して複数のimplが衝突する」というコンパイルエラー(E0592)に遭遇することがあります。 これはinherent impl(型に直接定義するメソッド)の重複チェックによるものです。 実際に遭遇した問題 背景 テンソル計算ライブラリを開発中、多次元配列を表現するTensor<T>に対して浮動小数点数型(f32、f64)とそれらの複素数型の両方をサポートしようとしました。 Rustの標準ライブラリには複素数型がないため、num_complexクレートのComplex<T>を使...

Rust音声AIサーバーにセッション要約・エピソード記憶抽出・レート制限を実装する

宇川 雄大

はじめに 前回の記事では、Gemini Live API を使った音声会話サーバーに Opus コーデックと GoAway 自動再接続を実装しました。今回は セッション終了後の自動処理 と 利用制限 を追加します。 ! 対象読者 リアルタイム音声 AI アプリのバックエンドを開発している方 LLM を使った会話データのポストプロセッシングに興味がある方 WebSocket セッションにレート制限を適用したい方 この記事で扱う実装は以下の 3 つです。 セッション要約生成 — 会話終了後に Gemini Text API で 3〜5 文の要約を自動生成 エピソード記憶抽出 ...

LLM Key Ring v0.3.0: 「security コマンドで読まれる」問題を3層防御で塞いだ話

yotta

! この記事はLLM Key Ring(macOS Keychain経由でLLM APIキーを管理するCLIツール)のv0.3.0リリースノートです。前回の記事はこちら: https://zenn.dev/yottayoshida/articles/llm-key-ring-v020-security-hardening TL;DR v0.2.1で「未解決」として残していた課題、security find-generic-password でキーが直読みされる問題をv0.3.0で解決した。 Custom Keychain (lkr.keychain-db) — 専用のKeych...

Rust中継サーバーにOpusコーデックとGoAway自動再接続を実装した設計メモ

宇川 雄大

はじめに Gemini Live API を使ったリアルタイム音声アプリを開発しています。構成は モバイルアプリ ↔ Rust 中継サーバー ↔ Gemini Live API の 3 層で、中継サーバーが認証・RAG・セッション管理を担当しています。 ! 対象読者 Gemini Live API(Multimodal Live API)を使った音声アプリに興味がある方 WebSocket 中継サーバーの設計パターンを知りたい方 Rust で Opus コーデックを扱いたい方 この記事では、以下の 2 つの機能を実装した際の設計判断とハマりポイントをまとめます。 Opus ...

Gemini Native Audio + Function Calling で WebSocket 1008 切断される問題と解決策

宇川 雄大

はじめに Gemini Live API(BidiGenerateContent)で音声対話アプリを開発中、Function Calling(tools)を有効にすると最初の応答後に WebSocket が切断される問題に遭遇しました。 ! 対象読者 Gemini Live API でリアルタイム音声対話を実装している方 Native Audio モデルで Function Calling を使おうとしている方 WebSocket 1008 エラーに悩んでいる方 システム構成 ┌─────────────┐ WebSocket ┌─────────────...

マンガでわかるRustの所有権

黒ヰ樹

ソース https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html Rust is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses. See LICENSE-APACHE, LICENSE-MIT, and&n...

Rust の DI を試す / shaku

-

はじめに Rust で DI をどうやるか調べていて shaku を試しました。 shaku はコンパイル時に依存関係を解決する DI コンテナです。derive マクロでコンポーネントを定義し、module! マクロでモジュールを組み立てます。axum との統合クレート shaku_axum もあり、ハンドラに依存性を直接注入できます。 検証用に EC の商品注文 API を作りました。PostgreSQL / Redis / NATS を使い、キャッシュ、イベント発行、監査ログまで一通り入れています。 構成 src/ main.rs config.rs erro...

Molluskを使ってみた!!(Solana+Pinocchio)

udon_dev

Molluskを使ってみたので、感想や使い方などを残しておきます。 Molluskやってみたいな、という人がいたら嬉しいです。 自己紹介 まずは自己紹介から。 Solana歴3ヶ月です。学習開始から1ヶ月でAnchorを投げ出し、Pinocchioに入門。 ついでにMolluskをテストツールに採用。頭がいっぱいいっぱいなので、現状Rustしかできてない人です。 1 なぜMolluskを使ったのか テストを作らなきゃなあ…。でも今Rustのことしか考えられない…。クライアントも作りたくない、面倒…という状態になり、「Mollusk? これならRustオンリーで楽しそうじゃん」とい...

crmux v0.9 で追加した機能まとめ

maedana

! この記事はClaude Codeとの共同執筆です。構成・コード例の整理はAIが担当し、筆者が内容の確認・加筆を行っています。 crmux の紹介記事はこちら。 https://zenn.dev/maedana/articles/55520b68536c47 前回の更新履歴はこちら。 https://zenn.dev/maedana/articles/crmux-update-v07-v08 0.9.0 での追加機能(2026/03/06) タブによるセッションフィルタリング プロジェクト名ごとにセッションをフィルタリングできるタブ機能を追加した。h/l キーでタブを切り替え...

crmux v0.7〜v0.8 で追加した機能まとめ

maedana

! この記事はClaude Codeとの共同執筆です。構成・コード例の整理はAIが担当し、筆者が内容の確認・加筆を行っています。 crmux の紹介記事はこちら。 https://zenn.dev/maedana/articles/55520b68536c47 前回の更新履歴はこちら。 https://zenn.dev/maedana/articles/crmux-update-v04-v06 0.7.0 での追加機能(2026/03/05) claudeye ソケット連携 claudeye との連携を RPC リクエスト・レスポンス方式で実装した。o キーでオーバーレイ表示を...