log4j 보다 slf4j

IT/java 2009. 5. 7. 13:50
http://www.slf4j.org/manual.html
Posted by 즐건세상
l

jadclipse 설치

IT/eclipse 2009. 2. 14. 20:44
가끔 소스를 보고 싶은데 소스가 없는 경우가 있다. 그런 경우에는 디컴파일을 해서 소스를 볼 수가 있다.
예전의 디컴파일을 하기 위해서 명령어 창에서 명령어를 입력해서 디컴파일을 했지만, 이클립스 플러그인을 이용하면 편하게 디컴파일을 할 수 있다. 디컴파일러의 종류에는 여러가지가 있지만 여기서는 jad 디컴파일러를 이용한다. 다운 받는 주소는 아래와 같다.

http://sourceforge.net/project/downloading.php?groupname=jadclipse&filename=net.sf.jadclipse_3.3.0.jar&use_mirror=nchc

다운 받은 뒤 이클립스를 종료한 다음 플러그인 폴더에 복사 하면 설치가 완료된다. 설치를 완료한 다음 아래 그림과 같이 jad 가 설치된 폴더의 경로를 설정해줘야 한다.


경로를 설정해 주고 클래스 이름이나, 메소드에 Ctrl+클릭 또는  F3 키를 누르게 되면 디컴파일된 코드를  볼 수가 있다.

디컴파일이 되지 않게 하는 방법도 있는데 이는 아래 싸이트에 자세한 애용이 나와 있다.

http://java.sun.com/javase/technologies/security/



Posted by 즐건세상
l
이클립스에서 서브버전으로 연결되어 있는 프로젝트는 서브버전에 대한 정보가 길게 표시된다. 이클립스에서 이런 정보들을 편집할 수가 있다.
window-preferences 클릭한 다음 아래 그림에서 원하느대로 수정해서 사용하면 된다.

Posted by 즐건세상
l

netcat 사용법

IT/network 2009. 2. 4. 20:56
netcat 을 이용해서 서버의 정보를 알아볼수가 있다.
netcat 을 이용해서 네이버 사이트의 정보를 알아볼수가 있다.
사용법은 검색하면 많이 나오는데 위의 그림처럼 http 메소드를 입력하고 엔터를 두번쳐야 응답이 떨어진다. 엔터를 한번만 치게되면
계속 입력을 기다리고 있어서 제대로 실행되지 않느다.

Posted by 즐건세상
l
xp 원격 터미널로 접속해서 재부팅 하는 방법을 찾아보니(원래 되는줄 알았음)
command 명령어로 재부팅을 할 수 있는 방법이 있었다.
바로 TSSHUTDN 이란 명령어다. 명령어의 사용법은 아래와 같다.

그래서 이 명령어를 실행시키면 아래와 같이 된다.


매번 명령어를 입력하기 귀찮으니까 .bat 파일로 만들어서 사용하면 편하게 이용할 수 있다.
Posted by 즐건세상
l
서브 버전을 사용하다가 커밋을 날렸는데 MKCOL 405 에러가 떨어졌다.
처음에는 아파치 설정 수정해서 발생한 에러인줄알고 아파치 설정을 예전으로 돌려도 안된다. 그래서
구글에서 검색해보니 서버에 중복된 이름이 있을때 나는 에러란다.
그래서 서버에서 폴더를 삭제하고 다시 커밋을 날리니 잘된다.
Posted by 즐건세상
l

subversion 설치하기

