2014년 5월 15일 목요일

pChart 를 이용해 그래프 그리기. (PHP)

회사에서 수행중인 프로젝트인데, 크게 세가지 부분을 구현하였다.

하나는 C로 작성한 server 프로그램. 이 프로그램은 TCP를 이용해, remote client가 보내오는 연결 요청을 기다리다가, 연결이 들어오면 thread를 생성한다. 이 thread는 연결된 remote client가 보내는 데이터를 받아, 유효한 것인지 검사한 후, 이를 파일에 저장한다. 파일에 저장한 후에 이것을 우리만의 규칙을 이용해 translate하는 것까지 이 서버 프로그램이 담당한다. 연결이 종료되면 thread는 사라진다.

두번째 부분은, remote client부분.  이 클라이언트는 wireless device인데 현재 2G 모듈을 장착하고, 이 모듈을 켜고 끄고 데이터를 보내고 할 수 있는 MCU(microcontroller unit)으로 구성된 디바이스다.  내가 구현한 부분은 이 MCU에 들어가는 프로그램으로 C로 작성하였다. 이 MCU는 8-bit controller이고, 구현 툴은 Freescale의 CodeWarrior IDE를 이용했다.

세번째 부분은, 웹사이트 부분이다. 웹사이트를 통해 end-user는 데이터가 들어왔는지, 언제 들어왔는지 어떠한 데이터가 왔는지 등등을 살펴볼 수 있다.

오늘 여기에서 언급할 pChart 라이브러리는 세번째 부분인 웹사이트에서 사용한 것인데, 우리가 다루고 있는 데이터는 시간별 O2와 Co2 level이다. Numerical한 데이터로도 볼 수 있찌만, 그래프가 직관적으로 보기 편하기 때문에 그래프도 보여준다.  하지만 내가 웹사이트의 전문가도 아니고, 공부하면서 만들어가는 것이라 그래프도 대충 GD library로 만들었었다.

참고로, 나는 이 회사에 Embedded software engineer 포지션으로 들어왔는데, 와보니 이것저것 다 해야한다. 일당백이다.  호주는 인건비가 비싸서 그런가 사람을 여러명 쓸수가 없다. 하나 뽑아놓고 이것저것 다 해주길 원한다.  그대신 시간을 정해놓고 그때까지 하라고 쪼지는 않는다. (적어도 우리 회사는 그렇다.. )

GD library는 정말 단순한 라이브러리인데, 데이터를 가지고, 라인을 드로우 하는 함수를 이용해 그래프를 그렸다. 정말 무식하게 그렸는데, 이쁘지가 않았다.  매니저가 이거 너무 안이쁘다고 다시 좀 해보란다. 색깔도 너무 칙칙하다고..

우리회사에는 이미 웹사이트가 하나 있는데, 이건 돈주고 외주로 만든것이다. 여기에 있는 그래프는 돈주고 산 라이브러리를 써서 아주 멋드러지게 그래프를 그린다.  나는 또 돈을 들일 수 없으니 공짜를 뒤져보았고, 그중에 pChart라는 멋진 라이브러리를 발견.

