記事一覧
技術記事・日々の学びをまとめています。
孤児プロセスとゾンビプロセスの違い
ゾンビプロセス(defunct)と孤児プロセスの違いを解説。PIDの枯渇リスク・psコマンドによる確認手順・killの方法、親プロセスとwaitシステムコールの仕組みをDockerコンテナの文脈も交えて紹介します。
最新記事
Golang×chromedp×slack botでslackの絵文字自動生成ボットをつくってみた
Goとchromedpでcanvasのスクリーンショットを撮り、Slack APIと連携してSlack絵文字を自動生成するボットを作った話を解説します。
vscodeでgoのLanguage Serverを有効にしたらコード定義元ジャンプができなくなった
VSCodeでgoのLanguage Server(gopls)を有効にしたらコード定義元ジャンプができなくなった問題の原因と、go.modの配置を見直して解決する方法を解説します。
DBドキュメント(ER図など)を自動生成してくれるツールーschemaspy, tbls
DBドキュメント(ER図など)を自動生成するOSSツールschemaspyとtblsを試し、比較・レビューします。
PHPでUMLを自動生成してくれるツールーphUML
phUMLを使ってPHPのクラス図を自動生成する方法を解説。設計構造を可視化し、複雑なコードベースの理解に役立てます。
データ分析基盤構築入門
データ分析基盤構築入門
VPS×Docker Compose×Docker Machine×Golang×Nginx×Let's Encryptでの本番運用
「VPS×Docker Compose×Docker Machine×Golang×Nginx×Let's Encryptでの本番運用」のまとめと読書メモ。重要なポイントと実践的な知見を整理します。
ISUCON10に参加してきた
ISUCON10参加を通じて、クエリチューニング・MySQLアップグレード・インデックス設計などパフォーマンス最適化の戦略を紹介します。
アルゴリズムとデータ構造 - バブルソート
隣り合う要素を交換していく比較ベースのバブルソートを解説。O(n²)の計算量と、Goでの実装を紹介します。
アルゴリズムとデータ構造 - ヒープソート
二分ヒープ木を使ってO(n log n)でソートするヒープソートを解説。ヒープの構築、ルートの取り出し、Goでの実装を紹介します。
アルゴリズムとデータ構造 - 挿入ソート
配列をソート済みと未ソートに分け、1要素ずつ並べていく挿入ソートを解説。O(n²)の計算量とGoでの実装を紹介します。
アルゴリズムとデータ構造 - マージソート
分割統治法によるマージソートを解説。最悪O(n log n)の計算量、再帰的な分割とマージの手順、Goでの実装を紹介します。
アルゴリズムとデータ構造 - クイックソート
クイックソートを解説。平均O(n log n)・最悪O(n²)の計算量、ピボット選択、low/highへの分割、ランダム化したGo実装を紹介します。
アルゴリズムとデータ構造 - 選択ソート
最小要素を繰り返し探して所定の位置に入れ替える選択ソートを解説。O(n²)の計算量とGoでの実装を紹介します。
GolangでgoblinというURLルーターを自作した
Goでトライ木を使い、パスパラメータや正規表現マッチングに対応した高性能URLルーター「goblin」を自作した話を解説します。
二分探索木(BST)とは|計算量とGoでの実装
二分探索木(BST)を解説。平均O(log n)の探索・挿入、DFS(先行順・中間順・後行順)とBFSによる走査を、GoでのBST実装例とともに紹介します。
アルゴリズムとデータ構造 - ヒープ
優先度付きキューを実現するmin-heap/max-heapの仕組みを解説。O(log n)の挿入・削除と、Goでのヒープ実装を紹介します。
2019年の振り返りと来年の抱負
2019年の振り返りと来年の抱負。個人的な振り返りとハイライトをまとめます。
URLルーティング自作入門 エピソード2
URLルーティングをトライ木で実装、パスマッチング処理とHTTPメソッドに対応した動的ルーティング構造を図解・実装
URLルーティング自作入門 エピソード1
URLルーティング自作の敷居と応用範囲、木構造アルゴリズムとWeb側フレームワークの参考実装を探索するモチベーション