シンクロ・フード エンジニアブログ

https://tech.synchro-food.co.jp/

飲食店ドットコムを運営する、株式会社シンクロ・フードの技術ブログです

フィード

記事のアイキャッチ画像
AWS WAF レートリミット導入と誤検知対策:正規トラフィックを保護するアーキテクチャを設計した話
シンクロ・フード エンジニアブログ
はじめに こんにちは。開発部 SRE チームの柴山です。 技術構成の記事でもご紹介した通り、弊社ではWebアプリケーションの脆弱性保護を目的として Scutum を中心としたセキュリティ対策を実施してきました。 しかし、昨今のAI技術の急速な発展に伴い、悪意のある攻撃だけでなく、データ取得(AI学習等)を目的とした突発的なスクレイピングといった「予測不可能なトラフィックスパイク」に直面することが増えてきました。 これらはバックエンドのリソース逼迫を招き、正規のユーザー様にも影響を与えかねません。 こういった機械的なアクセスには、アクセス数を制限するレートリミットを設定するのが定石として挙げられ…
15日前
記事のアイキャッチ画像
AppsFlyerのUDLを使ったディファードディープリンク実装で学んだこと
シンクロ・フード エンジニアブログ
シンクロ・フード開発部モバイルアプリチームの横山です。 普段は、飲食店と飲食店で働きたい求職者を繋ぐ「求人飲食店ドットコム」アプリのAndroid開発を担当しています。 今回は、アプリにディファードディープリンクを実装した経緯と、調査・設計・実装を通じて得た知見をまとめます。同じような機能を検討している方の参考になれば幸いです。 実装の背景 弊社アプリではすでにUniversal Links(iOS)とApp Links(Android)によるディープリンクを実装していましたが、これらはアプリがインストール済みのユーザーにしか機能しないという制約があります。リンクを踏んだ時点でアプリが入ってい…
22日前
記事のアイキャッチ画像
新卒として第四開発Gに参加してからの働き方
シンクロ・フード エンジニアブログ
まえがき こんにちは!シンクロフード開発部25卒の小林です!入社してから約1年、第四開発Gに配属されてから9ヶ月が経ちまだまだ勉強の日々ですが、楽しく開発に取り組んでいます! 私の所属する第四開発Gは、求人インテリアや農業ジョブ、グルメバイトちゃんなどのサービスの開発を行っているチームです。 本ブログでは、IT業界やシンクロ・フードに興味がある未来の新卒の方に向けて、第四開発Gに参加後の新卒エンジニアの1日をお届けしたいと思います! ※チームごとに運用が違う場合があるので、あくまで私が所属する「第四開発G」の例ということをご留意ください。 開発Gに参加する前に実施されている、新卒研修に興味のあ…
23日前
記事のアイキャッチ画像
求人飲食店ドットコムの性能改善のために Datadog APM を導入しました
シンクロ・フード エンジニアブログ
はじめまして、開発部の熊谷です。 今回は弊社のサービスである求人飲食店ドットコムの性能改善をするため、Datadog の Application Performance Monitoring(以下APM)を導入した際の話をしたいと思います。 docs.datadoghq.com なぜAPMを導入したか ここ数年、当チームでは開発・保守を担当している「求人飲食店ドットコム」の性能改善に対する関心が高まっていました。 主な動機は、Core Web Vitals の各指標を向上させることで検索順位やユーザー体験を改善したいという点にあります。 しかし、フロントエンドには PageSpeed Insi…
24日前
記事のアイキャッチ画像
新卒研修でシステムを開発して苦労したことと得られた知見
シンクロ・フード エンジニアブログ
初めまして、開発部2025年度新卒の清水です。 シンクロ・フードの新卒エンジニア研修ではWeb開発技術の基礎からシステムの設計・開発までがカリキュラムとして組み込まれています。今回はシステムの設計・開発を学ぶ「システム設計研修」で私が開発を担当したテーマ「プロンプトシェア」を題材にして、主に苦労した点とそこから得られた知見を紹介します。 弊社の新卒研修については、以下の記事で詳細に紹介されています。 tech.synchro-food.co.jp 「プロンプトシェア」開発の背景 弊社の新卒研修における「システム設計研修」は、発注者(現場のメンバー)からの要求に応え、仕様をすり合わせながらシステ…
25日前
記事のアイキャッチ画像
下書き機能とマイソク一括アップロードで物件登録業務をさらに効率化した話
シンクロ・フード エンジニアブログ
こんにちは。開発部の宮城です。 今回は、弊社のサービスである「飲食店ドットコム 店舗物件探し」において、物件登録に関わる業務を効率化するために開発した機能についてお話しします。 以前のブログ記事「生成AIを利用して物件登録にかかる時間を大幅削減した話」では、マイソク(物件情報をまとめた資料)の画像をアップロードし、OCRと生成AIで物件情報を自動抽出する機能について紹介しました。今回はその後続として、下書き機能とマイソクの一括アップロード機能の2つを紹介します。 物件登録補助機能の振り返り まず、以前のブログ記事で紹介した物件登録補助機能を簡単に振り返ります。 物件の登録は入力項目が多く、不動…
1ヶ月前
記事のアイキャッチ画像
Claude Codeを活用したIT統制監査の証跡収集の効率化
シンクロ・フード エンジニアブログ
シンクロ・フード開発部の小室です。 シンクロ・フードの開発部には、チームをまたいで特定テーマに取り組む「横串チーム」と呼ばれるプロジェクトチームの仕組みがあります。各チーム2週間に1度・2時間程度のペースでコツコツと改善活動に取り組んでおり、CI改善やマークアップの品質向上など、さまざまなテーマのチームが活動しています。IT統制チームもその1つで、輪読会を通じたIT統制の知識習得や、監査作業の効率化に取り組んでいます。 今回はこのIT統制チームでの取り組みとして、IT統制監査の対応の中で「証跡(エビデンス)収集」の作業を自動化した事例を紹介します。Webページのスクリーンショットを撮り、設計書…
1ヶ月前
記事のアイキャッチ画像
Kotlin Fest 2025 に参加しました
シンクロ・フード エンジニアブログ
開発部モバイルアプリ開発チームの小関です。 昨年行われたKotlin Fest 2025に弊社のAndroidエンジニア2名で参加してきました。 本記事では、参加した小関と横山の2名による対談形式で、印象に残ったセッションや会場の様子をレポートします。 自己紹介 小関:シンクロ・フードに新卒で入社して8年目の小関です。普段はモバイルアプリチームのリーダーとして、飲食店と、飲食店で働きたい求職者をマッチングする「求人飲食店ドットコム」のモバイルアプリ開発を主に担当しています。AndroidやKotlin系のイベントに関しては今回が初参加になりました。よろしくお願いします。 横山:中途入社2年目の…
1ヶ月前
記事のアイキャッチ画像
iOSDC Japan 2025 参加レポ Day2
シンクロ・フード エンジニアブログ
こんにちは、開発部モバイルアプリチームの小関です。 Day1の佐々木の記事に続き、Day2の参加レポートをお届けします。 ※Day1の記事はこちら: tech.synchro-food.co.jp 私からは、Day2に参加したトークセッションの中から、特に印象に残った2つについてレポートします。 トークセッション紹介 1. 5000万ダウンロードを超える漫画サービスを支えるログ基盤の設計開発の全て speakerdeck.com アクティブユーザーも多いであろうこの規模感のサービスだからこそ、厳しいパフォーマンス要件を満たす必要があったログ基盤を、ゼロから自作したというセッション内容でした。 …
2ヶ月前
記事のアイキャッチ画像
Kaigi on Rails 2025に参加しました
シンクロ・フード エンジニアブログ
はじめに アプリケーション基盤チームの深野です。普段はRailsアプリケーションのRuby/Railsバージョンアップ対応や開発環境整備を担当しています。今年も社内制度(業務時間内の勉強会・技術カンファレンス参加可)を利用し、昨年に続いてKaigi on Railsに参加しました。 Kaigi on Railsとは Kaigi on Railsは「初学者から上級者までが楽しめるWeb系技術カンファレンス」をコンセプトとするイベントです。コロナ禍でオンライン限定として始まり、その後はオフラインでも開催されるハイブリッド形式へ発展しました。現在もチケットがあればオンライン参加できる点が継続されてい…
4ヶ月前
記事のアイキャッチ画像
iOSDC Japan 2025 参加レポ Day1
シンクロ・フード エンジニアブログ
こんにちは、開発部モバイルアプリチームの佐々木です。 2025年9月19日(金)から21日(日)の3日間にかけて開催された、iOS開発者向けカンファレンス「iOSDC Japan 2025」に参加しました! Day0はオンライン参加で、Day1とDay2はiOSエンジニアの小関と二人でオフライン参加しました。 私自身は過去二回はオンラインのみで参加しており、オフラインは今回が初めてです。 今回は各日で担当を分けて記事を書くことになったので、本記事では私からDay1の現地レポートをお届けします。 初めてのオフライン参加で体感した会場の熱気や雰囲気、そして参加したセッションからいくつかピックアップ…
5ヶ月前
記事のアイキャッチ画像
S3とLambdaでEXIF 情報除去機能を作成する
シンクロ・フード エンジニアブログ
SREチームの下野です。 以前こちらの記事で紹介したリアルタイム画像リサイズAPI に対し、 その前段で EXIF情報除去(および画像の回転補正)を行う仕組みを追加する対応を行いました。 今回はその対応や検討の経緯を紹介させていただきたいと思います。 tech.synchro-food.co.jp 前提 リアルタイム画像リサイズAPIとは 以下のようにCloudFront 、API Gateway、Lambda、S3(Public Bucket)を組み合わせて動的に画像をリサイズするAPIです。 弊社の各サービス共通で画像のリサイズに使用しています。 リアルタイム画像リサイズAPIの処理内容は…
7ヶ月前
記事のアイキャッチ画像
複雑化していた Java の環境構築を Dev Container 化して Eclipse から移行しました
シンクロ・フード エンジニアブログ
こんにちは、アプリケーション基盤チームの坂本です。 今回は Java の開発環境を Dev Container 化した対応について紹介します。 弊社の開発環境について 弊社では「飲食店ドットコム」をはじめとした飲食店向けのサービスを多数運用しています。 それらのサービスは元々全て Java で書かれていましたが、数年前から段階的に Rails への移植を行っています。 主要なサービスのいくつかはすでに移植が完了していますが、一部のサービスはまだ移植の途中であり、Java で実装された機能と Rails で実装された機能が混在しています。 また、社内システムの中には Rails 移植の工数をかけ…
7ヶ月前
記事のアイキャッチ画像
「内装建築.com」から「店舗デザイン.COM」へのデータ移行対応の紹介
シンクロ・フード エンジニアブログ
こんにちは、開発部デザイン開発チームの神尾です。 今回は、弊社サービスの「内装建築.com」から「店舗デザイン.COM」へのデータ移行の対応をしたため、その内容と苦労した点について紹介したいと思います。 「内装建築.com」、「店舗デザイン.COM」とは 「内装建築.com」は約2年前に他社から事業譲受したサービスになります。 店舗を構えたい施主さんとその内装デザインを請け負うデザイン会社さんをマッチングするサービスです。 「店舗デザイン.COM」は弊社が2005年から運営しているサービスになります。 「内装建築.com」と同様に施主さんとデザイン会社さんをマッチングするサービスなのですが、施…
8ヶ月前
記事のアイキャッチ画像
Rails アプリケーションのフロントエンドを webpack から Rspack に移行しました
シンクロ・フード エンジニアブログ
はじめに こんにちは。開発部の竹内です。 弊社のプロダクトの1つである モビマル におけるフロントエンドビルドツール刷新の取り組みについてご紹介します。具体的には webpack から Rspack への移行を行いましたので、手順や結果をお伝えしたいと思います。 既存のプロジェクトの構成 モビマルはRailsアプリケーションとして構築されており、Reactで書かれたフロントエンド部分はwebpackでバンドルされ、app/assets/ディレクトリに出力されていました。その後、アセットパイプラインを通して利用するというワークフローになっていました。 ですが、この構成には以下の課題がありました。…
8ヶ月前
記事のアイキャッチ画像
手続き的なCSVパーサーをDSLで宣言的に書き換えて保守性を改善した話
シンクロ・フード エンジニアブログ
こんにちは。開発部 HR事業管理開発チームの田中です。 主に求人飲食店ドットコムの社内・代理店向け管理機能を担当しています。 今回は、チームで開発・保守しているCSV一括処理機能を技術的に改善しましたので、そのときのことについてお話しします。 なぜCSV一括処理の改善をしたのか 「求人飲食店ドットコム」に掲載される求人情報やその他関連情報は、シンクロ・フードの営業メンバーや提携している代理店の方々によって日々大量に作成・更新されています。 そのため、管理システムの入力フォームから一件ずつデータを入力するよりも、CSVファイルに情報をまとめて入力し、一括でデータを操作する方が効率的に業務を進めら…
9ヶ月前
記事のアイキャッチ画像
「ふりかえりカタログ」の振り返り手法をチームで実践してみました
シンクロ・フード エンジニアブログ
こんにちは、開発部会員企画開発チームの日比野です。 今回は、私たちのチームで導入したいくつかの振り返り手法についてご紹介します。 背景 私たちのチームでは週次で KPT(Keep, Problem, Try) を用いた振り返りを行っていましたが、次第に意見が出にくくなり、チームとして取り組むべき課題も挙がりにくくなるという問題を抱えていました。 この状況を改善するため、私たちは新しい振り返りの手法を試してみることにしました。 ふりかえりカタログ 「何か新しい振り返りのやり方はないか?」と探していたときに見つけたのが、こちらの「ふりかえりカタログ」です。 qiita.com このサイトには目的や…
10ヶ月前
記事のアイキャッチ画像
RubyKaigi2025に参加した弊社メンバーで感想を話し合いました
シンクロ・フード エンジニアブログ
開発部・アプリ基盤チームの深野です。 今回、弊社から自分を含む3名が松山で開催されたRubyKaigi2025に参加して色々なセッションを聞いてきました。 その3名で印象に残ったセッションのことや参加しての感想などを話し合ったものを文字起こしして、再構成したものが今回のブログになります。 なお、弊社はSilver SponsorとしてRubyKaigi2025に協賛させていただきました。 自己紹介 竹内: シンクロフード3年目の竹内と申します。普段は主にモビマルというキッチンカー関連のサービスの開発を行っています。Rubyに関しては、高校生くらいの時からやっていて、もう20年くらい前から触れて…
10ヶ月前
記事のアイキャッチ画像
本番環境 DB の個人情報マスキングフローを Jenkins から StepFunctions に移行しました
シンクロ・フード エンジニアブログ
初めまして、SRE チームの 辻井 です。 先日、本番環境 DB の個人情報マスキングフローを Jenkins から Step Functions に移行しました。 今回はその対応や検討の経緯を紹介させていただきたいと思います。 背景 本番環境 DB の個人情報マスキングフローでは、最初に本番環境 DB のクローンを作成し、マスキングした後に社内公開しています。 (なお、本稿では上記フローで作成する DB を クローン DB と呼称させて頂きます。) そもそもクローン DB は何を目的に作成している? クローン DB が作られている理由は2つあります。 理由1: サービス指標などの分析のため、…
10ヶ月前
記事のアイキャッチ画像
parallel_testsを使ってCIの実行時間を改善しました
シンクロ・フード エンジニアブログ
こんにちは、シンクロ・フードの中川です。 今回は、弊社で運用している Rails アプリケーションにおける、CI での RSpec 並列実行のための parallel_tests 導入と、その結果について紹介します。 背景 弊社ではGitHub Actions を使って Rails アプリケーションの自動テストを実行しています。しかし、テストケースの増加に伴い、CI の実行時間が長くなり、開発サイクル全体の速度を低下させるという課題がありました。 そこで、RSpec を並列で実行できる parallel_tests という gem を導入し、CI の速度改善を行うことにしました。paralle…
1年前
記事のアイキャッチ画像
2025年3月時点のシンクロ・フードの技術構成
シンクロ・フード エンジニアブログ
シンクロ・フードの越森です。 以前、2022年8月に技術構成を紹介する記事を書きましたが、2025年3月末時点での代表的な技術構成をお伝えする記事を書きたいと思います。 求人票にも書いたりしていますが、ここではより詳しく説明をしたいと思います. 言語・フレームワーク Ruby & Ruby on Rails Java & Seasar2 PHP & Lumen Express.js React, TypeScript 3年前から変わったこととしては、M&Aによりサービスを譲受したことで PHP & Lumen、Express.js のシステムが増えました。 PHP & Lumen のシステムに…
1年前
記事のアイキャッチ画像
生成AIを利用して物件登録にかかる時間を大幅削減した話
シンクロ・フード エンジニアブログ
はじめまして。開発部の小関と髙木です。 今回は弊社のサービスである「飲食店ドットコム 店舗物件探し」の機能として、生成AIを活用した物件登録補助機能を提供することになったので、開発の進め方と実装した機能についてお話できればと思います。 飲食店ドットコム 店舗物件探し まず、弊社のサービスである「飲食店ドットコム 店舗物件探し」について紹介いたします。本サービスは、飲食店が得意な物件探しサイトとなっており、店舗に強い不動産会社と提携することで、多数の店舗物件や居抜き物件を掲載しております。掲載されている物件には、最寄駅や賃料など物件情報が満載となっております。 機能開発の背景とプロジェクトの流れ…
1年前
記事のアイキャッチ画像
DevOpsの変更リードタイムの可視化システムを作成する
シンクロ・フード エンジニアブログ
こんにちは、2024年新卒入社、開発部の岡塚です。現在は主に求人飲食店ドットコムなどの開発に携わっています。 弊社の新卒エンジニア研修ではWeb開発技術の基礎からシステムの設計・開発までがカリキュラムとして組み込まれています。今回はその中でもシステムの設計・開発を学ぶ「システム設計研修」で私が開発を担当したテーマであった「変更リードタイム可視化機能」について紹介します。弊社の新卒研修については、以下の記事で詳細に紹介されています。 tech.synchro-food.co.jp 背景 弊社では開発生産性向上活動の一環としてFour Keysを用いた生産性計測が行われています。生産性可視化の取り…
1年前
記事のアイキャッチ画像
クロスブラウザテストツールに LambdaTest を導入しました
シンクロ・フード エンジニアブログ
こんにちは。開発部の竹内です。 Web開発において、異なるブラウザやデバイスでの表示・動作確認は欠かせません。しかし、物理デバイスでの確認には限界があり、すべての環境を網羅するのは困難です。より効率的にクロスブラウザテストを実施するために、クラウドベースのテストツール LambdaTest を導入しました。本記事では、その導入の背景や運用、課題について紹介します。 背景 開発時に Web ページのクロスブラウザでの確認が十分にできていないことがありました。特に iOS や Android といったモバイル環境の確認は開発者が私物のデバイスを使って行っており、以下のような課題がありました。 確認…
1年前
記事のアイキャッチ画像
Railsで稼働しているWebサービスをサブディレクトリから新規ドメインに移行しました
シンクロ・フード エンジニアブログ
開発部の光永です。 店舗デザイン.COM・求人@インテリアデザイン・内装建築.com・グルメバイトちゃんなどのサービスの開発に携わっています。 弊社が運営しているサービスの1つであるグルメバイトちゃんで新規ドメインに移行するという開発が行われました。1つのRailsアプリケーションで2つのドメインを利用する形となっていて、あまり見ない例だと思うので、開発の内容や、リリースの手順を紹介します。 グルメバイトちゃんについて まず初めにグルメバイトちゃんがどんなサービスなのか紹介します。 グルメバイトちゃんは2023年から弊社で開発をしている新規サービスです。ショート動画を使ってアルバイト募集をする…
1年前
記事のアイキャッチ画像
プッシュ通知一括送信をFCM Topic送信に置き換えた話
シンクロ・フード エンジニアブログ
はじめまして、開発部の濱野です。 普段は飲食店ドットコムや求人飲食店ドットコムといった弊社の「飲食店と求職者のマッチングサービス」に関わるサービスや業務システムの開発に携わっています。 今回はFirebase Cloud Messaging(以下FCM)のBatch Send API廃止に伴い、プッシュ通知の一括送信機能をFCM Topicへ移行した経緯と移行時の対応方針や検討したことを紹介します。 背景と課題 弊社では求人飲食店ドットコムのAndroid/iOSアプリを作成しており、ユーザの操作に伴って送信される通知のほか、メールマガジンのような一度に大量の通知を送信する機能にFCMを活用し…
1年前
記事のアイキャッチ画像
アプリのローディングUIをスケルトンビューに変える対応で試行錯誤した話
シンクロ・フード エンジニアブログ
はじめまして、モバイルアプリチームの佐々木です。普段は主に求人飲食店ドットコムアプリ(以下、求人アプリ)のiOS開発を担当しています。 「求人飲食店ドットコム」では飲食店専門で求人情報を掲載しており、アプリで求人情報の閲覧から応募、応募先とのやりとりまで行えます。 今回は、初めて調査からリリースまでを一貫して担当した、求人アプリのローディングUIを変更する対応でスケルトンビューを導入したので、その過程で悩んだことや学んだことについて共有します。 スケルトンビューとは そもそもスケルトンビューとはどのようなものかご存知でしょうか? アプリやウェブサイトでデータを読み込んでいる間にページのレイアウ…
1年前
記事のアイキャッチ画像
Lambda(Ruby) + Slack スラッシュコマンドで社内ジョブをクラウド化
シンクロ・フード エンジニアブログ
初めまして、SREチームの柴山です。 今回は 社内サーバーで動いていたデプロイ補助ツールを、 Lambda+Slack でクラウド化した際の作業を備忘録として共有します。 背景 このツールはオンプレミスの社内サーバー上の Jenkins のジョブとして用意され、都度ウェブブラウザからジョブを実行して実行結果をジョブのログとして確認していました。 この度オンプレミスの社内サーバーを廃しクラウドに移行するにあたり、 Slack からも見れるようにしたいとの要望があり、本対応を行いました。 構成概要 処理の流れは以下のようになっています。 ユーザーがスラッシュコマンドを実行 Slack から 認証用…
1年前
記事のアイキャッチ画像
Slackを活用したチームの課題解決と共有プロセス
シンクロ・フード エンジニアブログ
こんにちは、開発部の椿です。 飲食店ドットコムやモビマルなどのサービス開発・運用保守を担当する「会員企画開発チーム」のチームのリーダーを務めています。 今回は、チーム内で実践している「問題・課題をチーム全体で解決していく」という運用方法についてご紹介します。 運用を始めた経緯 最初のきっかけ 私たちのチームでは毎月バグの振り返り会を開催し、バグ抑制のための対策立案とその振り返りを行っています。 この過程で、技術不足に起因するバグを抑えるため、問題のあるコードをメモし、チームのコーディング規約としてまとめていく方針を立てました。 発展 まず、Slackに問題のあるコードをメモしていく運用を開始し…
1年前
記事のアイキャッチ画像
Kaigi on Rails 2024に参加しました
シンクロ・フード エンジニアブログ
アプリケーション基盤チームの深野です。 普段は社内の開発環境の整備やいくつかのアプリケーションのRuby/Railsのバージョンアップなど、SRE的な業務のインフラ寄りでない部分を主に行っています。 弊社では、業務時間内の扱いとして勉強会や技術カンファレンスに参加できる制度があるため、Ruby Kaigi 2024に続いて人生で2回目の大規模な技術カンファレンスとしてKaigi on Rails 2024に参加してきました。 Ruby Kaigi 2024とは異なり、Kaigi on Rails 2024は弊社は特にスポンサードなどはしていないのですが、快く送り出していただけました。 Kaig…
1年前