확장 기능들을 Firefox 3.0 정식 버젼에서 지원되도록 수정 SDown & TransFox & PictureBasket

전체 업데이트 상황



  1. Firefox 3.0 정식 버젼에서 지원하지 않는 다고 하는 부분 수정.

  2. TransFox 에서 단축키를 Alt + X 로 변경.




Install : SDown_1.4.0dev59.xpi
Install : TransFox_0.1.2dev62.xpi
Install : PictureBasket_0.1.0dev64.xpi
by 게으른늘보 | 2008/07/05 16:00 | FireFox 확장 | 트랙백 | 덧글(0)

Firefox 확장기능 Picture Basket 0.1.0dev63

Firefox 확장기능 Picture Basket 0.1.0dev63



  1. 모에보드 게시판 변경에 따른 문제점들을 수정하였습니다.

  2. 현재 동작하는 대상은 다음과 같습니다


    1. 모에보드






Install : PictureBasket_0.1.0dev63.xpi
by 게으른늘보 | 2008/06/14 02:51 | FireFox 확장 | 트랙백 | 덧글(1)

Boost 사용기(삽질기) - 2

 어제 봤었던 GIL에서의 png 파일 로딩의 문제의 경우 팔레트를 가진 이미지와 Gray Alpha 채널을 가진 이미지에 대한 처리가 없었던 것이 문제였다. 아마도 일반적으로 사용하지 않는 타입이라 판단한것인지 이유는 정확히는 알 수 없지만, 이를 구현 되게 하려면 적절한 수정이 필요할듯 하다.

 Boost의 thread를 사용하다 발견한 어떻게 보면 별것 아닐 문제 중 하나로는 boost::thread를 사용하게 되면 라이브러리가 링킹 된 이후에 TLS callback을 사용할 수 없다면서 upx로 압축이 되지 않는다. 아마 DLL로 shared linking을 한다면 제대로 돌아갈 듯도 하지만 DLL이 마구 늘어나는 것은 좋아 하지 않기 때문에 이 부분을 보아 boost::thread를 사용하는 부분에 있어서는 고민해야할 필요성이 있을것 같다.
by 게으른늘보 | 2008/04/01 13:51 | 프로그래밍 | 트랙백 | 덧글(0)

Boost GIL 첫 사용기..

Vision 관련 과제를 하기 위해 http://stlab.adobe.com/gil/presentation/index.htm에 있는 동영상 강의를 1시간동안 듣고나서 자신감을 가지고 작업을 시작했지만, 이게 왠걸 jpeg_read나 png_read 같은 확장 기능을 사용하기 위해서는 외부라이브러리가 필요 했다. 헤더만있길래 어떻게 헤더에 저런걸 전부 구현 했을까.... 라고 생각했었지만. 결국 외부 라이브러리를 사용한 것이었다. png를 사용하기로 하고 libpng, zlib를 설정하고서 파일을 읽어 보았지만 아무리 해도 되지 않았다. 결국 디버깅을 한참 한 결과 알아낸 것은 Alpha 마스크를 사용하는 경우에 대해서 처리가 되어 있지 않았다 라는 점이다. GIL 자체에 있는 기본 구조가 RGB인 만큼 RGBA에 대한 부분이 미흡하고, 이미지 포맷에 대한 부분은 확장 기능으로 분류 되어 있다는 점으로 보아 이 부분은 나중을 기약하거나 직접 구현해서 사용하는 수밖에 없을것 같다. 이번 시도는 과제 제출 기한이 오늘이라는 점 때문에 실패 했지만, 다른 곳에 적용하는 것을 한번 더 시도해 봐야 겠다.
by 게으른늘보 | 2008/04/01 01:28 | 프로그래밍 | 트랙백 | 덧글(0)

