원래는 구름 IDE라는 웹서버를 이용하고 있었다.
언제어디서나 인터넷만 되면 이용가능하고 성능도 그럭저럭 나쁘지는 않았다.
다만 외부파일을 넣기가 매우 불편했고 주피터 노트북 서버에 접속하는 시간이 너무 오래걸렸다. (1~2분정도)
코딩하는 목적이 그냥 웹에서 데이터를 수집하고 분석하는거였으면 이정도로도 충분했다.
하지만 내가 코딩하는 목표는 대기압 플라즈마의 전류전압 측정치를 분석하고
전자밀도라던가 에너지라던가 커패시턴스와 같은 정보를 계산하고
측정치와 계산값들의 상관관계를 분석해 머신러닝으로 대기압 플라즈마를 전기적 진단방법으로 진단 및 예측을 하는 시스템을 개발하는 거였다.
내가 원하는 개발 환경의 조건은 다음과 같았다.
1. 파이썬과 데이터분석을 위한 라이브러리를 사용할 수 있어야했다.
2. 언제 어디서나 코드수정과 개발이 가능해야 했다
(군대를 가야했기에 어떤 피씨방이든 개발 할 수 있으면 좋겠다는 생각을 했다)
3. 파일의 입출력이 자유로워야했다.
(측정 데이터의 용량이 컸기 때문에 외장하드에 저장된 데이터를 자유롭게 사용할 수 있어야 했다)
4. 무료로 사용이 가능
(아마존의 AWS 등을 알아보다가 포기한 이유가 되었다)
5. GUI 조작이 가능해야한다
(쉘 스크립트 환경은 코드를 짜거나 할 때에는 문제가 되지 않지만 파일을 찾거나 파일경로를 추적하는데에는 정말 불편했다)
1번 조건에서 아이패드의 파이써니스타(Pythonista3)가 탈락했다. 아이패드의 파이토니스타라는 유로어플을 구매해서 사용해봤는데 지원하지 못하는 라이브러리가 존재했다. 문제는 그게 pandas였다.. 판다스없이는 데이터분석이 아주 힘들기 때문에 돈만 날리는 셈이었다.. 뭐 나중에 파이썬으로 위젯을 만들어서 자작 서비스를 만들수도 있겠지만 말이다..
2번 조건에서 노트북을 원격조작해서 코딩하는 RDP나 크롬캐스트가 탈락했다. 전기를 매우 아끼시는 아버지께서 컴퓨터를 습관적으로 끄기 때문에... 그리고 윈도우 기반의 시스템은 자동 업데이트라는 복병이 있기 때문에 언제 어떻게 엿을 먹일지 모른다. 학교 연구실의 컴퓨터를 크롬캐스트로 사용했었는데 (사양이 너무 구려서 도저히 연구용으로는 사용할 수 없었고... 사비로 노트북을 구매해 사용했다 하지만 학교내부망을 접속하기 위해선 데스크톱이 필요했기때문에...) 학교에서 정전이 일어날때마다 일을 못해서 굉장히 짜증이나고 힘들었다
3번 조건에서 구름 IDE가 탈락했다. 폴더단위로 파일을 전송할 수 없었고 그마저도 용량제한이 있어서 파일을 한번에 업로드할 수가 없었다. 게다가 작성한 코드를 내 컴퓨터로 가져오는데에도 한세월이라... 본격적인 프로젝트를 구름에서 개발했다가는 답답해서 고통받을 것 같았다.
4번 5번 조건에서 아마존 AWS나 마이크로소프트의 에저가 탈락했다. 학생이라 무료로 사용할 수는 있었지만 1년만 무료거나 용량제한 같은게 있어서 번거로워 보였고. 사실 구름 IDE랑 다른게 뭔지 모르겠다는 인상을 받았다. 본격적으로 서비스를 만들면 배포하고 데이터를 수집하는데 클라우드를 사용할 수 있겠지만.. 개발단계에서 그것도 군대에서..? 라는 생각이 들었다. 그리고 무엇보다 쉘스크립트 환경은 파일을 찾고 관리하는데 26년동안 윈도우를 사용해온 나에게는 너무 불편했다. 명령어를 치고 프로그램 설치하데에는 쉬웠지만... 파일관리는 정말... 오타하나만 있어도 찾을 수 없다고 하고... 내가 어떤 파일이 있는지도 직관적으로 알 수가 없다보니... 절레절레...
결론은 라즈베리파이4를 구매했고 (10만원 조금 넘는다... 아두이노 가격 생각했다가 깜짝 놀라버림.. 그리고 다른분들은 부디 구매하실때 전원도 함께 구매하길... 조금 욕심내면 발열을 잡을 알루미늄 케이스까지! 이건 만원정도 합니다)
라즈비안64bit 베타버전을 깔아서 코드서버, 주피터노트북, VNC를 깔았다.
코드서버와 주피터노트북을 활용해 웹에 일종의 개발용 코딩서버를 만들었으며 포트포워딩으로 외부에서도(카페 와이파이나 LTE환경) 접속이 가능하게 만들었고
VNC 서버도 포트포워딩으로 연결해서 휴대폰과 아이패드에서도 라즈베리파이를 조작하고 코딩하는데 사용할 수 있게 만들었다.
라즈베리파이를 활용하는 다양한 방법들이 블로그에 많고 그냥 따라하기만 해도 할 수 있게 친절한 글들이 많았지만...
나는 많이 헤매고 고통을 받았다...
다시 고통받지 않기위해.. 그리고 나처럼 고통받았던 사람들을 위해 군대가기 일주일 남은 지금 이 글을 연재하려고 한다.
[WSL2, 주피터랩] WSL2 우분투에서 주피터랩 실행하기 (0) | 2022.05.28 |
---|---|
[WSL2, Ubuntu] 왜 리눅스를 사용하려는거야? (1) | 2022.05.28 |
[라즈베리파이4] 아이패드로 코딩하기 위한 3가지 방법 - 3 : 주피터노트북 jupyter notebook (0) | 2021.10.01 |
[라즈베리파이4] 아이패드로 코딩하기 위한 3가지 방법 - 2 : 라즈비안 64bits 설치하기와 소소한 팁 (2) | 2021.10.01 |
VSCODE에서 파이썬 코딩하기 (with VSCODE에서 Jupyter NoteBook 실행하는 방법) (0) | 2021.02.02 |