개발자를 위한 Windows 11 설정

개발자를 위한 Windows 11 설정
Photo by Windows / Unsplash

Windows 11 설치

Windows를 사용하는 저와 같은 초보 개발자를 위한 기사를 작성하였습니다. 언제나 그렇듯이 기존에 사용하시던 시스템의 백업을 '철저'하게 하시길 권합니다. Dropbox, Google Drive 혹은 OneDrive의 동기화가 최신으로 되어 있는지 확인하세요. 시작해보죠!

Clean install을 위한 USB 만들기

  • Windows 11(22000.194, 이하 윈도우 11)을 설치하기 위해선 먼저 하드웨어 사양을 확인해야 합니다. 현재 윈도우 11을 설치하기 위한 최소한의 하드웨어 중 여러분이 신경써야 하는 것은 TPM 2.0을 지원여부 입니다.

    • 하드웨어의 경우 제조사에 문의해서 TPM 2.0 관련 BIOS를 업데이트 하시거나, fTPM, PTT(Platform Trust Technology) 등과 관련된 내용을 문의하시길 바랍니다.
  • TPM 2.0 지원 여부에 대해서 알지 못하신다면, 윈도우 11 ISO 파일을 다운로드 하는 방법 중 하나인 Create Windows 11 Installation Media를 사용해서 USB를 만드시길 권해드리며, USB는 8기가 이상이면 됩니다. Windows 11 Installation MediaMicrosoft의 공식 홈페이지에서 다운로드 하실 수 있습니다. Windows 11 Installation Media를 사용하면 하드웨어 지원 여부, ISO 다운로드, 설치 USB까지 한번에 진행하실 수 있습니다.

001_windows11_usb

  • 개발자의 경우 설치할 윈도우는 영문으로 선택하세요. Use the recommended options for this PC의 선택을 해제하시면 언어(Language)를 선택하실 수 있습니다.

002_windows11_eng

USB 부팅

  • USB를 사용해서 부팅을 진행한다. 자신이 사용하는 제조사에 따라서 USB를 부팅하는 방법이 다르긴 하지만, 하드웨어 부팅시 부팅 단축키를 사용하면 부팅에 사용할 미디어를 선택할 수 있다. 예를 들어, LG 노트북은 F10을 누르면, 아래와 같이 부팅 미디어를 선택할 수 있다.

003_windows11_usb

Windows 11 Clean Install

  • 윈도우 11 설치시 주의해야 할 사항은 4가지 입니다.

  • 첫째, 설치 언어(Language to install)를 'English'로 선택하시고, 시간 및 통화 형식(Time and currency format)은 'Korean(Korea)'를 선택하세요. 나머지 사항은 아래를 참고하세요.

    • 언어 전환(영문<->한글) 방법 중 'Shift + Space'를 사용하시면 Korean PC/AT 101-Key Compatible Keyboard (Type 3)를 선택하세요.
      004_windows11_install
  • 둘째, Windows 11 제품키의 경우 기존에 사용하시던 제품키를 그대로 사용하시면 됩니다. 그리고 제품키가 기억이 안난다면, 제품키 없이 설치 후에 Microsoft 계정을 사용하셔서 인증을 진행하셔도 됩니다.

  • 셋째, 윈도우 11 버전은 Pro를 권해드리며, Home을 사용하신다면 회사에서 사용하지 마시고 개인적인 용도로 사용하셔야 됩니다. 회사 및 업무용도로 사용하실 경우 라이센스에 관한 내용은 Microsoft에 꼭 문의하시고 사용하셔야 됩니다.

    • N이 붙은 버전은 No Media 버전으로 미디어 재생 기능을 삭제한 버전입니다. 미디어 재생과 관련된 내용을 제외하고 차이점이 없으므로 N 버전을 구매하셨다면 N 버전을 사용하셔도 됩니다.

005_windows11_pro

  • 마지막으로, 기존에 사용하시던 파티션을 다 삭제하시고, New를 사용해서 새로운 파티션을 작성하면 현재 사용하시는 하드웨어에 가장 적합한 파티션 구성으로 만들어 줍니다. 파티션을 만들게 되면 모든 데이터가 삭제되니, 기존 데이터는 꼭 백업을 하셔야 됩니다.

