<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Glossvation Engineering</title><description>クラウドからエッジのIoT機器、それらを貫くセキュリティまで。Glossvation がプロダクト開発で本番運用してきた実装知を公開する技術ブログ。</description><link>https://tech.glossvation.com/</link><language>ja-jp</language><item><title>CI で脆弱性・ライセンスを自動検出する — OSV / コンテナ Scan / License Scan</title><link>https://tech.glossvation.com/posts/ci-security-scan/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/ci-security-scan/</guid><description>ソフトウェアサプライチェーンセキュリティを CI に組み込む実務指針。OSV 脆弱性データベース、コンテナイメージスキャン (Trivy / Grype)、ライセンススキャン、SBOM 生成までを GitHub Actions の例で整理。</description><pubDate>Mon, 09 Nov 2026 00:00:00 GMT</pubDate><category>security</category><category>セキュリティ</category><category>CI</category><category>SBOM</category><category>OSV</category><category>Trivy</category><category>ライセンス</category></item><item><title>エッジ ⇔ クラウドの通信方式を選ぶ — MQTT / gRPC / WebSocket / mTLS</title><link>https://tech.glossvation.com/posts/edge-communication-protocols/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/edge-communication-protocols/</guid><description>NAT 配下のエッジデバイスからクラウドへ安全・双方向に通信する方式を比較。Outbound long-lived gRPC bidi stream、MQTT、WebSocket、mTLS 認証、Agent パターンの選定基準と運用ポイント。</description><pubDate>Mon, 09 Nov 2026 00:00:00 GMT</pubDate><category>iot-edge</category><category>MQTT</category><category>gRPC</category><category>WebSocket</category><category>mTLS</category><category>エッジ</category><category>通信</category></item><item><title>RealSense 複数カメラの ICP + FPFH キャリブレーション — ボード不要で現場展開</title><link>https://tech.glossvation.com/posts/realsense-icp-calibration/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/realsense-icp-calibration/</guid><description>複数の深度カメラの座標系を点群ベースで統一する ICP キャリブレーションの実装メモ。FPFH による初期対応付け、PCL (C++) でのパイプライン、精度特性と誤差累積の実測値。</description><pubDate>Mon, 09 Nov 2026 00:00:00 GMT</pubDate><category>iot-edge</category><category>RealSense</category><category>ICP</category><category>FPFH</category><category>点群</category><category>PCL</category><category>C++</category></item><item><title>GCP Data Catalog の役割と使いどころ — データガバナンスを支えるメタデータ基盤</title><link>https://tech.glossvation.com/posts/gcp-data-catalog/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/gcp-data-catalog/</guid><description>Google Cloud の Data Catalog を実運用目線で整理。メタデータ自動取り込み、タグテンプレート、Policy Tag による列レベル IAM、乗り換え先 Dataplex Catalog の位置づけまで。</description><pubDate>Tue, 16 Jan 2024 00:00:00 GMT</pubDate><category>cloud</category><category>Google Cloud</category><category>Data Catalog</category><category>Dataplex</category><category>データガバナンス</category></item><item><title>Looker (Google Cloud) の設計思想 — LookML で BI を「コード化」する</title><link>https://tech.glossvation.com/posts/gcp-looker/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/gcp-looker/</guid><description>Looker のモデル定義言語 LookML を中心に、他 BI ツールとの思想差、組織運用での使い所と落とし穴、Looker Studio との棲み分けまで。</description><pubDate>Sat, 13 Jan 2024 00:00:00 GMT</pubDate><category>cloud</category><category>Google Cloud</category><category>Looker</category><category>BI</category><category>LookML</category></item><item><title>Java パフォーマンスチューニングの実務ノート — JVM / コレクション / GC</title><link>https://tech.glossvation.com/posts/java-performance-tuning/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/java-performance-tuning/</guid><description>プリミティブ型・不変オブジェクト・コレクション選択・ストリーム vs for ループ・GC チューニングまで、現場で効くチューニングの型。計測してからチューニングする原則を軸に。</description><pubDate>Fri, 12 Jan 2024 00:00:00 GMT</pubDate><category>web-mobile</category><category>Java</category><category>JVM</category><category>パフォーマンス</category></item><item><title>traceroute の仕組みと実務での読み方 — どこで詰まっているか見抜く</title><link>https://tech.glossvation.com/posts/traceroute/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/traceroute/</guid><description>ICMP/UDP/TCP の違い、TTL と ICMP Time Exceeded の仕組み、* * * の意味、mtr との使い分け、クラウド・コンテナ環境でのトラブル判断まで。</description><pubDate>Wed, 10 Jan 2024 00:00:00 GMT</pubDate><category>cloud</category><category>Linux</category><category>Network</category><category>トラブルシュート</category></item><item><title>Azure OpenAI Service の採用判断 — OpenAI API との違い・企業導入のポイント</title><link>https://tech.glossvation.com/posts/azure-openai/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/azure-openai/</guid><description>Azure OpenAI Service と本家 OpenAI API の違い、エンタープライズ要件 (データ所在地・SLA・プライベートリンク)、Responsible AI フィルター、料金の読み方まで。</description><pubDate>Fri, 22 Dec 2023 00:00:00 GMT</pubDate><category>ai</category><category>Azure</category><category>OpenAI</category><category>LLM</category><category>AI</category></item><item><title>Amazon Rekognition で画像・動画解析 — 顔認識 / ラベル検出 / コンテンツ安全性</title><link>https://tech.glossvation.com/posts/aws-rekognition/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/aws-rekognition/</guid><description>AWS の AI 画像解析サービス Rekognition の主要機能と料金感、Google Vision / Azure Computer Vision との比較、日本向け精度の実務感、LLM ベースの画像理解との棲み分け。</description><pubDate>Sat, 16 Dec 2023 00:00:00 GMT</pubDate><category>ai</category><category>AWS</category><category>Rekognition</category><category>AI</category><category>画像解析</category></item><item><title>Vertex AI で生成 AI を本番化する — Gemini / Model Garden / Agent Builder</title><link>https://tech.glossvation.com/posts/gcp-vertex-ai/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/gcp-vertex-ai/</guid><description>Google Cloud の Vertex AI による生成 AI 実装。Gemini 系モデル、Model Garden のサードパーティ提供、RAG 構成 (Vertex AI Search)、Agent Builder でのツール連携、料金の考え方。</description><pubDate>Sun, 10 Dec 2023 00:00:00 GMT</pubDate><category>ai</category><category>Google Cloud</category><category>Vertex AI</category><category>Gemini</category><category>LLM</category><category>AI</category></item><item><title>Agora SDK でリアルタイム通信を組む — WebRTC 代替としての実務選択</title><link>https://tech.glossvation.com/posts/agora-sdk/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/agora-sdk/</guid><description>Agora SDK (ビデオ / 音声 / チャット) の基本機能、WebRTC スクラッチ実装・Twilio・Daily.co・LiveKit との比較、品質 (QoS) やセキュリティ設計、日本向けの注意点。</description><pubDate>Fri, 29 Sep 2023 00:00:00 GMT</pubDate><category>web-mobile</category><category>Agora</category><category>WebRTC</category><category>リアルタイム通信</category><category>SDK</category></item><item><title>Spark on Kubernetes の採用判断 — YARN / EMR との棲み分けと運用設計</title><link>https://tech.glossvation.com/posts/spark-on-k8s/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/spark-on-k8s/</guid><description>Spark を Kubernetes で実行するときの構成要素 (Spark Operator / spark-submit)、既存の YARN / EMR との違い、リソース管理・ログ・メトリクスの運用設計、避けるべき罠。</description><pubDate>Thu, 21 Sep 2023 00:00:00 GMT</pubDate><category>cloud</category><category>Spark</category><category>Kubernetes</category><category>データ処理</category></item><item><title>SOAP / REST / gRPC の選び方 — 内部通信とエッジ API で違う</title><link>https://tech.glossvation.com/posts/soap-rest-grpc/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/soap-rest-grpc/</guid><description>3 つの API プロトコルの歴史的背景、通信の重さ、スキーマ定義、エコシステム、適材適所。社内マイクロサービス間と外部公開 API での選定基準を整理。</description><pubDate>Tue, 11 Jul 2023 00:00:00 GMT</pubDate><category>web-mobile</category><category>REST</category><category>gRPC</category><category>SOAP</category><category>API 設計</category></item><item><title>Concourse on Kubernetes 検証メモ — Helm 導入と本番運用で考えること</title><link>https://tech.glossvation.com/posts/concourse-on-kubernetes/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/concourse-on-kubernetes/</guid><description>Concourse を Kubernetes 上にデプロイする構成メモ。Helm チャートでの立ち上げ手順、Worker ノードを DaemonSet で配置する設計、本番運用での留意点と 2024 年の現実解。</description><pubDate>Wed, 04 Jul 2018 00:00:00 GMT</pubDate><category>cloud</category><category>Concourse</category><category>Kubernetes</category><category>CI/CD</category></item><item><title>Spring Boot × Concourse CI/CD 実装 — PR テスト + Docker Push パイプライン</title><link>https://tech.glossvation.com/posts/spring-boot-concourse/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/spring-boot-concourse/</guid><description>Spring Boot アプリを Concourse でビルドする最小実装。Pull Request トリガーの Unit テストと、master へのマージで Docker Registry Push を行う YAML を丸ごと解説。</description><pubDate>Thu, 04 Jan 2018 00:00:00 GMT</pubDate><category>cloud</category><category>Spring Boot</category><category>Concourse</category><category>CI/CD</category><category>Docker</category></item><item><title>Concourse CI アーキテクチャ解剖 — ATC / TSA / Worker はどう連携するか</title><link>https://tech.glossvation.com/posts/concourse-architecture/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/concourse-architecture/</guid><description>Concourse の内部コンポーネント (ATC / TSA / Worker / Garden / Baggageclaim / PostgreSQL) の役割と通信フロー。YAML 駆動 + Docker Job の設計思想、2024 時点の立ち位置も含めて整理。</description><pubDate>Wed, 20 Dec 2017 00:00:00 GMT</pubDate><category>cloud</category><category>Concourse</category><category>CI/CD</category><category>Docker</category></item><item><title>Cassandra マルチノードクラスタ構築手順 — Seed / Snitch / DC 設計の勘所</title><link>https://tech.glossvation.com/posts/cassandra-cluster/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/cassandra-cluster/</guid><description>シングルノードから Cassandra マルチノードクラスタへ拡張する手順。GossipingPropertyFileSnitch への切り替え、Seed ノードの意味、起動順、nodetool status の読み方まで本番運用を想定した設計指針つき。</description><pubDate>Wed, 13 Dec 2017 00:00:00 GMT</pubDate><category>cloud</category><category>Cassandra</category><category>クラスタ</category><category>分散システム</category></item><item><title>Cassandra シングルノード構築手順 — 検証環境を最短で立てる</title><link>https://tech.glossvation.com/posts/cassandra-single/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/cassandra-single/</guid><description>Cassandra 3.x/4.x の 1 ノード検証環境をゼロから。cassandra.yaml の listen_address / rpc_address / snitch の意味、起動確認と nodetool status の見方まで。</description><pubDate>Tue, 12 Dec 2017 00:00:00 GMT</pubDate><category>cloud</category><category>Cassandra</category><category>セットアップ</category><category>検証</category></item><item><title>Cassandra 一貫性レベルの選び方 — ONE から ALL まで、現場で何を使うか</title><link>https://tech.glossvation.com/posts/cassandra-consistency/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/cassandra-consistency/</guid><description>Cassandra の Tunable Consistency を Read/Write 別に整理。QUORUM の数式、R+W&gt;RF の原則、マルチ DC での LOCAL_QUORUM 推奨、トレードオフの実例つき。</description><pubDate>Mon, 11 Dec 2017 00:00:00 GMT</pubDate><category>cloud</category><category>Cassandra</category><category>一貫性</category><category>分散システム</category></item><item><title>Cassandra 読み書きの内部フロー — MemTable / SSTable / Compaction を追う</title><link>https://tech.glossvation.com/posts/cassandra-data-flow-architecture/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/cassandra-data-flow-architecture/</guid><description>Cassandra の Read と Write がどのメモリ・ディスク構造を通るのかをステップで解剖。Bloom Filter・Partition Index・Row Cache・Tombstone・Compaction 戦略の使い分けまで。</description><pubDate>Mon, 11 Dec 2017 00:00:00 GMT</pubDate><category>cloud</category><category>Cassandra</category><category>NoSQL</category><category>分散システム</category></item><item><title>Cassandra データモデル入門 — AP 選択の帰結としてのマスターレス分散 DB</title><link>https://tech.glossvation.com/posts/cassandra-data-structure-architecture/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/cassandra-data-structure-architecture/</guid><description>CAP 定理で AP を選んだ結果としての Cassandra アーキテクチャ。マスターレスのゴシップ通信、パーティション分散、レプリケーション戦略、ACID ではなく AID という表現までを RDBMS 比較で整理。</description><pubDate>Sun, 10 Dec 2017 00:00:00 GMT</pubDate><category>cloud</category><category>Cassandra</category><category>NoSQL</category><category>分散システム</category></item><item><title>Spring Bean ライフサイクル — スコープ・初期化順・落とし穴</title><link>https://tech.glossvation.com/posts/spring-bean/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/spring-bean/</guid><description>BeanDefinition のロードから @PostConstruct まで、Spring Bean がどの順序で生成されるかを 7 ステップで整理。Singleton/Prototype/Request/Session スコープの違いと実務的な使い分けも。</description><pubDate>Thu, 07 Dec 2017 00:00:00 GMT</pubDate><category>web-mobile</category><category>Java</category><category>Spring</category><category>DI</category></item><item><title>Spring Security 認証処理フロー解剖 — PreAuth / UserDetails / PreAuthorize の呼ばれ方</title><link>https://tech.glossvation.com/posts/spring-security/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/spring-security/</guid><description>リクエストがどのフィルタを通り、どこでユーザー情報が解決され、どこで @PreAuthorize が効くのか。Spring Security の認証フローを図解しつつ、2024 年版 SecurityFilterChain への移行まで触れる。</description><pubDate>Wed, 20 Sep 2017 00:00:00 GMT</pubDate><category>security</category><category>Java</category><category>Spring Security</category><category>認証</category><category>認可</category></item><item><title>二分木 (Binary Tree) を Java で自作する — BST / 走査 / バランス崩れの実例</title><link>https://tech.glossvation.com/posts/binary_tree/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/binary_tree/</guid><description>二分木、特に二分探索木 (BST) を Generics で実装。挿入・探索・削除の計算量、3 種類の走査、偏った木がなぜ遅くなるかとその対策 (AVL / Red-Black Tree) まで。</description><pubDate>Sun, 30 Jul 2017 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>データ構造</category><category>アルゴリズム</category></item><item><title>連結リストを Java で自作する — 計算量・ArrayList との境界・現場での使いどころ</title><link>https://tech.glossvation.com/posts/linked_list/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/linked_list/</guid><description>連結リストを Generics で自前実装しつつ、ArrayList との計算量・メモリ・キャッシュ効率の比較、現代の Java でこの構造を選ぶ数少ない場面を整理する。</description><pubDate>Thu, 27 Jul 2017 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>データ構造</category><category>アルゴリズム</category></item><item><title>Spring AOP 実装パターン — トランザクション・ログ・権限を本流から剥がす</title><link>https://tech.glossvation.com/posts/aspect-oriented-programming/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/aspect-oriented-programming/</guid><description>横断的関心事 (クロスカッティングコンサーン) を綺麗に分離する Spring AOP の使い所と Aspect/JoinPoint/Advice/Pointcut の全体像、プロダクションで効くユースケース 4 選。</description><pubDate>Thu, 22 Jun 2017 00:00:00 GMT</pubDate><category>web-mobile</category><category>Java</category><category>Spring</category><category>AOP</category></item><item><title>Android アプリ設計の基本原則 — MVVM パッケージ構成と、現代 Jetpack への道筋</title><link>https://tech.glossvation.com/posts/android-app-bestpractice/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/android-app-bestpractice/</guid><description>Android アプリを複数人で開発するときに崩れない MVVM パッケージ構成の指針。当時の Dagger / LiveData / Data Binding の構造と、現代の Jetpack Compose / Hilt への乗り換え時の考え方。</description><pubDate>Tue, 20 Jun 2017 00:00:00 GMT</pubDate><category>web-mobile</category><category>Android</category><category>MVVM</category><category>アーキテクチャ</category></item><item><title>Spring Boot プロジェクト構成 — 10 人規模で崩れないパッケージ設計</title><link>https://tech.glossvation.com/posts/spring-boot-bestpractice/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/spring-boot-bestpractice/</guid><description>Controller / Service / Repository の責務境界、ドメイン層の切り方、テストの並べ方まで。Spring Boot API 開発で「後から直せなくなるコード」を防ぐためのパッケージ構成の指針。</description><pubDate>Wed, 12 Apr 2017 00:00:00 GMT</pubDate><category>web-mobile</category><category>Java</category><category>Spring</category><category>設計</category></item><item><title>AbstractFactory パターン — 「関連するオブジェクト群」を一式で切り替える</title><link>https://tech.glossvation.com/posts/abstractfactory-pattern/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/abstractfactory-pattern/</guid><description>Factory Method との違いを 1 分で整理し、OS 別 UI / DB 別 Repository / テナント別実装など、実務での使いどころを示す。</description><pubDate>Mon, 27 Jul 2015 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>デザインパターン</category><category>設計</category></item><item><title>Builder パターン — 引数 4 つを超えたら迷わず導入する</title><link>https://tech.glossvation.com/posts/builder-pattern/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/builder-pattern/</guid><description>コンストラクタ引数が多いクラスの可読性を救う Builder。手書き・Lombok・record の併用パターンと、Fluent Builder でよくあるハマり所。</description><pubDate>Sat, 25 Jul 2015 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>デザインパターン</category><category>設計</category></item><item><title>Prototype パターン — `clone()` と `copy constructor`、どっちを選ぶべきか</title><link>https://tech.glossvation.com/posts/prototype-pattern/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/prototype-pattern/</guid><description>既存インスタンスを複製して「型 + 設定済み」を使い回す Prototype。Java の Cloneable の闇と、現代的な代替 (copy constructor / toBuilder / record withers)。</description><pubDate>Thu, 23 Jul 2015 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>デザインパターン</category><category>設計</category></item><item><title>Singleton パターン — 2020 年代の Java では `enum` 一択の理由</title><link>https://tech.glossvation.com/posts/singleton-pattern/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/singleton-pattern/</guid><description>伝統的な Singleton の 4 実装と、各々のスレッド安全性・シリアライズ耐性・リフレクション耐性。結論として現代は enum Singleton で終わり。</description><pubDate>Tue, 21 Jul 2015 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>デザインパターン</category><category>設計</category></item><item><title>FactoryMethod パターン — Spring BeanFactory の背骨を自作する</title><link>https://tech.glossvation.com/posts/factorymethod-pattern/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/factorymethod-pattern/</guid><description>インスタンス生成の種類を抽象側に閉じ込める Factory Method パターン。JDK/Spring の実例、Simple Factory との違い、現代 Java での書き方まで。</description><pubDate>Sun, 19 Jul 2015 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>デザインパターン</category><category>設計</category></item><item><title>TemplateMethod パターン — Spring JdbcTemplate に見る典型実装</title><link>https://tech.glossvation.com/posts/templatemethod-pattern/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/templatemethod-pattern/</guid><description>処理の骨格は親、差分は子に書き分ける Template Method。Spring の `*Template` 系の設計思想と、Strategy / Decorator との使い分け。</description><pubDate>Fri, 17 Jul 2015 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>デザインパターン</category><category>設計</category></item><item><title>Adapter パターン — 外部ライブラリをドメインに染めない防波堤</title><link>https://tech.glossvation.com/posts/adapter-pattern/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/adapter-pattern/</guid><description>既存の API を自分たちのドメインに合わせて包むアダプタ。クラスアダプタ vs オブジェクトアダプタ、SLF4J や Spring の HandlerAdapter などの実例まで。</description><pubDate>Wed, 15 Jul 2015 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>デザインパターン</category><category>設計</category></item><item><title>Iterator パターン — Java では `Iterable` 実装 + 拡張 for で終わり</title><link>https://tech.glossvation.com/posts/iterator-pattern/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/iterator-pattern/</guid><description>GoF の Iterator パターンを Java で書くときの最小実装。拡張 for 文、Spliterator、Stream との関係まで整理する。</description><pubDate>Mon, 13 Jul 2015 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>デザインパターン</category><category>設計</category></item><item><title>Java デザインパターン総論 — 現場で本当に効くパターンの選び方</title><link>https://tech.glossvation.com/posts/java-designpattern/</link><guid isPermaLink="true">https://tech.glossvation.com/posts/java-designpattern/</guid><description>GoF の 23 パターンから、現代の Java 開発で実際に効くものを選別する指針と、Spring/JDK で見つかる実例マップ。</description><pubDate>Sat, 11 Jul 2015 00:00:00 GMT</pubDate><category>algorithms</category><category>Java</category><category>デザインパターン</category><category>設計</category></item></channel></rss>