Python_Notatki Z14
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ć:
- pakowanie aplikacji do exec
- if _ _ name _ _ == "_ _ main _ _ ": - co tu się dzieje?
- książki
- czy moja apka do QR-kodów jest ok?
- jak można rozwijać moją apkę do auto scheduling in calendar?
Powtórzyć:
- sets
- słowniki, krotki i listy
- kolejność operacji w loopie i poza loopem
- własne funkcje i klasy/obiekty.