midonia415のブックマーク (883)

  • DroidKaigi2022に若手3人が参加してきました - Mirrativ Tech Blog

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

    DroidKaigi2022に若手3人が参加してきました - Mirrativ Tech Blog
  • 【変化・成長・課題】1年間のミラティブのインターンを振り返る - Mirrativ Tech Blog

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

    【変化・成長・課題】1年間のミラティブのインターンを振り返る - Mirrativ Tech Blog
  • 大規模なAndroidアプリにおけるマルチモジュールの導入事例 - Mirrativ Tech Blog

    ミラティブのAndroidエンジニアの chocomelon です。 MirrativのAndroidアプリでは、Androidアプリケーションの内部品質向上のために開発で以下を取り入れています。 データフローの単方向化(Flux導入) Viewからのロジック切り離し(Flux、Jetpack Compose導入など) 責務分割、依存方向の強制(Flux、マルチモジュール導入など) 今回の記事では特にマルチモジュールについてお話します。 MirrativのAndroidアプリは、配信/視聴機能、アバター機能、リッチなアニメーションなど複雑な要素を一つの画面で表現することが多々あります。 これらを考えなしに実装すると、可読性の悪化を招いたり、不具合が発生しやすく調査しづらいコードにしてしまいがちです。 複雑なアニメーションやアバター機能などを持つ配信画面 ミラティブでは多くのメンバーがネイテ

    大規模なAndroidアプリにおけるマルチモジュールの導入事例 - Mirrativ Tech Blog
  • Mirrativ Tech Community & Activity Policy - Mirrativ Tech Blog

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

    Mirrativ Tech Community & Activity Policy - Mirrativ Tech Blog
  • ミラティブでインフラストリーミングチームにインターンとして参加してカルチャーショックを受けた話 - Mirrativ Tech Blog

    紳士淑女、エンジニア、あるいはそれを志す皆様おはようございます。かさいさん @streamwest1629 です。 今この記事を書き始めたのは午後3時。普段、私が個人的な趣味で書く記事だと、冒頭は 「依存関係逆転則含む諸原則に苦しめられた方々,いかがお過ごしでしょうか」 であるとか、「Gopherの皆様、いかがお過ごしでしょうか」 であるとか、ある程度対象読者層を絞った文言で始めています。しかし、この記事の読者層をどの程度絞って書いたものかと少し悩みながら上記冒頭文を選びました。 さて、タイトルにある通り私はこの夏に1ヶ月半という短い期間ではあるのですが、ミラティブのインフラストリーミングチームにてインターンをさせていただきました。 自分の技術力にはある程度自信があったので、心理的に余裕を持った状態でミラティブのインターンに参加しました。 しかし、実際にミラティブのインターンとして参加しイ

    ミラティブでインフラストリーミングチームにインターンとして参加してカルチャーショックを受けた話 - Mirrativ Tech Blog
  • 【ミラティブ】CEDEC2022 にスポンサーとして登壇 & 協賛しました - Mirrativ Tech Blog

    こんにちは、ミラティブの野呂です。 2022年8月23日(火)〜25日(木)に行われた CEDEC2022 にて、スポンサーとして登壇 & 協賛をさせていただきましたのでご報告させていただきます。 稿では、セッションの紹介と、資料を公開します。 ※CEDEC2022については、公式サイトをご覧ください https://cedec.cesa.or.jp/2022 ミラティブ登壇者によるセッション 登壇者 プロダクト開発技術Unityグループ マネージャー 菅谷 琢磨(@tetsujp84) エモモデザイン部 3Dグループ マネージャー 下原 雄大(@Youday313) 発表内容 ミラティブでのモバイル×ライブゲーミングへの取り組みと挑戦 ミラティブで取り組んでいるモバイルでのライブゲーミングの事例とライブゲーミングにおけるUnity技術について紹介しました。 ライブゲームにはMir

    【ミラティブ】CEDEC2022 にスポンサーとして登壇 & 協賛しました - Mirrativ Tech Blog
  • 2022年のライブゲームはWebGL@Unityで動いているよ - Mirrativ Tech Blog

    みなさまこんにちは、よこて @n0mimonoです。段々とすごしやすい気温になってきましたがいかがお過ごしでしょうか。今日の話は ミラティブとライブゲーム ライブゲームUnityを利用したWebGLベースで動いているよ バックエンドアーキテクチャの紹介 行ってみます! ミラティブ × ライブゲーム ミラティブは、スマホで簡単にゲーム配信ができるサービス『Mirrativ』を展開していますが、今年(2022年)からゲームとライブ配信を融合させた『ライブゲーミング』に特に注力してます(次は4月次点のプレスリリース)。 prtimes.jp 「ライブゲーミング」とは、配信中のゲームに視聴者が介入できる、ゲームとライブ配信が融合した次世代のゲーム体験となります。 視聴者は従来のライブ配信のようにコメントやギフトアイテムを贈るだけでなく、実際に配信者といっしょにゲームをプレイする「参加型ライブゲー

    2022年のライブゲームはWebGL@Unityで動いているよ - 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
  • ミラティブの開発組織をアプデしたよ Summer 2022 - Mirrativ Tech Blog

    みなさま、今年も夏(summer)がやってきました。よこて @n0mimono です。今回はミラティブのプロダクト開発組織を更新したよという話をします。ついでにこれまでの歴史と今後の展望も紹介します。 前回記事はこちら tech.mirrativ.stream プロダクト開発と体制 組織 まず基情報から、ミラティブの展開するサービスは『Mirrativ』です。メンバーは何らかの形でこのサービスに関わります。前回記事時点で80人と書きましたが、今確認したら100くらいのメンバーがいます。エンジニアが所属する技術部を数えたら40人くらいいます。 前回記事の時点では、単一の技術部の下にグループをぶら下げる構成にしていました。 技術部 アプリ バックエンド インフラ・ストリーミング 人数も増えてきたため、7月から 技術部を2つに分けました 。だいたいこんな感じ。 プロダクト開発 Unity アプ

    ミラティブの開発組織をアプデしたよ Summer 2022 - Mirrativ Tech Blog
  • Jetpack Composeを使った複雑なアニメーション事例 - Mirrativ Tech Blog

    ミラティブのAndroidエンジニアのmorizoooです。 MirrativのAndroidアプリでは、新規で作る画面には積極的にJetpack Composeを活用しています。 tech.mirrativ.stream Mirrativは、多くのユーザーがゲームや雑談などの配信をしており、配信を盛り上げるための演出として通常のアニメーションに加えてLottieも織り交ぜ、リッチなアニメーションを実装しています。 Jetpack Compose導入以前は、AnimationListenerのCallbackを入れ子にする形で複雑なアニメーションを実現していたのですが、いざJetpack Composeで実装しようとなるとどう実装するのが良いのか苦心しました。 今回の記事では、実際にアプリで使っているアニメーションを例に、Jetpack Composeで作ったアニメーションを紹介します。

    Jetpack Composeを使った複雑なアニメーション事例 - 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
  • 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
  • SwiftFormatを導入してコード記法を統一化 - Mirrativ Tech Blog

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

    SwiftFormatを導入してコード記法を統一化 - Mirrativ Tech Blog
  • Swift Concurrencyを利用した表示再開するUIViewControllerの実装 - Mirrativ Tech Blog

    こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 iOSチームでは下記記事にある通り、チーム内でSwift Concurrencyに関してキャッチアップと知見の共有会を行っています。 ブログでは、勉強会を通し既存実装をSwift Concurrencyを利用することで安全に簡潔に書き換えることができそうな箇所があったので、その実装例と、並行処理を表す Task に関して興味深い点を紹介します。 tech.mirrativ.stream tech.mirrativ.stream 置き換え対象の実装 任意の1トリガーに対して、複数の画面を表示するケースを考えてみます。 Mirrativアプリの場合、配信者が視聴者から受け取るギフトに応じて複数のランキングが上昇し、演出用の画面を表示するといった仕様があります。 以下コードのように、上から順に画面を表示する必要があるかを検証し、

    Swift Concurrencyを利用した表示再開するUIViewControllerの実装 - Mirrativ Tech Blog
  • Cloud Buildによる内部向けGoバイナリのリリース自動化 - Mirrativ Tech Blog

    インフラ・ストリーミングチームの近藤 (id:udzura) です。 ミラティブのインフラ運用では、監視・自動化などさまざまなツールにGo言語を利用しています。ツールはコマンドラインツールとして提供して、バージョンごとにリリースを作成して各環境にデプロイしています。リリースの作成にはGitHubのRelease機能を利用しています。 今回は、GitHub Releaseの作成をGoogle Cloud Build(以下、単にCloud Build)で自動化したことについて、実装内容と効果を書いていきます。 なぜ Cloud Build を採用したか ミラティブの開発はGitHub Enterprise Cloudを利用しています。対応するCI/CDのサービスとしてはGitHub ActionsやCircleCIなど*1数多くありますが、ミラティブにおいてはGCPの利用箇所が多く、既存GCP

    Cloud Buildによる内部向けGoバイナリのリリース自動化 - Mirrativ Tech Blog
  • 【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
  • Mirrativでのビジュアルスクリプティング(Bolt)活用事例とテクニック - Mirrativ Tech Blog

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

    Mirrativでのビジュアルスクリプティング(Bolt)活用事例とテクニック - Mirrativ Tech Blog
  • 社内勉強会「Swiftの並行処理についてのセッションを見る会」を開催しました - Mirrativ Tech Blog

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

    社内勉強会「Swiftの並行処理についてのセッションを見る会」を開催しました - Mirrativ Tech Blog
  • ミラティブの開発チーム編成をアプデしたよ Feb 2022 - Mirrativ Tech Blog

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

    ミラティブの開発チーム編成をアプデしたよ Feb 2022 - Mirrativ Tech Blog
  • 【北の国から】休学を決めてからミラティブで1年間インターンするまでを振り返る - Mirrativ Tech Blog

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

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