並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 5835件

新着順 人気順

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

  • 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
    • JavaScript/TypeScript向け静的解析ツール「Oxlint」が正式に公開、Rustの採用で大幅に高速化

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

        JavaScript/TypeScript向け静的解析ツール「Oxlint」が正式に公開、Rustの採用で大幅に高速化
      • システムプログラミングが得意なRustを学ぶなら今!『詳解Rustプログラミング』発売

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

          システムプログラミングが得意なRustを学ぶなら今!『詳解Rustプログラミング』発売
        • Rustの未来いわゆるFuture - OPTiM TECH BLOG

          Rust 1.36がリリースされ、皆さん待望のFuture関連のAPIが安定化されました。 この記事ではFuture関連APIを巡る過去と未来を紹介します。 Q&A(TL; DR) 長くなってしまったので要約をまとめました。 細かい話は目次以降をご覧ください。 Futureは何のために必要? Futureは非同期処理を抽象化したもので、Rustにおけるあらゆる非同期処理はFutureの上に成り立ちます。 処理をFutureによって隠蔽することで、 ただ非同期に処理するだけでなく処理のパイプライン化、 すなわち単一のスレッドで複数の処理を実行出来るようになります。 futuresクレートではだめなの? async/await構文を入れるために言語コアに取り込まれました。 futures 0.1と合わせて使える? futures 0.3には互換性レイヤーがあり、相互に変換出来るため問題ありませ

            Rustの未来いわゆるFuture - OPTiM TECH BLOG
          • 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プログラミングのための環境構築

                  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
                    • 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
                      • 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で作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで

                              この本の概要 小さなプログラミング言語から本格的なプログラミング言語へ……ステップバイステップでの開発を通して,プログラミングそのものへの理解を深めよう! こんな方におすすめ コンピュータサイエンス,とくにプログラミング言語そのものやコンパイラについての素養を得たいと考えている人 他言語でのプログラミング経験があり,Rustの習得に興味のある人。とくに,学習のための題材を探している人 第1章:プログラミング言語概論 プログラミング言語の分類 他の切り口での分類方法 コンパイルパイプライン 第2章:スタックベース仮想マシン 仮想マシン概論 Rustでの実装 標準入力からの読み込み パースとコマンドの実行 ブロックとネスト構造 if制御構文 変数の定義 複数行のソースコードへの対応 関数呼び出し 関数の再帰呼び出し WebAssemblyへのコンパイルとブラウザでの実行 第3章:プログラミング

                                Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで
                              • 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
                                      • 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

                                        • Rustハンズオン第5回 WebAssembly編

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

                                            Rustハンズオン第5回 WebAssembly編
                                          • 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で将棋の局面画像生成、そして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言語のメリットと課題、「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のasync/awaitの特徴4つ - Qiita

                                                                async/awaitの最小限の機能が、 Rust 1.38.0 リリースを目標に準備されています。Rust1.36.0のリリースが2019-07-04で、Rustは6週間ごとにリリースされるので、順調にいけば 2019-09-26 頃にリリースされると思われます。もちろんnightlyではすでに試せます。 さてこのasync/awaitですが、他の言語のasync/awaitと基本コンセプトは近いものの、いくつか異なる点があります。個人的には以下のことを把握しておくとよいと思いました。 後置await構文 戻り値型 (内部戻り値型・実装ごとに異なる型) 駆動 (awaitまたはspawnしないと進まない) キャンセル (awaitポイントは中止ポイント) 本稿は現象の説明にとどめ、そうなっている理由には基本的に言及しませんが、どれもきちんと理由があってそうなっています。その点はご承知おき

                                                                  Rustのasync/awaitの特徴4つ - Qiita
                                                                • Rust についてのメモ

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

                                                                    Rust についてのメモ
                                                                  • 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言語による開発を含む初めての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 の 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の非同期ランタイムが多すぎる?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なやつを使おう!
                                                                              • 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スマートポインタ比較表 - Qiita

                                                                                  以下補足です。 効率 トレードオフを強調するために、相対的な効率を星の個数で表しています。しかし、効率をことさら気にする必要はありません。他の多くのプログラミング言語では、Rustでいうところの Arc<Mutex<T>> をデフォルトで使っているような状況です。要件にあったものを使うことが大事です。 ライフタイム 「短命」とついているものは基本的に、ある関数のスコープに紐付いた形でしか使えません。特に慣れないうちは、これらの型を構造体に入れて使うのはやめておいたほうが無難でしょう。 例外として、グローバル変数 (static, lazy_static!) は &'static 参照として扱うことができます 共有 「ポインタ」と聞くと、参照先が共有されている様子を思い浮かべる人が多いと思いますが、所有権の概念のあるRustでは必ずしもそのイメージは当てはまりません。 &mut T と Bo

                                                                                    Rustスマートポインタ比較表 - Qiita