<p>cider-jack-in-clj&amp;cljs ๋ฌธ์ œ</p>

์— ๋งŒ๋“  2018๋…„ 11์›” 01์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: clojure-emacs/cider

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

clj ๋ฐ cljs repls ๋ชจ๋‘ ์ž…๋ ฅ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํ–‰๋™

clj repl์€ ๋ชจ๋“  ๋ช…๋ น์—์„œ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. [== ] "์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ค„"์ด ๋ฌด๊ธฐํ•œ ์‹คํ–‰ ์ค‘์ด๋ฉฐ ์ถœ๋ ฅ์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„

  1. ์ด๋งฅ์Šค ์—ด๊ธฐ
  2. ํ”„๋กœ์ ํŠธ ํŒŒ์ผ ์—ด๊ธฐ
  3. cider-jack-in-clj&cljs
  4. clj repl๋กœ ์ „ํ™˜
  5. ๋ช…๋ น์„ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค(์˜ˆ: (+ 1 1)
  6. ์ถœ๋ ฅ์ด ์ƒ์„ฑ๋˜์ง€ ์•Š๊ณ  "์ง„ํ–‰๋ฅ  ํ‘œ์‹œ์ค„"์ด ๋ฌด๊ธฐํ•œ ํšŒ์ „ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค cider-jack-in ๋Œ€์‹  cider-jack-in-clj&cljs

์ƒํ–ฅ:

  1. cider-jack-in-clj
  2. repl์€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  3. cider-jack-in-cljs
  4. cljs repl์ด ์‹œ์ž‘๋œ ํ›„ clj repl์ด ์ž‘๋™์„ ๋ฉˆ์ถค

UPD2:

  1. cider-jack-in-clj
  2. repl์€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  3. cider-connect-sibling-clojurescript
  4. cljs repl์ด ์‹œ์ž‘๋œ ํ›„ clj repl์ด ์ž‘๋™์„ ๋ฉˆ์ถค

UPD3:

cljs repl ์œ ํ˜•์œผ๋กœ figwheel ๋Œ€์‹  figwheel-main ๋กœ ์ „ํ™˜์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. Figwheel-main is not available. Please check [cider docs link] ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

UPD4:

figwheel-main ์„(๋ฅผ) ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. cljs repl์ด ์‹œ์ž‘๋˜๋Š” ์ฆ‰์‹œ clj repl์ด ์ค‘๋‹จ๋˜๋Š” ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์ง€์†๋ฉ๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ ๋ฐ ๋ฒ„์ „ ์ •๋ณด

CIDER ๋ฒ„์ „ ์ •๋ณด

 CIDER 0.19.0snapshot (package: 20181030.2222), nREPL 0.2.12
 Clojure 1.9.0, Java 1.8.0_20

๋ ˆ์ธ/๋ถ€ํŠธ ๋ฒ„์ „

Java 1.8.0_20 Java HotSpot(TM) 64๋น„ํŠธ ์„œ๋ฒ„ VM์˜ Leiningen 2.8.1

์ด๋งฅ์Šค ๋ฒ„์ „

GNU ์ด๋งฅ์Šค 26.1

์šด์˜ ์ฒด์ œ

๋งฅOS ๋ชจํ•˜๋น„ 10.14.1

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@arichiardi ๊ฐ€ ์‹œ๋„ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด Spacemacs๋ผ๋Š” ๊ฒƒ์„ ์–ธ๊ธ‰ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  7 ๋Œ“๊ธ€

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€

fighweel์—์„œ๋„ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์–ด๋”˜๊ฐ€์— ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚  ๋•Œ๊นŒ์ง€ ๋‚˜๋Š” ์ด๊ฒƒ์„ ๊ณ ์น  ํฌ๋ง์ด ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@achikin https://github.com/bhauman/figwheel-main/blob/master/README.md#try -figwheel-with-flappy-bird๋กœ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ์ง€๋‚œ ์ฃผ๋ง์— ์‚ฌ์ด๋‹ค ๋งˆ์Šคํ„ฐ์™€ ํ•จ๊ป˜ ๊ฒฐํ•จ ์—†์ด ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.
๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ์ด์ ์€ $HOME/.lein/profile.clj

@arichiardi ๊ฐ€ ์‹œ๋„ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด Spacemacs๋ผ๋Š” ๊ฒƒ์„ ์–ธ๊ธ‰ํ•˜๋Š” ๊ฒƒ์„ ์žŠ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@arichiardi Spacemacs๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ๋ชจ๋“  ๊ฒƒ์ด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋นŒ๋“œ ยฏ \ _ (ใƒ„) _ / ยฏ

๋‚˜๋Š” ๋ฐฉ๊ธˆ์ด ๋ฌธ์ œ๋„ ์ณค๋‹ค. ClojureScript๊ฐ€ ๋ณด๋ฅ˜ ์ƒํƒœ์— ์žˆ๋Š” ๋™์•ˆ Clojure REPL์ด ์ค‘๋‹จ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์‚ฌ์ด๋‹ค์˜ ์‚ฌ์šฉํ•˜๊ณ  connect ๋ณด๋‹ค๋Š” jack-in , ๋‚ด _project.clj_ ํŒŒ์ผ์ด์žˆ๋Š” figwheel-main , cider/piggieback ๋ฐ nrepl ์˜์กด์„ฑ์˜๋ฅผ cider/cider-nrepl ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฐ cider.piggieback/wrap-cljs-repl ๊ตฌ์„ฑ. ๋‚˜๋Š” ๋˜ํ•œ figwheel-main์˜ ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ clj ์•ฑ์—์„œ cljs ์•ฑ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค!

์ด๊ฒƒ์€ cljs repl์ด ๋ธŒ๋ผ์šฐ์ €์™€์˜ ์—ฐ๊ฒฐ์„ ๋ณด๋ฅ˜ํ•˜๊ณ , ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•ฑ ์„œ๋ฒ„๊ฐ€ ์˜จ๋ผ์ธ ์ƒํƒœ๊ฐ€ ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ , cljs๊ฐ€ ์—ฐ๊ฒฐ์„ ๋ณด๋ฅ˜ํ•˜๋Š” ๋™์•ˆ ์•ฑ ์„œ๋ฒ„์˜ repl์ด ์ค‘๋‹จ๋˜๋Š” ๊ต์ฐฉ ์ƒํƒœ๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค.

๋‹คํ–‰ํžˆ๋„ figwheel-main์˜ ๊ธฐ๋ณธ ์ธ๋ฑ์Šค๋Š” REPL์—๋„ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ฐ๊ฒฐ URL์˜ ๋„๋ฉ”์ธ ๋ถ€๋ถ„์„ ์—ด๋ฉด ๋‘ REPL์˜ ์ž ๊ธˆ์ด ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•Œ ์ˆ˜ ์—†๋Š” ์ด์œ ๋กœ clj ๋ฐ cljs REPL์€ ํ˜„์žฌ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์Šค์™‘๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋‹ค์‹œ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

(Spacemacs๋ฅผ ๋‹ค์‹œ ์„ค์น˜ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค!)

์ด์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