水曜日, 7月 23, 2025
No menu items!
ホーム ブログ ページ 6857

Apple、プライバシーを保護しつつAI開発にユーザーデータを利用する方法を発表



Apple、プライバシーを保護しつつAI開発にユーザーデータを利用する方法を発表

Appleは、ユーザーのプライバシーを保護しながら「Apple Intelligence」の機能を向上させるための自社技術を紹介した。「合成データ生成」は、トレンドを理解するための新手法だ。



Source link

Views: 0

「進撃の巨人×サッポロビール」4月15日よりリヴァイ&エルヴィンが乾杯するコラボ缶が全国に登場!メッセージが聞ける特典付き◎


「サッポロ生ビール黒ラベル『進撃の巨人』デザイン缶」

「サッポロ生ビール黒ラベル『進撃の巨人』デザイン缶」詳細

昨年、『進撃の巨人』の作者・諫山創先生が大分県日田市出身であることと、同地に製造工場を持つサッポロビールの縁からコラボが実現し、西日本エリア23府県で限定発売されたデザイン缶が大好評。ファンからの熱い要望に応え、今年は全国展開が決定しました!

 

本商品のパッケージにはリヴァイ兵長&13代団長エルヴィンが乾杯する、サッポロ生ビール黒ラベルのためだけに描き下ろされた姿で登場。

 

さらに、缶に表示されている二次元コードを読み取ると、それぞれのキャラクターから「大人とは?」にちなんだスペシャルメッセージが聞けるという特典付きです!

 

 

販売概要

商品名:サッポロ生ビール黒ラベル「進撃の巨人」デザイン缶
種類:350ml缶、500ml缶
発売日:2025年4月15日(火)
販売地域:全国
参考小売価格:オープン価格
販売計画:30万ケース(大びん633ml×20本換算)

 

『進撃の巨人』と黒ラベルの大人の世界観が融合した特別な一品を、ぜひお見逃しなく!

 

※20歳未満の飲酒は法律で禁止されています。20歳未満の方への酒類の販売はいたしません。

 



Source link

Views: 0

FANTASTICS八木勇征「MAQUIA」特別版の表紙に登場



FANTASTICS八木勇征「MAQUIA」特別版の表紙に登場

八木勇征(FANTASTICS)が4月22日に発売される雑誌「MAQUIA」6月号特別版の表紙を飾る。



Source link

Views: 0

コード生成AIによる幻覚を悪用した新しいサイバー攻撃「スロップスクワッティング」が登場する可能性



AIによるコード生成の普及は、開発効率を大きく向上させる一方で、全く新しいリスクも生み出しています。大規模言語モデル(LLM)には幻覚として「存在しないパッケージ名」を生成するリスクがあり、攻撃者が同名で悪意あるパッケージを公開することで、AI支援でコードを書く開発者を騙す新手のソフトウェアサプライチェーン攻撃「スロップスクワッティング」の可能性が指摘されています。

続きを読む…



Source link

Views: 0

logitech pro x tklラピッドレビュー – いくつかのデザインの欠陥を伴うピークパフォーマンス



Logitechは大規模な飛躍を遂げています。 Pro X TKL Rapid。このボードには、ラピッドトリガーや重要な優先順位が組み込まれているなどの最新の需要のある機能もあります。これらの新機能は、ゲームキーボードですぐに一般的になりつつありますが、Logitechのこの努力は、ホールエフェクトデザインへの最初のベンチャーであっても非常に基本的です。
価格は、それを保持する要因でもあります Logitech Pro X TKLは、その1つであることから急速です 最高のゲームキーボードS、その比較的単純なデザインは170ドルの価格を正当化するためにほとんどないため、そのビルドの品質はほとんど非常に優れていますが、いくつかのマイナーな重要な驚異の懸念を除いて。確かに、OLEDスクリーン、豊富なRGBゾーン、ワイヤレス接続、およびより詳細なメディアコントロールは、ゲームキーボードを作ったり壊したりするものではありませんが、投資レベルを検討する際には素晴らしいことです。
ストーリーの残りの部分を読んでください…
関連リンク:
このスタイリッシュなLogitechワイヤレスゲームキーボードで100ドル以上を節約してください。
今年の最低価格でLogitech G Pro X Superlight2をつかむ
このLogitech Wireless Gamingキーボードで115ドルを節約します。


