티스토리 툴바


CVS 와 SVN 을 쓰다가 HG 를 쓰면서 바뀐 commit 과 push 에 대한 개념은 처음에 조금 이해 하기 어려울 수 있겠습니다만 ...

분산처리 + local cache 정도로 해석 한다면 어렵지 않게 이해 할 수 있지 않을까 합니다.


어쨋든, 구글 코드 이용시, HG 가 자신의 계정 설정과 제대로 연동이 안되어 있을때 다음과 같이 오류가 나옵니다.

HTTP 403 Forbidden 오류.

이걸 해결 하는 방법은 다음과 같이 https://code.google.com/hosting/settings 로 이동 해서 설정 하는 방법 입니다.

아마, 특별한 설정 없이 이동을 하면, 랜덤으로 만들어 져 있는 구글 코드 암호가 따로 존재 하고 있다는 것을 알 수 있습니다.

이를 쓰지 않고 자신의 gmail 계정의 암호와 Id 를 쓰고 싶다면 약간의 수정이 필요 합니다.

설정 페이지에서 좀 더 스크롤을 내려 보면, Username display 부분이 있고, 이 부분은 gmail 까지 다 표시 할 것인지 아니면 부분적으로 표시 할 것인지 정도로 설정 할 수 있습니다.

저는 id 만 표시 되도록 했습니다만, 기본으로는 gmail 까지 공개로 되어 있습니다.

그리고 중요한 부분인 Security.

이 부분에 Accept ... 로 시작하는 check box 부분이 체크 되어 있지 않다면 해 주시기 바랍니다.

이걸 안 하면, 페이지 상단의 랜덤으로 생성된 암호를 사용해야 합니다.

위의 체크박스를 선택 하고 나서 Push 를 하게 되면 아래와 같이 정상적으로 push 되어, 서버에 직접 적으로 영향을 미치는 것을 알 수 있습니다.

물론 revert 가 있으므로 말아 먹으면 이전으로 돌아 갈 수 있으니 쫄지 말고 쓰는 것도 중요한 부분 이겠네요 ~!

쫄지마 !


저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1266 관련글 쓰기

댓글을 달아 주세요

Mercurial HG 를 처음 접하다 보니, 다음과 같이 소스를 수정 한 다음 commit 을 할떄 오류가 나더군요.

username 을 지정하라 ?

보통 CVS 나 SVN 에서는 내부에 숨김 디렉토리가 생기고, 이 안에 정보가 포함 되던데, HG는 이런 부분이 다른가 봅니다.

일단 하라니 해야겠으니, hg help config 에서 설명 하는데로, 먼저 Mercurial 이 설치된 곳으로 이동 합니다.


저의 경우는 Windows7 64ibit 이므로 다음과 같이 이동 했습니다.

(C:\Program Files\Mercurial)

여기서 Mercurial.ini 파일을 열고 다음과 같이 항목을 추가 합니다.

이중, ui session 이 이미 있으신 분은 추가 되거나 수정 되는 정도 이겠습니다.

이제 commit 이나 push 가 정상으로 되는 것을 확인 하시면 됩니다.


그리고 Lightpackkr - 

기본으로 만들어진 lightpack 이 QT 를 이용한 다양한 platform 지원이다 보니, 일부 시스템이나 환경에서 늦어 지는 경우가 발생 하는 문제점이 있으며, QT 라이브러리를 먼저 설치 해야 하거나, 참조되는 dll 을 모두 시스템에서 가지고 있어야 하는 문제가 많이 보이더군요.

개발자가 편하면 항상 사용자가 손해를 보는 것이 이 세계의 진리 입니다.

빌어먹을 마소의 .NET framework 를 생각 해 보시면 QT 나 MS .NET framework 나 무시무시한 시스템 자원을 쳐묵쳐묵 하시는 존재 들이라는 것을 아시는 분 은 아시겠지요.

개발에 필요한 QT4 라이브러리를 설치 하는데만 해도 엄청난 시간과 자원의 소비가 있었습니다.

개발에 있어서는 참으로 편한 구조 이나, 원천적으로 개발이 편해지는 만큼 소비되는 시스템 자원은 많아지기 마련 입니다.

Lightpack 을 만약 win API 로만 만들었다면, 현재 QT4 라이브러리가 빠지고, 기능에 비해 큰 덩치를 가지는 설치본이 만들어 지지는 않겠지요.

