IT 취미생활.  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
'분류 전체보기'에 해당하는 글(191)
2008.10.21   [서태지]심포니 방송을 시청을 극장에서 하는 서태지 매니아들....
2008.10.20   당신의 은밀했던 전생 이야기
2008.10.18   [알고리즘] Insertion Sort(삽입정렬)
2008.10.17   비슷한 것을 끌어당긴다.
2008.10.17   [알고리즘] Priority Queue (우선 순위큐)
2008.10.17   [알고리즘] Selection Sort
2008.10.16   [알고리즘] BubbleSort
2008.10.15   [Brasil]브라질 택시 기사 안토니오~ 2
2008.10.10   [Windows Mobile] Windows Mobile 6 SDK 종류
2008.10.02   강의석아 너도 군대 가라 ~~~
2008.09.29   나는 방황중..... 2


[서태지]심포니 방송을 시청을 극장에서 하는 서태지 매니아들....
칭찬은 고래를 춤추게 한다하고, 서태지 매니아들은 세상을 변하게 한다.~!!!

저도 신청해서 심포니 본방을 cgv에서 보게 되었습니다.

고운하루 되세요.


사용자 삽입 이미지


당신의 은밀했던 전생 이야기
아스트랄 계의 공식으로 만들었다는 것인데 푸하하하..
월요일 기분좋게 시작하려 한번 전생정보를 검색 해보았습니다.



아스트랄계에서 추출한 당신의 전생 정보 내역을 분석해본 결과,

당신은 우주의 처음 갈라프레이행성 에 살았던 타임로드였 습니다.

그 당시에, 당신은 갈라프레이행성 에서 시간의 소용돌이를 관리했 었습니다.

당신이 인생에서 가장 행복했던 때는, 타디스라는 타임머신을 타고다니다가 맘에드는 여인을 만났을 때 이고,

당신이 인생에서 가장 불행했던 때는, 여자의 생이 다해 죽었을 때 였으며,

당신의 죽음은, 시간전쟁에서 달렉이라는 외계인과 싸우다 장렬이 전사하며 이루어 졌습니다.

은밀한 전생체험 : http://blcat.kr/@/life.php




[알고리즘] Insertion Sort(삽입정렬)
간단하게 작성한 삽입 정렬입니다.


간단하게 원리를 설명드리면, 배열에 index는 1에서 부터 시작해서(1 <= x < N ) N까지
정렬을 합니다.  index한 녀석을 집어 넣을 위치를 찾는 것입니다.

코드는 따로 설명 드리지 않겠습니다.

void InsertSort( int *_arrayBuffer, int _bufferSize )
{
  for( int i = 1; i < _bufferSize; i++ )
  {
    int insertionValue= _arrayBuffer[ i ];
    int nInsertPosition = i;
    while( _arrayBuffer[nInsertPosition-1] > insertionValue && nInsertPosition > 0 )
    {
      _arrayBuffer[nInsertPosition ] = _arrayBuffer[ nInsertPosition - 1 ];
      nInsertPosition--;
    }
    _arrayBuffer[ nInsertPosition ] = insertionValue;
  }
}

배열안에 값들이 정렬이 이루어져 있으면 N 에 대한 성능을 가질 수 있다고 하는군요.

그럼 고운하루 되세요.



비슷한 것을 끌어당긴다.
사용자 삽입 이미지
< 브라질 출장중 : 호텔 방에서 >



비슷한 것은 비슷한 것을 끌어당긴다.
당신은 우주에서 가장 강력한 자석이다!
당신 안에는 세상 그 무엇보다 강한 자기력이 깃들어 있고,
그 헤아릴 수 없는 자기력은 바로 당신 생각을 통해서
방사된다. 마음으로 원하는 것을 생각하고
그 생각이 마음에 가득하게 할 수 있다면,
그것이 당신의 인생에 나타날 것이다.

- 론다 번의《시크릿(The Secret)》중에서 -


