2010년 2월 25일 목요일

광교휴먼시아A4

http://imagesearch.naver.com/search.naver?where=idetail&rev=6&query=%B1%A4%B1%B3%20%C8%DE%B8%D5%BD%C3%BE%C6%20A4&from=image&ac=1&sort=0&res_fr=0&res_to=0&merge=0&spq=0&start=4&a=pho_l&f=nx&r=4&u=http%3A%2F%2Fcafe.naver.com%2F0312953500%2F646&thumbnail=http%3A%2F%2Fthumbview01.search.naver.com%2Fthumbnails%3Fq%3Dhttp%3A%2F%2Fcafefiles.naver.net%2F20091124_235%2Fccprugio_12590499556585uwK4_jpg%2F%25B1%25A4%25B1%25B3%25C1%25D6%25B0%25F8_ccprugio.jpg&signature=28282072782&gdid=90000004_0119CDB80000028600000000&t=35









특히 올해 분양시장의 최대어로 꼽히는 송파 위례신도시 보금자리주택 사전예약이 3월로 예정돼 있어 청약저축자들의 발 빠른 움직임이 요구된다. 서울 강남권에 공급되는 청약저축 물량이니만큼 청약저축자간의 눈치 싸움이 더욱 치열할 전망이다. 청약부금 및 소액 예금자는 서울 강남구와 경기 남,북부(남양주시, 용인시) 지역을, 전용면적 85㎡초과 예금자는 인천 송도에 중대형 물량을 눈여겨봐야 할 것 같다.

송파 위례신도시 첫 분양을 앞두고 청약저축자들의 발걸음이 분주해질 전망이다. LH는 송파구 위례신도시에 보금자리주택 76~115㎡ 2400가구를 공급할 계획이다. 이중 청약저축 통장이 필요한 물량은 1800가구다.(3자녀, 기관추천특별공급은 저축통장 없이 일정 기준 충족 시 청약 가능)

위례신도시가 주목받는 이유는 뛰어난 입지 여건 때문이다. 서울지하철 2?8호선 잠실역이 차로 15분거리에 위치하고, 대중 교통망이 다양해 잠실역을 중심으로 형성된 생활편의시설 이용 및 타 지역으로 이동이 용이하다. 이번 사전예약 물량은 100% 서울시 송파구 관내에서 공급되기 때문에 지역우선공급 비율이 서울 지역주민 50%, 나머지 50%는 수도권 거주자들에게 기회가 돌아간다.

위례신도시의 예상 당첨커트라인은 지역우선공급(서울 50%) 1500만~1600만원, 지역외공급(서울 포함한 수도권 50%) 1600만~1700만원으로 예상된다. 전매제한기간은 7~10년이다.

2010년 2월 7일 일요일

Embedded Linux

1.구성요소: Root file system, kernel, boot loader
2.Booting 과정
  전원 ON -> Boot loader (시스템을 초기화하고 kernel을 memory로 오림)
          -> Kernel (Linux 초기화)
    -> root file system을 mount함.
  1)Boot loader
   -PC의 BIOS와 같은 것.
   -각종 HW의 초기화를 담당하며 모든 초기화 과정이 끝나면 메모리의 특정 번지로부터
    압축된 kernel의 이미지를 가져와서 압축을 푼 후 커널을 실행시킴.
  2)Kernel
   -리눅스가 동작할 수 있도록 SW적인 초기화 작업 수행.
   -root file system을 mount함.
   -kernel초기화의 마지막 단계에서 root file system의 Init프로그램을 호출함.

3.Kernel version 표기법
 -<주버전>.<부버전>.<패치 level>
  (부버전이 짝수이면 안정버전(stable version), 홀수이면 개발버전(development version)

RTOS

운영체제의 역할
 - 응용 program에게 프로그램을 보다 쉽게 작성할 수 있도록 API를 제공
 - 하드웨어의 자원을 효과적으로 관리
 - 하드웨어를 추상화하여 하드웨어에 무관하게 응용 프로개름을 작성할 수 있게 도와줌

RTOS(Real Time OS)
 - 외부의 사건에 시간적 제약성을 가지고 반응하는 system
 - 시스템의 기능적 정확성(functional correctness)뿐만 아니라 시간적 정확성이 만족되어야
   올바른 동작이 보장되는 system ex) 유도미사일
 - 시간의 제약 정도에 따라..
  1) 경성 실시간 system: dead line을 어길 경우 시스템의 품질에 치명적인 타격을 입히는 system
                 ex) 미사일, 자동차
  2) 연성 실시간 system: dead line을 어기는 것이 품질의 저하를 가져오더라도 system의 동작이
                         여전히 의미를 가지는 system. ex) 동영상 player(오류시 깜박임정도)

