Slide 1

Slide 1 text

ϩϚαΨ34ʹ͓͚Δ &MJYJSαʔόʔ։ൃ࣮ફ ʙੜ࢈ੑΛ্͛ͯήʔϜͷ໘ന͞ʹ஫ྗʙ © 2018, 2019 SQUARE ENIX CO., LTD. All Rights Reserved. / Powered by Akatsuki Inc.

Slide 2

Slide 2 text

ƀÔ ¯ŭ ċ܆Ĵ:BSD Jv]vJ

Slide 3

Slide 3 text

x u L Q ae 23Ø'2$sftKtF JCΖøˆ sftKtF JCƒ1300Øã$|ĬŌ³ L d n S_ Xmlt L LP dv L ud d Xe dffc L s ed X gl wME=>:u?YREM02Ż

Slide 4

Slide 4 text

dT o yL L @ u/ d L

Slide 5

Slide 5 text

dT o yL L L E L v ( , d , . d u/ ) @ ) E

Slide 6

Slide 6 text

o yL L śŢ]vLnt ❖ Elixir 1.7.3 ❖ Erlang 21.0 o

Slide 7

Slide 7 text

o yL A o yL L Ld ❖ DB $IZEKntbvqđ-¨Ħį ➢ Ruby on Rails $¶Ē$Jv] ĘŬIZEKntöġĞ ❖ ‡r

Slide 8

Slide 8 text

L ❖ Jv]v_qWĀ# JSON 7¶č ❖ ũ©Ā# ETS #ţ+Ů, ❖ DB #fMPUvP7•43ĵ#Ę) ➢ Əų:EOM ➢ DB ŧŎūĞ o yL by Renee French CC BY 3.0

Slide 9

Slide 9 text

HvhJv]v: Elixir šŠJv]v: Elixir p]vMbsDK: Nginx (OpenResty) o yL ´Jv]v% AWS ECS y$ ItTX˜©ˆ

Slide 10

Slide 10 text

ĿĨJv]v: Python (Django) IJ1Jv]v: Python (Django) ďŠSvq: Elixir (Phoenix + Vue.js) o yL

Slide 11

Slide 11 text

br

Slide 12

Slide 12 text

L ❖ Docker

Slide 13

Slide 13 text

L @ L ❖ GitHub ( push 3 CircleCI Q>REŨ3 ➢ IvW`@vfRV ➢ It^RE (Dialyzer) ➢ TMV ➢ …

Slide 14

Slide 14 text

L @ ) A ❖ Dialyzer %? → ƇįŚĉSvq ➢ ýij"Á$ſŶ$ďIJ ➢ ¢ŵ{²Ŋ"œÕ$ďIJ ❖ Typespec (Á:[TvKnt) 7 …ìĂ . 3 ❖ Elixir ©įÁƒ3¡Ģ7 ĜÞĢ7Œß 3 ➢ ©įÁƒ"$ÐőIMV‡ ➢ ÁQ>RE PDCA ų"3 ➢ IvWĨŚ/"3

Slide 15

Slide 15 text

L @ ) A @ ❖ PLT DkRKm7¡ī ➢ svBq$ÐŏĀſ% 010ĵ ➢ CircleCI .¤½Ðŏœ7ŒÌ ❖ struct $Á7 t() Ïʼn3 ‹¡ ❖ ĵ#0%fEsÏʼn3 ‹¡ ➢ Typespec BigQuery $MDvf7 ¶Ā#Ïʼn3"!

Slide 16

Slide 16 text

❖ Pvt£$IftW]Vq ❖ ]VqsLRE%Jv]vŜľ Eo<:tV#%Ġ›ī$ńĊ$+7ů ➢ QvVƂĕ ➢ sLRE$TMP_pT;$·y ❖ Pvt #]Vq$ĥí7 JSON ªu¿Ň DB #ŒÌ3 ➢ DkRKmĝÊ$æŻ""3 ƐöĀſ$ſ]Vq™ž 3Ƒ L @ Eo<:tV Jv]v DB IftW ńĊ

Slide 17

Slide 17 text

❖ ƀöÁśŢ!/Ă ➢ Hvh$ĥí7 struct Őħ3: State ➢ DkoEPvu÷$1ŏ©7 struct Őħ3: Action ➢ State #œö$ Action 7Ƌ#ˆī ➢ Action $ńĊ State $ńĊ7rMetM ❖ ƀöÁśŢ]VqsLRE7ĂipRV ➢ TMV/ ➢ p`9EPptF/ ■

Slide 18

Slide 18 text

d ❖ ]VqsLRE7Jv]v#ň ďŠùě$ÖÙ3 ➢ Fluentd Ų~Ü$sF7°3 ■ Redash (BI Svq) ďłuƁŘ ➢ ďŠSvq]Vq$ĥí7Çā3 ■ DB y$7Ă ô 3 ➢ BigQuery $ĈĭsF1 ]Vq$å“ ■ €öKvW.¸- L @