사실 pChart도 웹사이트(http://www.pchart.net/)에 보면, 라이센싱 관련한 이런 문구가 있따. 완전 공짜는 아니라는 사실.
Licensing?
pChart is released under two licensing models. If your application is freely distributed and meet the GPL requirements, you can use pChart for free under the the GNU GPLv3 license.

If you want to integrate it in your commercial products, you'll have to get a commercial license. There are some exceptions to this rule for Public Research and Education labs. Non-profit web sites that don't want to publish their source code under GPL may also apply. 

(번역해보면)
라이센싱?
pChart는 두가지 라이센싱 모델 하에 릴리즈됩니다.  귀하의 어플리케이션이 자유롭게(공짜로) 배포되는 것이고, GPL 요구사항을 충족한다면, GNU GPLv3 license 규정하에 pChart를 자유롭게(공짜로) 사용하실수 있습니다.

만일 pChart를 상업적 제품 속에 포함하여 사용하고 싶으시다면, 상업 라이센스를 가져야 합니다. 약간의 예외가 있는데 공적인 연구 및 교육 연구를 위한 것일 경우입니다. GPL 하에서 소스코드를 publish하고 싶지 않은 비영리 웹사이트인 경우에도 역시 이 예외가 적용됩니다.


암튼, 우리 웹사이트는 아직 개발중이고, 상업적 목적으로 쓰이고 있지는 않으나, 만일 이 후에 상업적 목적으로 개방시, 이 라이센스 부분을 짚고 넘어가야 할듯.


라이센스 얘기는 그만하고, pChart는 기본적으로 GD library를 가지고 있어야 한단다.  나는 이미 GD library를 가지고 있으니, 이부분은 패쓰. 소스를 다운로드 받아서, 적당한 위치에서 unzip해주었다.  나의 경우는 web-site에서 쓰고 있는 class 를 넣는 디렉토리 밑에 unzip해주었다. 내가쓴 버전은 2.1.4.

사용 단계를 정리하면 이러하다.

1) Install GD library
2) Download pChart code
3) Unzip it under some directory
4) index.php에 이 위치를 정의하였다.
   define ("PCHART_DIR","~~~");
5) 이제 준비완료.. Pchart를 쓰려면 다음의 세줄을 포함시켜 주면 된다.
    include (PCHART_DIR."class/pData.class.php");
    include (PCHART_DIR."class/pDraw.class.php");
    include (PCHART_DIR."class/pImage.class.php");

함수가 이것저것 많은데, 다큐멘트를 보면서, 필요한 부분만 가져다 쓰면 된다.
세부적인 설명은 다음에....


2013년 7월 17일 수요일

(직장) Contract(계약)에서 Permanent로의 전환

지금 일하고 있는 회사는 contract으로 일하고 있다. 처음 계약할 당시 1년 컨트랙으로 계약을 했는데, 호주는 IT의 경우, (다른 분야도 그런거 같은데.. -,-) 컨트랙 잡이 무척 많다. 3개월, 6개월, 1년 등등.

지내보니, 사람을 하나 채용하면 들어가는 돈이 하도 많아 그런가. 회사 HR(인사)에 사람 하나 더 쓰겟다고 설득하기가 쉽지는 않은 모양이다. 그래서 새로운 프로젝이 생기면, 그거에 맞는 사람을 프로젝 진행하는 동안 쓰겠다고 해서 사람을 뽑는 구조인거 같다. (아닐수도 있고.. 그냥 내생각)

이제 10월이 되면 나도 여기서 일한지 만 2년이 된다. 그니까 지난 10월에 한번 계약을 갱신한것이다. 프로젝이 마무리 안되서 일년 더 연장하였다. 그러면서 매니저는, 그냥 계속 눌러앉히고 싶다는 말을 했으나, 그럴만한 여건이 안되는 듯 싶었따.

그러나 올 초에 2월인가? 프랑스 출신의 여자 엔지니어가 갑자기 그만두게 되었다. 매니저가 장기간 출장을 간 사이, 자주 회사를 쉬더니, 그사이 다른 곳을 알아보았나부다.
여기 일이 너무 잡스러운게 많다면서, (하지만 이말도 이렇게 상스럽게 안하고, 영어로 하니 고급스럽게..) 엔지니어로서 일을 배우는 곳으로 가겠다는것이 퇴사 사유.

사실 이때, 매니저의 행동이 참으로 인상적이었는데, 매니저가 공석인 사이에 우리는 이미 그분이 퇴사한다는 사실을 알았고, 매니저는 오랜 출장에서 돌아오더니, 우리가 동요할 것이 걱정되었는지 우리를 한명 한명 일대일로 앉혀놓고 그애의 퇴사 사유를 설명해주고 우리의 근황을 물었다. 직원 한명한명을 배려한달까? 사실 뭔일이 일어나는지 궁금한데 수근수근 댈수도 없고, 그런 상황에 정확한 현황을 모두에게 전달하는 친절함이 인상적이었다.  

