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.5k
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
77
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
160
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
380
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
87
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
95
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
tamago3keran
1
1.5k
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
3
1k
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.2k
PC が変わっても使い慣れた Neovim で すぐに開発を始める仕組み / 2023-07-25
tamago3keran
1
1.1k
Other Decks in Programming
See All in Programming
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
240
Jakarta EE meets AI
ivargrimstad
0
310
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
500
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
150
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
880
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
250
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
4
800
GAEログのコスト削減
mot_techtalk
0
130
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
150
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
670
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
300
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
990
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
The Cult of Friendly URLs
andyhume
78
6.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Embracing the Ebb and Flow
colly
84
4.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Fireside Chat
paigeccino
34
3.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
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 εφοΫϛʔ࠾༻