Commit 5e55d999 authored by insun park's avatar insun park
Browse files

docs: Jupyter Notebook 단축키 및 VS Code 필수 확장 프로그램 추가

parent 6d891407
...@@ -313,6 +313,45 @@ Anaconda와 가상 환경 설정이 완료되었다면, 이제 코드를 작성 ...@@ -313,6 +313,45 @@ Anaconda와 가상 환경 설정이 완료되었다면, 이제 코드를 작성
Jupyter Notebook/Lab은 코드 스니펫을 빠르게 테스트하고, 데이터 시각화 결과를 바로 확인하며, 아이디어를 정리하는 데 매우 효과적입니다. Jupyter Notebook/Lab은 코드 스니펫을 빠르게 테스트하고, 데이터 시각화 결과를 바로 확인하며, 아이디어를 정리하는 데 매우 효과적입니다.
#### 💡 Jupyter Notebook 필수 단축키
Jupyter Notebook을 200% 활용하려면 단축키 사용이 필수입니다. Jupyter는 **명령 모드(Command Mode)****편집 모드(Edit Mode)** 두 가지 상태를 가집니다.
* **편집 모드 (Edit Mode):** 셀 안의 텍스트나 코드를 편집하는 상태입니다. 셀을 클릭하거나 `Enter` 키를 누르면 활성화되며, 셀 왼쪽에 **녹색** 테두리가 생깁니다.
* **명령 모드 (Command Mode):** 셀 자체를 관리(추가, 삭제, 복사 등)하는 상태입니다. 편집 모드에서 `Esc` 키를 누르면 활성화되며, 셀 왼쪽에 **파란색** 테두리가 생깁니다.
아래는 각 모드에서 가장 유용한 단축키들입니다.
**명령 모드 (Command Mode) 단축키**
| 단축키 | 설명 |
| :--- | :--- |
| `Enter` | 편집 모드로 전환합니다. |
| `Shift + Enter` | 현재 셀을 실행하고, 아래 셀로 이동합니다. (아래 셀이 없으면 생성) |
| `Ctrl + Enter` | 현재 셀을 실행하고, 현재 셀에 머무릅니다. |
| `Alt + Enter` | 현재 셀을 실행하고, 바로 아래에 새 셀을 추가합니다. |
| `A` | 현재 셀 **위에(Above)** 새 셀을 추가합니다. |
| `B` | 현재 셀 **아래에(Below)** 새 셀을 추가합니다. |
| `M` | 현재 셀을 Markdown 셀로 변경합니다. |
| `Y` | 현재 셀을 Code 셀로 변경합니다. |
| `C` | 현재 셀을 복사합니다. |
| `X` | 현재 셀을 잘라냅니다. |
| `V` | 잘라내거나 복사한 셀을 현재 셀 아래에 붙여넣습니다. |
| `D, D` (D 두 번 누르기) | 현재 셀을 삭제합니다. |
| `Z` | 삭제한 셀을 되돌립니다. |
| `H` | 모든 단축키 목록을 보여주는 도움말 창을 엽니다. |
**편집 모드 (Edit Mode) 단축키**
| 단축키 | 설명 |
| :--- | :--- |
| `Esc` | 명령 모드로 전환합니다. |
| `Tab` | 코드 자동 완성 또는 들여쓰기를 합니다. |
| `Shift + Tab` | 함수나 객체에 대한 설명을 보여줍니다. (Tooltip) |
| `Ctrl + /` | 현재 줄 또는 선택된 영역을 주석 처리/해제합니다. |
| `Ctrl + Z` | 실행을 취소합니다. (Undo) |
| `Ctrl + Y` | 취소한 작업을 다시 실행합니다. (Redo) |
### 7.2. Visual Studio Code (VS Code) 사용하기 ### 7.2. Visual Studio Code (VS Code) 사용하기
[VS Code](../../glossary.md#visual-studio-code-vs-code)는 강력한 기능과 다양한 확장 프로그램을 제공하는 현대적인 코드 편집기입니다. Python 개발을 위한 훌륭한 환경을 제공하며, Jupyter Notebook 파일(`.ipynb`)도 직접 열고 편집할 수 있습니다. [VS Code](../../glossary.md#visual-studio-code-vs-code)는 강력한 기능과 다양한 확장 프로그램을 제공하는 현대적인 코드 편집기입니다. Python 개발을 위한 훌륭한 환경을 제공하며, Jupyter Notebook 파일(`.ipynb`)도 직접 열고 편집할 수 있습니다.
...@@ -321,20 +360,56 @@ Jupyter Notebook/Lab은 코드 스니펫을 빠르게 테스트하고, 데이터 ...@@ -321,20 +360,56 @@ Jupyter Notebook/Lab은 코드 스니펫을 빠르게 테스트하고, 데이터
* [VS Code 공식 웹사이트](https://code.visualstudio.com/)에서 자신의 운영체제에 맞는 설치 프로그램을 다운로드하여 설치합니다. * [VS Code 공식 웹사이트](https://code.visualstudio.com/)에서 자신의 운영체제에 맞는 설치 프로그램을 다운로드하여 설치합니다.
**Python 개발 환경 설정:** #### 🐍 Python 개발 생산성을 높여주는 필수 확장 프로그램
VS Code의 진정한 강력함은 확장 프로그램(Extensions)에 있습니다. 왼쪽 사이드바의 네모 블록 모양 아이콘을 클릭하여 확장 프로그램 마켓플레이스에 접근할 수 있습니다. Python 개발을 위해 아래의 확장 프로그램들을 설치하고 설정하는 것을 적극 권장합니다.
**1. 기본 확장 프로그램 (Microsoft 제공)**
검색창에 `Python`을 검색하여 Microsoft에서 제공하는 공식 **Python Extension Pack**을 설치하면, 다음과 같은 핵심 확장 프로그램들이 함께 설치되어 강력한 기본 개발 환경을 구축해 줍니다.
* **Python ([ms-python.python](https://marketplace.visualstudio.com/items?itemName=ms-python.python))**
* **역할**: VS Code에서 파이썬을 사용하기 위한 모든 기능의 기반이 되는 **필수 확장 프로그램**입니다.
* **주요 기능**: 코드 구문 강조(Syntax Highlighting), 디버깅, 테스트 지원, 가상 환경 관리 등 파이썬 개발에 필요한 핵심 기능을 제공합니다. 이 확장 프로그램을 설치하는 것만으로도 대부분의 준비는 끝납니다.
* **Pylance ([ms-python.vscode-pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance))**
* **역할**: 파이썬 코드를 매우 빠르고 정확하게 분석해주는 **지능형 언어 서버**입니다. `Python` 확장 프로그램에 의해 자동으로 설치됩니다.
* **주요 기능**:
* **IntelliSense**: 변수나 함수의 타입을 미리 파악하여 매우 정확한 자동 완성 제안을 해줍니다.
* **실시간 오류 검사**: 코드를 작성하는 중 잠재적인 오류를 즉시 찾아내고 밑줄로 표시해줍니다.
* **타입 힌트(Type Hint) 분석**: 코드에 명시된 타입 힌트를 분석하여 코드의 안정성을 높여줍니다.
* **Jupyter ([ms-toolsai.jupyter](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter))**
* **역할**: VS Code 내에서 **Jupyter Notebook(`.ipynb`) 파일을 직접 실행하고 편집**할 수 있게 해주는 확장 프로그램입니다.
* **주요 기능**: VS Code 편집기 안에서 셀 단위로 코드를 실행하고, 시각화 결과를 바로 확인하는 등 Jupyter Notebook의 모든 경험을 그대로 누릴 수 있습니다.
**2. 추가 추천 확장 프로그램**
기본 확장 프로그램 외에, 아래 프로그램들을 추가로 설치하면 개발 효율을 한 단계 더 끌어올릴 수 있습니다.
* **Ruff ([charliermarsh.ruff](https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff))**
* **역할**: **매우 빠른 속도를 자랑하는 최신 Python 린터(Linter) 및 포매터(Formatter)**입니다.
* **왜 사용해야 할까요?**: 기존의 `Flake8`, `isort`, `Black` 등 여러 도구를 하나로 합친 것과 같으면서도, 훨씬 빠른 성능을 보여줍니다. 코드의 잠재적 오류를 찾아내고(Linting), 정해진 스타일 규칙에 맞게 코드를 자동으로 정리(Formatting)해주는 두 가지 역할을 모두 수행하여 코드 품질을 일관되게 유지하는 데 큰 도움이 됩니다.
* **설정 팁**: VS Code 설정에서 "Format on Save" 옵션을 켜고, 기본 포매터를 Ruff로 지정하면 파일을 저장할 때마다 자동으로 코드가 예쁘게 정리됩니다.
* **autoDocstring ([njpwerner.autodocstring](https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring))**
* **역할**: **함수나 클래스의 설명문(Docstring)을 자동으로 생성**해주는 편리한 도구입니다.
* **왜 사용해야 할까요?**: 함수의 파라미터, 반환값 등을 분석하여 표준 형식(Google, NumPy, Sphinx 등)에 맞는 Docstring의 틀을 자동으로 만들어줍니다. 잘 작성된 Docstring은 협업과 유지보수에 필수적이며, 이 확장 프로그램은 문서화에 드는 시간을 크게 줄여줍니다.
* **indent-rainbow ([oderwat.indent-rainbow](https.marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow))**
* **역할**: **들여쓰기(Indentation) 깊이에 따라 다른 색상**을 입혀 코드의 가독성을 높여줍니다.
* **왜 사용해야 할까요?**: 파이썬은 들여쓰기가 문법적으로 매우 중요하기 때문에, 이 확장 프로그램을 사용하면 코드 블록의 구조를 시각적으로 파악하기가 훨씬 쉬워집니다.
1. **VS Code 실행 후, Python 확장 프로그램 설치:** #### Python 인터프리터 선택 (가상 환경 연결)
* 왼쪽 사이드바에서 **확장(Extensions)** 아이콘(네모난 블록 모양)을 클릭합니다.
* 검색창에 "Python"을 입력하고, Microsoft에서 제공하는 **Python** 확장 프로그램을 찾아 설치합니다. (일반적으로 가장 위에 나타납니다)
* (선택 사항) "Pylance" 확장 프로그램도 함께 설치하면 더 강력한 언어 지원 기능을 사용할 수 있습니다.
* (선택 사항) "Jupyter" 확장 프로그램도 설치하면 VS Code 내에서 Jupyter Notebook 기능을 원활하게 사용할 수 있습니다.
2. **Python 인터프리터 선택 (가상 환경 연결):** 1. **VS Code 실행 후, 앞서 추천한 확장 프로그램들을 설치합니다.**
* VS Code에서 Python 파일을 열거나, 새 Python 파일을 생성합니다. 2. **VS Code에서 Python 파일을 열거나, 새 Python 파일을 생성합니다.** (`.py` 확장자로 끝나는 파일)
* VS Code 하단 상태 표시줄의 왼쪽(또는 `Ctrl+Shift+P`를 눌러 명령 팔레트를 열고 `Python: Select Interpreter` 검색)을 보면 현재 선택된 Python 인터프리터가 표시됩니다. 3. **인터프리터 선택:**
* VS Code 하단 상태 표시줄의 오른쪽(또는 `Ctrl+Shift+P`를 눌러 명령 팔레트를 열고 `Python: Select Interpreter` 검색)을 보면 현재 선택된 Python 인터프리터가 표시됩니다.
* 이 부분을 클릭하면 사용 가능한 Python 인터프리터 목록이 나타납니다. * 이 부분을 클릭하면 사용 가능한 Python 인터프리터 목록이 나타납니다.
* 이 목록에서 **앞서 `conda`로 생성한 가상 환경** (예: `my_project_env: conda`)을 선택합니다. * 이 목록에서 **앞서 `conda`로 생성한 가상 환경** (예: `my_project_env: conda`)을 선택합니다.
* 만약 목록에 보이지 않는다면, "Enter interpreter path..."를 선택하고 직접 가상 환경 내 Python 실행 파일 경로를 지정할 수도 있습니다. (예: `C:\Users\YourUser\anaconda3\envs\my_project_env\python.exe` 또는 `~/anaconda3/envs/my_project_env/bin/python`) * 만약 목록에 보이지 않는다면, "Enter interpreter path..."를 선택하고 직접 가상 환경 내 Python 실행 파일 경로를 지정할 수도 있습니다. (예: `C:\Users\YourUser\anaconda3\envs\my_project_env\python.exe` 또는 `~/anaconda3/envs/my_project_env/bin/python`)
* **중요:** 올바른 가상 환경을 인터프리터로 선택해야, 해당 환경에 설치한 라이브러리들을 VS Code가 인식하고 코드 자동 완성 및 실행을 제대로 지원할 수 있습니다.
**기본 사용법:** **기본 사용법:**
...@@ -342,7 +417,7 @@ Jupyter Notebook/Lab은 코드 스니펫을 빠르게 테스트하고, 데이터 ...@@ -342,7 +417,7 @@ Jupyter Notebook/Lab은 코드 스니펫을 빠르게 테스트하고, 데이터
* **코드 작성 및 실행:** * **코드 작성 및 실행:**
* Python 파일(`.py`)을 생성하거나 엽니다. * Python 파일(`.py`)을 생성하거나 엽니다.
* 코드를 작성한 후, 오른쪽 상단의 실행 버튼(삼각형 모양)을 클릭하거나, 터미널에서 `python <파일명>.py` 명령으로 실행합니다. * 코드를 작성한 후, 오른쪽 상단의 실행 버튼(삼각형 모양)을 클릭하거나, 터미널에서 `python <파일명>.py` 명령으로 실행합니다.
* VS Code 내 터미널은 "Terminal" > "New Terminal" 메뉴로 열 수 있습니다. * VS Code 내 터미널은 "Terminal" > "New Terminal" 메뉴로 열 수 있습니다. (이때 터미널은 선택된 `conda` 가상 환경으로 자동 활성화됩니다.)
* **디버깅:** 중단점(breakpoint)을 설정하고 디버깅 모드를 실행하여 코드 실행 과정을 단계별로 추적할 수 있습니다. * **디버깅:** 중단점(breakpoint)을 설정하고 디버깅 모드를 실행하여 코드 실행 과정을 단계별로 추적할 수 있습니다.
* **Git 연동:** VS Code는 Git 버전 관리 시스템을 내장하고 있어, 코드 변경 사항을 손쉽게 추적하고 협업할 수 있습니다. * **Git 연동:** VS Code는 Git 버전 관리 시스템을 내장하고 있어, 코드 변경 사항을 손쉽게 추적하고 협업할 수 있습니다.
...@@ -485,7 +560,7 @@ Hacker News 커뮤니티와 실제 개발자들의 경험을 바탕으로 한 ...@@ -485,7 +560,7 @@ Hacker News 커뮤니티와 실제 개발자들의 경험을 바탕으로 한
- **Custom API Key**: 자신의 LLM API 키를 연동하는 기능 (활용도는 낮은 편) - **Custom API Key**: 자신의 LLM API 키를 연동하는 기능 (활용도는 낮은 편)
- **설정 동기화**: 여러 PC 간 설정 동기화는 아직 공식적으로 잘 지원되지 않음 - **설정 동기화**: 여러 PC 간 설정 동기화는 아직 공식적으로 잘 지원되지 않음
이러한 고급 팁들을 활용하면 Cursor를 단순한 코드 에디터가 아닌, 진정한 AI 개발 파트너로 활용할 수 있습니다. 처음에는 기본 기능부터 시작하여 점적으로 고급 기능들을 익혀나가는 것을 권장합니다. 이러한 고급 팁들을 활용하면 Cursor를 단순한 코드 에디터가 아닌, 진정한 AI 개발 파트너로 활용할 수 있습니다. 처음에는 기본 기능부터 시작하여 점적으로 고급 기능들을 익혀나가는 것을 권장합니다.
## 8. 연습 문제 (Exercises) ## 8. 연습 문제 (Exercises)
1. AI 개발에서 가상 환경을 사용하는 것이 왜 중요한가요? 가상 환경을 사용하지 않았을 때 발생할 수 있는 문제점 2가지를 설명해보세요. 1. AI 개발에서 가상 환경을 사용하는 것이 왜 중요한가요? 가상 환경을 사용하지 않았을 때 발생할 수 있는 문제점 2가지를 설명해보세요.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment