이번에 RMF Patch Program 을 작성하면서

Shell의 Output을 Java로 읽어 들이는 Program을 작성하게 되었다.

마침 예전 테라스때 Keytool을 이용한 인증서 저장 프로그램을 짜면서

Java내에 인증서를 핸들링하는 Class가 없어서 Shell command를 이용하도록 하던 Code를 작성한 경험이 있어서 손 쉽게 접근할 수 있었다.

근데 막판에 부하테스트 하면서 예상하지 못했던 Issue가 발생했다.

shell 쪽에서 해야 할 일이

find 로 특정 이름의 파일을 찾아 그 결과를 이용하여 java class가 구동되어야 하는데

처음에 데이터가 작을 때는 잘 작동 되던 것이

데이터가 많아 지니 멈추는 현상이 발생했다.

코드는 아래와 같은 식이 었는데

정확히 어디 쯤에서 멈추는지 까지는 Tracing 하지는 않았지만

아마도 prss.waitFor 구문에서 나오는거 아닐까 하는 생각이 든다.

일단은 sun community에 질문을 올려 놓기는 했는데

어떤 답이 올지 모르겠다.

http://forums.sun.com/thread.jspa?threadID=5345804

아참 글구 이런 문제가 생겼던 근본적인 문제점은...

find . -name XXX -print > b.txt

를 Runtime & Process를 이용해서 구혔했었는데

이때 Redirect 가 처리가 되지 않아서 에러가 발생했었다.

결국 Redirect를 쓰지 않고 하려다 보니 stdout을 받아서 처리 하려 했던 것이다.

( 해결은 find option 중에 -fpint를 쓰게 되면 redirect를 쓰지 않고도 파일로 결과를 저장할 수 있었다. )

Runtime rn = Runtime.getRuntime();
Process prss = rn.exec(command);

InputStream stderr = prss.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
StringBuffer errmsg = new StringBuffer();
while ( (line = br.readLine()) != null)
errmsg.append(line);

InputStream stdout = prss.getInputStream();
InputStreamReader isr2 = new InputStreamReader(stdout);
BufferedReader br2 = new BufferedReader(isr2);
List<String> outmsg = new ArrayList<String>();
String line2 = null;
while( ( line2 = br2.readLine() )!= null)
outmsg.add(line2);

int prss_rslt = prss.waitFor();
if ( prss_rslt != 0 ){

throw new Exception(account+ "'s creative file touch is fail. it return "prss_rslt"error code.\n"+errmsg.toString());

}

'개발자세상 > 자바세상' 카테고리의 다른 글

ClassPath에 있는 파일 가져오기.  (0) 2009.03.18
JavaFX?  (0) 2009.02.03
JVMPI, JVMTI  (0) 2008.07.30
Java One 2008 방문 후기를 보고  (0) 2008.06.26
BPM에 빠져 들다.  (0) 2007.07.11
Posted by headiron
,
VMWare server 1.x 버젼을 깔았을 때는 그냥 Console로 접속 할 수 있었는데

VMWare server 2.x를 깔았더니 Console로는 접속 할 수가 없고

web client만 접속할 수 있는데 계정 정보를 물어 본다.

중간에 시스템 설치 하면서 계정 정보 넣어 준게 없는데 어찌 해야 하나 확인했더니

시스템 계정 정보를 그대로 사용하는 것 같다.

http://earthfall.egloos.com/1706310

일단 Window의 Administrator 계정으로 접속 했더니 잘 접근 된다.

근데 VMWare Client는 파일 핸들링도 큰걸로 하고 해서 웹 Client는 조금 안 맞는것 같은데

어찌 이렇게 했는지...

예전에 식씨가 VMWare Client에 대해서 극찬했던거 보면 뭐가 있기는 한가 본데

함 써 봐야 어떤 의미로 그런 얘기를 했는지 알 수 있을 듯...

어쨋든 드뎌 새 PC의 설치가 거의 끝나 간다.^^

'개발자세상' 카테고리의 다른 글

대학원...?  (0) 2009.01.21
NHN DeView 2008 행사를 다녀와서  (2) 2008.11.23
CVS Command 창에서 특정 버젼의 파일 가져오기  (0) 2008.10.31
휴... hibernate  (0) 2008.10.09
자바 개발자 구하기...  (0) 2008.09.19
Posted by headiron
,

Linux/Unix 등에서 CVS Command 창에서 특정 버젼의 파일 가져오기

prompt>cvs update -p -r <version> <file name> > < save file name >

