並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 3400件

新着順 人気順

rustの検索結果1 - 40 件 / 3400件

  • 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

    • 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
      • 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 - 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
          • 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
            • 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

              • 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
                • 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

                  • 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
                    • 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
                      • Rustのtokioを使ってLSP, DAPサーバーを書く

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

                          Rustのtokioを使ってLSP, DAPサーバーを書く
                        • 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 - 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
                            • Macroquad

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

                              • 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

                                • 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

                                  • 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
                                    • 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
                                      • 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サーバを実装してみよう
                                        • 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
                                          • 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
                                            • Wasmの概要|RustでWasm Runtimeを実装する

                                                Wasmの概要|RustでWasm Runtimeを実装する
                                              • 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
                                                • 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

                                                  • RustでWasm Runtimeを実装する

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

                                                      RustでWasm Runtimeを実装する
                                                    • タイムスタンプの精度を落とすときは切り捨てろ - methaneのブログ

                                                      とあるプロジェクトでナノ秒からミリ秒への変換で四捨五入してきた人がいて、時刻を扱うときは保存精度未満は切り捨てるべきというのが常識になっていないなーと思ったので。 2023-10-01 を、何年か表示する時に、2024年に丸める人はいないだろう。 13:45 が何時か表示する時も、13時と表示するだろう。(口頭で何時?と聞かれたら14時と答えるかもしれないけれど) つまり、ある精度で表した時刻は、実際には次のような半開区間を示しているのである。 2023-01-01 00:00:00 <= 2023年 < 2024-01-01 00:00:00 13:45:00.000 <= 13:45 < 13:46:00.000 そして、そう決めたからには一貫して同じように、指定精度未満は切り捨てというルールを維持しなければならない。秒以下は四捨五入で、とかやってはいけないのだ。 一貫しないと何が問題

                                                        タイムスタンプの精度を落とすときは切り捨てろ - methaneのブログ
                                                      • 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を作ってみよう
                                                        • The Rust Calling Convention We Deserve · mcyoung

                                                          I will often say that the so-called “C ABI” is a very bad one, and a relatively unimaginative one when it comes to passing complicated types effectively. A lot of people ask me “ok, what would you use instead”, and I just point them to the Go register ABI, but it seems most people have trouble filling in the gaps of what I mean. This article explains what I mean in detail. I have discussed calling

                                                            The Rust Calling Convention We Deserve · mcyoung
                                                          • GitHub - WINSDK/bite: Disassembler focused on comprehensive rust support.

                                                            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 - WINSDK/bite: Disassembler focused on comprehensive rust support.
                                                            • コンテナーの保護にVM関連技術を応用--「Rust」ベースの新ソリューション「Edera」

                                                              Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2024-04-18 07:30 クラウドセキュリティにおける究極の悪夢の1つは、何者かにコンテナーランタイムのセキュリティを突破され、基盤となるOSに侵入されることだ。「Leaky Vessels」などの攻撃では、ハッカーがプログラムに大打撃を与えて、他のコンテナー化されたアプリケーションを破壊し、攻撃者にルートユーザーレベルの権限を付与してしまう可能性がある。つまり、セキュリティが完全に崩壊するということだ。そのような攻撃を防ぐために、「Edera」は古いプログラムを新しい言語に取り込んで、メモリー安全性に優れたコンテナーランタイムを提供する。 「Rust」で記述されたEderaは、従来のオープンソースのタイプ1ベアメタル仮想マシンハイパーバイザーである

                                                                コンテナーの保護にVM関連技術を応用--「Rust」ベースの新ソリューション「Edera」
                                                              • Rust のスマートポインタまとめ

                                                                Rust 勉強シリーズ。 いまここ ↓ はじめに 先日 Arc<T> や Mutex<T> に触れたので、そろそろ「いつか理解する」と放置していた ↓ の構造体について整理する。 筆者の方の補足記事 ↓ 筆者の理解度は先月の時点で「Box<T> はみたことある、ほかは知らん」くらい。 スマートポインタとは スマートポインタとは、通常の参照のように使えるだけでなく、追加のメタデータと能力を持つデータ構造のこと。 また、多くの場合スマートポインタは対象とするデータを所有している。 通常、スマートポインタは構造体で実装され、Deref トレイトと Drop トレイトを実装する。 次の記事では構造体 String や構造体 Vec もスマートポインタとして紹介されている。 Deref トレイト Deref トレイトは参照外し演算子 ( * ) の挙動を定義できる。 次の構造体 Foo を所有する変

                                                                  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 パーサーを書いてみた 感想
                                                                  • Release 🚀 Farm v1.0 is released! · farm-fe/farm

                                                                    Farm⭐️ is a next-generation web build tool written in Rust. It is currently the most powerful, fastest, and most stable Rust web build tool. Since Farm open its source code of version 0.3 in March 2023, after a year of development and contributions by many community developers, version v1.0 has finally been released! The v1.0 version supports a large number of features including lazy compilation,

                                                                      Release 🚀 Farm v1.0 is released! · farm-fe/farm
                                                                    • Hello, world! with Wasm Component(ライブラリー編)

                                                                      前回までのあらすじ: cargo-componentを使ってWebAssemblyコンポーネント(Wasmコンポーネント)を作りました Wasmtimeで実行しました wasm-toolsを使って作成したコンポーネントのワールドを出力しました 今回の内容: WebAssembly Interface Type(WIT)を使ってWasmコンポーネントのインターフェースを定義します wit-bindgenの力を借りつつ、インターフェースをRustで実装します 実装したWasmコンポーネントをコンポーネントレジストリーに登録します。 用意するもの Rustのツールチェーン cargo-component Wasmtime wasm-tools 前回作成したhello-wasm-cliプロジェクト hello-wasm-cliプロジェクトは次のようなフォルダー構成をしています: . ├── Car

                                                                        Hello, world! with Wasm Component(ライブラリー編)
                                                                      • 多くのプログラミング言語に危険な脆弱性 ~Windows環境の引数エスケープ処理に不備「Rust」「PHP」「Node.js」「Haskell」などに影響/

                                                                          多くのプログラミング言語に危険な脆弱性 ~Windows環境の引数エスケープ処理に不備「Rust」「PHP」「Node.js」「Haskell」などに影響/
                                                                        • AWS活用の自由度を上げる「Lambda」を「Rust」で活用 メモリの使用量を抑えつつ、プログラムの作成も簡単に

                                                                          AWS活用の自由度を上げる「Lambda」を「Rust」で活用 メモリの使用量を抑えつつ、プログラムの作成も簡単に Rust を AWS で活用しよう! 原氏の自己紹介 原旅人氏:じゃあ始めます。私、株式会社ログラスでクラウドエンジニアというタイトルでやっている、原と申します。このたびは、このようなところに呼んでいただきありがとうございます。 今日は、「RustをAWSで活用しよう!」と。「AWS」って、実は「Lambda」の話なんですが、こういったことで話をしようと思います。 自己紹介は先ほどしていただいたので、ほぼ省略です。(スライドを示して)実は松本さん(松本健太郎氏)と私はここに書いてある検索エンジンの会社で一緒に働いていて、私がRustをやるきっかけを作ってくれたのも、実は司会者の松本さんです。 株式会社ログラスについて 今はログラスという会社にいて、クラウドエンジニアという名前

                                                                            AWS活用の自由度を上げる「Lambda」を「Rust」で活用 メモリの使用量を抑えつつ、プログラムの作成も簡単に
                                                                          • How we built JSR

                                                                            We recently launched the JavaScript Registry - JSR. It’s a new registry for JavaScript and TypeScript designed to offer a significantly better experience than npm for both package authors and users: It natively supports publishing TypeScript source code, which is used to auto-generate documentation for your package It’s secure-by-default, supporting token-less publishing from GitHub Actions and pa

                                                                              How we built JSR
                                                                            • Improve performance of you Rust functions by const currying

                                                                              Currying is a functional programming technique that allows you to partially apply a function’s arguments and return a new function that takes the remaining arguments. This is widely used in functional programming languages like Haskell, as a fundamental tool for many design patterns. However, today we use the technique in Rust to improve the performance of our functions. TL;DR: You can also take a

                                                                              • Rust言語、WebAssemblyでコンポーネントモデルを実現する「WASI Preview 2」対応を発表

                                                                                Rust言語がWebAssemblyでコンポーネントモデルなどを実現するWASI 0.2(もしくはWASI Preview 2:WebAssembly System Interface Preview 2)に対応することを明らかにしました。 Rust言語はWebAssemblyアプリの開発に人気 Rust言語は、C言語のように低レベルのシステム開発向けに作られた言語です。不正なメモリ領域を指すポインターなどを許容しない安全なメモリ管理と、マルチスレッド実行においてデータ競合を排除した高い並列性を実現している点が特長です。 WebAssemblyアプリケーションを開発するために使われる言語としても人気が高く、WebAssembly関連の調査では、WebAssemblyアプリケーション開発で最も使われている言語として3年連続で1位となっています。 WASI Preview 2ではコンポーネント

                                                                                  Rust言語、WebAssemblyでコンポーネントモデルを実現する「WASI Preview 2」対応を発表
                                                                                • Zed - Code at the speed of thought

                                                                                  Welcome to the first article in a new series called Zed Decoded. In Zed Decoded I'm going to take a close look at Zed — how it's built, which data structures it uses, which technologies and techniques, what features it has, which bugs we ran into. The best part? I won't do this alone, but get to interview and ask my colleagues here at Zed about everything I want to know. Companion Video: Async Rus

                                                                                    Zed - Code at the speed of thought