아마 그래서 제가 java 와 같은 언어를 그리 즐기지 못하고, C# 과 같은 언어를 매우 싫어하는 이유가 단지 제 성격 때문 이기도 합니다만, QT 말고도 가벼운 cross platform UI 들이 많다는 것을 염두 해 두어야 합니다.

사실 QT 같은 경우도 빌드 되는 시스템과 컴파일 언어에 따라 그 특성이 달라 진다는 것은 어느정도 감안 해야 하기도 하구요.

이런 저런 이유로 다 집어 치우고 그냥 windows API 로만 만들고 있습니다.

QT 는 간단히 우리말로 바꾸어 보았는데, 일부 라이브러리가 UTF-8 을 제대로 지원을 못 하는지 글자가 다 깨져 나옵니다.

Language ID 설정이나, 폰트를 우리말로 쓰는 것으로 지정해도 깨지는 것을 보면, 모든 것이 UTF-8 로 처리가 안되는 부분 ( 시스템 트레이에 팝업으로 나오는 부분 ) 이 있어 보입니다.


이뻐 보이는 UI 를 손쉽게 만들고, 여러 platform 에서 최대한 비슷하거나 같게 보이는 GUI application 을 만들기엔 QT4 가 매우 좋긴 합니다만, 시스템 퍼퍼먼스를 고려 하고, 특정 플랫폼 (예를 들면 Windows 같은) 에서 고성능 게이밍시 버벅임 등을 줄이기 위해서는 QT 보다는 native API 를 통해 개발 되는 것이 필요악이 아닌가 하는 생각이 드는군요.


변경 중인 사항은 모두 http://code.google.com/r/rageworx-lightpackkr/ 에서 누구나 내려 받고 참여하여 수정하실 수 있습니다.

저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1265 관련글 쓰기

댓글을 달아 주세요

이전에 올린 MinGW 에서 GDI+ 사용하기로 제공한 소스를 ...

MinGW 4.4.1 또는 그 이상의 버젼의 컴파일러에서 GDI+ 를 쓰기 위해 기존 코드를 이용할 경우 다음 두 오류가 발생 합니다.


GdiplusStringFormat.h:243: error: extra qualification 'Gdiplus::StringFormat::' on member 'GetTrimming'

GdiplusMetafile.h:350: error: extra qualification 'Gdiplus::Metafile::' on member 'EmfToWmfBits'


이는 다음과 같이 해결 될 수 있는데, 좀 더 요긴 한 처리가 필요하긴 합니다.

먼저, GdiplusStringFormat.h 에서 (242~243 라인 부근) StringTrimming StringFormat::GetTrimming() const 형을 StringTrimming GetTrimming() const 로 바꿔 줍니다.

    StringTrimming GetTrimming() const
    // StringTrimming StringFormat::GetTrimming() const
    {
        StringTrimming trimming;
        SetStatus(DllExports::GdipGetStringFormatTrimming(
            nativeFormat,
            &trimming
        ));
        return trimming;
    }

위 처럼 주석으로 막던, 직접 지우던, GetTrimming() const 가 StringFormat class 에 포함되지 않으면 됩니다.

다음은 GdiplusMetafile.h 에서 350번 라인 근처의 static UINT Metafile::EmfToWmfBits 형을 static UINT EmfToWmfBits 으로 바꿉니다.
아래 처럼 되겠네요.

	static UINT EmfToWmfBits(
    //static UINT Metafile::EmfToWmfBits(
        IN HENHMETAFILE       hemf,
        IN UINT               cbData16,
        IN LPBYTE             pData16,
        IN INT                iMapMode = MM_ANISOTROPIC,
        IN EmfToWmfBitsFlags  eFlags = EmfToWmfBitsFlagsDefault
    )

이제 컴파일 하면 문제 없이 사용할 수 있을것으로 보입니다.
혹시 해서 수정된 GDI+ header 를 zip 파일로 첨부 합니다.
필요 하신 분들은 도움이 되면 좋겠습니다.

저작자 표시 비영리 변경 금지
Creative Commons License
Posted by 견족자K rageworx

트랙백 주소 :: http://rageworx.tistory.com/trackback/1263 관련글 쓰기

댓글을 달아 주세요