2022-01-01から1年間の記事一覧

re:Invent 2022参加レポート

はじめに プラットフォーム事業本部:pospome IT インフラ本部 SRE 部:小野輝也 AWS Migration and Modernization GameDay Data analysis with Amazon EKS and AWS Batch 全体的な感想 プラットフォーム事業本部:Anri ITインフラ本部 インフラ部:星野卓哉…

他職能のメンバーを巻き込んでサービスのUI/UX改善を実施したデザイナーの取り組み

はじめに スマホブラウザゲーム画面改善案件について なぜ他職能のメンバーを巻き込んで改善を実施したのか 他職能のメンバーを巻き込んで改善する取り組み 【1】共通言語を作って会話する 【2】理由を明記して提案する 【3】検証結果を可視化して共有する …

物事の捉え方と言葉の選び方

この記事は DMMグループAdvent Calender 2022 の25日目の記事です。 こんにちは。昨年同様Advent Calenderのトリを務めることになりましたVPoEの大久保です。今年の当社のAdvent Calenderも面白い記事が沢山ありますのでまだ読まれていない方は是非見ていた…

ベイジアンABテストのためにARPUのモデリングに挑戦してみた

はじめに 記事を書いたモチベーション なぜベイジアンABテスト? ARPUの統計モデルを考える 課題設定 ゼロが多いデータに対するモデリング CVRのモデリング ARPPUのモデリング ARPUの差分の事後分布 まとめ さいごに 参考文献 はじめに この記事は、DMMグルー…

DMM.go #5をオンライン開催しました!

はじめに 当日の様子 小野輝也 「スタブサーバ自動生成ツール 〜負荷試験をもっと楽に〜」 shogo_yuasa 「Go 初心者が AWS 設定のチェックツール作ってみた」 matsumoto 「Go での楕円曲線暗号の実装」 おわりに はじめに こんにちは。DMM.go 運営の N9tE9 …

フルサイクルエンジニアリングを実践する開発組織のオンボーディング設計

フルサイクルエンジニアリングについて DMMポイントクラブのフルサイクルエンジニアリング DMMポイントクラブの旧オンボーディング 新しいメンバーが最速で組織に貢献する為のロードマップを作る 新オンボーディングの整備 1.「我々はどういう組織で、何を目…

DMMプレミアム特典ページにおけるdynamic renderingの実装

dynamic renderingとは? 利用されるツール 導入経緯 アーキテクチャ 1: Lambda@edgeの利用 2: Nginx on ECSのサイドカーを利用 技術選定 アーキテクチャ レンダラ 実装 おわりに 宣伝 この記事はDMMグループAdvent Calendar2022の22日目の記事です。 ITイン…

DMM TVアプリ開発で使用したKotlin Multiplatform Mobile(KMM) について

はじめに DMM TVアプリ アーキテクチャ KMM利用時のメリット 開発コストの削減 OS間の仕様差分の低減 KMM利用時のデメリット iOSエンジニアのKotlin学習コスト ドメイン部分修正時に各OSでUI層の修正が必要になる 片方のOSでビルドが通らない課題の解決策 PR…

全社横断連携のためのデザイン組織拡充

横断プラットフォームデザイングループ組成 個々のサービスとPFプロダクトの連動 デザイナーと周囲の連携をより良く続けるために さいごに 齊藤 卓真 デザイン部 部長 事業会社でデザイン・ディレクション経験を経て2016年にDMM入社。 新規事業のデザインリ…

OpenID CertifiedのOPに関するソースやライセンスを調べてみた

1. はじめに 2. OpenID Provider (OP) とは? 3. OpenID Provider 探しをどのように進めるか 4. 調査方法について 4.1 調査の対象について 4.2 調査する項目について 5 調査結果 5.1 Apache 2.0のケース 5.2 Apache 2.0 以外のケース 5.3 License自体の記載…

Jetpack Composeで自動でスクロールする無限スクロール可能な横方向のPagerを実装する

はじめに 今回作るもの AccompanistのHorizontalPagerについて HorizontalInfiniteAutoScrollPagerの実装 APIを考える 実装を考える InfiniteAutoScrollPagerState ページの計算 自動スクロールの実装 完成したrememberInfiniteAutoScrollPagerState関数 Hor…

レガシーなアプリケーションの監視を改善するため最初にやったこと

はじめに Step 1: SLOの制定 SLO制定へのアプローチ 最終的に制定したSLO SLOに基づくアラート対応フロー Step 2:監視ルールの整理 SLIに関連する監視ルールの追加 Step 3: 監視の実装 Step 4: 監視の運用と継続的な改善 まとめ 最後に はじめに この記事は …

本人確認システムをリプレイスした話

はじめに 本人確認システムリプレイスプロジェクトの概要 リプレイス前の本人確認システム リプレイス後の製品原則 リプレイス後のシステム構成 リプレイス作業の内容 PHPからGoへのリライト サポートの確認業務の簡略化 既存システムからのデータ移行 テス…

デザイナーの「基礎体力」について

はじめに キャンペーンの進行 DMMポイントクラブとは 自身の感じていた課題 制作進行ノック キャンペーン進行の小まとめ 今年の気付き 1, 進行においての振る舞い 2, 自律的にワークする組織 3, 主語が「チーム」「組織」へ変わる時こそ必要な「基礎体力」 …

DroidKaigi2022 参加記

はじめに なぜスタッフになったのか スタッフとして行ったこと DroidKaigiの感想 初オフライン参加 スタッフ参加 さいごに はじめに この記事は DMMグループAdvent Calender 2022 の13日目の記事です。 DMM.comでAndroidエンジニアとしてポイントクラブやDMM…

