Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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.5k
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
Edge AI Performance on Zephyr Pico vs. Pico 2
iotengineer22
0
130
チーリンについて
hirotomotaguchi
6
1.8k
研究開発×プロダクトマネジメントへの挑戦 / ly_mlpm_meetup
sansan_randd
0
110
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
270
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
840
Gemini でコードレビュー知見を見える化
zozotech
PRO
1
240
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
5.2k
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
380
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
100
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
390
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
230
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
780
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
790
Why Our Code Smells
bkeepers
PRO
340
57k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Side Projects
sachag
455
43k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Become a Pro
speakerdeck
PRO
31
5.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
97
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
KATA
mclloyd
PRO
32
15k
Unsuck your backbone
ammeep
671
58k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
How to Ace a Technical Interview
jacobian
280
24k
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 ʜʜʜ