サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
speakerdeck.com/dena_tech
youtube:https://youtu.be/9HxfyGPcwGU 概要: キャラライブアプリ IRIAM では、サービス開発当初 API サーバーとバッチ処理の実装にサーバーサイド C# を採用していました。現在サービスリリースから4年が経過しており、その間常に新しい機能を開発し続けてきました。そのためバックエンドで動作している API 数は100を軽く超える規模に成長しています。 日々新たな機能を開発する中で、今後の機能拡張やメンテナンス性を考慮して全ての API を Go に置き換える計画が社内で進行し、2年近くの歳月をかけて全ての API とバッチ処理の Go への置き換えに成功しました。 置き換え作業はほぼノーメンテナンスでサービスを止めることなく行われ、現在では全ての API とバッチ処理が Go 言語で実装されたものに置き換わっており、言語置き換えによる大きな障害も起き
youtube:https://youtu.be/SuMRj6K620o 概要: ライブコミュニケーションアプリ Pococha は、今年1月にサービス開始から6周年を迎えました。 サービスの成長に伴い、データベースの規模も昔とは比較にならないくらい大きくなり、今回マイグレーションを行った Pococha 最大のテーブルは100億レコード以上の規模となっていました。 パフォーマンス観点での課題が顕在化し、データベースの再設計が必要な局面を迎えています。 特に課題のひとつに、テーブルが大規模になるにつれて、インデックス設計やパーティション化が適切に行えていないと、テーブルに対する検索速度が大幅に劣化することがあります。 また、テーブルをマイグレーションするにあたって、ユーザー体験を損なうことがないよう可能な限りダウンタイムを発生させずに行うことが理想的です。 そこで、本セッションでは Poc
youtube:https://youtu.be/fokewbBeRvo 概要: DeNAのカスタマーサポートやマーケティング業務では、数多くのサービスに対する反響の分析やリスク管理などを目的に、日々蓄積されるDeNAのあらゆるサービスのユーザーのご意見やレビューデータなど活用したVOC(Voice Of Customer)分析およびソーシャルリスニングが積極的に行われています。 これらデータの活用を進めるためGoogle Cloudでデータ基盤を構築・提供してきましたが、ツール保守などの運用コスト面やデータ品質の課題などが顕著となってきました。 そこで、データエンジニアリング界隈でトレンドとなっているモダンデータスタックに着目しつつ、どう課題を解決してきたか、また現在どういったことに取り組んでいるかをご紹介します。 登壇内でのリンク集: p2, https://engineering.d
youtube:https://youtu.be/9ScrFVsIKd4 概要: バーチャルライブ配信アプリIRIAMにおいて、配信者様に合わせてリアルタイムでキャラクターを動作させるためには、高速で高精度な顔認識が必要です。 iPhoneにおいてはApple製のARKitを用いることで高精度な顔認識を既に実現出来ていたのですが、Androidと一部のiOS端末では顔認識の精度が不十分という課題がありました。この問題を解決するため、データ本部とIRIAMが協力して、任意のプラットフォームで動作可能かつ高精度で高速な顔認識システムの開発に取り組みました。 本発表では、データの収集と機械学習モデルの設計指針、モデルの形式の変換の方法、Unity上で効率よく動作させる手段など、その開発過程で得られた知見を紹介します。 登壇内でのリンク集: p8, https://gs.statcounter.c
youtube:https://youtu.be/hVhFik50YsA 概要: DeNAではgrpcをベースとした内製ゲームサーバ基盤Takashoを使ったモバイルゲーム開発を行っていますが、UnityをWebブラウザ上で動作させるWebGLビルドを動作プラットフォームとするケースが生まれ、既存の資産を引き継いだ開発を進める為にもTakashoをUnity WebGLビルドで動作させる必要が出てきました。 本セッションでは、Takashoの基礎的な構成とそれをUnity WebGLビルドで動かすにあたって何が壁になり、どのような性質が要件として求めらたのかを説明した上で、これを乗り越えるために採用したgrpc-webという技術の概要と、それをUnity WebGLビルド上で用いるためにDeNAが取った手法についてを解説します。 登壇内でのリンク集: p5-1, https://engin
You Tube:https://youtu.be/66JYhie7gs4 概要: ヘルスケア事業におけるリアルワールドデータ(RWD)の疫学研究・薬剤の臨床開発への利活用は世界的に見てもより加速しており、これらのデータ分析において、データの完全性、正確性が必須条件となります。 一方で、一言で「データ品質を担保する」といっても、データ品質を損なうようなトラブルは多岐に渡ります。シンプルなデータの欠損に限らず、特定層のデータ欠損や、データクレンジング・加工後に発生する意図しない不整合など、想定とは外れたケースも多く発生し得ます。 ヘルスケア業界におけるRWDから正確なデータ分析を行うために必要なデータ品質管理における自社の取り組みをご紹介します。 登壇内でのリンク集: p8, https://www.yodosha.co.jp/jikkenigaku/keyword/3649.html p1
DeNA では、ゲーム、スポーツ、ライブストリーミング、ヘルスケアなど多種多様な事業を展開しています。各事業では、サービスの良さを伝えるためのマーケティング施策を数多く実施しており、施策の PDCA に役立てるためのデータ分析を積極的に行っています。 本セッションでは、データ分析の多くの取り組みのうち、デジタル広告のリターゲティング配信において、BigQuery や AutoML Tables を活用した分析システムを構築して配信効率を改善した事例を紹介します。開発や運用の過程で生まれたマーケ/分析/エンジニアの各所からの要望や悩みに対して、どのように Google Cloud 各サービスを活用して解決したかをお伝えします。
GCP上で Go や Kubernetes, Spannerを活用した開発や運用を、大規模なサービス、チームで実現するにはどうすればよいのか?本セッションでは、DeNA のクラウドネイティブなゲームサーバの開発と運用の取り組みや体制づくりについて紹介いたします。 まず、社内ゲームサーバー基盤Takasho(Go+GCP)を活用し、Kubernetes上にコンテナベースのゲームサーバを構築した開発/運用事例を紹介します。またさまざまな共通部門と協力しつつゲームサーバ開発を行っているため、それらの組織体制なども併せて紹介できればと思います。 データベースにはグローバル規模のRDBであるSpannerを採用しています。Spannerはシャーディング不要でどこまでもスケールさせることができるため、従来のゲームサーバ開発で問題になっていた運用負荷を軽減させてくれています。そんなSpannerの特性を
優秀なエンジニアが集まって仕事をしていると、それぞれの学びを効率よく共有したり、独りで解決困難な課題のアドバイスをもらったり、みんなで議論して知識を深めたくなりますが、業務が忙しい、オンライン開催が難しい、自分から開催する心理的ハードルが高いなどの課題があり、実行に移せないことも多いかと思います。 これらの課題に対して、DeNA では Android.tuesday や Swift.wednesday などの事業部横断の勉強会から、事業部ごとの勉強会、チームでの勉強会など社内のエンジニア同士で様々な勉強会を開催しており、その中の多くはコロナ禍後もオンラインで開催されています。 本セッションでは、DeNA で行われている様々な勉強会を紹介しつつ、その成功事例の1つとして Rerep開発チームで行っているチーム内オンライン勉強会について詳しくご紹介します。
新たな事業を成功させるためには、少人数で高速に機能をリリースしながら仮説検証を行ったり、増えていく利用者のための負荷対策を行ったり、可能であれば外部のソリューションを活用する必要があります。 DeNA のソーシャルライブサービスである Pococha では、小規模チームと限られた予算で高速に機能をリリースし、Amazon IVS などの外部ソリューションも活用しながら、仮説検証を繰り返すことでサービスを拡大させてきました。 また昨今では巣ごもり需要の影響も受け、Pococha は急激に成長しました。非常に多くの方々にご利用いただいた結果、スケールアップでは対応できない規模の負荷をさばく必要が出て来ました。 本セッションでは Pococha がどのような体制やシステム、工夫でこれらの課題を解決してきたのか、Pococha の裏側をご紹介します。
昨今、クリーンアーキテクチャやDDDの流行によって、メンテナンス性が高くテストし易い設計のノウハウは広く知られてきたと思います。 しかし、それらを開発途中の実プロダクトに導入することは中々難しく、自動テストがない、入れるのが難しいと困っている方々も多いのではないでしょうか。 このセッションでは、メンテナンス性が低いプロダクトをどのようにすればメンテナンス性の高いプロダクトに向かうことができるのか、大きな流れを紹介します。 そして、自動テストを導入する為の第一歩として、Go言語プロダクトにおけるデータベースを利用したテストの事例紹介をしていきます。 その事例の中でテストデータ生成ツールを開発したのでそちらも合わせてご紹介します。
DeNA には優秀な Kaggler が多く在籍しており、機械学習の課題発見や高精度なモデリングに大きな強みを持っています。一方で機械学習モデルのプロダクション化は Kaggler の開発サイクルと比べて時間がかかりがちです。 そこで、DeNA では Kaggler が自身の得意分野に注力しつつ自然と production ready なものが出来上がるように「Hekatoncheir」という機械学習基盤を作成しました。Hekatoncheir は Google Cloud Platform の AI Platform など既存のツールを組合せて、コンペティションという Kaggle like な形式で事業課題を解決する仕組として開発・運用されています。 コンペティションという形で、コンペ参加者が担う純粋な機械学習アルゴリズムの実装とコンペ主催者が担う周辺タスクの境界を明確にしつつ、両者の
昨今、業務を効率化する様々なSaaSが増えてきていますが、社内で利用するSaaSが増えるたびにそのアカウント情報の管理工数が増えるため、社員数が多くなると積極的なSaaSの導入は難しくなる、という課題があります。 一方で、社員数が数千名を超えるDeNAでは社内システムとして積極的なSaaSの導入をしています。そこで管理の鍵となるのが入退社/異動等の人事イベントにともなう各システム内でのアカウント情報の管理の自動化です。(アカウント作成/削除/権限変更等) 本セッションでは、エンジニアが主体となり、すべてのシステムで利用するであろう人と組織の情報を管理し利用するために、どのように自動化の仕組みを構築しているのかをお話しします。
フロントエンド開発について「サーバーサイドテンプレートでHTMLレンダリングすれば良いのでは?」「Vue や React の学習コストかける意味ある?」「jQueryコピペですぐできるでしょ」と思う方もいるのではないでしょうか。 DeNAでは、ウェブアプリケーションのフロントエンド開発のプロジェクトにおいて、以下が混在していますが、前者をベースにした開発のプロジェクトが増加しています。 ・SPA ベース:Vue や React をベースにしたフロントエンド開発のプロジェクト ・テンプレートベース:Xslate や Smarty、Slim や ERB、Thymeleaf などをベースにしたフロントエンド開発のプロジェクト ウェブアプリケーションサービスのフロントエンドをどう作るか。テンプレートエンジンによるレンダリングベースではなく、React や Vue で開発することについて、フロントエ
DeNA が社会の技術向上に貢献するため、業務で得た知見を積極的に外部に発信する、DeNA 公式のアカウントです。DeNA エンジニアの登壇資料をお届けします。
14年の歴史を持ち、1000台以上の物理サーバーを利用していた Mobage をオンプレミスから AWS へ移行しました。 また、同時に OS を CentOS6 から Ubuntu18 に更新しました。 ・長らくオンプレミスで運用してきたサービスをなぜクラウドに移行するのか ・サービスをメンテナンスに入れずに移行をする工夫 ・現在の課題やそれについての改善計画 などについて、インフラエンジニアの観点からお話します。
Go では slice の capacity を宣言できますが、この指定に悩む時があります。例えば直感では入力の slice より短いはず、と思っても本当にそうなのか不安な時があるでしょう。 このとき、定理証明支援系 Isabelle を開発で併用していると自分の仮説を証明しながら安心して開発できます。私の場合では仮説はほぼ自動で証明され確信をもてました。 ぜひ開発のお供に定理証明支援系はいかがでしょうか。
新たなプロダクトをゼロから開発する”0→1開発”では、スピーディーにプロダクト改善を繰り返すことが重要ですが、多くの場合プロダクトを担当するエンジニアは少なく、1つ1つの機能開発にあてられる時間は短いです。また、多くの仕様変更に迅速に対応しなければなりませんが、安全の担保も求められます。 これらの課題に対して、プロトレーナーによる指導がオンラインで受けられるサービス、「WITH Fitness(ウィズフィットネス)」のプロダクト開発では、バックエンド開発を「最小工数で安全に実現」し、フロントエンド開発を「最速で機能実装、仕様変更」する方針のもと、少人数のエンジニアで迅速な開発、プロダクト改善を行ってきました。 ただ初期プロダクト案を実現するだけでなく、開発と並行してユーザーインタビューやベータテスト、チーム内でのUX議論を重ね、効果的なアイデアを迅速に受け入れる開発体制をどのように構築し開
大規模なモバイルゲーム開発におけるリソース管理では、高頻度の動的配信、高速なダウンロード、高速な暗号化と、高速なビルド、リソース解析によるネタバレ防止、柔軟なアドレッシングなど、安定したゲーム運用を高効率で支えるために様々な要求に応える必要があります。 本セッションでは、大規模なモバイルゲーム開発におけるリソース管理へ求められる性質と、DeNAがそれらに対してどのようなアプローチでどのようなモジュール構成で解決を図ったのかを解説します。
AWSをはじめとするクラウドプラットフォームの普及に伴い、DevとOpsの境目はかなり曖昧になっています。その中でもIAMの管理は設定によっては権限昇格を引き起こしかねないことから、その管理権限は慎重な管理になりがちです。結果的に、IAMは属人的な管理を行っている組織が多いのではないでしょうか。 一方で、DevとOpsの境目がどんどん曖昧になっていく中で、IAMロールやIAMユーザーを自由に作りにくい状況があると大変不便です。IAM関係のトライ・アンド・エラーが手軽に行えないことから、開発速度の鈍化を引き起こしたり、アーキテクチャ設計の上で運用上の足かせとなったりといったことが起こります。 また、それらの問題を回避しようとした結果として、IAMロールやIAMユーザーの使い回しが横行しはじめるなど、結果的に最小権限の原則が守られなくなっていくことも少なくはないのではないでしょうか。最小権限の
近年バックエンドのマイクロサービス化とクライアントの種類の増加によって、クライアント↔️サーバー間のやり取りが複雑化する傾向があり、その溝を埋めるためにBFF(Backend for Frontend)という特定のクライアントに特化したサーバーを間に置くというパターンが現れました。発表ではBFFの概要、デモ、BFFについてのディスカッションなどを紹介します。
タイトルごとに行なっていたマスターデータ管理フローを共通基盤システムとして取り組むアプローチについて、選択した経緯や現状、開発プロダクトついて紹介します
今回のテーマは「分析基盤をうまく組織に浸透させる方法」です。 「分析基盤を浸透させていく上で、分析基盤を担う組織(分析基盤組織)がどのように形を変えていったか」という内容です。組織設計の参考になれば幸いです。
DeNAではこれまで内製BIツールが広く利活用されていましたが、この度Looker利用へと舵を切り、現在その移行途中です。今回は、内製BIツールが抱えていた課題、及びLookerへ移行する際に見えた課題を、技術的にどのように解決したかをお話します。
リモートワークが一般的になり爆発的な普及を見せたビデオ通話サービス。今ではリモートワークだけでなく、リモート飲み会など生活にも溶け込むものとなりました。では、そんなビデオ通話サービスの裏側では一体どのような技術が使われているのでしょうか。また、他の技術では何が問題となるのでしょうか。 そこで今回、HTTPという身近な技術からメリット・デメリットを考えていき、なぜWebRTCが使われているのか?を段階的に紹介させていただきました。資料の後半ではWebRTCでは何が問題になるのか、それを解決するための手法はどのようなものがあるのかについても説明します
・目指す方向性は,与えられるものではなく,自分たちで決めるもの ・ストレスの少ない,心地良い開発をするために,メンバーで目標や意思を共有することが大切 ・チーム開発では,メンバーそれぞれで目指す方向性,持つ武器(得意分野)がバラバラになりがち ・結果に繋げていくために,チームとして共通の目標を作ることが大切
・「 個人ドキュメント」とは、学んだ知識にインデックスを張るメモ ・ブログと違って「 個人ドキュメント」はアウトプットが気軽 ・2020年の更新数が「ブログ」 3回 に対して、「個人ドキュメント」 160回 ・知識に対してインデックスを張れ、効率的なインプットが可能に ・自分の考えや学習方法がまとまっているから、同僚にシェアしやすい
このページを最初にブックマークしてみませんか?
『DeNA_Tech (@dena_tech) on Speaker Deck』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く