Python 現代開發工具介紹

2024 iThome 鐵人賽

這是 Django Ninja 系列教學的第 5 篇。

在現代軟體開發中,工具不僅能提高開發效率,還能改善程式碼品質,讓專案的管理與維護變得更加輕鬆。

本文將介紹幾個重要的 Python 開發工具,討論它們在專案中的應用,讓讀者快速了解它們的定位與價值

如果你看過我的部落格,應該會發現,我花了不少篇幅在大力推廣這些現代開發工具,為它們撰寫了一篇又一篇的詳細文章教學。

因此,我們不會深入這些工具的操作細節,而是著眼於概念,以及它們如何解決開發中的痛點。我會附上相關教學文章的連結,讓有興趣的讀者可以進一步學習。

值得一提的是,這些 Python 的現代開發實踐,都是我看了開發者 Wei Lee(李唯)的「Python Table Manners」系列後,才一一學習並落實的。個人強力推薦此系列!

API 範例專案介紹:忍者論壇

2024 iThome 鐵人賽

這是 Django Ninja 系列教學的第 4 篇。

在第一章中,我們對 Django Ninja 做了全方位的介紹,並且分析了它與 Django REST framework 的主要區別。

相信你對 Django Ninja 已有了一定的了解。

接下來,我們將進入第二章:專案介紹與設定

本章重點

我們將透過一個 CRUD API 範例專案,幫助你在實踐中運用 Django Ninja 的概念。

本章將對專案概念進行介紹,包括模型設計與現實世界中的對應。(卷 4)

接著介紹專案使用的 Python 開發工具(卷 5)。最後會手把手帶你,安裝專案到本機並確保它正常運行(卷 6)。

其餘有關 API 的程式碼,將在第三章陸續介紹與實作。

Django Ninja 介紹——與 Django REST framework 主要區別

2024 iThome 鐵人賽

這是 Django Ninja 系列教學的第 3 篇。

選擇任何工具之前,我們通常會先了解它能解決的問題,以及是否符合與自己的需求

本文將介紹 Django Ninja 這個現代化的 API 框架,探討它的起源和主要特點,並重點比較它與 Django REST framework 之間的差異,讓你能夠更好地選擇適合的工具。

快速導覽

👉 完整系列目錄點此查看
👉 程式碼範例GitHub 範例專案


Django Ninja:Django 生態系中的 FastAPI

Django Ninja 的起源與 FastAPI 有著密切的關係。

Django Ninja 可以被視為「Django 版的 FastAPI」,它比原生 FastAPI 能夠更好地與 Django 整合。

Django Ninja 的官方文件中,作者 Vitaliy Kucheryaviy 解釋了為什麼建立這個框架。這源於他在 Django 專案中使用 FastAPI 時遇到的一些挑戰,特別是在整合方面。

因此,他決定自己建立一個更合適的工具,從而誕生了 Django Ninja。

可想而知,Django Ninja 深受 FastAPI 的啟發。事實上,它同時也借鑑了不少 Django REST framework 的優秀實踐——這是後發者的優勢

文件中引用了這麼一句話,這是個常見的疑問:

Django Ninja looks basically the same as FastAPI, so why not just use FastAPI?

答案是:Django 與 FastAPI 兩者的整合不完美,而 Django Ninja 提供了一個更加適合 Django 開發者的版本。

Django Ninja 02:架構與章節導覽

2024 iThome 鐵人賽

這是 Django Ninja 系列教學的第 2 篇。

上一篇中,我們講述了系列的整體方向。現在,我將進一步深入,為你詳細介紹系列的架構與各個章節安排。

可以說,本文就是整個系列的藍圖。

一般而言,架構介紹通常會直接放在第一篇的後半段(如果有的話),但我決定獨立成一篇。

原因無他,我在整個教學架構上花費了相當的心思,希望為讀者提供一個全面的概覽。這有助於你快速進入狀況,並了解自己目前正在學習主題哪一個部分。

話不說多,讓我們一一介紹。

Django Ninja 01:系列導讀 × 目標讀者

2024 iThome 鐵人賽

這是 Django Ninja 系列教學的第 1 篇。

在這個 30 天的系列文章中,我們將詳細探討 Django Ninja 的基礎實作,透過文字教學範例專案的程式碼,帶你一步一步熟悉這個強大而靈活的 Django API 開發框架。

作為 Django 生態系統中的新星(誕生於 2020 年),Django Ninja 融合了 Django 的穩定性和 FastAPI 的現代特性——Python 的型別提示(透過 Pydantic 實現)。這種強強結合,為開發者提供了一個健全、高效、直觀的 API 開發體驗。

不論你是經驗豐富的 Django 開發者,還是剛進入 API 開發領域的新手,這個系列都會為你提供實用的 Django Ninja 實戰經驗與技巧。

我們將從背景介紹、基礎概念開始,逐步深入探討 Django Ninja 的每個部分,幫助你快速掌握這個現代化 API 開發工具。

快速導覽

👉 完整系列目錄點此查看
👉 程式碼範例GitHub 範例專案


建議前置技能

本系列的定位是「入門級」,但這裡所謂的入門,指的是 Django Ninja 框架的入門。

所以,要充分利用好教學內容與範例專案程式碼,仍建議讀者具備以下技能:

  • Python 基礎知識:熟悉 Python 語法,有 Python 開發經驗者佳。
  • Django 基礎:了解 Django 的基本組成,比如 ORM、Views、MTV 架構等。但無須了解 Templates 部分——因為我們是開發 API。
  • HTTP 與 Web API 概念:知道什麼是 HTTP、Web API、前後端分離,並對 RESTful API 設計原則有基本理解。
  • 版本控制:為了能夠善用並操作範例專案,需要熟悉 Git、GitHub 的基本操作。

具備這些技能將幫助你更好地理解和應用本系列的內容。如果你對某些概念不太熟悉,也不用擔心,我們會在必要時進行一定的講解。

2024 iThome 鐵人賽參賽思路:主題選擇、命名與標題策略

by Sam Chivers

相關文章:

明天——13 號星期五——就是我參加今年 iThome 鐵人賽的正式開賽日。

開賽前夕,我想用本文介紹一下我的參賽主題與相關花絮。

不會提及太多技術,主要以一些個人思考及感受為主。


不過在開始前,歡迎在鐵人賽網站上訂閱我的「Django 忍法帖——Django Ninja 入門指南」系列🥰。文章也會在部落格同步發表。

我為此投入了大量時間心力,甚至還辭去了工作(誤),相信不會讓你失望。

行有餘力,也可以多多支持我們「AI 寶寶上學去!」小隊成員們的作品。

大家都是第一次參賽,非常需要您的鼓勵。

好,讓我們進入「正題」。

Kyo 待業中!細數我過去的待業時光

如標題所言,我又又待業了!

上一份工作做到 8 月 31 日止,從本月開始,我的職涯再度進入「無業遊民」階段。

這也是為什麼 9 月起我有更多時間準備鐵人賽XD(可見上一篇〈AI 讓寫作變輕鬆了?我可不這麼認為〉的開頭)

我在〈Day 4:4 年 8 個月〉中曾說到:

4 年 8 個月,這是我在大學畢業、當兵退伍後,作為「無業遊民」的總時長!

沒錯,而這些時間又可以分成兩個階段。

如今再度待業,或許是回顧過往的好時機。讓我們來聊聊這兩個階段:當時在做什麼,以及現在的我如何會看待那時的自己。

不過篇幅有限, 今天先講第一階段:準備書記官考試。