<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=GnuSmalltalkUsersGuide%3ABaseChapter_121</id>
	<title>GnuSmalltalkUsersGuide:BaseChapter 121 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=GnuSmalltalkUsersGuide%3ABaseChapter_121"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_121&amp;action=history"/>
	<updated>2026-05-01T15:50:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_121&amp;diff=4109&amp;oldid=prev</id>
		<title>Onionmixer: GSUG ObjectDumper 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_121&amp;diff=4109&amp;oldid=prev"/>
		<updated>2014-01-27T15:59:58Z</updated>

		<summary type="html">&lt;p&gt;GSUG ObjectDumper 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;ObjectDumper&lt;br /&gt;
&lt;br /&gt;
==ObjectDumper==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;네임스페이스 Smalltalk에 정의됨&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;슈퍼클래스: Stream&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;범주: 스트림-파일&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:나는 일반 스몰토크 시스템에 속하지 않지만 대부분 스몰토크는 나와 유사한 기능을 제공한다: 즉, 객체를 바이너리 형식으로 보관하는 것을 지원한다는 의미다; #storeOn: 와 스몰토크 컴파일러 대신 나를 사용할 경우 많은 장점이 있다.&amp;lt;BR&amp;gt;데이터는 매우 압축된 형식으로 보관되므로 #storeOn: 이 준비하는 스몰토크 코드의 컴파일과 비교 시 훨씬 빨리 로딩이 된다는 부수적인 효과도 있다. 게다가 나의 인스턴스들은 객체들 간 순환 참조를 지원하는 반면 #storeOn: 은 그러한 참조를 설계 시에 인지한 경우에만 지원하며 이를 처리하기 위해 #storeOn: 을 오버라이드 해야 한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ObjectDumper 클래스: 프록시 클래스 구축하기===&lt;br /&gt;
&lt;br /&gt;
====disableProxyFor: aClass====&lt;br /&gt;
&lt;br /&gt;
aClass와 그 종속자들의 인스턴스에 대한 프록시를 비활성화하라.&lt;br /&gt;
&lt;br /&gt;
====hasProxyFor: aClass====&lt;br /&gt;
&lt;br /&gt;
프록시 클래스가 aClass의 인스턴스를 위해 등록되었는지 여부를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====proxyClassFor: anObject====&lt;br /&gt;
&lt;br /&gt;
객체에 유효한 프록시의 클래스를 응답하고, 찾을 수 없는 경우 nil을 응답하라.&lt;br /&gt;
&lt;br /&gt;
====proxyFor: anObject====&lt;br /&gt;
&lt;br /&gt;
객체에 유효한 프록시를 응답하고, 찾을 수 없는 경우 객체 자체를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====registerProxyClass: aProxyClass for: aClass====&lt;br /&gt;
&lt;br /&gt;
aClass와 그 종속자의 인스턴스에 사용될 프록시 클래스 aProxyClass - DumperProxy의 종속자 - 를 등록하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ObjectDumper 클래스: 인스턴스 생성===&lt;br /&gt;
&lt;br /&gt;
====new====&lt;br /&gt;
&lt;br /&gt;
이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.&lt;br /&gt;
&lt;br /&gt;
====on: aFileStream====&lt;br /&gt;
&lt;br /&gt;
aFileStream에서 작업 중인 ObjectDumper 를 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ObjectDumper 클래스: 단축키===&lt;br /&gt;
&lt;br /&gt;
====dump: anObject to: aFileStream====&lt;br /&gt;
&lt;br /&gt;
anObject를 aFileStream으로 덤프하라. anObject를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====loadFrom: aFileStream====&lt;br /&gt;
&lt;br /&gt;
aFileStream으로부터 객체를 로딩하고 객체를 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ObjectDumper 클래스: 검사하기===&lt;br /&gt;
&lt;br /&gt;
====example====&lt;br /&gt;
&lt;br /&gt;
정말로 고문 테스트다: 재귀적 객체, 동일한 객체를 여러 번, 클래스, 메타클래스, 정수, 문자, 프록시를 (따라서 좀 더 복잡한 객체의 테스트가 되기도 한다) 출력한다!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ObjectDumper: 접근하기===&lt;br /&gt;
&lt;br /&gt;
====flush====&lt;br /&gt;
&lt;br /&gt;
이전에 보관된 객체에 관한 어떤 정보도 &amp;#039;잊어버려라&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
====stream====&lt;br /&gt;
&lt;br /&gt;
ObjectDumper가 작성하고 그것을 읽어올 ByteStream을 응답하라.&lt;br /&gt;
&lt;br /&gt;
====stream: aByteStream====&lt;br /&gt;
&lt;br /&gt;
ObjectDumper가 작성하고 그것을 읽어올 ByteStream을 설정하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ObjectDumper: 객체 로딩/dump하기===&lt;br /&gt;
&lt;br /&gt;
====dump: anObject====&lt;br /&gt;
&lt;br /&gt;
수신자와 연관된 스트림에 anObject를 덤프하라. anObject를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====load====&lt;br /&gt;
&lt;br /&gt;
수신자와 연관된 스트림으로부터 객체를 로딩하여 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===ObjectDumper: 스트림 인터페이스===&lt;br /&gt;
&lt;br /&gt;
====atEnd====&lt;br /&gt;
&lt;br /&gt;
기본이 되는 스트림이 EOF인지 여부를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====next====&lt;br /&gt;
&lt;br /&gt;
기본이 되는 스트림으로부터 객체를 로딩하라.&lt;br /&gt;
&lt;br /&gt;
====nextPut: anObject====&lt;br /&gt;
&lt;br /&gt;
기본이 되는 스트림 상에서 객체를 보관하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:GnuSmalltalkUsersGuide]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>