실행과 종료

Tip학습 목표
  • JupyterLab 서버를 실행합니다.
  • 새로운 파이썬 스크립트를 생성합니다.
  • Jupyter 노트북을 생성합니다.
  • JupyterLab 서버를 종료합니다.
  • 파이썬 스크립트와 Jupyter 노트북의 차이점을 이해합니다.
  • 노트북에서 마크다운(Markdown) 셀을 생성합니다.
  • 노트북에서 파이썬 셀을 생성하고 실행합니다.
Note질문
  • 파이썬 프로그램을 어떻게 실행할 수 있나요?

앞으로 이 워크샵에서는 파이썬을 실행하기 위해 JupyterLab을 통한 [Jupyter Notebooks][jupyter]를 사용할 예정입니다. Jupyter 노트북은 데이터 과학 및 시각화 분야에서 흔히 쓰이며, 파이썬 코드를 대화형으로 실행하여 그 결과를 쉽게 확인하고 공유할 수 있는 편리한 환경을 제공합니다.

코드를 편집하고, 관리하며, 실행하는 다른 방법들도 존재합니다. 소프트웨어 개발자들은 종종 파이썬 프로그램을 만들고 편집할 때 PyCharm이나 Visual Studio Code 같은 통합 개발 환경(IDE), 혹은 Vim이나 Emacs 같은 텍스트 편집기를 사용합니다. 파이썬 프로그램을 편집하고 저장한 뒤에는 IDE 내부나 커맨드 라인에서 직접 해당 프로그램을 실행할 수 있습니다. 반면, Jupyter 노트북은 노트북 안에서 파이썬 코드를 실행하고 그 결과를 즉시 볼 수 있게 해줍니다.

JupyterLab은 그 밖에도 다음과 같은 유용한 기능들을 갖추고 있습니다:

각 노트북은 코드가 적힌 셀, 텍스트가 적힌 셀, 또는 이미지가 들어 있는 하나 이상의 셀들로 구성됩니다.

JupyterLab 시작하기

JupyterLab은 [Project Jupyter][jupyter]에서 만든 웹 사용자 인터페이스를 갖춘 애플리케이션 서버로, 여러 문서와 활동(Jupyter 노트북, 텍스트 편집기, 터미널, 심지어 커스텀 컴포넌트까지)을 유연하고 통합된, 확장 가능한 방식으로 다룰 수 있게 해줍니다. JupyterLab은 비교적 최신 브라우저(이상적으로는 Chrome, Safari, 또는 Firefox의 최신 버전)가 필요합니다. Internet Explorer 9 이하 버전을 비롯한 예전 브라우저는 지원하지 않습니다.

JupyterLab은 Anaconda 파이썬 배포판의 일부로 포함되어 있습니다. Anaconda 배포판을 아직 설치하지 않았다면, 설치 지침을 위해 설정 안내를 참고하세요.

이번 학습에서는 JupyterLab 서버를 로컬 기기에서 직접 실행할 것이므로, Anaconda와 JupyterLab을 다운로드하고 설치하기 위한 최초 연결을 제외하고는 인터넷 연결이 필요하지 않습니다.

  • 여러분의 기기에서 JupyterLab 서버를 시작합니다.
  • 웹 브라우저를 사용하여 JupyterLab 서버에 연결되는 특수한 localhost URL을 엽니다.
  • JupyterLab 서버가 작업을 수행하고, 웹 브라우저가 결과를 렌더링(화면에 표시)합니다.
  • 브라우저에 코드를 입력하고, JupyterLab 서버가 코드 실행을 마치면 그 결과를 확인합니다.
NoteJupyterLab? Jupyter notebooks와는 어떻게 다른가요?

JupyterLab은 Jupyter Notebook의 진화된 다음 단계입니다. Jupyter 노트북을 사용해 본 경험이 있다면, JupyterLab에서도 무엇을 기대할 수 있는지 잘 파악할 수 있을 것입니다.

JupyterLab과 Jupyter 노트북 사용자 인터페이스 간의 유사점과 차이점에 대해 더 자세히 알고 싶은 기존 노트북 사용자들은 JupyterLab 인터페이스 문서에서 추가 정보를 확인할 수 있습니다.

JupyterLab 실행하기

