1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> KEVIN شمد: سب خوش. 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 میں نے ایک CS50 TF ہوں. 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 میں نے اس سیمینار میں استعمال کیا جا سکتا ہے امید ہے کہ کے لئے ایک اچھا، مجھے لگتا ہے، springboard کے طور پر 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 >> ٹھیک ہے. 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 شمد: بالکل. 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 تو یہ صرف کچھ کی طرح ہو سکتا ہے کے لئے کی طرح ہی ہے کہ ایچ ٹی ایم ایل 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 ایک ایس کیو ایل ڈیٹا بیس کی طرح. 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 ٹھیک ہے؟ 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 ٹھیک ہے. 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 ٹھیک ہے. 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 وی میزبان، اور ہم مل جائے گا تھوڑا سا میں کہ. 82 00:03:44,970 --> 00:03:50,620 >> لیکن بنیادی طور پر، اپاچی ویب سرور پی ایچ پی کی قسم کے ساتھ کام کرنے کے لئے قائم کی 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 تو یہ صرف ایک مستحکم فائل خدمت کر سکتے ہیں یا مسئلہ تو کچھ پی ایچ پی کوڈ چلانے کے لئے اور 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 بھی 1،000 لوگوں کے ساتھ کام کر سکتے ہیں آپ ایک ہی وقت میں ویب سرور. 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 یہ اگر نہیں ہے تو ٹھیک ہے، لیکن ذرا سوچو کے لئے طریقے کے طور پر موضوعات یا عمل کے بارے میں 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 تم جیسے تو اس قسم کی ہے multitasking کی طرح. 113 00:05:34,140 --> 00:05:37,710 >> اور تم میں باکس پر دیکھا ہے اگر آپ لیپ ٹاپ، یا اس طرح کچھ، 114 00:05:37,710 --> 00:05:43,040 آپ کیا کر سکتے ہیں multicore کے، آپ کر سکتے ہیں ہے مختلف پر دو مختلف موضوعات کو چلانے کے 115 00:05:43,040 --> 00:05:46,700 سی پی یو کے کچھ حصوں کو وہ کر سکتے ہیں تاکہ اصل میں ایک ہی وقت میں ہو. 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 >> اور استدلال کا حصہ ہے کہ صرف طرح آپ سی کے ایک پروگرام چلا رہے ہیں جب 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 >> اور پھر، اس کے علاوہ، آپ صرف کا کہنا ہے کہ دو ایک سی پی یو، یا آپ کا کہنا ہے کہ دو 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 موضوعات تھا کا کہنا ہے کہ اور آپ کو صرف پانچ CPUs کے تھا. 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 ٹھیک ہے. 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 ٹھیک ہے. 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 شمد: ٹھیک ہے. 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 صرف حساب ہے کہ ایک ویب سرور لکھنا nth فبونیکی تعداد. 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 ٹھیک ہے؟ 211 00:10:21,050 --> 00:10:23,410 212 00:10:23,410 --> 00:10:28,180 >> تو پھر recap پر، اپاچی اور کہ کانٹا ایک طرح اسی طرح ویب سرورز 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 ٹھیک ہے؟ 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 اور میں نے صرف آگے کود کے لئے جا رہا ہوں یہ ٹھیک ہے اگر سلائڈ میں. 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 ٹھیک ہے؟ 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 ہم میں C میں کیا ہے I / O کے کام ان پٹ کی پیداوار ہے کہ احساس. 258 00:12:52,000 --> 00:12:55,070 تو ہم اس کوڈ کو کہتے ہیں یہ F کھولیں کرتا ہے. 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 شمد: اوہ، تو جی ہاں. 275 00:13:37,840 --> 00:13:39,560 تو میں حاصل کرنے کے لئے جا رہا ہوں متبادل. 276 00:13:39,560 --> 00:13:40,430 ٹھیک ہے. 277 00:13:40,430 --> 00:13:42,960 ہم کچھ تھا تو کیا ہوا اگر کہ اس طرح دیکھا؟ 278 00:13:42,960 --> 00:13:45,730 تو کیا میں ترمیم اگر اب F ایک چھوٹی سی کھولنے؟ 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 یہ ایک باقاعدہ سی متغیر کی طرح ہے؟ 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 کے پیچھے خیال یہ ہے کہ F کے ساتھ کیا چیزیں میں کوڈ 301 00:14:58,060 --> 00:15:04,590 حصہ بہت مختصر اور سادہ ہونا چاہئے واقعی ہو جائے گا اور براہ راست اور نہیں 302 00:15:04,590 --> 00:15:06,160 انتہائی بہت computationally. 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 >> تو مکمل طور پر واضح، F کرنے کے لئے کہ کھلے نئے کیٹی پیری نغمہ کرتا ہے 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 >> سامعین: تم میں سے چند ایک کا مطلب یہ لگ رہا تھا computationally انہوں نے مزید کہا کہ بار 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 شمد: یہ ایک بڑا سوال ہے. 318 00:15:55,290 --> 00:15:59,280 تو میں نے اصل میں کس طرح کی ایک مثال ہے آپ computationally ضم کر سکتے ہیں 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 یہ ٹھیک ہے؟ 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 شمد ہارون ایک بہت پڑتا ہے ہے جو اچھی بات، کہ میں تھا 327 00:16:14,830 --> 00:16:18,560 میں کچھ computationally انتہائی کوڈ 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 ٹھیک ہے. 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 ہم کیا گیا ہے کہ معیاری سی لائبریریاں ، کے ساتھ کام کرنے کی طرح ہے تو آپ کو صرف 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 بات، لیکن ٹھیک ہے. 360 00:18:01,110 --> 00:18:07,070 >> تو میں نے کچھ مثالیں تیار کیا ہے اس یو آر ایل پر. 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 ٹھیک ہے؟ 365 00:18:18,720 --> 00:18:22,280 >> تو میں اس یو آر ایل کو چھوڑ دیں گے ایک چھوٹی سی کے لئے. 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 سب اس یو آر ایل کے ساتھ اچھا ہے؟ 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 نحو اور ساخت کی طرح ہے سی، کے طور پر آپ کی قسم کے لئے منتخب کر سکتے ہیں 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 ٹھیک ہے. 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 تو کیا اس کرے کو اجاگر کرنے کے تو یہ صرف کی طرح ہے سی میں طرح نظر آتے ہیں 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 ٹھیک ہے؟ 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 صرف کاپی اور ہیڈر چسپاں کر دیں گے تقریب prototypes کے لئے دائر یا 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 ٹھیک ہے؟ 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 >> تو اس کی پہلی لائن ہے 200 res.writeHead اور پھر اس 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 ٹھیک ہے؟ 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 ٹھیک ہے. 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 تو آپ کو یہ دکھانے کے لئے، میں جا رہا ہوں Curl اور نامی پروگرام استعمال کرنے کے لئے. 441 00:22:03,550 --> 00:22:04,260 ٹھیک ہے؟ 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 اور اس میں curl کے کرتے ہیں تو HTTP google.com، میں ایچ ٹی ایم ایل کو دیکھنے کے لئے جا رہا ہوں. 445 00:22:17,050 --> 00:22:21,230 اور یہ، جانبداری میں، صرف کی طرح آپ کو بتاتا ہے کہ ایچ ٹی ایم ایل 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 >> تو یہ صرف ایچ ٹی ایم ایل ہے، لیکن میں جا رہا ہوں میں پرچم اس خط ربط curl کرنے کے لئے شامل کرنے کے لئے. 449 00:22:33,390 --> 00:22:33,600 ٹھیک ہے؟ 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 ٹھیک ہے؟ 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 شمد: ٹھیک ہے. 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 تھا؟ 479 00:24:00,160 --> 00:24:00,890 جی ہاں، میں تھا. 480 00:24:00,890 --> 00:24:01,100 ٹھیک ہے. 481 00:24:01,100 --> 00:24:03,005 تو میں نے ورلڈ وائڈ ویب کرنے کے لئے ہے. 482 00:24:03,005 --> 00:24:06,006 تو میں نے ورلڈ وائڈ ویب کرنے جا رہا ہوں. 483 00:24:06,006 --> 00:24:09,680 آپ دیکھ سکتے ہیں کے طور پر، یہاں تمام ایچ ٹی ایم ایل ہے براؤزر پر عملدرآمد کرے گا 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 اور یہ ایک اچھا ہوتی ہے اگلا دوستانہ ٹھیک ہے. 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 واقعی، لیکن یہ تھوڑا کم سطح ہے آپ ہو سکتا ہے کہ پی ایچ پی کوڈ سے 506 00:25:23,170 --> 00:25:26,980 P کے لئے لکھنے سات مقرر کیونکہ پی ایچ پی اور اپاچی ترتیب میں سے کچھ کی دیکھ بھال 507 00:25:26,980 --> 00:25:28,150 آپ کے لئے ان باتوں کے. 508 00:25:28,150 --> 00:25:32,520 پی ایچ پی میں، آپ کو پہلے سے طے شدہ کی جگہ لے لے سکتے ہیں آپ کی اپنی ہیڈر لکھنے کی طرف سے رویے. 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 ٹھیک ہے. 513 00:25:41,380 --> 00:25:42,280 بہت اچھے. 514 00:25:42,280 --> 00:25:45,870 >> تو پھر مجھے کیا میں نے جواب اختتام ہے ہیلو دنیا کہہ کر. 515 00:25:45,870 --> 00:25:47,040 ٹھیک ہے. 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 سرور، اور پھر میں پروپوزل کی گذارش ہینڈلر میں منتقل. 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 ٹھیک ہے؟ 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 ٹھیک ہے؟ 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 ٹھیک ہے. 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 Curl اور میں اس تک رسائی حاصل کرنے کی کوشش کریں. 567 00:28:16,300 --> 00:28:20,680 تو میں Curl اور کرتے ہیں، کر سکتے ہیں اور میری مشین مقامی میزبان ہے. 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 ٹھیک ہے. 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 اور یہ ٹھیک ہے کا کہنا ہے کہ نوٹس. 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 ٹھیک ہے. 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 ٹھیک ہے. 598 00:29:45,610 --> 00:29:46,490 ڈاؤن لوڈ، اتارنا. 599 00:29:46,490 --> 00:29:50,780 >> تو اس سے R ہٹانے اور 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 شمد: تو ہیں جاوا اسکرپٹ اشیاء. 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 ٹھیک ہے؟ 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 تو میں اب بھی آر ای سی اور لوڈ ہے. 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 کسی کو اس پر کوئی سوال ہے، یا یہ صرف کے لئے، اب ٹھیک ہے 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 شمد: وہ پہلے ہیں جاوا سکرپٹ میں کلاس. 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 ٹھیک ہے. 656 00:32:27,060 --> 00:32:30,360 کوئی بھی کوئی سوال ہے؟ 657 00:32:30,360 --> 00:32:30,470 >> ٹھیک ہے. 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 تو سے واقف کسی کو ہے سی تقریب نیند؟ 662 00:32:47,160 --> 00:32:50,936 پہلے لیکچر کے شاید ایک سے یا اس طرح کچھ؟ 663 00:32:50,936 --> 00:32:54,650 >> تو بنیادی طور پر آپ مجھے لگتا ہے کہ میں منتقل کر سکتے ہیں سیکنڈ کے نمبر یا آپ یو کا استعمال کرتے ہوئے کر رہے ہیں 664 00:32:54,650 --> 00:32:57,080 milliseconds کے ایک بڑی تعداد سو یا nanoseconds. 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 تو ہم ایک ہی ہے کہ نوٹس ہیڈر کے ساتھ 200 res.writeHead 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 کام میں چاہتا ہوں، 5،000 milliseconds میں ہے آپ اس تقریب کو پھانسی کرنا جس 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 ٹھیک ہے. 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 ٹھیک ہے. 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 ٹھیک ہے. 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 ٹھیک ہے. 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 دیکھنے کے لئے تھوڑا unexciting یہ ایک ٹرمینل میں. 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 کی اس ایڈریس Curl اور کرتے ہیں پھر 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 تو میں نے دوسرے ٹیب میں یہ کہنا ہے کہ، میں curl اور بھی ایسا ہی کرنے جا رہا ہوں 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 اصل میں، اس کا استعمال کرتے ہیں یہ ٹھیک ہے، دھوکہ. 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 ڈاؤن لوڈ، اتارنا، ٹھیک ہے. 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 شمد: اوہ، اگر آپ کر سکتے کہ ایک بار کا کہنا ہے کہ؟ 776 00:38:26,555 --> 00:38:29,510 >> سامعین: printf کے بفر کو پسند نہیں کرتا بالکل وہی بات ہے؟ 777 00:38:29,510 --> 00:38:31,280 >> KEVIN شمد: printf کے بفر؟ 778 00:38:31,280 --> 00:38:32,753 >> سامعین: جی ہاں. 779 00:38:32,753 --> 00:38:33,244 ٹھیک ہے. 780 00:38:33,244 --> 00:38:40,609 وہ تھے quizzes کی ایک میں نہیں تھا کس طرح اگر آپ کو صحیح 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 شمد: ٹھیک ہے، اوہ. 784 00:38:47,460 --> 00:38:49,170 >> سامعین: یہ ویسا ہی کر رہا ہے بات یہ ہے کہ اس کے بعد اس معاملے میں؟ 785 00:38:49,170 --> 00:38:52,630 >> KEVIN شمد: تو سوال یہ تھا بنیادی طور پر سابق quizzes کی ایک میں 786 00:38:52,630 --> 00:38:57,200 یا کچھ اور، ایک سوال ہے کہ بنیادی طور پر آپ پرنٹ F 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 یہ ٹھیک ہے، میں نے لکھا ہے، کا کہنا ہے کہ ہو سکتا ہے. 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 اسے لکھ نہیں ہے حقیقت یہ ہے کہ یہ synchronously. 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 تو یہاں ایک خوفناک تقریب ہے nth فبونیکی کی تحسیب کیجیے. 820 00:40:39,130 --> 00:40:43,510 یہ لفظی آپ کر سکتے ہیں برا طریقہ ہے nth فبونیکی تعداد معلوم کیجیے. 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 >> لیکن یہ صرف ایک خوفناک طور پر منتخب کیا جاتا ہے بری طرح غیر فعال computationally 830 00:41:13,050 --> 00:41:15,940 گنتی کرنے کے لئے انتہائی طریقہ nth فبونیکی تعداد. 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 >> سامعین: آپ شروع کہو 1،000 ساتھ باہر. 834 00:41:25,130 --> 00:41:27,050 999 اور 998 میں 1،000 الگ کرتا ہے. 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 شمد: ٹھیک ہے. 838 00:41:31,355 --> 00:41:32,400 >> سامعین: تمام راستے. 839 00:41:32,400 --> 00:41:32,840 >> KEVIN شمد: بالکل. 840 00:41:32,840 --> 00:41:37,330 اگر ایسا ہے تو، صرف، کیمرے کے لئے دوبارہ میں 1،000 یا کچھ اور طرح fib فون 841 00:41:37,330 --> 00:41:41,810 اس طرح، یہ ظاہر ہے کے مقابلے میں کم نہیں ہے یا ایک کے برابر ہے تو میں جا رہا ہوں 842 00:41:41,810 --> 00:41:46,040 اس کے علاوہ کیس کے لئے جانا، اور پھر میں جا رہا ہوں 999 fib کے علاوہ 998 fib فون کرنے کے لئے. 843 00:41:46,040 --> 00:41:50,290 اور پھر بہت زیادہ ہے کہ تمام کی 999 کرتا fib کہ کام ہے 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 کمپیوٹنگ fib 998 ہو جاتا ہے لگتا ہے ہم بہت قریب 999 fib پر. 847 00:42:01,390 --> 00:42:05,860 تو ہم واقعی ایک چھوٹا سا زیادہ ہونا چاہئے ہم اس قسم کی دوبارہ استعمال کے بارے میں ہوشیار 848 00:42:05,860 --> 00:42:07,580 ان، لیکن ہم reusing نہیں کر رہے ہیں تمام ان چیزوں کو. 849 00:42:07,580 --> 00:42:11,860 تو آپ کو، یہ بہت بڑا تصور کر سکتے ہیں صرف خوفناک ہے کہ بہت بڑا درخت. 850 00:42:11,860 --> 00:42:12,940 >> لیکن ویسے بھی، ٹھیک ہے. 851 00:42:12,940 --> 00:42:14,040 تو اس fib تھا. 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 شمد: اوہ، اگر آپ کر سکتے سوال دوبارہ؟ 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 شمد: اوہ تو یہ صرف کوڈ آن ہے اس طرح کی پر جا رہا ہے 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 ٹھیک ہے. 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 اور پھر میں نے کرنے کی طرف سے جواب ختم جادو تعداد fib 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 تو اب میرے fib سرور چل رہا ہے. 878 00:43:17,340 --> 00:43:21,790 >> اور پھر یہاں، میں جا رہا ہوں ان میں سے ایک ایسا کرنے کی. 879 00:43:21,790 --> 00:43:22,200 ٹھیک ہے؟ 880 00:43:22,200 --> 00:43:24,960 تو میں صرف، Curl اور کہنے جا رہا ہوں. 881 00:43:24,960 --> 00:43:32,226 تو یہ تھوڑی دیر کے لے جا رہا ہے لیکن ہے امید ہے کہ جلد ہی اسے ختم کیا جائے گا اور 882 00:43:32,226 --> 00:43:35,660 یہ ہے کہ 45th پرنٹ تعداد فبونیکی. 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 شمد: یہ چاہئے بہت جلد کیا. 886 00:43:42,050 --> 00:43:43,780 تو یہ پانچ چھ سیکنڈ لینا چاہئے. 887 00:43:43,780 --> 00:43:48,570 مجھے لگتا ہے کہ صرف V8 ہونے سپر ہے نہیں جانتے روزہ، لیکن کسی بھی صورت میں، یہ ایک ہے 888 00:43:48,570 --> 00:43:52,700 جان بوجھ کر بہت ہی چھوٹا اور مثال کے طور پر اور ایک غیر چھوٹی سی کے inelegant 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 تو میں یہاں پر ایک curl کرنے کے لئے جا رہا ہوں اس ایڈریس، اور میں جا رہا ہوں 894 00:44:06,990 --> 00:44:08,260 ایک اور Curl اور ایسا کرنے کی. 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 ٹھیک ہے، تو ہم دونوں کے عمل ہے. 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 ٹھیک ہے، تو ایک واپس آیا. 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 شمد: ٹھیک ہے. 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 انتہائی computationally - 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 زیادہ سے زیادہ اس وقت کے سب سے زیادہ خرچ صرف کمپیوٹنگ کہ nth فبونیکی تعداد. 933 00:46:03,670 --> 00:46:05,930 >> لیکن ہم صرف ایک ہی موضوع تھا ساتھ نمٹنے کے لئے. 934 00:46:05,930 --> 00:46:10,270 اپاچی ماڈل میں، جب دو لوگ ، 45 fib حاصل کرنے کے لئے درخواست کی تھی ہم نے 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 سی پی یو، یا اگر آپ ایک سے زیادہ CPUs کے تھا یہاں تک کہ اگر، CPUs کے بھر میں یکساں طور پر تقسیم 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 تو کیا میں یہاں ہے نامی ایک پروگرام ہے Fib سی اور یہ بنیادی طور پر استعمال کرتا ہے 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 ڈاٹ fib 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 میں نے سی کے ایک پروگرام لکھا ہے ہے کہ بنیادی طور پر computes 953 00:47:11,060 --> 00:47:12,630 nth فبونیکی تعداد. 954 00:47:12,630 --> 00:47:15,960 تو یہاں میں لکھا ہے صرف ایک پروگرام ہے C میں ہے کہ اس computes. 955 00:47:15,960 --> 00:47:19,040 میں اسے مرتب کر سکتے ہیں، اور میں چلا سکتے ہیں یہ کمانڈ لائن پر. 956 00:47:19,040 --> 00:47:22,150 اور یہ گنتی کرنے کے لئے جا رہا ہے 45th فبونیکی تعداد. 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 شمد: تو یہ اصل ایسا کرنے کے لئے ایک نئے عمل کو کھولنے. 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 ہم یہاں کیا کرتے ہیں کی طرح ہے جس میں لپیٹ ڈاٹ سلیش fib 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 تو وہ incrementally کر رہے ہیں. 993 00:49:11,980 --> 00:49:12,700 یہ اچھا ہے. 994 00:49:12,700 --> 00:49:15,140 اس سے پہلے 27.122 تھی. 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 دیگر، ان دو مثال کے طور پر میں بھاگ گیا ڈاٹ سلیش fib 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 شمد: جی ہاں. 1004 00:49:44,620 --> 00:49:49,740 تو بنیادی طور پر، میں ڈاٹ سلیش fib کرتے ہیں جب 45 یا اس طرح کچھ، اب یہ ہے 1005 00:49:49,740 --> 00:49:53,750 قسم کے آپریٹنگ سسٹم تک ان پروگراموں کی رن ٹائم سنبھال. 1006 00:49:53,750 --> 00:49:56,920 اور اب یہ ان کے شیڈول کر سکتے ہیں مختلف CPUs کے یا اس پر 1007 00:49:56,920 --> 00:49:58,330 انہیں شیڈول کر سکتے ہیں. 1008 00:49:58,330 --> 00:50:01,870 یہ ہے کہ ایک وقت کاٹ کر سکتے ہیں سی پی یو وہ حاصل ہے کہ یہ ہو جاتا ہے یا 1009 00:50:01,870 --> 00:50:03,330 ایک سی پی یو پر چلانے کے لئے. 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 ٹھیک ہے. 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 >> پھر سرور، ٹھیک ہے، کا کہنا ہے کہ مجھے کیا کرنا ہے؟ 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 ٹھیک ہے. 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 تو یہ صرف بنیادی طور پر ساکٹ کب کی ہے ہم ایک موصول جب، کہہ کے راستے 1086 00:53:53,360 --> 00:53:55,840 کنکشن، میں آپ چاہتے ہیں اس کوڈ کو چلانے کے لئے. 1087 00:53:55,840 --> 00:53:59,870 >> اور اس کے بجائے آر ای سی ہونے کا نوٹس، کہ اور وہاں میں منظور لوڈ میں ساکٹ ہے. 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 >> تو مجھے کیا میں 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 تو یہ آپ کو اس کا اخراج ہو سکتا ہے بنیادی طور پر ہے ان کے پیغام کی اقسام میں سے ایک ہے، اور 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 کنکشن کے ساتھ میں شامل ہے ہے 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 ٹھیک ہے. 1146 00:57:02,940 --> 00:57:06,190 میں یو آر ایل کیا ہے اس بات کا یقین نہیں ہوں، لیکن میں نے اس کے بعد اس سے باہر بھیج سکتے ہیں. 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 >> [تعریف]