September 29, 2009

C# using BitConverter

 안녕하세요 :) 오랜만에 포스팅입니다. 요즘은 일교차가 커지고 날씨도 점점 추워지고 있습니다. 다들 감기조심하세요^^

 

 요즘 MFC 프로젝트를 C# Windows Forms 로 컨버팅 작업을 하고 있습니다. 작업중 memcpy 에서 막혀 조금 고생하다 한방법을 찾아 이렇게 소개합니다.ㅋ

BitConverter
Converts base data types to an array of bytes, and an array of bytes to base data types.

 

 우선 MFC 의 어떤 부분이 저를 괴롭혔는지 아래 코드를 살펴보겠습니다.

unsigned int x = 0; // 0 ~ 4294967295
unsigned char intTochar[4] = {0,};

memcpy(intTochar, &x, 4);

for(int i = 0 ; i < 4 ; i++)
{
     printf("%d\n",intTochar[i]);
}

하고자 하는 사항은 부호없는 정수형(unsigned int) 의 값을 부호없는 문자형(unsigned char) 배열에 담는것입니다. 정수형은 4Byte 이고 문자형은 1Byte 이기때문에 크기가 4인 배열에 담으려고 하는것입니다. C 에서는 memcpy 를 통해 수행이 가능합니다. 아래는 출력 결과 입니다. 부호없는 정수형은 0~4294967295 의 데이터 범위를 가집니다. 0일때와 4294967295 의 출력결과 입니다. 한바이트 씩 출력해보았습니다.

 

 

(변수 x 가 0 일때와 4294967295 출력 결과)

 

 

 다음은 C# 을 통해 위와 같이 구동되는 방법을 알려드리겠습니다. (아래와 같습니다 -_-a 흐흐)

uint x = 4294967295; // 0 ~ 4294967295
byte[] intTochar = new byte[4];

intTochar = BitConverter.GetBytes(x);	

 

참으로 간단합니다.^^ 가끔보면 C# 은 참 매력있는거 같습니다.

BitConverter 에 대하여 더많이 알고 싶다면 (역시 MSDN 이죠?!)

http://msdn.microsoft.com/en-us/library/system.bitconverter.aspx

 

 

 

 

 

September 2, 2009

기술 트렌드 리포트 #2 - Microsoft Vine

 

 

 

안녕하세요! DKLEE 입니다.^^

이번에 소개 해드릴 것은 조금은 생소한 "Microsoft Vine" 입니다. 우선 Vine 의 뜻부터 알아보겠습니다. Vine = 덩굴식물,줄기,덩굴 등으로 해석할 수 있습니다. 맨위의 Vine 의 로고중 V 의 끝이 꼬여있는것을 볼 수 있는데 아마 Vine의 뜻을 담은것 같습니다.

Microsoft Vine 은 덩굴처럼 사람들과 사회가 엮인 무엇인가를 표현하고 있는것 같습니다. 현재는 Beta 버전으로서 사용을 하기 위해서는 초대를 받거나 베타신청을 통하여야 합니다. (댓글을 남겨주시면 초대를 해드리겠습니다.)

 

키스를 글로 배웠습니다(ㅋㅋ) 라는 광고가 있듯이 역시 요런건 글보다는 실행장면을 보면서(비록 동영상은 아니지만) 설명을 드리는것이 좀더 빨리 이해하는데 도움이 될 것 같습니다^^

하나하나 Vine을 뜯어 보겠습니다. 로그인후 처음보는 창에서는 3개의 매뉴, 2개의 버튼, 그래픽창 2개로 이루어져 있습니다. 우선 큰 매뉴 3가지 (VItals, Places, People)가 위치합니다. 우선 Vitals긴급연락을 받을 My contact information 을 정의 하는 부분입니다. 주소, 이메일, 모바일 연락처 등 개인정보를 입력할 수 있습니다.

 

두번째로, Places 인데 자신이 관심있어하는 장소를 정의 할 수 있습니다. "Add place"를 통하여 관심지역을 설정하고 Radius 즉, 관심반경을 설정할 수 있습니다.

 

