Voila
예시 https://voila-gallery.org/
voila의 원래 목적 : 대시보드. ex) R의 Shiny, python의 Dash
Notebook에서 별도의 코드 추가 없이 실행할 수 있는 점이 Voila의 강점
노트북 파일만 만들면 프로토타입은 쉽게 만들 수 있음
장점
1) Jupyter Notebook 결과를 쉽게 웹 형태로 띄울 수 있음
2) Ipywidget, Ipyleaflet 등 사용 가능
3) Jupyter Notebook의 Extension 있음(=노트북에서 바로 대시보드로 변환 가능)
4) Python, Julia, C++ 코드 지원
5) 고유한 템플릿 생성 가능
6) 너무 쉬운 러닝커브
<설치방법>
jupyter lab 쓴다는 가정하에 진행
nodejs 설치 or update
jupyter lab의 Extension 기능을 사용하기 위해 nodejs 기본적으로 설치해야함
sudo apt install nodejs
설치 중 아래와 같은 오류가 뜬다면 nodejs update 필요
ValueError: Please install nodejs 5+ and npm before continuing installation. nodejs may be installed using conda or directly from the nodejs website.
nodejs update
sudo apt install npm
node -v
버전확인
sudo npm cache clean -f
캐시삭제
sudo npm install -g n
nodejs 버전 관리 플러그인 (n) 설치
sudo n lts
nodejs의 LTS 버전 (v14.17.0) 설치 , n stable, n latest 명령어로 원하는 버전 설치 가능
출처: https://kibua20.tistory.com/184 [모바일 SW 개발자가 운영하는 블로그]
voila voila_basic.ipynb --MappingKernelManager.cull_interval=60 -- MappingKernelManager.cull_idle_timeout=300
Special Mission
pip install streamlit
Special Mission
Linux
서버에서 자주 사용하는 OS
Free, open source
안정성, 신뢰성. 유닉스라 Stability, Reliability
쉘 커맨드, 쉘 스크립
배포판
Debian, Ubuntu, Redhet, CentOS
사용 방법
VirtualBox에 Linux 설치, Docker로 설치
WSL 사용(윈도우)
Notebook에서 터미널 실행
cloud 인스턴스에서
Shell
사용자가 문자를 입력에 컴퓨터에 명령할 수 있도록 하는 프로그램
// 터미널/콘솔 : 쉘을 실행하기 위해 문자 입력을 받아 컴퓨터에 전달
sh, bash, zsh
ls | grep “vi”
ps
-현재 실행되고 있는 프로세스 출력하기curl
-Request를 테스트할 수 있는 명령어df
-현재 사용 중인 디스크 용량 확인scp
-SSH을 이용해 네트워크로 연결된 호스트 간 파일을 주고 받는 명령어nohup
-터미널 종료 후에도 계속 작업이 유지하도록 실행(백그라운드 실행),nohup으로 실행될 파일은 Permission이 755여야 함chmod
-파일의 권한을 변경하는 경우 사용Cloud
웹, 앱 서비스를 만드는 경우 확장성, 사용성, 시간/비용 등의 제약사항을 해결해주는 서비스
Computing Service(Server): 연산을 수행하는(Computing) 서비스 / 가상 컴퓨터, 서버 / CPU, Memory, GPU 등을 선택할 수 있음
Serverless Computing: Computing Service와 유사하지만, 서버 관리를 클라우드쪽에서 진행
코드를 클라우드에 제출하면, 그 코드를 가지고 서버를 실행해주는 형태
Stateless Container: Docker를 사용한 Container 기반으로 서버를 실행하는 구조
Docker Image를 업로드하면 해당 이미지 기반으로 서버를 실행해주는 형태
Object Storage: 다양한 Object를 저장할 수 있는 저장소 / API를 사용해 데이터에 접근할 수 있음
Database(RDB): 클라우드에서 제공하는 Database / 웹, 앱서비스와 데이터베이스가 연결되어 있는 경우가 많으며, 대표적으로 MySQL, PosgreSQL
등을 사용할 수 있음
Data Warehouse: 데이터 분석에 특화된 Database, Database에 있는 데이터, Object Storage 에 있는 데이터 등을 모두 모아서 Data Warehouse에 저장
AI Platform: AI Research, AI Develop 과정을 더 편리하게 해주는 제품
회사 : AWS, GCP, Azure
Google Cloud Platform
첫 가입시 $300 크레딧 제공
Tree Tier : 무료 사용이 가능한 범위
https://cloud.google.com/free
CI/CD
local : 각자 컴에서 개발 , 환경 통일을 위해 Docker사용
Dev : Local에서 개발한 기능을 테스트할 수 있는 환경, Test 서버
Staging : Production 환경에 배포하기 전에 운영하거나 보안, 성능 측정하는 환경 | Staging 서버
Production : 실제 서비스를 운영하는 환경 | 운영 서버
streamlit 을 사용한 프로토타입 만들기
최종 프로젝트 기획 및 구현 진행
.