Coding 공부/Big data & Python

[Big data & Python] Jupyter notebook, 마크 다운, Python - 패킹(Packing), 언패킹(Unpacking), Google Colab, 원격으로 Jupyter notebook 실행하기

CBJH 2024. 3. 16. 16:25
728x90
반응형

1. Jupyter notebook 

  1.1 Jupyter Notebook의 주요 특징

  • 대화형 컴퓨팅 환경: 코드를 셀 단위로 작성하고 실행하여, 즉각적인 피드백을 얻을 수 있어 실험, 탐색적 데이터 분석 및 시각화에 이상적입니다.
  • 언어 지원: 기본적으로 Python을 지원하지만, R, Julia, Scala 등 Jupyter 커널을 통해 다양한 프로그래밍 언어를 지원합니다.
  • 통합 데이터 과학 도구: NumPy, Pandas, Matplotlib, SciPy 등의 데이터 과학 및 수치 계산 라이브러리와 함께 사용하기 쉽습니다.
  • 문서화와 공유: 연구 결과, 데이터 분석, 교육 자료 등을 문서화하여 공유하기 용이합니다. Notebook 파일은 JSON 형식으로 저장되며, GitHub와 같은 플랫폼에서 직접 렌더링할 수 있습니다.
  • 확장 가능성: 다양한 확장 기능을 통해 Jupyter Notebook의 기능을 확장할 수 있습니다. 이를 통해 사용자 정의 테마, 도구 및 기능을 추가할 수 있습니다.
  • 커뮤니티와 지원: Jupyter는 활발한 오픈 소스 커뮤니티에 의해 지원되며, 수많은 튜토리얼, 도구, 플러그인이 개발되고 있습니다.

  1.2 사용 사례

  • 교육: 프로그래밍, 데이터 과학, 수학 등의 분야에서 교육 자료와 과제를 만들고 배포하기 위해 사용됩니다.
  • 데이터 분석과 시각화: 데이터를 불러오고, 처리하고, 시각화하는 과정을 단계별로 기록하고 공유하기 위해 사용됩니다.
  • 머신 러닝 프로젝트: 데이터 전처리, 모델 학습, 평가, 결과 시각화 등 머신 러닝 프로젝트의 전 과정을 진행하기 위해 사용됩니다.

  1.3 요약

Jupyter Notebook은 데이터 과학, 교육, 연구 등 다양한 분야에서 사용되는 강력한 도구입니다. 코드 실행, 결과 시각화, 리치 텍스트 문서화를 한 곳에서 할 수 있어 효율적인 작업이 가능합니다. 다양한 프로그래밍 언어 지원과 확장 가능성, 커뮤니티의 강력한 지원 덕분에 Jupyter Notebook은 계속해서 인기를 끌고 있습니다.

 

 

 

2.  마크 다운

 

웹 작성자를 위한 텍스트를 HTML로 변환하는 도구.
읽기 쉽고 쓰기 쉬운 일반 텍스트 형식을 사용하여 작성한 다음 구조적으로 유효한 XHTML(또는 HTML)로 변환 가능.
(1) 일반 텍스트 형식 지정 구문.
(2) 일반 텍스트 형식을 HTML로 변환하는 소프트웨어 도구.

 

  2.1 마크 다운 사용처

  • juptyer notebook(python을 웹 환경에서 개발)
  • github blog(블로그 문서)
  • README.md(github 저장소의 설명 문서)
  • 티스토리 블로그(블로그 문서)

>> 텍스트를 가독성 있게 보여줘야하는 모든 개발 환경에서 사용할 수 있다.

 

  2.2 마크 다운 키워드, 표 만들기 링크

https://recording-it.tistory.com/3

 

마크다운 - 기본

마크다운이란? 공식 사이트: https://daringfireball.net/projects/markdown/ 출처: https://daringfireball.net/projects/markdown/ 웹 작성자를 위한 텍스트를 HTML로 변환하는 도구. 읽기 쉽고 쓰기 쉬운 일반 텍스트 형식

recording-it.tistory.com

https://recording-it.tistory.com/7

 

마크다운 - 고급

코드(Code) 코드는 텍스트 내에 소스 코드나 코드 조각을 표시하는 데 사용됩니다. 특정 프로그래밍 언어의 구문이나 명령어를 강조하고, 일반 텍스트와 구분하여 보여주기 위해 사용됩니다. 인

recording-it.tistory.com

 

3. Python - 패킹(Packing), 언패킹(Unpacking)

  3.1 패킹(Packing)

여러 개의 값을 하나의 자료구조(리스트, 튜플 등)로 묶는 것을 의미.

  3.2 언패킹(Unpacking)

하나의 컬렉션에 담긴 여러 데이터를 각각 분리하여 변수에 할당.

  3.3 패킹의 확장

아스트레이 한 개는 리스트, 튜플로 확장이 가능하다.

