{"id":469,"date":"2019-03-20T17:54:54","date_gmt":"2019-03-20T08:54:54","guid":{"rendered":"https:\/\/ahnbk.com\/?p=469"},"modified":"2019-03-20T17:54:54","modified_gmt":"2019-03-20T08:54:54","slug":"blockly-%ea%b0%9c%eb%b0%9c%ed%99%98%ea%b2%bd-%ea%b5%ac%ec%b6%95","status":"publish","type":"post","link":"https:\/\/ahnbk.com\/?p=469","title":{"rendered":"Blockly  \uac1c\ubc1c\ud658\uacbd \uad6c\ucd95"},"content":{"rendered":"\n<p>Blockly\ub294 \uc624\ud508\uc18c\uc2a4\ub85c \uc18c\uc2a4\uac00 \ubaa8\ub450 \uac1c\ubc29\ub418\uc5b4 \uc788\ub2e4. \uc774\ub97c \uac00\uc838\uc640 \uac1c\ubc1c\uc790\uc758 \uc758\ub3c4 \ubc0f \uc6a9\ub3c4\uc5d0 \ub9de\uac8c \uc218\uc815\ud558\uc5ec \uc0ac\uc6a9 \uac00\ub2a5\ud558\ub2e4. Blockly\ub294 \ubbf8\ub4e4\uc6e8\uc5b4 \uc131\uaca9\uc73c\ub85c, \uc0ac\uc6a9\uc790\uc758 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ub9de\uac8c\ub054 \uc218\uc815 \ubc0f \uae30\ub2a5 \ucd94\uac00\uac00 \uc6a9\uc774\ud558\ub2e4. <\/p>\n\n\n\n<p>\uc77c\ub2e8 Blockly \uc18c\uc2a4\ub97c \uac00\uc838\uc640 \ube4c\ub4dc\ud574\ubcf4\ub3c4\ub85d \ud55c\ub2e4. Javascript\uc758 \ube4c\ub4dc \uacb0\uacfc\ubb3c\uc740 \uc8fc\ub85c xxxx_compressed.js\uc758 \uc774\ub984\uc73c\ub85c \uc800\uc7a5\ub418\uba70, \uc5ec\ub7ec\uac1c\ub85c \ubd84\uc0b0\ub41c \ucf54\ub4dc\ub97c \ud558\ub098\uc758 \ud30c\uc77c\uc5d0 \uc555\ucd95(\uc815\ud655\ud788\ub294 \ud568\ucd95)\ud558\uc5ec \uc800\uc7a5\ud55c\ub2e4.<br><\/p>\n\n\n\n<p>\uba3c\uc800 \uc18c\uc2a4\ub97c \uac00\uc838\uc628\ub2e4. github\uc758 Blockly \ub808\ud3ec\uc9c0\ud1a0\ub9ac (<a rel=\"noreferrer noopener\" aria-label=\"https:\/\/github.com\/google\/blockly\/releases (opens in a new tab)\" href=\"https:\/\/github.com\/google\/blockly\/releases\" target=\"_blank\">https:\/\/github.com\/google\/blockly\/releases<\/a>) \uc5d0\uc11c \ucd5c\uc2e0 \ub9b4\ub9ac\uc988 \uc18c\uc2a4 (<a href=\"https:\/\/github.com\/google\/blockly\/archive\/1.20190215.0.tar.gz\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"https:\/\/github.com\/google\/blockly\/archive\/1.20190215.0.tar.gz (opens in a new tab)\">https:\/\/github.com\/google\/blockly\/archive\/1.20190215.0.tar.gz<\/a>)\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud55c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img data-attachment-id=\"470\" data-permalink=\"https:\/\/ahnbk.com\/?attachment_id=470\" data-orig-file=\"https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-20.png?fit=1052%2C544&amp;ssl=1\" data-orig-size=\"1052,544\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-20.png?fit=1000%2C517&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-20.png?fit=525%2C271&amp;ssl=1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-20.png?resize=311%2C160&#038;ssl=1\" alt=\"\" class=\"wp-image-470\" width=\"311\" height=\"160\" srcset=\"https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-20.png?w=1052&amp;ssl=1 1052w, https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-20.png?resize=1000%2C517&amp;ssl=1 1000w, https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-20.png?resize=768%2C397&amp;ssl=1 768w\" sizes=\"(max-width: 311px) 100vw, 311px\" data-recalc-dims=\"1\" \/><\/figure>\n\n\n\n<p>\ubc1b\uc740 \uc555\ucd95 \ud30c\uc77c\uc744 \uc784\uc758\uc758 \ub514\ub809\ud1a0\ub9ac\ub85c \uc774\ub3d9\ud55c \ud6c4 \uc555\ucd95\uc744 \ud47c\ub2e4. (\ubcf8 \ud3ec\uc2a4\ud305\uc5d0\uc120 ~\/Developer \ub97c \uc0ac\uc6a9.)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ cd ~\/Developer\n$ tar zxf blockly-1.20190215.0.tar.gz<\/code><\/pre>\n\n\n\n<p>\ube4c\ub4dc\ud558\uae30 \uc704\ud574\uc120 \uc77c\ub2e8 python2.7\uc774 \uc124\uce58\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4. (macOS\uc5d4 python 2.7\uc774 \uae30\ubcf8 \uc124\uce58\ub418\uc5b4 \uc788\uc73c\ubbc0\ub85c \uad1c\ucc2e\uc74c. Windows\uc5d0\uc120 \ub530\ub85c \uc124\uce58 \ud544\uc694)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ cd blockly-1.20190215.0\n$ .\/build.py<\/code><\/pre>\n\n\n\n<p>\uc774\ub54c \ub2e4\uc74c\uacfc \uac19\uc740 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud558\uba74, closure-library\uac00 \ud544\uc694\ud558\ub2e4. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Error: Closure not found.  Read this:\ndevelopers.google.com\/blockly\/guides\/modify\/web\/closure<\/code><\/pre>\n\n\n\n<p>\uc704 \uc5d0\ub7ec \uba54\uc2dc\uc9c0\uc5d0\uc11c \uc54c\ub824\uc900 \ub9c1\ud06c (<a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/developers.google.com\/blockly\/guides\/modify\/web\/closure\" target=\"_blank\">developers.google.com\/blockly\/guides\/modify\/web\/closure<\/a>)\ub85c \uac00\uc11c \uc555\ucd95 \ud30c\uc77c\uc744 \ub2e4\uc6b4\ub85c\ub4dc \ud55c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img data-attachment-id=\"471\" data-permalink=\"https:\/\/ahnbk.com\/?attachment_id=471\" data-orig-file=\"https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-21.png?fit=1710%2C1242&amp;ssl=1\" data-orig-size=\"1710,1242\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-21.png?fit=1000%2C726&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-21.png?fit=525%2C381&amp;ssl=1\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-21.png?resize=451%2C327&#038;ssl=1\" alt=\"\" class=\"wp-image-471\" width=\"451\" height=\"327\" srcset=\"https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-21.png?w=1710&amp;ssl=1 1710w, https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-21.png?resize=1000%2C726&amp;ssl=1 1000w, https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-21.png?resize=768%2C558&amp;ssl=1 768w, https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-21.png?resize=1568%2C1139&amp;ssl=1 1568w, https:\/\/i0.wp.com\/ahnbk.com\/wp-content\/uploads\/2019\/03\/image-21.png?w=1050&amp;ssl=1 1050w\" sizes=\"(max-width: 451px) 100vw, 451px\" data-recalc-dims=\"1\" \/><\/figure>\n\n\n\n<p>\ubc1b\uc740 \ud30c\uc77c\uc744 ~\/Developer\uc5d0 \ud480\uace0, \ub514\ub809\ud1a0\ub9ac \uc774\ub984\uc744 closure-library\ub85c \ubcc0\uacbd\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ cd ~\/Developer\n$ tar zxf ~\/Downloads\/google-closure-library-v20190301-20-gde66a8a.tar.gz \n$ mv google-closure-library-de66a8a closure-library<\/code><\/pre>\n\n\n\n<p>\uc774\uc81c \ub2e4\uc2dc blockly \ub514\ub809\ud1a0\ub9ac\ub85c \uc774\ub3d9\ud558\uc5ec \ube4c\ub4dc\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ cd blockly-1.20190215.0\n$ .\/build.py<\/code><\/pre>\n\n\n\n<p>\uc5ec\ub7ec \uba54\uc2dc\uc9c0\uac00 \ucb48\uc6b1 \ub098\uc624\uace0, \uc5d0\ub7ec\uac00 \uc5c6\uc774 \ub9c8\ubb34\ub9ac\ub418\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \ud30c\uc77c\uc774 \uc0dd\uc131\ub41c\ub2e4. (\uc774\ubbf8 \ucef4\ud30c\uc77c\ub41c \ud30c\uc77c\uc774 \uc788\uae34 \ud558\uc9c0\ub9cc, \uc5c5\ub370\uc774\ud2b8 \ub41c\ub2e4) \ub9cc\uc57d java.lang.RuntimeException: INTERNAL COMPILER ERROR\uc640 \uac19\uc740 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud55c\ub2e4\uba74, \uc7a0\uc2dc\ud6c4 \ub2e4\uc2dc \uc2e4\ud589\ud558\uba74 \uc815\uc0c1\uc801\uc73c\ub85c \ube4c\ub4dc \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>...\n\nSUCCESS: msg\/js\/tlh.js\nSUCCESS: msg\/js\/ba.js\nSUCCESS: blockly_uncompressed.js\nSUCCESS: blockly_accessible_uncompressed.js\nSUCCESS: blockly_compressed.js\nSize changed from 2637 KB to 780 KB (30%).\nSUCCESS: blockly_accessible_compressed.js\nSize changed from 2739 KB to 826 KB (30%).\nSUCCESS: blocks_compressed.js\nSize changed from 154 KB to 74 KB (48%).\nSUCCESS: javascript_compressed.js\nSize changed from 85 KB to 47 KB (56%).\nSUCCESS: python_compressed.js\nSize changed from 71 KB to 36 KB (51%).\nSUCCESS: php_compressed.js\nSize changed from 74 KB to 38 KB (52%).\nSUCCESS: lua_compressed.js\nSize changed from 66 KB to 33 KB (50%).\nSUCCESS: dart_compressed.js\nSize changed from 78 KB to 41 KB (52%).<\/code><\/pre>\n\n\n\n<p>\ube4c\ub4dc \uc644\ub8cc.<\/p>\n\n\n\n<p>\uc0dd\uc131\ub41c \ud30c\uc77c\uc758 \uc6a9\ub3c4\ub97c \uc124\uba85\ud558\uba74&#8230;<\/p>\n\n\n\n<ul><li>blockly_compressed.js : Blockly \ucf54\uc5b4 \ud30c\uc77c<\/li><li>blocks_compressed.js : \uae30\ubcf8 \ube14\ub7ed<\/li><li>javascript_compressed : Javascript \ucf54\ub4dc \uc81c\ub108\ub808\uc774\ud130<\/li><li>python_compressed.js : Python \ucf54\ub4dc \uc81c\ub108\ub808\uc774\ud130<\/li><li>php_compressed.js : PHP \ucf54\ub4dc \uc81c\ub108\ub808\uc774\ud130<\/li><li>lua_compressed.js : Lua \ucf54\ub4dc \uc81c\ub108\ub808\uc774\ud130<\/li><li>dart_compressed.js : Dart \ucf54\ub4dc \uc81c\ub108\ub808\uc774\ud130<\/li><\/ul>\n\n\n\n<p>\ub057!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Blockly\ub294 \uc624\ud508\uc18c\uc2a4\ub85c \uc18c\uc2a4\uac00 \ubaa8\ub450 \uac1c\ubc29\ub418\uc5b4 \uc788\ub2e4. \uc774\ub97c \uac00\uc838\uc640 \uac1c\ubc1c\uc790\uc758 \uc758\ub3c4 \ubc0f \uc6a9\ub3c4\uc5d0 \ub9de\uac8c \uc218\uc815\ud558\uc5ec \uc0ac\uc6a9 \uac00\ub2a5\ud558\ub2e4. Blockly\ub294 \ubbf8\ub4e4\uc6e8\uc5b4 \uc131\uaca9\uc73c\ub85c, \uc0ac\uc6a9\uc790\uc758 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ub9de\uac8c\ub054 \uc218\uc815 \ubc0f \uae30\ub2a5 \ucd94\uac00\uac00 \uc6a9\uc774\ud558\ub2e4. \uc77c\ub2e8 Blockly \uc18c\uc2a4\ub97c \uac00\uc838\uc640 \ube4c\ub4dc\ud574\ubcf4\ub3c4\ub85d \ud55c\ub2e4. Javascript\uc758 \ube4c\ub4dc \uacb0\uacfc\ubb3c\uc740 \uc8fc\ub85c xxxx_compressed.js\uc758 \uc774\ub984\uc73c\ub85c \uc800\uc7a5\ub418\uba70, \uc5ec\ub7ec\uac1c\ub85c \ubd84\uc0b0\ub41c \ucf54\ub4dc\ub97c \ud558\ub098\uc758 \ud30c\uc77c\uc5d0 \uc555\ucd95(\uc815\ud655\ud788\ub294 \ud568\ucd95)\ud558\uc5ec \uc800\uc7a5\ud55c\ub2e4. \uba3c\uc800 \uc18c\uc2a4\ub97c \uac00\uc838\uc628\ub2e4. github\uc758 Blockly \ub808\ud3ec\uc9c0\ud1a0\ub9ac (https:\/\/github.com\/google\/blockly\/releases) &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/ahnbk.com\/?p=469\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Blockly  \uac1c\ubc1c\ud658\uacbd \uad6c\ucd95&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false},"categories":[90],"tags":[91,66],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2wXSW-7z","jetpack-related-posts":[],"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/ahnbk.com\/index.php?rest_route=\/wp\/v2\/posts\/469"}],"collection":[{"href":"https:\/\/ahnbk.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahnbk.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahnbk.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ahnbk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=469"}],"version-history":[{"count":1,"href":"https:\/\/ahnbk.com\/index.php?rest_route=\/wp\/v2\/posts\/469\/revisions"}],"predecessor-version":[{"id":472,"href":"https:\/\/ahnbk.com\/index.php?rest_route=\/wp\/v2\/posts\/469\/revisions\/472"}],"wp:attachment":[{"href":"https:\/\/ahnbk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahnbk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahnbk.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}