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
Elixir 次に来る大物Web言語の可能性
Search
kanmo
October 30, 2015
Programming
8
2.8k
Elixir 次に来る大物Web言語の可能性
#cmdevio モバイルバックエンド勉強会のスライド
kanmo
October 30, 2015
Tweet
Share
More Decks by kanmo
See All by kanmo
Keep Phoenix App Productivity
kanmo
2
1.1k
Elixir/OTPを使った分散アプリケーション
kanmo
4
2.3k
ExAws
kanmo
1
520
Real Time Web Application with Elixir and Phoenix
kanmo
1
1.4k
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
160
flutterkaigi_2024.pdf
kyoheig3
0
150
ヤプリ新卒SREの オンボーディング
masaki12
0
130
みんなでプロポーザルを書いてみた
yuriko1211
0
280
Functional Event Sourcing using Sekiban
tomohisa
0
100
React への依存を最小にするフロントエンド設計
takonda
5
1.1k
受け取る人から提供する人になるということ
little_rubyist
0
250
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.3k
Quine, Polyglot, 良いコード
qnighy
4
650
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Language of Interfaces
destraynor
154
24k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
Raft: Consensus for Rubyists
vanstee
136
6.6k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Unsuck your backbone
ammeep
668
57k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Gamification - CAS2011
davidbonilla
80
5k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Transcript
&MJYJS ࣍ʹདྷΔେ8FCݴޠ&MJYJSͷՄೳੑ !LBONP@BL DMBTTNFUIPEגࣜձࣾ DNEFWJPϞόΠϧόοΫΤϯυษڧձ
ࣗݾհ w ᇙ໌लʢ͔Μ͖͋ͻͰʣɺ3VCZͱ&NBDT͖ w %*෦ʢσʔλΠϯςάϨʔγϣϯ෦ʣ w ͓ࣄ3BJMTʴ"OHVMBSͷαʔόαΠυ w 5XJUUFS!LBONP@BL
&MJYJSͬͯʁ w +PTF7BMJN 3BJMTίϛολͷਓ ͕࡞ͬͨݴޠ w &SMBOHͷ7.্Ͱಈ͘3VCZͬΆ͍ؔܕݴޠ w 3VCZͷੜ࢈ੑͱ&SMBOHͷฒߦੑΛ͍࣋ͬͯΔ w
.JYͱ͍͏ϞμϯͳύοέʔδϚωʔδϟ͕͋Δ ʢ͜Εॏཁʣ
࠷ۙͷ8FC w $, ಉ࣌ʹҎ্ͷΫϥΠΞϯτ͕ଓ͢Δͱ)8ͷੑೳ Γ͍ͯͯ04ɺιϑτΣΞͷͰॲཧ͕ഁ͢Δ͜ͱ w ϜʔΞͷ๏ଇͷݶք $16ΫϩοΫϨʔτͷ͕ࢭ·ͬͨɻΘΓʹϚϧνίΞ w ϦΞϧλΠϜ8&#
αʔόɺΫϥΠΞϯτ͕ৗ࣌ଓɻ௨৴සߴ͍
w ҰͭͷίωΫγϣϯ͕Ϋϥογϡ͔ͨ͠Βͱ͍ͬ ͯΞϓϦέʔγϣϯશମ͕Ϋϥογϡ͢Δͷ ࠔΔ w /PEF+4$,ղܾͰ͖Δ͕োੑ͕ऑ͍ ʢγϯάϧεϨουʣ w ϚϧνεϨουPSΠϕϯτۦಈͷબɻɻ ͲͬͪͭΒ͍
&MJYJS͜ͷΜͷΛ ղܾ͢Δͷʹ͍͍ͯΔ
&MJYJSͷੌ͍ͱ͜Ζ &MJYJSͷϥϯλΠϜ
ܰྔϓϩηε w 04ͷϓϩηεεϨουͰͳ͘(SFFOεϨουɻ 04Ͱͳ͘7.ͰεέδϡʔϦϯά͞ΕΔ w Ұͭͷ5$1ίωΫγϣϯʹҰͭͷܰྔϓϩηεΛ ׂΓͯΔ w ܰྔϓϩηεϫʔυ ϫʔυόΠτ
w ܰྔϓϩηεຖʹ($Λߦ͏ ɹɹ4UPQ5IF8PSMEى͖ͳ͍
ΞΫλʔ w ܰྔϓϩηεؒͷσʔλڞ༗ϝοηʔδ ύογϯά w 4IBSFE/PUIJOHͷϝϞϦϞσϧ w ίϐʔ͞ΕΔϝϞϦڞ༗ͷΈ͕ ෆཁ w
ͦΕ͋ͬͯܰྔ
&MJYJS&SMBOHͱ͍͏ݴޠͷ7.্ Ͱಈ͘ &MJYJS &SMBOH7. #&". ϥΠϒϥϦʢ051ʣ
&SMBOH w ࠒɺεΣʔσϯͷ&SJDTTPOͰ։ൃ͞Ε ͨɻ৴པੑ͕ཁٻ͞ΕΔిަػͷͨΊʹઃ ܭ͞Εͨݴޠ w ΑΓ৴པੑΛॏࢹ w ฒߦॲཧೳྗ͕ඇৗʹߴ͍
ಋೖྫ w 8IBUT"11 ʹ'BDFCPPL͕ങऩ ϐʔΫ࣌ʹαʔόͰສίωΫγϣϯΛ࣮ݱ w $IFGʢαʔόϓϩϏδϣχϯάιϑτʣ αʔόͰͷϊʔυΛཧ͍ͯ͠Δ w
-*/&ɺυϫϯΰɺָఱͰҰ෦ͰΘΕ͍ͯΔ Β͍͠
&SMBOHͷฒߦੑɺোੑཉ͍͠ ͚ͩͲɺจ๏͕ਏ͍ ݹ͍ݴޠͩ͠ ͏গ͠ॻ͖͚͢Εɻɻ
r.BU[ͷ#MPH͔Β l&SMBOH͖͢ݴޠ͕ͩɺ ͓ͦΒ͘কདྷͷଞݴޠʹӨڹΛ༩͑Δ ૅʹͳΔɻz
r.BU[ͷ#MPH͔Β l&SMBOH͖͢ݴޠ͕ͩɺ ͓ͦΒ͘কདྷͷଞݴޠʹӨڹΛ༩͑Δ ૅʹͳΔɻz &MJYJSWSFMFBTF
&MJYJSݴޠͱͯ͠ͷಛ
3VCZ෩ຯͷؔܕݴޠ w ಈతܕ͚ͷؔܕݴޠ w ύλʔϯϚον w ύΠϓ w JNNVUBCMFEBUB ฒߦॲཧʹ͍͍ͯΔ
w ԆධՁ w ແݶετϦʔϜ w Ϧετแදه w ࠶ؼ GPSɺXIJMFແ͍
&MJYJSͷίʔυαϯϓϧ EFGNPEVMF)BUFOB#PPLNBSLTEP EFGGFUDI@FOUSZ VSM EP )551PJTPOTUBSU )551PJTPOHFU IUUQCIBUFOBOFKQFOUSZMJTUKTPO TPSUDPVOUVSMVSM
cEFDPEF@SFTQPOTF cFYUSBDU@FOUSZ cTPSU@EFTDFOEJOH@BOE@GPSNBU FOE EFGEFDPEF@SFTQPOTF \TUBUVT@DPEF CPEZCPEZ^ EP 4USJOHTMJDF CPEZ c1PJTPOEFDPEF FOE EFGEFDPEF@SFTQPOTF \TUBUVT@DPEF@@@ CPEZCPEZ^ EP FOE
EFGFYUSBDU@FOUSZ JUFNT EPFYUSBDU@FOUSZ JUFNT <> EFGQFYUSBDU@FOUSZ <> SFT EPSFT
EFGQFYUSBDU@FOUSZ <\UJUMFUJUMF DPVOUDPVOU^cUBJM> SFT EP FYUSBDU@FOUSZ UBJM <\UJUMF DPVOU^cSFT> FOE EFGTPSU@EFTDFOEJOH@BOE@GPSNBU MJTU@PG@FOUSJFT EP MJTU@PG@FOUSJFT c&OVNTPSU GO\@ DPVOU^ \@ DPVOU^4USJOHUP@JOUFHFS DPVOU 4USJOHUP@JOUFHFS DPVOU FOE c&OVNNBQ GO \UJUMF DPVOU^ \UJUMF^\DPVOU^݅FOE FOE FOE )BUFOB#PPLNBSLTGFUDI@FOUSZ IUUQEFWDMBTTNFUIPEKQ c&OVNFBDIGO FOUSZ *0JOTQFDUFOUSZFOE
݁Ռ &MJYJSͱؔͳ͍͚Ͳ DMBTTNFUIPEͷͯͿใ ʲ൪֎ฤʳ"OESPJEͷരΤϛϡϨʔλڥΛߏங͢ΔʛΫ݅ ʲ"84ʳඇΤϯδχΞͷͨΊͷॳΊͯͷ"NB[PO8FC4FSWJDFTࢿྉΛ ݅ .BD#PPL"JSͷಈ࡞͕ॏ͘ͳͬͨͷͰϝϯςφϯεͨ͠Βܰ͘ͳ݅ Α͔͘ΔʂJ04ΞϓϦͷϦϦʔεखॱͷ·ͱΊʛ%FWFMPQFST݅ ͜Ε͔Β"84Λ࢝ΊΔਓҰಡ͖͢ʮ"84ӡ༻νΣοΫϦε݅
J04ಛूʛ%FWFMPQFST*0݅ Ϣχοτςετʹ·ͭΘΔͷצҧ͍ʛ%FWFMPQFST*0݅ )5.-º$44ºK2VFSZΛਅ໘ʹษڧrύϥϥοΫεΤϑΣ݅ +BWB4DSJQUͷ.7$ϑϨʔϜϫʔΫͱؒͨͪʛ$MBTTNFUIPEEFW ݅ "OESPJEҊ݅ͷݟੵΓʛ$MBTTNFUIPEEFW ݅
ύΠϓϥΠϯԋࢉࢠ c&OVNNBQ GO Y Y YFOE
c&OVNpMUFS GO Y YFOE c*0JOTQFDU < > ؔͷฦ٫Λ࣍ͷ ؔͷୈҰҾʹ͢
ύλʔϯϚον \OBNFDPNQBOZ^\OBNF DMBTTNFUIPE^ *0QVUT DPNQBZ DMBTTNFUIPEͱग़ྗ͢Δ
ύλʔϯϚον \OBNFDPNQBOZ^\OBNF DMBTTNFUIPE^ *0QVUT DPNQBZ DMBTTNFUIPEͱग़ྗ͢Δ ӈลͷ.BQͷLFZɿOBNF
ύλʔϯϚον \OBNFDPNQBOZ^\OBNF DMBTTNFUIPE^ *0QVUT DPNQBZ DMBTTNFUIPEͱग़ྗ͢Δ ӈลͷ.BQͷLFZɿOBNF ࠨลͷ.BQͷLFZɿOBNF
ύλʔϯϚον \OBNFDPNQBOZ^\OBNF DMBTTNFUIPE^ *0QVUT DPNQBZ DMBTTNFUIPEͱग़ྗ͢Δ Ұகͨ͠ ߹มDPNQBOZʹ zDMBTTNFUIPEzΛଋറ
ύλʔϯϚονͱ࠶ؼ EFGNPEVMF.Z-JTUEP EFGTJ[F <IFBEcUBJM> EP TJ[F UBJM EFGTJ[F <>
EP FOE .Z-JTUTJ[F <&MJYJS 3VCZ l+BWB4DSJQU> ཁૉ͕ฦ٫͞ΕΔ
ύλʔϯϚονͱ࠶ؼ EFGNPEVMF.Z-JTUEP EFGTJ[F <IFBEcUBJM> EP TJ[F UBJM EFGTJ[F <>
EP FOE .Z-JTUTJ[F <&MJYJS 3VCZ l+BWB4DSJQU> ཁૉ͕ฦ٫͞ΕΔ IFBEʹϦετͷઌ಄ཁૉ z&MJYJSz ͕ଋറ
ύλʔϯϚονͱ࠶ؼ EFGNPEVMF.Z-JTUEP EFGTJ[F <IFBEcUBJM> EP TJ[F UBJM EFGTJ[F <>
EP FOE .Z-JTUTJ[F <&MJYJS 3VCZ l+BWB4DSJQU> ཁૉ͕ฦ٫͞ΕΔ UBJMʹΓͷཁૉ z3VCZz z+BWB4DSJQUz ͕ଋറ
ύλʔϯϚονͱ࠶ؼ EFGNPEVMF.Z-JTUEP EFGTJ[F <IFBEcUBJM> EP TJ[F UBJM EFGTJ[F <>
EP FOE .Z-JTUTJ[F <&MJYJS 3VCZ l+BWB4DSJQU> ཁૉ͕ฦ٫͞ΕΔ ΛՃࢉͯ͠࠶ؼݺͼग़͠
ύλʔϯϚονͱ࠶ؼ EFGNPEVMF.Z-JTUEP EFGTJ[F <IFBEcUBJM> EP TJ[F UBJM EFGTJ[F <>
EP FOE .Z-JTUTJ[F <&MJYJS 3VCZ l+BWB4DSJQU> ཁૉ͕ฦ٫͞ΕΔ ཁૉ͕ۭʹͳͬͨΒऴྃ
࠷ॳͷαϯϓϧͷઆ໌ʢύΠϓϥΠϯԋࢉࢠʣ EFGNPEVMF)BUFOB#PPLNBSLTEP EFGGFUDI@FOUSZ EP )551PJTPOHFU lIUUQCIBUFOBOFKQFOUSZMJTUKTPO TPSUDPVOUVSMIUUQEFWDMBTTNFUIPEKQz cEFDPEF@SFTQPOTF cFYUSBDU@FOUSZ
cTPSU@EFTDFOEJOH@BOE@GPSNBU FOE ͯͳϒοΫϚʔΫ"1*Λୟ͍ͯαΠτͷใΛऔಘ औಘ݁ՌΛσίʔυ +40/ʹσίʔυ มͨ͠+40/͔ΒλΠτϧɺϒοΫϚʔΫΛநग़ ࠷ޙʹιʔτͱจࣈྻܗ
࠷ॳͷαϯϓϧͷઆ໌ ύλʔϯϚον EFGEFDPEF@SFTQPOTF \TUBUVT@DPEF CPEZCPEZ^ EP 4USJOHTMJDF CPEZ
c1PJTPOEFDPEF FOE EFGQFYUSBDU@FOUSZ <\UJUMFUJUMF DPVOUDPVOU^cUBJM> SFT EP FYUSBDU@FOUSZ UBJM <\UJUMF DPVOU^cSFT> FOE
࠷ॳͷαϯϓϧͷઆ໌ ύλʔϯϚον EFGEFDPEF@SFTQPOTF \TUBUVT@DPEF CPEZCPEZ^ EP 4USJOHTMJDF CPEZ
c1PJTPOEFDPEF FOE EFGQFYUSBDU@FOUSZ <\UJUMFUJUMF DPVOUDPVOU^cUBJM> SFT EP FYUSBDU@FOUSZ UBJM <\UJUMF DPVOU^cSFT> FOE TUBUVT@DPEFͷ߹ͷ Έ࣮ߦ͢Δ
࠷ॳͷαϯϓϧͷઆ໌ ύλʔϯϚον EFGEFDPEF@SFTQPOTF \TUBUVT@DPEF CPEZCPEZ^ EP 4USJOHTMJDF CPEZ
c1PJTPOEFDPEF FOE EFGQFYUSBDU@FOUSZ <\UJUMFUJUMF DPVOUDPVOU^cUBJM> SFT EP FYUSBDU@FOUSZ UBJM <\UJUMF DPVOU^cSFT> FOE -JTUઌ಄ཁૉͷUJUMFͱDPVOU ͷΈมʹଋറ͢Δ
࠷ॳͷαϯϓϧͷઆ໌ ύλʔϯϚον EFGEFDPEF@SFTQPOTF \TUBUVT@DPEF CPEZCPEZ^ EP 4USJOHTMJDF CPEZ
c1PJTPOEFDPEF FOE EFGQFYUSBDU@FOUSZ <\UJUMFUJUMF DPVOUDPVOU^cUBJM> SFT EP FYUSBDU@FOUSZ UBJM <\UJUMF DPVOU^cSFT> FOE ઌ಄ཁૉΛ SFTʹՃɺ-JTUͷΓཁૉΛҾʹࢦ ఆͯ͠࠶ؼͰݺͼग़͢
ແݶετϦʔϜ 4USFBNVOGPME \ ^ GO\G G^\G \G G G^^FOE
c&OVNUBLF c*0JOTQFDU < > *0QVUT'JMFTUSFBN VTSTIBSFEJDUXPSET c&OVNNBY@CZ 4USJOHMFOHUI &OVNUBLF Ͱ͡Ίͯܭࢉ Λ࣮ߦ͢Δ &OVNNBY@CZ 4USJOHMFOHUI Ͱ͡ΊͯܭࢉΛ࣮ߦ͢Δ
Ϧετแදه GPSY EPY Y <
> GPSY Y Y EPY Y < > c&OVNNBQ GO Y Y YFOE c&OVNpMUFS GO Y YFOE ύΠϓϥΠϯԋࢉࢠͷαϯϓϧ ͱಉ݁͡Ռ ύΠϓϥΠϯԋࢉࢠͷαϯϓϧ
&MJYJSͷϓϩάϥϛϯάελΠϧ w "1*ύλʔϯϚον͋Γ͖ͷσβΠϯ w ؔͷฦ٫ΛύλʔϯϚονͰड͚औΕΔΑ͏ʹσβΠϯ w ύΠϓʢcʣΛ͍খ͞ͳؔΛͭͳ͛ͯॲཧ Λ࡞Δ w ෭࡞༻ආ͚Δ
ࢄϓϩάϥϛϯά
w ΞΫλʔϞσϧ w ܰྔϓϩηεؒͷϝοηʔδύογϯά w 051 0QFO5FMFDPN1MBUGPSN w ܰྔϓϩηεͷ࣮Λॿ͚Δඪ४ϥΠϒϥϦ
&SMBOHͷࢿ࢈ w 4VQFSWJTPS w ଞϓϩηεͷࢹ͠ҟৗऴྃΛݕͨ͠Βϓϩηεͷ࠶ىಈ ઓུʹै্ཱ͍ͪ͛͢
&MJYJSͷΤϥʔઓུ w ྫ֎ॲཧΛ͠ͳ͍-FU*U$SBTI w ઍͷϓϩηεΛىಈ͍ͤͯ͞ΔͷͰྫ֎Λϋϯυϧ͠ͳͯ͘ ΞϓϦέʔγϣϯશମ͕Ϋϥογϡ͠ͳ͍Α͏ʹͳ͍ͬͯΔ w ͦͷΘΓܰྔϓϩηεͷ࠶ىಈઓུΛઃఆ͢Δ w POF@GPS@POFɿམͪͨϓϩηε͚ͩ࠶ىಈ
w POF@GPS@BMMɿશͯͷࢠϓϩηεΛ࠶ىಈ w ଞʹ͋Δ
4VQFSWJTJPO5SFF
ิ &MJYJS0O3BJMTͳ '8͋Δ
·ͱΊ w $16ॲཧ͘ͳ͍͕োੑʹ༏Ε͍ͯΔ w ฒߦॲཧೳྗطଘݴޠͰτοϓΫϥε w ಈతܕ͚ͬͯ͜ͱΛͲ͏ड͚ࢭΊΔ͔ w ·ͩಋೖࣄྫগͳ͍ w
ϥΠϒϥϦ·ͩগͳ͍ɺσόοΨ·ͩऑ͍
ൺֱ͞ΕΔݴޠ4DBMBɺ(P ͔ &MJYJS (P 4DBMB ฒߦॲཧϞσϧ "DUPS $41 "DUPS Τϥʔઓུ
-FU*U$SBTI %FGFOTJWF 1SPHSBNNJO H -FU*U$SBTI ݴޠͷྨ ؔܕ खଓ͖ܕ ؔܕ ܕ ಈత ੩త ੩త
ײ w ฒߦॲཧೳྗͷͨΊ͚ͩʹɺָ͘͠ͳ͍ϓϩά ϥϛϯάݴޠ͍ͨ͘ͳ͔͕ͬͨ&MJYJSฒߦ ॲཧʴ։ൃੜ࢈ੑ͕͋Δ ָ͍͠ w ύΠϓϥΠϯԋࢉࢠɺύλʔϯϚον࣮༻త w
ࠓޙ41"ΞϓϦέʔγϣϯ͕ओྲྀʹͳͬͨΒ"1* αʔόͱͯ͠ਓؾ͕ग़ͦ͏