ex > cvs update -p -r 1.1 TFSMFlashWrapper204.js > TFSMFlashWrapper204.js.1.1

'개발자세상' 카테고리의 다른 글

NHN DeView 2008 행사를 다녀와서  (2) 2008.11.23
VMWare server2 설치 후  (0) 2008.11.04
휴... hibernate  (0) 2008.10.09
자바 개발자 구하기...  (0) 2008.09.19
테라스 다우에 인수되다.  (0) 2008.04.08
Posted by headiron
,

휴... hibernate

개발자세상 2008. 10. 9. 15:28
spring-security 적용 테스트 중 hibernate를 이용한 UserDetailsService Customize를 진행중에 hibernate 적용 때문에 3일 정도를 삽질을 했다.

( 특히 객체간 매핑이 좀.... -.- )

다른 것들은 어느 정도 Study도 하고 해서 조금은 익숙 해 지기 시작했는데

이놈의 hibernate는 대충 알고 사용하기에는 좀...-.-

우리 팀에 누군가 한명은 hibernate를 어느 정도 다룰 수 있는 사람이 필요할 것 같아

스터디가 필요하리라 생각을 하고는 있었는데...-.-

지금 보고 있는 "Spring in Action " 다 본 후에 한 번 더 볼려고 했는데...

일단 hibernate를 바로 봐야 할듯...-.-

전에 조금 여유 있을 때 좀더 파고 들껄....흑흑흑...



Posted by headiron
,

성식씨가 결국은 이직을 포기했다.

어사장님과 장시간 얘기 하고 결국은 회사에 남기로 했다는 얘기를 하는데...

솔직히 우리 회사 오기에는 테라스 상황이 쉽지 않을 걸 생각 하긴 했지만

좀 아쉬웠다.

어사장님이 어떻게 설득을 하신 건지는 모르겠지만

솔직히 성식씨가 걱정이 되기도 한다.

어쨋든 상사 입장에서도 언젠가 어떤일이 생길 때

저 친구는 회사 그만 두려 했던 친구라는 생각을 가지게 될텐데...

( 뭐.. 예전에 SDS에서도 그런 case가 있었으니깐..

  결국 내가 제일 아끼던 후배 녀석이 짤리는 걸 그냥 지켜볼 수 밖에 없었다. )

어쨋든 성식씨가 테라스에 다시 잘 융화 되서

전에 보다 더 좋은 방향으로 회사와 성식씨가 함께 성장 할 수 있음 한다.

그나 저나 우리는 어디서 개발자를 구하나....

그 많은 개발자들이 다 어디서 뭘 하는지...-.-

Posted by headiron
,

이번에 메모리 프로파일링 업무가 생겨서 프로파일링 툴을 찾다가 우연히 JVMPI, JVMTI에 대해서 알게 되었다. ( JBossProfiler 가 이를 이용한다. )

JVMPI는 5.X 대까지 지원되면 API로
JVM의 Event 발생시 실행될 Callback 함수를 등록하여 해당 Event가 발생시 해당 CallBack 함수를 호출해 주게 하는 API이다.
일단 C계열 언어로 작성을 해야 하므로 , dll 혹은 so 파일을 JVM 환경변수에 등록해 주는 방식이다.
따라서 Object 생성등의 이벤트를 Capture한다면 Class Instance Capture 등을 할 수 있는 것으로 보인다.

http://java.sun.com/j2se/1.4.2/docs/guide/jvmpi/jvmpi.html

이것이 5.X가 되면서 JVMTI라는 기술로 발전한다.
( 5.X에서는 그래도 JVMPI를 지원한것으로 보이는데 6.X 대에는 아예 JVMTI만을 지원하는 것으로 보인다. )
http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html

아직 JVMTI에 대해서는 아직 문서를 살펴보지는 않았는데 ( 지선 대리 얘기로는 Java Interface를 제공한다고 하는데...^^ )
개념적으로는 비슷하지 않을까.^^

그동안 Jeniffer 등 모니터링 툴의 작동 원리에 대해서 잘 모르고 있었는데
조금은 그 원리를 알듯하다.


'개발자세상 > 자바세상' 카테고리의 다른 글

ClassPath에 있는 파일 가져오기.  (0) 2009.03.18
JavaFX?  (0) 2009.02.03
Process class 사용시 주의점  (0) 2008.11.07
Java One 2008 방문 후기를 보고  (0) 2008.06.26
BPM에 빠져 들다.  (0) 2007.07.11
Posted by headiron
,

지난 토욜날 Wrap-Up 세미나도 갔다 오고,

