iTerm2 개발환경 셋팅.
1. iTerm2 설치
- 공식 웹사이트에서 iTerm2를 다운로드하고 설치합니다: iTerm2 공식 사이트
2. 폰트 설정
가독성을 높이기 위해 Powerline 또는 Nerd Fonts를 설치합니다.
이 폰트는 iTerm2와 터미널 플러그인(예: zsh, tmux 등)에서 아이콘과 특수 문자를 깔끔하게 표시해 줍니다.
설치 방법:
- Nerd Fonts 다운로드
Nerd Fonts 사이트에서 Fira Code 또는 Hack 같은 개발자 친화적인 폰트를 다운로드합니다. - 폰트 설치
다운로드한 폰트를 더블클릭하여 설치. - iTerm2에서 설정
- iTerm2 → Preferences → Profiles → Text → Font → "Change Font" 클릭.
- 설치한 폰트를 선택합니다.
3. Zsh와 Oh My Zsh 설치
Zsh는 macOS의 기본 쉘이고, Oh My Zsh는 Zsh를 쉽게 설정할 수 있는 프레임워크입니다.
Zsh와 Oh My Zsh 설치:
bash
코드 복사
# Oh My Zsh 설치 sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
추천 플러그인 설치:
Oh My Zsh의 플러그인으로 생산성을 높일 수 있습니다.
- Autosuggestions (명령어 자동 완성)
- Syntax Highlighting (명령어 색상 강조)
설치 방법:
bash
코드 복사
# Autosuggestions 설치 git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions # Syntax Highlighting 설치 git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
.zshrc에 플러그인 추가:
bash
코드 복사
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
bash
코드 복사
source ~/.zshrc
4. iTerm2 단축키 설정
4.1 Split Pane (화면 분할)
- Horizontal Split: Cmd + Shift + D
- Vertical Split: Cmd + D
- iTerm2 → Preferences → Keys → 단축키 커스터마이징 가능.
4.2 탭 관련 단축키
- 새 탭 열기: Cmd + T
- 탭 이동: Cmd + 숫자 또는 Cmd + 방향키
5. 컬러 스킴 설정
- iTerm2-Color-Schemes에서 원하는 테마를 다운로드합니다.
- Preferences → Profiles → Colors → "Color Presets..." → "Import" 클릭.
- 다운로드한 .itermcolors 파일을 선택하여 적용.
추천 테마
- Solarized Dark
- Dracula
6. Tmux 통합
Tmux는 세션을 유지하고, 화면을 효율적으로 분할하는 데 유용합니다.
설치 방법:
bash
코드 복사
brew install tmux
Tmux 설정:
.tmux.conf 파일을 생성하여 기본 설정 추가:
bash
코드 복사
# 기본 키맵 변경 set -g prefix C-a unbind C-b bind C-a send-prefix # 창 분할 단축키 bind | split-window -h bind - split-window -v
7. 마우스와 스크롤 개선
iTerm2 → Preferences → Profiles → Terminal → "Scrollback Buffer"에서 다음 옵션 활성화:
- Unlimited Scrollback
- "Save lines to scrollback when an app status bar is present"
NumPy 배열
1. 배열 차원 확인하기
NumPy 배열 객체에는 .ndim 속성이 있어서 바로 차원 확인 가능.
import numpy as np
# 1차원 배열
array_1d = np.array([1, 2, 3])
print(array_1d.ndim) # 결과: 1
# 2차원 배열
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print(array_2d.ndim) # 결과: 2
# 3차원 배열
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(array_3d.ndim) # 결과: 3
직관적으로 기억하기
- .ndim: "이 배열이 몇 층으로 쌓여 있나?"를 알려준다.
- 1차원은 선, 2차원은 표(행렬), 3차원부터는 표가 여러 개 쌓인 구조.
2. 배열 크기 확인하기
각 차원의 크기는 .shape 속성으로 확인.
print(array_1d.shape) # (3,)
print(array_2d.shape) # (2, 3)
print(array_3d.shape) # (2, 2, 2)
- (3,): 1차원에서 요소 3개.
- (2, 3): 2차원에서 2개의 행, 각 행에 3개 요소.
- (2, 2, 2): 3차원에서 2개의 "2x2" 행렬.
느낌으로 이해
- shape의 각 숫자는 차원별로 얼마나 '넓고 깊은지' 알려주는 구조다.
3. 전체 요소 수 확인
배열에 총 몇 개의 요소가 있는지 .size 속성으로 확인.
print(array_1d.size) # 3
print(array_2d.size) # 6
print(array_3d.size) # 8
4. NumPy 없이 리스트로 차원 파악하기
Python 기본 리스트에는 .ndim 같은 속성이 없다. 그래서 재귀 함수로 차원을 확인해야 한다.
def get_dimension(arr):
if isinstance(arr, list):
return 1 + get_dimension(arr[0])
else:
return 0
# 2차원 리스트
list_2d = [[1, 2, 3], [4, 5, 6]]
print(get_dimension(list_2d)) # 결과: 2
# 3차원 리스트
list_3d = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
print(get_dimension(list_3d)) # 결과: 3
간단히 이해하기
- 리스트를 열어보고 안에 또 리스트가 있으면 차원이 증가하는 구조다.
요약
- NumPy 사용: .ndim → 차원 확인, .shape → 각 차원의 크기, .size → 전체 요소 수.
- NumPy 없이: 재귀 함수로 차원 계산.
- 2차원까지는 표처럼 보면 되고, 3차원부터는 "표가 쌓여 있다"고 상상하면 이해가 쉽다.
파이썬 문제풀이 (프로그래머스 입문 6-7일차)

'TIL' 카테고리의 다른 글
| [TIL] 241206 Markdown 문법 정리 (1) | 2024.12.06 |
|---|---|
| [TIL] 241128 개발환경셋팅(Input-leap) (2) | 2024.11.28 |
| [TIL] 241126 (1) | 2024.11.26 |
| [TIL] 최빈값 찾기 (2) | 2024.11.25 |
| [TIL] 241122 (1) | 2024.11.22 |