블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
JavaScript (59)
WEB (49)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
01-04 18:06
 

달력

« » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
 

최근에 올라온 글

최근에 달린 댓글


왠지 나꼼수 홍대표 출연이후로 전국구가 된듯;;;

 


당당한 모습이 너무 웃겨~ 

출처
이데일리

Posted by 자수씨
, |


인증(Authentication) - 주체의 신원을 주체가 주장하는 신원과 대비해 검증을 하는 과정
주체(Principal) - 사용자, 기기, 시스템이 될 수 있지만 주로 사용자를 말함
크리덴셜(Credential) - 주체가 인증받기 위해 제시해야 하는 신원 증명 정보. 주체가 사용자일 경우 비밀번호
권한부여(Authorization) - 인증된 사용자에게 권한들을 승인하는 과정, 항상 인증 과정을 거친 후에 수행되어야 함
접근 제어 (access control) - 애플리케이션 리소스에 대한 접근을 제어


참고자료

스프링 3 레시피

Posted by 자수씨
, |

Spring Roo 에서는 간단하게 "security setup" 명령으로 Spring Security 기본 설정을 추가할 수 있습니다.

기본적으로 admin 과 user 계정을 제공하고 "sha-256" 로 암호화된 패스워드를 제공합니다.
계정 추가가 필요할 때는 다음과 같은 작업을 통해서 가능합니다.


*nix 계열 서버에서 아래와 같은 명령어로 암호화된 패스워드를 생성할 수 있습니다.

# echo -n vicki | sha256sum
9f6646bd8c323f20de7538195709835dea9ab11108ea88326bdfaeb32cb2d9a4  -

위와 같이 "echo -n [패스워드] | sha256sum" 명령어를 입력하면 볼드체와 같이 암호화된 값을 확인할 수 있습니다.

생성된 패스워드를 이용하여 security 설정파일에 추가합니다.

/src/main/resources/META-INF/spring/applicationContext-security.xml



이제 /login 으로 접속하여 테스트 진행합니다.

Posted by 자수씨
, |

기본적으로 Spring Roo 는 UTF-8 의 인코딩 방식으로 데이터를 처리합니다.

"finder" 를 통해 검색 페이지를 추가하게 되면 GET 방식으로 데이터를 넘기는데, 인코딩 처리가 재대로 되지 않아 올바른 한글 검색 결과를 얻을 수 없습니다.

다음과 같은 방법으로 위의 문제를 해결합니다.

[WAS_HOME]/conf/server.xml


"Connector" 엘리먼트에 URIEncoding="UTF-8" 을 추가하여 다시 확인해보면 정상적으로 동작하는 것을 확인할 수 있습니다.


Posted by 자수씨
, |


1. SQLite 초기 설정

1.1 SQLiteDialect 추가

하이버네이트에서 사용할 SQLite Dialect 를 roo 프로젝트에 추가합니다.

/src/main/java/dialect/SQLiteDialect.java



1.2 Maven SQLite Dependency 추가

아래와 같이 pom.xml 에 SQLite dependency 를 추가합니다.

/pom.xml




2. SQLite 프로젝트 설정

2.1 JPA 설정

SQLiteDialect 를 사용하도록 아래와 같이 수정합니다.

/src/main/resources/META-INF/persistence.xml




DB 접속 정보를 설정합니다. 아래와 같이 database.url 에 DB 파일 위치를 설정할 수 있습니다.

/src/main/resources/META-INF/spring/database.properties



3. 프로젝트 실행

프로젝트를 Tomcat 이나 다른 WAS 를 통해 구동하게 되면 SQLite DB 파일이 생성되게 됩니다. 이 상태로 데이터를 조작하다가 다시 시작하게 되면 DB 가 초기화 되게 됩니다.

첫번째 프로젝트를 구동후에는 다음과 같이 설정을 해야 데이터가 유지되게 됩니다.

/src/main/resources/META-INF/persistence.xml




위에서 처럼 hibernate.hbm2ddl.auto 의 값을 "update" 로 변경하게 되면 현재 있는 DB 를 수정하게 됩니다. "create" 로 값이 설정되어 있으면 실행할 때 마다 새로운 DB 를 생성하게 됩니다. "validate" 는 정상적으로 동작을 하지 않는 것 같아... "update" 를 권장합니다.

Posted by 자수씨
, |

출처는 잘 모르겠고 예전에 친구가 가르쳐준 A4 로 CD 케이스 만들기 도안입니다.





제작 방법

1. 도안을 인쇄합니다.
첨부한 도안을 인쇄합니다. 이미지를 넣으시려면 위에 보이는 이미지와 같이 우측 하단부에 54~55 도의 각도로 이미지를 배치하면 아래와 같이 인쇄할 수 있습니다.



2. 세로 대각선의 선을 따라 접습니다.



3. 가운데 선을 따라 반을 접습니다.



4. 반 접은 것을 편 후, 뒤집은 상태로 아래와 같이 접습니다.



5. 반으로 접으면서 결합~
우측 하단부(C)를 좌측 하단부(B)의 공간에 끼워넣습니다.



6. 안쪽 부분을 정리합니다.
(A) 를 안쪽 공간으로 밀어 넣습니다.



7. 완성입니다.


CD 케이스 착용 샷~




나름 유용합니다~

Posted by 자수씨
, |

JBoss 에서 네이밍 서비스를 이용하기 위해서 InitialContext 객체를 그냥 생성하게 되면 아래와 같은 오류를 접하게 됩니다.

javax.naming.CommunicationException: Could not obtain connection to any of these urls: vm://localhost and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server vm:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server vm:1099 [Root exception is java.net.UnknownHostException: vm]]

