週次の勉強会を支える運営の文化作りの取り組み

こんにちは!開発組織のエンゲージメント向上をミッションとしている Developer Engagement Group (以下、DEG) の滝口(@ytakiguche)です。普段は「ぐるなびウエディング」の開発を担当するかたわら、開発組織全体の働きやすさ向上に取り組んでいます。

DEG に関しては以下の記事もぜひご覧ください。

開発組織において、ナレッジ共有を「仕組み」として定着させるのは、想像以上に骨が折れる仕事です。「勉強会を立ち上げたはいいものの、次第にネタが枯渇する」「参加者が固定化して形骸化する」「結局、目の前の案件が忙しくて後回しになる」……。そんな理想と現実のギャップに直面したことがある方は多いのではないでしょうか。

私たちの組織では、毎週金曜日に「ナレッジ共有会」を開催しており、足掛け3年ほどこの習慣を継続しています。もちろん、発表者が集まらずにスキップする週もありますが、無理に完走することに固執しない「しなやかさ」こそが、長く続いてきた理由かもしれません。

なぜ、兼務メンバー中心の運営でこれほど長く、多様な知見が循環し続けているのか。その舞台裏にある文化作りと、自動化による泥臭い工夫を公開します。

続きを読む

Turborepo × pnpm で実現するモノレポ開発基盤

こんにちは。ぐるなびウエディング開発チームの須永です。普段は主にフロントエンド領域の開発を担当しています。

ぐるなびウエディングは、結婚式場検索・結婚式準備情報を提供するサービスです。
現在、オンプレミスで長年稼働してきた PHP システムをクラウドへ移行し、TypeScript で全面的に書き換えるリニューアルプロジェクトを進めています。

本記事では、このプロジェクトで採用している Turborepo と pnpm を活用したモノレポ開発基盤についてご紹介します。

続きを読む

CI/CD と単体テストで守る! cdk-nag をアサーションテストに組み込んでセキュアなクリスマスを🎄

はじめに

メリークリスマス! 🎄 アドベントカレンダー最終日を担当します、村田です。 普段はメールを配信するシステムなど社内で共通に利用されるプラットフォームの運用、開発を行っています。

みなさん、クリスマスの準備は万端でしょうか?エンジニアにとって最高のクリスマスプレゼントは「平和で、何も起きない(アラートが鳴らない)夜」ですよね。

AWS CDK はインフラ構築を強力にサポートしてくれますが、その反面、S3バケットのパブリック公開や広すぎるIAM権限など、意図しないセキュリティホールを作ってしまう危険性もあります。

そのようなリスクをコードの段階で発見してくれるツールが、 cdk-nag です。 一般的に cdk-nag はデプロイパイプラインの途中で実行されるケースが多いですが、私たちのチームではもう一歩踏み込んで、「単体テスト(アサーションテスト)の一部」として cdk-nag を実行しています。

CI が失敗するのを待つのではなく、ローカルで npm test を実行した瞬間にセキュリティ違反に気づく——。いわゆる「Shift Left」を実践することで、開発スピードを落とさずに安全性を担保しています。

本記事では、pre-commit やスナップショットテストと組み合わせ、GitHub Actions 上で強固なパイプラインを築く私たちのチームの実践手法を紹介します。 セキュリティチェックを開発の日常に組み込み、安心して年末年始を迎えましょう!

続きを読む

Jira のコンテキストを Copilot に読ませようとして MCP サーバーを自作したが「ツールの引力」には勝てなかった話

はじめに

こんにちは。ぐるなびウエディング開発チームの渡邊です。普段はバックエンドエンジニアとして開発・運用を担当しています。

この記事では、Jira を GitHub Copilot の Agent Mode(MCP)から参照できるように MCP サーバーを自作してみた話を書きます。
作って動かすところまではできた一方で、最終的には本格運用までは至らず、個人 PoC に近い状態で止まりました。

  • どんな MCP tools を作ったのか(ReadOnly で絞った話)
  • Jira 連携で地味に面倒だったところ(customfield 周り)
  • なぜ「作ったのに使われなくなった」のか(GitHub 側の導線の強さ/運用の現実)
続きを読む

キーボード操作でも快適に!ウエディングサイトリニューアルで実践したカレンダーのアクセシビリティ対応

はじめに

こんにちは。Restaurant Service Devグループの高岡です。現在ぐるなびウエディングのフロントエンド開発・運用を行っています。

ぐるなびウエディングのリニューアルプロジェクトでは、UIを一新するにあたり「すべての利用者にとって使いやすいサイト」を目指してアクセシビリティ対応に力を入れています。

特にキーボード操作への対応は、マウスを使わない利用者やスクリーンリーダーを使用する視覚障害者の方々にとって重要です。しかし、特に意識せず実装してしまうと使い勝手が悪くなるケースも多く、細かな配慮が必要でした。

この記事では、ウエディング二次会のリニューアル時にデザイナーと協力して実装したカレンダーのキーボード操作について、課題と解決策を詳しく紹介します。

同じような実装をする際の参考になれば幸いです。

続きを読む

JavaのEOSL対応について取り組んだこと

はじめに

こんにちは、開発部の古川です。

普段は、ぐるなびの認証や個人情報、ポイントシステムといったぐるなび内の各サービスから利用される共通システムを担当しています。

今回は、私たちが担当しているシステムにおける JavaのEOSL (End of Support Life) 対応 について、検証から意思決定までの取り組みをまとめました。

続きを読む

Secrets Manager vs Parameter Store:社内APIのキー管理、どっちがいい?

はじめに

どうも、開発部の加藤です。社内では「なるみん」て呼ばれてたりします。

普段はぐるなびの店舗ページやインバウンド向けのぐるなび外国語版のサーバーサイドの開発を担当しています。

APIキー認証を入れるとき、地味に悩むのが「キーをどこに置くか」です。 AWSなら候補はだいたいこの2つかなと思います。

この記事では社内APIのAPIキー認証を設計する中で行った2つのサービスの「比較」と「選定」について記載します。

(注)料金・上限は変更されることがあるため、最終判断は公式価格表/制限値も確認してください。

続きを読む