본문 바로가기

전체 글

(116)
예외 처리 시, try - catch - if 대신 optional 사용해보기 MVC 패턴에서 BIZ 파트를 작성하다보면 try - catch - if 문을 많이 사용하게 된다. DB에서 받아온 NULL 값을 처리하기 위해서 try - catch 이후 if (abc == null || abc == "") 같은 구문을 사용하는 것이다. 이것을 Optional로 처리하면 어떨까? try { data = dao.selectSomething(); Optional opt = Optional.ofNullable(data) .orElseThrow(() -> CompanyException(CompanyConstans.ALL, new Object["itHing"])); } catch (Exception e) { throw new CompanyException(CompanyConstans.ERROR..
회계 같은 정교한 계산이 필요한 경우에는 BigDecimal이 필수다 자바를 사용할 때, 소수점 계산을 해야하는 경우 BigDecimal을 사용해야 한다. Double, Float은 기본적으로 소수점 자리 계산이 정교하지 않기 때문이다. (메모리 용량의 한계) 계산 시, BigDecimal 타입으로 변환이 가능한지 확인하는 NumberUtils.isDigits(a) 함수는 꼭 사용하자. 검증이 완료된 값을 받아서 사칙연산이든 뭐든 숫자 계산을 한다. 계산 후, 반환타입이 int, Long이라면 타입변환하여 반환하면 된다.
이클립스 기본세팅 완벽하게 정리해보기 프로젝트를 다니면 기본 윈도우만 설치된 상태에서 세팅을 해야만 한다. 작성용 프로그램으로는 대표적으로 이클립스가 있으며 이클립스 기반으로 개조된 수많은 특화 이클립스(?)도 존재한다. 그 외에는 젯브레인스 사에서 제공하는 인텔리제이 기반 프로그램도 한 축을 담당한다. 안드로이드 스튜디오, 인텔리제이 울티메이트 등은 인텔리제이 기반이다. 두 프로그램은 세팅 방법은 다소 다르지만, 해야할 세팅 자체는 동일하다. 그렇다면 일단 SI라면 더 자주 만나볼 이클립스에서 세팅해야할 것을 명확하게 알아두면, 해당 세팅을 인텔리제이에서도 방법만 찾으면 쉽게 적용할 수 있을 것이다. 그런 의미에서 구체적으로 이클립스 세팅에는 어떤 프로세스가 존재하는지 알아보기로 했다. 0. 사용할 도구의 환경변수 설정 언어를 어떤 것을 ..