* 술을 좋아하면 술친구가 많고
책을 좋아하면 책친구가 많아집니다.
꽃밭에 뒹굴면 몸에서 꽃향내가 풍겨나고
시궁창에 발을 담그면 고약한 냄새가 뒤를 따릅니다.
비슷한 것, 그러나 좋은 것을 끌어당겨야
그 인생이 향기로워집니다.

데브랜드에서 다시 퍼옴

---
우리가 업계를 살아가며 여러 사람들을 만나게 되는데
스스로 자기의 가치를 높이려 하는 사람들을 볼 수 있습니다.
항상 그런 분들을 본 받고, 모델링 해야 할 것 같습니다.


[알고리즘] Priority Queue (우선 순위큐)

Project에 적용하기 위해서 작성한 Heap을 기반으로한 Priority Queue Class 입니다.
MultiThread-Safe 하긴한데 performance가 따라 줄지는 모르겟습니다.
성능 개선을 위한 부분 있다면 언제든지 코멘트 부탁 드립니다 ㅜㅜ;;;;

딱 보면 아시겠지만, 생각하는 프로그래머에 Code를 그대로 옮겨 놓은 듯 합니다.
^0^ 그럼 고운하루 되세요.

template< class T >
class CPriQueue
{
private:
 int m_nCurIndex, m_nMaxsize;
 CRITICAL_SECTION m_cs;
 T *m_pTemplateArray;

 void swap( int i, int j )
 {  
  T t = m_pTemplateArray[i];
  m_pTemplateArray[i] = m_pTemplateArray[j];
  m_pTemplateArray[j] = t;
 }

public:
 CPriQueue()
 {
  m_pTemplateArray = NULL;
  InitializeCriticalSection( &m_cs );
 }

 ~CPriQueue()
 {
  FlushQueue();
  delete []m_pTemplateArray;
  DeleteCriticalSection( &m_cs );
  m_pTemplateArray = NULL;
 }

 void SetQueueSize( unsigned int QueueSize )
 {
  if( QueueSize <= 0 )
   QueueSize = 1;

  m_pTemplateArray = new T[ QueueSize +1 ];
  if( m_pTemplateArray )
  {
   m_nMaxsize = QueueSize;
   m_nCurIndex = 0;
  }
 }

 void Push( T t )
 {
  if( m_nCurIndex >= m_nMaxsize   )
  {
   FlushQueue();
   printf("******FULL Queue ******* ");
   return;
  }

  int nParentIndex;
  EnterCriticalSection( &m_cs );
  m_pTemplateArray[ ++m_nCurIndex ] = t;


  if(  m_nCurIndex >  1 && m_pTemplateArray[ nParentIndex = m_nCurIndex >> 1  ] > m_pTemplateArray[m_nCurIndex] )
  { 
   for ( int nCurrentIndex = m_nCurIndex;
    nCurrentIndex > 1 && m_pTemplateArray[ nParentIndex = nCurrentIndex >> 1  ] > m_pTemplateArray[nCurrentIndex];
    nCurrentIndex = nParentIndex )
   {
    swap( nParentIndex, nCurrentIndex );
   }
  }
  LeaveCriticalSection( &m_cs );
 }


 T Pop()
 {
  if ( m_nCurIndex == 0 )
  {
   return 0;
  }

  int nChild = 0;
  EnterCriticalSection( &m_cs );
  T  t = m_pTemplateArray[ 1 ];
  m_pTemplateArray[ 1 ] = m_pTemplateArray[ m_nCurIndex-- ];

  for(  int i = 1; ( nChild =  i << 1 ) <= m_nCurIndex ; i = nChild )
  {
   if( nChild + 1 <= m_nCurIndex && m_pTemplateArray[ nChild + 1 ] < m_pTemplateArray[ nChild ] )
   {
    nChild++;
   }

   if( m_pTemplateArray[ i ] <= m_pTemplateArray[ nChild ]  )
   {
    break;
   }
   swap( nChild, i );
  }
  LeaveCriticalSection( &m_cs);
  return t;
 }
 
