{"id":4082,"date":"2026-02-11T07:00:00","date_gmt":"2026-02-10T22:00:00","guid":{"rendered":"https:\/\/www.litcoder.com\/?p=4082"},"modified":"2026-02-11T16:17:54","modified_gmt":"2026-02-11T07:17:54","slug":"macosx-%ec%84%a4%ec%b9%98-%ed%9b%84-%ea%b0%9c%eb%b0%9c%ed%99%98%ea%b2%bd%ec%9d%84-%ec%9c%84%ed%95%9c-%ec%84%a4%ec%a0%95","status":"publish","type":"post","link":"https:\/\/litcoder.com\/?p=4082","title":{"rendered":"macOS \uc124\uce58 \ud6c4 \uac1c\ubc1c\ud658\uacbd\uc744 \uc704\ud55c \uc124\uc815"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">1. Xcode \uc640 Xcode Command Line Tools \uc124\uce58<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Xcode Command Line Tools\uc5d0\ub294 \ucef4\ud30c\uc77c\ub7ec\ub4f1\uc758 \ub3c4\uad6c\uac00 \ub4e4\uc5b4 \uc788\uc5b4\uc11c \ub2e4\ub978 \uc124\uc815\ub4e4\uacfc \uad00\uacc4\uac00 \uc788\uc5b4 \uac00\uc7a5 \uba3c\uc800 \uc124\uce58 \ud574\uc900\ub2e4. Xcode\ub294 App Store\uc5d0\uc11c \uc124\uce58\ud558\uba74 \ub418\uace0, Xcode Command Line Tools\ub294 \uc544\ub798\uc758 \uba85\ub839\uc5b4\ub97c \ud130\ubbf8\ub110\uc5d0\uc11c \uc2e4\ud589\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">xcode-select --install<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. \ud328\ud0a4\uc9c0 \uad00\ub9ac\uc790 \uc124\uce58<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uac1c\ubc1c\ub4f1\uc5d0 \ud544\uc694\ud55c \uc5ec\ub7ec\uac00\uc9c0 \ub3c4\uad6c\ub4e4\uc744 \uc124\uce58\ud558\ub824\uba74 <a href=\"https:\/\/www.macports.org\" data-type=\"link\" data-id=\"https:\/\/www.macports.org\">Macports<\/a> \ud639\uc740 <a href=\"https:\/\/docs.brew.sh\" data-type=\"link\" data-id=\"https:\/\/docs.brew.sh\">Homebrew<\/a>\uc640 \uac19\uc740 \ud328\ud0a4\uc9c0 \uad00\ub9ac\uc790\ub97c \uc124\uce58\ud574 \uc8fc\uc5b4\uc57c \ud55c\ub2e4. 2026\ub144 \ud604\uc7ac Homebrew\ub294 Sonoma(14)\uc774\uc0c1\uc5d0\uc11c\ub9cc \ub3d9\uc791 \ud558\ubbc0\ub85c \uadf8\ubcf4\ub2e4 \uc774\uc804 \ubc84\uc804\uc744 \uc0ac\uc6a9\ud558\uace0 \uc788\ub2e4\uba74 Macports\uac00 \uc120\ud0dd\uac00\ub2a5\ud55c \ub300\uc548\uc774\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. zshell\uc6a9 extension \uc124\uce58<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">macOS terminal\uc744 \uc2e4\ud589 \ud560 \ub54c \uae30\ubcf8\uc801\uc73c\ub85c zsh\uac00 \uc2e4\ud589\ub418\ub294\ub370, <a href=\"https:\/\/ohmyz.sh\">Oh my zsh<\/a> \ud639\uc740 <a href=\"zim:fw\">zim:fw<\/a> \uac19\uc740 extension\uc744 \uc0ac\uc6a9\ud558\uba74 \uba85\ub839\uc5b4 \uc624\ud0c0\uac10\uc9c0 \ub4f1\uc758 \ub2e4\uc591\ud55c \uae30\ub2a5\uc744 \ucd94\uac00 \ud558\uac70\ub098 \ubcf4\uae30 \uc88b\uc740 \ud14c\ub9c8\ub97c \uc801\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub098\ub294 \uae30\ub2a5\uc740 \uc801\uc9c0\ub9cc \ub2e8\uc21c\ud55c zim:fw\ub97c \uc120\ud638\ud558\ub294\ub370, \ub9cc\uc57d \uc124\uce58 \ud6c4 \uc0ac\uc6a9\ud560 \ub54c &#8220;zsh: command not found: prompt-pwd&#8221; \ub77c\ub294 \ubcf4\uae30 \uc2eb\uc740 \uacbd\uace0 \ubb38\uad6c\uac00 \ub9e4\ubc88 \ucd9c\ub825\ub41c\ub2e4\uba74 ~\/.zimrc \ud30c\uc77c\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc774 prompt-pwd module\uc744 \ucd94\uac00\ud574 \uc11c \ud574\uacb0\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"380\" height=\"159\" src=\"https:\/\/www.litcoder.com\/wp-content\/uploads\/2026\/01\/zsh_prompt_module.png\" alt=\"\" class=\"wp-image-4088\" style=\"width:400px\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/zsh_prompt_module.png 380w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/zsh_prompt_module-300x126.png 300w\" sizes=\"auto, (max-width: 380px) 100vw, 380px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">4. \uba54\ud0c0\ud0a4 \ubcc0\uacbd (Emacs)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ubcf8\uc801\uc778 \ud130\ubbf8\ub110 \uc124\uc815\uc758 \uba54\ud0c0(Meta) \ud0a4\ub294 ESC\uc774\ub2e4. \uc774 \ud0a4\ub97c \uc790\uc8fc\uc0ac\uc6a9\ud558\ub294 Emacs \uc0ac\uc6a9\uc790\ub77c\uba74 \uba40\ub9ac \ub5a8\uc5b4\uc838 \uc788\ub294 ESC \ud0a4\ub97c \ub204\ub974\ub294\uac8c \ubb34\ucc99 \uadc0\ucc2e\uc744 \uac83\uc774\ub2e4. Terminal\uc744 \uc5f4\uc5b4\uc11c &#8220;Use Option as Meta key&#8221;\ub97c \ud65c\uc131\ud654 \ud574 \uc8fc\uba74 ESC \ub300\uc2e0 Option key\ub85c \ub300\uccb4\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"373\" height=\"113\" src=\"https:\/\/www.litcoder.com\/wp-content\/uploads\/2026\/01\/mac_meta_key_change.png\" alt=\"\" class=\"wp-image-4083\" style=\"width:400px\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/mac_meta_key_change.png 373w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/mac_meta_key_change-300x91.png 300w\" sizes=\"auto, (max-width: 373px) 100vw, 373px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\ud55c\uac00\uc9c0 \uc8fc\uc758\ud560 \uc810\uc740 \uc774 \uc124\uc815\uc740 \uac01 \ud504\ub85c\ud544 \ub9c8\ub2e4 \ub530\ub85c \ud574\uc8fc\uc5b4\uc57c \ud55c\ub2e4\ub294 \uc810\uc774\ub2e4. \ub530\ub77c\uc11c \ub2e4\ub978 \uc885\ub958\uc758 \ud504\ub85c\ud544 \uc5ec\ub7ec\uac1c\ub97c \uc0ac\uc6a9\ud55c\ub2e4\uba74 \uac01\uac01\uc5d0 \uc704\uc758 \uc124\uc815\uc744 \uc801\uc6a9\ud574 \uc8fc\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Caps lock key\ub97c Ctrl\ub85c \ubcc0\uacbd<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mac\uc6a9 \ud55c\uae00 \ud0a4\ubcf4\ub4dc\uc5d0\uc11c\ub294 \ud55c\uc601\uc804\ud658\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 Caps lock key\uc758 \uc704\uce58\ub294 \uc190\ubaa9\uc774 \ud3b8\uc548\ud55c \uba85\ub2f9 \uc774\uc9c0\ub9cc \uc790\uc8fc \uc0ac\uc6a9\ub418\uc9c0 \uc54a\ub294 \ud0a4\ub97c \ubc30\uce58\ud558\ub294 \uc6a9\ub3c4\ub85c \uc0ac\uc6a9\ud558\uba74 \ud6a8\uc728\uc774 \ub098\uc058\ub2e4. HHKB \ucc98\ub7fc Caps lock\uc744 Ctrl\ub85c \ubcc0\uacbd\ud558\uba74 \uc190\uc774 \ud3b8\ud558\uac8c \uc791\uc5c5\ud560 \uc218 \uc788\ub2e4. \uadf8\ub9ac\uace0 \ub098\uc11c Caps lock\uc740 \ubcc0\ubc29\uc778 Ctrl \uc704\uce58\ub85c \ubc00\uc5b4 \ub0b8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Settings -&gt; Keyboard -&gt; Modifier Keys<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"929\" src=\"https:\/\/www.litcoder.com\/wp-content\/uploads\/2026\/02\/mac_capslock_switch-1024x929.png\" alt=\"\" class=\"wp-image-4096\" style=\"width:450px\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/02\/mac_capslock_switch-1024x929.png 1024w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/02\/mac_capslock_switch-300x272.png 300w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/02\/mac_capslock_switch-768x697.png 768w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/02\/mac_capslock_switch-1536x1394.png 1536w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/02\/mac_capslock_switch-624x566.png 624w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/02\/mac_capslock_switch.png 1560w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">6. \ud55c\uae00\uc785\ub825\uacfc spotlight \ub2e8\ucd95\ud0a4 \ubcc0\uacbd<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\ubcf8 \ud55c\uae00 \uc785\ub825\uae30 \ubcc0\ud658\uc740 Ctrl + space\uc778\ub370 HHKB\ub098 \ub808\uc624\ud3f4\ub4dc \ud0a4\ubcf4\ub4dc \ucc98\ub7fc Ctrl \ud0a4\uc758 \uc704\uce58\uac00 Caps Lock\uc744 \ub300\uccb4\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 \ud55c\uc601 \ubcc0\ud658 \uc785\ub825\uc774 \uc870\uae08 \uc5b4\ub835\ub2e4. \uadf8\ub798\uc11c Settings -&gt; Keyboard -&gt; Shortcuts\uc5d0\uc11c Command + space\ub85c \ubcc0\uacbd\ud574\uc8fc\uace0 \uc774 \ub54c\ubb38\uc5d0 \ucda9\ub3cc\uc774 \uc0dd\uae30\ub294 spotlight\uc744 \uc61b\ub0a0 \ubc84\uc804\uc758 MacOS\uc5d0\uc11c \uc4f0\ub358 Command + p\ub85c \ubcc0\uacbd\ud574 \uc8fc\uc5c8\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"588\" height=\"125\" src=\"https:\/\/www.litcoder.com\/wp-content\/uploads\/2026\/01\/mac_input_src_change.png\" alt=\"\" class=\"wp-image-4084\" style=\"width:400px\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/mac_input_src_change.png 588w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/mac_input_src_change-300x64.png 300w\" sizes=\"auto, (max-width: 588px) 100vw, 588px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Shift + Command + p\ub294 VS code\uc758 \uba85\ub839\uc5b4 \ud314\ub808\ud2b8 \ub2e8\ucd95\ud0a4\uc640 \ucda9\ub3cc \ud558\ubbc0\ub85c spotlight\uc124\uc815 \ud560 \ub54c \ud568\uaed8 \ubcf4\uc774\ub294 &#8220;Show Finder search window&#8221;\ub294 \ub2e8\ucd95\ud0a4\ub97c \uc124\uc815\ud558\uc9c0 \uc54a\uc558\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"588\" height=\"153\" src=\"https:\/\/www.litcoder.com\/wp-content\/uploads\/2026\/01\/mac_search_explorer.png\" alt=\"\" class=\"wp-image-4085\" style=\"width:400px\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/mac_search_explorer.png 588w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/mac_search_explorer-300x78.png 300w\" sizes=\"auto, (max-width: 588px) 100vw, 588px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">7. \uae30\ud0c0 \uc124\uc815<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SSH key\ub97c \ubcf5\uc0ac\ud558\uace0 config\ub97c \uc124\uc815<\/li>\n\n\n\n<li>GitHub\uc5d0 \uc62c\ub824\ub450\ub294 <a href=\"https:\/\/github.com\/litcoder\/.emacs.d\" data-type=\"link\" data-id=\"https:\/\/github.com\/litcoder\/.emacs.d\">Emacs \ud658\uacbd \ud30c\uc77c<\/a>\uc744 clone<\/li>\n\n\n\n<li>\ud130\uce58\ubc14\uc5d0\uc11c siri\uc744 \uc5c6\uc560\uace0 Screenshot \uae30\ub2a5\uc73c\ub85c \ub300\uccb4<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"312\" src=\"https:\/\/www.litcoder.com\/wp-content\/uploads\/2026\/01\/touchbar_capture-1024x312.png\" alt=\"\" class=\"wp-image-4089\" style=\"width:400px\" srcset=\"https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/touchbar_capture-1024x312.png 1024w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/touchbar_capture-300x91.png 300w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/touchbar_capture-768x234.png 768w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/touchbar_capture-1536x467.png 1536w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/touchbar_capture-2048x623.png 2048w, https:\/\/litcoder.com\/wp-content\/uploads\/2026\/01\/touchbar_capture-624x190.png 624w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Xcode \uc640 Xcode Command Line Tools \uc124\uce58 Xcode Command Line Tools\uc5d0\ub294 \ucef4\ud30c\uc77c\ub7ec\ub4f1\uc758 \ub3c4\uad6c\uac00 \ub4e4\uc5b4 \uc788\uc5b4\uc11c \ub2e4\ub978 \uc124\uc815\ub4e4\uacfc \uad00\uacc4\uac00 \uc788\uc5b4 \uac00\uc7a5 \uba3c\uc800 \uc124\uce58 \ud574\uc900\ub2e4. Xcode\ub294 App Store\uc5d0\uc11c \uc124\uce58\ud558\uba74 \ub418\uace0, Xcode Command Line Tools\ub294 \uc544\ub798\uc758 \uba85\ub839\uc5b4\ub97c \ud130\ubbf8\ub110\uc5d0\uc11c \uc2e4\ud589\ud55c\ub2e4. 2. \ud328\ud0a4\uc9c0 \uad00\ub9ac\uc790 \uc124\uce58 \uac1c\ubc1c\ub4f1\uc5d0 \ud544\uc694\ud55c \uc5ec\ub7ec\uac00\uc9c0 \ub3c4\uad6c\ub4e4\uc744 \uc124\uce58\ud558\ub824\uba74 Macports \ud639\uc740 Homebrew\uc640 \uac19\uc740 \ud328\ud0a4\uc9c0 \uad00\ub9ac\uc790\ub97c \uc124\uce58\ud574 \uc8fc\uc5b4\uc57c \ud55c\ub2e4. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[3,6],"tags":[41,361,75,362,279,402],"class_list":["post-4082","post","type-post","status-publish","format-standard","hentry","category-gadgets","category-tools","tag-emacs","tag-homebrew","tag-mac","tag-macports","tag-vscode","tag-zsh"],"jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":3006,"url":"https:\/\/litcoder.com\/?p=3006","url_meta":{"origin":4082,"position":0},"title":"\uc800\uc7a5\uacf5\uac04 \ubb38\uc81c\ub85c XCode \uc7ac \uc124\uce58\uac00 \uc2e4\ud328 \ud560 \ub54c","author":"litcoder","date":"2021\ub144 4\uc6d4 17\uc77c","format":false,"excerpt":"XCode\ub97c \uc7ac\uc124\uce58 \ud560 \ub54c \uac00\ub2a5\ud55c \uc800\uc7a5\uacf5\uac04\uc774 25GB\uc774\uc0c1 \uc788\uc74c\uc5d0\ub3c4 \uc800\uc7a5\uacf5\uac04\uc774 \ubd80\uc871\ud574\uc11c \uc124\uce58\ud560 \uc218 \uc5c6\ub2e4\ub294 \uc5d0\ub7ec\uac00 \ub098\uc628\ub2e4\uba74 \uc81c\ub300\ub85c \uc0ad\uc81c\ub418\uc9c0 \uc54a\uc740 \uc774\uc804\uc758 \uc815\ubcf4 \ub54c\ubb38\uc77c \uc218\ub3c4 \uc788\ub2e4. Uninstall xcode 10\uc5d0 \uc788\ub294 \ub0b4\uc6a9\uc744 \ucc38\uace0\ud574\uc11c ~\/Library\/\uc548\uc5d0 \uc788\ub294 \uad00\ub828\ud55c \ud30c\uc77c\ub4e4\uc744 \uc0ad\uc81c\ud574\uc8fc\uace0 \ub098\ub2c8 \uc800\uc7a5\uacf5\uac04\uc5d0 \ub300\ud55c \uc5d0\ub7ec\uba54\uc138\uc9c0 \uc5c6\uc774 \uc798 \uc124\uce58 \ub418\uc5c8\ub2e4. \/System\/Library\/\uc548\uc5d0 \uc788\ub294 \ud30c\uc77c\ub4e4\uc740 SIP \uad00\ub828\uc73c\ub85c \uadf8\ub0e5 \uc0ad\uc81c\ud560 \uc218\u2026","rel":"","context":"&quot;Tools &amp; Tips&quot;\uc5d0\uc11c","block_context":{"text":"Tools &amp; Tips","link":"https:\/\/litcoder.com\/?cat=6"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":437,"url":"https:\/\/litcoder.com\/?p=437","url_meta":{"origin":4082,"position":1},"title":"WARNING: terminal is not fully functional","author":"litcoder","date":"2012\ub144 12\uc6d4 30\uc77c","format":false,"excerpt":"mac\uc5d0\uc11c git\uad00\ub828 command\ub098 man \uba85\ub839\uc5b4\uc640 \uac19\uc774 more\/less\ub97c \uc0ac\uc6a9\ud558\ub294 \uc2e4\ud589\uc744 \ud560 \ub54c \ub2e4\uc74c\uacfc \uac19\uc740 \uacbd\uace0\uac00 \ucd9c\ub825\ub418\ub294 \uacbd\uc6b0\uac00 \uc788\ub2e4. WARNING: terminal is not fully functional - (press RETURN) max os x\uc758 \uacbd\uc6b0 $TERM\uac12\uc774 \uae30\ubcf8\uc801\uc73c\ub85c xterm-256color\ub85c \uc124\uc815\ub418\ub294\ub370,\u00a0Xcode\ub97c \uc124\uce58 \ud560 \ub54c terminal\uad00\ub828 \uc815\ubcf4\uac00 \uc0ad\uc81c\ub418\uc11c \uc774 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud55c\ub2e4\uace0 \ud55c\ub2e4. \uac04\ub2e8\ud558\uac8c\ub294 \ud130\ubbf8\ub110 -> \ud658\uacbd\uc124\uc815 -> \uace0\uae09\uc5d0\uc11c\u2026","rel":"","context":"&quot;Tools &amp; Tips&quot;\uc5d0\uc11c","block_context":{"text":"Tools &amp; Tips","link":"https:\/\/litcoder.com\/?cat=6"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2992,"url":"https:\/\/litcoder.com\/?p=2992","url_meta":{"origin":4082,"position":2},"title":"XCode\uc5d0\uc11c OpenCL \uac1c\ubc1c\ud658\uacbd \uc124\uc815\uacfc \uac04\ub2e8\ud55c \ub514\ubc14\uc774\uc2a4 \uc815\ubcf4 \ucd9c\ub825 \uc608\uc81c","author":"litcoder","date":"2021\ub144 4\uc6d4 18\uc77c","format":false,"excerpt":"XCode\uc5d0\uc11c \uc0c8\ub85c\uc6b4 \ud504\ub85c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud558\uace0 macOS\uc758 Command Line Tool\uc744 \uc120\ud0dd\ud55c\ub2e4.Project\ub97c \uc120\ud0dd\ud558\uace0 'Build Phases' -> 'Link Binary With Libraries'\uc5d0\uc11c \ub354\ud558\uae30(+)\ub97c \uc120\ud0dd\ud55c \ud6c4 OpenCL framework\uc744 \uc120\ud0dd\ud55c\ub2e4. \uc544\ub798\uc758 \uc608\uc81c \ucf54\ub4dc\ub294 OpenCL programming by example\uc758 2\uc7a5\uc5d0 \ub098\uc624\ub294 \ub0b4\uc6a9\uc744 \uc57d\uac04 \ubcc0\uacbd\ud55c \uac83\uc73c\ub85c AMD \ub77c\ub370\uc628 Pro 455\uc640 Intel HD graphics 530\ub450 \uac1c\uc758 GPU\uac00 \ub2ec\ub9b0 2016\ub144 \ub9e5\ubd81\ud504\ub85c\uc5d0\uc11c \uc2e4\ud589\ud558\uba74\u2026","rel":"","context":"&quot;Programming&quot;\uc5d0\uc11c","block_context":{"text":"Programming","link":"https:\/\/litcoder.com\/?cat=5"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2021\/04\/XCode_OpenCL_framework-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2021\/04\/XCode_OpenCL_framework-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2021\/04\/XCode_OpenCL_framework-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2021\/04\/XCode_OpenCL_framework-1.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2021\/04\/XCode_OpenCL_framework-1.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":3104,"url":"https:\/\/litcoder.com\/?p=3104","url_meta":{"origin":4082,"position":3},"title":"macOS\uc5d0\uc11c numpy \uc124\uce58\ud560 \ub54c \ube4c\ub4dc \uc2e4\ud328 \ubb38\uc81c","author":"litcoder","date":"2022\ub144 6\uc6d4 6\uc77c","format":false,"excerpt":"Intel Mac\uc5d0\uc11c pip\ub85c numpy(ver1.22)\ub97c \uc124\uce58\ud558\ub824\uace0 \ud588\ub354\ub2c8 \uc124\uce58\uc5d0 \uc2e4\ud328\ud558\uba74\uc11c \uc544\uc8fc \uc544\uc8fc \uae34 \uc624\ub958\uac00 \ub098\uc624\ub294\ub370 Clang compiler option\uc758 architecture flag\uac00 \uc880 \uc774\uc0c1\ud558\ub2e4. % python3 -m pip install numpy ... clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot\/System\/Library\/Frameworks\/System.framework\/PrivateHeaders -iwithsysroot\/Applications\/Xcode.app\/Contents\/Developer\/Library\/Frameworks\/Python3.framework\/Versions\/3.8\/Headers -arch arm64 -arch x86_64 ... clang: error: the clang compiler\u2026","rel":"","context":"&quot;Tools &amp; Tips&quot;\uc5d0\uc11c","block_context":{"text":"Tools &amp; Tips","link":"https:\/\/litcoder.com\/?cat=6"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4098,"url":"https:\/\/litcoder.com\/?p=4098","url_meta":{"origin":4082,"position":4},"title":"pip \uc124\uce58 \uc911 \ucef4\ud30c\uc77c \ubb38\uc81c \ud68c\ud53c\ub97c \uc704\ud55c \uc7a1 \uae30\uc220","author":"litcoder","date":"2026\ub144 2\uc6d4 18\uc77c","format":false,"excerpt":"Python\uc5d0\uc11c \uc5b4\ub5a4 \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud558\ub824\uba74 pip\ub97c \uc0ac\uc6a9\ud55c\ub2e4. pip install <\ud328\ud0a4\uc9c0> \uc774\uc0c1\uc801\uc73c\ub85c\ub294 \uc774\ub807\uac8c\ub9cc \ud558\uba74 \ud3b8\ub9ac\ud558\uac8c\ub3c4 pip\uac00 PiPy\uc5d0\uc11c \ud574\ub2f9 \ud328\ud0a4\uc9c0\ub97c \ub2e4\uc6b4\ub85c\ub4dc \ud574\uc11c \uac1c\ubc1c\ud658\uacbd\uc5d0 \uc124\uce58 \ud574\uc900\ub2e4. \ud558\uc9c0\ub9cc \uc2e4\uc81c pip \uc124\uce58\ub294 \uc0dd\uac01\ubcf4\ub2e4\ub294 \uc870\uae08 \ubcf5\uc7a1\ud558\ub2e4. \ud2b9\ud788 macOS\ub098 Linux \ud658\uacbd\uc5d0\uc11c\ub294 pip \uc124\uce58\uac00 \uae30\ub300\uce58 \uc54a\uc558\ub358 C\/C++ \ucef4\ud30c\uc77c \uc5d0\ub7ec\ub77c\ub294 \uc0c8\ub4dc \uc5d4\ub529\uc73c\ub85c \uce58\ub2eb\ub294 \uacbd\uc6b0\uac00 \uc801\uc9c0 \uc54a\ub2e4. \uc774 \ud3ec\uc2a4\ud305\uc5d0\uc11c\ub294 pip\uc5d0\uc11c \uc18c\uc2a4\u2026","rel":"","context":"&quot;Tools &amp; Tips&quot;\uc5d0\uc11c","block_context":{"text":"Tools &amp; Tips","link":"https:\/\/litcoder.com\/?cat=6"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/01\/pip_pytubefix_dryrun.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/01\/pip_pytubefix_dryrun.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/01\/pip_pytubefix_dryrun.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/01\/pip_pytubefix_dryrun.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4286,"url":"https:\/\/litcoder.com\/?p=4286","url_meta":{"origin":4082,"position":5},"title":"OpenProject\ub97c Docker\ub85c \uc124\uce58","author":"litcoder","date":"2026\ub144 4\uc6d4 8\uc77c","format":false,"excerpt":"\ud504\ub85c\uc81d\ud2b8 \uad00\ub9ac \ub3c4\uad6c\ub85c \ub9ce\uc774 \uc0ac\uc6a9\ub418\ub294 Atlassian\uc758 JIRA\ub97c \ub300\uccb4\ud558\uae30 \uc704\ud55c \uc624\ud508\uc18c\uc2a4 \ud504\ub85c\uc81d\ud2b8\ub4e4 \uc911 \uac00\uc7a5 \uc778\uae30\uac00 \uc788\ub2e4\ub294 OpenProject\ub97c \ud68c\uc0ac\uc5d0\uc11c \uc9c4\ud589\ud558\ub294 \ud504\ub85c\uc81d\ud2b8\ub97c \uc704\ud574 \uc0ac\uc6a9\ud574 \ubcf4\uae30\ub85c \ud588\ub2e4. Docker\ub85c \uc124\uce58\ud558\uae30 \uc900\ube44 Source code clone OpenProject\ub294 GitHub repo\uc5d0\uc11c tag\uac00 \uc544\ub2cc branch\uba85\uc744 stable\/<version> \ud615\uc2dd\uc73c\ub85c \ub9b4\ub9ac\uc988\ud558\uace0 \uc788\ub294 \ub4ef \ud558\ub2e4. 2026\ub144 4\uc6d4 \ud604\uc7ac \uac00\uc7a5 \ucd5c\uc2e0 \ubc84\uc804\uc778 17\ubc84\uc804\uc744 \ub2e4\uc74c\uacfc \uac19\uc774\u2026","rel":"","context":"&quot;Linux&quot;\uc5d0\uc11c","block_context":{"text":"Linux","link":"https:\/\/litcoder.com\/?cat=4"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/03\/openproject17_login.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/03\/openproject17_login.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/litcoder.com\/wp-content\/uploads\/2026\/03\/openproject17_login.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/4082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4082"}],"version-history":[{"count":9,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/4082\/revisions"}],"predecessor-version":[{"id":4199,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/4082\/revisions\/4199"}],"wp:attachment":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}