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.
Często kiedy piszemy projekt potrzebujemy skorzystać z jakiegoś zewnętrznego
narzędzia z jakiegoś systemu kierującego stylu red.
Albo z bazy danych w stylu Great bądź jakieś wariacja post Grecja jak post bis.
Zainstalowanie takich
bibliotek takich narzędzi na różnych systemach może się nieco różnić.
Czasem możemy napotkać na błąd który będziemy rozwiązywać długie godziny.
W tym celu bardzo fajnie jest użyć ułatwić sobie życie i skorzystać z Doktora.
Dzięki doktorowi możemy uruchomić kontener
z docelowym narzędziem i wystawić port tego narzędzia na nasz komputer.
Mówiąc tak bardzo ogólnie
przygotowałem trzy aplikacje z których korzystam najczęściej.
Pierwsza to post.
Jest to plik do Composite który składa się z wersji i usług które będą uruchamiane
i mam tutaj Greca który wykorzystuje obraz gry z wersją dziesiątą możemy tę wersję
zmienić w bardzo łatwy sposób na przykład na jedenastą.
Mamy informacje o wystawionych portach wystawiamy ten port z
środowiska w którym on naturalnie ci naturalnie wewnątrz kontenera on działa
pod portem 5400 32 na port mojego komputera.
Ten sam zmienną środowiskową którą wymaga pod adres jest również hasło do niego
domyślnie Józef nam domyślnie baza danych która się tworzy to jest agresja i hasło
utworzyły właśnie takie tutaj mamy katalog który podmiotowi
bezpośrednio do danych ESA i na moim komputerze jest to Wolfram z DB.
Jak zetknięcie.
Co mi się wygenerowała w Volume.
To zobaczycie że jest to bardzo dużo
plików tych specyficznych dla danej bazy danych w tym przypadku.
A jeżeli macie Windowsa to możecie mieć
problem z podjęciem się wolimy sami w ten sposób jest szansa że będziecie wtedy
musieli zrobić to za pomocą słów docelowych nie za pomocą montowania
bezpośrednio katalogu tylko za pomocą montowania całego zasobu
dalej mamy remis a tu tłumaczenia nie ma aż tak dużo po
prostu wystawią go na określonym porcie i korzystam z obrazu bez wskazania w wersji
jest to najnowszy obraz i mamy narzędzie które osobiście bardzo
lubię które bardzo ułatwia życie i służy do testowania maili.
Myślę że wiele razy wam się zdarzyło jeżeli pisaliście jakąś aplikację
testować wysyłkę i można to sprawdzać w konsoli tylko wtedy HTML się wyświetla.
Naprawdę kiepsko nie widzimy zupełnie zdjęć i nie widzimy co tam jest.
Poza tym samo przez krakowianie do konsol nie jest zbyt wygodne zwłaszcza kiedy
pracujemy z sterami którzy chcą te maile testować.
Możemy skorzystać oczywiście z serwera FTP
jakiegoś zewnętrznego ale musimy mieć wtedy do niego dostęp.
Rozwiązaniem na to jest mail Hook.
Jest to aplikacja która emituje nam serwer
pocztowy aby z niej skorzystać musimy wystawić dwa porty jeden port
będzie nam służył jako serwer FTP a drugi będzie aplikacją wyborczą.
Zajrzymy najpierw na aplikację Web ową.
Wygląda ona w ten sposób wygląda podobnie do zwyczajnego klienta pocztowego i zaraz
ją wam pokażę ale jeszcze jeszcze wcześniej Chcę Wam pokazać jak
wyglądają moje zmienne środowiskowe które łączą się właśnie z tymi kontrolerami.
Wejdziemy do pliku End widzimy że korzystam z samych URL Database
URL wskazuje na mój adres lokalny na konkretnie port 5 4 3 2.
Tutaj podałem hasło pod adres dlatego jest właśnie takie mail URL wykorzystuje
Beckett a sam TP podaje domyślny login który ma maila czyli
user i domyślne hasło brzmi Passport i jako host.
W tym przypadku z kopiowaniem lokal host ale równie dobrze może być.
127 001 i port zgodnie z tym co wystawiłem w pozie 10 25.
Jeżeli chodzi o gaz jest to analogiczne
zajrzymy jeszcze do ustawień ponieważ dodałem pole i mail konflikt.
Które wykorzystuje metodę i mail URL gdzie wskazuje zmienną środowiskową mail URL
i jest nawet podana domyślną która się zgadza z tym co mam.
Wiele zmiennych tu musimy jeszcze wywołać
aktualizację naszego Skorupa za pomocą metody update warstw jest to słownik.
Metoda dat aktualizuje ten słownik o nowe dane spróbujemy wysłać wiadomość ale żeby
to jeszcze zrobić musimy uruchomić nasze kontenery w katalogu gdzie mamy do gier.
Uruchamiamy.
Do gier Composite AB link D D znaczy D czyli czyli odeszli do tła.
W tym momencie kontener się uruchomiły odświeża czy wszystko działa poprawnie.
Jest OK.
Skorzystamy z komendy w pliku menedżer im czy ją znacie czy nie.
Ale jest taka komenda jak Send test email.
Musimy tylko podać na jaki adres.
Ma iść miara.
Sprawdźmy.
Okazało się że wygląda to prawie jak w skrzynce pocztowej przyszedł mail.
Możemy zobaczyć on jest akurat w tekście ale gdybyśmy mieli tutaj formę HTML a to
wtedy by naszym oczom ukazało się stylowe obrazki jakieś nagłówki jakaś różnorodność
byłaby tutaj widoczna i możemy sobie podejrzeć co konkretnie zostało wysłane.
Czy wszystko działa zgodnie z naszymi założeniami dociera możemy również użyć do
dewelopera aplikacji napisanych w Panteonie.
Jest to całkiem wygodne kiedy chcemy pisać
coś w starym Python takim którego nie mamy w systemie zainstalowanego.
Wtedy działa bardzo analogicznie jak.
Jest tutaj tylko pod Monte w tym miejscu katalog z naszym kodem.
Wtedy automatycznie zmiany będą zaciągane wewnątrz tego kontenera i możemy.
Deweloper chciał w ten sposób z
wykorzystaniem pycha ma PHN posiada interpretację w którym możemy się wspiąć.
Bezpośrednio do doktora
zetknięcie tutaj można kliknąć A.D. i można wybrać doktora albo doktor Kompała
ale osobiście rzadko korzystam z tego rozwiązania ponieważ zauważyłem że z
pewnym patronem jest jednak nieco mniej problemów.
Jeżeli deweloperzy na w miarę nowych wersjach Pythona.
Jeżeli nie musimy bardzo skakać między wersjami to wtedy jest to wystarczające.
Natomiast jeżeli chcecie spróbować zachęcam.