'2009/04'에 해당되는 글 3건

  1. 2009/04/30 자바 역컴파일 (6)
  2. 2009/04/29 @.@ (3)
  3. 2009/04/06 in Duluth (1st) (6)
2009/04/30 06:50 My major/JAVA
가끔씩 jar로 묶어서 공개하고 실질 소스는 비공개로 해놓는 그런 프로그램들이있다.
JFreeChart 가 그러하다. 이 녀석은 자바를 이용해서 각종 그래프를 그려주는 라이브러리다. 내가 찾아본 바로는 가장 이쁘고 라이브러리도 다양하다. 그리고 프리다.
하지만 이녀석은 라이브러리 소스는 공개하는데 어떻게 사용하는지 Document를 돈받고 판다...ㅡㅡ;; 그리고 라이브러리 소스는 있는데 데모용 소스는 또 공개를 해놓지 않았다. 솔직히 Document 없고 데모 소스 없으면 저 라이브러리 어떻게 사용하는지 파악하는데 세월아 네월아다....
하지만 언제나 돌파구는 있는법, JFreeChart 에서 데모용 소스를 컴파일한 후 jar로 묶어서 실행할 수 있게 만들어놓은 파일을 제공한다. 자바가 무었인가?? 이진수로 컴파일 되서 돌아가는게 아니지 않는가. 당연히 역컴파일 해서 java 소스 뽑아내면된다..ㅋㅋ
위 jad.exe 녀석이 class 파일로부터 java 소스 뽑아내주는 녀석이다.
사용법은 간단하다.
커멘드 창에서 jad test.class 이렇게 jad 다음에 클래스 이름 넣어주면 test.jad 파일로 나온다. 확장자가 java가 아닌 jad로 나오니깐 주의

역컴파일 하면 완벽하게 복원이 되는것이 아니다. 복원된 소스를 보고 완벽하게 다시 제구성하는 것은 본인 몫이다. 아직 완벽히 복원해 주는 프로그램은 없다고 한다.
하지만 90%이상 소스를 복원해 놓은 상태기 때문에 에러도 그렇게 많이 나지 않는다.
대부분 다른 파일에 있는 참조 클래스 같은 녀석들 때문에 에러가 난다.
그리고 가끔 깨지는 부분도 생기는데 이런 부분은 진짜 소스 보고 자기가 알아서 고처야 한다..이건 운이다..ㅋㅋ

jfreechart 소스 및 데모 소스랑 사용자 가이드(돈받고 파는걸) 누가 웹에다 올려논걸 찾아냈다.
http://www.cs.bgu.ac.il/~piavka/freespace/Gui/jfree/
위 사이트로 가면 된다..ㅋㅋ

위 사이트에 데모용 소스가 있는것도 있고 없는 것도 있다. 없는건 위에서 한 방법으로 역컴파일을 통해 소스를 뽑아내는 수 밖에 없다.데모용 소스에 보면 CrossSectionDemo1 데모에 대한 데모용 소스가 없다. CrossSectionDemo1은 jfreechart를 이용해 contour 그래프를 보기 좋게 그려주는 녀석이다.
위 파일은 역컴파일해서 에러 수정한 소스이다. 역컴파일한 CrossSectionDemo1.java는 돌려본 결과 약간의 버그가 있다.
개발자의 실수인지 아니면 역컴파일 과정에서 난 버그인진 모르겠지만 단순하면서도 심각한 버그가 있다.  밑의 소스는 버그 수정 및 해당 데모에 자신의 데이터를 집어 넣어야 하는 부분에 표시를 해둔 소스이다.
필요한 분은 쓰세요..
posted by joyoungtae

@.@

2009/04/29 09:16 My major/VISSIM
1. VISSIM - COM 연동하의 동적 시그널 컨트롤 구현
 - VISSIM의 외부 시그널 컨트롤인 API DLL은 현재 COM과 연동하기 힘들것 같음. ptvameriac forum에서 visual basic을 이용한 COM 컨트롤과 API DLL 연동시 데이터 교환이 안되는 문제가 있었다고 함. shared memory를 이용해 해결 가능하지만 이걸 하기엔 시간 낭비.
 - COM과 API DLL간 데이터 교환 방식 및 가능성 여부는 아직 PTV 측에서 답변이 오지 않음.
 - Fixed time 으로 설정후 red와 green 으로만 0.1 초 단위로 COM 만을 이용하서 시그널 컨트롤.

2. VISSIM - COM 연동하의 동적 스피드 리밋 컨트롤 구현
 - Desired speed와 Reduced speed area 컴포넌트를 이용하여 특정 구간 스피드 리밋을 동적으로 컨트롤 하는 것이 가능함.
 - 특정 구간에서 vehicle의 속도를 변경하거나 줄이는건 가능해도 link나 connector 에서 특정 블럭 단위로 스피드 제한을 거는건 불가능해 보임.

3. IRIS metering module 분석 및 VISSIM - IRIS 연동 하기위한 중간 모듈 구현
 - mn170 protocol을 이용함
 - 실제 필드에서는 mn170 controller와 통신하기 위한 프로토콜임.
 - request.java 파일로 IRIS쪽에서 데이터 요청을 한다고 함. 분석 필요.
 - IRIS 설치 파일이 RPM으로 묶여서 업데이트 됐음. 추후 적용.

4. TIMS 분석 및 결과 데이터를 이용한 그래프 출력
 - java를 이용한 그래프 그리는 라이브러리는 jfreechart가 가능 좋아 보임.
 - jfreechart는 jcommon 라이브러리를 사용하므로 필요 같이 임포트해주어야 함.
 - jfreechart를 사용하기 위해선 ant 를 설치후 jfreechart 디렉토리내의 build.xml을 이용해 빌드해 주어야함.
 - contour chart 를 그리기 위한 라이브러리가 없어 보임.

