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.1k
大規模ウェブサイトのURL刷新の方針と実装
PHP Conference2017で発表した内容です。
tamanobi
October 08, 2017
Tweet
Share
More Decks by tamanobi
See All by tamanobi
ピクシブの広告配信システムの概要と今後の展開
tamanobi
1
2.6k
My works in pixiv Inc. first year.
tamanobi
0
1.5k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
The Cult of Friendly URLs
andyhume
78
6.1k
For a Future-Friendly Web
brad_frost
175
9.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Git: the NoSQL Database
bkeepers
PRO
427
64k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
GraphQLとの向き合い方2022年版
quramy
44
13k
How to Ace a Technical Interview
jacobian
276
23k
Optimizing for Happiness
mojombo
376
70k
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
ऴ