본문 바로가기

Programming177

List 객체 Sorting하기 의외로 많이 쓰는데, 막상 쓸려면 어떻게 썼나 생각이 안나는 코딩 중에 하나! 아래와 같은 템플릿으로 사용하면 된다! 2013. 1. 31.
equals와 ==의 차이 equals는 객체 안에 있는 내용을 비교하고 ==은 객체 자체를 비교한다.예를 들어, String s1 = "abc";String s2 = "abc"; 이런 객체가 생성되었을 시, true가 되지만s1.equals(s2) == true만약String s1 = "abc";String s2 = new String("abc"); 이렇게 s2에 대해 새로운 객체를 생성할 시에는 false가 된다. (s1 == s2) == false 2013. 1. 24.
Regex String으로 시간데이터를 처리해야할 일이 생겨서dd:dd:dd 형태로 되어 있는지 for문으로 비교하려다가 regular expression을 사용했다.for문은 너무 코드가 지저분... 일단 C#에서 regular expression을 사용하기 위해서는 using System.Text.RegularExpressions;위와 같은 선언이 필요하다. 그 후 아래와 같이 코드 생성!! 2013. 1. 23.
스태틱 팩토리 (Static Factory) 생성자를 사용하는 것 대신 Static Factory Method를 고려하자. Static Factory Method란? 클래스의 인스턴스를 static public 매서드를 이용하여 리턴하는 방법. 글로는 어렵게 설명 되어 있으나 코드를 보면 아주 단순하다. public class Test{ public Test(){...} 위의 예시는 일반적인 생성자 함수 방식이고, 아래의 방식이 static Factory Method를 활용한 방식이다. public class Test{private static final Test INSTANCE = new Test();private test(){}public static Test getInstance(){return INSTANCE;} 그렇다면 Static Fac.. 2013. 1. 15.
static 초기화 오픈 소스를 분석하다가 의문(?)스러운 코드를 접하게 되었다. C, C++ 개발자로서는 이해할 수 없는... ㅋㅋ 저 static {} 는 도대체 모지??? 함순가.. property인가.. 구글링을 해 본 결과, JAVA에서는 static 변수를 초기화 할 때 위와 같이 사용한다고 한다. 간단히 static int a = 3; 이렇게 선언할 경우도 있지만, 위와 같은 코드일 경우엔 마땅히 선언할 방법이 없기 때문이다. 그렇다고 생성자 함수에서 선언하고자 한다면, 인스턴스를 만들어야 하기 때문에 비효율적이다. 신기한 JAVA의 세계.. 2013. 1. 11.
맵 사용에 따른 메모리 누수 가비지 컬렉터에서는 논리적으로 더이상 사용하지 않는 객체에 대한 정리 작업을 실행한다. 하지만 만약 이러한 객체가 맵 안에 존재하고 있다면 어떻게 될까? 정리 작업을 실행해야 할까 말아야 할까??정답은 '정리 작업을 실행하지 않음' 이다.아래의 예제 소스를 보면,public class Manager {private Map map = new Hashmap();public void setData(Key k, Value v){map.put(k, v);}public Object getData(Key k){ return map.get(k);}public void removeData(Key k){map.remove(k);} 해시 맵을 사용할 때 위와 같은 방법으로 사용을 많이 한다. 위의 코드에서 발생할 수 있는 .. 2013. 1. 8.
failed to load the JNI shared library jvm.dll 몬가 해서 봤더니 64bit 운영체제에서 32bit 이클립스를 설치해서 생긴 오류..64bit로 다시 다운받아서 하니 잘된다! 2013. 1. 4.
강제 종료 이벤트 Console에서 Ctrl + C를 눌렀을 경우에 이벤트를 발생하고 싶을 때는 다음과 같이 해주면 된다. 프로세스 강제 종료시 이벤트 받을 수는 없을까... 2013. 1. 4.
PS/2 Mouse Filter 드라이버 WPF 책을 독파하고 난 후, DDK에 있는 Mouse Filter 드라이버 코드를 분석하기 시작했다.일단은 Mouse Filter 드라이버가 삽입되어야 할 위치를 알아야 하고, 어떤 IRP를 가로채야 하는지 등에 대해 알아야 하기 때문에 PS/2 마우스 드라이버의 스택 구조를 알 필요가 있었다. Mouclass Filter (FIDO Driver - Class upper Filter Driver) I8042prt Driver (FDO Driver) ACPI Bus Driver (PDO Driver) PS/2 마우스 드라이버의 스택 구조는 위의 그림과 같이 하위의 ACPI Bus Driver(PDO), 기능 드라이버 역할의 I8042prt Driver(FDO), 그리고 맨 상위에 Mouclass Filt.. 2013. 1. 4.