12월, 2011의 게시물 표시

Ruby Dicom Worklist module

이미지
만들고 싶은 프로그램이 생겼는데 프로그램 동작중에 DICOM 워크리스트를 조회하는 일이 있습니다. Ruby Dicom이라는 잘 동작하는 모듈이 있지만 워크리스트 조회 기능은 들어가 있지 않아서 직접 코딩하게 되었네요. bindata와 eventmachine이란 gem을 써서 대부분의 일을 해결했습니다. 소스는 GitHub 에 올려져 있습니다.

Qt와 EventMachine 함께 사용하기

이미지
StackOverflow에 올라와 있는 팁 입니다. Qt에서는 Application.run으로 루프가 돌아가고 EventMachine에서는 EM.run에서 루프가 돌아가니 두가지 함께 쓰기가 불가능할줄 알았는데 Qt에서 이런 경우에 대비해 Application.process_events 함수를 제공하는군요. EventMachine의 echo server예제와 함께 묶어 보았습니다.

Bravo! Textmate 2.0α

이미지

듀나 게시판 영화제 collector

듀나 게시판 영화제에 사용자들이 올리는 comment를 받고 가장 많이 받은 표 순으로 모아서 출력 설치 루비 인스톨러로 ruby 1.9.X 버전 설치 gem install httpclient gem install nokogiri cmd로 명령어창 열어서 스크립트 저장된 디렉토리로 이동한 후 ruby djuna_film_festival.rb 실행 웹 브라우저로 djuna_result.html 파일 열어보기 제한점 단순 문자열 비교로 띄워쓰기나 한글/영문 영화 이름 구분 제대로 안 됨 '/'로 구분하고 () 쓰는 형태 이외의 코멘트는 제대로 인식하지 못함 TODO comment의 split에서 명확한 RegEx 클래스 사용하기 html renderer 개선하기

Qt Ruby Webkit 시험

이미지
Qt의 예제들을 보니 실제 프로그램의 많은 것들을 지원하지만 결국 native framework가 지원해주는 정도의 자유(그 정도 level이 되는 것도 아니고 그 정도 기능을 필요로 할지도 모르겠지만...)는 없는 것 같아서 HTML과 javascript를 Qt내에 포함시키고 system tray 정도 기능을 Qt로 구현하면 어떨까... 하는 생각을 하게 되었습니다. 아마 공부해야 할게 더 많고 더 복잡하겠지만 왠지 이쪽으로 가는게 앞으로 유용하게 쓸수 있을것 같기 때문입니다. Webkit을 간단히 Qt 내부에 포함시켜 화면에 보여주는 스크립트입니다. 추가로 뒷 배경이 살짝 보이는 transparency, 항상 위에 보이게 하는 것과 윈도우의 가장자리는 없애는 옵션을 넣어보았습니다. Qt도 역사가 있다 보니 transparency를 지원하는 api도 여러가지 방법이 있는것 같습니다. 일단 가장 간단한 방법을 써 보았습니다.

Ruby의 마술...

Metaprogramming Ruby 란 책을 읽고 있습니다. 블록이니 Proc과 같은 루비에서 애매모호했던 점들이 하나씩 이해되니 재미있군요. 책의 서문에서 이야기 하듯이 마법과 비슷한 면이 있습니다.