Building full-stack Node.js web apps with Visual Studio Code : Build 2018

너 모두 좋은 점심 먹었 니? 괜찮아 모두가 칠면조를 먹었고, 우리는 불을 넣을거야

낮고, 낮잠 잘 잤니? 내가하지 희망 나는 존 파파 야 그리고 나는 너와 얘기하려고 여기 왔어 긴 제목에 대해서 노드를 어떻게 구축합니까? azure에서 코드 대 자바 스크립트 앱

이 작업을 수행하는 데는 여러 가지 방법이 있습니다 우리는 시각적 스튜디오 코드가이 경험을 훨씬 더 훌륭하게 만드는 방법에 대해 이야기 할 것입니다 우리가 이것을하기에 훌륭한 편집장이 없다면 나는 노드와 자바 스크립트로 많은 일을한다 작은 앱과 거대한 앱을 만듭니다

앱으로 무엇을 할 수 있는지 보여 드리겠습니다 이 사이클을 통해 우리는 어떻게 대처해야하는지 배우게 될 것입니다 상황, 우리는 고속의 서버를 가지고 있습니다 하늘빛 우리의 선택은 무엇입니까? 적어도 10 가지 옵션이 있습니다

옵션을 갖기에 좋은 점은 무엇입니까? 당신이 그걸 가지고있어 굉장히 그 중 일부에 대해서 이야기하겠습니다 우리는 우리가 어떻게 웹 사이트를 배포하십시오 왜 우리가 배포하고 싶어 할지도 모르는 그것들은 다르게 그리고 우리는 코스모스 dp도 볼 것입니다

또한이 기능을 사용하여 데이터베이스를 관리하는 방법에 대해서도 설명합니다 우리의 앱에 대해 생각해 봅시다 노드 응용 프로그램을 가지고있을 때, 단순히 노드 이상을 가지고있는 경우가 많습니다 당신은 자바 스크립트, 각도, 반응보기, 다른 것을 가지고 있습니다 귀하의 코드, 우리는 코드에 대해 이야기 할 것입니다

각도, 반응 및보기는 세 가지 큰 프레임 워크 그들은 모두 최고입니다 그리고 pairedy 그것은 단지 선호도 일뿐입니다 너는하고 싶니? 노드는이 모든 것들과 함께 작동합니다

노드를 사용하여 로컬에서 디버깅하는 방법을 배웁니다 우리는 로컬 또는 클라우드에 연결하는 방법을 배웁니다 그리고 배포를 위해 다양한 방법으로 파일을 하늘빛까지 밀어 넣으십시오 우리의 웹 사이트 도커가 작동하는 방식에 대해 알아보십시오

얼마나 많은 사람들이 도커를 사용합니까? 그것은 좋은 금액입니다 얼마나 많은 사람들이 무서워했거나 현재 두려워하고 있습니까? 독? 내가 인정할 께 내가 처음 그것에 들어갔을 때, 왜 내가 이걸 필요로하는 것과 같았습니까? 우리는 그 여정이 어떻게 당신 그리고 어쩌면 당신은 지금 그것을 통과하고 있습니다 우리가 전개하고있는 것에 대해 생각하고 싶은 것들 클라우드에 대한 앱입니다

어떤 종류의 우려가 우리에게 이미 가지고 있었다 그리고 새로운 관심사를 해결할 수 있습니다 그리고 나서 모든 툴링이 어떻게 작동하는지 살펴 보겠습니다 이 슬라이드를 다시 보여 드리겠습니다 다음은 모든 리소스는 프레젠테이션 내부에서 볼 수 있습니다

해당 링크를 클릭하면 코드와 코드를 얻을 수 있으며 무료입니다 하늘색 재판 노드 확장이 그 위에 있습니다 각도 확장 우리는 그것들을 볼 것입니다

그것으로 우리를 도와 줘요 노드와 도커처럼 각도를 넘어서 확장 마켓 플레이스에는 5,000 개의 확장 기능 만 있습니다 그리고 나 같은 사람이라면, 손가락을 키보드를 클릭하면 단축키를 배울 수 있습니다 아래 두 링크

우리의 이야기는 위대한 것으로 시작합니다 압형 우리는 애플리케이션을 배치하고 있습니다 더 나은 툴링 일수록 더욱 효과적이고 효과적인 우리가 할 수있는 프로그램이나 개발자 중요한거야

코드 작성을 시작할 때 많은 일을합니다 네가 나를 좋아하면 내기 할게 반복해서 반복합니다 다시 각도와 시야로 프로그래머가 노드를 사용하여 코드를 작성하고 프로젝트를 빌드합니다

나는 브라우저에서 그것을보고 코드를 변경한다 나는 코드를 만들고, 나는 브라우저에서 그것을 본다 나는 하루 종일 이것을한다 수백 번 따라서 모든 공정과 마찰을 제거하는 툴링이 필요합니다

모든 것을 창조하면 삶이 쉬워집니다 그래서 우리가 구름에 가기 전에 먼저 이야기 할 것입니다 준비하기 전에해야 할 일을 이해하는 것이 중요합니다 휴가를 보내신 분이라면 차를 타고 가셔서 비행기에서? 또는 당신은 포장합니까? 당신이 포장 할 물건에 대해 생각하십니까? 어떤 사람들은 일주일 전부터 계획을 세우고 있습니다 다른 사람들은 5 분 전에 그것을합니다

어느 쪽이든 당신은 당신이하려고하는 것을 계획합니다 클라우드로 이동하기 전에 클라우드에서의 경험은 방법에 따라 크게 달라질 수 있습니다 당신은 그 신청서를 준비했습니다 예를 들어 원시보기 또는 각도 반응 앱을 사용하여 그것의 생산 빌드 없음 원시 파일과 당신은 방대한 프로젝트를 가지고 있고 그것을 클라우드에 던져 버립니다

배포하는 데 오랜 시간이 걸릴 수도 있고 느려질 수도 있습니다 훌륭한 경험이 아닐 수도 있습니다 그럴 가능성이 있습니다 하늘을 올려 놓으면 하늘의 잘못이라고 할 수 있습니다 아니, 그 모든 것들이 저기에 던져 졌기 때문에 천천히

