2018-03-01から1ヶ月間の記事一覧

GolangでIBLTを実装してみた

前回の記事では、IBLTの概要について記載しました。 今回はIBLTのデータ構造と実装について記載します。 なお、使った図などはこちらにスライドとしてまとめています。 データ構造 IBLTは以下のようにm個のcellを持ちます。 各cellには、count、keySum、valu…

Bitcoin Cashのブロック伝搬速度を10倍にするGrapheneで使われているInvertible Bloom Lookup Tables(IBLT)について調べてみた

Bitcoin Cashのブロック伝搬速度を10倍にするという話もあるGrapheneでも使われている Invertible Bloom Lookup Tables(以下、IBLT)について調べました。 背景 IBLTはもともと集合一致などで使われるデータ構造です。ブロックチェーンに限った技術ではありま…

Atom gotestsでレシーバがあったときにテストが自動生成されないバグを直した話

Atom gotestsでレシーバがあったときにテストが生成されないバグを直した話 少し前に以下のツイートをし、Atom pluginのgotestsを使って ユニットテストの自動生成をしてました。 goのテスト自動生成ツール。めっちゃ便利。すごい。https://t.co/15Fd5sq2VI—…

【Golang】gobで変数をファイルに保存する

gobは、Go専用のバイナリシリアライズフォーマットです。 シリアライズフォーマットとしては、Protocol Buffers1がデファクトでしょうし、Go専用のgobは他の言語で扱えず、使い勝手としても難しいところです。 しかし、Goしか使っていないような環境で、変数…

Visual Studio Codeをインストールするときにやったこと

AtomからVScodeに移行したメモです。 自分しか使ってないようなkey-bindとかもありますが、 同じように設定に困ったら参考にしてください。 カラーテーマ Atom One Dark Theme 表示関連 goのソースコードのみタブを半角スペース2つへ "[go]": { "editor.inse…