RTOS의 조건
 - 시간적 제약을 만족시키기 위해 우선순위에 기반한 scheduling지원 해야함.
 - 운영체제의 크기가 작아야 함
 - 필요에 따라 운영체제의 기능과 크기르 조절 가능해야함.
 - 이식성이 좋아야 함.

RTOS의 구성
 - kernel, scheduler, interrupt 처리기, 메모리 관리자, 각종 kernel object
  .scheduler: RTOS 커널의 핵심부
              수행가능한 여러개의 task중에서 가장 적합한 task를 선택하여 수행권을 넘겨주는 역할
              multi tasking이 가능하게 함.
        두가지 방식, 선점형 scheduler와 비선점형 scheduler
  .Task: RTOS의 실행 단위.
      각 task는 우선순위를 가지고 있으며, 우선순위가 높은 task가 system 자원을 선점할 수 있음

2010년 2월 5일 금요일

어린 왕자

지난주 연습
세원이가 예의 그 털털한 몸짓과 표정으로
종이 가방 하나를 내밀며 선물이란다..

"예전에 읽어봤겠지만..오랜만에 다시 보니까 감회가 새롭더라구요..
 글도 짤막짤막하고 그림도 예뻐서 금방 읽혀요"라며..

고맙소..


review 2010.04.08
1월 중순에 받은 책..이제서야 독후감을 작성한다..
소행성 B612에서 떠나온 어린 왕자는 이 별, 저 별을 돌아다니다가 지구에 와 사막에 불시착한 비행사와 조우하게 된다. 어린왕자는 화자가 묻는 질문에는 쌩까고 대답도 잘 안해주면서 자기가 궁금한 것은 끝까지 물어 대답을 듣고야 마는 조금은 이기적인 캐릭터로 묘사되어 있다.
인터넷에 떠도는 주옥같은 명대사들이 바로 이 책에서 많이 나왔구나..다시 느끼게 되고

다 큰 지금에와 이 동화같은 소설을 다시 찬찬히 읽어보니
어린 시절, 그냥 활자만 읽었던 그때와는 느낌이 사뭇 다른 것은 물론이요,
전혀 가슴에 와 닿지 않던 구절들이 새로이 내게 와 새겨지기도 한다..

"안녕, 잘 있어" 어린 왕자가 말했다
"안녕, 잘 가... 참, 내 비밀을 말해 줄게. 아주 간단한 건데...
 그건 마음으로 봐야 잘 보인다는 거야.
 가장 중요한 것은 눈에 보이지 않는단다."

어린 왕자는 그 말을 잊지 않기 위해 다시 되뇌어 보았다.
'가장 중요한 것은 눈에 보이지 않는다'

"너의 장미꽃이 그토록 소중한 것은
그 꽃을 위해 네가 공들인 그 시간 때문이야"

"내 꽃을 위해 공들인 시간 때문에..."
어린 왕자는 이 말도 잊지 않기 위해 되뇌었다.
"사람들은 그 진리를 잊어버렸어" 여우가 말했다.

"하지만 너는 그것을 잊으면 안 돼.
너는 네가 길들인 것에 대해 언제까지나 책임이 있는 거야.
너는 네 장미에 대해 책임이 있어."

"나의 장미에 대해 책임이 있다.."
이 말을 결코 잊지 않으려는 듯 어린 왕자는 조용히 되뇌었다.

App review #4

iPTT

Top free list에 올라와 있길래
사용자들의 review를 읽어봤더니
"이런게 무료라니 믿겨지지가 않아" 일색이길래
냉큼 다운받아 봤다..

기능은..
iphone user들 간의 워키토키 같은것??