JBoss 에서는 InitialContext 생성 시에 "java.naming.provider.url" 기본 값이  "vm:localhost:1099" 로 설정이 되어있어, vm 프로토콜을 찾지 못하고 처리를 재대로 못하게 되는 것입니다.


다음과 같은 프로퍼티 설정으로 오류를 해결할 수 있습니다.

기존 소스
InitialContext context = new InitialContext();

변경된 소스
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
properties.put(Context.PROVIDER_URL, "jnp://localhost:1099");
InitialContext context = new InitialContext(properties);


~


Posted by 자수씨
, |

요즘에는 회사나 개인적으로 주로 사용하는 WAS 는 JBoss AS 입니다.

최근 관련 작업을 하면서 JBoss AS 를 설치한 쪽 디스크 full 이 자주 일어나 확인해보니 tmp 디렉토리의 vfs-nested.tmp 디렉토리에 수많은 jar 파일들이 원인이였습니다.


JBoss 커뮤니티 사이트를 검색을 하여 발견한 해결책을 이용하여 테스트를 해보았습니다.
(테스트 환경: default deploy 에 두 개의 WAR 파일 배포)

 1. vfs 옵션 미사용

기본 옵션

 

구동 시간: 2m 20s

메모리: 568.612 MB

vfs-nested.tmp 디렉토리: 사용, 기존처럼 무한 증대

 

2. vfs 옵션 조정

-Djboss.vfs.forceNoCopy=true

-Djboss.vfs.forceCopy=false

 

구동 시간: 2m 31s

메모리: 638.764 MB

vfs-nested.tmp 디렉토리: vfs-nested.tmp 사용 안함

 

3. vfs caching 옵션 조정

-Djboss.vfs.cache=org.jboss.virtual.plugins.cache.IterableTimedVFSCache

-Djboss.vfs.cache.TimedPolicyCaching.lifetime=1440

 

구동 시간: 2m 21s

메모리: 521.872 MB

vfs-nested.tmp 디렉토리: 사용, 용량 증가 확인 중


일단, 3번째 방법으로 테스트 서버를 띄워 놓고 용량이 얼마나 증가하는지를 체크해 봐야겠습니다.

>> 3번째 방법으로 하니 파일이 더 많이 생기는 것 같습니다;;; IterableTimedVFSCache 클래스를 검토해봐야 겠습니다.


참고자료


http://community.jboss.org/thread/2148


Posted by 자수씨
, |

지난번에 한번 포스팅(m2eclipse Run 메뉴 수정~)을 했었던 m2eclipse 의 Run 메뉴 팝업 확장법을 공개합니다.




m2eclipse 플러그인 확인

우선 현재 설치되어 있는 m2eclipse 플러그인을 확인합니다.

[ECLIPSE_HOME]/plugins
 └ ...
 └ org.maven.ide.eclipse.editor.xml_0.12.1.20110112-1712.jar
 └ org.maven.ide.eclipse.editor_0.12.1.20110112-1712.jar
 └ org.maven.ide.eclipse.jdt_0.12.1.20110112-1712.jar
 └ org.maven.ide.eclipse.launching_0.12.1.20110112-1712.jar
 └ org.maven.ide.eclipse.maven_model_edit_0.12.1.20110112-1712.jar

 └ ...

저는 어제 (2011-09-28) 재설치를 했는데, 0.12.1.20110112-1712 버전이 설치되어 있었습니다.


플러그인 수정

org.maven.ide.eclipse.launching_0.12.1.20110112-1712.jar 파일의 압축을 해제합니다.

[ECLIPSE_HOME]/plugins/org.maven.ide.eclipse.launching_0.12.1.20110112-1712.jar
 └ icons
 └ META-INF
 └ org
 └ org.maven.ide.eclipse.cliresolver.jar
 └ org.maven.ide.eclipse.cliresolver30.jar

 └ plugin.properties
 └ plugin.xml



plugin.properties 파일에 아래의 내용을 추가합니다.

plugin.properties
...
m2.popup.lifecycle.cleanAndPackage=Maven clean and package
m2.popup.lifecycle.cleanAndInstall=Maven clean and install
m2.popup.lifecycle.cleanAndDeploy=Maven clean and deploy



메뉴 팝업을 확장하기 위해 plugin.xml 을 수정합니다.

plugin.xml




다시 jar 압축을 묶고 이클립스를 실행하면... 바로 반영이 되지 않습니다.
이전 버전의 이클립스에서는 바로 반영이 되었는데, 플러그인 로딩방식이 바뀌었거나 m2eclipse 에서 캐싱을 하는지 바로 반영이 되지 않습니다.

해결방법은 다음과 같습니다.
1. org.maven.ide.eclipse.launching_0.12.1.20110112-1712.jar 파일을 다른 곳으로 옮겨둔 후 이클립스 실행
2. Run 메뉴에서 maven 관련 메뉴가 빠진 것을 확인
3. org.maven.ide.eclipse.launching_0.12.1.20110112-1712.jar 파일을 복구한 후 이클립스 실행



반복작업을 줄여줄 수 있어서 좋네요~ 쿠헤헤

Posted by 자수씨
, |

자세한 설명은 다른 곳에도 잘 되어있으므로 필요한 부분만 정리합니다.


방화벽 포트 추가하기

방화벽 정보가 있는 파일을 엽니다. 

# vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

CentOS 5.4 에는 기본적으로는 위와 같이 설정이 되어 있습니다.

추가할 포트 (ex: 6813) 에 대한 정보를 COMMIT 위에 추가합니다.

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 6813 -j ACCEPT
COMMIT


수정이 끝났으면 iptables 서비스를 재시작합니다.
# service iptables restart


설정이 귀찮다면 방화벽 서비스를 내려도 됩니다.
# service iptables stop




Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백