JupyterLab 서버는 커맨드 라인을 통해서, 또는 Anaconda Navigator라는 애플리케이션을 통해서 시작할 수 있습니다. Anaconda Navigator는 Anaconda 파이썬 배포판에 포함되어 있습니다.

macOS - 커맨드 라인(Command Line)

JupyterLab 서버를 시작하려면 터미널(Terminal)을 통해 커맨드 라인에 접근해야 합니다. Mac에서 터미널을 여는 두 가지 방법이 있습니다.

  1. 응용 프로그램(Applications) 폴더에서 유틸리티(Utilities)를 열고 터미널(Terminal)을 더블 클릭합니다.
  2. Command + spacebar를 눌러 Spotlight를 실행합니다. Terminal을 입력한 다음 결과물을 더블 클릭하거나 Enter를 누릅니다.

터미널을 실행한 뒤, JupyterLab 서버를 실행하는 명령어를 입력합니다.

$ jupyter lab

Windows 사용자 - 커맨드 라인

JupyterLab 서버를 시작하려면 Anaconda Prompt에 접근해야 합니다.

Windows 로고 키를 누르고 Anaconda Prompt를 검색한 뒤 결과를 클릭하거나 엔터를 누릅니다.

Anaconda Prompt가 실행되면 다음 명령어를 입력합니다:

$ jupyter lab

Anaconda Navigator

Anaconda Navigator에서 JupyterLab 서버를 시작하려면 먼저 Anaconda Navigator를 시작해야 합니다(macOS, Windows, 및 Linux에서의 자세한 지침 클릭). macOS에서는 Spotlight(Command + spacebar)를 통해, Windows에서는 검색 기능(Windows 로고 키)을 통해 Anaconda Navigator를 검색하거나, 터미널 셸을 열어 커맨드 라인에서 anaconda-navigator 실행 파일을 실행할 수 있습니다.

Anaconda Navigator를 실행한 후, JupyterLab 항목 아래에 있는 Launch 버튼을 클릭합니다. 해당 버튼을 찾기 위해 화면을 아래로 스크롤해야 할 수도 있습니다.

다음은 macOS와 Windows에서 열렸을 때 보게 될 모습과 유사한 Anaconda Navigator 화면 스크린샷입니다.

Anaconda Navigator landing page

다음은 macOS나 Windows에서 JupyterLab 서버를 시작한 후 기본 웹 브라우저에서 열리는 것과 유사한 JupyterLab 진입 화면 스크린샷입니다.

JupyterLab landing page

JupyterLab 인터페이스

JupyterLab은 기존 통합 개발 환경(IDE)에서 볼 수 있는 여러 기능을 제공하지만, 상호작용적이고 탐색적인 컴퓨팅(exploratory computing)에 초점을 맞춰 유연한 구성 요소를 제공하는 데 중점을 두고 있습니다.

JupyterLab 인터페이스는 주요 메뉴 바(Menu Bar), 접을 수 있는 좌측 사이드 바(Left Side Bar), 그리고 문서와 활동들을 위한 탭들로 구성된 메인 작업 공간(Main Work Area)으로 이루어져 있습니다.

메뉴 바 (Menu Bar)

JupyterLab 맨 위쪽에 위치한 메뉴 바는 JupyterLab에서 사용 가능한 여러 동작들(그리고 적용 가능한 경우 단축키)을 제공하는 최상위 메뉴들을 볼 수 있게 해줍니다. 기본적으로 다음과 같은 메뉴가 포함되어 있습니다.

  • File(파일): 파일 및 복사본에 관한 동작들 (예: New(새로 만들기), Open(열기), Close(닫기), Save(저장) 등). File 메뉴에는 JupyterLab 서버를 정지시키기 위한 Shut Down(종료) 동작도 포함되어 있습니다.
  • Edit(편집): 문서 편집 및 기타 작업에 관한 동작들 (예: Undo(실행 취소), Cut(잘라내기), Copy(복사), Paste(붙여넣기) 등).
  • View(보기): JupyterLab의 형태와 외관을 변경하는 동작들.
  • Run(실행): 노트북이나 코드 콘솔과 같은 다양한 활동 구역 안에서 코드를 실행하기 위한 동작들.
  • Kernel(커널): 커널을 관리하기 위한 동작들. Jupyter 커널에 대해서는 아래에서 자세히 설명할 예정입니다.
  • Tabs(탭): 메인 작업 공간에 열려있는 문서와 활동들의 목록.
  • Settings(설정): 이 메뉴를 통해 일반적인 JupyterLab 설정을 조정할 수 있습니다. 드롭다운 메뉴에 있는 Advanced Settings Editor(고급 설정 편집기) 옵션을 사용하면 JupyterLab 설정 및 구성 옵션들을 더 정교하게 제어할 수 있습니다.
  • Help(도움말): JupyterLab과 커널에 대한 여러 도움말 링크 모음집.
