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.
Tym rozdziale zajmiemy się optymalizacją aplikacji.
Jest to jedna z moich ulubionych dziedzin
pisania i pokażę wam jakich narzędzi używam wyszukać wąskich gardeł żeby
sprawdzać co należy poprawić co warto zrobić żeby wszystko działało fajnie.
Na pytanie czy warto optymalizować aplikacje i po co optymalizować aplikacje.
Myślę że łatwiej jest sobie odpowiedzieć że korzystanie ze szybkich stron jest po
prostu dużo przyjemniejsze i nawet gorzej indeksu.
Strony które otwierają się długo najczęściej używanym przeze mnie
narzędziem jest Tango bar którego zainstaluje na.
Jemy go za pomocą Pippa.
Tradycyjnie żeby działał poprawnie należy dodać go w ustawieniach.
Zobaczycie.
Powinno to być w ten sposób.
Należy też dodać URL
i URL po bierzemy ze strony z dokumentacją tak będzie najszybciej.
Należy pamiętać o tym żeby ten adres.
Tylko wtedy kiedy włączony jest the back.
Pozwoli to uniknąć przykrych konsekwencji jeżeli włączymy aktor produkcji.
Dobrym pomysłem jest trochę
zmienić ustawienia i zamiast dodawać w podstawowych serwisach
back bar zrobić to w serwisach deweloperskich.
Zgodnie z tym jak pokazałem w pierwszym
rozdziale o strukturze katalogów umowa aplikacji jest katalog konflikt
things I set zawiera poszczególne ustawienia dla różnych środowisk
i my akurat chcemy żeby bar pojawiał się tylko na developer.
Dlatego.
My go tutaj piszemy Instant Apps.
W ten sposób to co trzeba jeszcze zrobić w Django barze to jest dodanie Millera.
Skupiamy jego nazwę i ponownie.
Do kolejnego w ten sposób.
Warto jest jeszcze dodać zbiór adresów
wewnętrznych przy których będzie się nam pasek ze szczegółami Request pojawią.
Należy to zrobić przez internet IP i podać tutaj adres IP.
Jako iż deweloperzy lokalnie adres IP
będzie 127 001 Sprawdźmy teraz co się zmieniło na naszej stronie.
Mam tutaj przygotowaną listę artykułów odświeża i pojawił się czarny pasek pasek
który jest bardzo przydatny jeżeli chcemy znaleźć liczbę questów wykonamy jeżeli
chcemy zobaczyć ile czasu dokładnie co trwało.
Jeżeli chcemy debatować naszą aplikację i zaczynając od góry mamy tutaj wersje
pakietów które są zainstalowane mamy czas który był potrzebny na
poszczególne etapy przetwarzania zapytania przetwarzania.
Tu mamy ustawienia nagłówki i bardzo fajna rzecz.
Mamy tutaj również nagłówki środowiska w USG i.
Mamy szczegóły request.
Szczegóły zapytań do bazy danych które
będziemy w tym rozdziale poruszać bardzo dużo.
Pliki statyczne.
Szablony wywołania kaszlu sygnały.
Logiczne.
I tu mamy opcje momencie jeżeli zapisujemy formularz to pierwszy Meritum idzie
Request do zapisania formularza a drugim gestem może być np.
przekierowanie na wiadomość o sukcesie
jeżeli nie chcemy tego przekierowania dokonać jeżeli chcemy zatrzymać Request na
formularzu zapisanym dzięki temu będziemy mogli zobaczyć jakie dokładnie zapytania
do bazy danych poszły to wtedy uruchamiamy tę opcję.
Zostaje nam jeszcze ostatnia opcja profil Link którą w momencie jak zaznaczone i
odświeżyć stronę to możemy sobie podejrzeć drzewko
wywołania i zobaczycie ile czasu w którym momencie program spędził.