{"id":178,"date":"2013-03-06T08:49:03","date_gmt":"2013-03-06T08:49:03","guid":{"rendered":"http:\/\/ta.onionmixer.net\/wordpress\/?p=178"},"modified":"2013-03-06T08:49:03","modified_gmt":"2013-03-06T08:49:03","slug":"%ea%b0%9d%ec%b2%b4%ec%9d%98-%ec%8b%a4%ed%96%89%ea%b3%bc-%ec%a0%84%eb%8b%ac%eb%90%98%eb%8a%94-%eb%a9%94%ec%86%8c%eb%93%9c%ec%9d%98-%ec%b2%98%eb%a6%ac%ea%b3%bc%ec%a0%95%ec%9d%84-%ec%82%b4%ed%8e%b4","status":"publish","type":"post","link":"http:\/\/ta.onionmixer.net\/wordpress\/?p=178","title":{"rendered":"\uac1d\uccb4\uc758 \uc2e4\ud589\uacfc \uc804\ub2ec\ub418\ub294 \uba54\uc18c\ub4dc\uc758 \ucc98\ub9ac\uacfc\uc815\uc744 \uc0b4\ud3b4\ubcf4\uae30"},"content":{"rendered":"<p>\uc774\uc804\uc5d0 \uc62c\ub838\ub358 \ub0b4\uc6a9\uc744 \uc880 \ub354 \ub5bc\uc5b4\ub0b4\uc11c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<br \/>\n(\uc6d0\ub798\ub294 \uba54\uc138\uc9c0 \uc804\ub2ec\uc5d0 \ub300\ud55c \uad81\uae08\uc99d \ubfd0\uc774\uc5c8\uc2b5\ub2c8\ub2e4\ub9cc.. \uc774\uac74 \uc2ec\ud654\ud559\uc2b5\uc815\ub3c4 \ub418\uaca0\ub124\uc694)<\/p>\n<p>\uc774 \ubb38\uc81c\uc640 \uad00\ub828\ub418\uc5b4 \uba54\uc77c\ub9c1 \ub9ac\uc2a4\ud2b8\uc5d0\uc11c \uc654\ub2e4\uac14\ub2e4\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4<\/p>\n<pre>\r\n\uc2a4\ubab0\ud1a0\ud06c\ub294 \uba54\uc18c\ub4dc \ub2e8\uc704\ub85c \ucef4\ud30c\uc77c\ub429\ub2c8\ub2e4. \uc6cd\uc2a4\ud398\uc774\uc2a4\uc5d0\uc11c \uc120\ud0dd\ud574\uc11c DoIt\uc744 \ud55c\ub2e4\uace0 \ud574\ub3c4\r\n\ud574\ub2f9 \ud14d\uc2a4\ud2b8\ub97c \ub9c8\uce58 \uba54\uc18c\ub4dc\uc778\ub0e5 \ucef4\ud30c\uc77c\ud55c\ub2e4\uc74c \uc2e4\ud589\ud569\ub2c8\ub2e4. \r\n\uc2e4\ud589\ud558\ub294 \uba54\uc18c\ub4dc\ub294 ProtoObject>>withArg:excute: \uc778\uac00 \uadf8\ub807\uace0\r\n\ub450\ubc88\uc9f8 \uc778\uc790\uac00 \ucef4\ud30c\uc77c\ub41c \uba54\uc18c\ub4dc\uc785\ub2c8\ub2e4. \ucef4\ud30c\uc77c \uacb0\uacfc\ub294 \uc2a4\ud0dd\uae30\ubc18 \uac00\uc0c1\uae30\uacc4\uc6a9 \ubc14\uc774\ud2b8\ucf54\ub4dc\uad6c\uc694.\r\n=============================================\r\n\uadf8\ub7fc \uc880 \uad6c\uccb4\uc801\uc73c\ub85c \uc9c8\ubb38\uc744 \ub4dc\ub824\ub3c4 \ub420\uae4c\uc694?\r\n\r\nTranscript show: 'a'\uac00 compile\ub41c\ub2e4\uba74\r\n\r\nProtoObject withArg:'Transcript show: 'a''\r\n\uc774\ub7f0\uc2dd\uc73c\ub85c \ub41c\ub2e4\ub294 \uc758\ubbf8\uc778\uac74\uac00\uc694?\r\ncompile\uc774 \ub05d\ub098\uba74 vm\uc704\uc758 \uba54\ubaa8\ub9ac\uc5d0 \ubc14\uc774\ud2b8\ucf54\ub4dc \ud615\ud0dc\ub85c \uc874\uc7ac\ud558\uac8c \ub420\uac70\ub77c\ub294\uac74\r\n\uc608\uc0c1\uc774 \ub418\ub294\ub370....\r\n\uc2e4\uc81c\ub85c \uc5b4\ub5bb\uac8c \ub3d9\uc791\ub418\ub294\uc9c0 \uc870\uae08 \uad81\uae08\ud569\ub2c8\ub2e4.\r\n=============================================\r\nTranscript show: \uac00 \uc5b4\ub5a4\uc2dd\uc758 VM \uba38\uc2e0\ucf54\ub4dc\ub85c \ucef4\ud30c\uc77c \ub418\ub294\uc9c0\ub294 \ub2e4\uc74c\ucc98\ub7fc \ud574\ubcf4\uba74 \uc54c \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n\"Transcript \uac00 ThreadSafeTranscript\uc758 \uc778\uc2a4\ud134\uc2a4\uc774\ubbc0\ub85c..\"\r\n\r\n(ThreadSafeTranscript >> #show:) symbolic. \r\n\"print it \ud574\ubcf4\uc138\uc694.\"\r\n\r\n\uad00\ub828\ud574\uc11c \ub354 \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c \ud398\uc774\uc9c0\ub97c \ucc38\uace0\ud574\ubcf4\uba74 \ub3c4\uc6c0\uc774 \ub418\uaca0\ub124\uc694.\r\n\r\n<blockquote class=\"wp-embedded-content\" data-secret=\"mlzYS4WPfJ\"><a href=\"https:\/\/marianopeck.wordpress.com\/2011\/05\/21\/introduction-to-smalltalk-bytecodes\/\">Introduction to Smalltalk&nbsp;bytecodes<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Introduction to Smalltalk&nbsp;bytecodes&#8221; &#8212; Mariano Martinez Peck\" src=\"https:\/\/marianopeck.wordpress.com\/2011\/05\/21\/introduction-to-smalltalk-bytecodes\/embed\/#?secret=0zsRWdRZWo#?secret=mlzYS4WPfJ\" data-secret=\"mlzYS4WPfJ\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\r\n<\/pre>\n<p>\uc5b4? \uadf8\ub7fc \uc774\ub5a4\uc2dd\uc73c\ub85c \uba54\uc138\uc9c0\uac00 compile\ub418\ub294\uc9c0\ub3c4 \uc54c \uc218 \uc788\ub2e4\ub294\uac70\uc5ec?<br \/>\n\uc77c\ub2e8 \uae4c\ub77c\uba74 \uae4c\uc57c\ud558\ub294\ubc95 PrintIt\uc744 \ud574\ubd24\uc2b5\ub2c8\ub2e4. \uadf8\ub7ac\ub354\ub2c8&#8230;<\/p>\n<pre>\r\n'21 &lt;70> self\r\n22 &lt;88> dup\r\n23 &lt;10> pushTemp: 0\r\n24 <e0> send: print:\r\n25 &lt;87> pop\r\n26 <d1> send: endEntry\r\n27 &lt;87> pop\r\n28 &lt;78> returnSelf\r\n'\r\n<\/d1><\/e0><\/pre>\n<p>\uc774\ub7f0\uacb0\uacfc\ub97c workspace\uc5d0\uc11c \ubcfc \uc218 \uc788\ub124\uc694.<br \/>\n&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br \/>\n\ubb54\uac00 \uc8fd\uc774\ub294\ub370\uc694? \uc800 \ub0b4\uc6a9 \uc790\uccb4\uac00 Smalltalk VM\uc5d0\uc11c \uc778\uc2dd\ud558\ub294 \uc218\uc900\uc758 lowlevel\uc774\ub77c\ub294\uac74\ub370&#8230;<br \/>\n\ub610 \ub2e4\ub978 \ubc29\ubc95\uc774 \uc788\ub294\uac70\uac19\uc2b5\ub2c8\ub2e4.<br \/>\n\uc774\ubc88\uc5d0\ub294 \ud55c\uc8fc\uc601\ub2d8\uc774 \uc54c\ub824\uc8fc\uc2e0 \ub0b4\uc6a9\uc744 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>\r\nTranscript show: 'a'\ub97c \uc120\ud0dd\ud574\uc11c Debug it \ud574\ubcf4\uc2dc\uba74\r\nSmalltalkEditor \ud074\ub798\uc2a4\uc758 \ub2e4\uc74c \uba54\uc18c\ub4dc\uc5d0\uc11c \uba48\ucdb0\uc788\uc2b5\ub2c8\ub2e4.\r\n\r\ndebug: aCompiledMethod receiver: anObject in: evalContext\r\n\r\n\uc5ec\uae30, aCompiledMethod \uac00 UndefinedObject>>#DoIt \uba54\uc18c\ub4dc\uc774\uba70\r\n\uc2e4\uc81c\ub85c\ub294 CompiledMethod \uc778\uc2a4\ud134\uc2a4(CompiledMethod\ub294 ByteArray\ub97c \uc0c1\uc18d)\uc785\ub2c8\ub2e4.\r\n\uc544\ub9c8 \uc784\uc2dc\ub85c \uc0dd\uc131\ub41c \uba54\uc18c\ub4dc\ub77c\uace0 \ubcf4\uc2dc\uba74 \ub420\uac83 \uac19\uc544\uc694.\r\nreceiver(anObject)\ub294 nil \uc785\ub2c8\ub2e4.\r\n\r\nDoIt \uba54\uc18c\ub4dc\uc758 \ubab8\uccb4\uac00 \ubc14\ub85c \"Transcript show: 'a'\"\uc785\ub2c8\ub2e4.\r\nDoIt \uc774\ub77c\ub294 CompiledMethod\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ubc14\uc774\ud2b8\ucf54\ub4dc\ub97c \uac00\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4.\r\n\r\n25 &lt;41> pushLit: Transcript\r\n26 &lt;22> pushConstant: 'a'\r\n27 <e0> send: show:\r\n28 &lt;7C> returnTop\r\n\r\n\uba54\ubaa8\ub9ac \uc0c1\uc5d0 35\ubc14\uc774\ud2b8\ub97c \ucc28\uc9c0\ud558\ub124\uc694.\r\n\r\ndebug:receiver:in: \uc5d0\uc11c \ub2e4\uc74c\uacfc \uac19\uc774 \ud638\ucd9c\ud569\ub2c8\ub2e4.\r\n\r\n   aCompiledMethod\r\n                       valueWithReceiver: anObject\r\n                       arguments: (evalContext ifNil: [ #() ] ifNotNil: [ { evalContext } ])\r\n\r\nvalueWithReceiver: aReceiver arguments: anArray\r\n  ^ aReceiver withArgs: anArray executeMethod: self\r\n\r\naReceiver\ub294 nil\uc774\uc9c0\ub9cc withArgs:executeMethod:\ub97c \ud638\ucd9c\ud558\ub294\ub370\uc5d0\ub294 \uc544\ubb34 \ubb38\uc81c\uac00 \uc5c6\uc8e0 ^^\r\n\r\n#Transcript \uc2ec\ubcfc\uc744 \ud478\uc2dc\r\n'a' \uc0c1\uc218\ub97c \ud478\uc2dc\r\n#show: \uc2ec\ubcfc\uc744 'send'\r\n\uadf8\ub9ac\uace0 \ub9ac\ud134\uc774\ub124\uc694..\r\n\r\n'send'\ub97c \ucc98\ub9ac\ud558\uace0\ub098\uba74 \uacb0\uacfc\uac12\uc774 stack top\uc5d0 \uc800\uc7a5\ub418\uc5b4 \uc788\uc744 \uac70\uace0\uc694.\r\n<\/e0><\/pre>\n<p>\uc2e4\uc81c \ubcf8\uc778\uc774 \ub514\ubc84\uae45 \ud574\uac00\uba74\uc11c \ucd94\uc801\ud558\ub294 \ubc29\ubc95\uc744 \ud1b5\uc9f8\ub85c \uc54c\ub824\uc8fc\uc168\uc2b5\ub2c8\ub2e4.<br \/>\n\uc0ac\uc2e4 \ubc29\ubc95\uc774\uc57c \uc5ec\ub7ec\uac00\uc9c0\uac00 \uc788\uaca0\uc2b5\ub2c8\ub2e4\ub9cc&#8230;<br \/>\n\uc911\uc694\ud55c\uac74 \uc2e4\uc2dc\uac04\uc73c\ub85c \ucef4\ud30c\uc77c\ub418\ub294 \ubc14\uc774\ud2b8\ucf54\ub4dc\ub97c \uacb0\uacfc\ubb3c\ub85c \ubd10\uac00\uba74\uc11c \ub514\ubc84\uae45\uc744 \ud560 \uc218 \uc788\uace0<br \/>\n\uadf8\uac78\ub85c \ub0b4\ubd80 \uad6c\uc870\ub97c \uc880 \ub354 \ubcfc \uc218 \uc788\ub2e4\ub294\uac8c \uc911\uc694\ud55c\uac70\uac19\ub124\uc694.<\/p>\n<p>\uc544\uc9c1 \uc774 \ub0b4\uc6a9\uc744 \uc81c\ub300\ub85c \ub2e4 \uc219\uc9c0\ud558\uc9c0\ub294 \ubabb\ud588\uc2b5\ub2c8\ub2e4\ub9cc&#8230;..<br \/>\n\uc880 \ub354 \ucf54\ub4dc\ub97c \ub450\ub4e4\uaca8\ubcf4\uace0 \uc2a4\uc2a4\ub85c \uacb0\ub860\uc744 \ub0bc \uc218 \uc788\ub294 \ub2e8\uacc4\uac00 \uc624\uba74<br \/>\n\ucd5c\uc885\uacfc\uc815\uc73c\ub85c \ud55c\ubc88 \ub354 \uae00\uc744 \uc4f0\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4 \ud83d\ude00<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc774\uc804\uc5d0 \uc62c\ub838\ub358 \ub0b4\uc6a9\uc744 \uc880 \ub354 \ub5bc\uc5b4\ub0b4\uc11c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. (\uc6d0\ub798\ub294 \uba54\uc138\uc9c0 \uc804\ub2ec\uc5d0 \ub300\ud55c \uad81\uae08\uc99d \ubfd0\uc774\uc5c8\uc2b5\ub2c8\ub2e4\ub9cc.. \uc774\uac74 \uc2ec\ud654\ud559\uc2b5\uc815\ub3c4 \ub418\uaca0\ub124\uc694) \uc774 \ubb38\uc81c\uc640 \uad00\ub828\ub418\uc5b4 \uba54\uc77c\ub9c1 \ub9ac\uc2a4\ud2b8\uc5d0\uc11c \uc654\ub2e4\uac14\ub2e4\ud55c \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4 \uc2a4\ubab0\ud1a0\ud06c\ub294 \uba54\uc18c\ub4dc \ub2e8\uc704\ub85c \ucef4\ud30c\uc77c\ub429\ub2c8\ub2e4. \uc6cd\uc2a4\ud398\uc774\uc2a4\uc5d0\uc11c \uc120\ud0dd\ud574\uc11c DoIt\uc744 \ud55c\ub2e4\uace0 \ud574\ub3c4 \ud574\ub2f9 \ud14d\uc2a4\ud2b8\ub97c \ub9c8\uce58 \uba54\uc18c\ub4dc\uc778\ub0e5 \ucef4\ud30c\uc77c\ud55c\ub2e4\uc74c \uc2e4\ud589\ud569\ub2c8\ub2e4. \uc2e4\ud589\ud558\ub294 \uba54\uc18c\ub4dc\ub294 ProtoObject>>withArg:excute: \uc778\uac00 \uadf8\ub807\uace0 \ub450\ubc88\uc9f8 \uc778\uc790\uac00 \ucef4\ud30c\uc77c\ub41c \uba54\uc18c\ub4dc\uc785\ub2c8\ub2e4. \ucef4\ud30c\uc77c \uacb0\uacfc\ub294 \uc2a4\ud0dd\uae30\ubc18 \uac00\uc0c1\uae30\uacc4\uc6a9 \ubc14\uc774\ud2b8\ucf54\ub4dc\uad6c\uc694. ============================================= [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,10,9],"tags":[38,17,78],"_links":{"self":[{"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/178"}],"collection":[{"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=178"}],"version-history":[{"count":1,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/178\/revisions"}],"predecessor-version":[{"id":179,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/178\/revisions\/179"}],"wp:attachment":[{"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=178"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ta.onionmixer.net\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}