간단히 코드 돌려보고자 할 때 어떤 방법을 사용하시나요?

307 views
Skip to first unread message

Jooyung Han

unread,
Sep 11, 2015, 9:18:56 AM9/11/15
to Korean Clojure User Group
요즘 꾸준하게 매일 조금씩 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 등을 미리 다 띄워놓고 언제든지 스위치해서 하는게 제일인가 싶기도 합니다.

다른 분들은 어떤 방법을 사용하시나요? 초보를 위해 좋은 팁 공유 부탁드립니다.


­양완수(helly) [메이플TF]

unread,
Sep 11, 2015, 9:37:59 AM9/11/15
to cloju...@googlegroups.com

Cursive 란게 있더군요. Intellij plugin 입니다.
https://cursiveclojure.com

김만명님이 정리해주신 다음 url 도 첨부해요.

http://manmyung.github.io/posts/2015-03-17-post.html

2015. 9. 11. 오후 10:19에 "Jooyung Han" <jooyu...@gmail.com>님이 작성:
--
이 메일은 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을(를) 방문하세요.

­양완수(helly) [메이플TF]

unread,
Sep 11, 2015, 9:39:08 AM9/11/15
to cloju...@googlegroups.com

생각해보니 프로젝트 가 아니면 ....

2015. 9. 11. 오후 10:37에 "­양완수(helly) [메이플TF]" <yang...@coupang.com>님이 작성:
Message has been deleted

박상규

unread,
Sep 12, 2015, 1:45:49 AM9/12/15
to cloju...@googlegroups.com


2015년 9월 11일 오후 10:18, Jooyung Han <jooyu...@gmail.com>님이 작성:

요즘 꾸준하게 매일 조금씩 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 띄우는게 여전히 조금 무거운 느낌입니다. 
(맥에서는 그나마 조금 나은데, 윈도에서 이맥스는 처음 실행할 때 더 느린것 같아요)
바로 뭔가 타이핑하고 결과 보고 .. 하려고 할때는 좀 ..

이맥스는 훌륭한 툴이기는 하나 초심자에게는 거의 넘사벽 수준의 러닝 커브를 자랑한다는...
처음에 클로저 편집기가 별로 없을 때, 클로저는 리스퍼처럼 이맥스로 해야한다고 들은 초심자들 중에
이맥스의 넘사벽을 넘지 못해 포기한 사람들 종종 있었습니다.

최근에야 Light Table이나 IntelliJ+Cursive가 나와서 그런 일은 없어 다행입니다.

이맥스야 천천히 익히면 프로급으로 쓸 수 있겠지만...

최근에는 IntelliJ+Cursive 사용이 부쩍 늘었더군요.
IntelliJ+Cursive의 리팩토링 기능이 버전별 소스 비교 기능은 이맥스 보다는 훨씬 낳은 듯 합니다. ^^;
(최근에 Cider에 리팩토링과 코드 칼라링 기능이 들어갔다는 얘기는 들었었는데, 제가 이맥스를 쓰지 않아 
정확히 기능이 IntelliJ+Cursive와 비교를 못하겠네요.)

uncle bob이나 David Nolen도 최근 동영상에서는 이맥스 대신 IntelliJ+Cursive 쓰는 것 같더군요...


3. LightTable instarepl
코드를 작성하는 중에도 인라인으로 실행 트레이스를 보여주는 건 매우 파워풀한 것 같습니다.
단축키로 문서를 열어본다든지 자동완성이라든지.. 등등도 좋구요.
다만 중간에 가끔씩 먹통이 되기도 하고, 역시나 instarepl을 띄우는 게 느립니다. ㅠ.ㅠ  
안정성/성능 등에 조금 문제가 있는 것 같아요.

아래 링크가 도움이 되면 좋겠네요. ^^;

[Light Table이 맥북에서 느려지는 현상 대처 방법] :

저는 Light Table의 Intrarepl을 항상 켜놓고 씁니다.
말씀하신대로 코드 바로 옆에 지역 변수 내용이나 실행 결과 내용을 보여주는 그 강력한 기능은 정말 막강하죠.
근데 코드가 점점 많아지면 점점 지저분해져서 간단하게 실행결과만 지우는 단축키 등을 설정해 놓고 쓰죠. ^^;
 
