일단 질문을 먼저 적을께요: PyCharm을 주력으로 쓰시는 분 중, 어떤 기능에 꽂혀서

 
Kenial Lee

일단 질문을 먼저 적을께요: PyCharm을 주력으로 쓰시는 분 중, 어떤 기능에 꽂혀서 PyCharm을 쓰시는지 알려주실 수 있을까요?

PyCharm을 제대로 사용해볼까 아직도 고민중인 케냘입니다(…)

처음에는 Eclipse + PyDev를 쓰다가 현재는 Sublime Text를 주력으로 쓰고 있습니다. 맥을 쓰고 있지만, 실제 개발 머신은 VirtualBox로 vm을 생성한 다음, 맥에서 vm의 파일 시스템을 마운트해서 사용하고 있습니다. (조금 번거롭지만, vm을 실제 배포 환경과 동일하게 만들기 위해서 이렇게 했습니다)

PyCharm을 세팅해보고 remote interpreter/debugging을 설정해서 원격으로 dev server를 띄우고 디버깅 하는 등 이것저것 주물럭거려 보았습니다만, 복잡한 step을 따라가며 디버깅해야 할 로직이 없어서 그런지 아직 확 와닿진 않네요. 자동 완성 기능은 확실히 Sublime의 바보같은(…) 기능 보다는 훨씬 좋습니다만 역시 크게 아쉬운 건 아니고…

혹시 비슷한 경로로 PyCharm으로 옮겨간 분이 계시면 옮겨간 이유 혹은 어떤 기능이 맘에 들었다, 는 내용을 공유해 주시면 감사하겠습니다.

  • Jung Kyoung Up
    Jung Kyoung Up

    발표했던 마케팅 약을 팔아봅니다.. 랄까 이미 보셨을지도. 그냥 뭔가 덜 해도 되서 씁니다.

    Hyunil Kim

    Django 연동 최강이죠..

    Kenial Lee

    Kyoung Up@ 역시 최대의 셀링 포인트는 날로 먹는 거군요(…)

    박영록

    IDE의 기능들은 뭔가를 자동으로 해서 날로 먹게 해준다는 개념이라기보다, 프로그래머 머리 속의 컨텍스트 스위칭 비용을 줄여준다는 관점으로 보는 게 좋습니다. 이를테면 import를 수동으로 하게 되면 현재 코딩하던 컨텍스트를 뇌의 스택에 푸시한 다음, import로 컨텍스트 스위칭을 해서 정확한 이름을 찾고, from을 쓸지 모듈을 임포트할지 결정한 다음 import 문을 쓰고 돌아오게 되는데, 이걸 자동으로 하게 되면 컨텍스트 스위칭이 제거됩니다.

    인자를 추천해주는 기능도 비슷하죠. 문서나 소스코드를 찾아들어가는 대신 메서드의 인자를 추천 받게 되면 컨텍스트 스위칭 비용을 절약합니다. 함수를 사용할 곳에서 먼저 이름을 짓고 alt-enter를 눌러서 함수를 만든다거나 하는 것도 현재 컨텍스트를 마무리 짓고 디테일로 들어갈 수 있게 해줍니다.

    반면, django project를 생성해준다거, 서버를 띄워준다거나 하는 건 django-admin startproject나 manage.py runserver에 비해 타이핑 수고는 덜지만 프로그래머의 머리에 별다른 이득을 주는 것은 아니기 때문에 핵심적인 장점이라고 하긴 어렵죠.

    리팩토링은 조금 다른 게, 딱히 머리의 리소스를 많이 아껴주는 것은 아니지만, 줄여주는 노가다의 양의 워낙 크기 때문에 꽤 중요한 장점이구요. 디버깅을 시각적으로 할 수 있다는 것도 command line에서 디버깅하는 것보다 월등히 유리하죠.

    그런데, 이런 IDE 고유의 장점에 있어서는 사실 eclipse의 pydev가 조금 더 낫습니다. PyCharm은 단순 노가다를 줄여주는 쪽의 기능이 더 많죠. 그럼에도 불구하고 제가 pydev를 버리고 PyCharm으로 온 것은 단순히 PyCharm이 메모리도 적게 먹고 더 빠르기 때문이죠;;

    여튼, 포인트는 프로그래머 뇌의 리소스를 절약해서 그 리소스를 비즈니스 로직에 쓰게 만드는 것인 듯.

    Hwan Kim

    일단 함수를 왔다갔다 shortcut으로 왔다 갔다 할 수 있기때문에 씁니다.

    Kenial Lee

    박영록@ 아… 경업님 슬라이드에 있던 문구 보고 농담으로 적은건데; 물론 저도 IDE가 개발자체를 날로 먹게 해준다고는 생각하지 않습니다 🙂

    역시 pydev가 버려지는 이유는 느리고 무겁기 때문이군요(…)

    요즘 Sublime 쓰면서 부쩍 리팩토링 기능이 아쉽긴 했는데 영록님 댓글을 보니 동하는군요. 일단 trial 버전 세팅은 해 놓았으니 Sublime하고 같이 굴려봐야겠습니다.

    Kenial Lee

    Hwan Kim@ 그건 Sublime에서도 아쉬운대로 커버가 되긴 하거든요. 태생이 텍스트 에디터다보니 반응속도도 빠릅니다.

    Hwan Kim

    Kenial Sookyum Lee Sublime에 따로 또 설정을 해야하니 그냥 한번에 다 되는Pycharm을 위해… 맥북프로 15 고급형으로 샀습니다. 하하

    Hyunil Kim

    저는 Vagrant와의 연동, Django와의 연동 (manage.py 커맨드를 쇼트컷으로…) 등이 제일 좋더군요.

    임대림

    pycharm command manage.py shell 에서 함수 자동완성 기능
    html 코딩시 style 속성값도 자동완성 되지만(이것은 이클립스도됨) 사용자 정의 html의 class 도 자동완성됨(bootstrap class를 사용할때 값이 자동완성 되어서 좋음),
    이쁜 코드 하이라이트 기능, 자동 virtualenv 기능, 디비 사용시 설정 디비 jdbc 파일을 자동으로 다운 받아 설치 하여,
    jdbc 찾아 고생하지 않아도 됨. pydev 보다 훨신 좋다고 생각됩니다.

    Sangwon Lee

    저는 라인 트레이스 디버깅이 되기때문에 씁니다.

    Jay Kim

    django 연동시 굉장히 편리합니다. 이클립스에 비해 가볍구요. 자동으로 파이썬 코드컨벤션 지원해줘서 실시간으로 잘못된 부분 고칠 수 있어서 좋습니다.

    Kenial Lee

    Hwan Kim@ 조금 다른 이야기입니다만, 저는 3대의 PC(윈도우를 포함한)에서 Sublime 설정을 동기화해서 쓰고 있거든요. 한 곳에서 Sublime 패키지를 잘 구성해 놓으면 나머지 PC에 설정과 패키지 설치까지 모두 동기화됩니다 🙂

    혹시 필요하시면 https://sublime.wbond.net/docs/syncing 을 참고하세요.

    * 뭐, PyCharm에도 비슷한 기능이 있겠지만요

Advertisements