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
1k
Elixir/OTPを使った分散アプリケーション
kanmo
4
2.2k
ExAws
kanmo
1
500
Real Time Web Application with Elixir and Phoenix
kanmo
1
1.4k
Other Decks in Programming
See All in Programming
Method Swizzlingを行うライブラリにおけるマルチモジュール設計
yoshikma
0
120
Kotlin 2.0 and Beyond
antonarhipov
2
150
Amazon Neptuneで始める初めてのグラフDB ー グラフDBを使う意味を考える ー
satoshi256kbyte
2
260
メモリ最適化を究める!iOSアプリ開発における5つの重要なポイント
yhirakawa333
0
420
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.7k
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
190
Kotlin 2.0が与えるAndroid開発の進化
masayukisuda
1
410
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
290
Using Livebook to build and deploy internal tools @ ElixirConf 2024
hugobarauna
0
250
『ドメイン駆動設計をはじめよう』中核の業務領域
masuda220
PRO
5
1k
rails_girls_is_my_gate_to_join_the_ruby_commuinty
maimux2x
0
200
GraphQLの魅力を引き出すAndroidクライアント実装
morux2
3
660
Featured
See All Featured
The Brand Is Dead. Long Live the Brand.
mthomps
53
38k
Rails Girls Zürich Keynote
gr2m
93
13k
Happy Clients
brianwarren
96
6.6k
Practical Orchestrator
shlominoach
185
10k
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.1k
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
Statistics for Hackers
jakevdp
794
220k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
Music & Morning Musume
bryan
46
6k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
Designing on Purpose - Digital PM Summit 2013
jponch
114
6.8k
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* αʔόͱͯ͠ਓؾ͕ग़ͦ͏