Visual Studio Code 숨은 기능 & 생산성 향상 팁 모음

Posted by heoncode
2025. 4. 20. 14:40 개발 환경 & 팁 모음
728x90
반응형
SMALL

Visual Studio Code 숨은 기능 & 생산성 향상 팁 모음

Visual Studio Code(이하 VSCode)는 기본 기능만으로도 충분히 훌륭한 코드 편집기이지만, 잘 알려지지 않은 숨은 기능까지 활용하면 생산성을 더욱 높일 수 있습니다. 이번 글에서는 실무에 유용한 VSCode 숨은 기능과 설정 팁을 정리합니다.

1. 다중 커서 편집(Multi-Cursor Editing)

VSCode에서는 Alt 키를 누른 상태로 클릭하여 여러 위치에 동시에 커서를 추가할 수 있습니다. 또한 Ctrl + Shift + L을 누르면 선택한 단어와 같은 모든 단어에 커서를 추가할 수 있어 일괄 수정이 가능합니다.

2. 파일 간 빠른 전환(Quick File Switch)

Ctrl + P를 누르면 현재 작업 중인 폴더 내 파일들을 빠르게 검색하여 열 수 있습니다. 파일명을 일부만 입력해도 자동 완성되며, 최근 열었던 파일로 이동할 때 매우 유용합니다.

3. 명령 팔레트(Command Palette) 활용

Ctrl + Shift + P를 누르면 명령 팔레트를 열 수 있습니다. 확장 프로그램 설치, 설정 변경, 포맷팅 등 거의 모든 기능을 명령어로 검색해 실행할 수 있어 마우스 이동 없이 작업이 가능합니다.

4. 설정 검색 & 필터링

VSCode 설정 화면(파일 > 기본 설정 > 설정)에서는 키워드 검색이 가능합니다. 특정 설정을 빠르게 찾고 싶을 때 키워드를 입력하면 관련 항목만 필터링되어 효율적입니다.

5. 임시 편집기(Preview Mode)

탐색기에서 파일을 클릭할 때 임시 편집기(preview tab)로 열립니다. 이 기능 덕분에 불필요한 탭을 계속 생성하지 않고 하나의 탭만 재활용할 수 있습니다. 파일을 편집하면 자동으로 고정되며, 고정하려면 파일 탭을 더블클릭하면 됩니다.

6. 터미널 분할(Split Terminal)

내장 터미널을 열고 싶을 때 Ctrl + ` (백틱 키)를 누르면 됩니다. 터미널 창을 가로 또는 세로로 분할하려면 터미널 우측 상단에 있는 분할 아이콘을 클릭하거나 Ctrl + Shift + 5를 누르면 됩니다.

7. 작은 단위 커밋을 위한 소스 제어(Source Control)

VSCode에서는 Git을 기본 지원합니다. 좌측 패널의 소스 제어 아이콘을 통해 변경된 파일만 빠르게 커밋하고, 파일별로 선택하여 커밋하거나 바로 푸시할 수 있습니다.

8. 자동 저장(Auto Save)

파일 > 자동 저장(Auto Save) 메뉴를 활성화하면 일정 시간마다, 혹은 포커스를 잃을 때 자동으로 파일이 저장됩니다. 저장 실수를 방지하고 개발 흐름을 끊기지 않게 유지할 수 있습니다.

9. 스니펫(Snippets) 사용

코드를 빠르게 작성하고 싶을 때 사용자 정의 스니펫을 사용할 수 있습니다. 설정 > 사용자 스니펫으로 진입해 자주 사용하는 코드 조각을 등록하면 짧은 키워드만 입력해 자동 완성할 수 있습니다.

10. 미니맵(Minimap) 활용

편집기 우측에 나타나는 미니맵을 통해 코드 전체 구조를 빠르게 파악할 수 있습니다. 설정 > 미니맵에서 활성화 여부를 조정할 수 있으며, 코드 길이가 긴 파일 작업 시 특히 유용합니다.

마무리

VSCode의 숨은 기능을 적극 활용하면 작업 속도와 효율이 크게 향상됩니다. 기본 사용법에 익숙해졌다면 이번에 소개한 기능들을 차근차근 적용해보며 생산성을 한 단계 높여보시기 바랍니다.

#VSCode #숨은기능 #생산성팁 #개발환경 #코드편집기

728x90
반응형
LIST

Visual Studio Code 워크스페이스 설정법 & 폴더 관리 꿀팁

Posted by heoncode
2025. 4. 19. 15:22 개발 환경 & 팁 모음
728x90
반응형
SMALL

Visual Studio Code 워크스페이스 설정법 & 폴더 관리 꿀팁

Visual Studio Code(이하 VSCode)는 뛰어난 유연성 덕분에 다양한 프로젝트를 관리하기 좋은 코드 에디터입니다. 특히 워크스페이스 기능을 잘 활용하면 복잡한 폴더 구조나 여러 프로젝트를 효율적으로 다룰 수 있습니다. 이번 글에서는 VSCode 워크스페이스 기본 개념부터 폴더 관리 실전 팁까지 정리합니다.

워크스페이스란 무엇인가

워크스페이스는 VSCode에서 하나 이상의 폴더를 그룹으로 관리할 수 있는 기능입니다. 단일 폴더를 열어서 작업할 수도 있지만, 워크스페이스를 활용하면 여러 프로젝트를 하나의 세션에서 편리하게 다룰 수 있습니다.

워크스페이스는 .code-workspace라는 별도의 파일로 저장되며, 이 파일 안에 열려 있는 폴더 목록과 특정 설정값이 포함됩니다.

워크스페이스 파일 생성 방법

  1. VSCode를 실행하고 원하는 폴더를 엽니다.
  2. "파일 > 워크스페이스에 폴더 추가" 메뉴를 통해 추가 폴더를 등록합니다.
  3. "파일 > 워크스페이스로 저장"을 선택하여 .code-workspace 파일을 저장합니다.

이 과정을 통해 여러 폴더를 하나의 워크스페이스로 묶을 수 있으며, 다음부터는 이 파일만 열면 동일한 구성으로 작업을 시작할 수 있습니다.

워크스페이스 설정의 장점

  • 폴더별 설정 분리: 특정 폴더만 별도 설정이 필요할 경우, 워크스페이스에서 세부 설정을 분리할 수 있습니다.
  • 프로젝트 간 빠른 전환: 하나의 세션에서 다양한 폴더를 오가며 작업할 수 있습니다.
  • 일관된 개발 환경: 팀원들과 .code-workspace 파일을 공유하면 모두 같은 개발 환경을 사용할 수 있습니다.

워크스페이스 설정 예시

워크스페이스 파일에서는 폴더 구조뿐 아니라 다양한 설정을 함께 관리할 수 있습니다. 기본 구조 예시는 다음과 같습니다.

{
    "folders": [
        {
            "path": "프로젝트A"
        },
        {
            "path": "프로젝트B"
        }
    ],
    "settings": {
        "editor.tabSize": 2,
        "files.exclude": {
            "**/.git": true,
            "**/node_modules": true
        }
    }
}

이 예제에서는 탭 크기를 2로 설정하고, .git 폴더와 node_modules 폴더를 탐색기에서 숨기는 설정을 추가했습니다.

폴더 관리 실전 팁

  • 탐색기에서 불필요한 폴더 숨기기: files.exclude를 활용해 보기 싫은 폴더를 숨기면 폴더 트리가 깔끔해집니다.
  • 워크스페이스별 확장 기능 적용: 특정 워크스페이스에만 필요한 확장 프로그램을 설치하거나 비활성화할 수 있습니다.
  • 작업 폴더 정리: 프로젝트별 하위 폴더를 깔끔하게 정리하면 워크스페이스 관리가 훨씬 쉬워집니다.

마무리

VSCode의 워크스페이스 기능은 단순한 폴더 열기 이상의 강력한 생산성 도구입니다. 여러 프로젝트를 관리하거나 복잡한 폴더 구조를 깔끔하게 유지하고 싶다면 워크스페이스를 적극 활용해보시기 바랍니다.

#VSCode #워크스페이스 #폴더관리 #개발환경 #코드편집기

728x90
반응형
LIST

VSCode 테마 & 아이콘팩 추천 – 개발할 맛 나는 설정 모음

Posted by heoncode
2025. 4. 18. 19:07 개발 환경 & 팁 모음
728x90
반응형
SMALL

Visual Studio Code(VSCode)는 다양한 테마와 아이콘팩을 지원해 개발환경을 자유롭게 커스터마이징할 수 있습니다. 개발자가 자주 머무는 공간인 만큼, 눈이 편하고 작업이 즐거워지는 환경을 만드는 것은 매우 중요합니다. 이번 글에서는 많은 사용자들에게 사랑받는 VSCode 테마와 아이콘팩을 추천합니다.

VSCode 추천 테마

1. One Dark Pro

  • GitHub의 Atom 에디터 테마를 기반으로 제작된 테마입니다.
  • 다크 모드 기반으로 가독성이 뛰어나며, 눈이 피로하지 않은 색상 배합이 특징입니다.
  • 깔끔하면서도 개발 코드에 집중할 수 있는 환경을 제공합니다.

2. Dracula Official

  • 보라색 계열을 중심으로 한 다크 테마입니다.
  • 색 대비가 강해 코드 구분이 명확하며, 시각적인 피로도를 줄여줍니다.
  • 다양한 에디터와 툴에서 호환되는 점도 장점입니다.

3. GitHub Theme

  • GitHub 웹사이트와 동일한 색감을 VSCode에서도 사용할 수 있습니다.
  • 친숙하고 부드러운 색감 덕분에 장시간 코딩에도 무리가 없습니다.
  • Light 모드와 Dark 모드를 모두 지원합니다.

4. Tokyo Night

  • 일본 네온 감성을 모티브로 한 다크 테마입니다.
  • 블루 톤 기반으로 차분하면서도 현대적인 느낌을 줍니다.
  • 프론트엔드, 백엔드 모두에게 인기가 높은 테마입니다.

VSCode 추천 아이콘팩

1. Material Icon Theme

  • 가장 널리 사용되는 아이콘팩입니다.
  • 폴더와 파일 타입에 따라 직관적인 아이콘을 제공해 프로젝트 구조를 한눈에 파악할 수 있습니다.
  • 다양한 테마와도 조화롭게 어울립니다.

2. VSCode Icons

  • 풍부한 색감과 다양한 아이콘을 제공하는 확장입니다.
  • 프로젝트에 다양한 파일 형식이 많을 경우, 구분이 쉽고 보기 좋습니다.
  • 사용자 설정을 통해 특정 파일에 커스텀 아이콘을 지정할 수 있는 기능도 지원합니다.

설치 방법

  1. VSCode 좌측 사이드바에서 Extensions(확장) 아이콘 클릭
  2. 검색창에 원하는 테마나 아이콘팩 이름 입력
  3. Install 버튼 클릭 후 적용

테마 변경은 Ctrl + KCtrl + T를 누르면 쉽게 선택할 수 있습니다.
아이콘 테마 변경은 파일기본 설정파일 아이콘 테마 메뉴에서 변경할 수 있습니다.

실무 팁

  • 테마는 단순 취향이 아니라, 코드 가독성과 장시간 작업 시 피로도에 직접적인 영향을 줍니다.
  • 낮은 대비의 테마는 눈이 편하지만, 선명도가 낮아 디버깅 시 불편할 수 있습니다. 상황에 따라 테마를 교체하며 사용하는 것도 좋은 방법입니다.
  • 프로젝트 성격에 따라 아이콘팩을 바꿔보는 것도 생산성 향상에 도움이 됩니다. 예를 들어, 파일 종류가 다양할수록 구체적인 아이콘팩이 효과적입니다.

좋은 테마와 아이콘팩을 적용하면 개발 집중력과 몰입도가 눈에 띄게 올라갑니다. 본인에게 가장 맞는 조합을 찾아 최적의 환경을 만들어보시기 바랍니다.

#VSCode #테마추천 #아이콘팩추천 #개발환경꾸미기 #코딩생산성

728x90
반응형
LIST

Visual Studio Code 단축키 완벽 정리 – 초보부터 고급까지 자주 쓰는 단축키

Posted by heoncode
2025. 4. 18. 09:04 개발 환경 & 팁 모음
728x90
반응형
SMALL

Visual Studio Code(VSCode)는 강력한 기능과 더불어 다양한 단축키를 지원합니다. 마우스 없이 키보드만으로 작업 속도를 높이기 위해 단축키를 익히는 것은 매우 중요합니다. 이번 글에서는 초보자부터 고급 사용자까지 자주 사용하는 VSCode 단축키를 정리해 소개합니다.

기본 이동 및 편집 단축키

  • Ctrl + P : 파일 빠르게 열기

  • Ctrl + Shift + O : 현재 파일 내 심볼(함수, 변수 등) 이동

  • Ctrl + G : 특정 줄 번호로 이동

  • Ctrl + Shift + ] / [ : 코드 블록 접기/펼치기

  • Ctrl + C : 선택 영역이 없을 경우 현재 줄 복사

  • Ctrl + X : 선택 영역이 없을 경우 현재 줄 잘라내기

  • Alt + ↑ / ↓ : 현재 줄 위/아래로 이동

  • Shift + Alt + ↑ / ↓ : 현재 줄 복제

멀티 커서 & 편집 기능 단축키

  • Alt + Click : 원하는 위치에 커서 추가

  • Ctrl + Alt + ↓ / ↑ : 다음 줄에 커서 추가

  • Ctrl + D : 같은 단어 다음 찾기 및 선택

  • Ctrl + Shift + L : 선택된 모든 단어 일괄 선택

  • Ctrl + F2 : 문서 전체에서 같은 단어 모두 선택

  • Ctrl + / : 현재 줄 주석 처리

  • Shift + Alt + A : 선택 영역 블록 주석 처리

멀티 커서를 활용하면 여러 줄을 동시에 편집할 수 있어 생산성을 크게 높일 수 있습니다.

탐색 및 검색 단축키

  • Ctrl + Shift + F : 전체 프로젝트 내 검색
  • Ctrl + F : 현재 파일 내 검색
  • Ctrl + H : 현재 파일 내 검색 후 치환
  • F8 : 다음 검색 결과로 이동
  • Shift + F8 : 이전 검색 결과로 이동

터미널 및 디버깅 단축키

  • Ctrl + (백틱)` : 통합 터미널 열기/닫기
  • Ctrl + Shift + ' : 새 터미널 생성
  • F5 : 디버깅 시작
  • F9 : 중단점 토글
  • F10 : 디버깅 중 한 줄씩 실행(Step Over)
  • F11 : 함수 내부로 진입(Step Into)

