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.
Tej lekcji pokażę wam jak kierować fragmenty Latek.
Jest to bardzo przydatne jeżeli
chcecie jedynie fragment skasować a pozostałą część wyświetlić dynamicznie.
Może być dobrym pomysłem jeżeli pobiera
się coś z zewnątrz czy z jakiegoś zewnętrznego API np.
zdjęcia z Instagrama jakiejś z tego typu rzeczy.
Jeżeli one nie będą się tak często
zmieniały jeżeli nie zależy nam na tym żeby te zdjęcia były cały czas pobierane
na nowo to dobrym pomysłem jest konkretnie tego fragmentu
wstawienie w kasie pokaże Wam w jaki sposób uruchamiamy red.
.
Sam mam tutaj przygotowany plik z konfiguracja.
I uruchomienie za pomocą komendy do KL Composite AB myśli gdy piszę po to żeby.
Odzyskać dostęp do terminala żeby doktor uruchomił w tle kontener i nazwę
lewica wpisuje w tym momencie Reddit wystawił mi się lokalnie na porcie 6 tys.
379 i tam się Wietnam zobaczmy do ustawień.
Korzystam z.
Metody już zapewniony przez dżunglę
Environment i ona domyślnie szuka zmiennej środowiskowej podkreślił URL.
Taką zmienną środowiskową swoim pliku z zmiennymi umieścił m.
Jest ona dokładnie w takim formacie.
Tutaj podajemy z jakiego będziemy korzystać.
Tutaj podajemy host w moim przypadku jest
to serwer lokalny więc jest to taki host port.
I tu podajemy z której konkretnie bazy ma korzystać.
Wskazujemy jeszcze klient remisowy ponieważ red.
Jest domyślnie w Django nie jest obsługiwany.
Musimy zainstalować bibliotekę.
Jan gora Edith.
Ponieważ w przeciwnym wypadku dostaniemy błąd.
Ja mam zainstalowaną i w tym momencie mamy dostęp do kosza.
To co my chcemy zrobić to skasowanie klatek.
Musimy jeszcze w takim razie stworzyć osobny klucz.
Do.
W ustawieniach.
Pod nazwą Temple fragment.
Ja kupuję tego Kazia ponieważ chcę żeby
zarówno domyślny jak i każdy tępy latek był używany ten sam.
Sprawę serwer dalej działa serwer działa mogły go przeładowane po to żeby zmienne
środowiskowe w przypadku jakiejś zmiany zaczynały zaczynały się ponownie.
Utworzyć stronę żeby zobaczyć czy wszystko jest OK wszystko jest OK.
Mamy 9 zapytań mamy 700 milisekund czas odpowiedzi dość duży jak na taką małą
stronę i przejdziemy do tej konkretnej temp latki ktora nas interesuje.
Jest artykul jest w aplikacji artykul.
Chcemy skasować konkretnie fragment tej pętli ponieważ ona trwa najdłużej.
Ona jest takim naszym znakiem do tego.
W ratujemy ją.
Ten klimat pada cóż żeby zadziałał musimy czytać.
U góry i.
Zakończymy go jeszcze and Crash.
Poprawie informowania też
wymaga podania Time out dla tych kluczy czyli w tym przypadku w tym miejscu
podajemy jak długo mamy operować na jednej wartości a jeżeli
piszemy tutaj 60 to znaczy że będziemy tę samą wartość dostawać przez 60 sekund.
Jak piszemy 3600 to przez godzinę.
Z kolei jeżeli piszemy 5 to wtedy.
Strona ta będzie praktycznie cały czas świeża i tu musimy dobrać odpowiedni czas
tak żeby użytkownicy zarówno mieli wersję świeżą jak i mieli ją szybko
stawiamy sobie 60 sekund i jako drugi parametr podajemy nazwę Kesha.
Pisze artykul z.
Zobaczmy co się zmieniło.
Odświeżenia ras.
Wszystko jest po staremu odświeżony drugi raz mamy zero zapytań do Excela.
W tym momencie odświeża stronę podpisujemy jedynie dla tego fragmentu
naszego Lewisa który błyskawicznie zwraca odpowiedź.
Są to dosłownie.
Ułamki milisekund i serwujemy fragment tej placówki bezpośrednio z Kasza.
Niemal nieodłącznym elementem tego lata jest są też dodatkowe parametry.
W nich ustalamy od czego ma zależeć wariant Kesha czyli jeżeli chcemy żeby
każdy użytkownik miał inną wersję żeby one się nie powiedziały wpisujemy Request user
PK wtedy klucz do tego Kesha ponieważ to działa także Django generuje jakieś
określone klucz który jest hasłem który jest zbiorem adresu jest zbiorem nazwy
Kesha jest zbiorem parametrów w którym podamy i umieszcza go jako klucz w pamięci
podręcznej i w tym przypadku jeżeli wejdzie administrator i jeżeli wejdzie
gość to wtedy zostanie dwukrotnie wykonany.
Wersja po artykuły.
Zazwyczaj podajemy TUTAJ gwar i parami URL stron i inne rzeczy które nas interesują.
Jeżeli np. chcemy żeby też nie zależał od wszystkich
parametrów od jednego konkretnego ponieważ miejmy na uwadze że przechodząc z
Facebooka przechodzą z jakiejś różnych mediów społecznościowych na naszą stronę
czasem automatycznie są dokonywane parami które raczej nie chcemy żeby zmieniały nam
kontent i raczej nie chcemy żeby ponownie strona odbywała bazę danych.
To wtedy dobrym pomysłem jest wydzielenie odpowiednich quasi parami.