タグ

Rustに関するsugyanのブックマーク (123)

  • GoogleがProtobufとgRPCのRust公式サポート発表 - 広がる賛否両論 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? RustエコシステムでProtobufとgRPCを使用する開発者にとって重要な転機が訪れています。GoogleRustでのProtobufとgRPCの公式サポートを発表したものの、その実装方針がコミュニティに波紋を広げています。 何が起こっているのか GoogleによるRust向けProtobuf公式サポートが進行しています。最も象徴的な変化は、これまでstepancheg氏が個人で開発していたprotobufクレートの所有権がGoogleに移譲されたことです。crates.ioを確認すると、バージョン3.x系までは従来の開発者による

    GoogleがProtobufとgRPCのRust公式サポート発表 - 広がる賛否両論 - Qiita
  • Bluesky MCP serverを自作し、SNS上に架空の友達を作る - すぎゃーんメモ

    内容・目的 注意書き 使用したもの OpenAI Agents SDK (AI Agent) RMCP (MCP server) 人格の作成 1人目 2人目 動作とプロンプト アカウント作成 投稿 返信 その他 作成されたもの MCP serverを自作することについて Rustでビルドし配布できる LLMは使いこなしてくれない 今後の課題とアイデア まとめ Repository 内容・目的 最近流行りのMCP(Model Context Protocol)を使ったAIエージェントの機能を試して、何か面白いことができないかと考えていました。 普段よく使ってる Bluesky のAT Protocolと組み合わせたら、SNS上でAIが自分の友達として動くのでは?と考え、自作ライブラリを使用してMCPサーバーを作成し、AIエージェントにアカウントを運用させる実験をしてみました。 GPT-4はチ

    Bluesky MCP serverを自作し、SNS上に架空の友達を作る - すぎゃーんメモ
    sugyan
    sugyan 2025/05/15
    書いた
  • Rust製AT Protocolライブラリ「ATrium」をorganizationに移管した - すぎゃーんメモ

    作りはじめた記事を書いてから約2年が経った。 memo.sugyan.com 開発を続けてきたRustライブラリ ATrium を、先日ついにorganizationに移管した。 github.com 経緯 昨夏からAT Protocolの OAuth に対応する実装を進めていたものの、プライベートの事情などもあってなかなか順調には進まなかった。何度かPull Requestをもらって実装方針を議論したりもしたが、進捗は芳しくなかった。 @erlend-sh 氏からDiscordで「organizationに移管したらどうか?」とアドバイスを受けたこと、また自分自身も継続的な開発・メンテナンスを強い意志で続けていける自信が持てなかったこともあり、前向きに検討を始めた。 そして先日ようやく atrium-oauth をリリースしたところで一区切りとし、自分の個人repositoryからorg

    Rust製AT Protocolライブラリ「ATrium」をorganizationに移管した - すぎゃーんメモ
    sugyan
    sugyan 2025/05/02
    ポエムを書きました
  • Rust 1.85を早めに深掘り - あずんひの日

    日2/21(金)にリリースされたRust 1.85の変更点を詳しく紹介します。 もしこの記事が参考になれば記事末尾から活動を支援頂けると嬉しいです。 2月21日は漱石の日 ピックアップ Rust 2024が使えるようになった 非同期クロージャが使えるようになった 浮動小数点数型の各メソッドを定数に使えるようになった unzipの代わりにcollectを使えるようになった 安定化されたAPIのドキュメント BuildHasherDefault::new ptr::fn_addr_eq サンプル io::ErrorKind::QuotaExceeded io::ErrorKind::CrossesDevices {float}::midpoint サンプル {unsigned integer}::midpoint サンプル NonZeroU*::midpoint サンプル std::task

    Rust 1.85を早めに深掘り - あずんひの日
    sugyan
    sugyan 2025/02/21
    “2025年も2ヶ月が過ぎようとしていますが、ついにRust 2024がやってまいりました”
  • Rust 1.84を早めに深掘り - あずんひの日

    日1/10(金)にリリースされたRust 1.84の変更点を詳しく紹介します。 もしこの記事が参考になれば記事末尾から活動を支援頂けると嬉しいです。 1月10日は110番の日 ピックアップ Rustの最小バージョン(MSRV)を考慮した依存解決ができるようになった トレイト解決の仕組み更新が始まった target tripleをtarget tupleと呼ぶようになった 安定化されたAPIのドキュメント Ipv6Addr::is_unique_local サンプル Ipv6Addr::is_unicast_link_local サンプル core::ptr::with_exposed_provenance core::ptr::with_exposed_provenance_mut <ptr>::addr <ptr>::expose_provenance <ptr>::with_addr

    Rust 1.84を早めに深掘り - あずんひの日
    sugyan
    sugyan 2025/01/12
  • Tauri 2.0 Stable Release

    We are very proud to finally announce the stable release for the new major version of Tauri. Welcome to Tauri 2.0! What is Tauri? In a Tauri application the frontend is written in your favorite web frontend stack. This runs inside the operating system WebView and communicates with the application core written mostly in Rust. When Should I Use Tauri? If you check any of the boxes below, you should

    Tauri 2.0 Stable Release
    sugyan
    sugyan 2024/10/03
    お、Tauri 2.0がついにReleaseされていた…!
  • Rust 1.80を早めに深掘り - あずんひの日

    日7/26(金)にリリースされたRust 1.80の変更点を詳しく紹介します。 もしこの記事が参考になれば記事末尾から活動を支援頂けると嬉しいです。 7月25日は蒸気機関車が初めて走った日 ピックアップ 遅延初期化されるグローバル変数を書けるようになった Optionの値を条件を満たしたときだけ取り出せるようになった スライスをパニックなしに分割できるようになった 配列を含むスライスを一次元化できるようになった パターンとして終端の含まれない範囲を使えるようになった useなしにsize_of等が使えるようになった 安定化されたAPIのドキュメント LazyCell サンプル LazyLock サンプル Duration::div_duration_f32 サンプル Duration::div_duration_f64 サンプル Option::take_if サンプル Seek::se

    Rust 1.80を早めに深掘り - あずんひの日
    sugyan
    sugyan 2024/08/02
  • BlueskyのTUI Client Appを作り始めてしまった - すぎゃーんメモ

    memo.sugyan.com の続き…? I've published `tuisky`, a TUI Client for Bluesky, as v0.0.1. (It's still a work in progress.) Were there already other clients available for use in the terminal? #atdev #bluesky-client #tui crates.io/crates/tuisky [image or embed]— すぎゃーん (@sugyan.com) Jul 1, 2024 at 12:12 AM 経緯 RatatuiによるTUI開発 Asynchronous Event Handling Components Architecture 自作Client用の設計 機能 完全に分離された Multi

    BlueskyのTUI Client Appを作り始めてしまった - すぎゃーんメモ
    sugyan
    sugyan 2024/07/17
    書いた
  • 『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream

    Rustで作るプログラミング言語という書籍が先日発売されました。簡単なプログラミング言語を作ってバイトコードに変換して実行したりネイティブコードに変換して実行してみよう、というで、大変面白く読みました。最終的にまあまあ格的な言語になるので、これを元にするとわりとちゃんとした言語を作れそうです。 この書籍で最終的に作られる言語はこちら: GitHub - msakuta/ruscal: Programming language implementation learning project ちょうど私も、以前から構想していた言語があったので、ちょっと作ってみました。というのも、TypeScriptを設定記述言語としてさまざまなプログラミング言語から使えると便利ではないかとずっと思っていたのです。 この設定言語で複雑なことができる必要はなく、最終的にはJSONに準ずるデータ構造になればよい

    『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream
  • Rustのserdeで、データフォーマットによって異なる型にserialize/deserializeする - すぎゃーんメモ

    背景 CidLink serde_json, serde_ipld_dagcbor 問題点: データフォーマットによって対象の型が異なる 最初の解決策: is_human_readable() による分岐 うまくいかないケース 解決策(?): Ipld を経由しデータの構造によって分岐する 汎用的? な解決策: Untagged ベンチマーク 実装結果 その後 背景 BlueskyのAT ProtocolのRust版ライブラリを作っている。 memo.sugyan.com github.com その中で最近実装した機能の話。 CidLink AT Protocolで扱うデータモデルのSpecは、以下のページで書かれている。 atproto.com この中に、Lexiconでcid-linkという名前で扱われる型がある。 https://atproto.com/specs/lexicon#c

    Rustのserdeで、データフォーマットによって異なる型にserialize/deserializeする - すぎゃーんメモ
    sugyan
    sugyan 2024/03/26
    書いた
  • RustにおけるGitHub Actionsベストプラクティス - paild tech blog

    こんにちは大櫛です。Travis CIがオープンソースプロジェクトで使いづらくなったり、Azure PipelinesからGitHub Actionsになった途端*1爆発的な流行が生まれたりと、CIサービスにおいてもここ数年で色々な動きがありました。 特に技術記事・ブログのトレンドや企業のリクルート向け資料を見ていると、GitHub Actionsの利用が進んでいるような印象を受けます。 今回はそんなGitHub Actionsについて、Rust projectで使う際に知っておいた方がいいことやactionを紹介していきます。 以下の情報は執筆時点(2023-02-19)のものに基づいています。閲覧時には無効・誤ったものになっている可能性がありますので、必ず最新の情報・状態を確認するようにしてください。 actions-rs(非推奨) まずはじめに、執筆時点では使用を控えた方がいいact

    RustにおけるGitHub Actionsベストプラクティス - paild tech blog
  • Cloudflare Workersで、自分のはてブをBlueskyに流す - すぎゃーんメモ

    bsky.app そういえば、古き良き時代は自分のブックマークは自動でTwitterに投稿されていたのだった。 今はBlueskyがメインになっているので、同じ仕組みが欲しい、と思った。ので、作った。 github.com 要件 先行事例 RustWASM対応 Cloudflare Workersでの実装 1MB制限との戦い Fetch API KVでのSessionStore? 要件 自分のブックマークはRSSで取得できる。定期的にチェックして新しいのがあれば、といったロジックで検出できる。 なので、基的にはプログラムを定期実行できる場所があればGitHub Actionsとかでも良い。 ただ、対象のブクマ内容をpostする前に、それを既にpostしているか否かを知る必要がある。 専用のbotアカウントとかであれば、そのアカウントのpost feedを取得して最近のものをチェックす

    Cloudflare Workersで、自分のはてブをBlueskyに流す - すぎゃーんメモ
    sugyan
    sugyan 2024/03/01
    作った、書いた
  • GitHub - sugyan/hatebu2bsky

    sugyan
    sugyan 2024/02/29
    ようやくできた
  • AT Protocol(Bluesky)のためのRustライブラリを作った - すぎゃーんメモ

    前記事 でOCamlやってくぞ、と書いたけど結局Rustです。 Bluesky AT Protocolとエコシステムの現状 (〜2023/04) Rust版の実装 Lexiconとコード生成 自作Rust版実装: ATrium Lexicon schema コード生成 API設計 Lex CLI 今後 Bluesky Twitter代替の候補として噂される(?)分散型SNS Bluesky。 現状ではまだprivate betaということで招待コードが無いと使えないのだけど、先月運良くコードをいただくことができて使い始めてみている。 一通りのSNS的な動きはしているものの、まだまだ鋭意開発中ということで足りていない機能があったり 日々新機能が追加されたりと目紛しく動いている世界のようだ。 AT Protocolとエコシステムの現状 (〜2023/04) AT Protocolについてはこち

    AT Protocol(Bluesky)のためのRustライブラリを作った - すぎゃーんメモ
    sugyan
    sugyan 2023/05/05
  • The World's Smallest Hash Table | orlp.net

    This December I once again did the Advent of Code, in Rust. If you are interested, my solutions are on Github. I wanted to highlight one particular solution to the day 2 problem as it is both optimized completely beyond the point of reason yet contains a useful technique. For simplicity we’re only going to do part 1 of the day 2 problem here, but the exact same techniques apply to part 2. We’re go

  • GitHub - skim-rs/skim: Fuzzy Finder in rust!

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - skim-rs/skim: Fuzzy Finder in rust!
  • Rust vs. Haskell

    Rust and Haskell don’t shy away from powerful features. As a result, both languages have steep learning curves when compared with other languages. Trying to learn Rust or Haskell can be frustrating, especially in the first couple of months. But if you already know Rust, you have a head start with Haskell; and vice versa. In this article, we want to show how knowledge of one of these languages can

    Rust vs. Haskell
  • 「Rust Atomics and Locks」を読んだ

    Rust Atomics and Locks」を読んだ #2023-02-05 発売前からすごく楽しみにしていたで、発売日に買って年末から一生懸命読んでいた。 今なら以下から無料で読める。 https://marabos.nl/atomics/ 内容としては求めるものが分かりやすく書かれており、すでに2023 年に読んで良かったの1つに入りそう。 目次書籍を通して得たかった知識 #例えば以下のようなコードを書いた際に、println!でどのような数値のペアが表示されるのか。結論から書くと0 0,10 20といった値がまずは思い浮かぶと思うが、0 20というペアで表示される可能性もあるとされており、その際以下のような疑問・不明点があった。 0 20と表示になるのはどのような条件で何が起こった場合なのか強いメモリモデルとされるx86でも0 20というペアは発生するのかケースにおいてx8

    「Rust Atomics and Locks」を読んだ
  • Rust でバイナリを配布する

    これは天久保 Advent Calendar 2022 二日目の記事です。明日は休日なのでやすみです。 記事は全部 GNU/Linux においての話で、ELF 実行可能形式のファイルのことを指してバイナリと呼びます。 Rust で書いたプログラムをビルドして配布したいことがあるでしょう。サーバーアプリケーションなどとなればコンテナイメージを配布するのがまっとうに思えますが、コマンドラインアプリケーションとなると実行の手軽さや起動オーバーヘッドへの配慮からやはりバイナリを配布する必要が出てくると思います。一方で Rust でビルドしたバイナリは[1]システムの glibc に動的リンクされており、可搬性が低い可能性があります。つまり、ビルドした環境より glibc のバージョンが低い環境でそのバイナリは動かない可能性があるということです。実例を見てみましょう。下のプログラム[2]は Deb

    Rust でバイナリを配布する
  • 最近またLinux用の日本語IMEを作っている - tokuhirom's blog

    最近またLinux用の日語IMEを作っている 件は mozc の ut がどうこうとかは関係なくて、ふと linux desktop を使おうと昨年末に思いまして、昨年末からちまちまやってます https://github.com/tokuhirom/akaza かな漢字変換って作るの難しいのかなぁ、と思ったので作ってみている。これはまさに Just for Fun でやっている。 わりと普通に自分で常用してる分には困らないかな、というところまできている。 以下は、思ってることの垂れ流しという感じで、まとまってないですが。 「日本語入力を支える技術」というが 2018年に出ていて、このの内容を読めば、だいたいエンジン部分は実装できる。Amazon のレビューではこのよんでも実装できないって書いてあるけど、変換エンジン自体は実装できます。 UI が辛い。けど。 エンジンは、ビタビア

    sugyan
    sugyan 2023/01/16
    知見なくて全然わからないけど、何だか楽しそう