タグ

rustに関するNyohoのブックマーク (342)

  • MCPでLLMに行動させる - Terraformを例とした tfmcp の紹介 - じゃあ、おうちで学べる

    はじめに こんにちは!今回は、私が最近開発した tfmcp というツールを紹介します。これは Terraform を LLM(大規模言語モデル)から操作できるようにするツールで、Model Context Protocol (MCP) を活用しています。 github.com このブログが良ければ読者になったり、GitHub リポジトリにStarをいただけると開発の励みになります。nwiizoをフォロワーしてくれるのもありがたいです。より良いツール開発のためのフィードバックもお待ちしています! MCP とは何か? 記事を始める前に、まず MCP (Model Context Protocol) について簡単に説明しましょう。MCP についてより詳しい情報は、公式ドキュメント modelcontextprotocol.io や Anthropic の Model Context Protoc

    MCPでLLMに行動させる - Terraformを例とした tfmcp の紹介 - じゃあ、おうちで学べる
    Nyoho
    Nyoho 2025/03/09
  • Rustで進化するPayPayのスケーラビリティ

    PayPayの6年の歴史の中で、私たちは急速な成長を遂げてきました。現在、6700万人以上のユーザーにサービスを提供し、日々数百万件の決済を処理しています。しかし、これを成功させるためには、トラフィックと信頼性の要求を満たすための技術的な挑戦が伴います。 PayPayは設立当初からJavaとNodeJSを採用しており、これらの技術は非常にうまく機能してきました。しかし、成長に伴いサービスをスケールアップする必要が生じ、これによりKubernetesクラスターでのCPUとメモリの使用量が増加しました。これにはサーバーコストの増加が伴います。 2023年末、私たちはコアサービスでのトラフィックをより効率的に処理する方法を模索し始め、GraalVMGoRustなどさまざまな技術を調査しました。Rustは、その優れたパフォーマンスとメモリの安全性が保証されていることから、PayPayの多くのユ

    Rustで進化するPayPayのスケーラビリティ
    Nyoho
    Nyoho 2025/02/21
  • Webサーバーがどのようにリクエストを並行に処理しているのか、説明できなかったのでRustでコードを書いてみる

    はじめに Webサーバーがどのように大量のリクエストを並行に処理しているのか、説明できますか? 私は今まで、実際のところどのようにこれらが実装されているのかをよくわかっておらず、ブロッキングなコードを書いてしまったりしていました🤫 結論から述べると、Webアプリケーションでは、リクエストが大量に来た場合にいかに効率よく処理するために「並行(Concurrency)」や「並列(Parallelism)」を利用しています。 今回の記事では、この並行処理が実際のところどのように動作するのか、Rustのサンプルコードを示しつつ、解説していきます。 単一スレッドによるシンプルなサーバー 最初に、単純な「1件ずつ順番にリクエストを処理するサーバー」を例に、その動作や問題点を確認します。 レストランに例えると、「店員が1人しかいないレストラン」を用いると、注文ごとに料理に取り掛かるため、待ち時間が長く

    Webサーバーがどのようにリクエストを並行に処理しているのか、説明できなかったのでRustでコードを書いてみる
    Nyoho
    Nyoho 2025/02/18
  • これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT

    2024/07/27 TechRAMEN 2024 Conference 概要: 私にとって何番目の言語になるかはもう数えていませんが、昨年 Rust を学び、 OSS の開発ができるところまでやってきました。私はそれまで Rust の学習に何度か挫折しており、今回ようやくその壁を乗り越えたので…

    これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
    Nyoho
    Nyoho 2024/12/31
  • Rustで実装するLinuxカーネル(アセンブリ言語編)

    「安全よりもスリルを!」 メモリ安全性のために、LinuxカーネルモジュールはRustで実装すべし、と世間に大声で訴えているけれど、当はちょっと物足りない…危険に惹かれてしまう、そういう秘めた自分の気持ち、大切にしたいですよね! 今回は、いかなる安全性も保証しないアセンブリ言語とRustを組み合わせて、Linuxカーネルの機能を実装してみました。 アセンブリ言語?「アセンブリ言語、何それ?」と思ったデジタルネイティブ世代の読者も大勢いることでしょう。CやRustのような高級プログラミング言語では、人間が理解しやすい型や構文などを使った記述形式をコンパイラを使って、CPUが実行できる形式へと翻訳します。一方、アセンブリ言語では、CPUが実行できる形式に限りなく近い記述形式を使います。自分の気持ちをインスタやLINEのメッセージで伝えるのは難しいですよね?アセンブリ言語はCPUへ直接気持ちを

    Rustで実装するLinuxカーネル(アセンブリ言語編)
  • (2024年1月時点)RustのWebフレームワークの簡単な比較 - Activ8 Tech Blog

    はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 エンジニアと言いながら最近コードを書く機会が減っていたので、年末年始にRustにチャレンジしていました。 まだ全然理解しきれていないという自覚はありつつ、今回はRustの主要なWebフレームワークについて簡単に調査、比較していきたいと思います。 間違いなどありましたらDM等でご指摘いただけると幸いです。 なお、情報は全て調査時点(2024/1/8)のものとなります。 Frameworkの候補 フレームワークの比較をしてくれているリポジトリがあるので、この情報を元にピックアップしてみます。 github.com 人気のフレームワーク 名称 Repos Docs スター数 最新バージョン Activity actix-web Repo Doc 19.4k 4.4.1 181/year axum Repo Doc 14.3k 0

    (2024年1月時点)RustのWebフレームワークの簡単な比較 - Activ8 Tech Blog
    Nyoho
    Nyoho 2024/12/27
  • Practice Rust

    Practice RustLearn Rust by practicing, choose from a variety of coding exercises and challenges to help you improve your Rust programming skills

    Practice Rust
    Nyoho
    Nyoho 2024/12/05
  • 早くて安全、以外のRustの好きなところ

    こんにちは。Rustを愛し、Rustに愛された男です。 BoostDraftでは、一部のシステムでRustで使用しています。そこそこQPSのあるAPIサーバーや、そこそこ量のあるデータの解析などです。 Wikipediaでは、Rustの説明として以下のような一文から始まっています。 Rust(ラスト)は、性能、メモリ安全性、安全な並行性を目指して設計された 引用元:Rust (プログラミング言語) また公式サイトでは、Rustを使う理由として「パフォーマンス」「信頼性」「生産性」が挙げられています。 早くて安全!にフォーカスされがちなRustですが、僕がRustを使う一番の理由は「生産性」です。 なので今回は、生産性に寄与しそうな、僕のお気に入りポイントをいくつか紹介したいと思います。 エコシステム Cargo CargoRustにおけるビルドシステム兼パッケージマネージャです。 ビルド

    早くて安全、以外のRustの好きなところ
    Nyoho
    Nyoho 2024/11/08
  • RustでWeb開発コソコソ噂話

    下記に登壇した際の資料です。 https://findy.connpass.com/event/331621/ スライドはメモ書き程度のものとなっており、実際には講演の中で口頭で数多くの補足が入っています。講演の内容をまとめた記事も近日公開される予定なので、あわせてご覧ください。

    RustでWeb開発コソコソ噂話
    Nyoho
    Nyoho 2024/10/29
  • GopherがRust入門したので違いをまとめてみた

    はじめに ウホウホ。 Rustを使い始めてちょうど2年くらい経って、すこしRustのことがわかってきたので、改めてGoRustのそれぞれの違いを整理したいなと思いこの記事を書きました。 筆者はウェブ開発の経験しかないので、ウェブを中心にまとめています。 気づいたらかなりな量になってしまったのとGopher向けにRustを紹介するような記事になってしまいましたが、よければ読んでみてください。 筆者について Goを使い始めて7年ほど経っていて、これまでCLI/TUIツールをいくつか作ってきました。 スペシャリストではないですが、プロダクトでGoを書く分には特に問題ないレベルかなと思います。 Rust2022年夏ころから使い始めてちょうど2年ほど経ちました。 なにかツールを作ったわけではないですが、勉強がてらにいくつか作ったもの・書いたがあります。 普通にRustを書く分には問題ないですが

    GopherがRust入門したので違いをまとめてみた
    Nyoho
    Nyoho 2024/08/12
  • Rustで勘違いしていたこと3選 🏄🌴 【100 Exercises To Learn Rust 🦀 完走記事 🏃】 - Qiita

    100 Exercises To Learn Rust を題材に Qiita Engineer Festa 2024 投稿マラソン に参加していました! 7月17日に仮置きを残しながら投稿したのち、 ようやく全記事完成しました! ので、その記念として、色々話したいと思います!(え、7/17ってもう3週間前...?!) 目次 全記事一覧 100 Exercises To Learn Rustを完走した感想 100 Exercisesの魅力 1. そこそこの長さ 2. 無理のない学習順序 3. 各エクササイズ間に関連がある 4. 効率よく"ミソ"を摂取できる Rustで今まで勘違いしていたこと3選 1. Copy は Clone::clone を...呼び出さなかった! 2. 不変参照は...実は不変ではなかった! 3. 値がスレッドを跨ぐには 'static は...不要だった! 所感 ※

    Rustで勘違いしていたこと3選 🏄🌴 【100 Exercises To Learn Rust 🦀 完走記事 🏃】 - Qiita
    Nyoho
    Nyoho 2024/08/09
    “4. 効率よく"ミソ"を摂取できる” ここは蟹味噌に掛けてるのかな。うまい
  • 米国防総省DARPA、C言語のコードからRustへの自動変換実現を目指す「TRACTOR」プログラム開始

    米国防総省DARPA、C言語のコードからRustへの自動変換実現を目指す「TRACTOR」プログラム開始 アメリカ国防総省 DARPA(Defense Advanced Research Projects Agency:国防高等研究計画局)は、C言語のコードからRust言語のコードへ高い精度での自動変換実現を目指す「TRACTOR」(Translating All C to Rust)プログラムの開始を発表しました。 DARPAは軍事技術の開発および研究を行う機関であり、現在のインターネットはDARPAの前身となるARPAが1967年に開始した「ARPANET」がその起源であることはよく知られています。 DARPAが発表したTRACTORプロジェクトは、C言語のコードからRust言語のコードへの自動変換を高い精度で実現することで、過去にC言語で開発された多くのソフトウェアをメモリ安全なソフ

    米国防総省DARPA、C言語のコードからRustへの自動変換実現を目指す「TRACTOR」プログラム開始
    Nyoho
    Nyoho 2024/08/07
    Translating All C to Rust。「2月には、米ホワイトハウスの国家サイバー局長室が、ソフトウェアの脆弱性を減らすためにメモリ安全なプログラミングへの移行をテクノロジーコミュニティに対して呼びかける声明を」進んでいる
  • RustでAPIサーバーを書くのが思ったより良い

    最近いろんなところで採用事例が増えてきたRustですが、Webサービス開発でのAPIサーバーを書くのにRustは向いてないと言われたりします。Rustの第一のターゲットはシステムプログラミングでありGCがないためAPIサーバー開発でシビアなメモリ管理はしたくないというのは一理あるのですが、RustAPIサーバーの開発を実際にやってみるとむしろ開発体験が結構いいなと感じます。パフォーマンスのために難しい所有権を無理にがんばるみたいなマイナスのイメージはほとんど当てはまらなかったです。 Rustの難しいライフタイム、所有権があまり出てこない Rustにおいて難しいとされるライフタイム、所有権といった概念があり私も書く前はかなり身構えていたのですが、これに苦しむことは思ったよりも少ないです。その要因はWebサーバーで扱う処理のほとんどがリクエスト・レスポンスモデルでデータの流れが一方向でシンプ

    RustでAPIサーバーを書くのが思ったより良い
    Nyoho
    Nyoho 2024/06/12
  • これからRustを勉強したいエンジニアにおすすめしたい参考書や教材を紹介します

    こんにちは、加藤(@tomo_k09)です。 PharmaXではバックエンド・フロントエンド開発やスクラムマスターなどをやっています。 PharmaXが提供しているサービスでは、バックエンド開発に主にRuby on Railsが使われていますが、一部の機能はRustで開発されています。 このような理由からRustの経験が浅かった私もコツコツとRustの勉強をしており、 少しずつ学習方法に関する知見が溜まってきました。 そこでこの記事では、Rustをこれから学びたいという方向けに、おすすめの書籍や教材について紹介します。 新しいプログラミング言語はどのように学ぶと良いか 私は新しい言語を学ぶとき、まず基的な文法やどんな特徴を持った言語なのかをひと通り勉強しています。 そしてその言語の概要をつかんだあと、実際に簡単なアプリケーションの実装をはじめて、分からないことがあったらリファレンスを読ん

    これからRustを勉強したいエンジニアにおすすめしたい参考書や教材を紹介します
    Nyoho
    Nyoho 2024/04/10
  • RustでWebバックエンドを書き始めてから1年くらい経った

    はじめに 僕はDeno Land Inc.でDenoを利用したサーバレスエッジホスティングサービスのDeno Deployを開発するチームに所属しています。OSSのほうのDenoのメイン言語はRustで、Deno Deployのバックエンドも同様にRustで書かれています。 今年のアドベントカレンダーで一休さんから以下の記事が公開されましたが、日でもRustをWebバックエンドの言語として採用する企業がじわじわと増えてきている印象があります。 Deno DeployのバックエンドをRustで開発してきて、RustでWebバックエンドを書くことのメリットやデメリットをいくつか感じたので、この記事で紹介したいと思います。 Deno Deployの構成 まず、ざっくりとDeno Deployのバックエンドの構成を紹介します。 多くのコンポーネントがありますが、ここではどのようにRustを利用し

    RustでWebバックエンドを書き始めてから1年くらい経った
    Nyoho
    Nyoho 2024/01/01
  • サーバレスにおけるRustについて - NTT Communications Engineers' Blog

    この記事は、 NTT Communications Advent Calendar 2023 22日目の記事です。 はじめに こんにちは、イノベーションセンターの鈴ヶ嶺です。普段は、クラウド・ハイブリッドクラウド・エッジデバイスなどを利用したAI/MLシステムに関する業務に従事しています。 記事は、各クラウドベンダーのサーバレスにおけるプログラミング言語Rustについて調査・比較した結果を紹介します。 まず初めにサーバレスでRustを利用するメリットをエネルギー効率の観点から説明し、次に各クラウドベンダーの関連記事をピックアップします。 さらに、それぞれのクラウドでRustを使ったサーバレスアプリの代表的な作成方法を紹介して比較します。 Rustのエネルギー効率 Rustは、次の公式ページでも宣伝している通りパフォーマンスを強くアピールしています。 Rustは非常に高速でメモリ効率が高く

    サーバレスにおけるRustについて - NTT Communications Engineers' Blog
    Nyoho
    Nyoho 2023/12/30
  • 一休レストランのふつうのRustバックエンド開発 - 一休.com Developers Blog

    この記事は一休.com Advent Calendar 2023 25日目の記事です。 一休レストランでは、よりスムーズな予約体験の提供を目的とするシステムのリニューアルを進めています。その一環として、2023年10月から、レストラン個別ページの表示から予約までのスマートフォンビューにおいて、バックエンドのサーバをRustで書かれたものに置き換えました。 一休レストランの Rust バックエンドが正式リリースされました。https://t.co/7N4VGv5ej9 このページのスマートフォンビューはバックエンドが Rust で書かれた GraphQL になってます— naoya (@naoya_ito) October 4, 2023 番運用が始まって3か月近く経ちましたが、これまで安定して継続的な開発と運用ができています。これはRustだからと構えることなく、「ふつう」のバックエンド

    一休レストランのふつうのRustバックエンド開発 - 一休.com Developers Blog
  • Why Rust in Production? | corrode Rust Consulting

    Interest in Rust has surged in recent years, with tech leaders such as Microsoft, Google, and Amazon coming forward to share their experiences of leveraging Rust for critical systems. Much of the dialogue about Rust, however, is still driven by those who have not leveraged Rust in a significant production capacity or have only done so for non-critical systems. This results in a skewed understandin

    Why Rust in Production? | corrode Rust Consulting
    Nyoho
    Nyoho 2023/11/21
  • Rustで単一化を書くスマートな方法を考えた

    課題 Rustでシンプルな単一化を書くことを考えます。単一化は主に型推論の実装に用いられます。 ここでは以下の方針で実装します。 一階の単一化。 変数は非負整数のidで表現し、0から順に付番する。 変数以外の項はRustのADTを使った通常の木構造で表現し、ノードの共有は行わない。 変数参照の縮約は行わない。 この方針のもと実装すると、およそ以下のようなコードになります。 #[derive(Debug, Clone)] pub struct UnifyEnv { vars: Vec<Option<Type>>, } #[derive(Debug)] pub struct UnificationFailure; #[derive(Debug, Clone, PartialEq, Eq)] pub enum Type { Var(usize), Constr { constr: u32, ar

    Rustで単一化を書くスマートな方法を考えた
    Nyoho
    Nyoho 2023/09/12
  • Rustソースコードのざっくりとした歩き方 🦀

    https://techfeed.io/events/techfeed-experts-night-24

    Rustソースコードのざっくりとした歩き方 🦀
    Nyoho
    Nyoho 2023/08/30