기술정보2010. 2. 1. 10:15

Jad는 자바의 대표적인 디컴파일러입니다.(디컴파일러가 뭐냐 그런 질문은 사양합니다.)

기본적으로 Jad만 놓고 써도 문제는 없지만, 수십, 수백개의 클래스를 일일이 열어 보기는 쉽지 않은 관계로 자기가 사용하고 있는 IDE에 올려 놓고 보고 싶은 클래스를 바로 클릭 해서 보는경우가 많습니다.

아무튼 현재 제가 사용하고 있는 IDE가 이클립스인 관계로 본 내용은 이클립스에 해당 합니다.
물론 다른 IDE도 비슷 비슷 할 겁니다...

1. 관련 파일 다운로드

2. jad.exe 설정
다운로드한 jad.exe파일이 있는 곳을 디렉토리 환경변수 path에 등록하면 아무곳에서나 실행할 수 있는데..
그냥 기본적으로 JAVA_HOME/bin 디렉토리에 복사하는게 간단할 것이다.

콘솔에서 jad라고 했을 경우 아래와 같이 나오면 된다.


3. JadClipse설정
다운로드한 JadClipse는 압축을 풀어 이클립스의 plugins디렉토리에 그대로 복사한다.
이클립스를 실행 시켜 창->환경설정->일반->편집기->파인 연관을 클릭한다.
영문버전: Window->Preference->Workbench->File Associations

아래 이미지와 같이 파일 유형에서 .*class를 선택하고 연관된 편집기의 JadClipse Class File Viewer를 선택한후 기본값 버튼을 클릭한다.


이 후 기본적인 Jad의 설정은 java->JadClipse에서 할 수 있다.
가끔 클래스를 디컴파일 할때 한글이 깨져서 나오는 경우(한글이 유니코드로 변환되기 때문)가 있는데 이럴때는 java->JadClipse->Misc를 선택한 후 Convert Unicode strings into ANSI strings에 체크를 한다.




Posted by Jake Kim
기술정보2010. 1. 22. 15:22


아직 설정 해서 사용은 안해봤지만 jquery를 비주얼스튜디오에서 바로 자동완성을 해서 사용할 수 있다면 나름 괜찮을 것 같아서... 포스트 합니다.
Posted by Jake Kim
기술정보2009. 11. 17. 15:41

10g 버전으로 9i버전의 오라클을 데이터를 익스포트 할때 버전 차이로 문제가 발생한다.(위 이미지 참고)
위와 같은 경우라면 오라클의 EXPORT하는 버전을 맞추면 된다.

Toad -> View -> Excutables의 Export의 실행 버전을 맞춘다. 즉 접속할때 상위버전으로 했다면 익스포트하는곳 만이라도 9i로 맞추면된다.


Posted by Jake Kim
기술정보2009. 8. 20. 09:39

<select></select>객체에 자바스크립의 innerHtml를 사용해서 <option></option> 값을 입력하려고 했는데 문제가 발생되어 찾아 보니 현재 ie에 이미 이 버그가 올려져 있더군요.

정확히 리포팅된 버그 제목은 "BUG: Internet innerHTML 개체 선택 속성을 설정할 수 없다." 였습니다.

참고URL: http://support.microsoft.com/kb/276228

근데 버그가 리포팅된지가 2003년에 적용되는 제품이 Microsoft Internet Explorer 5.0, Microsoft Internet Explorer 5.01, Microsoft Internet Explorer (Programming) 5.01 SP1, Microsoft Internet Explorer 5.5 이라고 나와 있는데...

아직도 IE8에서도 같은 증상이 나오는군요.

해결 책 및 버그에 대한 자사한 내용은 참고URL: http://support.microsoft.com/kb/276228 에 가시면 정확히 무슨 말인지 아실 수 있을 겁니다.

Posted by Jake Kim
기술정보2009. 8. 13. 14:51