006_windows11_disk

개발 환경 구성

윈도우 11 설치 후 '국가 및 지역(countyr or region)'을 'Korea'로 설정하시고, 몇가지 설정을 완료하세요. 새로운 배경화면의 윈도우 11을 확인하실 수 있습니다.

007_windows11_login

Windows Update

  • Settings > Windows Update를 선택하여 윈도우 11에 필요한 필수적인 업데이트를 반영하세요.

009_update

  • 설치 후 곧바로 업데이트를 진행하시면 아래와 같이 보안 및 버그 패치를 진행합니다. Windows Update는 반드시 하셔야 됩니다. 재부팅이 필요하다면 재부팅을 하셔서 업데이트를 반영하세요.

010_update

NVIDIA 및 CUDA Driver 설치

  • NVIDIA 그래픽 카드를 사용하신다면 NVIDIA 홈페이지에서 472.12 드라이버를 다운로드 받아서 설치를 진행합니다. 저는 CUDA 11.4가 필요해서 윈도우 11을 설치해서 개발 환경을 구성하고 있기 때문에 NVIDIA 드라이버를 최신으로 하였습니다. 만약, CUDA를 사용하지 않으시면 그래픽 카드는 필요에 따라 설치하시면 됩니다.

011_nvidia

  • NVIDIA 드라이버 설치 후 Windows Terminal > nvidia-smi.exe를 사용해서 CUDA 버전을 확인하세요.

012_cuda

한글 설정

  • 한글 설정(1); Settings > Time & language > Language & region > Administrative language settings > Language for non-Unicode programs > Korean(Korea)로 변경하세요.

013_korean-1

  • 한글 설정(2); Settings > Time & language > Language & region > Korean > Options(...) > Language pack과 'Basic typing' 등을 설치하시고 재부팅을 합니다.

014_korean

  • 한글 설정(3); Settings > Time & language > Typing > Advacned keyboard settings > 'Korean - Microsoft IME' 를 선택하세요.

015_korean

기타 설정

  • Settings에서 필요한 설정을 진행하세요.
    • Dual Display는 System > Display 에서 확인 할 수 있습니다.
    • Dark 테마/모드는 Personalization > Themes > Current theme에서 확인 할 수 있습니다.
    • 시작 프로그램 설정은 Apps > Startup 에서 확인 할 수 있습니다.
  • Desktop의 경우 Power 모드를 설정해서 성능을 확보할 수 있습니다.
    • Control Panel > Hardware and Sound > Power Options 에서 확인 할 ㅅ 있습니다.

016_theme-1

Microsoft Store

  • Microsoft Store를 실행 후 업데이트를 진행하시면 잠시 후 새로운 모습의 Microsoft Store가 실행됩니다. 기본적으로 설치된 App도 함께 업데이트를 진행하세요.

018_store

필수 프로그램 설치

  • D2Coding 폰트 설치
    • Github에서 D2Coding-Ver1.3.2-20180524.zip를 다운로드 받고, 압축을 해제 후 D2CodingAll > D2Coding-Ver1.3.2-20180524-all.ttc를 더블클릭해서 설치(Install)해 주세요.

019_d2font

  • Visual Studio 2019 설치
    • Visual Studio 2019 Community 설치 프로그램을 다운로드 후 실행하세요.
    • C++ 관련 패키지를 설치해주시고, 저는 C#을 공부하고 있어서 .NET 관련 패키지도 함께 설치하였습니다.

020_vs

Windows Terminal 설정

  • Settings(Ctrl + ,) > Startup > PowerShell을 선택해서 PowerShell v7을 기본 쉘로 지정하세요.

021_wt

  • Settings > PowerSehll > Appearance > Font faceFont size를 원하는 것으로 수정하세요.

022_wt

Scoop 설치

python, node.js, haskell 등을 홈 디렉토리(C:\Users\username)에 설치해서 프로그램을 격리할 수 있는 Scoop을 사용해서 진행하겠습니다. scoop의 경우 모든 프로그램을 홈 디렉토리에 설치하기 때문에 chocolatey이나 winget에 비해서 패키지 설치 및 관리가 편리합니다. 개인적으로 홈 디렉토리에 프로그램을 격리해서 사용하는 것을 선호하기 때문에 scoop을 사용하지만, chocolatey이나 winget도 나름의 장점이 있으니 궁금하시면 chocolatey이나 winget에 도전해보셔도 좋을 듯 합니다.

  • Scoop 설치를 위해서 Windows Terminal을 실행하세요.
PS C:\Users\username> Set-ExecutionPolicy RemoteSigned -scope CurrentUser
PS C:\Users\username> Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

023_scoop

  • bucket 추가; scoop에서 사용할 수 있는 패키지 중에서 개별 버전(python 3.5, 3.6) 설치하기 위해선 scoop의 bucket을 추가해야 합니다. 이를 위해서 git을 먼저 설치해야 하며, 이후 bucket add 명령어 인수를 사용해서 bucket을 extrasversions를 추가해주세요.
PS C:\Users\username> scoop bucket known
main
extras
versions
...
jetbrains

PS C:\Users\username> scoop install git
PS C:\Users\username> scoop bucket add extras
PS C:\Users\username> scoop bucket add versions
PS C:\Users\username> scoop bucket add java

Python 설치

  • 현재(2021년 10월 09일) Tensorflow 2.6이 Python 3.10을 지원하지 않기 때문에 Python 3.9버전을 설치하도록 하겠습니다. scoop의 search 명령행 인수를 사용해서 설치 가능한 python을 검색할 수 있습니다. scoop의 install 명령행 인수를 사용해서 python39 패키지를 설치하세요.
PS C:\Users\username> scoop search python
'extras' bucket:
    anaconda3 (2021.05) --> includes 'python.exe'
    miniconda3 (4.10.3) --> includes 'python.exe'

'main' bucket:
    python (3.10.0)
    winpython (3.8.9.0)

'versions' bucket:
    anaconda2 (2019.10) --> includes 'python.exe'
    miniconda2 (4.8.3) --> includes 'python.exe'
    python-alpha (3.11.0a1)
    python-beta (3.8.6rc1)
    python27-beta (2.7.18rc1)
    python27 (2.7.18)
    python35 (3.5.4)
    python36 (3.6.8)
    python37 (3.7.9)
    python38 (3.8.10)
    python39 (3.9.7)

PS C:\Users\username> scoop install python39
Installing 'python39' (3.9.7) [64bit]
python-3.9.7-amd64.exe (27.6 MB) [============================================================================] 
...
'python39' (3.9.7) was installed successfully!

PS C:\Users\username> python
Python 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Node.js 설치

  • Node는 최신 버전을 설치하겠습니다.
PS C:\Users\username> scoop search node
'extras' bucket:
    soundnode (7.0.0)
    tinode-mysql (0.17.10)

'main' bucket:
    eventstore (20.10.4) --> includes 'EventStore.ClusterNode.exe'
    geth (1.10.9) --> includes 'bootnode.exe'
    node-chakracore (10.13.0)
    nodejs-lts (14.18.0)
    nodejs (16.11.0)
    sliksvn (1.14.1) --> includes 'svn-populate-node-origins-index.exe'

'versions' bucket:
    nodejs010 (0.10.48)
    nodejs012 (0.12.18)
    nodejs10 (10.24.1)
    nodejs11 (11.15.0)
    nodejs12 (12.22.6)
    nodejs14 (14.18.0)
    nodejs4 (4.9.1)
    nodejs5 (5.12.0)
    nodejs6 (6.17.1)
    nodejs7 (7.10.1)
    nodejs8 (8.17.0)
    nodejs9 (9.11.2)
    
PS C:\Users\username> scoop install nodejs
Installing 'nodejs' (16.11.0) [64bit]
node-v16.11.0-win-x64.7z (16.0 MB) [==========================================================================] 100%
Checking hash of node-v16.11.0-win-x64.7z ... ok.
Extracting node-v16.11.0-win-x64.7z ... done.
Linking ~\scoop\apps\nodejs\current => ~\scoop\apps\nodejs\16.11.0
Persisting bin
Persisting cache
Running post-install script...
'nodejs' (16.11.0) was installed successfully!

PS C:\Users\username> node
Welcome to Node.js v16.11.0.
Type ".help" for more information.
>