にっき

技術的な話題はないです

Programming

Rust 用のマイクロWebフレームワークを作ってみた

前回 は Hyper 用のルーティングライブラリを作ってみましたが,もう少し手を加えればちょっとしたマイクロフレームワークを作れるのではないと思い至ってしまったので勢いで作ってみました。 github.com 実用には程遠いレベルですが,ある程度フレームワー…

近況

近況報告です. Rust でブログっぽいWebアプリを作った 題意の通り,Rust でブログっぽいWebアプリケーションを作っていました. 諸々作りこみが雑なのでもう少し改善する必要があるのですが,初心を忘れないうちに備忘録がてら作業記録を残しておきます. v…

わん

mattn.kaoriya.net 上の記事を読んでいて,最後のコード例を眺めていたらできそうな気がしたので作ってみました. github.com やってることは wandbox-run と同じ(パクリ)ですが,serde や curl-rust を使っている分 Rust っぽい感じに出来ていると思いま…

Rustacean のためのリポジトリ管理ツールを作りました

何度かつぶやいたりしていましたが、READMEを書くのが面倒になったので より多くの人に使ってもらうため少し真面目に解説記事を作りました。 rhq の概要 GitHub - ubnt-intrepid/rhq: Manages your local repositories 言わずと知れた Golang 製のリポジトリ…

最近作った・メンテしたRustプロダクト

供養および近況報告 rustplotlib github.com Matplotlib の Rust バインディングが欲しいなぁと思っていたので勢いで作ったもの. Rust という言語の特徴を考えると必要となるケースはあまりない気がするが,作ってしまった以上便利なものであるとだけ言って…

rustup を Vim から呼び出すプラグインを作りました

タイトルの通りです。 少し前に rustup のメジャーアップデートがアナウンスされたばかりですがそれとは関係ないです。 Vim のタブライン上に使用中の Rust のツールチェインを表示するように設定を弄っているときに思いつき、この手のプラグインが見つから…

Rust 製の汎用機械学習ライブラリ rusty-machine

本記事は Rust Advent Calendar 2016 10日目の記事です。 Rust Advent Calendar 2016 へ多くの方にご参加いただき、(一応)主催者としては嬉しい限りです。 遅くなってしまいましたが、この場を借りてお礼を申し上げます。 今回は Rust 製の汎用機械学習ラ…

Rust のコマンドラインオプション解析色々

本エントリは Rust その2 Advent Calendar 2016 - Qiita の 10 日目の記事です。 本記事では、Rust を使って CLI アプリケーションを作成してきた過程で得られた知見のひとつとして、コマンドラインオプション解析に用いる crate を簡単にまとめたいと思いま…

Rust 製の ghq クローンを作った

少し前からちまちまと作っていたのですが,とりあえず使えそうになったので公開しておきます. github.com もともと Bash on Windows (BoW) で ghq をインストールしようとして失敗したのがきっかけで作り始めたのですが,本家のリリースページのバイナリを…

Rust でメソッドのオーバーロード

Rust でメソッドのオーバーロードをしたい場合,オーバロード対象のメソッドを持つ Trait を用意し,各型ごとに実装を記述する. mod hoge { pub struct Hoge; // 引数の型を引数 pub trait Foo<T> { fn foo(&self, foo: T); } // 引数の型ごとに実装を記述 imp</t>…

Gurobi の Rust API を作ってた

少し前から手をつけていたのですが,Rust から Gurobi を呼び出したいなぁと(少し)思っていたので作ってみました. https://crates.io/crates/gurobi 基本的な API の使用は C++ 版のものを参考にしましたが,言語的な制約から多少異なったものになってい…

C++11で Rust の channelを実装してみる

とあるツールを作る際に非同期処理を実装したくなったのだが, その際に Rust にある channel があると便利そうだなぁと思ったので実装してみた. 概要 実装は この記事 を参考にした. ただし,Golang 版では双方向通信が可能になっているのに対し,移植版…