본문 바로가기 메뉴 바로가기

덕's IT Story

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

덕's IT Story

검색하기 폼
  • 분류 전체보기 (198)
    • IT 이야기 (31)
      • 그 외 (15)
      • 대외활동 소식 (9)
      • 컴퓨터 지식 (7)
    • 클라우드&오픈스택 (8)
      • 클라우드 (2)
      • 오픈스택 (6)
    • 프로그래밍 (86)
      • C/C++ (1)
      • 자료구조&알고리즘 (11)
      • 다음API (6)
      • OpenCV (2)
      • RabbitMQ (6)
      • Git&GitHub (3)
      • Web (2)
      • 자바스크립트 (12)
      • Spring (7)
      • Java (36)
    • Ruby&Rails (21)
      • Rails (16)
      • Gem (5)
    • OS (20)
      • 리눅스&우분투 (12)
      • CentOS (5)
      • 안드로이드 (3)
    • 해킹&보안 (5)
      • 무선해킹 (2)
      • 시스템해킹 (3)
  • 방명록

Java (33)
[이펙티브 자바] 규칙49. 객체화된 기본 자료형 대신 기본 자료형을 이용하라

이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 모든 기본 자료형에는 대응되는 참조 자료형이 있는데, 이를 객체화된 기본 자료형(boxed primitive type) 이라 부른다. int, double, boolean의 객체화된 기본 자료형은 각각 Integer, Double, Boolean이다.릴리스 1.5부터 자동 객체화(autoboxing)와 지동 비객체화(auto-unboxing)가 언어의 일부가 되었다. 이 기능들은 기본 자료형과 그 객체 표현형 간의 차이를 희미하게 만든다.그런데 그 둘 사이에는 실질적인 차이가 있으므로, 둘 가운데 무엇을 사용하고 있는지를 아는 것이 중요하며, 어떤 ..

프로그래밍/Java 2018. 1. 6. 17:25
[이펙티브 자바] 규칙48. 정확한 답이 필요하다면 float와 double은 피하라

이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 float와 double은 기본적으로 과학 또는 엔지니어링 관련 계산에 쓰일 목적으로 설계된 자료형이다. 이 자료형들은 이진 부동 소수점 연산(binary floating-point arithmetic) 을 수행하는데, 이것은 넓은 범위의 값(magnitude)에 대해 정확도가 높은 근사치를 제공할 수 있도록 세심하게 설계된 연산이다. 하지만 정확한 결과를 제공하지는 않기 때문에 정확한 결과가 필요한 곳에는 사용하면 안 된다. float와 double은 특히 돈과 관계된 계산에는 적합하지 않다. 돈 계산을 할 때는 BigDecimal, int 또는 ..

프로그래밍/Java 2018. 1. 6. 16:21
[이펙티브 자바] 규칙47. 어떤 라이브러리가 있는지 파악하고, 적절히 활용하라

이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 표준 라이브러리(standard library)를 사용하면 그 라이브러리를 개발한 전문가의 지식뿐만 아니라 여러분보다 먼저 그 라이브러리를 사용한 사람들의 경험을 활용할 수 있다. 실제로 하려는 일과 큰 관련성도 없는 문제에 대한 해결 방법을 임의로 구현하느라 시간을 낭비하지 않아도 된다는 것이다.또한 별다른 노력을 하지 않아도 그 성능이 점차로 개선되며, 시간이 흐르면 새로운 기능들도 추가된다. 아울러 표준 라이브러리를 사용하면 주류(mainstream) 개발자들과 같은 코드를 만들게 된다. 그런 코드는 가독성이 높고, 유지보수가 쉬우며, 다른 개..

프로그래밍/Java 2018. 1. 6. 16:07
[이펙티브 자바] 규칙46. for 문보다는 for-each 문을 사용하라

이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 릴리스 1.5 전에는 컬렉션을 순회할 때 아래의 숙어를 따르는 것이 바람직했다. // 컬렉션 순회를 위해 한동안 많이 썼던 숙어 for (Iterator i = c.iterator(); i.hasNext();) { doSomething((Element) i.next()); } // 배열을 순회할 때 한동안 많이 사용한 숙어 for (int i = 0; i < a.length; i++) { doSomething(a[i]); } 릴리스 1.5부터 도입된 for-each 문은 성가신 코드를 제거하고 반복자나 첨자 변수를 완전히 제거해서 오류 가능성을 없앤..

