SqueakByExample:1.3
스퀵 세션 저장하기, 그만두기 다시 시작하기
월드 메뉴를 불러오십시오. new morph를 선택하고, alphabetical list ▷A-C-▷BlobMorph순으로 탐색하십시오. 이제 여러분은 "손에" blob을 넣게 되었습니다. blob을 (클릭하여) 어딘가에 놓아두십시오. 옮기기를 시작합니다.
그림 1.7: BlobMorph의 인스턴스 | 그림 1.8 Save as...(다른 이름으로 저장) 대화상자 |
World-▷save as…를 선택하고 이름 "SBE"를 입력하십시오. 이제 Accept(s) 버튼을 클릭하십시오. 이제 World ▷save and quit를 선택하십시오.
이제 여러분이 원본 image 파일과 changes 파일이 있는 위치로 이동하면, save and quit를 실행하라고 알리기 전에 스퀵 이미지의 작업 상태를 보여주는 두 개의 새로운 파일 "SBE.image"와 "SBE.changes"를 보실 수 있습니다. 원하신다면, 디스크의 어느곳에라도 두 개의 파일들을 옮길 수 있지만, 그렇게 옮기려면, 가상 머신과 .source파일에 두 개의 파일을 이동하고 복사하고 링크할 필요가 있습니다.
새롭게 만들어진 "SBE.image" 파일에서 스퀵을 시작하십시오.
이제 스퀵에서 나갈 때의 상태를 정확하게 찾아야만 합니다. "blob"은 이전에 스퀵에서 나갈 때의 상태에서 다시 시작하고, “blob” 작업을 그만두었을 때의 위치에서 다시 이동을 계속합니다.
처음 스퀵을 시작할 때, 스퀵 가상 머신은 여러분이 제공하는 image 파일을 불러옵니다. 이 파일은 이전에 존재하는 수많은 양의 코드와 다수의 프로그래밍 도구(이 모든 것은 오브젝트입니다)를 포함한 다수 객체의 스냅샷을 포함하고 있습니다. 스퀵으로 작업을 할 때, 이러한 객체들에 메시지를 보내고, 새로운 객체들을 만들 것이며, 이 객체중 일부는 수명을 다하여 없어지고 그 오브젝트의 메모리를 되돌릴 것입니다. (예, 가비지 수집)
스퀵을 끝낼 때, 보통 모든 객체를 포함한 스냅샷을 저장할 것입니다. 일상적인 저장을 하면, 새로운 스냅샷과 함께 옛 image 파일을 덮어쓸 것입니다. 대신 방금 해보았던대로 새로운 이름으로 이미지를 저장할 수도 있습니다.
.image 파일 뿐만 아니라, .changes 파일도 있습니다. 이 파일은 표준 도구를 사용하여 만든 소스 코드에 모든 변경 사항의 기록을 포함합니다. 대부분의 경우 이 파일에 대해 여러분이 걱정할 필요는 전혀 없습니다. 그러나 우리가 보게 될 것은, .changes 파일은 에러를 복구하거나 잃어버린 변경 사항을 다시 실행하는 작업에 매우 유용하다는 점입니다. 이 내용에 대한 좀 더 많은 부분은 나중에 살펴보겠습니다!
여러분이 함께 작업을 해온 이미지는 1970년대 후반에 만들어진 원본 "smalltalk-80 image"의 후예들입니다. 어떤 객체는 (만들어진 지) 수 십 년이 지나기도 했습니다!
아마도, 이미지는 소프트웨어 프로젝트를 저장하고 관리하는 핵심 기술이라고 생각하시겠지만, 사실은 그렇지 않습니다. 곧 보게 될 내용처럼, 팀이 개발한 코드를 관리하고 소프트웨어를 공유하기 위한 훨씬 더 나은 도구들이 있습니다. 이 이미지들은 매우 유용합니만, 몬티첼로Monticello와 같은 도구들이 개발자들간에 버전을 관리하고 코드를 공유하는 훨씬 나은 방법들을 제공하기 때문에 이미지를 만들고 버리는 것에 대해 매우 무관심 해지는 법을 배우실 필요가 있습니다.
"blob"의 모픽할로Morphic halo라 하는 색칠한 점의 모임을 보실 것입니다. 각 점은 핸들이라고 합니다. (하지만 앞으로 손잡이라고 하겠습니다. 역자 주.) 십자 모양을 포함하고 있는 분홍색 손잡이를 클릭하면, “blob”이 사라집니다. (blob이 주변을 꿈틀거리면 여러번 클릭을 해야 할 수도 있으며, 마우스로부터 벗어나기를 시도합니다.)