Google は、2022 年 5 月 11 日 から 12 日にかけ、オンラインにて Google I/O 2022 を開催しました。
例年、Google Developer Groups(GDG)やその他の IT コミュニティの皆さんが、I/O Extended というイベントを各地で開催しています。今年は、Google I/O 2022 で発表のあったセッションの解説や振り返りなど、プロダクト別のさまざまな情報を共有する報告会がオンラインにて開催予定です。
開催される予定のイベントの概要は下記のとおりです。イベントごとにお申し込み方法が異なりますので、参加をご希望の方は、各リンクから詳細をご覧ください。
※リンクがない・開催日時が TBC となっている箇所は、イベント情報が確定次第、随時更新されますので今しばらくお待ちください。
I/O Extended Japan 2022
日時 : 2022 年 6 月 5 日(日)15:00 ~ 18:00参加方法 : YouTube Live参加費 : 無料主催 : GDG 四国、岡山、京都、九州、名古屋、東京
日時 : 2022 年 6 月 5 日(日)15:00 ~ 18:00
参加方法 : YouTube Live
参加費 : 無料
主催 : GDG 四国、岡山、京都、九州、名古屋、東京
※上記 6 チャプターが本イベントを共催いたします
DroidKaigi: Weekend Chat Vol.22~Vol.25 I/O、今年の新技術
日時 : 2022 年 5 月 27 日(金)20:00 ~ 21:30参加方法 : YouTube Live参加費 : 無料主催 : DroidKaigi
日時 : 2022 年 5 月 27 日(金)20:00 ~ 21:30
主催 : DroidKaigi
Android Bazaar and Conference 2022 Spring
日時 : 2022 年 5 月 28 日(土)10:30 ~ 16:30参加方法 : YouTube Live(川崎市産業振興会館から YouTube 配信)参加費 : 無料
日時 : 2022 年 5 月 28 日(土)10:30 ~ 16:30
参加方法 : YouTube Live(川崎市産業振興会館から YouTube 配信)
主催 : 特定非営利活動法人 日本 Android の会 / 日本 Android の会
共催・後援 : 公益財団法人 川崎市産業振興財団
Android Roadshow Day 1 (オンライン)日時 : 2022 年 6 月 15 日(水)10:00 ~ 12:00
Android Roadshow Day 1 (オンライン)
日時 : 2022 年 6 月 15 日(水)10:00 ~ 12:00
参加方法 : ご参加登録はこちら* ご参加(ご視聴)にはご登録が必要です
※ リンクがない箇所は、情報が入り次第更新していきます。
※ I/O 報告会を開催したいと考えており、本記事に情報を追加してほしい、というコミュニティオーガナイザーの方がいらっしゃいましたら、こちらのフォームから情報をお寄せください。
皆さまのご参加を心よりお待ちしております。
この度、Apps Script connector for AppSheet をリリースしました。これにより、ノーコードの AppSheet アプリから Apps Script コードの関数を呼び出せるようになります。AppSheet アプリから Apps Script の機能にアクセスできるようになるので、AppSheet アプリでできることが大幅に増えます。たとえば、AppSheet アプリと Google Workspace を組み合わせて、ドライブ、ドキュメント、スプレッドシート、Admin SDK などの Workspace API を利用すれば、Apps Script を使ってワークフローを自動化できます。また、YouTube、Google アナリティクス、BigQuery などのその他の Google サービスと組み合わせることもできます。
AppSheet は、カスタムのアプリやワークフローをノーコードで開発し、ビジネス プロセスを自動化するための Google のプラットフォームです。これを使うと、コードを書くことなく、エンドツーエンドのアプリを開発してデプロイし、自動化を行うことができます。
Google Appsheet でアプリの定義を編集する
Apps Script コネクタ機能の説明に入る前に、 ノーコードの意味について考えてみましょう。AppSheet などのノーコード型プラットフォームを利用すると、 シチズン デベロッパー がウェブベースのユーザー インターフェースを使い、データの解析を通して、短時間で自動的にアプリを開発できます。通常は、データソースとして、Google スプレッドシート、MySQL、Salesforce、その他のデータベースを利用します。こういったアプリの作成には、従来のソフトウェア エンジニアリングの経験は不要です。そのため、幅広いスキルを持つビジネス テクノロジストやアナリストがアプリを開発して、業務を簡易化したり、効率化したりできます。
AppSheet のようなノーコード型プラットフォームでは、コードを書いてアプリを動かすのではなく、ウェブベースのエディタ UI でアプリの動作を定義します。たとえば、アプリはどう動作すべきか、どんなデータソースを使うのか、データにはどんな意味があるのか、ユーザーにどんな UI を表示するのか、どんなイベントを管理するのか、イベントの発生時にどんなアクションを実行するのかなどを指定します。そのアプリは、UI を含むエンドツーエンドのデータ駆動型アプリとして本番環境にデプロイします。これはすべて、実際のコードを「書く」ことなく実現できます。通常のウェブアプリやネイティブ アプリにしか見えないので、エンドユーザーが違いを意識することはありません。
ノーコード型プラットフォームは、大部分のアプリで実際に効果的に機能しています。その理由は、多くのアプリの機能が非常に似かよっているからです。特に、社内のビジネス プロセスを扱うアプリはよく似ています。このようなアプリには、多くの共通点があります。データを格納するデータソース、データ「レコード」という概念、データの収集や編集を行う UI やフォーム、ユーザーに固有なデータ表示画面、データ変換を定義する式、データが変更されたときに実行されるアクション、管理者による権限の制御などです。
例として、社員の出張申請書を作成したり承認したりするアプリを考えてみましょう。このアプリには、経費報告書を作成したり承認したりするアプリとの共通点がたくさんあります。どちらのアプリでも、社員がレコードを作成し、そのレコードに対して審査や追記が行われ、変更が発生するとユーザーに通知され、最終的に申請は完了してクローズされます。同じように、社員に貸与されるコンピュータ機器を追跡する社内アプリとの間にも、多くの共通点があります。たとえば、汎用的な在庫追跡、フルフィルメント、注文システムなどです。
ノーコード型プラットフォームの課題は、常に表現力と高レベルの抽象化とのバランスを取る点にあります。幸いにも、データ、データ ライフサイクル、プロセスで想定される中核部分をしっかりと理解してしまえば、ビジネス プロセスはほぼそれに従います。この領域でノーコード型プラットフォームが効果的なのは、そのためです。しかし、アプリの要件が、ノーコード型プラットフォームでできること以上に広がることもあるかもしれません。新しい Apps Script コネクタは、ノーコード型アプリの表現力(機能)を大幅に高めます。そのため、要件やビジネス プロセスが進化しても、それに対応してアプリを強化することができます。
Google Workspace は、Google のクラウドベース生産性スイートです。これを使うと、あらゆる規模のチームが連携して制作や共同作業をすることができます。皆さんにとって、Gmail、カレンダー、ドライブ、ドキュメント、スプレッドシート、スライドなどのたくさんのアプリはおなじみのものでしょう。各アプリには充実したデベロッパー API も搭載されており、アプリのデベロッパーがプログラムから機能を利用できるようになっています。たとえば、ドライブ API を使うと、ユーザーがファイルをアップロードしたりダウンロードしたりするコードを作成できます。Gmail API ならメッセージ機能を統合でき、Google ドキュメント API ならスクリプトから Google ドキュメントを編集できます。
Chat、Gmail、ドキュメントのプレビューを組み込んだ Google Workspace を使う
Apps Script は ローコード 型プラットフォームで、これを使うと、Google Workspace の統合、自動化、拡張を行うビジネス ソリューションをすばやく簡単に開発できます。使いやすい高レベルな API の「ラッパー」が提供されているので、Google Workspace や外部サービスとのカスタム統合が可能です。さらに、Apps Script を使うと、YouTube、Google アナリティクス、BigQuery などの Google のサービスを組み込むこともできます。これは充実したプラットフォームであり、スクリプトを書くことで、複雑なビジネス ロジックやマクロを実装したり、サードパーティ ベンダーのデータ交換システムや機械学習分類サービスなどの外部サービスを呼び出したりできます。
Google Apps Script コードエディタでスクリプトを編集する
今週リリースされた Apps Script connector for AppSheet が、AppSheet、Apps Script、Google Workspace、そして Google Workspace の多くのデベロッパー API のすべてをつなぎます。これにより、Apps Script の関数を呼び出してデータを渡せるようになるので、AppSheet を使ったノーコード型アプリでできることが大幅に広がります。これは、 ノーコード (AppSheet)と ローコード (Apps Script)の橋渡しをする機能と考えることもできるでしょう。重要なことは、Apps Script スクリプトを書く人は、スクリプトを呼び出すノーコード型 AppSheet アプリの作成者と同じでなくてもよい点です(ほとんどの場合は、違う人でしょう)。
Apps Script デベロッパーから見れば、この機能によって、いくつかの重要な可能性が開かれることになります。AppSheet の特に大きなメリットは、UI を含む実際のエンドツーエンド アプリ(フロントエンド)を簡単にデプロイできることです。既存の Apps Script コードを呼び出せる新機能を使えるので、ノーコード型 AppSheet アプリを作成したり、それを使って既存のフロントエンドを置き換えたりするという選択肢がゲームチェンジャーになる可能性があります。
AppSheet でこれを設定するのは簡単で、スクリプト自体を除けば、他にコードは必要ありません。基本的な考え方としては、アプリの作成者が AppSheet の「タスク」を設定して、呼び出したい Apps Script スクリプトを選びます。タスクとは、AppSheet Automation がトリガーされたときに実行されるアクションを指します。
通常、このようなアクションは、AppSheet のデータソースの特定のデータ行に対して実行されます。たとえば、アプリのエンドユーザーが新しいデータレコードを作成したときに、自動処理をトリガーすることができます。また、Apps Script 関数のパラメータに渡す値は、アクティブなデータレコードの値に基づいて指定することもできます。
Google AppSheet で自動処理タスクを編集する
これは、次の 5 つの手順で設定できます。
AppSheet の自動処理タスクを設定し、Apps Script 関数を呼び出す
呼び出す Apps Script プロジェクトを Google ドライブから選択する
logTravelRequestUpdate() Apps Script 関数に渡すパラメータが表示される
AppSheet の Expression Assistant を使って Apps Script 関数のパラメータに渡す値を選択する
最後に、AppSheet エディタでタスクを保存します。[Save] ボタンを使用してください。
これで完了です。自動処理がトリガーされると(ユーザーが新しいデータ行を追加したときなど)、AppSheet の自動処理エンジンが指定した Apps Script 関数を呼び出します。その際に、式を評価した値が関数の引数として渡されます。関数呼び出しの詳細は、AppSheet の Automation Monitor から確認できます。
次に簡単なサンプルを示します。上のスクリーンショットで紹介した Travel Request Tool AppSheet アプリに基づくもので、実際に試してみることができます(下のサンプル スクリプトのセクションで、別の例も紹介します)。次のコードは、社員の出張申請書の詳細情報を、「監査ログ」を模した Google ドキュメントに書き込む Apps Script 関数です。ここでは、Apps Script で利用できる DocumentApp ラッパー ライブラリを通して Google ドキュメント API を使っています。
TravelRequestAuditLogger.gs function logTravelRequestUpdate(RequestDate, Requestor, Origin, ...) { var TRAVEL_REQUEST_AUDIT_LOG_DOCID = 'your_docid_here' var doc = DocumentApp.openById(TRAVEL_REQUEST_AUDIT_LOG_DOCID) var body = doc.getBody(); var dataParagraph = body.insertParagraph(0, ''); var headerText = dataParagraph.appendText('*** NEW AUDIT LOG ENTRY ***\n'); headerText.setBold(true); // Add in the audit log entry metadata. dataParagraph.appendText('New Travel Request Tool audit log entry...\n'); dataParagraph.appendText('RequestDate: ' + RequestDate + '\n'); dataParagraph.appendText('Requestor: ' + Requestor + '\n'); dataParagraph.appendText('Origin: ' + Origin + '\n'); // ... additional values here to append to Google Doc }
この関数が呼び出されると(新しい出張申請書が作成されて AppSheet の自動処理から呼び出される場合など)、AppSheet から渡された値に応じたテキストが Google ドキュメントに追加されます。ドキュメントが更新されると、次のようになります。
Apps Script の Google ドキュメント API と AppSheet から渡された値を使って作成した Google ドキュメントの出力例
すぐに使ってみたい場合やコミュニティのサポートを受けたい場合に役立つリソースの一覧を作成しています。
ヘルプ記事 : 自動処理から Apps Script を呼び出す 紹介動画 AppSheet コミュニティ Apps Script サンプル ソリューション
この機能を使ってみる際に役立つ 3 つのサンプル スクリプトを紹介します。
サンプル Google Workspace プロジェクト - ドキュメント、スプレッドシート、スライドの作成とメールの送信
カレンダー イベントの作成 - カスタマイズ可能なカレンダー イベントの作成
インタラクティブ Chat メッセージの送信 - リンクを開くメッセージやイメージを表示するメッセージを Google Chat で送信
この機能を発表できたことをとてもうれしく思っています。皆さんが Google Workspace で作るものを見るのが楽しみです。今後も AppSheet や Google Workspace プラットフォームのお知らせを受け取りたい方は、デベロッパー ニュースレターへの登録をお願いします。
OAuth 2.0 は、インターネットでトークンベースの認可を行うためのオープンな標準認可フレームワークです。OAuth 2.0 のアクセス トークンは、OAuth 2.0 クライアントがリソース サーバーにリクエストをする際に使用する文字列で、ユーザー ID などの情報を OAuth 2.0 クライアントから隠蔽します。リソース サーバーにリクエストをする際には、アクセス トークンのみを使用します。
アクセス トークンは一定時間で有効期限が切れ、関連する API リクエストに利用できない無効な認証情報になります。トークンに関連付けられたスコープに対してオフライン アクセスをリクエストする場合、アクセス トークンを更新することができます。このとき、ユーザーにパーミッションを要求するプロンプトを表示する必要はなく、ユーザーがそこにいる必要もありません。
リフレッシュ トークンの有効期限は、アクセス トークンよりも少し長くするというのがベスト プラクティスです。たとえば、アクセス トークンの有効期限を 30 分に設定する場合、リフレッシュ トークンの有効期限は 24 時間またはそれ以上にします。
詳しくは、アクセス トークンの更新(オフライン アクセス)をご覧ください。
アプリによっては、短い間隔でユーザーを再認証するリクエストをする可能性があります。その場合は、リフレッシュ トークンではなくアクセス トークンのみを使います。こういったアプリは、リフレッシュ トークンを使ったオフライン アクセスと見なされるアプリとは違い、オンライン アクセスとなります。
詳しくは、アクセス トークンの更新(オフライン アクセス)とトークンを更新するをご覧ください。
Cloud IoT の認証をするには、各デバイスで JWT を作成する必要があります。JWT は、デバイスと MQTT または HTTP ブリッジとの間の、短時間だけ有効な認証に使われます。
JWT は、ヘッダー部、ペイロード部、署名部という 3 つのセクションで構成され、ペイロード部には一連のクレームが含まれています。ヘッダー部とペイロード部は、JSON オブジェクトを UTF-8 のバイト列にシリアライズして Base64 URL エンコーディングでエンコードしたものです。
JWT のヘッダー部、ペイロード部、署名部は、ピリオドで連結されます。その結果、通常の JWT は次のような形式になります。
{Base64url encoded header}.{Base64url encoded payload}.{Base64url encoded signature}
詳細については、JSON Web Token(JWT)の使用と JWT トークンの有効期限を管理するをご覧ください。
トークンの有効期限の管理には、さまざまなポリシーや戦略を利用できます。以下のような方式が考えられます。
特に記載のない限り、下記の変更は Android、Chrome OS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能の詳細については、リンクまたは ChromeStatus.com の一覧でご確認ください。2022 年 4 月 28 日の時点で Chrome 102 はベータ版です。PC 向けの最新版は Google.com で、Android では Google Play ストアでダウンロードできます。
ウィンドウ コントロール オーバーレイは、ウィンドウ全体を覆うようにアプリのクライアント領域を拡張します。この領域には、タイトルバー、ウィンドウのコントロール ボタン(閉じる、最大化 / 復元、最小化)も含まれます。ウェブアプリのデベロッパーは、ウィンドウ コントロール オーバーレイを除くウィンドウ全体の描画と入力ハンドリングをする必要があります。この機能を使うと、デベロッパーはインストールされた PC ウェブアプリをオペレーティング システムのアプリのように見せることができます。詳しくは、PWA のタイトルバーのウィンドウ コントロール オーバーレイをカスタマイズするをご覧ください。
Chrome で以前にオリジン トライアルが行われていた以下の機能は、現在デフォルトで有効化されています。オリジン トライアルとして新機能を試して、ユーザビリティ、実用性、有効性についてのフィードバックをウェブ標準コミュニティに提供することができます。以下の項目を含めて、現在 Chrome でサポートされているオリジン トライアルに登録するには、Chrome オリジン トライアル ダッシュボードをご覧ください。Chrome のオリジン トライアルの詳細については、ウェブ デベロッパーのためのオリジン トライアル ガイドをご覧ください。Microsoft Edge は、Chrome とは別に独自のオリジン トライアルを行っています。詳細については、Microsoft Edge オリジン トライアル デベロッパー コンソールをご覧ください。
新しいメカニズムにより、アプリケーションが動画キャプチャをする別のアプリケーションに情報を公開できるようにします。これにより、キャプチャするアプリケーションとキャプチャされるアプリケーションを連携できるようになります。たとえば、プレゼンテーションの動画をキャプチャするビデオ会議アプリケーションで、ビデオ会議タブにユーザー向けのコントロールを表示して、キャプチャするタブのプレゼンテーションを操作することができます。
サイド チャンネルを使用したクロスサイト トラッキングを防ぐため、ネットワーク状態がネットワーク パーティション キーでパーティショニングされます。これは、トップフレームのサイトに加え、フレームのサイトで構成される可能性があります。この「ネットワーク状態」には、接続(H1、H2、H3、websocket)、DNS キャッシュ、ALPN / H2 サポートデータ、TLS / H3 再開情報、Reporting / NEL 構成とアップロード、Expect-CT 情報が含まれます。クロスサイト トラッキングは、ユーザーにとってプライバシーに対する大きな懸念となっています。本機能は、この問題に対処するうえで欠かせない部分の 1 つです。
Speculation Rules は、ナビゲーション前にプリフェッチできる外部リンクを定義するための柔軟な構文を提供します。また、可能な場合は、プライベート プリフェッチ プロキシの使用などの追加の拡張も提供します。
この機能は、複数のリソースをバンドルできるフォーマットを使って大量のリソースを効率的に読み込むための新たなアプローチです(例 : Web Bundle)。
ファイル ハンドラは、ウェブ アプリケーションが指定された MIME タイプや拡張子のファイルを扱えることを宣言できるようにします。ユーザーがウェブ アプリケーションでファイルを開こうとすると、そのウェブ アプリケーションがイベントを受け取ります。
PWA をファイル ハンドラにするには、Web App Manifest に file_handlers メンバーを追加します。メンバーの詳細については、仕様をご覧ください。
file_handlers
新しい inert 属性を使うと、DOM ツリーの一部を不活性としてマークできます。不活性なノードは、以下のように動作します。
inert
pointer-events
'none'
user-select
詳細については、inert の紹介をご覧ください。
ウェブ アプリケーションで、ローカル フォントとそれぞれのメタデータをエミュレーションできるようになります。この新しい API を使うと、ウェブ アプリケーションからローカル フォント内に格納されているテーブルデータにアクセスすることもできるので、カスタム テキスト スタックを使ってアプリケーション内にフォントをレンダリングできます。
新しい Navigation インターフェース(window からアクセス可能)を使うと、アプリケーションでナビゲーションをインターセプトしたり、ナビゲーションを開始したり、アプリケーションの履歴エントリを確認したりできます。これは、window.history や window.location よりも利便性が高く、単一ページウェブ アプリケーションのニーズに特化した仕組みを提供します。
Navigation
window.history
window.location
Chrome で、hidden 属性に新しい値 until-found が追加されます。これにより、ページ内検索、テキスト フラグメントへのスクロール、フラグメント ナビゲーションで要素が検索可能になります。これらの検索とナビゲーション機能で hidden=until-found 要素内の対象にスクロールする場合、新しく表示されるコンテンツまでスクロールされるように、ブラウザはその要素から hidden 属性を削除し、その要素に対して beforematch イベントを発行します。詳細については、hidden=until-found で折りたたまれたコンテンツにアクセスできるようにする - Chrome デベロッパーをご覧ください。
hidden
until-found
hidden=until-found
beforematch
オリジン プライベート ファイル システム(File System Access API の一部)が拡張され、データアクセスのパフォーマンスを改善する新たなサーフェスが加わります。この新しいサーフェスは、ファイルの内容へのインプレース書き込みと排他的書き込みを提供するという点で、既存のものとは異なります。この変更は、フラッシュされていない更新を整合性のとれた形で読み取る機能や、専用ワーカーで同期的に同じ処理を行う機能とともに、パフォーマンスを大幅に向上して新たなユースケースの可能性を開くものとなります。
ターゲット サーバーから明示的なパーミッションをリクエストする CORS Preflight リクエストが、サブリソースの Private Network Access のスケジュール前に送信されるようになります。プリフライトが失敗すると DevTools に警告が表示されますが、リクエストはこれまでどおり実行されます。これは、互換性を破る変更にはならない見込みです。ウェブサイトで新しいプリフライト リクエストが無視されたり失敗したりする場合は、これまでどおり動作します。
Private Network Access とは、パブリックなウェブサイトからプライベート IP アドレスや localhost へのリクエスト、またはプライベートなウェブサイト(イントラネットなど)から localhost へのリクエストを指します。プリフライト リクエストを送ることで、ルーターなどのプライベート ネットワーク デバイスに対するクロスサイト リクエスト フォージェリ攻撃のリスクを緩和できます。多くの場合、プライベート ネットワーク デバイスはこのような脅威から保護されていません。
今回のリリースには、Secure Payment Confirmation API への 3 つの変更点が含まれています。具体的には、PaymentMethod() コンストラクタに渡されるデータが変更されます。
PaymentMethod()
data.rpId
data.instrument.iconMustBeShown
data.payeeName
data.payeeOrigin
HID.requestDevice() に渡す options オブジェクトに exclusionFilters プロパティが含まれるようになります(HID には navigator.hid でアクセスできます)。このプロパティを使うと、ブラウザのピッカーから一部のデバイスを除外できます。これを使うことで、正しく動作しないことがわかっているデバイスを除外できます。これまで、デベロッパーはカスタムのコードで選択されたデバイスをテストし、そのデバイスが動作しない場合、別のデバイスを選択するようユーザーに促す必要がありました。exclusionFilters プロパティ(用語はテキストで検索する必要があります)は、既存の options と同じメンバーを持つオブジェクトの配列です。
HID.requestDevice()
navigator.hid
requestDevice() の options 引数の使用方法の例を示します。この例では、最初にベンダー ID 0xABCD でデバイスへのアクセスをリクエストします。このデバイスには、usage ページ コンシューマ(0x000C)と usage ID コンシューマ コントロール(0x0001)のコレクションも含まれている必要があります。プロダクト ID 0x1234 のデバイスは動作していません。
const [device] = await navigator.hid.requestDevice({ filters: [{ vendorId: 0xabcd, usagePage: 0x000c, usage: 0x0001 }], exclusionFilters: [{ vendorId: 0xabcd, productId: 0x1234 }], });
このバージョンの Chrome では、以下のサポートの終了と機能の削除が行われます。現在サポートが終了している機能と以前に削除された機能のリストは、ChromeStatus.com をご覧ください。
サイトで、ユーザー アクティベーションによらない PaymentRequest.show() を呼び出すことはできなくなります。ユーザー アクティベーションによらない PaymentRequest.show() のトリガーを許可すると、悪意のあるウェブサイトによって不正利用される可能性があります。ユーザーを保護するため、ユーザー アクティベーションが必須となるように仕様が変更されました。購入操作が中断されることがないように、このメソッドの呼び出しは click などのユーザー イベントの内部で行ってください。
PaymentRequest.show()
click
Firefox は PaymentRequest に対応していませんが、Safari の実装では、すでに show() の呼び出しにユーザー アクティベーションが必須になっています。
PaymentRequest
show()
WebRTC でセッションを確立するために使われる Session Description Protocol(SDP)は、Chromium では 2 種類の方言 Unified Plan と Plan B によって実装されています。Plan B はクロスブラウザの互換性がないため、削除されます。
このバージョンの Chrome では、Plan B が使われると例外がスローされます。この例外を避ける必要があるデベロッパーは、2022 年 5 月 25 日までの逆トライアルに参加できます。12 月に終了した以前の逆トライアルに参加していて、現在のトライアルにも参加したい方は、新しいトークンをリクエストする必要があります。
学習ツール「Google Cloud Skills Boost」を使って Google Cloud をコミュニティと一緒に学ぶ、無料の初級者向け新プログラムです。今回は BigQuery を中心としたデータ分析に関するラボを扱います。
本プログラム参加者は、Google Cloud Skills Boost を 30 日間無料で利用できます。
Google Cloud Skills Boost を初めてご利用いただく方にもご安心いただけるように、6 月 2 日のキックオフ セッションで使い方を説明し、いくつかのラボを解説つきで実施します。(本セッションは、アーカイブでもご覧いただけます。セッションに参加できなくても、プログラムに参加して学習することは可能です)。
また、学習においての不明点は、期間中に開催されるコミュニティ主催の勉強会やもくもく会に参加してご質問いただけます。そして、Skills Boost のクエストを完了してスキルバッジを取得された方には、先着で Google Cloud 特製グッズなどを獲得できるチャンスがあります。
記念品 :
コミュニティやグループを主催する方、チューターとして参加を希望する方はこちらでご登録ください。また、本プログラムにも必ずご登録ください。
コミュニティ主催の勉強会は随時情報を更新していきます。
イベント概要
GDG およびコミュニティ主催
Google Cloud Study Jam by GCPUG 女子会
日時 : 2022 年 6 月 4 日(土)10:00 ~ 12:00場所 : オンライン (Google Meet)参加費 : 無料定員 : 20 名(先着順)対象 : Google Cloud を学びたい大学生以上の方。男性の参加も OK です!主催 : GCPUG 女子会
日時 : 2022 年 6 月 4 日(土)10:00 ~ 12:00
場所 : オンライン (Google Meet)
定員 : 20 名(先着順)
対象 : Google Cloud を学びたい大学生以上の方。男性の参加も OK です!
主催 : GCPUG 女子会
Google Cloud Study Jam by GCPUG Shonan (Vol.76)
日時 : 2022 年 6 月 8 日(水)19:30 ~ 21:00場所 : 久しぶりのオフ会です!参加費 : 無料定員 : 4 名(先着順)対象 :
日時 : 2022 年 6 月 8 日(水)19:30 ~ 21:00
場所 : 久しぶりのオフ会です!
定員 : 4 名(先着順)
対象 :
GCP の普段知ることができない深いところまで知りたい方GCP に興味のある方GCP の最新情報を知りたい方
主催 : GCPUG 湘南
GCPUG Okayama
日時 : 2022 年 6 月 25 日(土)
詳細は近日公開予定
これから Google Cloud を学びたい方は、ぜひご参加ください。
お申し込みはこちらからお願いします。
特に記載のない限り、下記の変更は Android、Chrome OS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能の詳細については、リンクまたは ChromeStatus.com の一覧でご確認ください。2022 年 3 月 31 日時点で、Chrome 101 はベータ版です。PC 向けの最新版は Google.com で、Android では Google Play ストアでダウンロードできます。
Chrome では、HTTP リクエストでユーザー エージェント文字列によって公開される情報量の削減を試行しています。navigator.userAgent、navigator.appVersion、navigator.platform についても、同様の削減をします。これは、ユーザー エージェント文字列がパッシブなユーザー フィンガープリンティングに使われることを防ぐための措置です。このオリジン トライアルに参加したい方は、Chrome オリジン トライアルのエントリをご覧ください。その他の機能のサポート終了や削除については、本記事の末尾をご覧ください。
navigator.userAgent
navigator.appVersion
navigator.platform
このバージョンの Chrome には、以下のオリジン トライアルが導入されています。オリジン トライアルとして新機能を試して、ユーザビリティ、実用性、有効性についてのフィードバックをウェブ標準コミュニティに提供することができます。以下の項目を含め、現在 Chrome でサポートされているオリジン トライアルに登録するには、Chrome オリジン トライアル ダッシュボードをご覧ください。Chrome のオリジン トライアルの詳細については、ウェブ デベロッパーのためのオリジン トライアル ガイドをご覧ください。Microsoft Edge は、Chrome とは別に独自のオリジン トライアルを行っています。詳細については、Microsoft Edge オリジン トライアル デベロッパー コンソールをご覧ください。
Federated Credential Management API(FedCM)は、プライバシーを保護できる ID フェデレーションを行うためのもので、サードパーティ Cookie のようなクロスサイト トラッキングを使わずに ID フェデレーションのユースケースを継続できるように設計されています。Chrome 101 でこの機能のオリジン トライアルが始まるのは、Android のみです。PC 向けのサポートは、Chrome 後ほど追加する予定です。
Chrome で以前にオリジン トライアルが行われていた以下の機能は、現在デフォルトで有効化されています。
Priority Hints は、リソースの相対的な重要度をブラウザに示し、リソースが読み込まれる順序をより細かくコントロールする方法を提供します。
AudioContext.outputLatency プロパティは、ユーザー エージェントがホスト システムにバッファの再生をリクエストしてから、オーディオ出力デバイスがバッファ内の最初のサンプルを処理するまでの時間を秒数で見積もったものです。スピーカーやヘッドフォンなど、音響シグナルを生成するデバイスの場合、オーディオ出力デバイスが処理する時間とは、サンプルのサウンドが生成された時間です。このプロパティは、デベロッパーが入力と出力の間のレイテンシを補償したい場合に役立ちます。また、動画とオーディオのストリームを同期する際にも便利です。
AudioContext.outputLatency
Firefox では、すでにこのプロパティが実装されています。
font-palette CSS プロパティを使うと、カラーフォントからパレットを選択できます。@font-palette-values at-rule と組み合わせると、カスタム パレットを定義することもできます。この機能は、ダークモードやライトモードでアイコンや絵文字フォントを使うデザインや、コンテンツのカラーパターンと調和させるためにマルチカラー アイコン フォントで font-palette を使う場合に便利です。
font-palette
@font-palette-values
at-rule
HWB(色相、白さ、黒さを表す英語の頭文字)は HSL と同じく、sRGB カラーを指定する方式ですが、人間にとって扱いやすいのは HWB の方です。hwb() 関数を使うと、CSS で HWB 値を指定できます。この関数は、3 つの引数を受け取ります。1 つ目は hue で、色相を角度で指定します(範囲 [0, 360] 以外の数値も利用できます)。残りの 2 つの whiteness と blackness は、パーセントで指定します。
hwb()
hue
whiteness
blackness
この機能は、window.open() の popup 引数の解析に関する最近の仕様変更に従ったものです。これまでは、popup を 'true' に設定すると、window.open() は false を表すものとして解釈していました。これは直感的でなく、混乱を生みます。この変更により、boolean 機能が使いやすく、わかりやすくなります。
window.open()
popup
MediaCapabilities API が拡張され、WebRTC ストリームをサポートします。MediaCapabilities API では、ある設定がサポートされているかどうかや、動画がスムーズに再生できそうかといった情報が提供されます。そのため、ウェブサイトは、動画再生に使うコーデックや解像度などを情報に基づいて決定できます。 この機能がない場合、ウェブアプリは適切な設定を推測するしかないため、解像度やフレームレートが不必要に低くなったり、フレームレートが高すぎるとスタッタリングが発生したりするなど、品質の低下につながる可能性があります。
Secure Payment Confirmation API バージョン 3 に含まれる以下の機能が実装されます。
payeeName
ウェブ デベロッパーは、USBDevice forget() メソッドを使うことで、ユーザーが許可した USBDevice へのパーミッションを自発的に取り消すことができます。
USBDevice
forget()
USBConfiguration、USBInterface、USBAlternateInterface、USBEndpoint インスタンスが厳密なイコール("===")になるのは、同じ USBDevice のアクセッサから取得した場合のみになります。
USBConfiguration
USBInterface
USBAlternateInterface
USBEndpoint
サードパーティ コンテキストでの WebSQL が削除されます。Web SQL Database 標準が最初に提案されたのは 2009 年 4 月で、2010 年 11 月に検討が中止されました。Gecko はこの機能を実装しておらず、WebKit では 2019 年に非推奨となりました。W3C は、代替手段として Web Storage や Indexed Database を推奨しています。
デベロッパーは、WebSQL 自体が非推奨であり、利用率が十分低くなった際に削除される予定であることを想定する必要があります。