TCP/IP とパフォーマンス

この文章は、ハイパフォーマンスブラウザネットワーキングを読んで、改めて TCP/IP を自分の中で整理し、パフォーマンスに関する内容を簡単にまとめたものである。 情報通信ネットワーク特論を受講しておりタイミングが良かったという理由もある。

新卒就活を終えた

TL;DR

  • 新卒就職活動を終了したので供養をする
  • 社会に出る前にやれることをやるぞ

Linux におけるファイル I/O の基礎

すべてがファイルというモデルの Linux (Unix) において、ファイル I/O (以降単に I/O と書く) を知っておいて損はない。 この記事では、基本的なファイルと関連する I/O について、対応する Linux システムコールも併せて説明する。 次回はこれらを実際に Linux 上で確認する予定。

Unix 以外のオペレーティングシステム

Unix 以外の簡単な歴史と特徴をまとめる。

Unix の歴史と思想

これは、自分がプログラミングを始めた頃に読みたかった(読むべきだった)というつもりの文章である。

itamae コードリーディング

元々は NeoVim を導入しようとしていた.その一環で,dotfiles を良い感じにしようとしていて,mitamae によるプロビジョニング設定の k0kubun/dotfiles から fork したものを整理していた.NeoBundle の NeoVim 対応版である dein.vim を導入する際,curl が必要だった.itamae の Resource ドキュメントを読むと,http_request というリソースがあった.これ使えば Docker の ADDコマンド的なことできるのかなと思ったけど詳細が書いてなくて,そういえば itamae 自体どうやって動いてるんだと気になったので読むことにした.

itamae-kitchen/itamae/

SQL実践入門 読んだ

メモです.

3章 式の条件分岐

  • SQLのパフォーマンスは,テーブルスキャンによる I/O を減らすことが重要.
  • 手続き的な WHERE, UNION による条件分岐,テーブルフルスキャンが複数回行われる.同テーブル内では,SELECT 句で CASE WHEN で条件分岐させるとクエリの可読性,実行計画共に良くなることあるので,考えなしに UNION を使うのは危険.
  • ただし,インデックスが使える場合は,「UNION による複数回のインデックススキャン」と「OR または IN による1回のフルスキャン」の勝負になり,UNION の方が速い場合もある.

Fluentd syntax for vim 書いてる

Fluentdを書く機会があったのだが、Vimがシンタックスハイライトしてくれなかった。
あれーと思ったけど vim8の新機能 にもFluentdの記述はなかった。
“vim fluentd syntax” で検索すると、 https://github.com/yoppi/fluentd.vim がヒットするが、Latest Commit が4年前だったのと、自分で使ってみて馴染まなかったので、自分で書いてみている。

2017年の抱負

去年

だめだめ

ウェブオペレーション 読んだ

結論としては、勉強になったし読み物として面白かった。
オペレーションに関係するソフトウェアの特徴・比較・使い方の詳細な記述はないが、 それらの関わりが簡潔にまとめられているおかげで、体系的な理解の助けになった。

この書籍は18の章から成っており、それぞれ著者が異なる。
ある章の結論が他の章の結論を直接的に否定しているわけではないが、 全体的には、ただ一つの正解は無いと言っているようで、考えさせられた。

内容が豊富で、すべては噛み砕けていないので、また読む。