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
4
2.4k
tokyo.ex #1 - phoenixframeworkの足回り
phonenixのEndpointを起点としたリクエスト処理の流れの説明とよくある実装を使ったcase study
Hidetaka Kojo
April 19, 2016
Tweet
Share
More Decks by Hidetaka Kojo
See All by Hidetaka Kojo
機械学習を使ったゲームの運用サポートとSageMakerRL
hidetakakojo
0
1.2k
Other Decks in Technology
See All in Technology
Claude CodeでKiroの仕様駆動開発を実現させるには...
gotalab555
3
1k
OPENLOGI Company Profile for engineer
hr01
1
38k
生成AI時代におけるAI・機械学習技術を用いたプロダクト開発の深化と進化 #BetAIDay
layerx
PRO
1
1.2k
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
1
1.3k
Findy Freelance 利用シーン別AI活用例
ness
0
490
AIに目を奪われすぎて、周りの困っている人間が見えなくなっていませんか?
cap120
1
620
Backlog AI アシスタントが切り開く未来
vvatanabe
1
130
生成AIによるデータサイエンスの変革
taka_aki
0
3k
風が吹けばWHOISが使えなくなる~なぜWHOIS・RDAPはサーバー証明書のメール認証に使えなくなったのか~
orangemorishita
15
5.7k
Infrastructure as Prompt実装記 〜Bedrock AgentCoreで作る自然言語インフラエージェント〜
yusukeshimizu
1
110
LLMで構造化出力の成功率をグンと上げる方法
keisuketakiguchi
0
810
Amazon Q Developerを活用したアーキテクチャのリファクタリング
k1nakayama
2
210
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Optimizing for Happiness
mojombo
379
70k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Side Projects
sachag
455
43k
Scaling GitHub
holman
461
140k
Unsuck your backbone
ammeep
671
58k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
GitHub's CSS Performance
jonrohan
1031
460k
Navigating Team Friction
lara
188
15k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.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 ʜʜʜ