タグ

ブックマーク / tech.mirrativ.stream (35)

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

    こんにちは ハタです。 最近 SO_REUSEADDR / SO_REUSEPORT を使ったストリーミング配信サーバの無停止アップデート(Hot Deploy)を実装してみたので紹介したいなと思います ことの経緯 HTTPサーバによる Hot Deploy の仕組み ストリーミング配信サーバへの応用 SO_REUSEADDR/SO_REUSEPORT を使った実装例 Hot Deploy の組み込み Hot Deploy 実装時に気をつけたこと その後 We are hiring! ことの経緯 ミラティブでは以前から何度か紹介したとおり自前の配信基盤設備を持っています。 配信基盤のミドルウェアも内製であり、機能追加やライブラリの更新などがあるたびにミドルウェアのバージョンアップ作業(メンテナンス)も自社で実施しています ストリーミング配信サーバといっても、何か特別な事はなく一般的なHTT

    接続が途切れないストリーミングサーバの無停止アップデートを実装してみました - Mirrativ Tech Blog
  • Docker + Mac どうする問題 - Mirrativ Tech Blog

    Mirrativバックエンドのエンジニア @stakme です! みなさんMacDockerしてますか?今回は私から、Mac+Docker開発についての文章をお届けします。Docker Desktop for Macの有料化など、最近話題の多いところですよね。 ただし法的問題を含みますので、記事の正確性に配慮していますが、内容は保証しません。法的問題は弁護士に相談しましょう。 tl;dr まずは現状認識 必要なのはdockerd 困りがちなポイント Lima Linux バインドマウント ポートフォワード 結局どうするか あと6週間 We are hiring! tl;dr 大前提として「GUIを使わければMacDocker Desktopは無料」ではない Docker Desktop for Macは便利だが、マウント起因でパフォーマンスに影響を受けるケースも存在する 「買わないなら

    Docker + Mac どうする問題 - Mirrativ Tech Blog
  • Unityチームで出社してわかりあい会をしたお話 - Mirrativ Tech Blog

    こんにちは、ミラティブUnityエンジニアの菅谷です。 先日、ミラティブには新たなUnityエンジニアが加わったためUnityチームでオフィスに集まり、わかりあい会をしてみました。 ミラティブはリモートで業務を行っており、来年もリモート体制を続けることを宣言しています。 note.com 一方、リモートでの業務を続けていると同じ場所に集まり、直接顔を合わせることも重要だと考えるようになりました。 また、ミラティブには「わかりあう願いをつなごう」というミッションや、「わかりあおうとし続ける」という行動指針があり、わかりあうことを日頃から大事にしています。 Unityチームでもチームメンバーのわかりあい促進のため、新メンバーのジョインのタイミングで全員出社して2021年の振り返りや今後について話し合いました。 YWTでの振り返り はじめに、YWT(やったこと、わかったこと、次にやること)のフレ

    Unityチームで出社してわかりあい会をしたお話 - Mirrativ Tech Blog
  • ミラティブの社内勉強会の紹介!! - Mirrativ Tech Blog

    こんにちはLivePlatformチーム所属の_mkazutakaです。 ミラティブでは、週1回木曜日にエンジニア向けの社内勉強会を開催しています。社内勉強会にはバックエンドエンジニアのみならず、iOSエンジニア、ビジネスサイドからの参加があります。 今年の8月でサービスリリース6周年を迎えたミラティブですがこれまで社内勉強会するという文化はありませんでした。 ミラティブでの社内勉強会も次で26回目になります。振り返りの意味も含め、なぜ・どうやって勉強会を開催しているかを紹介していきたいと思います。 社内勉強会をやっているけれども他の会社ではどのようにやっているのだろう、社内勉強会に興味がある、といった人達にとって参考になれば幸いです。 なぜ開催し始めたのか ミラティブでは月に一回プレミアムエモイデーという全体会議があります。当時プレミアムエモイデーにてチーム内の行動指針に沿った行動につい

    ミラティブの社内勉強会の紹介!! - Mirrativ Tech Blog
  • ゲームエンジニアから見たミラティブ - Mirrativ Tech Blog

    はじめに こんにちは、Unityエンジニアのおはぎ @ohayo_ohayo_ です。 前職ではスマホゲームの開発をしており、今年の5月にジョインして約半年が経ちました。 現在はMirrativ内でエモモというアバター部分の開発をしています。 スマホゲーム開発とは結構違うなあと思ったので、 その辺をカジュアルに書こうという試みです。 プロダクト 大前提としてMirrativはゲーム配信アプリであり、ゲームではありません。 Unityを使っている部分は主にエモモの制御部分であり、一つのシーンで完結しています。 そのシーンに様々な機能を追加していくため、大きな一つのシーンとなります。 機能としては着せ替え、アニメーション、Cinemachineを使った演出が主であり、 それぞれはゲーム開発でも使われることがある技術です。 体力や攻撃力などのパラメータがないため、 パラメータのほとんどが見た目に

    ゲームエンジニアから見たミラティブ - Mirrativ Tech Blog
  • iOSDC Japan 2021 にエンジニア2名が登壇します!! - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 先日のApple Eventを見てポートがUSB Type-Cとなった新しい iPad mini が欲しくなりました。 さて、今年も毎年恒例のiOSDC Japanの開催時期となりましたね! 昨年と同様にオンラインで開催され、事前収録によるレギュラートークのストリーミング配信、ライブ配信のLT、スピーカーと直接話すことができるAsk the Speakerなどが予定されています。 iosdc.jp そして今年は、ミラティブからは2名のエンジニアのトークが採択され、レギュラートークで登壇します。 2名とも9/19(日) Day2 の登壇となりますので、 コメントと合わせて簡単に紹介します。ぜひご覧ください! 登壇情報 ■ ケースに応じたUICollectionViewのレイアウト実装パターン 日時: 2021/09/19 13

    iOSDC Japan 2021 にエンジニア2名が登壇します!! - Mirrativ Tech Blog
  • Androidアプリをリアーキテクチャした話 - Mirrativ Tech Blog

    Mirrativ Androidエンジニアのmorizoooです。今回はAndroidアプリをFluxにリアーキテクチャした話をします。 背景 Mirrativは2015年春頃に開発が始まり、もうすぐリリースから6周年を迎えようとしています。以前はアーキテクチャについてのルールが決まっておらず、個々人が思うがままコードを書いており、開発しているメンバーでさえ処理の流れが追えなくなっているような状況でした。そこで、まずは既存のコードの改善を行いました。詳しくは以下の記事をご覧ください。 tech.mirrativ.stream 既存コードを改善した後に、開発の指針としてFluxアーキテクチャを選定しました。 Fluxを選定した理由 状態がどこで更新されているのか分からなくなるという一番の課題が、Flux の導入によって解消できそうだった iOSはFluxで実装していくという話が出ており知見を

    Androidアプリをリアーキテクチャした話 - Mirrativ Tech Blog
  • 【インフラ】Mirrativのデータベースを最小限の影響で切り替える運用の紹介 - Mirrativ Tech Blog

    こんにちは、ミラティブのインフラを担当している清水です。 今回はミラティブのデータベースのマスタをどのようにフェイルオーバさせているかノウハウをお伝えしようかと思います。 ミラティブではデータベースにMySQLを利用しており、マスタ・スレーブ構成で冗長化しています。 マスタ・スレーブ構成の優れている点はデータをフルダンプすればデータベースを完全に複製でき、マルチマスタ構成で発生しうるデータ不整合を気にかけなくて良い点です。 データベースのクラスタリングには MySQL Cluster や GaleraCluster などもありますが、マスタ・スレーブ構成はストレージエンジンに依存せず素のMySQLで運用できるので、クラスタ固有の制約にハマったりせずシンプルに運用できるのも強みです。 ただし、マスタ・スレーブ構成の鬼門となるのがマスタのフェイルオーバです。 スレーブは参照のみリクエストを処理

    【インフラ】Mirrativのデータベースを最小限の影響で切り替える運用の紹介 - Mirrativ Tech Blog
  • Mirrativ の Android アプリで使っているライブラリを紹介する! - Mirrativ Tech Blog

    こんにちは、Androidエンジニアのもりぞーです。今回は Mirrativ の Android アプリで使っているライブラリをご紹介します。 こちらの記事のAndroid版になります! tech.mirrativ.stream ライブラリ一覧 Google開発ライブラリ 公式ライブラリでありAndroid開発のスタンダードになっているので、Googleが提供しているライブラリは必要に応じて積極的に使うようにしています。 Android Jetpack Mirrativでは現状以下のライブラリを使っています。 "androidx.appcompat:appcompat" "androidx.annotation:annotation" "androidx.browser:browser" "androidx.cardview:cardview" "androidx.constraintla

    Mirrativ の Android アプリで使っているライブラリを紹介する! - Mirrativ Tech Blog
  • ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog

    こんにちは、テックリードの夏です。 今年4月にCTOからテックリードに肩書が変わり、ガリガリコードを書くようになりました。 背景については、こちらをご覧ください。 www.wantedly.com 普段はプロダクト側の機能開発と、サーバ側の基盤開発を半々ぐらいの割合で仕事しています。 一口にサーバ側の基盤開発といっても定義が曖昧なのですが、基的にはこんな感じのタスクをやっています。 インフラコストの最適化 不正なアクセスからの防御 障害の再発防止 新技術の導入やアーキテクチャの整備 今回はこのうち「新技術の導入やアーキテクチャの整備」の中で、サーバサイドをGo + Clean Architectureで再設計したことについてお話したいと思います。 背景 ミラティブは2015年春頃に開発が始まり、同年8月にサービスがリリースされ、2020年8月で5周年を迎えました。 その過程で組織やプロダ

    ミラティブのサーバサイドをGo + Clean Architectureに再設計した話 - Mirrativ Tech Blog
  • 【Unity】MirrativのEmbedding Unityを更新した話: 実践 Unity as a Library - Mirrativ Tech Blog

    こんにちは皆様いかがお過ごしでしょうか、10ヶ月ぶりくらいのポストになります、よこてです。今日は「Mirrativ の Unity は進化してるんだぞ」という記事を書いていきます。 tech.mirrativ.stream Mirrativ は Swift/Kotlin によるネイティブアプリですが、3D/アバター部分は Unity で実現しています。いわゆる embedding unity で、 Unity 2018.3 からは Unity as a Library として公式サポートされています。前回記事で触れたように、Unity をネイティブアプリに組み込むこと自体は公式サポート以前にもできて、ミラティブでは Unity 2018.2(2018年8月頃)から使っています。 Mirrativ では今 Unity 2019.4 LTS を使っていて、8月から Mirrativ の機能とし

    【Unity】MirrativのEmbedding Unityを更新した話: 実践 Unity as a Library - Mirrativ Tech Blog
  • ミラティブ エンジニアチーム四季報(創刊号) - Mirrativ Tech Blog

    こんにちは Mirrativ CTOの夏です。 現在、ミラティブでは事業部単位でチームや目標を管理しており、エンジニアが所属するチームとして以下の6つがあります。今回はこのうち、エンジニアチームについて、2019年度に行ってきた取り組みの振り返りをしたいと思います。 ライブプラットフォームチーム ユーザの定着を追う マーケ連携チーム ユーザの新規獲得を追う エモモチーム 3Dアバターであるエモモを使った新体験の創出・基礎体験の向上を追う ストリーミング改善チーム モバイル端末でのライブストリーミングの配信・視聴の品質改善を追う インフラチーム クラウド上での安定したインフラ基盤の設計・構築を追う エンジニアチーム お問い合わせ調査、不具合・障害の再発防止、開発体験の向上を追う AI技術部 コミュニティやストリーミングとAI活用の可能性を追う 毎週定例で振り返りを行っており、Confluen

    ミラティブ エンジニアチーム四季報(創刊号) - Mirrativ Tech Blog
  • Androidアプリの技術的負債を返済する - Mirrativ Tech Blog

    Mirrativ Androidエンジニアのmorizoooです。 Mirrativのエンジニアは週4日をプロダクト開発に、週1日を開発体験の向上に時間を割いおり、CTOによる旗振りのもと、エンジニア主導で技術的負債の返済に取り組んでます。 今回は、Androidチームで取り組んだ技術的負債の返済のために行った取り組みについて紹介します。 背景 以前、2019/04に 突撃!!隣のアーキテクチャ - connpass でもお話したのですが、Androidアプリが主に以下の理由でつらい状態なっておりました。 ロジックが散在 今ではあまり使われないライブラリへの依存 JavaKotlinの共存 speakerdeck.com これに対してAndroidチームで以下の取組みを行いました。 ActivityとCustomViewの再設計 ライブラリの最新化 Kotlin化の推進 それぞれのトピッ

    Androidアプリの技術的負債を返済する - Mirrativ Tech Blog
  • 【保存版】スタートアップがユーザビリティテストを3日ですべて終わらす方法 - Mirrativ Tech Blog

    こんにちは、分析チームの坂です。 テックブログ3回めの登場です。 ミラティブの分析チームは、もちろんBigQueryや機械学習を用いた定量的なデータ分析も行いますが、ユーザーを理解するための定性分析も行う「分析チーム」であることを掲げています。 ※最近では、データアナリストとUXリサーチャーの境界が溶けつつあるという議論があると思いますが、弊社もその流れを採用しています。 突然ですが、ユーザビリティテスト = お金と時間がかかる という認識の方もいらっしゃると思います。 ミラティブでは、ユーザビリティテストをやろう!と言ってから3日間&謝礼実費のみでユーザビリティテストが完了しました(被験者3名)。 どんなことをやったのかという内容を書きながら、ハマりどころををシェアしようと思います。 ユーザビリティテストの一般論 まずは、ユーザビリティテストってなんやねんという話を書いて行きます。とい

    【保存版】スタートアップがユーザビリティテストを3日ですべて終わらす方法 - Mirrativ Tech Blog
  • reviewdog x perlcritic x Jenkins で最高の GitHub レビューライフ - Mirrativ Tech Blog

    ミラティブのサーバーサイドエンジニア、ハトネコエです! 今日は、GitHub の自動レビューとして reviewdog を導入した話をします。 1. 動機 すでに CTO の夏さんによって、Perl 用の linter である perlcritic が導入されていました。 そして、テストが走る際に perlcritic のチェックもおこなわれ、 指摘箇所があればテストが落ちるようになっていました。 まずは緩めの設定で導入したけれど、perlcritic のチェックをもっと厳しくしたい! だけど厳しくすると、すでに存在するコード(つまり、プルリクで変更していない部分)が原因で テストが落ちるようになってしまいます。 残念ながら perlcritic には autofix の機能も無いようで、 設定を変更した後は、人力での修正が終わるまでテストは落ち続けてしまいます。 これでは開発に支障が出る

    reviewdog x perlcritic x Jenkins で最高の GitHub レビューライフ - Mirrativ Tech Blog