タグ

2016年9月4日のブックマーク (5件)

  • ざっくりと #isucon 2013年予選問題の解き方教えます : ISUCON公式Blog

    ISUCONとはLINEヤフー株式会社が運営窓口となって開催している、お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトルです こんにちは、@acidlemon です。 ざっくりと書いたつもりなのに長編です。 エントリでは、スコアがなかなか伸びなかった方々を主な対象として、実際に先週末実施した予選問題を解いていく方法を解説します。高スコアをたたき出した方々は参考までに「こんなやりかたでもここまでスコア伸びるんだなー」という感じで読んでください。 最初の方針は「派手なことをしない」「コンサバにやる」です。「とりあえず」という気持ちでmemcachedやRedis、もしくはvarnishやnginxでキャッシュし始めるとキャッシュの寿命のことを考え始めなければならず、疑心暗鬼になったりして難易度が上がります。まぁその辺は最終的には男気によって解決す

    ざっくりと #isucon 2013年予選問題の解き方教えます : ISUCON公式Blog
  • Golang で書いた Web アプリケーションを UNIX ドメインソケットで公開 - at kaneshin

    net/http パッケージで使用される ListenAndServe 関数は tcp による Listen のため、 UNIX ドメインソケットで Listen するには自前で準備する必要があります。 func (srv *Server) ListenAndServe() error { addr := srv.Addr if addr == "" { addr = ":http" } ln, err := net.Listen("tcp", addr) if err != nil { return err } return srv.Serve(tcpKeepAliveListener{ln.(*net.TCPListener)}) } src/net/http/server.go - The Go Programming Language UNIX ドメインソケット ソケットファイルの

    Golang で書いた Web アプリケーションを UNIX ドメインソケットで公開 - at kaneshin
  • GolangのGCを追う

    Go1.5とGo1.6でGoのGCのレイテンシが大きく改善された.この変更について「ちゃんと」理解するため,アルゴリズムレベルでGoのGCについて追ってみた. まずGoのGCの現状をパフォーマンス(レイテンシ)の観点からまとめる.次に具体的なアルゴリズムについて,そして最後に実際の現場でのチューニングはどうすれば良いのかについて解説する. GoのGCの今 最初にGoのGCの最近の流れ(2016年5月まで)をまとめる. Go1.4までは単純なStop The World(STW)GCが実装されていたがGo1.5からは新たなGCアルゴリズムが導入された.導入の際に設定された数値目標は大きなヒープサイズにおいてもレイテンシを10ms以下に抑えることであった.Go1.5で新たなアルゴリムが実装されGo1.6で最適化が行われた. 以下は公開されているベンチマーク.まずはGo1.5を見る. Gophe

  • ISUCON5 with Golang

    Presentation for GoCon 2015 Winter

    ISUCON5 with Golang
  • RailsCast #286 Draper を active_decorator で書き直してみて得たこと - わからん

    RailsCast の #286 で紹介されている Draper を active_decorator gem で書き直してみました。この回は、日語版の AsciiCast でも読むことができます。作業自体は単調で難易度も低く面白くありませんでしたが、RailsCast #286 Draper の精読も含めると、以下のような点を学べました。 RailsCast に載っている程度の例であれば、Draper も active_decorator もほとんど違いはない。Draper では作成したデコレータの公開範囲を指定できるとわかるが、たいして重要な機能ではないと思う デコレータを導入することで、モデルにビューのためのヘルパーメソッドを書かずにすみ、うまく分業できる デコレータを導入することで、ビューでの条件分岐をいくつかうまく隠蔽できる。もっともそれはヘルパー(app/helpers)でも