애플리케이션을 최적화 할 수있는 방법 그리고 어떻게 우리가 응용 프로그램을보다 강력하고 빠르고 효율적으로 만들 수 있습니다 그리고 우리가 어떻게 응용 프로그램 우리는 거기에 갈 구름에

우리는 예를 들어 각도를 사용하려고합니다 우리가 생각해야 할 것 이 모든 것들에 도구가 있습니다 프론트 엔드 프레임 워크는 cli라고 불립니다 그리고 그들은 우리가 새로운 것을 비계하게 만들었습니다

응용 프로그램 인기있는 것은 각진 cli입니다 Ng new, 내 앱을 만듭니다 그리고 그걸로, 당신은 내가 말할 수 있습니다 라우팅을 원하고 saas를 사용하고 싶습니다

또는 laas 얼마나 자주 새 프로젝트를 만드나요? 그다지 자주 당신은 프로젝트를 시작하고 그것에 대해 작업하며, 그리고 당신은 새로운 것을 만듭니다 힘은 창조에서 다만이지 않는다 그것 그것은 단지 이야기

그래서 우리가 그 일을 끝내면 여기에 나쁜 건전지가있어 우리는 거기에 갈 또는 나는 버튼을 누를 정도로 강하지 않다 응용 프로그램을 준비하고 나면 구름에가 두 명의 페르소나

내가 개발자에게하고 싶은 일 그리고 내가 뭘하고 싶은지 사용자 개발자 개인은 다음과 같습니다 너와 같은 사람, 네가 좋아하는 사람, 너를 지으려는 사람 반복적으로 반복적으로 응용합니다

결과를 로컬에서 볼 수 있습니다 그건 네가 기꺼이한다는 뜻이야 생산 효율성을 많이 내고 속도를 높이십시오 당신이 그것을 볼 수 있고 즉각적인 피드백을 얻을 수 있도록 변경 될 수 있습니다 우리는 ng build를 사용합니다

우리는 대시 돌진과 같은 깃발을 사용할지도 모릅니다 그것은 최종 사용자를위한 것입니다 최종 사용자는 하루 종일 백 번 재건하십시오 그들은 그 사실을 알고 싶어한다 당신이 웹 사이트를 만들고 설치하는 것이 빠릅니다

그것을 구축하고, 그것을 만들 필요가있는 한 오래 받아라 내가 웹 사이트에 갈 때, 1 초 이상 걸립니다 절반은 지루해하고 나는 다른 곳으로 간다 이 사람은 중요합니다 우리가 할 수있는 것들은 무엇인가? 우리는 이러한 자극적 플래그를 사용하고 각도를보고 cli를 반응 시켜서 사고

그럼 몇 가지를 살펴 보겠습니다 우리가 가진 다양한 옵션 이를 통해 서로 다른 환경 설정을 할 수 있습니다 생산 또는 개발 용 제작 빌드, 캐시를 원한다

파열, 당신은 모든 파일을 구축하고 싶습니다 변경 한 경우 파일 이름을 다르게 지정해야합니다 그것을 바라 보는 세계의 모든 사람들이 새로운 코드를 얻습니다 캐시 무효화를 사용하지 않는 경우 당신은 모든 사용자에게 응용 프로그램의 세계 브라우저로 이동하십시오 설정, 캐시 비우기 및 다시로드 공개 웹 사이트를 사용해보십시오

당신이 아마존이나 어떤 곳에 있다고 상상해보십시오 밖에있는 주요 웹 사이트 그건 잘 작동하지 않을거야 캐시 무효화가 최고입니다 중대한

소스 맵도 필요합니다 생산 중이 아닙니다 우리는 개발중인 사람들을 원한다 코드를 디버그하기 위해 빌드합니다 나는 그 말을 사랑한다

Javascript, 그런데 코드를 추악하게 만들고 싶습니다 생산 용 크기를 줄입니다 변수의 이름을 정말 긴 이름으로 지정할 수 있습니다

x로 이름을 바꿉니다 왜? 왜냐하면 브라우저는 컴파일 될 때 상관하지 않기 때문입니다 그것은 생산에 좋습니다 크기를 줄입니다 번들링

파일을 번들로 묶어서 10,000 명이 브라우저에 갈 필요가 없습니다 그것은 오랜 시간이 걸립니다 우리는 그것들을 작은 덩어리로 묶습니다 코드 분할 때때로 우리는 큰 응용 프로그램을 가지고 있습니다

그리고 아마도 사용자는 항상 홈 페이지 또는 대시 보드로 이동합니다 또는 검색 그러나 그들은 항상 들어가는 것은 아닙니다 응용 프로그램의 다른 영역 사업에 대한 생각 규칙

그리고 이것은 기술적 문제가 아닙니다 그것은 비즈니스 문제입니다 귀하의 신청서에 대해 생각해보십시오 비즈니스가 어떻게 작동하는지 사용자가 어떻게 소비하는지 신청서를 작성하여 사용하십시오

그런 다음 해당 코드를 반응 및 각도보기의 다른 기능을 다른 기능으로 번들이므로 필요한 번들 만 브라우저로 이동합니다 이렇게하면 사용자가 웹 사이트를 기다리는 시간을 줄일 수 있습니다 그리고 그들이 필요로하는 다른 묶음을 얻으십시오 호출 된 코드 분할입니다 Aot

이것은 새로운 프레임 워크 중 일부가보고있는 것입니다 이 자바 스크립트를 컴파일합니다 서버가 브라우저로 전송하여 브라우저가 모든 사용자에 대해 컴파일 작업을 수행 할 필요는 없습니다 안타 그것은 사용자 경험을 가속화합니다

내가 좋아하는 것들 중 하나가 나무 떨림이다 데드 코드 제거의 아이디어 자바 스크립트 코드 작성을 해본 적이 있습니까? 나중에 당신이 그것을 삭제하고 당신은 교대 그리고 그 코드는 사용되지 않습니다

아마 당신은 그것을 결코 발견하지 못했을 것입니다 나무가 흔들리는 것은 생산에 들어가면 모든 것이 걸립니다 사용되지 않는 코드는 흔들리고 땅에 떨어집니다 그리고 사용중인 코드 만 배송합니다 모든 것을 함께 결합하면 더 나은 응용 프로그램을 운전할 수 있습니다

