float과 double을 BigDecimal, int, long으로 대체해라 ❓ float와 double의 문제 float과 double 타입은 과학과 공학 계산용으로 설계되었다. 이진 부동소수점 연산에 쓰이며, 넓은 범위의 수를 빠르게 정밀한 '근사치'로 계산하도록 설계되었다. 따라서 금융 관련 계산처럼 정확한 결과가 필요할 때 사용하면 안 된다. 금융 계산에 부동소수 타입을 사용해보자. public static void main(String[] args){ double funds = 1.00; int itemsBought = 0; for (double price = 0.10; funds >= price; price += 0.10){ funds -= price; itemsBought++; } Syst..
코드 품질에도 규모의 경제가 적용된다. 코드를 직접 작성하면서 프로그램이 실패하거나, 문제를 해결하고 싶어도 현상을 재현하기 쉽지 않은 경험이 있을 것이다. 예를 들면 무작위 정수 하나를 생성하고 싶다. 나는 이 책을 읽기 전까지 다음과 같은 코드로 작성했다. static Random rnd = new Random(); static int random(int n){ return Math.abs(rnd.nextInt()) % n; } 하지만 이 코드에는 결함이 3가지 있다. 첫 번째, n이 그리 크지 않은 2의 제곱수라면 얼마 지나지 않아 같은 수열이 반복된다. 두 번째, n이 2의 제곱수가 아니라면 몇몇 숫자가 평균적으로 더 자주 반환된다. (n값이 크면 이 현상은 더 두드러진다) 세 번째, random..
- Total
- Today
- Yesterday
- springboot
- Retrofit2
- DevOps
- IMAGE
- 완탐
- cicd
- 아이템61
- 조합
- 백준
- Java
- subset
- 그래프탐색
- EffectiveJava
- bruteforce
- 알고리즘
- dp
- BFS
- BOJ
- 이펙티브자바
- dfs
- docker-compose
- OS
- 토큰기반인증
- 순열
- 아이템59
- docker
- Container
- 아이템60
- 완전탐색
- 운영체제
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |