전체 글 265

Key Binding 바꾸기

기존 binding은 org.eclipse.ui.contexts.window 을 통해 이루어 진다. 1. 새 context 를 생성하여 parentId 를 org.eclipse.ui.contexts.window 로 함 2. org.eclipse.ui.bindings 에 새 key binding 추가 - contextId를 새로만든 contextId 로 지정하고 commandId 를 적절히 지정한다. (연결할 command) 3. context 를 바꿔줘야 한다. (기존 책이나 pdf 등에 나오질 않음) - workbench 가 생성된 이후에 아래 코드를 호출하여 바꿔준다. PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { public v..

XML-RPC Java / Android 개발 환경 구축

XML-RPC Spec. http://www.xmlrpc.com/ Apache XML-RPC Java Lib. http://ws.apache.org/xmlrpc/ Android XML-RPC Lib. (Java) http://code.google.com/p/android-xmlrpc/ ws-commons-java5-1.0.jar (JDK 5 이전 버전에서 JDK 5의 클래스를 이용하기 위한 class) http://mirrors.ibiblio.org/pub/mirrors/maven2/ws-commons-java5/ws-commons-java5/1.0/ws-commons-java5-1.0.jar Retrotranslator (JDK 5 이후 class, jar 들을 이전 버전 호환으로 만들어 주는 툴) h..

RMI Trouble Shooting

* 포트 사전 점검 RMI는 별다른 지정이 없으면, 기본적으로 2개의 포트를 쓴다. local이 아니라면, OS/NW 방화벽 확인해야 한다. 1) rmiregistry: 1099 1099에서 다른 포트로 변경시 rmiregistry [port] 로 실행 2) rmi server(implemented): random rmi server 의 생성자에서 super(port) 로 임의 포트 지정 가능 1. Connection 에러 1) rmiregistry 에러 이미 다른 rmiregistry가 떠있거나 1099 포트가 사용 중이므로, 기존것 kill 하거나 다른 포트로 open 2) server 가 즉시 timeout 되며 에러 메시지가 떨어짐 rmiregistry 실행 확인 3) rmi server 시작이 ..

카테고리 없음 2011.01.28

RMI 개발 지원 도구

1. RMI Plug-in for Eclipse (http://www.genady.net/rmi/v20/downloads.html) Eclipse 에서 RMI 관련 개발시 must-use(?) 플러그인이다. 자동으로 skel, stub 파일을 생성해주고, rmiregistry를 버튼으로 실행시킬 수 있게 지원해주는 플러그인. 현재 2.0까지 나와있고, 개인에 한해 4개월까지 무료로 체험해볼 수 있다. (.metadata 지우고 재설치로 갱신도 가능한 듯) 일반 java 프로젝트 생성후에 .settings에 net.genady.rmi.prefs 파일을 아래 내용으로 생성해주면, 프로젝트에서 RMI 관련 기능을 사용할 수 있다. (stubsVersion=2 로 하면 skel파일은 필요없는 듯 하다. jdk ..

카테고리 없음 2011.01.28

웹브라우저 동작 분석 및 흉내내기 소개 (로그인 과정으로 살펴보는)

특정 작업 자동화시에 로그인과 같은 인증 과정이 반드시 필요할 때 사용할 수 있는 방법이다. 1. HttpWatch 같이 전송 내용을 살펴볼 수 있는 프로그램을 설치한다. 2. 원하는 사이트에 로그인 하기 전에 HttpWatch 의 Record 버튼을 누른다. 3. 로그인 하면, 전송 정보가 남게 된다. 4. Stop 누르고 어떤 페이지를 거쳐갔고, 어떤 정보를 주고 받았는지 확인한다. (Stream 탭을 보면 Request, Response Header를 볼수 있다.) 5. 이 Header 정보를 이용하여 브라우저를 통한 정상 로그인 절차를 흉내낼 수 있다. [Request] POST [서버주소를 제외한 파일전체경로] HTTP/1.1 Accept: image/gif, image/x-xbitmap, im..

카테고리 없음 2011.01.26

Apache + Tomcat + Python + ... (vhost)

웹서버인 Apache 에 각종 Connector 를 이용해 다른 서버(WAS)들을 붙일 수 있다. [APACHE_HOME/conf/httpd.conf] 1. 모듈 Load LoadModule jk_module modules/mod_jk.so # Apache - Tomcat LoadModule python_module modules/mod_python.so # Apache - Python 2. 모듈 설정 JkWorkersFile conf/workers.properties JkShmFile d:/logs/httpd_jkshm.log JkLogFile d:/logs/httpd_jklog.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" * 만약 별도..

카테고리 없음 2011.01.17

SSH 터널링

서버 - 클라이언트간 통신을 암호화하여 강화된 보안 레벨로 이용할 수 있게 해주는데 목적이 있다. 실제로 암호화 하지 않은 FTP 프로토콜 같은 경우 중간에서 ID / PASSWORD 를 평문으로 확인가능하다. 준비물 1. SSH Tunnel 역할을 할 중간 클라이언트 (한가지만 있어도 됨) 1) Bitvise Tunnelier - GUI를 지원하며, 개인 사용자의 경우 무료이다. - 사용하기 쉽다는 점, 트레이에 상주하여 창을 번거롭게 띄워놓을 필요가 없다는 것, 지속적인 연결 모니터링이 가능하다는 것에 큰 점수를 주고 싶다. 2) Putty - 용량이 작고, 개조되지 않은 버전의 경우 별도 설치가 필요없다. 2. SSH 서버 1) WinSSHD - Bitvise Tunnelier 를 만든 곳과 같은 ..

카테고리 없음 2011.01.11

OracleDataSource 를 이용한 Connection Pooling

Java Stored Procedure 에서도 외부 DB 연결시 사용 가능하나, 사전에 아래와 같이 권한이 있어야 함.exec dbms_java.grant_permission('schemaName', 'SYS:java.net.SocketPermission', 'host:port', 'connect,resolve'); package test; import java.sql.*;import javax.sql.PooledConnection;import oracle.jdbc.pool.OracleConnectionCacheManager; import oracle.jdbc.pool.OracleConnectionPoolDataSource; import oracle.jdbc.pool.OracleDataSource;pub..

DB 2010.12.03