좋은 소식은 각도를 사용하거나보기 또는 반응하는 경우, 그들은 당신을 위해 이것을하는 cli 's를 가지고 있습니다 빌드 명령을 호출하면됩니다 당신을 위해 일하십시오 따라서 코드를 보내기 전에 백 엔드가있는 노드가있는 Azure는 우리는 프론트 엔드 로직을 최적화합니다 그렇게하면 대규모 앱, 대규모 엔터프라이즈 앱 또는 작은 기기는 이런 기기에서 작동합니다

6,000 명의 사람들과 가진 회의에서 그리고 그것은 여전히 ​​빠릅니다 한 번 그렇게하면 당신이 사용할 수있는 다른 도구 나는 이것들에 대한 링크를 제공 할 것이다 번들을 탐색 할 수 있습니다

소스 맵 탐색기 사용 또는 웹 팩 분석기 이 두 도구는 내부를 볼 것입니다 당신이 운반하는 번들 중에서, 열지도를 줄 것입니다 코드 내에있는 모든 것이 얼마나 큰지를 보여주는 코드입니다

그리고 당신이 사용하고있는 모든 것 나는 이것을 자주 사용했다 제작 앱 그리고 나는 때때로 발견했다 나는 내가 사용하고 있다는 것을 몰랐던 라이브러리에 코드를 포함시키고있다

이것은 나에게 위대했다 나는 내 코드로 돌아가서 말할 수있다 그걸 없애자 훌륭한 예가 사람들이있었습니다 그것은 pat microsoft를 사용했습니다

그리고 그들은 차트를 사용하고있었습니다 그리고 마이크로 소프트 사이트 어딘가에 넣을 생각 차트 데이터 그리고 그들은 거기에 가지 않기로 결정했다 그리고이 스프린트를해라

아직 그 코드는 여전히있었습니다 코드를 발견 한 이유는 다음 중 하나입니다 이 도구들과 내가 찾았 어 – 그래, 배터리가 마침내 죽었습니다 그렇지 >> 여분의 배터리가 있습니까? >> 그들은 길을 가고 있습니다

>> 나타난 차트가있었습니다 그리고 사각형이 커질수록, 파일 크기가 커집니다 그리고 그것은 단지이 큰 제 3의 것이 었습니다 파티 차트 도구 당신이 그것을 사용한다면 괜찮습니다

차트를 사용하지 않는 경우 왜 차트를 신청? 그래서 그것을 좋아하니, 너는 할 수있어 실제로 응용 프로그램에서 사용중인 코드를 시각적으로 식별하십시오 이제 작동합니다 이제 애플리케이션을 클라우드로 가져갈 준비가되었습니다 우리는 일을 앞섰다

모든 숙제 이것이 클라우드에 도달한다는 것이 무엇을 의미하는지 생각해 봅시다 노드 응용 프로그램에서는 종속성을 설치해야합니다 Np N

당신은 보통 무엇을합니까? 커피 마시 러 정확하게 고맙습니다 커피를 마시지 않으면 무엇을 너 그렇게하지? 너는 책을 읽는다 그래서 당신이 그것을 실행할 때

당신은 모든 것을 물건 어쩌면 당신은 느린 wifi가 있기 때문에 우리는 그런 일이 일어나는지 확인해야합니다 하늘에 가면 다른 컴퓨터에 있습니다 거기에서도 제대로 작동하는지 확인해야합니다

그렇다면 자산을 만들어야합니다 반응 빌드 어쩌면 고속 서버를 노드로 구축 할 수 있습니다 그리고 마지막으로 우리는 그것을 모든 배포 폴더에 복사하고 그것을 구름으로 밀어 넣으십시오 그것이 우리가 생각하려고하는 정신적 과정입니다

우리가하는 일들을 현지에서 받아들이는 방법, mpm 설치, 각진 빌드하고 배포 폴더에 복사 한 다음 서버에 밀어 넣으시겠습니까? 어떻게해야합니까? 우리는 생각해야만 하는가? 나는 창문 10을 달리고있다 구름 위에 보탬이되고있다 어쩌면 당신은 그게 다른 운영 체제를 실행하는 경우 CI 서버 아니면 당신이 운영 체제를 사용하지 않고 있지만 당신은 같은 것을 사용하고 있습니다 노드의 버전

몇 가지 패키지가 있다는 것을 알고 계셨습니까? 노드의 다른 버전에 따라 다르게 작동합니다 동기화해야하는 버전이 있습니다 클라우드 커버에 전개 할 때, 기계가 거기서 일할거야? 그것이 우리가 명심하고 싶습니다 그리고이 문제를 해결하는 데 도움이되는 것은 부두입니다 Docker는 이러한 문제를 해결합니다

이것은 내가 요점에 도달했을 때이다 좋아, 내가 일하는 곳, 우리는 수백, 수백, 거의 1,000 개의 앱 그리고 나는 디버깅을 할 수 없었다 클라우드가 아닌이 사람의 컴퓨터에서 작동하는 이유는 무엇입니까? Docker가 해결했습니다 그것이 docker에서 작동한다면, 그것은 귀하의 컴퓨터에서 작업하십시오

그래도 그렇게하려면 도커가 작동하는 방식을 이해합니다 도커 일은 뭔가? 당신은 도커 파일을 가지고 있습니다 오, 벌써 해 mpm을 설치하는 데 필요한 단계를 이미 알고 있습니까? 계획? 네 당신은 매일 그것에 대해 노력하고 있습니다

도커 파일은 단지 레시피 일뿐입니다 당신이 그 단계를 적어 둡니다 그것은 자체 작성 스크립트로 작성하는 방법입니다 그리고 응용 프로그램을 실행 일단 스크립트를 실행 시키면, 다른 환경에 맞게 구성 할 수 있습니다

우리는 도커 파일을 이렇게 생겼어 좋아, 우리는 노드에서 뛰게 될거야 89 그리고 환경 변수를 설정하십시오 작업 디렉토리

패키지를 복사하십시오 p 폴더를 복사하십시오 이것은 직장에서 이웃에게 이야기 할 때입니다 너는 내 앱을 실행하는 것과 같다 나 한테 이걸 시험해 볼거야? 단계가 있습니다

