並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 38 件 / 38件

新着順 人気順

Rustの検索結果1 - 38 件 / 38件

  • RustでWasm Runtimeを実装する

    Rustで"Hello World"を出力できる小さなWasm Runtimeをゼロから実装して、WasmとWASIの動作原理を理解する本です。

      RustでWasm Runtimeを実装する
    • Welcome - 100 Exercises To Learn Rust

      Welcome Welcome to "100 Exercises To Learn Rust"! This course will teach you Rust's core concepts, one exercise at a time. You'll learn about Rust's syntax, its type system, its standard library, and its ecosystem. We don't assume any prior knowledge of Rust, but we assume you know at least another programming language. We also don't assume any prior knowledge of systems programming or memory mana

      • Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita

        はじめに みなさん様々な言語でAPIサーバーを立てて負荷試験を実施したことはありますか。 私自身、業務でPythonのアプリケーションに対して負荷試験を実施した経験があります。 その際にPythonの速度観点の不安定さを目の当たりにしたと同時に、別の言語ではどのような違いが生まれるのだろうか、という疑問を持ちました。 そこで今回は、簡単ではありますがGoとRustとPythonでそれぞれAPIサーバーを立てて負荷試験をしてみます。 負荷試験対象のAPIサーバー 今回は(1) Hello, World!を返すAPI(2) ファイル読み込みAPI(3)1秒待ってから応答するAPIの3つを実装します。 (1)はAPIサーバー自体の応答速度の計測、(2)はメモリを消費する処理が生じた場合のAPIの応答速度の計測、(3)は待ち時間発生している時のAPIの応答速度の計測することが目的です。 (2)につ

          Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita
        • 実用Rustアプリケーション開発

          実世界のRustアプリケーションを効率良く開発するための実用的な知見集 仕事などで実世界のRustアプリケーションを書く時に実用的な知見やtipsがまとまっていたらいいなと思ったことはありませんか? この本では、アプリケーションを書く時に悩むポイントや便利crateを素早くアプリケーションに組み込む際のポイントを紹介します。本の内容をスリムにするため、自分が学び始める前に知りたかったものに絞りつつ要所を紹介・解説します。Rustの言語仕様のメジャーどころやよく利用されているcrateはドキュメントが豊富なので、わからないところや詳しく知りたい部分はドキュメントを読んだりLLMに聞いてみたりしてください。 想定読者: "The Rust Programming Language" の要所を読み終えたくらいのこれからRustでアプリケーションコードを書いていく、または今まさにアプリケーションコ

            実用Rustアプリケーション開発
          • LogLog Games

            The article is also available in Chinese. Disclaimer: This post is a very long collection of thoughts and problems I've had over the years, and also addresses some of the arguments I've been repeatedly told. This post expresses my opinion the has been formed over using Rust for gamedev for many thousands of hours over many years, and multiple finished games. This isn't meant to brag or indicate su

            • Rustで有名アルゴリズムに挑戦(17) RustでHTTPサーバを実装してみよう

              今回はRustを使って、簡単なHTTPサーバを実装してみましょう。HTTPは単純ですが生活インフラとしても必須となっているWebの根幹となる技術です。Rustに対する理解を深めると同時にWebの根幹となるHTTPについても学びましょう。 RustでHTTPを実装してみよう HTTPプロトコルとは? 「HTTP(Hypertext Transfer Protocol)」とは、WebサーバーとWebブラウザの間でデータをやりとりするための通信規則(プロトコル)です。 1990年末にイギリスの物理学者ティム・バーナーズ=リー氏と、ロバート・カイリュー氏によって設計されました。 HTTPプロトコルは、RFCとして公に発表されています。RFCとは、IETFが発行しているインターネットに関連する技術仕様などを共有するために公開される文書であり誰でも読むことができます。1996年にHTTP/1.0に関す

                Rustで有名アルゴリズムに挑戦(17) RustでHTTPサーバを実装してみよう
              • Welcome - 100 Exercises To Learn Rust

                Welcome Welcome to "100 Exercises To Learn Rust"! This course will teach you Rust's core concepts, one exercise at a time. You'll learn about Rust's syntax, its type system, its standard library, and its ecosystem. We don't assume any prior knowledge of Rust, but we assume you know at least another programming language. We also don't assume any prior knowledge of systems programming or memory mana

                • Rust と Wasm で極限まで PNG ファイルを圧縮した話

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

                    Rust と Wasm で極限まで PNG ファイルを圧縮した話
                  • 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

                    • Rustのtokioを使ってLSP, DAPサーバーを書く

                      はじめに 最近はioliteという言語とそのコンパイラを書いています。 そこで、VSCode上の言語機能やデバッガーの機能を作りたくなったので、それをRustのtokio上で動くLSP,DAPサーバーを書いたのでそれに関する記事です。 (この記事執筆時点のリポジトリ) LSPとDAPについて この記事を読んでいる人はLSPについては知っている人が多いと思いますが、LSPはmicrosoftが定める規格で、エディター上のautocompleteや定義ジャンプ、エラーの表示やホバー時の型表示などの機能を提供することができる規格です。 一方でDAPはLSPのデバッガーバージョンのようなもので、VSCodeのデバッガーを起動した時に提供される、ブレイクポイントやステップ実行などの機能について定めた規格です。 いずれもエディターから呼ぶためのプロトコルとして定義されており、通信は必ずしもサーバーを立

                        Rustのtokioを使ってLSP, DAPサーバーを書く
                      • Coroutines and effects

                        For the past few months I’ve been mulling over some things that Russell Johnston made me realize about the relationship between effect systems and coroutines. You can read more of his thoughts on this subject here, but he made me realize that effect systems (like that found in Koka) and coroutines (like Rust’s async functions or generators) are in some ways isomorphic to one another. I’ve been pon

                        • Zed Decoded: Rope & SumTree - Zed Blog

                          For this second post in Zed Decoded, our blog & video series in which we're taking a closer look at how Zed is built, I've talked to Zed's three co-founders — Nathan, Max, Antonio — about the data structure at the heart of Zed: the rope. Companion Video: Rope & SumTree This post comes with a 1hr companion video, in which Thorsten, Nathan, Antonio, and Max use Zed to look at how Zed uses the Rope a

                            Zed Decoded: Rope & SumTree - Zed Blog
                          • GitHub - verus-lang/verus: Verified Rust for low-level systems code

                            Verus is a tool for verifying the correctness of code written in Rust. Developers write specifications of what their code should do, and Verus statically checks that the executable Rust code will always satisfy the specifications for all possible executions of the code. Rather than adding run-time checks, Verus instead relies on powerful solvers to prove the code is correct. Verus currently suppor

                              GitHub - verus-lang/verus: Verified Rust for low-level systems code
                            • Bevyを楽しく書くために、最低限必要なRustのTips 3選 - Qiita

                              概要 Bevy Engineを初めて使う人にとって、Rust言語特有の壁があります。今回は特にハマりがちな点を3つ挙げてご紹介します。 前置き Bevy Engineは、ゲームエンジンと紹介されることが多いですが、個人的にはopenFrameworksなどと同様に、汎用的な開発フレームワークと捉えています。 Bevy Engineはとてもよく設計されていて、幅広い用途に活用できるのですが、良くも悪くも現状はRust言語専用に作られていて、Rust言語以外でも使えるようにしようとする動きはなくはないものの、現状ではRustで書かざるをえません。 Rustは、C++やJavaと比べても難易度は高く、Bevyは難易度を緩和する仕組みを設けてくれてはいますが、BevyとRustにはいくつかのハマりポイントがあります。 当記事では、特にRust言語特有の事情に焦点をあて、Bevyに初めて触れる際に、

                                Bevyを楽しく書くために、最低限必要なRustのTips 3選 - Qiita
                              • GitHub - HigherOrderCO/Bend: A massively parallel, high-level programming language

                                Bend is a massively parallel, high-level programming language. Unlike low-level alternatives like CUDA and Metal, Bend has the feeling and features of expressive languages like Python and Haskell, including fast object allocations, higher-order functions with full closure support, unrestricted recursion, even continuations. Yet, it runs on massively parallel hardware like GPUs, with near-linear sp

                                  GitHub - HigherOrderCO/Bend: A massively parallel, high-level programming language
                                • SemVer in Rust: Tooling, Breakage, and Edge Cases — FOSDEM 2024

                                  SemVer in Rust: Tooling, Breakage, and Edge Cases — FOSDEM 2024 Last month, I gave a talk titled "SemVer in Rust: Breakage, Tooling, and Edge Cases" at the FOSDEM 2024 conference. The talk is a practical look at what semantic versioning (SemVer) buys us, why SemVer goes wrong in practice, and how the cargo-semver-checks linter can help prevent the damage caused by SemVer breakage. TL;DR: SemVer is

                                    SemVer in Rust: Tooling, Breakage, and Edge Cases — FOSDEM 2024
                                  • Translation of the Rust's core and alloc crates | Formal Land

                                    We continue our work on formal verification of Rust programs with our tool coq-of-rust, to translate Rust code to the formal proof system Coq. One of the limitation we had was the handling of primitive constructs from the standard library of Rust, like Option::unwrap_or_default or all other primitive functions. For each of these functions, we had to make a Coq definition to represent its behavior.

                                      Translation of the Rust's core and alloc crates | Formal Land
                                    • Announcing Rust 1.78.0 | Rust Blog

                                      The Rust team is happy to announce a new version of Rust, 1.78.0. Rust is a programming language empowering everyone to build reliable and efficient software. If you have a previous version of Rust installed via rustup, you can get 1.78.0 with: $ rustup update stable If you don't have it already, you can get rustup from the appropriate page on our website, and check out the detailed release notes

                                        Announcing Rust 1.78.0 | Rust Blog
                                      • Error Handling for Large Rust Projects - A Deep Dive into GreptimeDB's Practices | Greptime Blog

                                        This blog shares our experience organizing variant types of Error in a complex system like GreptimeDB, from how an error is defined to how to log the error or present it to end-users. Such a system is composed of multiple components with their own Error definitions. Status Quo of Rust's Error Handling ​A few standard libraries in Rust provide Error structs that implement std::error::Error, like st

                                          Error Handling for Large Rust Projects - A Deep Dive into GreptimeDB's Practices | Greptime Blog
                                        • GitHub - kylebarron/parquet-wasm: Rust-based WebAssembly bindings to read and write Apache Parquet data

                                          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 - kylebarron/parquet-wasm: Rust-based WebAssembly bindings to read and write Apache Parquet data
                                          • GitHub - Ph0enixKM/Amber: 💎 Amber the programming language compiled to bash

                                            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 - Ph0enixKM/Amber: 💎 Amber the programming language compiled to bash
                                            • Leaving Rust gamedev after 3 years | Hacker News

                                              That's a good article. He's right about many things.I've been writing a metaverse client in Rust for several years now. Works with Second Life and Open Simulator servers. Here's some video.[1] It's about 45,000 lines of safe Rust. Notes: * There are very few people doing serious 3D game work in Rust. There's Veloren, and my stuff, and maybe a few others. No big, popular titles. I'd expected some A

                                              • rust-magic-patterns/rust-stream-visualized/Readme.md at master · alexpusch/rust-magic-patterns

                                                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

                                                  rust-magic-patterns/rust-stream-visualized/Readme.md at master · alexpusch/rust-magic-patterns
                                                • Faster linking times on nightly on Linux using `rust-lld` | Rust Blog

                                                  TL;DR: rustc will use rust-lld by default on x86_64-unknown-linux-gnu on nightly to significantly reduce linking times. Some context Linking time is often a big part of compilation time. When rustc needs to build a binary or a shared library, it will usually call the default linker installed on the system to do that (this can be changed on the command-line or by the target for which the code is co

                                                    Faster linking times on nightly on Linux using `rust-lld` | Rust Blog
                                                  • Zed Decoded: Linux when? - Zed Blog

                                                    Screenshot of Zed — but where are the red/yellow/green window controls? Does anything stick out? Yes, exactly, it's a screenshot of Zed running on Linux! Wait, what? Zed on Linux? Is it released yet? No, it's not, but it's taking shape, fast. At the end of January we open-sourced Zed and had zero Linux support. Now, three months later, you can compile & run Zed on Linux and actually use it. And I

                                                      Zed Decoded: Linux when? - Zed Blog
                                                    • graydon2 | Some notes on Rust, mutable aliasing and formal verification

                                                      frog hopSome notes on Rust, mutable aliasing and formal verification Recently Boats wrote a blog post about Rust, mutable aliasing, and the sad story of local reasoning over many decades of computer science. I recommend that post and agree with its main points! Go read it! But I also thought I'd add a little more detail to an area it's less acutely focused on: formal methods / formal verification.

                                                      • Extensible Language Support in Zed - Part 1 - Zed Blog

                                                        About two months ago, @maxdeviant and I began the project of making Zed extensible. In a code editor, extensibility can include many features that require many different capabilities, but for the first phase of the project, we have focused on extensible language support. We want people to be able to code in Zed in any programming language, not just a select few. We've just reached that first miles

                                                          Extensible Language Support in Zed - Part 1 - Zed Blog
                                                        • References are like jumps

                                                          In a high-level language, the programmer is deprived of the dangerous power to update his own program while it is running. Even more valuable, he has the power to split his machine into a number of separate variables, arrays, files, etc.; when he wishes to update any of these he must quote its name explicitly on the left of the assignment, so that the identity of the part of the machine subject to

                                                          • Vercel Functions are now faster—and powered by Rust – Vercel

                                                            Vercel Functions run code on demand without the need to manage your own infrastructure, provision servers, or upgrade hardware—and are now powered by Rust under the hood. We're gradually rolling out these improvements to new deployments, with all customers on our new Rust-powered functions in the coming weeks. No action is required. We've already served billions of invocations on our new system, w

                                                              Vercel Functions are now faster—and powered by Rust – Vercel
                                                            • GitHub - kyren/piccolo: An experimental stackless Lua VM implemented in pure Rust

                                                              (After four years, now UN-paused!) Project Goals, in roughly descending priority: Be an arguably working, useful Lua interpreter. Be an easy way to confidently sandbox untrusted Lua scripts. Be resilient against DoS from untrusted scripts (scripts should not be able to cause the interpreter to panic or use an unbounded amount of memory and should be guaranteed to return control to the caller in so

                                                                GitHub - kyren/piccolo: An experimental stackless Lua VM implemented in pure Rust
                                                              • Linux 6.9リリース ―Intel FREDのマージ、ARM64でのRustサポートなど | gihyo.jp

                                                                Linux Daily Topics Linux 6.9リリース ―Intel FREDのマージ⁠⁠、ARM64でのRustサポートなど Linus Torvaldsは2024年5月12日(米国時間⁠)⁠、「⁠Linux 6.9」のリリースをアナウンスした。開発期間は約2ヵ月、7本のリリース候補(RC)版を経ての一般提供開始となる。Linux 6.9のリリースにあたりLinusは「全体的にかなり正常に感じられるリリース」とコメントしており、多くの改善が実施された安定したカーネルに仕上がったことがうかがえる。 Linux 6.9 -Linus Torvalds Linux 6.9のおもなアップデートは以下の通り。 x86プロセッサにおけるイベント配信(IDT)の代替技術で、特権レベル間の移行時間を短縮し、ソフトウェアの堅牢性を高めるフレームワーク「Intel FRED」のメインラインへのマー

                                                                  Linux 6.9リリース ―Intel FREDのマージ、ARM64でのRustサポートなど | gihyo.jp
                                                                • Macroquad

                                                                  Macroquad Simple and easy to use game library for Rust programming language. Browse examples

                                                                  • Porting a cross-platform GUI application to Rust – Mozilla Hacks - the Web developer blog

                                                                    Firefox’s crash reporter is hopefully not something that most users experience often. However, it is still a very important component of Firefox, as it is integral in providing insight into the most visible bugs: those which crash the main process. These bugs offer the worst user experience (since the entire application must close), so fixing them is a very high priority. Other types of crashes, s

                                                                      Porting a cross-platform GUI application to Rust – Mozilla Hacks - the Web developer blog
                                                                    • GitHub - say4n/jf: flatten them json

                                                                      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 - say4n/jf: flatten them json
                                                                      • Wasmの概要|RustでWasm Runtimeを実装する

                                                                          Wasmの概要|RustでWasm Runtimeを実装する
                                                                        • Rust through the ages

                                                                          How has Rust changed over the years? It's been nine years since 1.0 was released (well, next week, technically). In that time, there have been 78 major releases and two editions, with a third due later this year. Quite a lot has changed! Those changes have been fairly incremental, so if you've been using Rust all that time, it probably doesn't feel like a lot. But comparing the 1.0 flavour of Rust

                                                                          • Rustls Gains OpenSSL and Nginx Compatibility

                                                                            The Rustls TLS library can now be used with Nginx via an OpenSSL compatibility layer. This means that Nginx users can switch from OpenSSL to Rustls with minimal effort - users can simply swap in a new TLS library without needing to modify or recompile Nginx. We have targeted Nginx versions greater than 1.18 on Ubuntu 22.04 or newer for initial support. Here's how easy it is to get going on x86_64

                                                                              Rustls Gains OpenSSL and Nginx Compatibility
                                                                            • Unwind considered harmful? · baby steps

                                                                              This blog is where I post up various half-baked ideas that I have. All PostsCategoriesGitHubTwitterRSS/Atom feeds I’ve been thinking a wild thought lately: we should deprecate panic=unwind. Most production users I know either already run with panic=abort or use unwinding in a very limited fashion, basically just to run to cleanup, not to truly recover. Removing unwinding from most case meanwhile h

                                                                              1