SqueakByExample:2.9

From 흡혈양파의 번역工房
Jump to: navigation, search

스몰 토크 코드를 저장하고 공유하기

이제 Quinto 게임이 동작하면, 작업한 내용을 친구와 공유할 수 있도록 어딘가에 저장해야할 것입니다. 물론 자신의 전체 스퀵 이미지를 저장할 수 있으며, 이미지를 실행해서 사용자의 첫 번째 프로그램을 자랑할 수도 있지만, 당신의 친구들은 아마도 그들의 이미지에, 자신들만의 코드를 포함하고 있을 것이며, 당신의 이미지를 사용하기 위해 자신의 코드를 포기하고 싶지는 않을겁니다. 필요한 것은 당신의 스퀵 이미지 외부에서 소스 코드를 얻는 방법이며, 이런 방법이라면 다른 프로그래머들이 해당 소스코드를 자신의 것으로 만들 수 있을 것입니다.

이러한 작업을 수행하는 가장 쉬운 방법은 코드를 파일로 내보내기filing out 하는 것입니다. 시스템 카테고리 pane 에서 노랑 버튼 메뉴는, SBE-Quinto 카테고리의 전체 내용을 파일로 내보내기 위한 옵션을 제공합니다. 이 작업의 결과로서 나온 파일은 사람이 읽기에는 좀 더 어렵지만, 컴퓨터를 위한 파일이며 사람을 위해 만들어진 것은 아닙니다. 이 파일을 친구에게 이메일로 보낼 수 있으며, 친구들은 파일 목록 브라우저the file list browser를 사용해서, 그들의 스퀵 이미지에 파일을 넣을 수 있습니다.


Squeak comment.pngSBE-Quinto 카테고리에서 노랑 클릭하고 내용을 fileOut 하십시오.


사용자의 이미지를 저장한 디스크의 같은 폴더에서 "SBE-Quinto.st" 라는 이름을 가진 파일을 찾을 수 있습니다. 텍스트 편집기로 파일을 살펴보도록 하겠습니다.[1]


Squeak comment.png최신 스퀵 이미지를 열고 SBE-Quinto.st 파일 출력을 file in 하기 위해 파일 목록 도구(File List tool)를 사용하십시오. 새 이미지에서 게임의 동작을 검증하십시오.


그림 2.14: 스퀵 소스 코드 파일에 넣기


몬테첼로(Monticello) 패키지

비록 파일로 내보내기는 사용자가 작성한 코드의 스냅샷을 만드는 편리한 방법이지만, 이 방법은 확실히 "구식"입니다. 대부분의 오픈소스 프로젝트에서, CVS[2] 또는 Subversion[3]을 사용해서 저장소에서 그들의 코드를 유지하는 작업이 훨씬 더 편리한 것처럼, 스퀵 프로그래머도, 몬테첼로Monticello 패키지를 사용해서 코드를 관리하는 것이 훨씬 더 편리합니다. 이러한 패키지들은 .mcz 로 끝나는 이름을 가진 파일로 존재하며, 실제로는 패키지의 모든 코드를 zip 으로 압축한 묶음입니다.

몬테첼로 패키지 브라우저를 사용해서, FTP 와 HTTP 서버를 포함한 다양한 방법으로 서버에 있는 저장소에 패키지를 저장할 수 있으며, 또한 로컬 파일 시스템 디렉터리에서 패키지를 바로 작성할 수도 있습니다. 패키지의 사본은 항상 로컬 하드 디스크의 package-cache 폴더에 캐쉬됩니다. 몬테첼로Monticello는 사용자의 프로그램에 대해 다양한 버전을 저장하고, 버전을 병합하며, 이전 버전으로 되돌리고, 버전간의 차이를 탐색할 수 있게 합니다. 몬테첼로는 정확히 말해서 분산 수정사항(revision) 관리 시스템이며, 이는 몬테첼로가 CVS 또는 subversion 처럼, 개발자들의 작업을 다양한 장소에 저장할 수 있게 해준다는 의미입니다.

이메일로 .mcz 파일을 보낼 수도 있습니다. 받을 사람을 package-cache 폴더에 넣을 수 있으며, 받는 사람은 파일을 불러오고 검색하기 위해 몬테첼로Monticello를 사용할 수 있습니다.


Squeak comment.pngWorld ▷ open... ▷Monticello browser 를 선택하여 몬테첼로 브라우저를 여십시오.


브라우저의 오른쪽 pane 을 보시면(그림 2.15를 보십시오) 당신이 사용하고 있는 이미지에 불려진 코드에 대한 모든 저장소를 포함한 몬테첼로 저장소들의 목록을 보실 수 있습니다.


그림 1.5 몬테첼로 브라우저


몬테첼로 브라우저에서 우측 최상단의 디렉터리는 네트워크를 통해 불러오고 내보낸 패키지의 사본을 캐시 하는 package cache 로컬 디렉터리입니다. 이 로컬 캐쉬는 로컬 기록을 유지해주기 때문에 유용합니다. 인터넷에 접근 할 수 없거나, 연결이 상당히 느려서 원격 저장소에 자주 저장하고 싶지 않을만한 환경에서도 작업할 수 있게 해줍니다.


