츌처 : http://www.devmento.co.kr/devmain/news/news_detail.jsp?dataSeq=ABAAAA11356


구글 안드로이드 2.0이 모습을 드러냈습니다. 다음달 모토로라와 버라이즌이 출시되는 ‘드로이드’에 탑재될 것으로 알려진 안드로이드 2.0 의 소프트웨어 개발킷(SDK)이 공개되고 새로운 기능들이 발표되었습니다.

[변경된 애플리케이션 기능]

다중 계정 지원

multiple-accounts
구글의 안드로이드 폰은 처음 사용을 시작할 때 구글 계정을 하나 입력해서 사용합니다. 입력된 구글 계정을 통해 이메일과 전화번호부 그리고 일정 관리 데이터들을 클라우드 서버에 자동으로 저장하고 가져오기 위해서 입니다. 안드로이드 2.0에서는 여러 개의 구글 계정을 동시에 사용할 수 있을 뿐 아니라 MS Exchange 계정도 추가해서 사용할 수 있습니다.

또한 개발자는 Gmail이나 Exchange가 아닌 다른 클라우드 서버와 연동할 수 있도록 기능을 추가할 수 있게 되었습니다. 예를 들어 네이버, 다음 등의 이메일과 연락처관리 시스템도 쉽게 안드로이드폰과 연동해서 사용할 수 있게 됩니다.

통합된 이메일 박스

email-inbox

여러 개의 계정을 동시에 휴대폰에 넣어서 관리할 수 있는 만큼 이메일도 동시에 여러 출처로부터 받아서 보여줄 수 있게 바뀌었습니다. 그리고 Exchange도 기본으로 지원하게 되었습니다.

많은 사용자가 업무용, 개인용 등을 구분하여 여러 개의 이메일을 사용하고 있기 때문에 편리하게 구분해서 사용할 수 있습니다.

SMS, MMS 검색

이메일 사용하면서 과거에 온 메일 찾아보려고 검색 기능 많이 사용하시지요? 이제 SMS와 MMS도 이메일처럼 쉽게 검색을 할 수 있는 기능을 제공합니다.
sms
향상된 카메라 기능
기본 카메라 기능도 많이 향상되었습니다.
플래쉬 지원, 디지털 줌 지원, 화이트 밸런스,칼라 이펙트, 접사 기능 등을 지원합니다.
스크린 가상 키보드

향상된 레이아웃으로 쉽게 오타 교정이 가능하고 빠른 타이핑이 가능합니다.  멀티 터치 지원으로 빠르게 치면서 두 손가락이 겹쳐도 오타가 나지 않습니다.  내장 사전 기능이 향상되 자동으로 많이 사용하는 단어를 추가하고 전화번호부의 이름들을 추가합니다.

camera-modes

브라우저

쉽게 검색과 url 입력을 통한 이동이 가능할 수 있도록 상단 부분에 주소창이 들어갔습니다. 더블탭을 통한 더블탭을 통한 편리한 브라우징을 지원합니다. 썸네일을 표시하는 북마크 시스템이 들어갔고, HTML5를 지원합니다. 데이터베이스 API, 어플리케이션 캐쉬, 위치정보 제공과, 비디오 태그 등을 지원합니다.

browser

[새로 들어간 플랫폼 기술]

◆ 미디어 프레임워크 (비디오 재생, 녹화, 이미지 처리)

- 구조 개선으로 향상된 속도 제공

◆ 블루투스 지원

블루투스 2.1 을  안드로이드 SDK에서 지원합니다. 반드시 있어야 하나 안드로이드에 들어있지 않았던 API 블루투스가 마침내 들어갔습니다.
- Push Profile (OPP) , Phone Book Access Profile (PBAP)

◆ 계정 관리자

안드로이드는 여러 웹서비스들과 연동되는 애플리케이션을 가지고 있는데 아이디나 암호를 장치내에 안전하게 보관할 수 있는 방법이 없었습니다. 사용자를 매번 아이디와 패스워드를 입력하게  할수도 없어서 불안한 방식으로 저장할 수 밖에 없었는데 이제 좀더 안전한 방식으로 저장할 수 있게 되었습니다.

◆ 싱크 어댑터