도커 파일은 그 것입니다 우리가 적어두고 있습니다 우리가 할 수있는 것이 우리의 조리법입니다 같은 것 니가 나 같은 존재라면 너는 그런가, 한숨, 나는 그것을 적어두고 기억해야한다

대부분의 도커 파일은 8 줄의 코드가 아닙니다 그들은 훨씬 더 관여합니다 정말 고맙습니다 오늘 기술 문제로 가득 찼습니다 툴링으로 무엇을 할 수 있습니까? 그것이 당신을 위해 무엇을 할 것 같니? 도커 파일을 추가합니다

열어 봐 고맙습니다 커맨드 팔레트를여십시오 작업에 도커 파일 추가를 누르십시오 공간

그리고 당신은 이 링크의 도커 확장 일단 추가하면 도커 파일을 편집하십시오 네가 좋아하지 않는다면 Docker 파일과 다른 것을하고 싶습니까? 너는 그것을 바꿀 수있다 특정의 것을 원한다면 각진의 경우 각도에 대한 확장을 당기면 에센셜, 실제로 도커 파일 snip bit가 있습니다 여기에서 볼 수 있습니다

도커 다단계 그것은 다른 것들을 잔뜩 팝업 그것은 다단계 항해자 파일입니다 각도 만들기 신청 온라인 빌드 실행 8 신청

그리고 10 번에서 15 번까지, 노드 서버를 빌드하십시오 그것이 나의 조리법입니다 그리고 둘 다 각도 애플 리케이션과 노드 애플 리케이션을 저장 해요 변수 onlines 2와 11은 일시적입니다 컨테이너

도커를 위해서 그리고 마침내, 최종 이미지에서, 나는 물건을 부여 잡는다라고 말한다 각도 애플 리케이션, 익스프레스 애플 리케이션에 물건을 잡아, 그들을 넣어 컨테이너에 포트를 노출시키고 실행하십시오 이제 내 앱이 없어도 프로덕션을 위해 뭔가를 실행하고 있습니다 소스 코드, 빌드 된 파일 일뿐입니다 그래서 코드 대 우리가 이것을 생성하는 데 도움이 될 수 있습니다

더 이상 아무 것도 입력하지 않아도됩니다 나는 환상적이다 우리는 그것을 만들고 실행합니다 그런 다음 디버그 할 수 있습니다 니가 나 같은 사람이라면 아마 너는 생각하고있어

내가 도커와 함께있는 수줍음 중 하나는 내가 만들고 싶다는 것입니다 내 컴퓨터에서 실행되는 작업이 도커가없는 상태로 달리기 내가 로컬에서 실행할 때 내 코드를 볼 수 있습니다 내 파일을 탐색 할 수 있습니다 나는 그것을 디버깅 할 수있다

실행중인 로그를 볼 수 있습니다 내가 도커에 들어갈 때 나는 단어 컨테이너를들을 수있다 도커 컨테이너에서 같은 일을 할 수 있습니까? 대답은 '예'입니다 증명해 보죠 그래서 여기에 제 신청서가 있습니다

내 프로젝트를 로컬에서 실행하겠습니다 로컬로 실행하십시오 어느 곳에서 그것을 실행할 것입니다 아니면 그렇지 않을 수도 있습니다 그걸 죽이자

다시 스크립트를 실행하십시오 로컬이 아래에 있습니다 우리는 거기에 갈 내 애플 리케이션을 Theres 놀랍다

그리고 내 친구들도 할 수있어 영웅은 바이킹입니다 그리고 오늘날 악당은 누구입니까? 우리는 거기에 갈 그가 방에 있기 때문에 여기에 크리스를 붙이자 당신은 오늘 노드의 해커가 될 것입니다, 크리스

각도 앱이 있습니다 로컬에서 실행 중입니다 모든 좋은 내가 원한다면, 나는 이것을 디버깅 할 수있다 신청

내가 어떻게 그럴 수 있니? 로컬에서는 디버그라는 또 다른 스크립트가 있습니다 그래서 여기에서, 나는 그것을 디버깅하기 위해 코드를 사용할 수 있습니다 우리는 그것을 탐색 할 수 있습니다 같은 포트에 있습니다 그리고 내 코드 안에 들어가면 내가 들어갈 수 있습니다

service js라는 파일이 있습니다 나는 heros를 얻는다 디버거를 시작 했습니까? 아니 도움이됩니다 여기에 발사라는 스크립트가 있습니다

그 과정을 없애자 작동을 증명하기 위해 처음부터 시작하겠습니다 그리고이 작은 장비를 클릭하면 디버그 스크립트 디버거가 맨 위에 있습니다 내가 끌고 다니는 걸 본거야? 그것은 제 디버거입니다

우리는 내 서비스로 돌아갈거야 나는 내 영웅과 빵을 새롭게 할거야 로컬에서 디버깅 중입니다 이 코드는 대 상자에서 나옵니다 우리를 위해

내가 도커에게 갈 때 할 수 있을까? 같은 것들? 그게 진짜 질문입니다 먼저, 우리가 도커 파일을 가지고 있는지 봅시다 그 부두 파일이있어 이전에 보았습니다 이걸 얻고 싶다면 명령 변경 p와 docker에 입력하면 작업 공간에 파일이 추가됩니다

당신의 언어를 고르시 오 원하는 포트를 선택하십시오 그리고 나서 그것은 경고 할 것입니다 파일이 이미 있습니다 덮어 쓰시겠습니까? 해보자

그러면 당신은 이것이 Docker 파일은 상자에서 꺼내집니다 도커가 바로 파일을 무시하게 만들 수도 있습니다 그리고 당신은 도커가 작성합니다 그리고 도커가 디버그를 작성합니다 지금은 변경 사항을 취소 할 것입니다

vs 코드에서 git 지원을 해주셔서 감사합니다 괜찮아 명령을 어떻게 실행합니까? 만약 내가 명령을 p 교대하고 docker에 입력하면 위로 작성하십시오 우리는 도커 작성 파일을 실행할 것입니다 우리가 이것을 실행하기 전에, 그것이 무엇을하는지 보자

