블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
JavaScript (59)
WEB (49)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
01-28 10:39
 

달력

« » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
 

최근에 올라온 글

최근에 달린 댓글

※ F3 or Ctrl + Click - Open Declaration
해당 필드나 메소드의 선언으로 이동합니다.

사용자 삽입 이미지

선언으로 이동하고 싶은 부분에 커서를 두거나 블록 처리를 하고 F3 키 누르거나 Ctrl + Click 을 합니다.

사용자 삽입 이미지

선언 부분으로 이동되었습니다.


※ Ctrl + Shift + G - References in Workspace
워크 스페이스에서 해당 자원을 찾습니다.
사용자 삽입 이미지

워크스페이스 내에서 해당 자원을 사용하는 곳을 찾고 싶으면 Ctrl + Shift + G 를 이용합니다.

사용자 삽입 이미지

Search Tab 에 해당 자원을 사용하는 곳을 찾아줍니다.




※ F4 - Open Type Hierarchy
Class hierarchy 를 보여줍니다.
사용자 삽입 이미지

interface 의 구현체를 확인하고 싶을 경우 F4 키를 통해서 Hierarchy 를 확인합니다.

사용자 삽입 이미지

MailServiceImpl 이 MailService 를 구현했네요. 옆에 있는 메소드를 선택합니다.

사용자 삽입 이미지

MailServiceImpl 의 getMailList 구현체로 이동되었습니다.




※ Ctrl + Alt + H - Open Call Hierarchy
호출 구조를 보여줍니다.
사용자 삽입 이미지

호출 구조를 확인하고 싶으시면 Ctrl + Alt + H 를 이용합니다.

사용자 삽입 이미지

단순하게 호출 구조만 확인하는 거라 Ctrl + Shift + G 보다는 빠른 것 같습니다. 해당 자원을 클릭하면 소스로 이동합니다.




※ Ctrl + T - Quick Type Hierarchy
빠르게 구조를 확인하는데 사용합니다.
사용자 삽입 이미지

빠르게 구조를 확인하는 방법도 있습니다. Ctrl + T 를 이용합니다.

사용자 삽입 이미지

Tab 으로 표시되지 않고 Quick dialog 에 표시됩니다.



Posted by 자수씨
, |
part. 1 에서 이어집니다.

※ Alt + Shift + S - Show source Quick Menu
Java source editor 에서 다음 단축 키를 누르면 다음과 같은 메뉴가 나옵니다.
사용자 삽입 이미지


Override/Implement Methods (Ctrl + Shift + S, V)
  - 부모클래스나 인터페이스의 메소드의 오버라이드나 구현할 수 있는 형태를 만들어 줍니다.
사용자 삽입 이미지

Java Editor 에서 Ctrl + Shift + S 를 누른 후 V 를 누르면 부모 클래스의 메소드들이 나옵니다. 오버로드할 메소드를 체크~

사용자 삽입 이미지

OK 버튼을 누르면 다음과 같이 메소드들이 추가가 됩니다.



Generate Getters and Setters (Ctrl + Shift + S, R)
  - 많이 알고 계시는 기능입니다. vo의 getter, setter 만들어 줄 때 사용합니다.
사용자 삽입 이미지

프로퍼티들을 추가합니다.

사용자 삽입 이미지

Ctrl + Shift + S 를 누른 후 R 키를 누르면 다음과 같은 창이 뜹니다.

사용자 삽입 이미지

추가할 메소드들을 체크하고 OK 버튼을 누르면...

사용자 삽입 이미지

다음과 같이 getter 와 setter 가 추가되었습니다.



나머지 것들은 귀찮기도 하고... 자주 사용하지 않는 거라 말로만 떼웁니다.


Generate hashCode() and equals() (Ctrl + Shift + S, H)
  - hashCode() 가 머에썼던 거더라;;; 흠 여튼 두개의 메소드를 추가해줍니다.

Generate Constructor using Fields... (Ctrl + Shift + S, O)
  - 클래스의 field 들을 이용하여 생성자를 추가합니다.

