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

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

Rust GUI crateの調査

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

仕組みを学べるシンプルなターミナルエミュレータ「eduterm」

私たちがよく使用するターミナル。 毎日使っているはずなのに、あまりその仕組みを知らない方も多いはず。 先日、私も思い立ってxtermのソースコードを読んでみようしたら、C言語のifdefの嵐に圧倒され、途中で中断してしまいました。 xtermは様々なプラット…

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

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

技術同人誌執筆中のコンテンツの抜け漏れ対策スクリプト

この記事は技術同人誌 Advent Calendar 2019の12月8日分の記事となります。 私は、今年の9月に技術書典7に初参加し、技術同人誌『RustではじめるOpenGL』を頒布させていただきました。 現在もPDF形式のダウンロード版と、紙版の両方をBOOTH.pmで販売させてい…

技術同人誌の表紙をフリーソフトのGimpとImageMagickで作る

最近は、技術書典や技術書同人誌博覧会などが定期的に開催されるようになったので、技術書同人誌を作って頒布したいかたも増えているようですね。 かく言う私も、技術書典7で書籍『RustではじめるOpenGL』を作成して、多くの人たちに頒布することができまし…

書籍『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氏…

論文メモ: Visualizing Compiled Executables for Malware Analysis

はじめに 絵画や陶芸などは目で見ることで良し悪しがわかるものですが、ソフトウェアは良し悪しが目で見えづらいです。 目では見えないため、ソフトウェアにバグがあったり、さらにはアドウェアが入っていても気づきづらいです。 マルウェア解析の分野におい…

論文メモ: Bubble Treemaps for Uncertainty Visualization

はじめに 2018年の「IEEE Transactions on Visualization and Computer Graphics」の中に、「Bubble Treemaps」という面白いデザインのグラフを提案している論文を見つけました。 [Görtler+18] Figure 1 Görtler, Jochen, et al. "Bubble treemaps for uncer…

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

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

論文メモ: Convolutional Networks on Graphs for Learning Molecular Fingerprints

情報処理学会 第81回全国大会に参加した際、熊谷将也さんの発表「疎構造学習およびグラフ畳み込みニューラルネットワークによる異常検知」のアイデアに影響を受け、論文「Convolutional Networks on Graphs for Learning Molecular Fingerprints」を読みまし…

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…

情報処理学会 第81回 全国大会に参加しました

3月14日から3日間、福岡で開催されていた「情報処理学会 第81回 全国大会」に参加してきました。 情報処理学会の公式ページによれば、全国大会は一年に一度開催される、学会最大のイベントとのことです。 私もこの全国大会に参加したことで、学会がカバーす…

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

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

ブログ始めました

ブログを書き始めることにしました! 思い立ったが吉日!月に叢雲、花に風! 今が始める、最高のとき! これから一発かましてやる! Maximum Effort!!