아..일을 동시에 4개씩 진행하니 헷갈려 죽겠네..-_-ㅋ
posted by joyoungtae
2009/04/06 23:42 my life
도착한 기념으로 간단하게 제가 사는 곳과 몇몇 사람들을 소개해 볼까 합니다.
현재 저는 미국 미네소타주의 덜루스(Duluth)란 곳에 있습니다. 이곳의 미네소타대학 덜루스캠의 NATSRL 이라는 랩실에 있구요. 여차저차 이래저래 이곳까지 오게 되었습니다.
이곳은 미국에서도 추운지방으로 유명하답니다.
그리서 4월인데도 아직 길에 눈이 쌓여있고 기온은 영하로 떨어집니다..ㅡㅡ;

제가 머물고 있는 숙소는 SEAFARERS CENTER란 곳입니다.
이곳 덜루스는 큰 항구가 있고 전세계에서 배들이 드나듭니다. 그래서 그런 뱃 사람들이 쉬어갈수 있는 숙소 인데 이곳에 머물고 있습니다.
아직 뱃사람들이 온건 볼수 없었지만(아직 겨울이라 배가 들어오기 힘들다고 하더군요) 다른 방에 몇몇 사람들이 살고 있습니다. 만약 덜루스 근처로 놀러온다면 이곳에서 숙박을 해결하면 아주 좋을듯 싶네요. 가격도 싸고 운영하는 사람들도 매우 친절하고...ㅎ



위에 보이는 간판히 제가 머물고 있는 건물 간판입니다.. 밑에 작게 주소도 나와있죠??
이리로 저에게 구호품점 보내주세요..^^;;;


위에 건물이 제가 머물고 있는 건물이랍니다
작아보이지만 안에 들어가면 굉장히 넓답니다...지하도 2층이나 있고...

위 사진이 제가 머물고 있는 방의 거실???
제 방이 침실이랑 위에 사진처럼 거실이 나뉘어져 있거든요.
동만형이 필요한건 대부분 구해다 놓으셔서 전 편하게 쓰고 있습니다..ㅋㅋ


위 사진이 제 침실입니다.
보기엔 저래도 밑에 전기장판도 깔려있답니다..ㅋㅋ
아침에 햇살이 들어와서 아주 따뜻한 아침을 맞을수 있다는 장점이...

3월30일 토요일에 도착해서 이제 딱 1주일 되었네요..
지난주에는 바로 옆방에 사는 션이란 분이 도와줘서 길도 알려주고 마트도 다녀왔답니다.


위에 이분이 션이란 분인데..제가 사는 방 바로앞에 사는 사람입니다.
여기서 운전수로 일하고 있다고 하는데 저 처음왔다고 이것저것 많이 챙겨주고 길도 알려주고 마트로 직접 데려다 주고..참 착한 분입니다..
저번주 수요일인가?? 여기 건물 운영자인 탐이란분도 길아려줬었는데 그날은 눈보라가 치는 바람에 둘다 아주 개고생을했다는...사진도없고...ㅡㅡ;;;;



여기 덜루스에선 위 사진에 보이는 SuperOne이 가장 큰 마트더군요.
호주의 울월스나 콜스랑 비슷하더군요 내부 구조가...
근데 저기에는 홈브랜드가 없었음...그게 너무 아쉬움...
대신 들어갈때 쿠폰 북이 있는데 그거 잘보면 디스카운트하는거나 두개사면 몇불 깍아주는거 등등 싸게 살수 있는 방법이 있답니다.
저도 처음에 몰랐는데 션이 들어가면서 이거 보면서 사라고 알려주더군요...ㅋ


위 사진은 션과탐 그리고 테드랑 카메라 매장에 갈려고 하다가 발생한 일입니다.
탐이 자기 사진기 사러 가야한다고 나보고 좀 도와달라고 같이가자고 했는데 탐 자동차 밧데리가 나간겁니다. 그래서 내 옆방에 살고 있던 테드한테 점핑 점 해달라고 해서 점핑해주고 있는 모습...ㅋㅋ
저러고 나서 테드도 탐한테 잡혀갔음...ㅋㅋ
사진 왼쪽에 금발 아저씨가 우리 건물 운영자인 탐....
중간에 점핑하고 있는 녹색 아저씨가 션(제 바로 앞방에 살고있는 분)
오른쪽 빨간색 청년이 테드...나랑 같은 학교 다니는 대학생...
(동만형 기억나요?? 여기 21 av W 에 superior st 랑 우리 건물 사이....)


여긴 제가 일하고 있는 NATSRL 랩실
현제 저는 여기서 미네소타 주정부에서 개발하고 있는 교통 통제 시스템인 IRIS 프로젝트에 참여하고 있답니다.
현재는 IRIS 쪽에서 수집되는 실질 교통 데이터를 시뮬레이터로 보내기 위한 중간 모듈 설계와 설계된 모듈을 이용해서 각종 교통 통제 알고리즘을 사전에 검증하고 실험하는 분야를 맞아서 하고 있습니다.


제가 일하는 연구실 자리...한국에 있을때 보다 훨씬 깔끔하죠??? ㅋㅋ
저랑 같이 일했던 snslab 연구실 사람들은 알겁니다..ㅋㅋ


위  사진은 NATSRL 연구실이 있는 civil engineering 건물 복도...
일단은 여기까지...
날씨 따뜻해지면 다양한 사진 포스팅 하겠습니다~~

posted by joyoungtae