편지가 있습니다 그런 다음 컴포지션 디버그가 있습니다 그래서 라커 구성으로 여러 개의 도커 파일을 실행할 수 있습니다 그것은 하나입니다 바이킹이라고합니다

포트는 3001입니다 Docker close debug overrides 일부 설정 이 파일을 사용하여 변수가 로컬에 있습니다 내 데이터베이스 키와 물건처럼 그리고 나는 github에서 그들을 확인하지 않습니다

그리고 나는 항구를 폭로하고 싶다 그리고 디버거 검사기로도 실행하고 싶습니다 그리고 그것은 도커 파일을 실행할 것입니다 이제 나는 명령 팔레트에 올라가고, 도커로 입력하십시오 그것은 물어볼 것입니다, 어느 것이 달렸습니까? 디버그를 실행하십시오

그리고 아래에서 명령 실행을 볼 수 있습니다 이것에 대한 멋진 것들 중 하나, 그것을 조금 위로 끌어 요 너는 거기에서 볼 수 있니, 너에게 그것의 명령을 보여주고있다 달릴거야 그래서 그것은 도커 작성기를 실행 중입니다

파일 사용 그 파일을 사용하십시오 그게 무슨 뜻인지 알아? 아니 직접 입력 해 주시겠습니까? 전혀 이 모든 일을 당신을 위해서하고 계단을 거치고 있습니다

1 ~ 7 또는 8 단계로 진행됩니다 떨리는 나무를 할거야, 내가 필요한 모든 걸 할거야 내 응용 프로그램 일단이 단계를 지나면, 빨리 내 덩어리가있어

우리는 위로 스크롤하여 프로젝트가 얼마나 큰지 볼 수 있습니다 재생중인 캐시 파열을 볼 수 있습니다 이상한 파일 이름입니다 그 다음에 계속 전진했습니다 컨테이너는 각도 앱입니다

그리고 이제는 노드 서버라고합니다 그것을 위해 mpm을 설치하십시오 그리고 그것을위한 중간 컨테이너를 만듭니다 그리고 마침내 그것은 성공적으로 컨테이너를 만들었습니다 예

그래서 나는 컨테이너를 가지고 있지, 그렇지? 나는 그것을 어떻게합니까? 좋은 질문 나는 크리스에게 전화한다 그는 나를 독수리에게 가르쳐 줬기 때문에 vs 코드에서 부두 확장자가 있습니다 이것은 이전에 보여준 링크입니다

도커 확장 기능을 사용하면 방금 본 기능을 사용할 수 있습니다 이제 나는 여기에서 이미지를 볼 수 있어야합니다 첫 번째 이미지는 내 바이킹 최신입니다 그래서 그것은 이미지입니다 이미지는 기본적으로 청사진이나 코드 템플릿입니다

그 이미지로, 내가 원하면 여러 컨테이너를 실행할 수 있습니다 에 스케일 업에 대해 생각해보십시오 장기간 지금 당장 하나 필요해

그 이미지로 컨테이너에서 그 이미지를 실행할 수 있습니다 다행히 도커가 작성을 실행하면 자동으로 해냈습니다 그 그것은 이미지를 만들어 내 바이킹 컨테이너 우리가 그것을보기 전에, 우리가 뛰지 않았는지 확인하십시오

노드 코드 우리가 있다면, 그들을 닫아 보자 다른 프로그램이 실행되고 있지 않은지 확인하십시오 아무것도 실행 중이 아닙니다 고정 장치가 있습니다

우린 그걸 죽일 수도있어 우리는 지금 3001에 나간다 죄송합니다 거기는 그건 우리와 같은 항구 야

에서 실행 중입니다 그리고 우리는 새로 고침 이것은 실행중인 컨테이너입니다 내 응용 프로그램 이제 이것을 디버깅하고 싶다면 어떻게해야할까요? 나는 디버거에 갈 수 있었다

그리고 기어를 클릭합니다 그리고 무엇이 들어 있는지 살펴 보겠습니다 그곳에 실행 구성이 있습니다 노드에 연결된 도커라고합니다

디버그 저 포트를 열어서 사용하겠습니다 도커를 통해 동일한 포트가 작성됩니다 그런 다음 로컬 호스트를 실행 중입니다 그리고 소스를 매핑해야합니다

암호 그래서 달릴 때, 나는하고 싶다 컨테이너에있는 소스 코드를 내 컴퓨터에있는 것과 매핑 할 수 있어야합니다 원격 경로는 내가 만들었 기 때문에 사용자 소스 앱입니다 내 도커 파일, 로컬 경로가 대체품을 사용 중입니다

변수는 작업 공간 폴더로 이동합니다 그리고 제가 사용하고있는 프로토콜은 검사관입니다 그러면 올바른 디버거를 선택합니다 일반적인 실수, 나는 언론에 맞았다 버튼

올바른 디버깅을 확인하십시오 프로필이 선택되었습니다 나는 그것을 누를 수있다 F 5 이제 디버거가 실행 중입니다

우리가 열어야한다 거기에 브레이크 포인트가 있습니다 그리고 지금, 내 휴식을 새로 고침하면 점이 도커 컨테이너를 치고 있습니다 그래서 우리는 내가 디버그 할 수 있음을 증명했다 도커가 없거나 도커가없는 경우 로컬

추가 노력없이 디버거 그냥 다른 구성 디버깅 구성을 어떻게 얻습니까? 구석에 파란색 버튼이 있습니다 그것은 매우 강력합니다 그걸 끌어 올려

그리고 노드를 디버깅 할 수있는 다양한 방법을 선택할 수 있습니다 우리는 마커를 마지막 노드에 연결했습니다 그러면 실행 구성이 생성됩니다 네가 할 수있는 유일한 방법은 변경해야하는 것은 당신이 당신의 길을 그 길과 다른 경우입니다 제공합니다

어떤 의미가 있습니다 코드를 넣을 때마다 괜찮아 우리는 모든 것을 증명하지 못했습니다 도커와

내가 알고 싶은 다른 것 내 코드를보고있을 때 if 그것은 작동하지 않았다 일반적인 기술 중 하나는, 때로는 생각하는 코드와 파일 구조를 배포합니다 거기에 보낸 파일 구조가 아닙니다 당신이 그것을 보았을 때, 당신은 그 폴더의 내용을 올렸다 그리고 거기에 www를 잊어 버려라

