あなたは日本のサッカーコーチで、選手にペナルティキックのパフォーマンスについてフィードバックを行っていると想像してください。 スタイルスコアは、テクニックがどれだけすばらしいかを測定します。 超低スコアとは、55 以下のことを言います。 低スコアとは、56 ~ 65 以下のことを言います。 中スコアとは、66 ~ 75 のことを言います。 高スコアとは、76 ~ 85 のことを言います。 超高スコアとは、 86 以上のことを言います。 入力情報として、 「 今回の選手のキックデータ 」 、 「 三笘選手のキックの動画 」 、 「 今回の選手のキックの動画 」 、 「 三笘選手の名言が 25 語記載されたテキストデータ 」 を渡します。 この情報を元に選手へのフィードバックを行ってください。 「 今回の選手のキックデータ 」 を元に、選手の長所に焦点を当てて、プレーヤーに伝える励ましのフィードバックの文を書きます。 高スコアは長所なので、褒めてください。 低スコアは改善点なので、改善方法を教えます。但し、 「 さらに○○すると良い 」 というように指摘するだけにします。 スコアは数値で言及するのではなく、 99 の場合は 「 非常に強力 」 、 50 の場合は 「 さらにパワーを出しましょう 」 などと述べます。ポジティブなフィードバックをするので、個性的、独特などのワードは使わないようにしてください。
Cookie を盗む情報窃取マルウェアを使うサイバー犯罪者は、ユーザーの安全とセキュリティにリスクをもたらし続けています。この分野では、すでに多くの取り組みが実施されています。たとえば、セーフ ブラウジングによる Chrome のダウンロード保護、デバイス バウンド セッション認証情報、盗まれた Cookie が使われたことを検知する Google のアカウントベースの脅威検出などです。この度、新たな保護レイヤーについてお知らせします。これにより、この種のマルウェアから Windows ユーザーを保護する際の安全性が向上します。
Chrome は現在、秘密情報を保存する必要がある他のソフトウェアと同じように、OS が利用できる技術を使用して Cookie やパスワードといった機密データを保護しています。macOS ではキーチェーン サービスという技術を、Linux では kwallet や gnome-libsecret などのシステムが提供するウォレットを使っています。Windows の Chrome は、システムの他のユーザーやコールドブート攻撃から保存データを保護するために、データ保護 API(DPAPI)を使っています。しかし、悪意のあるアプリケーションがログイン中のユーザーとしてコードを実行できる場合、DPAPI では保護できません。
Chrome 127 で、DPAPI を改善する新しい保護機能を Windows に導入します。これは、アプリケーション バウンド(アプリバウンド)暗号化プリミティブを提供することによって実現します。Chrome は、ログイン中のユーザーとして実行されるアプリがこのデータにアクセスできるようにするのではなく、アプリの ID に紐付けてデータを暗号化できるようにします。これは、macOS のキーチェーンの動作と同様です。
今後、各種シークレットをこの新しいシステムに移行する予定ですが、Chrome 127 では、まず Cookie の移行を行います。今後のリリースでは、この保護をパスワードや支払いデータ、その他の永続的な認証トークンに拡大し、情報窃取マルウェアに対するユーザー保護をさらに強化する予定です。
動作の仕組み
アプリバウンド暗号化では、特権サービスを利用して要求元アプリケーションの身元を確認します。アプリバウンド暗号化サービスは、暗号化する際にアプリの ID をエンコードして暗号データに埋め込み、復号化が試行されたときにその有効性を確認します。システムに存在する別のアプリが同じデータを復号化しようとすると、失敗します。
アプリバウンド サービスはシステム権限で実行されます。そのため攻撃者には、単にユーザーを誘導して悪意のあるアプリを実行させる以上のことが必要になります。つまり、マルウェアはシステム権限を取得するか、Chrome にコードを挿入しなければならなくなります。これは、正規のソフトウェアが行うべきことではありません。そのため、動作の疑わしさが高まり、ウイルス対策ソフトウェアによって検出される可能性が高くなります。この保護とともに、Cookie 復号化のイベントログを提供するといった最近の取り組みも合わせて動作します。その目的は、ユーザーのデータを盗もうとする攻撃者のコストと検出リスクを高めることにあります。
企業での考慮事項
マルウェアは、昇格して実行することでこの保護をバイパスできます。そのため、エンタープライズ環境でダウンロードしたファイルを管理者として実行できないようにすることが特に効果的です。このような環境では、マルウェアが単純に昇格した権限を要求することはできなくなるので、インジェクションなどの技術を使わざるを得なくなります。このような操作は、エンドポイント エージェントでかなり容易に検出できます。
アプリバウンド暗号化では、暗号化鍵がマシンに強くバインドされるため、Chrome のプロファイルが複数のマシンをローミングする環境では正しく動作しません。ローミング プロファイルをサポートしたい企業には、現在のベスト プラクティスに従うことをお勧めします。必要な場合は、新しい ApplicationBoundEncryptionEnabled ポリシーを使ってアプリバウンド暗号化を構成できます。
互換性のない状況の検出に役立つように、Chrome は検証に失敗した際にイベントを発行します。イベントは、アプリケーション ログの「Chrome」ソースの ID 257 です。
まとめ
アプリバウンド暗号化により、攻撃者のデータ盗難コストは増加し、システムでの動作ははるかに目立ちやすくなります。また、システムの他のアプリに許容される動作について、防御側が明確な線引きを行うことができます。マルウェアの状況は継続的に進化します。それに合わせて、セキュリティ コミュニティの他のメンバーと協力しながら、検出の改善、強力なアプリ分離プリミティブといったオペレーティング システムの保護の強化など、バイパス対策の取り組みを続けていきたいと考えています。
今回の「速さと好奇心」の投稿では、Chrome がどのようにして Speedometer 3.0 の史上最高スコアをたたき出したのかについて紹介します。Speedometer 3.0 は、アップグレードされた新しいブラウザ ベンチマーク ツールで、ウェブ アプリケーションのパフォーマンス最適化に役立ちます。今すぐ Chrome をお試しください。
先日公開された Speedometer 3.0 は、ブラウザのパフォーマンスを測定するためのベンチマークで、企業を超えた業界全体のコラボレーションとして、Google、Apple、Mozilla、Intel、Microsoft などが作成したものです。Chrome を最適化し、すべてのユーザーのブラウザ エクスペリエンスを高速化できる領域を特定する際に役立ったのが、このベンチマークでした。
この更新版のベンチマークが開発されている間に、最新の Chrome のパフォーマンス情報をじっくりと慎重に追跡し、さらに最適化を進めることで、Speedometer 3 の史上最高のスコアをたたき出すことができました。ここでは、その手法について詳しく説明します。2022 年 5 月に Speedometer 3 が構想されてから、Chrome の Speedometer スコアは 72% 増加しました。これは、ユーザーのパフォーマンスが向上したと言い換えることができます。
Speedometer のワークロードと Chrome で特に時間がかかっている関数を調べることで、最適化の対象を絞りこむことができ、それによって、Chrome のスコアが向上しています。たとえば、SpaceSplitString は頻繁に使われる関数で、"class='foo bar' " のようなスペース区切り文字列をリスト表現に変換します。この関数で、いくつかの不要な境界チェックを削除しました。重複するスタイルシートが存在することがわかった場合は、重複を排除し、1 つのスタイルシート インスタンスを参照するようにしています。また、メモリ割り当てを調整することで、パスや円弧の描画コストを削減する最適化を行いました。フォーム エディタの作成時には、フォーム要素を作成する際に不要な処理があったことがわかりました。querySelector でよく使われるセレクタを検出し、そのためのホットパスを作成しました。
以前にお知らせしたように、解析に特化した高速パスを使って innerHTML を最適化しましたが、この実装は WebKit にも採用されました。Speedometer 3 のワークロードには DOMParser を使っているものもあるため、同じ最適化を拡張することで、さらに 1% 向上させることができました。
また、Harfbuzz のメンテナンス担当者と協力し、Apple の Mac OS システム フォントで使われているような AAT フォントのレンダリング方法を最適化しました。テキストは、処理済みの Unicode 文字のストリームとして始まり、グリフのストリームに変換されてから、AAT フォントで定義されたステートマシンで実行されます。この最適化により、グリフが実際にステートマシンのルールの一部であるかどうかを高速に判断できるようになり、AAT によるテキスト処理のスピードアップにつながります。
高いパフォーマンスを実現するために重要な戦略は、コードのティアリングです。これは、エンジンでさらに最適化できるコードを適切に選択することを指します。Intel は、V8 にプロファイルによるティアリングを提供しました。これは、過去のティアリングの決定を記憶する機能で、ある関数が過去に確実にティアリングされていれば、将来の実行時に積極的にティアリングするようにします。
Speedometer 3 で約 3% の向上につながったもう 1 つの変更領域がありました。それは、ガベージ コレクションの改善です。V8 のガベージ コレクタは、かなり以前からレンダラのアイドル時間を利用しています。これは、実際のアプリケーション コードに干渉しないようにするためです。最近の変更も、この考え方に則っています。つまり、レンダラは通常、非常に活発に動作していますが、可能な限り、そのアイドル時間にガベージ コレクションを行うように、既存のメカニズムを拡張します。具体的には、オブジェクトの再利用時に実行される DOM のファイナライズのコードもアイドル時間で実行されるようになっています。これまでこのような操作は、CPU リソースをめぐって通常のアプリケーション コードと競合していました。さらに V8 は、DOM 要素をラップするオブジェクト、つまり JavaScript フレームワークに公開されるすべてのオブジェクトで、はるかにコンパクトなレイアウトをサポートするようになっています。このコンパクトなレイアウトのおかげで、メモリ負荷が軽減され、ガベージ コレクションにかかる時間が短くなっています。
今後、ChromeOS が Android スタックの大部分をベースとしたものになり、Google AI、イノベーション、機能をいち早くユーザーにお届けできるようになります。
私たちは、過去 13 年間にわたって ChromeOS を進化させ、安全かつ高速でさまざまな機能を持つ Chromebook エクスペリエンスを、世界中の何百万人もの生徒や教師、家族、ゲーマー、企業に提供してきました。最近では、Google AI と Gemini を使った新機能も発表され、Chromebook は日常のタスクを支援するツールを多くの人々に届けています。
今後も新しい Google AI 機能をたくさんのユーザーにすばやく展開できるように、ChromeOS の基盤の一部として、Android Linux カーネルや Android フレームワークなど、Android スタックの一部を採用いたします。この 2 つには、すでに充実したコラボレーションの歴史があります。すなわち、ChromeOS で Android アプリが利用できるようになっており、Bluetooth スタックの統合は ChromeOS 122 の時点で始まっています。
Android ベースの技術スタックを ChromeOS に導入することで、ChromeOS の中核である AI イノベーションのペースを上げ、エンジニアリング作業を簡略化し、スマートフォンやアクセサリなどのさまざまなデバイスと Chromebook との連携を強化できます。同時に、ChromeOS ユーザーや企業、学校に愛される比類のないセキュリティ、一貫したルック アンド フィール、幅広い管理機能を今後も提供し続けます。
このような技術スタックの改善は始まっていますが、一般消費者向けに準備が整うのは少し先になります。その際には、シームレスに更新版のエクスペリエンスに移行します。楽しみなことに、それまでの間も ChromeOS は進歩し続けます。定期的なソフトウェア アップデートや新しいイノベーションに変更はありません。
Chromebook は、世界中の何百万人ものお客様、ユーザー、デベロッパー、パートナーにすばらしい体験を提供し続けます。ChromeOS の未来をこれほど楽しみに思ったことはありません。
Google は AI 初心者および中級者向けに、コミュニティと一緒に学ぶ無料のオンライン プログラム「Generative AI Study Jam」を 2024 年 8 月 1 日(木)から 10 月 1 日(火)の期間中に開催します。
Google Cloud Skills Boost の 学習ツール「Learning Pathways」を活用し、実践的な学習ができます。
また、自習中に躓いても Cloud コミュニティと一緒に学べるので安心。専用 Discord 質問チャネルと、コミュニティ主催の勉強会をぜひご活用ください。
お申し込みはこちら
プログラム期間 : 2024 年 8 月 1 日(木) ~ 10 月 1 日(火)
対象 : 生成 AI について学びたい大学生以上の方
費用 : 無料
実施方法 : オンライン
1 人ではなかなか思うように勉強が進まない方を支援することを目的とした、コミュニティ主催の勉強会も開催予定です。コミュニティが主催する勉強会に参加することで、1 人では解決しなかった課題などを解決しましょう。
コミュニティ主催の勉強会の情報は随時こちらのブログで更新していきます。
皆様のご参加をお待ちしております。
お問い合わせ
dev-event@google.com
Google Ads API v17 以降で、BatchJobService が AssetGroupOperation をサポートします。この変更により、バッチ処理で P-MAX キャンペーン全体を作成して管理できるようになります。
BatchJobService
AssetGroupOperation
バッチ処理は Google Ads API の機能で、各操作の完了を待つことなく、一連のオペレーションを複数のサービスに送れます。その際に、それぞれのオペレーションに相互依存関係があっても問題ありません。また、バッチ処理では、一過性のエラーに対する自動再試行とオペレーションの自動グループ化が行われます。皆さんのフィードバックに応えてアセット グループを非同期で扱う別のオプションを提供するために、AssetGroupOperation でバッチ処理を利用できるようにしました。
P-MAX キャンペーンで AssetGroupOperation とバッチ処理を使う方法は、他のオペレーションの使い方に似ています。ただし、特に次の点に注意してください。
バッチ処理でアセット グループを作成する場合は、AssetGroupOperation と AssetGroupAssetOperation が連続している必要があります。この 2 つの間に他の操作を入れることはできません。これは、処理の際にオペレーションをグループ化することによる制限です。バッチ処理で P-MAX キャンペーンを作成する際の考慮事項とベスト プラクティスの詳細については、P-MAX のバッチ処理ガイドをご覧ください。
AssetGroupAssetOperation
バッチジョブにアセット グループを作成する方法は次のとおりです。
MutateOperation
GoogleAdsService.Mutate
RunBatchJob
以下のリソースには、連携の際に役立つ追加情報が含まれています。
この記事は、皆さんから要望があった新機能や今後予定されている機能についてお伝えするシリーズの一部です。今後も、新機能や現在の実装アプローチとの違いについて説明してまいります。
今後のアップデートや改善についてお伝えするデベロッパー ブログにご注目ください。Google Ads API と P-MAX の連携についてのフィードバックも、引き続きお寄せください。サポートが必要な場合は、いつものようにチームにお問い合わせください。
QuotaError
GoogleAdsService.Search()
GoogleAdsService.SearchStream()
page_size
GoogleAdsService.Search
RequestError.PAGE_SIZE_NOT_SUPPORTED
campaign_aggregate_asset_view
channel_aggregate_asset_view
MutateOperation.asset_group_operation
BatchJobError.REQUEST_TOO_LARGE
AddBatchJobOperationsRequest
Campaign.keyword_match_type
AdService.getAd
AdGroupCriterion
primary_status
primary_status_reasons
shopping_product
ImageAdInfo.image_asset
segments.sk_ad_network_redistributed_fine_conversion_value
NULL
product_link
QueryError.PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE
UserListCustomerTypeService.MutateUserListCustomerTypes()
CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings
local_services_verification_artifact
日本時間 8 月 1 日(木)、2 日(金)に、旗艦イベント Google Cloud Next Tokyo '24 を開催します。今回は、リアルイベントだからこそ体験できる コンテンツについてご紹介します。イベント登録がまだの方は忘れずにしておきましょう! >> 登録はこちら
各日とも、基調講演への先着特典として、Google Cloud オリジナル 扇子を進呈します。(なくなり次第終了)開場は 9:00 から、基調講演は 10:00 からとなっていますので、早めの来場をおすすめします。
Google Cloud の最新製品やソリューション、パートナー、お客様の事例やデモを、エキスパートと交流しながら体験できるエリアです。
話題の Gemini で実現する動画解析や画像編集、コーディング支援を実際に体験できます。Google Distributed Cloud で実現するオフライン AI 処理についても紹介。ビジネスを加速させるヒントが見つかるかも。ぜひお立ち寄りください。
スタンプ用紙をインフォメーション カウンターにて配布しています。対象ブースでスタンプを集めて、Google Cloud オリジナル アイテムをゲットしてください!
対象ブースは プログラムガイドの EXPO ページにて確認できます。
1F の EXPO エリアにて、簡単なハンドケアと、Google Cloud のオリジナル デザインのネイルアートをお楽しみいただけます。(所要時間 15 分)
※施術枠に限りがありますのであらかじめご了承ください。
☁︎ 【データベース】ABEMA を支える AlloyDB ベクトル検索で構築するレコメンド システム
☁︎ 【データベース】Sprocket の Google Cloud 全移行 ~DynamoDB から Cloud Spanner へ~
☁︎ 【アプリ開発】取引信用保険システムのモダナイゼーションでビジネススピードの爆上げを実践
☁︎ 【インフラ】マイグレーションサービスを活用して VM の IP アドレスもそのまま Google Cloud へ移行した話
☁︎ 【セキュリティ】脅威インテリジェンス プラットフォームの新しいかたち : Google Threat Intelligence で何が変わるのか?
☁︎ 【生産性とコラボレーション】 堅い挨拶が絵文字に!~ 十六 FG が Google Workspace で文化を Change ~Gemini for Google Workspace 最新アップデート
開催概要
名称 : Google Cloud Next Tokyo '24(略称 Next Tokyo '24)
日時 : 日本時間 2024 年 8 月 1 日(木) ~2 日(金)
会場 : パシフィコ横浜 ノース
対象 : 開発者から CEO まで、クラウド テクノロジーを使ったビジネス課題の解決を探求する、すべての方
- お問い合わせ -
Google Cloud Next Tokyo 運営事務局
E-mail: gc-nexttokyo-info@google.com
日本時間 8 月 1 日(木)、 2 日(金)に、旗艦イベント Google Cloud Next Tokyo '24 を開催します。まだセッション登録が可能な、おすすめセッションをご紹介します!NEW PROGRAM のワークショップが気になる、ブレイクアウト セッションを聴講したいという方は、イベント登録をした後、忘れずセッション登録をしてくださいね。
スタートアップや、DEI をテーマにした Google ならではのトピックを、ワークショップやラウンドテーブル、ライトニング トークなどの多様なスタイルで体験していただける特別なプログラムです。
☁︎ AI - LT(ライトニング トーク) セッション
☁︎ 心理的安全性と無意識の偏見を考えるワークショップ
☁︎ スタートアップ ピッチセッション
☁︎ 10X Innovation Culture Program 体験ワークショップ
需要の高いトピックに焦点を当てたハンズオンラボを提供します。エキスパートが指導する実践的なセッションですので、スキルアップしたい方や試しに触ってみたい方など、お気軽にご参加ください。本ハンズオンは、すべて日本語で実施します。
☁︎ 【初級】 BigQuery 入門
☁︎ 【中級】スキルバッジ : Vertex AI のプロンプト デザイン入門
☁︎ 【中級】BigQuery のパフォーマンスとコストの最適化
☁︎ 【中級】Vertex AI と Vertex AI AutoML の概要
☁︎ 【AI と機械学習】ドメイン特化型マルチモーダル生成 AI の学習プロセス
☁︎ 【アプリ開発】Google Cloud を用いたソフトウェア開発の内製化組織の早期立ち上げの実現
☁︎ 【インフラ】最新の Google Compute Engine(GCE)と Titanium でハイ パフォーマンスとコスト最適化を実現
☁︎ 【データ分析】データ分析環境の Google Cloud 移行
☁︎ 【生産性とコラボレーション】 堅い挨拶が絵文字に!~ 十六 FG が Google Workspace で文化を Change ~
日時 : 日本時間 2024 年 8 月 1 日(木) ~ 2 日(金)
今年の Google I/O では、AI を活用した開発に役立つ新しい製品とツールを発表しました。また、デベロッパーの皆さんが、Google のツールの力を最大限に活用し、最も高性能な AI モデルをアプリやゲームに統合することで、ユーザーにとって素晴らしく革新的な体験を構築できるよう、Gemini API デベロッパー コンペティションを開始しました。このコンテストでは、カスタマイズした電気自動車バージョンのデロリアン(と多額の賞金)を獲得するチャンスがあります。
I/O クロスワードの遊び方
遊び方は次の通りです。
ステップ 1 : 4 つのマスコットからチームを選びましょう。選んだマスコットの色が、単語を解いたときにマスが変わる色になります。選んだチームの合計得点に各自のスコアが反映されます。
ステップ 2 : 次に、ボード上の好きな場所からスタートしましょう。
ステップ 3 : 単語が解けないときは、「ヒントを見る」ボタンを試してみてください。yes か no で回答できる質問を投げかけることで、解答に導きます。(最大 10 回まで)
ステップ 4 : 連続で単語を解くほど、リーダーボードの順位が (チームでも個人でも) 上がります!スコアを投稿し、Google Developer Program のプロフィール用バッジを獲得しましょう。
I/O クロスワードを作成することが目的だったので、今年の I/O でグーグルが発表した内容を元に、単語やヒントを作成したいと思いました。そこで、Gemini Advanced に YouTube 上にアップロードされている Google I/O の基調講演 3 時間分を読み込んでもらい、I/O の製品発表を楽しく学ぶための、時事的な技術関連の単語とヒントを作成してもらいました。
Gemini アプリは、Google の最先端のAI モデルを誰でもすぐに利用できるよう、会話型インターフェースを通じて提供しています。今回私たちが Gemini Advanced を活用した主な理由は、他の多くの LLM と比較しても、ナレッジ カットオフが直近で、最新の情報をインターネットから取得できるためです。
ゲームの UI は Flutter で構築されています。Flutter のプラットフォームに対する柔軟性とパフォーマンスの高さは、ダイナミックでインタラクティブなゲームを構築する上で最適な選択でした。クロスワード ボードをレンダリングし、スムーズなナビゲーションを可能にするために、Flutter の InteractiveViewer ウィジェット (英語) を採用しました。このウィジェットは、大きなコンテンツ エリアでのパンやズームといったユーザー インタラクションを処理するように設計されているため、広大なクロスワード グリッドを探索するのに理想的でした。 このゲームは、プレイヤーが同じボード上で同時にプレイするコラボレーション体験を提供しているため、優れたゲーム体験を可能にするにはパフォーマンスがとても重要です。そのため、このゲームは Google I/O (英語) で Flutter ウェブアプリの Stable チャンネルに移行した WebAssembly (WASM) にコンパイルされています。InteractiveViewer ウィジェット内での行列変換の使用や、WASM が高いフレームレートを維持するために、どのように役立ったかといったトピックについての詳細は、ブログ (英語) をご覧ください。
Firebase は、バックエンド機能を提供するため、クロス プラットフォームで動作するさまざまなツールを提供しています。稼働中のアプリケーションは Firebase Hosting でホストされ、アプリケーションからのすべてのデータは Firestore に保存されます。Firestore はリアルタイムで動作し、世界中のユーザーがパズルを完成させるとライブ アップデートが保存され、ユーザーがゲームに参加したり離脱したりすると自動的にスケーリングします。
クロスワードが完成すると、ボード全体がリセットされるため、ゲームは常にオン状態で、新しいユーザーが参加してもすぐにプレイできます。この機能は Cloud Functions for Firebase によって実現されています。 Flutter アプリが Firestore に直接アクセスする場合、App Check と anonymous auth を設定してリーダーボード API を保護し、認証されたユーザーだけがアクセスできるようにします。Firebase Authentication を使用すると、ゲームに参加するすべてのユーザーが匿名で認証され、個々のスコアを追跡し、リーダーボードに表示することができます。
Dart で構築されたバックエンドは、API コールの管理、データベースとの連携、Flutter アプリからのリクエスト処理を行います。Cloud Run は自動スケーリング機能を提供し、スムーズなユーザー エクスペリエンスを保証します。
不正行為を防ぐため、Dart Frog (英語) バックエンドを採用しています。アプリは Firestore からデータを読み込むことができますが、変更を加えることができるのは Dart Frog バックエンドのみです。このアーキテクチャと認証メカニズムにより、フェアプレーが保証されます。
遊んでみよう
I/O クロスワードを実際に体験してください。ご興味のある方のために、コードはオープンソース化されています。私たちは、この事例を Gemini API デベロッパー コンテストで、皆さんの作品に活かしていただけることを楽しみにしています。 開発を始めるにあたって、開発プロセスをサポートするためのコンテンツ (英語) をご用意しました。ぜひご覧ください。