4. tryclj
이게 띄우기는 제일 편한 것 같아요. 로컬보다 리모트라니 -.-;;; 
(물론 repl이어서 상호작용성에는 똑같은 단점이 있다는..)

이것 저것 느린걸 보면 제가 뭔가를 잘못 설정하고 쓰는 것이든가, 제가 참을성이 부족하든가 둘 중 하난가 싶기도 하네요. ^^;
그냥 repl하나, emacs하나, lighttable 등을 미리 다 띄워놓고 언제든지 스위치해서 하는게 제일인가 싶기도 합니다.

다른 분들은 어떤 방법을 사용하시나요? 초보를 위해 좋은 팁 공유 부탁드립니다.


Jooyung Han

unread,
Sep 12, 2015, 1:53:55 AM9/12/15
to Korean Clojure User Group
이맥스 데몬 사용법 + bool 툴링(?) 은 따로 더 살펴봐야겠어요 :-) 감사합니다.


2015년 9월 12일 토요일 오전 12시 37분 48초 UTC+9, aJchemist 님의 말:
저는 emacs 하나만 씁니다. 다른것은 이맥스를 포기하면서 써볼만큼 매력적이지 못하더군요. 게다가 cider나 clojure-mode는 저도 contribution을 가끔씩 하기 때문에 cider 환경에 대해서 자신감도 있습니다. 

일단 emacs는 daemon으로 쓰셔야합니다.

emacs --daemon --debug-init
emacsclient -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 이내로 돼야된다고 생각합니다.

한 이맥스 헤비유저의 약파는 글이었습니다.

Jooyung Han

unread,
Sep 12, 2015, 1:57:01 AM9/12/15
to Korean Clojure User Group
저는 얼마전에 Haskell을 하면서 어떤 이맥스매니아가 추천해줘서 이맥스를 사용해보고 있는데 역시 쉽지 않네요. 암튼 꾸역꾸역 해보는 중입니다. ㅎㅎ

말씀처럼 클로져 컨퍼런스발표 동영상들 보면 역시 IntelliJ + Cursive 조합이 눈에 많이 띄더라구요. 예전에는 거의 이맥스 위주였던 거 같은데 말이죠. 근데 재밌는건 IntelliJ + Cursive 조합인데 화면은 마치 이맥스 처럼 보이더라구요 ㅎㅎ

LightTable은 뭔가가 조금 아쉬운데.. 그게 뭔지 ^^ 그래도 알려주신 느려지는 현상에 대비하는 팁은 살펴봐야겠네요 감사합니다.

2015년 9월 12일 토요일 오후 2시 45분 49초 UTC+9, 구르마 님의 말:

aJchemist

unread,
Sep 12, 2015, 2:51:26 AM9/12/15
to Korean Clojure User Group
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에서 처리하는게 맞습니다. 이맥스 패키지 하나가 오히려 이 모든걸 다 처리한다면 개발을 잘못하고 있는셈이겠죠.

마지막으로 에디터의 선택은 결국 마지막에는 취향문제더군요. 전 에디터 플레임이 일어나면 일단 이맥스 가지고 트롤링(?) 혹 약장사를 하다가 결론은 별거 없다로 끝나곤 합니다 ㅋㅋ 뭐 그리고 꼭 리스퍼는 이맥스를 써야한다는 프레임도 이제 리스퍼가 되어서 다시 생각해보면 결국 약파는 소리이고, 그냥 이제 익숙해졌고 편해서 쓰는것이지 더 좋은게 나오기만(?)한다면 리스퍼의 성지가 또 다른 시스템으로 이동할수도 있겠지요. 

박상규

unread,
Sep 12, 2015, 4:25:17 AM9/12/15
to cloju...@googlegroups.com


2015년 9월 12일 오후 3:51, aJchemist <vachi...@gmail.com>님이 작성:

