목록전체 글 (861)
CHOU
며칠전에 파이낸셜 타임즈에서 물고기를 닮은 Fish Robot이 스페인 북부 해안에서 시험 가동에 들어갔다고 해서 화제가 된 적이 있었습니다. 예전에 Youtube 동영상에서 바다처럼 물의 흐름이 있는 곳이 아닌 정지된 수족관 안에서 시험 운영하는 것을 보고 대단하고 생각을 했었는데 벌써 상용화를 한다고 하니 놀라울 따름 입니다^^. 아래 사진은 파이낸셜 타임즈에서 소개한 물고기 로봇의 모습입니다. 위의 물고기 로봇이 행동하는 원리는 아래와 같습니다. 우리가 알고있는 먹는 물고기 모습보다는 심해에 사는 무자비하게 무섭게 생긴 물고기 로봇에 가까운 디자인이라고 생각합니다^^;. 이 물고기 로봇을 보고 있다가 예전에 Jaha Robot 동아리 후배 두명이 아이디어 공모전에 나갔던 것이 생각나서 간단히 소개해..
Arbiter는 CCR에서 가장 중요한 기능을 담당하는데 크게 3가지의 기능을 제공합니다. 1) 다른 프로시저(핸들러) 형태로 정의되어 있는 부분을 ITask에 매핑시켜서 해당 프로시저가 수행할 수 있도록 합니다. 2) Coordination 기능으로서 특정한 메세지를 해당 핸들러에 매핑시켜서, 해당 메세지가 수신되면 해당 헨들러에 전달하여 해당 핸들러가 수행되도록 합니다. 3) 동시성을 제어하는 기능으로, 특정한 시점에 동시 실행을 허용하던가, 아니면 배타적으로 오직 하나의 작업만 수행다던가 하는 선택 작업을 수행할 수 있습니다. 오늘은 핸들러 형태로 정의되어 있는 프로시저 부분을 ITask로 변환시켜서 해당 핸들러 안에 구현되어 있는 작업들을 실행시키는 예제를 수행하면서 위에 1번의 기능에 대해 알아..
Arbiter.Receive는 특정 포트에 지정된 메세지가 도착하면 해당 핸들러가 실행되도록 하는 기능을 수행 합니다. 즉 특정 메세지를 myStatus라는 클래스로 정의하였을 때, 이 메세지를 수신하는 포트를 myStatusPort라고 정의 합니다. 이 때 myHandler라는 이름의 핸들러의 연결을 아래와 같이 정의할 수 있습니다. ITask myTask = Arbiter.Receive(false, myStatusPort, myHandler); Arbiter.Receive는 결과를 ITask 형식으로 리턴합니다. http://cafe.naver.com/msrskorea 에 김영준 수석님께서 올려주신 예제를 통해 좀 더 알아보겠습니다. 1. 앞선 예제와 마찬가지로 C# 프로젝트를 오픈해서 Microso..
마이크로소프트는 규모 만큼이나 엄청나게 많은 사이트를 운영하고 있어서 막상 내가 원하는 정보가 집중되어 있는 곳을 찾으려면 어려움을 겪을 때가 있습니다. 뭐 대부분 개발하시는 분들이라면 MSDN 에서 검색하면 정보가 거의 검색되지만 깊숙히 검색해보지 않으면 잘 모를 수 있는 마이크로소프트 웹 페이지에 대해서 소개해 보겠습니다. 1. I am a Developer http://www.iamadeveloper.co.kr/ 마이크로소프트사에서 개발한 최신 어플리케이션과 정보등을 소개하는 사이트로 현재는 Internet Explorer 8, WPF, SilverLight, Windows7 등을 소개하고 있습니다. 특별히 기술에 관한 깊숙한 정보가 있는건 아니지만 현재의 마이크로소프트가 개발한 기술 동향이나 그들..
PortSet은 멀티 배열과 같이 여러 형식의 값을 저장할 수 있는데 PortSet에 값을 추가하기 위해서는 Post 메소드를 사용해야 하며, 값을 읽어오기 위해서는 Test 명령을 사용하면 됩니다. PortSet의 기능을 알아보기 위해서 http://cafe.naver.com/msrskorea 에 김영준 수석님께서 올려주신 예제를 구현해 보겠습니다. 1. C# Windows Form Application 프로젝트를 생성합니다. 그림1. 프로젝트 생성화면 2. 레퍼런스에 Microsoft.Ccr.Core.dll 을 추가해 주고 코드 상단에 선언해 줍니다. 그림2. .NET 레퍼런스 창 화면 //add code using Microsoft.Ccr.Core; using Microsoft.Ccr.Core.Ar..