때로는 경로 설정이 가장 힘들 때가 있습니다 프로그래밍의 일 무엇인지 확인하는 것이 좋다 실제로? 우리가 우리 컨테이너에 나간다면, 우리는 마우스 오른쪽 버튼을 클릭 할 수 있습니다 로그를 보여줄 수 있습니다

껍질을 부착하십시오 셸을에 연결해 봅시다 거북이처럼 이제 컨테이너에 쉘이 있습니다 원한다면 이것을 외우십시오

그것이 실행하는 명령입니다 그리고 나는 ls를 실행할 수 있습니다 내 컨테이너에는 뭐가 들어 있니? 그리고 저는 뭔가를 알아 냈습니다 서버 js 어느 부분에서 내용을 보죠? 그 파일

index js라는 파일이 있습니다 섬기는 사람 이 폴더는 server라는 폴더에 있어야합니다 내가 여기서 그걸 발견 할 수 있는지 보자 그래서 나는 말할 수 있어야합니다, 좋아, 먼저 서버가 있습니다

폴더? 예, 있습니다 내가 할 수있어 내 색인이 있습니다 나는 그걸 할 수있어 동일한 코드가 있습니다

그래서 당신이 로컬로보고있는 것은 또한 컨테이너에 있습니다 로그를 보여주는 것은 어떨까요? 때로는 오류가 있고 당신은 기록하고 싶습니다 마우스 오른쪽 버튼을 클릭하여 컨테이너를 선택하고 로그 표시를 선택하십시오 네가 그렇게하면, 이제 너는 내가 백그라운드에서 실행하고있는 것을보고, 당신은 모든 메시지를 보게 될 것입니다 사고

그래서 내가 여기 내려 오면 그 메시지를 지운 다음, 우리는 그 메시지를 지우지 않았습니다 명확한 우리는 거기에 갈 그리고 우리는 여기 와서 새로 고침을합니다 이제 당신은 거기에 내가 읽은 새로운 메시지가 있습니다

이것은 디버깅을 위해 매우 강력합니다 이제 귀하는 귀하의 컴퓨터에 컨테이너 이제 이것은 푸른에 관한 이야기입니다, 맞습니까? 나는 아직 푸른 색이 어떻게 작용하는지에 대해 아직 이야기하지 않았다 그 이유는 구름에 가기 전에, 당신이 확실히하고 있는지 확인하십시오 귀하의 앱은 지역적으로 훌륭하게 작동합니다

로컬로 디버그 할 수 있습니까? 큰 하늘빛 구름을 사용하여 구름으로 옮길 경우 도커가 로컬에서 작동하는지 확인하고 디버깅 할 수 있습니다 vs 코드를 사용하여 파일을 추가하고 실행하며 디버거를 켭니다 우린 잘됐다

괜찮아 그래서 우리가 사용하는 방법을 살펴 보았습니다 도커가 그랬어 그리고 그것이 당신이 확장을 가져 오는 곳입니다 다음 단계는 당신이 그 이미지를 가지고 하늘빛으로 밀어 넣을 수 있다는 것입니다

우리는 이미지를 볼 수 있고 그것에 대해 다른 것을 할 수 있습니다 이미지에 태그를 추가하여 어디로 가야하는지 알려줄 수 있습니다 태그는 컨테이너의 다른 이름입니다 이미지 이 경우 나는 그것을 말하기 위해 바이킹 이미지에 태그를 붙이고있다

이 이미지를 푸른 색으로 배치하고 배치 할 수있는 위치에 놓습니다 구름에 왜 내가해야만합니까? 그것은 레지스트리라고합니다 컨테이너 레지스트리Net을 사용할 때 노드를 사용할 때 mpm을 사용합니다 도커로, 도커 레지스트리가 있습니다 컨테이너 레지스트리 도커 허브가 있습니다 Azure 컨테이너 레지스트리는 Azure가 제공하는 것입니다

그리고 우리는 우리를 밀어 낼 수 있습니다 그래서 우리는 그것을 어느 곳에 나 배치 할 수 있습니다 우리가 원하는 Azure 앱 서비스 그래서 거기에서 우리는 클라우드로 바로 이동할 수 있습니다 여기 아이디어는 앱을 작성하는 것입니다

우리는 그것을 태그하려고합니다 이름을 지정하십시오 그래서 어디로 가야할 지 알 수 있습니다 우리는 그것을 밀어 올릴거야 컨테이너 레지스트리에 있으면 웹을 볼 수 있습니다

클라우드의 앱 존이 있는지 봅시다 그것으로 가득 차있다 내가 일하는 것에 대해 좋아하는 한 가지 하늘을 배경으로하여 데모의 성공에 의존합니다 인터넷 연결성은 그 순간에 있습니다

첫째, 나는 나의 지역 컨테이너를 끌 것이다 컨테이너를 멈출거야 로컬 컨테이너를 제거합시다 잠시 후에 사라져야합니다 예

그럼 우리는 인터넷에 갈거야 그리고 인터넷에서 우리는 내 사이트의 버전을 실행 중입니다 원한다면 모두 맞을 수 있습니다 너라면 잘해라 URL이 있습니다

그게 거기에 있습니다 그리고 그것은 모두에게 안녕하세요를 말하고 있습니다 얼마나 푸른 하늘인지 앱을 변경하려고한다고 가정 해 보겠습니다 빌드를 환영합니다

애플리케이션에서 스크롤 뒤로 밖으로, 도구 모음이라고하는 페이지가 있습니다 여기서 내가 사이트에 대한 내 이름을 가지고 있는지 확인하십시오 그래서 거기에 빌드를 환영한다고 말하고 있습니다 그리고 우리는 제발 오 인터넷 신들을 작동시키는 말 할거야 그렇게

지금 내가 로컬로 실행하면 변화를 보게 될 것입니다 변경 사항은 빨간색 메시지입니다 그래서 나는 그 지역의 변화를 만들었습니다 내가 할 수있는 일은 내가 계속 나아가 도커가 작전을 수행 할 수 있다는 것입니다 이번에는 실제 도커를 선택하여 작성합니다