IntelliJ+Cursive의 리팩토링 기능이 버전별 소스 비교 기능은 이맥스 보다는 훨씬 낳은 듯 합니다. ^^;
(최근에 Cider에 리팩토링과 코드 칼라링 기능이 들어갔다는 얘기는 들었었는데, 제가 이맥스를 쓰지 않아 
정확히 기능이 IntelliJ+Cursive와 비교를 못하겠네요.)

버전별 소스비교 기능이 어떤거죠? 혹 git과 같은 scm 시스템으로 관리하는 소스트리상에서 소스의 diffing 같은 기능을 말하신거면 이맥스에는 magit이란 녀석이 있습니다. (단연 최강의 scm(git)의 최강의 UI/UX를 전해주죠 ;-D ) 혹 이것을 말씀하신거면 제가 장담하건데 magit을 결코 능가하긴 쉽지 않을겁니다. 후후

혹 clojure.core 소스의 버전별 비교기능 같은것을 말하신것이라 해도 이 역시 magit등을 이용해 커스텀하면 되지 않을까 생각합니다.


아... magit이 강력한가요? 저는 않써봐서 아직 맛을 보진 못해서리...

제가 IntelliJ 영업맨은 아니지만...
암튼 IntelliJ+Cursive에서의 git 버전별 소스 비교는 일단 제 경험상으로는 상당히 좋더군요. 일단 대충 아래 그림을 보시면... 


뭐 대충 이정도인데요...

정확히 줄 및 문자 단위로 무엇이 어떻게 변했는지 좌우로 놓고 비교하기 좋게 되어 있지요.
(뭐, 이런 기능은 이미 이클립스에도 있긴 하죠. ^^;)

게다가 좌우 화살표키를 누르면 내가 작업중은 파일들의 변화를 손쉽게 이동해 가면서 확인할 수 있구요.

어떤 버젼으로 비교할 것인가도 GUI 상으로 아주 쉽게 선택하고 클릭하면 직관적인 작업이 가능하구요. 이건 브랜치별 비교도 마찬가지입니다.

대충 적어보자면 이정도인데요...

뭐 어떤 분들은 특히 Local History기능을 선호하시더군요. 이건 내가 특별히 커밋을 하지 않아도 IntelliJ가 자동으로 소스 코드의 이력을 로컬에 기록하고 있어서 내가 어떻게 편집했다고 잘못될 때 거의 분단위로 이력 비교가 가능합니다.
 
그리고 코드 칼라링나 clojure coding refactoring등은 cider에서 구지 다뤄야하는 주제는 아닙니다. 오히려 코드칼라링(이맥스 컨텍스트로 말하면 font-lock)은 clojure-mode에서 구현해야하는 부분이고, 추가적인 let안에 로컬변수등을 구분해주는 flash effect는 이맥스 코어 번들 라이브러리인 hightlight.el에서 처리하는게 맞습니다. 이맥스 패키지 하나가 오히려 이 모든걸 다 처리한다면 개발을 잘못하고 있는셈이겠죠.

그렇군요. cider의 역할이 따로 있겠군요. 

제가 뭔가 잘못 파악한 듯요...이맥스를 잘 않쓰다보니...
 

마지막으로 에디터의 선택은 결국 마지막에는 취향문제더군요. 전 에디터 플레임이 일어나면 일단 이맥스 가지고 트롤링(?) 혹 약장사를 하다가 결론은 별거 없다로 끝나곤 합니다 ㅋㅋ 뭐 그리고 꼭 리스퍼는 이맥스를 써야한다는 프레임도 이제 리스퍼가 되어서 다시 생각해보면 결국 약파는 소리이고, 그냥 이제 익숙해졌고 편해서 쓰는것이지 더 좋은게 나오기만(?)한다면 리스퍼의 성지가 또 다른 시스템으로 이동할수도 있겠지요. 

이맥스는 분명 훌륭한 툴이라는 것을 인정합니다. 만약 평생 프로그래머로서 사용할 한가지 툴을 고르라고 한다면 저도 이맥스를 고를 것 같네요. 학습 비용이 만만치 않지만 그만한 가치가 있는 툴인 것 같습니다.