Source link

Views: 0

ビジュアルノベルは少しです



前に視覚小説について書いたことがありますが、その最後の投稿以来、このジャンルはルネッサンスにありました。 Doki Doki文学クラブのようなゲームは、造形で遊んでいます…



Source link

Views: 0

「最高級のドルビーアトモス環境でも満足できる音を」。Netflixアニメ「Tokyo Override」制作セミナーが開催



「最高級のドルビーアトモス環境でも満足できる音を」。Netflixアニメ「Tokyo Override」制作セミナーが開催

ドルビーアトモスによる音楽制作の第一人者である古賀健一さんと、レコーディングエンジニア・長谷川巧さんによる、Netflixアニメ「Tokyo Override」のサウンド制作の裏側を語るセミナーが、4月8日に開催された。



Source link

Views: 0

クリアソン新宿、子ども食支援プロジェクト「夢パス カフェテリア」を新宿区でスタート!全国初の試みに注目



クリアソン新宿、子ども食支援プロジェクト「夢パス カフェテリア」を新宿区でスタート!全国初の試みに注目

 

 Gigiはクリアソン新宿と協力し、5月1日より新宿区に住む小学生を対象にした食支援プロジェクト「夢パス カフェテリア」を開始する。

 クリアソン新宿は、地域の子どもたちや飲食店の橋渡し役を担い、新宿区に住む小学生に食事支援を提供する。この取り組みにより、子どもたちは「こどもごちめし」によって発行された食事券を使用して、登録飲食店で無料の食事を受け取ることができるようになる。対象店舗は新宿区内の計18店舗で、毎月1回、食事代金(1,000円以内)の補助が受けられる。

 対象飲食店には「1016 TOiRO COFFEE」や「ABCcanteen ルミネエスト新宿店」、「吉野家」など多くの店舗が名を連ねている。保護者は専用サイトで登録を行い、本人確認を経て、対象店舗で「こどもごちめし」マイページを通じてチケットを提示することで、支払いが完了する。

 このプロジェクトの背景には、地元の子ども食堂が抱える運営面や心理面の課題がある。ボランティアの確保が難しいことや、貧困というレッテルへの抵抗感から、従来の子ども食堂の利用をためらう子どもたちが多いという。クリアソン新宿は、これらの課題を解決し、より継続的で気軽に支援が受けられる環境を提供することを目指している。

 今後の展望として、このプロジェクトにさらに多くの店舗が参加することを視野に入れ、全国の他地域のスポーツクラブや企業との連携を模索する方針である。これにより、全国的な子ども支援ネットワークの拡大を図ることを目指す。

■関連サイト



Source link

Views: 0

Cloudflare のデモアプリを組み合わせ、サーバレスなライブ配信 ‐ Realtime SFU と仲間たち


はじめに

Cloudflare の提供するデモアプリを組み合わせ、サーバレスなライブ配信を味見します。
目指すのは下記です。

  • 1秒までの時間差
  • チャット機能
  • ログイン認証・認可

素材

デモアプリ

Cloudflare が公開しているデモアプリを使います。

送受信のツール

  • ライブ配信は OBS Studio かブラウザー
  • 視聴はブラウザー

Cloudflare のプロダクト

利用する Cloudflare のプロダクトを列記します。
いずれも Free Plan で利用可能なものです。

Free Plan 枠の情報(利用上限などご確認ください)

