Mirrativ Tech Blog

株式会社ミラティブの開発者(バックエンド,iOS,Android,Unity,機械学習,インフラ, etc.)によるブログです

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

Swift Concurrencyを利用した表示再開するUIViewControllerの実装

iOS

こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 iOSチームでは下記記事にある通り、チーム内でSwift Concurrencyに関してキャッチアップと知見の共有会を行っています。 本ブログでは、勉強会を通し既存実装をSwift Concurrencyを利用することで…

Cloud Buildによる内部向けGoバイナリのリリース自動化

インフラ・ストリーミングチームの近藤 (id:udzura) です。 ミラティブのインフラ運用では、監視・自動化などさまざまなツールにGo言語を利用しています。ツールはコマンドラインツールとして提供して、バージョンごとにリリースを作成して各環境にデプロイ…

Apple のサンプルプロジェクトから Swift Concurrency 移行のエッセンスを学ぶ

iOS

こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。Apple が Swift Concurrency への移行をサポートするためのサンプルプロジェクト Updating an App to Use Swift Concurrency を公開しているのをご存知でしょうか。 このプロジェクトには、D…

SwiftGenが生成する1万行越えSwiftファイルでXcodeがフリーズするのを防ぐ

iOS

4月にミラティブに入社したiOS開発者の福山 (@fokotate)です。ミラティブにはゲーム好きな人が多いためか、積みゲー消化が急速に進んでいます。 今回は珍しいケースかと思いますが、他社のiOSプロジェクトでも起こりえる問題に対処することができたので共有…

アプリ開発を支える10個のDangerレシピ

こんにちわ。shogo4405です。普段は、ミラティブで開発しながら、余暇にOSSのHaishinKit*1をつくっています。本エントリーは普段UI開発を行なっているクライアントエンジニア向けに、ミラティブで導入しているDangerの実践レシピを公開いたします。 *1:https…

【Android】Jetpack Composeの活用法について

Mirrativ Androidエンジニアのmorizoooです。 MirrativのAndroidアプリでは、Jetpack Composeの1.0がリリースされた2021年7月から導入をはじめています。 今回の記事では、導入に至った経緯と、ミラティブで採用しているFluxアーキテクチャの中でJetpack Com…

Mirrativでのビジュアルスクリプティング(Bolt)活用事例とテクニック

こんにちは、ミラティブUnityエンジニアの菅谷です。 ミラティブでは先日Mirrativアプリ内で遊べるライブゲーム「エモモランあーるぴーじー」をリリースしました。 運営配信に遊びにきてくださってありがとうございました✨あのゲームに、新たなシリーズが──⁉…

Unityの描画パイプラインをURPに移行しました

こんにちは、ミラティブUnityエンジニアの牧野です。 ミラティブアプリの3Dアバター(エモモ)の描画にはUnityを利用しており、その描画パイプラインをURPに移行した内容を紹介していきます。 はじめに URP (Universal Render Pipeline) とは以下のような特…

ミラティブのUnityエンジニアになったら学べること

みなさんこんにちは。ミラティブUnityエンジニアの菅谷です。 私がミラティブに来てからちょうど2年が経ちました。 以前はソーシャルゲームの会社でゲームの運営や新規開発を行っていました。リードエンジニアとして広くコミットすることで、特にクライアン…

Android12でのピクチャー イン ピクチャーの改善をR&Dしました

こんにちは。エンジニアのshogo4405です。普段はAndroidの開発を行いながらときどきiOSの開発を行なっています。本稿では、Android12で改善したピクチャー イン ピクチャーをMirrativに導入できないか調査した内容を紹介していきます。

社内勉強会「Swiftの並行処理についてのセッションを見る会」を開催しました

iOS

こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。Swift 5.5 で async/await が導入されて久しいですが、皆さま導入はされているでしょうか。プロダクトに導入して活用できればいいですが、すぐには導入できないプロダクトも多くあると思います…

ミラティブのUnityアセット運用とそれを支えるCI/CD

こんにちは、ミラティブUnityエンジニアの菅谷です。 ミラティブでは週に一回以上のペースでエモモのイベントを行っており、1つのイベントごとに約40個の衣装やエモモアイテムを追加しています。 エモモアイテムの多くはUnityを活用して作られており、アセッ…

Mirrativ Engineers & Values

はじめに 「ミラティブのエンジニアってどんなことが求められるんですか?」 本ドキュメントは、多くの方に聞かれるこの問いに答えるものになります。 Software Engineer MirrativにはiOSアプリからライブ配信基盤まで広い技術領域が存在しますが、ミラティ…

ミラティブの開発チーム編成をアプデしたよ Feb 2022

みなさま、おはようございます。よこて @n0mimono です。令和になってなんと4年目に入りました。 今回はミラティブのプロダクト開発チームを更新したよ、という話をします。ついでに周辺の取り組みも紹介してみます。 前回記事はこちら tech.mirrativ.stream…

接続が途切れないストリーミングサーバの無停止アップデートを実装してみました

こんにちは ハタです。 最近 SO_REUSEADDR / SO_REUSEPORT を使ったストリーミング配信サーバの無停止アップデート(Hot Deploy)を実装してみたので紹介したいなと思います ことの経緯 HTTPサーバによる Hot Deploy の仕組み ストリーミング配信サーバへの応…