Note커널 (Kernels)

JupyterLab 공식 문서는 커널을 “서버가 코드를 다른 프로그래밍 언어 및 환경에서 실행하기 위해 별도로 시작한 프로세스”로 정의합니다. Jupyter 노트북을 열면, 코드를 실행할 일종의 프로세스인 커널이 시작됩니다. 이번 학습에서는 인터랙티브하게 Python 3 코드를 실행할 수 있도록 하는 Jupyter의 ipython 커널을 사용할 것입니다.

다른 Jupyter용 기타 프로그래밍 언어 커널들을 사용하면 R, Java, Julia, Ruby, JavaScript, Fortran 등과 같이 서로 다른 프로그래밍 언어로 작성된 코드도 동일한 JupyterLab 인터페이스 내에서 작성하고 실행할 수 있습니다.

아래는 기본 상태의 메뉴 바 스크린샷입니다.

JupyterLab Menu Bar

좌측 사이드바 (Left Sidebar)

좌측 사이드바에는 파일 브라우저(JupyterLab 서버가 실행된 디렉토리의 내용을 보여줌), 현재 실행 중인 커널 및 터미널의 목록, 명령어 팔레트 탭(Command palette) 및 메인 작업 공간에 열려있는 탭 목록과 같이 일반적으로 사용되는 다양한 기능들이 포함되어 있습니다. 아래는 기본 좌측 사이드바 구조를 보여주는 스크린샷입니다.

JupyterLab Left Side Bar

View 메뉴에서 “Show Left Sidebar”를 선택하거나 사이드바의 활성 탭 자체를 클릭하면 좌측 사이드바를 접거나(collapse) 펼칠(expand) 수 있습니다.

메인 작업 영역 (Main Work Area)

JupyterLab의 메인 작업 영역을 활용하면 문서(노트북, 텍스트 파일 등)와 다양한 활동(터미널, 코드 콘솔 등)을 크기 조절이나 공간 분할이 가능한 여러 패널 탭들로 정렬해둘 수 있습니다. 기본 메인 작업 영역의 모습은 아래 이미지와 같습니다.

(만약 Launcher 탭이 보이지 않는다면, “File”과 “Edit” 메뉴 아래에 위치한 파란색 십자 기호(+)를 클릭하면 창이 나타납니다.)

JupyterLab Main Work Area

탭 하나를 끌어다 탭 패널의 중앙 위치로 드래그하면 해당 탭을 해당 패널 내부로 이동시킵니다. 혹은 패널의 왼쪽, 오른쪽, 위, 아래 부분으로 드래그하면 탭 패널을 여러 화면으로 분할해 보여줍니다. 메인 작업 영역은 현재 활성화된 단일 활동(Current activity)을 가지고 있으며, 이 현재 활동 탭의 경우 위쪽 테두리에 색상이 표시되어(기본설정은 파란색) 찾기 쉽게 만들어져 있습니다.

파이썬 스크립트 만들기

  • 새로운 파이썬 프로그램 작성을 시작하려면 메인 탭(Main Work Area)의 런쳐(Launcher)에서 Other 헤더 아래에 위치한 ‘텍스트 파일(Text File)’ 아이콘을 클릭합니다.
    • 메뉴 바의 File 메뉴에서 New -> Text File을 선택해서 평범한 기존 포맷 없는 텍스트 파일(Plain text file)을 만들 수도 있습니다.
  • 이렇게 만들어진 텍스트 파일을 파이썬 프로그램용 텍스트 파일로 전환시키려면, 메뉴 바의 File 메뉴 안에서 Save File As…를 선택한 뒤 파일명의 맨 뒷부분 확장자가 .py로 끝나도록 새 파일명을 짓습니다.
    • .py 확장자는 이렇게 만들어진 텍스트 파일이 파이썬 스크립트 파일이라는 것을 운영체제를 포함한 모두에게 명확하게 알려주는 역할을 합니다.
    • 이것만으로 엄격한 제한 규약이 생긴다기보다 단순한 관습적 역할입니다.