Realtime SFU There is a free tier of 1,000 GB before any charges start.
Workers
Durable Objects If you exceed any one of the free tier limits, further operations of that type will fail with an error.
Pages
Access
WAF Custom Rules
Bulk Redirects
DNS Available on all plans plans and features
SSL/TLS Available on all plans plans and features

最低限必要なもの(ローカル環境)

デモアプリが最低限必要とするものです。
アプリを実行すると裏で自動配備されるものも含みます。

インターネット公開で使うもの

デモアプリをインターネットに公開する際は、認証・認可などセキュリティプロダクトをつけます。
アプリ自体を動かすのに必須ではありません。プライベートな配信環境を想定し、組み込みます。

また、プロキシーの基盤となる DNSSSL/TLS が必要です。
これらは Workers で Custom Domains を作成するなどにあわせ、基本的に自動配備され、簡単です。

手順

まずローカルでつなげ、その後公開します。

ローカル環境

簡単です。
ローカル稼働にはほとんどダッシュボードを触る必要はないです。

WHIP-WHEP Server

サーバーのセットアップ

WHIP-WHEP Server を立てます。

  1. Realtime SFU の作成


    App IDAPI Token を得ます

  2. サーバーのセットアップ

    whip-whep-server

    npm create cloudflare@latest -- --template https://github.com/cloudflare/calls-examples/tree/main/whip-whep-server
    
  3. App IDAPI Token の登録
    wrangler.toml に書くようなサンプルになってますが、TBD と書いてある部分は .dev.vars書きます

    wrangler.toml

    [vars]
    CALLS_API = "https://rtc.live.cloudflare.com"
    
    
    
    

    CALLS_APP_IDApp IDCALLS_APP_SECRETAPI Token を入れます。

    .dev.vars

    CALLS_APP_ID="..."
    CALLS_APP_SECRET="..."
    
  4. 起動(ローカルサーバー)

    http://localhost:8787 で立ち上がりました。
    WHIP サーバーWHEP サーバーの両方をサービス提供する状態です。

    log

    npx wrangler dev

    :
    Your worker has access to the following bindings:
    - Durable Objects: 
     - LIVE_STORE: LiveStore
    - Vars:
      - CALLS_API: "https://rtc.live.cloudflare.com"
      - CALLS_APP_ID: "(hidden)"
      - CALLS_APP_SECRET: "(hidden)"
    ⎔ Starting local server...
    [wrangler:inf] Ready on http://localhost:8787
    
WHIP 接続(OBS ➜ ローカルサーバー)

OBS から WHIP で接続します。

  1. OBS Settings > Stream の設定
    Server は WHIP サーバー Ingest /ingest/ に合わせます。
    例: http://localhost:8787/ingest/my-live
  2. 接続
    ソースを指定して Start Streaming
  3. ログ
    WHIP-WHEP Server のコンソールに WHIP サーバーへの接続が現れます。
    [wrangler:inf] POST /ingest/my-live 201 Created (2090ms)
    
WHEP 接続(ブラウザー ➜ ローカルサーバー)

