アドベントカレンダー

エンジニアが何故マネジメントを難しいと感じるのか

こんにちは。昨年同様Advent Calendarの最後を務めることになりましたVPoEの大久保です。今年の当社のAdvent Calendarも面白い記事がたくさんありますので、まだ読まれていない方はぜひ見ていただけると幸いです。 今年のDMMも数多くのチャレンジをしてきま…

Dagger Go SDK vs Shell in GitHub Actions ~ モノレポのCIの実装をGoで実装するまでの道のり ~

はじめに Dagger Go SDK vs shell in GitHub Actions コードの視認性 エラーハンドリング 単体テスト ワークフローを実装するにあたって shell と Go で実装量を比べる 保守/運用のしやすさ まとめ 宣伝 はじめに DMM.com 2022年度 新卒入社の N9tE9 です。…

DMMデザイン組織の動き2023

プラットフォーム戦略を実現するためのUI/UXのブラッシュアップ 1.DMMプレミアム 制作チームの構築 2.プラットフォームプロダクト デザインチームの強化 3.新規事業のグロースフェーズへの移行支援 クリエイター( デザイナー / エンジニア / PM・PdM など) …

開発を通して感じたマイクロサービスを採用する大変さ

はじめに 大変だと思ったエピソード チームを横断した知見の共有 ログ基盤の構築 車輪の再発明の防止 マイクロサービスは費用がかかる まとめ はじめに DMMグループAdvent Calendar 2023 の22日目を担当する、いっぬ(@yuyu_hf)です。 プラットフォーム事業…

横断的コードレビューを1年間やった個人的な振り返り

はじめに レビューシステム概要 うまくできたところ レビュー支援先の開発チームから悩みを持ち込んでもらえ、ソフトウェアアーキテクチャの悩みを解決できた Named return value を使う MVC で C の処理が増えていることに悩んでいる うまくできなかったと…

AWS re:Invent 2023 新発表サービス AmazonQを試してみる

AmazonQとは? チャット機能 トラブルシューティング 最適なEC2インスタンスタイプを質問する まとめ オンラインサロン開発部 開発グループ アーキテクトチームの高津です。 普段はアーキテクトチームのメンバーとして、システム刷新プロジェクト「neon」の…

サービスの稼働状況をStatus Pageを使って可視化した話

はじめに なぜ Internal Status Pageを作ろうと思ったのか Internal Status Pageについて サービス選定基準 システム構成 構成要素について できた! 今後の展開 最後に はじめに この記事は DMMグループ Advent Calendar 2023 の19日目の記事です。 こんに…

Google Kubernetes Engine のクラスタ認証情報をローテーションするまでに考えたこと

なぜGKEクラスタ認証情報のローテーションが必要だったのか 認証情報ローテーションの具体的な手順 対応が必要なAPIクライアントの絞り込み APIクライアントの分類分け 対応が不要なクライアント クラスタ内のPodをService Accountを用いて認証しているパタ…

KubeCon + CloudNativeCon North America 2023 参加レポート

KubeCon + CloudNativeCon North America 2023 の 参加レポート はじめに KubeCon + CloudNativeCon とは 印象に残ったこと OpenTelemetryが盛り上がっている AIの活用はまだ先? まとめ 余談 はじめに こんにちは!データ基盤開発部ML基盤チームの青島です…

内定者アルバイトから新卒として入社した2023年の振り返り

内定者アルバイト時代のプラットフォーム事業本部 第3開発部 不正対策チームでの経験(「Hedged Request」機能追加) Hedged Requestとは何か メリットと結果 トークンバケット 苦労した点・もう少し頑張りたかった点 セキュリティ部に配属されてからの経験…

BigQuery Remote Functionsによる形態素解析

はじめに Remote Functionsについて Cloud RunによるAPIの実装 Remote Functionsの作成 実行 まとめ はじめに はじめまして!DMMのML基盤チームの上田亮です。 2023年に新卒として入社し、検索やレコメンドのインフラ基盤の開発に携わっています。 私たちの…

OasysのL2チェーンを自社運用している話 〜DMMのweb3事業とブロックチェーン運用Tips紹介〜

※株式会社DM2C Studioは2024年7月30日付で株式会社DMM Cryptoへ社名を変更いたしました。また、記事内で登場するトークンの名称「DM2P」は「Seamoon Protocol(SMP)」へ変更して発行予定です。 はじめに Seamoon Protocolについて SMPが提供する4つのモジュ…

フロントエンドで制御するLive2Dキャラクター~個性的にキャラクターを動かす工夫~

はじめに Live2D制御とフロントエンド キャラクターを制御する3つの概念 FaceTracking ロール制御 ピッチ制御 ヨー制御 Expression制御 Motion制御 3種の制御の組み合わせ・優先順位 終わりに 井内将俊 フロントエンドエンジニア 23新卒、LC開発部 VCグロー…

