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
ͯͳʹ͓͚Δ ϓϩάϥϛϯάݴޠͷྺ࢙ ͱ͜Ε͔Β id:hakobe932
Slide 2
Slide 2 text
ࣗݾհ ෬Ҫ ༸ฏ id:hakobe932 @hakobe νʔϑΤϯδχΞ ΞϓϦέʔγϣϯΤϯδχΞ
Slide 3
Slide 3 text
ͯͳϒϩάͯͳϒοΫϚʔΫ .BDLFSFMͯͳμΠΞϦʔ ͯͳΩʔϫʔυ#,6."ͯͳελʔ ਓྗݕࡧͯͳͯͳϑΥτϥΠϑ ͏͝ϝϞͯͳͯͳίίϓϥοτϑΥʔϜ
Slide 4
Slide 4 text
ͯͳͷϓϩάϥϛϯάݴޠͱ͍͑? 1FSM͔ͳ
Slide 5
Slide 5 text
࣮ࡍͷͯͳͰͷ࠾༻ݴޠ
Slide 6
Slide 6 text
ࠓͷΞδΣϯμ ❖ͯͳͷϓϩάϥϛϯάݴޠ࠾༻ͷྺ࢙ • ֤ݴޠͷ࠾༻ͷܦҢͱධՁ ❖ϓϩάϥϛϯάݴޠબʹ͍ͭͯͷߟ͑ํ • બͷํͱ࠾༻ϓϩηε
Slide 7
Slide 7 text
ͯͳͷϓϩάϥϛϯάݴޠ ࠾༻ͷྺ࢙
Slide 8
Slide 8 text
ࠓ αʔόαΠυͷ࣮ݴޠ ͷΛ͠·͢ ϑϩϯτΤϯυͷ͋ͱͰฉ͍͍ͯͩ͘͞ʂ
Slide 9
Slide 9 text
࠾༻ද • 2001 ۀͱಉ࣌ʹPerlΛ࠾༻ • 2013 Mackerelͷ։ൃͰScalaͱGoΛ࠾༻ • 2015 ࠂؔ࿈ϓϩμΫτͰPythonΛ࠾༻ ʙ 12ͷ͕࣌ྲྀΕΔ
Slide 10
Slide 10 text
1FSM
Slide 11
Slide 11 text
Perl ❖Web։ൃͷᴈ໌ظΛࢧ͑ͨεΫϦϓτݴޠ ❖ຊͷίϛϡχςΟ͕׆ൃ • YAPC::AsiaͳͲͷઆతΠϕϯτੜ·Εͨ ❖όʔδϣϯΞοϓܧଓͯ͠Δ ❖ISUCON্ҐৗʹPerlͩͬͨ࣌
Slide 12
Slide 12 text
ͯͳʹ͓͚ΔPerl ❖2001ʙ ❖࠾༻αʔϏε • ͯͳϒϩά • δϟϯϓ+ϚϯΨܥ/ΧΫϤϜ • ͯͳϒοΫϚʔΫ(BFFͱͯ͠) • ଞ΄ͱΜͲͯ͢ͷαʔϏε ❖جຊతʹಠࣗϑϨʔϜϫʔΫΛͬͯ։ൃ
Slide 13
Slide 13 text
Perl ࠾༻ͷ͖͔͚ͬ ❖͡Ίʹͬͨͷ͕Perlͩͬͨ • ࣌ͷWeb։ൃݴޠͱ͍͕ͯ͋ͬͨ͠ • ߴʹࢼߦࡨޡ͠ͳ͕Β͑Δݴޠͱͯ͠ બΕͨ ❖ͯͳPerlίϛϡχςΟͷதͰҭͯͯΒͬͨ
Slide 14
Slide 14 text
ͯͳΤϯδχΞͷݪ͚ͩͲ… ❖ڞ௨Ϟδϡʔϧڭҭ༻ࢿྉͳͲࢿݯ๛ ❖CPAN AuthorPerl͕͖ͳΤϯδχΞଟ͍ ❖৽ٕज़ͷैʹ՝ • JSON Schema/GraphQL/AWS Client ͋ͨΓͰۤ࿑ • ϥΠϒϥϦΛࣗ͢Δ͜ͱ ❖৽͍͠ϓϩδΣΫτͰͦΜͳʹ࠾༻͞Εͳ͍͔..?
Slide 15
Slide 15 text
4DBMB
Slide 16
Slide 16 text
Scala ❖ߴػೳϚϧνύϥμΠϜͷJVMݴޠ ❖DDD ۙతΞʔΩςΫνϟΛදݱ͍͢͠ ❖Java༝དྷͷ๛ͳϥΠϒϥϦ ❖ίϛϡχςΟ׆ൃ
Slide 17
Slide 17 text
ͯͳʹ͓͚ΔScala ❖2013ʙ ❖࠾༻αʔϏε • Mackerel(αʔόαΠυ) • ͯͳϒοΫϚʔΫ (ίΞ෦) • ͯͳϒϩάͷ՝ۚγεςϜ ❖PlayFrameworkScalatra + Slick
Slide 18
Slide 18 text
Scala ࠾༻ͷ͖͔͚ͬ ❖Mackerelͷ৽ن։ൃ • ৽ٕज़ͷಋೖͷ͢͠͞ • εΫϦϓτݴޠʹΑΔ։ൃͷେม͔͞Β͘Δ ੩తܕγεςϜͷಌΕ • ͋ΔΤϯδχΞͷHaskellॻ͖ͨ͗͢Δؾ࣋ ͕࣮ͪ݁ͨ͠ͱݴΘΕ͍ͯΔ
Slide 19
Slide 19 text
ෳࡶͳυϝΠϯΛରͱ͢Δͱ͖ʹ࠾༻ ❖MackerelͯͳϒοΫϚʔΫͷϞσϧͱͯ ෳࡶ ❖ߴػೳͳܕγεςϜ͕ղͳίʔυΛੜΉ͜ͱ • ࣗͨͪͷίʔυͰ͋ΕҙͰ͖Δ͕ ϥΠϒϥϦίʔυΛಡΉ࣌ʹେม ❖ίϯύΠϧ࣌ؒ • ॲཧܥͷόʔδϣϯΞοϓͰߴԽ͢Δ͜ͱʂ
Slide 20
Slide 20 text
@YAPC::Asia 2014 http://yapcasia.org/2014/talk/show/d557ddbe-fde4-11e3-b7e8-e4a96aeab6a4
Slide 21
Slide 21 text
(P
Slide 22
Slide 22 text
Go ❖͍͘͢ਓؾͷ੩తܕ͚ݴޠ ❖γϯϓϧͳจ๏ͱॆ࣮ͨ͠πʔϧͰ։ൃ͍͢͠ ❖GoroutineʹΑΓαʔόϛυϧΣΞʹ࠷ద • ϚΠΫϩαʔϏεͷྲྀߦʹϑΟοτ ❖࠷ۙͷISUCONͷ༗ג
Slide 23
Slide 23 text
ͯͳʹ͓͚ΔGo ❖2013ʙ ❖࠾༻αʔϏε • Mackerel ‣ ࢹΤʔδΣϯτ/֎ܗࢹϛυϧΣΞ ‣ ࣌ܥྻσʔλϕʔε • ͯͳϒοΫϚʔΫ(δϣϒΩϡʔ) • ෦͚ϚΠΫϩαʔϏε • Πϯλʔϯγοϓͷڭҭʹར༻(2018͔Β)
Slide 24
Slide 24 text
Go࠾༻ͷ͖͔͚ͬ ❖Mackerelͷ৽ن։ൃ • ࢹΤʔδΣϯτͷ࣮ͷͨΊ ‣ mackerel-agent ‣ ఆظతʹαʔόͷϝτϦΫεΛऔಘͯ͠ αʔόʹૹ৴ • ࣌ͷCTOʹGo͔RubyͰͬͯݴΘΕͨͷͰ (͕)
Slide 25
Slide 25 text
ϛυϧΣΞϚΠΫϩαʔϏε։ൃͰਓؾ ❖ύϑΥʔϚϯεͱγϯϓϧ͕͞ٻΊΒΕΔ໘ • ΠϯϑϥνʔϜͷCLIπʔϧͳͲͰ ❖ࣾʹϑΝϯ͕ଟࣗ͘વͱݟ͕ू·͖ͬͯͯศར • CTOͷmotemen͞Μେ͖ ❖WebΞϓϦέʔγϣϯ։ൃͷݟ͋·Γͳ͍ • ࠓͷΠϯλʔϯͰࢼͯ͠Έͨ
Slide 26
Slide 26 text
1ZUIPO
Slide 27
Slide 27 text
Python ❖γϯϓϧͰॻ͖͍͢εΫϦϓτݴޠ ❖ػցֶशσʔλੳͷϥΠϒϥϦͷॆ࣮Ͱਓؾʹ ❖ਓ͕د͖͍ͬͯͯͯͦͷଞͷϥΠϒϥϦॆ࣮ • ࠷৽ٕज़͕ར༻͍͢͠(ྫ: GraphQL) ❖͏Python3͍͍ͬͯ
Slide 28
Slide 28 text
ͯͳʹ͓͚ΔPython ❖2015ʙ ❖࠾༻αʔϏε • BrandSafe ͯͳ • ͚ࣾࠂઃఆཧπʔϧ • εύϜఆπʔϧ(։ൃத) • ͦͷଞඇެ։ͷϓϩδΣΫτͰ ❖FlaskΛར༻͍ͯ͠ΔαʔϏε͕େ
Slide 29
Slide 29 text
Python࠾༻ͷ͖͔͚ͬ ❖ػցֶशͱσʔλੳ • ΤίγεςϜ͕͞Ε͍ͯΔ • PerlͰॻ͖͢ϝϦοτ͕͋·Γͳ͍ ❖GoogleܥϥΠϒϥϦ • ࠂܥͰར༻Ͱ͖Δͱศར
Slide 30
Slide 30 text
ͯͳʹ͓͚ΔPython ❖ػցֶशσʔλੳؔ࿈Ͱͷ࠾༻͕جຊ • ͱ͍͑ਵ͢ΔWebΞϓϦέʔγϣϯ෦ ݁ߏॻ͔Ε͍ͯͯݟ͕ཷ·͖͍ͬͯͯΔ ❖ࠓޙPerlͷΘΓʹ࠾༻͢Δ໘૿͑ͦ͏ ❖ݸਓతʹ Type hint͕ͬͱΓ্͕ͬͯཉ͍͠ • TypeScript ͷ typesʹൺΔͱॆ࣮͍
Slide 31
Slide 31 text
@ͯͳࣾษڧձ https://hakobe932.hatenablog.com/entry/2017/11/03/190000
Slide 32
Slide 32 text
Ruby ❖Perlͱ͔ͭͯϥΠόϧؔͩͬͨ͜ͱ͋ͬͯ ࣾͰͷ࠾༻ʹ͍ͨΒͳ͔ͬͨ ❖ͯͳͷਓ͍͍ͩͨॻ͚Δ͠ɺ͍͍͖ͩͨ • ͖Ͱ͢ ❖࠾༻γʔϯ • Chef, Capistrano
Slide 33
Slide 33 text
͜͜·Ͱͷ·ͱΊ ❖ͯͳ10Ҏ্PerlͷձࣾΛ͍ͬͯΔ ❖ۙඞཁʹԠͯ͡৽ͨͳݴޠΛ͍ͬͯΔ • Scala: ෳࡶͳυϝΠϯઃܭ • Go: ϛυϧΣΞϚΠΫϩαʔϏε • Python: ػցֶशͱσʔλੳ
Slide 34
Slide 34 text
ϓϩάϥϛϯάݴޠબʹ ͍ͭͯͷߟ͑ํ
Slide 35
Slide 35 text
ݴޠબͷࢹมΘͬͨ ❖ੲWeb։ൃͷͨΊͷݴޠΛҰͭબྑ͔ͬͨ ❖ࠓWeb։ൃͷྖҬ͕͕Γɺదࡐదॴʹ • WebΞϓϦέʔγϣϯ͚ͩͰͳ͘… • ϛυϧΣΞ • ϚΠΫϩαʔϏε • αʔόʔϨε • ػցֶश
Slide 36
Slide 36 text
ͯͳͷϓϩάϥϛϯάݴޠʹର͢Δ࢟ ❖ඞཁͰ͋Ε৽͍͠ݴޠΛͲΜͲΜ͍ͬͯ͘ • ϓϩδΣΫτ͝ͱʹݕ౼ • σϑΥϧτPerlͱ͍͏͜ͱʹͳ͍ͬͯΔ ❖ͱ͍͑ɺݴޠ͕૿͑͗͢ΔͱࠔΒͳ͍͔?
Slide 37
Slide 37 text
ݴޠͷ૿ՃͷσϝϦοτ ❖ڭҭίετ/ΤϯδχΞͷՄൖੑͷԼ • ͯͳͷΤϯδχΞҙͷݴޠ͕͑Δͱ ͍͏લఏͷͱͳΜͱ͔ͳ͍ͬͯΔ • ϓϩδΣΫτʹඞཁͳٕज़ͷҧ͍େ͖͘ͳͬ ͖͍ͯͯΔ ❖ݟࢿ࢈ͷࢄ • ผͷ͜ͱΛͬͯΔͱڞৼ͕ੜ·Εʹ͍͘
Slide 38
Slide 38 text
৽ݴޠಋೖͰؾΛ͚͍ͭͯΔ͜ͱ ❖Λղܾ͢ΔͨΊʹຊʹඞཁ͔? ❖νʔϜ͕ड͚ೖΕΒΕΔ͔? • Ұ࣌తʹ૿Ճ͢ΔίετΛड͚ೖΕΒΕΔ͔? • Ϧʔυ͢Δਓ͕͍Δ͔? ϑΥϩϫʔ͕͍Δ͔? ‣ ձࣾʹఆணͤ͞Δͱ͜Ζ·ͰΛݟਾ͑Δ
Slide 39
Slide 39 text
৽ݴޠಋೖͰؾΛ͚͍ͭͯΔ͜ͱ ❖ݴޠͷίϛϡχςΟ׆ൃ͔? • ϝϯςφϯε͢Δͻͱ͕͍Δ͔? • ϥΠϒϥϦॆ࣮͍ͯ͠Δ͔? • ͯͳ͕ߩݙ͍͚ͯ͠Δ͔?
Slide 40
Slide 40 text
৽ݴޠ࠾༻ͷϓϩηε ❖ٕज़άϧʔϓ͕அ • ٕज़άϧʔϓ = ΤϯδχΞԣ۲ͷ৫ • ར༻͍ͨ͠ਓ͕ٕज़άϧʔϓʹਃ • CTOνʔϑ͕ώΞϦϯά͠ͳ͕Βܾఆ • ݴޠ x ༻్͝ͱʹར༻ͯ͠Α͍͔ఆΊΔ • ඞཁҎ্ʹ͕രൃ͢ΔͷΛ͙
Slide 41
Slide 41 text
εϜʔζʹݴޠΛಋೖ͢ΔͨΊʹ ❖ΤϯδχΞͷதͰݟධՁΛूΊ͓ͯ͘ • ݴޠͷษڧձΛ։࠵ • झຯΠϯλʔϯɺϥϘϓϩδΣΫτͰධՁ ❖ࣗવʹಋೖ͍͚ͯ͠Δ͔Ͳ͏͔ͷΛ࡞Δ • ແཧͦ͏ͳΒࣗવͱཱͪফ͑Δ
Slide 42
Slide 42 text
ࠓޙ৽ݴޠಋೖ͍͔ͯ͘͠? ❖ඞཁʹԠͯ͡࠷దͨ͠ݴޠΛ͍͖͍ͬͯͨ • Web։ൃͷఆٛࠓޙ֦େ͍͖ͯͦ͠͏ • ৽͍͠ݴޠొ͢ΔͩΖ͏ ❖ͱ͍͑૿͑͗͢ΔͷࠔΔ • ΤϯδχΞͷྗΛͲΜͲΜߴΊΔ? ݴޠ͝ͱͷڭ ҭ੍Λॆ࣮͢Δ? • ͦͦ͜͜ࠔΓͭͭ͋ΔͷͰ͍ΖΜͳ͓Λฉ͖͍ͨ
Slide 43
Slide 43 text
ݸਓతؾʹͳΓݴޠ ❖Node • ϦΞϧλΠϜੑ͕ඞཁͳͱ͖ʹ ❖Elixir • োੑ͕ΊͪΌͪ͘Όඞཁͳͱ͖ʹ ❖Rust • γεςϜϨϕϧͷϓϩάϥϛϯά͕ඞཁͳͱ͖ʹ
Slide 44
Slide 44 text
·ͱΊ
Slide 45
Slide 45 text
ͯͳͱϓϩάϥϛϯάݴޠ ❖ͨ͜͠ͱ • ͯͳͷϓϩάϥϛϯάݴޠͷྺ࢙ • ݴޠબͷࢹϓϩηεࠓޙʹ͍ͭͯ ❖Web։ൃͷ͕ΓʹదԠ͍ͯͨ͘͠Ίʹ • ৽ͨͳݴޠͷಋೖ͍ͯ͘͠ • ͜Ε·ͰͷલఏͰ͘͠ͳΓͦ͏ Λ͍͖͍ͯͨ͠ ❖࠙ձͰͥͻօ͞Μͷ͓͖͔͍ͤͯͩ͘͞ʂ