読書メモ: 「Designing Data-Intensive Applications」Chapter 1. Reliable, Scalable, and Maintainable Applications

感想 Chapter1は、本書のサブタイトルにもなっている、データシステム全体の非機能要件に関する用語(Reliability, Scalability, Maintainability)の定義をしている。 もうわかってるよととばしたくなるけれど、人に説明するときのリファレンス元として重宝す…

「喜嶋先生の静かな世界」

4年前に買ったのと同じ本棚が届いて、散らかった本を本棚に並べていると、以前になくしたと思っていた、「喜嶋先生の静かな世界」を発見して再読していた。 主人公は、研究室配属された大学生で、恩師である喜嶋先生との研究に没頭した生活が描かれている。…

GoバイナリのGitHubリリース: gobump + ghch + goxz + ghr

Go

最近は、GoバイナリのGitHubリリースにgobump、ghch、goxz、ghrを利用している。これらのツールを組み合わせることで、repairableな形でリリース作業を自動化できる。 GoバイナリのGitHubリリースに一般的に必要な一連のプロセスを分解すると、下記のように…

Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった

概要 netstatやssコマンドにより、あるホストと他のホストとのコネクションを一覧表示できる。しかし、Webシステムの場合、クライアントが並行接続するため、 同一ホストから複数のポートを介してコネクションを確立しているケースが多い。コネクション数が…

LinuxサーバでネットワークI/Oで刺さっている接続先を発見する

Linuxサーバの障害対応で社内で伝統的に使われているテクニック。I/Oで完全にブロックしているポイントを特定するノウハウ。 問題対応のため、怪しいプロセスをstraceしてみる read(2)やwrite(2)でブロックしていることを発見する read(2)やwrite(2)、connec…