SHOWROOM Blog

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

SHOWROOM Blog

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

最近の記事

YAPC::Hakodate 2024 が最高でした!

はじめにSHOWROOM事業部のサーバーサイドエンジニアで先日開催されたYPAC::Hakodate 2024  へ参加してきたので、気になったセッションの感想などを有志で書いていきます。 ブログを書くまでがYAPCですしね! 前夜祭AWS Lambdaで実現するスケーラブルで低コストなWebサービス構築 Lambdaを使ったWebアプリケーション開発と運用のノウハウと、TonamelでECSからLambdaで移行した際の具体的な事例に関するセッションでした。 Lamb

    • AWS Summit Japan 2024に参加してきました!

      はじめに先日開催された AWS Summit Japan 2024に行ってきたので、有志で気になったセッションを紹介していきます! 2024年7月5日 まで配信を視聴できるようなので、気になるセッションがある方は要チェックです。 安全とスピードを両立するために ~ DevSecOps とプラットフォームエンジニアリング~どうも、SHOWROOM7年目のむっくです。最近はプログラミングの機会はそこそこありますが、インフラを触る機会がめっきり減って寂しい思いをしています。し

      • GoとPerlでJSONを扱う時に数値型が文字列型になる場合の対処

        いつもライブ配信プラットフォーム『SHOWROOM』をご利用いただきありがとうございます。開発部の横山です。SHOROOMでは引き続きバックエンドシステムのプログラムをPerlからGo言語に移行しております(計画の詳細)。 今回はPerlからGo言語に移行するにあたり躓きポイントを紹介します。Go言語での細かい実装上の内容になります。 数値型のつもりが文字列型に!?PerlとGo言語でJSONなどのシリアライズされたデータを共有するときに注意するときがあります。その一つに

        • 年末機能のハッカソンをやりました!

          概要SHOWROOM事業のサーバーサイドエンジニアは隔週水曜日が出社日となっており、数少ない出社日で交流する目的で催しをしています。(↓の記事にも記載有り) その流れで、今回は 「年末向け機能」というテーマでハッカソンを開催しました。ハッカソンの実施は今年3度目となります。SHOWROOMでは、季節のイベント毎に色々な企画をサービスとして出しているのですが、「クリスマスと正月に挟まれた年末にちょうど良い企画がなかなか作れない」といった話もあり、企画の助けにもなるかもというこ

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

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

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

          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

          Nuxt3でAPI proxyをする方法

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

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

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

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

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

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

          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を使う準備〜