>> 좋아요 그래서 우리는 다시있다 오늘의 목표의 커플
우리는 어디에서 데리러 갈게 우리는 지난 시간을 중단,
우리가 있었던 것을 기억 이 승계하기
서버 관련 응용 프로그램, 매우 간단하지만 노드 JS를 사용하여
다음 또한 가장 최근에 단축 터치를 그대로 사용
그리고 무슨 일이 JS를 표현했다 PHP 세계에서의 아날로그.
그래서 표현이 더 ... 가까운
그래서 표현은 본질적으로 사랑의 MBC 프레임 워크
노드 JS 세계에서 인기,
우리가 볼 수 책장 팀을 통해 현재는 아날로그입니다
ORM 인 웅변의 객체 관계 매퍼에
그 사실은 쉽게 낮은 수준의 SQL 코드를 피하기 위해
실제로 관계를 표현 다양한 개체들.
멋진 그렇게 하나 정직하게 일
에 대한 노드 JS은 어떻게 쉽게 자체를 빌려 준다
실시간 응용 프로그램을하고, 채팅 서버 같은 것들
또는 메시징 서버, 너희들이 지금 사용하는 것도
구글 ... G-채팅 등 또는 Google의 은신처
페이스 북 상태 업데이트 심지어 트위터 당신이 있다면
자신의 웹 페이지 모두에 실시간의 일종이다
또는 당신에게 제공 실시간 환상
그 사실에 고통 뭔가 할 수있는 목
PHP 내 SQL 같은 바로 우리는 무엇을 제안 않았다
월요일에 수단이 될 것입니다
하는 당신이 구현할 수 실시간 동작의 환상
PHP의 채팅 서버와, 당신은 무엇을해야 할 것인가?
앨리스 안타 메시지를 보냅니다 갈 않는 곳을 입력?
그래.
>> [청취 섹션]
>> 데이터베이스로 한 다음 밥의 브라우저가 무엇을해야합니까
실제로 확인하기 위해 수행 무엇 앨리스, 그래 말했다?
>> [청취 섹션]
>> 데이터베이스 폴링을 유지, 좋아요, 아약스 요청이
매초마다 화재, 매일 몇 초 우리는 잠시 이야기
하지만의 예를 보지 않았다 롱 폴링이라는 것을,
사람이 기억하는 방법
그 메커니즘에 ... 높은 수준의 작품?
>> [청취 섹션]
>> 맞아, 그래 그래서 브라우저 여전히 아약스 요청을
서버로, foo는 점 PHP에 하지만 foo는 점 PHP은 보인다
걸기 위하여, 그것은 본질적 앉는 많은에 대한 while 루프에서
30초 일반적으로 등 한 번만 foo는 점 PHP 파일
오 새 행이의 실현
데이터베이스 않습니다 실제로 응답
HTTP의 응답한다.
그래서 당신은 생각이 힘 그렇지 않으면 서버를 중단
그것은 다소 수행
하지만 거기에 의미 훨씬 적은 오버 헤드
당신은 새로운 TCP를 필요로하지 않기 때문에 연결, 새로운 HTP 연결
실제로 요청하는 서버에서 데이터를 저장합니다.
그러나 노드 JS는 매우 함께 제공 소켓라는 인기있는 라이브러리
점 IO하는 당신이 할 수 사용되지는 상단에 내장되어 있습니다
웹이라는 기술의 존재 소켓
가장 현대적인 브라우저와의 어떤 소켓 IO 수행하면 다음 작업을 수행 할 수 있습니다
기본적으로 만들 수 있습니다 영구 연결
브라우저와 서버 사이의 즉 매우 낮은 오버 헤드의
그래서 당신은 필요하지 않습니다 같은 크기 조정 문제에게이
당신은 당신이있어 모르는지 것을 지속적으로 서버를 타격
PHP의 세계와의 내 SQL과 같은.
비록 이전 버전의 브라우저에 대한
즉, 웹 소켓을 지원하지 않는다 IO 할 수있는이 라이브러리 소켓 점
깜박 후퇴 소켓의 구현
소켓은 네트워킹이다 예를 들어 CS143에서 일.
아니면 심지어 긴 다시 떨어질 수 투표 자체가 그래서 그들은 구현
작품의 같은 종류의
주위에 실제로 유지 그 연결의 환상.
그래서 IO [들림] 소켓 이는 형태
자바 스크립트 라이브러리 중 당신이 그것을 사용하는 경우 기본적으로
노드 JS의 형태 응용 프로그램을 설치뿐만 아니라,
그것은 패키지로 뭔가를 사용하여 우리는 월요일에 사용 NPM 등
그리고 나 또한 포함 HTML 파일에있는 태그를 제거
그 사용 말한다 클라이언트 측 라이브러리입니다.
그래서 두 개의 반쪽에가있다 그것은 우리가 무슨 짓을했는지
네 번째 반복에서 월요일 순서
예로는 다음이있다.
따라서이 파일 구조는 다음과 같다 매우 일반적인 세​​트를 연상시키는
표현 JS 및 최대 다행히 그 방법으로 간단
lervo [음성]보다 만약 설정하면, 기억 된
당신이 큰 불쾌한있어 lervo까지 파일의 전체 많이 덤프,
공급 업체 디렉토리, 리브 매우 무거운 무게는 이것에 비교했다.
이제 공정성에서 우리는 제거했습니다 꽤 많은 거리의 물건
산만하지만, 모든 육즙이 물건 정말입니다
노드 모듈.
다만 당신에게주는 우리가 보면 맛
노드 모듈에 있습니다 두 개의 모듈이나 라이브러리
내가 다운로드 한 것으로,이 에 해당하는 것
공급 업체 디렉토리, 하나 표현이라고하는 것입니다
larevel 같은 그러나 노드의
와 IO 소켓 하나 그냥 언급했다.
그래서 사람들은 존재하는 우리가 할 수 있도록 내가 열 경우 다음을 수행
최대의 인덱스 도트 HTML을 가정 해 봅시다, HTML에서의 첫 살펴 보자,
이 구성하는 것입니다 이 몸, 내 슈퍼,
슈퍼 간단한 채팅 서버.
따라서 UL은 분명히있다 메시지의 고유 한 아이디어
그리고 그 곳의 한번에 하나의 리
인스턴트 메시지의 모든입니다 앨리스 사이에있는 것
밥은 다음있다 텍스트 필드와 간단한 양식
제출 버튼을 하는 앨리스
또는 밥은 실제로 수 서로 메시지.
그래서 순수 효과 경우 나는이 응용 프로그램을 실행
노드 공간 앱 점을 수행하여 JS, 내가 끌어 경우 몇
브라우저 창입니다 앨리스는 오른쪽에있을 수 있습니다,
밥에있을 수 있습니다 단지 왼쪽과
명확하게 마술은 없다 여기에 나는 하나의 창을 가지고있어
시크릿 그래서 거기에 '노' 쿠키 또는 아무것도 공유
이처럼, 이들은 두 가지 사용자.
앨리스를 할 수 있어야한다 안녕하세요 밥을 말한다 제출 클릭
그리고 지금 당신은 왼쪽에 참조 앨리스의 메시지가 전송 된 것을
거의 순간적으로 오른쪽에.
겉으로는 반군 폴링 없습니다, Bob은 동일한 메시지를 받았다.
이제 밥 헤이 앨리스에게 말을 말한다 당신은 반대의 효과를 참조하십시오.
그래서 정말 어떻게 벌어 많은 코드 우리가 작성해야합니까
이에게 채팅 서버를 구현하는
이는 지금 추정 할 수 정신적으로 모든 사람
이 방에있는이 경우 내 [들림]에 없었다
하지만 foo는 점 com에 우리는 모두 할 수 순간적으로 채팅을 시작
서로.
그래서 어떻게 관여하기 전에의 I 는이있다이 화면을 취소
그냥되는 IO 소켓 약간의 소음, 그냥 인쇄의
디버깅 정보를 밖으로 화면에,
정말 아무것도 없습니다 다른 사람이 간다.
그래서 나를 이렇게, 앱 점 JS을 열어 보자 우리는 몇 가지있어 전으로
파일의 맨 위에.
요구 사항의 무리, 그래서 이러한 라이브러리처럼
또는 단서를 선명하게 또는 필요 onces 정신 어떤 모델 당신
그냥 가지고 싶어 FS를 사용하는 요점을 되풀이
기능의 어떤 종류의?
그래서 파일 시스템은 그래서 파일을 읽어 잠재적으로 물건처럼
내가 하나를 사용 당신이 볼 수로 배치,
물론이 표현은 우리가 사용하는 프레임 워크,
엄격 아니다 우리가 할 수있는 필요
같은 월요일에 완전히 작성 처음부터 우리 자신의 HTTP 서버
수행하여 서버와 모든를 만들 이전의 코드의 종류
그러나 우리는이하게 볼 수 있습니다로 일이 좀 더 쉽게
내가해야 할 모든 때문에 인스턴스를 한 줄에 3
와 객체를 표현, 내가 전화 할게 그것은 응용 프로그램, 다소 독단적으로,
그런 다음에 응용 프로그램을 말씀 드리죠 , 임의의 포트 1337에 들어
그 규칙에 따라 80 수 있습니다
다음 마지막으로 나는 새가 말하는 줄 오늘
소켓을 요구하는 다음 IO 라이브러리와
이 체인 접근에 의한 것 이 점 연산자 난 그냥
그건 듣고 교훈을 호출 기본적으로 소켓을 말하고
IO 라이브러리도 동일한 서버에 들어
또는 웹 소켓 연결.
그래서는 이제 무엇을, 이 하 고이 네 줄
여기에 코드를 봐야한다 larevel 연상 봐
이것은 무엇을 상징 하는가?
>> [청취 섹션]
>>이 그냥 ... 경로입니다 경로, 응용 프로그램 점 JS에서 너무
따라서 일명 서버 닷 JS 사람들이 전화를 원하는에
자신의 응용 프로그램에 당신은 규칙을 가지고
당신의 경로를 정의하고,
앱 점 get은 의미 때마다 당신은 GET 요청 가고 얻을
에 대한 문자 그대로 진행 슬래시 이 익명의 함수를 호출
하고있는 익명 함수 이 경우 요구 사항에 의해 소요
또는 요청 및 응답 잠재적으로 다른 것들
하지만 최소한이 두 가지.
요청이 당신에게 액세스를 제공합니다 HTTP 매개 변수 같은 것들
그리고 헤더 및 기타 수분이 많은 것들
다음 반응 메커니즘
당신이 할 수있는 사용자에게 응답한다.
그래서 이것은 매우 간단한 경우에도 우리는 확실히 표시되지 않았지만
동일한 코드를 마지막으로, 난 파일 시스템 모듈을 사용
읽기 스트림 메서드를 만들 어떤 본질적 않습니다,
판독 스트림을 생성하는 의미 본질적으로 질질 시작
인덱스 점에서 바이트까지 효율적으로 할 수있는 HTML로
반드시 기다리지 않고 당신은 전체 파일을 읽을 때까지
당신은 그렇게 할로 파이프들을 그대로
수직 막대의 의미 당신은 마음에 드시면
리눅스 명령 라인,
응답에 파이프를 개체의.
그래서 두 가지 예제가 있었다 월요일에 스트림에 관련,
우리는 하나의 보였지만 당신은 다시 볼에 오신 것을 환영합니다,
스트림 O 및 스트림 1에.
스트림 1 0 한 이과 비슷한,
스트림 1 일을했다 거의 정확히 같은,
이것은 단지 매끄러운입니다 종류의 말 중 하나 라이너
의 여기에 뭔가를 후루룩 소리 내며 먹기 다음 여기를 보내기 시작
않고 동시에 대량 동의를하고
다음 대규모 오른쪽
이 접근법은 일반적으로 더 효율적.
그래서 오래된 물건 종류의 그것은 월요일에 새로운 경우에도,
이는 데 걸리는 전부입니다 채팅 서버를 구현
노드 JS 등을 통해 특히 IO 점 소켓.
그렇다면이 작품은 않습니다 내가 그것을 조금 이동하자
그래서 IO은 변수입니다 그 의미
모듈 우리에 이전 요구
점 소켓은 단지 그것의 내부 속성
그것은 나에게 소켓을 제공합니다 관련 기능
에 일반적인 방법입니다 어떤 일반적인 개념에 관한?
이벤트 등 일명에 들어 그냥 의미 일부 라이브러리
이 이벤트를 청각에 연결이라고하는
지금 당신은 단지에서이 사실을 알고 , 문서보고
라이브러리를 쓴 누구 라는 이벤트를 정의한
연결하는 수행 당신이 생각하는 것이 무엇
앨리스 또는 밥 연결할 때.
어서이 전화 익명 함수 포획 통과
인수의 클라이언트 분명히 어떤 종류의 인
나타내는 개체의 앨리스의 연결
또는 밥의 연결 또는 찰리 또는 다른 사람
이제 우리는 다음을 수행하십시오.
우리는 후 클라이언트에게 그 또는 그녀가 연결되어
구체적으로들을 수 있습니다
완전히의 메시지 임의의 메시지라는
대장 클라이언트.
이 팀과 뭔가 나는 그것이 foo는 될 수 내놓았다
또는, 단지 몇 줄의 우리가 필요로 고유 한 문자열
등을 결정하는 개발자.
앨리스 또는 밥 듣고 때마다
이 익명의 해당 이벤트 함수가 호출되어야한다
및 데이터, 앨리스의 내용
또는 밥의 메시지가 있어야한다 이 이벤트 핸들러에 전달
지금 무엇을해야 클라이언트는 잘 당신이 할 수있는 종류의 할
상당히 직관적으로이 글을 읽을 클라이언트는 브로드 캐스트해야
그렇지 않으면 방출로 알려진 메시지라는 방법 서버
따라서이 메시지를 의미 서버에서하지오고있다
브라우저와 어떤에서 그 메시지가 될 것이다,
그것은 분명히에서 페이로드의 클라이언트에서 온 어떤
그리고 우리는 단지거야 임의의 메시지를 호출합니다.
그래서 이것의 많은 임의
적당한 이름을 통해 규칙, 팀과 나는 함께
대부분 팀과 위로 그리고 우리 단순히 궁극적으로 만드는
무엇을 수행 서버 채팅, 앨리스는 메시지를 보내면
그리고 히트 곡은 무엇 이벤트에게 입력 분명히 시작됩니다,
그냥 정리하자면.
앨리스 유형의 메시지, 히트 입력 메시지 클라이언트가 시작되고,
이 코드는 지금을 듣고 서버는 무엇을 방송,
최종 결과는 무엇입니까 이 정말?
앨리스는 이제 메시지를 보낸다 서버는 그것을 재방송
효과적으로 제외한 모든 사람에게 앨리스, 왜 모두 제외에 대한
앨리스 그냥 보면
문서 클라이언트에서 도트 방송 점은 인정
문자 그대로는 않습니다, 메시지를 브로드 캐스트
를 제외한 모든 사람에게 당신을 보낸 클라이언트
대부분의 최신 메시지.
그래서 이것은 왜 당신이 아니라 일단 각 측면에서 볼
당신은 앨리스 모두를 볼 수 없습니다 밥은 앨리스의 메시지를 받고.
그래서 그것의이 중계 에이전트
당신은이의 경우 다만 메시지에 복용
그들을 밖으로 재방송
그리고 한층의 정보 확장 성이 말은 심지어
초간단와 서버와 몇 줄
코드 당신은 확실히 할 수 수백 수천하지 않을 경우 처리
동시 간단한 메시지 이처럼 앞뒤로가는
다만 복잡성 상상 지금의 PHD에서이 일을
Larevel 또는 내 SQL과 나 당신이 얼마나 많은 코드
을 위해 작성 실제로 달성.
지금 공정성이 지속적인 옳지 않다
서버가 다운 된 경우 우리는 전체 역사를 잃게
그래서 꽤 아니다 완벽한 번역 만의
그 정직.
의 자바 스크립트를 살펴 보자 코드 우리는에 이전 생략
이 앨리스의과입니다 밥의 클라이언트,
그들이 지금 사용하고있는 웹 페이지 의 순간 여기를 찾아 볼 수 있습니다.
조금 더 많은 코드가있다
그러나 그것은 단지 거의의 여기에 jQuery를 이렇게 예고
해당 웹 페이지에서 내가 가져온 것을
잠시 전까지 우리 jQuery 라이브러리를 포함,
소켓 라이브러리 IO 등 옆으로 차이를 느낄
여기에 슬래시를 슬래시 경로의 시작
같은이, 정확히 무엇을 의미
여기서 jQuery를 점입니다 어떤 서버에 JS?
그래.
>> [청취 섹션]
>> 그것은 인터넷에서의 그래 말 그대로라는 코드 점 jQuery를
닷컴은 왜, 슬래시, 슬래시 왜 하나의 슬래시 아니라,
여기서 http 또는 결장이다, 이것은 일반적으로 무엇을 의미합니까
당신은에 슬래시를 슬래시 경우 URL의 시작?
실제로 유용합니다.
좋아, 그럼 분명의 이제 HTTP를 누락하는 경우 우리 이유
이 논리적를 통해, 일반적으로는 필요하지 않습니다
바로 서버의 이름을 언급
같은 경우 그냥 슬래시를 사용 jQuery를 점으로 간주됩니다 어떤 JS
브라우저?
파일이 동일한에 있는지 서버 그래서 그런 종류의에게 계속
논리의 당신이 말하지 않는 경우 그것은 어떤 프로토콜 것입니다
브라우저가 가정, 같은 프로토콜 때문에 당신은 웹 사이트를 방문한 경우
따라서 당신에게 오류를 줄이 안전하지 않은 콘텐츠의 선
이 페이지에이기 때문 누군가가 하드 HTTP를 구분하고있다
대한 대장 슬래시 슬래시 URL 이미지 또는 자바 스크립트 파일
또는 CSS 파일, 뭐 그런 페이지의 소스 코드
그러나있는 페이지 자체 브라우저의 URL은 HTTP s입니다.
그래서 이것은 단지 멋진 작은 방법
내가 모르는 말의 어떤 프로토콜이
이들 엔드 유저 사용할 것
하지만 단지 확인한다 확인 일치하도록 크롬
다른 브라우저 사용자 소리 치지 않습니다.
유일한 캐치는 것 jQuery를 사람들이 더 나은 설정했다
자신의 서버에서 최대 HTTPS.
그래서 그들은 실제로 443 목록.
좋아 한편이 하나는 여기에이 종류
오해의 소지가 슬래시 소켓 IO는 제안
라는 디렉토리가 있다는 것을 내 서버에 소켓 점 IO
우리가 찌를 경우 만이 아니다
주위가있다 노드 모듈의 디렉토리
하지만 아무것도 없다 이것에 대해 공개,
우리는 소켓 IO를 구성 할 때 동일한 포트에서 수신하는 것은,
1337 기본적으로 해당 라이브러리 다른 사람이 쓴 것입니다 것
종류의 코드를 삽입하는 노드 JS의 환경에
바로이 경로를 수신.
이 라이브러리에는 단지 이것에 대한 경로를 구성,
그것은 실제 디렉토리 아니다.
그것은에있을 것입니다 표준 위치.
좋아, 이제 재미 부분,
문서 그렇게 할 때 표시 등 준비
이 jQuery를 구성하여, 우선 앞서 갈거야
그리고 소켓에 연결
다만 무엇 소켓 ... 그것은 계속 간단한 I 연결거야
슬래시, 그건 사용자는, 어디
나는 예를 들어 간단한을 유지 한 우리는 단지 연결하는 것입니다
동일한 URL에 해당 사용자는 내가 갈거야 다음 방문한
다음을 수행하기 위해, 내가 갈거야 앨리스의 또는 밥의 브라우저에게
을 수신하는 서버에서 메시지.
다시는 foo에 있었다
언제든지 당신을 바 메시지를 듣고
서버 호출 해 데이터에서 다음이 jQuery 코드에게 할
하면 대부분 추측하고있어 어떤 모두가 잘 알고
요즘은 있지만 항목을 나열하려면 기본적으로 핀
기존 UL에있는 메시지를 불렀다
그 말 그대로 말한다 페이로드는 어떤
이어 대화 메시지의 수신 한 다음 하이픈,,
다음 다음에 공백과 그 이유는 업데이트 시간과의
우리가 가면 명확하게
여기에 당신이 추가를 얻을 수 글 머리 기호 또 다시
다시 날짜 회.
그 사이에 우리는 보면 여기까지 우리가이
양식 제출을 처리하는 그래서 수신했다
인스턴트 메시지의, 여기에 전송이 정렬입니다
노드 JS와 관련이없는 중, 청취 양식에 이벤트를 제출합니다.
그것은 기본을 방지 일어날 때, 이 단지를 제출하지 않는 것을 의미
보통의 서버에 방법, 전체 페이지를 다시로드,
우리는 아약스를 통해이 작업을 수행 할 수.
여기에 그냥 JQuery와 코드의
실제로 입력을 얻을 수 유형이 메시지입니다,
이름이 메시지가 계속 진행됩니다
그리고 값의 get 당신은 가서
당신은 실제로있는 경우 메시지의 경우 앨리스와 밥
또는 밥은 실제로 종류의 일부 없음 0 숫자 키 입력 방출
소켓라는 메시지 그 페이로드 메시지 클라이언트
다음 아래로 여기입니다 반대로 녹색 만드는 것
빨간색으로, 우리는 단순히 출력 제품 측면 [들림].
그래서는하지만 모두의 이것은 단지, 설정
내가 것 진짜 새로운 물건 바로이 세 가지입니다 주장
5 개의 여기에 코드의 라인과 전원에서 힌트의 종류
노드 JS의 그것으로 이 특정 라이브러리.
그럼 빠른 보자 익스프레스 닷 JS 봐
그래서 내가하려고하는거야 나머지 몇 수행
분의 여기가 설정 몇 가지 아이디어 몇 가지 기술
그 다음 몇 가지를 취할 것 분 휴식, 팀이 설정됩니다
그리고, 우리는 깊이에서 다이빙 있습니다
더 흥미로 또한 응용 프로그램을 표현하고
책장 라이브러리 팀은 실제로 쓴
오픈 소스 커뮤니티에 대한
그것은 우리에게 웅변 등을 제공합니다 내 SQL과 기능
트랜잭션 및 기타 기능 및 그는 또한 다이빙을합니다
에 대한 좀 더 깊이있는 언어 자바 스크립트 자체,
어떻게 그 목적 또는 비 클래스 모델은 그렇지 알고 작동
프로토 타입 모델로, 좀 더 그에 올 수 있습니다.
그럼 마지막 두를 살펴 보도록하자 여기에 응용 프로그램, 서버 다섯
모든 있습니다 서버 6 종류의 정신에는 변함이,
이러한 서버 채팅되지 않습니다 하지만 그들은 급행.
그럼 살펴 보자 이것이 실제로 수행,
나는 앞서 갈 건데 오픈 ... 나는이 응용 프로그램을 실행하는거야
노드 앱 JS와 함께, 그럴려고 나의 브라우저에 가서 다시
이 분명히 있습니다 모든 서버가하고있다,
그것은 매우 간단한 서버의 그것은 분명히 검색 엔진의 검색 결과
엔진 그래서 foo에 입력하면 그리고, 어떤 검색 결과를 제출하지
foo는, 나는 주위에하지 않았다 정교한 구현
백 엔드, 그것은거야 모든
수행하는 것은 상관없이 에코 없다 당신이 foo에 대한 검색 결과를 입력하지 않습니다,
줄에 대한 검색 결과가 없습니다 그래서 우리는이 어떻게해야합니까
이 때문에 몇 조각, 하나,
일부는 분명히있다 제공되는 입력
서버가 아닌 Larevel에 물론 그러나 노드 JS 지금
그래서 우리는 어떻게 든 필요 해당 매개 변수의 Q 얻을,
우리는 명확하고있는 여기에보기 어떤 종류의,
우리는 그렇게보기를 렌더링하는 어쩌면 기회가있다
템플릿이나 변수 interprelation [음성]
그래서 어디 보자 다음에.
이 특정을위한 응용 프로그램 JS에서 서버 이것은 우리가 가지고있는 모든 것입니다.
하나 우리는 급행 필요 자체,이 경로 모듈
이는 단지 일부를 수행 유용한 물건
문자열을 결합 등 함께 등 나를 위해,
I 포트 1337에서 수신하고 이 회전하므로 지금이 새로운
Larevel 같은 것을 표현하기 다른 플러그 인을 지원합니다
기술 및 다른 것들과 하나의
기술의 당신 플러그 수있는 것은보기 엔진
다만 어떤 템플릿에게 의미 엔진은 사용할까요,
Larevel 그것이 자신있어했다 일하지만 연결할 수 있습니다
여러 가지의 서로 다른 복숭아 P 프레임 워크가
템플릿의 다른 방법으로, EJS 그냥 일반적입니다
그리고 매우 간단한 엔진 그것은 당신이 일을하자
중괄호 등이 당신은 Larevels 구문했다
변수를 대체하는,
조금 다릅니다 구문 전부입니다.
그래서 지금이라는 것이있다 당신이 볼 수 있도록 미들웨어
자신의 팀 노드 프로젝트에 미들웨어 단지 종류의 코드입니다
또는 주입 라이브러리
[들림] 응답에 응용 프로그램의 수명주기,
즉이 두 라인 표현을 말하고있다
사이에 약간의 추가 작업을 수행 할 이 요청을 얻는다 시간
하고 보내는 시간의 자신의 경로에 해당 요청,
당신이 작성한 코드.
그래서 특히 여기이 선 특급 고정 점과 모두 사용
이러한 복잡성이 단지 의미는 요청을 참조하는 경우
그 정적 파일로 제공 foo는 점 JIF 또는 foo는 점 CSS 등
또는 foo는 점은 그렇게하지 ​​JS 동적으로 생성 된 경로,
가서이 살고있는 가정 공공 하위 디렉토리에,
그 짓이 전부입니다.
이 글은 다음 종류의 매핑과 같다 Larevel, 웹에 이르기까지 모든
또는 공개 디렉토리 오히려 Larevel합니다.
이 다음 줄은 단지입니다 나는 노선을 원하는 말
나는 물건을 사용하려면 응용 프로그램을 좋아받을 점
우리는 조금 전에보고하는 우리는 이제 단지 두 번째에 볼 수 있습니다.
따라서 응용 프로그램 점은 수단을 얻을 이 경로를 수신,
당신이이 전화를받을 때 슬래시 소요 익명 함수
요청에 응답 지금은 그냥
Larevel처럼 당신은 방법이 의 템플릿을 렌더링,
응답 렌더링 점, 맺다 인덱스를 인용,
렌더링 템플릿입니다 인덱스라고,
즉, 그래서 일시 중단하자 그 잠시보기를 위해 실
의 내용 전체 디렉토리
이것은 너무 통지 , 지금은 매우 간단
인덱스 점 EJS이있다 그리고 도트 EJS를 검색,
난 분명히 첫 번째 할
그 하나 때문에 그냥 렌더링 우리는 볼 수 있습니다 피곤
전체 인덱스 점 EJS에서 대부분 실제로 완전히 HTML
순간, 거기에 실제로 아무 템플릿은 진행하지 않습니다.
그래서 기술적으로하지 않았다 도, EJS를 호출 할 필요가
그 기능이 필요하지 않은 하지만 균일하게 유지,
그래서 그것의,이 무엇인지 나에게 그 슈퍼 간단한 양식을 제공합니다.
그래서 하나의 다른 경로가있다, 우리가 여기까지 보면 내가 말한
이 얻을 처리 무엇이라고 그래서 실제 정렬하는 검색을 슬래시
에 대한 핸들러 등 구글 당신이 얻을 때, 제출을 형성
그 경로는이 전화 익명 함수
하여 템플릿을 렌더링 검색 호출
두 번째는 무엇인가 인수는 아마 의미한다.
그것은의 JSON 개체처럼 보이는 종류 또는 자바 스크립트 객체.
그 역할은 무엇입니까 두 번째 인수 아마?
>> [청취 섹션]
>> 실제 쿼리가 에 입력 한 사용자는 분명히 살아
요청 점 쿼리, 쿼리 모든 참조
물음표 점 후 임의의 이름이다 Q
난 그냥 구글처럼 준
그 사이에 Q 결장은 단지입니다 템플릿에 전달하는 말,
검색 도트 EJS, Q의 키와 값
어떤 Q의 실제의 값이었다.
그래서 나뭇잎 하나 뷰에 대한 관심의 파일
내가 계속 검색 도트 EJS 이 슈퍼도 간단하고,
그것은 대부분은 단지 HTML 제외의 하나 다소 놀라운 라인
여기에이 구문입니다 무리처럼 보이는하는
다른 템플릿의 엔진이 단지 플러그를 의미
Q의 가치 그리고 굵게.
그래서 실제 검색이 없습니다 기능 만 종류의 수행
의 제안 방법은 것 골격 구조
그와 같은 응용 프로그램의.
그 사이에 ... 사실은 내가 한 가지를 표시 할 수 있습니다,
나는 몇 가지를이 있다는 것을 알 수 CSS 파일을 여기에 html로
자바 스크립트 파일, 아무것도 그 파일에 없다
순간 예고하는 공용 디렉토리가
나는 이전에 대한 말했듯 정적 파일 그래서 내가 가면
거기에있다 내 CSS 디렉토리
거기에 가면 스타일은 CSS는이 점이야
거기에 내용이 없습니다
하지만 그건 어떻게 것 공공 접근 파일이 있습니다.
그래 어디 보자 여기에 다른 변형에
그리고, 우리는 소개한다 하나의 생각과 휴식.
그래서이 마지막 서버 6, 그래서 이것은 제외하고 거의 동일합니다
아래 두 라인 이는 다음과 같습니다.
그래서 실제로있다 다른의 세 번째 행
그러나 나는 그렇게 나를 다시하자 ... 숨긴 소폭 그래서 누군가 싶어
무슨 제안합니다 여기에 일반 시민들의 의견에 대한
또는 기술적 인 용어로 무엇을 이 버전에 대한 다른
이들에 대하여 상위 노드의 행.
내가 아마도이 여기 왜 다?
그래, 샤론.
>> [청취 섹션]
난 것 같은 >> 네, 그것은 본다 이동 색인 및 검색
그래서 직접 분리 또는 뭔가, 나는 그들을 고려했다
그 때문에 그 정도 등의 Larevel에서 모든 배치 할 수
컨트롤러 로직의 내부 노선들은 PHP를 점
익명 함수 다시하고 다시하고 다시
하지만 물론 그 파일 꽤 거대한 얻을 수 있습니다
그래서 노선에 무슨 대부분의 PHP로 점
너희들이 일을했습니다의 당신의 이름에게 지정한된다
컨트롤러 클래스 또는 메소드의 이름도
그 호출됩니다한다
여기에 이​​렇게 같은 생각도 구문은 조금이지만
다른 그래서 여기까지 통지
나는 분명히 가지고 내 자신의 노드 JS 구현
모듈과 모듈은 단지 자바 스크립트 파일이 고착
기본적으로 하나의 규칙에 우리는 단지 잠시 볼 수있다.
그래서 가정이 내 모든 인덱스 기능
및 검색을 위해 분명히해야 이 디렉토리에 넣어
지금은 그 전체를 전화 했어 모듈 또는 패키지 또는 라이브러리,
당신이 원하는대로 ,라고 생각합니다
경로로 변수 노선했다.
그래서 분명히 거기에 경로에있는 도트 인덱스라는 방법입니다
인덱스 분명히있다 검색라는 또 다른 방법
이 노선 모듈에 또는 라이브러리
난 그냥 라우팅 해요 나는 모든 두지 않는다 다만 있도록
내 익명의 코드 내 응용 프로그램 파일의 내부.
그럼 경로로 이동 통지 할 수 있도록 다만 인덱스 점 JS가있다
여기에서 보면이입니다 앞서 의미 대회
그래서이 꽤 임의적이다 그러나 노드 대회입니다.
당신이 구현하는 시간 자신의 노드 JS 라이브러리,
일명 당신이 기본적으로 할 수있는 모듈 자바 스크립트 코드에게 쓰기
이 파일에서 원하는, 그것은 것입니다 아주 깨끗하게 모래 상자에 넣어 수
그 때문에 모든 변수를 입력 충돌하지 않습니다 선택
누군가 다른 사람의 라이브러리, 변수 나 메소드 또는 아무것도
하지만 아무것도 같은 당신은 노출 할
ALA 외부 세계에 자바 스크립트의 공개 방법
또는 PHP 또는 다른 언어 당신은 내부에 풍덩해야
전역 개체의 수출라는 노드의 저자.
도트 수출 그렇게함으로써 인덱스 I 사용자에게 노출하고
이 모듈의 호출 방법 이 기능에 매핑 인덱스
그래서 익명의 오른쪽
하지만 효과적으로 그것을주는거야 왼쪽에 이름
세계로 수출
당신이 호출 할 수 있도록 도트 인덱스 또는 도트 검색.
나는 또한 가지고 있다면 명확하게 함수 foo 같은
여기에 그 일을했다
그 기능 것 절대적으로 운영 될,
그것은 호출 할 수 이 파일하지만 하나에게
외부 세계에 추위도 foo는 호출
이 보낸 아니니까 이 점 표기법의 방법으로.
그래서, 일어나고있는 모든의
모든 것이 잘합니다 당신을 위해 간격의 이름을 지정합니다.
내가 노드를한다면 그래서 결국이 발생할 앱하고 페이지를 다시로드합니다
그 지금 검색하면
바 ... 기능에 대한 이러한 애플 리케이션은 동일합니다
하지만 그것은 단지 종류의 단계의 청소기 구현을 향해,
확실히 당신이 시작할 때 더 많은 코드를 작성
그 다음은 모든입니다.
분명하지 특히 정교하거나 복잡한
그러나 본질적 시작점
당신의 무슨에 대한 첫 번째 노드 JS 애플 리케이션.
우리는 나중에 가능성이 무엇을 할 거 야 이번 주 또는 이번 주말에
당신은에 마무리 될 때 우리가 따르겠다 PHP 응용 프로그램
아주 간단와 최대 팀이 다이빙을위한 응용 프로그램
에 정신에는 변함이 PHP를위한 워밍업 운동
를 기반으로하는 중간 학기 설문 조사,
사람들은 도움이 되었습니까 운동을 통해가는
아주 간단한 일을하는
하지만, 상당히 전에 안내 실제로 더 많은 일을 해결
그래서 우리가 당신의 자신에 그 후속
본질적으로 될 것입니다 일주일에 반 인해
지금 약간 중복에서 의도적으로 PHP와.
다음에 대한 질문 소켓 IO에, 표현
또는 나머지 혼란 월요일에서 아마.
좋아, 그래서 잘하면 하나 테이크 - 방법을 지금까지입니다
이들 중 일부가 있음 훨씬 덜 분명 것들
당신이하는 것보다 오버 헤드 에 사용되어왔다.
그래서 저를 소개하겠습니다 마지막으로 생각,
그래서 아주 일반적인 프로그래밍 패러다임
의 자바 스크립트 jQuery를 실제로 본
최신 버전에 이렇게있을 수 있습니다 실제로이 기술을 볼 수
하지만 그것은 아주이기도하기 전에 노드 JS 세계에서 일반적으로,
그것은 팀의에서 일반적이다 자신의 책장 라이브러리
그래서 우리는이를 다시합니다 더 구체적인 예
잠시 솔루션입니다 다음과 같은 코드로하면,
이 코드 대표 우리는 월요일에보고, 그래서 파일을 읽을
이 상황에서 진짜가 아닌 방법은 정신 비슷
점 파일 읽기를 fs가 있지만, 가정 이것은 그냥 만들어진 것이
하지 최대 방법 매우 유사한.
그래서 우리는 몇 가지에 달렸다 일반적으로 월요일에 문제
그래서 일종의 ... 왜 이 어려운 상황에 처하고,
이 다시 전화 패러다임 프로그래밍 자바 스크립트의
과에 의해 패러다임을 다시 전화 난 그냥이 기술을 의미
당신은 반환하지 않는 곳 값을 즉시
그 때문에 힘 서버 차단
의 뭔가 다른 일을에서 유용 대신 다시 전화
동요의 버저 등 판잣집 당신이 준비가되면
응답을 전달하는 인수로.
이 미끄러운 경사입니다
어디 매우 빠르게 왜 괴롭히는 것이됩니다?
그래.
>> [청취 섹션]
>> 네, 최소가됩니다 종류의 읽을 권리
당신은 이러한 모든 호출이있는 경우 당신이 준수하는 경우 백업 및
좋은 스타일은 점점 꽤 대량으로 들여 쓰기
시간과 경우에 나는이 포인트 예를 들어 당신이 종류의 탈지 경우
그것은 단순히 의미 통해 JSON 파일을 열고 인쇄,
즉, 아직 그리고 같은 우리 여기에 몇 가지 8 또는 10 줄이
종류 이미있는 의 더럽게 들여,
우리는 시도 캐치를 가지고하는 것입니다
당신이 익숙하지 않다면입니다 오류 처리 기술
그것은 당신이 무언가를 시도 할 수 있습니다
그리고 실패하면 당신은 그것을 잘하면 잡을
당신의 전체 프로그램없이 종료하지만, 거기에
너무 복잡하면 같은 종류의 의를 통해이 문제를 생각해야
하나님은 우리가 몇을 금지 다른 비동기 메서드 호출
것은 이미 이상 여기에있을 것,
당신은이 종류 생각 바보 같은 심미적하지만,이 중
때문에 다시 호출 패러다임은 너무 일반적이다 적어도
기본 노드 코드에서이 매우 빠르게 지루한되고,
디버깅 하드, 들여 쓰기 그래서 당신은 정렬 할 수 있습니다 중요 시작
추적 것들을 아래, 그건 그냥 아주 행복한 방법
프로그래밍의.
그래서 사람들은 수행 한
사이에 다양한 컨텍스트 노드의 그들이를 단순화하기 위해 노력하고,
인스턴스 약속에 대한 운영 체제 사고의 또 다른 방법입니다
비동기 코드를 작성하는 방법에 대한 즉, 시각적으로 뭔가를 전환
버전 1에 같은 이 버전 2.
나는이 주장이 있습니다 또 단지 종류의 혼합
실제 코드와 의사 사이 코드는,이 대표
당신이 다시 구현하는 방법의 그 똑같은,
JSON 파일을 열고, 그것을 분석하고 그것을 인쇄
뭔가를 사용하여 약속이라고
및 핵심 구문 세부 사항은
체인이 있다는 것을 여기에 간다.
알 수있는 유일한 세미콜론
전체에 ... 사실은 잘 그럼 ... 내가 오해하고 싶지 않아요.
이것은 꼭 필요한 것은 그러나,의 일관성하자
알이 세미콜론 즉, 개방을 의미
이 모든 문 여기까지입니다.
I 포맷 한 동안 그렇게 이 ... 종류의보고
같은 세 가지 문, 세 당신이 볼 수있는 문
자바 나 다른 언어 시도 및 캐치를 가지고
예외 처리 더 일반적으로.
공지 사항이 그냥 체인 각각의 리턴 값
함께 이러한 방법.
그래서 무슨 일이 일어나고 있는지, 파일을 읽을 이 존재하는 방법 경우
분명히하려고합니다 이 파일을 읽으려면
점은 그럼 아주이다 세계에 주어진 일반적인 이름
에 대한 약속 실행해야 할 방법
이전 일이 성공합니다.
그래서 종류의 성공처럼 처리기, 그럼 JSON 도트 구문 분석,
잘 JSON 도트 구문 분석 단지 방법입니다
글로벌 JSON 라이브러리 그리고 명백하게 밀착
이 경우 행 약속 모델
그래서 우리는 우리가 할 수있는 말 그 전화해서 사람을 가정
그는 다음에 성공하면 다음이 사람을 호출
그 사실이 실행의 경우 단순히 로그 데이터를 콘솔
문제.
그래서 여기서 오류가 있습니다 처리, I 정렬 한 알
아주 맹목적으로 강화 이 선반 떨어져
다만이라고 방법이 메서드
지금까지 확인하지 않고 문제.
그럼 여기서 그 문제는 아마도 다음에 ... 처리
캐시 문 때문에 다른 라이브러리는 다른 사용
규칙 만에 이 경우는 일종의
성공 핸들러, 캐시 종류의 오류 처리기입니다
우리가 깨진 적이 없다 때문에 이 체인은 우리가 그냥 계속 사용
함께 연결하는 점 표기법 원래 메서드 호출
판독 파일과 함수 정렬 오류를 호출
거품 그들의 방법 체인을 통해
그들은 실제로 처리하는 때까지 노력보다 훨씬 청소기입니다
그것은 모든 처리합니다 방법의 저주 단계
그래야 당신의 코드를 매우 빨리 비현실적인 데이터가됩니다.
우리가있어이 경우 우리가 시도라고 주장
라는 것을 잡으려고 구문 오류는 본질적으로의
보다 일반적인의 서브 클래스 그 주장을 발생하는 경우 오류 및
그것은 그렇지 않으면 잘못된 JSON 있다고 그것은 더 일반적인 오류의 경우
우리는 기대되지 않았 음 단지 더 일반적으로 말할 수 없다
파일을 읽습니다.
지금은 그냥 의미 대표 코드 할 수
하지만 당신은 프로그래밍 한 경우 원시 자바 스크립트 또는 자바
또는 다른 언어로이입니다 프로 시저 코드를 본질적으로,
이보다 전통이다 catch 문을 시도
그리고 그 심미적이고 약속의 기능
또는 당신을 제공하기 위해 노력하고 당신은 생각할 수있다
처럼 시도를 작성하고 캐치하고 가지고 있지 잡아
에서 모든 걱정 하나의 가능한 지점
여기서 오류 수도 처리 ... 일이,
당신은에서 모든 것을 처리 할 수​​ 있습니다 작은 블록의 필요에 따라 종료
코드, 당신은 할 수도 오류 구별
여기이 경우에 할 수있는 한.
그래서 명칭 당신은거야 어쩌면 문학에서 볼 수
팀은 약간의 선물로 이 물건은 너무의
그 이상적으로 원하는 해결하기 위해 약속
그리고 약속 수단을 해결 그 마지막으로 말하자면 반환
그러나 전통적인 방법으로 가치, 성공도 그렇게
에 대해 본질적으로 실패합니다.
좋아 질문 한 다음, 그것은 충분가 아냐
약속에 노출 하지만 단지 정신 모델
코드에 대한 볼을 시작합니다.