60

Handson Nodejs

Embed Size (px)

DESCRIPTION

Posted by Kifayat Ullah Maseed

Citation preview

Page 1: Handson Nodejs
Page 2: Handson Nodejs

+DQGV�RQ 1RGH�MV

3HGUR 7HL[HLUD

7KLV ERRN LV IRU VDOH DW KWWS���OHDQSXE�FRP�KDQGV�RQ�QRGHMV

7KLV YHUVLRQ ZDV SXEOLVKHG RQ ����������

7KLV LV D /HDQSXE ERRN� /HDQSXE HPSRZHUV DXWKRUV DQG SXEOLVKHUV ZLWK WKH /HDQ 3XEOLVKLQJSURFHVV� /HDQ 3XEOLVKLQJ LV WKH DFW RI SXEOLVKLQJ DQ LQ�SURJUHVV HERRN XVLQJ OLJKWZHLJKW WRROV DQGPDQ\ LWHUDWLRQV WR JHW UHDGHU IHHGEDFN� SLYRW XQWLO \RX KDYH WKH ULJKW ERRN DQG EXLOG WUDFWLRQ RQFH\RX GR�

k���� � ���� 3HGUR 7HL[HLUD

Page 3: Handson Nodejs

7ZHHW 7KLV %RRN�3OHDVH KHOS 3HGUR 7HL[HLUD E\ VSUHDGLQJ WKH ZRUG DERXW WKLV ERRN RQ 7ZLWWHU�

7KH VXJJHVWHG KDVKWDJ IRU WKLV ERRN LV �KDQGV�RQ�QRGHMV�

)LQG RXW ZKDW RWKHU SHRSOH DUH VD\LQJ DERXW WKH ERRN E\ FOLFNLQJ RQ WKLV OLQN WR VHDUFK IRU WKLVKDVKWDJ RQ 7ZLWWHU�

KWWSV���WZLWWHU�FRP�VHDUFK"T �KDQGV�RQ�QRGHMV

Page 4: Handson Nodejs

&RQWHQWV

,QWURGXFWLRQ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �:K\ WKH VXGGHQ� H[SRQHQWLDO SRSXODULW\" � � � � � � � � � � � � � � � � � � � � � � � � � � � �:KDW GRHV WKLV ERRN FRYHU" � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �:KDW GRHV WKLV ERRN QRW FRYHU" � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �3UHUHTXLVLWHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �([HUFLVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �6RXUFH FRGH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �:KHUH ZLOO WKLV ERRN OHDG \RX" � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

:K\" � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �:K\ WKH HYHQW ORRS" � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

6ROXWLRQ �� &UHDWH PRUH FDOO VWDFNV � � � � � � � � � � � � � � � � � � � � � � � � � � � � �6ROXWLRQ �� 8VH HYHQW�GULYHQ ,�2 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

:K\ -DYD6FULSW" � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �+RZ , /HDUQHG WR 6WRS )HDULQJ DQG /RYH -DYD6FULSW � � � � � � � � � � � � � � � � � � � �

)XQFWLRQ 'HFODUDWLRQ 6W\OHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � �)XQFWLRQV DUH ILUVW�FODVV REMHFWV � � � � � � � � � � � � � � � � � � � � � � � � � � ��

-6+LQW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��-DYD6FULSW YHUVLRQV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

5HIHUHQFHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

6WDUWLQJ XS � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��,QVWDOO 1RGH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

8QGHUVWDQGLQJ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��8QGHUVWDQGLQJ WKH 1RGH HYHQW ORRS � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

$Q HYHQW�TXHXH SURFHVVLQJ ORRS � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&DOOEDFNV WKDW ZLOO JHQHUDWH HYHQWV � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��'RQ٧W EORFN� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

0RGXOHV DQG 130 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��0RGXOHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

+RZ 1RGH UHVROYHV D PRGXOH SDWK � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&RUH PRGXOHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

Page 5: Handson Nodejs

&217(176

0RGXOHV ZLWK FRPSOHWH RU UHODWLYH SDWK � � � � � � � � � � � � � � � � � � � � � � ��$V D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��$V D GLUHFWRU\ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��$V DQ LQVWDOOHG PRGXOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

130 � 1RGH 3DFNDJH 0DQDJHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��*OREDO YV� /RFDO � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��130 FRPPDQGV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

QSP OV >ILOWHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��QSP LQVWDOO SDFNDJH>#ILOWHUV � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��QSP UP SDFNDJHBQDPH>#YHUVLRQ � � � � � � � � � � � � � � � � � � � � � � � � � ��QSP YLHZ ># � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

7KH 3DFNDJH�MVRQ 0DQLIHVW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

8WLOLWLHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��FRQVROH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��XWLO � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

%XIIHUV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��6OLFH D EXIIHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&RS\ D EXIIHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��%XIIHU ([HUFLVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

(YHQW (PLWWHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DGG/LVWHQHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���RQFH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���UHPRYH$OO/LVWHQHUV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&UHDWLQJ DQ (YHQW (PLWWHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��(YHQW (PLWWHU ([HUFLVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

7LPHUV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��VHW7LPHRXW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��FOHDU7LPHRXW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��VHW,QWHUYDO � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��FOHDU,QWHUYDO � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��VHW,PPHGLDWH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

(VFDSLQJ WKH HYHQW ORRS � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��$ QRWH RQ WDLO UHFXUVLRQ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

/RZ�OHYHO ILOH�V\VWHP � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

Page 6: Handson Nodejs

&217(176

IV�VWDW DQG IV�IVWDW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��2SHQ D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��5HDG IURP D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��:ULWH LQWR D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

&ORVH <RXU ILOHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��)LOH�V\VWHP ([HUFLVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

([HUFLVH � � JHW WKH VL]H RI D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � UHDG D FKXQN IURP D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � UHDG WZR FKXQNV IURP D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � 2YHUZULWH D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � DSSHQG WR D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � FKDQJH WKH FRQWHQW RI D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � ��

+773 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��+773 6HUYHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

7KH KWWS�6HUYHU5HTXHVW REMHFW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��UHT�XUO � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��UHT�PHWKRG � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��UHT�KHDGHUV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��7KH KWWS�6HUYHU5HVSRQVH REMHFW � � � � � � � � � � � � � � � � � � � � � � � � � � ��

:ULWH D KHDGHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&KDQJH RU VHW D KHDGHU � � � � � � � � � � � � � � � � � � � � � � � � � � � ��5HPRYH D KHDGHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��:ULWH D SLHFH RI WKH UHVSRQVH ERG\ � � � � � � � � � � � � � � � � � � � � � ��

+773 &OLHQW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��KWWS�JHW�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

KWWS�UHTXHVW�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��+773 ([HUFLVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

6WUHDPV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��5HDG6WUHDP � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

:DLW IRU GDWD � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��.QRZ ZKHQ LW HQGV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��3DXVH LW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��5HVXPH LW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

:ULWH6WUHDP � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��:ULWH WR LW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��:DLW IRU LW WR GUDLQ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

6RPH VWUHDP H[DPSOHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

Page 7: Handson Nodejs

&217(176

)LOHV\VWHP VWUHDPV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��1HWZRUN VWUHDPV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

7KH 6ORZ &OLHQW 3UREOHP DQG %DFN�SUHVVXUH � � � � � � � � � � � � � � � � � � � � � � � � � ��:KDW FDQ ZH GR" � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��3LSH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

7&3 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��:ULWH D VWULQJ RU D EXIIHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��HQG � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��DQGٴ DOO WKH RWKHU PHWKRGV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��,GOH VRFNHWV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��.HHS�DOLYH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��'HOD\ RU QR GHOD\ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��VHUYHU�FORVH�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��/LVWHQLQJ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��7&3 FOLHQW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��(UURU KDQGOLQJ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��7&3 ([HUFLVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

'DWDJUDPV �8'3� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��'DWDJUDP VHUYHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��'DWDJUDP FOLHQW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��'DWDJUDP 0XOWLFDVW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

5HFHLYLQJ PXOWLFDVW PHVVDJHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��6HQGLQJ PXOWLFDVW PHVVDJHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��:KDW FDQ EH WKH GDWDJUDP PD[LPXP VL]H" � � � � � � � � � � � � � � � � � � � � � � � � ��

8'3 ([HUFLVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

&KLOG SURFHVVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HFXWLQJ FRPPDQGV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��6SDZQLQJ SURFHVVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��.LOOLQJ SURFHVVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&KLOG 3URFHVVHV ([HUFLVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

6WUHDPLQJ +773 FKXQNHG UHVSRQVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��$ VWUHDPLQJ H[DPSOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

6WUHDPLQJ ([HUFLVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

7/6 � 66/ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

Page 8: Handson Nodejs

&217(176

3XEOLF � SULYDWH NH\V � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��3ULYDWH NH\ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��3XEOLF NH\ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

7/6 &OLHQW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��7/6 6HUYHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

9HULILFDWLRQ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��7/6 ([HUFLVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

+7736 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��+7736 6HUYHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��+7736 &OLHQW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

0DNLQJ PRGXOHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��&RPPRQ-6 PRGXOHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��2QH ILOH PRGXOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��$Q DJJUHJDWLQJ PRGXOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��$ SVHXGR�FODVV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��$ SVHXGR�FODVV WKDW LQKHULWV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��QRGHBPRGXOHV DQG QSP EXQGOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

%XQGOLQJ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

'HEXJJLQJ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��FRQVROH�ORJ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��1RGH EXLOW�LQ GHEXJJHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��1RGH ,QVSHFWRU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��/LYH HGLW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

$XWRPDWHG 8QLW 7HVWLQJ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��$ WHVW UXQQHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��$VVHUWLRQ WHVWLQJ PRGXOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

VKRXOG�MV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��$VVHUW WUXWKIXOQHVV� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��RU XQWUXWKIXOQHVV� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� WUXH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� IDOVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��HPSWLQHVV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��HTXDOLW\ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��HTXDO �VWULFW HTXDOLW\� � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��DVVHUW QXPHULF UDQJH �LQFOXVLYH� ZLWK ZLWKLQ � � � � � � � � � � � � � � � � ��

Page 9: Handson Nodejs

&217(176

WHVW QXPHULF YDOXH LV DERYH JLYHQ YDOXH� � � � � � � � � � � � � � � � � � � ��WHVW QXPHULF YDOXH LV EHORZ JLYHQ YDOXH� � � � � � � � � � � � � � � � � � � ��PDWFKLQJ UHJXODU H[SUHVVLRQV � � � � � � � � � � � � � � � � � � � � � � � � ��WHVW OHQJWK � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��VXEVWULQJ LQFOXVLRQ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��DVVHUW W\SHRI � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��SURSHUW\ H[LVWHQFH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��DUUD\ FRQWDLQPHQW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��RZQ REMHFW NH\V � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��UHVSRQGV WR� DVVHUWLQJ WKDW D JLYHQ SURSHUW\ LV D IXQFWLRQ� � � � � � � � � � ��

3XWWLQJ LW DOO WRJHWKHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

&DOOEDFN IORZ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��7KH ERRPHUDQJ HIIHFW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��8VLQJ FDRODQ�DV\QF � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��

&ROOHFWLRQV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��3DUDOOHO ,WHUDWLRQV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��DV\QF�IRU(DFK � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��DV\QF�PDS � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��DV\QF�IRU(DFK/LPLW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�ILOWHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�UHMHFW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�UHGXFH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�GHWHFW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�VRPH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�HYHU\ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

)ORZ &RQWURO � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�VHULHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�SDUDOOHO � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�ZKLOVW � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�XQWLO � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�ZDWHUIDOO � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���DV\QF�TXHXH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

$SSHQGL[ � ([HUFLVH 5HVXOWV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���&KDSWHU� %XIIHUV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

&KDSWHU� (YHQW (PLWWHU � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

Page 10: Handson Nodejs

&217(176

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

&KDSWHU� /RZ�OHYHO )LOH 6\VWHP � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � JHW WKH VL]H RI D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � UHDG D FKXQN IURP D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � UHDG WZR FKXQNV IURP D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � 2YHUZULWH D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � DSSHQG WR D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � FKDQJH WKH FRQWHQW RI D ILOH � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���&KDSWHU� +773 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

&KDSWHU� &KLOG SURFHVVHV � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���&KDSWHU� 6WUHDPLQJ +773 &KXQNHG UHVSRQVHV � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

&KDSWHU� 8'3 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���&KDSWHU� 7&3 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

&KDSWHU� 66/ � 7/6 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

Page 11: Handson Nodejs

&217(176

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���([HUFLVH � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

2QH 6ROXWLRQ� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ���

Page 12: Handson Nodejs

ΖQWURGXFWLRQ$W WKH (XURSHDQ -6&RQI ����� D \RXQJ SURJUDPPHU E\ WKH QDPH RI 5\DQ 'DKO� LQWURGXFHG D SURMHFWKH KDG EHHQ ZRUNLQJ RQ� 7KLV SURMHFW ZDV D SODWIRUP WKDW FRPELQHG *RRJOH٧V 9� -DYD6FULSW HQJLQHDQG DQ HYHQW ORRS WR FUHDWH D VHUYHU�VLGH SODWIRUP SURJUDPPDEOH LQ -DYD6FULSW� 7KH SURMHFW WRRN DGLIIHUHQW GLUHFWLRQ IURP RWKHU VHUYHU�VLGH -DYD6FULSW SODWIRUPV� DOO ,�2 SULPLWLYHV ZHUH HYHQW�GULYHQ�DQG WKHUH ZDV QR ZD\ DURXQG LW� /HYHUDJLQJ WKH SRZHU DQG VLPSOLFLW\ RI -DYD6FULSW� LW WXUQHG WKHGLIILFXOW WDVN RI ZULWLQJ DV\QFKURQRXV DSSOLFDWLRQV LQWR DQ HDV\ RQH� 6LQFH UHFHLYLQJ D VWDQGLQJRYDWLRQ DW WKH HQG RI KLV WDON� 'DKO٧V SURMHFW KDV EHHQ PHW ZLWK XQSUHFHGHQWHG JURZWK� SRSXODULW\DQG DGRSWLRQ�

7KH SURMHFW ZDV QDPHG 1RGH�MV� QRZ NQRZQ WR GHYHORSHUV VLPSO\ DV ٦1RGH٧� 1RGH SURYLGHV SXUHO\HYHQWHG� QRQ�EORFNLQJ LQIUDVWUXFWXUH IRU EXLOGLQJ KLJKO\ FRQFXUUHQW VRIWZDUH�

1RGH DOORZV \RX WR HDVLO\ FRQVWUXFW IDVW DQG VFDODEOH QHWZRUN VHUYLFHV�

:K\ WKH VXGGHQ� H[SRQHQWLDO SRSXODULW\"

6HUYHU�VLGH -DYD6FULSW KDV EHHQ DURXQG IRU VRPH WLPH� ZKDW PDNHV WKLV SODWIRUP VR DSSHDOLQJ"

,Q SUHYLRXV VHUYHU�VLGH -DYD6FULSW LPSOHPHQWDWLRQV� MDYDVFULSW ZDV WKH UDLVRQ GHWUH� DQG WKHDSSURDFK IRFXVVHG RQ WUDQVODWLQJ FRPPRQ SUDFWLFHV IURP RWKHU SODWIRUPV OLNH 5XE\� 3(5/ DQG3\WKRQ� LQWR -DYD6FULSW� 1RGH WRRN D OHDS IURP WKLV DQG VDLG� ٪/HW٧V XVH WKH VXFFHVVIXO HYHQW�GULYHQSURJUDPPLQJ PRGHO RI WKH ZHE DQG XVH LW WR PDNH DQ HDV\ ZD\ WR EXLOG VFDODEOH VHUYHUV� $QG OHW٧VPDNH LW WKH RQO\ ZD\ SHRSOH FDQ GR DQ\WKLQJ RQ WKLV SODWIRUP�٫�

,W FDQ EH DUJXHG WKDW -DYD6FULSW LWVHOI FRQWULEXWHG WR PXFK RI 1RGH٧V VXFFHVV� EXW WKDW ZRXOG QRWH[SODLQ ZK\ RWKHU WKH VHUYHU�VLGH SURMHFWV SURFHHGLQJ 1RGH KDYH QRW \HW FRPH FORVH LQ SRSXODULW\�7KH XELTXLW\ RI -DYD6FULSW VXUHO\ KDV SOD\HG D UROH� EXW� DV 5\DQ 'DKO SRLQWV RXW� XQOLNH RWKHU 6HUYHU�VLGH -DYD6FULSW DWWHPSWV� XQLI\LQJ WKH FOLHQW DQG VHUYHU LQWR D FRPPRQ ODQJXDJH ZDV QRW WKH SULPDU\JRDO IRU 1RGH�

,Q P\ SHUVSHFWLYH WKHUH DUH WKUHH IDFWRUV FRQWULEXWLQJ WR 1RGH٧V VXFFHVV�

�� 1RGH LV (DV\ � 1RGH PDNHV HYHQW�GULYHQ ,�2 SURJUDPPLQJ� WKH EHVW ZD\ WR GR ,�2 SURJUDP�PLQJ� PXFK HDVLHU WR XQGHUVWDQG DQG DFKLHYH WKDQ LQ DQ\ RWKHU H[LVWLQJ SODWIRUP�

�� 1RGH LV /HDQ � 1RGH GRHV QRW WU\ WR VROYH DOO SUREOHPV� ,W OD\V WKH IRXQGDWLRQ DQG VXSSRUWVWKH EDVLF LQWHUQHW SURWRFROV XVLQJ FOHDQ� IXQFWLRQDO $3,V�

�� 1RGH GRHV QRW &RPSURPLVH � 1RGH GRHV QRW WU\ WR EH FRPSDWLEOH ZLWK SUH�H[LVWLQJ VRIWZDUH�LW WDNHV D IUHVK ORRN DW ZKDW PDQ\ EHOLHYH LV WKH ULJKW GLUHFWLRQ�

Page 13: Handson Nodejs

,QWURGXFWLRQ �

:KDW GRHV WKLV ERRN FRYHU"

:H ZLOO DQDO\]H ZKDW PDNHV 1RGH D GLIIHUHQW SURSRVDO WR RWKHU VHUYHU�VLGH VROXWLRQV� ZK\ \RXVKRXOG XVH LW� DQG KRZ WR JHW VWDUWHG� :H ZLOO VWDUW ZLWK DQ RYHUYLHZ EXW TXLFNO\ GLYH LQWR VRPHFRGH PRGXOH�E\�PRGXOH� %\ WKH HQG RI WKLV ERRN \RX VKRXOG EH DEOH WR EXLOG DQG WHVW \RXU RZQ1RGH PRGXOHV� VHUYLFH SURGXFHUV�FRQVXPHUV DQG IHHO FRPIRUWDEOH XVLQJ 1RGH٧V FRQYHQWLRQV DQG$3,�

:KDW GRHV WKLV ERRN QRW FRYHU"

7KLV ERRN GRHV QRW DWWHPSW WR FRYHU WKH FRPSOHWH 1RGH $3,� ,QVWHDG� ZH ZLOO FRYHU ZKDW WKH DXWKRUWKLQNV LV UHTXLUHG WR EXLOG PRVW DSSOLFDWLRQV KH ZRXOG EXLOG RQ 1RGH�

7KLV ERRN GRHV QRW FRYHU DQ\ 1RGH IUDPHZRUNV� 1RGH LV D JUHDW WRRO IRU EXLOGLQJ IUDPHZRUNV DQGPDQ\ DUH DYDLODEOH� VXFK DV FOXVWHU PDQDJHPHQW� LQWHU�SURFHVV FRPPXQLFDWLRQ� ZHE IUDPHZRUNV�QHWZRUN WUDIILF FROOHFWLRQ WRROV� JDPH HQJLQHV DQG PDQ\ RWKHUV� %HIRUH \RX GLYH LQWR DQ\ RI WKRVH\RX VKRXOG EH IDPLOLDU ZLWK 1RGH٧V LQIUDVWUXFWXUH DQG ZKDW LW SURYLGHV WR WKHVH EXLOGLQJ EORFNV�

3UHUHTXLVLWHV

7KLV ERRN GRHV QRW DVVXPH \RX KDYH DQ\ SULRU NQRZOHGJH RI 1RGH� EXW WKH FRGH H[DPSOHV DUH ZULWWHQLQ -DYD6FULSW� VR IDPLOLDULW\ ZLWK WKH -DYD6FULSW ODQJXDJH ZLOO KHOS�

([HUFLVHV

7KLV ERRN KDV H[HUFLVHV LQ VRPH FKDSWHUV� $W WKH HQG RI WKLV ERRN \RX FDQ ILQG WKH H[HUFLVHVROXWLRQV� EXW , DGYLVH \RX WR WU\ GR WKHP \RXUVHOI� &RQVXOW WKLV ERRN RU XVH WKH FRPSUHKHQVLYH$3, GRFXPHQWDWLRQ RQ WKH RIILFLDO KWWS���QRGHMV�RUJ{ ZHEVLWH�

6RXUFH FRGH

<RX FDQ ILQG VRPH RI WKH VRXUFH FRGH DQG H[HUFLVHV XVHG LQ WKLV ERRN RQ *LW+XE�

KWWSV���JLWKXE�FRP�SJWH�KDQGVRQBQRGHMVBVRXUFHBFRGHt

RU \RX FDQ GRZQORDG LW GLUHFWO\�

KWWSV���JLWKXE�FRP�SJWH�KDQGVRQBQRGHMVBVRXUFHBFRGH�]LSEDOO�PDVWHUu

{KWWS���QRGHMV�RUJtKWWSV���JLWKXE�FRP�SJWH�KDQGVRQBQRGHMVBVRXUFHBFRGHuKWWSV���JLWKXE�FRP�SJWH�KDQGVRQBQRGHMVBVRXUFHBFRGH�]LSEDOO�PDVWHU

Page 14: Handson Nodejs

,QWURGXFWLRQ �

:KHUH ZLOO WKLV ERRN OHDG \RX"

%\ WKH HQG RI LW� \RX VKRXOG XQGHUVWDQG WKH 1RGH $3, DQG EH DEOH WR SXUVXH WKH H[SORUDWLRQ RI RWKHUWKLQJV EXLOW RQ WRS RI LW� EHLQJ DGDSWRUV� IUDPHZRUNV DQG PRGXOHV�

/HW٧V JHW VWDUWHG�

Page 15: Handson Nodejs

:K\":K\ WKH HYHQW ORRS"

7KH (YHQW /RRS LV D VRIWZDUH SDWWHUQ WKDW IDFLOLWDWHV QRQ�EORFNLQJ ,�2 �QHWZRUN� ILOH RU LQWHU�SURFHVVFRPPXQLFDWLRQ�� 7UDGLWLRQDO EORFNLQJ SURJUDPPLQJ GRHV ,�2 LQ WKH VDPH IDVKLRQ DV UHJXODU IXQFWLRQFDOOV� SURFHVVLQJ PD\ QRW FRQWLQXH XQWLO WKH RSHUDWLRQ LV FRPSOHWH� +HUH LV VRPH SVHXGR�FRGH WKDWGHPRQVWUDWHV EORFNLQJ ,�2�

� WBS QPTU � EC�RVFSZ�4&-&$5 � '30. QPTUT XIFSF JE � ���

� �� QSPDFTTJOH GSPN UIJT MJOF POXBSE DBOOPU FYFDVUF VOUJM UIF MJOF BCPWF DPNQMFUFT

� EP4PNFUIJOH8JUI1PTUQPTU�

� EP4PNFUIJOH&MTF�

:KDW LV KDSSHQLQJ KHUH" :KLOH WKH GDWDEDVH TXHU\ LV EHLQJ H[HFXWHG� WKH ZKROH SURFHVV�WKUHDGLGOHV� ZDLWLQJ IRU WKH UHVSRQVH� 7KLV LV FDOOHG EORFNLQJ� 7KH UHVSRQVH WR WKLV TXHU\ PD\ WDNH PDQ\WKRXVDQGV RI &38 F\FOHV� UHQGHULQJ WKH HQWLUH SURFHVV XQXVDEOH GXULQJ WKLV WLPH� 7KH SURFHVV FRXOGKDYH EHHQ VHUYLFLQJ RWKHU FOLHQW UHTXHVWV LQVWHDG RI MXVW ZDLWLQJ IRU WKH GDWDEDVH RSHUDWLRQ WRFRPSOHWH�

3URJUDPPLQJ LQ WKLV ZD\ GRHV QRW DOORZ \RX WR SDUDOOHOL]H ,�2 �VXFK DV SHUIRUPLQJ DQRWKHU GDWDEDVHTXHU\ RU FRPPXQLFDWLQJ ZLWK D UHPRWH ZHE VHUYLFH�� 7KH FDOO VWDFN EHFRPHV IUR]HQ� ZDLWLQJ IRU WKHGDWDEDVH VHUYHU WR UHSO\�

7KLV OHDYHV \RX ZLWK WZR SRVVLEOH VROXWLRQV WR NHHS WKH SURFHVV EXV\ ZKLOH LW٧V ZDLWLQJ� FUHDWH PRUHFDOO VWDFNV RU XVH HYHQW FDOOEDFNV�

6ROXWLRQ �� &UHDWH PRUH FDOO VWDFNV

,Q RUGHU IRU \RXU SURFHVV WR KDQGOH PRUH FRQFXUUHQW ,�2� \RX KDYH WR KDYH PRUH FRQFXUUHQW FDOOVWDFNV� )RU WKLV� \RX FDQ XVH WKUHDGV RU VRPH NLQG RI FRRSHUDWLYH PXOWL�WKUHDGLQJ VFKHPH OLNH FR�URXWLQHV� ILEHUV� FRQWLQXDWLRQV� HWF�

7KH PXOWL�WKUHDGHG FRQFXUUHQF\ PRGHO FDQ EH YHU\ GLIILFXOW WR FRQILJXUH� XQGHUVWDQG DQG GHEXJ�PDLQO\ EHFDXVH RI WKH FRPSOH[LW\ RI V\QFKURQL]DWLRQ ZKHQ DFFHVVLQJ DQG PRGLI\LQJ VKDUHG VWDWH�\RX QHYHU NQRZ ZKHQ WKH WKUHDG \RX DUH UXQQLQJ LV JRLQJ WR EH WDNHQ RXW RI H[HFXWLRQ� ZKLFK FDQOHDG WR EXJV WKDW DUH VWUDQJH DQG GLIILFXOW WR UHSURGXFH�

2Q WKH RWKHU KDQG� FRRSHUDWLYH PXOWL�WKUHDGLQJ LV D ٪WULFN٫ ZKHUH \RX KDYH PRUH WKDQ RQH VWDFN�DQG HDFK ٪WKUHDG٫ RI H[HFXWLRQ H[SOLFLWO\ GH�VFKHGXOHV LWVHOI WR JLYH WLPH WR DQRWKHU SDUDOOHO ٪WKUHDG٫RI H[HFXWLRQ� 7KLV FDQ UHOD[ WKH V\QFKURQL]DWLRQ UHTXLUHPHQWV EXW FDQ EHFRPH FRPSOH[ DQG HUURU�SURQH� VLQFH WKH WKUHDG VFKHGXOLQJ LV OHIW LQ WKH KDQGV RI WKH SURJUDPPHU�

Page 16: Handson Nodejs

:K\" �

6ROXWLRQ �� 8VH HYHQW�GULYHQ �2

(YHQW�GULYHQ ,�2 LV D VFKHPH ZKHUH \RX UHJLVWHU FDOOEDFNV WR EH LQYRNHG ZKHQ DQ LQWHUHVWLQJ ,�2HYHQW KDSSHQV�

$Q HYHQW FDOOEDFN LV D IXQFWLRQ WKDW JHWV LQYRNHG ZKHQ VRPHWKLQJ VLJQLILFDQW KDSSHQV �H�J� WKH UHVXOWRI D GDWDEDVH TXHU\ LV DYDLODEOH��

7R XVH HYHQW FDOOEDFNV LQ WKH SUHYLRXV H[DPSOH� \RX FRXOG FKDQJH LW WR�

� DBMMCBDL � GVODUJPOQPTU \

� EP4PNFUIJOH8JUI1PTUQPTU� �� UIJT XJMM POMZ FYFDVUF XIFO UIF EC�RVFSZ GVODUJPO=

� SFUVSOT�

� ^�

� EC�RVFSZ�4&-&$5 � '30. QPTUT XIFSF JE � �� DBMMCBDL�

� EP4PNFUIJOH&MTF� �� UIJT XJMM FYFDVUF JOEFQFOEFOU PG UIF SFUVSOFE TUBUVT PG UIF=

� EC�RVFSZ DBMM�

+HUH \RX DUH GHILQLQJ D IXQFWLRQ WR EH LQYRNHGZKHQ WKH GDWDEDVH RSHUDWLRQ LV FRPSOHWH� WKHQ SDVVLQJWKLV IXQFWLRQ DV D FDOOEDFN DUJXPHQW WR WKH GE TXHU\ RSHUDWLRQ� 7KH GE RSHUDWLRQ EHFRPHV UHVSRQVLEOHIRU H[HFXWLQJ WKH FDOOEDFN ZKHQ WKH UHVXOW LV DYDLODEOH�

<RX FDQ XVH DQ LQOLQH DQRQ\PRXV IXQFWLRQ WR H[SUHVV WKLV LQ D PRUH FRPSDFW IDVKLRQ�

� EC�RVFSZ�4&-&$5 � '30. QPTUT XIFSF JE � ��

� GVODUJPOQPTU \

� EP4PNFUIJOH8JUI1PTUQPTU� �� UIJT XJMM POMZ FYFDVUF XIFO UIF EC�RVFSZ GVODUJ=

� PO SFUVSOT�

� ^

� �

� EP4PNFUIJOH&MTF� �� UIJT XJMM FYFDVUF JOEFQFOEFOU PG UIF SFUVSOFE TUBUVT PG UIF=

� EC�RVFSZ DBMM�

:KLOH GE�TXHU\�� LV H[HFXWLQJ� WKH SURFHVV LV IUHH WR FRQWLQXH UXQQLQJ GR6RPHWKLQJ(OVH��� DQG HYHQVHUYLFH QHZ FOLHQW UHTXHVWV�

)RU TXLWH VRPH WLPH� WKH & V\VWHPV�SURJUDPPLQJ ٪KDFNHU٫ FRPPXQLW\ KDV NQRZQ WKDW HYHQW�GULYHQSURJUDPPLQJ LV WKH EHVW ZD\ WR VFDOH D VHUYHU WR KDQGOH PDQ\ FRQFXUUHQW FRQQHFWLRQV� ,W KDV EHHQNQRZQ WR EHPRUH HIILFLHQW UHJDUGLQJPHPRU\� OHVV FRQWH[W WR VWRUH� DQG WLPH� OHVV FRQWH[W�VZLWFKLQJ�

7KLV NQRZOHGJH KDV EHHQ LQILOWUDWLQJ RWKHU SODWIRUPV DQG FRPPXQLWLHV� VRPH RI WKH PRVW ZHOO�NQRZQ HYHQW ORRS LPSOHPHQWDWLRQV DUH 5XE\٧V (YHQW 0DFKLQH� 3HUO٧V $Q\(YHQW DQG 3\WKRQ٧V7ZLVWHG� DQG VRPH RWKHUV�

Page 17: Handson Nodejs

:K\" �

7LS� )RUPRUH LQIR DERXW HYHQW�GULYHQ VHUYHU LPSOHPHQWDWLRQV� VHH KWWS���HQ�ZLNLSHGLD�RUJ�ZLNL�5HDFWRUB�SDWWHUQڏ�

,PSOHPHQWLQJ DQ DSSOLFDWLRQ XVLQJ RQH RI WKHVH HYHQW�GULYHQ IUDPHZRUNV UHTXLUHV IUDPHZRUN�VSHFLILF NQRZOHGJH DQG IUDPHZRUN�VSHFLILF OLEUDULHV� )RU H[DPSOH� ZKHQ XVLQJ (YHQW 0DFKLQH� \RXPXVW DYRLG XVLQJ DOO WKH V\QFKURQRXV OLEUDULHV DYDLODEOH LQ 5XE\�ODQG �L�H� PRVW OLEUDULHV�� 7R JDLQWKH EHQHILW RI QRW EORFNLQJ� \RX DUH OLPLWHG WR XVLQJ OLEUDULHV WKDW DUH VSHFLILF IRU (YHQW 0DFKLQH� ,I\RX XVH EORFNLQJ OLEUDULHV� \RXU SURJUDP ZLOO QRW EH DEOH WR VFDOH RSWLPDOO\ EHFDXVH WKH HYHQW ORRS LVFRQVWDQWO\ EHLQJ EORFNHG� ZKLFK PD\ GHOD\ WKH SURFHVVLQJ RI ,�2 HYHQWV DQG PDNHV \RXU DSSOLFDWLRQVORZ� GHIHDWLQJ WKH RULJLQDO SXUSRVH RI XVLQJ HYHQW�GULYHQ ,�2�

1RGH KDV EHHQ GHYLVHG DV D QRQ�EORFNLQJ ,�2 VHUYHU SODWIRUP IURP GD\ RQH� ZKLFK PHDQV WKDW \RXVKRXOG H[SHFW HYHU\WKLQJ EXLOW RQ WRS RI LW WR EH QRQ�EORFNLQJ �ZLWK VRPH VSHFLILF DQG YHU\ H[SOLFLWH[FHSWLRQV�� 6LQFH -DYD6FULSW LWVHOI LV YHU\ PLQLPDO DQG GRHV QRW LPSRVH DQ\ ZD\ RI GRLQJ ,�2 �LWGRHV QRW KDYH D VWDQGDUG ,�2 OLEUDU\ OLNH &� 5XE\ RU 3\WKRQ�� 1RGH KDV D FOHDQ VODWH WR EXLOG XSRQ�

:K\ -DYD6FULSW"

5\DQ 'DKO EHJDQ WKLV SHW SURMHFW RI KLV E\ EXLOGLQJ D SODWIRUP WKDW ZDV SURJUDPPDEOH LQ &� EXW KHVRRQ UHDOL]HG WKDW PDLQWDLQLQJ WKH FRQWH[W EHWZHHQ FDOOEDFNV ZDV WRR FRPSOLFDWHG DQG FRXOG OHDGWR SRRUO\ VWUXFWXUHG FRGH� +H WKHQ WXUQHG WR /XD�

/XD DOUHDG\ KDV VHYHUDO EORFNLQJ ,�2 OLEUDULHV DQG WKH PL[ RI EORFNLQJ DQG QRQ�EORFNLQJ FRXOGFRQIXVH DYHUDJH GHYHORSHUV DQG SUHYHQW PDQ\ RI WKHP IURP EXLOGLQJ VFDODEOH DSSOLFDWLRQV� VR /XDZDVQ٧W LGHDO HLWKHU� 'DKO WKHQ WKRXJKW WR -DYD6FULSW�

-DYD6FULSW KDV FORVXUHV DQG ILUVW�FODVV IXQFWLRQV� PDNLQJ LW LQGHHG D SRZHUIXO PDWFK ZLWK HYHQWHG,�2 SURJUDPPLQJ�

&ORVXUHV DUH IXQFWLRQV WKDW LQKHULW WKH YDULDEOHV IURP WKHLU HQFORVLQJ HQYLURQPHQW� :KHQ D IXQFWLRQFDOOEDFN H[HFXWHV LW ZLOO PDJLFDOO\ UHPHPEHU WKH FRQWH[W LQ ZKLFK LW ZDV GHFODUHG� DORQJ ZLWK DOOWKH YDULDEOHV DYDLODEOH LQ WKDW FRQWH[W DQG DQ\ SDUHQW FRQWH[WV� 7KLV SRZHUIXO IHDWXUH LV DW WKH KHDUWRI 1RGH٧V VXFFHVV DPRQJ SURJUDPPLQJ FRPPXQLWLHV� /HW٧V VHH D OLWWOH ELW RI WKLV JRRGQHVV LQ DFWLRQ�

,Q WKH ZHE EURZVHU� LI \RX ZDQW WR OLVWHQ IRU DQ HYHQW� D EXWWRQ FOLFN IRU LQVWDQFH� \RX PD\ GRVRPHWKLQJ OLNH�

� WBS DMJDL$PVOU � ��

� EPDVNFOU�HFU&MFNFOU#Z*E�NZCVUUPO��PODMJDL � GVODUJPO \

� DMJDL$PVOU ���

� BMFSU�$MJDLFE � � DMJDL$PVOU � � UJNFT���

� ^�

RU� XVLQJ M4XHU\�

�KWWSڏ��HQ�ZLNLSHGLD�RUJ�ZLNL�5HDFWRUBSDWWHUQ

Page 18: Handson Nodejs

:K\" �

� WBS DMJDL$PVOU � ��

� ��CVUUPO�NZCVUUPO��DMJDLGVODUJPO \

� DMJDL$PVOU ���

� BMFSU�$MJDLFE � � DMJDL$PVOU � � UJNFT���

� ^�

,Q ERWK H[DPSOHV ZH DVVLJQ RU SDVV D IXQFWLRQ DV DQ DUJXPHQW� 7KLV IXQFWLRQ ZLOO WKHQ EH H[HFXWHGODWHU RQFH WKH UHOHYDQW HYHQW �EXWWRQ FOLFNLQJ LQ WKLV FDVH� KDSSHQV� 7KH FOLFN KDQGOLQJ IXQFWLRQ KDVDFFHVV WR HYHU\ YDULDEOH LQ VFRSH DW WKH SRLQW ZKHUH WKH IXQFWLRQ LV GHFODUHG� L�H� SUDFWLFDOO\ VSHDNLQJ�WKH FOLFN KDQGOHU KDV DFFHVV WR WKH FOLFN&RXQW YDULDEOH� GHFODUHG LQ WKH SDUHQW FORVXUH�

+HUH ZH DUH XVLQJ D JOREDO YDULDEOH� ٪FOLFN&RXQW٫� ZKHUH ZH VWRUH WKH QXPEHU RI WLPHV WKH XVHU KDVFOLFNHG D EXWWRQ� :H FDQ DOVR DYRLG KDYLQJ D JOREDO YDULDEOH DFFHVVLEOH WR WKH UHVW RI WKH V\VWHP�E\ ZUDSSLQJ LW LQVLGH DQRWKHU FORVXUH� PDNLQJ WKH FOLFN&RXQW YDULDEOH RQO\ DFFHVVLEOH ZLWKLQ WKHFORVXUH ZH FUHDWHG�

� GVODUJPO \

� WBS DMJDL$PVOU � ��

� ��CVUUPO�NZCVUUPO��DMJDLGVODUJPO \

� DMJDL$PVOU ���

� BMFSU�$MJDLFE � � DMJDL$PVOU � � UJNFT���

� ^�

� ^�

,Q OLQH � ZH DUH LQYRNLQJ D IXQFWLRQ LPPHGLDWHO\ DIWHU GHILQLQJ LW� ,I WKLV LV VWUDQJH WR \RX� GRQ٧WZRUU\� :H ZLOO FRYHU WKLV SDWWHUQ ODWHU�

+HUH \RX GRQ٧W KDYH WR ZRUU\ DERXW V\QFKURQL]DWLRQ� \RXU FDOOEDFN IXQFWLRQ ZLOO QRW EH LQWHUUXSWHGXQWLO LW UHWXUQV � \RX KDYH WKDW JXDUDQWHH�

+RZ Ζ /HDUQHG WR 6WRS )HDULQJ DQG /RYH -DYD6FULSW

-DYD6FULSW KDV JRRG DQG EDG SDUWV� ,W ZDV FUHDWHG LQ ���� E\ 1HWVFDSH٧V %UHQGDQ (LFK� LQ D UXVK WRVKLS WKH ODWHVW YHUVLRQ RI WKH 1HWVFDSH ZHE EURZVHU� 'XH WR WKLV UXVK VRPH JRRG� HYHQ ZRQGHUIXO�SDUWV JRW LQWR -DYD6FULSW� EXW DOVR VRPH EDG SDUWV�

7KLV ERRN ZLOO QRW FRYHU WKH GLVWLQFWLRQ EHWZHHQ -DYD6FULSW JRRG DQG EDG SDUWV� �)RU DOO ZH NQRZ� ZHZLOO RQO\ SURYLGH H[DPSOHV XVLQJ WKH JRRG SDUWV�� )RU PRUH RQ WKLV WRSLF \RX VKRXOG UHDG 'RXJODV&URFNIRUG ERRN QDPHG ٪-DYD6FULSW� 7KH *RRG 3DUWV٫� HGLWHG E\ 2٧5HLOO\�

Page 19: Handson Nodejs

:K\" �

,Q VSLWH RI LWV GUDZEDFNV� -DYD6FULSW TXLFNO\ � DQG VRPHZKDW XQSUHGLFWDEO\ � EHFDPH WKH GH�IDFWRODQJXDJH IRU ZHE EURZVHUV� %DFN WKHQ� -DYD6FULSW ZDV XVHG SULPDULO\ WR LQVSHFW DQG PDQLSXODWH+70/ GRFXPHQWV� DOORZLQJ WKH FUHDWLRQ WKH ILUVW G\QDPLF� FOLHQW�VLGH ZHE DSSOLFDWLRQV�

,Q ODWH ����� WKH :RUOG :LGH :HE &RQVRUWLXP �:�&�� VWDQGDUGL]HG WKH 'RFXPHQW 2EMHFW 0RGHO�'20�� DQ $3, GHYLVHG WR LQVSHFW DQG PDQLSXODWH +70/ GRFXPHQWV RQ WKH FOLHQW VLGH� ,Q UHVSRQVHWR -DYD6FULSW٧V TXLUNV DQG WKH LQLWLDO KDWUHG WRZDUGV WKH '20 $3,� -DYD6FULSW TXLFNO\ JDLQHG DEDG UHSXWDWLRQ� DOVR GXH WR VRPH LQFRPSDWLELOLWLHV EHWZHHQ EURZVHU YHQGRUV �DQG VRPHWLPHV HYHQEHWZHHQ SURGXFWV IURP WKH VDPH YHQGRU���

'HVSLWH PLOG WR IXOO�EORZQ KDWH LQ VRPH GHYHORSHU FRPPXQLWLHV� -DYD6FULSW EHFDPH ZLGHO\ DGRSWHG�)RU EHWWHU RU IRU ZRUVH� WRGD\ -DYD6FULSW LV WKH PRVW ZLGHO\ GHSOR\HG SURJUDPPLQJ ODQJXDJH RQSODQHW (DUWK ١ DQG JURZLQJ�

,I \RX OHDUQ WKH JRRG IHDWXUHV RI WKH ODQJXDJH � VXFK DV SURWRW\SLFDO LQKHULWDQFH� IXQFWLRQ FORVXUHV�HWF� � DQG OHDUQ WR DYRLG RU FLUFXPYHQW WKH EDG SDUWV� -DYD6FULSW FDQ EH D YHU\ SOHDVDQW ODQJXDJH WRZRUN LQ�

)XQFWLRQ 'HFODUDWLRQ 6W\OHV

$ IXQFWLRQ FDQ EH GHFODUHG LQ PDQ\ ZD\V LQ -DYD6FULSW� 7KH VLPSOHVW LV GHFODULQJ LW DQRQ\PRXVO\�

� GVODUJPO \

� DPOTPMF�MPH�IFMMP��

� ^

+HUH ZH GHFODUH D IXQFWLRQ� EXW LW٧V QRW RI PXFK XVH� EHFDXVH ZH GR QRW LQYRNH LW� :KDW٧V PRUH� ZHKDYH QR ZD\ WR LQYRNH LW DV LW KDV QR QDPH�

:H FDQ LQYRNH DQ DQRQ\PRXV IXQFWLRQ LQ�SODFH�

� GVODUJPO \

� DPOTPMF�MPH�IFMMP��

� ^�

+HUH ZH DUH H[HFXWLQJ WKH IXQFWLRQ LPPHGLDWHO\ DIWHU GHFODULQJ LW� 1RWLFH ZH ZUDS WKH HQWLUHIXQFWLRQ GHFODUDWLRQ LQ SDUHQWKHVLV�

:H FDQ DOVR QDPH IXQFWLRQV OLNH WKLV�

� GVODUJPO NZ'VODUJPO \

� DPOTPMF�MPH�IFMMP��

� ^

+HUH ZH DUH GHFODULQJ D QDPHG IXQFWLRQ ZLWK WKH QDPH� ٪P\)XQFWLRQ٫� P\)XQFWLRQ ZLOO EH DYDLODEOHLQVLGH WKH VFRSH LQ ZKLFK LW٧V GHFODUHG

Page 20: Handson Nodejs

:K\" �

� NZ'VODUJPO�

DQG DOVR ZLWKLQ LQQHU VFRSHV�

� GVODUJPO NZ'VODUJPO \

� DPOTPMF�MPH�IFMMP��

� ^

� GVODUJPO \

� NZ'VODUJPO�

� ^�

$ UHVXOW RI -DYD6FULSW WUHDWLQJ IXQFWLRQV DV ILUVW�FODVV REMHFWV PHDQV ZH FDQ DVVLJQ D IXQFWLRQ WR DYDULDEOH�

� WBS NZ'VOD � GVODUJPO \

� DPOTPMF�MPH�IFMMP��

� ^

7KLV IXQFWLRQ LV QRZ DYDLODEOH DV WKH YDOXH RI WKH P\)XQF YDULDEOH�

:H FDQ DVVLJQ WKDW IXQFWLRQ WR DQRWKHU YDULDEOH�

� WBS NZ'VOD� � NZ'VOD�

$QG LQYRNH WKHP MXVW OLNH DQ\ RWKHU IXQFWLRQ�

� NZ'VOD�

� NZ'VOD��

:H FDQ PL[ ERWK WHFKQLTXHV� KDYLQJ D QDPHG IXQFWLRQ VWRUHG LQ D YDULDEOH�

� WBS NZ'VOD� � GVODUJPO NZ'VOD \

� DPOTPMF�MPH�IFMMP��

� ^

� NZ'VOD��

�1RWH WKRXJK� ZH FDQQRW DFFHVV P\)XQF IURP RXWVLGH WKH VFRSH RI P\)XQF LWVHOI��

:H FDQ WKHQ XVH D YDULDEOH RU D IXQFWLRQ QDPH WR SDVV YDULDEOHV LQWR IXQFWLRQV OLNH WKLV�

Page 21: Handson Nodejs

:K\" ��

� WBS NZ'VOD � GVODUJPO \

� DPOTPMF�MPH�IFMMP��

� ^

� DPOTPMF�MPHNZ'VOD�

RU VLPSO\ GHFODUH LW LQOLQH LI ZH GRQ٧W QHHG LW IRU DQ\WKLQJ HOVH�

� DPOTPMF�MPHGVODUJPO \

� DPOTPMF�MPH�IFMMP��

� ^�

)XQFWLRQV DUH ILUVW�FODVV REMHFWV

,Q IDFW� WKHUH DUH QR VHFRQG�FODVV REMHFWV LQ -DYD6FULSW� -DYD6FULSW LV WKH XOWLPDWH REMHFW�RULHQWHGODQJXDJH� ZKHUH �DOPRVW� HYHU\WKLQJ LV LQGHHG� DQ REMHFW� $V WKDW� D IXQFWLRQ LV DQ REMHFW ZKHUH \RXFDQ VHW SURSHUWLHV� SDVV LW DURXQG LQVLGH DUJXPHQWV DQG UHWXUQ WKHP�

([DPSOH�

� WBS TDIFEVMFS � GVODUJPOUJNFPVU DBMMCBDLGVODUJPO \

� SFUVSO GVODUJPO \

� TFU5JNFPVUDBMMCBDLGVODUJPO UJNFPVU

� ^

� ^�

� GVODUJPO \

� WBS UJNFPVU � ����� �� � TFDPOE

� WBS DPVOU � ��

�� WBS TDIFEVMF � TDIFEVMFSUJNFPVU GVODUJPO EP4UVGG \

�� DPOTPMF�MPH�� DPVOU�

�� TDIFEVMF�

�� ^�

�� TDIFEVMF

�� ^�

��

�� �� áUJNFPVUá BOE áDPVOUá WBSJBCMFT

�� �� EP OPU FYJTU JO UIJT TDPQF�

,Q WKLV OLWWOH H[DPSOH ZH FUHDWH D IXQFWLRQ DQG VWRUH LW LQ D YDULDEOH FDOOHG ٪VFKHGXOHU٫ �VWDUWLQJ RQOLQH ��� 7KLV IXQFWLRQ UHWXUQV D IXQFWLRQ WKDW VHWV XS D WLPHU WKDW ZLOO H[HFXWH D JLYHQ IXQFWLRQ ZLWKLQD FHUWDLQ QXPEHU RI PLOLVHFRQGV �OLQH ��� 7KLV WLPHRXW ZLOO VFKHGXOH D FDOOEDFN IXQFWLRQ WR EH FDOOHGDIWHU D WLPH GHOD\ RI � VHFRQG� DV VSHFLILHG E\ WKH WLPHRXW YDULDEOH�

Page 22: Handson Nodejs

:K\" ��

,Q OLQH � ZH GHFODUH D IXQFWLRQ WKDW ZLOO LPPHGLDWHO\ EH H[HFXWHG LQ OLQH ��� 7KLV LV D QRUPDO ZD\WR FUHDWH QHZ VFRSHV LQ -DYD6FULSW� ,QVLGH WKLV VFRSH ZH FUHDWH � YDULDEOHV� ٪WLPHRXW٫ �OLQH �� DQG٪FRXQW٫ �OLQH ��� 1RWH WKDW WKHVH YDULDEOHV ZLOO QRW EH DFFHVVLEOH WR WKH RXWHU VFRSH�

7KHQ� RQ OLQH ��� ZH LQYRNH WKH VFKHGXOHU IXQFWLRQ� SDVVLQJ LQ WKH WLPHRXW YDOXH DV ILUVW DUJXPHQWDQG D IXQFWLRQ FDOOHG GR6WXII DV VHFRQG DUJXPHQW� 7KLV UHWXUQV D IXQFWLRQ WKDW ZH VWRUH LQ WKH ORFDOVFKHGXOH YDULDEOH� ZKLFK ZH ODWHU LQYRNH �OLQH ���� SURYRNLQJ WKH VHW7LPHRXW WR EH FDOOHG� :KHQ WKHWLPHRXW RFFXUV� WKLV IXQFWLRQ ZLOO LQFUHPHQW WKH YDULDEOH FRXQW DQG ORJ LW� DQG DOVR FDOO WKH VFKHGXOHDOO RYHU DJDLQ�

6R LQ WKLV VPDOO H[DPSOH ZH KDYH� IXQFWLRQV SDVVHG DV DUJXPHQW� IXQFWLRQV WR FUHDWH VFRSH� IXQFWLRQVWR VHUYH DV DV\QFKURQRXV FDOOEDFNV DQG UHWXUQLQJ IXQFWLRQV� :H DOVR KHUH SUHVHQW WKH QRWLRQV RIHQFDSVXODWLRQ �E\ KLGLQJ ORFDO YDULDEOHV IRUP WKH RXWVLGH VFRSH� DQG UHFXUVLRQ �WKH IXQFWLRQ LV FDOOLQJLWVHOI DW WKH HQG��

,Q -DYD6FULSW \RX FDQ HYHQ VHW DQG DFFHVV DWWULEXWHV LQ D IXQFWLRQ� VRPHWKLQJ OLNH WKLV�

� WBS NZ'VODUJPO � GVODUJPO \

� �� EP TPNFUIJOH DSB[Z

� ^�

� NZ'VODUJPO�TPNF1SPQFSUZ � �BCD��

� DPOTPMF�MPHNZ'VODUJPO�TPNF1SPQFSUZ�

� �� ��� áBCDá

-DYD6FULSW LV LQGHHG D SRZHUIXO ODQJXDJH� DQG LI \RX GRQ٧W DOUHDG\� \RX VKRXOG OHDUQ LW DQG HPEUDFHLWV JRRG SDUWV�

-6+LQW

,W٧V QRW WR EH FRYHUHG KHUH� EXW -DYD6FULSW LQGHHG KDV VRPH EDG SDUWV� DQG WKH\ VKRXOG EH DYRLGHG DWDOO FRVWV�

2QH WRRO WKDW٧V SURYHQ LQYDOXDEOH WR PH LV -6+LQW� -6+LQW DQDO\]HV \RXU -DYD6FULSW ILOH DQG RXWSXWV DVHULHV RI HUURUV DQG ZDUQLQJV� LQFOXGLQJ VRPH NQRZQ PLVXVHV RI -DYD6FULSW� VXFK DV XVLQJ JOREDOO\�VFRSHG YDULDEOHV �OLNH ZKHQ \RX IRUJHW WKH ٪YDU٫ NH\ZRUG�� DQG IUHH]LQJ YDOXHV LQVLGH LWHUDWLRQ WKDWKDYH FDOOEDFNV WKDW XVH WKHP� DQG PDQ\ RWKHUV WKDW DUH XVHIXO�

-+/LQW FDQ EH LQVWDOOHG XVLQJ

� � OQN JOTUBMM �H KTIJOU

,I \RX GRQ٧W KDYH 1RGH LQVWDOOHG VHH VHFWLRQ DERXW �ڐ130

DQG FDQ EH UXQ IURP WKH FRPPDQG OLQH OLNH WKLV�

LQGH[�KWPO�QSPڐ

Page 23: Handson Nodejs

:K\" ��

� � KTIJOU NZGJMF�KT

<RX FDQ DOVR GHILQH ZKDW UXOHV WKLV WRRO VKRXOG REH\ E\ GHILQLQJ DQG FXVWRPL]LQJ D �MVKLQWUF LQVLGH\RXU KRPH GLUHFWRU\� )RU PRUH LQIRUPDWLRQ RQ -6+LQW SOUHDVH UHIHU WR WKH RIILFLDO GRFXPHQWDWLRQ DWKWWS���ZZZ�MVKLQW�FRP�GRFVڑ��

-DYD6FULSW YHUVLRQV

-DYD6FULSW LV D VWDQGDUGZLWK LWV RZQ QDPH � (&0$6FULSW � DQG LW KDV JRQH WKURXJK YDULRXV LWHUDWLRQV�&XUUHQWO\ 1RGH QDWLYHO\ VXSSRUWV HYHU\WKLQJ WKH 9� -DYD6FULSW HQJLQH VXSSRUWV (&0$ �UG HGLWLRQDQG SDUWV RI WKH QHZ (&0$ �WK HGLWLRQ�

7KHVH SDUWV RI (&0$� DUH QLFHO\ GRFXPHQWHG RQ WKH IROORZLQJ JLWKXEZLNL SDJH� KWWSV���JLWKXE�FRP�MR\HQW�QRGH�ZLNL�(&0$���0R]LOOD�)HDWXUHV�,PSOHPHQWHG�LQ�9ڒ�

5HIHUHQFHV

(YHQW 0DFKLQH� KWWS���UXE\HYHQWPDFKLQH�FRPړ�

7ZLVWHG� KWWS���WZLVWHGPDWUL[�FRP�WUDFڔ�

$Q\(YHQW� KWWS���VRIWZDUH�VFKPRUS�GH�SNJ�$Q\(YHQW�KWPO{ڍ

-DYD6FULSW� WKH *RRG 3DUWV � 'RXJODV &URFNIRUG � 2٧5HLOO\ � KWWS���ZZZ�DPD]RQ�FRP�H[HF�RELGRV�$6,1������������ZUUUOGZLGHZHE{{

-6+LQW KWWS���ZZZ�MVKLQW�FRP�{t

�KWWSڑ��ZZZ�MVKLQW�FRP�GRFV��KWWSVڒ��JLWKXE�FRP�MR\HQW�QRGH�ZLNL�(&0$���0R]LOOD�)HDWXUHV�,PSOHPHQWHG�LQ�9��KWWSړ��UXE\HYHQWPDFKLQH�FRP��KWWSڔ��WZLVWHGPDWUL[�FRP�WUDF��KWWSڍ}��VRIWZDUH�VFKPRUS�GH�SNJ�$Q\(YHQW�KWPO{{KWWS���ZZZ�DPD]RQ�FRP�H[HF�RELGRV�$6,1������������ZUUUOGZLGHZHE{tKWWS���ZZZ�MVKLQW�FRP�

Page 24: Handson Nodejs

6WDUWLQJ XSΖQVWDOO 1RGH

,I \RX GRQ٧W KDYH WKH ODWHVW YHUVLRQ RI 1RGH�MV LQVWDOOHG LQ \RXU ORFDO PDFKLQH \RX VKRXOG GR WKDWQRZ� +HDG RXW WR KWWS���QRGHMV�RUJ{u DQG FOLFN RQ WKH ٪,QVWDOO٫ EXWWRQ�

'HSHQGLQJ RQ \RXU SODWIRUP� \RX ZLOO JHW D SDFNDJH LQVWDOOHU GRZQORDGHG WKDW \RX VKRXOG H[HFXWH WRLQVWDOO 1RGH� 7KLV ZRUNV LI \RX KDYH D 0DF26 RU D:LQGRZV PDFKLQH� ,I \RX٧UH RQ D /LQX[ ER[� \RXUGLVWULEXWLRQ SUREDEO\ VXSSRUWV WKH ODWHVW VWDEOH YHUVLRQ RI 1RGH�MV� EXW \RX FDQ DOZD\V GRZQORDG DQGEXLOG IURP WKH VRXUFH FRGH�

$IWHU \RX DUH GRQH� \RX VKRXOG EH DEOH WR UXQ WKH QRGH H[HFXWDEOH RQ WKH FRPPDQG OLQH�

� � OPEF �W

� W�������

7KH QRGH H[HFXWDEOH FDQ EH H[HFXWHG LQ WZR PDLQ IDVKLRQV� &/, �FRPPDQG�OLQH LQWHUIDFH� RU ILOH�

7R ODXQFK WKH &/,� MXVW W\SH� LQ WKH FRPPDQG OLQH�

� � OPEF

DQG \RX ZLOO JHW D -DYD6FULSW FRPPDQG OLQH SURPSW� ZKLFK \RX FDQ XVH WR HYDOXDWH -DYD6FULSW� ,W٧VJUHDW IRU NLFNLQJ WKH WLUHV DQG WU\LQJ RXW VRPH VWXII TXLFNO\�

<RX FDQ DOVR ODXQFK 1RGH RQ D ILOH� ZKLFK ZLOO PDNH 1RGH SDUVH DQG HYDOXDWH WKH -DYD6FULSW RQ WKDWILOH� DQG ZKHQ LW HQGV GRLQJ WKDW� LW HQWHUV WKH HYHQW ORRS� 2QFH LQVLGH WKH HYHQW ORRS� QRGH ZLOO H[LWLI LW KDV QRWKLQJ WR GR� RU ZLOO ZDLW DQG OLVWHQ IRU HYHQWV�

/HW٧V WKHQ FUHDWH RXU ILUVW +HOOR :RUOG +773 VHUYHU LQ 1RGH�MV LQVLGH D ILOH QDPHG IFMMP@XPSME�KT�

KHOORBZRUOG�MV�

{uKWWS���QRGHMV�RUJ

Page 25: Handson Nodejs

6WDUWLQJ XS ��

� WBS IUUQ � SFRVJSF�IUUQ��

� WBS TFSWFS � IUUQ�DSFBUF4FSWFS�

� TFSWFS�PO�SFRVFTU� GVODUJPOSFR SFT \

� SFT�FOE�)FMMP 8PSME�

� ^�

� TFSWFS�MJTUFO�����

<RX FDQ ODXQFK 1RGH RQ D ILOH OLNH WKLV�

� � OPEF IFMMP@XPSME�KT

1RZ� RSHQ D ZHE EURZVHU DQG SRLQW LW WR KWWS���ORFDOKRVW��ڏ}����

+HOOR :RUOG RQ WKH EURZVHU

�KWWSڏ}��ORFDOKRVW�����

Page 26: Handson Nodejs

8QGHUVWDQGLQJ8QGHUVWDQGLQJ WKH 1RGH HYHQW ORRS

1RGH PDNHV HYHQWHG ,�2 SURJUDPPLQJ VLPSOH DQG DFFHVVLEOH� SXWWLQJ VSHHG DQG VFDODELOLW\ RQ WKHILQJHUWLSV RI WKH FRPPRQ SURJUDPPHU�

%XW WKH HYHQW ORRS FRPHV ZLWK D SULFH� (YHQ WKRXJK \RX DUH QRW DZDUH RI LW �DQG 1RGH PDNHV DJRRG MRE DW WKLV�� \RX VKRXOG XQGHUVWDQG KRZ LW ZRUNV� (YHU\ JRRG SURJUDPPHU VKRXOG NQRZ WKHLQWULFDFLHV RI WKH SODWIRUPV KH � VKH LV EXLOGLQJ IRU� LWV GR٧V DQG GRQ٧WV� DQG LQ 1RGH LW VKRXOG EH QRGLIIHUHQW�

$Q HYHQW�TXHXH SURFHVVLQJ ORRS

<RX VKRXOG WKLQN RI WKH HYHQW ORRS DV D ORRS WKDW SURFHVVHV DQ HYHQW TXHXH� ,QWHUHVWLQJ HYHQWV KDSSHQ�DQG ZKHQ WKH\ GR� WKH\ JR LQ D TXHXH� ZDLWLQJ IRU WKHLU WXUQ WR EH SURFHVVHG� 7KHQ� WKHUH LV DQ HYHQWORRS SRSSLQJ RXW WKHVH HYHQWV� RQH E\ RQH� DQG LQYRNLQJ WKH DVVRFLDWHG FDOOEDFN IXQFWLRQV� RQH DW DWLPH� 7KH HYHQW ORRS SRSV RQH HYHQW RXW RI WKH TXHXH DQG LQYRNHV WKH DVVRFLDWHG FDOOEDFN� :KHQ WKHFDOOEDFN UHWXUQV� WKH HYHQW ORRS SRSV WKH QH[W HYHQW DQG LQYRNHV WKH DVVRFLDWHG FDOOEDFN IXQFWLRQ�:KHQ WKH HYHQW TXHXH LV HPSW\� WKH HYHQW ORRS ZDLWV IRU QHZ HYHQWV LI WKHUH DUH VRPH SHQGLQJ FDOOVRU VHUYHUV OLVWHQLQJ� RU MXVW TXLWV RI WKHUH DUH QRQH�

6R� OHW٧V MXPS LQWR RXU ILUVW 1RGH H[DPSOH� :ULWH D ILOH QDPHG KHOOR�MV ZLWK WKH IROORZLQJ FRQWHQW�

6RXUFH FRGH LQ FKDSWHUV�XQGHUVWDQGLQJ��BKHOOR�MV

� TFU5JNFPVUGVODUJPO \

� DPOTPMF�MPH�8PSME�

� ^ �����

� DPOTPMF�MPH�)FMMP��

5XQ LW XVLQJ WKH QRGH FRPPDQG OLQH WRRO�

� � OPEF IFMMP�KT

<RX VKRXOG VHH WKH ZRUG ٪+HOOR٫ ZULWWHQ RXW� DQG WKHQ� � VHFRQGV ODWHU� ٪:RUOG�٫� 6KRXOGQ٧W ٪:RUOG�٫KDYH EHHQ ZULWWHQ ILUVW VLQFH LW DSSHDUV ILUVW RQ WKH FRGH" 1R� DQG WR DQVZHU WKDW SURSHUO\ ZH PXVWDQDO\]H ZKDW KDSSHQV ZKHQ H[HFXWLQJ WKLV VPDOO SURJUDP�

Page 27: Handson Nodejs

8QGHUVWDQGLQJ ��

2Q OLQH � ZH GHFODUH DQ DQRQ\PRXV IXQFWLRQ WKDW SULQWV RXW ٪:RUOG�٫� 7KLV IXQFWLRQ� ZKLFK LV QRW\HW H[HFXWHG� LV SDVVHG LQ DV WKH ILUVW DUJXPHQW WR D VHW7LPHRXW FDOO� ZKLFK VFKHGXOHV WKLV IXQFWLRQWR UXQ DIWHU ���� PLOOLVHFRQGV KDYH SDVVHG� 7KHQ� RQ OLQH �� ZH RXWSXW ٪+HOOR٫ LQWR WKH FRQVROH�

7ZR VHFRQGV ODWHU WKH DQRQ\PRXV IXQFWLRQ ZH SDVVHG LQ DV DQ DUJXPHQW WR WKH VHW7LPHRXW FDOO LVLQYRNHG� SULQWLQJ ٪:RUOG�٫�

6R� WKH ILUVW DUJXPHQW WR WKH VHW7LPHRXW FDOO LV D IXQFWLRQ ZH FDOO D ٪FDOOEDFN٫� ,W٧V D IXQFWLRQ ZKLFKZLOO EH FDOOHG ODWHU� ZKHQ WKH HYHQW ZH VHW RXW WR OLVWHQ WR �LQ WKLV FDVH� D WLPH�RXW RI � VHFRQGV�RFFXUV�

:H FDQ DOVR SDVV FDOOEDFN IXQFWLRQV WR EH FDOOHG RQ HYHQWV OLNH ZKHQ D QHZ 7&3 FRQQHFWLRQ LVHVWDEOLVKHG� VRPH ILOH GDWD LV UHDG RU VRPH RWKHU W\SH RI ,�2 HYHQW�

$IWHU RXU FDOOEDFN LV LQYRNHG� SULQWLQJ ٪:RUOG٫� 1RGH XQGHUVWDQGV WKDW WKHUH LV QRWKLQJ PRUH WR GRDQG H[LWV�

&DOOEDFNV WKDW ZLOO JHQHUDWH HYHQWV

/HW٧V FRPSOLFDWH WKLV D ELW IXUWKHU� /HW٧V NHHS 1RGH EXV\ DQG NHHS RQ VFKHGXOLQJ FDOOEDFNV OLNH WKLV�

6RXUFH FRGH LQ FKDSWHUV�XQGHUVWDQGLQJ��BUHSHDW�MV

� GVODUJPO TDIFEVMF \

� TFU5JNFPVUGVODUJPO \

� DPOTPMF�MPH�)FMMP 8PSME�

� TDIFEVMF�

� ^ �����

� ^�

+HUH ZH DUH ZUDSSLQJ WKH ZKROH WKLQJ LQVLGH D IXQFWLRQ QDPHG ٪VFKHGXOH٫� DQG ZH DUH LQYRNLQJ LWLPPHGLDWHO\ DIWHU GHFODULQJ LW RQ OLQH �� 7KLV IXQFWLRQ ZLOO VFKHGXOH D FDOOEDFN WR H[HFXWH LQ � VHFRQG�7KLV FDOOEDFN� ZKHQ LQYRNHG� ZLOO SULQW ٪+HOOR :RUOG�٫ DQG WKHQ UXQ VFKHGXOH DJDLQ�

2Q HYHU\ FDOOEDFN ZH DUH UHJLVWHULQJ D QHZ RQH WR EH LQYRNHG RQH VHFRQG ODWHU� QHYHU OHWWLQJ 1RGHILQLVK DQG H[LW� 7KLV OLWWOH VFULSW ZLOO MXVW NHHS SULQWLQJ ٪+HOOR :RUOG٫�

'RQȇW EORFN�

1RGH٧V SULPDU\ FRQFHUQ DQG WKH PDLQ XVH FDVH IRU DQ HYHQW ORRS LV WR FUHDWH KLJKO\ VFDODEOH VHUYHUV�6LQFH DQ HYHQW ORRS UXQV LQ D VLQJOH WKUHDG� LW RQO\ SURFHVVHV WKH QH[W HYHQW ZKHQ WKH FDOOEDFN UHWXUQV�,I \RX FRXOG VHH WKH FDOO VWDFN RI D EXV\ 1RGH DSSOLFDWLRQ \RX ZRXOG VHH LW JRLQJ XS DQG GRZQ UHDOO\IDVW� LQYRNLQJ FDOOEDFNV DQG SLFNLQJ XS WKH QH[W HYHQW LQ TXHXH� %XW IRU WKLV WR ZRUN ZHOO \RX KDYHWR FOHDU WKH HYHQW ORRS DV IDVW DV \RX FDQ�

Page 28: Handson Nodejs

8QGHUVWDQGLQJ ��

7KHUH DUH WZR PDLQ FDWHJRULHV RI WKLQJV WKDW FDQ EORFN WKH HYHQW ORRS� V\QFKURQRXV ,�2 DQG ELJORRSV�

1RGH $3, LV QRW DOO DV\QFKURQRXV� 6RPH SDUWV RI LW DUH V\QFKURQRXV OLNH� IRU LQVWDQFH� VRPHILOH RSHUDWLRQV� 'RQ٧W ZRUU\� WKH\ DUH YHU\ ZHOO PDUNHG� WKH\ DOZD\V WHUPLQDWH LQ ٪6\QF٫ � OLNHIV�UHDG)LOH6\QF � � DQG WKH\ VKRXOG QRW EH XVHG� RU XVHG RQO\ ZKHQ LQLWLDOL]LQJ �PRUH DERXW WKDWODWHU�� 2Q D ZRUNLQJ VHUYHU \RX VKRXOG QHYHU XVH D EORFNLQJ ,�2 IXQFWLRQ LQVLGH D FDOOEDFN� VLQFH\RX٧UH EORFNLQJ WKH HYHQW ORRS DQG SUHYHQWLQJ RWKHU FDOOEDFNV � SUREDEO\ EHORQJLQJ WR RWKHU FOLHQWFRQQHFWLRQV � IURP EHLQJ VHUYHG� <RX٧OO MXVW EH LQFUHDVLQJ WKH UHVSRQVH ODWHQF\� GHFUHDVLQJ WKHUHVSRQVLYHQHVV RI \RXU VHUYLFH RU DSSOLFDWLRQ�

2QH IXQFWLRQ WKDW LV V\QFKURQRXV DQG GRHV QRW HQG LQ ٪6\QF٫ LV WKH ٪UHTXLUH٫ IXQFWLRQ� ZKLFK VKRXOGRQO\ EH XVHG ZKHQ LQLWLDOL]LQJ DQ DSS RU D PRGXOH� 7LS� 'RQ٧W SXW D UHTXLUH VWDWHPHQW LQVLGH DFDOOEDFN� VLQFH LW LV V\QFKURQRXV DQG WKXV ZLOO VORZ GRZQ \RXU HYHQW ORRS� 'R DOO \RXU UHTXLUH٧LQJGXULQJ WKH LQLWLDOL]DWLRQ SKDVH RI 1RGH DQG QRW LQVLGH DQ\ FDOOEDFN �ODWHU DGGUHVVHG��

7KH VHFRQG FDWHJRU\ RI EORFNLQJ VFHQDULRV LV ZKHQ \RX DUH SHUIRUPLQJ ORRSV WKDW WDNH D ORW RI WLPH�OLNH LWHUDWLQJ RYHU WKRXVDQGV RI REMHFWV RU GRLQJ FRPSOH[ &38 LQWHQVLYH� WLPH FRQVXPLQJ RSHUDWLRQVLQ PHPRU\� 7KHUH DUH VHYHUDO WHFKQLTXHV WKDW FDQ EH XVHG WR ZRUN DURXQG WKDW� ZKLFK ,٧OO FRYHU ODWHU�

+HUH LV D FDVH ZKHUH ZH SUHVHQW VRPH VLPSOH FRGH WKDW EORFNV WKH HYHQW ORRS�

� WBS PQFO � GBMTF�

� TFU5JNFPVUGVODUJPO \

� PQFO � USVF�

� ^ ����

� XIJMFàPQFO \

� �� XBJU

� ^

��

�� DPOTPMF�MPH�PQFOFE�

+HUH ZH DUH VHWWLQJ D WLPHRXW� RQ OLQH �� WKDW LQYRNHV D IXQFWLRQ WKDW ZLOO VHW WKH RSHQ YDULDEOH WRWUXH� 7KLV IXQFWLRQ LV VHW WR EH WULJJHUHG LQ RQH VHFRQG� 2Q OLQH � ZH DUH ZDLWLQJ IRU WKH YDULDEOH WREHFRPH WUXH�

:H FRXOG EH OHG WR EHOLHYH WKDW� LQ RQH VHFRQG WKH WLPHRXW ZLOO KDSSHQ DQG VHW RSHQ WR WUXH� DQG WKDWWKH ZKLOH ORRS ZLOO VWRS DQG WKDW ZH ZLOO JHW ٪RSHQHG�٫ �OLQH ��� SULQWHG�

%XW WKLV QHYHU KDSSHQV� 1RGH ZLOO QHYHU H[HFXWH WKH WLPHRXW FDOOEDFN EHFDXVH WKH HYHQW ORRS LV VWXFNRQ WKLV ZKLOH ORRS VWDUWHG RQ OLQH �� QHYHU JLYLQJ LW D FKDQFH WR SURFHVV WKH WLPHRXW HYHQW�

Page 29: Handson Nodejs

0RGXOHV DQG 1300RGXOHV

&OLHQW�VLGH -DYD6FULSW KDV D EDG UHSXWDWLRQ DOVR EHFDXVH RI WKH FRPPRQ QDPHVSDFH VKDUHG E\ DOOVFULSWV� ZKLFK FDQ OHDG WR FRQIOLFWV DQG VHFXULW\ OHDNV�

1RGH LPSOHPHQWV WKH &RPPRQ-6 PRGXOHV VWDQGDUG� ZKHUH HDFK PRGXOH LV VHSDUDWHG IURP WKH RWKHUPRGXOHV� KDYLQJ D VHSDUDWH QDPHVSDFH WR SOD\ ZLWK� DQG H[SRUWLQJ RQO\ WKH GHVLUHG SURSHUWLHV�

7R LQFOXGH DQ H[LVWLQJ PRGXOH \RX FDQ XVH WKH UHTXLUH IXQFWLRQ OLNH WKLV�

� WBS NPEVMF � SFRVJSF�NPEVMF@OBNF��

7KLV ZLOO IHWFK D PRGXOH WKDW ZDV LQVWDOOHG E\ 130 �PRUH DERXW 130 ODWHU�� ,I \RX ZDQW WR DXWKRUPRGXOHV �DV \RX VKRXOG ZKHQ EXLOGLQJ DQ DSSOLFDWLRQ�� \RX FDQ DOVR XVH WKH UHODWLYH QRWDWLRQ OLNHWKLV�

� WBS NPEVMF � SFRVJSFá��QBUI�UP�NPEVMF@OBNFá�

7KLV ZLOO IHWFK WKH PRGXOH IURP D SDWK UHODWLYH WR WKH FXUUHQW ILOH ZH DUH H[HFXWLQJ� :H ZLOO FRYHUFUHDWLQJ PRGXOHV LQ D ODWHU VHFWLRQ�

,Q WKLV IRUPDW \RX FDQ XVH DQ DEVROXWH SDWK �VWDUWLQJ ZLWK ٪�٫� RU D UHODWLYH RQH �VWDUWLQJ ZLWK ٪�٫��

0RGXOHV DUH ORDGHG RQO\ RQFH SHU SURFHVV� WKDW LV� ZKHQ \RX KDYH VHYHUDO UHTXLUH FDOOV WR WKH VDPHPRGXOH� 1RGH FDFKHV WKH UHTXLUH FDOO LI LW UHVROYHV WR WKH VDPH ILOH� :KLFK OHDGV XV WR WKH QH[W FKDSWHU�

+RZ 1RGH UHVROYHV D PRGXOH SDWK

6R� KRZ GRHV QRGH UHVROYH D FDOO WR ٪UHTXLUH�PRGXOHBSDWK�٫" +HUH LV WKH UHFLSH�

&RUH PRGXOHV

7KHUH DUH D OLVW RI FRUH PRGXOHV� ZKLFK 1RGH LQFOXGHV LQ WKH GLVWULEXWLRQ ELQDU\� ,I \RX UHTXLUH RQHRI WKRVH PRGXOHV� 1RGH MXVW UHWXUQV WKDW PRGXOH DQG WKH UHTXLUH�� HQGV�

0RGXOHV ZLWK FRPSOHWH RU UHODWLYH SDWK

,I WKH PRGXOH SDWK EHJLQV ZLWK ٪��٫ RU ٪�٫� 1RGH WULHV WR ORDG WKH PRGXOH DV D ILOH� ,I LW GRHV QRWVXFFHHG� LW WULHV WR ORDG WKH PRGXOH DV D GLUHFWRU\�

Page 30: Handson Nodejs

0RGXOHV DQG 130 ��

$V D ILOH

:KHQ ORDGLQJ DV D ILOH� LI WKH ILOH H[LVWV� 1RGH MXVW ORDGV LW DV -DYD6FULSW WH[W� ,I QRW� LW WULHV GRLQJ WKHVDPH E\ DSSHQGLQJ ٪�MV٫ WR WKH JLYHQ SDWK� ,I QRW� LW WULHV DSSHQGLQJ ٪�QRGH٫ DQG ORDG LW DV D ELQDU\DGG�RQ�

$V D GLUHFWRU\

,I DSSHQGLQJ ٪�SDFNDJH�MVRQ٫ LV D ILOH� WU\ ORDGLQJ WKH SDFNDJH GHILQLWLRQ DQG ORRN IRU D ٪PDLQ٫ ILHOG�7U\ WR ORDG LW DV D ILOH�

,I XQVXFFHVVIXO� WU\ WR ORDG LW E\ DSSHQGLQJ ٪�LQGH[٫ WR LW�

$V DQ LQVWDOOHG PRGXOH

,I WKH PRGXOH SDWK GRHV QRW EHJLQ ZLWK ٪�٫ RU ٪�٫ RU LI ORDGLQJ LW ZLWK FRPSOHWH RU UHODWLYH SDWKV GRHVQRW ZRUN� 1RGH WULHV WR ORDG WKH PRGXOH DV D PRGXOH WKDW ZDV SUHYLRXVO\ LQVWDOOHG� )RU WKDW LW DGGV٪�QRGHBPRGXOHV٫ WR WKH FXUUHQW GLUHFWRU\ DQG WULHV WR ORDG WKH PRGXOH IURP WKHUH� ,I LW GRHV QRWVXFFHHG LW WULHV DGGLQJ ٪�QRGHBPRGXOHV٫ WR WKH SDUHQW GLUHFWRU\ DQG ORDG WKH PRGXOH IURP WKHUH� ,ILW GRHV QRW VXFFHHG LW PRYHV DJDLQ WR WKH SDUHQW GLUHFWRU\ DQG VR RQ� XQWLO HLWKHU WKH PRGXOH LV IRXQGRU WKH URRW RI WKH WUHH LV IRXQG�

7KLV PHDQV WKDW \RX FDQ SXW \RXU 1RGH PRGXOHV LQWR \RXU DSS GLUHFWRU\� DQG 1RGH ZLOO ILQG WKRVH�

/DWHU ZH ZLOO VHH KRZ XVLQJ WKLV IHDWXUH WRJHWKHU ZLWK 130 ZH FDQ EXQGOH DQG ٪IUHH]H٫ \RXUDSSOLFDWLRQ GHSHQGHQFLHV�

$OVR \RX FDQ� IRU LQVWDQFH� KDYH D QRGHBPRGXOHV GLUHFWRU\ RQ WKH KRPH IROGHU RI HDFK XVHU� DQG VRRQ� 1RGH WULHV WR ORDG PRGXOHV IURP WKHVH GLUHFWRULHV� VWDUWLQJ ILUVW ZLWK WKH RQH WKDW LV FORVHVW XSWKH SDWK�

130 � 1RGH 3DFNDJH 0DQDJHU

130KDV EHFRPH WKH VWDQGDUG IRUPDQDJLQJ1RGH SDFNDJHV WKURXJKRXW WLPH� DQG WLJKW FROODERUDWLRQEHWZHHQ ,VDDF 6FKOXHWHU � WKH RULJLQDO DXWKRU RI 130 � DQG 5\DQ 'DKO � WKH DXWKRU DQG PDLQWDLQHURQ 1RGH � KDV IXUWKHU WLJKWHQHG WKLV UHODWLRQVKLS WR WKH SRLQW ZKHUH� VWDUWLQJ DW YHUVLRQ ������ 1RGHVXSSRUWV WKH SDFNDJH�MVRQ ILOH IRUPDW WR LQGLFDWH GHSHQGHQFLHV DQG SDFNDJH VWDUWLQJ ILOH� 130 LV DOVRLQVWDOOHG ZKHQ \RX LQVWDOO 1RGH�

*OREDO YV� /RFDO

130 KDV WZR IXQGDPHQWDOO\ GLIIHUHQW ZD\V RI ZRUNLQJ� ORFDO DQG JOREDO�

,Q WKH JOREDO PRGH� DOO SDFNDJHV DUH LQVWDOOHG LQVLGH D VKDUHG IROGHU� DQG \RX FDQ NHHS RQO\ RQHYHUVLRQ RI HDFK SDFNDJH�

Page 31: Handson Nodejs

0RGXOHV DQG 130 ��

,Q ORFDO PRGH \RX FDQ KDYH GLIIHUHQW LQVWDOOHG SDFNDJHV SHU GLUHFWRU\� ,Q WKLV PRGH 130 NHHSV DORFDO GLUHFWRU\ QDPHG ٪QRGHBPRGXOHV٫ ZKHUH LW NHHSV WKH ORFDO PRGXOHV LQVWDOOHG� %\ VZLWFKLQJGLUHFWRULHV \RX DUH LQVLGH GLIIHUHQW ORFDO FRQWH[WV WKDW FDQ KDYH GLIIHUHQW PRGXOHV LQVWDOOHG�

130 ZRUNV LQ ORFDO PRGH E\ GHIDXOW� 7R HQDEOH JOREDO PRGH \RX PXVW H[SOLFLWO\ XVH WKH ٪�J٫ VZLWFKWR DQ\ RI WKH IROORZLQJ FRPPDQGV�

130 FRPPDQGV

130 FDQ EH XVHG RQ WKH FRPPDQG OLQH� 7KH EDVLF FRPPDQGV DUH�

@

QSP OV >ILOWHU@

8VH WKLV WR VHH WKH OLVW RI DOO SDFNDJHV DQG WKHLU YHUVLRQV �QSP OV ZLWK QR ILOWHU�� RU ILOWHU E\ D WDJ�QSP ILOWHU WDJ�� ([DPSOHV�

/LVW DOO LQVWDOOHG SDFNDJHV�

� � OQN MT JOTUBMMFE

/LVW DOO VWDEOH SDFNDJHV�

� � OQN MT TUBCMF

<RX FDQ DOVR FRPELQH ILOWHUV�

� � OQN MT JOTUBMMFE TUBCMF

<RX FDQ DOVR XVH QSP OV WR VHDUFK E\ QDPH�

� � OQN MT GVH

�WKLV ZLOO UHWXUQ DOO SDFNDJHV WKDW KDYH ٪IXJ٫ LQVLGH LWV QDPH RU WDJV�

<RX FDQ DOVR TXHU\ LW E\ YHUVLRQ� SUHIL[HG ZLWK WKH ٪#٫ FKDUDFWHU�

� � OQN MT !���

@

QSP LQVWDOO SDFNDJH>#ILOWHUV@

:LWK WKLV FRPPDQG \RX FDQ LQVWDOO D SDFNDJH DQG DOO WKH SDFNDJHV LW GHSHQGV RQ�

7R LQVWDOO WKH ODWHVW YHUVLRQ RI D SDFNDJH GR�

Page 32: Handson Nodejs

0RGXOHV DQG 130 ��

� � OQN JOTUBMM QBDLBHF@OBNF

([DPSOH�

� � OQN JOTUBMM FYQSFTT

7R LQVWDOO D VSHFLILF YHUVLRQ RI D SDFNDJH GR�

� �OQN JOTUBMM QBDLBHF@OBNF!WFSTJPO

([DPSOH�

� � OQN JOTUBMM FYQSFTT!�����CFUB

7R LQVWDOO WKH ODWHVW ZLWKLQ D YHUVLRQ UDQJH \RX FDQ VSHFLI\� IRU LQVWDQFH�

� � OQN JOTUBMM FYQSFTT!������

� :PV DBO BMTP DPNCJOF NBOZ GJMUFST UP TFMFDU B TQFDJGJD WFSTJPO DPNCJOJOH WFSTJPO=

� SBOHF BOE � PS UBHT MJLF UIJT�

� � OQN JOTUBMM TBY!������

� "MM UIF BCPWF DPNNBOET JOTUBMM QBDLBHFT JOUP UIF MPDBM EJSFDUPSZ�5P JOTUBMM B QBD=

� LBHF HMPCBMMZ VTF UIF á�H á TXJUDI MJLF UIJT�

��

�� � OQN JOTUBMM �H FYQSFTT

>

SDFNDJHBQDPH>#YHUVLRQ@ QSP@@ٴ UP SDFNDJHBQDPH>#YHUVLRQ@ >SDFNDJHBQDPH>#YHUVLRQ@ @ٴ

8VH WKLV FRPPDQG WR XQLQVWDOO SDFNDJHV� ,I YHUVLRQV DUH RPLWWHG� WKHQ DOO WKH IRXQG YHUVLRQV DUHUHPRYHG�

([DPSOH�

� � OQN SN TBY

,I \RX ZLVK WR UHPRYH D SDFNDJH WKDW ZDV LQVWDOOHG JOREDOO\ \RX QHHG WR H[SOLFLWO\ XVH WKH ٪�J٫ VZLWFK�

Page 33: Handson Nodejs

0RGXOHV DQG 130 ��

� � OQN SN �H FYQSFTT

>

QSP@@ٴ@�< YLHZ >#@ @ٴ@�<<

7R YLHZ DOO RI D SDFNDJH LQIR� 'HIDXOWV WR WKH ODWHVW YHUVLRQ LI YHUVLRQ LV RPLWWHG�

9LHZ WKH ODWHVW LQIR RQ WKH ٪FRQQHFW٫ SDFNDJH�

� � OQN WJFX DPOOFDU

9LHZ LQIRUPDWLRQ DERXW D VSHFLILF YHUVLRQ�

� � OQN WJFX DPOOFDU!�����

)XUWKHU RQ ZH ZLOO ORRN PRUH LQWR 130 DQG KRZ LW FDQ KHOS XV EXQGOH DQG ٪IUHH]H٫ DSSOLFDWLRQGHSHQGHQFLHV�

7KH 3DFNDJH�MVRQ 0DQLIHVW

(DFK DSSOLFDWLRQ RU PRGXOH FDQ �DQG VKRXOG� KDYH D PDQLIHVW ILOH QDPHG QBDLBHF�KTPO DW LW٧V URRW�7KLV ILOHV WHOOV� DPRQJVW RWKHU WKLQJV� WKH QDPH RI WKH PRGXOH� WKH FXUUHQW YHUVLRQ RI LW DQG ZKDW LW٧VGHSHQGHQFLHV DUH�

,I D PRGXOH RU DSSOLFDWLRQ GHSHQGV RQ RWKHU PRGXOHV LW VKRXOG KDYH D QBDLBHF�KTPO ILOH DW LW٧V URRWVWDWLQJ ZKLFK PRGXOHV LW GHSHQGV RQ�

)RU LQVWDQFH� LI P\ DSSOLFDWLRQ LV QDPHG ٪P\DSS٫ DQG GHSHQGV RQ WKLUG�SDUW\ PRGXOHV SFRVFTU DQGBTZOD LW VKRXOG FRQWDLQ D SDFNDJH�MVRQ ILOH OLNH WKLV�

� \

� áOBNFá� áNZBQQá

� áWFSTJPOá� �����

� áEFQFOEFODJFTá� \

� áSFRVFTUá� á�á

� áBTZODá� á�á

� ^

� ^

7KLV PDQLIHVW VWDWHV WKDW WKLV DSSOLFDWLRQ GHSHQGV RQ DQ\ YHUVLRQ RI WKH PRGXOHV SFRVFTU DQG BTZOD�GHQRWHG E\ WKH � DV WKH YHUVLRQ VSHFLILFDWLRQ� 6KRXOG WKH DSSOLFDWLRQ UHO\ RQ VSHFLILF YHUVLRQV RI DQ\RI WKHVH PRGXOHV� LW VKRXOG VSHFLI\ WKH YHUVLRQ OLNH WKLV�

Page 34: Handson Nodejs

0RGXOHV DQG 130 ��

� \

� áOBNFá� áNZBQQá

� áWFSTJPOá� �����

� áEFQFOEFODJFTá� \

� áSFRVFTUá� á������á

� áBTZODá� á�����á

� ^

� ^

+HUH ZH٧UH W\LQJ WKH DSSOLFDWLRQ WR WKHVH WZR VSHFLILF YHUVLRQV� EXW ZH FDQ VHW WKH YHUVLRQVSHFLILFDWLRQ WR EH PRUH ORRVH�

� \

� áOBNFá� áNZBQQá

� áWFSTJPOá� �����

� áEFQFOEFODJFTá� \

� áSFRVFTUá� á�����Yá

� áBTZODá� á����Yá

� ^

� ^

,Q WKLV FDVH ZH٧UH VD\LQJ WKDW WKH DSSOLFDWLRQ GHSHQGV RQ UHTXHVW YHUVLRQ � �PDMRU� � �� �PLQRU�DQG WKDW DQ\ SDWFK YHUVLRQ LV DFFHSWDEOH� 7KH UHTXHVW YHUVLRQ ������� VKRXOG LW H[LVW� VDWLVILHV WKLVUHTXLUHPHQW� DV GRHV YHUVLRQ �������

,W٧V FRPPRQ SUDFWLVH WR GHSHQG RQ D VSHFLILF PDMRU DQG PLQRU YHUVLRQ DQG QRW VSHFLI\ WKH SDWFKYHUVLRQ� VLQFH SDWFK YHUVLRQV VKRXOG WKRHUHWLFDOO\ RQO\ VROYH LVVXHV�

,I \RX٧UH JRLQJ WR GHSOR\ \RXU DSSOLFDWLRQ LQWR VHYHUDO PDFKLQHV� FRQVLGHU VSHFLI\LQJ WKH H[DFWYHUVLRQ� SLQ GRZQ WKH PDMRU� PLQRU DQG SDWFK YHUVLRQV RI HDFK PRGXOH� 7KLV SUHYHQWV KDYLQJ WZRGLVWLQFW 1RGH SURFHVVHV UXQQLQJ GLIIHUHQW YHUVLRQV RI PRGXOHV WKDW PD\ FDXVH GLIIHUHQW EHKDYLRXU�SUHYHQWLQJ EXJV IURP EHLQJ HDVLO\ UHSURGXFHG DQG WUDFHG�

Page 35: Handson Nodejs

8WLOLWLHVFRQVROH

1RGH SURYLGHV D JOREDO ٪FRQVROH٫ REMHFW WR ZKLFK \RX FDQ RXWSXW VWULQJV XVLQJ�

� DPOTPMF�MPHá)FMMPá�

7KLV VLPSO\ RXWSXWV WKH VWULQJ LQWR WKH SURFHVV VWGRXW DIWHU IRUPDWWLQJ LW� <RX FDQ SDVV LQ� LQVWHDG RID VWULQJ� DQ REMHFW OLNH WKLV�

� WBS B � \�� USVF �� GBMTF^�

� DPOTPMF�MPHB� �� �� \ ���� USVF ���� GBMTF ^

,Q WKLV FDVH FRQVROH�ORJ RXWSXWV WKH REMHFW XVLQJ XWLO�LQVSHFW �FRYHUHG ODWHU��

<RX FDQ DOVR XVH VWULQJ LQWHUSRODWLRQ OLNH WKLV�

� WBS B � \�� USVF �� GBMTF^�

� DPOTPMF�MPH�5IJT JT B OVNCFS� �E BOE UIJT JT B TUSJOH� �T BOE UIJT JT BO PCKFD=

� U PVUQVUUFE BT +40/� �K� �� �)FMMP� B�

:KLFK RXWSXWV�

� 5IJT JT B OVNCFS� �� BOE UIJT JT B TUSJOH� )FMMP BOE UIJT JT BO PCKFDU PVUQVUUF=

� E BT +40/� \á�á�USVF á�á�GBMTF^

FRQVROH DOVR DOORZV \RX WR ZULWH LQWR WKH WKH VWGHUU XVLQJ�

� DPOTPMF�XBSOá8BSOJOHàá�

DQG WR SULQW D VWDFN WUDFH�

Page 36: Handson Nodejs

8WLOLWLHV ��

� DPOTPMF�USBDF�

� 5SBDF�

� BU <PCKFDU $POUFYU>����

� BU *OUFSGBDF� SFQM�KT�������

� BU *OUFSGBDF�FNJU FWFOUT�KT������

� BU *OUFSGBDF�@PO-JOF SFBEMJOF�KT�������

� BU *OUFSGBDF�@MJOF SFBEMJOF�KT������

� BU *OUFSGBDF�@UUZ8SJUF SFBEMJOF�KT�������

�� BU 3FBE4USFBN� SFBEMJOF�KT������

�� BU 3FBE4USFBN�FNJU FWFOUT�KT������

�� BU 3FBE4USFBN�@FNJU,FZ UUZ@QPTJY�KT�������

�� BU 3FBE4USFBN�PO%BUB UUZ@QPTJY�KT������

XWLO

1RGH KDV DQ XWLO PRGXOH ZKLFK EXQGOHV VRPH IXQFWLRQV OLNH�

� WBS VUJM � SFRVJSF�VUJM��

� VUJM�MPH�)FMMP��

ZKLFK RXWSXWV D WKH FXUUHQW WLPHVWDPS DQG WKH JLYHQ VWULQJ OLNH WKLV�

� �� .BS �������� � )FMMP

7KH LQVSHFW IXQFWLRQ LV D QLFH XWLOLW\ ZKLFK FDQ DLG LQ TXLFN GHEXJJLQJ E\ LQVSHFWLQJ DQG SULQWLQJDQ REMHFW SURSHUWLHV OLNH WKLV�

� WBS VUJM � SFRVJSF�VUJM��

� WBS B � \�� USVF �� GBMTF^�

� DPOTPMF�MPHVUJM�JOTQFDUB�

� �� �� \ ���� USVF ���� GBMTF ^

XWLO�LQVSHFW DFFHSWV PRUH DUJXPHQWV� ZKLFK DUH�

� VUJM�JOTQFDUPCKFDU TIPX)JEEFO EFQUI � � TIPX$PMPST�

Page 37: Handson Nodejs

8WLOLWLHV ��

WKH VHFRQG DUJXPHQW� VKRZ+LGGHQ VKRXOG EH WXUQHG RQ LI \RX ZLVK LQVSHFW WR VKRZ \RX QRQ�HQXPHUDEOH SURSHUWLHV� ZKLFK DUH SURSHUWLHV WKDW EHORQJ WR WKH REMHFW SURWRW\SH FKDLQ� QRW WKH REMHFWLWVHOI� GHSWK� WKH WKLUG DUJXPHQW� LV WKH GHIDXOW GHSWK RQ WKH REMHFW JUDSK LW VKRXOG VKRZ� 7KLV LV XVHIXOIRU LQVSHFWLQJ ODUJH REMHFWV� 7R UHFXUVH LQGHILQLWHO\� SDVV D QXOO YDOXH�

7LS� XWLO�LQVSHFW NHHSV WUDFN RI WKH YLVLWHG REMHFWV� VR FLUFXODU GHSHQGHQFLHV DUH QR SUREOHP� DQG ZLOODSSHDU DV ٪>&LUFXODU@٫ RQ WKH RXWSXWWHG VWULQJ�

7KH XWLO PRGXOH KDV VRPH RWKHU QLFHWLHV� VXFK DV LQKHULWDQFH� ZKLFK ZLOO EH FRYHUHG LQ D PRUHDSSURSULDWH FKDSWHU�

Page 38: Handson Nodejs

%XIIHUV1DWLYHO\� -DYD6FULSW LV QRW YHU\ JRRG DW KDQGOLQJ ELQDU\ GDWD� VR 1RGH DGGV D QDWLYH EXIIHULPSOHPHQWDWLRQ ZLWK D -DYD6FULSW ZD\ RI PDQLSXODWLQJ LW� ,W٧V WKH VWDQGDUG ZD\ LQ 1RGH WR WUDQVSRUWGDWD�

*HQHUDOO\� \RX FDQ SDVV EXIIHUV RQ HYHU\ 1RGH $3, UHTXLULQJ GDWD WR EH VHQW�$OVR� ZKHQ UHFHLYLQJ GDWD RQ D FDOOEDFN� \RX JHW D EXIIHU �H[FHSWZKHQ \RX VSHFLI\ D VWUHDP HQFRGLQJ�LQ ZKLFK FDVH \RX JHW D 6WULQJ��7KLV ZLOO EH FRYHUHG ODWHU�

<RX FDQ FUHDWH D %XIIHU IURP DQ 87)�� VWULQJ OLNH WKLV�

� WBS CVG � OFX #VGGFS�)FMMP 8PSME�

<RX FDQ DOVR FUHDWH D EXIIHU IURP VWULQJV ZLWK RWKHU HQFRGLQJV� DV ORQJ DV \RX SDVV LW DV WKH VHFRQGDUJXPHQW�

� WBS CVG � OFX #VGGFS��C��GEF���DF� �CBTF����

$FFHSWHG HQFRGLQJV DUH� ٪DVFLL٫� ٪XWI�٫ DQG ٪EDVH��٫�

RU \RX FDQ FUHDWH D QHZ HPSW\ EXIIHU ZLWK D VSHFLILF VL]H�

� WBS CVG � OFX #VGGFS�����

DQG \RX FDQ PDQLSXODWH LW�

� CVG<��> � ��� �� TFU CZUF �� UP ��

<RX FDQ DOVR FRQYHUW LW WR D 87)���HQFRGHG VWULQJ�

� WBS TUS � CVG�UP4USJOH�

RU LQWR D VWULQJ ZLWK DQ DOWHUQDWLYH HQFRGLQJ�

Page 39: Handson Nodejs

%XIIHUV ��

� WBS TUS � CVG�UP4USJOH�CBTF����

87)�� LV WKH GHIDXOW HQFRGLQJ IRU 1RGH� VR� LQ D JHQHUDO ZD\� LI \RX RPLW LW DV ZH GLG RQ WKHEXIIHU�WR6WULQJ�� FDOO� 87)�� ZLOO EH DVVXPHG�

6OLFH D EXIIHU

$ EXIIHU FDQ EH VOLFHG LQWR D VPDOOHU EXIIHU E\ XVLQJ WKH DSSURSULDWHO\ QDPHG VOLFH�� PHWKRG OLNHWKLV�

� WBS CVGGFS � OFX #VGGFS�UIJT JT UIF TUSJOH JO NZ CVGGFS��

� WBS TMJDF � CVGGFS�TMJDF�� ���

+HUH ZH DUH VOLFLQJ WKH RULJLQDO EXIIHU WKDW KDV �� E\WHV LQWR D QHZ EXIIHU WKDW KDV �� E\WHV HTXDO WRWKH ��WK WR ��WK E\WHV RQ WKH RULJLQDO EXIIHU�

1RWH WKDW WKH VOLFH IXQFWLRQ GRHV QRW FUHDWH QHZ EXIIHU PHPRU\� LW XVHV WKH RULJLQDO XQWRXFKHG EXIIHUXQGHUQHDWK�

7LS� ,I \RX DUH DIUDLG \RX ZLOO EH ZDVWLQJ SUHFLRXV PHPRU\ E\ NHHSLQJ WKH ROG EXIIHU DURXQG ZKHQVOLFLQJ LW� \RX FDQ FRS\ LW LQWR DQRWKHU OLNH WKLV�

&RS\ D EXIIHU

<RX FDQ FRS\ D SDUW RI D EXIIHU LQWR DQRWKHU SUH�DOORFDWHG EXIIHU OLNH WKLV�

� WBS CVGGFS � OFX #VGGFS�UIJT JT UIF TUSJOH JO NZ CVGGFS��

� WBS TMJDF � OFX #VGGFS���

� WBS UBSHFU4UBSU � �

� TPVSDF4UBSU � ��

� TPVSDF&OE � ���

� CVGGFS�DPQZTMJDF UBSHFU4UBSU TPVSDF4UBSU TPVSDF&OE�

+HUH ZH DUH FRS\LQJ SDUW RI EXIIHU LQWR VOLFH� EXW RQO\ SRVLWLRQV �� WKURXJK ���

%XIIHU ([HUFLVHV

([HUFLVH �

&UHDWH DQ XQLQLWLDOL]HG EXIIHU ZLWK ��� E\WHV OHQJWK DQG ILOO LW ZLWK E\WHV ZLWK YDOXHV VWDUWLQJ IURP� WR ��� $QG WKHQ SULQW LWV FRQWHQWV�

Page 40: Handson Nodejs

%XIIHUV ��

([HUFLVH �

'R ZKDW LV DVNHG RQ WKH SUHYLRXV H[HUFLVH DQG WKHQ VOLFH WKH EXIIHU ZLWK E\WHV UDQJLQJ �� WR ��� $QGWKHQ SULQW LW�

([HUFLVH �

'R ZKDW LV DVNHG RQ H[HUFLVH � DQG WKHQ FRS\ E\WHV UDQJLQJ �� WR �� LQWR D QHZ EXIIHU� $QG WKHQSULQW LW�

Page 41: Handson Nodejs

(YHQW (PLWWHU2Q 1RGH PDQ\ REMHFWV FDQ HPLW HYHQWV� )RU LQVWDQFH� D 7&3 VHUYHU FDQ HPLW D ٦FRQQHFW٧ HYHQW HYHU\WLPH D FOLHQW FRQQHFWV� 2U D ILOH VWUHDP UHTXHVW FDQ HPLW D ٦GDWD٧ HYHQW�

�DGG/LVWHQHU

<RX FDQ OLVWHQ IRU WKHVH HYHQWV E\ FDOOLQJ RQH RI WKHVH REMHFWV٧ ٪DGG/LVWHQHU٫ PHWKRG� SDVVLQJ LQ DFDOOEDFN IXQFWLRQ� )RU LQVWDQFH� D ILOH 5HDG6WUHDP FDQ HPLW D ٪GDWD٫ HYHQW HYHU\ WLPH WKHUH LV VRPHGDWD DYDLODEOH WR UHDG�

,QVWHDG RI XVLQJ WKH ٪DGG/LVWHQHU٫ IXQFWLRQ� \RX FDQ DOVR XVH WKH ٪RQ٫ PHWKRG� ZKLFK LV VLPSO\ DQDOLDV IRU ٪DGG/LVWHQHU٫�

� WBS GT � SFRVJSF�GT�� �� HFU UIF GT NPEVMF

� WBS SFBE4USFBN � GT�DSFBUF3FBE4USFBN��FUD�QBTTXE��

� SFBE4USFBN�PO�EBUB� GVODUJPOEBUB \

� DPOTPMF�MPHEBUB�

� ^�

� SFBE4USFBN�PO�FOE� GVODUJPO \

� DPOTPMF�MPH�GJMF FOEFE��

� ^�

+HUH ZH DUH ELQGLQJ WR WKH UHDG6WUHDP٧V ٪GDWD٫ DQG ٪HQG٫ HYHQWV� SDVVLQJ LQ FDOOEDFN IXQFWLRQV WRKDQGOH HDFK RI WKHVH FDVHV� :KHQ RQH RI WKHVH HYHQWV KDSSHQV� WKH UHDG6WUHDP ZLOO FDOO WKH FDOOEDFNIXQFWLRQ ZH SDVV LQ�

<RX FDQ HLWKHU SDVV LQ DQ DQRQ\PRXV IXQFWLRQ DV ZH DUH GRLQJ KHUH� RU \RX FDQ SDVV D IXQFWLRQ QDPHIRU D IXQFWLRQ DYDLODEOH RQ WKH FXUUHQW VFRSH� RU HYHQ D YDULDEOH FRQWDLQLQJ D IXQFWLRQ�

�RQFH

<RX PD\ DOVR ZDQW WR OLVWHQ IRU DQ HYHQW H[DFWO\ RQFH� )RU LQVWDQFH� LI \RX ZDQW WR OLVWHQ WR WKH ILUVWFRQQHFWLRQ RQ D VHUYHU� \RX VKRXOG GR VRPHWKLQJ OLNH WKLV�

Page 42: Handson Nodejs

(YHQW (PLWWHU ��

� TFSWFS�PODF�DPOOFDUJPO� GVODUJPO TUSFBN \

� DPOTPMF�MPH�"I XF IBWF PVS GJSTU VTFS�

� ^�

7KLV ZRUNV H[DFWO\ OLNH RXU ٪RQ٫ H[DPSOH� H[FHSW WKDW RXU FDOOEDFN IXQFWLRQ ZLOO EH FDOOHG DW PRVWRQFH� ,W KDV WKH VDPH HIIHFW DV WKH IROORZLQJ FRGH�

� GVODUJPO DPOO-JTUFOFSTUSFBN \

� DPOTPMF�MPH�"I XF IBWF PVS GJSTU VTFS�

� TFSWFS�SFNPWF-JTUFOFS�DPOOFDUJPO� DPOO-JTUFOFS�

� ^

� TFSWFS�PO�DPOOFDUJPO� DPOO-JTUFOFS�

+HUH ZH DUH XVLQJ UHPRYH/LVWHQHU� ZKLFK DOVR EHORQJV WR WKH (YHQW(PLWWHU SDWWHUQ� ,W DFFHSWV WKHHYHQW QDPH DQG WKH IXQFWLRQ LW VKRXOG UHPRYH�

�UHPRYH$OO/LVWHQHUV

,I \RX HYHU QHHG WR� \RX FDQ DOVR UHPRYH DOO OLVWHQHUV IRU DQ HYHQW IURP DQ (YHQW (PLWWHU E\ VLPSO\FDOOLQJ

� TFSWFS�SFNPWF"MM-JTUFOFST�DPOOFDUJPO��

&UHDWLQJ DQ (YHQW (PLWWHU

,I \RX DUH LQWHUHVWHG LQ XVLQJ WKLV (YHQW (PLWWHU SDWWHUQ � DQG \RX VKRXOG � WKURXJKRXW \RXUDSSOLFDWLRQ� \RX FDQ� <RX FDQ FUHDWH D SVHXGR�FODVV DQG PDNH LW LQKHULW IURP WKH (YHQW(PLWWHU OLNHWKLV�

� WBS &WFOU&NJUUFS � SFRVJSF�FWFOUT��&WFOU&NJUUFS

� VUJM � SFRVJSF�VUJM��

� �� )FSF JT UIF .Z$MBTT DPOTUSVDUPS�

� WBS .Z$MBTT � GVODUJPOPQUJPO� PQUJPO� \

� UIJT�PQUJPO� � PQUJPO��

� UIJT�PQUJPO� � PQUJPO��

� ^

�� VUJM�JOIFSJUT.Z$MBTT &WFOU&NJUUFS�

XWLO�LQKHULWV LV VHWWLQJ XS WKH SURWRW\SH FKDLQ VR WKDW \RX JHW WKH (YHQW(PLWWHU SURWRW\SH PHWKRGVDYDLODEOH WR \RXU 0\&ODVV LQVWDQFHV�

7KLV ZD\ LQVWDQFHV RI 0\&ODVV FDQ HPLW HYHQWV�

Page 43: Handson Nodejs

(YHQW (PLWWHU ��

� .Z$MBTT�QSPUPUZQF�TPNF.FUIPE � GVODUJPO \

� UIJT�FNJU�DVTUPN FWFOU� �TPNF BSHVNFOUT��

� ^

+HUH ZH DUH HPLWLQJ DQ HYHQW QDPHG ٪FXVWRP HYHQW٫� VHQGLQJ DOVR VRPH GDWD �٪VRPH DUJXPHQWV٫ LQWKLV FDVH��

1RZ FOLHQWV RI 0\&ODVV LQVWDQFHV FDQ OLVWHQ WR ٪FXVWRP HYHQW٫ HYHQWV OLNH WKLV�

� WBS NZ*OTUBODF � OFX .Z$MBTT� ��

� NZ*OTUBODF�PO�DVTUPN FWFOU� GVODUJPO \

� DPOTPMF�MPH�HPU B DVTUPN FWFOU�

� ^�

7LS� 7KH (YHQW (PLWWHU LV D QLFH ZD\ RI HQIRUFLQJ WKH GHFRXSOLQJ RI LQWHUIDFHV� D VRIWZDUH GHVLJQWHFKQLTXH WKDW LPSURYHV WKH LQGHSHQGHQFH IURP VSHFLILF LQWHUIDFHV� PDNLQJ \RXU FRGH PRUH IOH[LEOH�

(YHQW (PLWWHU ([HUFLVHV

([HUFLVH �

%XLOG D SVHXGR�FODVV QDPHG ٪7LFNHU٫ WKDW HPLWV D ٪WLFN٫ HYHQW HYHU\ � VHFRQG�

([HUFLVH �

%XLOG D VFULSW WKDW LQVWDQWLDWHV RQH 7LFNHU DQG ELQG WR WKH ٪WLFN٫ HYHQW� SULQWLQJ ٪7,&.٫ HYHU\ WLPHLW JHWV RQH�

Page 44: Handson Nodejs

7LPHUV1RGH LPSOHPHQWV WKH WLPHUV $3, DOVR IRXQG LQ ZHE EURZVHUV� 7KH RULJLQDO $3, LV D ELW TXLUN\� EXWLW KDVQ٧W EHHQ FKDQJHG IRU WKH VDNH RI FRQVLVWHQF\�

VHW7LPHRXW

VHW7LPHRXW OHWV \RX VFKHGXOH DQ DUELWUDU\ IXQFWLRQ WR EH H[HFXWHG LQ WKH IXWXUH� $Q H[DPSOH�

� WBS UJNFPVU � ����� �� � TFDPOET

� TFU5JNFPVUGVODUJPO \

� DPOTPMF�MPH�UJNFE PVU�

� ^ UJNFPVU�

7KLV FRGH ZLOO UHJLVWHU D IXQFWLRQ WR EH FDOOHG ZKHQ WKH WLPHRXW H[SLUHV� $JDLQ� DV LQ DQ\ SODFH LQ-DYD6FULSW� \RX FDQ SDVV LQ DQ LQOLQH IXQFWLRQ� WKH QDPH RI D IXQFWLRQ RU D YDULDEOH ZKRVH YDOXH LV DIXQFWLRQ�

<RX FDQ XVH VHW7LPHRXW ZLWK D WLPHRXW YDOXH RI � VR WKDW WKH IXQFWLRQ \RX SDVV JHWV H[HFXWHG VRPHWLPH DIWHU WKH VWDFN FOHDUV� EXW ZLWK QR ZDLWLQJ� 7KLV FDQ EH XVHG WR� IRU LQVWDQFH VFKHGXOH D IXQFWLRQWKDW GRHV QRW QHHG WR EH H[HFXWHG LPPHGLDWHO\�

7KLV ZDV D WULFN VRPHWLPHV XVHG RQ EURZVHU -DYD6FULSW� EXW� DV ZH ZLOO VHH� 1RGH٧V SURFHVV�QH[W7LFN��FDQ EH XVHG LQVWHDG RI WKLV� DQG LW٧V PRUH HIILFLHQW�

FOHDU7LPHRXW

VHW7LPHRXW UHWXUQV D WLPHRXW KDQGOH WKDW \RX FDQ XVH WR GLVDEOH LW OLNH WKLV�

� WBS UJNFPVU)BOEMF � TFU5JNFPVUGVODUJPO \ DPOTPMF�MPH�ZFIBB� ^ �����

� DMFBS5JNFPVUUJNFPVU)BOEMF�

+HUH WKH WLPHRXW ZLOO QHYHU H[HFXWH EHFDXVH ZH FOHDU LW ULJKW DIWHU ZH VHW LW�

$QRWKHU H[DPSOH�

6RXUFH FRGH LQ FKDSWHUV�WLPHUV�WLPHUVB��MV

Page 45: Handson Nodejs

7LPHUV ��

� WBS UJNFPVU" � TFU5JNFPVUGVODUJPO \

� DPOTPMF�MPH�UJNFPVU "��

� ^ �����

� WBS UJNFPVU# � TFU5JNFPVUGVODUJPO \

� DPOTPMF�MPH�UJNFPVU #��

� DMFBS5JNFPVUUJNFPVU"�

� ^ �����

+HUH ZH DUH VWDUWLQJ WZR WLPHUV� RQH ZLWK � VHFRQG �WLPHRXW%� DQG WKH RWKHU ZLWK � VHFRQGV�WLPHRXW$�� %XW WLPHRXW% �ZKLFK ILUHV ILUVW� XQVFKHGXOHV WLPHRXW$ RQ OLQH �� VR WLPHRXW$ QHYHUH[HFXWHV � DQG WKH SURJUDP H[LWV ULJKW DIWHU OLQH � LV H[HFXWHG�

VHWΖQWHUYDO

6HW LQWHUYDO LV VLPLODU WR VHW WLPHRXW� EXW VFKHGXOHV D JLYHQ IXQFWLRQ WR UXQ HYHU\ ; VHFRQGV OLNH WKLV�

6RXUFH FRGH LQ FKDSWHUV�WLPHUV�WLPHUVB��MV

� WBS QFSJPE � ����� �� � TFDPOE

� WBS JOUFSWBM � TFU*OUFSWBMGVODUJPO \

� DPOTPMF�MPH�UJDL��

� ^ QFSJPE�

7KLV ZLOO LQGHILQLWHO\ NHHS WKH FRQVROH ORJJLQJ ٪WLFN٫ XQOHVV \RX WHUPLQDWH 1RGH� <RX FDQ XQVFKHGXOHDQ LQWHUYDO E\ FDOOLQJ FOHDU,QWHUYDO�

FOHDUΖQWHUYDO

FOHDU,QWHUYDO XQVFKHGXOHV D UXQQLQJ LQWHUYDO �SUHYLRXVO\ VFKHGXOHG ZLWK VHW,QWHUYDO��

� WBS JOUFSWBM � TFU*OUFSWBM����DMFBS*OUFSWBMJOUFSWBM�

+HUH ZH DUH XVLQJ WKH VHW,QWHUYDO UHWXUQ YDOXH VWRUHG RQ WKH LQWHUYDO YDULDEOH WR XQVFKHGXOH LW RQOLQH ��

VHWΖPPHGLDWH

<RX FDQ DOVR VFKHGXOH D FDOOEDFN IXQFWLRQ WR UXQ RQ WKH QH[W UXQ RI WKH HYHQW ORRS� <RX FDQ XVH LWOLNH WKLV�

Page 46: Handson Nodejs

7LPHUV ��

� TFU*NNFEJBUFGVODUJPO \

� �� UIJT SVOT PO UIF OFYU FWFOU MPPQ

� DPOTPMF�MPH�ZBZ�

� ^�

$V ZH VDZ� WKLV PHWKRG LV SUHIHUHG WR VHW7LPHRXW�IQ� �� EHFDXVH LW LV PRUH HIILFLHQW�

(VFDSLQJ WKH HYHQW ORRS

2Q HDFK ORRS� WKH HYHQW ORRS H[HFXWHV WKH TXHXHG ,�2 HYHQWV VHTXHQWLDOO\ E\ FDOOLQJ WKH DVVRFLDWHGFDOOEDFNV� ,I� RQ DQ\ RI WKH FDOOEDFNV \RX WDNH WRR ORQJ� WKH HYHQW ORRS ZRQ٧W EH SURFHVVLQJ RWKHUSHQGLQJ ,�2 HYHQWV PHDQZKLOH� 7KLV FDQ OHDG WR DQ LQFUHDVHG ODWHQF\ LQ RXU DSSOLFDWLRQ RU VHUYLFH�:KHQ H[HFXWLQJ VRPHWKLQJ WKDW PD\ WDNH WRR ORQJ� \RX FDQ GHOD\ WKH H[HFXWLRQ XQWLO WKH QH[W HYHQWORRS� VR ZDLWLQJ HYHQWV ZLOO EH SURFHVVHG PHDQZKLOH� ,W٧V OLNH JRLQJ WR WKH EDFN RI WKH OLQH RQ DZDLWLQJ OLQH�

7R HVFDSH WKH FXUUHQW HYHQW ORRS \RX FDQ XVH VHW,PPHGLDWH�� OLNH WKLV�

� TFU*NNFEJBUFGVODUJPO \

� �� EP TPNFUIJOH

� ^�

<RX FDQ XVH WKLV WR GHOD\ SURFHVVLQJ WKDW GRHV QRW KDYH WR UXQ LPPHGLDWHO\� XQWLO WKH QH[W HYHQWORRS�

)RU LQVWDQFH� \RX PD\ QHHG WR UHPRYH D ILOH� EXW SHUKDSV \RX GRQ٧W QHHG WR GR LW EHIRUH UHSO\LQJ WRWKH FOLHQW� 6R� \RX FRXOG GR VRPHWKLQJ OLNH WKLV�

� TUSFBN�PO�EBUB� GVODUJPOEBUB \

� TUSFBN�FOE�NZ SFTQPOTF��

� TFU*NNFEJBUFGVODUJPO \

� GT�VOMJOL�QBUI�UP�GJMF��

� ^�

� ^�

$ QRWH RQ WDLO UHFXUVLRQ

/HW٧V VD\ \RX ZDQW WR VFKHGXOH D IXQFWLRQ WKDW GRHV VRPH ,�2 � OLNH SDUVLQJ D ORJ ILOH � WR H[HFXWHSHULRGLFDOO\� DQG \RX ZDQW WR JXDUDQWHH WKDW QR WZR RI WKRVH IXQFWLRQV DUH H[HFXWLQJ DW WKH VDPHWLPH� 7KH EHVW ZD\ LV QRW WR XVH D VHW,QWHUYDO� VLQFH \RX GRQ٧W KDYH WKDW JXDUDQWHH� 7KH LQWHUYDO ZLOOILUH UHJDUGOHVV RI ZKHWKHU WKH IXQFWLRQ KDV ILQLVKHG LWV GXW\ RU QRW�

6XSSRVLQJ WKHUH LV DQ DV\QFKURQRXV IXQFWLRQ FDOOHG ٪DV\QF٫ WKDW SHUIRUPV VRPH ,�2 DQG JHWV DFDOOEDFN WR EH LQYRNHG ZKHQ ILQLVKHG� :H ZDQW WR FDOO LW HYHU\ VHFRQG� VR�

Page 47: Handson Nodejs

7LPHUV ��

� WBS JOUFSWBM � ����� �� � TFDPOE

� TFU*OUFSWBMGVODUJPO \

� BTZODGVODUJPO \

� DPOTPMF�MPH�BTZOD JT EPOF�

� ^�

� ^ JOUFSWBM�

,I DQ\ WZR DV\QF�� FDOOV FDQ٧W RYHUODS� \RX DUH EHWWHU RII XVLQJ WDLO UHFXUVLRQ OLNH WKLV�

� WBS JOUFSWBM � ����� �� � TFDPOE

� GVODUJPO TDIFEVMF \

� TFU5JNFPVUGVODUJPO \

� BTZODGVODUJPO \

� DPOTPMF�MPH�BTZOD JT EPOF�

� TDIFEVMF�

� ^�

� ^ JOUFSWBM

� ^�

+HUH ZH DUH GHFODULQJ D IXQFWLRQ QDPHG VFKHGXOH �OLQH �� DQG ZH DUH LQYRNLQJ LW LPPHGLDWHO\ DIWHUZH DUH GHFODULQJ LW �OLQH ���

7KLV IXQFWLRQ VFKHGXOHV DQRWKHU IXQFWLRQ WR H[HFXWH ZLWKLQ RQH VHFRQG �OLQH � WR ��� 7KLV RWKHUIXQFWLRQ ZLOO WKHQ FDOO DV\QF�� �OLQH ��� DQG RQO\ ZKHQ DV\QF LV GRQH ZH VFKHGXOH D QHZ RQH E\FDOOLQJ VFKHGXOH�� DJDLQ �OLQH ��� WKLV WLPH LQVLGH WKH VFKHGXOH IXQFWLRQ� 7KLV ZD\ ZH FDQ EH VXUH WKDWQR WZR FDOOV WR DV\QF H[HFXWH VLPXOWDQHRXVO\ LQ WKLV FRQWH[W�

7KH GLIIHUHQFH LV WKDW ZH SUREDEO\ ZRQ٧W KDYH DV\QF FDOOHG HYHU\ VHFRQG �XQOHVV DV\QF WDNHV QR WLPHWR H[HFXWH�� EXW ZH ZLOO KDYH LW FDOOHG � VHFRQG DIWHU WKH ODVW RQH ILQLVKHG�

Page 48: Handson Nodejs

/RZ�OHYHO ILOH�V\VWHP1RGH KDV D QLFH VWUHDPLQJ $3, IRU GHDOLQJ ZLWK ILOHV LQ DQ DEVWUDFW ZD\� DV LI WKH\ ZHUH QHWZRUNVWUHDPV� EXW VRPHWLPHV \RX PLJKW QHHG WR JR GRZQ D OHYHO DQG GHDO ZLWK WKH ILOHV\VWHP LWVHOI�

)LUVW� D QLFH VHW RI XWLOLWLHV�

IV�VWDW DQG IV�IVWDW

<RX FDQ TXHU\ VRPH PHWD�LQIR RQ D ILOH �RU GLU� E\ XVLQJ IV�VWDW OLNH WKLV�

� WBS GT � SFRVJSF�GT��

� GT�TUBU��FUD�QBTTXE� GVODUJPOFSS TUBUT \

� JG FSS \DPOTPMF�MPHFSS�NFTTBHF� SFUVSO� ^

� DPOTPMF�MPHTUBUT�

� ��DPOTPMF�MPH�UIJT GJMF JT � � TUBUT�TJ[F � � CZUFT MPOH���

� ^�

,I \RX SULQW WKH VWDWV REMHFW LW ZLOO EH VRPHWKLQJ OLNH�

� \ EFW� ���������

� JOP� �����

� NPEF� �����

� OMJOL� �

� VJE� �

� HJE� �

� SEFW� �

� TJ[F� ����

� CMLTJ[F� ����

�� CMPDLT� �

�� BUJNF� 5IV �� .BS ���� �������� (.5

�� NUJNF� 5VF �� +VO ���� �������� (.5

�� DUJNF� 'SJ �� "VH ���� �������� (.5

�� ^

VWDWV LV D 6WDWV LQVWDQFH� ZLWK ZKLFK \RX FDQ FDOO�

Page 49: Handson Nodejs

/RZ�OHYHO ILOH�V\VWHP ��

� TUBUT�JT'JMF

� TUBUT�JT%JSFDUPSZ

� TUBUT�JT#MPDL%FWJDF

� TUBUT�JT$IBSBDUFS%FWJDF

� TUBUT�JT4ZNCPMJD-JOL

� TUBUT�JT'*'0

� TUBUT�JT4PDLFU

,I \RX KDYH D SODLQ ILOH GHVFULSWRU \RX FDQ XVH IV�IVWDW�ILOH'HVFULSWRU� FDOOEDFN� LQVWHDG�

0RUH DERXW ILOH GHVFULSWRUV ODWHU�

,I \RX DUH XVLQJ WKH ORZ�OHYHO ILOHV\VWHP $3, LQ 1RGH� \RX ZLOO JHW ILOH GHVFULSWRUV DV D ZD\ WRUHSUHVHQW ILOHV� 7KHVH ILOH GHVFULSWRUV DUH SODLQ LQWHJHU QXPEHUV WKDW UHSUHVHQW D ILOH LQ \RXU 1RGHSURFHVV� PXFK OLNH LQ & 326,; $3,V�

2SHQ D ILOH

<RX FDQ RSHQ D ILOH E\ XVLQJ IV�RSHQ OLNH WKLV�

� WBS GT � SFRVJSF�GT��

� GT�PQFO��QBUI�UP�GJMF� �S� GVODUJPOFSS GE \

� �� HPU GE

� ^�

7KH ILUVW DUJXPHQW WR IV�RSHQ LV WKH ILOH SDWK� 7KH VHFRQG DUJXPHQW FRQWDLQV WKH IODJV� LQGLFDWLQJ WKHPRGH LQ ZKLFK WKH ILOH LV WR EH RSHQHG� 7KH IODJV FDQ EH ٦U٧� ٦U�٧� ٦Z٧� ٦Z�٧� ٦D٧� RU ٦D�٧�

+HUH IROORZ WKH VHPDQWLFV IRU HDFK IODJ� WDNHQ IURP WKH IRSHQ PDQ SDJH�

U � 2SHQ WH[W ILOH IRU UHDGLQJ� 7KH VWUHDP LV SRVLWLRQHG DW WKH EHJLQQLQJ RI WKH ILOH� U� � 2SHQ IRU UHDGLQJ DQG ZULWLQJ� 7KH VWUHDP LV SRVLWLRQHG DW WKH EHJLQQLQJ RIWKH ILOH�

Z � 7UXQFDWH ILOH WR ]HUR OHQJWK RU FUHDWH WH[W ILOH IRU ZULWLQJ� 7KH VWUHDP LVSRVLWLRQHG DW WKH EHJLQQLQJ RI WKH ILOH�

Z� � 2SHQ IRU UHDGLQJ DQG ZULWLQJ� 7KH ILOH LV FUHDWHG LI LW GRHV QRW H[LVW� RWKHUZLVHLW LV WUXQFDWHG� 7KH VWUHDP LV SRVLWLRQHG DW WKH EHJLQQLQJ RI WKH ILOH�

D � 2SHQ IRU ZULWLQJ� 7KH ILOH LV FUHDWHG LI LW GRHV QRW H[LVW� 7KH VWUHDP LV SRVLWLRQHGDW WKH HQG RI WKH ILOH� 6XEVHTXHQW ZULWHV WR WKH ILOH ZLOO DOZD\V HQG XS DW WKH WKHQFXUUHQW HQG RI ILOH�

D� � 2SHQ IRU UHDGLQJ DQGZULWLQJ� 7KH ILOH LV FUHDWHG LI LW GRHV QRW H[LVW� 7KH VWUHDPLV SRVLWLRQHG DW WKH HQG RI WKH ILOH� 6XEVHTXHQW ZULWHV WR WKH ILOH ZLOO DOZD\V HQGXS DW WKH WKHQ FXUUHQW HQG RI ILOH�

2Q WKH FDOOEDFN IXQFWLRQ� \RX JHW D VHFRQG DUJXPHQW �IG�� ZKLFK LV D ILOH GHVFULSWRU� QRWKLQJ PRUHWKDQ DQ LQWHJHU WKDW LGHQWLILHV WKH RSHQ ILOH� ZKLFK \RX FDQ XVH OLNH D KDQGOHU WR UHDG DQG ZULWH IURP�

Page 50: Handson Nodejs

/RZ�OHYHO ILOH�V\VWHP ��

5HDG IURP D ILOH

2QFH LW٧V RSHQ� \RX FDQ DOVR UHDG IURP D ILOH OLNH WKLV�

6RXUFH FRGH LQ FKDSWHUV�IV�UHDG�MV

� WBS GT � SFRVJSF�GT��

� GT�PQFO��WBS�MPH�TZTUFN�MPH� �S� GVODUJPOFSS GE \

� JG FSS UISPX FSS�

� WBS SFBE#VGGFS � OFX #VGGFS����

� CVGGFS0GGTFU � �

� CVGGFS-FOHUI � SFBE#VGGFS�MFOHUI

� GJMF1PTJUJPO � ����

� GT�SFBEGE SFBE#VGGFS CVGGFS0GGTFU CVGGFS-FOHUI GJMF1PTJUJPO

�� GVODUJPOFSS SFBE#ZUFT \

�� JG FSS UISPX FSS�

�� DPOTPMF�MPH�KVTU SFBE � � SFBE#ZUFT � � CZUFT��

�� JG SFBE#ZUFT � � \

�� DPOTPMF�MPHSFBE#VGGFS�TMJDF� SFBE#ZUFT�

�� ^

�� ^�

�� ^�

+HUH ZH DUH RSHQLQJ WKH ILOH� DQG ZKHQ LW٧V RSHQHG ZH DUH DVNLQJ WR UHDG D FKXQN RI ���� E\WHV IURPLW� VWDUWLQJ DW SRVLWLRQ ��� �OLQH ��� 7KH ODVW DUJXPHQW WR WKH IV�UHDG FDOO LV D FDOOEDFN IXQFWLRQ �OLQH��� ZKLFK ZLOO EH LQYRNHG ZKHQ RQH RI WKH IROORZLQJ � KDSSHQV�

WKHUH LV DQ HUURU� VRPHWKLQJ KDV EHHQ UHDG RU QRWKLQJ FRXOG EH UHDG�

2Q WKH ILUVW DUJXPHQW� WKLV FDOOEDFN JHWV DQ HUURU LI WKHUH ZDV DQ RQH� RU QXOO� 2Q WKH VHFRQG DUJXPHQW�UHDG%\WHV� LW JHWV WKH QXPEHU RI E\WHV UHDG LQWR WKH EXIIHU� ,I WKH UHDG E\WHV LV ]HUR� WKH ILOH KDVUHDFKHG WKH HQG�

:ULWH LQWR D ILOH

7R ZULWH LQWR D ILOH GHVFULSWRU \RX FDQ XVH IV�ZULWH OLNH WKLV�

Page 51: Handson Nodejs

/RZ�OHYHO ILOH�V\VWHP ��

� WBS GT � SFRVJSF�GT��

� GT�PQFO��WBS�MPH�TZTUFN�MPH� �B� GVODUJPOFSS GE \

� WBS XSJUF#VGGFS � OFX #VGGFS�XSJUJOH UIJT TUSJOH�

� CVGGFS0GGTFU � �

� CVGGFS-FOHUI � XSJUF#VGGFS�MFOHUI

� GJMF1PTJUJPO � OVMM�

� GT�XSJUF

�� GE

�� XSJUF#VGGFS

�� CVGGFS0GGTFU

�� CVGGFS-FOHUI

�� GJMF1PTJUJPO

�� GVODUJPOFSS XSJUUFO \

�� JG FSS \ UISPX FSS� ^

�� DPOTPMF�MPH�XSPUF � � XSJUUFO � � CZUFT��

�� ^

�� �

�� ^�

+HUH ZH DUH RSHQLQJ WKH ILOH LQ DSSHQG�PRGH �٦D٧� RQ OLQH �� DQG WKHQ ZH DUH ZULWLQJ LQWR LW �OLQH ���SDVVLQJ LQ D EXIIHU ZLWK WKH GDWD ZH ZDQW ZULWWHQ� DQ RIIVHW LQVLGH WKH EXIIHU ZKHUH ZH ZDQW WR VWDUWZULWLQJ IURP� WKH OHQJWK RI ZKDW ZH ZDQW WR ZULWH� WKH ILOH SRVLWLRQ DQG D FDOOEDFN� ,Q WKLV FDVH ZHDUH SDVVLQJ LQ D ILOH SRVLWLRQ RI QXOO� ZKLFK LV WR VD\ WKDW KH ZULWHV DW WKH FXUUHQW ILOH SRVLWLRQ� +HUHZH DUH DOVR RSHQLQJ LQ DSSHQG�PRGH� VR WKH ILOH FXUVRU LV SRVLWLRQHG DW WKH HQG RI WKH ILOH�

&ORVH <RXU ILOHV

2Q DOO WKHVH H[DPSOHV ZH GLG QRW FORVH WKH ILOHV� 7KLV LV EHFDXVH WKHVH DUH VPDOO VLPSOH H[DPSOHVGHVWLQHG WR EH UXQ DQG UHWXUQHG� $OO RSHQ ILOHV ZLOO EH FORVHG RQFH WKH SURFHVV H[LWV�

,Q UHDO DSSOLFDWLRQV \RX VKRXOG NHHS WUDFN RI WKRVH ILOH GHVFULSWRUV DQG HYHQWXDOO\ FORVH WKHP XVLQJIV�FORVH�IG>� FDOOEDFN@� ZKHQ QR ORQJHU QHHGHG�

)LOH�V\VWHP ([HUFLVHV

<RX FDQ FKHFN RXW WKH VROXWLRQV DW WKH HQG RI WKLV ERRN�

([HUFLVH � � JHW WKH VL]H RI D ILOH

+DYLQJ D ILOH QDPHG D�W[W� SULQW WKH VL]H RI WKDW ILOHV LQ E\WHV�

Page 52: Handson Nodejs

/RZ�OHYHO ILOH�V\VWHP ��

([HUFLVH � � UHDG D FKXQN IURP D ILOH

+DYLQJ D ILOH QDPHG D�W[W� SULQW E\WHV �� WR ���

([HUFLVH � � UHDG WZR FKXQNV IURP D ILOH

+DYLQJ D ILOH QDPHG D�W[W� SULQW E\WHV � WR �� DQG ZKHQ GRQH� UHDG E\WHV �� WR ���

([HUFLVH � � 2YHUZULWH D ILOH

+DYLQJ D ILOH QDPHG D�W[W� 2YHUZULWH LW ZLWK WKH 87)���HQFRGHG VWULQJ ٪$%&'()*+,-/./012345678�9;<=����������DEFGHIJKLMNOPQRSTUVWXY[\]٫�

([HUFLVH � � DSSHQG WR D ILOH

+DYLQJ D ILOH QDPHG D�W[W� DSSHQG 87)���HQFRGHG VWULQJ ٪DEF٫ WR ILOH D�W[W�

([HUFLVH � � FKDQJH WKH FRQWHQW RI D ILOH

+DYLQJ D ILOH QDPHG D�W[W� FKDQJH E\WH DW SRV �� WR WKH 87)�� YDOXH RI ٪�٫�

Page 53: Handson Nodejs

+773+773 6HUYHU

<RX FDQ HDVLO\ FUHDWH DQ +773 VHUYHU LQ 1RGH� +HUH LV WKH IDPRXV KWWS VHUYHU ٪+HOOR:RUOG٫ H[DPSOH�

6RXUFH LQ ILOH�KWWS�KWWSBVHUYHUB��MV

� WBS IUUQ � SFRVJSF�IUUQ��

� WBS TFSWFS � IUUQ�DSFBUF4FSWFS�

� TFSWFS�PO�SFRVFTU� GVODUJPOSFR SFT \

� SFT�XSJUF)FBE��� \�$POUFOU�5ZQF�� �UFYU�QMBJO�^�

� SFT�XSJUF�)FMMP 8PSME�

� SFT�FOE�

� ^�

� TFSWFS�MJTUFO�����

2Q OLQH � ZH JHW WKH ٦KWWS٧ PRGXOH� IURP ZKLFK ZH FDOO FUHDWH6HUYHU�� �OLQH �� WR FUHDWH DQ +773VHUYHU�

:H WKHQ OLVWHQ IRU ٦UHTXHVW٧ W\SH HYHQWV� SDVVLQJ LQ D FDOOEDFN IXQFWLRQ WKDW WDNHV WZR DUJXPHQWV�WKH UHTXHVW REMHFW DQG WKH UHVSRQVH REMHFW� :H FDQ WKHQ XVH WKH UHVSRQVH REMHFW WR ZULWH EDFN WR WKHFOLHQW�

2Q OLQH � ZH ZULWH D KHDGHU �&RQWHQW7\SH� WH[W�SODLQ� DQG WKH +773 VWDWXV ��� �2.��2Q OLQH � ZH UHSO\ ZLWK WKH VWULQJ ٪+HOOR :RUOG�٫ DQG RQ OLQH � ZH WHUPLQDWH WKH UHTXHVW�2Q OLQH � ZH ELQG WKH VHUYHU WR WKH SRUW �����6R� LI \RX UXQ WKLV VFULSW RQ QRGH \RX FDQ WKHQ SRLQW \RXU EURZVHU WR KWWS���ORFDOKRVW����� DQG \RXVKRXOG VHH WKH ٪+HOOR :RUOG�٫ VWULQJ RQ LW�

7KLV H[DPSOH FDQ EH VKRUWHQHG WR�

6RXUFH LQ ILOH�KWWS�KWWSBVHUYHUB��MV

Page 54: Handson Nodejs

+773 ��

� SFRVJSF�IUUQ��DSFBUF4FSWFSGVODUJPOSFR SFT \

� SFT�XSJUF)FBE��� \�$POUFOU�5ZQF�� �UFYU�QMBJO�^�

� SFT�FOE�)FMMP 8PSME�

� ^�MJTUFO�����

+HUH ZH DUH JLYLQJ XS WKH LQWHUPHGLDU\ YDULDEOHV IRU VWRULQJ WKH KWWS PRGXOH �VLQFH ZH RQO\ QHHGWR FDOO LW RQFH� DQG WKH VHUYHU �VLQFH ZH RQO\ QHHG WR PDNH LW OLVWHQ RQ SRUW ������ $OVR� DV D VKRUWFXW�WKH KWWS�FUHDWH6HUYHU IXQFWLRQ DFFHSWV D FDOOEDFN IXQFWLRQ WKDW ZLOO EH LQYRNHG RQ HYHU\ UHTXHVW�

7KHUH LV RQH ODVW VKRUWFXW KHUH� WKH UHVSRQVH�HQG IXQFWLRQ FDQ DFFHSW D VWULQJ RU EXIIHU ZKLFK LW ZLOOVHQG WR WKH FOLHQW EHIRUH HQGLQJ WKH UHTXHVW�

7KH KWWS�6HUYHU5HTXHVW REMHFW

:KHQ OLVWHQLQJ IRU ٪UHTXHVW٫ HYHQWV� WKH FDOOEDFN JHWV RQH RI WKHVH REMHFWV DV WKH ILUVW DUJXPHQW� 7KLVREMHFW FRQWDLQV�

UHT�XUO

7KH 85/ RI WKH UHTXHVW� DV D VWULQJ� ,W GRHV QRW FRQWDLQ WKH VFKHPD� KRVWQDPH RU SRUW� EXW LW FRQWDLQVHYHU\WKLQJ DIWHU WKDW� <RX FDQ WU\ WKLV WR DQDO\]H WKH XUO�

6RXUFH LQ ILOH�KWWS�KWWSBVHUYHUB��MV

� SFRVJSF�IUUQ��DSFBUF4FSWFSGVODUJPOSFR SFT \

� SFT�XSJUF)FBE��� \�$POUFOU�5ZQF�� �UFYU�QMBJO�^�

� SFT�FOESFR�VSM�

� ^�MJTUFO�����

DQG FRQQHFW WR SRUW ���� XVLQJ D EURZVHU� &KDQJH WKH 85/ WR VHH KRZ LW EHKDYHV�

UHT�PHWKRG

7KLV FRQWDLQV WKH +773PHWKRG XVHG RQ WKH UHTXHVW� ,W FDQ EH� IRU H[DPSOH� ٦*(7٧� ٦3267٧� ٦'(/(7(٧RU DQ\ RWKHU RQH�

UHT�KHDGHUV

7KLV FRQWDLQV DQ REMHFW ZLWK D SURSHUW\ IRU HYHU\ +773 KHDGHU RQ WKH UHTXHVW� 7R DQDO\]H LW \RXFDQ UXQ WKLV VHUYHU�

6RXUFH LQ ILOH�KWWS�KWWSBVHUYHUB��MV

Page 55: Handson Nodejs

+773 ��

� WBS VUJM � SFRVJSF�VUJM��

� SFRVJSF�IUUQ��DSFBUF4FSWFSGVODUJPOSFR SFT \

� SFT�XSJUF)FBE��� \�$POUFOU�5ZQF�� �UFYU�QMBJO�^�

� SFT�FOEVUJM�JOTQFDUSFR�IFBEFST�

� ^�MJTUFO�����

DQG FRQQHFW \RXU EURZVHU WR SRUW ���� WR LQVSHFW WKH KHDGHUV RI \RXU UHTXHVW�

+HUH ZH DUH XVLQJ XWLO�LQVSHFW��� DQ XWLOLW\ IXQFWLRQ WKDW FDQ EH XVHG WR DQDO\]H WKH SURSHUWLHV RI DQ\REMHFW�

UHT�KHDGHUV SURSHUWLHV QDPHV DUH ORZHU�FDVH� )RU LQVWDQFH� LI WKH EURZVHU VHQW D ٪&DFKH�&RQWURO�PD[�DJH� �٫ KHDGHU� UHT�KHDGHUV ZLOO KDYH D SURSHUW\ QDPHG ٪FDFKH�FRQWURO٫ ZLWK WKH YDOXH ٪PD[�DJH� �٫ �WKLV ODVW RQH LV XQWRXFKHG��

7KH KWWS�6HUYHU5HVSRQVH REMHFW

7KH UHVSRQVH REMHFW �WKH VHFRQG DUJXPHQW IRU WKH ٪UHTXHVW٫ HYHQW FDOOEDFN IXQFWLRQ� LV XVHG WR UHSO\WR WKH FOLHQW� :LWK LW \RX FDQ�

:ULWH D KHDGHU <RX FDQ XVH UHV�ZULWH+HDG�VWDWXV� KHDGHUV�� ZKHUH KHDGHUV LV DQ REMHFW WKDWFRQWDLQV D SURSHUW\ IRU HYHU\ KHDGHU \RX ZDQW WR VHQG�

$Q H[DPSOH�

6RXUFH LQ ILOH�KWWS�KWWSBVHUYHUB��MV

� WBS VUJM � SFRVJSF�VUJM��

� SFRVJSF�IUUQ��DSFBUF4FSWFSGVODUJPOSFR SFT \

� SFT�XSJUF)FBE��� \

� �$POUFOU�5ZQF�� �UFYU�QMBJO�

� �$BDIF�$POUSPM�� �NBY�BHF������

� ^�

� SFT�FOE�)FMMP 8PSME�

� ^�MJTUFO�����

,Q WKLV H[DPSOH ZH VHW � KHDGHUV� RQH ZLWK ٪&RQWHQW�7\SH� WH[W�SODLQ٫ DQG DQRWKHU ZLWK ٪&DFKH�&RQWURO� PD[�DJH ����٫�

,I \RX VDYH WKH DERYH VRXUFH FRGH LQWR KWWSBVHUYHUB��MV DQG UXQ LW ZLWK�

Page 56: Handson Nodejs

+773 ��

� � OPEF IUUQ@TFSWFS@��KT

<RX FDQ TXHU\ LW E\ XVLQJ \RXU EURZVHU RU XVLQJ D FRPPDQG�OLQH +773 FOLHQW OLNH FXUO�

� � DVSM �J IUUQ���MPDBMIPTU�����

� )551���� ��� 0,

� $POUFOU�5ZQF� UFYU�QMBJO

� $BDIF�$POUSPM� NBY�BHF�����

� $POOFDUJPO� LFFQ�BMJWF

� 5SBOTGFS�&ODPEJOH� DIVOLFE

� )FMMP 8PSMEà

&KDQJH RU VHW D KHDGHU <RX FDQ FKDQJH D KHDGHU \RX DOUHDG\ VHW RU VHW D QHZ RQH E\ XVLQJ

� SFT�TFU)FBEFSOBNF WBMVF�

7KLV ZLOO RQO\ ZRUN LI \RX KDYHQ٧W DOUHDG\ VHQW D SLHFH RI WKH ERG\ E\ XVLQJ UHV�ZULWH���

5HPRYH D KHDGHU <RX FDQ UHPRYH D KHDGHU \RX KDYH DOUHDG\ VHW E\ FDOOLQJ�

� SFT�SFNPWF)FBEFSOBNF WBMVF�

$JDLQ� WKLV ZLOO RQO\ ZRUN LI \RX KDYHQ٧W DOUHDG\ VHQW D SLHFH RI WKH ERG\ E\ XVLQJ UHV�ZULWH�� RUUHV�HQG���

:ULWH D SLHFH RI WKH UHVSRQVH ERG\ <RX FDQ ZULWH D VWULQJ�

� SFT�XSJUF�)FMMP��

RU DQ H[LVWLQJ EXIIHU�

� WBS CVG � OFX #VGGFS�)FMMP 8PSME��

� CVG<�> � ���

� SFT�XSJUFCVGGFS�

7KLV PHWKRG FDQ� DV H[SHFWHG� EH XVHG WR UHSO\ ZLWK G\QDPLFDOO\ JHQHUDWHG VWULQJV RU D ELQDU\ ILOH�5HSO\LQJ ZLWK ELQDU\ GDWD ZLOO EH FRYHUHG ODWHU�

Page 57: Handson Nodejs

+773 ��

+773 &OLHQW

<RX FDQ LVVXH KWWS UHTXHVWV XVLQJ WKH ٪KWWS٫ PRGXOH� 1RGH LV VSHFLILFDOO\ GHVLJQHG WR EH D VHUYHU� EXWLW FDQ LWVHOI FDOO RWKHU H[WHUQDO VHUYLFHV DQG DFW DV D ٪JOXH٫ VHUYLFH� 2U \RX FDQ VLPSO\ XVH LW WR UXQ DVLPSOH KWWS FOLHQW VFULSW OLNH WKLV RQH�

KWWS�JHW��

6RXUFH LQ ILOH�KWWS�KWWSBFOLHQWB��MV

� WBS IUUQ � SFRVJSF�IUUQ��

� WBS PQUJPOT � \

� IPTU� �XXX�HPPHMF�DPN�

� QPSU� ��

� QBUI� ��JOEFY�IUNM�

� ^�

� IUUQ�HFUPQUJPOT GVODUJPOSFT \

�� DPOTPMF�MPH�HPU SFTQPOTF� � � SFT�TUBUVT$PEF�

�� ^�PO�FSSPS� GVODUJPOFSS \

�� DPOTPMF�MPH�HPU FSSPS� � � FSS�NFTTBHF

�� ^�

7KLV H[DPSOH XVHV KWWS�JHW WRPDNH DQ+773*(7 UHTXHVW WR WKH XUO KWWS���ZZZ�JRRJOH�FRP����LQGH[�KWPO�

<RX FDQ WU\ LW E\ VDYLQJ LW WR D ILOH QDPHG KWWSBFOLHQWB��MV DQG UXQQLQJ�

� � OPEF IUUQ@DMJFOU@��KT

� HPU SFTQPOTF� ���

KWWS�UHTXHVW��

8VLQJ KWWS�UHTXHVW \RX FDQ PDNH DQ\ W\SH RI +773 UHTXHVW�

� IUUQ�SFRVFTUPQUJPOT DBMMCBDL�

7KH RSWLRQV DUH�

KRVW � $ GRPDLQ QDPH RU ,3 DGGUHVV RI WKH VHUYHU WR LVVXH WKH UHTXHVW WR�

Page 58: Handson Nodejs

+773 ��

SRUW � 3RUW RI UHPRWH VHUYHU� PHWKRG� $ VWULQJ VSHFLI\LQJ WKH +773 UHTXHVW PHWKRG� 3RVVLEOH YDOXHV� ٦*(7٧ �GHIDXOW��٦3267٧� ٦387٧� DQG ٦'(/(7(٧�

SDWK� 5HTXHVW SDWK� 6KRXOG LQFOXGH TXHU\ VWULQJ DQG IUDJPHQWV LI DQ\� (�*� ٦�LQGH[�KWPO"SDJH ��٧ KHDGHUV� $Q REMHFW FRQWDLQLQJ UHTXHVW KHDGHUV�

7KH IROORZLQJ PHWKRG PDNHV LW HDV\ WR VHQG ERG\ YDOXHV �OLNH ZKHQ \RX DUH XSORDGLQJ D ILOH RUSRVWLQJ D IRUP��

6RXUFH LQ ILOH�KWWS�KWWSBFOLHQWB��MV

� WBS PQUJPOT � \

� IPTU� �XXX�HPPHMF�DPN�

� QPSU� ��

� QBUI� ��VQMPBE�

� NFUIPE� �1045�

� ^�

� WBS SFR � SFRVJSF�IUUQ��SFRVFTUPQUJPOT GVODUJPOSFT \

� DPOTPMF�MPH�45"564� � � SFT�TUBUVT$PEF�

�� DPOTPMF�MPH�)&"%&34� � � +40/�TUSJOHJGZSFT�IFBEFST�

�� SFT�TFU&ODPEJOH�VUG���

�� SFT�PO�EBUB� GVODUJPO DIVOL \

�� DPOTPMF�MPH�#0%:� � � DIVOL�

�� ^�

�� ^�

��

�� �� XSJUF EBUB UP SFRVFTU CPEZ

�� SFR�XSJUFáEBUB=Oá�

�� SFR�XSJUFáEBUB=Oá�

�� SFR�FOE�

2Q OLQHV �� DQG �� ZH DUH ZULWLQJ WKH +773 UHTXHVW ERG\ GDWD �WZR OLQHV ZLWK WKH ٪GDWD٫ VWULQJ�DQG RQ OLQH �� ZH DUH HQGLQJ WKH UHTXHVW� 2QO\ WKHQ WKH VHUYHU UHSOLHV DQG WKH UHVSRQVH FDOOEDFN JHWVDFWLYDWHG �OLQH ���

7KHQ ZH ZDLW IRU WKH UHVSRQVH� :KHQ LW FRPHV� ZH JHW D ٪UHVSRQVH٫ HYHQW� ZKLFK ZH DUH OLVWHQLQJWR RQ WKH FDOOEDFN IXQFWLRQ WKDW VWDUWV RQ OLQH �� %\ WKHQ ZH RQO\ KDYH WKH +773 VWDWXV DQG KHDGHUVUHDG\� ZKLFK ZH SULQW �OLQHV � DQG ����

7KHQ ZH ELQG WR ٪GDWD٫ HYHQWV �OLQH ���� 7KHVH KDSSHQ ZKHQ ZH JHW D FKXQN RI WKH UHVSRQVH ERG\GDWD �OLQH ����

7KLV PHFKDQLVP FDQ EH XVHG WR VWUHDP GDWD IURP D VHUYHU� $V ORQJ DV WKH VHUYHU NHHSV VHQGLQJ ERG\FKXQNV� ZH NHHS UHFHLYLQJ WKHP�

Page 59: Handson Nodejs

+773 ��

+773 ([HUFLVHV

<RX FDQ FKHFNRXW WKH VROXWLRQV DW WKH HQG RI WKLV ERRN�

([HUFLVH �

0DNH DQ+773 VHUYHU WKDW VHUYHV ILOHV� 7KH ILOH SDWK LV SURYLGHG LQ WKH 85/ OLNH WKLV� KWWS���ORFDOKRVW������SDWK�WR�P\�ILOH�W[W

([HUFLVH �

0DNH DQ +773 VHUYHU WKDW RXWSXWV SODLQ WH[W ZLWK ��� QHZ�OLQH VHSDUDWHG XQL[ WLPHVWDPSV HYHU\VHFRQG�

([HUFLVH �

0DNH DQ +773 VHUYHU WKDW VDYHV WKH UHTXHVW ERG\ LQWR D ILOH�

([HUFLVH �

0DNH D VFULSW WKDW DFFHSWV D ILOH QDPH DV ILUVW FRPPDQG OLQH DUJXPHQW DQG XSORDGV WKLV ILOH LQWR WKHVHUYHU EXLOW RQ WKH SUHYLRXV H[HUFLVH�

Page 60: Handson Nodejs

6WUHDPV1RGH KDV D XVHIXO DEVWUDFWLRQ� 6WUHDPV� 0RUH VSHFLILFDOO\� WZR YHU\ XVHIXO DEVWUDFWLRQV� 5HDG 6WUHDPVDQG :ULWH 6WUHDPV� 7KH\ DUH LPSOHPHQWHG WKURXJKRXW VHYHUDO 1RGH REMHFWV� DQG WKH\ UHSUHVHQWLQERXQG �5HDG6WUHDP� RU RXWERXQG �:ULWH6WUHDP� IORZ RI GDWD� :H KDYH DOUHDG\ FRPH DFURVV VRPHRI WKHP� EXW KHUH ZH ZLOO WU\ WR LQWURGXFH WKHP LQ D PRUH IRUPDO ZD\�

5HDG6WUHDP

$ 5HDG6WUHDP LV OLNH D IDXFHW RI GDWD� $IWHU \RX KDYH FUHDWHG RQH �DQG WKH PHWKRG RI FUHDWLQJ WKHPGHSHQGV RQ WKH W\SH RI VWUHDP�� \RX FDQ�

:DLW IRU GDWD

%\ ELQGLQJ WR WKH ٪GDWD٫ HYHQW \RX FDQ EH QRWLILHG HYHU\ WLPH WKHUH LV D FKXQN EHLQJ GHOLYHUHG E\WKDW VWUHDP� ,W FDQ EH GHOLYHUHG DV D EXIIHU RU DV D VWULQJ�

,I \RX XVH VWUHDP�VHW(QFRGLQJ�HQFRGLQJ�� WKH ٪GDWD٫ HYHQWV SDVV LQ VWULQJV� ,I \RX GRQ٧W VHW DQHQFRGLQJ� WKH ٪GDWD٫ HYHQWV SDVV LQ EXIIHUV� 6R KHUH LV DQ H[DPSOH�

� WBS SFBE4USFBN � ���

� SFBE4USFBN�PO�EBUB� GVODUJPOEBUB \

� �� EBUB JT B CVGGFS�

� ^�

� WBS SFBE4USFBN � ���

� SFBE4USFBN�TFU&ODPEJOH�VUG���

� SFBE4USFBN�PO�EBUB� GVODUJPOEBUB \

� �� EBUB JT B 65'���FODPEFE TUSJOH�

�� ^�

6R KHUH GDWD SDVVHG LQ RQ WKH ILUVW H[DPSOH LV D EXIIHU� DQG WKH RQH SDVVHG RQ WKH VHFRQG LV D VWULQJEHFDXVH ZH DUH LQIRUPLQJ WKH VWUHDP DERXW WKH HQFRGLQJ ZH DUH H[SHFWLQJ�

7KH VL]H RI HDFK FKXQN PD\ YDU\� LW PD\ GHSHQG RQ EXIIHU VL]H RU RQ WKH DPRXQW RI DYDLODEOH GDWD�

.QRZ ZKHQ LW HQGV

$ VWUHDP FDQ HQG� DQG \RX FDQ NQRZ ZKHQ WKDW KDSSHQV E\ ELQGLQJ WR WKH ٪HQG٫ HYHQW OLNH WKLV