SqueakByExample:2.9: Difference between revisions
Onionmixer (talk | contribs) (SBE 스몰토크코드를저장하고공유하기 페이지 내용 재수정) |
Onionmixer (talk | contribs) mNo edit summary |
||
Line 3: | Line 3: | ||
지금 여러분은 작동중인 Quinto 게임을 갖고 있으면, 아마도, 여러분은 친구와 공유할 수 있도록 어딘가에 저장하기를 원할 것입니다. 물론, 여러분은 자신의 전체 스퀵 이미지로 저장할 수 있으며, 그 이미지를 실행함으로써 여러분의 첫 번째 프로그램을 자랑할 수 있지만, 여러분의 친구들은 아마도 그들의 이미지에, 그들 자신의 코드를 갖기를 원할 것이며, 여러분의 이미지를 사용하기 위해 그 코드를 포기하고 싶지 않을 것입니다. 필요한 것은 여러분의 스퀵 이미지 외부의 소스 코드를 얻는 방법이며, 그렇게 함으로써, 다른 프로그래머들이 그 방법을 자신의 것으로 만들 수 있을 것입니다. | 지금 여러분은 작동중인 Quinto 게임을 갖고 있으면, 아마도, 여러분은 친구와 공유할 수 있도록 어딘가에 저장하기를 원할 것입니다. 물론, 여러분은 자신의 전체 스퀵 이미지로 저장할 수 있으며, 그 이미지를 실행함으로써 여러분의 첫 번째 프로그램을 자랑할 수 있지만, 여러분의 친구들은 아마도 그들의 이미지에, 그들 자신의 코드를 갖기를 원할 것이며, 여러분의 이미지를 사용하기 위해 그 코드를 포기하고 싶지 않을 것입니다. 필요한 것은 여러분의 스퀵 이미지 외부의 소스 코드를 얻는 방법이며, 그렇게 함으로써, 다른 프로그래머들이 그 방법을 자신의 것으로 만들 수 있을 것입니다. | ||
이 작업을 수행하는 가장 쉬운 방법은 코드를 분류 정리하는(filing) 것입니다. 시스템 카테코리 | 이 작업을 수행하는 가장 쉬운 방법은 코드를 분류 정리하는(filing) 것입니다. 시스템 카테코리 창(the System Categories Pane)에서 노랑 버튼 메뉴는, 카테고리 SBE-Quinto의 전체를 분류정리(file out)하기 위한 옵션을 제공할 것입니다. 결과 파일은 좀더 또는 덜 인간이 읽을 만할 것이며, 그 이유는 이 결과파일이 실제로 컴퓨터용이며, 인간이 읽는 파일이 아니기 때문입니다. 여러분은 친구들에게 이 파일을 이메일로 보낼 수 있으며, 친구들은 파일 목록 브라우저(the file list browser)를 사용하여, 그들 자신의 스퀵 이미지 안으로 결과파일을 분류 정리할 수 있습니다. | ||
Revision as of 03:49, 30 August 2012
스몰 토크 코드를 저장하고 공유하기
지금 여러분은 작동중인 Quinto 게임을 갖고 있으면, 아마도, 여러분은 친구와 공유할 수 있도록 어딘가에 저장하기를 원할 것입니다. 물론, 여러분은 자신의 전체 스퀵 이미지로 저장할 수 있으며, 그 이미지를 실행함으로써 여러분의 첫 번째 프로그램을 자랑할 수 있지만, 여러분의 친구들은 아마도 그들의 이미지에, 그들 자신의 코드를 갖기를 원할 것이며, 여러분의 이미지를 사용하기 위해 그 코드를 포기하고 싶지 않을 것입니다. 필요한 것은 여러분의 스퀵 이미지 외부의 소스 코드를 얻는 방법이며, 그렇게 함으로써, 다른 프로그래머들이 그 방법을 자신의 것으로 만들 수 있을 것입니다.
이 작업을 수행하는 가장 쉬운 방법은 코드를 분류 정리하는(filing) 것입니다. 시스템 카테코리 창(the System Categories Pane)에서 노랑 버튼 메뉴는, 카테고리 SBE-Quinto의 전체를 분류정리(file out)하기 위한 옵션을 제공할 것입니다. 결과 파일은 좀더 또는 덜 인간이 읽을 만할 것이며, 그 이유는 이 결과파일이 실제로 컴퓨터용이며, 인간이 읽는 파일이 아니기 때문입니다. 여러분은 친구들에게 이 파일을 이메일로 보낼 수 있으며, 친구들은 파일 목록 브라우저(the file list browser)를 사용하여, 그들 자신의 스퀵 이미지 안으로 결과파일을 분류 정리할 수 있습니다.
SBE-Quinto 카테고리를 노랑-클릭하고 the contents를 fileout 합니다.
여러분은 여러분 자신의 이미지가 저장된 위치의 디스크에 있는 동일한 폴더 안에 “SBE-Quinto.st”라고 불리는 파일을 지금 찾을 수 있어야 합니다. 텍스트 에디터(text editor)로 이 파일을 봅시다.
신선한 스퀵 이미지를 열고 the SBEQuinto.st fileout을 file in 하기 위해 파일 목록 도구(File List tool)를 사용합니다. 이 게임의 새로운 이미지에서 작동을 검증합니다
몬티첼로(Monticello) 패키지
비록 fileouts이 여러분이 작성한 코드의 스넵샷을 만드는 편리한 방법이지만, 그것들은 확실히 “구식”입니다. 대부분의 오픈소스 프로젝트가, CVS[1] 또는 Subversion[2]을 사용하여 저장소(repository)에서 그들의 코드를 유지하는 작업에 훨씬 더 편리할 것 처럼, 스퀵 프로그래머 들도, 몬티첼로(Monticello) 패키지를 사용하여 코드를 관리하는 것이 훨씬 더 편리합니다. 이러한 패키지들은 mcz로 끝나는 이름을 가진 파일들로서 표시되며, 실제로 그것들은 여러분의 패키지의 완전한 코드를 포함하고 있는 zip파일로 압축된 번들입니다.
몬티첼로 패키지 브라우저(Monticello package browser)를 사용하여, FTP와 HTTP 서버를 포함한 다양한 형식의 서버에 있는 저장소에(repositories) 패키지를 저장할 수 있으며, 또한 로컬 시스템 디렉토리에 있는 저장소에 패키지를 기록할 수 있습니다. 여러분의 패키지의 복사본은 항상 패키지 캐쉬 폴더(the package-cache folde)에 있는 로컬 하드 디스크에 캐쉬 됩니다. 몬티첼로(Monticello)는 여러분의 프로그램, 합병버전(mergy versions)의 다중버전을 저장, 옛 버전으로 돌아가 버전들 사이의 차이들을 검색할 수 있게 해줍니다. 사실 몬테첼로는 배포된 개정 컨트롤 시스템이며, 그 의미는 몬테첼로가 CVS 또는 서브버전의 경우처럼, 개발자들이 그들의 작업을 다양한 장소에 저장을 할 수 있게 해준다는 것입니다.
여러분은 또한 이메일로 mcz 파일을 보낼 수 있습니다. 수신자(recipient)는 mcz 파일을 패키지 캐쉬 폴더에 저장할 수 있으며, 그 mcz 파일을 로드하고 검색하기 위해 몬티첼로를 사용할 수 있습니다.
World ▷ open... ▷Monticello browser 를 선택하여 몬티첼로(Monticello) 브라우저를 엽니다.
브라우저(그림 2.15를 보십시오) 브라우저의 오른쪽 패널은 몬티첼로 저장소이며, 러분이 사용하고 있는 이미지 속으로 로드된 코드에서 나온 모든 저장소를 포함시키게 될, 저장소들의 목록입니다.
몬티첼로 브라우저에 있는 목록의 상단은 여러분이 네트워크에 로드하거나, 올린 패키지들의 카피본들을 캐쉬 하는 패키지 캐쉬(the package cache)라 불리는 로컬 디렉토리 입니다. 이 로컬 캐쉬는 매우 이동성이 좋습니다. 그 이유는 이 캐쉬는 여러분의 로컬 히스토리를 지킬 수 있게 해주며, 여러분이 인터넷 접근을 할 수 없는 장소 또는 인터넷이 너무 느려서 원격 저장소에 매우 빈번하게 저장해야 할 장소에서도 캐쉬에서 작업을 할 수 있게 해주기 때문입니다.
몬티첼로(Monticello)로 코드를 저장하고 로드하기
몬티첼로 브라우저의 왼쪽 면은 이미지에 로드된 버전을 갖고 있는 패키지의 목록이며, 별표로 표시되었기 때문에, 패키지들은 이미 로드된 것입니다(때때로 이러한 패키지들은 더러운 패키지로 일컬어지기도 합니다.) 만약 여러분이 패키지를 선택하면, 저장소의 목록은 선택한 패키지의 복사본을 포함하고 있는 저장소들에만 제한됩니다.
패키지는 뭘까요? 지금, 여러분은 동일한 접두사를 공유하는 클래스와 메소드 카테고리의 그룹을 생각할 수 있을 것입니다. 우리가 Quinto 게임의 모든 코드를 SBE-Quinto라 부르는 클래스 카테고리에 모두 집어 넣었기 때문에, 우리는 SBE-Quionto 패키지로 그 패키지를 지칭할 수 있습니다.
SBE-Quinto 패키지를 +Package 버튼을 사용하고 SBE-Quinto를 타이핑하여 여러분의 몬티첼로(Monticello) 브라우저에 SBE-Quinto 패키지를 추가합니다.
스퀵소스: 스퀵을 위한 소스포지(Source Forge)
우리는, 여러분의 코드를 저장하고 공유하는 최고의 방법은 SquakSource(스퀵소스) 서버에 여러분의 프로젝트를 위한 계정(account)을 만드는 것이라고 생각합니다. SquakSource(스퀵소스)는 마치 SourceForge[3]와 같습니다: 그것은 여러분이 자신의 프로젝트를 관리하도록 해주는 HTTP 몬티첼로 서버에 대해 WFE(Web-Front End) 서버입니다. http://www.squeaksource.com에 공용 스퀵소스 서버가 있으며, 이 책에 관련된 코드의 복사본은 http://www.squeaksource.com/SqueakByExample.html에 저장되어 있습니다. 여러분은 웹브라우저로 이 프로젝트를 볼 수 있지만, 여러분이 자신의 패키지를 관리할 수 있도록 해주는 몬티첼로 브라우저를 사용하여 스퀵내부 로부터 작업을 하는 것이 훨씬 더 생산적입니다.
http://www.squeaksource.com 의 주소로 웹브라우저를 엽니다. 여러분을 위해 계정을 만들고 Quinto 게임을 위해 프로젝트(예를 들면 "register")를 만듭니다.
스퀵소스는 몬티첼로 브라우저를 사용하여 저장소(repository)를 더할 때, 여러분이 사용해야할 정보를 보여드릴 것입니다.
일단, 여러분의 프로젝트가 스퀵소스(SqueakSource)에 만들어 지면, 그 소스를 사용하기 위해 스퀵시스템에 반드시 지시해야 합니다.
선택된 SBE-Quinto 패키지를 가지고, 몬티첼로 브라우저에서 +Repository 버튼을 클릭합니다.
여러분은 사용 가능한 다양한 형식의 스퀵소스 저장소(Squeak Source repository)의 목록을 보게 될 것입니다. HTTP를 선택합니다. 여러분은 서버에 관한 필요한 정보를 제공할 수 있는 장소인 다이얼로그(a dialog)를 제시 받을 것입니다. 여러분은 스퀵소스 프로젝트를 식별하기 위해 제시된 템플릿을 반드시 복사하셔야 하며, 그 템플릿을 몬티첼로(Monticello)에 첨부하고 여러분의 이니셜과 패스워드를 기록하셔야만 합니다:
MChttpRepository
location: 'http://www.squeaksource.com/YourProject'
user: 'yourInitials'
password: 'yourPassword'
만약 여러분이 빈 이니셜과 패스워드 이니셜을 제공하면, 안타깝지만 여러분은 업데이트를 할 수 없습니다:
MCHttpRepository
location: 'http://www.squeaksource.com/YourProject'
user: ''
password: ''
일단 여러분이 이 템플릿을 수락하였다면, 여러분의 새로운 저장소는 몬티첼로 브라우저의 우측에 열거되어야만 합니다.
스퀵소스에 여러분의 Quinto 게임의 첫 번째 버전을 저장하기 위해 Save 버튼을 클릭합니다.
여러분의 이미지에 패키지를 로드하기 위해, 반드시 특정한 버전을 선택해야만 합니다. 여러분은 Open 버튼 또는 노랑-버튼 메뉴를 사용하여 이 작업을 할 수 있습니다. 일단 버전을 선택하셨다면, 여러분의 이미지에 그 버전을 로드 할 수 있습니다.
여러분이 방금 저장한 SBE-Quinto 저장소를 엽니다.
몬티첼로는 좀더 많은 기능이 있으며, 그 세부사항들은 6장에서 깊이 있게 다룰 것입니다. 몬티첼로에 관한 온라인 문서를 보시려면 http://www.wiresong.ca/Monticello/ 를 방문해 주시기 바랍니다.