エニグモ開発者ブログ
https://tech.enigmo.co.jp/
海外ファッション通販No1サイトBUYMA(バイマ) を運営する株式会社エニグモのエンジニアブログです。
フィード

【BigQuery】過去データの再作成が超絶楽になる!ループ処理でシャーディングテーブルを一気に作成する方法
エニグモ開発者ブログ
こんにちは、エニグモの嘉松です。普段はデータ活用推進室にて、データ分析・データ活用の推進やMAツールを用いたCRM施策などを担当しています。 本記事はEnigmo Advent Calendar 2025の最終日(25日目)の記事です。1ヶ月間にわたり様々なテーマで繋いできたバトンも、いよいよ今回が最終回となります! 最終回は、データ分析・データ活用の裏側を支える技術にフォーカスし、BigQueryに関する(少しディープな)知見を共有します。 時点データとは? データ分析において、現時点のデータだけでなく「過去のある時点」のデータを保持しておくことは極めて重要です。例えば、ユーザーの注文回数、…
13日前

Ruby on Rails アプリのパフォーマンス最適化10選
エニグモ開発者ブログ
こんにちは!Webアプリケーションエンジニアのレミーです! この記事はEnigmo Advent Calendar 2025の24日目の記事です。 Ruby on Rails アプリが遅いと感じるのは、ほぼ次の3の原因になります。 DBクエリが多すぎる(特に N+1、COUNT/EXISTS の使い分けミス、インデックス不足) 不要なデータを読み込みすぎる(テーブル全て/重いカラム全て取得、あるいは全部を RAM に書き込む) ビューのレンダリング/コールバックが働きすぎる(partial の多用、重いフォーマット処理、不要なコールバック/バリデーションの実行) この記事では、効果が見えやすい…
14日前

Rails + SQL Server環境でハマったBooleanの罠
エニグモ開発者ブログ
こんにちは、WEBエンジニアのChoi(チェ)です。 BUYMAの購入者向け機能を開発するチームで、主にSEO改善の業務を担当しています。 この記事はEnigmo Advent Calendar 2025の23日目の記事です。 Railsを使用する際は一般的にMySQLやPostgreSQLが使われますが、BUYMAでは用途に応じてSQL Serverも使用しています。 最初は「どのSQLも大差ないだろう」と思っていましたが、運用を開始するとRails + SQL Server特有のトラブルに遭遇しました。 今回はその中でも、 エラーは一切出ないのに、結果だけが返ってこない という、かなり気づ…
15日前

Rails 8のSolid Queue:Sidekiqに代わる新しい非同期処理システム
エニグモ開発者ブログ
こんにちは!Webアプリケーションエンジニアのレミーです! この記事はEnigmo Advent Calendar 2025の21日目の記事です。 Rails 8がリリースされてから、バックグラウンドジョブシステムである Solid Queue に興味を持ち、調べてみました。 バックグラウンドジョブは、Ruby on Railsアプリケーションに重要な部分です。メール送信、画像処理、データ同期、キャッシュ更新、CSVファイルのエクスポートなど、これらはすべてアプリケーションの高速化とスムーズな動作を維持するために非同期で実行すべきタスクです。 長年、Railsのバックグラウンドジョブにおいて「…
17日前

アジャイルは会社ごとに別物。でも、あるあるは共通だった
エニグモ開発者ブログ
こんにちは、BUYMA TRAVEL Webエンジニア の赤間です。 この記事はEnigmo Advent Calendar 2025の20日目の記事です。 この記事では、転職をきっかけに感じたことを基に、アジャイル/スクラムの基本と、現場で起きがちな"あるある"とその対策について紹介します。 軽く自己紹介になりますが、私は2025年8月に転職してきたエンジニアです。前職でもエンジニアとして開発を行なっており、時期によってはスクラムマスターの役割も担当していました。 その経験から、転職後に「これってアジャイルか?」と戸惑ったことがあり、同じように悩む人のヒントになればと思いこの記事を書いていま…
18日前

機械学習実験を加速させる dbt による特徴量管理の実践
エニグモ開発者ブログ
こんにちは、AI テクノロジーグループ データサイエンティストの髙橋です。業務では企画/分析/機械学習モデル作成/プロダクション向けの実装/効果検証を一貫して行っています。この記事は Enigmo Advent Calendar 2025 の 19 日目の記事です。 本記事では、 dbt を利用した機械学習モデルの特徴量管理について紹介します。この特徴量管理を活用することで、機械学習を利用したプロジェクトで多くの実験を効率的に実施でき、利益増加というビジネス成果に繋げることができました。 www.getdbt.com 特徴量管理の目的・成果 数多くの特徴量を試す上での課題 dbt による課題解…
19日前