Jupyter Notebook 만들기

새 노트북을 열려면 메인 탭 구역 안에 등장하는 Launcher 탭에서 Notebook 헤더 아래 위치한 Python 3 아이콘을 클릭합니다. 이 역시 메뉴 바의 File 메뉴에서 New -> Notebook을 선택해 새 노트북을 만들 수도 있습니다.

Jupyter 노트북에 대한 추가 노트:

  • 파이썬 프로그래밍 용 텍스트 파일 파일들과 명확하게 구분하기 위해, 노트북 파일은 그 끝에 .ipynb라는 특수 확장자가 따라붙습니다.
  • 노트북 파일은 나중에 커맨드 라인을 통해 곧바로 실행 가능하도록 설정된 파이썬 스크립트 포맷(.py) 형태로 추출/다운로드(Export)될 수도 있습니다.

JupyterLab 내에서 별도 탭으로 실행되고 있는 Jupyter 노트북 화면 예시입니다. 해당 내용과 관련된 추가적인 상세 정보나 특수 기능을 확인하고 싶다면 공식 노트북 문서(Notebook Document)를 참조하시기 바랍니다.

Example Jupyter Notebook

Note어떻게 저장되는가
  • 노트북 파일의 실제 저장 형식은 JSON이라는 파일 형식(Format) 방식을 따르고 있습니다.
  • 일반적인 웹페이지처럼 여러분의 브라우저에서 보는 화면과 그 이면에 저장되는 내부 내용의 생김새는 완전히 다릅니다.
  • 그러나 이러한 특성 덕분에 Jupyter는 내부적인 소스코드, 평문 텍스트, 그림 이미지들을 전부 하나의 단일 파일 안에 섞어서 안전하게 혼합 저장할 수 있습니다.
Important범례

탭의 패널 분할 배치 연습해보기

JupyterLab 메인 작업 영역(Main Work area)에서는 문서를 여러 탭으로 구성하여 원하는 위치에 배치할 수 있습니다. 공식 문서에 기재된 예제를 한 번 살펴볼까요?

Multi-panel JupyterLab

이번에는 텍스트 파일, 파이썬 콘솔, 그리고 터미널 창을 각각 연 다음 메인 작업 공간에 나란히 세 개의 패널로 정렬해 보세요. 그 다음에는 노트북, 터미널, 텍스트 파일을 각각 하나씩 열어 동일하게 세 패널로 나란히 배치해 보세요. 마지막으로 여러분만의 패널 구조를 구성해 보세요. 원활한 작업을 위해서는 어떤 작업 환경과 패널 구조가 가장 편리할 것 같나요?

해답

새 탭을 연 후 탭의 상단을 다른 패널의 중앙으로 드래그 앤 드롭하면 해당 탭이 그 패널 안으로 이동합니다. 화면을 더 세밀하게 나누고 싶다면 탭을 패널의 왼쪽, 오른쪽, 위쪽 또는 아래쪽 가장자리로 드래그해 보세요.

NoteCode vs. Text

Jupyter 노트북 환경에서는 코드(Code)와 텍스트(Text)가 각각의 칸으로 나뉘어 있는 것을 볼 수 있습니다. 이렇게 개별적으로 분리된 각각의 칸을 ’셀(cell)’이라고 부릅니다. 보통 프로그래밍 분야에서 “코드”라고 하면 “파이썬과 같은 프로그래밍 언어로 작성된 명령어 모음”을 의미합니다. 즉 노트북 환경에서 “코드 셀(Code cell)”이란 컴퓨터가 이해하고 실행할 수 있는 명령어 구문이 들어가는 공간이며, “텍스트 셀(Text cell)”은 사람이 읽고 쓸 수 있는 일반적인 문서 용도로 사용됩니다.