IT/ASLC 2009. 1. 17. 12:53
cvs 에서 subversion 으로 소스 관리 툴이 넘어가는 분위기다. 이유야 여러가지가 있겠지만 개인적으로는 서브버전의 속도도 중요한 이유가 아닐까 생각된다. 현재 프로젝트에는 파일갯수가 25,000 개 정도 되는데 이클립스 CVS 플러그인으로 동기화를 하면 시간이 너무 많이 걸린다. 물론 개인의 피시 사양이나 서버의 사양에 따라 차이가 있긴 하겠지만..
서브버전을 그렇게 많이 쓰보진 않았지만 속도면에서는 많이 개선된거 같다.  CVS에 비하면 무지하게 빨라졌다. 특히 이클립스 플러그
인 보다는 거북이를 이용하면 속도는 더 빠르다.

 서브 버전 설치 방법은 이 싸이트(http://www.pyrasis.com/main/)에 가면 엄청상세하게 나와 있다. 그래서 이 글에서는 설치하는 방법보다는 서브버전에 대한 애기와 설치가 잘 안됐던 경우에 대해서 다룬다.
먼저 서브버전에 대해서 이야기를 조금 하자면, 나도 자세히는 모르지만...
서브버전은 아파치랑 연동이 되면서 webdav라는 프로토콜을 이용해서 버전관리를 하게 된다. webdav가 뭐냐면.. 기존의 http 프로토콜을 확장한 프로토콜이다. 기존의 http get, post..등의 메소드에 PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK ,UNLOCK 메소드가 추가됐다. 즉, 클라이언트에서 서버의 파일을 컨트롤 할 수 있다는 애기가 된다. 서브버전은 이런 기능을 이용해서 버전 관리를 하게 된다. 서브 버전자체로는 웹 서버의 기능이 없기 때문에(CVS는 있었지만)  아파치랑 연동해서 돌아가게된다. 아파치와 서브 버전의 연결고리가 필요한데, 그게 바로 mod_dav_svn.so 라는 파일이다. 그런데 이 연결이 제대로 안될때가 있다. 나도 잘 안되서 한참 검색을 해본 결과 서브버전싸이트에 정답이 있었다. 가까운데 나두고 멀리서 너무 찾은듯..
여기에(http://subversion.tigris.org/faq.html#mod_dav_svn-win32) 가면 해결 방법이 나와 있었다.  대충 해석하면 libdb4*.dll,
intl3_svn.dll, libeay32.dll and ssleay32.dll 파일을 아파치의 apache/bin, apache/modules 디렉토리에 복사를 해주면 된다라는 애기다. 이렇게 해도 안될 때에는 아파치와 서브버전을 최신 버전으로 설치해서 해보길 권장한다.
설치가 제대로 됐다면 서브 버전을 사용해 보고 아파치 access 로그를 보면 아래 그림과 같은 로그를 볼 수 있다. 아까 위에서 말한 메소드가 보이는것을 확인 할 수가 있다.



그리고 서브버전 클라이언트 툴로 Tortoisesvn(http://www.tortoisesvn.tigris.org/) 을 쓰보는것도 추천한다.

사용법은 검색하면 쉽게 찾을 수 있다.

Posted by 즐건세상
l
자바 스크립트를 많이 사용하지만 사용할 때 마다 짜증이 많이 난다. 데이터 타입을 체크해주지도 않고 실행하다가 오류가 발생해도
별다른 메시지도 없다. 그남아 파이어 폭스에서는 firebug를 이용하면 짜증이 좀 덜 난다. 그런데 액티브 x 를 설치해야되는 경우에는
파이어폭스에서는 디버깅이 안된다. 이럴 경우에는 어쩔 수 없이 ie에서 테스트를 해야된다. ie 에서 디버깅하는 방법을  찾다가 frontpage에서 디버깅이 가능하다라는것을  알아냈다. frontpage 는 오피스 xp나  2003의 FromtPage가 지원되고 다른 버전은 지원되지 않는다.
  FromtPage 설치한다. 설치 할때에는 전체 설치로 설치를 한다. 안그러면 자바스크립트 디버깅에 필요한 파일들이 설치 되지 않는다.
설치를 하고 나면 그림1과 같이 메뉴를 선택한다.

<그림 1 자바 스크립디 디버그 메뉴 선택>

그림 1에서 메뉴를 선택하면 그림 2와 같은 화면을 볼 수가 있다. 이 화면은 일정나이를 체크하는 자바스크립트 코드입니다.

메뉴 선택

메뉴

<그림 2 Miscrosoft Script Editor>

그림 2에서 아래 쪽의 html 탭을 클릭하면 그림3과 같은 자바스크립트 코드를 볼 수 있습니다.



<그림 3 자바 스크립트 디버깅>



그림 3에서와 같이 브레이크 포인틀 걸고 디버깅을 할 수가 있습니다.


참고 사이트

http://www.bumworld.pe.kr/270

http://www.jonathanboutelle.com/mt/archives/2006/01/howto_debug_jav.html

Posted by 즐건세상
l

wireshark 사용법

IT/network 2009. 1. 17. 11:26
모의 행킹 테스트에서 아이디와 비밀번호가 암호화가 되지 않는문제가 있었다. 소스에는 암호화가 되도록 되어 있었지만
wireshark 을 이용해서 보면 암호화가 되지 않는다. 아무래도 암호화 프로그램에 약간의 문제가 있는듯...
그럼 wireshark 의 사용법에 대해서 간단하게 설명한다. 기능이 많이 있는거 같은데 아직 많이 쓰보질 않아서 정확히는 잘 모르겠음..
wireshark은 http://www.wireshark.org/ 에서 다운 받을 수 있다. 물론 공짜다..
wireshark은 하드웨어 그러니까 유선랜, 무선랜, 블루투스 등을 통해서 왔다갔다 하는 패킷을 캡쳐해서 볼 수 있는 프로그램이다.
패킷을 캡쳐하기 전에 어떤 네트워크 연결의 패킷을 캡쳐 할것인지 설정해줘야 한다. 그 설정하는 메뉴는 그림1에서 보는것처럼Capture - Option 메뉴를 클릭하면 된다.


<그림1 wireshark 옵션 설정 메뉴>

옵션 메뉴를 클릭하면 그림 2에서 보는것과 같이 현재 자신의 네트워크 연결에 대해서 볼 수가 있다.

여기서 패킷을 캡쳐하고 싶은 네트워크 연결을 선택하면 된다.

< 그림 2 네트워크 연결 선택>
캡쳐하고 싶은 네트워크 연결을 선택하고 아래쪽의 Start 메뉴를 클릭하면 패킷의 캡쳐가 시작된다.

<그림3 패킷 캡쳐 예>

그림3은 패킷 캡쳐의 결과다 위의 그림에서 보는것처럼 리스트가 엄청 많다. 이걸 다 볼수는 없기 때문에 필터링을 해서 볼 수 있다.

filter 에서 http프로토콜만 보고 싶은 경우 필터에 http 를 입력하고 Apply 버튼을 클릭하면 필터링을 해서 보여준다.




Posted by 즐건세상
l

개발 환경 자동화

IT/ASLC 2008. 12. 27. 11:29
ci 에 대한 자료를 찾다가 글을 쓰기에는 아직 지식이 부족한거 같고
관련 툴들만 적어봅니다.

■ 소스 코드 관리

 - subversion, cvs
<span style="font-size: 9pt;">슬라이드 2</span>
issue 관리 시스템
 - trac, mantis, bugzilla, jira
<span style="font-size: 9pt;"><span style="font-size: 9pt;">슬라이드 2</span></span>
자동 빌드 시스템
 - crusie control, hudson, team city
쉬운 deploy
  - junit, cactus, JUnitEE
테스트 커버리지
 - Cobertura, EMMA
 
■ code inspection
 - check style, findbug, pmd
※ 참고 사이트
 -  보다 자세한 내용은 아래 사이트를 참고하세요

http://bcho.tistory.com/
http://www.ibm.com/developerworks/kr/library/j-ap01117/index.html
http://okjsp.tistory.com/tag/ci
http://www.pyrasis.com/main/
http://martinfowler.com/articles/continuousIntegration.html
http://agile.egloos.com/

슬라이드 12
* 현재 프로젝트에서 개선이 필요한 부분
 - 수정 사항을 운영 서버로 반영하기 위한 부분 자동화가 필요
   -> folder 생성 프로그램과 ftpclient 프로그램으로 해결
 - 로깅 시스템 개선
  -> 로그 레벨 조정
  -> error 레벨이 발생했을 경우 관리자로 email전송
  -> 업무별 로그 파일 분리
 - 디버깅 환경
  -> cactus를 이용한  j2ee 에서 디버깅 환경 구성


Posted by 즐건세상
l