SMS sample Programming 2009.04.20 17:35
int _tmain(int argc, _TCHAR* argv[])   
{   
    HANDLE hPort =  CreateFile(TEXT("\\\\.\\COM5"),   
                               GENERIC_WRITE | GENERIC_READ,     
                               FILE_SHARE_READ,    
                               NULL,   
                               CREATE_ALWAYS,   
                               FILE_ATTRIBUTE_NORMAL,   
                               NULL);   

    // 휴대폰 USB 드라이버 설치 후 제어판에 보시면 해당 휴대폰의 포트가 나옵니다.
    // 해당 포트를 파일 이름처럼 적으면 됨.  

    if ( NULL == hPort )
    {   
        printf("%d", GetLastError());   
    }   
  
    /*  
    각 이동통신사별 접속 스트링  
    AT*SKT*MOREQ=0,%s,%s,4098,%s%c   
    AT*LGT*MOREQ=0,%s,%s,4098,%s%c   
    AT*KTF*MOREQ=0,%s,%s,4098,%s%c   
    */  
  
    char szBuff[255]={0}, szBuff2[10]={0};   
    sprintf(szBuff, "AT*SKT*MOREQ=0,%s,%s,4098,%s%c", "보내고 싶은 번호","보내는 번호", "보낼 메시지", '\r');

    // 보내는 사람과 받는 사람 이름 잘 적어서
    // 문자열 만들어서 포트로 고고 고고 ~
      
    BOOL bReturn = FALSE;   
    DWORD dwWritten = 0, dwRead = 0;   
    bReturn = WriteFile(hPort, szBuff, strlen(szBuff), &dwWritten, NULL);   
    if ( FALSE == bReturn )   
    {   
       printf("%d", GetLastError());   
    }   

    // 포트에 문자열을 쏴주는 순간, 휴대폰은 문자발송 화면으로 바뀜니다.

    bReturn = ReadFile(hPort, szBuff2, 10, &dwRead, NULL);   
    if ( FALSE == bReturn )
    {   
        printf("%d", GetLastError());   
    }   

    // 제대로 발송 되었다면 OK 가 넘어오죠.
  
    CloseHandle(hPort);   
    return 0;   
}   


SMS

알프스에서 보드한번 타보겠다고 계획하고 간 힌터툭스 스키장~
원래 계획은 스위스에서 보드를 타는거였는데, 스위스 모든 스키장이
내가 유럽여행에 머무르는동안 장비점검기간이라서 과감히 포기할수 밖에 없었다.
그러나 검색의 검색을 하다보니 오스트리아 지역도 사계절 스키장 오픈하고,
또 스위스보다 저렴하다는 정보를 보고, 무작정 스키장 가는걸로 계획은 다시 변경했다.

힌터툭스 스키장을 찾아가는일은 만만치 않았다.
예를 들면 "관광객이 서울에서 하이원 스키장을 버스와 기차를 이용해 찾아가는 것!!" 과
비슷하다고 생각하면된다.

인스부르크에서 기차를 타고 1시간정도 가서 다시 산악열차로 갈아타 1시간정도 가고
거기서 내려서 셔틀버스를 타고 1시간정도 또 들어가고~
그렇다고 도착하는 시간과 갈아타서 출발하는시간이 딱 맞아서 가는것이 아니라
몇십분 기다리고, 또 기다리고~
영어를 잘하는건 아니지만 이지역은 영어가 아닌 독일어를 사용해서 길을 찾는것과,
또 숙소를 잡을때 엄청 고생을 많이했다. 간단한 영어 였는데도 알아듣지를못하고~
서로 다른말만 계속하다 결국 종이와 펜을 사용해서 이해시키고 또 이해하고~
답답 그 자체였다~ㅋ

이곳은 산악지역이라서 그런지 해도 빨리지고 기온도 많이 낮아서 엄청 추웠었다~
강원도의 영하 20도정도?? 이정도는 우습다~!!여기 기온을 안느껴 봤음 말을 하지 마삼!ㅋ

