달력

12022  이전 다음

  •  
  •  
  •  
  •  
  •  
  •  
  • 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
  •  
  •  
  •  
  •  
  •  
지난 밤 긴 시간을 http://neturo.dacom.net 을 통해서 원격지원을 했었습니다. JSP를 처음 하시는 분을 도와드리면서 irc로 채팅을 했는데, 몇 가지 건질 것이 있었습니다.

채팅 로그가 길지만 JSP 입문하시는 분들께 도움이 되리라 생각되어서 okjsp와 블로그에 같이 올립니다.

Posted by kenu허광남

댓글을 달아 주세요

eclipse console과 source

java 2007. 9. 2. 22:53

이클립스 콘솔뷰에도 좋은 기능이 있습니다. 바로 resource연결입니다. 스택트레이스 같이 예외 메시지가 뿌려질 때 java파일일 경우 에러난 위치를 바로 보여줍니다.
모든 경우 적용 되는 것은 아닙니다만 똑똑해진 Open Resouce와 연결되면 편리하게 디버깅이 가능합니다.

WTP를 통해서 톰캣을 시작하면 콘솔뷰에 시스템 로그가 남습니다. 또 볼 수 있구요.
제 사이트를 돌려 보는 중에 메시지가 눈에 띄었습니다.

console log

console log


try catch에서 잡은 로그 메시지인 듯합니다. MemoServlet:... 로그가 보이는군요. 엇, 링크까지.
클릭해봤습니다.
Source not found

Source not found


Source not found for MemoServlet:java.lang.NumberformatException 라고 나옵니다.
보통 이쯤 되면 ctrl+shift+R을 눌러서 파일을 찾겠지만, 잠깐!
MemoServlet 글자를 마우스로 드래그해서 선택해보시죠. 그리고, ctrl+shift+R 를 하시면 다음과 같이 착하게 나옵니다.
Open Resource after text selection

Open Resource after text selection

착합니다. ^^ 파일을 열어서 살펴보겠습니다. 아마 이 부분인 듯 합니다.
review source

review source

디버깅을 해보니 || 가 아니라 && 이 되어야 되는군요.

^^ 요기까지입니다.
Posted by kenu허광남

댓글을 달아 주세요

파일 검색을 많이 하는 편입니다. ctrl+H 를 클릭하거나 그림처럼 메뉴를 부를 때 해당 창이 뜹니다.
사용자 삽입 이미지

제일 먼저 나타나는 게 Java Search 탭입니다. 그런데 저는 보통 File Search 탭을 많이 사용하고 나머지 탭은 거의 사용하지 않습니다. 그래서 File Search 탭만 남겨보겠습니다. 창 하단의 Customize 버튼을 클륵하면 됩니다.
사용자 삽입 이미지

다른 두 개의 옵션은 꺼둡니다. 그리고 OK 버튼을 클릭하면 끝!
사용자 삽입 이미지

탭이 깔끔하게 정리됩니다.
사용자 삽입 이미지

간단하게 탭 조정에 대해서만 알아보았습니다. Replace... 를 통해서 찾은 패턴을 일관 대치할 수 있기도 합니다.
Posted by kenu허광남

댓글을 달아 주세요

  1. 김성안  댓글주소 수정/삭제 댓글쓰기 2007.08.31 20:17

    안그래도 당장은 사용하지 않는 Task 검색이 들어가서 불편했는데 유용하네요. eclipse 3.3은 알게 모르게 많은 부분이 바뀌어서 감동이에요. ^^;

이클립스 프로젝트를 통째로 압축하면 그것을 바로 가져올(import) 수 있습니다.
http://code.google.com/p/daysago/ 에 올려 놓은 파일은 이클립스 프로젝트를 압축해 놓은 것입니다.

zipped project

zipped project

daysago-0.22.zip 파일을 다운로드 받습니다.

project import

project import

이클립스의 패키지 익스플로러에서 import를 선택합니다.
filter text에 "ex"를 입력하면 Existing Projects into Workspace 라는 항목이 보입니다.
Select archive file

Select archive file

두 번째 옵션인 Select archive file 를 선택하고 Browse... 버튼을 클릭해서 다운로드 받은 daysago-0_22.zip 파일을 선택합니다. daysago라는 프로젝트가 보입니다.

imported project

imported project


가져오기 작업 끝이죠. ^^


Posted by kenu허광남

댓글을 달아 주세요

  1. 전찐후후  댓글주소 수정/삭제 댓글쓰기 2008.01.29 06:05

    이클립스 초보자입니다 ㅠㅠ 정말 import때문에 애를 마구마구 먹고 있었는데 완전 구세주!!! +ㅁ+ 블로그에 좋은 포스팅 앞으로도 많이 부탁드려요 :)

오픈소스 해 볼까요