 void FlushQueue()
 {
  UINT nfreameCount = 0;
  T tFrame  = NULL;
  while( tFrame = Pop() )
  {
   delete tFrame;
   tFrame  = NULL;
   nfreameCount++;
  }
  m_nCurIndex = 0;
  printf("******Flush Queue *******  :: %d \n", nfreameCount );
 }
};



[알고리즘] Selection Sort

프로그래밍 불여일타!!의 프로젝트의 일환으로, 퇴근후 배깔고 하는 알고리즘 공부를 시작!!
그 결과물로 간단 간단한 알고리즘을 작성하고, Blog에 올리기로 했습니다.

오늘은 간단하게 Selection Sort를 만들어 보았습니다.

* 원리는 : 총 1...n개의 정렬 되지 않은 요소에서, 첫번째 놈을 가져다가 가장 작은 값을
              가진다라 가정 하고  나머지 n-1개와 비교를 하게 합니다. 그래서 그중 가장
              작은 녀석을 기억 하고 있다가, 1번째 자리와 바꿉니다. 그리고 index을 하나 더
              증가 해서 두번째 요소를 가지고  n-2 만큼 loop를 돌아서 다시 최소값을 찾고
              바꿔 줍니다. 이렇게 반복하면 정렬이 됩니다.( 사실 그림으로 보면 아무것도
              아닙니다. 그림은 귀찮아서 안그렸습니다.)

* 성능 :  O(N^2)

* 코드

void swap( int *a, int *b )
{
     int dump = *a;
     *a = *b;
     *b = dump;
}

void SelectionSort( int *_arrayBuffer, const unsigned int _arraySize )
{
     for( int i = 0; i < _arraySize; i++ )
     {
          int nMinIndex = i;
          for( int j = i + 1; j < _arraySize; j++ )
          {
               if( _arrayBuffer[j] < _arrayBuffer[nMinIndex] )
               {
                   nMinIndex = j;
               }
          }
          swap( _arrayBuffer[nMinIndex], _arrayBuffer[ i ] );
      }  
}


[알고리즘] BubbleSort

간단하게 Bubble Sort을 만들어 보았습니다.

정렬 방식은 Buffer 마지막에 가장 큰 값을 옮겨두고, 첫 번째 for loop의 index를 -- 하여
뒤에서 부터 큰 값들이 정렬되도록 하는 sorting 방법입니다.
알고리즘 효율은 O(N^2) 입니다.

Function 이름은 "한눈에 보이는 C 알고리즘"이라는 책에서 가져다 사용 했습니다. - 귀차니즘

프로그래밍의 왕도는 역시 불여일타!!!!





#include <cstdlib>
#include <iostream>

using namespace std;


#define MAX_SIZE 100

int NumberExit( int *_arrayBuffer, int _number, int _index)
{
    for( int i=1 ; i < _index; i++ )
    {
            if( _arrayBuffer[i] == _number )
            {
                return true;
            }
    }
    return false;
}

void MakeRendomNumber( int *_arrayBuffer )
{
     int nNum = 0;
     srand( (unsigned)time( NULL ) );
     _arrayBuffer[0] = MAX_SIZE;
     int i = 1;
     while( i < MAX_SIZE )
     {
            nNum = rand() % MAX_SIZE;
            if( false == NumberExit( _arrayBuffer, nNum, i ))
            {
                _arrayBuffer[i] = nNum;
                i++;
            }
     }
}

void DisplayBuffer( int *_arrayBuffer )
{
     for( int i = 0; i < MAX_SIZE; i ++ )
     {
          if( (i % 10) == 0 )
          {
              cout << "\n";
          }
          cout << _arrayBuffer[i] << "\t";
     }
     cout << "\n";
}


 

