Kurs Python i Django

Wstęp do kursu

Koszyk Koszyk
  • Opis
  • Recenzje
  • Autor
  • Transkrypt
  • Pytania i odpowiedzi
  • QA

2 ocen

Wprowadzenie

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!

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

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.

Dlaczego wybrać właśnie ten kurs?

  1. Kurs wideo to najbardziej efektywna a zarazem najprzyjemniejsza forma nauki. Jest on tak prowadzony, byś cały czas mógł go śledzić z zainteresowaniem i zaangażowaniem, a także czerpać satysfakcję ze zdobytej wiedzy!
  2. Wiedza, którą otrzymujesz w tym kursie, to nie tylko sucha teoria, ale również wskazówki od praktyka z wieloletnim doświadczeniem, dzięki którym dużo łatwiej będzie Ci opanować materiał i pracować efektywniej.
  3. Uczysz się na praktycznych przykładach. Kurs, który masz przed sobą to esencja praktycznej wiedzy i doświadczenia a także wzorów, które oszczędzą Ci godziny pracy i poszukiwań.

Autor: Grzegorz Szymborski

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.

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.

5

Średnia ocen autora

Ten kurs nie posiada jeszcze transkryptu. Choć bardzo się staramy, wygenerowanie transkryptów do wszystkich kursów jest bardzo czasochłonne. W wielu przypadkach wymaga zaangażowania drogiego oprogramowania i godzin pracy przy poprawianiu transkryptu tak, aby był on możliwie jak najlepszy.

Zależy nam na tym, aby przygotować transkrypty do wszystkich naszych treści. To jedyny sposób dla osób niedosłyszących, aby mogły wygodnie uczyć się technologii. Poza tym, transkrypty ułatwiają skanowanie kursu w poszukiwaniu informacji i jego indeksowanie.

Szukamy osób, które mogłyby nam pomóc w poprawianiu transkryptów. Jeśli masz chwilę wolnego czasu i interesuje Cię dany kurs, w zamian za taką pomoc chętnie udostępnimy Ci wybrany materiał. Wyślij swoje zgłoszenie tutaj, jeśli możesz pomóc nam rozwijać platformę.

  • Informacje
  • Lekcje

Autor: Grzegorz Szymborski

Czas: 3 godzin 43 minut

Aktualizacja: 22.09.2020

  • Certyfikat w ramach Ścieżki
  • Dostęp z urządzeń przenośnych
  • Licencje dla firm i szkół
Podaruj w prezencie

Wprowadzenie

  • Wstęp do kursu

Architektura projektu z przyszłością

  • Struktura katalogów

  • Settings i zmienne środowiskowe

  • Pre-commit i black

  • Docker dla developmentu

Testowanie aplikacji - pytest

  • Pytest

  • Fixture

  • Parametryzacja testów

  • Mocki

  • Model-bakery

Django Rest Framework - API

  • Wstęp i serializery

  • ModelSerializer

  • Walidacja danych + extra

  • Metody to_representation i to_internal_value

  • Custom fields

Metody optymalizacji aplikacji

  • Django-debug-toolbar

  • Select_related

  • Prefetching

Cache

  • Wstęp

  • Template cache

  • Views cache

  • Cache property

  • Testy wydajnościowe

  • Dodatkowe narzędzia optymalizacyjne

Dziedziczenie modeli

  • Klasa abstrakcyjna

  • Concrete inheritance

  • Dziedziczenie polimorficzne

Wyszukiwanie pełnotekstowe

  • Proste wyszukania - icontains

  • Postgres i full text search

  • Literówki - Trigram Similarity

  • Najlepsze dopasowanie - SearchRank

Djagno ORM

  • Aggregate i Annotate

  • Values i Values list

  • Bulk create

  • Bulk update

  • Pozostałe metody

Dodatkowe

  • Race conditions

  • Zakończenie

}