아스트레이 두 개는 딕셔너리로 확장이 가능하다.

 

  3.4 패킹, 패킹의 확장 예제

 

  3.5 패킹 상세 설명 링크

https://just-record.github.io/python/python-packing-unpacking/

 

Python - 패킹(Packing), 언패킹(Unpacking)

패킹(Packing)

just-record.github.io

 

 

4. Python - Google Colab

 

  • 이 플랫폼은 Google에서 클라우드 기반의 무료 Jupyter 노트북 환경을 제공합니다. Colab은 복잡한 소프트웨어 설정 없이 웹 브라우저를 통해 Python 코드를 작성하고 실행할 수 있게 해줍니다. (인터넷만 연결되어 있다면 어디서든 주피터 노트북을 공유해 사용할 수 있다는 장점이 있습니다. 단점은 실무 환경에선 데이터량이 많으므로 매달 결제하여 사용합니다. 데이터 크기가 커지거나 GPU를 사용하게되면 다른 클라우드 기반 서버를 사용하는 것이 경제적입니다.)
  • 구글 클라우드와 통합하여 서버에 저장된 내용을 클라우드에 옮길 수 있습니다. 
  • 구글 클라우드와는 다른 시스템입니다. 
  • 서버에 연결할 때마다, 저장 했던 DB파일이 삭제되기 때문에 구글 클라우드에 연동해서 자료를 저장합시다.
  • 오랫동안 반응이 없으면 자동으로 서버와 연결이 끊어집니다.

 

 

 

5. 원격으로 Jupyter notebook 실행하기

 

강의실 안에 있는 컴퓨터끼리 원격으로 Jupyter 노트북에 접속해 파이썬을 대화형으로 사용하거나 주석을 달고, text 파일을 작성해 정보교류가 가능하다.

 

 

  5.1 윈도우 환경에서 Jupyter notebook 원격으로 실행하는 방법

 


1. Jupyter Notebook 비밀번호 설정하기

Jupyter Notebook 실행: 우선, Jupyter Notebook을 로컬 시스템에서 실행합니다. 명령 프롬프트나 PowerShell을 열고 jupyter notebook 명령을 실행하세요.비밀번호 설정: Jupyter Notebook이 실행되면, 브라우저가 자동으로 열리거나, 직접 http://localhost:8888로 접속하세요. Jupyter 홈페이지에서 Settings > Security > Change Password를 선택하여 비밀번호를 설정합니다. 비밀번호 설정을 위해 터미널에서 jupyter notebook password를 실행할 수도 있습니다.

2. Jupyter Notebook 구성 파일 생성 및 수정하기

구성 파일 생성: Jupyter Notebook 구성 파일이 없는 경우, 생성해야 합니다. 명령 프롬프트나 PowerShell에서 jupyter notebook --generate-config 명령을 실행하세요.구성 파일 수정: 생성된 .jupyter\jupyter_notebook_config.py 파일을 텍스트 에디터로 열고, 다음 설정을 찾아 주석 처리를 해제하고 필요한 값으로 변경하세요.c.NotebookApp.ip = '0.0.0.0'로 설정하여 모든 IP 주소에서 접속할 수 있도록 합니다.c.NotebookApp.password = u'sha1:...'는 자동으로 설정됩니다(비밀번호 설정 시).c.NotebookApp.open_browser = False로 설정하여 서버 시작 시 브라우저가 자동으로 열리지 않도록 합니다.c.NotebookApp.port = 8888로 설정하여 서버가 사용할 포트를 지정합니다(필요한 경우 다른 포트 번호로 변경).

3. 방화벽 설정 변경하기

포트 열기: Windows 방화벽에서 Jupyter Notebook 서버가 사용하는 포트(기본값은 8888)를 열어야 합니다. 제어판 > 시스템 및 보안 > Windows Defender 방화벽 > 고급 설정 > 인바운드 규칙에서 새 규칙을 추가하여 해당 포트를 엽니다.

4. Jupyter Notebook 서버 실행하기

서버 실행: 설정이 완료되면, 명령 프롬프트나 PowerShell에서 jupyter notebook 명령을 사용하여 Jupyter Notebook 서버를 시작합니다.

5. 원격에서 접속하기

접속 주소 확인: 원격 컴퓨터에서는 웹 브라우저를 열고 http://<호스트 시스템의 IP 주소>:8888 주소로 접속합니다. 여기서 <호스트 시스템의 IP 주소>는 Jupyter Notebook 서버를 실행 중인 시스템의 IP 주소입니다.비밀번호 입력: 접속 시 설정한 비밀번호를 입력하여 Jupyter Notebook에 접근합니다.
이 과정을 통해 Windows 환경에서 Jupyter Notebook 서버에 비밀번호를 설정하고, 원격에서 안전하게 접근할 수 있습니다. 주의할 점은, 이 방법은 인터넷을 통해 서버에 접근할 수 있게 하므로, 보안에 주의해야 합니다. 가능하다면, VPN을 통한 접속이나 추가적인 보안 조치를 고려하세요.