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
The Rust team is happy to announce the latest version of Rust, 1.21.0. Rust is a systems programming language focused on safety, speed, and concurrency. If you have a previous version of Rust installed, getting Rust 1.21 is as easy as: $ 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 for 1.21.
What’s the simplest Unix command you know? There’s echo, which prints a string to stdout and true, which always terminates with an exit code of 0. Among the series of simple Unix commands, there’s also yes. If you execute it without arguments, you get an infinite stream of y’s, separated by a newline: y y y y (...you get the idea) What seems to be pointless in the beginning turns out to be pretty
色々試行錯誤したのでメモ。 結論 dbus crate を使う。 経緯 開発中の libspecinfra で、systemd 配下の service の状態を取得できるようにするための provider を書こうと思い、色々調べたりコード書いて試したりした。 使えそうな crates を探す まずは目的に合う crates がないか crates.io で検索。ざっと以下のようなものが見つかる。 systemd systemd-dbus dbus dbus-bytestream systemd crate は libsystemd の Rust インターフェースで、sd-daemon、sd-id128、sd-journal、sd-login に対応している。が sd-bus は まだ実装が不完全 なようなので、目的には合わなさそう、と判断。 systemd-dbus crate は2年半
この記事は Rust Advent Calendar 2015 10日目の記事です。 Rustは共有ライブラリを生成してCのプログラムとリンクすることが可能らしいので、Rubyからrequireしてちゃんと動くnative extensionをRustだけを使って書いてみる。 既に似たようなことをやっている例はあるんだけど、Cファイルを用意してそこからRustを呼び出す形になっているので、今回はCを書かずにやってみたいと思う。ちなみに実用性は特に無いのであしからず。 Dylib Rustで共有ライブラリを作成してCから呼び出すには、以下のようにすればよい。 #![crate_type = "dylib"] #[no_mangle] pub extern fn rust_test(s: i32) { println!("rust_test {0}", s); }
κeenです。Rustで何も考えずに標準出力に吐いてると遅いよねーって話です。 今回、標準出力に「yes」と1000万回出力するアプリケーションを書いてみたいと思います。 println! まあ、最初に思いつくのはこれでしょうか。
ATL 宮下 です。 先日 libspecinfra プロジェクトの概要と今後について というエントリにて、 libspecinfra プロジェクト の概略について説明しました。今回は libspecinfra プロジェクトが実際にどんなものか、触って試すための手順を解説します。 このチュートリアルでは、Rust と mruby で書かれたコードに触れるため、Rust と mruby の簡易的なチュートリアルにもなっています(mruby-libspecinfra は、mruby といいつつもほとんどがCのコードですが)。 また、既存環境に影響を与えないよう、Docker コンテナの利用を前提とした手順で解説しますが、コンテナ環境ではなくても、macOS や Ubuntu であればほぼ同じ手順で動くはずですので、適宜ご自身の環境に合わせて修正してください(筆者は macOS 上で直接開発を行
Rust for the web "Can we create web apps in Rust?" - Many people asked. So am I. My primary goal when I started learning Rust is to make a move from my ducky JavaScript tech stack (Node.js Express), that means, to make web apps in Rust. And after a year, I learned something. So I write this post to tell you my journal into Rust Web Programming. There are many approach to creating web apps in Rust,
Rust言語による新しいDockerコンテナランタイム実装「Railcar」、オラクルがオープンソースで公開。なぜRustでコンテナランタイムを実装したのか? Rust言語で実装したコンテナランタイムの「Railcar」を、オラクルがオープンソースとしてGitHubで公開しました。 Railcarはコンテナランタイム標準であるOCI(Open Container Initiative)に準拠してているため、Dockerのバックエンドとしても利用可能と説明されています。 なぜDockerをRust言語で実装するのか Railcarの公開を明らかにしたOracle Developers Blogに投稿された記事「Building a Container Runtime in Rust」によると、Rust言語でコンテナランタイムを実装した理由が次のように説明されています。少し長いのですが、引用し
The Little Book of Rust Macros Note: this is a work in progress. This book is an attempt to distil the Rust community's collective knowledge of Rust macros. As such, both additions (in the form of pull requests) and requests (in the form of issues) are welcome. If you wish to contribute, see the GitHub repository. Thanks Thanks to the following for suggestions and corrections: IcyFoxy, Rym, TheMic
TFS is designed with the following goals in mind: Concurrent TFS contains very few locks and aims to be as suitable for multithreaded systems as possible. It makes use of multiple truly concurrent structures to manage the data, and scales linearly by the number of cores. This is perhaps the most important feature of TFS. Asynchronous TFS is asynchronous: operations can happen independently; writes
κeenです。 GoFのデザインパターンは有名ですが、言語機能によっては単純化できたりあるいは不要だったりするのでRust風に書き換えたらどうなるか試してみます。 発端はこのツイート。 デザインパターン、古いJavaの機能の足りなさのワークアラウンド的なテクニックも含まれてるからあまり宜しくないんだよね。enumやクロージャで十分なのもいくつかある。 Rustで写経、デザインパターン23種 - Qiitahttps://t.co/MhpS3Z2OlF — κeen (@blackenedgold) 2017年5月5日 一応誤解のないように説明しておくと、該当のQiitaの記事に不満がある訳ではなくてGoFのデザインパターンついての言及です。 リンク先のコードで十分な時にはここでは流すのでリンク先も同時に参照下さい。 また、比較しやすいようにサンプルコードはリンク先のものに則って書きます。
κeenです。 今回の話は別にRustに限ったものではないのですが、よくRustを始めたばかりの人がスタックとヒープが分からないと言っているのをみかけるので少しメモリの話をしますね。 厳密な話というよりは雰囲気を掴んで欲しいという感じです。 メモリは配列 プログラム(プロセス)のメモリには実行するプログラム(機械語)やグローバル変数/定数、関数の引数やローカル変数、その他プログラムで使うデータ領域などを置きます。 プロセスに割り当てられるメモリというのは、1つの巨大なのっぺらな配列みたいなものです。サイズも決まってます。64bit OSなら2^64 byteです。 0 2^64 +--------------- ----+ | | | | | ~~ | | +--------------- ----+ これは仮想的なメモリなので実際の物理メモリに2^64 byteの配列がドンと確保される訳
2022/01/13 追記 最初の投稿から 5 年も経ったらさすがに他の記事出てるだろうと思いきや、今でも Google で検索するといちばん上に出てきますね。 ということで改めて調べる必要があったことに加え、内容に不正確な点があったので、ほぼ全面的に書き直しました。過去の版は 編集履歴 から確認してください。 はじめに 2016/07/07 に Rust 1.10 が発表されました。もう 5 年前です。 Announcing Rust 1.10 - The Rust Programming Language Blog Rust 1.10 では、新しく cdylib というが追加されました。 これは一体何者なのでしょうか。そもそも Rust の crate_type とは何でしょうか。 TL;DR クレートの種類は bin, lib, proc-macro の 3 つ lib クレートは次
git-brws のリリース で微妙に Travis CI 上の rust 環境でハマったのでメモ. 前提として,cargo build でビルドできるものとします.Travis の環境はツールチェーンが古いと困るので Ubuntu 14.04 を使ってます.今回は下記の環境向けのバイナリをビルドしてリリースしました. x86_64-unknown-linux-gnu x86_64-apple-darwin i686-unknown-linux-gnu aarch64-unknown-linux-gnu Linux は musl libc を使う選択肢もありますが,使い慣れた glibc にしました. 3行で この .travis.yml を パクれ https://github.com/rhysd/git-brws/blob/master/.travis.yml ビルド環境 まずは ma
κeenです。ここのところRustの開発ツール回りでリリースが続いてセットアップが楽になってるようだったので最新の情報をお届けします。 とりあえず私は既存の環境があるので一旦全て破棄してから再度セットアップしてみます。 Rustのインストール rustup.rs - The Rust toolchain installerがリリースされたので以下で一発です。 $ curl https://sh.rustup.rs -sSf | sh そして をシェルのrcファイルに書き加えたらOKです。 今のシェルにも反映するには同じく上記のコマンドを打ちます。 周辺ツールのインストール cargoがあるので楽ですね # コードフォーマッタ $ cargo install rustfmt # 補完、定義ジャンプなど $ cargo install racer まあまあ時間がかかります。 エディタ(Emac
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く