AWS Savings Plans検討をGemini Gemsで自動化する~~プロンプト作成のコツと組織管理の課題~~
エニグモ開発者ブログ
こんにちは、インフラエンジニアの森田です。 この記事はEnigmo Advent Calendar 2025の 14日目の記事です。 今回は、業務効率化のためにGoogle Geminiのカスタム指示(Gems)を作成し、 実際の業務で使ってみた使用感や気づきについて紹介します。 どのような業務に活用したか 私は直近でAWSのコスト削減に取り組んでいます。 特にSavings Plansなどを購入する際、複数アカウントのオンデマンドコストと推奨コミット額を見比べ、 その購入計画が適切かを整理する必要がありました。 これを人力で行うのは工数もかかり、ミスのリスクもあるため「辛い」作業でした。 そ…
20日前

「AIでさがす」サービスのリニューアル - BUYMA内記事コンテンツをベースにした商品提案エージェントの実現
エニグモ開発者ブログ
こんにちは、AIテクノロジーグループのエンジニアの吉田です。 本記事はEnigmo Advent Calendar 2025の 18日目の記事です。 普段は検索システム全般、機械学習システムのMLOps、AI関連の機能開発を担当しております。 この記事では「AIでさがす」サービスのリニューアルについて紹介します。 「AIでさがす」サービスとは 「AIでさがす」サービスは、BUYMAのWebサイトおよびアプリで提供している、AIを活用した商品提案サービスです。 実際の機能は以下からご利用頂けます。(BUYMAアカウントでのログインが必要となります。) 「AIでさがす」サービス ユーザーが文章で質…
20日前

Workflows + Cloud Scheduler で定期処理をサーバーレス構築(Cloud Composer との比較もあります)
エニグモ開発者ブログ
毎日追加・更新される商品データを 処理する Dataflow を実行したい、という目的に対して、Cloud Composer を使わず、Workflows + Cloud Scheduler を採用することで、管理コストと金銭的コストを最小限に抑えたアーキテクチャを構築した。
21日前

PHPerがRubyistになろうとしてつまづいたところ⑥プロセス内キャッシュ
エニグモ開発者ブログ
WEBアプリケーションエンジニアの小松です! プロセス内キャッシュの挙動に馴染みがなかったので、どういう挙動なのか。 ネットワーク越しのキャッシュとの使い分け。 他言語との比較でRails特有の仕様なのかどうか。 という疑問が湧いたので調査し、それを記事にしました。 この記事は[Enigmo Advent Calendar 2025]の16日目の記事です。 ローカルキャッシュとは何か 今回直面した疑問と調査内容 「ディスク IO を避けたいだけなら」プロセス内キャッシュが最も速い 実際に採用したコード Rails 特有の挙動 Rails サーバーが複数台ある場合の挙動 キャッシュとしての位置づ…
22日前

エニグモでは問い合わせをどう捌いているのか?ヘルプデスク業務の裏側をお伝えします
エニグモ開発者ブログ
こんにちは、コーポレートエンジニア(コーポレートITチーム)の藤田です。 この記事は Enigmo Advent Calendar 2025 の15日目の記事です。 コーポレートIT(以下CO-IT)の業務において、地味ながらも非常に重要な「ヘルプデスク業務」についてお伝えします。 「どのようなツールを使って、どのようなフローで対応し、どうやってナレッジを残しているのか」 普段あまり表に出ることのない、運用の裏側をご紹介しようと思います。 自己紹介 なぜこの記事を書くのか エニグモのヘルプデスク構成要素 ヘルプデスク対応のフロー 運用における3つのこだわり 入り口の設計:「優しさ」と「セキュリ…
23日前

GCSToSFTPOperatorでハマった
エニグモ開発者ブログ
こんにちは!WEBアプリケーションエンジニアの小松です! 今まで主に EC サイトの WEB エンジニアとして仕事をしてきて、Airflow を触るようになったのはエニグモに入社してからでした。 BUYMA では、広告媒体向けのフィード生成や外部パートナーとのデータ連携、在庫データの収集など、毎日大量に発生するバッチ処理を Airflow に任せています。 人手では絶対に回せない規模なので、Airflow は影の立役者のような存在です。 そんな Airflow を動かしている基盤が Google Cloud Composer なのですが、会社全体でオンプレサーバーからクラウドへ移行していく流れ…
25日前

