Menu
CoddyTech

Süresi Dolan Sayaç

Coddy'nin Node.js Journey'sinin Kimlik Doğrulama ve Güvenlik bölümünün bir parçası. Ders 22 / 24.

Sabit bir pencere, denemeleri tek bir başlangıç zamanından itibaren sayar. Sayının yanında since değerini sakla. Bir dakikalık pencere, now - since 60000 milisaniyeye ulaştığında sona erer.

// Bu örnekte on saniyelik bir zaman aralığı
if (now - since >= 10000) {
    count = 0;
    since = now;
}
count += 1;

Pencere boyunca başlangıç zamanını değiştirmeden koru. Her denemeden sonra bu zamanı ileri almak, bekleme süresini sürekli uzatır. Bu yöntem, sınır durumunu beklemeden deneyebilmen için now değerini sağlar. Çalışan bir sunucu, geçerli zamanı Date.now() ile alır. Giriş projesi aynı { count, since } kaydını kullanır.

challenge icon

Görev

Kolay

exercise.js içinde bir dakikalık hata kaydını güncelle. now - since en az 60000 ise now anında count değeri 1 olan yeni bir pencere başlat. Aksi hâlde count değerini artır ve since değerini koru. Her iki alanı da döndür.

{"count":3,"since":0,"now":10000} içeren POST isteği için beklenen sonuç: {"count":4,"since":0}. now:60000 olduğunda beklenen sonuç: {"count":1,"since":60000}.

İlk GET /result isteğinde sağlanan örnek kullanılır: {"count": 2, "since": 1000, "now": 61000}. Diğer girdileri denemek için JSON gövdesiyle POST /result isteği gönder.

Kendin dene

export function exercise({ count, since, now }) {
    return { count: count + 1, since };
}

Kimlik Doğrulama ve Güvenlik bölümündeki tüm dersler

Kendi başına pratik yap: Express playground