PLAY DEVELOPERS BLOG

HuluやTVerなどの日本最大級の動画配信を支える株式会社PLAYが運営するテックブログです。

HuluやTVerなどの日本最大級の動画配信を支える株式会社PLAYが運営するテックブログです。

Compose MultiplatformでのAndroid/iOSアプリ開発を試してみた

こんにちは。OTTサービス技術部 開発第3グループの森本です。 この記事では、Compose MultiplatformでのAndroid/iOSアプリの導入についての説明をします。 これからCompose Multiplatformの利用を検討する方の参考になれば幸いです。 Compose Multiplatform…

テスト自動化の新たな一歩 〜 Playwright MCPの実践 〜

皆さん、こんにちは。プラットフォーム技術部の林と申します。 しばらくご無沙汰しておりましたが、また記事を書いてみようと思います。 以前、Playwrightについての記事を書きましたが、その後さらに触っていく中で、Playwright MCPとPlaywright CLIにも挑…

AWS 認定資格全冠 RTA 完走しました【クリアタイム:35日10時間56分】

AWS

こんにちは、テックリードの丸山 @maruyamaworks です。 タイトルの通りですが、このたび AWS 認定全冠を達成しました。先月(2026 年 2 月)の初めから動き始め、約 35 日間というきわめて短期間で無事に全冠を達成することができました。本稿では、これか…

【25卒チーム開発】AI時代に必要な「課題発見能力」とは? 新卒研修のプロダクトが社内で実運用された話

皆様はじめまして。 25卒で新卒入社いたしました、ULIZAサービス部の浜川です。 PLAYでは毎年、新卒社員は入社後に技術研修を受け、その中でチーム開発に取り組んでいます。年度によって、チーム開発の期間やテーマなどは異なります。 私の代、25卒では自分…

AWS SAMを使ったLambda自動デプロイ + Lambda関数URL化 + CF設定までの道のり

こんにちは、OTTサービス技術部の小渕です。 SmartTV(HTML5TV)向けのアプリ開発は、PCやスマホアプリ開発とは異なる独特の苦労があります。ブラウザエンジンの性能が限られているため、少しの重い処理がユーザー体験(UX)を著しく損なわせます。 私が担当…

Google Antigravityを触って分かった最新AIエージェントの凄さ

みなさんこんにちは。2025年4月に新卒として入社しました、プラットフォーム技術部開発第3グループに所属しています、村山と申します。 皆さんは普段、開発を行う際に何のAIを使っていますか? GitHub CopilotやCursor、あるいはClaudeを横に置いてプログラ…

Figma MCP を用いて React コンポーネントを爆速で実装する

こんにちは、25卒で新卒入社いたしました、OTTサービス技術部開発第4グループの今村です。 業務では主にフロントエンドを担当しております。 担当案件にて他端末ですでに実装されていたコンポーネントを一から新規作成する機会がありました。 その際にFigma …

【New Relic Game Day イベントレポート】実践で学ぶオブザーバビリティの基礎と活用

PLAY では、技術力の向上を目的としたLT会の開催やテックブログなどを積極的に運営しています。今回は、オブザーバビリティへの理解向上と社内での活用促進を目的として New Relic株式会社様ご協力のもと、オブザーバビリティプラットフォーム「New Relic」…

AWS から Google Cloud の Workload Identity Federation を使う時にハマったところ

AWS の Lambda 関数から Google Cloud の Workload Identity Federation を使おうとした際に遭遇したエラーの話です。 The size of mapped attribute google.subject exceeds the 127 bytes limit. Either modify your attribute mapping or the incoming as…

Strands AgentsでAIに動画編集をさせてみた

みなさんこんにちは。2025年4月に新卒として入社しました、メディアサプライチェーン技術部第二グループの坂本です。 突然ですが、自然言語だけでAIが勝手に動画編集をしてくれたら便利だと思いませんか? 今回は、AWSが開発したオープンソースのAIエージェ…

CodePipelineでECSデプロイを自動化した時につまずいた3つのポイント

AWS

こんにちは、OTTサービス技術部の藤原です。 AWSでCodePipelineを使ったECSデプロイを自動化する際にいくつかつまずいたことがありましたので、今回はそのポイントを共有します。 CodePipelineを使った設定方法はこちらの記事で紹介されていますので、そちら…

【New Relic User Group Vol.16】2025年総決算 LT に登壇しました!

こんにちは。テックリードの丸山 @maruyamaworks です。 2025/12/17 に開催された New Relic User Group Vol.16 2025年総決算LT 〜持ち寄れ!現場の知見と失敗談〜 にて「New Relic 1 年生の振り返りと Cloud Cost Intelligence について」と題して登壇させ…

New RelicでDynamoDB Streamsをまたいだ分散トレーシングを実現した

こんにちは、PLAY CLOUD本部 技術推進室の市川です。 PLAY CLOUDでは現在、システム運用の質を高めるためにオブザーバビリティ(可観測性)の強化に注力し、New Relicの導入を進めています。 現代のシステムは、マイクロサービスやイベント駆動アーキテクチャ…

Raycast で作業効率化!おすすめの機能6選

こんにちは。2025年度に入社しました、PLAY CLOUD本部プラットフォーム技術部開発第1グループ所属のウォンです。 本記事では、Raycastを用いて日々のPC操作を効率化するため、私が特に頻繁に利用している標準機能3選と推奨拡張機能3選を紹介します。皆さんの…

大規模フロントエンド分離を成功させるための具体的なアプローチと知見

こんにちは、PLAY CLOUD本部 技術推進室の市川です。 前回は、サービス間の差異をなくすための共通Node.jsモジュール管理について解説しました。 developers.play.jp 今回もPLAY CLOUD全体の改善の一環として実施した、アーキテクチャの大幅な変更について、…

