DMMエンジニアにPHPの「推し関数」を聞いてみた〜PHPerKaigi 2025に協賛します!〜

PHPerKaigi とは? PHPerKaigi 2025 開催概要 チャレンジトークン企画概要 DMM エンジニアに PHP の「推し関数」を聞いてみた 1 人目: watarukura さん 好きな PHP 関数 理由 関わっているプロダクト or 事業 2 人目: 矢島さん 好きな PHP 関数 理由 関わっ…

ElastiCacheにおけるRedisからValkeyへの移行

はじめに Valkeyとは OSSとしてのValkey クラウド上のオンメモリキャッシュとしてのValkey Valkeyの導入 移行プロセスと注意点 1. 破壊的変更の影響を確認すること 2. ダウンタイムが発生すること 3. Redis OSSへの再移行が不可能であること 破壊的変更の影…

ECSタスクの停止理由をログに残しましょう

はじめに なぜECSタスクの停止理由をログとして保存するべきなのか? New Relic や Datadog にECSタスクの停止ログを送信する方法 Terraformを使った実装例 1. Amazon Data Firehose 用のIAMロールの作成 2. Amazon EventBridge 用のIAMロールの作成 3. Amaz…

AWS NAT Gatewayの通信分析とコスト最適化

はじめに 背景 NAT Gatewayの通信分析 調査のために必要なリソース構成 調査1: AWS内の通信 AWS内通信の調査結果例 調査2: AWS以外との通信 AWS以外との通信調査結果例 NAT Gatewayの通信量削減案 案1: VPCエンドポイントの作成 案2: 通信内部化 案3: VPC Pe…

EXNOAに転職してからの1年間を振り返る

はじめに 配属チームと業務内容について 3月:環境構築 4月~6月:開発業務とメンター 7月:画像サーバー移行プロジェクト 8〜10月:開発業務と新メンバーの受け入れ 11月~2月:技術的負債の解消 問題点の整理 解決方針の策定 まとめ はじめに 皆さん、こん…

AWX で踏み台サーバーを経由してネットワーク機器に接続する方法

はじめに AWX とは 踏み台サーバー経由で接続するケース 検証環境 調査結果 設定内容について ディレクトリ構造 設定方法 方法1: プロジェクト全体で適用する(ansible.cfg の設定) 手順1: ansible.cfg の設定 手順2: リモートリポジトリへのプッシュ 手順3…

DMMにおけるNew Relic導入と社内情報発信の取り組み

はじめに New Relic導入活動の背景 New Relicとは? 社内への情報発信活動 1. New Relicを活用するための社内勉強会 2. New Relicに関する社内情報発信 1. おすすめ機能紹介 2. アップデート情報 3. メンテナンス情報 3. Slackでのサポート体制 今後の取り組…

ユーザーレビューサービスのバックエンドAPIにおけるリソース最適化の取り組み

はじめに 背景と課題 スペックの調整 現状の設定 新しい設定 成果と効果 1. リソース消費量の削減 2. HPAの安全な活用 3. コスト削減 削減コストの試算 まとめ 補足 はじめに こんにちは。プラットフォーム開発本部 第一開発部 ユーザーレビューグループの作…

生成AIでレビュー承認業務を大幅削減 〜導入14日で6割自動化の成果〜

1. はじめに 2. 前回のおさらい 3. 自動化の範囲 4. 導入の成果 AIの承認数 AI vs 人の承認速度 5. 今後の展望 – 8割以上の自動化 – 6. 当初の懸念 7. 現場のリアルな反応 8. まとめ 求人とお問いわせ 1. はじめに プラットフォーム開発本部 ユーザーレビュ…

AWS Database Migration Service (DMS) – MySQLでの活用Tips集

はじめに AWS Database Migration Service とは DMSの仕組み DMS移行タスク Tips集 エンドポイント設定 ターゲットテーブル作成モードで作成される型について データ検証機能 プライマリキーの型 データ検証に伴う負荷 Amazon Aurora MySQLをソースとする場…

Amazon ECRプルスルーキャッシュを使ってみた

はじめに ECRのプルスルーキャッシュリポジトリとは プルスルーキャッシュリポジトリ機能の全体イメージ プルスルーキャッシュ機能を使いはじめる前に確認すること (1)NAT 経由のイメージpull通信コスト (2)プルスルーキャッシュ機能利用時のストレー…

temporary tableを使って10時間かかっていたバッチ処理時間を30分まで短縮した話

はじめに 当時の課題 解決策の検討 テーブル結合する前に処理対象のデータを可能な限り小さくする 処理がどこまで進んでいるかを外部から確認できるようにする 実際の修正 改善効果 さいごに はじめに こんにちは。DMM.com 二次元&イノベーション開発本部 …

プラットフォームを支えるエンジニアへ 〜新卒が取り組んだ業務と学び〜

こんにちは、EXNOAの2024年新卒の田中です。 EXNOAでは2019年以来4年ぶりの新卒エンジニアとして、私を含め3名が入社しました。 私はその中でゲームプラットフォームの決済システムの開発・運用保守を担当する決済チームに所属しています。 この記事では、EX…

DMM.博士 通信 Vol.2 - 分散型RAGサテライトシステムの構想

はじめに 着想に至るまで 対象データはどうするか なにで開発をするか システム全体像 Data Collector Indexer Monolithicalized Indexer Vector Store & Retriever Agent どうなったか おわりに はじめに DMM.博士通信の2回目の投稿になります。今回は前回…

【学生向け勉強会】teamLab×DMM tech meetup ~frontend~ を開催しました

初めに 開催経緯 テーマ設定と準備 今回のテーマ 入社から8ヶ月で経験したフルスタックエンジニアとしての挑戦と成長 BEエンジニアがFEの業務をできるようになるまでにやったこと 業務に役立つ!ブラウザデベロッパーツールの機能紹介と活用例 …