Notebook의 ‘명령(Command)’ 모드와 ‘편집(Edit)’ 모드

  • 키보드의 Esc 키와 Return(엔터) 키를 번갈아 누르면 선택된 셀의 테두리 색상이 파란색과 회색으로 번갈아 바뀌는 것을 확인할 수 있습니다.
  • 이는 노트북의 두 가지 조작 방식인 명령 모드(Command, 테두리 회색)편집 모드(Edit, 테두리 파란색) 를 의미합니다.
  • ’명령 모드’는 노트북 레벨에서 셀 전체의 구조 조작을 담당하며, ’편집 모드’는 특정 셀 안에 있는 내용을 직접 수정할 수 있도록 해줍니다.
  • 외곽선이 회색인 명령 모드에서 사용할 수 있는 주요 단축키는 다음과 같습니다:
    • b 키를 누르면 현재 셀 바로 아래(Below)에 새로운 셀을 삽입합니다.
    • a 키를 누르면 현재 셀 바로 위(Above)에 새로운 셀을 삽입합니다.
    • x 키를 누르면 현재 선택된 셀을 삭제할 수 있습니다.
    • z 키를 누르면 최근의 셀 조작 작업(삭제, 복사, 생성 등)을 실행 취소(되돌리기)합니다.
  • 물론 상단 메뉴를 통해서도 모든 작업을 마우스로 할 수 있지만, 단축키를 활용하면 작업 환경을 훨씬 빠르고 편리하게 만들 수 있습니다.
Important범례

명령 모드와 편집 모드 사용해보기

현재 여러분의 노트북 창에서 커서가 깜빡이는 파란색 테두리의 편집(Edit) 모드인지, 아니면 회색 테두리의 명령(Command) 모드인지 확인해 보세요. 단축키를 활용하여 다음 동작들을 직접 실행해 보세요. 1) 두 모드를 번갈아 가며 전환해 봅니다. 2) 단축키를 사용하여 빈 셀을 새롭게 생성해 봅니다. 3) 단축키를 사용하여 방금 만든 셀을 바로 삭제해 봅니다. 4) 방금 했던 삭제 작업을 실행 취소하여 셀을 되살려 봅니다.

해답

명령(Command) 모드는 회색 테두리로 표시되며 단축키를 직접 입력할 수 있는 상태입니다. 편집(Edit) 모드는 파란색 테두리로 표시되며 셀 내부에 텍스트나 코드를 입력할 수 있는 상태입니다. Esc 키와 Return(엔터) 키를 사용하여 모드를 전환할 수 있습니다. 새 셀을 생성하려면 명령 모드 상태여야 합니다(셀이 파란색이라면 Esc를 먼저 누릅니다). 그 다음 b 또는 a를 눌러 셀을 생성합니다. 셀을 삭제할 때도 명령 모드에서 x 키를 누르면 됩니다. 실행을 취소하려면 Esc 상태에서 z 키를 눌러 직전 동작을 되돌릴 수 있습니다.

키보드와 마우스를 번갈아 사용해가며 셀(Cells) 블록을 입력, 변경하기

  • 셀에서 Return(엔터) 키를 누르면 테두리가 파란색으로 변하며 텍스트를 입력할 수 있는 편집(Edit) 모드로 전환됩니다.
  • 한 파이썬 코드 셀 내에는 여러 줄의 코드가 들어갈 수 있기 때문에, 편집 모드에서 엔터 키를 누르면 코드를 다음 줄로 줄바꿈해 줍니다.
  • 따라서 코드를 다음 줄로 넘기는 시점과 코드를 ’실행(run)’하라고 컴퓨터에 지시하는 시점을 구분할 방법이 필요합니다.
  • Shift + Return(엔터) 키를 동시에 누르면 노트북은 해당 셀의 코드를 실행하고 그 결과를 보여줍니다.

Markdown을 형식화된(Pretty-printed) 문서로 렌더링하기

  • 노트북은 파이썬 연산뿐만 아니라, 마크다운(Markdown) 포맷을 통해 웹페이지나 문서처럼 잘 짜여진 텍스트를 작성할 수 있게 지원합니다!
    • 이를 통해 목록 구성을 비롯하여 하이퍼링크, 볼드체, 이탤릭체 등 다양한 서식을 적용할 수 있습니다.
  • 명령 모드(회색 테두리 상태)에서 m 키를 누르면 선택된 코드 셀이 파이썬 코드가 아닌 마크다운(Markdown) 문서 렌더링 모드로 전환됩니다.
  • 전환되면 셀 왼쪽에 있던 In [ ]: 기호가 사라지므로, 해당 셀이 코드를 실행하기 위한 목적이 아니라 문서 작성을 위한 마크다운 셀임을 쉽게 인지할 수 있습니다.
  • 마크다운 셀로 바뀐 셀을 파이썬 코드 전용 셀로 다시 되돌리려면, 명령(Command) 모드에서 영문 y 키를 입력하면 됩니다.

