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
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
Search
Takuma Yamamoto
November 28, 2023
Programming
0
1.2k
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
https://labs.snaq.me/entry/2023/12/02/090233
Takuma Yamamoto
November 28, 2023
Tweet
Share
More Decks by Takuma Yamamoto
See All by Takuma Yamamoto
ドメイン駆動設計 勉強会 〜 リポジトリ編 〜 / 2024-04-23
tamago3keran
0
52
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
130
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
360
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
65
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
71
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
tamago3keran
1
1.3k
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
2
950
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.1k
PC が変わっても使い慣れた Neovim で すぐに開発を始める仕組み / 2023-07-25
tamago3keran
1
1k
Other Decks in Programming
See All in Programming
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
Remix on Hono on Cloudflare Workers
yusukebe
1
280
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1.1k
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
Jakarta EE meets AI
ivargrimstad
0
590
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
Quine, Polyglot, 良いコード
qnighy
4
640
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
役立つログに取り組もう
irof
28
9.6k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
32
1.5k
Gamification - CAS2011
davidbonilla
80
5k
4 Signs Your Business is Dying
shpigford
180
21k
What's in a price? How to price your products and services
michaelherold
243
12k
GitHub's CSS Performance
jonrohan
1030
460k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
A designer walks into a library…
pauljervisheath
203
24k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Transcript
Rails ܦݧऀ͕ FastAPI ຊΛಡΜͰײͨ͜͡ͱ Takuma Yamamoto
BIOGRAPHY ͋ͳͨ୭Ͱ͔͢ʁ 5BLVNB:BNBNPUP 8PSLBUTOBQNF 'SPN.JZB[BLJ ٕज़ελοΫ 4/4 झຯ ɾόοΫΤϯυ3VCZPO3BJMT ɾϑϩϯτΤϯυ3FBDU
ɾΞϓϦ3FBDU/BUJWF ɾɹɹIUUQTHJUIVCDPNUBNBHPLFSBO ɾɹɹIUUQTUXJUUFSDPNZBNBUBLV ɾɹɹIUUQTRJJUBDPNUBNBHPLFSBO ɾɹɹIUUQT[FOOEFWUBNBHPLFSBO ɾ͓ͭ ɾαφ ɾΞχϝ
INTRODUCTION લ৬Ͱ Ruby on Rails ͰαʔόʔαΠυΛ։ൃ લ৬Ͱؒ3VCZPO3BJMTΛ༻ͯ͠αʔόʔαΠυΛ։ൃͯ͠·ͨ͠ɻ 8FCଆͷ࣮͍ͯ͠·ͨ͠͠ɺϞόΠϧΞϓϦͷ"1*Λ࣮͍ͯ͠·ͨ͠ɻ
INTRODUCTION εφοΫϛʔͰ FastAPI ͰαʔόʔαΠυΛ։ൃ εφοΫϛʔͰɺࣾΦϖϨʔγϣϯγεςϜΛ3VCZPO3BJMTͰ։ൃ͍ͯ͠·͢ɻ ҰํͰίϯγϡʔϚʔ͚ͷϓϩμΫτ'BTU"1*Ͱ։ൃΛߦ͍ͬͯ·͢ɻ
INTRODUCTION ΩϟονΞοϓͷͨΊ FastAPI ຊΛखʹऔΓ·ͨ͠ ΤϯδχΞ࠾༻Λ୲͢Δͱͯ͠ɺࣗࣾͷٕज़ʹؔͯ͠ΩϟονΞοϓ͍ͨ͠ͱࢥ͍·ͨ͠ɻ ͦ͜Ͱʮಈֶ͔ͯ͠Ϳʂ1ZUIPO'BTU"1*։ൃೖʯͱ͍͏ຊΛखʹऔΓ·ͨ͠ɻ
TODAY’s TOPIC Rails ܦݧऀ͕ FastAPI ຊΛಡΜͰײͨ͜͡ͱΛڞ༗ ࠓ·Ͱ3VCZPO3BJMTͰͷΈαʔόαΠυΛ։ൃ͖ͯͨ͠ͷͰɺษڧʹͳΔ͜ͱ͕ଟ͔ͬͨͰ͢ɻ ࠓճ'BTU"1*ຊΛಡΜͰɺັྗʹײͨ͜͡ͱ৽͞Λײͨ͡෦Λڞ༗͠·͢ɻ ςοΫϒϩάʹॻ͍͍ͯΔͷͰͥͻ
TODAY’s GOAL FastAPI ʹڵຯͷ͋Δ Rails ܦݧऀͷஅࡐྉʹͳΕ 3BJMTܦݧऀͷײΛڞ༗ 'BTU"1*Ͱͷ։ൃΛݕ౼ 3BJMTܦݧऀ͕'BTU"1*ຊΛ ಡΜͰײ༷ͨ͡ʑͳ͜ͱʹͭ
͍ͯɺհ͠·͢ɻ 3BJMTܦݧऀͰ'BTU"1*ʹڵ ຯͷ͋Δํʹͱͬͯͷஅࡐ ྉʹͳΕخ͍͠Ͱ͢ɻ
What is FastAPI? ͦͦ FastAPI ͱԿͰ͔͢ʁ
INTRODUCTION High-performance API framework 'BTU"1*JTBNPEFSO GBTU IJHIQFSGPSNBODF XFCGSBNFXPSLGPSCVJMEJOH"1*TXJUI1ZUIPO
CBTFEPOTUBOEBSE1ZUIPOUZQFIJOUT 'BTU"1*ɺ1ZUIPOͷඪ४Ͱ͋Δܕώϯτʹج ͍ͮͯ1ZUIPOҎ߱Ͱ"1*Λߏங͢ΔͨΊ ͷɺϞμϯͰɺߴ ߴύϑΥʔϚϯε ͳɺ 8FCϑϨʔϜϫʔΫͰ͢ɻ Ҿ༻ݩIUUQTGBTUBQJUJBOHPMPDPN UJBOHPMPGBTUBQJ 'BTU"1*GSBNFXPSL IJHIQFSGPSNBODF FBTZUP 1ZUIPO
What attracted me to the book? ࢲ͕ FastAPI ຊΛಡΜͰײͨ͡ັྗతͳ෦ʹ͍ͭͯ
IMPRESSION ෆ۩߹ΛܕఆٛʹΑΓະવʹ͙ 1ZUIPOʮܕώϯτʯͷΈΛ͕࣋ͭɺಈతܕ͚ݴޠͰ͋ΔͨΊɺܕΤϥʔൃੜ͠ͳ͍ɻ Ұํ'BTU"1*1ZEBOUJDͷྗʹΑΓɺ"1*ͷೖग़ྗʹ͓͍ͯόϦσʔγϣϯΛߦ͍·͢ɻ ͦͷͨΊɺϑϩϯτΤϯυͱଓͯ͠ಈ࡞֬ೝ͢Δલʹෆ۩߹Λݕ͢Δ͜ͱ͕Ͱ͖·͢ɻ ࡢࠓܕΛ༻ͨ͠։ൃ͕Ұൠతʹͳ͖ͬͯͨϑϩϯτΤϯυ։ൃͱ૬ੑ͕ྑͦ͞͏Ͱ͢ɻ
IMPRESSION ϑϩϯτΤϯυͱͷڠۀΛεϜʔζʹ͢ΔΈ ύεΦϖϨʔγϣϯؔͱϦΫΤετɾϨεϙϯεͷεΩʔϚΛఆٛͨ͠ஈ֊Ͱɺ4XBHHFS6*ͷυ Ωϡϝϯτͱ"1*ϞοΫ͕ࣗಈతʹఏڙ͞ΕΔͷͰɺૣ͍ஈ֊͔ΒϑϩϯτΤϯυͷ։ൃΛ։࢝͢ Δ͜ͱ͕Ͱ͖·͢ɻ ͦΕʹΑΓυΩϡϝϯτͷߋ৽࿙ΕͦΕʹͬͯى͖Δ࣮ͷखΓΛɺීஈͷ։ൃͷྲྀΕͰղফ ͢Δ͜ͱ͕Ͱ͖ΔΈʹͳ͍ͬͯ·͢ɻ
IMPRESSION อकੑΛߴΊ͍͢ΞʔΩςΫνϟʔ 'BTU"1*ຊͰհ͞Ε͍ͯͨΞʔΩςΫνϟʔͳͷͰ͕͢ɺ3VCZPO3BJMTͱҧ͍ɺ$36%ͷॲཧ ͕3PVUFSʢ.7$ʹ͓͚Δ$POUSPMMFSʣ͔ΒΓ͞Ε͍ͯ·ͨ͠ɻ ͦΕʹΑΓɺॲཧϩδοΫ͕ΧϓηϧԽͰ͖ΔͨΊɺ࠶ར༻ੑ্͕͠ɺͦΕʹͬͯςελϏϦ ςΟ্͢Δ͜ͱ͕Ͱ͖·͢ɻ .PEFM $POUSPMMFS 7JFX CRUD
What did I fi nd odd in the book? ࢲ͕
FastAPI ຊΛಡΜͰ৽ʹײͨ͡෦ʹ͍ͭͯ
IMPRESSION ࣗલͰΤΫηϓγϣϯΛฦ͢ඞཁ͕͋Δ 'BTU"1*ຊͰɺσʔλ͕ͳ͍࣌ʹ)551ΤΫηϓγϣϯΛฦ͢ॲཧΛࣗΒ࣮͍ͯ͠·ͨ͠ɻ 3VCZPO3BJMTͰ"DUJWF3FDPSE"DUJPO$POUSPMMFSͷ͓͔͛ͰɺࣗಈͰΤϥʔΛฦ͍ͤͯͨ ͷͰɺࣦ೦͠ͳ͍Α͏࣮͢Δඞཁ͕͋Δͱࢥ͍·ͨ͠ɻ 404 Not found…
IMPRESSION ࣗ༝ͷߴ͍ઃܭ͕Մೳ 3VCZPO3BJMTʹ$P$ͱ͍͏ઃܭཧ೦͕͋Γɺ3BJMT8BZʹԊͬͨϓϩάϥϛϯάΛ͢Δ͜ͱͰɺ νʔϜ։ൃʹ͓͍ͯ༨ܭͳίϛϡχέʔγϣϯίετυΩϡϝϯτཧίετͷൃੜΛ࠷খݶʹ͠ ͍ͯ·ͨ͠ɻ Ұํ'BTU"1*3VCZPO3BJMTͱൺͯɺࣗ༝ߴ͘ઃܭ͢Δ͜ͱ͕Ͱ͖ΔͨΊɺઃܭॻΛݴޠԽ͢ ΔͳͲͯ͠ɺνʔϜͰೝࣝΛἧ͑ͳ͕Β։ൃ͢Δඞཁ͕͋Δͱײ͡·ͨ͠ɻ ઃఆΑΓن $P$ʢ$POWFOUJPOPWFS$PO fi
HVSBUJPOʣ ࣗ༝ͷߴ͍ઃܭ
Summary Rails ܦݧऀ͕ FastAPI ຊΛಡΜͰײͨ͜͡ͱΛ·ͱΊΔͱ…
SUMMARY Rails ܦݧऀ͕ FastAPI ຊΛಡΜͰΈͯ… ɾෆ۩߹ΛܕఆٛʹΑΓະવʹ͙ ɾϑϩϯτΤϯυͱͷڠۀΛεϜʔζʹ͢ΔΈ ɾอकੑΛߴΊ͍͢ΞʔΩςΫνϟʔ
ɾࣗલͰΤΫηϓγϣϯΛฦ͢ඞཁ͕͋Δ ɾࣗ༝ͷߴ͍ઃܭ͕Մೳ
Recruitment ΤϯδχΞืूதͰ͢ʂ
RECRUITMENT We are Hiring! εφοΫϛʔͰɺʮ͓ͭͱɺੈքΛ໘ന ͘ʯ͍ͯ͘͠ɺͦΜͳ׆ಈΛࣄͱͯ͠औΓ Έ͍ͨΤϯδχΞΛืू͍ͯ͠·͢ɻ IUUQTUFBNTOBRNFDPN εφοΫϛʔ࠾༻