그저께 Migration 작업 돌리면서 방문자들 블로그 들도 보고 하면서 느꼈던게...

정말 빠르게 많은 것들이 바뀌어 가고 있다는 느낌을 지울 수 없었다.

불과 2~3년 전에 몇 가지 기술 보고 흠... 공부 해야지 했던 것들이...

이제는.... 방 한 가득이 되어 버린 느낌이다..

물론 자바의 기본이 튼튼하지 않으면 다른 것들은 모두 사상 누각 이라고 들 하지만...

그래도 새로운 걸 따라가지 못하는 것에 대한 조바심은 솔직히 지울 수 없다...

앞으로 직급도 올라가고,

더 많은 사람을 책임지고,

내가 한 팀을 책임지게 되면,

지금 보다 더 많은 것을 더 빠르게 알아 나가야 할텐데.

앞으로 잘 할 수 있을지....


'개발자세상 > 자바세상' 카테고리의 다른 글

ClassPath에 있는 파일 가져오기.  (0) 2009.03.18
JavaFX?  (0) 2009.02.03
Process class 사용시 주의점  (0) 2008.11.07
JVMPI, JVMTI  (0) 2008.07.30
BPM에 빠져 들다.  (0) 2007.07.11
Posted by headiron
,

아침 전자 신문에 테라스가 다우기술에 인수된다는 기사가 났다.

사실 나 다닐 때에도 바라쿠다 측에 피인수 추진 했던 것이 있었으니

사실 놀라운 일은 아닐 듯 하다.

하지만 인수 회사가 다우 기술 이라는 데는 조금 의아 스럽다.

차라리 데이콤 같은 회사에 가는 것이 더 좋은 것 아닐까..

최근에 다우 관련해서 계속 안 좋은 기사를 봐와서 그런지

솔직히 다우에 피인수 되는 테라스라니..

뭐.. 성식씨 한테 함 연락 해서 소식 들어 봐야 겠지만..

능력 있는 회사가 굳이 다우 같은 회사에 먹힐 수 밖에 없는 현실이 조금 아쉽다.

왠지 또 하나의 괜찮은 회사가 사라지는 듣한 아쉬움이 든다...

'개발자세상' 카테고리의 다른 글

휴... hibernate  (0) 2008.10.09
자바 개발자 구하기...  (0) 2008.09.19
닥터 바이러스 드뎌 철퇴를 맞다...  (0) 2007.10.31
근 5년 만에 교육 가다  (0) 2007.10.02
하드 복구중  (0) 2007.08.22
Posted by headiron
,

http://www.cbs.co.kr/Nocut/Show.asp?IDX=656919

드뎌 부장님이 1주 가까이 고생하셨었던 닥터바이러스 건이 기사화 됐다.
ㅋㅋㅋ 결국 닥터 바이러스는 철퇴를 맞는구나.>^^

근데...불구속 입건... 이거 너무 약하지 않나...^^

'개발자세상' 카테고리의 다른 글

자바 개발자 구하기...  (0) 2008.09.19
테라스 다우에 인수되다.  (0) 2008.04.08
근 5년 만에 교육 가다  (0) 2007.10.02
하드 복구중  (0) 2007.08.22
TDD에 대한 느낌.  (0) 2007.07.26
Posted by headiron
,

테크빌 있을 때 Oracle Admin , MS-SQL Admin 교육 갔다 온 이후로

근 5년 만에 교육을 가게 됐다.

"API & System " , "MFC Master" 두 과목인데

우리 회사 와서 Window 개발을 몇 번 했던 것이 결정적인 계기가 되었다.

개발 막 끝냈을 때 갔다왔으면 좋았을 텐데

조금 늦은 감은 없지 않지만

그래도 체계적으로 Window Programming관련 지식을 쌓을 수 있다는 생각에 기분이 좋다.

그동안 연차가 쌓여서 인지 교육에 대한 메너리즘도 있는 편이었고 했는데

그런 것들을 깰 수 있는 시간이 되었으면 좋겠다...

아... 벌써 가슴이 설레는 걸 보면....

그동안 교육에 목 말라 있긴 했었던듯.^^

'개발자세상' 카테고리의 다른 글

자바 개발자 구하기...  (0) 2008.09.19
테라스 다우에 인수되다.  (0) 2008.04.08
닥터 바이러스 드뎌 철퇴를 맞다...  (0) 2007.10.31
하드 복구중  (0) 2007.08.22
TDD에 대한 느낌.  (0) 2007.07.26
Posted by headiron
,