Boost 1.35.0가 공개 되었다.

 기다리고 있던 boost 1.35.0가 3/28일 공개 되었다.

 이번에도 여러가지 기능들이 추가 되었는데 그 중 자주 쓰게 될것 같은 기능을 꼽아 보라면 Asio, GIL 정도 이다.

 Asio는 이전 부터 알고 있었지만 이번에 Release에 포함되었다. Asio를 사용하면 Winsock을 사용하는 것보다 간편하게 소켓 통신이 가능하다는 점에서 쓸만하다. 비동기로 통신을 구현하게 된다면 그 방법의 특성상 코드가 꽤 길어지는것은 피할 수 없지만, 동기로 구현하는 경우 코드를 매우 줄일 수 있다. 비동기 또한 IOCP나 epoll 등 그 운영체제에서 가장 효율적인 방법을 위주로 구현 되어 있으니 성능에 대해서 어느정도 보장되어 쓸만하다 할 수 있다. TR2에도 networking에 대한 부분은 있었으니 그 구현에 어느정도 영향을 끼치지 않을까 생각한다. 다만 비동기 구현에 boost::bind와 같은 여러 라이브러리가 복합적으로 구현 되어 있고, 자체 thread 구현이 있었던 것으로 기억하는데 이러한 부분이 어떻게 해결될지는 아직 지켜봐야겠다.

 GIL의 경우 Image를 다루는데에 사용할 수 있는 일반적인 라이브러리이다. 이 라이브러리를 사용한다면 Jpeg이나 기타 포맷에 대한 문제를 해결 할 수 있고, STL 기반으로 구현되어 있어 코드의 일반화에 도움을 줄 수 있을거라고 생각한다.

 자세한 사항은 아래 링크를 찾아 보자
http://www.boost.org/users/download/version_1_35_0

by 게으른늘보 | 2008/03/31 14:00 | 미분류 | 트랙백 | 덧글(1)

Logitech G7의 노이즈.

 가지고 있던 G7이 왠지 이상하게 움직이길래 그림판에서 선을 몇개 그려 보았다.  분명히 전에도 노이즈가 껴서 AS를 갔다온지 얼마 안된거 같은데 왜 이런지 알 수가 없다. 주위에 무선을 많이 타는 건지 아니면 마우스쪽 문제인건지 살펴 봐야지..  아무리 그래도 선이 Z자로 그어지는건 조금 심한게 아닐까 ............ 게이밍 마우스가 이러니........ 음 언제 AS라도 다시 갔다 오던지, 슬슬 다른 마우스를 생각해 보는 것도 좋을것 같다. MX700과 MX1000이 그리워 진다....
by 게으른늘보 | 2008/03/31 12:32 | 잡담 | 트랙백 | 덧글(0)

Doxygen과 Graphviz를 사용할때 한 삽질

삽질 이유
Problems running dot: exit code=-1, command='dot',arguments='"graph_legend.dot" -Tpng -o "graph_legend.png"'

 분명히 Path에 doxygen과 graphviz가 설치 되었음에도 불구하고 위와 같은 에러가 나왔다. 직접 커맨드 라인에 입력하였을때에는 아무 문제 없이 실행 되는데 왜 안되는 것일까. 라며 고생하다. 마지막에 Doxyfile에 DOT_PATH를 설정하고 나서 출력 결과를 지우고 실행하자 제대로 이미지가 나왔다.

결론

 Doxygen의 설정을 바꾸었을 때에는 출력 결과를 지우고 다시 하자.

 Doxygen에 DOT_PATH는 반드시 설정하자.

by 게으른늘보 | 2008/03/28 17:06 | 미분류 | 트랙백 | 덧글(0)

Subversion의 revision 정보를 프로젝트안에서 사용하기 위한 템플릿

목적

 Subversion을 사용하다 보니 생각하게 된 것이 현재 리비젼이나 버젼 정보를 프로그램에 포함 시키고 싶은데 여러가지로 번거로운 점이 많았다. Visual Studio를 사용하는 경우엔 사용자 지정 빌드 단계나, 빌드 이벤트를 매번 설정 해 주다. 결국 적용하는걸 포기했었지만, 이번에 잠시 시간을 내어 이에 대한 템플릿 코드를 작성해 두었다.

