サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 17
techblog.tver.co.jp
TVerのWebフロントエンドエンジニアのJeun Yun (Paul) Tsangです。2024年から始まったWebフロントエンド開発の内製化によって改善した、 tver.jp のUI構築の考え方を紹介します。 tver.jpの技術スタック 以下は改善後のフロントエンド技術スタックです。 Next.js(クライアントサイドレンダリングのみ) CSS ModulesとSassでスタイルの定義 StorybookとChromaticでコンポーネントの検証 Radix PrimitivesのUIライブラリーで汎用コンポーネントの構築 Biomeのコードフォーマッターとリンター 内製化で見えてきた課題の全体像 私は2024年10月にTVerへ入社してから、新しい機能を実装しながら既存コードの可読性や使いやすさの問題に気づきました。これまで外部パートナーに依存していた開発体制では、コードの統一性や
みなさん、こんにちは。TVer サービスプロダクト本部バックエンドEMの和田(@tench_oo)です。 いきなりですが、世の中AIが著しく成長していっていますよね。 取り残されないようにしないといけないと思い情報収集するのも大変なほど、日々新しい刺激が待っているのが今のAIの状況な気がしています。 そんな環境で、バックエンド部でもAI開発ツールの導入を進めていて実際に活用しており、その取組を一部ご紹介していきたいと思います。 (TVerもちゃんとAIを活用しはじめているんだよ。というアピールです。) バックエンド部が活用するAIツール 現在バックエンド部では、いくつかのAI開発ツールの導入検証を進めています。 導入する際には各社AIツールのポリシーを確認し、データの学習に使われているかなどの点をチェックしたうえで導入を進めています。 主に利用しているツール:GitHub Copilot
はじめに こんにちは。広告プロダクト担当の 大野です。 2025年4月6日から9日にかけて、米国ラスベガスで開催されたNAB Show 2025に、TVerからは今回3名で参加しました。 NAB Showは、毎年ラスベガスで開催される世界最大級の放送・映像・メディア業界向け展示会・カンファレンスです。世界中の企業が最新技術や製品を発表し、業界の最新トレンドや未来像を学ぶことができる場として、日本からも多くの放送関連企業が出展・参加しています。 このブログ記事では、NAB Show 2025での私の参加内容についてご紹介します。 今回NAB Showに参加した経緯 日本では、AVOD(広告付きビデオオンデマンド)サービスの数が、米国や欧州と比較してまだ少ない状況にあり、技術的な最新情報の収集も主に英語圏からの情報に頼らざるを得ない側面があります。そのため、最新トレンド、特に広告関連やVOD配
TVerバックエンドチームの id:takanamito , 小林 ( @k0bya4 ) です。 この記事では、TVerにおけるAPIリアーキテクチャについて紹介します。 ここでいうリアーキテクチャはAPIサーバーのソフトウェア的なアーキテクチャを変更する作業のことを指します。一部インフラにも変更点はありますが、今回の記事ではソフトウェアのリアーキテクチャにフォーカスして書いていきます。 今回の記事では、なぜリアーキテクチャをするのか、どのような課題を解決しようとしているのかを整理して解説します。 リアーキテクチャをする理由 新アーキテクチャの設計方針 オニオンアーキテクチャの採用 プロセスの分割 新アーキテクチャの具体的な取り組み アーキテクチャ構造と分割の意図 コードジェネレートの積極的な採用 OpenAPI ORM APIのマイグレーション計画について やらなかったこと できていな
はじめに TVerのSREチームでインフラ周りやサービス監視オブザーバビリティーを担当しています西尾です。 この度はサービスとしての認知が広まり、配信プラットフォームとしての社会的な重要性も高まってきたTVerサービスについて運用面からの取り組みを紹介していきたいと思います。 現在Tverに関しては、多くのユーザーから視聴していただいていますが、サービス提供に関するステークホルダーとしてはこの視聴されていますユーザー以外にも、配信を行うコンテンツを制作提供している各放送局の方々も含まれ、サービスとしてはBtoC/BtoBの両方の性質をもっています。 そのため、サービスの安定稼動についてはこれからもっと多くのユーザーに必要とされ、また信頼できる動画配信プラトフォーム業者として各放送局の方々から選ばれるように高いレベルで求められています。 安定稼働の取り組みとしては各チームで様々な施策を行なっ
サービスプロダクト本部技術統括(TVerサービス開発部門内のVPoEみたいなポジション)兼バックエンド部部長の脇阪(@tohae)です。 この記事はTVerアドベントカレンダー 2024 25日目の記事です。24日目の記事はSREチームの鈴木さんの「AWS re:Invent 2024に1人で参加してきました」でした 今年の1月からEMとして入社し、約1年間開発組織の拡大や開発生産性の向上のためにいろいろな取組みを行ってきました。 本記事では約1年前のTVerのエンジニア組織がどのような課題を抱えていて、それに対してどのような手を打ってきたかというところをまとめます。 2024年初頭の課題 Q. 「機能開発をより早くしたい」は本当? Q.「サービスを安定させたい」は本当? Q. 「そのためにエンジニア組織を強く大きくしたい」は本当? 課題解決の方針 エンジニア組織の人数を1年で倍にする 組
TVerでデータシステムの開発・運用をしている黒瀬です。 TVer Advent Calendar 2024の4日目の記事です。 3日目の昨日は @ko-ya346 さんによる 「Terraform + GitHub でデータマート基盤を作った話」 でした。 今日は、BigQueryでExternal Tableのスキーマ変更に対応する方法の一つについてご紹介いたします。 サマリ BigQueryのExternal Tableをスキーマごとにバージョン分けし、それを包含するviewを作成することで、データのスキーマ変更にも対応しやすくなります。 背景と課題 弊社のデータシステムでは、データをGCSといった安価なデータストアに置き、それをBigQueryのExternal Tableから参照する構成を採用することがあります。 その際、データストアに置いたデータのスキーマが変わってしまうことで
TVer で Web フロントエンドエンジニアをしている永井です。 この記事は TVer アドベントカレンダー 2024 19 日目の記事です。 18 日目の記事は @k0bya4 さんによる 「Atlasを使った宣言的マイグレーションでDBスキーママイグレーションを自動化する」 でした。 19 日目の記事では、Web フロントエンドチームの内製化について紹介します。 ※ TVer の Web フロントエンドは、広告プロダクトである「TVer 広告」の配信システム・広告周辺領域の開発を行うチームと、tver.jp といったユーザー向けのプロダクトを開発するチームの 2 つあり、今回の話は後者に関するものとなります。 はじめに 現在 TVer の Web フロントエンドチームでは、tver.jp の フロントエンドを開発をしています。2024 年 12 月時点では、 3 名の正社員と 1 名
はじめまして。id:takanamitoです。 バックエンドエンジニアとしてTVerに入社して3ヶ月が経ちました。 TVerに入ってみて感じたこと、開発組織が何に取り組んでいるのか書いてみようと思います。 TVerのオンボーディング ドキュメントをたくさん書く文化を広める たくさん質問・相談する TVerが取り組んでいる開発とは この先やりたいこと TVerのオンボーディング TVerのバックエンドエンジニアは自分を含めて5名です。サービス規模に対してとても少なく感じるのではないでしょうか?自分も入社前の面談で聞いて驚きました。 バックエンドエンジニアは2チームに分かれており、プロダクトの機能開発をするStream Alignedチーム(SAチーム)、SAチームと連携し開発基盤を整えるEnablingチームがあります。 今はまだ人数が少ないですが、開発チームを大きくすべく採用活動中です。
データエンジニアの遠藤です。 TVer Advent Calendar 2023の24日目の記事になります。 はじめに 本年(2023年)、Google Cloudのビッグデータ基盤として展開されるBigQueryでは、データガバナンスツールであるDataformがGA(Generally Avaialble)になりました。 cloud.google.com このDataformの登場により、BigQuery上でデータを利活用しやすいように変換する(データマートを生成する)システムの構築が容易になりました。 本記事では、Dataform上において、定常実行やリトライ実行を容易にするために、冪等性が担保される設計のテクニックを3点紹介します。(Dataformの基本的な使い方については触れませんのでご注意ください) 1. SQLX内のクエリに変数を用いる DataformはSQLXと呼ばれる
こんにちは、TVerでデータ分析をしている高橋です。 こちらは TVer Advent Calendar 2023 の12日目の記事です。 弊社の分析業務は、主にBigQueryに蓄積されたデータを対象としています。データ処理の効率を向上させるため、データの前処理から集計までを一貫してSQLクエリで実施しています。この過程でNULL値の取り扱いは避けて通れない重要なテーマとなっています。 この記事では、(直近タスクでNULL含む処理の検証に多くの時間を溶かした筆者が)弊社で頻繁に使用されるSQLクエリの処理においてNULLがどのように扱われるかをまとめたのでご紹介します。 チートシート 今回調べた内容を整理すると以下の3パターンになりました。 種類 演算子、構文、関数など NULLとして扱われる 四則演算子, ビット演算子, 比較演算子, 論理演算子, ARRAY_AGG, FIRST_V
こんにちは、TVerの加我です。 こちらは TVer Advent Calendar 2023 と New Relic 使ってみた情報をシェアしよう! by New Relic Advent Calendar 2023 の8日目の記事です。 みなさまNew Relicを活用していますか?サービスの信頼性を担保していますか?オブザーバビリティの導入・実現に向けてNew Relicを使い倒していますか? New Relicは非常に高機能なオブザーバビリティプラットフォームです。TVerではフロントエンドからバックエンドまでNew Relicを活用した横断的な観測を行っています。しかしNew Relicを導入し活用していくにつれて気になってくるのがコストです。 ということで、New Relicを活用しつつコストを最適化するためのポイントについて考えていきます。 New Relicのコスト計算につ
こんにちは。データエンジニア 遠藤(TVerにJOINしてまだ3ヶ月)とアドテクエンジニア 鶴貝です。 2023年8月29日~31日にGoogle Cloudの技術カンファレンスGoogle Cloud Next '23がサンフランシスコで開催されました。(4年ぶりのオフライン開催) 弊社では、民放公式テレビ配信サービスTVer・TVer広告のデータ分析で用いるビッグデータ基盤にGCPを採用しています。そこで、先述したエンジニア2名がGoogle Cloud Next '23に現地参加させて頂きました。 Next '23ではGCPの新機能リリースや世界中での活用事例が多く紹介されました。本記事では、Next '23で発表された話題のうち、BigQuery data clean roomsを重点的に報告します。 さらに、サンフランシスコまではるばる出向きましたので、撮って出し写真と共にGoo
こんにちは!!!! バックエンドエンジニアの内海です。 タイトルの通りなのですが、2023/11/25に開催されるISUCON13に協賛させていただくことになりました🎉 昨年のISUCON12も協賛させていただいております。 ISUCONとは?や、協賛への思いはこちらに書いておりますので、お時間のあるときにお読みいただければ幸いです。 techblog.tver.co.jp ISUCON13 今年のISUCONは今までの予選→本選の形式から、大きく変更があり本選のみとなりました。 isucon.net 昨年までとは違い、いきなり本選なのでわくわくしちゃいますね! TVer と ISUCON 昨年から協賛させていただいていることはもちろん、我々TVerのバックエンドチームはISUCONのような高負荷なトラフィックをテーマにした課題と日常的に向き合っています。 おかげ様でたくさんのユーザーさ
こんにちは、主としてデータにまつわる四方山を相手にしている森藤です。 昨年の2022年6月から取り組んでいた、慶應義塾大学 星野ゼミ様との共同研究「行動経済学に基づく効果的なプロモーション手法」が一旦、完了しましたので、本技術ブログでも公開いたします。 tver.co.jp hoshinoseminar.com 課題 TVer は「見逃し配信サービス」であるにも関わらず、それすらも「見逃してしまう」ユーザに対して、どのように「見逃さないでいてもらうか」が大きな課題となっていました。 バラエティであれば、連続する回で無い限りは、次のエピソードから視聴していただくことも可能ですが、ドラマやアニメのような連続する番組の場合は、一話の見逃しがそれ以降全ての見逃し = 離脱につながってしまい、 TVer のビジネスモデルである AVOD (広告型動画配信) の広告在庫の源泉である再生機会を逸してしま
こんにちは。TVerでオブザーバビリティ勉強中の加我です。 掲題のとおりですが、Software Design 2023年6月号 「監視で終わらせない 改善につながるオブザーバビリティ」の第3章にて「UX向上につながるオブザーバビリティの導入と活用」というタイトルで寄稿させて頂きました。このような機会をいただけた技術評論社様に心よりお礼申し上げます。 gihyo.jp 初めての寄稿と不安 私はブログへのアウトプットや登壇の経験はありますが、技術書の執筆・寄稿を行った経験はありません。今回が人生初の経験となります。寄稿するにあたり、どのような作業があり、どのように編集者の方とやり取りし、どの段階で完成になるのかというフローも全く存じ上げおりませんでした。そんな素人の私に対し、0から丁寧に細かく説明をして頂いた技術評論社 編集部の吉岡様にはとても感謝しております。昨年末にSQLをテーマにした記
こんにちは。 昨年、2022年12月1日にエンジニアとして入社しました水野です。 私事ですが、2023年3月1日をもちまして試用期間を終えました。引き続きTVerをより良くしていけるように頑張ります。 techblog.tver.co.jp そんな試用期間中、AWS Certified Developer - Associate合格を目標にしており、先日無事合格することができました。 このブログでは、なぜ資格取得を目標にしたか、勉強方法、会社からのサポートなどを紹介していきます。 目次 AWS Certified Developer - Associateとは なぜ資格取得を目標にしたか 勉強方法 1. 書籍 + AWS BLACK BELT 2. AWS認定の模擬試験 TVerと資格取得 会社からのサポート 自由度の高い勤務体系 今後の展望 最後に AWS Certified Devel
いよいよ年末ですね。分析担当の森藤です。 この記事は TVer アドベントカレンダー 24日目の記事です (遅くなりました) みなさまははてな時間というものを聞いたことがありますでしょうか? q.hatena.ne.jp また、レポートなどの締め切りを確認するときに「今日までの締め切りって◯◯さんが業務を開始する明日の8時までですよね?」という確認をしたことはないでしょうか? このような「日は変わってしまったが、前日として扱うことが便利な場合」に24時を飛び越え、26時や28時、と表現することが有ります。 この表現のことを「30時間制」と言うらしいです。 ja.wikipedia.org 特に放送業界では24時を越えてからの深夜番組の表現を当日として扱うほうが都合がいいため頻繁に「25時23分から」という形で記述され、そして、この情報がそのまま私達 TVer には渡ってきます。 UTC に
はじめまして。 TVer でプロダクト戦略を担当しているオノデラです。 普段は、サービスの向上に必要な分析をしてくれているメンバーと会話しながら、戦略や施策を考えて、エンジニアと共にサービスをアウトプットしていっております。 TVer Advent Calendar 2022 25日目の記事ですが、気負わず TVer の 2022 年を個人的に振り返ってみて、2023年に向けた個人的な目標をしたためてみたいと思います。 ※ こちらの記事は 会社の意見・方針を反映したものではありません。あくまでも個人の意見・感想ですので、ご了承ください。 なんといってもリニューアル 2022年はなんといっても TVer のリニューアルが大きなイベントでした。 表立って言えないこともあるのですが、とにかくいろんな意味でメンバーといろんな経験をしました。 サービス上はデザインが変わった、UI が変わったという感
こんばんは。こんにちは! バックエンドエンジニアのうつみです。 この記事はTVerメンバーによるアドベントカレンダーの22日目の記事です。 TVerにおけるサーバー負荷について 今回の記事は配信部分ではなく、アプリを構成するために必要なAPIサーバーの運用について書いていきたいと思います。(配信系期待されていたらごめんなさい 🙏 TVerではお陰様で毎日たくさんのユーザーの方が利用してくださっているので、サーバーへのアクセスもそこそこの規模になってきます。 地上波の見逃し配信やリアルタイム配信などといったサービス特性上、コンテンツの切り替わり時間などはアクセススパイクが日常的に発生しています。 そういった緩急の激しいアクセスパターンを安定して処理するためにAPIサーバーを適切にスケールアウト、スケールアップをする必要が出てきます。 この記事ではそういった日々の運用について書いていきます。
こんにちは。データ分析だけではなくデータ基盤の設計も考えているのですが、なかなか銀の弾丸は見つかりません。森藤です。 これは TVer AdventCalendar 2022の17日目の記事であり1回目の続編でもあります。 再掲 TVer ではログを自社基盤で収集していますが、基盤のアーキテクチャなどは多分誰かがどこかで書くとして、本記事では「クライアントがログを送るときおよび受け取るときにどういう事を考えて設計していたか」を本記事で紹介します。 本記事では「ユーザ行動の分析を行いアプリケーションを改善する」「ユーザの振る舞いを知ることで施策につなげる」を目的としたポリシーの紹介であり、「システムのログレベルの設計」「LTSV や nginx / apatch 等のフォーマット」「セキュリティ監査」がスコープではないことをご承知おきください。 TL;DR ユーザ理解・施策遂行に必要な行動ロ
こちらは 技術広報 Advent Calendar 2022 と TVer Advent Calendar 2022 16日目の記事です。 こんにちは、ノベルティ発注大臣の加我です。 技術広報 Advent Calendar でのエントリーですが、TVerにおける技術広報のあるべき姿や社内での情報発信の推進などについてはお話しません。 今回は会社のオリジナルノベルティを作るお話です。 前置き TVerでは情報発信を進めており、その一環としてノベルティの作成を進めてきました。 内海が書いてくれたエンジニアチーム向けのTシャツもそうですし、JAWS DAYS 2022のサテライト会場で配布したステッカーとラバーコースターもそうです。 techblog.tver.co.jp techblog.tver.co.jp これらのノベルティ作成はエンジニア主導で行われてきたのですが、いざ作ろうとした時に
データシステム担当の黒瀬です。 こちらは、TVer Advent Calendar 2022の9日目の記事です。 この記事では、TVerで運用しているデータシステムの基本的な権限管理ポリシーについてご紹介します。 大まかな内容 GCP上に構築しているデータシステムをメンテナンスする際の権限を、従来は管理者が手動管理していたが、この運用にはリスクがありました。 そこで、権限を付与するためのサービスアカウントを経由する仕組みおよびその趣旨を明確にするルールを導入しました。 結果、管理者に依存せずにメンテナンスができる運用が可能になりました。 背景 TVerでは、主にBigQueryに視聴ログなどのデータを集約し、その上で集計や分析をするという方針をとっています。 ログを収集するシステムはAWSやGCPなど要件に合わせて各所に構築されていますが、これらからBigQueryへデータを収集・集約する
ログを見ているだけで一日が終わることがありますし、なんなら休みの日もログを見ていたい森藤です。 これは TVer AdventCalendar 2022の5日目の記事になります。 続きはこちらです TVer ではログを自社基盤で収集していますが、基盤のアーキテクチャなどは多分誰かがどこかで書くとして、私は「クライアントがログを送るときにどういう事を考えて設計していたか」を本記事で紹介します。 本記事では「ユーザ行動の分析を行いアプリケーションを改善する」「ユーザの振る舞いを知ることで施策につなげる」を目的としたポリシーの紹介であり、「システムのログレベルの設計」「LTSV や nginx / apatch 等のフォーマット」「セキュリティ監査」がスコープではないことをご承知おきください。 また、本記事は書き出したら思いの外、長くなったので2部作として分割しますので、ご興味あれば後半も読んで
TVerでバックエンドやデータ基盤を担当している黒瀬です。 こちらは、TVer Advent Calendar 2022の2日目の記事です。 今回はTVerの検索基盤のパラメータチューニングを効率化する内部確認用の管理ツールについてご紹介いたします。 背景と課題 現在、TVerではAmazon OpenSearch Serviceで構築した検索基盤によって、キーワード検索の機能を提供しています*1。 このキーワード検索は、TVerで公開されているコンテンツのうち、タイトルなどのメタデータがマッチするものを検索し、その関連度に応じて検索結果への表示や順序を制御しています。 例えば、キーワードによくマッチするものを関連度が大きいものとして、検索結果の上位に表示するようにしています。 ここで、関連度の計算においては、コンテンツのメタデータごとに関連度の重みづけを行っていますが、この重みづけ如何に
はじめまして、エンジニアの黒瀬と申します。 弊社では、これまでバックエンドの監視にNew Relicを利用してきましたが、今回データ基盤にも導入を開始しました。 この記事では、その経緯についてご紹介したいと思います。 背景と課題 弊社ではTVerのサービス利用状況を日々収集し、それをBigQueryを中心としたデータ基盤に集約・可視化することで、日々のサービス改善に活用しています。 このプロセスは、おおむね次のような役割分担となっています。 収集処理:バックエンドを担当するバックエンドチームがAWSに構築 集約処理:データ基盤を担当するデータチームがGCPに構築 これらのうちデータチームでは、集約処理を構成するバッチごとにアラートを実装していましたが、下記のような問題がありました。 バッチごとに異なった方法でアラートを実装していたため、保守がしにくい アラートの通知先が散らばっており、毎回
こんにちは データを眺めている森藤です TVer ではたくさんのデータがあって、どこをほっくり返してもなんか有用な知見が出てくるので毎日楽しいです。 現状 さて、現状はまだまだこれからなのですが、レコメンドのアルゴリズムや実装について考えるのも仕事の一つです。 レコメンドといえば、いろいろな手法やベースとなる考え方、タイミングなど様々なものがありますが、そのうちの一つとして、協調フィルタリングというものがあります。 これは端的に言うと、「これを見ている人はこれも見ています」的なやつです。 ただ、協調フィルタリングは実世界において適用が難しく、TVer でも多分にもれずそのまま適用するには課題があります。 大きな課題が「ユーザは限られたコンテンツ(エピソード)しか閲覧しないため、これを見た人はこれも見ています」と適用することが難しい、というものです user_id series_id 1 3
こんにちは。TVerで技術発信とかスポンサー周りとかその辺の仕組みづくりとかも色々やってる加我です。 ということで、今回はイベント協賛の記事でございます。 今年の夏に開催される ISUCON12 にTVerはスポンサーとして協賛します。 ISUCONとは 「いい感じにスピードアップコンテスト」の略で、ミドルウェアのチューニングやDBのクエリの改善などを行い、Webアプリケーションのパフォーマンスチューニングを競う大会の事です。 isucon.net 弊社のバックエンドエンジニアが何度かISUCONに挑戦しており、そこから協賛の流れになったと聞いております。 前回のISUCON11でもシルバースポンサー + 本選おやつスポンサーとして協賛させて頂いておりました。 isucon.net いよいよ今週末はISUCON11 オンライン本選です!🚀 本選出場者の皆さんには認定証・ネームカード・Tシ
はじめまして。TVerでモニタリング・オブザーバビリティ周りを担当している加我です。 この度TVerのTech Blogをスタートすることになりました! テックブログ開設の経緯 昨年の4月にTVer Technologies社がTVer社に合流し、エンジニアリソースが拡張して開発範囲が増えたことで、新たにTVerとしてのテックブログを開設しようというのが経緯です。 tver.co.jp 今後はこちらの方で記事を公開していくことになりますが、これまで私達がどのような事をしてきたのかに関してはTVer Technologiesのテックブログも御覧ください。 TVer Technologiesのテックブログはこちら techblog.tver-tech.co.jp どんな感じにしていきたいか 今後テックブログでは私達がサービス開発を進める上で発生する課題をどのように解決しているのか、どのような技
このページを最初にブックマークしてみませんか?
『TVer Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く