ブックマーク / qiita.com/Jxck_ (3)

  • Golang の sort パッケージ - Qiita

    intro sort パッケージは slice などをソートするデフォルト実装や、独自の比較ロジックを定めるインタフェースなどが提供されています。 Go のインタフェース、継承による拡張などの考え方的にも面白いので解説メモ。 Sort function sort パッケージには Sort 関数が定義されている。 そのシグネチャは以下。 つまり、ここに sort.Interface インタフェースを満たしたものを渡すと、中で Quick Sort, Heap Sort, Insertion Sort を、条件に応じて使い分け、いい感じに並べ替えてくれる。 Sort Interface sort.Interface のインタフェースは以下。 (Go では、メソッドを持っていればインタフェースは満たされる) type Interface interface { // Len is the num

    Golang の sort パッケージ - Qiita
    int128
    int128 2018/07/11
  • Head of Line Blocking - High Performance Web 2015 - Qiita

    二つの head of line(HOL) blocking Web 周辺のコンテキストで (HOL blocking) と言うと、実際には二つの種類がある。 HTTP での HOL Blocking TCP での HOL Blocking この二つは違うものなので、話す場合は「どの」レイヤでの話なのかは明示したい。 HTTP の HOL Blocking HTTP/1.1 のリクエスト-レスポンスの組は、常に順番を保ち同期的に行われる必要がある。 具体的に 1 つの TCP コネクション上で、 3 つの画像(a.png, b.png, c.png) を取得する場合、 HTTP リクエストは以下のようになる。

    Head of Line Blocking - High Performance Web 2015 - Qiita
    int128
    int128 2018/01/04
    "むしろ 1 本の TCP コネクションで全部多重化している分、複数の TCP を使っていたころと比べると影響範囲が大きい可能性すらある"
  • npm で依存もタスクも一元化する - Qiita

    タスク管理 package.json にはパッケージの依存を書いて npm install するのが基だけど、 タスクの管理をどうするかというのは、別途また考えないといけない。 自分は gulp が良いと思っているが、 grunt や jake や make を使う人もいる。 また、たくさんオプションをつければほぼ一つのタスクが実行できてしまう browserify, jsh/eslint, mocha などのコマンドを提供するツールもある。 そして、 npm にも一部それらをサポートする npm run 機能があるので、そこに Unix ワンライナーを書くこともできる。 今回は、「どのタスクツールが最良か」みたいな話ではなく、それらをどうやって実行するか、または npm との棲み分けとか構成の流儀について、最近良いと思っているやり方について書いておく。 各方針で問題点を書いていくが、

    npm で依存もタスクも一元化する - Qiita
    int128
    int128 2016/07/08
  • 1