Web App Hot Key
Seam의 프레젠테이션을 Faceslet으로 구성할 경우 XHTML에
<ui:debug hotkey="d"/> 테그 라이브러리를 추가하면
해당 페이지에서 ctrl+shift+d 를 입력하면 Pop-up 창에 debug 화면이 오픈된다.
이 창은 URL로는 http://localhost:8080/context_name/debug.seam URL을 통해서도 접근가능하다.
전체 애플리케이션 컨텍스트 별로 저장된 객체의 현재 상태를 점검할 수 있다는 것에서 매우 효과적인 debug hot key 기능이라고 생각된다.
해당 페이지에 <ui:debug hotkey="d"/> 테그를 사용할 경우 다음과 같은 자바 스크립트가 추가된다.
| function faceletsDebug(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open( URL, '" + id + "', 'toolbar=0,scrollbars=1, location=0,statusbar=0, menubar=0,resizable=1, width=800,height=600, left = 240,top = 212');"); }; var faceletsOrigKeyup = document.onkeyup; document.onkeyup = function(e) { if (window.event) e = window.event; if (String.fromCharCode(e.keyCode) == 'D' & e.shiftKey & e.ctrlKey) faceletsDebug('/seam-booking/main.seam?facelets.ui.DebugOutput=1226327262361'); else if (faceletsOrigKeyup) faceletsOrigKeyup(e); }; |
이렇게 추가되는 자스크립트는 다른 프레임웍이나 웹 페이지 개발시 참조할 만한 재미있는 스크립트라고 생각된다.
(의외로 응용범위가 많을 거 같다....)
참고로 debug.seam을 호출할때 출력되는 화면은 다음과 같다.
빙하기 강림....
NetBeans IDE 6.0.1 설치 Screen Shot
넷빈즈 6.0.1 버전의 설치 스크린 샷입니다.
IBM이 Eclipse를 주도한다면 썬은 NetBeans를 주도한다고 할 수 있죠.
Jave EE 스펙 지원면에서 본다면 넷빈즈는 Eclipse에 우위에 있다고 할수도 있습니다.
최근에서 자바 진영 외에도 RoR이나 C/C++, PHP 등 범용 IDE로서 광범위하게 활용되고 있습니다.
설치 파일은 http://www.netbeans.org에서 받을수 있습니다. 전체 파일 사이즈는 195 메가 정도 입니다.
다음 이미지는 넷빈즈 사이트으 다운로드 화면 이미지 입니다.
넷빈즈 다운로드 사이트 이미지 캡처
NetBeans 실행: 시작->모든 프로그램 -> NetBeans -> NetBeans IDE 6.0.1
Surprise: SpringFramework의 변화....SpringSource가 MS에 합변된다니...
원문: http://www.infoq.com/news/2008/04/microsoft-springsource-purchase
로드존슨 인터뷰
골자는 스프링프레임웍은 MS로 귀속되고 MS의 핵심 아키텍처와 ASP .net의 근간으로 이용된다는 이야기다.
상당히 구체적으로 이야기를 하고 있다.
Java 진영이 어찌 될지 상당히 고민이 된다. 그런데 뭔가 찜찜한 이기분은?????
4월 1일 올라온 포스팅이란거...
--;
만우절 낚시에 걸린것일까??????
ㅋㅋㅋ
여하간 자바 진영에서 로드 존슨과 스프링이 미치는 영향력이 얼마만큼 큰지 다시한번 생각하게 한다.
JDeveloper에서 콘솔 사용자 입력 프로그램 실행
콘솔에서 사용자 입력을 받는 자바 프로그램을 IDE로 개발할 때 난감해 지게 된다. 사용자 입력을 어떻게 받아야 하는지....
main 메소드의 args이외에 프로그램 실행중 사용자 입력을 받는 프로그램을 실행하고 테스트하는 것이 어려운 것이 사실이다. 예를 들어서 다음과 같은 코드를 개발툴에서 실행해 보자
import java.io.IOException;
import java.io.InputStreamReader;
public class UserInputTest {
public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader( System.in );
BufferedReader stdin = new BufferedReader( isr );
System.out.print( "이름 입력: " );
String input = stdin.readLine(); //사용자 입력을 받는 코드
System.out.println( "입력된 이름은 "+ input +" 입니다." );
}
}
위와 같은 사용자 입력을 받는 클래스를 IDE에서 실행할 경우 실행중 사용자 입력을 받을수 없는 경우가 발생한다. JDeveloper는 실행중 사용자 입력과 관련된 별도의 옵션을 갖고 있다. JDeveloper에서 이 클래스를 기본 설정으로 실행하면 결과 이미지는 다음과 같다.
사용자 입력을 받는 부분에서 실행이 멈추게 된다. JDeveloper에서 사용자 입력을 받기 위해서 다음과 같은 실행 설정이 필요하다.
JDeveloper의 메뉴중 Run -> Choose Active Run Configuration ->Manage Run Configurations 실행
"Tool Settings" 메뉴중 Allow Program Input의 기본 설정은 "off"이다. 이 설정을 체크하면 사용자 입력이 가능해 진다.
다음은 "Allow Program Input"을 설정한 후 위에서 테스트한 클래스를 재실행한 결과이다.
위와 같이 사용자 입력을 요청하는 부분에서 input 상자가 하단에 나타나게 된다. 다음은 입력란에 "okcode"를 입력한 결과이다.
현재 테스트한 환경은 JDeveloper 11g 버전이지만 사용자 입력을 받는 실행 설정은 JDeveloper 10g 에서도 지원하는 기능이다.
JDeveloper의 Search Blog 기능
지난 주말 아는 지인들과 만나 커뮤니테이션 인터페이스의 변화에 대해서 오랜만에 진지한 대화를 나눈적이 있다. 골자는 이렇다.
* 현재 커뮤니티의 인터페이스는 주위의 변화에 적응을 실패했다.
* 사람들은 더이상 커뮤니티에 정보를 집적하거나 커뮤니티에서 정보를 찾지 않는다.
* 대다수 정보는 블러그에 저장된다.
* 개별화된 정보는 높은 데이터 중복성을 갖는다.
* 사용자들은 더이상 불필요한 커뮤니케이션을 하려하지 않는다.
* 집단 지성은 정보를 정확히 유지하기도 하지만 정보를 외곡하기도 한다.
* 과거 게시판은 댓글과 덧글 기능을 통해서 정보에 대한 비판이나 정확성들을 판단할 수 있었다.
* 또한 사용자들간에 지속적인 커뮤니케이션을 유도하는 수단이었다.
* 블러그에도 트랙백이나 댓글 덧글 기능이 있지만 이 기능을 사용하는 블러거는 제한적이다.
* 스크랩 수준의 정보 복제현상이 심각하다.
* 정보의 신뢰성을 구분하기 힘들다.
이런 상황에서 정보의 정확성, 믿을만한 정보를 어떻게 구분하고 이러한 정보와 사용자들의 커뮤니케이션을 커뮤니티가 수용하려면 인터페이스를 어떻게 개선해야 하는가? 라는 답안나오는 대화로 밤을 지새었다.
오늘 JDeveloper 11g를 살펴보다 보니 Extension으로 "Search Blog"라는 아기자기한 기능 정보을 찾게 되었다. JDeveloper에서 유명 블러그의 정보를 검색해주는 기능이다.
아마도 다음과 같은 가정으로 출발하는 기능인 듯 싶다.
* 필드에서 필요한 핵심 정보는 Blog에 존재한다.
* 블러그가 포함하는 정보는 주인장의 신뢰도와 일치한다..
* 신뢰도 높은 블러거를 특정 집단이 관리하고 그 블로그로 부터 정보 검색을 지원할 경우 정보의 정확도와 정보 검색의 효율성을 높일 수 있다.
* 이 기능을 개발툴에 포함할 경우 개발자에게 효율적인 인터페이스가 될 것이다.
JDeveloper11g 의 Search Blog 기능은 Extension Plugin으로 설치 파일은 다음 URL에서 다운받을 수 있다.
http://static7.userland.com/oracle/gems/shay/shay.org.ext.HowToSearch.1.0.zip
shay.org.ext.HowToSearch.1.0.zip 파일을 다운 받은 후 JDeveloper의 메뉴 패스중 Help->Check for updates.. 메뉴를 이용하여 설치하면 된다. 다음 이미지는 Check for updates.. 메뉴의 설치파일 등록 화면이다.
설치 파일을 등록하면 설치 후 JDeveloper를 restart 해야 한다. Jdeveloper를 재 실행하후 Help->Search Blogs 혹은 Alt+F 로 블로그 검생 기능을 사용할 수 있다. 다음은 Help->Search Blogs 혹은 Alt+F로 Search Blogs 기능을 실행한 화면 이미지이다. popup 창에 검색한 키워드를 입력하면 된다.
다음은 Enter Search Terms에 table 검색키워드를 입력하고 검색한 결과이다. 각 링크를 클릭하면 해당 블러그가 브라우저로 오픈된다.
결혼 신고 합니다.
더 큰 이미지를 원하신 다면 여기를 콕 찍어 주세요
서울에서 오시는 분들을 위하여 3월 15일 당일 서울-대전 왕복 전용 버스를 운영할 예정입니다. 전세 버스를 이용하실 경우 3월 12일 까지 사전에 연락을 주시면 당일 탑승자 확인 등에 도움이 될 것 같습니다. 다음은 제 연락처입니다. (okcode@gmail.com)
* 버스 탑승 위치: 양재역 1번 출구
* 버스 탑승 일정: 2008.3.15(토) 09:00
* 버스 운해 구간: (서울 양재 – 대전 겔러리아 웨딩홀)
l
JDeveloper 10.1.x 의 Spring2.0 플러그인
JDeveloper에 SpringFramework 2.0을 지원하는 모듈을 추가할 수 있습니다. 올 말에 정식 출시되는 JDeveloper 11g에는 SpringFramework2.0 이 기본 장착될 것이고 오라클 퓨전 미들웨어 아키텍처에서 중요한 레이어를 담당하게 될 예정입니다. 현재 JDeveloper 10.1.3.x 버전에서는 다음 슬라이드와 같은 절차를 통해서 SpringFramework2.0 지원 모듈을 설치할 수 있습니다.
- JDeveloper의 SpringFramework2.0 지원 모듈설치
위 슬라이드와 같은 절차를 통해서 설치된 SpringFramework2.0 모듈로 부터 설치된 라이브러리의 리스트는 다음과 같은 절차를 통해서 확인 가능합니다.
- JDeveloper의 SpringFramework2.0 모듈 라이브러리 확인
- beans.xml 만들기
SpringFramework의 빈 등록 xml 인 beans.xml은 New Gallery -> Business Tier -> Spring2.0.1 -> Spring Bean Configuration을 통해서 생성할 수 있습니다.
SpringFramework의 bean.xml 생성 갤러리 (메뉴패스: File -> New)
- SpringFramework관련 xml의 편집 지원 기능
JDeveloper의 SpringFramework 지원 플러그인은 Code insight(=code hint), Structure Window, Property Inspector를 통해서 xml 편집을 지원 합니다. 각 코드 지원 이미지는 다음과 같습니다.
- Code insight
- Code insight는 스프링 빈을 등록하는 xml 의 코드 힌트 기능으로 상황에 따라 적절한 코드를 제시하여 개발 생산성을 높이는 방법으로 활용될수 있다.
- Structure Window
- Structure Window를 통하여 마법사 기반으로 xml을 편잡할 수 있습니다.
- Property Inspector
- Property Inspector를 통하여 xml에 등록된 빈의 속성을 편집하는 것을 지원합니다.
- Components Palette
- Components Palette를 통하여 xml 에 Drag & Drop 방식의 코딩을 지원합니다.
JDeveloper는 SpringFramework 플러그인을 추가함으로서 Eclipse 스프링 플러그인에 못지 않는 효과적인 개발환경을 제공합니다. 다만 아직까지는 Spring에 등록된 빈의 관계를 그래픽으로 표현하는 기능은 빠져 있지만 향후 추가될 것으로 예상됩니다.

이올린에 북마크하기
이올린에 추천하기