설정 방법

 사용 환경은 속성 관리자가 적용되는 Visual Studio 2005 이상이면 편하게 사용 할 수 있고, 그 이하의 경우는 사용자 지정 빌드 단계나, 빌드 이벤트를 다음과 같이 설정 하여야 한다.

 경로를 프로젝트 디렉토리 아래의 ver이라는 디렉토리에 있다고 가정 하면

빌드 이벤트
빌드 전 이벤트
명령줄 : "$(ProjectDir)ver\VersionNumber.exe" "$(ProjectDir)ver\Project.xml"

사용자 지정 빌드 단계
명령줄 : @echo Version 업데이트
출력 : ver\version.h

Visual Studio 2005 이상의 경우 ver\version.vsprops파일을 속성 관리자에서 추가하여 주면 된다.

 사용자 지정 빌드 단계의 명령줄에 내용이 들어간 이유로는 빌드 전 이벤트를 항상 실행할 수 있도록 설정 하기 위해서이기 때문에 제외하며는 항상 버젼정보가 제대로 업데이트 되지 않을 수 있다. 참고해 두자.

 Windows 응용 프로그램인 경우 그 파일에 버젼에 관련된 리소스가 들어가는데 이 버젼 정보를 리소스에 적용하기 위해서는 다음과 같이 하면 된다. 현재 추가 되어있는 리소스의 .rc 파일에 Visual Studio의 리소스 뷰에서 오른쪽 버튼으로 클릭하면 리소스 내용이라는 메뉴가 있다. 여기에 다음 두줄을 추가하자.

#include "ver/version.h"
#include "ver/version.rc2"

그리고 혹시나 Version에 관련된 리소스가 이미 들어 있었다면 지워준다.

 그 외의 설정이라면 Subversion의 리비젼 정보를 읽어 오는 데에는 svnversion을 사용하기 때문에 이를 위해 subversion을 설치하고 PATH에 추가해 놔야 한다.

사용방법

 version에 대한 정보는 ver/Project.xml 파일에 있으니 이 파일을 수정하게 되면 적용이 된다. 마음에 안드는 설정이었다고 한다면 ver/version._h를 수정하여 주면 된다.

간단히 버젼 정보를 출력하는 예제는 다음과 같다.

#include "stdafx.h"
#include "ver/version.h"

void main()
{
    printf("%d %d %d %d", g_iMajor, g_iMinor, g_iMicro, g_iRevision);
}

기타

 여기에 사용된 VersionNumber의 경우 Cross-Platform에 적용할 수 있도록 만들어진 프로그램이긴 하지만 현재 윈도우 환경에서만 테스트 되어 있습니다만 아직 테스트 해 보지 못했습니다.

다운로드

Download : ver.zip

by 게으른늘보 | 2008/03/27 06:45 | 프로그래밍 | 트랙백 | 덧글(0)

Firefox 확장기능 Picture Basket 0.1.0dev62

Firefox 확장기능 Picture Basket 0.1.0dev62



  1. Firefox 2.0에서 정상적으로 동작하지 않고 있던 버그를 해결 하였습니다.

  2. 현재 동작하는 대상은 다음과 같습니다


    1. 모에보드






Install : PictureBasket_0.1.0dev62.xpi
by 게으른늘보 | 2008/03/08 23:08 | FireFox 확장 | 트랙백 | 덧글(4)

Firefox 확장기능 Picture Basket 0.1.0dev59




  1. 웹상에서 보았던 이미지들을 저장하기 위해 만들어진 확장기능 입니다.

  2. 이미지를 저장하는 것 뿐만이 아닌 이미지에 관련된 태그정보를 얻어 이름에 추가해주는 기능을 구현 중입니다.

  3. 현재 동작하는 대상은 다음과 같습니다


    1. 모에보드






Install : PictureBasket_0.1.0dev59.xpi
by 게으른늘보 | 2008/03/06 20:00 | FireFox 확장 | 트랙백 | 덧글(0)
<< 이전 페이지 다음 페이지 >>