이 포스트가... 컴퓨터 정보는 아니지만 프로그래밍중 나온 문제다보니... 여기에 올려둔다.(-_- 계산법 자체는 초등학교 수준이지만 사용할 일도 많고 가끔 헛갈리는일도 많다보니...-_-)

전체값에서 일부값은 몇 퍼센트?
일부값 ÷ 전체값 X 100
예제) 300에서 105는 몇퍼센트?
답: 35%

전체값의 몇 퍼센트는 얼마?
전체값 X 퍼센트 ÷ 100
예제) 300의 35퍼센트는 얼마?
답) 105

숫자를 몇 퍼센트 증가시키는 공식
숫자 X (1 + 퍼센트 ÷ 100)
예제) 1548을 66퍼센트 증가하면?
답) 2569.68

숫자를 몇 퍼센트 감소하는 공식
숫자 X (1 - 퍼센트 ÷ 100)
예제) 1548을 66퍼센트 감소하면?
답) 526.32


 

Posted by Jake Kim
기술정보2009. 4. 14. 09:37


웹 개발을 해본 사람이라면 알겠지만 스크립트 에러, css에러 등을 직접 보면서 잡아줘야 한다.
이러다보니 표준도 잘 안지켜지고 자기가 개발하고 있는 코드가 웹표준인지, 정상적인 코드인지 모를때가 있다.
일단은 브라우저마다 표기해주는 방법이 다르보니(이부분은 지금까지 ie의 표준 아닌 표준 때문에 일어난 일이다.)

어째뜬 IE8이 출시되고 웹 표준 심사까지 모두 통과하는 기염을 토해냈던 브라우저인만큼 개발자들을 위한 배려가 돋보인다.^^

위 이미지를 보면 알겠지만 html,css 스크립트 까지 개발자들을 위한 툴이 존재한다.
사용방법은 도구->개발자도구 또는 단축키 F12를 누르면 됩니다.

일단은 개발직에 취직을 했지만 계속되는 문서 작업으로 위 기능을 당분간 쓸일이 없기 때문에 기능 소개는 제가 실제로 개발을 시작하면 올리도록 하겠습니다.

Posted by Jake Kim
기술정보2009. 3. 13. 17:33

구분: 엑셀
설명: 각 필드의 값을 비교하여 특정 값을 복사하기

엑셀을 사용 하다 보면 두 필드의 값을 비교하여 그 값이 일치 한다면 특정 필드의 값을 복사해 올 일이 종종 있다. 이럴 때 사용할 수 있는 유용한 엑셀 함수가 VLOOKUP이다.

VLOOKUP의 함수 인자를 살표보면 VLOOKUP(LOOKUP_VALUE, Table_array, Col_index_num,Range_lookup) 이와 같다.

Lookup_value: 비교값
Table_array: 찾을 대상 목록
Col_index_num: 찾을 대상 목록에서 복사해올 인덱스
Range_lookup: 정확도

함수에 관한 세부 설명은 엑셀에서 직접 참고 하기 바라며, VLOOKUP을 통해 어떻게 일을 편하게 할 수 있는지 알아보자.



A데이터와 B데이터의 코드명을 비교하여 2자리가 같으면 대분류, 3자리가 같으면 중분류, 5자리가 같으면 소분류로 나누려고 한다.

이때 비교 대상의 코드명을 2자리,3자리, 5자리로 분류하고 이 값을 VLOOKUP을 사용하여 비교하면 간단히 해결 할 수 있다.

1.먼저 코드명 나누기는 자리수로 =LEFT(대상,자리수)로 D번과 같이 나눈다.
2.=VLOOKUP을 사용하여 나눠진 코드명을 비교대상 테이블에서 찾는다.

=VLOOKUP(J2, $A:$B,2,FALSE): 비교값, 대상테이블, 대상테이블의 복사위치, 정확도
이때 중요한 것은 대상 즉 J2는 드래그할 때 마다 셀위치가 바껴야 하고 대상 테이블은 그대로 있어야 한다. 이따 대상테이블의 주소를 고정으로 둘 수 있는데 셀주소 앞에 $를 붙이면 된다.
 

