본문 바로가기

불가능의 역설 1948년에 기계가 생각하는 것이 불가능 하다는 강의를 듣고, 존 폰 노이만은 이렇게 말하였다고 한다. "당신은 기계가 할 수 없는 어떤 것이 있다고 주장한다. 만일 당신이 기계가 할 수 없는 것이 무엇인지 정확하게 이야기해준다면 , 나는 언제든지 그 일을 수행할 수 있는 기계를 만들 수 있다. 청소 알고리즘을 개발하면서 느낀점이 이거다. 말로 명확하게 설명할 수 있는 그 어떤 것이라도 프로그램으로 구현할 수 있고, 로봇이 그대로 움직이게 할 수 있다. 꽤 많은 경우 불가능과 무지는 유의어로 쓰인다. (무지하게 때문에 인식하진 못하지만.) 더보기
MFC - Slider Control을 써보자 1분 안에 Slider control 달기 1. Dialog에서 Slider Control을 단다. 2. 적당한 변수를 추가한다. CSliderCtrl m_SliderSpeed; int m_nSpeed; 3. 적당한 변수를 적당히 초기화해준다. , m_nSpeed(6) m_SliderSpeed.SetRange(1, 9); m_SliderSpeed.SetPos(m_nSpeed); 4. 적당히 함수를 만든다. (더블클릭해서) 5. 적당히 추가한 변수를 이어주면 된다. 더보기
MFC - 포커스를 옮겨보자 MFC에서 마우스휠이나 키보드 입력을 처리하다보면 꼭 생기는 문제가 slider control등이 그 키에 반응을 한다는 것이다. 예전에 키보드의 방향키에 의해서 silder control이 옮겨질 때는 pretranslate message에서 아예 return을 시키는 편법을 썼었는데 마우스 휠은 그렇게 하기 귀찮더라. 그래서 devpia를 뒤지던 중 고마우신 분이 아주 cool하게 4줄자리 소스를 써 주셨다. HWND hWnd = ::GetFocus(); HWND NextWnd; NextWnd = ::GetNextDlgTabItem(m_hWnd, hWnd, TRUE); ::SetFocus(NextWnd); 해당 Item의 바로 옆으로 포커스가 옮겨지게 된다. 더보기
MFC - 그림을 그려보자. 학교를 다니던 3년동안 Visual studio는 죽어라 했었지만 매번 검은 바탕에 흰 글씨가 띄워지는 것 외에는 하지 못했었다. encapsulation이다, poly morphism이다, template 등의 알면 좋지만 꼭 몰라도 괜찮은 것을 배우느라 시간을 쓰다가, 회사에 와서 mfc를 다루게 되었다. 화면에서 몬가 움직이는 것을 보았을 때의 그 즐거움이란 ! (아 코덕후같군..) 흡사 처음 Hello World! 를 띄웠을 때와 비슷한 느낌이었달까. ↓↓ 회사에서 만든 로봇시뮬레이터 ↓↓ 화살표 달린 초록색 동그라미가 청소 로봇 이다. (클릭해서) 몇 번의 비슷한 프로그램을 짜는 와중에서 그림을 그리고, 시뮬레이션 할 수 있는 프로그램을 짜는 것은 익숙해 졌으나 할 때마다 느낀 것은 이 것을 정.. 더보기