디버그가 아닙니다 내가 왜 그랬어? 살펴보고 무엇이 필요한지 살펴 보겠습니다 사고 내 파일 안에는 도커가 파일을 작성합니다 그리고 내가 고군분투하는 것을 알아 차린다

해당 파일의 위치를 ​​찾으십시오 팁을 가르쳐주세요 들어가다 그것은 나를 위해 파일을 찾습니다 더 이상 보지 않아

위로, 이것은 무엇을하고 있습니다 생산이라는 환경 변수를 설정합니다 나는 데이터베이스 사용하기 데이터베이스 키가 표시되지 않습니다 여기에이 파일이 있습니다

이것은 무시되었습니다 내 모든 마법 열쇠가있는 곳 이 파일에는 데이터베이스 키와 인증 정보가 있습니다 내가 가지고 있을지도 모른다 당신에게 하나의 예를 들어주세요

보이는구나 거기에, 내 환경이있다 변수와 내가 이것을 볼 수있는 패키지가 있습니다 그리고 나를 위해 그들을 설정하십시오 내 로컬 컴퓨터에서 필요합니다

변수를 별도로 설정했습니다 그래서이 도커 컨테이너 나는 단지 그것이 아래에 한 짓 부두 확장자를 들여다 보면 몇 초 전에 생성되었고 실행 중임을 알 수 있습니다 로그를 보여줍니다 그리고 그것을 탐색하려고하자

장소 상에서 내 데이터는 어딨어? 해당 키에 대한 액세스 권한이 없습니다 나는 환경을 두지 않았다 변수 플래그, 해당 컨테이너에있는 파일 보안상의 이유로 그렇게하고 싶지 않아요

그러나 나는 여전히 달릴 사람들이 필요합니다 로컬에서는 도커 작성이 나를 위해 실행되지 않습니다 클라우드에있는 사람은 행복하지만 빌드하는 것은 환영합니다 그래서 내가 여기에 다시 와서 우리가 우리의 이미지를 본다면, 우리는 먼저 클라우드에서 해당 파일을 가져올 수 있는지 확인하십시오 저기에 변화를 가져 가자

변수를 살펴 보겠습니다 첫째, 나는이 물건에 태그를 붙일 필요가있다 만약 내가 오른쪽 클릭하고 태그 이미지를 말하십시오 위로 올라 가면 나에게 이걸 부탁하고 싶니? 아빠 어디서 이런 편지를 보낼지 알기 때문에 내 코드 설정에서 대부분의 시간 나는 동일한 레지스트리에 배포합니다 예, 그런 식으로 태그를 지정하십시오 그리고 나서 내가 한 번 왼쪽으로 가면 2 분 전에 두 가지를 만들었습니다 두 개의 다른 태그가있는 것과 같은 것입니다

그 이름을 어떻게 알았지? 한번 보자 내가 푸른 하늘을 보니, 너 어디서 볼 수 있니? 13 행 내 기본 레지스트리 그게 내가 보내는 곳이야 가지고 있지 않다면 입력하십시오

알겠습니다 이제 내가 태그를 붙였습니다 다시 그것을 오른쪽 클릭 할 수 있습니다 그리고 지금 나는 그것을 밀 수 있습니다 내가 푸시라고 말하면, 하늘색 컨테이너 등록 기관에가보십시오

그리고 나는 거기에 가기 위해 인증을하지 않았다 나는 다음 명령을 사용할 것이다 푸른 cli 내 독서실에 있어요 그리고 당신은 이것에 접근 할 수 있습니다

나는 그 명령을 입력 할 것이다 그리고 내 레지스트리의 이름 그리고 나는 그것을 타이핑 할 것이다 그리고 로그인해야합니다 잘만되면 인터넷은 나를 위해 여기에서 일하고있다

나는 성공했다 큰 이제 가자 다시 우린 할거야

우리는 메시지를 보게 될거야 이하 이러한 여러 레이어가 이미 있음을 알 수 있습니다 레이어 중 일부는 이미 존재한다고 말합니다 고정 컨테이너가 생성되면 다른 고정 컨테이너가 생성됩니다

레이어 많은 앱이 변경되지 않았다고합니다 변경된 유일한 것은 그 하나의 제목이었습니다 그리고 그것은 그것이 추진하고있는 것입니다 그것은 내 차이를 푸시합니다

괜찮아 그래서 그것을 푸른 하늘로 밀었습니다 일단 그것이 그것을 하늘빛으로 밀면, 그것은이 물건으로 들어갑니다 하늘색 컨테이너 등록 소라고 불렀습니다 우리가 와서, 나는 항상 로고가 틀립니다

저것을 시도해 봅시다 자원 그룹입니다 나는 녹색 물건에 많이 간다 그게 다야 Bam

괜찮아 레지스트리는 어두운 구름과 같습니다 그리고 행복한 구름 그걸 기억해야합니다 위치, 조금 더 크게 만들 수 있습니다

보라, 나는 파파 바이킹이라는 저장소를 가지고있다 클릭하면 최신 태그임을 알 수 있습니다 그걸 클릭하면 그 안에 무엇이 있는지 볼 수 있습니다 다시 스크롤하여 웹 훅을 만들 수도 있습니다 웹 후크에 따르면이 새로운 버전이 나올 때마다 이 태그가있는 컨테이너에서이 웹 후크를 실행하고 무언가를하십시오

우리가 여기서 설정할 수있는 웹 훅 앱 서비스에 배포하는 것입니다 여기 웹에서 내려 보자 하늘색 컨테이너 레지스트리에있는 고리 내 아빠 바이킹 규칙이있어 나는 그것을 클릭 할 수있다

여기에 5 월 9 일 1시 40 분에 그걸 볼 수 있어요 푸시 그 웹 훅이 호출되었습니다 우리가 우리 사이트에 올라가면 그리고 바로 여기 있습니다

새로 고침하면 철자가 틀렸지 만 작동합니다 하늘빛에는 맞춤법 검사가 없습니다 그러나 그것은 효과적이다 좋은 보통 이것은 7-10 시간이 걸립니다