Slide 19

Slide 19 text

fag ❖ Elixir %Pvt£$HvhsLREīŲ#%”œƏų ➢ ×ÀrMetMP

Slide 20

Slide 20 text

dT o yL L L E L v ( , d , . d u/ ) @ ) E

Slide 21

Slide 21 text

u/ ) @ ) E o yL L L E L v ❖ p]vMbsDK# OpenResty 7òī ❖ Lua MEpbV#03BMPhšĨ ➢ šŠuORKntĿĨ ● APIº&›“$Ĺć br

Slide 22

Slide 22 text

u/ ) @ ) E o yL L L E L v !1šĨ3) Ɠ ❖ àžrMetM¿Ň7:bpGvKntJv]v(Cowboy)ŏ ➜ ƏŧŎĀ# CPU ‰īĦġÆ ➜ p]vMbsDK#¿Ň30#

Slide 23

Slide 23 text

u/ ) @ ) E APM : Application Performance Monitoring ❖ :bpGvKntêŊ$İŗáƊŔ¾7Ē"řĢ1œĉ ❖ éŷ"UX7Ðħ3y$^`@vftMQmvYtF#çƌ ӕùě ❖ APMӕ = o

Slide 24

Slide 24 text

u/ ) @ ) E ❖ o

Slide 25

Slide 25 text

u/ ) @ ) E ) : ( , d ❖ APIė$ŅŜëà pE?MVö, r

Slide 26

Slide 26 text

u/ ) @ ) E ) : ( , d ❖ ‡ų"pE?MV11$ šĨĀſ/P

Slide 27

Slide 27 text

u/ ) @ ) E ( , c l @ ❖ ETS ëÃ$ò°.QmvYtFĀ#%Ą¨ ➢ :EOMƍÚƏ$ĈĭĩÅ%ŜğÒŦ1ƄÈ ❖ ’%3Av]vcRW%3 ➢ xź$dMV$+Ŝğ3 ūĞ ➢ ĩÅÇöŜğ‘ĕ (disable) 30# ■ disable 3 :bpGvKntũ©"]F#ŸŴ ■ Spandex #ŽĖ Pull Request 7ű 5¬Û#fvL .1 = IgmYT;žĮ$ipRV

Slide 28

Slide 28 text

u/ ) @ ) E , . d ❖ DB Connector Mariaex o

Slide 29

Slide 29 text

u/ ) @ ) E , . d ❖ 1ûķÚŧŎ7ņ3 … MySQLijp{Ū EoRKm & ™ũ© DB dMV ĸ ijp J

Slide 30

Slide 30 text

u/ ) @ ) E , . d ÒĽ ❖ IgmYT;óČ4 Pull Request 7ŷī 5»Ǝ%Śĝ ➢ ÉŖēĩÅ$ MySQL $EoRKm½Ź 3 7ù fvL.1 ¡īùě ❖ GitHub 1 v0.8 aotQ*% master $ăø7°ä3çŔ2 ❖ Ecto $ config #„z7ۧ config :app, App.Repo, adapter: Ecto.Adapters.MySQL, prepare: :unnamed, ...

Slide 31

Slide 31 text

u/ ) @ ) E fag ❖ Elixir$Žï7Ĝ30

Slide 32

Slide 32 text

fag A U ci zL d Xc l d A pd n L Lc R_ c L P n