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
tokyo.ex #1 - phoenixframeworkの足回り
Search
Hidetaka Kojo
April 19, 2016
Technology
2.5k
4
Share
tokyo.ex #1 - phoenixframeworkの足回り
phonenixのEndpointを起点としたリクエスト処理の流れの説明とよくある実装を使ったcase study
Hidetaka Kojo
April 19, 2016
More Decks by Hidetaka Kojo
See All by Hidetaka Kojo
機械学習を使ったゲームの運用サポートとSageMakerRL
hidetakakojo
0
1.3k
Other Decks in Technology
See All in Technology
Do Ruby::Box dream of Modular Monolith?
joker1007
1
340
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
10
4.5k
Digitization部 紹介資料
sansan33
PRO
1
7.3k
AI時代における技術的負債への取り組み
codenote
1
1.5k
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
78k
クラウドネイティブな開発 ~ 認知負荷に立ち向かうためのコンテナ活用
literalice
0
120
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
AI時代 に増える データ活用先
takahal
0
220
Eight Engineering Unit 紹介資料
sansan33
PRO
3
7.3k
こんなアーキテクチャ図はいやだ / Anti-pattern in AWS Architecture Diagrams
naospon
1
450
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
900
Introduction to Bill One Development Engineer
sansan33
PRO
0
410
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
520
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
510
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
510
Art, The Web, and Tiny UX
lynnandtonic
304
21k
The Cult of Friendly URLs
andyhume
79
6.8k
Exploring anti-patterns in Rails
aemeredith
3
320
Testing 201, or: Great Expectations
jmmastey
46
8.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
220
Claude Code のすすめ
schroneko
67
220k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Transcript
QIPFOJYGSBNFXPSLͷճΓ 9'-"(äελδΦ )JEFUBLB,PKP
ࣗݾհ w ΤοΫεϑϥάͷதͷਓ w HJUIVC)JEFUBLB,PKP
ࠓͷ w QIPFOJYͷ؆୯ͳಈ࡞ͷઆ໌ w ϦΫΤετͷॲཧͷྲྀΕ .Z"QQ&OEQPJOU w Α͋͘ΔػೳͷQIPFOJY্Ͱͷ࣮ํ๏հ
.Z"QQ "QQMJDBUJPO w MJCNZ@BQQFYͰఆٛ w BQQMJDBUJPOىಈͷى w ࠷ॳʹىಈ͍ͯ͠Δͷ ӈͷͭ w
͜ͷͭΛཧղͨ͠Β QIPFOJYͷಈ࡞Λཧղͨ͠ಉ͡ʂ ͷͣ .Z"QQ .Z"QQ4VQFSWJTPS .Z"QQ&OEQPJOU .Z"QQ3FQP
.Z"QQ&OEQPJOU w .Z"QQ&OEQPJOUͷ༰ʜ w 1IPFOJY&OEQPJOUͷXSBQQFS w QIPFOJY4PDLFUUSBOTQPSUͷEJTQBUDITͷهड़ w IUUQϦΫΤετॲཧͰ௨ΔQMVHQJQFMJOFͷهड़
1MVH w ͦͦ1MVHͬͯʁ w 1MVH$POOߏମΛೖྗͯ͠ 1MVH$POOߏମΛग़ྗ͢Δͷ w ͦΕԿ͔ҙຯ͕͋Δͷʁ w
͜ͷΈͰQIPFOJYߏ͞Ε͍ͯΔͱ ݴͬͯաݴͰͳ͍ QMVH" 1MVH$POO 1MVH$POO`
1MVH QMVH" QMVH# QMVH$ QMVH% QMVH& QMVH' SFRVFTU DPOO
SFTQPOTF DPOO
1MVH
.Z"QQ&OEQPJOU .Z"QQ&OEQPJOU $POpH 1VC4VC 8BUDIFS 4FSWFS 1IPFOJY&OEQPJOU $PXCPZ8FCTPDLFU 1MVH"EBQUFST
$PXCPZ)BOEMFS DPXCPZ IBOEMFST SFRVFTUMJTUFOJOHQSPDFTTFT
.Z"QQ&OEQPJOU w 1MVH"EBQUFST$PXCPZ)BOEMFS w &OEQPJOUͰઃఆͨ͠QMVHͷDBMM͕ͳ͞ΕΔ w IUUQTHJUIVCDPNFMJYJSMBOHQMVHCMPCNBTUFSMJCQMVH BEBQUFSTDPXCPZIBOEMFSFY- w
&OEQPJOUʹࢦఆ͞ΕͨQMVHΛ্͔Βॱʹ దԠ͍ͯ͘͠ w ্͔Βॱͳͷ1MVH#VJMEFSͰͦͷॱ൪ͰݻΊ ΒΕ͍ͯΔͨΊ
.Z"QQ&OEQPJOU w ॳظͰىಈ͍ͯ͠ΔQMVH 1MVH4UBUJD 1MVH3FRVFTU*E 1MVH-PHHFS 1MVH1BSTFST 1MVH.FUIPE0WFSSJEF 1MVH)FBE
1MVH4FTTJPO .Z"QQ3PVUFS
.Z"QQ3PVUFS w XFCSPVUFSFYʹ࣮ w QJQFMJOFΛͬͯQMVHΛଋͶͯɺ TDPQF͝ͱʹଋͶͨQJQFMJOFΛదԠ͢Δ w ͜͜Ͱ1MVH#VJMEFSͰQJQFMJOF͕ଋͶΒΕͯΔ
$POUSPMMFS w BDUJPOʹରԠͨ͠ϩδοΫΛॻ͘ w .Z"QQ3PVUFS݁ہQMVH w 1MVH$POOTFOE@SFTQͷதͰSFTQPOTFʹඞཁͳ ใΛDPOOͷதʹؚΊͯฦ͢ w .Z"QQ3PVUFSͷޙʹͪΖΜQMVH͔͚Δ
w ͜͜·Ͱ͕SFRVFTUΛQIPFOJY͕ͲͷΑ͏ʹ ॲཧ͍ͯ͠Δ͔ͷ
͜͜·Ͱͷ·ͱΊ w .Z"QQ "QQMJDBUJPO Λத৺ʹQIPFOJYΛݟͯΈͨ w UFNQMBUFͱ͔WJFXʜ w TPDLFUҎલʹগͨ͠͠ͷͰͦͪΒΛʜ w
IUUQXXXTMJEFTIBSFOFUIJEFUBLBLPKPFMJYJS w ͔͜͜Β্هͷ༰Λ౿·͑ͯΑ͋͘Γͦ͏ͳ ػೳΛ࣮͢Δ
͋Δ͋Δ࣮ UPLFOͷݕূΛ͍ͨ͠ w ཁ݅ w Ϣʔβ͕ૹΓ͚ͭͯ͘ΔUPLFOͰೝূΛ͍ͨ͠ w ԿΛ͢Ε͍͍ͷ͔ w
ೝূ͕ඞཁͳBDUJPOʹରͯ͠UPLFOͷݕূΛߦ͏
͋Δ͋Δ࣮ UPLFOͷݕূΛ͍ͨ͠ .Z"QQ3PVUFS
͋Δ͋Δ࣮ UPLFOͷݕূΛ͍ͨ͠ .Z"QQ1MVH5PLFO"VUI
͋Δ͋Δ࣮ NTHQBDL"1*Λ͍͍ͨ w ཁ݅ w NTHQBDL"1* QSPUPCVG"1*ͷ࣮ w ԿΛ͢Ε͍͍ͷ͔
w CPEZͷதΛEFDPEF͢Δॲཧ w TFOE@SFTQͰૹ৴࣌ʹFODPEF͢Δॲཧ
͋Δ͋Δ࣮ NTHQBDL"1*Λ͍͍ͨ w $POUSPMMFSͷதͰEFDPEF͞ΕQBSBNTʹೖ͍ͬͯΔ w .Z"QQ3PVUFSΑΓલͷQMVHͰॲཧ͞Ε͍ͯΔ w 1MVH1BSTFS w
QBSTFSTʹ!CFIBWJPVS1MVH1BSTFSTͳNPEVMFΛ ॻ͘͜ͱͰಠࣗͷQBSTFॲཧ͕͔͚Δ w QBSTFͱEFDPEF w 1MVH1BSTFST+40/Λ·Ͷͯมߋ͢Ε؆୯ʹʂ
͋Δ͋Δ࣮ NTHQBDL"1*Λ͍͍ͨ .Z"QQ.THQBDL1BSTFS .Z"QQ&OEQPJOU
͋Δ͋Δ࣮ NTHQBDL"1*Λ͍͍ͨ w TFOE@SFTQΛൃߦ͢Δ࣌ͰSFTQPOTFͷCPEZ FODPEF͓͔ͯ͠ͳ͚ΕͳΒͳ͍ w KTPOͷ߹1IPFOJY$POUSPMMFSKTPOͷॲཧ w ࣗͰTFOE@SFTQॲཧΛͬͯSFTQ@CPEZʹ
FODPEFͨ݁͠ՌΛੵΊ͍͍ w .Z"QQ)FMQFSNTHQBDL 1IPFOJY$POUSPMMFS
!EFSJWFʹ͍ͭͯ w &DUPͷNPEFMͷΑ͏ͳTUSVDUΛ&ODPEFSͰFODPEF ͢Δͱ@@NFUB@@pFME͕͋ΔͨΊʹFSSPSΛग़Δ w ܕ TUSVDU ͝ͱʹFODPEFSͷৼΔ͍Λఆٛ͠ͳ͍ ͱ͍͚ͳ͍
!EFSJWFʹ͍ͭͯ w QSPUPDPMଆ͕༻ҙ͍ͯ͠ΕNPEVMF͝ͱͷڍಈΛ NPEVMFʹ؆୯ʹఆ͕ٛͰ͖Δ
͋Δ͋Δ࣮ ϩάΛSFRVFTUKTPOͰ w ཁ݅ w qVFOUEͰ͍қ͍Α͏ʹSFRVFTUMPHΛKTPOͰ ߏԽ͖͍ͯͨ͠ w ղੳ༻్ͷͨΊSFRVFTUQBSBNT͚͍ͭͨ
w ԿΛ͢Ε͍͍ͷ͔ w ϦΫΤετͷ༰ΛؚΊͯSFTQPOTFʹൃߦ w -PHHFSʹTUSJOHҎ֎ͷPCKFDUΛ͢
͋Δ͋Δ࣮ ϩάΛSFRVFTUKTPOͰ w طଘͷ-PHHFS1MVH-PHHFSʹهड़͞Ε͍ͯΔ w 1MVH1BSTFSΑΓલʹ͍͍͋ͬͯͷ͔ʁ w SFHJTUFS@CFGPSF@TFOE w
TFOE@SFTQͷ෦ͷSVO@CFGPSF@TFOEͰ ొͯ͋͠ΔDBMMCBDLΛݺͼग़͢
͋Δ͋Δ࣮ ϩάΛSFRVFTUKTPOͰ
͋Δ͋Δ࣮ ϩάΛSFRVFTUKTPOͰ w MPHHFSΛॆ࣮ͯ͠΄͍͠ͱݴ͏ϦΫΤετʹ ଚࢣͷ͋Γ͕͍͓ͨݴ༿ʜ w ͱ͍͏͜ͱ͢ͰʹͰ͖Δͣɻ w -PHHFSJOGP
DIBSEBUB@PS@GO NFUBEBUB
͋Δ͋Δ࣮ ϩάΛSFRVFTUKTPOͰ w -PHHFSʹNFUBEBUBͱͯ͠LFZXPSEMJTU͕ͤΔ w ͋ͱड͚औͬͨNFUBEBUBΛKTPOʹFODPEFͯ͠ ग़ྗ͢ΔMPHHFSCBDLFOEΛ༻ҙ͢Ε͍͍ w IUUQTHJUIVCDPNYqBHTUVEJPFMJYJS@MPHHFS@KTPO@pMF@CBDLFOE
w ࣗ࡞ͷ-PHHFSΛ࡞ͯ͠ɺ1MVH-PHHFSͱஔ͖͑ͯ ඞཁͳϩάΛ͘Α͏ʹ͢Δ
͋Δ͋Δ࣮ αʔόͷϨεϙϯεΛίϯτϩʔϧ͍ͨ͠ w ཁ݅ w QBSTFFSSPSͳͲͷϦΫΤετىҼͰൃੜͨ͠ ΤϥʔΛܥͷΤϥʔͰฦͨ͘͠ͳ͍ w ԿΛ͢Ε͍͍ͷ͔
w ಛఆͷΤϥʔΛัଊͯ͠దͳSFTQPOTFΛฦ͢
͋Δ͋Δ࣮ αʔόͷϨεϙϯεΛίϯτϩʔϧ͍ͨ͠ w 1MVH1BSTFS&OEQPJOUͷQMVHQJQFMJOFͷҰ෦ w &OEQPJOUDBMM͕QMVHQJQFMJOFॲཧΛ࣮ߦ͢Δ .Z"QQ&OEQPJOU
·ͱΊ w FOEQPJOUΛىͱͨ͠SFRVFTUͷྲྀΕͱ QMVHͷΈΛཧղ͢Δͱ৭ʑ෯͕͕Δ w QIPFOJYΓ͍ͨ͜ͱ͕γϯϓϧʹ͔͚ͯɺ ݴޠΛݗҾͰ͖ΔଘࡏʹͳΕΔͱࢥ͍ͬͯΔ w "DUJWF3FDPSE 3BJMTͷෳࡶ͔͞Βͷճؼ
w Ϛϧνϓϩηεͷརศੑ w IPUEFQMPZͷϕετͳ͖߹͍ํ·ͩ·ͩݸਓతͳ՝ʜ
None
͕࣌ؒ͋·ͬͨͱ͖ͷࢿྉ &DUPͷTIBSEJOH w &DUPͷෛՙࢄͬͯ·͔͢ʁ w TIBSEJOH&DUP3FQPͩͱ݁ߏ؆୯ʂ
͕࣌ؒ͋·ͬͨͱ͖ͷࢿྉ &DUPͷTIBSEJOH .Z"QQ6TFS4IBSEJOH.BOBHFS .Z"QQ 6TFS3FQP4 .Z"QQ 6TFS3FQP4 .Z"QQ 6TFS3FQP4 .Z"QQ
6TFS3FQP4
͕࣌ؒ͋·ͬͨͱ͖ͷࢿྉ &DUPͷTIBSEJOH w .Z"QQ6TFSHFOFSBUF@JE Ͱγʔέϯα͔Β࠾൪ w 6TFSSFQP VTFS@JE Ͱ֨ೲ͢ΔTIBSEJOH͍ͯ͠Δ 6TFS3FQPMJTU͔ΒରԠ͢Δ3FQPΛฦ͢
w 6TFSSFQP VTFS@JE VQEBUF DIBOHFTFU
·͕ͩ࣌ؒ͋·ͬͨͱ͖ͷࢿྉ FYRͷࢄ w FYR࣮ͬͯSFEJT͕Ұʹݻఆ͞ΕΔͷͰ όοΫΤϯυΛࢄ͍ͨ͠ͱ͖ͱ͔ʹ͕ඞཁ w UXFNQSPYZͩLFZ͕গͳ͍FYRͰͲͷRVFVF ͕Ͳͷϗετʹ͍͔͘Θ͔Βͳ͍͔Βݫີʹෛՙ ͕ࢄ͢Δอূ͕ͳ͍ w
͜ͷลΓੵΉͱ͖ʹSBOEPNʹSFEJTIPTUΛબΜ ͰFORVFVF͢Δͱ͔ඞཁͰ͢
·͕ͩ࣌ؒ͋·ͬͨͱ͖ͷࢿྉ FYRͷࢄ FYRSFEJT FYRSFEJT FYRSFEJT QIPFOJY"QQ X X X QIPFOJY"QQ
X X X ʜʜʜ