소개
- 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: 코드검색
- Find Action
- Open Navigation
- Open Symbol
- SHIFT SHIFT!
- Navigate Back and Forth
- Quick Documentation
- View Parameter Info
Pycharm 기능 맛만 보기 #2: 코드작성
Pycharm 기능 맛만 보기 #3: 리팩토링
- Rename
- 파라미터 편집
- override
- Auto Run Test