ローコードAIツールDifyをエンジニアが使ったら?コードブロックでハマった7つの落とし穴
エニグモ開発者ブログ
こんにちは、AIテクノロジーグループの辻埜です。 本記事は Enigmo Advent Calendar 2025 の12日目の記事です。 普段はデータサイエンティストとして機械学習を用いたシステムの開発運用や、社内のAI活用推進を担当しています。 近年、生成AIの活用が進む中で、エニグモでも社内のAI活用を推進するため、Difyという生成AIアプリ開発ツールを活用した取り組みを行っています。Difyは非エンジニアでもAIを組み込んだワークフローを簡単に構築できるツールです。 dify.ai 社内での導入初期に、使い勝手はどうか?どんな場面で有用か?を調査するため自分でも使ってみたところ、いく…
1ヶ月前

BigQueryのデータをAIでフィルタリング!手動→自動化→コスト最適化の3ステップ
エニグモ開発者ブログ
こんにちは、AIテクノロジーグループの竹田です。 本記事は Enigmo Advent Calendar 2025 の11日目の記事です。 本稿では、BigQueryで抽出したデータに対して「金額に関する記述が含まれているか」をAIで判定する方法を、段階的に進化させながら紹介します。 この記事を書いた背景 私は元々検索システムの運用保守やMLOpsのOps周りを担当していました。 しかし、ここ最近は生成AIが実用的なツールとして利用できるようになり、業務でもAIを活用した対応が急増しています。 そんな中で直面したのが、「BigQueryで抽出した大量のテキストデータに対して、AIで判定処理を行…
1ヶ月前

PHPerがRubyistになろうとしてつまづいたところ⑤Facade
エニグモ開発者ブログ
こんにちは。WEBアプリケーションエンジニアの小松です。 私はこれまで主に EC サイトの開発に携わってきて、普段は PHP を中心に書いてきました。本格的に Ruby on Rails に触れるようになったのは、エニグモに入社してからです。 Rails のコードベースに新しく入ると、「Rails ではこう書くのか」と驚く場面が多いのですが、その中でも特に戸惑ったのが Facade パターン でした。 Service、Presenter、FormObject あたりは PHP の現場でも馴染みがありましたが、「Facade としてロジックをひとまとめにする構造」 は自分にとってほぼ未経験。 既…
1ヶ月前

入社3年を迎えて、CS対応が私の成長に与えた影響について
エニグモ開発者ブログ
こんにちは。サーバーサイドエンジニアの高橋です。 この記事はEnigmo Advent Calendar 2025の9日目の記事です。 中途入社してから3年が経ちました。この記事では、この3年間で携わってきた業務の中でも、特にCS(カスタマーサポート)対応が自分のスキル習得やプロダクト理解に大きく寄与した点についてまとめます。 ■ 入社当初の状況 入社直後は、プロダクトの構造や各ドメインの役割、社内ツール群の使い方など、把握できていないことが多くありました。 コードを読み解くにも関連する背景知識が不足しており、調査の進め方についても試行錯誤の状態でした。 新しい環境に慣れるまでの間、どこに情報…
1ヶ月前

フロントエンドエンジニアがEffect-TSの導入を検討してみた
エニグモ開発者ブログ
こんにちは!フロントエンドエンジニアの張です! この記事はEnigmo Advent Calendar 2025の8日目の記事です。 「型安全」、「堅牢性」、「開発体験」、どれもエンジニアでしたら、近年よく聞くキーワードだと思います。特にウェブ開発、フロントエンド開発界隈では、それらを改善するためにTypeScriptを導入・採用するチームが増える一方です。 でも、「それでは足りない、もっと堅牢的、かつ保守しやすいTypeScriptを書きたい!」だと主張するコミュニティが実は存在していて、彼らがたどり着いた解決策は今回私が導入を検討したEffect TSです。 私の調査を説明する前に、記事を…
1ヶ月前

SVGファイルは本当に安全なのか?SVGの中にある危険な仕組みと対策
エニグモ開発者ブログ
こんにちは!Webアプリケーションエンジニアのレミーです! この記事はEnigmo Advent Calendar 2025の7日目の記事です。 最近「Operation Hanoi Thief」という事件を読みました。 これは、ベトナムのITエンジニアや採用担当者を狙ったサイバー攻撃についての内容で、怪しいファイルを送りつけて情報を盗む手口が紹介されていました。 その中で、一見ただの画像に見えるファイルでも、実は中に攻撃的なコードが入っている恐れがある、という点が気になったので、SVGの中にある危険な仕組みを紹介します。 多くの人にとって、SVGファイルは「軽くて、拡大しても劣化しない便利な…
1ヶ月前