여기 스키장은 해발 1000m 2000m 3000m 이렇게 나누어져 있다.
우리가 갔을때는 3000m 만 오픈해서 거기서만 탈수 있었다.
위의 사진은 2000m 로 올라가는 중간 리프트 갈아타는곳!


이곳이 3000m 정상이다. 지역이 높아서 산소가 부족해서 그런지 숨쉬는게 힘들었다.
보드한번 타고 내려와서는 완젼 산소부족으로 반기절상태~!!
계획은 이틀정도 보드 탈생각이였는데, 한번 타고 내려와서 너무 힘들어 하루만 타고
나가기로 계획변경함.


이곳이 바로 알프스 산맥이다!!정말 끝없이 펼쳐진 하얀 산봉우리들~
끝이 안보이는 바다처럼 알프스 산맥도 끝이 보이질 않았다~
내눈앞에 펼쳐진 이 어마어마한 광경 앞에서 내가 보딩을 즐기고 있다는 그자체가
흥분되고 짜릿하고 환타스틱 했다.


여기 스키장은 빙하스키장이라고 불린다. 즉 빙하위에 눈이 덮혀져 있는 건데.
그렇다고해서 우리나라 스키장의 빙판은 절대로 아니다.
설질은 정말 끝내준다.말로 표현이 안된다. 경사가 심한곳에서도 턴하게되면
엣지가 밀리지 않고 팍팍 박혀서 익사이팅한 카빙턴을 할수 있었다.
거기에다가 팡팡 튕겨주는 리바운딩~그 느낌은 정말 잊을수 없을꺼 같다~
슬로프 길이는 확실하게 기억은 잘 안나는데, 내가 신나게 쏘면서 내려왔는데
15분에서 20분정도 걸린듯~보드 장비가 나한테 맞지 않아서
몇시간 지나니까 발이 너무 많이 아팠다~내 장비로 탔으면 하는 아쉬움이 남았다.


이곳은 정상으로 올라가는 리프트 앞!! 기념으로 또 한방!


내가 탄 슬로프~여긴 내가 정복했다~ㅋㅋ
이젠 우리나라 스키장은 시시하다!!ㅎㅎ
알프스에서 보딩 안해봤음 말을 마러~ㅋㅋ


보딩 마치고 셔틀버스 기달리는중~내 얼굴에 힘든 표정이 그대로 보인다~
맘 같아서는 여기 앞에서 하루 자고 나가고 싶었는데, 그렇게되면
일정중 하루를 버리게되버려서 힘든몸을 이끌고 4시간에 걸쳐
인스부르크로 나올수 밖에 없었다~ㅠ,.ㅠ
돌아오는 기차,버스 안에서 계속 꾸벅꾸벅 졸았던 기억이~


인스부르크 시내에 있는 카지노~
힌터툭스 스키장갔다와서 많이 힘들어서 그냥 쉴까하다가~
인스부르크에서 마지막 밤이라 아쉬워 시내를 한바퀴 돌면서..


백패커스(숙소)앞에서~
저뒤로 보이는게 눈으로 뒤덮인 알프스 산맥이다.
도시속에서 저런 광경을 볼수 있다는것이 정말로 놀랍기만 하다.
이날 하늘에서 진눈깨비가 내렸었는데, 소매에 떨어진 그림으로만 보던
육각형의 눈모양!!아직도 생생하다


이곳이 바로 인스부르크에서 유명한 황금지붕이다.
1500년에 막시밀리안1세가 유럽에서 모여든 상인에게 자신의 권력을
과시하기 위해 총 2657개의 금판을 입혀 만든 지붕.
이날 앞에서 공사가 있어서~밖에서 구경만함.
이안에는 막시밀리안 황제의 박물관이 있다고 한다.

