タグ

ブックマーク / m0t0k1ch1st0ry.com (4)

  • シンプルな Blockchain を Go で実装する

    以前に 200 行のコードへのブロックチェーンの実装 というエントリを読み、たった 200 行の Javascript で実装された Blockchain である Naivechain の存在を知った。エントリは、その Naivechain の Go 版を実装してみたので、家 Naivechain と合わせてご紹介しますという話。ちなみに、コードの短さは求めずになるべく構造化してわかりやすさ重視で書いた(つもり)なので、200 行ではない。 自分の Naivechain 以外に、300 行で実装された Go 実装 もあったりするので、短いコードがお好みの方はそちらもご参照あれ。 そもそもこれは Blockchain なの? Blockchain の定義についてここで深く議論するつもりはない。界隈でも厳密なコンセンサスが取れているわけではないと思うし。一応、JBA の定義 を紹介しておく

    シンプルな Blockchain を Go で実装する
  • Quiver でメモ管理改善

    Quiver: The Programmer’s Notebook Twitter のタイムラインで こちらのエントリ を見かけて、これはよさそうと思って衝動買いしてちょっと試してみたところ、自分のニーズを全て満たしていると言っても過言ではないくらいよかった。ので、この感動を同じニーズを持った人達に伝えるべく、軽くレポートしてみようと思う。 Quiver 移行前のメモ管理 Dropbox に markdown 形式で保存 emacs で編集 Marked 2 を emacs から起動して閲覧 という感じで落ち着いていた。 が、いまいちしっくりきてなかったというか。メモ管理に最適化されてる感じは薄かった。シェルの世界から出ないでよいのでラクだなあというくらい。 Quiver の特徴 最たる特徴は以下。 1つの Note は複数の Cell で構成されている 現状、Cell は以下の5種類 T

    Quiver でメモ管理改善
  • net/http の動きを少しだけ追ってみた - Go

    Go の標準パッケージである net/http を使えば簡単に HTTP サーバーを立てることができる。とは言うものの、自分はそのへんが実際どうなってるのか全然わかってない。つらい。ということで、Go の勉強も兼ねて net/http の動きを少しだけ追ってみることにした。 まず、net/http を用いたよく見かけるサンプルコードを書いてみる。 package main import ( "fmt" "log" "net/http" ) func poyo(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "poyo!") } func main() { http.HandleFunc("/", poyo) if err := http.ListenAndServe(":9090", nil); err != nil { l

    net/http の動きを少しだけ追ってみた - Go
  • ISUCON3 底辺スタッフの記録 - m0t0k1ch1st0ry

    ISUCON3戦にスタッフとして参加させていただきました。準備期間と当日にやったこと、それを通して感じたことをまとめます。 スタッフとしてやったこと 準備期間 お題アプリの php 移植 各チームへの配布物作成(封筒・ネームプレート) 当日 スタッフっぽいこと お題アプリの scala 移植(未完) 準備期間 php 移植 久々に php を触ったので、過去にはまったところにことごとくはまり、 「あーーーーー!!!これーーーーー!!!!!」 って何回もなっていました。底辺スタッフ感が出ています。 全てのテストが通るとこまではなんとか1人でいけたものの、以下の問題が。。 ベンチかけると400エラーが出る ブラウザから動かすと信じられないくらい重い ベンチかけると400エラーが出た理由は、php の getallheaders() がパラメータ名の大文字小文字を区別して返してくることでし

  • 1