Generate Constructor from Superclass...  (Ctrl + Shift + S, C)
  - 부모클래스의 생성자 유형을 추가합니다.

Externalize Strings... (Ctrl + Shift + S, E)
  - 모든 String literal 들을 properties 파일로 추출합니다. (맞나?? ㅎㅎㅎ)


※ Alt + Shift + S - Show source Quick Menu
사용자 삽입 이미지

파라미터 이름을 막 짜놓은 메소드가 있습니다.

사용자 삽입 이미지

aa 라는 것이 맘에 들지 않으므로 커서를 위치시킨 후에 Alt + Shift + R 키를 누릅니다.

사용자 삽입 이미지

새로운 String을 타이핑 하면 동시에 변경이 됩니다. Eclipse Europa 부터 이런형식으로 바뀌였습니다.



※ Ctrl + Shift + X / Y - To Upper/Lower Case
사용자 삽입 이미지

대소문자가 맞지 않는 코드가 있습니다. 꼭 String은 아니여도 됩니다. 코드 전체에 적용됩니다.

사용자 삽입 이미지

대문자로 바꾸고 싶은 부분을 블록 처리합니다.

사용자 삽입 이미지

Ctrl + Shift + X 를 누르면 대문자로 변경이 됩니다.

사용자 삽입 이미지

소문자로 바꾸고 싶은 영역을 블록 지정합니다.

사용자 삽입 이미지

Ctrl + Shift + Y 를 누르면 블록 부분의 코드들이 소문자로 변경됩니다.



일단은 여기까지 제가 주로 쓰는 단축키들이였습니다.

더 좋은 단축키가 있으면 추천 해주세요~~

Posted by 자수씨
, |
지금 gwt-ext 의 Grid 를 rocket-gwt 의 IoC 를 이용하여 구성중에 있습니다.

ColumnConfig 배열을 bean 으로 선언하고 그리드 타입에 따라서 컬럼 구성이

바뀌는 것을 xml 에서 관리하도록 구성하였습니다.

자세한 사항은 추후 블로그에서 소개합니다~

Posted by 자수씨
, |
제가 즐겨쓰는 단축키 정리 올라갑니다.

※ Ctrl + 1 - Quick Fix
구현되지 않은 메소드 추가하기
사용자 삽입 이미지

인터페이스에 새로운 메소드를 추가하였습니다.

사용자 삽입 이미지

구현 클래스에 오류가 감지되겠죠~

사용자 삽입 이미지

커서를 클래스 이름에 놓은 후 Ctrl + 1 을 ㅎㅎ..

사용자 삽입 이미지

새로운 메소드가 추가되었습니다.










메소드 바로 추가하기
사용자 삽입 이미지

소스를 짜다가 새로운 메소드를 만들고 싶다면 일단 만듭니다.

사용자 삽입 이미지

오류가 나는 부분에 Ctrl+1을 누르면 새로운 메소드를 만들꺼냐고 묻네요...

사용자 삽입 이미지

엔터를 치면 아래쪽에 새로운 메소드 뼈대를 만들어 줍니다. 후훗









※ Alt + Shift + S - Show source Quick Menu
Java source editor 에서 다음 단축 키를 누르면 다음과 같은 메뉴가 나옵니다.
사용자 삽입 이미지

Toggle Comment (Ctrl + 7, Ctrl + Shift + C)
  - '//' 주석 처리를 toggle. 그냥 Ctrl + 7 이나 Ctrl + Shift + C 를 눌러줘도 됩니다.
사용자 삽입 이미지

주석처리하고 싶은 부분에 커서나 블록처리를 하고 Ctrl + Shift + C 를 누르면



사용자 삽입 이미지

위와 같이 '//' 주석 처리가 됩니다.



Add/Remove Block Comment (Ctrl + Shift + / or \)
 - '/* ~ */' 주석처리를 추가 제거합니다. 주석처리하고 싶은 영역을 블록처리 한 후에 해당
 단축키나 메뉴를 클릭합니다.
사용자 삽입 이미지

필요 없는 소스를 주석처리하려 합니다.

사용자 삽입 이미지