k8s 上の負荷試験基盤でロードテストを効率化するために新機能を追加した話

はじめに rps を指定できるようにする 負荷をかけるときに rps を指定して実行できなかった課題 RateLimiter を用いて利用者から rps を指定できるようにする 解決できなかった点 worker をスケールさせる機能 既存の負荷試験基盤が抱えていたキャパシティテ…

サッカーワールドカップ日本代表戦から見る私たちの基盤トラフィック推移

11月23日 ドイツ戦 11月27日 コスタリカ戦 12月2日 スペイン戦 12月6日 クロアチア戦 感想 余談 ちなみに… この記事は DMMグループAdvent Calendar 2022 の11日目の記事です。 はじめましての人ははじめまして。知っている人はこんにちは。DMM.comのEC&デジ…

マルチテナントKubernetes環境のKubernetes External Secrets が非推奨になるので External Secrets Operatorへ移行した話

はじめに Kubernetes External Secrets(KES)の非推奨 KESからESOの変更点 ESOでのマルチテナント構成 KESからESOへの移行 最後に はじめに この記事は DMMグループAdvent Calender 2022 の10日目の記事です。 10日目はプラットフォーム事業本部マイクロサー…

Node.jsから爆速の肉まん(Bun.sh)に置き換えて速度を比較してみる

そもそもBun.shとは? 環境について モジュールのインストール速度 npm install Bun.sh 起動速度 npm Bun.sh ビルド速度 npm run build Bun.sh run build サーバーサイドレンダリング速度 npm vue-cli-service serve Bun.sh vue-cli-service serve Node + ex…

Dynamic Links導入時につまづいたこと

初めに トラブル1.実機で動作しない App ID プレフィックスとFirebaseプロジェクトのTeam IDは一致しているか トラブル2.ブレークポイントが壊れた 最後に この記事は、DMMグループAdvent Calendar 2022 7日目の記事になります。 初めに 7日目は電子書籍事業…

UX/UI研修で繋げる職域間のコミュニケーション

なぜ、UX/UI研修を自前で実施したのか? INI株式会社様との合同研修にした理由 研修内容.1)誰に届けるためのデザインなのか定義する 研修内容.2) ビジネスモデルに沿った前提条件を可視化する 研修内容.3) 改善する時に立ち戻るべきポイントと条件を紐付…

storybookでUIコンポーネントと同様にメールテンプレートを管理してみた

はじめに 取り組み概要 課題感について 今回の解決策紹介 改めて結果についておさらい 最後に はじめに この記事は、DMMグループ Advent Calendar 2022の2日目の記事です。 こんにちは。VPoE室の飯田涼太です。 本日は、ユーザに送付するメールのテンプレー…

ソフトウェア開発の予測と記録と資産〜プロジェクト失敗率 69%の壁〜

プロジェクトの失敗率は、約69% 原因は、計画・仕様・システムの不確実性 よくある失敗 どうしていくべきかの考え方の提案 予測して、記録して、資産化する 1. 予測 2. 記録 3.資産 全体まとめ この記事は、DMMグループ Advent Calendar 2022の1日目の記事で…

Datadogを利用したE2Eテストの活用事例紹介

はじめに システム構成 本番環境のシステム構成 ステージング・開発環境のシステム構成 料金 シナリオ作成 条件の例 ユースケース 論理シナリオ Datadogでテストの作成 準備 新規ブラウザテスト作成 テストの詳細情報を設定 論理シナリオに沿ったテストの作…

プロダクト改善を支えるため商品データベースを分割している話

はじめに 商品DBとは 商品DBが抱えていた課題 大量のReadReplica 密結合なデータ 密結合なアーキテクチャ メンテナンスにかかる大きな調整コスト プロジェクトの立ち上げ やると決めたこと やらないと決めたこと 移行後の構成 現状を分析する 構成検討と意思…

サービスマイグレーションによるエンジニア組織の変化

はじめに なぜシステムをリプレイスしているのか 2020年頃のシステムとエンジニア組織 組織体制図 システム構成とそれぞれのチームの依存関係 この時の問題点と、それをどのように改善しようとしていたか 2021年ごろのシステムとエンジニア組織 組織体制図 …

デザインシステムにおけるタイポグラフィーの試行錯誤

デザイントークンの簡単な説明 私たちが作るタイポグラフィー Global Token の定義 Alias Token の定義 イレギュラーの対応 レスポンシブタイポグラフィー Typography を適切に使ってもらうために まとめ プラットフォーム事業本部のフロントエンドグループ…

DMM GAMES プラットフォーム開発チームへのスクラム支援について

はじめに 自分は何者か なぜ支援が必要なのか 支援に携わることになったきっかけ 色々ヒアリングしてみた 時間経過と共に変化する重視すべき4つの領域 どんなことをやっているのか まずは観察と妨害リストの作成 最初に登る山を決めるワークショップ チーム…

DMM.com Groupの仮想基盤を支えるEVPN/VXLAN環境について

EVPN/VXLANとは EVPN/VXLAN環境構築の背景 EVPN/VXLAN環境の紹介 Underlay 4Byte-AS IP Unnumbered Overlay VTEPでのMACアドレス学習 トラフィックフロー Backboneネットワークとの接続 さいごに こんにちは、インフラ部ネットワークグループの松原です。私…

DMMのオンプレネットワークってどんなもの? 〜DMMオンクレ編〜

プロジェクトの背景 ネットワーク構成について 構築方法について さいごに こんにちは、あるいはこんばんは。インフラ部ネットワークグループの佐々木です。 昨年秋頃から今年の3月にかけて、DMMオンクレ事業のクレーン拠点のネットワーク構築というプロジェ…