VSCode의 통합 터미널을 단축키로 자유롭게 다루면, 별도 터미널 프로그램을 사용할 필요가 없어집니다.

기타 유용한 단축키

  • Ctrl + B : 사이드바 열기/닫기
  • Ctrl + KCtrl + S : 전체 단축키 목록 보기
  • Ctrl + KCtrl + 0 : 에디터 포커스 이동
  • Ctrl + Shift + M : 문제 패널 열기

실무 팁

  • 익숙해진 단축키부터 자연스럽게 손에 익히는 것이 중요합니다. 한꺼번에 외우기보다, 한두 개씩 늘려가는 방법이 효율적입니다.
  • 직접 단축키를 커스터마이징할 수도 있습니다. 파일환경설정키보드 단축키 메뉴에서 본인 스타일에 맞게 수정이 가능합니다.
  • 작업이 느려지거나 마우스를 많이 사용하는 구간이 있다면, 그 부분의 단축키를 찾아서 익혀보는 것이 큰 도움이 됩니다.

VSCode 단축키를 꾸준히 연습하면 개발 속도가 눈에 띄게 빨라집니다. 지금부터 하나씩 적용해보시기 바랍니다.

#VSCode #단축키정리 #코딩생산성 #개발환경 #VSCode팁

728x90
반응형
LIST