生成AIから行動するAIへ レビュー自動承認化と精度100%への挑戦

1. はじめに 2. 背景と課題 3. 生成AI導入のメリット 4. 自動化までのPhase Ph1. 生成AI導入の準備 (PoC) Ph2. 人の判断を支援するシステムの構築 Ph3. 判定精度の向上対応 Ph4. 自動化戦略 Ph5. 自動化システムの構築 Ph6. 自動化の開始 5. 総括 あとがき …

リアーキテクチャによる運用負担改善の取り組み

はじめに お知らせ通知機能とは? 旧お知らせ通知機能のアーキテクチャ 配信基盤を刷新することになった背景について リアーキテクチャ後のシステム構成について Cloud Run Cloud Bigtable BigQuery 改善した点について 入稿担当者のみで配信設定が完結 入稿…

AWS re:Invent 2024参加レポート

はじめに LC 開発部:神畠正稔 Keynote Accelerate database performance and scalability with AWS storage 全体を通しての感想 現地参加して感じたこと 日本における生成 AI とその向き合い方 オンラインサロン開発部:國分竜二 NVIDIA 主催の GameDay:Ge…

DMM meetup #40 / DMM.go #9 - Go言語で開発するDMMプロダクト - 開催レポート

はじめに 当日の様子 ノベルティの写真 登壇中の写真 登壇内容 清川航一: 「Go プロダクトにおけるテスト改善の軌跡」 登石拓磨: 「突然発生した Flaky Test との戦い」 菊地ひなた: 「新卒が解説する DMM の検索 proxy-API の解体書」 佐藤啓樹: 「GitHub A…

DMM meetup #40 / Think! FrontEnd #7 開催レポート

はじめに Think! FrontEnd とは? DMM meetup とは? OAuth 2.1 + PKCE のススメ ~ Spotify API を通して理解する、OAuth 2.1 + PKCE の基礎と実践~ DMM でデザインデザインシステムやってみてわかった、美味しいところ・美味しくないところ 組み込みアプ…

EXNOA新卒エンジニアの業務内容紹介 〜大規模プラットフォームを支える技術〜

はじめに 1日の流れ 10:00~11:00 出勤 11:00~12:00 作業 12:00~13:00 MTG・作業 13:00~14:00 ランチ 14:00~19:00 MTG・作業 19:00~ 退勤 技術について 業務について 締め はじめに EXNOAに24新卒として入社いたしました朴と申します。EXNOAはDMM GAMESという…

にじ技術祭にLTで登壇したので工夫していることをまとめてみました

はじめましてと自己紹介 にじ技術祭とは? 今回の内容について LTで気を付けていること、工夫していること LTのポイント スライドの内容を把握する 当日や前日にスライドの内容を変えない 臨機応変に対応する 工夫していること スライドの冒頭に話すことを伝…

上層部の仕事が見えないのはなぜか 〜組織構造と不確実性の観点から〜

はじめに 不確実性の高さ・低さ 上司の上司が仕事していないように見える理由 まとめ はじめに はじめまして。DMMでVPoEを任されている大久保です。 今年で4回目になりますが、DMMグループ Advent Calendar 2024の最後を務めさせていただきます。最後までお…

MVPパターンを採用したツール開発の効果

はじめに 開発したツールについて MVPパターンとは 導入背景 MVPを取り入れたことによる効果 ビューが増えた時の対応が容易である ロジック部分のテストが書きやすい 課題点 プレゼンターが肥大化しやすい MVPパターンに属さないクラスの置き場所が乱雑にな…

DMMデザイン組織の動き2024

自己紹介 はじめに 1. プロダクトデザインが求めらえるシーンの増加 【取り組み詳細の記事】 2. AIと共創する文化の定着 【取り組み詳細の記事】 3. 採用/外部発信の強化 さいごに 自己紹介 齊藤 卓真 デザイン部 部長 クライアントワーク/事業会社でデザ…

エンジニアの執筆・登壇支援の取り組みの紹介

はじめに 本記事のGoal 取り組みを始める前の課題感 社内のエンジニアの人数に対して仕事内容の社外へのアウトプット数が少ない アウトプット内容とそれを見た人の期待値とのギャップを減らしたい アウトプットの炎上を防ぎたい 課題を可視化するために各チ…

ストラングラーフィグパターンとsync-diff-inspectorを用いてゼロダウンタイムのDB移行を達成した話

はじめに 移行の要件 DBの移行方法 DB移行に生じる課題 sync-diff-inspector オンラインで実行するために工夫したこと sync-diff-inspectorによる課題解決 移行開始時点で生じるデータ差分への対処 分散トランザクションにおける修正クエリの容易な適用 デー…

データベースエンジニアの仕事の変化について

はじめに ところでデータベースエンジニアって? 従来のデータベースエンジニアの主な仕事 1. データベースの設計・設置 2. データの整合性とセキュリティ 3. バックアップとリカバリ 4. アップグレードとメンテナンス 5. トラブルシューティング 6. 監視と…

Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道

はじめに この記事で伝えたいこと 解決したい課題 用語解説 Mermaid AST 完成版コード このコードで実現できること このコードでまだ実現できないこと コード 工夫箇所 コメント if 文 for 文 出力結果 (if 文) 元となるビジネスロジック 出力された Mermaid…

EOL対応!Amazon Aurora v3へ無停止でバージョンアップするまでの取り組み

はじめに Amazon Aurora v3 へバージョンアップを行った経緯 バージョンアップの要件と課題について バージョンアップを行うために実施したこと バージョンアップ用のv3クラスターと切り戻し用のv2クラスターの作成 単体テストが不足しているAPIやバッチの実…