並び順

ブックマーク数

期間指定

  • から
  • まで

401 - 440 件 / 5879件

新着順 人気順

rustの検索結果401 - 440 件 / 5879件

  • Rustの構造体に文字列を持たせるいくつかの方法 - Qiita

    きっかけ Rust Programming Language Forumにこんな質問が出ていました。 構造体にStringを持たせられるようにStringを受け取りたいです。これを実現する方法はいくつかあります。 &str String T: Into<String> T: AsRef<str> 例: pub struct Person { name: String, } impl Person { pub fn new(name: WhatTypeHere) -> Person { Person { name: name.some_conversion() } } どれが一番Rustらしい書き方ですか? 単純に構造体に文字列を持たせる方法はいくつかあるのですが、実はその実装方法によって文字列のコピーやアロケーションの回数が異なります。 ここでは、上記の4つの場合と、コメント欄で提案されて

      Rustの構造体に文字列を持たせるいくつかの方法 - Qiita
    • Rust for Linuxを手元で試す

      RustをLinuxカーネルに組込みプロジェクト、Rust for Linuxが進行中です。 このプロジェクトはLinuxカーネル全体をRustで置き換えるわけではなく、第二言語としてRustを採用してデバイスドライバなどのモジュールを書くことができるようにしようというものです。 RustはOSのような低レイヤーソフトウェアを実装する言語として、C言語に代わる選択肢として注目されてきたわけですが、Linuxのような広く使われているシステムに採用されるとなればかなり熱いですね。 実際にLinuxのメインラインに取り入れられるにはまだまだ課題は多いものの、Linus氏を含むLinuxの開発者からのフィードバックも比較的ポジティブでこれからが注目されています。 そんなRust for Linuxを手元でビルドして動かしてみました。 一応、基本的な手順はレポジトリ内のドキュメントにまとまっているの

        Rust for Linuxを手元で試す
      • YJIT: Dive into Ruby's JIT compiler written in Rust / Rust.Tokyo 2022

        Rust.Tokyo 2022

          YJIT: Dive into Ruby's JIT compiler written in Rust / Rust.Tokyo 2022
        • Rust製TypeScriptコンパイラstcの現状と今後 | メルカリエンジニアリング

          この記事は、Merpay Tech Openness Month 2023 の2日目の記事です。 メルペイFrontendエンジニアの@togami2864です。普段はPartner Platformというチームで加盟店申込みフォームや審査・管理を行うためのMerchant Supportツールの開発・運用を担当しています。 本記事ではRust製TypeScriptコンパイラであるstcについて筆者の観測範囲での概要、開発状況、課題等を紹介します。なお、内容は全て2023年5月時点のものです。また、本記事の一部は Node学園 41時限目 書籍について で発表したものと重複していることをご了承ください。 概要 stcは2022年10月にオープンソース化されたRust製のTypeScriptコンパイラです。 https://github.com/dudykr/stc 製作者はRust製のトラ

            Rust製TypeScriptコンパイラstcの現状と今後 | メルカリエンジニアリング
          • 二分探索木 - Rustではじめるデータ構造とアルゴリズム(第2回)

            Rustの特徴のひとつは、所有権(ownership)・移動(move)・借用(borrow)の概念です。これらがコンパイル時に厳格にチェックされることにより、古くから未定義挙動でプログラマを悩ませてきたダングリングポインタなどの問題がなくなり、メモリ安全性がもたらされます。 しかし一方で、自分で多少複雑なデータ構造を定義しようとする場合にはコンパイルを通すだけでもかなりの知識・力量が要求されます。 この(不定期)連載では、 Rustではじめるデータ構造とアルゴリズム と題し、プログラミングコンテストなどでよく見かける基礎的なデータ構造とアルゴリズムを、できるだけシンプルにRustで実装していきます。 &, &mut, Box, Rc, Cell, RefCell などの使い分けや、なぜそれを使う必要があるかの解説を、実例を通して行います。 今回第2回では、 二分探索木 を取り扱います。値

              二分探索木 - Rustではじめるデータ構造とアルゴリズム(第2回)
            • RustなしでLayerX Labsの開発は語れない - LayerX エンジニアブログ

              はじめに こんにちは。LayerX Labs(以下、Labs)エンジニアのきむ(@jkcomment)です。秘匿化モジュール「Anonify」の開発や大手金融機関や行政等との実証実験に携わっています。 Labsの開発はRustからはじめ、Rustで終わる tech.layerx.co.jp 先日、恩田(さいぺ)の方からAnonifyとRustについての話をしましたが、Rustは速度・安全性・効率的な並行性を特徴とし、C,C++と同等な性能を発揮しつつ、システムプログラミングに適した言語です。Anonifyはハードウェアレベルの機密性を実現するために Trusted Execution Environment (TEE) の一種であるIntel SGXを活用しています。Intel SGXはIntelのCPUが提供しているメモリ上に「Enclave」と呼ばれるハードウェア的に厳重に保護された領

                RustなしでLayerX Labsの開発は語れない - LayerX エンジニアブログ
              • Rustで設定値を持つにはどうしたらいいですか | κeenのHappy Hacκing Blog

                κeenです。Rustではじめてアプリケーションを書くときに困りがちなことの1つにグローバルな値を持つにはどうしたらいいか分からないというのがあるようです。 その書き方を何パターンか紹介しできたらなと。 一応この記事には元ネタというかインスパイア元があり、以下のリポジトリも見ながら書かれています。 https://github.com/paulkernfeld/global-data-in-rust let にする 一番よくあるケースだとCLIや起動時に読み込んだ設定ファイルの値をどうするかでしょう。データの性格として起動時に一度だけ生成してあとは(ほとんど)いじらないようなものです。そういうものは main 関数内で let して、あとは借用で持ち回ればよいです。 起動時にファイルかろ設定値を読み込んで動くアプリケーションを雰囲気で書くとこんな感じです。 use std::io; str

                  Rustで設定値を持つにはどうしたらいいですか | κeenのHappy Hacκing Blog
                • The Rust Programming Language 日本語版 - The Rust Programming Language 日本語版

                  The Rust Programming Language 日本語版 著:Steve Klabnik、Carol Nichols、貢献:Rustコミュニティ このテキストのこの版ではRust 1.58(2022年1月13日リリース)かそれ以降が使われていることを前提にしています。 Rustをインストールしたりアップデートしたりするには第1章の「インストール」節を読んでください。 HTML版はhttps://doc.rust-lang.org/stable/book/で公開されています。 オフラインのときは、rustupでインストールしたRustを使ってrustup docs --bookで開けます。 訳注:日本語のHTML版はhttps://doc.rust-jp.rs/book-ja/で公開されています。 rustupを使ってオフラインで読むことはできません。 また、コミュニティによるい

                  • Rust の機械学習ライブラリ smartcore に入門してみた。

                    はじめに たまには Rust も書きます。機械学習に興味があり、興味があれば何でも触ります。 smartcore とは とある Rust の機械学習に詳しい人に、最近の Rust の機械学習ライブラリのデファクトぽいのを聞いたところ、丁寧に linfa か smartcore を教えて貰いました。はじめに linfa を試したのですが、うまく行きませんでした。僕は Rust の toolchain で gnu(mingw) を使う派なのですが、linfa は Intel MKL をリンクする必要があり、Intel MKL は MSVC 形式のライブラリしか提供していません。DLL から .a を生成してリンクしてみたりもしましたが、結局うまくリンクできず諦めてしまいました。MSVC の toolchain や他の OS(Linux) だと問題なく動くんだと思います。 しかたなく、残りの s

                      Rust の機械学習ライブラリ smartcore に入門してみた。
                    • Rust初学者が脱初心者するためにした事 - Qiita

                      🦀はじめに🦀 はじめまして、🦀カニさん🦀です。 プログラミング歴2年目の趣味グラマーで、去年はDataCampでひたすらPythonをやっていました。 しかし途中で飽きてしまいRust入門🦀 現在はRustの学習とその備忘録も兼ねて「Rust入門」というブログを運営しています。 ブログは海外製の優良テーマを買ってマニュアル通りに設定し、Github から CloudFlare Pages に自動デプロイという感じです。 なので、JavaScriptに関しては全くと言っていい程理解していません。HTMLとCSSもチートシートが無いと何もわかりません。 (実は2年前はコマンドプロンプト恐怖症でした🦀💦) でも理解してなくてもマニュアル通りに進めればきちんと自分のブログが構築できるのは素晴らしい事ですね!🦀 Twitterでは仕入れた知識を断片的にアウトプットしています。-> @

                        Rust初学者が脱初心者するためにした事 - Qiita
                      • ゼロからはじめるプログラミング言語Rust(1) プログラミング言語「Rust」がプログラマーに愛される理由とは?

                        プログラミング言語「Rust」とは? Rustというプログラミング言語がある。比較的新しいプログラミング言語で、ここ数年でジワジワと人気が上昇中だ。Rustは2006年、当時Mozillaで働いていたGraydon Hoare氏が個人的に開発を始めたプログラミング言語で、2010年頃から広く知られるようになった。現在では、Mozillaが開発を支援しており、Firefoxとともに進化を続けている。 プログラミング言語「Rust」 実のところ、毎年のように新しいプログラミング言語が生まれているが、シェアトップ10に食い込んでくるプログラミング言語はほとんど変わらない。マイナーなプログラミング言語は結局マイナーなままだ。この10年間では、Pythonが上位に躍り出てきたことが例外ともいえ、それ以外のプログラミング言語の人気はそれほど大きく変わっていない状況だ。 しかし、ここにきてRustが出て

                          ゼロからはじめるプログラミング言語Rust(1) プログラミング言語「Rust」がプログラマーに愛される理由とは?
                        • Rustでコードを書くゲームエンジンのBevyを使ってインベーダーゲームを作る動画を紹介

                          Rustはメモリーセーフを目指すシステムプログラミングとして知られているが、用途はそれだけに限らない。今回は、Rustがゲームにも使えるプログラミング言語であることを、インベーダーゲームを作りながら解説する動画を紹介する。これはBevyというゲームエンジンを利用して開発するもので、RustのマスコットであるFerrisがシューターとして、ランダムに飛来してくるインベーダーをレーザーで攻撃して撃墜するというゲームだ。 動画は1時間20分程度という長さであるが、ゲーム開発の手法のひとつであるEntity Component System(ECS)によって徐々にゲームの要素を組み上げていくという内容になっている。ソースコードの構造はゲームの要素であるシューターをPlayer、インベーダーをEnemy、シューターが使うレーザー光線をLaserなどに分離して、それぞれ属性やロジックを組み上げていくと

                            Rustでコードを書くゲームエンジンのBevyを使ってインベーダーゲームを作る動画を紹介
                          • 難しくても「Rust」を学びたくなってしまう理由

                            関連キーワード アプリケーション開発 | プログラミング プログラミング言語「Rust」は、特に高速な動作速度や高い安全性が求められるアプリケーションを開発する際にメリットが際立つ。その半面、開発者の学習曲線は険しいという見方がある。 仕組みが大きく異なる他のプログラミング言語からRustに移行すると、開発者の生産性が悪くなる恐れもある。例えばプログラミング言語「Go」は、自動でメモリ領域を解放するメモリ管理技術「ガベージコレクション」を採用しているため、開発者はメモリ管理の負担を軽減できる。Rustの場合は開発者が意図的にメモリを操作しなければならない。これが原因で全体的な開発スピードが低下することもある。 併せて読みたいお薦め記事 新興のプログラミング言語 プログラミング言語「Rust」が「C」「C++」の後継になるこれだけの根拠 プログラミング言語「Go」の魅力とは? 「Goで“脱C

                              難しくても「Rust」を学びたくなってしまう理由
                            • 新米Rustaceanの🌾🦀による🌾🦀のためのRust入門「C++/C#プログラマーでも読めるようになる」

                              Rustで簡単なツールを作ってみました。はじめてのTUI(モドキ)のツールです。 このバージョン0.1.0を作ったことで得られた知見をまとめてみます。 長文になってしまったので目次をうまく使ってください。(スマホ画面だと上部の目次をタップしないと表示されないので少し見づらいです。) 「いいね」、「ツイート」、「バッジを贈る」、「コメント」大歓迎です! 作成ツール紹介 みなさん、timeコマンドでコマンドの実行時間を計測しますよね?Rust製のhyperfineというツールがあり、複数回実行して平均を出したり、複数コマンドを比較できたり便利です。 これを見て私はメモリ使用量も計測できたらうれしいなと思ったんです。 そう、このmntimeコマンドを使えば、実行時間とメモリ使用量の平均値が分かるんです! そんなツールですがRustで作った経緯は、最近ターミナル環境を整えました。そのとき、モダンで

                                新米Rustaceanの🌾🦀による🌾🦀のためのRust入門「C++/C#プログラマーでも読めるようになる」
                              • Ruby gem で Rust をつかって爆速にしたい!!!!!!11

                                Ruby Gems で Rust が Native として利用可能になった のでとりあえず UUIDv4 を生成してみた。 リポジトリ 準備 Ruby 側の gem に Rust を利用する準備として rb_sys と rake-compiler を利用します。この二つの gem は native compile するためにインストールしておきます。 Rust 側から Ruby へ関数を公開するために rb-sys と magnus を利用します。 gem install とりあえず cargo で Rust のパッケージを作って Rust を書いてみます。 > bundle gem rust_uuid --mit --ext rust_uuid # --ext を指定してnative build する gem を作成 > cd rust_uuid # 作成した gem のディレクトリへ移

                                • Rust Vs Go: A Hands-On Comparison

                                  Matthias Endler - Consultant at Corrode.dev  • 27 September 2023 Oh no, not another 'Is Rust better than Go?' article. Seriously, haven't we all had our fill of these comparisons by now? But before you sigh in exasperation, hear us out! Many comparisons between Go and Rust emphasize their differences in syntax and the initial learning curve. However, ultimately, what matters is the ease of use for

                                    Rust Vs Go: A Hands-On Comparison
                                  • ISUCONに向けてRustでのリハーサルを実施した。採用したRustのライブラリなど - でこてっくろぐ ねお

                                    ISUCONでRustで参加する同胞達や、Rustの参考実装を書く人の参考に少しでもなればとこのエントリを書いてます。(いや実際全然わからないのでもっといいの教えて!ってのもあります。はい。) 今年のISUCONはRustで戦います。 なぜなら、私はRustが好きだからです。 ISUCON、Trust Rustというチーム名で参加登録しました。Rustを信じろ!!!!!!!!!!!!— でこくん (@dekokun) July 10, 2020 しかし、私含めてチームメンバー全員がRustでWebアプリを書いたことがなかったため、毎週ミーティングを行いRustの勉強としてやることを宣言して1週間後に進捗報告をしまたやることを宣伝する、ということを繰り返しています。 ただそれだけではチーム全員で動くISUCONの訓練としては弱いので、ISUCONを模したリハーサルをしてみました。 お題 お題

                                      ISUCONに向けてRustでのリハーサルを実施した。採用したRustのライブラリなど - でこてっくろぐ ねお
                                    • Rustのコンパイルエラーを爆発させる技術 - Qiita

                                      こんにちは。コンパイルが一発で成功しないminaminaoです。 突然ですが、皆さんはコンパイルエラー爆発をご存知でしょうか? コンパイラは、私達プログラマーにコードの間違いを指摘し修正を促してくれる良き相棒です。 しかし、特定の条件下でとんでもなく大量のエラーメッセージを出力することがあります。 そのような、コードをコンパイルしたらエラーがべらぼうに出力されてしまう現象のことを、コンパイルエラー爆発と呼ぶことがあります。 コンパイルエラー爆発の遊び 昔から一部プログラマーの間で、コンパイルエラー爆発を使った遊びが行われてきました。 2014年には、C++のコンパイルエラー爆発コンテスト、なんてのも開かれています。 The Grand C++ Error Explosion Competition 2014 このコンテストは、短いサイズで大量のエラーメッセージを出すソースコードを作ることを

                                        Rustのコンパイルエラーを爆発させる技術 - Qiita
                                      • パーフェクトな言語であるRustでGoogle spreadsheetをJson APIに変換してみる

                                        タイトルにはやや釣り要素が混じっています。 概要 私が今まで所属していた開発チームでは、非エンジニアとエンジニアで気軽にデータを共有する方法としてGoogle Spreadsheetがよく使われていました。 Spreadsheetの優れている点の1つとしてAPIを経由してデータの取り込みを自動化できる事が挙げられるかと思いますが、そのAPIの呼び出し周りの実装はやや手間がかかる(し、それほど面白いものではない、)のが悩みどころです。 なのでシンプルなフォーマットのSpreadsheetをNo-Code or Low-CodeでJson API化できたら便利です。 SpreadsheetのAPI化のサービスとしては、SaaSとして提供されている使い勝手の良いものがいくつかありますが、外部と共有できないデータを扱う場合は自前で用意した環境内だけでSpreadsheetを共有する必要がでてきます

                                          パーフェクトな言語であるRustでGoogle spreadsheetをJson APIに変換してみる
                                        • RustでWebAssemblyインタプリタ作った話 - Qiita

                                          はじめに RustでWebAssemblyインタプリタを作ったのでその実装の話や、wasmの仕様についての記事です。 HListを使ったジェネリックプログラミングの話や、最後の方には「自作言語 on 自作wasmインタプリタ on 自作wasmインタプリタ」みたいな話も出てきます。 分かりにくい所や間違っている所は指摘してくださると助かります。 リポジトリ 作った成果物のリポジトリです。まだpublishはしていませんがクレートになっています。 cargoのexample実行に対応しているのでそれを見ればだいたい分かると思います。 今回はadc-2019-12-22というタグがついたコミットのソースを元に解説していきます。 https://github.com/kgtkr/wasm-rs/tree/adc-2019-12-22 仕様書 この記事では仕様書を読みながら順番に実装を解説していき

                                            RustでWebAssemblyインタプリタ作った話 - Qiita
                                          • A New AWS SDK for Rust – Alpha Launch | Amazon Web Services

                                            AWS Developer Tools Blog A New AWS SDK for Rust – Alpha Launch We’re excited to announce the alpha release of a new AWS SDK for Rust. AWS customers developing in Rust want a native Rust SDK so they can use the language constructs they are used to, and customers new to Rust want an SDK that behaves similarly to SDKs they have used in other language environments. With this alpha release, customers c

                                              A New AWS SDK for Rust – Alpha Launch | Amazon Web Services
                                            • 「Java」「Rust」がC/C++の代替になるこれだけの根拠

                                              ダウンロードはこちら どのプログラミング言語を利用するのかは開発者にとって大きな問題だ。プログラミング言語「C」やその派生言語である「C++」は、業務アプリケーションや組み込みシステムなど幅広い用途で利用されている。処理速度や制御のしやすさといった観点で、C/C++と他のプログラミング言語を比較する開発者は少なくない。 「Java」はC/C++の比較相手としてしばしば名前が挙がる。JavaとC/C++はプログラムを実行する仕組みが異なり、その違いのために従来「Javaは遅い」と評する開発者もいた。この意見は正しいのだろうか。他方でC/C++に代わるプログラミング言語として台頭しつつある「Rust」はどのような特性を持ち、なぜ支持を集めているのか。本資料は、そうした疑問に対する答えを提示する。C/C++以外の選択肢に目を向けるためのきっかけとして参考にしてほしい。 プレミアムコンテンツのダウ

                                                「Java」「Rust」がC/C++の代替になるこれだけの根拠
                                              • 高速でメモリーセーフなプログラミング言語、Rustの特徴を紹介

                                                メモリーセーフな低レベルプログラミング言語Rustを数回に分けて紹介してきたが、今回はRustのコアチームの一員であるCarol Nichols氏による解説動画を紹介したい。これまでCloudFlaireのエンジニアSteve Klabnik氏によるWebAssemblyとRustに関するセッション、DropboxがPythonからRustに書き換えた事例、Microsoftが開発したKubernetes上でWebAssemblyのコードを実行するKrustletの記事、IBMが社内システムをNode.jsからRustで書き換えた事例などによってRustがモメンタムを獲得しつつある大きな流れを紹介してきた。 今回紹介するセッションは、RustのコアチームのエンジニアでInteger 32というRustに特化したコンサルティング会社を経営するCarol Nichols氏によるもので、2019

                                                  高速でメモリーセーフなプログラミング言語、Rustの特徴を紹介
                                                • RustでRISC-Vエミュレータを書いてNOMMU Linuxをブラウザで動かした | MaybeUnInit

                                                  RustでRISC-Vエミュレータを書いてNOMMU Linuxをブラウザで動かした #2023-05-23 以前からRISC-Vエミュレータを書いてみようと思っていたのだが、書いては飽きてを繰り返して全然進められずにいた。そんな中、以下のRepositoryで、rv32ima,Zifencei,Zicsr、あとはCLINTを実装すればLinuxが動くと知り、飽きずに進められそうな気がしてきたので今度こそ、と実装してみることにした。 https://github.com/cnlohr/mini-rv32ima目次成果物 #Repositoryは以下。本記事では実装の概要の記載もあるが、簡略化していたり抜粋だったりするので適宜参照いただきたい。基本的にはcoreというcrateが実装の中枢となっている。appはcoreにcliの皮を被せただけだ。 また以下にPlaygroundも用意した。

                                                  • C++ is faster and safer than Rust: benchmarked by Yandex

                                                    To get the licence for your open-source project, please fill out this form

                                                      C++ is faster and safer than Rust: benchmarked by Yandex
                                                    • 2019 年の非同期 Rust の動向調査 - Qiita

                                                      この記事は 2018 年の非同期 Rust の動向調査 の続報です。 TL;DR Rust 1.39.0 以降で async/await 構文が使えるようになりました Future を実行するためのランタイムはいままで tokio だけでしたが、別に async-std というのができました async/await を使うライブラリを選ぶときはこの2つのランタイムのどちらで動くのかを確認しましょう。 特に理由がなければ tokio を使うのがいいでしょう。 2018 年からの差分 一年前から非同期 Rust を追いかけている人向けの情報です。 組織の再編 昨年は async/await を stabilize させるための async-foundations とツールチェーンを調査する web-foundations というグループが発足しました。 しかし諸事情により Async Foun

                                                        2019 年の非同期 Rust の動向調査 - Qiita
                                                      • はじめに - Rustで始める自作組込みOS入門

                                                        この本は組込みシステムやOSのような低レイヤーシステムの開発経験がないプログラマーのような人が、自作OSをはじめるため解説本です。 著者自身、本職はウェブプログラマーですが、趣味で組込みOSの自作をしています。この本はそのノウハウ集のようなものです。 このような低レイヤーシステムはC言語で開発されることが多いのですが、今回はRustを使います。 RustはC言語と比較して、様々なモダンな機能やツール郡を取り揃えている上に、C言語の長所である直接のメモリ制御ができ、パフォーマンスも高いとして組込みシステム開発でつかえるとして注目されています。 Rustそのもの解説は控えめですが、低レイヤーシステム開発特有のテクニックは必要に応じて解説します。 想定読者 ある程度はプログラミング経験があることを前提としています。 また、レジスタやメモリなどコンピュータアーキテクチャに関する基礎用語の説明もちゃ

                                                        • Rust製JVMを作成した話

                                                          rchaser53noMacBook-Pro:rj rchaser53$ javap -v java/io/PrintStream Classfile jar:file:/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/rt.jar!/java/io/PrintStream.class Last modified 2017/07/21; size 9048 bytes MD5 checksum f62b2b102171bb9cd2cefa5efcf0e487 Compiled from "PrintStream.java" public class java.io.PrintStream extends java.io.FilterOutputStream implements java.lan

                                                            Rust製JVMを作成した話
                                                          • 「Rust」はなぜクラウドネイティブ開発者の間で大人気なのか?

                                                            関連キーワード アプリケーション開発 | プログラミング 近年、クラウドベンダーや開発者の間でプログラミング言語「Rust」の人気が高まっている。Rustは比較的新しいプログラミング言語で、ハードウェアなどの低レイヤーの制御が可能だ。Amazon.comやMicrosoft、Dropbox、Discordといったベンダーはこの特徴を評価して、実験的にRustを使って製品を開発している。 Rustを利用する前に、クラウドサービスでの運用を前提にした「クラウドネイティブ」なアプリケーション開発におけるRustのメリットとデメリットを知っておくことは賢明だ。前後編にわたって、Rustの基本的な特徴を解説しよう。 Rustを「クラウドネイティブアプリ開発」で使うメリット

                                                              「Rust」はなぜクラウドネイティブ開発者の間で大人気なのか?
                                                            • RustのLinux muslターゲット (その1:Linux向けのポータブルなバイナリを作る)

                                                              これは Rustその3 Advent Calendar 2019 — Qiita の8日目の記事です。 Rustのx86_64-unknown-linux-muslターゲットを使って、libc(標準Cライブラリ)やSQLiteなどの外部ライブラリに静的リンクしたバイナリを作成する方法を紹介します。 こうして作ったバイナリは、Alpine Linuxを含むさまざまなx86_64 Linux環境で実行できます1。 またUbuntuやCentOSなどの一般的なLinuxディストリビューションを使っている場合でも、実行環境にSQLiteやOpenSSLなどを別途インストールしなくてすみますので、バイナリの配布が楽になります。 さらにこれらを極小のDockerイメージに入れることで、Webアプリケーションなどではデプロイが容易になるかもしれません。 以下の内容を2回に分けて説明します。 今回:Alp

                                                              • RustをつかってAWS Lambdaを実装&AWS CDKでデプロイする | DevelopersIO

                                                                Introduction 最近Rustが各所で盛り上がっています。 Rustは5年連続で最も愛されているプログラミング言語になっている 開発者に人気のプログラミング言語です。 また、LinuxカーネルにRustを採用しようという動きがあったり、 AndroidのOS開発でRustをサポート 、といった具合に、 さまざまなところでRustの話題がでています。 AWS・Google・MicrosoftなどがRust Foundationを立ち上げたことも後押しとなり、 使えるようになりたいなーということで最近私もさわりはじめました。 本記事ではカスタムランタイムをつかってRustでAWS Lambdaを作成し、AWS CDKでデプロイしたり Localstackを使ってローカルでLambdaを実行したりしてみます。 本記事は、ここにあるソースほぼそのまま参考にして作成しました。 実際は(私の環

                                                                  RustをつかってAWS Lambdaを実装&AWS CDKでデプロイする | DevelopersIO
                                                                • Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog

                                                                  ※本記事は筆者RyotaKが英語で執筆した記事を、弊社セキュリティエンジニアkoyuriが日本語に翻訳したものになります。 はじめに こんにちは、Flatt SecurityでセキュリティエンジニアをしているRyotaK( @ryotkak )です。 先日、特定の条件を満たした場合に攻撃者がWindows上でコマンドインジェクションを実行できる、いくつかのプログラミング言語に対する複数の脆弱性を報告しました。 本日(2024/04/09(訳者注: これは英語版記事の公開日です))、影響を受けるベンダーがこれらの脆弱性に関するアドバイザリーを公表しました。 その影響は限定的なもののCVSSスコアは非常に高く、混乱が予想されるため、脆弱性に関する詳細を本記事にまとめます。 はじめに TL;DR CVSSスコア 技術詳解 根本原因 CreateProcessのラッパー cmd.exeのパース規則

                                                                    Go, Ruby, Rust等の言語に存在した、Windows環境でコマンドインジェクションを引き起こす脆弱性"BatBadBut" - Flatt Security Blog
                                                                  • 徐々に高度になるリングバッファの話、をRustで試した - Qiita

                                                                    上記のうちRingBuffer0,1,2,3の実装をしました。 RingBuffer0,1は特に実装の違いはありません。 RingBuffer2はマルチスレッド化のためProducerとConsumerの構造体を追加しています。 RingBuffer3はアライン調整のために_paddingフィールドを追加しました。 MultiThreadはもとのコードはcpuset(0,1)決め打ちだったので、それに合わせたものとcore idが違う(0,2)も実施しました。 実行結果 リファレンス(AMD Ryzen 7735HS) リファレンスとなるkumagiさんのコードをg++ -O2でビルドしました。 RingBuffer0_single: 1000000000 ops in 939 ms 1064962.726 ops/ms RingBuffer1_single: 1000000000 ops

                                                                      徐々に高度になるリングバッファの話、をRustで試した - Qiita
                                                                    • Rust 1.51を早めに深掘り - OPTiM TECH BLOG

                                                                      こんにちは、R&Dチームの齋藤(@aznhe21)です。書きたい記事がいっぱいあるのに時間が取れません。悲しい。 さて、本日、日本時間3/26(金)、Rust 1.51がリリースされました。 この記事ではRust 1.51での変更点を詳しく紹介します。 3/26は普通選挙法成立の日 ピックアップ ジェネリクスの引数として定数を使えるようになった 配列要素の所有権を奪いつつイテレート出来るようになった featureの新しい解決機構が使えるようになった 安定化されたAPIのドキュメント Arc::decrement_strong_count 安全性 サンプル Arc::increment_strong_count 安全性 サンプル Once::call_once_force サンプル Peekable::next_if_eq サンプル Peekable::next_if サンプル Seek:

                                                                        Rust 1.51を早めに深掘り - OPTiM TECH BLOG
                                                                      • API Gateway + Lambda + Rust で開発する (2021-01) - eagletmt's blog

                                                                        まとめ netlify_lambda を使う Lambda の Docker イメージサポートを利用する aws-lambda-rie-gateway を使う この構成で Slack の interactive message や block kit で遊んだサンプルがこれ https://github.com/eagletmt/misc/tree/master/rust/slack-slash-command-sample Rust 向けの Lambda Runtime lambda-runtime という準(?)公式の crate がある https://github.com/awslabs/aws-lambda-rust-runtime が、リリースが滞っている。 現在リリースされている中での最新版では async/await の対応すら入っておらず、現在の Rust では正直使い物

                                                                          API Gateway + Lambda + Rust で開発する (2021-01) - eagletmt's blog
                                                                        • Why is my Rust build so slow?

                                                                          Contents What is cargo even doing How much time are we spending on these steps? Linker, is it you? Debug symbols, perhaps? Incremental builds Link-time optimization (LTO) Rustc self-profiling Warp, I trusted you Revisiting all the other changes Splitting into more crates! Conclusion I've recently come back to an older project of mine (that powers this website), and as I did some maintenance work:

                                                                            Why is my Rust build so slow?
                                                                          • Rust/ActixWeb + React/Next.js で GraphQL を使ってビデオチャットアプリを構築してみた

                                                                            今回、GraphQLバックエンドの構築にはAsync-graphqlを使用しています。 RustのGraphQLライブラリとして、もうひとつ有名なJuniperも存在しますが、 Async-graphqlの方が機能が豊富で、実現できる仕様の幅が広いです。 また、不具合が非常に少なく、この手のライブラリを使用する際に稀に発生する、 「ライブラリの不具合を回避するためのハック的な実装」みたいなものは今回一切必要ありませんでした。 このライブラリの使い勝手がよかったがために、 ミニマムに抑えようとしていたアプリ機能が少し大きくなった気がします。 ■ セッション管理について 本アプリにおいてセッションの管理は、一般的なWebアプリに用いられるものと同じ、 サーバーでセッションデータを保持し、紐づくセッションIDをクライアントのCookieに保存する方式をとっています。 この手のアプリ構成において、

                                                                              Rust/ActixWeb + React/Next.js で GraphQL を使ってビデオチャットアプリを構築してみた
                                                                            • CodeSandbox が Rust や Python など様々な言語に対応したので Qiita に埋め込んでみた - Qiita

                                                                              Qiita にはさまざまなコンテンツを埋め込み可能です。CodeSandbox も埋め込み可能なコンテンツの一つです。 従来の CodeSandbox はブラウザ上で動作するため React や Vue などのフロントエンドのみ対応していましたが、近年の CodeSandbox は Firecracker の microVM という仮想マシンによる処理の実行が可能になりました。それにより、フロントエンド以外のさまざまな言語の実行が可能となっています。 従来のブラウザ上で React や Vue を動かす sandbox を browser sandbox、最新の microVM で動作する sandbox を cloud sandbox と呼びます。(詳細はリンク先のドキュメントをご確認ください。) この cloud sandbox では、Rust や、 Python が公式にサポートして

                                                                                CodeSandbox が Rust や Python など様々な言語に対応したので Qiita に埋め込んでみた - Qiita
                                                                              • Rust & Raspberry Pi で温度センサーの値を AWS IoT Core に Pub してみた | DevelopersIO

                                                                                はじめに テントの中から失礼します、CX事業本部のてんとタカハシです! タイトルを見てロマンを感じた方、是非お友達になりましょう。Rust、ラズパイ、IoT、うん、かっけー!な気分で記事を書いています。よろしくお願いします。 前々から、Python & Raspberry Pi でセンサー等をいじってお遊びすることはあったのですが、近年 Rust が色々と話題 & 組み込み関連とも相性が良いのでは?といったことから、ずーっとやってみたかったこと、ついにやってみました。 今回は、Rust を使って Raspberry Pi に接続している温度センサーから値を読み取り、AWS IoT Core に Publish する方法についてご紹介したいと思います。 尚、この記事の中では、AWS IoT Core らへんのデプロイ等については語りませんが、下記のリポジトリの方で、Publish した値が

                                                                                  Rust & Raspberry Pi で温度センサーの値を AWS IoT Core に Pub してみた | DevelopersIO
                                                                                • Rustソースコードのざっくりとした歩き方

                                                                                  ざっくりRustコンパイラにコントリビュートするには何から始めればいいのかと、Rustコンパイラのソースコードの概要についてRustコンパイラの開発者視点で話します。 本記事は、TechFeed Experts Night#24 〜 プログラミング言語をつくる・解析する ー 言語界隈をエキスパートが語るのセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 今日はこの「Rustソースコードのざっくりとした歩き方」というタイトルで発表したいと思います。 まず簡単な自己紹介です。TaKO8Ki(タコヤキ)というハンドルネームをよく使っていて、本名は前田喬之といいます。Rust界隈では、コンパイラーコントリビューターというチームで、Rustへのコミットをしていて、最近だと

                                                                                    Rustソースコードのざっくりとした歩き方