아래 그림에서 "15.9"가 나타내는 것은 channel number.
0.1단위로 channel이 변경되며 각 채널은 일종의 채팅방(?)을 의미하고
여기들어가면 각 사용자들이 '목소리'로 대화를 나누고 있다.
아래 '9 users tuned in'이라고 써져 있는 것을 보면..
현재 저 채널에는 9명이 서로 '육성'으로 대화를 나누고 있는중
말을 할때는 저기 빨간색을 손으로 터치하고 말하면 됨
(마치 무전기의 버튼을 누르고 말하는 것 처럼)

나는 어색해서 한마디도 못해봤는데..
사람들은 말을 참 잘하더군..
anyway, it's useless for me..

2010년 2월 4일 목요일

MFC practice #7

Interconnection btw event of Listbox and behavior of Edit box.

 1.LBN_SELCHANGE통지 메세지: Listbox에서 항목 선택이 변경되었음을 알려주는 메세지 (p.439)
   - value category의 멤버변수 추가.
   - CxDlg class의 속성창의 event버튼 클릭.
   - LBN_SELCHANGE통지 메시지의 핸들러 함수(OnLbnSelchangex)등록.
 2.GetCurSel() 함수: 현재 선택된 항목의 index 알아냄.
    int nIndex;
nIndex=test.GetCurSel();
 3.switch/case이용하여 index값에 따라 임의의 string을 edit box에 출력.
   - value category로 m_edit1 멤버 변수를 edit box에 추가
   - edit box에서는 AddString(), InsertString()이 쓰이지 않음(?), so x.Format()으로 출력.
   - 다음과 같이 OnLbnSelchangeList1()의 case문 안에 코딩
        m_edit1.Format(_T("index 0"));
UpdateData(FALSE);

Result
 - Ok, it works.
 - Bug: OGF1,OGF2에 관계 없이 첫번째 명령어는 무조건 'index0'가 발생함.
        OGF를 구분하는 조건이 하나가 더 추가 되어야 함. How?

Summary
 - LBN_SELCHANGE(OnLbnSelchange()) 통지 메시지:
   .목록상자(ListBox)에서 항목 선택이 변경되었음을 알려줌.
   .키보드를 이용했든 마우스를 이용했든 항목 선택이 변경되면 이 메시지가 발생함.
 - GetCurSel():
   .List box내의 항목 선택했을시 항목의 index를 int형으로 반환하는 함수. (see p.440)
 - Edit box에서 화면 출력하고자 할때는 'AddStrig()'이나 'InsertString()'이 쓰이지 않고,
   'Format()' 함수 사용.

TODO next is
 - Debug: 전역 static으로 변수 하나 할당한 후 button click 마지막 란에 OGF구분용 flag 추가
          ex) OGF_flag=0
          OnLbnSelchange()함수 안에 위의 flag를 이용한 if문 구현하여 돌려보자.




MFC practice #6

How to connect a button with its relative List Box?

1. 다른 프로그램 예제 분석 결과:(로또 프로그램)
  -Button click시 edit box에 random 숫자 6개를 출력하는 방식.
    m_num1.Format("%d",Number[0]);
  -위 형식을 응용하여 try...
2. List Box에 우클릭'Add Variable'하여 m_CMD변수 추가(value category, CString type).
  m_CMD.Format(_T("AA"));
  -> 실행하여 button click시 원하는 결과 출력 안함.
  -> 둘의 차이는 edit box에 쓰느냐, list box에 쓰느냐의 차이라고 생각된다.
  -> 'Format()'이 아니라 다른것을 적용해야 할듯 함.. AddString??

Result
  - AddString() 이용하여 출력
    test.AddString(_T("Reset")); // control category로 Add variable, variable name is 'test'
  - but, AddString()은 버튼 클릭할때마다 Listbox에 문장이 추가되어 버리는 문제 발생
    -> test.ResetContent(); // 이 코드를 함수의 처음부분에 삽입하여 문제 해결..
  - OK. it works.
 
Summary
 - Category가 'value'이면 Format()을 사용하여 display하고
 - Category가 'Control'이면 AddString()을 사용하여 display.
 - edit box에는 Format()을 이용하여 display, List box에는 AddString()을 이용하여 display.
 - ListBox의 내용을 지우고 싶으면 ResetContent()이용

