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

PHPからGoへのリライトで学んだこと

はじめに リライトの概要 大変だったこと PHP のコードを理解することが前提 Go の言語特性を活かせない 良かったこと フレームワークに頼りきらない実装方法が身につく 既存サービスの実装理解の向上 命名統一によるコードレビューの効率化と生産性向上 ま…

Object.definePropertyを用いた動画再生のデバッグについて

初めに Object.definePropertyとは 実際のデバッグについて まとめ & 直近開催イベントの宣伝 DMM meetup #40 ~DMM.go × Think! FrontEnd~ 【学生向け勉強会】teamLab×DMM tech meetup ~frontend~ 初めに この記事は DMMグループ Advent Calendar 2024 の7日…

TCPのhalf-open connectionsが発生したので紐解いてみた

はじめに 環境 今回発生した問題 half-open connectionsに関する余談 half-open connectionsが発生した原因と解消方法 cloud nat Istio Nginx 最後に はじめに この記事は DMMグループ Advent Calendar 2024 6日目の記事です。 こんにちは、プラットフォーム…

決済基盤の技術的負債に向き合う

最初に 決済基盤の技術的負債に向き合う DMMの決済基盤とは 広く、浅く、全体を俯瞰して見る やったこと わかったこと 外から見た決済基盤を知る やったこと わかったこと 決済基盤を取り巻く背景をコンテキストマップに書き出す やったこと わかったこと 機…

成果を最大化する振り返りのコツ:知っておくべき観点とフォーマット

1. はじめに 振り返りの重要性 現状と課題 新しいアプローチの導入 2. 新しい振り返り手法の導入 振り返りの観点の導入とは 事前アンケートの重要性と作成方法 振り返り観点の具体例 3. 事前アンケートの詳細と結果紹介 アンケート内容の紹介とサンプルフォ…

新卒1年目がモダナイズプロジェクトを進めている話

はじめに モダナイズに至った背景 技術選定について インフラについて フロントエンドについて バックエンドについて アサイン後から現在までの動き 8月 9月〜10月中旬 10月下旬〜現在 さいごに はじめに こんにちは。開発統括本部テックリード室Bグループの…

日時フィールドの丸め処理を入れて検索のレスポンス改善をした話

はじめに 結論 やったこと 得られた結果 検索システムの簡易理解 DMMの検索システム概要 Solrのクエリと検索システムにおけるキャッシュについて Filter Query (フィルタクエリ) Solrにおけるキャッシュ 検索システム全体でのキャッシュの考え方 実施背景 実…

入社10ヶ月で行った Turtle デザインシステムの開発と関連する取り組み

はじめに 私のチーム 10ヶ月間での私の取り組みタイムライン Turtle とは Turtle の構成要素 デザイン原則 ガイドライン Turtle ライブラリ ドキュメント Turtle 開発で取り組んだこと デモサイト(リファレンスアプリ)の作成 デザイントークンの一元管理 …

Kotlin/Nativeで生成されるObjective-Cを理解するためにコンパイラをデバッグした話

はじめに 執筆時の各種ツールのバージョン 前提知識: 生成したObjective-Cコードでプロパティ名の末尾にアンダースコアがつく条件 今回解決したい課題 デバッグの準備 Kotlinのリポジトリを手元にcloneする gradle.propertiesの書き換え(Kotlin/Nativeのみ) …

Dagger Go SDKからgo-gitとgo-githubへ ~ モノレポのCIの書き換えと実装比較 ~

はじめに Dagger Go SDK / go-git / go-github とは Dagger Go SDK プログラマブルであること ポータブルであること 参考資料 go-git 参考資料 go-github 参考資料 Dagger Go SDK 以前のお話 Dagger Go SDK から go-git と go-github へ書き換えた背景 前提 …

グロースフェーズのサービスにおけるインハウスデザイナーのすすめ

はじめに 24年の歴史ある「ライブコミュニケーションサービス」 インハウスデザイナーの良いところ 他ステークホルダーとの連携がスムーズ サービスとの距離感が近い データに基づいたデザインができる デザイナーが共通認識を作れる デザイン以外の業務にも…

Live2Dキャラクターの表示速度改善で学んだ高速化のポイント

はじめに Live2D制御とフロントエンド 機能追加に伴う表示速度の課題 ボトルネック調査 Live2Dキャラクター表示時に行われること 各処理に必要となる時間の計測 モーションの読み込みの改善 Live2Dにおけるモーションとは 課題 改善と結果 すで公式で対応済…

DMMデータサイエンスグループがRecSys2024に参加しました!

こんにちは!DMMデータサイエンスグループの土屋です。本記事では先日データサイエンスグループのレコメンドチームで参加したRecSys2024の参加記録を共有します。 RecSysの概要 印象に残ったセッションと発表 土屋パート Biased User History Synthesis for …

エンジニア生産性の見える化:企画から開発、運用まで

1. はじめに エンジニアの生産性可視化の重要性 本記事の目的と概要 2. 指標の選定 生産性を測定するための指標 自部署に適した指標の選定方法 指標選定の際の注意点 3. 指標の可視化 データ収集の方法 コードの処理の流れ 環境設定 GitHub APIへのリクエス…

APIゲートウェイ'Gen2-GW'の負荷試験の取り組み

はじめに 負荷試験実施の背景 環境 シナリオ シナリオの作り方 機能を軸にシナリオを作成する バックエンドのレイテンシを再現する 負荷試験中に遭遇した問題 CPUスロットリングによるレイテンシ悪化 HPAによる対応 Resource Limitsによる対応 ネットワーク…

「良いコードとは何か」で消耗するのはもうやめよう

これはなに? こんにちは、DMM.comのミノ駆動です。 プラットフォーム開発本部 Developer Productivity Group 横断チームにて、 プラットフォームの設計品質向上に取り組んでいます。 さて、ネット上ではソフトウェア開発における「良いコードとは何か」をめ…