하지만 이맥스에는 없는 다른 강력한 편리한 기능을 갖춘 도구가 나오면, 물론 이맥스가 그런 기능을 결국 따라잡기는 한데, 내가 지접 구현하거나 아니면 누군가 만들어 줄 때까지 기다려야 한다는 문제가 있는 것 같습니다.

그래서 저는 어느 하나의 툴만을 고집하는 것 보다는 필요하다면 좋은 것은 다 쓴다라는 개념으로다가...접근...한다고 할까요.
(뭐 이맥스 쓰시던 분들도 루비 프로그래밍시는 TextMate를 쓰신다는 얘기를 얼핏 듣기도 한 듯 하네요.^^;)

 

--
이 메일은 Google 그룹스 'Korean Clojure User Group' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 clojure-kr+...@googlegroups.com에 이메일을 보내세요.
이 그룹에 게시하려면 cloju...@googlegroups.com에 이메일을 보내세요.

박상규

unread,
Sep 12, 2015, 4:27:47 AM9/12/15
to cloju...@googlegroups.com
그림이 깨진것 같아 다시 보내드립니다. ^^;




2015년 9월 12일 오후 5:25, 박상규 <psk...@gmail.com>님이 작성:

NoviceRambo초보람보

unread,
Sep 12, 2015, 4:34:18 AM9/12/15
to cloju...@googlegroups.com
아웅 JAVA & Spring 코딩도 그렇고 Clojure 도 그렇고 이젠 정말 IntellJ 로 이사 가야할 듯 하네요.

Emacs 는.. 제겐 안드로메다급이라서 GG

2015년 9월 12일 오후 5:27, 박상규 <psk...@gmail.com>님이 작성:

박상규

unread,
Sep 12, 2015, 4:53:03 AM9/12/15
to cloju...@googlegroups.com


2015년 9월 12일 오후 5:34, NoviceRambo초보람보 <exper...@gmail.com>님이 작성:

아웅 JAVA & Spring 코딩도 그렇고 Clojure 도 그렇고 이젠 정말 IntellJ 로 이사 가야할 듯 하네요.

Emacs 는.. 제겐 안드로메다급이라서 GG

ㅋㅋ... IntelliJ... 상당히 맘에 듭니다. 마니아 층도 상당하죠.
사람들이 괜히 돈 내고 쓰는게 아닙니다.
 

aJchemist

unread,
Sep 12, 2015, 5:42:32 AM9/12/15
to Korean Clojure User Group
괜찮아보입니다.

(자 여기서부터는 트롤링 모드 ㅋㅋ 주의)

제 점수는요? 5점 만점에 후하게 2.5점 드렸습니다.

이제 별 다섯개짜리 짤방을 보여드리죠.


이것이 강려크한 emacs magit의 모습입니다. 위에서는 gui 모드로 보여드렸으니 이번에는 터미널상에서 보여드리죠.
gui 모드에서 이맥스 프레임을 여러개 띄우고 작업했다면 더 장관이겠죠? 후후후

인텔리같은 듣보잡?과는 달리 이맥스는 단순히 clojure 코딩에만 묶여있는 녀석이 아닌, 거의 모든 툴링을 하나로 통합해서 사용할 수 있죠. 갑자기 커먼리습 소스코드 히스토리를 까보고 싶을 수도 있는것이고, 혹은 자바스크립트 날코딩을 해야할 상황이 있을수도 있고, 심지어 c++ 프로젝트 역시 global과 같은 유닉스 소스분석 툴과 연계해서 메서드 트레이스도 가능합니다. 그런 모든 실시간으로 발생할 수 있는 다양한 필요에 즉각적인 사용자와의 피드백을 통해 해결이 가능합니다.

하하하 오랜만에 이맥스 트롤링을 해보는군요 ㅋㅋㅋㅋ

인텔리J도 한번 만져는 봐야겠군요.
저도 윈도에서는 visual studio를 울며겨자먹기로 사용해서, 상용 IDE의 장점들중 약간은 아쉬운 것들이 있더군요. 

박상규

unread,
Sep 12, 2015, 6:37:39 AM9/12/15
to cloju...@googlegroups.com
하하하...

