작은 지표 수집 API 를 만들어요. 요청이 들어올 때마다 그 경로가 몇 번 불렸는지 세어 두고, /stats 로 그동안의 경로별 횟수를 돌려줘요. Counter 의 Record 와 Snapshot 을 완성하세요. (서버 배선 newServer 와 테스트 server_test.go 는 제공돼요.) Note: Record(path) — 그 경로의 횟수를 1 늘린다. Snapshot() — 지금까지의 경로별 횟수를 돌려준다. /hit/<이름> 으로 요청이 오고, /stats 로 집계를 읽어요.
Go 표준 라이브러리(net/http)로 경로별 접속 횟수를 세는 작은 지표 수집 API 를 완성하는 문제입니다. 들어온 경로의 횟수를 올려 두고 /stats 로 경로별 누적을 돌려줘야 합니다. 접속이 폭주하는 순간까지 버티는 서버를 검증하는 능력을 연습합니다.
인터넷 서비스는 같은 순간에 수많은 이용자를 상대하므로, 겹쳐 들어오는 처리들이 하나의 저장 공간을 함께 건드릴 때 값이 뒤엉키지 않는지가 관건입니다. 이용자가 적을 때는 멀쩡해 보이던 코드도 접속이 폭주하는 순간 숫자가 틀어지거나 프로그램이 예고 없이 멈출 수 있습니다. 이런 결함은 천천히 하나씩 눌러 봐서는 좀처럼 재현되지 않아, 짧은 시간에 처리를 몰아넣는 점검이 필요합니다. 이 문제는 접속이 폭주하는 상황에서 집계 값이 흐트러지지 않는지를 살펴봅니다.