並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 49件

新着順 人気順

Mirrativの検索結果1 - 40 件 / 49件

Mirrativに関するエントリは49件あります。 iOStechfeed開発 などが関連タグです。 人気エントリには 『Docker + Mac どうする問題 - Mirrativ Tech Blog』などがあります。
  • Docker + Mac どうする問題 - Mirrativ Tech Blog

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

      Docker + Mac どうする問題 - Mirrativ Tech Blog
    • イヤホン配信を支える音のプログラミング入門 - Mirrativ Tech Blog

      こんにちわ。shogo4405です。本エントリーは普段UI開発を行なっているクライアントエンジニア向けに、Mirrativのイヤホン配信を支えている音のプログラムの基礎を紹介していきたいといます。 音のプログラミングの概要を掴んでもらい、より詳しい部分については文献を調べるための参考になれば幸いです。 はじめに イヤホン配信の概要になります。Mirrativの配信はゲーム音源をマイクからの集音に頼っています。ユーザーが配信を行う際に、イヤホンを装着するとゲーム音源が配信にのらず視聴側としては物足りない配信になります。 これを解決する手段として、OS内部で再生中のゲーム音源をキャプチャーした音源。マイクから集音した音源。これらの音源を合成する方法があります。この手段をとることにより、イヤホンしながらでもゲーム音声を視聴者に届けることができるようになります。サービス上では、イヤホン配信と呼称し

        イヤホン配信を支える音のプログラミング入門 - Mirrativ Tech Blog
      • Go製ミドルウェアのメモリリークを解決した話 - Mirrativ Tech Blog

        インフラ・ストリーミングチームの id:udzura (@udzura)です。今回は、Goミドルウェアのメモリリークを見つけて解決する際に、どのようなプロセスを踏んでいったかを解説します。 Go製のミドルウェアの概要 ミラティブでは、Webアプリケーションのみならず、ミドルウェアに相当する部分についても必要なものは内製しています。その中の一つに、社内で「Radisha」と呼んでいる各種集計とキャッシュなどを行うためのミドルウェアがあります。Radishaは以下のような特徴を備えています。 GET、SET、SETEXなど基本的なRedis互換のコマンドを実装している。そのため、既存のRedisクライアントライブラリから操作が可能である。 ランキング集計、一定時間内のアクセス集計などが行えるよう、Redis にない独自のコマンドを実装している。 高い可用性を志向しており、オンメモリのデータは

          Go製ミドルウェアのメモリリークを解決した話 - Mirrativ Tech Blog
        • iOS16.1 以上でピクチャ・イン・ピクチャが CPU を異常に消費する問題の応急処置 - Mirrativ Tech Blog

          こんにちは、エンジニアのちぎら @_naru_jpn です。ミラティブの iOS アプリでは 配信コメントバー 機能の実現のためにピクチャ・イン・ピクチャを活用しています。ピクチャ・イン・ピクチャは iOS16.1 以上の端末において、特定のシチュエーション *1 で異常に CPU リソースを消費することが知られています。コードの調整によってこの現象が抑制できることが分かり、ミラティブの iOS アプリではバージョン 10.0.1 で応急処置を行ったのですが、今回はその詳細とトレードオフについて解説します。 加えて、この問題は既に Apple へバグレポートとして報告済みですが、Apple への事象の説明のために問題を簡単に再現できるプロジェクトを作成したので、そちらも併せてご紹介しています。 ピクチャ・イン・ピクチャが CPU を異常に消費する問題 iOS 16.1 以上の端末でピクチャ

            iOS16.1 以上でピクチャ・イン・ピクチャが CPU を異常に消費する問題の応急処置 - Mirrativ Tech Blog
          • PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog

            こんにちは ハタ です。 Mirrativ では 2020年頃から サーバサイドの技術をPerlからGoへのシステム移行 を行っており、2024年現在でもサグラダファミリアのように移行作業は継続しています PerlとGoという2つの環境を同時に運用していますが、 基本的には 新機能は Go で実装 し、 Perlでは積極的に新規実装を行わない というスタイルで進めていました しかし、既存の機能の一部に手を加えたいとなった場合、まだまだ Perl の実装に手を加えることが一定あり、Perl から Go の機能を呼び出したいというニーズが出てきました (配信やギフトといったビジネスの根幹を支えるレガシーな実装においては顕著) そこで PerlXS を利用することで Perl から Go を直接呼び出せるようにできないかと考え検証を進めることにしました Goの -buildmode=c-shar

              PerlからGoへのシステム移行のアシスト 〜Perl XSとUnix Domain Socketを活用〜 - Mirrativ Tech Blog
            • テスト工程の可視化や自動化に向けた取り組みのご紹介 - Mirrativ Tech Blog

              こんにちは、エンジニアの千吉良(ちぎら)@_naru_jpn です。ここ最近 QA に関して考える機会があり、Systematic Software Testing という本を読んでいたところ、色々と刺激を受けるところがありました。計画書の作成やリスク管理などテストの実施以外の領域についても多く書かれていましたが、まずはミラティブの現状に基づいた改善を行うべきだろうと考えました。今回は特にメトリクスの取得などに関して、GAS(Google Apps Script)を活用してミラティブの業務に応用してみたことについてまとめてみました。 以下では細かいことにも触れているので、3行まとめをおいておきます。 手動テストの進捗を見えるようにしたよ GAS(Google Apps Script)で実装したよ ついでに関連業務を自動化したよ ミラティブにおける QA と解決できそうと感じた課題 ミラティ

                テスト工程の可視化や自動化に向けた取り組みのご紹介 - Mirrativ Tech Blog
              • Mirrativ のバックエンドで使っているGoライブラリを紹介する! - Mirrativ Tech Blog

                こんにちは、バックエンドエンジニアの夏(なつ)です。今回はMirrativのバックエンドで使っているライブラリをご紹介します。 これらの記事のバックエンド版になります!(2年越し) tech.mirrativ.stream tech.mirrativ.stream ライブラリ一覧 https://pkg.go.dev/ オリジナルの The Go gopher(Gopherくん) は Renée French によるデザイン cloud.google.com/go/bigquery 分析チームが生成したユーザの特徴量などがBigQuery上に存在しているため、それらをバッチ処理でMySQL上に取得する際に利用しています。 tech.mirrativ.stream cloud.google.com/go/compute/metadata 開発環境などでしか動いてほしくない処理が本番環境上で動

                  Mirrativ のバックエンドで使っているGoライブラリを紹介する! - Mirrativ Tech Blog
                • クラウドネイティブなVPNを構築して運用している話 - Mirrativ Tech Blog

                  インフラストリーミングチームの近藤(@udzura)です。 今日は、ミラティブ社内向けツールの話をします。ミラティブではVPNの仕組みをクラウドをフル活用して自前で構築し、1年ほど運用しています。運用中にいろいろ課題はありつつ、現在かなり安定して動作してます。 今回の記事は、そのVPNの仕組みを紹介します。 既存VPNの課題 災害時に稼働できないリスクを避けたい どこに誰がアクセスできるか楽に管理したい 新しいVPNをハッカソンで開発した話 新VPNの設計思想 災害時でも稼働できる どこに誰がアクセスできるか管理できる 攻撃時の影響を限定する 12時間でインスタンスを停止する クラウドネイティブなVPNである アーキテクチャと技術の説明 WireGuard Google Cloud VPCの各機能 Cloud Functions + Pub/Sub + Slack App API Slac

                    クラウドネイティブなVPNを構築して運用している話 - Mirrativ Tech Blog
                  • 配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 - Mirrativ Tech Blog

                    こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。先日ミラティブの iOS アプリバージョン 9.38.0 にて「配信コメントバー」機能をリリースしました。この機能は iOS15 から利用可能になった PiP に関する技術を活用したもので、ミラティブ以外のアプリを開いている時に、端末の画面上にミラティブ固有のコンテンツを表示できる革新的な機能です。今回は、この「配信コメントバー」機能について背景や概要をご紹介したいと思います。 「配信コメントバー」機能とは 従来、iOS ではアプリがバックグラウンド状態に移行した後は、画面上に独自のコンテンツを表示するといったことは基本的にできませんでした。例えば、ミラティブ iOS アプリでは配信中のコメントを届けるために、プッシュ通知を利用しています。 iOS 15 からピクチャ・イン・ピクチャ(以下: PiP)の柔軟性が増したこ

                      配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 - Mirrativ Tech Blog
                    • 社内勉強会「Swiftの並行処理についてのセッションを見る会」を開催しました - Mirrativ Tech Blog

                      こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。Swift 5.5 で async/await が導入されて久しいですが、皆さま導入はされているでしょうか。プロダクトに導入して活用できればいいですが、すぐには導入できないプロダクトも多くあると思いますし、個人でキャッチアップするにも、温度感の違いや人によってキャッチアップできる分量にも差が出てくると思います。今回は社内勉強会の一環として、 Apple が公開している Swift の並行処理についてのセッションを見る会をした話を書こうと思います。 セッションを見る会をはじめた理由 Swift の並行処理についての機能は、キャッチアップしている人とそうでない人が分かれると思っています。Swift の並行処理については多くの技術記事が書かれていますが、業務にすぐには直結しない内容について技術を吸収する為にはそれなりの気持ち

                        社内勉強会「Swiftの並行処理についてのセッションを見る会」を開催しました - Mirrativ Tech Blog
                      • 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
                        • Neural Audio Codec を用いた大規模配信文字起こしシステムの構築 - Mirrativ Tech Blog

                          こんにちは ハタ です。 最近Mirrativ上に構築した配信の文字起こしシステムを紹介したいなと思います 音声からの文字起こしは、各社SaaSでAPI提供されているものがあると思いますが、今回紹介するものはセルフホスト型(自前のGPUマシンを使う)になります 構築していく上で色々試行錯誤したのでそれが紹介できればなと思っています どんなものを作ったか 前提知識: 配信基盤 前提知識: Unix Domain Socket Live Recorder Archiver DS Filter VAD Filter NAC / Compress Transcriber NAC / Decompress Speach To Text コンテナイメージ まとめ We are hiring! どんなものを作ったか 今回作ったものは Mirrativで配信されるすべての音声を対象に文字起こしを行う シス

                            Neural Audio Codec を用いた大規模配信文字起こしシステムの構築 - Mirrativ Tech Blog
                          • 【インフラ】 Envoy の導入と xDS API で Consul 連携やってみた話 - Mirrativ Tech Blog

                            こんにちは ハタ です 今回はインフラ/基盤開発で導入している Envoy について紹介したいなと思っています 現在ミラティブでは Go移行 を進めているところで、 既存のWebアプリケーション(Perl で実装されてます)と、新たに Go で実装された Web アプリケーションをシームレスに導入/切り替えするために Envoy の導入を行いました Envoy xDSとConsul によるインスタンス管理 NGINX や HAProxy または Apache HTTP Server など使い慣れた && ノウハウもあるミドルウェアではなくなぜ Envoy を選定したかというと、 なんといっても魅力的なのが xDS と呼ばれる Discovery Service 群があることで柔軟に既存コンポーネントと連携を取りやすいことやAPI操作によるコントロールの柔軟性が高いことが決め手となっています

                              【インフラ】 Envoy の導入と xDS API で Consul 連携やってみた話 - Mirrativ Tech Blog
                            • Apple のサンプルプロジェクトから Swift Concurrency 移行のエッセンスを学ぶ - Mirrativ Tech Blog

                              こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。Apple が Swift Concurrency への移行をサポートするためのサンプルプロジェクト Updating an App to Use Swift Concurrency を公開しているのをご存知でしょうか。 このプロジェクトには、DispatchQueue を用いて記述されたアプリのコードと、それを Actor などの Swift Concurrency を使用したコードに書き換えたアプリのコードの 2 つが同梱されています。運用しているプロダクトのコードを書き換えるのは規模も大きく大変ですが、小さいプロジェクトから書き換えの課題感を掴んだり、ウォーミングアップとして Apple のサンプルプロジェクトから学べることがあるだろうという事から、このプロジェクトを題材にして社内勉強会を開催しました。 勉強会の

                                Apple のサンプルプロジェクトから Swift Concurrency 移行のエッセンスを学ぶ - Mirrativ Tech Blog
                              • GitHub Actionsのセルフホストランナーを使ってJenkinsをサクッと叩けるようにする - Mirrativ Tech Blog

                                7月からミラティブにUnityエンジニアとして入社した森田です。 弊社ではUnityのCIとしてJenkinsを利用していますが、GitHub Actionsのセルフホストランナーと連携させることで、JenkinsはそのままでGitHubのWeb画面からジョブを実行できるようにしてみたので、書いておきます。 課題 実装 GitHub Actionsのセルフホストランナーの設定 JenkinsのAPIトークンを発行する workflowファイルの作成 結果 残った課題 We are hiring! 課題 弊社ではアプリのUnity部分とアセットバンドルのビルドにJenkinsを利用しています。 tech.mirrativ.stream JenkinsはUnityエンジニアに貸与されているMac miniにそれぞれにインストールして運用をしていたため、CIビルドするためにはその都度Mac mi

                                  GitHub Actionsのセルフホストランナーを使ってJenkinsをサクッと叩けるようにする - Mirrativ Tech Blog
                                • 株式会社ミラティブに入社しました|Uchio Kondo

                                  ミラティブという会社を知ったのは(退職エントリで書いた通り)実は大学時代からの友人が入社したのがきっかけで、その須山氏(現在はCFO)のインタビューもちょうど出ているのでよろしければどうぞ。 「近隣の子どもたちとバーベキューやオリエンテーションを開催するボランティアサークル」とは僕も入っていたサークルで、須山さんにはお世話になりました。いやこれからもか…。 なぜミラティブか? という話入ったばかりでほぼユーザに価値を届けていない段階でアレだが、自分の備忘録という言い訳をして、以下、自分がどういうことを考えてミラティブを選んだかを残しておく。 基本的にこのnoteの内容については、自分の感じたことから書いたものであることは留意されたい。 軸その1: スタートアップなのに低レイヤと向き合えるプロダクトやユーザに向き合うのは大前提として、技術者としての私は引き続きインフラやIaC、SRE、基盤整

                                    株式会社ミラティブに入社しました|Uchio Kondo
                                  • イヤホン配信を支える音のプログラミング〜Accelerate編〜 - Mirrativ Tech Blog

                                    こんにちは。shogo4405です。本エントリーは、iOSエンジニア向けにイヤホン配信を支える音のプログラミング入門 - Mirrativ Tech BlogのiOS実装を紹介したいとおもいます。 本稿では、音声信号処理の実装手法としてAppleが提供するAccelerateフレームワークの利用方法を解説しています。音声の信号処理は、AccelerateのvDSPの関連の関数を利用します。 はじめに Accelerateを導入した背景は、for文での実装では、Mirrativで扱うライブ配信の処理速度に合わず体験的に良くありませんでした。そこで、Accelerateを導入することで処理速度の向上に寄与し満足できる体験になったため採用にいたりました。*1 サンプルデータ せっかくなので自分で音声データを作ってみましょう。sin波によるド・レ・ミ・ファ・ソ・ラ・シ・ドのラ(440hz)の音デー

                                      イヤホン配信を支える音のプログラミング〜Accelerate編〜 - Mirrativ Tech Blog
                                    • ミラティブCTO交代の挨拶 - Mirrativ Tech Blog

                                      みなさまこんにちは、ちぎら @naru_jpn とよこて @n0mimono です。noteの方に対談を掲載していますが、テックブログのほうでも記事を書いてみようと思います。社内外の多くの方に読んでいただければ幸いです。 note.com prtimes.jp CTOを交代しました! 今のCTOより こんにちは、ミラティブ3代目CTOの千吉良(ちぎら)です。プレスリリースにあるように2024年1月よりCTOに就任しました、よろしくお願いいたします。 夏さん、横手さんと組織の中でCTOの移り変わりを眺めていて自分がその立場になるとは夢にも思わず生活をしていた訳ですが、せっかく挑戦する機会をいただいたのでお話を受けさせていただくことにしました。 私は2018年の8月からミラティブに副業ではじめて関わり、そのまま同年12月にミラティブに入社しました。 note.com インタビューにも書いたと思

                                        ミラティブCTO交代の挨拶 - Mirrativ Tech Blog
                                      • ミラティブの開発チーム編成をアプデしたよ Feb 2022 - Mirrativ Tech Blog

                                        みなさま、おはようございます。よこて @n0mimono です。令和になってなんと4年目に入りました。 今回はミラティブのプロダクト開発チームを更新したよ、という話をします。ついでに周辺の取り組みも紹介してみます。 前回記事はこちら tech.mirrativ.stream ちなみに今日はこの本の影響を受けています。 チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計 作者:マシュー・スケルトン,マニュエル・パイス日本能率協会マネジメントセンターAmazon プロダクト開発と体制 組織 まず基本情報から。プロダクト開発に関わる組織そのものは今まで通りです。いわゆる機能別組織です。メンバー一覧見たら80人くらいいました、エンジニアは30人くらい。 技術部 ← エンジニアとか 分析部 ← 分析とか 企画部 ← PdMとか デザイン部 ← デザイナーとか エンジニアの組織はエン

                                          ミラティブの開発チーム編成をアプデしたよ Feb 2022 - Mirrativ Tech Blog
                                        • ミラティブを退職します! - Mirrativ Tech Blog

                                          今日が最終出社、明日から有休消化期間だー!!!!うおおおおおおおおおおおお!!!!! 2019年の春から3年間、ライブ配信サービス「Mirrativ」のバックエンドを書いてきた stakme です。この夏で卒業です!お疲れさま〜!!!!! 頑張った、やりきった、本当は退職後半年くらい休みたい。けれど借金と税金がそれを許してくれないので、今後も頑張ります。 この記事では、これからミラティブのバックエンドチームに加わる方に向けて 私はこういう理由でミラティブに来たよ 入社時はこういう経験値だったよ この会社ではこういう経験ができたよ という話をします。あとでのんびり自分のnoteに書いてもよかったんですけど、テンションのおかしい退職者の記事がテックブログに載っていたらクリックレート高い面白いかなって思って… ちなみに執筆時点では掲載許可とか取ってないのですが、たぶん大丈夫です。なので書きますね

                                            ミラティブを退職します! - Mirrativ Tech Blog
                                          • 【iOS】ゲームアプリの音声設計とミラティブの配信について - Mirrativ Tech Blog

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

                                              【iOS】ゲームアプリの音声設計とミラティブの配信について - Mirrativ Tech Blog
                                            • ミラティブのUnityエンジニアになったら学べること - Mirrativ Tech Blog

                                              みなさんこんにちは。ミラティブUnityエンジニアの菅谷です。 私がミラティブに来てからちょうど2年が経ちました。 以前はソーシャルゲームの会社でゲームの運営や新規開発を行っていました。リードエンジニアとして広くコミットすることで、特にクライアント側の一通りの技術を学ぶことができましたが、ミラティブに来てからも事業が成長していく中で様々なことに挑戦し学んできました。振り返ってみてミラティブのUnityエンジニアとして習得できる技術や、ミラティブで活かせるスキルが分かってきたので一例として紹介します。 ミラティブのUnityエンジニアとしてのスキルは大きく3Dアバター(エモモ)系とゲーム系とに別れます。 どちらの技術もMirrativアプリで直接使われ、メンバーが変わるわけではありませんが開発における性質は異なります。 以下それぞれの特徴について説明します。 エモモ系 3Dアバター(エモモ)

                                                ミラティブのUnityエンジニアになったら学べること - Mirrativ Tech Blog
                                              • 配信コメントバー 〜 PiP 描画パフォーマンスとの向き合い方 - Mirrativ Tech Blog

                                                こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。先日 配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 という記事を公開しました。ミラティブアプリ上では Unity を利用して 3D のアバターであるエモモを描画しており、配信コメントバーの描画コストが大きすぎるとエモモの動きや見た目に影響しますし、画面のスクロール操作にも支障が生じます。今回は、複数の描画方法についての計算コストの計測結果と共に、配信コメントバーの描画をいかに最適化したかについて書きたいと思います。 描画の基本的な方針 配信コメントバーの全体像 前回の記事 で AVSampleBufferDisplayLayer と CMSampleBuffer に言及しました。CMSampleBuffer に表示する内容を描画する方法は、たくさんの種類があります。 画像をそのまま書き込んだり、ピク

                                                  配信コメントバー 〜 PiP 描画パフォーマンスとの向き合い方 - Mirrativ Tech Blog
                                                • iOS 16のロック画面映え機能を実装したい衝動に駆られた話 - Mirrativ Tech Blog

                                                  ピクミンのスマホゲームに歩かされ続けている福山です(現在Lv51 - 合計歩数1,415,248) iOS 16で音楽や動画を流しているときにロック画面がいい感じになりましたよね! 正式名称はわかりませんが、ここに表示される画像はアルバムアートやアートワークなどと呼ばれているようです。 Mirrativ iOSアプリの配信視聴時もいい感じになっているはず... と思ったのですが、ただの灰色の画面になっていました😨 「なんとかしたいなぁ」と思い既存のコードとリソースをほんの少しいじった結果、以下のようになりました!Mirrativアプリv9.88.0から反映されています。 大画面で画像を表示したくない or 他の通知もすぐ見たいという場合には画像部分をタップすることでコンパクトに表示されます。 コントロールセンターの右上のブロックを押すことでも画像を見ることができます。 iPhone 14

                                                    iOS 16のロック画面映え機能を実装したい衝動に駆られた話 - Mirrativ Tech Blog
                                                  • 【変化・成長・課題】1年間のミラティブのインターンを振り返る - Mirrativ Tech Blog

                                                    こんにちは。気づいたらミラティブに入って1年が経ってました。早いものですね。ブログを書いてて気づいたんですが、1年前の自分と大きく変わっていたことを再認識しました。プログラミング能力といった技術的なことから、仕事・仲間に対する意識といった内面的なことまで、たくさん変化がありました。そんなことをつらつら書いていきます。 目次 目次 自己紹介 ミラティブでの活動内容・働き方 生まれて初めて見たでっかいコード 毎週の勉強会 場所に囚われない働き方ができる 開発エピソード 1年前の自分と比較して We are hiring! 自己紹介 「お前誰やねん」と思われないように少し自己紹介。アプリ開発を始めたのは大学2年生の時。1年間くらい個人でスマホアプリを作ってました。どんなアプリかというと、同じ大学の友達同士で話し合えるTwitterのようなアプリです。オンライン授業で友達が作りづらい状況にあるため

                                                      【変化・成長・課題】1年間のミラティブのインターンを振り返る - Mirrativ Tech Blog
                                                    • Mirrativ iOSアプリでのメモリ使用量削減への取り組み - Mirrativ Tech Blog

                                                      こんにちは、iOSエンジニアのふじのです。 Mirrativの機能開発を進める傍ら、iOSアプリのメモリ使用量の改善に取り組んでいます。 今回は、アプリ内でメモリ使用量を増やしている問題点を見つける方法と、それらをクライアント実装で解決する具体的なアプローチについて紹介します。 Mirrativアプリが抱える課題 着眼点とアプローチ 画像キャッシュの効率化 UIImageのリサイズ 画像のメモリキャッシュの上限サイズ設定 メモリリークへの対策 Allocationsやmemory graphを利用した手動検出 XCTestを利用したCI上での自動検出 改善の成果と今後の課題 We are hiring! 参考リンク Mirrativアプリが抱える課題 Mirrativアプリはライブ配信機能や視聴機能、Unityを利用したアバター機能やWebGLを利用したゲーム機能など、メモリを多く必要とす

                                                        Mirrativ iOSアプリでのメモリ使用量削減への取り組み - Mirrativ Tech Blog
                                                      • Mirrativ Tech Community & Activity Policy - Mirrativ Tech Blog

                                                        はじめに 「ミラティブのエンジニアの発信の文化やポリシーってどうなってるんですか?」 本ドキュメントは、多くの方に聞かれるこの問いに答えるものになります。 好きでつながり、自分の物語(ナラティブ)が生まれる居場所 ミラティブはエンジニアの技術に対する強い思いによって成り立つチームです。ミラティブのエンジニアのミッションは、ミラティブというチーム・プロダクト・技術に貢献することであります。 一方、私達はナラティブが生まれるコミュニティの会社であり、わかりあおうとし続けるために、エンジニアチームのビジョンとして、ミラティブをテックな組織としてブランディングすることを掲げます。 すなわち、ミラティブのエンジニアは社外に対して積極的に発信し、イベントに参加し、OSSコミュニティに強く貢献するものであります。当然、社内においてもエンジニア同士が積極的に交流し、勉強会を開催し、互いの健やかな成長を促す

                                                          Mirrativ Tech Community & Activity Policy - Mirrativ Tech Blog
                                                        • Redash SaaSサービスから自前ホストへの移行した話 - Mirrativ Tech Blog

                                                          概要 ミラティブではデータ分析用ツールとしてRedashのSaaS(redash.io)を使用している。(Lookerと併用) 2021年11月末で redash.io のサービスが終了する。そのため、自前のGCP環境にRedashを移行した。 Redash謹製の移行ツールが提供されているが、いくつかハマったポイントがあった。 本記事では、GCP環境への移行手順・移行時のハマリポイント・移行後にあると便利なものを紹介する。 はじめに 初めまして、ミラティブでデータ分析基盤を担当している芝尾です。データ分析チームは5名のチームになっており、日々ユーザーの皆様のデータを分析してサービスの向上に努めています。今回はミラティブで使用していたデータ分析可視化ツールの移行を行いましたのでそのやり方を共有します。 背景 Redash hosted サービスが終了します。この記事 によると 2021/11

                                                            Redash SaaSサービスから自前ホストへの移行した話 - Mirrativ Tech Blog
                                                          • アプリ開発を支える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
                                                            • SwiftGenが生成する1万行越えSwiftファイルでXcodeがフリーズするのを防ぐ - Mirrativ Tech Blog

                                                              4月にミラティブに入社したiOS開発者の福山 (@fokotate)です。ミラティブにはゲーム好きな人が多いためか、積みゲー消化が急速に進んでいます。 今回は珍しいケースかと思いますが、他社のiOSプロジェクトでも起こりえる問題に対処することができたので共有させてください。 2022/06/09 ✍️追記: Xcode 14 beta 1で確認したところ、以下の問題はほぼ解決しているようでした。AppleにFeedbackを送ったところ同様の報告が複数あり、対応していただけたようです。 Mirrativ iOS開発の問題点 Mirrativ iOS開発ではSwiftGenを使い、多言語対応ファイルLocalizable.stringsをswiftファイルに変換しています。これによって文言をコードに挿入するときに、Xcodeのコード入力の自動補完が使えるようになりタイピングミスがなくなり、コ

                                                                SwiftGenが生成する1万行越えSwiftファイルでXcodeがフリーズするのを防ぐ - Mirrativ Tech Blog
                                                              • Mirrativでのビジュアルスクリプティング(Bolt)活用事例とテクニック - Mirrativ Tech Blog

                                                                こんにちは、ミラティブUnityエンジニアの菅谷です。 ミラティブでは先日Mirrativアプリ内で遊べるライブゲーム「エモモランあーるぴーじー」をリリースしました。 運営配信に遊びにきてくださって ありがとうございました🥳✨ あのゲームに、新たなシリーズが──⁉️ ⚔🏃‍♂️#エモモランあーるぴーじー🏃‍♂️⚔ ミラティブで開発中の #新作ライブゲーム🎮の✨超✨極秘映像🎥を 🎉Twitterでもお披露目🎉 ぜひRTして、ミラ友さんにも教えてあげてくださいね🐰💨 pic.twitter.com/H80ANnVLIq— ミラティブ@スマホ1台でゲームプレイ配信! (@mirrativ_jp) 2022年4月6日 エモモの衣装やアイテムを装備、強化して敵を倒しながらステージを進んで行くランゲームです。 エモモで遊べるオリジナルのゲームで、全てミラティブが開発しています。 ゲー

                                                                  Mirrativでのビジュアルスクリプティング(Bolt)活用事例とテクニック - Mirrativ Tech Blog
                                                                • 草の根から熱量を高めて配信者100万人。ミラティブが語る「灯火型」のコミュニティ立ち上げ論と、小さな配信の集合体が「視聴時間の80%」を支える話

                                                                  草の根から熱量を高めて配信者100万人。ミラティブが語る「灯火型」のコミュニティ立ち上げ論と、小さな配信の集合体が「視聴時間の80%」を支えてる話 配信者100万人を突破した「ミラティブ」さんにインタビューしました。 ※株式会社ミラティブ 代表取締役CEO 赤川隼一さん ミラティブについて 「ミラティブ」について教えてください。 2015年8月にスタートした、スマホでゲーム実況ができるアプリです。ユーザー数は未公開なのですが、むちゃくちゃ順調に伸びている状況です。 配信者数については、2019年2月に100万人を超えていて、スマホゲームの配信者数でいうと日本最大のサービスになっています。 ここまで、有名人に頼ってきたわけではなく、草の根から育ててきました。なので、時間はかかってしまったのですが、強固に伸ばせていると感じています。 僕としては、ミラティブのそういうところが気に入っていますね。

                                                                    草の根から熱量を高めて配信者100万人。ミラティブが語る「灯火型」のコミュニティ立ち上げ論と、小さな配信の集合体が「視聴時間の80%」を支える話
                                                                  • 【Android】Jetpack Composeの活用法について - Mirrativ Tech Blog

                                                                    Mirrativ Androidエンジニアのmorizoooです。 MirrativのAndroidアプリでは、Jetpack Composeの1.0がリリースされた2021年7月から導入をはじめています。 今回の記事では、導入に至った経緯と、ミラティブで採用しているFluxアーキテクチャの中でJetpack Composeをどのように活用しているかについてお話します。 導入に至った背景 Jetpack Compose導入の背景としては公式ドキュメントにもあるように以下の点をメリットに感じて導入しました。 コード量が削減できること ステートレスコンポーネントを簡単に作成できること developer.android.com また、Jetpack Composeの開発に深く携わっているJim Sprochさんもツイートでも、旧Android Viewはメンテナンスモードと宣言されており、Je

                                                                      【Android】Jetpack Composeの活用法について - Mirrativ Tech Blog
                                                                    • iOSプロジェクトに対してモジュール分割しながらSwiftUIを部分適用している事例 - Mirrativ Tech Blog

                                                                      こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 MirrativのiOSチームでは、開発効率の最大化を狙い以下に取り組んでいます。 データフローの単方向化 (Fluxアーキテクチャの強制) 宣言的UIによるView実装 (SwiftUIの部分適用) 責務分割 (モジュール分割) 今回の記事では、どのような構成でSwiftUIを適用し始めたか、また、MirrativのiOSプロジェクトの構成やプロダクト特性の課題感からセットでモジュール分割を進めている点を紹介します。 背景 前提となるプロジェクト構成 導入に向けて決めたこと SwiftUIでどこまで実装するか 本体アプリではなくSwiftPackageを活用する 垂直分割するか水平分割するか 方針やTipsを明文化し育てる 新規開発部分のUI開発をFeatureモジュールで行う SwiftPackage: SwiftUI.

                                                                        iOSプロジェクトに対してモジュール分割しながらSwiftUIを部分適用している事例 - Mirrativ Tech Blog
                                                                      • 熱いもの作りしたい人に届け!僕らがサービス成長のためにしてきたリストを公開しました|akagawa.junichi 赤川隼一|note

                                                                        ミラティブという会社をやっている赤川です。 2020年のテーマは「結果」。結果にとことんこだわる1年にするぞ、と年末年始に心を研いで新年を迎えた。 今年、まず結果を切望しているのは採用・仲間づくりだ。2019年は特に人材採用という意味では「結果」が出なかった。 年初に決めた採用人数は大幅未達。採用の遅れは、そのまま開発やアクションの遅れに直結することとなった。やりたいこと、成し遂げたい野心に対して、まだまだ50余人のチームは小さすぎる。特に、ものづくりに関わる人材を希求している。 一方で、頭数さえ揃えば良いのかというとそんなはずはない。世の不景気のきざし含め、今後も巻き起こる逆境の中を一緒に支え合っていけるような、最高に誇らしいチームでいつづける点を妥協するつもりもまたない。強みは違ってもお互いに尊敬しあえるメンバーを今後も集め続けたい。 その両立のために、単純なアクション量とあわせて、ミ

                                                                          熱いもの作りしたい人に届け!僕らがサービス成長のためにしてきたリストを公開しました|akagawa.junichi 赤川隼一|note
                                                                        • Firebase Crashlyticsを用いたError検知のすすめ - Mirrativ Tech Blog

                                                                          こんにちは。shogo4405です。本エントリーは、Firebase Crashlytics(以下Crashlytics)を利用しているiOSエンジニア向けにError情報の保存および活用についてのミラティブ社の事例を紹介したいと思います。 Errorの収集 ここで言うError情報とは、protocol Error : Sendableのことを指しています。Mirrativでは、主に次のError情報を収集してアプリケーションの品質向上につなげています。 URLSession#dataTaskでコールバックで得られるError 通信に関わるエラーを検知する用途 DecodableのDecodingError クライアントとサーバー間でデータ交換がうまくいっているか検知する用途 try AVAudioSession.shared.setCategoryでスローされるError 音声系統が意

                                                                            Firebase Crashlyticsを用いたError検知のすすめ - Mirrativ Tech Blog
                                                                          • DroidKaigi2022に若手3人が参加してきました - Mirrativ Tech Blog

                                                                            左から久賀、北川、中脇 こんにちは。Androidエンジニアの久賀と、インターン生の北川、中脇です。 2022年10月5日(水)〜7日(金)に開催された「DroidKaigi 2022」にミラティブのスポンサー枠で行ってきました。 2020年は中止、2021年はオンライン開催なので、2年ぶりの対面での開催となりました。僕ら3人はこのようなイベントに出席することが初めてなので、ワクワクしながら参加しました。 早めに東京ドームシティ会場に着いたのですが、既にたくさんの人がいて交流していたり、ブースの人と話し合っていたりしました。これが国内最大規模のAndroidイベントなのかと、今まで見たことのない景色だったのでびっくりしました。 DroidKaigiで色々な方と話し、たくさん学んできました。ではどう感じたかを書いていこうと思います。 公式アプリのコントリビュート まず、DroidKaigiの

                                                                              DroidKaigi2022に若手3人が参加してきました - Mirrativ Tech Blog
                                                                            • 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
                                                                              • 【Android】FlipperのCustomPluginを作成してデバッグ効率を改善する - Mirrativ Tech Blog

                                                                                Mirrativ Androidエンジニアのmorizoooです。MirrativではデバッグツールとしてFlipperを使っています。Flipperはモバイルアプリデバッグのためのデスクトップアプリケーションで、アプリ内のデータの整形や可視化を行うことができます。また、Flipperはネットワークの通信状況を確認するNetworkPluginなど、標準でいくつかの機能が用意されています。詳細についてはこちらをご覧ください。 tech.mirrativ.stream Flipperは標準機能だけでなく、独自のCustomPluginを作成することもできます。MirrativではCustomPluginを積極的に作成し、バグ調査や開発効率の改善に役立てています。一つ例を上げると、Mirrativではコメントやギフトの機能のために、WebSocketベースの独自のPubSubライブラリを使用し

                                                                                  【Android】FlipperのCustomPluginを作成してデバッグ効率を改善する - Mirrativ Tech Blog
                                                                                • 【北の国から】休学を決めてからミラティブで1年間インターンするまでを振り返る - Mirrativ Tech Blog

                                                                                  初めまして!クライアントエンジニアのいっちー(@ichi1101)です。 今年の4月からインターンとして入社し、iOSチームの一員としてMirrativの開発業務を行ってきました。 普通に学生エンジニアをしていた自分にとって、ミラティブでの開発は新鮮なことばかり。高水準なチーム開発に慣れていくのに苦労しましたが、学びも多くとても成長できたと実感しています。 本記事では、私が休学を決めてからインターン生活中の現在までのお話を紹介していきたいと思います。 目次 目次 インターンに参加するまで 休学を決めた 覚悟が必要だった ミラティブの存在を知った 偶然の力で面接にこぎつけた いきなりCTOと面接して入社 入社後から今まで こんなにでかいコードは生まれて初めて見た 初給料日までは白米を食べた わかりあう願いに溢れていた CocoaPodsのソースコードを読むことになった 広告SDKの改修で障害

                                                                                    【北の国から】休学を決めてからミラティブで1年間インターンするまでを振り返る - Mirrativ Tech Blog

                                                                                  新着記事