Techniki Zaawansowane
3 godz. 43 min · Python · Full-stack i Programowanie
Grzegorz SzymborskiProgramistaJeżeli na samym początku nie przygotujemy dobrze projektu, to gdy wrócimy do niego po dłuższym czasie - czekają nas kłopoty. Jeżeli uda się nam go uruchomić, to rozeznanie się w nim będzie udręką. Prowadzący pokaże Ci jak wyglądają jego produkcyjne aplikacje, na co zwraca uwagę i co pomaga mu trzymać porządek.
Biblioteka pytest posiada wiele ciekawych funkcjonalności. Parametryzowanie testów, fixture i uproszczona składnia pozwalają nam skupić na testowaniu tego, co kluczowe, wydzielając mniej istotne fragmenty kodu. To wszystko sprawia, że w pewnym momencie łatwiej będzie Ci pisać testy, niż ręcznie sprawdzać poprawność działania apki.
Jeżeli aplikacja, którą stworzysz, osiągnie dużą popularność, może się okazać, że przytłoczona dużym ruchem zacznie spowalniać... lub całkowicie przestanie odpowiadać. Opiszemy różne techniki służące temu, by temu zaradzić - od metod select i prefetch related, aż po cache. Na deser przeprowadzimy na stronie test obciążeniowy za pomocą narzędzia locust.
Django i Postgres to świetne połączenie. Framework ten posiada wbudowaną obsługę wyszukiwania pełnotekstowego oferowanego przez tę bazę. Warto wiedzieć, kiedy jej użyć, a kiedy wystarczy zwykłe icontains.
ORM w Django ułatwia mnóstwo operacji. A czasem nie dość to, że ułatwia... to jeszcze przyspiesza! Chcemy zainspirować Cię czterema metodami: annotate, aggregate, bulkupdate i bulkcreate. Gdy pojawią się one w naszym kodzie, zaczniemy doceniać uroki frameworka Django.
Kurs jest stworzony dla osób, które znają już podstawy Django i wiedzą, jak pisać proste strony. Znają modele, widoki, oraz niestraszny im jest Python. Zalecana jest również podstawowa znajomość dowolnej relacyjnej bazy danych. W kursie przedstawiamy niekiedy narzędzia i praktyczne przykłady, jak można ich użyć, ale w celu zaimplementowania konkretnego rozwiązania w projekcie wymagana będzie umiejętność czytania dokumentacji.
W tym rozdziale zajmiemy się biblioteką Yang oraz Framework
jest ona najpopularniejszą biblioteką tego typu do Django i posiada naprawdę wiele
fajnych oficerów które bardzo ułatwiają wystawianie API.
Są to między innymi genetyczne widoki analogiczne do tych które są w Django.
Są to seriale które są
odpowiednikiem formy i posiada bardzo dobre wsparcie developerów.
Dlaczego w ogóle warto wystawiać API.
Myślę że na to pytanie bardzo szybko znajdziemy odpowiedź kiedy
przyjdzie nam pracować z innym zespołem developerów zajmującym się pisaniem np.
front endu albo aplikacji mobilnej.
Dodatkowo olbrzymią zaletą API jest
łatwiejsze testowanie widoków które one zwracają dużo łatwiej jest sprawdzić
obiekt Jacksonowi który jest zwracane przez widok
sprawdzić jego zawartość i sprawdzić czy posiada odpowiednie klucze odpowiednią
wartość niż to samo sprawdza się w temp latce.
W tej lekcji napiszemy sobie proste seria laser żebyśmy zobaczyli mniej więcej
jak tego używać ale wcześniej musimy zainstalować bibliotekę.
W tym celu otwieramy terminal i wpisujemy polecenie PIP Instal.
Django Rest Framework.
Bez spacji i bez myśliwców podkreślił.
Rest framework do zainstalowanych aplikacji w ustawieniach.
W tym celu przechodzimy do ustawień i w
aplikacjach dodajemy reset podkreślił Framework.
Możemy już korzystać z udogodnień które daje nam ta biblioteka i
w ramach takiego szybkiego testu napiszemy sobie seriale.
Stworzymy go w aplikacji.
Art.
I.
Może stworzymy katalog.
Do czego właściwie służą seriale.
Powiedziałem wcześniej że są pewnego rodzaju analogii do
formularzy bankowych czyli mamy już pewną wskazówkę że będą rywalizować nam dane.
Ale tak ogólnie mówiąc serial Chajzer jest
pomostem między danymi które przechodzą do naszej aplikacji z zewnątrz np.
z klientów mobilnych klientów przeglądarki
nowych do wewnątrz czyli do naszego silnika jak
go mówiąc silnik Django mam na myśli typy które są rozumiane przez nasz Framework.
Napiszemy prosty serial WizzAir który
będzie przyjmował liczbę i będzie ją koncertował na typ nowy.
Aby zacząć korzystanie z serialu rezerw należy za importować biblioteka
z biblioteki Rest framework pakiet seriali rewers.
W tym momencie zaczynałem pisanie seriali od zera.
W atrybuty podajemy jakie pole nas
interesuje i tu mamy pole symbol Amber które będzie z pakietu seria laser z.
Które będzie polem Integer z pakietu serialu.
Możemy określić czy ma być wymagane czy nie określone że tak.
W tym momencie zaprezentuje na kilku testach jak ten serial Hajzer działa.
Sprawdzimy najpierw czy poprawnie sprawdza czy dany numer jest prawdziwą liczbą.
Sprawdzimy to na przykładzie danych poprawnych.
Danych nie poprawnych.
Możemy podpisać to prawny seria Lancer.
To jest niepoprawne i niepoprawne np.
litery.
Uruchomimy oczywiście seriale ma metodę i Wait która.
Wykonuje wszystkie niezbędne realizacje na polach realizacje które są wbudowane w
Rest framework bądź realizacje które napiszemy
samodzielnie i na tej podstawie zwraca buli na true lub Falls.
Ważną rzeczą jest.
Kolor skóry w przypadku kiedy.
Serial jest niepoprawny zwracałem szczegóły błędu
szczegółowe są w formie słownika w którym kluczem jest nazwa pola.
W tym przypadku będzie to sam number a wartością jest konkretny opis błędów.
Sprawdzimy może na teście czy to pole jest w błędach.
Ważną rzeczą jest też to że te błędy są tłumaczone.
Dlatego w zależności od języka będą one miały nieco inną inny tekst.
Uruchomimy testy sprawdzimy czy wszystko przechodzi.
Tak możemy podejrzeć myślę warto wiedzieć
jak wyglądają błędy konkretnie w nie poprawnym formularzu.
Jest to błąd po angielsku że wymagana jest wymagana jest poprawna liczba.
Kolejną rzeczą którą warto wiedzieć.
O serialach sferach jest to że przyjmują one różne typy danych.
Tutaj trochę ułatwić sobie sprawy i podaliśmy liczbę ale spokojnie moglibyśmy
wpisać tam dla przykładu liczbę jako string.
Kupiłem sobie ten fragment za minimum jedynkę na.
String 1.
Jeszcze uruchomiony debatę z poprzedniego
testu a dalej wszystko wykonuje się poprawnie.
Jednym z najważniejszych pól w serialach i zwierzę jest jednak pole data.
Pokażę wam.
Co ona robi.
Byśmy ponownie ten sam serial mister.
Sobie seriale Esther String bo to będzie najlepiej widać co się tam dzieje.
Sprawdzamy czy jest poprawne i.
Ruchomy sobie pręta żeby te bagaże pokazać Wam.
Czym jest data.
Mamy dużo rzeczy pole data natomiast jest.
Jak widzicie zamiast stringi dostaliśmy
już normalnego Tigera i pole data zwraca nam.
Przetworzone dane przetwarzane przez ten
serial Kaiser w odpowiedni sposób w opinii sposób zwali dodawane i.
Jest to.
Pole które jest rezultatem funkcji które prezentuje.
Przemieszcza teraz.
To potwierdzi.
Sprawdzimy czy wszystko jest poprawnie.
Dzięki serialach zero możemy na przykład
realizować parametry które wchodzą w parametry naszej strony.
Możemy rywalizować.
Parametry patrz koncertować go do zera sprawdzić czy jest poprawną liczbą.
Możemy napisać dodatkową racje możemy napisać różne pola możemy napisać
pola które będą odwoływała się do naszych obiektów.
Np.
jeżeli byśmy chcieli wskazać artykuł mamy zbiór gotowych pól takich jak np.
primary Kill Limited Field w którym podając Gwardii seta do artykułów.
W łatwy sposób zabezpieczamy się przed
podaniem niewłaściwego artykułu z zewnątrz.