해당 코드를 블럭처리합니다.

사용자 삽입 이미지

Ctrl + Shift + / 키로 주석처리, Ctrl + Shift + \ 키로 해제처리



Generate Element Comment (Alt + Shift + J)
 - 커서위치의 상위 블록에 주석을 달아줍니다. 메소드에 주석 달 때 용이하겠죠?
사용자 삽입 이미지

메소드에 주석이 없습니다. 주석 없다고 혼나기 전에...

사용자 삽입 이미지

Alt + Shift + J 키를 눌러서 주석을 냉큼 달아줍니다. 설명은 알아서~


Format (Ctrl + Shift + F)
  - 소스를 붙여넣기를 하거나 작성시에 코드의 형태가 이상해졌다면 깔끔하게 정렬을 해줍니다.
사용자 삽입 이미지

탭 대신에 띄어쓰기 2개를 사용하는 소스가 있습니다.

사용자 삽입 이미지

Format 메뉴를 이용하면 이쁘게 만들어줍니다. Format 형식은 속성에서 변경가능합니다.


Organize Imports(Ctrl + Shift + O)
  - 제가 가장 많이 쓰는 단축키 중 하나입니다. import 를 정리해줍니다.
사용자 삽입 이미지

새로운 클래스들이 추가되었습니다.

사용자 삽입 이미지

Ctrl + Shift + O 를 누르면 클래스들을 알아서 import 시켜줍니다.

사용자 삽입 이미지

이번엔 주석처리를 해보았습니다.

사용자 삽입 이미지

사용하지 않는 클래스들에 warning 표시가 나는 군요.

사용자 삽입 이미지

Ctrl + Shift + O 를 이용하여 사용하지 않는 import 를 정리합니다.


나머지 메뉴들을 Part. 2 에서 계속됩니다.

Posted by 자수씨
, |
이전 포스트를 참고하셔서 JSON Serialization 을 먼저 확인하세요~~ http://vicki.tistory.com/36

Listing 1. JSON을 넘겨주는 async callback


위와 같이 callback 클래스를 만든 후에 다음과 같이 사용합니다.

Listing 2. callback 클래스 사용법


Listing 2 에서 MailList.class를 생성자의 파라미터로 넘기지 않는 이유는 GWT 컴파일러가

Class 클래스로 파라미터를 넘기면 host-mode 에서는 잘 되다가 컴파일할 때 오류를 뱉어냅니다.

오류 내는 부분 찾아서 수정할까 하다가 한도 끝도 없을 것 같아서 다음과 같이 샤샤샥~~


이제 JSONObject 가 있으니 gwt-ext 에서도 grid 데이터를 넣을 수 있습니다.

혹시 다른 좋은 방법이 있으시면 쫌;;;;

Posted by 자수씨
, |
출처: http://www.west-wind.com/WebLog/posts/107136.aspx

막되먹은 번역 시작됩니다.

JSONP is an unofficial protocol that allows making cross domain calls by generating script tags in the current document and expecting a result back to calls a specified callback handler.

JSONP는 비공식적인 프로토콜로 크로스 도메인 호출을 허용합니다. 다른 도큐먼트에서 생성된 스크립트 태그와 콜백 핸들러를 호출하여 결과를 받을 수 있는 것을 포함한 것들을 통해서...

(첫 문장 부터 저질....)


The client JavaScript code to make a JSONP call looks like this:

JSONP 클라이언트 코드는 다음과 같습니다.


Listing 1. JSONP client JavaScript code

#1: jsonp 호출을 하는 함수의 시그니쳐를 정의합니다. 호출할 url과 callback 함수 이름
   질의값과 같은 파라미터들... 근데 왜 callback은 사용하지도 않으면서 정의했을까요;;;;

#3~7: url에 '?' 가 있으면, 즉, 파라미터가 포함된 url의 경우에는 '&'를 붙여서 파라미터를 처리하고,
   없을 경우 '?'로 파라미터의 시작을 표시합니다. url에 jsonp 파라미터로 보낼 name 값을 append...

