Skip to content

Instantly share code, notes, and snippets.

@sile
sile / main.md
Last active July 12, 2026 02:52
『Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services』の要約

要約: 『Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services』

概要

  • 著者: Seth Gilbert、Nancy Lynch、発行年: 2002
  • いわゆる"CAP定理"の話:
    • 「分散環境では 一貫性(Consistency)可用性(Availability)分断耐性(Partition tolerance) の三つを同時に達成することはできない」
  • その不可能性の証明と、その制限を非同期環境および部分的同期環境でどう緩和するか、が述べられている
@sile
sile / 0_raft.md
Last active May 31, 2026 15:49
Raft(分散合意アルゴリズム)について
@sile
sile / main.md
Last active April 19, 2026 03:50
2025年の趣味開発環境

2025年の趣味開発環境

2025年は趣味開発環境の変化が大きかったので備忘録として残しておく。

前提:

  • 趣味開発はほぼ毎日している
  • 開発するのはコマンドラインツールやライブラリが多い
  • 言語はほぼRust
  • 開発はほぼAndroid上
@sile
sile / README.md
Last active January 18, 2026 16:22
Optunaを使ってFFmpegのエンコードパラメータを最適化してみる

概要

  • Optunaというハイパーパラメータ最適化ツールを使って、FFmpegでの動画エンコードパラメータの最適化を試してみた結果のメモ
  • 具体的には、決められた制約(後述)下で、画質(SSIM)を最大化するようなパラメータ群を自動で見つけ出すのが目的
  • 結果としては、
    • 画質的には、FFmpegが提供しているプリセットの中で二番目に重いもの(slower)より若干良い程度のパラメータ群が見つかった
    • また、Optunaが見つけたパラメータ群の方がslowerに比べて、CPU負荷が小さかった

方針

@sile
sile / 0_succ_bp.md
Last active April 23, 2025 03:15
簡潔データ構造やBalancedParenthesesの紹介資料メモ

発表資料メモ: 簡潔データ構造について

  1. 主題

  • 数千万オーダーの文字列集合(およびマップ)を如何にサイズ効率良く表現するか、の話
    • 諸事情で集合をメモリ上に保持したいことがあるが、サイズは節約したい
    • 実際にはサイズのみを追求するのではなく、諸々のトレードオフを加味しつつバランスを取る
  • 今回はそれを実現するための方法の一つである 簡潔データ構造 について説明する:
@sile
sile / ppg.md
Last active December 25, 2024 14:26
Plumtree/HyParView/ppgについて

これは何?

注意

  • 内容の質はメモ書きレベル
  • ほぼ思いつきで書いているので正しさの保証も無し
    • ここで紹介したアルゴリズムに興味を持った人は、オリジナルの論文を読むことを推奨
@sile
sile / time-clocks.md
Last active October 5, 2024 06:13
『Time, Clocks, and the Ordering of Events in a Distributed System』の要約

Time, Clocks, and the Ordering of Events in a Distributed System

http://research.microsoft.com/en-us/um/people/lamport/pubs/time-clocks.pdf の要約。

著者はレスリー・ランポート (Leslie Lamport), 1978年。

分散アルゴリズムの書籍や論文でお馴染みの、分散システムにおけるイベント群の順序や時刻の概念を説明している論文。

! が先頭についている箇所は、要約者による(いい加減な)注釈。

@sile
sile / rdbms-6.md
Last active November 9, 2023 00:43
『RDBMS解剖学』の第六章

六章 物理プランの生成

1. この章のテーマ

物理プランの生成および最適化がテーマ。

物理プラン:

  • 「SQLを解釈実行するパーツ」=> 「プランナ」=> 「物理プラン」
  • 論理プランの次のフェーズに位置する
@sile
sile / multi_process_storage.py
Last active October 29, 2023 21:55
An Optuna storage that uses multiprocessing module for inter process communication
import copy
from datetime import datetime
import multiprocessing
from optuna import distributions # NOQA
from optuna.storages import base
from optuna.storages.base import DEFAULT_STUDY_NAME_PREFIX
from optuna import structs
from optuna import type_checking
@sile
sile / README.md
Last active August 18, 2023 05:40
Optunaを使ったRocksDBのパフォーマンスチューニング

概要

  • Optunaというハイパーパラメータ最適化ツールを使って、RocksDB(組み込みDB・KVS)のパフォーマンスチューニングを試してみた際の結果メモ
    • 対象となるワークロードに対して、最適な性能を発揮するパラメータ群を自動で見つけ出すのが目的
  • 結果としては、デフォルトパラメータをそのまま使った場合に比べて、かなり良い性能が得られるパラメータ群を見つけることができた:
    • デフォルトでのベンチマークの所要時間: 372秒
    • Optunaによる最適化後のパラメータでの所要時間: 30秒

モチベーション