마크다운(Markdown)은 HTML이 표기할 수 있는 대부분의 시각적 요소를 표현할 수 있습니다.

불릿 리스트 예시

  • 마크다운 원문(Markdown code)

    * 별표 기호를 사용하면
    * 다음과 같은 불릿 리스트가
    * 작성됩니다.
  • 렌더링된 결과물(Rendered output)

    • 별표 기호를 사용하면
    • 다음과 같은 불릿 리스트가
    • 작성됩니다.

번호 리스트 예시

  • 마크다운 원문(Markdown code)

    1. 숫자를 순서대로 나열하면
    2. 이렇게 자동으로 정렬된 번호 매기기
    3. 리스트가 생성됩니다.
  • 렌더링된 결과물(Rendered output)

    1. 숫자를 순서대로 나열하면
    2. 이렇게 자동으로 정렬된 번호 매기기
    3. 리스트가 생성됩니다.

헤딩(Heading) 예시

  • 마크다운 원문(Markdown code)

    # 큰 레벨-1 헤딩(Level-1 Heading)
  • 렌더링된 결과물(Rendered output)
    # 큰 레벨-1 헤딩(Level-1 Heading)

줄바꿈(Line breaks) 예시

  • 마크다운 원문(Markdown code)

    단순 줄 띄움(Line breaks) 같은 경우
    그다지 크게 티가 안 나게 렌더링됩니다.
    
    하지만 빈 줄(Empty line)을 넣으면
    완전히 새로운 문단(paragraph)이 시작됩니다.
  • 렌더링된 결과물(Rendered output)
    단순 줄 띄움(Line breaks) 같은 경우
    그다지 크게 티가 안 나게 렌더링됩니다.

    하지만 빈 줄(Empty line)을 넣으면
    완전히 새로운 문단(paragraph)이 시작됩니다.

JupyterLab (주피터 랩) 사용 종료 방식 알아보기

  • JupyterLab을 종료하려면 상단의 Menu Bar(메뉴 바)를 사용하여, 왼쪽 첫 번째에 위치한 “File (파일)”을 클릭하고 제일 아래쪽의 “Shut Down (종료)” 메뉴를 클릭합니다. 사용자 보호를 위해 이 작업을 정말로 진행할지 묻는 확인 창이 뜹니다(이전에 여러분의 저장 내역들이 완전히 보존되었는지 꼭 확인하세요!). 팝업에서 “Shut Down (종료할게!)” 문구를 수락 및 클릭하면 JupyterLab 실행 서버 모드가 자체적으로 완전 셧다운되어 종료됩니다.
  • 이렇게 작업 환경 서버를 종료시킨 이후 다시 JupyterLab 환경 서버를 구동시켜 접속하셔야 한다면, 처음에 보셨던 터미널(명령 프롬프트 환경 공간) 프로그램으로 돌아가 다음의 짧고 익숙한 코드를 다시 입력하여 실행시키세요.
$ jupyter lab
Important범례

JupyterLab 껐다 켜기 (종료 시키고 다시 구동해보기 연습)

여러분의 환경에서 JupyterLab 서버를 닫아보신 후 터미널 콘솔 명령어를 통해 다시 한번 깨워 재 구동시켜 보는 실습을 진행하십시오!

Note핵심 요약
  • 파이썬 스크립트는 단순한 일반 텍스트 파일(plain text files)입니다.
  • 파이썬 코드를 편집하고 실행할 수 있는 여러 도구 중에서 우리는 Jupyter Notebook을 사용합니다.
  • Notebook 환경에는 전체 셀 구조 조작을 담당하는 ’Command(명령) 모드’와 셀 안의 내용물을 편집하는 ’Edit(편집) 모드’의 두 가지 조작 방식이 있습니다.
  • 키보드 및 마우스 입력을 활용하여 구역 내의 셀들을 다채롭게 클릭 및 선택하고 작업을 이어 나갈 수 있습니다.
  • Notebook 내부의 마크다운(Markdown) 영역을 화려하게 시각화(pretty-printed)된 설명 글 문서 형태로 변환시켜줄 수 있습니다.
  • 이러한 마크다운 구역 내부에서는 기존 HTML 언어 포맷 구역이 수행할 수 있는 시각적 표기 대부분을 지원하고 있습니다.