タグ

Rustに関するmasayoshinymのブックマーク (28)

  • Rustで書かれた、既存のソフトウェアの代替一覧を作った

    Rustで既存のソフトウェアを再実装することは「Rewrite It In Rust」と言われたりしますが、 最近はfindの代替である fd やlsの代替である exa などといったUnixコマンドのRust実装がよく見られます。 このようなUnixコマンド以外にも、Goで書かれたコンテナランタイム runc のRust実装である youki や既存のNodeバージョンマネージャーである nvm よりも200倍速い[1]とされている fnm や Lemmy というRustで書かれた reddit の代替などがあります。 また、僕自身もRubyのバージョンマネージャーである rbenv のRust実装である frum を作ったりしています。 作ったもの 今回は、こういったRustで書かれた、既存のソフトウェアの代替の一覧を作ってみました。 RustでOSSを作る際にこういった一覧があると、

    Rustで書かれた、既存のソフトウェアの代替一覧を作った
  • Rust の最初のステップ - Training

    利用が広がり人気が高まっている新しいプログラミング言語の習得に関心がありますか? ここから始めましょう。 Rust で高速で効果的なプログラムを構築するために必要な知識の基盤を築きましょう。 このラーニング パスの内容は次のとおりです。 Rust コードの最初の行を記述するために必要なツールをインストールする。 Rust の基的な概念を学ぶ。 エラーを処理する方法を学ぶ。 Rust でメモリを管理する。 ジェネリック型と特性を使用する。 パッケージとクレート用のモジュールを設定する。 自動テストを記述して実行する。 コマンドライン プログラムを作成する。

  • Mozillaの約250人のリストラ、「Rust」の未来への影響は?

    Mozillaの約250人のリストラ、「Rust」の未来への影響は?:Rust Core Teamが「Rust財団」の設立計画を発表 Rust Core Teamは、「Rust財団」の設立計画を発表するとともに、Mozillaが最近発表したレイオフが「Rust」コミュニティーに与える影響について説明した。

    Mozillaの約250人のリストラ、「Rust」の未来への影響は?
  • 「Rust Foundation」が年内にも設立。Rust言語のコアチームとMozillaが発表

    Rust言語のコアチームとMozillaは、年内にもRust言語の開発に関する独立したガバナンスを持つための財団「Rust Foundation」を設立すると発表しました。 追記:2021年2月9日に正式に設立されました(Rust言語を推進する「Rust Foundation」設立。AWSGoogle、マイクロソフト、モジラ、ファーウェイらが設立メンバー) Rust言語は、C言語のように低レベルのシステム開発向けに作られたプログラミング言語です。 不正なメモリ領域を指すポインターなどを許容しない安全なメモリ管理や、マルチスレッド実行においてデータ競合を排除した高い並列性を実現している点などの特長を備えているため、安全かつ高速なアプリケーション開発を実現します。 Mozillaの新型高速ブラウザエンジンの「Servo」の開発などに使われていることが知られています。 2020年6月に発表され

    「Rust Foundation」が年内にも設立。Rust言語のコアチームとMozillaが発表
  • なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog

    DiscordGoで書かれていたコンポーネントをRustに移行しているらしい。Windowsの低レイヤ層の一部で採用されるなど、近年どんどん注目を集めているRustだが、DiscordはなぜRustを選んだのか。その最大の特徴である「パフォーマンスを妨げる要素であるGCを排した上でメモリセーフな言語」であることにクローズアップした面白い内容だったので、えっちらおっちら和訳してみた。英語が得意というわけでもなく、無理やり翻訳しているところも多いのであしからず。ほとんどGoogle翻訳のままというのは内緒。 追記: 7/31にはてブでいっぱいブックマークされたみたい。気になったブコメへの返信を末尾に追記した。 原文: Why Discord is switching from Go to Rust - Discord Blog Rustは様々な分野において第一級の言語になりつつあります。Di

    なぜDiscordはGoからRustへ移行するのか - MISONLN41's Blog
  • ゼロからはじめるプログラミング言語Rust(12) Rustで「Hello World!」をやってみよう

    ザ・ブックでRustの学習開始 これまで、WindowsmacOSLinuxなどのプラットフォームでRustプログラミングを始めるための準備を行ってきた。今回までの説明で、多くのプラットフォームでのセットアップをカバーできたのではないかと思う。それではコーディングを始めていこう。 Rustを学ぶ方法はいくつかあるが、Rustチームが公開している公式のドキュメントに沿って学習を進めるのがよいだろう。このドキュメントは通称「ザ・ブック(the book)」と呼ばれており、Webですべて公開されている。「ザ・ブック」を最初から進めていけば、終わった頃にはRustの全体像が把握できるようになっている。簡単なドキュメントではないが、取り組みがいのあるドキュメントだ。ザ・ブックは次のページで閲覧できる。 The Rust Programming Language - The Rust Progra

    ゼロからはじめるプログラミング言語Rust(12) Rustで「Hello World!」をやってみよう
  • Rust+WebAssemblyのオープンソースライブラリ「Photon」で高速な画像処理が可能になる - ITnews

    photon https://silvia-odwyer.github.io/photon/ photonの特徴 引用: photon from GitHub 「Photon」は、WebAssemblyにコンパイルされる高性能のRust画像処理ライブラリ。モジュールに組み込むことで、Web・ネイティブ上で高速な画像処理が可能になります。 Photonを試してみる ヘッダーにある「ファイルを選択」から、処理したい画像をアップロード。 続いて、左メニューに用意された様々なエフェクトを画像に提供していきます。プレビューとともに処理にかかった時間も併記され、高速な処理を実感できます。 画像の反転にかかる時間もわずか47ms! Photonの導入 https://github.com/silvia-odwyer/photon オープンソースとして提供されており、npmで既存プロダクトにモジュールとし

    Rust+WebAssemblyのオープンソースライブラリ「Photon」で高速な画像処理が可能になる - ITnews
  • 質問箱クローンをRustで作った話 - さんちゃのblog

    1年ぐらい前に質問箱(peing.net)を真似て匿名質問サービスを作成しました. これに関して技術的な話と技術的でない話をします.技術的な話というのはRustWebサービスを作る知見で,技術的でない話というのは質問箱を自分で運用するとどういう感じになるかという知見です. 作ったもの 背景 技術的な話 仕様策定 実装 Webフレームワーク "Rocket" に関する所感 ORM "Diesel" に関する所感 画像の生成 デプロイ Heroku さくらのVPS 速度について オマケ:技術的でない話 質問してくるユーザーの数は非常に少ない 自演するやつがいる 追記(2019/03/19) 作ったもの 質問お待ちしてます!!! ソースは公開しており,気持ち程度にREADMEも書いてあるので,あなたも自分のインスタンスを立てることができます. 背景 当初は "家質問箱" を使っていたんですが

    質問箱クローンをRustで作った話 - さんちゃのblog
  • 木構造の整形表示コマンド forest を作った - Qiita

    pattern1_root pattern1_root/pattern2_last_leaf root_node root_node/pattern3_non-last_leaf root_node/pattern3_non-last_leaf/sample root_node/pattern3_non-last_leaf/pattern4_non-last_node's_child root_node/leaf_node $ cat sample1.txt | forest ├ ─ pattern1_root │ └ ─ /pattern2_last_leaf └ ─ root_node ├ ─ /pattern3_non-last_leaf │ ├ ─ /sample │ └ ─ /pattern4_non-last_node's_child └ ─ /leaf_node

    木構造の整形表示コマンド forest を作った - Qiita
  • 実践的なアプリケーションを書いてみよう! Rustの構造化プログラミング【第二言語としてのRust】 - エンジニアHub|若手Webエンジニアのキャリアを考える!

    実践的なアプリケーションを書いてみよう! Rustの構造化プログラミング【第二言語としてのRustRustを使って、実際にアプリケーションを3つ書いてみましょう! その前に、プログラムの構造化に必要な手法、ジェネリクス、構造体、列挙型、それにトレイトといった概念についても説明します。 前回の記事では、Rustの基的な文法や型を説明し、他のプログラミング言語ではあまり見かけない、Rustならではのメモリ管理の仕組み(所有権・参照・ライフタイム)についても解説しました。 今回は、Rustを使って、実際にアプリケーションを書いてみましょう。 制作するのは、Unix環境ではお馴染みの文字列検索プログラムであるgrep(その機能限定版をRustで書いたrsgrep)、アナグラム(単語の文字を入れ替えた単語)を求めるプログラム、そしてHTTP/0.9サーバです。 しかし、アプリケーション開発に入

    実践的なアプリケーションを書いてみよう! Rustの構造化プログラミング【第二言語としてのRust】 - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • Rust 入門 #2 : 所有権システムと可変性 - ひだまりソケットは壊れない

    Rust 入門してる #1」 に続き、ぼちぼちと Rust を学んでます。 今日は所有権システムと可変性についてのメモです。 4 月 14 日に Rust 1.8 がリリースされたので、バージョン 1.8 のドキュメントを読んでます。 *1 所有権システムについては下記の 3 ページを読みました。 Ownership References and Borrowing Lifetimes 可変性については次のページ。 Mutability 基的にはそんなに難しいことは書かれてないですが、後で説明される内容が出てきたり説明があまりうまくなかったりで理解が難しい感じがしますね。 まあざっくりと理解して読み進めていけば良さそうです。 所有権システム (Ownership system) Rust の最も独特で感動的な機能であり、Rust 開発者はこれに精通すべきとのこと。 メモリ安全がこの機能

    Rust 入門 #2 : 所有権システムと可変性 - ひだまりソケットは壊れない
  • Rustのforget関数 - Qiita

    Rustの面白い関数にstd::mem::forgetがあります。 Rustには値がスコープ外になった時の後処理を記述できるDropというtraitがあり、 リソースのリーク漏れを防いでくれます。 Dropのおかげでmallocしてfreeしたりfileをopenしてcloseするなどの処理は自分で書く必要がないし忘れる事もないわけです。

    Rustのforget関数 - Qiita
  • Rustでスクレイピング(html5ever) - Qiita

    はじめに 記事は、スクレイピングを推奨するものではありません。 HTMLのParseがRustでも簡単にできる ということを重点において解説したいと思います。 RustHTMLのParseを行う Rustは、Servoの開発に使用されている言語で、Servoの開発によってRust言語も進化してきています。Servoは、Mozillaによって開発されているブラウザのレイアウトエンジンのことで、ServoのHTMLパーサも、Rustで書かれています。 このHTMLパーサが、html5everです。記事では、html5everを使った HTMLパーサについて簡単なコードの紹介を行いたいと思います。 必要なもの extern crate tendril; extern crate html5ever; use std::io::{self, Write}; use std::default:

    Rustでスクレイピング(html5ever) - Qiita
  • RustでNode.jsのネイティブモジュールが作れるやつを試した - Qiita

    背景 Rust で node の native modules を書くの、Rustを書いてみたいからっていう理由だけで試してみたい。 https://t.co/vek4YFjW5e https://t.co/uqpd95C4QQ — Yosuke FURUKAWA (@yosuke_furukawa) 2015, 12月 24 なんて、ツイートをたまたま見かけ、 原理的にちょっとまえのRustだとdleopn時に呼び出す関数を指定できなかったから直接.nodeファイルはRustが吐けないはずなんだけど、その辺りどうなってるのだろうか / “dherman/wc-demo · GitHub” https://t.co/pdAqgRMFbW — kjunichi (@kjunichi) 2015, 12月 24 なぜ原理的に無理そうなのか http://abrakatabura.hatenab

    RustでNode.jsのネイティブモジュールが作れるやつを試した - Qiita
  • Cargoで任意の共有ライブラリをリンクするには - Qiita

    #[link(name = "raiburari")] extern { fn foo(script: *const libc::c_char, cb: extern fn(* const libc::c_char) -> c_int ) } rustcのコマンドラインでは-Lオプションがあるので、Cと同様に共有ライブラリの パスを指定することが可能。コード中で指定したlibraiburariがどこにあっても参照できる。 しかし、Cargoを使ってこれをするやり方がなかなか分からなかった。 驚きの結果 なんと、build.rsをいうファイルを作成して、rustで標準出力にオプションの 文字列を出力するコードを書くことで、これが可能になることが分かった。 共有ライブラリの検索パスは以下のオプション cargo:rustc-link-search build.rsの中身

    Cargoで任意の共有ライブラリをリンクするには - Qiita
  • rust初心者へのガイド | κeenのHappy Hacκing Blog

    シルバーウィークの進捗が芳しくなかったので雑な記事書いてお茶を濁しとく。rustをそれなりに(といっても1000行くらい)書いて溜まった知見をとりあえず出す。rust1.3時点。 最初の方で熱く語ってるが多くの人にとって欲しい情報は下の方にあると思う。 どんな言語 公式から持ってくるとこんな感じ。 zero-cost abstractions C++くらいの性能と思えばいい。 move semantics 他にはない難しい概念。しかしこれのおかげで様々な機能を教授出来る。 guaranteed memory safety move semanticsにより安全でない操作はコンパイル時に弾ける。 threads without data races move semanticsその他により安全でない操作は(ry trait-based generics 継承ベースとは違って開いている。型を定

    rust初心者へのガイド | κeenのHappy Hacκing Blog
  • Rust for Python Programmers

    Rust for Python Programmers written on Wednesday, May 27, 2015 Now that Rust 1.0 is out and quite stable, I thought it might be interesting to write an introduction to Rust for Python programmers. This guide goes over the basics of the language and compares different constructs and how they behave. Rust language wise is a completely different beast compared to Python. Not just because one is a com

  • オープンソースのプログラミング言語「Rust 1.0」リリース、今後は安定性を重視

    米Mozillaにおけるプログラミング言語Rust開発チームは、「Rust 1.0」を5月15日(現地時間)にリリースした。今後は、FirefoxやChromeのような6週間ごとに新たなリリースを行う「トレイン」ベースでのリリースを採用し、その手始めとして、「Rust 1.1 beta」を同時リリースしている。 Rustは、独特の「型」形式を採用したオープンソースのプログラミング言語で、ベテランプログラマにとってはデバッグにかかる時間の節約を可能にし、プログラミング初心者でもささいな文法の間違いによる複雑なエラーメッセージに悩まされずに、簡単なコードが書ける。また、パッケージ依存性管理システムCargoや、パッケージレポジトリcrates.ioも用意する。 今回リリースした「Rust 1.0」では、安定性に重きを置き、今後は大きな変更を行わない。ただし、開発が終了したわけではなく、今後も「

    オープンソースのプログラミング言語「Rust 1.0」リリース、今後は安定性を重視
  • A Taste of Rust

    By Evan Miller May 14, 2015 Update: Steve Klabnik has responded to some of the issues I brought up here. It looks like I did not fully appreciate Rust’s optimization levels, among other things. When you’re done with this, go read his comments! The word rust is the last thing I want to think about when I am hungry and/or fantasizing about building something that will endure through the ages. As a n

    A Taste of Rust
  • Rust の Lifetimes - steps to phantasien

    もうすぐ 1.0 という Rust。 久しぶりにチュートリアルを読む。以前見た時は不可解な機能が多く、こりゃ難しさに溺れて死にそうだな・・・と思っていた。今見るとずいぶんすっきりしている。単純さに舵を切れたのはえらい。 チュートリアルに登場したうちわからなかった機能は 2 つ: Lifetimes と Macros. Macros はさておき Lifetimes は理解してよさそう。詳しい情報を求めてリファレンスをひやかすが、驚くほど何も書いてない。かわりにメモリ安全な C の方言 Cyclone による region based memory management が元ネタとして言及されている。勢いでその資料にも目を通す。解説 PDF ひとつとマニュアルの一部。どちらもよく書けていた。記法も Rust の lifetimes と似ている。 Cyclone の region based m