SHOWROOM Blog

ライブ配信プラットフォーム「SHOWROOM」やバーティカルシアターアプリ「smash…

SHOWROOM Blog

ライブ配信プラットフォーム「SHOWROOM」やバーティカルシアターアプリ「smash.」を運営しているSHOWROOM株式会社の社員ブログです。|採用:https://tinyurl.com/ycxpe7z2 |旧ブログ:https://tinyurl.com/mudu3kzv

最近の記事

smash. iOSアプリで採用しているアーキテクチャと改善について

こんにちは。SHOWROOM事業本部開発部メディア開発グループの菊池です。 今回はsmash. のiOSアプリで採用しているアーキテクチャと改善してきたことについて紹介させていただきます。 smash.とはスマートフォンでの視聴に特化した縦型&短尺映像を配信するバーティカルシアターアプリです。 アーキテクチャについてはじめに smash. iOSで採用しているアーキテクチャはCleanArchitecture + MVVM を採用しています。 こちらのRepositor

    • Nuxt3でAPI proxyをする方法

      Nuxt2からNuxt3へアップデートする際に、proxyに利用していたproxy-module及びデータフェッチライブラリのaxiosを、それぞれhttp-proxy-module、ofetchへと変更しました。 この記事ではそれらのライブラリを利用したproxyの設定や、リクエスト時の共通設定について説明します。 @nuxtjs/axios Axios module supports Nuxt 2. Nuxt 3 users can use the new isomor

      • AWS Dev Day 2023 Tokyoに参加してきました

        はじめにSHOWROOM事業部のサーバーサイドエンジニアで先日開催されたAWS Dev Day 2023 Tokyo に参加してきたので、有志で気になったセッションを紹介していきます! RDBで解けない性能問題をグラフDBのAmazon Neptuneによって解決する横浜DeNAベイスターズのバウアー選手のYouTubeチャンネルにハマっている早川です。 このセッションでは、電子薬歴システムの事例を通じて、グラフDBがどのようなケースで有効なのか学ぶことができました。 電子

        • SHOWROOMの4層システム大刷新を実施中[AWS/Go/Nuxt/Unityを採用]

          4つの層でシステム刷新中いつもライブ配信プラットフォーム『SHOWROOM』をご利用いただきありがとうございます。現在、SHOWROOMの裏側では4つのシステム刷新を行っています。いずれもユーザの皆様への影響はありません。今後のシステムの開発を持続可能にするために重要であると考え取り組んでいます。 こんにちは、開発部の横山です。4つのシステム刷新について紹介したいと思います。4つのシステム刷新は以下の通りです。なんとインフラ・バックエンド・フロントウェブ・スマートフォンアプ

        smash. iOSアプリで採用しているアーキテクチャと改善について

          SHOWROOMインフラのマネージドサービス移行

          こんにちは。SHOWROOM事業本部開発部テクノロジーソリューショングループの中村です。 今回ライブ配信サービス「SHOWROOM」のインフラのマネージドサービス移行が様々な制限・仕様に翻弄されつつも一通り完了したので知見を共有したいと思います。 SHOWROOMインフラの背景SHOWROOMは株式会社ディー・エヌ・エー(以下DeNA)の一事業としてスタートし(その後SHOWROOM株式会社として分社化)、インフラは当初DeNAのオンプレミス環境及びDeNAのインフラ関連

          SHOWROOMインフラのマネージドサービス移行

          YAPC::Kyoto 2023に参加しました

          こんにちは。SHOWROOM事業本部開発部テクノロジーソリューショングループの中村です。最近はgeoguessrよくやってます。 今回YAPC::Kyoto 2023に参加しましたので興味深かった発表などを紹介したいと思います。 売上と開発環境を同時に改善するために既存のPerl Web アプリケーションをどのようにリプレイスするかSHOWROOMではPerlをGoでリプレイスしていく方針を決定しましたが、Diverseさんでは新しいPerlで古いPerlを置き換えていく

          YAPC::Kyoto 2023に参加しました

          Renovateを導入するためにあれこれした話

          こんにちは。Android アプリエンジニアをしているぽんです。 SHOWROOM の Android アプリでは Renovate を導入してライブラリの管理をしやすくしています。 Renovate の導入自体はすごく簡単なんですが、それまでにやっておきたいこと等で幾つかの作業を経たので紹介しようと思います。 導入手順を考える build.gradle を Groovy から KTS に移行する Version Catalog を導入する Renovate を導入す

          Renovateを導入するためにあれこれした話

          システムデザイン大会(社内アイデアソン) を突撃レポート!

          経緯SHOWROOM事業のサーバーサイドエンジニアは隔週水曜日が出社日となっており(2023年1月現在)、数少ない出社日でお互いを知ったりコミュニケーションを増やすといった目的で、催し(ハッカソンやボードゲーム会など)をしています。 そういった催しの一環で、システムデザインに興味のある方が多かったことや、スキルの向上にもなりそう ということで 「システムデザイン大会」 と題したアイデアソン を開催することになりました。 概要お題は 「SHOWROOMを今一から作った場合の

          システムデザイン大会(社内アイデアソン) を突撃レポート!

          SHOWROOM AWARD 2022にスタッフとして参加してきました!

          エンジニアがSHOWROOM AWARD 2022に現地スタッフとして参加してきたので、その感想とSHOWROOM AWARD2022について調べてみた概要について書いてみます! SHOWROOM AWARD 2022とは?年間No.1ライバーを決める最優秀トップランカーをはじめ、 SHOWROOMで活動しているライバーの様々な魅力にスポットライトを当てる祭典です! ライバーの方々だけでなく、もちろん視聴者の方々にも賞が用意されており、いわばSHOWROOMの2022年の総

          SHOWROOM AWARD 2022にスタッフとして参加してきました!

          Nuxt v2.xでVuexからPiniaに移行してみた

          今回はNuxt v2.xを用いたプロダクトで利用していたVuexをPiniaに移行したので、その際に得られた知見を記事にします。 この記事では、 ・Piniaってなんなの? ・Vuexと比べてどうなの? ・実際に変えてみて良かったこと、大変だったこと についてまとめていきます。 主にVuexを利用している or していた人向けに書くため、Vuex自体についての説明は割愛します。 Piniaとは?Vueの状態管理のためのライブラリです。 Vue3からは、VuexではなくPi

          Nuxt v2.xでVuexからPiniaに移行してみた

          OHHTTPStubsとSwiftGenを使ったUnitTestの実装

          こんにちは、新米エンジニアの山口です。 今日は、OHHTTPStubsとSwiftGenをつかって、ちょっといい感じにAPIリクエスト周りのテストが実装できたので、その方法を紹介しようと思います! 以下のようなメリットがあるのでぜひ、やってみてください! APIリクエストのテストが簡単に書ける 並列のAPIリクエストのテストも簡単に書ける APIリクエストのモックファイル(.json)の管理がスマートになる OHHTTPStubsとはOHHTTPStubs OHH

          OHHTTPStubsとSwiftGenを使ったUnitTestの実装

          RedashでRedashのデータベースを使う方法〜Redashのmetadataを使う準備〜

          こんにちは。波多野です。 SHOWROOMで分析/AIグループのマネージャーをやっています。 SHOWROOMでは分析にRedashを使っています。 これはAWSのEC2で立ち上げて運用しています。 先日投稿されたこちらの記事 ここでの主役はRedashのmetadataでした。 この記事は、そもそもmetadataって何?どうやったら使えるの???となった方、かつRedashをEC2で運用されている方に向けたニッチな記事になります。 (最後の2行に大事なことを書

          RedashでRedashのデータベースを使う方法〜Redashのmetadataを使う準備〜

          Redashを整理してルールを作ったので紹介します! 〜SHOWROOMのデータ民主化に向けた取り組み〜

          こんにちは!開発部でデータアナリストをしている松尾です。 前回、現在進めているデータの民主化に向けた取り組みをご紹介させていただきました。 今回は、その取り組みの1つであるRedashの整理について書いていきたいと思います。クエリが乱立してしまった状態からmetadataを使って整理を進め、運用ルールとRedashの検索ができるダッシュボードを作りましたので、ご紹介していきます。 ※metadataを使えるようにする方法は、こちらの記事をご覧ください SHOWROOM

          Redashを整理してルールを作ったので紹介します! 〜SHOWROOMのデータ民主化に向けた取り組み〜

          はじめましてSHOWROOMデザイングループです。

          初めまして。「SHOWROOM」の開発運営を行なっているデザインチームです。今回は、私たちがどんな仕事をしているか、紹介したいと思います。 チームとしてはグラフィックデザイナーとUIデザイナーで構成されたチームです。 最近ではデザインといっても表層から、深層まで幅広くより複雑になってきていると思うのですが、基本的には問題の解決と視覚的効果の最大化などを目的にユーザーにどう使ってもらうか、使いやすいか、楽しいか、など感情を揺さぶる何かがあるかを考えながら作ってます。 ポイン

          はじめましてSHOWROOMデザイングループです。

          未経験エンジニアがSHOWROOMに入社して働いた最初の4ヶ月間

          こんにちは、SHOWROOMのiOSアプリの開発を担当している山口です。 入社して4ヶ月経つので、入社エントリを書いてみようと思います。 タイトルの通り、僕はいわゆる未経験から採用されたITエンジニアです。 大学は体育学科に進学し、卒業後も新卒で営業をしていました。 これまでの人生ではエンジニアとは無縁の生活を送ってきたわけですが、 そんな僕が新入社員目線での会社のことなど「転職を考えている社会人」「就活を控える大学生」に向けて執筆したいと思います。 この記事がきっかけで

          未経験エンジニアがSHOWROOMに入社して働いた最初の4ヶ月間

          BitriseのBuild Pipelines機能を使って、並列ビルドを実行する

          SHOWROOMのiOSアプリを開発しているエンジニアの杉山です! 以前ブログでBitriseで複数のWorkflowを並列実行できるようにしてみた!という記事を書きましたが、ちょうどその記事を書いた後に、BitriseのBuild Pipelines: efficient CI/CD workflows with parallelizationという記事を見つけました。 見てみると、このBuild Pipelinesを使った方がbuild-router-startの機能を使

          BitriseのBuild Pipelines機能を使って、並列ビルドを実行する