Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アクイア認定サイトビルダー試験対策講座 第7回 セキュリティとパフォーマンス / Prep f...
Search
アクイアジャパン Acquia Japan
June 30, 2021
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アクイア認定サイトビルダー試験対策講座 第7回 セキュリティとパフォーマンス / Prep for exam Site Builder vol.7
https://www.acquia.com/jp/resources/webinars/prep-for-exams-site-builder-vol6
アクイアジャパン Acquia Japan
June 30, 2021
More Decks by アクイアジャパン Acquia Japan
See All by アクイアジャパン Acquia Japan
Auth0 by OktaとDrupalで実践!認証付きアプリケーションの新しいアプローチ
acquiajp
0
230
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
270
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
130
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
230
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
56
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
100
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
410
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
110
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
140
Other Decks in Programming
See All in Programming
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
110
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
220
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
230
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.8k
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
910
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
840
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.6k
VibeCodingからAgenticWorkflowへ
starfish719
0
430
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
190
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
400
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.8k
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
600
Between Models and Reality
mayunak
4
390
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
66
57k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
560
Context Engineering - Making Every Token Count
addyosmani
9
1k
Optimizing for Happiness
mojombo
378
71k
Site-Speed That Sticks
csswizardry
13
1.4k
Color Theory Basics | Prateek | Gurzu
gurzu
0
410
Automating Front-end Workflow
addyosmani
1369
210k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
430
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1.1k
Transcript
ΞΫΠΞೝఆαΠτϏϧμʔ ࢼݧରࡦߨ࠲ ୈ7ճ ηΩϡϦςΟͱύϑΥʔϚϯε
ΞΫΠΞೝఆαΠτϏϧμʔ ࢼݧରࡦߨ࠲γϦʔζ – ʮΞΫΠΞೝఆαΠτϏϧμʔ - Drupal 9ʯࢼݧɺίΞϞδϡʔϧ͓Αͼ֦ுϞδϡʔϧ Λ༻ͯ͠DrupalαΠτΛߏங͢ΔϓϩϑΣογϣφϧ͚ͷࢿ֨Ͱ͢ɻ͜ͷࢼݧɺ DrupalαΠτϏϧμʔͷεΩϧɺࣝͷݕূΛతͱͯ͠σβΠϯ͞Ε͍ͯ·͢ɻ –
ຊΣϏφʔɺʮΞΫΠΞೝఆαΠτϏϧμʔ - Drupal 9ʯࢼݧͷग़ൣғΛཏͨ͠ɺ શ7ճͷࢼݧରࡦରࡦߨ࠲Ͱ͢ɻࢼݧ߹֨Λࢦ͢ํͪΖΜɺDrupalΛମܥతʹֶͼͨ ͍ํʹ͓͢͢ΊͰ͢ɻ – DrupalΛҰ௨Γૢ࡞ͨ͜͠ͱ͕͋ΔํΛରͱ͍ͯ͠·͢ɻ·ͩDrupalΛ৮ͬͨ͜ͱ͕ແ ͍ํɺॳ৺ऀ͚DrupalνϡʔτϦΞϧಈըʢຊޠʣΛઌʹݟ͓ͯ͘ͱΑΓཧղ͕ਂ ·Γ·͢ɻ
ຊͷεϐʔΧʔ ΞΫΠΞδϟύϯ ؛ढ़ฌ ιϦϡʔγϣϯΤϯδχΞ ΞΫΠΞδϟύϯ ؙࢁͻ͔Δ ςΫχΧϧτϥϯεϨʔλʔ
ΞδΣϯμ 1. αΠτϏϧμʔ͚ηΩϡϦςΟઃఆ 2. DrupalͷύϑΥʔϚϯε্ରࡦ 3. ࿅श
αΠτϏϧμʔ͚ηΩϡϦςΟઃఆ
αΠτϏϧμʔ͚ηΩϡϦςΟઃఆͷྫ ߦ͏͖ηΩϡϦςΟઃఆ֤αΠτͷཁ݅ʹΑͬͯҟͳΓ·͕͢ɺҰൠతͳͷ Λ͜͜Ͱհ͠·͢ɻ 1. αΠτ๚ऀ͕ࣗͰΞΧϯτΛ࡞Δ͜ͱΛېࢭ͢Δ 2. ϢʔβʔID “1”Λอޢ͢Δ 3. ෆཁͳݖݶ͕༩͞Ε͍ͯͳ͍͔֬ೝ͢Δ
4. αΠτΛ࠷৽ͷঢ়ଶʹอͭ 5. ςετɾ։ൃؔ࿈ϞδϡʔϧΛແޮԽ͢Δ
ΞΧϯτઃఆϖʔδͷʮొͱআʯͰઃఆ – ୭͕ΞΧϯτΛొͰ͖·͔͢ʁ – ཧऀͷΈʹมߋ – ଟ͘ͷαΠτ͜ΕͰOK 1. αΠτ๚ऀ͕ࣗͰΞΧϯτΛ࡞Δ͜ͱΛېࢭ αΠτ๚ऀ͕ࣗͰΞΧϯτΛ࡞Ͱ͖Δ߹ɺBotѱҙͷ͋Δ๚ऀʹΑͬͯෆਖ਼ͳΞΧϯτ͕࡞
͞ΕΔڪΕ͕͋Γ·͢ɻಛʹඞཁͳ߹Λআ͖ɺΞΧϯτ࡞ཧऀͷΈ͕ߦ͑ΔΑ͏ઃఆ͠·͢ɻ
ϢʔβʔϖʔδͰઃఆ 1. ৽͘͠ཧऀϢʔβʔΛ࡞ 2. ϢʔβʔID͕“1”ͷΞΧϯτΛϒϩοΫ ΞΫγϣϯʼબ͞ΕͨϢʔβʔΛϒϩοΫ ҙ – ৽͍͠ཧऀΞΧϯτΛ࡞͢ΔલʹϢʔ
βʔID͕“1”ͷΞΧϯτΛϒϩοΫͯ͠͠·ͬ ͨ߹ɺdrush user:unblock adminͰղআͯ͠ Γ͢ – ·ͨɺdrushͰ৽نϢʔβʔΛ࡞͢Δ 2. ϢʔβʔID “1”Λอޢ͢Δ αΠτΠϯετʔϧ࣌ʹ࡞͢Δ࠷ॳͷϢʔβʔͰɺϢʔβʔID͕“1”ͷΞΧϯτɺಛݖϢʔβʔͰɺׂ ʹΑΔݖݶͷνΣοΫ͕ߦΘΕ·ͤΜɻ͜ͷΞΧϯτID͕ෆਖ਼औಘ͞Εͨ߹ɺαΠτͷશͯͷݖݶΛಘΒ ΕΔͨΊɺϒϩοΫ͠·͢ɻ
ݖݶϖʔδͰઃఆ 1. ಗ໊ϢʔβʔɺೝূࡁΈϢʔβʔͷྻΛ֬ೝ 2. ෆཁͳݖݶ͕༩͞Ε͍ͯΔ߹ʹνΣοΫϘο ΫεΛ֎͢ 3. ϖʔδ࠷ԼͷݖݶͷอଘϘλϯΛΫϦοΫ ҙ –
ಛʹɺಗ໊Ϣʔβʔͷ߹ʹɺϗϫΠτϦετܗ ࣜͰͷݖݶ༩Λߦ͏ɻʢશ͘ݖݶͷͳ͍ঢ়ଶ͔ ΒɺඞཁͳͷͷΈΛ༩ʣ 3. ෆཁͳݖݶ͕༩͞Ε͍ͯͳ͍͔֬ೝ͢Δ ཧऀͰͳ͍ɺಗ໊ϢʔβʔೝূࡁΈϢʔβʔʹෆཁͳݖݶ͕༩͞Ε͍ͯͳ͍͔ ఆظతʹ֬ೝ͠·͢ɻ
ηΩϡϦςΟΞοϓσʔτΛड͚Δํ๏ 1. ϝʔϧ௨ Drupal.orgͰΞΧϯτΛ࡞͠ɺϚΠϖʔδ͔Β [Edit] > [My newsletters] ʹ͋Δ
[Security announcements] ʹνΣοΫΛೖΕͯ [Save] ΛΫϦοΫ 2. RSSϑΟʔυ – Core: https://www.drupal.org/security/rss.xml – Contrib: https://www.drupal.org/security/contrib/rss.xml – Ξφϯε: https://www.drupal.org/security/psa/rss.xml 3. Twitter: @drupalsecurity 4. αΠτΛ࠷৽ͷঢ়ଶʹอͭ ηΩϡϦςΟΞοϓσʔτͷใΛৗʹऔಘ͠ɺαΠτͷঢ়ଶΛ࠷৽ʹอͭ͜ͱͰɺ ੬ऑੑʹରԠ͠·͢ɻ
<ࢀߟใ> DrupalͱϞδϡʔϧͷΞοϓσʔτํ๏ ௨͞ΕͨDrupalͷCoreͱίϯτϦϏϡʔτϞδϡʔϧͷΞοϓσʔτใΛ ͱʹɺιʔείʔυΛΞοϓσʔτ͢ΔࡍҎԼͷखॱʹΑΓComposerͰߦ͍·͢ɻ ίϯτϦϏϡʔτϞδϡʔϧͷΞοϓσʔτखॱ 1. Ξοϓσʔτ͕ඞཁͳϞδϡʔϧΛ֬ೝ͢Δ $
composer outdated "drupal/*" ※ηΩϡϦςΟΞοϓσʔτDrushͰ֬ೝՄೳ $ drush pm:security 1. ରϞδϡʔϧͷΞοϓσʔτΛߦ͏ $ composer update drupal/modulename --with- dependencies ※ϝδϟʔΞοϓσʔτ(ྫɿ1.x ͔Β 2.x)ͷ߹requireίϚϯυ͕ඞཁ $ composer require drupal/modulename:^2.0 1. σʔλϕʔεΛΞοϓσʔτ͢Δ $ drush updatedb 2. ΩϟογϡΛΫϦΞ͢Δ $ drush cache:rebuild Drupal CoreͷΞοϓσʔτखॱ 1. DBͱιʔείʔυͷόοΫΞοϓΛऔಘ͢ΔɻDBDrushίϚϯυͷ drush sql:dumpͰόοΫΞοϓΛ࡞Մೳɻ 2. αΠτΛϝϯςφϯεϞʔυʹ͢ΔʢߦΘͳ͍͜ͱ͋Δʣ 3. ϞδϡʔϧͷΞοϓσʔτΛߦ͏ʢӈهʣ 4. CoreͷΞοϓσʔτΛߦ͏ $ composer update "drupal/core-*" --with-all- dependencies 5. σʔλϕʔεΛΞοϓσʔτ͢Δ $ drush updatedb 6. ΩϟογϡΛΫϦΞ͢Δ $ drush cache:rebuild 7. αΠτͷϝϯςφϯεϞʔυΛղআ͢Δ https://www.drupal.org/docs/updating-drupal/updating- modules-and-themes-using-composer https://www.drupal.org/docs/updating-drupal/updating- drupal-core-via-composer
ຊ൪ڥͰআ͖͢ϞδϡʔϧɾϥΠϒϥϦ 1. DevelϞδϡʔϧ ։ൃΛߦ͏ࡍඞਢͱ͍͑ΔϞδϡʔϧͰ͕͢ɺϢʔ βʔʹෆཁͳใΛ༩͑ͯ͠·͏ڪΕ͕͋ΔͨΊɺຊ൪Ͱ ແޮԽ͘͠আ͠·͢ɻ – ଟ༷ͳσόοάػೳ –
μϛʔίϯςϯπͷ࡞ – Web Profiler(ύϑΥʔϚϯεੳ) 2. Composerͷdrupal/core-devϥΠϒϥϦ PHPUnitBehatͷࣗಈςετΛDrupalͰߦ͏ͨΊͷϥΠ ϒϥϦͰ͢ɻ͠ɺςετΛ࣮ߦͰ͖ΔݖݶΛ࣋ͭϢʔ βʔ͕͍ͨ߹ɺෆਖ਼ʹ࣮ߦ͞ΕΔڪΕ͕͋Γ·͢ɻ 5. ։ൃςετؔ࿈ϞδϡʔϧɾϥΠϒϥϦΛআ͢Δ Drupalʹ։ൃςετΛิॿ͢ΔϞδϡʔϧϥΠϒϥϦ͕ଘࡏ͠·͢ɻ͔͜͠͠ΕΒ ຊ൪ڥͰෆཁͰ͋Γɺѱҙͷ͋Δ߈ܸΛՄೳʹ͢ΔڪΕ͕͋ΔͨΊɺআ͠·͢ɻ composer require࣌ʹ --dev ΦϓγϣϯΛ͚ͭΔ͜ͱͰɺຊ൪ڥͰ composer install --no-dev Λ࣮ߦ͢Δ͜ͱͰ։ൃϥΠϒϥϦΛഉআͰ͖ ·͢ɻ
– αΠτ๚ऀ͕ࣗͰΞΧϯτΛ࡞Δ͜ͱΛېࢭ͢Δ – ϢʔβʔID “1”Λอޢ͢Δ – ෆཁͳݖݶ͕༩͞Ε͍ͯͳ͍͔֬ೝ͢Δ – ηΩϡϦςΟΞοϓσʔτ௨ͷऔಘ –
DrupalͷΞοϓσʔτ – ։ൃऀ༻ϞδϡʔϧͷΞϯΠϯετʔϧ ԋश ͬͯΈΑ͏
DrupalͷύϑΥʔϚϯε্ରࡦ
DrupalͷύϑΥʔϚϯε্ରࡦ ߦ͏͖ηΩϡϦςΟઃఆ֤αΠτͷཁ݅ʹΑͬͯҟͳΓ·͕͢ɺҰൠతͳͷ Λ͜͜Ͱհ͠·͢ɻ 1. Ωϟογϡͷઃఆ 2. CSSͱJSͷू 3. ෆཁͳϞδϡʔϧͷΞϯΠϯετʔϧ 4.
ը૾ͷ࠷దԽ
DrupalͷΩϟογϡྫ 1. Internal Dynamic Page Cache ಗ໊ϢʔβʔɺೝূࡁΈϢʔβʔํʹରͯ͠Ωϟογϡ͞Εͨ ϖʔδΛ৴͢ΔɻʢύʔιφϥΠζ͞Εͨ෦Λআ͘ʣ 2.
Internal Page Cache ಗ໊Ϣʔβʔʹରͯ͠Ωϟογϡ͞ΕͨϖʔδΛDBʹอଘ͠ɺ ৴͢ΔɻΩϟογϡͷ༗ޮظݶ [ڥઃఆ] > [ύϑΥʔϚϯε] ͔Βઃఆɻ 3. Views Cache ViewsͰ࡞ͨ͠Ϧετͷ݁ՌΛΩϟογϡ͢Δɻ ҙ – ্هͷΩϟογϡඪ४Ͱ༗ޮԽ͞Ε͍ͯ·͕͢ɺ։ൃ࣌ʹແޮ Խͨ͠߹ͳͲɺϦϦʔεલʹ༗ޮԽ͢Δඞཁ͕͋Γ·͢ɻ – ଟ͘ͷΩϟογϡϢʔβʔ͕ϩάΠϯ͍ͯ͠ΔͱແޮԽ͞Ε· ͢ɻ 1. Ωϟογϡͷઃఆ Drupalʹଟ༷ͳΩϟογϡγεςϜ͕͋Γ·͢ɻ͜ΕΒΛ༗ޮԽ͢Δ͜ͱͰɺϦΫΤετຖʹൃੜ͢Δෛՙͷߴ͍ॲཧ ʢDBଓɺઃఆͷಡΈࠐΈɺϢʔβʔηογϣϯͷॳظԽʣΛܰݮͰ͖·͢ɻ
CSSͱJSϑΝΠϧͷू [ڥઃఆ]ʼ[ύϑΥʔϚϯε]ʼ[ଳҬ෯࠷దԽ] ͷνΣοΫϘοΫεʹνΣο ΫΛೖΕɺߏΛอଘ ҙ CSSͱJSϑΝΠϧΛूͷରͱ͢ΔͨΊʹɺϑΝΠϧΛςʔϚ·ͨϞ δϡʔϧͷ *.libraries.yml Ͱఆٛ͠ɺಡΈࠐ·ͤΔඞཁ͕͋Γ·͢ɻςϯϓ
ϨʔτʹϑΝΠϧͷϦϯΫΛهड़͢ΔͷόουϓϥΫςΟεͰ͢ɻ 2. CSSͱJSͷू DrupalͰଟͷCSSϑΝΠϧͱJSϑΝΠϧΛऔΓѻ͍·͢ɻ ͜ΕΒू͢Δ͜ͱͰ1ͭͷʢ·ͨগͷʣϑΝΠϧͱͳΓɺϦΫΤετճΛݮͰ͖·͢ɻ ूલ 100ϑΝΠϧ ूޙ 3ϑΝΠϧ
3. ෆཁͳϞδϡʔϧͷΞϯΠϯετʔϧ ར༻͍ͯ͠ͳ͍Ϟδϡʔϧ͕༗ޮԽ͞Ε͍ͯΔ߹ɺDrupal͕ىಈʢbootstrapʣͨ͠ࡍʹɺ ϑΝΠϧ͕ಡΈࠐ·ΕΔͨΊɺॲཧ͕͘ͳΓ·͢ɻ ϞδϡʔϧͷΞϯΠϯετʔϧ [ػೳ֦ு]ʼ[ΞϯΠϯετʔϧ] ͔ΒɺΞϯΠϯ ετʔϧ͍ͨ͠ϞδϡʔϧʹνΣοΫΛೖΕɺ ϖʔδ࠷ԼͷΞϯΠϯετʔϧϘλϯΛΫϦο
Ϋ͠·͢ɻ
4. ը૾ͷ࠷దԽ DrupalͰը૾ελΠϧػೳΛར༻͢Δ͜ͱͰɺΞοϓϩʔυͨ͠ը૾ΛॖখτϦϛϯά͢Δ͜ͱͰɺϩʔυ͢Δը૾ ͷ༰ྔΛݮ͢Δ͜ͱ͕Ͱ͖·͢ɻ ը૾ελΠϧΛద༻͍ͯ͠ͳ͍ը૾Λදࣔ͢ΔͱɺΞοϓϩʔυͨ͠ࡍͷαΠζʢ5MBɺ10MBͰʣͰදࣔ͞ΕΔͨ ΊɺಡΈࠐΈ͕͘ͳΓ·͢ɻ ΦϦδφϧը૾ʢ1.2 MBʣ ΤϑΣΫτΛՃ •
֦ுͱτϦϛϯά • εέʔϧ αΠζΛ࠷దԽ 250 KB 200 KB
– Ωϟογϡͷઃఆ – CSSͱJSͷू – ෆཁͳϞδϡʔϧͷΞϯΠϯετʔϧ – ը૾ͷ࠷దԽ ԋश ͬͯΈΑ͏
࿅श
࿅श1 ίʔϙϨʔταΠτΛߏஙͯ͠ެ։ͨ͠ͱ͜Ζɺ֮͑ͷͳ͍Ϣʔβʔ͕ଟՃ͞Ε͍ͯ·ͨ͠ɻ͜ͷαΠτʹձһ ػೳ͋Γ·ͤΜɻ ͜ͷΑ͏ͳBotѱҙͷ͋Δ๚ऀʹΑΔΞΧϯτ࡞Λ͙࠷దͳํ๏Λબ͍ͯͩ͘͠͞ɻ 1. ༻͍ͯ͠ΔςʔϚʹ͋Δձһొ༻ϑΥʔϜͷςϯϓϨʔτΛআ͢Δɻ 2. ϢʔβʔҰཡΛఆظతʹ֬ೝ͠ɺݟ֮͑ͷͳ͍ϢʔβʔΛআ͢Δɻ 3. ڥઃఆʼΞΧϯτͷઃఆ͔ΒΞΧϯτΛొͰ͖ΔׂΛཧऀͷΈʹ͢Δɻ
4. ΧελϜϞδϡʔϧΛ࡞͠ɺձһొϑΥʔϜΛແޮԽ͢Δɻ
࿅श1 ίʔϙϨʔταΠτΛߏஙͯ͠ެ։ͨ͠ͱ͜Ζɺ֮͑ͷͳ͍Ϣʔβʔ͕ଟՃ͞Ε͍ͯ·ͨ͠ɻ͜ͷαΠτʹձһ ػೳ͋Γ·ͤΜɻ ͜ͷΑ͏ͳBotѱҙͷ͋Δ๚ऀʹΑΔΞΧϯτ࡞Λ͙࠷దͳํ๏Λબ͍ͯͩ͘͠͞ɻ 1. ༻͍ͯ͠ΔςʔϚʹ͋Δձһొ༻ϑΥʔϜͷςϯϓϨʔτΛআ͢Δɻ 2. ϢʔβʔҰཡΛఆظతʹ֬ೝ͠ɺݟ֮͑ͷͳ͍ϢʔβʔΛআ͢Δɻ 3. ڥઃఆʼΞΧϯτͷઃఆ͔ΒΞΧϯτΛొͰ͖ΔׂΛཧऀͷΈʹ͢Δɻ
4. ΧελϜϞδϡʔϧΛ࡞͠ɺձһొϑΥʔϜΛແޮԽ͢Δɻ ਖ਼ղɿ3
࿅श2 ࣍ͷ͏ͪɺDrupalͷύϑΥʔϚϯε্ʹد༩͢ΔઃఆΛશͯબ͍ͯͩ͘͠͞ɻ ʢ3ͭબ͍ͯͩ͘͠͞ɻʣ 1. CSSɺJSϑΝΠϧΛू͢Δɻ 2. ಗ໊ϢʔβʔɺೝূࡁΈϢʔβʔʹ༩͞Ε͍ͯΔෆཁͳݖݶΛআ͢Δɻ 3.
දࣔ͢Δը૾ʹը૾ελΠϧΛద༻͢Δɻ 4. ෆཁͳϞδϡʔϧΛΞϯΠϯετʔϧ͢Δɻ
࿅श2 ࣍ͷ͏ͪɺDrupalͷύϑΥʔϚϯε্ʹد༩͢ΔઃఆΛશͯબ͍ͯͩ͘͠͞ɻ ʢ3ͭબ͍ͯͩ͘͠͞ɻʣ 1. CSSɺJSϑΝΠϧΛू͢Δɻ 2. ಗ໊ϢʔβʔɺೝূࡁΈϢʔβʔʹ༩͞Ε͍ͯΔෆཁͳݖݶΛআ͢Δɻ 3.
දࣔ͢Δը૾ʹը૾ελΠϧΛద༻͢Δɻ 4. ෆཁͳϞδϡʔϧΛΞϯΠϯετʔϧ͢Δɻ ਖ਼ղɿ1, 3, 4
DrupalͷΩϟογϡʹؔ͢ΔҎԼͷهड़Ͱɺਖ਼͍͠ͷΛͯ͢બ͍ͯͩ͘͠͞ɻ ʢ2ͭબ͍ͯͩ͘͠͞ɻʣ 1. DrupalʹΩϟογϡػೳͳ͘ɺ֎෦ͷCDNͰϖʔδΛΩϟογϡ͢Δඞཁ͕͋Δɻ 2. DrupalͷΩϟογϡػೳVarnishͷΩϟογϡαʔόʔ͕ͳͯ͘ར༻Ͱ͖Δɻ 3. ೝূࡁΈϢʔβʔʹΑΔϦΫΤετͰɺΩϟογϡͯ͢ແޮԽ͞ΕΔɻ
4. Drupalʹඪ४ػೳͰΩϟογϡػೳ͕͋Δ͕ɺΠϯετʔϧޙແޮԽ͞Ε͍ͯΔͨΊɺຊ൪ެ։લʹ༗ޮԽ͢Δ ඞཁ͕͋Δɻ 5. ϖʔδશମͷΩϟογϡͷଞʹɺಈతϖʔδͷҰ෦ΛΩϟογϡ͢Δ͜ͱ͕Ͱ͖Δɻ ࿅श3
DrupalͷΩϟογϡʹؔ͢ΔҎԼͷهड़Ͱɺਖ਼͍͠ͷΛͯ͢બ͍ͯͩ͘͠͞ɻ ʢ2ͭબ͍ͯͩ͘͠͞ɻʣ 1. DrupalʹΩϟογϡػೳͳ͘ɺ֎෦ͷCDNͰϖʔδΛΩϟογϡ͢Δඞཁ͕͋Δɻ 2. DrupalͷΩϟογϡػೳVarnishͷΩϟογϡαʔόʔ͕ͳͯ͘ར༻Ͱ͖Δɻ 3. ೝূࡁΈϢʔβʔʹΑΔϦΫΤετͰɺΩϟογϡͯ͢ແޮԽ͞ΕΔɻ
4. Drupalʹඪ४ػೳͰΩϟογϡػೳ͕͋Δ͕ɺΠϯετʔϧޙແޮԽ͞Ε͍ͯΔͨΊɺຊ൪ެ։લʹ༗ޮԽ͢Δ ඞཁ͕͋Δɻ 5. ϖʔδશମͷΩϟογϡͷଞʹɺಈతϖʔδͷҰ෦ΛΩϟογϡ͢Δ͜ͱ͕Ͱ͖Δɻ ࿅श3 ਖ਼ղɿ2, 5
ຊͷΞδΣϯμऴྃ
ΞδΣϯμ 1. αΠτϏϧμʔ͚ηΩϡϦςΟઃఆ 2. DrupalͷύϑΥʔϚϯε্ରࡦ 3. ࿅श
None