YAPC::Kansai
by
papix
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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