void BubbleSort( int *_arrayBuffer, const unsigned int _arraySize )
{
     for( int i = _arraySize - 1; i >= 0; i-- )
     {
          for( int j = 1; j <= i ; j++ )
          {
               if( _arrayBuffer[ j - 1 ] > _arrayBuffer[ j ] )
               {
                   int nDummy  = _arrayBuffer[ j - 1 ];
                   _arrayBuffer[ j - 1 ] = _arrayBuffer[ j ];
                   _arrayBuffer[ j ] = nDummy;
               }
          }
     }
}

int main(int argc, char *argv[])
{
    int Buffer[ MAX_SIZE ] = { 0 };
   
    MakeRendomNumber( Buffer );
    DisplayBuffer( Buffer );
    cout << "\n";
   
    BubbleSort( Buffer, MAX_SIZE );
    cout << "\n";
    DisplayBuffer( Buffer );
   
    system("PAUSE");
       
    return EXIT_SUCCESS;
}



[Brasil]브라질 택시 기사 안토니오~

사용자 삽입 이미지


브라질에서 공항 pick  up을 해주던 동갑? 내기의 친구 택시 운전사!!
쉬운 영어 조차 알아 듣지 못 해서 deep한 대화를 나눌 수 없었지만....
우리에겐 바뒤 랭귀지가 있어서 의사 소통 하는데는 커다란 문제는 없었다.
-: 믿거나 말거나



[Windows Mobile] Windows Mobile 6 SDK 종류

Windows Mobile 6에서 개발을 하기 위해서 기본적으로 SDK를 설치 해야 합니다.

우선 , Wince 5.0 standard 에서 Build한 Filter는 platform 호환이 되어
그냥 사용 할 수 있었습니다. Application도 또한 바로 Build 및 실행이 되었습니다.

그래도 Windows Mobile에서 사용하는  API를 사용하기 위해서는
해당 SDK를 설치 하여야 합니다.

아래를 참고 하시면 어떤 SDK를 사용 할지 알 수 있습니다.



Windows Mobile 6 Professional and Standard Software Development Kits Refresh

Brief Description
The Windows Mobile 6 SDK Refresh adds documentation, sample code, header and library files, emulator images and tools to Visual Studio that let you build applications for Windows Mobile 6.

On This Page

Quick Details
Version: 6
Date Published: 5/1/2007
Language: English
Download Size: 150.6 MB - 1204.1 MB*
*Download size depends on selected download components.

Overview

The Windows Mobile 6 SDKs add documentation, sample code, header and library files, emulator images and tools to Visual Studio that let you build applications for Windows Mobile 6.

With Windows Mobile 6, we are revising our SKU taxonomy and naming to better align our brand and products with the realities of today’s mobile device marketplace. The historical form-factor based distinction between Windows Mobile powered Smartphone and Windows Mobile powered Pocket PC Phone Edition is blurring dramatically. We want our taxonomies and terminology to evolve to better reflect the evolution of the mobile device industry.

The list below summarizes the changes and the SDK that must be used when targeting the platforms (Previous Categories = New Categories):

  • Windows Mobile for Smartphone = Windows Mobile Standard (download the Windows Mobile 6 Standard SDK)

  • Windows Mobile for Pocket PC = Windows Mobile Classic (download the Windows Mobile 6 Professional SDK)

  • Windows Mobile for Pocket PC Phone Edition = Windows Mobile Professional (download the Windows Mobile 6 Professional SDK)


The Windows Mobile 6 SDKs reflect these changes in the naming of "Project Templates" and "Emulator Images".

The following emulator images are included in the SDKs:

  • Windows Mobile 6 Standard SDK
    • Windows Mobile 6 Standard (176x220 pixels - 96 dpi)
    • Windows Mobile 6 Standard Landscape QVGA (240x320 pixels - 131 dpi)
    • Windows Mobile 6 Standard QVGA (320x240 pixels - 131 dpi)
  • Windows Mobile 6 Professional SDK
    • Windows Mobile 6 Classic (240x320 pixels - 96 dpi)
    • Windows Mobile 6 Professional (240x320 pixels - 96 dpi)
    • Windows Mobile 6 Professional Square (240x240 pixels - 96 dpi)
    • Windows Mobile 6 Professional Square QVGA (320x320 pixels - 128 dpi)
    • Windows Mobile 6 Professional Square VGA (480x480 pixels - 192 dpi)
    • Windows Mobile 6 Professional VGA (480x640 pixels - 192 dpi)

 Top of page

