Ta lekcja jest w bazie eduweb

Zaloguj się kontem z dostępem albo wykup dostęp do bazy, żeby obejrzeć wideo.

Lekcja 3/ 38Settings i zmienne środowiskowe

0:00 / 0:00

Python i Django: Settings i zmienne środowiskowe

3 godz. 43 min wideo38 lekcji10 modułów

Czego się nauczysz

  • Stworzenie struktury aplikacji w oparciu o najlepsze praktyki
  • Wiele sposobów na przyspieszenie aplikacji
  • Wyszukiwanie pełnotekstowe oparte na postgresie
  • Techniki ułatwiające testowanie
  • Zagrożenia wynikające z race condition
  • Przykłady wzięte z prawdziwych projektów

Python i Django - Techniki Zaawansowane

Jeżeli napisałeś już pierwszą stronę, polubiłeś się z Django i chciałbyś pójść o krok dalej na swojej ścieżce pracy z Pythonem - ten kurs został stworzony z myślą właśnie o Tobie. W każdym rozdziale zaprezentujemy Ci narzędzie, kod, lub sposób rozwiązania jakiegoś problemu, na który się napotkasz, kiedy zaczniesz tworzyć większe projekty. Na praktycznych przykładach zaczniesz wykorzystywać zaawansowane techniki pracy w Django - sprawdź, co dla Ciebie przygotowaliśmy!

Porozmawiajmy o architekturze

Jeż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.

Testy są super!

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.

Przyspieszmy stronę

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.

Wyszukiwanie danych

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.

Django ORM

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.

Dla kogo jest ten kurs?

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.

Kurs Python i Django

10 rozdziałów38 lekcji3h 43min

Wprowadzenie

4min
  • Wstęp do kursu4min(zablokowana)

Architektura projektu z przyszłością

28min
  • Struktura katalogów6min(zablokowana)
  • Settings i zmienne środowiskowe7min(zablokowana)
  • Pre-commit i black8min(zablokowana)
  • Docker dla developmentu7min(zablokowana)

Testowanie aplikacji - pytest

33min
  • Pytest5min(zablokowana)
  • Fixture7min(zablokowana)
  • Parametryzacja testów7min(zablokowana)
  • Mocki5min(zablokowana)
  • Model-bakery9min(zablokowana)

Django Rest Framework - API

43min
  • Wstęp i serializery9min(zablokowana)
  • ModelSerializer12min(zablokowana)
  • Walidacja danych + extra9min(zablokowana)
  • Metody to_representation i to_internal_value6min(zablokowana)
  • Custom fields7min(zablokowana)

Metody optymalizacji aplikacji

16min
  • Django-debug-toolbar5min(zablokowana)
  • Select_related4min(zablokowana)
  • Prefetching6min(zablokowana)

Cache

  • Wstęp2min(zablokowana)
  • Template cache6min(zablokowana)
  • Views cache(zablokowana)
  • Cache property4min(zablokowana)
  • Testy wydajnościowe6min(zablokowana)
  • Dodatkowe narzędzia optymalizacyjne4min(zablokowana)

Dziedziczenie modeli

16min
  • Klasa abstrakcyjna7min(zablokowana)
  • Concrete inheritance5min(zablokowana)
  • Dziedziczenie polimorficzne4min(zablokowana)

Wyszukiwanie pełnotekstowe

24min
  • Proste wyszukania - icontains7min(zablokowana)
  • Postgres i full text search4min(zablokowana)
  • Literówki - Trigram Similarity5min(zablokowana)
  • Najlepsze dopasowanie - SearchRank8min(zablokowana)

Djagno ORM

34min
  • Aggregate i Annotate10min(zablokowana)
  • Values i Values list8min(zablokowana)
  • Bulk create6min(zablokowana)
  • Bulk update7min(zablokowana)
  • Pozostałe metody3min(zablokowana)

Dodatkowe

12min
  • Race conditions11min(zablokowana)
  • Zakończenie1min(zablokowana)

Ten kurs jest w bazie eduweb

Dostęp do wszystkich kursów z bazy eduweb za 199 zł/mies.

Wykup dostęp do bazy

Autor kursu

Średnia ocen autora: 5

Bio

Fanatyk programowania. Pół mieszkania zasypane książkami i laptopami.

Pracuję w firmie Panowie Programiści, gdzie realizujemy aplikacje dla największych festiwali, magazynów modowych i life stylowych w Polsce. Czasem dla odmiany zajmujemy się mniejszymi stronami o nietuzinkowym designie lub nietuzinkowym medium takim jak lodówki.

W przeszłości zdarzyło mi się studiować na Politechnice Warszawskiej, pracować w międzynarodowych zespołach programistycznych i wygrać hackathon HackYeah.

Gdybym jednak miał powiedzieć, co cenię w życiu najbardziej, powiedziałbym, że pisanie ładnego i optymalnego kodu. Lubię, gdy kod jest krótki, czytelny i działa bardzo szybko.

Piszę głównie w tandemie Django i VueJS. Jestem fanem składni Pythona i prostoty Vue.