ko zh ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ja ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko en ko en ko ko ko ko ko hbs_lat ko ko de ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko ko en ko ko ko ko ko en ko ko ko ko ko ko ko ko ko ko de
WSL은 Docker에서 상당한 성능 향상을 가져 왔지만 켜기 전에 알아야 할 사항이 있습니다.
Docker는 로컬 개발 환경을 설정하기위한 선도적 인 솔루션으로 주장되었습니다. docker-compose 파일의 단순성 덕분에 프로덕션 환경의 동일한 구성을 반영하는 프로젝트별로 격리 된 환경을 가질 수 있습니다.
또한이 솔루션은 보유하고있는 수술 시스템에 의해 독립적으로 개발됩니다. 즉, 컨테이너가 Linux 이미지가 되더라도 Windows 또는 Mac을 사용하여 개발할 수 있습니다.
어쨌든 일부 설정에서는 성능이 저하되어 생산성이 저하 될 수 있습니다.
마지막 Docker 업데이트에서 Docker 엔지니어는 WSL2 기술을 사용하여 성능을 향상시켜 모든 플랫폼에서 동일한 개발 경험을 제공 할 수있는 가능성을 추가했습니다.
이 문서에서는 Windows에서 성능 문제가 발생할 수있는 이유와 성능 향상을 위해 WSL2를 올바르게 설치하는 방법을 설명합니다.
Docker는 2013 년부터 활성화 된 선도적 인 컨테이너 솔루션입니다. Docker가 무엇인지에 대해 이야기하는 데 많은 시간을 소비하고 싶지 않습니다. 여기에 계시다면 이미 사용 하셨을 것이므로 WSL2가 극복 한 한계를 소개하기 위해 몇 마디 만하겠습니다. 어쨌든 docker에 대해 더 알고 싶다면이 기사를 읽어 보시고 간단한 단어로 설명하려했던 " 정확히 docker 란 무엇입니까 ".
Docker에 대해 언급 할 핵심 부분은 Windows에서 작동하는 방식입니다. 하드웨어가 아닌 OS를 공유하기 때문에 Windows에서 Linux 기반 컨테이너를 가질 수 없습니다. 그건. 하지만 모두가 Windows에서 Linux 컨테이너를 사용하는데 어떻게 가능할까요? Docker 엔지니어는이 문제를 트릭으로 해결했습니다. Windows에서 Linux 컨테이너를 가질 수는 없지만 하이퍼 바이저를 사용하여 Linux를 Windows 시스템에 넣을 수 있습니다. 그래서 해결책은 빠르게 만들어졌습니다. Windows 용 Docker Desktop은 가상 머신 실행을 위해 Hypervisor (일반적으로 Microsoft HyperV)를 사용하며 VM OS를 Docker 컨테이너와 공유합니다. 그것이 작동하는 방식이며 다이어그램을 사용하여 설명하려고했습니다.
Docker 개발이 "Linux over Windows"모드에서 작동하는 방식. 작성자의 ❤️로 제작되었습니다.
이 아키텍처의 큰 문제점은 다음과 같습니다.
자원 제한. Docker는 OS 공유를 위해 설계되었지만 하이퍼 바이저는 여전히 하드웨어를 사용하므로 여기에 리소스를 할당해야합니다. 이로 인해 가상 머신을 사용할 때와 동일한 성능 문제가 발생합니다.
디스크 오버 헤드. 컨테이너 이미지는 VM 내부에 있으며 파일을 볼륨에 저장하지만 특히 개발시 Windows 환경에서 폴더를 공유 할 수 있습니다. 이것은 다이어그램의 빨간색 화살표 왕복과 그 영향 성능입니다.
실행 파일이 한 번 컴파일되고로드되는 애플리케이션 상태가있는 플랫폼은 디스크 대기 시간에 대해 너무 많은 것을 제공하지 않습니다. .net 또는 Java로 개발하려면 재생 버튼을 누르고 1 분 정도 기다린 다음 모든 컴파일 된 소스 코드가 RAM에 어느 정도 저장되어있는 테스트를 위해 응용 프로그램을 준비하면됩니다. 하드 드라이브에 스트레스를줍니다.
대신 PHP 또는 Python 애플리케이션의 경우 다릅니다. 애플리케이션 상태가 없기 때문에 각 요청은 독립적으로 해석되므로 매번 필요한 모든 파일을 스캔하고로드해야합니다. 이것은 많은 파일 읽기를 의미하므로 대기 시간이 엄청난 양의 파일로 배가됩니다.
이 시스템의 경우 Windows에서 볼륨 매핑을 사용하면 비용이 많이 들고 성능이 저하됩니다. Linux OS에 마운트 된 볼륨을 사용할 수 있지만이 경우 Windows UI에서 편집하는 데 문제가 있습니다.
그렇기 때문에 대부분의 경우 가장 느린 성능 (대부분의 경우 개발 환경에서 허용됨)을 받아들 였거나 다른 경우에는 Linux로 전환해야하여 다중 OS 가용성을 위해 Docker를 사용하는 이점이 무효화되었습니다.
WSL (Linux 용 Windows 하위 시스템)은 Windows에서 기본적으로 Linux 바이너리 실행 파일을 실행하기위한 호환성 계층입니다. Windows 10부터 작동하며 가상 머신을 사용하지 않고도 Windows 내에서 Linux를 사용할 수 있습니다. 2019 년 6 월부터 WSL (WSL 2)의 향상된 기능이 Windows 10과 함께 제공되었습니다.이 업데이트는 최적화 된 Hyper-V 기능 집합을 통해 많은 성능 향상을 제공합니다.
간단히 말해서, 이제 가상 머신을 실행하는 것보다 더 빠르게 Windows 머신 내에 Linux 배포가 있습니다.
좋은 소식은 Docker Desktop이이를 지원하고 컨테이너를 향상시킬 수 있다는 것입니다.
WSL2가 Docker를 변경하는 방법
WLS2와 Docker 결합을 사용하면 사실상 한 단계를 건너 뜁니다.
Windows와 Linux 파일 시스템은 상호 공유됩니다. 공유 드라이브 \\ WSL $ \에 액세스하는 Windows에서 Linux를 볼 수 있으며 / mtn / c에서 Windows를 볼 수 있습니다.
Docker 컨테이너는 리소스 제한없이 Linux WSL을 사용하며 더 나은 성능을 제공합니다.
WSL2를 사용하여 Docker가 작동하는 방식. 작성자가 ❤️로 제작
이 시나리오에는 엄청난 나쁜 소식이 있습니다. Windows 폴더 공유는 여전히 가능하지만 표준 경우보다 성능이 떨어집니다. 이것은 Java 또는 .net의 문제 나 허용 가능한 문제가 아니지만 PHP 개발을 실행 불가능하게 만들었습니다.
다행히 WSL2 사용의 이점과 뛰어난 개발 환경을 결합한 솔루션이 있습니다. 실제로 Visual Studio Code는 WSL2 하위 시스템에 대해 원격으로 작업 할 수 있으므로 다음을 수행 할 수 있습니다.
WSL2 내부의 볼륨을 일반 볼륨 탑재로 유지하여 파일 시스템 액세스를위한 최상의 성능을 얻으십시오.
평소처럼 Windows에서 작업하고 Linux에서 코드를 편집합니다.
어쨌든 Visual Studio는 더 나은 일을합니다. 원격 하위 시스템과 원격으로 상호 작용할 수있는 확장 기능이 있으므로 UI를 Windows에 보관할 수 있지만 Linux 내부 인스턴스의 엔진을 사용할 수 있습니다. 따라서 개발자로서의 사용자 경험도 안전합니다.
WSL2를 사용하여 코딩하는 방법. 작성자가 ❤️로 제작
일단 Docker에서 성능을 향상시킬 수있는 방법과 이유를 이해했으면 작업을 완료하기위한 몇 가지 간단한 단계를 따라야합니다.
몇 가지 단계를 수행해야하지만 더 높은 관점에서는 다음을 수행해야합니다.
IDE를 구성하고 코딩을 시작하십시오.
이 섹션에서는 Docker 및 WSL2로 코딩을 시작할 준비가 된 WSL2 버전을 설치하는 방법을 설명합니다.
이 첫 번째 단계는 Window 하위 시스템을 활성화합니다. 관리 권한이있는 명령 줄에서 실행해야합니다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
이 두 번째 명령은 가상 머신 플랫폼을 활성화합니다 (예, WSL은 여전히 ​​내부적으로 hyper-v를 사용합니다). PC에 가상화 기능이 켜져 있지 않으면 BIOS에서 설정해야 할 수 있습니다.
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
WSL2를 설치하고 구성하는 마지막 단계는 업데이트를 설치하는 것입니다. 간단한 MSI 패키지이므로 더블 클릭으로 다운로드하여 설치할 수 있습니다.
파일은 Microsoft 에서 여기 에 호스팅 됩니다 .
WSL2에 문제가 없으면 모든 하위 시스템에 대해 버전 2를 기본값으로 설정하기 만하면됩니다.
하위 시스템에서 Docker를 실행하려면 Linux 배포판을 다운로드해야합니다. 이후 마이크로 소프트 + 오픈 소스는 이제 현실이다, 그것은 마이크로 소프트 스토어에서 직접 할 수 있습니다. Ubunto를 사용했는데 440MB에 불과하므로 디스크 공간을 다 채우는 것에 대해 걱정하지 마십시오.
이 단계가 끝나면 모든 OS가 하위 시스템으로 설치된 것을 볼 수 있습니다.
Docker WSL2 확장 활성화
Docker Desktop 내에서 구성을 확인하고 WSL2 기능을 활성화하기 만하면됩니다. Docker를 다시 시작하거나 PC를 다시 시작해야 할 수 있습니다.
경고 : 표준 모드에서 WSL2로 전환 할 때 모든 이미지를 다시 다운로드해야합니다 (WSL2 대신 Hyper-v VM 내부에 있음). 또한 명명 된 볼륨 내부의 데이터는 VM 내부에 저장되므로 새 WSL2 컴퓨터에서 찾을 수 없습니다. 따라서 먼저 Docker 컨테이너에서 모든 관련 데이터를 추출하고 백업하십시오. 로컬 설정에 따라 데이터가 손실 될 수 있습니다.
이 첫 번째 단계는 "WSL2 기반 엔진 사용"을 확인하는 것입니다.
WSL2 기능을 활성화합니다. 작성자가 ❤️로 제작
그런 다음 Ubuntu 배포판을 활성화 할 수있는 WSL 통합 패널의 잠금을 해제합니다.
우분투 배포를 활성화하십시오. 작성자가 ❤️로 제작
마지막 단계는 Visual Studio 플러그인을 설치하고 다운로드하는 것입니다. 평소와 같이 웹 사이트 또는 Visual Studio Code UI에서 설치를 클릭하여 수행 할 수 있습니다.
Visual Studio Code 확장에서 원격 WSL을 설치합니다. 작성자가 ❤️로 제작
여기서 확장 프로그램을 찾을 수도 있습니다.
이때 모든 단계가 완료되고 코딩을 시작할 수 있습니다. 공연을 볼 때 보낸 이번 시간에 감사드립니다! 최종 잔액은 작업 첫날에 많은 시간을 절약 할 수 있습니다.
코딩 시작에는 WSL 또는 Windwsow에서 시작하는 두 가지 옵션이 있습니다.
개인적으로 나는 매우 독립적이기 때문에 두 번째 것을 선호합니다.
양식 명령 줄 :
1. WSL 터미널을 열거 나 셸에 "WSL"명령을 입력합니다. Ubunto가 선호되는 하위 시스템이므로 그 안에 있습니다.
2. "코드"를 입력합니다. 그러면 Windows 컴퓨터에서 Visual Studio Code가 열립니다.
1. Visual Studio 코드를 엽니 다.
2. WSL 상자 (왼쪽 하단 모서리, 하단 도구 모음의 녹색 버튼) 또는 F1 + Remore WLS + 새 창을 클릭합니다.
Visual Studio Code 확장에서 원격 WSL을 설치합니다. 작성자가 ❤️로 제작
3. 새 창이 Linux OS와 연결됩니다.
그 순간부터 Visual Studio Code를 사용하여 필요한 모든 작업을 수행 할 수 있습니다. 실제로 파일 트리에서 터미널을 열 수 있습니다. 터미널은 WSL 컴퓨터 내부에 있으며 docker-compose up을 실행하면 호스트 Docker 시스템에서 컨테이너를 활성화합니다. 커밋을 처리하기 위해 git 도구를 사용할 수도 있으므로 코딩을 시작하는 데 필요한 모든 것입니다.
여러 가지 이유로 많은 개발자가 Windows를 개발 환경으로 사용하고 있습니다. 이것은 Linux보다 최상의 프로그램 호환성 또는 더 나은 사용자 경험을 제공하기위한 일반적인 선택입니다. 다른 사람들은 Mackbook보다 저렴한 노트북을 얻기 위해 Windows를 사용하고 있습니다.
Docker는 모든 OS 시스템에서 동일한 개발 경험을 갖는 데 도움이되었지만 경우에 따라 Windows에서 성능 문제가 발생할 수 있습니다.
WSL2는 성능을 향상 시키지만 파일을 저장할 위치와 볼륨을 만드는 방법에 대해 약간의주의가 필요합니다.
이러한 단계가 완료되면 Linux에서와 동일한 성능을 사용하면서도 편안한 Windows 사용자 경험을 얻을 수 있습니다.
면책 조항 : Linux, Windows 및 Mac 지지자 간의 부분주의에 애니메이션을 적용하고 싶지 않습니다. 각 개발자는 동일한 사용자 경험을 가지고 선호하는 OS를 자유롭게 선택할 수 있어야합니다. 이것은 Docker의 주요 목적은 아니지만 편안한 부작용입니다. 이 기사의 목적은 Windows에서 작업하는 것을 선호하는 사람들을 위해 새로운 기회를 열어 강제 OS 변경을 방지하는 것입니다.
WSL2에서 Docker를 사용하기위한 공식 Docker 가이드
Visual Studio Code 원격 개발 아키텍처
의식이란 무엇인가: 불꽃 은유
의식이란 무엇입니까? 그것은 수세기 동안 철학자들과 과학자들을 어리둥절하게 했던 질문입니다. 어떤 사람들은 그것이 우리 몸과 별개로 진정으로 이해할 수 없는 덧없는 일이라고 말합니다.
블록체인 개발자가 되는 방법
블록체인 개발자가 되기 위한 로드맵.
연간 평균 급여가 $154,000이고 꾸준한 직업 성장을 보이는 지금이 블록체인 개발을 배우기에 이상적인 시기입니다. 블록체인 기술을 만들고 개선하기 위해 블록체인 개발자는 컴퓨터 네트워킹, 암호화, 알고리즘 및 데이터 구조를 포함한 다양한 기술을 연습합니다.
불일치 : 전국 관할 구역 반환 Shapefile을 만드는 문제
MIT Election Lab의 대학원 연구원이자 Ph.D. Jesse Clark이 작성했습니다.
머신 러닝을 이용한 초 지역 대기 질 예측
공개 된 데이터를 사용하여 캘리포니아 주 오클랜드의 대기 질 예측 Google과 EDF가 오클랜드의 대기 오염 매핑에 대한 연구를 발표했을 때이 연구의 결과가 많은 주목을 받았습니다. 그들이 발표 한 데이터는 오클랜드 동부와 서부의 도시 블록에 따라 공기질이 어떻게 다른지 보여주는 최초의 데이터 세트 중 하나였습니다.
데이터 과학 프로젝트에서 실현된 경제적 가치를 해석하기 위한 프레임워크
파트 I: NPV, IRR, PI
Daniel Fleck 및 David Lubert 작성 이 시리즈의 첫 번째 블로그는 순 현재 가치(NPV), 내부 수익률(IRR) 및 수익성 지수(PI)를 활용하여 데이터 과학 프로젝트를 적절하게 평가하는 데 중점을 둘 것입니다. 또한 데이터 과학 방법론을 활용하여 이러한 동일한 경제 지표의 입력을 더욱 세분화하여 고품질 평가를 개발할 수 있는 방법에 대해서도 논의할 것입니다.
데이터 과학을위한 필수 수학 : 기초 및 기초 변경
고유 분해 및 SVD에 유용한 기저의 선형 대수 개념 이해이 기사에서는 고유 분해 또는 특이 값 분해 (SVD)와 같은 행렬 분해 방법을 이해하는 흥미로운 방법 인 기저 개념에 대해 알아 봅니다. 정의 기본은 벡터 공간 (벡터 집합)을 설명하는 데 사용되는 좌표계입니다.