Bei Study anmelden

Diese Seite ist der öffentliche eMedys-Auftritt. Dein Konto und deine privaten Inhalte laufen auf Study; die Anmeldung öffnet sich dort in einem eigenen Fenster.

Den Fensterbeginn im Zustand finden

Ein beim ersten Zugriff beginnendes festes Fenster auf einer Zeitachse erklären.

Ein Name wie 'sliding window' ist eine überprüfbare Behauptung. Entscheidend ist der gespeicherte Zustand: Unser Lernmodell hält je Schlüssel nur windowStart und count. Der erste Zugriff beginnt ein Fenster von 60 Sekunden; spätere Zugriffe erhöhen den Zähler, verschieben den Beginn aber nicht. Bei elapsed ≥ 60 wird ein neues Fenster begonnen. Es werden keine Zeitpunkte einzelner Zugriffe gespeichert. Das Modell besitzt deshalb einen festen Beginn je Schlüssel und ist weder ein echtes gleitendes Fenster noch an volle Uhrminuten gebunden. Eine kontrollierte Uhr macht genau diese Randbedingungen lesbar.

Ein Beispiel

Für alpha gilt Grenze 2: t=0 erlaubt (count 1), t=59 erlaubt (2), t=59,5 abgelehnt und t=60 wieder erlaubt. Die Restwartezeit bei 59,5 beträgt auf volle Sekunden aufgerundet 1. Beginnt beta erst bei t=17, läuft sein eigenes erstes Fenster bis t=77. Python 3.11 · Lehrbeispiel def attempt(state, now, limit=2, duration=60): start, count = state if state is not None else (now, 0) if now - start >= duration: start, count = now, 0 allowed = count < limit return (start, count + int(allowed)), allowed state = None for now in [0, 59, 59.5, 60]: state, allowed = attempt(state, now) print(now, allowed) Erwartete Ausgabe 0 True 59 True 59.5 False 60 True

Mit meinem Konto üben →

Alle Lernwege