[백업][가리사니] 파일용량 kb mb gb 등을 어떻게 표기할것인가?
other
이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.
언어 / 스크립트에 따라서 비트연산자가 특정범위 (예를들어 int) 이상 되지않는 경우가 있습니다. 기가 단위부터는 테스트를 해본 후 사용하시길 바랍니다.
주의
위, 알림에서도 나와듯 자바에서는 이상이 없었지만, 자바스크립트 같은경우 기가단위부터 이상이 생길 수 있습니다. 자바스크립트의 Number은 double-precision (64 bit) 입니다. 자바스크립트는 맨 아래 추신부분에 해결방법이 있습니다…
용량표시를 어떻게 할까?
파일업로드를 만들면서 제한용량 표기 때문에 글을 써보겠습니다.
final public static long SIZE_MAX1 = 100 * 1024 * 1024; // 100MB
final public static long SIZE_MAX2 = 100 * 1024; // 100KB
보통 위와같이 사용하는데 1024가 너무많아서 집중에 되지않습니다.
1024는 2의 10승 비트연산자로 « 10 에 해당합니다.
// 공용파일 PUB
final public static long BIT_KILO = 10;
final public static long BIT_MEGA = 20;
final public static long BIT_GIGA = 30;
// 적용파일
final public static long SIZE_MAX1 = 32 << PUB.BIT_MEGA; // 32MB
final public static long SIZE_MAX2 = 11 << PUB.BIT_KILO; // 11KB
final public static long SIZE_MAX3 = 43 << PUB.BIT_GIGA; // 43GB
개발자 마다 다르겠지만 저는 위와같이 표현을 했습니다. 개인적으로 1024가 너무많으면 정신사납고 또 숫자가 많다보니 오타등의 실수도 할 수 있기 때문에 한번 생각해봤습니다.
물론 개인적인 생각이다보니.. 적용하는것은 개발자의 몫입니다.
장점
- 가독성이 좋아진다.
- 1024 가 연발되다보니 1024나, 갯수의 오타로 인한 오류를 줄일 수 있다..(확률은 낮지만…)
단점
- 보는사람에 따라 오히려 더 난독한 코드를 만들 수 있다.
추신 : 왜 굳이 비트연산자를 썼을까…
(요즘 이직준비하느라.. 피곤했나 봅니다. 하하하하..) 엄청난 빈도로 사용하지 않는이상 속도이득도 없고..;;;
// 공용파일 PUB
final public static long BIT_KILO = 1024;
final public static long BIT_MEGA = BIT_KILO * 1024;
final public static long BIT_GIGA = BIT_MEGA * 1024;
// 적용파일
final public static long SIZE_MAX1 = 32 * PUB.BIT_MEGA; // 32MB
final public static long SIZE_MAX2 = 11 * PUB.BIT_KILO; // 11KB
final public static long SIZE_MAX3 = 43 * PUB.BIT_GIGA; // 43GB