プライム・ストラテジー「KUSANAGI」開発チームの謝です。
先日は同じチームの福田から「PST ManagerからKUSANAGIコマンドを実行してみる」の記事がありましたが、
記事は最後にPSTを有効化する方法を紹介しました。
今回の記事はPST Managerからリソース最適化の設定変更または実行時に対応しているコンフィグ(pst.config.yaml)に変更された箇所とPSTコマンドを紹介します。
リソース最適化について
リリース最適化はWebページに含まれる画像やスタイルシート、JavaScriptなどのスクリプトを圧縮、軽量化することです。
画像やスタイルシート、JavaScriptはそれぞれとういう最適化処理しているか、少し簡単に説明します。
- JavaScriptはコードの整理、ミニファイなどを行います。
- スタイルシートはコードの整理、ミニファイなどを行います。
JavaScriptの最適化処理と似ていますが、もちろん利用している最適化エンジンが違います。 - 画像は圧縮、次世代フォーマット変更などを行います。
上記過程中に生成した画像をABテスト行い、最も軽いものを選択します。
最適化済みリソースはどこにありますか
例:
WordPress管理画面の「メディア」ページで「wexal.png」という画像をアップロードしました。
元のファイルはドキュメントルートの「wp-content/uploads」フォルダにファイルをアップロードされました。
最適化済ファイルは最適化済ファイル保存用フォルダに同じファイル名前の最適化済ファイルと次世代フォーマットファイルを生成します。
※元のファイル
# ls -l /home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/wexal.png
-rw-rw-r--. 1 httpd www 44756 9月 21 16:10 /home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/wexal.png
※元のファイルから生成した最適化ファイル
※/home/kusanagi/wexal/DocumentRoot/_wexalは/home/kusanagi/wexal/wexal/optdir/のシンボリックです。
# ls -l /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png*
-rw-r--r--. 1 root root 4290 9月 21 16:10 /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal-150x150.png
-rw-r--r--. 1 root root 4854 9月 21 16:10 /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal-150x150.png.webp
事前説明
- pst init済みしたプロファイル
PST Managerの左メニューにpst init済みプロファイルはW文字に緑の背景色のアイコンを付いています。 - 「リリース最適化」ページ
PSTプロファイルメニューに「リリース最適化」メニューをクリックすると、「リリース最適化」ページが開きます。
これから特別な説明がなければ、全部こちらのページ内の説明や操作になります。 - pstコンフィグパス: /home/kusanagi/profile名/wexal/pst.config.yaml
リソース最適化の有効・無効
PST Managerから最適化対象の有効・無効と画像の圧縮レベルを設定します。
最適化対象を設定
「リリース最適化」ページの「リソース最適化」ブロックの「最適化戦略」項目に最適化対象の有効・無効を設定できます。
画像、CSS(スタイルシート)、JS(JavaScript)のチェックボックスを外し、「設定を保存」ボタンをクリックすれば、チェックを外したタイプが最適化対象外になります。
「画像圧縮レベル」項目は画像最適化を有効している時のみ設定できます。
有効時と無効時にPSTコンフィグのwordker部分のimages、stylesheets、scriptsに設定した詳細値が空([])になっていることがわかります。
各リソース最適化を有効している
~省略~
worker:
images:
- cmd: optimize
args:
formats:
- png
- jpg
- gif
- webp
resize: 1920x1080
quality: 80
strip: true
gif_lossy: 80
webp_lossy: 75
apply:
- .
exclude:
- ''
stylesheets:
- cmd: optimize
args: []
apply:
- .
exclude:
- ''
scripts:
- cmd: optimize
args: []
apply:
- .
exclude:
- ''
~省略~
各リソース最適化を無効している
~省略~
worker:
images: []
stylesheets: []
scripts: []
~省略~
最適化除外を設定
最適化除外は最適化対象に含めないディレクトリの指定です。
PST Managerの「リソース最適化」ページの「リリース最適化」ブロックの「除外」項目に設定できます。
デフォルト既に一部パスを設定しましたが、自分で除外したディレクトリやファイルが追加したいなら、こちらで追加できます。
指定しているパスは絶対パスになっていますが、ルートパスはプロファイルのドキュメントルート(/home.kusanagi/profile名/DocumentRoot)になるのため、OSのルート(/)パスではありません。
こちらの設定対応しているpstコンフィグはglobal_excludeの部分になります。
~省略~
global_exclude:
- /_wexal
- ~$
- /\.
- /wp-admin
- /wp-includes
- /wp-content/upgrade
- /wp-json
- /wp-content/plugins
- /wp-[^/]+\.php
~省略~
リソースの最適化
リソースの最適化は指定フォルダ配下のリリースにリソース最適化を実行します。
PST Managerの操作方法はPST Managerの「リリース最適化」ページを開き、「リソース最適化」ブロックの「リソース最適化」項目に対象フォルダ「/wp-content/uploads/2023/09/」を入力し、「リソース最適化を最適化」ボタンクリックすれば、対象フォルダのリソースに最適化を行います。
※他の最適化を実行中に入力したものを最優先で最適化を行いたい場合、「最優先でリソースを最適化」をチェックしてください。
例:指定フォルダ「/home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/」のリソースの最適化を実行します。
元ファルダと最適化リソース保存フォルダの最適化を実行前に状態です。
確認の結果からみると対象フォルダのリソースの最適化済リリースがないことが確認できました。
# ls -l /home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/
合計 232
-rw-rw-r--. 1 httpd www 2626 9月 21 17:32 optimize-setting-150x150.png
-rw-rw-r--. 1 httpd www 2339 9月 21 16:10 optimize-setting-2-150x150.png
-rw-rw-r--. 1 httpd www 9596 9月 21 16:10 optimize-setting-2-300x107.png
-rw-rw-r--. 1 httpd www 36045 9月 21 16:10 optimize-setting-2-768x274.png
-rw-rw-r--. 1 httpd www 19969 9月 21 16:10 optimize-setting-2.png
-rw-rw-r--. 1 httpd www 9742 9月 21 17:32 optimize-setting-300x105.png
-rw-rw-r--. 1 httpd www 36586 9月 21 17:32 optimize-setting-768x269.png
-rw-rw-r--. 1 httpd www 20358 9月 21 17:32 optimize-setting.png
-rw-rw-r--. 1 httpd www 14340 9月 21 16:10 wexal-150x150.png
-rw-rw-r--. 1 httpd www 26640 9月 21 16:10 wexal-300x159.png
-rw-rw-r--. 1 httpd www 44756 9月 21 16:10 wexal.png
# ls -l /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/
ls: '/home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/' にアクセスできません: そのようなファイルやディレクトリはありません
PST Managerから指定フォルダのリソース最適化を実行します。
最適化を実行した後に最適化リソース保存フォルダの状態です。
最適化済リソースが作成されたことが確認できます。
# ls -l /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/
合計 172
-rw-r--r--. 1 root root 1024 9月 21 17:32 optimize-setting-150x150.png
-rw-r--r--. 1 root root 590 9月 21 17:32 optimize-setting-150x150.png.webp
-rw-r--r--. 1 root root 816 9月 21 16:10 optimize-setting-2-150x150.png
-rw-r--r--. 1 root root 522 9月 21 16:10 optimize-setting-2-150x150.png.webp
-rw-r--r--. 1 root root 2658 9月 21 16:10 optimize-setting-2-300x107.png
-rw-r--r--. 1 root root 1808 9月 21 16:10 optimize-setting-2-300x107.png.webp
-rw-r--r--. 1 root root 9941 9月 21 16:10 optimize-setting-2-768x274.png
-rw-r--r--. 1 root root 8504 9月 21 16:10 optimize-setting-2-768x274.png.webp
-rw-r--r--. 1 root root 5816 9月 21 16:10 optimize-setting-2.png
-rw-r--r--. 1 root root 10502 9月 21 16:10 optimize-setting-2.png.webp
-rw-r--r--. 1 root root 2645 9月 21 17:32 optimize-setting-300x105.png
-rw-r--r--. 1 root root 1904 9月 21 17:32 optimize-setting-300x105.png.webp
-rw-r--r--. 1 root root 10665 9月 21 17:32 optimize-setting-768x269.png
-rw-r--r--. 1 root root 8712 9月 21 17:32 optimize-setting-768x269.png.webp
-rw-r--r--. 1 root root 6170 9月 21 17:32 optimize-setting.png
-rw-r--r--. 1 root root 11160 9月 21 17:32 optimize-setting.png.webp
-rw-r--r--. 1 root root 4290 9月 21 16:10 wexal-150x150.png
-rw-r--r--. 1 root root 4854 9月 21 16:10 wexal-150x150.png.webp
-rw-r--r--. 1 root root 8145 9月 21 16:10 wexal-300x159.png
-rw-r--r--. 1 root root 8674 9月 21 16:10 wexal-300x159.png.webp
-rw-r--r--. 1 root root 15396 9月 21 16:10 wexal.png
コマンドで実行する場合は下記コマンドを実行してください。
#pst opt all --path /wp-content/uploads/2023/09/
全てのリソースに最適化を行いたい場合「リソース最適化」項目に「/」を入力すれば、全てのリソースに最適化を実行します。
コマンドはオプション「--path /
」を省略することができます。
#pst opt all
※コマンドで「最優先でリソースを最適化」を行いたい場合はオプション「--priority
」を付けてください。
最適化済リソースの削除
最適化済リソースの削除は下記の3パターンを対応しています。
- 指定した期間より古い最適化済リソースの削除
- 指定フォルダの最適化済リソースの削除
- 最適化除外の最適化済リソースの削除
指定した期間より古い最適化済リソースの削除
こちらの期間の指定は、数値と日時単位(年、ヶ月、週、日、時、分、秒)の組み合わせで指定します。年は365日、ヶ月は30日で固定されています。
例:2ヶ月は60日前になります。
PST Managerの操作方法は「リリース最適化」ページの右の「最適化済リソースの削除」ブロックの「期間指定して最適化済リソースを削除」項目に数値を入力と日時単位を選択し、「より古いリソースを削除」ボタンをクリックします。
例:一日前より古い最適化済リソースの削除を実行します。
削除を実行前に各リソースの状態です。
元ファイルの最適化済リリースが存在していることが確認できました。
# date
2023年 9月 26日 水曜日 16:29:22 JST
# ls -l /home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/wexal.png
-rw-rw-r--. 1 httpd www 44756 9月 21 16:10 /home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/wexal.png
# ls -l /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png*
-rw-r--r--. 1 root root 15396 9月 21 16:10 /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png
-rw-r--r--. 1 root root 24022 9月 21 16:10 /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png.webp
PST Managerから期間指定で最適化済リソースの削除を行います。
削除を実行後
最適化済リリースがなくなっていたことが確認できました。
# ls -l /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png*
ls: '/home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png*' にアクセスできません: そのようなファイルやディレクトリはありません
コマンドで実行する場合は下記コマンドを実行してください。
#pst purge expires --period 1d
期間の指定について一つ注意点があります。最適化済リソースの編集時間は元ファイルの編集時間に合わせているのため、ファイルの作成時間と編集時間一致しない場合があります。
元ファイルの時間は2023年9月21日です。リソース最適化を実行したは本日2023年9月26日です。最適化済リソースの作成時間は2023年9月26日ですが、編集時間は元ファイルを合わせているため、編集時間は2023年9月21日です。
そこで1日前の最適化済リソースを削除を実行すると、編集時間は2023年9月21日の最適化済リソースが削除されます。
# ls -l /home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/wexal.png
-rw-rw-r--. 1 httpd www 44756 9月 21 16:10 /home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/wexal.png
# ls -l /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png*
-rw-r--r--. 1 root root 15396 9月 21 16:10 /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png
-rw-r--r--. 1 root root 24022 9月 21 16:10 /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png.webp
# stat /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png
File: /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/wexal.png
Size: 15396 Blocks: 32 IO Block: 4096 通常ファイル
Device: 802h/2050d Inode: 33730054 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:tmp_t:s0
Access: 2023-09-26 17:08:45.152576880 +0900
Modify: 2023-09-21 16:10:12.275058984 +0900
Change: 2023-09-26 17:08:40.606644206 +0900
Birth: 2023-09-26 17:08:40.449646532 +0900
指定フォルダの最適化済リソースの削除
こちらはシンプルで指定されたフォルダの最適化済リソースの削除を実行します。
PST Managerの操作方法は「リリース最適化」ページの右の「最適化済リソースの削除」ブロックの「リソース指定して最適化済リソースを削除」項目にディレクトリまたはファイルパスを入力、「最適化済リソースを削除」ボタンをクリックします。
例:「/home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/」配下の最適化済リソースを削除します。
削除を実行前に各リソースの状態
各元ファイルの最適化済リソースが存在していることが確認できました。
# ls -l /home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/
合計 232
-rw-rw-r--. 1 httpd www 2626 9月 21 17:32 optimize-setting-150x150.png
-rw-rw-r--. 1 httpd www 2339 9月 21 16:10 optimize-setting-2-150x150.png
-rw-rw-r--. 1 httpd www 9596 9月 21 16:10 optimize-setting-2-300x107.png
-rw-rw-r--. 1 httpd www 36045 9月 21 16:10 optimize-setting-2-768x274.png
-rw-rw-r--. 1 httpd www 19969 9月 21 16:10 optimize-setting-2.png
-rw-rw-r--. 1 httpd www 9742 9月 21 17:32 optimize-setting-300x105.png
-rw-rw-r--. 1 httpd www 36586 9月 21 17:32 optimize-setting-768x269.png
-rw-rw-r--. 1 httpd www 20358 9月 21 17:32 optimize-setting.png
-rw-rw-r--. 1 httpd www 14340 9月 21 16:10 wexal-150x150.png
-rw-rw-r--. 1 httpd www 26640 9月 21 16:10 wexal-300x159.png
-rw-rw-r--. 1 httpd www 44756 9月 21 16:10 wexal.png
# ls -l /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/
合計 196
-rw-r--r--. 1 root root 1024 9月 21 17:32 optimize-setting-150x150.png
-rw-r--r--. 1 root root 590 9月 21 17:32 optimize-setting-150x150.png.webp
-rw-r--r--. 1 root root 816 9月 21 16:10 optimize-setting-2-150x150.png
-rw-r--r--. 1 root root 522 9月 21 16:10 optimize-setting-2-150x150.png.webp
-rw-r--r--. 1 root root 2658 9月 21 16:10 optimize-setting-2-300x107.png
-rw-r--r--. 1 root root 1808 9月 21 16:10 optimize-setting-2-300x107.png.webp
-rw-r--r--. 1 root root 9941 9月 21 16:10 optimize-setting-2-768x274.png
-rw-r--r--. 1 root root 8504 9月 21 16:10 optimize-setting-2-768x274.png.webp
-rw-r--r--. 1 root root 5816 9月 21 16:10 optimize-setting-2.png
-rw-r--r--. 1 root root 10502 9月 21 16:10 optimize-setting-2.png.webp
-rw-r--r--. 1 root root 2645 9月 21 17:32 optimize-setting-300x105.png
-rw-r--r--. 1 root root 1904 9月 21 17:32 optimize-setting-300x105.png.webp
-rw-r--r--. 1 root root 10665 9月 21 17:32 optimize-setting-768x269.png
-rw-r--r--. 1 root root 8712 9月 21 17:32 optimize-setting-768x269.png.webp
-rw-r--r--. 1 root root 6170 9月 21 17:32 optimize-setting.png
-rw-r--r--. 1 root root 11160 9月 21 17:32 optimize-setting.png.webp
-rw-r--r--. 1 root root 4290 9月 21 16:10 wexal-150x150.png
-rw-r--r--. 1 root root 4854 9月 21 16:10 wexal-150x150.png.webp
-rw-r--r--. 1 root root 8145 9月 21 16:10 wexal-300x159.png
-rw-r--r--. 1 root root 8674 9月 21 16:10 wexal-300x159.png.webp
-rw-r--r--. 1 root root 15396 9月 21 16:10 wexal.png
-rw-r--r--. 1 root root 24022 9月 21 16:10 wexal.png.webp
PST Managerから指定フォルダの最適化済リソースの削除を行います。
最適化済リソースの削除を実行後の各フォルダ状態
# ls -l /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/
ls: '/home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/' にアクセスできません: そのようなファイルやディレクトリはありません
コマンドで実行する場合は下記コマンドを実行してください。
# pst purge all --path /wp-content/uploads/2023/09/ -y
全てのリソースに最適化済リソースの削除を行う場合、「リソース指定して最適化済リソースを削除」項目に「/」を入力すれば、全てのリソースに最適化済リソースの削除を実行します。
コマンドはオプション「--path /
」を省略することができます。
#pst purge all -y
最適化除外の最適化済リソースの削除
こちらは何らかの理由によって最適化対象から除外された最適化済リソース、元ファイル存在しない最適化済リソース、元のファイルよりも古い最適化済リソースの削除を実行します。
PST Managerの操作方法は「リリース最適化」ページの右の「最適化済リソースの削除」ブロックの「リソース指定して最適化済リソースを削除」項目にディレクトリまたはファイルパスを入力、「最適化除外リソースのみ削除」をチェック、「最適化済リソースを削除」ボタンをクリックします。
例:「/home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/wexal.png」という元ファイルは削除され、最適化済リソースは残っている状態です。ゴミになっている最適化済リソースを削除します。
元ファイルがない、最適済リソースがあるの状態です。
最適化済リソースにwexal.pngとoptimize-setting-2.pngの関連ファイルがありますが、元ファイルがなくなったことが確認できました。
# ls -l /home/kusanagi/wexal/DocumentRoot/wp-content/uploads/2023/09/
合計 72
-rw-rw-r--. 1 httpd www 2626 9月 21 17:32 optimize-setting-150x150.png
-rw-rw-r--. 1 httpd www 9742 9月 21 17:32 optimize-setting-300x105.png
-rw-rw-r--. 1 httpd www 36586 9月 21 17:32 optimize-setting-768x269.png
-rw-rw-r--. 1 httpd www 20358 9月 21 17:32 optimize-setting.png
# ls -l /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/
合計 196
-rw-r--r--. 1 root root 1024 9月 21 17:32 optimize-setting-150x150.png
-rw-r--r--. 1 root root 590 9月 21 17:32 optimize-setting-150x150.png.webp
-rw-r--r--. 1 root root 816 9月 21 16:10 optimize-setting-2-150x150.png
-rw-r--r--. 1 root root 522 9月 21 16:10 optimize-setting-2-150x150.png.webp
-rw-r--r--. 1 root root 2658 9月 21 16:10 optimize-setting-2-300x107.png
-rw-r--r--. 1 root root 1808 9月 21 16:10 optimize-setting-2-300x107.png.webp
-rw-r--r--. 1 root root 9941 9月 21 16:10 optimize-setting-2-768x274.png
-rw-r--r--. 1 root root 8504 9月 21 16:10 optimize-setting-2-768x274.png.webp
-rw-r--r--. 1 root root 5816 9月 21 16:10 optimize-setting-2.png
-rw-r--r--. 1 root root 10502 9月 21 16:10 optimize-setting-2.png.webp
-rw-r--r--. 1 root root 2645 9月 21 17:32 optimize-setting-300x105.png
-rw-r--r--. 1 root root 1904 9月 21 17:32 optimize-setting-300x105.png.webp
-rw-r--r--. 1 root root 10665 9月 21 17:32 optimize-setting-768x269.png
-rw-r--r--. 1 root root 8712 9月 21 17:32 optimize-setting-768x269.png.webp
-rw-r--r--. 1 root root 6170 9月 21 17:32 optimize-setting.png
-rw-r--r--. 1 root root 11160 9月 21 17:32 optimize-setting.png.webp
-rw-r--r--. 1 root root 4290 9月 21 16:10 wexal-150x150.png
-rw-r--r--. 1 root root 4854 9月 21 16:10 wexal-150x150.png.webp
-rw-r--r--. 1 root root 8145 9月 21 16:10 wexal-300x159.png
-rw-r--r--. 1 root root 8674 9月 21 16:10 wexal-300x159.png.webp
-rw-r--r--. 1 root root 15396 9月 21 16:10 wexal.png
-rw-r--r--. 1 root root 24022 9月 21 16:10 wexal.png.webp
PST Managerから最適化除外リソースの削除を実行します。
除外リソースのみ削除を実行した後
元ファイル存在しないの最適化済リソースのwexal.pngとoptimize-setting-2.png関連ファイルがなくなったが、元ファイルがある「optimize-setting.png」ファイルは最適化済リソースを残ったままになっています。
# ls -l /home/kusanagi/wexal/DocumentRoot/_wexal/wp-content/uploads/2023/09/
合計 60
-rw-r--r--. 1 root root 1024 9月 21 17:32 optimize-setting-150x150.png
-rw-r--r--. 1 root root 590 9月 21 17:32 optimize-setting-150x150.png.webp
-rw-r--r--. 1 root root 2645 9月 21 17:32 optimize-setting-300x105.png
-rw-r--r--. 1 root root 1904 9月 21 17:32 optimize-setting-300x105.png.webp
-rw-r--r--. 1 root root 10665 9月 21 17:32 optimize-setting-768x269.png
-rw-r--r--. 1 root root 8712 9月 21 17:32 optimize-setting-768x269.png.webp
-rw-r--r--. 1 root root 6170 9月 21 17:32 optimize-setting.png
-rw-r--r--. 1 root root 11160 9月 21 17:32 optimize-setting.png.webp
コマンドで実行する場合は下記コマンドを実行してください。
# pst purge excluded --path /wp-content/uploads/2023/09/ -y
元ファイル存在しない場合はもちろんこちらで対応できますが、最適化除外に新たなパスを追加した場合もこちらの操作で除外になっている最適済リソースの削除もできます。
最後に
普段はリソースの新規追加、変更、削除はリアルタイムで監視して、手動でこちらの操作はあまりないかもしれません。
もし何かファイル最適化後の表示は想定よりよくない時に除外を設定したい、除外設定後の古い最適化済リソースを削除したい、または最適化漏れがあるとき再度最適化を行いたい時などにお役に立てれば幸いです。
WEXAL® Page Speed Technologyの詳細については公式ドキュメントを参照してください。