자바 프로젝트를 하다보면 공통 라이브러리 작성을 하여 개발 시간을 단축 시키고, 생산성을 높이고는 한다. 

하지만 때로는 그 코드가 발목을 잡을 때도 있다. 


  • 동일한 기능을 가진 함수가 중복 사용 시
  • 동일한 기능을 다른 개발자가 개발 하는 경우

위 경우만 성립 된다 하더라도, 요구사항 변경 시 넓은 부분을 각각 수정해 줘야 한다. 시간도 많이 들어가고, 불편 하지 않을까...

공통으로 많이 생각하는 부분은, 이미 누군가가 라이브러리로 만들어 놓지 않았을까 하는 생각이 든다.
예전에는 만들려고만 했지만, 요즘은 Search 를 먼저 하고, 없는 경우에 만들려고 한다. 분명 잘하는 개발자가 만들어서 배포가 되어있을 것이다. 

Web Application 개발 시에도, Spring Framework(http://spring.io/) 을 너무 당연하게 사용하고 있다. 

개발 시 자주 대면하는 유효성 체크, Collection, 날짜, 문자 등등 있다. 이런 걸 좀더 편하게 사용할 수 있게 Google 에서 배포되는 라이브러리가 있다.

Google Guava 라는 녀석 이다.


Maven Dependency
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>14.0.1</version>
</dependency>

위 링크를 참조하거나, Maven 을 사용한다면 pom.xml 에 추가 하자.


사용해 봤던 기능에 대한 예시이다.


유효성 체크에 대한 Sample

int value = 20;
        
Preconditions.checkArgument(value > 25, "error value: %d", value);


Multimap 대한 Sample

하나의 Key로 다수의 Value를 가질 수 있다.

ListMultimap<String, String> multimap = ArrayListMultimap.create();

multimap.put("baby", "a");
multimap.put("baby", "b");
multimap.put("baby", "c");
multimap.put("baby", "d");

System.out.println(multimap.toString());


위 예시와 다른 기능은 API 를 참고 하자.


참고 사이트: http://blog.outsider.ne.kr/710

+ Recent posts