ISUCON環境で学ぶシステムメトリクス入門
2020 Oct 30概要 ISUCON環境を利用してシステムメトリクスをちゃんと見れるようなろうという勉強会を定期的に行っているので、そのまとめを残す。 Webエンジニアが知っておきたいインフラの基本 インフラの設計から構成、監視、チューニングまでを参考図書とし、第5章以降の内容を実際に手を動かして確認するような形で行っている。 環境はConohaでISUCON8のイメージを利用してサーバーを立てている。 プラン:メ...
概要 ISUCON環境を利用してシステムメトリクスをちゃんと見れるようなろうという勉強会を定期的に行っているので、そのまとめを残す。 Webエンジニアが知っておきたいインフラの基本 インフラの設計から構成、監視、チューニングまでを参考図書とし、第5章以降の内容を実際に手を動かして確認するような形で行っている。 環境はConohaでISUCON8のイメージを利用してサーバーを立てている。 プラン:メ...
概要Kubernetesを本格的にキャッチアップしていくためにドキュメントを読んだので、オレオレメモを残す。全部は長いのでメモ書きはコンセプトの章だけにする。 kubernetes.io Kubernetesとは何か?cf. Kubernetesとは何か? Kubernetesとは何か? 宣言的な構成管理 自動化の促進 コンテナ化されたワークロードやサービスの管理のためのプラットフォーム 過去を...
概要Golangのインメモリキャッシュのライブラリは良さそうなものが存在するが、軽量でシンプルなもので十分だったので自前で実装してみた。 実装要件 複数のデータを保持することができる。 期限付きのデータをメモリに保持することができる。期限が来たらメモリから破棄されること。 キャッシュへの同時参照、更新を考慮し、データのロックが意識されていること。 初期設計※github.com - bmf-sa...
概要github.com - CodeReviewCommentsを読んでメモしておきたいことをまとめる。 Comment Sentences コメントの終わりはピリオドで終わるようにする。 golang.org - commentary Copying 別のパッケージから構造体をコピーするときは、予期しない参照に気を付ける。 メソッドがポインタの値に関連付けられているならTではなく*Tを使うよ...
ISUCON10に参加してきた。ISUCON参加は2年ぶり2回目。 前回は2人チームで参加したが、今回は3人チームで参加した。 やったこと 予選マニュアルやレギュレーションの内容確認 SSH接続の確認 githubに登録している鍵で接続可能だった。今回は踏み台サーバーが用意されていた。 プロセスの確認 APIのエンドポイントやUIを確認 DB確認 デプロイ整備 アプリケーションのデプロイ、sc...
概要リトルエンディアンとビッグエンディアンの違いについてまとめる。 エンディアンとは 複数のバイトの並びの方式をエンディアン、またはバイトオーダーと呼ぶ データをメモリ上にロードするときの配置の仕方 エンディアンはCPUやプロトコル、OSによってそれぞれ決まっている 異なるシステム間やネットワーク間でデータをやりとりする際にエンディアンによる問題が発生しやすい ex. バイナリを解析したいときな...
概要Dockerを触っていたらorphan(孤児の意)というプロセスの存在を知ったのでゾンビプロセスとの違いを調べてみた。 ゾンビプロセスとは 処理が終了した子プロセス プロセステーブルに残った状態で親プロセスのwaitを待つ システムリソースは使用しないが、PIDは保持される ゾンビプロセスが大量に増えると、使用可能なPIDが減り、他のプロセスを起動できなくなる ゾンビプロセスの確認方法 ps ...
概要Golang×chromedp×slack botでslackの絵文字自動生成ボットをつくってみた。 作ったものslackでbotにパラメータを付けたメンションを飛ばすと画像を生成してくれるだけのもの。内部的には、パラメータを元にcanvasで画像を生成、ヘッドレスブラウザでスクショを撮って画像を保存、slackに投稿、といった感じ。 github.com - emoji-generator-...