인스부르크를 여행루트에 넣은 목적은 오직 힌터툭스 스키장을 가기위해
머무는 중간지점이기 때문이였는데, 스위스에서 느끼지 못한 알프스의 설경과,
또 시내의 아기자기하고 평온한 마을 풍경을 바로 이곳에서 느낄수 있었다.
정말 매력적인 도시다. 이번에 다시가면 꼭!!이곳에서 여유롭게 머물며
도시의 여유로움을 만킥하고 싶다.

이곳이 로마에서 가장 오래된 유적지라고 한다.
위에서 바라보는 포로로마노의 모습.
보기에는 아기자기해보이지만 실제로는 크기가 어마어마하다.


이테리 베니스의 산마르코 광장!

수많은 비둘기떼와 관광객들로 가득한 곳이다.

회사를 관두고 복잡한 마음으로 간 유럽여행중 생각하는 사진 한컷~
trac-post-commit-hoot script를 사용하면 

Trac+SVN 연동시 SVN에서 commit 할때 Trac의 Ticket에 대한 상태 변경할수 있다.

* Subversion 저장소 : /home/svn/project
* Trac 경로 : /home/trac/project

/home/svn/project/hooks 경로에 가보면 tmpl파일들이 몇개 존재하는데,

여기서 post-commit.tmpl 파일을 post-commit 로 변경한후 실행권한을 추가한후

아래와 같이 편집한다.

#!/bin/sh
REPOS="$1"
REV="$2"
LOG=`svnlook log -r $REV $REPOS`
AUTHOR=`svnlook author -r $REV $REPOS`
TRAC_ENV='/home/trac/project'

/usr/bin/python /home/trac/project/hooks/trac-post-commit-hook \
  -p "$TRAC_ENV"  \
  -r "$REV"       \
  -u "$AUTHOR"    \
  -m "$LOG"

위에 보면 trac-post-commit-hook 이라는 파일을 참조하게 되는데, 이파일은

아래 URL서 다운받을수 있다.


다운받은파일을 /home/trac/project/hooks 의 경로에 복사하게되면 설정 끝!.

이후 SVN에 commit시 사용할 command는 trac-post-commit-hook 파일에 자세히 

comment 되어 있으므로 참조바람.

시스템-기본설정-키보드-키 배치 옵션 탭->Ctrl key position 클릭후

Swap Ctrl and CapsLock 선택!

ldd
ldd
Trac 설정 Linux 2009.02.26 11:20
admin 권한 주기

trac-admin projectPath permission add punbear TRAC_ADMIN

Trac Explorer plugin 설치(http://tracexplorer.devjavu.com/)

TracXMLRPC + HTTPAuth Plugin 설치

cd TracXMLRPC...
sudo python setup.py install
sudo easy_install TracXMLRPC.......egg

cd TracHTTPAuth...
sudo python setup.py install
sudo easy_install TracHTTPAuth.......egg

===== 설치 끝 =====

trac.ini 파일에 추가
[components]
tracrpc.* = enabled

[httpauth]
paths = /xmlrpc, /login/xmlrpc

다음과 같이 trac 계정에 XML_RPC권한을 추가해줌

trac-admin projectPath permission add punbear XML_RPC


Flex porting Linux 2009.02.09 09:44

Flex porting

 

아래 사이트가서 source를 다운받고 적당한 디렉토리에 푼다..

ftp://ftp.gnu.org/gnu/non-gnu/flex/flex-2.5.4a.tar.gz

이 과정이 끝나면 flex-2.5.4 란 디렉토리가 생긴다.

 

flex-2.5.4 디렉토리로 이동해서 아래와 같이 환경설정을 한다

[punbear@localhost flex-2.5.4]exprort CC=powerpc-405-linux-gnu-gcc AR=powerpc-405-linux-gnu-ar RANLIB=powerpc-405-linux-gnu-ranlib

[punbear@localhost flex-2.5.4]

./configure powerpc-linux --prefix=/home/funbear/powerpc

[punbear@localhost flex-2.5.4]make ALL

[punbear@localhost flex-2.5.4]make install