タグ

Rustに関するzyzyのブックマーク (164)

  • Rust Vs Go: A Hands-On Comparison | Shuttle

    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 | Shuttle
    zyzy
    zyzy 2023/09/29
    短期的にちゃちゃっと書くならGo、後から色々足して育ててく気ならRustって感じか
  • Why Is SQLite Coded In C

    Note: Sections 2.0 and 3.0 of this article were added in response to comments on Hacker News and Reddit. Since its inception on 2000-05-29, SQLite has been implemented in generic C. C was and continues to be the best language for implementing a software library like SQLite. There are no plans to recode SQLite in any other programming language at this time. The reasons why C is the best language to

    zyzy
    zyzy 2023/09/21
    外言語とのコミュニケーションにかけてはやっぱCを媒介にするのが一番ってのはでかいよな/Rustは組み込み用にstd切るbare metalもできるのでそっちでやるのでは?
  • Async Rust Is A Bad Language

    But to get at whatever the hell I mean by that, we need to talk about why async Rust exists in the first place. Let’s talk about: Modern Concurrency: They’re Green, They’re Mean, & They Ate My Machine Suppose we want our code to go fast. We have two big problems to solve: We want to use the whole computer. Code runs on CPUs, and in 2023, even my phone has eight of the damn things. If I want to use

    Async Rust Is A Bad Language
    zyzy
    zyzy 2023/09/13
    async周りの仕様決定が迷走したの、静的精査を前提にしたRustの設計と根本的に相性が良くなかったからなんだろうな……とは思う。そもそもの食い合わせが悪い
  • Rust devs push back as Serde project ships precompiled binaries

    zyzy
    zyzy 2023/08/21
    Serdeそんなことになってたのか
  • How to think about `async`/`await` in Rust

    2023-06-30 async fn is an inversion of control Hand-rolling an explicit state machine Explicit state machines mean your caller has control Writing state machines with async fn await is a composition operator Summary (This is a section of the lilos intro guide that people seemed to like, so to increase its visibility, I’m lifting it up into its own post and expanding it a bit. I hope this is a usef

    How to think about `async`/`await` in Rust
    zyzy
    zyzy 2023/08/03
    なんでこんなちょっと分かり難いシンタックスシュガーの形式にしたのか、疑問ではあるんだよな。まぁいいんだけど。
  • Node.jsやめる(Rustにする?) · Issue #11078 · misskey-dev/misskey

    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

    Node.jsやめる(Rustにする?) · Issue #11078 · misskey-dev/misskey
    zyzy
    zyzy 2023/07/05
    自分からしたらRustよりjsやTypeScriptのがよっぽど複雑なんだがな
  • Rust の DI を考える –– Part 2: Rust における DI の手法の整理 - paild tech blog

    paild 社でお手伝いをしている yuki です。前回に引き続き Dependency Injection 略して DI の話題を書いていきたいと思います。今回は Rust における DI についていろいろと考えてみました。今回紹介する実装はかなり単純な例を用いたもので、この記事からさらにみなさんのアプリケーションの実装状況に合わせていくつか工夫は必要になるかもしれません。ただ、とっかかりとしては十分なものになっていると思うので、DI でお困りの方はぜひ参考にしてみてください。 今回実装したいアプリケーションのお題について 今回紹介する技法の種別について コンストラクタインジェクション 静的ディスパッチを用いたもの 動的ディスパッチを用いたもの 静的ディスパッチと動的ディスパッチの利点・欠点 shaku (DI コンテナ)を用いたインジェクション shaku の利点・欠点 余談: DI

    Rust の DI を考える –– Part 2: Rust における DI の手法の整理 - paild tech blog
    zyzy
    zyzy 2023/06/14
    ちょいちょい高階型が欲しくなるな……
  • mizchi on Twitter: "ChatGPTで Rust に nom でS式パーサ書いてっていったら本当に全部実装した"

    zyzy
    zyzy 2023/06/14
    Crate.ioまできっちり把握してるのか……。
  • Bevy + WebGPU

    Bevy + WebGPUPosted on May 17, 2023 by Carter Anderson ( @cart @cart_cart cartdev ) I'm excited to announce that Bevy's main branch now supports WebGPU rendering on the web! This means you can play with it now by checking out our repo provided you have a supported web browser (WebGPU is still in the process of rolling out). You can also explore our live WebGPU examples. The upcoming Bevy 0.11 rele

    Bevy + WebGPU
    zyzy
    zyzy 2023/05/22
    Bevy公式サイト内のニュースなのにBevyの説明からしてくれるw(そんだけ注目されてる記事なんだろうけど)
  • Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog

    お手伝いの @helloyuki_ です。今回はポエムです。 今回は、Rust を始めた当時、プログラミング言語は Java しかまともに触ったことがない新米若手 Java エンジニアだった私[*1]が「見たことがなく、使いどころがわからなく理解が難しい」と感じたポイントについて紹介します。対象とするソフトウェアのレイヤーが低いか高いかを問わず、とにかく Rust をやってみて理解するまでに時間がかかり、難しいと感じたポイントについて紹介します。 Rust の「メモリ安全」って、結局何 所有権とライフタイム 参照 スマートポインタ 代数的データ型 関数が第一級である モジュールシステム self 型クラスという側面でのトレイト まとめ 私が Rust をある程度使いこなせるようになるまでの話 「難しい」って何?、の話 Rust の「メモリ安全」って、結局何 そもそも論ですが、Rust が取

    Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog
    zyzy
    zyzy 2023/05/11
    JVM畑はScalaを間に挟むと関数型由来の概念理解しやすいのは本当にそう
  • Rust のセミコロンを徹底理解する - Qiita

    Rust を書きはじめて日が浅い私は「ここにセミコロン書いていいんだっけ?書かなくていいんだっけ?」と混乱することがよくあります。 ちょっと作為的ですが例ですが、たとえばこういうとき。 #[allow(dead_code)] fn main() { struct Foo {x: i64} // ◁─┬─ 0個でも1個でもいい struct Bar {x: i64}; // ◁─┘ struct Baz(i64); // ◁─┬─ 1個でも2個でもいい struct Qux(i64);; // ◁─┘ const A: i64 = 1; // ◁─┬─ 1個でも2個でもいい const B: i64 = 1;; // ◁─┘ let _x = 1; // ◁─┬─ 2個だと unnecessary trailing semicolon と怒られる // let _y = 1;; // ◁─┘

    Rust のセミコロンを徹底理解する - Qiita
    zyzy
    zyzy 2023/05/09
    ちょいちょいこんがらがるやつ
  • bevy/crates/bevy_ecs/src/system/query.rs at main · bevyengine/bevy

    zyzy
    zyzy 2023/05/01
    bevy使ってる時&mut queryのforのパターンマッチの挙動謎だと思ってたら、&や&mutにinto_iter実装して、そこでself.iterとかself.iter_mutとか呼んでるのかコレ。
  • Patterns - The Rust Reference

    zyzy
    zyzy 2023/04/30
    参照をパターンマッチしたら勝手にrefがついたのと同じ扱いになるの、そういう仕様なのか。
  • Rustのライフタイムについてのよくある誤解

    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のライフタイムについてのよくある誤解
    zyzy
    zyzy 2023/04/27
    クロージャの挙動知らんかった
  • 【Rust】生ポインタとその演算(戻せるスライスの実装)

    Rustでスライスを扱う場合前に進めることはできても、後ろに戻すことができない。 C言語のプログラムから移植するなどでそのような操作をしたい場合にどうしたらいいか調べてみた。 モチベーションC言語で組まれたプログラムをRustで実装する際に、配列の途中を指すようなポインタはスライスで扱うことになると思う。 スライスはC言語でいうところのポインタに加えて長さを保持しているもので(ファットポインタ)、それによって範囲外アクセスが起きないようチェックできる。 ポインタを前に進める場合に対応するには、スライスをさらにスライス取ればいい: でポインタを戻す場合にはどうしたらいいか。 スライスでは後ろに戻した場合の安全性を確認できないため、そのような操作ができない。 ということで、生ポインタの演算に手を出してみた。 生ポインタの操作生ポインタの取得生ポインタを取得するには、参照から as *const

    zyzy
    zyzy 2023/04/27
    wrapping_offset は境界をはみ出ても勝手に丸めてくれるから構わないけど、offsetははみ出たら未定義動作踏むからはみ出ないように自分で制約しろ、って事じゃないかな?
  • Rustのself引数まとめ - 簡潔なQ

    概要: Rustの随所でself引数は特別扱いされている。それらの挙動について調べた。 self引数とメソッド Rustではnon-staticメソッドは self という特殊な名前の引数を持つ関数として定義されている。例えば、 struct A; // parse_self_arg impl A { fn f1(self: A) {} fn f2(self: &mut A) {} fn f3(self: &A) {} fn f4(self: Box<A>) {} // 生存期間を明示すると以下の通り // fn f2<'a>(self: &'a mut A) {} // fn f3<'a>(self: &'a A) {} } と書くと、 f1, f2, f3 はメソッドになる。 self はキーワードであり、この名前の引数は特定の条件下でのみ宣言できる。それは以下の場合である。 trai

    Rustのself引数まとめ - 簡潔なQ
    zyzy
    zyzy 2023/04/26
    今更だがmutは修飾子だが&mutは型なんだよな。ライフタイムも型の方に記載するわけだし
  • Rustにはシャローコピーがわからない - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ※ 小説です ※ 読むとRustや所有権・参照とちょっとだけ仲良くなれるかもしれません ※ まとめやメッセージの類は最後のあとがきに書いてあります(読んで) プロローグ 放課後のチャイムを合図に親友のCSSちゃんが現れた。 CSS「TSちゃん放課後ヒマでしょ?駅前にできたECサイトのデザイン見ていかない?」 TypeScript「気になる!...けどごめんね、今日は美化委員会の仕事があるんだ。」 CSS「えー?今日委員会だったっけ?あの偉そうな堅物とすることなんてある?」 TS「偉そうなって...(苦笑)、うーん、まぁ、ちょっとね。埋め

    Rustにはシャローコピーがわからない - Qiita
    zyzy
    zyzy 2023/04/25
    途中でHaskellちゃんが変な事になって出てくるけど、超能力でRustちゃんのやりたい事読み取って動いてるとしか思えん挙動。
  • CでもC++でもなく「Rust」を使いたくなる“なるほどの理由”

    関連キーワード アプリケーション開発 | プログラマー | プログラミング 独立性の高い小規模サービス「マイクロサービス」の開発において、プログラミング言語「Rust」は一定の地位を築いている。Rustにはどのような強みがあるのか。 CやC++じゃなく「Rust」を選ぶ理由はこれだ 併せて読みたいお薦め記事 連載:GoRustを比較する 第1回:CでもC++でもなくプログラミング言語「Go」を使いたくなる“あの良さ”とは? 第2回:「Go」に期待し過ぎたプログラマーが落胆する“完璧じゃない部分” GoRustの魅力 プログラミング言語「Go」の魅力とは? 「Goで“脱COBOL”」の成功者が語る 「Rust」はなぜクラウドネイティブ開発者の間で大人気なのか? 「C」や「C++」といったプログラミング言語では、開発者は手動でメモリを管理する必要があるが、Rustはその必要はない。これはプ

    CでもC++でもなく「Rust」を使いたくなる“なるほどの理由”
    zyzy
    zyzy 2023/04/23
    ↓CはともかくC++を作る難易度とRustやGoを作る難易度はそんなに変わらないと思います。Cはぶっちぎりで簡易ですけど。
  • Elixir and Rust is a good mix

    Elixir and Rust is a good mix Author Name Jason Stiebs @peregrine @peregrine Image by Annie Ruygt This post is about using Rust with Elixir and how easily it can be done! If you want to deploy your Phoenix LiveView app right now, then check out how to get started. You could be up and running in minutes. Problem We need to perform a CPU intensive or system level programming task and there are just

    Elixir and Rust is a good mix
    zyzy
    zyzy 2023/04/14
    Elixirまだまだ好きな人多い
  • RustとWASMで開発されKubernetesで実装されたデータストリームシステムFluvioを紹介

    Cloud Native Computing Foundation(CNCF)が公開しているYouTubeチャネルから、Kafkaに替わるストリーミングプロセッシングを行うオープンソースソフトウェアFluvioを解説する動画を紹介する。CNCFはクラウドネイティブなシステムを普及するためのマーケティング活動の一環としてクラウドネイティブなソフトウェアを解説する動画を公開しているが、これもそのひとつだ。Fluvioを開発しているのはInfinyOnという企業で、元NGINXエンジニアが創業したベンチャーだ。Fluvio自体はオープンソースだが、CNCFのサンドボックスプロジェクトという訳でもない。CNCFにはTremorやStrimziというストリーミングのためのソフトウェアがすでにサンドボックスとして採用されているが、そういった枠には捕らわれずに紹介をするという発想だろう。 動画:Int

    RustとWASMで開発されKubernetesで実装されたデータストリームシステムFluvioを紹介
    zyzy
    zyzy 2023/03/20
    Scalaの範疇がRustに移行してきてるな、と思う。