#title SuitBox 프로젝트 위키 페이지! [[TableOfContents]] = 개요 = SuitBox 프로젝트는 멀티 플랫폼 메신저로써, 사용자가 메신저를 이용하여 메세지를 주고 받는데 있어서 불편함을 느끼지 않도록 메신저의 모든 인터페이스를 사용자에게 최적화 시켜주는 것이 개발 목적입니다. 예를 들어, 메세지를 입력할때 vim 의 간단하고 빠른 수정 기능을 축소하여 도입시켜 사용자가 빠르게 그리고 간편하게 메세지를 입력할 수 있도록 합니다. 또한, 인터페이스의 모든 부분을 수정하게 함으로써 기존의 테마나 스킨정도의 기능이 아니라 전체적인 레이아웃부터 시작하여 메뉴의 구성, 메뉴의 위치까지도 사용자가 마음대로 수정할 수 있도록하여 사용자가 사용하는데 있어 생길 수 있는 불편함을 최소화하는데 목적이 있습니다. 오픈 메신저의 개념을 도입하여 외부 서버의 사용자와도 간편하게 대화가 가능하도록합니다. 또한, 웹 연동을 지원하여 별도의 어플리케이션의 설치없이도 사용을 가능하게 합니다. = 개발 환경 = * OS - Linux, FreeBSD, Windows, Mac * File Version Control - SubVersion * Languages - C, C++, Python, Java, Flash, XML, PHP * Compilers - GCC 4.x, G++ 3.3 * Python Version - 2.4.x * PHP Version - 4 * GUI Toolkit - Qt * License - BSD, partly GPL * Libraries - GLib 2.0, expat = SubVersion 과 Trac = SuitBox 에서는 파일 버전을 관리하기 위하여 SubVersion 을 사용하고 있습니다. Posix 계열에서는 SubVersion 을 http://subversion.tigris.org/ 에서 구하시어서 설치하시면 됩니다. 권장하는 SubVersion 배포본은 http://subversion.tigris.org/tarballs/subversion-1.1.1.tar.gz 으로 다운로드가 가능합니다. Windows 계열에서는 Tortoisesvn 을 이용하여 SubVersion 을 사용하실 수 있습니다. http://tortoisesvn.tigris.org/download.html 이 페이지에서 자신의 환경과 알맞는 버전을 설치해주시면 됩니다. SubVersion 의 주소는 svn://chabrothers.com 입니다. 이외의 사용법은 아래에 적어놓겠습니다. SuitBox 에서는 프로젝트 매니져로 Trac 을 사용하고 있습니다. Trac 에서는 웹으로 SubVersion 에 있는 파일들의 소스를 확인하실 수 있습니다. 또한, 티켓이란 기능을 이용하여 '''버그 리포트'''를 하거나 기능에 관련된 이야기를 나눌 수 있습니다. 또한, 자체적인 위키 기능을 이용하여 프로젝트에 필요한 문서를 제작하실 수도 있습니다. 주소는 http://chabrothers.com/trac 입니다. 많은 이용바랍니다. = SubVersion 사용법 = 커밋을 하실때 커밋 로그를 남겨주세요. 최소한 한 글자라두요. 커밋 하시기 전에는 svn up 또는 체크아웃을 새로하셔서 버그가 수정되었는지 확인해주세요. == 소스 받기(체크 아웃하기) == 무엇을 하든간에 우선은 체크 아웃을 받아야 합니다. * Posix -> svn co svn://chabrothers.com 받을 디렉토리 * TortoiseSvn -> 메뉴에 있을 거임- _-)~~ == 소스 올리기 (커밋하기) == 소스를 수정한 뒤에는 커밋을 하여야 적용이 됩니다ㅏ. * Posix -> svn commit * TortoiseSvn -> 메뉴에 있을지도 모름 == 파일 추가하기 (Add 하기) == 새로운 파일 또는 디렉토리를 생성하였을 때에는 add 를 하여 svn 에서 그 것을 서버로 커밋하도록 하여야합니다. * Posix -> svn add 디렉토리 또는 파일 * TortoiseSvn -> 이것도 어딘가에? = 개발 일정 = * 7 월 15 일까지 사용자 등록, 사용자 탈퇴, 로그인, 로그 아웃, 1:1 메세지 기능을 위한 프로토콜, 프로그래밍을 마칩니다. = 기능 개요 = == 메세지 편집기능 == 기존의 단순한 타이핑 기능에서 벗어나 vi 의 에디트 기능의 개념을 도입하여 단순히 좌우상하 방향키가 아니라 간단한 매크로를 이용하여 수정합니다. vim 에서의 가장 어려운 점이었던, 명령어를 외우는 불편함을 해결하고자 우리 한글의 천지인의 개념을 도입하여 ,(comma) .(dot) /(slash) 이 세가지 단축키를 조합하여 매크로를 만들어 사용함으로써 사용자가 쉽게 외울수 있도록합니다. 각 키마다 고유의 역할을 부여하여 3 가지를 조합합니다. 아래는 각 키들의 고유 역할입니다. 수정하기 전에 수정할 것이다라고 알려주기 위해서 '`' 를 사용합니다. * , - 검색합니다. * . - 수정합니다. * / - 커서를 이동합니다. 이 3 가지를 조합하여 알맞게 수정을 합니다. 아래는 그 예입니다. {{{ 안녕하세요! SuitBox 입니다! }}} 를 수정할때 안녕하세요! 를 안녕! 이라고 수정하고 싶을때에는 '''`,하세요.''' 와 같은 식입니다. '하세요' 란 단어를 찾아 수정을 하게되는데 . 뒤에 따라오는 단어가 없으므로 공백으로 변경합니다. '안녕하냐?' 로 변경하고 싶을때에는 '''`,하세요.하냐''' 와 같이 사용합니다. 위의 단어의 경우에는 글이 짧아 별 문제가 없지만 아래와 같은 긴 문장의 경우 수정할 곳을 찾거나 글을 더하기 위하여 커서를 방향키를 이용하여 움직이는 것도 상당히 힘듭니다. 오랫동안 누르거나 여러번 눌러줘야하기 때문이죠. 따라서 / 키를 이용하여 이동하면 편리합니다. {{{ Hello Kwon and folks! it's very good weather isn't it? }}} Kwon 의 위치로 이동하고 싶을 경우 '`,Kw/' 라고 입력을 하면 Kw 앞으로 커서가 이동합니다. 우리들이 이전에 쳤던 문장을 찾아 다시 입력할때 상 하 방향키를 이용하여 이전에 쳤던 문장을 찾습니다. 하지만 너무 오래전에 쳤던 말일 경우 오랫동안 방향키를 눌러서 찾아야합니다. 그런 불편함을 해결하기 위하여 단축키를 이용하여 이동을 합니다. '''`/,검색어''' 라고 입력을하면 검색어가 포함된 문장을 찾아 그 문장을 표시해줍니다. 또한, 이미 보낸 메세지의 경우에도 시작 부분을 * 로 시작함으로써 수정하도록 메세지를 보낼 수 있습니다. 수정은 클라이언트에서 처리를 하며, 옵션을 이용하여 '거칠' 을 '거친' 으로 수정했다는 표시를 남길수도 있습니다. '거칠(거친)' 같이요. == 메세지 블럭화 기능 == 일반적으로 사용자들은 채팅을 할 때 한 단어씩 끊어서 전송합니다. 아래와 같이요. {{{ Maney 님의 말: 안녕 Maney 님의 말: 하세요. Maney 님의 말: 이렇게 Maney 님의 말: 한 단어씩 Maney 님의 말: 말이지요 }}} 이렇게 한 단어씩 끊어서 전송되게되면 줄이 너무 빨리 올라가서 읽기도 힘들고 지저분해집니다. 그래서, 연속적으로 전송이 될 경우에 글을 한 블럭으로 이어줍니다. 아래와 같이요. {{{ Maney 님의 말: 안녕 하세요. 이렇게 한 단어씩 말이지요 }}} 3 초안에 연속적으로 전송이 될 경우 그 구문들을 모두 이어서 보여줍니다. 사용자가 정한 단위 만큼 끊어서 보여지게되는데, 디폴트로는 5 구문씩 이어집니다. 즉, 아래와 같이 전송이 되면 {{{ Maney 님의 말: 이렇게 Maney 님의 말: 전송이 Maney 님의 말: 되면 어때요? Maney 님의 말: 쉽게 볼 Maney 님의 말: 수 있겠지요? Maney 님의 말: 안그래요? }}} 5 구문을 이어준 다음 나머지 한 구문은 다른 블럭으로 표시해줍니다. {{{ Maney 님의 말: 이렇게 전송이 되면 어때요? 쉽게 볼 수 있겠지요? Maney 님의 말: 안그래요? }}} = 프로토콜 = SuitBoxProtocolSpec에서 확인하실 수 있습니다.