1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> KEVIN Schmid در: سلام بر همه. 3 00:00:09,710 --> 00:00:12,640 به سمینار CS50 خوش آمدید در Node.js. 4 00:00:12,640 --> 00:00:13,955 نام من کوین است. 5 00:00:13,955 --> 00:00:15,580 من TF CS50 هستم. 6 00:00:15,580 --> 00:00:17,650 و من نوعی مانند واقعا هیجان زده ام در مورد این همایش. 7 00:00:17,650 --> 00:00:20,430 من فکر می کنم Node.js بسیار سرد است. 8 00:00:20,430 --> 00:00:24,200 من امیدوارم که این سمینار را می توان مورد استفاده قرار گیرد به عنوان خوب، من حدس می زنم، سکوی پرشی برای 9 00:00:24,200 --> 00:00:26,380 برخی از پروژه های نهایی خود را در صورت شما علاقه مند به استفاده هستید 10 00:00:26,380 --> 00:00:27,630 چیزی شبیه به Node.js. 11 00:00:27,630 --> 00:00:29,770 12 00:00:29,770 --> 00:00:33,320 >> ما نوع را شروع می کنیم این سمینار کردن توسط فقط در مورد کمی از صحبت کردن 13 00:00:33,320 --> 00:00:36,970 نوع مقیاس پذیری پس زمینه دیدگاه Node.js، و پس از آن 14 00:00:36,970 --> 00:00:39,240 ما به برخی از نمونه کد حرکت می کند. 15 00:00:39,240 --> 00:00:42,340 و من کد را در یک وب سایت، و شما می توانید در کد نگاه کنید. 16 00:00:42,340 --> 00:00:45,475 و پس از این سمینار، من از بحث مرتب سازی بر اساس در مورد چگونه شما می توانید راه اندازی Node.js 17 00:00:45,475 --> 00:00:48,220 بر روی کامپیوتر شما. 18 00:00:48,220 --> 00:00:48,710 >> OK. 19 00:00:48,710 --> 00:00:49,760 بنابراین اجازه دهید شروع کنید. 20 00:00:49,760 --> 00:00:53,700 بنابراین من حدس می زنم من فقط می خواهم به بحث در مورد وب سرور، در واقع، برای اولین بار. 21 00:00:53,700 --> 00:00:59,730 و برای شروع این بحث، من اساسا یک نمودار است که از داشته 22 00:00:59,730 --> 00:01:04,269 کتاب درسی مورد استفاده برای CS61، که اساسا تعامل را نشان می دهد 23 00:01:04,269 --> 00:01:08,510 بین یک فرآیند مشتری، مانند وب سایت خود را مرورگر و یا مانند مشتری هدف خود را و یا 24 00:01:08,510 --> 00:01:11,340 چیزی شبیه به آن، و یک وب سرور. 25 00:01:11,340 --> 00:01:15,150 بنابراین این نوع از به نظر می رسد شبیه به تصویری که شما را در سخنرانی در دیدم 26 00:01:15,150 --> 00:01:19,270 چهارشنبه که در آن در واقع ما باید برخی از فرآیند مشتری مانند گوگل کروم. 27 00:01:19,270 --> 00:01:22,980 >> و پس از آن مرحله است مشتری یک درخواست ارسال می کند. 28 00:01:22,980 --> 00:01:27,510 به طوری که می تواند چیزی شبیه به خوبی بیایید ببینید، من نمی دانم، CS50.net. 29 00:01:27,510 --> 00:01:29,320 پس ما که درخواست صدور. 30 00:01:29,320 --> 00:01:34,280 و آیا کسی به یاد داشته باشید نام پروتکل است که مشخص می کند که چگونه است که 31 00:01:34,280 --> 00:01:35,610 درخواست باید ساختار؟ 32 00:01:35,610 --> 00:01:36,382 بله. 33 00:01:36,382 --> 00:01:37,650 >> یک مدعو: [نامفهوم]. 34 00:01:37,650 --> 00:01:38,150 >> KEVIN Schmid در: دقیقا. 35 00:01:38,150 --> 00:01:40,100 بنابراین آن را مانند HTTP است، درست است؟ 36 00:01:40,100 --> 00:01:44,720 بنابراین اساسا خصوصیات چگونه این درخواست باید در واقع گذاشته شود 37 00:01:44,720 --> 00:01:47,450 ، زیرا در پایان روز، این درخواست واقعا درست مثل یک 38 00:01:47,450 --> 00:01:50,240 رشته ای که اساسا می گوید من می خواهم این. 39 00:01:50,240 --> 00:01:53,580 و مشخصات برای که HTTP است. 40 00:01:53,580 --> 00:01:55,270 به طوری که مانند یک پروتکل است. 41 00:01:55,270 --> 00:01:57,920 >> بنابراین پس از آن از سرور دریافت که به درخواست. 42 00:01:57,920 --> 00:02:01,610 پس شما بچه ها باید یک وب سرور نصب شده در دستگاه CS50. 43 00:02:01,610 --> 00:02:02,460 این آپاچی است. 44 00:02:02,460 --> 00:02:06,230 و این هفته زمانی که شما در مشکل کار مجموعه هفت، در واقع شما می خواهید کار 45 00:02:06,230 --> 00:02:08,160 با وب سرور. 46 00:02:08,160 --> 00:02:12,380 بنابراین سرور دریافت که درخواست، و سپس آن را به نوعی از خراش آن 47 00:02:12,380 --> 00:02:15,090 سر و می گویند مانند خوب چه من با انجام این کار؟ 48 00:02:15,090 --> 00:02:20,060 >> بنابراین در آنچه در آن تصمیم به انجام دهید، سپس بر اساس ممکن است مجبور به تماس با برخی از نوع 49 00:02:20,060 --> 00:02:20,730 از منابع. 50 00:02:20,730 --> 00:02:23,700 و این منابع می تواند یک بسیاری از مسائل مختلف. 51 00:02:23,700 --> 00:02:26,810 برای یکی، آن می تواند فقط مانند یک فایل HTML استاتیک می باشد. 52 00:02:26,810 --> 00:02:29,820 پس از آن فقط می تواند مانند برخی HTML است که مانند برای 53 00:02:29,820 --> 00:02:31,100 وب سایت شخصی خود. 54 00:02:31,100 --> 00:02:35,360 این می تواند یک فایل شخص مانند یک تصویر و یا مثل یک فیلم است که شما داشته باشد. 55 00:02:35,360 --> 00:02:37,660 این حتی می تواند به بحث به نوعی از پایگاه داده 56 00:02:37,660 --> 00:02:39,530 مانند یک پایگاه داده MySQL. 57 00:02:39,530 --> 00:02:43,910 پس از آن همیشه باید ارتباط با یک منبع، اما در 58 00:02:43,910 --> 00:02:45,700 برخی از موارد، می تواند. 59 00:02:45,700 --> 00:02:47,800 >> بنابراین پس از آن چه آن را به انجام پس از آن است آن را به 60 00:02:47,800 --> 00:02:49,430 ارسال به پاسخ. 61 00:02:49,430 --> 00:02:53,130 و پاسخ این است همچنین توسط HTTP مشخص شده است. 62 00:02:53,130 --> 00:02:54,830 بنابراین پس از آن مشتری می تواند آن را دریافت. 63 00:02:54,830 --> 00:02:56,740 این می تواند از هم گسیخته و پردازش آن است. 64 00:02:56,740 --> 00:03:00,900 و پس از آن شما یک صفحه وب را دریافت کنید مانند گوگل یا CS50.net و یا 65 00:03:00,900 --> 00:03:02,240 هر آنچه شما به رفت. 66 00:03:02,240 --> 00:03:03,100 OK؟ 67 00:03:03,100 --> 00:03:06,080 >> بنابراین این تعامل اساسی این است که ما در حال رفتن به خرید و فروش با. 68 00:03:06,080 --> 00:03:08,770 و ما تقریبا برای رفتن به با تمرکز بر این بخش از 69 00:03:08,770 --> 00:03:10,640 تعامل، سرور. 70 00:03:10,640 --> 00:03:10,990 OK. 71 00:03:10,990 --> 00:03:12,210 دانلود. 72 00:03:12,210 --> 00:03:15,500 هر کسی هر گونه سوال تا کنون؟ 73 00:03:15,500 --> 00:03:17,720 OK. 74 00:03:17,720 --> 00:03:22,430 >> بنابراین همانطور که گفتیم، وب سرور دریافت این درخواست HTTP و سپس این مسائل 75 00:03:22,430 --> 00:03:24,760 پاسخ HTTP. 76 00:03:24,760 --> 00:03:29,100 و مانند ما صحبت در مورد قبل، لوازم CS50 وب سرور آپاچی است. 77 00:03:29,100 --> 00:03:32,490 بنابراین، هنگامی که شما بچه ها در کار P مجموعه هفت، شما به کار با 78 00:03:32,490 --> 00:03:34,120 وب سرور آپاچی. 79 00:03:34,120 --> 00:03:37,890 شما هرگز به واقعا کار کند با آپاچی به طور مستقیم بیش از حد. 80 00:03:37,890 --> 00:03:41,920 شما نوع پیکربندی آپاچی کمی هنگامی که شما از میزبان های مجازی و یا مشخص 81 00:03:41,920 --> 00:03:44,970 میزبان V، و ما را دریافت کنید به که در کمی. 82 00:03:44,970 --> 00:03:50,620 >> اما در واقع، وب سرور آپاچی راه اندازی کار با انواع PHP 83 00:03:50,620 --> 00:03:51,730 از خارج از جعبه. 84 00:03:51,730 --> 00:03:56,170 بنابراین آنچه واقعا اتفاق می افتد زمانی که شما به به یکی از وب سایت های خود را مانند، می گویند، 85 00:03:56,170 --> 00:04:00,360 میزبان محلی فایل index.php بریده بریده و یا چیزی، است مرورگر شما می فرستد که 86 00:04:00,360 --> 00:04:04,330 درخواست، و سپس آپاچی نشسته است وجود دارد و آمار و ارقام به کار با آن است. 87 00:04:04,330 --> 00:04:08,840 و این اقدام را به اجرا که در فایل index.php و 88 00:04:08,840 --> 00:04:11,330 سپس ارسال آن خاموش است. 89 00:04:11,330 --> 00:04:15,640 به طوری که وجود دارد. 90 00:04:15,640 --> 00:04:16,980 بنابراین ما به نوعی در مورد این صحبت کردیم. 91 00:04:16,980 --> 00:04:21,990 پس از آن فقط می تواند در خدمت یک فایل شخص و یا اجرای برخی از کد PHP و پس از آن موضوع 92 00:04:21,990 --> 00:04:23,510 پاسخ. 93 00:04:23,510 --> 00:04:27,670 >> بنابراین پس از آن یک سوال مشترک است که می تواند تا به خوبی، ما چگونه واقعا برخورد 94 00:04:27,670 --> 00:04:31,750 با داشتن چند کاربر در همان زمان؟ 95 00:04:31,750 --> 00:04:36,930 بنابراین تصور کنید اگر شما نوشتن یک وب سرور، اگر شما یک وب سرور داشته که 96 00:04:36,930 --> 00:04:39,900 شما تلاش شد تا در چیزی مانند C و یا چیزی شبیه به آن، 97 00:04:39,900 --> 00:04:45,150 در واقع شما می توانید در مورد فکر می کنم که چگونه وجود دارد می تواند نوعی از کد که 98 00:04:45,150 --> 00:04:49,330 را به درخواست دریافت خواهید کرد، اما پس از آن آن را به انجام تمام این کار بر روی آن. 99 00:04:49,330 --> 00:04:53,060 این ممکن است به عنوان مثال، با پایگاه داده و یا چیزی شبیه به آن. 100 00:04:53,060 --> 00:04:53,300 درست است؟ 101 00:04:53,300 --> 00:04:56,010 و سپس آن را به این نوع کار را انجام پردازش و پس از آن 102 00:04:56,010 --> 00:04:57,060 فرستاده پاسخ. 103 00:04:57,060 --> 00:04:58,950 به طوری که به مانند بالا مروری در سطح. 104 00:04:58,950 --> 00:05:04,210 >> اما آن را بلافاصله واضح نیست که چگونه شما می توانید انجام این کار به طوری که دو نفر یا 105 00:05:04,210 --> 00:05:09,040 حتی 1000 مردم می توانند با کار شما وب سرور در همان زمان. 106 00:05:09,040 --> 00:05:14,880 بنابراین راه حل که آپاچی با استفاده از نامیده می شود موضوعات و یا فرآیندهای. 107 00:05:14,880 --> 00:05:16,770 بنابراین شما ممکن است به گوش این شرایط قبل از. 108 00:05:16,770 --> 00:05:22,190 این OK اگر شما را نداشته باشند، اما فقط فکر می کنم در مورد موضوعات و یا پروسه به عنوان راه برای 109 00:05:22,190 --> 00:05:26,290 یک سیستم عامل یا یک برنامه یا کاربر چیزی شبیه به آن و یا یک وب سرور 110 00:05:26,290 --> 00:05:28,810 به نوعی اجرا چندگانه همه چیز در یک بار. 111 00:05:28,810 --> 00:05:31,760 بنابراین شما ممکن است مدت شنیده مانند موضوعات اعدام. 112 00:05:31,760 --> 00:05:34,140 پس از آن نوع مانند شما مرتب کردن بر اساس چند وظیفه ای. 113 00:05:34,140 --> 00:05:37,710 >> و اگر شما بر روی جعبه از دیده ام خود را لپ تاپ و یا چیزی شبیه به آن، 114 00:05:37,710 --> 00:05:43,040 چند، چیزی که شما می توانید انجام دهید این است که شما می توانید اجرای دو موضوعات مختلف در مختلف 115 00:05:43,040 --> 00:05:46,700 بخش هایی از CPU به طوری که آنها می توانند در واقع در همان زمان اتفاق می افتد. 116 00:05:46,700 --> 00:05:48,100 پس این واقعا قدرتمند است. 117 00:05:48,100 --> 00:05:52,270 و این نوع در آپاچی است راه حل این مشکل. 118 00:05:52,270 --> 00:05:57,900 >> بنابراین نوع مانند هر گونه مسائل وجود دارد با این روش هر چند؟ 119 00:05:57,900 --> 00:05:59,870 بنابراین من حدس می زنم من از نوع آنها وجود دارد نوشت. 120 00:05:59,870 --> 00:06:03,440 اما هر دو آنها را نوع استفاده از مقدار زیادی از حافظه. 121 00:06:03,440 --> 00:06:07,490 این بسیار گران برای ایجاد یک موضوع و یا یک فرآیند. 122 00:06:07,490 --> 00:06:11,750 >> و بخشی از استدلال است که فقط مانند وقتی که شما در حال اجرا یک برنامه C 123 00:06:11,750 --> 00:06:15,090 مثل اصلی خود را و پس از آن که تماس های تابع دیگر، که 124 00:06:15,090 --> 00:06:16,520 نوعی از پشته. 125 00:06:16,520 --> 00:06:19,910 بنابراین موضوعات نیز نیاز به به طور کامل پشته جداگانه که 126 00:06:19,910 --> 00:06:21,220 می تواند کاملا بزرگ است. 127 00:06:21,220 --> 00:06:25,170 و اگر شما می توانید تصور کنید که دارای تن کاربران در وب سایت خود، شما را مجبور 128 00:06:25,170 --> 00:06:26,280 بسیاری از موضوعات مختلف. 129 00:06:26,280 --> 00:06:28,230 که بسیاری از پشته به مدیریت و نگهداری. 130 00:06:28,230 --> 00:06:31,280 پس از آن مصرف حافظه های بزرگ است. 131 00:06:31,280 --> 00:06:35,650 >> و پس از آن، نیز، اجازه دهید به شما می گویند فقط باید یک CPU و یا اجازه دهید بگویم شما 132 00:06:35,650 --> 00:06:38,460 موضوعات بیشتر از شما کسانی که multicores. 133 00:06:38,460 --> 00:06:38,730 درست است؟ 134 00:06:38,730 --> 00:06:43,280 بنابراین اجازه دهید به شما می گویند به حال 10 موضوعات و شما فقط پنج پردازنده بود. 135 00:06:43,280 --> 00:06:46,260 شما نوع باید انجام دهید این چیزی که در آن شما بین جریان تغییر دهید 136 00:06:46,260 --> 00:06:49,090 که در حال اجرا به خاطر شما می توانید تمام 10 اجرا کنید در یک بار. 137 00:06:49,090 --> 00:06:50,980 و این یک سوئیچ بافت نامیده می شود. 138 00:06:50,980 --> 00:06:54,260 و این مدت در واقع یک زن و شوهر از زمینه های مختلف، اما اجازه دهید فقط 139 00:06:54,260 --> 00:06:56,620 از آن فکر می کنم به عنوان تغییر بین دو موضوعات. 140 00:06:56,620 --> 00:06:59,730 این می تواند بسیار گران قیمت به دلیل اساسا آنچه شما باید انجام دهید به شما می باشد 141 00:06:59,730 --> 00:07:03,340 باید برای متوقف کردن آنچه شما انجام می دهند، نجات دولت از این موضوع در حال اجرا، و 142 00:07:03,340 --> 00:07:05,440 پس از آن به جای دیگری تغییر دهید. 143 00:07:05,440 --> 00:07:09,420 >> پس آیا همه نوع از دیدن انگیزه چرا موضوعات و 144 00:07:09,420 --> 00:07:12,030 فرآیندهای ممکن است کمی بزرگ؟ 145 00:07:12,030 --> 00:07:13,840 و یک سوال؟ 146 00:07:13,840 --> 00:07:14,376 OK. 147 00:07:14,376 --> 00:07:15,070 دانلود. 148 00:07:15,070 --> 00:07:18,090 هر کسی هر گونه سوال؟ 149 00:07:18,090 --> 00:07:19,620 OK. 150 00:07:19,620 --> 00:07:26,720 >> بنابراین اگر ما را یک گام به عقب برای یک ثانیه، نوع مانند وجود دارد 151 00:07:26,720 --> 00:07:30,350 مشاهده است که ما می توانیم در مورد را بسیاری از برنامه های کاربردی وب. 152 00:07:30,350 --> 00:07:34,810 و این واقعا که بسیاری از آنها را در واقع انجام این کار بسیار مفید 153 00:07:34,810 --> 00:07:37,140 کار در داخل یک موضوع. 154 00:07:37,140 --> 00:07:41,170 بنابراین هر کسی در آغاز شده P مجموعه هفت در همه؟ 155 00:07:41,170 --> 00:07:45,650 بنابراین شما می خواهید به شاید توصیف برخی از قطعات؟ 156 00:07:45,650 --> 00:07:47,850 آیا شما در ورود به کار کرده است و یا چیزی شبیه به آن؟ 157 00:07:47,850 --> 00:07:49,330 >> حضار: نه 158 00:07:49,330 --> 00:07:49,780 >> KEVIN Schmid در: OK. 159 00:07:49,780 --> 00:07:50,150 اهمیتی ندارد. 160 00:07:50,150 --> 00:07:50,900 متأسفم. 161 00:07:50,900 --> 00:07:55,790 اما در واقع، در مجموعه ای P، شما رفتن به ساخت بسیاری از نوع 162 00:07:55,790 --> 00:07:59,760 نمایش داده شد به یک پایگاه داده به گرفتن برخی از اطلاعات از پایگاه داده باشد. 163 00:07:59,760 --> 00:08:03,330 و آنچه که کد خود را در حال رفتن به انجام این کار شود، آنچه که فرایند آپاچی و یا 164 00:08:03,330 --> 00:08:06,030 که موضوع آپاچی در حال رفتن به انجام می شود در حالی که آن را با 165 00:08:06,030 --> 00:08:08,990 پایگاه داده است به نوعی از رفتن به نشسته وجود دارد و آن را به 166 00:08:08,990 --> 00:08:12,130 انتظار برای پایگاه داده به پاسخ. 167 00:08:12,130 --> 00:08:16,290 >> حالا که ممکن است می خواهم که بزرگ صدا نیست مقابله به دلیل پایگاه داده است در خود 168 00:08:16,290 --> 00:08:18,240 لوازم CS50، درست است؟ 169 00:08:18,240 --> 00:08:22,930 اما نوعی از شبکه وجود دارد رکود وجود دارد زیرا در حال حاضر در وب 170 00:08:22,930 --> 00:08:26,830 سرور به صدور درخواست خود را به پایگاه داده برای برقراری ارتباط با 171 00:08:26,830 --> 00:08:29,520 پایگاه داده و پس از آن که اطلاعات را به عقب. 172 00:08:29,520 --> 00:08:33,190 بنابراین در حال حاضر آن را مانند به خوبی برای من صبر کنید، من رفتن به چیزی از 173 00:08:33,190 --> 00:08:35,770 پایگاه داده و پس از آن وجود دارد بسیاری از انتظار اتفاق افتاده است. 174 00:08:35,770 --> 00:08:36,870 آیا این را حس؟ 175 00:08:36,870 --> 00:08:38,580 >> و برای برخی چیزهای آن را که بد نیست. 176 00:08:38,580 --> 00:08:41,950 اگر آن را فقط به عنوان مثال، حافظه با دسترسی، که دوست ندارم 177 00:08:41,950 --> 00:08:44,100 وحشتناک تاخیر I / O. 178 00:08:44,100 --> 00:08:47,110 و هنگامی که من می گویم، I / O تاخیر، چیزی که من هستم با اشاره به است مانند هر نوع مانند 179 00:08:47,110 --> 00:08:48,290 ورودی خروجی. 180 00:08:48,290 --> 00:08:52,950 اما برای دسترسی به یک فایل بر روی دیسک، مانند اگر من می خواستم برای خدمت به HTML شخص 181 00:08:52,950 --> 00:08:57,850 فایل است که بر روی صفحه وب من بود یا چیزی شبیه به آن، من از نوع به 182 00:08:57,850 --> 00:09:02,310 توقف برای یک بیت، به عنوان خوانده شده که فایل در از دیسک، و سپس در 183 00:09:02,310 --> 00:09:04,400 این روند من در انتظار. 184 00:09:04,400 --> 00:09:06,700 من کار مفید انجام نمی دهد. 185 00:09:06,700 --> 00:09:11,270 >> این است که درست است از همه چیز نیست، اما آن را در برنامه های کاربردی مانند مجموعه ای P شایع است 186 00:09:11,270 --> 00:09:13,960 هفت و بسیاری از برنامه های کاربردی که نیستی 187 00:09:13,960 --> 00:09:15,440 در واقع انجام تفکر بسیار. 188 00:09:15,440 --> 00:09:19,090 و وقتی که من می گویند تفکر، منظور من مانند کار محاسباتی. 189 00:09:19,090 --> 00:09:23,270 کار محاسباتی می تواند چیزی مانند، می گویند، شما را به خواست 190 00:09:23,270 --> 00:09:26,590 ارسال یک وب سرور است که فقط محاسبه عدد فیبوناچی n ام. 191 00:09:26,590 --> 00:09:29,300 این مثل به ویژه صدا نیست وب سرور سرگرم کننده است. 192 00:09:29,300 --> 00:09:34,220 مثل من انتظار نیست که سایت به فیس بوک بعد، اما این است که برخی از 193 00:09:34,220 --> 00:09:35,610 نوع کار محاسباتی. 194 00:09:35,610 --> 00:09:39,570 >> و شما می توانید تصور کنید به جای که با نوع دیگری از جالب 195 00:09:39,570 --> 00:09:43,070 کار محاسباتی. 196 00:09:43,070 --> 00:09:46,050 بیایید می گویند شما چیزی نوشتن شد که درجه محاسبه 197 00:09:46,050 --> 00:09:49,170 جدایی بین دو نفر و یا چیزی شبیه به آن. 198 00:09:49,170 --> 00:09:51,860 به طوری که می کند شامل نوعی محاسبه، درست است؟ 199 00:09:51,860 --> 00:09:56,630 و حتی پس از آن، برای انجام این کار شما هنوز هم برای انجام بسیاری از انتظار برای شاید 200 00:09:56,630 --> 00:09:59,550 شما باید به پرس و جو از پایگاه داده به نگاه تا که این دوستان با چه کسی یا 201 00:09:59,550 --> 00:10:00,600 چیزی شبیه به آن. 202 00:10:00,600 --> 00:10:03,510 بنابراین این نوع از مفهوم وجود دارد کار محاسباتی. 203 00:10:03,510 --> 00:10:05,260 آیا این را حس؟ 204 00:10:05,260 --> 00:10:08,258 آیا هر کسی هر گونه سوال؟ 205 00:10:08,258 --> 00:10:11,960 >> آه، و من حدس می زنم من به سرور چت قرار داده وجود دارد چون سرویس دهنده چت می باشد نوع 206 00:10:11,960 --> 00:10:13,240 یک مثال خوب دیگر از این. 207 00:10:13,240 --> 00:10:15,250 سرور چت اختصاص ندارد برای انجام این کار فکر کردن زیاد. 208 00:10:15,250 --> 00:10:18,350 این فقط باید برای مردم صبر کنید تا ارسال پیام و پس از آن زمانی 209 00:10:18,350 --> 00:10:19,800 آنها، آنها را ارسال کنید. 210 00:10:19,800 --> 00:10:21,050 OK؟ 211 00:10:21,050 --> 00:10:23,410 212 00:10:23,410 --> 00:10:28,180 >> پس فقط به روکش دوباره، آپاچی و وب سرور مشابه که چنگال 213 00:10:28,180 --> 00:10:31,470 بسیاری از موضوعات و فرآیندهای است که می تواند نوع بی فایده. 214 00:10:31,470 --> 00:10:37,530 پس من به این سوال که ممکن است حدس بزنید از آن است که ما نیاز به 215 00:10:37,530 --> 00:10:39,610 موضوعات و فرآیندهای چند؟ 216 00:10:39,610 --> 00:10:41,890 چه اگر ما تنها یکی داشت؟ 217 00:10:41,890 --> 00:10:45,710 >> بنابراین اجازه دهید نوع رنگ تصویر از چه این نگاه می خواهم. 218 00:10:45,710 --> 00:10:47,810 بنابراین اجازه دهید تنها یک موضوع استفاده کنید. 219 00:10:47,810 --> 00:10:48,660 OK؟ 220 00:10:48,660 --> 00:10:52,790 پس فقط این کار را با یک موضوع قابل تصور است. 221 00:10:52,790 --> 00:10:56,600 >> بیایید فرض کنید ما شد واقعا نمی انجام که بسیار مفید می باشد - و هنگامی که من می گویم 222 00:10:56,600 --> 00:10:59,450 مفید است، منظورم این است که کار محاسباتی - 223 00:10:59,450 --> 00:11:01,130 در آن موضوعات متعدد قبل. 224 00:11:01,130 --> 00:11:04,180 بنابراین اجازه دهید نوع از تحکیم همه چیز را به یک موضوع. 225 00:11:04,180 --> 00:11:07,780 بنابراین اگر ما یک موضوع است که نوع به حال تنها در اطراف می رود در حلقه و 226 00:11:07,780 --> 00:11:10,880 به طور مداوم چک چیزی جدید اتفاق می افتد. 227 00:11:10,880 --> 00:11:15,130 بنابراین برای مثال، چیز جدیدی اتفاق افتاده است می تواند به معنای من چیزی از رو 228 00:11:15,130 --> 00:11:19,310 پایگاه داده، و یا کسی فرستاده من یک درخواست HTTP جدید. 229 00:11:19,310 --> 00:11:22,290 این ها برخی از حوادث که اتفاق می افتد، درست است؟ 230 00:11:22,290 --> 00:11:26,130 >> و پس از آن چه می توانم انجام دهم زمانی که کسانی که تازه چیزهایی اتفاق می افتد در این موضوع مشابه 231 00:11:26,130 --> 00:11:30,120 اعدام، این موضوع تنها از اعدام، من می توانم برخی از کد تماس بگیرید که 232 00:11:30,120 --> 00:11:32,410 که آن چیز خاصی اداره کند. 233 00:11:32,410 --> 00:11:36,640 بنابراین برای مثال، اگر من چیزی رو به عقب از پایگاه داده، من می توانم اجرا من 234 00:11:36,640 --> 00:11:40,960 بخش محاسباتی کوچکی از آن است که در واقع فقط به آماده چیز 235 00:11:40,960 --> 00:11:42,620 ارسال به کاربر. 236 00:11:42,620 --> 00:11:46,710 بنابراین آیا این نوع از معنی؟ 237 00:11:46,710 --> 00:11:49,940 >> اما آنچه واقعا هستند نتایج این؟ 238 00:11:49,940 --> 00:11:50,660 درست است؟ 239 00:11:50,660 --> 00:11:53,730 از آنجا که ما نوشته شده است تعداد زیادی از کد که - 240 00:11:53,730 --> 00:11:58,330 و من فقط رفتن به پرش به آینده در اسلاید اگر که OK. 241 00:11:58,330 --> 00:12:00,930 بنابراین اگر برای شما مهم نیست، من فقط رفتن به را قدم به عقب. 242 00:12:00,930 --> 00:12:03,410 بنابراین این نوع از چیزی است به نام یک حلقه رویداد. 243 00:12:03,410 --> 00:12:04,070 OK؟ 244 00:12:04,070 --> 00:12:07,240 و این نوع از پایه ایده پشت Node.js. 245 00:12:07,240 --> 00:12:11,240 >> پس چه Node.js است که واقعا انجام می دهند به عنوان یک وب سرور یک موضوع واحد وجود دارد 246 00:12:11,240 --> 00:12:14,850 که اساسا در اطراف که در یک حلقه مانند در حالی که یک نوع از زیر 247 00:12:14,850 --> 00:12:18,510 هود از Node.js که به طور مداوم چک کردن، آیا ما چیزهای جدید را دریافت خواهید کرد؟ 248 00:12:18,510 --> 00:12:22,720 و سپس آن را گرداننده را اجرا خواهد کرد که به شما در تنظیم. 249 00:12:22,720 --> 00:12:26,720 اما یک سوال خوب برای پرسیدن است، چگونه می توان این اتفاق می افتد 250 00:12:26,720 --> 00:12:28,090 با چیزهای موجود؟ 251 00:12:28,090 --> 00:12:32,440 >> بنابراین من قرار دادن یک خط کد C که در اینجا در واقع به نظر می رسد مانند آن را باز کردن 252 00:12:32,440 --> 00:12:33,060 فایل، درست است؟ 253 00:12:33,060 --> 00:12:36,090 من فقط با یک آلبوم بود. 254 00:12:36,090 --> 00:12:39,600 بنابراین من تا به حال به او باز کردن یک فایل جدید است. 255 00:12:39,600 --> 00:12:43,810 پس راه کد C ما برای عامل - 256 00:12:43,810 --> 00:12:47,890 و من حدس می زنم دلیل من فایل را انتخاب بود چرا که این نوع از حد است 257 00:12:47,890 --> 00:12:52,000 از کار I / O است که ما در C در انجام داده ام یک حس که ورودی خروجی وجود دارد. 258 00:12:52,000 --> 00:12:55,070 بنابراین ما این کد تماس بگیرید که آیا این جمعه باز است. 259 00:12:55,070 --> 00:12:59,370 و سپس در خط بعدی ما برنامه، ما هم اکنون می توانید با F کار می کنند. 260 00:12:59,370 --> 00:13:02,710 >> بنابراین این امر می تواند یک نمونه از چیزی که مانند همزمان یا 261 00:13:02,710 --> 00:13:06,850 مسدود کردن چون در آن خط اول وجود دارد که ما در حال انتظار تا زمانی که ما 262 00:13:06,850 --> 00:13:08,110 دریافت فایل باز. 263 00:13:08,110 --> 00:13:12,260 پس در خط دوم، ما می دانیم که ما می توانید با F کار می کنند، اما این بدان معنی است که 264 00:13:12,260 --> 00:13:16,240 که خط دوم واقعا نمی تواند اجرا شود تا زمانی که خط اول انجام شده است. 265 00:13:16,240 --> 00:13:17,760 آیا این را حس؟ 266 00:13:17,760 --> 00:13:20,890 >> پس این خیلی بد است برای قرار دادن در یک رویداد. 267 00:13:20,890 --> 00:13:23,920 و دلیل آن این است که این نوع از انتظار، درست است؟ 268 00:13:23,920 --> 00:13:26,500 پس این ما را به عقب برگرداندن به همین. 269 00:13:26,500 --> 00:13:29,470 و در حال حاضر ما نمی خواهد حتی بهره مند از موضوعات مختلف و یا 270 00:13:29,470 --> 00:13:32,390 فرآیندهای خاطر ما یک موضوع در Node.js. 271 00:13:32,390 --> 00:13:35,496 آیا این حس برای همه؟ 272 00:13:35,496 --> 00:13:35,990 >> یک مدعو: صبر کنید. 273 00:13:35,990 --> 00:13:36,980 پس چه جایگزینی است؟ 274 00:13:36,980 --> 00:13:37,840 >> KEVIN Schmid در: اوه، بله. 275 00:13:37,840 --> 00:13:39,560 من می خواهم برای رسیدن به جایگزینی. 276 00:13:39,560 --> 00:13:40,430 OK. 277 00:13:40,430 --> 00:13:42,960 بنابراین اگر ما چیزی را به حال که شبیه این بود؟ 278 00:13:42,960 --> 00:13:45,730 بنابراین اگر در حال حاضر من ویرایش ج باز کردن یک کمی؟ 279 00:13:45,730 --> 00:13:48,370 بنابراین من در همان عبور دو آرگومان مانند قبل. 280 00:13:48,370 --> 00:13:52,610 من هنوز دوست دارم آهنگ جدید که او با شد. 281 00:13:52,610 --> 00:13:57,260 اما من عبور یک چیز سوم که است این متغیر به نام کد. 282 00:13:57,260 --> 00:14:02,280 >> اما آنچه روشن است در واقع در این زمینه؟ 283 00:14:02,280 --> 00:14:05,360 آیا آن را مانند یک متغیر به طور منظم C؟ 284 00:14:05,360 --> 00:14:06,740 این یک تابع نیست، درست است؟ 285 00:14:06,740 --> 00:14:09,450 و این ممکن است کمی عجیب و غریب به خاطر من در واقع مثل همین الان در حال عبور هستم 286 00:14:09,450 --> 00:14:12,320 عمل به یک تابع دیگر. 287 00:14:12,320 --> 00:14:14,400 >> بنابراین یک زن و شوهر از چیزهایی که در مورد این توجه داشته باشید. 288 00:14:14,400 --> 00:14:17,145 یکی، من در واقع نمی نامد عملکرد کد. 289 00:14:17,145 --> 00:14:20,650 بنابراین شما کد با دیدن ندارد پرانتز سمت چپ، پرانتز راست. 290 00:14:20,650 --> 00:14:23,010 من فقط عبور در کد. 291 00:14:23,010 --> 00:14:26,990 و در C، چه این که در واقع انجام من یک اشاره گر را به واقعی 292 00:14:26,990 --> 00:14:29,740 کد، و پس از آن این می تواند آن را اجرا کنید. 293 00:14:29,740 --> 00:14:33,350 اما فقط در مورد آن فکر می کنم که شما با عبور کد برای اجرا وقتی 294 00:14:33,350 --> 00:14:35,150 که فایل باز می شود. 295 00:14:35,150 --> 00:14:41,430 >> اما این بدان معنی است که در حال حاضر بقیه برنامه های من است که می تواند انجام دهد 296 00:14:41,430 --> 00:14:47,050 چیزهای دیگر، می تواند انجام دیگر ادامه مسائل در حالی که ما، نه واقعا صبر کنید، اما 297 00:14:47,050 --> 00:14:50,890 فقط در پشت سر ما که زمانی که باز است، اجرای آن فایل را که 298 00:14:50,890 --> 00:14:52,130 کد در بالای صفحه. 299 00:14:52,130 --> 00:14:53,390 آیا این را حس؟ 300 00:14:53,390 --> 00:14:58,060 >> و حالا این ایده در پشت Node.js است که کد را در این مسائل کار را با ج 301 00:14:58,060 --> 00:15:04,590 بخشی باید بسیار کوتاه و ساده باشد و سر راست است و واقعا نمی شود 302 00:15:04,590 --> 00:15:06,160 بسیار متمرکز. 303 00:15:06,160 --> 00:15:09,390 این ممکن است برای باز کردن یک فایل دیگر، اما که آن نیز باید بسیار سریع 304 00:15:09,390 --> 00:15:14,710 چرا که آن را فقط باید بگویم انجام F دیگری باز کردن و سپس این کد دیگر تماس بگیرید. 305 00:15:14,710 --> 00:15:19,100 >> پس فقط به طور کامل روشن، ج باز که نمی تواند آهنگ جدید کتی پری 306 00:15:19,100 --> 00:15:23,060 انجام MP3، که رفتن به بسیار بسیار بلافاصله بازگشت. 307 00:15:23,060 --> 00:15:27,820 و پس از آن ما فقط می تواند به ادامه انجام چیزهای دیگر چون همه که در حال حاضر F 308 00:15:27,820 --> 00:15:33,410 تماس باز می کند است بگویید اساسا زمینه ای کد باز F باز کردن این فایل 309 00:15:33,410 --> 00:15:36,020 و هنگامی که شما انجام می شود باز این فایل ها و یا زمانی که شما آن را از پشت، 310 00:15:36,020 --> 00:15:37,480 پس از آن که کد اجرا شود. 311 00:15:37,480 --> 00:15:39,540 اما آن در واقع آن کد اجرا کنید. 312 00:15:39,540 --> 00:15:41,815 و یک سوال از شما داشتند؟ 313 00:15:41,815 --> 00:15:46,180 >> یک مدعو: شما به نظر می رسید حاکی از چند بار که با اضافه کردن محاسباتی 314 00:15:46,180 --> 00:15:50,545 کد فشرده نوعی شکستن [نامفهوم] سیستم هدایت می شود. 315 00:15:50,545 --> 00:15:51,795 [نامفهوم]؟ 316 00:15:51,795 --> 00:15:54,450 317 00:15:54,450 --> 00:15:55,290 >> KEVIN Schmid در: این سئوال خوبی است. 318 00:15:55,290 --> 00:15:59,280 بنابراین من در واقع نمونه ای از چگونگی دارند شما می توانید محاسباتی ادغام 319 00:15:59,280 --> 00:16:01,090 کد فشرده در کمی. 320 00:16:01,090 --> 00:16:03,620 بنابراین، هنگامی که ما به نمونه کد را دریافت کنید، من مطمئن باشید به جلو که یکی. 321 00:16:03,620 --> 00:16:04,700 این است که OK؟ 322 00:16:04,700 --> 00:16:05,950 متشکرم. 323 00:16:05,950 --> 00:16:07,690 324 00:16:07,690 --> 00:16:08,750 >> نام شما چه بود؟ 325 00:16:08,750 --> 00:16:10,620 >> یک مدعو: آرون. 326 00:16:10,620 --> 00:16:14,830 >> KEVIN Schmid در: آرون به ارمغان می آورد بسیار نقطه خوب است، که این است که اگر من تا به حال 327 00:16:14,830 --> 00:16:18,560 برخی از کد های ویژه محاسباتی در چیزهای با بخش F، بقیه 328 00:16:18,560 --> 00:16:22,880 برنامه من نمی تواند اجرا شود و نمی تواند گوش برای درخواست های جدید و یا هر چیزی تا زمانی که همه 329 00:16:22,880 --> 00:16:24,270 چیزهای که تمام شده است. 330 00:16:24,270 --> 00:16:27,390 پس اگر من به نوشتن کد گره به طور کلی مگر اینکه ما چیزی شبیه به من قصد دارم 331 00:16:27,390 --> 00:16:33,060 نشان می دهد بعد از آن زمانی که ما در نگاه نمونه کد، من باید مطمئن شوید که 332 00:16:33,060 --> 00:16:36,060 کد من به کراوات نیست تا این حلقه رویداد. 333 00:16:36,060 --> 00:16:38,120 آیا این را حس؟ 334 00:16:38,120 --> 00:16:38,350 OK. 335 00:16:38,350 --> 00:16:40,040 دانلود. 336 00:16:40,040 --> 00:16:47,090 >> بنابراین Node.js ارائه می دهد این چارچوب است که شما می توانید این رویداد ساخت محور 337 00:16:47,090 --> 00:16:48,210 سرویس دهنده با. 338 00:16:48,210 --> 00:16:53,460 پس از آن تا این نوع ناهمزمان غیر مسدود کردن I / O کتابخانه، در حالی که 339 00:16:53,460 --> 00:16:56,800 کتابخانه استاندارد C است که ما شده ایم کار با، مانند اگر شما فقط 340 00:16:56,800 --> 00:16:59,500 استفاده از آنها در راه همان است که ما شده است با استفاده از آنها را با f باز می شود و 341 00:16:59,500 --> 00:17:03,000 مسائل، آن مسدود دلیل در واقع شما باید برای صبر 342 00:17:03,000 --> 00:17:04,470 که فایل برای باز کردن. 343 00:17:04,470 --> 00:17:09,290 >> اما Node.js به شما می دهد که و آن را اساسا به V8 گوگل روابط 344 00:17:09,290 --> 00:17:14,030 جاوا اسکریپت موتور است که به همین که کروم تا در پردازش سریع 345 00:17:14,030 --> 00:17:17,040 جاوا اسکریپت به دلیل آن است این موتور V8. 346 00:17:17,040 --> 00:17:22,460 بنابراین من می دانم که برای تلفن های موبایل مانند یکی از آن WWDC کنفرانس توسعه دهنده چیزی 347 00:17:22,460 --> 00:17:25,390 جایی که آنها فقط پرتاب یک دسته از چیزهایی نامه شماره پردازنده 348 00:17:25,390 --> 00:17:26,910 و می گویند این است تا سرد. 349 00:17:26,910 --> 00:17:34,200 اما جالب است که آنها این به این دلیل جاوا اسکریپت - 350 00:17:34,200 --> 00:17:37,010 یا شاید اگر شما با آشنا نیست جاوا اسکریپت هنوز چون ما نداشته است 351 00:17:37,010 --> 00:17:38,180 سخنرانی ها بر روی آن - 352 00:17:38,180 --> 00:17:40,770 اما جاوا اسکریپت یک تفسیر زبان. 353 00:17:40,770 --> 00:17:41,970 >> و این نکته بسیار مهم است بیش از حد است. 354 00:17:41,970 --> 00:17:45,790 بنابراین آن را برای وب سایت ما مهم سرور به سرعت، درست است؟ 355 00:17:45,790 --> 00:17:49,970 و اگر ما فقط در حال اجرا جاوا اسکریپت کد که با تفسیر شد فقط 356 00:17:49,970 --> 00:17:52,130 هر مفسر قدیمی ممکن است کند. 357 00:17:52,130 --> 00:17:55,980 مزایای بنابراین گره را از داشتن این مترجم V8 فوق العاده سریع می باشد. 358 00:17:55,980 --> 00:17:59,580 و من نمی دانم اگر آنها آن را به نام چرا که با کف دست زدن V8 در پیشانی 359 00:17:59,580 --> 00:18:01,110 چیزی، اما OK. 360 00:18:01,110 --> 00:18:07,070 >> بنابراین من برخی از نمونه های آماده ایم در این URL. 361 00:18:07,070 --> 00:18:10,490 پس از این سمینار، من نوعی از رفتن به بحث در مورد چگونه شما می توانید مجموعه ای گره دریافت 362 00:18:10,490 --> 00:18:13,570 ، اما در حال حاضر، من فقط نوع می خواهید از طریق برخی از نمونه های کد به راه رفتن. 363 00:18:13,570 --> 00:18:17,250 بنابراین اگر شما می خواهید به دنبال همراه، همه کد منبع وجود دارد در دسترس است. 364 00:18:17,250 --> 00:18:18,720 OK؟ 365 00:18:18,720 --> 00:18:22,280 >> پس من این URL ترک برای کمی. 366 00:18:22,280 --> 00:18:24,440 و پس از آن من فقط رفتن به سوئیچ به ترمینال. 367 00:18:24,440 --> 00:18:29,670 368 00:18:29,670 --> 00:18:34,400 آیا همه خوب با این URL؟ 369 00:18:34,400 --> 00:18:37,990 من می خواهم به تغییر به ترمینال من در اینجا. 370 00:18:37,990 --> 00:18:42,030 >> بنابراین در اینجا از کد است که من برای امروز. 371 00:18:42,030 --> 00:18:43,960 چرا ما با شروع simpler.js فایل ارسال کنم؟ 372 00:18:43,960 --> 00:18:49,110 373 00:18:49,110 --> 00:18:52,100 نکته دیگر این است که همه از این کد رفتن به در نوشته شود 374 00:18:52,100 --> 00:18:56,660 که جاوا اسکریپت شما ممکن است یا ممکن است با آن آشنا. 375 00:18:56,660 --> 00:19:00,170 من حدس می زنم یک زن و شوهر از چیزهایی است که بسیاری کد جاوا اسکریپت از نوع است 376 00:19:00,170 --> 00:19:04,000 نحو و ساختار بسیار شبیه به است C، بنابراین شما می توانید نوع آن را انتخاب کنید تا به عنوان 377 00:19:04,000 --> 00:19:05,020 شما به همراه. 378 00:19:05,020 --> 00:19:08,750 من سعی کردم به نوشتن بسیاری از کد شروع این در راه است که در 379 00:19:08,750 --> 00:19:11,230 شبیه به C به طوری که آن را کمی بیشتر قابل خواندن است. 380 00:19:11,230 --> 00:19:15,980 اما ما به عنوان پیشرفت، من خواهم بود نشان دادن برخی از اضافی 381 00:19:15,980 --> 00:19:18,980 از ویژگی های جاوا اسکریپت است که می باحاله. 382 00:19:18,980 --> 00:19:21,510 >> اما اجازه دهید در این برنامه نمونه نگاه کنید. 383 00:19:21,510 --> 00:19:24,820 من حدس می زنم همه چیز قطع وجود دارد. 384 00:19:24,820 --> 00:19:28,500 من فقط رفتن به رفع واقعی سریع اگر که خوب است یا نه. 385 00:19:28,500 --> 00:19:31,400 من نمی دانم چه چیزی این است که به انجام. 386 00:19:31,400 --> 00:19:34,660 این است که کمی بهتر؟ 387 00:19:34,660 --> 00:19:36,510 می توانید از ور و چیزهای را مشاهده می کنید؟ 388 00:19:36,510 --> 00:19:39,320 OK. 389 00:19:39,320 --> 00:19:44,120 >> پس خط اول آن است مانند جاوا اسکریپت نسخه از یک متغیر 390 00:19:44,120 --> 00:19:44,800 بیانیه. 391 00:19:44,800 --> 00:19:49,870 پس فقط به برجسته کردن آنچه که در این صورت، مانند C. نگاه کنید تا این درست مثل 392 00:19:49,870 --> 00:19:52,620 شاخص به من گفت: برابر است با سه و یا چیزی شبیه به آن. 393 00:19:52,620 --> 00:19:55,740 برای همین من از نوع مشخص نیست. 394 00:19:55,740 --> 00:20:00,780 جاوا اسکریپت دارای انواع، اما آن را بسیار به صورت پویا در طبیعت تایپ، پس 395 00:20:00,780 --> 00:20:02,580 هیچ نوع از نوع در آن ارائه نمی دهد. 396 00:20:02,580 --> 00:20:03,670 پس از آن فقط ور. 397 00:20:03,670 --> 00:20:05,320 که مانند متغیر است. 398 00:20:05,320 --> 00:20:05,920 OK؟ 399 00:20:05,920 --> 00:20:08,340 >> و من خواستار این HTTP متغیر است. 400 00:20:08,340 --> 00:20:12,480 و در سمت راست من، من بیان که من می خواهم در HTTP قرار داده است. 401 00:20:12,480 --> 00:20:14,960 و این می گوید نیاز به HTTP. 402 00:20:14,960 --> 00:20:18,500 پس این است که نوع مشابه باشد. 403 00:20:18,500 --> 00:20:22,940 این کمی بیشتر شبیه قوی تر از شامل به این معنا که شامل 404 00:20:22,940 --> 00:20:26,100 فقط کپی کنید و هدر کپی کنید فایل برای نمونه تابع و یا 405 00:20:26,100 --> 00:20:27,930 هر چه با تعریف نوع. 406 00:20:27,930 --> 00:20:30,590 اما نیاز است که در واقع رفتن به ما این کد را دریافت کنید. 407 00:20:30,590 --> 00:20:33,280 >> بنابراین شما می توانید از آن به عنوان فکر می کنم وارد کردن بعضی از کد. 408 00:20:33,280 --> 00:20:37,960 بنابراین در جایی در ماژول Node.js سیستم یا هر چیز دیگری، آنها این همه 409 00:20:37,960 --> 00:20:40,790 کد HTTP سرور، بنابراین من فقط هستم آوردن آن را برای خود من 410 00:20:40,790 --> 00:20:43,130 استفاده شخصی در این برنامه است. 411 00:20:43,130 --> 00:20:44,260 OK؟ 412 00:20:44,260 --> 00:20:46,930 >> پس من این عملکرد را که من نوشته ام. 413 00:20:46,930 --> 00:20:50,330 و من متوجه نیست که مشخص نوع بازگشت و یا نوع 414 00:20:50,330 --> 00:20:51,140 استدلال دوباره. 415 00:20:51,140 --> 00:20:54,440 بنابراین نوع شل در تایپ این نوع از احساس. 416 00:20:54,440 --> 00:20:57,290 دو استدلال که طول می کشد در، درخواست و پاسخ. 417 00:20:57,290 --> 00:21:02,080 به طوری که مفهومی مثل از تصویری که ما تا به حال آشنا 418 00:21:02,080 --> 00:21:05,280 بر روی صفحه نمایش قبل به دلیل ما این درخواست کنید که ما 419 00:21:05,280 --> 00:21:06,410 از کاربر داشته باشد. 420 00:21:06,410 --> 00:21:09,170 و پس از آن ما باید یک پاسخ که ما می توانیم همه چیز را بنویسید. 421 00:21:09,170 --> 00:21:15,060 >> بنابراین اولین خط از این کار res.writeHead 200 و پس از آن این 422 00:21:15,060 --> 00:21:17,070 نوع محتوا متن ساده. 423 00:21:17,070 --> 00:21:19,300 بنابراین اجازه دهید این قطعه از هم جدا کم است. 424 00:21:19,300 --> 00:21:22,340 بنابراین اجازه دهید فقط در res.write تمرکز برای کمی. 425 00:21:22,340 --> 00:21:28,420 بنابراین نوشتن است که اساسا، و ارسال به سر، تنها راه برای نوع نوشتن است 426 00:21:28,420 --> 00:21:29,960 همه چیز را به پاسخ. 427 00:21:29,960 --> 00:21:30,770 OK؟ 428 00:21:30,770 --> 00:21:36,230 بنابراین سر نوشتن، اگر کسی به یاد از سخنرانی HTTP، آیا شما بچه ها 429 00:21:36,230 --> 00:21:39,940 به یاد داشته باشید هدر در از چیزی که HTTP؟ 430 00:21:39,940 --> 00:21:43,580 پس چرا من فقط نسخه ی نمایشی هدر سریع واقعی است. 431 00:21:43,580 --> 00:21:44,640 آیا این مفید است؟ 432 00:21:44,640 --> 00:21:45,500 یا باید ما فقط نوع - 433 00:21:45,500 --> 00:21:46,070 OK. 434 00:21:46,070 --> 00:21:46,740 مطمئن شوید. 435 00:21:46,740 --> 00:21:52,340 >> بنابراین، هنگامی که مرورگر خود را می رود به google.com و یا چیزی شبیه به آن، 436 00:21:52,340 --> 00:21:54,250 در واقع کمی بیشتر وجود دارد - 437 00:21:54,250 --> 00:21:55,380 این مثل یک راز - 438 00:21:55,380 --> 00:21:58,340 مانند اطلاعات کمی بیشتر وجود دارد که می آید از طریق لوله از 439 00:21:58,340 --> 00:22:00,180 جستجو کمی و همه چیز. 440 00:22:00,180 --> 00:22:03,550 بنابراین به شما این نشان می دهد، من قصد دارم برای استفاده از برنامه ای به نام حلقه. 441 00:22:03,550 --> 00:22:04,260 OK؟ 442 00:22:04,260 --> 00:22:08,020 بنابراین این چیزی است که شما می توانید در اجرا است خط فرمان مک OSX شما و یا در 443 00:22:08,020 --> 00:22:09,830 لوازم خانگی و یا هر چیز دیگری. 444 00:22:09,830 --> 00:22:17,050 و به این ترتیب اگر من خم HTTP google.com، من قصد دارم برای دیدن HTML. 445 00:22:17,050 --> 00:22:21,230 و این است که، در انصاف، فقط HTML که مرتب سازی بر اساس به شما می گوید به 446 00:22:21,230 --> 00:22:24,695 ورود به وب اگر مرورگر خود را نمی کند به طور خودکار رسیدگی به 447 00:22:24,695 --> 00:22:27,110 تغییر مسیر. 448 00:22:27,110 --> 00:22:33,390 >> بنابراین این فقط HTML، اما من قصد دارم برای اضافه کردن به حلقه این خط تیره I پرچم. 449 00:22:33,390 --> 00:22:33,600 OK؟ 450 00:22:33,600 --> 00:22:35,600 و این است که برای نشان دادن من هدر. 451 00:22:35,600 --> 00:22:40,640 بنابراین این اطلاعات در می آید که از وقتی که من دریافت این پاسخ. 452 00:22:40,640 --> 00:22:41,260 OK؟ 453 00:22:41,260 --> 00:22:45,320 >> بنابراین در بالای صفحه، شما این را مشاهده کنید HTTP 301 حرکت به طور دائم. 454 00:22:45,320 --> 00:22:49,470 و این نوع مهم است زیرا این اشاره به کد وضعیت. 455 00:22:49,470 --> 00:22:53,750 پس 301 در اینجا کد وضعیت است، است که اساسا فقط یک عدد صحیح 456 00:22:53,750 --> 00:22:57,750 که می گوید که مرورگر یا هر کس است خواندن این، اگر شما وانمود 457 00:22:57,750 --> 00:23:01,460 شما یک مرورگر هستید و شما با دیدن این، در واقع در حال حاضر اگر شما در نگاه 458 00:23:01,460 --> 00:23:04,960 که و شما یک 301، شما می دانید من برای انجام کاری خاص بر اساس 459 00:23:04,960 --> 00:23:08,810 301، و یا اتفاق خاصی افتاده، بر اساس 301. 460 00:23:08,810 --> 00:23:12,640 بنابراین آن را می گوید نقل مکان کرد و به طور دائم. 461 00:23:12,640 --> 00:23:17,700 >> و پس از آن، در واقع، ما یک دسته از جفت کلید. 462 00:23:17,700 --> 00:23:22,100 بنابراین ما می توانید از محل www.google.com است. 463 00:23:22,100 --> 00:23:25,190 و پس از آن نوع از تمام این مسائل دیگر، اما اساسا، محل است 464 00:23:25,190 --> 00:23:29,662 گفت محل جدید است است در www.google.com. 465 00:23:29,662 --> 00:23:33,800 بنابراین در حال حاضر اگر شما به google.com بروید، شما مرتب کردن بر اساس نوع مرورگر از زدن ببینید 466 00:23:33,800 --> 00:23:38,770 برای یک ثانیه و سپس تغییر مسیر می حق بازگشت به www.google.com. 467 00:23:38,770 --> 00:23:41,840 پس از پاسخ می تواند شامل این هدر. 468 00:23:41,840 --> 00:23:43,330 >> و چند چیز به اشاره. 469 00:23:43,330 --> 00:23:46,890 بنابراین اجازه دهید می گویند ما در واقع موفقیت آمیز بود در بازدید از یک صفحه وب است. 470 00:23:46,890 --> 00:23:49,040 بنابراین اجازه دهید من برای رفتن - 471 00:23:49,040 --> 00:23:51,080 آنچه که یک وب سایت خوب است؟ 472 00:23:51,080 --> 00:23:53,285 من در فکر خوب بد وب سایت ها در نقطه ای. 473 00:23:53,285 --> 00:23:53,640 >> یک مدعو: ویکیپدیا. 474 00:23:53,640 --> 00:23:54,160 >> KEVIN Schmid در: OK. 475 00:23:54,160 --> 00:23:56,040 اجازه دهید ویکیپدیا. 476 00:23:56,040 --> 00:23:58,680 بنابراین در اینجا من منتقل شد. 477 00:23:58,680 --> 00:23:59,240 آه صبر کنید. 478 00:23:59,240 --> 00:24:00,160 I بود؟ 479 00:24:00,160 --> 00:24:00,890 بله، من بود. 480 00:24:00,890 --> 00:24:01,100 OK. 481 00:24:01,100 --> 00:24:03,005 بنابراین من به انجام WWW. 482 00:24:03,005 --> 00:24:06,006 من می خواهم به انجام WWW. 483 00:24:06,006 --> 00:24:09,680 و همانطور که می بینید، در اینجا همه HTML است که مرورگر می روند 484 00:24:09,680 --> 00:24:10,910 برای ویکیپدیا. 485 00:24:10,910 --> 00:24:14,055 >> اما اگر من را اسکرول کردن در اینجا، آنچه که من در بالا نگاه کنید - 486 00:24:14,055 --> 00:24:17,800 وای، در بسیاری از وجود دارد HTML در ویکیپدیا - 487 00:24:17,800 --> 00:24:22,550 اما آنچه که من می توانید در بالا در اینجا مشاهده کنید است این کد 200 وضعیت به عنوان مخالف به 488 00:24:22,550 --> 00:24:24,570 301 که من قبلا دیدم. 489 00:24:24,570 --> 00:24:27,100 و متوجه است که آن را خوب OK دوستانه در کنار آن. 490 00:24:27,100 --> 00:24:29,470 پس این است که مانند کد وضعیت خوب است. 491 00:24:29,470 --> 00:24:31,160 >> آیا این تعداد 200 نگاهی آشنا نیست؟ 492 00:24:31,160 --> 00:24:34,120 493 00:24:34,120 --> 00:24:39,880 بله، زیرا وقتی که من simpler.js انجام داد، من نوشت 200 وجود دارد. 494 00:24:39,880 --> 00:24:43,290 به طوری که اساسا و گفت بگو مرورگر و یا هر کس در تلاش است تا به 495 00:24:43,290 --> 00:24:45,440 این که آنها موفق بودند. 496 00:24:45,440 --> 00:24:49,040 یا که مثل ما خیلی موفق بودند. 497 00:24:49,040 --> 00:24:54,320 >> و در این نوع از نحو ویژه ای وجود دارد در جاوا اسکریپت برای اعلام 498 00:24:54,320 --> 00:24:59,870 نقشه از این کلید مانند نوع محتوا و این مقادیر را مانند متن ساده. 499 00:24:59,870 --> 00:25:03,780 بنابراین اگر شما به پاسخ نگاه کنید که ما کردم از ویکیپدیا، قبل، - 500 00:25:03,780 --> 00:25:06,200 من قصد دارم سعی می کنید به حرکت تا کمی سریع تر - 501 00:25:06,200 --> 00:25:09,900 شما باید این کلید مانند سرور و این مقادیر آپاچی. 502 00:25:09,900 --> 00:25:12,120 بنابراین شما کلید ها و مقادیر کردم. 503 00:25:12,120 --> 00:25:15,930 و شما می توانید این را در مشخص گره چه باید فرستاد. 504 00:25:15,930 --> 00:25:19,380 >> بنابراین در واقع این نوع، در برخی از راه، و در برخی از روش های آن را 505 00:25:19,380 --> 00:25:23,170 واقعا، اما آن را به سطح کمی پایین تر است از کد PHP که شما ممکن است 506 00:25:23,170 --> 00:25:26,980 نوشتن برای P مجموعه هفت دلیل PHP و آپاچی نوع مراقبت از برخی را 507 00:25:26,980 --> 00:25:28,150 از این چیزها برای شما. 508 00:25:28,150 --> 00:25:32,520 در PHP، شما می توانید به طور پیش فرض نادیده گرفتن رفتار با نوشتن هدر خود را. 509 00:25:32,520 --> 00:25:35,520 اما برای اهداف این، ما برای نوشتن هدر خود ما. 510 00:25:35,520 --> 00:25:38,210 511 00:25:38,210 --> 00:25:41,105 >> بنابراین می کند که خط درست است همه، خط سر نوشتن؟ 512 00:25:41,105 --> 00:25:41,380 OK. 513 00:25:41,380 --> 00:25:42,280 بسیار معروف. 514 00:25:42,280 --> 00:25:45,870 >> پس آنچه که من انجام شده است I پایان دادن به پاسخ با گفتن سلام جهان است. 515 00:25:45,870 --> 00:25:47,040 OK. 516 00:25:47,040 --> 00:25:49,920 اما این فقط یک تابع است به نام درخواست برنامه کنترل. 517 00:25:49,920 --> 00:25:53,510 بنابراین در حال حاضر من در واقع به نوعی از انجام چیزی با این تابع، درست است؟ 518 00:25:53,510 --> 00:25:59,170 >> بنابراین در اینجا آنچه که من انجام شده است وجود دارد این خط هست که برابر سرور ور 519 00:25:59,170 --> 00:26:03,530 HTTP.create سرور، و سپس I پاس در کنترل درخواست. 520 00:26:03,530 --> 00:26:06,080 بنابراین این نوع از گره است راه ایجاد یک سرور. 521 00:26:06,080 --> 00:26:08,790 و توجه کنید که من عبور در کنترل درخواست. 522 00:26:08,790 --> 00:26:12,290 پس این است گفتن createServer تابع است که من می خواهم شما به من یک 523 00:26:12,290 --> 00:26:16,270 سرور، و هنگامی که سرور دریافت پاسخ، من باید شما را به به این 524 00:26:16,270 --> 00:26:18,680 درخواست تابع کنترل. 525 00:26:18,680 --> 00:26:18,990 OK؟ 526 00:26:18,990 --> 00:26:22,290 >> به طوری که خط بسیار زیبا پس از اتمام حق دور. 527 00:26:22,290 --> 00:26:28,780 بنابراین خط سرور ور درست انجام شده است پس از شما انجام این کار تقریبا. 528 00:26:28,780 --> 00:26:31,770 منظور من، آن را به راه اندازی برخی از داخلی دولت می دانم که شما را به 529 00:26:31,770 --> 00:26:35,400 تماس بگیرید که تابع درخواست کنترل، اما آن را نه برای نشستن وجود دارد و 530 00:26:35,400 --> 00:26:37,730 مثلا تا به کاربر ارسال می شود من یک درخواست رتبهدهی نشده است؟ 531 00:26:37,730 --> 00:26:39,270 تا به کاربر من یک درخواست فرستاده نشده است؟ 532 00:26:39,270 --> 00:26:40,780 پس از آن متوقف کند. 533 00:26:40,780 --> 00:26:41,650 OK؟ 534 00:26:41,650 --> 00:26:46,120 >> پس چه انجام این کار آن است که اساسا در حال حاضر یک اشاره گر به این کد ذخیره، 535 00:26:46,120 --> 00:26:49,670 این درخواست تابع کنترل، و پس از آن که کد اجرا شود وقتی کسی 536 00:26:49,670 --> 00:26:52,170 یک درخواست. 537 00:26:52,170 --> 00:26:54,120 و بعد ما انجام server.listen. 538 00:26:54,120 --> 00:26:56,950 539 00:26:56,950 --> 00:26:59,960 >> 1337 بسیار خودسرانه وجود دارد. 540 00:26:59,960 --> 00:27:02,285 من تا به حال هیچ دلیل خاصی برای چیدن این تعداد. 541 00:27:02,285 --> 00:27:03,860 این کاملا تصادفی بود. 542 00:27:03,860 --> 00:27:07,010 اما این فقط پورت مشخص می کند. 543 00:27:07,010 --> 00:27:10,640 بنابراین اکثر سرورهای وب شما خواهید دید که آنها استفاده از پورت 80 که به دلیل نوع 544 00:27:10,640 --> 00:27:11,810 مانند این کنوانسیون. 545 00:27:11,810 --> 00:27:16,170 بنابراین اگر من به چیزی شبیه به، من نمی دانم، Wikipedia.org، 546 00:27:16,170 --> 00:27:17,700 و من قرار روده بزرگ 8 - 547 00:27:17,700 --> 00:27:18,610 آه عجب، شما می توانید ببینید که. 548 00:27:18,610 --> 00:27:19,370 من متاسفم. 549 00:27:19,370 --> 00:27:21,820 اما اگر من ویکیپدیا - 550 00:27:21,820 --> 00:27:24,810 من آن را در اینجا ارسال فقط به طوری که آن را در دوربین روشن است. 551 00:27:24,810 --> 00:27:29,150 اما اگر من این را به یک مرورگر با روده بزرگ 80، که مشخص به 552 00:27:29,150 --> 00:27:31,430 Wikipedia.org در پورت 80. 553 00:27:31,430 --> 00:27:36,200 بنابراین آن را مانند که چگونه ایالات متحده کرده است پورت های متعدد مانند که در آن شما می توانید کشتی 554 00:27:36,200 --> 00:27:37,440 همه چیز به نوع. 555 00:27:37,440 --> 00:27:40,730 بنابراین آن را مانند رفتن به این خاص است روی این سرور. 556 00:27:40,730 --> 00:27:40,990 OK. 557 00:27:40,990 --> 00:27:45,730 >> بنابراین من فقط 1337 انتخاب کرد. 558 00:27:45,730 --> 00:27:47,910 یک طیف وسیعی از اعداد وجود دارد که شما می توانید انتخاب کنید. 559 00:27:47,910 --> 00:27:50,390 بود که کاملا خاص است. 560 00:27:50,390 --> 00:27:54,560 >> اما آنچه من قصد دارم در حال حاضر است من قصد دارم برای اجرای گره. 561 00:27:54,560 --> 00:27:59,730 اجازه بدهید من در واقع وارد کنید که یک زن و شوهر خطوط پایین به طوری که شما می توانید آن را ببینید. 562 00:27:59,730 --> 00:28:03,130 من قصد دارم برای انجام گره، و من رفتن به اجرا simpler.js. 563 00:28:03,130 --> 00:28:06,880 و ما در مورد چگونه می توانید صحبت کنید گره در کمی گذاشته. 564 00:28:06,880 --> 00:28:09,350 اما در حال حاضر آن را فقط در حال اجرا به سرور. 565 00:28:09,350 --> 00:28:14,360 >> بنابراین چیزی که ما می توانید سعی کنید که ممکن است باشد که هیجان انگیز است که ما در واقع می تواند 566 00:28:14,360 --> 00:28:16,300 سعی کنید به آن دسترسی داشته باشید در حلقه. 567 00:28:16,300 --> 00:28:20,680 بنابراین من می تواند حلقه را انجام دهد، و من ماشین میزبان محلی است. 568 00:28:20,680 --> 00:28:24,600 شما همچنین خواهید دید این نوشته مثل این گاهی اوقات. 569 00:28:24,600 --> 00:28:29,810 میزبان محلی و 127.0.0.1 می باشد نوع مثل کامپیوتر خانگی خود را. 570 00:28:29,810 --> 00:28:33,180 بنابراین آن را مانند صحبت کردن است کامپیوتر خود تغییر دهید. 571 00:28:33,180 --> 00:28:33,760 OK. 572 00:28:33,760 --> 00:28:36,030 >> و بعد من می 1337 گویند. 573 00:28:36,030 --> 00:28:39,630 پس اگر من این خط از کد اجرا شود، آن را می گوید سلام جهان است. 574 00:28:39,630 --> 00:28:44,050 و اگر من می خواستم ببینم که چیزهای که حال متن نوع محتوا ساده و یا 575 00:28:44,050 --> 00:28:46,560 هر چه، من حتی می تواند از این قرار است. 576 00:28:46,560 --> 00:28:48,810 و متوجه که آن را می گویند OK. 577 00:28:48,810 --> 00:28:50,810 و من متن ساده. 578 00:28:50,810 --> 00:28:53,140 و پس از آن نوع از همه وجود دارد این دیگر مطالبی که گره اضافه خواهد شد در 579 00:28:53,140 --> 00:28:54,440 برای من وجود دارد. 580 00:28:54,440 --> 00:28:55,700 که فوق العاده مهم است. 581 00:28:55,700 --> 00:28:58,230 >> منظورم این است که، برخی از نوع های فنی وجود دارد جنبه های که در آن نوعی 582 00:28:58,230 --> 00:29:02,280 از سرد به بحث در مورد، اما فقط برای نشان دادن شما، من هم این قدرت را داشته باشد 583 00:29:02,280 --> 00:29:03,070 تغییر این اطراف. 584 00:29:03,070 --> 00:29:06,280 بنابراین من فقط می تواند اضافه کردن یک دسته از چیزهای مانند آن. 585 00:29:06,280 --> 00:29:11,780 و پس از آن در حال حاضر، اگر من در نگاه من خروجی، از آن خواهد شد که. 586 00:29:11,780 --> 00:29:19,740 بنابراین این هدر معانی خاص به مرورگرها و مانند آن. 587 00:29:19,740 --> 00:29:23,040 >> و هدر اساسا می تواند به مرورگر بگویید چگونگی پاسخ به چیزی. 588 00:29:23,040 --> 00:29:26,280 اگر تا کنون از کوکی ها قبل از شنیده می شود، و یا اگر شما تا کنون اذیت شده است 589 00:29:26,280 --> 00:29:29,330 توسط یک صفحه وب ایجاد کوکی ها، و یا تبدیل در بلوک کوکی و یا 590 00:29:29,330 --> 00:29:30,320 چیزی شبیه به آن. 591 00:29:30,320 --> 00:29:33,040 شما در واقع می تواند کوکی های ذخیره شده در این هدر. 592 00:29:33,040 --> 00:29:36,990 به طوری که آنها یک مرورگر چگونه بگویم رفتار در برخی موارد. 593 00:29:36,990 --> 00:29:37,750 OK. 594 00:29:37,750 --> 00:29:40,310 >> به طوری که simpler.js بود. 595 00:29:40,310 --> 00:29:42,780 آیا هر کسی هر گونه سوال در آن فایل کد منبع؟ 596 00:29:42,780 --> 00:29:45,420 597 00:29:45,420 --> 00:29:45,610 OK. 598 00:29:45,610 --> 00:29:46,490 دانلود. 599 00:29:46,490 --> 00:29:50,780 >> بنابراین اجازه دهید تحقیق را از که و در simple.js نگاه کنید. 600 00:29:50,780 --> 00:29:53,010 پس این است که تقریبا همان برنامه. 601 00:29:53,010 --> 00:29:56,030 من فقط آن را نوشت کمی متفاوت چون من می خواستم به نوعی برجسته 602 00:29:56,030 --> 00:29:57,850 برخی از ویژگی های جاوا اسکریپت. 603 00:29:57,850 --> 00:30:03,880 >> بنابراین توجه کنید که کنترل درخواست عملکرد کاملا از بین رفت. 604 00:30:03,880 --> 00:30:05,800 اوه بله، یک سوال؟ 605 00:30:05,800 --> 00:30:08,200 >> یک مدعو: آره، استدلال که به که گذشت 606 00:30:08,200 --> 00:30:10,120 تابع، آنها چه هستند؟ 607 00:30:10,120 --> 00:30:12,050 >> KEVIN Schmid در: بنابراین کسانی که می جاوا اسکریپت اشیاء. 608 00:30:12,050 --> 00:30:15,230 در اسناد و مدارک Node.js، آن اساسا می گوید که چه روش ها 609 00:30:15,230 --> 00:30:15,910 موجود در آنها. 610 00:30:15,910 --> 00:30:19,602 ما فقط اتفاق می افتد که دسترسی به این روش به نام نوشتن سر و پایان 611 00:30:19,602 --> 00:30:20,730 و چیزهای مانند آن. 612 00:30:20,730 --> 00:30:22,590 اما یک دسته کامل وجود دارد روش بیشتر است. 613 00:30:22,590 --> 00:30:27,670 >> و به عنوان مثال، مانند یکی از آنها به طور خاص در نوشتن، شما می توانید انجام دهید 614 00:30:27,670 --> 00:30:34,540 چیزی شبیه به rec.method که خواهد شد شما بگوید که آیا این یک HTTP یا 615 00:30:34,540 --> 00:30:36,780 HTTP ارسال درخواست و چیزهایی مانند آن. 616 00:30:36,780 --> 00:30:39,100 بنابراین انواع مختلف وجود دارد خواص، اما هر دو آنها هستید 617 00:30:39,100 --> 00:30:42,560 جاوا اسکریپت اشیاء، و آنها فقط باید توابع متصل به آنها را که شما 618 00:30:42,560 --> 00:30:43,850 می تواند کارها را به نوشتن. 619 00:30:43,850 --> 00:30:45,520 OK؟ 620 00:30:45,520 --> 00:30:49,030 >> بنابراین توجه کنید که کنترل درخواست کاملا رفته است. 621 00:30:49,030 --> 00:30:52,650 اما کدی که من در درخواست به حال برنامه کنترل است که هنوز هم وجود دارد. 622 00:30:52,650 --> 00:30:56,520 من هنوز این res.writeHead دارند و من هنوز هم این res.end داشته باشد. 623 00:30:56,520 --> 00:31:00,270 و چه این یک نمونه از در است جاوا اسکریپت این ایده است 624 00:31:00,270 --> 00:31:01,460 تابع بی نام. 625 00:31:01,460 --> 00:31:04,180 و ناشناس است مانند یک نام مناسب برای آن به دلیل آن را به معنای واقعی کلمه نمی کند 626 00:31:04,180 --> 00:31:05,180 یک نام. 627 00:31:05,180 --> 00:31:07,900 هیچ درخواست تابع وجود دارد برنامه کنترل در آن وجود دارد. 628 00:31:07,900 --> 00:31:10,110 >> بدون نام، اما هنوز هم است در نظر گرفتن بحث و جدل. 629 00:31:10,110 --> 00:31:12,250 پس من هنوز هم نوشتن و RES. 630 00:31:12,250 --> 00:31:16,180 و من هنوز کد داشته باشد. 631 00:31:16,180 --> 00:31:18,930 این کاملا خوب کد جاوا اسکریپت. 632 00:31:18,930 --> 00:31:22,540 بنابراین من می تواند یک تابع بدون اعلام به صراحت به آن نام. 633 00:31:22,540 --> 00:31:24,250 این کمی گیج کننده است در ابتدا. 634 00:31:24,250 --> 00:31:26,230 برخی از چیزهای مفید مانند وجود دارد که شما می توانید با انجام 635 00:31:26,230 --> 00:31:28,450 این توابع بی نام. 636 00:31:28,450 --> 00:31:32,100 آیا هر کسی هر گونه سوال در این، و یا آن را OK فقط به، در حال حاضر، 637 00:31:32,100 --> 00:31:34,130 نوع فقط شرایط است که آن را خواهد همین کار را بکند؟ 638 00:31:34,130 --> 00:31:36,700 639 00:31:36,700 --> 00:31:37,125 بله؟ 640 00:31:37,125 --> 00:31:38,680 >> یک مدعو: آیا توابع اولین کلاس در جاوا اسکریپت؟ 641 00:31:38,680 --> 00:31:41,020 >> KEVIN Schmid در: آنها اول کلاس در جاوا اسکریپت. 642 00:31:41,020 --> 00:31:45,490 و فقط می دانیم که این مفاهیم از عبور در یک تابع بی نام مانند 643 00:31:45,490 --> 00:31:49,600 این تقاضای خود را به جاوا اسکریپت است که شما ممکن است در پروژه نهایی خود را برای ارسال 644 00:31:49,600 --> 00:31:51,260 مرورگر وب بیش از حد. 645 00:31:51,260 --> 00:31:56,700 بنابراین برای مثال، در جاوا اسکریپت مرورگر شما، آن را نیز تا حدودی رویداد 646 00:31:56,700 --> 00:32:00,680 رانده می شود به این معنا که آنچه به شما داشته باشد زمانی است که کاربر اینجا کلیک 647 00:32:00,680 --> 00:32:02,640 را فشار دهید، من می خواهم شما را به اجرای این کد. 648 00:32:02,640 --> 00:32:07,070 >> پس از آن همان نوع ایده از این سمت سرویس گیرنده زمانی که با یک کلیک ماوس و یا آنها 649 00:32:07,070 --> 00:32:09,870 ماوس را روی برخی از تصویر خود را در تو صفحه وب، اجرای این کد. 650 00:32:09,870 --> 00:32:11,350 است که می تواند به سرویس دهنده اعمال می شود. 651 00:32:11,350 --> 00:32:16,380 پس این نوع مانند هیجان انگیز به همین دلیل جاوا اسکریپت است که واقعا 652 00:32:16,380 --> 00:32:19,810 افراد مناسب و یا برخی فکر می کنم این زبان مناسب برای این نوع از 653 00:32:19,810 --> 00:32:22,530 راننده سرور رویداد دلیل این که شما این توابع بی نام. 654 00:32:22,530 --> 00:32:26,150 شما تمام ایده از این کد ناهمزمان. 655 00:32:26,150 --> 00:32:27,060 OK. 656 00:32:27,060 --> 00:32:30,360 هر کسی هر گونه سوال؟ 657 00:32:30,360 --> 00:32:30,470 >> OK. 658 00:32:30,470 --> 00:32:33,440 به طوری که simple.js بود. 659 00:32:33,440 --> 00:32:38,070 بنابراین اجازه دهید در یک نگاه و یا یک زن و شوهر است. 660 00:32:38,070 --> 00:32:42,040 بنابراین این sleep.js است. 661 00:32:42,040 --> 00:32:47,160 بنابراین هر کسی با آن آشنا باشد عملکرد خواب C؟ 662 00:32:47,160 --> 00:32:50,936 از شاید یکی از سخنرانی های قبلی و یا چیزی شبیه به آن؟ 663 00:32:50,936 --> 00:32:54,650 >> بنابراین اساسا شما می توانید عبور در من فکر می کنم تعدادی از ثانیه و یا اگر شما با استفاده از U 664 00:32:54,650 --> 00:32:57,080 خواب تعدادی از میلی ثانیه و یا نانو ثانیه. 665 00:32:57,080 --> 00:33:00,450 و اساسا برنامه را متوقف خواهد کرد در حال اجرا برای آن مقدار از زمان. 666 00:33:00,450 --> 00:33:01,280 درست است؟ 667 00:33:01,280 --> 00:33:06,970 و سپس آن را از خواب بیدار در نهایت و سپس آن را فقط ادامه در حال اجرا 668 00:33:06,970 --> 00:33:08,340 برنامه. 669 00:33:08,340 --> 00:33:12,740 >> پس این سرور نوع می دهد این تصور از خواب. 670 00:33:12,740 --> 00:33:17,580 بنابراین توجه کنید که ما باید همان res.writeHead 200 با ضربه سر به عنوان 671 00:33:17,580 --> 00:33:22,130 قبل از، اما بعد از آن ما خواستار این تابع نامیده می شود مجموعه ای ایست. 672 00:33:22,130 --> 00:33:26,170 تنظیم تایم نیز در دسترس است مرورگر وب شما گوگل کروم 673 00:33:26,170 --> 00:33:28,000 و یا سافاری یا هر چیز دیگری. 674 00:33:28,000 --> 00:33:31,720 و اساسا آنچه در آن در حال انجام در اینجا است آن را گرفتن در یک تابع. 675 00:33:31,720 --> 00:33:33,360 توجه، باز هم، آن را تابع بی نام. 676 00:33:33,360 --> 00:33:36,310 پس این نوع از خنک زیرا ما با استفاده از یک تابع بی نام در یک 677 00:33:36,310 --> 00:33:38,950 تابع بی نام که می تواند یک کمی عجیب و غریب. 678 00:33:38,950 --> 00:33:42,270 >> اما آن را با در نظر گرفتن که تابع است که اساسا و گفت - و این راه به 679 00:33:42,270 --> 00:33:47,430 آثار است در 5000 میلی ثانیه، من می خواهم شما برای اجرای آن تابع است که 680 00:33:47,430 --> 00:33:50,830 فقط به پایان می رسد پاسخ و می نویسد: با سلام. 681 00:33:50,830 --> 00:33:56,730 بنابراین این تصور می دهد مانند خواب، اما این راه در واقع 682 00:33:56,730 --> 00:33:59,780 کار می کند این است که ما را از طریق اجرا این خط بسیار به سرعت. 683 00:33:59,780 --> 00:34:01,190 ما فقط نوشتن چیزی. 684 00:34:01,190 --> 00:34:03,780 و سپس ما همچنین می خواهیم از طریق اجرا این خط بسیار به سرعت. 685 00:34:03,780 --> 00:34:08,620 پس ما در واقع نمی صبر کنید پنج ثانیه صورت گرفت. 686 00:34:08,620 --> 00:34:11,370 ما فقط این رو برای اجرای این کد را فورا. 687 00:34:11,370 --> 00:34:14,219 >> و پس از آن وجود دارد، دوباره، این کمی حلقه صورتی که در حال حاضر این چیز 688 00:34:14,219 --> 00:34:17,570 ثبت است که اساسا فقط به طور مداوم رفتن در اطراف در یک دایره 689 00:34:17,570 --> 00:34:21,620 و به دنبال در ساعت در یک موضوع و گفت، تا پنج ثانیه 690 00:34:21,620 --> 00:34:22,360 تصویب نشده است؟ 691 00:34:22,360 --> 00:34:26,409 و پس از آن زمانی که آن را می بیند که دوم دست است مانند پنج ثانیه و یا نقل مکان کرد 692 00:34:26,409 --> 00:34:29,190 هر، سپس آن را از خواب بیدار و می گوید: آه، چه کار باید انجام دهم؟ 693 00:34:29,190 --> 00:34:30,350 اوه من برای اجرای این کد. 694 00:34:30,350 --> 00:34:33,110 و سپس آن را به اجرا res.end سلام. 695 00:34:33,110 --> 00:34:35,360 >> پس باز هم، ما در حال انتظار هرگز در اینجا. 696 00:34:35,360 --> 00:34:38,590 پس از آن نیست که این کد را داخل این تابع می گذرد را به پنج 697 00:34:38,590 --> 00:34:39,900 ثانیه به اجرا شود. 698 00:34:39,900 --> 00:34:43,090 این کد را اجرا خواهد کرد تقریبا بلافاصله، حداقل نسبت به 699 00:34:43,090 --> 00:34:46,139 پنج ثانیه که ما صحبت می کردند در مورد اول قبل از. 700 00:34:46,139 --> 00:34:52,100 >> بنابراین فقط برای نشان دادن این در عمل، من می توانم Node.sleep.js انجام دهد. 701 00:34:52,100 --> 00:34:55,159 و من میکشید تا چیزی؟ 702 00:34:55,159 --> 00:34:56,310 احتمالا. 703 00:34:56,310 --> 00:34:57,410 متأسفم. 704 00:34:57,410 --> 00:34:59,530 اجازه دهید ببینیم که چه چیزی ما می توانیم برای حل این مشکل. 705 00:34:59,530 --> 00:35:10,830 706 00:35:10,830 --> 00:35:12,080 OK. 707 00:35:12,080 --> 00:35:15,460 708 00:35:15,460 --> 00:35:17,464 پس قطعا استفاده از Node.js. 709 00:35:17,464 --> 00:35:19,440 من فقط شوخی. 710 00:35:19,440 --> 00:35:19,570 OK. 711 00:35:19,570 --> 00:35:20,820 فقط یک ثانیه. 712 00:35:20,820 --> 00:35:27,380 713 00:35:27,380 --> 00:35:27,900 OK. 714 00:35:27,900 --> 00:35:29,130 من می دانم آنچه در آن است. 715 00:35:29,130 --> 00:35:34,440 >> بنابراین مسئله این است که در تب های دیگر من در اینجا، من در حال اجرا گره در حال حاضر در 716 00:35:34,440 --> 00:35:36,590 که آدرس همان، 1337. 717 00:35:36,590 --> 00:35:43,370 بنابراین خطا است که این پرتاب کرد، اگر ما نگاه در آن واقعی نزدیک، آدرس در است 718 00:35:43,370 --> 00:35:45,180 استفاده، EADDRINUSE. 719 00:35:45,180 --> 00:35:47,970 بنابراین من در حال حاضر با استفاده از 1337 اینجا. 720 00:35:47,970 --> 00:35:52,210 پس اگر من این خاموش، و سپس من در حال حاضر سعی کنید برای اجرای این، امیدوارم، همه چیز 721 00:35:52,210 --> 00:35:53,210 خوب خواهد شد. 722 00:35:53,210 --> 00:35:53,440 OK. 723 00:35:53,440 --> 00:35:57,020 بنابراین شما فقط می توانید یک چیز مرتب سازی بر دارند از گوش دادن به یک درگاه در یک بار. 724 00:35:57,020 --> 00:35:59,660 راه حل دیگر را برای من بوده است فقط به ویرایش آن برنامه و 725 00:35:59,660 --> 00:36:02,370 آن را مانند 1338 یا چیزی می شود مانند آن. 726 00:36:02,370 --> 00:36:04,100 >> اما در حال حاضر خواب در حال اجرا است. 727 00:36:04,100 --> 00:36:06,400 بنابراین اجازه دهید در واقع آن را امتحان کنید در مرورگر این زمان به خاطر آن 728 00:36:06,400 --> 00:36:09,080 غیر جذاب کمی برای دیدن آن را در یک ترمینال. 729 00:36:09,080 --> 00:36:13,560 بنابراین من فقط رفتن به رفتن به آن 127 آدرس دوباره در 1337. 730 00:36:13,560 --> 00:36:14,850 و اگر شما می توانید آن را ببینید - 731 00:36:14,850 --> 00:36:18,050 من اگر شما می توانید نمی دانند - اما من مرورگر گرفتن بسیار بسیار طولانی 732 00:36:18,050 --> 00:36:20,600 زمان برای بارگذاری و یا مانند پنج ثانیه صورت گرفت. 733 00:36:20,600 --> 00:36:23,460 >> و پس از آن، آن را در نهایت پاسخ به پایان رسید. 734 00:36:23,460 --> 00:36:29,070 و شما نمی توانید آن را ببینید به این دلیل که چیزی است بیش از یک کمی نقل مکان کرد، اما اگر من را 735 00:36:29,070 --> 00:36:32,500 این کمی کوچکتر، به شما می توانید ببینید که آن را می گوید سلام. 736 00:36:32,500 --> 00:36:35,130 بنابراین من هی، اما پس از پنج ثانیه صورت گرفت. 737 00:36:35,130 --> 00:36:38,510 و این ممکن است یک پاک کننده کمی برای دیدن آن را در اینجا در ترمینال، پس من هستم 738 00:36:38,510 --> 00:36:40,980 رفتن به انجام - 739 00:36:40,980 --> 00:36:43,540 اجازه دهید در اینجا انجام - 740 00:36:43,540 --> 00:36:48,370 اجازه دهید به حلقه است که آدرس را انجام دهید دوباره با 1337. 741 00:36:48,370 --> 00:36:50,820 و من فقط نوع مجبور به نشستن در اینجا برای پنج ثانیه صورت گرفت. 742 00:36:50,820 --> 00:36:53,760 اما توجه کنید که سرور می تواند پاسخ های جدید را بپذیرید. 743 00:36:53,760 --> 00:36:54,940 پس از آن چاپ با سلام. 744 00:36:54,940 --> 00:36:58,720 >> و نسخه ی نمایشی این، اساسا چه من می توانم در این برگه دیگر را انجام دهید - 745 00:36:58,720 --> 00:37:02,640 بنابراین اجازه دهید بگویم من این کار را در یک برگه دیگر، من قصد دارم برای انجام حلقه و همان 746 00:37:02,640 --> 00:37:03,780 چیزی که دوباره. 747 00:37:03,780 --> 00:37:06,600 و من قصد دارم به تلاش برای پا زدن به این بچه کردن در همان زمان. 748 00:37:06,600 --> 00:37:08,260 من می خواهم به انجام این کار، و من رفتن به مسابقه اینجا و من 749 00:37:08,260 --> 00:37:09,650 رفتن به آن را دوباره. 750 00:37:09,650 --> 00:37:14,030 >> و اجازه دهید آن را به طوری که شما می تواند هر دو از آنها را ببینید. 751 00:37:14,030 --> 00:37:20,250 این یکی چاپ سلام و یک چاپ شده: سلام به همه راه در - 752 00:37:20,250 --> 00:37:22,550 اجازه دهید انجام این آزمایش دوباره. 753 00:37:22,550 --> 00:37:25,100 در واقع، اجازه دهید این استفاده کنید فوت و فن، در صورتی که OK. 754 00:37:25,100 --> 00:37:30,520 >> من می خواهم به استفاده از یک چیز پوسته که اجازه می دهد تا به من اساسا دو نسخه اجرا 755 00:37:30,520 --> 00:37:32,630 این برنامه به صورت موازی. 756 00:37:32,630 --> 00:37:36,070 بنابراین آن را به برنامه برای اولین بار اجرا و برنامه دوم به صورت موازی. 757 00:37:36,070 --> 00:37:39,060 بنابراین در حال حاضر اگر من فشار وارد کنید، این رفتن به این درخواست بسیار 758 00:37:39,060 --> 00:37:40,570 بلافاصله در همان زمان. 759 00:37:40,570 --> 00:37:42,620 بنابراین اجازه دهید این را به گلوله بست. 760 00:37:42,620 --> 00:37:44,950 >> بنابراین در حال حاضر متوجه آن می گوید دو فرایند. 761 00:37:44,950 --> 00:37:50,630 و اگر شما کنجکاو هستید، که 27،000 تعداد اساسا ID روند. 762 00:37:50,630 --> 00:37:52,940 و پس از آن متوجه آنها چاپ شده با سلام در همان زمان. 763 00:37:52,940 --> 00:37:56,820 این بود که ما تا به حال به صبر و پنج ثانیه برای یک و سپس بعد از آن، 764 00:37:56,820 --> 00:37:59,640 پنج ثانیه بعد دریافت کنید دوم. 765 00:37:59,640 --> 00:38:03,300 به طوری که به نوعی، در برخی از راه، آن را واقعا شواهد، اما آن را 766 00:38:03,300 --> 00:38:07,390 شواهد بصری است که آن را فقط نمی مثل انتظار پنج ثانیه و مسدود کردن 767 00:38:07,390 --> 00:38:08,960 تمام موضوع. 768 00:38:08,960 --> 00:38:10,720 OK سرد. 769 00:38:10,720 --> 00:38:17,850 >> پس، هارون یک سوال پیش از آن که بود، خوب اگر ما کاری انجام دهد - 770 00:38:17,850 --> 00:38:18,735 بله؟ 771 00:38:18,735 --> 00:38:19,051 >> یک مدعو: صبر کنید. 772 00:38:19,051 --> 00:38:21,585 چگونه است که متفاوت از بافر چون printf، هر چند؟ 773 00:38:21,585 --> 00:38:23,010 آیا آن را به طور خودکار انجام این کار؟ 774 00:38:23,010 --> 00:38:25,390 چرا ما باید در مورد آن نگران؟ 775 00:38:25,390 --> 00:38:26,555 >> KEVIN Schmid در: اوه، می تواند شما می گویند که یک بار دیگر؟ 776 00:38:26,555 --> 00:38:29,510 >> یک مدعو: آیا بافر چون printf را دوست ندارد همین کار را دقیق؟ 777 00:38:29,510 --> 00:38:31,280 >> KEVIN Schmid در: بافر چون printf؟ 778 00:38:31,280 --> 00:38:32,753 >> یک مدعو: آره. 779 00:38:32,753 --> 00:38:33,244 OK. 780 00:38:33,244 --> 00:38:40,609 در یکی از آزمونها آنها بود صحبت کردن در مورد چگونه اگر شما راست چون printf 781 00:38:40,609 --> 00:38:42,899 چیزی و سپس آن را به توقف یک دوم، و سپس شما آن را حلقه ده 782 00:38:42,899 --> 00:38:46,530 بار، آن را ده ثانیه صبر کنید و پس از آن همه چیز با هم چون printf؟ 783 00:38:46,530 --> 00:38:47,460 >> KEVIN Schmid در: اوه، OK. 784 00:38:47,460 --> 00:38:49,170 >> یک مدعو: آیا انجام همان چیزی که پس از آن در این مورد؟ 785 00:38:49,170 --> 00:38:52,630 >> KEVIN Schmid در: بنابراین سوال این بود اساسا در یکی از آزمونها سابق 786 00:38:52,630 --> 00:38:57,200 و یا چیزی، یک سوال وجود دارد که در واقع اگر شما می گویند چاپ جمعه 10 787 00:38:57,200 --> 00:39:01,490 همه چیز در یک زمان و سپس مانند در خواب روند چاپ آن از، 788 00:39:01,490 --> 00:39:04,850 در پایان برای برخی از دلیل، آن را فقط کسانی که همه بر روی صفحه نمایش کمپرسی. 789 00:39:04,850 --> 00:39:06,740 بنابراین نوع دو متفاوت وجود دارد مفاهیم در اینجا. 790 00:39:06,740 --> 00:39:10,400 >> بنابراین من حدس می زنم یک چیز است که، در این مورد، ما در حال برخورد با دو مختلف 791 00:39:10,400 --> 00:39:13,510 مرتب کردن بر اساس از مردم درخواست سرور برای چیزهایی که در همان زمان. 792 00:39:13,510 --> 00:39:17,455 و به این دلیل که آن نوع چون printf از منتظر مانند که و آن همه افسردگی از 793 00:39:17,455 --> 00:39:21,760 در یک بار بیشتر مربوط به است چگونه نوع چون printf از - 794 00:39:21,760 --> 00:39:25,100 بنابراین راه چون printf است که در واقع پیاده سازی شده است اساسا به 795 00:39:25,100 --> 00:39:28,850 صحبت کردن با سیستم عامل به ارسال چیزهای که به کنسول. 796 00:39:28,850 --> 00:39:33,460 پس آن را نمی خواهد برای انجام تمام است که مسائل بلافاصله پس شما می گویند چون printf 797 00:39:33,460 --> 00:39:36,260 برخی از رشته دلیل است که می تواند دریافت گران است اگر آن را به 798 00:39:36,260 --> 00:39:37,340 انجام این کار در هر بار. 799 00:39:37,340 --> 00:39:41,530 >> بنابراین اگر شما انجام دهید چون printf با سلام، برنامه خود را ممکن است در واقع چاپ که 800 00:39:41,530 --> 00:39:43,040 بلافاصله به کنسول. 801 00:39:43,040 --> 00:39:46,080 این ممکن است بگویید، OK، من آن را نوشتم. 802 00:39:46,080 --> 00:39:49,570 و پس از آن نوع صبر را برای شما به آن را کمی بیشتر قبل از واقع 803 00:39:49,570 --> 00:39:51,380 نوشتن آن را به کنسول. 804 00:39:51,380 --> 00:39:54,040 >> بنابراین به این دلیل که که مورد - 805 00:39:54,040 --> 00:39:56,450 و این نوع از نامربوط به خواب - 806 00:39:56,450 --> 00:40:00,060 این است که خواب مرتب سازی بر تنها بود تزریق در آن وجود دارد برای نشان دادن 807 00:40:00,060 --> 00:40:02,480 این واقعیت که آن را ارسال نمی کند آن را به صورت همزمان. 808 00:40:02,480 --> 00:40:06,210 اما دلیل آن است که فقط عملکرد به طوری که شما لازم نیست که 809 00:40:06,210 --> 00:40:08,920 ایجاد ارتباط است که بسیاری از به سیستم عامل. 810 00:40:08,920 --> 00:40:12,300 >> اما در اینجا، آنچه که ما واقعا تلاش برای انجام با این چیزی که خواب فقط نشان می دهد 811 00:40:12,300 --> 00:40:17,730 که هنگامی که ما دو نفر از بازدید این وب سایت، آن را برای قرار دادن 812 00:40:17,730 --> 00:40:22,310 آنها را در یک خط که در آن رفتن به می گویند من باید به شما کمک کند، و پس از آن زمانی که من هستم 813 00:40:22,310 --> 00:40:25,350 کاملا به پایان رسید کمک به شما بعد از این پنج ثانیه، و سپس من قصد دارم 814 00:40:25,350 --> 00:40:26,750 حرکت بر روی شخصی که در کنار. 815 00:40:26,750 --> 00:40:29,515 بنابراین درخواست اولین کسی را نمی کند کراوات که حلقه رویداد 816 00:40:29,515 --> 00:40:31,610 در صورتی که حس می کند. 817 00:40:31,610 --> 00:40:34,980 >> اما در اینجا است که در واقع نمونه از چیزی است که کراوات خواهد 818 00:40:34,980 --> 00:40:36,090 تا حلقه رویداد. 819 00:40:36,090 --> 00:40:39,130 بنابراین در اینجا یک تابع وحشتناک به این محاسبه فیبوناچی n ام. 820 00:40:39,130 --> 00:40:43,510 این به معنای واقعی کلمه راه بدتر شما می توانید محاسبه عدد فیبوناچی n ام. 821 00:40:43,510 --> 00:40:48,480 و این است که در واقع فقط به اذعان که این از، آمد 822 00:40:48,480 --> 00:40:49,330 در واقع وجود دارد - 823 00:40:49,330 --> 00:40:53,230 منظور من، شما می توانید سعی کنید به پیدا کردن آن - اما مانند یک وبلاگ بسیار طولانی وجود دارد 824 00:40:53,230 --> 00:40:54,130 ارسال که کسی نوشت. 825 00:40:54,130 --> 00:40:55,660 آن را مانند یکی از آن چیزهایی ق است. 826 00:40:55,660 --> 00:40:59,650 اما کسی انتقاد قرار Node.js، و آنها این را به عنوان نمونه استفاده می شود. 827 00:40:59,650 --> 00:41:03,700 بنابراین من از نوع میخواست شما دو نشان دیدگاه های مختلف فقط برای گرفتن 828 00:41:03,700 --> 00:41:07,320 یک درک کلی از مفاهیم در پشت این دو چیز. 829 00:41:07,320 --> 00:41:13,050 >> اما این فقط به عنوان یک وحشتناک انتخاب، محاسباتی به طرز وحشیانه ای ناکارآمد 830 00:41:13,050 --> 00:41:15,940 راه های ویژه برای محاسبه عدد فیبوناچی n ام. 831 00:41:15,940 --> 00:41:21,180 پس فقط یک نکته، به همین دلیل است آن وحشتناک مانند در یک راه؟ 832 00:41:21,180 --> 00:41:23,210 بله؟ 833 00:41:23,210 --> 00:41:25,130 >> یک مدعو: بگو که شما شروع به با 1000. 834 00:41:25,130 --> 00:41:27,050 1000 تقسیم به 999 و 998. 835 00:41:27,050 --> 00:41:28,970 هر یک از این تقسیم به دو چیز. 836 00:41:28,970 --> 00:41:30,890 هر یک از این تقسیم به دو چیز. 837 00:41:30,890 --> 00:41:31,355 >> KEVIN Schmid در: راست. 838 00:41:31,355 --> 00:41:32,400 >> رسید تمام راه را. 839 00:41:32,400 --> 00:41:32,840 >> KEVIN Schmid در: دقیقا. 840 00:41:32,840 --> 00:41:37,330 پس فقط به تکرار برای دوربین، اگر من تماس دروغ گفتن در مثل 1000 و یا چیزی 841 00:41:37,330 --> 00:41:41,810 مانند آن، آن را به وضوح کمتر از نه و یا با یک برابر من می خواهم به 842 00:41:41,810 --> 00:41:46,040 به این صورت دیگری، و سپس من قصد دارم تماس بگیرید دروغ گفتن 999 به علاوه دروغ گفتن 998. 843 00:41:46,040 --> 00:41:50,290 و پس از آن تقریبا همه از آن کاری که دروغ گفتن 999 می کند 844 00:41:50,290 --> 00:41:52,950 نوع در این سطح. 845 00:41:52,950 --> 00:41:55,620 اگر شما به پایین، آن را حتی بیشتر از کار برکنار از آن است، اما اگر شما فقط 846 00:41:55,620 --> 00:42:01,390 فکر می کنم محاسبه دروغ گفتن 998 می شود ما بسیار نزدیک به دروغ گفتن 999. 847 00:42:01,390 --> 00:42:05,860 بنابراین ما واقعا باید کمی بیشتر است هوشمندانه در مورد ما چگونه نوع استفاده مجدد 848 00:42:05,860 --> 00:42:07,580 این، اما ما در حال استفاده مجدد نمی این چیزها در همه. 849 00:42:07,580 --> 00:42:11,860 بنابراین شما می توانید این غول پیکر تصور کنید، درخت غول پیکر که فقط وحشتناک. 850 00:42:11,860 --> 00:42:12,940 >> اما به هر حال، OK. 851 00:42:12,940 --> 00:42:14,040 به طوری که دروغ گفتن بود. 852 00:42:14,040 --> 00:42:15,530 این فقط طول می کشد در حالی که برای اجرا شود. 853 00:42:15,530 --> 00:42:16,510 بله؟ 854 00:42:16,510 --> 00:42:17,760 >> یک مدعو: [نامفهوم]. 855 00:42:17,760 --> 00:42:20,430 856 00:42:20,430 --> 00:42:22,481 >> KEVIN Schmid در: اوه، می تواند شما سوال تکرار؟ 857 00:42:22,481 --> 00:42:23,731 >> یک مدعو: [نامفهوم]. 858 00:42:23,731 --> 00:42:30,840 859 00:42:30,840 --> 00:42:33,990 >> KEVIN Schmid در: اوه پس از این کد تنها است که برای رفتن به نوعی در 860 00:42:33,990 --> 00:42:34,850 سمت سرور. 861 00:42:34,850 --> 00:42:38,100 پس این است که نمی شود در بر داشت در مرورگر یا هر چیزی. 862 00:42:38,100 --> 00:42:42,160 این اساسا آنچه که ما را این است که وقتی کاربر در اینجا باعث می شود تقریبا 863 00:42:42,160 --> 00:42:45,300 درخواست خود را دوباره، زمانی که ما نوعی از یک درخواست، ما قصد داریم به تماس 864 00:42:45,300 --> 00:42:47,040 این تابع در سمت سرور. 865 00:42:47,040 --> 00:42:50,480 و پس از آن خواهیم در نتیجه به عقب بر گردیم از تماس آن تابع. 866 00:42:50,480 --> 00:42:52,460 و پس از آن ما فقط چاپ آن را به کاربر. 867 00:42:52,460 --> 00:42:54,580 به طوری که کاربر واقعا نمی مقابله با این تابع بیش از حد. 868 00:42:54,580 --> 00:42:57,270 >> که سوال این بود؟ 869 00:42:57,270 --> 00:42:58,470 آیا این را حس؟ 870 00:42:58,470 --> 00:42:58,810 OK. 871 00:42:58,810 --> 00:43:00,930 دانلود. 872 00:43:00,930 --> 00:43:04,240 >> پس باز هم، ما تمام این res.writeHead چیزی که در آن ما از چاپ 873 00:43:04,240 --> 00:43:05,150 هدر. 874 00:43:05,150 --> 00:43:09,730 و بعد من پایان دادن به پاسخ های انجام تعداد سحر و جادو دروغ گفتن 45 است. 875 00:43:09,730 --> 00:43:12,100 بنابراین اجازه دهید فقط این سرور را اجرا کنید. 876 00:43:12,100 --> 00:43:15,190 من می خواهم به انجام fib.js. گره 877 00:43:15,190 --> 00:43:17,340 بنابراین در حال حاضر سرور دروغ گفتن من در حال اجرا است. 878 00:43:17,340 --> 00:43:21,790 >> و سپس در اینجا، من قصد دارم به انجام یکی از این. 879 00:43:21,790 --> 00:43:22,200 OK؟ 880 00:43:22,200 --> 00:43:24,960 بنابراین من فقط رفتن به می گویند، حلقه. 881 00:43:24,960 --> 00:43:32,226 پس از آن رفتن را به مدتی کم، ولی امیدوارم به زودی آن را به پایان برساند و 882 00:43:32,226 --> 00:43:35,660 از آن خواهد شد که 45 نسخه قابل چاپ عدد فیبوناچی. 883 00:43:35,660 --> 00:43:36,910 >> یک مدعو: [نامفهوم]. 884 00:43:36,910 --> 00:43:40,720 885 00:43:40,720 --> 00:43:42,050 >> KEVIN Schmid در: لازم دریافت به زودی انجام می شود. 886 00:43:42,050 --> 00:43:43,780 پس از آن باید 5-6 ثانیه را انجام دهد. 887 00:43:43,780 --> 00:43:48,570 من نمی دانم که فقط V8 که فوق العاده است سریع، اما در هر صورت، این است که 888 00:43:48,570 --> 00:43:52,700 به عنوان مثال بسیار کوتاه و به عمد نا زیبا از یک غیر بدیهی 889 00:43:52,700 --> 00:43:54,200 محاسبات. 890 00:43:54,200 --> 00:43:56,700 بنابراین پس از مدتی، این کار در این. 891 00:43:56,700 --> 00:44:02,130 >> اما در حال حاضر، چه می شود اگر من که همان نوع از آزمایش به عنوان قبل از جایی که من را 892 00:44:02,130 --> 00:44:04,010 دو درخواست در همان زمان؟ 893 00:44:04,010 --> 00:44:06,990 بنابراین در اینجا من قصد دارم به یک حلقه در که آدرس، و من قصد دارم 894 00:44:06,990 --> 00:44:08,260 برای انجام این کار حلقه دیگر. 895 00:44:08,260 --> 00:44:12,070 و به یاد داشته باشید، زمانی که ما این کار را برای انجام خواب سرور، زمانی که ما اساسا آن را به حال 896 00:44:12,070 --> 00:44:15,320 پس از پنج ثانیه، آنها بسیار اندازه هر دو آمد راست 897 00:44:15,320 --> 00:44:16,380 در حدود همان زمان. 898 00:44:16,380 --> 00:44:18,650 پس از آن بود به خصوص نه گره خورده است. 899 00:44:18,650 --> 00:44:20,290 >> اما اجازه دهید در حال حاضر آن را امتحان کنید. 900 00:44:20,290 --> 00:44:22,370 OK، بنابراین ما دو فرآیند ما است. 901 00:44:22,370 --> 00:44:24,210 به یاد داشته باشید کسانی که شناسه روند. 902 00:44:24,210 --> 00:44:25,900 این است که برای رفتن به یک کمی بی دست و پا در حالی که ما متوقف کند. 903 00:44:25,900 --> 00:44:31,340 904 00:44:31,340 --> 00:44:35,360 بنابراین اجازه دهید فقط به ماندن در اینجا و صبر کنید. 905 00:44:35,360 --> 00:44:37,090 >> بنابراین یکی از آنها باید آمده پس از مانند - 906 00:44:37,090 --> 00:44:39,190 OK، بنابراین برگشتم. 907 00:44:39,190 --> 00:44:43,570 اما چرا در دوم نمی یک آمده فقط رتبهدهی نشده است؟ 908 00:44:43,570 --> 00:44:44,389 بله؟ 909 00:44:44,389 --> 00:44:49,280 >> رسید سرور می تواند هر چیزی را انجام دهید در حالی که آن را به محاسبه این تعداد بزرگ است. 910 00:44:49,280 --> 00:44:51,620 >> KEVIN Schmid در: راست. 911 00:44:51,620 --> 00:44:55,395 بنابراین پاسخ این بود که فقط سرور واقعا می توانید هر چیزی را انجام دهید در حالی که 912 00:44:55,395 --> 00:44:57,460 آن را محاسبه است که عدد فیبوناچی. 913 00:44:57,460 --> 00:44:59,360 بنابراین در حال حاضر من فقط دو چیز من است. 914 00:44:59,360 --> 00:45:03,210 اما من حدس می زنم فقط در مورد کد فکر می کنم کمی بیشتر، چگونه کار می کند 915 00:45:03,210 --> 00:45:05,030 و همه چیز. 916 00:45:05,030 --> 00:45:11,750 >> پس این تابع در اینجا فعال است که من این سرور گفته ام را به اجرا زمانی که آن را 917 00:45:11,750 --> 00:45:14,100 یک درخواست ورودی جدید دریافت می کند. 918 00:45:14,100 --> 00:45:17,940 پس این فقط رفتن را از طریق این اجرا کد کل، و سپس آن را به 919 00:45:17,940 --> 00:45:21,120 پشت به حلقه رویداد و پس از آن ادامه برای چک کردن رویدادهای جدید. 920 00:45:21,120 --> 00:45:23,670 بنابراین اساسا آنچه که اتفاق می افتد است که به سرور است 921 00:45:23,670 --> 00:45:25,080 گوش دادن به چیزهای جدید. 922 00:45:25,080 --> 00:45:28,070 اولین کسی که برای آنچه که 45 است می پرسد. 923 00:45:28,070 --> 00:45:30,490 ما اجرای این کد به آن را محاسبه کنند. 924 00:45:30,490 --> 00:45:33,420 این کد طول می کشد حدود پنج تا شش ثانیه به اجرا شود. 925 00:45:33,420 --> 00:45:36,990 سپس ما به بازگشت به حلقه رویداد را بررسی کنید و درخواست های جدید. 926 00:45:36,990 --> 00:45:42,700 >> بنابراین این یک مثال از اینکه چگونه است، اگر شما باید چیزهایی که به اصطلاح محاسبه 927 00:45:42,700 --> 00:45:48,140 محدود، و یا استفاده از بسیاری از محاسباتی، نه قدرت، بلکه مانند 928 00:45:48,140 --> 00:45:50,260 متمرکز - 929 00:45:50,260 --> 00:45:54,080 من حدس می زنم یک چیز این باره می گویند است که این عملکرد در حال انجام است در مجموع، 930 00:45:54,080 --> 00:45:56,310 در بیشتر قسمت ها، زیبا مفید راست کار می کنند. 931 00:45:56,310 --> 00:45:59,970 تمام زمان که پاسخ به تماس تابع در حال اجرا بود، آن را بسیار بود 932 00:45:59,970 --> 00:46:03,670 حد هزینه های بسیاری از وقت خود را فقط محاسبات عددی است که فیبوناچی n ام. 933 00:46:03,670 --> 00:46:05,930 >> اما ما تنها یک موضوع بود برای مقابله با. 934 00:46:05,930 --> 00:46:10,270 در مدل آپاچی، وقتی دو نفر ساخته شده به درخواست برای دریافت دروغ گفتن 45، ما 935 00:46:10,270 --> 00:46:11,610 را دو موضوع متفاوت است. 936 00:46:11,610 --> 00:46:15,060 و پس از آن کار سیستم عامل را در سطح کاربر بوده است، و یا 937 00:46:15,060 --> 00:46:18,660 کد که مدیریت موضوعات، حالا تو رو به قطعه که در است 938 00:46:18,660 --> 00:46:23,060 CPU، و یا حتی اگر شما چند CPU به حال، توزیع آنها را به طور مساوی در سراسر پردازنده 939 00:46:23,060 --> 00:46:26,130 به طوری که آنها هر دو پایان بود تقریبا در همان زمان. 940 00:46:26,130 --> 00:46:31,120 >> پس فقط به شما نشان دهد که چگونه می توانیم از مرتب سازی - و این است که کامل کل نیست 941 00:46:31,120 --> 00:46:34,280 راه حل، اما نوعی که چگونه ما می توانیم را دوباره در اینجا و انجام 942 00:46:34,280 --> 00:46:35,880 کمی بهتر است. 943 00:46:35,880 --> 00:46:41,540 پس چه من در اینجا برنامه ای به نام است دروغ گفتن C. و این در واقع با استفاده 944 00:46:41,540 --> 00:46:45,690 یکی دیگر از ماژول های گره نامیده می شود ماژول فرآیند فرزند. 945 00:46:45,690 --> 00:46:49,210 بنابراین من شامل است که در نوع بالا مانند من یک پوند انجام عبارتند از 946 00:46:49,210 --> 00:46:51,230 process.h کودک و یا چیزی. 947 00:46:51,230 --> 00:46:56,210 در حال حاضر من دسترسی به این متغیر CP دارند که دارای تمام قابلیت ها است. 948 00:46:56,210 --> 00:47:01,810 >> بنابراین در حال حاضر آنچه که من انجام می دهند در این پاسخ هستم کنترل است من در حال اجرا این برنامه 949 00:47:01,810 --> 00:47:04,100 نقطه بریده بریده دروغ گفتن 45. 950 00:47:04,100 --> 00:47:06,820 پس آنچه که من انجام داده ام - و من فقط رفتن به مرحله از این برنامه را برای 951 00:47:06,820 --> 00:47:07,620 کمی - 952 00:47:07,620 --> 00:47:11,060 است من یک برنامه C نوشته شده است که اساسا محاسبه 953 00:47:11,060 --> 00:47:12,630 عدد فیبوناچی n ام. 954 00:47:12,630 --> 00:47:15,960 بنابراین در اینجا فقط یک برنامه که من نوشته ام در C که این محاسبه. 955 00:47:15,960 --> 00:47:19,040 من می توانم آن را کامپایل و I می تواند اجرا شود آن را در خط فرمان. 956 00:47:19,040 --> 00:47:22,150 و آن را به محاسبه تعداد 45 فیبوناچی. 957 00:47:22,150 --> 00:47:24,510 >> بنابراین متوجه آن فقط طول می کشد تقریبا به عنوان طولانی است. 958 00:47:24,510 --> 00:47:28,240 من احتمالا می تواند فاصله 03 استفاده می شود بهینه سازی آن و یا چیزی شبیه به آن، 959 00:47:28,240 --> 00:47:31,050 اما من فقط می خواهم به طور منظم انجام تنظیمات کامپایلر. 960 00:47:31,050 --> 00:47:33,260 و آن را چاپ کنید. 961 00:47:33,260 --> 00:47:36,830 >> اما در حال حاضر، چه هستم من در نوع انجام می دهند؟ 962 00:47:36,830 --> 00:47:39,800 اوه متاسفم، فایل اشتباه است. 963 00:47:39,800 --> 00:47:42,800 بنابراین من همان است که با هدر مانند قبل. 964 00:47:42,800 --> 00:47:45,780 سپس من این کار را cp.exec. 965 00:47:45,780 --> 00:47:49,460 پس چه است این است که به انجام آن است رفتن به اجرای این برنامه است. 966 00:47:49,460 --> 00:47:51,960 اما راه این کار این است که آن را به صبر 967 00:47:51,960 --> 00:47:53,400 که برنامه را به پایان برساند. 968 00:47:53,400 --> 00:47:56,000 این فقط اساسا می گوید اجرای این برنامه است. 969 00:47:56,000 --> 00:47:58,700 بنابراین اساسا این نوع به فرمان نوع سریع. 970 00:47:58,700 --> 00:48:02,350 >> و پس از آن، هنگامی که شما با انجام آن، اجرای این تابع. 971 00:48:02,350 --> 00:48:04,800 بنابراین در حال حاضر ما به نوعی از این دریافت چیزی که تمام ترمیم های 972 00:48:04,800 --> 00:48:06,750 مانند ما در حال انتظار نیست. 973 00:48:06,750 --> 00:48:08,530 آیا این نوع را حس؟ 974 00:48:08,530 --> 00:48:08,990 بله؟ 975 00:48:08,990 --> 00:48:11,060 >> یک مدعو: [نامفهوم]؟ 976 00:48:11,060 --> 00:48:13,610 >> KEVIN Schmid در: بنابراین این در واقع باز کردن یک فرآیند جدید به آن انجام دهد. 977 00:48:13,610 --> 00:48:19,310 پس این است که در واقع، در برخی از راه، شر، فوق العاده بد نیست، اما آن را 978 00:48:19,310 --> 00:48:22,990 توجه است که این نوع است رفتن به، از یک سو، آپاچی 979 00:48:22,990 --> 00:48:26,450 مدل که در آن کار می کنیم موضوعات و فرآیندهای برای هر درخواست یا 980 00:48:26,450 --> 00:48:29,280 پروسه برای هر درخواست. 981 00:48:29,280 --> 00:48:32,090 بنابراین این نوع مشابه است به چه آپاچی می کند. 982 00:48:32,090 --> 00:48:35,110 در برخی موارد، آن را فقط استفاده خواهد کرد جدید موضوع است، که یک کمی نور بیشتر 983 00:48:35,110 --> 00:48:39,040 وزن از یک روند، اما آپاچی می تواند تا پایان forking فرآیند جدید 984 00:48:39,040 --> 00:48:43,370 است که نوع آنچه ما در اینجا به طور ضمنی با انجام نقطه اسلش دروغ گفتن 45. 985 00:48:43,370 --> 00:48:48,690 >> و سپس در آن صورت، ما به نوعی متحمل هزینه های همان فرایند. 986 00:48:48,690 --> 00:48:50,710 پس این فقط یک چیز شما می توانید انجام دهید این است. 987 00:48:50,710 --> 00:48:52,600 اما فقط این نوع از در حال اجرا را نشان می دهد. 988 00:48:52,600 --> 00:48:57,120 و این بحث این است که فقط واقعا در هدف ارائه این نوع از برنامه ها به عنوان یک 989 00:48:57,120 --> 00:49:00,710 راه برای نشان دادن دیدگاه های مختلف در نحوه طراحی سرور مانند آن. 990 00:49:00,710 --> 00:49:08,300 بنابراین این در حال اجرا است، و پس از آن در حال حاضر اگر من انجام این دوباره، من دو شناسه فرآیند کردم. 991 00:49:08,300 --> 00:49:10,320 >> اجازه دهید بحث در مورد همه چیز به اشاره. 992 00:49:10,320 --> 00:49:11,980 بنابراین توجه کنید که آنها تدریجی است. 993 00:49:11,980 --> 00:49:12,700 که هوا خنک است. 994 00:49:12,700 --> 00:49:15,140 از آنجا که آن 27122 قبل بود. 995 00:49:15,140 --> 00:49:18,580 اما توجه کنید در حال حاضر، آنها آمدند تقریبا در همان زمان. 996 00:49:18,580 --> 00:49:23,960 >> و در حال حاضر، یک سوال خوب است به سوال در مورد به همین دلیل بود که مورد است، کار که 997 00:49:23,960 --> 00:49:27,590 در حال حاضر آن بود به نوعی از این چیز ها را نوع عادلانه بازی کردن با هر 998 00:49:27,590 --> 00:49:31,350 دیگر، این دو نمونه از نقطه اسلش دروغ گفتن 45 که من فرار 999 00:49:31,350 --> 00:49:32,880 یا که فرار گره؟ 1000 00:49:32,880 --> 00:49:36,940 چه کسی به نوعی باعث می شود که آن را عادلانه هر دو آنها دریافت نوع و متعادل کننده زمان اجرا؟ 1001 00:49:36,940 --> 00:49:42,900 1002 00:49:42,900 --> 00:49:44,220 >> یک مدعو: [نامفهوم]. 1003 00:49:44,220 --> 00:49:44,620 >> KEVIN Schmid در: آره. 1004 00:49:44,620 --> 00:49:49,740 بنابراین اساسا، وقتی من دروغ گفتن اسلش نقطه 45 و یا چیزی شبیه به آن، در حال حاضر آن را 1005 00:49:49,740 --> 00:49:53,750 نوع تا سیستم عامل به رسیدگی به زمان اجرا از آن برنامه ها. 1006 00:49:53,750 --> 00:49:56,920 و در حال حاضر می تواند آنها را برنامه در پردازنده های مختلف و یا آن را 1007 00:49:56,920 --> 00:49:58,330 می توانید آنها را برنامه ریزی. 1008 00:49:58,330 --> 00:50:01,870 این می تواند تکه کردن زمان که یک CPU آن می شود و یا اینکه آنها را دریافت کنید 1009 00:50:01,870 --> 00:50:03,330 در یک CPU اجرا شود. 1010 00:50:03,330 --> 00:50:05,620 به طوری که این ایده در پشت آن است. 1011 00:50:05,620 --> 00:50:07,220 آیا این حس برای همه؟ 1012 00:50:07,220 --> 00:50:10,950 بنابراین در حال حاضر گره است که واقعا بازی نیست در تقسیم کردن این وظایف. 1013 00:50:10,950 --> 00:50:12,200 OK. 1014 00:50:12,200 --> 00:50:14,050 1015 00:50:14,050 --> 00:50:17,840 >> به طوری که تقریبا آن را برای نمونه های. 1016 00:50:17,840 --> 00:50:23,370 من فقط می خواستم برای نشان دادن یک چیز بیشتر چرا که بسیاری از این تا کنون شده است 1017 00:50:23,370 --> 00:50:27,350 کاملا فوق العاده عملی نیست در برخی موارد. 1018 00:50:27,350 --> 00:50:30,970 من می توانم تصور آمدن به خانه بعد از این بحث و چیزی و گفت: مثل، 1019 00:50:30,970 --> 00:50:35,710 خوب من نوع از آن بحث کردم که من می توانم در سرور فیبوناچی را 1020 00:50:35,710 --> 00:50:37,360 پروژه نهایی من است. 1021 00:50:37,360 --> 00:50:40,770 بنابراین در اینجا فقط به نوع یک نمونه بیشتر که امیدوارم - 1022 00:50:40,770 --> 00:50:44,620 شاید نه، اما شاید - کمی بیشتر نوع مربوط به پروژه نهایی و 1023 00:50:44,620 --> 00:50:46,440 فکر کردن در پیش رو برای چیزهایی مانند آن. 1024 00:50:46,440 --> 00:50:48,870 >> بنابراین این chat.js. است 1025 00:50:48,870 --> 00:50:52,290 بنابراین این نوع دوست از برخی از نمونه سرور کد سمت که شما می توانید به استفاده از 1026 00:50:52,290 --> 00:50:55,700 راه اندازی یک سرور چت کوچک مثل شما ممکن است در دیده 1027 00:50:55,700 --> 00:50:56,630 فیس بوک چت و یا هر چیز دیگری. 1028 00:50:56,630 --> 00:50:59,990 بنابراین من نمی گویم این مثل فیس بوک چت، اما این نوع از 1029 00:50:59,990 --> 00:51:06,230 مانند خوب - شاید خوب نیست، اما شاید نقطه شروع برای چت - خوب 1030 00:51:06,230 --> 00:51:08,560 سرور برای وب سایت شما برای یک پروژه نهایی است. 1031 00:51:08,560 --> 00:51:11,040 بنابراین اجازه دهید نگاهی به آنچه در آن در حال انجام است. 1032 00:51:11,040 --> 00:51:15,500 >> بنابراین ما در حال گرفتن این چیز ویژه در بالا، این ور SIO 1033 00:51:15,500 --> 00:51:17,050 برابر نیاز Socket.IO. 1034 00:51:17,050 --> 00:51:20,280 بنابراین این یک چیز دیگر که آن را نمی کند است در واقع آمده همراه با 1035 00:51:20,280 --> 00:51:22,300 گره اما شما می توانید آن را نصب کنید. 1036 00:51:22,300 --> 00:51:23,480 این یک ماژول گره است. 1037 00:51:23,480 --> 00:51:25,670 پس از آن درست مانند برخی از گسترش به گره. 1038 00:51:25,670 --> 00:51:29,220 >> SocketIO است که در واقع واقعا نوع سرد. 1039 00:51:29,220 --> 00:51:32,550 این یک انتزاع است که اساسا آنچه آن است آن را به شما اجازه می دهد تا به 1040 00:51:32,550 --> 00:51:35,770 این جریان ارتباطات بین یک وب 1041 00:51:35,770 --> 00:51:39,430 مرورگر و وب سرور. 1042 00:51:39,430 --> 00:51:45,250 بنابراین در بیشتر قسمت ها تا کنون، ما تا به حال این بسیار سریع یک دوم یا دو 1043 00:51:45,250 --> 00:51:48,790 ارتباطات ثانیه در میان یک وب مرورگر و وب سرور است. 1044 00:51:48,790 --> 00:51:53,310 بنابراین آن را اساسا به google.com، دریافت به مواد، ارسال آن به پشت، و پس از آن 1045 00:51:53,310 --> 00:51:53,770 ما در حال انجام می شود. 1046 00:51:53,770 --> 00:51:56,560 ما هرگز دوباره صحبت کردن تا زمانی که انواع کاربر در چیز دیگری. 1047 00:51:56,560 --> 00:52:01,090 >> اما آنچه Socket.IO و مشابه آن همه چیز - و SocketIO است که در واقع یک 1048 00:52:01,090 --> 00:52:03,940 از چیزهایی است که بر روی عنوان ساخته شده است WebSocket که مرتب سازی بر اساس دسترس 1049 00:52:03,940 --> 00:52:06,440 به عنوان بخشی از HTML5 - 1050 00:52:06,440 --> 00:52:09,620 که اجازه می دهد تا شما را به این گفت و گو ادامه دارد. 1051 00:52:09,620 --> 00:52:13,990 و این بسیار مفید در سرور چت نوع از چیزی که به خاطر آن است 1052 00:52:13,990 --> 00:52:17,390 نوع مانند یک گفتگوی مداوم در برخی از روش های چون اگر شما در حال چت 1053 00:52:17,390 --> 00:52:21,540 با کسی، شما هم اکنون می توانید فقط ارسال پیام پایین لوله، و پس از آن 1054 00:52:21,540 --> 00:52:23,940 سرور می تواند یک پیام را ارسال لوله را به فرد دیگری شما 1055 00:52:23,940 --> 00:52:24,520 چت با. 1056 00:52:24,520 --> 00:52:26,903 و سپس شما می توانید این را تبادل مانند آن. 1057 00:52:26,903 --> 00:52:30,590 1058 00:52:30,590 --> 00:52:32,850 >> بنابراین این نوع از چه SocketIO خوبی برای است. 1059 00:52:32,850 --> 00:52:38,400 به این دلیل که SocketIO با استفاده از WebSockets به عنوان یک چیز است که در 1060 00:52:38,400 --> 00:52:43,980 علاوه بر WebSockets فقط ساده قدیمی، همچنین این برخی از جواب ها به اساسا 1061 00:52:43,980 --> 00:52:45,610 مرورگر آن سازگار است. 1062 00:52:45,610 --> 00:52:50,040 بنابراین مرورگرها مانند اینترنت اکسپلورر متاسفانه WebSockets را پشتیبانی نمی کند 1063 00:52:50,040 --> 00:52:50,810 حق خارج از جعبه. 1064 00:52:50,810 --> 00:52:55,290 پس از آن با استفاده از نوع دیگری از سرد شسته و رفته همه چیز با ادوبی فلش اجازه می دهد تا 1065 00:52:55,290 --> 00:52:57,170 شما به پشتیبانی مرورگر متقابل. 1066 00:52:57,170 --> 00:52:58,800 به طوری که واقعا مفید است. 1067 00:52:58,800 --> 00:53:02,440 >> و در واقع، من می دانم من از نوع هستم در حال اجرا در زمان در اینجا، اما CS50 1068 00:53:02,440 --> 00:53:08,490 بحث، آیا تا بحال چیزی دیده می شود مانند، من نمی دانم، خالی چنین و چنان است 1069 00:53:08,490 --> 00:53:11,030 پاسخ دادن به این ارسال یا چیزی مانند آن، که ویژگی؟ 1070 00:53:11,030 --> 00:53:12,250 این SocketIO است. 1071 00:53:12,250 --> 00:53:15,580 بنابراین، هنگامی که کسی شروع می شود تایپ کردن در جعبه بحث را به یک پاسخ و یا 1072 00:53:15,580 --> 00:53:20,040 چیزی، مرورگر شما از چه نام در SocketIO نوعی از خود ساطع میکند، 1073 00:53:20,040 --> 00:53:22,660 صورتی که می گوید کسی پاسخ دادن به این ارسال. 1074 00:53:22,660 --> 00:53:26,110 >> سپس سرور می گوید، OK، چه کار باید انجام دهم؟ 1075 00:53:26,110 --> 00:53:29,270 خوب حالا من باید بگویم آن دسته از بچه های دیگر که در CS50 است بحث به دنبال 1076 00:53:29,270 --> 00:53:31,170 در این پست که کسی را پاسخ دادن. 1077 00:53:31,170 --> 00:53:34,190 بنابراین این نوع از چیزی است که SocketIO است است خوب برای این نوع ادامه 1078 00:53:34,190 --> 00:53:35,930 جریان گفت و گو. 1079 00:53:35,930 --> 00:53:37,250 OK. 1080 00:53:37,250 --> 00:53:40,060 >> پس چه من در اینجا - و ما تنها رفتن به چشم پوشی از آرایه اتصالات 1081 00:53:40,060 --> 00:53:41,390 برای کمی - 1082 00:53:41,390 --> 00:53:43,080 آنچه که من انجام شده است من دیگر گوش دهید. 1083 00:53:43,080 --> 00:53:46,880 به طوری که تنها راه در Socket.IO است گفت: اجازه دهید در این پورت گوش دادن. 1084 00:53:46,880 --> 00:53:50,060 و پس از آن من این کار را در اتصال. 1085 00:53:50,060 --> 00:53:53,360 به طوری که فقط اساسا سوکت IO است راه گفت: هنگامی که ما دریافت می کنیم 1086 00:53:53,360 --> 00:53:55,840 اتصال، من می خواهید برای اجرای این کد. 1087 00:53:55,840 --> 00:53:59,870 >> و توجه کنید که به جای داشتن نوشتن و RES گذشت در وجود من سوکت. 1088 00:53:59,870 --> 00:54:03,260 و این ایده سوکت است که اساسا این چیزی که شما می توانید به خواندن و نوشتن 1089 00:54:03,260 --> 00:54:05,750 از آن است که کاربر پیام احتمالا. 1090 00:54:05,750 --> 00:54:10,700 و پیام هایی که شما می توانید ارسال می توانید از طریق سوکت بروید. 1091 00:54:10,700 --> 00:54:12,140 آیا این را حس؟ 1092 00:54:12,140 --> 00:54:14,490 پس از آن این چیزی که مداوم است. 1093 00:54:14,490 --> 00:54:17,820 >> پس آنچه که من انجام شده است I Socket.emit تماس بگیرید. 1094 00:54:17,820 --> 00:54:20,330 و منتشر طول می کشد بسیار بسیار دو آرگومان. 1095 00:54:20,330 --> 00:54:24,100 آرگومان اول رشته ای است فقط به نمایندگی از نوع 1096 00:54:24,100 --> 00:54:25,270 چیزی که شما در حال ساطع. 1097 00:54:25,270 --> 00:54:28,120 بنابراین برای این مورد، من استفاده این رشته پیام های جدید. 1098 00:54:28,120 --> 00:54:32,670 و این فقط اساسا و گفت که نوع این چیز، چیزی که من هستم 1099 00:54:32,670 --> 00:54:34,750 ارسال یک پیام جدید است. 1100 00:54:34,750 --> 00:54:38,460 بنابراین شما می توانید برای انواع خاصی گوش مانند پیام جدید و یا هر 1101 00:54:38,460 --> 00:54:39,960 با استفاده از نقطه در. 1102 00:54:39,960 --> 00:54:44,570 >> بنابراین ارتباط و کاربر وجود دارد اگر فرستاده می شود، شما در جایی که ما نقطه در تماس نگاه کنید، 1103 00:54:44,570 --> 00:54:48,150 کسانی که رشته های دیگر است که نشان دهنده انواع پیام های کاربر. 1104 00:54:48,150 --> 00:54:52,060 پس از آن در واقع شما می توانید این EMIT دارند یکی از این نوع پیام، و 1105 00:54:52,060 --> 00:54:55,520 پس از آن انجام کاری در پاسخ به یکی از این نوع پیام 1106 00:54:55,520 --> 00:54:57,640 >> پس من ساطع این ارسال جدید است. 1107 00:54:57,640 --> 00:55:00,540 ما قصد داریم به چشم پوشی connections.push برای یک ثانیه. 1108 00:55:00,540 --> 00:55:03,360 اما پس از آن من می گویم، کاربر Socket.on ارسال می شود. 1109 00:55:03,360 --> 00:55:07,540 بنابراین در حال حاضر این نوع مانند وقتی که کاربر یک پیام به من می فرستد، من می خواهم 1110 00:55:07,540 --> 00:55:09,240 شما برای اجرای این کد. 1111 00:55:09,240 --> 00:55:12,080 و توجه کنید که که تابع بی نام در حال انجام در این متغیر 1112 00:55:12,080 --> 00:55:16,300 نام داده است که اساسا رفتن به پیام کاربر است. 1113 00:55:16,300 --> 00:55:20,700 >> نوع پس به صحبت در مورد آرایه اتصالات. 1114 00:55:20,700 --> 00:55:24,590 پس این برای چت طراحی که در آن اساسا همه نوع در 1115 00:55:24,590 --> 00:55:25,950 اتاق چت همان. 1116 00:55:25,950 --> 00:55:29,640 بنابراین اساسا، آنچه که ما نیاز به نگه داشتن در اطراف برخی از آرایه است که اساسا 1117 00:55:29,640 --> 00:55:33,170 نشان دهنده همه مردم چت در برخی از راه، در صورتی که حس می کند. 1118 00:55:33,170 --> 00:55:33,340 درست است؟ 1119 00:55:33,340 --> 00:55:37,190 از آنجا که ما باید بدانند که آن بچه ها می باشد بنابراین ما می توانیم به آنها پیام ارسال 1120 00:55:37,190 --> 00:55:39,140 که مردم دیگر به ما. 1121 00:55:39,140 --> 00:55:44,440 >> پس چه از این کد می کند هنگامی که کاربر است می فرستد یک پیام - که نوع است 1122 00:55:44,440 --> 00:55:45,300 رویداد - 1123 00:55:45,300 --> 00:55:47,120 ما قصد داریم برای اجرای این کد. 1124 00:55:47,120 --> 00:55:51,240 و چه کار می کنیم این است که ما از طریق این اجرا مجموعه ای که ما ارتباطات به نام. 1125 00:55:51,240 --> 00:55:54,390 و تقریبا برای هر اتصال به جز یکی که ما، که 1126 00:55:54,390 --> 00:55:59,520 این کد می گوید، ما ارسال جدید ارسال با پیام متصل 1127 00:55:59,520 --> 00:56:01,210 اطلاعات. 1128 00:56:01,210 --> 00:56:04,880 >> بنابراین اگر شما متوجه در اینجا، آنچه من انجام داد هنگامی که کاربر در واقع باعث می شود جدید 1129 00:56:04,880 --> 00:56:08,560 اتصال I با اضافه شده است روش JavaScript.push، این است که 1130 00:56:08,560 --> 00:56:12,100 اساسا فقط گفت مثل اضافه که سوکت به عنوان یک ارزش به 1131 00:56:12,100 --> 00:56:13,900 آرایه ارتباطات ما. 1132 00:56:13,900 --> 00:56:20,560 بنابراین در حال حاضر زمانی که این کد اجرا می شود، آن را ارسال چیزها را به کسانی خاص 1133 00:56:20,560 --> 00:56:22,020 اتصالات. 1134 00:56:22,020 --> 00:56:26,980 بنابراین این می تواند یک نقطه شروع خوب برای ساخت سرور چت 1135 00:56:26,980 --> 00:56:28,250 و یا چیزی مشابه آن. 1136 00:56:28,250 --> 00:56:33,315 >> و نوع نکته جالب این است که کدی که شما در اینجا مشاهده کنید برای مثل در و 1137 00:56:33,315 --> 00:56:36,390 منتشر می کنند و چیزهای مانند آن همان است نوع از کد های جاوا اسکریپت است که شما می 1138 00:56:36,390 --> 00:56:39,260 ارسال شده در مرورگر را به ارتباط برقرار با سرور. 1139 00:56:39,260 --> 00:56:42,480 به همین دلیل SocketIO است نوع شسته و رفته و در آن راه مفید است. 1140 00:56:42,480 --> 00:56:45,680 1141 00:56:45,680 --> 00:56:49,250 >> آه و فقط یه چیز سریع واقعی است. 1142 00:56:49,250 --> 00:56:55,970 سال گذشته یک پروژه نهایی CS50 وجود دارد که اساسا به اجرا در چت 1143 00:56:55,970 --> 00:56:57,840 سرور در Node.js. 1144 00:56:57,840 --> 00:57:01,350 من فکر می کنم Harvardchats.org اما من نه - 1145 00:57:01,350 --> 00:57:02,940 OK. 1146 00:57:02,940 --> 00:57:06,190 من مطمئن هستم که آنچه را که URL است نیست، اما من می توانم از ارسال که پس از آن. 1147 00:57:06,190 --> 00:57:09,260 اما این نوع از خنک چه شما می توانید با Node.js. انجام 1148 00:57:09,260 --> 00:57:14,680 >> بنابراین من امیدوارم که، به طور کلی، شما بچه ها حس خوبی از آنچه Node.js مفید است 1149 00:57:14,680 --> 00:57:17,870 و چگونه می شاید می تواند اعمال می شود به پروژه نهایی خود را. 1150 00:57:17,870 --> 00:57:21,050 من خواهد شد ارسال از برخی بیشتر منابع همراه با این. 1151 00:57:21,050 --> 00:57:23,170 و شما برای آینده تشکر می کنم. 1152 00:57:23,170 --> 00:57:23,610 متشکرم. 1153 00:57:23,610 --> 00:57:27,168 >> [تشویق حضار]