Zajęcia Python III nr 13 - notatki
Komponent do obsługi formularzy w Streamlit, aby strona nie odświeżała się niepotrzebnie po każdym wpisie użytkownika:

Taki formularz jest zamknięty w with, jako blok danych. Przykład:
import streamlit as st
with st.form("Dane osobowe"):
imie = st.text_input(label="Imię")
nazwisko = st.text_input(label="Nazwisko")
stanowisko = st.text_input(label="Stanowisko")
wykształcenie = st.selectbox(label="Wykształcenie",options=["podstawowe", "średnie", "wyższe"])
wyslij_btn=st.form_submit_button("Prześlij")
if wyslij_btn:
st.write(imie, nazwisko, stanowisko, wykształcenie)W przypadku kiedy chcemy przechować stan zmiennych aby nie odświeżały się one w całości ze stoną, możemy użyć tego:

Przykładowe użycie, pozwalające na przechowanie danych dla zmiennej liczba:
import streamlit as st
if "liczba" not in st.session_state:
st.session_state["liczba"] = 0
dodaj_btn = st.button(label="Dodaj +1")
if dodaj_btn:
st.session_state["liczba"] += 1
st.write(f"Liczba: {st.session_state["liczba"]}")Sieci, http, TCP/IP, API
Znaki specjalne w html:

REVERSE PROXY - to serwer pośredniczący, który odbiera żądania od klientów i przekazuje je do odpowiednich serwerów wewnętrznych, a następnie zwraca odpowiedzi do klienta. Reverse proxy chroni serwery wewnętrzne, a proxy chroni klienta.
Reverse proxy to dobra rzecz jeżeli chce się mieć swój serwer z postawionymi domenami. Przykładowe reverse proxy:

Protokoły IP
- TCP - sprawdza, czy paczka danych dotarła do adresata
- UDP - nie ma sprawdzania, ale ma inne zalety - mniej obciąża komputer i działa szybciej
Protokół HTTP - odpowiedzialny za przesyłanie zasobów w architekturze klient-serwer. Najczęściej korzystamy z protokołów https czyli http szyfrowanego.
Możemy szyfrować ruch sieciowy przy użyciu certyfikatów, a certyfikatów obecnie nie trzeba koniecznie kupować za wielkie pieniądze. Przykładowy sposób na łatwiejsze zdobycie certyfikatu:

Takie certyfikaty z darmowych serwisów są zwykle czasowe... Wymagają odświeżenia zwykle po kilku miesiącach. Na szczęście wspomniany wcześniej reverse proxy Caddy może coś takiego robić automatycznie.
Przeglądarki sprawdzają czy certyfikaty są zaufane.
Metody HTTP z których będziemy korzystać:
- GET - pobranie zasobu
- POST - przyjęcie danych od klienta do serwera
- DELETE - żądanie usunięcia zasobu
Metod jest rzecz jasna więcej.
API - kontrakt dotyczący wymiany danych przez aplikacji. Nie precyzuje on szczegółów tego kontraktu.
NIE jest to protokół, dokumentacja, standard czy program.

Publiczne API:
Hoppscotch

Schemat interfejsu:

Na Hoppscotch można zdobyć kod Pythona do wyciągania danych ze stron (przy pomocy json)




