만료되는 카운터
Coddy Node.js 여정의 인증과 보안 섹션에 포함된 레슨. 24개 중 22번째.
고정된 시간 구간은 하나의 시작 시점부터 시도 횟수를 셉니다. 횟수와 함께 since를 저장하세요. 1분 구간은 now - since가 60000밀리초에 도달하면 만료됩니다.
// 이 예제에서 사용하는 10초 시간 구간
if (now - since >= 10000) {
count = 0;
since = now;
}
count += 1;시간 구간 내에서는 원래의 시작 시점을 유지하세요. 시도할 때마다 시작 시점을 옮기면 대기 시간이 계속 늘어납니다. 이 방법은 기다리지 않고 경계 조건을 테스트할 수 있도록 now를 제공합니다. 실행 중인 서버는 Date.now()에서 현재 시간을 가져옵니다. 로그인 프로젝트에서도 동일한 { count, since } 레코드를 사용합니다.
챌린지
쉬움exercise.js에서 1분 실패 기록을 업데이트하세요. now - since가 60000 이상이면 now를 시작 시점으로 하고 횟수가 1인 새 구간을 시작하세요. 그렇지 않으면 횟수를 늘리고 since를 유지하세요. 두 필드를 모두 반환하세요.
POST {"count":3,"since":0,"now":10000}의 예상 결과: {"count":4,"since":0}. now:60000일 때의 예상 결과: {"count":1,"since":60000}.
초기 GET /result는 제공된 예시 {"count": 2, "since": 1000, "now": 61000}를 사용합니다. 다른 입력을 시도하려면 JSON 본문과 함께 POST /result를 사용하세요.
직접 해보기
export function exercise({ count, since, now }) {
return { count: count + 1, since };
}
인증과 보안의 모든 레슨
직접 연습해 보세요: Express 플레이그라운드