날위한 초 저기에 그것을 얻기 위해서 변화를 만들고 그걸 통과하기 위해서 가장 긴 부분은 고정 컨테이너를 재건하는 것입니다 그 사소한 변화로 로그인하지 않아도 30 초가 걸립니다

변화의 크기에 따라 더 많은 것이 있습니다 네가 할 수 있다고 아주 멋지다 괜찮아 핵심은 여기서 우리가 바라 보았다

훌륭한 디버깅 경험을 통한 경험 이러한 하늘빛 노드 확장 나는 너에게 보여줄 또 하나있다 우리가 모든 것을 기억할 필요가 없도록 많은 일을하도록 도와주세요 명령들

그리고 우리는이 훌륭한 도커를 얻습니다 이러한 확장 기능에 대한 경험 기본적으로 코드는 우리의 더 쉽게 살 수 있습니다 그러나 나는 기억한다 이 환경 변수들도 마찬가지입니다

실제로 어떻게 설정합니까? 앱 서비스라는 확장 기능이 있습니다 그리고 그것들을 없애자 파일 우리는 거기에 갈 앱 서비스에서는 빌드 바이킹과 애플리케이션 설정을 볼 수 있습니다

내 보안 키가 거기에 있기 때문에 이걸 옮길거야 이것은 플래그를 설정하는 곳입니다 내 열쇠가있어 처음 12 명이 있습니다 문자

그게 내 데이터베이스 야 내 열쇠 내 항구 내 앱에 필요한 모든 것 실행하려면 바로 설정해야합니다 뿐만 아니라이 읽기 전용이지만, 너는 그것을 바꿀 수있다

마우스 오른쪽 버튼을 클릭하여 새 설정을 추가 할 수 있습니다 나는 바이킹이 아니라, 내가 바꿀 수 있다고 말할 수있다 다른 이름으로, 내가 원한다면 새 키를 추가 할 수 있습니다 키를 삭제할 수 있습니다

키의 이름을 바꿀 수 있습니다 인생을 훨씬 편하게 해줍니다 일단 당신이 그것을 얻었고 실행 중이면 데이터베이스에 액세스 할 수 있습니다 이제 앱 서비스를 통해 다른 일을 할 수 있습니다 다른 옵션은 코드로 돌아갈 수 있습니다

폴더 구조 내부를 마우스 오른쪽 버튼으로 클릭하면됩니다 내 앱을 배포하고 싶습니다 -이 문제가 발생하면 실제로 한 폴더가 너무 깊습니다 마우스 오른쪽 버튼으로 클릭하고 말할 수 있습니다 웹 앱에 배포하십시오

파일을 푸시 아웃 할 수 있습니다 그리고 다른 좋은 점이 있습니다 내가 무엇을보고 싶어하는지 말해 보자 내 데이터베이스에 이 확장 프로그램은 코스모스

내 로컬 데이터베이스를 볼 수 있습니다 여기에서 로컬로 실행하십시오 그리고 나는 거기에있는 것을 볼 수 있습니다 아니면 하늘빛으로 나의 바이킹 데이터베이스에 갈 수 있습니다, 나는 연결할 수 있습니다 그것에

그리고 나는 모든 것을 볼 수 있습니다 악당들과 영웅들 내 컬렉션을 엽니 다 그리고 이것들은 당신이 구름 속에서 보았던 모든 영웅들입니다 거기에서 볼 수 있습니다

누군가 빌을 추가하고 있습니다 아빠 존, 하하 나는 그걸 들어 본 적이 없다 전에 그리고 여기에 너는 문서, 컬렉션 등을 만들 수 있습니다

내가 좋아하는 것들 중 하나 스크랩북을 만들 수 있습니까? 그 점에서, db dot heros dot find 명령 이동 및 인용 그리고 그것을 실행할 것입니다 명령은 바로 여기에 모두 매우 대화식입니다

그리고 나는 여기서 다른 명령을 할 수있다 Db heros는 많은 것을 삭제합니다 아니, 그렇게 하지마 이 모든 것을 도구 내부에서 실행할 수 있습니다 코스모스를 상대로 실행하거나 먼저 로컬로 실행하고 싶습니다

당신은 당신의 지역 mongo를 첨부 할 수 있습니다 좋아, 클릭하자 연결하라 그걸로, 그리고 내가 연결되면 나는 여기 와서 내가 갈 수있다 이것을 실행할 수 있습니다

그리고 이름이 다르다는 것을 알게 될 것입니다 존, 댄, 더 스틴 그래서 다른 곳에 액세스 할 수 있습니다 이 스크랩북을 사용하는 데이터베이스 그리고 이것들은 프로젝트에 넣을 수있는 파일입니다

구하다 그리고 나는 이것을 많이한다 많은 시간 동안 나는 데이터를 테스트 할 것이고 나는 그들을 구할 것이다 딸아이 나는 그들을 배치하지 않을 것이다

우리 팀이 로컬 테스트를 위해 팀원들을 공유하도록 저장하겠습니다 정말 멋진 또 다른 확장 프로그램이 있습니다 그리고 이들을 확인하기 위해 확인할 수있는 몇 가지 훌륭한 세션이 있습니다 이러한 도구를 사용하면 위대한 모든 것을 구축 할 수 있습니다 이 리소스를 다시 보면, 이것들은 다릅니다

오늘 발표 한 확장 프로그램을 통해 모든 작업을 수행 할 수 있습니다 우리가 여기서 한 것 너는에 접근 할 것이다 Github repo 바이킹을 찾을 수 있습니다

바로 거기 데이터베이스 가서 찾아 봐 그리고 함께 할 수있는 바이킹 응용 프로그램이 있습니다 이것들은 우리가 사용한 모든 확장 기능과 단축키입니다 그리고 우리가 확인할 수있는 훌륭한 다른 세션이 있습니다

하늘색 기능이 있습니다 멋진 세션이 있습니다 그들은 이것을하는 방법을 보여줍니다 매트에 의한 세션이 있습니다 다른 확장 기능을 사용하는 방법을 보여줍니다

저장 용량 확장이 있습니다 대단히 좋은 물건이 대 암호 노드 점등 훌륭한 도구가 있으면 코드 작성이 훨씬 재미 있습니다 나는 당신이 그것을 즐겼기를 바랍니다

질문이 있으시면 언제든지 따라주십시오