프로그래밍/Java 2018. 1. 6. 15:41
[이펙티브 자바] 규칙45. 지역 변수의 유효범위를 최소화하라

이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 지역 변수의 유효범위를 최소화하면 가독성(readability)과 유지보수성(maintainability)이 좋아지고, 오류 발생 가능성도 줄어든다.지역 변수의 유효범위를 최소화하는 가장 강력한 기법은, 처음으로 사용하는 곳에서 선언하는 것이다. 사용하기 전에 선언하면 프로그램의 의도를 알고자 소스 코드를 읽는 사람만 혼란스럽게 할 뿐이다.거의 모든 지역 변수 선언에는 초기값(initializer)이 포함되어야 한다. 변수를 적절히 초기화하기에 충분한 정보가 없다면, 그때까지는 선언을 미뤄야 한다.지역 변수의 유효범위를 최소화하는 숙어를 하나 살펴보..

프로그래밍/Java 2018. 1. 6. 15:00
[이펙티브 자바] 규칙27. 가능하면 제네릭 메서드로 만들 것

이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 제네릭화(genericfication)로 혜택을 보는 것은 클래스뿐만 아니다. 메서드도 혜택을 본다. static 유틸리티 메서드는 특히 제네릭화하기 좋은 후보다. // 무인자 자료형 사용 - 권할 수 없는 방법(규칙23) public static Set union(Set s1, Set s2) { Set result = new HashSet(s1); result.addAll(s2); return result; } 형인자를 선언하는 형인자 목록(type parameter list)은 메서드의 수정자(modifier)와 반환값 자료형 사이에 둔다. //..

프로그래밍/Java 2017. 11. 28. 17:48
[이펙티브 자바] 규칙26. 가능하면 제네릭 자료형으로 만들 것

이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 제네릭 자료형을 직접 만드는 것은 까다로운데, 배워둘 만한 가치는 있다. // Object를 사용한 컬렉션 - 제네릭을 적용할 중요 후보 public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public stack() { elements = new Object[DEFAULT_INITIAL_CAPACITY]; } public void push(Object e) { ensureCapa..

프로그래밍/Java 2017. 11. 28. 16:29
[이펙티브 자바] 규칙25. 배열 대신 리스트를 써라

이펙티브 자바 Effective Java 2/E국내도서저자 : 조슈아 블로크(Joshua Bloch) / 이병준역출판 : 인사이트 2014.09.01상세보기 배열은 제네릭 자료형과 두 가지 중요한 차이점을 갖고 있다. 1. 배열은 공변 자료형(convariant)인 반면, 제네릭은 불변 자료형(invariant)이다 Sub가 Super의 하위 자료형(subtype)이면 Sub[]도 Super[]의 하위 자료형이다. // 실행 중에 문제를 일으킴 Object[] objectArray = new Long[1]; objectArray[0] = "I don't fit in" // ArrayStoreException 예외 발생 Type1과 Type2가 있을 때, List은 List의 상위 자료형이나 하위 자료형이..

프로그래밍/Java 2017. 11. 28. 16:04
이전 1 2 3 4 5 다음
이전 다음
최근에 올라온 글
  • [책 리뷰] 자바 최적화 (Optimizing J⋯
  • Spring Webflux + JDBC(혹은 bl⋯
  • [macOS Mojave] Evernote (혹은⋯
  • spring-boot-starter-webflux⋯
TAG
  • ubuntu
  • html
  • codecademy
  • Message Queue
  • 다음지도 API
  • 자료구조
  • gem
  • 컴퓨터
  • 티스토리 초대장
  • ruby
  • CSS
  • IceHouse
  • 우분투
  • 클라우드 컴퓨팅
  • Java
  • OpenStack
  • 오픈스택
  • 다음지도
  • 프로그래밍
  • Rails
  • 알고리즘
  • install
  • javascript
  • rabbitmq
  • 리눅스
  • 다음
  • IT
  • 웹프로그래밍
  • 이펙티브 자바
  • ruby on rails
more
글 보관함
  • 2019/06 (1)
  • 2018/12 (2)
  • 2018/11 (2)
  • 2018/10 (1)
  • 2018/07 (2)
Total
695,667
Today
68
Yesterday
235

Copyright ⓒ 2018 kkd927. All rights reserved.

티스토리툴바