java 2007. 8. 24. 09:49
얼마 전 간단한 로직을 구현해서 공개를 한 적이 있습니다. 웹2.0 스타일로 시간을 표시해 주는 기능인데, 간단한 것입니다.
시간 표시를 몇 초전, 몇 분전, 몇 시간전, 몇 일전 처럼 표시해주는 기능입니다. 제 사이트(www.okjsp.pe.kr)에도 적용을 시켰고, 소스를 공개하니까
www.javarss.pe.kr 운영자이신 서영아빠님도 잘 적용하였다고 말씀하시네요.
은근히 기쁘더군요.

어제 처음으로 버그리포팅이 들어왔습니다. 그래서 테스트 케이스에 버그가 발생되는 일자를 테스트 시료로 넣고 어플리케이션을 수정했습니다.
에러가 날 만한 곳에 브레이크 포인트를 찍고 변수 값을 확인하고, 로직을 보강했습니다. 추가한 테스트가 통과를 하고, 전체 테스트를 수행했습니다.
이것을 회귀 테스트(Regression Tests)라고 하죠. 이번 수정이 다른 쪽에 영향을 미쳤는지, 어디에 값이 틀어지는지 확인하는 것입니다.
전체 테스트도 이상이 없는 것을 확인했습니다. 안심하고 사이트 소스에 반영을 시켰고, 수정이 완료된 프로젝트를 전체 압축해서

마이너 버전을 올린 후에 공개했습니다.
http://code.google.com/p/daysago/

더 자세한 이야기는 다른 글로 얘기하도록 하겠습니다.

구글 광고 같지만, http://code.google.com/ 의 Project Hosting을 통해서 소스를 다른 사람들에게 공개하는 오픈소스 활동을 시작할 수 있습니다.

오픈소스 프로젝트 호스팅 by google

오픈소스 프로젝트 호스팅 by google

Posted by kenu허광남

댓글을 달아 주세요

  1. CoolGuy  댓글주소 수정/삭제 댓글쓰기 2007.08.24 11:15

    daysago 를 데이 사고로 읽었다는...
    days ago 겠군요. ㅋㅋ

eclipse 다른 콘솔 보기

java 2007. 8. 23. 22:06
콘솔(Console) 에는 보통 로그가 찍힙니다. 그래서 중요합니다.
콘솔뷰는 로그가 상황에 따라 다르게 관리됩니다. 마치 레이어처럼 말이죠.
Tomcat 서버를 시작하면 나오는 로그가 콘솔 뷰에 보입니다.
Servers Console

Servers Console


뷰의 우측상단에 Open Console의 역삼각형 부분을 클릭하면 다른 뷰를 열 수 있죠.
Open Console View

Open Console View


CVS를 열어보겠습니다.
다음과 같이 CVS 로그가 보이게 됩니다.
CVS Console

CVS Console


구석 구석 세심함이 묻어있는 좋은 도구입니다. ^^
Posted by kenu허광남

댓글을 달아 주세요

두 개의 프로젝트의 차이점은 일반 자바 애플리케이션이냐 웹 애플리케이션이냐 입니다. 그에 따라서 개발하는 소스의 디렉토리 구조가 달라집니다. 이클립스에서 프로젝트 아이콘의 모양도 차이가 있습니다. J 글자는 Java라는 의미이고, 웹프로젝트는 동그란 지구 이미지가 하나 더 붙어있습니다.
Java Project and Dynamic Web Project

Java Project and Dynamic Web Project


일단 eclipse 3.3 wtp에서 옵션 조정없이 Java 프로젝트와 Dynamic Web Project를 만들어서 설정파일을 비교해 보았습니다. 퍼스펙티브는 모든 파일이 다 보이는 Resource Perspective로 정했습니다.
compare with each other

compare with each other


만들어진 두 개의 프로젝트를 선택하고 Compare With > each other를 선택합니다. 두 프로젝트의 디렉토리, 파일이 비교됩니다.

directory, file diff

directory, file diff

.classpath 파일은 프로젝트의 클래스패스가 지정되는 파일입니다. 이 파일 덕분에 환경변수에 클래스패스를 지정하는 고전적인 자바 개발법에서 벗어날 수 있죠. 하단의 파일 비교를 보면 웹 프로젝트 쪽에 2줄이 더 추가된 것을 알 수 있습니다.
일반 자바 프로젝트에서 자바 웹 프로젝트로 변하면서 추가된 디렉토리는 .settings , build, WebContent 디렉토리 셋입니다. build/classes 디렉토리는 bin 디렉토리의 대체입니다.
.project를 더블클릭해서 비교해 보시면 프로젝트 속성이 어떻게 변경이 되었는지 확인할 수 있습니다.
Posted by kenu허광남

