2015-01-01から1年間の記事一覧

systemd-networkd では netdev だけではデバイスは UP しないらしい

LXC 用の Bridge インターフェースを systemd-networkd で管理しようとして、.netdev ファイルを以下のように作った。 [NetDev] Name=br0 Kind=bridge この bridge に対して physical デバイスで以下のように接続しておいた。 [Match] Name=en* [Network] ..…

SSD が壊れた。

サーバ機の OS 領域として使っていた SSD が壊れてしまった。 モノは、シリコンパワー製の 32GB MLC のドライブ。型番は SP032GBSSDE20S25 らしい。 購入したのは、2012年3月なので、3年と8ヶ月で壊れたことになる。 壊れたのに気づいたのは、ホストが勝手に…

VyOS でプライベート DNS コンテンツサーバを参照する

VyOS は DNS フォワーダを持っているが、標準的な設定ではフォワード先は(当然ながら)フルリゾルバを指定する。 しかし、内部用の DNS コンテンツサーバを参照するだけでフルリゾルバを立てるのが面倒くさい。 特定のドメイン、及びサブドメインだけをフォ…

rust の lifetime

まずは 1.0 alpha リリースおめでとうございます。 リリースしてドキュメント関係が差し替わって Book (旧 guide) に lifetime について乗るようになったぽい。 C++ はリファレンスによって NULL ポインタのデリファレンスを防げるようになったが、ダングリ…

複数の Trait による Restriction

Generics の restriction に複数の trait を指定したい場合、+ を使えばいいらしい。 struct Circle { x: f64, y: f64, radius: f64, } trait HasArea { fn area(&self) -> f64; } trait HasPoint { fn point(&self) -> (f64, f64); } impl HasArea for Circ…

Rust のポインタ

rust が提供するポインタは、以下の3つがあるらしい。 reference Box Rc/Arc また、基本的なルールとして、リーダブル(immutable)なポインタは同時に複数作れて、ライタブル(mutable)なポインタは一度に一つしか作れない。 これをownershipとかいうらしい。 …

rust 始めます

新年になったし、そろそろ1.0が近いらしいので、Rust 始めます。 まずは環境設定から。 手元の環境は、arch linuxなのでpacmanでさくっと入る。 $ sudo pacman -S rust エディタはemacsなのでpackage.elでこれまたさくっと入る。 rust-mode flycheck quickru…