タグ

rustに関するamagitakayosiのブックマーク (27)

  • Trunk | Build, bundle & ship your Rust WASM application to the web

    Trunk is a WASM web application bundler for Rust. Trunk uses a simple, optional-config pattern for building & bundling WASM, JS snippets & other assets (images, css, scss) via a source HTML file. Getting Started Install First, install Trunk via one of the following options. Plain cargo Download the sources and build them yourself: cargo install --locked trunk You can also toggle some features usin

  • Rust/AnyhowのTips

    Rust初学者が苦戦するのことの一つにエラー処理があると思います。自分もそうでした。例外のあるプログラミング言語(C++, C#, Java)から来ると、RustのResult、Optionはとっつきにくさ感じますが、使いこなせば超強力な武器になります。 anyhowは2019頃に出てきたライブラリで、筆者の観測範囲[1]では2021年10月時点におけるデファクトのエラー管理crateと言って良いと思う。ちなみにanyhowのコア開発者のDavid Tolnay氏はRust界では著名な開発者で、serde-rsがよく知られています。記事では、anyhowを使いこなすためのTipsを紹介してみます。 なぜanyhowを使うのか なぜanyhowを使うべきなのかは他の記事[2][3]によくまとまっているのでここでは詳細に書きませんが、以下のような理由があります。 他のエラー型からanyhow

    Rust/AnyhowのTips
  • Rust で Vulkan を使う - TAN-Y blog

    はじめに 思い立って Vulkan の勉強をすることにしたのですが、 Rust 力がまだまだなので「Rust で Vulkan のコード書きながら勉強すれば一石二鳥では・・・?」と考え実行してみた件についてのまとめ記事です。 上記リポジトリで使用した crate の紹介などをしていきます。 Vulkan の Rust Binding を導入する Rust は「~を Rust から使ってみたい」と思って検索すると大体なんとかなるケースが多く、 C/C++ の主要な SDK 、ライブラリには割と高い確率で Binding ライブラリが creates.io に存在しています。 今回勉強にあたって使ってみた Vulkan の Binding は下記のものです。 Vulkano Ash 他にもいくつか存在しているようですが、この二つが最も使われているもののようです (crates.io 調べ) 。

    Rust で Vulkan を使う - TAN-Y blog
  • Home

    Nannou is a library that aims to make it easy for artists to express themselves with simple, fast, reliable code. Batteries IncludedOne of the beauties of being a creative coder is that we have the potential to create works in a wide range of domains. Nannou aims to give equal priority to a full suite of creative I/O including graphics, multi-windowing, audio, lasers, lighting and more. A fast, mo

  • Writing a small ray tracer in Rust and Zig

    I spend most of my programming time writing C++. And like many other C++ programmers, I’ve shot myself in the foot countless times with a feature I didn’t fully grok. And I’ve spent enormous amounts of time trying to understand the language. Like many other C++ developers in this position, I find myself frequently daydreaming about switching to another more modern and easily understood language. T

  • Rust のマクロ・構文拡張,および Macros 2.0 について | ubnt-intrepid's blog

    記事は Rust Internal Advent Calendar 2017 第10日目の記事です. 記事では,Rust の主要な機能の一つである「マクロ」および「構文拡張」についての現状認識と,将来的な導入のために検討が進んでいる Macros 2.0 についての概略をまとめる. 記事執筆時における情報をもとに記述しているため,将来的にその仕様が(大幅に)変更される可能性があることに注意されたい. はじめにRust のマクロ・構文拡張Rust は,構文解析後に抽象構文木 (AST) を書き換える操作を注入するために マクロ (macro) および 構文拡張 (syntax extension) という仕組みを提供している. Rust のマクロは,それが構文解析後に行われるという点で C や C++ におけるプリプロセッサとは対照的なものである.マクロの仕様に関する詳細は Rust

  • Rustのモジュールの使い方 2018 Edition版 | κeenのHappy Hacκing Blog

    このエントリーはRust Advent Calendar 20187日目の記事です。 κeenです。Rust 2018が来ましたね。最近業も副業(?)も大詰めで中々時間がとれずAdvent Calendarに遅刻してしまいました。 それはさておき、私はRustのモジュールの使い方を過去に書きました。 この記事は中々好評だったようですが、状況が変わりまして2018 Editionでモジュールが大幅に変更され、分かりやすくなりました。 巷に2018での変更点は多く喧伝されていますが2015との差分ばかりで、今からモジュールシステムを学ぶ方はまず複雑な2015を理解してから差分を読んで、簡単な2018を理解しないといけなくなっています。 そこで2018からはじめて学習する方向けにモジュールシステムの解説をしようと思います。 とりあえずサンプルプロジェクトを作ります。 $ cargo new m

    Rustのモジュールの使い方 2018 Edition版 | κeenのHappy Hacκing Blog
  • rustgo: calling Rust from Go with near-zero overhead

    15 Aug 2017 rustgo: calling Rust from Go with near-zero overhead [русский] Go has good support for calling into assembly, and a lot of the fast cryptographic code in the stdlib is carefully optimized assembly, bringing speedups of over 20 times. However, writing assembly code is hard, reviewing it is possibly harder, and cryptography is unforgiving. Wouldn't it be nice if we could write these hot

  • Introduction | 24 days of Rust

    24daysofrust The "24 days of Rust" article series. Author Zbigniew Siciarz (zbigniew at siciarz dot net) License This work is released under the MIT license. A copy of the license is provided in the LICENSE file.

  • cargoのどこがいいのか | κeenのHappy Hacκing Blog

    κeenです。久しぶりのブログですね。 LLイベントに行ってきたらパッケージマネージャの話がありました。 その懇親会でcargoについて振られたんですがタイミングがなくて喋れなかったのでブログに書いておきます。 ざっくりまとめると パッケージマネージャ/ビルドツールに要求される要件を卒なくこなしている 面倒を見る範囲が広く、要はワンストップソリューションだから便利 コンパイラと同じ母体が開発してるのでグダグダがない じゃないかなと思います。あとバイナリなのでキビキビ動く。 因みにcargoが便利という声の中にはcrates.ioで欲しいパッケージを探しやすいだとかみんな割とセマンティックバージョニングを守るので理不尽にビルドがコケたりしないなどもあると思います。 1に関しては最近のよくあるベストプラクティスを全部やったらこうなったって感じですね。 セマンティックバージョニングで依存関係を管

    cargoのどこがいいのか | κeenのHappy Hacκing Blog
  • Rustで高速な標準出力 | κeenのHappy Hacκing Blog

    κeenです。Rustで何も考えずに標準出力に吐いてると遅いよねーって話です。 今回、標準出力に「yes」と1000万回出力するアプリケーションを書いてみたいと思います。 println! まあ、最初に思いつくのはこれでしょうか。

    Rustで高速な標準出力 | κeenのHappy Hacκing Blog
  • Reddit - Dive into anything

    Rust and OpenGL from scratch, a blog post series where we learn how to build OpenGL renderer with Rust Ok, so I think this series is ready to be announced. It is nothing too exciting, at the #13 lesson we are still rendering a colored triangle to window. But at least it is a safe triangle. The lessons in the series are targeted to game developers (preferably with some C++ and OpenGL experience, bu

    Reddit - Dive into anything
  • RustのREPL "evcxr" を使ってみた - 簡潔なQ

    概要 evcxrはRustのパーサーとコンパイラを外部から呼び出すことでREPLを実現している。セミブラックボックス的なアプローチにも関わらずなかなかの完成度で、今後が期待できる。 evcxr evcxrは最近公開されたRustのREPL (GitHub, redditのpos)である。また、Jupyterのカーネルもあるため、Jupyter Notebook上でRustを書くこともできる。 Evaluation Context for Rust とのことで、 ev + cx + r と思えば覚えられる。 インストール方法 コマンドラインは以下で入る。 cargo install evcxr_repl Jupyter版については公式サイトを参照するとよい。 基的な動作を試してみる。 $ evcxr Welcome to evcxr. For help, type :help >> :he

    RustのREPL "evcxr" を使ってみた - 簡潔なQ
  • two_lock_queue - Rust

    amagitakayosi
    amagitakayosi 2018/09/05
    なんか知らんけどブロッキングなしで使えるqueueか、便利そう
  • Rust(lang) in Unity3D

    Lot’s of people are excited about Rust for its applications to game development. Writing native plugins in Unity3D usually means C, C++ or Objective-C and no real memory safety within the underlying code. Now that Rust has hit 1.0 I looked into calling Rust from Unity3D and it turns out to be surprisingly simple. I should note that this guide targets OS X, not Windows. The process should be simila

    Rust(lang) in Unity3D
  • RustでUnity向けオーディオプラグインを書いた話 - Qiita

    卒業制作でUnityのネイティブオーディオプラグインを書く必要が出てきたので、せっかくなのでRustで書いてみました1。 完成品 こちらになります => https://github.com/Pctg-x8/unidecim WindowsMacで動作を確認済みです。Macの場合は付属スクリプトを利用すると、プラグインフォルダにコピーするだけですぐに使える、i686とx86_64の両方で動作するユニバーサルバイナリを自動生成してくれるようにしてあります。 概要 Unityにビルトインされているエフェクトプラグインもそこそこの種類あるので、あまり凝ったことをする場合を除いて今回のような手間をかける必要は全くないです。ただ、今回は「デシメータを使いたい」という場面(自分の中の要望)が出てきてしまったので自作する流れとなりました2。 Unityのネイティブオーディオプラグインについては公式ドキ

    RustでUnity向けオーディオプラグインを書いた話 - Qiita
    amagitakayosi
    amagitakayosi 2018/09/04
    求めていた情報だ
  • WebAssembly 開発環境構築の本を公開しました - mizdra's blog

    はじめに Rust を用いて WebAssembly の開発環境を構築する手法を紹介する電子書籍を執筆・公開しました. WebAssembly へのコンパイルが可能な言語である Rust を用いて, WebAssembly の開発環境のテンプレートを作成する内容となっています. wasm-dev-book.netlify.com のタイトルからは一見すると C/C++ を用いた開発環境の構築も扱うように受け取れますが, 書では Rust のみしか扱っておりません. ご注意下さい. 書籍の執筆動機 著者が春休み中に WebAssembly を用いて Web アプリケーションを作成する機会があり, 書はそこで得た知見を纏めたものとなっています *1. 元々大学のサークルで発行した部誌に同じテーマで記事を書いており, 書ではそれを Web 向けに編集・加筆した内容から構成されています.

    WebAssembly 開発環境構築の本を公開しました - mizdra's blog
  • RustでOpenGLやGLSLやる準備 · GitHub

    はじめに OCamlでシダを描画するをやった際に、OpenGLで任意の色を付けて点を打っていく事が出来ると知った。 Rustでもシダの描画をしたくて、初めてすぐに、RustでもFFIが言語レベルでサポートされていることを 知り、ではOpenGLが使えるかも?ということで、gl-rsやglfw-rsをすぐに見つけることが出来た。 やってみる 必要なもの Nightly版のrustがインストールされていること cargoがインストールされていること cargoのnewコマンドで新規プロジェクトを作る 指定したディレクトリ名でディレクトリが作られ、配下にCargo.tomlやら雛形が作られる。 作成されたディレクトリへ移動しておく。 Cargo.tomlの編集 以下のように、glやglfwを依存関係に追加する。 [package] name = "myogl" version = "0.0.1"

    RustでOpenGLやGLSLやる準備 · GitHub
  • プログラミング言語Rust

    注意: 最新版のドキュメントをご覧ください。この第1版ドキュメントは古くなっており、最新情報が反映されていません。リンク先のドキュメントが現在の Rust の最新のドキュメントです。 プログラミング言語Rust ようこそ!このはプログラミング言語Rustの教材です。Rustは安全性、速度、並行性の3つのゴールにフォーカスしたシステムプログラミング言語です。 ガーベジコレクタなしにこれらのゴールを実現していて、他の言語への埋め込み、要求された空間や時間内での動作、 デバイスドライバやオペレーティングシステムのような低レベルなコードなど他の言語が苦手とする多数のユースケースを得意とします。 全てのデータ競合を排除しつつも実行時オーバーヘッドのないコンパイル時の安全性検査を多数持ち、これらの領域をターゲットに置く既存の言語を改善します。 Rustは高級言語のような抽象化も含めた「ゼロコスト抽象

  • Maik Klein

    RLSL (Rust -> SPIR-V compiler) Progress report 2018-02-09 Disclaimer What is RLSL? Why Rust as a shading language? Showcase Entry points RLSL is a subset of Rust Optimizations Compilation Future Disclaimer The code for RLSL can be found here. It is not ready to be used at all, the build tools haven't been written yet. I encourage you not to build it. Also the code is still in a relatively bad shap

    amagitakayosi
    amagitakayosi 2018/02/15
    ほえー “RLSL is a Rust to SPIR-V compiler.”