소개

  • IntelliJ 기준으로는 수년간 써와서 익숙함
  • 최근 aurochs 의존성을 벗어나는 케이스들이 조금 씩 생김
    • Pycharm 또한 좋을것 같아 한번 써보기로 함
  • 기존 VIM 개발 환경 대비 차이점 및 장점을 정리함

vim이 제일 좋지 않은가?

  • 개인적으로 기계의 도움을 받는것을 선호함
  • 뇌 컴파일 잘하시는분 입장에선 vim이 더 나을수도 있다고 생각함

vim 대비 pycharm이 좋은점

  • 전체 코드 색인
    • 코드 검색 빠름
    • 실시간 인터프리팅으로 에러/unimport 등을 알려줌
  • 자동 코드 포맷팅, import 최적화
  • GUI기반 로그 검색, copy & paste 편리
  • 다양한 언어 지원(k8s, bash 등)

Pycharm 로컬개발환경 구축방법

Pycharm의 Remote Interpreter 기능을 이용하여 IDE 내에서 실시간 interpreting을 하고 코드 실행은 컨테이너로 소스를 업로드 해 수행한다.

  • Virtualenv(선호되지 않음)
  • Docker
  • K8s

Docker 방식

  • PyCharm 에서 인터프리터로 Docker 선택하기만 하면됨
  • 특징점은 코드 실행시에만 잠시 컨테이너를 띄웠다가 종료하는 방식
  • 생각보다 리소스사용은 가벼움
  • 경우에 따라 로컬 이외의 통신 필요없이 개발 가능
  • K8S 방식보다 설정이 덜 번거로움

K8S 방식

  • Pod Port Forwarding + SSH Interpreter
  • 권장되는 개발 방식(실제 동작할 Pod으로 개발을 직접 수행)
  • 필요에 따라 직접 pod 들어가서 추가 디버깅도 가능한 자유도
  • ACL 이슈가 있는 연계시스템 사용에 제약이 없음
  • vim과 유사하게 로컬머신은 단말기와 같은 역할
  • HW 의존성있는(ex: GPU 클러스터) 개발에도 활용가능
  • POD을 계속 띄워놓는게 장점이자 단점

Pycharm 기능 맛만 보기 #1: 코드검색

Pycharm 기능 맛만 보기 #2: 코드작성

Pycharm 기능 맛만 보기 #3: 리팩토링