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 tej akcji zajmiemy się problemem Down castingu.
Jak pamiętacie w poprzedniej lekcji skończyliśmy na liście produktów z której
każdy produkt miał ten sam typ czyli był typu klasy bazowej.
My byśmy chcieli natomiast żeby w
przypadku Harry'ego Pottera był on książką a w przypadku programowania w Jawie był on
i białkiem i miał pełnię atrybutów i pełnię metod klasy dziecka.
W tym celu użyjemy biblioteki Django morfina.
Pozwala ona możemy podejrzeć na
wywoływanie wersetów w analogiczny sposób który robiliśmy w poprzedniej lekcji ale
pozwala wrócić klasy docelowe zainstaluje ją w naszym projekcie.
Robimy to standardowo za pomocą biblioteki PIP.
Należy jeszcze dodać do aplikacji zainstalowanych.
Dodajmy że jako podmiot
następnie musimy model rodzica który chcemy żeby stał się klasą graficzną.
Dziedziczyć od polisy Orlik model.
Wchodzimy w produkt i zmieniamy model z model na model.
Z biblioteki Moritz z pakietu Models.
Wykonanej migracje.
Podejdziemy. Co się stało w.
Tworzy się tabela z produktem.
Tabela z książką i tabela z blokiem w tabeli produkt.
Pojawiło się dodatkowe pole FX tip.
Jest to wewnętrzne pole jest to pole dzięki któremu biblioteka
gangu Polish Morning potrafi rozpoznać odpowiedni model dziecka w secie.
Przejdźmy do widoku. Zobaczmy.
Jest on analogiczny do tego który był w
poprzedniej lekcji w poprzedniej lekcji gdzie dostawaliśmy zawsze produkt.
Nawet wtedy kiedy chcieliśmy dostać i Bug albo książkę.
Wykonujemy migrację.
Będziemy musieli stworzyć książkę i buka.
Tworzyliśmy ich buka otworzyliśmy książkę Na razie wygląda to dokładnie tak samo jak
w poprzedniej lekcji ale zerknąć na stronę zerknąć na stronę odświeżony.
Pojawi się i Bóg i pojawiła się książka.
Jaki jest problem z komornikiem.
Jeżeli mamy skomplikowane modele jeżeli
one mają wiele pól te wiele pól jest relacjami.
Jeśli jeszcze głębiej mamy relacje i
jeżeli chcemy pobrać to wszystko za jednym razem to zrobienie Select latte zajmie się
obsłuży tego w taki sposób żeby zapytanie było efektywne jest dość skomplikowane.
Z moich doświadczeń wynika że jeżeli strona w której dużo korzystamy z
dziedziczenia po nim morfina ma być szybka.
Oznacza to że musimy skorzystać z Kesha.