Posted by Jake Kim
기술정보2008. 11. 6. 22:49

본 내용은 정확하지 않을 수 있으며, 어디까지나 제 생각에 의해 정리된 내용입니다.


SUN
에서 언급한
string Buffer(http://java.sun.com/j2se/1.4.2/docs/api/java/lang/StringBuffer.html)의 내용을 대충 살펴보자면, String Buffer는 가변성 문자열로 String과 비슷하지만 변경이 가능하며, String Buffer에 포함된 Method를 호출 함으로써 어느 지점의 문자열이든 변경 할 수 있다고 하네요. 또한 쓰레드 상에서 안전하다는 언급이 되어있습니다.


.............
생략…………….
 

StringBufferappendinsert methods는 어떠한 데이터 타입도 수용가능 하도록 오버로드 되어있으며, 또한 효과적으로 데이터를 String으로 컨버터에서 String Buffer로 보낸다고 합니다. Append메소드는 문자열을 Buffer끝에 추가하며, insert는 지정된 위치에 추가 합니다.

 

A string buffer implements a mutable sequence of characters. A string buffer is like a String, but can be modified. At any point in time it contains some particular sequence of characters, but the length and content of the sequence can be changed through certain method calls.

 

String buffers are safe for use by multiple threads. The methods are synchronized where necessary so that all the operations on any particular instance behave as if they occur in some serial order that is consistent with the order of the method calls made by each of the individual threads involved.

 

.............생략…………….

 

The principal operations on a StringBuffer are the append and insert methods, which are overloaded so as to accept data of any type. Each effectively converts a given datum to a string and then appends or inserts the characters of that string to the string buffer. The append method always adds these characters at the end of the buffer; the insert method adds the characters at a specified point.


 

 
그렇다면 String StringBuffer의 차이점은?

String은 불가변성으로 문자열을 저장하게 되면 특정 위치에 입력된 문자열만큼 메모리를 할당 받아 쓰게 됩니다.


StringBuffer
는 가변성으로 문자열을 저장하게 되면 특정 위치에 일정 크기의 메모리를 할당 받아 쓰게 됩니다.

 

, String에 의해서 저장된 문자열은 글에 대한 수정이 안되며 수정이 된다면 그것은 문자열만큼 다시 메모리를 할당 받아 쓰는 것입니다. 하지만 StringBuffer는 문자열이 입력될 때 마다 일정 부분만큼 메모리를 다시 할당 받아 그 글을 입력하게 됩니다.

 

간단히 요약 하자면 String에 의해서 만들어진 변수가 있다고 하면 글이 쓰일 때마다 입력된 글만큼 메모리를 끌어오지만 StringBuffer는 글자가 입력될 때마다 메모리 크기를 늘려간다. StringBuffer는 메모리 위치가 변경 되지 않지만 String은 글이 입력될 때마다 메모리 주소가 바뀐다는 정도로 설명 할 수 있겠다.

 

 

그렇다면 무엇이 더 효율적일까?

String StringBuffer는 건물을 새로 짓는지 아니면 규모를 키워 가는지로 보시면 됩니다. 즉 문자열의 크기가 작을 때는 둘 다 비슷합니다. 오히려 String이 빠를 가능성도 있습니다. 하지만 문자열이 계속 늘어나는 상황이라면 StringBuffer가 빠르다고 생각합니다.

그 이유는 “aaaaaaaaaa” 10자리의 문자열에 “aaaaaaaaaa” 다시 10자리를 붙이는 상황이라면 String 20개의 공간을 다시 잡아야 하지만 StringBuffer 10개의 공간만 늘리면 되기 때문입니다.

  

String str = “a”;       위치 1

Str += “b”;             위치 3

Str += “c”;             위치 11

Str += “d”;             위치 50

 

StringBuffer strbf = new StringBuffer();

Strbg.append(“a”);         위치 1

Strbg.append(“b”);         위치 1

Strbg.append(“c”);          위치 1

Strbg.append(“d”);          위1


위 내용 처럼, String은 변수에 내용이 저장될 때 마다 그만큼의 메모리를 받아오며 그때 마다 위치는 달라질 수 있다. 하지만 StringBuffer는 처음 위치에서 메모리 크기만을 늘려가면서 문자열을 더하게 된다.

  

Posted by Jake Kim
기술정보2008. 10. 15. 00:39
PHP VERSION
 
//1번째 
while (list($key, $value) = each($HTTP_POST_VARS)){
	echo "key=".$key."value=".$value; 
}
//2번째
foreach($_REQUEST as $key => $val){ 
	$_pass_var .= "&$key=$val"; 
}
//3번째
foreach( $_REQUEST as $key => $val ){ 
	echo $key."=".$val; 
}
exit


JSP VERSION
Enumeration enum = request.getParameterNames();
while(enum.hasMoreElements()) {
	String key = (String)enum.nextElement();
	String value = request.getParameter(key);
	out.println(key + " : " + value+"");
}

/*배열로 넘어온 값 보기 checkbox나 폼에서 동일 fields 명으로 여러개를 보내면 
배열로 넘어온다.*/
String test[] = request.getParameterValues("test");
if(test != null) {
	for(int i=0; i < test.length; i++){
		out.println("test[" + i + "] : " + test[i] + "");
	}
}
Posted by Jake Kim
기술정보2007. 2. 13. 13:04

참고로 본 내용에 앞서... 도메인 네임서버 자체를 즉 ns.도메인 처럼 바로 tistory.com의 아이피로 설정한후 네임서버를 자체 도메인으로 설정 했을 경우도 문제 없이 연결이 되지만. 아래와 같이 했을 경우 그 도메인을 활용해, 메일서버등 다른 용도로 이용이 가능하다.
다음 내용은 google의 메일서버를 활용하는 방법에 대해 써보겠습니다.^^;

ZoneEdit Configuration Manual (English)


티스토리(Tistory)에서는 ID.tistory.com 외에도 개인이 보유하고 있는 도메인을 통한 접속을 지원하고 있습니다. 하지만 티스토리 자체적으로 네임서버를 제공하지는 않기 때문에 도메인 등록사 또는 무료 DNS 서비스 업체를 통해서 IP address (A Record)를 수정해야 합니다.일반적으로 도메인 등록사에서는 IP address를 제공하지 않는 경우가 많기 때문에 무료 DNS 서비스를 제공하는 곳을 소개하고 간단한 설정법을 올립니다.

티스토리 유저들에게 많이 알려진 곳은 DNSever.com이 아닐까 합니다.
이곳을 이용하고자 하시는 분은 Rukser님의 블로그에서 설정법을 보실 수 있습니다.


가입시 주민등록번호와 같은 개인정보를 입력하는 것이 꺼려지신다면 해외 사이트를 이용할

수 있습니다. 제가 소개하는 ZoneEdit.com은 계정당 5개의 도메인을 무료로 등록할 수 있습니다.



설정은 ZoneEdit에서 도메인과 IP를 추가하는 것, 도메인 등록 사이트에서 네임서버를 변경하는 것, 티스토리에서 독립도메인을 입력하는 것 같이 세단계로 되어있습니다.

I. ZoneEdit.com에서 티스토리 독립도메인을 위한 설정을 시작하겠습니다. 그림을 먼저 보여드리고 이어서 설명을 붙입니다.

사용자 삽입 이미지


ZoneEdit.com을 방문하여 회원가입을 합니다. 간단한 신상정보를 입력하면 확인 메일이 발송됩니다. 이메일 내용에는 접속 ID와 임시 비밀번호가 있습니다. 이메일 내의 링크를 통해 접속을 하여 주어진 ID와 비밀번호로 로그인을 합니다. 접속 후 비밀번호를 원하는 것으로 수정하시면 됩니다.

사용자 삽입 이미지

상단의 메뉴 가운데 Add Zones를 선택하면 위와 같은 화면이 나옵니다. 보유한 도메인 주소를 www를 제외하고 입력한 후 Add Zone 버튼을 누릅니다.

사용자 삽입 이미지

그러면 입력한 도메인에 대한 정보와 함께 새로운 네임서버로 변경하라는 안내문이 나옵니다. 네임서버 변경법은 뒤에서 설명이 되니 지금은 제일 아래에 있는 Start Editing Zone 버튼을 누릅니다. IP Addresses, Mail Servers, Webforwards 등 여러 서비스 항목이 나옵니다.이 가운데 IP Addresses를 선택합니다. 그리고 아래 그림과 같이 Name에는 www를, IP에는 211.172.252.15를 입력합니다.

사용자 삽입 이미지

211.172.252.15는 티스토리 유저의 공용 IP입니다. 확인을 위해서는 터미널 상에서 ‘nslookup **(자신의 아이디).tistory.com’ 라고 입력하면 됩니다. 터미널이 익숙하지 않다면 ZoneEdit의 NSLookup 페이지에 자신의 티스토리 주소를 입력하면 IP를 알 수 있습니다.

사용자 삽입 이미지



다음 단계로 진행하면 ‘www’가 붙은 것과 붙지 않은 주소 모두 같은 IP로 설정할 것인지를 묻는데 둘다 같은 IP로 설정하는 것에 Yes를 선택합니다.

사용자 삽입 이미지


모든 설정이 완료되면 위와 같이 나옵니다. 이제 ZoneEdit에서의 작업은 끝이 났습니다.

II. 다음은 도메인 등록사의 홈페이지에 접속하여 네임서버를 변경해야 합니다. 새로운 네임서버의 이름은 ZoneEdit에서 도메인을 추가할때 알려준 것입니다. zoneedit.com에서 언제든 확인 가능합니다.

사용자 삽입 이미지

회사마다 제공하는 관리툴이 조금씩 다르긴 하지만 어느 회사든 네임서버 변경을 할 수 있는 방법을 제공합니다. 도메인등록사에 로그인하여 자신의 도메인을 관리할 수 있는 메뉴로 이동하면 네임서버 변경하는 곳이 있습니다. 그곳에서 기존의 것을 지우고 새로운 것을 입력하시면 됩니다. 위 그림은 호스트웨이의 도메인 네임 설정 화면입니다.

새로운 네임서버로 갱신이 되는데는 수십분에서 몇시간 이상이 걸립니다. 사용중인 인터넷 회사에 따라 24시간 이상 걸리는 경우도 있습니다.

III. 마지막으로 티스토리의 관리자 페이지에 접속하여 환경설정 항목으로 이동합니다.

사용자 삽입 이미지


그림과 같이 2차도메인에 자신이 보유한 도메인을 입력합니다. 예전에는 www를 포함하느냐 하지 않느냐에 따라 접속문제가 발생했으나 티스토리의 두번째 업데이트 후에는 ‘www 유무에 따른 접속 문제’가 완전히 해결되었습니다. 전 그냥 www를 빼고 입력했습니다.

이제 남은 일은 기다리는 것 뿐입니다. 일반적으로 네임서버 변경이 완료되고 적용되는데는 시간이 걸리는 만큼 조바심 내지 마시고 푸근히 기다리셨다가 독립도메인으로 접속해 보시기 바랍니다. (ZoneEdit.com에서는 여러가지 편리한 서비스를 설정할 수 있습니다. 이곳에서 설명한 것 외에도 많이 있으니 맘껏 이용하시기 바랍니다.)

(추가) 2006. 9. 16
B416님께서 "티스토리 시작부터 2차도메인 및 Google Apps설정까지"라는 글을 통해 티스토리 독립도메인 에서 구글 개인 도메인용 이메일에 이르기까지 아주 체계적으로 설명해주셨습니다. 아래 트랙백을 참고하세요.


내용 참고 및 출처 : http://luv4.us/
Posted by Jake Kim