2012년 9월 21일 금요일

Google Web Toolkit 프로젝트를 SVN에 깔끔하게 저장하기

SVN에 깔끔하게 저장하기라 함은 빌드의 산물들은 제외하고 SVN 저장소에 저장하는 것을 뜻한다. 즉, 빌드의 산물들을 제대로 svn:ignore 키워드로 지정하기만 하면 깔끔하게 저장된다. 하지만 Google Web Toolkit은 Java 파일을 JavaScript 파일로 컴파일(?) 해버리는 상당히 특이한 도구라서 어떤 것들을 svn:ignore 속성에 넣어줘야 하는지 좀 막막하다. 이런 저런 삽질 끝에 얻은 결론은 다음 3개의 디렉토리를 svn:ignore에 넣어주면 될 것 같다는 것.

  • PROJECT/gwt-unitCache
  • PROJECT/war/project
  • PROJECT/war/WEB-INF/deploy
여기서 이탤릭체로 표시한 PROJECT와 project는 각각 프로젝트 이름을 뜻한다. 그건 알아서 판단 하시길...

아, 참고로 현재 내가 쓰고 있는 GWT의 버전은 2.4.0!

2012년 9월 19일 수요일

Linux 'screen' 으로 데몬 만들기

아직 /etc/init.d 스크립트까지 만들어본건 아니지만, screen으로 데몬 만들어서 시작하고, 종료하는 것까지 성공!

시작하기
# screen -dmS daemonName command

종료하기
# screen -S daemonName -X quit

이제 이걸 /etc/init.d 내에 스크립트로 만들어주면 될 듯... 한데... 귀찮네..;; 스크립트는 다음에 하는 걸로...ㅋㅋ

아... 여기 잘 정리가 된게 있구나... 어차피 난 지금 OpenWrt에서만 놀면 되니까...
OpenWrt용 Init script 작성법!

2012년 9월 11일 화요일

터미널에 컬러 출력하기

정부출연연구소에서 정부의 R&D 과제로 먹고 살다보면 R&D 할 때 늘 우선적으로 고려가 되는 부분이 바로 '시연'이다. 그런데 안타깝게도 내가 하는 일은 초소형 장치에 들어가는 임베디드 운영체제를 개발하는 일이다 보니 시연이 늘 까다롭다. 뭔가를 멋지게 보여주고 싶어도 딱히 멋진 방법이 없다. 무선 센서 같은 초소형 장치에는 어지간한 입출력 장치도 없는게 현실이고, 그러다보니 대부분의 시연은 터미널 프로그램에 시리얼로 입출력하는 식이다.

어김없이 올해의 중간평가 시즌인 요즘, 또 시연에 대한 고민에 고민을 반복하다가 우리로부터 기술이전을 받아간 한 업체가 우연히 보여준 ANSI color라는게 문득 생각났다.



이거 대박이다. 앞으로는 이걸로 좀 감각적으로(?) 시리얼 출력을 그려봐야겠다. :)

Mac용 TftpServer

언제부터인지는 모르겠지만 우분투 리눅스에서 TFTP 서버 돌리기가 까다로워졌단다. 그래도 구글링해보면 다들 어찌어찌하여 문제를 돌파하던데, 난 tftpd를 쓰던, atftpd를 쓰던, HPA-tftpd를 쓰던 도통 UDP 69번 포트가 열리지 않는다.

삽질 좀 하다가 이내 포기하고 Mac에서 TFTP 서버를 열기로 했다.

Mac용 TftpServer

이가 없으면 잇몸으로... 물론 내 Mac이 조금 더 지저분해지긴 했지만...ㅋㅋ

2012년 5월 30일 수요일

Ubuntu에서 쓸만한 Twitter app. - Hotot!

우분투에서 Gwibber를 쓰다가 안되겠다 싶어서 다른 트위터 애플리케이션을 찾았다. 이름하여, Hotot. 하탓(?) 이라고 읽어야 하나?



여하튼 Gwibber는 Unity indicator에 포함된다는 점 빼고는 장점이 거의 없다. UI도 불편하고, quote retweet도 안된다. 화면 스크롤도 이상하다. 반면, Hotot은 UI도 우분투스럽게 괜찮고, Unity indicator에도 추가가 된다. 위에 보이는 외계인같은 아이콘이 Hotot이다.

Hotot은 기본 저장소에 없으므로 ppa를 별도로 추가해줘야 한다.

$ sudo add-apt-repository ppa:hotot-team
$ sudo apt-get update
$ sudo apt-get install hotot
출처: http://www.omgubuntu.co.uk/2011/02/hotot-twitter-app-adds-indicator-applet-again/

2012년 5월 24일 목요일

NanoQplus 2.5.0 배포의 변

ETRI에 들어온지 어언 4년차. 학부 4학년 시절 졸업작품 준비하다 NanoQplus 만난게 인연이 되어 UST 석사과정 2년, 계약직 연구원 1년이 지나 2년차가 진행중이며, 올해도 절반 정도가 훌쩍 지나갔으니 어언 4.5년이라고 해야 정확할 듯 싶다.

