이번엔 다른 디컴파일러를 쓰는 방법입니다..  저는 이쪽의 결과가 더 좋은것 같네요..

1. 마찬가지로 Help -> Install New Software... 를 누릅니다

Add 버튼을 눌러 Location에 http://java.decompiler.free.fr/jd-eclipse/update 을 적고 OK를 누릅니다.

Java Decompiler Eclipse Plug-in를 설치하고 이클립스를 재시작합니다.




2. Window -> Preferences

General -> Editors -> File Associations 에서

*.class를 선택하고 밑에서 편집기를 Class File Editor를 선택하여 Default 로 지정합니다.



따로 받아야 하는 파일은 없습니다.

3. 보고 싶은 클래스에 우클릭하여 Open Declaration을 선택하거나 단축키인 F3을 눌러서

소스를 봅니다~
Posted by orange code
1. Help -> Install New Software... 를 누릅니다

Add 버튼을 눌러 Location에 http://jadclipse.sf.net/update 을 적고 OK를 누릅니다.

밑 플러그인 목록에 JDT Decompiler Features를 체크 하여 설치합니다.

이클립스를 재시작합니다.



2. Window -> Preferences

General -> Editors -> File Associations 에서

*.class를 선택하고 밑에서 편집기를 Decompiled Class File Viewer를 선택하여 Default 로 지정합니다.



Java -> Decompilers 에서

Decompiler를 Jad를 선택합니다.



3. http://www.varaneckas.com/jad 에서 jad를 다운받습니다.


압축을 풀어 이클립스 실행파일이 있는 폴더에 복사합니다.



4. 이제 편집기에서 소스가 궁금한 클래스명을 선택하고 F3을 누르면..

디컴파일된 소스가 보이게 됩니다.. 클래스에 따라서.. 결과가 제대로 나오지 않을 수도있습니다.. 

참고로 실제 소스와 완전히 같지 않기 때문에 디버깅시에 전혀 엉뚱한 라인을 가리킵니다..ㄱ-


Posted by orange code
컴퓨터 프로그래밍2010. 6. 6. 22:43
public static class RandomSelector
{
    static Random random = new Random();
    public static T Random<T>(this IEnumerable<T> enumerable)
    {
        int c = enumerable.Count();
        int i = random.Next(c);
        return enumerable.Skip(i).First();
    }
}

프로젝트에 새 파일이나 기존소스에 추가해줍니다.

사용방법
int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int b = a.Random();

List<int> a = new List<int>();
....
....
int b = a.Random();

Posted by orange code