날짜에서 알 수 있듯이 여기에 갔다 온지는 꽤 됐다. 오늘도 갔는데 연습장에 보니 그전에 들으면서 정리한 것이 있었다, 그래서 그 것을 여기에 정리해 둘려고 한다.

이 행사에 대해서는 아래 링크에 잘 설명 됬다.


http://wiki.kldp.org/wiki.php/KLDPConf/20040417


이 날은 GTK+ 와 RSS 에 대한 내용이었다. 그 중 나는 GTK+ 에 대한 내용만을 들었다. 그 때 RSS 가 뭔지 너무 몰랐기에 들지 않았다. 그리고 세미나(?)는 GTK+ 에 대한 내용의 시간이 더 많았다.

GTK+ 는 C용 라이브러리 이다. 라이브러리 중에서도 GUI 방식을 프로그래밍을 짤 수 있게 해 주는 라이브러리 이다. 그리고 간단한 자료구조에 대한 라이브러리도 제공하는 것 같아 보인다. (너무 오래전이라서 기억이 안난다. )

리눅스 XWindow 에서 가장 잘 작동하고, (KDE 에서도 작동하는지 모르겠다. ) MS 윈도우에서도 작동할 수 있다고는 하나, 아직은 불완전해 보인다. ( 특히 한글을 사용하는 사람들에게. 내가 설정을 잘 못한 것인지도 모르겠다. ) 그 전에 내 경험으로는 MS 윈도우에서는 마치 java 처럼 프로그램을 설치하기 전 뭔가 따로 GTK 를 위한 폴더를 만들어 저장해 두었다.

GTK+ 는 Event Driven Programming 방식으로 GUI 가 구성 되었다고 한다. 이게 뭔지는 알 수 없지만, 자바에서도 이 방식을 사용한 것으로 알고 있다.

자바에서 GUI 프로그래밍을 해 봤다면, 그 방식대로 GTK 의 화면을 구성할 수 있어 보인다. 다만 GTK 는 C 다. 그래서 객체지향을 구성하기 어려운 언어이다. 그래서 이름을 잘 만들어서 객체지향 요소를 잘 집어 넣어다고 생각하면 될 것 같다.

GTK 는 callback 함수를 많이 사용한다. 함수 포인터를 사용할 일이 많을 것이다. 이 것은 C 를 가지고 객체지향적 요소를 집어 넣어서 그런 것 같다. 그리고 signal 함수 라는 것을 많이 사용한다. GTK에서 signal 은 어떠한 이벤트를 받아들이는 역할을 한다. g_signal_connet 을 이용해서 callback 함수와 연결한다고 한다.

GTK 에서 widget 이라는 것을 많이 들게 되었다. 마치 객체지향 프로그래밍에서 class 처럼 잘 묶어진 단위같다.


내가 거기서 느낀 것은 환경구축이 매우 어렵다는 것이다. HelloWorld 프로그래밍 짜는 것 보다 그 게 컴파일 하는게 더 어렵다는 것이다. 그리고 컴파일을 쉽게 하기 위해서는 그 환경을 구축해야 하는데, 그 것도 만만치 않은 작업이다.

보통, 프로그램을 만들 때 automake , autotools 로 좋은 템플릿( 프로그램의 틀로 make 파일을 만들어 주고, 대강의 프로그램의 소스를 알아서 만들어 주는 것, 빵틀이라고 한다던데) 을 만들 수 있다고 한다. 그러나, 너무 복잡하다.


우리가 GTK+ 부르는 것은 여러개로 이루어진 라이브러리 같아 보인다. GObject, GDK , Glib 등등. 여러가를 묶어 프로그래밍을 도와주는 라이블러리 묶음을 그렇게 부르는 것 같아 보인다. GTK+ 는 LGPL 이라고 한다. 상용프로그램에서(더 자세히는 독점성을 가지는 프로그램) 는 static Linking 을 사용하면 안된다고 한 것 같은데.
잘 모르겠다. (라이센스 문제는 너무 복잡하다. ) QT에 대항(?) 위해 개발되었다고 한다.

그 외에 다른 말도 잘어 있지만, 쉽게 찾아볼 수 있는 자료라서 생략한다.
내가 받은 느낌은 프로그래밍 보다도 그 것을 컴파일 할 수 있는 환경구축이 더 어렵다라는 느낌을 받았다.
GnuPlot : 그래프 그리는 단순한 프로그램이다. CUI 중심의 프로그램이라서 사용법을 모르면 사용하기 불편한다. 간단한 사용법을

http://wiki.kldp.org/KoreanDoc/html/GnuPlot-KLDP/
에서 볼 수 있다.

GnuPlot 은 GPL 라이센스를 사용하는 것 같지 않다. 다만 공짜로 사용할 수 있다. 이게 정확히 무슨 의미인지는 모르겠다.

리눅스에는 기본적으로 깔려 있을 것이다. 그렇지 않다면 다음 사이트에서 찾기 바란다. MS 윈도우용도 있다.

http://sourceforge.net/project/showfiles.php?group_id=2055


http://www.gnuplot.info/download.html


실험삼아 심장형 그래프를 그려봤다, 극좌표로 1 - cos (t) 그래프이다.
(이글루에서는 png 파일을 지원하지 않는다. 좀 불편하다. )




최대 절전 모드가 잘 되는 컴퓨터에서 갑자기 안 되어 이리 저러 찾아보았다.
결국, 해결책을 찾았다. 검색과 내 감이 결합되어 문제를 고쳤다.
hiberfil.sys 라는 파일이 C: 에 숨겨져 있었다. 그 걸을 읽기 전용에서 해제 하고 재부팅 하니 잘 설정된다.

윈도우 xp 에서 읽기전용이 꽤나 귀찮게 한다. 별 일이 아니어도 걸리고... 지가 리눅스도 아니면서 갑자기 권한을 이렇게 따지지.

참고적으로 pagefile.sys 도 C: 에 슴겨져 있다. 가상메모리를 보관하고 있는 것 같다.