사용자 도구

사이트 도구


windows:development_environment

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
windows:development_environment [2018/06/02 17:13]
kwon37xi [기본]
windows:development_environment [2023/07/20 19:45] (현재)
kwon37xi [소프트웨어 패키지 관리]
줄 1: 줄 1:
 ====== Windows 개발 환경 구축 ====== ====== Windows 개발 환경 구축 ======
   * [[windows:10|Windows 10]] 기준. 이 이후부터 [[:docker|Docker]], [[windows:wsl|Windows Subsystem For Linux]] 등이 지원됨.   * [[windows:10|Windows 10]] 기준. 이 이후부터 [[:docker|Docker]], [[windows:wsl|Windows Subsystem For Linux]] 등이 지원됨.
 +  * [[windows:wsl2|WSL 2]]
 +  * [[windows:windows_terminal|Windows Terminal]]
   * Java 개발은 운영체제를 별로 타지 않으므로 Windows 를 사용한다고 해서 크게 불편하지는 않다.   * Java 개발은 운영체제를 별로 타지 않으므로 Windows 를 사용한다고 해서 크게 불편하지는 않다.
 +  * [[https://docs.microsoft.com/ko-kr/windows/dev-environment/overview|Windows 10에서 개발 환경 설정 | Microsoft Docs]]
  
 ===== 기본 ===== ===== 기본 =====
   * 절대로 한글 혹은 유니코드 사용자명을 만들지 않는다. 각종 문제를 일으킨다. **사용자명과 사용자 HOME 폴더(''C:\Users\XXX'') 영문과 숫자, 점 정도로만 이뤄지게 구성한다.**   * 절대로 한글 혹은 유니코드 사용자명을 만들지 않는다. 각종 문제를 일으킨다. **사용자명과 사용자 HOME 폴더(''C:\Users\XXX'') 영문과 숫자, 점 정도로만 이뤄지게 구성한다.**
   * 특히 Ahnlab Safe Transaction, nProtect 등 각종 민원이나 은행 업무를 위한 자동 설치 프로그램들을 깔지 말고 별도 가상 머신으로 관리한다.    * 특히 Ahnlab Safe Transaction, nProtect 등 각종 민원이나 은행 업무를 위한 자동 설치 프로그램들을 깔지 말고 별도 가상 머신으로 관리한다. 
-    * 특히 Ahnlab Safe Transaction, nProtect 등은 해당 서비스 사이트 접속 여부와 관련없이 백그라운드로 항상 떠 있으면서 PC 안정성을 해치는 것으로 보인다.+    * Ahnlab Safe Transaction, nProtect 등은 해당 서비스 사이트 접속 여부와 관련없이 백그라운드로 항상 떠 있으면서 PC 안정성을 해치는 것으로 보인다.
     * 이 원인이 [[:docker|Docker]]나 [[windows:wsl|Windows Subsystem For Linux]]과의 충돌일 수도 있다. 어쨌든 심하게 시스템을 다운시킨다.     * 이 원인이 [[:docker|Docker]]나 [[windows:wsl|Windows Subsystem For Linux]]과의 충돌일 수도 있다. 어쨌든 심하게 시스템을 다운시킨다.
     * 필요할경우 [[http://teus.me/category/IT/%EC%9E%90%EC%9E%91%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8|구라제거기]]에서 최신 버전을 받아서 실행하여 해당 보안프로그램들을 삭제해버린다.     * 필요할경우 [[http://teus.me/category/IT/%EC%9E%90%EC%9E%91%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8|구라제거기]]에서 최신 버전을 받아서 실행하여 해당 보안프로그램들을 삭제해버린다.
   * 각종 애플리케이션을 시작 프로그램으로 지정하려면 ''Win-R'' 하고 ''shell:startup'' 명령을 실행하면 나오는 폴더에 애플리케이션의 바로가기를 만들어 넣으면 된다.   * 각종 애플리케이션을 시작 프로그램으로 지정하려면 ''Win-R'' 하고 ''shell:startup'' 명령을 실행하면 나오는 폴더에 애플리케이션의 바로가기를 만들어 넣으면 된다.
-===== Chocolatey/scoop 패키지 관리 =====+===== 소프트웨어 패키지 관리 ===== 
 +  * [[windows:winget|winget]] MS 공식 소프트웨어 패키지 관리
   * [[windows:chocolatey|Chocolatey Gallery]] 를 이용하여 Linux 의 ''apt''나 ''yum'', MacOS X의 Homebrew 처럼 애플리케이션을 설치할 수 있다.    * [[windows:chocolatey|Chocolatey Gallery]] 를 이용하여 Linux 의 ''apt''나 ''yum'', MacOS X의 Homebrew 처럼 애플리케이션을 설치할 수 있다. 
     * Chocolatey는 애플리케이션을 전역 설치 한다. 따라서 Admin 권한으로 애플리케이션을 설치해야 한다.      * Chocolatey는 애플리케이션을 전역 설치 한다. 따라서 Admin 권한으로 애플리케이션을 설치해야 한다. 
     * ''sudo'' 혹은 ''elevate'' 를 이용해 이 문제를 편하게 할 수 있다. 아래에 기술.     * ''sudo'' 혹은 ''elevate'' 를 이용해 이 문제를 편하게 할 수 있다. 아래에 기술.
-  * [[https://scoop.sh/|Scoop]] 패키지 관리툴도 있다. +  * [[windows:scoop|Scoop]]
     * scoop은 기본적으로 현재 로그인 사용자용으로 애플리케이션을 설치한다.     * scoop은 기본적으로 현재 로그인 사용자용으로 애플리케이션을 설치한다.
     * 애플리케이션 수가 적은 편으로 보이는데 리눅스에서 사용하던 명령어들을 많이 가지고 있다.     * 애플리케이션 수가 적은 편으로 보이는데 리눅스에서 사용하던 명령어들을 많이 가지고 있다.
  
  
-===== sudo =====+===== PowerShell sudo =====
   * Chocolatey 이용시에 관리자권한으로 콘솔을 열어야만하는게 매우 불편하다.   * Chocolatey 이용시에 관리자권한으로 콘솔을 열어야만하는게 매우 불편하다.
   * [[windows:sudo|Windows sudo]] 에서 ''sudo'' 명령 혹은 ''elevate'' 를 받아서 깔고 그 뒤부터 관리자 권한이 필요한 콘솔 명령은 ''sudo choco install xxx'' 혹은 ''el choco install xxx'' 처럼 실행하면 된다.   * [[windows:sudo|Windows sudo]] 에서 ''sudo'' 명령 혹은 ''elevate'' 를 받아서 깔고 그 뒤부터 관리자 권한이 필요한 콘솔 명령은 ''sudo choco install xxx'' 혹은 ''el choco install xxx'' 처럼 실행하면 된다.
줄 31: 줄 35:
   * [[windows:wsl|Windows Subsystem For Linux]] 로 Ubuntu 리눅스를 설치했다.   * [[windows:wsl|Windows Subsystem For Linux]] 로 Ubuntu 리눅스를 설치했다.
   * 성능 저하가 심각하다.    * 성능 저하가 심각하다. 
-    * 바이러스 백신 혹은 Windows Defender 의 실시간 감시를 끄고, ''%USERPROFILE%\AppData\Local\Packages'' 폴더에서 '' CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc'' 처럼 생긴 폴더를 제외 처리해주면 약간 빨라진다. +    * 바이러스 백신 혹은 Windows Defender에서 ''%USERPROFILE%\AppData\Local\Packages'' 폴더에서 '' CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc'' 처럼 생긴 폴더를 제외 처리해주면 약간 빨라진다. 
-    * ''oh-my-zsh'', ''oh-my-bash''등은 거의 사용하기 힘들 정도로 느리게 작동한다. 그래서 프롬프트는 간단히 [[:git|git]]에 있는 color prompt 정도만 설정했다.+    * ''oh-my-zsh'', ''oh-my-bash''등은 거의 사용하기 힘들 정도로 느리게 작동한다. 그래서 프롬프트는 간단히 [[:git|git]]에 있는 color prompt 정도만 설정했더니 쾌적하게 사용가능했다.
   * [[windows:wsl:openssh_server|WSL Ubuntu Linux OpenSSH Server]] 에서 SSH 서버 설정도 하였다.   * [[windows:wsl:openssh_server|WSL Ubuntu Linux OpenSSH Server]] 에서 SSH 서버 설정도 하였다.
   * [[windows:wsl:weasel_pageant|Weasel Pageant - WSL Linux ssh-ageant to putty pageant]] 를 이용하여 ''pageant''를 ssh-agent 로 지정해주면 ''pageant''에만 키를 등록해도 WSL Linux 에서 ''ssh''명령이 ''pageant''의 key를 사용할 수 있게 된다.   * [[windows:wsl:weasel_pageant|Weasel Pageant - WSL Linux ssh-ageant to putty pageant]] 를 이용하여 ''pageant''를 ssh-agent 로 지정해주면 ''pageant''에만 키를 등록해도 WSL Linux 에서 ''ssh''명령이 ''pageant''의 key를 사용할 수 있게 된다.
-  * [[:gradle|Gradle]]과 [[java:maven|Maven]]의 repository 디렉토리를 윈도우용 과 동일하게 맞춰준다. +  * [[:gradle|Gradle]]과 [[java:maven|Maven]]의 repository 디렉토리를 윈도우용 과 동일하게 맞춰준다. -> 디스크 용량 아끼기 
 +  * WSL Linux 상에서는 윈도우 애플리케이션도 쉽게 실행할 수 있다. 따라서 git 의 difftool 도 윈도우용 diff 애플리케이션으로 지정가능하다. [[http://meldmerge.org/|Meld]], [[https://www.sep.com/sep-blog/2017/06/07/20170607wsl-git-and-beyond-compare/|WSL, git, and Beyond Compare - SEP Blog]] 
 +  * **WSL Linux가 Windows의 파일을 읽고/쓸 수는 있으나 Windows의 애플리케이션이 Linux 측의 파일에 쓰기를 해서는 안된다**
 ===== Console ===== ===== Console =====
   * [[windows:console:cmder|Cmder]] 와 [[windows:console:conemu|ConEmu Windows Terminal Emulator]]를 둘 다 써봤는데(Cmder는 어차피 ConEmu 확장이다), Cmder는 느리고 버그도 많았다. **ConEmu** 추천.   * [[windows:console:cmder|Cmder]] 와 [[windows:console:conemu|ConEmu Windows Terminal Emulator]]를 둘 다 써봤는데(Cmder는 어차피 ConEmu 확장이다), Cmder는 느리고 버그도 많았다. **ConEmu** 추천.
줄 53: 줄 58:
 </code> </code>
  
-===== Docker 설치 ===== +===== Docker / Vagrant / VirtualBox 등 설치 ===== 
-  * [[:docker|docker]] 로 각종 서버류 설치.+  * [[:docker|docker]], [[:virtualbox|VirtualBox]], [[:vagrant|Vagrant]] 로 각종 서버류 설치.
   * Windows 10 부터는 Docker가 native로 작동해서 너무 좋다.   * Windows 10 부터는 Docker가 native로 작동해서 너무 좋다.
  
 ===== 한영 전환을 Shif-Space로 하기 ===== ===== 한영 전환을 Shif-Space로 하기 =====
-  * [[http://www.badayak.com/3016|jwShiftSpaceKey]] 를 사용하연 기본 ''한/영''키 매핑에 Linux 사용자에게 익숙한 ''Shift-Space'' 키를 한영 전환키로 추가해준다.+  * jwShiftSpaceKey([[:windows|Windows]]참조)를 사용하연 기본 ''한/영''키 매핑에 Linux 사용자에게 익숙한 ''Shift-Space'' 키를 한영 전환키로 추가해준다.
  
 ===== ClipBoard 관리 ===== ===== ClipBoard 관리 =====
줄 74: 줄 79:
   * ''D2Coding ligature''를 지정하고 [[:intellij_idea|IntelliJ IDEA]] 에서 **Ligature**를 활성화 하면 코딩에서 자주 사용하는 특수 기호등이 예쁘게 나온다.   * ''D2Coding ligature''를 지정하고 [[:intellij_idea|IntelliJ IDEA]] 에서 **Ligature**를 활성화 하면 코딩에서 자주 사용하는 특수 기호등이 예쁘게 나온다.
 {{https://user-images.githubusercontent.com/6773678/33355628-997fe52e-d4fb-11e7-9d1a-64c3b2d42de8.png}} {{https://user-images.githubusercontent.com/6773678/33355628-997fe52e-d4fb-11e7-9d1a-64c3b2d42de8.png}}
 +
 +===== Windows 10 Desktop =====
 +  * Windows 10 에서 다중 데스크탑을 지원하는데 아직 매우 불편하다. 게다가 현재 보고 있는 데스크탑이 몇번인지도 쉽게 알기 어렵다.
 +  * [[https://github.com/m0ngr31/VirtualDesktopManager|VirtualDesktopManager]]를 깔면 현재 보고 있는 데스크탑 번호를 태스크바에서 보여준다. - 단축키 충돌, 기능부족으로 폐기.
 +  * [[https://github.com/sdias/win-10-virtual-desktop-enhancer|Virtual Desktop Enhancer]]가 더 낫다.
 +
 +===== 프로그래밍 언어 설치 =====
 +  * Java 는 [[java:jabba|Jabba]] 와, 직접 설치로 관리
 +  * [[https://github.com/coreybutler/nvm-windows|nvm windows]] 로 [[:node.js|node.js]] 설치
 +  * Gradle의 경우 Windows와 WSL Linux 어느 한쪽에 daemon이 떠있으면 다른쪽에 오동작한다. 그래서 daemon을 아예 꺼버렸다. ''~/gradle.properities''
 +
 +===== 기타 개발 도구 =====
 +  * https://devtoys.app/
  
windows/development_environment.1527927188.txt.gz · 마지막으로 수정됨: 2018/06/02 17:13 저자 kwon37xi