YAPC::Kansai
by
papix
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
PerlͷWebΞϓϦέʔγϣϯΛ σϓϩΠ͢Δ࣌ʹ ୡ͕ߟ͑ͨ͜ͱ papix (Hatena Co., Ltd.)
Slide 2
Slide 2 text
͡Ίʹ
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
Θͨ͠Ͱ͢
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
ͯͳ͔Βདྷ·ͨ͠
Slide 7
Slide 7 text
ͭͬͯ͘·͢
Slide 8
Slide 8 text
papix • Twitter: @__papix__ • GitHub: papix • CPAN: PAPIX • Blog • Technology: http://papix.hatenablog.com/ • My Life: http://papix.hatenablog.jp/
Slide 9
Slide 9 text
PerlͷWebΞϓϦέʔγϣϯΛ σϓϩΠ͢Δ࣌ʹ ୡ͕ߟ͑ͨ͜ͱ papix (Hatena Co., Ltd.)
Slide 10
Slide 10 text
σϓϩΠͱ?
Slide 11
Slide 11 text
σϓϩΠͱ? • WebαʔϏε(େ)ࣗͷPCͰ։ൃ͢Δ • ͦͷαʔϏεΛ, ϢʔβʹͬͯΒ͏ʹ? • Կ͔͠ΒͷαʔόʹňσϓϩΠʼnͯ͠, • ňγεςϜΛར༻Մೳͳঢ়ଶʹʼn͠ͳ͚Ε ͳΒͳ͍
Slide 12
Slide 12 text
αʔϏεͷ྆ྠ • ň։ൃʼnͱňσϓϩΠʼnαʔϏεͷ྆ྠ • ։ൃ, σϓϩΠ, ։ൃ, σϓϩΠ… • ͦͷͨΊ, σϓϩΠͷॏཁߴ͍! • σϓϩΠͳͯ͘͠αʔϏεͳ͠!!!!
Slide 13
Slide 13 text
σϓϩΠͷॏཁੑ • αʔϏεͷՁΛߴΊΔҝʹඞཁෆՄܽ • ϢʔβͷମݧΛଛͶͳ͍Α͏ʹ… • ͳΔ͘μϯλΠϜͳ͘… (ແఀࢭͰ) • σϓϩΠࣦഊͰαʔϏε͕ظؒࢭ·Δ • ΦϖϨʔγϣϯϛεͰσʔλ͕ফ͑Δ
Slide 14
Slide 14 text
σϓϩΠʹਖ਼ղͳ͠ • Ԧಓ(ύλʔϯ)͋Δͷͷ, ม͕ଟ͍ • αʔϏεͷػೳ, Πϯϑϥߏ, ։ൃऀͷ, Ϣʔβ, ར༻͢Δݴޠ, WAF, ϛυϧΣΞ, อଘ͢Δσʔλͷྔ… • ͍Ζ͍Ζͳͷͱ͖߹͏ඞཁ͕͋Δ
Slide 15
Slide 15 text
αʔϏεͱਐԽ͢ΔσϓϩΠ • αʔϏεͷਐԽʹ͍࠷ળղ͕มΘ͍ͬͯ͘ • ࠷ॳखಈͰ͍͚ΔΑͶ • खಈͩͱΦϖϛε͢Δ͔ΒࣗಈԽ͍ͨ͠Ͷ • ૿͑Δͱਏ͍͔Βฒྻ࣮ߦ͍ͨ͠Ͷ • etc…
Slide 16
Slide 16 text
σϓϩΠʹ͍ͭͯ࠷ۙࢥ͏ࣄ • (ۀͷ߹)ඞཁ࠷ݶʹཹΊΔ • ࠷ॳ͔ΒཧΛ࣮ݱ͢Δͱ, ίετߴ͍ • ΦʔόʔςΫϊϩδʔʹΓ͕ͪ • Ҿ͖ܧ͗େมʹͳͬͯ͠·͏… • ͍ͭͰۀͰ͑ΔΑ͏ʹ, झຯͷྖҬͰ৽͍͠Γํ, πʔϧΛࢼͤΔͱྑ͍!
Slide 17
Slide 17 text
σϓϩΠʹ͍ͭͯ ߟ͑Δ
Slide 18
Slide 18 text
σϓϩΠʹࢥ͍ΛͤΔ • ͪΌΜͱͨ͠σϓϩΠΛ࣮ݱ͢Δʹ? • ͍Ζ͍Ζͳࣄͱ͖߹͏ඞཁ͕͋Δ • ݱ࣮ͱ͔͍߹͍͖ͬͯ·͠ΐ͏ • ޭ, టष͍࡞ۀͷੵΈॏͶͷઌʹ͋Δ
Slide 19
Slide 19 text
͍Ζ͍Ζͳͷͱ ͖߹͓͏
Slide 20
Slide 20 text
Ͳ͜ʹσϓϩΠ͢Δ? • αʔϏε͕ಈ͘Πϯϑϥͱ͖߹͏ • VPS (Virtual Private Server) • IaaS (Infrastructure as a Service) • PaaS (Platform as a Service) • ΦϯϓϨαʔό / ࣗαʔό
Slide 21
Slide 21 text
ԿΛσϓϩΠ͢Δ? • αʔϏεͦͷͷͱ͖߹͏ • όονϫʔΧʔ͋Δ͔? • ϞϊϦγοΫ? ϚΠΫϩαʔϏε? • JavaScript͋Δ͔? ͦͷϏϧυ? • ϥΠϒϥϦͷΠϯετʔϧ/ߋ৽?
Slide 22
Slide 22 text
Ͳ͏ͬͯσϓϩΠ͢Δ? • αʔϏε, ར༻͢ΔϛυϧΣΞͱ͖߹͏ • Ͳ͏ͬͯϓϩηεΛಈ͔͔͢? • αʔϏεͷ࠶ىಈͲ͏͢Δ͔? • RDBMSͷϚΠάϨʔγϣϯඞཁ͔? • ΩϟογϡͷഁغͳͲߟྀ͠ͳ͍ͱ͍͚ͳ͍͔?
Slide 23
Slide 23 text
ͲΜͳσϓϩΠʹ͢Δ? • αʔϏεΛ։ൃ͢ΔνʔϜͱ͖߹͏ • σϓϩΠʹ͑Δίετ? (ίετ) • खಈͰ͢Δ? ࣗಈԽ͢Δ? (ࣗಈԽ) • σϓϩΠແఀࢭ? ϝϯςΛೖΕΔ? (Մ༻ੑ) • ͲΕ͚ͩσϓϩΠ͍ͨ͠? (σϓϩΠස)
Slide 24
Slide 24 text
ňσϓϩΠͷϏδϣϯʼnେࣄ • ňͲΜͳσϓϩΠʹ͢Δʼnʹ͋ͨΔ෦ • ܦݧଇͱͯ͠, ͜ͷลΓͷ߹ҙ/ܭը͕ࡶͩͱ, Φʔ όʔςΫϊϩδʔʹΓ͕ͪ • ଞͷཁૉʹൺ, ׂͱࣗ༝͕ߴ͍(ͱࢥ͏) • झຯαʔϏεͰ͋Ε, νʔϜ = ࣗͳͷͰ͖উ खΕΔ!!!
Slide 25
Slide 25 text
ίετͷྫ • ໌ϦϦʔε͔ͩΒͳΔͰ! • සൟʹϦϦʔε͢Δ͠, ͔ͬ͠Γ࡞Γࠐ͏! • طଘͷࢿݯΛར༻ͯ͠, γϡοͱग़དྷͳ͍?
Slide 26
Slide 26 text
ίετͷิ • ߏஙίετͱ࣮ࢪίετ͕͋Δ • ߏஙίετˢ ͩͱ, ࣮ࢪίετ ↓ (ࣗಈ) • ߏஙίετ ↓ ͩͱ, ࣮ࢪίετ ↑ (खಈ) • ࡶͳϏδϣϯͰਐΊΔͱͲͪΒΞήΞήʹ...
Slide 27
Slide 27 text
ࣗಈԽͷྫ • 1ίϚϯυͰσϓϩΠΛશͯྃͤ͞Α͏! • ్தͰ֬ೝΛڬΈ͍ͨͷͰ, ز͔ͭͷϑΣΠζ ʹ͚ͯ, ͦΕͧΕίϚϯυΛ࣮ߦ͠Α͏ • શ෦खಈͰΖ͏! (ਖ਼ؾ͔!?)
Slide 28
Slide 28 text
ࣗಈԽͷิ • ઌʹհͨ͠ňίετʼnʹӨڹΛ༩͑Δ • ࣗಈԽΛߴΊΕߴΊΔ΄Ͳ, ࢦؔతʹ ίετ͕૿͍͑ͯ͘ (ͱࢥ͏) • νʔϜ/αʔϏεʹԠͯ͡దʹखಈ࡞ۀͷ ཁૉΛڬΜͰ͍͘ͷ͕େࣄͳͷͰ?
Slide 29
Slide 29 text
Մ༻ੑͷྫ • σϓϩΠແఀࢭ(ϊʔϝϯς)ͰΓ͍ͨ! • ਂͰ͋ΕXͷఀࢭڐ༰Ͱ͖ΔͶ • ݄ʹXճαʔϏεΛࢭΊͯσϓϩΠͰ͖ͦ͏
Slide 30
Slide 30 text
Մ༻ੑͷิ • SLA(Service Level Agreement)ʹؔΘͬͯ͘Δ • झຯͷαʔϏεͰ͋Ε, ϦϦʔεͷʹఀࢭ͠ ౖͯΒΕΔ͜ͱͳͦ͞͏ • ͘ΘΕΔαʔϏε, ج൫తαʔϏεͩͱ, ͳΔ͘ແఀࢭͰσϓϩΠͰ͖ΔΑ͏ʹ͍ͨ͠!
Slide 31
Slide 31 text
σϓϩΠසͷྫ • 1ʹ10ճ͘Β͍σϓϩΠ͍ͨ͠! • िʹ1ճσϓϩΠͰ͖Εे͔ͳ... • 1ճ͋ͨΓXͰσϓϩΠ͍ͨ͠!
Slide 32
Slide 32 text
σϓϩΠසͷิ • αʔϏε։ൃॳظͰॏཁͳཁૉ • σϓϩΠճ = ϢʔβʹՁΛಧ͚Δࢼߦνϟϯε • ίετͰ, 1ʹԿσϓϩΠग़དྷΔͱྑ͍ • ྫ: GitHub (1100ճҎ্σϓϩΠ!) • ࠓ͍ͯ͠Δͷ͔ͳ...?
Slide 33
Slide 33 text
Ϗδϣϯ͕ࡶͩͱى͖Δ͜ͱ • σϓϩΠස͕͍ͷʹ, ϐλΰϥεΠονతʹ શࣗಈԽ͞ΕͨϞϊ্͕͕ͬͨΓ... • ͦͷίετͰαʔϏε։ൃΛޙԡ͠Ͱ͖ͨͷͰ!? • ࡶʹਐΊͯ, ͚ʹ࣌ؒͷ͔͔ΔϞϊ্͕͕ͬͨΓ... • ҰʹԿσϓϩΠ͍ͨ͠ͷʹ…!
Slide 34
Slide 34 text
ΈΛม͑Δ͠͞ • Ұ࡞ͬͨΈ(͜͜ͰσϓϩΠ)Λޙ͔Βม͑ͯ ͍͘ͷඇৗʹ͍͠! • ຬ͖ͨ͢σϓϩΠͷϏδϣϯ(݅)͕͋ΔͳΒ, ຬͨͤΔΑ͏ʹ࠷ॳ͔ΒؤுΔ͖! • (࠷ॳ͔ΒϏδϣϯ͕ఆ·͍ͬͯͯ, ͣͬͱมΘΒͳ͍ ͳΒۤ࿑͠ͳ͍Ͱ͋Γ·͢!)
Slide 35
Slide 35 text
WebΞϓϦέʔγϣϯͷ σϓϩΠઓུ
Slide 36
Slide 36 text
खಈΦϖϨʔγϣϯ • αʔόʹଓͯ͠, खͰίʔυΛೖྗ • ίϚϯυΛؒҧ͑ͳ͍Α͏ʹ, खॱॻΛ࡞Δ • ͱ͍͑, ਓؒͳͷͰͨ·ʹؒҧ͑Δ…! • αʔόʔͷ͕૿͑Ε, ΦϖϛεͷՄೳੑ ૿͍͑ͯ͘…
Slide 37
Slide 37 text
γΣϧεΫϦϓτʹΑΔࣗಈԽ • Ұ࿈ͷσϓϩΠॲཧͷͨΊͷίϚϯυΛ, γΣϧεΫϦϓτͰ·ͱΊ࣮ͯߦ͢Δ • σϓϩΠͷखॱΛίʔυʹམͱ͠ࠐΉ • ίʔυͳͷͰ࣮ߦग़དྷΔ, ಡΊΔ, मਖ਼Ͱ͖Δ! • ͜Ε͕૿͑ͯ͘Δͱ, ֤αʔόͰεΫϦϓτΛ࣮ ߦ͢Δͷ͕େมʹͳͬͯ͘Δ…
Slide 38
Slide 38 text
πʔϧΛͬͨࣗಈԽ/ฒྻԽ • දྫCapistranoͳͲ • ༧ΊσϓϩΠઌͱͳΔαʔόΛొ͢Ε, ί Ϛϯυ1ͭͰશͯͷαʔόʹσϓϩΠՄೳ • ศརͳϔϧύʔ͕͋Γ, ίʔυͰσϓϩΠखॱ Λߏங͍͢͠
Slide 39
Slide 39 text
πʔϧΛͬͨࣗಈԽ/ฒྻԽ • αʔόͷڥΛߏங͢ΔπʔϧͰߦ͏߹ • Ansible, Chefͱ͍ͬͨϓϩϏδϣχϯάπʔ ϧͷ׆༻ • ڥߏஙͱσϓϩΠΛҰؾ௨؏Ͱಉ͡πʔϧͰ ࣮ݱͰ͖Δ • ࠷ॳͷҰาͱͯ͠Φεεϝ
Slide 40
Slide 40 text
πʔϧΛͬͨࣗಈԽ/ฒྻԽ • ۀͰ, ͜ͷล·Ͱ”ී௨ʹ"Δࣄ͕ଟ͍ • Infrastructure as CodeͷྲྀߦΓͱ͔… • ίʔυԽ͢Δ͜ͱͰ, ଞνʔϜͷίʔυ/ݟΛྲྀ༻ ͍͢͠ͱ͍͏ͷ͋Δ • ୠ͠, Γ͗͢ΔͱࣾͰňΨϥύΰεతਐԽʼnΛ͢Δ ͜ͱ...
Slide 41
Slide 41 text
ߋͳΔਐԽͷํੑ • ňՌΛར༻͢Δʼnޮͷྑ͍σϓϩΠ • BotΛͬͨChatOps • CIπʔϧ, SaaSͷ׆༻ • σϓϩΠͷશࣗಈԽ
Slide 42
Slide 42 text
ňՌΛར༻͢ΔʼnσϓϩΠ
Slide 43
Slide 43 text
GitΛͬͨσϓϩΠ • GitΛ͍ͬͯΔ߹Λߟ͑Δ • GitHub, BitBucketͳͲ... • ϦϙδτϦʹ͋ΔίʔυΛσϓϩΠ͢Δ • ී௨ʹσϓϩΠ͢Δͱ, Ͳ͏͍͏खॱʹͳΔ?
Slide 44
Slide 44 text
GitΛͬͨσϓϩΠ • ࣍ͷΑ͏ͳॲཧΛCapistranoͳͲͰߦ͏: • σϓϩΠରͷαʔόͷGitϦϙδτϦΛߋ৽ • ϥΠϒϥϦͷΠϯετʔϧ, ϏϧυΛ࣮ߦ • ΞϓϦέʔγϣϯΛ࠶ىಈ • αʔό͕ෳଘࡏ͢Δ߹, ͦͷ֤ʑͰ࣮ࢪ͢Δ
Slide 45
Slide 45 text
? • GitϦϙδτϦʹෛ୲͕͔͔Δ • Ұʹෳͷαʔό͕GitϦϙδτϦΛಡΈऔΓʹߦ͘ • Ϗϧυʹ͔͔Δίετ(Ϧιʔε, ࣌ؒ)͕ແବ • શͯͷαʔόͰ, `carton install`ͳͲ͕࣮ߦ͞Εͯ͠·͏ • JavaScriptͷϏϧυͳͲಉ༷
Slide 46
Slide 46 text
ňՌΛར༻͢ΔʼnσϓϩΠ • ༧Ί, σϓϩΠ͍ͨ͠ίʔυΛϏϧυ͓ͯ͘͠ • CIαʔόͷδϣϒͱͯ͠ߦ͏͜ͱ͕ଟ͍ • ͦͷňՌʼn͝ͱ, ίʔυΛtarͳͲͰݻΊΔ • `local`σΟϨΫτϦ, Ϗϧυͨ͠JavaScript...
Slide 47
Slide 47 text
ňՌΛར༻͢ΔʼnσϓϩΠ • tarS3ʹஔ͓ͯ͘͠ • S3ͳͷͰ, ಉ࣌ΞΫηεʹڧ͍ • σϓϩΠରͷαʔό, S3͔ΒtarΛऔಘ, ల։ͯ͠࠶ىಈ͢ΕσϓϩΠྃ • ͦΕͧΕͷαʔόͰϏϧυ͕ඞཁͳ͘ͳΔ
Slide 48
Slide 48 text
ňՌΛར༻͢ΔʼnσϓϩΠ • Consul + StretcherΛͬͨύλʔϯ • ʲະঝࠂʳ͜ͷޙͷmacopy͞Μͷ τʔΫͰ, ΧϠοΫʹ͓͚Δ۩ମྫͳͲ͕ ޠΒΕΔͷͰ!? • ͳͷͰ, ͜͜Ͱେ·͔ͳ֓ཁͷΈ͓͠·͢
Slide 49
Slide 49 text
Consul + Stretcher • Stretcher • ΧϠοΫͷ@fujiwara͞Μۘ • HashiCorp”Consul”ͷeventΛར༻ͨ͠ σϓϩΠπʔϧ
Slide 50
Slide 50 text
Consul + Stretcher http://techblog.kayac.com/10_stretcher.html
Slide 51
Slide 51 text
Consul + Stretcher • ։ൃऀConsulʹeventΛ͛ΕOK! • Consul/StretcherΛΘͣ, CapistranoͰ ֤αʔόʹtarΛऔಘͤ͞, ల։ͯ͠࠶ىಈͱ͍ ͏Γํ͋ΓಘΔ
Slide 52
Slide 52 text
BotΛͬͨChatOps
Slide 53
Slide 53 text
ChatOps (Hubot) • Botʹ͓ئ͍͢ΕσϓϩΠ͕ಈ͘ • Botͱνϟοτπʔϧ(Slack)Ͱަྲྀ • ňσϓϩΠͷՄࢹԽʼnʹͭͳ͕Δ • σϓϩΠͷ༷ࢠ͕νϟοτͰՄࢹԽͰ͖Δ • ਐḿͱ͔, ͳͦ͞͏͔ͱ͔, ײ͍͢͡
Slide 54
Slide 54 text
CIπʔϧ/SaaSͷ׆༻
Slide 55
Slide 55 text
CIπʔϧ • ༷ʑͳҰ࿈ͷॲཧ(Job)Λཧ/࣮ߦͯ͘͠ΕΔ • σϓϩΠͷҝͷॲཧΛཧͤ͞Δ • Jenkins, Concourse CI, Circle CIͳͲ… • ཤྺϩάΔͷͰ, ҆৺ײ͕͋Δ
Slide 56
Slide 56 text
Jenkins • σϑΝΫτελϯμʔυײ͕͋Δ • ࠷ۙ2.0͕ग़ͯ, Jenkinsfileͱ͍͏֓೦͕ొ • ίʔυͰδϣϒΛཧग़དྷΔΑ͏ʹͳͬͨ! • JenkinsΛཧ͢Δ͜ͱΛňհޢʼnͱݺΜͩΓ…
Slide 57
Slide 57 text
Concourse CI • PivotalͷύΠϓϥΠϯܕCIπʔϧ • ݟ͕ͨΊͬͪΌΠέͯΔ, ͔͍͍ͬ͜ • DockerΛ͍ͬͯͯ, δϣϒ͕Dockerͷ্ Ͱಈ࡞͢ΔͷͰ, ڥߏஙָ͕ͪΜ
Slide 58
Slide 58 text
Concourse CIͷ༷ࢠ https://qiita-image-store.s3.amazonaws.com/0/1852/4e14e419-5b1f-75f6-f623-6aac28c9788f.png
Slide 59
Slide 59 text
SaaSͳCI • Travis • GitHubͷpublicϦϙδτϦແྉͰ͑Δ • ଞʹCircle CI, WerckerͳͲ... • ͪΖΜSaaSͳͷͰ, ༗ྉͳࣄ͕ଟ͍Ͱ͢
Slide 60
Slide 60 text
No content
Slide 61
Slide 61 text
Mackerel • ͯͳͷαʔόཧ/ࢹͷͨΊͷSaaS • σϓϩΠͷҝʹňαʔόͷཧʼnॏཁ • ňͲͷαʔόʹσϓϩΠ͢Δ͔?ʼn • Capistrano + Mackerelͷྫ • σϓϩΠରͷαʔόΛMackerel͔ΒΑ͠ͳʹݟ͚ͭͯ͘ΕΔ • https://mackerel.io/ja/docs/entry/advanced/capistrano-2.x
Slide 62
Slide 62 text
σϓϩΠͷશࣗಈԽ
Slide 63
Slide 63 text
σϓϩΠͷશࣗಈԽ • ͜͏͍ͬͨΈΛΈ߹ΘͤΕ, σϓϩΠͷશࣗಈ Խ࣮ݱͰ͖Δ • GitHubʹpushͨ͠ΒσϓϩΠྃ! • ୠ͠, શࣗಈԽʹϦεΫ͋Δ • ňਓؒͷख͕ೖΔ༨ʼn͋Δछͷ҆શห • લड़ͷ௨Γ, ňͲ͜·ͰࣗಈԽ͢Δ͔?ʼnΛߟ͑Δ
Slide 64
Slide 64 text
σϓϩΠͱϚΠάϨʔγϣϯ
Slide 65
Slide 65 text
αʔϏεͱσʔλ • αʔϏε͕ར༻͢Δσʔλͷཧʹ͍ͭͯ ߟ͑ͳ͚Ε͍͚ͳ͍ • RDBMSʹσʔλΛอଘͨ͠Γ… • KVSΛར༻ͨ͠Γ… • ΦϒδΣΫτετϨʔδΛར༻ͨ͠Γ...
Slide 66
Slide 66 text
εΩʔϚͷมߋ • ΞϓϦέʔγϣϯͷσϓϩΠʹͬͯ, RDBMSͷεΩʔϚΛมߋ͍ͨ͠߹͋Δ • ৽͍͠ςʔϒϧΛ༻ҙ͍ͨ͠ • ςʔϒϧʹΧϥϜΛՃ͍ͨ͠ • εΩʔϚͷมߋ -> ϚΠάϨʔγϣϯ
Slide 67
Slide 67 text
ϚΠάϨʔγϣϯ͢Δ • SQLͷALTERจΛଧͭ • GitDDL, GitDDL::Migrator, Anego, ͦͷࢧԉ Λ͢Δπʔϧୡ • pt-osc • TriggerΛۦͯ͠, ͍͍ײ͡ʹϚΠάϨʔγϣϯ Λͯ͘͠ΕΔ܅
Slide 68
Slide 68 text
ϚΠάϨʔγϣϯͷ͠͞ • ALTERจͷ࣮ߦʹͲΕ͚͕͔͔ͩ࣌ؒΔ͔? • ϚΠάϨʔγϣϯޙΞϓϦಈ͔͘? • σϓϩΠલͷΞϓϦέʔγϣϯ͕, RDBMS ͷϚΠάϨʔγϣϯޙਖ਼͘͠ಈ͘ͳΒ, ແఀࢭͰσϓϩΠͰ͖Δ
Slide 69
Slide 69 text
Graceful Restart
Slide 70
Slide 70 text
Tl;dr • @shibayu_36͞ΜͷΤϯτϦΛಡ͏! • ňServer::Starter͔ΒֶͿhot deployͷΈʼn http://blog.shibayu36.org/entry/ 2012/05/07/201556 • τοϓΫϥεʹΘ͔Γ͍͢Graceful Restart ͷࢿྉͰ͢
Slide 71
Slide 71 text
Graceful Restart • σϓϩΠ࣌ʹϓϩηεͷ࠶ىಈ͕ඞཁ • มߋͨ͠ίʔυΛద༻͢ΔͨΊ • ී௨ʹ࠶ىಈ͢Δͱ, ͦͷॠ͚ؒͩϦΫΤετΛࡹ͚ͳ͘ ͳͬͯ͠·͏ • αʔϏε͕ॠؒతʹμϯ͢Δ! • ͦ͜ͰGraceful Restart (༏խͳϦελʔτ)
Slide 72
Slide 72 text
PerlͷGraceful Restart • PerlͳΒ, Server::StarterҰ • ࣍ͷΑ͏ʹ͏:
Slide 73
Slide 73 text
http://blog.shibayu36.org/entry/2012/05/07/201556
Slide 74
Slide 74 text
http://blog.shibayu36.org/entry/2012/05/07/201556
Slide 75
Slide 75 text
http://blog.shibayu36.org/entry/2012/05/07/201556
Slide 76
Slide 76 text
http://blog.shibayu36.org/entry/2012/05/07/201556
Slide 77
Slide 77 text
http://blog.shibayu36.org/entry/2012/05/07/201556
Slide 78
Slide 78 text
http://blog.shibayu36.org/entry/2012/05/07/201556
Slide 79
Slide 79 text
ͯͳͷσϓϩΠ
Slide 80
Slide 80 text
ͯͳͱσϓϩΠ • ͨ͘͞ΜͷαʔϏεΛӡ༻͍ͯ͠Δ • ͦͷͦΕͧΕʹσϓϩΠϑϩʔ͕͋Δ • ࠓճͯͳϒϩάνʔϜΛྫʹ...
Slide 81
Slide 81 text
ͯͳϒϩάνʔϜͷσϓϩΠ • ։ൃऀΈΜͳσϓϩΠͰ͖Δ • σϓϩΠຖʹͩΕ͔͕ΞαΠϯ͞ΕΔ • ༦ํ, ༵ۚσϓϩΠ͠ͳ͍
Slide 82
Slide 82 text
ϒϥϯνӡ༻ • masterϒϥϯν • ຊ൪ڥͰಈ͍͍ͯΔίʔυ • staging/masterϒϥϯν • stagingڥͰಈ͍͍ͯΔίʔυ • ։ൃ༻ͷϒϥϯν(τϐοΫϒϥϯν)staging/masterʹ Pull Requestͯ͠Ϛʔδ
Slide 83
Slide 83 text
खॱॻͷࣗಈੜ • git-pr-release Ͱखॱॻͷࣗಈੜ • staging/master ͔Β master ͷPull Requestͷdescription͕खॱॻʹͳΔ • ޙखॱॻʹै͍͚ͬͯͬͯͩ͘!
Slide 84
Slide 84 text
No content
Slide 85
Slide 85 text
No content
Slide 86
Slide 86 text
ײ • (ಈ࡞֬ೝΛআ͚)10͘Β͍ͰऴΘΔ • શࣗಈԽͰͳ͘, ࣗಈԽ • αʔϏεͷنখ͘͞ͳ͍ͷͰ, ్தखಈ ʹΑΔ֬ೝϑΣΠζΛڬΜͰ͍Δ • ň҆શʹ͍ͯ͠Δʼnҹ
Slide 87
Slide 87 text
ײ • ໘ͳ/࣌ؒͷ͔͔ΔॲཧJenkinsʹͤ, ॏେͳλεΫਓ͕ؒखݩͰ࣮ߦ͢Δ • Slackʹ༷ࢠΛྲྀͭͭ͠, ϩάΛ֬ೝ͢Δ • ϦϦʔελΠϛϯάͳͲߟྀ͠ͳ͍ͱ͍͚ͳ ͍͕, ͔ͳΓΧδϡΞϧʹσϓϩΠ͍ͯ͠Δ
Slide 88
Slide 88 text
·ͱΊ
Slide 89
Slide 89 text
·ͱΊ • αʔϏεͷ։ൃͱσϓϩΠ྆ྠ • ͔ͬ͠Γߟ͍͑ͯ͘ඞཁ͕͋Δ • ࠷ݶͷίετͰ, ࠷ྑͷޮΛٻΊͯ • σϓϩΠ, ͔ͬ͠Γߟ͍͖͑ͯ·͠ΐ͏
Slide 90
Slide 90 text
We are hiring! ͯͳͰ, ϞϦϞϦ։ൃ, ͲΜͲΜσϓϩΠΛ Ұॹʹ͍ͬͯ͘ΤϯδχΞΛืू͍ͯ͠·͢!
Slide 91
Slide 91 text
We are hiring! http://hatenacorp.jp/recruit/career/application-engineer