System Requirements

  • Supported Operating Systems: Windows Server 2003 Service Pack 2; Windows Vista; Windows XP Service Pack 2
The following software is required. Please check each application's system requirements individually.

Windows Server 2003
Windows XP
Windows Vista

Important: "Visual C++ Smart Device Programmability", which is an option of Microsoft Visual Studio 2005 Setup, must be selected and installed during Visual Studio 2005 installation.

 Top of page

Instructions

Uninstall previous versions of the Windows Mobile 6 SDK before installing the SDK Refresh.

  1. Click on the buttons below on this page to start the download
  2. Do one of the following:
    • To start the installation immediately, click Run.
    • To save the download to your computer for installation at a later time, click Save.
    • To cancel the installation, click Cancel.

 Top of page

Additional Information


  • Windows Mobile 6 Professional SDK Refresh does not contain the Windows Mobile Standard SDK Refresh and you will need to download both to target both platforms.
  • Windows Mobile 6 Professional SDK Refresh contains Windows Mobile 6 Professional emulator images and one Windows Mobile 6 Classic emulator image.


Known Issues:
  1. Uninstalling one of the SDKs may remove the Cellular Emulator shortcut from the Start Menu. Repairing the installed SDK will re-create the shortcut.

    from : http://www.microsoft.com/downloads/details.aspx?familyid=06111a3a-a651-4745-88ef-3d48091a390b&displaylang=en



 



강의석아 너도 군대 가라 ~~~
사용자 삽입 이미지

강의석아 너도 군대 가라~

의석아 니가 직접 경험을 해보고, 군대에 대해서 이렇다 저렇다 이야기 해보는건
어떻겠니?

꼭 가본 사람만이 알 수 있는건 아니지만~
대한 민국에 대다수의 남자들이 군대를 갔다 왔잖아?
의석아 너도 군대 한번 갔다 와봐라~
아니면 해병대 캠프라도 꼭 다녀와~
 
그후 니 생각을 듣고 싶다~

그전까지는 의석아!! 유즈 플리즈 닭 쳐 줄래?

ps. 1999 11월 해병대 병장 만기제대 임


나는 방황중.....

사용자 삽입 이미지
    < Brazil 출장중 들려서 커피를 마시던 Cafe입니다.  카프치노 >

출장을 다녀 온 뒤로.....

방황하고 있습니다......

내 모습을 많이 잃어 버렸습니다.

슬프네요. 쿡쿡....ㅜㅜ



BLOG main image
취미생활
 Notice
 Category
분류 전체보기 (191)
매일매일갱생 (83)
서버개발 (1)
임베디드개발 (12)
Programming (80)
Personal Projects (6)
유용한 프로그램 (0)
 TAGS
군대 음식 project 미라지폰 출장 spam mail VC++ ISDB-T Windows Mobile6.0 debugging Algorithm 벨소리 변경 M480 Error Case It 퇴사 Brazil Java DVB 영어 이메일 warning C DirectShow Wince5.0 DVB-T Dshow Linux 서태지 C++ english email 알고리즘 isdbt 티스토리초대 MP3 1seg 티스토리 초대장 Debug 개발자 English
 Calendar
«   2025/01   »
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
 Recent Entries
 Recent Comments
 Recent Trackbacks
 Archive
 Link Site
zextor
괴짜 프로그래머의 일상사~@@
Gag & Peace, and more..
Kazakhstan Almaty.......
Min-A
Sadgarret
Steve Yoon's log
가슴 뛰는 삶을 살아라
오스틴 파워
GUI sin
melanie parker_Lady
제레미의 TV 2.0 이야기..
 Visitor Statistics
Total :
Today :
Yesterday :
rss