분류 전체보기1193 [디비 파기 | PMD] AvoidDecimalLiteralsInBigDecimalConstructor AvoidDecimalLiteralsInBigDecimalConstructor우선순위: 3 사람들은 보통 new BigDecimal(0.1)이 정확히 0.1과 같을 것이라고 생각한다. 하지만 실제로는0.1000000000000000055511151231257827021181583404541015625의 값을 갖는다.이것은 0.1이 정확히 double을 표현하는 수가 아니기 때문이다. 따라서 생성자를 통해 전달되는 숫자형의 값은 기대와는 다르게 0.1과 같지 않게 된다. 반면에 String형을 사용하는 생성자에서는 그 값이 정확하게 일치한다. new BigDecimal(“0.1”)은정확하게 0.1과 같다. 그러므로 일반적으로 문자열을 파라미터로 전달하는 생성자의 사용이 권장되는 것이다. 샘플 코드 1123.. 2016. 2. 28. [디비 파기 | PMD] ClassCastExceptionWithToArray ClassCastExceptionWithToArray특정 클래스가 담긴 Collection 객체로부터 Array를 얻어올 경우 Collection.toArray() 메소드의 파라미터로특정 클래스의 배열형을 넘겨주어야 한다. 그렇지 않으면 ClassCastException이 발생을 한다. 샘플 코드123456789Collection c = new ArrayList();Integer obj = new Integer(1);c.add(obj); // PMD 룰에 위배되며 이 문장을 실행하는 경우 ClassCastException 발생Integer[] a = (Integer [])c.toArray(); // PMD 룰에 위배되지 않으며 정상 처리된다.Integer[] b = (Integer [])c.toArray.. 2016. 2. 28. [디비 파기 | PMD] UnconditionalIfStatement, CollapsibleIfStatements UnconditionalIfStatement조건이 없는 if문은 피하라! 샘플코드12345678910111213public class Foo { public void close() { if (true) { // fixed conditional, not recommended // ... } } } 샘플코드와 같이 if문의 조건절에 true나 false를 직접 대입하는 문장을 은근히 자주보게 된다.논리 전개상 true가 들어가면 무조건 실행되는 문장이고 false가 들어가면 무조건 실행되지 않는 문장이니if문이 무슨 의미가 있는가? if문의 조건절에는 상황에 따라 달라질 수 있는 문장만을 사용하자. CollapsibleIfStatementsif문 합치기 샘플코드123456789101112131415// 원래.. 2016. 2. 28. [디비 파기 | PMD] ReturnFromFinallyBlock외 8건 ReturnFromFinallyBlock Avoid returning from a finally block, this can discard exceptions.finally 블록에서 리턴하는 것을 자제하라. exception 처리가 무시될 수 있다. 샘플 코드123456789101112131415161718192021public class Bar { public String foo() { try { throw new Exception( "My Exception" ); } catch (Exception e) { throw e; } finally { return "A. O. K."; // 이 곳에서 리턴 하는 경우 catch문이 무시되고 정상인 것처럼 리턴 } // 처리된다. } } 다들 아시다시피 fina.. 2016. 2. 28. 내 생산성을 돌리도~ 최근 '소프트 스킬 (평범한 개발자의 비범한 인생 전략 71가지)'라는 책을 읽었다. 저자 존 손메즈 공역|역자 이미령, 김태곤|길벗 |2015.11.27원제원제 Soft SkillsISBN 9791186659885 사실 다 읽지는 않았다. 책 본문에 학습 방법을 다루면서 굳이 책을 처음부터 끝까지 다 읽을 필요가 없다더라...^^;;그보다는 사실 뒷 부분에 나오는 재테크나 건강관리는 사실 '필요성'만 인식하면 되었지 굳이 개발자의 입으로들을 것 까지야 없다는 생각도 들었고 또 아무리 저자가 직접 경험한 현실적인 내용이라고 하지만 미국과 한국의현실이 다르고 내가 그 방면으로는 영 재주가 없다는 생각에...물론 재테크를 완전히 버린 것은 아니다.단지 호시탐탐 기회를 노릴 뿐... 암튼 본론.바로 전 포스팅.. 2016. 2. 28. [Spring 3.1.1] datasource 2개 사용하기. Spirng 3.1.1 + MyBatis + jQuery로 웹 사이트를 구현하고 있다. 그런데 현재 시스템에서 서로 다른 2개의 DB를 사용을 하고 있는 상태이다. 물론 한쪽 DB로 접속해서 소유권을 명시적으로 기술해서 타 DB의 테이블에 대한 작업을 진행할 수 있지만 일단 datasource 2개를 별도로 만들기로 했다. 다만 Spring 설정은 pure java 설정으로 진행했다. 방법을 찾기 위해 구글과 네이버를 통해 검색을 해보았지만 springboot에 대해서는 pure 자바 설정에 대한 자료가 많은 반면 Spring에 대해서는 아직까지도 대부분의 설정이 xml 파일을 이용해서 이루어지고 있었다. 게다가 springboot는 JPA + Hibernate밖에 보이질 않아서 MyBatis 설정은 찾.. 2016. 2. 28. 프로젝트만 애자일이냐? 사는 것도 애자일이다! 기껏 글을 다 써놓고 보니 너~무 잘썼다.마치 이 글에 적힌 내용을 잘 실천해서 상위 1%에 진입한 인생 Winner인 양글을 너무 잘썼다...-.- 하지만 오해 마시길...나는 그냥 평범한 40대 직장인이고 가장일 뿐이다.겨우 25평대 아파트 한 채(그 절반은 빚...ㅠ.ㅠ)에 고만고만한 월급 받아서아내와 어린 두 딸 겨우 먹여 살리고 나이드신 부모님께는 용돈도 제대로 못드리는...참 중산층 중에서도 조금 하위권이 아닐까 싶은... 이 글은 단지 내 쓸데없는 잡생각으로부터 시작되었고 자아도취해서 쓰다보니'어 해볼만 하겠네!'라는 생각이 들어 올해 한 번 시도해보고자 하는 방법이다.다만 세상을 살아가는 어떤 놈 하나가 이런 생각을 갖고 있더라 정도로봐주시면 좋겠다.(굳이 그렇게 보는 것조차 시간낭비라고 .. 2016. 1. 9. [jenkins] jenkins에서 멀티 Xcode 사용 설정하기 기존에 개인 업무용 iMac에 jenkins와 SVN 서버를 구축하고 사용을 하고 있었다.그런데 개발용으로 사용하는 iMac에 서버를 구축해놓으니 리소스가 너무 후달려 아무래도제대로 사용하기가 어려웠다. 마침 이번에 철수하는 인력이 사용하던 iMac을 그대로 사용할 수 있게 되어 서버로 사용하기로 했다.그래서 개발용 iMac에 있던 각종 서버들을 서버용 iMac으로 옮기기로 했다.(사실 iOS만 개발할 것 같으면 OSX Server를 사용했을텐데 안드로이드도 함께 개발하다보니 역시 jenkins가 가장 나은 선택인 것같다.) 안드로이드 설정이야 별 어려움 없이 진행했다. 추가로 N’SIQ Collector 플러그인까지 설치하고,(추후 PMD까지 설치 예정) 문제는 iOS였다...개발 PC에 구축만 해놓고.. 2016. 1. 6. 2016년 목표 수립!!! 2015년 목표 수행 평가에 이어 바로 포스팅하는 2016년 목표 수립...뭔가 매우 급하게 진행되는 것이 아닌가 하는 우려가...ㅠ.ㅠ 암튼 병맛같은 갑자의 2016년 병신년도 얼마 남지 않았으니 일찌감치 목표를 세워보았다. 1. 첫번째는 역시 책읽기 - 인문학 서적 10권 이상 읽기 - 올해는 인문학 위주로 독서 생활을 해볼까 한다. 인문학 중에서도 주로 철학과 사상쪽을 많이 볼 생각이고 틈나는대로 고전 문학도 좀 읽어볼 생각. 최근 리디북스에서 이벤트를 많이해서 장전해놓은 총알 (사놓은 ebook들이 충분하니 이 책들만 읽어도 충분할 것 같다. 2. 기술 숙련도 제고 - 품질 - 뭐 부족한 지식이 한 둘이겠냐만은 일단 관리와 개발의 적절한 중간 포인트로 "품질"을 선정했다. 핵심은 단지 품질을 높이.. 2015. 12. 25. 이전 1 ··· 60 61 62 63 64 65 66 ··· 133 다음 반응형