위의 캡쳐화면은 관심지역으로 "New York" 을 설정한 장면입니다. 지도에는 자신이 설정한 Radius 만큼의 원이 그려지고 그안에서 발생한 뉴스,정보등이 표시되게 됩니다. 지도화면은 Microsoft Virtual EarthMetaCarta GeoSearch매쉬업 하여 나타나게 되어 있습니다. Vine 의 공식 홈페이지에서는 다음과 같이 설명하고 있습니다.

 

"articles from 20,000 news and public safety sources"

 

 

세번째로, People 매뉴 입니다. 자신의 관심人을 등록하는 곳으로서 Group을 만들거나 Add 할 수 있는 곳입니다. 이곳에선 비상연락망을 설정할 수 있고 다음에 설명할 "Send Alert" ,"Post Report" 에서 사용할 그룹을 설정 할 수있습니다. 테스트로 한명을 등록해 보았습니다. 실수로 이름을 똑같이 해서 그렇지만 여성 사진(ㅋ)으로 교체하여 보았습니다.^^ 오른쪽에 History 를 통해 그 사람과 연락한 내용이나 Alert 메시지를 다시한번 확인해 볼 수 있습니다.

 

이제 메인창에서 가장큰 버튼 2개에 대해서 알아 보겠습니다. 참 심플합니다.

 

 

왼쪽에 붙어 있는 "Send Alert" 이란 버튼부터 살펴 보겠습니다. MouseOver 하게되면 "Send a time-sensitive message to your people." 이라고 알림 메시지가 뜨게되고 내용을 보면 이전에 설명했던 People 매뉴에서 추가한 사람들에게 '시간에민감한' 메시지를 보낸다고 설명되어 있습니다. 메시지를 받는 방식은 받는 사용자가 설정한 모드(처음에 설명했던 Vitals)로 전해지게 되며 종류에는 "e-mail, a text message, or on their computer" 가 있습니다. 사용자는 자신이 가장빨리 연락을 받을 수 있는 방법을 선택하여 자신의 contact information 을 설정하면 되겠습니다. 그래야 '시간에 민감한'을 충족할 수 있으니까요. Emergency 상황이 발생했을 때 가족이나 친지들과 서로 연락을 취하고 안전을 위한 정보를 주고 받을 수 있는것입니다.

 

 

"Post Report"는 설명대로 나의 상태, 뉴스등을 올리는 역활을 하고 알리고 싶은 그룹에 알릴 수 있습니다. Post Report 의 알림 종류에는 4가지 모드가 있고 어떻게 표현하냐만 다르고 전달한다는 의미는 같습니다. Check in Safe and Well / Report Upcoming Plans / Report a Situation / General Information 으로 이루어져 있습니다. 잘지내는지 / 앞으로계획 / 상태 / 일반적정보 를 표현할 수 있습니다.

 

(Vine 공식페이지 설명입니다.)

Post reports. You decide what you want to share with whom, and then the information is sent directly to their personal dashboard. Check in safe and well to let your family know you are okay, let trusted neighbors know you’re headed out of town, keep people informed of situations that matter, or share general information like the team practice schedule for the week.

 

Send Alert 혹은 Post Report 하게되면 설정한 연락처로 연락이 가게되고 메인창에서 아래부분에 'People I Care About' 에서 확인할 수 있습니다.

 

지금까지 Microsoft Vine 에대해서 알아 보았습니다. 아직은 Beta 버전이라 속도도 약간느리고 미쿡에서밖에 사용할 수 없다는 아쉬움이 있습니다. 여러분도 한번 사용해보세요^^

 

(관련 URL)

http://www.vine.net/

http://mashable.com/2009/04/28/microsoft-vine/

http://www.techcrunch.com/2009/04/27/microsoft-vine-to-connect-family-friends-when-crisis-hits/

http://social.microsoft.com/Forums/ko-KR/vine/threads

http://jpyun56.wordpress.com/2009/05/01/microsoft-vine/ (한글)

http://www.labnol.org/software/microsoft-vine-guide/9616/

 

(아래는 Vine 에 올라왔던 소개 동영상 3편입니다)