<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>NineKoo9's story</title><link>https://NineKoo9.github.io/ja/</link><description>Recent content on NineKoo9's story</description><generator>Hugo -- gohugo.io</generator><language>ja</language><copyright>© 2026 NineKoo9</copyright><lastBuildDate>Sat, 18 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://NineKoo9.github.io/ja/index.xml" rel="self" type="application/rss+xml"/><item><title>なぜNoSQLとElasticsearchは特定のワークロードで有利なのか？ LSMツリーとI/Oまで</title><link>https://NineKoo9.github.io/ja/posts/nosql-elasticsearch-deep-dive/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/nosql-elasticsearch-deep-dive/</guid><description>NoSQLが常に速いわけではないという前提から出発し、LSMツリーの書き込みパス、Elasticsearchの転置インデックスとセグメント、MySQL全文検索との違い、HDD・SSD I/Oパターンまで元の構造を維持して整理します。</description></item><item><title>[Network] L4 vs L7ロードバランシングまとめ - ALB/NLB、Logstash、Elasticsearch</title><link>https://NineKoo9.github.io/ja/posts/l4-vs-l7-load-balancing/</link><pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/l4-vs-l7-load-balancing/</guid><description>L4とL7の基準の違いだけでなく、TLS終端がなぜ絶対的な区分線でないのか、LogstashとElasticsearchの手前ではなぜ通常L4またはシンプルな分散が多く使われるのかを整理します。</description></item><item><title>IP、MAC、ARP、TCP/UDP、NAT/PATは実際の通信でどのようにつながるか？</title><link>https://NineKoo9.github.io/ja/posts/network-fundamentals-arp-tcp-udp-nat/</link><pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/network-fundamentals-arp-tcp-udp-nat/</guid><description>IPとMACの役割の違い、ARP動作、TCP接続の確立と終了、UDPの特性、NAT/PATのポート変換概念を公式ドキュメント基準で保守的に整理します。</description></item><item><title>[MySQL] 同時実行制御まとめ — MVCC、2PL、Locking Read、Next-Key Lock</title><link>https://NineKoo9.github.io/ja/posts/mysql-mvcc-2pl/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/mysql-mvcc-2pl/</guid><description>InnoDBで通常のSELECTとlocking readがどのように異なる動作をするか、REPEATABLE READとREAD COMMITTEDの違い、phantomとnext-key lock、undo/redoの役割を一度に整理します。</description></item><item><title>GCP Docker デプロイ &amp; 運用ガイド</title><link>https://NineKoo9.github.io/ja/posts/gcp-deployment-guide/</link><pubDate>Tue, 31 Mar 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/gcp-deployment-guide/</guid><description>GCP VMにDocker ComposeでバックエンドとフロントエンドとDBとNginxをデプロイし、HTTPSを適用する実践ガイド</description></item><item><title>[MySQL] データベース学習まとめ — セッション、インデックス、ロック、MVCC</title><link>https://NineKoo9.github.io/ja/posts/mysql-database-session-summary/</link><pubDate>Fri, 27 Mar 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/mysql-database-session-summary/</guid><description>クラスタードインデックス、セカンダリインデックス、undo/redo、REPEATABLE READ、READ COMMITTED、MyISAM との違い、wait_timeout、DBセッションとコネクションプールまで一度に網羅するMySQL整理ノートです。</description></item><item><title>[RDBMS] JOINのドライビングテーブルとドリブンテーブル整理</title><link>https://NineKoo9.github.io/ja/posts/rdbms-join-driving-driven-table/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/rdbms-join-driving-driven-table/</guid><description>ドライビングテーブルとドリブンテーブルの概念が特にNested Loop Joinでなぜ重要なのか、EXPLAINでどう読むかとDBMS別の制御方法をまとめます。</description></item><item><title>なぜSpringのシングルトンBeanはステートレスでなければならないのか？ スレッド、Entity、@Configurationまで</title><link>https://NineKoo9.github.io/ja/posts/spring-singleton-thread-safety/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/spring-singleton-thread-safety/</guid><description>Springシングルトン Beanのステートレス設計、ローカル変数とスレッド安全性、EntityとPersistence Context、@ConfigurationのCGLIB動作を一度に整理します。</description></item><item><title>[OOP] オブジェクト指向設計：メッセージパッシングと役割・責任</title><link>https://NineKoo9.github.io/ja/posts/oop-message-passing/</link><pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/oop-message-passing/</guid><description>お客さんとバリスタの例を通して、誰が要求を始めるのか、なぜメソッド名が受信オブジェクトの責任を基準に決まるのか、なぜ具体型への依存が結合度を高めやすいのかをまとめます。</description></item><item><title>仮想アドレスはどのように物理アドレスになるのか？ MMU、TLB、ページテーブル、page fault</title><link>https://NineKoo9.github.io/ja/posts/memory-management-study/</link><pubDate>Tue, 03 Mar 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/memory-management-study/</guid><description>MMUとTLBの関係、階層型ページテーブルが必要な理由、context switchとTLBの無効化、page faultとOSメモリ管理者の役割を一度に整理します。</description></item><item><title>[Network] HTTP、gRPC、多重化の整理 — ステートレス性、HTTP/2、Java NIO</title><link>https://NineKoo9.github.io/ja/posts/http-grpc-multiplexing/</link><pubDate>Wed, 25 Feb 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/http-grpc-multiplexing/</guid><description>HTTPのステートレス性と接続の再利用がどう違うのか、gRPCがなぜHTTP/2を使うのか、HTTP/2の多重化とJava NIO I/O多重化は何が違うのかを一度に整理します。</description></item><item><title>[Java] Javaはなぜ一度コンパイルすれば複数のOSで実行できるのか？ JVM、GC、JIT、JDK/JRE</title><link>https://NineKoo9.github.io/ja/posts/jvm-complete-guide/</link><pubDate>Thu, 19 Feb 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/jvm-complete-guide/</guid><description>Javaがなぜプラットフォーム独立性を得るのか、Python/Cとは何が違うのか、現代JVMにおけるGCとJIT、JDK/JREのインストールの概念を一度に整理します。</description></item><item><title>Singleton、そのまま実装したらいけないの？</title><link>https://NineKoo9.github.io/ja/posts/java-singleton-patterns/</link><pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/java-singleton-patterns/</guid><description>マルチスレッド環境でSingletonがなぜ壊れてしまうのか、Holderパターンがなぜ安全なのか、enumとSpring singletonをどこまで同じ概念として捉えるべきかを整理します。</description></item><item><title>[JPA] 永続性コンテキストとキャッシュ — Auto Scaling環境でデータ整合性は大丈夫か？</title><link>https://NineKoo9.github.io/ja/posts/jpa-cache-autoscaling-consistency/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/jpa-cache-autoscaling-consistency/</guid><description>Auto Scalingでサーバーが複数台のときにJPAの永続性コンテキストと2次キャッシュがデータ整合性を崩すのか、各キャッシュのスコープと解決方法をコード例と一緒に整理します。</description></item><item><title>[MySQL] InnoDBではテーブルは本当にファイル1つに保存されるのか？Tablespace、Segment、Extent、Page、Row</title><link>https://NineKoo9.github.io/ja/posts/mysql-innodb-storage-structure/</link><pubDate>Sat, 07 Feb 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/mysql-innodb-storage-structure/</guid><description>InnoDBでテーブルがディスクにどのように保存されるか — File、Segment、Extent、Page、Row各階層の役割とサイズを整理します。</description></item><item><title>[Network] TCP接続はどのように維持されるのか — TCP Keepalive、HTTP Keepalive、HikariCP</title><link>https://NineKoo9.github.io/ja/posts/tcp-connection-keepalive/</link><pubDate>Sun, 01 Feb 2026 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/tcp-connection-keepalive/</guid><description>TCP接続はなぜ切れないのか、HikariCPはvalidation queryなしでなぜ30分間持つのか、Nginx/LBのKeepaliveとは何が違うのかを整理します。</description></item><item><title>Linux 入門者のための核心ガイド</title><link>https://NineKoo9.github.io/ja/posts/linux-practice/</link><pubDate>Fri, 31 Oct 2025 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/linux-practice/</guid><description>Linuxファイルシステム、ターミナルコマンド、権限、プロセス、ネットワーク、SSHまで核心をまとめた入門ガイドです。</description></item><item><title>JDBC基礎とトランザクション管理</title><link>https://NineKoo9.github.io/ja/posts/jdbc-transaction/</link><pubDate>Sat, 12 Apr 2025 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/jdbc-transaction/</guid><description>JDBC APIの概要、DataSource設定、JdbcTemplateの使い方、@Transactionalによるトランザクション管理と伝播属性まで整理します。</description></item><item><title>VUser 300人、Tomcat Thread 60個 — 残り240個のリクエストはどこへ行ったのか？</title><link>https://NineKoo9.github.io/ja/posts/tomcat-nio-connector-vuser-thread-mystery/</link><pubDate>Tue, 18 Feb 2025 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/tomcat-nio-connector-vuser-thread-mystery/</guid><description>Tomcat NIO ConnectorのAcceptor-Poller-Worker構造を分析して、60個のスレッドで300人の同時リクエストを処理する原理を説明します。</description></item><item><title>Spring Boot Tomcatのthreads.maxとHikariCPのmaximum-pool-sizeをデフォルトで設定すると現れる現象</title><link>https://NineKoo9.github.io/ja/posts/tomcat-thread-hikaricp-pool-tuning/</link><pubDate>Wed, 08 Jan 2025 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/tomcat-thread-hikaricp-pool-tuning/</guid><description>Tomcatスレッド200個とHikariCPコネクション10個のデフォルト設定がパフォーマンスのボトルネックになる原因を分析し、最適な設定を見つけたプロセスをまとめます。</description></item><item><title>Grafanaダッシュボードのデータ欠落（断線？）現象</title><link>https://NineKoo9.github.io/ja/posts/grafana-dashboard-missing-data/</link><pubDate>Sun, 05 Jan 2025 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/grafana-dashboard-missing-data/</guid><description>負荷テスト中にGrafanaダッシュボードでデータが欠落する現象の原因と解決方法をまとめます。</description></item><item><title>MySQL全文検索の限界、Elasticsearchの導入で検索API性能を改善する</title><link>https://NineKoo9.github.io/ja/posts/mysql-fulltext-to-elasticsearch-performance/</link><pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/mysql-fulltext-to-elasticsearch-performance/</guid><description>MySQL FullText Searchの限界を分析し、Elasticsearchを導入して検索API性能を改善した過程をまとめます。</description></item><item><title>[MySQL] Left JoinをSubqueryに変更してクエリ性能を30倍向上させる</title><link>https://NineKoo9.github.io/ja/posts/mysql-left-join-to-subquery-optimization/</link><pubDate>Thu, 31 Oct 2024 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/mysql-left-join-to-subquery-optimization/</guid><description>MySQL全文検索APIの応答時間を6.85秒から84msへ、Left JoinをSubqueryに変更することで約30倍向上させた過程をまとめます。</description></item><item><title>NCP（Naver Cloud Platform）を使ったインフラ構成 第2編. JenkinsとSourceDeployを使ったCI/CDとゼロダウンタイムデプロイの構成</title><link>https://NineKoo9.github.io/ja/posts/ncp-infra-jenkins-cicd-sourcedeploy/</link><pubDate>Wed, 23 Oct 2024 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/ncp-infra-jenkins-cicd-sourcedeploy/</guid><description>NCPでJenkinsサーバーを構築し、SourceDeployと連携してCI/CDパイプラインとゼロダウンタイムデプロイを構成する方法をまとめます。</description></item><item><title>NCP（Naver Cloud Platform）を使ったインフラ構築 第1回. Auto ScalingとLoad Balancerの構成</title><link>https://NineKoo9.github.io/ja/posts/ncp-infra-auto-scaling-load-balancer/</link><pubDate>Wed, 25 Sep 2024 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/ncp-infra-auto-scaling-load-balancer/</guid><description>NCPでAuto ScalingとLoad Balancerを構成して、CI/CDと無停止デプロイのインフラを構築するプロセスをまとめます。</description></item><item><title>[H2 Database] JSONカラムに対するConverterエラーの状況</title><link>https://NineKoo9.github.io/ja/posts/h2-json-column-converter-error/</link><pubDate>Wed, 21 Aug 2024 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/h2-json-column-converter-error/</guid><description>H2とMySQLのJSONタイプのマッピング差異（byte[] vs String）によるConverterエラーの原因と解決方法をまとめます。</description></item><item><title>[Spring] アプリケーションの原子性とトランザクションの原子性は異なる（Feat. @Transactional）</title><link>https://NineKoo9.github.io/ja/posts/spring-transactional-atomicity/</link><pubDate>Thu, 01 Aug 2024 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/spring-transactional-atomicity/</guid><description>アプリケーションレベルの原子性とDBトランザクションの原子性の違いを@Transactionalを通じて分析し、同時実行問題の解決方法を解説します。</description></item><item><title>[JPA] @OneToOneに遅延ローディングを適用したのに、なぜ遅延ローディングが機能せず即時ローディングになるのか？</title><link>https://NineKoo9.github.io/ja/posts/jpa-onetoone-lazy-loading-issue/</link><pubDate>Tue, 23 Jul 2024 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/jpa-onetoone-lazy-loading-issue/</guid><description>JPA @OneToOne関係で遅延ローディングが動作せず即時ローディングされる原因を、プロキシメカニズムを通じて分析します。</description></item><item><title>[Spring] DTOとEntityに@Getter、@Setter、@RequiredArgsConstructor、@NoArgsConstructorをどれを使えばいいのか？</title><link>https://NineKoo9.github.io/ja/posts/lombok-annotations-dto-entity/</link><pubDate>Thu, 02 May 2024 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/lombok-annotations-dto-entity/</guid><description>DTOとEntityの役割の違いに応じて、Lombokアノテーション（@Getter、@Setter、@NoArgsConstructor、@RequiredArgsConstructor）をどう選ぶべきか、コード例と一緒にまとめます。</description></item><item><title>macOSでMySQLを起動するときの`brew services`と`mysql.server`の違い</title><link>https://NineKoo9.github.io/ja/posts/mysql-mac-commands/</link><pubDate>Sun, 18 Feb 2024 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/mysql-mac-commands/</guid><description>macOSでMySQLを起動するときに&lt;code&gt;brew services&lt;/code&gt;と&lt;code&gt;mysql.server&lt;/code&gt;がどう違うのか、どんな状況でどちらを使えばいいかをまとめます。</description></item><item><title>Gradleとは何か？役割を整理する</title><link>https://NineKoo9.github.io/ja/posts/gradle-explained/</link><pubDate>Sun, 03 Dec 2023 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/gradle-explained/</guid><description>プロジェクトのセットアップ中に混乱したGradleの役割と、Spring BootやQueryDSLの設定でGradleのバージョンを一緒に確認しなければならない理由を整理します。</description></item><item><title>IntelliJのショートカットまとめ（macOS基準）</title><link>https://NineKoo9.github.io/ja/posts/intellij-shortcuts/</link><pubDate>Thu, 02 Nov 2023 00:00:00 +0000</pubDate><guid>https://NineKoo9.github.io/ja/posts/intellij-shortcuts/</guid><description>macOS基準のIntelliJ IDEA必須ショートカットキー集 — ナビゲーション、編集、リファクタリング、検索、テスト、Live Templateまで一目で整理</description></item></channel></rss>