並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 513件

新着順 人気順

Rustの検索結果161 - 200 件 / 513件

  • TypeScriptパーサーのベンチマーク:Rustツールの性能の謎を解く

    TL;DR: JavaScriptで使われるネイティブパーサーは、言語間の余分な作業のために常に速いとは限りません。これらのオーバーヘッドを回避し、マルチコアを使うことが性能にとって重要です。 Rustは、そのパフォーマンスと安全性の特徴から、JavaScriptエコシステムの中で急速に選択肢の一つになっています。しかし、RustをJavaScriptツールに統合することは、特に効率的で移植性の高いプラグインシステムを設計する際に、固有の課題をもたらします。 「JavaScriptツールをRustで書き直すことは、広範な外部貢献を必要としない速度重視のプロジェクトにとって有利です。」 ESLintの作者であるNicholas C. Zakas Rustは、その急な学習曲線のために難しいものになりがちで、さらにコンパイルされたバイナリを異なるプラットフォームに配布することも簡単ではありません

      TypeScriptパーサーのベンチマーク:Rustツールの性能の謎を解く
    • ZLogger v2の新ストラクチャードロギング体験 - hadashiA

      ゆで卵を食べるときは塩をかけるのと同じように、サーバを書くときはストラクチャードロギングをするのが当たり前といった状況になった昨今。世界のロガーたちはキー/バリュー形式の構造化データを出力すべく、その用途に特化したインターフェイスを獲得するに至っている。 一方、プログラミング言語やフレームワークによってはこの辺のサポートはけっこうまちまちで、人によってストラクチャードロギングに対しての理解度やロガーへの要求水準はけっこう違っているようである。 私がサーバを書く仕事を始めた頃なんかは、使っていたウェッブフレームワークワークはさも当然のように人間にとって読みやすく整形された文字列をログに吐いた。ほかにオプションはなかった。「ふーん。そんなもんかな」と思いながら、ログを上から下に読んでいたが、しかしこれは一件のログレコードが改行されまくっていたので、キーワードでgrepするだけで当然のようにぶっ

        ZLogger v2の新ストラクチャードロギング体験 - hadashiA
      • GitHub - rolldown/rolldown: Fast Rust bundler for JavaScript with Rollup-compatible API.

        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

          GitHub - rolldown/rolldown: Fast Rust bundler for JavaScript with Rollup-compatible API.
        • Build Your Own curl - Rust

          We will build curl from scratch by accepting the coding challenge posted on Coding Challenges FYI. Before moving ahead, you must know how TCP client-server connections work. You can read more about GeeksforGeeks. On Server Side: - Socket:- Socket object to expose our endpoints. setsockopt:- This function sets the extra options for the sockets if needed. Bind:- It binds the socket with the IP and p

            Build Your Own curl - Rust
          • Deep dive into Biome in JSConf 2023

            The video included in the slides can be accessed here https://web.archive.org/web/20230328125908/https://rome.tools/blog/2022/11/08/rome-10/

              Deep dive into Biome in JSConf 2023
            • 難しい問題をコンパイラレベルで弾くことができるRustの並行処理 データ共有の有無から見る、2つのサンプルコード

              Go、Python、Kotlin、Rust、TypeScript の5つの言語について「並列処理、並行処理の手法」というテーマに絞り解説する「並列処理をGo/Rust/Kotlin/Python/JSで解説!思想の違いを体感しよう」。Rust編では鈴木文太氏が登壇。Rustの並行処理について、データ共有がないパターン、データ共有があるパターンそれぞれのコードを紹介します。 鈴木氏の自己紹介と、今日話すこと 鈴木文太氏(以下、鈴木):よろしくお願いします。「Rustにおける並行処理」について発表していきたいと思います。私はGO株式会社の鈴木文太と申します。2021年6月に入社して、今はタクシー事業者向けの管理画面の開発などをやっています。 今回話すことについてですが、まずプロセスと並行・並列処理の基本について少しお話ししたあとに、スレッド間でデータ共有がない場合のRustのコードと、スレッド

                難しい問題をコンパイラレベルで弾くことができるRustの並行処理 データ共有の有無から見る、2つのサンプルコード
              • From 1s to 4ms

                When Zed was open-sourced, someone on HackerNews commented that Sublime Text is faster when searching for all occurrences of the current word in a buffer. Zed takes 1s and Sublime somewhere around 200ms. Searching all occurrences means: you position your cursor over a word, you hit cmd-shift-l and all occurrences of that word in the current buffer are selected and you get a cursor at each occurren

                  From 1s to 4ms
                • Rust と Wasm で極限まで PNG ファイルを圧縮した話

                  はじめに 以前つくった Minsta というデジタルスタンプラリーの Web アプリの中で、ブラウザ上で Canvas を使用してスタンプ風の画像を生成する機能があるのですが、前々からもう少し画像のファイルサイズを落とせそうだなと思っていたので、今回 Rust と WebAssembly を使用して PNG ファイルを極限まで圧縮するのに挑戦してみました。 Minsta については以下の記事をご覧ください。 動機 Minsta では単色で背景透過の以下のようなスタンプの PNG 画像をブラウザ側で Canvas の toBlob メソッドを使用して生成しているのですが、このメソッドで PNG エンコードすると 32 bit の RGB+alpha 形式のファイルしか生成できず、 Minsta で扱うような単色の画像にとっては余計にデータサイズが膨らんでしまっていました。 PNG は使用する

                    Rust と Wasm で極限まで PNG ファイルを圧縮した話
                  • Moonbit: the fast, compact & user friendly language for WebAssembly

                    The importance of WebAssembly (Wasm), a cross-platform Instruction Set Architecture (ISA), is escalating in Cloud and Edge computing, given its efficiency, security, compactness, and open standard. However, its true potential remains untapped. Low level Wasm languages like Rust and C/C++ are challenging to learn and can be slow for developers because of their long compilation time. On the other ha

                      Moonbit: the fast, compact & user friendly language for WebAssembly
                    • Learning Async Rust With Entirely Too Many Web Servers

                      I've found that one of the best ways to understand a new concept is to start from the very beginning. Start from a place where it doesn't exist yet and recreate it yourself, learning in the process not just how it works, but why it was designed the way it was. This isn't a practical guide to async, but hopefully some of the background knowledge it covers will help you think about asynchronous prob

                        Learning Async Rust With Entirely Too Many Web Servers
                      • Rustで書かれたLinux互換OS「Maestro」が爆誕 | ソフトアンテナ

                        Rustで書かれLinux互換を目指して開発が進められているOS、「Maestro」が公開され注目を集めています。 Maestroは、フランス在住のソフトウェアエンジニアLuc Lenôtre氏によって開発が進められているOSで、2018年12月22日に学校のプロジェクトとして始められました。当初はC言語を使って実装されたそうですが、コードベースをきれいに保つのが難しくなり、1年半後にRust言語での実装に切り替えられます。 Rustへ切り替えた理由として以下のような項目リストアップされています。 以前の失敗から学んだ教訓を生かし、プロジェクトを最初からやり直すことができる。 C言語でLinuxライクなカーネルを書くよりも、もう少し革新的になる。 Rust言語の安全性をカーネル・プログラミングの難点に活用する。Rustの型付けシステムを使うことで、メモリ安全性に関する責任をプログラマからコ

                          Rustで書かれたLinux互換OS「Maestro」が爆誕 | ソフトアンテナ
                        • RustのGUIライブラリ「gtk-rs」 ~gtk-rsでデスクトップアプリ開発をはじめよう[前編] | gihyo.jp

                          RustのGUIライブラリとその中でのgtk-rsの位置付け 今現在、RustでGUIアプリケーションを開発するためのライブラリ/フレームワークは多種多様です。 突出して優れたものがあるわけでもなく、これを使えば間違いないと言えるものはありません。このような状況では、何を使えばいいか見当がつきませんが、それでもやりたいことから多少の取捨選択はできます。 百家争鳴のライブラリ群から類型をみると、大きく分けて自前スタックのタイプと既存のライブラリのバインディングになっているものがあります。 自前スタックのタイプはウィンドウ内のボタンといったウィジェットなども含めてすべて自前で実装しているものです。icedやeguiなどがあります。これらを基礎づけているのがwinitというライブラリで、ウィンドウを作る部分を担当しています。winitはRustの対応プラットフォームの多さを活かして、デスクトップ

                            RustのGUIライブラリ「gtk-rs」 ~gtk-rsでデスクトップアプリ開発をはじめよう[前編] | gihyo.jp
                          • WinterJSとは何者か?ベンチマークでの比較検証

                            概要 2024年3月12日にこんなニュースが飛び込んできました。 WinterJSの1.0が発表されたとのことで、今回はWinterJSとは何者なのかについてをまとめていき、検証していきます。 WinterJS WinterJS とは、Rustで書かれたJavaScriptランタイムでSpiderMonkeyエンジンを使用して、javaScriptを実行します。 Rustで書かれたと言っているのは、HTTPリクエストなどの処理や、JavaScriptイベントのループを処理をするRust の非同期ランタイムTokioを使用しているからです。 また、WinterJSは、WebAssemblyにコンパイルすることもできるようです。 そして、一番重要なことは、JavaScriptにおけるHTTP Serverとしての性能について、処理速度がとんでも無く早いということを謳っている点ですね。 今回は、

                              WinterJSとは何者か?ベンチマークでの比較検証
                            • Rust製ブラウザエンジンの「Servo」がElectron代替を目指す「Tauri」への組み込みに対応、プロトタイプとして実装

                              Rust製ブラウザエンジンの「Servo」がElectron代替を目指す「Tauri」への組み込みに対応、プロトタイプとして実装 Linux Foundation傘下でRust製のWebブラウザエンジンとして開発が進められている「Servo」は、Electron代替を目指すフレームワーク「Tauri」への組み込みサポートを、プロトタイプとして実装したことを明らかにしました。 Servo can now be used in an experimental build of WRY, the webview library behind Tauri! More on offscreen rendering, multiple webviews, and other embedding improvements ↓ pic.twitter.com/jElJUusZZU — Servo (@Se

                                Rust製ブラウザエンジンの「Servo」がElectron代替を目指す「Tauri」への組み込みに対応、プロトタイプとして実装
                              • 非同期マルチスレッドフレームワーク「Pingora」をオープンソース化 Cloudflare

                                非同期マルチスレッドフレームワーク「Pingora」をオープンソース化 Cloudflare:ゲートウェイやロードバランサー構築に向くカスタマイズ可能なAPI Cloudflareは、RustフレームワークPingoraのオープンソース化を発表した。Pingoraは、Cloudflareが開発したHTTPプロキシサービスの構築を支援するRustの非同期マルチスレッドフレームワークだ。

                                  非同期マルチスレッドフレームワーク「Pingora」をオープンソース化 Cloudflare
                                • Rust の hyper は何が嬉しいか

                                  Rust でWebサーバーを書く時の技術選定をするときに調べていると hyper に必ず出会うと思う。これは黎明期から存在しているライブラリで、Webサーバーにしては珍しく version 1 まで到達している老舗だ(1に到達してたら安心って考え方が正しいかはさておき...)。このライブラリは actix-web や axum のような他のライブラリとは毛色が違い、かなり primitive だ。そのため axum のベースに使われてもいて、hyper はそのまま使わないライブラリなのかもしれない。 サンプルコードから存在意義がわかりにくい さて、そんな hyper だが公式の example はこのようになっている。 #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>>

                                    Rust の hyper は何が嬉しいか
                                  • 組込みRustでも でかい?JSONを扱いたい!

                                    520kBしかメモリが無いESP32環境上の組込みRustで、100kB弱のJSONを扱うために、JSONストリームパーサーを作ったお話です。

                                      組込みRustでも でかい?JSONを扱いたい!
                                    • 「ベアメタル」環境でもRustを採用 Googleが「Android 14」での取り組みを解説/安全性と生産性の両面でC/C++よりも大幅に改善

                                        「ベアメタル」環境でもRustを採用 Googleが「Android 14」での取り組みを解説/安全性と生産性の両面でC/C++よりも大幅に改善
                                      • 新しいSQLフォーマッターであるuroboroSQL-fmtをリリースしました | フューチャー技術ブログ

                                        コアテクノロジーグループの山田です。 先日、新しいSQLフォーマッターであるuroboroSQL-fmtをリリースしました 🎉 このツールは弊社が公開しているPostgreSQL向けのSQLコーディング規約に基づき、SQL文をフォーマットするツールです。 弊社でのSQLフォーマッター開発の取り組み元々弊社ではuroboroSQL Formatter(以下uroboroSQL Formatterを旧版、uroboroSQL-fmtを新版と呼ぶ)というSQLフォーマッターを公開していました。旧版は 字句解析して得られたトークンを基にフォーマットするという設計になっていたため、SELECT句のエイリアス補完といった文法を考慮する必要のある機能の追加が困難Pythonで書かれておりVSCodeの拡張機能として動作させるのが難しいという課題を抱えており、それを解消するため新たなSQLフォーマッター

                                          新しいSQLフォーマッターであるuroboroSQL-fmtをリリースしました | フューチャー技術ブログ
                                        • GitHub - sxyazi/yazi: 💥 Blazing fast terminal file manager written in Rust, based on async I/O.

                                          Yazi (means "duck") is a terminal file manager written in Rust, based on non-blocking async I/O. It aims to provide an efficient, user-friendly, and customizable file management experience. 💡 A new article explaining its internal workings: Why is Yazi Fast? 🚀 Full Asynchronous Support: All I/O operations are asynchronous, CPU tasks are spread across multiple threads, making the most of available

                                            GitHub - sxyazi/yazi: 💥 Blazing fast terminal file manager written in Rust, based on async I/O.
                                          • I have written a JVM in Rust

                                            Published Wednesday, Jul 12, 2023 - 2181 words, 11 minutes Lately I’ve been spending quite a bit of time learning Rust, and as any sane person would do, after writing a few 100 lines programs I’ve decided to take on something a little bit more ambitious: I have written a Java Virtual Machine in Rust. 🎉 With a lot of originality, I have called it rjvm. The code is available on GitHub. I want to st

                                            • GitHub - eza-community/eza: A modern, maintained replacement for ls

                                              eza is a modern, maintained replacement for the venerable file-listing command-line program ls that ships with Unix and Linux operating systems, giving it more features and better defaults. It uses colours to distinguish file types and metadata. It knows about symlinks, extended attributes, and Git. And it’s small, fast, and just one single binary. By deliberately making some decisions differently

                                                GitHub - eza-community/eza: A modern, maintained replacement for ls
                                              • Using Zig in our incremental Turborepo migration from Go to Rust – Vercel

                                                Using Zig in our incremental Turborepo migration from Go to RustLearn how we're cross-compiling a Rust-Go-Rust sandwich to six platforms. We’ve been porting Turborepo, the high-performance build system for JavaScript and TypeScript, from Go to Rust. We talked about how we started the porting process, so now let’s talk about how we began porting our two main commands: run and prune. Since last time

                                                  Using Zig in our incremental Turborepo migration from Go to Rust – Vercel
                                                • Rustは本当に早いのか。Flutterにおける速度をMarkdownParserで比較してみた。

                                                  まとめ Rust製parserは、Dart製parserの2倍程度の速度が期待できる Rustの呼び出しコストとして、1.2ms程度のボトルネックが存在する n回のRust呼び出しは、場合によってはパフォーマンス低下につながる RustとFlutterのアダプタは自動生成できるので実装は非常にカンタン Rustコンパイル用の設定は1回すればずっと使えるが、プラットフォームごとにしなければいけないので結構面倒。 どんな人向けの記事? FlutterからRustの関数を呼び出す方法を知りたい方 Rustの関数をわざわざ呼び出すべきか、判断基準のヒントを得たい方 Dart vs Rustのスピードテストの実測値をみたい方 Rustは本当に早いのか。Flutterで実際に呼び出してDart実装と比較する つい先日、Stack Overflow Developer Survey 2023が公開されま

                                                    Rustは本当に早いのか。Flutterにおける速度をMarkdownParserで比較してみた。
                                                  • How we built the Grafbase local development experience in Rust

                                                    How we built the Grafbase local development experience in Rust Grafbase provides an edge-native GraphQL platform that combines multiple data-sources into a single API and includes a serverless database, search, edge caching, preview environments and much more. Around May 2022 we started working on a local development experience, written in Rust, to mirror this functionality locally and allow you t

                                                      How we built the Grafbase local development experience in Rust
                                                    • 職場でRustを使う理由、3位はセキュリティ、2位はパフォーマンス、1位は?

                                                      職場でRustを使う理由、3位はセキュリティ、2位はパフォーマンス、1位は?:2022年版年次Rust調査結果、1万超の回答 RustプロジェクトがRustプログラミング言語に関する年次調査「State of Rust」の2022年版の結果を発表した。1万超の回答を基に、Rustの使用をやめた理由、使わない理由、Rustを職場で使用する理由、将来の懸念などを明らかにした。

                                                        職場でRustを使う理由、3位はセキュリティ、2位はパフォーマンス、1位は?
                                                      • Rust 1.70を早めに深掘り - あずんひの日

                                                        本日6/2(金)にリリースされたRust 1.70の変更点を詳しく紹介します。 もしこの記事が参考になれば記事末尾から活動を支援頂けると嬉しいです。 6/2は旧暦で本能寺の変が起こったことから裏切りの日 ピックアップ 一度だけ初期化されるグローバル変数を書けるようになった format_args!がコンパイル時に展開されるようになった OptionやResult内の値を使って判定処理を書けるようになった Cargoでの高速なインデックス更新が既定で使用されるようになった 最近のrust-analyzer 安定化されていないAPIが候補に出なくなった クロージャが何をキャプチャしているか詳細に分かるようになった 安定化されたAPIのドキュメント NonZero*::MIN サンプル NonZero*::MAX サンプル BinaryHeap::retain サンプル Rc::into_inn

                                                          Rust 1.70を早めに深掘り - あずんひの日
                                                        • Discord、単一サーバーで100万人以上のオンラインMidJourneyユーザーに拡大

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

                                                            Discord、単一サーバーで100万人以上のオンラインMidJourneyユーザーに拡大
                                                          • Rust言語で開発したWindowsカーネル、Canaryチャネルで展開開始

                                                              Rust言語で開発したWindowsカーネル、Canaryチャネルで展開開始
                                                            • 【Rust × C++】 夢の共演を試した話

                                                              2023 セキュリティ・キャンプLT会で話した内容です。

                                                                【Rust × C++】 夢の共演を試した話
                                                              • kyju.org

                                                                Piccolo - A Stackless Lua Interpreter 2024-05-01 History of piccolo A "Stackless" Interpreter Design Benefits of Stackless Cancellation Pre-emptive Concurrency Fuel, Pacing, and Custom Scheduling "Symmetric" Coroutines and coroutine.yieldto The "Big Lie" Rust Coroutines, Lua Coroutines, and Snarfing Zooming Out piccolo is an interpreter for the Lua language written in pure, mostly safe Rust with a

                                                                • [Ubuntu] RustでLinux kernel モジュールを開発する | DevelopersIO

                                                                  Introduction Linux kernelの6.2からRustでカーネル開発をするための基本的なサポートが導入されましたが、 メジャーなディストリビューションは6.2をデフォルトで搭載していませんでした。 なのでRustカーネルを試そうとした場合、 カーネルのソース持ってきてカーネルビルド関連のソフトウェアやライブラリをインストールし、 Rust関連のオプションつけてビルドしなおして Rustで書いたカーネルモジュールをビルドして QEMUとかUTMとかでようやく動作確認ができます。 とりあえずHelloWorldするだけでも、かなり面倒です。 しかし先日、Ubuntu 23.04 ⁠Lunar Lobsterがリリースされました。 これは標準でLinux Kernel 6.2を搭載しているので、面倒な手順を踏まなくても Rust製のLinux kernelが動きます。 また、素晴

                                                                    [Ubuntu] RustでLinux kernel モジュールを開発する | DevelopersIO
                                                                  • Rust.Tokyo 2023参加記

                                                                    こんにちは。Zennでは初めまして。cordx56です。 今回は、先日開催されたRust.Tokyo 2023の参加記を書きたいと思います。よろしくお願いします。 Rust.Tokyoとは? Rust.Tokyoとは、プログラミング言語であるRustのカンファレンスです(念の為)。そこまで多くの情報は載っていませんが、公式サイトもあります。 なぜ参加したの? 私は今回のRust.Tokyo 2023がRust.Tokyoの初参加でした。今回はRust.Tokyoのしばらくぶりのオフライン開催だったようです。 私自身、最近何かを作る際にはRustを用いることが多くなったこと、そして今のインターン先がRust.Tokyo 2023のスポンサー企業であったこともあり、現地で参加してきました。 オフライン会場は六本木のメルカリさんのところで、とてもいい会場でした。また現地では知り合いに会うこともで

                                                                      Rust.Tokyo 2023参加記
                                                                    • Ntex

                                                                      NtexNtex is a powerful, pragmatic, and extremely fast framework for composable networking services for Rust

                                                                      • moonbit で json パーサーを書いてみた 感想

                                                                        エアプにならないために、実際に moonbit を使ってコードを書いてみた感想を書く。 JSON Parser を書いた パッケージレジストリである https://mooncakes.io を見た限り、使いやすい json parser がなさそうなので、とりあえず自分用のをでっち上げた。 mooncakes.io に publish してあるので、 moon add mizchi/json で使える。品質が良くなくても ネームスペース付きで publish するので別に邪魔にならない気がした。 なんで作ったかというと、公式 example の cloudflare workers の example は単純なフィボナッチを計算するだけで、構造的なデータを返すことができない。 moonbit と js 間の文字列の受け渡しについては、あとで別の記事を書く。 使い方 fn main { l

                                                                          moonbit で json パーサーを書いてみた 感想
                                                                        • State of Vite (ViteConf 2023)

                                                                          The State of Vite Hello everyone! Welcome back to another ViteConf. Today I am here to talk about the state of Vite: What’s been happening, how things are going, and what’s going to happen next. Let’s dive right into it. Evan You ViteConf 2023

                                                                            State of Vite (ViteConf 2023)
                                                                          • 【JavaScript】ここがしんどかったよTauri開発【Rust】 - Qiita

                                                                            2024年2月2日にTauri 2.0がβ版となりました。昨年から個人的にいくつかTauriの1系でデスクトップアプリケーションを開発してきたのですが、ここが辛かった!というのを列挙してみました。 因みに公開しているのは以下となります。 Iron Beads Editor(Mac OS版) String Scouter(Mac OS版)(Windows版) 尚、Iron Beads Editor(以下IBE)に関しては元々Vanilla.jsでweb側を作っていて、それの機能追加版となります。 なぜTauriを選択したのか? まずTauriを選択する前に以下のプラットフォームを検討しました。 Platform 所感とか

                                                                              【JavaScript】ここがしんどかったよTauri開発【Rust】 - Qiita
                                                                            • Writing a TrueType font renderer

                                                                              This post was discussed further on Hacker News. 09 Jan, 2024: There was an issue with newsletter signups. If you tried to sign up, please try again! You should see a success message. Text is the medium of digital interaction, and text rendering has an outsized impact on the overall fit and finish of any system. It therefore pains me that axle has for years relied on a low-resolution 8x8 bitmap fon

                                                                              • Rustの学び方教えてくれ

                                                                                プログラミングRustは昔一回読んだ 自力で書けなすぎるから写経して学ぼうかと思ったが、中々染み付く感じがしない

                                                                                  Rustの学び方教えてくれ
                                                                                • Announcing Biome

                                                                                  We are happy to announce Biome, toolchain of the web. Biome is the official fork of Rome and it will continue to be Rome’s legacy. Biome is led and maintained by the same people that maintained Rome so far. Follow us: Github organization Official repository Official discord server Official twitter account I want to give you some background and context, which could help you to get why the core team

                                                                                    Announcing Biome