]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
馃寪 Add Polish translation for `docs/pl/docs/features.md` (#5348)
authorMicha艂 Broto艅 <50829834+mbroton@users.noreply.github.com>
Thu, 22 Jun 2023 14:29:05 +0000 (16:29 +0200)
committerGitHub <noreply@github.com>
Thu, 22 Jun 2023 14:29:05 +0000 (16:29 +0200)
Co-authored-by: Sebasti谩n Ram铆rez <tiangolo@gmail.com>
docs/pl/docs/features.md [new file with mode: 0644]
docs/pl/mkdocs.yml

diff --git a/docs/pl/docs/features.md b/docs/pl/docs/features.md
new file mode 100644 (file)
index 0000000..49d362d
--- /dev/null
@@ -0,0 +1,200 @@
+# Cechy
+
+## Cechy FastAPI
+
+**FastAPI** zapewnia Ci nast臋puj膮ce korzy艣ci:
+
+### Oparcie o standardy open
+
+* <a href="https://github.com/OAI/OpenAPI-Specification" class="external-link" target="_blank"><strong>OpenAPI</strong></a> do tworzenia API, w tym deklaracji <abbr title="znane r贸wnie偶 jako: paths, endpoints, routes">艣cie偶ek</abbr> <abbr title="znane r贸wnie偶 jako metody HTTP, takie jak POST, GET, PUT, DELETE">operacji</abbr>, parametr贸w, <abbr title="po angielsku: body requests">cia艂 zapyta艅</abbr>, bezpiecze艅stwa, itp.
+* Automatyczna dokumentacja modelu danych za pomoc膮 <a href="https://json-schema.org/" class="external-link" target="_blank"><strong>JSON Schema</strong></a> (poniewa偶 OpenAPI bazuje na JSON Schema).
+* Zaprojektowane z my艣l膮 o zgodno艣ci z powy偶szymi standardami zamiast dodawania ich obs艂ugi po fakcie.
+* Mo偶liwo艣膰 automatycznego **generowania kodu klienta** w wielu j臋zykach.
+
+### Automatyczna dokumentacja
+
+Interaktywna dokumentacja i webowe interfejsy do eksploracji API. Z racji tego, 偶e framework bazuje na OpenAPI, istnieje wiele opcji, z czego 2 s膮 domy艣lnie do艂膮czone.
+
+* <a href="https://github.com/swagger-api/swagger-ui" class="external-link" target="_blank"><strong>Swagger UI</strong></a>, z interaktywnym interfejsem - odpytuj i testuj swoje API bezpo艣rednio z przegl膮darki.
+
+![Swagger UI interakcja](https://fastapi.tiangolo.com/img/index/index-03-swagger-02.png)
+
+* Alternatywna dokumentacja API z <a href="https://github.com/Rebilly/ReDoc" class="external-link" target="_blank"><strong>ReDoc</strong></a>.
+
+![ReDoc](https://fastapi.tiangolo.com/img/index/index-06-redoc-02.png)
+
+### Nowoczesny Python
+
+Wszystko opiera si臋 na standardowych deklaracjach typu **Python 3.6** (dzi臋ki Pydantic). Brak nowej sk艂adni do uczenia. Po prostu standardowy, wsp贸艂czesny Python.
+
+Je艣li potrzebujesz szybkiego przypomnienia jak u偶ywa膰 deklaracji typ贸w w Pythonie (nawet je艣li nie u偶ywasz FastAPI), sprawd藕 kr贸tki samouczek: [Python Types](python-types.md){.internal-link target=_blank}.
+
+Wystarczy, 偶e napiszesz standardowe deklaracje typ贸w Pythona:
+
+```Python
+from datetime import date
+
+from pydantic import BaseModel
+
+# Zadeklaruj parametr jako str
+# i uzyskaj wsparcie edytora wewn膮trz funkcji
+def main(user_id: str):
+    return user_id
+
+
+# Model Pydantic
+class User(BaseModel):
+    id: int
+    name: str
+    joined: date
+```
+
+A one b臋d膮 mog艂y zosta膰 p贸藕niej u偶yte w nast臋puj膮cy spos贸b:
+
+```Python
+my_user: User = User(id=3, name="John Doe", joined="2018-07-19")
+
+second_user_data = {
+    "id": 4,
+    "name": "Mary",
+    "joined": "2018-11-30",
+}
+
+my_second_user: User = User(**second_user_data)
+```
+
+!!! info
+    `**second_user_data` oznacza:
+
+    Przeka偶 klucze i warto艣ci s艂ownika `second_user_data` bezpo艣rednio jako argumenty klucz-warto艣膰, co jest r贸wnoznaczne z: `User(id=4, name="Mary", joined="2018-11-30")`
+
+### Wsparcie edytora
+
+Ca艂y framework zosta艂 zaprojektowany tak, aby by艂 艂atwy i intuicyjny w u偶yciu. Wszystkie pomys艂y zosta艂y przetestowane na wielu edytorach jeszcze przed rozpocz臋ciem procesu tworzenia, aby zapewni膰 najlepsze wra偶enia programistyczne.
+
+Ostatnia ankieta <abbr title="coroczna ankieta przeprowadza w 艣rodowisku programist贸w j臋zyka Python">Python developer survey</abbr> jasno wskazuje, 偶e <a href="https://www.jetbrains.com/research/python-developers-survey-2017/#tools-and-features" class="external-link" target="_blank">najcz臋艣ciej u偶ywan膮 funkcjonalno艣ci膮 jest autouzupe艂nianie w edytorze</a>.
+
+Ca艂a struktura frameworku **FastAPI** jest na tym oparta. Autouzupe艂nianie dzia艂a wsz臋dzie.
+
+Rzadko b臋dziesz musia艂 wraca膰 do dokumentacji.
+
+Oto, jak tw贸j edytor mo偶e Ci pom贸c:
+
+* <a href="https://code.visualstudio.com/" class="external-link" target="_blank">Visual Studio Code</a>:
+
+![wsparcie edytora](https://fastapi.tiangolo.com/img/vscode-completion.png)
+
+* <a href="https://www.jetbrains.com/pycharm/" class="external-link" target="_blank">PyCharm</a>:
+
+![wsparcie edytora](https://fastapi.tiangolo.com/img/pycharm-completion.png)
+
+Otrzymasz uzupe艂nienie nawet w miejscach, w kt贸rych normalnie uzupe艂nienia nie ma. Na przyk艂ad klucz "price" w tre艣ci JSON (kt贸ry m贸g艂 by膰 zagnie偶d偶ony), kt贸ry pochodzi z zapytania.
+
+Koniec z wpisywaniem b艂臋dnych nazw kluczy, przechodzeniem tam i z powrotem w dokumentacji lub przewijaniem w g贸r臋 i w d贸艂, aby sprawdzi膰, czy w ko艅cu u偶y艂e艣 nazwy `username` czy `user_name`.
+
+### Zwi臋z艂o艣膰
+
+Wszystko posiada sensowne **domy艣lne warto艣ci**. Wsz臋dzie znajdziesz opcjonalne konfiguracje. Wszystkie parametry mo偶esz dostroi膰, aby zrobi膰 to co potrzebujesz do zdefiniowania API.
+
+Ale domy艣lnie wszystko **"po prostu dzia艂a"**.
+
+### Walidacja
+
+* Walidacja wi臋kszo艣ci (lub wszystkich?) **typ贸w danych** Pythona, w tym:
+    * Obiekt贸w JSON (`dict`).
+    * Tablic JSON (`list`) ze zdefiniowanym typem element贸w.
+    * P贸l tekstowych (`str`) z okre艣leniem minimalnej i maksymalnej d艂ugo艣ci.
+    * Liczb (`int`, `float`) z warto艣ciami minimalnymi, maksymalnymi, itp.
+
+* Walidacja bardziej egzotycznych typ贸w danych, takich jak:
+    * URL.
+    * Email.
+    * UUID.
+    * ...i inne.
+
+Ca艂a walidacja jest obs艂ugiwana przez ugruntowan膮 i solidn膮 bibliotek臋 **Pydantic**.
+
+### Bezpiecze艅stwo i uwierzytelnianie
+
+Bezpiecze艅stwo i uwierzytelnianie jest zintegrowane. Bez 偶adnych kompromis贸w z bazami czy modelami danych.
+
+Wszystkie schematy bezpiecze艅stwa zdefiniowane w OpenAPI, w tym:
+
+* Podstawowy protok贸艂 HTTP.
+* **OAuth2** (r贸wnie偶 z **tokenami JWT**). Sprawd藕 samouczek [OAuth2 with JWT](tutorial/security/oauth2-jwt.md){.internal-link target=_blank}.
+* Klucze API w:
+    * Nag艂贸wkach.
+    * Parametrach zapyta艅.
+    * Ciasteczkach, itp.
+
+Plus wszystkie funkcje bezpiecze艅stwa Starlette (w艂膮czaj膮c w to **<abbr title="po angielsku: session cookies">ciasteczka sesyjne</abbr>**).
+
+Wszystko zbudowane jako narz臋dzia i komponenty wielokrotnego u偶ytku, kt贸re mo偶na 艂atwo zintegrowa膰 z systemami, magazynami oraz bazami danych - relacyjnymi, NoSQL, itp.
+
+### Wstrzykiwanie Zale偶no艣ci
+
+FastAPI zawiera niezwykle 艂atwy w u偶yciu, ale niezwykle pot臋偶ny system <abbr title='Po angielsku: Dependency Injection. Znane r贸wnie偶 jako "components", "resources", "services", "providers"'><strong>Wstrzykiwania Zale偶no艣ci</strong></abbr>.
+
+* Nawet zale偶no艣ci mog膮 mie膰 zale偶no艣ci, tworz膮c hierarchi臋 lub **"graf" zale偶no艣ci**.
+* Wszystko jest **obs艂ugiwane automatycznie** przez framework.
+* Wszystkie zale偶no艣ci mog膮 wymaga膰 danych w 偶膮daniach oraz rozszerza膰 ograniczenia i automatyczn膮 dokumentacj臋 **<abbr title="po angielsku: path operations">operacji na 艣cie偶ce</abbr>**.
+* **Automatyczna walidacja** parametr贸w *operacji na 艣cie偶ce* zdefiniowanych w zale偶no艣ciach.
+* Obs艂uga z艂o偶onych system贸w uwierzytelniania u偶ytkownik贸w, **po艂膮cze艅 z bazami danych**, itp.
+* Bazy danych, front end, itp. **bez kompromis贸w**, ale wci膮偶 艂atwe do integracji.
+
+### Nieograniczone "wtyczki"
+
+Lub ujmuj膮c to inaczej - brak potrzeby wtyczek. Importuj i u偶ywaj kod, kt贸ry potrzebujesz.
+
+Ka偶da integracja zosta艂a zaprojektowana tak, aby by艂a tak prosta w u偶yciu (z zale偶no艣ciami), 偶e mo偶esz utworzy膰 "wtyczk臋" dla swojej aplikacji w 2 liniach kodu, u偶ywaj膮c tej samej struktury i sk艂adni, kt贸re s膮 u偶ywane w *operacjach na 艣cie偶ce*.
+
+### Testy
+
+* 100% <abbr title="Ilo艣膰 kodu, kt贸ry jest automatycznie testowany">pokrycia kodu testami</abbr>.
+* 100% <abbr title="Deklaracje typ贸w Python - dzi臋ki nim tw贸j edytor i zewn臋trzne narz臋dzia mog膮 zapewni膰 Ci lepsze wsparcie ">adnotacji typ贸w</abbr>.
+* U偶ywany w aplikacjach produkcyjnych.
+
+## Cechy Starlette
+
+**FastAPI** jest w pe艂ni kompatybilny z (oraz bazuje na) <a href="https://www.starlette.io/" class="external-link" target="_blank"><strong>Starlette</strong></a>. Tak wi臋c ka偶dy dodatkowy kod Starlette, kt贸ry posiadasz, r贸wnie偶 b臋dzie dzia艂a艂.
+
+`FastAPI` jest w rzeczywisto艣ci podklas膮 `Starlette`, wi臋c je艣li ju偶 znasz lub u偶ywasz Starlette, wi臋kszo艣膰 funkcji b臋dzie dzia艂a膰 w ten sam spos贸b.
+
+Dzi臋ki **FastAPI** otrzymujesz wszystkie funkcje **Starlette** (poniewa偶 FastAPI to po prostu Starlette na sterydach):
+
+* Bardzo imponuj膮ca wydajno艣膰. Jest to <a href="https://github.com/encode/starlette#performance" class="external-link" target="_blank">jeden z najszybszych dost臋pnych framework贸w Pythona, na r贸wni z **NodeJS** i **Go**</a>.
+* Wsparcie dla **WebSocket**.
+* <abbr title='Zadania wykonywane w tle, bez zatrzymywania 偶膮da艅, w tym samym procesie. Po angielsku: In-process background tasks'>Zadania w tle</abbr>.
+* Eventy startup i shutdown.
+* Klient testowy zbudowany na bazie biblioteki `requests`.
+* **CORS**, GZip, pliki statyczne, streamy.
+* Obs艂uga **sesji i ciasteczek**.
+* 100% pokrycie testami.
+* 100% adnotacji typ贸w.
+
+## Cechy Pydantic
+
+**FastAPI** jest w pe艂ni kompatybilny z (oraz bazuje na) <a href="https://pydantic-docs.helpmanual.io" class="external-link" target="_blank"><strong>Pydantic</strong></a>. Tak wi臋c ka偶dy dodatkowy kod Pydantic, kt贸ry posiadasz, r贸wnie偶 b臋dzie dzia艂a艂.
+
+Wliczaj膮c w to zewn臋trzne biblioteki, r贸wnie偶 oparte o Pydantic, takie jak <abbr title="Mapowanie obiektowo-relacyjne. Po angielsku: Object-Relational Mapper">ORM</abbr>, <abbr title="Object-Document Mapper">ODM</abbr> dla baz danych.
+
+Oznacza to, 偶e w wielu przypadkach mo偶esz przekaza膰 ten sam obiekt, kt贸ry otrzymasz z 偶膮dania **bezpo艣rednio do bazy danych**, poniewa偶 wszystko jest walidowane automatycznie.
+
+Dzia艂a to r贸wnie偶 w drug膮 stron臋, w wielu przypadkach mo偶esz po prostu przekaza膰 obiekt otrzymany z bazy danych **bezpo艣rednio do klienta**.
+
+Dzi臋ki **FastAPI** otrzymujesz wszystkie funkcje **Pydantic** (poniewa偶 FastAPI bazuje na Pydantic do obs艂ugi wszystkich danych):
+
+* **Bez prania m贸zgu**:
+    * Brak nowego mikroj臋zyka do definiowania schematu, kt贸rego trzeba si臋 nauczy膰.
+    * Je艣li znasz adnotacje typ贸w Pythona to wiesz jak u偶ywa膰 Pydantic.
+* Dobrze wsp贸艂pracuje z Twoim **<abbr title='Skr贸t od "Integrated Development Environment", podobne do edytora kodu'>IDE</abbr>/<abbr title="Program, kt贸ry sprawdza Tw贸j kod pod k膮tem b艂臋d贸w">linterem</abbr>/m贸zgiem**:
+    * Poniewa偶 struktury danych Pydantic to po prostu instancje klas, kt贸re definiujesz; autouzupe艂nianie, linting, mypy i twoja intuicja powinny dzia艂a膰 poprawnie z Twoimi zwalidowanymi danymi.
+* **Szybko艣膰**:
+    * w <a href="https://pydantic-docs.helpmanual.io/benchmarks/" class="external-link" target="_blank">benchmarkach</a> Pydantic jest szybszy ni偶 wszystkie inne testowane biblioteki.
+* Walidacja **z艂o偶onych struktur**:
+    * Wykorzystanie hierarchicznych modeli Pydantic, Pythonowego modu艂u `typing` zawieraj膮cego `List`, `Dict`, itp.
+    * Walidatory umo偶liwiaj膮 jasne i 艂atwe definiowanie, sprawdzanie z艂o偶onych struktur danych oraz dokumentowanie ich jako JSON Schema.
+    * Mo偶esz mie膰 g艂臋boko **zagnie偶d偶one obiekty JSON** i wszystkie je podda膰 walidacji i adnotowa膰.
+* **Rozszerzalno艣膰**:
+    * Pydantic umo偶liwia zdefiniowanie niestandardowych typ贸w danych lub rozszerzenie walidacji o metody na modelu, na kt贸rych u偶yty jest dekorator walidatora.
+* 100% pokrycie testami.
index 0d7a783fca2f09ebcac2c9c0ddecf1f3ce412612..5ca1bbfefc01b44d245adf08a17bc2a547b451d8 100644 (file)
@@ -63,6 +63,7 @@ nav:
   - tr: /tr/
   - uk: /uk/
   - zh: /zh/
+- features.md
 - Samouczek:
   - tutorial/index.md
   - tutorial/first-steps.md