PythonPodcast 25 - itnett/FTD02H-N GitHub Wiki

Python Historie og Teori: 100 Begreper for Deg Uten Forkunnskaper (Del 4)

Velkommen til den fjerde delen i vår spesialserie, hvor vi dykker videre inn i Python-verdenen. I dag skal vi fokusere på emner som API-er, grafiske brukergrensesnitt (GUI), datasikkerhet og mer. Målet er fortsatt å forklare begrepene uten å vise kodelinjer direkte, men gi deg en dypere forståelse gjennom audiovisuell læring.


101-110: API-er og Webintegrasjoner

  1. API (Application Programming Interface): En API er et sett med regler som lar programmer snakke med hverandre. For eksempel kan et værprogram bruke en API for å hente oppdatert værinformasjon fra en server.

  2. HTTP-protokollen: Hypertext Transfer Protocol brukes av web-API-er til å kommunisere over internett. Dette er protokollen som brukes for å sende forespørsler (requests) og motta svar (responses) mellom klienter og servere.

  3. GET-forespørsel: En av de vanligste typene forespørsler i API-er. Den brukes til å hente data fra en server, for eksempel å be om værdata fra en vær-API.

  4. POST-forespørsel: En annen type forespørsel som brukes til å sende data til en server. Når du fyller ut et skjema på en nettside og sender det, bruker du en POST-forespørsel for å sende informasjonen til serveren.

  5. Responsobjekt: Når en forespørsel blir sendt til en API, får du et svar tilbake. Dette kalles et responsobjekt, og det inneholder dataene du ba om, for eksempel i JSON- eller XML-format.

  6. Rate Limiting: API-er har ofte begrensninger på hvor mange forespørsler du kan sende i løpet av en viss tid. Dette kalles "rate limiting" og er ment for å beskytte serveren fra overbelastning.

  7. OAuth: En standard for autorisering som lar brukere gi applikasjoner begrenset tilgang til data uten å måtte dele passord. Dette brukes for eksempel når du logger inn på en ny app ved å bruke Facebook- eller Google-kontoen din.

  8. API-nøkler: Mange API-er krever en unik nøkkel for å bekrefte identiteten til applikasjonen som sender forespørselen. API-nøkler gir sikker tilgang og brukes for å spore hvem som bruker API-et.

  9. Webhooks: En metode for å automatisk sende data fra en applikasjon til en annen når visse hendelser skjer. For eksempel kan en webshop sende en webhook til et lagerstyringssystem når et produkt er utsolgt.

  10. RESTful API: En type API som følger bestemte retningslinjer for struktur og bruk av HTTP-forespørsler. REST står for Representational State Transfer og er en av de mest brukte API-standardene på nettet.


111-120: Grafiske Brukergrensesnitt (GUI)

  1. GUI (Graphical User Interface): Et grafisk brukergrensesnitt lar brukere samhandle med programmet via visuelle elementer som knapper, tekstbokser og menyer, i stedet for å bruke tekstbaserte kommandoer.

  2. Tkinter: En innebygd Python-bibliotek som brukes til å lage enkle GUI-er. Det lar deg lage vinduer, knapper, etiketter og andre interaktive elementer i Python-programmet ditt.

  3. Widget: En komponent i et GUI, som kan være en knapp, tekstboks, rullegardinmeny eller en etikett. Disse elementene utgjør interaktive deler av programmet.

  4. Event-driven programming: I et GUI-program skjer handlinger som respons på brukerens input, for eksempel ved å klikke på en knapp. Dette kalles hendelsesdrevet programmering.

  5. Canvas: Et element i et GUI som lar deg tegne figurer som linjer, sirkler og rektangler. Det er nyttig for spill eller tegneprogrammer.

  6. Layout manager: Et verktøy som hjelper deg med å organisere widgets i et GUI. Dette sikrer at elementene plasseres riktig i vinduet, uansett størrelsen på skjermen.

  7. Mainloop: En løkke i et GUI-program som holder programmet i gang og venter på brukerinteraksjoner. Dette er kjernen i ethvert GUI-program.

  8. Menylinjer: GUI-elementer som inneholder alternativer som "Fil", "Rediger", og "Vis". De gir brukerne en enkel måte å navigere gjennom funksjonene i applikasjonen.

  9. Inputfelt (Entry): En widget i GUI-programmer som lar brukeren skrive inn data, for eksempel en søkefunksjon eller et brukernavn.

  10. Bilder og ikoner: Mange GUI-programmer bruker bilder og ikoner for å gjøre grensesnittet mer visuelt tiltalende. Python har flere biblioteker som lar deg bruke bilder i GUI-er, som PIL (Python Imaging Library).


121-130: Datasikkerhet

  1. Sikkerhet i programmering: Når vi utvikler programmer, er det viktig å sikre at data er trygge fra uautorisert tilgang eller manipulasjon. Dette kalles datasikkerhet.

  2. Kryptering: En metode for å beskytte data ved å gjøre dem uleselige for alle som ikke har riktig nøkkel. Kryptering brukes ofte for å beskytte passord og sensitiv informasjon.

  3. Autentisering: Prosessen med å verifisere at en bruker eller applikasjon er den de utgir seg for å være. Autentisering skjer ofte gjennom brukernavn og passord.

  4. Autorisasjon: Prosessen med å bestemme hva en bruker har lov til å gjøre etter autentisering. Selv om en bruker kan logge inn, kan de ha begrenset tilgang til visse deler av applikasjonen.

  5. HTTPS: En sikker versjon av HTTP som krypterer data mellom nettleseren og serveren. Det brukes til å beskytte sensitiv informasjon som kredittkortnumre og passord.

  6. SQL Injection: En sikkerhetstrussel der en ondsinnet bruker kan manipulere en databasespørring ved å legge inn skadelig kode i et inputfelt. Dette er en av de vanligste formene for angrep på databaser.

  7. Brannmurer (Firewalls): En sikkerhetsfunksjon som kontrollerer hvilken trafikk som kan komme inn og ut av et nettverk. Dette hindrer uautoriserte brukere i å få tilgang til systemet.

  8. Brukerroller: I et sikkerhetssystem kan brukere ha forskjellige roller, som administratorer og vanlige brukere. Hver rolle har forskjellige nivåer av tilgang og autorisasjon.

  9. To-faktor-autentisering (2FA): En metode for å legge til et ekstra lag med sikkerhet ved at brukeren må bekrefte identiteten sin med to forskjellige typer informasjon, for eksempel passord og en kode sendt til mobilen.

  10. Hashing: En prosess som omformer data til en fast lengde strengt for å beskytte dem. For eksempel lagres passord ofte som en hash i databaser, slik at selv om databasen blir kompromittert, vil passordene være beskyttet.


Oppsummering av Del 4

I denne delen har vi dykket inn i avanserte konsepter som API-er, GUI-programmering og datasikkerhet. Disse emnene er kritiske for å bygge robuste, sikre og brukervennlige applikasjoner. Du har nå en bedre forståelse for hvordan moderne applikasjoner kommuniserer med hverandre, og hvordan du kan sikre at dine egne programmer er sikre og tilgjengelige for brukere.


Forbered deg på Del 5…

I den siste delen av denne serien vil vi oppsummere alt vi har lært, med fokus på debugging, testing, unntaksbehandling og objektorientert design. Dette vil være den siste delen, hvor vi binder sammen all kunnskapen vi har samlet så langt.