記事一覧
技術記事・日々の学びをまとめています。
データベースインデックスとは?仕組みと必要なタイミング
データベースのインデックスとは何かについて解説する記事です。テーブルのレコードを高速に取り出すための仕組みであるインデックスを、B-Treeやハッシュインデックスの内部構造、効果的に使える場面、そして作り過ぎることのデメリットといった観点から、具体例を交えて紹介します。
最新記事
キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置
『キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置』の書評。古い本ながら、キャパシティプランニングの基本的な考え方を学べる一冊。オンプレミス前提ではあるものの、サイトの分析・予測・配置の考え方はクラウドにも転用できる部分が多い。
キャパシティプランニングについて
キャパシティプランニングを解説。パフォーマンス要件定義、インフラ稼働状況計測、将来予測、安全率設定でリソース効率化とSLA達成を実現する実務手法を紹介します。
DB設計のID設計:UUID vs 連番 vs ULID の選び方
DB 設計における ID の選び方を解説。UUID・連番(AUTO_INCREMENT)・ULID それぞれのトレードオフとユースケースを比較します。
DB設計におけるNULL:よくある落とし穴とベストプラクティス
DB設計におけるNULLの扱い方を解説する記事です。NULLとは「値が存在しない」または「値が不明」であることを示すもので、通常の値のようには比較できません。三値論理による落とし穴やリレーショナルモデルとの関係をふまえ、NULLを使う場面・避けるべき場面とベストプラクティスをまとめます。
パスワード付きPDFの解除をするワンライナー
コマンドラインツールのQPDFを使って、パスワードで保護されたPDFの制限を安全に解除する方法を紹介する記事です。brewでQPDFをインストールし、qpdf --decryptコマンドで対象のPDFからパスワードによる制限を外す、シンプルなワンライナーの手順を解説します。
Kubernetesのコンポーネント解説:Pod・Node・コントロールプレーン
Kubernetes の各コンポーネントを解説。Pod・Node・コントロールプレーン(API Server / etcd / Scheduler / Controller Manager)の役割を学べます。
ジョブ理論
『ジョブ理論 イノベーションを予測可能にする消費のメカニズム』の書評。顧客は製品そのものではなく「片付けたいジョブ(課題)」のために消費する、という視点から消費のメカニズムを説く一冊。ユーザーが本当に解決したい課題は何かに向き合うとき、頭に思い浮かべたい理論。
Cloud Spannerの知見メモ|設計・運用のポイント
Cloud Spannerについて調べた知見をまとめたメモです。ノードやスプリット、レプリケーションといった仕組みや、計画メンテナンス時のダウンタイムがなく高い可用性を持つといった特徴から、ホットスポット対策やインデックス最適化まで、実装・検証を通して得た走り書きの知見を整理します。
NGINXのバッファ系ディレクティブ解説:プロキシパフォーマンスの最適化
NGINX のリバースプロキシ用バッファ系ディレクティブを解説。proxy_buffering・proxy_buffer_size などの設定がパフォーマンスに与える影響を学べます。
SaaSのアーキテクチャについて知るためのリスト
「SaaSなんもわからん!」から「SaaS完全に理解した!」に近づくために、参考になりそうな資料をまとめた記事です。AWSの『SaaSアーキテクチャの基礎』をはじめ、SaaSのアーキテクチャや設計を学ぶうえで役立つドキュメントやリンクを整理して紹介します。
実務で使える メール技術の教科書 基本のしくみからプロトコル・サーバー構築・送信ドメイン認証・添付ファイル・暗号化・セキュリティ対策まで
『実務で使える メール技術の教科書』の書評。メールの基本のしくみからプロトコル、サーバー構築、送信ドメイン認証、暗号化、セキュリティ対策までを体系立てて解説する一冊。メール技術を一通りキャッチアップするのに役立つ。
Goのrune型について
rune型がint32のエイリアスでUnicodeコードポイントを表現することを解説し、string型とのループ挙動の違いやマルチバイト文字処理を詳述。
Goでオレオレ証明書がほしいときの一手
Go標準のgenerate_cert.goを使い、opensslやmkcertなしでローカルHTTPS用の自己署名証明書(cert.pem/key.pem)をワンコマンドで生成する方法を解説します。
Goで指数バックオフとジッターを実装する|リトライ設計
指数バックオフとジッターを組み合わせたリトライ実装をGoで実装し、Full・Equal・Decorrelated Jitterの3種類のアルゴリズムを比較。
入門 考える技術・書く技術――日本人のロジカルシンキング実践法
『入門 考える技術・書く技術――日本人のロジカルシンキング実践法』の書評。論理的に考え、伝えるための技術を、日本語の文章に即して解説する入門書。ロジカルシンキングやクリティカルシンキングの基礎を、実践しやすい形で身につけられる。
FuelPHPとPHPのアップデートプロジェクトレポート
FuelPHPアプリケーションをPHP7.3から8.1へアップデートした実践記録。モノリス構成での進め方と互換性チェックツールの活用を解説します。
Go1.22rcで変更されるServeMuxの仕様
Go1.22のServeMuxで導入されたHTTPメソッド指定・パスパラメータ・{$}ワイルドカードなどのルーティング拡張仕様を実装例で検証。
gRPCとProtocol Buffersについて復習するためのリンク集
gRPCとProtocol Buffersを、ロードバランシングやKubernetesデプロイ、ベストプラクティスの観点から復習するためのリンク集を紹介します。
モブプログラミングについて
モブプログラミングを人生で初めて経験し、その良さを忘れないように書き留めたメモです。3人以上のメンバーで1台のコンピューターを共有して開発するこの手法について、コードを書くドライバーと支えるナビゲーターの役割分担や、VS CodeのLive Share、チームの学習効果などを解説します。