이 계정과 연동해서 구글뿐 아니라 다른 웹서버에서도 데이터들을 싱크할 수 있는 통합 싱크 방법을 제공합니다. 내가 사용하는 서비스와 싱크할 수 있는 부분만 간단히 구현하면 나머지는 시스템에서 관리하게 됩니다.

◆ HOME, MENU, BACK, SEARCH의 버츄얼 키 지원

다양한 장치가 출현하고 다양한 방식으로 안드로이드가 사용되면서 홈,메뉴,백키 스크린 버튼을 안드로이드 프레임워크에서 지원해야 한다고 지적한 적이 있었는데 이제 공식 지원하는군요. 개발자들은 수정된 방식에 따라 키 처리 방식을 수정해야 합니다.

◆ 멀티터치 지원

최대 세개의 포인트를 추적할 수 있는 API를 제공합니다.

안드로이드는 현재 매우 빠르게 발전하고 있습니다. 처음 1.0 장치가 나왔을 때 기술적으로 부족하다고 생각했던 많은 부분들이 1년반 동안 상당부분 구현되었습니다. 이제 겨우 스마트폰을 위한 플랫폼이 완성되어 간다고 느껴집니다. 대만의 시장 조사 기관인 MIC에서는 2013년에 안드로이드 스마트폰 사용자가 3천2백만에 이를 것으로 예측했습니다. 놀라운 것은 안드로이드 운영체제를 사용한 장치 전체는 1억2천6백만대 정도가 될 것으로 예측한 것입니다. 더 많은 장치들로 빠르게 확산될 안드로이드가 2.5와 3.0에서는 어떤 기능들을 지원할지 기대가 됩니다.

출처 : http://www.bloter.net/archives/18060

2010년 전략 기술 톱 10은 무엇일까?

시장 조사 기관인 가트너 애널리스트들은 10월 18일부터 10월 22일까지 미국 올랜도 현지에서 열리고 있는 가트너 심포지엄/ITxpo에서 ‘2010년 대다수 기업들에게 전략적 분야로 작용할 톱10 기술 및 최신 동향’을 발표했다.

가트너가 정의하는 ‘전략기술’이란 향후 3년간 해당 산업에 중대한 영향을 미칠 잠재성을 지닌 기술을 의미한다. 여기에  ‘중대한 영향’을 초래하는 요인에는 IT 혹은 비즈니스에 혼란을 초래할 가능성, 대대적인 투자의 필요, 도입 지연으로 인한 위험 등이 해당된다.

전략기술은 기업의 장기적 계획이나 프로그램, 사업에 영향을 미치며, 그 전략성은 광범한 상용화 단계에 이른 데서 오는 기술 성숙도상의 이점이나 조기 도입이 가져다 주는 시장 공략상의 이점 등에 기인한다.

가트너 부회장이자 저명한 애널리스트인 데이빗 설리(Davd Cearley)는 “앞으로 2년동안 기업들은 이같은 톱10 기술들에 대한 집중적 타진과 의사 결정을 통해 그 내용을 전략적 계획수립 과정에 반영하도록 해야 할 것이다”라고 설명하면서, “그렇다고 이들 모두를 도입하거나 투자대상으로 삼을 필요는 없으며, 이 중 어느 기술들이 자사의 사업을 증진, 혁신시켜줄 것인지를 판명하는 과정이 요구된다”고 덧붙였다.

이번에 가트너가 발표한 2010년 톱10 전략기술은 다음과 같다.

클라우드 컴퓨팅

클라우드 컴퓨팅(Cloud Computing)은 공급자가 다양한 IT활용 기능을 소비자에게 제공할 수 있도록 특정 모델을 정의함으로써 이루어지는 컴퓨팅 방식이다. 클라우드 기반 서비스는 애플리케이션과 솔루션 개발에 다양한 방식으로 적용될 수 있다. 클라우드 자원을 이용한다고 해서 IT 솔루션 비용이 들지 않는 것은 아니지만, 일부 비용을 재정비, 절감해주는 효과가 있는 것은 사실이다. 또한, 클라우드 서비스 소비 기업들은 갈수록 클라우드 공급자로서 고객과 협력업체들에게 애플리케이션, 정보, 또는 사업 프로세스 서비스를 제공하는 역할을 수행하게 될 것이다.

고급 분석

