タグ

2016年5月18日のブックマーク (6件)

  • syscall-study/til/2016-05-18.md at master · yuuki/syscall-study

    [pid 2406] accept4(3, <unfinished ...> [pid 2407] sched_yield( <unfinished ...> [pid 2406] <... accept4 resumed> {sa_family=AF_INET, sin_port=htons(42741), sin_addr=inet_addr("127.0.0.1")}, [16], SOCK_CLOEXEC|SOCK_NONBLOCK) = 5 [pid 2406] epoll_ctl(4, EPOLL_CTL_ADD, 5, {EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLET, {u32=1105458016, u64=139991269503840}}) = 0 [pid 2406] getsockname(5, {sa_family=AF_INET, si

    syscall-study/til/2016-05-18.md at master · yuuki/syscall-study
    y_uuki
    y_uuki 2016/05/18
    ちまちまシステムコール叩いてる
  • ISUCON6出題チームが社内ISUCONを開催!AMIも公開!! - pixiv inside [archive]

    ISUCON6の出題者の1人の@catatsuyです。 GW直前の4/28、年度入社の新卒エンジニア全員と社内のエンジニアほぼ全員が参加するイベントとして社内ISUCONを開催しました。 同じく出題者の1人である@edvakfの記事でも書いたように、今年のISUCON6では株式会社はてなさんと弊社で共同出題する予定です。 inside.pixiv.net 今回は弊社のISUCON6出題チームの4人で開催した社内ISUCONの様子を紹介します。 社内ISUCON 時間は12:30から19:00まで行いました。営業日に会社のエンジニアのほとんどが参加するイベントなので、午後を割り当てる形にするぐらいが良いのではないでしょうか。今回は新卒研修の一環としての側面があったので、新卒エンジニアにはISUCON事前ハンズオンとしてこのような内容の講義を行いました。 初期実装 初期実装の言語は『Ruby

    ISUCON6出題チームが社内ISUCONを開催!AMIも公開!! - pixiv inside [archive]
    y_uuki
    y_uuki 2016/05/18
    すごいな
  • バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。好きなメソッドは emptyIfNull です。 僕は、自社クラウドである cybozu.com のミドルウェアを開発するチームで働いています。具体的には、検索サービスやファイルサーバー、非同期処理用ワーカー、セッションマネージャーなどなどを提供しています。 僕がこのチームに来たのは数年前ですが、当時はバグの多いプロダクトでした。今はすべての既知のバグを直し、残存不具合件数が 0 件、つまりバグゼロな状態になりました。また、バグゼロを実現してから 2 年ほど経過していますが今もその品質を保っています。今回はこのバグゼロを実現した方法と、その後の顛末について記そうと思います。 以前のコード 数年前に提供されていたこのミドルウェア群は、はっきり言って、バグの塊のようなプロダクトでした。 当時のコードは保守性とは程遠い

    バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ
    y_uuki
    y_uuki 2016/05/18
  • PostgreSQLで異なるメジャーバージョン間のレプリケーション実験 - tom__bo’s Blog

    はてなのアルバイトでmaster-slave構成のPostgreSQL(9.3.*)クラスタをアップグレードするための調査をすることになりました。 サービスの性質上できるだけ無停止でアップグレードする必要があったため、Slony-Iを使ったダウンタイムなし(もしくは最小)のアップグレードに向けて調査・実験した内容を紹介します。 背景 Slonyについて 実験内容 環境・準備 レプリケーションの作成 スイッチオーバ 今後の課題 参考 背景 PostgreSQLでメジャーバージョンをアップグレードするにはdump/restoreかpg_upgradeのどちらかの方法で行います。 しかし、このどちらもデータベースの停止が必須です。さらに、メジャーバージョン間ではシステム内のデータ形式の互換性が保証されていないため、異なるメジャーバージョン間ではレプリケーションを行うことができません。 そのため、

    PostgreSQLで異なるメジャーバージョン間のレプリケーション実験 - tom__bo’s Blog
    y_uuki
    y_uuki 2016/05/18
    オンラインバージョンアップのためにいろいろみてもらってます
  • Mac上にGoの開発環境を構築する〜下準備編 | おそらくはそれさえも平凡な日々

    同僚がGoを始める上で、案外まとまった資料が無さそうだったので書いてみることにしました。 Macでhomebrewが入っていることが前提です。事前に brew update をおこない formula を最新のものにしておくと躓くことが少ないでしょう。 Goのインストール % brew install go エントリ執筆時点では、1.6.2 が入ります。Goはメジャーバージョンが同じ場合は、後方互換が保たれているので、基的に新しいやつを入れて問題ありません。 環境変数の設定 $GOPATH だけを決めればOKです。$GOPATH はどこでも良いのですが、ここでは $HOME/dev を $GOPATH に設定します。また、 $GOPATH/bin に $PATH も通しておきます。 export GOPATH=$HOME/dev export PATH=$GOPATH/bin:$PATH

    Mac上にGoの開発環境を構築する〜下準備編 | おそらくはそれさえも平凡な日々
    y_uuki
    y_uuki 2016/05/18
    peco+ghqやってるけどとにかく便利
  • 奥一穂さんインタビュー - Tokyo RubyKaigi 11

    13:25 Invited Speaker 最速ウェブサーバの作り方 近年、ウェブの体感速度は、ネットワークのバンド幅ではなくレイテンシによって律速される傾向が強まってきています。また、それに伴い、TCP Fast Open、HTTP/2、TLS 1.3といった、レイテンシの影響を削減/隠蔽する技術の標準化が進んでいます。セッションでは、HTTP/2サーバ「H2O」の主開発者が、レイテンシの影響削減を主目的とするサーバのプログラミング技法や、HTTP/2の更なる高速化を実現する手法として標準化提案中の「Cache Digest」等を紹介し、それらをrubyから制御する手法を検討します。 必要となる知識 TCP/IPとUnixのソケットプログラミングに関する基礎的な知識があると、分かりやすいかと思います。 奥一穂 株式会社ディー・エヌ・エー MIT TR100、日OSS貢献者賞受賞、未踏

    奥一穂さんインタビュー - Tokyo RubyKaigi 11
    y_uuki
    y_uuki 2016/05/18
    おもしろそう