タグ

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

  • SwiftGenとSwift-DocCを活用してコード上の画像を一瞬でプレビューする方法 - Mirrativ Tech Blog

    こんにちはiOS開発をしている福山です。 この記事では、SwiftGenとSwift-DocCを用いて、xcassetsを開かずにコード内の画像をQuick Help(右パネルまたは⌥オプションキー+クリック)で直接確認する方法を紹介します。 各ツールの簡単な説明 Swift-DocCは、Swift言語用のドキュメント生成ツールです。Swiftコード内に書かれたコメントから、ナビゲーションが容易で、見た目も美しいドキュメントを生成することができます。 SwiftGenは、Xcodeプロジェクトで使われるリソース(画像、フォント、色、ローカライズなど)を静的に型付けされたSwiftコードに変換するツールです。自動生成された安全なコードを通じてリソースにアクセスできるため、タイプミスによるエラーや存在しないリソースへの参照をコンパイル時に検出するのに役立ちます。 SwiftGenの生成コード例

    SwiftGenとSwift-DocCを活用してコード上の画像を一瞬でプレビューする方法 - Mirrativ Tech Blog
    invent
    invent 2024/06/22
  • RubyメインでなくてもRubyKaigiから色々学べた話 - Mirrativ Tech Blog

    インフラ・ストリーミングチームの @udzura です。(一ヶ月経ってしまいましたが)9月8日から9月10日まで、三重県でRubyKaigiがありました。 rubykaigi.org 久しぶりのオンサイト会場での開催ということで、大いに盛り上がり、感想ブログなどもたくさん書かれています。 今回は、Rubyをメインで使っていない会社であるミラティブのエンジニアの立場から、RubyKaigiのトークは勉強になるという話をします。 ミラティブの技術スタックとコミュニティについて ところで、以下に、ミラティブのEngineer's Handbookから、技術スタックについての紹介ページを引用します。 エンジニアハンドブックより引用 この通り、実はRubyはアプリケーション開発のメインは使っていないのです*1。 ですが、今回は、後述する通り私がRubyKaigiのCfPに通過したため、「社内外へ積極

    RubyメインでなくてもRubyKaigiから色々学べた話 - Mirrativ Tech Blog
    invent
    invent 2022/10/24
  • アプリ開発を支える10個のDangerレシピ - Mirrativ Tech Blog

    こんにちわ。shogo4405です。普段は、ミラティブで開発しながら、余暇にOSSのHaishinKit*1をつくっています。エントリーは普段UI開発を行なっているクライアントエンジニア向けに、ミラティブで導入しているDangerの実践レシピを公開いたします。 はじめに Dangerとは「Pull Requestの作法を形式化して指摘を自動化」するツールであり、採用している開発者の方も多いのではないでしょうか。Dangerの導入にあたってはDangerで始めるPull Requestチェック自動化 - コネヒト開発者ブログを参考にして導入いたしました。ありがとうございます。 ミラティブ社でも形式的なチェックは基的にDangerに任せるにようしています。エントリーでは、開発現場のあるある指摘内容をレシピ集という形でまとめました。 レシピ1:githubの更新があった箇所のみ指摘する 定

    アプリ開発を支える10個のDangerレシピ - Mirrativ Tech Blog
    invent
    invent 2022/08/04
  • SwiftFormatを導入してコード記法を統一化 - Mirrativ Tech Blog

    ミラティブでiOS開発をしている福山(@fokotate)です。 今回はSwiftFormatをMirrativのiOSプロジェクト(約1500のSwiftファイル)へ導入したときのことを話します。 導入にあたって 私は当初、SwiftFormatについてよく知らなかったため導入にはあまり乗り気ではありませんでした。 しかし調べてみると、実行タイミングによってはチームにとってほぼストレスなくソースコードを綺麗に保てることがわかってきました。 コミット実行時にSwiftFormatがコードを変更してコミットを中断、その変更を取り入れて再度コミットするといった一手間だけです。 導入したい気持ちが高まってきたものの、いきなり新しいツールを持ち込むのはチームから反発も受けそうだったので、Slack上で様子をみたり、ドラフトPRを書いたり、勉強会を開いて徐々に受け入れられる状況を作りました (実際は

    SwiftFormatを導入してコード記法を統一化 - Mirrativ Tech Blog
    invent
    invent 2022/06/27
  • Mirrativ×Unity as a Library 活用事例と開発テクニック - Mirrativ Tech Blog

    こんにちは、Unityエンジニアの菅谷です。今回はUnity as a Libraryの活用事例と開発テクニックとして、以前のLTで紹介した内容をまとめました。Mirrativでの活用事例を通してUnity as a Libraryの強みや課題を共有し、他のプロダクトでの導入の参考になれば幸いです。2021/6〜2021/7にMirrativ×Unity as a Libraryのテーマで行った3のLTをまとめた内容となっています。 mirrativ.connpass.com meetup.unity3d.jp mirrativ.connpass.com MirrativにおけるUnity Mirrativにはエモモという配信をサポートする3Dアバターが存在します。ユーザーは衣装やアクセサリーなどのアイテムを組み合わせてエモモを着飾ることができます。MirrativはiOSはSwift

    Mirrativ×Unity as a Library 活用事例と開発テクニック - Mirrativ Tech Blog
    invent
    invent 2021/12/27
  • 1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと - Mirrativ Tech Blog

    こんにちは ハタ です。 今回は以前iOSのクライアントサイドで実装していた通知ぼかし機能をサーバサイド(配信サーバ)上に再実装した事を書きたいなと思います 今回はかなり内容を絞りに絞ったのですが、長くなってしまいました、、 目次機能があったのでつけてみました、読み飛ばして読みやすくなった(?)かもしれません 目次 目次 通知ぼかし機能とは サーバサイド通知ぼかし プロトタイプの実装 苦労の始まり その1 画像処理速度 苦労の始まり その2 データ量 さらなる計算量の削減を求めて さらなる最適化へ Halide の世界へ 簡単な halide の紹介 苦労の始まり その3 いざ リリース リリースその後 We are hiring! 通知ぼかし機能とは 通知ぼかし機能は、ミラティブ上での配信中に写り込んでしまったiOSの通知ダイアログをダイアログの中身を見えないようにぼかし処理をしてあげる

    1ms 以下のリアルタイムオブジェクト検出/画像処理を目指して Goの配信サーバサイドで通知ぼかしを実装してみたこと - Mirrativ Tech Blog
    invent
    invent 2021/09/09
  • MirrativのiOSアプリリリースを支える自動化技術 - Mirrativ Tech Blog

    こん○○は。エンジニアのshogo4405です。普段は、ミラティブで開発しながら、余暇にOSSのHaishinKit*1をつくっています。 はじめに MirrativのiOSアプリは、git-flow で開発を行なっています。git-flow や日々の開発を運用する中で、次のような考慮すべきタイミングがありました。今回は、これらを自動化した際の話をコード付き*2で紹介します。 ライブラリーのアップデート releaseブランチ作成 tag付けの実施 releaseブランチのmasterへのマージとdevelopへのマージ なお、リリース頻度は、1週間に1回以上。毎週火曜日に通常版の申請を実施しています。手動で運用していた時には、文字通り、気を付け ながら運用していました。 週の業務の流れ MirrativのiOSチームの業務の流れと共に、曜日ベースで📝自動化した内容を紹介していきます。

    MirrativのiOSアプリリリースを支える自動化技術 - Mirrativ Tech Blog
    invent
    invent 2021/09/03
  • 【iOS】ゲームアプリの音声設計とミラティブの配信について - Mirrativ Tech Blog

    こんにちは。エンジニアのshogo4405です。ゲーム開発会社様より、iOSで画面収録またはミラティブで配信をすると、SEは鳴るが、BGMが消える場合がある。技術的な仕様について教えてくださいと連絡をいただく場合があります。 エントリーでは、ミラティブの配信中にゲームBGMが鳴らない現象について、ゲームアプリ側での回避方法の例をご紹介したいと思います。 はじめに ミラティブのライブ配信は、iOS11で導入されたReplayKitAPIを利用して実現しています。iOS標準機能として画面収録と呼ばれています。画面収録の利用方法は、次の通りです。 [設定.app] → [コントロールセンター] → [コントロールを追加] → [画面収録]を追加する[画像1] コントロールセンターを開き、新規登場した ◉ マークを長押しする。[画像2] [写真] を選び。収録を開始する。 画面収録開始後に時

    【iOS】ゲームアプリの音声設計とミラティブの配信について - Mirrativ Tech Blog
    invent
    invent 2021/07/02
  • Mirrativのコラボ通話&配信のクライアント/サーバー間の仕組みを徹底解説 - Mirrativ Tech Blog

    こんにちは。サーバーエンジニアのユンです。 今回Mirrativは「コラボ配信」という機能を開発しました。他の配信者(最大3人)と音声でつながり、視聴者とも同時にコミュニケーションを楽しむことができる機能です。 コラボ配信機能の紹介記事 | Mirrativ公式ブログ コラボ配信機能 現在のところ、一部の配信者さんにご利用いただき、さらなる機能改善を進めています。 もともと、Mirrativでは「コラボ通話」という配信者と視聴者が通話する機能があります。コラボ通話はWebRTCの機能を使っていて、iOS/Android側はlibwebrtcにパッチを当てたものを利用しています。またSTUN/TURNはTwilioを利用しています。 コラボ通話をしているときユーザーは配信者、コラボ通話者、視聴者の3種類に区別され、配信者とコラボ通話者はWebRTCで音声が双方向になり、お互いの声をWebRT

    Mirrativのコラボ通話&配信のクライアント/サーバー間の仕組みを徹底解説 - Mirrativ Tech Blog
    invent
    invent 2021/03/23
  • 【Unity】MirrativのギフトとUnityを活用したリッチな演出の紹介 - Mirrativ Tech Blog

    こんにちは、Unityエンジニアの菅谷です。 今回はMirrativのギフト機能について紹介します。特にMirrativ内のアバター(エモモ)を利用したMirrativ特有のギフトについて解説します。 Mirrativのギフト ギフトは配信を盛り上げるための機能の一つで、視聴者がギフトを贈ることで配信者の画面に演出が表示されます。 代表的なギフト演出を仕組みごとに紹介します。 スタンプギフトやシンプルなアニメーションギフトでは、Lottieライブラリ(iOS/Android)を利用してギフトの画像をアニメーションさせています。 LottieはAfter Effectsから出力したJsonファイルをそのまま利用することができます。 スタンプギフトは画面上にアイコンやアニメーションを表示します。 ギフトは30種類以上あり、様々なシチュエーションに合わせて贈られています。 また、エモモと連動した

    【Unity】MirrativのギフトとUnityを活用したリッチな演出の紹介 - Mirrativ Tech Blog
    invent
    invent 2021/03/22
  • 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
    invent
    invent 2020/12/11
  • Mirrativ の iOS アプリで使っているライブラリを紹介する! - Mirrativ Tech Blog

    こんにちは、iOSエンジニアのちぎらです。今回は Mirrativ の iOS アプリで使っているライブラリをご紹介します。 Mirrativ ではどんなライブラリを使用していますか?と質問されることが時々あります。設定画面のライセンス情報に一覧で表示はされているものの、ライブラリ名だけでは用途が分かりにくいものもあるので、説明を添えて一覧で確認できるようにしようというのが今回の趣旨です。 ライブラリ管理には CocoaPods、Carthage を使用しています。最新のライブラリに追従できるように、一部のライブラリでは CI(Bitrise)上で定期的にバージョン更新のためのプルリクを作成しています。Swift Package Manager はまだ導入していませんが、タイミングを見て集約していけたらいいですね。 ライブラリ一覧 HTTP通信/ストリーミング Alamofire HTTP

    Mirrativ の iOS アプリで使っているライブラリを紹介する! - Mirrativ Tech Blog
    invent
    invent 2020/11/26
  • 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
    invent
    invent 2020/01/14
  • Mirrativにおける低遅延配信への取り組みについて【開発中】 - Mirrativ Tech Blog

    こんにちは ハタ です。 Mirrativで開発中の低遅延配信機能について、ある程度形がまとまってきて、開発段階から品質チェック段階になりましたのでちょっとだけどんな感じになるか紹介させていただきたいなと思います。 なお、今回紹介するのは開発中のものからピックアップさせていただくので 実際にサービスにリリースされるものとは異なりますのでご留意お願いします。 言葉の定義 まず先に、世の中には「低遅延」という言葉の意味が沢山あるのですが 僕らのいう「低遅延」配信とはざっくり一言でいうと 「配信中の画面がインターネットを超えて視聴画面に見えるようになるまでの早さが短いもの」 としています。 つまり配信画面に映ってるものが視聴端末にすぐ(1秒未満)に再生されるようにする事が目標となっています。 配信した時刻にどれだけ近いか、を示す言葉として低遅延と呼んでいます まずはどんなものを作っているのか 開

    Mirrativにおける低遅延配信への取り組みについて【開発中】 - Mirrativ Tech Blog
    invent
    invent 2019/03/04
  • 1