Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
アクイア認定サイトビルダー試験対策講座 第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
240
Drupal 10.3の新機能紹介ウェビナー
acquiajp
0
290
DrupalCon Portland 2024 総まとめウェビナー
acquiajp
0
140
開発者必見!Acquia Cloud IDEで最高のDrupal開発を始めよう
acquiajp
0
250
触って学ぶ!デジタルアセット管理 Acquia DAM ハンズオンウェビナー
acquiajp
0
61
DrupalCon Lille 2023 総まとめウェビナー
acquiajp
0
120
コンテンツ設計手法で変更に強いアプリケーションを実現する〜ローコードによるWebアプリのバックエンド実装 #CNDF2023
acquiajp
0
410
DrupalCon Pittsburgh 2023 総まとめウェビナー
acquiajp
0
110
Acquia製品概要&Site Studioデモのご紹介
acquiajp
0
150
Other Decks in Programming
See All in Programming
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
360
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
450
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
350
contenteditable と日本語入力に向き合う
colorful12
0
110
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
140
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.5k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
470
Domain-Driven Transformation
hschwentner
2
2.3k
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
270
Jetpack Compose Mechanisms
skydoves
2
370
Heart of Swift Concurrency
koher
0
1.2k
Simple Storage Service(S3) is not simple
iwatsukayura
0
190
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.2k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
620
Mobile First: as difficult as doing things right
swwweet
225
10k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Design in an AI World
tapps
1
350
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
430
So, you think you're a good person
axbom
PRO
2
2.2k
4 Signs Your Business is Dying
shpigford
187
23k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
560
Six Lessons from altMBA
skipperchong
29
4.5k
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