Mirrativ Tech Blog

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

2022年のライブゲームはWebGL@Unityで動いているよ

みなさまこんにちは、よこて @n0mimonoです。段々とすごしやすい気温になってきましたがいかがお過ごしでしょうか。今日の話は ミラティブとライブゲーム ライブゲームはUnityを利用したWebGLベースで動いているよ バックエンドアーキテクチャの紹介 行って…

Go製ミドルウェアのメモリリークを解決した話

インフラ・ストリーミングチームの id:udzura (@udzura)です。今回は、Goミドルウェアのメモリリークを見つけて解決する際に、どのようなプロセスを踏んでいったかを解説します。 Go製のミドルウェアの概要 ミラティブでは、Webアプリケーションのみならず…

ミラティブの開発組織をアプデしたよ Summer 2022

みなさま、今年も夏(summer)がやってきました。よこて @n0mimono です。今回はミラティブのプロダクト開発組織を更新したよという話をします。ついでにこれまでの歴史と今後の展望も紹介します。 前回記事はこちら tech.mirrativ.stream プロダクト開発と…

Jetpack Composeを使った複雑なアニメーション事例

ミラティブのAndroidエンジニアのmorizoooです。 MirrativのAndroidアプリでは、新規で作る画面には積極的にJetpack Composeを活用しています。 tech.mirrativ.stream Mirrativは、多くのユーザーがゲームや雑談などの配信をしており、配信を盛り上げるため…

テスト工程の可視化や自動化に向けた取り組みのご紹介

QA

こんにちは、エンジニアの千吉良(ちぎら)@_naru_jpn です。ここ最近 QA に関して考える機会があり、Systematic Software Testing という本を読んでいたところ、色々と刺激を受けるところがありました。計画書の作成やリスク管理などテストの実施以外の領域…

GitHub Actionsのセルフホストランナーを使ってJenkinsをサクッと叩けるようにする

7月からミラティブにUnityエンジニアとして入社した森田です。 弊社ではUnityのCIとしてJenkinsを利用していますが、GitHub Actionsのセルフホストランナーと連携させることで、JenkinsはそのままでGitHubのWeb画面からジョブを実行できるようにしてみたので…

SwiftFormatを導入してコード記法を統一化

iOS

ミラティブでiOS開発をしている福山(@fokotate)です。 今回はSwiftFormatをMirrativのiOSプロジェクト(約1500のSwiftファイル)へ導入したときのことを話します。 導入にあたって 私は当初、SwiftFormatについてよく知らなかったため導入にはあまり乗り気では…

イヤホン配信を支える音のプログラミング〜Accelerate編〜

iOS

こんにちは。shogo4405です。本エントリーは、iOSエンジニア向けにイヤホン配信を支える音のプログラミング入門 - Mirrativ Tech BlogのiOS実装を紹介したいとおもいます。 本稿では、音声信号処理の実装手法としてAppleが提供するAccelerateフレームワーク…

ミラティブを退職します!

今日が最終出社、明日から有休消化期間だー!!!!うおおおおおおおおおおおお!!!!! 2019年の春から3年間、ライブ配信サービス「Mirrativ」のバックエンドを書いてきた stakme です。この夏で卒業です!お疲れさま〜!!!!! 頑張った、やりきった、…

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…