컴퓨터로 게임을 하지 않는 사람들의 공통점을 하나 꼽으라면 컴퓨터 교환 주기가 매우 길다는 것입니다. 고장날 일도 별로 없고 업그레이드에 대한 필요성도 거의 느낄 일이 없는 편입니다. 그래서 이들이 사용하는 컴퓨터에 장착되어 있는 CD나 DVD는 언제 빛을 쪼여 보았는지 까마득 하다는 것이 비슷한 현상일 것입니다. CD나 DVD를 구동시키거나 CD/DVD를 넣거나 빼는데 사용하는 모터를 너무 오랜기간 사용하지 않다보니 어쩌다 한번 사용하려다 보면 잘 동작하지 않는 경우도 허다합니다. 심지어 CD/DVD가 PC의 장애 원인이 되어서 CD/DVD의 전원과 인터페이스를 빼놓고 사용하는 경우도 있습니다. 컴퓨터에 CD/DVD 드라이브가 없거나 미디어가 아닌 *.ISO와 같은 파일을 가상의 CD/DVD로 구동시키..
하나의 C/C++프로그램으로 리눅스 뿐만아니라 맥과 윈도우에서도 구동하는 크로스 플랫폼 응용을 개발하려는 경우 많은 경우 검토 대상으로 등장하는 것이 자바 RCP와 같은 자바 기반 응용이나 GTK+, QT 기반의 응용 인데 이번에는 QT 기반의 C/C++ 응용을 윈도우에서 빌드하는 과정을 통해서 QT 응용의 윈도우 포팅을 위한 성공 사례를 확인할까 합니다. 이번 포스팅의 목표가 되는 프로젝트는 BibleTime이란 프로젝트로 잡았습니다. 리눅스에서 빌드한다면 yum이나 apt-get으로 연관 패키지를 간편하게 설치하여 손쉽게 빌드하겠지만 윈도우 빌드이니 만큼 빌드 환경을 갖추는 것이 그리 녹록하지는 않습니다. 그렇지만 일단 개발 환경이 갖추어지면 그 다음 부터는 응용 개발에 집중할 수 있으니 개발 환경 ..
냉장고를 고를때 냉장고 내부 기술에 대한 깊이있는 공부보다 가격, 기능, 브랜드와 같은 요소에 중점을 두는 것처럼, 데이터베이스 관리 시스템(DBMS) 또한 DBMS가 지원하는 SQL 표준, 기능, 평판과 브랜드 등을 선택의 기준으로 삼고 있으며, 도입 비용이 거의 소요되지 않는 오픈 소스 DBMS를 통해서도 기업의 핵심 업무를 충분히 소화할 수 있음을 "DB를 냉장고처럼 쓰자 - 상품화된 DBMS(Commodity DBMS)"에서 다루었습니다. 우리의 삶과 깊은 연관성을 가진 냉장고와 데이터베이스, 이 둘 사이에는 어떤 공통점이 있을까? 냉장고와 데이터베이스 사이의 공통점을 통해서 데이터베이스에 대한 이해가 막연하게 "복잡하다, 어렵다"에서 냉장고 처럼 내 바로 옆에 있는 친숙한 도구로 다가왔으면 하는..
기가 단위의 큰 용량의 자료를 메일로 이동하기는 부담되고 가끔은 USB 메모리를 이용합니다. 공인인증서를 보관하는 용도 말고는 USB 메모리를 쓸일도 별로 없기는 한데 막상 큰 용량의 자료를 옮기려고 가지고 있는 메모리 스틱을 뒤져 보니 용량에 맞는 것이 없습니다. 그중에 하나가 분명 4G 용량이라고 되어 있어서 저장하려고 속성을 조회해보고 포맷을 다시 해보아도 고작 1.6GB 정도 밖에 나오질 않았습니다. 나쁜 머리로 기억을 되돌아 보면 리눅스 부팅 디스크로 사용하면서 생긴 현상이 아닌가 싶었습니다. 아무튼 위의 그림과 같이 제어판>관리 도구>컴퓨터 관리>저장소>디스크 관리에서 USB 메모리를 조회하면 "할당되지 않음"이라는 메시지가 표시되며 메뉴가 비활성화되어 어떤 기능도 동작하지 않습니다. 볼륩을 ..
위키피디아의 "Commodity Computing(Commodity cluster Computing)"에 대한 정의를 정리해 보면 Commodity Computing은 비싼 고사양의 컴퓨터 대신 공개 표준 기반으로 저렴하면서도 어떤 벤더에서 만들었더라도 큰 차이를 보이지 않는 Commodity Computer들로 이루어진 시스템을 말합니다. 고가, 고사양의 단일 서버를 저가, 저사양인 다수의 서버군으로 대치 시킴으로써 비용을 절감할 뿐만아니라 시스템의 확장성과 안정성을 높이는 시스템을 말합니다. 냉장고로 비유하자면 S사의 냉장고이든 L사의 냉장고이든 아니면 이름없는 중소형 제조사의 냉장고이든 성능상의 큰 차이는 없다는 이야기입니다. 그렇다면 "Commodity DBMS"는 어떤 의미일까? 두가지 측면에서..
우리 생활에 밀접하고 매우 중요한 역할을 감당하지만 너무 익숙하거나 친숙한 탓에 그 존재를 잊어버리고 사는 것들이 있습니다. 대표적인 것이 냉장고가 아닐까 싶습니다. 대한민국 대부분의 가정에 냉장고 없는 집이 없고 심지어 원룸이나 모텔, 콘도 같은 사람들이 잠시 머물다 떠나는 곳 까지도 냉장고가 자리하고 있는 실정입니다. 냉장고를 사용하는 사람들의 입장에서 생각해 보면 냉장고 사용법이 어렵다거나 복잡하다는 생각을 하는 사람은 거의 없을 것입니다. 전원 넣고 문 열고 닫는 것이 사용법의 전부라 해도 과언이 아닙니다. 효율적으로 사용하기 위하여 칸칸 마다 별도의 용기로 정리하고 포스트잍으로 구입한 일자를 메모하는 주부님도 있지만 많은 경우는 그냥 빈곳에 넣었다가 필요할때 꺼내는 것이 냉장고 사용 요령의 전부..
알면 알수록 이 세상의 수 많은 생명체들은 그저 그런 것이 없는것 같습니다. 무더운 여름 산책길에 몇일동안 "이건뭔가? 이상하다... 저건 병이 든건가? 아니면 무슨 열매인가?"를 생각하다가 호기심을 참지 못하고 카메라로 증거를 수집하여 정체를 뒤지기 시작했습니다. 구글 이미지 검색을 뒤지다가 모양은 다르지만 나무의 잎 모양이 비슷한 한 장의 사진을 찾아 사이트에 들어갔더니 아뿔사 정체는 바로 "목련"이었습니다. "목련 열매"로 검색해 보니 보기에 민망한 사진도 한둘이 아이었습니다. 결론적으로 목련의 열매는 한 나무에서도 모양이 모두 제각각으로 달리는 것이었습니다. 여인이 곱게 차려입은 한복과 같은 연분홍빛 열매는 무슨 구름과자 같기도 하고 빵 같기도 하지만 실상 여러 씨앗을 감싸고 있는 종피입니다. 껍..
연일 폭염특보에 푹푹찌는 날이 이어지고 있지만 계절은 변함없이 흘러서 가을이 조금씩 다가오고 있습니다. 들판에서는 올해는 해가 좋아서 추석이 아직인데 벼 수확이 시작되고 있습니다. 열대야에 들척이다 선풍기를 부여잡던 새벽도 조금씩 없어지고 깊은 잠을 이루는 날이 제법 이어지고 있습니다. "황홀경의 산책길을 만드는 때죽나무"에서 다루었던 적이 있지만 봄의 절정에 피어나는 때죽나무 꽃은 정말로 아름답습니다. 그런데 그 꽃이 지고난 자리에 매달린 열매 또한 꽃에 비할바가 아닐만큼 이쁩니다. 앙증맞은 크기의 동그란 열매에는 기다란 꼬리가 달려있어서 올림픽이 한창인 요즘 텔레비전에서 자주 보던 펜싱 경기의 펜싱검처럼 보이기도 합니다. 열매에는 독성이 있어서 물고기가 기절할 정도라 합니다. 죽이지 않고 기절시키는 ..
간만에 C/C++ 프로젝트를 빌드하다보니 메뉴나 핫키를 통한 빌드외에도 비주얼스튜디오가 제공하는 다른 도구들을 사용할 경우가 생겼습니다. 예를 들면 라이브러리 관리자(lib.exe)를 가지고 *. ref 파일로 *.lib 파일을 만들거나 make 도구의 윈도우 버전인 nmake를 직접 수행하는 것입니다. 도구가 메뉴에 있겠다 싶었고 예전에는 시작 메뉴에서 본것도 같았는데 버전에 따라서 설치하지 않는 경우도 있는 모양입니다. 비주얼스튜디오에서 도구>외부 도구 메뉴로 위와 같은 창을 띄우고 [추가]버튼으로 새로운 메뉴를 추가하면 됩니다.제목 : 도구메뉴에 표시될 메뉴 이름을 입력합니다. 명령 : 위와 같이 윈도우 시스템 폴더의 cmd.exe를 기술합니다.인수 : /k "C:\Program Files\Micr..
일년중 가장 뜨거운 7월부터 약 백일간 붉은 꽃을 피우는 나무가 있습니다. "배롱나무", "백일홍 나무"를 빠르게 읽으면 "배롱나무"라 발음 되는것 같네요. 화려한 봄꽃들이 모두 지고 진한 녹음이 한창인 계절에 붉은 꽃을 백일 동안이나 보여준다니 참 고마운 나무입니다. 그렇지만 꽃을 가까이서 살펴보면 연하고 작은 꽃들이 원추형으로 모여 있어서 각각의 꽃이 백일 동안 피어 있는 것이 아니라 꽃 하나 하나는 쉽게 떨어짐을 확인할 수 있습니다. 위의 사진에서도 볼 수 있듯이 아직 열지 않은 꽃봉오리들이 차례로 꽃을 피우기 때문에 백일동안 꽃이 있는것 처럼 보이는게지요. 평소 많이 들었던 "백일홍"은 나무가 아니라 화초를 지칭하고 배롱나무는 작은 교목입니다. 어떤 꽃은 지고 있고 어떤 꽃은 활짝 한창이고 어떤 ..
찌는 듯한 폭염이 한창인 8월, 봄에 핀다는 죽단화(Kerria japonica)가 고운 자태를 뽐내고 있습니다. 온통 노란색 겹꽃이 풍성한 죽단화는 더운 나라에서나 볼법한 이국적 자태로 온세상을 뒤덮은 무더위를 잊게 합니다. 톱니 모양의 잎을 가진 죽단화는 줄기와 잎 모양으로는 황매화(黃梅花)와 다를바 없고 꽃의 색깔도 노란색이어서 사람들간에 혼동이 있기는 하지만 황매화는 노란 매화라는 이름 처럼 꽃잎이 5장이고 죽단화는 풍성한 겹꽃을 가지고 있습니다. 노란색 꽃외에도 황매화와 죽단화는 장미과의 관목이라는 공통점을 가지고 있습니다. 겹황매화, 죽도화라고도 부르는 죽단화는 이름은 한자에서 온것처럼 보이지만 실상 죽단화를 지칭하는 한자는 찾을수가 없었습니다. 특이한 꽃 만큼이나 이름에도 사연이 있어 보입니..
작년 시장에서 2천원에 한두포기 사다가 빗물받이 통에 넣어둔 부레옥잠에게서 선물같은 꽃을 본것 까지는 좋았는데 문제는 겨울나기였습니다. 한겨울 빗물받이통은 이삼십센티까지 얼기 때문에 부레옥잠이 겨울을 무사히 날 가능성은 없었습니다. 그래서 얼지 않도록 베란다로 가져온것 까지 좋았는데 겨울을 끝냈다 싶은 2월쯤 되니 양분이 없어서 그런지, 아니면 온도 관리가 문제 였는지 하나둘씩 죽어가기 시작했습니다. 서리가 끝났다 싶을 무렵에는 줄기가 대부분 누렇게 죽어버리고 초록 빛을 띈 부분은 줄기 밑둥 조금이었습니다. 그래도 혹시나 싶어 빗물받이 통에 넣어 두었는데 몇주 지나보니 누렇게 변한 줄기 에서 아주 작은 싹이 돋아 나왔습니다. 생명력은 정말 대단합니다. 그 작은 싹 하나가 위의 그림처럼 새끼를 쳐서 빗물받..
컴퓨터 한대로 모니터 두개를 사용하는 듀얼모니터 사용 환경이 일반화되면서 C# 개발자 입장에서도 다중 모니터 환경에 대한 처리를 해야 하는 경우가 생겼습니다. 증권 트레이딩을 하시는 분들이나 공장의 모니터링 환경에서는 모니터 4대를 연결할 수 있는 그래픽 카드를 장착해서 컴퓨터 한대로 4개의 모니터를 사용하기도 합니다. Screen[] screens = Screen.AllScreens; if (screens.Length > 1) // Has more screen { Screen scrn = (screens[0].WorkingArea.Contains(this.Location)) ? screens[1] : screens[0]; dualscr.Show(); dualscr.Location = new System..
아파트 단지의 조경은 양지와 음지, 넓은 화단이나 울타리를 막론하고 곳곳에 사람의 손길이 닿아 있습니다. 큰 나무가 있어 그늘진 곳에는 흙이 드러나기 마련인데 그런 그늘진 곳에 심어진 식물이 있습니다. 겨울에도 푸른 잎이 있어 이건 무슨 조화가 아닐까 하는 생각이 드는 식물인데 8월 한여름 꽃을 피우니 그 정체를 새롭게 알게 되네요.올망 졸망한 보라색 꽃을 피운 식물의 정체는 바로 "맥문동(麥門冬)"입니다. 맥이 보리 맥(麥)자로 뿌리가 보리류와 유사하고 겨울에도 푸른 잎을 가지고 있는 여러해살이 풀이라는데서 맥문동이라는 이름이 유래했다고 합니다. 백합과의 식물로 뿌리를 한약으로 사용한다고 합니다.햇빛에 비추인 맥문동의 꽃 빛깔은 "영롱하다"가 가장 적절할것 같습니다. 구석 공간, 그늘진 곳에서 조용히 ..
C#.NET에서 다양한 사용자 컨트롤을 만들어 놓고 윈도우 폼에 적용해서 사용하는 경우 윈도우 폼 클래스에서 개별 컨트롤의 임의의 속성을 참조하거나 메소드를 실행시킬 필요가 있을 때가 있습니다. 닷넷에서는 System.Reflection을 통해서 프로그램 실행 중에 특정 클래스의 속성이나 메소드를 찾아서 참조하거나 호출할 수 있도록 기능을 제공하고 있습니다. 마치 자바 스크립트와 같은 웹 스크립트 언어에서 지원하는 기능을 사용할 수 있습니다. 윈도우 폼에 도구 상자에 있는 다양한 컨트롤이나 사용자 컨트롤을 배치하면 위의 그림과 같이 Form>Panel>Control과 같은 계층 구조를 갖게 됩니다. Form 오브젝트의 .Controls를 확인하면 Form에 속한 두개의 판넬 오브 젝트를 찾을 수 있고 각..