#8~9: query 파라미터가 존재할 경우 인코딩 encodeURIComponent 메소드를 이용하여 인코딩
   처리를 한 후에 url에 append...

#10: 브라우저 캐싱을 막기위해 현재 시간을 뒤에 붙여줍니다.

#12~15: script 객체를 생성하고 url을 설정한 후 document에 append 시켜주면 해당 url의 스크립트가
   실행됩니다.


The idea is that this code adds a <script> tag dynamically to the page and when this code loads it causes the JavaScript that the server loads to be executed. Because it uses the DOM and a <script> tag this gets around the cross site scripting limitations of the XHR object.

자바스크립트가 실행 된 후에 동적으로 추가된 <script> 태그는 추가된 후에 로드가 되는 것을 이용한 것이다.
DOM과 XHR 객체의 크로스 사이트 스크립팅 제한으로 <script> 태그를 사용한다.

(-_-0;;;;)


The server is expected to return JSON data, but with a slight twist: It has to prepend the callback function name, which is passed as part of the url. The syntax for a JSONP Url is simply the URL with a jsonp= query string parameter that defines the the callback function:

http://someserver.com/mypage.aspx?jsonp=callbackFunction

If the server wants to return a result like:

{ "x": 10, "y": 15}

the result will be turned into (assuming the callback specified is callbackFunction):

callbackFunction( { "x": 10, "y": 15} )

서버는 예상된 JSON 데이터를 리턴합니다. 그러나 콜백함수 명이 url의 일부일 경우에는 약간 꼬일 수 있습니다. JSONP Url의 문법은 간단한 콜백 함수로 정의된 'jsonp=' 문자열 쿼리 파라미터의 URL사용합니다. 위의 사이트로 호출을 할 경우 결과는 다음과 같습니다.

{ "x": 10, "y": 15 }

결과는 callbackFunction으로 정의된 콜백을 통해서 반환될 것입니다.

callbackFunction( { "x": 10, "y": 15 } }


If you're implementing this in an ASPX.NET page it might look like this:

ASPX.NET 페이지는 다음과 같이 구현될 것입니다만....
저는 Java를 하기 때문에 서블릿으로 구현하겠습니다.


Listing 2. Server source



The client will now have script tag that gets added to the document and the script executes on load and in effect calls the callbackFunction with the parameter:

클라이언트에 스크립트 태그가 도큐먼트에 추가되어지고 로드가 되어 실행이 되고
callbackFunction에 파라미터를 포함하여 호출되어집니다.


Listing 3. client callback function


And there's a cross domain callback.

크로스 도메인 콜백입니다.


Note that this callback requires that the server KNOWS it's receiving a JSONP request because the server has to prepend the callback handler name supplied so the code can fire in the client.

서버는 클라이언트 핸들러 이름이 클라이언트 코드에서 실행할 수 있어야 하기 때문에
서버가 JSONP 요청을 받는 것을 알고 있어야 합니다.



Yeah it seems like an Exploit
...

I'm not sold on the idea, because it is basically exploiting what seems to be a security hole in the browser and one that apparently won't be plugged as many services like Adsense rely on it. But all this talk about preventing cross site scripting are pretty much moot by allowing this sort of hack to work. But then again this implementation doesn't do anything that couldn't be done before or changes any of the security issues - it just takes advantage of this functionality.

Still - it feel... wrong <g>...

It is what it is and it seems this approach is getting more popular in being able to retrieve JSON content from various public sites. It certainly is something that should be useful for ASP.NET developers who internally need to make client callbacks to their own internal sites which seems a frequent request.
 

저질 해석에 힘들었습니다... 마지막들은 영어 실력 좀 쌓고~ ㅋㅋㅋ

Posted by 자수씨
, |
PROTOTYPE & SCRIPTACULOUS 인 액션 상세보기
데이브 크레인 지음 | 위키북스 펴냄
일반적인 Ajax 작업은 쉬워야만 하고 이러한 간편함의 중심에 Prototype과 Scriptaculous가 있다. Prototype은 자바스크립트를 안전하고 일관성 있는 방법으로 확장하는 헬퍼 메소드와 오브젝트들을 제공한다. 그리고 이러한 Prototype의 기반 위에 개발된 Scriptaculous는 풍부한 UI 개발을 위해 미리 개발된 편리한 위젯들을 제공한다. 실무에 적용할수 있는 다양한 예제와 함께 쉽게 강력한 UI를 개발해 보자..