ETRI에서 내가 하는 일은 NanoQplus 운영체제를 개발하는 일이다. NanoQplus를 소개하자면 8비트(AVR), 16비트(MSP430), 그리고 32비트(ARM Cortex-M series) 급 마이크로컨트롤러에 적합한 초소형 임베디드 장치용 운영체제이다. 예전에는 센서 네트워크용 운영체제라고 표현을 했지만 요새는 Internet of Things용이라고 해야 조금 더 트렌디하게 느껴지려나?ㅋ 여하튼 용도를 보면 느껴지겠지만 무선 네트워크 응용을 쉽게 개발할 수 있도록 라이브러리들도 지원하고 있다.





무선 좀 지원한다고 뭐 거창하게 운영체제까지 필요하냐라는 질문이 들어올 수 있다. 하지만 필요하다. 무선 송수신 칩을 제어해서 바로 옆의 장치와 안정적으로 통신하기 위한 MAC에서도 운영체제는 필요하고, 다수의 장치들이 하나의 네트워크를 만들고 서로 멀티홉으로 메시지를 주고 받기 위해서는 타이머, 인터럽트 처리 등등 운영체제에서 제공하는 많은 기능들이 필요하다. 이젠 그 운영체제로 그 조그마한 장치에서, 그 별거 아닌 듯한 무선으로 인터넷(IPv6)까지 지원받아 초소형 무선 웹서버까지 만들 수 있으니 필요하지 않다고 말할 수 없을 것이다. 게다가 사용자 응용은 나날이 복잡해져 여러 태스크들을 동시적으로 수행해야 한다. 이런 이유들에도 불구하고 여전히 필요하지 않다고 하는 사람들은 순수 펌웨어 레벨에서 프로그래밍할 때의 고충을 모르는 사람일 것이다.

NanoQplus는 소스코드가 공개되어 있다. 아쉽게도 전부 공개도 아니고 순수 오픈소스 프로젝트도 아니지만, 그래도 임베디드나 운영체제를 전공 또는 취미로 공부하고 싶은 사람들을 위해 공개하였다. 상업용은 기술이전을 받아야 한다. 그래야 우리도 먹고 산다.ㅋ 2007년 9월 처음 공개 버전은 2.3이었고, 2009년 4월 2.4가 공개되었었다. 그리고 바로 오늘 2.5의 베타버전을 공개하였다. 물론 중간에 ETRI 내부 조직 개편의 소용돌이와 함께 배포 서버도 사라지면서 공식적인 채널도 사라졌었지만 그래도 우리팀의 소수는 묵묵히 NanoQplus 개발을 멈추지 않고 계속 하고 있었고 다시 공식적으로 배포할 수 있기까지 끊임없이 노력해왔다.

이번 공개버전 릴리즈는 개인적으로도 의미가 남다르다. 대략 5년전, 운영체제 개념만 알았지 어떻게 구현해야 할 줄 몰랐던 학부생이 재미로 시작했다가, 어쩌다 보니 연구원에 들어와 직접 코드에 손을 대고, 이렇게 직접 배포를 하게될 줄은 정말 꿈에도 몰랐을 것이다. 물론 세계적으로 유명한 오픈소스 프로젝트인 TinyOS나 Contiki 같은 타 초소형 임베디드 운영체제들과 비교하여 볼 때 직접 만든 NanoQplus의 부족한 기능들이 느껴지지만, 그렇기 때문에 여전히 나에겐 매력적인 운영체제이자 장난감이다.

그러니 졸업작품 준비 중인 대학생 여러분들! 연구 논문 준비 중인 대학원생 여러분들! 취미로 임베디드 하시는 분들! NanoQplus 좀 써주세요.(갑자기 존댓말.ㅋㅋ) 우리 운영체제로 인터넷 연결되는 무선 센서 네트워크, 무선으로 제어할 수 있는 로봇, 무선 웹 서버 등등 각종 임베디드 관련 프로젝트 가능합니다. 우리 운영체제에 관해서는 뭐든 도와드릴테니 관심 좀 부탁 드립니다. 감사합니다. :)

2012년 5월 4일 금요일

한달간 방배동 고시원 생활

좀 치우고 찍었으면 좀 나았을라나? 흠... 별로 그럴 것 같지 않네.ㅋㅋ 뭐.. 있는 그대로의 모습이 중요하니까...ㅋㅋ

한달간 고시원 생활 기념으로 방 빼는 날 아침에 눈 뜨자 마자 (제 정신이 아닌 상태란 얘기) 사진을 찍었다. 태어나서 처음이나 마지막(제발 그러하길...)으로 고시원이라는 답답한 장소에서 버텨본 기념이다.

늘 연구소에 있으면 뭔가 답답하고 좀 루즈해지는 면이 없지 않아 있는데 파견을 통해서 그런 부분에 있어서 많은 해소가 있었다. 특히, 실제 상용화하는 업체에 직접 나가보니 정말 정신없이 바쁜 하루하루들, 그 사람들이 어떤 생각으로 일을 하는 지 직접 느낄 수 있는 계기가 된 점은 아주 좋았다. 그런데 딱 한 가지 날 힘들게 한 것은 바로 저 좁아터진 고시원...ㅎㅎ

침대에 누우면 내 키가 딱 들어 맞는다. 그러고 천장을 바라보면 천장이 내려앉는 기분이 들고, 옆으로 돌아누워 벽을 바라보면 벽이 다가오는 기분이 드는 마법 같은 장소. 누군가에게는 젊은 시절 꿈을 키워갈 장소라고 말할 수도 있겠지만, 난 젊은 청년들을 저런 곳으로 내모는 우리 사회 현실이 참 답답하게만 느껴졌다.

여하튼 이제 고시원 안녕~~~!!