Microsoft PowerPoint - Introduction to Google Guava.pptx

Similar documents
07 자바의 다양한 클래스.key

PowerPoint Presentation

PowerPoint Presentation

C# Programming Guide - Types

Microsoft PowerPoint - Lect07.pptx

슬라이드 1

1

쉽게 풀어쓴 C 프로그래밍

02 C h a p t e r Java

JVM 메모리구조

gnu-lee-oop-kor-lec11-1-chap15

PowerPoint Presentation

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

제 11 회공개 SW 개발자대회결과보고서 참가팀개요 구분 세부내용 팀명 TSTL 총인원 ( 1 명 ) 팀구성성명소속부서 / 학과직위 / 학년 팀장남정호아이지넷개발실대리급 부문 학생 일반 참가 지원 분야 학습용 SW 모바일 SW 클라우드 SW 빅데이터 SW 사물인터넷 S

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Microsoft PowerPoint - 2강

untitled

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

슬라이드 1

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - lec7_package [호환 모드]

Microsoft PowerPoint - lec12 [호환 모드]

ThisJava ..

chap 5: Trees

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Spring Boot/JDBC JdbcTemplate/CRUD 예제

쉽게

[ 정보 ] 과학고 R&E 결과보고서 Monte Carlo Method 를이용한 고교배정시뮬레이션 연구기간 : ~ 연구책임자 : 강대욱 ( 전남대전자컴퓨터공학부 ) 지도교사 : 최미경 ( 전남과학고정보 컴퓨터과 ) 참여학생 : 박진명 ( 전

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Java ~ Java program: main() class class» public static void main(string args[])» First.java (main class ) /* The first simple program */ public class

09-interface.key

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

DocsPin_Korean.pages

초보자를 위한 자바 2 21일 완성 - 최신개정판

PowerPoint 프레젠테이션

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공

ÀüÀÚÇö¹Ì°æ-Áß±Þ

Contents Contents 2 1 Abstract 3 2 Infer Checkers Eradicate Infer....

PowerPoint 프레젠테이션

Microsoft PowerPoint - lec2.ppt

유니티 변수-함수.key

PowerPoint Presentation

Microsoft Word - PJ_scjp_9_0_1-lang.doc

PowerPoint Presentation

Ä¡¿ì³»ÁöÃÖÁ¾

PowerPoint 프레젠테이션

제11장 프로세스와 쓰레드

1 01 [ ] [ ] plus 002

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

17장 클래스와 메소드

Runtime Data Areas 엑셈컨설팅본부 /APM 팀임대호 Runtime Data Area 구조 Runtime Data Area 는 JVM 이프로그램을수행하기위해할당받는메모리영역이라고할수있다. 실제 WAS 성능문제에직면했을때, 대부분의문제점은 Runtime Da

Design Issues

교육자료

JUNIT 실습및발표

PowerPoint 프레젠테이션

PowerPoint Presentation

JAVA PROGRAMMING 실습 09. 예외처리

A Tour of Java IV

rmi_박준용_final.PDF

PowerPoint 프레젠테이션

어댑터뷰

PowerPoint 프레젠테이션

Chap7.PDF

슬라이드 1

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

PowerPoint Presentation

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

PowerPoint Presentation

JAVA PROGRAMMING 실습 05. 객체의 활용

PowerPoint Presentation

초보자를 위한 C# 21일 완성

int total = 0; for( int i=1; i<=5; i++ ) { for( int j=1; j<=i; i++ ) { total ++; System.out.println( total ); 대구분 : 객체와 Class 소구분 : 객체생성과사용 / Class 선언

6주차.key

Microsoft Word - java18-1-final-answer.doc

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

PowerPoint 프레젠테이션

A Tour of Java III

Microsoft PowerPoint - lec06_08.ppt [호환 모드]

제8장 자바 GUI 프로그래밍 II

PowerPoint 프레젠테이션

강의10

A Tour of Java V

객체 Key Point 객체는그객체의특성을나타내는상태 (state) 와그객체의행동 (behaviors) 으로이루어진다. 좌표상의점 n 상태 : x 좌표값, y 좌표값 n 행동 : 점의이동 주사위 n 상태 : 표면값 n 행동 : 주사위굴리기 은행계좌 n 상태 : 예금주,

01-OOPConcepts(2).PDF

강의 개요

T100MD+

PowerPoint Presentation

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå

12-file.key

Microsoft PowerPoint 장.객체의이용.ppt

Transcription:

2012 년자바카페 OPEN 세미나 주제 : Introduction to Google Guava 2012. 6. 16 김흥래 hrkim3468@gmail.com Java Developer s Forum JavaCafe community

구아바???? Java Developer s Forum JavaCafe Community

소개 Google Core Library (JavaSE 5.0 +) 구글자바프로젝트에서기본적으로사용 Google Guava로명칭을통일 Andorid 개발지원 GWT 개발지원 Apache license 2.0

지겹다. 또라이브러리야??? 식상해.

Apache Commons Lang 컴포넌트 Apache Commons Collections 컴포넌트 Google Guava 유용한유틸리티

수많은프로젝트에 비슷한기능은없을까?

비슷한기능을 재사용할수는없을까?

Apache Commons Library 프로그램의공통적인기능을재사용하기위한목적으로시작 Google Library 와더불어전세계적으로가장많이사용되고있는 Library 현재 Commons Library 는 40 여개의컴포넌트들로구성 각각의컴포넌트를필요에따라서선택적으로사용하는것이가능

대표적인코드저장소인 Google Code(http://code.google.com/) 와소스포지 (http://sourceforge.net/) 에공개된약 160,000 개의오픈소스프로젝트중 Commons 라이브러리가사용된프로젝트를분석하여시각적으로표현한것

JavaSE Standard lang 을위한유틸리티

java.lang.*

java.lang.* Packages Basic Class Object, Process, Runtime, System, Thread, Class, ClassLoader Wrapping Class Boolean, Byte, Character, Double, Float, Integer, Long String Class String, StringBuffer, StringBuilder

특징 Base Function ObjectUtils, ClassUtils, ArrayUtils, BooleanUtils 문자열조작 StringUtils, StringEscapeUtils, RandomStringUtils, Tokenizer, WordUtils Character 핸들링 CharSetUtils, CharSet, CharRange, CharUtils JVM Interaction SystemUtils, CharEncoding Serialization SerializationUtils, SerializationException

JavaSE Standard Collection 을위한유틸리티

java.util.*

java.util.* Packages Collections Class ArrayList, Array, HashMap, HashSet, LinkedList, Vector, Stack Utility Class Timer, Random, Properties, Locale, Date, Calendar

특징 Collection 유틸리티 Ordered Maps Bidirectional Maps Queues Buffers Bags

Apache Commons 짱좋아요! 그냥이거쓰면안되나요?

Lang 컴포넌트 Collection 컴포넌트 JavaSE 5 (-) 지원 JavaSE 5 (-) 지원 JavaSE 5 (+) 지원 JavaSE 5 (+) 미지원 각각다른패키지로제공됨 현재개발중단됨

Java 5 특징 Generics 개념도입 Enum 타입추가 언어차원의 Annotation 지원 파라미터가변인자 (Varargs : Variable Argument List)

2004?????? 출처 http://en.wikipedia.org/wiki/java_version_history

Release Note Last Published 2011 년 11 월 09 일 (Version:3.1) javase 5.0 기준으로재개발하여배포 Commons Lang 2.x JDK 1.2 ~ JDK 1.4 까지지원 org.apache.commons.lang.* Commons Lang 3.x JDK 1.5 이상지원 org.apache.commons.lang3.* 개발시사용하는 JDK 기준으로선택적으로사용 필요에의하여혼용하여사용가능 ( 권장하지않음 )

Release Note Last Published 2008 년 4 월 15 일 (Version:3.2.1) 현재 Commons Collections 개발중단 Commons Collections 라이브러리 JDK 1.2 ~ JDK 1.4 까지지원 org.apache.commons.collection.* 개발시사용하는 JDK 버전이 1.5 이상일경우사용을권장하지않음

소개 Google Core Library (JavaSE 5.0 +) 구글자바프로젝트에서기본적으로사용 Google Guava로명칭을통일 Andorid 개발지원 GWT 개발지원 Apache license 2.0

Apache Commons Lang 컴포넌트 Apache Commons Collections 컴포넌트 Google Guava 유용한유틸리티

Release Note Last Published 2012 년 4 월 30 일 (Version:Release12) Apache Commons Collections 라이브러리가 Generic 를지원하지않아대체하려개발시작 2009 년 JDK 1.5 를기반으로프로젝트시작 Release11 까지는 JDK 1.5 기반 Release12 부터 JDK 1.6 기반 버전업을하면서이름변경 Google Collections Library => Google Guava

제공되는기능 Collections Concurrency Primitives Reflection Comparison I/O Hashing networking Strings Math In-memory caching Publish/Subscribe Various basic data

제공되는기능 Collections Concurrency Primitives Reflection Comparison I/O Hashing networking JDK-plus!!! Strings Math In-memory caching Publish/Subscribe Various basic data

Basic 유틸리티 (1/4) Object 클래스유틸리티 java.lang.object 클래스 Wrapping 유틸리티 com.google.common.base.objects equals() : equals 메소드 Override 지원 hashcode() : hashcode 메소드 Override 지원 tostring() : tostring 메소드 Override 지원

Basic 유틸리티 (2/4) Null 체크유틸리티 문자열의 null 문제를다양하게체크 com.google.common.base.strings emptytonull(string) : 파라미터로넘어온값이 Empty 일경우 Null 반환 isnullorempty(string) : 파라미터로넘어온값이 Null 이나 Empty 인지검사 nulltoempty(string) : 파라미터로넘어온값이 Null 일경우 Empty 반환

Basic 유틸리티 (3/4) Precondition 유틸리티 파라미터로전달되는값의유효성검사 com.google.common.base.preconditions checkargument(boolean) : 인자값을미리테스트하여정상인지검사 checknotnull(t) : 인자값을미리테스트하여 Null 인지검사 checkstate(boolean) : 인자값을미리테스트하여상태값을검사

Basic 유틸리티 (4/4) Ordering 유틸리티 객체정렬을위한다양한기능제공 com.google.common.collect.ordering reverse() : 값을반대로정렬 nullsfirst() : null이존재할경우처음으로정렬 nullslast() : null이존재할경우마지막으로정렬

Strings 유틸리티 (1/2) Joiner 유틸리티 다양한형태의 iterator 를하나로합친다. com.google.common.base.joiner join(object[] parts) : 파라미터로넘어온배열을하나의문자열로합친다. on(string separator) : 합칠문자열사이의 Separator 를지정 skipnulls() : 합칠문자열중 Null 값제거

Strings 유틸리티 (2/2) Splitter 유틸리티 문자열을다양한방식으로분리한다. com.google.common.base.splitter split(charsequence sequnce) : 파라미터로넘어온문자열을분리한다. on(string separator) : 분리할기분 Separator 를지정 omitemptystrings() : 분리된결과물에서 Empty 제거

Collection 유틸리티

Immutable Collections

새롭게추가된 Collection Multiset com.google.common.collect.multiset 두개이상의키를핸들링할수있는 Set 형태의 Collection HashMultiset, TreeMultiset, LinkedHashMultiset, ImmutableMultiset Multimap com.google.common.collect.multimap 두개이상의키를핸들링할수있는 Map 형태의 Collection HashMultimap, TreeMultimap, LinkedHashMultimap, ImmutableListMultimap BiMap com.google.common.collect.bimap 일반적인 Map 과달리 key 와 value 양방향으로검색이가능한 Collection HashBiMap, ImmutableBiMap, EnumBiMap, EnumHashBiMap

Guava 라이브러리를써야하는이유 Apache Commons Collection 의경우개발된지 10 여년이되었다. Apache Commons Collection 의경우 JavaSE 5 의혜택이없다. (generics, varags, enums, autoboxing) Google Guava 의경우좀더현대적이다. (Generic 지원, JDK7 지원 ) 아파치라이센스 2.0 Java Collection Framework 와완벽한호환