Rust

2022年まとめ

2022年は戦争がはじまり、時代が逆行したような年でした。我々は技術者・研究者であるので、社会的・政治的には時代が逆行しても、科学と技術を進歩させ、科学技術で社会問題を解決してきたい所存であります。 『ゼロから学ぶRust』を執筆した 2022年12月13…

Rustのasync-stdを利用したRedisサーバクローンが公開されました

大学でセキュリティ関連の演習を行いました。この演習では、大学院生と社会人が研究や実装を通して実践的な学習を行います。トピックはRewrite it in Rust、モデル検査、ゼロトラスト、暗号など色々あるのですが、そのうちRewrite it in Rustのトピックを選…

RustでRaspberry Pi 4を操作してみた

RustでRaspberry Pi 4をどれだけ操作できるか興味があったので、連休期間にやってみました。制約は、Rustのasync/awaitを使うこと、rppalというembedded-halベースのライブラリを利用することです。結論から言うと、I2C、SPI、GPIOなどほとんどの操作はRust…

『並行プログラミング入門』を執筆しました

これは、Rust Advent Calendar 2021 (2)の25日目の記事です。 https://qiita.com/advent-calendar/2021/rust2021年8月にオライリー・ジャパンより出版された『並行プログラミング入門』を執筆しました。並行プログラミング入門 ―Rust、C、アセンブリによる実…

RustでHello, World!

環境構築 実験用のOSはUbuntu 20.10、x86_64を想定します。まず、Rustの環境を整えます。Rustの環境はrustupで構築できるので簡単です。Rustには大きく分けてstableとnightlyがあるのですが、今回はnightlyを利用します。具体的には以下のようにコマンドを入…

BLisp言語のドキュメントを作成しcrates.ioに登録してみた

BLispはRust言語で実装されたベアメタル環境で動作するシェル、API定義言語として現在研究・開発をすすめています。動機は2つあります。1つが、せっかく静的型付けで型安全なRust言語を使っているのだから、Rustと協調動作するスクリプト言語でも静的型付け…

大学でRustを教えた話

このブログ記事は、Advent Calender 2020, Rust 3、23日目の記事となります。自分は現在大学で教員をしていまして、セキュリティ系の研究室に所属しています。現在はセキュリティの講義を担当しており、そこでRust言語を教えているため、その内容を紹介しよ…

Rust言語によるOSと言語処理系ができるまで

タイムライン Rust言語で簡単なファームウェア、OS、言語処理系を作成したが、そのタイムラインはだいたい以下のようなものであった。もともとは、Rustでどの程度できるか検証するために始めた実装で、OSを作る予定ではなかったのだが、やっていくうちに面白…

Rust言語でファームウェア、OS、言語処理系を実装して、CSS 2020で発表した

先月、国内最大のセキュリティ研究会であるコンピュータセキュリティシンポジウム 2020(CSS 2020)が開催され、そこで、Rust言語を用いてファームウェア、OS、言語処理系を設計・実装した話を発表しました。本来、CSS 2020はリアルで開催されるはずでしたが…