최적화와 시뮬레이션이란 프로세스 구현 및 실행 전, 중, 후에 여러 가지 분석 툴과 모델을 이용하여 예측 가능한 결과와 시나리오 등을 검토함으로써 사업 프로세스와 의사결정 효과의 최대화를 도모하는 과정이다. 이는 사업 운영을 위한 의사결정 지원 과정 중 세번째 단계에 해당한다고 할 수 있다. 고객관계관리(CRM)나 전사적 자원관리(ERP) 등의 용도로 개발된 애플리케이션이 적재적시에 적절한 정보를 제공하게 됨에 따라, 고정된 규칙이나 미리 마련된 사업방침은 이제 보다 자세한 정보가 기반이 된 결정들로 대체되었다. 앞으로 더 발전된 단계는 단순히 정보를 제공하는 수준을 넘어, 시뮬레이션, 예측, 최적화 및 기타 분석 내용을 제공함으로써 각각의 사업 프로세스 활동이 이루어지는 바로 그 시간과 장소에서 더 유연한 의사결정을 가능하게 하는 것이다. 이 새로운 단계는 앞으로 어떤 일이 일어날 수 있는지, 그리고 일어날 것인지를 예측하는 미래지향적인 단계이다.

클라이언트 컴퓨팅

가상화로 인해 클라이언트 컴퓨팅 애플리케이션 및 성능을 새로운 방식으로 팩키지화 하는 것이 가능해졌다. 그 결과, 특정 PC 하드웨어 플랫폼, 나아가서는 운영체제 플랫폼 선택의 중요성이 갈수록 줄어들고 있는 추세다. 기업들은 능동적으로 전략적 클라이언트 컴퓨팅에 관한 향후 5년 내지 8년 계획을 세워 장치 표준, 소유권 및 지원 문제, 운영체제와 애플리케이션의 선택, 가동 및 업데이트, 관리·보안 계획 등에 대한 입장을 수립하여 다양화에 대비하여야 할 것이다.

그린 IT

IT는 여러 가지 그린 사업을 가능하게 해준다. 특히, 화이트칼라 직원들의 IT 사용은 기업의 그린 적격성을 대폭 증진해 주는 효과가 있다. 흔히 사용되는 그린 사업으로는 전자문서 사용, 출장 및 이동 감소, 원격근무 등을 들 수 있다. 또한, IT는 제품 운반에 드는 에너지 소비량 저감 등의 탄소 관리 활동에 유용한 분석 툴을 제공해 주기도 한다.

데이터센터의 재구성

과거 데이터 센터의 설계는 간단한 과정에 의해 이루어졌다. 즉, 보유 데이터량을 가늠하고 향후 15-20년간의 성장을 예측하여 이에 맞게 만들면 그만이었다. 새로 만들어진 데이터 센터는 흔히 기후조절된 텅빈 공간이 하얗게 펼쳐진 가운데 무정전 전원장치(UPS)로 전원이 공급되고 있는 대규모 시설이었다. 하지만, 실제로 데이터 센터 건축 및 증축에 포드(pod)형 건축방식을 도입하면 기업들은 비용을 절약할 수 있다. 데이터 센터의 수명 내에 9천 평방피트의 공간이 필요할 것으로 예상된다면, 일단 이에 맞추어 부지를 설계한 다음 향후 5년 내지 7년간 필요로 하는 만큼만 건설하면 된다. 이로써 전체 IT 지출의 상당 부분을 차지하는 운영비용을 절감할 수 있게 되며, 그 결과 생기는 여분의 자금을 여타 IT 사업 혹은 기업의 주요 사업영역에 적용하는 것이 가능해진다.

소셜 컴퓨팅

직장인들은 자신의 개인별, 그룹별 작업 산물을 위한 지원 환경과 ‘외부’ 정보에의 접근을 위한 지원 환경을 따로 두길 원하지 않는다. 기업들은 자사 내의 소셜 소프트웨어 및 미디어 사용과 함께 외부를 향한 기업지원 커뮤티니 나 공공 커뮤니티에 대한 참여 및 통합에도 초점을 맞추어야 한다. 커뮤니티 간의 화합에 있어 사회적 프로파일이 갖는 역할을 무시해서는 안된다.

보안–작업 감시

