98..Etc/Etc...2008. 8. 12. 13:08
반응형
1. GWT란 무엇인가?

- Java를 이용해 Rich Ajax 애플리케이션을 제작할 수 있는 오픈 소스 프레임워크.
- JavaScript/HTML 코드를 자동으로 생성해 냄.
- 모든 종류의 브라우저를 지원함.
- Pure JavaScript/DHTML at the client side.
- Pure Java at the server side.

2. GWT를 써야 하는 이유?

- No need to learn/use JavaScript language -> Leverage existing Java skills.
- No need to handle browser incompatibilities -> GWT handles them for you.
- No need to learn/use DOM APIs -> Use pure Java APIs.
- No need to handle forward/backward buttons -> GWT handles this for you.
- No need to build commonly used widgets -> GWT provides most of them.

3. GWT의 단점

- Java 1.4 버전까지만 지원.
- GWT로 자동 생성된 HTML과 JavaScript 코드는 꽤 무거움.
- Hosted 모드에서는 실행 속도가 느림.
- 다양한 Widget을 제공하지 않음.
- 동기식(Synchronization) RPC(Remote Procedure Call)를 지원하지 않음.
- Modal 대화창 개발에는 적합하지 않음.
- 클라이언트는 client 폴더의 하위 폴더에만 접근할 수 있음.
- 쓸만한 무료 UI 디자이너 툴을 제공하지 않음.
- 한글 처리 문제.

* 출처
- http://www.ibm.com/developerworks/kr/library/os-ad-gwt1/index.html
- http://www.ibm.com/developerworks/kr/library/os-ad-gwt2/index.html
- http://www.ibm.com/developerworks/kr/library/os-ad-gwt3/index.html
- http://www.devbg.org/seminars/seminar-GWT-26-september-2007/AJAX-Applications-with-Google-Web-Toolkit-Nakov-v1.0.pdf
- http://blog.dev.daewoobrenic.co.kr/tc/jcfblog/entry/Google-Web-ToolkiGWT-%EB%8B%A8%EC%A0%90-%EB%B0%8F-%EC%B0%B8%EC%A1%B0-%EB%A7%81%ED%81%AC
- http://factorystories.springnote.com/pages/1089916
- http://naucika.tistory.com/15



출처 : http://chocodonut.tistory.com/248
Posted by 1010
98..Etc/Etc...2008. 8. 12. 13:07
반응형

Google Web Toolkit, Apache Derby, Eclipse를 사용하여 Ajax 애플리케이션 구현하기, Part 1: 환상적인 프론트엔드 (한글)

자바 프레임웍에서 Ajax 애플리케이션 구현을 위한 Google Web Toolkit

developerWorks
문서 옵션
수평출력으로 설정

이 페이지 출력

이 페이지를 이메일로 보내기

이 페이지를 이메일로 보내기


제안 및 의견
피드백

난이도 : 중급

Noel Rappin, Senior Software Engineer, Motorola, Inc.

2007 년 2 월 06 일

Google Web Toolkit (GWT)은 동적 Java™Script의 생성에 혁신을 가져왔습니다. GWT를 사용하면, 개발자들은 익숙한 자바 기술을 사용하여 사용자 인터페이스(UI)와 이벤트 모델을 디자인하고 대다수의 브라우저에 익숙한 코드를 만드는 일을 하게 됩니다. 이 글을 통해, GWT의 기초를 설명하고, GWT에서 Asynchronous JavaScript + XML (Ajax) 애플리케이션을 만드는 방법과, 자바 언어로 코드를 작성하는 방법을 설명합니다. 또한 온라인에서 피자를 판매하는 Slicr라고 하는 Web 2.0 비즈니스 샘플을 가지고, GWT 애플리케이션을 생성 및 실행하는 방법을 설명합니다.

GWT를 사용하여, 전통적인 자바 GUI 인터페이스를 구현하는 것 보다 훨씬 더 쉽게, 더욱 풍부한 Ajax 브라우저 클라이언트 인터페이스를 구현할 수 있다. GWT가 매우 놀랍기는 하지만, 전체 웹 애플리케이션을 이것 하나로 만들 수는 없다. 서버에 데이터 스토어가 있어야 하고, 데이터를 자바 객체로 변환하여, GWT가 서버에서 클라이언트로 전달할 수 있도록 하는 프레임웍이 있어야 한다. 본 기술자료 시리즈에서, 100% 순수 자바 데이터베이스인 Apache Derby를 사용하는 방법을 설명한다.

이 글에서는 GWT에 대한 중점적인 설명과 더불어, GWT를 설정하는 방법과 사용자 액션에 반응하는 간단한 클라이언트 인터페이스를 구현하는 방법을 설명한다. 후속 기술자료에서는 Derby 데이터베이스를 설치하고, GWT 프론트엔드를 Derby 기반 백엔드에 연결하는 방법을 설명한다. 마지막으로, 개발 환경 밖에서 시스템을 전개하는 방법도 배운다.

Ajax 리소스 센터에서는 Ajax 프로그래밍 모델과 관련한 기술자료, 튜토리얼, 포럼, 블로그, wiki, 이벤트, 뉴스 등이 제공된다.

Google Web Toolkit이란 무엇인가?

GWT를 사용하여, 자바 프로그래밍 언어로 Ajax 애플리케이션을 개발할 수 있다. Ajax 애플리케이션의 장점은 전통적인 UI 애플리케이션과 연결되는 풍부한 인터랙티브 환경일 것이다. 그림 1은 샘플 GWT 인터페이스로서 데스크탑 이메일 애플리케이션이다. 이 데모는 GWT 웹 사이트에서 볼 수 있다.


그림 1. GWT 이메일 데모
A GWT e-mail demonstration

GWT의 가장 고유한 기능은 Ajax 애플리케이션을 만들 수 있고, 자바 언어로 코드를 작성할 수 있다는 점이다. 선호하는 자바 통합 개발 환경(IDE)을 사용하여, 클라이언트를 디버깅 할 수도 있다. 자바 객체를 사용하여 클라이언트와 서버간 통신도 가능하고, 모든 것이 자바 애플릿 보다 가볍다.

GWT는 기본적으로 컴파일러이다. GWT는 자바 코드를 HTML 페이지에 삽입되어 실행될 수 있는 JavaScript 코드로 변환하여 클라이언트 측 애플리케이션을 실행하는데 사용된다. JavaScript 코드는 거의 모든 브라우저에서 지원되므로 여러분은 프로그램의 인터페이스와 인터랙션에 집중할 수 있다.

물론, GWT가 컴파일러일 뿐이라면, 거론하지 않았을 것이다. 다행히도, 그 이상의 기능을 한다. GWT는 컴파일러 메커니즘 뿐 만 아니라, 아래와 같은 부가적인 특징이 있다.

  • 표준 UI 위젯은 유연하고, 거의 모든 주요 브라우저에서 실행된다. (Safari와 Opera 포함)
  • 클라이언트 측의 이벤트를 포착하고 응답하는 이벤트 메커니즘.
  • 웹 애플리케이션과 서버 간 비동기식 호출을 관리하는 프레임웍.
  • Ajax 애플리케이션이 예상 Back 버튼 작동에 관여하지 않도록 하는, STATEFUL 브라우저 히스토리를 만드는 메커니즘.
  • JUnit을 사용하여 클라이언트 애플리케이션용 단위 테스트를 작성하는 테스트 프레임웍.

본 시리즈에서는 이러한 기능들을 설명할 것이다. 하지만 먼저, GWT를 다운로드 및 설치해야 한다.

GWT 설치하기

이 글을 쓰고 있는 현재, GWT 최신 버전은 1.2이다. (참고자료) GWT는 Microsoft® Windows® XP, Windows 2000, Linux® 그리고, Mac OS X에서 실행되는 GTK+ 2.2.1 또는 그 이후 버전에서 완벽히 지원된다.

다운로드 한 압축 파일을 원하는 디렉토리에 압축을 푼다. 버전들마다 약간 다르지만, 기본 엘리먼트는 다음과 같다.

  • 세 개의 .jar 파일: gwt-user.jar 에는 프로젝트 classpath에 필요한 사용자 클래스들이 포함되어 있다. gwt-dev-windows.jar 또는 gwt-dev-linux.jar에는 컴파일러 코드가 포함되어 있다. 세 번째 파일, gwt-servlet.jar는 전개(deploy)에 사용된다.
  • 세 개의 명령행 유틸리티: applicationCreator, junitCreator, projectCreator. (Windows에서는, .cmd가 붙는다.)
  • 샘플 코드 디렉토리

GWT를 사용할 때, 일부 파일들은 임시 파일들을 관리하기 위해 GWT 홈 디렉토리에 놓인다.

프로젝트 만들기

다운로드를 마치면, 가장 먼저 프로젝트를 만들어야 한다. 온라인에서 피자를 파는, Slicr라고 하는 새로운 Web 2.0 비즈니스의 온라인 사이트를 구축할 것이다. GWT 프로젝트를 설정하는 방법들은 IDE를 사용할 것인지의 여부에 따라 다르다. 여기에서는 GWT 명령행 유틸리티의 지원도 받는 무료 Eclipse를 사용하도록 하자.

명령행 유틸리티를 사용하여 Eclipse 프로젝트를 만든다.

  1. 하드 드라이브의 적당한 곳에 slicr라고 하는 새로운 디렉토리를 만든다.
  2. 새로운 slicr 디렉토리에 명령어 프롬프트를 연다.
  3. 다음 명령어를 입력한다. (슬래시와 그 외 것들을 각자 운영 체계에 맞게 변환한다.)

<GWT_HOME>/projectCreator -eclipse slicr

이 명령어로는 GWT 프로젝트에 필요한 최소한의 것만 만든다. 새로운 src 하위 디렉토리와 새로운 .project와 .classpath 파일이 생겼다.

지금 바로 프로젝트로 시작할 수 있지만, GWT는 그 이상의 구조를 기대한다. 다음 명령어를 사용하여 설정할 수 있다.


<GWT_HOME>/applicationCreator -eclipse slicr com.ibm.examples.client.Slicr

-eclipse slicr 인자는 Eclipse 프로젝트의 이름이고, projectCreator에서 사용했던 것과 같아야 한다. (그렇지 않으면, Eclipse 내에서 GWT 애플리케이션을 시작하는데 문제가 생긴다.) 마지막 인자는 애플리케이션의 메인 클래스가 될 클래스 풀네임(fullname)이다. 이때, 패키지명의 마지막은 의미상 client로 정하기로 하고, client 이전의 부모 패키지 이름은 여러분이 알아서 작성하도록 한다. (일단, 'com.ibm.examples'로 부모 패키지 이름을 정하였다.)

이 명령어는 몇 가지 파일을 생성한다. .java 파일은 메인 클래스이고, 해당 클래스에 동반된 패키지 명에 부합되게 부모 디렉토리 들이 생성된다. 여러분은 최하위 디렉토리에는 clientpublic이 생성되어 있는 것을 확인 할 수 있다. 앞에서 거론한 public 디렉토리에는 Slicr.html와 Slicr.gwt.xml을 확인 할 수 있다. 또한, GWT는 eclipse가 사용하게 될 Slicr.launch파일과 두 개의 셀 스크립트 파일을 생성 한다.




위로


Eclipse로 옮기기

이제 프로젝트를 Eclipse로 옮긴다.

  1. Eclipse를 열고, File > Import를 클릭한다.
  2. 새로운 창에서, General 트리를 확장하여 Existing Projects into Workspace를 선택한다.
  3. Next를 클릭한 다음 Browse를 클릭하여 slicr 루트 디렉토리를 선택한다.
  4. 프로젝트를 선택하고, Copy projects into workspace 옵션이 설정되지 않도록 한다. (프로젝트를 옮기지 않을 것이기 때문이다.)

이 프로세스를 통해, 코드를 Eclipse로 옮겨서 볼 수 있다. GWT는 세 개의 중요한 파일들을 만들었다. 첫 번째가 com.ibm.examples 패키지에 있는 slicr.gwt.xml 파일이다. Listing 1은 XML 설정 파일이다.


Listing 1. slicr.gwt.xml
                
<module>
    <inherits name='com.google.gwt.user.User'/>
    <entry-point class='com.ibm.examples.client.Slicr'/>
</module>

여기에서 GWT 애플리케이션에 대한 모듈을 정의할 수 있다. 모듈(module)은 GWT 코드의 기본 단위이고, 클라이언트가 사용하는 HTML 페이지가 참조한다.

두 번째 파일은 퍼블릭 디렉토리에서 만들어진 Slicr.html 파일이다. 이것은 웹 애플리케이션의 프론트 페이지로서 클라이언트로 보내지는 .html 파일이다. 실제로 필요하지 않는 많은 코멘트들이 들어있다. Listing 2는 파일의 핵심 부분이다.


Listing 2. Slicr.html
                
<html>
    <head>
        <title>Wrapper HTML for Slicr</title>
        <meta name='gwt:module' 
            content='com.ibm.examples.Slicr'>
    </head>
    <body>
        <script language="javascript" 
            src="gwt.js"></script>
        <iframe id="__gwt_historyFrame" 
            style="width:0;height:0;border:0"></iframe>
        <h1>Slicr</h1>
        <p>
            This is an example of a host page for 
            the Slicr application. 
        </p>
        <table align=center>
            <tr>
                <td id="slot1"></td>
                <td id="slot2"></td>
            </tr>
        </table>
    </body>
</html>

가장 중요한 것은 바로 위의 .html 파일이다. 원하는 어떤 HTML이라도 추가할 수 있다. 가장 중요한 것은 HTML 파일에 원하는 어떤 내용이라도 추가 및 변형 할 수 있다는 것이다. 단지, GWT는 아래 네 가지 엘리먼트에 의해서 실행된다.

  • meta 태그: name 애트리뷰트와 content 애트리뷰트는 모듈의 완전한 형식을 갖춘 논리적 이름이다. (XML 모듈 파일과, 확장자 없는 XML의 파일 이름을 포함하고 있는 패키지이다.) 이 태그는 HTML 페이지를 특정 모듈로 연결시킨다. 페이지를 호출하면 모듈이 시작된다. (특히, 모듈에 있는 모든 엔트리 포인트들이 초기화 된다.)
  • script 태그: 이 태그는, GWT 자바 코드를 JavaScript 코드로 변환할 때 생성된 파일 중 하나인 gwt.js라고 하는 파일을 로딩한다. 이 파일은 모든 클라이언트 코드의 로딩을 제어하기 때문에, 프로그램을 실행하는 것 보다 이를 포함시키는 것이 더 중요하다.
  • iframe 태그: 이 태그를 쓰여진 대로 정확히 사용하면 웹 애플리케이션은 히스토리와 상태를 기억할 수 있다. GWT 애플리케이션에서 Back 버튼을 실행 불가로 만들 필요가 없다.
  • td 태그: 특정 .html 파일에 있는 이 태그에는 JavaScript 식별자들이 포함된다. 특별한 것은 없지만, GWT는 이 식별자를 엘리먼트를 배치할 장소로서 사용한다.

자바 시작 클래스

GWT는 재사용이 가능한(boilerplate) 자바 시작 클래스도 Listing 3과 같이 만든다.


Listing 3. 자바 시작 클래스
                
public class Slicr implements EntryPoint {

  public void onModuleLoad() {
    final Button button = new Button("Click me");
    final Label label = new Label();
    button.addClickListener(new ClickListener() {
      public void onClick(Widget sender) {
        if (label.getText().equals(""))
          label.setText("Hello World!");
        else
          label.setText("");
      }
    });
    RootPanel.get("slot1").add(button);
    RootPanel.get("slot2").add(label);
  }
}

위의 자바 클래스는 client 패키지에 있고, 이로 인하여 GWT는 해당 코드를 JavaScript로 컴파일 할 것이다. 이것은 파일에 해당 특정 제한이 있는 것 같지만, 코드 내부를 보면 기본적인 Java 1.4 코드일 뿐이다.EntryPoint 인터페이스는 onModuleLoad()만을 정의하였으며, GWT는 이 모듈을 참조하는 HTML 페이지가 로딩되면 이 메소드를 자동으로 호출하게 되는 것이다.

위의 코드는 단순하다고 할 수 있다. 처음 두 라인에 버튼과 레이블을 정의한다. 그 다음 두 라인에서는, RootPanel.get() 메소드를 사용하여, 이 위젯들을 HTML 페이지의 특정 엘리먼트로 연결시킨다. 이 메소드에 대한 인자는 HTML 페이지에 정의된 엘리먼트의 JavaScript ID이다.

위의 코드 라인들 사이에 Swing에서와 같이 이벤트를 묶는데 사용하는 것과 비슷한 방식을 사용하여 이벤트 리스너(eventListner)를 정의한다. 위의 경우, 버튼을 클릭하면 ClickListener가 호출된다.




위로


GWT 프로그램 실행하기

GWT가 만든 샘플 프로그램을 실행해 보자. GWT 프로그램을 실행하는 두 가지 방법이 있다. 바로 웹 모드(Web mode)와 호스트 모드(hosted mode)이다. 웹 모드는 완전한 전개 모드로서, GWT 프로그램을 JavaScript 코드로 컴파일 한 후에 실행한다.

호스트 모드는 개발하는 동안 사용된다. 호스트 모드란, 클라이언트와 서버 코드를 한번에 시뮬레이트 하면서, 개발하는 동안 전개를 단순화 시키는 일종의 에뮬레이터이다. (호스트 모드는 Mac OS X에서는 불가능하다.) 디버거와 함께 IDE를 사용한다면, 호스트 모드에서 GWT 프로그램을 실행할 수 있으며, JavaScript로 컴파일 될 코드 부분에서 중단점(breakpoint)을 지정하고 그의 변수(variable)의 변경사항을 알아낼 수 있다. 이러한 부분은 개발 시 매우 유용하며, GWT로 작업하게 되면, 대부분 호스트 모드를 사용하게 된다.

또한, 여러 가지 방법들로 호스트 모드를 실행할 수 있다. 이전에 실행했던 applicationCreator 스크립트는 명령행에서 호출할 수 있는 Slicr-shell 스크립트를 만들어서 호스트 모드를 실행할 수 있도록 하였다. 또한, 이 글 초반에, GWT 프로젝트를 Eclipse로 반입하는 방법을 설명했다. Eclipse 프로젝트에서, Run 메뉴 또는 툴바에서 Debug 또는 Run을 선택할 수 있다. 생성된 창을 통해서는 Java Application을 클릭하여 Slicr 옵션을 볼 수 있다. 이 옵션은 GWT가 만들었고, 나머지 프로젝트와 함께 Eclipse로 반입했던 Slicr.launch 파일에서 사용할 수 있다.


그림 2. 호스트 모드 호출하기
Invoking hosted mode

호스트 모드에서 실행할 때, 두 개의 창이 나타난다. (처음 실행할 경우, 호스트 모드 설정이 초기화되는 동안 1분여의 시간이 걸린다.) 그림 3에서 보이는 첫 번째 창의 이름은 Google Web Toolkit Development Shell / Port 8888.이다. 여기에는 GWT의 에러와 로그 메시지들이 들어있다. 툴바를 사용하여, 새로운 호스트 브라우저를 열 수 있고, 스크린상의 로그를 확장, 축소, 삭제할 수 있다.


그림 3. 호스트 모드 쉘 윈도우
Hosted mode shell window

그림 4에 보이는 두 번째 창은 브라우저 모습이다. 보다시피, slicr.html 페이지에서 생성된 정적 HTML과 Slicr.java EntryPoint 클래스에서 생성된 버튼 위젯이 있다. 버튼을 클릭하면 레이블이 선택된다. 설정 단계에서 오류가 있었다면, 이 창을 볼 수 없고 대신 쉘에 에러 메시지가 나타난다. 모든 이름들이 정확한지를 확인하라. (특히, .launch 파일에서, 정확한 프로젝트 디렉토리가 지정되었는지를 확인한다.)


그림 4. 호스트 모드 브라우저
Hosted mode simulated browser

클라이언트 설정하기

이 글에서는 스크린상에서 위젯을 실행시키는 것에 초점을 맞추겠다. 그림 5에 보이는 스크린은 매우 단순해 보이지만, 꽤나 기능적이다.


그림 5. Slicr
Slicr

페이지가 로딩될 때 이러한 위젯들을 생성시키려면, EntryPoint 클래스의 onModuleLoad() 메소드에 코드를 넣어야 한다. Listing 4는 두개의 데이터를 정의하고, 각 패널을 구현하기 위해 헬퍼를 호출하는 메소드를 정의하고 있다. 이 코드가 실행되려면, slicr ID로 HTML 페이지에 엘리먼트를 삽입해야 한다. 이렇게 하면 리스팅의 RootPanel.get() 명령어가 그 페이지의 엘리먼트를 찾을 수 있다. 가장 쉬운 방법은 이전 HTML 리스팅의 테이블을 >div id="slicr" /<로 대체하는 것이다.


Listing 4. 모듈 로드 이벤트 핸들러
                
private DockPanel panel;
private List clearables;

public void onModuleLoad() {
    clearables = new ArrayList();
    initDockPanel();
    panel.add(buildActionPanel(), DockPanel.SOUTH);
    panel.add(buildPizzaTypePanel(), DockPanel.WEST);
    panel.add(buildToppingPanel(), DockPanel.EAST);
    RootPanel.get("slicr").add(panel);
}

위젯 설정하기

DockPanel에 모든 위젯을 설정하도록 한다. GWT에서의 DockPanel이란, Swing에서 BorderLayout을 사용하는 Panel에 해당한다. Swing에서는 한 개의 panel 클래스와 여러 개의 레이아웃 매니저가 있는 반면, GWT에는 여러 Panel 서브클래스가 있고, 각각 자식 위젯을 전개하는 고유의 알고리즘이 있다. 다른 패널 클래스로는 SimplePanel, HTMLTable, FlowPanel, StackPanel 등이 있다. DockPanel을 만드는 것은 어렵지 않다. 아래 Listing 5에서와 같이 세터(setter)가 이 일을 대신한다.


Listing 5. 메인 패널 초기화 하기
                
private void initDockPanel() {
    panel = new DockPanel();
    panel.setBorderWidth(1);
    panel.setSpacing(5);
}

SOUTH 패널(button) 생성하기

DockPanel의 선착순 원리를 따르기 때문에, 먼저 하단부 패널을 정의한다. 이런 방식으로, SOUTH 위젯은 전체 패널에서 실행한다. 아래 Listing 6과 같이 HorizontalPanel을 액션 패널로서 정의한다. (GWT의 HorizontalPanel이란, Swing에서의 box와 비슷하다고 보면 된다.)


Listing 6. SOUTH (buttons) 패널
                
public HorizontalPanel buildActionPanel() {
    HorizontalPanel actions = new HorizontalPanel();
    actions.setSpacing(10);
    Button clear = new Button("Clear");
    clear.addClickListener(new ClearClickListener());
    Button newPizza = new Button("Another Pizza");
    Button submitOrder = new Button("Submit");
    actions.add(clear);
    actions.add(newPizza);
    actions.add(submitOrder);
    return actions;
}

GWT Button 위젯을 사용하여 세 개의 버튼을 만든 다음, 패널에 추가한다. 또한, 나중에 정의하게 될 Clear 버튼에 ClickListener를 만든다. GWT는 이벤트 리스너들을 Swing과는 다르게 나눈다. ClickListener는 마우스 클릭만 리스닝한다. (종종, 인라인 클래스로서 정의된 리스너를 보곤 하는데, 이 스타일은 읽고 테스트 하기 까다롭기 때문에 네임드 클래스를 만들었다.)

WEST 패널(pizza type) 생성하기

pizza type 의 패널은 Listing 7과 같이 복잡하지 않다. GWT RadioButton 위젯을 사용하면 된다.


Listing 7. WEST (pizza types) 패널
                
public static final String[] PIZZA_TYPES = new String[] {
    "Thin Crust Medium", "Thin Crust Large", 
    "Thin Crust X-Large", "Thick Crust Medium", 
    "Thick Crust Large"
};

private VerticalPanel buildPizzaTypePanel() {
    VerticalPanel pizzaTypes = new VerticalPanel();
    HTML label = new HTML("<h2>Pizza</h2>");
    pizzaTypes.add(label);
    for (int i = 0; i < PIZZA_TYPES.length; i++) {
        RadioButton radio = new RadioButton("pizzaGroup", 
            PIZZA_TYPES[i]);
        clearables.add(radio);
        pizzaTypes.add(radio);
    }
    return pizzaTypes;
}

HTML을 실행하는 레이블인 HTML 위젯을 사용할 것이다. HTML 위젯은 결국 HTML상의 <span> 태그 주위의 래퍼(Wrapper)로서 역할을 한다. RadioButton 컨스트럭터(constructor)는 두 개의 인자들을 취한다. 첫 번째는 라디오 버튼용 스트링 레이블이고, 두 번째는 텍스트 레이블이다. 각 버튼을 패널과 인스턴스 리스트에 추가하면 이 리스너들 중 한 곳에서 사용하게 될 것이다.


EAST 패널 (toppings) 만들기

topping 패널은 Listing 8처럼 좀더 복잡하다. 사용자가 다양한 토핑을 가진 피자를 만들 수 있도록 해야 한다. 토핑 버튼을 클릭하면 두 쪽 모두 체크되지만, 한 쪽만 체크되거나, 개별적으로 삭제될 수 있다. 모든 것의 줄을 맞춰야 하기 때문에 Grid를 사용한다.


Listing 8. 토핑 그리드
                
public static final String[] TOPPINGS = new String[] {
    "Anchovy", "Gardineria", "Garlic", 
    "Green Pepper", "Mushrooms", "Olives", 
    "Onions", "Pepperoni", "Pineapple", 
    "Sausage", "Spinach"
};

private VerticalPanel buildToppingPanel() {
    VerticalPanel toppings = new VerticalPanel();
    toppings.add(new HTML("<h2>Toppings</h2>"));
    Grid topGrid = new Grid(TOPPINGS.length + 1, 3);
    topGrid.setText(0, 0, "Topping");
    topGrid.setText(0, 1, "Left");
    topGrid.setText(0, 2, "Right");
    for (int i = 0; i < TOPPINGS.length; i++) {
        Button button = new Button(TOPPINGS[i]);
        CheckBox leftCheckBox = new CheckBox();
        CheckBox rightCheckBox = new CheckBox();
        clearables.add(leftCheckBox);
        clearables.add(rightCheckBox);
        button.addClickListener(new ToppingButtonListener(
                leftCheckBox, rightCheckBox));
        topGrid.setWidget(i + 1, 0, button);	
        topGrid.setWidget(i + 1, 1, leftCheckBox);
        topGrid.setWidget(i + 1, 2, rightCheckBox);
    }
    toppings.add(topGrid);
    return toppings;
}

VerticalPanelHTML 위젯을 사용한다. GWT Grid에 모든 것을 놓기 때문에, 그리드의 크기를 설정해야 한다. 그리드의 각 셀에는 플레인 텍스트나, 또 다른 GWT 위젯을 포함시킬 수 있다. 각 행(row)에, 버튼과 두 개의 체크 박스를 만들고, 이들을 셀에 맞춰 정렬한다. 버튼용 리스너를 추가하고, 체크 박스를 clearable 리스트에 놓는다.

리스너 정의

위젯을 설정했다면, 두 개의 정의된 리스너를 보자. 두 개 중 더 단순한 것이 Clear 버튼에 대한 것이다. Listing 9와 같이 이 버튼은 clearable 리스트에서 실행되고, 모든 것을 지운다.


Listing 9. Clear 버튼에 정의된 리스너
                
private class ClearClickListener implements ClickListener {
    public void onClick(Widget sender) {
    for (Iterator iter = clearables.iterator(); iter.hasNext();) {
            CheckBox cb = (CheckBox) iter.next();
            cb.setChecked(false);
        }
    }
}

주: GWT에서, RadioButton은 실제로 CheckBox의 서브클래스이다. 따라서 위 코드는 class cast exception을 트리거(trigger)하지 않는다.

토핑 버튼용 리스너는 더 복잡하다. 제휴 체크 박스들 중 어떤 것도 선택되지 않으면, 이 리스너는 두 개의 체크 박스 모두를 선택한다. 다른 상황에서는, 두 가지 모두를 지운다. Listing 10은 그 예이다.


Listing 10. 버튼에 정의된 리스너
                
private class ToppingButtonListener implements ClickListener {

    private CheckBox cb1;
    private CheckBox cb2;

    public ToppingButtonListener(CheckBox cb1, CheckBox cb2) {
        this.cb1 = cb1;
        this.cb2 = cb2;
    }

    public void onClick(Widget sender) {
        boolean unchecked = !cb1.isChecked() && !cb2.isChecked();
        cb1.setChecked(unchecked);
        cb2.setChecked(unchecked);
    }
}

공유 사이트...

digg Digg
del.icio.us del.icio.us
Slashdot Slashdot

예고

이번 글에서는 slicr 클라이언트를 구현해 보았다. 다음 글에서는 Derby 데이터베이스를 사용하여 서버 측에서 데이터 레이어를 구현하고, 데이터베이스에서 온 데이터를 GWT 클라이언트로 보내질 수 있는 자바 객체들로 변환하는 방법을 설명하겠다. 서버와 클라이언트를 연결하는 원격 프로시저 아키텍처도 설명한다.

서버 측이 개별적으로 실행되어야 한다면, 개발 및 실행 환경에 이를 전개하는 방법을 고려해야 한다. 또한, 인터페이스를 보기 좋은 모양으로 만드는 방법도 배울 것이다. 그 전에 GWT 다운로드 사이트에 가서 직접 실행해 보기 바란다.

기사의 원문보기



참고자료

교육

제품 및 기술 얻기

토론


필자소개

Noel Rappin 박사는 Georgia Institute of Technology의 Graphics, Visualization, and Usability Center 소속이며, Motorola의 소프트웨어 엔지니어이다. wxPython in Action and Jython Essentials를 공동 집필했다.

Posted by 1010
98..Etc/Etc...2008. 8. 8. 09:59
반응형
 cclskin.net
start.com
del.icio.us
craigslist: san francisco bay area classifieds for jobs, apartments, personals, for sale, services, community, and events
Rollyo: Roll Your Own Search Engine
TechCrunch
Etsy - Your place to buy and sell all things handmade
Protopage v2 released - free AJAX start pages now with RSS news feeds, sticky notes and bookmarks
meebo.com
Google
Windows Live Local
43 Things
Where do you want to go? | 43 Places
Welcome to Flickr - Photo Sharing
CEITON technologies
야후! 허브 - 태그로 세상을 담는다!
Kiko - A New Kind of Online Calendar
Netvibes
TagWorld
Google Base
Windows Live
Google Local
Google Maps API
BlinkList | Your personal start page and social bookmarking engine
Google Transit
Ning | Home: Front Page
smugmug - The ultimate in photo sharing. Online photo albums, photo sharing, photo hosting and photo storage.
YouTube - Broadcast Yourself.

?

Social Bookmarking/Search/Invitation:
Simpy
Goovite
Furl
Spurl
Rollyo
Squidoo
StumbleUpon
RawSugar
Kopikol
SurfTail

Content Filtering
Techtiki
ScoopGo
Filangy

To Do Lists
GooTodo
Listal

Online Calendars
HipCal
AirSet
zEvents
EventSniper

Web Site/Blog Analytics:
Measure Map
Google Analytics

Peer Production Content (News/Music/Listings)
Shoutwire
Millions of Games
Rojo
Last.fm
Pandora
WikiCompany
Glypho
Yazai
BlockRocker
Wists
SpinSpy
NowPublic
Odeo
WebJay
180 Degree News
Quimble
Riffs
ButterFly
Bandnews

Mash-Ups
Ning
FlickrMap
LivePlasma
CoverPop
Qube
Kayak
toEat
AlexaDex

Aggregators
Google Reader
SuprGlu
PBwiki
Attensa
fluctu8
NewsMob
Blummy
Fluxiom
MeFeedia

Start Pages
PageFlakes
Google Ig

Team Planning, Organization, Coordination, & Project Management
Planzo
Backpack
Zimbra
ProjectPlace
Doodle
ZohoPlanner

E-Mail and Communication
Meebo
GMail
myemail
Tempinbox
Citadel

Online Storage
Avvenu
SendSpace
eSnips
StreamLoad

Image Storage, Search, & Sharing
Fotolia
iStockPhoto
Riya
PhotoBucket

Mapping
Google Maps
Yahoo! Maps
MSN Maps
Wayfaring

Word Processing & Note Taking
JotSpot Live
Webnote

Web 2.0 Parts
TinyMCE
RSS2PDF
ZohoChallenge

Grassroots Web 2.0
Knowmore.org

Online Business Software
2ndSite
NetWorthIQ
ThinkFree
CampaignMonitor

Web 2.0 Social Communities
MySpace
Orkut
LinkedIn

Web 2.0 Command Line
YubNub
Ambedo

Web 2.0 Humor
Web 2.0 Validator

?

?

?

부록2. 시맨틱웹(웹2.0) 관련 사이트

시맨틱웹 또는 웹2.0을 좀더 잘 이해하려면 관련 사이트를 직접 둘러보는 것이 좋다. 이 책에서 미처 소개하지 못한 곳을 포함해 관련 사이트를 정리해봤다. 시간이 나는대로 차례대로 방문해보거나 검색엔진을 통해 아래 소개된 사이트에 대한 정보를 찾아보기 바란다.

(2006.01.25 최종 수정. 사이트 주소는 수시로 바뀝니다.)


43things(www.43things.com) : 꼬리표 기술을 적극 활용하는 소셜 네트워크 기반의 블로그 커뮤니티

A9(www.a9.com) : 아마존의 검색엔진으로 Ajax를 도입한 것이 특징이다. 일단 일반 검색이 아닌 전자상거래 검색 분야로 좁혀 전문적인 검색시장부터 노리고 있다.

Browsr : social directory manager 사이트. 쉽게 설명하자면 웹사이트를 주제별로 구분했던 야후 디렉토리 서비스를 사용자들이 구분하는 사이트다. 사회적책갈피(소셜북마크)의 한 종류로 볼 수 있는데, 각종 사이트 링크를 사용자들이 평가하고 분류한다는 점이 특징이다. 물론 꼬리표 적용은 필수.

BudgetTracker(http://budgettracker.com/login.php) : 무료로 사용할 수 있는 웹 회계, 일정관리 서비스.

Bunchball(www.bunchball.com) : 플래시 기반의 온라인 게임 서비스. 개발자들이 직접 게임 개발에 참여할 수 있는 것이 특징이다.

DrawSWF(http://drawswf.sourceforge.net/) : 웹 상에서 그림을 그릴 수 있다. Java2를 이용한 것이 특징이며 SVG 형식을 활용해 그린 그림을 플래시 애니메이션 파일로 저장할 수 있는 점이 독특하다.

Flock(www.flock.com) : 불여우 기반의 오픈소스 소셜 브라우저 공식 사이트. 즐겨찾기, 방문기록, 블로깅 등의 활동을 브라우저 차원에서 제공해준다.


?

JotSpot(www.jotspot.com) : 개인용 위키 응용프로그램 제공 사이트

KnowNow(www.knownow.com) : RSS 알리미(alert) 시스템 사이트로 기업에서 필요한 정보를 모아서 제공하는 솔류션을 발표했다.

MS 라이브로컬(http://local.live.com) : 미국 주요 지역의 정밀항공사진 지도서비스를 포함한 지역정보 종합서비스

MS 라이브닷컴(www.live.com) : 마이크로소프트가 선보인 라이브 소프트웨어를 제공하는 사이트

MS 스타트닷컴(www.start.com) : 마이크로소프트의 개인화 서비스 사이트

MSN 버추얼 어스(virtualearth.msn.com) : 마이크로소프트의 위성지도 서비스

MSN 샌드박스(sandbox.msn.com) : 마이크로소프트가 진행 중인 프로젝트를 보여주는 사이트

MusicBrainz(http://musicbrainz.org) : 음악 관련 자료를 RDF 문법을 이용해 제공하는 사이트

Oddpost(www.oddpost.com) : 웹기반 이메일 업체로 DHTML을 이용하여 브라우저에서 아웃룩과 거의 같은 인터페이스를 구현하여 주목받은 회사. 야후가 인수했다.

Orb(www.orb.com) : 웹과 연동해 동영상 사진 화상캠 등을 통해 집안을 관리하거나 각종 알리미 기능을 이용할 수 있는 홈관리 시스템 사이트.

Podscope(www.podscope.com) : 파드캐스팅 자료를 검색해주는 검색엔진으로 숨은자료(meta data)를 활용한 검색엔진이라는 특징이 있다.

Pubsub(www.pubsub.com) : RSS와 블로그 전문 검색엔진. 구조화된 블로깅(Structured Blogging) 기술을 선보였다.

Real Travel(http://realtravel.com/) : 여행을 주제로 한 소셜 네트워크. 블로그 형식과 지도 연계 정보가 특징이다.

Rico(www.openrico.org) : 자바스크립트를 이용한 RIA기술 사이트. Ajax 기술을 사용한 개발 사이트.

SAGE(sage.mozdev.org) : 불여우 브라우저의 탭브라우징 기능과 접목해 사용하는 불여우 브라우저용 RSS 구독기 확장기능 사이트

W3C(www.w3.org) : 웹표준을 만들고 웹을 주관하는 공식기관. 시맨틱웹에 관한 자료도 이곳에 있다.

ZDNET RSS 공급 페이지(http://www.zdnet.co.kr/etc/feeds/xml/) : 다양한 형식의 RSS를 주제별로 제공해주고 있는 사례를 볼 수 있다.

Zvents(www.zvents.com) : 지역의 각종 행사(이벤트) 검색 서비스. 현재 샌프란시스코 지역의 행사를 검색해주며, 구글맵과 연동되어 장소를 소개한다.

개버(http://www.gabbr.com/) : 사용자가 덧글을 다는 것을 주요 특징으로 내세우는 뉴스 사이트. 덧글 수가 대문의 주요 뉴스에 표시됨으로써 사용자들의 관심도를 측정할 수 있다.

구글 개인화 홈페이지(http://www.google.co.kr/ig) : 구글의 개인화 홈페이지 사이트. 아작스를 도입해 옮기려는 영역을 마우스로 끌어다놓으면 원하는 위치로 바로 재배치되는 것을 볼 수 있다.

구글 라이드파인더(http://labs.google.com/ridefinder) : 구글의 Ride Finder는 검색 지역의 수송수단을 찾아주는 로컬 서비스로, 지도 서비스와 연동되는 서비스다.

구글 리더(http://www.google.com/reader/) : 구글의 RSS 웹구독 서비스. 지메일과 비슷한 화면을 가지고 있으며 검색과 연동된 점이 특징이다.

구글 베이스(http://base.google.com) : 구글이 내놓은 무료 알맹이(content) 검색 서비스

구글 비디오검색(http://video.google.com/) : 구글의 멀티미디어 검색 서비스

구글 야후 교통 날씨 지도(traffic.poly9.com) : '구글맵 + 야후 교통정보 + 월드웨더(worldweather) 날씨정보'를 결합하여 지도를 통해 교통상황과 날씨를 함께 확인할 수 있는 서비스. 그레그 새더츠키(Greg Sadetsky)가 개발했다.

구글 오컷(www.orkut.com) : 사회적 네트워크(Social Network)의 대명사처럼 인식되는 사이트로 평판 시스템과 검색 기능이 특징이다.

구글 지메일(www.gmail.com) : 구글의 웹메일 서비스. 기존의 폴더 방식이 아닌 레이블(lable, 찌종이) 방식으로 편지를 관리하고 있으며 아작스 등을 도입한 점, 2기가바이트가 넘는 용량이 특징이다.

구글 트랜지트 여행 플래너(Google Transit Trip Planner, http://www.google.com/transit) : 구글이 선보인 교통 안내 서비스. 미국 포틀랜드(Portland) 지역에 한정적으로 공개되었다.

구글(www.google.com) : 상장 1년 만에 미국 20대 기업에 들고 100조가 넘는 기업으로 성장한 세계 최고의 검색엔진 기업. 웹2.0 기술을 가장 잘 활용하는 곳이다.

구글 어스(Google Earth, http://earth.google.com) : 구글의 위성지도 서비스

구글 지도(http://maps.google.com/) : 아작스를 도입한 구글의 지도 서비스 사이트

그리스몽키(Greasemonkey, http://greasemonkey.mozdev.org/) : 아론 부드맨이 2004년 12월에 친구를 위해 개발한 불여우 브라우저용 확장 기능의 하나로 자신이 보는 페이지를 재정의해서 볼 수 있다.

나우퍼블릭(http://www.nowpublic.com/) : 사용자들이 기사를 작성할 수 있는 뉴스 사이트로 꼬리표를 적용하고 있다.

넘섬(http://www.numsum.com) : Ajax로 구현한 웹스프레드시트 사이트.

넷바이브스(http://www.netvibes.com/) : Ajax로 구현한 개인이 설정할 수 있는 개인화 페이지.

넷플릭스(www.netflix.com) : 미국의 DVD 대여 사이트로 아작스를 도입해 마우스를 올려놓기만 해도 상자가 뜨면서 DVD 요약 내용이 나온다.

뉴스게이터(www.newsgator.com) : 사용자가 좋아하는 뉴스, 사이트, 블로그를 한 자리에서 볼 수 있게 해주는 서비스. 아웃룩이나 피드데몬을 이용할 수도 있다.

다음 RSS넷(rss.daum.net) : 국내 포탈로는 처음 선보인 RSS웹구독기.

닷지볼(www.dodgeball.com) : 휴대전화 소셜 네트워킹 애플리케이션. 구글이 인수했다.

델리셔스(http://del.icio.us) : 조슈아 샤흐터(Joshua Schachter)가 만든 소셜 북마크 공유 서비스. 웹2.0 시대에 플릭커와 함께 양대 스타로 떠오른 사이트로 야후에 인수되었다. 30만 사용자들이 1000만개 즐겨찾기(북마크)를 공유했다.

디그(www.digg.com) : 슬래시(slashdot.org)와 같은 뉴스 포럼 사이트. 2006년 초부터 슬래시의 트래픽을 따라잡을만큼 급성장했다. 슬래시는 편집진에 의해 주제가 선정되지만 디그는 사용자의 투표(digg it)를 통해 선정되는 점이 다르다. 네티즌의 자발적 참여가 성장에 어떤 역할을 하는지 보여주는 사례.

라에드는 어디에(http://dear_raed.blogspot.com) : 블로그의 매체성을 가장 잘 보여준 살람팍스의 블로그

라이브마크스(http://sandbox.sourcelabs.com/livemarks/) : Ajax로 구현한, 델리셔스(del.icio.us)의 새로 추가된 북마크 실시간 보기 사이트.

라이트리(www.writely.com) : 웹 기반의 워드프로세서. 웹에서 문서를 작성한 후 컴퓨터에 Word, HTML, ZIP 형식으로 저장할 수 있고 공유도 가능한 점이 특징이다. 어디서나 사용할 수 있다는 점 때문에 최근 주목받는 사이트.

로조닷컴(www.rojo.com) : 블로그라인스와 같은 웹 기반의 RSS 구독기. 포크소노미 기술로 꼬리표에 가중치를 부여해 구성원들이 체계화시키고 있다.

롤요(www.rollyo.com) : 사용자가 원하는 사이트를 묶어두면 해당 사이트만을 대상으로 검색해주는 개인화 검색엔진. 데이브 펠이 만들었다.

리멤버더밀크(http://www.rememberthemilk.com) : Ajax를 적용한 할일 목록 관리 사이트. 메신저로 수신이 가능한 점이 특징이다.

리야닷컴(http://riya.com) : 인공지능 사진 검색엔진

마요미(www.mayomi.com) : 브라우저 상에서 사용 가능한 웹 마인드맵 서비스.

마이스페이스(www.myspace.com) : 미국 10대들이 주로 사용하는 커뮤니티 사이트

마이웹2.0(http://myweb.yahoo.com) : 야후가 내세우는 소셜 검색엔진(social search engine)

모든블로그(www.modenblog.com) : 휴대전화를 이용해 RSS를 구독할 수 있는 한국 사이트

모질라(www.mozilla.org) : 불여우(Firefox) 브라우저와 천둥새 편지 프로그램을 등을 배포하는 사이트. 오픈소스와 플랫폼 기반의 프로그램 흐름을 파악할 수 있다.

미보(http://www.meebo.com) : Ajax로 구현한 웹메신저. 당연히 프로그램 설치 없이 웹에서 바로 사용할 수 있는 메신저다. MSN 메신저 외에 야후, ICQ, 구글토크 등과도 연결된다.

믹시(www.mixi.co.jp) : 일본의 사회적 네트워크 사이트로 한국의 싸이월드와 구글을 섞은 것 같은 사이트다.

백베이스(www.backbase.com) : 아작스 기반의 응용 프로그램 개발 사이트

보잉보잉(http://boingboing.net) : 해외의 블로그 사이트. 방문객들의 불여우 브라우저 사용자가 IE 사용자를 추월하는 일이 나타나 화제를 모았다.

블로거닷컴(www.blogger.com) : 가입형 블로그 서비스. 구글이 인수했다.

블로그라인스(www.bloglines.com) : 전문 RSS웹서비스로 가장 유명한 곳. 해외 사이트지만 사용하기 편리하다는 이유로 한국 네티즌도 많이 사용한다. 애스크지브스에 인수된 후 IAC로 넘어갔다.

블로그펄스(www.blogpulse.com) : 블로그 검색엔진

샤프리더(www.sharpreader.net) : RSS구독기인 샤프리더 배포 사이트

세이바로직(www.ceiva.com) : 디지털액자 판매 기업으로 가족들이 사진을 인터넷에 올려놓기만 하면 다음 날 액자를 통해 새롭게 올라온 가족사진을 감상할 수 있는 서비스를 제공한다.

소셜텍스트(www.socialtext.com) : 기업용 위키 제품 사이트

스카이프(www.skype.com) : VoIP 서비스의 대표 사이트로 이베이(eBay)에 최대 41억 달러라는 천문학적인 돈을 받고 인수되었다.

스퀘어프리 HTML에디트(http://www.squarefree.com/htmledit/) : Ajax로 구현한 실시간 HTML 편집기

시맨틱웹 커뮤니티 포탈(www.semanticweb.org) : 시맨틱웹 관련 정보를 얻을 수 있는 포탈. 시맨틱웹에 관한 행사나 다양한 정보가 올라오며 시맨틱웹 컨퍼런스인 ISWC 정보도 여기에 올라온다.

싱잉피시(www.singingfish.com) : AOL 검색기에서 선보인 멀티미디어 검색 사이트

썸원뉴(www.someonenew.com) : 스카이프를 플랫폼으로 이용하고 있는 데이트 사이트

아이스로켓(www.icerocket.com) : 블로그 검색엔진

애스크지브스(www.ask.com) : 검색 엔진. 블로그라인스를 인수했으나 애스크지브스 자체가 IAC로 인수되었다.

애플 아이튠즈(http://www.apple.com/itunes/) : 애플의 온라인 뮤직 스토어인 아이튠즈는 고객이 자신의 마음에 들도록 RSS 공급 내용을 설정할 수 있다.

야후 360(http://360.yahoo.com) : 야후에서 만든 블로그와 소셜 네트워크를 혼합한 서비스

야후 앤서즈(Yahoo Answers, http://answers.yahoo.com) : 네이버 지식인과 비슷한 문답형 커뮤니티

야후 위젯(http://kr.widget.yahoo.com) : 야후가 인수한 콘파뷸레이터를 위젯이라는 이름으로 배포하는 사이트

야후 피플링(http://kr.ring.yahoo.com) : 구독하는 RSS를 테마별로 공유하는 커뮤니티 성격의 사이트

어댑티브패스(www.adaptivepath.com) : 웹 디자인 회사로 Ajax라는 이름을 만든 Jesse James Garrett의 에세이를 볼 수 있다.

업커밍(www.upcoming.org) : 트래킹 서비스 사이트. 야후가 인수했다.

에트시(http://www.etsy.com) : 다양한 기술을 적용한 쇼핑몰. 색깔 별 재질 별로 상품을 볼 수 있고, 상품 색을 바꿔볼 수 있고, RSS로 상품 목록 지원에 꼬리표를 사용한 꼬리표구름 목록까지. 그외 다양한 웹2.0 기술을 사용하는 쇼핑몰.

엑스파이더(www.xpyder.co.kr) : RSS구독기인 엑스파이더 배포 사이트

오데오(http://odeo.com/) : 파드캐스팅 포털 사이트.

오디오블로그닷컴(www.audioblog.com) : 파드캐스팅과 비디오 블로그 서비스 사이트.

오라일리 미디어(www.oreilly.com) : 미국의 미디어기업으로 국내에는 IT전문 출판사로 더 유명하다. 웹2.0 컨퍼런스를 주최하며 웹2.0이라는 낱말을 만들고 전파시켰다.

오버추어(www.overture.com) : 한국에서도 검색광고의 절반 정도를 차지하는 세계 검색광고 시장의 강자. 야후에 인수되었다.

올블로그(www.allblog.net) : 한국의 대표적인 메타사이트로 등록된 블로그 사이트의 RSS를 모아서 보여준다.

워크스팟(www.workspot.com) : 브라우저 상에서 리눅스를 사용할 수 있다. 현재 설치된 것은 Red Hat 8 & Mandrake 9.1 remote desktops.

웨이백머신(www.archive.org) : 인터넷의 과거 정보를 저장하고 검색할 수 있는 사이트로 웹사이트 문서 저장에서 텔레비젼 프로그램 저장까지 다양한 정보를 기록하고 있다.

웹2.0컨퍼런스(www.web2con.com) : 오라일리가 주최해 2004년 10월 5일부터 일주일 동안 미국 샌프란시스코에서 열린 웹2.0 컨퍼런스의 공식 사이트

위키피디아(www.wikipedia.org) : 전세계 네티즌이 참여해 만드는 공용백과사전

윙크(www.wink.com) : 마이클 태니(Michael Tanne)의 태그 기반 검색엔진. 태그랭크(TagRank)을 이용한 필터링을 통해 최고의 검색 결과를 제공하고 검색 결과를 발행하는 기능이 특징이다. 스팸이 없는 깨끗한 검색결과도 특징이다.

이글루스(www.egloos.com) : 한국의 블로그 전문 사이트. '이글루스 가든'이라는 꼬리표를 적용한 새로운 커뮤니티를 선보였다.

잉키보드(http://www.cfcassidy.com/InkyBoard/) : 태블릿PC(Tablet PC)를 위한 칠판(Whiteboard). 인터넷 상에서 칠판 대용으로 사용할 수 있다는 것이 특징이다.

인트라V뉴스(www.intravnews.com) : 아웃룩 플러그인 방식의 구독기 배포 사이트

자쿠바(www.jacuba.com) : 철자 검사 사이트. 브라우저나 사용환경에 상관 없이 동작한다는 점이 특징이다. 윈도 사용 환경이 아닌 경우 유용.

조이엔트(Joyent, www.joyent.com) : 개인의 편지나 일정, 주소록 등을 관리하는 PIMS 서비스로 기존 서비스와 다른 점은 꼬리표를 이용해 분류를 하고, 아작스, 주소록의 구글지도 연동과 같은 시맨틱웹 기술을 이용하는 점이다.

지오뉴스(Geonews, http://www.wereporters.com/geonews.htm) : 구글 뉴스와 구글 맵을 혼합한 서비스로 하우징맵, 지오블로거와 함께 혼합(mash-up) 서비스의 한 종류로 주목받고 있다.

지오블로거(www.geobloggers.com) : 세계 주요 도시에서 찍은 사진들을 구글 지도에 표시해주는 사이트. 네티즌이 플릭커에 올린 해당 도시 사진에 지오블로거를 이용해 도시이름 꼬리표를 붙여주면 구글의 지도를 선택할 경우 관련 사진이 뜨는 서비스다.

짐브라(Zimbra, www.zimbra.com) : 개인일정 서비스로 아작스와 RSS, 스카이프, 구글지도 연동이라는 특징을 가지고 있다.

칼렌다허브(http://www.calendarhub.com) : Ajax로 구현된 일정관리 사이트.

콘파뷸레이터(www.konfabulator.com) : 콘파뷸레이터라는 대시보드 프로그램 개발사. 콘파뷸레이터도 XML과 자바스크립트를 이용하기 때문에 위젯이라는 확장 프로그램을 사용자들이 개발하기 쉽다. 야후에 인수된 후 야후 위젯(http://kr.widget.yahoo.com)으로 다시 태어났다.

클립마크스(www.clipmarks.com) : 신문 잡지의 일부를 찢어서 보관하는 것처럼 웹에서도 일부분을 보관할 수 있도록 하라는 사이트. 웹페이지 전체가 아니라 부분만 찢어서 보관할 수 있도록 해주는 사이트로, 웹 상의 페이지 일부 클립(스크랩)은 물론 소셜클립마크를 지향하고 있는 사이트다.

클립폴리오(klipfolio, www.serence.com) : 작은 크기의 RSS 구독기 프로그램인 클립폴리오 배포 사이트

키코(http://www.kiko.com) : Ajax로 구현된 일정관리 사이트. 드래그 앤 드롭 인터페이스와 찌종이(레이블)를 지원한다.

타이프테스터(http://typetester.maratz.com) : Ajax로 구현한 글꼴(font) 비교하기 사이트

태그클라우드(www.tagcloud.com) : 꼬리표 낱말의 크기가 모두 달라 꼬리표가 구름모양으로 표시된다는 꼬리표구름. 꼬리표 기술을 알아보려면 들러야 할 곳이다.

태터센터(www.tattertools.com) : 블로그 프로그램인 태터툴즈를 만들어 제공하는 곳. 최근 꼬리표 기술을 적용해 커뮤니티 사이트로 변화중이다.

테일랭크(http://www.tailrank.com/) : 수 천 개 블로그 중에서 최고의 알맹이만을 골라서 보여준다는 사이트. 사용자들이 직접 기사를 수정하는 것이 특징이다.

테크노라티(www.technorati.com) : 2천만 개의 블로그가 등록된 꼬리표(tag) 기반의 블로그 전문 검색엔진. 구글보다 빨리 블로그를 검색해준다는 이유로 스타가 되었다.

토크디거(www.talkdigger.com) : 메타링크 검색엔진. 자신이 알고 있는 URL을 입력하면 해당 URL을 인용한 사이트를 찾아준다. 즉 특정 URL을 화제로 삼은 사이트를 찾아주는 검색엔진.

토픽스넷(www.topix.net) : 우편번호를 입력하면 30만 주제의 뉴스를 찾아주는 서비스

트라이루비(http://tryruby.hobix.com/) : 아작스로 구현한 루비 사이트. ruby 인터프리터쉘을 웹에서 사용 할 수가 있다.

파드캐스트(www.podcast.co.kr) : 파드캐스팅을 지원하는 국내 사이트

파인도리(http://www.findory.com/) : 뉴스와 블로그를 결합시켜 뉴스를 읽고 배우고 개인화시키는 서비스. 인공지능형 뉴스 사이트라는 점이 특징이다.

판도(www.pando.com/) : 누구나 무료로 어떤 크기의 파일이나 폴더라도 이메일로 전송하는 응용 프로그램.

패닉닷컴 쇼핑몰(http://panic.com/goods/) : Ajax를 이용한 쇼핑카트의 예를 볼 수 있다.

페이스북(http://facebook.com/) : 미국 대학생들이 많이 사용하는 커뮤니티 사이트

프로토페이지(www.protopage.com) : 개인화된 뉴스, 쪽지(sticky notes), 즐겨 찾기, 그외 각종 웹페이지를 하나의 페이지에서 볼 수 있게 만든 개인화 홈페이지 서비스 중 하나. 아작스(Ajax)를 이용하는 것이 특징이다.

플란조(http://www.planzo.com) : 일정관리 사이트로 다른 사람들과 일정 공유로 커뮤니티 일정 관리 가능. Ajax를 이용하여 드래그 앤 드롭 인터페이스 지원. RSS 공급 지원.

플릭커(www.flickr.com) : 꼬리표 기반의 사진 사이트. 웹2.0을 대표하는 사이트로 각종 상을 휩쓸다가 야후에 인수되었다.

피드데몬(http://www.bradsoft.com/feeddemon) : 가장 대표적인 RSS 구독기 프로그램인 피드데몬 배포 사이트

피드버너(www.feedburner.com) : 개인 블로그의 트래픽 부담을 덜기 위해 RSS 트래픽을 대신 떠안는 서비스.

피드스터(http://feedster.com) : 미국 샌프란시스코에 위치한 검색 엔진과 XML 웹 컨텐트 신디케이션 기업.

피카사(http://picasa.google.com/) : 웹 기반의 사진 관리 편집 사이트. 구글에 인수되었다.

하우징맵(www.housingmaps.com) : 폴 레이드매처(Paul Rademacher)라는 디자이너가 개발한 부동산 서비스로 구글지도에 크레이그리스트(craigslist)의 부동산 정보를 결합했다.

<!-- //포스팅 -->

출처 : [기타] 인터넷 : http://webperse.com

Posted by 1010
98..Etc/Etc...2008. 8. 8. 09:08
반응형

블로그를 보다 zzony님의 포스팅을 찾았다.

 

웹페이지를 하나의 그림이나 파일로 저장해줍니다」라는 글이다.

 

서비스를 제공하는 사이트는 thumbalizr.com인데 네이버로 테스트 해봤다.

 

홈페이지에 접속하여 이미지로 만들 사이트의 주소를 적으면 다음과 같이 간단한 섬네일과 해상도를 표시한다.

 

    

 

해상도를 선택하면 그 해상도에 맞는 페이지를 깔끔하게 이미지로 저장하여 보여준다.

다음은 800 해상도를 선택했을 때의 그림이다.

 

 

 

이 서비스를 사용해보면서 블로그에서의 문제가 되는 스크랩기능을 이렇게 이미지로 제공하면 어떨까 라는 생각을 해본다.

 

컨텐츠의 스크랩에 있어서 문제가 되는 것이 대부분 스크랩을 지원하는 사이트의 경우 스크랩 후에 그 컨텐츠의 내용을 수정할 수 있다는 점이다.

 

즉 양질의 컨텐츠라해도 복사&붙여넣기나 스크랩 버튼 클릭하나로 다른 사람의 것으로 쉽게 보여질 수 있는 것이다.

 

물론 이렇게 이미지로 제공하는 것이 스크린 캡쳐나 내용을 다시 작성하는 것 등의 방법으로 컨텐츠의 불법스크랩을 할 수 있다고 해도 지금처럼의 무분별한 펌질이나 수정을 어느정도 막을 수 있지 않을까 생각한다.

 

그리고 스크랩을 수행할때 이미지를 배경에 저작자와 서비스 제공자의 워터마크를 추가하면 본 저작자의 저작권 보호와 불법 스크랩을 근절한다는 서비스 업체의 이미지에도 도움이 될 것 같다.

Posted by 1010
98..Etc/Etc...2008. 8. 7. 15:43
반응형
How to deploy EJB component




자바스터디 네트워크 [www.javastudy.co.kr]

조대협 [bcho_N_O_SPAM@j2eestudy.co.kr]




1. WebLogic Class Loader


EJB와 웹애플리케이션을 디플로이하기 위해서는 효과적인 패키징이 필요하다. 효과적인 패키징을 위해서는 먼저 WAS의 ClassLoader의 구조에 대해서 알필요가 있는데, 먼저 WebLogic의 ClassLoader에 대해서 살펴보도록 하자.

○ Class Loader란?

Class Loader란 자바의 큰장점중의 하나로, Compile Time이 아닌 Run Time에 Class를 로딩할 수 있게 해주는 기술이다. 예를 들어, ClassA = new ClassA(); 라는 코드를 최초로 실행할때, JVM은 ClassA라는 Class를 Class Loader를 통해서, ClassA.class의 바이트 코드를 최초로 메모리에 로드하게 된다. Class Loader는 이처럼, Class의 바이트 코드를 FileSystem이나,Jar와 같은 Archieve또는, network socket(Applet and RMI)를 통해서 동적으로 로딩할 수 있도록 지원해준다.

이 Class Loader는 기술적으로 몇가지 특징을 가지고 있는데 그 내용을 살펴보면 다음과 같다.

   - Hierarchical
     : Class Loader는 Hierarchical 하게 생성이 가능하다. Parent class loader에서, child class loader를 갖는것과 같이 Class Loader간의 계층형 구조를 갖게 되며, 최상위의 Class Loader는 "bootstrap" Class Loader가 위치하게 된다.

   - Delegate load request
     : 위와 같이 Class Loader가 계층형 구조를 가지고 있기 때문에, Class 로딩상에 몇가지 규칙이 필요한데, 일정 시점에 Class Loading 요청을 받았을때, 상위 Class Loader가 Loading한 Class가 그 우선권을 가진다.
     예를 들어 설명하면, Class Loader가 parent부터, CL1-CL2-CL3 순서로 생성되어 있다고 가정하자, 애플리케이션이 Class Loader CL3로 Class를 요청하면, CL3는 그 요청을 CL2로, CL2는 CL1으로 요청을 전달한다. 즉, Class 로딩의 우선 순위는 parent class가 가지고 있고, 만약에 요청받은 Class가 없을 경우에만 아래 레벌 Class Loader가 Class를 로딩하게 된다.

   - Have visibility constraint
     : 상위 Class Loader를 먼저 참조하는것에 이어서, Class Loader는 일종의 scope rule을 제공하는데, Child Class Loader는 Parent Class Loader의 Class를 Delegation load request를 이용하여 찾을 수 있지만, 그 반대로 Parent가 Child가 Loading한 Class를 사용할 수 는 없다. 또한 Parent의 같은 Level의 Child Class Loader는 서로 로딩한 Class를 사용할 수 없게 되어 있다.

   - Cannot unload classes
     : Class Loader에 의해서 Loading된 Class들은, unload될 수 없다.. Class Loader에는 Class Unloading기능이 없다. 그래서 이 unloading 기능을 우회적으로 구현하는 방법은 Class를 로드한 Class Loader 자체를 삭제하고, 새로운 Class Loader를 만들어서 다시Class 를 로드하면, reload되는 것처럼 작동하는것이 된다.

내용이 좀 어려울 수 도 있겠지만, WLS의 뒤에 나올Class Loader의 내용을 읽어보면 이해가 될것이다. Deploy 개념을 이해하는데 중요한 내용이니 이해하도록 하자.

○ WebLogic의 Class Loader

그럼 이제 WebLogic의 Class Loader에 대해서 알아보도록 하자. 이 feature는 단지 WebLogic뿐 아니라, J2EE 표준을 따르는 WAS는 모두 준수하고 있는 내용이다.

일단 WebLogic이 기동되면 JVM Level의 Class Loader가 Loading된 후에, WebLogic의 Application에 따라 각각의 Class Loader가 그 Child로 Loading된다.

JVM Class Loader

먼저 JVM이 가동될때, Loading되는 Class Loader는 parent부터 순서대로, Bootstrap, Extensions, System Class Loader가 올라가게 된다. 그 내용을 살펴보자

   - Bootstrap Class Loader
     : JVM이 실행될때 맨 처음 실행되는 Class Loader로, 가장 기본적인 JAVA실행에 필요한 가장 기본적인 Class들을 (rt.jar, i18n.jar 와 같은 기본적인 Archieve) 로딩한다.

   - Extensions Class Loader
     : BootStrap Loading후, 기본적으로 Loading되는 Class로 $JAVA_HOME/lib/ext에 있는 Class들이 Loading된다. 이 Class들은 별도로 classpath에 잡혀 있지 않아도 Loading된다.

   - System Class Loader
     : 다음으로, CLASSPATH에 정의되거나 JVM option에서 -cp, -classpath에 지정된 Class들이 로딩된다.

기본적으로 WebLogic은 이 JVM Level의 Class Loader에서 작동을 하게 되고, Application을 Deploy할때 마다 별도의 Class Loader를 System Class Loader의 Child로 Invoke하게 된다.

JVM Class Loader

WebLogic에서 Invoke되는 Class Loader는 종류에 따라 EJB-JAR,WAR,EAR 3가지로 구분이 된다. 각자의 Class Loader에 대해서 체크해야할 사항을 짚고 너머가 보자.

   - EJB-JAR
     : 각 EJB-JAR 파일은 디플로이가 되면, JAR파일당 각각의 Class Loader를 생성하게 된다. 그래서, 다른 JAR파일에 있는 Class들은 참조를 할 수 가 없고, 오로지 Parent Class Loader인, JVM Level의 CLASSPATH에 적용된 CLASS들만 참조를 할 수 있다. 그래서, 다른 EJB JAR파일내에 있는 EJB를 사용하기 위해서는 그 EJB의 Client class들(Remote Interface,Home Interace)을 같이 JAR로 묶어주어야 한다.물론 같은 JAR파일내에 있는 EJB나 다른 Class를 사용하는 것은 같은 Class Loader상에 Load된것이기 때문에, 가능하다.

   - WAR
     : Servlet이나 JSP를 패키징하는 WAR파일 역시 EJB-JAR와 같은 특성을 갖는데, 집고 넘어가야할점은 웹로직에서는 WAR에 대해서 우선순위 변경이 가능한데,일반적인 Class Loader의 우선순위를 따르는것 이외에, WEB-INF/classes와, WEB-INF/lib 디렉토리가 우선순위를 갖것이 가능하다. 이 디렉토리안에 class가 있을 경우에는 parent class loader에 load된 Class보다 우선순위를 갖게 설정할 수 있다.이설정은 웹로직 콘솔에서 PreferWebInfClasses 라는 옵션을 true로 설정(default는 false이다.)을 하면 가능하며, 자세한 내용은 (http://e-docs.bea.com/wls/docs61/programming/packaging.html 에Using PreferWebInfClasses in J2EE Applications 부분을 참고하기 바란다.)

   - EAR
     : 위의 EJB-JAR와 WAR는 각각 하나의 Class Loader를 갖는데 반해서, EAR을 두개의 Class Loader를 갖게 된다. EJB-JAR를 위한 Class Loader와 WAR를 위한 Class Loader 두개가 Invoke되고, 그 관계는 EJB-JAR Class Loader가 WAR Class Loader의 Parent관계가 되서, Servet/JSP는 당연히 EJB Class를 참조해서 사용이 가능해지게 되는것이다. (JSP는 WAR Class Loader에 의해 Loading되었기 때문에, 그 Parent인 EJB-WAR Class Loader에 의해 Loading된 EJB Class를 사용할 수 있게 되는것이다.)


<그림 1. WebLogic Class Loader 구조>


그럼 <그림 1>을 보자. 그림 1의 EJB JAR5는 EAR1이나 WAR4, EAR2의 Class Loader와 다른 Class를 사용하기 때문에, 다른 패키지의 Class를 참조할 수 없다.

EAR1의 WAR1은, EAR로 같은 Class Loader상에 있는 EJB JAR1,EJB JAR2,EJB JAR3에 있는 Class를 참조할 수 있다. 그러나 EAR2의 Class는 참조할 수 없다. 그러나 역으로, EJB Class Loader가 WAR Class Loader의 Parent이기 때문에, EJB JAR 1.2.3는 WAR1,2의 Class를 참고할 수 없다.

여기서 한가지 집고 넘어가야할것은 모든 EJB JAR가 참조하는 Class들은 CLASSPATH내에 있는 Class가 우선시 된다. (JVM Class Loader가 모든 WebLogic Class Loader의 parent이기 때문에.) 그래서, EJB의 Client Class나, Common Class들을 CLASSPATH와 JAR양쪽에 넣으면 CLASSPATH내에 있는 CLASS가 참조가 된다. (이런식의 패키징은 권장하지 않는다. 상세한 내용은 다음에 나올 EJB 패키징 부분에서 알아보도록 하자)

※ WLS 8.1에서부터는 개발환경을 위해서 Class Loader의 계층구조를 임의로 지정할 수 있게 되어 있다. 자세한 내용은 (http://e-docs.bea.com/wls/docs81/programming/classloading.html#1083313) 를 참고하기 바란다.

JVM Class Loader

J2EE에서, WAS가 하나의 Class Loader를 이용하지 않고, 각 WAR,EJB-JAR,EAR별로 별도의 Class Loader를 사용하는것은 다음과 같은 이유를 가지고 있다.

   - Isolation
     : 개발그룹 A가 Application app-A에 대해서 개발과 deploy를 할때, 다른 Application에 대해서 신경쓸 필요없이 작업 수행이 가능하게 된다. 만약 모든 Applilcation이 하나의 Class Loader를 사용하게 된다면, 하나의 애플리케이션을 deploy할때마다, Class Loader가 restruct되는등 영향을 받을 수 있다.

   - Singleton
     : 이렇게 Class Loader를 따로 사용하기 때문에, Application 별로, 당연히 Singleton Pattern이 따로 적용된다. 만약 Class Loader가 전역적으로 하나만 사용되었다면, 다른 Application에 의해서, Singleton이 오작동할 수 도 있을것이다. (Singleton은 GoF의 Design Pattern중의 하나이다. 자세한 내용은 Design Patterns-Addison Wesley를 참고하기 바란다.)

   - Namespace
     : Namespace의 확장도 가능하게 되는데, webApp1.war와 webApp2.war 파일에 똑같이 index.jsp 라는 파일이 있을때, WAS는 각 Class의 Name space를 Class Loader + File Name이라는 Namespace를 사용하기 때문에, 다른 Application안의 컴포넌트들을, 어떻게 naming 하느냐는 것은 문제가 되지 않는다.

   - Hotdeploy
     : Hotdeploy는 J2EE의 중요한 feature중의 하나인데, WAS가 가동중에, 컴포넌트를 redeploy할 수 있는 기능을 Hotdeploy라고 한다. 위에서도 설명했듯이, redeploy를 하는 기능은 Class Loader에는 없기 때문에, redeploy를 하기 위해서는 기존의 Class Loader를 unload하는 동시에, 새로운 Class Loader를 Loading하여, Class 를 reloading하게 된다. 이렇게 Class Loader를 나누어 놓음으로써, 효과적이고 빠르게 redeploy가 가능하게 된다.

   - Deploy
     : Application의 배포역시, Application 단위로, Class Loader를 이용하기 때문에, Application 단위로 배포가 가능해진다. Class Loader를 하나만 사용했다면, 일부만 변경이되더라도 Application 전체를 redeploy해야 됐을것이다.

이제까지, 간단하나마, JVM Class Loader와, WebLogic Class Loader의 내용에 대해서 살펴보았다. 그러면 이 특성에 따라서 각각의 애플리케이션과 컴포넌트들을 어떤식으로 패키징하는가에 대해서 알아보도록 하자.


2.Packaging Component


J2EE 패키징을 하는데 있어서 가장 큰 이슈는 EJB의 Client Class(Home Interface,Remote Interface)와, Common Class들일 것이다.. 이 Class들을 Deploy하는 방법이 어떤것이 있는지, 그리고 그 장단점에 대해서 알아보도록 하자.

○ WEB-INF/classes

Servlet,JSP에서 사용하는 EJB Client Class와, Common Class를 classes 디렉토리에 풀어서 배포하는 방법인데, 수정과 삭제가 편하다는 장점은 있으나, Web Application 마다, classes 디렉토리에 배포를 해야하기 때문에, Version 관리 문제나 Sync 문제가 발생할 수 있고, 파일단위로 관리하기때문에, 번거롭다. 소규모가 Application이 아닌경우에는 권장하기 어려운 방법

○ WEB-INF/lib

Servlet,JSP에서 사용하는 EJB Client Class와, Common Class를 jar로 묶어서, lib 디렉토리에 위치시킬 수 있다. Jar단위로 묶어서 패키징하기 때문에, 관리가 간편하다는 장점이 있다. 단점은 WEB-INF/classes에 배포하는것과 같다.

○ Class files within EJB JAR

EJB에서 사용하는 Common Class와, 참고하고 있는 외부 EJB-JAR의 EJB Client Class를 하나의 jar파일에 패키징하는 방법. 이 방법은 EJB-JAR 파일 단위로,독립성이 뛰어나고 핸들링하기 편하다는 장점은 있으나, 각각의 EJB-JAR에 Class들이 직접 패키지되기 때문에, 변경 사항이 있을때마다 다시 패키징을 해야한다.

○ Class files on system CLASSPATH

EJB Client Class와, Common Class들을 아예 System CLASSPATH에 넣어버리는 방법도 있다. 이렇게 할경우에는 CLASS를 사용하는것이 매우 간편해지기는 해지고, common class의 경우에는 중복하여 배포할 염려없이, CLASSPATH내에 있는 것만 바꾸면 되기 때문에, 일관성을 유지하기가 좋다
그러나 그 CLASS들을 바꾸거나 할경우에는 WAS를 restart해야하는 제약 사항이 따르게 되구. Hotdeploy와 같은 기능을 사용하는것은 불가능하게 된다

○ jar on system CLASSPATH

바로 앞의 방법에 Class files을 jar로 묶어서 CLASSPATH에 배포하는 방식으로, 위와 같은 단점을 가지지만, jar 단위로 묶어서 관리를 하기 때문에, 앞의 방법보다는 Class 관리가 편리하다.

○ jar in EAR

가장 일반적인 배포 방법으로client class와 common class을 jar로 묶어서, Application ear 안에 함께 묶어서 배포하는 방식으로, ear단위로 application 관리와 배포가 가능해진다.
그러나 두개 이상의 application이 공통된 common class 파일들을 참조하는 경우에는 각각의 ear에 common class를 넣어서 패키징해야 하기 때문에, 이런 경우에는 일관성의 문제가 발생할 수 도 있다.

○ MANIFEST.MF

JDK1.2의 "extension mechanism" 이라는 이름으로 등장한 기능으로, JAR파일이 다른 JAR파일의 Class들을 참조할 수 있게 해주는 기능이다.일단 사용법부터 살펴보면

/META-INF/MANIFEST.MF 라는 파일로 정의가 되고
Manifest-Version: 1.0
Class-Path: commonclasses.jar ./account/account_ejb_client.jar
./com/bea/

식으로 사용된다.
이렇게 정의되어 패키징된 jar파일내의 Class들은 commonclasses.jar와./account/account_ejb_client.jar 그리고./com/bea/ 에 있는 Class들을 사용할 수 있게 된다.

여기서 꼭 주의해야할 점은 Class-Path의 디렉토리 경로는 상대 경로만 지정이 가능하며, 이 상대경로의 기준 디렉토리는 해당 JAR파일의 Class들이 실행되는 디렉토리 이다. 그런데, 이 실행디렉토리라는 것이, WAS에 디플로이된 jar파일의 경로가 아니다.WLS의 경우 해당 jar가 $WLS_HOME/config/mydomain/applications에 위치하고 있더라도, 그 디렉토리를 기준으로 하지 않는다는 이야기이다. 대부분의 WAS가 실행시에, 그 jar를 컴파일하거나 캐슁해서 사용하는 staging 디렉토리에 그 class들을 위치해놓고 수행을 하기 때문에, staging 디렉토리가 어디가 될지는 WAS의 종류와 환경에 따라서 다르다.

이런 이유로 MANIFEST.MF를 사용하는 경우는 EAR안에 같이 패키징된 JAR파일간의 reference를 결정하는데만 사용해야하며, 그중에서도 deploy order를 정의하는데 사용된다. 즉jar in EAR 의 경우, common class가 그 Class를 사용하는 EJB보다 늦게 deploy가 되면 Class NotFound 상태가 될 수 있기 때문에, common class를 먼저 deploy 시킬때, 그 common class를 사용하는 EJB의 EJB-JAR에 MANIFEST.MF를 이용하여, common class가 먼저 로딩되게하는데 사용을 한다.

꼭 기억해야 할것은 위와 같은 이유로 MANIFEST.MF는 EAR안에서만 사용해야 한다는 것이다.

지금까지 common class와, ejb-client-class들을 패키징하는 몇가지 정책에 대해서 알아보았다. 어떤것이 절대적으로 좋고 나쁘다는 정석은 없다. 개발 상황과, 정책에 따라서 알맞은 패키징 정책을 선택하는 것이 올바른 길일것이다. 단. 패키징 정책을 결정하지 않고, 개발을 진행하다가는 추후에 낭패를 볼 수 있으니, 패키징 전략을 수립한후에, 개발을 진행하도록 하자.

○ APP-INF/lib or APP-INF/classes (WLS 8.1 이상)

WLS 8.1부터 새로 등장한 방법으로, common class들을 APP-INF/classes나, lib 디렉토리에 배치하면, 그 ear안에서 자유롭게 사용할 수 있게 된다

NOTE!

좀더 효율적인 패키징 전략 수립을 위해서는 Component간의 Dependency와 패키징 구조를 파악하는 것이 중요한데, 이는 UML을 이용한 OOAD(Objected Oriented Analysis and Design) 단계에서 Class 간의 Dependency Diagram을 통해서 파악하고, 이를 Deployment Diagram을 통해서 형상화 하면 좀더 논리적이고 체계적으로 패키징 전략을 수립하는것이 가능하다.

※ Call by reference and Call by value.

잘알고 있겠지만, Java의 Call 방식에는 Call by reference와, Call by value 두가지 방법이 있다. 당연히 Call by reference가 속도나 효율면에서는 뛰어나겠지만, EJB와 같은 Remote Call의 경우에는 사용되는 Object나, Call Method의 인자전달을Call by value를 사용한다.
WLS 에서는 같은 EAR안에 패키징을 할경우에는 WLS가 RMI call을 optimize하여, call by reference로 하도록 조정해주고, local interface를 사용할 경우에도, call by refrerence를 사용하도록 한다.
이런 이유로, 같은 EJB를 어떤식으로 Packaging하느냐에 따라서도 Performance차이가 날 수 있다는것을 참고하도록 하자.


3. EJB Packaging Order


지금까지는 Application이 어떻게 패키징 되는지, 패키징 된 Class들이 어떤 방식으로 Loading되는지 알아보았다. 그럼 WebLogic Server에서, 어떤 과정을 거쳐서, EJB를 Packaging 하여 war,jar,ear등을 만들어내는지에 대해서 알아보도록 하자

○ MANIFEST.MF

1) develop ejb component

2) compile ejb component
개발한 EJB를 class로 컴파일 한다.

3) define EJB deployment descriptor
WebLogic에서는 3개의 Deployment descriptor를 필요로한다.
ejb-jar.xml
weblogic-ejb-jar.xml
weblogic-cmp-rdbms-jar.xml (optional, for CMP only)

EJB의 Deployment Descriptor를 만들어야 되는데, 이 부분은 WebLogic에서 어느정도 자동화가 가능하다.
EJB class가 있는 디렉토리에서 다음 명령어를 이용하면, Deployment Descriptor (ejb-jar.xml weblogic-xxx.xml) 파일을 자동으로 생성해준다.

WLS6.1
(EJB 1.1) java weblogic.ant.taskdefs.ejb.DDInit [dir]
(EJB 2.0) java weblogic.ant.taskdefs.ejb20.DDInit [dir]
(Web App) java weblogic.ant.taskdefs.war.DDInit [dir]
(App) java weblogic.ant.taskdefs.ear.DDInit [dir]

WLS 7.0
(EJB) java weblogic.marathon.ddinit.EJBInit [dir]
(App) java weblogic.marathon.ddinit.EarInit [dir]
(Web App) java weblogic.marathon.ddinit.WebInit [dir]

이를 통해서 생성된 EJB DD들은 완전한것이 아니기 때문에, 직접 에디터를 통해서 수정하도록 하자.

아래 그림은 각각의 EJB deployment descriptor가 어떻게 시스템과 맵핑이 되는지를 나타내주는 그림이다.



4) packaging EJB to jar file
이렇게 개발된 EJB class파일들과, deployment descriptor를 jar 유틸리티를 이용해서 jar파일로 패키징 한다.

5) generate EJB stub (* important !!)
4)단계까지는 대부분의 사용자가 잘 진행을 하지만, 시중의 많은 서적이나, 초보 가이드 문서에 빠져있는 부분이 EJB stub을 만드는 부분이다.



우리가 코딩하는 EJB 부분은 EJB의 로직부분이다. EJB는 분산객체이기 때문에, 아랫단에서 네트워크 환경을 위한 RMI 등의 통신 메커니즘을 제공하는데, 이 통신 메커니즘에 해당하는 부분이 EJB의 stub class들이다. 요즘의 WAS들은 이 stub Class들을 EJB deploy과정에서 자동으로 생성해주는 경우가 많은데, 이 과정은 server에 upload되는 순간에, EJB의 내용을 분석하여, stub의 java source 파일을 생성하고, javac 컴파일러를 invoke하여, stub class를 generation 하게 된다. 이 기능은 개발시에 매우 편리하니, 개발과정에서 사용하도록 하자.

그러나 운영시에는 deploy하는 과정에 많은 EJB stub을 만들고 컴파일하는데 많은 resource가 소요된다. 결과적으로, 한꺼번에 많은 EJB를 deploy할때는 이 stub을 생성하는 과정에서 동시에 많은 resource가 사용되서 시스템이 느려지거나, boot up 시간에 영향을 주는 경우가 많다.

이런 이유로, ejb를 서버에 deploy하기 위해서, ejb stub을 미리 생성해서 패키징하여 deploy하는것이 좋다. 다음과 같은 방법으로, ejb stub을 포함한 jar파일을 생성할 수 있다.

% java weblogic.ejbc [ejb-jar-file-name] [result-file-name]

example)

% java weblogic.ejbc account_manager.jar account_manager_stub.jar

여기까지 진행하면, deploy를 하기 위한 하나의 완벽한 ejb-jar 파일이 작성된것이다.

6) packaing EJBs into ear files

앞에서 작성한 ejb-jar파일과 war파일들을 적정한 디렉토리에 배치하고, META-INF/application.xml 파일을 작성한후 jar 유틸리티를 이용하여 ear로 생성하면 최종 deploy를 위한 준비가 끝난것이다.

○ Specifying ejb-client.jar
EJB를 클라이언트에서 사용하려면 위에서 설명하였듯이, ejb client class들이 필요하다.

EJB Client class들은 EJB Home Interface,Remote Interface,Primary Class Interface나, 기타 인자가 되는 Class들로 구성이 되는데, 이 Class들만 묶어서, 해당 EJB를 사용하기 위한 jar파일로 구성하게 된다.

(※ 이때, EJB Implementation Class들과, stub Class들을 같이 묶는 경우가 있는데, 이는 deploy 방법이나 CLASSPATH 설정등에 따라서 심각한 문제를 발생시킬 수 있으니, 절대로 같이 패키징하지 말자.)

이 파일들을 일일이 골라내서 패키징하는것도 여간 번거로운 작업이 아닐 수 없다. 이것을 좀 더 편리하게 하기 위해서, J2EE spec에서는 자동으로 ejb-client.jar Class를 생성해주는 기능을 제공하는데, 간단하게 ejb-jar.xml을 수정하고, java weblogic.ejbc xxx를 실행해주면된다.

구체적인 순서는 다음과 같다.

   - ejb-jar.xml에 ejb-client-class.jar 라는 엘리먼트를 추가한다.
   - ejb-jar 파일을 java weblogic.ejbc [ejb-jar-file-name] [result-file-name] 를 실행하면, 해당 디렉토리에 ejb-client-class.jar라는 파일 이름으로, client Class만 추출되어진 jar파일이 생성된다.

이렇게 생성된 jar파일들은, Servlet/JSP에서 사용할 경우 WEB-INF/lib 에 위치하거나, Client Application의 classpath내에 적용되어 사용된다.

○ Deploying Pinned EJB

특히 Cluster에 EJB를 Deploy할때는 특별한 주의가 필요한데, Cluster의 경우에는 EJB를 하나의 서버에만 deploy하고, targeting을 통하여, Cluster내의 다른 서버에, EJB를 배포할 수 있다.
이경우, ejbc를 거치지 않은 EJB의 경우에는 upload한 서버의 경우에는 자동으로 ejbc를 실행하여, stub을 생성하지만, targeting에 의해 ejb가 복제된 다른 서버의 경우에는 stub이 없는 파일이 복제 되기 때문에, client에서 그 EJB를 호출할 경우, RMI Layer에서 Assertion error가 발생하게 된다.

○ Ant utility

지금까지 EJB를 배포하기 위한 패키지를 생성하는 순서에 대해서 살펴보았다. 과정이 길고 복잡하기 때문에, 개발도중 매번 일일이 실행하기에는 매우 복잡하기 때문에, J2EE에서는 예전 Unix시절의 make와 같은 유틸리티를 제공한다. Ant라는 이름의 유틸리티로, build.xml이라는 스크립트를 만들어서 위의 과정을 자동화할 수 있다. 거의 EJB 개발에서는 표준으로 사용하고 있는 유틸리티이니 한번 체크해놓도록 하자.
좀더 자세한 정보는http://ant.apache.org/ 를 참고하시 바란다.


4. EJB deploy in WebLogic Server


이렇게 만들어진 Archieve file들(war,ear,jar)을 WebLogic에서 EJB를 Deploy하는 방법은 크게 3가지 방법이 있다.

   - Console deploy
   - Command line deploy
   - Auto deploy

○ Console deploy

WebLogic 콘솔을 이용하여, 웹브라우져에서 디플로이 하는 방법이다. 간단한 방법이므로 본 문서에서는 따로 설명하지 않는다. http://edocs.bea.com 의 WLS deploy 문서를 참고하기 바란다.

○ Command line deploy

웹브라우져를 사용할 수 없는 command line 환경에서 사용할 수 있는 방법이다.

%java weblogic.deploy ?port port_number ?host host_name deploy password name source

example)
%java weblogic.deploy ?port 7001 ?host localhost deploy weblogicpassword CMP_example c:\weblogic\CMP_example\
%java weblogic.deploy ?port 7001 ?host localhost deploy weblogicpassword bean_jar c:\weblogic\bean.jar

source 부분에는 EJB Beans의 jar 파일의 Full 경로가 들어가거나 또는 Directory 명이 들어간다.

○ Auto deploy

WebLogic의 $WL_HOME/config/$DOMAIN_NAME/applications (WLS6.1 기준) 디렉토리에 jar 파일이나, EJB 디렉토리를 복사해놓으면, WebLogic이 Boot up시에, 자동으로 디플로이되거나 또는 그 EJB의 내용이 변경되었을때, 자동으로 redeploy를 한다.
Boot up시에 deploy되는 기능은 언제나 사용이 가능하지만, WebLogic 기동중에, ejb-jar 파일을 바꿔서 redeploy하는 기능은, WebLogic을 Development Mode로 부팅했을때만 가능하다. Development Mode로 WebLogic을 부팅하는 방법은 startWebLogic.sh 에서 java 옵션에, -Dweblogic.ProductiobModeEnabled=false 로 해주면 Development로 부팅이 된다.

○ Partial upgrade (only WLS 8.1 이상)

WLS8.1에서는 Class Loader모델이 변경되어, 좀더 향상된 deploy가 가능하다. EJB는 Interface를 통해서 호출이 되기때문에, Interface가 변경되지 않은 상태에서, implemtation class 하나만 변경하여 redeploy하는 기능이 추가되었다.

이는 예전버전에서는 각각의 application 단위로, EJB Class를 Loading하였다. (JAR 파일의 경우, 하나의 Application Class Loader가, JAR안의 모든 EJB를 Loadinig했고, EAR의 경우에도, 하나의 Application Class Loader가 모든 EJB Class를 Loading했었다.) 그러나, 8.1 에서부터는 아래 그림과 같이 각각의 Application Class Loader아래에, 각각의 EJB Implemetation Class마다 별도의 Class Loader가 가동되게 됨으로써 가능해진 기능이다.

각각의 EJB Implementation Class를 redeploy하기 위해서는

java weblogic.Deployer ?adminurl url ?user user ?password password ?name myapp ?redeploy myejb/foo.class

을 해주게 되면, myapp application의 myejb jar 패키지에서 foo.class라는 EJB implementation file만 redeploy를 해준다.



여러개의 파일들을 한꺼번에 업데이트 할 수 도 있는데, 이는, redeploy 옵션뒤에, 다음과 같이 파일명들을 정의해주면 된다.

java weblogic.Deployer ?adminurl url ?user user ?password password ?name myapp ?redeploy myejb/foo.class mywar anotherejb

위의 명령의 경우에는 myapp의 myejb jar의 foo.class, 그리고 mywar.war 웹애플리케이션과, anotherejb EJB 패키지를 redeploy를 해준다. 이때, 이 3개의 파일로 인해서 redeploy를 해줘야하는 dependency 관계가 있는 다른 컴포넌트들도 자동으로 redeploy를 해주게 된다.


5. Programming Tip


이번 기사를 정리하는 기분으로, 한가지 Class Loader의 팁을 소개한다.

해당 Class가 어느 Class Loader를 통해서 Loading 됐는지를 쉽게알 수가 있다.

해당 CLASS에 다음과 같은 코드를 삽입하면 된다.

   ClassLoader loader = null;
   loader = this.getClass().getClassLoader();
   System.out.println("This class is :"+this.getClass().getName());
   while(loader != null){
      System.out.println(loader.getClass().getName());
      loader = loader.getParent();
   }//while

(EJB Class 안에 넣고 이 코드를 수행했을때 수행결과는 다음과 같다. WLS6.1 기준.)

   This class is :com.bea.examples.simpleEJB.AccountManagerEJB_fsrjh9_Impl
   weblogic.utils.classloaders.GenericClassLoader
   sun.misc.Launcher$AppClassLoader
   sun.misc.Launcher$ExtClassLoader


[참고 자료]

http://java.sun.com/docs/books/tutorial/ext/basics/load.html
http://e-docs.bea.com/wls/docs61/ejb/EJB_deployover.html#1011066
http://e-docs.bea.com/wls/docs81/programming/classloading.html#1083313
http://dev2dev.bea.com/articles/musser.jsp

Posted by 1010
98..Etc/Etc...2008. 8. 7. 15:20
반응형

<ul>, <li> 를 사용해서 좌측메뉴 만들기


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Statz">
<META NAME="Keywords" CONTENT="CSS연습,웹표준2.0,기본메뉴 만들기">
<META NAME="Description" CONTENT="">
<style type="text/css">
#menu{
 list-style: none;
 padding-left: 10px;
 margin: 0;
 font-size: 12px;
 /* background-color: #EFEFEF */
}
#menu li{
 background: url(./images/arrow_01.gif) no-repeat 0 50%;
 padding-left: 17px; /* 아이콘만큼 떼고 글자위치*/
}
</style>
</HEAD>

<BODY>
<ul id="menu">
<li>회사소개</li>
<li>연혁/조직도</li>
<li>인증현황</li>
<li>찾아오시는 길</li>
</ul>
</BODY>
</HTML>

Posted by 1010
98..Etc/Etc...2008. 8. 7. 15:15
반응형

JSP Tips http://www.okjsp.pe.kr/seq/77154


웹표준 준수사항 몇가지

조건 :  HTML 4.01 Transitional

1) 자바스크립트 지시자나 스타일시트 지시자에 타입정보가 꼭 필요하다.
<script language="JavaScript" type="text/javascript">
<style type="text/css">

2) img,  map 태그등에 모두 alt 속성이 필요하다.

3) td는 background 속성을 지원하지 않으므로 스타일 시트형태로 표현한다.
<td style="background-image:url('/img/img.gif');"></td>

4) table은 height 속성을 지원하지 않는다.
<table height="100%"> <-- 에러

5) tr은 colspan, height 속성을 지원하지 않는다.
<tr height="30" colspan="2"> <-- 에러

6) body태그는 2개이상있으면 안된다.
body에 onLoad때문이라면 body태그대신
<script language="JavaScript" type="text/javascript">
window.onload = funcName(arg1,arg2);
</script>
형식으로 한다.

7) 스타일시트 font-family 에 한글 parsing이 안되는 문제가 있다
font-family:돋움 의경우 font-family:Dotum 으로 변경한다.

8) 스타일시트 선언은 <head> 안에서 해줘야한다. <body> 안에서 선언하면 에러 -_-
<head>
<link href="./style.css" rel=stylesheet type='text/css'>
</head>

9) html 안에 bgcolor나 width,height값을 %단위로 속성 삽입시 코텐션빠지면 에러
<td height="1" colspan="2" bgcolor="#ffffff"></td>
<table width="100%">
위와같이 "" 또는 '' 로 감싸줘야한다.

10) form 태그가 table 안에 있으면 에러 table을 감싸고 있어야한다. table 안에 있으면 에러
<form>
<table><tr><td></td></tr></table>
</form>
또한 form태그안에는 name속성과 action 속성이 모두 존재해야한다.
<map 태그역시 table 바깥에 위치해야함

11) 이미지서브밋에 width, height, border 속성을 쓰면 에러.
<input type="image" src="images/button_search.gif" align="bottom">
위와같이 align 속성은 쓸수 있음

13) url 쿼리스트링의 경우 & 기호는 다음과같이 인코드해주어야한다.
& + amp; (html 에디터에서는 안보이네요 -_-)

& a m p ; (띄어쓰기 붙혀서..)
<a href="/dir/file.php?id=111& a m p ;pwd=222">xxxxxxxx</a>

14) img태그나 기타 태그 속성중에 align="absmiddle" 는 비표준 middle 로 수정

15) 스타일을 표현할때 width, height 값에 px 안붙이면 에러, 색상코드에 # 안붙이면 에러
style="width:10px;height:20px;#FFFFFF;"

16) hidden 태그경우 <table 안에 들어있으면 에러.. 즉 form 안에 table 밖에 위치
즉 form태그 안에 table태그 밖에 위치해야함

17) body태그에 leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" 부분 있으면 에러
style="margin:0px;" 형태로 바꿔준다.

18) 자바스크립트 변수에 html 닫힘태그 쓸때는 escape문자로 표현한다.
<a href='url'>url<\/a>

19) 플래쉬 삽입
<object type="application/x-shockwave-flash" data="<?=$IndexImg?>/index_main.swf" width="260" height="487">
    <param name="movie" value="<?=$IndexImg?>/index_main.swf">
    <param name="quality" value="high">
</object>
플래쉬 태그에 classid나 codebase를 쓰면 에러. 다만 js형태로 밖으로 빼놓으면 에러 못찾음 -_-;;

20) 주석에 + 기호달면 에러
<!-- ----------- + ---------------- -->
위의 형태 에러남..

21) DocType를 페이지 맨상단(html태그 밖)에 정의해야함
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

22) TEXT-DECORATION 의 스타일 표현형태
TEXT-DECORATION: none
TEXT-DECORATION: yes(x) -> TEXT-DECORATION: underline

Posted by 1010
98..Etc/Etc...2008. 8. 7. 15:14
반응형

1. window.status

window.status 코드가 인터넷 영역에서 실행되지 않습니다

function test() {

    window.status = 'Hi!';

}

단 로컬에서는 됩니다 즉 로컬에 저장된 html을 실행하면 window.status가 먹지만

인터넷에 있는 window.status는 실행되지 않네요

개인적으로 js 디버깅시 자주 사용하곤 했는데 아쉬운 부분입니다 ㅠ.ㅠ



2. <base>태그

HTML3.2 스펙에 따라 <base>태그는 반드시 <head></head>에 위치해야 합니다

그렇지 않으면 인식하지 않는다네요

예전엔 base태그를 간간히 썼지만 요즘은 frame 을 잘 사용하지 않아서인지 거의 사용하진 않죠



3. window.close()

window.close()시 나타나는 프롬프트를 회피하기 위해 window.opener 를 사용했었는데

더이상 아래 코드는 먹지 않고 창을 닫겠냐는 프롬프트가 뜨게 됩니다


window.opener=top;

window.close();

or

self.opener = self;
window.close();



4. _search

_search를 통해 검색창을 더이상 열지 못합니다

<a href="">Test Sidebar</a>




5. window.prompt()

디폴트로 block 됩니다


 



6. 제한되는 메쏘드들


execCommand

clipboardData.getData()

clipboardData.setData()

clipboardData.clearData()

클립보드 저장, 및 클립보드 데이터 가져오기등의 메쏘드들이 제한됩니다

해보니 보안경고창이 뜨더군요

MS에서는 clipboardData 객체 사용을 권고하지 않습니다



7. Modal 및 Modeless Dialog 크기가 변경!


 

한마디로 크기가 커집니다 -0- (짜증)

사이즈를 지정하면 content 크기를 의미합니다



8. 새창으로 뜰때 주소줄 보임

더이상 새창을 window.open 의 property 특성으로 조절할 수 없습니다

무조건 주소창이 나타납니다 아주~ 짜증 이빠십니다 ㅠ.ㅠ


 



9. window.resizeTo()

window.resiztTo 함수는 에러가 발생하거나 차단됩니다

function changeSize(){
    window.resizeTo(1024,768);
}

*사진 보기 팝업 창등 팝업창 내에서의 resizeTo() 함수는 정상적으로 실행됩니다.

(ex: <script>resizeTo(550,600);</script>)

 

그리고 페이지에서 iframe을 이용해 게시판 삽입등을 했을 경우 가끔 resizeTo함수로 iframe의 세로 높이를

조절하는 소스들을 본적이 있는데, 이때는 스타일로 iframe의 id.style.height로 조절하면 됩니다.


10. HTTP, HTTPS 혼합된 인터넷 영역에서 보안 경고가 발생합니다



11. SELECT가 windowed element로 개선

이전까지는 SELECT Element가 Windowsed Element였기 때문에 다른 element와 달리 별도의 MSHTML pane에서 rendering되었습니다

즉 SELECT가 그림과 같이 layer들을 다 먹어버렸었는데, 이젠 그렇지 않다는거죠

요거 하나는 좋아졌네요 -0-



12. 스크립트 차단

6.0 까지는 아래 코드가 실행되어 보안에 매우 취약했었습니다 (XSS)

 <img src="javascrip t:alert('a')">

7.0 부터는 아예 실해이 안되네요

FF 2.0 도 실행이 안되는군요 ^^



13. CSS

100%는 아니지만 CSS2.1 표준 구현 강화가 되었습니다

또한 <a> 태그에서만 가능했던 :hover나 background-attachment: 가 모든 태그에서 사용가능해 졌습니다



11월 18일에 한글판 IE7이 배포되며 3주후에는 자동 업데이트를 통해 IE7가 설치가 된다고 합니다

슬슬 준비하셔야 할겁니다


위에 열거한 사항들은 대부분 인터넷 옵션의 "보안"항목에서 수정할 수 있지만

중요한점은 이 사항들이 기본빵이라는점이겠죠 -0-


이밖에도 알려진 버그로는 "신뢰할수 있는 사이트"에 추가를 했는데도, 보안창이 뜬다든가,

flash에서 _blank로 새창을 열면 자기 자신창에서 열린다든가 하는 버그가 있다고 합니다


내년에 왼도 비스타가 나오면 한번더 보안관련된 사항들이 많이 나올듯 합니다.

Posted by 1010
98..Etc/Etc...2008. 8. 7. 15:12
반응형

사용방법 예)

<tr>

   <td>아이디 : <input type=text name=name tabindex=1></td>

</tr>

<tr>

   <td>패스워드 : <input type=password name=passwd tabindex=2></td>

</tr>


<script language="javascript">

//입력한 tabIndex로 객체리턴
function GetObjectByTabIndex(index)
{
for (i = 0; i < document.forms[0].length; i++)
{
  tmp = document.forms[0].elements[i];
  if (tmp.tabIndex == index)
  {
   return tmp;
  }
}
return null;
}



//엔터키 입력시 다음탭인덱스로 포커스이동

function KeyDownFocus(obj)
{  
if (event.keyCode == 13) {      
  tmp = GetObjectByTabIndex(obj.tabIndex+1);    
  if (tmp == null) tmp = GetObjectByTabIndex(1);    
  if (tmp != null) tmp.focus();
}    
}  
</script>



accesskey와 tabindex 사용하기

#1 accesskey : alt + value 기능 (단축키)

아마 각종 메신져 쓰는 사람들에게 제일 익숙한 기능중의 하나가 Alt - S 일거라고 생각합니다. 

Send 기능을 하는 키조합인데요, IE에서는 accesskey="s" 라고 하면 되거든요. 

즉 글쓰기나 코멘트의 submit 버튼에다가 다음과 같이만 하면 됩니다

ex) accesskey = "s" 또는 accesskey = "d"

<input type=submit value="글을 올립니다" accesskey="s"> 

<input type="text" name="txtName" value="" accesskey="d"> 

 

 

#2 tabindex : TAB 키를 통하여 이동순서 지정

 

tabindex  는 html code 에서 폼 요소를 이동할때 키보드 탭(TAB)을 눌렀을때의 이동 순서를 정하는 사용되는 속성으로 인터넷 익스플로서 4이상에서 사용된다.

사용할 수 있는 html tag는 예로 a, area, button, input, object, select, textarea.. etc

 

tabindex 값은 1부터 시작 -1 일경우 포커스가 위치하지 않음


ex) tablindex = "1"

<input tabindex="1" name="_a" type="text" size="5" style="" value="0">

<input tabindex="3" name="_c" type="text" size="5" style="" value="0">

<input tabindex="2" name="_b" type="text" size="5" style="" value="0">

 : _a에서 탭키를 눌렀을때 다음 tabindex로 이동. 그러므로 _b로 이동한다.

 


onkeyup


http://www.mensakorea.org/bbs/data/quiz/PlanarityExperimental.swf

Posted by 1010
98..Etc/Etc...2008. 8. 6. 10:23
반응형

리눅스
cpio 대용량 파일 압축
압축 해제시

zcat 명령 파이프 압축된 파일을 미리 볼수 있으

zcat Linux9i_Disk1.cpio.gz | cpio -idmv


VNC 설정

bash # vi /etc/sysconfig/vncservers

-기본적으로 아래 2줄 은 주석 처리
#  VNCSERVERS="2:myusername"
#  VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"

-아래 2줄을 마지막 줄에 입력
VNCSERVERS="1:root"
VNCSERVERARGS[0]="-geometry 1024x768 -nolisten tcp -nohttpd -localhost"

bash  #  cd ~ //  홈디렉토리 이동
bash  #  vncpasswd  //VNC 접속시 사용할 비밀번호 입력
bash  #  /etc/init.d/vncserver restart   //VNC 데몬을 재시작
bash  #  cd .vnc
bash  #  vi xstartup

- 아래의 2줄의 주석을 풀어준다

unset SESSION_MANAGER
exec  /etc/X11/xinit/xinitrc
bash  #  /etc/init.d/vncserver restart   //VNC 데몬을 다시 한번 재 시작

realvnc  를 실행 후 IP : 5901 를 입력한다.

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:20
반응형

브라우저에 붙여서 웹 개발시 도움이 될만한 툴이 다음처럼 몇가지 있습니다.

# Explorer용
1. IE Developer Toolbar
2. IE HTTP Analyzer

# Firefox용
3. Firebug
4. Web Developer Extension

1. IE Developer Toolbar
마이크로 소프트에서 배포하는 툴바입니다. beta2의 경우 툴바에 붙었는데.. 어찌된일인지.. beta3에는 툴바에 붙지 않네요.. 아무래도. 우리나라의 경우 많은 개발자들이 explorer를 기준으로 개발을 하다보니.. 이것저것 기능 설명을 해드리면 좋겠지만. 한번 써보세요.. 헉. 하실껍니다.
저는 주로 브라우저 resize와 color picker, outline및 DOM explorer기능을 정말 많이 사용합니다.

2. IE HTTP Analyzer
상용 소프트웨어입니다.

3. Firebug
웹 페이지 디버그및 CSS, HTML, JavaScript 모니터링을 위해 사용한다고 하네요.

4. Web Developer Extension
IE Developer Toolbar와 비슷한 기능을 담당하는 것 같습니다. 화면 보시고.. 일단 한번 사용해보세요.. ^^

출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:17
반응형

Microsoft Office Binary (doc, xls, ppt) File Formats

Published: February 15, 2008 | Updated: February 15, 2008

The documents listed below are covered by the Microsoft Open Specification Promise.

On This Page
Microsoft Word Microsoft Word
Microsoft PowerPoint Microsoft PowerPoint
Microsoft Excel Microsoft Excel
Office Drawing Office Drawing
Supporting Technologies Supporting Technologies

Microsoft Word

Word 97-2007 Binary File Format (.doc) Specification PDF | XPS

Microsoft PowerPoint

PowerPoint 97-2007 Binary File Format (.ppt) Specification PDF | XPS

Microsoft Excel

Excel 97-2007 Binary File Format (.xls) Specification PDF | XPS

Excel 2007 Binary File Format (.xlsb) Specification PDF | XPS

Office Drawing

Office Drawing 97-2007 Binary Format Specification PDF | XPS

Supporting Technologies

See Supporting Technologies


출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:15
반응형

출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:14
반응형
2008.03.01 version 1.0.1
    ---------------------------------------------------------------------------------------
    Added Res format.
    When You work Resource File, After modify -  doing "Update Area" in Manager Menu.
    And do Save Resource.
    Added Capture Function.

    2008.03.21 version 1.0.2
    ---------------------------------------------------------------------------------------
    KicoEditor is Freeware, by Romeo.
    Added Supporting ICL (New Execute, Portable Execute) Format.
    Added Supporting PNG Format.
    KicoEditor Icon created by KicoEditor.(C:\Program Files\KicoEditor\05 배포\Binary\Test)
    Keditor Icon Group created by KicoEditor.
    Added Extra - KImageResizer 1.0  - PNG(Testing),
                                                            JPG, BMP, GIF(No Tested)






출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:13
반응형
파이어폭스 사용자가 늘어나면서 한국 모질라 커뮤니티에서는 사이트 접근성에 대한 논란을 심심치 않게 볼 수 있다. 대부분 XX 사이트에서 XX 기능이 안되더라”, “인터넷 뱅킹을 할 수 없다” 등이었다. 이는 해당 웹 페이지들이 액티브X 컨트롤을 사용하기 때문이다.

특히 국내는 액티브X 컨트롤을 사용하는 웹 페이지가 상당히 많기 때문에 파이어폭스와 같은 비 인터넷 익스플로러 계열의 웹 브라우저에서는 해당 페이지의 접근성이 현저하게 떨어지기 마련이다. 여기서는 액티브 X에 대응하기 위한 모질라 진영 대안과 XPCOM 플러그인을 살펴보고, 간단한 예제를 통해 웹 사이트 접근성을 높일 수 있는 방안을 모색해 본다.

1995년 넷스케이프는 웹 브라우저와 외부 프로그램과의 통신에 있어 좀 더 다이내믹한 인터넷 경험을 제공하기 위해 플러그인이라는 기술을 선보였다. 그러나 MS는 인터넷 익스플로러(이하 IE)를 시장에 도입하면서 이에 대응하는 액티브X 기술을 발표하게 된다.

액티브X는 윈도우의 COM/DCOM 환경에서 인터넷을 자유자재로 사용할 수 있는 기술 플랫폼으로 IE에 임베딩되어 실행 가능하다. 이후 IE와 윈도우가 브라우저와 운영체제를 독점하게 됨에 따라 윈도우 환경에서는 자바 애플릿이나 넷스케이프 플러그인 기술을 대체하게 되었다

IE가 웹 브라우저 시장 독점체제를 구축하는 동안 국내에서는 세계에서도 유래를 찾아 볼 수 없을 정도로 급속한 인터넷 환경을 갖추게 되었다. 이러한 성장 이면에는 몇 가지 문제점이 발견됐는데 바로 특정 운영체제와 플랫폼에 종속성이 심화된 것이다.

웹 페이지를 만들 때도 현재의 W3C에서 발표한 웹 표준 스펙을 이용하지 않고, 당시 넷스케이프와 IE에서 경쟁적으로 내놓은 비표준 태그와 MS 표준을 기반으로 한 문서 객체(Document Object Model)만 사용하려는 행태가 현재에도 고쳐지지 않고 있다(IE도 최소한의 W3C 표준을 지키고 있어 표준을 따르기만 하면 쉽게 모든 브라우저를 지원하게 된다).

또한, 플러그인 사용에 있어 액티브X 종속성이 더 심화되어 비 윈도우, 비 IE 환경에서는 사용이 거의 불가능하다는 것이다.

액티브X 종속성은 외국에 비해 국내의 경우 매우 심각하다. 액티브X 컨트롤을 배포할 때 사용하는 코드사인(Codesign) 인증서의 경우, 베리사인으로부터 국내에 공급되는 양은 거의 800여 개가 된다. 인증서 하나를 하나의 회사에서 사용한다고 본다면 적어도 800개의 업체에서 800개의 액티브X 컨트롤이 배포되고 있다는 것을 의미한다. 이는 세계에서 최대 규모이며 적어도 코드사인 인증서의 경우 세계 최대 시장이라고 들었다. 필자도 윈도우에 최소로 액티브X를 설치하는 데도 30여 개 정도가 설치되어 있다.

왜 액티브X가 문제인가?
액티브X를 국내에서 급속도로 쓸 수밖에 없었던 이유는 몇 가지 있다. 첫 번째는 초고속 인터넷의 급속한 확대이다. 플러그인이 구동되기 위해서는 별도의 프로그램을 다운받아 설치해야 하는데 크기가 큰 것은 모뎀 수준의 연결 속도에서는 다운받을 때까지 기다릴 수 없다. 이런 이유로 아직 외국에서는 액티브X 같은 플러그인 기술을 사용하는 웹사이트가 거의 드물다. 플래시와 윈도우 미디어, 리얼플레이어 등과 어도비 아크로뱃 리더처럼 설치시 제공하는 플러그인 정도가 대부분이다.

이에 반해 국내는 로그인, 채팅, 파일 첨부, 광고, 카드 결제, 인터넷 뱅킹, 사이버 트레이딩, 게임, 심지어 정부 민원 업무까지 그야말로 쓰이지 않는 곳이 거의 없을 지경이다. 초고속망 국가로 빨리 진입한 것이 플러그인을 부담 없이 사용하게 한 원인이다.

두 번째는 웹과 애플리케이션의 구별이 모호하다는 것이다. 웹은 정보의 자유로운 공유라는 측면에서 발전되어 왔다. 하지만 국내에서는 웹을 애플리케이션이 하는 기능의 연장선상에서 바라보고 있으며, 그에 따라 부가 기능들이 계속적으로 필요로 하게 된 것이다. 소프트웨어의 모든 기능을 웹이 할 수 있다는 생각에 여러 기능들이 덕지덕지 붙어 결국 웹도 애플리케이션도 아닌 어중간한 웹사이트들이 만들어진 것이다.

세 번째는 국가 차원에서 플러그인 기술 장려를 들 수 있다. 국내에서 플러그인 기술이 가장 먼저 도입된 것도 인터넷 뱅킹과 공인 인증 기술에 있다. 1999년 당시 128비트 암호화가 탑재된 웹 브라우저가 미국 밖으로 수출이 안 되고 있는 사이, 우리나라에서는 128비트 암호화가 가능한 SEED라는 알고리즘을 개발했고, 이를 국가 인증 기술로 탑재하는 과정에서 플러그인 기술을 사용하게 된 것이다. 당시에는 넷스케이프와 IE 양쪽에 모두 포팅 했으나 브라우저 점유율 확대에 따라 지금은 액티브X만 남게 되었다.

플러그인은 자신의 PC에 다른 프로그램을 설치하는 것으로 보안 때문이라도 신중하게 설치 여부를 검토해야 한다. 하지만 인터넷 뱅킹, 사이버 트레이딩, 공인 인증 등 액티브X 프로그램을 보안 경고창의 ‘예’ 버튼 한번으로 설치했던 경험때문에 일반인들에게 거부감 없이 받아들여지고 있다(최근 IE의 보안 이슈와 악성 플러그인이 범람함에 따라 좀 더 신중하게 액티브X를 설치하는 사람들이 늘어나고 있기는 하지만).

대안 없는 무분별한 액티브X 사용은 그것이 자랑할만한 독자 기술이었다 해도 다시 특정 기술 플랫폼 종속적이 될 수밖에 없다는 실례를 국내의 공인 인증 기술에서 찾아볼 수 있다. 99%가 사용하고 있으니 그것만 지원하는 것이 효율적이라는 생각에는 종속성이 커짐에 따라 증대하는 관성과 더딘 기술의 진보, 그리고 상상할 수 없는 비용의 증가를 예고하는 것이다.

얼마 전 윈도우 XP 서비스팩 2 출시에 따른 액티브X 설치 방법의 변경으로 인해 생긴 문제 때문에 국내만 서비스팩 2 출시를 몇달 간 연기하고서 모든 웹사이트들이 이 문제에 매달렸던 것만 봐도 알 수 있다. 그래서 운영체제나 디바이스 플랫폼에 독립적인 데다 오픈소스이기도 한 모질라 플랫폼에서 제공하는 대안 기술을 주목해야 하는 것이다.

대안 1. 액티브X 플러그인 기술
많은 사람들이 파이어폭스가 액티브X를 지원하면 많은 문제가 해결되는데 왜 그렇게 하지 않는지 의문을 가진다. 액티브X는 윈도우 종속적인 기술이고 모질라는 크로스 플랫폼을 지향하는 특성상 그렇게 할 수가 없다. 그러나 같은 기능을 두 가지로 개발하는 비용을 들이는데 비해 우선 사용자 층이 두터운 윈도우 플랫폼에서 액티브X를 사용할 수 있게 한다면 또한 윈도우 개발자들도 모질라 플랫폼을 쉽게 가져다 쓸 수 있다면 서로를 이해하고 접근 하는데 더 용이하지 않을까?

그래서 시작된 것이 바로 모질라 액티브X 프로젝트(
http://www.iol.ie/~locka/mozilla/mozilla.htm)이다. 이 프로젝트는 성격상 모질라의 공식 프로젝트는 아니지만 자원봉사로 꾸준히 업데이트되고 있다.

이 프로젝트의 결과물은 크게 두 가지 부분으로 나눠진다. 그 첫 번째는 액티브X 플러그인(Plug-in For ActiveX controls) 기술이다. 이것은 기존의 모질라 플러그인 기술을 사용하여 윈도우에 설치된 액티브X를 감지하고 실행해 주는 플러그인이다. 즉, 파이어폭스에서 액티브X를 실행할 수 있게 해준다.

이를 위해서는 먼저 IE와 파이어폭스가 플러그인을 인식하는 방법을 맞출 필요가 있다. 똑같이 표준 태그인 <object>를 사용하고 있지만 그 속성을 인식할 때 IE는 classid="CLSID:XXXX...", 파이어폭스는 type="application/x-oleobject" 등과 같은 방법을 사용한다.

액티브X 플러그인은 일단 classid를 인식하게 해준다. 그리고 clsid에 해당하는 액티브X를 호스팅하여 실행한다. 만약 비표준 자바스크립트나 VBScript로 액티브X를 제어하면 제대로 동작하지 않겠지만, 그렇지 않은 경우 대부분 잘 동작한다.

<화면 1> 파이어폭스에서 윈도우 미디어 플레이어 액티브X가 실행되는 모습

이 프로그램에 모든 액티브X가 실행되는 것은 아니다. 만약 실행하고 싶은 액티브X가 있으면 파이어폭스 디렉토리 내에 activex.js 파일에 클래스 ID를 추가해줘야 한다.

pref("general.useragent.vendorComment", "ax");
pref("security.xpconnect.activex.global.hosting_flags", 9);
pref("security.classID.allowByDefault", false);
pref("capability.policy.default.ClassID.CID6BF52A52-394A-11D3-B153-00C04F79FAA6", "AllAccess");
pref("capability.policy.default.ClassID.CID22D6F312-B0F6-11D0-94AB-0080C74C7E95", "AllAccess");

이렇게 하는 이유는 보안상의 문제로 사용자가 실행할 액티브X를 결정할 수 있도록 하기 위해서이다. 아직 테스트 프로젝트이므로 편리한 인터페이스가 필요하다는 생각이 든다.

두 번째는 플러그인 액티브X(ActiveX hosting Plugin in IE)이다. 이 액티브X 컨트롤은 IE에서 넷스케이프 플러그인을 실행할 수 있도록 해 준다. MS가 IE 5.5 SP2부터 넷스케이프 플러그인에 대한 지원을 없애 버렸기 때문에 이 기능을 이용하면 넷스케이프 플러그인 개발자에게는 유용한 방식이다.

만약 넷스케이프 플러그인 만으로 구현 가능한 기술이라면, 액티브X 컨트롤을 중복해서 만들지 않더라도 모든 브라우저에서도 지원할 수 있다는 것을 의미한다. 이 방법을 테스트 해볼 수 있는 예제는
lxr.mozilla.org/seamonkey/ 에서 얻을 수 있다.

이렇듯 액티브X와 모질라 플랫폼 연결 고리가 가능하게 되자 이 프로젝트에서는 모질라 액티브X 컨트롤(
http://www.iol.ie/~locka/mozilla/control.htm)이라는 것을 구현하고 있다. 윈도우 개발자들은 IWebBrowser 같은 객체를 통해 IE를 간단하게 임베딩하여 프로그램에 사용할 수 있다.

<화면 2> 비주얼 베이직으로 모질라를 임베딩한 예제 실행 화면

이 모질라 액티브X도 마찬가지로 VC++, VB, 델파이, 닷넷 등에서 모질라를 간단하게 임베딩하여 코드를 사용할 수 있다. 간단한 예제를 만들어 실행하는 방법과 소스코드는 이 웹 페이지나 모질라 액티브X 소스코드 트리(lxr.mozilla.org/seamonkey/)를 참고하면 된다.

대안 2. XPCOM 플러그인 기술
액티브X와 모질라를 이어주는 플러그인 기술은 그 자체로서 크로스 플랫폼을 지원하지 않기 때문에 매우 불안정한 대안이라고 밖에 볼 수 없다. 모질라가 가지고 있는 근본적인 대안은 XPCOM(Cross-Platform Component Object Model)을 이용하여 모든 플랫폼을 동시에 지원하면서 XUL, 자바스크립트, CSS 등을 통해 리치 인터넷 애플리케이션(Rich Internet Application)을 만드는 기술의 확대를 꾀하는 것이다. 예전 플러그인이 수행했던 외부와의 통신 기능도 XML-RPC, SOAP, XMLHTTP 등의 기술로서 이미 해결되었기 때문에 확장 기능 등에서 활용도는 매우 높아지고 있다.

그러나 그밖에 외부 기술을 도입하고자 한다면 모질라 내부에 구현해야 한다. XPCOM 플러그인 기술은 XPIDL로 정의한 인터페이스를 구현한 플러그인 API와 이를 호출하는 XUL 및 자바스크립트로 구성되어 자유자재로 구현 가능하다. 각 API의 경우 각 운영체제별로 고려하고 컴파일하는 수고를 제외하고는 크로스 플랫폼에서 훌륭하게 돌아갈 수 있다. 글의 뒤 부분에서 XPCOM 플러그인을 활용한 구현 방법과 사례가 자세히 다뤄질 것이다.

대안 3. 새로운 표준 활동 WHATWG
그간 웹 표준화 기구인 W3C(
www.w3.org)를 통해 수많은 웹 표준들이 제정됐음에도 불구하고 플러그인 기술 즉 웹 애플리케이션 기술에 대한 표준은 만들어지지 못했다. 표준은 상호운용성과 개방성 측면에서 매우 중요하며, 공정한 경쟁을 유도할 수 있는 제도적 장치이다. 이러한 필요성에 따라 W3C는 2004년 4월 웹 애플리케이션에 대한 워크샵을 개최하고 이에 대한 의견을 나누었다.

이 워크샵에서 가장 큰 쟁점은 MS와 오페라/모질라 재단 연합이 발표한 웹 애플리케이션 방향에 대한 것이다. MS는 XAML/아발론 등으로 대별되는 롱혼(Longhorn) 전략과 자사가 제안한 CSS3에 대한 이야기만 한 반면, 오페라/모질라 연합은 기존의 웹 표준 기술을 활용한 중간 단계의 웹 애플리케이션 표준을 빨리 만들자는 제안을 했다.

이에 대해 많은 참석자들은 부정적인 반응을 나타냈다. 이런 문제를 다룰 워킹그룹이 아직 존재하지 않는다는 이유를 달았지만 이미 W3C는 데스크탑 환경에서 웹 표준 문제보다는 오히려 모바일 같은 비 PC 디바이스에서 상호운용성에 관심을 가진 사람들이 많았으며 그곳에 초점을 두고 있었기 때문이다.

이에 2004년 6월 오페라와 모질라의 이안 힉슨과 데이비드 바론, 애플의 데이비드 하야트 등이 주축이 되어 W3C와 별도로 표준안을 만들기 위한 웹 애플리케이션 기술 워킹그룹(Web Hypertext Application Techology Working Group,
http://whatwg.org)을 조직하고 활동에 들어갔다. 이 워킹그룹은 W3C 형식에 준하는 표준안 작업을 한 후 향후 IETF나 W3C에 기초안(draft)를 제안할 예정이다.

이 워킹그룹이 작업 중인 표준안은 크게 세 가지 영역으로 나눠져 있다. 그 중 가장 관심을 끄는 웹 애플리케이션 1.0은 애플리케이션 개발을 하기 위해 기존의 HTML을 확장하는 것이다. 흔히 HTML5라고 불리는 이 표준안은 XUL의 경험을 기초로 복잡한 XML을 사용하기보다는 기존의 HTML을 확장하여 UI를 만드는 것을 목표로 하는 것으로 기존의 파이어폭스 확장 기능보다도 더 쉽게 웹 애플리케이션을 만드는 방법을 제안할 것이다.

예를 들어 메뉴바를 만들기 위해서 다음과 같이 우리에게 익숙한 HTML 태그와 그 확장 태그를 쓰겠다는 것이다.

<menubar>
 <li>
  <a href="#file">File</a>
  <menu id="file">
   <li><button type="button" onclick="fnew()">New...</button></li>
   <li><button type="button" onclick="fopen()">Open...</button></li>
   <li><button type="button" onclick="fsave()" id="save">Save</button></li>
   <li><button type="button" onclick="fsaveas()">Save as...</button></li>
  </menu>
 </li>
</menubar>

이 표준안은 XHTML, CSS 같은 기존 표준안과는 연동되지만, XUL/XAML과는 독립적으로 구성하겠다는 뜻을 가지고 있어 웹 표준으로서 기술을 주도하겠다는 생각을 가지고 있다. 웹 폼 2.0(Web Forms 2.0)은 HTML 4.01의 폼 부분의 기능을 확장하는 작업으로 웹 애플리케이션에서 사용하는 데이터 입력 및 출력 그리고 추가 등을 위해 기초적으로 필요한 작업이다. 따라서 이 표준안 작업은 꽤 많이 진척되어 2004년 연말까지 거의 완성되었다.

W3C에는 이와 유사한, IBM이 제안하여 표준안이 된 XForm이 있다. XForm은 기계들 간의 데이터 교환 표준으로 삼고, WebForm은 사용자 인터페이스에 사용하게 하여 애플리케이션 개발자들이 이해하기 쉽도록 하자는 것이 이 표준안의 취지이다. 이 표준안이 W3C나 IETF에 받아들여진다면 비 MS 진영의 브라우저 애플리케이션 개발에 획기적인 플랫폼이 만들어질 것으로 예상된다.

<그림 1> XForm과 WebForm의 관계도

마지막으로 웹 컨트롤 1.0(Web Controls 1.0)은 새로운 WebForm과 UI에 대한 컨트롤과 외양 표시가 가능하도록 DOM과 CSS의 기존 표준을 확장하는 작업이다. 이 부분은 기존의 DOM/CSS의 객체 사용 방법이 어느 정도 성숙되어 있기 때문에 제일 마지막에 할 작업이 될 것이다.

표준은 표준으로만 존재하는 것이 아니라 구현됐을 때 빛을 발하게 된다. 모질라와 오페라, 애플이 만드는 새로운 표준은 웹 개방성과 상호운용성 문제를 해결할 수 있는 중요한 시발점이 될 것이다. 표준이 되더라도 과연 MS가 이를 수용할지 여부는 알 수 없지만 검증된 개발 방법론을 기초로 대안을 제시할 수 있다고 생각한다.

액티브X 넘어서기, XPCOM 구현
현재 모든 플랫폼에서 모질라 계열 웹 브라우저와 오페라, 매킨토시의 사파리(Safari) 등은 공통적으로 XPCOM 플러그인을 지원한다. 이 연합은 MS를 제외시켜 IE는 게코 플러그인이 지원하지 않는 유일한 웹 브라우저이다(인터넷 뱅킹을 할 때 <화면 3>과 같은 오류 메시지가 뜨는 것도 이 때문이다. 재미있는 것은 매킨토시용 익스플로러는 XPCOM 플러그인을 지원한다는 사실이다).

<화면 3> 파이어폭스로 은행 인터넷 뱅킹 접속시 출력 화면

넷스케이프 플러그인 기반, 라이브커넥트  
모질라 진영에서는 넷스케이프 4.x 시절부터 엑티브X에 대한 실질적인 대안을 준비해 왔다. 바로 라이브커넥트(LiveConnect)로, 웹 브라우저가 HTML에 종속된 한 가지 기술로만 개발되던 것에서 더 다양한 기술을 웹에 접목시키기 위해 도입된 기술이다. 내장된 JVM에서 자바 애플릿을 수행하고 NPAPI 1.1을 이용해 플러그인을 연동할 수 있는 것이 특징이다.

현재의 파이어폭스 XPCOM 아키텍처에는 이 라이브커넥트의 개념이 고스란히 담겨 있다(기존에 개발한 플러그인은 더 이상 4.x 시절의 라이브커넥트를 지원하지 않는다. 이전의 플러그인을 지원하려면 프로그램을 일부 수정해야 한다). 모든 플러그인은 XPConnect를 통해 자바스크립트에서 접근할 수 있으며 모질라에서 제공하는 게코 SDK의 NPAPI 2.0으로 모든 플랫폼에서 구현할 수 있다.

자바에 대한 의존성도 완전히 사라졌다. 4.x 시절 자바 1.1의 보안 모델에 전적으로 의존했지만 현재의 파이어폭스는 자체적인 보안 매니저가 있으며 자바도 플러그인으로 처리하여 플랫폼별로 최적의 JVM을 OJI(Open Java Interface)를 통해 접근할 수 있게 됐다.

국내 웹사이트의 현실을 볼 때 액티브X를 지원하지 않는 파이어폭스를 메인 웹 브라우저로 사용한다는 것은 여간 힘든 일이 아니다. 물론 IE 뷰 확장이나, 액티브X 호스팅 플러그인이 있지만 어디까지나 윈도우에서 파이어폭스를 사용하는 경우에 한정돼 있으며 근본적인 해결책이라 보기도 힘들다.

이런 점에서 앞서 언급한 넷스케이프의 다중 플랫폼 플러그인 지원 정책은 주목할 만하다. 국내의 경우 국가적으로 비 윈도우 운영체제에서의 웹 사이트 접근성을 높이려는 방안 등이 모색되고 있어 더욱 의미가 있다. 물론 액티브X가 이미 수많은 웹 사이트에 만연(?)해 있어, 일부 중복 개발의 우려가 있는 것도 사실이다. 그러나 플러그인 하나를 개발해 다양한 플랫폼에서 (IE를 제외한) 다양한 웹 브라우저를 지원할 수 있다는 점은 이런 우려를 불식시키기에 충분해 보인다.

파이어폭스의 XPCOM 플러그인은 XPCOM의 컴포넌트로 분류돼 플랫폼에 독립적인 공통 인터페이스를 제공한다. 넷스케이프 게코 플러그인 SDK를 이용해 개발하는데, SDK에 포함된 XPIDL로 플러그인에 접근하기 위한 타입 라이브러리를 만들고, 자바스크립트를 통해 스크립터블(scriptable : 호스트 오브젝트를 IDL을 통해 스크립트처럼 사용함을 말함)하게 접근할 수 있는 인터페이스를 만드는 것이다.

플러그인의 내부는 플러그인 측면(Plug-in side) API, 브라우저 측면(Browser side) API(동작 원리에서 설명), XPIDL에서 선언한 인터페이스들을 구현함으로써 완성된다. 이 때 한번 작성된 IDL(Interface Definition Language)과 플러그인은 플랫폼 독립적으로 유지, 보수할 수 있는 것이 특징이다(이 부분은 <그림 2>을 참조하면 이해가 쉽다). 빌드가 끝난 플러그인은 다음과 같이 각 플랫폼에 적절한 동적 라이브러리 형식을 취하게 된다.

◆ MS 윈도우 : Dynamic Link Library(.dll)
◆ 유닉스 : Share Object(.so 혹은 .dso)
◆ Mac OS : PPC Shared Library(.dylib)

이는 표준 인터페이스를 이용해 플랫폼 변화에 유연하게 대처할 수 있다는 장점이 있다. 플랫폼에 유연하다는 것 자체가 액티브 X에서는 불가능했던 개념으로, 플랫폼마다 최적의 네이티브 코드(native code)를 플러그인에 접목시켜 각 플랫폼의 특성에 맞게 작성할 수 있다. 그러나 각 플랫폼마다의 네이티브 코드를 고려해야 하고, 빌드를 따로 해야 하는 번거로움이 있다.

<그림 2> 넷스케이프 플러그인의 구조

플러그인 동작 원리
파이어폭스용 넷스케이프 플러그인은 기본적으로 다음 과정을 거쳐서 실행된다.

[1] MIME 타입에 해당하는 플러그인의 유무 검사
[2] 플러그인이 존재한다면 해당 플러그인을 메모리에 로드
[3] 플러그인 초기화
[4] 해당 플러그인의 인스턴스 생성

로딩된 플러그인 인스턴스는 다른 파이어폭스 브라우저 창에서 동시에 접속할 경우 인스턴스가 각각 생성되며 사용자가 해당 웹 페이지를 닫으면 소멸된다. 플러그인 오브젝트와 관련된 API는 플러그인 측면 API로 분류돼 브라우저가 콜백 함수처럼 호출한다. 브라우저 측면 API는 플러그인에서 호출하는 함수로, 메모리, 스트림, URL 제어 관련 함수들이 포함되며, 플러그인 측면 API처럼 플랫폼에 따라 적절하게 구현할 수 있다(양 측면 API 모두 사용자가 플랫폼의 특성을 고려하여 적절하게 구현할 수 있다). 모질라 웹 사이트(lxr.mozilla.org/)에 접속하면 다양한 플러그인 예제들을 볼 수 있다.

파이어폭스 플러그인 개발
그럼, 리눅스, 파이어폭스 환경에서 스크립터블하게 플러그인을 작성하는 예제를 본격적으로 살펴보자. 먼저 <리스트 1>과 같이 XPIDL을 정의한다.

 <리스트 1> XPIDL 정의

// 인터페이스 고유의 id를 할당하기 위해 uuidgen을 이용하여 생성된 uuid를 입력
[scriptable, uuid(bfcc113e-9a18-47ec-a441-5e1d6d05eeb9)]

// 부모 인터페이스 상속
interface nsIXecurePlugin : nsIParentClass {

// 변수 선언
attribute long val1;

// 함수 인터페이스 선언
void foo1();
void foo2();

};
%{C++
/* 생성될 헤더 파일에 포함시킬 요소를 C++ 형식으로 선언할 수 있다. */
%}

이 때 XPIDL 내에서 사용할 수 있는 데이터 타입과 플러그인 내부에서 매치되는 타입은 <표 1>과 같다.

<표 1> XPIDL 타입과 플러그인에서 사용되는 타입간 관계

wstring(플러그 인 타입 PRUnichar*에 해당하는) 타입은 UTF-16이며, 리눅스 glibc에서 사용하는 wchar* 타입은 UTF-32이므로 타입 사용에 있어 혼동하지 않기 바란다. 아울러 처리하게 될 문자들이 모두 ASCII로 이뤄지지 않는 이상 반드시 wstring을 선언해서 구현해야 한다. 이제 플러그인에서 include하는 헤더를 생성한다. -m header는 IDL에 대한 헤더를 출력하는 옵션으로 확장자가 .h로 생성된다.

xpidl -I /home/hkyang/gecko-sdk/xpcom/idl -m header nsIXecurePlugin.idl

생성된 헤더 파일의 내용은 다음과 같다. 함수의 첫 글자가 모두 대문자로 바뀐다는 사실에 유의하자. 각 함수에 대한 코멘트(comment)는 자동으로 생성된다. GetVal, SetVal는 선언한 long 타입의 attribute val 변수의 값을 설정하고 얻어올 수 있는 함수이다. attribute마다 한 쌍의 getter, setter 함수가 존재한다.

class NS_NO_VTABLE nsIXecurePlugin : public nsParentClass {

/* void foo1 (); */
NS_IMETHOD Foo1(void) = 0;
/* void foo2 (); */
NS_IMETHOD Foo2(void) = 0;

}

이 때 함수의 반환형은 NS_IMETHOD로 선언되며 플러그인 내부에서 NS_IMETHODIMP 타입으로 구현된다. NS_IMETHODIMP 타입은 플러그인 함수 호출에 대한 성공 여부, 실패 시 상태 값을 가진다. 자세한 내용은 SDK의 xpcom/nsError.h 파일을 참조하기 바란다. 함수 반환 값은 void로 선언하지 않은 이상 모든 경우에서 함수의 마지막 인자로 _retval 변수의 해당 타입에 해당하는 포인터로 선언된다. 이제 파이어폭스와 플러그인 사이의 인터페이스용 타입 라이브러리를 만들 차례다. -m typelib 옵션을 통해 생성하며 확장자가 .xpt로 생성된다.

xpidl -I /home/hkyang/gecko-sdk/xpcom/idl
-m typelib nsIXecurePlugin.idl

이제 플러그인 측면 API를 구현한다. 예제 사이트에 보면 각 플랫폼 별로 구현돼 있어 수정할 일이 거의 없지만 디버깅할 일이 있을지도 모르니 한번 다뤄보는 것도 좋다.

 <리스트 2> 플러그인 측면 API 구현

// MIME 타입과 플러그인의 정보를 입력한다.
#define MIME_TYPES_HANDLED "application/xecure-plugin"
#define PLUGIN_NAME "XecureWeb Plugin for Mozilla"
#define MIME_TYPES_DESCRIPTION MIME_TYPES_HANDLED"::"PLUGIN_NAME
#define PLUGIN_VERSION "1.0.0.1"
#define PLUGIN_DESCRIPTION PLUGIN_NAME " (for UNIX)" "::"PLUGIN_VERSION

/* 사이트에서 이동하거나 브라우저 창을 닫을 때 객체를 소멸시키는 NPP_Destroy 함수 */
NPError NPP_Destroy (NPP instance, NPSavedData** save)
{
    if(instance == NULL)
        return NPERR_INVALID_INSTANCE_ERROR;

    NPError rv = NPERR_NO_ERROR;

    // 플러그인 객체의 포인터를 할당 받은 후 객체를 소멸시킨다.
    nsPluginInstanceBase * plugin = (nsPluginInstanceBase *)
    instance->pdata;
    if(plugin != NULL) {
        plugin->shut();
        NS_DestroyPluginInstance(plugin);
        plugin = NULL;
    }
    return rv;
}


이제 플러그인 헤더를 정의한다. 플러그인이 스크립터블하기 위해서는 nsIClassInfo 클래스를 상속받아 구현해야 한다. nsIClassInfo 클래스는 모질라 시큐리티 매니저(mozilla security manage)가 자바스크립트의 해당 플러그인에 접근하도록 허가한다. IDL 인터페이스에서 선언한 nsIXecurePlugin 클래스와 플러그인을 스크립터블하게 접근하기 위해 상속받은 nsClassInfoMixin 클래스를 다중 상속받아 nsScriptablePeer를 선언한다.

class nsClassInfoMixin : public nsIClassInfo
{

}

class nsScriptablePeer : public nsIXecurePlugin,
public nsClassInfoMixin
{

}

이제 앞에서 선언한 nsScriptablePeer 클래스의 내부를 구현한다. IDL 파일에서 선언한 Foo1(), Foo2() 인터페이스의 내용을 구현해주면 된다.

NS_IMETHODIMP nsScriptablePeer::Foo1()
{

return NS_OK; // 플러그인이 정상적으로 호출되었음을 나타낸다.
}

이제 테스트에 사용할 html 페이지를 만들어 보자. 액티브 X와 XPCOM 플러그인 모두를 지원하며, 여기서는 EMBED invokeURLs=false 태그를 사용했지만 OBJECT 태그를 사용할 것을 권장한다. EMBED invokeURLs=false 태그는 파이어폭스에서 지원하기는 하나, 표준이 아니며 어디까지나 호환성을 위해 지원하는 것이다.

 <리스트 3> 테스트 html 페이지 작성

<script>
// 자세하게 구분할 수도 있으나 편의상 넷스케이프, 오폐라로 구분한다.
if(navigator.appName == 'Netscape' || (navigator.userAgent).indexOf("Opera") > 0)
{
    document.write("<EMBED invokeURLs=false type='application/xecure-plugin'
width=0 heigth=0 hidden=true
name='XecureWeb' id='XecureWeb'></EMBED invokeURLs=false>
<NOEMBED invokeURLs=false>No XecureWeb PlugIn</NOEMBED invokeURLs=false>");
}
else { // 익스플로러를 사용할 경우
    document.write('<OBJECT ID="XecureWeb"
CLASSID="CLSID:7EFG2B80-5316-3G5F-B02C-00GHTR0CD411" CODEBASE="http://test.com/xw_install.cab#Version=5,4,0,0" width=0 height=0>No XecureWeb PlugIn</OBJECT>');
}
</script>

빌드가 끝난 후 최종적으로 생성된 타입 라이브러리 파일은 웹 브라우저 디렉토리 하단의 components 디렉토리에, 플러그인 라이브러리 파일은 웹 브라우저 디렉토리 하단의 plugins 디렉토리에 복사하거나 다른 디렉토리에 저장하고 심볼릭 링크를 걸어주면 인식된다. 타입 라이브러리 파일이 정확히 설치됐는지 여부는 다음과 같이 확인할 수 있다.

[hkyang@localhost xw_plugin]$ ls /파이어폭스/components/*.xpt -al
-rwx------ 1 root root 1636 1월20 17:34 /파이어폭스/components/nsIXecurePlugin.xpt

플러그인에 대한 라이브러리 파일은 추후 관리가 용이하도록 심볼릭 링크를 걸어두는 것이 편하다.

[hkyang@localhost xw_plugin]$ ls /firefox/plugins/ -al
drwxr-xr-x 2 root root 4096 12월24 17:54 .
drwxrwxr-x 11 hkyang hkyang 4096 12월15 11:26 ..
lrwxrwxrwx 1 root root 46 12월24 17:54 libXecure.so
-> /home/hkyang/.softforum/XecureWeb/libXecure.so

이제 <화면 4>와 같이 about:plugin 페이지에서 플러그인이 정상적으로 설치되었는지 최종적으로 확인해 볼 수 있다.

<화면 4> 플러그인 설치 여부 확인하는 about:plugin

파이어폭스에서 인터넷 뱅킹을!
<그림 3>은 필자가 참여한 리눅스용 인터넷 뱅킹 데모 화면의 일부이다. 현재 리눅스 유저들이 인터넷 뱅킹을 할 수 없었던 이유는 플러그인에 대한 지원이 미비하고 인터넷 뱅킹 클라이언트가 없었기 때문이다. 클라이언트의 경우 XPCOM 플러그인이 플랫폼에 유연하게 대응할 수 있기 때문에 리눅스를 포함한 윈도우 이외의 운영체제에서 빠르게 포팅할 수 있도록 설계, 구현했다.

<화면 5> XPCOM 플러그인을 이용한 인터넷 뱅킹


플러그인의 경우 이미 수많은 사이트에서 액티브 X로 적용이 이뤄졌기 때문에 구축된 사이트의 변경 작업을 최소화하도록 설계 방향을 잡았고, 그 결과 XPCOM 플러그인을 사용하기로 결정했다. 기존에 구축한 사이트는 앞서 <리스트 3>처럼 user agent string을 구분해 <object> 태그를 걸어주기만 하면 모든 운영체제와 웹 브라우저를 지원할 수 있으며, 윈도우와 동일하게 작동한다.

물론 이 플러그인은 운영체제만 동일하다면 리눅스 환경의 오페라에서도 코드 수정없이 실행된다(참고로 오페라는 자신의 플러그인 디렉토리에 설치하지 않더라도 넷스케이프, 파이어폭스에 설치된 플러그인 위치만 지정하면 직접 가져다 쓸 수 있다).

현재 XPCOM 플러그인의 가장 큰 걸림돌은 플러그인을 xpinstall 형태로 배포하는 과정에서 XPI의 서명 검증 문제다. 사용자는 플러그인의 배포자가 누구인지, 또 그 플러그인이 합법적으로 배포되어 사용자의 웹 브라우저에 설치될 수 있는 것인지 검증할 수 없다는 것이다. 그러나 플랫폼 독립적이고 다양한 웹 브라우저를 지원하는 플러그인이라는 점에서 액티브 X 의존적인 시장에 변화가 있었으면 하는 것이 필자의 바람이다.

실제 변화를 추동하는 데에는 기업과 개발자가 담당해야 할 몫이 있다. 채 10%가 안되는 파이어폭스 사용자를 고려하지 않는다는 것은 기회 비용의 10%를 배제하고 개발하는 것과 다를 바 없기 때문이다. 이는 단지 10이라는 숫자가 1이었다 하더라도, 역으로 파이어폭스가 99이고 IE가 1이 되는 상황이 된다 해도 의미의 크기는 변함이 없다.@

출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:08
반응형

ANT를 이용하여 FTP와 Telnet 작업 진행하기

FTP, Telnet 작업을 위한 환경 세팅

FTP와 Telnet은 ANT의 Core Task에 있는 Command가 아니라 Optional Task이기 때문에 추가적으로 설치해야되는 라이브러리가 있다. ANT에서 FTP와 Telnet을 사용하기 위하여 필요한 라이브러리는 Apache Jakarta 프로젝트에서 개발한 Commons NetORO이다.

FTP와 Telnet 사용을 위하여 라이브러리를 설치하는 과정은 다음과 같다.

  • 먼저 Jakarta 프로젝트에서 이 두개의 라이브러리를 다운받는다.
  • 다운 받은 압축파일을 원하는 위치에 압축을 푼다.

다음 과정은 Eclipse를 사용할 때와 Prompt상에서 ANT를 실행할 때로 나뉘어 설명하도록 하겠다.

! Eclipse를 사용할 때.

  • Eclipse에서 Window | Preferences | Ant | Runtime으로 이동한 다음 Classpath Tab의 Ant Home Entries에 앞에서 다운받은 두개의 라이브러리를 추가해준다.

  • 이 두개의 라이브러리를 위와 같이 세팅하면 모든 세팅은 완료된다.

! Prompt상에서 ANT를 실행할 때.

  • 앞에서 다운받는 두개의 라이브러리를 ANT_HOME/lib에 복사한다.

이상으로 FTP와 Telnet을 사용하기 위한 기본적인 세팅은 완료하였다. ANT에서 FTP와 Telnet을 사용하기 위하여 Dependency관계에 있는 라이브러리는 http://ant.apache.org/manual/install.html#commons-net에서 확인할 수 있다.

FTP 사용을 위한 ANT Script 작성

앞의 세팅이 정상적으로 완료되었다면 FTP를 위한 ANT Script를 작성하여 원하는 파일을 FTP 서버에 전송하는 것이 가능하다. 다음은 ANT 사용자 문서에서 제공하는 스크립트의 일부분이다.

<ftp server="ftp.apache.org"
       port="2121"
       remotedir="/pub/incoming"
       userid="coder"
       password="java1"
       depends="yes"
       binary="no"
  >
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
</ftp>

위 스크립트의 세부 항목과 더 많은 스크립트 예제는 http://ant.apache.org/manual/OptionalTasks/ftp.html에서 참조할 수 있다.

Telnet 사용을 위한 ANT Script 작성

앞의 세팅이 정상적으로 완료되었다면 Telnet을 위한 ANT Script를 작성하여 Remote서버에서 원하는 작업을 하는 것이 가능하다. 다음은 ANT 사용자 문서에서 제공하는 스크립트의 일부분이다.

<telnet server="localhost">
   <read>ogin:</read>
   <write>bob</write>
   <read>assword:</read>
   <write>badpass</write>
   <read>/home/bob</read>
   <write>ls</write>
   <read>/home/bob</read>
</telnet>

위 스크립트의 세부 항목과 더 많은 스크립트 예제는 http://ant.apache.org/manual/OptionalTasks/telnet.html에서 참조할 수 있다.

telnet을 사용할 때 중요한 점은 read/write를 적절하게 사용해야 한다는 것이다. write 스크립트는 우리가 실행하고자하는 작업들을 명시할 수 있다. read는 write 작업을 완료한 다음에 해당 구문이 있는 곳까지 읽어서 Console에 출력하는 것이다. 그러므로 write 스크립트를 통하여 작업을 수행한 다음 해당 작업이 정확하게 실행되었는지를 확인하기 위하여 read 스크립트를 작성해주어야 한다.

telnet의 read 스크립트는 보통 Remote Server의 prompt를 사용한다. 예를 들어 telnet으로 Remote Server에 접근 했을 때의 첫 prompt가 /usr/home/javajigi>이고 cd 명령어를 이용하여 /usr/java 디렉토리로 이동하고자 할 때의 telnet 스크립트를 보면 다음과 같다.

<telnet userid="javajigi" password="javajigipass" server="localhost" timeout="20">
   <read>/usr/home/javajigi></read>
   <write>cd /usr/java</write>
   <read>/usr/java></read>
   <write>ls -al</write>
   <read>/usr/java></read>
</telnet>

위와 같이 작성하면 각 단계별로 실행되는 모든 Command들의 상황을 로컬상에서 볼 수 있게 된다.


ANT를 이용하여 FTP와 Telnet 작업 진행하기 - 통합 개발 환경 - Conflue

FTP

Description

The ftp task implements a basic FTP client that can send, receive, list, delete files, and create directories. See below for descriptions and examples of how to perform each task.

Note: This task depends on external libraries not included in the Ant distribution. See Library Dependencies for more information. Get the latest version of this library, for the best support in Ant

The ftp task attempts to determine what file system is in place on the FTP server. Supported server types are Unix, NT, OS2, VMS, and OS400. In addition, NT and OS400 servers which have been configured to display the directory in Unix style are also supported correctly. Otherwise, the system will default to Unix standards. remotedir must be specified in the exact syntax required by the ftp server. If the usual Unix conventions are not supported by the server, separator can be used to set the file separator that should be used instead.

See the section on directory based tasks, on how the inclusion/exclusion of files works, and how to write patterns.

This task does not currently use the proxy information set by the <setproxy> task, and cannot go through a firewall via socks.

Warning: there have been problems reported concerning the ftp get with the newer attribute. Problems might be due to format of ls -l differing from what is expected by commons-net, for instance due to specificities of language used by the ftp server in the directory listing. If you encounter such a problem, please send an email including a sample directory listing coming from your ftp server (ls -l on the ftp prompt).

If you can connect but not upload or download, try setting the passive attribute to true to use the existing (open) channel, instead of having the server try to set up a new connection.

Parameters

Attribute Description Required
server the address of the remote ftp server. Yes
port the port number of the remote ftp server. Defaults to port 21. No
userid the login id to use on the ftp server. Yes
password the login password to use on the ftp server. Yes
account the account to use on the ftp server. since Ant 1.7. No
remotedir remote directory on the ftp server see table below for detailed usage No
action the ftp action to perform, defaulting to "send". Currently supports "put", "get", "del", "list", "chmod", "mkdir", "rmdir", and "site". No
binary selects binary-mode ("yes") or text-mode ("no") transfers. Defaults to "yes" No
passive selects passive-mode ("yes") transfers, for better through-firewall connectivity, at the price of performance. Defaults to "no" No
verbose displays information on each file transferred if set to "yes". Defaults to "no". No
depends transfers only new or changed files if set to "yes". Defaults to "no". No
newer a synonym for depends. see timediffauto and timediffmillis No
timediffauto set to "true" to make ant calculate the time difference between client and server.
requires write access in the remote directory
Since ant 1.6
No
timestampGranularity Specify either MINUTE, NONE, (or you may specify "" which is equivalent to not specifying a value, useful for property-file driven scripts). Allows override of the typical situation in PUT and GET where local filesystem timestamps are HH:mm:ss and the typical FTP server's timestamps are HH:mm. This can throw off uptodate calculations. However, the default values should suffice for most applications.
Since ant 1.7
No. Only applies in "puts" and "gets" where the default values are MINUTE for PUT and NONE for GET. (It is not as necessary in GET because we have the preservelastmodified option.)
timediffmillis Deprecated. Number of milliseconds to add to the time on the remote machine to get the time on the local machine. The timestampGranularity attribute (for which the default values should suffice in most situations), and the serverTimeZoneConfig option, should make this unnecessary. serverTimeZoneConfig does the math for you and also knows about Daylight Savings Time.
Since ant 1.6
No
separator sets the file separator used on the ftp server. Defaults to "/". No
umask sets the default file permissions for new files, unix only. No
chmod sets or changes file permissions for new or existing files, unix only. If used with a put action, chmod will be issued for each file. No
listing the file to write results of the "list" action. Required for the "list" action, ignored otherwise. No
ignoreNoncriticalErrors flag which permits the task to ignore some non-fatal error codes sent by some servers during directory creation: wu-ftp in particular. Default: false No
skipFailedTransfers flag which enables unsuccessful file put, delete and get operations to be skipped with a warning and the remainder of the files still transferred. Default: false No
preservelastmodified Give the copied files the same last modified time as the original source files (applies to getting files only). (Note: Ignored on Java 1.1) No; defaults to false.
retriesAllowed Set the number of retries allowed on an file-transfer operation. If a number > 0 specified, each file transfer can fail up to that many times before the operation is failed. If -1 or "forever" specified, the operation will keep trying until it succeeds. No; defaults to 0
siteCommand Set the server-specific SITE command to execute if the action attribute has been specified as "site". No
initialSiteCommand Set a server-specific SITE command to execute immediately after login. No

The following attributes require jakarta-commons-net-1.4.0 or greater.

Use these options when the standard options don't work, because

  • the server is in a different timezone and you need timestamp dependency checking
  • the default timestamp formatting doesn't match the server display and list parsing therefore fails

If none of these is specified, the default mechanism of letting the system auto-detect the server OS type based on the FTP SYST command and assuming standard formatting for that OS type will be used.

To aid in property-file-based development where a build script is configured with property files, for any of these attributes, a value of "" is equivalent to not specifying it.

Please understand that these options are incompatible with the autodetection scheme. If any of these options is specified, (other than with a value of "" ) a system type must be chosen and if systemTypeKey is not specified, UNIX will be assumed. The philosophy behind this is that these options are for setting non-standard formats, and a build-script author who knows what system he is dealing with will know what options to need to be set. Otherwise, these options should be left alone and the default autodetection scheme can be used and will work in the majority of cases.

systemTypeKey Specifies the type of system in use on the server. Supported values are "UNIX", "VMS", "WINDOWS", "OS/2", "OS/400", "MVS". If not specified, (or specified as "") and if no other xxxConfig attributes are specified, the autodectection mechanism based on the FTP SYST command will be used.
Since ant 1.7
No, but if any of the following xxxConfig attributes is specified, UNIX will be assumed, even if "" is specified here.
serverTimeZoneConfig Specify as a Java TimeZone identifier, (e.g. GMT, America/Chicago or Asia/Jakarta) the timezone used by the server for timestamps. This enables timestamp dependency checking even when the server is in a different time zone from the client. Time Zones know, also, about daylight savings time, and do not require you to calculate milliseconds of difference. If not specified, (or specified as ""), the time zone of the client is assumed.
Since ant 1.7
No
defaultDateFormatConfig Specify in Java SimpleDateFormat notation, (e.g. yyyy-MM-dd), the date format generally used by the FTP server to parse dates. In some cases this will be the only date format used. In others, (unix for example) this will be used for dates older than a year old. (See recentDateFormatConfig). If not specified, (or specified as ""), the default date format for the system type indicated by the systemTypeKey attribute will be used.
Since ant 1.7
No.
recentDateFormatConfig Specify in Java SimpleDateFormat notation, (e.g. MMM dd hh:mm) the date format used by the FTP server to parse dates less than a year old. If not specified (or specified as ""), and if the system type indicated by the system key uses a recent date format, its standard format will be used.
Since ant 1.7
No
serverLanguageCodeConfig a two-letter ISO-639 language code used to specify the language used by the server to format month names. This only needs to be specified when the server uses non-numeric abbreviations for months in its date listings in a language other than English. This appears to be becoming rarer and rarer, as commonly distributed ftp servers seem increasingly to use English or all-numeric formats. Languages supported are:
  • en - English
  • fr - French
  • de - German
  • it - Italian
  • es - Spanish
  • pt - Portuguese
  • da - Danish
  • sv - Swedish
  • no - Norwegian
  • nl - Dutch
  • ro - Romanian
  • sq - Albanian
  • sh - Serbo-croatian
  • sk - Slovak
  • sl - Slovenian
If you require a language other than the above, see also the shortMonthNamesConfig attribute.
Since ant 1.7
No
shortMonthNamesConfig specify the month abbreviations used on the server in file timestamp dates as a pipe-delimited string for each month. For example, a set of month names used by a hypothetical Icelandic FTP server might conceivably be specified as "jan|feb|mar|apr|maí|jún|júl|ágú|sep|okt|nóv|des". This attribute exists primarily to support languages not supported by the serverLanguageCode attribute.
Since ant 1.7
No

Note about remotedir attribute

Action
meaning of remotedir
use of nested fileset (s)
send/put
base directory to which the files are sent
they are used normally and evaluated on the local machine
recv/get
base directory from which the files are retrieved
the remote files located under the remotedir matching the include/exclude patterns of the fileset
del/delete
base directory from which files get deleted
the remote files located under the remotedir matching the include/exclude patterns of the fileset
list
base directory from which files are listed
the remote files located under the remotedir matching the include/exclude patterns of the fileset
mkdir directory to create
not used
chmod base directory from which the mode of files get changed
the remote files located under the remotedir matching the include/exclude patterns of the fileset
rmdir
base directory from which directories get removed
the remote directories located under the remotedir matching the include/exclude patterns of the fileset

Parameters specified as nested elements

fileset

The ftp task supports any number of nested <fileset> elements to specify the files to be retrieved, or deleted, or listed, or whose mode you want to change.

The attribute followsymlinks of fileset is supported on local (put) as well as remote (get, chmod, delete) filesets. Before ant 1.6 there was no support of symbolic links in remote filesets. In order to exclude symbolic links (preserve the behavior of ant 1.5.x and older), you need to explicitly set followsymlinks to false. On remote filesets hidden files are not checked for being symbolic links. Hidden files are currently assumed to not be symbolic links.

Remote filesets do not support selectors.

Sending Files

The easiest way to describe how to send files is with a couple of examples:

  <ftp server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com">
    <fileset dir="htdocs/manual"/>
  </ftp>

Logs in to ftp.apache.org as anonymous and uploads all files in the htdocs/manual directory to the default directory for that user.

  <ftp server="ftp.apache.org"
       remotedir="incoming"
       userid="anonymous"
       password="me@myorg.com"
       depends="yes">
    <fileset dir="htdocs/manual"/>
  </ftp>

Logs in to ftp.apache.org as anonymous and uploads all new or changed files in the htdocs/manual directory to the incoming directory relative to the default directory for anonymous.

  <ftp server="ftp.apache.org"
       port="2121"
       remotedir="/pub/incoming"
       userid="coder"
       password="java1"
       passive="yes"
       depends="yes"
       binary="no">
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

Logs in to ftp.apache.org at port 2121 as coder with password java1 and uploads all new or changed HTML files in the htdocs/manual directory to the /pub/incoming directory. The files are transferred in text mode. Passive mode has been switched on to send files from behind a firewall.

  <ftp server="ftp.hypothetical.india.org"
       port="2121"
       remotedir="/pub/incoming"
       userid="coder"
       password="java1"
       depends="yes"
       binary="no"
       systemTypeKey="Windows"
       serverTimeZoneConfig="India/Calcutta">
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

Logs in to a Windows server at ftp.hypothetical.india.org at port 2121 as coder with password java1 and uploads all new or changed (accounting for timezone differences) HTML files in the htdocs/manual directory to the /pub/incoming directory. The files are transferred in text mode.

  <ftp server="ftp.nt.org"
       remotedir="c:\uploads"
       userid="coder"
       password="java1"
       separator="\"
       verbose="yes">
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

Logs in to the Windows-based ftp.nt.org as coder with password java1 and uploads all HTML files in the htdocs/manual directory to the c:\uploads directory. Progress messages are displayed as each file is uploaded.

Getting Files

Getting files from an FTP server works pretty much the same way as sending them does. The only difference is that the nested filesets use the remotedir attribute as the base directory for the files on the FTP server, and the dir attribute as the local directory to put the files into. The file structure from the FTP site is preserved on the local machine.

  <ftp action="get"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com">
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

Logs in to ftp.apache.org as anonymous and recursively downloads all .html files from default directory for that user into the htdocs/manual directory on the local machine.

  <ftp action="get"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com"
       systemTypeKey="UNIX"
       defaultDateFormatConfig="yyyy-MM-dd HH:mm">
    <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

If apache.org ever switches to a unix FTP server that uses the new all-numeric format for timestamps, this version would become necessary. It would accomplish the same functionality as the previous example but would successfully handle the numeric timestamps. The systemTypeKey is not necessary here but helps clarify what is going on.

  <ftp action="get"
       server="ftp.hypthetical.fr"
       userid="anonymous"
       password="me@myorg.com"
       defaultDateFormatConfig="d MMM yyyy"
       recentDateFormatConfig="d MMM HH:mm"
       serverLanguageCodeConfig="fr">
     <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

Logs into a UNIX FTP server at ftp.hypothetical.fr which displays dates with French names in Standard European format, as anonymous, and recursively downloads all .html files from default directory for that user into the htdocs/manual directory on the local machine.

Deleting Files

As you've probably guessed by now, you use nested fileset elements to select the files to delete from the remote FTP server. Again, the filesets are relative to the remote directory, not a local directory. In fact, the dir attribute of the fileset is ignored completely.
  <ftp action="del"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com">
    <fileset>
      <include name="**/*.tmp"/>
    </fileset>
  </ftp>

Logs in to ftp.apache.org as anonymous and tries to delete all *.tmp files from the default directory for that user. If you don't have permission to delete a file, a BuildException is thrown.

Listing Files

  <ftp action="list"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com"
       listing="data/ftp.listing">
    <fileset>
      <include name="**"/>
    </fileset>
  </ftp>

This provides a file listing in data/ftp.listing of all the files on the FTP server relative to the default directory of the anonymous user. The listing is in whatever format the FTP server normally lists files.

Creating Directories

Note that with the mkdir action, the directory to create is specified using the remotedir attribute.

  <ftp action="mkdir"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com"
       remotedir="some/remote/dir"/>

This creates the directory some/remote/dir beneath the default root directory. As with all other actions, the directory separator character must be correct according to the desires of the FTP server.

Removing Directories

This action uses nested fileset elements to select the directories to remove from the remote FTP server. The filesets are relative to the remote directory, not a local directory. The dir attribute of the fileset is ignored completely. The directories to be removed must be empty, or contain only other directories that have been also selected to be removed by the filesets patterns, otherwise a BuildException will be thrown. Also, if you don't have permission to remove a directory, a BuildException is thrown.
  <ftp action="rmdir"
       server="ftp.apache.org"
       userid="anonymous"
       password="me@myorg.com"
       remotedir="/somedir" >
    <fileset>
      <include name="dira"/>
      <include name="dirb/**"/>
    </fileset>
  </ftp>

Logs in to ftp.apache.org as anonymous and tries to remove /somedir/dira directory and all the directories tree starting at, and including, /somedir/dirb. When removing the /somedir/dirb tree, it will start at the leaves moving up to the root, so that when it tries to remove a directory it is sure all the directories under it are already removed. Obviously all the files in the tree must have been already deleted.

As an example suppose you want to delete everything contained into /somedir, so invoke first the <ftp> task with action="delete", then with action="rmdir" specifying in both cases remotedir="/somedir" and

    <fileset>
        <include name="**"/>
    </fileset>
The directory specified in the remotedir parameter is never selected for remove, so if you need to remove it, specify its parent in remotedir parameter and include it in the <fileset> pattern, like "somedir/**".

출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 26. 17:07
반응형

Ruby on Rails를 아십니까?

Basecamp, Campfire, 43things, ODEO, Shopify, Wayfairing.. 나름대로 알려진 Web 2.0 사이트 들입니다. 이 사이트들은 한 가지 공통점을 가지고 있지요. 그 공통점이 무엇일까요?

바로 Ruby On Rails를 이용해 만들어졌다는 점입니다. 최근 들어 웹 개발에 관여된 사람이라면 한 번쯤은 들어 보았을 만한 용어이지요. 그저 또 하나의 새로운 언어 및 개발 프레임워크라고 하면 그다지 관심을 둘 필요는 없을 겁니다. 꼭 필요하게 되면 그 때 배워도 늦지 않을 테니까요.

그런데 위에 기술한 사이트들이 모두 채용하고 있다고 하면 이건 상황이 조금 다릅니다. 호기심이 동하지 않습니까? 도대체 Ruby는 뭐고 Rails는 무엇일까요? 간단히 알아 보도록 하지요.

Ruby, Script Language


Ruby는 Perl, Python, PHP와 같은 스크립트 기반의 프로그래밍 언어입니다. 간결하고도 강력한 객체지향 언어로, 유키히로 마츠모토라는 일본인에 의해 만들어졌습니다.

특징이라고 하면 다양한 언어의 특징을 골고루 물려 받았다는 점입니다. SmallTalk, Lisp, Perl 등의 언어로부터 여러 훌륭한 특성들을 가져 왔습니다. 마츠 (유키히로 마츠모토의 애칭)에 의하면 Ruby는 프로그래머의 행복을 위해 만들어진 언어라고 하는군요. 이 말에서 짐작할 수 있듯이 프로그래머가 Ruby의 기능을 사용하기 편리하게 되어 있다는 점이 가장 큰 장점입니다.


< 사진1 : 유키히로 마츠모토, Ruby의 창시자 >

만약 여러분이 개발자이시고, 호기심을 참지 못해 당장 Ruby를 배워 보고 싶으시다면 Programming Ruby 를 참고하세요. 책 한 권을 통째로 보실 수 있습니다.

그런데 루비가 처음 만들어진 년도를 알아 보면 약간 갸우뚱 해 집니다. 1993년에 처음 만들어졌거든요. 그럼 벌써 10년 이상 나이를 먹은 것이고, 자바보다도 나이가 많은데 왜 지금까지는 조용했을까요? 그리고 왜 이제 와서 각광을 받고 있는 것일까요? 그 답은 Rails가 가지고 있습니다.

Rails, Web application framework

Rails는 Ruby로 만들어진 웹 애플리케이션 개발 프레임워크입니다. 37Signals 사의 프로그래머인 David Heinemeier Hansson에 의해 개발되었죠.

                               <
< 사진 2 : Rails의 창시자인 David Heinemeier Hansson >

~ 이제 왜 Basecamp, Campfire와 같은 37Signals의 서비스들이 Rails로 개발되었는지 이해가 되는군요. 사실 레일스 자체가 Basecamp, Backpack, Ta-da List 서비스를 만들기 위해 개발된 프레임워크였습니다. 프레임워크를 성공적으로 개발한 후 David이 오픈 소스화 하여 공개한 것이죠.

이 프레임워크가 말 그대로 물건이어서, 개발자로 하여금 놀라운 생산성을 발휘하게 해 주었고 그 결과 매우 인기가 높아진 것이죠. 이러한 생산성을 증명하기 위한 몇 가지 인상적인 데모가 있습니다. “를 15 진 5 와 같은 데모가 대표적입니다.

물론 이러한 장점들 외에도, 앤드류 헌트와 데이비드 토머스가 그들의 저서인 실용주의 프로그래머를 통해 루비를 알린 것 역시 Ruby on Rails의 확산에 큰 기여를 했습니다.

이제는 Ruby on Rails에 관심을 가져야 할 때

아직까지 Ruby와 Rails에 대해 무심하게 지나쳐 버렸다면 이제는 생각을 좀 바꿔야 합니다. 해외의 유명 자바 개발자들이 Ruby on Rails로 옮겨 가고 있다는 점 (http://jroller.com/page/dgeary?%20entry=tipping_rails) 역시 Ruby On Rails의 가치를 반증한다고도 볼 수 있겠습니다. 물론 무수히 많은 웹 2.0 사이트들이 Ruby on Rails를 이용하여 개발되고 있다는 점도 간과해서는 안 될 겁니다.

개발자 여러분, 이제는 Ruby에 관심을 가지고 Rails의 세계에 빠져 보세요. 또 다른 세상이 열릴지도 모릅니다

출처 : Tong - BlueSky_08님의 개발업무통

Posted by 1010
98..Etc/Etc...2008. 7. 25. 16:26
반응형

by 이동국

CVS 서버 설치하기

1. http://www.cvsnt.org 에서 최신버전의 cvsnt를 다운받는다.
이문서에서 사용된 cvsnt버전은 2.0.58d이다.

2. CVS에 관리할 파일을 저장하는 하나의 디렉토리(d:\cvs\repository)와 임시 디렉토리(d:\cvs\temp)하나를 생성한다. --> 사실 이 과정은 필요가 없는듯하다.

3. 설치파일(cvsnt-2.0.58d.exe)로 디폴트 설치를 한 다음에 다음 그림처럼 service control panel을 실행시킨다.

1.jpg

4. 실행후 repositories탭으로 이동해서 다음과 같이 셋팅해준다.
여기서 name는 /cvs를 포함하지 않는 이름으로 해준다.
그리고 location은 아까 cvs repository를 위해 생성해준 디렉토리로 지정한다.

2.jpg
5. Compatibility탭으로 이동해서 Respond as cvs 1.11.2 to version request에 체크를 해준다.
이것은 안해주면 eclipse에서 cvs접근할 때 cvs repository prefix관련 에러가 뜬다.

3.jpg
6. cvs를 사용하기 위해 windows 계정을 하나 생성한다. 그리고 administrator그룹내에 속하도록 셋팅을 한다.

7. 이렇게 되면 cvs서버 셋팅은 마친 셈이다.

Eclipse와 CVS 연동해서 사용하기.

알림 : 필자는 eclipse 3.1 M4버전을 기준으로 작성했다.

1. 메뉴에 window -> show view -> other -> cvs하위의 cvs repositories를 선택한다.

2. cvs repositories에서 마우스 오른쪽 클릭해서 new -> repository location을 선택한다. 그럼 다음과 같은 화면이 나온다.

4.jpg
3. finish를 누르면 다음과 같이 바뀐다.

5.jpg
4. 프로젝트를 생성하고 다음처럼 cvs에 연결을 시도한다.

6.jpg
5. 다음과 같이 추가된 cvs repository가 화면에 표시된다.

7.jpg
6. next를 누르면 프로젝트 관련 셋팅 화면이 뜨고 다시 누르면 다음과 같은 화면이 나온다.

8.jpg
7. finish 를 누르면 cvs와의 연결이 완료가 되었다는 노란색 막대기들이 보인다.

9.jpg

남기는 말
설정상에서 화면 UI등이 바뀌고 cvs서버에서 Respond as cvs 1.11.2 to version request에 체크를 안해주면 eclipse에서 cvs연결시 repository prefix관련 에러가 발생하는거 말고는 기존의 cvs서버 셋팅과 크게 바뀐게 없다. 사용에 관련해서는 사실 UI자체도 별로 바뀐게 없기 때문에 기존의 문서를 참조하길 바란다. }

Posted by 1010
98..Etc/Etc...2008. 7. 24. 13:40
반응형
 삽질 소감 -
아직 다듬어질려면 멀었고 관련 문서도 없는데가가 거의 이사람 혼자 만들어 공개한것으로 보인다. 소스코드는 제법 튼실해 보이고, 참고할만한 각종 유틸성 기법들이 유용하게 보인다. 그러나 일반 유저가 코드를 돌려보기엔 접근성이 상당히 떨어진다. 잘~ 하면 중간에 흔적도 없이 살아질 프로젝트 같다.

소스코드에서도 확인할수 있고 테스트한 동영상을 봐도 확인할수 있겠지만 이것은 공용(?) 어플리케이션 프레임웍(AP)를 표방(? 흉내?)하고 있다. 그래서 설정이 복잡하다 약간만 환경을 바꾸거나, 꼬여도 에러잡기가 힘들다. (Library의존성은 왜이리 꼬였는지...) Appfuse와는 보다 더 많은걸 구현하다 보니 상당부분 유연성을 포기하고 대신에 틀에 맞는 편리함을 제공하고 있다. 여전히 더 지켜봐야 할것 같다.

그래도 흔적을 남기는 이유는 AP를 구경하기 쉬운게 아니기 때문에....

동영상 및 소스코드 다운로드 : Download Link (동영상은 Demo.rar)


IWebMvc Milestone 3 released

By Jose Noheda

I've been working hard to polish a lot of aspects of IWebMvc for this milestone 3 and finally today I've finished. The result is a much more mature product that starts to resemble a usable framework. Nonetheless, I had time to add new features as well, some of them really important!

Let's review some of them:
  • Security
    IWebMvc now supports Spring security 2.0 based authentication and authorization using the new security namespace possibilities.
    • Spring Security 2.0 RC1
      The new version of Acegi is fully configured. Declarative security enabled.
    • Database realm
      Users / Roles are persisted in DB as any other entity.
    • User Administration
      CRUD operations to add / edit users, assign permissions and toggle (enable/disable) them are provided out-of-the-box.
    • Login / log off widget
      Working and easily integrated form based authentication. Default user/password combination is iwebmvc/iwebmvc (change it in iwebmvc.properties file)
    • Captcha widget
      AJAX validated captcha to enable human detection.
    • Remember me
      The framework will auto-login a user if so desires and will store authentication info using cookies.
  • Preliminary documentation
    A long standing due. A good percentage of the client interface is documented using the demo application.
  • Widgets
    • I18n Text
      A user can attempt to automatically translate texts into any of the supported languages using the Google AJAX Translation API
    • Tree (Hierarchy) widget
      New in this version, a user can build a tree of generic nodes and modify it as wished.
    • Grid (Table) widget
      The new grid supports a contextual menu, filtering (in addition to paging and ordering), inline edition of cell data (with AJAX storage management), cell content view (for data that exceeds column width) and auto width/height
    • Form widget
      Allows to check required fields before submitting and sending complete forms using JSON.
    • Other widgets
      Everything has been revamped a little or a lot.
  • Miscellaneous
    • YUI compression
      All JS is minified before sent (in addition to GZIP). This isn't activated by default in development environments.
    • Audit
      All create / update / delete operations are transparently audited (user, operation type, date/time, affected record, ...)
    • RSS feeds
      A generic framework to obtain RSS feeds of any entity has been developed. Example feeds have been created for audit operations.
    • DWR custom converters
      Working with JPA entities in JS is easier with the UUID and the Class converters.
    • IE7/Opera support
      A lot of work has been invested in making IWebMvc compatible with other browsers. IE7 is fully compatible with this release (though this bug in dojo affects any page that contains an Editor). Opera support is preliminary but a good chunk of the code is working.
    • Upgraded libraries
      In particular, to dojo 1.1 final but Spring, Hibernate and many others as well. Important: Netbeans project files have been migrated to v6.1beta to get rid of some absolute paths and facilitate project sharing (and include sources and ...). I've just tested this release with Netbeans/Glassfish & Ant/Jetty (though Eclipse/tomcat should still work fine).
And dozens of bug fixes and other issues. All in all, a decent work! Remember that you can download it from the repository. Or save time by watching the (trimmed) screencast (you may need this codec). Enjoy it!

출처 :  http://internna.blogspot.com/2008/04/iwebmvc-milestone-3-released.html
Posted by 1010
98..Etc/Etc...2008. 7. 24. 13:39
반응형

이거 한번 돌려 보자.

1. JDK 5.x 이상 버젼에서 돌아간다.
    ( 기본환경은 JDK5.x이상 + Ant1.7.x이상 + Eclipse3.3이상의 환경이다. )
   1.1 대충 눈치껏 설치한다.

2. MySql-5.x이상 다운받아 설치한다.
   2.1 다운 받는다.(나는 인스톨버젼이 아닌 압축버젼을 받았다.)
   2.2 적당한 디렉토리에 압축을 풀고 mysql-nt.exe를 실행시킨다.
   2.3 Dos Command 창에서 해당 디렉토리로 이동한다.
   2.4 mysql -uroot mysql 명령으로 접속후 create database iwebmvc; 명령으로 DB를 생성한다.
   2.5 mysql은 여전히 기동시켜 둔다.

사용자 삽입 이미지

3. ivy를 설치하고 테스트 한다.
   3.1 Apache ivy를 다운로드 한다.(현재 2.0.0 Beta2 이다)
   3.2 적당한 디렉토리에 압축을 풀면 jar파일이 두개 있다. 그걸 Ant의 lib 폴더에 복사한다.
   3.3 Dos Command 창에서 ivy 디렉토리로 이동한다.
   3.4 의 ivy 디렉토리에서 src\example\hello-ivy로 이동한후 ant 를 실행한다.
   3.5 Build가 성공하면 된다.
사용자 삽입 이미지

4. IWebMvc 다운로드 페이지에서 다운로드 받는다.
   4.1 IWebMvc에서 IWebMvc - Milestone 3.zip 을 다운로드 한다.
      (SVN도 제공한다. http://internna.googlecode.com/svn/trunk/IWebMvc)
   4.2 적당한 디렉토리에 압축을 푼다.
   4.3  iwebmvc.properties를 찾아서 mysql설정을 확인한다.(WEB-INF폴더에 있다.)

5. ant 빌드를 한다.
   5.1  Dos Command 창에서 IWebMvc 디렉토리로 이동한다.
   5.2 run.bat를 실행한다. (각종 jar파일을 다운받기 때문에 시간이 걸린다.)
   5.3 에러없이 빌드가 성공되면 정상이다.
       (최종 빌드에서 에러가 나더라도 ivy에서 jar파일 다운로드까지 성공하면 된다.)
사용자 삽입 이미지

6. Eclipse 프로젝트로 import한다.
   6.1 해당 디렉토리를 찾아 import 시킨다.
   6.2 라이브러리 경로가 안맞는다.(소스관리는 징하게 못한다.-_-;;; 좀좀.. 잘 정리하면 안되나?)
        - 신기하게 Unit Test 파일이 없다.(제거하고 배포한건지...)
   6.3 수동으로 찾아서 관련된 *.jar파일을 찾아서 연결하여 오류를 제거한다.
사용자 삽입 이미지

7. Eclipse 내부 Tomcat으로 'Run as'를 실행한다.
   7.1 Run as를 실행한다.
   7.2 만약 DB가 오라클이라면 안된다. (왜? 테이블생성 스크립트가 기본으로 Mysql이다. ㅡㅡ; )
   7.3 DB Table생성까지 성공적으로 되었다면 Tomcat이 정상적으로 올라온다.

8. 해당 사이트를 확인 한다.
   8.1 avi 동영상을 미리 봤다면 알겠지만 해당 화면이 나타난다.
사용자 삽입 이미지

9. CRUD 소개 동영상으로 따라 해본다.
   9.1 두개의 동영상이 있다 각각 다운받아 따라해 보자.
        Link : http://code.google.com/p/internna/downloads/list
Posted by 1010
98..Etc/Etc...2008. 7. 24. 13:22
반응형

원격 데스크탑에서 Ctrl+Alt+Del키를 쓸 일이 있다면 del키 대신 end를 누르면 된다.

Posted by 1010
98..Etc/Etc...2008. 7. 24. 12:46
반응형

TCP Port Number List

TCP Ports
TCP  0  Reserved
TCP  1  Port Service Multiplexer
TCP  2  Management Utility
TCP  3  Compression Process
TCP  4  Unassigned
TCP  5  Remote Job Entry
TCP  6  Unassigned
TCP  7  Echo
TCP  8  Unassigned
TCP  9  Discard
TCP  10  Unassigned
TCP  11  Active Users
TCP  12  Unassigned
TCP  13  Daytime (RFC 867)
TCP  14  Unassigned
TCP  15  Unassigned [was netstat]
TCP  16  Unassigned
TCP  17  Quote of the Day
TCP  18  Message Send Protocol
TCP  19  Character Generator
TCP  20  File Transfer [Default Data]
TCP  21  File Transfer [Control]
TCP  22  SSH Remote Login Protocol
TCP  23  Telnet
TCP  24  any private mail system
TCP  25  Simple Mail Transfer
TCP  26  Unassigned
TCP  27  NSW User System FE
TCP  28  Unassigned
TCP  29  MSG ICP
TCP  30  Unassigned
TCP  31  MSG Authentication
TCP  32  Unassigned
TCP  33  Display Support Protocol
TCP  34  Unassigned
TCP  35  any private printer server
TCP  36  Unassigned
TCP  37  Time / W32.Sober.I virus
TCP  38  Route Access Protocol
TCP  39  Resource Location Protocol
TCP  40  Unassigned
TCP  41  Graphics
TCP  42  Host Name Server
TCP  43  WhoIs
TCP  44  MPM FLAGS Protocol
TCP  45  Message Processing Module [recv]
TCP  46  MPM [default send]
TCP  47  NI FTP
TCP  48  Digital Audit Daemon
TCP  49  Login Host Protocol (TACACS)
TCP  50  Remote Mail Checking Protocol
TCP  51  IMP Logical Address Maintenance
TCP  52  XNS Time Protocol
TCP  53  Domain Name Server
TCP  54  XNS Clearinghouse
TCP  55  ISI Graphics Language
TCP  56  XNS Authentication
TCP  57  any private terminal access
TCP  58  XNS Mail
TCP  59  any private file service
TCP  60  Unassigned
TCP  61  NI MAIL
TCP  62  ACA Services
TCP  63  whois++
TCP  64  Communications Integrator (CI)
TCP  65  TACACS-Database Service
TCP  66  Oracle SQL*NET
TCP  67  Bootstrap Protocol Server
TCP  68  Bootstrap Protocol Client
TCP  69  Trivial File Transfer
TCP  70  Gopher
TCP  71  Remote Job Service
TCP  72  Remote Job Service
TCP  73  Remote Job Service
TCP  74  Remote Job Service
TCP  75  any private dial out service
TCP  76  Distributed External Object Store
TCP  77  any private RJE service
TCP  78  vettcp
TCP  79  Finger
TCP  80  World Wide Web HTTP
TCP  81  HOSTS2 Name Server / Bagle-AZ worm / Win32.Rbot worm
TCP  82  XFER Utility
TCP  83  MIT ML Device
TCP  84  Common Trace Facility
TCP  85  MIT ML Device
TCP  86  Micro Focus Cobol
TCP  87  any private terminal link
TCP  88  Kerberos
TCP  89  SU/MIT Telnet Gateway
TCP  90  DNSIX Securit Attribute Token Map
TCP  91  MIT Dover Spooler
TCP  92  Network Printing Protocol
TCP  93  Device Control Protocol
TCP  94  Tivoli Object Dispatcher
TCP  95  SUPDUP
TCP  96  DIXIE Protocol Specification
TCP  97  Swift Remote Virtural File Protocol
TCP  98  Linuxconf / TAC News
TCP  99  Metagram Relay
TCP  100  [unauthorized use]
TCP  101  NIC Host Name Server
TCP  102  MSExchangeMTA X.400 / ISO-TSAP Class 0
TCP  103  Genesis Point-to-Point Trans Net
TCP  104  ACR-NEMA Digital Imag. & Comm. 300
TCP  105  Mailbox Name Nameserver
TCP  106  3COM-TSMUX
TCP  107  Remote Telnet Service
TCP  108  SNA Gateway Access Server
TCP  109  Post Office Protocol - Version 2
TCP  110  Post Office Protocol - Version 3
TCP  111  SUN Remote Procedure Call
TCP  112  McIDAS Data Transmission Protocol
TCP  113  Authentication Service
TCP  114  Audio News Multicast
TCP  115  Simple File Transfer Protocol
TCP  116  ANSA REX Notify
TCP  117  UUCP Path Service
TCP  118  SQL Services
TCP  119  Network News Transfer Protocol
TCP  120  CFDPTKT
TCP  121  Encore Expedited Remote Pro.Call
TCP  122  SMAKYNET
TCP  123  Network Time Protocol
TCP  124  ANSA REX Trader
TCP  125  Locus PC-Interface Net Map Ser
TCP  126  Unisys Unitary Login
TCP  127  Locus PC-Interface Conn Server
TCP  128  GSS X License Verification
TCP  129  Password Generator Protocol
TCP  130  cisco FNATIVE
TCP  131  cisco TNATIVE
TCP  132  cisco SYSMAINT
TCP  133  Statistics Service
TCP  134  INGRES-NET Service
TCP  135  DCE endpoint resolution
TCP  136  PROFILE Naming System
TCP  137  NETBIOS Name Service
TCP  138  NETBIOS Datagram Service
TCP  139  NETBIOS Session Service
TCP  140  EMFIS Data Service
TCP  141  EMFIS Control Service
TCP  142  Britton-Lee IDM
TCP  143  Internet Message Access Protocol
TCP  144  Universal Management Architecture
TCP  145  UAAC Protocol
TCP  146  ISO-IP0
TCP  147  ISO-IP
TCP  148  Jargon
TCP  149  AED 512 Emulation Service
TCP  150  SQL-NET
TCP  151  HEMS
TCP  152  Background File Transfer Program
TCP  153  SGMP
TCP  154  NETSC
TCP  155  NETSC
TCP  156  SQL Service
TCP  157  KNET/VM Command/Message Protocol
TCP  158  PCMail Server
TCP  159  NSS-Routing
TCP  160  SGMP-TRAPS
TCP  161  SNMP
TCP  162  SNMPTRAP
TCP  163  CMIP/TCP Manager
TCP  164  CMIP/TCP Agent
TCP  165  Xerox
TCP  166  Sirius Systems
TCP  167  NAMP
TCP  168  RSVD
TCP  169  SEND
TCP  170  Network PostScript
TCP  171  Network Innovations Multiplex
TCP  172  Network Innovations CL/1
TCP  173  Xyplex
TCP  174  MAILQ
TCP  175  VMNET
TCP  176  GENRAD-MUX
TCP  177  X Display Manager Control Protocol
TCP  178  NextStep Window Server
TCP  179  Border Gateway Protocol
TCP  180  Intergraph
TCP  181  Unify
TCP  182  Unisys Audit SITP
TCP  183  OCBinder
TCP  184  OCServer
TCP  185  Remote-KIS
TCP  186  KIS Protocol
TCP  187  Application Communication Interface
TCP  188  Plus Five's MUMPS
TCP  189  Queued File Transport
TCP  190  Gateway Access Control Protocol
TCP  191  Prospero Directory Service
TCP  192  OSU Network Monitoring System
TCP  193  Spider Remote Monitoring Protocol
TCP  194  Internet Relay Chat Protocol
TCP  195  DNSIX Network Level Module Audit
TCP  196  DNSIX Session Mgt Module Audit Redir
TCP  197  Directory Location Service
TCP  198  Directory Location Service Monitor
TCP  199  SMUX
TCP  200  IBM System Resource Controller
TCP  201  AppleTalk Routing Maintenance
TCP  202  AppleTalk Name Binding
TCP  203  AppleTalk Unused
TCP  204  AppleTalk Echo
TCP  205  AppleTalk Unused
TCP  206  AppleTalk Zone Information
TCP  207  AppleTalk Unused
TCP  208  AppleTalk Unused
TCP  209  The Quick Mail Transfer Protocol
TCP  210  ANSI Z39.50
TCP  211  Texas Instruments 914C/G Terminal
TCP  212  ATEXSSTR
TCP  213  IPX
TCP  214  VM PWSCS
TCP  215  Insignia Solutions
TCP  216  Computer Associates Int'l License Server
TCP  217  dBASE Unix
TCP  218  Netix Message Posting Protocol
TCP  219  Unisys ARPs
TCP  220  Interactive Mail Access Protocol v3
TCP  221  Berkeley rlogind with SPX auth
TCP  222  Berkeley rshd with SPX auth
TCP  223  Certificate Distribution Center
TCP  224  masqdialer
TCP  242  Direct
TCP  243  Survey Measurement
TCP  244  inbusiness
TCP  245  LINK
TCP  246  Display Systems Protocol
TCP  247  SUBNTBCST_TFTP
TCP  248  bhfhs
TCP  256  RAP/Checkpoint SNMP
TCP  257  Check Point / Secure Electronic Transaction
TCP  258  Check Point / Yak Winsock Personal Chat
TCP  259  Check Point Firewall-1 telnet auth / Efficient Short Remote Operations
TCP  260  Openport
TCP  261  IIOP Name Service over TLS/SSL
TCP  262  Arcisdms
TCP  263  HDAP
TCP  264  BGMP / Check Point
TCP  265  X-Bone CTL
TCP  266  SCSI on ST
TCP  267  Tobit David Service Layer
TCP  268  Tobit David Replica
TCP  280  HTTP-mgmt
TCP  281  Personal Link
TCP  282  Cable Port A/X
TCP  283  rescap
TCP  284  corerjd
TCP  286  FXP-1
TCP  287  K-BLOCK
TCP  308  Novastor Backup
TCP  309  EntrustTime
TCP  310  bhmds
TCP  311  AppleShare IP WebAdmin
TCP  312  VSLMP
TCP  313  Magenta Logic
TCP  314  Opalis Robot
TCP  315  DPSI
TCP  316  decAuth
TCP  317  Zannet
TCP  318  PKIX TimeStamp
TCP  319  PTP Event
TCP  320  PTP General
TCP  321  PIP
TCP  322  RTSPS
TCP  333  Texar Security Port
TCP  344  Prospero Data Access Protocol
TCP  345  Perf Analysis Workbench
TCP  346  Zebra server
TCP  347  Fatmen Server
TCP  348  Cabletron Management Protocol
TCP  349  mftp
TCP  350  MATIP Type A
TCP  351  bhoetty (added 5/21/97)
TCP  352  bhoedap4 (added 5/21/97)
TCP  353  NDSAUTH
TCP  354  bh611
TCP  355  DATEX-ASN
TCP  356  Cloanto Net 1
TCP  357  bhevent
TCP  358  Shrinkwrap
TCP  359  Tenebris Network Trace Service
TCP  360  scoi2odialog
TCP  361  Semantix
TCP  362  SRS Send
TCP  363  RSVP Tunnel
TCP  364  Aurora CMGR
TCP  365  DTK
TCP  366  ODMR
TCP  367  MortgageWare
TCP  368  QbikGDP
TCP  369  rpc2portmap
TCP  370  codaauth2
TCP  371  Clearcase
TCP  372  ListProcessor
TCP  373  Legent Corporation
TCP  374  Legent Corporation
TCP  375  Hassle
TCP  376  Amiga Envoy Network Inquiry Proto
TCP  377  NEC Corporation
TCP  378  NEC Corporation
TCP  379  TIA/EIA/IS-99 modem client
TCP  380  TIA/EIA/IS-99 modem server
TCP  381  hp performance data collector
TCP  382  hp performance data managed node
TCP  383  hp performance data alarm manager
TCP  384  A Remote Network Server System
TCP  385  IBM Application
TCP  386  ASA Message Router Object Def.
TCP  387  Appletalk Update-Based Routing Pro.
TCP  388  Unidata LDM
TCP  389  Lightweight Directory Access Protocol / Internet Locator Service (ILS)
TCP  390  UIS
TCP  391  SynOptics SNMP Relay Port
TCP  392  SynOptics Port Broker Port
TCP  393  Data Interpretation System
TCP  394  EMBL Nucleic Data Transfer
TCP  395  NETscout Control Protocol
TCP  396  Novell Netware over IP
TCP  397  Multi Protocol Trans. Net.
TCP  398  Kryptolan
TCP  399  ISO Transport Class 2 Non-Control over TCP
TCP  400  Workstation Solutions
TCP  401  Uninterruptible Power Supply
TCP  402  Genie Protocol
TCP  403  decap
TCP  404  nced
TCP  405  ncld
TCP  406  Interactive Mail Support Protocol
TCP  407  Timbuktu
TCP  408  Prospero Resource Manager Sys. Man.
TCP  409  Prospero Resource Manager Node Man.
TCP  410  DECLadebug Remote Debug Protocol
TCP  411  Remote MT Protocol
TCP  412  NeoModus Direct Connect (Windows file sharing program) / Trap Convention Port
TCP  413  SMSP
TCP  414  InfoSeek
TCP  415  BNet
TCP  416  Silverplatter
TCP  417  Onmux
TCP  418  Hyper-G
TCP  419  Ariel
TCP  420  SMPTE
TCP  421  Ariel
TCP  422  Ariel
TCP  423  IBM Operations Planning and Control Start
TCP  424  IBM Operations Planning and Control Track
TCP  425  ICAD
TCP  426  smartsdp
TCP  427  Server Location
TCP  428  OCS_CMU
TCP  429  OCS_AMU
TCP  430  UTMPSD
TCP  431  UTMPCD
TCP  432  IASD
TCP  433  NNSP
TCP  434  MobileIP-Agent
TCP  435  MobilIP-MN
TCP  436  DNA-CML
TCP  437  comscm
TCP  438  dsfgw
TCP  439  dasp
TCP  440  sgcp
TCP  441  decvms-sysmgt
TCP  442  cvc_hostd
TCP  443  HTTP protocol over TLS/SSL
TCP  444  Simple Network Paging Protocol
TCP  445  Microsoft-DS
TCP  446  DDM-RDB
TCP  447  DDM-RFM
TCP  448  DDM-SSL
TCP  449  AS Server Mapper
TCP  450  TServer
TCP  451  Cray Network Semaphore server
TCP  452  Cray SFS config server
TCP  453  CreativeServer
TCP  454  ContentServer
TCP  455  CreativePartnr
TCP  456  macon-tcp
TCP  457  scohelp
TCP  458  apple quick time
TCP  459  ampr-rcmd
TCP  460  skronk
TCP  461  DataRampSrv
TCP  462  DataRampSrvSec
TCP  463  alpes
TCP  464  kpasswd
TCP  465  SMTPS
TCP  466  digital-vrc
TCP  467  mylex-mapd
TCP  468  proturis
TCP  469  Radio Control Protocol
TCP  470  scx-proxy
TCP  471  Mondex
TCP  472  ljk-login
TCP  473  hybrid-pop
TCP  474  tn-tl-w1
TCP  475  tcpnethaspsrv
TCP  476  tn-tl-fd1
TCP  477  ss7ns
TCP  478  spsc
TCP  479  iafserver
TCP  480  iafdbase
TCP  481  Ph service
TCP  482  bgs-nsi
TCP  483  ulpnet
TCP  484  Integra Software Management Environment
TCP  485  Air Soft Power Burst
TCP  486  avian
TCP  487  saft Simple Asynchronous File Transfer
TCP  488  gss-HTTP
TCP  489  nest-protocol
TCP  490  micom-pfs
TCP  491  go-login
TCP  492  Transport Independent Convergence for FNA
TCP  493  Transport Independent Convergence for FNA
TCP  494  POV-Ray
TCP  495  intecourier
TCP  496  PIM-RP-DISC
TCP  497  dantz
TCP  498  siam
TCP  499  ISO ILL Protocol
TCP  500  ISAKMP
TCP  501  STMF
TCP  502  asa-appl-proto
TCP  503  Intrinsa
TCP  504  citadel
TCP  505  mailbox-lm
TCP  506  ohimsrv
TCP  507  crs
TCP  508  xvttp
TCP  509  snare
TCP  510  FirstClass Protocol
TCP  511  PassGo
TCP  512  Remote process execution
TCP  513  Remote Login
TCP  514  Remote Shell
TCP  515  spooler
TCP  516  videotex
TCP  517  like tenex link but across
TCP  518  talkd
TCP  519  unixtime
TCP  520  extended file name server
TCP  521  ripng
TCP  522  User Location Service / ULP
TCP  523  IBM-DB2
TCP  524  NCP
TCP  525  timeserver
TCP  526  newdate
TCP  527  Stock IXChange
TCP  528  Customer IXChange
TCP  529  IRC-SERV
TCP  530  rpc
TCP  531  chat
TCP  532  readnews
TCP  533  for emergency broadcasts
TCP  534  MegaMedia Admin
TCP  535  iiop
TCP  536  opalis-rdv
TCP  537  Networked Media Streaming Protocol
TCP  538  gdomap
TCP  539  Apertus Technologies Load Determination
TCP  540  uucpd
TCP  541  uucp-rlogin
TCP  542  commerce
TCP  543  kerberos (v4/v5)
TCP  544  krcmd
TCP  545  appleqtcsrvr
TCP  546  DHCPv6 Client
TCP  547  DHCPv6 Server
TCP  548  AppleShare AFP over TCP
TCP  549  IDFP
TCP  550  new-who
TCP  551  cybercash
TCP  552  deviceshare
TCP  553  pirp
TCP  554  Real Time Stream Control Protocol
TCP  555  phAse Zero backdoor (Win 9x, NT) / dsf
TCP  556  rfs server
TCP  557  openvms-sysipc
TCP  558  SDNSKMP
TCP  559  TEEDTAP / Backdoor.Domwis Win32 trojan
TCP  560  rmonitord
TCP  561  monitor
TCP  562  chcmd
TCP  563  AOL IM / NNTP protocol over TLS/SSL
TCP  564  plan 9 file service
TCP  565  whoami
TCP  566  streettalk
TCP  567  banyan-rpc
TCP  568  microsoft shuttle
TCP  569  microsoft rome
TCP  570  demon
TCP  571  udemon
TCP  572  sonar
TCP  573  banyan-vip
TCP  574  FTP Software Agent System
TCP  575  VEMMI
TCP  576  ipcd
TCP  577  vnas
TCP  578  ipdd
TCP  579  decbsrv
TCP  580  SNTP HEARTBEAT
TCP  581  Bundle Discovery Protocol
TCP  582  SCC Security
TCP  583  Philips Video-Conferencing
TCP  584  Key Server
TCP  585  IMAP4+SSL
TCP  586  Password Change
TCP  587  Message Submission (Sendmail)
TCP  588  CAL
TCP  589  EyeLink
TCP  590  TNS CML
TCP  591  FileMaker Inc. - HTTP Alternate
TCP  592  Eudora Set
TCP  593  HTTP RPC Ep Map
TCP  594  TPIP
TCP  595  CAB Protocol
TCP  596  SMSD
TCP  597  PTC Name Service
TCP  598  SCO Web Server Manager 3
TCP  599  Aeolon Core Protocol
TCP  600  Sun IPC server
TCP  606  Cray Unified Resource Manager
TCP  607  nqs
TCP  608  Sender-Initiated/Unsolicited File Transfer
TCP  609  npmp-trap
TCP  610  Apple Admin Service / npmp-local
TCP  611  npmp-gui
TCP  612  HMMP Indication
TCP  613  HMMP Operation
TCP  614  SSLshell
TCP  615  Internet Configuration Manager
TCP  616  SCO System Administration Server
TCP  617  SCO Desktop Administration Server
TCP  618  DEI-ICDA
TCP  619  Digital EVM
TCP  620  SCO WebServer Manager
TCP  621  ESCP
TCP  622  Collaborator
TCP  623  Aux Bus Shunt
TCP  624  Crypto Admin
TCP  625  DEC DLM
TCP  626  ASIA
TCP  627  PassGo Tivoli
TCP  628  QMQP
TCP  629  3Com AMP3
TCP  630  RDA
TCP  631  IPP (Internet Printing Protocol)
TCP  632  bmpp
TCP  633  Service Status update (Sterling Software)
TCP  634  ginad
TCP  635  RLZ DBase
TCP  636  LDAP protocol over TLS/SSL
TCP  637  lanserver
TCP  638  mcns-sec
TCP  639  MSDP
TCP  640  entrust-sps
TCP  641  repcmd
TCP  642  ESRO-EMSDP V1.3
TCP  643  SANity
TCP  644  dwr
TCP  645  PSSC
TCP  646  LDP
TCP  647  DHCP Failover
TCP  648  Registry Registrar Protocol (RRP)
TCP  649  Aminet
TCP  650  OBEX
TCP  651  IEEE MMS
TCP  652  UDLR_DTCP
TCP  653  RepCmd
TCP  654  AODV
TCP  655  TINC
TCP  656  SPMP
TCP  657  RMC
TCP  658  TenFold
TCP  659  URL Rendezvous
TCP  660  MacOS Server Admin
TCP  661  HAP
TCP  662  PFTP
TCP  663  PureNoise
TCP  664  Secure Aux Bus
TCP  665  Sun DR
TCP  666  doom Id Software
TCP  667  campaign contribution disclosures - SDR Technologies
TCP  668  MeComm
TCP  669  MeRegister
TCP  670  VACDSM-SWS
TCP  671  VACDSM-APP
TCP  672  VPPS-QUA
TCP  673  CIMPLEX
TCP  674  ACAP
TCP  675  DCTP
TCP  676  VPPS Via
TCP  677  Virtual Presence Protocol
TCP  678  GNU Gereration Foundation NCP
TCP  679  MRM
TCP  680  entrust-aaas
TCP  681  entrust-aams
TCP  682  XFR
TCP  683  CORBA IIOP
TCP  684  CORBA IIOP SSL
TCP  685  MDC Port Mapper
TCP  686  Hardware Control Protocol Wismar
TCP  687  asipregistry
TCP  688  REALM-RUSD
TCP  689  NMAP
TCP  690  VATP
TCP  691  MS Exchange Routing
TCP  692  Hyperwave-ISP
TCP  693  connendp
TCP  694  ha-cluster
TCP  695  IEEE-MMS-SSL
TCP  696  RUSHD
TCP  697  UUIDGEN
TCP  698  OLSR
TCP  704  errlog copy/server daemon
TCP  705  AgentX
TCP  706  SILC
TCP  707  W32.Nachi Worm / Borland DSJ
TCP  709  Entrust Key Management Service Handler
TCP  710  Entrust Administration Service Handler
TCP  711  Cisco TDP
TCP  729  IBM NetView DM/6000 Server/Client
TCP  730  IBM NetView DM/6000 send/tcp
TCP  731  IBM NetView DM/6000 receive/tcp
TCP  740  (old) NETscout Control Protocol (old)
TCP  741  netGW
TCP  742  Network based Rev. Cont. Sys.
TCP  744  Flexible License Manager
TCP  747  Fujitsu Device Control
TCP  748  Russell Info Sci Calendar Manager
TCP  749  kerberos administration
TCP  750  rfile
TCP  751  pump
TCP  752  Kerberos password server
TCP  753  Kerberos userreg server
TCP  754  send
TCP  758  nlogin
TCP  759  con
TCP  760  kreg, kerberos/4 registration
TCP  761  kpwd, Kerberos/4 password
TCP  762  quotad
TCP  763  cycleserv
TCP  764  omserv
TCP  765  webster
TCP  767  phone
TCP  769  vid
TCP  770  cadlock
TCP  771  rtip
TCP  772  cycleserv2
TCP  773  submit
TCP  774  rpasswd
TCP  775  entomb
TCP  776  wpages
TCP  777  Multiling HTTP
TCP  780  wpgs
TCP  781  HP performance data collector
TCP  782  node HP performance data managed node
TCP  783  HP performance data alarm manager
TCP  786  Concert
TCP  787  QSC
TCP  799  ControlIT / Remotely Possible
TCP  800  mdbs_daemon / Remotely Possible
TCP  801  device
TCP  808  CCProxy
TCP  810  FCP
TCP  828  itm-mcell-s
TCP  829  PKIX-3 CA/RA
TCP  871  SUP server
TCP  873  rsync
TCP  886  ICL coNETion locate server
TCP  887  ICL coNETion server info
TCP  888  CD Database Protocol
TCP  900  Check Point Firewall-1 HTTP administration / OMG Initial Refs
TCP  901  Samba Web Administration Tool / Realsecure / SMPNAMERES/ NetDevil trojan
TCP  902  VMware Authentication Daemon / IDEAFARM-CHAT
TCP  903  IDEAFARM-CATCH / NetDevil trojan
TCP  911  xact-backup
TCP  912  VMware Authentication Daemon
TCP  989  FTP protocol data over TLS/SSL
TCP  990  FTP protocol control over TLS/SSL
TCP  991  Netnews Administration System
TCP  992  Telnet protocol over TLS/SSL
TCP  993  IMAP4 protocol over TLS/SSL
TCP  994  IRC protocol over TLS/SSL
TCP  995  POP3 protocol over TLS/SSL
TCP  996  vsinet
TCP  997  maitrd
TCP  998  busboy
TCP  999  puprouter
TCP  1000  cadlock
TCP  1002  Microsoft Site Server Internet Locator Service (Netmeeting/ICF)
TCP  1008  UFS-aware server
TCP  1010  surf
TCP  1011  Doly (Windows Trojan)
TCP  1015  Doly (Windows Trojan)
TCP  1023  Reserved
TCP  1024  Reserved
TCP  1025  MSTASK / network blackjack
TCP  1026  MSTASK / Remote Login Network Terminal
TCP  1030  BBN IAD
TCP  1031  InetInfo / BBN IAD
TCP  1032  BBN IAD
TCP  1042  W32.Mydoom.L virus
TCP  1047  Sun's NEO Object Request Broker
TCP  1048  Sun's NEO Object Request Broker
TCP  1049  Tobit David Postman VPMN
TCP  1050  CORBA Management Agent
TCP  1051  Optima VNET
TCP  1052  Dynamic DNS Tools
TCP  1053  Remote Assistant (RA)
TCP  1054  BRVREAD
TCP  1055  ANSYS - License Manager
TCP  1056  VFO
TCP  1057  STARTRON
TCP  1058  nim
TCP  1059  nimreg
TCP  1060  POLESTAR
TCP  1061  KIOSK
TCP  1062  Veracity
TCP  1063  KyoceraNetDev
TCP  1064  JSTEL
TCP  1065  SYSCOMLAN
TCP  1066  FPO-FNS
TCP  1067  Installation Bootstrap Proto. Serv.
TCP  1068  Installation Bootstrap Proto. Cli.
TCP  1069  COGNEX-INSIGHT
TCP  1070  GMRUpdateSERV
TCP  1071  BSQUARE-VOIP
TCP  1072  CARDAX
TCP  1073  BridgeControl
TCP  1074  FASTechnologies License Manager
TCP  1075  RDRMSHC
TCP  1076  DAB STI-C
TCP  1077  IMGames
TCP  1078  eManageCstp
TCP  1079  ASPROVATalk
TCP  1080  Socks / W32.Beagle.AB trojan
TCP  1081  PVUNIWIEN
TCP  1082  AMT-ESD-PROT
TCP  1083  Anasoft License Manager
TCP  1084  Anasoft License Manager
TCP  1085  Web Objects
TCP  1086  CPL Scrambler Logging
TCP  1087  CPL Scrambler Internal
TCP  1088  CPL Scrambler Alarm Log
TCP  1089  FF Annunciation
TCP  1090  FF Fieldbus Message Specification
TCP  1091  FF System Management
TCP  1092  OBRPD
TCP  1093  PROOFD
TCP  1094  ROOTD
TCP  1095  NICELink
TCP  1096  Common Name Resolution Protocol
TCP  1097  Sun Cluster Manager
TCP  1098  RMI Activation
TCP  1099  RMI Registry
TCP  1100  MCTP
TCP  1101  PT2-DISCOVER
TCP  1102  ADOBE SERVER 1
TCP  1103  ADOBE SERVER 2
TCP  1104  XRL
TCP  1105  FTRANHC
TCP  1106  ISOIPSIGPORT-1
TCP  1107  ISOIPSIGPORT-2
TCP  1108  ratio-adp
TCP  1109  Pop with Kerberos
TCP  1110  Cluster status info
TCP  1111  LM Social Server
TCP  1112  Intelligent Communication Protocol
TCP  1114  Mini SQL
TCP  1115  ARDUS Transfer
TCP  1116  ARDUS Control
TCP  1117  ARDUS Multicast Transfer
TCP  1123  Murray
TCP  1127  SUP debugging
TCP  1155  Network File Access
TCP  1161  Health Polling
TCP  1162  Health Trap
TCP  1169  TRIPWIRE
TCP  1178  SKK (kanji input)
TCP  1180  Millicent Client Proxy
TCP  1188  HP Web Admin
TCP  1200  SCOL
TCP  1201  Nucleus Sand
TCP  1202  caiccipc
TCP  1203  License Validation
TCP  1204  Log Request Listener
TCP  1205  Accord-MGC
TCP  1206  Anthony Data
TCP  1207  MetaSage
TCP  1208  SEAGULL AIS
TCP  1209  IPCD3
TCP  1210  EOSS
TCP  1211  Groove DPP
TCP  1212  lupa
TCP  1213  MPC LIFENET
TCP  1214  KAZAA (Morpheus)
TCP  1215  scanSTAT 1.0
TCP  1216  ETEBAC 5
TCP  1217  HPSS-NDAPI
TCP  1218  AeroFlight-ADs
TCP  1219  AeroFlight-Ret
TCP  1220  QT SERVER ADMIN
TCP  1221  SweetWARE Apps
TCP  1222  SNI R&D network
TCP  1223  TGP
TCP  1224  VPNz
TCP  1225  SLINKYSEARCH
TCP  1226  STGXFWS
TCP  1227  DNS2Go
TCP  1228  FLORENCE
TCP  1229  Novell ZFS
TCP  1234  W32.Beagle.Y trojan / Infoseek Search Agent
TCP  1239  NMSD
TCP  1241  Nessus Daemon / remote message service
TCP  1243  SubSeven (Windows Trojan)
TCP  1245  Subseven backdoor remote access tool
TCP  1248  hermes
TCP  1270  Microsoft Operations Manager MOM-Encrypted
TCP  1300  H323 Host Call Secure
TCP  1310  Husky
TCP  1311  RxMon
TCP  1312  STI Envision
TCP  1313  BMC_PATROLDB
TCP  1314  Photoscript Distributed Printing System
TCP  1319  Panja-ICSP
TCP  1320  Panja-AXBNET
TCP  1321  PIP
TCP  1335  Digital Notary Protocol
TCP  1345  VPJP
TCP  1346  Alta Analytics License Manager
TCP  1347  multi media conferencing
TCP  1348  multi media conferencing
TCP  1349  Registration Network Protocol
TCP  1350  Registration Network Protocol
TCP  1351  Digital Tool Works (MIT)
TCP  1352  Lotus Notes
TCP  1353  Relief Consulting
TCP  1354  RightBrain Software
TCP  1355  Intuitive Edge
TCP  1356  CuillaMartin Company
TCP  1357  Electronic PegBoard
TCP  1358  CONNLCLI
TCP  1359  FTSRV
TCP  1360  MIMER
TCP  1361  LinX
TCP  1362  TimeFlies
TCP  1363  Network DataMover Requester
TCP  1364  Network DataMover Server
TCP  1365  Network Software Associates
TCP  1366  Novell NetWare Comm Service Platform
TCP  1367  DCS
TCP  1368  ScreenCast
TCP  1369  GlobalView to Unix Shell
TCP  1370  Unix Shell to GlobalView
TCP  1371  Fujitsu Config Protocol
TCP  1372  Fujitsu Config Protocol
TCP  1373  Chromagrafx
TCP  1374  EPI Software Systems
TCP  1375  Bytex
TCP  1376  IBM Person to Person Software
TCP  1377  Cichlid License Manager
TCP  1378  Elan License Manager
TCP  1379  Integrity Solutions
TCP  1380  Telesis Network License Manager
TCP  1381  Apple Network License Manager
TCP  1382  udt_os
TCP  1383  GW Hannaway Network License Manager
TCP  1384  Objective Solutions License Manager
TCP  1385  Atex Publishing License Manager
TCP  1386  CheckSum License Manager
TCP  1387  Computer Aided Design Software Inc LM
TCP  1388  Objective Solutions DataBase Cache
TCP  1389  Document Manager
TCP  1390  Storage Controller
TCP  1391  Storage Access Server
TCP  1392  Print Manager
TCP  1393  Network Log Server
TCP  1394  Network Log Client
TCP  1395  PC Workstation Manager software
TCP  1396  DVL Active Mail
TCP  1397  Audio Active Mail
TCP  1398  Video Active Mail
TCP  1399  Cadkey License Manager
TCP  1400  Cadkey Tablet Daemon
TCP  1401  Goldleaf License Manager
TCP  1402  Prospero Resource Manager
TCP  1403  Prospero Resource Manager
TCP  1404  Infinite Graphics License Manager
TCP  1405  IBM Remote Execution Starter
TCP  1406  NetLabs License Manager
TCP  1407  DBSA License Manager
TCP  1408  Sophia License Manager
TCP  1409  Here License Manager
TCP  1410  HiQ License Manager
TCP  1411  AudioFile
TCP  1412  InnoSys
TCP  1413  Innosys-ACL
TCP  1414  IBM MQSeries
TCP  1415  DBStar
TCP  1416  Novell LU6.2
TCP  1417  Timbuktu Service 1 Port
TCP  1418  Timbuktu Service 2 Port
TCP  1419  Timbuktu Service 3 Port
TCP  1420  Timbuktu Service 4 Port
TCP  1421  Gandalf License Manager
TCP  1422  Autodesk License Manager
TCP  1423  Essbase Arbor Software
TCP  1424  Hybrid Encryption Protocol
TCP  1425  Zion Software License Manager
TCP  1426  Satellite-data Acquisition System 1
TCP  1427  mloadd monitoring tool
TCP  1428  Informatik License Manager
TCP  1429  Hypercom NMS
TCP  1430  Hypercom TPDU
TCP  1431  Reverse Gossip Transport
TCP  1432  Blueberry Software License Manager
TCP  1433  Microsoft-SQL-Server
TCP  1434  Microsoft-SQL-Monitor
TCP  1435  IBM CICS
TCP  1436  Satellite-data Acquisition System 2
TCP  1437  Tabula
TCP  1438  Eicon Security Agent/Server
TCP  1439  Eicon X25/SNA Gateway
TCP  1440  Eicon Service Location Protocol
TCP  1441  Cadis License Management
TCP  1442  Cadis License Management
TCP  1443  Integrated Engineering Software
TCP  1444  Marcam License Management
TCP  1445  Proxima License Manager
TCP  1446  Optical Research Associates License Manager
TCP  1447  Applied Parallel Research LM
TCP  1448  OpenConnect License Manager
TCP  1449  PEport
TCP  1450  Tandem Distributed Workbench Facility
TCP  1451  IBM Information Management
TCP  1452  GTE Government Systems License Man
TCP  1453  Genie License Manager
TCP  1454  interHDL License Manager
TCP  1455  ESL License Manager
TCP  1456  DCA
TCP  1457  Valisys License Manager
TCP  1458  Nichols Research Corp.
TCP  1459  Proshare Notebook Application
TCP  1460  Proshare Notebook Application
TCP  1461  IBM Wireless LAN
TCP  1462  World License Manager
TCP  1463  Nucleus
TCP  1464  MSL License Manager
TCP  1465  Pipes Platform
TCP  1466  Ocean Software License Manager
TCP  1467  CSDMBASE
TCP  1468  CSDM
TCP  1469  Active Analysis Limited License Manager
TCP  1470  Universal Analytics
TCP  1471  csdmbase
TCP  1472  csdm
TCP  1473  OpenMath
TCP  1474  Telefinder
TCP  1475  Taligent License Manager
TCP  1476  clvm-cfg
TCP  1477  ms-sna-server
TCP  1478  ms-sna-base
TCP  1479  dberegister
TCP  1480  PacerForum
TCP  1481  AIRS
TCP  1482  Miteksys License Manager
TCP  1483  AFS License Manager
TCP  1484  Confluent License Manager
TCP  1485  LANSource
TCP  1486  nms_topo_serv
TCP  1487  LocalInfoSrvr
TCP  1488  DocStor
TCP  1489  dmdocbroker
TCP  1490  insitu-conf
TCP  1491  anynetgateway
TCP  1492  stone-design-1
TCP  1493  netmap_lm
TCP  1494  Citrix/ica
TCP  1495  cvc
TCP  1496  liberty-lm
TCP  1497  rfx-lm
TCP  1498  Sybase SQL Any
TCP  1499  Federico Heinz Consultora
TCP  1500  VLSI License Manager
TCP  1501  Satellite-data Acquisition System 3
TCP  1502  Shiva
TCP  1503  MS Netmeeting / T.120 / Databeam
TCP  1504  EVB Software Engineering License Manager
TCP  1505  Funk Software Inc.
TCP  1506  Universal Time daemon (utcd)
TCP  1507  symplex
TCP  1508  diagmond
TCP  1509  Robcad Ltd. License Manager
TCP  1510  Midland Valley Exploration Ltd. Lic. Man.
TCP  1511  3l-l1
TCP  1512  Microsoft's Windows Internet Name Service
TCP  1513  Fujitsu Systems Business of America Inc
TCP  1514  Fujitsu Systems Business of America Inc
TCP  1515  ifor-protocol
TCP  1516  Virtual Places Audio data
TCP  1517  Virtual Places Audio control
TCP  1518  Virtual Places Video data
TCP  1519  Virtual Places Video control
TCP  1520  atm zip office
TCP  1521  Oracle8i Listener / nCube License Manager
TCP  1522  Ricardo North America License Manager
TCP  1523  cichild
TCP  1524  dtspcd / ingres
TCP  1525  Oracle / Prospero Directory Service non-priv
TCP  1526  Prospero Data Access Prot non-priv
TCP  1527  oracle
TCP  1528  micautoreg
TCP  1529  oracle
TCP  1530  Oracle ExtProc (PLSExtProc) / rap-service
TCP  1531  rap-listen
TCP  1532  miroconnect
TCP  1533  Virtual Places Software
TCP  1534  micromuse-lm
TCP  1535  ampr-info
TCP  1536  ampr-inter
TCP  1537  isi-lm
TCP  1538  3ds-lm
TCP  1539  Intellistor License Manager
TCP  1540  rds
TCP  1541  rds2
TCP  1542  gridgen-elmd
TCP  1543  simba-cs
TCP  1544  aspeclmd
TCP  1545  vistium-share
TCP  1546  abbaccuray
TCP  1547  laplink
TCP  1548  Axon License Manager
TCP  1549  Shiva Hose
TCP  1550  Image Storage license manager 3M Company
TCP  1551  HECMTL-DB
TCP  1552  pciarray
TCP  1553  sna-cs
TCP  1554  CACI Products Company License Manager
TCP  1555  livelan
TCP  1556  AshWin CI Tecnologies
TCP  1557  ArborText License Manager
TCP  1558  xingmpeg
TCP  1559  web2host
TCP  1560  asci-val
TCP  1561  facilityview
TCP  1562  pconnectmgr
TCP  1563  Cadabra License Manager
TCP  1564  Pay-Per-View
TCP  1565  WinDD
TCP  1566  CORELVIDEO
TCP  1567  jlicelmd
TCP  1568  tsspmap
TCP  1569  ets
TCP  1570  orbixd
TCP  1571  Oracle Remote Data Base
TCP  1572  Chipcom License Manager
TCP  1573  itscomm-ns
TCP  1574  mvel-lm
TCP  1575  oraclenames
TCP  1576  moldflow-lm
TCP  1577  hypercube-lm
TCP  1578  Jacobus License Manager
TCP  1579  ioc-sea-lm
TCP  1580  tn-tl-r1
TCP  1581  MIL-2045-47001
TCP  1582  MSIMS
TCP  1583  simbaexpress
TCP  1584  tn-tl-fd2
TCP  1585  intv
TCP  1586  ibm-abtact
TCP  1587  pra_elmd
TCP  1588  triquest-lm
TCP  1589  VQP
TCP  1590  gemini-lm
TCP  1591  ncpm-pm
TCP  1592  commonspace
TCP  1593  mainsoft-lm
TCP  1594  sixtrak
TCP  1595  radio
TCP  1596  radio-sm
TCP  1597  orbplus-iiop
TCP  1598  picknfs
TCP  1599  simbaservices
TCP  1600  Bofra-A worm / issd
TCP  1601  aas
TCP  1602  inspect
TCP  1603  pickodbc
TCP  1604  icabrowser
TCP  1605  Salutation Manager (Salutation Protocol)
TCP  1606  Salutation Manager (SLM-API)
TCP  1607  stt
TCP  1608  Smart Corp. License Manager
TCP  1609  isysg-lm
TCP  1610  taurus-wh
TCP  1611  Inter Library Loan
TCP  1612  NetBill Transaction Server
TCP  1613  NetBill Key Repository
TCP  1614  NetBill Credential Server
TCP  1615  NetBill Authorization Server
TCP  1616  NetBill Product Server
TCP  1617  Nimrod Inter-Agent Communication
TCP  1618  skytelnet
TCP  1619  xs-openstorage
TCP  1620  faxportwinport
TCP  1621  softdataphone
TCP  1622  ontime
TCP  1623  jaleosnd
TCP  1624  udp-sr-port
TCP  1625  svs-omagent
TCP  1626  Shockwave
TCP  1627  T.128 Gateway
TCP  1628  LonTalk normal
TCP  1629  LonTalk urgent
TCP  1630  Oracle Net8 Cman
TCP  1631  Visit view
TCP  1632  PAMMRATC
TCP  1633  PAMMRPC
TCP  1634  Log On America Probe
TCP  1635  EDB Server 1
TCP  1636  CableNet Control Protocol
TCP  1637  CableNet Admin Protocol
TCP  1638  Bofra-A worm / CableNet Info Protocol
TCP  1639  cert-initiator
TCP  1640  cert-responder
TCP  1641  InVision
TCP  1642  isis-am
TCP  1643  isis-ambc
TCP  1644  Satellite-data Acquisition System 4
TCP  1645  datametrics
TCP  1646  sa-msg-port
TCP  1647  rsap
TCP  1648  concurrent-lm
TCP  1649  kermit
TCP  1650  nkd
TCP  1651  shiva_confsrvr
TCP  1652  xnmp
TCP  1653  alphatech-lm
TCP  1654  stargatealerts
TCP  1655  dec-mbadmin
TCP  1656  dec-mbadmin-h
TCP  1657  fujitsu-mmpdc
TCP  1658  sixnetudr
TCP  1659  Silicon Grail License Manager
TCP  1660  skip-mc-gikreq
TCP  1661  netview-aix-1
TCP  1662  netview-aix-2
TCP  1663  netview-aix-3
TCP  1664  netview-aix-4
TCP  1665  netview-aix-5
TCP  1666  netview-aix-6
TCP  1667  netview-aix-7
TCP  1668  netview-aix-8
TCP  1669  netview-aix-9
TCP  1670  netview-aix-10
TCP  1671  netview-aix-11
TCP  1672  netview-aix-12
TCP  1673  Intel Proshare Multicast
TCP  1674  Intel Proshare Multicast
TCP  1675  Pacific Data Products
TCP  1676  netcomm1
TCP  1677  groupwise
TCP  1678  prolink
TCP  1679  darcorp-lm
TCP  1680  microcom-sbp
TCP  1681  sd-elmd
TCP  1682  lanyon-lantern
TCP  1683  ncpm-hip
TCP  1684  SnareSecure
TCP  1685  n2nremote
TCP  1686  cvmon
TCP  1687  nsjtp-ctrl
TCP  1688  nsjtp-data
TCP  1689  firefox
TCP  1690  ng-umds
TCP  1691  empire-empuma
TCP  1692  sstsys-lm
TCP  1693  rrirtr
TCP  1694  rrimwm
TCP  1695  rrilwm
TCP  1696  rrifmm
TCP  1697  rrisat
TCP  1698  RSVP-ENCAPSULATION-1
TCP  1699  RSVP-ENCAPSULATION-2
TCP  1700  mps-raft
TCP  1701  l2tp / AOL
TCP  1702  deskshare
TCP  1703  hb-engine
TCP  1704  bcs-broker
TCP  1705  slingshot
TCP  1706  jetform
TCP  1707  vdmplay
TCP  1708  gat-lmd
TCP  1709  centra
TCP  1710  impera
TCP  1711  pptconference
TCP  1712  resource monitoring service
TCP  1713  ConferenceTalk
TCP  1714  sesi-lm
TCP  1715  houdini-lm
TCP  1716  xmsg
TCP  1717  fj-hdnet
TCP  1718  h323gatedisc
TCP  1719  h323gatestat
TCP  1720  h323hostcall
TCP  1721  caicci
TCP  1722  HKS License Manager
TCP  1723  pptp
TCP  1724  csbphonemaster
TCP  1725  iden-ralp
TCP  1726  IBERIAGAMES
TCP  1727  winddx
TCP  1728  TELINDUS
TCP  1729  CityNL License Management
TCP  1730  roketz
TCP  1731  MS Netmeeting / Audio call control / MSICCP
TCP  1732  proxim
TCP  1733  SIMS - SIIPAT Protocol for Alarm Transmission
TCP  1734  Camber Corporation License Management
TCP  1735  PrivateChat
TCP  1736  street-stream
TCP  1737  ultimad
TCP  1738  GameGen1
TCP  1739  webaccess
TCP  1740  encore
TCP  1741  cisco-net-mgmt
TCP  1742  3Com-nsd
TCP  1743  Cinema Graphics License Manager
TCP  1744  ncpm-ft
TCP  1745  ISA Server proxy autoconfig / Remote Winsock
TCP  1746  ftrapid-1
TCP  1747  ftrapid-2
TCP  1748  oracle-em1
TCP  1749  aspen-services
TCP  1750  Simple Socket Library's PortMaster
TCP  1751  SwiftNet
TCP  1752  Leap of Faith Research License Manager
TCP  1753  Translogic License Manager
TCP  1754  oracle-em2
TCP  1755  Microsoft Streaming Server
TCP  1756  capfast-lmd
TCP  1757  cnhrp
TCP  1758  tftp-mcast
TCP  1759  SPSS License Manager
TCP  1760  www-ldap-gw
TCP  1761  cft-0
TCP  1762  cft-1
TCP  1763  cft-2
TCP  1764  cft-3
TCP  1765  cft-4
TCP  1766  cft-5
TCP  1767  cft-6
TCP  1768  cft-7
TCP  1769  bmc-net-adm
TCP  1770  bmc-net-svc
TCP  1771  vaultbase
TCP  1772  EssWeb Gateway
TCP  1773  KMSControl
TCP  1774  global-dtserv
TCP  1776  Federal Emergency Management Information System
TCP  1777  powerguardian
TCP  1778  prodigy-internet
TCP  1779  pharmasoft
TCP  1780  dpkeyserv
TCP  1781  answersoft-lm
TCP  1782  HP JetSend
TCP  1783  Port 04/14/00 fujitsu.co.jp
TCP  1784  Finle License Manager
TCP  1785  Wind River Systems License Manager
TCP  1786  funk-logger
TCP  1787  funk-license
TCP  1788  psmond
TCP  1789  hello
TCP  1790  Narrative Media Streaming Protocol
TCP  1791  EA1
TCP  1792  ibm-dt-2
TCP  1793  rsc-robot
TCP  1794  cera-bcm
TCP  1795  dpi-proxy
TCP  1796  Vocaltec Server Administration
TCP  1797  UMA
TCP  1798  Event Transfer Protocol
TCP  1799  NETRISK
TCP  1800  ANSYS-License manager
TCP  1801  Microsoft Message Queuing
TCP  1802  ConComp1
TCP  1803  HP-HCIP-GWY
TCP  1804  ENL
TCP  1805  ENL-Name
TCP  1806  Musiconline
TCP  1807  Fujitsu Hot Standby Protocol
TCP  1808  Oracle-VP2
TCP  1809  Oracle-VP1
TCP  1810  Jerand License Manager
TCP  1811  Scientia-SDB
TCP  1812  RADIUS
TCP  1813  RADIUS Accounting / HackTool.SkSocket
TCP  1814  TDP Suite
TCP  1815  MMPFT
TCP  1816  HARP
TCP  1817  RKB-OSCS
TCP  1818  Enhanced Trivial File Transfer Protocol
TCP  1819  Plato License Manager
TCP  1820  mcagent
TCP  1821  donnyworld
TCP  1822  es-elmd
TCP  1823  Unisys Natural Language License Manager
TCP  1824  metrics-pas
TCP  1825  DirecPC Video
TCP  1826  ARDT
TCP  1827  ASI
TCP  1828  itm-mcell-u
TCP  1829  Optika eMedia
TCP  1830  Oracle Net8 CMan Admin
TCP  1831  Myrtle
TCP  1832  ThoughtTreasure
TCP  1833  udpradio
TCP  1834  ARDUS Unicast
TCP  1835  ARDUS Multicast
TCP  1836  ste-smsc
TCP  1837  csoft1
TCP  1838  TALNET
TCP  1839  netopia-vo1
TCP  1840  netopia-vo2
TCP  1841  netopia-vo3
TCP  1842  netopia-vo4
TCP  1843  netopia-vo5
TCP  1844  DirecPC-DLL
TCP  1850  GSI
TCP  1851  ctcd
TCP  1860  SunSCALAR Services
TCP  1861  LeCroy VICP
TCP  1862  techra-server
TCP  1863  MSN Messenger
TCP  1864  Paradym 31 Port
TCP  1865  ENTP
TCP  1870  SunSCALAR DNS Service
TCP  1871  Cano Central 0
TCP  1872  Cano Central 1
TCP  1873  Fjmpjps
TCP  1874  Fjswapsnp
TCP  1881  IBM MQSeries
TCP  1895  Vista 4GL
TCP  1899  MC2Studios
TCP  1900  SSDP
TCP  1901  Fujitsu ICL Terminal Emulator Program A
TCP  1902  Fujitsu ICL Terminal Emulator Program B
TCP  1903  Local Link Name Resolution
TCP  1904  Fujitsu ICL Terminal Emulator Program C
TCP  1905  Secure UP.Link Gateway Protocol
TCP  1906  TPortMapperReq
TCP  1907  IntraSTAR
TCP  1908  Dawn
TCP  1909  Global World Link
TCP  1910  ultrabac
TCP  1911  Starlight Networks Multimedia Transport Protocol
TCP  1912  rhp-iibp
TCP  1913  armadp
TCP  1914  Elm-Momentum
TCP  1915  FACELINK
TCP  1916  Persoft Persona
TCP  1917  nOAgent
TCP  1918  Candle Directory Service - NDS
TCP  1919  Candle Directory Service - DCH
TCP  1920  Candle Directory Service - FERRET
TCP  1921  NoAdmin
TCP  1922  Tapestry
TCP  1923  SPICE
TCP  1924  XIIP
TCP  1930  Drive AppServer
TCP  1931  AMD SCHED
TCP  1944  close-combat
TCP  1945  dialogic-elmd
TCP  1946  tekpls
TCP  1947  hlserver
TCP  1948  eye2eye
TCP  1949  ISMA Easdaq Live
TCP  1950  ISMA Easdaq Test
TCP  1951  bcs-lmserver
TCP  1952  mpnjsc
TCP  1953  Rapid Base
TCP  1961  BTS APPSERVER
TCP  1962  BIAP-MP
TCP  1963  WebMachine
TCP  1964  SOLID E ENGINE
TCP  1965  Tivoli NPM
TCP  1966  Slush
TCP  1967  SNS Quote
TCP  1972  Cache
TCP  1973  Data Link Switching Remote Access Protocol
TCP  1974  DRP
TCP  1975  TCO Flash Agent
TCP  1976  TCO Reg Agent
TCP  1977  TCO Address Book
TCP  1978  UniSQL
TCP  1979  UniSQL Java
TCP  1984  BB
TCP  1985  Hot Standby Router Protocol
TCP  1986  cisco license management
TCP  1987  cisco RSRB Priority 1 port
TCP  1988  cisco RSRB Priority 2 port
TCP  1989  MHSnet system
TCP  1990  cisco STUN Priority 1 port
TCP  1991  cisco STUN Priority 2 port
TCP  1992  IPsendmsg
TCP  1993  cisco SNMP TCP port
TCP  1994  cisco serial tunnel port
TCP  1995  cisco perf port
TCP  1996  cisco Remote SRB port
TCP  1997  cisco Gateway Discovery Protocol
TCP  1998  cisco X.25 service (XOT)
TCP  1999  cisco identification port / SubSeven (Windows Trojan) / Backdoor (Windows Trojan)
TCP  2000  Remotely Anywhere / VIA NET.WORKS PostOffice Plus
TCP  2001  Cisco mgmt / Remotely Anywhere
TCP  2002  globe
TCP  2003  GNU finger
TCP  2004  mailbox
TCP  2005  encrypted symmetric telnet/login
TCP  2006  invokator
TCP  2007  dectalk
TCP  2008  conf
TCP  2009  news
TCP  2010  search
TCP  2011  raid
TCP  2012  ttyinfo
TCP  2013  raid-am
TCP  2014  troff
TCP  2015  cypress
TCP  2016  bootserver
TCP  2017  cypress-stat
TCP  2018  terminaldb
TCP  2019  whosockami
TCP  2020  xinupageserver
TCP  2021  servexec
TCP  2022  down
TCP  2023  xinuexpansion3
TCP  2024  xinuexpansion4
TCP  2025  ellpack
TCP  2026  scrabble
TCP  2027  shadowserver
TCP  2028  submitserver
TCP  2030  device2
TCP  2032  blackboard
TCP  2033  glogger
TCP  2034  scoremgr
TCP  2035  imsldoc
TCP  2038  objectmanager
TCP  2040  lam
TCP  2041  W32.Korgo Worm / interbase
TCP  2042  isis
TCP  2043  isis-bcast
TCP  2044  rimsl
TCP  2045  cdfunc
TCP  2046  sdfunc
TCP  2047  dls
TCP  2048  dls-monitor
TCP  2049  Network File System - Sun Microsystems
TCP  2053  Kerberos de-multiplexer
TCP  2054  distrib-net
TCP  2065  Data Link Switch Read Port Number
TCP  2067  Data Link Switch Write Port Number
TCP  2080  Wingate
TCP  2090  Load Report Protocol
TCP  2091  PRP
TCP  2092  Descent 3
TCP  2093  NBX CC
TCP  2094  NBX AU
TCP  2095  NBX SER
TCP  2096  NBX DIR
TCP  2097  Jet Form Preview
TCP  2098  Dialog Port
TCP  2099  H.225.0 Annex G
TCP  2100  amiganetfs
TCP  2101  Microsoft Message Queuing / rtcm-sc104
TCP  2102  Zephyr server
TCP  2103  Microsoft Message Queuing RPC / Zephyr serv-hm connection
TCP  2104  Zephyr hostmanager
TCP  2105  Microsoft Message Queuing RPC / MiniPay
TCP  2106  MZAP
TCP  2107  Microsoft Message Queuing Management / BinTec Admin
TCP  2108  Comcam
TCP  2109  Ergolight
TCP  2110  UMSP
TCP  2111  DSATP
TCP  2112  Idonix MetaNet
TCP  2113  HSL StoRM
TCP  2114  NEWHEIGHTS
TCP  2115  KDM / Bugs (Windows Trojan)
TCP  2116  CCOWCMR
TCP  2117  MENTACLIENT
TCP  2118  MENTASERVER
TCP  2119  GSIGATEKEEPER
TCP  2120  Quick Eagle Networks CP
TCP  2121  CCProxy FTP / SCIENTIA-SSDB
TCP  2122  CauPC Remote Control
TCP  2123  GTP-Control Plane (3GPP)
TCP  2124  ELATELINK
TCP  2125  LOCKSTEP
TCP  2126  PktCable-COPS
TCP  2127  INDEX-PC-WB
TCP  2128  Net Steward Control
TCP  2129  cs-live.com
TCP  2130  SWC-XDS
TCP  2131  Avantageb2b
TCP  2132  AVAIL-EPMAP
TCP  2133  ZYMED-ZPP
TCP  2134  AVENUE
TCP  2135  Grid Resource Information Server
TCP  2136  APPWORXSRV
TCP  2137  CONNECT
TCP  2138  UNBIND-CLUSTER
TCP  2139  IAS-AUTH
TCP  2140  IAS-REG
TCP  2141  IAS-ADMIND
TCP  2142  TDM-OVER-IP
TCP  2143  Live Vault Job Control
TCP  2144  Live Vault Fast Object Transfer
TCP  2145  Live Vault Remote Diagnostic Console Support
TCP  2146  Live Vault Admin Event Notification
TCP  2147  Live Vault Authentication
TCP  2148  VERITAS UNIVERSAL COMMUNICATION LAYER
TCP  2149  ACPTSYS
TCP  2150  DYNAMIC3D
TCP  2151  DOCENT
TCP  2152  GTP-User Plane (3GPP)
TCP  2165  X-Bone API
TCP  2166  IWSERVER
TCP  2180  Millicent Vendor Gateway Server
TCP  2181  eforward
TCP  2190  TiVoConnect Beacon
TCP  2191  TvBus Messaging
TCP  2200  ICI
TCP  2201  Advanced Training System Program
TCP  2202  Int. Multimedia Teleconferencing Cosortium
TCP  2213  Kali
TCP  2220  Ganymede
TCP  2221  Rockwell CSP1
TCP  2222  Rockwell CSP2
TCP  2223  Rockwell CSP3
TCP  2232  IVS Video default
TCP  2233  INFOCRYPT
TCP  2234  DirectPlay
TCP  2235  Sercomm-WLink
TCP  2236  Nani
TCP  2237  Optech Port1 License Manager
TCP  2238  AVIVA SNA SERVER
TCP  2239  Image Query
TCP  2240  RECIPe
TCP  2241  IVS Daemon
TCP  2242  Folio Remote Server
TCP  2243  Magicom Protocol
TCP  2244  NMS Server
TCP  2245  HaO
TCP  2279  xmquery
TCP  2280  LNVPOLLER
TCP  2281  LNVCONSOLE
TCP  2282  LNVALARM
TCP  2283  Dumaru.Y (Windows trojan) / LNVSTATUS
TCP  2284  LNVMAPS
TCP  2285  LNVMAILMON
TCP  2286  NAS-Metering
TCP  2287  DNA
TCP  2288  NETML
TCP  2294  Konshus License Manager (FLEX)
TCP  2295  Advant License Manager
TCP  2296  Theta License Manager (Rainbow)
TCP  2297  D2K DataMover 1
TCP  2298  D2K DataMover 2
TCP  2299  PC Telecommute
TCP  2300  CVMMON
TCP  2301  Compaq HTTP
TCP  2302  Bindery Support
TCP  2303  Proxy Gateway
TCP  2304  Attachmate UTS
TCP  2305  MT ScaleServer
TCP  2306  TAPPI BoxNet
TCP  2307  pehelp
TCP  2308  sdhelp
TCP  2309  SD Server
TCP  2310  SD Client
TCP  2311  Message Service
TCP  2313  IAPP (Inter Access Point Protocol)
TCP  2314  CR WebSystems
TCP  2315  Precise Sft.
TCP  2316  SENT License Manager
TCP  2317  Attachmate G32
TCP  2318  Cadence Control
TCP  2319  InfoLibria
TCP  2320  Siebel NS
TCP  2321  RDLAP over UDP
TCP  2322  ofsd
TCP  2323  3d-nfsd
TCP  2324  Cosmocall
TCP  2325  Design Space License Management
TCP  2326  IDCP
TCP  2327  xingcsm
TCP  2328  Netrix SFTM
TCP  2329  NVD
TCP  2330  TSCCHAT
TCP  2331  AGENTVIEW
TCP  2332  RCC Host
TCP  2333  SNAPP
TCP  2334  ACE Client Auth
TCP  2335  ACE Proxy
TCP  2336  Apple UG Control
TCP  2337  ideesrv
TCP  2338  Norton Lambert
TCP  2339  3Com WebView
TCP  2340  WRS Registry
TCP  2341  XIO Status
TCP  2342  Seagate Manage Exec
TCP  2343  nati logos
TCP  2344  fcmsys
TCP  2345  dbm
TCP  2346  Game Connection Port
TCP  2347  Game Announcement and Location
TCP  2348  Information to query for game status
TCP  2349  Diagnostics Port
TCP  2350  psbserver
TCP  2351  psrserver
TCP  2352  pslserver
TCP  2353  pspserver
TCP  2354  psprserver
TCP  2355  psdbserver
TCP  2356  GXT License Managemant
TCP  2357  UniHub Server
TCP  2358  Futrix
TCP  2359  FlukeServer
TCP  2360  NexstorIndLtd
TCP  2361  TL1
TCP  2362  digiman
TCP  2363  Media Central NFSD
TCP  2364  OI-2000
TCP  2365  dbref
TCP  2366  qip-login
TCP  2367  Service Control
TCP  2368  OpenTable
TCP  2369  ACS2000 DSP
TCP  2370  L3-HBMon
TCP  2381  Compaq HTTPS
TCP  2382  Microsoft OLAP
TCP  2383  Microsoft OLAP
TCP  2384  SD-REQUEST
TCP  2389  OpenView Session Mgr
TCP  2390  RSMTP
TCP  2391  3COM Net Management
TCP  2392  Tactical Auth
TCP  2393  MS OLAP 1
TCP  2394  MS OLAP 2
TCP  2395  LAN900 Remote
TCP  2396  Wusage
TCP  2397  NCL
TCP  2398  Orbiter
TCP  2399  FileMaker Inc. - Data Access Layer
TCP  2400  OpEquus Server
TCP  2401  cvspserver
TCP  2402  TaskMaster 2000 Server
TCP  2403  TaskMaster 2000 Web
TCP  2404  IEC870-5-104
TCP  2405  TRC Netpoll
TCP  2406  JediServer
TCP  2407  Orion
TCP  2408  OptimaNet
TCP  2409  SNS Protocol
TCP  2410  VRTS Registry
TCP  2411  Netwave AP Management
TCP  2412  CDN
TCP  2413  orion-rmi-reg
TCP  2414  Interlingua
TCP  2415  COMTEST
TCP  2416  RMT Server
TCP  2417  Composit Server
TCP  2418  cas
TCP  2419  Attachmate S2S
TCP  2420  DSL Remote Management
TCP  2421  G-Talk
TCP  2422  CRMSBITS
TCP  2423  RNRP
TCP  2424  KOFAX-SVR
TCP  2425  Fujitsu App Manager
TCP  2426  Appliant TCP
TCP  2427  Media Gateway Control Protocol Gateway
TCP  2428  One Way Trip Time
TCP  2429  FT-ROLE
TCP  2430  venus
TCP  2431  venus-se
TCP  2432  codasrv
TCP  2433  codasrv-se
TCP  2434  pxc-epmap
TCP  2435  OptiLogic
TCP  2436  TOP/X
TCP  2437  UniControl
TCP  2438  MSP
TCP  2439  SybaseDBSynch
TCP  2440  Spearway Lockers
TCP  2441  pvsw-inet
TCP  2442  Netangel
TCP  2443  PowerClient Central Storage Facility
TCP  2444  BT PP2 Sectrans
TCP  2445  DTN1
TCP  2446  bues_service
TCP  2447  OpenView NNM daemon
TCP  2448  hpppsvr
TCP  2449  RATL
TCP  2450  netadmin
TCP  2451  netchat
TCP  2452  SnifferClient
TCP  2453  madge-om
TCP  2454  IndX-DDS
TCP  2455  WAGO-IO-SYSTEM
TCP  2456  altav-remmgt
TCP  2457  Rapido_IP
TCP  2458  griffin
TCP  2459  Community
TCP  2460  ms-theater
TCP  2461  qadmifoper
TCP  2462  qadmifevent
TCP  2463  Symbios Raid
TCP  2464  DirecPC SI
TCP  2465  Load Balance Management
TCP  2466  Load Balance Forwarding
TCP  2467  High Criteria
TCP  2468  qip_msgd
TCP  2469  MTI-TCS-COMM
TCP  2470  taskman port
TCP  2471  SeaODBC
TCP  2472  C3
TCP  2473  Aker-cdp
TCP  2474  Vital Analysis
TCP  2475  ACE Server
TCP  2476  ACE Server Propagation
TCP  2477  SecurSight Certificate Valifation Service
TCP  2478  SecurSight Authentication Server (SLL)
TCP  2479  SecurSight Event Logging Server (SSL)
TCP  2480  Lingwood's Detail
TCP  2481  Oracle GIOP
TCP  2482  Oracle GIOP SSL
TCP  2483  Oracle TTC
TCP  2484  Oracle TTC SSL
TCP  2485  Net Objects1
TCP  2486  Net Objects2
TCP  2487  Policy Notice Service
TCP  2488  Moy Corporation
TCP  2489  TSILB
TCP  2490  qip_qdhcp
TCP  2491  Conclave CPP
TCP  2492  GROOVE
TCP  2493  Talarian MQS
TCP  2494  BMC AR
TCP  2495  Fast Remote Services
TCP  2496  DIRGIS
TCP  2497  Quad DB
TCP  2498  ODN-CasTraq
TCP  2499  UniControl
TCP  2500  Resource Tracking system server
TCP  2501  Resource Tracking system client
TCP  2502  Kentrox Protocol
TCP  2503  NMS-DPNSS
TCP  2504  WLBS
TCP  2505  torque-traffic
TCP  2506  jbroker
TCP  2507  spock
TCP  2508  JDataStore
TCP  2509  fjmpss
TCP  2510  fjappmgrbulk
TCP  2511  Metastorm
TCP  2512  Citrix IMA
TCP  2513  Citrix ADMIN
TCP  2514  Facsys NTP
TCP  2515  Facsys Router
TCP  2516  Main Control
TCP  2517  H.323 Annex E call signaling transport
TCP  2518  Willy
TCP  2519  globmsgsvc
TCP  2520  pvsw
TCP  2521  Adaptec Manager
TCP  2522  WinDb
TCP  2523  Qke LLC V.3
TCP  2524  Optiwave License Management
TCP  2525  MS V-Worlds
TCP  2526  EMA License Manager
TCP  2527  IQ Server
TCP  2528  NCR CCL
TCP  2529  UTS FTP
TCP  2530  VR Commerce
TCP  2531  ITO-E GUI
TCP  2532  OVTOPMD
TCP  2533  SnifferServer
TCP  2534  Combox Web Access
TCP  2535  W32.Beagle trojan / MADCAP
TCP  2536  btpp2audctr1
TCP  2537  Upgrade Protocol
TCP  2538  vnwk-prapi
TCP  2539  VSI Admin
TCP  2540  LonWorks
TCP  2541  LonWorks2
TCP  2542  daVinci
TCP  2543  REFTEK
TCP  2544  Novell ZEN
TCP  2545  sis-emt
TCP  2546  vytalvaultbrtp
TCP  2547  vytalvaultvsmp
TCP  2548  vytalvaultpipe
TCP  2549  IPASS
TCP  2550  ADS
TCP  2551  ISG UDA Server
TCP  2552  Call Logging
TCP  2553  efidiningport
TCP  2554  VCnet-Link v10
TCP  2555  Compaq WCP
TCP  2556  W32.Beagle.N trojan / MADCAP / nicetec-nmsvc
TCP  2557  nicetec-mgmt
TCP  2558  PCLE Multi Media
TCP  2559  LSTP
TCP  2560  labrat
TCP  2561  MosaixCC
TCP  2562  Delibo
TCP  2563  CTI Redwood
TCP  2564  HP 3000 NS/VT block mode telnet
TCP  2565  Coordinator Server
TCP  2566  pcs-pcw
TCP  2567  Cisco Line Protocol
TCP  2568  SPAM TRAP
TCP  2569  Sonus Call Signal
TCP  2570  HS Port
TCP  2571  CECSVC
TCP  2572  IBP
TCP  2573  Trust Establish
TCP  2574  Blockade BPSP
TCP  2575  HL7
TCP  2576  TCL Pro Debugger
TCP  2577  Scriptics Lsrvr
TCP  2578  RVS ISDN DCP
TCP  2579  mpfoncl
TCP  2580  Tributary
TCP  2581  ARGIS TE
TCP  2582  ARGIS DS
TCP  2583  MON / Wincrash2
TCP  2584  cyaserv
TCP  2585  NETX Server
TCP  2586  NETX Agent
TCP  2587  MASC
TCP  2588  Privilege
TCP  2589  quartus tcl
TCP  2590  idotdist
TCP  2591  Maytag Shuffle
TCP  2592  netrek
TCP  2593  MNS Mail Notice Service
TCP  2594  Data Base Server
TCP  2595  World Fusion 1
TCP  2596  World Fusion 2
TCP  2597  Homestead Glory
TCP  2598  Citrix MA Client
TCP  2599  Meridian Data
TCP  2600  HPSTGMGR
TCP  2601  discp client
TCP  2602  discp server
TCP  2603  Service Meter
TCP  2604  NSC CCS
TCP  2605  NSC POSA
TCP  2606  Dell Netmon
TCP  2607  Dell Connection
TCP  2608  Wag Service
TCP  2609  System Monitor
TCP  2610  VersaTek
TCP  2611  LIONHEAD
TCP  2612  Qpasa Agent
TCP  2613  SMNTUBootstrap
TCP  2614  Never Offline
TCP  2615  firepower
TCP  2616  appswitch-emp
TCP  2617  Clinical Context Managers
TCP  2618  Priority E-Com
TCP  2619  bruce
TCP  2620  LPSRecommender
TCP  2621  Miles Apart Jukebox Server
TCP  2622  MetricaDBC
TCP  2623  LMDP
TCP  2624  Aria
TCP  2625  Blwnkl Port
TCP  2626  gbjd816
TCP  2627  Moshe Beeri
TCP  2628  DICT
TCP  2629  Sitara Server
TCP  2630  Sitara Management
TCP  2631  Sitara Dir
TCP  2632  IRdg Post
TCP  2633  InterIntelli
TCP  2634  PK Electronics
TCP  2635  Back Burner
TCP  2636  Solve
TCP  2637  Import Document Service
TCP  2638  Sybase Anywhere
TCP  2639  AMInet
TCP  2640  Sabbagh Associates Licence Manager
TCP  2641  HDL Server
TCP  2642  Tragic
TCP  2643  GTE-SAMP
TCP  2644  Travsoft IPX Tunnel
TCP  2645  Novell IPX CMD
TCP  2646  AND Licence Manager
TCP  2647  SyncServer
TCP  2648  Upsnotifyprot
TCP  2649  VPSIPPORT
TCP  2650  eristwoguns
TCP  2651  EBInSite
TCP  2652  InterPathPanel
TCP  2653  Sonus
TCP  2654  Corel VNC Admin
TCP  2655  UNIX Nt Glue
TCP  2656  Kana
TCP  2657  SNS Dispatcher
TCP  2658  SNS Admin
TCP  2659  SNS Query
TCP  2660  GC Monitor
TCP  2661  OLHOST
TCP  2662  BinTec-CAPI
TCP  2663  BinTec-TAPI
TCP  2664  Command MQ GM
TCP  2665  Command MQ PM
TCP  2666  extensis
TCP  2667  Alarm Clock Server
TCP  2668  Alarm Clock Client
TCP  2669  TOAD
TCP  2670  TVE Announce
TCP  2671  newlixreg
TCP  2672  nhserver
TCP  2673  First Call 42
TCP  2674  ewnn
TCP  2675  TTC ETAP
TCP  2676  SIMSLink
TCP  2677  Gadget Gate 1 Way
TCP  2678  Gadget Gate 2 Way
TCP  2679  Sync Server SSL
TCP  2680  pxc-sapxom
TCP  2681  mpnjsomb
TCP  2682  SRSP
TCP  2683  NCDLoadBalance
TCP  2684  mpnjsosv
TCP  2685  mpnjsocl
TCP  2686  mpnjsomg
TCP  2687  pq-lic-mgmt
TCP  2688  md-cf-HTTP
TCP  2689  FastLynx
TCP  2690  HP NNM Embedded Database
TCP  2691  IT Internet
TCP  2692  Admins LMS
TCP  2693  belarc-HTTP
TCP  2694  pwrsevent
TCP  2695  VSPREAD
TCP  2696  Unify Admin
TCP  2697  Oce SNMP Trap Port
TCP  2698  MCK-IVPIP
TCP  2699  Csoft Plus Client
TCP  2700  tqdata
TCP  2701  SMS Remote Control (control)
TCP  2702  SMS Remote Control (data)
TCP  2703  SMS Remote Control (chat)
TCP  2704  SMS Remote File Transfer
TCP  2705  SDS Admin
TCP  2706  NCD Mirroring
TCP  2707  EMCSYMAPIPORT
TCP  2708  Banyan-Net
TCP  2709  Supermon
TCP  2710  SSO Service
TCP  2711  SSO Control
TCP  2712  Axapta Object Communication Protocol
TCP  2713  Raven1
TCP  2714  Raven2
TCP  2715  HPSTGMGR2
TCP  2716  Inova IP Disco
TCP  2717  PN REQUESTER
TCP  2718  PN REQUESTER 2
TCP  2719  Scan & Change
TCP  2720  wkars
TCP  2721  Smart Diagnose
TCP  2722  Proactive Server
TCP  2723  WatchDog NT
TCP  2724  qotps
TCP  2725  SQL Analysis Services / MSOLAP PTP2
TCP  2726  TAMS
TCP  2727  Media Gateway Control Protocol Call Agent
TCP  2728  SQDR
TCP  2729  TCIM Control
TCP  2730  NEC RaidPlus
TCP  2731  NetDragon Messanger
TCP  2732  G5M
TCP  2733  Signet CTF
TCP  2734  CCS Software
TCP  2735  Monitor Console
TCP  2736  RADWIZ NMS SRV
TCP  2737  SRP Feedback
TCP  2738  NDL TCP-OSI Gateway
TCP  2739  TN Timing
TCP  2740  Alarm
TCP  2741  TSB
TCP  2742  TSB2
TCP  2743  murx
TCP  2744  honyaku
TCP  2745  W32.Beagle.C trojan) / URBISNET
TCP  2746  CPUDPENCAP
TCP  2747  yk.fujitsu.co.jp
TCP  2748  yk.fujitsu.co.jp
TCP  2749  yk.fujitsu.co.jp
TCP  2750  yk.fujitsu.co.jp
TCP  2751  yk.fujitsu.co.jp
TCP  2752  RSISYS ACCESS
TCP  2753  de-spot
TCP  2754  APOLLO CC
TCP  2755  Express Pay
TCP  2756  simplement-tie
TCP  2757  CNRP
TCP  2758  APOLLO Status
TCP  2759  APOLLO GMS
TCP  2760  Saba MS
TCP  2761  DICOM ISCL
TCP  2762  DICOM TLS
TCP  2763  Desktop DNA
TCP  2764  Data Insurance
TCP  2765  qip-audup
TCP  2766  Compaq SCP
TCP  2767  UADTC
TCP  2768  UACS
TCP  2769  Single Point MVS
TCP  2770  Veronica
TCP  2771  Vergence CM
TCP  2772  auris
TCP  2773  PC Backup
TCP  2774  PC Backup
TCP  2775  SMMP
TCP  2776  Ridgeway Systems & Software
TCP  2777  Ridgeway Systems & Software
TCP  2778  Gwen-Sonya
TCP  2779  LBC Sync
TCP  2780  LBC Control
TCP  2781  whosells
TCP  2782  everydayrc
TCP  2783  AISES
TCP  2784  world wide web - development
TCP  2785  aic-np
TCP  2786  aic-oncrpc - Destiny MCD database
TCP  2787  piccolo - Cornerstone Software
TCP  2788  NetWare Loadable Module - Seagate Software
TCP  2789  Media Agent
TCP  2790  PLG Proxy
TCP  2791  MT Port Registrator
TCP  2792  f5-globalsite
TCP  2793  initlsmsad
TCP  2794  aaftp
TCP  2795  LiveStats
TCP  2796  ac-tech
TCP  2797  esp-encap
TCP  2798  TMESIS-UPShot
TCP  2799  ICON Discover
TCP  2800  ACC RAID
TCP  2801  IGCP
TCP  2802  Veritas TCP1
TCP  2803  btprjctrl
TCP  2804  Telexis VTU
TCP  2805  WTA WSP-S
TCP  2806  cspuni
TCP  2807  cspmulti
TCP  2808  J-LAN-P
TCP  2809  CORBA LOC
TCP  2810  Active Net Steward
TCP  2811  GSI FTP
TCP  2812  atmtcp
TCP  2813  llm-pass
TCP  2814  llm-csv
TCP  2815  LBC Measurement
TCP  2816  LBC Watchdog
TCP  2817  NMSig Port
TCP  2818  rmlnk
TCP  2819  FC Fault Notification
TCP  2820  UniVision
TCP  2821  vml_dms
TCP  2822  ka0wuc
TCP  2823  CQG Net/LAN
TCP  2826  slc systemlog
TCP  2827  slc ctrlrloops
TCP  2828  ITM License Manager
TCP  2829  silkp1
TCP  2830  silkp2
TCP  2831  silkp3
TCP  2832  silkp4
TCP  2833  glishd
TCP  2834  EVTP
TCP  2835  EVTP-DATA
TCP  2836  catalyst
TCP  2837  Repliweb
TCP  2838  Starbot
TCP  2839  NMSigPort
TCP  2840  l3-exprt
TCP  2841  l3-ranger
TCP  2842  l3-hawk
TCP  2843  PDnet
TCP  2844  BPCP POLL
TCP  2845  BPCP TRAP
TCP  2846  AIMPP Hello
TCP  2847  AIMPP Port Req
TCP  2848  AMT-BLC-PORT
TCP  2849  FXP
TCP  2850  MetaConsole
TCP  2851  webemshttp
TCP  2852  bears-01
TCP  2853  ISPipes
TCP  2854  InfoMover
TCP  2856  cesdinv
TCP  2857  SimCtIP
TCP  2858  ECNP
TCP  2859  Active Memory
TCP  2860  Dialpad Voice 1
TCP  2861  Dialpad Voice 2
TCP  2862  TTG Protocol
TCP  2863  Sonar Data
TCP  2864  main 5001 cmd
TCP  2865  pit-vpn
TCP  2866  lwlistener
TCP  2867  esps-portal
TCP  2868  NPEP Messaging
TCP  2869  SSDP event notification / ICSLAP
TCP  2870  daishi
TCP  2871  MSI Select Play
TCP  2872  CONTRACT
TCP  2873  PASPAR2 ZoomIn
TCP  2874  dxmessagebase1
TCP  2875  dxmessagebase2
TCP  2876  SPS Tunnel
TCP  2877  BLUELANCE
TCP  2878  AAP
TCP  2879  ucentric-ds
TCP  2880  synapse
TCP  2881  NDSP
TCP  2882  NDTP
TCP  2883  NDNP
TCP  2884  Flash Msg
TCP  2885  TopFlow
TCP  2886  RESPONSELOGIC
TCP  2887  aironet
TCP  2888  SPCSDLOBBY
TCP  2889  RSOM
TCP  2890  CSPCLMULTI
TCP  2891  CINEGRFX-ELMD License Manager
TCP  2892  SNIFFERDATA
TCP  2893  VSECONNECTOR
TCP  2894  ABACUS-REMOTE
TCP  2895  NATUS LINK
TCP  2896  ECOVISIONG6-1
TCP  2897  Citrix RTMP
TCP  2898  APPLIANCE-CFG
TCP  2899  case.nm.fujitsu.co.jp
TCP  2900  magisoft.com
TCP  2901  ALLSTORCNS
TCP  2902  NET ASPI
TCP  2903  SUITCASE
TCP  2904  M2UA
TCP  2905  M3UA
TCP  2906  CALLER9
TCP  2907  WEBMETHODS B2B
TCP  2908  mao
TCP  2909  Funk Dialout
TCP  2910  TDAccess
TCP  2911  Blockade
TCP  2912  Epicon
TCP  2913  Booster Ware
TCP  2914  Game Lobby
TCP  2915  TK Socket
TCP  2916  Elvin Server
TCP  2917  Elvin Client
TCP  2918  Kasten Chase Pad
TCP  2919  ROBOER
TCP  2920  ROBOEDA
TCP  2921  CESD Contents Delivery Management
TCP  2922  CESD Contents Delivery Data Transfer
TCP  2923  WTA-WSP-WTP-S
TCP  2924  PRECISE-VIP
TCP  2925  Firewall Redundancy Protocol
TCP  2926  MOBILE-FILE-DL
TCP  2927  UNIMOBILECTRL
TCP  2928  REDSTONE-CPSS
TCP  2929  PANJA-WEBADMIN
TCP  2930  PANJA-WEBLINX
TCP  2931  Circle-X
TCP  2932  INCP
TCP  2933  4-TIER OPM GW
TCP  2934  4-TIER OPM CLI
TCP  2935  QTP
TCP  2936  OTPatch
TCP  2937  PNACONSULT-LM
TCP  2938  SM-PAS-1
TCP  2939  SM-PAS-2
TCP  2940  SM-PAS-3
TCP  2941  SM-PAS-4
TCP  2942  SM-PAS-5
TCP  2943  TTNRepository
TCP  2944  Megaco H-248
TCP  2945  H248 Binary
TCP  2946  FJSVmpor
TCP  2947  GPSD
TCP  2948  WAP PUSH
TCP  2949  WAP PUSH SECURE
TCP  2950  ESIP
TCP  2951  OTTP
TCP  2952  MPFWSAS
TCP  2953  OVALARMSRV
TCP  2954  OVALARMSRV-CMD
TCP  2955  CSNOTIFY
TCP  2956  OVRIMOSDBMAN
TCP  2957  JAMCT5
TCP  2958  JAMCT6
TCP  2959  RMOPAGT
TCP  2960  DFOXSERVER
TCP  2961  BOLDSOFT-LM
TCP  2962  IPH-POLICY-CLI
TCP  2963  IPH-POLICY-ADM
TCP  2964  BULLANT SRAP
TCP  2965  BULLANT RAP
TCP  2966  IDP-INFOTRIEVE
TCP  2967  SSC-AGENT
TCP  2968  ENPP
TCP  2969  UPnP / ESSP
TCP  2970  INDEX-NET
TCP  2971  Net Clip
TCP  2972  PMSM Webrctl
TCP  2973  SV Networks
TCP  2974  Signal
TCP  2975  Fujitsu Configuration Management Service
TCP  2976  CNS Server Port
TCP  2977  TTCs Enterprise Test Access Protocol - NS
TCP  2978  TTCs Enterprise Test Access Protocol - DS
TCP  2979  H.263 Video Streaming
TCP  2980  Instant Messaging Service
TCP  2981  MYLXAMPORT
TCP  2982  IWB-WHITEBOARD
TCP  2983  NETPLAN
TCP  2984  HPIDSADMIN
TCP  2985  HPIDSAGENT
TCP  2986  STONEFALLS
TCP  2987  IDENTIFY
TCP  2988  CLASSIFY
TCP  2989  ZARKOV
TCP  2990  BOSCAP
TCP  2991  WKSTN-MON
TCP  2992  ITB301
TCP  2993  VERITAS VIS1
TCP  2994  VERITAS VIS2
TCP  2995  IDRS
TCP  2996  vsixml
TCP  2997  REBOL
TCP  2998  Real Secure
TCP  2999  RemoteWare Unassigned
TCP  3000  RemoteWare Client
TCP  3001  Phatbot Worm / Redwood Broker
TCP  3002  RemoteWare Server
TCP  3003  CGMS
TCP  3004  Csoft Agent
TCP  3005  Genius License Manager
TCP  3006  Instant Internet Admin
TCP  3007  Lotus Mail Tracking Agent Protocol
TCP  3008  Midnight Technologies
TCP  3009  PXC-NTFY
TCP  3010  Telerate Workstation
TCP  3011  Trusted Web
TCP  3012  Trusted Web Client
TCP  3013  Gilat Sky Surfer
TCP  3014  Broker Service
TCP  3015  NATI DSTP
TCP  3016  Notify Server
TCP  3017  Event Listener
TCP  3018  Service Registry
TCP  3019  Resource Manager
TCP  3020  CIFS
TCP  3021  AGRI Server
TCP  3022  CSREGAGENT
TCP  3023  magicnotes
TCP  3024  NDS_SSO
TCP  3025  Arepa Raft
TCP  3026  AGRI Gateway
TCP  3027  LiebDevMgmt_C
TCP  3028  LiebDevMgmt_DM
TCP  3029  LiebDevMgmt_A
TCP  3030  Arepa Cas
TCP  3031  AgentVU
TCP  3032  Redwood Chat
TCP  3033  PDB
TCP  3034  Osmosis AEEA
TCP  3035  FJSV gssagt
TCP  3036  Hagel DUMP
TCP  3037  HP SAN Mgmt
TCP  3038  Santak UPS
TCP  3039  Cogitate Inc.
TCP  3040  Tomato Springs
TCP  3041  di-traceware
TCP  3042  journee
TCP  3043  BRP
TCP  3045  ResponseNet
TCP  3046  di-ase
TCP  3047  Fast Security HL Server
TCP  3048  Sierra Net PC Trader
TCP  3049  NSWS
TCP  3050  gds_db
TCP  3051  Galaxy Server
TCP  3052  APCPCNS
TCP  3053  dsom-server
TCP  3054  AMT CNF PROT
TCP  3055  Policy Server
TCP  3056  CDL Server
TCP  3057  GoAhead FldUp
TCP  3058  videobeans
TCP  3059  qsoft
TCP  3060  interserver
TCP  3061  cautcpd
TCP  3062  ncacn-ip-tcp
TCP  3063  ncadg-ip-udp
TCP  3065  slinterbase
TCP  3066  NETATTACHSDMP
TCP  3067  W32.Korgo Worm / FJHPJP
TCP  3068  ls3 Broadcast
TCP  3069  ls3
TCP  3070  MGXSWITCH
TCP  3075  Orbix 2000 Locator
TCP  3076  Orbix 2000 Config
TCP  3077  Orbix 2000 Locator SSL
TCP  3078  Orbix 2000 Locator SSL
TCP  3079  LV Front Panel
TCP  3080  stm_pproc
TCP  3081  TL1-LV
TCP  3082  TL1-RAW
TCP  3083  TL1-TELNET
TCP  3084  ITM-MCCS
TCP  3085  PCIHReq
TCP  3086  JDL-DBKitchen
TCP  3105  Cardbox
TCP  3106  Cardbox HTTP
TCP  3127  W32.Mydoom.A virus
TCP  3128  Squid HTTP Proxy / W32.Mydoom.B virus
TCP  3129  Master's Paradise (Windows Trojan)
TCP  3130  ICPv2
TCP  3131  Net Book Mark
TCP  3141  VMODEM
TCP  3142  RDC WH EOS
TCP  3143  Sea View
TCP  3144  Tarantella
TCP  3145  CSI-LFAP
TCP  3147  RFIO
TCP  3148  NetMike Game Administrator
TCP  3149  NetMike Game Server
TCP  3150  NetMike Assessor Administrator
TCP  3151  NetMike Assessor
TCP  3180  Millicent Broker Server
TCP  3181  BMC Patrol Agent
TCP  3182  BMC Patrol Rendezvous
TCP  3262  NECP
TCP  3264  cc:mail/lotus
TCP  3265  Altav Tunnel
TCP  3266  NS CFG Server
TCP  3267  IBM Dial Out
TCP  3268  Microsoft Global Catalog
TCP  3269  Microsoft Global Catalog with LDAP/SSL
TCP  3270  Verismart
TCP  3271  CSoft Prev Port
TCP  3272  Fujitsu User Manager
TCP  3273  Simple Extensible Multiplexed Protocol
TCP  3274  Ordinox Server
TCP  3275  SAMD
TCP  3276  Maxim ASICs
TCP  3277  AWG Proxy
TCP  3278  LKCM Server
TCP  3279  admind
TCP  3280  VS Server
TCP  3281  SYSOPT
TCP  3282  Datusorb
TCP  3283  Net Assistant
TCP  3284  4Talk
TCP  3285  Plato
TCP  3286  E-Net
TCP  3287  DIRECTVDATA
TCP  3288  COPS
TCP  3289  ENPC
TCP  3290  CAPS LOGISTICS TOOLKIT - LM
TCP  3291  S A Holditch & Associates - LM
TCP  3292  Cart O Rama
TCP  3293  fg-fps
TCP  3294  fg-gip
TCP  3295  Dynamic IP Lookup
TCP  3296  Rib License Manager
TCP  3297  Cytel License Manager
TCP  3298  Transview
TCP  3299  pdrncs
TCP  3300  bmc-patrol-agent
TCP  3301  Unathorised use by SAP R/3
TCP  3302  MCS Fastmail
TCP  3303  OP Session Client
TCP  3304  OP Session Server
TCP  3305  ODETTE-FTP
TCP  3306  MySQL
TCP  3307  OP Session Proxy
TCP  3308  TNS Server
TCP  3309  TNS ADV
TCP  3310  Dyna Access
TCP  3311  MCNS Tel Ret
TCP  3312  Application Management Server
TCP  3313  Unify Object Broker
TCP  3314  Unify Object Host
TCP  3315  CDID
TCP  3316  AICC/CMI
TCP  3317  VSAI PORT
TCP  3318  Swith to Swith Routing Information Protocol
TCP  3319  SDT License Manager
TCP  3320  Office Link 2000
TCP  3321  VNSSTR
TCP  3325  isi.edu
TCP  3326  SFTU
TCP  3327  BBARS
TCP  3328  Eaglepoint License Manager
TCP  3329  HP Device Disc
TCP  3330  MCS Calypso ICF
TCP  3331  MCS Messaging
TCP  3332  MCS Mail Server
TCP  3333  DEC Notes
TCP  3334  Direct TV Webcasting
TCP  3335  Direct TV Software Updates
TCP  3336  Direct TV Tickers
TCP  3337  Direct TV Data Catalog
TCP  3338  OMF data b
TCP  3339  OMF data l
TCP  3340  OMF data m
TCP  3341  OMF data h
TCP  3342  WebTIE
TCP  3343  MS Cluster Net
TCP  3344  BNT Manager
TCP  3345  Influence
TCP  3346  Trnsprnt Proxy
TCP  3347  Phoenix RPC
TCP  3348  Pangolin Laser
TCP  3349  Chevin Services
TCP  3350  FINDVIATV
TCP  3351  BTRIEVE
TCP  3352  SSQL
TCP  3353  FATPIPE
TCP  3354  SUITJD
TCP  3355  Hogle (proxy backdoor) / Ordinox Dbase
TCP  3356  UPNOTIFYPS
TCP  3357  Adtech Test IP
TCP  3358  Mp Sys Rmsvr
TCP  3359  WG NetForce
TCP  3360  KV Server
TCP  3361  KV Agent
TCP  3362  DJ ILM
TCP  3363  NATI Vi Server
TCP  3364  Creative Server
TCP  3365  Content Server
TCP  3366  Creative Partner
TCP  3371  ccm.jf.intel.com
TCP  3372  Microsoft Distributed Transaction Coordinator (MSDTC) / TIP 2
TCP  3373  Lavenir License Manager
TCP  3374  Cluster Disc
TCP  3375  VSNM Agent
TCP  3376  CD Broker
TCP  3377  Cogsys Network License Manager
TCP  3378  WSICOPY
TCP  3379  SOCORFS
TCP  3380  SNS Channels
TCP  3381  Geneous
TCP  3382  Fujitsu Network Enhanced Antitheft function
TCP  3383  Enterprise Software Products License Manager
TCP  3384  Cluster Management Services
TCP  3385  qnxnetman
TCP  3386  GPRS Data
TCP  3387  Back Room Net
TCP  3388  CB Server
TCP  3389  MS Terminal Server
TCP  3390  Distributed Service Coordinator
TCP  3391  SAVANT
TCP  3392  EFI License Management
TCP  3393  D2K Tapestry Client to Server
TCP  3394  D2K Tapestry Server to Server
TCP  3395  Dyna License Manager (Elam)
TCP  3396  Printer Agent
TCP  3397  Cloanto License Manager
TCP  3398  Mercantile
TCP  3399  CSMS
TCP  3400  CSMS2
TCP  3401  filecast
TCP  3410  Backdoor.OptixPro.13
TCP  3421  Bull Apprise portmapper
TCP  3454  Apple Remote Access Protocol
TCP  3455  RSVP Port
TCP  3456  VAT default data
TCP  3457  VAT default control
TCP  3458  D3WinOsfi
TCP  3459  TIP Integral
TCP  3460  EDM Manger
TCP  3461  EDM Stager
TCP  3462  EDM STD Notify
TCP  3463  EDM ADM Notify
TCP  3464  EDM MGR Sync
TCP  3465  EDM MGR Cntrl
TCP  3466  WORKFLOW
TCP  3467  RCST
TCP  3468  TTCM Remote Controll
TCP  3469  Pluribus
TCP  3470  jt400
TCP  3471  jt400-ssl
TCP  3535  MS-LA
TCP  3563  Watcom Debug
TCP  3572  harlequin.co.uk
TCP  3672  harlequinorb
TCP  3689  Apple Digital Audio Access Protocol
TCP  3802  VHD
TCP  3845  V-ONE Single Port Proxy
TCP  3862  GIGA-POCKET
TCP  3875  PNBSCADA
TCP  3900  Unidata UDT OS
TCP  3984  MAPPER network node manager
TCP  3985  MAPPER TCP/IP server
TCP  3986  MAPPER workstation server
TCP  3987  Centerline
TCP  4000  Terabase
TCP  4001  Cisco mgmt / NewOak
TCP  4002  pxc-spvr-ft
TCP  4003  pxc-splr-ft
TCP  4004  pxc-roid
TCP  4005  pxc-pin
TCP  4006  pxc-spvr
TCP  4007  pxc-splr
TCP  4008  NetCheque accounting
TCP  4009  Chimera HWM
TCP  4010  Samsung Unidex
TCP  4011  Alternate Service Boot
TCP  4012  PDA Gate
TCP  4013  ACL Manager
TCP  4014  TAICLOCK
TCP  4015  Talarian Mcast
TCP  4016  Talarian Mcast
TCP  4017  Talarian Mcast
TCP  4018  Talarian Mcast
TCP  4019  Talarian Mcast
TCP  4045  nfs-lockd
TCP  4096  BRE (Bridge Relay Element)
TCP  4097  Patrol View
TCP  4098  drmsfsd
TCP  4099  DPCP
TCP  4132  NUTS Daemon
TCP  4133  NUTS Bootp Server
TCP  4134  NIFTY-Serve HMI protocol
TCP  4141  Workflow Server
TCP  4142  Document Server
TCP  4143  Document Replication
TCP  4144  Compuserve pc windows
TCP  4160  Jini Discovery
TCP  4199  EIMS ADMIN
TCP  4299  earth.path.net
TCP  4300  Corel CCam
TCP  4321  Remote Who Is
TCP  4333  mini-sql server
TCP  4343  UNICALL
TCP  4344  VinaInstall
TCP  4345  Macro 4 Network AS
TCP  4346  ELAN LM
TCP  4347  LAN Surveyor
TCP  4348  ITOSE
TCP  4349  File System Port Map
TCP  4350  Net Device
TCP  4351  PLCY Net Services
TCP  4353  F5 iQuery
TCP  4397  Phatbot Worm
TCP  4442  Saris
TCP  4443  Pharos
TCP  4444  AdSubtract / NV Video default
TCP  4445  UPNOTIFYP
TCP  4446  N1-FWP
TCP  4447  N1-RMGMT
TCP  4448  ASC Licence Manager
TCP  4449  PrivateWire
TCP  4450  Camp
TCP  4451  CTI System Msg
TCP  4452  CTI Program Load
TCP  4453  NSS Alert Manager
TCP  4454  NSS Agent Manager
TCP  4455  PR Chat User
TCP  4456  PR Chat Server
TCP  4457  PR Register
TCP  4500  sae-urn
TCP  4501  urn-x-cdchoice
TCP  4545  WorldScores
TCP  4546  SF License Manager (Sentinel)
TCP  4547  Lanner License Manager
TCP  4557  FAX transmission service
TCP  4559  HylaFAX client-service protocol
TCP  4567  TRAM
TCP  4568  BMC Reporting
TCP  4600  Piranha1
TCP  4601  Piranha2
TCP  4661  eDonkey2k
TCP  4662  eDonkey2k
TCP  4663  eDonkey
TCP  4665  eDonkey2k
TCP  4672  remote file access server
TCP  4675  eMule
TCP  4711  eMule
TCP  4751  W32.Beagle.V trojan
TCP  4772  eMule
TCP  4800  Icona Instant Messenging System
TCP  4801  Icona Web Embedded Chat
TCP  4802  Icona License System Server
TCP  4820  Backdoor.Tuxter
TCP  4827  HTCP
TCP  4837  Varadero-0
TCP  4838  Varadero-1
TCP  4868  Photon Relay
TCP  4869  Photon Relay Debug
TCP  4885  ABBS
TCP  4899  RAdmin Win32 remote control
TCP  4983  AT&T Intercom
TCP  5000  UPnP / filmaker.com / Socket de Troie (Windows Trojan)
TCP  5001  filmaker.com / Socket de Troie (Windows Trojan)
TCP  5002  radio free ethernet
TCP  5003  FileMaker Inc. - Proprietary transport
TCP  5004  avt-profile-1
TCP  5005  avt-profile-2
TCP  5006  wsm server
TCP  5007  wsm server ssl
TCP  5010  TelepathStart
TCP  5011  TelepathAttack
TCP  5020  zenginkyo-1
TCP  5021  zenginkyo-2
TCP  5042  asnaacceler8db
TCP  5050  Yahoo Messenger / multimedia conference control tool
TCP  5051  ITA Agent
TCP  5052  ITA Manager
TCP  5055  UNOT
TCP  5060  SIP
TCP  5069  I/Net 2000-NPR
TCP  5071  PowerSchool
TCP  5093  Sentinel LM
TCP  5099  SentLM Srv2Srv
TCP  5101  Yahoo! Messenger
TCP  5145  RMONITOR SECURE
TCP  5150  Ascend Tunnel Management Protocol
TCP  5151  ESRI SDE Instance
TCP  5152  ESRI SDE Instance Discovery
TCP  5165  ife_1corp
TCP  5190  America-Online
TCP  5191  AmericaOnline1
TCP  5192  AmericaOnline2
TCP  5193  AmericaOnline3
TCP  5200  Targus AIB 1
TCP  5201  Targus AIB 2
TCP  5202  Targus TNTS 1
TCP  5203  Targus TNTS 2
TCP  5222  Jabber Server
TCP  5232  SGI Distribution Graphics
TCP  5236  padl2sim
TCP  5272  PK
TCP  5300  HA cluster heartbeat
TCP  5301  HA cluster general services
TCP  5302  HA cluster configuration
TCP  5303  HA cluster probing
TCP  5304  HA Cluster Commands
TCP  5305  HA Cluster Test
TCP  5306  Sun MC Group
TCP  5307  SCO AIP
TCP  5308  CFengine
TCP  5309  J Printer
TCP  5310  Outlaws
TCP  5311  TM Login
TCP  5373  W32.Gluber.B@mm
TCP  5400  Excerpt Search / Blade Runner (Windows Trojan)
TCP  5401  Excerpt Search Secure / Blade Runner (Windows Trojan)
TCP  5402  MFTP / Blade Runner (Windows Trojan)
TCP  5403  HPOMS-CI-LSTN
TCP  5404  HPOMS-DPS-LSTN
TCP  5405  NetSupport
TCP  5406  Systemics Sox
TCP  5407  Foresyte-Clear
TCP  5408  Foresyte-Sec
TCP  5409  Salient Data Server
TCP  5410  Salient User Manager
TCP  5411  ActNet
TCP  5412  Continuus
TCP  5413  WWIOTALK
TCP  5414  StatusD
TCP  5415  NS Server
TCP  5416  SNS Gateway
TCP  5417  SNS Agent
TCP  5418  MCNTP
TCP  5419  DJ-ICE
TCP  5420  Cylink-C
TCP  5421  Net Support 2
TCP  5422  Salient MUX
TCP  5423  VIRTUALUSER
TCP  5426  DEVBASIC
TCP  5427  SCO-PEER-TTA
TCP  5428  TELACONSOLE
TCP  5429  Billing and Accounting System Exchange
TCP  5430  RADEC CORP
TCP  5431  PARK AGENT
TCP  5432  postgres database server
TCP  5435  Data Tunneling Transceiver Linking (DTTL)
TCP  5454  apc-tcp-udp-4
TCP  5455  apc-tcp-udp-5
TCP  5456  apc-tcp-udp-6
TCP  5461  SILKMETER
TCP  5462  TTL Publisher
TCP  5465  NETOPS-BROKER
TCP  5490  Squid HTTP Proxy
TCP  5500  fcp-addr-srvr1
TCP  5501  fcp-addr-srvr2
TCP  5502  fcp-srvr-inst1
TCP  5503  fcp-srvr-inst2
TCP  5504  fcp-cics-gw1
TCP  5510  ACE/Server Services
TCP  5520  ACE/Server Services
TCP  5530  ACE/Server Services
TCP  5540  ACE/Server Services
TCP  5550  ACE/Server Services / Xtcp 2.0x
TCP  5554  Sasser Worm FTP backdoor / SGI ESP HTTP
TCP  5555  Personal Agent / W32.Mimail.P@mm
TCP  5556  Mtbd (mtb backup)
TCP  5559  Enterprise Security Remote Install axent.com
TCP  5599  Enterprise Security Remote Install
TCP  5600  Enterprise Security Manager
TCP  5601  Enterprise Security Agent
TCP  5602  A1-MSC
TCP  5603  A1-BS
TCP  5604  A3-SDUNode
TCP  5605  A4-SDUNode
TCP  5631  pcANYWHEREdata
TCP  5632  pcANYWHEREstat
TCP  5678  LinkSys EtherFast Router Remote Administration / Remote Replication Agent Connection
TCP  5679  Direct Cable Connect Manager
TCP  5680  Canna (Japanese Input)
TCP  5713  proshare conf audio
TCP  5714  proshare conf video
TCP  5715  proshare conf data
TCP  5716  proshare conf request
TCP  5717  proshare conf notify
TCP  5729  Openmail User Agent Layer
TCP  5741  IDA Discover Port 1
TCP  5742  IDA Discover Port 2 / Wincrash (Windows Trojan)
TCP  5745  fcopy-server
TCP  5746  fcopys-server
TCP  5755  OpenMail Desk Gateway server
TCP  5757  OpenMail X.500 Directory Server
TCP  5766  OpenMail NewMail Server
TCP  5767  OpenMail Suer Agent Layer (Secure)
TCP  5768  OpenMail CMTS Server
TCP  5771  NetAgent
TCP  5800  VNC Virtual Network Computing
TCP  5801  VNC Virtual Network Computing
TCP  5813  ICMPD
TCP  5859  WHEREHOO
TCP  5882  Y3k
TCP  5900  VNC Virtual Network Computing
TCP  5901  VNC Virtual Network Computing
TCP  5968  mppolicy-v5
TCP  5969  mppolicy-mgr
TCP  5977  NCD preferences TCP port
TCP  5978  NCD diagnostic TCP port
TCP  5979  NCD configuration TCP port
TCP  5980  VNC Virtual Network Computing
TCP  5981  VNC Virtual Network Computing
TCP  5987  Solaris Web Enterprise Management RMI
TCP  5997  NCD preferences telnet port
TCP  5998  NCD diagnostic telnet port
TCP  5999  CVSup
TCP  6000  X-Windows / W32.LoveGate.ak virus
TCP  6001  Cisco mgmt
TCP  6003  Half-Life WON server
TCP  6063  X Windows System mit.edu
TCP  6064  NDL-AHP-SVC
TCP  6065  WinPharaoh
TCP  6066  EWCTSP
TCP  6067  SRB
TCP  6068  GSMP
TCP  6069  TRIP
TCP  6070  Messageasap
TCP  6071  SSDTP
TCP  6072  DIAGNOSE-PROC
TCP  6073  DirectPlay8
TCP  6100  SynchroNet-db
TCP  6101  SynchroNet-rtc
TCP  6102  SynchroNet-upd
TCP  6103  RETS
TCP  6104  DBDB
TCP  6105  Prima Server
TCP  6106  MPS Server
TCP  6107  ETC Control
TCP  6108  Sercomm-SCAdmin
TCP  6109  GLOBECAST-ID
TCP  6110  HP SoftBench CM
TCP  6111  HP SoftBench Sub-Process Control
TCP  6112  dtspcd / Blizzard Battlenet
TCP  6123  Backup Express
TCP  6129  DameWare
TCP  6141  Meta Corporation License Manager
TCP  6142  Aspen Technology License Manager
TCP  6143  Watershed License Manager
TCP  6144  StatSci License Manager - 1
TCP  6145  StatSci License Manager - 2
TCP  6146  Lone Wolf Systems License Manager
TCP  6147  Montage License Manager
TCP  6148  Ricardo North America License Manager
TCP  6149  tal-pod
TCP  6253  CRIP
TCP  6321  Empress Software Connectivity Server 1
TCP  6322  Empress Software Connectivity Server 2
TCP  6346  Gnutella/Bearshare file sharing Application
TCP  6348  Limewire P2P
TCP  6389  clariion-evr01
TCP  6400  saegatesoftware.com
TCP  6401  saegatesoftware.com
TCP  6402  saegatesoftware.com
TCP  6403  saegatesoftware.com
TCP  6404  saegatesoftware.com
TCP  6405  saegatesoftware.com
TCP  6406  saegatesoftware.com
TCP  6407  saegatesoftware.com
TCP  6408  saegatesoftware.com
TCP  6409  saegatesoftware.com
TCP  6410  saegatesoftware.com
TCP  6455  SKIP Certificate Receive
TCP  6456  SKIP Certificate Send
TCP  6471  LVision License Manager
TCP  6500  BoKS Master
TCP  6501  BoKS Servc
TCP  6502  BoKS Servm
TCP  6503  BoKS Clntd
TCP  6505  BoKS Admin Private Port
TCP  6506  BoKS Admin Public Port
TCP  6507  BoKS Dir Server Private Port
TCP  6508  BoKS Dir Server Public Port
TCP  6547  apc-tcp-udp-1
TCP  6548  apc-tcp-udp-2
TCP  6549  apc-tcp-udp-3
TCP  6550  fg-sysupdate
TCP  6558  xdsxdm
TCP  6588  AnalogX Web Proxy
TCP  6665  Internet Relay Chat
TCP  6666  IRC / Windows Media Unicast Service
TCP  6667  IRC
TCP  6668  IRC
TCP  6669  IRC
TCP  6670  Vocaltec Global Online Directory / Deep Throat 2 (Windows Trojan)
TCP  6672  vision_server
TCP  6673  vision_elmd
TCP  6699  Napster
TCP  6700  Napster / Carracho (server)
TCP  6701  KTI/ICAD Nameserver
TCP  6701  Napster / Carracho (server)
TCP  6711  SubSeven (Windows Trojan)
TCP  6723  DDOS communication TCP
TCP  6767  BMC PERFORM AGENT
TCP  6768  BMC PERFORM MGRD
TCP  6776  SubSeven/BackDoor-G (Windows Trojan)
TCP  6777  W32.Beagle.A trojan
TCP  6789  IBM DB2
TCP  6790  HNMP / IBM DB2
TCP  6831  ambit-lm
TCP  6841  Netmo Default
TCP  6842  Netmo HTTP
TCP  6850  ICCRUSHMORE
TCP  6881  BitTorrent Network
TCP  6888  MUSE
TCP  6891  MS Messenger file transfer
TCP  6901  MS Messenger voice calls
TCP  6961  JMACT3
TCP  6962  jmevt2
TCP  6963  swismgr1
TCP  6964  swismgr2
TCP  6965  swistrap
TCP  6966  swispol
TCP  6969  acmsoda
TCP  6998  IATP-highPri
TCP  6999  IATP-normalPri
TCP  7000  IRC / file server itself
TCP  7001  WebLogic Server / Callbacks to cache managers
TCP  7002  WebLogic Server (SSL) / Half-Life Auth Server / Users & groups database
TCP  7003  volume location database
TCP  7004  AFS/Kerberos authentication service
TCP  7005  volume managment server
TCP  7006  error interpretation service
TCP  7007  Windows Media Services / basic overseer process
TCP  7008  server-to-server updater
TCP  7009  remote cache manager service
TCP  7010  onlinet uninterruptable power supplies
TCP  7011  Talon Discovery Port
TCP  7012  Talon Engine
TCP  7013  Microtalon Discovery
TCP  7014  Microtalon Communications
TCP  7015  Talon Webserver
TCP  7020  DP Serve
TCP  7021  DP Serve Admin
TCP  7070  ARCP
TCP  7099  lazy-ptop
TCP  7100  X Font Service
TCP  7121  Virtual Prototypes License Manager
TCP  7141  vnet.ibm.com
TCP  7161  Catalyst
TCP  7174  Clutild
TCP  7200  FODMS FLIP
TCP  7201  DLIP
TCP  7323  3.11 Remote Administration
TCP  7326  Internet Citizen's Band
TCP  7390  The Swiss Exchange swx.ch
TCP  7395  winqedit
TCP  7426  OpenView DM Postmaster Manager
TCP  7427  OpenView DM Event Agent Manager
TCP  7428  OpenView DM Log Agent Manager
TCP  7429  OpenView DM rqt communication
TCP  7430  OpenView DM xmpv7 api pipe
TCP  7431  OpenView DM ovc/xmpv3 api pipe
TCP  7437  Faximum
TCP  7491  telops-lmd
TCP  7511  pafec-lm
TCP  7544  FlowAnalyzer DisplayServer
TCP  7545  FlowAnalyzer UtilityServer
TCP  7566  VSI Omega
TCP  7570  Aries Kfinder
TCP  7588  Sun License Manager
TCP  7597  TROJAN WORM
TCP  7633  PMDF Management
TCP  7640  CUSeeMe
TCP  7777  Oracle App server / cbt
TCP  7778  Windows Media Services / Interwise
TCP  7781  accu-lmgr
TCP  7786  MINIVEND
TCP  7932  Tier 2 Data Resource Manager
TCP  7933  Tier 2 Business Rules Manager
TCP  7967  Supercell
TCP  7979  Micromuse-ncps
TCP  7980  Quest Vista
TCP  7999  iRDMI2
TCP  8000  HTTP/iRDMI
TCP  8001  HTTP/VCOM Tunnel
TCP  8002  HTTP/Teradata ORDBMS
TCP  8007  Apache JServ Protocol
TCP  8008  HTTP Alternate
TCP  8009  Apache JServ Protocol
TCP  8010  Wingate HTTP Proxy
TCP  8032  ProEd
TCP  8033  MindPrint
TCP  8080  HTTP / HTTP Proxy
TCP  8081  HTTP / HTTP Proxy
TCP  8082  BlackICE Capture
TCP  8129  Snapstream PVS Server
TCP  8130  INDIGO-VRMI
TCP  8131  INDIGO-VBCP
TCP  8160  Patrol
TCP  8161  Patrol SNMP
TCP  8181  IPSwitch IMail / Monitor
TCP  8200  TRIVNET
TCP  8201  TRIVNET
TCP  8204  LM Perfworks
TCP  8205  LM Instmgr
TCP  8206  LM Dta
TCP  8207  LM SServer
TCP  8208  LM Webwatcher
TCP  8351  Server Find
TCP  8376  Cruise ENUM
TCP  8377  Cruise SWROUTE
TCP  8378  Cruise CONFIG
TCP  8379  Cruise DIAGS
TCP  8380  Cruise UPDATE
TCP  8383  Web Email
TCP  8400  cvd
TCP  8401  sabarsd
TCP  8402  abarsd
TCP  8403  admind
TCP  8431  Micro PC-Cilin
TCP  8450  npmp
TCP  8473  Virtual Point to Point
TCP  8484  Ipswitch IMail
TCP  8554  RTSP Alternate (see port 554)
TCP  8733  iBus
TCP  8763  MC-APPSERVER
TCP  8764  OPENQUEUE
TCP  8765  Ultraseek HTTP
TCP  8804  truecm
TCP  8866  W32.Beagle.B trojan
TCP  8880  CDDBP
TCP  8888  NewsEDGE server TCP / AnswerBook2
TCP  8889  Desktop Data TCP 1
TCP  8890  Desktop Data TCP 2
TCP  8891  Desktop Data TCP 3: NESS application
TCP  8892  Desktop Data TCP 4: FARM product
TCP  8893  Desktop Data TCP 5: NewsEDGE/Web application
TCP  8894  Desktop Data TCP 6: COAL application
TCP  8900  JMB-CDS 1
TCP  8901  JMB-CDS 2
TCP  8967  Win32/Dabber (Windows worm)
TCP  8999  Firewall
TCP  9000  CSlistener
TCP  9001  cisco-xremote
TCP  9090  WebSM
TCP  9100  HP JetDirect
TCP  9160  NetLOCK1
TCP  9161  NetLOCK2
TCP  9162  NetLOCK3
TCP  9163  NetLOCK4
TCP  9164  NetLOCK5
TCP  9200  WAP connectionless session service
TCP  9201  WAP session service
TCP  9202  WAP secure connectionless session service
TCP  9203  WAP secure session service
TCP  9204  WAP vCard
TCP  9205  WAP vCal
TCP  9206  WAP vCard Secure
TCP  9207  WAP vCal Secure
TCP  9273  BackGate (Windows rootkit)
TCP  9274  BackGate (Windows rootkit)
TCP  9275  BackGate (Windows rootkit)
TCP  9276  BackGate (Windows rootkit)
TCP  9277  BackGate (Windows rootkit)
TCP  9278  BackGate (Windows rootkit)
TCP  9280  HP JetDirect Embedded Web Server
TCP  9290  HP JetDirect
TCP  9291  HP JetDirect
TCP  9292  HP JetDirect
TCP  9321  guibase
TCP  9343  MpIdcMgr
TCP  9344  Mphlpdmc
TCP  9374  fjdmimgr
TCP  9396  fjinvmgr
TCP  9397  MpIdcAgt
TCP  9400  InCommand
TCP  9500  ismserver
TCP  9535  Remote man server
TCP  9537  Remote man server, testing
TCP  9594  Message System
TCP  9595  Ping Discovery Service
TCP  9600  MICROMUSE-NCPW
TCP  9753  rasadv
TCP  9876  Session Director
TCP  9888  CYBORG Systems
TCP  9898  MonkeyCom / Win32/Dabber (Windows worm)
TCP  9899  SCTP TUNNELING
TCP  9900  IUA
TCP  9909  domaintime
TCP  9950  APCPCPLUSWIN1
TCP  9951  APCPCPLUSWIN2
TCP  9952  APCPCPLUSWIN3
TCP  9992  Palace
TCP  9993  Palace
TCP  9994  Palace
TCP  9995  Palace
TCP  9996  Sasser Worm shell / Palace
TCP  9997  Palace
TCP  9998  Distinct32
TCP  9999  distinct / Win32/Dabber (Windows worm)
TCP  10000  Webmin / Network Data Management Protocol/ Dumaru.Y (Windows trojan)
TCP  10001  queue
TCP  10002  poker
TCP  10003  gateway
TCP  10004  remp
TCP  10005  Secure telnet
TCP  10007  MVS Capacity
TCP  10012  qmaster
TCP  10080  Amanda / MyDoom.B (Windows trojan)
TCP  10082  Amanda Indexing
TCP  10083  Amanda Tape Indexing
TCP  10113  NetIQ Endpoint
TCP  10114  NetIQ Qcheck
TCP  10115  Ganymede Endpoint
TCP  10128  BMC-PERFORM-SERVICE DAEMON
TCP  10202  Computer Associate License Manager
TCP  10203  Computer Associate License Manager
TCP  10204  Computer Associate License Manager
TCP  10288  Blocks
TCP  10520  Acid Shivers (Windows Trojan)
TCP  11000  IRISA
TCP  11001  Metasys
TCP  11111  Viral Computing Environment (VCE)
TCP  11117  W32.Beagle.L trojan / URBISNET
TCP  11367  ATM UHAS
TCP  11523  AOL / AdSubtract AOL Proxy
TCP  11720  h323 Call Signal Alternate
TCP  11722  RK Test
TCP  12000  IBM Enterprise Extender SNA XID Exchange
TCP  12001  IBM Enterprise Extender SNA COS Network Priority
TCP  12002  IBM Enterprise Extender SNA COS High Priority
TCP  12003  IBM Enterprise Extender SNA COS Medium Priority
TCP  12004  IBM Enterprise Extender SNA COS Low Priority
TCP  12172  HiveP
TCP  12345  Netbus (Windows Trojan)
TCP  12346  NetBus (Windows Trojan)
TCP  12348  BioNet (Windows Trojan)
TCP  12349  BioNet (Windows Trojan)
TCP  12361  Whack-a-mole (Windows Trojan)
TCP  12362  Whack-a-mole (Windows Trojan)
TCP  12753  tsaf port
TCP  12754  DDOS communication TCP
TCP  13160  I-ZIPQD
TCP  13223  PowWow Client
TCP  13224  PowWow Server
TCP  13326  game
TCP  13720  BPRD Protocol (VERITAS NetBackup)
TCP  13721  BPBRM Protocol (VERITAS NetBackup)
TCP  13722  BP Java MSVC Protocol
TCP  13782  VERITAS NetBackup
TCP  13783  VOPIED Protnocol
TCP  13818  DSMCC Config
TCP  13819  DSMCC Session Messages
TCP  13820  DSMCC Pass-Thru Messages
TCP  13821  DSMCC Download Protocol
TCP  13822  DSMCC Channel Change Protocol
TCP  14001  ITU SCCP (SS7)
TCP  14237  Palm Network Hotsync
TCP  14247  Mitglieder.H trojan
TCP  15104  DDOS communication TCP
TCP  16360  netserialext1
TCP  16361  netserialext2
TCP  16367  netserialext3
TCP  16368  netserialext4
TCP  16660  Stacheldraht distributed attack tool client
TCP  16959  Subseven DEFCON8 2.1 backdoor remote access tool
TCP  16991  INTEL-RCI-MP
TCP  17007  isode-dua
TCP  17219  Chipper
TCP  17300  Kuang2 (Windows trojan)
TCP  17569  Infector
TCP  17990  Worldspan gateway
TCP  18000  Beckman Instruments Inc.
TCP  18181  OPSEC CVP
TCP  18182  OPSEC UFP
TCP  18183  OPSEC SAM
TCP  18184  OPSEC LEA
TCP  18185  OPSEC OMI
TCP  18187  OPSEC ELA
TCP  18463  AC Cluster
TCP  18753  Shaft distributed attack tool handler agent
TCP  18888  APCNECMP
TCP  19216  BackGate (Windows rootkit)
TCP  19283  Key Server for SASSAFRAS
TCP  19315  Key Shadow for SASSAFRAS
TCP  19410  hp-sco
TCP  19411  hp-sca
TCP  19412  HP-SESSMON
TCP  19541  JCP Client
TCP  20000  DNP
TCP  20005  xcept4 (German Telekom's CEPT videotext service)
TCP  20031  BakBone NetVault
TCP  20034  NetBus 2 Pro (Windows Trojan)
TCP  20432  Shaft distributed attack client
TCP  20670  Track
TCP  20742  Mitglieder.E trojan
TCP  20999  At Hand MMP
TCP  21554  Girlfriend (Windows Trojan)
TCP  21590  VoFR Gateway
TCP  21845  webphone
TCP  21846  NetSpeak Corp. Directory Services
TCP  21847  NetSpeak Corp. Connection Services
TCP  21848  NetSpeak Corp. Automatic Call Distribution
TCP  21849  NetSpeak Corp. Credit Processing System
TCP  22000  SNAPenetIO
TCP  22001  OptoControl
TCP  22156  Phatbot Worm
TCP  22273  wnn6
TCP  22289  Wnn6 (Chinese Input)
TCP  22305  Wnn6 (Korean Input)
TCP  22321  Wnn6 (Taiwanese Input)
TCP  22555  Vocaltec Web Conference
TCP  22800  Telerate Information Platform LAN
TCP  22951  Telerate Information Platform WAN
TCP  23005  W32.HLLW.Nettrash
TCP  23006  W32.HLLW.Nettrash
TCP  23432  Asylum
TCP  23476  Donald Dick
TCP  23477  Donald Dick
TCP  23485  Shareasa file sharing
TCP  24000  med-ltp
TCP  24001  med-fsp-rx
TCP  24002  med-fsp-tx
TCP  24003  med-supp
TCP  24004  med-ovw
TCP  24005  med-ci
TCP  24006  med-net-svc
TCP  24386  Intel RCI
TCP  24554  BINKP
TCP  25000  icl-twobase1
TCP  25001  icl-twobase2
TCP  25002  icl-twobase3
TCP  25003  icl-twobase4
TCP  25004  icl-twobase5
TCP  25005  icl-twobase6
TCP  25006  icl-twobase7
TCP  25007  icl-twobase8
TCP  25008  icl-twobase9
TCP  25009  icl-twobase10
TCP  25555  Mitglieder.D trojan
TCP  25793  Vocaltec Address Server
TCP  25867  WebCam32 Admin
TCP  26000  quake
TCP  26208  wnn6-ds
TCP  26274  Delta Source (Windows Trojan)
TCP  27347  SubSeven / Linux.Ramen.Worm (RedHat Linux)
TCP  27374  SubSeven / Linux.Ramen.Worm (RedHat Linux)
TCP  27665  Trinoo distributed attack tool Master server control port
TCP  27999  TW Authentication/Key Distribution and
TCP  30100  Netsphere (Windows Trojan)
TCP  30101  Netsphere (Windows Trojan)
TCP  30102  Netsphere (Windows Trojan)
TCP  30999  Kuang
TCP  31337  BO2K
TCP  31785  Hack-A-Tack (Windows Trojan)
TCP  31787  Hack-A-Tack (Windows Trojan)
TCP  31788  Hack-A-Tack (Windows Trojan)
TCP  31789  Hack-A-Tack (Windows Trojan)
TCP  31791  Hack-A-Tack (Windows Trojan)
TCP  32000  XtraMail v1.11
TCP  32768  Filenet TMS
TCP  32769  Filenet RPC
TCP  32770  Filenet NCH
TCP  32771  Solaris RPC
TCP  32772  Solaris RPC
TCP  32773  Solaris RPC
TCP  32774  Solaris RPC
TCP  32775  Solaris RPC
TCP  32776  Solaris RPC
TCP  32777  Solaris RPC
TCP  32780  RPC
TCP  33434  traceroute use
TCP  34324  Big Gluck (Windows Trojan)
TCP  36865  KastenX Pipe
TCP  40421  Master's Paradise (Windows Trojan)
TCP  40422  Master's Paradise (Windows Trojan)
TCP  40423  Master's Paradise (Windows Trojan)
TCP  40426  Master's Paradise (Windows Trojan)
TCP  40841  CSCP
TCP  42424  ASP.NET Session State
TCP  43118  Reachout
TCP  43188  Reachout
TCP  44333  Kerio WinRoute Firewall Administration
TCP  44334  Kerio Personal Firewall Administration
TCP  44337  Kerio MailServer Administration
TCP  44444  Prosiak
TCP  44818  Rockwell Encapsulation
TCP  45092  BackGate (Windows rootkit)
TCP  45678  EBA PRISE
TCP  45966  SSRServerMgr
TCP  47262  Delta Source (Windows Trojan)
TCP  47557  Databeam Corporation
TCP  47624  Direct Play Server
TCP  47806  ALC Protocol
TCP  47808  Building Automation and Control Networks
TCP  48000  Nimbus Controller
TCP  48001  Nimbus Spooler
TCP  48002  Nimbus Hub
TCP  48003  Nimbus Gateway
TCP  49400  Compaq Insight Manager
TCP  49401  Compaq Insight Manager
TCP  50300  O&O Defrag
TCP  51515  Microsoft Operations Manager MOM-Clear
TCP  52673  Stickies
TCP  54283  SubSeven
TCP  54320  Orifice 2000 (TCP)
TCP  54321  Orifice 2000 (TCP)
TCP  60000  DeepThroat
TCP  65000  distributed attack tool / Devil (Windows Trojan)
TCP  65301  pcAnywhere-def
TCP  65506  PhatBot, Agobot, Gaobot (Windows trojans)
Posted by 1010
98..Etc/Etc...2008. 7. 24. 11:54
반응형

윈도우의 Registry변경 60가지팁

윈도우의 숨겨논 60가지팁

1. 여러 파일 이름을 한꺼번에 바꾸자
윈도우즈 XP는 여러 개의 파일 이름을 한꺼번에 바꾸는 재주가 있다. 파일 형식이 서로 달라도 같은 이름을 붙일 수 있다.
이름을 바꿀 파일을 모두 고르고 마우스 오른쪽 버튼을 누른 다음 ‘이름 바꾸기’를 고른다.
윈도우즈 XP에서 여러 개의 파일 이름을 바꿀 때는 첫 번째 파일에 이름만 쓴다. 예를 들어 ‘PC사랑’이라고 하면 첫 번째 파일은 ‘PC사랑’이 되고 나머지 파일들은 ‘PC사랑 (1)’ ‘PC사랑 (2)’ 등으로 바뀐다. 만약 첫 번째 파일 이름을 ‘PC사랑 (10)’이라고 하면 그 다음부터는 ‘PC사랑 (11)’ ‘PC사랑 (12)’이 된다.


새 이름을 쓰고 엔터 키를 누른 다음 이름을 바꾼 파일 다음에 있는 것들은 새 이름 뒤에 1부터 숫자가 붙는다.

2. 갑자기 재 부팅 되는 윈도우즈 XP 때려잡기
윈도우즈 XP는 너무 민감한(?) 나머지 프로그램에 조그만 오류가 생기면 저절로 재 부팅 된다. 물론 그 오류가 심각할 때도 있지만 별 문제가 되지 않는 데도 PC를 재 부팅해서 이용자를 귀찮게 한다. 프로그램에 오류가 있어도 시스템이 재 부팅 되지 않게 해보자.
바탕화면의 ‘내 컴퓨터’ 아이콘을 마우스 오른쪽 버튼으로 누르고 ‘속성’을 고른 다음 ‘시스템 등록정보’ 창의 ‘고급’ 탭에서 ‘시작 및 복구’ 칸의 ‘설정’ 버튼을 누른다.
‘시스템 오류’ 칸에 있는 ‘자동으로 다시 시작’의 체크 표시를 없애고 ‘확인’ 버튼을 누른다.

이제 윈도우즈 XP가 제멋대로 꺼지지 않는다.

3. 오류 보고 창 나타나지 않게 하기
윈도우즈 XP부터는 프로그램들이 에러를 일으켰을 때 그에 대한 자세한 사항을 마이크로소프트사로 보고한다. 이런 오류를 매번 보고하는 것도 지겹고, 보고해도 해결되지 않으므로 오류 보고 창이 뜨지 않게 해보자.
시작 → 제어판 → 성능 및 유지 관리 → 시스템으로 간 뒤 시스템 등록정보 창이 뜨면 ‘고급’ 탭에서 아래에 있는 ‘오류 보고’ 단추를 누른다. 오류 보고 대화 상자에서 ‘오류 보고 사용 안 함’을 고르고 ‘확인’ 버튼을 누른다.

4. 성인광고 나가 있어~
성인광고 사이트도 아닌데 자꾸 성인광고가 뜬다. 한두 개 정도야 바로 닫아버리면 그만이지만 여러 개의 창이 마구 쏟아져 나오면 윈도우즈 XP가 먹통이 되기도 한다. 성인광고를 막아주는 프로그램이 있지만, 괜히 하드디스크 용량만 차지하므로 윈도우즈 XP 자체에서 해결하자.
인터넷 익스플로러 메뉴에서 도구 → 인터넷 옵션을 고른 다음 ‘일반’ 탭의 임시 인터넷 파일 항목에 있는 ‘설정’ 단추를 누른다. ‘설정’ 창이 뜨면 ‘개체보기’를 누른다.
탐색기가 뜨면서 파일 이름이 나온다. 이 중에서 sender control이라는 파일을 찾아서 지우면 성인광고 사이트가 뜨지 않는다.

‘개체보기’를 누르면 내 PC에 깔려있는 개체들이 보인다.

5. 내 컴퓨터에서 ‘공유 문서’ 없애기
윈도우즈 XP에는 여러 이용자가 같이 쓸 수 있는 공유 문서가 있다. 공유 문서에는 공유 그림, 공유 음악이 있는데 집에서 혼자 쓰는 사람에게는 필요 없다. 용량만 차지하는 공유 문서를 지워보자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기를 띄운 다음,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\DelegateFolders에 있는
{59031a47-3f72-44a7-89c5-5595fe6b30ee}를 찾아 지운다.

이 레지스트리를 지우면 공유 문서가 보이지 않는다.

6. ‘시작’에서 문서메뉴 지우기
문서 메뉴가 있으면 작업 했던 문서를 쉽게 불러올 수 있지만, 길게 늘어져 있어 지저분하다. 문서 메뉴를 잘 쓰지 않는다면 깔끔하게 지우자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 오른쪽에 마우스를 놓고 새로 만들기 → DWORD 값을 고른 뒤,
‘새 값’의 이름을 NoRecentDocsMenu 라고 바꾼 뒤 마우스로 두 번 눌러 값 ‘1’을 넣는다.

문서 메뉴가 없어졌다. 메뉴가 한결 깔끔해 보인다.

7. 바탕화면에 내 컴퓨터 불러오기
윈도우즈 XP를 깔고 나면 바탕화면에 휴지통만 보인다. 윈도우즈 98처럼 바탕화면에 기본 아이콘이 보이게 하려면 바탕화면에서 오른쪽 마우스 버튼을 누른 뒤 → 속성 → 바탕화면 → 바탕화면 사용자지정을 차례로 누르고 ‘내 바탕화면에 아이콘’에서 골라 누르면 된다.

8. 휴지통을 변기통으로 바꾸자
다른 아이콘들은 이름을 바꿀 수 있지만, 휴지통은 ‘이름 바꾸기’가 없다. 하지만 PC사랑 사전에 불가능이 있던가? 휴지통 변기통으로 변신시키자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\ShellFolder의 오른쪽 창에 있는 attributes 키를 마우스 오른쪽 단추로 누른 뒤 ‘수정’을 고른다. ‘바이너리 값 편집’ 창의 ‘값의 데이터’ 칸에서 40 01 00 20 대신 70 01 00 20을 집어넣는다. CallForAttributes=dword:00000040 의 값만 지우자.

재 부팅하고 휴지통 위에서 마우스 오른쪽 버튼을 누르면 ‘이름 바꾸기’가 생긴다.

9. 입력 도구 모음 없애기
윈도우즈 XP ‘서비스 팩이 깔려 있다면 입력 도구 모음을 간단히 닫을 수 있지만 서비스 팩이 없다면 이것을 지울 수 없다. 입력 도구 모음은 한자를 입력할 때 편하지만 게임을 자주 하는 이들에겐 눈에 거슬릴 뿐 아무런 도움을 주지 않는다. 입력 도구를 쓰지 않는다면 이 방법으로 입력도구를 날려버리자.
제어판 → 국가 및 언어 옵션 → 언어 → 자세히 → 설치된 서비스에서 ‘추가’를 눌러 영어를 새로 넣는다. 그 다음 한글 입력기(IME2002)를 고르고 기본 설정 → 입력 도구모음에서 모든 체크를 끄면 도구가 사라진다.

10. 로그 온 할 때 예쁜 메시지 띄우기
회사, 학교 등 네트워크에 연결된 PC를 켜면 ‘로그온’ 화면이 뜬다. 이 곳에 톡톡 튀는 예쁜 메시지를 넣어보자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon을 찾는다.
오른쪽 창에서 마우스 오른쪽 버튼을 누르면 뜨는 ‘새로 만들기’ 메뉴에서 ‘문자열 값’을 고른 뒤, 문자열 이름을 LegalNoticeText 라고 써 넣고 엔터 키를 누른다. 이미 있는 파일이라면 새로 만들지 않아도 된다.
앞에서 만들어 놓은 문자열을 마우스로 두 번 누르면 ‘문자열 편집’ 대화 상자가 나타난다.
‘값 데이터’ 상자에 화면에 표시할 내용을 써 넣고 ‘확인’ 버튼을 누른다.
같은 방법으로 LegalNoticeCaption 이라는 문자열 값을 만들고 ‘값 데이터’에 메시지 상자의 제목을 적은 뒤 ‘확인’ 버튼을 누른다. PC를 껐다 켜면 메시지 상자가 표시된다.

11. URL 입력은 단축 키로 간단히!
PC사랑 홈페이지에서 지난달 기사를 찾아보고 싶을 때 주소 창에 www.ilovepc.co.kr을 모두 적지 않아도 된다. ilovepc만 쓰고 Ctrl+Enter 키를 누르면 http://www와 co.kr이 저절로 써진다.
.com로 끝나는지, co.kr이나 net으로 끝나는지 기억나지 않을 때 활용하면 편하다.

12. ‘드라이버가 맞지 않는다’는 메시지가 떠요!
윈도우즈 XP의 기본 드라이버를 쓰다가 부품 회사에서 만든 드라이버를 깔려고 하는데 ‘호환성 테스트에 통과하지 못했다’는 메시지가 종종 뜬다. MS가 테스트하지 않아 성능을 믿을 수 없다는 내용이다. 많은 드라이버가 테스트를 거치지 않았지만 쓰는 데는 이상이 없다. 그렇다면 이 메시지를 굳이 띄울 필요가 없다.
‘내 컴퓨터’를 마우스 오른쪽 버튼으로 누르고 ‘속성’을 고른 다음, ‘하드웨어’ 탭에서 ‘드라이버 서명’을 누른다. 여기서 ‘무시’를 고르면 다시는 호환성 메시지가 뜨지 않는다.

‘무시’를 고르면 드라이버를 깔 때 호환성 여부를 묻지 않는다.

13. 시스템 복원이 컴퓨터를 느려지게 한다?
‘시스템 복원’은 만일의 사고를 대비해 시스템 내용을 그대로 기억하는 것이다. 오류가 발생하면 사고가 나기 전 상태로 돌아가기 위해서다. 파일을 읽고, 쓰고, 지울 때마다 system volume information 폴더에 시스템 복원용 백업 파일이 저장된다. 이 때문에 PC 속도가 느려지는데, ‘시스템 복원’을 끄면 속도가 한결 빨라진다.
‘내 컴퓨터’ 아이콘을 마우스 오른쪽 버튼으로 누르고 ‘속성’을 고른다. 시스템 등록정보’ 창이 열리면 ‘시스템 복원’ 탭을 누른 다음 ‘시스템 복원 사용 안 함’을 고르고 ‘확인’ 버튼을 누르면 된다.

시스템 복원을 끄면 PC가 한결 빨라진다.

14. 하드가 이유 없이 데이터를 읽을 때는?
아무런 작업도 하지 않는데 드르륵~ 거리며 하드디스크를 읽는 소리가 난다. 본체의 HDD LED도 깜박인다. 왜 아무런 명령을 내리지 않은 하드디스크가 작동을 할까? ‘인덱싱 서비스’ 때문일지 모르므로 이 명령을 끈다. 인덱싱 서비스는 하드에 있는 파일을 정리해 빨리 뜨게 해주지만 명령을 꺼도 PC를 쓰는 데 별 문제가 없다.
제어판 → 관리도구 → 서비스 → indexing service → 속성 → 사용안함을 누른 뒤 재 부팅하면 하드가 잠잠해진다.

15. 바탕화면 단축 아이콘에서 화살표를 지우자
프로그램 파일과 단축 아이콘을 구분하기 위해 단축 아이콘에는 ‘화살표’가 붙어 있다. 알아보긴 쉽지만, 왠지 지저분해 보인다. 화살표를 지우자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CLASSES_ROOT\lnkfile를 고른 뒤 오른쪽 창에서 → isshortcut를 지우면 된다.


화살표가 없어 아이콘이 깔끔하게 보인다.

16. 폴더 창을 재 빨리 연다.
탐색기에서 폴더를 이동하다보면 폴더 안에 있는 파일을 읽어 들이는 속도가 느리다는 느낌을 지울 수 없을 때가 많다. 느린 속도 때문에 답답할 때는 다음과 같이 해보자.
시작 버튼 → 설정 → 제어판 → 폴더옵션을 차례로 고른다.
‘보기’ 탭의 ‘고급설정’ 칸에서 ‘폴더 및 바탕화면 항목에 팝업 설명 표시’ ‘압축된 파일과 폴더를 다른 색으로 표시’ ‘독립된 프로세스로 폴더 창 실행’ ‘네트워크 폴더 및 프린터 자동 검색’ ‘폴더 팁에 파일 크기 정보 표시’의 체크 표시를 없앤다.

이렇게 해두면 폴더 창이 조금 더 빨리 열린다.

17. 윈도우즈 XP에서 도스 게임 하기
윈도우즈 XP는 32비트 운영체제여서 16비트 도스 게임을 누르면 실행이 되지 않고 창이 꺼져 버린다. 도스 게임을 하고 싶다면 VDM(virtual DOS machine)이란 프로그램을 내려 받아 깐다. exe 실행파일을 골라 오른쪽 마우스 단추로 메뉴를 부른 뒤 run with VDMS를 누르면 된다. VDM은 PC사랑 홈페이지 ‘프로그램 타입 캡슐’에서 내려 받을 수 있다.

윈도우즈 XP에서 추억이 담긴 게임을 즐겨보자.


TR>
18. 메신저로 파일을 받을 수 없다고?
윈도우즈 XP는 인터넷 연결 방화벽 설정 부분이 있어서 외부에서 내 PC로 접속하는 것을 막는다. 하지만 메신저나 P2P 프로그램을 쓸 때는 이 방화벽 때문에 서로 자료를 주고받지 못한다. MSN 메신저를 비롯해 메신저가 P2P 프로그램으로 자료를 주고받을 때 방화벽이 가로막으면 다음과 같이 해결한다.
바탕화면의 ‘네트워크 환경’의 ‘속성’을 연 다음 ‘로컬 영역 연결’을 한번 누른다.
마우스 오른쪽 단추를 눌러 ‘속성’을 연 뒤 고급 → 인터넷 연결 방화벽을 끈다.

인터넷 연결 방화벽을 끄면 메신저나, P2P 프로그램을 문제없이 쓸 수 있다.

19. 윈도우즈 XP에서 디스크 검사를 하자
윈도우즈는 문제가 있을 때 ‘디스크 검사’를 해 오류를 고친다. 하지만 윈도우즈 XP는 윈도우즈 98과 달리 ‘디스크 검사’ 메뉴가 따로 없다. 보조프로그램에 등록 되어 있지도 않다. 그렇다고 디스크 검사가 아예 없는 건 아니다.
내 컴퓨터 → 로컬 디스크(c:)를 오른쪽 마우스로 메뉴를 불러 ‘속성’을 누른다.
‘도구’ 탭에 가면 ‘디스크 검사’가 있다. 모든 창과 프로그램을 다 끄고 검사하도록 한다.

윈도우즈 98보다 메뉴가 간단하고 검사가 빠르다.

20. 지워도 보이는 프로그램 지우기
안 쓰는 프로그램을 제어판 → 프로그램 추가/제거에서 지우지 않고 탐색기로 폴더만 지우면 프로그램 목록에 남는다. 이것이 쌓이고 쌓이면 프로그램 설치가 안 되고, 윈도우즈까지 느려진다. 흔적이 남지 않게 깔끔하게 지워보자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall에 들어가 지울 프로그램을 골라 지우면 된다.

21. 시스템 종료 창 바꾸기
여러 이용자가 하나의 PC를 쓸 때 시스템을 켜면 시작 화면이 뜬다. 여기에는 각 이용자가 등록되어있고 누가 어떤 프로그램을 쓰는지 간단히 나와 있다. 내가 무엇을 할지 다른 사람이 보는 게 싫다면 윈도우즈 98처럼 이름만 보이므로 보안이 더 낫다. 윈도우즈 98처럼 바꿔보자.
시작 버튼 → 설정 → 제어판 → 사용자 계정을 고른 다음 ‘사용자 로그온 또는 로그오프 방법변경’을 누른다.
‘새로운 시작 화면 사용’의 체크 표시를 없애고 ‘옵션 적용’ 버튼을 누르면 로그 창이 고전적인 형태로 바뀐다.

‘새로운 시작 화면 적용’을 누르면 윈도우 98처럼 시스템 종료 창이 바뀐다.

22. 꼭꼭 숨겨진 윈도우즈 XP 관리 프로그램들
윈도우즈 XP의 시작 버튼 → 실행을 누르면 ‘실행’ 창이 열린다. 여기에 명령을 써넣으면 작업이 바로 실행된다. ‘실행’ 창에 쓸 수 있는 명령어와 하는 일은 다음과 같다.

compmgmt.msc 컴퓨터 관리와 관련 시스템 도구 창을 연다.
diskmgmt.msc 디스크 관리 창을 띄운다.
eventvwr.msc 윈도우즈 메시지가 담긴 이벤트를 본다.
gpedit.msc 도메인 또는 액티브 디렉토리나 PC에 저장되어 있는 조직 단위에 연결된 그룹 정책 개체를 편집하는 ‘로컬 컴퓨터 정책’을 연다.
perfmon.msc 시스템 성능을 감시하고 로그와 경고를 기록한다.
secpol.msc ‘로컬 보안설정’을 열어 도메인의 PC 보안 정책을 정의하게 도와준다.
devmgmt.msc 하드웨어 장치 목록을 보고 각 장치에 대한 특성을 정하는 ‘장치관리자’ 창을 연다.
dfrg.msc ‘디스크 조각모음’ 창을 연다.
fsmgmt.msc 공유 폴더를 띄운다.
lusrmgr.msc 로컬 이용자를 확인한다.
rsop.msc ‘정책의 결과 집합’ 창을 연다.
services.msc ‘서비스’ 창을 띄운다.

23. 메뉴를 빨리 빨리
제원이 낮은 PC를 쓰고 있다면 창이 뜰 때 나타나는 갖가지 효과를 없애 창을 빨리 띄워보자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CURRENT_USER\ControlPanel\desktop에서 MenuShowDelay을 살펴보면 400
으로 되어있다. 이 값을 0으로 고쳐주면 된다.

0으로 바꾸면 메뉴가 빨리 뜬다.

24. 하드디스크 파티션 하기
윈도우즈 98에서는 ‘fdisk’라는 프로그램으로 하드디스크를 나눠 썼다. 윈도우즈 XP는 이 fdisk프로그램이 없어진 대신 파티션을 쉽게 할 수 있는 메뉴가 생겼다.
시작 → 설정 → 제어판 → 관리도구 → 컴퓨터 관리 → 디스크 관리에 들어가면 하드디스크의 갖가지 정보가 뜬다. 파티션 하려는 하드디스크에 오른쪽 마우스를 눌러 메뉴를 불러온다. 파티션 뿐 아니라 하드디스크를 매만질 수 있는 갖가지 메뉴가 있다.

윈도우즈 XP는 복잡한 하드디스크 파티션을 간단히 끝낸다.

25. 내 PC 시각이 맞지 않을 때
작업 표시 줄 오른쪽에 있는 시계를 1분 1초도 틀리지 않게 맞춰보자. 먼저 작업 표시 줄의 시계를 누르고 ‘인터넷 시간’이란 탭을 누른다. ‘인터넷 시간 서버와 자동으로 동기화’를 체크하고 ‘지금 업데이트’를 누르면 된다.

인터넷 서버에 있는 정확한 시계와 연결되어 제대로 된 시간을 보여준다.

26. 회사 이름과 이용자 이름 바꾸기
윈도우즈 XP를 처음 깔 때 넣었던 회사 이름과 이용자 이름을 바꾸고 싶다면, 레지스트리를 매만지자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 에 들어가면 RegisteredOrganization과 RegisteredOwner라는 값이 있다.
RegisteredOrganization은 회사 이름, RegisteredOwner는 사용자 이름이다.
입맛에 맞게 바꾼 뒤 재 부팅하면 바뀐다.

27. CD롬 자동 삽입 통지 막기
윈도우즈 XP는 윈도우즈 98처럼 ‘자동 삽입 통지’ 메뉴가 없다. CD롬을 넣으면 CD롬 내용이 알아서 뜨는데, 이 기능이 귀찮다면 레지스트리를 만져 끄면 된다.
시작 → 실행에서 regedit 라고 쓰고 엔터 키를 누르면 레지스트리 편집기가 뜬다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet001\Services\Cdrom에서 Autorun값을 `0`으로 하면 CD를 넣어도 CD가 자동 실행되지 않는다.

28. 인터넷 화면이 제대로 안보일 때
인터넷 게임을 하려고 하는데 화면이 제대로 뜨지 않는다면 어떻게 할까? 인터넷을 띄우면 그 사이트에 맞는 개체가 깔리는데, 이 개체가 제대로 깔리지 않을 때 이런 일이 일어난다.
제어판 → 인터넷 옵션 → 일반 탭에서 임시 인터넷 파일의 ‘설정’ 메뉴를 찾는다.
‘개체 보기’를 누르면 내 PC에 깔려 있는 갖가지 개체들이 보인다. <Ctrl + A> 키를 눌러 ‘전체 선택’을 한 뒤 Del 키를 눌러 지운다. ‘예’를 누르면 말끔히 지워진다. 다시 인터넷 사이트에 들어가면 개체가 깔리기 전에 ‘예’ ‘아니오’라는 창이 뜬다. ‘예’를 누르면 개체가 바로 깔려 인터넷 화면을 제대로 볼 수 있다.

'예‘를 눌러야 화면을 띄우는 데 필요한 개체가 깔린다.

29. ‘도움말 및 지원’ 메뉴 지우기
윈도우즈를 쓰다가 모르는 것이 있으면 ‘도움말’을 보지만 사실 별 도움이 되진 않는다. 차라리 이것을 없애면 프로그램이 띄울 때 조금 더 빨리 뜬다.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer에 간 뒤 ‘새로 만들기’ 에서 DWORD값을 만든다.
이름을 NoSMHelp으로 하자. 마우스를 두 번 눌러 데이터 값을 불러와 ‘1’이라고 넣자.
재 부팅 하면 ‘도움말 및 지원’ 메뉴가 뜨지 않는다.

30. 쓰지 않는 MSN 익스플로러 지우기
윈도우즈 XP를 처음 깔면 MSN 익스플로러가 깔려 있다. MSN 익스플로러는 MSN과 핫메일을 쓰는 사람에게 유용한 프로그램이지만 쓰지 않는다면 이 프로그램을 지워 하드디스크 용량을 늘이자.
시작 → 모든 프로그램 → MSN Explorer 아이콘에 마우스를 갖다 댄다. 오른쪽 마우스 버튼으로 메뉴를 불러와 속성을 누른다. 등록정보 창이 뜨면 ‘대상 찾기’를 누른다.
Setup 폴더를 열어 보면 msnunin이란 프로그램이 있는데, 이것이 MSN Explorer을 지우는 프로그램이다. 마우스로 두 번 눌러 시작 메뉴에 있는 내 PC에서 MSN 익스플로러를 지운다.

꼭꼭 숨어 있는 이 파일을 누르면 MSN 익스플로러가 지워진다.

31. 종료 로고만 뜨고 전원이 안 꺼질 때
‘시스템 종료’를 누르면 ‘이제 시스템 전원을 끄셔도 됩니다’라는 창만 뜨고 꺼지지 않는 일이 있다. 이럴 때 제어판 → 전원 옵션 → APM 탭으로 들어가 ‘최대 절전 모드 사용’을 체크하면 된다.

32. CD를 굽고 있는 도중 PC가 먹통이 될 때
주로 4배속 아래의 낡은 CD-RW 드라이브에서 이런 일이 생긴다.
제어판 → 시스템 → 하드웨어 탭의 ‘장치 관리자’로 들어간다.
IDE ATA, ATAPI 컨트롤러를 눌러 광학 드라이브가 꽂힌 보조 IDE 채널을 두 번 누른다. 전송모드가 DMA로 되어 있다면 PIO로 바꾼 뒤 적용을 누른다.

PIO 모드로 바꾸면 오래된 CD-RW라도 CD를 척척 구워낸다.

33. 640 × 480 해상도로 띄우기
윈도우즈 XP 제어판 → 디스플레이 등록정보를 보면 800 × 600이 가장 낮은 해상도로 되어 있지만, 640×480 해상도를 불러 올 수 있다.
제어판 → 디스플레이 → 설정의 ‘고급’ 단추를 누른다.
‘어댑터’ 탭에 들어가면 아래에 ‘모든 모드 표시’라고 되어있다. 이곳을 누르면 640×480 해상도에 256 컬러로 바꿀 수 있다.

256 컬러가 아니면 뜨지 않는 고전 게임을 즐길 때 좋다.

34. 바탕 화면 보기 아이콘 만들기
바탕화면 보기 아이콘은 모든 창을 최소화 시킬 때 편하다. 이 아이콘을 실수로 지웠다면 당황하지 말고 새로 만들어보자. 시작 → 보조프로그램 → 메모장을 열어 다음과 같이 쳐 넣는다.

[Shell]
Command = 2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

‘다른 이름으로 저장’을 고른 뒤 ‘바탕화면보기.scf'라고 저장하면 끝난다.

저장한 파일은 작업 표시 줄의 ‘빠른 실행’ 안에 끌어다 놓자.

35. 메신저 광고 메시지는 이제 그만!
인터넷 사이트에 가입하지 않았는데도 MSN 메신저를 통해 스팸 쪽지가 계속 날아온다. 이것은 사실 MSN 메신저와 아무 상관이 없다. 메시지를 보내는 이들은 무작위로 IP 주소를 뽑아 윈도우즈 NT 계열의 기본 서비스인 내부 네트워크를 이용해 광고성 쪽지를 보내는 것이다. 이 쪽지를 받지 않으려면 다음과 같이 한다.
제어판 → 관리도구 → 서비스 → Messenger에서 시작 유형을 ‘시작 안함’으로, 서비스 상태를 ‘중지’로 하면 된다.

이제 지긋지긋한 스팸 메시지가 오지 않는다.

36. 윈도우즈 포맷하기 전, 즐겨찾기 백업은 필수
윈도우즈를 포맷하고 다시 깔고 나서 해야 할 일이 너무 많다. 즐겨찾기 사이트를 일일이 다시 등록하는 일도 장난이 아니다. 하지만 즐겨찾기가 저장되는 디렉터리만 알고 있으면 이런 노가다(?)를 하지 않아도 된다.
윈도우즈를 포맷하기 전에 c:\doc-uments and settings\이용자 이름\favorites를 통째로 다른 드라이브에 복사해 놓자. 윈도우즈를 다시 깐 뒤 같은 디렉터리로 복사한다. 인터넷의 즐겨찾기를 열면 고스란히 사이트가 들어있다. 하지만 전에 저장했던 순서까지 그대로 열리는 것은 아니므로 약간 손봐야 한다.

37. 하위 폴더를 재 빨리 연다
하위 폴더를 열려면 현재 폴더를 마우스로 두 번 누르거나 그 옆에 있는 +를 고른다. 따라서 디렉토리가 여러 단계로 되어 있으면 필요한 것을 열기위해 이일을 여러 번 반복해야 한다. 하지만 맨 아래에 있는 것을 단 한번에 여는 방법이 있다.
작업하려는 폴더를 고른 뒤 숫자 키보드에 있는 * 키를 함께 누르면 아래에 있는 모든 폴더가 열린다.

38. 지운 파일 되살리기
탐색기나 내 컴퓨터에서 실수로 중요한 파일을 지우기 십상이다. 하지만 걱정하지 않아도 된다. 도구 모음에 있는 ‘실행 취소’ 버튼을 누르면 사라졌던 것이 다시 나타나기 때문이다. 단축 키는 <Ctrl + Z>다.

‘실행취소’ 버튼을 누르면 방금 전 내린 명령이 무효가 된다.

39. 파일 이름이 안 바뀌네?
아무 작업도 하지 않는데 파일 이름이 안 바뀔 때가 있다. 이럴 때 재 부팅하지 않고 이름을 바꾸는 법을 살짝 공개한다. 파일을 고른 뒤 오른 쪽 메뉴를 불러와 ‘속성’을 누른다. 이 곳에서 이름을 바꿔보자 안 바뀌던 파일 이름이 손쉽게 바뀐다.

파일 복사 중이면 이 방법을 써도 바뀌지 않는다.


TR> TD style="PADDING-RIGHT: 10px; PADDING-LEFT: 15px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px">
'&w&b페이지 &p / &P'라는 부분을 지우면 된다.
TD style="PADDING-RIGHT: 10px; PADDING-LEFT: 15px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px">
10진수로 바꾼 뒤 캐시를 써 넣으면 된다.
40. 내가 원하는 시각에 PC 끄기
시작 → 실행에서 ‘tsshutdn 시간(초)’을 넣자.
PC를 1분 뒤에 끌 거라면 tsshutdn 60, 1시간 뒤에 끌 거라면 tsshutdn 3600이라고 넣으면 된다. 시간이 되면 바로 종료 되는 것이 아니라 만약을 위해 30초를 더 센다.

취소하려면 꺼지기 전에 <Ctrl +C> 키를 누르면 된다.

41. 한글 자판 먹통 됐을 때
인터넷 검색을 하다가 갑자기 한글 자판이 안 먹힐 때가 있다. 이럴 때 PC를 재 부팅 하지 말고 간단하게 해결하자.
대부분 왼쪽 Alt를 한번 누른 뒤 한/영 키를 누르면 한글로 바뀐다. 이 방법이 안 되면 왼쪽 <Shift + Alt> 키와 마우스 오른쪽 버튼을 누른 뒤 한/영 키를 누르면 된다.

42. 윈도우즈 XP의 숨겨진 복사 재주
파일을 복사할 때 같은 파일이 있으면 겹쳐 쓸 것인지 물어보는 창이 뜬다. 모두 겹쳐 쓸 때 ‘모두 예’라는 항목은 편하지만, 겹쳐 쓰지 않고 이어서 복사하려면 ‘아니오’를 일일이 눌러야 된다. 이럴 때 중복된 것만 빼고 복사하는 ‘모두 아니오’가 있으면 얼마나 편할까?
윈도우즈 XP는 이런 재주가 숨겨져 있다. Shift 키를 누른 상태에서 ‘아니오’를 눌러보자. 똑같은 파일은 건너뛰고 복사 되지 않은 파일만 복사된다.

많은 파일을 복사할 때 편하다.

43. 인터넷 익스플로러 이름 바꾸기
인터넷 창 타이틀 맨 윗부분을 보면 Microsoft Internet Explorer란 꼬리표가 달려있다. 이 꼬리표 이름을 내맘대로 바꿔보자. 시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다. HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main를 찾은 뒤 편집 → 새로 만들기 한 뒤 Window Title 이라고 써 넣는다. 만들었다면 왼쪽 마우스 단추를 두 번 눌러 이름을 써 넣는다. PC를 재 부팅하면 이름이 바뀐다.


인터넷 창 위에 있던 Microsoft Internet Explorer란 글자를 내 맘대로 바꾸었다.

44. 시작 페이지 고정하기
인터넷을 하다 보면 성인사이트가 첫 페이지로 뜨는 일이 종종 있다. 인터넷 옵션에서 홈페이지를 바꿔도 계속 뜨는 사이트가 정말 짜증난다. 레지스트리를 매만져 이런 문제를 말끔히 털어버리자.
시작 → 실행에서 regedit 라고 쓰고 엔터 키를 누르면 레지스트리 편집기가 뜬다.
HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplorer\Main, HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Main으로 가서 둘 다 Start_Page 의 값을 처음에 띄우려는 페이지 주소로 바꾼다.
그 다음 왼쪽 창 Main 에서 오른쪽 클릭 ‘사용 권한’ 고른 뒤 쓰고 있는 계정을 고른 다음 밑에 고급 → 편집을 누른다. 값 설정에서 ‘거부’에 체크 하면 끝난다.

이 곳에서 사이트 이름을 바꾼다.

45. MSN 메신저 6의 숨겨진 이모티콘들
MSN 메신저에는 재미있는 이모티콘이 들어 있다.
메신저를 띄운 뒤 이 단어들을 채팅창에서 쳐 넣으면 재미있는 이모티콘이 뜬다.
(st) = 비
(%) = 수갑
(pl) = 접시
(ci) = 담배
(li) = 번개
(tu) = 거북이
(xx) = 엑스박스
(yn) = 검지와 중지

46. 윈도우즈의 보기 설정을 한결같이
파일 목록을 특정한 방식, 예를 들어 ‘큰 아이콘’으로 표시하거나 ‘자세한 정보’와 함께 표시할 때, 모든 폴더의 보기 옵션을 이와 같은 방식으로 두루 적용할 수가 있다.
윈도우즈 탐색기의 ‘도구’ 메뉴에서 ‘폴더 옵션’을 고른다.
‘보기’ 탭의 ‘폴더 보기’ 칸에서 ‘모든 폴더에 적용’ 버튼을 누른 다음 ‘폴더 보기’ 창이 열리고 모든 폴더에 적용할 것인지 물으면 ‘예’ 버튼을 누른다.

다른 폴더에서도 보기 옵션을 일일이 정하지 않아도 된다.

47. 드라이브 순서 바꾸기
윈도우즈 98 제어판에서 바꿀 수 있던 ‘드라이브 순서’가 윈도우즈 XP에는 없다. 하지만 꼭꼭 숨겨져 있을 뿐 바꾸지 못하는 것은 아니다.
시작 → 실행 → diskmgmt.msc를 치면 ‘디스크 관리’가 뜬다. 바꿀 드라이브를 누르고 오른쪽 단추로 메뉴를 불러온 다음 ‘드라이브 문자 및 경로 변경’을 누르면 된다. 가상 드라이브와 CD롬이 뒤죽박죽일 때 이 곳에서 순서를 바꿔 정리할 수 있다.

운영체제가 깔린 드라이브는 바꿀 수 없다.

48. 윈도우즈 미디어 플레이어 9 지우기
윈도우즈 미디어 플레이어 9는 영화를 보기에 좋지만, 실시간 방송이 뜨지 않는 일이 종종 있다. 이것은 윈도우즈 미디어 플레이어 9가 실시간 서비스인 VOD를 제대로 알아채지 못해서다.
이런 이유로 윈도우즈 미디어 플레이어 9를 지우고 종전 버전으로 돌리려면 시작 → 실행 → RunDll32 advpack.dll,LaunchINFSection %SystemRoot%INFwmp.inf,Uninstall이라고 치면 된다.

윈도우즈 미디어 플레이어 9를 깔기 전으로 돌릴 수 있다.

49. 누가 내 PC 만졌어!
내 PC가 언제 켜졌는지 남이 내 PC를 만졌는지 알 수 있는 방법이 있다.
시작 → 프로그램 → 보조프로그램의 메모장에서 다음과 같이 써 넣자.
@echo off
echo Windows 부팅 >>c:list.txt
echo %date% %time% >>c:list.txt
echo. >>c:list.txt
파일 이름을 list.bat라고 저장한 뒤 저장한 파일을 시작 프로그램에 놓는다.

c 드라이브에 들어가 list.tct 파일을 보면 PC를 켠 흔적이 남아있다.

50. 깔지마! 깔지 말란 말야!
사이트에 접속할 때마다 바탕 화면에 깔리는 아이콘을 일일이 지우는 것도 지겹다. 웹 사이트 아이콘을 바탕화면에 깔지 못하게 해보자.
제어판 → 인터넷 옵션 → 보안에서 ‘웹 컨텐트 영역’을 ‘인터넷’으로 고른다.
‘사용자 지정 수준’을 누른다. ‘바탕 화면 항목 설치’를 찾아 ‘설치 안함’을 고르면 된다.

이제 바탕화면에 웹 사이트 아이콘이 깔리지 않는다.

51. 머리글과 바닥글 없애기
인터넷 화면을 문서로 뽑으려면 파일 메뉴의 ‘인쇄’를 누르면 된다. 하지만 프린터에 http://www.ilovepc.co.kr/record_detail_read.php?NO=15879같은 경로가 같이 찍혀 나와 지저분하다. 이것이 싫으면 파일 → 페이지 설정을 눌러 ‘머리글’과 ‘바닥글’에 있는 칸을 깨끗이 지운다음 인쇄하면 된다.

52. 키보드 없이 키보드를 친다?
윈도우즈 XP는 키보드가 없이 PC를 쉽게 쓸 수 있도록 ‘화상 키보드’를 지녔다. 이것은 글자 그대로 키보드 모양을 화면에 띄워 마우스로 눌러 글자를 띄우거나 프로그램을 실행시킨다. 시작 → 프로그램 → 보조프로그램 → 내게 필요한 옵션 → 화상 키보드를 누르면 된다.

화상 키보드는 움직임이 불편한 장애자들을 위해 만든 프로그램이다.

53. 플로피디스크 읽지 마!
부팅한 뒤나 탐색기를 띄웠을 때 윈도우즈는 무작정 A 드라이브인 플로피디스크를 읽는다. 이것은 하드웨어가 잘 달려 있는지를 윈도우즈가 알아보는 것이다. 이런 일을 없애도 윈도우즈를 쓰는 데 아무런 이상이 없으므로 윈도우즈가 하드웨어를 검색하는 명령을 고치자.
제어판을 띄워 ‘관리도구’를 열고 ‘서비스’ 아이콘을 골라 shell hardware detection 항목을 두 번 누른다. ‘시작 유형’을 ‘자동’으로 맞추고 ‘확인’ 버튼을 누른다.
‘서비스’ 창에서 shell hardware detection 항목을 골라 시작 유형을 ‘자동’으로 바꾼다. 이렇게 하면 플로피디스크를 읽지 않는다.

플로피 디스크를 자주 쓰지 않는다면 ‘자동’으로 바꾸자.

54. 최대 절전 모드 해제로 하드디스크 용량을 확보하자
제어판의 ‘전원 옵션’ 가운데 최대 절전 모드를 쓰면 윈도우즈는 얼마 뒤 메모리에 담긴 데이터를 하드디스크에 저장하고 적은 전기만 쓰면서 대기모드로 들어간다. 이 때 하드디스크 용량을 500MB 정도 차지한다.
대기모드를 쓰지 않는 이에게 이 옵션은 하드디스크 용량만 잡아먹는 쓸데없는 것이다. 바탕화면에 대고 마우스 오른쪽 버튼을 눌러 ‘속성’을 눌러 ‘디스플레이 등록정보’ 창을 띄운다. 화면보호기 항목에서 ‘전원’ 버튼을 누르고 전원 옵션 등록정보를 보자. ‘최대 절전 모드’ 탭에서 체크 표시를 없앤다.

55. 응답이 없는 프로그램 빨리 닫기
윈도우 XP 응답이 없는 프로그램은 시간이 얼마 지나야 닫히게 된다. 기다린다고 응답 없는 프로그램이 다시 살아나는 것도 아니므로 이 시간을 무시하고 바로 끄자.
시작 → 실행에서 regedit 라고 쓰고 엔터키를 치면 레지스트리 편집기가 뜬다.
HKEY_CURRENT_USER\Control Panel\Desktop에서 HungAppTimeout를 왼쪽 마우스로 두 번 눌러 1000으로 고치면 된다.

56. 내가 쓰는 윈도우즈 XP가 정품일까?
윈도우즈 XP는 불법 복제를 쓰지 못하게 인터넷으로 정품 등록을 한다. 이것을 흔히 ‘인증을 받는다’고 한다. 하지만 인증을 받지 않고도 정품처럼 쓰는 불법 OS가 널리 퍼져 있다. 정품인데도 인증을 받지 않으면 적어도 30일 동안 작동한다. 과연 내가 쓰는 윈도우즈 XP는 인증을 받은 것일까?
시작 → 실행 → oobe/msoobe /a라고 치면 인증 창이 뜬다.

정상적인 OS이면 그림처럼 인증을 받았다는 메시지가 보인다.

57. MSN 메신저를 지우자
프로그램 추가/제거에서는 MSN 메신저를 지울 수 없다. 지우고 싶다면 시작 → 프로그램 → 보조프로그램에 있는 메모장으로 c:\windows\servicepackfiles\sysoc.inf 파일을 연다.
msmsgs=msgrocm.dll,OcEntry,msmsgs.inf,hide,7이라고 되어 있는 줄을 찾은 뒤,
msmsgs=msgrocm.dll,OcEntry,msmsgs.inf,7로 바꿔주면 시작 → 제어판 → 프로그램 추가/제거 → windows 구성요소 추가/제거에 MSN 메신저 체크박스가 뜬다. 이 박스를 끄면 MSN 메신저를 지울 수 있다.

MSN 메신저를 쓰지 않는다면 이 곳에서 지우면 된다.

58. L2 캐시 매만져 PC를 재빨리 돌리자
윈도우즈 XP는 CPU의 L2 캐시를 알아채 PC를 재빨리 돌린다. 하지만 데이터가 많아지거나 멀티태스킹을 할 때 캐시를 읽지 못해 순간적으로 느려질 때가 있다. 캐시를 고정시켜 운영체제가 일일이 캐시 메모리를 찾는 수고를 덜어주자.
시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management를 찾은 뒤 SecondLevelDataCache를 고른다.
그 다음 내 CPU에 맞는 캐시를 넣으면 된다. 바탕화면에 있는 ‘내 컴퓨터’를 누른 뒤 오른쪽 메뉴를 불러와 ‘속성’을 누르면 내 CPU 정보가 뜬다.

59. 다이렉트 X의 최신 버전 깔기
시작 → 실행에서 dxdiag라 쳐 넣고 엔터를 치면 다이렉트 X 버전 뿐 아니라 갖가지 정보가 뜬다. 다이렉트 X가 8.1 이하가 깔려있다면 9.0을 새로 까는 것이 좋다. 게임속도가 재빨라지기 때문이다. 다이렉트 X 9.0을 내려받고 싶다면 시작 → windows update에서 인터넷 익스플로러 창이 뜨면 ‘업데이트 검색’을 누른 다음 중요 업데이트 및 서비스 → 업데이트 검토 및 설치를 눌러 ‘지금 설치’를 누르면 된다.

다이렉트 X 9.0이상이 깔려있는지 확인하자.

60. 인터넷 익스플로러를 전체 화면으로 보자
인터넷 익스플로러를 전체 화면으로 시원시원하게 보는 방법이 있다.
인터넷 창을 띄우고 F11 키를 눌러도 되지만 항상 전체 화면으로 띄우려면 레지스트리를 매만져야 한다. 시작 → 실행 → regedit 라고 누르면 레지스트리 편집기가 뜬다.
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main 으로 간 다음 오른쪽 창에서 FullScreen을 찾는다.
FullScreen을 두 번 눌러 no를 yes로 바꾸면 된다
Posted by 1010
98..Etc/Etc...2008. 7. 24. 10:18
반응형

Table of Contents

Why Multi-Clipboard?

Every developer knows that copy and paste is not good for your code. Every developer I've ever seen uses copy and paste. On some editors and IDEs, copy and paste is better than on others. I have always missed the emacs-like rolling clipboard. This is why the Multi Clipboard was written.

What is Multi-Clipboard?

Multi Clipboard gives you a clipboard for text- and source-code editor contents that holds multiple entries. You can collect some snippets by adding them to the Multi Clipboard and then paste any of them to where you need them.

You can configure the plug-in to save the contents of your Multi Clipboard to a file when Eclipse is closed. Contents are then reloaded when Eclipse is opened. You can even configure the plug-in to enable editing the contents of the Multi Clipboard.

What are the license terms?

Multi-Clipboard is distributed under the Eclipse Public License, v 1.0. You can find the license details online at http://www.eclipse.org/legal/epl-v10.html.

The license is an Open Source license. The source can be found here as a zip-file for download.

I hope the plug-in serves you well. In case you find any problems with using it, have ideas for additional useful features or any other comments, contact me.

Rate it, publish feedback...

If you like the plug-in or you have comments to make: let others know! Multi-Clipboard is listed on eclipse-plugins.info and on eclipseplugincentral.com. Both sites allow commenting and rating plug-ins. On eclipse-plugins.info, you need to be a registered user to rate plugins - register and rate Multi-Clipboard!. On eclipseplugincentral.com, you can rate the plugin anonymously - go here.

What's new?

Release 2.1.1

This is a patch because 2.1.0 was compiled under Java 5 leading to problems with users using JRE 1.4. No functional differences compared to 2.1.0 - Sorry for the trouble!

Release 2.1.0

  • Now compatible with most editors (also html-, xml- and other structured editors)
  • Added option to insert to a specific slot in the clipboard
  • Added option append new entries rather than pushing them from the top

Release 2.0.0

  • Adds a dialog ('quick-view') for the MC-contents (Ctrl+Shift+V)
  • Changed license to EPL v1.0 (Open Source!)

Installation

Click here for help on how to install the feature in Eclipse (for Eclipse-fluent users: you need an update-site with URL http://www.bastian-bergerhoff.com/eclipse/features, everything else is standard).

Alternatively, you may directly download the jar-file from the following links. Unpack it to the plugins-directory of your eclipse-installation into a directory called the same as the jar (without the extension, of course). Note that plugins installed in this way can not be managed using the Eclipse Configuration-Management tools.

Current Release

Version 2.1.1

Source (as of version 2.0.0)

Version 2.1.0 and 2.1.1 (no source changes)

Version 2.0.0

Archive

Version 2.1.0

Version 2.0.0

Version 1.1.0

Version 1.0.1

Posted by 1010
98..Etc/Etc...2008. 7. 24. 10:17
반응형
Features
  • Easy to use interface
  • Search and paste previous copy entries
  • Keep multiple computer's clipboards in sync
  • Data is encrypted when sent over the network
  • Accessed from tray icon or global hot key
  • Select entry by double click, enter key or drag drop
  • Paste into any window that excepts standard copy/paste entries
  • Display thumbnail of copied images in list
  • Full Unicode support (display foreign characters)
  • UTF-8 support for language files (create language files in any language)
  • Uses sqlite database (www.sqlite.org)
Download - Version 3.15.4

Download Standard Install

Download Portable (zip file)

Download Source

Help File

http://ditto-cp.sourceforge.net/Help

Posted by 1010
98..Etc/Etc...2008. 7. 16. 10:51
반응형

VNC Server 설정 및 사용

 


1. VNC 개요


VNC(Virtual Network Computing)는 원격 서버의 X윈도우 데스크탑 환경을 네트워크를 통해 자신의 컴퓨터에 출력하여 사용할 수 있게 하는 기능을 제공합니다.

VNC 접속에는 Server와 Client 개념으로 접속을 하므로, 접속을 시도하는 원격지 컴퓨터가 Client가 되며, Client의 화면에 보여지는 내용, 즉 실제 작업이 이루어지는 공간이 Server에 해당됩니다.


현재 한소프트 리눅스 2005 Workstation에 포함되어 있는 VNC는 X환경의 차이로 인해 동작하는데 일부 문제가 있습니다.

XFree86 (기존의 X환경 도구)이 4.4 버전부터 라이센스가 변경되어 더 이상 오픈 소스로서 이 도구를 사용하지 못하게 되자, freedesktop.org에서 xorg라는 이름으로 X환경 도구를 재배포하게 되었으며, 한소프트 리눅스에서는 이 xorg를 기본 X환경 도구로 채택하여 사용하고 있는데, 여기서 xorg와 VNC의 호환에 약간의 문제가 발생하였기 때문입니다.


환 경 변화에 따른 과도기적인 현상으로 VNC 새 버전에서는 이러한 현상들이 수정되리라 생각되지만, 일단 현재의 시스템에서 VNC를 사용하기 위해서는 한소프트 리눅스에 기본 포함되어 있는 VNC(realvnc) 보다는 tightvnc를 사용하기를 권장합니다.


[참고 Site]

http://www.tightvnc.org/download.html
http://rpm.pbone.net/ 에서 tightvnc-server 로 검색


위 사이트에서 VNC 서버를 다운받아서 설치합니다.
tightvnc -server의 경우 이전 XFree86과의 의존성 문제 등으로 설치 시 오류가 발생할 수도 있는데, 이때는 --force --nodeps 옵션으로 강제로 설치합니다. 테스트 결과 강제로 설치해도 사용에 별 문제가 없었습니다.

 


2. VNC 설치

아래의 순서대로 기존에 설치되어 있는 VNC를 삭제하고 tightvnc 프로그램을 설치합니다.


① 기존에 설치된 VNC 프로그램이 있는지 확인하고, 있다면 삭제합니다.

[기존 VNC 프로그램 확인 및 제거]

[root@localhost ~]# rpm -qa | grep vnc

vnc-4.0-9

vnc-server-4.0-9

[root@localhost ~]# rpm -e vnc vnc-server


② 앞서 설명한 참고 Site에서 tightvnc 프로그램을 다운 받습니다.

[TightVNC 다운로드]

tightvnc-1.2.9-1.i386.rpm           # Client용 프로그램

tightvnc-server-1.2.9-1.i386.rpm    # Server용 프로그램


③ Server쪽 시스템과 Client쪽 시스템 각각에 해당 프로그램들을 설치합니다.

[Server용 프로그램 설치]

[root@localhost ~]# rpm -Uvh tightvnc-server-1.2.9-1.i386.rpm

오류: Failed dependencies:

        XFree86 is needed by tightvnc-server-1.2.9-1

[root@localhost ~]# rpm -Uvh tightvnc-server-1.2.9-1.i386.rpm --nodeps --force

준비 중...                  ################################# [100%]

   1:tightvnc-server        ################################# [100%]

[Client용 프로그램 설치]

[root@localhost ~]# rpm -Uvh tightvnc-1.2.9-1.i386.rpm

준비 중...                  ################################# [100%]

   1:tightvnc               ################################# [100%]




3. VNC 설정 및 구동


(1) 서버 설정 및 구동


Client에서 Server 접속 시 서버에서 인증할 VNC 비밀번호를 6자리 이상으로 설정합니다.

[VNC 패스워드 설정]

[root@localhost ~]# vncpasswd

Using password file /root/.vnc/passwd

VNC directory /root/.vnc does not exist, creating.

Password:

Verify:

[root@localhost ~]#

※ 위 명령을 실행하면, 해당 계정의 홈디렉토리 아래에 .vnc라는 디렉토리가 생성되고, 이 안에 있는 passwd 파일에 앞서 입력한 패스워드가 암호화되어 저장됩니다.


이후에 아래와 같은 vncserver 명령어로 VNC 서버를 가동합니다.

[VNC 서버 가동]

[root@localhost .vnc]# vncserver

New ''X'' desktop is localhost.localdomain:3

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/localhost.localdomain:3.log

[root@localhost .vnc]#

위와 같이 vncserver를 가동하면 해당 계정 홈디렉토리의 .vnc 아래에 xstartup 파일과 log 파일이 생성됩니다.

xstartup은 Client에서 VNC 서버로 접속할 때 사용하는 X환경 초기화 실행스크립트이며, log는 접속 결과를 저장하는 파일입니다.


보통 리눅스 부팅 시 런레벨(Run-Level) 5로 X윈도우 환경을 띄우는 경우 디스플레이(Display) 0번을 사용합니다.

여기서 VNC 서버를 실행하면 이미 로딩된 디스플레이에서 순차적으로 번호를 증가하며 Xvnc를 띄웁니다.

vncserver 명령을 여러번 실행하면, 그때마다 순차적으로 증가된 번호로 vncserver가 가동됩니다.

위의 예에서는 ''localhost.localdomain:3''으로 표시되어 있는 것을 볼 때, vncserver를 3번 실행했을 때의 화면임을 알 수 있습니다.

이렇게 3개의 vncserver가 가동되면 Client에서 원격 접속 시 3개의 루트로 각각 접속할 수 있게 되겠죠.


그리고, /tmp 디렉토리 아래에 외부에서 접속했을 때 임시로 사용되는 디렉토리가 생성됩니다.

[VNC 임시 디렉토리]

/tmp/.X11-unix/X0

/tmp/.X11-unix/X1

/tmp/.X11-unix/X2

/tmp/.X11-unix/X3



참고

※ 추가 설정

위의 설정만으로도 VNC에 정상적으로 접속할 수 있습니다만, 좀 더 다양한 설정을 위해 /usr/bin/vncserver 파일을 직접 수정할 수도 있습니다.

[VNC Server 상세 설정]

$geometry = "1024x768";

$depth = 24;

$desktopName = "X";

$vncClasses = "/usr/share/vnc/classes";

$vncUserDir = "$ENV{HOME}/.vnc";

$fontPath = "unix/:7100";

......

$cmd = "Xvnc :$displayNumber";

$cmd .= " -desktop " . &quotedString($desktopName);

$cmd .= " -httpd $vncClasses";

$cmd .= " -auth $xauthorityFile";

$cmd .= " -geometry $geometry" if ($geometry);

$cmd .= " -depth $depth" if ($depth);

$cmd .= " -pixelformat $pixelformat" if ($pixelformat);

$cmd .= " -rfbwait 120000";

$cmd .= " -rfbauth $vncUserDir/passwd";

$cmd .= " -rfbport $vncPort";

$cmd .= " -fp $fontPath" if ($fontPath);

$cmd .= " -co $colorPath" if ($colorPath);



(2) 클라이언트 설정 및 구동


앞서 다운 받은 rpm 파일 중 Client용 프로그램을 설치하였다면, 클라이언트 PC에서 아래와 같은 명령으로 VNC Viewer를 실행합니다.

[VNC Viewer 실행 (1)]

[root@localhost ~]# vncviewer &


  

콘솔창에서 "vncviewer &" 명령을 실행하면, 접속할 서버의 IP 주소 및 Password를 입력하는 창이 나타나며, 정상 입력되면 아래 그림과 같이 서버의 화면이 나타나게 됩니다.


또는 아래와 같이 콘솔창에서 "192.168.179.138:1"과 같이 바로 입력해도 됩니다.

IP뒤에 붙는 숫자는 앞서서 vncserver를 여러 개 띄운 것과 같이 접속할 수 있는 vncserver 번호로 이해하시면 되겠습니다.

[VNC Viewer 실행 (2)]

[root@localhost root]# vncviewer 192.168.179.138:1

VNC server supports protocol version 3.3 (viewer 3.3)

Password:

VNC authentication succeeded

Desktop name "root''s X desktop (localhost.localdomain:1)"

Connected to VNC server, using protocol version 3.3

VNC server default format:

  32 bits per pixel.

  Least significant byte first in each pixel.

  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0

Using default colormap which is TrueColor.  Pixel format:

  16 bits per pixel.

  Least significant byte first in each pixel.

  True colour: max red 31 green 63 blue 31, shift red 11 green 5 blue 0

Using shared memory PutImage



4. VNC 종료


위와 같이 VNC에 접속하여 여러 가지 작업을 마친 후 종료할 때,

VNC Viewer는 그냥 창만 닫으면 되지만, Server의 경우는 아래의 명령과 같이 해당 데몬을 종료해야 합니다.


[VNC 서버 종료]

[root@localhost ~]# vncserver -kill :1

Killing Xvnc process ID 15618

[root@localhost ~]#

위의 명령은 1번 vncserver를 종료하는 방법입니다.


~/.vnc/localhost.localdomain:1.pid 파일에서 1번 vncserver의 PID 값을 확인하여, 해당 프로세스를 종료하게 됩니다.

만약 강제로 프로세스를 죽이거나 비정상적인 종료를 하였다면 다음번 vncserver를 실행할 때 위의 PID 파일을 참조하여 경고 메시지를 보여주게 됩니다.

이 런 경고 메시지를 보이지 않게 하려면, ~/.vnc/ 경로 아래에 있는 vncserver 관련 파일들 중, 해당 번호의 pid 및 log 파일을 삭제하고, /tmp/.X11-unix/ 아래에서 vncserver가 사용하던 파일들을 삭제해주면 됩니다.


5. 기타


VNC Server의 서비스 데몬은 아래와 같은 명령으로 가동할 수 있습니다.

[VNC Server 서비스 데몬 가동]

[root@localhost ~]# /etc/init.d/vncserver restart

Shutting down VNC server:                                  [  OK  ]

Starting VNC server:                                       [  OK  ]

[root@localhost ~]#



참고

위의 서비스를 시스템 가동 시에 자동으로 실행하기 위해서는 ntsysv를 실행하여 vncserver에 체크해 줌으로써 가능해 집니다.

만약 ntsysv를 실행하였을 때, vncserver 항목이 보이지 않는다면, 아래 명령으로 vncserver 항목을 추가해 줍니다.

[ntsysv 항목 추가]

[root@haansoft ~]# chkconfig --add vncserver


이렇게 서비스 데몬이 가동된 다음, 앞서 보았던 vncserver의 각 서비스를 하나씩 가동해 주는 것입니다.

(vncserver는 가동될 때마다 숫자가 증가되어 붙으므로, 이 숫자로 구별할 수 있습니다.)

vncserver의 각 서비스도 자동으로 실행하고 싶다면, /etc/sysconfig/vncservers 파일에 아래와 같은 내용을 추가합니다.

[VNC Server 개별 서비스 자동 설정]

VNCSERVERS="1:root 2:haansoft 3:haansoftlinux"

위 의 내용은 1번 vncserver에는 root 계정으로 접속을 허용하고, 2번 vncserver에는 haansoft 계정으로, 3번 vncserver에는 haansoftlinux 계정으로의 접속을 허용하도록 미리 설정해 놓는 것입니다.

위와 같은 형식으로 원하는 숫자만큼의 사용자를 미리 지정해 둘 수 있습니다.


-----------------------------------------------------

이글의 출처는 http://www.haansoftlinux.com/ 입니다.

Posted by 1010
98..Etc/Etc...2008. 7. 14. 12:37
반응형
cmd -> nslookup -> url ->
Posted by 1010
98..Etc/Etc...2008. 7. 14. 12:20
반응형

A First Look at Oracle 11g database on Debian GNU/Linux

Three and half years have passed since my first attempts to install Oracle 10g on an unsupported Debian GNU/Linux distribution. Seeing that Oracle 11g is out, and exclusively for Linux at this time, I decided to download it among the first and see and share with you what it's installation looks like.

The distribution can be downloaded from the Oracle Database Software Downloads page, but let me warn you upfront that the archive is 1.7GB in size, so you'll need quite a big pipe to successfully download it. What makes it even harder is that Oracle insists that you download it from browser window (Wget and similar utilities won't work out of the box, although there are some tricks that can be deployed), so be prepared to have that browser window open for a long time and prey that download doesn't break along the way.

I won't go into details with preparation tasks (stuff you need to do even before you launch the installer), because that is very well documented (Oracle database has great, although a bit overwhelming, documentation). When you unpack the zip archive, you can access the documentation with your browser (iceweasel welcome.html). Suffice to say that you at least have to create an oracle user and group, and recheck you shared memory parameters.

./runInstaller

OK, so after we have launched the installer, we're greeted with the welcome window which gives us opportunity to change the default installation directory, and tune some other aspects of this installation.

I chose the option to create the Starter Database, to see how it works. But at this time I skipped the option to do the Advanced Installation. Some more configuration windows follow, be sure to pick appropriate paths for your new install.

Finally, we reach the step where Oracle checks some system parameters (Prerequisites Check) where it finds that the install is not running on a certified Linux distribution. But it's quite cleverly architected, the installation doesn't break, instead it forces you to confirm that is really what you want. I liked it, readily checked the needed boxes, so that installation could continue.

Before the disk crunching part starts, we have yet another nice summary screen to recheck all the parameters we've given to the installer.

What follows is 15-30 minutes of installing, linking, setting up and configuring of software packages. Go make yourself a cup of tee, there is nothing you need to do until the copying is over. :)

Near the end of the installation, when database configuration assistant and other assistants are launched, I got my first error.

Actually a warning, because everything continued to work correctly after that (not a showstopper, it seems). Peeking into suggested log file revealed that it was an Java exception:

CONFIG: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: Error starting Database Control
        at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:868)
        at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:249)
        at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:212)
        at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:234)
        at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:460)
        at java.lang.Thread.run(Thread.java:595)

Nevertheless, after accepting that error, we're greeted with a window that suggests the installation went OK.

Next step is to run two scripts as a superuser. Don't worry, Oracle won't make much trouble to your fine administered Debian machine, it'll copy just a few files to /usr/local/bin, /etc and /opt directories and all are easy to found, should you later decide to uninstall the database.

And that's it, happy end. If you don't believe me, here's the last window you'll see before you're back to prompt.

And yes, your new development database is already started and happily running:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
oracle    6389  0.0  0.4  51768  8868 ?        Ssl  18:12   0:00 /ext/oracle/app/or
oracle    6873  0.0  0.7 961116 15148 ?        Ss   18:17   0:00 ora_pmon_orcl
oracle    6875  0.0  0.6 960504 12616 ?        Ss   18:17   0:00 ora_vktm_orcl
oracle    6879  0.0  0.6 960504 12504 ?        Ss   18:17   0:00 ora_diag_orcl
oracle    6881  0.0  0.8 960504 18352 ?        Ss   18:17   0:00 ora_dbrm_orcl
oracle    6883  0.0  0.6 960504 12688 ?        Ss   18:17   0:00 ora_psp0_orcl
oracle    6887  0.0  0.7 961016 14704 ?        Ss   18:17   0:00 ora_dia0_orcl
oracle    6889  0.0  1.3 960504 27208 ?        Ss   18:17   0:00 ora_mman_orcl
oracle    6891  0.0  3.1 963060 65828 ?        Ss   18:17   0:00 ora_dbw0_orcl
oracle    6893  0.0  1.6 976056 34380 ?        Ss   18:17   0:00 ora_lgwr_orcl
oracle    6895  0.0  0.8 961016 17264 ?        Ss   18:17   0:00 ora_ckpt_orcl
oracle    6897  0.0  4.2 963208 88620 ?        Ss   18:17   0:00 ora_smon_orcl
oracle    6899  0.0  0.8 960504 17544 ?        Ss   18:17   0:00 ora_reco_orcl
oracle    6901  0.0  2.9 965284 61748 ?        Ss   18:17   0:00 ora_mmon_orcl
oracle    6903  0.0  0.8 960504 16644 ?        Ss   18:17   0:00 ora_mmnl_orcl
oracle    6905  0.0  0.6 961080 12748 ?        Ss   18:17   0:00 ora_d000_orcl
oracle    6907  0.0  0.5 961068 12312 ?        Ss   18:17   0:00 ora_s000_orcl
oracle    6917  0.0  1.1 962052 23184 ?        Ss   18:17   0:00 ora_fbda_orcl
oracle    6919  0.0  0.6 960504 12880 ?        Ss   18:17   0:00 ora_smco_orcl
oracle    6921  0.0  0.8 960504 16760 ?        Ss   18:17   0:00 ora_qmnc_orcl
oracle    6935  0.0  1.2 967312 25428 ?        Ss   18:17   0:00 ora_w000_orcl
oracle    7011  0.0  1.6 965128 34660 ?        Ss   18:17   0:00 ora_cjq0_orcl
oracle    7013  0.0  1.3 962072 28596 ?        Ss   18:17   0:00 ora_q000_orcl
oracle    7015  0.0  0.9 960500 18984 ?        Ss   18:17   0:00 ora_q001_orcl
oracle    9852  3.3  9.3 918012 194428 pts/1   Sl   18:18   0:30 /ext/oracle/app/or
oracle    9935  0.0  1.5 962128 32292 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle    9939  0.0  1.7 963172 35360 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10381  0.0  2.3 964172 47904 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10384  3.6  4.3 973416 90640 ?        Ss   18:18   0:32 oracleorcl (LOCAL=
oracle   10387  0.0  2.5 963180 51980 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10390  0.0  1.5 962104 32288 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10394  0.0  2.5 963156 52124 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10397  0.0  2.0 963152 43256 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   11826  0.1  1.2 962084 25372 ?        Ss   18:33   0:00 ora_j000_orcl

[/ext/oracle/app/oracle]# du -sm *
1       admin
1       cfgtoollogs
3       diag
1       flash_recovery_area
1613    oradata
3417    product

The database obviously needs quite a lot of resources to run, so be sure to install it on an adequate machine (at least 1GB RAM, 10GB of free disk space and so on...). Happy hacking!

Related:
Oracle10g on Debian Linux HOWTO

Posted by 1010
98..Etc/Etc...2008. 7. 11. 17:50
반응형

String ref = request.getHeader("REFERER");

ref에 변수에 호출된 URL정보가 들어갑니다.

ref값이 null일 경우가 있는데 이는 브라우저 URL입력창에 입력 호출했을때는
null이 됩니다.

위의 방법을 이용해 자신의 컨텐츠가 무단 도용당하는걸 막거나 할때 유용하게 쓸수 있습니다.





레퍼러값을 체크하는 방법 2가지 입니다. 먼저, 레퍼러값이 null 값일경우 Default.aspx 페이지로 리다이렉팅. 만일 레퍼러값이 있을경우 현재, 사이트의 도메인과 레퍼러주소의 도메인이 다를경우 다시 Redirect 를 합니다. 바로 Redirect 를 해도 되지만, 자바스크립트로 Alert 를 띄운후 처리..
public void UrlReferrerCheck(string refferUrl)
{
     if(Request.UrlReferrer == null)
          {
 string script = "< script>alert('직접 접근할 수 없습니다!!');" +
       "location.href='/Default.aspx';";
 Page.RegisterClientScriptBlock("done", script);
 //Response.Redirect(refferUrl);
 
          }
          else
          {
 string refer = Request.UrlReferrer.ToString();
 string ServerPath = Request.Url.ToString();
 ServerPath = ServerPath.Substring(0,ServerPath.LastIndexOf("/"));

 if(refer.IndexOf(ServerPath) == -1)
 {
      string script = "< script>alert('직접 접근할 수 없습니다!!');" +
            "location.href='/Default.aspx';";
      Page.RegisterClientScriptBlock("done", script);
      //Response.Redirect(refferUrl);
 }
          }
}




<%@ page contentType="text/html; charset=MS949"  %>
<%
    String referer = request.getHeader("Referer");
    String url = request.getRequestURL().toString();
    String ctxPath = request.getContextPath();
    int port = request.getServerPort();
    String host = request.getServerName();
    String tmp = "";
    if (port == 80) {
        tmp = "http://" + host + ctxPath;
    }
    else {
        tmp = "http://" + host + ":" + port + ctxPath;
    }

    if (referer == null) {
%>
<HTML>
<HEAD><TITLE>Sorry</TITLE></HEAD>
<BODY>
<CENTER>

       Sorry... <br />
       <font color=red>URL 주소 직접 치고 들어 오지 마세요...</font>

</CENTER>
</BODY>
</HTML>
<%
        return;
    }
    else if (!url.startsWith(tmp)) {
%>
<HTML>
<HEAD><TITLE>Sorry again</TITLE></HEAD>
<BODY>
<CENTER>

       Sorry again... <br />
       <font color=red>다른데서 여기를 링크 걸지 마세요...</font>

</CENTER>
</BODY>
</HTML>
<%
        return;
    }
%>

<HTML>
<HEAD><TITLE>Success</TITLE></HEAD>
<BODY>
<CENTER>

       <font color=blue>성공!!</font> <br /> <br />
       <font size=+2 color=blue>환영!!</font>

</CENTER>
</BODY>
</HTML>
 
 
 
 
 PHP
if (!eregi($_SERVER['HTTP_HOST'], $_SERVER['HTTP_REFERER'])){
 echo "<SCRIPT>alert('외부접근을 허용하지않습니다.');".$parent."location.href='javascript:history.go(-1);';</SCRIPT>"; exit;
}

ASP
Request.ServerVariables("HTTP_REFERER")

Posted by 1010
98..Etc/Etc...2008. 7. 10. 14:13
반응형
<?xml version="1.0" encoding="UTF-8"?> 
<bookmarks> 
   <site name="Spring IDE updatesite" url="http://springide.org/updatesite/" web="false" selected="false" local="false"/> 
   <site name="Aptana" url="http://update.aptana.com/install/3.2/" web="false" selected="false" local="false"/> 
   <site name="RDT" url="http://updatesite.rubypeople.org/release" web="false" selected="false" local="false"/> 
   <site name="RadRails" url="http://radrails.sourceforge.net/update" web="false" selected="false" local="false"/> 
   <site name="JavaFX Plugin Update Site" url="http://download.java.net/general/openjfx/plugins/eclipse/site.xml" web="false" selected="false" local="false"/> 
   <site name="Eclipse Visual Editor" url="http://update.eclipse.org/tools/ve/updates/1.0" web="false" selected="false" local="false"/> 
   <site name="jMaki Plugin Updates" url="https://ajax.dev.java.net/eclipse" web="false" selected="false" local="false"/> 
   <site name="Visual Editor update site" url="http://update.eclipse.org/tools/ve/updates/1.0/" web="false" selected="false" local="false"/> 
   <site name="Azzurri Plugins (DB ER 작성)" url="http://www.azzurri.co.jp/eclipse/plugins" web="false" selected="true" local="false"/> 
   <site name="m2eclipse" url="http://m2eclipse.codehaus.org/update/" web="false" selected="false" local="false"/> 
   <site name="Subversive SVN connectors update site 2.0.x" url="http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/" web="false" selected="true" local="false"/> 
   <site name="The Eclipse Project Updates" url="http://update.eclipse.org/updates/3.3" web="false" selected="false" local="false"/> 
   <site name="Subversive SVN connectors update site 2.0.x" url="http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/" web="false" selected="false" local="false"/> 
   <site name="Europa Discovery Site" url="http://download.eclipse.org/releases/europa" web="false" selected="false" local="false"/> 
   <site name="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates" web="false" selected="false" local="false"/> 
   <site name="Dali Java Persistence API Tools (JPA) Updates" url="http://download.eclipse.org/webtools/updates/" web="false" selected="false" local="false"/> 
   <site name="Data Tools Platform (DTP) Updates" url="http://download.eclipse.org/datatools/updates" web="false" selected="false" local="false"/> 
   <site name="EMF Service Data Objects (SDO) Updates" url="http://download.eclipse.org/modeling/emf/updates/" web="false" selected="false" local="false"/> 
   <site name="Eclipse Modeling Framework Technologies (EMFT) Updates" url="http://download.eclipse.org/technology/emft/updates/" web="false" selected="false" local="false"/> 
   <site name="Graphical Editing Framework (GEF) Update Site" url="http://download.eclipse.org/tools/gef/update-site/releases/site.xml" web="false" selected="false" local="false"/> 
   <site name="Subversive update site 0.7.x (Incubation)" url="http://download.eclipse.org/technology/subversive/0.7/update-site/" web="false" selected="false" local="false"/> 
   <site name="Spring IDE" url="http://springide.org/updatesite" web="false" selected="false" local="false"/> 
   <site name="Model Developement Tools (MDT) Updates" url="http://download.eclipse.org/modeling/mdt/updates/" web="false" selected="false" local="false"/> 
   <site name="Mylyn Extras" url="http://download.eclipse.org/tools/mylyn/update/extras" web="false" selected="false" local="false"/> 
   <site name="Mylyn" url="http://download.eclipse.org/tools/mylyn/update/e3.3" web="false" selected="false" local="false"/> 
</bookmarks> 
Posted by 1010