Node.js WebSocket Programming Tutorial with JavaScript

안녕하세요 여러분 오늘 저는 웹 소켓 프로그래밍을하는 방법을 보여 드리겠습니다 nodejs를 사용하면 JavaScript로 몇 가지 예제를 함께 살펴볼 것입니다 클라이언트와 소켓 사이에 상시 연결 소켓 연결을 작성하려고합니다

서버와 클라이언트와 클라이언트 사이에서 인터넷을 통해 피어 프로세스에 양방향으로 데이터를 즉시 전송 채팅 애플리케이션 또는 멀티 플레이어를 구축 할 때 유용합니다 온라인 게임 또는 주식 시세 앱 실시간 GPS 위치 추적지도 실시간 웹 경매 또는 그 사이의 모든 것 클라이언트-서버 통신을위한 vanilla nodejs 코드 프로덕션 환경에서는 웹 호스팅 공급자를 사용하여이 응용 프로그램을 배포합니다 AWS와 클라이언트가 그들의 인터넷 연결은 nodejs 네이티브 넷 라이브러리를 통해 쉽게 서버가 시작되고 포트 98에 바인딩 된 소켓 연결 열기 및 처리 시작하기 전에 클라이언트가 실행될 때 실행할 이벤트 핸들러를 할당합니다

클라이언트가 TCP를 통해이 앱에 연결 한 후 서버에 연결 연결 서버는 클라이언트에게 문자열을 보낸다 서버 말하기 서버는 클라이언트가 서버로 보내는 모든 데이터를 기록합니다 소켓 연결이 닫히기 직전에 서버가 클라이언트에게 닫힘을 알려줍니다 연결 이제 다음에 클라이언트 nodejs 코드와 그 뒤에 일부가 표시됩니다 클라이언트를 기존 웹 페이지를 통해 연결하는 브라우저 JavaScript 앱은 nodejs에서 동일한 넷 라이브러리를 사용합니다

TCP 소켓 연결이 로컬 호스트 포트 98 98 인 서버 클라이언트가 서버에 hello라는 메시지를 보낸다 서버가 클라이언트에 데이터를 보낼 때 클라이언트가 여기에 기록합니다 클라이언트-서버 상호 작용 실행 실시간으로 클라이언트가 서버와 연결하여 문자열을 교환 한 다음 클라이언트 웹 브라우저에서 수행하는 작업을 보여주기 전에 연결을 끊고 종료합니다 WebSockets를 사용하여 서버에 연결하여 클라이언트에 연결하는 방법 양방향 메시지 이것은 일종의 복잡한 작업입니다 서버 앱에서 라우팅하여 두 클라이언트의 브로커로 전환 클라이언트가 항상 공개적이지 않기 때문에 클라이언트에 직접 연결할 수 없습니다 서버 응용 프로그램이 항상 액세스 할 수있는 IP 주소로 서버 구성 요소가 피어 투 피어 양방향 메시징을 구현하려는 경우 필요 WebSocket 연결을 위해 브라우저에서 JavaScript가 어떻게 보이는지 봅시다 브라우저에서의 소켓 프로그래밍은 약간 복잡하지만 웹 소켓 프로그래밍은 아니고 우리에게 동일한 목표를 달성합니다

기본적으로 사용할 수있는 브라우저의 소켓 서버 코드와 WebSocket 서버 코드 모든 현대에서 작동하는 내장 객체가있는 WebSocket 프로토콜 브라우저 터미널에서 WebSocket 서버 스크립트를 실행하고 HTML을로드합니다 Chrome에서 파일을 보면 브라우저가 서버에 연결되어 있음을 알 수 있습니다 그들은 각각 서로에게 문자열을 보낸 다음 내가 연결되면 연결이 종료됩니다 내 브라우저에서 웹 페이지를 새로 고치면 똑같은 것을 다시 볼 수 있지만 이를 위해 클라이언트와 클라이언트 간 통신은 어떻습니까? 브라우저 대 브라우저 nodejs 클라이언트 대 nodejs 클라이언트 브라우저 대 nodejs 클라이언트 PubNub와 같은 서비스를 사용하면이 모든 것을 쉽게 수행 할 수 있습니다 장치가 TCP를 말할 수 있다면 양방향 장치와 장치를 연결할 수 있습니다 모든 메시지 볼륨에서 커뮤니케이션 PubNub는 무료로 가입하고 무료입니다 API 키를 사용하여 한 달에 최대 백만 건의 메시지를 영원히 보낼 수 있습니다 이로 인해 PubNub는 애호가 학생들과 기업들이 쉽게 선택할 수 있습니다

개념 증명을 구축하기 위해 클라이언트에서 클라이언트로 보내는 메시지를 보자 전송 코드는 nodejs와 비슷합니다이 코드는 거의 동일합니다 여기에 웹 브라우저 JavaScript를 위해 먼저 클라이언트 1이 있습니다 무료 API 키를 사용하여 전 세계에 분산 된 무한 확장 가능한 PubNub 네트워크 다음에 우리는 당신이 그들을 사용할 때 채널 채널이 만들어집니다 구독 당신이 원하는만큼을 만들고 그들은 영원히 구독 구독 장치가 의미 특정 채널에 게시 된 모든 메시지 수신 여기에 한 번에 하나 이상의 채널을 구독 할 수 있습니다

새 메시지가 전달 될 때 실행되는 이벤트 핸들러 다음 구독은 사용자가 누를 때마다 실행되는 기능을 설정합니다 그들의 리턴 키 PubNub publish 메소드는 PubNub 네트워크를 사용하는 채널의 메시지는이 메시지가 강도 번호 JSON 객체 원하는 모든 스크립트를 만들었습니다 다음을 나타내는 메시지를 게시한다는 점을 제외하면 거의 동일합니다 클라이언트 번호 2입니다 2 개의 PubNub 기반 스크립트를 2 개로 실행하겠습니다

즉각적인 피어 투 피어 양방향 메시지를 표시하는 터미널 창 집중된 터미널에서 Enter 키를 누를 때마다 PubNub의 전달 기능 윈도우 스크립트는 새로운 PubNub 메시지를 전송합니다 동일한 채널이므로 양쪽에서 동일한 데이터를 볼 수 있습니다 다른 스크립트가 다른 쪽의 컴퓨터에서 실행되는 경우와 동일한 방법 전세계 PubNub 메시지의 대기 시간은 일반적으로 클라이언트와의 거리에 따라 250 밀리 초 PubNub를 사용하면이 멋진 펍 / 서브 메시징 기능을 구축 할 수 있습니다 채팅 앱 멀티 플레이어 게임은지도에서 실시간 위치 정보 추적 매일 약 430 억 개 이상의 메시지가 PubNub 네트워크를 통해 전송됩니다 2,000 명 이상의 행복한 고객이 PubNub를 무료로 사용해보십시오 dashboard

pubnubcom/signup은 GitHub의 스타터 코드도 확인하십시오 다음 프로그래밍을 시작할 수 있도록 모든 프로그래밍 언어 시청 해 주셔서 감사합니다

2.1 Server-side with Node.js – Working with Data and APIs in JavaScript

[땡땡] 다시 오신 것을 환영합니다 모듈 2를위한 시간입니다

그리고이 모듈에서 저는 뭔가를 할 것입니다 꽤 흥미롭고 아주 다른 지금까지 내가 한 것보다 이전 예제에서 수행 한 모든 작업, 그것은 모든 클라이언트 측 JavaScript였습니다 지도 그리기, 지구 온도 데이터 그래프 그리기, 이미지로드 및 표시 가져 오기 기능이있는 웹 페이지에서 클라이언트 측 JavaScript로 수행되었지만, HTML 페이지 자체에 작성된 JavaScript를 의미합니다 하지만 당신이 많이 가지고있는 것은, 이 프로그래밍을하고있는 세계의 사람들 할 일, 데이터 및 API 작업, 클라이언트 측 JavaScript만으로는 할 수 없다

따라서이 모듈에서는 당신은 서버 측 프로그래밍입니다 그리고 나는 자바 스크립트 런타임을 사용할 것이다 Nodejs는 서버 측 프로그래밍에 사용할 수 있습니다 이제, 서버 측 프로그래밍의 세부 사항, 그리고 내가 어떻게 그것을 할 것인가, 그것은 올 것이다

그러나 제가 만들 계획 인이 프로젝트는, 근본적인 이유, 이유 이 프로젝트의 노드는 데이터 지속성을 필요로합니다 몇 가지 데이터를 수집하여 저장하고 나중에 다시 가져 오려고합니다 그리고 이것은 당신이 쉽게 할 수있는 것이 아닙니다 서버를 작성하지 않고 수행하십시오 당신은 확실히 다른 사람의 서버를 사용할 수 있습니다

데이터베이스라는 것이 있습니다 내가 단지있을 수있는 서비스로서, 헤이, you 've 서버가있어, 너를 위해 가입 할 수 있니? 내 데이터를 가져 가면 나중에 다시 요청할 것입니다 하지만 실제로 서버를 만들 예정입니다 여기이 노트북에서 돌아가고, 그리고 여기에 날짜 데이터를 저장하고 있습니다 자, 어느 시점에서 나 또한 갈거야

해당 서버를 가져 오는 방법을 보여줄 필요가 있습니다 너의 자신의 휴대용 개인 컴퓨터 외에 다른 곳에 달리기 위하여, 그러나 그것은 시작할 곳입니다 이 모듈에서 빌드 할 프로젝트 Data Selfie App이라고합니다 Data Selfie App은 예제 프로젝트입니다 조이 리 디자이너이자 연구원입니다

뉴욕 주 ITP에서 수업을 가르치고 있습니다 콴 인본주의 자라고 불렀습니다 그것은 데이터 및 자체 추적에 관한 것입니다 그래서 Joey는 기꺼이 허락을 받았습니다 사용하고, 그의 모범을 바탕으로 구축하며, 이 시리즈의 일부로 이 비디오의 설명에서 Joey의 웹 사이트로 연결됩니다

그래서 당신은 그의 일에 대해 더 많이 알 수 있습니다 뿐만 아니라 데이터 자체에 대한 원래 GitHub 저장소 앱을 사용하면 모든 코드를 찾을 수 있습니다 내가 너에게 보여줄거야 자, 순서대로 코드에 따라 내가 쓰고 시연 할거야 이 프로젝트를 구축하면 당신이 할 수없는 것들을 다운로드하고 설치해야합니다

이미 컴퓨터에 가지고있다 혼란 스러울 것입니다 Windows를 사용 중이거나 Mac을 사용 중일 수 있습니다 저는 Mac을 사용하고 있습니다 그리고 oi, 우리는 이것을 어떻게 해결할 것입니까? 괜찮아

그럼 내가 필요한 것들의 목록을 알려 줄게 그런 것들을 찾을 수있는 자원을 가지고 당신을 도웁니다 1 번, Nodejs를 설치해야합니다 그것은 nodejs

org에가는 것만 큼 쉽고 다음과 같이해야합니다 운영 체제에 대한 설치 지시 사항 나는 또한 다운로드에 관한 전체 비디오를 가지고있다 설치 노드 및 메모 내가 너와 연결한다면 너를 연결해 줄거야 더 많은 배경을 원해

또한 콘솔 응용 프로그램을 원할 것입니다 당신이 열 수있는 몇 가지 명령 줄 터미널 것들 컴퓨터에 Node 항목을 실행하려면 명령을 입력하십시오 iTerm을 사용하고 있습니다 iTerm은 Mac의 대안입니다 터미널 애플리케이션에 내장

Windows에서는 PowerShell, 빌트인 명령 일뿐입니다 아, 그리고 힘내 바스 힘내 BASH는 아마도 좋은 것도있다 나는 실제로 전체 워크 플로우 시리즈를 가지고있다 나는이 모든 것들과 모든 것을 다 통과한다

환경을 설정해야합니다 내가하고있는 일을 따라 가라 그래서 당신은 또한 가서 그 시리즈를 찾을 수 있습니다, 그것을보고 다시 여기와 그러나 필요한 것은 Node, 당신은 어떤 종류의 쉘 명령 프롬프트가 필요합니다 코드 편집기가 필요합니다

당신이 그것을 가지고 있다면, 당신은 갈 준비가되어 있습니다 따라서 실제 프로젝트를 코딩하고 빌드하기 전에, 노드에 대해 잠깐 얘기하자 이제 노드 웹 사이트에 가면 바로 거기에 있습니다 Nodejs는 Chrome의 V8 자바 스크립트에 기반한 자바 스크립트 런타임입니다

엔진 그것은 한 입 가득합니다 그것이 무엇인지 이해하려고 노력합시다 런타임이란 무엇을 의미합니까? 그래서 일반적으로 JavaScript를 타이핑 할 때, 나는 브라우저에 그 물건을 쏟아 붓고있다 자바 스크립트는 브라우저 자체가 없으면 의미가 없습니다

갑자기 Node를 사용하여 JavaScript 작성을 시작할 수 있습니다 브라우저없이 자체 실행 시간입니다 이 코드는 컴퓨터에서 실행됩니다 그것이 실질적으로 말하는 것을 의미하는 것을 보도록하겠습니다

그래서 여기에 커맨드 라인 액세스 권한이 있습니다 여기서 나는 명령을 입력 할 수 있습니다 잘만되면 여기에 있습니다 터미널 애플리케이션을 다운로드했습니다 이제 Node가 설치되었습니다

이제 노드, 노드를 입력하고 Enter 키를 누르면, 갑자기 JavaScript 런타임에 들어갔다 이것은 개발자들과 매우 유사합니다 브라우저에서 콘솔 하지만 여기에서는 일부 자바 스크립트 항목에 타이핑을 시작할 수 있습니다 const x = 5처럼, 그러면 x + 2라고 말할 수 있습니다

그리고 그것은 나에게 7 번을 줄 것입니다 그래서 우리는 이것이 런타임이라는 것을 알 수 있습니다 – JavaScript를 작성하고 JavaScript를 실행할 수있는 장소 이제는 일반적으로 Node를 사용하는 방법이 아닙니다 일반적으로, 나는 단지 글쓰기가 아니다 내 터미널 자체에 코드가 많이 있습니다

나는 많은 자바 스크립트 코드를 작성할 것이다 JavaScript 파일에서 실행 한 다음 실행하십시오 노드 명령을 통해 그럼 어떻게 작동하는지 봅시다 그래서 실제로 indexjs라는 파일이 있습니다

그것은 단지 자바 스크립트 파일입니다 그리고 저는 consolelog ( 'hello')와 같은 것을 넣을 수 있습니다 const x = 5라고 말할 수 있습니다 그리고 console

log (x + 2);와 같은 것을 말할 수 있습니다 무슨 일이 일어나는지 보자 이제 터미널로 돌아 가면 노드 indexjs를 입력 할 수 있습니다 그리고 이것은 제가 말하고있는 것입니다, 어이, 코드를 줄 단위로 실행하십시오, 그것이 쓰여진 순서대로, 당신이 그 파일에서 찾은 것의

그래서 지금 당장 그것을 할 것입니다 그리고 거기에 우리가 간다 그래서 내가 쓰고 싶은 것은 indexjs 파일입니다 분명히, 콘솔 로깅 것들을 잔뜩, 나는 그것이 효과가 있다는 것을 알 수있다

하지만 Node를 사용하는 이유는 무엇입니까? 노드를 사용하는 이유는 서버를 만들고 싶기 때문입니다 서버는 실행되고 수신 대기하는 응용 프로그램입니다 그리고 그것이 듣는 것은 듣는 것입니다 요청 – 해당 서버에 연결하려는 사용자 따라서이 서버는 중앙 저장소가 될 것입니다

내 응용 프로그램의 데이터 중 다른 고객 모두는 귀하가 귀하의 휴대폰에 있든, 또는 랩탑이나 다른 누군가에게 그렇게 인터넷에 연결된 토스터기에 서버에 요청하고 데이터를 가져올 수 있습니다 그래서 나는 여기서 다시 돌아와서 글쓰기를 시작할 수 있습니다 Google이 "Nodejs가있는 웹 서버 작성" 몇 가지 코드를 찾을 수 있었고 거기에 입력을 시작할 수있었습니다

그 서버를 만들 수 있습니다 연결을 열어 듣기 시작합니다 그러나 매우 일반적인 방법 중 하나는 Node와 함께 일하는 것은 pacakge를 찾는 것입니다 – 일부 기능을 가진 노드 패키지 당신이 찾고있는 패키지를 설치 – 그것은 도서관이나 부가 기능과 같습니다 그 기능을 사용하십시오 그리고 웹 서버를 만드는 데 사용할 노드 패키지 Express라고하는 것입니다

Express는 매우 단순하고 매우 간단합니다 웹 서버를 만들기위한 프레임 워크 또한 핵심 기능을 갖추고 있습니다 당신은 많은 종소리와 호루라기없이 필요합니다 그래서 우리는 일종의 일을 실제로 빨리 할 수 ​​있습니다

이제는 노드가 있습니다 우리는 JavaScript 코드를 작성하여 Node로 실행할 수 있습니다 그래서 이론적으로, 우리는 자바 스크립트를 작성할 수 있습니다 코드를 사용하여 서버를 만들었지 만이 패키지는 필요하지 않았습니다 Node 패키지에 액세스하려면 어떻게해야합니까? 익스프레스 노드 코드? NPM은 Node Package Manager의 약자이며, 모든 Node 패키지를 관리하는 것입니다

우리를 위해 설치하지 않아도됩니다 실제로 Node를 설치하면 NPM도 설치됩니다 노드 패키지 관리자 이 프로젝트에서 NPM을 사용하려면 package

json이 필요합니다 좋은 소식은 그 점입니다 json in packagejson 우리는 json이 무엇인지 알고 있습니다

왜냐하면 우리는 그것으로 작업했기 때문입니다 JSON 형식으로 데이터를 가져 왔습니다 이전 예제에서는 JavaScript Object Notation입니다 packagejson은 특별한 종류의 파일입니다

기본적으로 프로젝트의 구성 파일입니다 이것은 우리 프로젝트에 대한 모든 메타 정보 – 우리가 사용하고있는 Node 패키지, 우리 프로젝트가 불려지는 것 – 프로젝트별로 웹 어플리케이션을 의미합니다 packagejson에있게 될 것입니다 package

json 파일을 만들려면 원하는 경우, packagejson이라는 파일을 만들고 다음과 같이 입력하십시오 그것에 몇 가지 물건 그러나 내가 실수를하고 싶지 않다면, 내가 확신하고 싶다면, NPM 자체의 멋진 명령 줄 유틸리티가 있습니다 나를 위해 파일을 생성합니다

그리고 그것은 npm init입니다 Node가 설치되어있는 한, 프로젝트 디렉토리에 npm을 입력 할 수 있다면, 그리고 그것은 무엇을 통해 나를 걸을 것인가? 나는 Packagejson에서 필요로하지 않는다 그래서 한 가지는 내가 이름이 필요하다는 것입니다 모듈 2라는 폴더가 있기 때문에 추측하고 있습니다

모듈 두, 좋은 소리 나는 단지 Enter를 칠 것이다 버전 번호 – 버전에 대해 걱정하지 않겠습니다 번호 오픈 소스 라이브러리를 구축 할 때 이것은 중요합니다

버전 번호를 실제로 추적해야합니다 하지만 여기서 좀 어색해하고 있습니다 설명 – 뭔가를 추가하겠습니다 조이 리의 Data Selfie App입니다 진입 점, index

js – 예 내 코드를 넣고 싶을 때 실행하고 싶은 파일 이 프로젝트를 실행하고 싶습니다 테스트 명령 – 지금 테스트하는 것에 대해 걱정하지 않습니다 다른 동영상에 대해서는 관심 있다면 창자 저장실 – 나는 그것에 대해 걱정하지 않는다

키워드 – 예, 데이터 셀카 나는 몇몇 키워드를 쉼표로 구분하여 줄 수 있다고 생각한다 저자 – 이것은 내 작업을 기반으로하기 때문에 까다 롭습니다 조이의 일로 지금 당장 내 이름을 거기에 넣을거야 모든 것이 잘 문서화되어 있는지 확인하겠습니다

내가가는 동안 어디에서 오는지 면허 – 저는 MIT를 입을 것입니다 그것은 매우 관대 한 라이센스입니다 기본적으로 당신은 무엇이든 할 수 있습니다 당신은 코드와 함께 원한다

Joey가 사용하는 것과 동일한 라이센스를 사용하고 있습니다 그리고 이걸 봐, 나에게주는거야 이것은 packagejson에 들어갈 정보입니다 파일

나에게 괜찮아 보이니? 그렇습니다, 저는 yes를 입력 할 것입니다 다시 코드 에디터로 돌아 가면 볼 수 있습니다 우리는 거기에 갈 여기에 packagejson 파일이 있습니다

필요한 모든 정보가 여기에 있습니다 형식이 올바르게 지정되었습니다 나는 갈 준비가되어있다 하지만 난 갈 준비가 안됐어 그렇지? 내가 이것을 처음부터하고 있었던 이유 내가 그 지점에 도달하려고 애쓰는거야

노드 패키지 Express, 웹을 설치할 수있는 곳 framework 내 서버를 만드는 데 사용하고 싶습니다 이 packagejson이 필요한 이유 파일이이 파일에 있습니다 Express를 참조하십시오 나는 익스프레스가 내가 말하는 패키지라고 말하고 싶다

내 프로젝트에 사용 하지만이 파일을 직접 편집하고 싶지는 않습니다 비록 내가 할 수 있더라도 내가하고 싶은 것은, 대신에, npm이 익스프레스를 설치한다고 말하는 것입니다 npm install express라고 말하고 실행하십시오

일단 이걸 실행하면 두 가지 일이 일어날 것입니다 첫 번째는 packagejson에서 Express 팝업을 볼 것입니다 의존성 중 하나로 이 프로젝트의 의존성입니다 내 프로젝트는 Express 노드의 존재 여부에 달려 있습니다

패키지,이 코드에서 꽤 사용하고자합니다 일어난 다른 일은 node_modules라는 새 폴더가 있습니다 그리고이 폴더를 보면, 세상에, 여기 엔 너무 많은 것들이있어 그럼이게 문제 야 – 오, 봐, 표현이있어 나는 단지 표현했다

NPM이 설치되어 있습니다 나는 상속이나 http 또는 http-error를 말하지 않았다 대부분의 노드 패키지가 다른 패키지 및 노드 패키지 관리자 제가 Express를 설치한다고 말하면 충분히 똑똑하다는 것을 알 수 있습니다 그것은 필요로하는 그 외 모든 것을 움켜 잡을 것입니다 좋은 점은 그 폴더를 관리 할 필요가 없다는 것입니다

우리가 필요로하는 모든 것이 거기에있을 것입니다 그러나 보시면 놀라지 마세요 당신이하는 모든 종류의 다른 것들 당신이 설치했다고 생각합니다 그들은 Express와 함께 타기 위해 함께 가고 있습니다 마침내 코드를 작성할 준비가되었습니다

따라서 익스프레스 패키지에 액세스하려면 노드 package Express, require를 사용해야합니다 그래서 저는 const express = require ( 'express')라고 말할 수 있습니다 이것은 기본적으로 import 문과 같습니다 이봐, 내가 Express라는 노드 패키지를 설치했는지 알고 있니? 그 것을 내놔서이 변수에 모두 넣으십시오 표하다

내가 왜 그렇게하고 싶은지는 나야 웹 응용 프로그램을 만들고 싶습니다 나는 그것을 app이라고 부를 것이다 그리고 그것을 만드는 방법은 단지 것입니다 express 함수를 호출하십시오

그래서 전체 라이브러리, 전체 노드 패키지 익스프레스, 기본적으로 큰 기능으로 제공됩니다 나는 단지 실행하고 변수에 넣을 수 있습니다 웹 서버에서 제일 먼저하고 싶은 일은, 내 바보 같은 다이어그램으로 생각하면 여기 웹 서버가 있습니다 듣고, 듣고, 아무도 내게 연결하고 싶지 않아 듣고 싶어

이제 나는들을 수있다 applisten ()을 실제로 말할 수 있습니다 듣고 싶을 때, 포트라고하는 것을 지정해야합니다 이걸 봐, 나 한테는 바로 여기에있어

노드에서 내가 필요한 것 포트는 고유 번호입니다 그것은 내가 듣고 자하는 숫자 주소와 같습니다 따라서 다른 서버를 실행할 수 있습니다 다른 포트 및 특정 포트가 있습니다

특정 물건을 위해 예약 그러나 그것은 내가 여기서하고있는 것의 범위를 벗어납니다 나는 단지 내가 가지고있는 항구를 고를거야 3,000과 같이 뭔가 다른 것에 의해 사용되지 않을 것입니다 그런 다음 여기에 콜백 함수를 제공 할 것입니다

기본적으로 발생하는 콜백 일뿐입니다 일단 서버가 듣고있다 따라서 나는 화살표 구문을 사용하고 3000000에서 듣고 말하는 consolelog

이걸 정리할 수있는 더 좋은 방법이 있습니다 하지만 이것은 생각입니다 Express가 필요하고, 응용 프로그램을 만들고, 포트에서 수신하십시오 그리고 거기에 우리가 간다 듣고있어

나는 연결할 수 있었다 우리가 연결해야합니까? 그래서 3,000 번 항구에서 연결을 허용하게되어 매우 기쁩니다 지금 당장 내가 왜 여기 있는지 알아낼 필요가있어 나는 무엇을 듣고 있는가, 어떤 종류의 정보 나는 다시 보낼거야 그럼 몇 가지 목록을 만들어 보겠습니다

나는 서버를 원한다 그리고이 앱은 꽤 간단합니다 번호 1, 웹 페이지를 제공하고 싶습니다 즉, 지금은 서버 일뿐입니다 이 노트북에서 로컬로 3,000 번 포트에서 실행하면, 하지만 내 웹 사이트에 내 서버를 배치한다면 url

com 및 사람들이 브라우저에 주소를 입력하면, 나는 그들에게 HTML과 JavaScript와 CSS를 보내고 싶다 그리고 내가 그들을 위해 만든 것들은 모두 그들의 브라우저에서 볼 수 있습니다 그래서 단순화하기 위해 하나의 페이지 인 indexhtml을 제공하십시오 따라서 웹 브라우저를 열거 나 다른 내용을 열면 거기에있다, 나는보아야한다

그래서 그것은 1 위입니다 물론 내가하고 싶은 다른 것들이 있습니다 정보를 받아 데이터베이스에 저장하려고합니다 그런 다음 데이터베이스에서 정보를 보내려합니다 뒤로

그러나 나는 더 멀리 갈 때 그 물건에 갈거야 이 프로젝트를 구축하십시오 실제로이 첫 번째 부분을 끝내자 웹 페이지를 제공함으로써 그래서 이것들은 이미 가지고있는 모든 파일입니다 나는 package

json을 가지고있다 우리는 그것에 대해 알고 있습니다 그것이 내 프로젝트의 구성입니다 indexjs, 내 서버 코드입니다

혼란스러워 왜냐하면 내가 가질거야 서버 코드 및 클라이언트 코드 우리는이 물건들을 똑바로 유지해야합니다 node_modules 있습니다

모든 노드 패키지의 모든 것 내가 설치 한 나는 그곳을 들여다 볼 필요가 없다 이 패키지 잠금 파일도 있습니다 그것은 중요한 파일의 종류입니다 자동으로 생성됩니다 만질 필요가 없습니다

하지만 기본적으로 종속성을 추적합니다 및 패키지 버전 우리는 그것을 제쳐두고 떠날 수 있습니다 indexhtml– 내가 갈 때보고 싶은 파일입니다

연결을 시도하십시오 지금 당장 브라우저에 가면 로컬 호스트에 액세스하려고하면 내 컴퓨터가 포트 3,000에서 로컬로 실행되는 서버, 나는 서버가 가지고 있고 무엇이든지 나에게 줄 수 있어야한다 그래서 나는 Enter를 누르고 아무 것도 얻을 수 없다 거기에는 아무 것도 없기 때문에 내 index

html 파일을 제공해야합니다 내가 할 수있는 방법은 Express를 사용하여 정적 파일을 호스트합니다 그럼 그게 무슨 뜻이야? 먼저 코드에 입력 해 보겠습니다 그래서 저는 appuse라고 말할 것입니다

나는 expressstatic을 사용하고 싶다 그리고 내가 여기서 줄 필요가있는 것은 디렉터리 이름입니다 – 또는 하나의 파일을 줄 수 있습니다 나는 indexhtml을 말할 수 있을지도 모른다

그러나 더 나은 아직, 나는 폴더 이름을 만들고 싶다 이제는 공개적으로 호출 할 것입니다 내가 나에게 상기시키기 때문에 내가 그 디렉토리에 넣은 것 URL에서 공개적으로 액세스 할 수 있습니다 이 경우 localhost 콜론 3,000입니다 그래서 나는 나의 파인더로 돌아갈거야

그리고 나는 폴더를 만들거야, 나는 그것을 공개적으로 부를거야 거기에 indexhtml을 넣을 것입니다 그래서 지금, 내가 이것을 실행할 때 – node indexjs라고 말하여 서버를 다시 실행하겠습니다

3,000 번 포트에서 듣고 있습니다 나는 돌아가서이 페이지를 새로 고칩니다 더 이상 얻을 수 없다는 말은하지 않습니다 문제는 아무것도 없다는 것입니다 사실 뭔가 추가하는 것이 좋을지도 모릅니다

내 indexhtml 파일에 Data Selfie App, 단락 추가, 안녕하세요 그리고 나는 JavaScript를 넣을 수 있었다 거기에 우리가 지금까지 본 다른 것들

이제 Refresh를 누르겠습니다 그리고 거기에 우리가 간다 나는 나의 웹 페이지를 제공하고있다 지금, 나는 그것을 멀리 얻지 않았다 우리가 지금까지이 말을했다고 말하지는 않습니다

하지만 저는 그저 재단을 세우고 있습니다 나는 그 집을위한 기초를 세우고있다 나는이 프로젝트를 구축 할 것입니다 나는 지금까지 무엇을 했는가? 노드를 설치했습니다 나는 NPM init로 프로젝트를 세웠다

packagejson 구성 나는 indexjs 파일 안에 약간의 코드를 작성했다 Node 모듈 Express를 사용하여 웹 서버를 작성하십시오

그리고 웹 서버에는 하나의 직업이 있습니다 그것은 공용 폴더에있는 모든 파일을 제공하는 것입니다 그리고 제가 지금 가지고있는 유일한 파일은 indexhtml입니다 만약 내가하고있는 일에 대해 정말로 정확하고 싶다면, 주소 표시 줄 자체에 index

html을 입력합니다 이제 Enter 키를 누르면 같은 페이지가 나타납니다 하지만 원래 그렇게 할 필요는 없었습니다 빈 경로를 사용하면 indexhtml이 사용되기 때문입니다

내가 여기있는 것을 정확히 재현 할 수 있다면 Express가있는 기본 노드 서버, 단일 indexhtml 파일 제공, 다음 동영상으로 이동할 준비가되었습니다 실제로 몇 가지 기능을 추가하기 시작하겠습니다 다른 아이디어를 내놓으려는 시도 거기에 가기 전에 몇 가지 연습 문제를 제안하겠습니다

너도해볼 수있어 번호 하나, 아마 하나 이상의 페이지를 호스팅하려고합니다 indexhtml과 다른 점이 있다면? 또는 두 개의 다른 디렉토리 – 어떻게 할 수 있습니까? 대중의 내부에 서브 디렉토리를 가질 수 있습니까? 어떻게 액세스 할 수 있습니까? 당신은 두 사람 사이에서 앞뒤로 갈 수 있도록 링크를 달았습니까? 그것은 시도하는 것이 좋은 것입니다 나는 그 링크에 몇 가지 해결책을 넣을 것이다

그 동영상의 설명뿐입니다 가서 뭔가 잡을 수도 있습니다 이전에 만든 것, 아마도 모듈 1의 예제들 중 하나, 그 JavaScript와 그 HTML 컨텐트 indexhtml 자체에서 무엇이 발생하는지 확인하십시오 나는 서버와 관련이 있기 때문에, 이 프로젝트에 관한 모든 것 데이터를 데이터베이스에 저장하고 있습니다

이것이 바로 다음 비디오에서 할 일입니다 HTML 페이지에 더 많은 것들을 추가 할 것입니다 그리고 내가 너에게 보여주고 싶은 걸 Geolocation API를 사용하는 방법입니다 따라서 사용 가능하다면 동의를하고 허가를 받아야합니다 이 API를 사용하여 위도와 경도를 캡처 할 수 있습니다

컴퓨터 또는 장치의 위치 정확한지 아닌지는 흥미로운 질문입니다 그리고 나중에, 나는 너에게 보여줄거야 서버에 보낼 수 있도록 서버에 보내는 방법 타임 스탬프와 함께 저장하고 추적 할 수도 있습니다 시간이 지남에 따라 그게 내가하는 방법을 보여줄거야 괜찮아

다음 동영상을 보자 Geolocation API를 살펴보십시오 [땡땡] [음악 재생]

Using NPM modules & Github Modules Node.js | Part 7 Node Tutorials for Beginners

얘들 아! 다시 nodejs 시리즈로 돌아 가기 part number 7 last video 외부 모듈이 무엇인지 살펴 보았고이 동영상을 통해 코딩을하면 github에서 자체 모듈을 만들고 우리는 프로젝트에서 우리는 또 다른 외부 모듈에서 우리의 프로젝트와 우리는 차이점을 볼 수 있으며, 만약 당신이 따르지 않는다면 전체 시리즈는 여기에 링크를 제공해 드리겠습니다

techsith 자습서에 오신 것을 환영합니다! 알았어 우리가 코딩 할거야 먼저 두 가지 작업을 수행하여 업로드 할 패키지를 만듭니다 github이 우리의 외부 패키지되며 우리는 그 여분의 패키지를 소비 할 메인 프로젝트를 만들고 우리는 NPM Repo와 같은 패키지 중 하나에서 패키지를 소비합니다 lodash 그래서 패키지를 만들려면 폴더를 만들어야합니다

$ mkdir a-useless-package라고 할 수 있습니다 창조적 인 이름과 나는 그것에 CD를 넣을거야 그리고 나서이 패키지가 다른 프로젝트에 의해 소비되기를 원한다면 그것이 있어야합니다 packagejson 인 한가지 필수적인 일 이제는 수동으로 만들지 않을거야

거기에 $ npm init 명령이 있고 그 명령을 만들어야합니다 질문이 많아서 패키지 이름이 무엇인지 묻습니다 나는이 패키지를 폴더 이름으로 사용하고 다음 단어와 나는 10 설명 엔트리 포인트를 유지할 것이다 index

js 테스트 명령이 있습니다 그냥 건너 뛸거야 작성자 그냥 말하자 techsith 그리고 네, 그렇습니다 그래서 만들어졌습니다 그래서 보겠습니다

packagejson 그리고 내가 말했듯이 메인 엔트리 레벨 엔트리 포인트는 indexjs이다 그래서 우리는이 파일을 만들어야 만합니다 기능성 useless

js는 파일 중 하나이며, 일부는 가지고 있습니다 간단한 기능 때문에 const와 같은 쓸모없는 const를 가질 수 있습니다 기본적으로 consolelog에 "당신은 방금 시간을 낭비했다"라고 말하는 기능 우리는 이것을 내보낼 필요가 있습니다

이전 튜토리얼에서 보았 듯이 그것을 수출하고 싶습니다 쓸모없는 moduleexports를 사용해야합니다 지금 우리 모듈은 소비 될 준비가되었지만 내가 packagejson에서 말했듯이 우리가 말했거나 진입 점이 index

js이므로 indexjs를 만들어야합니다 indexedjs라고 말하면서이 파일이 소비하게 될 것입니다 다른 많은 기능을 가지고 있으며 수입 할 수있는 엔트리 포인트가 하나 있습니다

모든 모듈과 수출이 중요하므로 쓸모없는 평등이라고 말할 것입니다 우리가 알기에 이것에 대한 로컬 모듈이라는 것을 알기 때문에 요구한다 우리도 모듈로 내보낼 것입니다 내가 지금 말했듯이 지금 쓸모없는 수출 하나 이상의 이름을 가진 수출품을 만들 것입니다 이 기능을 github에 업로드하려면 git해야합니다

자식을 초기화하면 $ git add라고 말할 수 있습니다 그리고 $ git commit을하고 나서 처음에 커밋을 한 다음 github에서이 프로젝트를 만들어야 만 할 수 있습니다 그래서 내가 할 수있는 것은 새로운 repo를 만들 수 있고 지금 패키지를 만들 수 있다는 것입니다 이미 만들어 졌다고해서 나에게 해줄 수는 없지만, 당신이 그것을하는 방법입니다 create repo를 클릭하면 두 개의 명령이 올바르게 실행 된 다음 프로젝트를 git에 푸시하는 두 명령을 지금 입력하십시오

우리의 주 프로젝트를 만들어 보자 나는 똑같은 일을 할거야 나는 디렉토리 main proj를 만들어야 할 것이다 그리고 나는 그것에 CD를 넣을 것이다 그런 다음 프로젝트를 초기화하여 $ npm init을 말하면됩니다

그것의 이름이 맞다는 것을 묻습니다 indexjs라는 엔트리 포인트도 있습니다 그리고 난 그냥 지나갈거야 괜찮아

난 프로젝트를 열어 좋아 이제 github 사이트에서 방금 만든 패키지를 사용하겠습니다 그래서 프로젝트가 내 github에 그래서 모든 권리를 소모하기 위해 이름 github의 이름은 techsithgit이고 프로젝트 이름은 쓸모없는 패키지입니다 맞습니다

설치하고 싶다면 똑같은 것을해야합니다 npm은 techsithgit / a-useless -package를 설치 한 다음 지점을 제공해야했습니다 이름과 그것은 파운드 기호 다음에 처음에 무엇이든 처음에 발생합니다 마스터 브랜치에 들어가기 때문에 마스터 브릿지를 사용하지 않는 한 마스터를 사용해야합니다 자신의 브랜치를 생성 한 다음 해당 브랜치를 제공함으로써이 엔트리를 생성했습니다

내 packagejson 안에 종속성이라고 부르면 그 패키지를 넣었습니다 그리고 그것의 위치와 만약 내가 그것을 보면 노드 모듈 폴더와 내부에 나는 그 패키지에 indexjs와 자체 packagejs가 있고 그때 쓸모없는 나는 내 프로젝트로 가져온 모든 코드를 보았을 것이다

패키지 도트 잠금 파일도 표시되므로이 패키지 도트 잠금 파일은 무엇입니까? 꽤 중요한 이유는 이전 버전의 NPM 이 문제는 NPM 설치를 할 때마다 일관성이 없었습니다 그들은이 패키지 도트 잠금 파일을 만들었습니다 당신이 무언가를 바꾸지 않는 한 순간 괜찮아서 버전을 차단하고 너무 많이 들어 가지 않을거야 좋아, 또한 낮은 – okay를 설치하자 이것은 외부 모듈이다

npm이 낮게 설치된다고 말해야하고 버전을 제공 할 수 있지만 실제로는 그렇지 않습니다 최신 버전을 구하고 싶지만 원하는 경우 내가 말할 수있는 의존성에 그것을 설치하십시오 – – 이제 괜찮습니다 우리가 우리 프로젝트에 다운로드 한이 여분의 패키지 두 개를 모두 사용해보십시오 우리는 파일을 만들어야합니다 나는 fjs라고 부를 것입니다

그래서 여기서는 먼저해야합니다 import는 쓸데없이 require와 같고 외부 패키지이기 때문에 자동으로 노드 모듈을 조사하여 자동으로 제공합니다 나는 길을 제공 할 필요가 없다 나는 요구한다 똑같은 일로 – 이제는 내가 쓸모없는 것을 쓰고, 기능은 기본적으로 당신이 방금 시간을 낭비했다는 메시지를 출력해야합니다

그래서 노드 애플리케이션이라고 말하면서 이것에 시간을 낭비했다고 말합니다 알았어 패키지를 사용하려면 – 내가 갈거야 이걸 사용하여 몇 가지 값을 가진 배열을 만들자 그래서 나는 많은 결함이있다 잘못된 값으로 알고있는 값 빈 문자열에서 거짓 또한 값이 잘못되었습니다 낮은 것을 취할 수 있습니다 – 그리고 나는 compact라는 함수를 가질 수 있습니다

기본적으로 내 배열에서 모든 멋진 값을 제거하므로 매우 유용합니다 유틸리티 및 Const 새로운 배열 같음 말할 수 및 도트 로그 콘솔 수 있습니다 새로운 배열 컴팩트하지 concat 그렇지 않으면 그것을하지 않을 것이다 그래서 지금 나는 그것을 실행한다 기본 정책의 가치는 중요하므로 다음 동영상의 사람들에 관한 것입니다 우리는 노드와 함께 배송되는 매우 중요한 모듈을 살펴볼 것입니다

파일 시스템이라고하는 파일 조작을 많이 할 수 있으므로 링크를 클릭하면이 비디오에서 뭔가를 배웠 으면합니다 그리고 만약 당신이 좋아한다면, 구독하는 것을 잊지 마세요 좋은 코멘트를 제공하고 감사합니다

Node.js tutorial for Absolute Beginners [Visual Studio Code]

안녕하세요, nodejs가있는 Visual Studio 코드에 오신 것을 환영합니다 저는 Remy CR이고 나는 Stacey Mulcahy 예 맞아

나와 함께있어 Susan 너와 함께있어 너와 함께 이미 첫 번째 멋진 카운터가 없다 어쨌든 굉장한 코드가있는 곳을 기다려라

조쉬 (Josh) 그래서 오늘 우리는 nodejs에 대해 이야기 할 것입니다 우리는 이것을 정말로 사용할 것입니다 Visual Studio 코드라는 정말 멋진 도구는 다른 사람으로부터 온 사람들을위한 코드입니다 아마도 어쩌면 승화를 사용하거나 다른 편집자를 사용하여 스스로를 찾을 수도 있습니다 정말이 도구에 대해 정말 흥분했습니다

매번 제가가는 코드가 아닙니다 코드예요 안녕 스테이시 안녕하세요, 저는 스테이시 멀 카히입니다 저는 뉴욕시에서 기술 전도사입니다 나는 주로 HTML 스택에 중점을 두었습니다

HTML Javascript IOT 디자인과 UX를 알고 있습니다 그래서 나는 모든 것에 대해 이야기하고 때로는 마케팅을 커버하여 나를 찾을 수 있습니다 9 번 채널은 보드를 가로 질러 무작위로 많은 것을하고 내 이름은 레미이고 실제로 몬트리올에서 오늘 밤 캐나다인 온라인이 있다면 어떤 채팅은 어떤 A의 채팅에서 그것은 메이플 시럽도 먹을거야 만약 당신이 할 수 있다면 그렇게 할 수있는 방법을 찾아야합니다 그래서 실제로 제 집중은 Stacey 's와 매우 비슷합니다 나는 웹 html5 노드에 초점을 맞추고 있으며, 지금은 Microsoft Edge에 점점 익숙해지고 있습니다

그 웹 표준은 우리가 할 수있는 정말 멋진 것들을 보여줍니다 몬트리올의 Microsoft Edge 저는 제가 말하는 다양한 개발자 커뮤니티를 돕고 싶습니다 다른 회의가 많이 있고 신생 기업과도 많은 협력을하고 있습니다 MSDN에서이 모든 것들에 대해 궁금해하고 있습니다 너가 html5 기사 nodejs 기사에 흥미있는 경우에 갈 것이다 장소는 모두 거기 위로이다 그래서 오늘날 우리는 노드와 종류의 관점에서 여러 가지 다른 것들을 다루게 될 것입니다

Visual Studio 코드와 Visual Studio 코드의 일부 기능 및 그래서 우리가 오늘 다루어야 할 것은 우리가 js '가 없으므로 우리가가는 nodej의 맨 처음부터 끝까지 여러분을 데려 갈 것입니다 당신이 소개하는 매우 인기있는 프레임 워크를 표현하는 방법에 대해 조금 이야기하십시오 우리가 갈 데이터베이스를 표현하는 것에 대해 이야기 할 노드를 사용하여 끝내라 또한 설명하는 Express 웹 응용 프로그램을위한 프론트 엔드를 약간 수행해야합니다 약간의 부트 스트랩과 옥과 노드와 익스프레스의 관계 우리는 nodejs를 도청하고 배치하는 것에 갈 것이고 우리는 또한 말할 것입니다

당신이 웹 사이트를 만들기 위해 하루 종일 주로 사용했던 우리는 당신이 실제로 뭔가를 만들 수있는 방법에 대해 조금 이야기 할 것입니다 a cron job 또는 web job으로 알고 있습니다 어떻게 지속적으로 호출 할 수 있습니까? 어떤 종류의 일을 당신이 거기에서 할 수 있습니까? 귀하의 지식을 확장하는 측면에서 하루의 끝 예 이상적으로 일부 기대를 설정하려면 웹 디자이너라면 누구나 웹 개발 경험이있을 것입니다 html5 CSS를 안다면 집에서 매우 기분이 좋을 것입니다 우리는 jasperse의 권리를 알게 될 것입니다

처음부터 자바 스크립트를 보거나 사용하거나 놀았다면 물론 파이썬과 같은 다른 서비스 측면 언어를 사용하는 경험이있는 개발자 PHP Ruby를 사용하면 실제로이 튜토리얼을 실제로 즐길 수 있습니다 물론 현재는 그들 사이에 노드를 마스터 링하는 훌륭한 위대한 다른 리소스가 있습니다 온라인에서 찾을 수 있으며 Windows에서 nodej를 설정하는 방법에 대해 궁금한 점이있는 경우 기계 또는 다른 모든 것을 설명하는 매우 긴 기사를 읽고 싶다면 nodejs의 조각 당신은 하단의 짧은 링크로 갈 수 있습니다 AKMs – No-101에 관한 노드 당신을위한 훌륭한 기사가 될 것입니다 다시이 코스를 택하면 몇 가지 포인트를 얻을 수 있습니다

따라서 nodejs Visual Studio 코드를 입력하면 8 월 30 일에 만료됩니다 이 점에 대해 50 점의 MVA 점수를 얻으십시오 그러면 다시 알 수 있습니다 후속 조치가 될 것입니다 이전에 우리가 한 일은 시각적으로 조금 더 나아갔습니다

코드 그래서 네가 할 수있는 최선의 방법은 네가 넣을 수있는 동안 MVA 포인트를 얻는다 좋아요 Jess를 알기 위해 소개를 시작합시다 저는이 모듈에서 우리가 무엇인지 추측합니다 커버 할 것은 노드의 기본입니다

노드가 시작되었을 때 우리는 시작할 것입니다 Windows 시스템을 사용중인 경우 환경을 설정하는 방법을 보여줍니다 Linux 배포판 또는 OSX를 시작하고 실행하는 방법을 알려드립니다 우리는 첫 번째 노드 애플리케이션을 구축 할 것이므로 노드의 다른 부분과 자바 스크립트와 조금 다른 점 일단 우리가 만든 훌륭한 응용 프로그램 몇 개를 구입하면 조금 이야기 할 것입니다 경이로운 노드 패키지 관리자에 대해 나는 노드 공동체에 대해 가장 좋아한다

그것은 패키지 관리자가이 모든 패키지를 보는 것이다 당신이 정말로 빨리 그리고 정말로 빨리 당신의 프로젝트를 구축 할 수 있도록 도와줍니다 그것은 마치 우리가 갑자기 이런 모든 것을 샀을 때와 같이 마술 적입니다 당신을 위해 절반의 일을하되 그 시점에서 정말로 당신의 일은 단지 패키지를 확실히하는 것입니다 바르게 작동하고 그들을 함께 넣어 예 그것은 당신이 체크 아웃하려는 경우 지금 예, 좋아요

우리가 오늘 놀아야 할 코드 중 일부는 실제로 github repo에 있습니다 이미 당신이 갈 수있어 당신이 바로 거기에있어주의를 기울일 수도 있습니다 우리가 자습서를하고있을 때 우리는 모든 다른 폴더를 통과 할 것입니다 그러나 우리는 아마 몇몇 폴더들 사이를 뛰어 다니고주의를 기울일 것입니다 비디오가 재생되는 동안 실제로 어떤 폴더가 있었는지 알기 때문에 왜 안되나요? 우리는 예술가를 시작합니다

그래서 노드에 대해 먼저 이야기 해 봅시다 당신은 나에게 열려있는 질문을하고있다 네, 재즈에는 런타임 환경과 라이브러리가 있다는 것을 알고 있습니다 브라우저 외부에서 JavaScript 애플리케이션을 실행하면 자바 스크립트 개발자이고 프론트 엔드에서 뭔가를하는 데 익숙하다면 이제 그 지식을 취할 수 있고 서버가 다시 통지된다는 것을 알 수 있습니다 대부분 우리는 실시간 응용 프로그램을 실행하고 비 차단을 사용하여 성능을 향상시키는 데 사용했습니다

I / O 및 비동기 이벤트 예 실제로 전통적으로 실시간 응용 프로그램과 같은 응용 프로그램을 작성하는 데 항상 복잡한 방법이었습니다 시간과 기타 등을 추적 할 수있는 일종의 루프가 있어야한다는 것을 알고 있습니다 그리고 그것은 상당히 복잡했지만 노드는 그것을 상당히 간단하게 만든다 나는 생각한다

그것은 노드의 아름다움 중 하나입니다 다시 우리는 패키지 관리자에 대해 조금 이야기하고 있습니다 그런 것들은 당신이 그것에 오기 전에 결코 만진 적이 없다면 시작합니다 이 모든 것들을 모두 깨닫기 위해 내가 할 수있는 모든 레고 빌딩 블록이 있습니다 사용하기 시작하고 버그를 넣고 놀고 나에게 위대한 일 중 하나입니다

노드에 오면 노드가 그렇게 노드가 있다면 전에 본적이 없다면 그것은 위대한 플랫폼을 사용하고 자바 스크립트를 사용하며 서버 측에서 가장 많이 사용되지만 이제는 언제 어디서나 IOT 장치에서 더 많이 볼 수 있습니다 자바 스크립트를 사용할 수있게되기 시작한 모바일 앱의 경우에도 다른 플랫폼을 볼 수 있습니다 웹용으로 구축하는 경우 노드와 자바 스크립트에 대해 정말 멋진 부분이 있습니다 당신이 정말로 통일 된 개발 환경을 가지고 있고 동일한 언어가 이제 주목받는 것입니다 우리 모두는 자바 스크립트를 사용하고 본질적으로 플랫폼을 사용한다고 말했습니다 오랫동안 꽤 느린 JavaScript가 마침내 들어 왔기 때문에 높은 성능과 실제로 많은 다른 브라우저에서 매우 높은 성능의 JavaScript 엔진으로 인해 브라우저 프론트 엔드에서 자바 스크립트를 가져올 수있었습니다

실제로로드를 처리 할 수있는 백엔드에 배치하고 특히 실제로 v8 자바 스크립트 엔진을 사용하며 2009 년에 작성되었습니다 Ryan dalla는 오픈 소스 기술이므로 모든 코드를 체크 아웃 할 수 있습니다 노드를 통해 시간이 지남에 따라 진화를 볼 수 있으며 Windows Linux OS X에서 실행됩니다 거의 모든 곳에서 실제로 실행됩니다 이제 너는 네가 노드 페이지로 갔다가이게 맘에 드는 것처럼 생각할지도 모른다

제로 포인트 버전 번호 같은게 뭐지?이게 뭐야? 나도 너 같아 메모가 베타 단계이지만 많은 일을 할 수는 없다고 말할 수 있습니다 예를 들어 실제로는 실제로 많은 다른 방식으로 제작에 사용되었습니다 지금 베타 버전이라고 부를 수는 없지만 10이 아닌 것 같아

사람들은 여전히 ​​개발자들에게 여전히 유연한 것들을 바꾸고 싶어합니다 정말 건강한 언어와 플랫폼은 언제나 빠르게 진화합니다 나는 실제로 그것을 사용하지 않을 때 예를 사용하지 않습니다 스트리밍 또는 이벤트 기반의 실시간 응용 프로그램 및 우리는 이것을 일찍 언급했지만 무엇을 좋아하는지 실제로 채팅 응용 프로그램과 같아 보인다는 것을 알지 못한다는 의미입니다 우리의 이벤트베이스에는 그들이받은 바로 잡담을 보낸 채팅이 있습니다

당신이 누군가와 이야기하고 있다면 당신은 기다릴 수 없다는 의미에서 실시간이되어야합니다 다음 기회를 얻으려면 10 분을 기다리는 것과 같습니다 네가 알고있는 브라우저가 어디 있는지 궁금해 말이 맞아, 네가 거기서 뭐하고있어, 네 메시지에서 네, 그래 맞아 당신은 또한 당신이 실시간 응용 프로그램을 위해 그것을 사용할 수 있기 때문에 필요한 것 같아요 입력이야 몇 가지 유형의 데이터 흐름이 끊임없이 앞뒤로 이어지고 있으므로 건물 나는 재정 지원 된 웹 사이트 또는 주식 시세 표시기에있는 것과 비슷한 것을 모릅니다

또는 뭔가 또는 심지어 공유 된 회의 이벤트 또는 누군가가 알고있는 일 당신과 동시에 뭔가를하고 당신이 그것을 무시하지 않고 있는지 확인해야합니다 또는 기타 등등 공동 작업 환경을 구축하는 사람들이 많이 있습니다 노드 js와 웹에 그리고 그것을 넣어 더 나은 방법 예 예 예 꽃 것들입니다 우리는 사람들이 함께 작동하는 예 예 여러 브라우저 동시에 이야기 서버에이 모든 정보가 흐르고 있습니다 아이디어가 나타납니다 게임 서버의 맞아 맞아 맞아 그래서 내가 거기에 티를거야 네 또한 사용자가 게임을 할 수 예 또한이 높은 볼륨을 수행 할 필요가없는 서버를 인터럽트하고 추가합니다

서버의 스트리밍 요청도 상당합니다 필요할 때 정말 좋습니다 높은 수준의 동시성 (concurrency)은 작은 일이 많고 많은 일을 할 때 발생합니다 같은 시간에 잡았다하지만 당신은 아무 힘도없는 초강대국처럼 많은 하드 CPU를 필요로하지 않는다 당신은 다음과 같은 복잡한 수학 계산을 할 필요가 없습니다

우리의 매우 진보 된 하드웨어에서도 10 초가 걸릴 것입니다 당신은 노드를 사용하기를 원하지만 다른 모든 것들은 웹과 관련이 있습니다 많은 동시성을 필요로하며 많은 사용자가 많은 이벤트를 발생시킵니다 동시에 일어나고 당신은 여전히 ​​내가 생각하는 실시간 노드가되고 싶다 지금 당장은 최고의 도구 중 하나이며, 당연히 글쓰기에는 유용합니다

어디에서나 JavaScript 코드를 사용할 수 있습니다 그래, 그것이 그것을 인계 받으면서 도처에있다 그리고 만일 당신이 어디에 있는지에 관해 궁금하게 생각하고 있으면 우리가 Microsoft에서 사용하는 야생 우물 사실 우리 클라우드 도구가 많이 내장되어 있습니다 노드가 있다면 다른 회사가 있습니다 흥미로운 점은 그 중 일부는 많은 오픈 소스 패키지가 노드 커뮤니티에 기여하고 있습니다

전 세계 여러 회사에서 생산하고 있으며 모두 오픈 소스입니다 그것은 노드 공동체를위한 절대적으로 놀라운 일입니다 그리고 당신은보기 시작합니다 심지어 SDK와 유사하거나 노드가 자신이 가장 먼저 생각하는 것 중 하나라고 생각할 수도 있습니다 해당 선을 따라 SDK를 만들거나 포용하고 있음을 알 수 있습니다

모두들 그렇습니다 그 지역 사회에 대해 말하면 거대한 것입니다 이 통계가 아마 오래되었다는 것을 의미합니다 이제 완전히 구식 인 Haddad입니다 우리 슬라이드에 대한 통계를 수집 한 지난 번 빌드와 같은 비트가 끝났습니다

한 달에 2 백만 회 다운로드가 가능할 것입니다 010과 관련하여 NPM에 81,000 개 이상의 모듈이 2,000 만 가지로 내려졌습니다 그 이상의 의미는 응용 프로그램에서 사용할 수있는 81,000 개가 넘는 코드입니다 그것은 당신에게 이상적으로 시간을 절약 할 수있는 시간을 제공합니다

그러나 물론 나는 어떤 것도 보지 못했습니다 응용 프로그램을 전혀 사용하지 않는 것은 81,000입니다 당신이 합법적 인 애플 리케이션을 구축 할 수 있다면 그것을 사용하는 모든 단일 모듈 거기 밖으로 예 via 질문에 더 많은 NBA 포인트가 될 것이며 물론 유럽의 많은 것들이있을 것입니다 전 세계의 스테이시 당신은 뉴욕에 있습니다

아마도 여러 개의 노드 모임이 있습니다 예, 우리는 무리가 있고 그들은 한 달에 한 번 다시 규칙적이며 우리는 모두 같이 토론합니다 지금부터 다른 종류의 것들을 언급 할 수 있습니다 를 위해 그리고 어떤 사람들은 더 많은 유틸리티를 사용하여 팬과 관계없는 것을 알 수 있습니다 어떤 사람들은 풀처럼 구축되어 있고 백엔드 서버 웹 사이트는 종류가 많은 물건이 너무 많아서 흥미 롭습니다

왜냐하면 당신이 실제로 당신을 보았 기 때문입니다 사람들이 그것을 사용하고있는 곳을 알면 가장 흥미로운 것 같아요 나를 위해 커뮤니티 성장을 지켜 보았고 적어도 지난 몇 년 동안은 물론 그것은 몬트리올에서 우리가 봤던 것과 같은 이야기입니다 신생 기업들이 nodej를 기본 스택으로 사용하고 있습니다 단지 경이로운 것일뿐입니다

많은 사람들이 많은 사람들이 행복 할 때 큰 행복이 있습니다 지역 사회 권리는 네가 기본적으로 당신의 대답을 얻으려는 것을 의미합니다 너는 질문을 받았을 때 너는 그 사람을 네가 길로 인도 할 수있는 사람들을 잃어 버렸어 몬트리올에서 당신이 말하는 것에 관심이있는 사람이라면, 그냥 짹 짹짹 나 그리고 네, 그래서 시작하자 환경을 설정하는 것부터 시작합시다 예, 그렇습니다

Windows를 사용하고 있다면 할 수있는 몇 가지 방법이 있습니다 nodejs org로 바로 가서 설치 프로그램 파일을 다운로드하면 nodejs가 설치됩니다 당신을위한 바이너리는 그것이 어쨌든 당신이 할 수있는 방법입니다 그것은 당신의 순수 주의자 유럽을 조금 더 복잡하게합니다

당신은 물건을 컴파일 할 필요가 있습니다 그리고 당신이 내가 아는 것들을 컴파일하는데 필요한 필요성은 당신이 변명 거리를 찾고있는 것일 수도 있습니다 당분간은 칼을 싸우는 일을해야 할 것 같아 네가 확실히 그렇게 할 수 있다고 생각해 Windows 용 패키지 관리자처럼 chocolaty를 사용하는 경우 chaco install nodejs를 수행 할 수 있습니다

설치하고 nodejs를 설치해야합니다 한 가지 명심해야 할 것이 있습니다 메모가 설치되어 있고 이상적으로 당신에게 두 번 확인하는 것이 좋습니다 집행자가 귀하의 경로에 파일을 남기지 않으려 고하므로 귀하는 그 사실을 확인해야합니다

실제로 시스템 환경 변수에서 YouTube에 대한 약간의 링크를 남겼습니다 Windows 8 및 81에서 10 개의 시작과 함께 환경 변수를 가져 오는 방법을 보여주는 비디오 오늘 오늘 오늘 오늘 당신은 또한 그것을하고 싶습니다 슬라이드 프로그램 파일의 맨 아래에있는이 경로를이 변수로 변경하십시오 뚱뚱한 변수 그런 식으로 명령 줄에서 일부 노드 애플 리케이션을 실행하려고 할 때 그것은 실제로 노드를 찾으십시오

Linux 배포판에있는 경우 Windows를 실행하지 않는다고 가정 해 봅시다 아마도 우분투는 매우 유명하고 인기있는 곳이기도합니다 패키지 관리자와 함께 설치하는 가장 쉬운 방법은 우리가 알고있는 것과 비슷합니다 그곳의 명령은 아마도 컴파일러의 일부를 설치하기를 원할 것입니다 몇 가지 기본 모듈을 사용하는 몇 가지 노드 모듈이 있기 때문에 필수 도구를 작성하십시오

물건 그래서 당신은 이러한 명령을 모두 실행하려는거야 응용 프로그램 설치 필수 빌드 nodejs와 NPM에 대해서 다시 한번 말하자면, 당신이 그것을하는 가장 쉬운 방법은 다시 오 X에 있다고 가정 해 봅시다 BREW 패키지 관리자를 사용하여 터미널을 통해 또한 어떻게 처리할까요? 당신이 원하지 않는 것은 소스에서 항상 컴파일하거나 Neches에서 Installer를 사용할 수 있습니다 org 그래서 일종의 아주 초기 노드 애플리케이션으로 이동하자 얼마나 오랫동안 괜찮은지 기본적으로 모든 단일 언어와 모든 단일 플랫폼으로 네가하고 싶은 일은 그냥 세상에, 우리가 쓰는 것, 아니면 우리가 쓴 것을 써라 이제 코드 편집기로 전환하고 Visual을 사용하고 있습니다

스튜디오 코드 및 이것은 내 의견으로는 최고의 편집기이며 OS X Linux에서 실행할 수 있습니다 Windows 여기 Windows에서 실행 중이지만 자신의 플랫폼에서도 실행할 수 있습니다 노드가 어디에서나 작동하므로 바로 아래로 가자 그래서 나는 이미 여기있다 내 폴더가 열렸어

이 노드가 같은 노드 야 네가 갈 때 얻을 수있는 폴더 github 그래, 그래, 네가이 복제품을 컴퓨터에 가져다 준다면 실제로 너는 사실이야 전체 폴더를 개별 도시 코드와 첫 번째 항목으로 곧바로 열 수 있습니다 0-1 hello world 폴더에있는 앱 J의 파일이 여기에 있습니다

거의 당신이 안녕하세요 세상을하는 방법은 아주 간단합니다 단지 그것을 인쇄하고 싶을 수 있습니다 당신이 브라우저에서 그렇게하는 방법과 매우 비슷한 세계의 로그에 관해서 콘솔을 말하십시오 조사관에 들어가기보다는 클릭하고 보면서 실제로 보게되었습니다 당신은 대중적인 대중을 알고 있습니다

그래서 나는 그것을 실행할 때 여기에 제 터미널을 열 것입니다 내 키보드를 잃어 버렸습니까? 아니요, 괜찮습니다 여기에 들어가기를 원합니다 이 아주 간단한 앱을 실행하기 위해 먼저 폴더를 만드십시오 노드 앱 KS 만 입력하면됩니다

실행하고 거기에 우리가 안녕하세요 세계 예, 이건 끝내 괜찮아요 우리는 모든 일을 잘했다 이제 우리가 실제로 뭔가를하고 싶다는 것을 알고 있다고 가정 해 봅시다 관련 오른쪽 노트는 웹 플랫폼 기술입니다 기본 make를하고 싶다고합시다 안녕하세요 세계를 할 것이고 우리 브라우저에 보낼 기본 HTTP 서버입니다 그게 뭐야, 하나 더하기 하나 괜찮아요 그래서 여기에 코드로 돌아 가자

우리는 두 번째 폴더를 살펴보고 걸어 갈 것입니다 당신은 여기있는 모든 단일 라인을 통해 당신과 당신이 약 여섯 라인입니다 실제로 200이라는 응답으로 HTTP 요청에 응답 할 수 있습니다 좋습니다 응답에서 안녕하세요 세상을 요청하고 작성하십시오 그러면 가장 먼저 알아챌 수 있습니다

우리가이 기능을 필요로하는 라인 1에 있습니다 브라우저에서 세상 당신은 아마 거의 이상하게도하기 전에 이것을 본 적이 없다 그것은 실제로 당신을 위해 모듈을 얻습니다 나는 항상 당신에게 질문합니다 더 많은 것을 말하면 실제로 모듈과이 경우에는 모듈을로드 할 것입니다

HTTP 권한이 바로이 모듈에는 여러 서버 클라이언트가 있습니다 HTTP 프로토콜은 패키지가 작동하는 방식이므로 패키지는 나중에 약간 다루겠다 일단 당신이 무언가를 필요로하면 그것이 내 보낸 모든 것을 돌려 줄 것입니다 변수와이 경우에는 HTTP로 보내고 있습니다 글꼴 조금 더 커 그래 나는 지금 너를 위해 그 일을하려고한다

나는 그걸 실제로 소비하는 방법을 기억하려고 노력할 것입니다 – 아마도 우리는 우리가 읽을 수 있도록 조금 더 크게 만들 것입니다 오, 알았어, 우리가 그걸 더 잘해, 그래, 그래, 우리는 엄지 손가락이 있다는 뜻이야 좋아요 좋아요 그럼 이걸 좀 더 살펴 보겠습니다

그것은 많은 모듈과 함수를 HTTP 권한으로 넣었습니다 이 함수는 HTTP 변수를 사용할 수 있으며 우리가 원할 것입니다 할 일은 우리의 HTTP 요청에 응답하기위한 서버를 작성하는 것입니다 3 만약 당신이 바로 볼 수 있다면 우리는 말할 것입니다 HTTP 점은 서버를 만들고 나서 우리는 가고 있습니다 함수에 전달하기 위해 이것은 콜백이며 몇 초 안에 콜백을 처리 할 것이다

그러나 이것이 본질적으로 할 일은 모든 단일 HTTP 요청에 대해 서버가 그것은이 함수를 실행할 것이고이 함수는 매개 변수로 전달 될 것입니다 인수 요청과 응답 권한으로 한번 저장하면 요청할 수 있습니다 우리가하고자하는 일은 우리가 200 OK로 응답 할 것입니다 그래서 HP 응답의 헤더에 상태를 쓰는 응답을 말할 것입니다 200으로 설정하고 이제 콘텐츠 유형 텍스트 평면을 지정합니다 다른 헤더를 많이 본 것처럼 보이는 HTTP 헤더를 살펴보십시오

당신은 여기에이 객체를 넣으면 실제로 많은 것을 지정할 수 있지만 우리는 HTML을 사용하기를 원할 것입니다 HTML을 다시 전송하는 경우이 경우에는 매우 간단하게 유지할 것입니다 일반 텍스트 만 사용하고 응답을 끝내기 전에 응답 멈춤 안녕하세요 일단 이것이 완료되면 브라우저에 응답을 보냅니다 그것은 기본적으로 이상적인 세상을 보여줄 것입니다

그리고 이제 우리는 시작하기 위해 실제로 말하지 않은이 서버를 생성하십시오 listen 함수를 호출하여 HTTP loc create server가 객체에서 리턴 할 것입니다 우리는 변수 서버에 넣을 것입니다 그리고 나서 바로 여기에 8 행을 넣을 것입니다 우리가 듣고 싶은 포트 번호를 듣는 서버로갑니다

7,000으로 설정 한 다음이 작업을 시작하고 포트 7000에서 로컬 호스트를 찾으면 안녕하세요 세상에 진실의 양 같아요 진실의 순간으로 돌아가요 내 커뮤니티에서 나가서 두 번째 폴더로 바로 이동하여 노드 fjs가 다시 발생하고 아무 일도 일어나지 않았습니다 그리고 그것은 실제로 올바른 행동입니다 최상위 노드에서주의를 기울이면 주소가 계속 실행되고 있기 때문에 우리가 원하는 것은 우리는 브라우저를 열어서이 페이지를 열어 보겠습니다

우리는 바로 거기에 7,000 번에 갈 것입니다 안녕하세요 세상은 당신이 이것이 최고라고 믿을 수 있습니까? 네, 저는이 도구를 열어서 여기에 작은 것을 보여주기 위해 열었습니다 내 네트워크 탭에 들어가면 거기서 새로 고칠거야 실제로 해냈어

텍스트 비행기를 보냅니다 좋아요 정확하게 우리가 뭘하고 있었는지 200s는 완벽합니다 그래서 모든 것은 우리가 6 행의 코드에서 모든 것을했음을 알았습니다 마술의 한 부분 중 하나는 당신이 그렇게 많은 웹 물건을 할 수있는 것처럼 나는 알고 있다고 생각합니다

프로그래머 생산성이 모듈을 필요로한다는 것을 의미한다 모듈은 당신을 위해 모든 작업을 수행합니다 그것은 당신이 그 동안 테마가 될 것입니다 인기있는 모듈 중 일부를 사용하는 방법을 보여줍니다 그러면 이제 우리는 콜백과 같은 몇 가지 재미있는 것들을 만났습니다

몇 가지 이벤트가 있습니다 멍청한 이야기 ​​이벤트 중심 프로그래밍에 대해 이야기하자 이벤트 중심 프로그래밍 이벤트 중심의 프로그래밍을 통해 화면에서 바로 프로그래밍을 볼 수 있습니다 프로그램 흐름이 당신과 같은 당신이 알고있는 사건에 의해 결정되는 패러다임 그들의 행동은 우리가 이것에 익숙해 져 있다는 것을 의미합니다 특히 자바 스크립트로하고 있다면 모드 센터 나 그 중 어떤 것이 있는지를 파악하거나 이해하는 데 익숙합니다

우리가하고있는 일의 선상에서 모든 일들이 매우 다양합니다 여기 이벤트의 측면에서 우리가 스트림을들을 수 있기 때문에 그것은 그런 종류의 것을 닫습니다 예, HTTP 요청이 전송되었으므로 이제 이벤트가 발생합니다 우리는 실제로 이벤트 루프를 시작하지 않았을 것입니다 아마도이 이벤트 시스템은 어떻게 얻을 것입니까? 그것은 노드가 언어의 일부로 이벤트 루프를 제공하는 것으로 밝혀졌습니다

그래서 노드를 사용하면 루프를 시작하고 루프를 호출 할 필요가 전혀 없습니다 루프가 시작되고 마지막 콜백이 완료 될 때까지 종료되지 않습니다 if HTTP 용 서버를 만들었을 때와 마찬가지로 콜백을 할 수 있습니다 적어도 하나의 콜백 이벤트 루프는 실행을 계속하고 프로그램 노드 당신이 잘 알 필요가있는 다른 것, 그래서 바로 멈추지 않을 것입니다 이 이벤트 서비스는 모두 단일 스레드에서 실행되므로 매우 긴 작업을 수행하는 경우 매우 복잡한 수학 계산이나 단순한 수면을 말하는 것처럼 실제로 이벤트 루프를 중단하고 다른 모든 콜백을 막을 것입니다

맞아요 그게 다른 흥미로운 주제를 가져올 것입니다 또한 이벤트 루프를 차단하지 않는 코드를 작성하는 방법과 같이 이상적으로 이벤트 루프를 상당히 명확하게하여 수천 개의 다른 이벤트를 처리 할 수 ​​있습니다 같은 시간에 일어나는 일들과 그걸 막는 일은 우리가 원하는 시간이 너무 오래 걸린다 그걸 옆으로 두는 법 이예요

그래서 차단하는 것에 대해 조금 이야기합시다 내가 / 그래, 그래, 그래, 여기에 내가 아주 간단한 예제와 내가 설명하는 방법이있다 실제 코드를 사용하여 어떻게 보이는지 알 수 있습니다 여기서 말하는 JSON이라는 파일을 읽고 싶습니다 조금 더 자세히 설명해 주겠지 만 이제는 일반용으로 가정합니다

노드에서 무언가를 읽고 싶다면 모듈을 필요로 할 것입니다 이 경우 파일 시스템 인 FS는 파일 시스템이 필요하다고 말하려고합니다 이 변수는 var FS FS에서 우리는이 파일을 읽고 싶습니다 나는 읽기를 원합니다 파일 기능 표준 IO는 표준 파일처럼 입력했습니다

오, 예 전체 파일이 올바르게 실행되기 전에 이것이 우리가 지정한 방식이 될 것입니다 블로킹이라면 동기화가 끝나고 동기식으로 진행됩니다 잠시 후 동기식 대 동기식 오른쪽으로 들어가면 이제 이걸 보면 선은 실제로 파일을 동 기적으로 읽고 그것을 다음으로 변환 할 것입니다 가변 내용에 넣을 문자열과 우리는 그것을 인쇄 할 것입니다

내용을 테스트 해보고 싶다면 코드가 실제로 repo에 있습니다하지만 우리는 그 대신에 우리가 같은 시간에 어떻게 작동하는지에 대해 당신이 기다리고있는 이전의 방식대로하고 있다면 내 말이 맞기 때문에 옳은 걸 차단하지 못한다 아무 것도 입력이 없다는 걸 알았습니다 완전히 차단 된 상태입니다 기가 바이트였습니다

시간이 좀 걸릴 것입니다 거기에 합계가 있으므로 여기에 io가 매우 느리지 만 CPU보다 훨씬 느립니다 일반적으로 속도가 느린 것보다 느리다 특히 디스크 IO는 매우 슬프다 메모리에서 읽거나 메모리에서 읽는 것보다 느리다

CPU 또는 CPU 작업을 이상적으로하고 싶다면 원하는 것을 갖고 싶습니다 파일 읽기 또는 심지어 네트워크 네트워크 / O를 괜찮아요 당신은 비 차단 방식으로 그것을 만들고 싶어 다른 작업을 계속할 수 있으므로 다른 작업을 처리 할 수 ​​있습니다 사물과 그게 정말 des의 힘이 들어오는 이유입니다 그리고 그것이하는 방법은 콜백을받는 비동기 함수를 가지는 것입니다 우리가 갈 스크린을 살펴보면 같은 파일을 다시 읽고 싶었습니다

대신 파일 읽기를 호출하면 파일 이름을 전달하지만 여기서 우리는 또한 알고있는 것이 무엇인지 알 수 있도록 버퍼를 반환하는 콜백을 전달합니다 이 코드를 실제로 실행하려고하면이 코드 라인은 계속 실행될 것입니다 콜백 권한을 호출하기에 충분한 버퍼가있을 때까지 다른 코드 좋아요 그래서 여기서 할 일은 버퍼에서 충분한 것들을 얻는 것입니다 콜백을 호출하면 화면에서 인쇄하고 그런 식으로 이렇게합니다 다른 것을 캡처하거나 다른 작업을 캡처하는 동시에 다른 작업을 수행 할 수 있습니다

또는 그 종류의 물건과 당신이 걱정하는 것은 이것이 언제 내가이 이벤트를 얻고있는 지입니다 이 콜백은 내가 처리 할 수있을 때 언제 호출 되는가? 외침 작풍 프로그램의 권리 그래서 만약에 당신이 다른 유형의 프로그램에서 오는 경우에 스타일 명령형 또는 선언적 언어 및 다른 언어를 사용하지 않을 수도 있습니다 특히 매우 중요한 이벤트 루프가있을 때 콜백에 본질적으로 사용됩니다 노드에서와 같이 이벤트 루프가 주 노드 인 이유는 노드를 올바르게 실행하려는 이유입니다 이 모든 동시성 이벤트 루프를 처리 할 수 ​​있기를 원하면 일반적으로 콜백 스타일이됩니다

프로그래밍과 최종 목표는 프로그램을 근본적으로 분리하는 것입니다 네트워크로 연결된 애플리케이션을 구축하는 경우 수행중인 기본 IO에 대한 데이터 흐름 모든 콜백을 실제 IO와 거의 같은 길이로 만들고 싶습니다 다른 콜백을하는 다른 일을 할 수 있도록 그렇게하고 싶습니다 그렇게 많은 시간을 차지하지 않으므로 프로그램을 작게 나누고 싶습니다 각 청크가 데이터가있는 작업에 매핑 될 때까지 작은 청크로 인해 동결되지 않습니다

지금 당연히 디스크 및 네트워크 IO와 같은 장기 실행 작업에 대한 이벤트 루프 콜백 내 콜백 내에서 콜백을하면 모든 정보를들을 수 있습니다 뒷면 예 나는 당신의 콜백에 다시 올 것이다 코드는 마치 피라미드 구조처럼 피라미드처럼 보이기 시작합니다 환상적이지는 않지만 후보자가 될 수있는 방법이 있습니다 당신이 깊고 깊어 진 노드로 깊숙이 뛰어 드는 방법 당신은 그것이 단지 더 많은 것임을 압니다

이것이 당신에게 일어날 수 있다는 것을 알고 있어야합니다 왜냐하면 당신이 알고 있기 때문에 그것은 매우 자연 스럽습니다 네가 쓰고있는 걸 밟으 려하고 모든 일이 오 떨어질 때 이걸 콜백 해 이걸 할 때까지하고 싶다

그러다가 오래 전에 너는 좋아질거야 좋아, 나는 이것을 처리 할 수 ​​없다 나는 그것을 읽을 수 없다 관리 할 수 ​​없다 나는 앞으로가는 것을 따라갈 수 없다

더 이상 사용할 수없는 라이브러리 또는 데모가 있습니다 그 선을 따라 조금씩 도움을 받아 사용하십시오 너무 걱정하지 마라 이제는 좀 더 코딩을하고 싶다 다른 샘플이 있는데 다른 흥미로운 주제를 소개 할 것입니다

노드에서 우리가 할 일은 우리 폴더 5에 가서 그 다음에 우리의 안녕하세요 세계 TCP 프로젝트와 여기에 우리가하려고 할거야 안녕하세요 할 것입니다 세상을 다시는 이번에는 TCP 프로토콜을 사용하여 HTTP가 아니므로 지금 내가하는 일은 처음이다 원하는 것은 TCP 서버를 만드는 것입니다 이제 익숙하게 보일 것입니다 HP와 거의 똑같지 만 우리의 경우 우리가 할 일은 모든 TCP 처리 모듈이있는 곳에서 net이 필요합니다 당신이 사용하기를 원한다면 우리는 net crate 서버를 호출하지만,이 경우 콜백은 소켓을 가져 가면이 소켓이 할 일은 우리에게 주소를 알려주는 것입니다

우리가하고 싶은 일을 바로 데이터를 수신하고 전송할 수있게 될 것입니다 우리는 연결하는 사람에게 안녕하세요 세상을 보내고 싶습니다 그래서 우리의 소켓 만 갈 것입니다 우리가 어디에서 접속했는지 원격 주소를 출력하면 그 소켓을 통해 hello world를 다시 작성하자이 서버를 변수에 할당하고 그런 다음 전화를 걸고 여기에 실행될 호스트를 지정하십시오

이 경우에는 그냥 localhost 그냥 집에 우리가 명령 프롬프트를 여는 경우 그래서 그것을 시작 추가 할거야 바로 여기 내가 우리가 나가야 할이 서버를 닫을거야 노드 서버를 호출 할 것입니다 예 정상적으로 실행 중입니다 그동안 나는 다른 명령 프롬프트를 실제로 열어 볼 것이고 나는 마우스 오른쪽 버튼으로 클릭하면됩니다

옆에 나란히 놓아 두어 볼 수 있습니다 우리의 dev 폴더로 돌아가서 우리의 TCP로 들어가서 실제로 만들고 싶습니다 클라이언트가 이제는 실제로 코드를 실행하기 전에 여러분을 안내 할 것입니다 약간은 당신이 볼 수 있습니다이게 실제로 우리가하는 일과 조금 다릅니다

서버가 이제 정상에 오르면 같은 아이디어가 모듈을 필요로한다는 것을 알게 될 것입니다 대신에 소켓을 지우고 이것을 할당 할 것입니다 클라이언트 변수에 새로운 소켓을 추가 한 다음 클라이언트에 연결하도록 알릴 것입니다 ~ 7,000 localhost입니다 우리가 여기에서했던 콜백이 없었습니다

클라이언트가 데이터를 얻었을 때 언제든지 할 말이 있다고 말하고 싶습니다 오른쪽 또는 언제든지 클라이언트가 가까이 도착하면 누군가가 소켓을 닫는 것처럼 뭔가를해라 너무 커서 우리는 특정 이벤트를 듣고있어 우리가 제한 했어 이벤트 구동 프로그래밍은 이미 그렇습니다

이 경우 문자 그대로의 아주 간단한 예입니다 이벤트 데이터와 닫힌 권리 그것은 바로 그 것이고 이것은 가져올 것입니다 이 이벤트 이미 터의 주제를 다룰 때 노드가 끊임없이 노드 개념을 사용하므로 이벤트를 올바르게 내보내는 이러한 객체는이 경우 소켓 객체입니다 그들 중 하나가 지금 내가 실제로이 코드를 실행하면 내 두 명령 프롬프트가 열리게됩니다 클라이언트에서 예라고 말하기 우리가 우리 집에서 우리 서버에 연결을 얻은 이유는 무엇입니까? 우리 서버에서 우리는 고객의 데이터에 즉시이 데이터를 보냈습니다 우리가 인쇄 한 것을 잊어 버렸습니다

우리가 우리의 코드를 다시 보았는지 기억한다면 hello world를 설정하라 서버 JS 파일은 소켓 끝이라고 불리는 끝에 오른쪽으로 연결을 닫습니다 그것을 호출하여 클라이언트의 닫힌 이벤트를 호출 한 다음 당신이 바로 여기에서 볼 수있는 연결을 닫습니다 그래서 사건 발생자들은 실제로 일어난 일에 대해 이야기 해 봅시다 사건 발생자는 기본적으로 사건입니다 에미 터를 사용하면 이벤트를 수신하고 함수 또는 콜백을 할당 할 때 이벤트는 괜찮아요 물론 각 이미 터는 다른 유형의 이벤트를 방출 할 수 있습니다 우리는 옷을 본 데이터를 보았지만 일반적으로 사용할 수있는 특별 이벤트가 있습니다

오류 이벤트와 모든 작업은 이벤트에 오류가있을 때 알려줍니다 거기에 더 많은 것을 읽고 싶다면 화면에 몇 가지 튜토리얼이 있습니다 거기 또는 슬라이드에 있으므로 체크 아웃 할 수 있습니다 물론 모든 이벤트가 있고 우리가 물건을 가지고있는 것처럼 보인다면 스트림이란 무엇입니까? 우리는 실제로 뭔가를 사용하기 위해 그것을 사용할 수 있습니다 예, 당신은 알고 있습니다

무엇을 위해 그들을 사용하고 어떤 문맥과 내가 가장 자주 읽거나 사용한다고 생각합니다 스트림은 대개 어쩌면 내가 뭔가를 다운로드하거나 스트림을 만드는 것과 같을 것입니다 나는 그 정보를 그냥 필터링하는 것과 같고 좋은 예를 알고있다 이미지를 일시적으로 자리 표시 자나 그런 종류의 것으로 옮겨서 스트림의 새로운 클래스와 그것은 내가 그렇게 몇 IO 물건 말했다 데이터 스트림을 나타냅니다 아마도 네트워크 또는 디스크 IO는 심지어 메시지 대기열에서부터 데이터 스트림까지도 포함 할 수 있습니다 또는 지금 무엇인가이 시내는 함께 꽤 파이프로 연결될 수있다

유닉스 당신이 UNIX 기반을 사용 해본 적이 있다면 나는 이것을 말하는 법을 모른다 꽤 좋은 광산이야 네가 네가 좋아하는 것과 같을 때 네가 그걸로 할 때 알아 내가 알 겠어 하나에서 다른 것까지 당신이 혹시 유닉스 타입의 시스템 인 OSX 나 리눅스를 사용했다면 당신이 코드에 넣을 수있는 훌륭한 라인 인 파이프 연산자를 보았습니다 출력을 하나에서 이동하고 확인하지만 다른 입력에 대해서는 실제로 확인할 수 있습니다 노드와 같은 일을하기 때문에 우리는 실제로 우리가 할 수있는 파일 package

json을 읽고 싶다고합시다 스트림을 곧바로 쓰기 스트림으로 파이프하면 전체 스트림을 다시 씁니다 JSON을 패키지 JSON으로 가져 와서 가져오고 쓰기 만하면됩니다 우리가 계속이 모든 모듈들에 대해 이야기하고있는 멋진 것들은 아니지 그것은 실제로 잘 작동합니다

js에는 의존성 로딩 시스템에 대한 간단한 모듈이 있습니다 그래서 그 의미에서 사용할 수있는 자신의 모듈을 만들 수 있다는 것을 의미합니다 다른 사람들의 모듈을 설치하고 로컬에 설치 하든지 쉽게 설치할 수 있습니다 또는 세계적으로 당신은 당신이 그것들을 사용하기 시작할 수 있다는 것을 알고 있습니다 그것은 제가 추측 한 것과 매우 유사합니다 유닉스 철학 우리는 모듈이 전형적으로 작다는 의미에서 같은 유형의 철학을 가지고있다

그리고 당신은 한 가지 일을하고 잘하는 프로그램을 만들고 싶습니다 그렇습니다 당신은 하나의 일을하고 좋은 일을하는 모듈을 작성하고자합니다 당신이 좋아하는 Twitter와 함께 일하게 될 것 같은 api의 권리로 작업 할 수 있습니다 당신이 무언가를하고 싶다는 것을 생각한 모듈을 날짜 나 시간을 가지고 모듈을 만들 것입니다

그래서 매우 개념적입니다 like는 모든 것을하지 않습니다 그것은 당신의 테이블과 수천 개의 테이블을 만드는 유틸리티입니다 이미 몇 번 언급했듯이 지금 사용할 수있는 모듈 require 함수를 사용하여 모듈을 잘로드한다 실제로 파일의 경로를 줄 수있다

그래서 당신은 또 다른 nodejs 파일이나 모듈을 포함하는 디렉토리를 요구할 수있다 로드하고자하는 모듈과 그 모듈에서 내 보낸 모든 것을 변수에 넣으십시오 이제 새로운 패키지 관리자에 대해 이야기합시다 모듈과 우리는 이것이 잘되어있는 패키지 관리자가 있다는 것을 알고 있습니다 NPM NPM이란 무엇입니까? NPM이란 무엇인가? 당신은 NPM을 좋아합니다 노드 권리를위한 fishel 패키지 매니저는 무엇입니까? 모든 것이 거기에 나열되어 있다는 것을 알면 레지스트리가 있습니다

NPM에서 어떤 모듈을 얻을 수 있는지 알아낼 수 있습니다 열심히 당신을 위해 번들로 설치하고 환경에 자동으로 설치하고 모든 종속성을 처리하므로 커플이 필요한 모듈을 사용하는 경우 당신이 모든 의존성 물건에 대해 걱정할 필요가없는 어떤 이유에서 건 다른 모듈들 변화하고 이동하고 업그레이드 할 때 우리 모두가 알고있는 것을 관리하는 것은 친절합니다 너는 조금은 내가 털이 많은 경험을 알지 못한다 그러나 모든 것을 다룬다 당신과 당신을 바라 보는 경우 NPM과 일한다는 것을 알고 있습니다

의심 할 여지없이 당신은 NPM 설치와 같이 사용법 측면에서 어떤 것을 사용하게 될 것입니다 예를 들어 이름을 알아야하는 모듈 이름을 설치할 수 있습니다 그리고 당신은 대시 돌진을 안전하게 할 수있다 그리고 그것은 당신을 나란히 안다 실제로 그것을 들어 올릴 것이다 우리는 package

json이라는 이름의 프로젝트를 시작했습니다 당신이 사용하고있는 것의 모든 감각과 언제 다시 이러한 모듈을 설치할 수 있습니까? 로컬에 설치하면 전 세계적으로 설치할 수 있기 때문에 원하는 것을 얻을 수 있습니다 예를 들어 항상 사용하는 것은 NPM 또는 그와 비슷한 것을 사용한다는 의미입니다 최신 레지스트리 목록을 알고 있으므로 최신 정보를 얻을 수 있습니다 NPM 설치를 수행 할 때 실제로 실제로 어떻게 작동합니까? 실제로 설치됩니다

종속성이없는 프로젝트가 노드에 있으면 종속성이라고 부를 수있는 팩 나이 패키지 JSON과 현재 폴더 옆에 로컬로 위치하는 modules 폴더 네가 지금하고있는 일은 메이플 오 폴더라면 거기에 작은 폴더가있다 아무 모듈도 실제로 뭔가 재미있는 일을했습니다 노드가 있는지 실제로 확인합니다 모듈은 루트까지의 모든 폴더와 그 이유를 설명합니다 세 개의 폴더가 프로젝트 깊숙이 설치되어 있고 거기에 NPM을 설치한다고 가정 해 보겠습니다 실제로 그 폴더에 다른 노드 모듈을 넣고 싶지는 않습니다

실제로는 이 흥미로운 질문을 던지는 맨 위에 놓으십시오 우리가 원하는 모듈은 무엇입니까? 이 경우 항상 글로벌 모드로 설치할 수 있습니다 설정하고 그 노드 모듈을 가지고있는 모든 제품에 액세스 할 수있게합니다 어떻게 설치할 수 있습니까? 폴더에서 가져올 수있는 몇 가지 방법이 있습니다 npm이 패키지를 설치할 때마다 웹을 사용하는 NPM 자체의 tarball에서 이름은 실제로 웹에 가서 폴더를 주거나 타르볼이 거기에 갈 것입니다

물론 당신은 당신이 원할 수도있는 Devon 옵션 패키지와 같은 것을 지정할 수 있습니다 그게 다 패키지 닷지 JSON에 들어갈거야 그래서 노드 프로젝트를 다운로드 할 때마다 당신이 일반적으로하고 싶은 첫 번째 일은 그 폴더에 NPM이 충분히 설치되었는지입니다 이 프로젝트의 진행 상황에 대한 패키지 JSON 파일을 읽으려고합니다 나는 네가 가져온다는 것을 의미한다

그러나 나는 로컬 노드에있다 밑줄 모듈 폴더 가서 꺼내 줄 수있어 장바구니에 넣으면 네가 다시 가져올 수있어 프로젝트를 준비하십시오 이제 실제로 그 패키지의 내용을 살펴 보겠습니다

JSON 매우 중요하게 들리네요 그렇습니다 당신이 될 모듈들 또는 의존성이 말은 우리가 이것에 의존성을 말할 수 있다는 것을 의미한다 당신이 당신의 프로젝트에서 사용하고있는 점과 그것의 이름으로부터 모든 것을 나열 할 것입니다 버전 설명에 당신은 단지 이것을 열어 볼 수 있고 오처럼 될 수 있습니다 one point zero one six six 5를 사용하여이 모듈을 알지 못한다

나는 아주 좋아야 만한다 모듈을 만들거나 업데이트 할 때주의하십시오 너도 그 줄을 따라 그 일들을 들어 올리기 시작한다 repo 저자 그리고 그 다음 설명의 모든 그 종류의 재료 그리고 다시 단지 그것은 프로젝트 내의 모든 의존성을 채우는 간단한 JSON 형식 그리고 인기있는 노드 모듈은 무엇인가? 내게 잘 맞는다는 것을 의미한다 우리가 밑줄을 긋고있는 요청이 있다고 생각합니다

우리는 낮은 지휘관이있는 싱크대가 있습니다 맞아 익스프레스 나는 네가 그 슬라이드를 아름답게 꾸몄다는 것을 좋아한다 너는 내 친구 야

낙관론자 인 CoffeeScript를 안다 정말 인기있는 것들이 많이 있다는 것을 의미한다 얼마나 적극적인지, 얼마나 많은 사람들이 체크 아웃했는지 알고있는 사람을 사용할 때를보십시오 그것을 사용하거나 다운로드하고 그게 당신에게 좋은 징조를 줄거야 당신이 원한다면 분명히 당신이 알고있는 특정 오 사람들을 알고 있기 때문에 무언가를 추구해야합니다 당신 자신의 위험에 대해 잘 아는 당신을 유지하지 못했습니다

맞습니다 그 모듈은 github에 있으므로 실제로 코드를 체크 아웃 할 수 있습니다 우리가 매우 유용하고 두 가지 모듈을 강조하고 싶다는 것을 배우십시오 인기있는 것은 물론 첫 번째 것은 비동기이며 본질적으로 비동기는 유틸리티입니다 모듈을 사용하면 여러 가지 방법으로 기능을 작동시킬 수있는 매우 간단한 방법을 제공합니다 비동기 자바 스크립트를 사용할 때 콜백이 많을 수도 있습니다

실행하려는 여러 함수가있을 것입니다 시리즈에서는 콜백의 모든 피라미드를 가지고있어 조금 성가시다 그러나 아마 당신은 시리즈에서 잘 실행하고 싶을 것입니다 async는 여러가지 기능을 제공합니다 그렇게하자

그리고 기본적으로 코드의 일부를 보여줄 것이다 여기 하단의 첫 번째 것은 비동기식 사고 시리즈이므로 배열을 실행할 수 있습니다 병렬 기능을 사용하면 이러한 모든 기능을 동시에 실행할 수 있습니다 결과가 아프거나 첫 번째 작업이 완료되면 콜백을 실행하여 지정하지만 두 가지 다른 강력한 것들이 있습니다 우리는지도와 필터처럼 많이 사용합니다

기본적으로 어떤 맵이 수행 할 것인가는이 함수를 실행할 것입니다 인수가이 배열에 있고 배열의 모든 결과를 반환합니다 각 파일 및 그래서 그것을 필터링하는 동안 그것을 매우 비슷한 방식으로 필터링하고 싶었 실행하면이 모든 것들을 실행할 것이고,이 FS는이 모든 파일들에 대한 함수가 존재합니다 결과에서 모든 결과가 반환되며 비동기 함수가 많이 있습니다 Stacey가 우리를 안내 할 또 다른 인기있는 모듈을 제공합니다

요청 모듈입니다 나중에 종류의 HTTP 호출을 수행하는 모든 방법을 단순화 ism 요청 및 어쩌면 항상이 일을해야하거나 어쩌면 당신은 이미지를 얻고있을 것입니다 그 종류의 물건 그래서 당신은 스크린 위에서 여기에서리스트되는 구조를 볼 수 있고, 한 조를 가질 수있다 예를 들자면 나는 아주 빨리 걸을 수 있고 그래서 나는 내 코드를 열어 보려고한다 바탕 화면과 다시 한번 우리가 이것을보고 있다면 여기에 많은 예제가 있습니다

맨 위에 내가 요청한 모듈을 다시 알았습니다 내가 로컬 또는 전 세계 어느 곳에서나 설치했는지 여부와 FS 어떤 것이 IO 파일을 처리하는지 그리고 모든 맨 위 오른쪽에있는 것입니다 URL에서 전달한 간단한 요청 사항이며 콜백이 있습니다 그리고 그것은 당신에게 알립니다 나는 그 URL로 갈 것입니다

나는 몸에서 응답을 얻을 것입니다 이 페이지에서 나는 당신이 알고있는 응답 상태 코드가 있다는 것을 알 수 있습니다 모든 것이 좋고 그것이 200이라는 것을 알고 있으면 그것은 몸 전체를 기록 할뿐입니다 그 HTML을 다시 쓰게 될 것입니다 그래서 그것은 당신이 그 내용을 움켜 잡는 것을 아는 것과 같은 아이디어입니다

웹 페이지를 매우 간단하게 만들었지 만 여기에 몇 가지 다른 예가 있습니다 이것에 대한 주석을 풀어 라 그러면 나는 이것을 1 분 2 초에 달릴 것이다 이것은 좋은 것이다 주인과 관계가없는 사람이 당신을위한 친구 중 하나입니다

그래서 당신은 우리가 밑바닥을보고 있다면 내가하는 일이 기본적으로 말하고 있다는 것을 알게 될 것입니다 좋아요 쓰기 스트림을 만들고 싶습니다 이미지를 작성하려고합니다 그 이미지와 나는이 이미지를 요구한다

그리고 이것을 기본적으로이 파이프에 넣을 것이다 파일에이 자리 표시 자의 종류가 있으므로 스트림을 파이프에 넣고 싶습니다 캡처가 끝나면 캡처하여이 작업이 실제로 파이핑 된 시점을 알 수 있습니다 그게 내가 끝내야 할 때의 감각을 가지고있어서 내가 여기서 할 수있는 것은 내가 내 명령 프롬프트를 가져올거야 그리고 난 들어가서 갈거야 그리고 난 갈거야 oops CD에 들어가면 나에게 타이핑하는 것을 보게되는데 정말 흥분된다 준비된 CV 노드와 거기에 우리가 간다

그리고 지금 나는 노드와 그 다음으로 이것을 할 것이다 알았어 알았어 그래야 내게 권리가 생겼어 Ramy의 선택 나는 기본적으로 웹에 갔다

나는이 그림을 다운로드했다 라미 당신이 바로 여기에서 볼 수있을 것 같은데 기분이 좀 어때 야겠네 이 그림이 무엇인지 알지 못한다면 모든 것이 훌륭합니다 하지만 예를 들어 가서 몇 장의 사진을 찍고 다운로드하려는 경우 다시 알 수 있습니다 지역적으로 당신이하고있는 일을 쉽게 알 수 있으며 요청을 사용할 수 있습니다 그렇게하려면 파일 스트림에 파이프를 연결 한 것을 볼 수 있습니다

예, 전체 파이프를 완전히했습니다 바로 여기 저기에 가셔서 환영합니다 요청 모듈 데모가 있습니다 학습 및 기타 측면에서 당신을 움직일 수있는 몇 가지 리소스 당신은 우리가 처음에 많은 개념들에 대해서 이야기 해 왔음을 볼 수 있습니다 여기 그리고 그들 중 일부는 당신이 알고있는 것으로 조금 작업 할 필요가 있다는 것을 알고 있습니다

당신의 물건을 만들고 당신은 그들이 어떻게 플러그 앤 플레이에 오는지, 그리고 당신이 무엇을하는지 이해할 것입니다 보아야하지만 다시 우리는 github repo가있는 자원을 나열했습니다 정말이 시간 이후 사람들이 아마보아야 할 것들을 생각하면 나는 동기 대 동기가 정말 좋은 핸들을 이해 이해 말 왜냐하면 당신이하지 않을 때 남자는 그것이 당신에게 나타나고 당신이 어디서 왔는지와 같기 때문입니다 이것은 갑자기 여러분이나 비동기 같은 도서관을 배운 날입니다 당신은 방출 자들을 환기 시키는데 익숙해 져야한다

그리고 그들이 어떻게 일하는지 그리고 NPM은 모든 것을 배우게된다 NPM의 기능을 설명하고 다음에 나와있는 사람이 누구인지 알기 때문에 네가 알고 있다는 것을 알게된다 그것이 바로 첫 번째 모듈에 대한 모든 것입니다 잠시 휴식을 취할 것입니다 우리는 곧 당신을 보게 될 것이고 질문이 있으시면 채팅에 넣으십시오

우리가 마지막 모듈로 돌아 왔을 때 이러한 질문 중 일부를 다룰 것입니다 그게 정말 끝내 Visual Studio 코드를 사용해 주셔서 감사합니다 nodejs와 나는 Remy이고 나와 함께 Stacey이고 이것은 우리의 두 번째 모듈이고 우리는 익스프레스에 대해 이야기 그래, 난 슈퍼 흥분 해요 그리고 당신은 물건을 구축 할거야 그래, 그래 마지막 모듈에서 그것을 잡지 않은 당신을 위해 익스프레스는 웹 프레임 워크 예입니다 우리는 웹 애플리케이션을 구축하는 데 사용할 수 있습니다

이 모듈에서 우리는 익스프레션은 왜 표현식을 사용합니까? 실제로 어떻게 설치합니까? 시작하려면 두 가지 데모가 있어야합니다 그 중 하나는 간단한 방법을 만드는 것입니다 REST API Kathir 여러 가지 기능을 갖춘 Express 앱을 작성하는 방법을 보여 드리겠습니다 페이지 옙 그러면 우리는 더 평온한 API를 만드는 법을 보여줄 것입니다 우리는 그동안 템플릿과 많은 다른 개념들을 다룰 것입니다

표현을 올바르게하는 것은 매우 중요하므로 표현이 무엇인지 표현 해보자 잘 익스프레스는 매우 최소한의 오픈 소스이며 매우 유연한 nodejs 웹 앱 프레임 워크입니다 웹 사이트를 웹 응용 프로그램으로 만들기 위해 특별히 설계되었습니다 응용 프로그램 및 API는 매우 쉽습니다

빠른 클릭만으로 빠르게 작성하고 루비 세계에서 Sinatra를 사용한 적이 있다면 매우 간단합니다 또는 아마도 파이썬 세계에서 플라스크를 느낄 수도 있습니다 Express는 매우 유사하며 사실 이러한 프레임 워크에서 영감을 얻었 기 때문에 매우 간단한 프레임 워크입니다 노드 공동체에서 가장 인기있는 노드 중 하나입니다 네가 왜 궁금해하는지 궁금하다면 익스프레스를 사용해야하는 이유는 무엇일까? 모든 것을 잘 수행하는 간단한 HTTP 서버를 만들자

Express는 많은 것을 만든다 그 중 하나가 다른 URL에 응답하므로 다른 경로가 Express를 사용하여 요청에 응답하고 특정 URL에 특정 응답을 쓸 수 있으므로 블로그를 만들거나 웹 응용 프로그램을 만들 때마다 특정 응답을 작성하고자하는 특정 URL을 누르십시오 쉽게 할 수있는 것은 물론 당신이 알고있는 템플릿을 가리키는 것입니다 Allen 절제에서 모든 것을 부를거야 너는 내가 그것을 좋아하지 않는다 미안하지만, 일단 당신이 조금만 들어가면 깨닫기 시작한 웹 앱 구축 괜찮습니까? 이것을 재사용 할 수 있는지 알 수 있습니까? HTML 또는 이것 저것의 작은 비트 템플릿을 만들어서 또 다시 재사용 할 수 있습니다

제품 페이지에는 사진과 제목 및 링크가있는 제품이 있고 당신은 행동 촉구 또는 그 모든 것들을 알고 있습니다 왜 모든 HTML을 작성하겠습니까? 그냥 스 니펫이나 템플릿을 사용할 수 있습니다 예를 들어 그 라인을 따라 가면, 익스프레스로 작업하는 것이 많이 다르다는 것을 알 수 있습니다 템플릿 엔진 및 모든 종류의 작업이 비슷한 방식으로 작동합니다 네가 할 수있는 일과 그들이 어떻게 일하는가에 관해서는 많은 말들이있다

하지만 모두를 안다 우리가 당신에게 보여줄 거라는 걸 아는 사람들이 좋아하는 자신 만의 물건이 있습니다 옥 예를 들어 익스프레스 상자로는 꽤 표준이지만 어떤 사람들은 알고 있습니다 핸들 바 또는 당신은 그런 오 예를 알고 있습니다 나는 모든 얼굴을 기다리는 턱수염을 잊고 있습니다 나는 수염을 templating 언어를 기다리고 있어요 그래, 그래, 네가 알지 만 나는 모른다

때로는 이런 것들을 지칭하지만, 당신이 알기를 당신이 보게 될 것을 알 것입니다 그게 바로 당신이 Express와 같은 것을 가지고 일하게 될 또 다른 이유입니다 이런 일을 단순화하고 일어나기가 훨씬 쉬워지기 때문에 달리기를하면 효율성이 좋아지고 누가 효율성을 좋아하지 않는지, 당신은 이미 콧수염과 핸들 바를 사용했던 웹 디자이너입니다 실제로 비취를 그 templating 언어로 대체하십시오 예 예 예 그것은 단지 매우 편안합니다 너는 내가 할 수있는 다른 것들을 모두 가지고 놀 수있다

익스프레스 설치 및 사용에 대한 간단한 설명 매우 간단한 이름 예 연어와 비슷합니다 마지막 모듈 옙 여기서 다시 설치하기가 매우 쉽습니다 할 수있어 NPM은 네가 익스프레스 옙을 설치하고 네가 비취를 설치하려는 경우 그것의 옆에 그것은 단지 NPM 설치 옥과 다시 아주 간단한 설치를위한 너무 너와 너는 네가 가기에 좋다 그래서 우리가가는 간단한 데모로 시작하지 그래? 복잡한 웹 앱이나 단일 페이지 애플리케이션을 만든 적이 있다면 REST API를 만들어라 일반적으로 서버에있는 데이터베이스와 상호 작용할 수있는 방법이 필요합니다

가장 일반적인 방법은 HTML을 할 수 있도록 API를 사용하는 것입니다 요청하는 API에 대한 Ajax 요청은 JSON 형식으로 일부 데이터를 가져온다 그것은 화면과 이것 저것에 그것을 두었습니다 그래서 우리는 당신에게 간단한 REST를 만드는 방법을 보여주지 않습니까? nodejs가있는 API와 내가 할 일은 내 코드 편집기로 전환하고 우리는 0 a 폴더로 가서 휴식을 표현할 것입니다 내가 지금 당신에게 보여줄 코드를 모두 담고 있지만, 나는 당신에게 보여주고 싶었습니다

다시 Express를 실제로 설치하는 방법을 다시 한 번 왜 제가 0 8 폴더에 들어가서는 안되며 물론 나는 그걸하지 않았어 이제 너를 조금 더 크게 만들었지 우리가 파일로 우리의 애플 리케이션 닷지를 가지고 그것을 볼 수 있지만 여기 JSON에 대한 패키지입니다 그래서 만약 당신이 패키지가 필요하거나 모듈에 의존 할 때마다 패키지 Ehsan에는 패키지를 만들 수있는 아주 간단한 방법이 있습니다 JSON 우리는 Express 3를 사용하고 있지만 다른 샘플에서는이 샘플을 3 번 익스프레스합니다 우리는 익스프레스 4를 사용하여 샘플을 보게 될 것입니다

이 기본 파트가 있다는 것을 알 수 있습니다 맨 위에는이 모듈이 무엇을하는지, 그리고 그다지 의존성을 설명하지 않는다 바로 거기에 별을 넣으면 그 별을 지정하면 최신 버전을 멈추게 할 것입니다 버전을 설치하고 그 중 하나를 지금 설치하면 돌아가고 난 그냥 내 폴더에 들어갈 수 있습니다 실제로 NPM을 설치하기 만하면 JSON의 패키지를 읽고 모든 것을 설치합니다

거기서 내가 그렇게하면 모든 것이 이미 설치되어있는 마법의 붐을 일으킬 것이다 그래서 나는하지 않았다 많은 것은 마술을위한 당신의 시간이 방법에 의하여 스크린에 텍스트 같이 다만이다 그래야 그렇습니다 당신이 정말로 나를 볼 수 없다면 당신은 그럴 수 없습니다 왜냐하면 이것이 제가 실제로 한 이유입니다 이것은 스테이시가 마술이라고 말했던 것입니다

그리고 저는 그것이 어떤 사람들에게는 선물이 될 것이라고 말했습니다 포인트를 바란다 그러니 제발 제발 제발 제발 제발 오, 그래 제발 제 오 그래

우리가 NPM을 설치 한 후에는 자신의 컴퓨터에서 직접 설치하면됩니다 이 파일을 실제로 실행할 수있게하려면 앱 2에 들어가면 알 수 있습니다 그것은 꼭대기에 매우 비슷한 요구 사항을 가지고 있습니다이 경우에는 Express가 필요합니다 모듈이 실제로 할 일은 실제로 노드 모듈 폴더에 있습니다

당신의 로컬 노드 밑줄 모듈에서 그것을 발견하고 내가 할 일은 내가 실제로 익스프레스 기능을 호출하기를 원한다면 이전에 우리가 사용한 모듈에서 무언가를 할 때마다 X 프레스 도트를 잘하려면 실제로 여러 함수를 내보낼 수 없습니다 원하는 경우 모듈을 하나만 내보내고 해당 모듈의 내보내기를 해당 함수로 설정하고 이 경우에 우리가 한 일이므로 실제로 여기 Express를 호출 할 수 있습니다 그게 애플 리케이션을 반환 할거야 할거야 그리고이 응용 프로그램은 그것들 중 하나는 괜찮아지고 무엇이 도움이되는지는 근본적으로 말합니다 get 요청이있을 때마다 HTTP 요청을받습니다 HTTP 메소드를 알고 있다면 얻을 수 있습니다

이 게시물을 삭제할 수있는 열정이 그들 중 하나로서 받아 들여집니다 메일이이 함수를 실행할시기와 요청을받는 콜백에 대한 URL을 전달합니다 및 응답 바로 여기 그래서 우리는 우리가 어쩌면이 응용 프로그램이 단지 하나의 URL을 가지고 있다고 말할 것입니다 URL을 가져오고이 함수를 실행하면 해당 URL에 도달하고 수행 할 작업입니다 이 응답을 JSON 형식의 응답에 쓰려고합니다 메시지 배열을 말하는 개체가 API에 오신 것을 환영합니다

일단 이러한 URL을 모두 가져 오면 우리가 실제로 애플 리케이션을 시작하려고하는 모든 경로를 app dot listen과 우리는 환경에서 전달 된 포트 변수를 환경으로 가져갑니다 또는 8080과 내가 앉아서 그 파일을 실행할 때 나는 항구를 지나치지 않을 것이기 때문에 앉아있다 그것은 내가 바로 여기있는 브라우저로 간다면 지금 포트 88에서 사용할 수있을 것입니다 그리고 나서 localhost 8080에 거기서 씁니다 JSON에서 응용 프로그램을 탐색합니다

또한 위풍 당당한 favicon 아이콘을 얻으려고 여기에서 우리는 실제로 그것을 돌려 보낸다 application 그것이 JSON이 아니라 우리가 보내고 싶었던 유형이기 때문에 결과 만세 우리 API에 오신 것을 환영합니다 모든 것이 모든 것이 영광 스럽습니다 굉장하고 나는 아주 행복해 그래서 우리가 얘기했던 그 예를 들어 보자 경로가 맞으면 앱과 같이 갈 것입니다 누군가 기본적으로 당신이 알고있는 것을 던지십시오

플래시는 단지 인덱스 페이지를 의미합니다 그런 다음 당신은 당신이 그런 식으로 노선을 알고있는 이런 모든 종류의 일을하는 것을 알고 있습니다 알아요 익스프레스 종류의 도움을 당신이 얻을 수 있고 그들은 풋내기와 모든 종류의 그리고 물건을 사용하면 우리가 get을 사용할지 여부는 post 나 something을 사용할지를 볼 수 있습니다 어쩌면 미래에 당신은 그런 요청이 당신과 비슷하다는 것을 알기 시작할 수 있습니다 중간에 화면이 보이면 localhost가 보입니다

t-888입니다 8080과 그것은 인덱스 페이지와 비슷합니다 그래서 초기 유형의 슬래시 인덱스가 있습니다 여기에 나열되어 있고 상단에 색인이 있지만 경로의 아름다움 중 하나입니다 당신이 Express에서 쉽게 할 수있는 것입니다

우리는 단지 전통적인 종류의 홈 페이지에갔습니다 응용 프로그램의 경로를 알고 있지만 Express를 사용하면 쉽게 색인을 생성 할 수 있습니다 이러한 경로를 추가하여 API를위한 경로를 필요로한다면 플래시 학교 알고 슬래시 학생 슬래시 예를 들어 학교 슬래시 학생을 알고 당신은 그런 식으로 API를 구성하는 방법을 알고 있습니다 Express는 매우 쉽습니다 그렇게해라

그리고 다시 그것은 당신이 당신을 보았던 정확하게 종류 다 길은 네가 할 일을 어떻게 처리 할 것인가? 그 기본의 바로 우리가 우리가 원하는 바로 블로그를 만들려고했다고 가정 해 봅시다 서로 다른 페이지에 대해 서로 다른 URL을 사용하려면 블로그 기사를 올바르게 작성해야합니다 실제로 또한 그렇게하고 나는 우리가이 모든 다른 페이지를 가지고 있다고 말할 것입니다 그들은 모두 똑같은 것입니다

우리가 실제로 같은 콜백을 쓰는 방법 우리 블로그에있는 모든 다른 페이지들에 대해 나는 그것이 당신이 생각하는 것 같아요 이제 우리에게 잘 보여주기 때문에 나는 너에게 같은 생각을 보여줄거야 여러 경로를 추가하고 여러 페이지에 대해 매우 간단히 표현하면됩니다 매우 빨리 당신이 당신을 데리고 달릴 수 있다는 것을 알기 때문에 코드를 열어서 여기에 코드와 관련하여 약간의 것을 보여 드리겠습니다 내가 맞은 편에 있는지 확인하여 그 11 익스프레스를 열어 보겠습니다

당신이 할 수있는 한가지는 당신이 코드를 더 나아갈 수 있다는 것입니다 나는 CD Express를 탭으로 사용할 수 있습니다 괜찮아요 나는 그 디렉토리에 있는데 코드 도트를 사용할 수 있습니다 일단 코드를 설치하면 커맨드 라인 그래서 그것이 할 일은 당신이 내게 반짝이는 것을보아야 만 할 것입니다

나 좀 머리 -하지만 준비가되어 있고 그것이 열려 있고 당신은 그것이 열렸다는 것을 볼 것이다 그냥 그 폴더를 다시 볼 수 있도록 황갈색 선에서 다시 사용할 수 있습니다 모든 디렉토리 및 그냥 하나의 것들을 코드의 좋은 것들 중 하나를 열어 이전에 수정해야했던 이전에 실제로 글꼴 크기가 있음을 보여주었습니다 이 권리는 모든 환경 설정이 여기에 있다는 것을 알았 기 때문에 나타났습니다 예를 들어 환경 설정 여기 사용자 설정을 알고 있어야합니다

글꼴 크기를 변경해야합니다 나는 여기서 바로 그 일을 할 수 있으며, 나는 무엇을 그것을 18 권리로 만들어야하고 자동적으로 만들어야하는지 모른다 업데이트 만하면 코드에있는 모든 환경 설정을 시작할 수 있습니다 만약 당신이 일을하는 것에 익숙하다면, 그것은 제가 지금까지했던 것 중 꽤 기본 적이라는 것을 알게 될 것입니다 익스프레스를 여러 번 해보았습니다

저는 실제로 우리가 보여줄 뭔가를 사용했습니다 익스프레스 제너레이터와 퀘스트 생성기가 실제로 그냥 지나가고 퀘스트 생성기가 배치됩니다 당신이 나를 좋아하는 경우에 완전한 템플렛 당신은 어쩌면 조금 쉬운 아마 어쩌면 나는 게으른지 모른다 똑똑한 선을 거기에 넣으십시오 그러나 만약 당신이 원한다면 당신이 사용할 수있는 모든 것을 얻으십시오

이 익스프레스 발전기와 그것이 무엇을 할 것인가는 단지이 모든 기본적인 것을 레이아웃 할 것입니다 템플릿 응용 프로그램을 올바르게 트리밍하고 그래서 내가 한 일은 내가 사라진다는 것입니다 Express 앱에서 몇 가지 경로를 확인 했으므로 이전에 본 것처럼 알 수 있습니다 우리가 이런 종류의 인프라를 사용하지 않은 것은 매우 간단하지만 지금은 친절합니다 그 뒤에 전체 인프라 전체를 보여 주면이 모든 것이 있다는 것을 알 수 있습니다

사안 전반에 걸쳐 포함되는 것들이 있으며 로거 쿠키 파서의 본문에서 파생됩니다 귀하의 응용 프로그램과 기본적으로 그것은 당신에게 이러한 경로를 제공하고 그래서 종류의 종류를 설명하기 위해 길이나 구조가 간다 익스프레스 (Express)는 당신이 만들 때 왼쪽을 본다면 익스프레스가 생성 한 프로젝트는 여기에서 시작점이되는 앱 점 J가 있습니다 그게 바로 당신의 주요 포인트 fjs 당신이 당신의 이동을 알고 당신은 전망과 경로가 대중들에게이 사실을 당신에게 설명하기 위해 조금만 대중이 항상있을 것입니다 JavaScript 스타일 시트를 알고있을 것입니다

당신은 조용한쪽에 대해서 더 많이 알고 있습니다 그것은 정말로 내가 그 사람들을 두는 곳이기도합니다 공용 폴더에서 모든 것을 매핑하기 때문에 공용 폴더에서 당신이 이걸 시험해 보는 것처럼 느껴져서 비참하게 실패 할거야 나는 그렇다 어쩌면 그렇다

그렇다면 너는 전망과 견해를 가질 것이다 우리가 말했듯이 우리는 템플릿 엔진을 사용하고 있습니다 옥 (Jade)이기 때문에 뷰가 뷰에서 유지됩니다 이것들은 사용하려는 HTML 또는 HTML 페이지의 항목 또는 발췌 문장이며 당신이 거기서 빠져 나가고 자하는 어떤 것이라도 이제는 다음 관점에 포함될 것입니다 나는 당신이 도로임을 보여주고 싶고 도로는이 모든 자바 스크립트 파일이 될 것입니다

당신이하는 일은 기본적으로 Express I을 표현하는 것입니다 예를 들어 사용하고 싶은 파일을 포함시키고 싶습니다 해야 할 일은 누군가가이 경로를 호출 할 때 앱이 예를 들어 앱과 같이 사용되기를 원합니다 롬니가 당신을 만들기 전에 그 변수가 될 것입니다 응용 프로그램 및 익스프레스에 상응하고 다시 사용할 수있는 모든 기능을 사용하고 있습니다 익스프레스와 당신이 아시다시피보기 시작 여기에 내가 어디로가는거야? 이 폴더 로터에서의 전망이 바로 여기 여기 익스프레스보기 사자 15 어디에서 우리가 찾고 있습니다 보기에서 네, 이것은 기본적으로 그 디렉토리를 만드는 길을 줄 것입니다

바로 그 견해에 대한 이름을 써서 어디에서 가져올 지 정확히 알기 때문에 다음 엔진을 가지고 뷰 엔진을 내려 놓으면 우리는 무엇을 할 지 알게됩니다 일반적으로 당신을 위해 일을 할 수있는 미들웨어 일을 부름 JSON과 같은 것들에 대해서는 그렇게 많이 들어 가지 않을 것입니다 앱 사용으로 누군가가이 경로를 때리면 바로 사용할 수 있습니다 그것의 루트는 우리가 전에 작성한이 변수를 사용할 것입니다 이 JavaScript는 괜찮아요

이 자바 스크립트 함수는 오히려 다시 우리에게 사용자가 있습니다 그래서 당신이 이것을 할 때 기본적으로이 장소에 하나 더 추가됩니다 즉, 누군가가 가서 플래시 장소를 치면이 길을 얻을 것입니다 이 변수는 바로 여기 슬래시 경로를 슬래시로 처리하고 그 것을 처리합니다 그 물건을 기대해 봅시다

그래서이 곳을 보겠습니다 다시 볼 수있는 장소는 매우 간단합니다 이유가 있습니다 Express 로터 여기 있습니다 익스프레스를 포함하여 라우터는 기본적으로 괜찮아요 당신이 장소에 가고 싶다면 당신이 말할 수있는 곳입니다 그래서 그냥 장소에 슬래시 플래시 학교 당신이 할 수있는 권리 천재 예를 들어 그 권리가 있지만 여기에 콜백이야 또는 여기에 당신이 여기서해야 할 일이 있습니다 그래서이 콜백은 제가 렌더링하려고합니다

일부 HTML은 API로 가서 일부 데이터를 다시 가져와 일부 JSON을 다시 작성하는 것입니다 데이터베이스에서 데이터를 가져 오거나 데이터베이스에서 데이터를 가져 오거나 다시 쓰도록합시다 기본 텍스트 문자열 또는 일부 작업을 수행하려는 경우 어쩌면 바쁘게 될지 모릅니다 너는 그걸 바로 돌려 보낸다 그래서 우리가 여기에서하는 것은 우리가 전에 말하고있는 것이다

우리는 JSON 응답을 기본적으로 알고 있다고 말한 것을 보았습니다 그래서 우리는 이제 JSON을 페이지에 다시 넣기를 원하지만 우리가 여기서하는 일은 우리가하는 일입니다 render와 우리가하고있는 일은 우리가 사용하고 싶은 템플릿을 렌더링하는 것입니다 우리는 몇 가지 데이터를 전달하므로 실제 상황을 보거나 적어도이 항목을 보도록하겠습니다 내가 여기에 있으면 내가 할 수 있어야하고 NPM 시작을 갈거야

예를 들어, 생성기를 사용하여 Express를 설치 했으므로 아마도 익스프레스 제너레이터를 통해 설치 방법을 알려주지 만 한 번 설치하면 시작할 수 있습니다 실제로 그것을 시작하기 위해 NPM을 사용하면 어떤 포트를 시작할지 알 수 있습니다 당신이 모든 것들을 설정하는 구성은 좋지 않습니다 NPM을 설치하고 싶습니다 오, 네, 고마워요, 네, 그래요 그 작은 아이콘을 보아라

그리고 당신은 물건을 보았다 그런 다음 패키지를 가져오고 일단 시작하면 모든 것을 다시 설치합니다 아니, 그게 내가 모듈이 모듈을 찾을 수 없다는 이유입니다 여기에 무슨 일이 일어나는지 보도록하겠습니다 당신은 내가 1 초를 보지 못한다는 것을 알겠습니까? 더 크게 만들자

이 노드를 해보자 app so jf nope이 파일에 오류가 있습니다 파일을 찾고 싶습니다 아마 나는 아무 것도 건드리지 않았다 괜찮을 것이다

어쩌면 우리는 앞으로 나아갈 수있다 다음 중 하나와 나는 이것이 당신이 그것에 다시 올 수 있는지 궁금해 할 수 있습니다 우리가 먼저갑니다 데모 붐 괜찮아요 음 괜찮아요 여기에 우리가 간다 오 사실 나는 무슨 일이 일어나고 있는지 알아 실제로 빈을 놓치고 – WWE 파일 오, 그래, 그렇게 쉬운 방법 왜 우리가 가지 마 하나의 폴더를 열고 실제로 표현 생성기를 사용하여 Express 사용 방법을 보여줍니다 센터와 거기에서 우리는 우리가 repo 권리에 넣는 것을 잊었던 빈을 가져갈 것이다 그래서 만약 내가 발전기를 할 권리가 설치되어 있지만 갈 수 NPM 설치 익스프레스 발전기 G 플래그를 사용하여 전역 적으로 설치하려고합니다

그래, 그래도 사용할 수 있습니다 커맨드 라인에서 그렇게 설치하면 문제가 없으며 내가 할 수있는 일이 생깁니다 내가 익스프레스를 바로 할 수있어서 찾고 있고 다시 표현할 수있는 폴더를 만들 수있다 여기서 폴더를 찾고 있으므로 여기에서 루트에서 Express를 쉽게 할 수 있습니다 근본적으로 기본적으로 진행될 것이고 그것은 오처럼 될 것입니다

이것은 아닙니다 빈 괜찮아요 그래서 지금 내가 할 필요가 설치하고 그것이 만들어집니다 이 모든 것들을 모두 쓸 것이므로이 모든 것들을 설치할 것입니다 지금은 일이 끝나고 레지스트리에 대해 NPM을 찾고 있으며 모든 것을 얻고 있습니다 모듈과 그것은 당신이 바로 아래로 오는 미친 물건들의 목록을보기 시작한다는 것을 알고 있습니다 이제는 NPM을 시작해서 황금으로 시작해야합니다

그래서 시작했습니다 가져올 수 있습니다 여기까지 올라가면 기본 호스트 인 localhost 3000에서 실행되어야합니다 그러면 시작됩니다 이 항목이 있는지 확인하려면 사용자 또는 사용자가 이제 괜찮아요

우리는 덮여있어 우리는 이제 경로를 추가해 보겠습니다 그걸 어떻게 빨리 할 수있게 우리가하고 싶은 일은 여기로 돌아가고 싶습니다 이걸 닫을거야이 폴더를 닫을거야

네가 원한다면 폴더를 닫으려면 폴더를 닫을 수 있습니다 저장하지 말 것입니다 열어 보겠습니다 폴더가 너무 길어서 당신을 더 길게 보여줄 수있는 몇 가지 작은 것들이 있습니다

이 폴더를 선택하십시오 아마도 당신이 잃어버린 bin wwo를 복사하고 싶을 것입니다 나는 여기에 모든 것을 썼다 당신이 거기에 쓴 글을 잘 모르겠다 그럼 네, 바로 거기에 완벽하게 괜찮아요 당신은 내게 앞서 있습니다

자 이제하자이 과정을 끝내자 CD 11 NPM 시작 거기서 시작하자 감사의 친구를 설정하고 우리는 3000을보기 시작할 수 있고 나는 장소를 가졌고 당신은 저기서 앉으려고 고맙다는 말을하면 경로 나는 그것의 제목을 변경하고 쓴 추가를 추가 할 수 있으므로 쓴 것을 추가하는 것은 매우 어렵다 매우 간단합니다

다시 코드를 가져 오면 앱을 볼 수 있습니다 당신이해야 할 일은 당신이 파일을 만들어야하고 여기에 경로에 넣는 것입니다 그들이 전화를 걸 때 그 경로를 사용하면 여기 파일에서 볼 수 있습니다 당신이 원하는 무엇이라도 넣으십시오 나는 이것을 내가 바꿀 수있는 더 많은 자료로 바꿀 수있는 곳이 있습니다

다른 서식 파일을 사용합니다 모든 종류의 작업을 수행 할 수 있으므로 새로운 경로를 만들 수 있습니다 그런 종류의 과정이 이렇게 다시 나를 통해 나를 걸을 수 있습니다 그래서 이것은 장소입니다 경로 폴더에있는 J 파일은 오른쪽에 있고이 파일 안에 라우터가 있습니다

익스프레스에서 바로 만들었습니다 그런 다음 해당 URL에 대한 get 요청을 라우터 바로 다음 우리가 돌아갈 때 오른쪽 모듈 내보내기를 사용하여 라우터를 내보낼 pas 예 그리고 우리는 정상에 바로 가야한다 우리는 바로 그 장소 오른쪽 오른쪽을 요구하고있다 여기 정확히 그렇게 그 장소에서 우리가 방금 말한 치료법은 우리가 실제로 로터 로터가 제대로 작동하는지 확인해야합니다 그러면 여기에 사용할 때 지정하는 부분이 사용됩니다 일종의 당신은 우리의 장소에서 그렇게 제프 예 예 URL을 슬래시 장소 루트 루트 우리가 어디에 슬래시 장소를 말할 필요가 없어요 맞아요 우린 그걸 걱정할 필요가 없어요

끝내 다른 경로를 사용하거나 여러 경로를 추가하려는 경우 다시 한 번 알 수 있습니다 예를 들어 겟이나 풋을 가거나 또는 다시 알게 될 곳으로 도로의 복잡성을 완전히 바꿀 수 있다는 점을 변경하면 굉장한 것에 우리 슬라이드에 되돌아 가게하게된다 oops 1 초 우리는 여기에있다 우리는 okright를 그렇게 잘 간다 어디에서 ∥ 슬라이드 쇼와 우리가하려고하는 것은 실제로 우리가 보여준 것에 대해 이야기 할 것입니다 우리가 예를 보았던 아기 페이지와 같은 길의 조금은 우리가 당신을 보여 줬던 것을 나타내었다 꼬마가 라우터에 템플릿을 바로 렌더링합니다 이제 우리가 할 일은 우리가 가고있는 것입니다 진정으로 평안한 api라고 불리는 것을 만들려면 나는 큰 팬이다

방금 강아지가 생겼어요 루비예요 정말 굉장 해요 개를위한 개를위한 편안한 API 이제는 매우 편리하게 사용할 수 있습니다 예

당신이 건물에있을 때 매우 편리하게 올 것입니다 단일 페이지 응용 프로그램 다른 리소스에 대한 API가 필요합니다 바로 우리가 만들고 있다고 가정 해 봅시다 어, 나는 내 친구 개들 모두를 보여준 웹 페이지를 모른다 나는 너를 아마도 어쩌면 아스피린으로 만들었던 것처럼 느껴진다

그것은 너 인터넷 사실 내 친구 중 한 명은 개 소유자를위한 앱을 만드는 데 필요한 시작 프로그램을 실행합니다 놀랍습니다 꽤 멋지고 위대한예요 그러니 잠시 동안 개가 없었어요 그리고 나서 마침내 내가 이상적으로 올라 갔을 때 어떤 것을 올라가서 내가 당신의 앱을 사용해야 할 필요가 있다고 말했다

한 페이지 응용 프로그램을 만들 수 있도록 RESTful API를 작성하고자한다고 가정 해 보겠습니다 그래, 우리 브라우저 프론트 엔드에서 괜찮아 그러면 우리의 브라우저에있는 모든 개를 사용할 수 있습니다 컬렉션과 거기에있는 모든 것들이 이제는 특정 패턴이 있습니다 매우 일반적이며 거의 표준화되어 있습니다

이제는 실제로 이것을 빌드하는 방법에 대해 말할 것입니다 API를 사용하면 앞면에있는 자바 스크립트가 수행 할 작업을 알고 다른 속성을 얻을 수 있습니다 귀하의 데이터베이스 또는 귀하의 컬렉션 또는 기타 등등에있는 개체의 이 손 동작이 많이 일어납니다 왜냐하면 저는 우리 브라우저의 종류를 여기에 상상하기 때문입니다 가서 서버에서 무언가를 얻으십시오

그래서 멀리있는 서버들에게는 힘든 일들이 있습니다 여기 서비스 괜찮아, 우리가 간다 네, 내가 거기에있는 것 같아 귀하의 브라우저 오, 정말 좋았어 그래, 우리가 바로 집안을 좋아해, 그래, 그래, 알았어 슬라이드로 돌아 가면 다양한 유형의 HTTP 메소드가 있음을 알 수 있습니다 그리고 평범한 API를 만드는 것은 우리가 사용하는 전형적인 것들이다

맞습니다 실제로는 두 가지 유형의 리소스가 단일 리소스 또는 컬렉션으로 있습니다 자원의 목록이 바로 이러한 것들의 목록입니다 그래서 우리가 모든 것을 얻고 싶다고 말하려합니다 개들은 네가 모든 오리에게 나에게 줄께 아마 우리는 수집 물을 만들고 싶다

URI 및 예를 들어 여기에 API dot examplecom이 있다고 가정 해 봅시다 어쩌면 v1 예 슬래시 개 같은 API의 버전 그래서 우리의 컬렉션은 본 적이 없어 내 인생에서 전에 API에 v1을 결코 나는 아마도 그들은 항상 냉소적이지 않다 항상 그런 것 같아요 예

많은 이들이 그것을 업데이트하고 변경할 수 있습니다 우리의 경우에 우리는 실제 코드에서 v1을 거기에 넣고 있습니다 그렇게하면 추가 할 수 있지만 그 컬렉션을 만들고 싶다고합시다 URI는 슬래시 개가되는 둥지의 괜찮은 개 그리고 어쩌면 우리는 모든 개를 얻고 싶었습니다 그래서 우리는이 URL에 get을 구현하여 모든 개들을 JSON 형식으로 나열하도록합시다

모든 개를 우리가 사용할 수있는 새 컬렉션으로 바꾸고 싶다고 말하고 있습니다 오른쪽 htp 방법 그래, 만약 우리가 새로운 개를 만들고 싶다면 나는 네가 실제로 어떻게 할 수 있는지 모르겠다 그렇게해라 그러나 우리가 우리가 우리가 그 같은 URL 플래시에 게시 할 수있는 양극화를 구한다고 말하자 개는 컬렉션에 새 개를 만들고 네가 개를 지우고 싶다면 개가 어쩌면 살아있는지를 수집에서 제거하는 다른 방법은 말하지 않았을거야

그냥 보관해라 아마 어쩌면 내가 할 수 있을지 모르겠다 또는 무언가를 삭제 HTTP 메서드를 사용하여 조금 왼쪽 오보에 괜찮아 보자 특정 개를 어떻게 얻을 수 있는지에 대해 이야기하십시오 아마도 개는 ID 이름이나 뭔가 실제로 우리가 실제로 슬래시 강아지 플래시 뭔가를 사용할 수 있습니다 우리가 사용하는 경우 그 개를 식별 그래서 우리가 얻을 요청과 그 다음 우리가 얻을 수있는 한 쌍의 우리가 풋 요청을 잘 사용한다면 시민 개가 대체합니다

특정 개가 다른 개 정보와 함께있는 경우 게시물이 실제로는 아닙니다 특정 요소에 대해 특정 용도에 대해 상당히 편안한 API로 사용되며 원하는 경우 우리가 방금 삭제 메서드를 사용하여 컬렉션에서 특정 강아지를 제거하면 알 수 있습니다 이 패턴은 다른 api의 많은 것들에 의해 실제로 사용됩니다 of는 사실상 평온한 api를 만드는 방법이되었고, 만약 당신이 그것에 익숙하다면 여기 아마 당신은 당신이 전에 그것을 보았을 것입니다 당신이 그것에 대해 생각하기 시작하면 다시 한번 이것은 아마도 노드와 관련이 없을 것입니다 1 초 동안 나를 용서해주세요

그러나 API를 만드는 것에 대해 생각하기 시작하거나 사람들이 단지 고려해야한다고 생각하는 것과 같은 것이나 도구 API가 어떻게 될지 생각할 때 사용해야하는 절대적으로 그렇게 즉시 거의 마음에 오는 하나의 도구가 있습니다 내가 API로 작업 할 때마다 그것을 사용하고 그들 모두가있다 내가 사용하는 것은 우편 배달부라고하며 거기에 나머지 작업대가 있습니다 이 공구의 낱단 그러나 근본적으로 그들이하는 무엇을 그들은 당신에게 클라이언트를 준다이다 API 서버로 나머지 호출을 시뮬레이션 할 수 있으며 어떤 유형의 응답이 표시되는지 확인할 수 있습니다 get 또는 put 또는 post를 사용하여 특정 URL을 얻으면 직접 테스트 할 수도 있습니다

API 서버를 개발하고 있다면 거기에 여러 가지 일을 할 수 있습니다 이 두 가지를 클라이언트 측에서 수행하므로 테스트를 위해 완전한 웹 애플리케이션을 작성할 필요가 없습니다 귀하의 API와 다른 도구도 있습니다 그래서 모카 나 테스트 도구 같은 테스트 도구도 필요하지 않습니다 그래서 우리는 실제로 코드에 들어가서 실제로 강아지들에게 안성맞춤 인 API를 구축해라

나는 모두 흥분한다 그렇다면 우리가 할 일은 우리 스크린으로 전환 할 것이고 우리는 이 고급 유방 API를 바로 열면이 프로젝트도 내가 실제로하지 않은 것들을 제거하기 전에 실제로 표현 작가와 함께 만들어졌습니다 필요합니다 packagejson에는 우리가 필요로하는 모든 의존성이 있습니다

우리가 NPM 시작을 사용한다는 것을 기억한다면 지금 실제로 사용하지 않는 것들 NPM이 시작되는 이유는 패키지에서 지정했기 때문에 작동하는 명령입니다 JSON은 시작을 말하는 스크립트가 있고 모든 것은 노드 쓰기를 호출한다는 것입니다 제스 내 이전에 내 나쁜에 대한 패키지 JSON 밖으로 변경에 갈 수있는 그랬다면 나는 이론적으로 솔직하게 말했을 것이다 더 자세한 내용은 알고 있지만 그래 그래, 그래서 당신이 이것을 바꿀 수있는 것은 매우 간단하다

당신은 도구와 같은 다른 종류의 것들처럼 사용할 수있는 것입니다 노드 모니터링은 기본적으로 노드가 절대 이동하지 않도록하는 도구 중 하나입니다 아래쪽에 오류나 무언가가 있으면 다시 시작하지만이 반환을 사용하고 싶습니다 나는 정방향 노드 fjs를 사용하지만 NPM을 사용하여 그것을 호출 할 수있다 스크립트를 시작하고 모든 것을 시작하려면 기본적으로 API를 실행하고 실행해야합니다

우리는 실제로 앱 다이제스트로 들어가 보자 말하고있는 몇 가지 재미있는 것들이 노트 파일이므로 실제로 J의 파일에서 이것을 실행하면 Linux 나 OSX에서 실행 가능한이 앱을 만든 다음 앱 요약을 실행한다고 말하면 실제로 이것이 노드 애플리케이션이라는 것을 알게 될 것이고 그것은 우리가 얻을 수있는 방식으로 그것을 실행할 것이다 우리 모듈 종속성 그래서 우리는 HTTP를 가지고 우리는 다른 것들을 잔뜩 가지고 있고 우리는 앞의 예에서와 같이 비슷한 것을 할 것입니다 경로를 올바르게 입력해야하며이 경로에 포함 된 경로가 두 가지인지 보여 드리겠습니다 우리가 인수하는 경로는 경로이며 하나는 API 라우터입니다

앞으로 익스프레스 앱을 만들면 Xpress에 무리를 사용하도록 알릴 것입니다 진짜로 들어올 예정인 body parser JSON을 포함한 다른 미들웨어의 모든 사람들을 위해 JSON을 어디에서나 사용할 수 있기 때문에 편리합니다 JJ 's는 어디 에나 있습니다 모든 JSON JSON 모든 것 JavaScript이 모든 것이 실제로 들어올 것입니다 JSON을 다시 서버로 보내서 우리가 가고 있기 때문에 편리합니다

익스프레스가 요청한 파싱 구문을 파싱하는 방법을 알기를 원한다면 실제로 그것을 JavaScript의 객체로 변환하고 텍스트의 파일을 변환하는 것이 아니라 우리는 앱에 우리의 경로를 사용하도록 명령 할 것입니다 꼭대기에 가면 오류가 있으면 이따위 씩 다른 일들을 할 것입니다 환경이 개발중인 경우 영원히 실패한 경우 오류 메시지가 표시됩니다 프로덕션 환경에서 오류 메시지를 렌더링하지 않으면 우리 서버의 세부 작업을 공유하지 않습니다 그래서 우리는 스택 추적이 사용자에게 유출되는 것을 원하지 않습니다

우리 서버가 작동하는 방법을 알아 내야합니다 물론 포트를 설정해야합니다이 경우 환경 포트가 정상적으로 작동하지 않는다면 프로세스를 정상화하려고 노력할 것입니다 포트 3000을 사용하여 마침내 서버가 청취하도록하고 오류가 있는지 확인하십시오 이것을 듣고 나머지 부분이나 우리가 불렀던 역기능을 듣습니다

이전에 당신이 그들을 보길 원한다면, 그들은 기본적으로 당신이 알고 있다는 것을 말하고 있습니다 우리에게 약간의 유용한 오류 코드가 있습니다 오류가있는 경우 제가 놓치 겠지만 이 포트에서이 주소를 듣고 말하자면이 모든 것이 저장소에 있습니다 가는 것입니다 실제로 앱을 실행하여 실제로 보이는 것을 보여 주기만하면됩니다

처음으로이 프로그램을 실행하는 경우 지금처럼 12 단계로 가고 싶습니다 폴더가 있고 NPM을 설치하여 모든 패키지를 가지고 있는지 확인해야합니다 당신이 필요로하는 것이고이 경우에 나는 그것을 할 것입니다 거기서 일하고있는 일하고있는 일하는 것은 그것이있다 그리고 내가 NPM 출발을 기억하고 있으면 이제 끝난다

메모를 실행해야합니다 포드 예 그리고 그것은 우리가 가서 네가 가서 포트에서 수신 말한다 3000 지금은 내가 여기에 내 브라우저에 가서 내가 말 안녕하세요 노드 3000 안녕하세요 세계 작동하는 경우 예 물론 지금은 우리가 기록 할 때 지정했던 기본 엔진이 없습니다 우리가 기본적으로 노드에게 hey가 날짜를 사용하지 않는다고 말하면 무엇이든 사용하지 않는다 우리가 사용하려고하는 것은 모두 JSON이므로 괜찮습니다 재부팅 할 것입니다

이 오류를 제거하여 화면을 깨끗하게 유지할 수 있습니다 내가 당신에게 보여 줄 것입니다 그래서 우리가 그 인덱스를 실제로 쳤을 때를 대비 해서요 그게 전부 인 것처럼 보이는데 그냥 세상을 보냅니다 그 이유는 불평하는 이유입니다

템플릿이 없다는 것을 모릅니다 그래야 할 일이 없지만 항상 말했습니다 안녕하세요, 우리가보고 싶은 API는 실제로 API입니다 우리는 표준 라우터를 통해 익스프레스를 가지고 있습니다 개 여기 지금 일반적으로 당신이 개발하는 파일에 데이터를 넣고 싶지 않아하지만 여기에 우리의 예를 들어 우리가하기를 원하지 않기 때문에 우리가하려고하는 것은 데이터베이스에 연결하십시오

실제로는 다음 모듈에서 우리가 그 모습을 보일 것입니다 아니, 그리고 지금은 개 무리를 포함하기 위해 개 배열을 사용하려고합니다 객체는 괜찮아요 각 객체에는 개가있는 개 ID가 있습니다 이름 생강 어쩌면 당신도 알다시피 루비의 내 강아지도 거기에 다른 강아지의 무리와 우리가하고 싶은 첫 번째 일을 구현하지 않는 이유는 아마도 모든 개를 바로 잡아라

그 모든 데이터가 내게 그 모든 것을 제공한다 우리는 형제 양동이를 추가 할거야 플래시 개는 괜찮아 그럼 우리는 그게 다야 진짜 간단해질 것입니다

우리는 JSON detox로 바로 응답 할 것입니다 이 개 배열 바로 지금 당신이 당신이 아마 데이터베이스로 이것을하고 있다면 응답하기 전에 데이터베이스에서 무언가를 얻으려고하거나 심지어 쿼리를 필터링 할 수도 있습니다 또는 파일이나 무엇이든 사진이나 비디오를 읽는 경우 어떤 종류 또는 심지어 읽기만합니다 스트림 또는 어떤 일을하고 싶다면 그 API 요청에 응답하십시오 하지만 우리의 경우 개는 이미 파일에 있습니다

바로 사용할 수있는 변수입니다 그래서 JSON에 응답 할 때 나는 개를 주겠다 이 배열을 JSON으로 변환하려고합니다 이제 브라우저로 돌아가서 개를 입력하면됩니다 잘 정정한다 나는 API 슬래시 개를 입력한다

당신은 그 API를 가지고있다 우리는 JSON을 타입 애플리케이션 슬래시로 반환한다는 것을 두 번 확인할 수도 있습니다 jQuery와 다른 모든 라이브러리가 모든 사람들이 좋아하는 것을 기대하는 것입니다 그래서 우리가하기를 원하는 다음 일은 매우 간단했습니다 특정 개를 바로 잡으십시오

그래서 여기가 조금 더 복잡해집니다 같은 유형의 제품은 괜찮습니다하지만이 새로운 개념의 콜론 알았어 ID와 이것이 의미하는 것은 그것이 무엇이 올 것인가? docs를 URL에 넣고 ID라는 매개 변수로 설정하면 오른쪽에 아무 것도 표시되지 않습니다 전체 매개 변수는 해당 매개 변수 내에서만 볼 수 있습니다 더 추가하고 싶다면 입력 한 다음 추가로 추가 할 수도 있습니다

개는 특정한 고리 또는 무언가를 가지고 있으며 고리는 또한 어떤 종류의 ID를 가지고 있습니다 아마도 당신은 아마 당신이 아마 발신자 ID를 부르기를 원 하시겠습니까? 이 두 매개 변수를 넣으면 URL에서 제대로 가져올 것입니다 이제 우리는이 예제를 위해 그것을하지 않을 것입니다 우리는 그것을 간단하게 유지할 것입니다 그것은 굉장합니다

왜냐하면 우리가 과거에 가서 그 물건들을 모두 파싱해야했기 때문에 나는 여기있을거야 오, 여기 승무원 캐릭터가 얼마나 많은 것들을 가지고 있는지 우리는 여전히 우리가 가지고있는 것처럼 말입니다 그렇게하려면 라우팅을 알고 있어야합니다 정말 간단합니다 맞습니다

음, 다시 말하면 당신이 맞습니다 예 다시 한 번 더 예 [웃음] 괜찮아요 멋진 작은 작은 날개가이긴 것 같아요

이것 좀보세요 내가 원하는 배열을 가지고 있기 때문에 실제로 배열을 반복하고 싶다 개가 ID로 일치하는 개가 있는지 확인하고 데이터베이스에서이 작업을 수행하고 있는지 확인하십시오 당신은 실제로 우리의 경우에 적절한 적절한 질의를 할 수있는 선택 자나 그 밖의 것들을 사용할 수있다 우리는 배열을 반복하면서 for 루프를 사용할 것입니다

이 변수를 만들면 I가 0이되고 변수 dog를 만들려고합니다 먼저 발견 한 개를 포함하기 위해 우리는 찾지 못하는 경우를 대비하여 null로 설정합니다 우리가 강아지를 통해 반복 할 것입니다 개가 있습니다 그래서 우리는 할 일이 있습니다

당신이 알고있는 표준은 매번 1 씩 증가합니다 그렇다면 if 문을 수행 할 것입니다 그 말이 0에서 시작하는이 지수에서이 개가 분명히 개가 있는지 알아 본다면 ID와이 요청 매개 변수가 일치하면 ID 필드가 무엇을 할 것인가입니다 익스프레스가이 URL을 구문 분석하여 URL에서 ID를 가져 와서 params에 넣을 것입니다 알았어

그리고 그 이름을 ID 변수 인 사촌으로 사용할 수있게 만들거야 우리는 개 ID를이 ID와 비교할 때 강아지 ID를 비교하면 그 ID가 일치합니다 개는 우리가 찾고있는 성공 예를 클릭하고 우리는 그 개를 넥타이로 설정하려고합니다 이 개 변수에 우리는 현재 루프에서 빠져 나옵니다 물론 매우 간단합니다

예를 들어 우리의 배열은 당신이 알고있는 곳 어디에서나 고유 한 ID를 알고 있다고 가정하고 있습니다 느낌은 우리가 완벽하다고 가정하는 완벽한 작품은 아주 간단한 예제를 제공합니다 실제 쿼리 엔진에서 실제 데이터베이스를 사용하지 마십시오 모든 것을 검사하는 모든 오류를 수행하십시오 유효성 검사를 주문하려면 ID가 실제로 숫자인지 확인해야합니다

문자의 오른쪽 임의의 임의의 문자열 또는 네가이 작업을 수행하는 데 필요한 모든 것 우리 예제의 경우에 우리는 이것이 완벽하다고 가정 할 것입니다 우리가 할 일은 개가 우리를 찾으면 괜찮아요 null과 같지 않지만, 그렇다면 지금과 같지 않은 것입니다 이 루프는 중단 또는 루프의 끝까지 도달하여 완료됩니다 특정 개가있는 JSON으로 응답하는 것이 좋습니다

그렇지 않으면 응답 할 것입니다 JSON과 함께 우리가 개를 찾지 못했기 때문에 내가 다시 들어가면 내 브라우저와 나는 이봐, 내 개가 우리가 원하는 루비 거기에 우리가 가서 특정 JSON 객체가 실제로 배열을 반환하기 전에 살펴 본다면 그렇게 할 수 있습니다 괜찮아요 11시 30 분 같은 상태로 해보려한다면 어떨까요? 네가 외치는 개를 찾지 못했어 모든 경찰이 잘못한거야 괜찮아 다시 우리는 실제로 생강을 얻습니다

JSON이 아닌 모든 책임감있는 애플리케이션입니다 당신이 처음에 바로 볼 수 있도록 우리는 여전히 천천히이 API를 구축하고 있습니다 이미 시민 소에 도착한 소장품을 구하러 가자 이제 보자 우리가 실제로 물건을 게시 할 수있는 방법 오, 예

좋아요 우리가 정면을 만들지 않으면 약간의 다른 도구가 필요합니다 끝내고 jQuery를 사용하여 우리가 즉시 게시 할 수없는 뭔가를 게시하십시오 내가하고 싶은 첫 번째 일은 아마 새로운 개를 게시하는 것입니다 나는 컬렉션에 새로운 개가 있습니다

코드가 실제로 어떻게 빌드되는지 보도록하겠습니다 doc의 mm-hm을 얻으십시오 우리는이 URL을 사용하게 될 것입니다 콜렉션에 게시하기 위해 우리는이 문서에서와 같은 국수를 가질 것입니다 여기에 우리가 할 일은 개 배열을 택할 것이고 우리는 이 새로운 개를 추가하려고합니다

우리는 검증을하지 않았기 때문에 추측 할 것입니다 여기서는 JSON 객체를 실제로 보내고 있다고 가정합니다 개 ID와 개 이름이 들어 있습니다 예를 들어 요청의 본문에 가정이 많이 있습니다 예, 그렇습니다

API의 유효성을 확인하지 않으 셨으면합니다 사람들은 웹상의 사람들이 가끔씩 적절하기 때문에 적절한 물건을 보내야합니다 그들은 API를 테스트하는 것을 좋아합니다 예 예

예 예 당신을 만질 수 있습니다 베이시스트와 데이터베이스가 너무 조심스럽게 실제로 이것을 어떻게하는지 확인하십시오 해당 요청에 본문이있는 JSON 개체가 포함되어 있는지 확인하고 우리는 이것을 가지고 배열에 곧바로 밀어 넣고 상태 200으로 돌아갈 수 있습니다

좋아, 모든 것이 다 좋다 지금 API에 개를 추가하여 컬렉션에 추가 할 수있다 실제로 브라우저를 전환 할 예정이며 실제로 Chrome으로 전환 할 예정이므로 실제로 우편 배달부와 함께하는 방법을 보여줍니다 내가 좋아하는 도구 중 하나입니다 물론 제가 실제로 시작하기 전에 실제로 우편 배달부를 설치하지 않았습니다

가게에 곧바로 간다 크롬에 추가한다 앱에 들어가기를 기다립니다 우편 배달부가 있어야합니다 실제로 다른 정보가 있습니다

클라이언트는 사전 휴식 클라이언트를 호출했습니다 대신에 이미 사용 중입니다 그래서 우리가 로컬 API를 가지고 있다고 가정 해 봅시다 우리가 개를 바로 가고 싶다고 말할 수 있습니다 JSON 형식을주고 싶습니다

개 ID로 전달하십시오 우리는 이미 우리 시스템에 존재하지 않는 새로운 ID를 이미 5 개를 부여 할 것입니다 개 이름 당신이 개를 가장 좋아하는 Brutus라고 부르고 싶니? 당신의 개 이름에 약간을 끄십시오 좋아 좋아 좋아 이렇게 나가 보내는 경우에 좋아 그리고 나는 다만 필요로한다 우리가 실제로 3 천건이 달리고 있다는 것을 다시 한번 확인하고 여기 우리는 우리의 API slash dog을 가지고 있습니다 만약 우리가 요청한 머리를 놓칠 수 없다면 괜찮아요 실제로 우리는 뭔가 잘못 했어요

실제로 우리가 헤더에 넣었습니다 그것은 늪지에 거기에 그래, 그래서 지금 내가 그것을 보낼 경우 voila 200 ok 상태가 모두 좋다 지금은 내가 실제로 돌아가서 같은 URL에 도착하면 괜찮아요 돌려 보내야합니다 모든 개 이상의 모든 그래서 나는 그것을 눌러 거기 Brutus 예 맞아 그래, 그래, 그래 그래서 우리는 여기서 우리가 십대 실수를 저지른 것을 보았습니다 문자열은 잘못된 것이지만 괜찮습니다

실제로 삽입되었습니다 우리의 우물로 그것은 단지 우리의 요점을 되 찾으러 간다 정확히 무슨 일이 있어도 나에게 큰 일을 한 우편 배달부와 다시 이렇게하면 할 수있는 일을하고 싶다라고 말하고 싶다 나는 완전히 새로운 개 수집을 만들고 싶었다 괜찮 았어 내가 풋을하고 싶었고, 실제로 그게 보이는 것을 보여 주기로했다

코드에서 첫 번째로 넣는 것은 바로 여기에 있습니다 우리가 할 일은 put 우편 대신 네가 우리가 인쇄 할 모든 개를 얻을거야 그냥 funsies 그 시체를 누른 다음 예 그냥 재미있는 친구가 더 재미로가는 말을 했어 이전에 푸시를 사용하여 본문을 추가하는 것보다 더 재미있게하기 위해 푸시 기능을 사용하는 권리는 실제로 전체 문서를 완전히 올바르게 설정할 것입니다 그래서 우리는 당신이 우리가 이것을 실제로 올바르게 수행했다는 것을 알고 있다고 생각할 것입니다

그래서 나는 가고 있습니다 내가 원래 가지고 있던 것을 실제로 복사함으로써 그렇게 할 수 있습니다 우편 배달부에 들어갈 수 있습니다 괜찮은 곳으로 옮겨 놓을 곳을 말해줘 괜찮아

그리고 내가 친구를 가질 수 없도록 이걸 바꿀거야 2 마리의 개 지금 내가 이것을 보낼 경우 그것은 괜찮다 나는 계속 나아 간다 URL 그것은 단지 두 개를 넣어야 엄마와 진실은 정말 작동합니다 나는 너무 많이 박수를 사랑한다 우리가 천천히이 모듈의 끝까지 도달했기 때문에 내가 보여주고 싶은 마지막 물건 당신이 모든 개를 제거하고 싶다면 컬렉션에서 실제로 개를 제거하는 방법입니다

전체 URL에서 delete를 호출 할 수 있지만 먼저 수행 할 작업은 remove 특정 개 괜찮아 그래서 우리는 당신이 hmm을 삭제하려면 배열을 재설정됩니다 삭제 삭제 특정 개는 우리가 실제로했던 것과 매우 비슷한 것을합니다 cific dog하지만 우리 사건에서 우리가 그 배열로부터 splice하고자하는 ID에서 그것을 발견하면 우리가 배열에서 그 핵심 요소를 제거하고 거기에 다른 개들을 지키면 돌아 오지 않는 경우 무언가를 찾지 못하면 200을 반환합니다 성명서는 상태 404를 찾지 못할 것입니다 그래서 제가 계속 나아가면 제거하겠습니다 우리집에서 나온이 개는 어쩌면 개 20 찾아 낼 수 없습니다

그래서 우리는 말할 것입니다 그게 옳지 않다는 것을 알았어 나는 지금 개 제로라고 말하지 오, 좋아, 찾았 어 만약 내가 앞으로 나아가서 모든 개를 얻지 않거나 개를 0으로 만들려고한다면 말하지 않는다고 말하지 말라

그러나 내가 모든 개를 얻으면 그것은 노력하고있는 마지막 개 루비를 돌려 줄 것이다 모든 컬렉션을 제거하려면 괜찮아요 괜찮습니다 제대로 돌아가서 모든 개를 얻으려고하면 빈 아를 돌려 주겠다 너무 슬프다

성공한 API는 무엇입니까? 예, 그렇습니다 당신이 일하고 있을지도 모르는 것에 대한 API를 만드는 것 데이터베이스 또는 당신은 어쩌면 어쩌면 당신이 가장 최신의 것들을 얻었는지 안다 사람들이 트위터에 올렸고 데이터베이스 나 내가 모르는 어떤 것에서 그들을 구할 수 있었지만 아마도 당신은 그 모든 종류의 물건을 가져 오는 아이디어라는 것을 알고 있습니다 이 프로젝트를 끝내기 전에 항상 많은 프로젝트에 참여하고이 모든 작업을 올바르게 수행합니다 모듈은 10 초 안에 실제로 우리는 모든 개를 돌려 놓을 것입니다

나를 기분 좋게 해줄거야 200 네 그렇게한다면, 이미 거기서 정말 걱정 스럽네 순간 우리가 너무 이상해지기 때문에 나는 그것이 잘될 것임을 알았지 만 나는 걱정 스러웠다 내가 너처럼 옳은 것 같지 않은 개를 지우는 것 같아서 그래서 우리는 그들 모두를 되돌려 놓았습니다

다시 행복해질 것입니다 그래서 우리는 세 가지 성공을했습니다 데모 하나는 75 % 나 나쁘지 않았어로드 트렉 그래, 나쁘지는 않아 근사 하네

끝내 주네 그래서 여기에 우리가 가지고있는 몇 가지 리소스가 있습니다 우리가 너에게 보여준 것과 너를 조금 더 멀리 시작해서 우리가 말했을 때 말야 익스프레스 프레임 워크에 관해서 당신은 단지 그것을 읽고 나가고 싶다 그것에 대해 당신은 다시 4 버전과 비슷합니다

이제부터는 3 개 또는 4 개가 가장 기본적인 Express로 본 첫 번째 예였습니다 마지막으로 우리가 본 모든 사례는 표현 핵심이었고 Express J 템플릿 소개 목록에있는 훌륭한 튜토리얼 가서 이런 것들을 찾아보고 우리가하지 않은 템플릿을 이해해야합니다 우리가 프론트 엔드에 대해 이야기하기 시작할 때 우리가 잘 템플릿 화하는 것을 너무 많이지나칩니다 좀 더 자세히 설명해 드리며 Java Script의 기초를 설명합니다 그리고 Jade templating은 SlideShare에서 알기에 정말 좋은 기회입니다

당신도 잘 따라 잡고 다음 모듈을 위해 계속 지켜봐 주시기 바랍니다 다시 돌아올거야 환영합니다 우리는 세 번째 모듈에 있습니다 비쥬얼 코드와 노드가 약간 혀를 벗어났다

예전 비디오 코드를 좋아하지 않아서 우리는 데이터베이스 작업에 대해 이야기 할 것입니다 예를 들어 Mongo와 같은 데이터베이스 작업 방법에 대한 몇 가지 예를 살펴 보겠습니다 네, 그렇습니다 마지막 모듈 2에서 기억한다면, 우리가 그것을 지켜 보았다면 우리는 빌드하는 법을 보여 줬습니다 REST API와 왜 우리가 몇 번 언급했는지 알아야 할 것 같은데요

기억에있는 배열에 물건을 쓰지 않을 것입니다 데이터베이스 당신은 당신이 얻었을 수도있는 것들을 확인합니다 그래서 저는이 모듈에서 우리가합니다 서로 다른 웹 사이트에 대한 데이터를 논의 할 것입니다 데이터 기반 웹 사이트의 구성 요소 예를 들어 MongoDB를 사용하는 방법을 보여 드리겠습니다

노드 커뮤니티를위한 매우 유명한 노드 커뮤니티 유명 인사 예 유명한 유명인 데이터베이스는 스택의 전체 개념이며 M은 몽고입니다 부분은 Express 부분입니다 각도를 바꾸거나 다른 웹 프레임 워크를 사용하면됩니다 다른 프레임 워크의 글자지만, 그것이 유일한 것이라고 생각하기 때문에 의미라고합니다 그리고 나서 n은 바로 노드 부분입니다

그래서 우리는 약간의 Mongo와 우리가 당신을 보여줄 것입니다 Mamo에 저장하는 방법 MongoDB 클라이언트를 사용하고 있습니다 우리는 실제로 몽구스를 사용하지 않을 것입니다 슬라이드에는 약간의 버그가 있지만 문제는 아닙니다 그래서 시작하지 않으시겠습니까? 데이터 중심의 웹 사이트에 대해 조금 이야기 해보십시오

웹 사이트 그래서 본질적으로 이것은 주로 웹 사이트 또는 웹 앱입니다 당신이 원하는 어떤 유형의 물건을 구입 한 것처럼 데이터 상호 작용에 의해 바로 모든 것을 만들려면 아마 어딘가에 그것을 저장하고 나서 당신은 베테랑이되고 싶습니다 추상적 인 사물이 아니라 사물이 아니라 추상적 인 것처럼 우리가하지 않기 때문에 그게 옳다는 걸 알아라 나는 그럴 수 있을지 모르겠다 그래, 그 블로그를 말해 보자

좋아요 예를 들면, 그들은 블로그가 될 수있는 웹 사이트를 운영합니다 당신은 그 웹 사이트에서 물건을 읽을 수있는 다른 사람들이 있으므로 읽기 작업이 있습니다 우리가 블로그 포스트를 쓰고있는 것처럼 의미있는 쓰기 작업이 있습니다 어딘가에 읽혀질 데이터베이스에 대해서도 마찬가지로 업데이트를 삭제할 수 있습니다

그래서 다른 웹 사이트는 이것이 웹 사이트와 웹 앱의 원인이라는 개념입니다 데이터 및 데이터 작업이 대부분 오른쪽에서 이루어 지므로 대부분 생각하면 인터넷에있는 것들은 지금 내가 좋아하는 것과 같은 종류의 데이터에 의해 구동됩니다 거기에 정적 HTML의 아이디어는 정적 HTML은 확실하지만 그것은 당신이 좋아하지 않는 것들 중 하나입니다 예, 대부분의 것들이 데이터 구동입니다 예, 그렇 습니다

HTML에 실제로 모든 것을 직접 쓰지 않아도됩니다 데이터베이스에 있고 해당 데이터베이스에서 읽는 응용 프로그램 계층이 있으며 그것은 HTML에 그것을 당신을 위해 화면에 놓습니다 그래서 정확히 마술처럼 그래 지금은 물론 다른 웹 사이트입니다 왜냐하면 이런 종류의 포괄적 인 용어이기 때문입니다 실제로 데이터 중심 웹 사이트라는 의미에서 실제로 조금 더 나아갔습니다 더 이상 데이터 부분이 더 이상 백엔드에서 수행되지 않습니다

대부분 프론트 엔드에서 수행됩니다 매우 복잡한 프런트 엔드처럼 우리가 알고있는 단일 페이지 응용 프로그램과 함께 아마 각도 또는 일부 다른 웹 프레임 워크를 사용하여 매우 가벼운 표현을 위해 연결됩니다 백엔드의 프레임 워크는 데이터베이스에 오른쪽으로 연결 한 다음 바로 연결합니다 우리에게 의미있는 스택의 개념을 가져다주는 것은 몽고 익스프레스 앵귤러와 노드 플 랜트 충돌 Microsoft Virtual Academy의 리소스에 대해 각도 MBAs 그래 몇 가지 각도의 단 하나의 페이지 응용 프로그램을 나는 누군가를 알고있어 평균 스택에 대한 훌륭한 소개를 했으므로 많은 리소스가 있습니다 거기에 물론 그래, 나는 또한 Mongo MBA를했습니다

그래서 더 깊게 가고 싶다면 우리가이 모듈에서하는 것보다 Mongo에 넣고 싶다면 원하는 부분을 원할 수 있습니다 밖으로 전부 그러나 이것은 전체적으로 본질적으로 우리가하려고하는 것은 메모로 만들려고 노력하는 것입니다 결국 Mongo를 다른 데이터베이스들로 대체 할 수 있습니다 문서 DB는 훌륭한 주소 기술입니다 그래서 평균 스택 의미 스택을 사랑해

예를 들어 우리는 고전적인 평균 스택을 고려해 보겠습니다 그것은 고전적인 것이 아닙니다 그 이유는 그것이 매우 인기가 있었던 것이기 때문입니다 아니, 실제로는 그렇게 오래된 것은 아니기 때문에 실제로는 상당히 새로운 기술입니다 아홉 아홉 어쨌든 우리는 MongoDB가 무엇인지 알아보고 왜 우리의 첫 번째 그래서 우리의 첫 번째 내 생각에 모듈은 엄마가되어야하고 우리가 이야기하고 싶은 첫 번째 것입니다

사실 Mongo는 네가 속편 데이터베이스가 아닌 네가있는 데이터베이스의 유형이다 재미있는 네, 그냥 많은 사람들처럼 마음을 그냥 푸시 예처럼 이동하십시오 그래, 아마도 당신은 오래 전에 경험 비디오를 가지고 있었고 대부분은 데이터베이스였습니다 관계형 테이블에 대한이 아이디어를 중심으로 해결됨 관련 테이블 하나가있었습니다 다른 데이터 테이블로 바로 연결하면 거의 연결되지 않았습니다

한 열에서 다른 열의 행을 통해 임명 된 키 내가 네가 내 가운데로 데려 가기를 원하는 것처럼 그들은이 테이블에서 열쇠를 가져다가 이걸 넣는다 테이블하지만 그래,이 인물들이 실제로 어떤 식 으로든 서로 다른 엘레멘트 하지만 데이터베이스 시스템이 어떻게 작동했는지에 따라 분리되어 있습니다 물론 지금은 모두 수학적 이론을 바탕으로 이론을 토대로하고 조인과 같은 방법이있었습니다 데이터를 하나로 모으고 지난 몇 달 동안 무슨 일이 일어 났는지 어쩌면 3 년 4 년이라는 뜻의 갈망조차도 이제는 개발자들이 깨닫기 시작했습니다 웹상에서 우리가 실제로 사용하고있는 대부분의 데이터가 실제로 실제로 잘 전달되고 있습니다

같은 페이지에 앉아 있습니다 그렇다면 왜 우리는 여러 가지 쿼리를해야만 우리가 한 페이지에 한 페이지에 모든 것을 저장할 수있을 때 다른 데이터 조각 그때 나는 이것이 문서 데이터베이스에 대한이 아이디어의 등장으로 이어졌습니다 그것은 속편 일뿐만 아니라 다른 유형의 질의였던 속편 데이터베이스 당신이 할 수있는 일은 속편 데이터베이스가 없다는 생각에 우리를 데려 오는 것입니다 Mongo는 문서 데이터베이스이지만, 당연히 다른 것들도 있습니다 그래프 데이터베이스 – 데이터베이스와 다른 많은 것들이 이제는 문서 세계 안에 있습니다 우리가 오늘 얘기하고 어두운 곳으로 천천히 들어가는 것입니다

우리는 사실 거기에 실제로있는 몇 가지 사실이 있습니다 MongoDB Couchbase가 있습니다 Haseop 기반의 HBase가 있습니다 Cassandra가 있습니다 그렇다면 당신은 그것에 대해 생각해보십시오

Azure에서 실제로 작동하는 커플이 있습니다 그래서 원한다면 확장 성이 뛰어난 문서 데이터베이스를 원한다고해도 Mongo Air의 빠른 호스팅 솔루션 정말 훌륭한 문서 DB가 있으며 본질적으로 모두가 공통으로 제공합니다 이것은 점유자 기반 API 또는 객체 지향 API에 대한 아이디어입니다 모두이 문서 III에 주어 졌으므로 블로그를 가지고있을 때 블로그 게시물을 작성한 사람과 게시물을 작성한 사람의 사용자 정보가있을 수 있습니다 사용자가 하나의 테이블에 대해 하나의 테이블처럼 서로 다른 두 개의 위치에 두는 대신 블로그 행에 이것을 위해 당신은 블로그 게시물과 같을 것입니다

그 자체가 사용자 정보를 가지고 있지만 게시 자체와 어쩌면 같은 주석으로 문서 예, 그렇습니다 데이터가 많고 데이터베이스가 거대하고 정보의 테라 바이트 당신이 원하지 않는 기가 바이트의 정보 이 모든 다른 쿼리를 제대로 수행하려면 이상적으로 모든 것이 비정규 화 된 것과 같은 장소에 놓이기를 원하므로 당신이 얻을 수있는 하나의 문서처럼 하나의 파도가 없어야합니다 대용량의 데이터이며 확장이 가능하며 본질적으로 주요 설계 우리의 유스 케이스 때문에 우리는 실제로 더 작게 유지할 것입니다 너무 많이 일하지는 않지만 데이터는 기가 바이트입니다 체크 아웃하면 좋아할 것입니다

Mongo MVA는 Mongo DB에 큰 데이터 세트를로드하고 일부 MapReduce 쿼리를 수행합니다 그 NBA에서 당신은 그것을 확인하고 싶습니다하지만 오늘 우리를 위해서 우리는 그것을 조금 유지할 것입니다 이제는 MongoDB를 사용하여 조금 더 간단합니다 어떻게 실제로 사용할 수 있습니까? 먼저 인스턴스를 시작하기 위해 MongoDB 인스턴스를 생성하는 데 필요한 모든 것을 생성하십시오 네가 원한다면 네가 할 수있는 다른 방법이있어

마운트에 가거나 심지어 Azure를 사용하지 않는다면 Mongo에 가면됩니다 HQ 또는 Mongo 연구실에서는 큰 모형 실험실에서 Hmong을 많이 사용할 수 있습니다 나는 그것을 시험해 보았고, 나는 이런 식으로 일하는 것이 아주 쉽다 당신에게 노출 된 것은 당신에게 당신이 예 또는 우리가하고자하는 것에 연결하는 RI를 제공합니다 우리 머신에 로컬로 실행 시켜서 ~에 연결하지 않아도됩니다

인터넷을 통해 우리의 로컬 컴퓨터에서 모든 것을 실행할 수 있지만 여기에는 여러 가지 방법이 있습니다 MongoDB를 사용할 수 있습니다 예, 아마도 당신이하고 싶은 일은 Mongo가 여러분 컴퓨터에 있어야 이상적으로 실제로 MongoDB 설치를 다운로드하고 싶습니다 Windows의 경우 여기에 있으며 서비스로 설치할 수 있으므로 실제로 시작할 수 있습니다 Windows 서비스로서 내가 대신 할 것은 내가 실제로 그것을 실행할 것입니다 Mongo daemon을 호출하면 서버를 시작할 것입니다

데이터를 데이터베이스 경로로 지정하여 실제로 데이터가 실제로 저장되는 위치와 지금 당장은 실제로 화면에 표시됩니다 화면을 정리하면됩니다 조금 더 명확하게 몽고 DB 서버 슬래시 30 플래시 빈 폴더에 실제로 있어요 내가보기에 여러 도구들이 포함되어있다면 Mongo는 exe와 같습니다

Mongo에 연결하기 위해이 클라이언트를 사용할 수있는 클라이언트가 무엇인지 정말 멋집니다 모든 자바 스크립트를 사용합니다 그렇기 때문에 많은 스크립트 중 하나입니다 평균 스택에 대한 공통점은 자바 스크립트와 JSON이 주요 데이터 형식이지만 실제로는 MongoDB에 물건을 저장할 때마다 JSON을 사용하고 있습니다 그래, 그래서 당신의 문서는 JSON으로 표현됩니다

지금 내가하고 싶은 것은 우리가 실제로 Mongo D라는 대몬을 실행하고 싶습니다 그렇게한다면 괜찮을 것입니다 기본적으로 기본 데이터 경로는 슬래시 (lochte) 데이터를 사용합니다 B가 시작될 것입니다 그것은 실행되고 있다고 말하며, 물건을 집어 들고 할당하는 것입니다

기억과 모든 것들이 잔뜩 있지만이 시점에 도달하면 연결을 기다리는 것을 말하는 것입니다 기본적으로 실행 중이며 오른쪽에 연결될 무언가를 기다리고 있음을 의미합니다 그래서 우리가 가지고있는 바이너리의 일부를 살펴 보도록하자 이 슬라이드 우리는 Mongo D를 데이터베이스 프로세스였습니다 Mongo the D없이 CLI는 모든 권리를 보았고 연결에 사용하는 끝은 어떤 콜렉션인지 확인합니다 바로 거기에 몽고 수입이라는 정말 멋진 도구가 있습니다

Mongo MVA에있는 많은 정보를 가지고 실제로 여러 데이터를로드 할 수 있습니다 언급 된 것들이 있습니다 그러나 실제로 문서가 어떻게 표현되어 있습니까? 데이터베이스 내에서 이것은 본질적으로 MongoDB의 일부 트리처럼 보입니다 서버에는 여러 데이터베이스가 있으므로 0에서 n만큼 많은 데이터베이스를 사용할 수 있습니다 불행히도 스토리지와 같이 만난 많은 데이터베이스가 필요합니다

예, 스피커는 제한적이기 때문에 거기에 데이터베이스를 가질 수 있습니다 데이터베이스는 원하는만큼 많은 콜 콜렉션을 가질 수 있습니다 모든 문서를 올바르게 배치하는 곳입니다 데이터베이스가있는 일반적인 관계형 데이터베이스와 조금 다릅니다 안에있는 표는 네가 수집 한 것과 같다

데이터베이스 수집 문서 서로 다른 컬렉션의 아이디어는 서로 다른 사람들이 포함되어있는 것과 같습니다 마치 개체 도메인 아이디어와 같이 생각하면 다른 컬렉션과 같습니다 당신이 장소의 수집을 가지고 있을지도 모르는 다른 물건 또는 아마 그것은 blog의 수집이다 옷이나 그런 종류의 물건들 그러나 당신은 모든 수집품들이 반드시 상호 관련성이 있으며 때로는 그들 사이에 중복 데이터가 포함될 수도 있습니다 당신이하고있는 일에 대해, 그것은 당신이 문서 기반으로 할 때의 일 중 하나입니다

그것은 조금 다르다 그리고 당신은 당신이 가지고있는 물건에 대해 생각하는 것에 익숙해있다 조금 쯤이면 당신의 생각이 바뀌 었습니다 당신은 맞았습니다 그리고 그것은 재미있었습니다

때때로 의미있는 점을 지적하십시오 때로는 거기에 관계형이 있습니다 특히 규모에 맞춰 성능상의 이유로 데이터를 복제하십시오 다른 컬렉션의 다른 것들도 가리 키기를 원할 것입니다 Mongoose라는 위대한 모듈이 있다는 것을 알고 사용하기 쉽습니다

우리의 컬렉션이 안정적인 컬렉션이 아니기 때문에 Mongo 테이블과 컬렉션 사이의 이러한 관계 오늘까지 다루지는 않겠지 만 MongoDB 클라이언트를 사용하는 방법을 보여줄 것입니다 노드에서 Mongo로 연결하여 실제로 저장 및 쓰기 및 업데이트 및 삭제 데이터 모든 좋은 것들 모두 좋은 물건을 지금 당장 호기심 있다면 어떻게 할 수있는 몇 가지 테스트 데이터를로드합니다 Mongo를 사용하여 이미 많은 JSON 파일을 가지고 있다고 가정 해 봅시다 가져 오기를 사용하면 CSV 또는 JSON 파일에서 대량 데이터를로드 할 수 있으며 솔직히 말해서 가장 빠릅니다 한 줄의 코드를 작성하지 않고도 MongoDB에 데이터를로드하는 방법 한 서버에 데이터가 있고 별도의 서버 또는 생산과 같은 것을 알고 있다면 그리고 dev와 당신이 알고있는 것을 업데이트해야합니다 이것이 당신이 항상 가질 필요가있는 초기 데이터 세트라면 필요한 경우 가야합니다

당신은 당신의 지리적 인 geography 웹 사이트가 세계의 모든 나라의 목록처럼 알고 있습니다 또는 데이터를 사용할 수 없기 때문에 배고픈 임포트를 사용하고 싶습니다 적어도 그 변화는 자주 바뀌지 않습니다 사실 그것은 제가 좋아하는 것을 가져 왔습니다 몽고에 관한 것들은 내가 지닌 지리 공간적인 것들이다

많은 사람들이 라틴어 경도와 비슷한 능력을 알고 있습니다 당신을 위해 바로 물건을 사 드리십시오 그리고 당신은 당신이 가깝게 말 그대로 저에게 가까이 다가가라고 말합니다 이 X 근처에서 나에게 줘 그러면 너를 위해 그 모든 것들을 할거야

정말 대단해 정말 멋진 지형 기능 및 다른 문서와 키 값을 설정할 수 있습니다 지리적 특수하거나 옙하지 않을 수있는 속성은 실제로 그것은 정말 멋진 기능이므로 예 대화식 쉘 데모를 조금만 드리고 실제로 내가 할 일을 해보 죠 내가 멋진 정보를 담고있는 github 페이지를 가리 키도록하겠습니다 그리고 물론 그것은 404라고 불립니다 Doros를 결코 해보지 않았습니다

그래서 영웅은 제 파트너입니다 우리는 Mongo MBA를했고 여기에 많은 것을 담은 훌륭한 저장소가 있습니다 멋진 것들과 그들 중 하나는 모듈 식 시작이며 그는 훌륭한 것들을 가지고 있습니다 대화 형 셸에서 우리는 여러 가지 일을 정말 빨리 처리 할 것입니다 여기 있지만 당신이 할 수있는 다른 것들에 대해 더 많은 정보를 얻고 싶다면 여기 쉘은 갈 수있는 좋은 곳입니다

심지어 쿼리와 같은 것을 직접 다루기까지합니다 꽤 멋진 쉘에서부터 컬렉션을 보여주고 싶다고합시다 데이터베이스 내가 연결되어있는 Mongo의 명령 프롬프트 유형을 열 수 있습니다 테스트 데이터베이스에 내가 DB를 어떻게 보여줄지 모르겠다 우리는 이미 테스트 용 TV에 있지만 컬렉션을 보여줄 수 있고 컬렉션이 없습니다

이것은 새로운 데이터베이스이기 때문에 컬렉션이나 컬렉션을 추가하고 싶다고합시다 우리의 경우에는 이미 하나가 있고 우리는 DB를 할 수있는 무언가를 찾고 싶습니다 콜렉션의 이름은 이것과 같은 것을 리턴하고 실제로 실제로 데이터를 입력하기 시작할 때 대화 형 쿼리로 조금 더 플레이하십시오 Mongo 데이터베이스에 추가 할 수 있지만이 쿼리는 사용할 수 있으며 DVD처럼 컬렉션을 할 수있는 모든 다른 것들을 보여주는 도움말과 같은 도구 당신은 데이터베이스에 액세스 할 수있는 사용자를 표시 할 수 있습니다 예 로그에는 로그가 있습니다

예를 들어 콜렉션에서 실제로 오브젝트를 나열하는 방법과 같은 훌륭한 다른 것들 foo라는 이름의 객체 객체를 찾는 방법과 객체를 변경하고 객체를로드하는 방법 거기에 다시 대화 형 셸 거기에 바로 똑바로 – 최대 JavaScript 권한 자바 스크립트 대신에 콜렉션으로 가라 필요한 것을해라 특히 데이터베이스를 선택하면 컬렉션을 선택하세요 붐 – 호황 – 붐 좋아요

좋습니다 슬라이드로 돌아가서 특히 컬렉션에 대해 이야기하겠습니다 우리가 계속 얘기하고있는 조금 더 자세한 내용 그래, 근본적으로 그들은 컨테이너 다 한 세트의 문서에 대한 권리가 있으므로 여러 문서가 함께 소속되어 있습니다 컬렉션을 바로 올리면 관계에 많은 것들을 포함 할 수 있습니다

속편 데이터베이스에있는 테이블과 비슷합니다 데이터를 구조화하는 방법에 대해 실제로 점점 더 많은 수의 콜렉션을 가질 수 있습니다 그리고 그것은 Mongo에서 괜찮습니다 실제로 괜찮습니다 아주 잘 지원되는 유스 케이스 예입니다 좋습니다

그렇다면 때때로 국가 별 데이터가있는 데이터베이스를 구축하고 있다고 가정 해 봅시다 당신은 그 컬렉션을 국가의 이름으로 넣었습니다 데이터베이스에 더 많은 것을 넣으면서 국가를 추가 할 수는 있지만 그것은 뷰티 중 하나입니다 컬렉션에 관해서는 수백 가지의 컬렉션이 있으며 이는 지원되는 유스 케이스이며 당신은 당신이 모든 문서를 남길 수있는 별도의 테이블을 가질 필요가 없습니다 한 곳에서 당신이 아마 알고 싶어하는 다음 일을 아주 차가워 요

질의 객체이며 본질적으로 그것들은 질의 객체를 사용하는 아이디어입니다 요청 된 데이터를 가져 오려면 이미 데이터베이스에있는 객체와 유사하므로 너는 무언가처럼 보이는 무언가를 몽고에게주고 싶다 데이터베이스 및 예를 들어 당신이 생각하는 ID를 가진 개체가 될 수 있습니다 맞아요 그래서 당신이 무언가를 우는 걸 좋아할 때, 당신이 원하는 물건을 가지고 이미 데이터베이스에있는 것과 일치하는 항목 유형 ID 키 값이거나 이름도 가치가있다

이름 가치 권리 첫 번째 이름은 성으로 가장 적합한 것과 일치하는 문서를 찾습니다 데이터베이스에서 쿼리 개체를 사용하는 방법을 지정하고 형식을 지정할 수 있습니다

질의 객체에있는 모든 항목을 삭제할 수 있으며 데이터를 업데이트하거나 삭제할 때도 사용할 수 있습니다 네가 원하는 다른 것을 지금 발견하는 것뿐만 아니라 해야 할 일은 프로젝션을 사용하는 것인데, 이것이 여러분이 사용하는 데이터를 필터링하는 데 사용됩니다 당신은 Select가 X의 속편 질의들과 똑같은 것과 매우 흡사하다 우리가 실제로 사용하고 알고있는 쿼리 객체와 비슷한 형태를 취합니다 그래서 당신은 쿼리 객체의 예제를 보게 될 것입니다

나는 그것을 찾고자한다 먼저 MongoDB를 추가하는 방법을 보여줌으로써 시작하자 프로젝트를 MongoDB에 이미 설치 한 상태라면 이 사건에 들어가기를 원한다면 13 번으로 가야 겠어 괜찮아 그래서 일단 내가 거기에있어 당신은 내가 JSON 실제로 내 표준 애플 리케이션 다이제스트 패키지를 가지고 통지합니다 Mongo를 설치하면 NPM이 MongoDB를 설치하는 것과 같은 간단한 작업을 수행 할 수 있습니다

a – 이제 패키지를 JSON에 실제로 추가합니다 패키지를 살펴 봅니다 내가 이미이 모든 것들을 이미 가지고 있다고 말하고 싶다 그래서 내가 여기 뒤집어서 가면 패키지 JSON MongoDB는 이미 거기에 있으며 시민 버전은 올바르게 지정되어 있기 때문에 API는 다른 버전간에 변경되는 경향이 있지만 여기서 우리가하는 일은 이 당근 문자를 추가 예 그리고 이것이 무슨 말을하려고하는 것은 어이 Mongo를 사용하는 것입니다 20과 그 이후의 다른 어떤 진보 된 버전은 3

0 이상 9 포인트 그것은 항상 NPM 설치를 원한다면 두 지점 045 또는 좋아요 노드 모듈을 만들고 MongoDB를 얻으려는 멋진 작업을 할 것입니다 graphics 아이콘을 달리는 사람이 필요해 달리 다니는 사람이 뒤집히는 것

그래서 NPM은 오픈 소스라고 생각합니다 그래서 여러분은 실제로 앞으로 나아갈 수 있습니다 MongoDB가 설치되면 우리가 실제로 할 수있는 일이 있습니다 단지 MongoDB가 필요하고 시작하기 만하면 실제로 다음 데모가됩니다 실제로 문서를 만들고 업데이트합니까? 맨 처음 우리가 앞서 말했던 언어 드라이버를 가져와서 우리는 NPM 설치가 완료되면 MongoDB가 필요합니다

이제 우리는 바로 거기에 갈 것입니다 실제로 Mongo 클라이언트 객체를 가져 와서 Mongo 클라이언트로 설정합니다 왜냐하면 우리는 이것을 많이 사용하고 싶을 수도있는 다른 것은 또한 우리가 일을 정확하고 또 다시 확인하기 위해 조사를 할 수 있도록 검색 우리는 객체 ID를 요구할 것입니다 객체 ID는 우리가 많이 사용하는 또 다른 것입니다 멋진 일을하고 싶다면 MongoDB의 연결 URL을 만드십시오

mongolab과 같은 것을 사용하고 있거나 다른 서버에서 실행중인 서버라면 지금 당신은 아마도 이것을 좋아하는 것으로 바꿀 것입니다 이것은 호스트 이름이 아닙니다 이것은 서버에서 실제로 실행중인 포트의 IP 일 수도 있지만 우리의 경우 localhost와 기본 포트가 될 것이고 약간 재미있을 것입니다 인터넷에서 잘 알려져있는 것과 동일한 URI 체계를 사용하기 때문에 여기에 HTTP 대신에 MongoDB를 넣을 것이고 그 다음 데이터베이스는 실제로 슬래시 테스트가 될 것입니다 그래서 우리가 말하고있는 것은 우리가 말하고있는 것입니다

server slash test okay 이것이 URL 변수에서 시작하고 그 포트 번호 27 0 1 7은 달리 명시하지 않을 때까지 사용되는 기본 유형의 사실과 같습니다 포트를 지정하지 않고 Mongo를 시작하면 그 포트를 사용하게됩니다 그 중 하나지만 다른 하나를 실제로 지정할 수는 없습니다 포트 80 또는 무언가와 이미 컴퓨터에서 열려있는 보고서 또는 포트를 완전히 변경하여 약간의 추가 보안 기능을 원한다면 그래서 사람들은 포트 27의 뒤에 무엇이 제로 일곱이 공정한 지 알지 못합니다 잘 알려진 Mongo 예 데이타베이스 일 수도 있습니다

이 모든 것이 로컬 머신에서 실행되기 때문에 이것은 정확합니다 이 데이터를 나머지 인터넷에 노출시키지 않으므로 내 데이터베이스에 액세스 할 수 없습니다 ha 그게 도전이야, 그게 어떻게되는지 보자 우리가 도전해서는 안되는 군 인터넷은 우리의 env 스튜디오에 들어갈 수있는 미친 방법을 지금은 괜찮습니다

당신이하고 싶은 일은 지금 그 URL에 manga 클라이언트를 사용하여 연결하는 것입니다 클라이언트는 콜백을 상당히 많이 사용하지만 콜백을 사용하지 않는 다른 방법도 있습니다 당신은 다른 클라이언트 라이브러리를 사용하여 프로그래밍의 스타일 스타일을 약속 할 수 있습니다 실제로 실제로 Mongo 클라이언트는 약속 스타일을 사용하지만 콜백을 사용합니다 하나는 우리가 설명하는 것이기 때문에 당신이 궁금하다면 당신은 어떤 약속입니까? 우리가 콜백 API를 사용하는 데 초점을 맞추는 순간 그들을 찾을 수 있습니다 우리가 방금 지정한 URL로 연결하면 우리는 다음과 같은 함수를 전달할 것입니다

이 오류는 노드에서 패턴이 상당히 일반적이라는 것을 의미합니다 콜백은 일반적으로 먼저 오류가 발생하고 그 다음 결과와 결과가 올바르지 않습니다 여기 데이터베이스가 괜찮을 것입니다 그래서 우리가 연결하면 이것이 가능할 것입니다 연결하고 실제로 내가 할 일은 무언가를하는 것입니다

그게 작동한다는 것을 보여주기 위해 나는 아무것도하지 않는다 그렇지 않으면 그냥 연결하고 종료합니다 그렇게하면 노드 fjs가됩니다 연결하고 종료 바 – 바 – 바 마음을 잘못 폴더 또는 내가 아 뭔가를하지 않았나요? 실제로는 실제로 작동하지 않았지만 콜백을 제거하지 않았기 때문에 실제로 수행되지 않았습니다 정말 멋지다

하지만 내가 원한다면 실제로 뭔가 연결되어 있다는 것을 제외하고는 연결을 확인할 수있다 계속해서 MongoDB 데이터베이스에 연결했는데 괜찮 았어 명령의 종류 어쨌든 열고 당신이 볼 수있는 그런 일이 있었는지 알고 연결 했어 또는 어쨌든간에 나는 분명히 내가 바보처럼 인쇄하고 있다고 말했을 것이다 모든 것이 시원하게 살기 때문에 우리가 제일 좋아할 것 같아요 은행 데이터를 가진 콜렉션을 만드는 것입니다

그래요 그렇게하면 실제로 할 수 있습니다 우리가 의사 수집 은행 데이터에 가서 악의적 인 데이터를 갖게되면 이것은 컬렉션을 기대하지 않을 것입니다 은행 데이터와 그 콜렉션에 우리는 하나의 것을 삽입해야한다고 말하려고합니다 그래서 우리는 문서를 가지고있을 것이고 그것은 객체에 의해 표현됩니다

거기에 물건이있다면 분명히 할 수 있습니다 그래서 그것은 JSON 객체입니다 우리는 어제 밤에 저에게 첫 번째 이름을 말할 것입니다 나 자신이 캐나다 달러라는 사실을 실제로 말하지 않은 많은 달러를주고있다 사촌 나는 캐나다 사람이고 우리가 여기에서하는 일은 우리가 실제로 다른 문서를 묻고있는 것입니다

여기서 중요한 열쇠는 전통적인 속편에 다른 여러 문서를 제시하는 것입니다 당신이 다른 테이블에 이것을 가지고 있을지도 모를 데이터베이스 우리의 경우에는 테이블과 사용자 테이블을 모두 한 곳에 담습니다 우리는 그것을 얻고 싶습니다 그래서 거기에 모든 것이 있습니다 그리고 그것도 아주 친절합니다

of는 당신이 알고있는 한 모든 구조에 데이터를 넣을 수 있다는 것을 보여줍니다 유효한 JSON 꽤 많이 그것은 당신이 완전히 그것을 변경할 수 있다는 것을 알기에 꽤 많이있다 또는 원하는대로 현금으로 API에서 가져올 수 있습니다 그것으로 너무 많이 일하는 것은 단지 그럴 것입니다 그리고 그것은 정말로 좋은 점입니다

속편 데이터베이스는 사실 그들은 매우 유연하다는 의미에서 엄격한 표 형식으로 문서가 실제로 표현되는 방식을 변경할 수 있습니다 당신의 데이터베이스를 언제든지 업데이트 할 수 있고 당신은 물건을 바꿀 수 있습니다 당신에게 많은 유연성을 주며, 왜 그것이 학대당하는 지 데이터베이스의 유형은 매우 다양합니다 신생 기업들 사이에서 인기가있다 그들의 데이터는 실제로 매우 유연한 유형의 데이터베이스로 보이게 될 것입니다

속편 데이터베이스가 없기 때문에 실제로 그렇게 걱정할 필요가 없습니다 일단 우리가 실제로 삽입했다면 삽입 된 사람도 전화를 걸 수 있음을 알게 될 것입니다 좋아, 그럼 왜 천천히 콜백의 피라미드에 들어가는거야? 코드를 살펴보면 변호사에게 도움이 될 것입니다 실제로 스크롤바를 넣어 멋지게 들어가야 만하므로 우리가 제일 먼저하는 일입니다 이번 콜백을 통해 우리는 오페라 Zulte R을 택할 것입니다

말하려는 것은 그것이 문서를 삽입했다는 것입니다 그래서 제가 앞으로 나아가면 지금 이것을 실행합니다 서버에 올바르게 연결되었다고 말해야합니다 삽입 한 문서입니다 그리고 처음에는 실제로 문서에없는 내용이 추가 된 것을 볼 수 있습니다

그것은 객체 ID입니다 이제 우리는 객체를 찾으려고 할 때 정말로 유용 할 것입니다 나중에 그것이 그렇게 표현 되었기 때문에 우리는 아주 간단한 삽입을했습니다 우리가이 작업을 삽입했다는 것을이 콜백에 콜백이있다 이제 우리가 할 일은 실제로이 객체를 되 찾을 것입니다

그것은 우리가 앞을 내다가 인쇄 할 때도 우리에게 돌려주었습니다 우리가 실제로 OPS 결과물을 인쇄 해 버린 것입니다 배열의 첫 번째 인덱스는 이것을 가져 와서 업데이트 된 사람이라고 부릅니다 그것은이 사람으로부터 업데이트되었습니다 왜냐하면 그것은 객체 ID가 올바르므로 다른 것입니다

저기에서 저기에 있지만 그것은 같은 데이터입니다 이제 우리가 할 일은 우리가가는 것입니다 to say 안녕하세요, 저는 실제로 제가 직접 구입하려고 노력하고있어 조금 더 돈을주고 싶다 고 하던데 너무 많은 Tesla 's 또는 무엇인가 많은 차 그래서 내가 할 예정의 것은이 최신 정보에서있다 사람이 내 계정에 가서 헤이 말할거야 0 계정 내 잔액에 더 많은 것들을 추가 그리고 나는 그것을 갱신하고 싶다 나는 독점권에있는 은행가가되어서는 안된다

예 모두 괜찮아요 좋아요 그래, 일단 내 사람을 업데이트하면, 실제로 갈 수 있습니다 콜렉션에서 콜렉션 뱅크 데이터를 가져올 것입니다 업데이트 1로 간다

내가 말하고자하는 것은 실제로 나는 객체를 생성하고있다 이 개체는 업데이트하려는 개체와 비슷합니다이 개체는 잘 보입니다 그런 의미에서 ID가 같으므로 내 쿼리 개체라는 것을 기억하면됩니다 우리는 처음부터 바로 여기에 넣고 있습니다

그런 다음 데이터 나 실제를 전달합니다 내가 할 수있는 계정 잔액 만 업데이트하는 것처럼 내가하고있는 개체 계정 잔액을 그냥 남긴 다른 모든 항목을이 업데이트 된 사용자에게 표시합니다 그러나 그것은 내가 단지 모든 것을 굳어지게 할 것이라고 말했고 나는 그것에게 쓰기를 줄 것이다 관심사가 1인데 그것이 의미하는 바는 데이터베이스에 바로 쓰려고한다는 것입니다 그리고 그것이 올바르게 끝날 때까지 내 전화를 되돌려주지 않을거야 괜찮아

그리고 물론 또 다른 콜을 통과 한 후에도 괜찮습니다 왜냐하면 제가 이론적으로 이것을한다면 여기에 있습니다 내 콜백이 돌아 왔을 때의 우리 여행은 성공적으로 숫자를 업데이트했다 문서의 모든 권리와 물론 우리가 사용하고 있기 때문에 지금은 하나 이상을 업데이트 할 수 있습니다 우리가 아마도 첫 번째 이름을 사용하고 있었던 고유 한 ID를 사용하지 않았다면 여기 개체 쿼리 lastname은 해당 문서의 모든 항목을 업데이트 한 것입니다

철자가 틀린 것을 상상해보십시오 같은 이름의 성을 사용할 수 있습니다 나는 그 아이템 전부를 바로 잡거나 그 철자가 맞지 않게하려는 것입니다 보드 그래,하지만 물론 당신은 아마 너무 자주하고 싶지 않아요 고유 한 ID를 갖고 싶고 문서에 바로 올라가는 방식으로 끝내지 마십시오

존 스미스 (John Smith)의 두 가지 밸런스를 업데이트하는 문서가 실제로 맞다 존 스미스 맞아 어떻게 그렇게하는지 조심해야 해 나는 너의 울음 프라이머는 당신이 가지고있는 데이터에 충분합니다 문서를 업데이트 할 계획이라면 문서화하십시오

또는 동일한 헤이 제 말은 유연성이 실제로 매우 유연하다는 것입니다 선택하고 선택하기를 좋아합니다 그래서 거기에 가셔서 지금 당장 우리는 전화를 받았습니다 오류가있는 경우 콘솔 오류를 반환하고 우리는 성공적으로 만약 내가 실제로 이것을 실행하거나 내가 이미 이것을 성공적으로 말하면서 실행할 것입니다 한 사람의 문서를 멋지게 업데이트했습니다

왜 우리가 이미 보여준 것을 보여주지 않습니까? 만드는 법을 아주 잘 보여줍니다 왜 우리는 당신에게 물건을 찾는 지 보여주지 않습니다 좋아, 다시 쿼리를 사용하여 쿼리 개체를 사용하여 업데이 트와 매우 비슷합니다 여기에 우리는 괜찮은 것을 찾을 것이고, 우리는 그것을 발견 할 것이기 때문에 그것을 발견 할 것입니다 이걸 제거하고 여러개를 돌려 준다면 말하면 실제로는 하나의 객체 만 반환합니다

해당 쿼리 매개 변수와 일치하는 개체가 있지만이 경우에는 하나만 찾습니다 ID를 쿼리 매개 변수 권한으로 사용하고 있기 때문에 ID는 해당 컬렉션에 대해 고유 한 ID 기간을 반환하므로 찾을 경우 한 사람의 ID가 업데이트 된 사람과 다시 한 번 통화를해야합니다이 경우에는 전화가 친절합니다 발견 한 문서 자체를 반환하는 것입니다 그렇게하면 다시 인쇄 할 수 있습니다

오류가있는 경우 검색된 사람의 이름과 성을 인쇄하십시오 다시 내 콘솔로 돌아가는 중 하나 잘못 여기에 우리가 검색하는 사람은 라마의 머리입니다 바로 지금 우리가 오른쪽 상단에 우리 컬렉션에 입력 한 것과 동일한 문서 은행 계좌를 실제로 다른 은행으로 변경하고 싶다고 가정 해 봅시다 방금 삽입 한 문서를 제거하고 실제로는 매우 간단합니다 매우 유사합니다 ID와 업데이트 된 사용자 인 쿼리 매개 변수가 있고 그 다음에는 실제로 그것이 무언가를 삭제 한 시간의 양을 반환합니다

그러면 반환 할 것입니다 카운트가 모두 올바르다면 오류가있는 경우 모든 것이 잘 작동하는지 확인하십시오 close database 그게 우리가가는 마지막 일이기 때문에 어쨌든 데이터베이스를 닫을 때 오류가 없다면 내가 토론을 끝내지 않으면 그렇지 않으면 결국이 모든 관계가 끝납니다 열려 있고 우리가 이것을 다시 실행한다면 그것은 어이 말해야하지만 실제로 우리가 실제로 전에 우리는 실제로 그것을 제거하십시오 우리는 우리가 여기서하고있는 일을 프린트해야합니다 제거하기 전에 실제로 가지고있는 계정 유형을 인쇄합니다 성공적으로 문서를 믿었다 고 말하면서 대화 형 콘솔에 넣고 해당 항목에 대한 검색을 수행하십시오

예를 들어서는 안됩니다 그것을 올바르게 찾을 수 있습니다 나는 몽고를 괜찮습니다 나는 쇼 콜렉션을 말합니다 나는 은행 데이터를 말할 것입니다

만약 내가 GB의 도트 뱅크 데이터를 멈추게된다면 어떤 쿼리도없이 찾을 수있다 내 데이터베이스에 남아있는 문서 그래, 내 컬렉션에 맞아 정말 끝내주는 끝내 준다 우리가 생각했던 것보다 빠르고 빠르며 확실히 돌아 간다 슬라이드와 나는 그것이 몽고와 그 아이디어 노트와 함께 일하는 것을 좋아할 때에 생각한다 실제로 기본 원리를 보여 주었던 것처럼 기본이 있다는 것입니다

그보다 훨씬 더 많은 것들은 MapReduce와 같은 흥미로운 것들을 작성합니다 데이터의 기가 바이트가 있다고 말하면 실제로 모든 기능을 실제로 매핑 할 수 있습니다 컬렉션을 찾은 다음 그 매핑 권리와 일치하는 것을 찾도록 줄이십시오 아주 멋진 것들 예, Mongo를 사용하고 시작하기에 더 좋아요 그것은 내가 개인적으로 당신이 그것에 접근하는 방법을 모른다는 것을 의미하는 것 같지만 나는 언제 처음에는 그것을 배우기 시작 했었습니다

나는 API를 집계하기 위해 그것을 사용했습니다 그래서 항상 줄 수 있습니다 우리에게 일어난 마지막 일이나, Instagram API를 사용하여 마지막으로 얻은 것 그것에 관한 모든 정보와 함께 게시하고 그것은 당신이 매번 실행하는 것과 같았습니다 데이터베이스에 넣은 다음 사이트에서 실제로 사용하면됩니다 당신이 알 수있는 API 나 항상 쓸만한 API를 때리는 것보다 EULA와 그 나머지 부분은 모두 실행되지만 처음은 기억하고 있었고 좋아, 그냥 대화 형 콘솔에 가서 더 이상 두려워하지 않았다

당신이 구문을 내려야한다고 생각하기 때문에 모든 쿼리를 배웠습니다 그리고 나서 당신은 당신이 당신이 당신의 황금기에 능숙하다는 것을 알 수 있습니다 이런 종류의 웹 사이트에서 일할 때 Mongo를 보길 좋아합니다 지금 당장 우리는 지역에서 일하고 있습니다 그래서 당신은 모든 것을 배치 할 때 그것을 발견합니까? 하늘을 내고 있거나 정교한 숫자를 사용한다고 가정 해 보겠습니다

여기 내 MongoDB는 마치 다른 시스템과 전혀 다른 것 같아요 그것은 동일한 VM이 아니예요 예, 실제로는 꽤 자주 발생합니다 특히 Mongo lab과 같은 서비스를 사용하고 있다면 네 자신의 시스템이 있습니다 자신의 URL은 자신의 IP 주소이므로 올바른 OAM을 지적하기 때문에 나를 위해 그렇게 쉽게 실행하는 것은 간단합니다

예 간단한 아프가니스탄 설치 또는 실제 생산 시스템을 구축하지 않는 한 간단한 설치 예 건물 할 경우 예 나 자신을위한 작은 단순한 노드 응용 프로그램 나는 실제로 그것을 로컬로 실행하는 경향이있다 그냥 바로 거기에 사용 그래, 나도 같은 일을한다 나는 우리가 갈 팀에 대해 기본적으로 알고있다 서버를 설치하면 우리는 당신이나 내가 우리 사이에 공유하는 것을 알았습니다

모든 데이터가 항상 최신 상태 였기 때문에 쉽게 그런 식으로 걱정할 필요가 없었습니다 우리 예, 네, 미안 해요 네가 생산에서 몽고를 운영하고 있다면 바보 야 그것에 대한 다른 접근법은 아마 더 가끔 어쩌면 샤르 돈을 원할 것입니다 다른 Mongo 인스턴스들 사이에 약간 낮은 밸런서가있을 것이고 거기에는 다른 것이 있습니다

아주 간단한 노드를 구축하는 경우이를 수행하는 방법을 보여주는 온라인 기사 당신은 데이터의 좋은 물린처럼 과거의 스케일링을 기대하지 않는다 쉽게 로컬에서 실행하면 매우 쉽게 처리 할 수 ​​있으며 가능한 많은 명확한 작업이 가능합니다 실제로 Mongo에서한다 그래, 그것은 우리가 말했던 너무나 그렇게 스트리밍하는 것을위한이 정말로 시원한 효과를 알아 들었다 Mongo가 실제로 이러한 컬렉션을 가지고 있으므로 다른 모듈에서 이전에 노드 스트리밍에 대해 이 모든 커서는 매번 한 번씩 새 문서를 보내드립니다 네가 호출 할 수있는 이러한 유형의 커서가 컬렉션에 삽입됩니다 그 대신 완벽한 쿼리를 반환하는 대신 연결을 유지합니다

노드가이 콜백 매커니즘을 가지고 있기 때문에이 이벤트를 기반으로 이벤트를 프로그래밍하고있다 실제로는 정말 쉽게 예 그래서 할 사람의 첫 번째 할 일 목록처럼 보이는 모두가 안녕하세요 세상과 같습니다 공동 작업을하는 경우 어떻게해야할까요? 그것과 당신은 그 생각을 그대로 유지할 수있는 뭔가를 추가했습니다 열어 보면 그것은 단지 당신이 알고있는 필터링일지도 모르며 당신은 그게 어떻게되는지보기 위해 화가납니다 맞은 편에 아주 멋진 물건들 때문에 채팅방에 질문이 있는지 궁금합니다

확인해 보도록하겠습니다 여기에 질문을하겠습니다 정확히 지금 하하를 올려주세요 아니, 아무것도 못 봤어 몽골과 관련이없는 것 같아

우리는 우리가 그것을 닫을 수 있도록 우리는 식사 중단에 갈거야 그래, 우리는 대략 거슬러 올라갈거야 예, 우리는 프론트 엔드를하는 방법을 보여줄 것입니다 Jade와 함께 끝내고 우리는 전개에서 디버그하는 방법에 대해 더 많이 다룰 것입니다 노드 예 예를 들어, 디버깅을 좀 더 해보고 어떻게 디버깅을 할 수 있는지 보여 드리겠습니다 다른 콜백에있는 변수와 그 다음에야 마침내 우리는 너의 웹 일 yay 좋아하는 몇몇으로 마지막 단위를 모자를 씌우기 위하여가는 것은 그래서 조정 해 체재한다 휴식 시간에 다시 오셔서 모든 것을 할 수있는 방법을 보여 주실 것을 기대하십시오

nodejs와 멋진 것들 당신은 nodejs와 코드 난 내 이름은 레미 야 자이레와 저는 오늘 스테이시 무어 녀석과 함께합니다 그리고 이것은 네 번째 모듈이지만 우리는 집중할 것입니다 Express 웹 앱의 프론트 엔드 프론트 엔드를 구축하면 모든 프론트 엔드가 모든 프론트 엔드 세상에서의 모든 즐거움 어쨌든 다시 환영합니다

우리와 함께 지내기 위해서 우리는 손으로 만져 본 백엔드에서 nodejs에 많은 관심을 기울였습니다 익스프레스가 수행하는 정말 재미있는 몇 가지 작업은이 템플릿 작업을 수행 할 수있게 해줍니다 당신이 사용할 수있는 것과 다른 것들을 가지고 있기 때문에 우리는 그것을 보았습니다 예드에 대해 이야기 했었어 나는 진짜로 이야기하지 않았어

이 모듈을 객실의 코끼리로 바꿀 것입니다 네, 괜찮아요 어쩌면 우리는 Jade the injection Jade에 대해 이야기 할 것입니다 Jade는 왜 Jade가 그것이 내가 생각한 변화에 영감을주는 방식으로 만들어 졌는가? Jade의 특정 언어 기능은 무엇인지, Jade의 템플릿은 우리는 몇 가지 좋은 데모를하고, 어느 시점에서 부트 스트랩을 구현할 것입니다 그래, 괜찮아

나는이 시점에서 모든 웹 어플리케이션이 부트 스트랩을 가지고 있어야한다고 생각한다 어떤 점에서 나는 웹의 사실상 UI 인 것처럼 느껴진다 지금 나는 여기있다 예, 예, 모두 똑같아 보이네요 그래서 음

너는 그것을 빼앗을 수 있니? Stacy 우리는 당신이 비취와 함께 일하는 것을 알고 어떻게 비취 템플릿을 사용하는지에 대해 이야기 할 것입니다 실제로 작동하므로 익스프레스를 설치하면 즉시 사용할 수 있습니다 우리가 한 것을 보았습니다 Express generator를 사용하면 전체 스캐 폴드 전체 Express 응용 프로그램은 기본 템플릿 템플리트 엔진이 옥과 그래서 그것은 우리가 오늘 보여주고있는 것입니다

J는 당신이 과거를 언급 한 것처럼 상당히 인기가 있습니다 템플릿 작성을위한 다른 옵션이 있으며 왜 당신이 알 수 있는지 몇 가지 이유가 있습니다 우리가 그걸 보길 원한다면 비취로 템플리트하기 때문에 비취는 기본적으로 HTML을 단순화하는 것입니다 태그를 여는 것에 대해 걱정할 필요가 없습니다 이론적으로 태그를 닫으면 조금 더 효율적으로 만들어야합니다

당신이 모든 종류의 것들에 대해 걱정하지 않기 때문에 더 빨리 그리고 구문이 있습니다 Jade는 HTML에 직접 매핑되는 다른 모든 언어와 마찬가지로 그래서 당신이 그것을 볼 때 파일을 열어 보면 약간 다른 것처럼 보입니다 때로는 처음으로 머리를 조금 감싸 주어야 할 때가 있습니다 약간의 기능을 추가하여 HTML을 분리하고 확장 할 수 있다는 것을 알 수 있습니다 그 전체가 재사용을 줄이는 것은 당신이 아는 전체가 무엇이든 재활용합니다

거룩한 삼위 일체의 코드는 당신입니다 불필요하게 코드를 반복하지 않는다는 것을 알고 싶다면 예를 들어 HTML의 덩어리 또는 다른 페이지를 알고있는 페이지를 알고 있습니까? 당신은 그것을 어디서나 재 작성하고 싶지는 않습니다 한 곳에서 템플릿을 사용하고 있는지 확인하고 싶습니다 이전에 내가 줬던 예가 당신이 그림을 가지고있는 제품 페이지와 같다고 생각합니다 제목과 정보가있는 제품과 등급 시스템 및 그 모든 것들 근본적으로 그것은 템플릿으로 된 것입니다

20 개의 항목에 대해 동일하게 보일 것입니다 그 중 특정 항목이 피드 데이터를 기반으로 변경 될 것입니다 템플릿을 사용할 때 완벽한 예제와 같습니다 당신의 HTML은 비취에서 HTML을 생성 할 때 쓰는 것입니다 복잡한 것들이 있고 사업과 사업부가있어 뭔가를 닫는 것을 잊을 수도 있습니다

브라우저는 다른 사람들보다 더 용서하고 때로는 심지어 그것을 잡을 수 없습니다 당신은 오하이오 같아요 특정 브라우저에서 버그가 생겨서 당신이 당신인지 확인합니다 깨끗한 HTML 생성을 알고 있고 동적으로 항목을 채우는 것을 알 수 있습니다 템플릿을 통해 데이터를 삽입하는 것을 알고 있으므로 Jade의 기본과 Jade와 함께 일하면서 조금만 살펴 보겠습니다

문법이 어떻게 생겼는지, 그리고 사이트를 끌어 올려서 감각을 줄 것입니다 옵션과 문서가 무엇인지, 다음 슬라이드로 가면 볼 수 있습니다 왼쪽에 비취가있는 템플리트는 근본적으로 옥 (Jade)과 오른쪽 (Right)에있는 것입니다 출력과 그래서 만약 당신이 왼쪽에 옥을보고 있다면 당신은 간단한 태그를 가지고 있습니다 당신은 우리 모두가 그것이 우리의 권리이며, 당신이 보는 결과에 대해 알고 있기를 희망하는 사업부를 안다

실제로 HTML이 올바르게 작성된 것입니다 div가 열려 있습니다 닫힌 다음 왼쪽의 제이드 (Jade)에서 구별 할 수있는 공백을 사용한다는 것을 알 수 있습니다 계층 구조 및 그래서 주소가 당신을 기반으로하기 때문에 div 아래에 알 수 있습니다 출력물의 오른쪽에 해당 항목이 있으므로 매우 조심해야합니다 비취와 함께 나는 그것이 일반적으로 공간을 템플릿으로 만드는 것 중 하나라고 생각한다

잘못된 영역에서 공백 대신 탭을 사용하거나 양쪽 또는 모두를 사용하여 탭에 공백을 넣습니다 나는 그런 종류의 것들을 느낄 수있는 종류의 여행 조금 당신이있어 그래서 공정하게 당신은 당신이 그것으로 일할 때 당신이 그것에 대해 조심한다는 것을 압니다 비록 당신이 강제로이 좋은 간격을 가지면 그것은 코드를 훨씬 더 깨끗하게 만듭니다 내 말은 네가 나를위한 J 템플릿을 보았을 때 나는 그것을 볼 수있는 것처럼 느낀다 그것은 복잡하고 정확하게 그들이 어떻게 해야하는 계층 구조가되는지를 알게됩니다

그 모든 종류의 것들을 확실히 나는 HTML을 개발자가 생각할 때 스키 그들이있어 그들이 들어갈 표준 HTML 만 쓰면 들여 쓰기가되고 정리가됩니다 그게 내가 당신이 알고있는 코드의 정의를 추측하는 것이 겠지만 확실히 만들고 싶다 그 계층 구조를 볼 수 있고 네가 어디에서 중첩되어 있는지 이해할 수 있어야한다 예를 들어 우리가 알고있는 항목을보고 있다면 그냥 조금 조심해야 해 지금 우리가보고 있으면, 우리가 왼쪽에서 찾고있는 비취는 기본 태그와 같은 것들에 들어가기 시작하지만 괜찮습니다

속성과 같은 것들을 추가하려고하거나 클래스를 추가하고 싶을 수도 있고 그런 종류의 것들이 다시 그린의 왼쪽에 쓰여질 것입니다 그리고 옥 그로부터 생성 된 HTML의 출력은 오른쪽에 쓰여지므로 태그 속성 왼쪽에는 예를 들어 h1이 있고 ID를 부여하고 있습니다 그 괄호 안에 실제로 당신이 알고있는 속성들입니다 아이디어는 title과 당신은 예를 들어 비취에 오신 것을 환영합니다 그래서 그것은 당신이 그것을 보았던 공물이 될 것입니다

맞아요 그래서 공물 브래킷 뒤에 공간이 있다는 것을 알게 될 것입니다 왼쪽에있는 비취에 오신 것을 환영합니다 그러면 h1에서 닫혔다는 것을 알 수 있습니다 많이 쓰면 코드를 적게하고 싶다면 조금 더 짧게 조금 더 깨끗하게 알아야합니다

우리가 다음 것을보고 있다면 지금 당장 당신을 위해 모든 산출물을 처리합니다 우리는 버튼을 가지고 있고 거기에 또 다른 공물을 추가 할 생각을 알게 될 것입니다 걸쇠 거기에 데이터 작업과 당신은 다시 얼마나 그 버튼이 될 것이라고 볼 수 있습니다 아래에있는 버튼과 그 버튼 안에있는 탭을 사용하면 맞아요 그래서 이것들은 상당히 합리적입니다 예를 들어 pegs 애트리뷰트의 기본 예제를 알고 있습니다

옥에서 우리가 계속해서보고 싶다면 좀 더 복잡한 것들을 다시 알게됩니다 당신이 처음에 보게 될 것들은 상당히 단순합니다 내가 앵커를 추가하려면 어떻게해야합니까 이러한 항목에 걸쇠를 추가 할 수 있지만 포인트가 있다는 것을 알고 시간이 지나면 조금 더 복잡해질 것이고 좋은 것들 중 하나가 될 것입니다 Jade 지원입니다 템플릿 상속이라고 부릅니다

따라서 템플릿을 상속으로 부여합니다 당신은 2 가지 확장 키워드를 차단하므로 확장 키워드는 템플릿을 허용합니다 또는 레이아웃 또는 상위 템플릿을 확장 할 수 있으며 미리 정의 된 특정 블록을 무시할 수 있습니다 차단 키워드를 사용하면 교체 할 블록을 설정할 수 있으므로 당신은 이것에 대해 생각하고 이것에 대한 예제를 보여 드리겠습니다 예를 들어 잘못 입력 했더라도 우리는 자주 반대하기를 원할 수 있습니다 보고 싶지 않아, 네가 필요해

특정 특정 템플릿에 대해 생각하기 시작할 수 있어야 해 그건 약간의 변형이있을 수도 있고, 그래서 당신은 내가 종종 다시 알게 될 것입니다 어쩌면 당신은 갈 것입니다 특정 물건을 가지고 그 제품의 예를 다시 그것에 대한 다른 견해를 가지고 있을지도 모르겠다 아마 페이지의 종류에 따라 조금씩 정보가 줄어들 것입니다 당신은이 템플릿들을 사용하기 시작할 수 있으며, 이제 그것들을 확장하고, 당신은 당신이 필요할지도 모르는 것을 원한다

그래서 그것에 대해 생각할 때 기본 템플릿을 가질 수있다 페이지의 경우 해당 템플릿 또는 다른 J 템플릿을 확장하는 다른 페이지가있을 수 있습니다 그것을 확장하고 어쩌면 그 한 페이지에 아마 당신의 예를 들어 게임 섹션 일 수도 있습니다 사이트에서 필요한 모든 새로운 자바 스크립트를 추가 할 것입니다 페이지 오른쪽으로 이동하면 게임 페이지로 이동하는 경우 몇 가지 라이브러리를 추가 할 것입니다 jQuery는 무엇이든간에 어쩌면 우리가 선택한 그 페이지에있을 수도 있습니다

다른 페이지는 사용자에게 다운로드를 강요하지 않기 때문에 완벽한 예입니다 그 곳의 모든 것들이 정말 좋은 방법으로 템플릿을 사용하고 있기 때문에 우리는 J 템플릿을 사용하여 살펴 보겠습니다 조금은 당신이 조금 더 알고 있다는 것을 알고 있습니다 너는 들어가서 비계를 빨리 밟을 수있어 그러면 너는 네가 어디 있는지 아는 걸 보여줄거야

템플릿 엔진이 제대로 작동합니까? J 템플릿을 보겠습니다 한 쌍을 보겠습니다 다른 것들은 키워드의 일부를 보자 어떻게하면 근본적인 행동을하는지 보자 J 템플릿의 내용이므로 항상 여기에있는 코드를 열어서 내 잘못입니다

충분히 커야한다 나는 더 커야한다 나는 완벽한 글꼴을 가지고있어 그것을 그대로두고이 폴더에서 14 개의 언더 코어 이벤트 Jade는 Express 생성기를 사용하여 만들었습니다 신속하게 몇 가지 경로를 추가했습니다

추가 된 것이 무엇인지 알게 될 것입니다 그러나 우리가 여기를 통해 알게되면 우리는 친절합니다 아래로 스크롤하면 뷰 엔진 설치 라인이 14에서 16까지 표시되므로 여기에서 보기 전에 우리는 기본적으로보기가 진행되는 위치를 설정하기 전에 우리가 지적 했었습니다 에서 가져 오기 때문에 디렉토리와 이름을 지정해야합니다 이렇게하면 어떤 종류의 템플릿이든 어디에서 그렇게해야할까요? 여기에 매핑되는이 views 폴더에 있어야하고 다음에 app 세트가 있어야합니다

보기 엔진 사용 옥 (Jade)을 말하자면 다른보기 템플릿 사용을 원한다면 그 종류의 시스템을 여기에서 바꾸기 시작할 수 있습니다 아무것도 머리카락과 함께 아무것도 감사합니다 당신이 알고있는 금속 막대기 콧수염 다른 종류의 것들이 또 있습니다 여러분이 익숙한 종류의 것이기도합니다 모든 제안은 기분이 좋아서 당신이 틀렸거나 네가 틀렸다면 나에게 맞을 수있다

틀린 나는 그들이 모든 유사한 종류의 많은 종류의 유사한 기능을 제공하는 것처럼 느낀다 하지만 그들 중 일부는 조금 다르게 작동하거나 좋은 뭔가있을 수 있습니다 이것에 관해서는 그것과 다르다 그리고 그런 종류의 물건 그래 그리고 만일 당신이라면 만일 당신 템플릿 엔진을 사용하고 싶지 않을 수도 있습니다 바로 스트레이트 HTML을 사용할 수 있습니다

잘 했어하지만 템플릿 작성에 대한 모든 생각을 다시 세는 것도 알고있다 정말 간단하고 HTML을 쓰고 싶지만 너라면 뭔가를 쓰고 좋아하는 예를 쓰면 우리는 블로그를 통해 자신의 제품을 볼 수 있습니다 블로그에 대해 이야기하면 확산하려는 모든 일에 대해 생각하는 것입니다 반복해서 반복되는 코드를 사용하는 이유는 무엇입니까? 한 번 템플릿을 만들면 전적으로 바닥 글을 알 수 있습니다

당신이 사용하고 있을지도 모르는 물건들과 이것을 설정 한 템플릿들을 사용하는 것을 알고 있습니다 그리고 나서 우리가하고 싶은 것은 비취가 어떻게 생겼는지를 간단히 살펴 보도록하겠습니다 우리가 여기에있는 견해에 들어가면 우리는 색인이 있다는 것을 알게 될 것이고 우리는 전형적으로 무슨 일이 일어날 지 당신이이 레이아웃을 얻는다는 것입니다 옥 (Jade) 그리고 그것은 당신이 알고있는 것입니다 귀하의 마스터 레이아웃 권리와 그것이 당신이 상속 가능성이 가장 큰 것입니다 이 경우와 여기에서는 레이아웃 옥을 볼 수 있습니다

그리고 다시 당신은 무엇이라도 부를 수 있습니다 그렇지 않으면 다른 템플릿에서 확장 할 수 있지만 여기서 우리는 HTML 권한이 나열되어 있는지 확인하고 예를 들어 언제든지 볼 수있는 블록 헤드를 보유하고 있습니다 옵션 앞에있는 블록을 사용하면 항상 스스로에게 말할 수 있습니다 변경되었거나 추가 된 기능은 연장 할 수있는 기능이지만 수행하고 싶습니다 그것을 덮어 씌우고 있는지 또는 그것이 겹쳐 쌓여 있는지 또는 겹겹이 쌓여 있는지 여부를 알 수 있습니다

이것이 당신이 당신의 링크에 넣을 곳이고 다시 뒤를 따라 가면 공백이 보일 것이고 모든 것이 탭으로 연결되어 다시 링크가됩니다 그냥 키워드의 종류와 모든 것은 괄호 안에 들어 있으므로 당신은 당신을 넣을 것입니다 그것이 무엇인지 아십니까? 스타일 시트는 어디에서 참조 할 수 있습니까? 여기에 예를 들어, 우리는 미래의 데모에서 당신을 조금 보여줄 것입니다 약간의 부트 스트랩하지만 우리는 이러한 것들을 포함하고있는 것을 볼 것입니다 본문 그것은 단지 블록 내용이므로 어떤 점에서는 무언가가 아마도 덮어 쓰게 될 것입니다

이 권리와 그래서 당신이 비취를 다시보고 있다면 그것은 매우 매우 민감합니다 당신에게 간격을 두거나 탭을 할 때주의해야합니다 추가 공간은 기본적으로 렌더러를 버리면 방금주는 브라우저에 큰 오류가 발생합니다 너는 무엇이든간에 선을 좋아하고 너에게 소리 질렀다 그래서 나는 시작하는 기분이 어떤지 알지 쥬와 함께 당신은 조금 경험할 수 있습니다

기본 하나는 내가 정말로 케이가라고 말할 필요가 없다고 생각합니다 예를 들어 인덱스 페이지를 알고 있다면 여기에서 몇 가지를 보게 될 것입니다 그래서 당신은 다른 키워드가 당신이 수업처럼 보이기 시작한다는 것을 알기 시작합니다 예를 들어 여기에 제가 적용한 것입니다 그래서 당신은 용어로 할 수있는 모든 것을 알고 있습니다

Jade 사이트에서 실제로 찾을 수있는 수업을 추가하는 방법을 자세하게 설명합니다 내가 이것을 빨리 볼 수있는 좋은 방법이 될 것이라고 생각하기 때문에 나는 빨리 뽑을 것이다 노트 템플리트 엔진의 옥 사이트로 이동하면 큰 참고 자료가 있습니다 여기에서 태그를 없애거나 언어 참조를 볼 수 있습니다 언어 참조는 언어에 대해 필요한 모든 것을 제공하며 지출합니다

시간이 많이 걸리므로 언제든지 받아 들일 것입니다 항상 뭔가하고 싶습니다 조금 더 그리고 나는 그것을하는 방법을 알아 내야하고 그래서 당신은 볼 것입니다 모두의 예를 들어야 태그 속성을 알고 있습니다 왜냐하면 모두가 모든 것을 원하기 때문입니다

멋지게 댓글을 달았습니다 그래서 이것이 어떤 종류의 물건을 넣는 지 보게 될 것입니다 그것 사이의 내용과 그 것들을 생성하는 방법과 비취에서 당신은 측면에서 알고 있습니다 이 모든 항목 중에서 확장을 통해 할 수있는 모든 것을 볼 수 있습니다 예를 들어 상속을 알고있는 것들은 우리가 다루고있는 것의 종류입니다 그래서 너의 너의 일종의 내가 여기 생각할 때 비취에 관해서는 너를 사용하는거야

그것과의 투쟁을 조금이라도 알고이 참고 자료를 사용하면 도움이됩니다 당신은 제가 언급 한 다른 것을 조금 더 빨리 가지게 될 것입니다 그래서 상당히 큰 공동체가 있습니다 옥과 템플레이트 엔진의 주위에 당신이 알고있는 것처럼 느껴진다면 무언가에 갇혀 있으면 제대로 렌더링되지 않습니다 시도하는대로 작동하지 않을 수 있습니다

좀 더 복잡한 일을하려면 그 답을 찾으려는 것 같아요 스택 오버플로 그냥 일반적으로 누군가가 그런 종류의 일을 블로그 게시물있어 그 점을 당신을 참고로 지적하고 우리는 코드로 돌아갈 것입니다 우리가 여기에서하는 일을 조금만 돌아보고 설명 할 것입니다 이 것들은 조금 더 심층적 인 것입니다 그래서 다시 지적하고 싶습니다

그래서 우리는 우리의 레이아웃은 모든 것을 확장 할 수있는 슈퍼 레이아웃처럼 이것을 생각하면됩니다 당신은 우리 인덱스를 알고 있습니다 옥 (Jade) 그것은 레이아웃을 확장하고 있습니다 그래서 기본적으로 저는 모든 HTML 레이아웃이었습니다 머리 속에있는 모든 것 그 모든 종류의 일은 블록 콘텐츠를 정의하는 것이고 그것은 그것이 이전에 거기에 있던 콘텐츠 블록을 대체하고 다시 한번 그것이 바로 여기에 있었으므로이 것을 완전히 대체 할 것입니다

당신이 원한다면 추가 할 수 있습니다 그래서 우리는 h1과 this를 볼 수 있습니다 당신은 제목으로 설정되어 있다는 것을 알게 될 것입니다 그리고 우리는 제목에 오신 것을 환영합니다 그래서 기본적으로 노드에서 사원으로 채우기 시작할 수있는 변수입니다 템플릿에 주입되면 우리는 이것을 약간 설명하도록 설정할 것입니다

이 데이터가 실제로 어떻게 설정되는지 보여 주면 여기에 이 태그는 클래스가 될 것입니다 왜냐하면 저는 스테이시가 될 것입니다 그리고 나서 그 속기가되는 것입니다 제이드 옙에 대한 속기 네, 당신은 또한 괄호에 넣을 수 네, 네 우리가 몇 개의 슬라이드를 보여 주었던 것처럼 보이는 방식으로 괄호 안에 넣을 수 있습니다 클래스를 할 수있는 것은 스테이시와 같습니다

그리고 이것을 실제로 원한다면 당신은 미안하게 할 수있는 신분증과 그 옆에 놓아두면 아주 멋집니다 몇 가지 옵션이 있습니다 다시 8 가지 초안이 될 것입니다 링크 태그는 매우 간단하고 매우 간단합니다이 예제는 매우 간단하고 우리가 로프에 들어가면 좀 더 발전된 예를 보여 드리 겠지만, 로프는 여기에 우리가 도로에 들어가면이 색인을 볼 수 있습니다

우리의 응용 프로그램이 J s가 될 것입니다 우리가 당신이 여기에서 볼 수있는 최고 수준의 진입 점을 알고 우리가 만든 라우터는 기본적인 색인 경로를 알게 될 것이며, 우리가 이전에 보았던 res dot JSON처럼 끝내기 전에 다시 렌더링되는지 확인하십시오 실제로 렌더링하는 것이고 렌더링하는 것은 그것을 찾고 있습니다 템플릿과 그래서 내가 찾고있는 인덱스 템플릿을 찾고 있다고 말하는 것입니다 아무 것도 여기에 아무 것도 나타나지 않고 오늘 밤 우리가 특급을 가지지 않는다는 것을 알게 될 것입니다 예를 들어, Jane은 백엔드에서하는 모든 작업을 Map이라고합니다

모든 디렉토리와 그것은 당신이 설정에 따라 모든 확장 기능을 올바르게 가정합니다 그것을 주면 인덱스 인 템플릿을 찾고 나서 데이터를 전달할 수 있습니다 개체 및 그래서 이것은 당신이 어쩌면이 시점에서 원하는 형식의 모든 종류가 될 수 API 아마도 이전에 가지고 있던 개 API에 갔었고 우리는 그 모든 것을 가져 왔습니다 이제 우리는이 객체를 가져 오는 것을 알며 이제이 템플릿을 렌더링 할 것입니다 이 데이터를 삽입해야하는 위치에 있어야하므로 템플릿에 표시됩니다

이것이 어디에 있어야하는지에 대한 예제 옵션을 알고 있다는 것을 예를 들어 봅시다 실제로 이것을 가져 오도록하겠습니다 여기서 제가하려고하는 것은 제가 달릴 것입니다 이것은 코드에서 우리가 오늘하고있는 많은 것들입니다 왜냐하면 우리가 모든 것을 넣었 기 때문입니다

우리는 프로젝트 전체 폴더를 열어 여러 프로젝트를 만들었습니다 여기에 저는 하나의 프로젝트를 열어 놓았습니다 다음 모듈을 보여 드리겠습니다 그러나 저는 여러분에게 똑같은 방법을 보여줄 것입니다 반드시 명령을 내리고 싶지 않으면 여기에서 시작하십시오

이 작은 디버그 녀석을 밑바닥에서 치고, 만약에 당신이 여기에 프로파일을 시작하면 만들어지는 기본 JSON 파일이고, 나는 그것이 당신이 그것을 무엇을 기반으로 채울 수 있는지를 알 수 있도록 만들어 줄 것을 요청할 것입니다 당신의 전화 번호부에서 본다 그러나 만약 당신이 누군가를 돌보고있는 누군가라면 다시 알 것이다 꿀꺽 꿀꺽 마시고 항상 우리 노드를 업데이트하기 전에 언급 한 내용을 실행하고 있습니다 그 라인을 따라 뭔가를 다시 시작하면 다른 프로세스를 실행하게됩니다

또는 당신이 할 수있는 다른 프로세스에 붙어 있지만,이 경우에는 당신을 사용하고 있습니다 NPN 출발을 알고 있고 나는 여기에 프로그램에가는 것이 많지 않다는 것을 알고있다 설정할 수는 있지만 구성을 보게되므로 여러 가지 옵션이 있습니다 여기에 그들은 꽤 잘 주석이 달려있어서이 아이템들이 무엇인지에 대해 이해할 수 있습니다 될거야 그리고 당신이 할 필요가있는 모든 것은 단지 기본적으로 시작됩니다

그래서 디버거 항구에서 경청 할 것이지만, 내가 원했던 그 물건을 보게 될 것입니다 시작할 준비가되어 있고 설정되어있는 기본값을 기반으로 시작됩니다 다른 단어를 지정하지 않으면 NPM이 기본값을 시작합니다 그렇지 않으면 localhost가됩니다 3000으로 돌아가서이 페이지의 나이를 새롭게 할 수 있어야합니다

진실은 맞아 맞아 오 부엉이 감사합니다 감사합니다 감사합니다 감사합니다

당신은 나를 사랑합니다 당신은 정말로 나를 사랑하고 당신은 이것이 작동한다는 것을 알게 될 것이고, 만약 내가 가면 그 길로 바로 가보 았을 때 여러 템플릿이 사용되는 것을 볼 수 있습니다 그리고 우리가했던 그 색인 페이지에서 다시 우리는 당신이 여기에 우리가 급히 환영 받는다는 것을 알고 있다고 말했습니다 우리가이 템플릿으로 돌아 가면 어쩌면 장소를 표현할 것인가? 어쩌면 우리는 단지 그것을 수정한다 조금 그래서 나는 이것을 멈출거야

나는 그것에 대해 걱정할 필요가 없다 그리고 나는 갈 것이다 인덱스로 돌아가서 실제로 보내려는 데이터를 변경하겠습니다 익스프레스 대신에 라미가 잘 자고있어 그는 잘 할 수 없다

나도 몰라 나는 네가 눈을 뜨고 잠을 잘 수 있다고 말할 수 없다 숨겨진 것처럼 보이지 않는다 오늘 밤 재능이 LinkedIn에서 내 좋아하는 취미 중 하나이기 때문에 당신을지지합니다 나는 그 제목을 바꾸었고 다시 우리가 가서 이것을 시작할 수 있습니다

당신이 그것을 할 수 있다면 당신은 그것을 할 수 있습니다 그 변수가 사용되면 오른쪽으로 바뀌므로 여기서 더 많은 것들을 추가 할 수 있습니다 제목과 같은 텍스트인지 여부를 추가 할 수 있습니다 참 / 거짓과 같은 변수를 우리가 점검하기를 원한다면 우리는 모든 것을 할 수있다 여기에 물건을 넣어두면 아주 간단하다는 것을 알 수 있습니다

하지만 장소를 보면 저도 그걸 보았습니다저기서 많이 달라진 것 같아요 예 미친 그것은 압도 매우 압도적 인 우리가 여기에 일부 UX를 필요하지만 오 설계 예 그래, 우리는 몇 가지 디자인 도움이 필요하지만 실제로 당신에게 감각을주기 위해이 템플릿을 만들었습니다 당신이 할 수있는 몇 가지 더 많은 일들이 조금 더 복잡 할 수도 있다는 것을 압니다 그래서 우리가 가면 우리는 그 장소들을 보아라

우선 모든 길을 보자 그래서 우리가 도로를 볼 때 우리가 간다면 당신은 색인 대신 렌더링을하는 것을 볼 수 있습니다 템플릿 여기에 다른 템플릿을 선택하고 있으므로 여기에 장소 템플릿이 있습니다 장소 템플릿을 선택하고 다른 것들을 여러 번 전달합니다 좋아요

그래서 저는 여기에 부울 같은 가치를 지닌 제목이 있습니다 네가 그곳에서 원하는 것을 넣을 수 있다는 것을 알아 네가 가질 수있는 곳이있어 개를 예를 들면 시험을 위해 당신은 당신이 이것 같이 다시 구조화 한 종류 알고있다 당신이 그들을 설정하고 싶어하지만 그것은 조금 더 많은 이름과 URL을 가지고 어떤 식 으로든 할 번호 하나가 객체 번호 2를 가질 때처럼 연관성이있는 것은 그 종류의 객체를 가지고 있습니다 뭔가 좀 더 복잡해지기 때문에 반복해서 반복 할 수 있습니다

순서대로 그렇게 정확하게 여기에 내가 왜 그렇게하는지에 대한 이유는 내가 한 번 그렇게한다 저것을 꼭 한번 보시면 저것이 분명히 순서대로옵니다 그 번호를 붐에서 꺼내 자마자 반드시 주문이되지는 않을 것입니다 그래서 우리가 본다면 지금 우리가하는 일에 따라 달라집니다 그래서 우리는 데이터를 올바르게 가지고 있습니다

어떤 종류의 장소는 단지 한 세트의 장소를 의미합니다 우리가 우리의 장소를 들여다 보면 당신은 모든 일들을보기 시작하고 나는 여기서 걷기를 원한다 레이아웃을 확장하여 레이아웃을 다시 가져옵니다 레이아웃은 우리에게 모든 것을 준 것입니다 이 페이지의 크롬 당신이 우리의 헤더 스크립트를 알고있는 HTML 그러나 당신은 보게 될 것입니다

내가 블록에 머리를 덧붙이면 색인에 나와 있기 때문에 내가하고있는 일이있다 페이지는 여기에있다 나는 레이아웃 페이지를 가지고있다 이것은 블록 헤드를 가지고있다 당신이 여기에서하고 싶은 것을 바꿔주세요 기본적으로 그 블록을 가져다가 덧붙이라고 말하고 있습니다

그 블록 이름 머리를 가져다가 이것에 덧붙여라 그리고 내가 여기서 뭘하는지 예를 들어라 여분의 스크립트를 추가하는 것입니다 그래서 여기에 뭔가 추가 할 수 있습니다 이 페이지의 경우 아마이 페이지에서 회전식을 가졌으며 특정 사용자가 필요합니다

그것을위한 회전 목마 스크립트를 알고 있다면 여기에 포함 된 것은 예를 들어 어쩌면 좋을 것입니다 아마 우리가 보게 될 모바일 장치 만이 당신이 모를 수도 있습니다 그냥 여기에 속하는 것들을 추가하면 머리를 덧붙일 수 있습니다 예를 들어, 블록을 없애고 추가 헤드를 추가 할 수 있습니다 뿐만 아니라 이것은 많은 것들을 수정하지 않고 그냥 추가하는 좋은 방법입니다

필요한 곳에서 우리가 여기 내려 오면 블록 내용을 보게 될 것이고 나는 다시 거기에있는 것이 있고 거기에 몇 가지 일이있어서 우리는 h1을 가지고 있고 h1은 가고 있습니다 제목 변수와 같고 h2가 있고 예를 들어 ID를 부여했습니다 그래서 짧은 시간에 클래스를 보았는데 이것은 바로 ID에 대한 속기입니다 이 경우에는이 항목에 ID를 부여하고 스타일을 지정해야합니다 예를 들어, 단락의 링크가 얻을 수있는 것을 알고있는 것처럼 CFS를 수행 한 다음 때로는 템플릿 안에 물건이 있고 때로는 물건 속에 끼어 들기도합니다 템플리트 화는 여러분을 움직일 수 있습니다

그래서 여기에서 우리는 이런 종류의 문법을 가지고 있습니다 당신이 도망 갈 수있게하고 여기에 가서 당신의 공간에 당신의 링크를 추가하고 다시 예를 들어 거기에 공간이 있다는 것을 눈치 챘을 것입니다 그것은 당신을 위해 그 공간을 렌더링 할 것입니다 그리고 이것은 예를 들어 당신이 내가 할 일을 처음 기억했을 때 단락 내에서 링크를 만드십시오 그것도 어떻게 작동합니까? 그리고 나서 당신은 아래로 내려갑니다

우리는 div를 가지고 있고 우리가 가지고있는 div 안에 있습니다 정렬되지 않은 목록 ul good old ul right 그리고 이것이 우리가 반복하는 곳입니다 우리는 내가 여기있는 장소와 우리가 말하는 곳이라고 부르는 변수에 대해 이야기했습니다 여기서 우리는 반복적으로 각 Val 지수에 대해 반복 할 것입니다 반드시 우리가 밸브를 사용하고 있으므로 이러한 항목을 사용하지 않도록 각 항목을 그 모든 항목을 하나씩 살펴보고 내가 만드는 것을 볼 수 있습니다

각 항목에 대한 항목을 나열하면 동적 탐색을 생성해야하는지 알 수 있습니다 결코 절대로 섹션을 추가하는 것처럼 우리가 항상 보듯이 훌륭한 예제로 거의 누르십시오 이것이 어떻게 작동하는지 알면 내비게이션을 알고있을 수도 있습니다 당신은 건물을 짓고 있습니다 우리가 보았다면 href가 다시 URL과 동일 할 수 있습니다

그런데 반드시 여러 가지 방법으로 데이터를 구성 할 수 있습니다 당신이 그것을 알았던 올바른 방법은 첫 번째 아이템을 하나의 아이템으로 되돌릴 것입니다 그런 다음 해당 객체의 URL 속성을 알고있는 URL로 이동 한 다음 기본적으로 당신이 알고있는 모음 이름을 알고 있다고합시다 그 파일 이름 그리고 내가 밑바닥에있는 다른 파일 이름은 내가 보여주고 싶은 종류 야 몇 가지 사항들 당신은 가끔 HTML을 쓰고 싶지 않은 것을 어떻게 알 수 있습니까? 존재하지 않기 때문에 정말 좋은 예가 있습니다

제품을 다시 가지고 있습니다 내 제품으로갑니다 그것은 당신이 내가 항상 제품의 종류를하고 싶지 않은 것을 당신이 알고 있다는 것입니다 제품에 가서 예를 들어 저기에 재고가 없으면 재고가 없어야합니다 나는 정말로 당신이 구매 버튼을 안다는 것을 보여주는 구매 아이템을 보여주지 않는다

아마 나는 비슷한 요구를 보여줘야한다 주식 버튼 오른쪽에있을 때 알림을 받으면 예를 들어 다른 일을 할 수 있습니다 나는 시나리오를 위해 정말로 다른 것을 가지고 있지 않기 때문에 if를 얻었지만, 이 길이 보여 주자 그렇지 않으면 너는 알지 못한다 당신은 다른 것을 보여줄 수도 있고 또 지나가고있는 변수 인 장소를 가지고 있다는 것을 다시 한번 나타낼 수도 있습니다

여기를 통해 확인해 볼 것이고, 그러면 나는 그것을 모두 쓰게 될 것입니다 네가 네가 할 수있는 복잡한 문장을 네가 할 수 있다는 것을 알기 시작할 수있다 더 복잡한 방법을 수행하십시오 여러 변수를 조사 할 수 있다면 알 수 있습니다 예를 들어,이 크기이거나이 기준을 충족하는 경우 재고가 있는지 여부를 알 수 있습니다

그럼이 일을하고 그렇게하면 더 복잡한 일을 할 수는 있지만 시작조차하지 않게됩니다 그것은 조금 당신이 다시 당신이 할 수있는 많은 것들을 알게되면 상당히 복잡해질 수 있습니다 그걸로 나는 단지 당신이 그것에 대해 어떻게 느끼는지 모르겠다 그러나 나는 그것이 걸리는 것처럼 느낀다 약간의 시간은 당신이 너무 많은 논리를 가지고 있어야하지만 당신의 템플릿에서 나는 아무런 의미가 없다고 말할 것입니다

프레 젠 테이션 바로 오른쪽 프레 젠 테이션과 그것을 넣어하는 가장 좋은 방법이어야합니다 unawares 오른쪽 그냥 물건을 렌더링하고 당신이 정말로 당신이 알고 싶어 어쩌면 어쩌면 만약 당신이 그 문장을 넣을 수 있다면 그 논리는 어떨까요? 예를 들어 페이지에서 데이터를 쿼리 할 수있는 경우 데이터가 속한 위치 일 것입니다 데이터베이스가 속한 곳이지만 템플릿에 상황이있을 수 있습니다 나는 네가 if-else를 가질 것이고, 네가 와서 한 번씩 인터뷰를 할 것이라고 생각한다 당신이 그것을 남용하면 나에게 도움이 될 수 있습니다 최선의 조언을하지만, 당신이 옳을 수 있다는 것을 의미하는 것은 아닙니다

당신은 그런 종류의 것들을보기 시작했습니다 그래서 그것은 J templating의 기초입니다 어떻게 다시 작동하는지 부끄러워하지 마라 다른 것들을 조심해라 핸들바 콧수염

내가 생각하는 것이 무엇이든 내 레퍼토리에 하나 더 필요하지만 너는 감각을 알아야한다 그 중 하나가 가장 좋아하는 사람이 많습니다 서로 다른 언어를 사용하기도합니다 그래서 핸들 바 (handlebars)와 같은 것이 PHP뿐만 아니라 다른 언어에서도 사용 가능할 수 있습니다 J가 시작하기에 좋은 곳이라면 무엇이든지 편할 것입니다

우리가보기에 좋다고 생각하는 것은 기본 템플릿이 있다는 것입니다 당신에게 기본 상속을 보여주는 장소 여러 템플릿 어떻게 렌더링되는지 어떻게하면 데이터 전달 옥 (Jade) 형식의 기본 사항 중 일부를 알고있는 데이터를 어떻게 변경합니까? 그리고 templating 나는 우리가하기를 원할 다음 일은 우리가 아마 부트 스트랩에 대해 조금 이야기하고 싶으므로 부트 스트랩을 가져올 것입니다 지금은 대부분의 사람들이 부트 스트랩에 대해 들었다고 생각할 것입니다 예, 그들이 그것을 들어 본 적이 없다면 확실히 보았습니다 맞습니다

그것을 넣으면 부트 스트랩이 아마도 가장 인기있는 프레임 워크 일 것입니다 당신이보고있는 대부분의 것들이 확실히 약간의 부트 스트랩을 사용하고 있다는 것을 내기해라 그리고 부트 스트랩을 다시 안다면 몇 가지 측면이 있습니다 그것은 당신에게 그리드 반응 레이아웃 능력을 알기 때문에 자신을위한 것입니다 그리드 프레임 워크에 대해 걱정할 필요가 있으며 이는 반응이 빠른 사이트 일 것입니다

그래도 오 그 옛날 학교에 던져 버렸어 그래서 나는 응답 반응 사이트는 근본적으로 내가 본 것 중 가장 쉬운 방법으로 말할 것입니다 그것에 대해 미쳤어 요 저는 사람들이 반응 형이 요즘 의미하는 바에 대해 논쟁하는 것 같아요 당신은 모든 브라우저 크기 차원 변형에서 작동하는 사이트를 만드는 것에 대해 알고 있습니다 적어도 그것은 그것의 목적과 목표입니다

이제는 다른 모든 것들이 있습니다 그것은 많은 사람들이 단지 레이아웃에 초점을 맞추고 레이아웃에 문제가 없다고 강조합니다 대부분의 사람들이 생각할 때 다른 것보다 디자인 문제를 더 많이 푸는 것 반응 형 디자인은 브라우저를 움직이는 것과 같이 생각합니다 교대 전환하고 변화하고 그것은 당신이 쓰고있는 하나의 사이트를 알고 있다는 것을 의미합니다 하나의 코드 기반이 모바일 장치에서 잘 보일 것입니다 태블릿은 큰 화면에서 잘 보일 것입니다

바로 여기에서 알 수 있습니다 나는 그것이 그 사촌을 위해 정말로 인기있는 부트 스트랩에있는 것 인 바로 그 기초 다라고 생각한다 그것은 당신을 위해 더러운 일과 같은 그런 종류의 일을 많이합니다 그런 종류의 모든 CSS를 작성하여 이러한 모든 그리드를 처리하고 물건이 어떻게 붕괴되는지 알아야합니다 그래서 그것의 하나의 구성 요소는 분명히 그리드 구조가 될 것입니다

일들 레이아웃을 짜내 어 그 반응 형 그리드 레이아웃을 만드는 방법 또한 기본 수준의 CSS를 제공하므로 비슷한 종류의 부트 스트랩을 제공합니다 우리가 모든 것이 주물화 된 아내처럼 보일 것이라고 생각하는 것입니다 당신은 그것이 빠르고 쉽다는 것을 어떻게 알 수 있으며 모든 종류의 그것들처럼 좋아 보이게합니다 멋지게 보이기 때문에 CSS를 다시 설정하는 두 가지 일을합니다 CSS를 재설정 할 것입니다

모든 것을 가로 질러 정확히 동일하게 적용하여 정상적으로 공유하도록하십시오 그것은 그것을 할 것이고 그것은 또한 들어갈 것이고 기본적으로 여기에 다시 말하면서 표준화한다고 말할 것입니다 모든 브라우저의 아이디어는 다른 작은 글꼴에 대해 자체적 인 작은 기본값을 가질 수 있습니다 크기를 채우면 다른 작은 것들이 많이 있다는 것을 알지 못합니다 네가 그렇게 익숙하지 않다면 그냥 들어갈 수있는 좋은 방법이다

우리는 지금 우리가 기준선을 가지고 이것을 재설정하고 그것은 당신에게 당신의 아이디어를 제공합니다 CSS에 대한 표준 서식 파일이나 기타 등등은 다음과 같이 여러분의 아이디어가되어야합니다 글꼴 크기와 색상 및 모든 것들이 우리가 추천하는 것입니다 그렇기 때문에 사람들이 특히 솔직하게 말하면 devstrap이 정말 좋아하는 이유는 그들은 단지 그것을 포함하고 자동으로 모든 CSS 작업과 모든 것을해야만합니다 조금 더 나아질 것 같아요

당신이하고있는 일에 달려 있다는 것을 알고 있습니다 좋은 선택이있는 것처럼 모든 것이 조금 더 좋아 보인다 그들은 실제로 모든 다른 유사 콘텐츠에 대해 생각해 봤지만 몇 가지 다른 것들이 있습니다 그 부트 스트랩 (bootstrap)은 당신에게 줄 것이고 그래서 그것의 일부는 자바 스크립트 컴포넌트가 될 것입니다 잘하면 모두 함께 작동하고 당신은 또한에서 사용하고 싶은 것을 선택할 수 있습니다 그것의 각각은 그것을 주문을 받아서 만든다 그래서 당신은 좋아하고 우리는 여기에서 가지고있다 다운로드를 주문을 받아서 만드십시오 어디서 커스터마이징을 할 수 있습니까? 기본적으로 들어가서 커스터마이즈 할 수 있습니다

좋아, 내가 원하는 공통 CSS를 원하는 구성 요소를 원한다 몇 번이고 반복해서 사용할 수 있습니다 일부 사람들에게는 이것이 알기 때문에 매우 편리합니다 어쩌면 당신은 내가 그 회전 목마 붐을 필요로하는 것처럼 보이는 사람 일 수 있습니다 당신은 그것을 설정하는 방법과 당신을 사용할 CSS 클래스에 대한 그들의 문서를 따른다

당신이 황금의 종류인지 알고 있다면 당신은 일반적인 CSS의 아이디어를 알고 있습니다 당신의 그리드 시스템과 당신의 폼이되는 것은 스타일을 정의하는 것이 두통과 같은 것을 의미합니다 혼자서 목표를 수행합니다 실제로 부트 스트랩 크기를 줄이는 것이 좋습니다 당신이 구성 요소를 사용하지 않는지 당신이 모르는 경우라면, 당신은 항상 통과해야합니다

당신은 당신이 처음부터 시작해서 그것을 다운로드하고 포함 할 것인지를 들어 주는지 안다 멋지다는 것을 알았지 만, 항상 성능을 향상시킬 수있는 방법을 찾고 있습니다 사람들이 다운로드하는 내용의 양을 줄이십시오 너는 네가 다시는 필요없는 것을 너가 아는 것들을 빼앗는 그런 종류 야 우리는 당신이 알고있는 커리어 플러그인과 같은 플러그인에 대해 조금 이야기를 나눴습니다

이 모든 종류의 매우 일반적으로 발견 된 기능은 사용자를 위해 작성되었으며, 상자 밖으로 꺼내서 작동 시키면 완벽하다는 것을 알 수 있으므로 몇 가지 방법이 있습니다 실제로 시작하고 부트 스트랩을 사용하므로 패키지로 다운로드 할 수 있다는 것을 알고 있습니다 프로젝트 오른쪽에 포함 시키거나 실제로 CDN에 가서 포함시킬 수 있습니다 그것과 그것이 내가 한 일이고 당신은 왜 당신이 그것을 할 것인지에 대한 각각의 이유가 있음을 압니다 그러나 만약 우리가 바로 여기를 본다면 레이아웃을 보면 우리의 기반과 같은 것입니다

레벨 수업을 통해 CDN에서 나온 내용을 볼 수있을 것입니다 축소하려고하고 CSS를 가져 와서 자바 스크립트도 포함 시켰습니다 이제는 실제로 JavaScript를 사용하지 않고 있습니다 스크립트를 포함하는 방법을 보여주고 싶었습니다 여러 개의 스크립트를 포함 할 수는 있지만 여기에서 원하는 것은 원하는 것입니다

이 파일이 로컬 인 경우이 파일을 다시 포함하십시오 그런 다음 그 중 하나를 덮어 쓰거나 기회를 추가하려는 경우 너는 그 일을 모두 포함하기를 원할 것인가? 모든 것을 수행 한 다음 덮어 쓰기하거나 추가해야하는 경우에는 예를 들어, 자신 만의 스타일 시트를 작성하면이 예제를 실행하고 일이 어떻게 보일 것인가의 차이를보기 시작할 수 있습니다 그래서 우리는 이걸 보았습니다 이것은 부트 스트랩이며 우리는 다시 볼 수 있습니다 전에는 어떻게 보이는지 보지만 이런 것들을보아야하는 것은 처방입니다 어떻게 작동해야하는지, 얼마나 많은 패딩이이 UL에 있는지, 그리고 크기는이 품목 중 일부에 대해 전반적으로 알고 있으므로 다시 들어가면 여기에 내가 주석을 제거하면이 스크립트를 사용하면 스크립트를 보관할 것입니다

항목을 꺼내서 멈추고 다시 실행합니다 나는 내게 너무 행복해 지도록하고있다 그래서 내 페이지로 돌아 가자 우리가 그것을 얻었는지 보아라 그것을 할 수있다

그러면 당신은 그 변화의 권리를 보게 될 것이다 여기 보이는 글꼴이 조금 굵은 글꼴이 아니라 크게 알 수있는 글꼴 중 하나입니다 부트 스트랩에 대한 기본값은 하드 제로와 같이 제로 0처럼 사용하지 않습니다 그들은 마치 어두운 어두운 회색 회색 영역처럼 사용하고 있습니다 InDesign 대부분의 사람들은 흑인을 절대 사용하지 않는다고 말하지 않습니다

당신의 눈을 잘 그것은 약간의 소프트웨어를 사용하여 회색의 약간 밝은 그늘 당신은 그들이 그렇게 작은 일을하고 있다는 것을 알기 시작합니다 그래서 여기에 예를 들어 있습니다 글꼴에서 당신은 우리가 갈 수 있고 대부분 차이점을 볼 수 있다는 것을 알게 될 것입니다 글꼴에서 이러한 색상 중 일부를 다시하지만 그것은 당신에게 돌아갈 수있는 몇 가지 기본값을 제공합니다 부트 스트랩을 사용하면 원하는 모든 것을 사용자 정의 할 수 있습니다 우리는 그것을 덮어 쓰는 것에 대해 조금 이야기를 했었습니다

그래서 그것을 다시 넣으면됩니다 내가 여기로 돌아가서이 스타일을 가지고 있다면 나는 여기에 요소를 가지고있다 당신이 그것이 메인 타이틀의 ID라고 알고있는 메인 타이틀이라고도 불렀습니다 나는 또한 생각한 요소를 가지고있었습니다 인덱스 페이지에서 Stacey와 같았습니다

CSS를 사용하거나 클래스를 유감스럽게 생각합니다 내가이 편집장에 대해 좋아하는 것들 중 하나 인 Stacy를 원한다면 이것을 덮어 씁니다 나는 당신이 당신에게 작은 상자를주는 방법과 당신의 것이 무엇인지 알 것입니다 제 색깔 이죠 그건 끔찍하네요

그러나 그것은 당신에게 그 감각을 제공합니다 당신이 알고있는 모든 것의 자동 완성의 미친 양을보기 시작할 준비가 되었습니까? CSS의 관점에서 그리고 편집자와 자동 완성의 측면에서 다시 한 번 우리는 라이브 코딩과 같이 많은 것을 보여주지는 못했지만 기본적으로 모든 노드에 대해 그 타이프 스크립트 정의 파일을 읽고 그것은 당신이 오디오를 할 수있는 것을 알고 있습니다 자동 완성 기능을 사용하면 원하는 종류의 정의 파일을 빠르게 추가 할 수 있습니다 정말 멋지다 그래서 다시 한번 보자

내 스타일을 덮어 쓰려고하는 사람들이 여기에있다 색인에 있어야한다 페이지와 정말 정말 끔찍한 색깔 네, 이것이 내 모두가 사실입니다 만약 당신이 색을 알고 있다면 무엇이든 당신이 알고있는 대화방에 놓으십시오 호기심에서 벗어나지 만 옥과 함께 일하는 것을 아는 것들이 있습니다 파란 물건으로 작업하면서 우리는 부트 스트랩에 대한 많은 기능을 보여주지 못했습니다

거기에 자원의 톤과 MVA 정말 좋은 것들을 가지고 맞아 그래, 난 미안 해요 제 슬라이드를 여기 저기 살펴보면 멋진 습관처럼 보입니다 Microsoft가 제작 한 몇 가지 과정 중 일부는 Microsoft Virtual 아카데미는 단지 kms의 슬래시로 UI 부트 스트랩을 만들었습니다 EDX에 또 다른 것이 있습니다 당신이 좋아하는 코스 중 다른 하나가 예를 제공합니다

그래서 우리는 많이 낭비하지 않았다는 것을 압니다 다시 부트 스트랩에 시간을 줘 물론 당신이 하루 종일 보낼 수있는 그것에 전념 플러스 그 자원 온라인 그래,하지만 우리는 분명히 그것이 포함 된 방법을 보여주고 싶습니다 다시 Jade 템플릿을 사용하면 온라인 리소스가 많이 있습니다 당신을 따라갈 수 있습니다 사용하기 시작할 수 있습니다

나는 당신에게 기본을 보여 주며, 당신은 어떤 것을 알고 있습니다 어쩌면 정확하지 않은 종류의 예가 제인이 알고있는 데이터 예라고 생각합니다 그래, 내 생각에이 모듈이 맞을 것 같아 그래서 질문이 있으시면 우리가 가져갈 채팅방에 자유롭게 올려주십시오 우리의 다음 모듈의 시작 부분에서 그들을보고 그때까지 우리는 당신을 보게 될 것입니다

그만해 안녕하세요 비주얼 스튜디오 코드를 다시 사용해 주셔서 감사합니다 nodejs와 함께 모듈 5에 우리는 디버깅에 대해 이야기 할 것입니다 오, 그래, 모든 좋은 것들을 배포 그래서 우리는 모듈로 시작하지 왜 개요 Azure 웹 응용 프로그램에 대해 이야기 할 것입니다

개요 Azure 대시 보드를 소개하고 github 및 마지막으로 고급 디버깅을 수행하십시오 그래서 우리는 몇 가지 새로운 기능을 보여 드릴 것입니다 디버깅을 통해 할 수있는 일들은 분명하지만 가장 원활한 통합 중 하나이기 때문에 웹 앱과 노드와 함께 작업하는 방법 네가 좋아하든 네가 원하는지 상관없이 배포한다는 측면에서 나는 기분이 좋다 시각적 인 편집자 또는 씨족 선 또는 웹 응용 프로그램 예와 함께 작동하는 겹침 선 및 그래서 만약에 보면 웹 앱으로 일반적으로 중요하지는 않습니다 중요하지 않습니다

우리가 전개 할 수있는 모든 일에 대해 우리가 매우 개방적이라고 말해야합니다 그것이 당신이 알고있는 웹 사이트가 될 것인가? 물론 파이썬 aspnet이나 PHP를 사용하면 매우 간단합니다 그 항목을 배포하고 배포 할 수있는 좋은 방법들 전체 프로세스를 조금만 더 쉽게 만들어서 우리가 제공하는 일부 소프트웨어를 설치할 수 있습니다 갤러리와 갤러리는 실제로 실제로 갈 수있는 좋은 방법입니다

기본적으로 사전 구성된 스택을 알고 있다는 점에서 무엇이 제공되는지 확인하십시오 당신은 함께 놓을 수 있습니다 그래서 우리가 슬라이드에서 가지고 있었던 예가 평균 파리와 같았습니다 평균 스택 또는 워드 프레스 워드 프레스 아마 내가 생각하는 가장 인기있는 것들 중 하나입니다 본 사용법은 문자 그대로 그 아름다운 한 번 클릭 설치 아이디어가 우리가 당신의 웹 애플 리케이션으로 사용하고 있고 우리가 사용하고있는 것처럼 몇 가지 제한 사항이 있습니다 전체 경로 거기에 몇 가지 제한이있어 당신은 그들이 내가 어떻게 생각합니까? 포트가 항상 네가 원하는대로 설정할 수는 없다는 것을 짐작할 수있다

한 가지 다른 점은 모듈에서 네이티브 모듈을 컴파일해야 할 때가 있다는 것입니다 맞아요 반드시 그렇게 할 필요는 없습니다 귀하의 웹 응용 프로그램은 정말로 당신을 위해 모든 것을 돌보고 걱정할 필요가 없습니다 모든 장면 뒤에서 구성 설치를하는 것은 서비스로서의 플랫폼 그리고 당신은 당신이 가기에 좋다는 것을 알고 있습니다

그래서 그들은 당신이 그것을 가능한 한 쉽게 만들어 주려고 노력하고 있습니다 당신에게 우리가 할 수있는 것과 같은 많은 질문을한다는 것을 아는 부부의 것들 제한 사항은 무엇입니까 잘 아는 사용자 정의 도메인 아무런 문제가 없습니다 사용자 정의 도메인을 매우 쉽게 실행할 수 있으므로 FTP 사용자를 모두 추가 할 수 있습니다 당신은 어쩌면 당신이 어떤 종류의 소스 컨트롤을 아는 것을 통해 배포하려고 할 것입니다 어쩌면 당신은 FTP 사용자이고 다른 누군가는 파일을 올릴 수 있어야합니다

여러 사이트를 실행할 수 있습니다 실제로 제작 및 준비 환경에 적합합니다 나는 많은 웹 개발자들이 요즘이 과정을 가지고 있다고 느끼고있다 당신은 그것이 더 구조화되어 있고 당신이 어떤 환경에 있는지에 따라 달라지는 것을 보았습니다 전적으로 – 웹 개발자와 대기업 팀이 혼자있는 경우 알 수 있습니다

프로세스가 다르지만 양산 환경의 생산 종류가 분명합니다 당신은 특정 환경에서 이러한 모든 것들을 사용한다는 것을 당신이 테스트 할 수 있다는 것을 알고 있습니다 일단 준비되면 준비가 끝났 으면 시험을 치고 황금이됩니다 당신은 당신이 쉽게 말할 수 있기 때문에 그렇게 말하는 것이 정말 쉽다는 것을 알 수 있습니다 너가 너의 생산 및 너의 준비가 너는 아마 맞을 수있는 경우에 너는 후에 바꿀 수 있는다 아니, 당신이 그 슬롯을 만들 수 있다는 것을 의미 할 수 없다

당신이해야 할 일은 아주 쉽다는 것입니다 당신이 프로젝트에서 일하고 있다는 것을 알고 있습니까? 우리는 github을 사용하여 프로젝트 그래, 그게 좋은 방법은 자동으로 사촌을 배치하는거야 우리가 끝내 예, 우리는 바쁘다 그래서 우리는 우리가 일하고 있다는 것을 알기 위해 그 환경을 통해서이며 어쩌면 우리는 두 가지를 가지고 있습니다 그리고 아마도 하나의 가지가 우리가 현재 개발하고있는 것이고 다른 하나는 아마도 다른 쪽이 될 것입니다 주인님과 선생님의 지점 그것은 견고합니다

안정되어 있을지도 모릅니다 우리의 황금 배치와 같은 우리의 종류 인 반면, 다른 하나는 플럭스가 약간 생겨서 만들어 낼 수 있습니다 예를 들어 환경을 분리하여 각자 repo의 다른 지점을 가리키고 있다는 것을 알고 있어야합니다 당신이 가고 싶어하고, 변화를 만들 때마다 자동으로 가고 있습니다 그걸보고 그걸보고 아주 차가워 져서 미안해

어떻게 보여줄 수 있니? 네 대시 보드처럼 보이므로 여기 내 대시 보드를 가져올거야 나의 시험 계정을 가지고있다 나의 데모 Mulcahy 계정 나는 내가 모든 것을 데모라고 부를 것이라고 결정한다 Mulcahy 그리고 일단 로그인하고 모든 것을 설정하면 대시 보드가됩니다 당신은 무료 평가판 바이저를 할 수 있으며, 당신은 그것을 일정 금액을 위해 사용할 수 있음을 압니다 시간은 크레딧을 얻습니다

모든 것을 시도해보십시오 내가 좋아하는 일들에 대해 다시 한번 그 기분을 느낄 수 있을지 모르겠다 시각적으로 나는 최신 대시 보드를보고 있지 않다 미리보기 대시 보드가 있습니다 계속 유지할 수 있습니다

더 많은 사람들이 이 시점에서 익숙해지면 어떤 시점에서 미리보기로 갈 것입니다 충분히 더 멀리 또는 다른 MVA이지만이 대시 보드를 보면 내 좋아하는 것들은 그것이 시각적 인 것이고 보는 것이 좋으며 나는 그것이 정말로 미친 것이라는 것을 안다 하지만 당신이 알고있는 누군가를 위해서 나는 명령 줄에서 많은 일을한다 나는 꽤 편안하다 그것과 함께하지만 어쩌면 아직 거기에없는 누군가를 위해 이것과 놀라지 않을 것이 정말 중요합니다 그래서이 물건을 볼 수 있도록 알았어

내가 여기 와서 여기 가야 겠어 네가 좋아하는 것 같아 응답 및 피드백과 나는 누군가가 언제 웹 개발자인지 모릅니다 배포를 부끄러워하지 말고 항상 그들이 이런 식으로 보일 것입니다 정말 좋아 보이므로 대시 보드를 보면 모든 옵션을 사용할 수 있습니다

그것들은 왼쪽에있을 것이고, 우리가 오늘날의 웹 애플리케이션에 집중하고 있다는 것을 다시금 확신 할 것입니다 맞아하지만 당신이 푸른 색의 관점에서 사용할 수있는 여러 가지 것들이있다 IOT를하고 있다면 데이터베이스 스토리지 서비스 버스를 아는 모든 것이 있습니다 CDN 등의 미디어 서비스를 계속해서 사용할 수 있다는 것을 알고 거기에 많은 옵션이 있습니다

모든 항목이 여기에 표시되므로 예를 들어 내 자신의 종류의 개발에서 알 수 있습니다 계정 나는 많은 것들이 나열되어 있으므로 아마 당신이 아마 그 중 일부를 닫거나 어쩌면 내가 사용하지 않는 것을 삭제할 수도 있습니다 너는 너와 같이 너와 같이 진행되는 모든 일들에 대한 아주 기본적인 개요를 얻는다 당신의 가입 및 당신은 그들이 저장을 위해 예를 들면 어떤 유형인지 이해합니다 우리가 다음 모듈에서 사용하게 될 캠프 나는 당신을 움직이는 웹 앱을 가지고있다

알아요 그리고 그것은 그들이 어떤 종류의 서버에서 실행되고 있는지를 알려줍니다 당신은 모든 항목을 다루고 있습니다 지금 진행중인 작업에 대한 기본적인 개요를 보여줍니다 웹 응용 프로그램을 사용하면 오늘 우리는 대부분이 섹션에서 웹을 사용하게 될 것입니다

앱을 사용하면 웹 앱과 관련된 모든 것을 보여줄뿐입니다 나는 사용하고있어 무엇이 실행 중인지에 대한 감각을 주며이 모든 것을 볼 수있다 항목을 선택하고 그들이하는 일을 클릭하면 SM 테스트 노드를 볼 수 있습니다 그리고 일단 여기에 계시다면 가지고 계신 다른 아이템을 보시고 대시 보드를 가지고 계십시오 여기에 시작 페이지의 종류가 있습니다

포털 페이지가 거의 어느 정도까지 존재한다는 것을 알고 있습니다 여기있는 모든 것들이 있습니다 여기 게시판을 사용하는 방법을 사용하면 첫 번째 종류의 중지를 알 수 있습니다 조금만 생각해보십시오 대시 보드이고 대시 보드 종류는 전체적으로 한 눈에 볼 수 있습니다

예를 들어 트래픽과 트래픽을 볼 수있는 빠른 링크에서 어떤 일이 일어나고 있는지 요청 또는 오류 또는 이런 종류의 일이 얼마나 오래이 그래프와 여기에 아래로 스크롤하면 무슨 일이 일어나는지에 대한 높은 수준의 감각을 얻을 수 있습니다 당신이 기본적인 웹 개발자이거나 들어갈 누군가인지 알 수 있도록 헤이 너도 알다시피 우리가 이걸 확장 할 필요가 있다니 무슨 일이 벌어 지는지 나는 볼 수있다 매우 전체 론적 인 관점에서 내 사이트에서 무슨 일이 일어나고 있는지, 너는 바로 여기에서 빠른 눈짓 항목을 얻는다 그래서 우리는 될 것이다 아마도 꽤 많이 들릴 것입니다

우리가 얘기 한 것과 비슷한 것들을 보게 될 것입니다 새로운 미리보기 포털 오른쪽보기 응용 프로그램 응용 프로그램 서비스 연결 응용 프로그램 알고있는 문자열 예를 들어이 프로파일에 대해 알고있는 배포 자격 증명을 게시합니다 github의 구성입니다 새로운 배포 슬롯을 추가하면 모든 것을 빠르게 볼 수 있습니다 사이트에 대한 URL을 만들고 싶을 수도 있으므로 기본적으로 작성하면 알 수 있습니다

Azure에있는 사이트 나 웹 앱은 항상 당신이 그 이름을 붙이게 될 것입니다 그것은 당신의 웹 사이트의 그물로 도트를 할 것입니다 당신이 그것을 다른 수 있도록 설정할 수 있습니다 완전히 사용자 정의 도메인을 사용하십시오 당신이 알고있는 표준을 설정해야합니다 cname과 레코드를 망치는 것은 당신이 어디에서든지하는 모든 것을 전환합니다 예, 그렇습니다

완전히 정보를 필요로합니다 그것은 그것과 같은 종류의 단계이기 때문에 그것은 당신의 자신의 관습을 다시 설정할 수 있습니다 도메인에 대해 우리는 FTP에 대해 조금 이야기 했으므로 FTP를 통해 호스트 이름은 FTP 사용자를 설정할 수 있습니다 예를 들어, 대신에 FTP를 github로 설정하여 어쩌면 FTP를 배포하고 싶을 수도 있습니다 당신이 물건을 움켜 잡을 수 있도록 접근하기를 원할 것입니다

당신이 좋아해야만한다면 누군가가 그곳에 무언가를 집어 넣을 수있는 방법과 거의 비슷합니다 당신이 그것을 원한다면 완전히 할 수있다 그것을하고 싶다 내가 어쩌면 거기에 있지만 내가 FTP를 위해 배포 한 마지막 시간을 기억할 수 없다 정말 오래 전에 배포 할 수있는 유일한 방법 인 경우가 있습니다 일은 FTP를 통해했습니다

예, 제가 생각하기에 github 프로세스처럼 설정하려고했던 것을 기억합니다 나는 지난 번에 실제로 FTP를 사용 했었는데 나는 올바르게 해왔다 나는 기억할 수 없다 정말로 흥미로운 점이다 왜냐하면 많은 것들이 그러한 의미에서 지속적인 통합을 거쳤습니다

자동 배포 자동 푸시와 같습니다 소스 컨트롤이있는 배포는 배포 슬롯에 연결됩니다 매우 일반적인 추세가 지금은 특히 밀어 넣기예요 이제는 네가 그것에 뭔가를 푸시하게 내버려둬 네, 그게 우리가하는 것을 의미합니다

우리 웹 애플 리케이션에서 우리는 다른 Azure 서비스를하므로 개발자에게는 더 편리합니다 일을 밀어 올릴 수 있어야하고 FTP 클라이언트를 열어 서버에 연결해야합니다 올바른 사용자 이름 비밀번호를 얻은 다음 모든 것을로드하는 데 시간이 걸리는 것처럼 지켜보십시오 네, 그 순간에 나빠질 것 같아요 당신은 알고 있지만 자동으로 특히 github 또는 심지어 그래 같은이 서비스를 연결하면 자동화 온라인 예, 당신이 커밋하는 순간과 당신이 잘 가면 좋은 순간이므로 조심하세요

학기를 저 지르지 마라 네가 개발 지 점을 알고 있는지 확인하라 빌드는 빌드 예를 깨뜨리지 않으므로 이러한 종류의 모든 것을 알기 시작합니다 대시 보드에서의 높은 수준의 것들 우리는 몇 가지 방법을 알게 될 것입니다 이 높은 수준의 것들 중 당신이 배포 방식과 작동 방식에 대한 감각을 줄 수 있습니다

우리는 실제적으로 당신이 그것을 통해이 종류의 사이트에 전개 할 수있는 사이트를 배치 할 것입니다 특히 실제로 전개되고있는 것처럼 보입니다 지금까지의 경험에서 사람들이 가장 일반적으로 사용하는 방법 중 하나 일 때 지금부터 배포 중이며 처음부터 배포하는 측면에서 많은 옵션이 있습니다 제어하지만 대부분 사람들이 대부분 github 옵션을 좋아한다는 것을 보았습니다 예를 들어, 소스 컨트롤에서 배포하기위한 옵션을 추가하면이 탭이 여기에 표시됩니다

그리고 그것은 여러분에게 여러분의 역사를 알려줍니다 여러분이 볼 수있는 뒤로 돌아갈 수 있기 때문에 멋집니다 배포되었을 때 배포 아이디어를 알고 있으면 링크를 알 수 있습니다 그 모든 것들을 한 곳에서 모두 github repo에 새 것처럼 그래서 우리가 간다면

다시 모니터를 알면 사이트를 모니터링 할 수있는 능력이 더 많이 생깁니다 더 세분화 된 상태로 진행되므로 진행중인 모든 작업을 확인할 수 있음을 알 수 있습니다 그것은 당신이 알고있는 CPU 시간이나 어떤 종류의 서버 오류라도 의미합니다 어떤 종류의 요청이 서버에서 발생했는지 너도 알다시피 우리가하는 일에 대한 감각을 얻을 수있을거야 이제는 웹 작업을 건너 뛰고 configure 작업을 수행하므로 configure 작업을 수행 할 수 있습니다

들어가기 위해서는 모든 종류의 구성 노출과 관련하여 몇 가지 옵션을 선택하는 것이 좋습니다 다시 당신은 그것이 뒤의 모든 것을 돌보고 있다는 것을 알기 때문에 기본적으로 VM 관리를 수행하는 것에 대해 걱정할 필요가 없습니다 정말로 그게 일종의 일인가? 그리고 그 감각 때문에 너는 무엇이든 걱정해야 해 그것은 우리가하는 것처럼 서비스 무대의 플랫폼에 특별한 것입니다 우리는 코트를 입는 것만으로 준비가 된 플랫폼을 제공합니다

거기에 네, 예, 예, 당신은 다른 것들에 대해 걱정할 필요가 없습니다 그래서 당신이 이것을 보았다면 당신은 아마 PHP에서 글을 쓰고 있고 필요하다고 생각할 것입니다 최신 버전이거나 56 필요합니다 특정 용도로 사용하고 있습니다

자바와 파이썬이 있다는 것을 알도록 구성 할 수 있습니다 버전도 웹 소켓을 가지고 있으므로 지정할 수없는 것처럼 조금 이야기했습니다 특정 포트를 사용할 수 있지만 기억해야 할 아무 문제없이 웹 소켓을 사용할 수 있습니다 socket IO와 같은 것을 사용하려는 경우 웹 소켓을 켜야합니다 바로 당신이 알다시피, 당신은 Visual Studio 온라인에서 편집 할 수있는 모든 것을 알고 있습니다

따라서 사이트를 배포하면 빠른 수정을 원한다는 것 중 하나입니다 Visual Studio 온라인을 사용하려는 github에 연결되어 있지 않은지 확인하십시오 당신이 알고있는 파일을 열어서 열어보기 쉽다이 브라우저를 떠나지 말라 창 당신이 정말로 당신의 워크 플로우에 다시 의존하고 싶지 않다면 우리는 조금 이야기했다

조금 있지만 도메인 이름이 SSL 인증서이고 우리가 오름차순으로 들어간다는 것을 알고 있습니다 권한 부여 배포를 다시 한 번 생각해 보면 우리가 어디에서 배포하고 있는지 알 수 있습니다 당신이 완전히 갈 수없는 침연 된 놀이와 다른 지점을 지정할 수있는 그런 종류의 것들 네, 그렇습니다 어떤 이유로 든 다른 지점을 가지고 있다면 그것이 생산이나 뭔가 예, 네가 가지고 있을지도 모르겠다 나는 많은 사람들이 개발 및 주인처럼 당신이 뭘하는지에 따라 알 수 있습니다

전개 할 것입니다 여러분이 알고있는 것을 개발하십시오 그래서 여러분이 할 수있는 일이 될 수 있습니다 다시 고급 로깅을 원한다면 다시 로깅하십시오 로깅이 갈 것인가 아니면 어딘가에 스토리지를 넣을 것인가? 파일 시스템에 있어야합니다

그래서 당신은 그 사이트의 물건들을 돌려 놓을 수 있습니다 내가 생각하기에 더 나은 로깅 및 오류 메시징을 얻는 데 필요한 조건을 수행 할 수 있습니다 그것은 많은 사람들에게 일어나는 모든 일이 잘된 것 중 하나입니다 이 문제가 정확히 무엇인지 알 필요가 있습니다이 오류가 조금 발생하는 이유는 무엇입니까? 조금 더 구체적 어디서 그런 종류의 오류 로그를 알고 있으며 또 다시 당신이 모든 것을 켜고 정말 자세히한다면 이것을 켜거나 끌 수 있습니다

당신은 그것이 퍼포먼스가 될 것이라는 것을 알고 있습니다 당신이 뭔가를 테스트하고 있다면 그걸 확인하고 싶습니다 여기서 다루는 내용은 여기에 앱 설정이 포함되어 있으므로 여기서는 당신은 당신의 어플리케이션을위한 환경 변수를 지정할 수 있습니다 그래서 우리는 예제를 가지고 있습니다 이런 식으로 진행되는 다음 모듈과 노드라면 우리는 예제를 보았습니다

이전에 저는 예언과 Romi를 사용하고 V 포트 번호가 무엇이든간에 점을 사용한다고 생각합니다 배열 또는 번호를 사용하면 이러한 프로세스 및 변수 프로세스 환경 변수를 알 수 있습니다 설정을하고 그들에게 접근하기를 원할 것입니다 어떻게해서는 안되는 것들을 설정할 수 있습니까? 참조 또는 코드 기반 권한에 대한 액세스 권한이 있으므로 API 키 데이터베이스 정보 물건 종류의 그게 아무것도 사용자 이름 비밀 번호가 당신이 아닌 민감한 아무것도 github에 편안하게 두는 것은 코드베이스를 지우지 않는 것을 알 필요가 없습니다 앱 설정에 넣을 수 있습니다

그런 다음 해당 프로세스에서 사용할 수있게됩니다 그 변수를 통해 여러분은이 중 일부를 통해 걷는 것이 최상위로 올라가는 것을 알 수 있습니다 당신은 내가 커버 할 다른 하나를 안다 나는 너무 걱정하지 않을 것이다 이 다른 것들의 규모를 원한다면 또는 어떤 종류의 것들을 갈 수 있습니다 이 탭들과 여기에 웹 작업에 대해 걱정하지 않고 그냥 내가 원하는 것입니다

우리가 다음 모듈과 웹에서 다룰 예정 임에도 불구하고 매우 빠르게 이야기합니다 작업은 어쩌면 내가 종종 이렇게 스크립트를 작성할 수있는 아이디어 일뿐입니다 로컬에서 실행되는 Python 스크립트를 작성하여 모든 작업이 크기를 조정하는 것입니다 이미지에서 미리보기 이미지를 만들고 디렉토리를 통과해야하는 부분을 전달합니다 그리고 그것은 당신이 알기 때문에 당신이 할 수있는 그 선을 따라 뭔가를하고있을 것입니다

매 시간마다해야 할 RSS 피드 또는 뭔가를 집계해야 할 수도 있습니다 어쩌면 당신이해야 할 일은 아마도 당신이 알고있는 다른 어떤 것에 의해 촉발 될 필요가있을 것입니다 Li의 종류는 cron 작업의 아이디어이며 웹 작업을 사용할 수 있습니다 거기에 귀하의 사이트의 일부로 다시 가지고 만약 당신이 같은 것을 쓰고 싶다면 어떻게 웹 작업이 웹 응용 프로그램에 연결되어야하므로 빠른 개요를 제공합니다 포털을 이용하면 좀 더 편안하게 느낄 수 있지만 어쩌면 우리는 github와 예를보아야한다고 생각한다

키가 크다면 나는 운이 좋다는 말을했다 요점은 내가 github와 공유 좋아, 데모 해보자 좋아, 데모 데모보기 데모 시간 데모 시간 이것은 데모 시간 예 예 예 아니오 너무 많은 에너지 너무 많은 에너지 음 괜찮아요, 그래서 제가 정말 기본적인 사이트를 만들었습니다 기본 사이트가 있고 기본적으로 내가 다시 생성 한 익스프레스 앱 미친 짓은하지 않았다 나는 단지 익스프레스를 생성했다

app에는 모든 표준 경로가 있으며 배포 방법을 보여 드리고자합니다 지금 당신의 노드 프로젝트는 그것이 신경 쓰이는 노드와 관련이 있습니다 예를 들어 배포 할 때 배포 방법에 대해 소스 제어 그것이 할 일은 당신이 가서 사이트를 만들 것입니다 그걸위한 인프라가 있고 기본적으로 내가 너를 원한다고 말할거야 github에서 배포하는 것의 장점은 무엇입니까? 잘 우리의 소스 컨트롤과 일반 삭제 된 권리 그것은 다른 버전으로 되돌릴 수 있습니다 바로 당신이 다른 지점을 가지고 있습니다

Azure에서 배치를 인용하면 두 가지 다른 같은 시간에 나뭇 가지가 어울리는 차이점이 무엇인지 살펴보세요 source control turkic을 사용하기 때문에 나는 수업을 듣고 있었고, 나는 그것을 아주 좋아했다 나는 그것을 좋아했다 나는 네가 앞에서 너에게 어떤 이점이 있는지 말해 줬다이 사람은 내가 걸어 갈거야

지금 당장 당신은 기본적으로 새로운 웹 응용 프로그램을 만드는 방법을 통해 당신은 당신이 방금 노드 사이트를 만들었습니다 다시 알게되었습니다 포트를 지정할 수 없습니다 여기 네이티브 모듈을 사용하여 기본 Express 광경을 사용하고 포트 문제에 관해서 내 웹 애플 리케이션이 이것이 노드 애플 리케이션 예 실제로 그것을 직접 귀하의 애플 리케이션에 포트를 읽는 방법을 알아낼 예 네 포트 번호를 지정할 필요가 없습니다 네가 할 일을하고 있지만 네가 당신이 다시 몽고에서 그것을 좋아한다고 말한 사람들 중 한 명은 그 항구 또는 뭐든지 바꿔야 겠어

내가 통제하고 싶다 아마도 이것은 사실이 아니다 그렇다 이러한 규칙을 제어 할 수도 있습니다 아마도 완벽한 환경이 아닐 수도 있습니다

너 자신을 알기 위해 네가 총 가상 머신을 좋아할 것 같은데 네 그래 예, 배포를 시작하려고합니다 그래서 첫 번째 단계를 먼저 보여 드리겠습니다 한 번 로그인하면 여기에 새 버튼으로 가고 싶습니다 당신이 알고있는 웹 애플 리케이션을 다시 클릭하면 새롭고 컴퓨팅으로 돌아가고 싶습니다

이 모든 옵션을 가지고 우리는 시장을 보여 주었거나 우리가 시장에 대해 조금 이야기했다 어쩌면 우리는 그것을 보여줄 수 있기 때문에 당신은 웹 앱을 계산하고 싶습니다 그리고 저는 할 것입니다 그냥 빨리 작성하고 빠른 내게 이름을 부여하려고 만들어 rami는 Romney 자고 왜 내가 그걸 좋아하는지 모르겠다 내가 좋아하는 걸 좋아해

내가 좋아하는 너와 같이 논쟁하는거야 나 괜찮아 근본적으로 이것을 취하여 여기에 덧붙이 자 이제 귀하의 구독 정보에 따라 URL을 결정할 수 있습니다 그것은 당신에게 어떤 계획을 사용할지 또는 그러한 것들을 당신이 알고 있다면 너를 사용하여 끝내는 사람은 너가 가지고있는 것의 낱단을 위해 날카로운 사람이있는 것을 안다

당신이 방금 작성한 여러 계획은 괜찮은 웹 응용 프로그램을 만들고 또 다시 배경에 들어갑니다 마술처럼 백그라운드에서 당신이해야 할 모든 것을 준비하게 만듭니다 너를 위해 그 공간을 준비 할거야 그래서 우리가 그 물건을 보러 간다면 실행 중인지 확인합니다 URL이 표시되는 위치를 알 수 있습니다

URL을 클릭 만하면됩니다 호기심의 바로 그 자리 표시 자 페이지가있을 것이고 그래서 당신은 이것을 얻을 것이고 이것은 같다 좋아, 잘 됐어 내가 돌아가서 지금 배포 할 수 있고, 우리가 할 수있는 일이 정말 멋지다 이 시점에서 여기를 클릭하면 대시 보드로 이동하게됩니다

대시 보드의 오른쪽에는 기본적으로 설치 배포가 될 것입니다 소스 컨트롤에서부터 클릭하면 이제 배포 할 때 많은 옵션이 있습니다 당신이 Dropbox에서 배포 할 수있는 소스 제어에서 당신은 Dropbox에서 완전히 할 수 있습니다 일부 팀이 일부 팀을 좋아한다는 것을 알고 있습니다 Dropbox Dropbox와 같은 디자인 중심의 많은 회사를 좋아합니다 당신은 bitbucket CodePlex 다른 저장소를 알고 있습니다

실제로 당신은 로컬 저장소를 만들 수 있습니다 만약 당신이 로컬 하나를 만들 수 있습니다 귀하의 자식 저장소를 해당 로컬 자식 repo 그래, 그래, 우리가 Visual Studio를 온라인으로 언급 한 것을 다시 할 수있다 나는 github을 선택할 것이다 그게 내가 어떻게 굴러가는 지, 그리고 그 작은 빈 페이지가 무엇인지 기본적으로 간다 내가 앉아있는 곳으로 만들면 내 모든 내 위치에 액세스 할 것인가를 알아 내려고했다

github 자격 증명을 사용하면 OAuth 프로세스를 통과해야합니다 이 github 사용자에게 매우 활발히 활동했습니다 저장소가 하나 뿐이므로 글자 그대로는 아닙니다 데모 분명히 명확하게 나는 분명히 사람들이 내 이력서로 내 이력서로보고되지 않습니다 데모 계정과 나는이 지점을 배치 할 것이고 그것은 단지 master 브랜치 일 뿐이다 너는 내가 여기에서 다른 가지를 가졌다면 내가 완전하고 또 다시 칠 수 있다는 것을 안다

그 (것)들을 여기에서 보 거든 나는 다만 그것을 명중하고 당신은 그것이 일하고 있다는 것을 알기 위하여 보는 것을 시작한다 당신에게 지식을 알기 위해 당신에게 줄 것입니다 하지만 지금은이 새로운 배포 탭이 있으므로 배포로 이동하면 그것은 프로세스를 보여주는데, 그것이하는 일은 기본적으로 진행되고 있습니다 리포지토리에서 가져 오도록 요청했는데 배포하기 시작했습니다 내가 github하고 변경 사항을 저지르고 그 과정을 통해 갈거야가는거야 변화가 있었고 변화가 일어난다 고 생각한 후크를 잡으러 갈 것입니다 그것은 당신이 아는 것을 배치합니다

몇 분이 걸립니다 나는 보는 것에 익숙해있다 그러나 우리는 tik-tok를 보게 될 것이다 다시 한 번 당신에게 활발한 전개를 제공합니다 다시 한 번 그런 종류의 주석을 추가하면 그것이 마지막 일임을 알게됩니다

당신이 약속을했거나 당신을 저 지르면 좋아하는 메시지를 받으십시오 저에게 커밋을했는데 당신이 어떤 사람인지 알고 싶습니다 그것은 거기에 나타날 것이고 저는 그것을 볼 것입니다 그래서 그것이 실제로 유용하다는 것을 알게 될 것입니다 왜 당신이 커밋 할 때 그 메시지가 중요할까요? 오, 이건 버그 수정을위한 고정 명령입니다

그리고 저도 그 사실을 알고 있습니다 배포가 있으므로 배포가 활발하다는 것을 알리고 원하는 경우 다시 방문 할 수 있습니다 내가 회사를 배치하는 곳을 보거나 내가 할 수있는 곳에서 github 저장소를 가져온다 거기를 클릭하면 저를 데려 갈 것이지만 대시 보드로 돌아갈 것입니다 나는이 링크를 사랑하고 인용하는 링크를 다시 클릭하기 만하면됩니다

전화가 영원히 우리는 새로 고침해야하며 바로 거기에 있음을 볼 수 있습니다 그것을 배치 했어 고전적인 표현식 생성기 페이지 맞아, 맞아 당신은 당신이 101 페이지로 이동한다는 것을 알지 만, 만약 당신이 일하고 있다면 다시 알 수 있습니다 예를 들어 Express 응용 프로그램과 같은 노드에서 또는 다음과 같은 일종의 노드 프로젝트에서 작업 중입니다

그 종류와 당신은 지역에서 일하고 있습니다 당신은 다양한 것을 갖기 위해 그것을 저지르고 있습니다 옵션을 배포하는 방법 측면에서 옵션을 제공하지만 그 지속적인 통합을 다시 사용하는 것 그런 식으로 배포하면 어떻게 작동하는지 알 수 있습니다 그 물건에 관해서 여기에서 볼 다른 것들을 부부하고 다시 나는 단지 가고 싶었다 다시 우리가이 저장소에 커밋을하면 모든 배포를 볼 수 있습니다

여기에 나열되어 있고 당신은 당신이 그들과 함께하고 싶은 것을 쉽게 결정할 수 있습니다 당신이 알기에 당신이 쉽게 알 수있는 좋은 직업은 그것이 실제로 얻을 때마다 그리고 당신이 가서 그 피드백을 얻으 려하고 이걸 열지 않아도된다 브라우저 창 내 말은 실제로 무슨 일이 벌어 지는지 보여주는 것입니다하지만 한 번 설정하면됩니다 당신이 알고있는 대기 포털에 더 이상 로그인하는 것에 대해 걱정하지 않아도됩니다

배포 초기 배포가 때때로 그보다 약간 더 오래 걸리는 것을 보았습니다 당신은 이후에 오는 배치를 알고 있습니다 보통 비교적 초기 단계입니다 당신은 처음에 설정을하고 그 후에는 페이지를 새로 고침한다는 것을 알게됩니다 표시 될 예정이므로 배포와 관련하여 몇 가지 옵션을 알고 있습니다

노드 아니 적어도 내 생각에 그것은 악마 같은 2 등 시민이 아닙니다 절대적으로 첫 번째 클래스는 전반적으로 사용된다는 것을 알게 될 것이며 Azure는 여러분이 보게 될 것입니다 엄청난 규모의 Visual Studio 코드가 될지 여부를 알려면 툴링 도구를 사용하지 마십시오 지원 또는 모든 비 대리인과 비주얼 비주얼 스튜디오 예 예 놀라운 플러그인을 할 말 그래서 당신은 그것들이 당신의 선택의 일부이고 우리가 당신에게 보여준 것이 하나라는 것을 압니다 할 수있는 것은 실제로 당신이 당신을 알고있는 것처럼 하늘빛 SDK를 설치할 수 있다는 것입니다

MPM을 사용하여 설치할 수 있으며 로그인 측정 및 기타 작업을 다시 사용할 수 있습니다 that you need to do with that as well using node and so again you know another another great way to probably you know introduce that into your workflow yeah absolutely well said a couple of things that i hoping we can talk about now oh no that's never a good time you need to talk know so not a good time well i want to talk about advanced debugging i'm excited for this because there's a lot of great info that i feel you could share here that i could share we can check we can share together all right let's get right to it you like that you um okay so can we switch to rotator go awesome is it me or you thank you to you okay once that gotta bring up code if you lost it uh uh code here we go right awesome okay so a couple of the things that we mentioned a little bit and in the code editor here is that you know again we talked a little bit about how can you run this item and not really worry about I mean you've seen of all morning kind of going back and forth between doing it this way or running for the commuter forum and line again it really depends on how you work or how everything's structured in this scenario if we look at the file folder you'll see that I opened up just this project here and you'll start to see that okay well I just opened up this so I can actually run just this project and so you know the debug here tools we talked about setting up your configuration for your launch JSON and getting a sense of you know where you're going to what program are you running when you launch this what type of program is it you know what are you naming it so what does this show up in here as for example yeah and oh absolutely there's a couple really interesting ones down there the runtime Argos that could be used to actually tell node to be very verbose and stuff like that yeah like it useful when you're debugging which is one of the things that are awesome environment variables path to the program this is like when I saw this I was like oh yes because otherwise I mean I'm so used to I don't know how you did it but if I had to pass environment variables I would go in and I would you would have to set it and it will actually be in your global environment variables and it might be a little bit annoying perhaps a global variable for other things and might just overwrite it so if you just want to use environment variables for your specific debugging programs all right because your assumption is that once you put it elsewhere those environmental values will be the global ones but just for this program while we're debugging it I want to set the environment variables I can do that straight from from visuals to your code so I don't need to actually do it to my all my environment variables on my system and I mean that's one of the that's one of the I mean some of the configuration things and I saw that I was like yes okay this is this makes me feel good so I'm just so used to writing in one editor and maybe like you know maybe I'm just a clan line person I'm not sure but I open it up that way and so you know with the bugging one of the things about debugging here is that you can set breakpoints and you can go in and let's close this out let's go into my a page as for example and you can start to go and set some breakpoints and figure out like what's going on there what is actually happening and you get a better sense of actually debugging node because you know depending on how you've been doing it in the past I mean a lot of people are you know console dot log or they might be are quite as the most effective way to do it no well I don't know but I mean it works don't work yes that's like sort of the base starting point and then you want to have better tools right and the more better debugging and faster more and better yeah or and better so you know you can start to go and set breakpoints that you might want to set for example you know again you just kind of go over onto this column here and set a breakpoint and what's going to happen is that when you go and run it in debug mode is that it's going to give you some of those traditional debug debugging tools in terms of hitting that breakpoint you know allowing it to play through the breakpoint stepping into the code all those kind of things and you'll start to see the variables and you know those items being populated and set up and so you know setting for example a breakpoint at the view engine I don't know if that makes any sense but you know running it you'll see that the bugger is listing on that port and boom it's paused on a breakpoint and you can start to see all of these variables that are getting populated and so so those would be your local variables at this point right right for how we created the app the Express app warehouse we can open that one up yep we can see what's in there so I mean we created that Express app it was like an instance of Express right so we start to see that there's an event object right with all of these items you can see the lengths everything else you get the add listener all cash you know you really do get a sense of like what's going on in each of these objects I got to collapse that one it's a little too much for me but you know scrolling down you get a sense of all these objects and this is like really really great if you are like what is being populated there how is that working what's in an object what lectures are available exactly like why am I getting an error on this this API says it had I had that the other day it was horrible and I was like I'm trying to use this why is it not here as keeps telling me it's not there I go instead of going into the codebase and looking across the codebase I could have just done this and I would have thought well it definitely does not exist there it's not my imagination it's outdated documentation you know save myself a little bit of heartache happens a lot of outdated documentation is like okay if you're going to if you're going to remove stuff remove it from the docs you know when we try to search for things and we see the function is supposed to be there and then yeah it's not how how disappointing it's yeah well and it's one of those I don't know if someone can fix that problem solid maybe just loaded full of money and then you can start to see all of the other kind of like local variables that are being populated again we talked a little bit about that Durham right we weren't sure like this surname for exact for example right here what is that even equate to and so you can get a sense of oh you know it's pointing to here the current working drugs yep it's pointing to this directory this is where it should be looking if it can't find a file and I'm using that variable maybe I have to move it you know those kind of things and so you know you start walking into all of these items and you get a sense of what they are remember we had that user variable right and that's actually should be you know a route so it is named router and you start to see like what's you know it's prototype is router so you can start to walk through these things and take a really good introspective look at what's going on try to figure out which what objects they are and stuff like that right and then you have we have local so local are the ones that often are the ones you need to go and check but then you have like anything that might be set up in global here and so it's going through you have everything that's global in JavaScript which could be array the array prototype cetera string strings a whole bunch of stuff that our global variables that you can use yep and then you know you have your controls up top here so again you know it's paused on that maybe I just want to did I just want to see exactly that it has what it needs to have for example I don't know you know maybe this is coming back from a call and you want to make sure everything's populated can you hover over the variable app where are you looking right here words up or actually any any app yeah so it actually shows you the variable itself and what's inside they what type of variable it is and in this case app is a function as seen right so pretty cool stuff that you can do we can also do it with like integers or other types of variables see what type they are if you're in a place where you just don't know what what type it is and in this case like if you look at routes it would be a router function it's correct user is the same thing place is the same thing it's it's a also handy if you don't want to search for the variable in the corner right you can just kind of scroll through them and see what's going on there you've got some of the items at the top as well and you know if you've walked through debugging I feel like I almost think silly and I probably am the first one to take it to be honest but I feel like there could be a whole course on debugging like on introspecting understanding things like you know cuz I definitely that okay people take it for granted right and you kind of you learn it from someone else or you learn it from like going through like me everything else you know self-taught like oh how does this work and figuring it out and yeah so now all great tools a node that actually let you debug as well there's a module called no debugger comes in really handy if you have to debug things on a server where you don't necessarily have a desktop environment yeah you can't connect it at all or you can do a remote debug yeah lots of great stuff that's available in node yeah I feel like I feel like that honestly that's got to be a whole I got any whole card this yeah so you know again so you got all these items at the top I can stop it I can you know go over or step over you know step into and so that might be a function that's complex and you need to make sure that you're stepping into the function to understand what's going on within that function you know those kind of things you can press play to you know just basically let it go past and you know go start run in or whatever so you have some options there I think of through too much of the call stack would be useful to actually see some of the call stacks though hold on let me run it again we'll do this so there you go let's see if I can make this a little bigger so it's interesting that this is like the beauty I miss beauty excellent UI thank you love it sorry so if you look at the call stack that although we are in app KS just to get to that point no it has to do a bunch of things among them load the module get all the module requires and do a whole bunch of other stuff so you can put a call stack right over there and typically the call stack is in the order of the stack yeah yeah yeah on your computer science homework or if you've been in a computer science class the stack is something that or if you've listened to a lot of people talk about it exactly something that you pile up on top of so that's that's the stack looking down downwards which is pretty cool one thing that I absolutely think that we have to show is watching variables I don't you know what yeah show me how I don't think Breanna let's pump go back to the the IDE there yep so studio code yep and we do that alright great thank you so if you start debugging again this you can set a couple of variables to watch so let's say you can add the plus variable right there and then type in an expression let's say perhaps app is not equal to null or something yeah so if you do that it should be able to notify you every single time that that variable changes value so right now it's true it's not equal to null because at that point we've already set to var right let's say that we put a breakpoint right before and then we run the entire program it should basically tell me maybe at the line 10 yeah so if we run it again at that point it will tell me that it's false and that oh okay we didn't it didn't stop at that breakpoint maybe put in something else like a console dot log in between the require right there yeah sleeping it's the theme all right oh stop settling on that break point okay so now except it seems I can see it at the bottom try try try again sure do you see all the break points that you said right at the bottom over there 10 and 16 I think it just runs so fast that it goes oh no way it's not something on it interesting well there you go all right let's try doing laughs yeah and maybe you might be just not there we go okay cool you can do that I watch this fall so if we step over one with the loop yeah do it again and then we do one more time already boom true old science a true that's really handy I can totally see that being like waiting for something to populate in terms of if you're doing like a sync stuff right and you're just like waiting for that item to be populated and then you're just like okay now I see I see the problem here maybe I didn't schedule this car you know you I mean some things are at a joint or whatever I got to do that kind of stuff yeah yeah that's awesome so you know some of the some of the things with anything else you want to like throw out there that you're all well I really like the the breakpoints tab at the bottom and there's one thing that's really interesting right there if you look there's uncaught exception so these are exceptions that happen to know that you don't have a cache anywhere or yet basically what it will do is a little break point whenever there's an uncaught exception yeah which lets you see the call stack to figure out where that exception came from oh that's awesome yeah yeah so likes no longer like oh in my program crashing you can finally solid answer for why my program you can't do this anymore that's awesome cool um well I think that's a some of the basics of deploying and also walking through just with code itself and getting a sense of just how you're debugging a program one of the things I saw actually on the interwebs the other day I was really interesting we don't have it here but again different people work different ways in terms of their development process and so I saw this one developer was using gulp to basically continuously compile things and run things you know where was a washing local folders with a completely yeah you know what are using sass from any along with lines using all those processes putting in task runner gulp and but then was like oh how do i how do I actually attach to that process because I want to listen to this process because that's really where it's running it from and shows this whole great demo I think what's on the interwebs there about how you do that so you know you have you know it doesn't have to exactly be like the way that we configured it you can go through you can configure it to work with how your workflow is absolutely yeah all right yeah so we've got a couple of resources perhaps that we could share there is one that I would like to share absolutely if I can open up a yeah do it and that is no debugger if you want to check it out for the situations where you can't debug it except using a debugger so it's quite simple you allows you to do node debug my script ah yes and set a bunch of breakpoint and it's very handy and then finally I guess we should make sure that we have shared where you can get the tools that we are using which is Visual Studio code because I don't think we did that in our first module out right here not Visual Studio da you can see there okay cool so thank you very much for this module and stay tuned with us we're going to be coming back and talking about our web jobs let's move awesome welcome to module 6 of visual indigo with no did I figured we had to start this one really really loud just in case some people were not as excited anymore as we are and clearly I think I'm the only one who is excited objects are as loud in person as they are on the stream so this module we will cover using node for our web jobs yeah my name is Remy and with me is Stacey yeah and let's look it started we're going to dive in because we're going to learn a couple of little fun things so we're going to talk about using nose for azure web jobs and again in terms of what we're going to learn today we're going to talk about okay what is a web job you know how do they work in Azure we're going to talk about introducing you to how to create a web job creating a simple web job you know otherwise known to me is you know not the most useful web job and then a good example of like something that's maybe a little bit more robust more something more likely to do and then just a couple options in terms of debugging those web dub so first thing that we want to do is we want to talk a little bit about as your web jobs overview and and what they are and how they work and for most people they kind of think of a web job as a cron job and for some of you don't know what that is the idea that you're going to continuously or at some point call a script somewhere and so in terms of measure we call these web jobs and so the overview for as your web jobs is that its ability to run a background task on-demand or continuously or scheduled and so you know you can start to think of various tasks you might do in the sense of running them continuously your scheduled maybe it's always looking at something maybe you're doing something once an hour for example and these get deployed you being the platform as a service in the past so it's actually hem and Han were part of websites and so you need to create a web app and then you can now kind of attach your your web job to it so what are they good for you know when you think about a web job well they're really great for tasks such as for me personally API aggregation I feel like I work with so many api's whether it's Twitter or Instagram or Stack Overflow or whatever and so they're really great for that batch processing you know anything that you need to do where maybe you're taking all of these items and converting them to a PDF or something so good for that because you don't really want it to be part of anything is going on it happens at a certain time maybe you know scheduled at night it's going to batch process something something like image resizing maybe you have a bunch of images and what you want to do is maybe compress them down make them a little smaller maybe you know someone's uploading something into an area that you can just grab all those images and you automatically have this resizing ability for example when it comes to a web job you can use a variety of languages to write them and so you can use you know PHP Python node bash etc and you have a bunch of options you know in terms of how you want to write them because it's really just going to be calling that script and so we're going to show you node because we've been doing node all day and it'd be really weird if I showed you Python all of a sudden so we're going to talk a little bit about that introduction to creating web jobs for node what happens in a web job is when you create a new web app which I showed you in the last module you have the section called web jobs and so you can add a new web job and what happens with this web job is you can create a zip file and you could have sometimes a web job is only going to be one file so maybe you just have like one simple node file and assuming something very basic sometimes you might have multiple files you know things that you separate it out and written is quite complex and that's fine too it doesn't really matter all you need to do is package all those things you need in order to run that job together in a zip and you can basically just upload that zip and so what happens is once you've uploaded this directory of the zip it's looking for a file in your folder that starts with the name run so it's looking for a run and it like ultimately look for any of those kind of supportive languages I mentioned so it will be looking for a run dot py for Python you know PHP run jf for example it's looking for that and if it finds multiples of that it's going to take the first alphabetical extension and run it now you can also not name it run you could name it something else you could name it Stacy J's for example it's going to look for run first if it doesn't find run benefit finds something else with the supported extension it will run that so if you only have one file you can kind of name it where you want if you have multiple files your entry point into your web job it's got to be that run dot whatever support of language you want to use and then you know again as many files as you want and you have multiple web jobs and when you deploy them you'll see that what happens they get in your kind of file directory of your site so here were to FTP up into your site for example you would see that it gets unpacked at a folder that's called app underscore data and then it's slash jobs and so all your jobs is depending on what type of job they are if it's triggered it'll be in a triggered folder if it's continuous will be in a continuous folder and so it kind of organizes them alongside your site because they go hand-in-hand with your site can't really exist without a web app being present so I'm going to kind of just walk through a very very simple example and show you the process for node and then show you a more complicated process that involves things like environment variables and storage and other good things from Asher so we're going to talk about creating a very simple web job here and we're going to again go back to the azure portal portal sorry and see how to package this and upload this and all that good stuff so what I'm going to do is I'm go back to code as I like to do and we are going to go to 0 or 315 web jobs simple and in 15 web jobs simple I have just 2 files of a packagejson just in case I am ever going to need any dependencies and I have a run jf and my wrench is this is once again I said simple meaning they're not useful all this is doing is its setting an interval and it's repeatly calling a function you know every 5 seconds this is a basic you know again you can put anything that you want into this file any any you know again all I'm doing here is calling something on interval but if you wanted to have something that's going to reach out and call an API or either concepts you can totally do that I did this I could test it locally if I wanted to test it locally but let's say that this is going to be my very simple web job right and again I kept it simple so you don't have to worry about all the moving parts so what I need to do in order to take this item and if I wanted to deploy it is I need to go into the folder system and I need to go into that web job simple and even if I went to up a level here and I need to basically booboo I need to create a zip file why can't I use it then – there we go sorry yeah could use that and it's going to create that zip file right and I see that's bottom right there ok and so again anything that you're working in your directory for example and a web job you can just basically take that directory and you can zip it up and so what you want to do is now that I have this this zip here is I can go back to my my azure portal and I can easily if I want to go up into I already have something running here for example I have a couple web jobs already running so I'm going to add another web job and so what I can do here is I'm on web jobs and I can hit add ok and I'm just going to call this a simple job you give it a name and you can browse for your files and so I'm going to find that file here that I created right and it's a zip file and remember that my ajs file is called for nsj and now you have some options here and how you want to run it and so we'll see that it's wearing continuously so run it all the time run it on a schedule like how should this be called run on demand you know so that's the idea that you would have to trigger it explicitly and so what I'm going to choose for example is going to be for you know run on demand to make it easy we'll try this one first and then you say complete you'll see that what it's doing is it's you know going to take that file it's going to upload it you'll see that it's ready and it's enabled this item right here and I can hit this run once for example because this is run on demand I can hit this run once if I want and it's going to run that job you'll see that it's a last run result it's running ok and I can go into the logs here allow access copy you can do it maybe it's taken a second give it a couple of seconds and you'll see that it gives you a little bit of details about you know when it started running all of those things and if you click into here you can go in and you'll start to see is loading this out and it's giving you this output some of those console dot log that you're using it will show up here and so you know if you're writing a web job and you're trying out trying to figure out not sure how to debug remotely you know you can you do this console log and it does get you know tall into this output here once you click into it now if you wanted to do more advanced debugging you know you could be using the web job SDK individual studio attaching a process to it but for most of stuff that I've been doing this has been enough for me to go in and make sure that things are you know as they should be and again I can refresh this or download this log that's happening here so you know that's the idea of a very simple web job now again practical application or set interval every five seconds not so sure don't do what I did maybe but it does give you a sense of you know what's going on there and again I triggered it once and because it never really ends it's process it's always doing a set interval it's just going on and on and on right so I'm going to actually delete that one but that gives you a sense of the actual process behind all of it a couple of neat things I noticed that page is actually also built into scrap yes yeah yeah you see you see a lot of bootstrap being happen everywhere everyone oh yeah yep yeah come on why not right so the next thing I want to show you is we've done a simple web job and again you're like okay you know great not really quite sure how that works I want to walk you through maybe a more realistic example of what you're doing or what you might end up doing and so one of the things that I end up using with Java for quite a bit is I end up aggregating API I love building applications with api's the beauty of note is that there's so many modules out there it's so easy I don't have to worry about ooofff anyone who's ever had to really deal with the OAuth process themselves what a pain so for me I love using the stuff and what I've got here is I've got a basic script again it's only one script there's nothing too complex here but there is a bunch of things going on and so I'm going to walk you through it and so what I've done here in this example is that the whole aim of this web job is to go out to Instagram it's to look at a certain user and it's to get their most recent for their last twenty for example post on Instagram and what I'm doing is I'm taking those images and I'm putting them up on blob storage and so what I'm doing is I'm taking those images those URLs I'm copying them over to blob storage so that I have them you know somewhere else right if I wanted those images a backup of your in a backup if you want to do complete backups you totally could and so and store it where you want to store it and so we're going to show you a couple of things here in terms of how this works now the first one you'll see is I have an azure variable require Azure storage well again as your storage is a module that you can get from NPM and you install it and it's going to be my packagejson here and I just installed that and that's going to allow me to work with Azure storage now there's a bunch of different modules you can use you can download the whole as your SDK I highly recommend that just pull what you need and so here we're going to be using Azure storage and I'm going to be specifically using blob storage and then again we talked a little bit about FF so the whole file IO filesystem I'm going to be doing an HTTP HTTPS there we go I'll go a little slower you know request so you can start to see the things that I'm using up here and what I do right off the top is you know I'm going to be passing in when I go to deploy this I'm going to be setting some environment variables which we'll cover on how to do that measure and what I did right at the top is I was like I wonder if I'm getting these variables if they're being populated and so I just logged out one for example now what I what I'm going to do is I'm going to initialize in line 10 I'm going to go VAR blob service is equal to Azure create blob service and so I'm going to pass it the name and the key and so I'll show you how to set up storage and what you need in order to do this but basically it needs a key so that can access it and needs to know the name of where it's going to and you need to initialize it with this so the key depending on how you set your storage whether it's private or public it really allows you that access to you know use the SDK with it the next one I have is I've acquired the Instagram node library and again I'm making an instance of it in IG and then I'm telling it what to use and again I'm getting these variables from the web app variables or environment variables that I processed I blame Diet Coke right now for me like talking so uh so so that's you know I'm getting these actually they'll be set in Azure you'll see how we do this anytime you see a process environment and then you see these constants or you know capital here that's coming from the process that environment those are items that we're going to be set or that Azure have set depending on what we're accessing and then I go you know same thing so I'm basically telling it here's my access token here's my my client ID my client secret so those are the things that you need to work with Instagram you need your client ID you need your client secret and then you need to go and generate yourself an access token and that's the easiest way to get working with it so that you can avoid the whole authentication back and forth and so what I'm doing in the next one is I'm basically saying hey Instagram this module that I'm using I want you to go to add this user which is I'm going to set it I'm going to give them a user ID and get their recent media when they posted and this function and Instagram will turn you the I think it's like the last 20 post and it returned to you know everything you need to know you've got a nation there I see you've got error you got media so this is like basically an array of those twenty items if there's twenty items for example and then they will tell you like yeah if are there more items and if they are it's already got that URL tended to it so it's really nice we've got a nice way of like just saying okay if there is pagination just go pagination next and it's kind of held within that object you know remaining limited all those kind of things and so what I'm doing here is I'm basically just you know storing the length of the items I have a counter and I get this old school this is maybe somewhere where I should be using a library along the lines of a sink or queue because I do have asynchronous calls happening what I am doing here is I'm basically saying you know call this function X what next does is it's going to the next item in that list of media's that have returned so I have this call go to Instagram get recent that's asynchronous that's going to take who knows how long when that comes back this is a callback within it and then I'm saying for each item in there what I want to do is I want to take that item and I want to write that item down locally so that I can write it locally you could create the stream or you know basically send it right up to Azure through a stream but I'm going to write a locally into this placeholder a JPEG and when I'm you know done that what I want to do is I want to take that item and once it's finished piping it in and make that request for that image get the image name create a file write it into the file your response pipe file when it's finished I want to now say let's go back to the blob service so in that file it's finished writing locally that one file I'm going to create a blob from the local file and this is like a function within that module it's really handy you basically pass it's a container you pass it the knee and you want to call it and then you can also you know pass it the what item it should upload and it handles that and they'll give you an error or tell you you know if their success and so if they're if it's you know successful if there's no error I just want to basically call this function again and I just want to do it for until I have no items left in that array so a couple things going on here and you know these processes again you could probably I was like saying around me hello this could be a little more elegant and that it works I was like MVP MVP MVP is really you know but it gives you a sense of what that is and when I'm done through all of you know if there are items left let's go next if there isn't let's just exit this process of stop the process so this process isn't always running and so this gives you a you know a sense let's see maybe I can clean this up a bit shift alt I think it's up maybe not alright and you can start to see like just how this process is so a little more practical maybe you're going to go out to an RSS feed maybe you're going to do a search against Twitter find something against the hashtag maybe you're running an event and you want to find everything against that hashtag and just store it somewhere so that you can you know see that fairly easily but what's going to happen here is I've basically downloaded that image from Instagram and then I've uploaded it into blob storage so we should see a bunch of images on my blob storage so what I want to do is at this point sorry let's go here go back to here so I already have this kind of running and I'm not going to necessarily worry about going through the process what we can kind of go through another process deploying but I'll show you this running here and so what's happening is I talked a little bit about all those variables in that script that you know the Instagram client ID and access token and you know any of those things that I might need that I don't want to put in that file because if I commit that file to github I definitely don't want to have sensitive information in it I don't want people to have access to any of those items and so when we're looking at the web jobs here what you can do is if you go into configure and we go to the bottom where we talked a little bit about app settings you'll see all my app settings right yeah so no that's okay I don't think anyone's going to I mean I can remove all that stuff but you'll see all those app settings getting set there right and so I can set those app settings there I don't have to worry about it right and those will now get populated not only to my website but to my web job and so all those items that we want we might need whether it's you know the blob name the container against the user etc the access token I generated they all get set there and if we go back up top and if we go to web Jobs you will see that it is running here now let's just take a second to look at the storage that I need to do so I set up storage and what I'm going to do is I'm going to walk you through how I set up storage now I have my storage all set up but in order to use storage I use blob again you have a couple options you have blob you have table you have queue they're all kind of useful for different things you also have page blob and so I'm going to go new storage and I'm going to go click create and you can start to use storage and so again Ramy is sleeping he really is I thought sleeping I don't know so you can choose basically your location or affinity group where you want it to be closest to I'm going to say East us because that's I mean that's where I'm from you know replication geo done that dual redundant locally redundant just keeping it at that and when you create you create your storage account it's going to come up and there's a couple things that we can do here in terms of storage now for what I set up for this web job I have a storage account I'm use blob and I set up a to put them in so this container is going to hold all of these blob items which happen to be JPEGs and so when we get this set up we can go in and the next step that we need to do is we need to set a container now using the azure sdk and know you could also do this through code and I could have wrote it in that web job I could have said if this doesn't have a container or you know create if it doesn't exist you know it'll create it if it doesn't exist but you know I went and I set up everything on on Azure so now that I'm here in storage and storage has gotten this eye icon at the bottom here kind of like I don't know what would you say that is like Richard grid good paper grid you can go to containers and you can create a container and so I created one in my last one and I called it images so I'm going to do the same here and you have different levels of access so sometimes you don't want people to have access at all and if so they need certain key sometimes it can be private or public I'm just going to make mine totally a public container for now so one of the reasons why you'd want to have it public is so that you can store images that you're going to serve on your website right yeah yep and if we look here right it'll say it has no blobs there's nothing you know been put here at all for example but you know if we go back and if we need to go into any of these things in terms of monitoring you can do again all these things are kind of the same across the board you'll find that you can set the logging you can set the monitoring all those things and what I'm going to do is I'm going to go back into here and you'll see this little bottom part and again I'm kind of just walking you through the steps and then I'm going to show you the other one but you have the managed access keys and so what that means is that I can take this primary access key and that becomes the keys that I need to pass it to the SDK or to the module one node so that it can use it and so you have you know your keys here that you can start to use you can also do fun little things like specifying a certain amount of time that people can have access to things you know with a shared access policy those kind of things but again we just well at least I've just done it super simple and so if we go back to the stacy node mva you'll see here we go oh sorry I want to get out of my Oh when I get to act here I want to go to storage okay if you go into the storage I've already set this one up I've already run this web job so in the previous one I just setup I showed you like how you add a container where the keys are at we look at the containers here you'll see that I have images right and you'll see I have a whole bunch of stuff here right so let's just delete all this stuff let's delete this container and create it again because we want to see that web job actually work right like it's been deployed we want to see it work so let's delete this this is a moment of truth right it's like uh deleting something look away look away I'm going to create that container again I'm going to call it images I'm going to make it a public container sometimes you just have to wait a second because you just delete it and it's like what are you doing make up your mind okay hold on do a second do a second third time's a charm that we were thinking yes there we go right you do have to definitely wait a good minute before you it's like it doesn't like indecisiveness my fault it's my fault and so you'll see that again in images I have nothing there and so what I want to do in now that my certain storage is set up and it's kind of empty I want to go back into my web app will go into my AC node and MVA let's go to my web jobs okay now I've already deployed this item maybe maybe what I can do is I can deploy another one let's just see if we can get this going so let's go into web job storage okay good I've got what I need I'm going to right-click I'm going to send to compressed folder okay and it's there so let's try just creating another one ad okay into the part queue mommy's sleeping and then I'm going to select this folder again and I'm going to say run on a schedule for example so I'm going to show you how to run this on a schedule but I'm going to trigger it right when it starts so we're going to say run on a schedule this might be the idea that I want to call this because Instagram maybe this user is very prolific maybe they're posting 20 photos a day maybe I want to be checking this you know every hour would be a lot of selfies though you know probably be I have the Instagram user I have he posts a lot and it's like photos of his kid with food and it's a cutest thing you've ever seen so let's just sometimes the run on schedule just pulls up for a second so let's just see if this is going to yes thank you and you just tell it the region that you want to you know be I'm just going to say North Central and you know that depends on obviously how you want to do it so reoccurrence a one-time job a reoccurring job starting now at a specific time okay and we can go in okay successfully uploaded a new job and you know this one's on demand this one's on a schedule I can select this one and I can choose to run it right away and usually I'll just do this this is also like is this going to work failed oh that's not good I'm focusing logs let's go look at the logs good thing I didn't delete my other one mm all right let's see what's happening here let's see if we're getting any air is written back okay so you start to see status change initializing cannot find module as your storage you do an NPM install so what happened here is that I obviously did not include any of the things that I needed there all right all right and so what I can do is if I go back to command line right and I'm going to go see Dee Dee's vacuum those give github node sir TD node and we a and then I'm going to go into CD I gotta look at that might be 15 right the 16 16 tab okay you'll see that none of those actual modules if I do a dirt I don't have a node module but I would package JSON right and so what I can do here is let's see if this is going to do anything along the lines of installing those items let's see if it's going to install stuff okay I've got a few things what I want to do is I want to check to see what it has so I have those items that I need right and what I can do is go back and again it needs everything that it's looking for and so I can go Boop oops and – here we go compressed and I'm going to go back up here and what I'm going to do is I'm going to delete that one yes again if I have FTP I could also just like easily FTP the files up and replace what I need I'm kind of hurt us to create a new one again Instagram and insta part two and browse for the file but again you know we got to see that those documents actually tell us what the problem is and that there's missing things that it's looking for I notice there's a limit of one in gigabytes for user files yeah yeah I mean I don't know what what cron job would be a gig that big but that's not a challenge that's not I'm going to say one time job someone's going to do it on the Internet someone's if someone's going to be like oh look at this through down one gigabyte you know but you know let's say you included a whole bunch of libraries and stuff maybe I'm not sure so we have is the part – oh that didn't look good mmm I need to refresh browse yes there there we go okay on demand okay and I'm just going to hit run once let's hope I have better luck this time it's initializing so it's giving you some feedback and it's running okay and if I go here let's see what's happening and I can go 11 seconds ago okay and you start to see my traces are coming out and I'm getting these you know I was tracing out for example the link to every one of these images so if this worked in theory and this is all saying it successfully did well let's use my traces are right if this worked in theory we should be able to go back to my storage and we should be able to go into the storage container and you start to see all these images so all these images are being copied over right and we could probably take a look at these images without being let's use this is going to work right maybe with food that's food baby on Instagram so you can start to see you know all these images again just got copied over quite easily and only takes a second and you could sit there and schedule that job to happen however much you want to do it I clicked it to run it but it could be scheduled every day whatever along those lines much if you're working with API or on RSS feeds things like that you got to be careful of rate limiting and how often you can call them so you know again scheduling might help that you know you can schedule it every twenty minutes to make sure you've got the most up-to-date it's not gonna be real time you know but that's not what you're looking for here you can get something close to real time by running a script continuously you you totally could it depends on what you're doing though I mean again if we're talking api's how I know you want to know especially with some of those API is they can ban you outright and you have to get a new whole new access token a whole new thing yeah yeah not fun when that happens to you yeah not that it's ever happened to me uh-huh ever like all the time or is like oh I need to put it away on that so you know web jobs are another way to kind of take your node skills and even if you're not necessarily using them you know compliment directly your site but there might be really great for a background tasks and you know this is something you can just run independently again II created a whole web app but I'm not deploying a website on it I'm just using it for a web job and you can totally do that you can deploy a couple of web jobs that you want and what I showed you right here with integration with Azure storage and blob and in particular but there's a lot of other opportunities that you can do you can get a sense of you know having them trigger it if if something's been added to queue or you know adding information to the table or those kind of things you know for example I wrote a raspberry pie kind of like a photo booth and every time that it uploaded an image it got triggered there's a process that went through it sent email in the background it did all this stuff and so you can totally have it run as a background task and not necessarily part of your app and it made the app feel 100% more so you know a couple of options for you in terms of leveraging some of your node skills but also getting them up on Ezzor and doing things that are productive for you so I we think of web jobs as like utility right like I need to to run it in the background it's mint it's there to save you the need from having a virtual machine just to run that simple script right it's there for you it's a common use case scenario when you're developing websites like you always there's always going to be some point where at something you'll need like some recurring job yeah and a web job is perfect for that yeah or something that you should maybe think about it should be a job samandar you're doing stuff and then you're like oh okay well I'm always paying this API and some of these results might be cached and I don't really care about those kind of things or you know whatever maybe you'll find ways to kind of introduce it into your workflow yeah so I think that's for this module for in terms of web jobs and in terms of node knowledge I walk you through a bunch of different things a lot of azor on the back end introduce you to storage but you didn't see that coming you know ah and you know kind of kind of getting your going thinking in a different way and you know for example this example I'm doing I actually have a purpose with it I'm building out a whole nother site and this is doing something on the back and that's going to help me make it a little bit more performant I'm hoping so you know maybe you can kind of take a little bit of that and introduce it into your own workflow all right well all right are there any questions in the chat oh here we go I don't know hold on chat chat are there questions can I ask that maybe did we lose our page no oh there no but someone said a really nice comment about openness at Microsoft so that's lovely if you have any questions feel free to put them in gasps yeah here's question is document to be similar to Mongo you yes it is very similar in fact they're both document oriented databases document DB has a bit of a different interface in that it has a more sequel like interface so if you're coming from a sequel background you can definitely leverage some of those skills and know how to write queries for document TV but they're both in fact documents based the other thing is that document give you runs on Azure and it's fully scalable and is a spec compliant and those are some of the key criteria that the document DB product team decided that they needed to work on and they might be a little bit different from how long it to be does the work so definitely very simple very similar they're both document based and you can use them for roughly the same purposes just the query interface will be a little bit different for both of them here's another one I'm this was gonna be questionnaire I love this yeah you need to move it give me a hard time yeah can I enter can I use pipes prep for those data sorry I tried to say traitor and then it display and then you guys mad at me hello thank you that to me can you tie script with no Jen well fundamentally tied script can be compiled back down to JavaScript so yes I guess yeah water I'll six we have another one where can I follow on training for the visual studio node SDK so if you look up on if you literally so search for no tools for Visual Studio I'll put a link into the chat you'll find that there's a whole kind of like a lot of them have like little mini portals for getting up to speed with node with the SDKs with the tooling again we have that for Python we have that for across the board so I'll put it I'll put a link into the chat room for that one here's one how does it as your web app keep a node application alive node mod forever you know one of those kind of modules something else does similar things I believe yeah on the backend yeah I'm not understand sure a good question now don't believe that they use node mod but I believe it does restart the opposite crashes good question I think that's I think that's about it yeah that's all that all right well thank you so much for joining us today with the visual studio code yeah with no js' my name is Randy this is Stacey hi and a couple of things that you absolutely absolutely I really really want you to do there's going to be a little poll right at the bottom somewhere down there yeah somewhere down there they're there all right you definitely want to fill out that poll it really helps us out and it tells us what content that you didn't like what content you did like which one you want us to spend more time on the next time around so please please please fill out the poll it's right at the bottom it won't take you very long I don't think it'll take you very long but I'm pretty sure it won't take you very long I just do it roughly one minute our our friend in the back says one click one click one click one call one click even I thought can you click and feel free to reach out to either of us if you have any questions or any feedback and you know cessful we're usually find us on twitter I think yeah yeah you can find us it's not a problem I think that all right well thank you so much for attending and hopefully you'll have a great time and you had a great time learning nodejs with us yeah no Don

Node.js Tutorial for Beginners | Learn Node.js in Less Than 60 Minutes | Node.js Training | Edureka

안녕하세요 Edureka의 Node

js 튜토리얼에 오신 것을 환영합니다 나는 라비 야 Velieth와 나는 오늘 당신의 트레이너입니다 오늘 의제를 확인해 봅시다 의제가 보이면 node

js가 무엇인지 알 수 있습니다 nodejs가 표시됩니다 아키텍처에서는 NPM 인 nodejs 패키지 관리자가 node

js인지 확인합니다 모듈, packagejson 파일이란 무엇입니까? 그런 다음 nodejs 기본 사항에 대해 자세히 살펴 보겠습니다 우리가 파일 시스템으로 옮길 것입니다 거기에있는 모든 언어의 기초입니다 nodejs에 파일을 읽고 쓸 수있게 해주는 FS 모듈이있다

우리 서버에 파일을 저장 한 다음 nodejs에 이벤트 모듈이 있습니다 HTTP 모듈이라고하는 것, Express라고하는 것이 있습니다 우리는 결국 오디 십 프레임 워크가 될 것입니다 전체 코드를 살펴보고 작은 데모를 통해 살펴 보겠습니다

모든 nodejs를 혼합 한 것이 될 것입니다 우리가 앞으로 나아갈 개념은 실제로 어떤 노드가 실제로 보이는지 살펴 보겠습니다 그래서 우리가 nodejs에 대해 말하면 강력한 자바 스크립트 프레임 워크이거나 콘솔에서 자바 스크립트를 실행할 수있는 런타임이라고 말하십시오 Chrome의 v8 엔진에서 개발되었으므로 누구나 v8 엔진이 무엇인지 모르는 경우 내가 무엇을 말하는지 알려주도록하겠습니다

v8 dot dev 공식을 확인하면됩니다 Chrome의 v8 엔진 웹 사이트에서 오픈 소스임을 알 수 있습니다 C ++로 작성된 고성능 JavaScript 및 웹 어셈블리 엔진 Chrome 브라우저에서 실행되는 엔진이 어느 정도인지 알면 귀하의 Chrome 브라우저가 무엇이든지간에 그것이 동일하다는 것을 알게됩니다 nodejs도 이해하므로 node

js를 작성한 사람은 그 사실을 알았습니다 이것은 오픈 소스 자바 스크립트 엔진으로 플랫폼에서 구현하지 않는 이유는 무엇입니까? 이렇게하면 서버에서 JavaScript를 실행할 수 있으므로 dias는 JavaScript를 이해하므로 이것이 우리가 원하는 것 중 하나입니다 염두에 두십시오 Chrome v8에서 실행되는 항목입니다 엔진을 사용하여 JavaScript 코드를 기본적으로 기계어 코드로 컴파일합니다

모두 우리가 가지고있는 Chrome의 v8 컴파일러 때문에 기본적으로 사용됩니다 서버 측 웹 응용 프로그램 및 실제 네트워크 응용 프로그램 만들기 그래서 주로 데이터 수집이 아니라면 기본적으로 추적은 사용되지 않습니다 application nodejs는 구체적으로 어떻게 만들어 졌는지 보여줍니다 node

js의 기능에 대해 이야기하면 기본적으로 발생합니다 열려 있습니다 소스는 간단하고 빠르며 비동기 적으로 확장 성이 뛰어납니다 기본적으로 작동하는 nodejs 응용 프로그램을 확장하는 데 아무 문제가 없습니다

마이크로 서비스 아키텍처라고 불리는 것 또한 도움이됩니다 그 마이크로 서비스 아키텍처는 정말 잘 단일 스레드 모델입니다 리소스 집약적 인 것은 아니라는 것을 의미합니다 병행하여 수행해야 할 일들이 어떻게 이루어 졌는지를 볼 것입니다 기본적으로 아무런 버퍼링도 기다리지 않습니다 멀리 nodejs 우려와 그 때문에 자바 스크립트의 개념입니다 이벤트 루프 (event loop)라고 불리우는 것에 대해서도 더 많이 보게 될 것입니다

매우 많은 플랫폼이 있으므로 기능의 간략한 부분은 nodejs입니다 아키텍처와 nodejs의 아키텍처에 들어가기 전에 우리는 우리가 말하면 전통적인 건축물을 보면서 전통적인 건축물을보고 싶어합니다 전통적인 서버 아키텍처는 기본적으로 모든 클라이언트 요청이 별도의 스레드에 의해 관리되므로 다중 스레드 모델이 계속 실행됩니다

예를 들어 Java와 같은 일반적인 서버 아키텍처는 멀티 스레드 응용 프로그램 또는 멀티 스레드 설정을 모두 사용하여 웹 응용 프로그램 여러 스레드에서 실행되며 클라이언트 요청은 병렬로 처리됩니다 이제는이 모델에서 벗어날 수있는 것이 없습니다 자바가이 시점에있을 때 당신 전체에서 작동했습니다 Java 실제로 프로그래밍 할 수있는 최고의 언어 및 보안 언어 중 하나입니다 그러나 이것은 리소스 집약적입니다

병렬로 진행되는 많은 스레드는 서버 또는 컴퓨터를 의미합니다 그러나 이러한 많은 스레드를 실행할 수 있어야합니다 당신은 nodejs에 대해서만 이야기합니다 요청을 병렬 처리하므로 내가 분명히하고 싶은 한가지 여기에 배경이 있거나 아마 후드 아래에있을 수도 있습니다 모든 요청을 병렬로 처리하지만 이벤트 루프를 통과합니다

요청이 처리 과정에 들어가고 통지가 기다리지 않습니다 다음 요청을 처리하는 동안 들어오는 요청의 출력 예를 들어 첫 번째 요청이 출력을 얻었을 때 출력 또는 각 클라이언트에 대한 출력과 기본적으로 알 수 있습니다 백그라운드 나 후드에서 기본적으로 하나의 스레드 만 실행 중입니다 이는 리소스를 많이 사용하지 않으며 요청을 처리하는 동시에 수많은 클라이언트에서 제공되며 모든 것이 실행중인 가상 필드를 제공합니다 병렬하지만 이벤트 루프 때문에 모든 것이 전부가 아닙니다

기본적으로 아키텍처이기 때문에 계속 진행되고 있습니다 노드라고 불리는 노드에 관한 한 매우 중요한 것 패키지 매니저는 NPM이라고 불리우며 주로 노드 패키지 관리자로 알려져 있지만 요즘은 노드로 알려져 있지 않습니다 패키지 관리자는 패키지 관리가 너무나 많은 일을하기 때문에 이렇게 많은 다른 일을하는 것처럼 우리는 그것이 무엇인지를 볼 것입니다 공식 정의는 nodejs 패키지 또는 모듈의 패키지 관리자입니다

nodejs 버전 6에서 기본 설치로 추가 된 06 이상으로 설치가 완료되면 설치가 완료된 것입니다 자바 프로그래머라면 nodejs에서 이것을 할 수있다 PHP 프로그래머라면 작곡가와 연결할 수 있으므로 NPM에 너무 많은 라이브러리 저장소가 있고 리포지토리는 프로젝트에 필요한 패키지를 제공합니다

우리가 제공하는 기능에 대해 이야기하고 nodejs를위한 온라인 저장소를 호스팅합니다 명령 줄을 사용하여 프로젝트에서 쉽게 다운로드 할 수 있습니다 는 명령 행 유틸리티도 제공하며, 또한 명령 행 유틸리티를 관리 할 수 ​​있습니다 프로젝트에서 사용할 수있는 라이브러리 버전이라고하는 리포지토리 그래서 우리는 버전이 무엇인지, 그리고 우리가있는 라이브러리는 무엇인지 알게 될 것입니다 내가 말하고있는 도서관이나 내가 말하는 도서관에 대해서 이야기하고있다

그냥 nodejs 모듈 그래서 nodejs 모듈 또는 우리가 모듈 시스템에 대해 이야기한다면 거기에 핵심 모듈이 있으며 그 다음에는 제 3 자 모듈은 실제로 사용할 수있는 멋진 모듈입니다 Noches의 기본 설치 당신이 가지고 있지 않은 것을 프로그램 할 필요가 없습니다 코어 모듈이 거의 작동하지 않는 다른 것들을 설치하기 만하면됩니다

HTTP URL 쿼리 문자열처럼 여기에 나열됩니다 우리가 오늘 사용하게 될 다른 것들도있다 그리고 나서 그것은 로컬 모듈이다 프로그래머가 만들 수있는 기능은 프로그래머가 만들 수있는 객체가 될 수있는 객체와 프로그래머 다른 팀 구성원이 아니라 프로그래머가 가져올 수 있도록 내보내기 모듈을 만들고 사용하여 프로그래머가 맞춤 모듈 및 타사 모듈을 통해 설치됩니다 NPM 저장소 그래서 만약 우리가이 특별한 경우에 NPM에 대해 말한다면 나는 단지 또한 NPM 웹 사이트를 열어 기본적으로 NPM j / s이며 침착하게 볼 수 있습니다

너무 많은 저장소가 있으므로 수많은 회사가 있습니다 그리고 모든 곳에서 사용할 수있는 저장소가 너무 많아서 이 특별한 경우에 몇 개의 저장소가 있습니다 당신이 들었을 수도있는 반응에 대한 이야기 ​​반응 반응은 저장소 중 하나입니다 NPM에서 사용할 수 있습니다 들어 본 적이있는 NPM 저장소에서 사용 가능한 라이브러리 jQuery는 부트 스트랩에 대해 들어 보셨을 것입니다

익스프레스조차도 사용할 수있는 많은 리포지토리가 있습니다 사용하려고하는 것은이 라이브러리에서 사용할 수있는 라이브러리 중 하나입니다 Express가 NPM의 저장소이기 때문에 여기서 Express가 라이브러리 중 하나임을 알 수 있습니다 그것이 사용되는 방식이므로 익스프레스 노스 캐롤라이나를 설치하게됩니다 NPM 보관소에서 제 3 자 라이브러리를 설치하는 방법 그래서 제 3 자 모듈이고 NPM 설치 또는 NPM I을 사용하게됩니다 이 특정 저장소를 설치하기 위해 짧게하려면 이제 nodejs에있는 JSON 파일의 package

json 파일 패키지는 전체의 핵심입니다 응용 프로그램은 기본적으로 메타 데이터를 포함하는 매니페스트 파일입니다 이 시점에서 프로젝트를 시작하면 nodejs 프로젝트를 만들고 이 패키지가 JSON 파일을 어떻게 보이게하는지 그리고 나서 우리는 이것을 분석 할 것입니다 사실은 여기에 폴더를 만들도록 허락 해 주셨습니다

에디 리카 (Eddy rekha)와 폴더 내가 nodejs 프로젝트를 초기화하자 nodejs 데모라고 부르겠다 아니면 내가 더 잘 작업 관리자라고 부를 것이다 여기에 작업 관리자 기능 중 일부를 만들려고합니다

그것은 만들 API이거나 우리가 만들 웹 서비스입니다 이 작업 관리자에서 무엇인지 확인하십시오 나는 오디언스를 초기화 할 것입니다 프로젝트를 만들고 nodejs 프로젝트를 초기화하려면 GS가 필요하지 않습니다

컴퓨터에 설치되어 있습니다 즉, nodejs dot org로 이동해야합니다 웹 사이트 및이 LTS 버전을 다운로드 할 수 있습니다 현재 출시 중입니다 기본적으로 실험적이지만 최신 기능이 모두 포함되어 있습니다

언젠가는 오류가 발생하기 쉽기 때문에 개발을 위해 일반적으로 알고 있습니다 이 카드를 사용하지 말고이 카드를 사용하십시오 기능은 현재 릴리스를 설치할 수도 있지만 항상 함께 할 것입니다 LTS와 나는 이미 이것을 클릭하여이 의지를 클릭했다 설치 파일 인 MSI 파일을 다운로드 할 수있게하면됩니다

해당 설정을 두 번 클릭하고 Windows 및 Mac에도 설치하십시오 설정은 정말 간단합니다 리눅스에서도 아마 여러분에게 예를 들어 심플한 파일이라면 nodejs를 설치하십시오 정말 간단하지만 설치가 완료된 후에는 node

js가 컴퓨터에 설치된 위치를 확인해야합니다 아니, 너는이 방법으로 노드를 검사 할거야 – B 나는 너에게 버전을 줄거야 nodejs 그리고 내가 이미 설치되어 있고 버전이 있다는 것을 알 수 있습니다

10 포인트 15 포인트 3은 LDS이고, NPM도 체크 할 것입니다 NPM이 본질적으로 nodejs와 관련이 있다는 것을 보았습니다 우리는 NPM 버전을 제공 할 NPM-B에 갈 것입니다 우리는 모두 준비가되어 있습니다

준비가되었으므로 작성 또는 초기화 해 보겠습니다 nodejs 프로젝트는 현재 NPM이라는 것을 의미합니다 디렉토리 그래서 만약 우리가 그냥 Enter 키를 누르면 점은 뭔가가 아니라고 생각합니다 이 일이 올바르게 끝났 으면 이것은 당신에게 어떤 질문을 할 것입니다

package name 작업 관리자와 동일한 패키지 이름을 원한다고 가정 해 봅시다 나는 버전이 e1이되도록하고 싶다 관리자 프로젝트의 진입 점이 중요하지 않음 이 시점에서 우리는 지금 그대로 테스트 명령이 없으므로 그대로 유지할 것입니다 저장소 가져 오기 나는 git 저장소와 그 저장소에 커밋하지 않을 것이다 키워드뿐만 아니라 저자 나는 지금 유레카와 라이센스에서 아무런 의미가 없다고 말할 수 있습니다

왜냐하면 우리는 그것을 공공연하게 만들지 않을 것이기 때문입니다 그게 괜찮습니까? 그리고 이것에 대해 쓰고 있다고 알려줍니다 작업 관리자 폴더 안에있는 JSON의 특정 파일 패키지 내가 네라고 말한 후에이 파일이 패키지 또는 JSON을 내 프로젝트 안에 넣으세요 Enter 키를 눌러 봅시다 지금 내 폴더를 체크 아웃하면 패키지 도어 JSON 파일이있는 것을 볼 수 있습니다

우리 편집기에서 이것을 열어 보겠습니다 여기에 패키지 점이 있습니다 JSON은 지금 우리가 제공 한 모든 정보와 함께 사용할 수 있습니다 인접한 기본 패키지는 패키지 내부에 많은 것들이있을 것입니다 JSON 파일과 일반 패키지 또는 실제 패키지 또는 JSON이 뭔가 보일 수 있습니다

이처럼 프로젝트 이름이 너무 많아요 다음 버전의 무언가가 프로젝트의 설명뿐만 아니라 무엇입니까 첫 번째 실행을위한 기본 스크립트 인 프로젝트의 시작점입니다 우리가 테스트 명령어를 제공하지 않은 것을 본 스크립트가 있습니다 이 프로젝트를 실행하기 위해 모든 도구를 사용하는 특정 엔진이 있습니다 작성자는 라이센스가 무엇인지, 특정 제 3 자 모듈이 있습니다

이 특별한 예에서 Express가 있다는 것을 알 수 있기를 바랍니다 거기에 우리가 사용할 제 3 자 모듈로서 거기에 있습니다 dev 종속성 예를 들어 같은 개발 환경에 갈 때 우리의 컴퓨터에는 거기에있을 것입니다 특정 종속성이있을 것입니다 dev 종속성 내부에 나열됩니다 다음 관련 저장소가 있습니다 우리가 실제로 제공하지 않은 정보는 버그와 그 모든 것들은 별도의 URL과 홈 페이지 여야합니다 우리가 초기화 할 때 생성 된 패키지 또는 JSON 파일 nodejs 프로젝트를 만들고 수동으로 만들 수도 있지만 우리는 프로세스로 NPM을 사용합니다

이제 nodejs 기본 사항을 살펴 보겠습니다 기본 사항에 대해 이야기합니다 언어 기본 사항 및 우리가 기본으로 확인해야 할 주요 사항은 데이터 유형이므로 특정 원시 데이터 유형에는 특정 추상 데이터 유형이 있습니다 기본 데이터 형식이므로 기본 데이터 형식은 문자열 번호 부울 null 및 정의되지 않은 추상 데이터 유형은 객체 배열과 날짜입니다 너무 많은 다른 사람들이 있습니다

그러나 이것들은 몇 가지 예를 들자면 제가 예를 들어 말할 수 있습니다 응용 프로그램 만들기 변수로 문자열을 만들어 보자 그게 작동 그래서 그냥 애플 점 J의 파일을 만들고 이걸 내가 만들거야 변수와 나는 매우 구체적인 이름으로 첫 번째 이름을 말할거야 유레카에서 이것은 우리가 선언 한 변수이며 이것을 보여주고 싶다면 내 콘솔의 변수 나는 콘솔의 점 로그를 악화시킬 것이다 이 기본 인식은 기본적으로 내가 이 응용 프로그램을 실행하고 싶습니다

DOJ의 HTML 파일을 만들어야 할 수도 있습니다 이 응용 프로그램을 스크립트 파일로 포함시켜야하고 실행해야 할 수도 있습니다 HTML 파일을 열고이 특정 출력을 보려면 콘솔을 엽니 다하지만 컴퓨터에 nodejs를 설치 했으므로 실제로 할 수 있습니다

이 특정 앱을 실행하면 점 GS가 정말 쉽게이 점을 실행 해 보겠습니다 내 프로젝트에 들어가서 화면을 지우고 이걸 실행시켜야한다 그리고 nodejs 애플리케이션을 실행하는 것은 간단합니다 app 인 파일 이름은 점으로 표시되며 이름이 표시됨을 볼 수 있습니다

내 콘솔에 그래서 내가 콘솔로 무엇을 할 지 점 로그가 표시됩니다 내 내가 명심하고 기억하고 싶습니다 우리가 만든 문자열이지만 엄격한 데이터 개념이 없습니다 그래서 기본적으로 첫 번째 이름은 이와 비슷한 이름 일 수 있습니다 숫자를 말하면 문제가되지 않도록 다시 할당 할 수 있습니다 JavaScript의 핵심 특성 인 JavaScript는 엄격하게 입력되지 않으므로 내가 마음에두기를 바랍니다

너무나 많습니다 우리가 문자열을 생성 한 다음 사용할 수있는 데이터 유형 이렇게 많은 다른 사람들이 우리가 이미 본 변수를 만드는 방법입니다 내가 이미 말했듯이 이미 사업자들이있다 다른 모든 프로그래밍 언어와 비슷합니다 그들 중 한 명은 물론 연산자도 있습니다

독창적이고 트리플에 해당하는 기호가 있으므로 예를 들어 말할 수 있습니다 이 막대와 같은 것은 H1이 30과 같고 H2가 30과 같다고 가정합니다 그리고 나서 우리의 결과가 H 2와 같음 H 2와 같다고 가정 해 봅시다 이 double은 다른 바이너리 연산자와 비슷합니다 더하기 및 유사하게 나는 이것이 지금과 같기 때문에 이것이 지금과 똑같이 두 배로 갈 것입니다

비교 연산자는 true 또는 false를 반환하고 이것은 얻을 것이다 결과 변수 안에 저장되므로 이번에는 그것이 우리를 진실로 되돌려 줄 것이며, 만약 내가 간다면 결과를 얻는다는 것을 짐작할 수 있습니다 결과의 consolelog 그리고 Jess 후에 이것을 실행하면 리턴한다는 것을 알 수있다 우리가 문자열을 괜찮게 만들었고, 변수를 선언하면 이전 예제에서는 엄격한 데이터 유형이 없으므로 실제로 데이터 유형을 확인하면 값을 확인할 것입니다

하지만 이것이 우리에게 사실이 될 것이고 사실은 거짓임을 우리에게 알려야 할 것처럼 보일 수 있습니다 자바 스크립트처럼 데이터 유형에 신경 쓰지 않아요 예를 들어 또한 데이터 유형을 사용자와 동일한 두 배가 아닌 값과 비교하십시오 동등한 삼중 항을 사용하면 이것이 우리에게 거짓이 많을 것입니다 우리가 지금 가지고있는이 특별한 두 가지 예 안에서 또는 안으로 들어간다

당신은 double이 데이터 타입을 비교하지 않는다는 것을 기억할 수 있습니다 트리플은 데이터 유형을 검사하기 위해 동등하지만 다시는 너무 많습니다 이것이이 특정 세션의이 대목에 있지 않은 두건 아래에서 계속됩니다 하지만이 점을 염두에두면 사용할 수있는 고유 한 연산자가 있습니다 자바 스크립트를 구체적으로 그리고 다른 특정 언어가 있습니다 이 연산자를 가지고 있지만 javascript는이 모든 것을 그렇게 생각해 냈습니다

이것은 하나의 것입니다 그리고 이번에는 우리가 어떻게 달릴 지에 대한 아이디어를 얻었을 것입니다 응용 프로그램 또는 nodejs에서 파일을 실행하는 방법이 다른 한 가지입니다 함수가 만들어지는 위치를 예를 들어 말할 수도 있습니다 if 나는 함수가 hello라고 말하자

나는 그 안의 이름을 건네주고 돌아오고 있습니다 안녕하세요 + 지금 이름을 말하십시오 연결 연산자이며 이름 또는 안녕하세요 메시지를 반환합니다 우리가 이걸 할 수 있도록 내가 쓴 이름으로 내 콘솔 도트 로그가 말한다 안녕하세요, rummy alright에게 인사하겠습니다

그래서이 특정 파일을 실행하면 우리가 기대하는 결과물을 나에게 줄 것이다 자바 스크립트에 있다고 말하고 싶다면 다음과 같은 조항이 있습니다 익명 함수를 사용하지 않고 함수를 만들 수 있습니다 자바 스크립트는 이름이없는 함수를 사용했고, 이것이 그렇다면 어떻게하면 함수를 호출 할 수 있을까요? 이 말처럼 hello는 다음과 같은 함수와 같습니다 그 다음 나머지는 같은 함수로 호출됩니다

우리가 한 일은 우리가 변수를 만들고 이것 안에 변수 우리는 값이 아닌 함수를 할당 한 다음 우리는 이 특정 코드를 실행하면 변수를 함수로 다시 호출합니다 출력은 똑같을 것입니다 여기있는 함수는 익명 일 수 있습니다 자바 스크립트에서 모든 권리 및 개체 지금 개체가 있습니다 두 가지 방법으로 객체를 만들 수 있습니다

하나는 전쟁과 같은 객체 리터럴을 사용하는 것입니다 학생은 Ravi라는 이름을 가진 상수 객체와 동등합니다 예를 들어 gmailcom에서 Ravi를 이메일로 보내고 다음과 같이 할 수 있습니다 이 콘솔 도트 로그 학생 점 이름 오른쪽 및 다음 학생 전자 메일 및 그래서 그 이름은 기본적으로 무엇이든지 표시 할 수 있습니다

속성을 수행 한 다음 사용할 수있는 생성자 패턴이 있습니다 그러나 당신이 그렇게하지 않으면 괜찮습니다 그러나 다른 패턴이 있습니다 객체 생성자를 사용하여 이제 알고있는 객체를 생성합니다 Deus core 모듈 중 하나는 FS 모듈 FS 모듈 인 파일 시스템입니다

포함시키려는 경우 또는 모듈을 포함 시키려면 포함 시키십시오 구문 변수는 require와 동일하고 모듈 이름 이것은 bar FS가 FS를 요구하는 것과 같습니다 이제이 FS 모듈에서는 다른 것을 설치할 필요가 없지만 J는 필요하지 않습니다 거기에 있고 FS 모듈이 사용 가능할 것입니다 node

js의 모듈 예를 들어 hello라는 파일이 있다고 가정 해 봅시다 dot txt와 약간의 데이터가 있습니다이 파일을 읽고 싶으면 FS 도트 읽기 파일과 같이이 작업을 수행하면 특정 파일의 경로를 묻습니다 그래서 기본적으로 상대 경로를 시도 할 수 있도록 경로를 남겨 두자 기본적으로 hello dot txt가 무엇인지 알아보고 두 번째 인수를 보겠습니다 우리가 전달해야 할 콜백 함수는 js '나 JavaScript 플랫폼은 콜백 함수를 기반으로 더 많은 작업을 수행합니다

같은 시간에 작동하는 많은 것들이 가상화되었으므로 콜백 함수로 갈 것이고이 함수 익명 함수는 두 가지 인수에 대해 하나는 오류이고 하나는 데이터이면 아무 것도 볼 수 없습니다 오류가 발생하면 콘솔에 데이터를 기록하기 위해 어떤 데이터가 있는지 살펴 보겠습니다 우리는 괜찮습니다 만약이 파일을 지금 실행하면 잘하면이 파일의 내용을 얻어야합니다 여보세요 점 txt 파일은 여기에서 보자 나는 내용을 얻지 않는다 그러나 나는 얻는다 buffer라는 버퍼는 기본적으로 다음을 포함하는 일부 컨테이너입니다

이 버퍼에서 원시 데이터를 가져온다 기본적으로 문자열을 얻을 수있다 데이터를 버퍼로 변환하는 함수 인 string에 buffer dot을 사용하십시오 문자열은 이제 hello world의 내용이 무엇이든간에 내게 줄 것이다 마찬가지로 예를 들어 파일 안에 뭔가를 써야한다면 파일 내부에 무언가를 쓰고 싶은데 일단 파일이 쓰여지면 우리가 이걸 할 수있는 파일을 읽고 싶습니다

FS 도트 쓰기 파일 및 쓰기 파일이 다시 경로로 이동합니다 그리고 나는 데이터에 대해서도 갈 것이고 데이터는 다음과 같다 이런 식으로 한 번 가서 데이터 데이터에 대한 모든 데이터 형식이 될 수 길은 부울 수 있습니다 개체가 될 수있는 데이터를 오른쪽으로 누른 다음 갈 수 있습니다 콜백 함수와 콜백 함수는 무언가를 가질 것이다 인수가 여기에 있습니다

오류가 없다면 오류가 없으면 오류가 발생합니다 파일을 읽는 것을 좋아합니다 그렇다면 FS 시작 파일을 읽을 수 있습니다 이 모든 것을 가져 가면 여기에 넣을 수 있습니다 그래서 제가 한 것은 제가 가지고있는 것입니다

파일에 무엇인가를 써 넣었습니다 무엇이든 작성한 후에 오류가 없다면 나는 그 파일을 읽으 려하고있을 것이고 여기에 없다면 오류 콘텐츠를 표시하고 싶습니다 잘하면이게 나에게 줄거야 너는 어떠니? 또는 그것이 불쾌한 점이 무엇인지 보지 못하게하는 지 보자 내가 이것을 확인하면 일어난다 너는 나에게 준다는 것을 알 수있다

hello dot txt는 특정 내용을 덮어 쓴 것을 볼 수 있습니다 이 모듈이 FS 모듈 데모이기 때문에 이미 읽었을 것입니다 파일 작성하기 JSON에서 JSON을 읽고 쓰고 싶다 실제로 만들어 졌던 API의 느낌을 나에게 줄 수있는 파일 그 사건이 어떻게 진행되는지 살펴 보시고, 이벤트 라 부르지 만 진행하기 전에 이벤트를 위해 먼저 서버를 만들고 싶습니다 서버와 당신은 이벤트가 기본적으로 우리가 될 것이라고 알고 있습니다

특정 이벤트를 내보내는 곳에서 일하면서 우리는 그 사건을 듣고 전체 메커니즘이 어떻게 작동하는지, 이벤트 핸들러는 작동 할 것이고 이벤트 전에는 내가 들어가고 싶습니다 서버가 네트워크이기 때문에 HTTP 모듈을 통해 서버 만들기 nodejs가 우리가 그렇게 만들 수있게 해주는 응용 프로그램입니다 우리는 HTTP 모듈을 통해 서버를 생성 한 다음 이벤트가 어떻게 진행되는지 보자 그래서이 FS 관련 내용을 없애자

코드와 나는 FS 코드를 다시 한 번 찾아 볼 것이다 지옥 또는 TC 나는이 권리가 필요 없어요 그러면 제가 할 일은 제가 할게요 서버를 만들기 전에 여기에 서버를 놓으십시오 VAR h DP는 다음과 같습니다

그 사람이 있어야한다고 요구하고 그 다음엔 정말로 간단합니다 다른 모든 언어 서버가 아닌 Jess없이 서버를 작성하십시오 예를 들어 프로그래머가 만들 것이라고 말하면 JSP 또는 자바와 함께 기회가 이미 Tomcat 아파치 웹 서버가 있습니다 사용 가능한 서버가 dotnet과 통지를 비교하면 사용 가능합니다 이미 PHP에 관해서 말하면 이미 아파치 서버가있다 거기에 컴파일 및 nodejs에서 사용할 수있는 서버가 없다 그래서의 개념 node

js는 nodejs에 맞지 않는 서버입니다 그것은 우리가 당신의 컴퓨터에서 JavaScript로 실행할 수있게하는 단지 런타임입니다 원할 경우 서버를 만들 수 있고 큰 서버가 아닌 서버를 만들 수 있습니다 nodejs에서 처리하십시오

이것은 서버 HTTP를 생성하는 방법이거나 서버를 생성하는 방법입니다 그것을 추가하고 서버라는 변수에 저장하고 내 서버는 포트 번호 3000 서버가 3000을 수신하지 않습니다 서버가 수신 대기하고 원하는 경우 여기서도 호스트 이름을 제공 할 수 있습니다 기본적으로 localhost 또는 localhost를 명시 적으로 제공하려는 경우 hostname sir yes sir은 localhost 및 3000을 청취합니다 당신이 듣기 시작한다는 것을 알게 된 후에 나는 또한 메시지를 제공하고 싶습니다

콜백 함수 또는 익명의 함수가 그림에 나타날 것입니다 기능 때문에 로그가 시작된 서버로 이동합니다 포트 3000 바로 알았어 그래서 우리가 한 일은 우리가 단순히 서버를 만들었다 HTTP 서버 생성 및 포트 번호 3000에서 수신 대기하므로 마지막으로 콘솔에 메시지를 표시하고 있습니다

당신이 알아 차릴 것 한가지는 다른 프로그램에 있습니다 실제로 당신이 볼 수있는 전체 프로그램으로 끝난 것처럼 끝났습니다 명령 프롬프트를 다시 받으십시오 그러나이 경우 서버를 청취 할 때 응용 프로그램이 끝나지 않도록 포트 번호 3000을 지속적으로 듣습니다 이 특별한 경우 당신은 응용 프로그램을 강제로 종료해야 할 수도 있습니다 Ctrl 키를 C 그럼 내가 지금 실행하면 사라가 포트 번호에서 시작한 것을 볼 수 있는지 보자

3000 그리고 응용 프로그램이 괜찮아 끝내지 않을 것입니다 그래서 내가 말할 경우 localhost 포트 번호 3000은 여기에서 볼 수있는 일이 될 것입니다 요청이 서버로 전송됩니다 서버가 응답하지 않기 때문에 응답하지 않습니다 서버가 무언가로 응답하도록 프로그래밍 했으므로 여기서 서버가 응답하지 않습니다 서버가 제대로 작동하는 동안 응답하므로 내 서버를 중지하면 그 사이트에 도달 할 수 없으므로 근본적으로 의미있는 것이 었습니다

이전에 서버가 실행 중이었기 때문에 예를 들어 서버를 실행하면 다시 localhost 3000을 열어 보겠습니다 다시로드가 시작되지만 서버가 여전히 존재하기 때문에 도착한 사이트 국가의 메시지가 표시되지 않습니다 사이트에 도달했지만 서버가 응답하지 않습니다 그래서 우리 서버를 프로그래밍하여 우리가 당신을 위해 우리에게 응답하도록하십시오 create server 메소드 내의 콜백 함수와이 콜백 함수 인수에 대한 두 가지 요청과 응답이 있습니다

이 특별한 경우에 응답 당신은 응답 도트 끝을 위해 모든 권리를 가지러 간다 그리고 제가은을 사용한다고하면 그 모든 메시지를 보내기를 원합니다 맞습니다 그러면 브라우저에서 메시지를 보냅니다 은이 작동합니다

그래서 그 메시지를 가져 가세요 내 응용 프로그램에서 무언가 변경 DOJ의 나는 이것을 멈춰야 할 수도 있고 내가 가질 수도 내 서버를 재시작하여 3000 번 포트를 듣고 있습니다 새로 고침을하면 메시지 서버가 작동하여 예쁜 메시지를 볼 수 있습니다 우리는 거의 3 개의 명령문처럼 서버를 만들었습니다 서버를 만드는 방법에 대한 것이지만 일반적으로 사람들이하는 일은 사람들이 사용하는 것입니다

Express와 함께 서버를 생성 한 다음 우리가 말했던 프레임 워크를 표현함으로써 표현을 통해 서버를 만드는 방법을 살펴 보자 이벤트로 돌아가서이 이벤트에서 이벤트가 어떻게 작동하는지 보겠습니다 사건에 대해 이야기 할 때 두 가지 방법이 있습니다 일반적으로 하나를 위해가는 것은 에멧이라고 불리우며, 두 가지 방법 Emmet과 on은 우리가 어떻게 작동하게하고 이벤트가 무엇인지 알게 해줍니다 기본적으로 또는 이벤트 시스템이 어떻게 작동하는지에 관해서는 우리는 다시 지금까지 이벤트라고 불리는 코어 모듈은 이벤트가 이벤트를 요구하는 것과 같습니다

J의 차가운 모듈이 없으므로이 모듈을 포함시키지 않아도됩니다 특별한 경우는 이벤트 이미 터를 생성하여 이벤트 이미 터가 이벤트 도트 이벤트 이미 터와 같으며 새 이벤트 이미 터 여야합니다 실제로 지금 당장 프레젠테이션을 진행하면 또한 켜져 있고 방출하는 두 가지 점을 강조 했으므로 모든 것이 옳다 그래서 지금이 특별한 경우에 무엇인가 가자 이벤트 도트라는 이벤트 도트는 실제로 이벤트에서 생각조차하지 않습니다

에미 터 점 이제이 함수는 기본적으로 언제나 이벤트 리스너입니다 이벤트가 발생하면이 함수는 특정 이벤트를 청취합니다 그래서 이것은 사건을 경청 할 것이고 심지어 우리는 이벤트를 살펴보고 함수로 할 수있는 것을 콜레 우트로 보겠습니다 우리가 이벤트를 볼 수 있도록 여기에 관련되어있는 기능입니다 에미 터는 이벤트 도트와 무언가를 인수로 사용하지만 현재로서는이 방법으로 보관할 것입니다

이미지의 측면에서 이벤트를 내보내고 싶습니다 이 특별한 경우에 서버에 요청이있을 때마다 할 것입니다 나는 사건을 내고 싶다 그 사건을 듣고 싶다 콘솔에 뭔가를 기록하십시오

그래서이 특별한 경우를 보도록하겠습니다 이벤트 방출기 도트 방출 및 이벤트 이름을 아무거나 지정할 수 있습니다 나는 Emmet이 근본적으로 누군가에게 요청한 것을 알고있다 서버 그래서 내가 말하고 싶은 것은 아마도 내가 요청할 수있는 누군가를 원한다는 것입니다 그게 내가 왜 그렇게 기괴한 이름이나 누군가를 요구했는지를 이벤트 이름이고 원하는 경우 일부 데이터도 전달할 수 있지만 지금은 이 방법을 그대로 사용하면 요청한 사람을 생략하고 누군가가 요청했을 때 무언가를하고 싶을 때 누군가 요청한 이벤트 이미 터 점 및 콜백 함수 인 함수 그냥 콘솔 도트 로그로 가자

나는 요청이 완료되었다고 말할 것이다 콘솔에서 이와 비슷한 서버 좋아,이 이벤트 이미 터는 기본적으로 이벤트 리스너입니다 맞아요 그래서 우리는 사건을 일으키고 있습니다 아니면 그걸 촉발시킬 수도 있습니다

이것이 이미지 트리거이고 이것이 이벤트 인 더 나은 이름이 될 것입니다 리스너가 Emmett에서 방출되는 이벤트는 이벤트 트리거이며 on은 이벤트 리스너이므로이 이벤트가 트리거 될 때마다이 이벤트는 이 함수는 실행될 것이므로 지금 읽으면 그렇게 보일 것입니다 내 nodejs 응용 프로그램에서 뭔가를 변경 했으므로 내 서버에서 이것을 다시 실행하십시오 서버가 3000 번 포트에서 시작되었습니다

새로 고침하고 줄 것입니다 저 서버는 잘 작동하지만 콘솔에서 체크 아웃하면 다시 새로 고침하면 요청이 완료되었음을 알리는 요청이 완료되었습니다 완료되면 두 가지 요청이 있습니다 하나는 get get '메소드가 서버에서 사용 가능하지 않은지 여부와 다른 요청 기본적으로 get 메소드로 실행되므로 실제로 두 가지 요청이 있습니다 그러나 우리는 당신이 그 특별한 경우에 자세히 들어가는 것을 알 필요가 없습니다

한 가지는 이벤트 이미 터가 트리거 될 때마다 자신의 방법을 실행하고 우리는 그 특별한 사건을 모두 경청 할 수 있고 예를 들어 내가 몇 가지 데이터를 전달하려는 경우 테스트 권리와 데이터는 함수로 가져올 수 있으며 익명 함수는 인수이며 다시 말해서 나에게 테스트를 표시해야하는 데이터를 표시합니다 당신이 무엇을 건네 주면 문자열이 될 수 있습니다 인수로 함수에 넣을 수 있습니다 콘솔 내에서 특정 인수를 표시 할 수 있습니다 다시 실행하십시오

우리의 프로그램과 서버를 새로 고침하자 퀘스트가 서버에서 수행되었으며이 특정 데이터를 테스트했습니다 이벤트 이미 터가 표시되도록 이벤트를 생략하고들을 수 있습니다 사건이 발생할 때마다 듣기가 일어날 것입니다 이 방법을 사용하면 node

js 서버가 이벤트 서버가됩니다 우리가 성가 응용 프로그램이나 실시간을 만들고 싶다면 정말 좋습니다 응용 프로그램 이벤트 처리가 실제로 우리가 좋은 실시간을 만드는 데 도움이 될 것입니다 응용 프로그램을 사용하면 기본적으로 그림이 표시됩니다 소켓 IO를 체크 아웃 할 수 있다는 것을 알고 있습니다

이 이벤트 이미 터를 많이 사용하는 채팅 서버를 만드는 데 도움이됩니다 메소드를 모두 내 보냅니다 이제는이 메소드를 사용하여 서버를 생성했습니다 HTTP 모듈과 서버에 대해 말하면 항상 클라이언트는 브라우저 또는 모바일 브라우저 중 하나이거나 웹 서버에 서버 파일이 포함되도록 웹 서버에 요청할 수 있습니다 우리가 만든 apt rjs와 일부 응용 프로그램 논리도 마찬가지입니다

원하는 경우 논리가 데이터 계층 또는 외부에서 데이터를 가져올 수 있습니다 시스템으로 전송하고 요청을 클라이언트에 다시 제공 할 수 있으므로 기본적으로 이 데이터는 비즈니스 계층과 웹 서버로 가져오고 응답처럼 웹 서버가 응답하지 않습니다 특별한 경우이므로 요청 및 응답주기가 계속 진행될 것입니다 그런 다음 nodejs를 사용하여 웹 서버를 만들고 있음을 알 수 있습니다

일시 중지 할 수 있습니다 이 부분은 당신이 생각하기에이 모든 것을 시도해 볼 수도 있습니다 당신이 이미 알고있는 서버가 어떻게 만들어 졌는지 알았습니다 그런 다음 확실합니다 여기에 나와있는 다른 것들을 시도해 볼 수 있습니다

제 3 자 모듈 또는 제 3 자 패키지로 말하거나 심지어 우리가 부를 수 있습니다 그것은 익스프레스 j / 익스프레스라고 불리는 라이브러리 익스프레스 예 odious 프레임 워크입니다 이는 기본적으로 데이터 흐름 및 라우팅 관리를 용이하게합니다 아주 가볍고 요즘에는 노드 애플리케이션을 만들면 API 또는 웹 서버 expressjs는 분명히 가지고있는 것입니다 그래서 그것은 근본적으로 언어 자체의 일부분과 같습니다 빠른 애플리케이션 개발은 애플리케이션에 템플릿을 제공합니다 그것들 중 두 엔진은 요즘 버그와 ejs로 알려져있는 비취입니다

매우 인기가 있지만 다른 많은 것들이 있기 때문에 건물을 아는 데 도움이됩니다 단일 페이지 응용 프로그램은 다중 페이지 응용 프로그램을 구축 할뿐만 아니라 모든 데이터베이스와 연결하기 MySQL MongoDB Redis 등 설정은 다음과 같다 정말 간단합니다 Express에서 서버를 만드는 방법은 정말 간단합니다 그것은 또한 당신이 오류를 처리하는 데 도움이됩니다 또는 어쩌면 그것은 당신에게 좋은 시설을 제공합니다 오류 처리 프로세스를 정의하여 응용 프로그램의 유지 보수성을 높입니다

작동 할 수있는 기능이므로 Express에서 데모를 만들어 보겠습니다 그게 어떻게되는지 보자 그리고 나는 HTTP와 Express를 함께 사용하고 있다고 말했다 그것을하는 이상적인 방법 인 서버를 만드십시오 모든 것을 끝내고 Express 서버로 시작해 보겠습니다

익스프레스 바 포함 익스프레스는 익스프레스를 요구합니다 내가 이것을 실행하면 이것이 작동 할 수도 있지만 Express는 타사 라이브러리이므로 제 3 자 모듈이므로이 경우에는 이 특정 모듈을 시스템에 설치하면 분명히 알 수 있습니다 이걸 실행하려고하면 오류가 발생하여 모듈 Express를 찾을 수 없습니다 Express를 설치하고 파일을 기억하기 위해 여기에 Express를 설치합니다 우리가 가지고있는 구조체에는 JS 파일이있는 점이 있습니다

여기에 아무것도 없으니 그냥 npm을 설치하자 Express를 사용하면 전체 단어를 설치하거나 짧은 형식으로 모두 괜찮을 수 있습니다 Express를 설치하면 실제로 NPM에서 Express가 다운로드됩니다 저장소에 저장하고 로컬 컴퓨터에 설치하면 볼 수 있습니다 Express가 정확히 설치되어 Express가 설치되어있는 48 개의 패키지가 설치되었으며 이제는 변경 사항을 볼 수 있습니다

그 파일은 이미 포장 된 원시 JSON 앱에 J 점이 있기 때문에 파일 시스템이 생성되는 동안 노드 모듈이라는 폴더가 생성됩니다 그리고 포장 된 밑줄 잠금 또는 JSON도 노드 모듈 폴더를 만들었습니다 실제로 도서관 Express를 가지고있을 것이고, 그 다음에 다른 많은 것들이 있습니다 익스프레스 라이브러리는 지금도 가져와 설치합니다 이걸 실행하면 오류가 발생하지 않지만 서버 우리는 포트 번호를 듣지 않았으므로이를 통해 익스프레스는 우리가 할 일은 익스프레스와 브래킷이 우리가 운반하는 것입니다

함수로 표현하면 실버라는 변수를 server라는 변수에 저장합니다 이것은 Express 사전 기호로 서버를 작성하는 방법이며 우리가 수행 할 작업입니다 서버 도트는 3,000을 듣고 동일한 드릴 3000을 지정하고 지정하지 않습니다 localhost이고 마지막 함수에서는 서버가 수천 개의 콘솔 로그 서버를 청취하고 있음을 알립니다 익스프레스가 포함되어 있어야하므로 포트 3000을 청취하는 것이 좋습니다

서버가 생성되고 서버가 지금 듣고 있습니다 응용 프로그램 및 서버가 응용 프로그램을 듣고 있기 때문에 멈추지 않을 것입니다 듣기를 계속하고 우리 브라우저에 들어가서 지금 새로 고침을 가자 이번에는 우리가 당신을 리프레쉬 할 때 그 전체로드하는 것을 얻지 못할 것입니다 대신에 오류가 발생하고 실제로는 얻을 수 없다고 말합니다 서버 측에서 오류가 발생하지 않습니다

서버는 모두 정상입니다 요청을 처리 할 방법으로 서버를 프로그래밍하지 않았습니다 루트 경로 이것은 루트 경로입니다 근데 그게 우리가 할 일이 무엇인지 추적하는 것입니다 우리가 이런 식으로 할 것 인 요청은 우리가 얻을 서버 점을 위해 갈 것이다

실제로이 서버를 사용하기 때문에 서버 이름을 지정하는 것보다 아이디 어딘가에 다른 시간에 내가 app에 갈거야 app dot에 갈거야 이 시간을 괜찮은 주위에서 듣기 바란다 이것은 또한 당신에게 알려준다 그 이름을 서버로 지정할 필요가 없으므로 원하는 이름을 지정하십시오 이것은 내 Express 애플 리케이션 슬래시와 함수 요청을 얻을 수 없습니다 응답은 우리가 가진 동일한 요청 응답 기능이지만 지금은 특히 경로 경로와 여기에 응답 점으로 갈 수 있습니다

나는 끝까지 갈 수있다 또는 나는 보낼 수있다 그리고 대답은 척한다라고 표현하자 나는 h1 태그가 있다고도 할 수있다 우리 브라우저는 그것을 할 수있는 제목으로 표시하고 이제는 응용 프로그램을 다시 실행하십시오

그러면 경로 경로 요청 요청이 처리됩니다 그것을 위해 가자 나는이 방법을 통해 응용 프로그램에서 읽는 것을 중단 할 것이다 응용 프로그램을 실행하는 데 도움이되는 노드 1이라는 유틸리티 자동으로 변경 사항이 있으면 자동으로 실행되지만 이번에는 응용 프로그램에서 수동으로 읽는 것을 알기 때문에 새로 고침하면 볼 수 있습니다 익스프레스가 작동한다는 것을 알려주는 h1을 제공합니다

이는 익스프레스가 모두 완료되었음을 의미합니다 귀하의 경로 경로가 해결됩니다 귀하의 경로를 얻을 요청이 완료되지만 내가 뭘 내가 좋아하는 일을하고 싶다 정의되지 않은 태스크는 아직 경로가 없습니다 응용 프로그램이 get 요청의 작업에 대한 get 요청을 처리하도록합니다 내가 요청을 얻으려고 애쓰는 첫 번째 앱은 도트를 얻는다

나는 원하는 것을 얻는다 응답으로 서버 주소 및 기능 요청 및 응답 요청을 갖습니다 그래서 지금 나는 응답을 보낼 수있다 나는 다른 h1에 갈 수있다 그것은 지금 서버를 다시 시작하고 나 자신을 멈추라는 것을 기억하면 작업이 작동한다고 말합니다

Ctrl 키를 누른 상태에서 C 사용자가 Mac 사용자 인 경우 명령 C가 중지됩니다 이제 서버가 새로 고쳐지면 작업이 지금 작동하는 것을 볼 수 있습니다 우리는 여기서 한 두 가지 경로를 만들었습니다 그리고 언제 애플 리케이션 도트는 애플 리케이션이 될 수있는 작업에 대한 얻을 수 포스트 게시물 패치 삭제 후 app 패치를 쓰면 나머지 api에 익숙한 사람이면 누구나 할 수 있습니다 서버가 요청을 처리 할 수있는 모든 단어에 익숙해집니다

post delete patch 여기서 명백하게 다루고 싶은 모든 요청은 진행 중입니다 내가 지금하고 싶은 것은 지금 내가 원하는 것입니다 예를 들어 나는 DB와 같은 것을 만들 것입니다 JSON 파일을 JSON 파일로 가져오고이 JSON 파일에서 키를 말하도록하겠습니다 라는 작업과 작업은 기본적으로 필요한 작업의 배열이 될 것입니다 자바 스크립트에서 nodej를 배우면 배열을 만들 수 있습니다

Jason 구문에서도 대괄호를 사용하여 학습에 도움이 될 것입니다 JavaScript는 익스프레스를 배우므로 내가 가지고있는 세 가지 작업이 있으며 이 JSON 파일에서이 세 가지 작업을 읽고 싶습니다 응답으로 그들을 반환하고 싶습니다 그래서 우리가 이것에서 무엇을하는지 봅시다 특별한 경우가 어떻게 작동하는지, 그리고 그 반응이 이 특별한 응답에서 죄가 아니라는 특별한 경우가 있습니다 나는이 책을 읽고 싶습니다 파일을 읽은 다음 응답을 보내면 우리가 파일은 FS 모듈이며 우리는 서버를 만드는 데 사용하는 것을 알고 있습니다

여기에 우리는 급행으로 서버를 만들었지 만 일반적으로 사람들은 항상 익스프레스와 HTTP를 혼합하여 서버를 만드는 방법을 알아 봅시다 내가 할거야 3 월 처음으로 갈거야 h3 p는 필요와 동일하다 HTTP와 이번 주 동안 분명히 우리는 아무것도 설치할 필요가 없습니다 핵심 모듈과 나는 당신을 위해 우리의 서버가 http 점과 동등하다는 것을 알게 될 것입니다 서버 괜찮아요 및 애플 리케이션은 내가 인자로 전달 될거야 그래서 내 플롯 대신 Express의 장점을 모두 갖춘 서버가 생성됩니다

들어 봐 내가 서버에 갈거야도 괜찮아이게 다 똑같아 그것은 3000 포트를 듣고 서버가 있다는 메시지를 보냅니다 3000 번 포트를 듣는 등등 우리가 한 일은 우리가 가진 것입니다

포함 된 익스프레스 포함 된 HTTP 우리가 만든 익스프레스 앱 익스프레스 앱에서 전달한 서버 생성 메소드를 사용하여 서버를 생성했습니다 이러한 모든 경로가 될 수있는 무엇인가를 의미하는 논증으로 마지막으로 우리는 지금 3000 번 포트를 듣고 있습니다 사람들이 서버와 익스프레스 앱을 만드는 데 사용하는 일반적인 방법 같이하자 이제 우리 프로그램을 읽자 어떻게되는지 알아 보자

그것은 나에게 오류를주고 오타입니다 지금 미터가 프로그램을 다시 실행하여 우리가 다시 포트를 듣고 있습니다 3000 이것은 아마 당신이 볼 수있는 무엇이든지를 나에게주지 않을 것입니다 여기에 프로그래밍 한 응답이 없기 때문에로드 중입니다 나는 루트 패스에 가면 좋아하지만, 예를 들어 말할 수 있습니다

그것은 나에게 빠른 일을 준다 그래서 그것은 실제로 멋지다 익스프레스와 nodejs 서버를 함께 사용할 수 있으므로 지금하고 싶습니다 DB에서 읽은 JSON은 분명히 VAR FS가 필요합니다 그리고 여기에 내가 파일을 읽고 파일을 읽는 데 FS 줄을 가고 DV 점인 JSON에 대한 경로를 찾아 간다

관련 경로와 콜백은 두 가지를 읽습니다 우려되는 것은 오류이고 하나는 데이터가 콘솔 도트 로그 또는 심지어 짝이되지 않는 것입니다 콘솔 도트 로그 일단 당신이 가서 데이터를 보내면 응답 도트를 보내자 데이터의 경우 문자열을 많이 사용하면 이 특별한 경우에 우리가 얻은 것을보고 서버를 다시 시작해야합니다 이 작품과 만약 내가 작업에 대한이 날 배열을 가진 개체를 제공합니다 작업을 수행하므로 전체 개체를 갖고 싶지는 않지만 단지 배열을 원합니다

거기에있는 일들 때문에 나는 이런 것을 할 수 있다고 생각할 것입니다 더 많은 작업이 문자열 점 작업에 대한 쎄타 점과 동일하다고 가정 해 봅시다 우리가 얻고 자하는 객체는 문자열에 대해 이렇게됩니다 전체 데이터를 해당 속성이없는 문자열로 변환합니다 이 문자열을 JSON으로 변환하려는 경우 작업을 수행하고 싶습니다

JSON 점은 우리 스크립트 메소드 코드 중 하나를 구문 분석합니다 task라는 속성을 json 도트 파스 데이터 또는 문자열로 변환합니다 인수로 전달하면이 문자열을 json으로 변환 한 다음 나는 그저 작업으로 보낼 수있는 마지막에 재산으로 일할 것입니다 그게 내가 우리에게 필요한 평범한 배열을 줄거야 특히 JSON을 보내려는 경우 JSON 대신 응답 점을 사용합니다

응답을 보내지 않으므로 여기에 구체적으로 표시됩니다 앱을 다시 시작하고 화면을 새로 고침하면 이제 배열을 볼 수 있습니다 당신은 내가 얻는 것과 같은 출력을 얻지 못할 수도 있습니다 크롬 브라우저에서 실행중인 확장 프로그램이 있기 때문에 걱정됩니다 그것은 인접한 독자 또는 내가 몇 년 전에 설치했던 것과 같은 것이다

그래서 그것은 중요한 것입니다 우리가 가지고있는 파일에서 일반 배열은이 경우 거의 모든 것을 사용했습니다 우리가 배웠던 것들은 우리가 HTTP에 합류 한 것입니다 생성 된 서버 였고 FS 모듈은 이 파일은 아마도 우리가 우리가 데이터베이스 연결을 마치고 모든 것을 얻고 싶어하는 것처럼 데이터베이스 이 특정 경우의 데이터를 읽은 다음 데이터를 읽지 만 지금은 파일을 읽습니다 충분할 것입니다

그러면 js에 대한 좋은 소개가 될 것입니다 ' 그게 뭔지 그리고 더 아래로 당신은 더 많은 라우팅 및 더 많은 데이터베이스를 사용해 볼 수 있습니다 nodejs의 연결성이 어떻게 당신을 위해 간다는 것을 알며 연락을 유지하십시오 즐거운 하루 보내세요 나는 당신이 듣기를 즐겼기를 바랍니다

이 비디오는 마음에들만큼 친절합니다 의심과 질의를하고 가장 빠른시기에 회신 할 것입니다 조심해라 우리의 재생 목록에 더 많은 동영상을 저장하고 배우기 위해 에드레카 채널을 구독하십시오 더 행복한 학습

Tutorial input do usuário e programar o Orquestrador (standard input em Node.js)

이것은 모든 비디오가 시작되는 비디오입니다! 그리고 멋진 점은 코드의 품질을 향상시킬 수 있다는 것입니다 우리가 첫 번째 구현과 비교한다면, 내가 보여준 원래 구현 그 재생 목록의 첫 번째 동영상에 그리고 우리는이 시스템의 가장 중요한 것으로부터 시작해야합니다

이것은 사용자의 입력입니다 이 입력은 나머지 모든 검색을 정의하는 것이며, 로봇과의 모든 상호 작용, 이 비디오의 끝에서 나는 창조적 인 도전을 할 것입니다 이 입력에 대해 정말로 질문하고 싶습니다 우리는 매뉴얼을 넣어 내 이름은 Filipe Deschamps이고 나는 우리가 함께 일할 때 정말 좋아합니다! (즉 이 동영상은 정말 멋진 재생 목록입니다 그래서 어떤 자료를 잃고 싶지 않으면 채널에 등록하고 종을 활성화하십시오 왜냐하면 내가 새 비디오를 발표 할 때, YouTube는 귀하에게 직접 통보합니다

그리고 이렇게 많은 동영상을 만들 수 있습니다 그는 사람들을 지원하는 아주 좋은 회사를 가지고 있기 때문에 Payingme인데, 심지어 공석을 열었습니다 비디오의 설명에서 그 위치에 대한 링크를 넣었습니다 이전 비디오에서는 저장소를 만들었습니다

전체 범위와 모든 작업을 정의했으며, 이 비디오에서는 여기 처음 두 항목을 채우 겠지만, 이미 우리에게 명확한 목표가 있음을 알기에 좋은 느낌을줍니다 우리는이 비디오에서 끝낼 수있을 것입니다 그리고 첫 번째 단계는 GitHub에있는 저장소를 복제하는 것입니다 내 개인 기계에 그리고 진지한 제안은 지금 : 내 저장소를 복제하지 마십시오

처음부터 저장소를 만드십시오! 네가 해냈다 고 나에게 말할 수있을거야 이게 너에게 도움이 될거야 직업 생활에서 더 많은 자신감을 얻는 것이기도합니다 그런 일이 생기면 나는 매우 행복해 할 것입니다 폐쇄 된 아니면 우리가이 순간을 함께 즐기는 것을 지켜보고 싶다면 그만한 가치도 있습니다! 그래서 가자! 저장소를 복제 해 봅시다

링크를 클릭하겠습니다 나는 SSH 링크를 복사 할 것이고, 상기 터미널에 액세스하는 단계, "git clone", 저장소 링크 붙여 넣기 이제 git이 생성 한 폴더를 입력하십시오 그리고 보여주기 위해, 우리는 이미 쓸모있는 git 저장소를 가지고있다! 첫 번째 단계는 지점을 만드는 것입니다 주인 내에서 발전하는 것은 좋은 습관이 아니기 때문에, 마스터가 기본적으로 보호받지 못하기 때문에, 즉, 우리가 원한다면 "caquinha"를 만들 수 있습니다

나중에 git 및 GitHub에 대한 비디오를 만들 수도 있습니다 모든 사람들이 무슨 일이 일어나고 있는지 이해할 수 있습니다 (즉 지점 "사용자 입력" 이제 우리는 범죄를 저지를거야! 이 지점 안에는 "사용자 입력"과 관련이없는 것을 넣을 것입니다 "package

json"을 생성합니다 하지만 가서 할인을해라 적어도 나는 주인에게 "커밋"하지 않는다! (즉 보여라! "자식 상태"를 주면 파일을 만들었습니다 그리고 나는 이미 모든 diff의 "commitar"를 할 것이다

이제부터는 실제로 "사용자 입력"에 불과합니다 (즉 보여라! 그래서 우리의 진입 점은 "indexjs"가 될 것입니다 (즉

이건 우리 조율사가 될거야 매우 간단한 구조로 시작할 것입니다 우리는 모든 것을 하나로 모으는 함수로 시작할 것입니다 (즉 그리고 이제 우리는 모든 내용을 저장할 객체를 선언 할 것입니다

검색 내내 일어날 모든 일 예를 들어, 수색에서 사용 된 기간, 발견 된 문장은 무엇인가? 이미지, 실제로 이미지의 URL, 그래서 그것은 간다 그러나 우리는 아주 간단한 방법으로 시작할 것입니다 (즉 이제 검색 용어 인 첫 번째 단계부터 시작하겠습니다 (즉

그래서 우리가이 기능을 수행 할 때, 이 "content"객체에 새로운 속성을 주입 할 것이고, 자바 스크립트에서 "const"를 사용하더라도, 클래스, JavaScript 새로운 객체를 재 할당 할 수는 없습니다 하지만 그는 그 물건을 바꿀 수있게 해줍니다

자바 스크립트! 그래서 우리는이 함수를 실행할 때이 문자열을 "fixed" 그 "searchTerm"속성 내에 여기에 값을 넣으면, 이 기능을 수행하면 그것은 "consolelog"를 줄 것이고 이것은 우리 터미널에서 "printado"가되어야합니다

(즉 보여라! 이제이 함수의 실제 구현을 구현해야합니다 우리는 훌륭한 도서관을 사용할 것이며, 매우 간단한 전화 readline-sync! 그렇다면 나는 단어 동기화를 말하고 노드 놈들은 심지어 trimilique 줄! 그래서 우리는 터미널로 돌아가 그것을 설치할 것입니다 (즉 보여라! 여기 하나가 우리의 첫 번째 의존성입니다

우리가해야 할 일은 그녀를 오케 스트레이터에서 "요구"하는 것뿐입니다 (즉 그리고 그것을 사용하여 사용자의 입력을 잡는 것은 마찬가지로 짐승입니다 (즉 모듈은 서명, 문자열, 문자열 등과 같이 입력으로 요청하는 메소드를 가지고 있습니다

질문 제목에 사용된다 이 코드를 실행하면 터미널에 질문이 삽입 될 것입니다 그는 우리가 회신하는 것을 되돌려 줄 것입니다 위키 백과에서 용어를 정의하도록 요청한 경우 그것은 우리의 초기 데이터 소스가 될 것이기 때문입니다 (즉

훌륭합니다! 우리는 마이클 잭슨을 입력하고 그는 "searchTerm"에 정확하게 주입했습니다 다시 시도 할게 (즉 훌륭합니다! 요약하면,이 "askAndReturnSearchTerm ()"을 실행할 때, 그것은 "readLine"라이브러리의 "question"메소드를 실행할 것이고, 결과, 사용자 입력을 반환합니다 "searchTerm"속성에 삽입됩니다

이봐, 클래스! 우리가 완료해야 할 첫 번째 과제를 완료 했습니까? 뭐라구? 나는 도파민을 원해! 그래서,이 도파민 사업은 통제 불능입니다 그런 다음 유형의 뉴스 "유투 버 중독성이있는 개발자들에게

" 제기랄! 나는 도파민을 원해! 드럼을 연주해라! (드럼) Aeeeeeee! 좋네, 그렇지? 그리고 뉴스에 대해서 말하면, 문도 해커 포털에게 감사드립니다 누가 로봇에 관한 첫 번째 비디오를 다루었습니까 그리고 그것은 정말로 시원했다! 누가 거기에서 그 채널을 알고 있었는지, 매우 환영받을 만하다 이 소식을 보지 못한 사람 설명에 링크를 달았습니다

그리고 그것은 가치가있다 하지만 무슨 일이야? 그것은 또 다른 업적을 시작 했습니까? 우리가 좀 더 나아갈까요? 그래서 접두사를 물어볼 것입니다 이 접두어가 사용됩니다 YouTube에 업로드 할 때 우리가 더 완전한 제목을 만들 수 있도록 인간이 읽을 수있게되는 것 (즉

이 함수의 구현 세부 사항도 매우 간단합니다 그러나이 방법과 다른 점은 "질문"입니다 "keyInSelect"라고하는 또 다른 메소드가 있습니다 결과적으로 키를 반환하는 옵션의 "선택"입니다 「열쇠」는, 사용자가 선택한 열쇠입니다

그리고이 매개 변수의 서명은 목록, 네, 배열, 자바 스크립트의 경우 또한 "question"메서드뿐만 아니라 제목으로 문자열을 사용합니다 (즉 그래서 우리가 지금 달릴 때 접두어를 묻는 부분에 들어가서 이 접두어 중 하나를 선택할 때 그는 우리에게이 지수들 중 하나를 되돌려 주어야 할 것입니다 즉, 우리가이 옵션을 "Who is"로 선택하면 인덱스 0, 이것은 "Who 's"위치입니다

우리가 "What is" 인덱스 1을 반환해야합니다 결과적으로 "우리의 역사는"색인 2를 반환해야 할 것입니다 그럼 테스트 해 봅시다 (즉 나는 "What is"옵션을 여기에 넣을 것이다

이것은 옵션 2이지만 Array는 0, 배열의 항목 2는 실제로 인덱스 값 1입니다 그런 다음 2를 입력 할 때 값 1의 "consolelog"를 수행해야합니다 (클릭) 보여라! 그리고 현재 손에 인덱스를 가지고, 우리가 정말로 원하는 것은 그 옵션 안에있는 텍스트입니다 (즉

그래서 선택된 배열 인덱스가 있습니다 이제 접두어 배열을 얻습니다 그 위치에있는 가치를 읽으라고 요청하십시오 그 값을 돌려 주죠 이 문자열들 중 하나가 될 것입니다

변수 "selectedPrefixText" 우리는 지금이 "consolelog"를 할 것입니다 (즉 옵션 3을 선택하고 터미널 "The history of"로 돌아와야합니다 보여라! 마지막으로이 값을 반환하려면이 함수를 사용해야합니다

그녀가 어떤 용도로도 사용할 수 있습니다 (즉 이제 실행됩니다 그것은 텍스트의 값을 반환 할 것이다 이 속성 "접두사"를 주입합니다

(즉 그리고 여기에 우리의 객체 인 "searchTerm"과 "prefix"가 있습니다 클래스! 어서! 다른 작업을 완료 했습니까? 이 비디오의 모든 작업을 완료 했습니까? 그 다음 도파민 모드가 가득 찼습니다! 드럼을 연주해라! (드럼) 아니, 배! 우리가 한 일을 "저 지르자" GitHub에있는 저장소로 가자 병합을 해봅시다 그럼 축하해! (즉

이제 네, "도파민 전체"! 드럼을 연주해라! (드럼) EEeeeeeeeee !!!! (웃음) 야, 나와 함께 일하는 것은 매우 기괴한 일일거야 좋았지 만, DOOM의 파이어 비디오, 확장 버전, 우리가 한 마디로 모든 것을 다했다면, 나는이 경험을 약간 더 맛있게 발견하고있다! 창의력 도전에 대해 저는 비디오의 시작 부분에서 말씀 드렸습니다 우리는 항상 자동화에 대해 이야기하고 있습니다 그러나 항상 우리는 수동으로 입력을하고 있습니다 과제는 다음과 같습니다

어떻게 입력을 자동화 할 수 있습니까? 찾게 될 용어? 다음 시나리오를 상상해보십시오 입력을 통해이 책임을 추출한 경우 수동 입력을 허용하는 다른 로봇으로, 그러나 그는 또한 어떤 용어를 결정하는 방법을 발견하고, 또는 검색해야 할 가장 좋은 용어는 무엇입니까? 그가 어디에서 가져갈거야? 코멘트에 글을 쓰면, 거기에 펼쳐지는 것이 무엇인지 알게되어 매우 기묘합니다! 국물이 두껍게되기 시작하기 때문에 여기에있는 비디오를 클릭하십시오 위키 피 디아 (Wikipedia) 우리는 이상한 물건으로 가득차 있기 때문에 내용을 정리할 것입니다 우리는 문장으로 나눌 것입니다 그 다음 비디오를 더 많이 그리고 그것은 정말로 냉정 해지기 시작할 것입니다! 휴무? 고마워!

Passing Command Line Arguments Node.js | Part 9 Node Tutorials for Beginners

얘들 아, nodejs 시리즈에 다시 오신 것을 환영합니다

이 동영상은 part number 9입니다 다음 비디오를 준비하는 중입니다 다음 비디오를 만들 것입니다 식료품 목록 응용 프로그램과 같은이 nodejs 시리즈의 첫 번째 앱 여기서 명령 줄에서 식료품 목록에 물건을 추가 할 수 있습니다

파일 내부에 저장되므로이 동영상에서는 명령 행을 통해 실제로 매개 변수를 노드 응용 프로그램에 전달합니다 전체 시리즈를 따르지 않았 으면하십시오 여기 모서리에 테크 팁 튜토리얼에 오신 것을 환영합니다 어떤 종류의 CLI 앵글은 CLI를 가지고 있으며 당신이 가지고있는 앵글을 사용한다면 확신합니다 아마 "ng serve"와 같은 것을 보았을 것입니다

create-react-app 다음과 같은 것을 만들 수 있습니다 create-react-app start okay 모든 CLI 명령입니다 그래서 실제로 시작 할 때 여기에서 무슨 일이 일어 났습니까? 실제로 인수와 구문 분석을 사용하므로 반응 앱이 실제로 노드입니다 우리가 할 수 있도록 어떤 명령을 실행해야 하는지를 이해해야한다 우리의 응용 프로그램과 유사하게이 app

js를 만들었고 우리는 몇 가지 명령을 쓸 것이고 우리는 비슷한 일을 할 것입니다 쓰기 쓰기 애플 리케이션 난 다시 "노드 애플 리케이션"을 작성할 수 있습니다 자신 만의 CLI를 만들 수 있습니다 너는 이것에 대한 이름을 가질 수는있어하지만 나는 이것을 사용하지 않고 그냥 사용하지 않을거야 appjs 그러면 나는 fly라고하는 명령을 할 것입니다

내가 appjs 안에 들어가면 이것을 잡으려고 지금 날아가는 응용 프로그램 콘솔 도트 로그라고 말하면 우리는 글로벌 프로세스를 보았습니다 노드의 변수이며 argcv라는 속성이 있습니다 인수는 인수 벡터를 의미합니다

그래서이 "노드 애플리케이션 플라이 (node ​​app fly)"를 실행하면 실제로 명령을 배열 그래서 나는 여기에 세 가지 항목을 가지고 배열은 또한 세 항목으로 처음으로 우리는 눈이 내렸다 것을 본다 두 번째 눈이 내렸다 세 번째 눈이 날아간다 노드는 애플 리케이션의 위치와 노드 애플 리케이션의 위치입니다 명령은 날아라 그래서 내가이 명령을 날려 버리기를 원한다면, 나는 그것을 여기에서 간단히 얻을 수있다

왜냐하면 나는 이것이 두 번째 요소라는 것을 알기 때문에 나는 이것을 실행하면 나는 파리를 얻을 것이다 이 인수를 추출 할 수있는 방법입니다 이제이 인수로 할 수있는 것은 다음과 같습니다 내가 명령 할 수 있다면 나는 말할 수있다 나는 콘솔 대신에 날아갈 수있다

내가 할 수있는 것은 내가 공정 점과 같은 명령을 가질 수 있다는 것이다 이것은 내가 비행 명령을 잡아낼 수있는 방법이다 그리고 나서 명령이라면 말할 수있다 평등하다고 말하면 나는 분명히 날아갈 필요가있다 비행을위한 기능성을 갖추었지만 이제는 이것을 인쇄 해 보겠습니다

이것을 봐라 만약 내가 그것을 다시 달린다면, 나는 지금 비슷한 비행을한다 드라이브라고하는 또 다른 명령은 'node app drive'라고 말하면됩니다 드라이브와 동등한 명령을 실행하면 consolelog를 실행할 필요가 있습니다

나는 운전을하게 될 것이다 그러나 우리가 명령 줄이 보통 조금 알고있는 것에 따라 이보다 더 복잡한 이유는 II가 Drive라는 명령을 가질 수는 있지만 얼마나 빨리 내가 ​​운전하고 싶은지와 같은 다른 주장이있을 수 있습니다 어떤 차를 사용하고 싶습니까? 그래서이 속도와 같은 것을 가질 수 있습니다 시간당 30 마일이라면 나는 같은 차를 가질 수있다 그것은 니산이다

그러나 내가 아직도 달리면 그것은 그것이 그렇지 않기 때문에 운전을 말한다 이 모든 다른 인수를 포착하고 consolelog 프로세스가 우리라고 가정합시다 다시이 인수가 예상 된대로이 CLI에는 1 2 3 4 5가 있습니다 실제 인수와 5 개의 요소가있는 배열을 혼합하면 문제는 다음과 같습니다

이 일들은 점점 더 복잡해지고이 모든 정보를 분석해야합니다 매우 복잡해지기 때문에 'argv'를 사용할 수 있지만 더 좋다 그것을 할 수있는 방법과 nodejs에서 몇 가지 기능이 필요한지 아시다시피 항상 다른 누군가가 만든 패키지가 있으므로 빌드하기 전에 자신의 기능이 사용 가능하고 운 좋게 패키지가 있는지 확인하십시오 이것을 위해 'yargs'라고 불리는 정말 좋은 패키지가 있습니다 무엇보다도 먼저 'npm init'을해야만합니다 package

json을 작성한 다음 'NPM 설치 yargs'라고 말하고 싶습니다 그것이 우리가 설치하려고하는 패키지이고 나는 말할 것입니다 – – 그렇게 저장하십시오 내 패키지에 저장합니다 Json 좋아, 그럼 지금 내 패키지를 보면 Oh Jason I 의존성으로 yargs를 다시 볼 수 있습니다 yargs 버전을 선택해야합니다 당신의 세계와 맞는 세트를 만들었지 만, 이제 막 가공 된 것이 아니라 최신의 것을 얻었습니다

우리는 yargsargv를 사용할 것입니다 그래서 이것을 가져올 필요가 있습니다 yargs 그래서 const yargs = require ( 'yargs')라고 말해야합니다 그래서 지금 실행하면 이 연관 배열을 얻을 것이다 그것은 당신이 분석하는 경우 개체입니다

이건 내가 내가 찾는 것을 알아 냈어 argument 내 command 명령은 Drive라는 속성이 밑줄입니다 그 다음 그것은 내가 속도와 차를 필요로하는 모든 자산을 실제로 발견한다 이제이 코드를 다시 처리해 보겠습니다 처리 된

args 대신 우리는 yargsargv 두 대신에 밑줄을 써야합니다 왜냐하면 언더 스코어는 항상 명령을 줄 것이기 때문에 실제로 명령은 왜냐하면 여러분이 볼 수 있듯이 밑줄은 배열 일 뿐이므로 배열입니다 여기에 제로 요소를 가져와야하고 그러면 지금 실행할 수 있습니다 내가 자동차와 속도 같은 다른 주장을 붙잡고 싶으면 지금은 노력하고있다

커맨드 도트 속도와 커맨드 도트 카가 둘 다 좋다면 말할 수 있습니다 비행 중에 드라이브에 넣어야합니다 그러면 대신 인쇄하고 싶습니다 정기적 인 운전 나는 templateString을 사용하여 운전을 할 수 있다고 말할 것입니다 달러 기호 명령 도트 속도의 속도로 명령 도트 카를 보간 할 수있다

그렇지 않으면 그냥 운전을 인쇄 할 수 있습니다 다시 실행 해 봅시다 실제로 여기서 나는 아마 yargsargv와 같게 해줄 필요가있다 그리고 나서 커맨드가 커맨드가 아니기 때문에 커맨드 대신 params를 사용해야합니다

실제적인 명령이 드라이브 인 경우 실제로 제로를 주므로 매개 변수를 찾으면 지금 이걸 실행하면 속도가 빠른 닛산을 얻을 수 있습니다 30의 시간당 마일을 말할 수 있습니다 이제는 파일 시스템이 어떻게 작동하는지 이해 했으므로 제대로 작동합니다 외부 모듈은 응용 프로그램에 명령을 전달하는 방법에 사용됩니다 우리가 더 나아 가기 전에 작은 응용 프로그램을 만들자

다음 비디오에서는 작은 식료품 목록 응용 프로그램을 만들 계획입니다 명령 줄을 통해 식료품으로 물건을 전달할 수 있습니다 이 비디오의 새로운 내용과 만약 당신이 좋아한다면 그녀를 잊지 말아주세요 더 많은 의견을 나누고 구독하기 전에 당신이 저를 도울 수 있기를 바랍니다 이 비디오를 번역하면 지침이 매우 간단합니다

설명 감사합니다

Node.js Tutorials for Beginners | Part 1 | What is Node JS

흠 안녕하세요

새로운 nodejs 교육 시리즈를 시작할 준비가되었습니다 많은 사람들이 저에게 묻고 있습니다 그래서 마침내 그것을하기로 결정했습니다 나는 아주 간단한 토대부터 시작할 것입니다

nodejs를 사용하여 애플리케이션을 빌드 할 것입니다 그러나이 첫 번째 비디오에서 처음 먼저 nodejs가 무엇인지 이해해 봅시다 브라우저의 J와 node

js의 차이점 애플리케이션 관련 지식, nodejs를 사용하는 이유에 대해 알아보십시오 코드 작성을 시작하기 전에, 이제 nodejs를 배울 시간입니다 그것은 GitHub에 가장 많은 관심을 가지고 있습니다

가장 많이 개발 된 제품군은 nodejs를 사용합니다 프런트 엔드 개발자로서 풀 엔드 개발자가되기를 원한다면 그것이 js이기 때문에 Nodejs가 최선의 선택입니다 이미 브라우저의 js를 가지고 있다면 간단하게 node

js를 배울 수 있습니다 왜냐하면 그것은 js이기 때문에 J가 이미 있다면, 그것은 당신을위한 케이크의 조각 일뿐입니다 techsith 교습 시리즈에 오신 것을 환영합니다 nodejs를 정의하는 방법 서버의 js라고 말할 수 있습니다

실행 시간 환경이지만 브라우저 외부에서 실행됩니다 그것은 Ryan Dahl이라는 남자에 의해 만들어졌습니다 기본적으로 그는 브라우저에서 js 엔진 "V8"을 가져 왔습니다 그리고 서버용 개발 프로그램에 구축하십시오 V8 외에도 FireFox의 거미 원숭이와 같은 다른 js 엔진이 있습니다

Safari에는 js 엔진도 있습니다 Chakra는 MS Edges의 js 엔진입니다 V8은 Google에서 개발 한 Js 엔진입니다 엔진이 수행하는 기본 작업은 js 코드를 기계어 코드로 변환하는 것입니다 그렇다면 node

js와 브라우저 사이의 js 차이점은 무엇입니까? 브라우저에는 문서 개체 모델이 있으므로 브라우저 작동에 도움이되는 DOM, BOM이 있습니다 서버 측에는 DOM, BOM이 없습니다 브라우저 관련 내용 없음 서버에 파일이 있으므로 수행 할 수 있습니다 입출력 작업 쓰기 파일을 읽을 수 있습니다 모든 관련 작업 데이터베이스가있는 경우 Xpress와 같은 데이터베이스에 액세스 할 수 있습니다

파이썬과 같은 다른 스크립팅 언어와 같은 것을 할 수 있습니다 그렇다면 nodejs를 선택하는 이유 Nodejs는 비 차단이므로 비 차단이란 무엇입니까? 결과를 기다릴 필요가있는 경우 그 곳에서 기다리는 것을 멈추지 않을 것입니다 웹 페이지 측면에서 웹 페이지의 DOM을로드 할 때 어쩌면 일부 약속은 서버에서 정보를 얻어야합니다

건너 뛰고, 정보를 기다리는 것을 멈추지 않을 것입니다 정보를 얻을 때까지 다음 일을 계속하면 처리로 돌아갑니다 이것은 매우 중요한 기능입니다 그것은 효율적이고 빠릅니다 시간과 기억의 낭비가 없습니다 따라서 단일 스레드에서 많은 작업을 수행 할 수 있습니다

다른 많은 멀티 스레드 프로그램이 있습니다 하지만 나중에 얘기하자 nodejs가 단일 스레드이며 비 차단이라는 요약 이제 응용 프로그램을 살펴 보겠습니다 node

js는 무엇을 할 수 있습니까? 너는 많은 것을 할 수있다 많은 자동화 된 작업 스크립트 작업 실행 나머지 API 빌드 웹 소켓 Nodejs에는 많은 개발 커뮤니티가 있습니다 원하는 모든 것, 거의 모든 관련 키트를 사용할 수 있습니다 이것은 좋은 일입니다

당신은 데스크톱 프로그램을 할 수 있고, 전자를 사용할 수 있습니다 위는 근사 노드의 소개입니다 노드를 설치하는 방법에 대해 이야기 해 봅시다 이것이 첫 단계입니다 이미 node

js가 설치되어있을 것입니다 내가 너에게 상기시켜 줄께 애플리케이션을 빌드 할 때 다른 버전의 nodejs를 사용해야 할 수도 있습니다 다른 노드 버전간에 전환 할 수 있어야합니다

다음 비디오에서는 노드를 올바르게 설치하는 방법을 설명합니다 다른 버전에 대해 알아보기 설치 방법 지침을 조작하는 방법 전에 말했듯이, 그것은 교습 시리즈가 될 것입니다 나는 목록 링크를 만들 것이다 이 시리즈를 추적 할 수 있습니다 더 많은 동영상을 필요로하는 사람들에게 공유하십시오

공유는 보살 피고 지식을 공유하기 때문에 그래서 나는 공유하는 것을 가르치고 다른 사람들과 공유합니다 처음에는 Udemy에서 코스를하고 싶었습니다 나중에 나는 그것을 자유롭게하기로 결정했다 Udemy에서 몇 가지 코스를 만들 수 있습니다 올해 목표입니다

있을 경우 알려 드리겠습니다 나는 당신이이 시리즈를 즐길 수 있기를 바랍니다 뭔가로부터 배우십시오 좋아요, 구독 버튼, 친숙한 메시지를 누르세요 나는 항상 번역을 도울 수있는 사람을 찾고 있습니다

설명 열에 관련 메시지가 있습니다 언제든지 저에게 연락하십시오 고마워

How to create a JavaScript Gantt chart using Node.js – DHTMLX Tutorial

이 비디오에서는 다음과 같은 방법을 쉽게 보여줍니다 : 페이지에서 기본 Gantt 차트 만들기, Nodejs 백엔드에 연결하고 Gantt 차트에 데이터를 채 웁니다

사용자 변경 사항을 백엔드에 다시 보냅니다 GitHub에 대한 전체 데모를 얻거나 단계별 비디오 가이드를 따르십시오 우선, 프로젝트 폴더를 만들고 이름을 'dhx-gantt-nodejs'로 지정합니다 이제 'npm init -y'명령을 실행하여 packagejson 파일을 만듭니다

결과는이 것과 유사합니다 다음에는 기본 고속 설정을 따릅니다 이제 'serverjs'라는 새 파일을 만들고 다음 코드를 추가합니다 이 코드에서는 정적 파일이 'public'폴더에서 제공되고 응용 프로그램은 로컬 호스트의 1337 포트에 연결됩니다

다음 단계에서는 'public'폴더를 만듭니다 이 폴더에는 응용 프로그램의 기본 페이지 인 'indexhtml'이 들어 있습니다 Gantt 초기화를 더 자세히 살펴 보겠습니다 당신이해야 할 첫 번째 일은 페이지에 차트를 표시하는 것입니다

단지 세 단계 만 있습니다 : 첫 번째 예제에서는 Gantt 라이브러리를 추가합니다 페이지에 HTML 컨테이너를 만들고, init 메소드로 새로 생성 된 컨테이너에서 Gantt를 초기화한다 매개 변수로이 메서드는 HTML 컨테이너를 사용합니다 (또는 id)에 Gantt 차트가 표시됩니다 우리가 지금 무엇을 가지고 있는지 확인합시다 명령 줄에서 다음 명령을 실행합니다

그런 다음 브라우저에서 로컬 서버에 대한 경로를 지정하십시오 이 페이지와 같이 빈 Gantt 차트가있는 페이지가 나타납니다 다음 단계는 Gantt에 데이터를 채우는 것입니다 데이터 모델은 매우 간단합니다 우리는 일련의 작업을 가지고 있습니다

각 작업에는 최소한 ID, 이름, 시작 날짜 및 지속 시간 속성 그리고 선택적으로, 태스크 간의 링크 배열 각 링크에는 ID, 연결된 작업의 ID 그리고 관계 유형 데이터를 구문 분석하려면 간트 차트로 구문 분석 메서드를 사용합니다 이제 Gantt 차트에는 이전에 추가 한 테스트 데이터가로드됩니다 백엔드 API에서 데이터를로드하는 또 다른 방법은 XHR을 사용하는 것입니다

정적 인 JSON 파일을 사용하여 어떻게 수행되는지 살펴 보겠습니다 외부 파일, 서비스 또는 스크립트에서 데이터를로드하려면 load 메서드를 사용합니다 load 메소드는 지정된 URL로 AJAX 요청을 보내고 JSON 응답을 기대합니다 이전에 보았던 형식과 동일합니다 이제 우리는 백엔드의 데이터를 보여주는 기본 Gantt 차트를 얻었습니다

사용자가 차트를 수정할 수있게하려면 사용자를 캡처하는 방법이 필요합니다 저장하기 위해 변경됩니다 마지막으로 우리는 클라이언트 변경 사항을 다시 클라이언트로 보내는 방법에 대해 이야기 할 것입니다 백엔드 그렇게하기 위해 우리는 'index

html' 내장 된 ganttdataProcessor 모듈을 활성화합니다 우리는 DataProcessor에 URL을 제공했습니다 업데이트를 저장하고 REST-mode는 백엔드에서 RESTful API를 기대한다 이제 경로와 처리기를 추가하여 서버에서 이러한 요청을 캡처합니다

이 데모에서는, 핸들러는 단순히 터미널에 요청을 출력하므로 무슨 일이 일어나고 있는지 생각해보십시오 DataProcessor는 REST 모드에서 초기화되므로, 다른 HTTP 동사를 사용합니다 각 유형의 조작 각 사용자 동작 첨가, 작고 보기 흉한 사람 또는 새 작업 또는 링크 제거 DataProcessor가 반응합니다 AJAX 요청을 보내 해당 URL에 요청 유형은 매우 간단합니다

우편 – 새 항목을 데이터베이스에 삽입하려면, 놓다 – 기존 레코드를 갱신하려면, 지우다 – 항목을 제거하려면 이거 야! 희망이 비디오는 dhx Gantt 라이브러리로 작업하는 방법에 대한 아이디어를 제공합니다 이제 당신은 쉽게 할 수 있습니다 페이지에 기본 Gantt 차트를 만들고, Nodejs 백엔드에 연결하고, Gantt 차트에 데이터를 채우고, 백엔드에 사용자 변경 사항을 보냅니다

우리는 백엔드에서 Gantt에 대한 사용자 변경 사항을 저장하는 코드를 보여주지 않았습니다 이 비디오를 짧고 단순하게 만들기 위해 그러나 완료 방법과 함께 수행하는 방법에 대한 자세한 지침을 찾을 수 있습니다 데모 및 텍스트 버전의 자습서 RESTful API 구현 동영상 설명에 조심 하고이 비디오를 시청 해 주셔서 감사합니다! 🙂

[Tutorial] How to run Node.js apps on cPanel

안녕하세요, iFastnet의 Jammie입니다 이 튜토리얼에서는 cPanel에서 nodejs 애플리케이션을 설정하려고합니다

먼저 파일 관리자에 들어가서 내 응용 프로그램의 폴더를 만듭니다 이제 SSH에서 "npm init"명령을 폴더에서 실행하여 프로젝트의 packagejson 파일을 만듭니다 기본 설정을 그대로두고 프로젝트 정보를 입력 할 수 있습니다 내 프로젝트의 색인 파일로 app

js를 선택합니다 packagejson 파일이 만들어졌습니다 이제 expressjs를 설치합니다

expressjs 모듈도 설치됩니다 우리 애플리케이션의 색인 파일을 만들어 보자 expressjs의 hello world 예제 애플리케이션을 인덱스 파일에 복사한다

이제 nodejs 앱을 제공하도록 웹 서버에 알려야합니다이 작업은 htaccess 파일을 통해 수행합니다 먼저 파일 관리자에서 숨김 파일을 표시 할 수 있어야합니다

우리는 public_html 폴더 인 도메인의 루트 폴더에 htaccess라는 파일을 생성합니다 htaccess 파일에서 이러한 지시문을 추가해야합니다 참고로 우리 애플리케이션의 인덱스 파일은 "appjs"로 정의되어 있습니다

ifastnet을 cpanel 호스팅의 사용자 이름으로 대체해야합니다 우리 애플리케이션의 폴더도 myapp로 정의됩니다 우리는 모두 준비가 끝났습니다 파일을 저장합니다 내 웹 사이트를 새로 고침하여 노드 애플리케이션을 확인하십시오! 빌라! 안녕하세요 세상을 말하는 우리 노드 앱입니다

여기에 중요한 메모가 있습니다 우리 앱의 안녕하세요 세계 메시지를 바꾸어 봅시다 안녕하세요 세계 메시지에 테스트 문자열을 추가합니다 페이지를 새로 고침하면 메시지가 업데이트되지 않습니다 여기는 프로덕션 환경이므로 코드를 변경할 때마다 웹 서버를 재설정해야합니다

우리는 "pkill -9 Passenger"명령으로 웹 서버를 재설정 할 수 있으며 승객의 대문자 P를 유의하십시오 메시지가 업데이트되었습니다 해피 코딩!