Rust

2020年の振り返り:書籍『実践Rustプログラミング入門』の出版

2021年になったので、まずは久しぶりに2020年の振り返り記事を書くことにしました。 昨年の私のハイライトは、共著で『実践Rustプログラミング入門』を出版したことでした。 実践Rustプログラミング入門 いまでは電子書籍版もリリースされたので、AmazonのKi…

Rust GUI crate調査: iced

この記事には作り方に関する情報は、ほとんど書いておりません。 あくまで、このcrateが持つ機能や使いやすさなどをお伝えすることを目標としております。 icedの概要 github.com iced 今回紹介するicedは、クロスプラットフォームで、renderer-agnostic (レ…

『RustではじめるOpenGL』が商業出版で販売スタート

昨年、技術同人誌のためのイベント「技術書典7」にて頒布した『RustではじめるOpenGL』が、装いも新たに商業出版で販売開始することとなりました! nextpublishing.jp 電子書籍版はすでにAmazonのKindleストアや、紀伊國屋書店のKinoppyなどで販売しており、…

Rustで使いまわしの良いactix-web製HTTPサーバモジュールの基礎を作る

目的 必要にかられてRustでHTTPサーバを実装することになりました。 HTTPサーバは何かと使い勝手が良く、今後も気軽に立てたくなることがあるはずなので、ここで一つすごくシンプルなHTTPサーバのモジュールを書いてみました。 せっかくなのでRustが誇る高速…

Rust GUI crateの調査

私はRustでOpenGLを使った3Dプログラミングの実装を行っています。 それと関連して、RustでGUI系のcrateを利用して、その使い心地を調べるようなことをよくしています。 ここにその調査結果を少しずつ残して、どのcrateが目的に合っているのか記述していきた…

RustのLLVM IRでプログラム分析ことはじめ

この記事は、Rustその2 Advent Calendar 2019の22日目の記事です。 はじめに Rustのコンパイラは内部でLLVMを利用しています。 LLVMとはいわゆるコンパイラ基盤というもので、Rustのコンパイル側でLLVMの中間コード(IR)まで生成できたら、あとはLLVM側が最適…

書籍『RustではじめるOpenGL』の内容漏れと更新のお知らせ

技術書典7で頒布いたしました『RustではじめるOpenGL』に、1ページ分程度の内容漏れが見つかりましたので、お知らせいたします。 該当箇所は、「第2章 SDL」の中にある「2.1.3 Windowsの場合」の内容が抜けておりました。 メインで利用しているPCがLinuxであ…

技術書典7にて100冊以上頒布達成しました

9月22日(日)に開催されました「技術書典7」にて、『RustではじめるOpenGL』という書籍を頒布させていただきました。 技術書典7のテーブルの様子 無事に書籍も現地に配達され、多くのお客様に書籍を届けることができました。 我々のテーブルに来てくださった…

技術書典7にて『RustではじめるOpenGL』を頒布します

来る2019年9月22日、サンシャインシティ 文化会館ビル 展示ホールで開催される技術同人誌イベント「技術書典7」にて、書籍『RustではじめるOpenGL』を頒布いたします。 『RustではじめるOpenGL』表紙 『RustではじめるOpenGL』裏表紙 書籍の情報 書籍名: Rus…

RustのCrate調査 (better-panic)

Rust製の実行ファイルが異常終了した際に出力されるスタックトレースを、見た目の良いものに置き換えてくれるcrateを発見し、さっそく使ってみました。 crateの名前は「better-panic」です。 作者はPythonのflaskで有名な「mitsuhiko」ことArmin Ronacher氏…

RustでMicrosoft製SMTソルバ「z3」を使う

「記号実行」で利用される「SMTソルバ」 私は興味のある分野がいろいろあるのですが、プログラムの解析技術もその中の一つです。 プログラム解析技術の中には、「記号実行 (シンボリック実行)」というものがあります。 これは、「どのような入力を与えられた…

RustのCrate調査 (version_check, ryu, unicode-width, fnv)

先日、Rust言語でよく使われているcrateをいくつか調べました。 toyamaguchi.hatenablog.com 今回は、version_check、ryu、unicode-width、fnvについて調査をしました。 コンパイラのバージョンは「rustc 1.33.0」です。 version_check : コンパイラのバージ…

RustのCrate調査 (bitflags, byteorder, chrono, encoding_rs, num_cpus)

Rustのコードをコンパイルしていると、直接的には使っていないですが、依存関係のためにダウンロードされてくるcrateをよく見ます。 そういうcrateの中には便利なものもあるだろうと思い、いくつかのcrateの調査をしてみました。 今回は、bitflags、byteorde…

Shinjuku.rs #3にてLightning Talkをしました。

先日、3月12日に行われた勉強会「Shinjuku.rs #3」にて、Lightning Talkをしました。 発表は「Visualizatoin System in Rust - Rustで作る可視化サーバの紹介」というタイトルで行いました。 20190312 Visualization System in Rust from ToshihiroYamaguchi…