전통적 의미의 보안은 외부의 침입을 막기 위해 울타리를 치는 것에 불과하였으나 이제는 그 개념이 진화하여 작업활동을 감시하고 이전에는 간과했을 패턴을 식별해 내는 단계에 이르렀다. 정보 보안 전문가들은 인증된 사용자와 연계되고 복수의 네트워크와 시스템, 애플리케이션 등을 원천으로 하는 수많은 개별 이벤트들의 끊임 없는 흐름 속에서 유해 활동을 탐지해 내야 하는 어려운 입장에 있다. 동시에, 보안 담당부서들은 감사 요건에 부합하기 위하여 갈수록 더 많은 로그(log) 분석 및 보고에 대한 요구에 직면하고 있다. 다양한 보완적 (때때로는 중복된) 감시·분석 툴들의 사용은 기업들이 수상한 활동을 보다 효과적으로 탐지해 낼 수 있도록 해주며, 이는 실시간 알람이나 거래 중지 기능이 포함된 경우 더더욱 그러하다. 이 같은 툴들의 장단점을 파악하면 기업들은 회사를 보호하고 감사 요건을 충족하는 데에 이들을 보다 적절히 사용할 수 있을 것이다.

플래시 메모리

플래시 메모리는 신기술은 아니지만 이제 저장매체로서 새로운 경지에 올라서고 있는 기술이다. 반도체 메모리 소자인 플래시 메모리는USB 메모리 스틱이나 디지털 카메라용 메모리 카드의 형태로 우리에게 이미 익숙해져 있다. 플래시 메모리는 회전디스크보다 훨씬 빠른 속도를 자랑하지만 그만큼 가격이 비싸다는 단점이 있었다. 하지만, 이제 그 차이가 줄어들고 있다. 현재 가격 하락의 속도로 볼 때, 이 기술은 향후 수 년 안에 100퍼센트 이상의 연평균 복합성장률을 보이며 소비자 기기, 엔터테인먼트 장비 및 기타 임베디드 IT시스템 분야를 포함한 각종 IT 분야에서 전략적 기술이 될 것으로 예측된다. 더 나아가, 플래시 메모리는 서버와 클라이언트 컴퓨터 간의 저장장치 계층에 공간, 열, 성능, 내구성 등의 측면에서 핵심적인 이점을 주는 역할도 할 수 있을 것이다.

가용성을 위한 가상화

가상화는 과거에도 수차례 톱 전략기술 중 하나로 꼽혀 온 기술이다. 올해의 리스트에 가상화를 다시 포함시킨 이유는 가상머신의 동적 이전과 같이 장기적 의미를 갖는 새로운 요소들을 조명하기 위해서이다. 동적 이전, 즉 라이브 마이그레이션(live migration)은 하나의 서버에서 구동 중인 가상머신을 기존 운영체제나 소프트웨어의 중단·조정 없이 또다른 서버로 옮기는 것을 가능하게 하는 기술이다. 이러한 이동은 원래의 가상머신과 이동대상인 가상머신 간의 물리적 메모리 상태가 복제됨과 동시에, 하나의 명령이 원천 머신에서 완료된 후 다음 명령이 대상 머신에서 시작됨으로써 이루어진다.

만일 메모리 복제가 무한정 지속되는 가운데 명령 실행이 원천 가상머신에서 계속 이루어지고 있는 경우, 원천 머신이 다음 명령에 실패할 시 이어지는 명령은 대상 머신으로 옮겨 실행되게 된다. 또한, 대상 머신이 명령 실행에 실패할 경우에도 새로운 대상을 선택하는 것만으로 이전을 시작할 수 있다. 이같은 메커니즘은 매우 높은 가용성을 실현해 준다.

여기서 핵심적 가치제안은 여러 가지의 개별 메커니즘을 동일 메커니즘을 사용하는 하나의 ‘다이얼’로 대체시켜, 이를 기준값에서 무정지 운전에 이르기까지 모든 레벨로 세팅할 수 있도록 하여 필요에 따른 신속한 세팅 변경을 가능하게 하는 것이다. 이같은 조작이 가능해지면 장애조치 클러스터 소프트웨어가 장착된 값비싼 고신뢰성 하드웨어는 물론, 심지어는 무정지형 하드웨어 없이도 필요한 가용도를 충족할 수 있을 것이다. 이는 비용절감, 단순화, 유연성 향상 등에 결정적인 영향을 미친다.

모바일 애플리케이션

