블로그 이미지
No pain, no gain!
lepoussin

Tag

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
  • total
  • today
  • yesterday
04-19 16:47
2009. 5. 21. 22:10 GUI/QT
Dynamic Library(동적 라이브러리, Shared Library(공유 라이브러리)라고도 함)는 디스크에 별도의 파일로 저장되어 여러 개의 응용프로그램이 접근할 수 있는 독립된 모듈이다. 프로그램은 보통 링크 시 필요한 동적 라이브러리를 지정하는데, 이렇게 하면 이 라이브러리들은 응용프로그램이 시작될 때 자동으로 로드된다. 이러한 동적 라이브러리를 지정하는 방법은, 해당 라이브러리와 그의 Include Path(포함 경로)를 include path를 응용프로그램의 .pro 파일에 추가하는 과정과, 관련된 헤더 파일을 소스 파일 내에서 include하는 과정을 수반한다.

이에 대한 다른 대안으로는 라이브러리를 필요할 때 동적으로 읽어들인 뒤, 사용하고자하는 심벌을 분석하는 방법이 있다. Qt는 이를 플랫폼 독립적인 방법으로 수행하기 위한 QLibrary 클래스를 제공한다. 라이브러리의 기본적인 이름이 주어지게 되면, QLibrary는 플랫폼의 라이브러리 표준 위치를 탐색해 그에 해당하는 적절한 파일을 찾는다.
posted by lepoussin
2009. 5. 13. 01:20 OS/Windows

레지스트리 편집기를 이용하는 방법

윈도우 서비스 목록에 원지 않는 서비스가 등록되었거나 소프트웨어의 언인스톨 후에도 남아있는 서비스가 있을 경우, 이를 제거하기 위해서는 레지스트리 편집이 필요하다.

  1. regedit.exe 를 먼저 실행한다.
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 에서 삭제할 서비스 키를 찾아 선택한 후 삭제한다.
  3. 시스템을 반드시 재부팅한다.

※ 주의 사항

  1. 재부팅 후에도 혹 서비스 목록에 레지스트리를 제거한 서비스가 여전히 등록되어 있다면 레지스트리에서 HKEY_LOCAL_MACHINE\SYSTEM\ 하위에 서비스 키명으로 검색하여 목록을 모두 제거한 후에 다시 재부팅 하고 확인한다.
  2. 혹 레지스트리에서 제거되지 않을 경우 관련된 모든 프로그램을 종료하고 삭제하려는 레지스트리 키를 오른쪽 마우스로 클릭하여 권한을 확인하여 권한이 주어지지 않았다면 권한을 주고, 거부권한에 체크되어 있다면 거부권한의 체크를 푼 후 다시 제거한다.


레지스트리 편집기를 이용하지 않는 방법

NT resource kit 에는 INSTSRV.EXE 라는 서비스 설치, 제거 프로그램이 존재한다.

다음과 같은 명령을 통해 제거할 수 있다.

instsrv {서비스 이름} remove

또한 resource kit 에는 SRVINSTW.EXE 라는 서비스 설치, 제거를 위한 GUI 프로그램이 존재하여 로컬이나 리모트의 서비스를 설치, 제거 할 수 있도록 지원한다.

※ 출처 : http://blog.naver.com/givethanks77?Redirect=Log&logNo=150006901298

posted by lepoussin
2009. 5. 13. 00:54 Database/MySQL
MySQL에서 나름대로 많은 작업을 해왔지만 MS SQL에서 사용하던 FULL OUTER JOIN이 안된다는 것을 오늘에서야 알았다. 당황스러웠지만 침착하게(?) FULL OUTER JOIN 기능을 사용할 수 있는 방법에 관해서 트릭을 찾아보면서 고민을 좀 하였다.

그러는 중 내가 선택한 방법은 {LEFT | LIGHT} OUTER JOIN과 UNION의 조합이다. UNION을 이용할 때 두 질의의 결과값들이 중복되어 있을 경우, 이는 하나로 표시된다. 다음의 예제를 통해서 살펴보도록 하자.

test1과 test2 테이블을 만들고 다음과 같이 데이터를 넣어보자.

[test1] 테이블
name   age
-------------------
lin        22
sean    111

[test2] 테이블
name   age
-------------------
sean     28
ted        1

다음 질의를 실행하면 [test_result] 테이블이 자동으로 생성되고 그 결과가 들어가 있는 것을 확인할 수 있다.
SELECT t1.name as name, IFNULL(t1.age, 0) AS age1, IFNULL(t2.age, 0) AS age2
INTO test_result
FROM test1 t1
          LEFT OUTER JOIN test2 t2 ON t1.name = t2.name
UNION
SELECT t2.name, IFNULL(t1.age, 0), IFNULL(t2.age, 0)
FROM test1 t1
          RIGHT OUTER JOIN test2 t2 ON t1.name = t2.name

[test_result] 테이블
name   age1   age2
------------------------------
lin        22       0
sean    111      28
ted       0        1
posted by lepoussin
2009. 5. 13. 00:09 Database/MySQL
MS SQL에서 사용하는 ISNULL()은 MySQL에서 동작하지 않는다. MySQL에는 IFNULL()이라는 함수로 존재한다.

IFNULL(expr1, expr2)

expr1이 NULL이 아니면, IFNULL()은 expr1을 반환한다. 그것이 아니면(expr1이 NULL이면) expr2를 반환한다. 반환값으로 숫자, 문자열이 가능하다.

mysql> SELECT IFNULL(1,0);
            -> 1
mysql> SELECT IFNULL(NULL,10);
            -> 10
mysql> SELECT IFNULL(1/0,10);
            -> 10
mysql> SELECT IFNULL(1/0,'yes');
            -> 'yes'
posted by lepoussin
2009. 5. 7. 23:07 Editor/Microsoft Word

Microsoft Word 2003을 쓸 때, 힘들여서 따로 목차 만들지 말고 지원해주는 위 링크에서 알려주는 기능을 사용하자. Microsoft 고객지원 사이트에서 제공해주는 목차 만드는 법이다.
posted by lepoussin