Tech Table Log: 同期エンジニアの雑談・勉強ログ cover art

Tech Table Log: 同期エンジニアの雑談・勉強ログ

Tech Table Log: 同期エンジニアの雑談・勉強ログ

By: Lon Shinya
Listen for free

社会人7年目の同期ソフトウェアエンジニアの二人が、お互いの近況や気になる技術トピックをゆるく雑談しながら、リスナーと一緒に学ぶPodcastです。 隔週水曜の朝に配信しています。 Shinya: PostgreSQL エンジニア (X: https://x.com/ShinyaKato_ ) Lon: ソフトウェア / 機械学習 エンジニア お便りはこちらから: https://forms.gle/n1ft3Pjdeuk4qznS6 以下のプラットフォームで配信しています。 Spotify: https://x.gd/KGYhE Apple Podcasts: https://x.gd/A6dh7 Amazon Music: https://x.gd/qwgID YouTube Music: https://x.gd/f9AeY 本Podcastでの発言は全て出演者個人の見解であり、所属する組織とは一切関係がありません。 内容は可能な範囲で精査してお届けしていますが、誤りやお気づきの点があれば、上記の Google Form などからご指摘を頂けますと幸いです。Lon, Shinya
Episodes
  • #35: PDFをAIに効率的に読ませるには?ドキュメント変換ツール Docling を紹介
    Jun 23 2026

    今回は PDF などのドキュメントを AI フレンドリーな形式に変換するツール Docling と、それがサポートする規格の一つである DocLang について紹介しました。PDF がなぜ AI にとって読みにくいのか、その課題と Doclingがどのようにレイアウト分析や VLM を活用して変換を行っているかを解説しています。


    注: エピソード内で Docling に関する technical paper が 2024年12月に出ていると言及しましたが、初版は2024年8月でした。


    リスナーコメント紹介 / PDF が AI フレンドリーでない理由 / Docling の変換パイプライン / レイアウト分析と VLM の活用 / DocLang の XML ベース形式 / 位置情報の量子化 / Claude Code での PDF 読み込み


    参考リンク

    • Docling (GitHub): https://github.com/docling-project/docling

    • DocLang (GitHub): https://github.com/doclang-project/doclang

    • LF AI & Data Projects: https://lfaidata.foundation/projects/

    • Anthropic API の PDF サポート: https://platform.claude.com/docs/en/build-with-claude/pdf-support

    Show More Show Less
    32 mins
  • #34: PostgreSQLのロック:アプリ開発の「はまりどころ」から内部実装まで(後編)
    Jun 9 2026

    PostgreSQLのロックの仕組みについて、データベース内部実装(SpinlockやLWLockなど)のディープな世界を深掘りする2回エピソードの後編です。


    今回は、DBAやデータベース開発者、並行プログラミングに関心がある方向けに、PostgreSQLの内部的な排他制御を解説します。CPUのアトミック命令であるCAS (Compare-and-Swap) を前提知識として、WAL (Write-Ahead Logging)の書き込みなどで使われ競合時にスリープする「Lightweight Lock (LWLock)」と、スリープせずにCPUを回し続けてロック獲得を待つ「Spinlock」の仕組みや用途の違いを整理します。


    さらに、Linux 7.0環境で話題になったPostgreSQLの性能劣化問題の真相に迫ります。カーネルのスケジューラ変更(プリエンプションの挙動変化)がSpinlockに与えた影響や、PostgreSQLコミッタが指摘する、Spinlockをfutexに置き換えることの構造的な難しさを紹介します。また、この性能劣化報告の根本的な原因が「Huge Pages」の未設定によるTLBミスとページテーブル探索のオーバーヘッドにあったことを挙げ、OS・CPUレベルの適切なパラメータ設定がいかに重要であるかを議論します。


    PostgreSQL内部実装 / CAS命令 (Compare-and-Swap) / Lightweight Lock (LWLock) / Spinlock / WAL書き込み / Linux 7.0性能劣化問題 / プリエンプション / futex / Huge Pages / パラメータチューニング


    参考リンク

    • ⁠PostgreSQLのロックでハマりがちな挙動5選⁠
    • ⁠AWS Engineer Reports PostgreSQL Performance Halved By Linux 7.0, But A Fix May Not Be Easy⁠
    • ⁠I really dislike the use of spinlocks in postgres
    Show More Show Less
    30 mins
  • #33: PostgreSQLのロック:アプリ開発の「はまりどころ」から内部実装まで(前編)
    May 26 2026

    PostgreSQLのロックの仕組みについて、アプリケーション開発者向けの視点から、データベース内部実装(SpinlockやLWLockなど)のディープな世界までを2回に分けて深掘りします。


    前編となる今回は、アプリケーション開発者が気を付けるべき「はまりどころ」を解説します。複数トランザクションの同時更新や本番環境でのDDL(ALTER TABLEなど)実行時など、ロックの理解が不可欠なケースを取り上げ、4種類のテーブルロックと行ロック(FOR UPDATE)の基本を整理します。


    さらに、実践的な5つのトラブルケースとその対策を紹介します。長時間のSELECTとALTER TABLEが引き起こす連鎖的なブロックや、外部キー・ユニーク制約の暗黙的ロックによるINSERT同士のデッドロックを解説します。また、例外的に自動キャンセルされない「トランザクションID周回防止バキューム」や、テーブルファイル末尾のページ切り詰め処理に潜む罠など、予期せぬサービス停止を防ぐための知識を議論します。


    PostgreSQLのロック / MVCC / テーブルロックと行ロック / FOR UPDATE / Access Exclusive / デッドロック / ALTER TABLEの連鎖ブロック / 外部キー・ユニーク制約の暗黙的ロック / トランザクションID周回防止バキューム / ページ切り詰め


    参考リンク

    • PostgreSQLのロックでハマりがちな挙動5選
    • AWS Engineer Reports PostgreSQL Performance Halved By Linux 7.0, But A Fix May Not Be Easy
    • I really dislike the use of spinlocks in postgres
    Show More Show Less
    44 mins
adbl_web_anon_alc_button_suppression_t1
No reviews yet