LainyZine: 프로그래머 가이드 🐣

윈도우 개발환경 구축 방법 총 정리

윈도우(Windows)는 전세계적으로 가장 많이 사용되는 운영체제입니다. 하지만 프로그래밍에 있어서 만큼은 .NET 기반의 환경이 아니라면, GUI와 커맨드라인 생태계가 모두 갖춰진 맥을 더 선호하는 경향이 있었습니다. 최근에는 마이크로소프트 주도로 개발하는 Visual Studio Code가 인기를 얻고 있으며, Windows Terminal과 PowerShell의 발전으로 윈도우 커맨드라인 환경도 많이 발전했습니다. 또한 WSL2를 지원하면 윈도우에서도 리눅스와 비슷한 경험으로 개발을 할 수 있으며, Hyper-V나 WSL2를 기반으로 Docker로 리눅스 컨테이너를 사용하는 것도 가능해져서 윈도우 개발 환경에 맥에 뒤쳐진다는 말은 이제 과거의 이야기가 되었습니다.

LainyZine에서도 윈도우 개발 환경 구축과 관련된 Visual Studio Code, Windows Terminal, Git, Docker, WSL2, Chocolatey 등 다양한 주제의 글을 연재중입니다.

여기 LainyZine에서 연재중인 윈도우 개발 환경 구축 가이드를 총 정리했습니다.

(이 글은 윈도우 개발 환경과 관련된 글이 추가될 때마다 비정기적으로 업데이트됩니다.)

에디터: Visual Studio Code 등

Visual Studio Code는 마이크로소프트에서 주도해서 개발하고 있는 오픈소스 에디터입니다. 웹 기술을 사용하는 일렉트론 프레임워크로 개발되고 있으며, 윈도우, 맥, 리눅스 등의 메이저 OS를 모두 지원하고 있습니다. 다음 글에서는 윈도우에서 Visual Studio Code를 설치하는 방법을 소개합니다.

VS Code를 설치하고 나면 언어 설정이나 커맨드라인에서 실행할 수 있도록 추가 설정을 미리 해두는 것을 추천합니다.

커맨드라인: Windows Terminal, PowerShell, SSH 등

윈도우 개발 환경의 약점으로 항상 커맨드라인 환경이 이야기되었습니다만, 상황은 빠르게 좋아지고 있습니다.

Windows Terminal은 지난 2019년 5월 마이크로소프트에서 발표한 새로운 가상 터미널 애플리케이션입니다. 오픈소스로 개발되고 있으며 명령 프롬프트, PowerShell, WSL2 등을 모두 Windows Terminal에서 사용할 수 있습니다. 탭을 지원하며, 텍스트 렌더링에 GPU 가속을 사용하고, 테마, 투명도 등 다양한 추가 설정을 지원합니다.

PowerShell은 현재 Windows 10에 내장되어있으며, 윈도우 업데이트로 자동으로 업데이트 됩니다. 단, 이 버전은 PowerShell 5.1.x 버전이며, 오픈소스로 개발되고 있는 6 이상의 버전은 별도로 설치해야합니다. 현재 사용하고 있는 버전을 확인하고 최신 버전을 설치하는 방법은 다음 글을 참고해주세요.

Windows 10에는 선택적 기능으로 OpenSSH 클라이언트를 포함되어 있습니다. 예전에는 외부 (주로 리눅스) SSH 서버에 접속할 때 putty와 같은 별도 도구를 설치해서 사용했습니다만, 현재는 Windows Terminal과 OpenSSH 클라이언트만으로 SSH 서버 접속이 가능합니다.

패키지 매니저: winget, Chocolatey 등

리눅스를 사용해본 적이 있다면 apt나 yum과 같은 커맨드라인 패키지 매니저를 사용해본 적이 있을 것입니다. 맥에서도 Homebrew 패키지 매니저가 많은 사랑을 받고 있습니다. 아직 리눅스나 맥만큼 활성화된 느낌은 아닙니다만 윈도우에서도 커맨드라인 패키지 매니저들의 지원이 강화되고 있습니다. 먼저 마이크로소프트에서 공식적으로 제공하는 앱 설치 관리자(winget) 프리뷰 버전에는 커맨드라인 명령어를 포함하고 있습니다.

단, winget은 초기 단계이고, 아직 정보도 많이 부족한 편입니다. 마이크로소프트 공식은 아니지만, 윈도우에서 대체 패키지 매니저로 많이 이야기되는 도구가 바로 Chocolatey입니다. 윈도우하면 인스톨러로 클릭, 클릭하면서 프로그램을 설치하는 이미지가 일반적입니다만, Chocolatey를 사용하면 커맨드라인 프로그램은 물론 GUI 프로그램까지 명령어 하나로 설치할 수 있습니다.

개발 도구: Git 등

