2012년 11월 20일 화요일
2012년 11월 7일 수요일
WebService Study를 위한 링크
http://www.albinsblog.com/search/label/Weblogic
http://metro.java.net/guide/ch02.html
http://jaxws-ws.blogspot.kr/
http://frommyworkshop.blogspot.kr/2010/07/configure-apache-cxf-project-to-deploy.html
http://jax-ws.java.net/2.2.6/docs/ch03.html
http://sqltech.cl/doc/oas10gR3/web.1013/b25603/appjaxrpcmapping.htm
http://docs.oracle.com/cd/E12840_01/wls/docs103/webserv_ref/anttasks.html
http://metro.java.net/guide/ch02.html
http://jaxws-ws.blogspot.kr/
http://frommyworkshop.blogspot.kr/2010/07/configure-apache-cxf-project-to-deploy.html
http://jax-ws.java.net/2.2.6/docs/ch03.html
http://sqltech.cl/doc/oas10gR3/web.1013/b25603/appjaxrpcmapping.htm
http://docs.oracle.com/cd/E12840_01/wls/docs103/webserv_ref/anttasks.html
2012년 10월 18일 목요일
Wireshark로 localhost 패킷 보기
사실 Wireshark로 패킷을 캡처한다기 보다는 rawcap.exe를 통해서 캡처한 파일을 Wireshark로 열어서 본다는 게 더 적절하다.
원문 참조: http://erictummers.wordpress.com/2012/06/23/sniff-localhost/
1. loopback adapter 설치
2. 네트웍 설정에서 IP 설정
3. rawcap 설치
4. rawcap으로 loopback 패킷 캡처
5. 캡처된 파일을 wireshark에서 열기
네트웍 설정 창에서 아래와 같이 IP 주소를 입력한다.
eg) 10.0.0.10
D:\tools\rawcap>rawcap.exe 10.0.0.10 loopback.cap
CTRL + C 키를 입력하여 캡처링을 중지한다.
원문 참조: http://erictummers.wordpress.com/2012/06/23/sniff-localhost/
1. loopback adapter 설치
2. 네트웍 설정에서 IP 설정
3. rawcap 설치
4. rawcap으로 loopback 패킷 캡처
5. 캡처된 파일을 wireshark에서 열기
1. loopback adapter 설치
Windows 시작 버튼을 클릭한 후 팝업되는 창의 좌측 하단에 위치한 입력상자에 "cmd" 라고 입력한 후 검색된 cmd.exe를 마우스 우클릭하여 관리자 권한으로 실행 시킨다.
콘솔 창에서 아래와 같이 입력한다.
> hdwwiz.exe
2. 네트웍 설정에서 IP 설정
보통 loopback driver가 설치되면 "로컬 영역 연결 2", "로컬 영역 연결 3"... 이런 이름으로 추가된다.네트웍 설정 창에서 아래와 같이 IP 주소를 입력한다.
eg) 10.0.0.10
3. rawcap 설치
아래의 사이트에서 rawcap.exe 파일을 내려 받는다.
http://www.netresec.com/?page=RawCap4. rawcap으로 loopback 패킷 캡처
아래와 같이 rawcap을 실행시킨다. loopback.cap을 캡처된 파일 명이므로 다른 이름으로 지정해도 무관하다.
CTRL + C 키를 입력하여 캡처링을 중지한다.
5. 캡처된 파일을 wireshark에서 열기
File > Open 메뉴에서 앞 단계에서 저장된 파일을 선택한다.
wireshark의 Filter에 "tcp"라고 입력한 후 Apply 버튼을 클릭한다.
목록을 마우스 우클릭하여 Follow TCP Stream 메뉴를 클릭한다.
아래와 같이 HTTP를 캡처한 내용이 화면에 출력된다.
2012년 9월 5일 수요일
Oracle Process 개수 설정
Oracle Web Center의 Portal 이나 Content를 설치하게 되면, RCU를 이용해서 스키마를 생성하거나 초기화 해야 한다.
이때 Oracle Database의 parameter 중에서 PROCESS parameter가 200개 이상 되어야 하는데, 보통 기본 값으로 150개로 설정되어 있다.
PROCESS 개수를 변경하고 Database를 재실행한다.
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
global_txn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 150
SQL>
>sqlplus system as sysdba
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
다시 PROCESS 개수가 변경되었음을 확인해보자.
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
global_txn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 200
이때 Oracle Database의 parameter 중에서 PROCESS parameter가 200개 이상 되어야 하는데, 보통 기본 값으로 150개로 설정되어 있다.
PROCESS 개수를 변경하고 Database를 재실행한다.
PROCESS 개수 확인
sqlplus를 이용해서 아래와 같이 입력하여 PROCESS 개수를 확인해 보자SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
global_txn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 150
SQL>
PROCESS 개수 변경
SQL> alter system set processes=200 scope=spfile ;Database Shutdown
데이터베이스를 shutdown 시키거나 startup 시킬 때는 아래와 같이 sysdba 권한으로 로그인 해야 한다.>sqlplus system as sysdba
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
Database Startup
SQL> startup다시 PROCESS 개수가 변경되었음을 확인해보자.
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
global_txn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 200
200개로 변경되었으면 다시 RCU를 이용해서 스크마를 생성하면 정상적으로 동작한다.
2012년 7월 18일 수요일
CXF에서 Authorization 헤더 설정하기
CXF에서 HTTP Authorization 헤더에 Basic 방식으로 username, password를 전달할 때 아래와 같이 소스코드를 지정한다.
org.apache.cxf.jaxws. JaxWsProxyFactoryBean clientFactory = new org.apache.cxf.jaxws. JaxWsProxyFactoryBean();
clientFactory.setAddress("http ://localhost:8080/svc-url"); // 서버 주소로 변경해 주세요
clientFactory.setUsername( USERNAME); // username
clientFactory.setPassword( PASSWORD); // password
HTTP Authorization 헤더의 Basic 방식인
"username:password"가 base64 encoding 값으로 전달되는 것으로 확인되었습니다.
인증 정보 설정 후 요청 시 HTTP 요청 헤더 확인해 보시면 Authorization 헤더가 설정되어 있습니다.
Authorization=[Basic Y2poY29uc3VtZXIxdidkxdxOndlbGNvbWUx]
2012년 3월 26일 월요일
2012년 3월 25일 일요일
2012년 3월 23일 금요일
Unable to locate Spring NamespaceHandler
원문: 감사합니다.
http://techieth8s.blogspot.com/2011/04/unable-to-locate-spring.html
오늘, 난 spring-security 관련 에러 때문에 고생하였습니다.
단지 WEB-INF/lib에 관련 library를 추가하고
http://www.springframework.org/schema/security/spring-security-3.1.xsd
를 사용하면 그만입니다.
Error:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx] Offending resource: class path resource [applicationContext.xml]
Solution: Add spring-tx.jar to WEB-INF/lib
Error:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/security] Offending resource: class path resource [applicationContext.xml]
Solution: Add spring-core, spring-acl, spring-config, spring-web, spring-taglibs jars to WEB-INF/lib
http://techieth8s.blogspot.com/2011/04/unable-to-locate-spring.html
오늘, 난 spring-security 관련 에러 때문에 고생하였습니다.
단지 WEB-INF/lib에 관련 library를 추가하고
http://www.springframework.org/schema/security/spring-security-3.1.xsd
를 사용하면 그만입니다.
Error:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx] Offending resource: class path resource [applicationContext.xml]
Solution: Add spring-tx.jar to WEB-INF/lib
Error:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/security] Offending resource: class path resource [applicationContext.xml]
Solution: Add spring-core, spring-acl, spring-config, spring-web, spring-taglibs jars to WEB-INF/lib
2012년 3월 14일 수요일
Mysql DataSource Configuration in Jboss7.1.1
원문: https://community.jboss.org/wiki/DataSourceConfigurationInAS7
jboss7.1.1 설치 디렉터리를 ${jboss-dir}로 표기함.
mysql-jdbc: mysql-connector-java-5.1.18.jar
모듈 설치
1. ${jboss-dir}/modules 디렉터리에 com/mysql/main 하위 폴더를 생성한다.
2. ${jboss-dir}/modules/com/mysql/main 에 mysql-connector-java-5.1.18.jar 파일을 복사한다.
3. ${jboss-dir}/modules/com/mysql/main 에 module.xml 파일을 생성하여 아래와 같이 수정한다.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.18.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<datasource jndi-name="java:jboss/datasources/MysqlDS" pool-name="MysqlDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/mydb</connection-url>
<driver>com.mysql</driver>
<security>
<user-name>dbuser</user-name>
<password>dbpasswd</password>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
jboss7.1.1 설치 디렉터리를 ${jboss-dir}로 표기함.
mysql-jdbc: mysql-connector-java-5.1.18.jar
모듈 설치
1. ${jboss-dir}/modules 디렉터리에 com/mysql/main 하위 폴더를 생성한다.
2. ${jboss-dir}/modules/com/mysql/main 에 mysql-connector-java-5.1.18.jar 파일을 복사한다.
3. ${jboss-dir}/modules/com/mysql/main 에 module.xml 파일을 생성하여 아래와 같이 수정한다.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.18.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
DataSource 설정
${jboss-dir}/standalone/configuation/standalone.xml 파일의 datasource 항목에 아래와 같이 추가한다.
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<datasource jndi-name="java:jboss/datasources/MysqlDS" pool-name="MysqlDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/mydb</connection-url>
<driver>com.mysql</driver>
<security>
<user-name>dbuser</user-name>
<password>dbpasswd</password>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="com.mysql" module="com.mysql">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
2012년 1월 13일 금요일
국내 아이피 IP 대역
한국인터넷진흥원이 국내에 할당한 IP주소 대역은 http://ip.kisa.or.kr 사이트에서 IPv4 → 국내할당현황에서 확인 하실 수 있으며 진흥원이 IP주소 추가 확보 시 실시간 반영 됩니다.
로직은 대충 만들어봐요.
로직은 대충 만들어봐요.
2012년 1월 6일 금요일
엑셀 매크로(VB)와 사랑에 빠지다.
요즘 엑셀 매크로에 관심을 갖게 되어 자주 VB 소스 코드를 훑어보고 있다.
자바에 대한 배신은 아니다. 흠.
http://office.microsoft.com/ko-kr/excel-help/HP010014111.aspx
첫번 째 샘플
특정 셀들의 값을 이용해서 INSERT 구문을 만든다.
Sub createsql()
Dim startIndex As Integer
Dim endIndex As Integer
Dim sqlColumn As Integer
Dim msgCode As String
Dim trCd As String
Dim description As String
sqlColumn = 7
For intRow = 7 To 494
msgCode = fixMsgCode(Cells(intRow, 1).Value)
trCd = Cells(intRow, 2).Value
description = Cells(intRow, 4).Value
Cells(intRow, sqlColumn).Value = "insert into U_TR_CODE_MAPPING (MSG_CODE, TR_CD, DESCRIPTION) values ('" & msgCode & "', '" & trCd & "', '" + description + "');"
Next
End Sub
Function fixMsgCode(msgCode As String) As String
Dim msgLen As Integer
msgLen = Len(msgCode)
If msgLen > 8 Then
fixMsgCode = Right(msgCode, 8)
Else
fixMsgCode = msgCode
End If
End Function
엑셀 서식 함수
=TEXT(NOW(), "yyyymmdd") : 현재일을 yyyymmdd 포맷으로 변환
자바에 대한 배신은 아니다. 흠.
http://office.microsoft.com/ko-kr/excel-help/HP010014111.aspx
- 개발 도구 탭을 사용할 수 없으면 다음을 실행하여 표시합니다.
- Microsoft Office 단추 를 클릭한 다음 Excel 옵션을 클릭합니다.
- 기본 설정 범주의 Excel에서 가장 많이 사용하는 옵션에서 리본 메뉴에 개발 도구 탭 표시 확인란을 선택한 다음 확인을 클릭합니다.
첫번 째 샘플
특정 셀들의 값을 이용해서 INSERT 구문을 만든다.
Sub createsql()
Dim startIndex As Integer
Dim endIndex As Integer
Dim sqlColumn As Integer
Dim msgCode As String
Dim trCd As String
Dim description As String
sqlColumn = 7
For intRow = 7 To 494
msgCode = fixMsgCode(Cells(intRow, 1).Value)
trCd = Cells(intRow, 2).Value
description = Cells(intRow, 4).Value
Cells(intRow, sqlColumn).Value = "insert into U_TR_CODE_MAPPING (MSG_CODE, TR_CD, DESCRIPTION) values ('" & msgCode & "', '" & trCd & "', '" + description + "');"
Next
End Sub
Function fixMsgCode(msgCode As String) As String
Dim msgLen As Integer
msgLen = Len(msgCode)
If msgLen > 8 Then
fixMsgCode = Right(msgCode, 8)
Else
fixMsgCode = msgCode
End If
End Function
엑셀 서식 함수
=TEXT(NOW(), "yyyymmdd") : 현재일을 yyyymmdd 포맷으로 변환
피드 구독하기:
글 (Atom)