Cursive ๋๊ฒ ์๋๊ตฐ์. Intellij plugin ์
๋๋ค.
https://cursiveclojure.com
๊น๋ง๋ช ๋์ด ์ ๋ฆฌํด์ฃผ์ ๋ค์ url ๋ ์ฒจ๋ถํด์.
http://manmyung.github.io/posts/2015-03-17-post.html
--
์ด ๋ฉ์ผ์ Google ๊ทธ๋ฃน์ค 'Korean Clojure User Group' ๊ทธ๋ฃน์ ๊ฐ์ ํ ๋ถ๋ค์๊ฒ ์ ์ก๋๋ ๋ฉ์์ง์ ๋๋ค.
์ด ๊ทธ๋ฃน์์ ํํดํ๊ณ ๋ ์ด์ ์ด๋ฉ์ผ์ ๋ฐ์ง ์์ผ๋ ค๋ฉด clojure-kr+...@googlegroups.com์ ์ด๋ฉ์ผ์ ๋ณด๋ด์ธ์.
์ด ๊ทธ๋ฃน์ ๊ฒ์ํ๋ ค๋ฉด cloju...@googlegroups.com์ ์ด๋ฉ์ผ์ ๋ณด๋ด์ธ์.
์น์์ ์ด ํ ๋ก ์ ๋ณด๋ ค๋ฉด https://groups.google.com/d/msgid/clojure-kr/40470eb6-bc0a-4061-b4c5-c87acdab3e53%40googlegroups.com์(๋ฅผ) ๋ฐฉ๋ฌธํ์ธ์.
๋ ๋ง์ ์ต์ ์ ๋ณด๋ ค๋ฉด https://groups.google.com/d/optout์(๋ฅผ) ๋ฐฉ๋ฌธํ์ธ์.
์๊ฐํด๋ณด๋ ํ๋ก์ ํธ ๊ฐ ์๋๋ฉด ....
์์ฆ ๊พธ์คํ๊ฒ ๋งค์ผ ์กฐ๊ธ์ฉ Clojure๋ฅผ ๊ณต๋ถํ๊ณ ์์ต๋๋ค.ย Living Clojure์ฑ ์์ ์ถ์ฒํ๋ ์ง๋์ ๋ง์ถฐย 4Clojure ๋ฌธ์ ๋ฅผ ์ฃผ๋ก ๋ง์ด ํ์๊ณ ๋ค์ ์ฃผ ๋ถํฐ๋ ๋ช๊ฐ์ง ์นดํ๋ฅผ ํ์ด๋ณผ ์์ ์ ๋๋ค.๊ทธ๋ฌ๋ค๋ณด๋ ๊ฐ๋จํ ํด๋ก์ ธ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด ๋ณผ ์ผ์ด ๋ง์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ญ๊ฐ ๋งค๋๋ฝ์ง๊ฐ ์๋ ๊ฒ ๊ฐ์์.์ ๊ฐ ์๋ํด๋ณธ ๋ช๊ฐ์ง ๋ฐฉ๋ฒ์..1. lein replยํฐ๋ฏธ๋์์ ๋ฐ๋ก repl์ ๋ฐ์ธ ์ ์๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ธ๋ฐ, ์ด๊ฒ ์๊ฐ๋ณด๋ค ์คํ๋๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ข ๋๋๋ผ๊ตฌ์.ย๊ฒ๋ค๊ฐ ํฐ๋ฏธ๋์์๋ IPython๊ณผ ๊ฐ์ ์ํธ์์ฉ์ฑ์ ๊ธฐ๋ํ๊ธฐ ํ๋ค์์์?2. emacs + cider + nrepl์์ง emacs๊ฐ ์ต์ํ์ง ์์ง๋ง ๋จ์ถํค๋ฉฐ ์ค์ ์ด๋ฉฐ ํ๋๋์ฉ ์ตํ๋ณด๋ ์ค์ ๋๋ค. ์ง์ .cljํ์ผ๋ก ์ ์ฅํ๊ฑฐ๋ Clojure ๋ชจ๋๋ก ์ค์ ์ ๋ฐ๊พธ๊ณ๋๋ฉด ํด๋น ๋จ์ถํค๋ค์ ์ฌ์ฉํ ์ ์๋ค์. C-c M-j ๋ผ๋ ๋ณต์กํ ๋จ์ถํค๋ฅผ ๋๋ฅด๋ฉด cider-nrepl๋ ์ฐ๊ฒฐ๋์ด ๋ฒํผ์ repl์ ์๋ค๊ฐ๋ค ํ๋ฉด์์กฐ๊ธ์ฉ ๋ฐ๊ฟ๋ณผ ์ ์์ผ๋๊น ๋จ์ํ repl๋ง ์๋ ๊ฒ ๋ณด๋จ ๋์ ๊ฒ ๊ฐ์ต๋๋ค.ย๋ค๋ง emacs๊ฐ ์์ง๋ ์์ ์ต์ง ์์์ ใ .ใ ๊ฒ๋ค๊ฐ emacs๋ฅผ ๋์ฐ๋ ๊ฑฐ๋ repl ๋์ฐ๋๊ฒ ์ฌ์ ํ ์กฐ๊ธ ๋ฌด๊ฑฐ์ด ๋๋์ ๋๋ค.ย(๋งฅ์์๋ ๊ทธ๋๋ง ์กฐ๊ธ ๋์๋ฐ, ์๋์์ ์ด๋งฅ์ค๋ ์ฒ์ ์คํํ ๋ ๋ ๋๋ฆฐ๊ฒ ๊ฐ์์)๋ฐ๋ก ๋ญ๊ฐ ํ์ดํํ๊ณ ๊ฒฐ๊ณผ ๋ณด๊ณ .. ํ๋ ค๊ณ ํ ๋๋ ์ข ..
3. LightTable instarepl์ฝ๋๋ฅผ ์์ฑํ๋ ์ค์๋ ์ธ๋ผ์ธ์ผ๋ก ์คํ ํธ๋ ์ด์ค๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฑด ๋งค์ฐ ํ์ํํ ๊ฒ ๊ฐ์ต๋๋ค.๋จ์ถํค๋ก ๋ฌธ์๋ฅผ ์ด์ด๋ณธ๋ค๋ ์ง ์๋์์ฑ์ด๋ผ๋ ์ง.. ๋ฑ๋ฑ๋ ์ข๊ตฌ์.๋ค๋ง ์ค๊ฐ์ ๊ฐ๋์ฉ ๋จนํต์ด ๋๊ธฐ๋ ํ๊ณ , ์ญ์๋ instarepl์ ๋์ฐ๋ ๊ฒ ๋๋ฆฝ๋๋ค. ใ .ใ ย์์ ์ฑ/์ฑ๋ฅ ๋ฑ์ ์กฐ๊ธ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์์.
4. tryclj์ด๊ฒ ๋์ฐ๊ธฐ๋ ์ ์ผ ํธํ ๊ฒ ๊ฐ์์. ๋ก์ปฌ๋ณด๋ค ๋ฆฌ๋ชจํธ๋ผ๋ -.-;;;ย(๋ฌผ๋ก repl์ด์ด์ ์ํธ์์ฉ์ฑ์๋ ๋๊ฐ์ ๋จ์ ์ด ์๋ค๋..)์ด๊ฒ ์ ๊ฒ ๋๋ฆฐ๊ฑธ ๋ณด๋ฉด ์ ๊ฐ ๋ญ๊ฐ๋ฅผ ์๋ชป ์ค์ ํ๊ณ ์ฐ๋ ๊ฒ์ด๋ ๊ฐ, ์ ๊ฐ ์ฐธ์์ฑ์ด ๋ถ์กฑํ๋ ๊ฐ ๋ ์ค ํ๋๊ฐ ์ถ๊ธฐ๋ ํ๋ค์. ^^;๊ทธ๋ฅ replํ๋, emacsํ๋, lighttable ๋ฑ์ ๋ฏธ๋ฆฌ ๋ค ๋์๋๊ณ ์ธ์ ๋ ์ง ์ค์์นํด์ ํ๋๊ฒ ์ ์ผ์ธ๊ฐ ์ถ๊ธฐ๋ ํฉ๋๋ค.๋ค๋ฅธ ๋ถ๋ค์ ์ด๋ค ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์๋์? ์ด๋ณด๋ฅผ ์ํด ์ข์ ํ ๊ณต์ ๋ถํ๋๋ฆฝ๋๋ค.
์ ๋ emacs ํ๋๋ง ์๋๋ค. ๋ค๋ฅธ๊ฒ์ ์ด๋งฅ์ค๋ฅผ ํฌ๊ธฐํ๋ฉด์ ์จ๋ณผ๋งํผ ๋งค๋ ฅ์ ์ด์ง ๋ชปํ๋๊ตฐ์. ๊ฒ๋ค๊ฐ cider๋ clojure-mode๋ ์ ๋ contribution์ ๊ฐ๋์ฉ ํ๊ธฐ ๋๋ฌธ์ cider ํ๊ฒฝ์ ๋ํด์ ์์ ๊ฐ๋ ์์ต๋๋ค.ย์ผ๋จ emacs๋ daemon์ผ๋ก ์ฐ์ ์ผํฉ๋๋ค.emacs --daemon --debug-initemacsclient -t์ ๋ ์์ ์ ์ด๋งฅ์ค ๋ฐํ์์ 7๊ฐ ์ ๋ ์ด์ด๋๊ณ ์ฐ๋๋ฐ, ํ๋๋ ๋ฐ๋ชฌ์ผ๋ก ๋งฅ cocoa window๋ฅผ ์ด์ฉํ๊ณ , ๋๋จธ์ง๋ค์ ์ ๋ถ iterm ์์์ ๊ฐ ํญ์ ๋ฐ๋ชฌ์๋ emacs ย ํ๋์ฉ ๋๊ณ ์ฌ์ฉํฉ๋๋ค. (์ฃผ๋ก iterm์ ์ฌ๋ ค๋๊ณ ์ฐ๋๊ฒ์ ๋ ํผ๋ฐ์ค ํ๋ก์ ํธ repling์ ์ํ)๋ฐ๋ชฌ ์ด๋งฅ์ค๋ ํน๋ณํ ๊ฒฝ์ฐ๊ฐ ์๋ํ ๋ค์ ์์คํ ๋ฆฌ๋ถํ ์ ๊น์ง ๊ณ์ ์ด๋ ค์ ์๋๋ค. ์ค๊ฐ์ค๊ฐ์ clojure repl๋ง ๋ฆฌ๋ถํธํ๋ ์ ๋.(์ด๋ฐ ๋๋์ ๋๋ค)๋๋ฒ์งธ๋ clojure repling์ ํ๊ธฐ์๋ lein๋ณด๋ค๋ boot ํด๋ง์ด ํจ์ฌ ๋ ๋งค๋ ฅ์ ์ ๋๋ค. refactor-nrepl์ ์ฐ์ง ์๊ณ ๋, deps hotloading์ด ๊ฐ๋ฅํ๊ณ , lein repl๋ณด๋ค jack-in ํ์๋ ๋น ๋ฅด๊ตฌ์. boot ํด๋ง ์์คํ ์ ๊ฐ์ธ์ ์ผ๋ก lein ๋ณด๋ค ํจ์ฌ ์ ํธํฉ๋๋ค. ๊ทธ๋์ lein์ชฝ์๋ contribution์ ํ๊ฐ๋ ํ ๊ฒ์ด ์์ง๋ง boot์ ๊ณ์ ๋๋ ค๊ฐ๊ณ ์์ต๋๋ค.ย์ด๋งฅ์ค๊ฐ ๋ฌด๊ฒ๋ค๊ณ ๋๋ผ๋๊ฑด ๋ญ๊ฐ ์ ์ ์ฝ๋๋จ์ด ์ต์ ํ๊ฐ ์๋์ด์๋ค๋ ๋ป์ ๋๋ค. ๋ฌผ๋ก ์ด๊ฑด ์์ ๋ง์๋๋ ธ๋ ๋ฐ๋ชฌ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ๋ฌผ๋ก ์๋์ฐ ์ด๋งฅ์ค๋ ๋ฐ๋ชฌ์ ์ง์ํ์ง ์์๋๊ฒ์ผ๋ก ๊ธฐ์ตํด์ ์ด์ฉ์์๊ตฐ์. ๊ฐ์ธ์ ์ผ๋ก ์ด๋งฅ์ค ์ด๊ธฐํ๋ 2000ms ์ด๋ด๋ก ๋ผ์ผ๋๋ค๊ณ ์๊ฐํฉ๋๋ค.ํ ์ด๋งฅ์ค ํค๋น์ ์ ์ ์ฝํ๋ ๊ธ์ด์์ต๋๋ค.
IntelliJ+Cursive์ ๋ฆฌํฉํ ๋ง ๊ธฐ๋ฅ์ด ๋ฒ์ ๋ณ ์์ค ๋น๊ต ๊ธฐ๋ฅ์ ์ด๋งฅ์ค ๋ณด๋ค๋ ํจ์ฌ ๋ณ์ ๋ฏ ํฉ๋๋ค. ^^;(์ต๊ทผ์ Cider์ ๋ฆฌํฉํ ๋ง๊ณผ ์ฝ๋ ์นผ๋ผ๋ง ๊ธฐ๋ฅ์ด ๋ค์ด๊ฐ๋ค๋ ์๊ธฐ๋ ๋ค์์๋๋ฐ, ์ ๊ฐ ์ด๋งฅ์ค๋ฅผ ์ฐ์ง ์์ย์ ํํ ๊ธฐ๋ฅ์ด IntelliJ+Cursive์ ๋น๊ต๋ฅผ ๋ชปํ๊ฒ ๋ค์.)
IntelliJ+Cursive์ ๋ฆฌํฉํ ๋ง ๊ธฐ๋ฅ์ด ๋ฒ์ ๋ณ ์์ค ๋น๊ต ๊ธฐ๋ฅ์ ์ด๋งฅ์ค ๋ณด๋ค๋ ํจ์ฌ ๋ณ์ ๋ฏ ํฉ๋๋ค. ^^;(์ต๊ทผ์ Cider์ ๋ฆฌํฉํ ๋ง๊ณผ ์ฝ๋ ์นผ๋ผ๋ง ๊ธฐ๋ฅ์ด ๋ค์ด๊ฐ๋ค๋ ์๊ธฐ๋ ๋ค์์๋๋ฐ, ์ ๊ฐ ์ด๋งฅ์ค๋ฅผ ์ฐ์ง ์์ย์ ํํ ๊ธฐ๋ฅ์ด IntelliJ+Cursive์ ๋น๊ต๋ฅผ ๋ชปํ๊ฒ ๋ค์.)๋ฒ์ ๋ณ ์์ค๋น๊ต ๊ธฐ๋ฅ์ด ์ด๋ค๊ฑฐ์ฃ ? ํน git๊ณผ ๊ฐ์ scm ์์คํ ์ผ๋ก ๊ด๋ฆฌํ๋ ์์คํธ๋ฆฌ์์์ ์์ค์ diffing ๊ฐ์ ๊ธฐ๋ฅ์ ๋งํ์ ๊ฑฐ๋ฉด ์ด๋งฅ์ค์๋ magit์ด๋ ๋ ์์ด ์์ต๋๋ค. (๋จ์ฐ ์ต๊ฐ์ scm(git)์ ์ต๊ฐ์ UI/UX๋ฅผ ์ ํด์ฃผ์ฃ ;-D ) ํน ์ด๊ฒ์ ๋ง์ํ์ ๊ฑฐ๋ฉด ์ ๊ฐ ์ฅ๋ดํ๊ฑด๋ฐ magit์ ๊ฒฐ์ฝ ๋ฅ๊ฐํ๊ธด ์ฝ์ง ์์๊ฒ๋๋ค. ํํํน clojure.core ์์ค์ ๋ฒ์ ๋ณ ๋น๊ต๊ธฐ๋ฅ ๊ฐ์๊ฒ์ ๋งํ์ ๊ฒ์ด๋ผ ํด๋ ์ด ์ญ์ magit๋ฑ์ ์ด์ฉํด ์ปค์คํ ํ๋ฉด ๋์ง ์์๊น ์๊ฐํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฝ๋ ์นผ๋ผ๋ง๋ clojure coding refactoring๋ฑ์ cider์์ ๊ตฌ์ง ๋ค๋ค์ผํ๋ ์ฃผ์ ๋ ์๋๋๋ค. ์คํ๋ ค ์ฝ๋์นผ๋ผ๋ง(์ด๋งฅ์ค ์ปจํ ์คํธ๋ก ๋งํ๋ฉด font-lock)์ clojure-mode์์ ๊ตฌํํด์ผํ๋ ๋ถ๋ถ์ด๊ณ , ์ถ๊ฐ์ ์ธ let์์ ๋ก์ปฌ๋ณ์๋ฑ์ ๊ตฌ๋ถํด์ฃผ๋ flash effect๋ ์ด๋งฅ์ค ์ฝ์ด ๋ฒ๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ hightlight.el์์ ์ฒ๋ฆฌํ๋๊ฒ ๋ง์ต๋๋ค. ์ด๋งฅ์ค ํจํค์ง ํ๋๊ฐ ์คํ๋ ค ์ด ๋ชจ๋ ๊ฑธ ๋ค ์ฒ๋ฆฌํ๋ค๋ฉด ๊ฐ๋ฐ์ ์๋ชปํ๊ณ ์๋์ ์ด๊ฒ ์ฃ .
๋ง์ง๋ง์ผ๋ก ์๋ํฐ์ ์ ํ์ ๊ฒฐ๊ตญ ๋ง์ง๋ง์๋ ์ทจํฅ๋ฌธ์ ๋๊ตฐ์. ์ ์๋ํฐ ํ๋ ์์ด ์ผ์ด๋๋ฉด ์ผ๋จ ์ด๋งฅ์ค ๊ฐ์ง๊ณ ํธ๋กค๋ง(?) ํน ์ฝ์ฅ์ฌ๋ฅผ ํ๋ค๊ฐ ๊ฒฐ๋ก ์ ๋ณ๊ฑฐ ์๋ค๋ก ๋๋๊ณค ํฉ๋๋ค ใ ใ ๋ญ ๊ทธ๋ฆฌ๊ณ ๊ผญ ๋ฆฌ์คํผ๋ ์ด๋งฅ์ค๋ฅผ ์จ์ผํ๋ค๋ ํ๋ ์๋ ์ด์ ๋ฆฌ์คํผ๊ฐ ๋์ด์ ๋ค์ ์๊ฐํด๋ณด๋ฉด ๊ฒฐ๊ตญ ์ฝํ๋ ์๋ฆฌ์ด๊ณ , ๊ทธ๋ฅ ์ด์ ์ต์ํด์ก๊ณ ํธํด์ ์ฐ๋๊ฒ์ด์ง ๋ ์ข์๊ฒ ๋์ค๊ธฐ๋ง(?)ํ๋ค๋ฉด ๋ฆฌ์คํผ์ ์ฑ์ง๊ฐ ๋ ๋ค๋ฅธ ์์คํ ์ผ๋ก ์ด๋ํ ์๋ ์๊ฒ ์ง์.ย
--
์ด ๋ฉ์ผ์ Google ๊ทธ๋ฃน์ค 'Korean Clojure User Group' ๊ทธ๋ฃน์ ๊ฐ์ ํ ๋ถ๋ค์๊ฒ ์ ์ก๋๋ ๋ฉ์์ง์ ๋๋ค.
์ด ๊ทธ๋ฃน์์ ํํดํ๊ณ ๋ ์ด์ ์ด๋ฉ์ผ์ ๋ฐ์ง ์์ผ๋ ค๋ฉด clojure-kr+...@googlegroups.com์ ์ด๋ฉ์ผ์ ๋ณด๋ด์ธ์.
์ด ๊ทธ๋ฃน์ ๊ฒ์ํ๋ ค๋ฉด cloju...@googlegroups.com์ ์ด๋ฉ์ผ์ ๋ณด๋ด์ธ์.
์น์์ ์ด ํ ๋ก ์ ๋ณด๋ ค๋ฉด https://groups.google.com/d/msgid/clojure-kr/7f599ffe-6ac1-4364-9115-06ba15eeb003%40googlegroups.com์(๋ฅผ) ๋ฐฉ๋ฌธํ์ธ์.