WHIP-WHEP Server に WHEP player が同梱されているので、それを使います。
Pages を使っています。

  1. ディレクトリを移動

    mv whip-whep-server/wish-whep-00-player ./
    cd wish-whep-00-player
    
  2. wrangler.toml 編集
    wrangler.tomlcompability-date を追加

    wrangler.toml

    name = "whep-00-player"
    pages_build_output_dir = "./static"
    compatibility_date = "2025-04-01"
    
  3. 起動(ローカルサーバー)
    Pages です。

    http://localhost:8788 で立ち上がりました。

    log

    npx wrangler pages dev

    :
    No Functions. Shimming...
    No bindings found.
    ⎔ Starting local server...
    ⎔ Reloading local server...
    [wrangler:inf] Ready on http://localhost:8788
    
  4. 接続

    • ブラウザーで WHEP player の URL(この場合 http://localhost:8788)に接続
    • WHEP サーバー play URL( http://localhost:8787/play/my-live)を入力、 Load

      動画と音声が配信されました。1秒くらいの時間差が見られました。
  5. ログ
    WHIP-WHEP Server のコンソールに WHEP サーバーへの接続が現れます。

    [wrangler:inf] POST /play/my-live 201 Created (1533ms)
    [wrangler:inf] OPTIONS /play/my-live/cf5753324a74f8ad9c6df7ad7b3dd077 204 No Content (5ms)
    [wrangler:inf] PATCH /play/my-live/cf5753324a74f8ad9c6df7ad7b3dd077 200 OK (726ms)
    
結果

この時点で下記を確認できました。

  • 1秒までの時間差 ✅️
  • チャット機能 ✘
  • ログイン認証 ✘

Edge Chat Demo

サーバーのセットアップ

Edge Chat Demo を立てます

  1. サーバーのセットアップ

    workers-chat-demo

    npm create cloudflare@latest -- --template https://github.com/cloudflare/workers-chat-demo
    
  2. 起動(ローカルサーバー)
    http://localhost:62257 で立ち上がりました。

    log

    npx wrangler dev

    :
    Your worker has access to the following bindings:
    - Durable Objects:
      - rooms: ChatRoom
      - limiters: RateLimiter
    ⎔ Starting local server...
    [wrangler:inf] Ready on http://localhost:62257
    
接続
  1. 接続(ローカルサーバー)
    your name 任意の名前を入力
    room name 任意の部屋の名前を指定 my-live

    部屋の名前をアンカーでつけると、当該の Chat に参加できます。
    http://localhost:62257/#my-live
    [wrangler:inf] GET /api/room/my-live/websocket 101 Switching Protocols (17ms)
    
    Create a Private Room の方

    Create a Private Room はローカルサーバーを HTTPS で起動する必要があるようでした。
    一意の部屋 ID が発行されるだけなので、今回の場合は任意に指定したものを利用することにします。
    もしローカルサーバーを HTTPS で起動する場合は
    wrangler dev --local-protocol https
    オプションで俺俺が立ちます。

  2. WHEP player からの呼び出し
    生成された URL を WHEP player の index.html から iframe で呼んでみると追加されました。
    src のリッスンポートはローカルサーバー起動時の状況によりけりです。Safari と Firefox から呼んでみます。
    お互いにチャットが出来ています。
結果

この時点で下記を確認できました。

  • 1秒までの時間差 ✅️
  • チャット機能 ✅️
  • ログイン認証 ✘

インターネット公開

ここからちょっと手間かかります。

セキュリティ適用の方針

あらかじめ打てる手は打ち、最低限の安心を確保したうえで公開を進めます。

  1. デモアプリの公開点(=攻撃点)を減らす
    • 自前ドメインでのみ公開
      Workers・Pages の公開で自動付与されるドメイン名は利用しない
      Workers/Pages Custom Domains
      Bulk Redirects
    • 公開する URL 以外は受け付けない
      WAF Custom Rules
  2. デモアプリの公開点は全て認証・認可する(利便性は損なわず)
    • WHEP player・WHEP サーバー・Chat へのログインとシングルサインオン
      Access
    • WHIP サーバーの保護(OBS からの接続)
      Access または WAF Custom Rules

公開の方針

セキュリティ関連項目を適用してから公開デプロイするか、その逆か、を考えます。
前者が望ましいですが、動作確認を考えると、後者がやりやすいです。

今回は下記の手順にします。
➜ 誰が参加しても問題のないダミーを公開し、動作確認
➜ セキュリティ適用を確認
➜ セキュリティ土台の上で、本番配信の公開

ドメイン

自前ドメインで提供します。
自動付与されるドメイン名は利用せず、管理すべき点を減らします。

単一ホストも考えましたが、デモアプリを書き直すところがありそうなため、アプリごとの独立にしました。
プロトコルは HTTPHTTPS で。

サーバー ローカル デプロイ カスタム
WHEP localhost:8787 whip-whep-server..workers.dev
DISABLE
wh.live.oymk.work
WHIP localhost:8787 whip-whep-server..workers.dev
DISABLE
wh.live.oymk.work
Player localhost:8788 .pages.dev
REDIRECT
live.oymk.work
Chat localhost:62257 chat-demo..workers.dev
DISABLE
chat.live.oymk.work

デモアプリの公開

WHIP-WHEP Server
  1. Route 追加 wrangler.toml
    workers.dev での公開を止め、自分ドメインのみにします。

    wrangler.toml

    name = "whip-whep-server"
    main = "src/index.ts"
    compatibility_date = "2024-04-03"
    
    workers_dev = false
    routes = [
      { pattern = "wh.live.oymk.work", custom_domain = true }
    ]
    
    code: 10097 エラーが出たら(free plan)

    free plan は SQLite storage backend のみ利用可能なので、

    In order to use Durable Objects with a free plan, you must create a namespace using a `new_sqlite_classes` migration. [code: 10097]
    

    のエラーが出たら wrangler.toml を編集し、デプロイし直します。

    [[migrations]]
    tag = "v1"
    new_sqlite_classes = [ "LiveStore" ]
    #new_classes = [ "LiveStore" ]
    
  2. App IDAPI Tokensecret で配備

    whip-whep-server

    npx wrangler secret put CALLS_APP_ID
    Enter a secret value:
    npx wrangler secret put CALLS_APP_SECRET
    Enter a secret value:
    
  3. CORES 関連の調整 index.ts

    変更箇所

    optionsResponse()access-control-allow-origin 指定

    function optionsResponse(): Response {
    	return new Response(null, {
    		status: 204,
    		headers: {
        		"accept-post": "application/sdp",
    			"access-control-allow-credentials": "true",
    			"access-control-allow-headers": "content-type,authorization,if-match",
    			"access-control-allow-methods": "PATCH,POST,PUT,DELETE,OPTIONS",
    			
    			"access-control-allow-origin": "https://live.oymk.work",
    			"access-control-expose-headers": "x-thunderclap,location,link,accept-post,accept-patch,etag",
        		"link": "; rel="ice-server""
    		}
    	})
    }
    

    coresHeaders を変更

    async function whepHandler(request: Request, env: Env, ctx: ExecutionContext, parsedURL: URL): PromiseResponse> 
    {
    	
    	const corsHeaders = {
    		"access-control-allow-origin": "https://live.oymk.work",
    		"access-control-allow-methods": "POST,PATCH,OPTIONS,DELETE",
    		"access-Control-allow-Credentials": "true",
    	}
    

    再デプロイ

Edge Chat Demo
  1. Route 追加 wrangler.toml
    workers.dev での公開を止め、自分ドメインのみにします。

    wrangler.toml

    name = "chat-demo"
    compatibility_date = "2024-01-01"
    main = "src/chat.mjs"
    
    workers_dev = false
    routes = [
      { pattern = "chat.live.oymk.work", custom_domain = true }
    ]
    

    code: 10097 エラーが出た場合は WHIP-WHEP Server 同様に wrangler.toml を編集し、再デプロイします。

    code: 10097 エラーが出たら(free plan)
    [[migrations]]
    tag = "v1"
    new_sqlite_classes = [ "ChatRoom", "RateLimiter" ]
    #new_classes = [ "ChatRoom", "RateLimiter" ]
    
WHEP player
  1. Chat リソースの更新 index.html
    src="http://localhost:62257/#my-live" を公開 URL に置換します。
  2. デプロイ
    npx wrangler pages deploy
    
    log
    :
    ✔ The project you specified does not exist: "whep-00-player". Would you like to create it? › Create a new project
    ✔ Enter the production branch name: … production
    ✨ Successfully created the 'whep-00-player' project.
    ✨ Success! Uploaded 1 files (1.57 sec)
    
    🌎 Deploying...
    ✨ Deployment complete! Take a peek over at https://642b14b1.whep-00-player-3a2.pages.dev
    
  3. Pages Custom Domains の追加
    ダッシュボードで実施します。
    Workers & Pages > whep-00-player > カスタムドメイン
    DNS レコードの自動作成の手順も出てきます。
  4. CORES 関連の調整 index.html
    変更箇所

    資格情報連携のため
    credentials: ‘include’ 追加

            const offer = await fetch(resource, {method: "POST", credentials: 'include'})
    
            await fetch(sessionUrl.href, {method: "PATCH", credentials: 'include', body: answer.sdp})
    

    再デプロイ

セキュリティの適用

WHEP player・WHEP サーバー・Chat の認証認可とシングルサイオン 👉️Access

  1. アカウントホーム > Zero Trust > Access > ポリシー > 再利用可能なポリシー
    認可ポリシーを作ります。
    例: @cloudflare.com のメールアドレスを Allow
  2. Access > アプリケーション
    アプリケーションを作ります。

    セルフホストを選択します。

    • パブリックホスト名(基本情報
      3 つのページ起点で同一の認証トークンによるアクセス制限をかけます。
      live.oymk.work/ wh.live.oymk.work/play/ chat.live.oymk.work/
      WHIP-WHEP server は WHEP サーバー(/play/)のみ対象にしています。
    WHIP サーバー(/ingest/)は WAF で保護

    WHIP サーバー(/ingest/)については、OBS を Access のポリシー(Service token含め)に対応させる方法がわからなかったため、WAF Custom Rules で保護することにします。
    ブラウザーでの配信なら Access で一括できそうです。

    • ポリシー
      1 で作成した認可ポリシーを適用します。
    • CORS(詳細設定 > クロスオリジン リソース共有 (CORS) 設定
      オリジンへのオプション リクエストをバイパスする を有効にします。
      CORES 関連はデモアプリ側で仕込んであるのでそちらにまかせます。
      プリフライトリクエストが通るようにするためです。
    • アプリケーションを保存
      一度作成したアプリケーションを編集した際には押し忘れないようにします。

WHEP player(pages.dev ドメインの回避) 👉️Bulk Redirects

Pages は Custom Domains を利用しても pages.dev を無効にすることができません
デプロイのたびにドメイン名が発行される特性もあるので、自分ドメインに一括リダイレクトします。

  1. Pages ドメインの確認
    デプロイしたときに表示されます。

    展開時の Pages ドメイン

    npx wrangler pages deploy
    
    ? Select an account › - Use arrow-keys. Return to submit.
    :
    :
    🌎 Deploying...
    ✨ Deployment complete! Take a peek over at https://7bc1e776.whep-00-player-3a2.pages.dev
    

    ビルドのたびに頭のラベルが変わります。

  2. 一括リダイレクト
    共通部分 whep-00-player-3a2.pages.dev/https://live.oymk.work/ にリダイレクトします。

    アカウントホーム > 一括リダイレクト

WHIP の認証 👉️WAF Custom Rules

手元の OBS からだけ接続できるようにします。

OBS では Bearer Token をつけれるようです。

設定すると HTTP ヘッダー Authorization: Barer hogehoge でつけてきます。
これは WAF Custom Rules で検証できるので、適用します。

  1. セキュリティ > WAF > Custom Rules
    WHEP サーバー /ingest/*authorization ヘッダー hogehoge を必須にします。

全体の保護 👉️WAF Custom Rules

最後に、デモアプリで全体を保護します。
利用しないパスへのアクセスを落とします。
(cdn-cgi は Cloudflare の RUM を有効にしているので入れました)

  1. セキュリティ > WAF > Custom Rules

結果

全体の保護含め、下記の目的を達成できました。

  • 1秒までの時間差 ✅️
  • チャット機能 ✅️
  • ログイン認証 ✅️

観測

それぞれにアナリティクスやメトリクスがあります。参考に一部抜粋します。
上位プランになるとログや API も拡充されてきます。

Realtime SFU Realtime > サーバーレス SFU > Analytics

WHIP-WHEP Server Workers & Pages > メトリクス

Edge Chat Demo Workers & Pages > メトリクス

Access Analytics > Access


WAF セキュリティ > Analytics

Durable Objects Workers & Pages > Durable Objects
chat-demo_ChatRoom

chat-demo_RateLimiter

whip-whep-server_LiveStore

おまけ

  1. 認証情報の再利用
    JWT で認証情報を連携できるので、WHEP player でログインしたメールアドレスを Chat のログインに使います。

    JWT decode by claude

    chat.html

    
    function getCookie(name) {
      return document.cookie
        .split('; ')
        .find(row => row.startsWith(name + '='))
        ?.split('=')[1];
    }
    
    function parseJwt(token) {
      try {
        const base64Url = token.split('.')[1];
        const base64 = base64Url.replace(/-/g, '+').replace(/_/g, "https://zenn.dev/");
        const jsonPayload = decodeURIComponent(
          atob(base64).split('').map(c =>
            '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)
          ).join('')
        );
        return JSON.parse(jsonPayload);
      } catch (e) {
        console.error("Failed to decode JWT:", e);
        return null;
      }
    }
    
    const jwt = getCookie("CF_Authorization");
    const decoded = parseJwt(jwt);
    const emailFromJwt = decoded?.email;
    
    if (emailFromJwt && nameInput) {
      nameInput.placeholder = emailFromJwt;
    }
    
    
    function getAccountPart(email) {
      if (!email || typeof email !== 'string') {
        return null;
      }
      
      const atIndex = email.indexOf('@');
      if (atIndex === -1) {
        return null; 
      }
      
      return email.substring(0, atIndex);
    }
    
    
    const accountPart = getAccountPart(emailFromJwt)
    
    
    function startNameChooser() {
      nameForm.addEventListener("submit", event => {
        event.preventDefault();
        const inputVal = nameInput.value.trim();
        username = inputVal || accountPart;
        if (username?.length > 0) {
          startRoomChooser();
        }
      });
    
      nameInput.addEventListener("input", event => {
        if (event.currentTarget.value.length > 32) {
          event.currentTarget.value = event.currentTarget.value.slice(0, 32);
        }
      });
    
      nameInput.focus();
    }
    
    
    startNameChooser();
    
  2. 生成 AI の組み込み
    Workers AI も組み込んでみます。
    ライブ配信者として一言もらうようにしました。
    無理矢理でいいアイデアが浮かばず、、

  3. Chat も Realtime で
    今回、既存のデモアプリを使いましたが、DataChannles の利用も素直そうです。

    DataChannles でのデータ転送デモを追加すると、動画・音声ブロードキャストの脇で双方向のデータのやり取りが行われました。

    ライブ用の 1 チャンネルに加え、双方向 2 つのチャンネルが開設されていました。

まとめ

やりたいことは一通りできました。

WebRTC WHIP・WHEP のリアルタイム通信を中心に Cloudflare のその他の機能をレイテンシーなく簡単に追加できることも確認しました。

と思っていたら Developer Week 2025 中に RealtimeKit の発表が出ていましたね。

なんか凄そうです。
こちらも期待です。



Source link

Views: 0

「Shadowverse: Worlds Beyond」,テーマソングがキタニタツヤさん書き下ろしの新曲「あなたのことをおしえて」に決定



 Cygamesは本日(2025年4月14日),同社が6月17日に世界同時リリースを予定している「Shadowverse: Worlds Beyond」iOS / Android / PC)のテーマソングに,シンガーソングライターのキタニタツヤさんが書き下ろした新曲「あなたのことをおしえて」を起用したことを発表した。

画像ギャラリー No.002のサムネイル画像 / 「Shadowverse: Worlds Beyond」,テーマソングがキタニタツヤさん書き下ろしの新曲「あなたのことをおしえて」に決定

 また,同曲を使用した新CM映像がゲーム公式YouTubeチャンネルで公開されたほか,キタニさんからのコメントも届いているので掲載しよう。


「Shadowverse: Worlds Beyond」公式サイト

「Shadowverse: Worlds Beyond」予約注文ページ

「Shadowverse: Worlds Beyond」事前登録ページ

<以下,メーカー発表文の内容をそのまま掲載しています>


次世代スマホカードゲーム『Shadowverse: Worlds Beyond』テーマソングが
キタニタツヤ書き下ろしの新曲「あなたのことをおしえて」に決定!
楽曲を使用した新CM映像を解禁!

画像ギャラリー No.001のサムネイル画像 / 「Shadowverse: Worlds Beyond」,テーマソングがキタニタツヤさん書き下ろしの新曲「あなたのことをおしえて」に決定

ゲームの企画・開発・運営事業を展開する株式会社 Cygames(本社:東京都渋谷区、代表取締役社長:渡邊耕一)は、6月17日(火)に世界同時リリースを予定している新作タイトル『Shadowverse: Worlds Beyond(以下、シャドウバース ワールズビヨンド)』のテーマソングに、人気アーティスト・キタニタツヤ氏が書き下ろした新曲「あなたのことをおしえて」の起用が決定したことをお知らせします。また、この度楽曲を使用した15秒の新CM映像を『シャドウバースワールズビヨンド』公式YouTubeチャンネルで公開しました。
キタニタツヤ氏から、楽曲に込められた思いなどのコメントも頂いています。
▼【Shadowverse: Worlds Beyond】テーマソングCM
https://youtu.be/E0X95VNTXvE
■テーマソングに、キタニタツヤ書き下ろしの新曲「あなたのことをおしえて」決定!

画像ギャラリー No.002のサムネイル画像 / 「Shadowverse: Worlds Beyond」,テーマソングがキタニタツヤさん書き下ろしの新曲「あなたのことをおしえて」に決定

次世代スマホカードゲーム『シャドウバース ワールズビヨンド』のテーマソングに、キタニタツヤ氏が書き下ろした新曲「あなたのことをおしえて」の起用が決定しました。
本作は、対戦型デジタルTCG『シャドウバース』の新作タイトルとして2025年6月17日(火)にリリース開始予定です。テーマソングとなる「あなたのことをおしえて」は、ゲーム内でプレイヤーを迎える重要な楽曲として位置づけられており、キタニタツヤ氏特有の疾走感溢れるサウンドが、一新される“シャドウバース”の世界を彩ります。
本作では「超進化」や「エクストラPP」といった新要素や、作成したアバターを動かしてオンライン空間上で他ユーザーとカードバトルを楽しめる「シャドバパーク」など、進化したゲームプレイが楽しめます。
キタニタツヤ氏による楽曲と共に、ぜひ新たな『シャドウバース』の世界をお楽しみください。
■キタニタツヤ氏から、楽曲に込めた思いなどコメント到着!
大きな力に翻弄されながらも少しずつそれに抗い、悲しかったこと、苦しかったことを糧に、胸の奥に抱えた理想で現実をささやかにでも上書きしていく。
そんな小さな革命が私たちの日常の中にはたくさんあって、ドライツェーンの姿はその象徴のように映りました。「あなたのことをおしえて」はその革命を鼓舞するものであるようにと作った歌です。
『Shadowverse』という歴史あるゲームのテーマソングを担当させていただけて光栄です。
ぜひゲームとともに、この楽曲も長く聞いていただけると幸いです。

画像ギャラリー No.003のサムネイル画像 / 「Shadowverse: Worlds Beyond」,テーマソングがキタニタツヤさん書き下ろしの新曲「あなたのことをおしえて」に決定

「Shadowverse: Worlds Beyond」公式サイト

「Shadowverse: Worlds Beyond」予約注文ページ

「Shadowverse: Worlds Beyond」事前登録ページ



Source link

Views: 0