TODO next is
 - OGF button click시 해당 그룹의 OCF commands가 List box에 출력되는것 까지 현재 구현 완료.
 - mouse로 임의의 OCF 클릭시에
   // LBN_SELCHANGE 통지 메세지 이용(OnLbnSelchange()함수생성)
   // OnLbnSelchange()함수 내에, GetCurSel()함수 이용하여 클릭된 list의 index값을 int로 읽어옴.
 - 해당 HCI packet을 생성하고
 - 관련 내용을 오른쪽의 edit box에 출력(static type??)
 - 동시에 RS-232 모듈로 생성된 packet을 전달.
   
혹시 정리한 내용중 틀린게 있으면 누가 comment 좀 달아주세요 ㅎㅎ

MFC practice #5

How to connect a button with its relative dialog?

ref-p.560

1.새로 추가하려는 Dialog(버튼과 연동된 dialog, child dialog)에 class추가(우클릭 'Add Class')
  Class name에 'CSetPortDlg"입력
2.새로 추가한 class의(CSetPortDlg) header를 (Add class시에 자동으로 이름 생성됨)
  구현파일("HCIxxx.cpp)에 include 시킴(#include "SetPortDlg.h")
3.mother dialog(button이 위치한 dialog)에 button control resource를 추가하고
  handler 함수 등록(우클릭"Add event handler"->function name은 자동 생성됨)
4.coding in the "xxx_Dlg.cpp" file.
  ex)
  void CHCI_ex_01_28_1Dlg::OnBnClickedButtonSetport()
  {
CSetPortDlg Dlg;
INT_PTR nResult=Dlg.DoModal(); //이때 new dialog open. DoModal() function.
if(nResult==IDOK)
AfxMessageBox(_T("OK"));
  }


Result
 - I can see the result which i wanted.
 - SetPort Dialog의 radio button 5개가 모두 1그룹처럼 동작하고 있어
   총 5개의 button중 하나만 선택 가능하게 설정되어 있음 => 2그룹으로 나누어야 함.
 
   각 그룹의 첫번째 radio button의 'Group style'(its property)을 'true'로 변경 (p.420)
   =>solved!!!

TODO next is
 1.In the main dialog
  1)CMD1 button click시에 그 아래쪽의 List box에 해당 그룹의 명령어가 나열되게 한다.
  2)CMD2 button click시에도 위와 동일한 형태로 동작되게 한다.
  3)List box에 나열된 명령어중 하나를 click시에 해당 bit stream을 packetize한 후
    이를 RS-232 module로 전송하고, 이 내용을 오른쪽 window(edit box or..)에 도시
  4)3번의 반대 과정, 즉 de-packetize과정 역시 필요
 2.In the SetPort Dialog
  -port, speed setting 값이 'OK' 버튼 클릭시에 해당 설정값을 RS-232 module에 저장토록 한다
   UpdateData()함수 이용??

2010년 2월 3일 수요일

속쓰림엔 역시 밀크



모처럼 일찍 귀가해 좀 쉬다가
여느때와 다름 없이 운동하러 갔는데..



자꾸 속이 쓰려 온다..
달리기를 하고 스트레칭을 하고 크런치를 하고
쇳덩이를 드는데..
더부룩하고 쓰린 속이 좀체 진정이 되질 않는다..

하여 오늘은 번과 밀크티를 나란히 마주하기보다는
돌아오는 길에 지층 편의점에 들러
'1급A 원유' 마크가 선명한 저 녀석을 무려 1L짜리나 사와서
벌컥 벌컥 들이켰다..



키는 안크겠지??ㅋ

2010년 2월 2일 화요일

App review #3

Polarize

이름 그대로 폴라로이드 효과를 주는 어플..
사진을 즉석에서 찍어서
혹은 앨범에 있는 사진을 가져와서
폴라로이드 효과를 준다..
밑에 짤막한 글도 곁들일 수 있다.. 영문으로만 12자까지.
MoreLomo보다 훨씬 느낌있는듯 ..

사진은 우리 동네 빵집

2010년 2월 1일 월요일

