サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
developers.gnavi.co.jp
はじめに こんにちは、ぐるなびの APM(Application Performance Monitoring)分科会 です。 私たちは、全社的なシステム品質の向上を目指し、組織横断でオブザーバビリティ(可観測性)の導入・活用を推進しています。 昨今、「オブザーバビリティ」という言葉は広く浸透しましたが、多くの現場では依然として「リリース後の監視」や「障害調査」といった運用フェーズでの利用に留まっているのが実情ではないでしょうか。 私たちも以前はそうでした。 しかし、システムが複雑化する中、リリース後に問題に気づくスタイルでは手戻りコストが増大し、ユーザー体験を守りきることが難しくなっています。 そこで私たちが推進しているのが、「Observability Shift Left(オブザーバビリティ・シフトレフト)」 です。 コードを書く前の「設計」や開発中の「実装」フェーズから観測を組み込
皆さまこんにちは。ぐるなびで主に会員系サービスのフロントエンド開発を担当している小松です。主務はフロントエンドですが、開発部内で組織間連携分科会という活動も行っており会長も務めています。他にも肩書が増えてしまいましたが…今回はその組織間連携分科会での取り組みについてご紹介したいと思います。 この分科会は、長年、開発部の中でエンジニアとディレクター・デザイナー間などで課題となっていたコミュニケーションの認識齟齬や組織をまたいだ連携に関する課題に取り組むため発足しました。実は現存する分科会の中でも長く活動している分科会の1つです。 以下の内容は分科会メンバーの多大なる協力で執筆することができました。ありがとうございます。 コミュニケーションの課題 開発する中でそれぞれの役割ごとに異なる視点や専門知識を持つメンバーが協力し合うことは、プロダクトの成功に不可欠です。しかし、現実には以下のような課題
こんにちは。開発部の江島です。 普段はコンテナ基盤の運用やサービスの品質向上に向けたSRE活動などの業務を行っています。 New RelicのAlert機能は、システムの異常を検知し、即座にPagerDutyやSlackなどの外部ツールに通知を送るために非常に便利なツールです。 しかし、デフォルトの設定のままでは、重要なアラートを見逃してしまう可能性があることをご存知でしょうか? 本記事では、New Relicでアラートを設定する際に見落とされがちな2つの問題点と、それらに対する具体的な対策手順を解説します。 New Relic Alertの通知漏れパターン 今回はやりがちな通知漏れをパターンとその対策を2つ紹介します。 Priority(Warning/Critical)が変化した際の通知漏れ Issueが自動クローズされないことによる通知漏れ 1. Priority変化時の通知漏れ N
はじめに こんにちは。データサイエンティストの閔(みん)です。普段はAIレストラン検索アプリ「UMAME!」の開発に携わるほか、社内のデータ管理、AIを用いた業務改善などに関わっています。 本記事では、今年1年間、AIの話題として最もホットだったであろう AI Agent(以降Agentとする)を触ったり、作ってみたりしながら感じた、Agentの「自律性」との向き合い方について話します。Agentについては、過去の記事をご参照ください。 Vertex AI Agent Engine Memory Bankを使ってみた - ぐるなびをちょっと良くするエンジニアブログ AIレストラン検索アプリ『UMAME!』 の舞台裏 ~google AI Agent Summit ‘25 Spring登壇レポ~ - ぐるなびをちょっと良くするエンジニアブログ 実はAgentの自律性にも度合いがある 一口でA
こんにちは。ソフトウェアエンジニアの吉村と申します。 会社ではUMAME!の開発を行っています。バックエンドからキャリアを始めていますが、モバイル、ウェブフロントエンド、クラウドインフラ、AIエージェントなど、なんでも設計/実装します。アドベントカレンダーの10日目はAI時代におけるソフトウェアアーキテクチャとの向き合い方について思考実験的な話をさせていただければと思います。どうかお手柔らかにお願いします。 導入 最初に、ひとつだけお断りを入れておきます。 「Domain-Driven Design (2003)」、「The Clean Architecture (2012)」、「Atomic Design (2013)」。これら洗練されたソフトウェアアーキテクチャ論は、長らく私たち開発者の指針となってきました。 さらにその源流である「Structured Design (1979)」や「
こんにちは!普段は ぐるなびウエディング の開発をしている滝口(@ytakiguche)です。 ぐるなび Advent Calendar 2025 の 9 日目を担当します! この記事では、オンラインイベントを盛り上げるために社内で開発した「リアクションツール」が、どのような課題から生まれ、どのように使われ、そしてなぜクローズに至ったのかを振り返ります。 目次 目次 🤔 オンラインイベント、盛り上がっていますか? 💡 リアクションツールの誕生 🧩 システムアーキテクチャ リアクション送信画面(参加者側) リアクション表示アプリ(発表者側) リアクションサーバー 🎉 実際に使ってみてどうだったか ⚠️ しかし、クローズへ 🙏 最後に 🤔 オンラインイベント、盛り上がっていますか? オンラインイベントは便利な一方で、対面イベントに比べて「場の空気」が伝わりにくいという課題があります
受注情報からぐるなびの店舗ページへのデータ連携を開発している有賀です。 「セキュリティとガバナンス確保を目的に社内独自AIチャットを構築」をテーマに生成AIの変化を実感した経験を記載します。 目次 目次 社内用チャットツールの構築とリリース プロジェクトの背景と課題 要件整理 プロジェクトのゴール アーキテクチャ概要 技術選定 アーキテクチャ特徴 技術的な実装のポイント 1. 認証フローの実装 2. ストリーミングレスポンスの実装 3. チャット履歴の管理 4. インフラ 転機:GeminiとNotebookLMの登場 2024年の市場変化 決定的だった3つの要因 1. 運用負荷からの解放 2. 機能面での圧倒的な差 3. 高機能と利便性 決断:自社ツールの廃止 廃止の意思決定 おわりに 社内用チャットツールの構築とリリース 昨今、多くの企業で生成AIの活用が進む中、弊社でも社員が安心して
こんにちは! 検索開発のグループ長をしている牧野です。 今期、レストラン検索ではフリーワード検索の精度改善を大きな目標にして取り組みました。 今回はその過程で得られたナレッジ、特に「検索結果の分析手法」についてシェアしたいと思います。 はじめに 現在、私たちは検索エンジンとして Elasticsearch を利用しています。 フリーワード検索はユーザーが入力したワードにマッチした店舗を返す「キーワード検索」の仕組みを採用しています。 フリーワード検索を開発・運用していると以下のような課題に直面します。 「なぜこのキーワードで、このお店がヒットするのか?」 「なぜ関係の薄そうなお店が、上位に表示されてしまうのか?」 そこで今回は、検索挙動を可視化し、フリーワード検索を改善するための3つのAPI(Analyze, Explain, Term Vectors)をご紹介します。 どう検索されている
こんにちは。技術戦略室 CCoEグループの石井です。普段は、CCoEとして全社的なガバナンス強化を目指し、クラウド利用の最適化と可能性の最大化に取り組んでいます。具体的には、「コスト最適化」「クラウドセキュリティ」「アセスメント」の3つを軸に、ビジネスの柔軟性と競争力を高める活動を行っています。 はじめに CCoEとして、社内の開発チームが安心・安全にAWS環境を使えるようにすることは最重要ミッション。でも、現場に寄り添った支援を続けていく中で、どうしても乗り越えにくい課題が積み重なっていました。 この記事では、 “AWSアップデートのスピードに追いつけない” “開発者が正確な情報を探すのに時間がかかる” “セキュリティの不安から相談が増える” といった悩みを背景に、CCoEが Amazon Bedrock × Streamlit × AWS Knowledge MCP Server で実
はじめに:Copilotで「やれていること」 ぐるなびで Principal Tech Lead をしている大文字亮(ダイモンジリョウ)です。 本記事では、VSCode上のGitHub Copilotと外部システムを連携させ、開発業務を効率化・自動化する手法について紹介します。 Copilotは各種APIやCLIの操作方法を学習しているため、適切な権限と指示を与えることで、単なるコード補完に留まらない広範なタスクを実行可能です。 例えば、現在、私の環境では以下のような連携と自動化を実現できています。 SSH連携: ログ調査やサーバー上のインストール作業、バッチ実行などを自律的に実施。 ブラウザ操作: ChromiumをCLI経由で操作し、画面遷移を含むE2E的な試験やスクリーンショット取得を実施。 GitLab連携: MCP(Model Context Protocol)が利用できない環境
こんにちは!ぐるなびFineOrderというモバイルオーダーサービスでバックエンドの開発をしてます谷です。 担当しているプロジェクトでGitLabからGitHubへ移行することになり、せっかくなら一緒にsubmodule運用もやめてmonorepo化したいと思いまして、今回、両方一緒に対応しました。 そのときの話を紹介していけたらと思います。 GitHub移行とmonorepoは関係ない まず最初にお伝えしたいのですが、GitHub移行とmonorepo化は技術的に関係ありません。 当然、GitLabでもmonorepoはできますし、GitHubでsubmoduleを使い続けることもできます。 ただ、GitHub移行もmonorepo化の対応も、通常はCIの書き換えが必要になるかと思います。 別々で対応すれば2度手間になります。 つまり、まとめて対応した方がお得です! また、当たり前ですが
はじめに 皆さん、こんにちは! 株式会社ぐるなびで Principal Tech Lead を務めている小向です。 アドベントカレンダー2日目よろしくお願いします(アドベントカレンダーをやろうと言い出した本人が2日目ですが^^;)! 今回は、GenAI Week Silicon Valley 2025 で得た学びや現地の熱気を、ぐるなびの未来、そして日本のエンジニアの皆さんの未来にどう繋げていくか、という視点でご紹介したいと思います。 GenAI Week Silicon Valley 2025とは 2025年7月13日〜17日にサンタクララ・コンベンションセンターで開催された、世界最大級の生成AI(GenAI)サミットです。 次世代の人工一般知能(AGI)の未来を定義することをテーマに掲げ、GPTDAOなどが主催しました。 30,000人超の参加者、500以上のスタートアップデモ、300
TL;DR GitHub Copilotに頼りながら、「極力自力ではコードを書かない」方針でAndroidアプリ(アナログゲーム・ディスクゴルフ向けのスコア集計)を作りました。Androidはほとんど初めてでしたが、CopilotがUIの雛形や集計ロジックを提案してくれて、最終的に実用レベルのアプリに仕上がりました。この記事では取り組み方、実際の使い方(プロンプトの工夫)、得られた学びを共有します。 ほとんどコードを書かないで作ったAndroidスコア集計アプリとGitHub Copilotの話 背景とモチベーション 普段からボードゲームやアナログゲームをよく遊びます。スコア管理は各自の記憶に頼っていましたが、試合数が増えると記憶の齟齬や集計ミスが気になるように。自分用のスコア集計アプリがほしくなり、「せっかくだからAndroidアプリを作ってみよう」と思いました。 ただし、正直に言うとA
はじめに こんにちは。Restaurant Service Devグループの高岡です。現在ぐるなびウエディングのフロントエンド開発・運用を行っています。 ぐるなびウエディングは結婚式場検索・予約サービスで、検索・会場詳細・特集・ランキングなど多様な機能を持つ大規模なウェブアプリケーションです。 そのぐるなびウエディングはリニューアルプロジェクトが進行しており、今年の7月に二次会検索と会場ページをリリースしました。 今回は大規模なウェブサービスのリニューアルにおいてチーム開発の効率性と保守性を両立するフロントエンドアーキテクチャをどう設計するか、ぐるなびウエディングリニューアルプロジェクトで実践した取り組みについて紹介します。 目次 はじめに 目次 開発体制 採用した技術スタック フレームワーク:Next.js App Router スタイリング:CSS Modules グローバルな状態管理
こんにちは!「ぐるなびウエディング」開発チームの滝口(@ytakiguche)です。普段はサーバーサイド開発を担当しています。 私たちのチームは現在、オンプレミスで長年稼働してきた PHP のシステムをAWSクラウドへ移行し、同時に TypeScript で全面的に書き換えるという、大きな挑戦の真っ只中にいます。 この記事では「フロントエンドとバックエンドの言語統一」をテーマに、その過程で明確になった技術的課題と、それらに対する我々のアプローチについてお話しします。 目次 目次 プロジェクトの背景: なぜ、PHP から TypeScript へ移行したのか TypeScript 対応とモノレポ化 技術スタックとディレクトリ構成 プロジェクトで直面した課題 課題1: 既存データの不整合 課題2: FE と BE のスキルセットと設計思想の差異 課題へのアプローチ 1. データ不整合への段階的
はじめに こんにちは。データサイエンティストの閔(みん)です。普段はAIレストラン検索アプリ「UMAME!」の開発に携わるほか、社内のデータ管理、AIを用いた業務改善などに関わっています。 本記事では、近年話題となっている LLM Agent (最近は単にAgentとも呼ばれます。以降Agentとします) の、会話内容をまとめて保持する「長期メモリ」の仕組みの一つであるMemory Bankについてご紹介したいと思います。その前に、Agentとは何かについても少しだけおさらいしたいと思います。 Agentって何? Agentとは、一般的に 自ら環境を認識し、自律的に行動を行うAI と定義されるようです。(Agentについては、google Cloud AI Agent Summitの登壇記事 に解説してありますのでご参考ください) 最近はGeminiやChatGPTにもAgent機能が追加
はじめに こんにちは。プラットフォームサービスグループの村田です。普段はメールを配信するシステムなど社内で共通に利用されるプラットフォームの運用、開発を行なっています。 2025年5月31日に開催された PHPカンファレンス新潟2025 で「新潟で型について語ってみた」というテーマで初めてカンファレンスの登壇をさせていただきました。 今回は登壇内容のポイントとカンファレンスの雰囲気などを紹介できればと思います。 登壇内容 新潟で型について語ってみる 新”潟”ということで、PHPになぜ型システムが必要なのかから、PHPerが頭を悩ます型の相互変換までを網羅的に発表しました。 そもそも型って? 型システムは、データの種類や性質を指し示し、メモリ管理の効率化や型安全性の確保に役立ちます。 そして、可読性の向上やコードの補完機能が上がることで、開発者がコードを書く際の効率が上がり、ミスを減らすこと
はじめに こんにちは。SREグループの佐々木です。普段はオンプレの仮想基盤やクラウド上のコンテナ環境の運用、サービスの品質向上に向けたSREを行っています。 2月14日に開催された「Developers Summit 2025」にElasticsearch株式会社さんと一緒に登壇し、ぐるなびにおけるElasticsearchの活用事例について発表を行いました。 Developers Summit(以降、デブサミ)は、日本最大級のソフトウェア開発者のためのカンファレンスです。ここでは、最新の技術情報や開発手法に関する講演、ワークショップ、パネルディスカッションなどが行われます。今回は2020年までのデブサミ会場としておなじみの、東京・目黒区のホテル雅叙園東京での開催となりました。 今回はセッションで使用したスライドの内容に基づき、セッション中にお伝えしきれなかった情報も含めて紹介させていただ
こんにちは。ぐるなびデータサイエンティストの閔(みん)です。AIレストラン検索アプリ UMAME! の検索の仕組みの開発に携わっています。 2025年3月13日に、google AI Agent Summit ‘25 Springに登壇しました。AI Agent Summitは今年初開催のイベントで、googleのAIサービスを使ったAI Agentの開発事例や、googleのAI Agentサービス「google Agentspace」の紹介や導入事例の発表などが行われていました。 ここでは、今年リリースしたAIレストラン検索アプリ UMAME! が、どのようにしてAI Agentとして機能しているかについてお話をしてきました。 UMAME! Planning AI Agentは一般に、環境を認識して、ある目的を達成するために自律的に動くAIと定義されます。このイベントでは、生成AIとA
こんにちは。ぐるなびデータサイエンティストの閔(みん)です。普段は、検索システムの改善や、AIを活用した業務効率化に取り組んでいます。 LLMを翻訳機として使う LLMの中には、GPTなどのように、生成に特化しているモデル *1 もありますが、そのようなモデルであっても、翻訳に使うことが可能です。しかも、翻訳に特化しているモデルとは違って、特別な指示を出して翻訳を行うことができます。 ここでは、英語の技術文書を日本語に翻訳する例を紹介します。まず、翻訳に特化したモデルを使って翻訳してみようと思います。 原文 The study on transformer architecture was published in 2017. It accelerated the speed and boosted accuracy of machine translation. Nevertheless
ぐるなびCTOの岩本です。自社の全プロダクト・サービスにおける技術戦略の責任者としてサービス構築・品質向上に最適な技術の選択、意思決定を行っています。また、在籍するEngineer全体に対して技術的なビジョンを示し、エンジニア組織を牽引しています。 ぐるなび社ではデータの活用を推進しており、その過程で発生する課題に対してどのような対策を講じているかについて、お話しさせていただきました。セミナーには約300名の方々にご参加いただき、盛況のうちに終了しました。今回のブログでは、セッションで使用したスライドの内容に基づき、セッション中にお伝えしきれなかった情報を詳しくご紹介したいと思います。 Snowflake World Tour - Tokyo 2024 -当日の様子 まず、セッションタイトルは「データの民主化による持続可能なビジネスの成功のためのAI活用」というもので、私たちはこのテーマで
こんにちは。ぐるなびでSREをしている江島です。 普段はコンテナ基盤の運用やサービスの品質向上に向けたSRE活動といった業務を行っています。 9月6日に開催された「Cloud Operator Days Tokyo 2024」で登壇し、「モニタリング品質向上」をテーマに発表を行いました。今回の記事では、その内容を掘り下げ、具体的な方法や実践的なアプローチについて解説していきます。 Cloud Operator Days Tokyo(CODT) とは 「Cloud Operator Days Tokyo (CODT)」は、クラウドシステムの運用者に焦点を当て、日本のオペレーターの底力を高めることを目的とする技術イベントです。 運用の自動化やパブリッククラウドの運用、オブザーバビリティなどクラウドにまつわる様々なテーマでのセッションが行われていました。 モニタリング品質向上の背景 今回は「モニ
こんにちは。開発部門 開発部 Data AI Strategyセクション データ基盤 Unitの小野です。 2020年8月に入社してから早3年。SREエンジニアとして、日々業務改善に励んでいます。 ここ一年ほど、DAOという組織改善プロジェクトを推進していく中で、google Kubernetes Engine (GKE)を使ったGKE共通デプロイ基盤の整備も進めてきました。 ※ DAOについての詳細はSREエンジニアが組織改善プロジェクトを立ち上げてみたを参照ください SREエンジニアの責務の一つは、プロダクトのリリースサイクルを極限まで短くし、次々と新しいサービスを世の中にリリースすることです。ChatGPTのような誰でも簡単に扱えるAIモデルが誕生したことで、プロダクト開発競争は今後ますます激しくなっていくと予想しており、SREエンジニアの責務の重要性をヒシヒシと感じています。 そう
こんにちは。データ・AI戦略部 SREチームの小野です。2020年8月に入社してから早3年。SREエンジニアとして、日々業務改善に励んでいます。 ここ一年ほど、DAOという組織改善プロジェクトを推進してきました。このプロジェクトは組織内で発生するあらゆるイベントを「機能」として定義・実装し、それらを束ねてサービスとして組織内外に提供するプロジェクトです。 ※ 詳細はSREエンジニアが組織改善プロジェクトを立ち上げてみたを参照ください これまでの通常業務をサービスとして提供するという考え方は、我ながらとてもユニークかつ俊逸な発想だったと感じています。なぜなら、このサービスベースな考え方により組織にSLI/SLOを導入しやすくなったためです。 SLI/SLOの導入は個人的に難しいと考えています。導入するためにはさまざまな「ハードル」を突破する必要があるためです。しかし一方で、SLI/SLOを導
こんにちは。データ・AI戦略部 SREチームの小野です。2020年8月に入社してから早3年。SREエンジニアとして、日々業務改善に励んでいます。 私の所属するデータ・AI戦略部は、クラウドやSaaSの活用を積極的に行っています。私自身も「業務に役立ちそうなサービス」を見つけたら上長に相談するようにしています。 今回は、「1ヶ月でSnowflakeのPoC検証から導入提案まで行った話」をお伝えしたいと思います。ちなみにこのブログの執筆時点では、Snowflakeの導入はまだ実現していません。 <書くこと> 「PoC検証の取り組み方から提案までの手法」を中心に執筆します。今後ChatGPTのような技術革新がますます活発化した時、新しいサービスの検証や提案を「より高品質」に「よりスピーディ」に行うことが必要になってくると思います。そういったニーズの参考になれば幸いです。 <書かないこと> Sno
こんにちは。データ・AI戦略部 SREチームの小野です。2020年8月に入社してから早3年。SREエンジニアとして、日々業務改善に励んでいます。 ここ一年ほど、SRE業務の一環で組織作りに挑戦しています。SREエンジニアの責務は自社サービスを安定稼働させ障害に強い基盤を作ることであり、どちらかというと「システム」に焦点が置かれがちです。しかし、個人的にはシステムを運用するメンバーのマネジメント(ピープルマネジメント)を含めた組織作りも重要だと考えています。なぜなら、どれだけ最先端で素晴らしいシステムを構築してもそれを運用するメンバーの行動次第では、障害につながる恐れがあるためです。 私にとってのSREは組織作りにおける文化のようなものであり、「SRE(文化)を組織にインストールする」気概で色々と挑戦しています。 今回は、その挑戦の一つとして「ヘルプデスク体制を構築した話」をお伝えしたいと思
第6話 ペアワイズ法とは みなさん、こんにちは。鎌倉です。日本時間の2023年9月13日、Apple社のiPhone 15シリーズが発表されました。iPhone 15のカラー展開はブラック、グリーン、ピンク、ブルー、イエローの5色で、ストレージが128GB、256GB、512GBの3種類です。「iPhone 15の全バリエーションをテストする」といった場合、15種類の端末を準備しなければなりません。さらに、購入ルートによっては端末に「SIMロック」が掛けられている場合がありますよね。ドコモ、au、ソフトバンク、SIMフリーの4パターンを区別する場合、テストする端末の種類は60種類に増えてしまいます。 このように考慮する条件が増えるとテストするパターンの数は掛け算で増加していくので、全てのパターンをテストすることは現実的ではありません。かといって、無作為に選んでテストすると、バグを見落として
第5話 状態遷移表とは みなさん、こんにちは。鎌倉です。第4話では、状態遷移図について学びました。第5話では状態遷移図の兄弟分にあたる、「状態遷移表」についてご説明します。状態遷移図と状態遷移表の相互関係、併用するメリットについても触れていますので、まだ第4話を読んでいない方はセットで読んでいただくのがお勧めです。 状態遷移表とは 状態遷移表は状態遷移図と同様に、状態遷移テストで利用するツールです。Webサイトやアプリでボタン押下や時間経過などのイベント(事象)が発生したとき、どの状態からどの状態へ変化するのかを分析する目的で作成する点も共通しています。 状態遷移表の特徴 状態遷移表も状態遷移図と同じく「状態」と「イベント」で構成されます。「どの状態のとき、どのイベントが発生すると、どの状態へ遷移するか?」を二次元のマトリクス形式で表すのが特徴です。 上の例は炊飯器の状態遷移表です。行の見
こんにちは。データ・AI戦略部 SREチームの小野です。普段は部内のシステムに対し、SRE推進活動を行っています。直近では、データエンジニアと協力してデータ基盤周りの改善に取り組んでいます。 <SREの主な仕事> IaC化(Terraform/Terraform Cloud Business)の導入・推進 SLI/SLOの導入・推進 ポストモーテムの導入・推進 アプリケーションデプロイ基盤の導入・推進 ツールやAPIの設計・開発 インフラ設計・開発・運用 トイル削除・システムの自動化 データ基盤改善 一般的なSREエンジニアは、インフラ関連の業務が中心になると思います。しかし、データ・AI戦略部のSREチームは、開発を含めた幅広い仕事をします。やりたいことがあり、手をあげればそれを後押ししてくれる雰囲気の職場です。 今回は、SREエンジニアである私が、組織改善プロジェクトを立ち上げた話をお
次のページ
このページを最初にブックマークしてみませんか?
『ぐるなびをちょっと良くするエンジニアブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く