並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 419件

新着順 人気順

rustの検索結果41 - 80 件 / 419件

  • 【個人開発】爆速な賃貸検索サービスをさらに高速化した【Rust】 - Qiita

    個人で運営している賃貸物件の検索サービス Comfy のバックエンドを Rust でリプレースしました。この記事では、そのリプレースの背景と詳細をご紹介します。 まずは結果から 技術構成: Rust + Cloud Run1 へ移行 (Python + GCE2 から) 性能向上: 約 1.5 倍 開発期間: 1 ヶ月間 コード行数: 約 40 % インフラ費用: かなり減少 (多分3) 短い期間・少ないコードでかなり高速化できちゃった上に、開発体験もとてもよい Rust は本当に素晴らしいです…!! サービス概要 Comfy は 日本全国の賃貸物件を超高速に検索できる Web サービス です。 技術構成等の概要は、以前書いた記事 「【個人開発】爆速な賃貸物件の検索サービスを作った」 をご覧頂ければと思います。 もしよかったらこちらからぜひ試して頂き、さらによくなった性能を体感してみて下さ

      【個人開発】爆速な賃貸検索サービスをさらに高速化した【Rust】 - Qiita
    • Rustで有名アルゴリズムに挑戦(18) Rustでライフゲームを作ってみよう

      C言語に代わってOS開発に採用されているRust。本連載では、Rustで有名アルゴリズムを実装して、Rustについての理解を深めています。今回扱うのは、生物の栄枯盛衰をシミュレーションするライフゲームです。 コンウェイのライフゲームで生物のシミュレーションをしよう コンウェイのライフゲームとは? 「ライフゲーム(Life Game)」は、イギリスの数学者コンウェイによって考案されたもので、簡単な配列操作によって実装できる簡単な生物のシミュレーションです。次のように動きます。 コンウェイのライフゲームを動かしているところ 見た目が面白いのに加えて、プログラミング言語の性質や特徴を知るのにもってこいの題材であるため、次の姉妹連載でも何度か紹介しています。ぜひ、今回のRust版と見比べてみてください。 - Python連載9回目(https://news.mynavi.jp/techplus/a

        Rustで有名アルゴリズムに挑戦(18) Rustでライフゲームを作ってみよう
      • 多くのプログラミング言語に危険な脆弱性 ~Windows環境の引数エスケープ処理に不備「Rust」「PHP」「Node.js」「Haskell」などに影響/

          多くのプログラミング言語に危険な脆弱性 ~Windows環境の引数エスケープ処理に不備「Rust」「PHP」「Node.js」「Haskell」などに影響/
        • Rustのデータ可視化ライブラリCharmingに入門した

          Charmingとは Charmingは、Rustの強力なチャートレンダリングライブラリです.美しく高品質なデータ可視化します.GitHub上で以下のようなグラフが紹介されています. 後述しますが,このCrateは適切にStructが分割されているので,可読性の高い可視化用のコードを作ることができます. 簡単に散布図を作成する Datasaurusのデータを使います.ここでは,csvファイルをダウンロードして使っています. もちろん表示するのはdinoです. この記事では,cargo new project_nameした後に,data dirとoutput dirを作っていることを想定します.

            Rustのデータ可視化ライブラリCharmingに入門した
          • 思考のスピードでコードを書け!!Rust製の次世代エディタ「Zed」

            はじめに 周りとは一味違ったツールを使いたくなるお年頃、皆さんも経験されたことがあるかと思います。 え、ない? 今回は「Code at the speed of thought(思考のスピードでコードを書く)」というキャッチコピーを掲げているエディタ「Zed」を発見したので紹介していこうと思います。

              思考のスピードでコードを書け!!Rust製の次世代エディタ「Zed」
            • サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ

              サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ WebAssemblyランタイム「Wasmer」の開発元として知られているWasmer社は、新しいサーバサイドのJavaScriptランタイム「WinterJS」を発表しました。 Announcing WinterJS: a blazing-fast Javascript Service Workers server written in Rust powered by SpiderMonkey ❄️https://t.co/kX7jjJj6qv — Wasmer (@wasmerio) October 27, 2023 WinterJSはRustで書かれた高速なService Workerサーバであり、オープンソースとして公開さ

                サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ
              • 『詳解Rustアトミック操作とロック』(Rust Atomics and Locks) - Don't Repeat Yourself

                昨年買っていたんですが、年末年始の時間を使って少し読めました。 著者はRustコンパイラにコントリビューションをしたことがあれば誰でも知っているかもしれない、Mara Bos氏です。 ちなみにですが、原著は下記サイトで無料でも読むことができます。 marabos.nl 書籍は下記です。 詳解 Rustアトミック操作とロック ―並行処理実装のための低レイヤプログラミング 作者:Mara Bosオーム社Amazon なおこの記事内で「本書」と明記する場合、それは『詳解Rustアトミック操作とロック』を指します。また、「筆者」は私自身のことであり、「著者」はMara Bos氏のことです。 内容のメモ 1章 2章 3章 4章、5章 6章 Miri Loom 7章 8章 9章 10章 感想 日本語での別の資料 内容のメモ 読んだ内容のうち、印象に残ったり初見だったものをメモしておきます。 1章 1章

                  『詳解Rustアトミック操作とロック』(Rust Atomics and Locks) - Don't Repeat Yourself
                • プログラミング言語Rustになぜ注目するのか - Qiita

                  この記事は NTTコムウェア AdventCalendar 2023 5日目の記事です。 自己紹介&動機 高鶴と申します。NTTコムウェア コーポレート革新本部で、プログラム設計~コーディング~ユニットテストにかかわる技術の社内標準化をやっております。 プログラムの静的な解析で早期にバグを発見・修正することで、後工程でのバグ対処コスト削減(ウォーターフォール開発の場合)や、技術的負債の早期解消(アジャイル開発の場合)を目指す、というのが私のチームの仕事の大きな一部となっています。 静的な解析で早期にバグを発見するツールには、オープンソースでも商用でも様々なものがあります。しかし、ソフトウェアの品質をより抜本的に良くしていこうと思うと、「プログラミング言語を何とかする」というところを考えたくなってきます。 Rustであれば、そのような期待に応えてくれるのではないかと期待し、調査・検証を始めま

                    プログラミング言語Rustになぜ注目するのか - Qiita
                  • 3Dモデルの配信サーバーでRustとZstandardを採用して数倍のパフォーマンス向上を実現した - pixiv inside

                    はじめに こんにちは、VRoid部所属のエンジニアのyueです。 この度VRoid Hubで3Dモデルの配信サーバーの見直しを行い、技術選定から始めRustとZstandard (zstd)を採用した実装に切り替えました。 結論から見るに従来のNode.js製サーバーと比べて以下のことを実現しました。 最大のレスポンス時間が 1.5 ~ 2.5s から 300 ~ 400msまで低下 平均のレスポンス時間が 700 ~ 800ms から 150 ~ 200msまで低下 サーバーのCPU使用率が ~ 50% から ~ 10%まで低下 docker image のサイズが ~ 346mb から ~ 21mb程度まで削減 配信されるファイルサイズが平均 10 ~ 20% 軽量化されました レスポンス時間 CPU使用量 (上からAVG(MAX), AVG, AVG(MIN)) メモリー使用量に関し

                      3Dモデルの配信サーバーでRustとZstandardを採用して数倍のパフォーマンス向上を実現した - pixiv inside
                    • Rustで作るプログラミング言語 ——コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで

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

                        Rustで作るプログラミング言語 ——コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで
                      • JavaScript/TypeScript向け静的解析ツール「Oxlint」が正式に公開、Rustの採用で大幅に高速化

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

                          JavaScript/TypeScript向け静的解析ツール「Oxlint」が正式に公開、Rustの採用で大幅に高速化
                        • 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を選んで後悔している ー 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る珍しい記事が海外で話題
                            • meviy に Rust が入りました - DTダイナミクス テックブログ

                              形状認識処理のディレクターを務めている寺田です。昨年10月よりDTダイナミクス(ミスミグループ出資の戦略的IT子会社)のお世話になっています。 私が入社した時点では meviy の形状認識はすべて C++ で書かれていましたが、そこに Rust を導入したというお話です。 Rust で何作ったの? ゴチャゴチャと御託を並べる前に、まずは Rust で何を作ったのかを簡単に紹介しましょう。 大きく分けて下記の3領域に Rust を導入しました。 溶接リモデル機能 平板展開機能 自動テストツール ここでは先頭の「溶接リモデル」について簡単に紹介します。 この機能の内部実装を C++ から Rust に置き換えて、またロジックも大きく変更することによって、溜まっていた不具合を大幅に解消しました。 溶接リモデルとは 溶接リモデル 上図の左がリモデル前、右がリモデル後です。 板金製品は、平らな板金材

                                meviy に Rust が入りました - DTダイナミクス テックブログ
                              • 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で学ぶWebAssembly――入門からコンポーネントモデルによる開発まで

                                  2024年10月10日紙版発売 清水智公 著 B5変形判/256ページ 定価3,300円(本体3,000円+税10%) ISBN 978-4-297-14413-5 Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 電子化の予定があります この本の概要 Webブラウザー上でプログラムを高速に実行するための技術として開発されたWebAssembly(Wasm)ですが,近年では「特定のプログラミング言語・アーキテクチャに依存しない」「プログラムをサンドボックス内で安全に実行できる」という強みに注目が集まっています。さらに,新たに導入される予定の「コンポーネントモデル」によって,大規模なプロジェクトでもWebAssemblyを利用しやすくなる環境が整いつつあります。本書では,プログラミング言語としてRustを採用し,以下の3つの観点で,“新しい”WebAssemblyにつ

                                    Rustで学ぶWebAssembly――入門からコンポーネントモデルによる開発まで
                                  • webpack互換のRust製高速バンドラ「Rspack」が正式版となるバージョン1.0に到達。webpackより10倍高速と

                                    webpack互換のRust製高速バンドラ「Rspack」が正式版となるバージョン1.0に到達。webpackより10倍高速と webpack互換のRust製高速バンドラ「Rspack」が正式版となる「Rspack 1.0」としてリリースされました。 Announcing Rspack 1.0 - the next generation JavaScript bundler written in Rust, webpack compatible, 10x faster. Check out the release blog for more details:https://t.co/nOVJjKMRBo — Rspack (@rspack_dev) August 28, 2024 RspackはTikTokで知られるByteDanceが中心となってオープンソースで開発されています。 バンド

                                      webpack互換のRust製高速バンドラ「Rspack」が正式版となるバージョン1.0に到達。webpackより10倍高速と
                                    • 詳解 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から業務Rustへ

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

                                          趣味Rustから業務Rustへ
                                        • C++からRustに移行して幸せになる人、そうならない人 その違いは?

                                          C++はRustが登場する前から成熟度の高い言語だった。開発者はC++からRustに切り替える必要があるのだろうか。必ずしもそうとは限らない。C++とRustの品質、両言語の相違点と類似点を調べて、どちらのプログラミング言語を選ぶかを決めたい。 C++はRustが登場する前から成熟度の高い言語だった。開発者はC++からRustに切り替える必要があるのだろうか。必ずしもそうとは限らない。 新たなプロジェクトに携わるプログラマーは、プログラミング言語の選択肢が不足することはない。プログラミング言語「C++」と「Rust」は、 ブラウザベースのソフトウェアからビデオゲームに至るまで、さまざまなプロジェクトに適しており、それぞれに利点がある。 C++は効率的で信頼性の高いプログラミング言語だ。信頼性、パフォーマンス、スケーラビリティの高さから開発者はC++を選ぶ。C++の標準テンプレートライブラリ

                                            C++からRustに移行して幸せになる人、そうならない人 その違いは?
                                          • RustによるマクロサービスフレームワークSpin入門

                                            この記事はAdvent of Spin 2023というオンラインチャレンジに参加した結果してSpinに入門した結果のまとめとなっています。学んだことのまとめですが、Spin入門としても利用いただけるかなとも思っています。 TL;DR マクロサービスフレームワークのSpinをつかって、Rustでマイクロサービスを作ります。 JSONのやり取りや、key-valueストアの利用、ルーティングがカバーされています。 Hurlというツールを使ってテストファースト開発します。 Spinとは? Spinとはマイクロサービスを作成するためのフレームワークで次の特徴があります。 イベント駆動型のフレームワーク HTTP(S)とRedisにデフォルトで対応 いくつかのストレージに標準で対応 イベントハンドラーはWasmコンポーネントとして実装される WASI preview 2に対応 開発元が配布しているコ

                                              RustによるマクロサービスフレームワークSpin入門
                                            • 新たなプログラミング言語を習得したい人にオススメ! プログラミング言語「Rust」の基礎をしっかり学べる無料の電子書籍

                                              2015年にバージョン1.0に到達した「Rust」は、比較的新しいプログラミング言語です。2019年には、Microsoftが「Windows」の開発にRustを採用すると発表したり、Googleが「Android 12」の開発から、「C/C++」の代わりにRustを採用したりしたことも記憶に新しいのではないでしょうか。 本eBookでは、連載「基本からしっかり学ぶRust入門」全18回を収録。Rustとはどのような言語なのかに始まり、なぜMicrosoftやGoogleがRustに注目したのか、Rustは他のプログラミング言語とどう違うのか、言語の特徴や、開発環境の構築方法、記述方法まで紹介しています。 本eBookの前半では、Rustの特徴や基本文法を、後半では、Rustを使ったアプリケーションを開発する際のフォルダ構造や、テストの記述方法も紹介しています。各回ともサンプルコードととも

                                                新たなプログラミング言語を習得したい人にオススメ! プログラミング言語「Rust」の基礎をしっかり学べる無料の電子書籍
                                              • サーバレスにおけるRustについて - NTT Communications Engineers' Blog

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

                                                  サーバレスにおけるRustについて - NTT Communications Engineers' Blog
                                                • RustとDioxusで投稿アプリのSPAを作ってみよう

                                                  Dioxusの概要 Dioxus(ディオクサス)は、Dioxus Labsによるクロスプラットフォーム対応のアプリを構築できるRustライブラリです。移植性が高く(portable)、高性能で(performant)、人間工学に基づいた(ergonomic)設計が特徴とされています。Dioxusでは、単一のコードで以下のプラットフォームで動作するアプリを開発可能です。 (1)Web WebAssembly技術を用いたSPA(Single Page Application)を開発できます。WebAssemblyについては@ITの連載「いろんな言語で試す、WebAssembly入門」で紹介しています。その第5回「RustでWebAssembly――「Rust and WebAssembly」を体験する」でRust and WebAssemblyを紹介しています。本記事の理解にWebAssemb

                                                    RustとDioxusで投稿アプリのSPAを作ってみよう
                                                  • Rustで自作シェル書いてみた

                                                    はじめに 自作シェルを書いてみた記事はよく見かけるのですが、そのほとんどが fork -> exec という流れです。仕組みを学ぶという点で非常に有効なのでそれはそれで良いとして、 Rust では標準ライブラリの std::process::Command を使用してもっと簡単にコマンド実行ができるよ! という記事があまりないので書いてみました。 コマンドの実行 REPL パース処理はできるだけシンプルに書きます。 標準入力から1行読み取り、Command::spawn() で実行します。 それを繰り返すのが REPL (Read-Eval-Print Loop)です。 これだけでシェルと言い張っても良いと思っています🤔 use std::io::{self, Write}; use std::process::Command; fn main() { loop { // プロンプト p

                                                      Rustで自作シェル書いてみた
                                                    • 第793回 自作のカーネルモジュールをRustで作る | gihyo.jp

                                                      第791回では基本的なカーネルモジュールの作り方とそれをDKMSに対応させる方法を紹介しました。今回はカーネルの新しい機能のひとつである「Rustでカーネルモジュールを作る方法」を紹介しましょう。 UbuntuカーネルにおけるRustの対応 Linuxカーネルでは、Kernel 6.1からプログラミング言語である「Rust」の機能が取り込まれました。これは「Rust for Linux」の成果で、カーネルの機能をC言語やアセンブラだけでなく、Rustでも書けるようにするというものです。メモリー安全性や強い静的型付けなどの特徴を取り込むことで、カーネルのセキュリティ問題の原因の多くを占めるメモリー関連の不具合に対して、一種の対策になることが期待されます。 あらゆるケースにおいてRustに置き換えられるというわけではありませんが、今後カーネルのコードを読み書きする上でC言語やアセンブラだけでな

                                                        第793回 自作のカーネルモジュールをRustで作る | gihyo.jp
                                                      • 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
                                                        • 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製のPythonパッケージ管理ツール「uv」を使ってみよう | gihyo.jp

                                                            それぞれのツールに関する詳しい説明は本記事では行いません。詳しく知りたい方は、ツール名のリンクから公式ドキュメント等を参照してみてください。 上記の表に挙げたツール群にはそれぞれに特徴があります。pyenv、venv、pipのように単一機能に特化したものから、Condaのようにデータサイエンスや機械学習プロジェクトで使用される複雑なパッケージの依存関係や環境管理をサポートするツール、PoetryのようにPythonパッケージインデックス(PyPI)への公開をサポートするツールなど、開発シーンに合わせて選択することができます。 uvとは uvは2024年の2月中旬に発表されたばかりの新しいパッケージ管理ツールです。Rustで書かれており、ここ最近で飛躍的に使用されるようになったRust製のPythonリンター&フォーマッター「Ruff」を開発しているAstral社によって提供されています[1

                                                              Rust製のPythonパッケージ管理ツール「uv」を使ってみよう | gihyo.jp
                                                            • Rustが再評価される:エコシステムの現状と落とし穴

                                                              垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

                                                                Rustが再評価される:エコシステムの現状と落とし穴
                                                              • 【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました

                                                                この記事は vjeux 氏によって Prettier 公式ブログに投稿された「$20k Bounty was Claimed!」を許可をもらって翻訳したものです。 もとのタイトルを翻訳するのが難しかったので、できるだけわかりやすいものに翻訳しました。 PrettierというJavaScriptのコードフォーマッターは、人々がコードを書く様々な方法を慎重に扱うことで、驚くほど広く採用されています。この時点で、フォーマットロジックは安定しており、私たちの三項演算子に関する作業が完了すれば、それは満足のいく状態になるでしょう。 これは、次の重要な側面に注目できるということを意味します:パフォーマンス。Prettierは決して速いとは言えませんが、ほとんどの使用例には十分な速さです。これはいつも不満足な感じがしたので、何かをすることを望んでいました。それには、友好的な競争以上の方法はありません。

                                                                  【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました
                                                                • Rust製JavaScriptエンジン『Boa JS』を試してみた

                                                                  主要なJavaScriptエンジンのTest262を毎日実行して結果を載せているtest262.fyiというサイトがあります。 (Test262とは最新のECMAScriptを実装できているかどうかのテストです。) このサイトの、2024/6/5現在の実装率ランキングはこちらです。 test262.fyiの画面キャプチャ(2024/6/5) V8(ChromeやNode.js、Deno等)、JavaScriptCore(SafariやBun等)、SpiderMonkey(Firefox等)という、大手エンジンとほぼ横並びで4位に食い込んでいるBoaとは何者でしょうか。 Boaは公式曰く『Rustで書かれた実験的なJavascriptのレキサー、パーサー、コンパイラー』です。これだけ揃えば、JavaScriptエンジンと言って差し支えないと思います。RustアプリケーションにJavaScri

                                                                    Rust製JavaScriptエンジン『Boa JS』を試してみた
                                                                  • Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい

                                                                    最近 ratatui という crate に Small String Optimization を利用した最適化を入れたので,その話を書きます. 目次 Small String Optimization (SSO) とは(SSO を既に知っている人は読み飛ばして大丈夫です) Rust で SSO を適用した文字列型を提供する crate 比較 SSO を利用して ratatui のメモリ効率と実行効率を最適化した話 compact_str crate の実装の最適化の話 インラインストレージに24バイト全てを使える理由 隙間最適化のための工夫 説明を簡潔にするため,特に断りが無い場合 64bit アーキテクチャを前提とします. Small String Optimization (SSO) とは Rust の可変長文字列型 String は文字列バッファへのポインタ,文字列の長さ,バッフ

                                                                      Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい
                                                                    • Rustがサポートするアーキテクチャ少なすぎる!

                                                                      「RustでLinuxカーネルモジュールを実装しよう!」とはしゃいできましたが、実は、X86-64とLoongArchという2つのCPUアーキテクチャしかサポートされていません。近いうちに、ARM64もサポートされそうですが、Linuxカーネルがサポートする大半のアーキテクチャで、Rustは使えません。 Linuxカーネルの標準コンパイラのGCCは、CのソースコードをLinuxカーネルがサポートする様々なCPUアーキテクチャ用の実行ファイルに変換することができます。一方、Rustの公式コンパイラがサポートを保証しているCPUアーキテクチャはARM64とX86、X86–64だけです。 Rustの公式コンパイラがサポートしているアーキテクチャが少なすぎるということで、別のコンパイラを試してみました。 Rustの公式コンパイラRustの公式コンパイラは、コンパイラを実装するための基盤的なソフトウ

                                                                        Rustがサポートするアーキテクチャ少なすぎる!
                                                                      • Rustによる並列処理でDynamoDBへのデータ投入を20倍高速化してみた

                                                                        はじめに 言語として高速だと謳われているRust。そのRustを使用してDynamoDBへのデータ登録処理を直列処理と複数の並列アルゴリズム処理で速度比較してみました。 DynamoDB DynamoDBは公式で以下のように謳われています。 Amazon DynamoDB の応答時間は 1 桁ミリ秒で、最も要求の厳しいアプリケーションでも一貫してこのパフォーマンスを発揮できます。例を挙げると、2022 年の Amazon プライムデーに Amazon DynamoDB は、1 桁ミリ秒のパフォーマンスで、数兆回の API コールに対して 1 秒あたり 1 億 520 万件のリクエストを確実に処理しました。 上記だけみると爆速のようにも思われますが、読み込みと書き込み双方に以下の制限があります。 BatchWriteItemのデータ投入は1回で25リクエストまで、Queryのデータ取得は1回

                                                                          Rustによる並列処理でDynamoDBへのデータ投入を20倍高速化してみた
                                                                        • FireDBG - 🔥 Time Travel Visual Debugger for Rust

                                                                          🔥 Time Travel Visual Debugger for RustVisualize and debug Rust programs with a new lens

                                                                          • RustでWebアプリの実装にチャレンジしてみよう【準備編】

                                                                            本連載の目的 本連載は、@ITで2021年7月から連載された「基本からしっかり学ぶRust入門」(現在は完結)の応用編です。Rustは、当時から人気上昇中の言語と評価されていましたが、Stack Overflowが毎年実施している調査「Stack Overflow Developer Survey 2022」でも、変わらず「Rustが開発者の愛する言語」の1位に選ばれました。これは7年連続してのことです。この調査は、言語の好きと嫌いの差が大きいほど上位にランクされるので、Rustを嫌いな開発者は少数、という見方ができます。また、「これから使いたい言語」の1位も獲得しているようで、少なくとも開発者の間では今後も支持を伸ばしていきそうな言語と言えます。 Rustは美点の多いマルチパラダイム言語 Rustの美点は多岐にわたり、ネイティブコードコンパイラによる高速な実行バイナリ、所有権と借用の仕組

                                                                              RustでWebアプリの実装にチャレンジしてみよう【準備編】
                                                                            • 他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例

                                                                              Rust.Tokyo 2023 https://rust.tokyo/2023/

                                                                                他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例
                                                                              • Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」がリリース。Rustの主な型や便利な機能がDartで使えるように

                                                                                Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」がリリース。Rustの主な型や便利な機能がDartで使えるように Rust Coreの開発チームは、Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」をオープンソースとしてリリースしました。 Rust Coreを用いることで、Dart言語にRust言語が持つ一般的な型やさまざまな便利な機能を取り込むことができるようになります。 合わせて、Rust Coreのドキュメント「Rust Core Book」も公開されました。 DartはGoogleが主導してオープンソースで開発されているプログラミング言語です。クロスプラットフォーム対応のモバイルアプリケーション開発に対応したFlutterフレームワークで用いられている言語として知られています。 なぜDart言語でRustのコアライブ

                                                                                  Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」がリリース。Rustの主な型や便利な機能がDartで使えるように
                                                                                • Rust製の負荷テストフレームワークGoose入門

                                                                                  はじめに Rustを使っているとすべてをRustで書きたい欲に駆られることがあります。 たとえば負荷試験ツールもRustで書きたい、みたいなことがあったりします。 ありがたいことにRustではGooseという負荷テストフレームワークがあり、これを使えば負荷テストをRustで実装できます。 ちなみに、GooseはRust Foundationのメンバーであるtag1が開発しているので安心感があります。[1] 本記事はGooseについて基本的・応用的な使い方などについて紹介していきます。 Gooseとは GooseはPython製の負荷テストツールであるLocustにインスパイアされたRust製の負荷テストフレームワークです。 Locustと比べて、約11倍ほどのトラフィックを生成でき、CPUコアを可能な限り使用してくれます。[2] またLocustと違い、フレームワークなのでビルドしたバイナ

                                                                                    Rust製の負荷テストフレームワークGoose入門