SqueakByExample:1.4: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
mNo edit summary
(검수 20180718)
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
==워크스페이스와 Transcript==
==Workspace 와 Transcript==


{{CommentSqueak|모든 열린 창을 닫습니다. 도구 플랩(the Tools flap)을 열기 위해 스퀵 환경에서 맨 오른쪽에 있는 {{Template:HighlightGray|Tools(도구)}} 탭을 클릭합니다.}}
{{CommentSqueak|열려 있는 모든 창을 닫으십시오. 도구 플랩(the Tools flap)을 열기 위해 스퀵 환경 맨 오른쪽에 있는 {{Template:HighlightGray|Tools}} 탭을 클릭하십시오.}}




여러분은 (그림 1.9)에 나온 스퀵의 몇몇 중요 도구(the key tools)들을 위한 아이콘들을 보게 되실 것입니다. transcript와 워크스페이스(workspace)드레그합니다.
스퀵의 몇 가지 핵심 도구를 위한 아이콘(그림 1.9)을 보실 것입니다. Transcript 와 Workspace 끌어 움직입니다.




{{CommentSqueak|transcript와 워크스페이스를 움직여 크기를 조정하고, 워크스페이스와 transcript가 정확히 겹치도록 만듭니다.}}
{{CommentSqueak|Transcript와 Workspace 창의 위치와 크기를 조절하여, Workspace 와 Transcript를 정확히 겹치도록 만드십시오.}}




여러분은 모서리들 중 하나를 드레그하거나, “morphic handles”(모프의 핸들)을 불러오기 위해 창을 파랑-클릭하고 노란색 하단 아래쪽 핸들을 드레그함으로써 창 크기를 재조정 할 수 있습니다.
모서리들 중 한 곳을 끌어 움직이거나, "모픽 손잡이<sup>morphic handles</sup>"를 불러오기 위해 창을 파랑 클릭하고 하단 아래쪽의 노랑 핸들을 끌어 움직여 창 크기를 다시 조정 할 수 있습니다.


오직 한 개의 창은, 활성화되어 있을 때 항상 위에 위치하게 되고 그 라벨이 강조됩니다. 마우스 커서는 타이핑을 원하는 장소에 있는 창에 반드시 위치해 있어야 합니다.  
항상 오직 한 개의 창만 활성화됩니다. 항상 위에 위치하며 해당 라벨이 강조됩니다. 마우스 커서는 입력을 원하는 창에 반드시 위치해야 합니다.  


transcript는 시스템 메시지를 로그하기 위해 종종 사용되는 오브젝트입니다. transcript는 “시스템 콘솔(system console)”의 한 종류입니다. transcript는 매우 느리므로, 만약 여러분이 transcript를 열고 특정한 연산을 위해 쓰기를 할 경우, 10배나 더 느려진다는 것을 염두 해 두어야 합니다. 뿐만 아니라, transcript는 스레드(thread)로부터 안전하지 못하므로, 만약 다중 오브젝트를(multiple objects) transcript에 동시에 기록할 경우 이상한 문제들을 경험할 있습니다.  
Transcript 는 시스템 메시지를 기록하기 위해 종종 사용되는 객체입니다. Transcript는 “시스템 콘솔”의 한 종류입니다. Transcript는 매우 느리므로, Transcript를 열고 특정 연산을 위해 기록을 진행할 경우, 10배나 더 느려진다는 것을 참고하셔야 합니다. 뿐만 아니라, Transcript는 스레드로부터 안전하지 않으므로, 여러 객체를 Transcript에 동시에 기록을 진행할 경우, 이상한 문제들을 경험할 수도 있습니다.  


작업 공간은 여러분이 실험하기를 원하는 스몰토크 코드 조각을 타이핑하는 작업에 유용합니다.
Workspace 는 실험하고 싶은 스몰토크 코드의 일부를 입력하는 작업에 유용합니다. 또한 단순히 할 일 목록<sup>to-do lists</sup> 또는 누군가가 여러분의 이미지를 사용할 때를 위한 설명서처럼, 기억하기를 원하는 임시 텍스트를 입력하는 용도로 Workspace 를 사용할 수 있습니다. Workspace 는 이전에 다운로드한 표준 이미지의 경우처럼, 종종 캡쳐한 이미지에 대한 문서를 유지하기 위해 자주 사용합니다. (그림 1.2 참조)