バックエンドエンジニアから社内初の「デザインエンジニア」になった話

はじめに 自己紹介 デザインもエンジニアリングもやっていきたい → 「デザインエンジニア」を名乗らせていただくことになった デザインエンジニアの仕事とは?事例から定義してみる ゆめみオープン・ハンドブック デザインエンジニアの定義 ↗ デザインエンジ…

Diátaxisによる知見の体系化を図ろうとしている話

はじめに Diátaxisとは ~概要~ Diátaxisとは ~まずは簡略化して捉えてみる~ Diátaxisとは ~各要素について~ Tutorials How-To guides Reference Explanation 弊チームでの取り入れ方 別枠でドキュメントの歩き方(Q&A)を用意 How-To guidesをラベルで管理 Exp…

購買済み商品の並び替えによる検索結果のパーソナライズ

はじめに 背景・課題 施策 購買済み商品の扱いの方針 施策の結果 おわりに はじめに こんにちは、データサイエンスグループ検索Growthチームの植田です。 DMMでは60以上のサービスを提供しており、デジタル・アナログともに多様なコンテンツを扱っています。…

DMM会員基盤 オンプレミスMySQLからAmazon Aurora MySQLへの移行方法とハマった点

はじめに DMM会員基盤について DB移設を行う理由 (1)会員サービス全体をクラウドに (2)見えにくいコストの見える化 移設方法 Amazon Aurora MySQLの構築 AWS Database Migration Serviceでデータ移行 アプリケーションのリクエスト切り替え 発生した問…

Pull Request のレビュー効率をあげるためにやっておきたいこと

はじめに プロジェクトの概要 チームの生産性可視化の取り組み 生産性向上の実績 生産性向上のための取り組み コミットからオープンまでの時間短縮の取り組み 迅速な環境構築 Pull Request 1 つあたりの差分を小さくする シーケンス図の整理とテストコード拡…

ITコミュニティやハッカソン・アイデアソンになぜ参加するのか?

これまでに参加してきた・しているもの なぜITコミュニティに参加するのか? なぜハッカソン・アイデアソンへ参加するのか? 最後に こんにちは。 DMM.comの小澤孝幸です。 今年の6月にJOINしました。 入社したばかりで何を書けばよいか悩みましたが、今回は…

SwiftUIで作る複数行カルーセル

はじめに 最終的に実装するもの 1行のカルーセル 複数行のカルーセル 自動スクロール機能付きの複数行カルーセル まとめ はじめに DMMグループ Advent Calendar 2023 の5日目を担当する柳元(@toshi_ios_jp)です。現在、私はプラットフォーム事業部 DMM Point…

2023年のゼロランタイムCSS in JSを考える

はじめに 技術選定の背景 評価観点 ランタイムとゼロランタイム、そしてハイブリッドCSS in JS という選択肢 比較結果 パフォーマンス測定 ‍❄️Kuma UIについて Kuma UI導入にあたっての課題 最後に ⚠️この記事は、2023年11月20日時点の情報をもとに制作して…

DMMプラットフォームで発生したノイジーネイバー問題に対してのSLI/SLOを検討した話

発生した事象と経緯 SLI検討 SLI検討案1: 各GKEのNodeにてDiskスロットリングが発生していない時間の割合 検討案概要 (余談)NodeのDiskスロットリングについて SLI検討案2: GKE上にアプリケーションのLivenessProbeの失敗回数が閾値以内である時間の割合 検…

SLIの見直し 開発者目線からユーザー目線へ

はじめに SLI/SLOの導入以前からの課題 どのようなSLIを採用したか 得られた成果と課題 成果 課題 まとめと展望 はじめに この記事は DMMグループ Advent Calendar 2023 の2日目の記事です。 こんにちは、プラットフォーム事業本部 マイクロサービスアーキテ…

なぜソフトウェア開発のドキュメント管理は難しいのか

ドキュメントは何を達成しようとしているのか なぜドキュメント管理は難しいのか 情報の鮮度を保つドキュメントを限定する 対象の性質に合わせてドキュメントを管理する 具体的な例 管理する場所 管理方法 最後に 宣伝 この記事は、DMM グループ Advent Cale…

今年もやります!DMMグループAdvent Calendar 2023

はじめに DMMグループのアドカレについて そもそもアドカレとはなにか? DMMグループのアドカレはいつから? DMMグループのアドカレ2023について 終わりに はじめに VPoE室メンバーの本田です。日ごろは、VPoE室で技術広報業務に従事しており、DMMのテック文…

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

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

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

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

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

フルサイクルエンジニアリングについて 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…