App review #2

moreLomo

iPhone으로 찍은 사진을 로모틱한 분위기로 연출해주는 어플..
사용자들의 review를 보면 이전 버전은 좀 괜찮았다는데,
update이후 비네팅이 좀 과도하게 들어갔다는 불평이 있다.
실제로 그런듯..

"Refresh your body and soul"
이라고 적힌 골판지의 문구가 인상적이다라고 느끼며..
이제 그만 혼자만의 아늑하고 여유로운 refresh를 접고
서둘러 자리에 누워야만하는 현실이 안타깝기만 하다..

금요일 언제 오나..휴


QT:Cross-platform application and UI framework

"Code less. Create more. Deploy everywhere."


QT is a Cross-platform application and UI framework.

Using Qt, you can write web-enabled applications once and deploy them across desktop, mobile and embedded operating systems without rewriting the source code.


1. What is QT?

   - QT는 push button, menu, dialog와 같은 graphic object와

     이것들을 구현하기 위해 필요한 함수들의 Library이다.

   - graphic 객체들은 Widget이라고도 불리며 이 widget에 대응하는 함수들을 합한 것을 Toolkit이라 함.

   - "Code less. Create more. Deploy everywhere."

   - 노르웨이의 Trolltech에서 1996년 발표했음.

   - 현재는 Nokia가 인수하여 운영중(http://qt.nokia.com)    

   - 완전한 객체지향을 구현하였음.(확장이 용이하고 real component programming이 가능함).

   - Linux desktop의 기본 Library로 구성되어 있음(KDE의 기본 Library)

   - 풍부한 양의 위젯 및 사용하기 쉽고 화려한 인터페이스를 제공함.

   - 'Qt allows you to write advanced applications and UIs once,

              and deploy them across desktop and embedded operating systems

                       without rewriting the source code - saving time and development cost.'

 

2. Available platform

   - 다양한 platform을 지원

   - 포팅이 자유로움.

     단순히 해당 platform에서 재컴파일 하는 것으로 Unix/Mac/Win 환경에서 실행가능.

     ("Write Once, Compile Anywhere")

   - Embedded Linux, Mac OS X, Windows, Linux/X11, Windows CE/Mobile, Symbian, Maemo를 지원.

 

3. MFC vs QT

   - MFC는 윈도우 운영체제의 그래픽 툴킷(Graphical Toolkit)이다.

   - Win32API는 C와 C++을 혼합해서 쓰고 있는 조금 약한 의미의 객체지향(Object oriented)이다.

   - 반면 QT는 완전 객체 지향적이다.

 

4. Tool

   - QT v4.6 이 현재 최신 버전임.(http://qt.nokia.com)

   - LGPL version: window visual studio는 지원하지 않음.

   - Commercial version: 30일 평가판.


5. Comment

   - Linux용 GUI programming tool이라고 막연히 알고 있었으나, multi-platform용 개발툴임.

   - 한마디로 일종의 MFC같은 것인데, 훨씬 잘 짜여진(보다 객체지향적인),

     multi-platform용 개발툴이라고 이해됨.

   - QT 홈페이지에서 표방하고 있는 문구는 확실히 개발자들에게 매력적으로 어필할 것 같다.

     (Write code once to target multiple platform)

   - 한번 작성한 코드가 윈도우, 리눅스, 윈모바일등 platform을 가리지 않고 적용 가능하며,

     MFC보다 훨씬 모듈화 구성이 잘 되게 할 수 있으므로 팀내에서 응용할 수 있는

     적절한 target을 찾아 적용한다면 다시말해, 세가지 part에 공통 분모로 작용할만한 툴이

     무엇이 있을지 고민하고 이를 개발한다면 꽤 의미 있는 작업이 될 것 같다.

 

 

아래는 참고 site  


-Programming School,

  http://php.chol.com/~valentis/Suhdang/QT_Programming/Lecture_1.html

-MFC vs. QT in detail

  http://phil.freehackers.org/kde/qt-vs-mfc.html

-QT/S60 베타로 프로그램 짜보기

  http://blog.peremen.name/?page=9#entry266Comment

 


[footnote]deploy: 효율적으로 사용하다.[/footnote]