여러분은 또한 단순히, 할일 목록(to-do lists) 또는 누군가가 여러분의 이미지를 사용할 때를 위한 설명서와 같은, 기억을 원하는 임시 텍스트를 타이핑 하는 용도로 워크스페이스를 사용할 수 있습니다. 워크스페이스는 이전에 우리가 다운로드 한 표준 이미지와 같은 경우처럼, 종종 캡쳐한 이미지 같은 문서를 붙잡고 있기 위한 용동에 종종 사용됩니다. (그림 1.2를 보십시오)


 
{{CommentSqueak|다음 텍스트를 Workspace 에 입력하십시오.}}
{{CommentSqueak|다음 텍스트를 워크스페이스에 타이핑 합니다:}}


<syntaxhighlight lang="smalltalk">
<syntaxhighlight lang="smalltalk">
Line 27: Line 25:
</syntaxhighlight>
</syntaxhighlight>


여러분이 방금 타이핑한 텍스트의 다양한 지점들에서 워크스페이스 더블 클릭을 시도합니다. 클릭한 장소에 기초하여, 어떻게 전체 단어, 전체 문자열(string) 또는 전체 텍스트가 선택되는지에 주목합니다.
방금 입력한 텍스트의 아무 지점에서 Workspace 안의 내용을 더블 클릭 해보십시오. 클릭한 장소에 따라, 어떻게 전체 단어, 전체 문자열 또는 전체 텍스트가 선택되는지에 대해 주목하도록 합니다.
 
 
{{CommentSqueak|입력한 텍스트를 선택하고 노랑 클릭하십시오. {{Template:HighlightGray|do it (d)}}을 선택하십시오.}}
 
 
Transcript창(그림 1.10)에 "hello world" 텍스트가 어떻게 나오는지 살펴보십시오. 그리고 다시 해보십시오. (메뉴 항목 {{Template:HighlightGray|do it (d)}} 에 있는 {{Template:HighlightGray|(d)}}는 단축키가 CMD-d임을 알려줍니다. 더 많은 내용은 다음 장을 참고하십시오!)


[[image:Doit.png|none|621px|thumb|그림 1.10: 프로그램식 "수행"]]


{{CommentSqueak|여러분이 타이핑한 텍스트를 선택하고 노랑 버튼을 클릭합니다. {{Template:HighlightGray|do it (d)}}을 선택합니다.}}


방금 첫번째 스몰토크 프로그램식을 처리했습니다! Transcript 객체에 메시지와 cr[개행 문자(carrige return)] 가 따라오는 show: 'hello world' 메시지를 보냈습니다. Transcript 는 따라오는 메시지로 무엇을 해야 할 지 결정하려고 했고 show: 와 cr 메시지를 다루기 위한 메서드를 찾았으며, 적절하게 반응하였습니다.


transcript 창(그림 1.10)에 어떻게 “hello world”가 나타나는지를 주목합니다.  
스몰토커와 한동안 대화를 해보셨다면, "연산 호출<sup>call an operation</sup>" 또는 "메서드 불러오기<sup>invoke a method</sup>"와 같은 표현을 사용하지 않고, 그 대신 "메시지 보내기<sup>send a message</sup>"라는 표현을 사용함을 재빨리 눈치채셨을 것입니다. 객체가 그 자체의 동작에 책임을 갖고 있다는 생각을 나타내는 표현입니다. 객체가 무슨 일을 하는지 ''알려'' 주는 것이 아니라, 대신 메시지를 보내서 객체에게 무엇을 할 지 정중하게 ''요청''합니다. 여러분이 지정하는 것이 아닌, 객체가 스스로 여러분의 메시지에 반응하기 위한 적절한 메서드를 선택합니다.
다시 동일 작업을 시도합니다. 메뉴 아이템에 있는 {{Template:HighlightGray|do it (d)}} 에 있는 {{Template:HighlightGray|(d)}}는 키보드 바로가기(short cut)가 해야 할 작업이 CMD-d라는 것을 말합니다. 이것에 대한 좀더 많은 내용은 다음 섹션에서 살펴보겠습니다!) 


여러분은 방금 자신의 스몰토크 표현식(expression)을 평가한 것입니다!
즉 transcript 오브젝트에 메시지와 cr[개행 문자(carrige return)] 앞에 “hello world”라는 “메시지 쇼”를 보낸 것입니다. 그 다음 transcript는 이 메시지로 무엇을 해야 할지 결정했으며, “show”(쇼)를 취급하기 위한 그 자신의 메소드를 살펴보았습니다: 그리고 cr은 메시지를 보내게 되고, 적합하게 반응하였습니다.


만약 여러분이 스몰토크 사용자와 한동안 대화를 해보셨다면, 그들이 “연산 요청(call an operation)” 또는 “메소드 불러내기(invoke a method)”와 같은 표현식을 사용하지 않고, 그 대신 “메시지 보내기(send a message)”를 말할 것이라는 것을 재빨리 눈치채셨을 것입니다. 이것은 오브젝트가 그 자체의 동작에 책임을 갖고 있다는 생각을 반영합니다. 여러분은 오브젝트가 할 작업을 결코 말하면 안되고, 대신 오브젝트에 메시지를 보내어 오브젝트에게 무엇을 할지 물어보아야 합니다. 
여러분이 아니라, 오브젝트가 여러분의 메시지에 응답하기 위한 적합한 메소드를 선택합니다.