이거 뭐... 그냥 사진 한 장으로 해당 기능을 다 파악할 수는 없지 싶고요... ^^;;;;;;;
하물며 점수 따위를 언급하심은 조금 성급하신 듯. ㅡㅡ;;

암튼 magit이라는 기능을 조금은 어렴풋 파악은 해 볼 듯 합니다.
하지만 그냥 사진만 봐서는 어떤 코드가 어떻게 변했다는 것인지 파악하기 어렵네요.
제가 않써봐서 잘 몰라서 그러겠지만...

인텔리제이는 2001년 부터 판매한 상당히 유명한 상용 제품입니다. 러시아의 JetBrain이라는 회사에서 만든 거죠. 
'듣보잡'이라고 표현하신 것을 보니 이쪽 소식은 영 접해 보시지 못하신 듯요...

그리고 플러그인이 많아서 정말 다양한 언어 지원되구요.
C++/Java/Scala/Haskell/Haxe/Go/Lua/Python/Ruby ....
기타 정말 편리한 플러그인들이 아주 많습니다.

그리고 작년인가는 구글에서 안드로이드용 IDE를 이클립스에서 인텔리 기반으로 바꾸었지요.
아...이맥스에서 안드로이드 개발 가능한가요?

이거 뭐...
제가 뭐 영업사원도 아니고...

그냥 본인들이 편한대로 쓰는 툴이 가장 좋은 것이고, 편한 대로 장점을 홍보하면 될 듯합니다.
물론 단점이 있다면 공손하게 사실을 확실하게 잘 제시하면서 지적하면 되겠고요.
정확히 모르겠거나 자신없으면 공손하게 물어보는 되고요.

서로 이게 되네 않되네 하며 헐뜯고, 자랑질하고, 물고 물리고 하면서... 뭐 그런 것 좀 피곤합니다.
자신의 자아만이 아니라 다른 사람의 자아도 함께 공정하게 존중해 주는 그런 성숙한 대화를 가꾸어 가면 좋겠습니다.



2015년 9월 12일 오후 6:42, aJchemist <vachi...@gmail.com>님이 작성:

aJchemist

unread,
Sep 12, 2015, 7:17:14 AM9/12/15
to Korean Clojure User Group
에고 트롤링 주의 표시를 붙였는데.. 이러시면 죄송합니다.

하하

그냥 재미로 웃자고 쓴 글이고. 다른 의도는 없습니다.

글로만 쓰니까 뉘앙스 전달이 안되서 오해가 생겼나보군요.  (원래 트롤링이 이런건데 말이죠 ㅋㅋ)

참고로 제가 아주 골수 이맥스 빠 같겠지만 또 한편으로 지독한 이맥스 까 이기도 합니다.
아마 이맥스 여기서 이맥스 까기 시작하면 날 샐지도 모릅니다 하하하

그럼 해피해킹요 

pego...@gmail.com

unread,
Sep 12, 2015, 9:24:55 AM9/12/15
to Korean Clojure User Group
저도 이맥스 쓰는데요, 이맥스 특장점은 프로그래밍이 되는 툴이라는 거죠.

예를 들어 제가 잘 사용하는 기능 중 하나가... 돌아가고 있는 서비스를 핫패치 하는 겁니다. cider-connect로 nrepl 서버를 포함시켜 논 리모트 서비스에 연결해서 핫패치 하는 것이죠. 버그가 생기면 이렇게 연결해서 로그 레벨을 바꿔서 로그가 어떻게 나오는지, 함수를 재정의 하거나 트레이스를 켜서 문제가 뭔지 보고 버그를 고치는 거죠.
이렇게 햇패치로 고친 후, 버전 컨트롤 시스템에 그 핫패치를 등록하고 새로운 버전 만들어 놓고 이미 핫패치를 적용해 놨기 때문에 재실행은 안하지만 다음에 예상치않은 재부팅등으로 재실행되면 새 버전이 돌아가게 해놉니다.