그리고 farewell party까지 치러주고, 꽃도 전달하고, 굉장히 부드럽게 마무리하는 모습.  

그러면서, 첨에는 그애를 대신할 (replacement) 엔지니어를 (메케닉) 뽑지 않고, 전자쪽 엔지니어를 뽑겠다고 하더니... 결국에는 지금까지뽑지 않고 있다. 왜냐면, 매니저는 그애의 일을 죄다 쪼개서 분석해보더니, 나를 비롯한 주의의 동료들에게 잘게 잘게 나누어 주었다. 물론 본인도 많은 부분을 감당하였고..  그랬더니 별로 큰 공백은 느끼지를 못했다. (나만 그런가?_

그러더니, 얼마전부터는, 나를 잔류시키기로 한거다. 나를 퍼머넌트로 전환하고, 새로운 사람을 뽑지 않는다는 것이다. 얼마전, 시티에 있는 헤드사무실에 가서 CEO랑 얘기했다고..

아마 HR에서 프로세스를 진행할 것이라고 했다. 마지막으로 나의 의향을 물었따.  나야 당근 OK. 

Contract과 permanent의 차이를 아직은 잘 모르겠다. 회사내에는 하도 다양한 부류의 고용인이 있어서, 별로 차이도 안난다. 우리 사무실만 해도, 나처럼 샐러리를 받는 사람도 있고, 시간당으로 돈을 받으시는 분도 있고. 월-금까지 풀타임 일하는 사람도 있고, 월-목까지 일하는 사람도 있고.

향후 프로세스를 물으니, 아마 직급을 결정하게 될 것이라 한다. 그리고 연봉계약도 함께.
여지껏 별로 내 회사거니 생각이 들지 않았는데, 음.. 이제 정말 내 회사가 되는 것인가?

2013년 7월 8일 월요일

EMC test - FCC, CE and A-tick certification.

현재 개발중인 장비(wireless device)를 필드 테스트 하려면 EMC test를 받아 인증을 득해야 한다고 한다. 우리 회사 주요 시장은 유럽과 북미,남미 인데, 우선 그래서 FCC, CE(유럽), A-tick(호주) 인증을 받기 위한 테스트를 받았다.

이런 것은 나도 처음 진행해 보는지라, 처음에는 뭘 해야 하는지 잘 모르겠었으나,
매니저가 우선은 인증테스트를 진행하고 인증을 부여하는 자격을 갖춘 업체를 물색해서 회의를 잡아주었다. 그 회의를 한것이 작년 10월.

드디어 지난주에 테스트를 실시했고, 아직도 물론 safety 테스트를 하고 있는 중으로 알고 있다.
돈이 무척 많이 들고, 중요성이 큰 작업인지라, 조심스럽게 한 단계 한단계 확인하며 진행했다. 그래서 그런가 시간이 무척 많이 걸렸다.

우리가 컨택한 업체는 EMC technologies다. http://www.emctech.com.au/
지난 10월에 회의를 하고, 테스트 룸도 쭈욱 둘러보았고,
지난주 테스트를 잡기 전까지는 전화와 이메일로 연락을 하여 진행헀다.
실제 테스트가 시작된 7월 1일에는 내가 직접 방문하여 시료를 전달하고 작동법 등 설명했다.

이 업체는 멜번 툴라마린 공항 근처에 있다. 집에서 40km 이상 떨어진 곳이라 한시간 정도 운전하여 방문하였다.

처음 회의를 같이 하고, 진행을 계속 도와주신 분이 Chris Zombolas 이고, 마지막에 테스트 관련하여 좀더 기술적인 부분을 도와주신 분은 Les Dickenson이다.  두분다 나이가 많이 드셨는데, 특히 Chris라는 분은 정말 오래 일을 하셔서 그런가(찾아보니 1992년부터 거기 계셨고, 그 이전에도 다른 곳에서 일하셨고) 뭐 물어보면 바로 척 답이 나온다.

그 기관이 도와주는 부분은, 우리 디바이스가 필요로 하는 테스트 항목과 요구되는 directives를 파악해준다는 것이다.  물론 우리 디바이스에 대해 가장 잘 아는 것은 우리이기 때문에 충분히 설명할 필요가 있다. 그리고 그사람들이 파악한것을 바탕으로, 하나하나 필요한 테스트 항목을 식별한다.   항목하나하나가 다 돈이기 때문에 정확한 식별이 중요하다.

테스트에 필요한 플랜을 작성하여, 그쪽과 몇번 주고 받으면서 완성도를 높인다.
이 작업도 중요한데, 여기에는 우리 디바이스에 대한 description, 우리 회사 주소, 디바이스 세부 사양이 포함되어 있어, 이것이 나중에 certification 문서에 들어가는 항목이 된다.
의외로 오타도 간혹 나와 있어, 매니저와 함께 꼼꼼이 검토하였다.

그러는 가운데 테스트 시료를 준비한다. auxiliary device가 필요하여 함께 준비하였다. 물론 커넥션 케이블도 준비해야 한다. (길이 등도 확인 철저히 할 필요가 있음)

테스트 날짜를 organize하고 테스트를 실시한다.
아직 테스트 결과를 written document로 받은 것이 아니라, 여전히 진행중이긴하나,
EMC technologies는 필요한 support를 충분히 잘 해준다고 판단된다.

다만, safety test는 시드니 랩에서 진행한다고 하여 시료를 하나 더 준비하였는데, 시드니 랩이 멜번과 소통이 잘 되는 것 같지 않다는 생각이 들었다. 멜번 사무실에서 safety test관련하여 준비사항을 미리 알려주지 않아, 시드니쪽에서 다시 요구하는 일이 일어났다.  하지만 시드니 쪽의 safety test manager또한 서포트가 훌륭했다.

일이 마무리되면 다시 한번 포스팅하기로 하고..

2013년 6월 2일 일요일

Working with Flash Memory

플레시 메모리를 가지고 개발하기에 관해, Programming Embedded Systems in C and C++ 라는 책에 나온 부분을 소개하고자 한다.  

지금 내가 개발중인 디바이스는, 그 용도가 우리 회사에서 주로 양산, 공급하고 있는 데이터 로거에서 모아 놓은 데이터를 무선으로 collecting하기 위한 디바이스다.  무선 기능을 위해서는 GPRS module을 쓰고 있는데, 비용이 저렴해서다.  GPRS 망이 결국에는 몇년뒤에 사라지겠지만,  비용면에서 가장 싸기 때문에 아직도 쓰이고 있고 제품도 나오고 있다.

타겟 디바이스의 먼저번 버전에서 데이터를 쌓아두는 내부 메모리로 EEPROM을 썼었는데, 새로운 버전에서는 이것보다 가격이 싸고 데이터 사이즈가 큰 Flash Memory 로 교체하였다. 

flash memory가 싸고 사이즈가 커서 좋은 면은 있겠으나, 접근하여 쓰고 읽고 하다보니 EEPROM보다 뭐 이리 복잡하고 귀찮은지..

다른 것때문에 이 책의 일부분을 뒤지다가 flash memory에 대해, 장단점언급한걸보고, 마자 마자를 연발하다가 여기에 함 정리해 두려한다.

-------------------------------------------
From the programmer's viewpoint, Flash is arguably the most complicated memory device
ever invented. 
프로그래머의 관점에서 보면, 플래시는 지금까지 발명된 메모리 디바이스 중 단연 복잡하다고 말할 수 있다. (물론 논란의 여지는 있겠으나)

The hardware interface has improved somewhat since the original devices were
introduced in 1988, but there is still a long way to go. Reading from Flash memory is fast and
easy, as it should be. 
하드웨어 인터페이스는 처음 이것이 개발된 1988년 이후, 다소 개선되었지만서도,
그러나 여전히 갈길이 멀다. 플레시 메모리에서 읽기작업은 빠르고 쉽다. 

In fact, reading data from a Flash is not all that different from reading
from any other memory device.
사실, 플레시에서 데이터를 읽는 것은 여느 다른 메모리 디바이스에서 데이터를 읽는 것과
전혀 다를 바 없다. 또한 그래야 하고.

The processor simply provides the address, and the memory device returns the data stored at that location. 
프로세서는 단순히 주소(위치)를 알려주고, 메모리 디바이스는 해당 위치에 저장된 데이터를 되돌려준다.

Most Flash devices enter this type of "read" mode automatically whenever the system is reset; no special initialization sequence is required to enable reading.
대부분의 플레시 디바이스는 시스템이 리셋될때면 언제나 자동적으로 이런 형태의 "읽기" 모드로 진입한다.  읽기 작업을 활성화하는 특별한 초기화 과정이 필요하지 않다. 

Writing data to a Flash is much harder. Three factors make writes difficult. 
플레시에 쓰기 작업은 이보다 훨씬 어렵다.  어렵게하는 요인은 세가지다.

First, each memory location must be erased before it can be rewritten. If the old data is not erased, the
result of the write operation will be some logical combination of the old and new values, and
the stored value will usually be something other than what you intended.
첫번째로, 각 메모리 위치에 뭔가를 쓰려면 그전에 반드시 그 위치에 있던 데이터가 먼저 삭제되야 한다.  만일 쓰기전 먼저 삭제를 하지 않는다면, 쓰기 연산은, (해당위치에 쓰여있던) 기존 데이터와 (쓰려고 하는)새로운 데이터의 어떤 논리적 조합으로 수행되기 때문에 저장된 값은 대개 우리가 의도했던 것과는 다른 값으로 저장될 것이다.

The second thing that makes writes to a Flash difficult is that only one sector, or block, of the
device can be erased at a time; it is impossible to erase a single byte. The size of an individual
sector varies by device, but it is usually on the order of several thousand bytes. For example,
the Flash device on the Arcom board-an AMD 29F010-has eight sectors, each containing 16
kilobytes.
플래시 메모리에 쓰기 작업이 어려운 두번째 이유는, 오직 하나의 섹터, 또는 블럭 단위로 삭제가 되기 때문이다.  한 바이트는 삭제가 안된다는 얘기다.  각 섹터의 크기는 디바이스 마다 다른데, 보통 몇 천 바이트이다. 예를 들어, Arcom 보드에 AMD 29F010의 플레시 디바이스는 8개의 섹터로 되어 있고, 각 섹터는 16 킬로바이트로 구성되어 있다.

Finally, the process of erasing the old data and writing the new varies from one manufacturer
to another and is usually rather complicated. These device programming interfaces are so
awkward that it is usually best to add a layer of software to make the Flash memory easier to
use. If implemented, this hardware-specific layer of software is usually called the Flash
driver.
마지막으로,  예전 데이터를 삭제하고 새 데이터를 쓰는 과정은 제조사 마다 다르나, 대개의 경우 꽤나 복잡하다. 이러한 디바이스 프로그래밍 인터페이스는 아주 어색하여(awkward - 자연스럽지 않다는 의미) 플래시 메모리를 쉽게 쓸 수 있도록 도와주는 소프트웨어 계층을 하나 끼워넣는것이 최선이다.  만일 구현된다면, 이런 하드웨어에 따라 다른 계층을 대개 플래시 드라이버(flash driver)라고 부른다. 

2013년 5월 28일 화요일

Serialize Setup Program from P&E

금번에 개발 중인 GPRS 디바이스의 FCC and CE 인증을 준비중이다.
이제 테스트 플랜을 다 만들어 기관에 의뢰하여 검증하였고, 어제 Purchase order를 place하였다. 우리가 이용하는 인증대행기관은 EMC Technologies 라는 기관으로 여기서 조금 떨어진, 그래도 빅토리아 주에 위치하는 기관이다. (한번 방문한적이 있다)

아직, 그쪽에서 스케줄 오거나이징 한것은 아직 결과를 받아보지 못했으나,
준비하는 중, serial number assignment 관련하여, 매니저가 선임 엔니지어와 함께 논의하여 결론지으라 지시했다.

선임 엔지니어는 뭔가를 들여다보고 있더니, P&E에서 구입한 Cyclone Pro의 User Manual을 건네준다. 그안에 보니, 12장에  Automatic Serial Number Mechanism이란게 있다.

이 회사에서 산 Cyclone Pro를 이용해서, 우리 회사에서 제조하는 콘트롤러에 이미지 파일을 다운로딩하고 있는데, 그러니까 주로 SAP Stand-alone Programming 용도로 쓰고 있었다.

이 장비에 그런데, 시리얼 번호 부여 기능이 있다고 한다. 사용자가 원하는 위치와, 시리얼 번호의 규칙을 정한 다음에, 파일을 생성한 후, 이걸 기반으로해서, 사용자가 원하는 위치의 온보드 플래시 메모리에 시리얼번호를 넣어주는 것이다. 그리고서 파일이 갱신되어 시리얼번호가 하나 증가된다.

시리얼 번호 부여는, 이번에만 필요한게 아니라, 실제로 제조하여 판매할때 더욱 필요한 것이라, 그걸 감안하여 이런걸 쓰자고 이걸 나에게 보여주는 것이다.

매뉴얼을 받아다 보니, 꽤 쓸만했다. 프로그램을 뒤져서 찾아 해보니 프로그램은 쪼금 어설프긴 해도, 사용도 쉽고..


프로그램은 실행시 모양이 요렇게 생겼다.
규칙을 정하는 부분과, Starting address를 설정하는 부분으로 구성되 있다.
Starting address 부분은, MCU의 데이터쉿에 나오는 플래시 메모리 구성을 참고하여 설정했다.

이걸 저장하면 *.ser이란 파일이 생성된다.
그다음, 파일 이미지를 쓰는 프로그래밍 소프트웨어를 실행한다. (물론 싸이클론 프로를 타겟 디바이스와 연결 후)

P&E 프로그램 깐 거 중에서 인터렉티브 프로그램 중, 해당되는 MCU 타입에 따라 맞는 프로그램을 실행한다.  

(오늘은 여기까지..)  퇴근 시간이다. 

QT에서 MySQL 쓸 수 있게 설정.

Qt에는 기본적으로 MySQL을 쓸수 있게 되어있지 않다. Qt 책에 보면, 라이선스 제약 때문이라고 그러던데, Qt의 오픈소스 에디션에 모든 드라이버가 제공되지 않음.

각설하고, MySQL을 쓸수 있게 하려면 "뭔가"를 해줘야 하는데,,
회사에서 금번에 컴퓨터를 바꾸면서, 새로 그 작업을 다시 해줘야 했다.
기억이 안나서, 다시 그작업을 하려니 또 시간이 걸린다.

이번에는 과정을 좀 자세히 정리해야 할 것 같다.

(1) 먼저 Qt에는 소스파일 패키지가 설치되어 있어야 함.
      -> 확인방법 : 소스가 설치된 위치로 이동:
      -> 나의 경우는  C:\Qt\4.8.4\src\plugins\sqldrivers\mysql
             이 안에, mysql.pro와 main.cpp가 들어 있었다.

(2) MySQL을 깔아야 함. (이건 C:\MySQL에 설치하였음)
       ->  mysql-connector-c-6.0.2-win32.msi를 깔았음.

(3) mysql 소스가 설치된 위치로 이동 ==> (1)번의 위치로 이동

(4) Modify the file mysql.pro



    (수정할 포인트)  INCLUDEPATH와 LIBS 부분을 추가.


(5) qmake mysql.pro와 make를 실행

(6) 그러면, 네 개의 파일이 생겨남.  
      -> libqsqlmysql4.a / libqsqlmysqld4.a / qsqlmysql4.dll / qsqlmysqld4.dll
      -> 이 파일들이 C:\Qt\4.8.4\plugins\sqldrivers   에 저장됨.

(7) 그리고서 DOS prompt에서 다음을 실행하여 libmysql.dll 을 생성하여야 함
      -> go to C:\MySQL\lib\opt에서
      -> reimp -d libmysql.lib      (reimp.exe는 인터넷에서 다운로드함)
      -> dlltool -k -d libmysql.def -l libmysql.a

(8) 이렇게 생성된 libmysql.dll을 C:\Qt\4.8.4\bin 에 넣어야 함.
     (물론, C:\Qt\4.8.4\bin은 PATH에 잡혀있어야 함)


<마지막으로 주의사항>
프로젝트 파일인 .pro에 QT+=sql을 삽입한 후 실행해야 함.
=> QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");


다음의 글은 참고.




 

2013년 5월 23일 목요일

RealTerm 사용기 - 하이퍼터미널 대체

이번주에는 회사에서 노트북(여기서는 랩탑이라 부르는)을 지급했다.
현재는 데스크탑을 쓰고 있었는데, 리스 만료기간이 되어, 그에 맞추어
데스크탑을 다 회수하고, 랩탑으로 교체하기로 했다고 한다.

새 기계를 받으면 언제나 좋지만, 더러운 책상도 한번 정리하고,
자료도 한번 싹 정리하고..
그렇지만 개발 툴 등을 정리하는것이 성가시다.

그저께인 수요일날 지급이 되고, IT 가이가 친히 MS 관련 소프트웨어는
백업을 받아주었으나, 나머지는 각자 알아서 하란다.
개발하는 사람이 거의 없어서리,,, 우리를 배려 전혀 안한다.. -_-

가장 골치 아플것으로 예상했던, CodeWarrior 툴은, 의외로 쉽게 rehost했다
라이센스를 사고서, 여기 홈페이지가서, 이 툴을 쓸 PC의 유니크한 아이디
나같은 경우 ethernet address를 집어넣고서 license를 generate한 후 이걸 피씨에 특정
위치에 두고 썼었다.

rehost는 이번 경우처럼 PC를 replacement할 때, 라이센스를 기존 기기에서 다른 기기로
옮기는 과정을 말한다. Freescale에 가니, HOW to rehost 라는 친절한 동영상이 있어서리
이걸보고 그대로 따라했다. 쉽게 되었다.
여기까지가 수요일에 한 일이고.
어제는 우리 아이들 학교에 안가는 날이라 (curriculum day - 이런날이 꼭 하루씩있다.
선생님은 나오는데 아이들은 안가는 날. Pupil free day라고도 한다)

연가내고, 집에서 애들 뒤치닥거리하고,
오늘 나와서 이 귀찮은 일들을 또 시작했다.

웬만큼, 정리하고서, 실제 개발환경에 문제가 없는지, 테스트 하다보니,
새로운 랩탑에는 Hyperterminal이 없다.  윈도우즈 7에 이거 없다는 얘기를 옆에 동료가
예전에 한게 생각났다. . 어 정말 없다.. 그분께 여쭤보니, 음.. 그거 없어서 자기는 집에서
realTerm을 쓴단다.  이거가 더 좋다고 free 니까 다운받아 쓰라고 알려준다.

고맙게도.. 받아서 해보니.  인스톨은 쉬우나, 실행시 에러가 나면서 안된다.

==>Error Messsag를 받았다.  Error accessing the OLE registry.
==> 내용인 즉, OLE registry에 접근하지 못한다.. 라는 내용.

해결방법은...  realTerm이 깔린 자리로 가서(나같은 경우, C:\program file\BEL\ 인가?)
거기에서 realTerm.exe의 property를 연후, 권한을 바꾸어주면된다.

"Run this program as an administrator"

그렇게 바꾸고 나면 실행이 되는데, 첨에는 뭘 어케 셋팅하는지 헷갈리나.
자세히 살펴보면, 하이퍼터미널에서 셋했던 것 보드레잇 같은거 설정하는 탭을
발견할 수 있다.

이젠 잘 돌아간다~

AWS 레소스 중 SNS와 SQS에 대해

AWS (아마존 웹 서비스)에는 정말 많은 레소스가 제공되는데 그 중 현업에서 흔하게 쓰고 있는 것이 있는데 이게 SNS와 SQS다.   처음에 이걸 쓸때, 도대체 뭔 차이인지 잘 몰라서 헷갈렸었다. 이름도 비슷하다. SNS는 Simple Notifi...