タグ

Rustとtechfeedに関するpoad1010のブックマーク (1,429)

  • 【今週の話題】IntelliJエージェントはよ、MCPブーム、Clineで遊ぶ、PythonからRustへ翻訳

    【今週の話題】IntelliJエージェントはよ、MCPブーム、Clineで遊ぶ、PythonからRustへ翻訳 IntelliJでコーディングエージェントを駆使したい私はもうJetBrains IDEをメインにしていないのですが、PHPにかんしてはやはりVSCodeよりPHPStormに一日の長があり、IntelliJに返り咲けるチャンスを伺っているわけです。 今まではGooseのJetBrains MCP拡張を入れて試していたのですが、こいつはCline以上の暴れ馬ですべてを焼き尽くしてしまうので、人には勧めづらかった。 そこでClaude Codeがリリースされました。これは順当に良さそうで、MCPに対応していたので、Gooseのように連携できるなと睨みました。 検証結果をZennに投稿。この環境でしばらく過ごしてないのでまだなんとも言えないのですが、同士は試してみてほしい。

    【今週の話題】IntelliJエージェントはよ、MCPブーム、Clineで遊ぶ、PythonからRustへ翻訳
    poad1010
    poad1010 2025/03/17
    この記事をおすすめしました
  • jemallocでRustのパフォーマンスを最適化する - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? jemalloc とは? jemalloc は、もともと Jason Evans によって FreeBSD 向けに開発された現代的なメモリアロケータです。従来の malloc と比較して、jemalloc はメモリフラグメンテーションの削減とマルチスレッドアプリケーションのパフォーマンス向上に重点を置いて設計されました。細粒度のメモリ管理とスレッドキャッシュ機構により、迅速かつ効率的なメモリ割り当てを実現しています。 jemalloc の主な特徴は次のとおりです: 高効率な並列処理:各スレッドに独立したメモリキャッシュを提供し、スレッド

    jemallocでRustのパフォーマンスを最適化する - Qiita
    poad1010
    poad1010 2025/03/17
    この記事をおすすめしました
  • ボスが来た時に「何か凄いことをやってそう」に見えるだけの出力をでっちあげるツール「rust-stakeholder」

    rust-stakeholder」は、ターミナルに「何かやってそう」な感じのする見栄えだけは良い出力を生成してくれるジョークツールです。「役に立つコードを1行も書かずに自分の実力をみんなに納得させることができる」とのことなので、実際にどんな出力が行えるのか試してみました。 GitHub - giacomo-b/rust-stakeholder: Generate impressive-looking terminal output to look busy when stakeholders walk by https://github.com/giacomo-b/rust-stakeholder rust-stakeholderを使用するにはRustが必要です。まずRustのインストールツールであるrustupのページへ行き、「rustup-init.exe」をクリック。 ダウンロード

    ボスが来た時に「何か凄いことをやってそう」に見えるだけの出力をでっちあげるツール「rust-stakeholder」
  • 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 におけるスマートポインタとは スマートポインタ(smart pointers)は、データの所有権と追加機能を持つポインタであり、ポインタの進化版と言えます。 ポインタ(pointer)は、メモリアドレスを保持する変数の一般的な概念です。このアドレスは、他のデータを参照、または「指す」(points at)ものです。Rust では、参照は&記号で示され、参照先の値を借用します。通常の参照はデータを借用するだけで、特別な機能はありません。また、追加のオーバーヘッドもないため、Rust では非常に多用されます。 スマートポインタは、

    Rustのスマートポインタ解説:所有権、メモリ、安全性 - Qiita
  • https://qiita.com/Leapcell/items/c3de1f3bb460f16c96d8

  • 様々な軋轢を抱えつつもLinuxカーネルへのRust導入は進む — Rust製のドライバが今後メインラインカーネルに統合される見込み

    様々な軋轢を抱えつつもLinuxカーネルへのRust導入は進む — Rust製のドライバが今後メインラインカーネルに統合される見込み
    poad1010
    poad1010 2025/03/13
    この記事をおすすめしました
  • Rustのデータ構造をナビゲート:ベクターからハッシュセットへ - Qiita

    Rust の標準ライブラリには、基的なデータ構造として、ベクター(Vec)、ハッシュマップ(HashMap)、および集合(HashSet)が提供されています。これらの 3 つのデータ構造は、ほとんどのプログラミングシナリオで最も一般的で有用なものです。Rust の目標である「安全性」「並行性」「実用性」に適合する形で設計・提供されており、データの格納とアクセスのニーズを満たしながら、標準ライブラリの軽量性と効率性を維持しています。 ベクター(Vec) ベクターは、Rust で最も一般的に使用される動的配列の実装です。高速なインデックスアクセス、動的なサイズ変更が可能であり、メモリ上で要素を連続的に格納するため、要素の走査が非常に効率的です。これは、現代の CPU のキャッシュ機構を活用することで実現されています。 fn main() { // 空のベクターを作成 let mut numb

    Rustのデータ構造をナビゲート:ベクターからハッシュセットへ - Qiita
    poad1010
    poad1010 2025/03/11
    この記事をおすすめしました
  • Rustのクロージャの仕組み:Fn、FnMut、FnOnce - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Rust プログラミング言語において、クロージャ(closures)は非常に強力で柔軟な機能であり、無名関数を定義し、その環境内の変数をキャプチャすることができます。Rust のクロージャシステムは、Fn、FnMut、FnOnce という 3 つのコアトレイトによって定義されます。これらのトレイトは、クロージャがキャプチャした変数とどのように相互作用するか、何回呼び出せるか、環境を変更できるかを決定します。これらの理解は、Rust のクロージャメカニズムを習得し、効率的で安全なコードを書くために不可欠です。 記事では、Fn、FnMut

    Rustのクロージャの仕組み:Fn、FnMut、FnOnce - Qiita
    poad1010
    poad1010 2025/03/10
    この記事をおすすめしました
  • Rustのマッチングで@を活用 - Qiita

    Rust 言語の @ 記号は強力なパターンマッチング機能を提供し、変数のバインディングをより柔軟かつ表現力豊かにします。記事では、その基的な使い方を例とともに紹介し、複雑なシナリオでの応用、パフォーマンス上の考慮点、およびベストプラクティスについて詳しく掘り下げます。 列挙型のバリアントの値をバインドする 例えば、HTTP ステータスコードを表す列挙型があるとします: #[derive(Debug)] enum HttpStatus { Ok, NotFound, Unauthorized, Unknown(u16), // 未知のステータスコード } let status = HttpStatus::Unknown(501); match status { HttpStatus::Ok => println!("Request succeeded"), code @ HttpStat

    Rustのマッチングで@を活用 - Qiita
    poad1010
    poad1010 2025/03/09
    この記事をおすすめしました
  • Rustのライフタイム徹底解説:メモリ管理を理解する - Qiita

    ライフタイムとは ライフタイムの定義 Rust において、すべての参照(リファレンス)にはライフタイムが存在します。つまり、その参照が指している値がメモリ上に存在する期間(または、参照がコード内で有効な行数)を指します。ライフタイムは、参照がそのライフタイム全体にわたって有効であることを保証するために使用されます。これは、参照の安全性を確保するために不可欠です。 fn longest<'a>(x: &'a str, y: &'a str) -> &'a str { if x.len() > y.len() { x } else { y } } 上記のコードでは、関数 longest は 2 つの入力引数を持っており、それぞれ文字列スライスの参照です。また、返り値も文字列スライスの参照となっています。Rust はメモリ安全性を重視する言語であるため、参照の有効性を保証するためにライフタイムの

    Rustのライフタイム徹底解説:メモリ管理を理解する - Qiita
    poad1010
    poad1010 2025/03/06
    この記事をおすすめしました
  • Rust の derive を深掘り - Qiita

    Rust における derive とは何か? Rust 言語において、derive はコンパイラが特定のトレイトの基的な実装を提供できるようにする属性です。これらのトレイトは手動で実装することもでき、より複雑な動作を実現できます。 derive の登場によって解決された問題とは? derive 属性の登場によって、一部のトレイトを手動で実装する際に発生する大量の重複コードの問題が解決されました。コンパイラがこれらのトレイトの基実装を自動生成できるため、プログラマが記述するコードの量を減らすことができます。 derive の使い方 derive 属性を使用するには、型定義(例えば構造体や列挙型)に #[derive(...)] を追加するだけです。この ... の部分には、基実装を提供したいトレイトのリストを記述します。 例えば、以下のシンプルな例では、derive を使って Part

    Rust の derive を深掘り - Qiita
    poad1010
    poad1010 2025/03/04
    この記事をおすすめしました
  • 【海外記事紹介】「C++の生みの親」Stroustrup氏が、ついにメモリ安全性に関する議論に参戦 — C++コミュニティの衰退に強い危機感

    3月3日、海外テクノロジーメディアThe Registerが「C++ creator calls for action to address 'serious attacks'」と題した記事を公開した。この記事では、近年C++言語がサイバーセキュリティ界から厳しく批判されるようになった背景と、それに対してC++の創始者であるBjarne Stroustrup氏が危機感を示して呼びかけを行った点について詳しく紹介されている。 以下に、その内容を紹介する。 近年、C++はメモリ管理をプログラマが手作業で行う仕様ゆえに、メモリ安全性の問題で批判を受けてきた。特にシステムへの深刻な侵害や脆弱性の多くがメモリ関連の不具合に起因していることから、サイバーセキュリティの専門家や各国政府機関は、RustGo、C#、JavaSwiftPythonJavaScriptなど、メモリ管理がより安全に行え

    【海外記事紹介】「C++の生みの親」Stroustrup氏が、ついにメモリ安全性に関する議論に参戦 — C++コミュニティの衰退に強い危機感
  • Effective Rust - Effective Rust

    Release date: April 2024 Page count: 280 pages ISBN: 9781098151409 Available at: 🇺🇸 Amazon.com 🇬🇧 Amazon.co.uk 🇺🇸 Barnes & Noble 🇬🇧 Waterstones and many other book stores.

    poad1010
    poad1010 2025/03/03
    この記事をおすすめしました
  • 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 プロジェクトの構造 Rust を学習している多くの方がよく困惑するのは、「自分のプロジェクトのファイル構造が正しいのか?標準的なのか?」という点です。そこで、今回は基的な main.rs と lib.rs から始めて、大規模な Rust プロジェクトのコード構成について詳しく見ていきましょう。 Crate(クレート) Crate は Rust の基的なコンパイル単位です。各 Crate は独立したコンパイルターゲットとなり、ライブラリ(lib crate)または実行可能ファイル(binary crate)のどちらかになりま

    Rustにおける大規模プロジェクトの管理を極める - Qiita
    poad1010
    poad1010 2025/03/03
    この記事をおすすめしました
  • RustのCopy & Cloneトレイト:違いを見分けられますか? - Qiita

    兄弟のような Copy と Clone Rust において、Copy と Clone のトレイトは、型のコピーの挙動を制御するために使用されます。これらを使うことで、型の値をどのようにコピーするか、またどのような状況でコピーが可能かを定義できます。記事では、この二つのトレイトの役割と使い方について詳しく説明し、コード例を交えてその使用方法を紹介します。 Copy トレイト Copy トレイトは、型がビット単位でコピーできることを示します。このトレイトを実装した型は、代入、関数への引数渡し、戻り値として返す際に自動的にコピーされます。 Copy トレイトとは? Copy トレイトはマーカー・トレイト(marker trait)であり、メソッドを一切持ちません。このトレイトは単に「この型はビット単位でコピー可能である」ことを示すためのものです。

    RustのCopy & Cloneトレイト:違いを見分けられますか? - Qiita
    poad1010
    poad1010 2025/03/03
    この記事をおすすめしました
  • Rust で作る Step Functions が何でこけたかわかる君 - エムスリーテックブログ

    こんにちは、AI機械学習チームの苅野です。エムスリーに転職してそろそろ一ヶ月、今日も楽しくコードを書いています。 この記事では仕事の合間に作った Rust 製の CLI を紹介します。AWS Step Functions のステートマシンが途中で実行に失敗した時に何が原因で何回失敗したかを数えることができます。 とあるプロダクトでの Step Functions Run Task 失敗に対応する Step Functions が何でこけたか一目でわかる CLI を作る その前に: Rust で書いてどうだったか dialoguer でターミナルからステートマシンを選ぶ AWS SDK for Rust でステートマシンの一覧や実行履歴を取得する AWS SDK for Rust をテストする AWS SDK for Rust の tips We are hiring! とあるプロダクトで

    Rust で作る Step Functions が何でこけたかわかる君 - エムスリーテックブログ
    poad1010
    poad1010 2025/03/01
    この記事をおすすめしました
  • Rustのマルチスレッド性能向上:Arc最適化テクニック - Qiita

    Rust プログラミングにおいて、Arc(原子参照カウント)とミューテックス(例:Mutex)を組み合わせて使用するのは、マルチスレッド環境でデータを共有・変更するための一般的なパターンです。しかし、この方法は特にロック競合が激しい状況下でパフォーマンスのボトルネックとなる可能性があります。記事では、ロック競合を減らしパフォーマンスを向上させながらスレッドセーフを維持するためのいくつかの最適化手法を検討します。例えば、以下の例があります: 細粒度のロックの使用 性能を向上させる一つの方法は、より細粒度のロックを使用することです。これは、データ構造を複数の部分に分解し、それぞれに独自のロック機構を持たせることで実現できます。例えば、Mutex の代わりに RwLock を使用することで、読み取り操作が書き込み操作よりもはるかに多い場合に効率を向上させることができます。サンプルコードでは、デ

    Rustのマルチスレッド性能向上:Arc最適化テクニック - Qiita
    poad1010
    poad1010 2025/02/27
    この記事をおすすめしました
  • 【海外記事紹介】Rustで書かれたZlibライブラリが、C版よりも安全かつ高速に

    2月26日、Phoronixが「Rust-Written Zlib-rs Is Not Only Safer But Now Outperforming Zlib C Implementations」と題した記事を公開した。この記事では、Rustで書かれたZlib-rsが安全性のみならずZlibのC言語実装を上回るパフォーマンスを実現している点について紹介されている。 2月26日、海外テクノロジーメディアPhoronixが「Rust-Written Zlib-rs Is Not Only Safer But Now Outperforming Zlib C Implementations」と題した記事を公開した。この記事では、Rustで書かれたZlib-rsが安全性のみならずZlibのC言語実装を上回るパフォーマンスを実現している点について紹介されている。 以下に、その内容を紹介する。

    【海外記事紹介】Rustで書かれたZlibライブラリが、C版よりも安全かつ高速に
    poad1010
    poad1010 2025/02/27
    この記事をおすすめしました
  • 全 15 問 で Rust & SQL 入門!【電脳少女プログラミング2088 ─壊レタ君を再構築─】 - Qiita

    はじめに paiza1 の新作プログラミングゲーム「電脳少女プログラミング2088 ─壊レタ君を再構築─」を題材に、RustSQL の基的な用語や使い方を解説します。 このゲーム2は、「プログラミング問題」と「データベース問題」を解きながらストーリーを進めていく形式で、プログラミング初心者でも楽しく学ぶことができます。 新しく言語を学ぶときに最初のハードル になるのが『環境構築』ですが、paiza では環境構築が不要で、ブラウザ上で実行できるため、手軽にプログラミング言語やデータベース言語を学ぶことができます。 対象読者 他のプログラミング言語の経験がある方を対象としています。 SQL は経験がなくても問題ありません。 記事の構成 記事は、大きく以下の 2 つのセクションで構成されています。 プログラミング問題 データベース問題 各セクションの冒頭で「前提知識」を解説し、その後

    全 15 問 で Rust & SQL 入門!【電脳少女プログラミング2088 ─壊レタ君を再構築─】 - Qiita
  • Rust コンパイル最適化:小さく、速く、または両方? - Qiita

    あなたはすでに Rust プロジェクトの開発を完了し、現在はコンパイルに取り組んでいます。では、コンパイルされたファイルをできるだけ小さくするには?最速で動作させるには?あるいは、小さくて速い両方を実現するには? 以下のような考え方があるでしょう: ファイルを最小化する:組み込み開発向け。プロジェクトは大きくなく、複雑でもなく、元々の動作速度は十分速い。ただし、ファイルサイズを極限まで小さくしたい。 ファイルの実行速度を最大化する:ネットワークサービス向け。プロジェクトのサイズは気にせず、とにかく最大限の並列処理性能を求める。 バランスを取る:どのようなプロジェクトにも適した最適な中間点を目指す。 以下の設定を Cargo.toml ファイルに追加し、cargo b --release を実行するだけで、目的に合った最適なバイナリを生成できます。 設定例 最小の実行ファイルを生成 [pro

    Rust コンパイル最適化:小さく、速く、または両方? - Qiita
    poad1010
    poad1010 2025/02/24
    この記事をおすすめしました