==Notes==
==Notes==

Latest revision as of 15:12, 17 July 2018

Workspace 와 Transcript

Squeak comment.png열려 있는 모든 창을 닫으십시오. 도구 플랩(the Tools flap)을 열기 위해 스퀵 환경 맨 오른쪽에 있는 Tools 탭을 클릭하십시오.


스퀵의 몇 가지 핵심 도구를 위한 아이콘(그림 1.9)을 보실 것입니다. Transcript 와 Workspace 를 끌어 움직입니다.


Squeak comment.pngTranscript와 Workspace 창의 위치와 크기를 조절하여, Workspace 와 Transcript를 정확히 겹치도록 만드십시오.


모서리들 중 한 곳을 끌어 움직이거나, "모픽 손잡이morphic handles"를 불러오기 위해 창을 파랑 클릭하고 하단 아래쪽의 노랑 핸들을 끌어 움직여 창 크기를 다시 조정 할 수 있습니다.

항상 오직 한 개의 창만 활성화됩니다. 항상 위에 위치하며 해당 라벨이 강조됩니다. 마우스 커서는 입력을 원하는 창에 반드시 위치해야 합니다.

Transcript 는 시스템 메시지를 기록하기 위해 종종 사용되는 객체입니다. Transcript는 “시스템 콘솔”의 한 종류입니다. Transcript는 매우 느리므로, Transcript를 열고 특정 연산을 위해 기록을 진행할 경우, 10배나 더 느려진다는 것을 참고하셔야 합니다. 뿐만 아니라, Transcript는 스레드로부터 안전하지 않으므로, 여러 객체를 Transcript에 동시에 기록을 진행할 경우, 이상한 문제들을 경험할 수도 있습니다.

Workspace 는 실험하고 싶은 스몰토크 코드의 일부를 입력하는 작업에 유용합니다. 또한 단순히 할 일 목록to-do lists 또는 누군가가 여러분의 이미지를 사용할 때를 위한 설명서처럼, 기억하기를 원하는 임시 텍스트를 입력하는 용도로 Workspace 를 사용할 수 있습니다. Workspace 는 이전에 다운로드한 표준 이미지의 경우처럼, 종종 캡쳐한 이미지에 대한 문서를 유지하기 위해 자주 사용합니다. (그림 1.2 참조)


Squeak comment.png다음 텍스트를 Workspace 에 입력하십시오.

Transcript show: 'hello world'; cr.

방금 입력한 텍스트의 아무 지점에서 Workspace 안의 내용을 더블 클릭 해보십시오. 클릭한 장소에 따라, 어떻게 전체 단어, 전체 문자열 또는 전체 텍스트가 선택되는지에 대해 주목하도록 합니다.


Squeak comment.png입력한 텍스트를 선택하고 노랑 클릭하십시오. do it (d)을 선택하십시오.


Transcript창(그림 1.10)에 "hello world" 텍스트가 어떻게 나오는지 살펴보십시오. 그리고 다시 해보십시오. (메뉴 항목 do it (d) 에 있는 (d)는 단축키가 CMD-d임을 알려줍니다. 더 많은 내용은 다음 장을 참고하십시오!)

그림 1.10: 프로그램식 "수행"


방금 첫번째 스몰토크 프로그램식을 처리했습니다! Transcript 객체에 메시지와 cr[개행 문자(carrige return)] 가 따라오는 show: 'hello world' 메시지를 보냈습니다. Transcript 는 따라오는 메시지로 무엇을 해야 할 지 결정하려고 했고 show: 와 cr 메시지를 다루기 위한 메서드를 찾았으며, 적절하게 반응하였습니다.

스몰토커와 한동안 대화를 해보셨다면, "연산 호출call an operation" 또는 "메서드 불러오기invoke a method"와 같은 표현을 사용하지 않고, 그 대신 "메시지 보내기send a message"라는 표현을 사용함을 재빨리 눈치채셨을 것입니다. 객체가 그 자체의 동작에 책임을 갖고 있다는 생각을 나타내는 표현입니다. 객체가 무슨 일을 하는지 알려 주는 것이 아니라, 대신 메시지를 보내서 객체에게 무엇을 할 지 정중하게 요청합니다. 여러분이 지정하는 것이 아닌, 객체가 스스로 여러분의 메시지에 반응하기 위한 적절한 메서드를 선택합니다.


Notes