PHPerがRubyistになろうとしてつまづいたところ④ルートヘルパー
エニグモ開発者ブログ
こんにちは!WEBアプリケーションエンジニアの小松です! 今まで主にECサイトのWEBエンジニアをやっていて、本格的にRuby On Railsの開発をするのはエニグモに入社してからです。 この記事は[Enigmo Advent Calendar 2025]の6日目の記事です。 はじめに:なぜ今、ルートヘルパーを振り返るのか ルートヘルパーとは?(なぜ必要なのか) ハードコード vs ヘルパー 基本的な仕様と使い分け 1. 基本形:resources から生成されるもの 2. _path と _url の違い 複雑なルートの解読(ここがつまずきポイント) ケース1:namespace (管理画…
1ヶ月前

ありあわせで分析する技術:ブリコラージュ的データアナリティクスの勧め
エニグモ開発者ブログ
こんにちは、データアナリストの井原です。 この記事はEnigmo Advent Calendar 2025の5日目の記事です。 この記事では手元で手に入るデータ(情報)が限定的でも、出来る範囲で分析を行ってみることは大事なのではないか?というテーマで書いていきます。 私は普段データアナリストとして、データからビジネスの意思決定を行うための示唆出しを主要業務にエニグモで働いています。データアナリストというと、因果推論、統計、Python、AIなど、データを正しく解釈するために、論理的な思考や熟考が要求される、いわゆる左脳的と言われるような学びが多くなる傾向があると思います。そして、そういった左脳…
1ヶ月前

AWSにおけるコスト削減の考え方
エニグモ開発者ブログ
こんにちは、インフラエンジニア の 森田です。 この記事はEnigmo Advent Calendar 2025の4日目の記事です。 BUYMAは8月に本番環境を移行しており、その後コストのチューニングを行っています。 この記事では実際に進めた内容を元に自分のAWSにおけるコスト削減の考え方と役立つ機能について紹介します。 サマリ まず最終的なゴール設定ですが、リザーブドインスタンスやSavings Plans等利用量をコミットしてコスト削減を行えるモデルの購入とします。 また今回は分かりやすいよう主要なサービスであるEC2とRDSでのコスト削減をターゲットとします。 大枠では次のような流れで…
1ヶ月前

不要なスナップショットによるコスト増を防ぐ定期監視の仕組みを構築しました。
エニグモ開発者ブログ
はじめに こんにちは、SE本部の加藤です。現在はインフラグループに所属し、BUYMAのAWS基盤を運用しています。 この記事は Enigmo Advent Calendar 2025 の 1日目の記事です。 背景課題 BUYMAのAWS運用を続ける中で、RDSのバージョンアップ作業等で取得した手動スナップショットが、複数のAWSアカウントに作業後も削除されずに残留しており不要なストレージコストを生んでいました。 スナップショットを自動削除するためのマネージドサービスの機能がないか調べてみたものの、今回の要件に当てはまる機能は存在しないようでした。 そのため、複数アカウントのスナップショットを一…
1ヶ月前

エンジニアリングマネージャーが語るBUYMA開発の魅力~事業志向と技術志向が両立する環境~
エニグモ開発者ブログ
国内最大級の海外ファッションECサイト「BUYMA(バイマ)」を運営するエニグモ。今回は、エンジニア組織を支えるエンジニアリングマネージャーとして、プロジェクト推進からメンバー育成まで幅広く携わる穴澤さんにインタビューしました。これまでのキャリアやエニグモに入社した経緯、現在の役割、そして「BUYMA」の開発に携わる魅力について伺いました。 これまでのキャリアとエニグモに入社した経緯を教えてください 前職では、オンライン英会話サービスを開発する会社でWebサービス開発チームのリーダーを務めていました。 サーバーサイドエンジニアとして英会話レッスンの予約システムや決済機能のメンテナンスからスター…
1ヶ月前

エニグモのAI活用を支える「AIテクノロジーグループ」について紹介します!
エニグモ開発者ブログ
はじめに こんにちは、AIテクノロジーグループの辻埜です。普段はデータサイエンティストとして機械学習を用いたシステムの開発運用や、社内のAI活用推進を担当しています。 近年、テクノロジーの発展に伴いAIの重要性が叫ばれる中で、エニグモが運営するソーシャルショッピングサイト『BUYMA』でも積極的にAIの活用が進められています。この記事では、エニグモにおいてAIやデータをメインで扱っている「AIテクノロジーグループ」についてご紹介します。 まずはじめに「AIテクノロジーグループ」の組織における位置付けとグループ内のチーム構成を簡単にご説明した上で、メインのトピックとして各チームの業務内容や技術ス…
4ヶ月前

BUYMAのWebエンジニアインタビュー/20年続く大規模サービスで、裁量を持って開発の全工程に携わる魅力
エニグモ開発者ブログ
こんにちは、UXデザイングループの宮川です。今回は、エニグモが運営するソーシャルショッピングサイト「BUYMA」で、購入者向け機能を開発するチームのエンジニア、東野さんにインタビューしました。エニグモに入社したきっかけや普段の業務内容、そしてエニグモで働く魅力について伺います。 これまでのキャリアとエニグモに入社した経緯を教えてください 元々、エンジニアとしてキャリアをスタートさせたわけではなく、建築業界で施工管理の仕事をしていました。そこからエンジニアという職業に興味を持ち、独学で勉強してエンジニアとして転職しました。 前職ではエンジニアが5名ほどの小規模な組織に所属し、Web上の店舗情報を…
6ヶ月前

AppSheet初心者向け YouTubeおすすめ動画(見る順番付き)
エニグモ開発者ブログ
こんにちは、エニグモ 嘉松です。 データ活用推進室という部署でデータ活用の推進やマーケティング・オートメーションツール(MAツール)を活用した販促支援、CRMなどを担当しています。 この記事は エニグモ Advent Calendar 2024 の 25 日目の記事です。 はじめに この記事では、AppSheetを学び始めたばかりの私が実際に視聴して役立ったYouTube動画をご紹介します。 効率的にスキルアップできるよう、おすすめの視聴順も一緒にご紹介します。 AppSheetとは AppSheetとは、プログラミングの知識がなくても簡単にアプリを作成できるGoogle社が提供するノーコード…
1年前

Datadog Live Tokyo 2024 Reprise に参加してきました!
エニグモ開発者ブログ
こんにちは!Webアプリケーションエンジニアの 川本 です! この記事は Enigmo Advent Calendar 2024 の 23日目の記事です。 2024年12月18日に開催された Datadog Live Tokyo 2024 Reprise へ参加してきました。 www.datadoghq.com 10月に行われた Datadog Summit Tokyo 2024 にも参加したのですが、イベント内容の充実度とそこから得た学びが多かったことから今回のイベントにも参加を決めました。 Datadog Summit Tokyo 2024 へ参加した際のレポートを 2日目のAdventC…
1年前

ノーコード・ローコード:AppSheetがもたらす開発手法と業務スタイルの変化
エニグモ開発者ブログ
こんにちは、GASエンジニア の 佐伯 です。 この記事はEnigmo Advent Calendar 2024の 21 日目の記事です。 この記事ではGoogle製のアプリ開発ツールである、AppSheet について紹介します。 軽く自己紹介になりますが、普段はGAS(Google Apps Script)やBigQueryなどを用いて業務用ツールの開発を行っています。最近はGASとの親和性も高いAppSheetに挑戦しているので、その中で気づいたことをまとめます! 概要 AppSheetの利用を検討している方向けに、AppSheetの基本的な特徴やメリットをまとめる。また、より高度に使いこ…
1年前

BigQuery上のデータへのアクセス制御
エニグモ開発者ブログ
こんにちは、データエンジニアの中村です。 新卒で入社してから、気づけば2年が経とうとしています。時間の流れは本当に早いものですね。 今回は、私がこれまで取り組んできたデータ基盤におけるアクセス制御に関する技術と取り組みについてお話ししようと思います。 昨日に引き続きデータ基盤関連の記事になりますが、ぜひ最後までご覧ください! この記事はEnigmo Advent Calendar 2024 の20日目の記事です。 目次 背景 ポリシータグとは ポリシータグの利用イメージ ポリシータグによるアクセス制御の仕組み 使ってみた感想 まとめ 最後に 背景 弊社のデータ基盤はBigQueryを利用してお…
1年前

Lookerで大幅にコスト削減できた話
エニグモ開発者ブログ
こんにちは、データエンジニアの中村です。 弊社ではBIツールとしてGoogle Cloudから提供されているLookerを利用しています。 Lookerの利用者も徐々に増えており、日々データ活用が進んでいることは嬉しいですが、それと比例して気になるのはダッシュボードの表示速度やクエリコスト等のパフォーマンスです。 最近AggregateAwarenessという機能を利用してパフォーマンスを改善することができたので、その機能を利用するに至った背景と、その改善効果を紹介したいと思います。 AggregateAwarenessの詳細な使い方は説明しないので、その点はご了承ください。 この記事はEni…
1年前