์น์์ ์ด ํ ๋ก ์ ๋ณด๋ ค๋ฉด https://groups.google.com/d/msgid/clojure-kr/CAAseqws-v99VsEur9uq7SG29wLnD5CTykjevYgjJE-KdtffVrQ%40mail.gmail.com์(๋ฅผ) ๋ฐฉ๋ฌธํ์ธ์.
์์ JAVA & Spring ์ฝ๋ฉ๋ ๊ทธ๋ ๊ณ Clojure ๋ ๊ทธ๋ ๊ณ ์ด์ ์ ๋ง IntellJ ๋ก ์ด์ฌ ๊ฐ์ผํ ๋ฏ ํ๋ค์.
Emacs ๋.. ์ ๊ฒ ์๋๋ก๋ฉ๋ค๊ธ์ด๋ผ์ GG
์น์์ ์ด ํ ๋ก ์ ๋ณด๋ ค๋ฉด https://groups.google.com/d/msgid/clojure-kr/CAFTWaQU6JTUvrePt4aSUsePj_%3D9jFzTQY8QHQ1fa%3DX%2BBbyGhAg%40mail.gmail.com์(๋ฅผ) ๋ฐฉ๋ฌธํ์ธ์.
์น์์ ์ด ํ ๋ก ์ ๋ณด๋ ค๋ฉด https://groups.google.com/d/msgid/clojure-kr/800725d5-e3a3-4973-8ef2-185f8bc5db96%40googlegroups.com์(๋ฅผ) ๋ฐฉ๋ฌธํ์ธ์.
|
์ด ์ด๋ฉ์ผ์ Avast ์ํฐ๋ฐ์ด๋ฌ์ค ์ํํธ์จ์ด๋ก ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ๋ฅผ ์๋ฃํ์ต๋๋ค.
|