タグ

rustに関するropponzoのブックマーク (54)

  • Rust製ブラウザエンジン「Servo」搭載、新たなWebブラウザ「Verso」の開発プロジェクトが立ち上がる

    欧州を基盤にオープンでセキュアなインターネットの実現を支援しているNLnet Foundationは、Rust製ブラウザエンジン「Servo」を用いたWebブラウザ「Verso」の開発プロジェクトの立ち上げを発表しました。 Versoの開発は、Electron代替を目指すフレームワーク「Tauri」の開発チームが主導することが、下記のポストで示されています。 We've stopped waiting for other people to solve our problems with webviews and kicked off a browser+webview project called Verso (and we've already gotten a bit of funding from NLNET.)https://t.co/PMOV7YbGtE https://t.c

    Rust製ブラウザエンジン「Servo」搭載、新たなWebブラウザ「Verso」の開発プロジェクトが立ち上がる
  • UAX31: Unicode Identifier の話

    今日はまた去年の作業が元ネタで、プログラミング言語の識別子に使える文字に関する話です。 レターか数字 「1文字目にはアルファベットか _、2文字目以降にはそれに加えて数字を使えます。」 30年くらい前にはこれが「プログラミング言語の識別子(変数名など)に使える文字列」の定義でした。 _ の部分はプログラミング言語次第ですが、「1文字目にアルファベット、2文字目以降に数字」の部分は結構いろんな言語でそうだったんじゃないかと思います。 まあ、昔のプログラミング言語は ASCII コードで書く物だったので、上記の条件は [a-zA-Z] とか [0-9] みたいな正規表現で書けたんですが。 Unicode の時代になると「アルファベットだけでいいのか」とか「アルファベットって何だ」という話になります。 レター まず、「アルファベット(alphabet)」というと母音と子音が分かれてる文字のことで

    UAX31: Unicode Identifier の話
    ropponzo
    ropponzo 2021/06/18
    プログラミング言語の識別子に使える文字
  • C# と Rust が両方そなわり最強に見える

    これは ビットバンク株式会社 Advent Calendar 2020 の 4 日目の記事です。 Bitbank システム部の宮ジョーです。 普段はビットコイン関連開発を専門としていますが、今回はビットコインに直接関係のない内容について書きます。 C# と Rust を同時に使用して開発するためのプラクティスについてです。 イントロ 私は Bitcoin のライトニングネットワーク関連の処理を .NET で行うためのライブラリを自作しています。 似た内容の Rust ライブラリがユーザーも増え安定してきているらしいため、こちらを直接呼び出すことで自前実装に伴う保守の負担を減らせないか検討してみました。 このアプローチはうまくいき、 C# のウェブアプリケーションフレームワークからライトニングネットワークの処理を行うサーバを現在作成しています。 この記事では、実装時に気付いた C# と R

    C# と Rust が両方そなわり最強に見える
  • rust-blog/posts/tour-of-rusts-standard-library-traits.md at master · pretzelhammer/rust-blog

    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-blog/posts/tour-of-rusts-standard-library-traits.md at master · pretzelhammer/rust-blog
  • Title Page - The Rust Performance Book

    The Rust Performance Book First published in November 2020 Written by Nicholas Nethercote and others Source code

  • GitHub - gluesql/gluesql: GlueSQL is quite sticky. It attaches to anywhere.

    GlueSQL is a Rust library for SQL databases that includes a parser (sqlparser-rs), an execution layer, and a variety of storage options, both persistent and non-persistent, all in one package. It is a versatile tool for developers, supporting both SQL and its own query builder (AST Builder). GlueSQL can handle structured and unstructured data, making it suitable for a wide range of use cases. It i

    GitHub - gluesql/gluesql: GlueSQL is quite sticky. It attaches to anywhere.
  • GitHub - svenstaro/miniserve: 🌟 For when you really just want to serve some files over HTTP right now!

    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 - svenstaro/miniserve: 🌟 For when you really just want to serve some files over HTTP right now!
  • RustのPinチョットワカル - OPTiM TECH BLOG

    こんにちは。 先日、しばらく不動の一位を守ってきたRustVSCodeで使う記事を抜き、 私の書いた非同期プログラミングの記事の記事が一番人気になったと思いきや数日でまた抜き返されて傷心中の、 R&Dチームの齋藤(@aznhe21)です。 さて、Rustの非同期プログラミングで時々Pinを使ったり、コンパイラにUnpinが不足していると怒られたりしませんか? そんな時によく分からずuseしたり別の手段を取ったりしていませんか? 今回、このままではマズいと思ってPinを勉強して完全に理解しましたので、その成果を皆さんと共有したいと思います。 更新履歴 03/10 指摘を受け下記2点を修正しました Unpinを実装しない型もムーブ出来ることへの言及 pin-projectクレートが安全であることによる書き換え 対象読者 この記事は下記全てに当てはまる人を想定して執筆しています。 Rustのト

    RustのPinチョットワカル - OPTiM TECH BLOG
  • 使いやすさを重視したHTMLスクレイピングライブラリを作った - 純粋関数型雑記帳

    TL:DR レポジトリ https://github.com/tanakh/easy-scraper ドキュメント 背景 このところ訳あってRustHTMLからデータを抽出するコードを書いていたのですが、 既存のスクレイピングライブラリが(個人的には)どれもいまいち使いやすくないなあと思っていました。 HTMLから望みのデータを取り出すのはいろいろやり方があるかと思いますが、 ツリーを自力でトラバースするのはさすがにあまりにも面倒です。 近頃人気のライブラリを見てみますと、CSSセレクターで目的のノードを選択して、 その周辺のノードをたどるコードを書いて、 欲しい情報を取り出すという感じのものが多いようです。 RustにもHTMLのDOMツリーをCSSセレクターで検索して見つかったノードをイテレーターで返してくれたりする、 scraperというライブラリがあります。 例えば、<li>要素

    使いやすさを重視したHTMLスクレイピングライブラリを作った - 純粋関数型雑記帳
  • GitHub - Y2Z/monolith: ⬛️ CLI tool for saving complete web pages as a single HTML file

    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 - Y2Z/monolith: ⬛️ CLI tool for saving complete web pages as a single HTML file
  • Rust 1.38を早めに深掘り - OPTiM TECH BLOG

    こんにちは、R&Dチームの齋藤(@aznhe21)です。 先日のOPTiM TECH BLOG Meetupではたくさんの方にご参加いただき、ありがとうございました。 拙い発表ではありましたが、多くの方に満足いただけたようでホッとしております。 今後はOPTiM TECH NIGHTという名前で生まれ変わり、定期的に開催する予定です。 詳しくはさいごにをご覧ください! さて、日、日時間9/27(金)、Rust 1.38がリリースされました。 この記事ではRust 1.38での変更点を詳しく紹介します。 なお、この記事は公式リリースノートをベースに、意訳・追記をしています。 ピックアップ コンパイルが高速化した Durationを秒単位の小数に/から変換できるようになった 型の名前を文字列で取得できるようになった 変更点リスト 言語 コンパイラ ライブラリ 安定化されたAPI {<*co

    Rust 1.38を早めに深掘り - OPTiM TECH BLOG
  • 「Rust」言語はCよりも遅いのか、研究者がベンチマーク結果を解説

    「C」や「C++」に代わるシステムプログラミング言語として「Rust」が注目を集めている。メモリ安全性が高く、メモリ破壊バグといった脆弱(ぜいじゃく)性を作り込みにくいからだ(関連記事)。 ただし、システムプログラミング言語では、高い処理性能が必須条件であり、これがCやC++が使われ続けている理由となっている。Rustはどの程度「速い」のだろうか。 ドイツのミュンヘン工科大学で博士課程の学生であるポール・エメリク氏は2019年9月9日、Rustで作成したデバイスドライバの性能評価をGitHubで発表した。 同氏のグループはさまざまな言語で同じ機能を備えたデバイスドライバを記述し、性能を比較している。 何が性能低下を引き起こしているのか 性能評価用に作成したのは、Intelのイーサネットコントローラー向けのLinux用デバイスドライバだ(ixgbeタイプ)。 エメリク氏は解説の冒頭で研究に取

    「Rust」言語はCよりも遅いのか、研究者がベンチマーク結果を解説
  • Rust Language Cheat Sheet

    Rust Language Cheat Sheet 2. May 2024 Contains clickable links to The Book BK, Rust by Example EX, Std Docs STD, Nomicon NOM, Reference REF. Clickable symbols BK The Book. EX Rust by Example. STD Standard Library (API). NOM Nomicon. REF Reference. RFC Official RFC documents. 🔗 The internet. ↑ On this page, above. ↓ On this page, below. Other symbols 🗑️ Largely deprecated. '18 Has minimum edition

  • Rustの未来いわゆるFuture - OPTiM TECH BLOG

    Rust 1.36がリリースされ、皆さん待望のFuture関連のAPIが安定化されました。 この記事ではFuture関連APIを巡る過去と未来を紹介します。 Q&A(TL; DR) 長くなってしまったので要約をまとめました。 細かい話は目次以降をご覧ください。 Futureは何のために必要? Futureは非同期処理を抽象化したもので、Rustにおけるあらゆる非同期処理はFutureの上に成り立ちます。 処理をFutureによって隠蔽することで、 ただ非同期に処理するだけでなく処理のパイプライン化、 すなわち単一のスレッドで複数の処理を実行出来るようになります。 futuresクレートではだめなの? async/await構文を入れるために言語コアに取り込まれました。 futures 0.1と合わせて使える? futures 0.3には互換性レイヤーがあり、相互に変換出来るため問題ありませ

    Rustの未来いわゆるFuture - OPTiM TECH BLOG
  • Rust 1.36を早めに深掘り - OPTiM TECH BLOG

    こんにちは。ようやく家のPCをIvyBridgeから卒業してZen2に突撃することを決めたR&Dチームの齋藤(@aznhe21)です。 さて、日、日時間7/5(金)、Rust 1.36がリリースされました。 この記事ではRust 1.36での変更点を詳しく紹介します。 なお、この記事は公式リリースノートをベースに、意訳・追記をしています。 ピックアップ Futureが安定化された MaybeUninitが安定化された allocクレートが安定化された 変更点リスト 言語 ライブラリ 安定化されたAPI VecDeque::rotate_{left,right} Iterator::copied io::IoSlice io::IoSliceMut Read::read_vectored Write::write_vectored str::as_mut_ptr mem::MaybeUn

    Rust 1.36を早めに深掘り - OPTiM TECH BLOG
  • crates.io でクレートを公開する際に気をつけることリスト - Qiita

    自作クレートを公開するにあたり気をつけている点をまとめておきます。自己流なものが多いので、問題がある場合はコメントなどで指摘してもらえると助かります… html_root_url を設定する cargo doc には依存しているクレートのドキュメントを生成しない --no-deps というオプションがあります。これを用いた場合、外部クレートで定義された構造体やトレイトへの定義へのリンクはそのクレートに指定された #![doc(html_root = "...")] という属性の値を使用します。この値が設定されていない場合は正しくリンクが設定されないため、クレート作者はこの属性を設定するよう努めるべきです。 指定する URL は自由ですが、通常は docs.rs で生成されるドキュメントのリンクを貼っておくのが良いでしょう。 docs.rs を用いる場合に限りますが、指定する URL に含ま

    crates.io でクレートを公開する際に気をつけることリスト - Qiita
  • Rust 1.33を早めに深掘り - OPTiM TECH BLOG

    オプティムのテックブログがRustブログと化してきた今日この頃、皆様いかがお過ごしでしょうか。R&Dチームの齋藤です。 日、日時間2019/03/01(金)にRust 1.33がリリースされました。この記事ではRust 1.33での変更点を詳しく紹介します。 なお、この記事は公式リリースノートをベースに、翻訳・追記をしています。 また、公式のブログ記事も参考にしてみてください。 言語 cfg(target_vendor)が使えるようになった 整数型が網羅的(exhaustive)にパターンマッチするようになった if letやwhile letで複数の条件を書けるようになった if letやwhile letでの反駁不能パターンがエラーから警告になった const関数でいくつかの機能が使えるようになった const unsafe関数がconst関数から呼べるようになった cfg_att

    Rust 1.33を早めに深掘り - OPTiM TECH BLOG
  • Rust 1.34を早めに深掘り - OPTiM TECH BLOG

    ついにRustの深掘りがシリーズ化してしまいました。R&Dチームの齋藤です。 先週からTwitterを始めてみました(@aznhe21)。 さて、日、日時間4/12(金)にRust 1.34がリリースされました。 この記事ではRust 1.34での変更点を詳しく紹介します。 なお、この記事は公式リリースノートをベースに、意訳・追記をしています。 ピックアップ TryFrom/TryIntoが安定化 iter::from_fn/iter::successorsが追加 usize/isize以外の整数型にもアトミック型が追加 符号付き整数型にもNonZeroが追加 cargoで代替レジストリが使えるようになった 変更点リスト 言語 コンパイラ ライブラリ 安定化されたAPI std & core Any::type_id Error::type_id atomic::Atomic{I8,I

    Rust 1.34を早めに深掘り - OPTiM TECH BLOG
  • Learning Rust With Entirely Too Many Linked Lists

    Learning Rust With Entirely Too Many Linked Lists Got any issues or want to check out all the final code at once? Everything's on Github! I fairly frequently get asked how to implement a linked list in Rust. The answer honestly depends on what your requirements are, and it's obviously not super easy to answer the question on the spot. As such I've decided to write this book to comprehensively answ

  • 概要 - Rust APIガイドライン

    Rust APIガイドライン (非公式日語訳) これはプログラミング言語RustのためのAPIデザイン上の推奨事項をまとめたものです。 大部分は、Rustエコシステム内の標準・非標準ライブラリを構築してきた経験を元に、 Rustのライブラリーチームによって執筆されました。 これはあくまで指針です。 項目ごとの充実度には差があり、今後の加筆修正が必要となっている曖昧な部分もあります。 Rustのクレート開発者は、ここから使えそうな内容を選び取り、 イディオマティックで相互運用性の高いライブラリを開発する上での重要な検討事項とするべきです。 また、このガイドラインは義務的に従わなければならない基準とされるべきではなく、 あくまで従わない場合に比べエコシステム内の他のクレートとのより良い相互運用が達成できるような 物となっています。 このブックはチェックリストと各項目の説明に分かれています。