Visual Studio Code 최적 세팅 방법 – settings.json 기본 세팅 예제 정리

Posted by heoncode
2025. 4. 17. 22:06 개발 환경 & 팁 모음
728x90
반응형
SMALL

Visual Studio Code(VSCode)는 기본 설정만으로도 충분히 사용할 수 있지만, settings.json 파일을 통해 개인에 맞는 최적화된 개발 환경을 만들 수 있습니다. 오늘은 실무에서 자주 사용하는 VSCode 기본 세팅 예제를 정리해 소개합니다.

settings.json이란?

settings.json은 VSCode의 세부 설정을 담는 파일입니다. UI를 통해 설정할 수도 있지만, 직접 JSON 파일을 수정하면 더 빠르고 세밀한 설정이 가능합니다. 사용자 설정(User Settings)과 작업 영역 설정(Workspace Settings)으로 나뉘며, 여기서는 사용자 설정 기준으로 설명합니다.

settings.json 파일 여는 방법

  1. VSCode 오른쪽 하단 톱니바퀴 클릭
  2. 설정(Settings) → 우측 상단 {} 아이콘 클릭
  3. settings.json 파일 열림

또는 단축키 Ctrl + Shift + P를 누른 후, "Preferences: Open Settings (JSON)"을 검색해 바로 열 수 있습니다.

추천 기본 세팅 예제

다음은 대부분의 개발자가 유용하게 사용하는 기본 세팅입니다.

{
    "editor.tabSize": 4,
    "editor.insertSpaces": true,
    "editor.wordWrap": "on",
    "files.autoSave": "onFocusChange",
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
        "source.fixAll": true
    },
    "terminal.integrated.fontSize": 13,
    "workbench.startupEditor": "none",
    "breadcrumbs.enabled": true
}

세팅 항목 설명

  • editor.tabSize: 탭을 4칸 들여쓰기로 설정합니다.
  • editor.insertSpaces: 탭 대신 공백(space)으로 들여쓰기를 합니다.
  • editor.wordWrap: 긴 코드 줄을 자동으로 줄바꿈 처리합니다.
  • files.autoSave: 다른 창으로 포커스 이동 시 파일을 자동 저장합니다.
  • editor.formatOnSave: 파일 저장 시 자동으로 코드 포맷팅을 적용합니다.
  • editor.codeActionsOnSave: 저장할 때 가능한 오류를 자동 수정합니다.
  • terminal.integrated.fontSize: 터미널 글자 크기를 13px로 설정합니다.
  • workbench.startupEditor: VSCode 실행 시 빈 화면으로 시작합니다.
  • breadcrumbs.enabled: 현재 파일 경로를 상단에 표시합니다.

추가 추천 설정

개발 스타일이나 사용하는 언어에 따라 다음 설정도 고려할 수 있습니다.

  • "editor.minimap.enabled": false → 미니맵(우측 미리보기) 비활성화
  • "window.zoomLevel": 1 → 전체 에디터 UI 크기 확대
  • "editor.cursorSmoothCaretAnimation": true → 커서 이동 애니메이션 적용

실무 팁

  • settings.json은 개인 PC뿐만 아니라 클라우드 동기화를 통해 여러 기기에서 공유할 수 있습니다.
  • 설정이 꼬였을 경우, 기존 settings.json 파일을 백업한 후 초기화하면 문제를 쉽게 해결할 수 있습니다.
  • 언어나 프로젝트별로 다른 세팅이 필요한 경우, .vscode/settings.json을 별도로 구성하는 것도 좋은 방법입니다.

VSCode를 처음 설치한 후 기본 설정만 잘 잡아줘도 개발 생산성은 크게 향상됩니다. 이번 세팅 예제를 기반으로 자신만의 개발 환경을 꾸며보시기 바랍니다.

#VSCode #settings.json #개발환경 #코딩생산성 #VSCode세팅

728x90
반응형
LIST

Visual Studio Code 추천 확장 프로그램 2025 버전 – 생산성 향상 필수 플러그인 정리

Posted by heoncode
2025. 4. 17. 16:06 개발 환경 & 팁 모음
728x90
반응형
SMALL

Visual Studio Code(VSCode)는 가볍고 강력한 기능 덕분에 현재 가장 널리 사용되는 코드 편집기입니다. 기본 기능만으로도 훌륭하지만, 확장 프로그램을 활용하면 생산성과 작업 효율을 크게 높일 수 있습니다. 오늘은 2025년 기준으로 추천할 만한 VSCode 확장 프로그램을 정리해 소개합니다.

