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
75
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
160
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
380
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
86
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
94
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 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
Formの複雑さに立ち向かう
bmthd
1
840
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
2024年のWebフロントエンドのふりかえりと2025年
sakito
2
240
DROBEの生成AI活用事例 with AWS
ippey
0
130
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
380
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
36
14k
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
900
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
780
CI改善もDatadogとともに
taumu
0
110
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
340
SpringBoot3.4の構造化ログ #kanjava
irof
2
990
Featured
See All Featured
Building Adaptive Systems
keathley
40
2.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
How GitHub (no longer) Works
holman
314
140k
BBQ
matthewcrist
87
9.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Unsuck your backbone
ammeep
669
57k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
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 εφοΫϛʔ࠾༻