Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アクイア認定サイトビルダー試験対策講座 第7回 セキュリティとパフォーマンス / Prep for exam Site Builder vol.7

アクイア認定サイトビルダー試験対策講座 第7回 セキュリティとパフォーマンス / Prep for exam Site Builder vol.7

Transcript

  1. ΞΫΠΞೝఆαΠτϏϧμʔ ࢼݧରࡦߨ࠲ ୈ7ճ ηΩϡϦςΟͱύϑΥʔϚϯε

  2. ΞΫΠΞೝఆαΠτϏϧμʔ ࢼݧରࡦߨ࠲γϦʔζ – ʮΞΫΠΞೝఆαΠτϏϧμʔ - Drupal 9ʯࢼݧ͸ɺίΞϞδϡʔϧ͓Αͼ֦ுϞδϡʔ ϧΛ࢖༻ͯ͠DrupalαΠτΛߏங͢ΔϓϩϑΣογϣφϧ޲͚ͷࢿ֨Ͱ͢ɻ͜ͷࢼݧ͸ɺ DrupalαΠτϏϧμʔͷεΩϧɺ஌ࣝͷݕূΛ໨తͱͯ͠σβΠϯ͞Ε͍ͯ·͢ɻ –

    ຊ΢ΣϏφʔ͸ɺʮΞΫΠΞೝఆαΠτϏϧμʔ - Drupal 9ʯࢼݧͷग़୊ൣғΛ໢ཏ͠ ͨɺશ7ճͷࢼݧରࡦରࡦߨ࠲Ͱ͢ɻࢼݧ߹֨Λ໨ࢦ͢ํ͸΋ͪΖΜɺDrupalΛମܥతʹ ֶͼ͍ͨํʹ΋͓͢͢ΊͰ͢ɻ – DrupalΛҰ௨Γૢ࡞ͨ͜͠ͱ͕͋ΔํΛର৅ͱ͍ͯ͠·͢ɻ·ͩDrupalΛ৮ͬͨ͜ͱ͕ແ ͍ํ͸ɺॳ৺ऀ޲͚DrupalνϡʔτϦΞϧಈըʢ೔ຊޠʣΛઌʹݟ͓ͯ͘ͱΑΓཧղ͕ ਂ·Γ·͢ɻ
  3. ຊ೔ͷεϐʔΧʔ ΞΫΠΞδϟύϯ 
 ؛ढ़ฌ ιϦϡʔγϣϯΤϯδχΞ ΞΫΠΞδϟύϯ 
 ؙࢁͻ͔Δ ςΫχΧϧτϥϯεϨʔλʔ

  4. ΞδΣϯμ 1. αΠτϏϧμʔ޲͚ηΩϡϦςΟઃఆ 2. DrupalͷύϑΥʔϚϯε޲্ରࡦ 3. ࿅श໰୊

  5. αΠτϏϧμʔ޲͚ηΩϡϦςΟઃఆ

  6. αΠτϏϧμʔ޲͚ηΩϡϦςΟઃఆͷྫ ߦ͏΂͖ηΩϡϦςΟઃఆ͸֤αΠτͷཁ݅ʹΑͬͯҟͳΓ·͕͢ɺҰൠతͳ΋ͷΛ ͜͜Ͱ঺հ͠·͢ɻ 1. αΠτ๚໰ऀ͕ࣗ਎ͰΞΧ΢ϯτΛ࡞Δ͜ͱΛېࢭ͢Δ 2. ϢʔβʔID “1”Λอޢ͢Δ 3. ෆཁͳݖݶ͕෇༩͞Ε͍ͯͳ͍͔֬ೝ͢Δ

    4. αΠτΛ࠷৽ͷঢ়ଶʹอͭ 5. ςετɾ։ൃؔ࿈ϞδϡʔϧΛແޮԽ͢Δ
  7. ΞΧ΢ϯτઃఆϖʔδͷʮొ࿥ͱ࡟আʯͰઃఆ – ୭͕ΞΧ΢ϯτΛొ࿥Ͱ͖·͔͢ʁ – ؅ཧऀͷΈʹมߋ – ଟ͘ͷαΠτ͸͜ΕͰOK 1. αΠτ๚໰ऀ͕ࣗ਎ͰΞΧ΢ϯτΛ࡞Δ͜ͱΛېࢭ αΠτ๚໰ऀ͕ࣗ਎ͰΞΧ΢ϯτΛ࡞੒Ͱ͖Δ৔߹ɺBot΍ѱҙͷ͋Δ๚໰ऀʹΑͬͯෆਖ਼ͳΞΧ΢ϯτ

    ͕࡞੒͞ΕΔڪΕ͕͋Γ·͢ɻಛʹඞཁͳ৔߹Λআ͖ɺΞΧ΢ϯτ࡞੒͸؅ཧऀͷΈ͕ߦ͑ΔΑ͏ઃఆ͠ ·͢ɻ
  8. ϢʔβʔϖʔδͰઃఆ 1. ৽͘͠؅ཧऀϢʔβʔΛ࡞੒ 2. ϢʔβʔID͕“1”ͷΞΧ΢ϯτΛϒϩοΫ 
 ΞΫγϣϯʼબ୒͞ΕͨϢʔβʔΛϒϩοΫ ஫ҙ – ৽͍͠؅ཧऀΞΧ΢ϯτΛ࡞੒͢ΔલʹϢʔβʔ

    ID͕“1”ͷΞΧ΢ϯτΛϒϩοΫͯ͠͠·ͬͨ৔ ߹ɺdrush user:unblock adminͰղআͯ͠΍Γ௚͢ – ·ͨ͸ɺdrushͰ৽نϢʔβʔΛ࡞੒͢Δ 2. ϢʔβʔID “1”Λอޢ͢Δ αΠτΠϯετʔϧ࣌ʹ࡞੒͢Δ࠷ॳͷϢʔβʔͰɺϢʔβʔID͕“1”ͷΞΧ΢ϯτ͸ɺಛݖϢʔβʔͰɺ໾ׂʹΑ ΔݖݶͷνΣοΫ͕ߦΘΕ·ͤΜɻ͜ͷΞΧ΢ϯτID͕ෆਖ਼औಘ͞Εͨ৔߹ɺαΠτͷશͯͷݖݶΛಘΒΕΔͨ ΊɺϒϩοΫ͠·͢ɻ
  9. ݖݶϖʔδͰઃఆ 1. ಗ໊ϢʔβʔɺೝূࡁΈϢʔβʔͷྻΛ֬ೝ 2. ෆཁͳݖݶ͕෇༩͞Ε͍ͯΔ৔߹ʹ͸νΣοΫϘο ΫεΛ֎͢ 3. ϖʔδ࠷ԼͷݖݶͷอଘϘλϯΛΫϦοΫ ஫ҙ –

    ಛʹɺಗ໊Ϣʔβʔͷ৔߹ʹ͸ɺϗϫΠτϦετܗ ࣜͰͷݖݶ෇༩Λߦ͏ɻʢશ͘ݖݶͷͳ͍ঢ়ଶ͔ Βɺඞཁͳ΋ͷͷΈΛ෇༩ʣ 3. ෆཁͳݖݶ͕෇༩͞Ε͍ͯͳ͍͔֬ೝ͢Δ ؅ཧऀͰͳ͍ɺಗ໊Ϣʔβʔ΍ೝূࡁΈϢʔβʔʹෆཁͳݖݶ͕෇༩͞Ε͍ͯͳ͍͔ 
 ఆظతʹ֬ೝ͠·͢ɻ
  10. ηΩϡϦςΟΞοϓσʔτΛड͚Δํ๏ 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. αΠτΛ࠷৽ͷঢ়ଶʹอͭ ηΩϡϦςΟΞοϓσʔτͷ৘ใΛৗʹऔಘ͠ɺαΠτͷঢ়ଶΛ࠷৽ʹอͭ͜ͱͰɺ 
 ੬ऑੑʹରԠ͠·͢ɻ
  11. <ࢀߟ৘ใ> 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ͱιʔείʔυͷόοΫΞοϓΛऔಘ͢ΔɻDB͸DrushίϚϯυͷ drush sql:dumpͰόοΫΞοϓΛ࡞੒Մೳɻ 2. αΠτΛϝϯςφϯεϞʔυʹ͢ΔʢߦΘͳ͍͜ͱ΋͋Δʣ 3. ϞδϡʔϧͷΞοϓσʔτΛߦ͏ʢӈهʣ 4. CoreͷΞοϓσʔτΛߦ͏ 
 $ composer update drupal/core "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
  12. ຊ൪؀ڥͰ͸࡟আ͢΂͖ϞδϡʔϧɾϥΠϒϥϦ 1. DevelϞδϡʔϧ 
 ։ൃΛߦ͏ࡍ͸ඞਢͱ΋͍͑ΔϞδϡʔϧͰ͕͢ɺϢʔ βʔʹෆཁͳ৘ใΛ༩͑ͯ͠·͏ڪΕ͕͋ΔͨΊɺຊ൪Ͱ ͸ແޮԽ΋͘͠͸࡟আ͠·͢ɻ – ଟ༷ͳσόοάػೳ –

    μϛʔίϯςϯπͷ࡞੒ – Web Profiler(ύϑΥʔϚϯε౳෼ੳ) 2. Composerͷdrupal/core-devϥΠϒϥϦ 
 PHPUnit΍Behat౳ͷࣗಈςετΛDrupalͰߦ͏ͨΊͷϥΠ ϒϥϦͰ͢ɻ΋͠ɺςετΛ࣮ߦͰ͖ΔݖݶΛ࣋ͭϢʔ βʔ͕͍ͨ৔߹ɺෆਖ਼ʹ࣮ߦ͞ΕΔڪΕ͕͋Γ·͢ɻ 5. ։ൃ΍ςετؔ࿈ϞδϡʔϧɾϥΠϒϥϦΛ࡟আ͢Δ Drupalʹ͸։ൃ΍ςετΛิॿ͢ΔϞδϡʔϧ΍ϥΠϒϥϦ͕ଘࡏ͠·͢ɻ͔͜͠͠ΕΒ͸ 
 ຊ൪؀ڥͰ͸ෆཁͰ͋Γɺѱҙͷ͋Δ߈ܸΛՄೳʹ͢ΔڪΕ͕͋ΔͨΊɺ࡟আ͠·͢ɻ composer require࣌ʹ --dev ΦϓγϣϯΛ͚ͭΔ͜ͱͰɺຊ൪؀ڥͰ composer install --no-dev Λ࣮ߦ͢Δ͜ͱͰ։ൃϥΠϒϥϦΛഉআͰ͖ ·͢ɻ
  13. – αΠτ๚໰ऀ͕ࣗ਎ͰΞΧ΢ϯτΛ࡞Δ͜ͱΛېࢭ͢Δ – ϢʔβʔID “1”Λอޢ͢Δ – ෆཁͳݖݶ͕෇༩͞Ε͍ͯͳ͍͔֬ೝ͢Δ – ηΩϡϦςΟΞοϓσʔτ௨஌ͷऔಘ –

    DrupalͷΞοϓσʔτ – ։ൃऀ༻ϞδϡʔϧͷΞϯΠϯετʔϧ ԋश ΍ͬͯΈΑ͏
  14. DrupalͷύϑΥʔϚϯε޲্ରࡦ

  15. DrupalͷύϑΥʔϚϯε޲্ରࡦ ߦ͏΂͖ηΩϡϦςΟઃఆ͸֤αΠτͷཁ݅ʹΑͬͯҟͳΓ·͕͢ɺҰൠతͳ΋ͷΛ ͜͜Ͱ঺հ͠·͢ɻ 1. Ωϟογϡͷઃఆ 2. CSSͱJSͷू໿ 3. ෆཁͳϞδϡʔϧͷΞϯΠϯετʔϧ 4.

    ը૾ͷ࠷దԽ
  16. DrupalͷΩϟογϡྫ 1. Internal Dynamic Page Cache 
 ಗ໊ϢʔβʔɺೝূࡁΈϢʔβʔ૒ํʹରͯ͠Ωϟογϡ͞Εͨ ϖʔδΛ഑৴͢ΔɻʢύʔιφϥΠζ͞Εͨ෦෼Λআ͘ʣ 2.

    Internal Page Cache 
 ಗ໊Ϣʔβʔʹରͯ͠Ωϟογϡ͞ΕͨϖʔδΛDBʹอଘ͠ɺ ഑৴͢ΔɻΩϟογϡͷ༗ޮظݶ͸ 
 [؀ڥઃఆ] > [ύϑΥʔϚϯε] ͔Βઃఆɻ 3. Views Cache 
 ViewsͰ࡞੒ͨ͠Ϧετͷ݁ՌΛΩϟογϡ͢Δɻ ஫ҙ – ্هͷΩϟογϡ͸ඪ४Ͱ༗ޮԽ͞Ε͍ͯ·͕͢ɺ։ൃ࣌ʹແޮ Խͨ͠৔߹ͳͲ͸ɺϦϦʔεલʹ༗ޮԽ͢Δඞཁ͕͋Γ·͢ɻ – ଟ͘ͷΩϟογϡ͸Ϣʔβʔ͕ϩάΠϯ͍ͯ͠ΔͱແޮԽ͞Ε· ͢ɻ 1. Ωϟογϡͷઃఆ Drupalʹ͸ଟ༷ͳΩϟογϡγεςϜ͕͋Γ·͢ɻ͜ΕΒΛ༗ޮԽ͢Δ͜ͱͰɺϦΫΤετຖʹൃੜ͢Δෛՙͷߴ͍ॲཧ ʢDB઀ଓɺઃఆͷಡΈࠐΈɺϢʔβʔηογϣϯͷॳظԽ౳ʣΛܰݮͰ͖·͢ɻ
  17. CSSͱJSϑΝΠϧͷू໿ [؀ڥઃఆ]ʼ[ύϑΥʔϚϯε]ʼ[ଳҬ෯࠷దԽ] ͷνΣοΫϘοΫεʹνΣο ΫΛೖΕɺߏ੒Λอଘ 
 ஫ҙ CSSͱJSϑΝΠϧΛू໿ͷର৅ͱ͢ΔͨΊʹ͸ɺϑΝΠϧΛςʔϚ·ͨ͸Ϟ δϡʔϧͷ *.libraries.yml Ͱఆٛ͠ɺಡΈࠐ·ͤΔඞཁ͕͋Γ·͢ɻςϯϓ

    Ϩʔτʹ௚઀ϑΝΠϧ΁ͷϦϯΫΛهड़͢Δͷ͸όουϓϥΫςΟεͰ͢ɻ 2. CSSͱJSͷू໿ DrupalͰ͸ଟ਺ͷCSSϑΝΠϧͱJSϑΝΠϧΛऔΓѻ͍·͢ɻ 
 ͜ΕΒ͸ू໿͢Δ͜ͱͰ1ͭͷʢ·ͨ͸গ਺ͷʣϑΝΠϧͱͳΓɺϦΫΤετճ਺Λ࡟ݮͰ͖·͢ɻ ू໿લ 
 ໿100ϑΝΠϧ ू໿ޙ 
 3ϑΝΠϧ
  18. 3. ෆཁͳϞδϡʔϧͷΞϯΠϯετʔϧ ར༻͍ͯ͠ͳ͍Ϟδϡʔϧ͕༗ޮԽ͞Ε͍ͯΔ৔߹ɺDrupal͕ىಈʢbootstrapʣͨ͠ࡍʹɺ 
 ϑΝΠϧ͕ಡΈࠐ·ΕΔͨΊɺॲཧ଎౓͕஗͘ͳΓ·͢ɻ ϞδϡʔϧͷΞϯΠϯετʔϧ [ػೳ֦ு]ʼ[ΞϯΠϯετʔϧ] ͔ΒɺΞϯΠϯε τʔϧ͍ͨ͠ϞδϡʔϧʹνΣοΫΛೖΕɺϖʔδ ࠷ԼͷΞϯΠϯετʔϧϘλϯΛΫϦοΫ͠·͢ɻ

  19. 4. ը૾ͷ࠷దԽ DrupalͰ͸ը૾ελΠϧػೳΛར༻͢Δ͜ͱͰɺΞοϓϩʔυͨ͠ը૾Λॖখ΍τϦϛϯά͢Δ͜ͱͰɺϩʔυ͢Δը ૾ͷ༰ྔΛ࡟ݮ͢Δ͜ͱ͕Ͱ͖·͢ɻ ը૾ελΠϧΛద༻͍ͯ͠ͳ͍ը૾Λදࣔ͢ΔͱɺΞοϓϩʔυͨ͠ࡍͷαΠζʢ5MBɺ10MBͰ΋ʣͰදࣔ͞ΕΔͨ ΊɺಡΈࠐΈ͕஗͘ͳΓ·͢ɻ ΦϦδφϧը૾ʢ1.2 MBʣ ΤϑΣΫτΛ௥Ճ •

    ֦ுͱτϦϛϯά • εέʔϧ αΠζΛ࠷దԽ 250 KB 200 KB
  20. – Ωϟογϡͷઃఆ – CSSͱJSͷू໿ – ෆཁͳϞδϡʔϧͷΞϯΠϯετʔϧ – ը૾ͷ࠷దԽ ԋश ΍ͬͯΈΑ͏

  21. ࿅श໰୊

  22. ࿅श໰୊1 ίʔϙϨʔταΠτΛߏஙͯ͠ެ։ͨ͠ͱ͜Ζɺ֮͑ͷͳ͍Ϣʔβʔ͕ଟ਺௥Ճ͞Ε͍ͯ·ͨ͠ɻ͜ͷαΠτʹ͸ձһ ػೳ͸͋Γ·ͤΜɻ ͜ͷΑ͏ͳBot΍ѱҙͷ͋Δ๚໰ऀʹΑΔΞΧ΢ϯτ࡞੒Λ๷͙࠷΋ద੾ͳํ๏Λબ୒͍ͯͩ͘͠͞ɻ 1. ࢖༻͍ͯ͠ΔςʔϚ಺ʹ͋Δձһొ࿥༻ϑΥʔϜͷςϯϓϨʔτΛ࡟আ͢Δɻ 2. ϢʔβʔҰཡΛఆظతʹ֬ೝ͠ɺݟ֮͑ͷͳ͍ϢʔβʔΛ࡟আ͢Δɻ 3. ؀ڥઃఆʼΞΧ΢ϯτͷઃఆ͔ΒΞΧ΢ϯτΛొ࿥Ͱ͖Δ໾ׂΛ؅ཧऀͷΈʹ͢Δɻ

    4. ΧελϜϞδϡʔϧΛ࡞੒͠ɺձһొ࿥ϑΥʔϜΛແޮԽ͢Δɻ
  23. ࿅श໰୊1 ίʔϙϨʔταΠτΛߏஙͯ͠ެ։ͨ͠ͱ͜Ζɺ֮͑ͷͳ͍Ϣʔβʔ͕ଟ਺௥Ճ͞Ε͍ͯ·ͨ͠ɻ͜ͷαΠτʹ͸ձһ ػೳ͸͋Γ·ͤΜɻ ͜ͷΑ͏ͳBot΍ѱҙͷ͋Δ๚໰ऀʹΑΔΞΧ΢ϯτ࡞੒Λ๷͙࠷΋ద੾ͳํ๏Λબ୒͍ͯͩ͘͠͞ɻ 1. ࢖༻͍ͯ͠ΔςʔϚ಺ʹ͋Δձһొ࿥༻ϑΥʔϜͷςϯϓϨʔτΛ࡟আ͢Δɻ 2. ϢʔβʔҰཡΛఆظతʹ֬ೝ͠ɺݟ֮͑ͷͳ͍ϢʔβʔΛ࡟আ͢Δɻ 3. ؀ڥઃఆʼΞΧ΢ϯτͷઃఆ͔ΒΞΧ΢ϯτΛొ࿥Ͱ͖Δ໾ׂΛ؅ཧऀͷΈʹ͢Δɻ

    4. ΧελϜϞδϡʔϧΛ࡞੒͠ɺձһొ࿥ϑΥʔϜΛແޮԽ͢Δɻ ਖ਼ղɿ3
  24. ࿅श໰୊2 ࣍ͷ͏ͪɺDrupalͷύϑΥʔϚϯε޲্ʹد༩͢ΔઃఆΛશͯબ୒͍ͯͩ͘͠͞ɻ 
 ʢ3ͭબ୒͍ͯͩ͘͠͞ɻʣ 
 1. CSSɺJSϑΝΠϧΛू໿͢Δɻ 2. ಗ໊ϢʔβʔɺೝূࡁΈϢʔβʔʹ෇༩͞Ε͍ͯΔෆཁͳݖݶΛ࡟আ͢Δɻ 3.

    දࣔ͢Δը૾ʹ͸ը૾ελΠϧΛద༻͢Δɻ 4. ෆཁͳϞδϡʔϧΛΞϯΠϯετʔϧ͢Δɻ
  25. ࿅श໰୊2 ࣍ͷ͏ͪɺDrupalͷύϑΥʔϚϯε޲্ʹد༩͢ΔઃఆΛશͯબ୒͍ͯͩ͘͠͞ɻ 
 ʢ3ͭબ୒͍ͯͩ͘͠͞ɻʣ 
 1. CSSɺJSϑΝΠϧΛू໿͢Δɻ 2. ಗ໊ϢʔβʔɺೝূࡁΈϢʔβʔʹ෇༩͞Ε͍ͯΔෆཁͳݖݶΛ࡟আ͢Δɻ 3.

    දࣔ͢Δը૾ʹ͸ը૾ελΠϧΛద༻͢Δɻ 4. ෆཁͳϞδϡʔϧΛΞϯΠϯετʔϧ͢Δɻ ਖ਼ղɿ1, 3, 4
  26. DrupalͷΩϟογϡʹؔ͢ΔҎԼͷهड़Ͱɺਖ਼͍͠΋ͷΛ͢΂ͯબ୒͍ͯͩ͘͠͞ɻ 
 ʢ2ͭબ୒͍ͯͩ͘͠͞ɻʣ 
 1. Drupalʹ͸Ωϟογϡػೳ͸ͳ͘ɺ֎෦ͷCDN౳ͰϖʔδΛΩϟογϡ͢Δඞཁ͕͋Δɻ 2. DrupalͷΩϟογϡػೳ͸Varnish౳ͷΩϟογϡαʔόʔ͕ͳͯ͘΋ར༻Ͱ͖Δɻ 3. ೝূࡁΈϢʔβʔʹΑΔϦΫΤετͰ͸ɺΩϟογϡ͸͢΂ͯແޮԽ͞ΕΔɻ

    4. Drupalʹ͸ඪ४ػೳͰΩϟογϡػೳ͕͋Δ͕ɺΠϯετʔϧ௚ޙ͸ແޮԽ͞Ε͍ͯΔͨΊɺຊ൪ެ։લʹ༗ޮԽ͢Δඞཁ ͕͋Δɻ 5. ϖʔδશମͷΩϟογϡͷଞʹɺಈతϖʔδͷҰ෦෼ΛΩϟογϡ͢Δ͜ͱ͕Ͱ͖Δɻ ࿅श໰୊3
  27. DrupalͷΩϟογϡʹؔ͢ΔҎԼͷهड़Ͱɺਖ਼͍͠΋ͷΛ͢΂ͯબ୒͍ͯͩ͘͠͞ɻ 
 ʢ2ͭબ୒͍ͯͩ͘͠͞ɻʣ 
 1. Drupalʹ͸Ωϟογϡػೳ͸ͳ͘ɺ֎෦ͷCDN౳ͰϖʔδΛΩϟογϡ͢Δඞཁ͕͋Δɻ 2. DrupalͷΩϟογϡػೳ͸Varnish౳ͷΩϟογϡαʔόʔ͕ͳͯ͘΋ར༻Ͱ͖Δɻ 3. ೝূࡁΈϢʔβʔʹΑΔϦΫΤετͰ͸ɺΩϟογϡ͸͢΂ͯແޮԽ͞ΕΔɻ

    4. Drupalʹ͸ඪ४ػೳͰΩϟογϡػೳ͕͋Δ͕ɺΠϯετʔϧ௚ޙ͸ແޮԽ͞Ε͍ͯΔͨΊɺຊ൪ެ։લʹ༗ޮԽ͢Δඞཁ ͕͋Δɻ 5. ϖʔδશମͷΩϟογϡͷଞʹɺಈతϖʔδͷҰ෦෼ΛΩϟογϡ͢Δ͜ͱ͕Ͱ͖Δɻ ࿅श໰୊3 ਖ਼ղɿ2, 5
  28. ຊ೔ͷΞδΣϯμ͸ऴྃ

  29. ΞδΣϯμ 1. αΠτϏϧμʔ޲͚ηΩϡϦςΟઃఆ 2. DrupalͷύϑΥʔϚϯε޲্ରࡦ 3. ࿅श໰୊

  30. None