누군가의 소스 분석하려면... 아무리 잘 만들어진 것이라 할지라도, 대략 난감하기 이를때 없다.
검색과 경험을 통해 몇가지 방안을 소개
- eclipse(eclipse.org)의 call hierarchy (ctrl + alt + h)
어디에서 자신을 호출 한것과 사용하는 리스트 보여줌.
- RSA(Rational Software Architech 7):
아시다 싶이 IBM에서 나온 Eclipse기반 개발 툴이지요. 역공학이 가능합니다. 좀더 설명하자면, visual 하게 class diagram을 볼수 있고, source와 diagram이 동기화 되고 클래스 전체 구조를 볼수 있어 좋은 듯 합니다. 하지만, 인스톨 하기 쉽지않고, 약간의 사전 지식이 있어야 사용할수 있습니다. 위에 있는 call hierarchy와 같이 사용하면 그나마 좀 수고를 덜 수 있습니다.
- doxgen(http://www.stack.nl/~dimitri/doxygen) : 문서가 없다면 문서를 만들어 주고 정리해 줍니다만, 소스 doc작업이 안되어 있다면 허당입니다. 소스상에 doc 작업이 되있다면 쉽게 해볼수 있는 작업이 되겠습니다. 소스에 주석을 안달려고 노력하신 분이 있다는 것에 한숨입니다만..
- Magnum1.26(http://blog.naver.com/joneyrio) : 인스톨없이 쉽게 사용하고 visual하게 보여줍니다. 잠깐 잠깐 몇개의 클래스 보기에는 괸찮은 툴로 생각됩니다. 위에있는 rsa처럼 막대한 기능은 없지만, 작은만큼 그때 그때 편하게 사용할 수 있을것으로 생각됩니다.
- mind map을 이용한 소스분석(http://blog.naver.com/mis8855?Redirect=Log&logNo=150016760089)
저도 이것을 사용합니다만, 이것 저것 기억하고 정리해야할 부분이 많은 것을 효과적으로 정리하게 해줍니다. 소스 분석에서도 예외는 아닙니다. 저는 mind manager pro 7.0을 사용하고 있습니다.
- 기타 상용툴이 있겠습니다만,.. 베타라도 사용해 보기 쉽지 않네요.
제가 사용하는 플러그인
- eclipse europa & myeclipse 6.0
- OOP와는 별로 친하지 않지만 현실세계의 영원한 큰 형님이신 ERD도 필수 이겠습니다.( http://www.azzurri.co.jp)
- java byte code 분석 밎 보기위해(bytecode outline plug-in)
- 버그검색 밎 일관성있는 관리를 위해(FindBugs Plug-in)
- decompile을 편하게 하기위한 jadclipse
- svn과 trac 연동을위한 플러그인들
- vocibulary plug-in
- Log4E가 빠졋네요
그 다음에 작업별 workspace(회사용1,2,3.., 공부workspace, project1,2)가 따로 존재하고, eclipse version도 같은 이유로 몇개(?) 존재합니다.
토요일, 12월 29, 2007
생각하기에 따라 가치가 다른 소프트웨어를 사용하고, 그 것을 만드는 직업을 갖고 있는 나 입니다.
사실, 소프트웨어의 가치는 내가 재미있고 즐기기 위한 것(게임, WORD, EXCEL등)과,
내가 불편한(날새기 삽질, 계산, 확인등 반복되는 작업, HTS, 온라인거래, 쇼핑, IOC, AOP, APM등)것들을 자동화 해주는 것들 때문에 사용하는 것 갖습니다.
그래서 나는 게으르기 때문에 이걸 만들었어.. 혹은 이걸 사용해 하는 사람을 볼수 있을 것 입니다.
게으르기 때문에 손이 한번 더 가는 작업을 한다는 것이지요.
역설적이긴 합니다만, 게으른 사람의 항변이 맞는 듯 합니다.
사실, 이클립스도 게으른 사람이 만들었다는 느낌이 듭니다. 각종 자동화 툴과 기능 팁들이 게으름을 대표하고 있습니다. 물런 사용하는 사람에 따라 틀리겟지만, 이클립스는 어느정도 게으른 자들의 결과물 이라고 생각해봅니다.
하지만, 게으른 사람을 위한 툴도 가끔은 부지런하게 만들어 버리는 사람들이 있습니다.
끙샤, 회사에서 부지런해야하는 것들을 좀더 게으르게 만들어야 겠습니다.
가정의 행복과 나 회사를 위해서...
더욱 게으르기위해 공부해야겟습니다.
사실, 소프트웨어의 가치는 내가 재미있고 즐기기 위한 것(게임, WORD, EXCEL등)과,
내가 불편한(날새기 삽질, 계산, 확인등 반복되는 작업, HTS, 온라인거래, 쇼핑, IOC, AOP, APM등)것들을 자동화 해주는 것들 때문에 사용하는 것 갖습니다.
그래서 나는 게으르기 때문에 이걸 만들었어.. 혹은 이걸 사용해 하는 사람을 볼수 있을 것 입니다.
게으르기 때문에 손이 한번 더 가는 작업을 한다는 것이지요.
역설적이긴 합니다만, 게으른 사람의 항변이 맞는 듯 합니다.
사실, 이클립스도 게으른 사람이 만들었다는 느낌이 듭니다. 각종 자동화 툴과 기능 팁들이 게으름을 대표하고 있습니다. 물런 사용하는 사람에 따라 틀리겟지만, 이클립스는 어느정도 게으른 자들의 결과물 이라고 생각해봅니다.
하지만, 게으른 사람을 위한 툴도 가끔은 부지런하게 만들어 버리는 사람들이 있습니다.
끙샤, 회사에서 부지런해야하는 것들을 좀더 게으르게 만들어야 겠습니다.
가정의 행복과 나 회사를 위해서...
더욱 게으르기위해 공부해야겟습니다.
수요일, 12월 26, 2007
토요일, 12월 15, 2007
오랫만에 그동안 자주(?) 못 가본 분들을 방문했다.
그렇다고 해봐야, 몇명 되지 않지만..
게시물을 읽고 있으면, 작아진다는...
오늘은 토비님 게시물 TheSpringExperience2007 첫날을 읽으면서, 2007년 초에 계획은 spring experience를 가보는 것과 책 번역을 한 권쯤 하는것이었는데.. 영어공부부터 좀더 하고.. 말을 하던지.. -,.-;;;
어느것 하나 하지 못했다는 것을 알게 되었다.
사실 유난히 일이 많아서 거의 미친 것 처럼 보낸 한해였다고 나름 위로 하지만...
끙~~~ 그건 너무 약하다는걸 내가 너무 잘 안다.
얼마 남지 않은 한해이지만, 다시 시작해야지~~
혹시 토비님 글을 읽지 못하셨으면, 읽어보시길 권합니다.
저는, 다시 책상에 앉아 영어공부 내지는 컴터를 부여잡게 되네요. BCEL 아..
성의없는 QCon San Francisco 2007 후기
TheSpringExperience2007 첫날
그렇다고 해봐야, 몇명 되지 않지만..
게시물을 읽고 있으면, 작아진다는...
오늘은 토비님 게시물 TheSpringExperience2007 첫날을 읽으면서, 2007년 초에 계획은 spring experience를 가보는 것과 책 번역을 한 권쯤 하는것이었는데.. 영어공부부터 좀더 하고.. 말을 하던지.. -,.-;;;
어느것 하나 하지 못했다는 것을 알게 되었다.
사실 유난히 일이 많아서 거의 미친 것 처럼 보낸 한해였다고 나름 위로 하지만...
끙~~~ 그건 너무 약하다는걸 내가 너무 잘 안다.
얼마 남지 않은 한해이지만, 다시 시작해야지~~
혹시 토비님 글을 읽지 못하셨으면, 읽어보시길 권합니다.
저는, 다시 책상에 앉아 영어공부 내지는 컴터를 부여잡게 되네요. BCEL 아..
성의없는 QCon San Francisco 2007 후기
TheSpringExperience2007 첫날
금요일, 12월 14, 2007
BCEL(Byte Code Engineering Library)
입사 3일째, BCEL(Byte Code Engineering Library)를 보고 있다.
class파일을 조작(수정, 삭제, 추가)가능하게 해주는 거란다.
평소에 해보지 않는거라, 복잡하고 어렵다. 처음에는 개념도 잘 안잡혔다는..
아직도 마찬 가지 이지만, 역시나 생각하기에 따라 가능성이 몇 천배될 놈인건 분명하다.
이것을 사용하는 대표적인 것들이, 자바에서 사용하는 퍼포먼스, 테스트, 프로파일러 등이고,
AspectJ와 같은 aop도 출발은 이렇다니... 물런 자바의 annotation을 이용하기도 하지만서도..
역시나 해봐야 앞단 프레임웍만 삽질하고 있는내가 좀 한심했다.
좀 의아한것은, BCEL이나 ASM 자료가 한국에는 거의 없다는.. 것이다.
역시나 한국 IT를 대변해 주는것이 아닌가 하여.. 못내 씁쓸하다. ㅡ,.ㅡ;;
class파일을 조작(수정, 삭제, 추가)가능하게 해주는 거란다.
평소에 해보지 않는거라, 복잡하고 어렵다. 처음에는 개념도 잘 안잡혔다는..
아직도 마찬 가지 이지만, 역시나 생각하기에 따라 가능성이 몇 천배될 놈인건 분명하다.
이것을 사용하는 대표적인 것들이, 자바에서 사용하는 퍼포먼스, 테스트, 프로파일러 등이고,
AspectJ와 같은 aop도 출발은 이렇다니... 물런 자바의 annotation을 이용하기도 하지만서도..
역시나 해봐야 앞단 프레임웍만 삽질하고 있는내가 좀 한심했다.
좀 의아한것은, BCEL이나 ASM 자료가 한국에는 거의 없다는.. 것이다.
역시나 한국 IT를 대변해 주는것이 아닌가 하여.. 못내 씁쓸하다. ㅡ,.ㅡ;;
수요일, 12월 12, 2007
Vocabulary Plug-in 1.1.0 Upgrade Plan
조금씩 조금씩 수정 되고 있는 Vocabulary plug-in 입니다.
애초에 의도된 만큼 발전 할수 있을지 미지 수 이지만, 아주 조금씩 발전해 가는 걸 봅니다.
화이팅 해주세요.
또다른 의견 주시면 적극 반영 하겠습니다.
- 기본 기능 수정
. 틀렸으면 틀렸다고 표시하고..1,2초 후에 자동으로 넘어가거나...
. 답을 빨간색으로 표시해주고..그거 클릭하면 다음 문제 나오게 해야 할 듯..
이건 5지 선다를 무조건 찍는다는 분이 있어서, 타당하다 생각 됨.
- 신규단어 추가 및 기존단어 수정 삭제 기능
기존에 자신이 모르는 단어 추가 밎 수정, 삭제 기능
- 기존 단어 export 기능 추가
신규단어가 추가 삭제 등으로 원본 text 파일을 export 할수 있도록 기능 추가
- Dictation 기능 개선
기존에는 정답을 맞춘 것만 출력하였으나, 옵션을 두어서 전체를 대상으로 테스트 할수 있도록 수정
물런, 정답인 단어는 아는 것으로 추가하거나 관리로 넘어갈수 있도록 수정
- 기타 잡다한 버그 수정
인터넷이 연결 안되어 있을때, 정보 메시지 출력.
이렇게 잡았다.
마지막 배포버전 다운로드와 전체 설명은 :
http://cafe.naver.com/ArticleRead.nhn?clubid=11492512&menuid=28&boardtype=L&page=1&articleid=1768
애초에 의도된 만큼 발전 할수 있을지 미지 수 이지만, 아주 조금씩 발전해 가는 걸 봅니다.
화이팅 해주세요.
또다른 의견 주시면 적극 반영 하겠습니다.
- 기본 기능 수정
. 틀렸으면 틀렸다고 표시하고..1,2초 후에 자동으로 넘어가거나...
. 답을 빨간색으로 표시해주고..그거 클릭하면 다음 문제 나오게 해야 할 듯..
이건 5지 선다를 무조건 찍는다는 분이 있어서, 타당하다 생각 됨.
- 신규단어 추가 및 기존단어 수정 삭제 기능
기존에 자신이 모르는 단어 추가 밎 수정, 삭제 기능
- 기존 단어 export 기능 추가
신규단어가 추가 삭제 등으로 원본 text 파일을 export 할수 있도록 기능 추가
- Dictation 기능 개선
기존에는 정답을 맞춘 것만 출력하였으나, 옵션을 두어서 전체를 대상으로 테스트 할수 있도록 수정
물런, 정답인 단어는 아는 것으로 추가하거나 관리로 넘어갈수 있도록 수정
- 기타 잡다한 버그 수정
인터넷이 연결 안되어 있을때, 정보 메시지 출력.
이렇게 잡았다.
마지막 배포버전 다운로드와 전체 설명은 :
http://cafe.naver.com/ArticleRead.nhn?clubid=11492512&menuid=28&boardtype=L&page=1&articleid=1768
한 이라크 여인이 지난 9월 16일 바그다드 동북쪽 바쿼바에서 총을 맞고 죽어가는 6살난 아들의 시신을 껴안고 흐느끼고 있다. 2003년 미국의 침공 이래 이라크는 사회 안정은 커녕 올해도 매월 수백명이 교전과 무력충돌 등으로 사망했다. 굶주림과 분쟁을 피해 고향을 떠난 400여만명의 난민이 주변 국가를 떠돌고 있다. 미군도 올 한해 800여명 이상이 죽어 ‘최악의 해’를 맞았다.
기사를 보고 가슴이 아파 눈물이 나와요. 누군가 같이 울어줄 사람이 필요한데...
전쟁 게임(Company of Heroes, Call of Duty 4 - Modern Warfear)을 유난히 좋아한데..
잠시나마 반성해 봅니다.
게임시간을 줄여서, 다른 누군가의 도움이 되고자 노력하겟다고..
금요일, 12월 07, 2007
오늘 그디어 36부작 중국드라마 손자병법(삼십육계, 손빈,방연) 편을 보았다.
제나라의 30만 위나라의 30만 대군의 싸움이 아니라,
양국의 책사 역할을 하는 손빈과 방연의 싸움을 본다.
10대말 인생의 진로를 결정해야할 때, 삼국지(지금 생각에 금성출판사에서 나온 46권으로 이루어졌었다는??)에 나오는 제갈공명을 보면서 대학으로 진로를 바꾸었는데.. 오늘도 역시나 같은 결론이 나온다.
그때에 나는 조금만 도장의 사범(지금은 배나온 아저씨에 불과하므로.. 비교불가) 생활을 하고 있었던 지라 관우, 장비, 조자룡등의 맹장이 훨씬 멋져 보였었다. 그러나, 공명의 말에 움직여야하는, 승리하한다는....
....
사람은 각 사람의 크기가 있나보다. 좋고 나쁜 크기가 아니 쓰임새의 크기라 표현해야 하나..
산으로 비유하자면, 우리집 뒷동산인 대모산과 남산과 백두산 금강산 지리산등 많은 산이 있는것이다.
어느 누가 대모산이 쓸모없는 산이라 말하겠는가? (몇번 올라가봣지만, 3시간이면 왕복할수있는 아주 멋진 산이다.)
이 산의 크기는 태어날(어느 정도는 만들어 지기도 하지만)때 부터 어느정도 만들어 지기도 하기에, 사람의 영역이 아닌 신의 영역인듯하다. 제일 높은산도 하늘 아래 있는것이고, 제일 작은 산도 마찬가지고, 산이라 부르기에 창피한 언덕도 하늘아래에 있다.
위나라 방연 분명 뛰어난사람으로 주위 많은 나라를 점령하였으나, 손빈이 방연에 대해 말하길 자신의 잘난것에만 치우쳣다고 다른 사람을 무시한다고 평한다.
자신의 그릇을 알고... 신에대해 감사하며 겸손하는 것이 사람이 도가 아닐까?
'Do not despise these small beginnings' ZECHARIAH 4:10
제나라의 30만 위나라의 30만 대군의 싸움이 아니라,
양국의 책사 역할을 하는 손빈과 방연의 싸움을 본다.
10대말 인생의 진로를 결정해야할 때, 삼국지(지금 생각에 금성출판사에서 나온 46권으로 이루어졌었다는??)에 나오는 제갈공명을 보면서 대학으로 진로를 바꾸었는데.. 오늘도 역시나 같은 결론이 나온다.
그때에 나는 조금만 도장의 사범(지금은 배나온 아저씨에 불과하므로.. 비교불가) 생활을 하고 있었던 지라 관우, 장비, 조자룡등의 맹장이 훨씬 멋져 보였었다. 그러나, 공명의 말에 움직여야하는, 승리하한다는....
....
사람은 각 사람의 크기가 있나보다. 좋고 나쁜 크기가 아니 쓰임새의 크기라 표현해야 하나..
산으로 비유하자면, 우리집 뒷동산인 대모산과 남산과 백두산 금강산 지리산등 많은 산이 있는것이다.
어느 누가 대모산이 쓸모없는 산이라 말하겠는가? (몇번 올라가봣지만, 3시간이면 왕복할수있는 아주 멋진 산이다.)
이 산의 크기는 태어날(어느 정도는 만들어 지기도 하지만)때 부터 어느정도 만들어 지기도 하기에, 사람의 영역이 아닌 신의 영역인듯하다. 제일 높은산도 하늘 아래 있는것이고, 제일 작은 산도 마찬가지고, 산이라 부르기에 창피한 언덕도 하늘아래에 있다.
위나라 방연 분명 뛰어난사람으로 주위 많은 나라를 점령하였으나, 손빈이 방연에 대해 말하길 자신의 잘난것에만 치우쳣다고 다른 사람을 무시한다고 평한다.
자신의 그릇을 알고... 신에대해 감사하며 겸손하는 것이 사람이 도가 아닐까?
'Do not despise these small beginnings' ZECHARIAH 4:10
토요일, 12월 01, 2007
경험보다 실제 자료가 중요하다
오늘 '이클립스 실전 플러그인 개발'에 관한 스터디가 9시30분에 있었다.
장소는 토즈 강남역점에서 하였다. 물런, 토즈 강남역점은 강남역에서 좀 멀리 있고, 짐(노트북 배낭과, 에이콘에서 협찬해주신 책 5권)도 무지 많아서 걸음을 최대한 아끼고 싶었다.
평소에 강남역에 가려면, 집에서 06번 버스를 타고 삼성역으로가서 강남역까지 지하철을 타고 가면 30분-40분정도 여유있게 갈수 있는거리다.
허나.. 짐이 많아... 좀 적게 걸어볼 요량으로...
예전에 몇번 버스를 타본 05번 마을버스를 어디서 내려 양재역까지 가면 강남역까지 가는 버스가 있었던듯 했다. -,.-;;; 이것만 알고 무턱대고 05번 버스를 타고 출발했다. 흠, 어디서 내려야하는데.. 가는 도중에 잘 기억안나서... 느낌상으로 대강 내림... 택시를 탈까하다.. 중간에.. 좀 걸고.. 찾아 어디서 내려타는 양재역가는 버스 발견해서 겨우 양재역 도착... 양재역에서 강남역까지 무사히 도착..
결국 도착해 보니 1시간 30분이 걸렸고.. 으.. 지각해버렸고.. 킁
-------------------------------------------------------------------
역시나 경험이 중요하지만, 잘 알지 못한 모호한 경험은 독이 된다.
오늘도 약속 시간이 정해져 있는 일이어서, 평소에 잘 알고 있는 길로 가야 했어야 하는데.. 흠...
잘 알지 못하는 길은 좀더 찾아보고, 확실히 알아둬야 했는데..
좋은 경험을 한것 같다.
장소는 토즈 강남역점에서 하였다. 물런, 토즈 강남역점은 강남역에서 좀 멀리 있고, 짐(노트북 배낭과, 에이콘에서 협찬해주신 책 5권)도 무지 많아서 걸음을 최대한 아끼고 싶었다.
평소에 강남역에 가려면, 집에서 06번 버스를 타고 삼성역으로가서 강남역까지 지하철을 타고 가면 30분-40분정도 여유있게 갈수 있는거리다.
허나.. 짐이 많아... 좀 적게 걸어볼 요량으로...
예전에 몇번 버스를 타본 05번 마을버스를 어디서 내려 양재역까지 가면 강남역까지 가는 버스가 있었던듯 했다. -,.-;;; 이것만 알고 무턱대고 05번 버스를 타고 출발했다. 흠, 어디서 내려야하는데.. 가는 도중에 잘 기억안나서... 느낌상으로 대강 내림... 택시를 탈까하다.. 중간에.. 좀 걸고.. 찾아 어디서 내려타는 양재역가는 버스 발견해서 겨우 양재역 도착... 양재역에서 강남역까지 무사히 도착..
결국 도착해 보니 1시간 30분이 걸렸고.. 으.. 지각해버렸고.. 킁
-------------------------------------------------------------------
역시나 경험이 중요하지만, 잘 알지 못한 모호한 경험은 독이 된다.
오늘도 약속 시간이 정해져 있는 일이어서, 평소에 잘 알고 있는 길로 가야 했어야 하는데.. 흠...
잘 알지 못하는 길은 좀더 찾아보고, 확실히 알아둬야 했는데..
좋은 경험을 한것 같다.
피드 구독하기:
글 (Atom)