並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 5863件

新着順 人気順

rustの検索結果321 - 360 件 / 5863件

  • Cから学ぶRustの良さ - Qiita

    背景 RustはしばしばCやC++言語と比較される記事が見られ、実際に、より開発がしやすいような機能が多々入っていると思います。そこで、私が以前業務で使用していたCと比較して、この点は、実際にRustを触ってみて良かったなと思った点をお伝えしたいと思います。 ただ、どちらかというと、Rustというより、あまり意識しなくても書けることは素晴らしいという話になるはず... Cについて Cは言わずもがな、今でも低レイヤーを扱ったりするときに用いられることもある言語です(ネットワーク、OSなど)。また、ハードウェアでも活躍しています。 マルチプラットフォームに対応しているので、環境に依存せずに実行でき、実行速度が速いことが特徴として挙げられます。 ただし、メモリを扱うことが多いため、習得難易度はやや高めとされているようです。 比較 Rustの概念として以下のようなものがあります。 安全性 並行性

      Cから学ぶRustの良さ - Qiita
    • JavaScript/TypeScript向け静的解析ツール「Oxlint」が正式に公開、Rustの採用で大幅に高速化

      Oxlintは、JavaScriptやTypeScriptのコードを調べ、エラーにつながりやすい書き方となっている部分や、必要のない部分を指摘する機能を持っている。この用途では「ESLint」が事実上の標準となっているが、100%JavaScriptで記述してあるため、実行速度が問題となっている。 Oxlintでは、プログラムを記述する言語にRustを選ぶことで処理速度を大きく引き上げた。さらに、並列処理に対応し、コンピュータのプロセッサが搭載するコアの数が増えるに従って性能が上がっていく設計になっている。さらに、テスト結果のメッセージをシンプルかつ分かりやすいものにした点も特徴として挙げられる。 正式版になる前からOxlintを試験的に使っていた米Shopifyの担当者は、ESLintを使っていた頃は自社開発のコードをテストするのに75分かかっていたが、Oxlintを使ったところ、10秒

        JavaScript/TypeScript向け静的解析ツール「Oxlint」が正式に公開、Rustの採用で大幅に高速化
      • Linus Torvalds says Rust is coming to the Linux kernel

        Maintainer lack of familiarity won't be an issue, chief insists, citing his own bafflement when faced with Perl At The Linux Foundation's Open Source Summit in Austin, Texas on Tuesday, Linus Torvalds said he expects support for Rust code in the Linux kernel to be merged soon, possibly with the next release, 5.20. At least since last December, when a patch added support for Rust as a second langua

          Linus Torvalds says Rust is coming to the Linux kernel
        • システムプログラミングが得意なRustを学ぶなら今!『詳解Rustプログラミング』発売

          Rustは2006年に開発がスタートし、Mozillaが開発を支援。近年では開発者向けのQ&Aサイト「スタック・オーバーフロー」でも好きな言語ランキングで人気を博しています。 システムプログラミングに適した言語であり、CやC++からの移行を考えている方もいるのではないでしょうか。 『詳解Rustプログラミング』ではRustの基礎や独自機能だけでなく、システムプログラミングのノウハウについても解説されています。 【本書で取り上げるジャンル】 ・メモリ操作 ・ファイルとストレージ ・ネットワーク ・時間管理 ・プロセスとスレッド ・カーネル ・割り込みと例外処理 Rustをしっかり学びたいとき、読み通すことで確かな知識を得られる1冊となっています。 目次 第1章:はじめに 第1部:Rust言語の独自機能 第2章:言語の基礎 第3章:複合データ型 第4章:ライフタイムと所有権と借用 第2部:シス

            システムプログラミングが得意なRustを学ぶなら今!『詳解Rustプログラミング』発売
          • Rust使いは要注目! WebAssemblyのコンポーネントモデルを知る ~TechFeed Experts Night#9講演より | gihyo.jp

            TechFeed Experts Night Pick up Rust使いは要注目! WebAssemblyのコンポーネントモデルを知る ~TechFeed Experts Night#9講演より 本記事は、2022年11月に開催された「TechFeed Experts Night#9 〜 Rust/WebAssemblyの「いま」を探る」のセッション書き起こし記事「Rust使いは要注目! WebAssemblyのコンポーネントモデルを知る by chikoski@」を転載したものです。オリジナルはTechFeedをご覧ください。 よろしくお願いします。今ご紹介いただきましたchikoski@です。 Rustにはコミュニティ的な関わり方が多くて、Rust.Tokyoというカンファレンスの運営をやっています。WebAssemblyは出たときからずっと仕様を追っていて、コロナの始まる前はWeb

              Rust使いは要注目! WebAssemblyのコンポーネントモデルを知る ~TechFeed Experts Night#9講演より | gihyo.jp
            • AWS、プログラミング言語「Rust」を重視する理由示す--エンジニア採用中

              印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Amazon Web Services(AWS)は、人気が高まっているシステムプログラミング言語「Rust」のオープンソースコミュニティーを支援する計画の一環として、今後さらなるRust開発者を雇用していく意向を明らかにしている。 オープンソースプロジェクトとして開発されているRustは2019年、バージョン1.0のリリースから5年を迎えた。その主な目標は、メモリー関連のセキュリティバグをFirefoxの「Gecko」レンダリングエンジンから根絶するというものだった。こういったバグの多くは、C++の「安全でないメモリーモデル」に起因しているとMozillaは説明している。 Microsoftも、CやC++で書かれた「Windows」コン

                AWS、プログラミング言語「Rust」を重視する理由示す--エンジニア採用中
              • Rustでプロジェクトオイラーを始めてみた | DevelopersIO

                こんにちは。サービスグループの武田です。 新しくプログラミング言語を身につけようと思ったとき、まずは基本的な文法をさらい、そして何かを作ってみるのが一番でしょう。人によってそれは、パーサコンビネータであったり、シンプルなWebサーバーであったりするかもしれません。 社内では、約1年前ほど前からTRPLベースでRustの学習を進める勉強会を実施していました。先日ひととおり終え、さてその後はどうしようということになったのですが、そこでやってみようとなったのがプロジェクトオイラーでした。 プロジェクトオイラー is 何 プロジェクトオイラーのAboutページから引用します。 Project Euler is a series of challenging mathematical/computer programming problems that will require more than

                  Rustでプロジェクトオイラーを始めてみた | DevelopersIO
                • RustのHashMapはentryが便利 | κeenのHappy Hacκing Blog

                  κeenです。個人的によく設計したなと思っているRustのEntry APIについて紹介します。 標準ライブラリのHashMapの操作を無駄なく書きたい人におすすめ。 Entry APIとは HashMap のEntry APIというのは私が勝手に呼んでる名前ですが、 HashMap::entry を起点にして使えるメソッド群のことを指しています。 これは「HashMap に に対応する値があればそれにXXし、なければYYする」をするときに使います。 例えば HashMap<String, Vec<String>> にキーに対応する値(Vec<String>)があれば新たな文字列をpushし、なければ空 Vec を作って新たに文字列をpushするという操作をしてみましょう。 素直に HashMap::get_mut とパターンマッチを使って書くとこうなりますね。 // 準備 let mut

                    RustのHashMapはentryが便利 | κeenのHappy Hacκing Blog
                  • Rustプログラミングのための環境構築

                    Author: blackenedgold Published: 2020-12-04 Last Modified: 2021-06-30 GitHub Source: md 概要 EmacsでのRust言語をプログラミングする際の環境構築について示します。 このページは以下の記事をemacs-jpのために再編集し投稿したものです。 Rustの環境構築(Emacs) | κeenのHappy Hacκing Blog ツールのインストール Rustupによるrustツールチェーンのセットアップは済んでいるものとして、他のツールの準備方法を案内します。 フォーマッタ、リンタ 公式で配布されているrustfmt(フォーマッタ)とclippy(リンタ)が鉄板です。 インストールは…既に上記の方法でインストールされています。 確認してみましょう。

                      Rustプログラミングのための環境構築
                    • Next.jsとRustのTypeScriptなWebAssembly生活 - Qiita

                      なんかwasmを直読み出来るんだけど Webpackがwasmの読み込みをサポートしているので、Next.jsでもちょっと設定を追加するだけで動作が確認出来ました TypeScriptの定義まで自動で行われるので、連携する上で迷うところがありません 今回作成したコード https://github.com/SoraKumo001/next-wasm RustでWebAssemblyの生成 Rustのインストール https://www.rust-lang.org/tools/install これが無いと話にならないので、とりあえずインストールする必要があります wasm-packのインストール 以下を実行してwasm-pack入れるとRustでWebAssemblyが簡単に生成できるようになります cargo install wasm-pack 必要なコード

                        Next.jsとRustのTypeScriptなWebAssembly生活 - Qiita
                      • Introduction - Rust 101

                        ⓘ A guide to aid you in your journey of becoming a Rustacean (Rust developer). See the Contributing and Code of Conduct for more information about how to contribute to this repository. Ready to start your learning journey? Read the prologue next or jump straight to the introduction of this learning guide. Disclaimer This guide is made by Glen De Cauwsemaecker and is in no way endorsed nor affiliat

                        • WebAssemblyの形態素解析器GoyaをRustで作った

                          Goyaという形態素解析器を Rust で作りました。本記事は利用者目線で Goya の紹介をします。技術的な詳細については別途記事を書きます。 形態素解析とは? (このセクションは形態素解析の基礎の話なので知ってる方は読み飛ばしてください) 形態素解析(けいたいそかいせき、Morphological Analysis)とは、文法的な情報の注記の無い自然言語のテキストデータ(文)から、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、それぞれの形態素の品詞等を判別する作業である。 — 形態素解析 - Wikipedia 例えば早口言葉の”すもももももももものうち”(スモモも桃も桃のうち)という言葉を形態素解析すると以下のような結果が得られます。スモモや桃が名詞、間にある”も・の”は助詞と解析さ

                            WebAssemblyの形態素解析器GoyaをRustで作った
                          • 「Linuxの父」トーバルズ氏が語ったリモートワーク、Rust導入、Linuxへの愛

                            Torvalds氏はまず冒頭で、自分は人前で話をするのが苦手であり、この種のプレゼンテーションはインタビュー形式で行うことにしていると述べた。これは、「自分はソフトウェアを作る人間であり、講演をするのは本分ではない」からだという。同氏は、「私は聴衆が何を聞きたがっているかを知らない。だからDirkに質問をしてもらえば、質問がまずかったとしても私の責任ではない」と冗談を言った。 最初の話題は、コロナ禍がカーネル開発に与えた影響についてだった。結論から言えば、コロナ禍はカーネル開発にはあまり影響を与えず、むしろ生産性が向上したという。Torvalds氏は、「今言ったことの一部は撤回する。コロナ禍は確かに、多くの開発者に影響を与えた。しかし、ロックダウンが始まってから最初の数カ月間に誰かが開発の観点から行った調査で、生産性が上昇したことも分かっている。これは、私たちが今までもすべて電子メール越し

                              「Linuxの父」トーバルズ氏が語ったリモートワーク、Rust導入、Linuxへの愛
                            • Introduction - Rust Full Stack Workshop

                              Welcome to the this workshop! In this hands-on workshop, we will guide you through the process of building a full stack application using Rust for the API, Actix-Web as the web framework, SQLx for database connectivity, Dioxus for the front-end, and Shuttle for deployment. This workshop assumes that you have a basic understanding of Rust and its syntax. Throughout the workshop, you will learn how

                              • Rustのプロジェクトを始める前に知っておきたかったこと - Qiita

                                先日AWS lambdaをRustで実装する案件をやった。工数的には1ヶ月もないくらい。 Rustは6,7年前にちらっと勉強しただけで、実質未経験だったけど、ちょっとした案件だったので、わからないことはRust by exampleなどを見ながらどうにかなると思ってた。 実際は、ライブラリの作法や事情/背景を知らず混乱したり、雰囲気で分かったと思っていても裏側の仕組みを認識してなくて、後々ハマることが多かった。そこで少し前の自分向けに事前にこういうこと知っておきたかったと思ったことをまとめておく。 識者の方々には不正確なところ、間違ってはいないがミスリードしそう、言い回しが不自然、これも触れたほうが親切、等々、ご指摘いただけると助かります。 Resultに関する諸々 Rustにはtry-catchの例外機構はない。他の言語でいうところのEither型と同じ構造のResult型を使う。

                                  Rustのプロジェクトを始める前に知っておきたかったこと - Qiita
                                • AWSで使うRust

                                  κeenです。この記事では IdeinでのAWSの利用例の開示の一環として、どのようにRustをAWS上で動かしているかをご紹介します。 Ideinの提供しているサービスActcastではサーバの主たる部分をRustで書いています。 はじめの頃は本当にRustだけだったのですが、各方面に秀でたメンバーが集まった結果、今ではHaskellやTypeScript、一部ですがGoも動いています。 そもそもRustの採用事例が少ないことからRustをAWSで扱う知見はそこまで多くなさそうです。 そこで今回はIdeinでどのようにAWS上でRustを動かしているか、動かすにあたって必要だった知見などを紹介していきます。 全体像全体の中で、Rustが動いている環境はECSとLambdaです。 ECSで動いているのはActcastのバックエンドAPIで、Actcastのサーバ本体とも言える部分です。 L

                                    AWSで使うRust
                                  • 「Rust Foundation」が年内にも設立。Rust言語のコアチームとMozillaが発表

                                    Rust言語のコアチームとMozillaは、年内にもRust言語の開発に関する独立したガバナンスを持つための財団「Rust Foundation」を設立すると発表しました。 追記:2021年2月9日に正式に設立されました(Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー) Rust言語は、C言語のように低レベルのシステム開発向けに作られたプログラミング言語です。 不正なメモリ領域を指すポインターなどを許容しない安全なメモリ管理や、マルチスレッド実行においてデータ競合を排除した高い並列性を実現している点などの特長を備えているため、安全かつ高速なアプリケーション開発を実現します。 Mozillaの新型高速ブラウザエンジンの「Servo」の開発などに使われていることが知られています。 2020年6月に発表され

                                      「Rust Foundation」が年内にも設立。Rust言語のコアチームとMozillaが発表
                                    • Rustの標準ライブラリは小さいのか? - Qiita

                                      はじめに 「Rustの標準ライブラリは小さい」と言われます。実際、正規表現や乱数など多くの言語で標準ライブラリに入っているようなものが、Rustの標準ライブラリにはありません。こうなっている理由は「標準ライブラリに入っていなくても依存関係を簡単に追加できる」「後方互換性を保ちながら大きな標準ライブラリを維持するのは難しい」といったことが挙げられます。もちろん標準ライブラリが小さいと不便なこともあり「サードパーティライブラリの選択が難しい」というのはよく言われるところです。 ところでRustの標準ライブラリは実際に小さいでしょうか?小さいというと、どうしても低機能・できることが少ないというイメージになりますが、個人的な印象としては「Rustの標準ライブラリはカバー範囲は狭いが高密度」というものです。 あまりこういう観点で書かれたものは見たことがないので、この記事ではRustの標準ライブラリの

                                        Rustの標準ライブラリは小さいのか? - Qiita
                                      • Rustで将棋の局面画像生成、そしてCDN Edgeで動的生成 - すぎゃーんメモ

                                        背景 先行・類似事例 自作のメリット Rustで局面画像生成 盤・駒画像の素材 画像処理 入出力 Generatorと下準備 Publish Web Appで使う CDN Edgeで動かす wasm-packでWebAssembly作成 Deno Deploy Vercel Edge Functions Cloudflare Workers Fastly Compute@Edge その他 まとめ Repository 背景 ATrium という AT Protocol のためのライブラリを自作している が、まったくドッグフーディングしていなかった ので、Blueskyに詰将棋の問題を放流するBotを作ってみることにした gfx氏が作ったBot を参考に というわけで、詰将棋の問題の局面を画像で投稿したい が、あまり自分好みの画像を生成できるライブラリやWebサービス等がない ので、結局それ

                                          Rustで将棋の局面画像生成、そしてCDN Edgeで動的生成 - すぎゃーんメモ
                                        • Rustハンズオン第5回 WebAssembly編

                                          2021/05/12に開催した社内向けハンズオンの資料です。

                                            Rustハンズオン第5回 WebAssembly編
                                          • Rustを選んで後悔している ー Rustをdisる珍しい記事が海外で話題

                                            6月29日、Austin Starks氏が「I spent 18 months rebuilding my algorithmic trading platform in Rust. I’m filled with regret.」と題した記事を公開した。この記事では、Rust言語を用いてアルゴリズム取引プラットフォームを再構築した経験と、その結果、Rust言語に対して批判的なスタンスを取るようになった理由が詳しく述べられている。 著者はその高速性と安全性から、Rustが完璧なプログラミング言語であると信じていた。多くのガイドや記事がRustを絶賛しており、著者もその波に乗ってTypeScriptからRustへの移行を決意した。しかし開発に18ヶ月を費やした結果、著者はその選択を後悔することとなった。 著者が特に問題視したのは以下の点である。 1. 冗長で直感に反する構文と意味論 Rust

                                              Rustを選んで後悔している ー Rustをdisる珍しい記事が海外で話題
                                            • Rust大好きっ子のためのデータベース考

                                              経緯 趣味プロジェクトとしてRustをサーバーサイドに採用したWebアプリケーションをぼんやり考えています。その過程で、データベースのチョイスについてかなり悩んだので、一度ここでまとめておきます。 前提 データベースに入れるデータは ・ユーザーデータ(名前、メールアドレスなど) ・アイテムデータ(ユーザーが登録するもの。アイテム名、更新時間など) といったごく一般的なものを考えます。 サーバーサイドのフレームワークは、actix-web…で考えていましたが、最終的には非同期ランタイムとしてtokioを使うaxumにしました(理由は後述)。 また、データ量やアクセス頻度については仮定をおきません。巨大なデータを扱うということになれば、おそらくその時点でかなり候補が絞られることになるかと思いますが、今回は運用面でのパフォーマンスの差については扱わないものとします。 特に今回は「趣味」なので、趣

                                                Rust大好きっ子のためのデータベース考
                                              • Rust で DDD を実践しながら API サーバーを実装・構築した(つもり) - Qiita

                                                Rust 勉強中の身ですので、何かしら作ってみようと思い立ち、 API サーバーを構築してみました。 自力で一から公開できるサーバーを構築したのは初めてでしたので、試行錯誤の過程を記事にします。 作ったもの 何の変哲もない API サーバーです。 成果物は こちら にアップしました。 API サーバー Rust で実装 Web フレームワーク(Actor): actix-web ORM: Diesel Docker イメージにして Heroku で稼働させる DB サーバー PostgreSQL を利用する Heroku PostgreSQL で稼働させる 開発方針 上記のインフラ構成を目標として、以下の開発方針を軸として調査や検証を行いました。 ローカルでの開発とサーバーへのデプロイはスムーズにできるようにする。 ローカルでテストや動作確認がスムーズにできるようにする:Docker の利

                                                  Rust で DDD を実践しながら API サーバーを実装・構築した(つもり) - Qiita
                                                • GitHub - pemistahl/grex: A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases

                                                  grex is a library as well as a command-line utility that is meant to simplify the often complicated and tedious task of creating regular expressions. It does so by automatically generating a single regular expression from user-provided test cases. The resulting expression is guaranteed to match the test cases which it was generated from. This project has started as a Rust port of the JavaScript to

                                                    GitHub - pemistahl/grex: A command-line tool and Rust library with Python bindings for generating regular expressions from user-provided test cases
                                                  • Rustとアセンブリで実装された新たなRuby処理系 JITコンパイルをサポートして速く動く「monoruby」

                                                    Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。monochrome氏は、Ruby処理系「monoruby」について発表しました。 高速な実行が可能なRuby処理系「monoruby」 monochrome氏(以下、monochrome):monochromeといいます。今日は「機械語で書くRuby処理系のその後」ということで、前回の発表のその後を報告いたします。 自己紹介です。monochromeといいます。(スライドを示して)Twitterはこれです。最近、Twitterは治安が悪いので、Mastodonにアカウントを作りました。RustでRubyの処理系を作っています。プログラミング処理系、言語処理系が好きな人の集まりのSlackとか、最近はこの「Zulip」というアプリに移動して、こ

                                                      Rustとアセンブリで実装された新たなRuby処理系 JITコンパイルをサポートして速く動く「monoruby」
                                                    • Rust言語のメリットと課題、「Azure IoT Edge」の事例から分かること

                                                      Microsoft Security Response Center(MSRC)は2019年9月30日(米国時間)、Microsoft社内におけるRust言語の採用事例を発表した。 「Azure IoT Edge」のセキュリティデーモンコンポーネントを実装するプログラミング言語として「Rust」を選択した背景と、実装過程で分かったメリットと課題が分かる。 Azure IoT Edgeは、MicrosoftのAzure IoTチームが手掛けるオープンソースのクロスプラットフォームソフトウェアプロジェクト。プロジェクトの目的は、クラウドからオンプレミスネットワーク内のエッジへとコンピューティング機能の分散を進め、管理する上での問題解決だ。 Azure IoT Edgeのセキュリティデーモンは、Azure IoT Edgeランタイムを起動(ブートストラップ)する。さらに、Azure IoTランタ

                                                        Rust言語のメリットと課題、「Azure IoT Edge」の事例から分かること
                                                      • Rust+wasmでSVGを生成したら10倍速くなった | Marginalia

                                                        https://contrib.rocks はGitHubのAPIから取得したコントリビューター情報からSVG画像を生成している。これまでは SVG.js を使ったTypeScriptでの実装だったが、興味本位でRustで実装したものをWebAssembly(wasm)として実行するようにしたところ、パフォーマンスが顕著に向上したためそのまま採用することにした。 Rustもwasmもまともに触ったのは今回がはじめてだったため、実装には洗練する余地が多分にあるだろうが、この記事ではとりあえず作業の記録を書き残す。 NxワークスペースにRustをセットアップするまずはじめに、Nxのワークスペース内でRustの開発環境を整えた。Cargoにもワークスペース機能があり、複数のプロジェクトの依存関係解決を集約できる。 ドキュメントに従い、ワークスペースのルートディレクトリに Cargo.toml を

                                                          Rust+wasmでSVGを生成したら10倍速くなった | Marginalia
                                                        • 2019年にRustで初めてツールを作るときに役にたったリンク集 - Qiita

                                                          Rustで作るツールのお試しとして https://github.com/yutakatay/dotplugs を作りました。ツール自体は大したことはしていないので、作る際によく参考にしていたサイトと使い方を紹介しようと思います。 調べたところリンク集はすでにあって、以下は体系的にまとまっていました。 - https://qiita.com/mosh/items/7e327dafbe53b72ad99d - http://letten.hatenablog.com/entry/the-rust-resources-ja ここではより実践的に役にたったもの(主に日本語で)を上げて行きたいと思います。 書き始める前に準備すべきツール 実際にコードを書く前に絶対にあったほうが便利なツールを紹介しておきます。英語ですが公式にも載っています。 https://www.rust-lang.org/to

                                                            2019年にRustで初めてツールを作るときに役にたったリンク集 - Qiita
                                                          • Rustは難しい言語ではない。気軽に始めてみるところからスタートしよう。Rust活用企業の現場に聞いてみた - Findy Engineer Lab

                                                            2021年8月に約1000名のエンジニアに対し「今後、習得・強化したいプログラミング言語」と題してアンケートを実施したところ、多くのエンジニアが今後習得したい言語はRustであると判明しました。 Rustに関する知見を深めるため、2021年9月7日(火)には「最新バックエンド井戸端会議vol.2」と題し、オンラインイベントを開催。『実践Rustプログラミング入門』の著者である吉川さんと松本さんをお招きし、お話を伺いました。 本稿では、イベント内で語られたRustを導入するポイントや、エンジニア採用のコツについて一部抜粋してまとめています。 Rustに関心のある方や技術選定を任されている方は、ぜひご一読くださいね! Rustを導入するのに重要なこととは? 現状ではRustエンジニアの採用難易度は高い Q&Aセッション Rustを広めるためには、まずは自分がやってみる Rustは難しい言語では

                                                              Rustは難しい言語ではない。気軽に始めてみるところからスタートしよう。Rust活用企業の現場に聞いてみた - Findy Engineer Lab
                                                            • moldを使うとRustのビルドが速くなる | κeenのHappy Hacκing Blog

                                                              このエントリはRust Advent Calendarの2日目の記事です。 空いてる日を埋める担当のκeenです。2日目が空いてたので遡って記事を投稿します。 最近v1.0.0がリリースされたリンカ、moldを使うとビルドが高速化するよというお話です。 Rustのビルド、特にインクリメンタルビルドにおいてはRustコンパイラの速さと同じくらいリンカの速度がコンパイル時間に影響します。 この最後のバイナリを作る時間は意外と効いてきます。 具体例としてActix Webにあるexample、 basic をインクリメンタルビルドする例をみてみましょう。 この basic はたった42行の小さなアプリケーションです。 ただし、依存に Actix Webという巨大なライブラリを使っているので最終的なバイナリには非常に多くのコードが含まれます。フレームワークを使ってアプリケーションを開発してるときに

                                                                moldを使うとRustのビルドが速くなる | κeenのHappy Hacκing Blog
                                                              • Rust についてのメモ

                                                                *ディレクトリツリーは・矢印で展開・1click で詳細表示・2click でリンク先へ

                                                                  Rust についてのメモ
                                                                • Rust の DI を考える — Part 1: DI とは何だったか - paild tech blog

                                                                  paild 社でお手伝いをしている yuki です。みなさんは Rust で DI をしようと思った際に困ったことはありませんか?この連載では、他のプログラミング言語で利用される DI パターンを参照しながら、Rust でそれを実装するためにはどのような工夫が必要かまでを検討します。中には Rust での実装が難しいパターンも出てくるかもしれません。その際は、なぜ難しいのかまでを検証します。 そこそこの規模のソフトウェアを実装するにあたって、ソフトウェアエンジニアが共通して利用する手法がいくつかあると思います。その中でも DI (Dependency Injection; 依存オブジェクト注入) は最もポピュラーな手法の一つであり、保守運用まできちんと耐えうるソフトウェアの設計をしたいとなったときに、まず真っ先に候補に上がる手法でしょう。 Rust ではこの DI をどのように行えばよいの

                                                                    Rust の DI を考える — Part 1: DI とは何だったか - paild tech blog
                                                                  • RustでProtocol BuffersからGraphQL BFFを自動生成してみた知見 | Wantedly Engineer Blog

                                                                    Wantedlyでインターンをしている遠藤です。インターンのタスクとして「RustでProtocol BuffersからGraphQL BFFを自動生成する」という技術検証を行ったので、その知見を共有したいと思います。 今回の技術検証で作成したツールのソースコードはここにあります: EXPERIMENTAL] Generate GraphQL schema and gateway from Proto definitions. Licensed under either of Apache License, Version 2.0 or MIT license at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in

                                                                      RustでProtocol BuffersからGraphQL BFFを自動生成してみた知見 | Wantedly Engineer Blog
                                                                    • Rustによる機械学習概覧を技術書典11に寄稿するまでの軌跡 - Stimulator

                                                                      - はじめに - 今回、技術書典11に「Rustによる機械学習概覧」というタイトルで、所属企業であるエムスリー株式会社の執筆チームより出る「エムスリーテックブック3」に文章を寄稿した。 執筆チームからの熱いコメントは以下。 販売ページは以下。 techbookfest.org 本ブログは、エムスリーテックブック3を企画して立ち上げてから、自分で同人誌を書くまでのお気持ちを綴った、所謂ポエムである。 - はじめに - - Rustによる機械学習への想い - - エムスリーテックブック3の立ち上げ - - おわりに - - Rustによる機械学習への想い - ポエムといえば自分語り、自分語りといえばポエム。まず思い出に浸ろう。 私が機械学習を初めて実装したのは高専の頃。あの時はC/C++とJava、C#なんかを使って、何とかアルゴリズムを理解して実験していた。VisualStudioの起動に悠

                                                                        Rustによる機械学習概覧を技術書典11に寄稿するまでの軌跡 - Stimulator
                                                                      • Rustの `Arc` を読む(1): Arc/Rcの基本 - Qiita

                                                                        概要: Rustの Arc 型の実装は宝の宝庫です。そこで、これを隅から隅まで解説してみます。 第1回「Arc/Rcの基本」では、実際に Arc のソースを読む前に Arc/Rc の使い方を解説します。 第1回 Arc/Rcの基本 第2回 Rcを読む基本編 第3回 Rcを読む発展編 第4回 アトミック変数とメモリ順序 第5回 Arcを読む はじめに Arc<T> はRustの基本的な型のひとつですが、 Box<T> のようにコンパイラに特別扱いされているわけでもなく、実装も比較的コンパクトです(コメントやテスト、安定性に関する指示などを除いて500LOC程度) その一方で Arc は並行性制御や Deref, ドロップチェッカー, Unpin, Layoutの扱いなどRustをよりよく理解するための題材を多く含んでいます。そこで本記事では Arc<T> の実装を読んでいきます。 とはいえ、

                                                                          Rustの `Arc` を読む(1): Arc/Rcの基本 - Qiita
                                                                        • 詳解 Rustアトミック操作とロック

                                                                          Rustでは並行性を持つプログラムを安全に記述することができます。本書はその並行プログラムの基盤となる、アトミック操作とロックの仕組みについての理解を深め、より安全で効率の良いコードを書くための指南書です。難解だと思われがちなアトミック処理、ロック、メモリオーダリングのような低レイヤを詳細に理解し、アーキテクチャやOSによる相違を知ることで、安全で高性能な並行処理プログラムを実装できるようになります。Rustユーザはもちろん非ユーザにとっても低レイヤプログラミングの優れたリソースとなる一冊です。 序文 まえがき 1章 Rust並行性の基本 1.1 Rustのスレッド 1.2 スコープ付きスレッド 1.3 所有権の共有と参照カウント 1.3.1 static 1.3.2 リーク 1.3.3 参照カウント 1.4 借用とデータ競合 1.5 内部可変性 1.5.1 Cell 1.5.2 RefC

                                                                            詳解 Rustアトミック操作とロック
                                                                          • マイクロソフト、Rust言語による開発を含む初めてのWindowsカーネルをInsiderプログラム参加者向けに提供開始

                                                                            マイクロソフト、Rust言語による開発を含む初めてのWindowsカーネルをInsiderプログラム参加者向けに提供開始 Microsoft AzureのCTOを務めるMark Russinovich氏は、Rust言語を採用して開発されたファイルを含む初めてのWindowsカーネルが、正式リリース前のWindowsを試用するWindows Insiderプログラム参加者向けに提供開始されたことをツイートで明らかにしました。 If you're on the Win11 Insider ring, you're getting the first taste of Rust in the Windows kernel! pic.twitter.com/uyZkK2vRLY — Mark Russinovich (@markrussinovich) May 10, 2023 ツイートでは、Wi

                                                                              マイクロソフト、Rust言語による開発を含む初めてのWindowsカーネルをInsiderプログラム参加者向けに提供開始
                                                                            • 趣味Rustから業務Rustへ

                                                                              こんにちは!プロダクト開発部の熊谷です。 Fairy Devices(フェアリーデバイセズ) の 入社エントリ を書きます!! 背景 私が Rust に出会ったのが2019年。それまでは C, C# をよく書いていましたが、 Rust の型システムやメモリ安全性、パフォーマンスに魅了され、ますます没頭していきました。 当時学生だったわけですが、新卒時は Rust にこだわらず仕事の安定性を求めて、 SIer 業界に就職しました。 そこで働きつつ、こんなことを思っていました 業務でも Rust を書きたい! 自社製品を開発したい! 5000兆円欲しい! 業務経験も乏しい上に Rust の求人はまだ少なく狭き門になると考え、個人開発や勉強会への参加など頑張っていました。 そんなとき、 Rust.Tokyo で当社の存在を知り、入社に至りました。 何をやっているか mimi®クラウドAI のサー

                                                                                趣味Rustから業務Rustへ
                                                                              • A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler

                                                                                I wrote a basic search module that you can add to a static website. It's very lightweight (50kB-100kB gzipped) and works with Hugo, Zola, and Jekyll. Only searching for entire words is supported. Try the search box on the left for a demo. The code is on Github. Static site generators are magical. They combine the best of both worlds: dynamic content without sacrificing performance. Over the years,

                                                                                  A Tiny, Static, Full-Text Search Engine using Rust and WebAssembly | Matthias Endler
                                                                                • Rustの非同期ランタイムが多すぎる?io_uringなやつを使おう!

                                                                                  AWS、Google、Microsoftらが、Rust Foundationを設立し、今やRustでなければクラウドネイティブじゃない、と言っても過言ではありませんよね。クラウドネイティブと言えば、スケーラブルなシステム、Goはgoroutineを標準機能として提供しますが、Rustのasync/awaitは、標準機能に含まれていない外部ライブラリを必要とします。悪いことに、複数のライブラリ(非同期処理ランタイム)が乱立し、APIの互換性もありません。Rustはクラウドネイティブなのだろうか、という疑問を抱きながら、いくつかのランタイムの性能を、いつものgRPCベンチマークで比較してみました。 比較対象数多くのランタイムの中から、前回の記事で試した、Linuxの新しい非同期I/Oインターフェイスのio_uringを利用しているglommioと、普及している思われる、tokio、smol、a

                                                                                    Rustの非同期ランタイムが多すぎる?io_uringなやつを使おう!