회사 아저씨가 GWT 인 액션 감수하시면서 위키북스에서 받으신 책

원래 내 주특기는 자바 스크립트였는데.... 크윽...

Yahoo-UI 와 ext-js 가 멋진 UI로 기를 죽이는 시점에

prototype 으로 자바스크립트의 기초를 다진다면~~ script.aculo.us 는 쩜 약한 면이 있지만

스크립트의 기초는 prototype!!!!   근데 Yahoo-UI는 왜 event 방식이 틀린게냐 ㅠ_ㅠ...

Yahoo-UI 책도 나와달라!!! 아님 내가 한권 써볼까나 ㅋㅋㅋㅋ

Posted by 자수씨
, |
이클립스 RCP(CD1장포함) 상세보기
JEFF MCAFFER 지음 | 에이콘출판 펴냄
이클립스 RCP 입문서. 이 책은 이클립스를 사용해서 빠르고 효율적으로 크로스플랫폼 데스크탑 애플리케이션을 개발하는 방법을 설명한다. 데스크탑 애플리케이션 개발 플랫폼으로서 이클립스의 강력함과 완성된 RCP 애플리케이션을 실제로 개발하는 과정을 단계별로 살펴본다. 또한 동적으로 확장가능한 조립식 시스템을 개발하는 방법과 서드파티 코드 라이브러리 사용, 여러 환경에 대한 애플리케이션 배포 등 다양한 기법을

RCP와 GEF에 관심은 많지만 주변에 아는 사람도 없고 해서 책에 의존해야 하는 실정에...

이클립스 실전 플러그인 개발과 함께 도우미가 되어줄 책....

근데 난 언제 RCP 할 시간이 있을까...

지겨운 GWT...

Posted by 자수씨
, |
RESTFUL 웹 서비스 : 웹 서비스의 진화 (예약판매) 상세보기
Leonard Richardson, Sam Ruby 지음 | 정보문화사 펴냄
지금껏 우리는 다른 사람들이 사용할 수 있는 웹 사이트를 구축하였다. 하지만 기계가 사용할 수 있는 웹 사이트를 만들 수 있는가? World Wide Web은 단순히 거대한 유통 애플리케이션이 아니다. WWW는 분산 컴퓨팅을 위한 플랫폼이다. 웹 서비스, 매쉬업, Ajax 애플리케이션은 모두 웹을 플랫폼으로 사용한다. 하지만 오늘날의 웹 서비스 기술은 웹을 성공적으로 만드는 간결함을 잃어버렸다. 웹은 웹처럼 작동하지 않기 때문에

연구소내 연구과제... 웹서비수... 책들이 많이 없어서 눈에 띄길래 구입한 책~

다행히도 Restlet 이라는 것은 하나 건진 책.... 15페이지를 위해 이정도 투자는 하핫~

자바나 자바스크립트가 아니면 눈에 잘 안들어 온다니깐요~~~

Posted by 자수씨
, |
SWT/JFace, iBatis, Spring 등등 해보고 싶은 것들을 다 써가며 만든 로컬편지함 (백업용)...

Java Web Start로 배포하면 잘 되겠지라는 마음으로 배포하였으나....

정말 몇몇 컴퓨터에서 코어 덤프가 떨어지고 jnlp 파일 어거지로 수정해서

겨우겨우 어플리케이션 띄워서 백업시켜드리고...

넷미팅 2개 켜놓고 한손에는 전화 받으면서 인스톨 버전을 만드는 내 모습...

이건...

gwt-ext 로 속도 개선도 해야하는데...

흑... 다다음 주 부터는 사내 자바스크립트 강의도 해야하고....

미쵸~ >_<

이제 122일 남았다아~~~

Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백