2010년에는 폭넓은 이동상거래를 지원하는 단말기를 소지한 인구가 12억에 달할 것으로 예상되며, 그 결과 모바일 부분과 인터넷 부문의 융합을 위한 윤택한 환경이 조성될 것이다. 애플사의 아이폰과 같은 플랫폼은 제한된 시장과 고유한 코드의 필요에도 불구하고 이미 수 천 가지의 애플리케이션을 지원하고 있다. 정식 PC와 소형 시스템에 유연하게 가동되는 새로운 운영체제 인터페이스와 프로세서 아키텍처의 설계가 필요할 지도 모르나, 만약 이 두 가지가 통일될 수 있다면 모바일 애플리케이션 시장의 판도에 크나큰 변화가 일어날 것은 확실한 사실이다.

위의 목록에 대하 가트너 부사장 칼 클론치(Carl Claunch)는 “기업들이 이 목록을 각각의 산업분야, 사업요건, 기술 도입양상 등에 비추어 조절할 것”을 권장하였다. 그는 “한 회사에 어떤 접근방식이 가장 적합할 것인가에 대한 결정은 특정 기술과 아무런 상관도 없을 수 있다”고 말하면서, “어떤 경우에는 이제까지 해온 속도로 해당 기술에 계속 투자하는 것이 최선일 수 있고, 또 어떤 경우에는 기술을 시험단계에 옮기거나 더욱 공세적으로 도입·적용하는 것이 최선일 수 있다”고 덧붙였다.


1. Java 개발 공식 사이트

 - http://www.java.net/
 - http://weblogs.java.net/

2. jGuru
 - http://www.jguru.com/

3.  java.blogs 커뮤니티
 - http://www.javablogs.com/

4. Java를 포함한 다양한 개발 지침서들 제공
 - http://www.developer.com/

5. IBM Java developerworks
 - http://www.ibm.com/developerworks/kr/java/

6. Java기반의 Open Source Software
 - http://java-source.net/

7. About.com:Java
 - http://java.about.com/

8. Java 개발자 Journal 웹사이트
 - http://java.sys-con.com/

9. Java Technology
 - http://java.sun.com/

10. Javaworld
 - http://www.javaworld.com/

11. DevX: Java Zone
 - http://www.devx.com/java

12. Javalobby
 - http://java.dzone.com/

13. Javajia
 - http://www.javajia.com/

14. Java Community Process
 - http://www.jcp.org/

15. Java examples (example source code) Organized by topic
 - http://www.java2s.com/

16. TheServerSide.com
http://www.theserverside.com/

17. JavaServiceNet
 - http://javaservice.net/

18. OKJsp
 - http://okjsp.pe.kr/

19. Sun Developer Network 공식 블로그
 - http://blog.sdnkorea.com/

20. JavaRanch
 - http://www.javaranch.com/

21. The Java Posse
 - http://javaposse.com/

22. javastudy
 - http://www.javastudy.co.kr/

23. Javajigi
 - http://javajigi.net

이 중에는 아는 곳도 있고, 모르는 곳도 있다. ^^

1. Improved Type Inference for Generic Instance Creation

 - 단순해진 Generics
이전 : 
Map<String, List<String>> anagrams = new HashMap<String, List<String>>();
JDK7 :
Map<String, List<String>> anagrams = new HashMap<>();
 - 레퍼런스 : http://mail.openjdk.java.net/pipermail/coin-dev/2009-February/000009.html

2. Language support for collections
 - Java 코드의 사이즈를 줄여주고, 가독성을 높여줌
이전 :
final List<Integer> piDigits =
Collections.unmodifiableList(Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 9 ));
JDK7 :
final List<Integer> piDigits = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 9];
 - 레퍼런스 : http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/001193.html

3. Automatic Resource Management
 - exception handling을 줄여줌
 - C++’s RAII과 C#’s using에 대응하기 위함