분산 소스 코드 관리 도구 Git은 이제 개발자들의 필수적인 개발 도구라고 할 수 있습니다. 다음 글에서는 Windows 10에서 Git을 설치하는 방법과 기본적인 방법을 소개합니다.

LainyZine에서는 Git과 GitHub에 대한 다양한 글들을 연재중이니 다음 글들도 참고해주세요.

가상화와 리눅스 지원: VirtualBox, Hyper-V, WSL2, Docker 등

Windows 10 Pro에는 가상화 기능으로 Hyper-V가 포함되어있습니다. Hyper-V는 자체적으로 가상 머신의 역할을 하며 Docker의 백엔드로도 동작합니다. 하지만 시스템에 따라서 Hyper-V가 활성화되어있으면 VirtualBox, VMWare, Docker 등의 동작이 불안정해지는 경우가 있습니다. Hyper-V가 활성화되어있지 않아도 가상 머신 앱을 사용할 수 있으며, Docker도 WSL2 기반으로 사용할 수 있기 때문에 꼭 Hyper-V를 사용할 필요는 없습니다. 따라서 다른 가상 머신 도구나 Docker를 사용하고, Hyper-V를 직접 사용하지 않는다면 이 기능을 비활성화하는 것을 추천합니다.

VirtualBox는 오픈소스로 개발되는 무료로 사용할 수 있는 가상 머신 도구입니다. 다음 글에서는 VirtualBox 최신 버전을 설치하는 방법을 소개합니다.

VirtualBox나 가상 머신 도구를 많이 사용한다면, 개발 프로젝트 단위로 가상 머신을 관리할 수 있도록 도와주는 커맨드라인 도구 Vagrant도 추천합니다. Vagrant는 VirtualBox, VMware, Hyper-V 등을 프로바이더로 지원합니다.

WSL은 Windows Subsystem for Linux의 줄임말로 윈도우 안에서 리눅스와 통합된 환경을 제공합니다. 단순히 리눅스 가상 머신을 제공하는 것이 아니라, 마치 하나의 머신처럼 자연스럽게 리눅스를 사용하는 것이 가능합니다. WSL2의 등장은 윈도우 개발환경의 가장 큰 변화라고도 이야기되는 기능입니다.

Docker는 단순히 서버 배포에 활용될뿐만 아니라, 이제 Git과 함께 가장 많이 사용되는 개발 도구 중 하나입니다. Windows에서는 원래 Hyper-V 기반으로 Docker Desktop을 사용할 수 있었습니다. 단, Hyper-V는 Windows 10 Pro에서만 제공되기 때문에 Home 에디션에서는 Docker를 사용하는 게 어려웠습니다. 현재는 공식적으로 WSL2를 지원하기 때문에 Windows 10 Home과 Windows 10 Pro에서 모두 Docker Desktop을 사용할 수 있습니다. 자세한 내용은 다음 글에서 소개합니다.

Docker 사용 방법에 대해서는 LainyZine에서도 연재하고 있으니 참고해주세요.

프로그래밍 언어: Go, Java, Python 등

Windows에서 .jar 확장자 파일을 직접 실행하기 위해서는 자바 런타임(JRE, Java Runtime Environment)가 설치되어있어야합니다.

네트워크: OpenSSH 서버, 원격 데스크톱, 개인 네트워크 등

Windows 10에서는 선택적 기능으로 OpenSSH 클라이언트와 함께 OpenSSH 서버도 제공하고 있습니다. 일반적으로 리눅스 원격 작업을 할 때 SSH 프로토콜로 접속을 합니다만, 윈도우에서도 OpenSSH 서버를 실행해두면 원격에서 SSH 프로토콜로 윈도우에 접속할 수 있습니다.

OpenSSH의 포트를 변경하고 싶은 경우가 있습니다. 윈도우 OpenSSH 서비스의 포트를 변경하는 방법도 참고해주세요.

OpenSSH 뿐만 아니라 원격 작업을 위해 원격 데스크톱을 사용하기도 합니다. Windows 에디션 별로 원격 데스크톱 셋업 방법과 클라이언트 사용법은 다음 글에서 소개합니다.

윈도우 SSH 서버에 접속하려면 현재 컴퓨터의 IP 주소를 알아야합니다. 안전한 개인 네트워크 환경에서 윈도우 머신에 접근하기 위한 IP를 확인하는 방법을 소개합니다.

상시적으로 Windows 10 머신을 OpenSSH나 원격 데스크톱 서버로 사용하면 윈도우의 자동 업데이트 기능이 불편할 수 있습니다. 이럴 때는 자동 업데이트를 일시 중지, 혹은 영구적으로 중지할 수 있습니다.

LainyZine의 Windows 개발 환경 구축 가이드에 의견이나 원하는 주제가 있으시면 메일로 연락해주세요.

LainyZine은 쿠팡 파트너스 활동에 따른 수수료를 제공받습니다.