Slack の Event Subscription と GAS を使ってエラーを整理し 65% 解消した話

こんにちは。OTTサービス技術部 開発第5グループの松本です。 「アラートが多すぎて、どれを直せばいいか分からない…」私たちITエンジニアが日常的に抱えるこのモヤモヤを解消した取り組みのレポートです。本プロジェクトでは、Slack API、Google App Scrip…

GASを活用したSlack–Asana間のデザイン依頼フロー構築

今年も秋が短かったですね。こんにちは、デザイナーの池田です。 今回は「デザイナーへの依頼を効率化したいよぉ〜〜」という思いから、地味〜に2022年からやっていた事を世に出して行こうと思います。 さいしょに Slackのワークフローを導入 やりたい事は増…

【 AWS Media Services 勉強会レポート】動画配信技術の基礎を習得

AWS

PLAY では、技術力の向上を目的としたLT会の開催やテックブログの運営などを積極的に行なっています。今回、当社の核である「動画配信技術」の基礎を学ぶため、アマゾン ウェブサービス ジャパン合同会社様ご協力のもと、AWS Media Servicesに特化した社内勉…

Androidアプリを軽くするレイアウトの3つのコツ

こんにちは。OTTサービス技術部 開発第3グループの古川です。 みなさんレイアウトの書き方を気にしてますか? AndroidやAndroidTVはさまざまなスペックの端末がありそれぞれでなるべく変わらない操作感を提供する必要があります。 そのために描画のパフォー…

LinuxTV 向けアプリ開発者が Vega OS と向き合った話 〜フォーカス編〜

こんにちは、OTT サービス技術部の宮田です。 今回はAmazonから発表された新型FireTVのOSである「Vega OS」向けアプリの開発にチャレンジする中でハマったことと、その解決策を一つ紹介します。 本題に入る前に フォーカス管理 LinuxTVでのフォーカス管理手…

就業型インターン参加レポート:動画配信サービスの裏側とエンジニアリングの本質

こんにちは!インターン生の畑です。 今回は、就業型インターンの参加レポートをお届けします。 なかなかに濃い期間でしたので、得られた学びのアウトプットも兼ねて書きました! インターンについて 期間 出会い 業務内容 担当業務 使用技術 動画配信サービ…

Visual Studio Code のデバッガーで Out of Memory を解消する

こんにちは。PLAY CLOUD本部プラットフォーム技術部 開発第2グループ所属のガリです。 とあるサーバーレス関数で Out of Memory (OOM) が発生しました。処理するデータ量が増えたため、暫定対応としてメモリ割り当てを増やしたところ、問題は一時的に解消さ…

Observability Conference Tokyo 2025 に現地参加してきました! #o11yconjp

こんにちは、テックリードの丸山 @maruyamaworks です。 弊社が提供しているプラットフォーム PLAY CLOUD では、パフォーマンスの改善や不具合の早期発見等を目的として、昨年 11 月ごろから Observability を高めるためのツールとして New Relic を導入して…

社内 LT 会「てっくじゃむ」10月16日のイベントレポート

2025年10月16日(木)に、PLAY 社内で 「てっくじゃむ」を開催しました。 このイベントは PLAY の技術情報交流を活発化させるため不定期で開催している社内の LT 会です。 ジャムセッション(即興で行われる演奏会)のように、普段はあまり関わりがない人た…

Amazon Bedrockを使ってナレッジベースを作ってみよう

みなさん、こんにちは。4月に入社しました、メディアサプライチェーン技術部開発第2グループの山本です。普段の開発やビジネスの業務において、以下のような場面に遭遇したことはないでしょうか? 「あのファイル、どこにあったっけ...?」「情報が点在して…

iOSDC Japan 2025で登壇しました

こんにちは! iOSエンジニアの鈴木斗夢です。 iOSDC Japan 2025の参加レポートをお届けします! iOSDC Japan 2025とは 「iOSDC Japan 2025」は、国内最大級のiOSエンジニア向けカンファレンスです。 PLAYはシルバースポンサーとして協賛しました! PLAY シル…

これから GitHub Enterprise Cloud を導入する企業に EMU をおすすめする 4 つの理由

こんにちは。テックリードの丸山 @maruyamaworks です。 みなさん、GitHub は使っていますか? GitHub は企業向けに 複数のプラン を提供していますが、ある程度の規模の会社であれば GitHub Enterprise を利用しているというケースも多いのではないかと思い…

VerdaccioからGitHub Packagesへのnpmパッケージ移行

背景 当初想定していた作業フロー 実際の作業フロー(と起こった問題) 1. GitHub Packagesの初期設定 Personal Access Token(PAT)の設定 ローカルマシンの初期設定 ~/.npmrcの修正 ~/.yarnrcの修正 2. 既存のnpmパッケージをGitHub Packagesにアップロード …

サービス間の差異をなくす共通 Node.js モジュール管理

こんにちは、PLAY CLOUD本部 技術推進室の市川です。 弊社の提供するプラットフォーム「PLAY CLOUD」は、さまざまな機能を持った複数のサービスから構成されています。 技術推進室ではこれらのサービスを横断して技術的な課題を解決し、より良いサービスを提…

OAuth 2.0 クライアントID作成から Gmail API 呼び出しまで

皆さん、こんにちは。 プラットフォーム技術部の林と申します。 前回の投稿から気づけば2年が経ってしまいました。 しばらくご無沙汰しておりましたが、また記事を書いてみようと思います。 もし以前の記事の Playwright にご興味がある方は、こちらもぜひご…