안녕하세요.
최근 머신러닝과 관련해서 학습하고 연구를 하고 있는 와중에 Jupyter Notebook을 최근들어 사용하기 시작했습니다.
그런데 문득, Jupyter Notebook이 과연 뭐가 좋을까라는 의문도 같이 들게 되어 그냥 넌즈시 글을 써보겠습니다.
사실 이 글은 기존에 썼던 다른 글과는 달리 어떤 특별한 정보를 제공하는 글도 아니고 어떻게 보면 제 개인적인 소감에 가깝다고도 볼 수 있습니다. 하지만 IT 관련해서 인터넷을 검색하고 정보도 찾고 보다 보면, 단순히 정보만 막 나열하고 그러는것 보다는 IT 개발자 입장에서는 어떻게 바라보는지를 참고하는 것도 피드백이 될 수 있을 것 같다는 생각도 듭니다.
Jupyter Notebook을 잠깐이라도 써보신 분들은 아시겠지만, 웹 상에서 Python이나 R 개발을 하고 직접 결과를 볼 수 있는 아주 편리한 프로그램입니다. AWS에서도 EC2 인스턴스를 사용하여 Jupyter Notebook을 실행시킬 수 있고요.
어차피 Jupyter Notebook은 AWS에서 원격으로 사용하기보다는, 주로 클라이언트에서 그냥 Python 깔고 Notebook도 깐 다음에 사용하는 경우가 훨씬 많을 것입니다. 로컬에서도 잘 되는데 굳이 원격으로 사용할 이유가 크게 없기 때문이죠.
사실 로컬에서도 Jupyter Notebook을 쓰다보면. 딱 드는 생각은 이겁니다.
"과연 Python 개발을 위한 전용 에디터가 필요할까?"
Jupyter Notebook을 마냥 찬양하는 의미로 쓴 내용은 절대 아닙니다. 그저 단순히. Python에 최적화된 에디터를 웹에서 바로 쓰고 실행하는데 PyCharm이라던가 Eclipse라던가. 심지어 Python Shell이 무슨 필요가 있을까 싶습니다. 그저 단순하게.
그런데 여기서 AWS EC2 인스턴스는 왜 튀어나오냐.
뭐 제가 최근에 쓴 책이 AWS - Django 서적이기 때문일까요.
사실 EC2 인스턴스에서 Django 웹 개발을 하다 보면, Python Shell을 쓸 일이 많이 있습니다.
그런데 굳이 Shell을 쓸 필요도 없이. Jupyter Notebook에서 개발 코드에 대한 일부 출력 결과나 문장을 확인해도 되고.
뭐 편하지 않겠습니까.
사실 Django 웹 애플리케이션 산출물은 웹페이지이고, manage.py 파일의 스크립트를 실행시켜서 서버를 가동하는 형태이기 때문에 Jupyter Notebook에서 Django 개발환경을 직접 실행시키거나 할 수는 없을 것입니다. 하지만 개발을 위해서 테스트 코드를 실행한다거나 할 때. 그럴 때에는 Notebook도 역시 유용하게 쓰일 수 있을 것으로 전망합니다.
지금 한창 연구하고 있는 머신러닝쪽에서도 여러 방면으로 접목해서 잘 활용할 수 있으면 좋겠습니다.
'Previous (20-22) > Development' 카테고리의 다른 글
회사에서 프로그래밍 할 때 겪는 대표적인 어려움 (0) | 2020.01.17 |
---|---|
기업에서 Python 프로그램을 만들 때 참고할 사항 (0) | 2020.01.11 |
프로그램 개발을 위한 순서 (0) | 2019.07.01 |
최근에 구현한 Word Cloud (8) | 2019.06.26 |
(Python) 그래픽 이퀄라이저(Equalizer) 만들기 (0) | 2019.05.27 |