임의의 6~7자리 62진수를 생성 후 이를 BASE62로 인코딩하는 것으로 URl 생성기를 구현 후 단축 URL 엔드포인트에 요청을 보내봤을 때 위와 같은 에러메시지를 볼 수 있었다.
양수여야 될 digit에 음수가 바인딩되어 발생하는 문제였다.
144873419262252(source)를 62(base)로 나눈 나머지(long)를 int로 다운캐스팅 해줬어야 했는데
144873419262252(source)를 먼저 다운캐스팅을 하는 과정에서 비트 손실에 의해 음수인 -122599124(int)가 되고 이를 62로 나눈 나머지 값인 -14가 얻어지는 것이었다.
문제 자체는 source % base를 괄호로 묶어준 뒤 다운캐스팅하는 것으로 간단하게 해결이 됐다.
여기서 배울 수 있었던 것은