PDFview IDEA plugin
IT/idea 2010. 3. 24. 15:01'IT > idea' 카테고리의 다른 글
Intelliji IDEA 10 Community Edition FREE (0) | 2010.12.21 |
---|---|
Code Navigator - IDEA SRC classDiagram 바로보기 (0) | 2009.08.14 |
'IT'에 해당되는 글 47건
PDFview IDEA pluginIT/idea 2010. 3. 24. 15:01PDFViewer 'IT > idea' 카테고리의 다른 글
Setting/Increase JVM heap sizeIT/java 2010. 3. 8. 11:39출처 : http://viralpatel.net/blogs/2009/01/jvm-java-increase-heap-size-setting-heap-size-jvm-heap.html 'IT > java' 카테고리의 다른 글
hex <-> byteIT/java 2010. 1. 11. 14:53'IT > java' 카테고리의 다른 글
maven Lifecycle clean 시 삭제대상 지정하기IT/the other 2009. 12. 30. 10:44삭제대상에서 '포함'하기는 include '제외'하기는 exclude 으로 지정할 수 있다.
사용예) <build><plugins> <!-- Lifecycle clean 시 삭제대상 지정하기 --> <plugin> <artifactId>maven-clean-plugin</artifactId> <configuration> <!-- 사용법:fileSet 에 include 나 exclude 사용하기 --> <filesets> <fileset> <directory>src/main/webapp/WEB-INF/classes</directory> <includes> <include>install.lock</include> </includes> </fileset> </filesets> </configuration> </plugin> 출처 : http://whiteship.tistory.com/1285 'IT > the other' 카테고리의 다른 글
이클립스 새로 설치하고 할일IT/the other 2009. 12. 23. 15:31이클립스 새로 설치하고 할 일 v4
출처 : 와이즈넛 이정우 'IT > the other' 카테고리의 다른 글
window 시스템이 32비트인지 64비트인지 알아내기IT/the other 2009. 11. 11. 16:07How to Check if Windows Vista, XP and 2003 System Is 32-bit or 64-bit (x86 or x64) Version
Method 1
Method 2
Method 3
Method 1
Method 2
Method 3
Method 1
Method 2
'IT > the other' 카테고리의 다른 글
기본용어 디비 CURDIT/db 2009. 10. 26. 09:28CRUD란 Create, Retrieve, Update, Delete의 앞 글자를 따온 단어이다. create,insert,update,delete 라고 보면 되겟다.
참조 : http://planmaster.tistory.com/162 'IT > db' 카테고리의 다른 글
Big-endian 과 Little-endian 구분하기 위한 코드IT/java 2009. 10. 9. 10:58
1. JAVA 코드로 구분하기 import java.nio.ByteOrder; public static void main(String[] args){ 2. C 코드로 구분하기 bool isLittle(void)
'IT > java' 카테고리의 다른 글
오늘 우리는, 자동화 르네상스의 입구에 서 있다.IT/the other 2009. 8. 17. 22:06우리는 여러가지 시행착오와 흐름들을 지나오고 있었다. 메인스트림의 기원을 지켜보고있는거다.. 자바의 급속한 번식과 web2.0, 3.0 의 문이 열리고 동시에 hw의 폭발적인 고성능화를 겪지 않았는가. 개발자여 우리는 자동화 르네상스 그 입구에 서 있다. 결국 SW는 그 책임을 더욱 넓혀가게 될 것이다. 공부하라. 지금 한눈 팔면 전문성에 뒤쳐진다. 'IT > the other' 카테고리의 다른 글
SVN 관련 IDEA 필수 pluginIT/svn 2009. 8. 14. 17:57SVN Report for IntelliJ IDEA SVN bar Subversion Integration 'IT > svn' 카테고리의 다른 글
Code Navigator - IDEA SRC classDiagram 바로보기IT/idea 2009. 8. 14. 17:48Code Navigator 는
패키지 단위로 classDiagram 을 바로 볼수있는 IDEA의 Plugin이다. classDiagram 바로보기 실행결과 다음과 같은 설정이 있다. 물론 설정을 수정하지 않고도 충분히 보기좋은 결과를 얻을 수 있다. 'IT > idea' 카테고리의 다른 글
Derby 사용하기IT/db 2009. 8. 14. 11:16가볍고 빠른 DB를 쓸 일이 있었는데 마침 딱 맞을 것 같아서 고른 Derby. 올해 초에 간단하게 써 보긴 했는데, 제대로 알고 쓰려고 하니 공부할 것이 꽤 많았다. 그래서, 열심히 삽질하면서 공부해서 필요한 걸 거의 3주만에 만들었는데, 그동안 공부한 것을 혹시 그냥 잊어 버리지 않을까 하는 마음에 정리도 할겸, 혹시 필요한 분들이 있으면 도움이 될까 해서 이렇게 글을 남겨 본다. 단, 여기서는 Embedded는 배제하고, Network Server를 중심으로 설명한다.
1. Derby Derby는 관계형 데이터베이스의 하나로 맨 처음 IBM의 Cloudscape라는 이름으로 WebSphere 등에서 사용하다가 Apache에 오픈소스로 공개되면서 Derby라는 이름을 갖게 되었다. 그후 Sun에서 JavaDB라는 이름을 붙여서 배포하게 되었고, JDK 6에 기본으로 포함되어 있다. 무료로 가볍고 간단하게 구성할 수 있으며 안정성이 높다. 다른 오픈소스 DB들에 비해 성능이 좀 떨어지지만 안정성이 우수하다.
2. Derby의 연결방식 - Embedded 방식 : 하나의 JVM 내에 어플리케이션과 DB가 함께 존재하도록 구성하는 방식으로 다른 JVM이나 머신에서는 이 DB에 접근이 불가능하다. - Network Server 방식 : 어플리케이션과 DB가 다른 JVM 또는 프로세스에 존재하도록 구성하는 방식으로 각 인스턴스가 하나의 JVM 내에서 동작하고, 일반적인 JDBC와 똑같은 방식으로 접근이 가능하다. FISS의 경우, FISS_RULE을 비롯해 많은 커넥터들이 각기 다른 JVM으로 떠서 동작하고, 여기서 접근이 가능해야 하므로 Network Server 방식을 사용한다. 그러므로, 이하는 Network Server 방식을 기반으로 설명한다. 참고로, embedded 방식과 Network Server 방식은 JVM 외부에서의 접근가능여부와 Connection URL에서 IP가 들어가는 것 빼곤 사용방법이 동일하다.
3. Derby 인스턴스 기동 org.apache.derby.drda.NetworkServerControl 클래스를 실행시켜 기동(start), 정지(shutdown), 핑(ping) 등의 작업을 수행할 수 있다. java $JAVA_OPTION -classpath $CLASSPATH org.apache.derby.drda.NetworkServerControl start -p 54321 -h 192.168.1.123 -p 옵션은 인스턴스가 사용할 포트를 의미하며, 사용하지 않으면 Derby의 default 포트인 1527을 사용한다. -h 옵션은 인스턴스가 요청을 받을 호스트를 나타내며, 호스트를 설정하면 그 외의 호스트명으로는 접근이 불가능하다. 제한을 두지 않으려면 이 옵션을 사용하지 않는다.
4. DB 연결 및 생성 사용자 계정을 이용한 연결기능도 지원하지만 여기서는 사용하지 않으므로 설명을 생략하고, 계정정보 없이 접속하면 default로 APP라는 스키마를 사용한다. (계정정보를 이용해 접속하면 그 사용자 ID에 해당하는 스키마를 사용하게 된다.) Derby는 특별히 DB를 생성하는 명령이 있지 않고, Connection URL의 끝에 “create=true”를 붙여 주었을 때 이 Connection URL에 해당하는 DB가 있으면 그냥 연결만 하고, 해당 DB가 존재하지 않으면 새롭게 생성한다. Connection URL에 “create=true”가 없을 때 해당 DB가 없으면 연결 오류가 발생한다. Derby에 JDBC 방식으로 연결하기 위한 Connection URL은 다음과 같다.
jdbc:derby://{IP}:{Port}/{DB생성디렉토리}/{DB명};create=true - IP : Derby Network Server가 떠 있는 머신의 IP를 나타내는데, 기동시 -h 옵션을 사용했다면 여기에 사용한 호스트명과 똑같이 입력해야 연결이 가능하다. - Port : Derby Network Server기동할 때 -p 옵션을 사용했다면 여기서 사용한 포트번호를 입력한다. -p 옵션을 사용하지 않았다면 default 포트인 1527을 사용한다. - DB생성디렉토리 : DB파일이 생성되는 디렉토리를 지정하고 싶으면 여기에 설정한다. 단, 디렉토리는 루트부터 시작하는 절대경로를 입력해야 하고, 그렇지 않으면 JVM을 실행하는 디렉토리의 하위디렉토리를 생성하고 거기에 DB파일을 생성한다. 루트부터 입력하므로 유닉스는 슬래쉬(/)가 2번 반복된다. 생략하면 JVM이 실행되는 디렉토리가 default이다. - DB명 : DB명도 되고, DB데이터파일이 저장되는 디렉토리명도 된다. DB생성디렉토리를 설정했으면 그 하위에 디렉토리로 생기고, 그렇지 않으면 JVM이 실행된 디렉토리 아래에 생성된다. - create=true : DB생성디렉토리에 해당 DB명이 있으면 상관없는데, 해당 DB명이 없으면 그 위치에 DB데이터 디렉토리를 자동으로 생성한다. 이 옵션을 사용하지 않으면 해당디렉토리에 해당 DB가 있으면 연결하고, 없으면 오류가 발생한다.
윈도우 예> jdbc:derby://localhost:1527/C:/derby/RULEDB1;create=true UNIX 예> jdbc:derby://localhost:1527//usr/derby/RULEDB1;create=true
JDBC 방식의 연결은 Derby의 JDBC Client 드라이버인 org.apache.derby.jdbc.ClientDriver를 로딩하고 위의 URL을 이용해서 DriverManager.getConnection을 호출하면 된다.
예제 코드> Class.forName(“org.apache.derby.jdbc.ClientDriver”).newInstance(); DriverManager.getConnection(“jdbc:derby://localhost:1527/C:/derby/RULEDB1;create=true”);
그 밖에도 Derby에서 제공하는 DataSource도 이용 가능하다.
참고사항 : 하나의 인스턴스를 통해서 여러 DB에 접근할 수 있다. 하지만, 여러 인스턴스가 동시에 하나의 DB를 사용할 수는 없다. 그러므로, 어떤 DB를 어떤 인스턴스가 사용할지 명확하게 해 두어야 한다. 1527포트의 인스턴스를 통해 ruledb1과 ruledb2를 접근할 수는 있지만, 1527포트의 인스턴스와 1528포트의 인스턴스가 동시에 ruledb1이라는 DB를 접근할 수는 없다는 뜻이다. ※ Derby에 connection을 만들자 마자 autocommit을 false로 설정하는 것이 좋다. 그렇지 않으면, CUD 뿐만 아니라 R 처리에서도 부하가 가해지면 오류가 잔뜩 떨어지면서 문제가 발생한다. 하지만, autocommit을 false로 해 놓으면 꽤 많은 부하가 가해져도 오류없이 잘 처리해낸다. 단, 이렇게 되면 CUD는 무조건 commit, rollback을 해 줘야 한다.
5. 쿼리 수행 일반 JDBC와 동일하다.
참고사항 : Derby에서 가장 빨리 수행될 수 있는 쿼리는 ‘SELECT 1 FROM SYSIBM.SYSDUMMY1’ 이다. SYSIBM.SYSDUMMY1 테이블은 오라클의 DUAL과 비슷한 기능이다.
- 오늘날짜 : SELECT CURRENT_DATE FROM SYSIBM.SYSDUMMY1 → 2008-09-29 - 현재시간 : SELECT CURRENT_TIME FROM SYSIBM.SYSDUMMY1 → 17:42:06 - 타임스탬프 : SELECT CURRENT_TIMESTAMP FROM SYSIBM.SYSDUMMY1 → 2008-09-29 17:42:13.328 시간이나 날짜를 문자열로 포맷팅하는 함수는 제공하지 않는 것 같다. 아마도 위에서 나오는 문자열을 substring으로 잘라서 쓰거나, 원래의 데이터타입을 이용해 setDate나 getDate를 이용해야 할 것 같다.
6. ij (Derby용 유틸리티 프로그램) 사용 Derby를 Network Server로 기동시키면 Eclipse의 Data Source Explorer로 접속도 가능하고, Derby와 함께 제공되는 ij라는 유틸리티로도 접근이 가능하다. - ij 실행 명령프롬프트에서 $DERBY_HOME/bin의 ij 를 실행한다. C:\derby\bin> ij - DB 연결 connect 명령과 connection URL을 이용해서 DB에 연결한다. ij> connect 'jdbc:derby://localhost:1527/C:/derby/RULEDB1'; - ij 명령어 보기 ij> help; - 스키마 목록 보기 ij> show schemas; - 현재 연결된 DB들에 대한 연결정보 보기 ij> show connections; - 테이블 리스트 보기 ij> show tables; - 테이블 구조 보기 ij> describe {테이블명}; - ij 끝내기 ij> exit; - 그 밖에 모든 DDL, DML 수행 가능하며, 끝은 반드시 세미콜론(;)으로 끝나고 엔터를 쳐야 실행된다.
Derby를 이용해서 프로그램을 다 만든 다음에 용도에 딱 맞는 프로그램을 하나 찾았다. 참고로 테스트용으로 사용한 자바 소스파일 첨부했으니 참고하시길... 여러 데몬에 한꺼번에 연결하려면 아래와 같이 고치면 됨. MemcachedClient c = new MemcachedClient(AddrUtil.getAddresses("server1:11211 server2:11211"));
자바 클라이언트 download 및 설명 http://code.google.com/p/spymemcached/ 출처 : http://somnusong.tistory.com/290 'IT > db' 카테고리의 다른 글
table does not existIT/db 2009. 7. 1. 14:25mysql
drop table if exists [테이블명]
sybase
IF EXISTS (select * from dbo.sysobjects where id = object_id(N'[테이블명]) and type = 'U')
BEGIN drop table [테이블명] END 'IT > db' 카테고리의 다른 글
삭제되지않는 디렉토리의 비밀IT/the other 2009. 4. 20. 09:37가끔 어떻게도 삭제되지않는 디렉토리가 있다. "del /s /f /q %TEMP%" 이것마저 무시하고 삭제되지않아서 원문 >> Undeletable Files Files are sometimes created with the very long filenames or reserved names: CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL If a file (or folder) still appears to be 'undeletable' this is often caused by the indexing service. 출처 : http://www.ss64.com/nt/del.html 'IT > the other' 카테고리의 다른 글
|