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
49
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
120
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
350
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
64
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
71
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
tamago3keran
1
1.2k
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
2
930
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.1k
PC が変わっても使い慣れた Neovim で すぐに開発を始める仕組み / 2023-07-25
tamago3keran
1
1k
Other Decks in Programming
See All in Programming
Golang と Erlang
taiyow
8
1.8k
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
120
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
4
13k
Sidekiqで実現する 長時間非同期処理の中断と再開 / Pausing and Resuming Long-Running Asynchronous Jobs with Sidekiq
hypermkt
6
2.2k
JaSST 24 九州:ワークショップ(は除く)実践!マインドマップを活用したソフトウェアテスト+活用事例
satohiroyuki
0
170
外部システム連携先が10を超えるシステムでのアーキテクチャ設計・実装事例
kiwasaki
1
170
PLoP 2024: The evolution of the microservice architecture pattern language
cer
PRO
0
1.1k
VR HMDとしてのVision Pro+ゲーム開発について
yasei_no_otoko
0
100
讓數據說話:用 Python、Prometheus 和 Grafana 講故事
eddie
0
320
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
140
Workflow automationによるインシデント原因調査の自動化
showwin
1
120
EventSourcingの理想と現実
wenas
5
2k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
692
190k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
Building Applications with DynamoDB
mza
90
6k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Why Our Code Smells
bkeepers
PRO
334
57k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Art, The Web, and Tiny UX
lynnandtonic
296
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
How to Ace a Technical Interview
jacobian
275
23k
Building Your Own Lightsaber
phodgson
102
6k
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 εφοΫϛʔ࠾༻