이맥스 말고 다른 것들도 이런게 쉽게 되는지는 잘 모르겠네요. 사실 이게 되게 하려면 ssh 터널도 뚫게 해야되고 그 다음에 연결해서 돌아가게 하는 거거든요

Taegyoon Kim

unread,
Sep 12, 2015, 12:42:30 PM9/12/15
to Korean Clojure User Group
간단한 것은 DrClojure를 씁니다. 제가 Clojure로 만든 Clojure IDE(라고 하기엔 좀 그렇지만)입니다.

초보를 위해 이보다 간단할 순 없을 것 같습니다. ㅋ


DrClojure Screenshot

2015년 9월 11일 금요일 오후 10시 18분 56초 UTC+9, Jooyung Han 님의 말:

CH

unread,
Sep 12, 2015, 9:12:21 PM9/12/15
to Korean Clojure User Group
아직 lein repl .. 쓰네요. 새로운 개발툴 적응이 잘 안됩니다
Living Clojure에서도 개발툴 얘기가 나오는데요. 저자도 Emacs를 쓰긴 하지만,
"Although again, Do not try to learn Emacs at the same time as a new language."
라고 합니다.
그래서 나중에 배우기로 ㅎ

Chris Kim

unread,
Sep 13, 2015, 1:49:25 AM9/13/15
to Korean Clojure User Group
안녕하세요.

이멕스를 쓰신다니 반갑네요.. 전 리습할때 이멕스를 써서 이멕스가 훨더 편한데 클로저에 오면서 강력한 경쟁자가(Cursive) 생겨서 고민입니다.
이멕스를 쓰면서 가장 불편했던게, 프로젝단위 관리가 좀 어렵고, 예를들어 1. 리팩토링이나, 2. 파일관리(클로저 프로젝트는 폴더가 여러개 생겨서 이멕스에선 관리가 어렵지 않는지..). 그다음에 3. 소스레벨 디버깅이 힘들다 입니다. 이번에 보니까 Cider에서 소스레벨 디버깅을 지원하는것 같던데 혹시 써 보셨나요?

혹시 위, 1, 2, 3 번에 대한 경험이 어떠신지 공유 부탁드려요. 특히 1, 3 번에 대한 문제가 없으면 cursive 대신 이멕스로 갈까 생각 합니다. ^^

감사합니다.

 

2015년 9월 12일 토요일 오후 6시 42분 32초 UTC+9, aJchemist 님의 말:

Jinseop Kim

unread,
Sep 13, 2015, 4:43:17 AM9/13/15
to Korean Clojure User Group
저 같은 경우,

1.
리펙토링의 경우 clj-refactor의 도움을 받기는 하지만,
대부분 multiple-cursor, wgrep, smartparent(paredit 대용)를 사용하는 편입니다. 
반복되는 일이 있으면 keyboard-macro를 사용합니다.

2.
프로젝트 파일 관리는 projectile를 사용합니다. (제가 딴소리 하는 건가요?)

3.
CIDER에서 제공하는 디버깅 기능은 이맥스 리스프의 Edebug와 사용방법이 완전이 동일합니다. 
Edebug를 사용한 적이 있어서 나름 편리하게 사용하고 있습니다.

Chris Kim

unread,
Sep 14, 2015, 12:53:40 PM9/14/15
to Korean Clojure User Group
안녕하세요.
좋은 정보 감사합니다.
당장 살펴봐야 겠네요.  ^^
이 메일은 Google 그룹스 'Korean Clojure User Group' 그룹의 주제에 가입한 분들에게 전송되는 메시지입니다.
이 주제에서 탈퇴하려면 https://groups.google.com/d/topic/clojure-kr/IKmn3QG1ojY/unsubscribe을(를) 방문하세요.
이 그룹 및 그룹의 모든 주제에서 탈퇴하려면 clojure-kr+...@googlegroups.com에 이메일을 보내세요.

이 그룹에 게시하려면 cloju...@googlegroups.com에 이메일을 보내세요.

더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.



Avast logo

이 이메일은 Avast 안티바이러스 소프트웨어로 바이러스 검사를 완료했습니다.
www.avast.com


Reply all
Reply to author
Forward
0 new messages