PLAY DEVELOPERS BLOG

https://developers.play.jp/

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

フィード

記事のアイキャッチ画像
GitHub ActionsとNotebookLMで実現する、AIを活用したドキュメント運用基盤の構築
PLAY DEVELOPERS BLOG
1. はじめに 2. 昨年度下期の活動とNotebookLMの活用について 3. GitHubからNotebookLMへの連携の全体像 4. Geminiでの活用方法と利用時の注意点 5. Googleドライブの自動同期対応について 6. 今後の課題について 1. はじめに こんにちは、ソリューション技術部 開発第2グループの篠原です。 AIの導入により開発効率は飛躍的に向上していますが、コードを書いた後の「次に繋げるための資料整理」など、基礎となる部分を固めることが更なる生産性向上には不可欠です。そのため、私は日々プロジェクトの標準プロセスや運用ツール周りの開発・整備を行っています。 最近、…
21日前
記事のアイキャッチ画像
AWS Summit Japan 2026 に行ってきました
PLAY DEVELOPERS BLOG
技術推進グループの杉嵜です。 AWS Summit Japan 2026 は、6 月 25・26 日の 2 日間にわたって開催されました。去年に続いて台風が接近し悪天候に見舞われましたが、今年も幕張まで出向いてきたので、参加レポートをお届けします。 AWS Summit Japan 基調講演 スペシャルセッション Expo セッション 終わりに 基調講演 初日の幕張メッセには 8 時 10 分ごろに到着して 8 時半に開場、無事に基調講演の予約席に座れました。開場の時点で非常に長い待機列が形成されていたようで、AWS のコミュニティの拡大を感じます。なお記念品としてクッションをもらえましたが、…
22日前
記事のアイキャッチ画像
AWS DevOps Agentを活用したインシデント自動分析基盤の構築
PLAY DEVELOPERS BLOG
こんにちは、PLAY CLOUD本部 技術推進グループの市川です。 PLAY CLOUDでは現在、システムの安定運用と運用負荷の低減を目指し、インシデント対応の自動化に取り組んでいます。 その一環として、AWS DevOps Agent を活用した、エラー通知から調査・Issue起票(PR作成)までを一気通貫で自動化する基盤を構築しました。 本番環境でエラーが発生すると、Slackにアラートが飛び、エンジニアがログを確認し、コードを調査し、GitHub Issueを起票し修正をする——この一連の作業を毎回手動で行うのは大きな負担です。 特にエラーの発生頻度が高い環境では、同じようなエラーに対し…
1ヶ月前
記事のアイキャッチ画像
webOS TV開発事始め:LG実機で自作アプリを動かす最短ルート
PLAY DEVELOPERS BLOG
LGのスマートTV(webOS)の実機に自作アプリをインストールして動作確認を行うまでの一連の流れを解説します! スマートTVのアプリの開発において、シミュレーターは確かに便利です。 ただ、シミュレーターが「嘘をつかない」のはあくまでロジックまで。 実際にリモコンを握って操作した時のもっさり感や、大画面で見つけたフォントの違和感、そして実機特有のメモリ制限……。 こうした「現場のリアル」は、やはりテレビにアプリをインストールして動かしてみないことには始まらないので、やはり最終的なパフォーマンスや挙動は実機で確認をしたいものです。 「PC上では完璧だったのに!」という悲劇を防ぐためにも、今回はL…
2ヶ月前
記事のアイキャッチ画像
TSKaigi 2026 に現地参加しました! #TSKaigi
PLAY DEVELOPERS BLOG
先日開催された TSKaigi 2026 に、PLAY はシルバースポンサーとして協賛しました!また弊社の市川が登壇するということもあり、そちらの応援も兼ねて現地参加しております。 日常的にTypeScriptを書いているので以前から気になっていたイベントだったのですが、実際に足を運んでみると想像以上に熱量が高く、とても学びの多いイベントでした。 会場の熱気とブースの様子 セッション 制約と時代から読み解くTypeScriptコンパイラ設計史 ReactとSvelteのその先、Ripple-TS LLM時代のリファクタリング戦略:AIエージェントによる段階的・安全なTS移行方法 OST(Ope…
2ヶ月前
記事のアイキャッチ画像
AIエージェントによる段階的・安全なTypeScript移行方法
PLAY DEVELOPERS BLOG
こんにちは、PLAY CLOUD本部 技術推進室の市川です。 PLAY CLOUDでは現在、プロダクトの管理画面について、稼働させたまま TypeScript に置き換える 作業を進めています。 JavaScript から TypeScript への移行は、型による不具合の早期検出、IDE 補完の精度向上、リファクタリングの安全性、新メンバーのオンボーディング高速化など、技術的なメリットが非常に大きい施策です。 一方で、ある程度の規模になったプロダクトでこれをやり切ろうとすると、人月単位の時間とコストがかかる こと、機能開発リソースと完全に競合する こと、直接的な利益に繋がることがわかりづらい…
2ヶ月前
記事のアイキャッチ画像
データ取得がなんか重い、、、複数のアプローチから原因の解明とパフォーマンス改善に取り組んだ話
PLAY DEVELOPERS BLOG
こんにちは。メディアサプライチェーン技術部第1グループの大野です。 「システムの動きがなんとなく重い気がする、、、」 「データ取得に結構時間がかかっているな、、、」 そんな風に思ったことはありませんか? 私が担当している Node.js と PostgreSQL で構築されたプロダクトでも、そのように感じるタイミングが時々ありました。 そこで、ボトルネックになっている箇所をチームで特定していくと、ボトルネックとなっている原因が1箇所ではなく複数あることが分かりました。 原因を特定し順番に対応したことで、以下のような改善をすることができました。 レスポンスタイムの短縮などによるUXの改善 インデ…
2ヶ月前
記事のアイキャッチ画像
Compose MultiplatformでのAndroid/iOSアプリ開発を試してみた
PLAY DEVELOPERS BLOG
こんにちは。OTTサービス技術部 開発第3グループの森本です。 この記事では、Compose MultiplatformでのAndroid/iOSアプリの導入についての説明をします。 これからCompose Multiplatformの利用を検討する方の参考になれば幸いです。 Compose Multiplatformとは 特長 他のクロスプラットフォーム技術との比較 導入方法 Step 1: 開発環境の準備 Step 2: プロジェクトの作成 Step 3: プロジェクト構造の理解 サンプルプロジェクト ネイティブ実装が必要となる部分 まとめ Compose Multiplatformとは …
4ヶ月前
記事のアイキャッチ画像
テスト自動化の新たな一歩 〜 Playwright MCPの実践 〜
PLAY DEVELOPERS BLOG
皆さん、こんにちは。プラットフォーム技術部の林と申します。 しばらくご無沙汰しておりましたが、また記事を書いてみようと思います。 以前、Playwrightについての記事を書きましたが、その後さらに触っていく中で、Playwright MCPとPlaywright CLIにも挑戦してみました。今回はその延長として、実際に触ってみた感想を共有したいと思います。 Playwrightについて詳しく知りたい方や、これから学び始める方は、こちらの記事もぜひご覧ください。 https://developers.play.jp/entry/2022/12/09/160940 Playwright MCPと…
4ヶ月前
記事のアイキャッチ画像
AWS 認定資格全冠 RTA 完走しました【クリアタイム:35日10時間56分】
PLAY DEVELOPERS BLOG
こんにちは、テックリードの丸山 @maruyamaworks です。 タイトルの通りですが、このたび AWS 認定全冠を達成しました。先月(2026 年 2 月)の初めから動き始め、約 35 日間というきわめて短期間で無事に全冠を達成することができました。本稿では、これから全冠を目指す方のために、全冠達成までの流れや勉強方法についてシェアしようと思います。 全冠を目指した理由 本 RTA のレギュレーションについて 成績発表 受験順について ポイント1: 序盤から高難度に挑戦する ポイント2: 1 日に 2 つの試験を受ける ポイント3: 3 つのバウチャーでサイクルを回す 勉強方法について …
4ヶ月前
記事のアイキャッチ画像
【25卒チーム開発】AI時代に必要な「課題発見能力」とは? 新卒研修のプロダクトが社内で実運用された話
PLAY DEVELOPERS BLOG
皆様はじめまして。 25卒で新卒入社いたしました、ULIZAサービス部の浜川です。 PLAYでは毎年、新卒社員は入社後に技術研修を受け、その中でチーム開発に取り組んでいます。年度によって、チーム開発の期間やテーマなどは異なります。 私の代、25卒では自分たちで作るプロダクトを選定して、3人1チームで取り組むことになりました。 本稿では、新卒の技術研修にて、チームで取り組んだプロダクト開発についてご紹介します。約1ヶ月という期間で、私たちは何を考え、何を作ったのか。そしてそれがどのように実際の社内インフラとして運用されるに至ったのかをお話しさせていただきます。 チーム開発 テーマ選定:AI時代だ…
4ヶ月前
記事のアイキャッチ画像
AWS SAMを使ったLambda自動デプロイ + Lambda関数URL化 + CF設定までの道のり
PLAY DEVELOPERS BLOG
こんにちは、OTTサービス技術部の小渕です。 SmartTV(HTML5TV)向けのアプリ開発は、PCやスマホアプリ開発とは異なる独特の苦労があります。ブラウザエンジンの性能が限られているため、少しの重い処理がユーザー体験(UX)を著しく損なわせます。 私が担当したある案件では、以下の三重苦に直面しました。 巨大なレスポンスを返す既存API 厳しいリクエスト制限 があるAPI 画像生成などの重い処理 をテレビ側で行うことによるパフォーマンス低下 これらを解決するために、AWS Lambdaを「BFF(Backend For Frontend)」兼「画像生成エンジン」として活用し、そのインフラ管…
4ヶ月前
記事のアイキャッチ画像
Google Antigravityを触って分かった最新AIエージェントの凄さ
PLAY DEVELOPERS BLOG
みなさんこんにちは。2025年4月に新卒として入社しました、プラットフォーム技術部開発第3グループに所属しています、村山と申します。 皆さんは普段、開発を行う際に何のAIを使っていますか? GitHub CopilotやCursor、あるいはClaudeを横に置いてプログラミングをする光景は、今や私たちの日常になりました。しかし、AIとエンジニアの関係は「補完」からさらに一歩先、「自律的なエージェント」へと急速に進化しています。 その決定打とも言えるのが、Googleから登場した最新のAIエージェント型エディタ『Antigravity(アンティグラビティ)』です。 これまでのAIエディタと何が…
5ヶ月前
記事のアイキャッチ画像
Figma MCP を用いて React コンポーネントを爆速で実装する
PLAY DEVELOPERS BLOG
こんにちは、25卒で新卒入社いたしました、OTTサービス技術部開発第4グループの今村です。 業務では主にフロントエンドを担当しております。 担当案件にて他端末ですでに実装されていたコンポーネントを一から新規作成する機会がありました。 その際にFigma MCPを用いて開発を行ったのですが、デザインからコードへの反映がとてもスムーズになり、実装工数が大幅に削減されました。 本記事では、Figma MCPの導入手順から実際にデザイン実装する流れ、そして実務での活用事例と使用して感じた利点と課題点についてお話しいたします。 Figma MCPとは? 導入方法 Figma側の設定 1. Devモードの…
5ヶ月前
記事のアイキャッチ画像
【New Relic Game Day イベントレポート】実践で学ぶオブザーバビリティの基礎と活用
PLAY DEVELOPERS BLOG
PLAY では、技術力の向上を目的としたLT会の開催やテックブログなどを積極的に運営しています。今回は、オブザーバビリティへの理解向上と社内での活用促進を目的として New Relic株式会社様ご協力のもと、オブザーバビリティプラットフォーム「New Relic」に特化した社内勉強会を開催しました!本記事では、約30名の社員が参加した勉強会の様子をレポートします。 Game Day スケジュール 今回のイベントは、New Relicの基礎力を確認するためのクイズや実際にデータを分析し問題点や改善点を特定する「チーム対抗戦」。ステージ1からステージ6までの構成となっており、参加者はチームごとに協…
6ヶ月前
記事のアイキャッチ画像
AWS から Google Cloud の Workload Identity Federation を使う時にハマったところ
PLAY DEVELOPERS BLOG
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 assertion to produce a mapped attribute that is less than 127 bytes.AWS と連携する際の Workload Identity Pool (以下 WIP)の属性マッピングは、 google.subject としてデフォルトでは assumed-role の ARN がマッピングされます。この google.subject は127バイト以下にしないといけないですが、Lambda 関数から連携するケースでは基本的に assumed-role の ARN に IAM ロール名と Lambda 関数名が使われるので、これが長いと ARN が127バイトを超えてしまい、WIF 側でエラーになってしまいます。
6ヶ月前
記事のアイキャッチ画像
Strands AgentsでAIに動画編集をさせてみた
PLAY DEVELOPERS BLOG
みなさんこんにちは。2025年4月に新卒として入社しました、メディアサプライチェーン技術部第二グループの坂本です。 突然ですが、自然言語だけでAIが勝手に動画編集をしてくれたら便利だと思いませんか? 今回は、AWSが開発したオープンソースのAIエージェントSDK、Strands Agentsを使って、自然言語による指示だけでAIに動画編集をしてもらうシステムを構築していきたいと思います。 Strands Agentsとは? 実際に試してみる 実装 編集手順 ツールの作成 実装 実演 終わりに Strands Agentsとは? Strands Agentsは、AWSが開発したオープンソースのA…
6ヶ月前
記事のアイキャッチ画像
CodePipelineでECSデプロイを自動化した時につまずいた3つのポイント
PLAY DEVELOPERS BLOG
こんにちは、OTTサービス技術部の藤原です。 AWSでCodePipelineを使ったECSデプロイを自動化する際にいくつかつまずいたことがありましたので、今回はそのポイントを共有します。 CodePipelineを使った設定方法はこちらの記事で紹介されていますので、そちらも参考にしてみてください。 developers.play.jp 背景 構成 つまずいたポイント3つ 1. CodeBuildのIAM権限不足 2. 社内パッケージサーバーへのアクセス拒否 3. ヘルスチェックパスの共有漏れ 補足:CloudFront環境での注意点 まとめ 背景 もともと手動デプロイしていたプロジェクトがあ…
6ヶ月前
記事のアイキャッチ画像
【New Relic User Group Vol.16】2025年総決算 LT に登壇しました!
PLAY DEVELOPERS BLOG
こんにちは。テックリードの丸山 @maruyamaworks です。 2025/12/17 に開催された New Relic User Group Vol.16 2025年総決算LT 〜持ち寄れ!現場の知見と失敗談〜 にて「New Relic 1 年生の振り返りと Cloud Cost Intelligence について」と題して登壇させていただきました。 nrug.connpass.com ▼ 当日の登壇資料はこちら speakerdeck.com 弊社では昨年 11 月より一部プロダクトで New Relic の導入を開始しました。また、組織横断的チームである "技術推進室" が中心となり…
7ヶ月前
記事のアイキャッチ画像
New RelicでDynamoDB Streamsをまたいだ分散トレーシングを実現した
PLAY DEVELOPERS BLOG
こんにちは、PLAY CLOUD本部 技術推進室の市川です。 PLAY CLOUDでは現在、システム運用の質を高めるためにオブザーバビリティ(可観測性)の強化に注力し、New Relicの導入を進めています。 現代のシステムは、マイクロサービスやイベント駆動アーキテクチャの普及により、その構造が複雑化しています。システム全体を流れる一つのリクエストを起点に、処理がどのサービスを通過し、どこでボトルネックやエラーが発生しているのかを追跡する分散トレーシングは、この複雑化した環境において欠かせない要素です。 New Relicの導入を進める中で、特にAWS DynamoDB Streamsを介して…
7ヶ月前
記事のアイキャッチ画像
Raycast で作業効率化!おすすめの機能6選
PLAY DEVELOPERS BLOG
こんにちは。2025年度に入社しました、PLAY CLOUD本部プラットフォーム技術部開発第1グループ所属のウォンです。 本記事では、Raycastを用いて日々のPC操作を効率化するため、私が特に頻繁に利用している標準機能3選と推奨拡張機能3選を紹介します。皆さんの日々の作業効率化やRaycast活用の参考になれば幸いです。 Raycastとは Raycastを導入するメリット 推奨標準機能3選 Clipboard History Window Management Quicklinks 推奨拡張機能3選 Brew Change Case Color Picker 最後に Raycastとは …
7ヶ月前
記事のアイキャッチ画像
大規模フロントエンド分離を成功させるための具体的なアプローチと知見
PLAY DEVELOPERS BLOG
こんにちは、PLAY CLOUD本部 技術推進室の市川です。 前回は、サービス間の差異をなくすための共通Node.jsモジュール管理について解説しました。 developers.play.jp 今回もPLAY CLOUD全体の改善の一環として実施した、アーキテクチャの大幅な変更について、その背景や具体的な手法についてご紹介します。 具体的には、PLAY CLOUDの管理画面をSPA(Single Page Application)化し、フロントエンドとバックエンドを完全に分離させた話になります。 従来の構成と課題 実施した構成変更 リポジトリのサービスごとの分離 フロントエンドとバックエンドの…
7ヶ月前
記事のアイキャッチ画像
Slack の Event Subscription と GAS を使ってエラーを整理し 65% 解消した話
PLAY DEVELOPERS BLOG
こんにちは。OTTサービス技術部 開発第5グループの松本です。 「アラートが多すぎて、どれを直せばいいか分からない…」私たちITエンジニアが日常的に抱えるこのモヤモヤを解消した取り組みのレポートです。本プロジェクトでは、Slack API、Google App Script (GAS)、そしてGoogleスプレッドシートという、身近なツールを連携させ、エラーアラートの発生状況を自動で記録・集計する仕組みを構築しました。この仕組みのおかげで、「勘」ではなく「データ」に基づいた合理的な優先順位付けが可能に。最も頻繁に発生するエラーを狙い撃ちで根本解決した結果、なんとアラートの総量を導入前の 35%…
8ヶ月前
記事のアイキャッチ画像
GASを活用したSlack–Asana間のデザイン依頼フロー構築
PLAY DEVELOPERS BLOG
今年も秋が短かったですね。こんにちは、デザイナーの池田です。 今回は「デザイナーへの依頼を効率化したいよぉ〜〜」という思いから、地味〜に2022年からやっていた事を世に出して行こうと思います。 さいしょに Slackのワークフローを導入 やりたい事は増えていく Slackの「リスト」機能を使ってみるがやりたい事が出来ないッ SlackAppがあるじゃない やりたいことはこんな感じ 一覧はAsanaにお任せ STEP1 依頼投稿されたのをAsanaに登録 準備:スプレッドシートを用意 STEP 1-1 Slackワークフロー「チャンネルに投稿」 STEP 1-2 Slackワークフロー「依頼スト…
8ヶ月前
記事のアイキャッチ画像
【 AWS Media Services 勉強会レポート】動画配信技術の基礎を習得
PLAY DEVELOPERS BLOG
PLAY では、技術力の向上を目的としたLT会の開催やテックブログの運営などを積極的に行なっています。今回、当社の核である「動画配信技術」の基礎を学ぶため、アマゾン ウェブサービス ジャパン合同会社様ご協力のもと、AWS Media Servicesに特化した社内勉強会を2日間にわたって開催しました!本記事では、総勢約70名の社員が参加した勉強会の様子をレポートします。 今回実施した勉強会のカリキュラム <座学>動画配信の全体像と技術の基礎を学ぶ <ハンズオン>AWSを活用した配信システム構築の実践 今回実施した勉強会のカリキュラム 勉強会では座学とハンズオンを通じて、動画配信の実装方法につい…
8ヶ月前
記事のアイキャッチ画像
Androidアプリを軽くするレイアウトの3つのコツ
PLAY DEVELOPERS BLOG
こんにちは。OTTサービス技術部 開発第3グループの古川です。 みなさんレイアウトの書き方を気にしてますか? AndroidやAndroidTVはさまざまなスペックの端末がありそれぞれでなるべく変わらない操作感を提供する必要があります。 そのために描画のパフォーマンスはとても大事な要素なのですが今回はレイアウトの書き方の観点からパフォーマンスのちょっとした工夫で軽くなるコツをまとめてみました。 この記事で解説すること ネスト(View階層)の深さを避ける方法 深い階層が生む問題 メモリ消費の増加 レンダリング速度の低下&画面の遅延 保守・可読性の低下 ネストの浅い構造を実現するテクニック Co…
8ヶ月前
記事のアイキャッチ画像
LinuxTV 向けアプリ開発者が Vega OS と向き合った話 〜フォーカス編〜
PLAY DEVELOPERS BLOG
こんにちは、OTT サービス技術部の宮田です。 今回はAmazonから発表された新型FireTVのOSである「Vega OS」向けアプリの開発にチャレンジする中でハマったことと、その解決策を一つ紹介します。 本題に入る前に フォーカス管理 LinuxTVでのフォーカス管理手法 自前フォーカス管理の問題点 ネイティブでのフォーカス管理 ネイティブフォーカスの問題 TVFocusGuideView おわりに 本題に入る前に 本題に入る前に、状況を説明させていただきます。 タイトルで触れているLinuxTVとは、Linux系OSが搭載されているTVを指し、アプリはHTMLで動作するWebアプリを用意…
8ヶ月前
記事のアイキャッチ画像
就業型インターン参加レポート:動画配信サービスの裏側とエンジニアリングの本質
PLAY DEVELOPERS BLOG
こんにちは!インターン生の畑です。 今回は、就業型インターンの参加レポートをお届けします。 なかなかに濃い期間でしたので、得られた学びのアウトプットも兼ねて書きました! インターンについて 期間 出会い 業務内容 担当業務 使用技術 動画配信サービスの裏側 再生ビーコンなるものがあるらしい SDUI (Server-Driven UI) LTもしてきました! AIとの向き合い方 規模の大きなシステムの洗礼 タスクの先にあるもの 最後に インターンについて play.jp 期間 2025/9/17~2025/10/31 (約1.5ヶ月間) 出会い 私は現在大学院一年で絶賛就活中なのですが、とある…
9ヶ月前
記事のアイキャッチ画像
Visual Studio Code のデバッガーで Out of Memory を解消する
PLAY DEVELOPERS BLOG
こんにちは。PLAY CLOUD本部プラットフォーム技術部 開発第2グループ所属のガリです。 とあるサーバーレス関数で Out of Memory (OOM) が発生しました。処理するデータ量が増えたため、暫定対応としてメモリ割り当てを増やしたところ、問題は一時的に解消されたようです。しかし、メモリを増やすことでコストが上がってしまい、さらにデータ量が増えれば増えるほど、将来的に再発する可能性があります。コストを抑えつつ再発を防止するためには、サーバーレス関数の最適化が必要でした。 問題となったボトルネックを特定するために、プロファイラを使用してみました。 対象のサーバーレス関数はそれほど複雑…
9ヶ月前
記事のアイキャッチ画像
Observability Conference Tokyo 2025 に現地参加してきました! #o11yconjp
PLAY DEVELOPERS BLOG
こんにちは、テックリードの丸山 @maruyamaworks です。 弊社が提供しているプラットフォーム PLAY CLOUD では、パフォーマンスの改善や不具合の早期発見等を目的として、昨年 11 月ごろから Observability を高めるためのツールとして New Relic を導入しています。導入からまもなく 1 年を迎えようというタイミングで、ちょうど Observability (o11y) を主題としたカンファレンスが開催されるとのことでしたので、他社様でのノウハウや最新の活用事例等を学ぶため、このたび現地参加してまいりました。今回はそのレポートをお届けしたいと思います。 イ…
9ヶ月前