Tworzenie aplikacji WEB z użyciem frameworka Django - techniki zaawansowane
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Program szkolenia
- Wprowadzenie
- Dobre praktyki przy konfiguracji nowego projektu
- Przygotowanie prostej aplikacji jako powtórka i usystematyzowanie wiedzy
- modele
- widoki
- szablony
- pliki urls
- Przydatne funkcjonalności w Django część 1
- wykorzystanie flatpages do utworzenia stron z dokumentacją/RODO/regulaminem
- stworzenie własnych template tags w celu modyfikacji zawartości strony
- własne content middleware jako sposób na dodanie kontekstu do każdej podstrony
- wykorzystanie messages framework w celu komunikacji o akcjach w systemie
- stworzenie własnego stronicowania na stronie w oparciu o domyślny paginator
- wykorzystanie sygnałów do komunikacji, wstęp do event driven development
- biblioteka logging - konfiguracja i wykorzystanie, aspekty bezpieczeństwa
- wykorzystanie cache w celu poprawy funkcjonowania strony, omówienie częstych błędów
- Zaawansowane modele i formularze
- tworzenie własnych walidatorów pól w formularzach
- formsets - wiele formularzy w jednym
- UUID jako klucz główny - wykorzystanie w przypadku zasobów tymczasowych
- praktyczne wykorzystanie pola slug field
- Przydatne funkcjonalności w Django część 2
- wstęp do wersji językowych
- zarządzanie projektem - własne komendy zarządzające
- wysyłanie wiadomości e-mail, omówienie ustawień testowych i produkcyjnych
- praca z dużymi plikami
- Docker i docker-compose w połączeniu z Django
- wstęp do konteneryzacji z wykorzystaniem Dockera
- prosta konfiguracja, niezbędne zmiany w ustawieniach projektu
- uruchomienie serwera
- Optymalizacja zapytań bazodanowych w praktyce
- zapytania do bazy danych, gdy jedno z pól w tabeli przechowuje dużo danych
- optymalizacja w przypadku wielokrotnych relacji
- złożone zapytania, czyli obiekty Q i F w praktyce
- masowe tworzenie i aktualizacja obiektów w praktyce, tworzenie obiektów powiązanych
- Elasticsearch jako narzędzie do przeszukiwania oraz szybkiego tworzenia raportów
- Zaawansowane opcje w Django Rest Framework
- filtry, własne filtry
- uprawnienia dostępu, tworzenie własnych klas uprawnień
- select2 w połączeniu z DRF jako przykład dopasowania projektu do wymagań frontendu
- limitowanie zapytań od jednego użytkownika do systemu
- wersjonowanie API
- System kolejkowy w Django
- wstęp do Celery, czym jest system kolejkowy oraz broker informacji
- minimalna konfiguracja (Celery + Redis)
- tworzenie własnego zadania
- uruchamianie zadania na życzenie
- uruchamianie zadania o określonym czasie
- ograniczenia
- Wstęp do testowania w Django
- wprowadzenie do test driven development i testów jednostkowych
- testy jednostkowe w oparciu o bibliotekę unitest
- testy jednostkowe w oparciu o bibliotekę pytest
- mockowanie danych - kiedy i jak używać
- fabryki jako sposób na tworzenie obiektów testowych
- dobre praktyki
- Websockety
- wstęp do websocketów
- wykorzystanie websocketów do stworzenia komunikatora na stronie
- wykorzystanie websocketów do odświeżania informacji na stronie
- Wstęp do programowania defensywnego
- ryzyka jakie są związane z tworzeniem stron
- założenia programowania defensywnego
- zabezpieczenie kolejki przed wyciekiem informacji o systemie
- Wieloskładnikowe logowanie
- dlaczego potrzebujemy wieloskładnikowego logowania?
- wykorzystanie biblioteki django-trench
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!Jest to kurs przygotowany dla programistów, którzy mają już pewne doświadczenie z Django. Podczas tego kursu uczestnicy poznają zarówno bardziej zaawansowane aspekty frameworka Django, jak również rozwiążą częste problemy takie jak: optymalizacja zapytań SQL, uruchamianie Django z wykorzystaniem Dockera, testowanie projektu, stworzenie systemu kolejkowego, czy komunikacja z wykorzystaniem websocketów. Ze szkolenia skorzystają zarówno osoby, które niedawno opanowały podstawy jak i osoby z wielomiesięcznym doświadczeniem.
Uwaga:
- Zalecane jest aby uczestnicy kursu "Tworzenie aplikacji WEB z użyciem frameworka Django" przed zapisem na ten kurs stworzyli co najmniej jeden własny projekt.
- Podczas kursu przydatna będzie podstawowa znajomość Django Rest Framework, relacyjnych baz danych, HTML i CSS oraz JavaScript.
Prowadzący szkolenie: Tomasz Woźniak
Bioinformatyk, programista Python i Django. Ma wieloletnie doświadczenie w tworzeniu funkcjonalnych rozwiązań webowych zarówno w nauce jak i biznesie, pracy z oprogramowaniem i analizą danych biologicznych. Od 2017 roku uwielbia dzielić się swoją wiedzą i doświadczeniem jako trener. Na co dzień pracuje jako adiunkt w Instytucie Genetyki Człowieka PAN w Poznaniu.
Stanowisko robocze
Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia
Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii Python
Programista z ponad 12 letnim stażem, pracował dla klientów z Norwegii, Szwecji, Wielkiej Brytanii oraz Niemiec. Pracował dla takich firm jak Schibsted Tech Polska oraz PrimeQ tworząc strony o bardzo dużym natężeniu ruchu, skrypty automatyzujące pracę innych, w tym także crawlery. Trener, który na sali spędził ponad 5000h prowadząc szkolenia z baz danych, programowania w Pythonie i PHP.
Kacper uważa, że język programowania to tylko narzędzie w rękach doświadczonego dewelopera, dlatego nieustannie lubi uczyć się nowych rzeczy oraz zarażać miłością do programowania innych (stąd pewnie ten kanał na Youtubie -> Kacper Sieradziński).
Programista Pythona od 2018 roku z backgroundem w matematycznym modelowaniu procesów fizycznych. Specjalizuje się w obszarach związanych z pozyskiwaniem, przetwarzaniem i analizą danych. Jako data scientist pracował w projektach dla branż takich jak telekomunikacja, media czy finanse. Doświadczony szkoleniowiec, który lubi i potrafi przekazywać wiedzę. W wolnym czasie podróżuje lub pracuje nad nowymi szkoleniami.
DevOps Enginner z zamiłowaniem do części "Dev" wspomnianej roli. Pasjonat ideologii DevOps, ze szczególnym uwzględnieniem potoków dostarczania oprogramowania. Swoje doświadczenie opiera o dostarczanie skalowalnych usług mikroserwisowych oraz projekty wdrażanie w AWSie dla dużych klientów. W codziennej pracy jest zaangażowany na wielu poziomach cyklu dostarczania oprogramowania. Od wielu lat tworzy narzędzia dla deweloperów, które skracają cykl, ułatwiają prace i definiują standardy w zespołach.
Posiada doświadczenie w zarzadzaniu zespołami developerskimi. Absolwent Politechniki Warszawskiej, swoja karierę w IT zaczynał właśnie od szkoleń w JSystems, które pozwoliły mu nabrać wiatru w żagle i pomogły spełnić marzenia o karierze w IT. Dziś w JSystems jako trener zakresu AWS, który zachęci was do korzystania z chmury Amazona i pokaże, że nie jest to takie trudne i "kosztowne".
Certyfikowany inżynier z zakresu architektury, DevOps i Networkingu w AWS. Zwolennik "przemyślanego" podejścia zwinnego w prowadzeniu projektów. Charakteryzuje go podejście do wyzwan z "Can do attitude" i "Get Things Done". W swojej pracy najbardziej ceni możliwość rozwiazywania problemów biznesowych w oparciu o najnowsze technologie chmurowe. Zwolennik praktyki nad teorią. Ostatnio mocno zaangażowany w adaptacje możliwości jakie niesie ze sobą platforma Backstage.io.