개발환경 8

GCP Jupyter Lab 실시간 협업

Google Cloud Platform에서 생성한 VM 인스턴스에서 실행한 Jupyter 외부에서 접속하기 Jupyter lab에서는 아직 실험(experimental) 단계이지만 다른 사람의 커서 위치와 수정 결과 및 실행 결과를 실시간으로 공유할 수 있는 기능을 지원합니다. 이러한 기능을 개인이 사용하는 로컬 컴퓨터에서 사용하기 위해서는 공유기 설정을 통한 포트 개방의 방법이 있고 ngrok이라고 하는 서비스를 이용하는 방법이 있습니다. 2022.04.28 - [개발환경] - Jupyter lab 실시간 협업 with ngrok 개인 컴퓨터가 아닌 GCP에서 생성한 VM 인스턴스에서 Jupyter lab을 사용하기 위해서는 몇가지 설정이 필요합니다. 1. GCP 방화벽 설정 VPC 네트워크 메뉴를 통..

개발환경 2022.06.12

클라우드 플랫폼 무료 티어 비교

Cloud Platform Free-tier 비교 (v2022.05.01) 평생 무료, 1년 무료 여러 클라우드 서비스 회사들이 자사의 서비스를 체험할 수 있도록 무료 티어를 제공하고 있습니다. 다만 특정 기간 동안 무료로 사용할 수 있는 서비스가 있고, 기간의 제한 없이 계속 무료로 사용할 수 있는 서비스가 있습니다. 구글과 오라클의 경우 평생동안 무료로 사용할 수 있는 VM을 제공하고, 아마존이나 네이버의 경우에는 1년 동안 사용 가능한 무료 VM을 제공합니다. Google GCP Oracle Cloud Amazon EC2 네이버 Cloud Platform 무료 사용 VM 종류 e2-micro E2.1.Micro t2.micro Micro-g1 무료 사용 VM 개수 1개/월 2개 1개 1개 CPU 2..

개발환경 2022.05.01

Jupyter lab 실시간 협업 with ngrok

Google Colab은 구글 드라이브에 저장된 Jupyter notebook을 실행할 수 있는 환경을 제공합니다. 구글 드라이브에 있는 파일을 수정하기에 구글 문서와 같이 실시간 협업이 가능한 줄 알았지만, 코드 수정이나 각 셀의 실행결과가 실시간으로 반영되지는 않습니다. 의견을 나누면서 빠르게 코드 작성하기를 원하는 경우에는 실시간으로 협업하는 기능을 필요로 합니다. 이런 기능을 지원하는 서비스들이 존재하지만 유료로 제공됩니다. Jupyterlab에서는 아직 실험적 기능이지만 실시간 협업을 지원합니다. Juypterlab을 실행할 때에 --collaborative 를 추가해주면 됩니다. 같은 네트워크에 속해있는 경우 Jupyterlab을 실행한 호스트 주소로 바로 접속하면 되지만, 서로 다른 네트워크..

개발환경 2022.04.28

무료 GPU 사용 가능 Jupyter Notebook 서비스

딥러닝 관련 프로젝트를 진행하려면 GPU는 사실상 필수입니다. 최근 암호화폐로 인해 그래픽카드를 구하기가 힘들어, 이미 가지고 계시던 분이 아니라면 로컬에서는 딥러닝 프로젝트를 진행하기가 힘든 상황입니다. 그렇기 때문에 웹에서 실행하여 GPU를 지원해주는 Google Colab에 대한 관심이 커지고 있습니다. 다만 Google Colab의 경우 사용자가 많아져서인지 사용 중이지 않은 세션을 정리하기 위해 주기적으로 사용자의 조작을 필요로 합니다. 최근 구름 IDE에서 GPU 컨테이너를 베타 형태로 무료 제공(2022년 5월 기준)을 시작하여, Google Colab의 대체제로 사용할 수 있는 서비스에 대해 알아보았습니다. Google Colab Goorm IDE Paperspace Gradient 저장공..