댓글을 달아 주세요

  1. 얼음공주  댓글주소 수정/삭제 댓글쓰기 2007.08.21 15:23

    블로그 구경잘 하였습니다. 블로그에 필요한 동영상, boom4u.net 도 구경 오세요~~

테스트 종류

java 2007. 8. 20. 14:40
  1. Unit tests
  2. Test coverage
  3. Black-box testing
  4. White-box testing
  5. Regression tests
  6. Boundary-value tests
  7. Acceptance tests
  8. Load tests
  9. Stress tests

from: J2EE Design and Development, Rod Johnson, 75p

1 유닛테스트가 모이면 5 Regression tests 는 자동적으로 풀리게 됩니다.
8 Load tests는 비즈니스 요구사항에 포함되어야할 것이구요. 9 Stress tests는 8 Load tests를 벗어난 수치에 동작하는 모습을 테스트하게 됩니다.

Posted by kenu허광남

댓글을 달아 주세요

이크립스를 사용하면서 왼쪽에 나오는 패키지 익스플로러의 디렉토리 구조가 익숙하지 않은 경우가 많이 있을 것입니다. 워낙 윈도우 탐색기에 익숙해져서 패키지별로 나열되는 것이 눈에 거슬리는 것이죠.

flat list
사용자 삽입 이미지
그래서 Navigator뷰를 띄워서 탐색기처럼 사용하는 경우가 종종 있습니다.
Navigator View

Navigator View

자바 개발시 네비게이터 뷰를 사용하게 되면 파일에 에러가 난 경우 표시가 되지 않습니다. 패키지 익스플로러에서는 하위에서 에러가 난 경우 최상단까지 상태가 안 좋다는 표시를 해줍니다. 다시 패키지 익스플로러로 돌아가서 디렉토리 보기 형태를 바꿔보도록 하겠습니다.
사용자 삽입 이미지
뷰의 상단 우측에 보이는 역삼각형을 클릭하면 메뉴가 나옵니다. Package Presentation 메뉴 위에 마우스를 가져가면 두 가지 서브메뉴가 나오는데, 감잡으셨을 겁니다. Flat과 Hierachical 중에 Hierachical을 선택하면 다음과 같이 변합니다. 탐색기와 유사하게 되죠.
Hierachical

Hierachical

도구의 맛이랄까요. 옵션을 하나씩 알아갈 수록 맛있지 않습니까.
더운 여름 시원하게 보내시길 바랍니다. ^^

Posted by kenu허광남

댓글을 달아 주세요

이클립스 3.0 오면서 들어간 텍스트 박스가 굉장히 인상적이 었습니다.
처음엔 관심 갖지도 못했지만, 이 기능을 알고 나서 굉장히 강한 인상을 받았습니다.
이후 3.3 까지 업그레이드 되면서 text 필터링이 곳곳에 배치됩니다.
바로 이놈이죠. type filter text

type filter text

type filter text

설정할 메뉴가 많다는 것은 은근히 압박을 줍니다. 트리 구조의 메뉴를 펼치는 것도 만만치 않는 수고가 필요하죠. 하지만 필터 박스에 원하는 키워드를 입력하면 해당 키워드를 포함하고 있는 메뉴가 나타납니다.

type keyword "font"

type keyword "font"


좌측 아래의 메뉴가 정리됩니다. 깨끗해지죠. 지독한 이클립스입니다. 왜냐구요. 우측 상단에 도 보이시죠. 아래 항목이 많으니까 또 나선 것입니다. 사용법(인터페이스)은 같습니다.

이 기능은 다른 곳에도 존재합니다. 리소스(파일)을 찾는 ctrl+shift+R (또는 alt+n, u) 창에도 동일한 인터페이스가 있습니다.
Open Resouce Pop

Open Resource Pop

파일 두 개가 보이는 것은 최근에 열었던 파일입니다. 필터는 *, ? 패턴을 사용할 수 있습니다. *.java 라고하면 .java로 끝나는 모든 파일이 나타나게 됩니다.
filter pattern

filter pattern

계속 더 보겠습니다. 자바 파일에서 ctrl+O 로 클래스의 아웃라인을 볼 수 있습니다. 여기도 위에 있는 공백에 단어를 입력할 수 있도록 되어있습니다.

사용자 삽입 이미지


더 있지만 마지막으로 하나 보겠습니다.
task find

task find

task list에서도 Find: 라는 텍스트박스가 있습니다. 많은 항목에서 검색은 필수입니다.

이클립스를 보면 UI에서 배울 점이 너무 많습니다. 디테일에 강한 툴이라고 자신있게 얘기해 봅니다.
Posted by kenu허광남

댓글을 달아 주세요

  1. 김성안  댓글주소 수정/삭제 댓글쓰기 2007.08.17 18:29

    검색 기능 짱 좋아요~! Preference랑 Quick Outline에서 너무너무 자주 사용하고 있어요.