1. Prettier – Code formatter

Prettier는 코드 포맷팅을 자동화해주는 확장입니다. 팀 단위 개발 시 코드 스타일을 통일하는 데 필수적이며, 저장할 때 자동으로 코드 정리를 할 수 있어 사소한 포맷팅 스트레스가 줄어듭니다.

  • 주요 기능: 자동 코드 정렬, 포맷 강제 적용
  • 추천 설정: 저장 시 포맷팅(Auto Format on Save) 활성화

2. GitLens – Git supercharged

GitLens는 Git 사용 경험을 극대화해주는 확장입니다. 코드 라인별로 누가 작성했는지 보여주고, 커밋 히스토리를 간편하게 확인할 수 있습니다. 코드 분석과 협업에 매우 유용합니다.

  • 주요 기능: Blame 표시, 커밋 내역 비교, 변경사항 시각화
  • 추천 설정: 사이드바에 GitLens 패널 고정

3. REST Client

REST Client는 외부 API 요청을 간편하게 테스트할 수 있는 도구입니다. 별도의 프로그램 없이 VSCode 안에서 HTTP 요청을 작성하고 바로 결과를 받을 수 있어 백엔드 개발자나 API를 자주 다루는 개발자에게 유용합니다.

  • 주요 기능: GET, POST 요청 테스트, 토큰 인증 지원
  • 추천 사용: 프로젝트 루트에 .http 파일 작성해 관리

4. Tabnine – AI Code Completion

Tabnine은 인공지능 기반 코드 자동완성 확장입니다. 프로젝트 패턴을 학습해 다음에 올 코드를 예측하여 추천해줍니다. 특히 반복되는 코드 작성 시 빠른 생산성 향상을 기대할 수 있습니다.

  • 주요 기능: AI 기반 코드 자동완성, 다양한 언어 지원
  • 주의 사항: 무료 버전은 기능 일부 제한

5. Error Lens

Error Lens는 코드 오류나 경고를 라인에 직접 표시해주는 확장입니다. 별도로 문제탐색기 창을 열지 않고도 문제를 바로 인식하고 수정할 수 있어 디버깅 효율이 높아집니다.

  • 주요 기능: 에러 메시지 인라인 표시, 경고/오류 강조
  • 추천 설정: 경고/에러 색상 커스터마이즈

부가 추천: 개발을 더 빠르게 하는 확장들

  • Path Intellisense: 파일 경로 자동완성 지원
  • Bracket Pair Colorizer 2: 중괄호, 대괄호 짝을 색깔로 구분
  • Markdown All in One: 마크다운 작성 환경 최적화

실무 팁

  • 확장은 많을수록 좋은 것이 아니라, 필요한 최소한만 설치하는 것이 성능 유지에 유리합니다.
  • 설정 파일(settings.json)을 백업해두면, 다른 PC에서도 빠르게 환경을 복원할 수 있습니다.
  • 확장 설치 후 바로 적용이 안 되는 경우, VSCode를 재시작하거나 설정을 한번 확인해보는 것이 좋습니다.

Visual Studio Code는 확장을 어떻게 구성하느냐에 따라 완전히 다른 개발 경험을 제공합니다. 이번에 소개한 확장 프로그램을 설치해 개발 생산성을 한층 끌어올려 보시기 바랍니다.

#VSCode #개발환경 #코딩생산성 #VSCode추천확장 #프로그래밍툴

728x90
반응형
LIST

윈도우에서 반복 작업 자동화 – Power Automate Desktop 실전 활용 예시

Posted by heoncode
2025. 4. 17. 09:25 코딩 자동화 & 스크립트
728x90
반응형
SMALL

반복되는 작업을 자동화하면 개발자뿐 아니라 사무직 사용자도 업무 효율을 크게 높일 수 있습니다. 특히 마우스 클릭, 텍스트 입력, 파일 정리 같은 단순 작업은 자동화에 가장 적합한 영역입니다. 오늘은 마이크로소프트에서 무료로 제공하는 자동화 도구인 Power Automate Desktop을 이용해 윈도우 환경에서 반복 작업을 자동화하는 실전 예제를 소개합니다.

Power Automate Desktop이란?

Power Automate Desktop은 마이크로소프트의 RPA(Robotic Process Automation) 도구입니다. 마우스 클릭, 키보드 입력, 파일 이동, 브라우저 제어 등 대부분의 작업을 자동화할 수 있으며, 별도의 프로그래밍 지식 없이 GUI 기반으로 자동화 흐름을 구성할 수 있습니다. 특히 윈도우 10 이후 버전에서는 기본적으로 무료로 제공되어 접근성도 뛰어납니다.