몬테첼로에서 코드 저장하고 불러오기

몬테첼로 왼쪽을 보시면 버전 정보를 포함하고 있는 이미지쪽으로 불려온 패키지 목록이 있습니다. 불려온 이후로 수정된 패키지는 별표(*)로 표시됩니다(이러한 패키지들은 가끔 dirty package 로 불리기도 합니다). 패키지를 선택하면

오른쪽의 저장소 목록의 내용은 선택한 패키지의 사본을 포함하고 있는 저장소로 제한됩니다.

패키지는 뭘까요? 동일한 접두사를 공유하는 클래스와 메서드 카테고리의 그룹으로 생각하면 됩니다. Quinto 게임의 모든 코드를 SBE-Quinto 라 부르는 클래스 카테고리에 모두 집어 넣었기 때문에, 이 코드들은 SBE-Quinto Package 로 부를 수 있십니다.


Squeak comment.pngSBE-Quinto 패키지를 +Package 버튼을 사용해서 SBE-Quinto 를 입력한 후 몬테첼로Monticello 브라우저에 SBE-Quinto 패키지를 추가하십시오.


SqueakSource: 스퀵용 소스 포지(Source Forge)

코드를 저장하고 공유하는 최고의 방법은 SquakSource 서버에 프로젝트를 위한 계정을 만드는 것이라고 생각합니다. SquakSource 는 SourceForge[4] 를 닮았으며, SquakSource 는 프로젝트를 관리해주는 HTTP 웹 프론트엔드 몬테첼로 서버입니다. http://www.squeaksource.com[1] 에 공용 스퀵 소스 서버가 있으며, 이 책에 관련된 코드 사본은 http://www.squeaksource.com/SqueakByExample.html 에 저장되어 있습니다. 웹브라우저로 이 프로젝트를 확인할 수 있지만, 자신의 패키지를 관리할 수 있도록 해주는 몬테첼로 브라우저를 사용하여 스퀵 내부로부터 작업을 하는 것이 훨씬 더 생산적입니다.


Squeak comment.png웹 브라우저에서 http://www.squeaksource.com 을 여십시오. 당신의 계정을 만들고 Quinto 게임에 대한 프로젝트를 만드십시오(예를 들면 "register").


SqueakSource 는 몬테첼로 브라우저를 사용하여 저장소를 추가했을 때, 활용할 정보를 보여줄 것입니다.


SqueakSource 에 프로젝트를 만들었으면, 스퀵 시스템에 이 저장소를 사용하도록 알려야합니다.


Squeak comment.pngSBE-Quinto 패키지를 선택했으면, 몬테첼로 브라우저에서 +Repository 버튼을 클릭하십시오.


사용할 수 있는 각각 다른 형식의 저장소가 목록에 보일 것입니다. SqueakSource 저장소를 추가하려면 HTTP를 선택하십시오. 서버에 대한 필요한 정보가 대화 상자에 뜰 것입니다. SqueakSource 프로젝트를 인식시키려면 나타난 템플릿을 복사하고 몬테첼로에 넣은 다음 서명과 암호를 작성하시면 됩니다:

MChttpRepository 
  location: 'http://www.squeaksource.com/YourProject'
  user: 'yourInitials'
  password: 'yourPassword'


서명과 비어있는 암호를 비워둬도 프로젝트를 불러올 수는 있지만, 업데이트는 할 수 없습니다:


MCHttpRepository
  location: 'http://www.squeaksource.com/YourProject'
  user: ''
  password: ''


이 템플릿을 accept 하면 몬테첼로 브라우저 오른쪽에 당신의 새 저장소가 뜹니다.


그림 2.16: 몬테첼로 저장소 탐색


Squeak comment.pngSqueakSource에서 Quinto 게임의 첫 번째 버전을 저장하기 위해 Save 버튼을 누르십시오.


패키지를 이미지로 불러오려면, 먼저 특정 버전을 선택해야 합니다. 이 동작은 Open 버튼 또는 노랑-버튼 메뉴를 사용하여 열 수 있는 repository browser 에서 수행할 수 있습니다. 버전을 선택하면 이미지에 해당 버전을 불러올 수 있습니다.


Squeak comment.png방금 저장한 SBE-Quinto 저장소를 여십시오.


6장에서 몬테첼로에 대해 많은 기능을 더 깊이 알아볼 수 있습니다. http://www.wiresong.ca/Monticello/ 에서 몬테첼로 온라인 문서를 찾아보실 수 있습니다.


Notes

  1. 1.0 1.1 one click버전은 Contents/Resources/ 디렉토리 안에 파일이 있습니다. 클래스이름의 대소문자까지 정확하게 구분하니 참고하는것이 좋고 저 Resources 디렉토리는 squeak 의 image 가 있는 디렉토리이기 때문에 다른경로에 image 를 두는경우도 참고해두면 좋습니다 Cite error: Invalid <ref> tag; name ".EC.97.AD.EC.9E.90.EC.A3.BC1" defined multiple times with different content
  2. http://www.nongnu.org/cvs
  3. http://subversion.tigris.org
  4. http://www.sourceforge.net