PHPのレガシーシステムをTypeScriptで刷新! フロントエンドとバックエンドの職能の壁は壊せるのか?

こんにちは!「ぐるなびウエディング」開発チームの滝口(@ytakiguche)です。普段はサーバーサイド開発を担当しています。

私たちのチームは現在、オンプレミスで長年稼働してきた PHP のシステムをAWSクラウドへ移行し、同時に TypeScript で全面的に書き換えるという、大きな挑戦の真っ只中にいます。

この記事では「フロントエンドとバックエンドの言語統一」をテーマに、その過程で明確になった技術的課題と、それらに対する我々のアプローチについてお話しします。

続きを読む

Vertex AI Agent Engine Memory Bankを使ってみた

はじめに

こんにちは。データサイエンティストの閔(みん)です。普段はAIレストラン検索アプリ「UMAME!」の開発に携わるほか、社内のデータ管理、AIを用いた業務改善などに関わっています。

本記事では、近年話題となっている LLM Agent (最近は単にAgentとも呼ばれます。以降Agentとします) の、会話内容をまとめて保持する「長期メモリ」の仕組みの一つであるMemory Bankについてご紹介したいと思います。その前に、Agentとは何かについても少しだけおさらいしたいと思います。

続きを読む

PHPカンファレンス新潟2025で型について語ってきた

はじめに

こんにちは。プラットフォームサービスグループの村田です。普段はメールを配信するシステムなど社内で共通に利用されるプラットフォームの運用、開発を行なっています。

2025年5月31日に開催された PHPカンファレンス新潟2025 で「新潟で型について語ってみた」というテーマで初めてカンファレンスの登壇をさせていただきました。 今回は登壇内容のポイントとカンファレンスの雰囲気などを紹介できればと思います。

続きを読む

ログ分析をスマートに!ぐるなびのElasticsearch活用術

はじめに

こんにちは。SREグループの佐々木です。普段はオンプレの仮想基盤やクラウド上のコンテナ環境の運用、サービスの品質向上に向けたSREを行っています。

2月14日に開催された「Developers Summit 2025」にElasticsearch株式会社さんと一緒に登壇し、ぐるなびにおけるElasticsearchの活用事例について発表を行いました。

Developers Summit(以降、デブサミ)は、日本最大級のソフトウェア開発者のためのカンファレンスです。ここでは、最新の技術情報や開発手法に関する講演、ワークショップ、パネルディスカッションなどが行われます。今回は2020年までのデブサミ会場としておなじみの、東京・目黒区のホテル雅叙園東京での開催となりました。

今回はセッションで使用したスライドの内容に基づき、セッション中にお伝えしきれなかった情報も含めて紹介させていただきます。

続きを読む

AIレストラン検索アプリ『UMAME!』 の舞台裏 ~Google AI Agent Summit ‘25 Spring登壇レポ~

こんにちは。ぐるなびデータサイエンティストの閔(みん)です。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として機能しているかについてお話をしてきました。

続きを読む

ChatGPTで店舗名を固定したまま店舗情報を翻訳してみた

こんにちは。ぐるなびデータサイエンティストの閔(みん)です。普段は、検索システムの改善や、AIを活用した業務効率化に取り組んでいます。

続きを読む

Snowflake World Tour - Tokyo 2024 - データの民主化による持続可能なビジネスの成功のためのAI活用

ぐるなびCTOの岩本です。自社の全プロダクト・サービスにおける技術戦略の責任者としてサービス構築・品質向上に最適な技術の選択、意思決定を行っています。また、在籍するEngineer全体に対して技術的なビジョンを示し、エンジニア組織を牽引しています。

ぐるなび社ではデータの活用を推進しており、その過程で発生する課題に対してどのような対策を講じているかについて、お話しさせていただきました。セミナーには約300名の方々にご参加いただき、盛況のうちに終了しました。今回のブログでは、セッションで使用したスライドの内容に基づき、セッション中にお伝えしきれなかった情報を詳しくご紹介したいと思います。

続きを読む
'; //挿入するタイトルのHTML for (var i = 0; i < num; i++ ){ var entry = result.feed.entries[i]; var entryImg = ""; var imgCheck = entry.content.match(/(src="http:)[\S]+((\.jpg)|(\.JPG)|(\.jpeg)|(\.JPEG)|(\.gif)|(\.GIF)|(\.png)|(\.PNG))/); //画像のチェック entryImg += ''; if(entry.link != presentUrl){ container.innerHTML += '
' + entryImg + '
' + entry.title + '
' + '
' //挿入する関連記事のHTML }else{ num ++ //今のリンクのときは、表示せずもう1つ記事を取り出す } } } } } google.setOnLoadCallback(initialize);