설치 방법

  1. Microsoft Store 또는 공식 홈페이지(https://powerautomate.microsoft.com/)에서 'Power Automate Desktop' 설치
  2. 설치 후 Microsoft 계정으로 로그인
  3. 첫 실행 시 데스크탑 플로우 실행을 위한 브라우저 확장 설치 및 권한 설정

실전 예제: 반복적인 엑셀 파일 이름 변경 및 이동 자동화

사무 업무에서 자주 발생하는 '엑셀 파일을 날짜별로 정리하고 이름을 변경하는 작업'을 예로 들어 자동화를 구성해보겠습니다.

자동화 흐름 요약

  • 특정 폴더에서 .xlsx 확장자 파일을 탐색
  • 파일 이름을 보고서_날짜.xlsx 형태로 변경
  • 지정된 백업 폴더로 이동

구성 예시

  1. "파일 검색" 액션으로 대상 폴더에서 .xlsx 파일 목록 추출
  2. "현재 날짜 가져오기" 액션으로 날짜 정보 확보
  3. "파일 이름 바꾸기" 액션으로 이름 변경
  4. "파일 이동" 액션으로 백업 폴더로 이동

주요 설정 포인트

  • 파일 경로는 변수로 설정해 재사용성 확보
  • 날짜는 yyyyMMdd 포맷으로 구성해 정렬 편의성 유지
  • 실패 시 알림 팝업을 띄우는 조건 분기 설정 가능

자동화 결과

위 흐름을 저장하고 '플로우 실행' 버튼을 클릭하면, 매일 반복하던 파일 정리 작업이 1초 만에 완료됩니다. 파일 개수가 많아도 속도 저하 없이 처리되며, 오류 발생 시 로그까지 남겨 추적이 가능합니다.

실무 팁

  • 정기적으로 실행하고 싶다면 작업 스케줄러와 연동해 자동 실행 가능
  • 반복 클릭, 로그인 등 GUI 자동화는 화면 해상도와 위치에 영향을 받을 수 있으므로 고정된 환경에서 사용하는 것이 안정적입니다
  • 자동화 플로우는 템플릿으로 저장해 다른 프로젝트에도 재활용할 수 있습니다

Power Automate Desktop은 초보자도 쉽게 접근할 수 있는 강력한 도구입니다. 개발자가 아닌 사용자도 클릭 몇 번으로 반복 업무를 자동화할 수 있으며, 개발자 입장에서도 테스트 데이터 준비, 단순 반복 시뮬레이션 등에서 유용하게 사용할 수 있습니다.

앞으로 간단한 반복 작업은 직접 하지 말고 자동화해보시기 바랍니다.

#PowerAutomate #윈도우자동화 #업무자동화 #파일이름변경 #반복작업자동화 #코딩없이자동화

728x90
반응형
LIST

SQL에서 문자열 비교와 대소문자 구분 – LIKE, =, ILIKE의 차이점

Posted by heoncode
2025. 4. 16. 14:14 SQL 기초 정리
728x90
반응형
SMALL

SQL에서 문자열 비교와 대소문자 구분 – LIKE, =, ILIKE의 차이점

SQL에서 문자열을 비교할 때, 사용되는 연산자나 함수에 따라 대소문자 구분 여부가 달라질 수 있습니다. 이로 인해 예상치 못한 결과가 나올 수 있으므로, 문자열 비교 시 어떤 연산자를 사용해야 할지 정확히 이해하는 것이 중요합니다. 이 글에서는 SQL에서 LIKE, =, ILIKE의 차이점과 대소문자 구분에 대해 정리합니다.

1. = 연산자: 정확한 일치 비교

= 연산자는 두 문자열이 완전히 동일한지 비교할 때 사용됩니다. 이 연산자는 대소문자를 구분합니다. 즉, Aa는 다른 값으로 간주됩니다.

예시:

SELECT * FROM users
    WHERE username = 'JohnDoe';

위 쿼리는 username이 정확히 'JohnDoe'인 경우만 반환합니다. 만약 johnDoeJOHNDOE가 있다면 결과에 포함되지 않습니다.

2. LIKE 연산자: 패턴 일치 비교

LIKE 연산자는 문자열의 일부분이 일치하는지 확인할 때 사용됩니다. 이때 대소문자 구분 여부는 사용하는 DBMS에 따라 다릅니다. 예를 들어, MySQL에서는 기본적으로 대소문자를 구분하지 않지만, PostgreSQL에서는 기본적으로 대소문자를 구분합니다.

예시:

SELECT * FROM users
    WHERE username LIKE 'john%';

위 쿼리는 username이 'john'으로 시작하는 모든 값을 반환합니다. MySQL에서는 'john'과 'John'이 모두 매칭될 수 있지만, PostgreSQL에서는 'john'만 매칭됩니다.

3. ILIKE 연산자: 대소문자 구분 없는 비교 (PostgreSQL 전용)

PostgreSQL에서는 ILIKE 연산자를 사용하여 대소문자를 구분하지 않고 문자열을 비교할 수 있습니다. 이 연산자는 LIKE와 동일한 방식으로 패턴을 비교하지만, 대소문자를 무시합니다.

예시:

SELECT * FROM users
    WHERE username ILIKE 'john%';

위 쿼리는 username이 'john', 'John', 'JOHN' 등 어떤 형태든 'john'으로 시작하면 모두 매칭됩니다. 단, ILIKE는 PostgreSQL에서만 사용 가능하므로 다른 DBMS에서는 동작하지 않습니다.

실무 팁

  • Oracle이나 SQL Server에서는 ILIKE가 지원되지 않기 때문에, 대소문자 무시 비교를 하려면 UPPER() 또는 LOWER() 함수를 함께 사용해야 합니다.
  • 인덱스를 활용하고 싶다면 가공된 컬럼(예: LOWER(username))에 대해 별도 인덱스를 생성해야 성능 저하를 방지할 수 있습니다.

예시 (Oracle 기준):

SELECT * FROM users
    WHERE LOWER(username) = 'johndoe';

이렇게 하면 대소문자를 구분하지 않고 비교할 수 있습니다.

결론

SQL에서 문자열 비교 시 대소문자 구분 여부는 연산자와 DBMS에 따라 다릅니다. =는 항상 구분하며, LIKE는 DBMS에 따라 다르고, PostgreSQL에서는 ILIKE로 대소문자 무시 비교가 가능합니다. 실무에서는 이러한 차이를 이해하고 상황에 맞는 비교 방식을 선택해야 합니다.

#sql #문자열비교 #like #ilike #대소문자구분 #sql기초

728x90
반응형
LIST

서브쿼리 성능 최적화 – 서브쿼리에서 성능을 끌어올리는 5가지 방법

Posted by heoncode
2025. 4. 16. 09:12 오라클 실무 쿼리 튜닝
728x90
반응형
SMALL

서브쿼리는 SQL에서 매우 유용하게 쓰이는 기능이지만, 잘못 사용하면 전체 쿼리 성능을 크게 떨어뜨릴 수 있습니다. 특히 실무 환경에서는 서브쿼리가 느려지는 원인을 정확히 파악하고, 효율적으로 개선하는 것이 중요합니다. 이 글에서는 서브쿼리를 성능 저하 없이 사용하는 실전 최적화 팁 5가지를 소개합니다.

1. 불필요한 서브쿼리는 조인으로 대체

단순히 조건 확인용으로 쓰이는 서브쿼리는 조인으로 바꾸는 것이 더 나은 경우가 많습니다. 서브쿼리가 테이블을 여러 번 조회할 가능성이 있기 때문에, 조인으로 바꾸면 물리적 접근 횟수를 줄일 수 있습니다.

예시:

SELECT E.ename, D.dname
FROM emp E
JOIN dept D ON E.deptno = D.deptno
WHERE D.loc = 'DALLAS';

이와 같은 방식으로 WHERE 절 서브쿼리를 JOIN으로 바꾸면 쿼리 최적화에 유리해집니다.

2. 스칼라 서브쿼리는 주의해서 사용

SELECT 절에서 서브쿼리를 쓰는 경우, 특히 테이블 로우마다 반복 실행되기 때문에 성능 저하의 주범이 될 수 있습니다. 이런 경우도 조인으로 바꾸는 게 훨씬 효율적입니다.

비효율적인 예:

SELECT ename,
       (SELECT dname FROM dept D WHERE D.deptno = E.deptno) AS dname
FROM emp E;

대체 가능한 방식:

SELECT E.ename, D.dname
FROM emp E
JOIN dept D ON E.deptno = D.deptno;

3. EXISTS vs IN – 상황에 따라 구분

서브쿼리 안에서 IN을 사용하는 경우와 EXISTS를 사용하는 경우는 성능 차이가 발생할 수 있습니다. 일반적으로 EXISTS는 조건을 만족하는 첫 행만 찾으면 종료되므로 더 빠르게 처리됩니다.

-- EXISTS 예시
SELECT ename
FROM emp E
WHERE EXISTS (SELECT 1 FROM dept D WHERE D.deptno = E.deptno AND D.loc = 'DALLAS');

-- IN 예시
SELECT ename
FROM emp
WHERE deptno IN (SELECT deptno FROM dept WHERE loc = 'DALLAS');

두 방식 모두 테스트 후 더 빠른 쪽을 선택하는 것이 좋습니다.

4. 서브쿼리 결과를 뷰 또는 인라인 뷰로 활용

복잡한 서브쿼리를 여러 번 사용할 경우, 해당 서브쿼리를 뷰로 분리하거나 인라인 뷰로 활용하는 것이 성능을 개선하는 데 도움이 됩니다.

SELECT E.ename, V.dname
FROM emp E
JOIN (SELECT deptno, dname FROM dept WHERE loc = 'DALLAS') V
  ON E.deptno = V.deptno;

이렇게 하면 서브쿼리 결과를 캐시처럼 활용할 수 있어 반복 실행을 방지할 수 있습니다.

5. 서브쿼리 내부에도 인덱스가 필요하다

서브쿼리가 아무리 작아도, 내부에서 WHERE, JOIN, IN 등을 사용하는 경우 해당 조건 컬럼에 인덱스가 없다면 성능 병목이 생깁니다. 서브쿼리라고 해서 옵티마이저가 무시하지 않기 때문에, 내부 테이블의 통계 정보 및 인덱스 구성도 반드시 확인해야 합니다.


서브쿼리는 무조건 나쁘다는 오해가 많지만, 목적과 상황에 맞게 작성하면 충분히 강력한 도구가 됩니다. 위의 팁들을 실제 쿼리에 적용해보고, 옵티마이저 실행 계획을 분석해 보며 성능 개선 효과를 확인해보시기 바랍니다.


#서브쿼리 #SQL성능최적화 #오라클튜닝 #서브쿼리조인 #EXISTSvsIN #인라인뷰

728x90
반응형
LIST

WHERE 조건은 인덱스를 타는데 왜 느릴까? – INDEX RANGE SCAN의 함정과 대처법

Posted by heoncode
2025. 4. 15. 14:12 오라클 실무 쿼리 튜닝
728x90
반응형
SMALL

오라클에서 실행 계획을 보면 INDEX RANGE SCAN이 잡히는 경우가 있습니다. 일반적으로 이는 인덱스를 잘 활용하고 있다는 의미로 받아들여지지만, 실제로는 쿼리 성능이 기대만큼 나오지 않거나 오히려 느려지는 경우도 존재합니다.

이번 글에서는 인덱스를 타고 있음에도 성능이 저하되는 이유를 다양한 관점에서 분석하고, 이를 해결하기 위한 실무적인 팁을 함께 소개합니다.

1. INDEX RANGE SCAN이란?

INDEX RANGE SCAN은 인덱스를 통해 일부 범위만 탐색하는 방식입니다. 예를 들어 조건절이 WHERE AGE BETWEEN 20 AND 30처럼 범위 조건일 때 사용됩니다.

실행 계획에서 다음처럼 보입니다:

INDEX RANGE SCAN on IDX_EMP_AGE

인덱스가 사용되므로 성능이 좋을 것으로 기대되지만, 아래와 같은 이유로 성능이 떨어질 수 있습니다.

2. 인덱스를 타는데 느린 이유

① TABLE ACCESS BY ROWID가 병목

인덱스를 타더라도 최종 데이터를 읽기 위해 테이블 본문을 조회해야 하는 경우가 많습니다. 이는 TABLE ACCESS BY ROWID 단계에서 발생하며, 인덱스로 찾은 ROWID를 따라가 테이블을 반복해서 읽는 구조입니다.

행 수가 많다면 디스크 I/O가 상당히 증가합니다.

② 인덱스 조건은 탔지만 FILTER 조건에서 제외됨

예를 들어 다음 쿼리에서:

SELECT * FROM EMP
WHERE AGE BETWEEN 30 AND 40 AND GENDER = 'M';

AGE 컬럼에만 인덱스가 있을 경우, GENDER = 'M' 조건은 인덱스에서 필터링되지 않고, 테이블 조회 후 FILTER 단계에서 제거됩니다. 불필요한 행을 먼저 읽는 구조가 되므로 비효율적입니다.

③ 인덱스 컬럼이 NULLABLE이거나 정렬도가 낮음

조건 컬럼이 NULL 값을 많이 포함하거나, 정렬도가 낮은 컬럼일 경우 오라클 옵티마이저는 예측보다 많은 범위를 탐색하게 됩니다. 결국 인덱스를 사용하고도 실제 I/O 비용은 높은 상황이 됩니다.

④ 조건 범위가 지나치게 넓음

INDEX RANGE SCAN이라도 WHERE AGE > 0 같은 조건이라면 거의 전체 테이블을 읽는 것과 다름없는 범위를 탐색하게 됩니다. 이럴 경우에는 오히려 FTS(FULL TABLE SCAN)가 더 빠를 수 있습니다.

3. 개선 방법

✅ 필요한 컬럼만 SELECT

필요한 컬럼만 조회하면 INDEX ONLY SCAN으로 전환할 수 있습니다. 이 경우 테이블을 조회하지 않고 인덱스만으로 결과를 반환하므로 매우 빠릅니다.

예시:

SELECT AGE FROM EMP WHERE AGE BETWEEN 20 AND 30;

AGE만 필요하면 INDEX ONLY SCAN이 가능해집니다.

✅ 복합 인덱스 설계

위 예시처럼 AGEGENDER를 모두 조건으로 사용하는 경우, 두 컬럼을 포함하는 복합 인덱스를 설계하면 FILTER 단계를 제거할 수 있습니다.

CREATE INDEX IDX_EMP_AGE_GENDER ON EMP(AGE, GENDER);

✅ 인덱스 힌트와 실행 계획 확인

실행 계획을 항상 확인하여 실제 인덱스가 어떤 방식으로 사용되는지 점검해야 합니다. 때로는 옵티마이저가 인덱스를 사용하더라도 성능상 불리할 수 있으며, 이럴 경우 힌트를 통해 명시적으로 FTS로 유도하는 것도 방법입니다.


마무리하며

실행 계획에 INDEX RANGE SCAN이 떴다고 해서 반드시 빠른 쿼리라고 단정지을 수는 없습니다. 실제 쿼리 성능은 테이블 접근 방식, 조건의 범위, 필터 조건 처리 방식 등 다양한 요소가 복합적으로 작용합니다.

이전에 작성한 INDEX가 안 잡힐 때 확인할 조건SELECT COUNT(*)가 느릴 때 – 성능 개선 전략과 대안 글과 함께 참고하면, 인덱스 관련 성능 이슈를 보다 정확하게 진단하고 해결할 수 있습니다.

#오라클 #SQL튜닝 #인덱스성능 #INDEXRANGESCAN #실행계획 #실무팁 #SQL최적화

728x90
반응형
LIST