원본 본문으로 이동하기

파일용량 KB MB GB 등을 어떻게 표기할것인가?

박용서 - 언어 / 스크립트에 따라서 비트연산자가 특정범위 (예를들어 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 - 이론