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
大規模ウェブサイトのURL刷新の方針と実装
Search
tamanobi
October 08, 2017
1
3.2k
大規模ウェブサイトのURL刷新の方針と実装
PHP Conference2017で発表した内容です。
tamanobi
October 08, 2017
Tweet
Share
More Decks by tamanobi
See All by tamanobi
ピクシブの広告配信システムの概要と今後の展開
tamanobi
1
2.7k
My works in pixiv Inc. first year.
tamanobi
0
1.6k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.9k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Site-Speed That Sticks
csswizardry
10
620
Making Projects Easy
brettharned
116
6.2k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
910
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Transcript
େن8FCαΠτͷ 63-৽ͷํͱ࣮ 1)1$POGFSFODF
ࣗݾհ ‣ ࢁࡍ߁وUBNBOPCJ ‣ ݄ϐΫγϒגࣜձࣾʹೖࣾ ‣ QJYJWͷόοΫΤϯυΛҰ෦୲ ‣ ࠷ۙࠂ4&0ςετपΓػցֶशͳͲ
ϐΫγϒͰ Ұॹʹಇؒ͘ΛืूதͰ͢ IUUQTXXXQJYJWDPKQ
QJYJW ΠϥετίϛϡχέʔγϣϯαʔϏε
QJYJWͷհ ‣ ΠϥετίϛϡχέʔγϣϯαʔϏε ‣ ສϢʔβʔ ‣ σεΫτοϓϞόΠϧͰ࠷దͳίϯςϯπΛ৴
QJYJWͷհ ϞόΠϧ൛ σεΫτοϓ൛
QJYJWͷհ ‣ σεΫτοϓϞόΠϧͰ࠷దͳίϯςϯπΛ৴ ‣ σεΫτοϓ൛XXXQJYJWOFU ‣ ϞόΠϧ൛UPVDIQJYJWOFU
QJYJWͷհ ‣ σεΫτοϓϞόΠϧͰ࠷దͳίϯςϯπΛ৴ ‣ σεΫτοϓ൛XXXQJYJWOFU ‣ ϞόΠϧ൛UPVDIQJYJWOFU υϝΠϯ໊ผʑ
QJYJWͷհ ‣ σεΫτοϓϞόΠϧͰ࠷దͳίϯςϯπΛ৴ ‣ σεΫτοϓ൛XXXQJYJWOFU ‣ ϞόΠϧ൛UPVDIQJYJWOFU υϝΠϯ໊ผʑ σεΫτοϓ൛ͷ%"6ϞόΠϧ൛ͷ%"6
QJYJWͷհ ‣ αʔϏεॳظ͔Β1)1Ͱॻ͔Ε͍ͯΔ ‣ ݄ʹपΛܴ͑ͨ ‣ ݹ͔͘Β͋Δίʔυ·ͩݱ ‣ ϑϨʔϜϫʔΫΛ༻͍ͣɺಠࣗίʔυΛӡ༻อक
ࠓ͢͜ͱ ‣ QJYJWͷ63-৽ ‣ 63-ͷઃܭ ‣ 63-৽ͷ͖͔͚ͬ ‣ ৽ͷաఔͰੜ·Εͨ՝ͱղܾ
ࠓ͢͜ͱ ‣ QJYJWͷ63-৽ ‣ 63-ͷઃܭ ‣ 63-৽ͷ͖͔͚ͬ ‣ ৽ͷաఔͰੜ·Εͨ՝ͱղܾ 4&0ͷ
QJYJWͷ63-৽
QJYJWͷ63-
QJYJWͷ63- NFNCFS@JMMVTUQIQ
QJYJWͷ63- ‣ NFNCFS@JMMVTUQIQ NPEFNFEJVNJMMVTU@JE ‣ OPWFMTIPXQIQ JE ‣ SBOLJOHQIQ NPEFEBJMZ
‣ TFBSDIQIQ T@NPEFT@UBH@GVMMXPSEϐΫγϒͨΜ Πϥετ࡞ϖʔδ খઆ࡞ϖʔδ ૯߹σΠϦʔϥϯΩϯάϖʔδ λάΠϥετݕࡧϖʔδ
63-ͷ৽ ϢʔβʔϘοτཧղ͍͢͠63-
৽63- ‣ VTFSJMMVTU ‣ OPWFMVTFSXPSL ‣ SBOLJOHBMMEBJMZ ‣ UBHϐΫγϒͨΜJMMVTU Πϥετ࡞ϖʔδ
খઆ࡞ϖʔδ λάΠϥετݕࡧϖʔδ ૯߹σΠϦʔϥϯΩϯάϖʔδ
63-ൺֱ ‣ VTFSJMMVTU ‣ NFNCFS@JMMVTUQIQ NPEFNFEJVNJMMVTU@JE
63-ൺֱ ‣ VTFSJMMVTU ‣ NFNCFS@JMMVTUQIQ NPEFNFEJVNJMMVTU@JE γϯϓϧ͔ͭɺཧղ͘͢͠ઃܭͨ͠
࡞Ϣʔβʔʹ݁ͼͭ͘ ‣ VTFSJMMVTU ‣ ࡞͕Ϣʔβʔͷͷͩͱ༧Ͱ͖Δ ‣ 63-͔Β࡞͕Πϥετͩͱ༧Ͱ͖Δ Πϥετ࡞ϖʔδ
࡞Ϣʔβʔʹ݁ͼͭ͘ ‣ VTFSJMMVTU ‣ ࡞͕Ϣʔβʔͷͷͩͱ༧Ͱ͖Δ ‣ 63-͔Β࡞͕Πϥετͩͱ༧Ͱ͖Δ Πϥετ࡞ϖʔδ Ϣʔβʔϖʔδͷ 63-͕૾Ͱ͖Δ
࡞Ϣʔβʔʹ݁ͼͭ͘ ‣ ҎԼ͕ಛఆͷଐੑ ྫೣࣖ ͰӾཡ͕ଟ͚Ε ‣ VTFS"""JMMVTU99999 ‣ VTFS"""JMMVTU::::: ‣
VTFS"""JMMVTU;;;;;
࡞Ϣʔβʔʹ݁ͼͭ͘ ‣ ҎԼ͕ಛఆͷଐੑ ྫೣࣖ ͰӾཡ͕ଟ͚Ε ‣ VTFS"""JMMVTU99999 ‣ VTFS"""JMMVTU::::: ‣
VTFS"""JMMVTU;;;;; VTFS"""ʮೣࣖʯͱ ؔ࿈͕ਂ͍ͱධՁ͞ΕΔͱظ
৽63- ࠶ܝ ‣ VTFSJMMVTU ‣ OPWFMVTFSXPSL ‣ SBOLJOHBMMEBJMZ ‣ UBHϐΫγϒͨΜJMMVTU
Πϥετ࡞ϖʔδ খઆ࡞ϖʔδ λάΠϥετݕࡧϖʔδ ૯߹σΠϦʔϥϯΩϯάϖʔδ
طଘͷߏΛյ͞ͳ͍ ‣ OPWFMVTFSXPSL ‣ ੲ͔ΒOPWFM͕খઆτοϓϖʔδ ‣ Ϣʔβʔͷश׳Λյ͞ͳ͍Α͏ʹઃܭ খઆ࡞ϖʔδ
طଘͷߏΛյ͞ͳ͍ ‣ OPWFMVTFSXPSL ‣ ੲ͔ΒOPWFM͕খઆτοϓϖʔδ ‣ Ϣʔβʔͷश׳Λյ͞ͳ͍Α͏ʹઃܭ খઆ࡞ϖʔδ
طଘͷߏΛյ͞ͳ͍ ‣ OPWFMVTFSXPSL ‣ ੲ͔ΒOPWFM͕খઆτοϓϖʔδ ‣ Ϣʔβʔͷश׳Λյ͞ͳ͍Α͏ʹઃܭ খઆ࡞ϖʔδ ઌ಄ʹOPWFM
63-ઃܭ ‣ ϢʔβʔʹϘοτʹཧղ͍͢͠ߏ ‣ طଘͷ63-ߏΛͰ͖ΔݶΓอͭ ‣ Ϣʔβʔͷश׳Λյ͞ͳ͍Α͏ʹྀ
(PPHMFͷ.'*ൃද ͳͥ౿Έͬͨͷ͔ʁ
IUUQTXFCNBTUFSKBHPPHMFCMPHDPNNPCJMFpSTUJOEFYJOHIUNM lকདྷతʹ(PPHMFͷΞϧΰϦζϜϞόΠϧ൛ ͷίϯςϯπΛओʹ༻͢ΔΑ͏ʹͳΓ·͢ɻz
.'* .PCJMF'JSTU*OEFY ‣ (PPHMFͷΞϧΰϦζϜʹϞόΠϧ൛ίϯςϯπ͕ ओʹ༻͞ΕΔΑ͏ʹͳΔ͜ͱ ‣ ϞόΠϧ൛ίϯςϯπ͕ ϥϯΩϯάݕࡧ݁ՌͷදࣔͳͲʹΘΕΔ
ݕࡧ݁ՌͷӨڹ
ݕࡧ݁ՌͷӨڹ কདྷϞόΠϧ൛ίϯςϯπ͕ ΘΕΔ
.'*ରԠ ‣ ϞόΠϧ൛ίϯςϯπͷ4&0 ‣ ධՁΛू͢ΔͨΊʹυϝΠϯ໊Λ౷߹ ‣ XXXQJYJWOFUͰϞόΠϧ൛ίϯςϯπΛ৴ ‣ ରԠ͠ͳ͍߹ɺݕࡧྲྀೖʹେ͖ͳӨڹ͕Ͱͦ͏
QJYJWͷ4&0 ‣ ͔Βࠓ·Ͱ࠷దԽΛଓ͚͍ͯΔ ‣ νϡʔχϯάσεΫτοϓ൛͕த৺ ‣ .'*Ͱେ͖ͳӨڹΛड͚Δͱ༧
QJYJWͷ4&0 ສ ສ
υϝΠϯ໊౷߹ ‣ σεΫτοϓϞόΠϧͷυϝΠϯ໊౷߹ͷظ ‣ γΣΞ͞Εͨͱ͖ʹ֦ࢄ͞ΕΔ63-͕ࢄ͠ͳ͍ ‣ ྆ํͷυϝΠϯ໊ͷධՁ͕Ұͭʹू͞ΕΔ Ϋϩʔϥʔ͕ࢄ͠ͳ͍
.'*ͱ63-৽ͷؔ ‣ .'*ͱ63-৽ؔͳ͍ ‣ .'*ͷͨΊʹϧʔλʔ͕ಋೖ͞ΕͨͷͰ 63-৽͕ݱ࣮తʹͳͬͨ ‣ 63-৽ʹ ϢʔβϏϦςΟͷ্ͱ4&0͕ظͰ͖Δ
.'*ରԠͷোน
QJYJWͷߏ ‣ ϑϨʔϜϫʔΫΛ༻͍ͣɺಠࣗίʔυΛӡ༻อक ‣ XXXUPVDIʹϧʔλʔͳ͔ͬͨ ‣ ՝ϧʔλʔͷ࡞ ‣ υΩϡϝϯτϧʔτͷϑΝΠϧΛͦͷ··࣮ߦ ‣
՝$POUSPMMFSͷΫϥεԽͳͲ
ϧʔλʔͷ࡞ ‣ ύτϦγΞτϥΠΛͬͨίΞ࣮ ৄࡉ1)1Ͱߴʹಈ࡞͢Δ63-ϧʔςΟϯάΛࣗ࡞ͯ͠Έͨ
ϧʔλʔͷ࡞ ‣ ύτϦγΞτϥΠΛͬͨίΞ࣮ ৄࡉ1)1Ͱߴʹಈ࡞͢Δ63-ϧʔςΟϯάΛࣗ࡞ͯ͠Έͨ ࣮ߦ͕࣌ؒϧʔςΟϯάʹ ґଘ͠ͳ͍
ϧʔςΟϯά
ϧʔςΟϯά
ϧʔςΟϯά ༩͑ΒΕͨ63-
ϧʔςΟϯά ༩͑ΒΕͨ63-
ϧʔςΟϯά ༩͑ΒΕͨ63-
ϧʔςΟϯά ىಈ͢Δ͖$POUSPMMFS ༩͑ΒΕͨ63-
ϧʔςΟϯά ىಈ͢Δ͖$POUSPMMFS ༩͑ΒΕͨ63-
ϧʔςΟϯά ىಈ͢Δ͖$POUSPMMFS ༩͑ΒΕͨ63-
ϧʔλʔར༻ͷ՝
ϧʔλʔར༻ͷ՝ ‣ ϧʔλʔΛ͏ʹɺҎԼͷ͕͋ͬͨ ‣ Ϋϥε໊ͷॏෳ ‣ HMPCBMؔͷఆٛ ‣ 63-Έཱͯͷ
$POUSPMMFSͷ ‣ Ϋϥε໊͕ॏෳ ‣ 'PP$POUSPMMFS͕ෳ ‣ ϑΝΠϧʹHMPCBM͕ؔఆٛ ‣ GVODUJPOEJTQMBZ \^
ϧʔςΟϯά
ϧʔςΟϯά ॏෳ͢Δͱ ղܾͰ͖ͳ͍ʂ
Ϋϥε໊͕ॏෳ ‣ దͳ໊લʹϦωʔϜ ‣ Ϋϥε໊ʹύεΛར༻ ‣ ྫTFUUJOHQIQ4FUUJOH$POUSPMMFS
Ϋϥε໊͕ॏෳ ‣ దͳ໊લʹϦωʔϜ ‣ Ϋϥε໊ʹύεΛར༻ ‣ ྫTFUUJOHQIQ4FUUJOH$POUSPMMFS Ұҙʹఆ·Δ
HMPCBMؔͷ੩తϝιουԽ Խ
HMPCBMؔͷ੩తϝιουԽ Խ
HMPCBMؔͷ੩తϝιουԽ Խ
HMPCBMؔͷ੩తϝιουԽ Խ HMPCBM͕ؔಉϑΝΠϧͰఆٛ
HMPCBMؔΛ੩తϝιου ‣ ੩తϝιουͱͯ͠ఆٛ͠ͳ͓͢ 1IQ4UPSNͳͲͷ*%&ͰࢧԉՄೳʹ͢Δ ‣ EJTQMBZ )PHF$POUSPMMFSEJTQMBZ
࡞ۀ࣌ؒ ‣ Ϋϥε໊ͷॏෳेݸ ‣ HMPCBMؔͷఆٛڧ
࡞ۀ࣌ؒ ‣ Ϋϥε໊ͷॏෳेݸ ‣ HMPCBMؔͷఆٛڧ ࡞ۀݟੵΓ࣌ؒ
࡞ۀ࣌ؒ ‣ Ϋϥε໊ͷॏෳेݸ ‣ HMPCBMؔͷఆٛڧ ࡞ۀݟੵΓ࣌ؒ 7JNͰߴղܾ͠·ͨ͠
7JNTDSJQU ࣌ؒͷ࡞ۀΛ࣌ؒͰऴΘΒͤΔ
7JNTDSJQU ‣ 7JNͷίϚϯυΛฒͨͷ ֦ுࢠWJN ‣ WJNSD7JNTDSJQU ‣ WJN4pMFWJNͱ࣮ͯ͠ߦ͢Δ ‣
WJN/V/0/&J/0/&4pMFWJN
7JNTDSJQU ‣ 7JNͷίϚϯυΛฒͨͷ ֦ுࢠWJN ‣ WJNSD7JNTDSJQU ‣ WJN4pMFWJNͱ࣮ͯ͠ߦ͢Δ ‣
WJN/V/0/&J/0/&4pMFWJN ࣮ࡍ࣮ߦ͢Δͱ͖
ͳͥ7JNTDSJQU ‣ 7JNͷػೳΛ͑Δ ‣ ςΩετΦϒδΣΫτϚονϖΞ ϨδελϚΫϩΦʔτΠϯσϯτFUDʜ
ͳͥ7JNTDSJQU ‣ 7JNͷػೳΛ͑Δ ‣ ςΩετΦϒδΣΫτϚονϖΞ ϨδελϚΫϩΦʔτΠϯσϯτFUDʜ ίʔυϦϑΝΫλϦϯάͷڧྗͳ%4-
Ϋϥε໊ͷϦωʔϜ
Ϋϥε໊ͷϦωʔϜ
Ϋϥε໊ͷϦωʔϜ Ϋϥε໊ΛZBOL
Ϋϥε໊ͷϦωʔϜ Ϋϥε໊ΛZBOL
Ϋϥε໊ͷϦωʔϜ Ϋϥε໊ΛZBOL Ϋϥε໊Λมߋ
Ϋϥε໊ͷϦωʔϜ Ϋϥε໊ΛZBOL ࣌ؒͷࣄ͕࣌ؒͰऴΘͬͨ Ϋϥε໊Λมߋ
ϧʔλʔར༻ͷ՝ ‣ ϧʔλʔΛ͏ʹɺҎԼͷ͕͋ͬͨ ‣ Ϋϥε໊ͷॏෳ ‣ HMPCBMؔͷఆٛ ‣ 63-Έཱͯͷ
63-Έཱͯ
63-Έཱͯ
63-Έཱͯ Ұ෦ 63-ΛΈཱ͍ͯͯͨ
૬ରύε
૬ରύε
૬ରύε ύεʹґଘ͍ͯͨ͠ͷͰɺ ૬ରύεͰࢦఆ͞Ε͍ͯΔ͜ͱ
63-Έཱͯ
‣ 63-͕มߋ͞Εͨͱ͖ɺஔେม ‣ ΫΤϦύϥϝʔλʵͷॱং͕ؒҧ͍͑͢ ‣ ؔʹ63-ΈཱͯΛͬͯΒ͏ 63-Έཱͯ
‣ 63-͕มߋ͞Εͨͱ͖ɺஔେม ‣ ΫΤϦύϥϝʔλʵͷॱং͕ؒҧ͍͑͢ ‣ ؔʹ63-ΈཱͯΛͬͯΒ͏ 63-Έཱͯ 4&0ʹӨڹ͢Δ
63-Έཱͯ ‣ 63-Λߏங͢ΔSFWFSTF@SPVUFͱ͍͏ؔΛఆٛ ‣ QBHF ࣝผࢠ ʹԠͯ͡63-Λߏங ‣ QBHFlJMMVTUzQBHFlNFNCFSzFUDʜ ‣
Τεέʔϓͬͯ͘ΕΔ
63-Έཱͯ ςϯϓϨʔτ ग़ྗ͞ΕΔ)5.-
63-Έཱͯ ςϯϓϨʔτ ग़ྗ͞ΕΔ)5.- Τεέʔϓ ύϥϝʔλʔ ͓·͔ͤ
૬ରύεͷഇࢭ ‣ $POUSPMMFS୯ҐͰ\SFWFSTF@SPVUF^ஔ ‣ Ұ෦ɺػցతஔͰͰ͖ͳ͍෦खಈ ‣ ಈ࡞֬ೝ ‣ DVSM*-ͰεςʔλείʔυΛ֬ೝ ‣
ࢹ
ϧʔλʔར༻ͷ՝ ‣ ϧʔλʔΛ͏ʹɺҎԼͷ͕͋ͬͨ ‣ Ϋϥε໊ͷॏෳ ‣ HMPCBMؔͷఆٛ ‣ 63-Έཱͯͷ
·ͩ·ͩଓ͘.'*ରԠ
·ͩ·ͩଓ͘.'*ରԠ ‣ ݄ ‣ (PPHMF38% 3FTQPOTJWF8FC%FTJHO Λڧ͘ਪ ਖ਼ࣜൃදͰͳ͍ IUUQTXXXTV[VLJLFOJDIJDPNCMPHSFTQPOTJWFXFCEFTJHOJTUIFXBZUPHP
‣ σεΫτοϓ൛ϞόΠϧ൛ͱʹಉ͡)5.-Λ ৴ͯ͠΄͍͠Β͍͠ ʮ38%ʹ͠ͳ͍ͱى͜Δ͔ɻ38%ͳΒͳ͍ʯ
·ͩ·ͩଓ͘.'*ରԠ ‣ υϝΠϯ໊౷߹ޙɺ6"ϕʔεͰผͷ)5.-Λ ৴͢Δ༧ఆͩͬͨ ‣ σεΫτοϓ൛ϞόΠϧ൛ ผͷίʔυϕʔεͳͷͰ՝ࢁੵΈ ‣ ظతͳରԠΛݕ౼த
·ͱΊ ‣ .'*ରԠΛ͖͔͚ͬʹ৽͍͠63-ઃܭ͕Ͱ͖ͨ ‣ ϢʔβʔͱϘοτ͕ཧղ͍͢͠ઃܭ ‣ 7JNϦϑΝΫλϦϯάʹ༗༻ ‣ υϝΠϯ໊౷߹ʹ·ͩ՝͕ࢁੵΈ ‣
38%ରԠ
ϐΫγϒͰ Ұॹʹಇؒ͘ΛืूதͰ͢ IUUQTXXXQJYJWDPKQ
ऴ