Slide 1

Slide 1 text

&MJYJS /BPZB*UP ,BJ[FO1MBUGPSN *OD

Slide 2

Slide 2 text

&MJYJSͷงғؾ

Slide 3

Slide 3 text

&MJYJS •  &SMBOH7.ͷ্Ͱಈ͘ݴޠ –  &SMBOH7.ͷڧΈ ฒߦॲཧੑೳɺ଱ো֐ੑ Λͦͷ··ʹɺγϯλο ΫεΛೃછΈ΍͘͢ •  KPTFWBMJN&SMBOHͰݟͨ͜ͱ͸ΈΜͳؾʹೖ͚ͬͨͲɺݟͳ͔ͬͨ͜ͱ͸ ΈΜͳݏ͍ –  &SMBOHͱ૬ޓޓ׵ –  051΋΋ͪΖΜ͋ΔΑ •  Ϟμϯͳύοέʔδ؅ཧγεςϜɺ-B[ZίϨΫγϣϯ 4USFBN ɺ ϓϩτίϧͳͲͷ௥Ճཁૉ •  ৄ͘͠͸ –  IUUQTTQFBLFSEFDLDPNOBPZBFMJYJSHPTIBPKJF

Slide 4

Slide 4 text

ಈతܕ෇͚ͷؔ਺ܕݴޠ

Slide 5

Slide 5 text

1IPFOJY&MJYJSPO3BJMT

Slide 6

Slide 6 text

Ϟνϕʔγϣϯ

Slide 7

Slide 7 text

&MJYJS ͳͲ ΛֶͿͱྑ͍ཧ༝ •  ݴޠτϨϯυͷҠΓมΘΓ –  4DBMBɺ&MJYJSɺ$MPKVSFɺ(Pɺ3VTU •  ΑΓ4IBSFE/PUIJOH΁ –  Ϋϥ΢υωΠςΟϒŋŋŋԣʹεέʔϧ –  ϞμϯͳฒߦɾฒྻΞϓϩʔν –  *NNVUBCMFͳσʔλܕ –  ແݶσʔλ 8FC͔Βྲྀೖ͚ͭͮ͠ΔσʔλͳͲ ͷந৅ తѻ͍ –  㱺ؔ਺ܕݴޠ

Slide 8

Slide 8 text

ؔ਺ܕͷτϨϯυ •  ৽͍͠ݴޠʹ͸େͳΓখͳΓؔ਺ܕͷΤοηϯ ε –  4DBMBɺ&MJYJSɺ$MPKVSFɺ3VTUɺ4XJGU •  طଘͷݴޠʹ΋Өڹ –  +BWBͷ0QUJPOBMܕ •  จ຺Λ࣋ͬͨ஋ Ϟφυ –  &4 #BCFM •  ͳΜ͔#BCFMʹ຤ඌݺͼग़͠࠷దԽೖͬͨΒ͍͠

Slide 9

Slide 9 text

ϞμϯͳϥϯλΠϜ •  $$΍-".1ݴޠʹ͸ͳ͔ͬͨ৽͍͠ػೳΛϥϯλ ΠϜ͕͍࣋ͬͯΔ –  ྫϝϞϦϞσϧ •  &SMBOH&MJYJSͷ1FS1SPDFTT($ •  3VTUͷΦʔφʔγοϓϞσϧ –  ྫฒߦɾฒྻॲཧ •  "DUPS •  $IBOOFM •  45. –  ྫ଱ো֐Ϟσϧ •  -FUJUDSBTI

Slide 10

Slide 10 text

Α͏͢Δʹ •  ݴޠͷύϥμΠϜ͕มΘΖ͏ͱͯ͠Δ –  ύϥμΠϜ͕มΘΔͱ͍͏ΑΓผͷύϥμΠϜͷݴޠʹτϨϯυ ͕ҠΓͭͭ͋Δ •  ͦͷลͷݴޠʹೃછΜͰ͓͘ͱ૯߹తͳֶशίετΛԼ ͛ΒΕΔ –  +4΍3VCZʹೖΖ͏ͱͯ͠Δมߋͷഎܠ –  ৽͍͠ϛυϧ΢ΣΞɺϑϨʔϜϫʔΫ΍ϥΠϒϥϦͷΠϯλ ϑΣʔε –  ʮϦΞΫςΟϒʯ΍ʮετϦʔϜʯΈ͍ͨͳύϥμΠϜ ͳͷͰʮ&MJYJSΛֶ΂ʯͱ͍ ͏ΑΓͦͷลͷ৽͍͠ͷԿ͔ ΍ͬͱ͘ͱ͍͍Α͍ͬͯ͏࿩

Slide 11

Slide 11 text

&MJYJSͷϥϯλΠϜ

Slide 12

Slide 12 text

ࡢࠓ͜Μͳ͜ͱ͋Γ·ͤΜ͔ •  ͨͩͷ+40/"1*ʹ3BJMTͰ͸ŋŋŋ –  ϋΠτϥϑΟοΫͳҊ݅Ͱ࢖͍ͮΒ͍ –  ཁ݅ʹରͯ͠ϝϞϦϑοτϓϦϯτ͕େ͖͗͢ –  ઀ଓ਺͕ଟ͍ͱεέʔϧ͠ͳ͍ –  ଱ো֐ੑʹෆ҆ •  ʮεύΠΫͨ͠ͷͰམͪ·ͨ͠ʯͰ͸ࡁ·͞Εͳ͍ɻ޿ࠂ αʔόʔͱ͔

Slide 13

Slide 13 text

,BJ[FO1MBUGPSNͰ͸ŋŋŋ •  ҎԼͷέʔεͰ࣮ࡍʹ͋ͬͨ –  ޿ࠂ഑৴ͷ֎෦αʔόʔͱͷ΍ΓͱΓ •  ଟྔͷ઀ଓ –  3FEJTͱ*0ͯ͠ฦ౴͢Δ͚ͩͷ"1*αʔόʔ •  ཁ݅͸γϯϓϧɻෳࡶͳ.PEFM7JFXཁΒͳ͍ •  Ͱ΋εύΠΫͰམͱͨ͘͠ͳ͍ ͻͱ·ͣ/PEFKTͰ ରԠͨ͠

Slide 14

Slide 14 text

親 子 fork() ϚϧνϓϩηεϞσϧʹΑΔฒߦॲཧ ྫ3BJMTͷ࣮ߦ؀ڥ

Slide 15

Slide 15 text

1SPT$POT •  1SPT –  ҆શ •  ϦΫΤετ͝ͱʹϝϞϦۭؒ෼཭㱺Ϋϥογϡͯ͠΋ ଞʹӨڹ͠ͳ͍ –  ϓϩάϥϛϯάϞσϧ͕୯७ ಉظͰ0, –  ϚϧνίΞ •  $POT –  εέʔϥϏϦςΟʹ೉ •  ϝϞϦେ㱺࠷େϓϩηε਺ಉ࣌ฒߦ਺্ݶ •  04ϓϩηεεϨουͷίϯςΩετεΠον

Slide 16

Slide 16 text

࣌ؒ A B A C D B ・・・ select() / epoll() ίϯςΩετ εΠον ΠϕϯτۦಈϞσϧʹΑΔฒߦॲཧ ྫ&WFOU.BDIJOF /PEFKT

Slide 17

Slide 17 text

1SPT$POT •  1SPT –  εέʔϥϏϦςΟ ߴ͍ฒߦॲཧੑೳ •  ϝϞϦϑοτϓϦϯτখ͍͞ •  ಉ࣌઀ଓ਺͕૿͑ͯ΋εέʔϧ •  $POT –  ଱ো֐ੑʹ೉ •  མͪΔͱ͖͸શ෦མͪΔ •  ϝϞϦϦʔΫ͜Θ͍ –  ϓϩάϥϛϯάϞσϧ͕΍΍ෳࡶ˞/PEFKTͩͱͦΕ΄ͲͰ΋ͳ͍ –  ϚϧνίΞ$16Λ࢖͍ͮΒ͍

Slide 18

Slide 18 text

τϨʔυΦϑ •  ฒߦॲཧੑೳ͸Ք͛ͳ͍͕҆શͰ୯७ͳϚϧν ϓϩηε εϨου Ϟσϧ͔ •  ฒߦॲཧੑೳ͕ߴ͍͕ӡ༻ʹؾΛݣ͏Πϕϯτ ۦಈϞσϧ͔ ͙͵͵ŋŋŋ

Slide 19

Slide 19 text

ͦ͜Ͱ&SMBOHͰ͢

Slide 20

Slide 20 text

&SMBOHͷ࣮ߦ؀ڥ •  #&". &SMBOH7. –  ܰྔϓϩηεŋŋŋ࣮ߦίϯςΩετ •  খ͍͞ϫʔυɺىಈʹdϚΠΫϩඵ –  ฒߦॲཧੑೳ͕ߴ͍ •  7.͕ܰྔϓϩηεΛεέδϡʔϦϯά –  7.εϨουຖʹϥϯΩϡʔ –  ཪଆͰ͸ඇಉظεϨουϓʔϧ ref: h+p://www.erlang-factory.com/upload/presenta=ons/708/HitchhikersTouroEheBEAM.pdf

Slide 21

Slide 21 text

ΞΫλʔϞσϧ ϝοηʔδύογϯά ஋͸͢΂ͯίϐʔ 4IBSFE/PUIJOH ϝʔϧϘοΫεʹ ΩϡʔΠϯά

Slide 22

Slide 22 text

&SMBOHͰͷ ωοτϫʔΫαʔόʔ •  ϦΫΤετʹܰྔϓϩηε –  ҆શ •  ܰྔϓϩηεŋŋŋಠཱ࣮ͨ͠ߦίϯςΩετ •  4IBSFE/PUIJOHŋŋŋ͋Δϓϩηε͕Ϋϥογϡͯ͠΋໰୊ ͳ͍ –  ߴ͍ฒߦॲཧੑೳ •  ܰྔŋŋŋϝϞϦϑοτϓϦϯτখ͍͞ •  Ϣʔβʔϥϯυ04ͷίϯςΩετεΠονͳ͠

Slide 23

Slide 23 text

&SMBOHͷϝϞϦϞσϧ •  QFS1SPDFTT($ –  ϓϩηεຖʹ($ •  άϩʔόϧ($ͩͱશମʹӨڹ͢Δ •  ϓϩηε෼཭ –  4IBSFE/PUIJOH –  ϓϩηε)FBQ •  ($͸ܰྔϓϩηεຖʹ૸ΒͤɺཁΒͳ͘ͳͬͨΒഇغ ؆୯Ͱޮ཰ ͕Α͍ ҆ఆͨ͠Ԡ౴ੑೳ ߴ͍଱ো֐ੑ

Slide 24

Slide 24 text

4VQFSWJTPS Supervisor ϓϩηε ؂ࢹ ʮಥવͷࢮʂʯ ϓϩηεࢮΜͩ͠ɺઓུ ʹ߹Θͤͯ࠶ىಈ͠ͱ͘ Θ crash

Slide 25

Slide 25 text

-FUJUDSBTI •  ࣦഊʹඋ͑ͳ͍ɻྫ֎Λั·͑ͳ͍ •  4VQFSWJTPSͰ؂ࢹ͓͍ͯͯ͠ɺͦͷ··ى͜͢ ͳΓύϥϝʔλม͑ͯϦτϥΠͤ͞ΔͳΓŋŋŋ ނোରԠϞσϧ͕ ݴޠج൫Ͱఏڙ

Slide 26

Slide 26 text

/PEFKTWT&SMBOH •  /PEFKTWT&SMBOH –  IUUQLVFOJTIJIBUFOBEJBSZKQFOUSZ –  ނোϞσϧɺίʔυมߋɺίʔυҠಈɺແఀࢭΞοϓάϨʔυɺ ͜͏͍͏ͷͬͯYͰμ΢ϯλΠϜͷγεςϜͩͱେࣄͩΑ Ͷɻ +PF"SNTUSPOH –  ݁ہੑೳΑΓ΋ނো଱ੑͳΜͩΑͶᴷͦΕͳ

Slide 27

Slide 27 text

Ͱ΋&SMBOHͳΜͰ͠ΐ͏

Slide 28

Slide 28 text

ͦ͜Ͱ&MJYJS

Slide 29

Slide 29 text

&MJYJS •  &SMBOH7.ͷ্Ͱಈ͘ݴޠ –  &SMBOH7.ͷڧΈ ฒߦॲཧੑೳɺ଱ো֐ੑ Λͦͷ··ʹɺγϯλο ΫεΛೃછΈ΍͘͢ •  KPTFWBMJN&SMBOHͰݟͨ͜ͱ͸ΈΜͳؾʹೖ͚ͬͨͲɺݟͳ͔ͬͨ͜ͱ͸ ΈΜͳݏ͍ –  &SMBOHͱ૬ޓޓ׵ –  051΋΋ͪΖΜ͋ΔΑ •  Ϟμϯͳύοέʔδ؅ཧγεςϜɺ-B[ZίϨΫγϣϯ 4USFBN ɺ ϓϩτίϧͳͲͷ௥Ճཁૉ •  ৄ͘͠͸ –  IUUQTTQFBLFSEFDLDPNOBPZBFMJYJSHPTIBPKJF

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

Ͱ΋8FC"1*࡞Δͷ ೉͍͠ΜͰ͠ΐ͏

Slide 32

Slide 32 text

1IPFOJYᴷ&MJYJSPO3BJMT

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

1IPFOJY Cowboy Plug Phoenix .JEEMFXBSF )5514FSWFS &SMBOH1SPDFTT 3FFRVFTU

Slide 35

Slide 35 text

ϕϯνϚʔΫ ref: h+p://www.li+lelines.com/blog/2014/07/08/elixir-vs-ruby-showdown-phoenix-vs-rails/ $ ./wrk -t12 -c800 -d180S --timeout 2000 "http://tranquil-brushlands-6459.herokuapp.com/showdown" Running 3m test @ http://tranquil-brushlands-6459.herokuapp.com/showdown 12 threads and 800 connections Thread Stats Avg Stdev Max +/- Stdev Latency 318.52ms 139.92ms 1.39s 82.03% Req/Sec 224.42 57.23 368.00 68.50% 484444 requests in 3.00m, 0.99GB read Socket errors: connect 0, read 9, write 0, timeout 0 Requests/sec: 2691.03 Transfer/sec: 5.65MB $ ./wrk -t12 -c800 -d180S --timeout 2000 "http://dry-ocean-9525.herokuapp.com/showdown" Running 3m test @ http://dry-ocean-9525.herokuapp.com/showdown 12 threads and 800 connections Thread Stats Avg Stdev Max +/- Stdev Latency 3.07s 2.06s 8.36s 70.39% Req/Sec 24.65 9.97 63.00 67.10% 54256 requests in 3.00m, 122.50MB read Socket errors: connect 0, read 1, write 0, timeout 0 Requests/sec: 301.36 Transfer/sec: 696.77KB Phoenix Rails w/ Puma ॾ৚݅͋ΔͷͰߟ࡯͸ࣗݾ੹೚Ͱɻ 1IPFOJY͕ൺֱͯ͠଎͍ͷ͸ؒҧ ͍ͳͦ͞͏

Slide 36

Slide 36 text

ݴޠͱͯ͠ͷ&MJYJS

Slide 37

Slide 37 text

&MJYJS •  &SMBOH7.ͷ্Ͱಈ͘ •  ಈతܕ෇͚ͳؔ਺ܕݴޠ •  ͜ͳΕͨύοέʔδ؅ཧγεςϜ.JY •  ܰྔϓϩηεɺΞΫλʔʹΑΔฒߦॲཧ •  051

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

3VCZ •  Ұݟ͢Δͱ3VCZͬΆ͍ •  ࣮ࡍͦΕ΄Ͳ3VCZͬΆ͘ͳ͍ •  Ή͠Ζ&SMBOH051 – γϯλοΫε͕ೃછΈ΍͍͢&SMBOH051ͱ ଊ͑ͨ΄͏͕ྑ͍

Slide 40

Slide 40 text

ؔ਺ܕݴޠͱͯ͠ͷ&MJYJS

Slide 41

Slide 41 text

ಈతܕ෇͚ͷؔ਺ܕݴޠ

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

ؔ਺ܕݴޠͱͯ͠ͷ&MJYJS •  ୈҰڃؔ਺ɺߴ֊ؔ਺ •  ύλʔϯϚον •  ෆมͳσʔλܕ •  ࠶ؼ ຤ඌݺͼग़͠࠷దԽ͋Γ –  GPS΍XIJMFͳ͍ •  GPS͸͋Δ͚Ͳ܁Γฦ͠ॲཧͰ͸ͳ͍

Slide 44

Slide 44 text

ͳ͍΋ͷ •  Ͱ͸ ͳ͍ –  ΦϒδΣΫτࢦ޲ –  ੩తܕ෇͚ –  ७ਮؔ਺ܕ ෭࡞༻͋Γ –  ෦෼ద༻ΧϦʔԽ –  0QUJPOBMܕ .BZCF •  ͋ΔΑ –  Ϧετ಺แදه –  ஗ԆධՁɺແݶϦετ ˞ݴޠશମͰ͸ͳ͍ –  Ϟφυ͸܅ͨͪͷ৺ͷதʹ

Slide 45

Slide 45 text

ύλʔϯϚον •  &MJYJSͷจ๏ͷجૅʹͳͬͯΔػೳ –  ؔ਺ܕݴޠͰ͸݁ߏΈΔŋŋŋ)BTLFMMͱ͔ •  4DBMBʹ΋͋Δ͚Ͳ&MJYJSͰ͸ΑΓݴޠσβΠϯʹਂؔ͘Θ͍ͬͯ Δ –  JGจͳͲΛ࢖Θͳ͍એݴతͳهड़ʹߩݙ •  ஋ͷύλʔϯΛهड़͠ɺ஋ͱর߹͢Δ –  ύλʔϯͱ஋͕Ϛονͨ͠ΒɺԿ͕͔͕͠ߦΘΕΔ –  ͸࣮͸ύλʔϯϚονԋࢉࢠ

Slide 46

Slide 46 text

ύλʔϯϚον h+p://www.slideshare.net/Joe_noh/elixir-01

Slide 47

Slide 47 text

ύλʔϯϚον εςʔλείʔυͷ ͱ͖͚ͩؔ਺͕ݺ͹ΕΔ ஋͕͜ͷߏ଄ΛؚΉͱ͖͚ͩ ݺ͹ΕΔɻ·ͨɺߏ଄಺ͷ஋ ͕XFBUIFSม਺Λଋറ

Slide 48

Slide 48 text

ύλʔϯϚον࠶ؼ Ϧετ͕ۭͷͱ͖ ఀࢭ৚݅ Ϧετͷઌ಄ཁૉ͕@IFBE Λଋറɺ࢒Γ͕UBJMΛଋറ

Slide 49

Slide 49 text

ύλʔϯϚονͷϢʔεέʔε •  ม਺ଋറ •  σʔλߏ଄ͷ෼ղ •  Ϧετॲཧ X࠶ؼ •  DBTFจ •  ύλʔϯຖͷؔ਺ఆٛ –  ஋ʹΑΔؔ਺ͷબ୒

Slide 50

Slide 50 text

cŋŋŋύΠϓϥΠϯԋࢉࢠ ؔ਺ͷ໭Γ஋Λɺ࣍ͷୈҰҾ਺ʹ౉͢ɻ 'ΠϯεύΠΞΒ͍͠ ؔ਺Λܨ͛ͯॻ͚ͯ ؾ͍͍࣋ͪ

Slide 51

Slide 51 text

খ͞ͳؔ਺ΛύΠϓϥΠϯ Ͱܨ͍͛ͯ͘ͷ͕&MJYJSྲྀ ͳͥ0QUJPOBMܕͱ͔.BZCFϞφυΛ༻ҙ͠ͳ͔ͬͨͷ͔ŋŋŋ

Slide 52

Slide 52 text

ෆมͳσʔλܕ •  σʔλܕ͸ෆม –  4USJOH -JTU 5VQMF .BQ )BTI%JDU )BTI4FU •  ཁ͢Δʹഁյతૢ࡞͕ෆՄೳ͚ͬͯͩ •  dict2 = Dict.put(dict, :foo, 3) –  dict ͸ෆมɺߋ৽͞Εͨ dict2

Slide 53

Slide 53 text

GPS XIJMF͕ͳ͍ •  ࠶ؼΛ࢖͏͔ ຤ඌݺͼग़͠࠷దԽ •  ͞΋ͳ͘͹ϧʔΫɺ&OVNΛ࢖͑ iex> [1,2,3] |> Enum.each fn(x) -> IO.puts(x) end 1 2 3 :ok iex> [1,2,3] |> Enum.reduce(0, fn(x, acc) -> x + acc end) 6

Slide 54

Slide 54 text

Ϧετ಺แදه •  )BTLFMM౳Ͱ͓ͳ͡Έͷ – [x | x <- xs, x < p] •  &MJYJSͰ͸ – for x <- xs, x < p, do: x ਖ਼௚͜Εʹؔͯ͠͸ &SMBOHͦͷ··Ͱྑ͔ͬ ͨͷͰ͸ŋŋŋ4DBMBΠϯε ύΠΞ͔ͳ

Slide 55

Slide 55 text

ϐλΰϥε਺Λ୳͢ "#$ Λຬͨ͢" # $ͷ੔਺ͷ ૊Λݟ͚ͭΔ

Slide 56

Slide 56 text

4USFBN •  ߹੒ՄೳͰ஗ԆධՁͳ&OVNFSBCMFT – &OVN͸(SFFEZ – 4USFBN͸-B[Z •  ແݶϦετ΍஗ԆධՁ͕ཉ͍͠ͱ͖͸͜ Ε

Slide 57

Slide 57 text

3BOHFΛ4USFBNʹม׵ɺ ύΠϓϥΠϯԋࢉࢠͰ pMUFSͱNBQΛ߹੒ UBLF ͨ͠ͱ͜ΖͰॳΊͯ ධՁˠ݅ͷΈܭࢉ ஗ԆධՁ

Slide 58

Slide 58 text

ϑΟϘφονετϦʔϜ 4USFBNVOGPME͸ΞΩϡϜ Ϩʔλʹܭࢉ݁ՌΛੵΜͰ࠶ ؼతʹؔ਺Λద༻ &OVNUBLF ͨ͠ͱ͜Ζ ͰॳΊͯܭࢉ

Slide 59

Slide 59 text

ϙϦϞʔϑΟζϜ •  ϙϦϞʔϑΟζϜͷ࣮ݱ – +BWBŋŋŋΠϯλϑΣʔεͳͲͷ্ҐͷܕͰ – 3VCZŋŋŋμοΫλϐϯάͰ – )BTLFMM΍4DBMBŋŋŋଟ૬ܕͰ – &MJYJSŋŋŋϓϩτίϧͰ

Slide 60

Slide 60 text

ϓϩτίϧ ҟͳΔσʔλܕʹಉ໊͡લ ͷؔ਺Λద༻ɻܕʹԠͯ͡ ৼΔ෣͍͕มΘΔ

Slide 61

Slide 61 text

ϓϩτίϧͷྑ͍ར༻ྫ h+p://blog.drewolson.org/building-an-elixir-web-app/

Slide 62

Slide 62 text

&MJYJSΒ͍͠ίʔυ •  ύλʔϯϚονΛੵۃతʹ࢖͏ •  ෭࡞༻͸ՄೳͳΒආ͚Δ෼཭ •  &OVN౳ͷؔ਺Λ૊Έ߹Θͤͯએݴతʹॻ͘ •  ύΠϓϥΠϯԋࢉࢠ|> ࢖͍୯Ұͷ໾ׂͷখ͞ ͳؔ਺Λܨ͛Δ

Slide 63

Slide 63 text

&SMBOH051ͱ&MJYJS

Slide 64

Slide 64 text

&SMBOH7.ͷ্Ͱಈ͘ BEAM (Erlang VM) OTP Elixir

Slide 65

Slide 65 text

ܰྔϓϩηε •  &SMBOH7.಺ͷ࣮ߦίϯςΩετͷ୯Ґ –  04ͷϓϩηεͰ͸ͳ͍ •  ϓϩηεϫʔυఔ౓ɻ௒ܰྔ –  ϊʔυ಺Ͱ਺ඦʙ਺ઍϓϩηεͱ͔ฏؾͰ࢖͍·͘Δ –  ϓϩηεͰʙͱ͔ͦ͏͍͏࿩΋ฉ͘

Slide 66

Slide 66 text

ܰྔϓϩηεͱฒߦ •  ܰྔϓϩηε͸7.ͰεέδϡʔϦϯά͞Εͯ ࣮ߦ͞ΕΔ •  7.͸εϨουϓʔϧ ͔֬ Ͱ࣮૷͞Ε͍ͯΔ –  ܰྔϓϩηεͰͷฒߦॲཧ͸ϚϧνίΞͰΛ࢖͑Δ

Slide 67

Slide 67 text

ΞΫλʔϞσϧ •  ϓϩηεؒ௨৴͸ϝοηʔδύογϯά –  ϓϩηεͷதʹʮϝʔϧϘοΫεʯ •  ͦ͜ʹϝοηʔδΛૹΔ TFOE •  ϝοηʔδʹ͸೚ҙͷ஋Λఴ෇Մ –  ϓϩηε͸ͦΕΛड৴଴ͪ SFDFJWF –  ஋͸ඞͣίϐʔ͞ΕΔ ڞ༗͞Εͳ͍ •  σʔλΛڞ༗͠ͳ͍㱺ϩοΫ͕͍Βͳ͍

Slide 68

Slide 68 text

ΞΫλʔϞσϧ

Slide 69

Slide 69 text

No content

Slide 70

Slide 70 text

051 •  ϓϩηεपΓͷඪ४ϥΠϒϥϦϑϨʔϜ ϫʔΫ܈ •  &SMBOHͷ࠷େͷࢿ࢈ – ΞΫλʔϞσϧ&SMBOH051͸ͳͲଞݴ ޠ΁େ͖ͳӨڹΛ༩͍͑ͯΔ •  ྫ4DBMBͷ"LLB

Slide 71

Slide 71 text

051ϏϔΠϏΞ (FO4FSWFS ܰྔϓϩηεʹύλʔϯ ϏϔΠϏΞ ʹ৐͔ͬΔ ͚ͩͰαʔόΛ࡞ΕΔɻ ཁ͸ϑϨʔϜϫʔΫ

Slide 72

Slide 72 text

BTZODBXBJUͷཪͰ͸Ξ Ϋλʔ͕ॲཧΛฒྻԽ͢ Δ 051ϏϔΠϏΞ 5BTL

Slide 73

Slide 73 text

4VQFSWJTPS Supervisor use GenServer ؂ࢹ ʮಥવͷࢮʂʯ ϓϩηεࢮΜͩ͠ɺઓུ ʹ߹Θͤͯ࠶ىಈ͠ͱ͘ Θ crash

Slide 74

Slide 74 text

-FUJUDSBTI •  ࣦഊʹඋ͑ͳ͍ɻྫ֎Λั·͑ͳ͍ •  4VQFSWJTPSͰ؂ࢹ͓͍ͯͯ͠ɺͦͷ·· ى͜͢ͳΓύϥϝʔλม͑ͯϦτϥΠͤ͞ ΔͳΓŋŋŋ

Slide 75

Slide 75 text

4VQFSWJTJPO5SFF h+p://qiita.com/naoya@github/items/ad18b49e9ed56a72cab6

Slide 76

Slide 76 text

ޠΓ͔͕ͨͬͨଟ෼͕࣌ؒͳ͍ʂ •  ܰྔϓϩηε͸γεςϜͷ৭ΜͳσβΠϯͱ૬ ৐ޮՌΛಇ͔͍ͤͯΔΑ –  ύλʔϯϚονͰએݴతʹؔ਺Λબ୒͢Δ͜ͱͱ-FU JUDSBTI͸૬ੑ͕ྑ͍Α –  ϓϩηεͷΞυϨε͸ಁաੑ͕͋ͬͯɺଞͷϊʔυ΁ ͷϝοηʔδύογϯά΋ҰॹͩΑˠ؆୯ʹεέʔ ϧ͢ΔΑ –  ܰྔϓϩηε୯ҐͰ($͢Δ͔ΒϝϞϦ͍Βͳ͘ ͳͬͨΒϓϩηε͝ͱࣺͯΕ͹ྑ͍Α

Slide 77

Slide 77 text

3FBDUJWF 3FBDUJWF.BOJGFTUP ϦΞΫςΟϒએݴ h+p://www.reac=vemanifesto.org/ja

Slide 78

Slide 78 text

ΞΫλʔʹΑΔ ϝοηʔδύογϯά

Slide 79

Slide 79 text

4VQFSWJTJPO5SFF -FUJUDSBTI

Slide 80

Slide 80 text

ܰྔϓϩηεͷ ΞυϨεಁաੑ

Slide 81

Slide 81 text

&SMBOHͱͷ૬ޓޓ׵ੑ •  &SMBOHͱ&MJYJS͸૬ޓޓ׵ – &SMBOHͷϥΠϒϥϦΛ&MJYJSͰ࢖͑Δ – &MJYJSͷΛ&SMBOHͰ΋࢖͑Δ

Slide 82

Slide 82 text

΄͔

Slide 83

Slide 83 text

.JY)FY •  Ϗϧυπʔϧύοέʔδ؅ཧ – 3VCZͷ#VOEMFSSVCZHFNT – /PEFKTͷOQN

Slide 84

Slide 84 text

IDDBXFTPNFFMJYJS •  ϥΠϒϥϦͷϦϯΫू

Slide 85

Slide 85 text

%JBMZ[FS ιʔεʹܕ৘ใΛΞϊςʔ γϣϯ͠ͱ͘ͱ ੩తܕνΣοΫ͸Ͱ͖Δ

Slide 86

Slide 86 text

ϚΫϩ

Slide 87

Slide 87 text

&MJYJSೖ໳ιʔε ೔ຊޠ •  8FC%#13&44WPM –  IUUQHJIZPKQNBHB[JOFXEQSFTTBSDIJWFWPM •  +PF@OPI͞ΜͷεϥΠυू –  IUUQXXXTMJEFTIBSFOFU+PF@OPIQSFTFOUBUJPOT •  (FUUJOH4UBSUFEͷ຋༁ –  IUUQFMJYJSKBTFOBOFUXPSLTHFUUJOH@TUBSUFEIUNM •  2JJUBr&MJYJS –  IUUQTRJJUBDPNUBHTFMJYJS

Slide 88

Slide 88 text

&MJYJSຊ͓͢͢Ί

Slide 89

Slide 89 text

ྑ͍͜ͱ͹͔Γݴ͍·͕ͨ͠ŋŋŋ •  ฒߦੑೳ͕ߴ͍ɺԠ౴ੑೳ͕ྑ͍ͱ͸ݴ͕ͬͨʮܭࢉ͕ ଎͍ʯͱ͸ݴͬͯͳ͍ –  1IPFOJYελοΫ͸3BJMTΑΓ͸଎͍ɺ͚Ͳ΋ –  ಈతܕ෇͚ݴޠͰ͢͠ –  ˞ҰԠ)J1&ʹ͢Δͱ଎͘͸ͳΔ΋Α͏ •  ؔ਺ܕݴޠͱͯ͠͸ͦ͜·ͰߴػೳͰ͸ͳ͍ •  ݸਓతͳ࿩ େن໛ӡ༻ͯ͠ͳ͍ͷͰ$POTΛޠΔʹ஌ ݟ଍Γͳ͍ •  &MJYJSྲྀߦΔ͔͸·ͩະ஌਺ –  ϓϩμΫγϣϯ౤ೖࣄྫ͸·ͩ͜Ε͔Β

Slide 90

Slide 90 text

·ͱΊ •  &MJYJS͸&SMBOH051ͱζο༑ •  ಈతܕ෇͚ͷؔ਺ܕݴޠ –  ͱɺݴͬͯ΋ා͘ͳ͍ –  ύλʔϯϚονɺύΠϓϥΠϯԋࢉࢠɺ&OVN 4USFBN •  051ͰΞΫλʔͳฒߦॲཧ •  -FUJUDSBTI