--- title: "Behind the scenes of FastAPI and friends for developers and builders - Sebastián Ramírez (tiangolo)" tags: PyConTW2025, 2025-organize, 2025-共筆 --- # Behind the scenes of FastAPI and friends for developers and builders - Sebastián Ramírez (tiangolo) {%hackmd L_RLmFdeSD--CldirtUhCw %} <iframe src=https://app.sli.do/event/9Rq84ZQmEwAZLkuxHWn86R height=450 width=100%></iframe> :::success 本演講提供 AI 翻譯字幕及摘要,請點選這裡前往 >> [PyCon Taiwan AI Notebook](https://pycontw.connyaku.app/?room=LoBy3Wx9kxZ2lC3GiOEZ) AI translation subtitles and summaries are available for this talk. Click here to access >> [PyCon Taiwan AI Notebook](https://pycontw.connyaku.app/?room=LoBy3Wx9kxZ2lC3GiOEZ) ::: > Collaborative writing start from below > 從這裡開始共筆 :::info [Here are the slides for my keynote talk: Behind the scenes of FastAPI and friends for developers and builders 🚀 ](https://speakerdeck.com/tiangolo/behind-the-scenes-of-fastapi-and-friends-for-developers-and-builders) ::: ## Tips for building something ### Build what needs to be built - solve a problem - not solved yet? - previous problem? - use other building blocks , open source - cur abstraction layer too slow? - cost of learning much lower? - convenice much higher? ### optimize for user, not maintainer - point of view of user - design ux first, build internals to fit it - autocompletion depends on types - inline errors depend on types - explicit parametes, not **kwargs ### standards ### capture a smart newbie - adopt a newbie's point of view - ### computer science hard problems ### Reduce info duplication (cache invalidation) ## Reduce ambiguity (naming things) - avoid difference things with same naming - ## Write good docs - what needs to be explained before - graph of concepts - explain everything - re-read, rewrite, clean, trim down - reduce duplication of concepts - user's minimum effort - ...to get maximum value - space, graphics, emojus, notes - 例如各種可收合的區塊 - consistency for terms and concepts - style for terms and concepts - enable power users - docs driven development - Test example code in docs ## Premature abs. is dangerous - Premature opt. - Premature abstraction - Reduce constraints and obstraction layers - Should have a reason ## Optimize evolution, not architecture - Better being able to refactor - ...than pristine first architecture - Types - mainly inputs and outputs of functions - dataclass/pydantic fields - tests - limit - magic kwargs - import strings - magic strings ## Simple is better than Complex - zen of py - achieving simple is harder than complex - Building complex is faster ## Tips for managing a ... ### workload - open source by one or two developers - community is made of specific individuals - automate ### Drive by PRs - many files - Multiple features at the same time - Tests failing - no tests covering the feature - ### Yes gain, yes pain - The bigger the impact - the higher the chance ... - - 例如reddit有人說他愛fastapi但太多emoji就是一個red flag - --- Below is the part that speaker updated the talk/tutorial after speech 講者於演講後有更新或勘誤投影片的部份