YAPC::Kansai

120b74af626c2b23f954926ef68ac5d6?s=47 papix
March 04, 2017

 YAPC::Kansai

120b74af626c2b23f954926ef68ac5d6?s=128

papix

March 04, 2017
Tweet

Transcript

  1. PerlͷWebΞϓϦέʔγϣϯΛ σϓϩΠ͢Δ࣌ʹ ๻ୡ͕ߟ͑ͨ͜ͱ papix (Hatena Co., Ltd.)

  2. ͸͡Ίʹ

  3. None
  4. Θͨ͠Ͱ͢

  5. None
  6. ͸ͯͳ͔Βདྷ·ͨ͠

  7. ͭͬͯ͘·͢

  8. papix • Twitter: @__papix__ • GitHub: papix • CPAN: PAPIX

    • Blog • Technology: http://papix.hatenablog.com/ • My Life: http://papix.hatenablog.jp/
  9. PerlͷWebΞϓϦέʔγϣϯΛ σϓϩΠ͢Δ࣌ʹ ๻ୡ͕ߟ͑ͨ͜ͱ papix (Hatena Co., Ltd.)

  10. σϓϩΠͱ͸?

  11. σϓϩΠͱ͸? • WebαʔϏε͸(େ఍)ࣗ෼ͷPCͰ։ൃ͢Δ • ͦͷαʔϏεΛ, Ϣʔβʹ࢖ͬͯ΋Β͏ʹ͸? • Կ͔͠ΒͷαʔόʹňσϓϩΠʼnͯ͠, • ňγεςϜΛར༻Մೳͳঢ়ଶʹʼn͠ͳ͚Ε͹


    ͳΒͳ͍
  12. αʔϏεͷ྆ྠ • ň։ൃʼnͱňσϓϩΠʼn͸αʔϏεͷ྆ྠ • ։ൃ, σϓϩΠ, ։ൃ, σϓϩΠ… • ͦͷͨΊ,

    σϓϩΠͷॏཁ౓͸ߴ͍! • σϓϩΠͳͯ͘͠αʔϏεͳ͠!!!!
  13. σϓϩΠͷॏཁੑ • αʔϏεͷՁ஋ΛߴΊΔҝʹඞཁෆՄܽ • ϢʔβͷମݧΛଛͶͳ͍Α͏ʹ… • ͳΔ΂͘μ΢ϯλΠϜͳ͘… (ແఀࢭͰ) • σϓϩΠࣦഊͰαʔϏε͕௕ظؒࢭ·Δ

    • ΦϖϨʔγϣϯϛεͰσʔλ͕ফ͑Δ
  14. σϓϩΠʹਖ਼ղͳ͠ • Ԧಓ(ύλʔϯ)͸͋Δ΋ͷͷ, ม਺͕ଟ͍ • αʔϏεͷػೳ, Πϯϑϥߏ੒, ։ൃऀͷ਺, Ϣʔβ਺, ར༻͢Δݴޠ,

    WAF, ϛυϧ΢ΣΞ, อଘ͢Δσʔλͷྔ… • ͍Ζ͍Ζͳ΋ͷͱ޲͖߹͏ඞཁ͕͋Δ
  15. αʔϏεͱਐԽ͢ΔσϓϩΠ • αʔϏεͷਐԽʹ൐͍࠷ળղ͕มΘ͍ͬͯ͘ • ࠷ॳ͸खಈͰ΋͍͚ΔΑͶ • खಈͩͱΦϖϛε͢Δ͔ΒࣗಈԽ͍ͨ͠Ͷ • ୆਺૿͑Δͱਏ͍͔Βฒྻ࣮ߦ͍ͨ͠Ͷ •

    etc…
  16. σϓϩΠʹ͍ͭͯ࠷ۙࢥ͏ࣄ • (ۀ຿ͷ৔߹)ඞཁ࠷௿ݶʹཹΊΔ • ࠷ॳ͔Βཧ૝Λ࣮ݱ͢Δͱ, ίετߴ͍ • ΦʔόʔςΫϊϩδʔʹ૸Γ͕ͪ • Ҿ͖ܧ͗΋େมʹͳͬͯ͠·͏…

    • ͍ͭͰ΋ۀ຿Ͱ࢖͑ΔΑ͏ʹ, झຯͷྖҬͰ৽͍͠΍Γํ, πʔϧΛࢼͤΔͱྑ͍!
  17. σϓϩΠʹ͍ͭͯ ߟ͑Δ

  18. σϓϩΠʹࢥ͍Λ஘ͤΔ • ͪΌΜͱͨ͠σϓϩΠΛ࣮ݱ͢Δʹ͸? • ͍Ζ͍Ζͳࣄͱ޲͖߹͏ඞཁ͕͋Δ • ݱ࣮ͱ޲͔͍߹͍͖ͬͯ·͠ΐ͏ • ੒ޭ͸, టष͍࡞ۀͷੵΈॏͶͷઌʹ͋Δ

  19. ͍Ζ͍Ζͳ΋ͷͱ ޲͖߹͓͏

  20. Ͳ͜ʹσϓϩΠ͢Δ? • αʔϏε͕ಈ͘Πϯϑϥͱ޲͖߹͏ • VPS (Virtual Private Server) • IaaS

    (Infrastructure as a Service) • PaaS (Platform as a Service) • ΦϯϓϨαʔό / ࣗ୐αʔό
  21. ԿΛσϓϩΠ͢Δ? • αʔϏεͦͷ΋ͷͱ޲͖߹͏ • όον΍ϫʔΧʔ͸͋Δ͔? • ϞϊϦγοΫ? ϚΠΫϩαʔϏε? • JavaScript͸͋Δ͔?

    ͦͷϏϧυ͸? • ϥΠϒϥϦͷΠϯετʔϧ/ߋ৽͸?
  22. Ͳ͏΍ͬͯσϓϩΠ͢Δ? • αʔϏε΍, ར༻͢Δϛυϧ΢ΣΞͱ޲͖߹͏ • Ͳ͏΍ͬͯϓϩηεΛಈ͔͔͢? • αʔϏεͷ࠶ىಈ͸Ͳ͏͢Δ͔? • RDBMSͷϚΠάϨʔγϣϯ͸ඞཁ͔?

    • ΩϟογϡͷഁغͳͲߟྀ͠ͳ͍ͱ͍͚ͳ͍͔?
  23. ͲΜͳσϓϩΠʹ͢Δ? • αʔϏεΛ։ൃ͢ΔνʔϜͱ޲͖߹͏ • σϓϩΠʹ࢖͑Δίετ͸? (ίετ) • खಈͰ͢Δ? ࣗಈԽ͢Δ? (ࣗಈԽ౓)

    • σϓϩΠ͸ແఀࢭ? ϝϯςΛೖΕΔ? (Մ༻ੑ) • ͲΕ͚ͩσϓϩΠ͍ͨ͠? (σϓϩΠස౓)
  24. ňσϓϩΠͷϏδϣϯʼn͸େࣄ • ňͲΜͳσϓϩΠʹ͢Δʼnʹ͋ͨΔ෦෼ • ܦݧଇͱͯ͠, ͜ͷลΓͷ߹ҙ/ܭը͕ࡶͩͱ, Φʔ όʔςΫϊϩδʔʹ૸Γ͕ͪ • ଞͷཁૉʹൺ΂,

    ׂͱࣗ༝౓͕ߴ͍(ͱࢥ͏) • झຯαʔϏεͰ͋Ε͹, νʔϜ = ࣗ෼ͳͷͰ޷͖উ ख΍ΕΔ!!!
  25. ίετͷྫ • ໌೔ϦϦʔε͔ͩΒͳΔ͸΍Ͱ! • සൟʹϦϦʔε͢Δ͠, ͔ͬ͠Γ࡞Γࠐ΋͏! • طଘͷࢿݯΛར༻ͯ͠, γϡοͱग़དྷͳ͍?

  26. ίετͷิ଍ • ߏஙίετͱ࣮ࢪίετ͕͋Δ • ߏஙίετˢ ͩͱ, ࣮ࢪίετ ↓ (ࣗಈ) •

    ߏஙίετ ↓ ͩͱ, ࣮ࢪίετ ↑ (खಈ) • ࡶͳϏδϣϯͰਐΊΔͱͲͪΒ΋ΞήΞήʹ...
  27. ࣗಈԽ౓ͷྫ • 1ίϚϯυͰσϓϩΠΛશͯ׬ྃͤ͞Α͏! • ్தͰ֬ೝΛڬΈ͍ͨͷͰ, ز͔ͭͷϑΣΠζ ʹ෼͚ͯ, ͦΕͧΕίϚϯυΛ࣮ߦ͠Α͏ • શ෦खಈͰ΍Ζ͏!

    (ਖ਼ؾ͔!?)
  28. ࣗಈԽ౓ͷิ଍ • ઌʹ঺հͨ͠ňίετʼnʹӨڹΛ༩͑Δ • ࣗಈԽ౓ΛߴΊΕ͹ߴΊΔ΄Ͳ, ࢦ਺ؔ਺తʹ ίετ͕૿͍͑ͯ͘ (ͱࢥ͏) • νʔϜ/αʔϏεʹԠͯ͡ద౓ʹखಈ࡞ۀͷ

    ཁૉΛڬΜͰ͍͘ͷ͕େࣄͳͷͰ͸?
  29. Մ༻ੑͷྫ • σϓϩΠ͸ແఀࢭ(ϊʔϝϯς)Ͱ΍Γ͍ͨ! • ਂ໷Ͱ͋Ε͹X෼ͷఀࢭ͸ڐ༰Ͱ͖ΔͶ • ݄ʹXճ͸αʔϏεΛࢭΊͯσϓϩΠͰ͖ͦ͏

  30. Մ༻ੑͷิ଍ • SLA(Service Level Agreement)ʹ΋ؔΘͬͯ͘Δ • झຯͷαʔϏεͰ͋Ε͹, ϦϦʔεͷ౓ʹఀࢭ͠ ͯ΋ౖΒΕΔ͜ͱ͸ͳͦ͞͏ •

    ޿͘࢖ΘΕΔαʔϏε, ج൫తαʔϏεͩͱ,
 ͳΔ΂͘ແఀࢭͰσϓϩΠͰ͖ΔΑ͏ʹ͍ͨ͠!
  31. σϓϩΠස౓ͷྫ • 1೔ʹ10ճ͘Β͍σϓϩΠ͍ͨ͠! • िʹ1ճσϓϩΠͰ͖Ε͹े෼͔ͳ... • 1ճ͋ͨΓX෼ͰσϓϩΠ͍ͨ͠!

  32. σϓϩΠස౓ͷิ଍ • αʔϏε։ൃॳظͰ͸ॏཁͳཁૉ • σϓϩΠճ਺ = ϢʔβʹՁ஋Λಧ͚Δࢼߦνϟϯε਺ • ௿ίετͰ, 1೔ʹԿ౓΋σϓϩΠग़དྷΔͱྑ͍

    • ྫ: GitHub (1೔100ճҎ্σϓϩΠ!) • ࠓ΋͍ͯ͠Δͷ͔ͳ...?
  33. Ϗδϣϯ͕ࡶͩͱى͖Δ͜ͱ • σϓϩΠස౓͕௿͍ͷʹ, ϐλΰϥεΠονతʹ
 શࣗಈԽ͞ΕͨϞϊ͕࢓্͕ͬͨΓ... • ͦͷίετͰαʔϏε։ൃΛޙԡ͠Ͱ͖ͨͷͰ͸!? • ࡶʹਐΊͯ, ΍͚ʹ࣌ؒͷ͔͔ΔϞϊ͕࢓্͕ͬͨΓ...

    • Ұ೔ʹԿ౓΋σϓϩΠ͍ͨ͠ͷʹ…!
  34. ࢓૊ΈΛม͑Δ೉͠͞ • Ұ౓࡞ͬͨ࢓૊Έ(͜͜Ͱ͸σϓϩΠ)Λޙ͔Βม͑ͯ ͍͘ͷ͸ඇৗʹ೉͍͠! • ຬͨ͢΂͖σϓϩΠͷϏδϣϯ(৚݅)͕͋ΔͳΒ, ຬͨͤΔΑ͏ʹ࠷ॳ͔ΒؤுΔ΂͖! • (࠷ॳ͔ΒϏδϣϯ͕ఆ·͍ͬͯͯ, ͣͬͱมΘΒͳ͍

    ͳΒۤ࿑͠ͳ͍࿩Ͱ͸͋Γ·͢!)
  35. WebΞϓϦέʔγϣϯͷ σϓϩΠઓུ

  36. खಈΦϖϨʔγϣϯ • αʔόʹ઀ଓͯ͠, खͰίʔυΛೖྗ • ίϚϯυΛؒҧ͑ͳ͍Α͏ʹ, खॱॻΛ࡞Δ • ͱ͸͍͑, ਓؒͳͷͰͨ·ʹؒҧ͑Δ…!

    • αʔόʔͷ୆਺͕૿͑Ε͹, ΦϖϛεͷՄೳੑ΋ ૿͍͑ͯ͘…
  37. γΣϧεΫϦϓτʹΑΔࣗಈԽ • Ұ࿈ͷσϓϩΠॲཧͷͨΊͷίϚϯυΛ,
 γΣϧεΫϦϓτͰ·ͱΊ࣮ͯߦ͢Δ • σϓϩΠͷखॱΛίʔυʹམͱ͠ࠐΉ • ίʔυͳͷͰ࣮ߦग़དྷΔ, ಡΊΔ, मਖ਼Ͱ͖Δ!

    • ͜Ε΋୆਺͕૿͑ͯ͘Δͱ, ֤αʔόͰεΫϦϓτΛ࣮ ߦ͢Δͷ͕େมʹͳͬͯ͘Δ…
  38. πʔϧΛ࢖ͬͨࣗಈԽ/ฒྻԽ • ୅දྫ͸CapistranoͳͲ • ༧ΊσϓϩΠઌͱͳΔαʔόΛొ࿥͢Ε͹, ί Ϛϯυ1ͭͰશͯͷαʔόʹσϓϩΠՄೳ • ศརͳϔϧύʔ͕͋Γ, ίʔυͰσϓϩΠखॱ

    Λߏங͠΍͍͢
  39. πʔϧΛ࢖ͬͨࣗಈԽ/ฒྻԽ • αʔόͷ؀ڥΛߏங͢ΔπʔϧͰߦ͏৔߹΋ • Ansible, Chefͱ͍ͬͨϓϩϏδϣχϯάπʔ ϧͷ׆༻ • ؀ڥߏஙͱσϓϩΠΛҰؾ௨؏Ͱಉ͡πʔϧͰ ࣮ݱͰ͖Δ

    • ࠷ॳͷҰาͱͯ͠Φεεϝ
  40. πʔϧΛ࢖ͬͨࣗಈԽ/ฒྻԽ • ۀ຿Ͱ͸, ͜ͷล·Ͱ͸”ී௨ʹ"΍Δࣄ͕ଟ͍ • Infrastructure as CodeͷྲྀߦΓͱ͔… • ίʔυԽ͢Δ͜ͱͰ,

    ଞνʔϜͷίʔυ/஌ݟΛྲྀ༻ ͠΍͍͢ͱ͍͏ͷ΋͋Δ • ୠ͠, ΍Γ͗͢Δͱࣾ಺ͰňΨϥύΰεతਐԽʼnΛ͢Δ ͜ͱ΋...
  41. ߋͳΔਐԽͷํ޲ੑ • ň੒Ռ෺Λར༻͢Δʼnޮ཰ͷྑ͍σϓϩΠ • BotΛ࢖ͬͨChatOps • CIπʔϧ, SaaSͷ׆༻ • σϓϩΠͷ׬શࣗಈԽ

  42. ň੒Ռ෺Λར༻͢ΔʼnσϓϩΠ

  43. GitΛ࢖ͬͨσϓϩΠ • GitΛ࢖͍ͬͯΔ৔߹Λߟ͑Δ • GitHub, BitBucketͳͲ... • ϦϙδτϦʹ͋ΔίʔυΛσϓϩΠ͢Δ • ී௨ʹσϓϩΠ͢Δͱ,

    Ͳ͏͍͏खॱʹͳΔ?
  44. GitΛ࢖ͬͨσϓϩΠ • ࣍ͷΑ͏ͳॲཧΛCapistranoͳͲͰߦ͏: • σϓϩΠର৅ͷαʔόͷGitϦϙδτϦΛߋ৽ • ϥΠϒϥϦͷΠϯετʔϧ౳, ϏϧυΛ࣮ߦ • ΞϓϦέʔγϣϯΛ࠶ىಈ

    • αʔό͕ෳ਺ଘࡏ͢Δ৔߹, ͦͷ֤ʑͰ࣮ࢪ͢Δ
  45. ໰୊఺͸? • GitϦϙδτϦʹෛ୲͕͔͔Δ • Ұ౓ʹෳ਺ͷαʔό͕GitϦϙδτϦΛಡΈऔΓʹߦ͘ • Ϗϧυʹ͔͔Δίετ(Ϧιʔε, ࣌ؒ)͕ແବ • શͯͷαʔόͰ,

    `carton install`ͳͲ͕࣮ߦ͞Εͯ͠·͏ • JavaScriptͷϏϧυͳͲ΋ಉ༷
  46. ň੒Ռ෺Λར༻͢ΔʼnσϓϩΠ • ༧Ί, σϓϩΠ͍ͨ͠ίʔυΛϏϧυ͓ͯ͘͠ • CIαʔόͷδϣϒͱͯ͠ߦ͏͜ͱ͕ଟ͍ • ͦͷň੒Ռ෺ʼn͝ͱ, ίʔυΛtarͳͲͰݻΊΔ •

    `local`σΟϨΫτϦ, Ϗϧυͨ͠JavaScript...
  47. ň੒Ռ෺Λར༻͢ΔʼnσϓϩΠ • tar͸S3ʹ഑ஔ͓ͯ͘͠ • S3ͳͷͰ, ಉ࣌ΞΫηε౳ʹ΋ڧ͍ • σϓϩΠର৅ͷαʔό͸, S3͔ΒtarΛऔಘ,
 ల։ͯ͠࠶ىಈ͢Ε͹σϓϩΠ׬ྃ

    • ͦΕͧΕͷαʔόͰϏϧυ͕ඞཁͳ͘ͳΔ
  48. ň੒Ռ෺Λར༻͢ΔʼnσϓϩΠ • Consul + StretcherΛ࢖ͬͨύλʔϯ • ʲະঝ୚޿ࠂʳ͜ͷޙͷmacopy͞Μͷ
 τʔΫͰ, ΧϠοΫʹ͓͚Δ۩ମྫͳͲ͕
 ޠΒΕΔͷͰ͸!?

    • ͳͷͰ, ͜͜Ͱ͸େ·͔ͳ֓ཁͷΈ͓࿩͠·͢
  49. Consul + Stretcher • Stretcher • ΧϠοΫͷ@fujiwara͞Μۘ੡ • HashiCorp੡”Consul”ͷeventΛར༻ͨ͠
 σϓϩΠπʔϧ

  50. Consul + Stretcher http://techblog.kayac.com/10_stretcher.html

  51. Consul + Stretcher • ։ൃऀ͸ConsulʹeventΛ౤͛Ε͹OK! • Consul/StretcherΛ࢖Θͣ, CapistranoͰ
 ֤αʔόʹtarΛऔಘͤ͞, ల։ͯ͠࠶ىಈͱ͍

    ͏΍Γํ΋͋ΓಘΔ
  52. BotΛ࢖ͬͨChatOps

  53. ChatOps (Hubot) • Botʹ͓ئ͍͢Ε͹σϓϩΠ͕ಈ͘ • Botͱ͸νϟοτπʔϧ(Slack౳)Ͱަྲྀ • ňσϓϩΠͷՄࢹԽʼnʹ΋ͭͳ͕Δ • σϓϩΠͷ༷ࢠ͕νϟοτͰՄࢹԽͰ͖Δ

    • ਐḿͱ͔, ໰୊ͳͦ͞͏͔ͱ͔, ײ͡΍͍͢
  54. CIπʔϧ/SaaSͷ׆༻

  55. CIπʔϧ • ༷ʑͳҰ࿈ͷॲཧ(Job)Λ؅ཧ/࣮ߦͯ͘͠ΕΔ • σϓϩΠͷҝͷॲཧΛ؅ཧͤ͞Δ • Jenkins, Concourse CI, Circle

    CIͳͲ… • ཤྺ΍ϩά΋࢒ΔͷͰ, ҆৺ײ͕͋Δ
  56. Jenkins • σϑΝΫτελϯμʔυײ͕͋Δ • ࠷ۙ2.0͕ग़ͯ, Jenkinsfileͱ͍͏֓೦͕ొ৔ • ίʔυͰδϣϒΛ؅ཧग़དྷΔΑ͏ʹͳͬͨ! • JenkinsΛ؅ཧ͢Δ͜ͱΛňհޢʼnͱݺΜͩΓ…

  57. Concourse CI • PivotalͷύΠϓϥΠϯܕCIπʔϧ • ݟͨ໨͕ΊͬͪΌΠέͯΔ, ͔͍͍ͬ͜ • DockerΛ࢖͍ͬͯͯ, δϣϒ͕Dockerͷ্

    Ͱಈ࡞͢ΔͷͰ, ؀ڥߏஙָ͕ͪΜ
  58. Concourse CIͷ༷ࢠ https://qiita-image-store.s3.amazonaws.com/0/1852/4e14e419-5b1f-75f6-f623-6aac28c9788f.png

  59. SaaSͳCI • Travis • GitHubͷpublicϦϙδτϦ͸ແྉͰ࢖͑Δ • ଞʹ΋Circle CI, WerckerͳͲ... •

    ΋ͪΖΜSaaSͳͷͰ, ༗ྉͳࣄ͕ଟ͍Ͱ͢
  60. None
  61. Mackerel • ͸ͯͳͷαʔό؅ཧ/؂ࢹͷͨΊͷSaaS • σϓϩΠͷҝʹ͸ňαʔόͷ؅ཧʼn΋ॏཁ • ňͲͷαʔόʹσϓϩΠ͢Δ͔?ʼn • Capistrano +

    Mackerelͷྫ • σϓϩΠର৅ͷαʔόΛMackerel͔ΒΑ͠ͳʹݟ͚ͭͯ͘ΕΔ • https://mackerel.io/ja/docs/entry/advanced/capistrano-2.x
  62. σϓϩΠͷ׬શࣗಈԽ

  63. σϓϩΠͷ׬શࣗಈԽ • ͜͏͍ͬͨ࢓૊ΈΛ૊Έ߹ΘͤΕ͹, σϓϩΠͷ׬શࣗಈ Խ΋࣮ݱͰ͖Δ • GitHubʹpushͨ͠ΒσϓϩΠ׬ྃ! • ୠ͠, ׬શࣗಈԽʹ΋ϦεΫ͸͋Δ

    • ňਓؒͷख͕ೖΔ༨஍ʼn͸͋Δछͷ҆શห • લड़ͷ௨Γ, ňͲ͜·ͰࣗಈԽ͢Δ͔?ʼnΛߟ͑Δ
  64. σϓϩΠͱϚΠάϨʔγϣϯ

  65. αʔϏεͱσʔλ • αʔϏε͕ར༻͢Δσʔλͷ؅ཧʹ͍ͭͯ΋ ߟ͑ͳ͚Ε͹͍͚ͳ͍ • RDBMSʹσʔλΛอଘͨ͠Γ… • KVSΛར༻ͨ͠Γ… • ΦϒδΣΫτετϨʔδΛར༻ͨ͠Γ...

  66. εΩʔϚͷมߋ • ΞϓϦέʔγϣϯͷσϓϩΠʹ൐ͬͯ, RDBMSͷεΩʔϚΛมߋ͍ͨ͠৔߹΋͋Δ • ৽͍͠ςʔϒϧΛ༻ҙ͍ͨ͠ • ςʔϒϧʹΧϥϜΛ௥Ճ͍ͨ͠ • εΩʔϚͷมߋ

    -> ϚΠάϨʔγϣϯ
  67. ϚΠάϨʔγϣϯ͢Δ • SQLͷALTERจΛ௚઀ଧͭ • GitDDL, GitDDL::Migrator, Anego౳͸, ͦͷࢧԉ Λ͢Δπʔϧୡ •

    pt-osc • Trigger౳Λۦ࢖ͯ͠, ͍͍ײ͡ʹϚΠάϨʔγϣϯ Λͯ͘͠ΕΔ܅
  68. ϚΠάϨʔγϣϯͷ೉͠͞ • ALTERจͷ࣮ߦʹͲΕ͚͕͔͔ͩ࣌ؒΔ͔? • ϚΠάϨʔγϣϯޙ΋ΞϓϦ͸ಈ͔͘? • σϓϩΠલͷΞϓϦέʔγϣϯ͕, RDBMS ͷϚΠάϨʔγϣϯޙ΋ਖ਼͘͠ಈ͘ͳΒ,
 ແఀࢭͰσϓϩΠ΋Ͱ͖Δ

  69. Graceful Restart

  70. Tl;dr • @shibayu_36͞ΜͷΤϯτϦΛಡ΋͏! • ňServer::Starter͔ΒֶͿhot deployͷ࢓૊Έʼn
 http://blog.shibayu36.org/entry/ 2012/05/07/201556 • τοϓΫϥεʹΘ͔Γ΍͍͢Graceful

    Restart ͷࢿྉͰ͢
  71. Graceful Restart • σϓϩΠ࣌ʹ͸ϓϩηεͷ࠶ىಈ͕ඞཁ • มߋͨ͠ίʔυΛద༻͢ΔͨΊ • ී௨ʹ࠶ىಈ͢Δͱ, ͦͷॠ͚ؒͩϦΫΤετΛࡹ͚ͳ͘ ͳͬͯ͠·͏

    • αʔϏε͕ॠؒతʹμ΢ϯ͢Δ! • ͦ͜ͰGraceful Restart (༏խͳϦελʔτ)
  72. PerlͷGraceful Restart • PerlͳΒ, Server::StarterҰ୒ • ࣍ͷΑ͏ʹ࢖͏:

  73. http://blog.shibayu36.org/entry/2012/05/07/201556

  74. http://blog.shibayu36.org/entry/2012/05/07/201556

  75. http://blog.shibayu36.org/entry/2012/05/07/201556

  76. http://blog.shibayu36.org/entry/2012/05/07/201556

  77. http://blog.shibayu36.org/entry/2012/05/07/201556

  78. http://blog.shibayu36.org/entry/2012/05/07/201556

  79. ͸ͯͳͷσϓϩΠ

  80. ͸ͯͳͱσϓϩΠ • ͨ͘͞ΜͷαʔϏεΛӡ༻͍ͯ͠Δ • ͦͷͦΕͧΕʹσϓϩΠϑϩʔ͕͋Δ • ࠓճ͸͸ͯͳϒϩάνʔϜΛྫʹ...

  81. ͸ͯͳϒϩάνʔϜͷσϓϩΠ • ։ൃऀ͸ΈΜͳσϓϩΠͰ͖Δ • σϓϩΠຖʹͩΕ͔͕ΞαΠϯ͞ΕΔ • ༦ํ΍, ༵ۚ೔͸σϓϩΠ͠ͳ͍

  82. ϒϥϯνӡ༻ • masterϒϥϯν • ຊ൪؀ڥͰಈ͍͍ͯΔίʔυ • staging/masterϒϥϯν • staging؀ڥͰಈ͍͍ͯΔίʔυ •

    ։ൃ༻ͷϒϥϯν(τϐοΫϒϥϯν)͸staging/masterʹ Pull Requestͯ͠Ϛʔδ
  83. खॱॻͷࣗಈੜ੒ • git-pr-release Ͱखॱॻͷࣗಈੜ੒ • staging/master ͔Β master ΁ͷPull Requestͷdescription͕खॱॻʹͳΔ

    • ޙ͸खॱॻʹैͬͯ΍͍͚ͬͯͩ͘!
  84. None
  85. None
  86. ײ૝ • (ಈ࡞֬ೝΛআ͚͹)10෼͘Β͍ͰऴΘΔ • શࣗಈԽͰ͸ͳ͘, ൒ࣗಈԽ • αʔϏεͷن໛΋খ͘͞ͳ͍ͷͰ, ్தखಈ ʹΑΔ֬ೝϑΣΠζΛڬΜͰ͍Δ

    • ň҆શʹ౗͍ͯ͠Δʼnҹ৅
  87. ײ૝ • ໘౗ͳ/࣌ؒͷ͔͔Δॲཧ͸Jenkinsʹ೚ͤ,
 ੹೚ॏେͳλεΫ͸ਓ͕ؒखݩͰ࣮ߦ͢Δ • Slackʹ༷ࢠΛྲྀͭͭ͠, ϩάΛ֬ೝ͢Δ • ϦϦʔελΠϛϯάͳͲߟྀ͠ͳ͍ͱ͍͚ͳ ͍͕,

    ͔ͳΓΧδϡΞϧʹσϓϩΠ͍ͯ͠Δ
  88. ·ͱΊ

  89. ·ͱΊ • αʔϏεͷ։ൃͱσϓϩΠ͸྆ྠ • ͔ͬ͠Γߟ͍͑ͯ͘ඞཁ͕͋Δ • ࠷௿ݶͷίετͰ, ࠷ྑͷޮ཰ΛٻΊͯ • σϓϩΠ΋,

    ͔ͬ͠Γߟ͍͖͑ͯ·͠ΐ͏
  90. We are hiring! ͸ͯͳͰ͸, ϞϦϞϦ։ൃ, ͲΜͲΜσϓϩΠΛ Ұॹʹ΍͍ͬͯ͘ΤϯδχΞΛืू͍ͯ͠·͢!

  91. We are hiring! http://hatenacorp.jp/recruit/career/application-engineer