Python_Notatki Z14

Python_Notatki Z14
Photo by Mahin Ahmed / Unsplash

Na początku zajęć robimy applikację webową z prognozą pogody po wyborze miejsca na mapie:

Przykładowe użycie Hoppskotch do generowania kodu Python Requests do API pogodowego:

Screen kodu do komunikacji ze stroną Opem Meteo.

Tak wygląda słownik pobrany ze strony i wyciągnięty z ich json'a (formatowanie tylko dla czytelności dla nas):

st.dataFrame wyświetla tabele wygenerowaną w pandas:

Tak można nieładnie, ale użytecznie do testowania, czy kod działa, wyświetlić słownik w streamlit:

Wygląd:

Wyświetlamy poszczególne jednostki ładnie niż po prostu drukiem słownika na stronie przez streamlit:

Używamy komponentu st.line_chart do wyświetlenia wykresu linearnego zrobionego na podstawie DataFrame w pandas:

Tu widać jaki można dostać absurdalny wynik bez podawania parametrów:

Screen z dokumentacji streamlit do line_chart. Tu widzimy parametry x i y:

streamlit_folium - komponent do wyświetlania map w streamlit. Trzeba go pobrać jako bibliotekę do python.

streamlit_folium korzysta z biblioteki folium do python (i instaluję ją razem ze sobą).

Biblioteka folium z kolei bazuje na bibliotece leaflet.js.

W py.cafe widzimy przykład wykorzystania biblioteki streamlit-folium:

Tak korzystamy z klasy Map z biblioteki folium, aby wyświetlić na stronie mapę. tiles - parametr podający styl wyświetlania mapy.

Po kliknięciu na mapie strona się przeładowuję i dostajemy słownik ze współrzędnymi na mapie:

Nowy temat. Komunikacja w internecie i w seciach:

DNS - serwery nazw

Router tworzy lokalne IP do urządzeń i za pomocą protokołu NAT przekazuję dane do lokalnych IP i z powrotem. Publiczny adres (routera?) jest inny niż lokalne IP.

Oto taka stronka do zakupu domeny w wirtualnych serwerów i td:

Adres IP wirtualnego serwera trzeba skonfigurować z nazwa strony.

Pula protokołuw dzieli się na warstwy, które obsługują rózne funkcjonalności i mają hijerarchie, nakładane stopniowo do przekazania danych:

od 0 do 255, protokol w wersji 4, adres ip lokalny sklada sie z 4 liczb, 8bitowe liczby

Istnieją jeszcze nr portu. Niezabezpieczone www strony - nr portu 80. nr portu 443 - zabiezpieczone strony www (http). Port 3000 na screenshocie:

Proxy jest pośrednikiem w przekazywaniu danych i wtedy serwer docelowy widzi tylko IP proxy. Proxy - posrednik (może być w innym kraju).

reverse proxy - chowanie ip adresu stron internetowych aby utrudnić atak

load balance - reverse proxy rozklada obciazenie miedzy serwerami

https - szyfrowane strony.

Wireshark - przechwytywanie paczek/pakietow w sieci:

Przechowanie stanu między zapytaniami do serwera - cookies

Protokol http ma rożne takie wbudowane metody. W API my korzystaliśmy z http i GET.

Aby skorzystać z proxi są różne płatne i bezpłatne serwisy:


Przypomnieć:

  1. pakowanie aplikacji do exec
  2. if _ _ name _ _ == "_ _ main _ _ ": - co tu się dzieje?
  3. książki
  4. czy moja apka do QR-kodów jest ok?
  5. jak można rozwijać moją apkę do auto scheduling in calendar?

Powtórzyć:

  1. sets
  2. słowniki, krotki i listy
  3. kolejność operacji w loopie i poza loopem
  4. własne funkcje i klasy/obiekty.