이전 :
static String readFirstLineFromFile(String path) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(path));
try {
return br.readLine();
} finally {
br.close();
}
}
JDK7 :
static String readFirstLineFromFile2(String path) throws IOException {
try (BufferedReader br = new BufferedReader(new FileReader(path)) {
return br.readLine();
}
}
 - 레퍼런스 : http://mail.openjdk.java.net/pipermail/coin-dev/2009-February/000011.html

4. Added binary integer literals
 - Integer Literal에 Binary Integer Literal이 추가됨
BinaryIntegerLiteral:
BinaryNumeral IntegerTypeSuffix_opt
BinaryNumeral:
0 b BinaryDigits
0 B BinaryDigits
BinaryDigits:
BinaryDigit
BinaryDigit BinaryDigits
BinaryDigit: one of
0 1
 - 레퍼런스 : http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000929.html

5. String literals in switch statements
 - 스위치문에 문자열 사용 가능
JDK7 :
String s = "first";
switch(s) {
case "first":
processFirst(s);
case "second":
case "third":
processThird(s);
break;
case "fourth":
processFourth(s);
default:
processDefault(s);
break;
}
 - 레퍼런스 : http://mail.openjdk.java.net/pipermail/coin-dev/2009-February/000001.html

6. Simplified Varargs Method Invocation
 - 컴파일 경고에서 메소드 선언 경고로 이동함
이전 :
static <T> List<T> asList(T... elements) { ... }
static List<Callable<String>> stringFactories() {
Callable<String> a, b, c;
...
*// Warning: **"uses unchecked or unsafe operations"*
return asList(a, b, c);
}
JDK7 :
*// Warning: **"enables unsafe generic array creation"*
static <T> List<T> asList(T... elements) { ... }

static List<Callable<String>> stringFactories() {
Callable<String> a, b, c;
...
return asList(a, b, c);
}
 - 레퍼런스 : http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000217.html

7. Enhanced null handling
 - Null-ignore invocation, Null-safe types
이전 :
String str = getStringMayBeNull();
str = (str == null ? "" : str);
JDK7 :
String str = getStringMayBeNull() ?: "";
 - 레퍼런스 : http://mail.openjdk.java.net/pipermail/coin-dev/2009-March/000217.html

8. Enum Comparisons
 - Enum에서 range(<, > 등) 연산 가능
이전 :
if(rank1.compareTo(rank2) < 0) ...
if(rank1.ordinal() < rank2.ordinal()) ...
JDK7 :
if(rank1 < rank2) ...
9. Chained Invocation
 - 체인형식으로 메소드 호출 가능
이전 :
DrinkBuilder margarita = new DrinkBuilder();
margarita.add("tequila");
margarita.add("orange liqueur");
margarita.add("lime juice");
margarita.withRocks();
margarita.withSalt();
Drink drink = margarita.drink();
JDK7 :
Drink margarita = new DrinkBuilder()
.add(“tequila”)
.add(“orange liqueur”)
.add(“lime juice”)
.withRocks()
.withSalt()
.drink();
10. Extension Methods
 - static import 확장
이전 :
List list = new ArrayList();
...
Collections.sort(list);
list.sort();
JDK7 :
import static java.util.Collections.sort;
List list = new ArrayList();
...
list.sort();
 - 레퍼런스 : http://www.javac.info/ExtensionMethods.html

11. Improved Exception Handling
 - 두개이상의 catch문 가능
 - catch문에서 rethrow가능
JDK7 : catch multiple exceptions
try {
return klass.newInstance();
} catch (InstantiationException | IllegalAccessException e) {
throw new AssertionError(e);
}
JDK7 : rethrow exceptions
try {
doable.doIt();
} catch (final Throwable ex) {
logger.log(ex);

// surrounding method can declare only checked thrown by doIt()
throw ex;
}
 - 레퍼런스 : http://mail.openjdk.java.net/pipermail/coin-dev/2009-February/000003.html

12. Language support for JSR 292
 - 다이나믹 타입 지원(java.dyn.Dynamic)
JDK7 :
Dynamic x = (any type of expression can go here);
Object y = x.foo("ABC").bar(42).baz();

페이지 이동 CTRL + E

VIEW 들의 이동. (Package Explorer, source, Outlines...) : CTRL+F7 

Perspective 같은 이동(?)  : CTRL+F8 

 

===== 실행 =====
1. Ctrl + F11 : 바로 전에 실행했던 클래스 실행

 

===== 소스 네비게이션 =====
1. Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때
2. Alt + ->, Alt + <- : 이후, 이전
3. Ctrl + o : 해당 소스의 메소드 리스트를 확인하려 할때
4. F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다.

===== 문자열 찾기 =====
1. Ctrl + k : 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다.
2. Ctrl + Shift + k : 역으로 찾고자 하는 문자열을 찾아감.
3. Ctrl + j : 입력하면서 찾을 수 있음.
4. Ctrl + Shift + j : 입력하면서 거꾸로 찾아갈 수 있음.
5. Ctrl + f : 기본적으로 찾기

 

===== 소스 편집 =====
1. Ctrl + Space : 입력 보조장치(Content Assistance) 강제 호출 => 입력하는 도중엔 언제라도 강제 호출 가능하다.
2. F2 : 컴파일 에러의 빨간줄에 커서를 갖져다가 이 키를 누르면 에러의 원인에 대한 힌트를 제공한다.
3. Ctrl + l : 원하는 소스 라인으로 이동
   로컬 히스토리 기능을 이용하면 이전에 편집했던 내용으로 변환이 가능하다.
4. Ctrl + Shift + Space : 메소드의 가로안에 커서를 놓고 이 키를 누르면 파라미터 타입 힌트를 볼 수 있다.

5. 한줄 삭제 CTRL + D

6. 파일 닫기 : CTRL+W

7. 들여쓰기 자동 수정. (3.0 NEW) : CTRL+I 

8. 블록 주석(/*..*/) 추가.(3.0 NEW): CTRL+SHIFT+/

  8.1 Ctrl + / 해주면 여러줄이 한꺼번에 주석처리됨. 주석 해제하려면 반대로 하면 됨.
9. 위(아래)줄과 바꾸기 : ALT+UP(DOWN)

10. 블록 선택하기.  : ALT+SHIFT+방향키

11. 메소드의 파라메터 목록 보기. : CTRL+SHIFT+SPACE
12. 자동으로 import 하기 : CTRL+SHIFT+O

13. 열린 파일 모두 닫기 : CTRL + SHIFT + F4

14. 블록 주석 제거 : CTRL+SHIFT+

15. 전체화면 토글 : CTRL+M

16. 한줄(블럭) 복사 : Ctrl + Alt + 위(아래)

17. 다음 annotation(에러, 워닝, 북마크 가능)으로 점프 : Ctrl + , or .

18. 퀵 픽스 : Ctrl + 1 
19. 메소드 정의부로 이동 : F3
20. 하이어라키 팦업 창 띄우기(인터페이스 구현 클래스간 이동시 편리) : Ctrl + T 

21. 메소드나 필드 이동하기 CTRL + O
22. ULTRAEDIT나 EDITPLUS 의 CTRL+TAB 과 같은 기능. : CTRL+F6 

 

===== 템플릿 사용 =====
1. sysout 입력한 후 Ctrl + Space 하면 System.out.println(); 으로 바뀐다.
2. try 입력한 후 Ctrl + Space 하면 try-catch 문이 완성된다.
3. for 입력한 후 Ctrl + Space 하면 여러가지 for 문을 완성할 수 있다.
4. 템플릿을 수정하거나 추가하려면 환경설정/자바/편집기/템플리트 에서 할 수 있다.

 

===== 메소드 쉽게 생성하기 =====
1. 클래스의 멤버를 일단 먼저 생성한다.
2. override 메소드를 구현하려면 : 소스->메소드대체/구현 에서 해당 메소드를 체크한다.
3. 기타 클래스의 멤버가 클래스의 오브젝트라면 : 소스->위임메소드 생성에서 메소드를 선택한다.

 

===== organize import =====
1. 자바파일을 여러개 선택한 후 소스 -> 가져오기 체계화 해주면 모두 적용된다. 

 

===== 소스 코드 형식 및 공통 주석 설정 =====
1. 환경설정 -> 자바 -> 코드 스타일 -> 코드 포멧터 -> 가져오기 -> 프로파일.xml 을 불러다가 쓰면 된다.
2. 또한 다수의 자바파일에 프로파일을 적용하려면 패키지 탐색기에서 패키지를 선택한 후 소스 -> 형식화를 선택하면 된다.
3. 환경설정 -> 자바 -> 코드 스타일 -> 코드 템플리트 -> 가져오기 -> 템플리트.xml 을 불러다가 쓰면 된다.

 

===== 에디터 변환 =====
1. 에디터가 여러 파일을 열어서 작업중일때 Ctrl + F6 키를 누르면 여러파일명이 나오고 F6키를 계속 누르면 아래로
2. Ctrl + Shift + F6 키를 누르면 위로 커서가 움직인다.
3. Ctrl + F7 : 뷰간 전환
4. Ctrl + F8 : 퍼스펙티브간 전환
5. F12 : 에디터로 포커스 위치

 

===== JAVA Doc 생성 =====
1. 프로젝트 -> Javadoc 생성

 

===== 내보내기 =====
해당 프로젝트를 zip 행태로 압축해서 보관할 수 있다.

 

===== 자바 찾아보기 perspective =====
해당 프로젝트를 보다 편리하게 한번 둘러보는데 좋다.

 

===== 스크랩북 =====
1. 스크랩북을 이용하면 자바파일을 만들어 테스트 해보지 않고도 간단하게 테스트 해 볼 수 있다.
2. 패키지 탐색기에서 신규 -> 기타 -> 자바 -> 자바 실행/디버그 -> 스크랩북 페이지 선택

 

===== 디버그 =====
1. F5(Step Into) : 현재의 명령문이 호출되는 메소드 속으로 진행하여, 그 첫 문장을 실행하기 전에 멈춘다.
   하지만 자바 라이브러리 클래스 수준까지 들어가므로 단계필터 사용을 체크(Shift+F5)를 하면 필터를 설정한 클래스에 대하서는 Step Over 기능과 같은 기능을 수행한다.
2. F6(Step Over) : 현재의 명령문을 실행하고 다음 명령문 직전에 다시 멈춘다.
3. F7(Step Return) : 현재의 메소드에서 리턴한 직후에 다시 멈춘다.
4. F8(Resume) : 멈추어 있던 쓰레드를 다시 계속 실행한다.
5. Display view(표시) : 창 -> 보기표시 -> 표시 선택하여 소스상에서 필요한 부분을 선택해서 실행시켜 볼 수 있다.  한 순간의 값만 필요할 때 볼 수 있는 반면에 아래놈은 계속적으로 값이 변하는 것을 확인 할 수 있다.
6. Expression view(표현식) : 복잡한 식 혹은 객체를 디버깅 하면서 계속 볼 수있는 창이다.
   마우스 오른버튼 -> 감시 표시식 추가 선택한 후 사용한다.
   환경설정 -> 자바 -> 디버그 -> 세부사항 포멧터 선택 후 보기 편한 식으로 편집하면

   Expression View 에서 결과를  실시간으로 확인 할 수 있다.
7. 디버깅 하면서 소스를 수정하고 프로그램을 다시 시작할 필요 없이 계속 디버깅을 진행 할 수 있다.
   다만 메소드를 추가하거나 필드를 추가하면 프로그램을 다시 시작해야 한다.
8. Drop to Frame(프레임에 놓기) 는 정말 모르겠다.
9. 디버깅 작업을 할때 해당 라이브러리의 소스코드를 첨부하지 않으면 진행상황을 볼 수 없을 경우
   해당 라이브러리에 소스코드를 첨부할 수 있다. 해당 프로젝트 -> 특성 -> Java 빌드경로 -> 라이브러리 -> 소스참조
   편집 버튼을 눌러서 첨부 한다.

 

===== 도움말 =====
"JDT 팁과 요령"이라고 치면 여러가지 흥미로운 팁이 나온다.

 

===== Refactoring =====
1. Pull Down : 수퍼클래스의 멤버나 메소드를 하위 클래스로 내리는 행위
2. Push Up : 하위 클래스의 멤버나 메소드를 상위 클래스로 올리는 행위

 

===== CVS =====
1. CVS 서버로는 윈도우에 CVSNT 최신버젼을 설치하고, [컴퓨터 관리]를 통해서 사용자를 추가한다.
 - CVSNT 를 설치할때 윈도우의 경우 Repositories 를 추가할때 접두어를 사용하지 말고 디렉토리 풀이름(d:/cvs) 이런식
   으로 등록해야 Eclipse 와 에러없이 동기화가 잘 된다.
2. Eclipse 에 CVS 저장소 perspective 에서 새로운 저장소를 등록한 후 HEAD 에서 해당 프로젝트를 체크아웃하면
   자바 perspective 에 등록되는 것을 확인할 수 있다.

 


이것 이외의 단축키 리스트 :  HELP->Help Contents->Java Development User Guide->Reference->JDT Basics

새로운 기능:  HELP->Help Contents->Java Development User Guide->What's new

유용한 기능 :  Tips and tricks

+ Recent posts