米グーグルが2021年4月、基本ソフト(OS)を開発するプログラミング言語に「Rust(ラスト)」を採用すると明らかにした。米マイクロソフトも既に採用を始めている。CやC++の独壇場だったOS開発に、15年に「バージョン1」になったばかりの新世代言語であるRustが採用される背景には、サイバー戦争の深刻化がある。グーグルは4月6日(米国時間)に、OS「Android(アンドロイド)」の開発言語
Microsoftは2021年5月6日(米国時間)、「Rust for Windows v0.9」を公開したと発表した。 Rust for Windowsは、「win32metadata」プロジェクトで提供されるWin32 APIのメタデータに基づいて、Rust言語からWin32 APIを慣用的な方法で呼び出すために必要な言語プロジェクションであり、オープンソースプロジェクトとして開発が進められている。2020年4月に「Rust/WinRT」として発表されたが、その後、Rust for Windowsに改称された。 win32metadataプロジェクトは、さまざまなプログラミング言語からWin32 APIへのアクセスを容易にすることを目的としている。Rust for Windows以外にも、C#やC++などの言語プロジェクションが開発されている。 Rust for Windows v0.
TL:DR レポジトリ https://github.com/tanakh/easy-scraper ドキュメント 背景 このところ訳あってRustでHTMLからデータを抽出するコードを書いていたのですが、 既存のスクレイピングライブラリが(個人的には)どれもいまいち使いやすくないなあと思っていました。 HTMLから望みのデータを取り出すのはいろいろやり方があるかと思いますが、 ツリーを自力でトラバースするのはさすがにあまりにも面倒です。 近頃人気のライブラリを見てみますと、CSSセレクターで目的のノードを選択して、 その周辺のノードをたどるコードを書いて、 欲しい情報を取り出すという感じのものが多いようです。 RustにもHTMLのDOMツリーをCSSセレクターで検索して見つかったノードをイテレーターで返してくれたりする、 scraperというライブラリがあります。 例えば、<li>要素
「C」や「C++」に代わるシステムプログラミング言語として「Rust」が注目を集めている。メモリ安全性が高く、メモリ破壊バグといった脆弱(ぜいじゃく)性を作り込みにくいからだ(関連記事)。 ただし、システムプログラミング言語では、高い処理性能が必須条件であり、これがCやC++が使われ続けている理由となっている。Rustはどの程度「速い」のだろうか。 ドイツのミュンヘン工科大学で博士課程の学生であるポール・エメリク氏は2019年9月9日、Rustで作成したデバイスドライバの性能評価をGitHubで発表した。 同氏のグループはさまざまな言語で同じ機能を備えたデバイスドライバを記述し、性能を比較している。 何が性能低下を引き起こしているのか 性能評価用に作成したのは、Intelのイーサネットコントローラー向けのLinux用デバイスドライバだ(ixgbeタイプ)。 エメリク氏は解説の冒頭で研究に取
もう結構前になりますが、Rust で Emscripten を利用することなく WebAssembly の出力ができるようになりました。それにより、Rust を使った WebAssembly の開発が現実的な選択肢としてさらに力を帯びてきました。 自分の勉強で Rust から WebAssembly に出力するプログラムを書いてみたので、その道筋をご紹介することで自分のような Rust 初心者の方々の WebAssembly 開発の助けになればと思い、この記事を投稿しました。 もし記事中に間違い等がありましたら、是非 @tkihira までご連絡ください。 Emscripten との依存関係を切った Rust つい最近まで、WebAssembly の出力は Emscripten を使うことがほとんどでした。Emscripten は、元々は他言語のプログラムを JavaScript に変換す
(編注:2020/08/18、いただいたフィードバックをもとに記事を修正いたしました。) 本記事は、Tang Liu(tl@pingcap.com)が「Bay Area Rust Meetup August 2017」で行った講演内容をまとめたものです。 動画はこちらからご覧いただけます 。 講演者の自己紹介 非同期プログラミング なぜ同期にしないのか なぜ非同期にするのか コールバック地獄 コルーチンで簡単に書く もう1つの方法、future Rustにおけるfuture Futures コンビネータ 同期 Stream Sink Task gRPC なぜgRPCを使うのか HTTP/2 gRPCのベースはHTTP/2 futureとgRPCを組み合わせる C gRPCのキーワード 疑似フロー 単一通信 クライアントストリーミング サーバストリーミング 双方向ストリーミング 単一通信fu
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言語でコンテナランタイムを実装した理由が次のように説明されています。少し長いのですが、引用し
私が最近注目しているプログラミング言語がある。Rustだ。Rustとは、錆のことである。何が錆なものか。JJだ。 RustはMozillaが開発しているプログラミング言語である。恥ずかしいことに私はRustの存在をつい最近まで知らなかった。私がRustの存在を知ったのはkernelvmでのことである。発表をustで聴いたあと自分で調べるとなるほどこれは私の望んでいた言語だと思った。そしてそれは、Linuxコミュニティが望んでいた言語でもあったのだ。 昨今、Go言語なるものが流行っている。猫も杓子もDockerの実装言語として採用されているためだ。しかし、Goは私のテイストに合わない。プログラミング言語というのは、異性のようなもので、一目見ただけで良いとか悪いとか感じるものである。これがまさにテイストということであり、言語にこだわりがないなんて人は、「誰でも良い」と言ってるようなものである。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く