개발환경 2022.04.23

웹서비스 배포를 위한 플랫폼

웹서비스를 배포하는 방법에는 클라우드 플랫폼에서 제공하는 VM을 사용하여 서버를 구성하는 방법이 있고, Heroku와 같이 복잡한 서버 구성 과정 없이 간편하게 서비스를 배포하는 방법이 있습니다. 또 딥러닝 모델을 사용하는 경우 Ainize와 같은 서비스를 사용할 수 있습니다. 클라우드 플랫폼 클라우드 플랫폼을 사용하는 경우, 구글의 GCP, 오라클의 OCI, 아마존의 AWS 등 여러 회사 중에서 선택하여 사용하면 됩니다. 이 중 일부 회사에서는 무료 서비스를 제공하고 있으므로 본격적인 사용 이전에 체험이 가능합니다. 2022.05.01 - [개발환경] - 클라우드 플랫폼 무료 티어 비교 웹서비스 배포 Heroku의 경우 클라우드 플랫폼을 사용하는 경우와 다르게 서버를 위한 복잡한 과정이 필요하지 않습니..

개발환경 2022.04.23

Python Jupyter Notebook 매직 커맨드 모음

Jupyter Notebook Magic Command 모음 Jupyter Notebook은 웹 기반의 Python 실행 환경입니다. 이미지와 HTML과 같은 요소들을 출력할 수 있으며 코드와 문서를 하나의 파일로 작성하여 배포할 수 있습니다. 이러한 Jupyter Notebook(이하 Jupyter)에는 magic command라고 하는 기능이 존재합니다. 명령어는 특정 동작을 수행하기 위해 필요한 코드를 생략할 수 있도록 만들어 주거나, 코드 블록의 실행 시간을 측정하여 출력하는 등 편리한 기능들을 포함하고 있습니다. 아래와 같이 %lsmagic이라는 명령어를 입력하면 사용 가능한 magic command들이 출력됩니다. 이 중에서 몇 가지를 살펴보겠습니다. 1. %time, %timeit, %%ti..

개발환경 2022.02.17

[VScode] 추천 확장 모음

Visual Studio Code 추천 확장 모음 VScode는 다양한 확장 기능들과 테마들을 Marketplace에서 제공하고 있어 쉽게 설치하여 관리가 가능합니다. 많은 프로그래밍 언어에 대한 공식 지원 확장도 Microsoft에 의해 제작되어 편하게 사용할 수 있습니다. 추천 테마 VScode를 사용하면서 마음에 드는 테마가 없어 계속 새로운 테마를 찾아다녔지만, 이 테마를 만난 이후로는 몇 년 동안 변함없이 사용하고 있습니다. 개인적으로 VScode 뿐만 아니라 다른 프로그램에서도 이 테마를 적용해서 사용합니다. Dracula Official 추천 확장 indent-rainbow 프로그래밍 언어 중에는 Python과 같이 들여 쓰기(indentation)에 민감한 언어들이 존재합니다. 그래서 들여..

개발환경 2022.02.14

[VScode] 단축키 모음

Visual Studio Code 단축키 모음 주요 단축키 Ctrl + F2: 일치하는 모든 단어를 선택합니다. Ctrl + Shift + L: 일치하는 모든 단어를 선택합니다. Ctrl + D: 현재 항목과 일치하는 단어를 선택합니다. 단축키를 입력할 때마다 일치하는 항목이 하나씩 추가적으로 선택됩니다. Ctrl + U: 다른 단축키를 사용하여 선택한 항목을 하나씩 취소합니다. 예를 들어, Ctrl + D로 선택한 항목들 중 마지막 항목의 선택을 해제합니다. Shift + Alt + Up / Shift + Alt + Down: 커서가 위치한 줄의 위 또는 아래에 동일한 내용을 추가합니다. Alt + Up / Alt + Down: 커서가 위치한 문장과 위 또는 아래의 문장의 순서를 교체합니다. Ctrl ..

개발환경 2022.02.13