KEVIN شمد: سب خوش. CS50 سیمینار میں خوش آمدید Node.js. پر میرا نام کیون ہے. میں نے ایک CS50 TF ہوں. اور میں قسم کی بہت حوصلہ افزائی کی طرح ہوں اس سیمینار کے بارے میں. میں Node.js بہت ٹھنڈا ہے. میں نے اس سیمینار میں استعمال کیا جا سکتا ہے امید ہے کہ کے لئے ایک اچھا، مجھے لگتا ہے، springboard کے طور پر آپ کی آخری منصوبوں اگر کچھ آپ کو استعمال کرتے ہوئے میں دلچسپی رکھتے ہیں Node.js. طرح کچھ ہم قسم کی طرف سے سیمینار دور کا آغاز کریں گے صرف تھوڑا سا کے بارے میں بات پس منظر اسکیل ایبلٹی کی قسم پھر Node.js کے تناظر، اور ہم کچھ کوڈ مثالیں پر منتقل کریں گے. اور میں نے ایک ویب سائٹ پر کوڈ پڑے گا، اور آپ کے کوڈ میں دیکھ سکتے ہیں. اور سیمینار کے بعد، مجھے بات کے حل کریں گے آپ Node.js مقرر کر سکتے ہیں کس طرح کے بارے میں آپ کے کمپیوٹر پر. ٹھیک ہے. تو چلو شروع کرتے ہیں. تو میں نے صرف کے بارے میں بات کرنا چاہتے ہیں لگتا ہے ویب سرورز، واقعی، سب سے پہلے. اور یہ بحث شروع کرنے کے لئے، میں بنیادی طور پر کی طرف سے ہے جس میں ایک تصویر ہے CS61 کے لئے استعمال کیا نصابی کتاب، جس بنیادی طور پر بات چیت سے ظاہر ہوتا ہے آپ کی ویب کی طرح ایک کلائنٹ کے عمل، کے درمیان براؤزر یا آپ کا مقصد کلائنٹ یا کی طرح اس طرح کچھ، اور ایک ویب سرور. تو اس قسم کی طرح لگ رہا ہے تم پر درس میں نے دیکھا ہے کہ تصویر بدھ جہاں بنیادی طور پر ہم کچھ ہے گوگل کروم کی طرح کلائنٹ کے عمل. اور پھر ایک قدم ہے کلائنٹ ایک درخواست بھیجتا ہے. تو ہے کہ کچھ کی طرح ساتھ ساتھ چلو ہو سکتا ہے دورہ، میں، CS50.net نہیں جانتے. تو ہم نے اس کی درخواست جاری. اور کسی کے نام سے یاد کرتا ہے کہ کس طرح کی وضاحت ہے کہ پروٹوکول پروپوزل کی تشکیل ہونا چاہئے؟ جی ہاں. سامعین: [اشراوی]. KEVIN شمد: بالکل. تو یہ درست ہے، HTTP کی طرح ہے؟ کس طرح کے لئے تو بنیادی طور پر تفصیلات اس درخواست کی اصل میں رکھی جانی چاہئے باہر، کیونکہ دن کے آخر میں، اس درخواست واقعی صرف پسند ہے سٹرنگ ہے کہ بنیادی طور پر میں نے یہ چاہتے ہیں. اور تفصیلات اس کے لیے HTTP ہے. تو یہ ایک پروٹوکول کی طرح ہے. تو پھر سرور حاصل اس درخواست کی. تو تم لوگ ایک ویب سرور نصب CS50 آلات میں. یہ اپاچی کی. اور اس ہفتے آپ کو مسئلہ پر کام کرتے ہیں سات قائم، آپ اصل میں کام کریں گے ویب سرور کے ساتھ. تو سرور اس کی درخواست موصول، اور تو اس طرح کے سکریچ کرنے کے لئے ہے اس کی سر اور کیا کے ساتھ ساتھ کی طرح کا کہنا ہے کہ میں نے اس کے ساتھ کیا کرتے ہیں؟ تو یہ پھر، ایسا کرنے کا فیصلہ کیا ہے کی بنیاد پر یہ کسی قسم کے رابطہ کر سکتے ہیں وسائل کی. اور اس کے وسائل کے ایک ہو سکتا ہے مختلف چیزوں میں سے بہت. ایک کے لئے، ہو سکتا ہے صرف ایک مستحکم HTML فائل کی طرح. تو یہ صرف کچھ کی طرح ہو سکتا ہے کے لئے کی طرح ہی ہے کہ ایچ ٹی ایم ایل آپ کی ذاتی ویب سائٹ. یہ ایک تصویر کی طرح ایک مستحکم فائل ہو سکتا ہے یا آپ کو ہے کہ ایک فلم کی طرح. یہ بھی بات کرنے کے لئے کر سکتے ہیں ڈیٹا بیس کی کسی قسم کے لئے ایک ایس کیو ایل ڈیٹا بیس کی طرح. تو اس کو ہمیشہ بات چیت کرنے کی ضرورت نہیں ہے ایک وسیلہ، لیکن میں کے ساتھ کچھ صورتوں میں، یہ کر سکتے ہیں. تو پھر ایسا کرنے کے لئے کیا جا رہا ہے اس کے بعد اس پر جا رہا ہے ہے جواب واپس بھیج. اور اس کے لئے جواب ہے یہ بھی HTTP کی طرف سے مخصوص. تو کلائنٹ یہ حاصل کر سکتے ہیں. اس کے علاوہ اس کے آنسو اور اس کے عملدرآمد کر سکتے ہیں. اور پھر آپ کو ایک ویب کے صفحے حاصل کی طرح گوگل یا CS50.net یا آپ کے پاس گیا، جو کچھ بھی. ٹھیک ہے؟ تو یہ بنیادی بات چیت ہے ہم سے نمٹنے جا رہے ہیں. اور ہم نے بہت جا رہے ہیں کا یہ حصہ پر توجہ مرکوز بات چیت، سرور. ٹھیک ہے. ڈاؤن لوڈ، اتارنا. کوئی بھی اب تک کوئی سوال ہے؟ ٹھیک ہے. ہم نے کہا تو کے طور پر، ویب سرور حاصل تو اس HTTP درخواست اور اس کے مسائل HTTP جواب. اور اس طرح ہم سے پہلے کے بارے میں بات CS50 آلات ویب سرور اپاچی ہے. تم لوگوں پر کام تو جب P، سات مقرر آپ کے ساتھ کام کرنے جا رہے ہیں اپاچی ویب سرور. تم سچ میں کام کرنے کے لئے کبھی نہیں کروں گا براہ راست بہت زیادہ اپاچی کے ساتھ. آپ کی طرح اپاچی ایک چھوٹی سی کی تشکیل آپ مجازی میزبان یا درج کرتے ہیں وی میزبان، اور ہم مل جائے گا تھوڑا سا میں کہ. لیکن بنیادی طور پر، اپاچی ویب سرور پی ایچ پی کی قسم کے ساتھ کام کرنے کے لئے قائم کی کے خانے کے باہر. تم جاؤ تو کیا واقعی ایسا ہوتا ہے کا کہنا ہے کہ، کی طرح آپ کی ویب سائٹ میں سے ایک، مقامی میزبان سلیش index.php کو یا کچھ اور، آپ کے براؤزر بھیجتا ہے پروپوزل کی، اور پھر اپاچی بیٹھی ہے اور اس کے ساتھ کیا کرنے کے لئے اعداد و شمار. اور عمل پر عمل کرنے کی ہے کہ index.php کو میں کوڈ اور اس کے بعد اسے واپس بھیج. تو یہ ہے. تو ہم نے قسم کی اس کے بارے میں بات کی تھی. تو یہ صرف ایک مستحکم فائل خدمت کر سکتے ہیں یا مسئلہ تو کچھ پی ایچ پی کوڈ چلانے کے لئے اور جواب. آ سکتے ہیں تو پھر ایک عام سوال اپ ٹھیک ہے، کس طرح ہم واقعی نمٹنے ہے ایک سے زیادہ صارفین رکھنے کے ساتھ ایک ہی وقت میں؟ آپ کو ایک ویب لکھ رہے تھے تو تصور سرور، آپ کو ایک ویب سرور تھا کہ اگر آپ کو کچھ لکھنے کی کوشش کر رہے تھے C یا اس طرح کچھ کی طرح، بنیادی طور پر آپ کے بارے میں سوچ کر سکتے ہیں کس طرح وہاں کوڈ کے کسی قسم ہو سکتا ہے پھر درخواست موصول، لیکن اس پر یہ سب کام کرنے کے لئے ہے. یہ، مثال کے طور پر، سے رابطہ کر سکتے ہیں ڈیٹا بیس یا اس طرح کچھ. ٹھیک ہے نا؟ اور پھر یہ اس طرح کریں گے پروسیسنگ کی اور اس کے بعد جواب واپس بھیجا. تو ہے کہ اعلی کی طرح ہے سطح کے جائزہ. لیکن یہ فوری طور پر واضح نہیں ہے کہ آپ کس طرح کر سکتے ہیں کہ تو ہے کہ دو لوگوں یا بھی 1،000 لوگوں کے ساتھ کام کر سکتے ہیں آپ ایک ہی وقت میں ویب سرور. تو اپاچی استعمال کرتا ہے حل موضوعات یا عمل کو کہا جاتا ہے. تو آپ کے بارے میں سنا ہے ہو سکتا ہے پہلے ان کی شرائط. یہ اگر نہیں ہے تو ٹھیک ہے، لیکن ذرا سوچو کے لئے طریقے کے طور پر موضوعات یا عمل کے بارے میں ایک آپریٹنگ سسٹم یا ایک صارف پروگرام یا اس طرح کچھ یا ایک ویب سرور قسم کی ایک سے زیادہ عمل کرنے کی ایک بار میں چیزیں. تو آپ کو مدت سنا سکتے ہیں پھانسی کے موضوعات کی طرح. تم جیسے تو اس قسم کی ہے multitasking کی طرح. اور تم میں باکس پر دیکھا ہے اگر آپ لیپ ٹاپ، یا اس طرح کچھ، آپ کیا کر سکتے ہیں multicore کے، آپ کر سکتے ہیں ہے مختلف پر دو مختلف موضوعات کو چلانے کے سی پی یو کے کچھ حصوں کو وہ کر سکتے ہیں تاکہ اصل میں ایک ہی وقت میں ہو. تو یہ واقعی طاقتور ہے. اور یہ اپاچی کی قسم ہے اس مسئلہ کا حل. تو اس قسم کی کسی بھی مسائل کی طرح ہیں اگرچہ اس نقطہ نظر کے ساتھ؟ تو میں نے اس قسم کی ان لکھا لگتا ہے. لیکن ان دونوں کی طرح میموری کا ایک بہت استعمال کرتے ہیں. یہ تخلیق کرنے کے لئے بہت مہنگا ہے ایک موضوع یا عمل. اور استدلال کا حصہ ہے کہ صرف طرح آپ سی کے ایک پروگرام چلا رہے ہیں جب آپ کی اہم کی طرح اور پھر اس کالز ایک اور تقریب، کہ ہے اسٹیک کے کچھ قسم کی. تو موضوعات بھی مکمل طور پر ایک کی ضرورت ہوتی ہے علیحدہ اسٹیک جس کافی بڑی ہو سکتی ہے. اور آپ تصور کر سکتے ہیں کے ٹن ہونے آپ کی ویب سائٹ پر صارفین، آپ کو پڑے گا مختلف موضوعات کی ایک بہت. کہ پوٹ کی ایک بہت ہے منظم اور برقرار رکھنے کے. تو یہ بڑی میموری کی کھپت ہے. اور پھر، اس کے علاوہ، آپ صرف کا کہنا ہے کہ دو ایک سی پی یو، یا آپ کا کہنا ہے کہ دو تم سے زیادہ موضوعات ان multicores. ٹھیک ہے نا؟ تو آپ کو 10 موضوعات تھا کا کہنا ہے کہ اور آپ کو صرف پانچ CPUs کے تھا. آپ کی طرح کی اس بات کو کیا کرنا ہے جہاں آپ کو موجودہ کے درمیان سوئچ آپ کی وجہ سے چل رہا ہے کہ ایک ایک بار میں تمام 10 نہیں چلا سکتے ہیں. اور یہ کہ ایک سیاق و سباق سوئچ کہا جاتا ہے. اور یہ اصطلاح اصل میں ایک جوڑے کی ہے مختلف سیاق و سباق، لیکن صرف دو سوئچنگ کے طور پر اس کے بارے میں سوچ دو موضوعات کے درمیان. یہ بہت مہنگا ہو سکتا ہے کیونکہ بنیادی طور پر کیا تمہیں کیا کرنا ہے آپ کو ہے آپ کیا کر رہے ہیں کو روکنے کے لئے ہے، کو بچانے کے کہ چلانے موضوع کی حالت، اور تو کہیں اور کرنے کے لئے سوئچ. تو سب قسم کے دیکھتا ہے کیوں موضوعات اور کی حوصلہ افزائی عمل ایک چھوٹا سا بڑا ہو سکتا ہے؟ اور آپ سے ایک سوال ہے؟ ٹھیک ہے. ڈاؤن لوڈ، اتارنا. کوئی بھی کوئی سوال ہے؟ ٹھیک ہے. تو ہم نے ایک دوسرے کے لئے ایک قدم واپس لے، قسم کی طرح ہے ہم کے بارے میں کر سکتے ہیں کہ مشاہدے ویب ایپلی کیشنز کی ایک بہت. اور یہ کہ واقعی ہے کہ ان میں سے ایک بہت اصل میں ایسا نہیں ہے کہ زیادہ سے زیادہ مفید ایک دھاگے کے اندر کام کرتے ہیں. تو کسی پر شروع کر دیا ہے P میں تمام سات مقرر؟ تو آپ شاید وضاحت کرنا چاہتے ہیں حصوں میں سے کچھ؟ آپ لاگ ان پر کام کیا ہے یا اس طرح کچھ؟ سامعین: نمبر KEVIN شمد: ٹھیک ہے. کوئی بات نہیں. معذرت. لیکن بنیادی طور پر، P سیٹ میں، تم ہو کی طرح کی ایک بہت بنانے کے لئے جا رہا کچھ حاصل کرنے کے لئے ایک ڈیٹا بیس پر سوالات کہ ڈیٹا بیس سے معلومات. اور کیا آپ کے کوڈ کر جا رہا ہے، کیا ہے کہ اپاچی عمل یا اپاچی موضوع کر جا رہا ہے کہ اس سے رابطہ کرنے کی ہے جبکہ ڈیٹا بیس اس طرح کی ہونے جا رہا ہے ہے وہاں بیٹھے اور یہ جا رہا ہے ڈیٹا بیس کے جواب دینے کے لئے انتظار کر رہے. اب یہ ہے کہ بڑا کی طرح آواز نہیں کر سکتے ہیں ڈیٹا بیس آپ پر ہے کیونکہ نمٹنے CS50 آلات، ٹھیک ہے؟ لیکن نیٹ ورک کے کچھ قسم ہے وہاں تاخیر اب ویب کیونکہ سرور پر اس کے اپنے پروپوزل کی جاری ہے کے ساتھ بات چیت کرنے کے لئے ڈیٹا بیس ڈیٹا بیس اور پھر اس حاصل معلومات واپس. تو اب اس میں ہوں، میرے لئے انتظار کی طرح ہے جانے کے لئے جانے سے کچھ حاصل ڈیٹا بیس اور پھر ایک ہے پر جا کا انتظار کر کے بہت. احساس ہے کہ ہے؟ اور کچھ چیزوں کے لئے یہ اتنا برا نہیں ہے. یہ صرف ہے تو، مثال کے طور پر، ایکسیس میموری، ایسی بات نہیں ہے خوفناک I / O تاخیر. میں کہتا ہوں کہ جب، I / O تاخیر، مجھے کیا کا حوالہ دیتے ہوئے کی طرح کسی بھی قسم کی طرح ہے ان پٹ کی پیداوار. لیکن طرح، ڈسک پر فائل تک رسائی حاصل کرنے کے لئے میں مستحکم HTML خدمت کرنے کے لئے کرنا چاہتا تھا فائل ہے کہ میری ویب سائٹ کے صفحے پر یا کچھ اس طرح، میں اس قسم کی کے لئے ہے تھوڑا سا کے لئے روکنے کے، اس فائل کو پڑھنے کے ڈسک سے، اور اس کے بعد میں اس عمل میں انتظار کر رہا ہوں. میں مفید کام نہیں کر رہا ہوں. یہ سب کچھ صحیح نہیں ہے، لیکن P سیٹ کی طرح ایپلی کیشنز میں عام ہے سات اور ایپلی کیشنز کی ایک بہت تم نہیں ہو کہ اصل میں زیادہ سوچ کر. میں سوچ کا کہنا ہے کہ جب، میرا مطلب کمپیوٹیشنل کام کی طرح. تو کمپیوٹیشنل کام کچھ ہو سکتا ہے کی طرح، کا کہنا ہے کہ، آپ کو چاہتے تھے صرف حساب ہے کہ ایک ویب سرور لکھنا nth فبونیکی تعداد. یہ ایک خاص طور پر کی طرح نہیں لگتی مزہ ویب سرور. جیسا کہ میں اس سائٹ کی توقع نہیں کریں گے اگلا فیس بک، لیکن یہ کچھ ہے کمپیوٹیشنل کام کی قسم. اور آپ کے ساتھ اس کی جگہ تصور کر سکتے ہیں دلچسپ میں سے کچھ دوسری قسم کمپیوٹیشنل کام. آپ کچھ لکھ رہے تھے کا کہنا ہے کہ کہ ڈگری کے حساب دو لوگوں کے درمیان علیحدگی یا اس طرح کچھ. تو ہے کہ کسی قسم کے شامل ہے حساب کے، ٹھیک ہے؟ اور پھر بھی، اگر آپ اب بھی ہے کہ ایسا کرنے کے لئے شاید کا انتظار کر کے ایک بہت کچھ کرنے آپ کو تلاش کرنے کے لئے ایک ڈیٹا بیس کی کیوری کے لئے ہے اپ جو یا دوست ہے اس طرح کچھ. تو تصور اس طرح کی نہیں ہے کی کمپیوٹیشنل کام. احساس ہے کہ ہے؟ کسی کا کوئی سوال ہے؟ اوہ، اور میں وہاں چیٹ سرورز ڈال لگتا ہے چیٹ سرورز قسم کے ہیں کیونکہ اس کی ایک اچھی مثال. ایک بات چیت کے سرور کی ضرورت نہیں ہے زیادہ سوچ کرنے کے لئے. یہ صرف لوگوں کے لئے انتظار کرنے کے لئے ہے پیغامات اور پھر جب بھیجیں وہ، ان کے بھیجوں. ٹھیک ہے؟ تو پھر recap پر، اپاچی اور کہ کانٹا ایک طرح اسی طرح ویب سرورز موضوعات اور عمل کے بہت سے جس قسم کے بیکار ہو سکتا ہے. تو میں آ سکتا ہے اس سوال لگتا ہے اس سے ہم نے کی ضرورت ہے ہے ایک سے زیادہ موضوعات اور عمل؟ کیا ہم صرف ایک تھا؟ تو اس قسم کی ایک تصویر پینٹ دو اس طرح نظر آئے گا کیا. تو صرف ایک موضوع کا استعمال کرتے ہیں. ٹھیک ہے؟ تو صرف ایک موضوع کے ساتھ اس کا تصور. ہم واقعی نہیں کر رہے تھے فرض کرتے ہیں کہ بہت مفید ہیں - اور جب میں کہتا ہوں مفید، میں کمپیوٹیشنل کام مطلب ہے - سے پہلے لوگوں پر ایک سے زیادہ موضوعات میں. تو اس قسم کی مضبوط ہیں ایک موضوع میں سب کچھ. تو کیا ہم ایک موضوع اس طرح تھا صرف لوپ میں کے ارد گرد جاتا ہے اور مسلسل چیک کچھ کیا نیا ہو. تو مثال کے طور پر، کچھ نیا ہوا میں سے کچھ مطلب ہو سکتا ہے بھیجا ڈیٹا بیس، یا کسی مجھے ایک نئی HTTP درخواست. لہذا ان واقعات کی طرح ہیں یہ ٹھیک ہے، ہو؟ اور پھر میں کیا کر سکتے ہیں جب ان نئے ایسا چیزیں اسی موضوع میں ہے پھانسی کی، اس ایک موضوع کی پھانسی، میں کچھ کوڈ کو فون کر سکتے ہیں اس خاص چیز کو ہینڈل کریں گے. تو مثال کے طور پر، میں کچھ ہے تو واپس ڈیٹا بیس سے، میں چلا سکتا ہے میری اس کے چھوٹے کمپیوٹیشنل حصہ ہے اصل میں صرف بات کی تیاریاں صارف کو واپس بھیج. تو اس کا کوئی مطلب اس طرح کرتا ہے؟ لیکن واقعی کیا ہیں اس کے مضمرات؟ ٹھیک ہے نا؟ ہم لکھا ہے کیونکہ کوڈ ہے کہ بہت سے - اور میں نے صرف آگے کود کے لئے جا رہا ہوں یہ ٹھیک ہے اگر سلائڈ میں. تم برا نہ مانو تو، مجھے صرف ایک قدم واپس لے جا رہا. تو اس طرح کی بات ہے واقعہ لوپ ملاقات کی. ٹھیک ہے؟ اور یہ بنیادی کی طرح ہے Node.js. کے پیچھے خیال Node.js واقعی میں ایک ویب کے طور پر کر رہا ہے تو کیا ہوا سرور ایک موضوع ہے ہے یہ بنیادی طور پر ایک لوپ میں کے ارد گرد چل رہا ہے کے تحت ایک جبکہ ایک قسم کی طرح مسلسل ہے کہ Node.js کے ہڈ کی جانچ پڑتال کی، ہم نئی چیزیں حاصل کیا؟ اور پھر یہ سہولت چلایا جائے گا آپ کو قائم ہے. لیکن پوچھنا ایک اچھا سوال ہے، ہے ہم کس طرح ایسا کر سکتے ہیں موجودہ چیزوں کے ساتھ؟ تو میں یہاں C کوڈ کی ایک لائن ڈال دیا ہے کہ کھولنے کی طرح بنیادی طور پر لگتا ہے ایک حق، فائل؟ میں وہ صرف ایک البم کے ساتھ باہر آئے. تو میں نے اسے ایک نئی فائل کو کھولنے کے لئے تھا. تو جس طرح سے کام کرنے کے لئے ہمارے C کوڈ - اور میں فائلوں کا انتخاب کیا وجہ تھی لگتا ہے اس حد تک کی طرح ہے، کیونکہ ہم میں C میں کیا ہے I / O کے کام ان پٹ کی پیداوار ہے کہ احساس. تو ہم اس کوڈ کو کہتے ہیں یہ F کھولیں کرتا ہے. اور پھر ہماری اگلی لائن پر پروگرام، اب ہم F کے ساتھ کام کر سکتے ہیں. تو اس چیز کی ایک مثال ہو گی کہ تلیکالک یا کی طرح ہے کہ پہلی لائن پر کی وجہ سے مسدود وہاں ہم جب تک انتظار کر رہے ہیں فائل کو کھولنے کے حاصل. تو دوسری لائن پر، ہم جانتے ہیں کہ ہم F کے ساتھ کام، لیکن اس کا مطلب یہ کر سکتے ہیں کہ دوسری لائن واقعی نہیں چلا سکتے ہیں پہلی سطر کیا جاتا ہے جب تک. احساس ہے کہ ہے؟ تو اس ڈال کرنے کے لئے برا ہو گا ایک ایونٹ ہینڈلر میں. اور اس کی وجہ یہ ہے کہ انتظار کے اس قسم، ٹھیک ہے؟ تو اس سے ہمیں پیچھے چلے جائیں گے ایک ہی بات. اور اب ہم بھی نہیں کریں گے ایک سے زیادہ موضوعات کا فائدہ یا عمل ہم ہے کیونکہ Node.js. میں ایک موضوع اس سب کو احساس ہے؟ سامعین: انتظار. تو متبادل کیا ہے؟ KEVIN شمد: اوہ، تو جی ہاں. تو میں حاصل کرنے کے لئے جا رہا ہوں متبادل. ٹھیک ہے. ہم کچھ تھا تو کیا ہوا اگر کہ اس طرح دیکھا؟ تو کیا میں ترمیم اگر اب F ایک چھوٹی سی کھولنے؟ تو میں اسی میں گزر رہا ہوں پہلے کے طور پر دو دلائل. میں اب بھی نیا گانا محبت اس کے ساتھ باہر آئے کہ. لیکن میں ایک تیسری چیز گزر رہا ہوں جس اس متغیر کوڈ کہا جاتا ہے. لیکن کوڈ کو اصل میں کیا ہے اس تناظر میں؟ یہ ایک باقاعدہ سی متغیر کی طرح ہے؟ یہ، ایک تقریب ہے؟ اور اس کی وجہ سے ایک چھوٹا سا عجیب ہو سکتا ہے میں اصل میں اب گزر کی طرح ہوں ایک ایک اور تقریب میں کام. اس کے بارے میں نوٹ کرنے کے لئے تو ایک جوڑے کی چیزیں. ایک، میں نے اصل میں بلا نہیں کر رہا ہوں کوڈ کی تقریب. تو آپ کے ساتھ کوڈ نظر نہیں آتا بائیں قوس، دائیں قوس. میں صرف کوڈ میں گزر رہا ہوں. اور C میں، یہ اصل میں کیا کریں گے کہ اصل کرنے کے لئے مجھے ایک پوائنٹر دے کوڈ، اور پھر یہ اسے چلانے کر سکتے ہیں. تم لیکن اس بارے میں سوچو کو چلانے کے لئے کوڈ گزر جب اس فائل کو کھول دیا ہے. لیکن کیا اس کا مطلب یہ ہے کہ اب کر سکتے ہیں جس کے اپنے پروگرام کے باقی دیگر چیزیں، دیگر کر جاری رکھ سکتے ہیں چیزیں ہم، واقعی انتظار، لیکن نہیں جبکہ صرف اپنے سر کے پیچھے میں ہے جب اس فائل کی کھلی، چلانے سب سے اوپر کے کوڈ کے. احساس ہے کہ ہے؟ اور اب Node.js کے پیچھے خیال یہ ہے کہ F کے ساتھ کیا چیزیں میں کوڈ حصہ بہت مختصر اور سادہ ہونا چاہئے واقعی ہو جائے گا اور براہ راست اور نہیں انتہائی بہت computationally. یہ ایک فائل کو کھولنے کے لئے ہے، لیکن کر سکتے ہیں یہ بھی بہت جلد ہونا چاہئے یہ صرف ایک F ایسا کہنا چاہئے کیونکہ کھولنے اور پھر یہ دیگر کوڈ کال. تو مکمل طور پر واضح، F کرنے کے لئے کہ کھلے نئے کیٹی پیری نغمہ کرتا ہے کیا MP3، کہ جا رہا ہے بہت زیادہ سے زیادہ فوری طور پر واپس. اور پھر ہم صرف کر جاری رکھ سکتے ہیں دیگر چیزیں اس کی وجہ سے اب F تمام کھولیں فون بنیادی طور پر بتانا ہے ہے بنیادی F کھولیں کوڈ اس فائل کو کھولنے اور آپ اس کو کھولنے کے کیا کر رہے ہیں جب آپ اسے واپس مل جب فائل یا، پھر اس کوڈ کو چلانے کے. لیکن یہ اصل میں اس کوڈ کو نہیں چلا کرتا ہے. اور آپ سے ایک سوال تھا؟ سامعین: تم میں سے چند ایک کا مطلب یہ لگ رہا تھا computationally انہوں نے مزید کہا کہ بار انتہائی کوڈ طرح کی توڑ [اشراوی] پر مبنی نظام. [اشراوی]؟ KEVIN شمد: یہ ایک بڑا سوال ہے. تو میں نے اصل میں کس طرح کی ایک مثال ہے آپ computationally ضم کر سکتے ہیں تھوڑا سا میں انتہائی کوڈ. تو ہم کوڈ مثالیں حاصل کرنے کے لئے جب، میں نے اس سے ایک ھیںچو اس بات کا یقین ہو جائے گا. یہ ٹھیک ہے؟ آپ کا شکریہ. آپ کا نام کیا تھا؟ سامعین: ہارون. KEVIN شمد ہارون ایک بہت پڑتا ہے ہے جو اچھی بات، کہ میں تھا میں کچھ computationally انتہائی کوڈ F حصہ، باقی کے ساتھ کیا چیزیں میرا پروگرام نہیں چلا سکتے ہیں اور مدد نہیں کر سکتے ہیں تمام جب تک نئی درخواستوں یا کسی چیز کے لئے چیزیں ختم ہو گیا ہے. تو میں عام طور پر گھنڈی کوڈ لکھ رہا ہوں میں جا رہا ہوں جیسا کہ ہم کچھ کرنا ہے جب تک ہم کو دیکھنے کے بعد میں جب تجویز کوڈ مثالیں، مجھے یقین ہے کہ ہونا پڑے گا میرا کوڈ باندھنے نہیں ہے اس ایونٹ لوپ. احساس ہے کہ ہے؟ ٹھیک ہے. ڈاؤن لوڈ، اتارنا. تو Node.js اس فریم ورک فراہم کرتا ہے آپ کارفرما ان ایونٹ تعمیر کر سکتے ہیں کے ساتھ سرورز. تو یہ اتلیکالک کے ان قسم ہے جبکہ، I / O لائبریریاں غیر مسدود کرنے میں ہم کیا گیا ہے کہ معیاری سی لائبریریاں ، کے ساتھ کام کرنے کی طرح ہے تو آپ کو صرف ہم ہے کہ اسی طرح میں ان کا استعمال F کے ساتھ ان کا استعمال کرتے ہوئے کھولتا ہے اور سامان، ان کو مسدود کرنے میں کر رہے ہیں آپ اصل میں کے لئے انتظار کرنے کی ضرورت ہے کھولنے کے لئے اس فائل. لیکن Node.js یہ آپ کو کہ دیتا ہے اور بنیادی طور پر گوگل کے V8 میں تعلقات وجہ ہے جو جاوا سکرپٹ کے انجن کروم پروسیسنگ میں اتنی تیزی سے ہے جاوا سکرپٹ کو اس کی وجہ سے اس V8 انجن ہے. تو میں اس کے ان میں سے ایک کی طرح لگتا ہے WWDC ڈویلپر کانفرنسوں بات وہ صرف کا ایک گروپ پھینک جہاں پروسیسرز کے لئے خط تعداد چیزیں اور یہ تو ٹھنڈا ہے. لیکن وہ کیا ہے کہ ٹھنڈا ہے اس کی وجہ سے جاوا سکرپٹ - یا شاید آپ سے واقف نہیں ہیں جاوا اسکرپٹ کا ابھی ہم نے نہیں کیا ہے کیونکہ اس پر لیکچر - لیکن جاوا سکرپٹ کو ایک تشریح ہے زبان. اور یہ بھی ایک اہم نقطہ ہے. تو یہ ہماری ویب کے لئے اہم ہے سرورز حق، روزہ ہو؟ اور ہم صرف جاوا اسکرپٹ کا چل رہا تھا تو کے ساتھ تشریح کی گئی تھی اس کوڈ کو صرف کسی بھی عمر کے ترجمان کے یہ سست ہو سکتا ہے. اس ہونے سے تو گھنڈی فوائد سپر روزہ V8 مترجم. وہ اس کا نام اور اگر میں نہیں جانتی کیونکہ پیشانی میں V8 تپپڑ بات، لیکن ٹھیک ہے. تو میں نے کچھ مثالیں تیار کیا ہے اس یو آر ایل پر. سیمینار کے بعد، میں ایک طرح سے جا رہا ہوں آپ نوڈ سیٹ حاصل کر سکتے ہیں کس طرح کے بارے میں بات اپ، لیکن اب کے لئے، میں نے صرف قسم کے چاہتے ہیں کچھ کوڈ مثالیں کے ذریعے چلنا. تو آپ کے ساتھ عمل کرنا چاہتے ہیں، تمام ماخذ کوڈ وہاں دستیاب ہے. ٹھیک ہے؟ تو میں اس یو آر ایل کو چھوڑ دیں گے ایک چھوٹی سی کے لئے. اور پھر میں جا رہا ہوں ٹرمینل میں سوئچ. سب اس یو آر ایل کے ساتھ اچھا ہے؟ تو میں سوئچ کرنے کے لئے جا رہا ہوں یہاں اپنے ٹرمینل. تو یہاں کوڈ ہے میں نے آج کے لئے ہے. کیوں ہم کے ساتھ شروع نہیں simpler.js سنچکا؟ دوسری بات یہ ہے کہ اس کے تمام کوڈ میں لکھا جا رہا ہے جاوا سکرپٹ کو جو آپ کر سکتے ہیں یا سے واقف نہیں ہو سکتا. میں نے ایک جوڑے کی چیزیں لگتا ہے کہ ایک بہت جاوا سکرپٹ کے کوڈ کی طرح ہے نحو اور ساخت کی طرح ہے سی، کے طور پر آپ کی قسم کے لئے منتخب کر سکتے ہیں آپ کے ساتھ جانا. میں کی ایک بہت لکھنے کی کوشش کی ہے ہے کہ ایک طرح سے اس کے لئے شروع کرنے کے کوڈ یہ ہے کہ تو C کی طرح تھوڑا زیادہ پڑھنے کے قابل ہے. لیکن ہم ترقی کے طور پر، میں ہو جائے گا اضافی میں سے کچھ کا مظاہرہ جاوا اسکرپٹ کا خصوصیات ہے کہ کول کی طرح ہیں. لیکن اس نمونے کے پروگرام کو دیکھو. میں نے سب کچھ وہاں منقطع ہے لگتا ہے. میں صرف یہ ہے کہ اصلی ٹھیک کرنے کے لئے جا رہا ہوں یہ ٹھیک ہے یا نہیں روزہ تو. میں نے یہ کیا جا رہا ہے پتہ نہیں کیا. ایک چھوٹا سا بہتر ہے؟ آپ متغیر اور سامان دیکھ سکتے ہیں؟ ٹھیک ہے. تو پہلی لائن جاوا سکرپٹ کی طرح ہے ایک متغیر کے ورژن اعلان. تو کیا اس کرے کو اجاگر کرنے کے تو یہ صرف کی طرح ہے سی میں طرح نظر آتے ہیں مجھے کہہ انڈیکس تین کے برابر ہے یا اس طرح کچھ. تو میں قسم کی وضاحت نہیں کی تھی. جاوا اسکرپٹ اقسام ہیں ہے، لیکن یہ ہے بہت متحرک نوعیت میں ٹائپ، تو اس پر قسم کی کسی بھی قسم کی فراہم نہیں کیا. تو یہ صرف متغیر ہے. اس متغیر کی طرح ہے. ٹھیک ہے؟ اور میں اس متغیر HTTP بلا رہا ہوں. اور میرے دائیں ہاتھ کی طرف، میں نے میں HTTP میں ڈال کرنا چاہتے ہیں کہ اظہار. اور اس HTTP کی ضرورت ہوتی ہے. تو اس قسم کی اسی طرح شامل کرنے کے لئے ہے. یہ تھوڑا زیادہ کی طرح طاقتور کے مقابلے میں ہے شامل ہیں اس معنی میں شامل ہیں صرف کاپی اور ہیڈر چسپاں کر دیں گے تقریب prototypes کے لئے دائر یا قسم کی تعریف کے ساتھ جو کچھ بھی. لیکن ضرورت اصل میں جا رہا ہے ہم سے کوڈ حاصل کرنے کے لئے. تو آپ کے طور پر اس کے بارے میں سوچ کر سکتے ہیں کچھ کوڈ درآمد. تو کہیں Node.js ماڈیول میں نظام یا جو کچھ بھی، وہ سب کے سب یہ ہے HTTP سرور کوڈ تو میں صرف ہوں میرے اپنے لئے یہ بازیافت اس پروگرام میں ذاتی استعمال کے. ٹھیک ہے؟ تو پھر میں اس تقریب ہے میں نے لکھا ہے کہ. اور میں کی وضاحت کرنے کی ضرورت نہیں تھی محسوس واپسی کی قسم یا کی قسم دلائل پھر. تو قسم کے ڈھیلے میں ٹائپ احساس اس طرح. اس میں لیتا ہے کہ دو دلائل، درخواست اور جواب. تو اس تصوراتی قسم کی طرح ہے ہم نے اس تصویر سے واقف سکرین پر اس سے پہلے ہم اس درخواست کو حاصل ہے کہ ہم صارف کی طرف سے ہے. اور پھر ہم ایک جواب ہے کہ ہم چیزوں کو لکھ سکتے ہیں. تو اس کی پہلی لائن ہے 200 res.writeHead اور پھر اس مواد کی قسم متن سادہ. تو تھوڑا سا اس کے علاوہ ٹکڑا ہیں. تو صرف res.write پر توجہ مرکوز کرتے ہیں ایک چھوٹی سی کے لئے. تو لکھنے، بنیادی طور پر ہے، اور سر لکھنا ترتیب سے باہر لکھنے کے لئے صرف طریقے ہیں جواب چیزیں. ٹھیک ہے؟ کسی کو یاد ہے تو، سر لکھنا HTTP کے لیکچر سے، تم لوگ کرتے ہیں میں ہیڈر یاد HTTP بات کے سب سے اوپر؟ تو میں صرف ڈیمو نہیں ہے اصلی فوری ہیڈر. کہ مددگار ثابت ہو گا؟ یا پھر ہم صرف کی طرح - ٹھیک ہے. اس بات کا یقین. تو اپنے براؤزر google.com پر جاتا ہے یا اس طرح کچھ، اصل میں تھوڑا زیادہ ہے - یہ ایک راز کی طرح ہے - ایک چھوٹا سا مزید معلومات نہیں ہے کہ صرف سے پائپ کے ذریعے آتا ہے تھوڑا تلاش اور سب کچھ. تو آپ کو یہ دکھانے کے لئے، میں جا رہا ہوں Curl اور نامی پروگرام استعمال کرنے کے لئے. ٹھیک ہے؟ تو یہ تم پر چلا سکتے ہیں کہ کچھ ہے آپ میک OSX کمانڈ لائن یا آلات یا جو کچھ بھی. اور اس میں curl کے کرتے ہیں تو HTTP google.com، میں ایچ ٹی ایم ایل کو دیکھنے کے لئے جا رہا ہوں. اور یہ، جانبداری میں، صرف کی طرح آپ کو بتاتا ہے کہ ایچ ٹی ایم ایل اپنے براؤزر نہیں ہے تو ورلڈ وائڈ ویب پر ری ڈائریکٹ خود کار طریقے سے ہینڈل نئ سمت. تو یہ صرف ایچ ٹی ایم ایل ہے، لیکن میں جا رہا ہوں میں پرچم اس خط ربط curl کرنے کے لئے شامل کرنے کے لئے. ٹھیک ہے؟ اور یہ ظاہر کرنے کے لئے کی جا رہی ہے میرے ہیڈر. تو یہ بھی آتا ہے کہ معلومات ہے کے ذریعے میں نے اس کے جواب میں جب. ٹھیک ہے؟ تو سب سے اوپر، آپ کو یہ دیکھنے HTTP کے 301 مستقل طور پر منتقل. اور اس قسم کے اہم ہے کیونکہ اس کی حیثیت کوڈ سے مراد ہے. تو یہاں 301، حیثیت کوڈ ہے بنیادی طور پر صرف ایک عدد صحیح ہے جو کہ براؤزر یا جو بھی ہے بتاتا ہے آپ دکھاوا ہے کہ تو اس کو پڑھنے کے آپ کو ایک براؤزر ہیں اور آپ کو یہ دیکھ رہے ہیں، بنیادی طور پر اب آپ پر نظر ڈالیں تو اور یہ کہ آپ کو ایک 301 دیکھتے ہیں، تم میں ہے کہ کی بنیاد پر کچھ خاص کرنا 301، یا کچھ خصوصی ہوا 301 کی بنیاد پر. تو یہ مستقل طور پر منتقل کر دیا گیا ہے. اور پھر، بنیادی طور پر، ہم نے کلیدی قدر جوڑوں کا ایک گروپ. تو ہم مقام حاصل www.google.com ہے. اور اس کے بعد اس قسم کی یہ سب دوسری چیزیں، لیکن بنیادی طور پر، کیا مقام ہے کہاوت نئی جگہ ہے www.google.com پر ہے. آپ google.com پر جاتے ہیں تو اب، تمہیں ترتیب کی جھپک کے براؤزر طرح دیکھتے ہیں آپ کو ری ڈائریکٹ پھر ایک دوسرے کے لئے واپس www.google.com سے. تو جوابات مشتمل کر سکتے ہیں ان ہیڈر. اور چیزوں کی ایک جوڑے کی طرف اشارہ. تو ہم اصل میں کامیاب رہے تھے کا کہنا ہے کہ ایک ویب کے صفحے کا دورہ کرنے میں. تو مجھے جانے دو - ایک اچھی ویب سائٹ ہے؟ میں اچھی کی سوچ میں برا ہوں موقع پر ویب سائٹ. سامعین: وکی پیڈیا. KEVIN شمد: ٹھیک ہے. کی وکیپیڈیا کرتے ہیں. تو میں یہاں منتقل کیا گیا تھا. ارے رکو. تھا؟ جی ہاں، میں تھا. ٹھیک ہے. تو میں نے ورلڈ وائڈ ویب کرنے کے لئے ہے. تو میں نے ورلڈ وائڈ ویب کرنے جا رہا ہوں. آپ دیکھ سکتے ہیں کے طور پر، یہاں تمام ایچ ٹی ایم ایل ہے براؤزر پر عملدرآمد کرے گا وکی پیڈیا کے لئے. لیکن میں یہاں طومار کر رہیں، میں نے سب سے اوپر کیا دیکھیں گے - واہ، کی ایک بہت ہے وکیپیڈیا پر HTML - لیکن کیا میں یہاں سب سے اوپر دیکھ سکتے ہیں ہے کے طور پر مخالفت کی یہ 200 کا درجہ کوڈ میں نے پہلے دیکھا ہے 301. اور یہ ایک اچھا ہوتی ہے اگلا دوستانہ ٹھیک ہے. تو یہ اچھی حیثیت کوڈ کی طرح ہے. 200 تعداد واقف نظر ہے؟ جی ہاں، کیونکہ میں simpler.js کیا، جب میں وہاں 200 لکھا ہے. تو وہ بنیادی طور پر بتانا کہہ رہا ہے براؤزر یا جو بھی حاصل کرنے کے لئے کوشش کر رہی ہے وہ کامیاب رہے تھے کہ اس. یا جیسے ہم اس طرح بھی کامیاب رہے تھے. اور خصوصی نحو کی اس قسم ہے جاوا سکرپٹ میں ایک اعلان کے لئے مواد کی قسم کی طرح ان کی چابیاں کا نقشہ اور متن کے سادہ طرح ان اقدار. تو آپ کے جواب پر نظر ڈالیں تو یہ کہ ہم ، سے پہلے واپس وکیپیڈیا سے ہے - میں سکرال کرنے کی کوشش کرنے کے لئے جا رہا ہوں تھوڑا تیز اوپر - آپ کو سرور کی طرح ان چابیاں اور ان اقدار اپاچی. تو آپ کو چابیاں اور اقدار ہے. اور آپ میں اس کی وضاحت کر سکتے ہیں واپس بھیجنے کے لئے کیا نوڈ. تو اس میں سے کچھ میں، اصل میں اس قسم کی ہے طریقوں، اور کچھ طریقوں سے نہیں ہے واقعی، لیکن یہ تھوڑا کم سطح ہے آپ ہو سکتا ہے کہ پی ایچ پی کوڈ سے P کے لئے لکھنے سات مقرر کیونکہ پی ایچ پی اور اپاچی ترتیب میں سے کچھ کی دیکھ بھال آپ کے لئے ان باتوں کے. پی ایچ پی میں، آپ کو پہلے سے طے شدہ کی جگہ لے لے سکتے ہیں آپ کی اپنی ہیڈر لکھنے کی طرف سے رویے. لیکن اس کے مقاصد کے لئے، ہم ہمارے اپنے ہیڈر لکھنے. تو اس لائن کو احساس ہے سب لکھنے سر لائن؟ ٹھیک ہے. بہت اچھے. تو پھر مجھے کیا میں نے جواب اختتام ہے ہیلو دنیا کہہ کر. ٹھیک ہے. لیکن یہ صرف ایک تقریب ہے پروپوزل کی گذارش ہینڈلر کو بلایا. تو اب میں اصل میں قسم کی کیا کرنا ہے اس تقریب کے ساتھ کچھ، ٹھیک ہے؟ تو یہاں میں کیا یہ وہاں ہے متغیر سرور برابر ہے جس کی لکیر HTTP.create سرور، اور پھر میں پروپوزل کی گذارش ہینڈلر میں منتقل. تو اس نوڈ کی طرح ہے ایک سرور پیدا کرنے کے طریقہ. اور میں گزر رہا ہوں کہ متعلقہ پروپوزل کی گذارش ہینڈلر میں. تو اس createServer کہہ رہی ہے میں آپ کو ایک مجھے بنانا چاہتے ہیں اس تقریب سرور، اور جب کہ سرور حاصل ایک جواب، میں آپ کو اس فون کرنے کی ضرورت ہینڈلر تقریب کی درخواست. ٹھیک ہے؟ تو اس لائن کو بہت زیادہ فورا فارغ. تو متغیر سرور لائن حق کیا جاتا ہے آپ کو بہت زیادہ ایسا کرنے کے بعد. میرا مطلب ہے، اس میں کچھ اندرونی قائم کرنے کی ہے آپ کو کرنا پڑے گا معلوم ہے کہ ریاست کی اس درخواست ہینڈلر تقریب کو فون، لیکن وہاں بیٹھنے کے لئے جا رہا ہے اور نہیں ہے کا کہنا ہے کہ بھیجا صارف ہے مجھے ابھی تک ایک درخواست؟ صارف نے ابھی تک مجھے ایک درخواست بھیجا ہے؟ تو یہ بلاک نہیں ہے. ٹھیک ہے؟ تو کیا یہ ایسا ہی کریں گے یہ بنیادی طور پر ہے اب اس کوڈ پوائنٹر اسٹورز، تو اس کی درخواست کے ہینڈلر کی تقریب، اور اس کوڈ چلایا جائے گا جب کسی ایک درخواست کرتا ہے. اور پھر ہم server.listen کرتے ہیں. 1337 بہت صوابدیدی ہے. میں نے کوئی خاص وجہ تھی یہ تعداد منتخب کرنے کے لئے. یہ مکمل طور پر بے ترتیب تھا. لیکن یہ صرف بندرگاہ کی وضاحت. تو سب سے زیادہ ویب سرورز آپ دیکھیں گے کہ وہ اس قسم کی ہے کیونکہ پورٹ 80 استعمال کے کنونشن کی طرح. تو میں نے کچھ اس طرح کرنے کے لئے جاتے ہیں، مجھے نہیں معلوم، Wikipedia.org، اور میں بڑی آنت کے 8 ڈال دیا - ارے واہ، آپ اس کو نہیں دیکھ سکتا. میں معافی چاہتا ہوں. لیکن میں نے وکی پیڈیا کرتے ہیں - میں اسے یہاں لکھیں گے صرف اس لئے کہ یہ کیمرے پر واضح ہے. لیکن میں کے ساتھ ایک براؤزر میں اس لے کی وضاحت ہے کہ ایک بڑی آنت کے 80، کے لئے جانا Wikipedia.org پورٹ 80 پر. تو یہ امریکہ ہے کس طرح کی طرح ہے آپ کو جہاز کر سکتے ہیں جہاں کی طرح ایک سے زیادہ بندرگاہوں کی طرح چیزیں. تو یہ اس خاص کے لئے جانے کی طرح ہے اس سرور پر جگہ. ٹھیک ہے. تو میں صرف 1337 کا انتخاب کیا ہے. اعداد کی ایک پوری رینج ہے آپ کو منتخب کر سکتے ہیں ہے. کہ مکمل طور پر خاص نہیں تھا. لیکن اب میں کیا کرنے جا رہا ہوں میں نوڈ کو چلانے کے لئے جا رہا ہوں. مجھے اصل میں درج کریں کہ ایک جوڑے اگر آپ اسے دیکھ سکتے ہیں تاکہ نیچے لائنوں. میں نوڈ کرنے جا رہا ہوں، اور میں ہوں simpler.js چلانے کے لئے جا. اور ہم نے حاصل کرنے کے لئے کس طرح کے بارے میں بات کریں گے نوڈ ایک تھوڑا سا میں قائم. لیکن اب یہ صرف سرور چل رہا ہے. تو ایک بات ہم کوشش کر سکتے ہیں جو نہیں کر سکتے ہیں دلچسپ ہم اصل میں کر سکتے ہیں کہ ہو Curl اور میں اس تک رسائی حاصل کرنے کی کوشش کریں. تو میں Curl اور کرتے ہیں، کر سکتے ہیں اور میری مشین مقامی میزبان ہے. تم نے بھی یہ لکھا نظر آئے گا کبھی کبھی اس طرح. مقامی میزبان اور 127.0.0.1 قسم کے ہیں آپ کے گھر کے کمپیوٹر کی طرح. تو اس سے بات کرنے کی طرح ہے اپنے کمپیوٹر. ٹھیک ہے. اور پھر میں 1337 کا کہنا ہے کہ کر سکتے ہیں. تو میں کوڈ کی اس لائن چلاتے ہیں، یہ دنیا خوش کا کہنا ہے کہ. اور میں اس کی چیزیں دیکھنا چاہتے تھے کہ اگر تھا مواد کی قسم متن سادہ یا جو کچھ بھی، میں یہاں یہ ڈال سکتے ہیں. اور یہ ٹھیک ہے کا کہنا ہے کہ نوٹس. اور میں متن کی سادہ ہے. اور پھر اس دوسری قسم کے تمام ہے نوڈ میں اضافہ کریں گے کہ چیزیں وہاں میرے لئے. کہ سپر اہم نہیں ہے. میرا مطلب ہے، تکنیکی کے کچھ قسم کی ہیں قسم ہے کہ میں کے پہلوؤں صرف دکھانے کے لئے کے بارے میں بات کرنے کے لئے ڈاؤن لوڈ، اتارنا، لیکن آپ، میں نے بھی اقتدار میں ہے کے ارد گرد ان کو تبدیل. تو میں صرف ایک گروپ کے شامل کر سکتے ہیں اس طرح کی چیزیں. اور پھر اب، میں دیکھو میرے پیداوار، یہ ہو جائے گا. تو ان ہیڈر کچھ چیزیں مطلب اس طرح براؤزرز اور چیزیں. اور ہیڈر بنیادی طور پر ایک براؤزر بتا سکتے ہیں کس طرح کچھ جواب دینے کے لئے. کیا تم نے کبھی، اس سے پہلے کوکیز کے بارے میں سنا ہے تو یا کیا تم نے کبھی ناراض کیا گیا ہے، اگر کوکیز ترتیب ایک ویب کے صفحے کی طرف سے، یا کوکی بلاک یا پر تبدیل کر دیا اس طرح کچھ. تم واقعی میں کوکیز کو مقرر کر سکتے ہیں ان ہیڈر میں. تو وہ کس طرح کرنے کے لئے ایک براؤزر کو بتانا بعض صورتوں میں رویے. ٹھیک ہے. تو اس simpler.js تھا. کسی کو کوئی سوال ہے کہ منبع کوڈ فائل پر؟ ٹھیک ہے. ڈاؤن لوڈ، اتارنا. تو اس سے R ہٹانے اور simple.js دیکھو. تو یہ بہت زیادہ ہے ایک ہی پروگرام. میں نے صرف ایک چھوٹا سا مختلف لکھا میں اجاگر کی ترتیب کرنا چاہتے تھے کیونکہ جاوا اسکرپٹ کی کچھ خصوصیات. تو نوٹس کی گذارش ہینڈلر تقریب مکمل طور پر غائب ہے. جی ہاں اوہ، آپ سے ایک سوال ہے؟ سامعین: جی ہاں، دلائل اس سے گزر رہے ہیں کہ تقریب، وہ کیا ہیں؟ KEVIN شمد: تو ہیں جاوا اسکرپٹ اشیاء. Node.js دستاویزات میں، یہ بنیادی طور طریقے ہیں کیا کہتے ہیں ان پر دستیاب. ہم صرف تک رسائی حاصل کرنے کے لئے ہو لکھنا سربراہ اور آخر کہا جاتا ہے اس طریقہ کار اور اس طرح کی چیزیں. لیکن ایک پوری چڑھانے ہے زیادہ طریقوں. اور مثال کے طور، ان میں سے ایک کی طرح آر ای سی پر خاص طور پر، آپ کر سکتے ہیں rec.method طرح کچھ جس میں یہ ایک HTTP حاصل ہے یا آپ کو بتا HTTP درخواستوں کو پوسٹ کریں اور اس طرح کی چیزیں. تو مختلف کے تمام قسم ہے خصوصیات، لیکن وہ دونوں ہیں جاوا اسکرپٹ اشیاء، اور وہ صرف ہے ان سے منسلک افعال آپ کو اس چیزیں لکھ سکتے ہیں. ٹھیک ہے؟ تو اس کی درخواست ہینڈلر نوٹس مکمل طور پر چلا گیا ہے. لیکن میں نے درخواست میں تھا کہ کوڈ ہینڈلر اب بھی وہاں ہے. میں اب بھی اس res.writeHead ہے اور میں اب بھی اس res.end ہے. اور اس میں اس کی ایک مثال ہے جاوا سکرپٹ کو ایک کے اس کا خیال ہے گمنام تقریب. اور گمنام ایک فٹنگ کا نام کی طرح ہے اس کے لئے یہ لفظی نہیں ہے ایک نام ہے. کوئی فنکشن کی درخواست ہے وہاں میں ہینڈلر. کوئی نام نہیں ہے، لیکن یہ اب بھی ایک دلیل لے جا رہا ہے. تو میں اب بھی آر ای سی اور لوڈ ہے. اور میں اب بھی کوڈ ہے. یہ بالکل ٹھیک ہے جاوا سکرپٹ کے کوڈ. تو میں نے بغیر ایک تقریب اعلان کر سکتے ہیں واضح طور پر یہ ایک نام دے. یہ سب سے پہلے میں ایک چھوٹا سا مبہم ہے. کچھ کی طرح مفید چیزیں ہیں آپ کے ساتھ کر سکتے ہیں کہ ان گمنام افعال. کسی کو اس پر کوئی سوال ہے، یا یہ صرف کے لئے، اب ٹھیک ہے ترتیب کے صرف قبول کرتے ہیں کہ یہ ایک ہی بات کریں گے؟ جی ہاں؟ سامعین: افعال سب سے پہلے ہیں جاوا سکرپٹ میں کلاس؟ KEVIN شمد: وہ پہلے ہیں جاوا سکرپٹ میں کلاس. اور صرف یہ جانتے ہیں کہ ان کے تصورات جیسے ایک گمنام تقریب میں گزر یہ جاوا سکرپٹ پر لاگو ہے کہ آپ کے لئے آپ کی آخری منصوبے میں لکھ سکتے ہیں بھی ویب براؤزر. تو مثال کے طور پر، جاوا سکرپٹ میں آپ کے براؤزر میں، یہ کسی حد تک بھی واقعہ ہے احساس میں کارفرما ہے کہ آپ کیا کریں گے اس رکن نے اس پر کلک کرتا ہے جب ہے بٹن، میں تم سے اس کوڈ کو چلانے کے لئے چاہتے ہیں. تو اس کے خیالات کے اسی قسم ہے کلائنٹ کی طرف ایک ماؤس کلک یا وہ جب کچھ تصویر پر ماؤس آپ ویب کے صفحے، اس کوڈ کو چلانے. یہ سرور پر درخواست دے سکتے ہیں. تو اس قسم کی دلچسپ کی طرح ہے جاوا اسکرپٹ کا ایک بہت ہے، کی وجہ سے مناسب یا کچھ لوگ اسے ایک ہے اس قسم کے کے لئے مناسب زبان بدلیں واقعہ ڈرائیور سرور آپ کے کیونکہ ان گمنام افعال. آپ کو پوری خیال کی ہے اس اتلیکالک کوڈ. ٹھیک ہے. کوئی بھی کوئی سوال ہے؟ ٹھیک ہے. تو اس simple.js تھا. تو ایک کو دیکھو یا ایک جوڑے. تو اس sleep.js ہے. تو سے واقف کسی کو ہے سی تقریب نیند؟ پہلے لیکچر کے شاید ایک سے یا اس طرح کچھ؟ تو بنیادی طور پر آپ مجھے لگتا ہے کہ میں منتقل کر سکتے ہیں سیکنڈ کے نمبر یا آپ یو کا استعمال کرتے ہوئے کر رہے ہیں milliseconds کے ایک بڑی تعداد سو یا nanoseconds. اور بنیادی طور پر پروگرام صرف بند ہو جائیں گے وقت کی اس رقم کے لئے چل رہا. ٹھیک ہے نا؟ اور پھر اس کے آخر میں جاگ جائے گا اور تو یہ صرف چل رہا ہے جاری رکھیں گے پروگرام. تو اس سرور کی طرح دیتا ہے سونے کا تاثر. تو ہم ایک ہی ہے کہ نوٹس ہیڈر کے ساتھ 200 res.writeHead اس سے پہلے، لیکن اس وقت ہم اس بلا رہے ہیں تقریب سیٹ ٹائم آؤٹ بلایا. مقرر ٹائم آؤٹ بھی میں دستیاب ہے آپ کے ویب براؤزر گوگل کروم یا سفاری یا جو کچھ بھی. اور بنیادی طور پر یہ یہاں کیا کر رہی ہے یہ ایک تقریب میں لینے کا ہے. نوٹس، ایک بار پھر، یہ ایک ہے گمنام تقریب. ہم کیونکہ اس قسم کے ڈاؤن لوڈ، اتارنا ایک کے اندر اندر ایک گمنام تقریب کا استعمال کرتے ہوئے گمنام تقریب جس ایک چھوٹا سا عجیب ہو سکتا ہے. لیکن یہ ہے، جو اس تقریب لے جا رہا ہے اس طرح - اور بنیادی طور پر کہہ رہے ہیں کام میں چاہتا ہوں، 5،000 milliseconds میں ہے آپ اس تقریب کو پھانسی کرنا جس صرف ارے جواب ختم ہوتا ہے اور لکھتے ہیں. اس طرح کا تاثر دیتا ہے سو، لیکن راستے میں یہ اصل میں کام کرتا ہے ہم کے ذریعے چلائے جائیں گے ہے بہت جلد اس لائن. ہم صرف کچھ لکھ رہے ہیں. اور پھر ہم بھی کے ذریعے چلائے جائیں گے بہت جلد اس لائن. تو ہم اصل میں نہیں جا رہے ہیں پانچ سیکنڈ کا انتظار کرنے. ہم صرف چلانے کے لئے جا رہے ہیں فوری طور پر اس کوڈ کو. اور پھر، دوبارہ، اس چھوٹی سی ہے اب اس بات کی ہے کہ ایونٹ کے لوپ بنیادی طور پر صرف یہ ہے کہ رجسٹر مسلسل ایک دائرے کی مانند میں کے ارد گرد جا اور ایک میں گھڑی کو دیکھ موضوع اور کہہ رہے ہیں، پانچ سیکنڈ ہے ابھی تک منظور؟ اور پھر یہ دیکھتا ہے جب کہ دوسرا ہاتھ پانچ سیکنڈ یا اس طرح منتقل کر دیا گیا جو کچھ بھی، تو یہ، اٹھتی اور کہتے ہیں کہ اوہ، مجھے کیا کرنا ہے؟ اوہ، میں اس کوڈ کو چلانے کے لئے ہے. اور پھر یہ جا رہا ہے ارے res.end چلانے. تو پھر، ہم یہاں انتظار کر کبھی نہیں رہے ہیں. تو یہ نہیں ہے کہ کے اندر اس کوڈ اس تقریب میں پانچ لے جا رہا ہے چلانے کے پر. یہ کوڈ بہت چلایا جائے گا کرنے کے لئے فوری طور پر، کم از کم رشتہ دار ہم بات کر رہے تھے کہ پانچ سیکنڈ کے بارے میں پہلے سے پہلے. تو، کارروائی میں اس کو دکھانے کے لئے میں Node.sleep.js کر سکتے ہیں. اور کچھ میں پنگا کیا ہے؟ شاید. معذرت. ہم اس کو ٹھیک کرنے کے لئے کیا کر سکتے ہیں دیکھتے ہیں. ٹھیک ہے. تو یقینی طور Node.js. استعمال میں صرف مذاق کر رہا ہوں. ٹھیک ہے. صرف ایک سیکنڈ. ٹھیک ہے. مجھے معلوم ہے وہ کیا. تو مسئلہ یہ ہے کہ میرے دوسرے ٹیب میں یہاں، میں نے پہلے ہی پر گھنڈی دوڑ رہا تھا اسی ایڈریس، 1337. اگر ہم دیکھیں کہ یہ پھینک دیا تاکہ غلطی اس میں اصلی مل کر، پتہ ہے ، EADDRINUSE استعمال. تو میں نے پہلے ہی یہاں 1337 کا استعمال کرتے ہوئے کیا گیا تھا. میں اب اس کے بعد اس کو بند، اور اگر ایسا ہے تو ، امید ہے کہ، سب کچھ اس کو چلانے کے لئے کوشش کریں ٹھیک ہو جائے گا. ٹھیک ہے. تو آپ کو صرف ایک بات سے ترتیب دیں کر سکتے ہیں میں ایک بار ایک بندرگاہ پر سن. ایک اور حل میرے لئے ہوتا ہے صرف یہ ہے کہ پروگرام میں ترمیم کریں اور بنانے کے لئے یہ 1338 یا کچھ اور کی طرح ہو جائے اس طرح. لیکن اب نیند چل رہا ہے. تو اصل میں اسے باہر کرنے کی کوشش کریں براؤزر اس وقت یہ ہے کیونکہ ایک دیکھنے کے لئے تھوڑا unexciting یہ ایک ٹرمینل میں. تو میں صرف اس کے لئے جا رہا ہوں 127 ایڈریس بار پھر 1337 میں. اور اگر تم اسے دیکھ کر سکتے ہیں - مجھے اگر آپ کر سکتے پتہ نہیں ہے - لیکن میرا براؤزر کی ایک بہت، بہت طویل لے یا پانچ سیکنڈ کی طرح لوڈ کرنے کے لئے وقت. اور پھر اس کے بعد، اس کے آخر میں جواب ختم ہوا. اور اگر تم اسے نہیں دیکھ سکتے ہیں کیونکہ بات میں اگر ایک چھوٹا سا پر منتقل کر دیا گیا ہے، لیکن یہ ایک چھوٹا سا چھوٹا، آپ یہ ہے کا کہنا ہے کہ کر سکتے ہیں. تو میں ہے ہے، لیکن پانچ سیکنڈ کے بعد. اور یہ دیکھنے کے لئے ایک چھوٹا سا صاف ستھرا ہو سکتا ہے یہاں ٹرمینل پر، تو میں ہوں ایک کیا جا رہا - یہاں میں کرتے ہیں - کی اس ایڈریس Curl اور کرتے ہیں پھر 1337 کے ساتھ. اور میں صرف کی قسم بیٹھ کر یہاں پانچ سیکنڈ کے لئے. لیکن نوٹس سرور نئے جوابات قبول کر سکتے ہیں. تو یہ ہے پرنٹ. اور بنیادی طور پر، اس ڈیمو کرنے کے لئے کیا میں نے اس کے دوسرے ٹیب میں کر سکتے ہیں - تو میں نے دوسرے ٹیب میں یہ کہنا ہے کہ، میں curl اور بھی ایسا ہی کرنے جا رہا ہوں بات یہ ہے کہ ایک بار پھر. اور میں ان کو لات مار کرنے کی کوشش کرنے جا رہا ہوں ایک ہی وقت میں لوگ دور. لہذا میں نے یہ کرنے جا رہا ہوں، اور میں ہوں یہاں پر دوڑ رہا ہے اور میں ہوں اسے پھر سے کیا جا رہا. اور اسے بنانے کے لئے کرتے ہیں کہ تو آپ ان دونوں کو دیکھ سکتے ہیں. ارے طباعت کی ایک اور ہے کہ ایک چھپی ہوئی ہے تمام راستے پر - پھر یہ کہ تجربہ کرتے ہیں. اصل میں، اس کا استعمال کرتے ہیں یہ ٹھیک ہے، دھوکہ. تو میں نے ایک شیل چیز استعمال کرنے کے لئے جا رہا ہوں میرے بنیادی طور پر دو نقول کو چلانے کے لئے کی اجازت دیتا ہے متوازی میں اس پروگرام کے. تو یہ پہلے پروگرام چلائیں گے متوازی میں دوسرا پروگرام. میں انٹر دبائیں تو اب، یہ جا رہا ہے اس درخواست کی بہت زیادہ بنانے کے لئے فوری طور پر ایک ہی وقت میں. تو اس ایک شاٹ دے. تو اب یہ دو عمل کا کہنا ہے کہ نوٹس. اور تم میں جاننا ہے، کہ 27،000 تعداد بنیادی طور پر عمل ID ہے. اور پھر وہ طباعت، نوٹس ارے ایک ہی وقت میں. یہ ہم پانچ انتظار کرنا پڑا پسند نہیں کیا گیا تھا اس کے بعد ایک اور اس کے بعد کے لئے چلیں، پانچ سیکنڈ بعد دوسری حاصل. تو اس قسم کی، بعض صورتوں میں، یہ ہے واقعی ثبوت، لیکن یہ نہیں ہے یہ صرف نہیں ہے کہ بدیہی ثبوت پانچ سیکنڈ کا انتظار کر رہا ہے اور کو مسدود کرنے کی طرح پورے موضوع. ڈاؤن لوڈ، اتارنا، ٹھیک ہے. ہارون پہلے ایک سوال پوچھا ہے کہ تھا، اچھی طرح سے کیا ہم کچھ کرتے ہیں تو - جی ہاں؟ سامعین: انتظار. کس طرح سے مختلف printf کے بفر، لیکن؟ یہ خود کار طریقے ایسا نہیں ہے؟ کیوں ہم اس کے بارے میں فکر کرنے کی کیا ضرورت ہے؟ KEVIN شمد: اوہ، اگر آپ کر سکتے کہ ایک بار کا کہنا ہے کہ؟ سامعین: printf کے بفر کو پسند نہیں کرتا بالکل وہی بات ہے؟ KEVIN شمد: printf کے بفر؟ سامعین: جی ہاں. ٹھیک ہے. وہ تھے quizzes کی ایک میں نہیں تھا کس طرح اگر آپ کو صحیح printf کے بارے میں بات کچھ اور اس کے بعد یہ ایک روک ہے دوسری، اور پھر آپ کو اس کے لوپ دس ہے اوقات، یہ دس سیکنڈ انتظار کریں گے اس کے بعد ایک دوسرے کے ساتھ سب کچھ پر printf؟ KEVIN شمد: ٹھیک ہے، اوہ. سامعین: یہ ویسا ہی کر رہا ہے بات یہ ہے کہ اس کے بعد اس معاملے میں؟ KEVIN شمد: تو سوال یہ تھا بنیادی طور پر سابق quizzes کی ایک میں یا کچھ اور، ایک سوال ہے کہ بنیادی طور پر آپ پرنٹ F 10 کا کہنا ہے کہ پھر ایک وقت میں چیزوں اور میں کی طرح سویا ان لوگوں کو باہر پرنٹنگ کے عمل، کسی وجہ کے لئے آخر میں، یہ کریں گے صرف سکرین پر تمام لوگ پھینک. تو مختلف دو کی طرح ہے یہاں تصورات. تو میں ایک بات یہ ہے کہ، اس میں ہے لگتا ہے کیس، ہم مختلف دو کے ساتھ کام کر رہے ہو ترتیب کے لوگوں کے سرور پوچھ ایک ہی وقت میں چیزوں کے لئے. اور یہ کہ printf کے قسم کی وجہ اس طرح انتظار کر رہی ہے اور یہ سب باہر کے ڈھیر ایک ہی وقت میں کرنے کے لئے زیادہ متعلقہ ہے کے کس طرح printf کے قسم - تو جس طرح printf اصل میں ہے یہ بنیادی طور پر لاگو کرنے کے لئے ہے ہے لکھنے کے لئے آپریٹنگ سسٹم کی بات کنسول چیزیں. تو یہ اس کے سب نہیں کرنا چاہتا ہے آپ printf کہنا ہے کہ جب چیزیں فوری طور پر کچھ سٹرنگ کہ سکتا ہے اس کے لئے ہے اگر مہنگی حاصل ہر بار ایسا. اگر آپ ایسا کرتے تو، ارے آپ کے پروگرام پر printf اصل میں اس کا پرنٹ نہیں کر سکتے ہیں فوری طور پر کنسول. یہ ٹھیک ہے، میں نے لکھا ہے، کا کہنا ہے کہ ہو سکتا ہے. آپ کو دینے کے لئے اور پھر قسم کا انتظار یہ اصل میں اس سے پہلے ایک چھوٹا سا زیادہ کنسول اسے باہر لکھنے. تو اس کا معاملہ تھا اس کی وجہ سے - اور اس قسم کی غیر متعلقہ ہے سونے کے لئے - نیند کی طرح صرف تھا مظاہرہ کرنے کے لئے وہاں انجکشن اسے لکھ نہیں ہے حقیقت یہ ہے کہ یہ synchronously. لیکن اس کی وجہ صرف یہ ہے کارکردگی آپ کی ضرورت نہیں ہے تاکہ کہ بہت سے رابطے کے لئے بنانے کے آپریٹنگ سسٹم. لیکن یہاں، کیا ہم واقعی کرنے کی کوشش کر رہے ہیں اس نیند چیز کے ساتھ صرف شو ہے کہ ہم دورے پر آئے ہوئے دو لوگوں کو ہے جب اس ویب سائٹ، ڈال کرنے کے لئے نہیں جا رہا ہے انہیں یہ کہنا کہاں جا رہا ہے ایک لائن میں میں ہوں تو آپ کی مدد، اور ہے مکمل طور پر ان کے بعد آپ کی مدد ختم پانچ سیکنڈ، تو میں جا رہا ہوں اگلے شخص پر منتقل. تو سب سے پہلے اس شخص کی درخواست نہیں کرتا ہے واقعہ ہے کہ لوپ باندھنے کہ سمجھ میں آتا ہے. لیکن یہاں اصل میں ایک مثال ہے باندھنے گا کہ کچھ کے واقعہ لوپ کو. تو یہاں ایک خوفناک تقریب ہے nth فبونیکی کی تحسیب کیجیے. یہ لفظی آپ کر سکتے ہیں برا طریقہ ہے nth فبونیکی تعداد معلوم کیجیے. اور یہ صرف تسلیم کرتے ہیں اصل میں ہے یہ کہاں سے آیا اصل میں نہیں ہے - میرا مطلب ہے، آپ اسے تلاش کرنے کی کوشش کر سکتے ہیں - لیکن ایک بہت طویل بلاگ کی طرح ہے کسی نے لکھا ہے کہ پوسٹ. یہ ان اٹ چیزوں میں سے ایک کی طرح ہے. لیکن کسی Node.js تنقید کا نشانہ بنایا، اور وہ ایک مثال کے طور پر اس کا استعمال کیا ہے. تو میں نے اس قسم کی آپ کو دو دکھانا چاہتا تھا مختلف نقطہ نظر صرف حاصل کرنے کے لئے تصورات کی ایک عام سمجھ بوجھ ان دو چیزوں کے پیچھے. لیکن یہ صرف ایک خوفناک طور پر منتخب کیا جاتا ہے بری طرح غیر فعال computationally گنتی کرنے کے لئے انتہائی طریقہ nth فبونیکی تعداد. تو صرف ایک طرف نوٹ کے طور، کیوں ہے یہ خوفناک ایک طریقہ کی طرح؟ جی ہاں؟ سامعین: آپ شروع کہو 1،000 ساتھ باہر. 999 اور 998 میں 1،000 الگ کرتا ہے. اس میں سے ہر ایک دو چیزوں میں الگ کرتا ہے. اس میں سے ہر ایک دو چیزوں میں الگ کرتا ہے. KEVIN شمد: ٹھیک ہے. سامعین: تمام راستے. KEVIN شمد: بالکل. اگر ایسا ہے تو، صرف، کیمرے کے لئے دوبارہ میں 1،000 یا کچھ اور طرح fib فون اس طرح، یہ ظاہر ہے کے مقابلے میں کم نہیں ہے یا ایک کے برابر ہے تو میں جا رہا ہوں اس کے علاوہ کیس کے لئے جانا، اور پھر میں جا رہا ہوں 999 fib کے علاوہ 998 fib فون کرنے کے لئے. اور پھر بہت زیادہ ہے کہ تمام کی 999 کرتا fib کہ کام ہے قسم کی اس کی سطح پر. آپ کو نیچے جاتے ہیں، اس سے بھی زیادہ بے کار ہے اس سے، لیکن اگر آپ کو صرف کمپیوٹنگ fib 998 ہو جاتا ہے لگتا ہے ہم بہت قریب 999 fib پر. تو ہم واقعی ایک چھوٹا سا زیادہ ہونا چاہئے ہم اس قسم کی دوبارہ استعمال کے بارے میں ہوشیار ان، لیکن ہم reusing نہیں کر رہے ہیں تمام ان چیزوں کو. تو آپ کو، یہ بہت بڑا تصور کر سکتے ہیں صرف خوفناک ہے کہ بہت بڑا درخت. لیکن ویسے بھی، ٹھیک ہے. تو اس fib تھا. یہ صرف چلانے کے لئے ایک وقت لیتا ہے. جی ہاں؟ سامعین: [اشراوی]. KEVIN شمد: اوہ، اگر آپ کر سکتے سوال دوبارہ؟ سامعین: [اشراوی]. KEVIN شمد: اوہ تو یہ صرف کوڈ آن ہے اس طرح کی پر جا رہا ہے سرور سائیڈ. تو یہ مل جائے نہیں جا رہا ہے براؤزر یا کسی بھی چیز میں. یہ جو ہم ہے بنیادی طور پر ہے کہ جب یہاں صارف بہت زیادہ کرتا پھر ان کی درخواست، جب ہم کی طرح ایک درخواست بنانے کے، ہم کو فون کرنے جا رہے ہیں سرور سائیڈ پر اس تقریب. اور پھر ہم نتیجہ واپس مل جائے گا اس تقریب بلا سے. اور پھر ہم صرف پرنٹ کریں گے صارف کو اس کے. تو صارف کو واقعی نمٹنے نہیں ہے بہت زیادہ اس تقریب کے ساتھ. سوال یہ تھا کہ؟ احساس ہے کہ ہے؟ ٹھیک ہے. ڈاؤن لوڈ، اتارنا. تو پھر، ہم اس پورے res.writeHead کرنا ہم باہر پرنٹ جہاں چیز ہیڈر. اور پھر میں نے کرنے کی طرف سے جواب ختم جادو تعداد fib 45 ہے. تو صرف اس سرور چلاتے ہیں. تو میں ایک نوڈ fib.js. کرنے جا رہا ہوں تو اب میرے fib سرور چل رہا ہے. اور پھر یہاں، میں جا رہا ہوں ان میں سے ایک ایسا کرنے کی. ٹھیک ہے؟ تو میں صرف، Curl اور کہنے جا رہا ہوں. تو یہ تھوڑی دیر کے لے جا رہا ہے لیکن ہے امید ہے کہ جلد ہی اسے ختم کیا جائے گا اور یہ ہے کہ 45th پرنٹ تعداد فبونیکی. سامعین: [اشراوی]. KEVIN شمد: یہ چاہئے بہت جلد کیا. تو یہ پانچ چھ سیکنڈ لینا چاہئے. مجھے لگتا ہے کہ صرف V8 ہونے سپر ہے نہیں جانتے روزہ، لیکن کسی بھی صورت میں، یہ ایک ہے جان بوجھ کر بہت ہی چھوٹا اور مثال کے طور پر اور ایک غیر چھوٹی سی کے inelegant حساب. تو تھوڑی دیر کے بعد، اس کو حاصل ہے. لیکن اب، میں کیا کروں کہ اگر ایک ہی قسم کی میں جہاں پہلے تجربہ ایک ہی وقت میں دو درخواستوں؟ تو میں یہاں پر ایک curl کرنے کے لئے جا رہا ہوں اس ایڈریس، اور میں جا رہا ہوں ایک اور Curl اور ایسا کرنے کی. اور ہم نے کے لئے اس نے جب، یاد ہم بنیادی طور پر یہ تھا، سرور سو پانچ سیکنڈ کے بعد، وہ خوبصورت زیادہ سے زیادہ دونوں واپس آئے ایک ہی وقت کے ارد گرد. تو یہ خاص طور پر معاہدہ نہیں کیا گیا تھا. لیکن اب یہ کرنے کی کوشش کریں. ٹھیک ہے، تو ہم دونوں کے عمل ہے. ان کے عمل کی شناخت کر رہے ہیں یاد رکھیں. یہ ایک چھوٹا سا ہونے جا رہا ہے ہم تعطل جبکہ عجیب. تو صرف یہاں رہنے دو اور انتظار. تو ان میں سے ایک آنا چاہئے واپس کی طرح کے بعد - ٹھیک ہے، تو ایک واپس آیا. لیکن پھر کیوں دوسری نہیں کیا ایک ابھی واپس آئے؟ جی ہاں؟ سامعین: سرور کچھ نہیں کر سکتے یہ ہے کہ بڑی تعداد کمپیوٹنگ ہے جبکہ. KEVIN شمد: ٹھیک ہے. تو جواب تھا صرف یہ ہے کہ سرور واقعی کچھ نہیں کر سکتے جبکہ یہ ہے کہ فبونیکی تعداد کمپیوٹنگ ہے. تو اب میں صرف اپنے دو چیزیں ہے. لیکن میں صرف کوڈ کے بارے میں سوچنے لگتا ہے تھوڑا اور، یہ کس طرح کام کر رہا ہے اور سب کچھ. تو یہاں اس تقریب کا کوڈ ہے میں نے جب اس کو چلانے کے لئے اس سرور سے کہا ہے ایک نئے آنے والے کی درخواست موصول. تو یہ صرف اس کے ذریعے چلایا جا رہا ہے پورے کوڈ، اور پھر اس کے جانے کے لئے جا رہا ہے واقعہ لوپ واپس اور اس کے بعد جاری نئے واقعات کے لئے جانچ پڑتال. تو بنیادی طور پر ہم نے جو کچھ ہو رہا ہے کیا سرور ہے نئی چیزوں کے لئے سن. پہلے شخص 45 کیا ہے کے لئے پوچھتا ہے. ہم اس کی گنتی کرنے کے لئے اس کوڈ کو چلانے کے. اس کوڈ سے لیتا ہے تقریبا پانچ کو چلانے کے لئے چھ سیکنڈ. پھر ہم نے ایونٹ کے لوپ کے لئے واپس جانا اور نئے درخواستوں کے لئے چیک کریں. تو یہ آپ ہیں تو، کس طرح کی ایک مثال ہے نام نہاد کمپیوٹ ہیں کہ چیزیں ہیں پابند، یا کمپیوٹر کے ایک بہت استعمال، اقتدار نہیں، لیکن کی طرح ہیں انتہائی computationally - میں نے اس کے بارے میں کہنے کے لئے ایک بات ہے لگتا ہے اس تقریب، مکمل طور پر کر رہا ہے سب سے زیادہ حصہ کے لئے، خوبصورت مفید کام صحیح. پورے وقت ہے کہ واپسی کال تقریب چل رہا تھا، یہ بہت تھا زیادہ سے زیادہ اس وقت کے سب سے زیادہ خرچ صرف کمپیوٹنگ کہ nth فبونیکی تعداد. لیکن ہم صرف ایک ہی موضوع تھا ساتھ نمٹنے کے لئے. اپاچی ماڈل میں، جب دو لوگ ، 45 fib حاصل کرنے کے لئے درخواست کی تھی ہم نے دو مختلف موضوعات ہوتا ہے. اور اس کے بعد آپریٹنگ سسٹم کا کام صارف کی سطح کیا گیا، یا ہوتا موضوعات انتظام ہے کہ کوڈ، ہوگا اس کو کاٹ دیا گیا سی پی یو، یا اگر آپ ایک سے زیادہ CPUs کے تھا یہاں تک کہ اگر، CPUs کے بھر میں یکساں طور پر تقسیم وہ ختم دونوں تھے تاکہ تقریبا ایک ہی وقت میں. تو ہم کو حل کر سکتے ہیں، کس طرح آپ کو ظاہر کرنے کے لئے - اور یہ ایک کل کامل نہیں ہے حل ہے، لیکن قسم کی ہم کس طرح کر سکتے ہیں بنانے کے پیچھے یہاں آئے ہیں اور کرتے ہیں تھوڑا سا بہتر. تو کیا میں یہاں ہے نامی ایک پروگرام ہے Fib سی اور یہ بنیادی طور پر استعمال کرتا ہے کہا جاتا ہے نوڈ کے ماڈیولز کی ایک بچے کے عمل ماڈیول. تو میں نے شامل کر دیا ہے کہ سب سے اوپر کی قسم میں شامل ہیں میں ایک پونڈ کروں گا کی طرح بچے process.h یا کچھ اور. اب میں اس CP متغیر تک رسائی حاصل ہے جس میں میرے تمام فعالیت ہے. تو اب میں اس کے جواب میں کیا کر رہا ہوں ہینڈلر میں اس پروگرام کو چلا رہا ہوں ڈاٹ fib 45 سلیش. تو کیا میں نے کیا ہے - اور میں جا رہا ہوں ایک کے لئے اس پروگرام سے باہر قدم تھوڑا سا - میں نے سی کے ایک پروگرام لکھا ہے ہے کہ بنیادی طور پر computes nth فبونیکی تعداد. تو یہاں میں لکھا ہے صرف ایک پروگرام ہے C میں ہے کہ اس computes. میں اسے مرتب کر سکتے ہیں، اور میں چلا سکتے ہیں یہ کمانڈ لائن پر. اور یہ گنتی کرنے کے لئے جا رہا ہے 45th فبونیکی تعداد. تو یہ صرف لیتا نوٹس جب تک بہت زیادہ. میں شاید ڈیش 03 کرنے کے لئے استعمال کیا جا سکتا ہے یہ یا اس طرح کچھ کو بہتر بنانے کے، لیکن میں صرف باقاعدہ طرح کیا سنکلک کی ترتیبات. اور یہ اسے باہر پرنٹ. لیکن اب، میں اس قسم کی کیا کر رہا ہوں؟ اوہ معاف کرنا، غلط فائل. تو میں کے ساتھ ایک ہی چیزیں پہلے ہیڈر. پھر میں نے اس cp.exec کرتے ہیں. تو کیا ایسا کرنے کی جا رہی ہے یہ ہے اس پروگرام کو چلانے کے لئے جا رہا. لیکن یہ کام کرتا ہے طریقہ یہ ہے کہ اس کے لئے انتظار کرنے کے لئے نہیں جا رہا ہے ختم کرنے کے لئے پروگرام ہے کہ. یہ صرف بنیادی طور پر کہنا ہے کہ اس پروگرام کو پھانسی. تو بنیادی طور پر میں اس قسم کے کا فوری قسم کا حکم. اور اس کے بعد، آپ کے ساتھ کیا کر رہے ہیں جب یہ، اس تقریب کو چلانے کے. تو اب ہم اس قسم کی حاصل کی پوری بحال بات جیسا کہ ہم انتظار کر رہے ہیں نہیں کر رہے ہیں. اس طرح کا احساس ہے؟ جی ہاں؟ سامعین: [اشراوی]؟ KEVIN شمد: تو یہ اصل ایسا کرنے کے لئے ایک نئے عمل کو کھولنے. تو یہ کچھ طریقوں سے، اصل میں ہے، ، بری سپر برے نہیں، لیکن یہ ہے اہم اس قسم کی ہے کا کہنا ہے کہ ایک طرف، واپس جا رہا، اپاچی ہم موضوعات اور عمل کرتے ہیں جہاں ماڈل ہر درخواست یا ہر درخواست کے لئے عمل. تو اس کے مطابق کی قسم ہے اپاچی کرتا ہے کرنے کے لئے. کچھ صورتوں میں، یہ صرف ایک نئی استعمال کریں گے تھوڑا اور روشنی ہے جس میں موضوع، ایک عمل کے مقابلے میں وزن، لیکن اپاچی کر سکتے ہیں ایک نیا عمل forking کے ختم ہم یہاں کیا کرتے ہیں کی طرح ہے جس میں لپیٹ ڈاٹ سلیش fib 45 کرنے کی طرف سے. اور پھر اس صورت میں، ہم اس قسم کی پڑ عمل کی ایک ہی اخراجات. تو یہ آپ کر سکتے ہیں صرف ایک بات ہے. لیکن صرف چل رہا ہے اس طرح ظاہر کرنے کے لئے. اور یہ بات صرف سچ کا مقصد ہے ایک کے طور پر پروگرام کے ان قسم کے پیش مختلف نقطہ نظر پر ظاہر کرنے کے لئے راستہ کس طرح اس طرح کے سرورز ڈیزائن کرنے کے لئے. اگر میں تو یہ اب تو چل رہا ہے، اور یہ ایک بار پھر، میں نے دو کے عمل کی شناخت ہے. صرف کے بارے میں بات کرتے ہیں چیزوں کی طرف اشارہ. تو وہ incrementally کر رہے ہیں. یہ اچھا ہے. اس سے پہلے 27.122 تھی. لیکن نوٹس اب، وہ واپس آیا میں تقریبا ایک ہی وقت. اور اب، ایک اچھا سوال کے بارے میں پوچھنا کیوں کیس، جس کا کام یہ ہے کہ تھا اس طرح کی ان چیزوں کو بنانے کے لئے اب تھا قسم میں سے ہر ایک کے ساتھ انصاف دیگر، ان دو مثال کے طور پر میں بھاگ گیا ڈاٹ سلیش fib 45 یا اس نوڈ بھاگ گیا؟ کی طرح یہ مناسب ہے کہ جو وہ دونوں قسم کی چلت وقت متوازن ہو؟ سامعین: [اشراوی]. KEVIN شمد: جی ہاں. تو بنیادی طور پر، میں ڈاٹ سلیش fib کرتے ہیں جب 45 یا اس طرح کچھ، اب یہ ہے قسم کے آپریٹنگ سسٹم تک ان پروگراموں کی رن ٹائم سنبھال. اور اب یہ ان کے شیڈول کر سکتے ہیں مختلف CPUs کے یا اس پر انہیں شیڈول کر سکتے ہیں. یہ ہے کہ ایک وقت کاٹ کر سکتے ہیں سی پی یو وہ حاصل ہے کہ یہ ہو جاتا ہے یا ایک سی پی یو پر چلانے کے لئے. تو ہے کہ اس کے پیچھے خیال ہے. اس سب کو احساس ہے؟ تو اب نوڈ واقعی میں ایک کھیل نہیں ہے ان کاموں کو تقسیم میں حصہ. ٹھیک ہے. تو ہے کہ تقریبا یہ مثالیں کے لئے ہے. میں صرف ایک چیز دکھانا چاہتا تھا اس کی ایک بہت اب تک کیا گیا ہے مکمل طور پر سپر عملی نہیں بعض صورتوں میں. میں نے اس کے بعد گھر آ تصور کر سکتے ہیں بات کرتے ہیں اور کچھ اور طرح کہہ، ساتھ ساتھ میں اس قسم کی گفتگو سے باہر ہو گیا ہے کہ میں کے لئے ایک فبونیکی سرور کر سکتے ہیں میرا آخری منصوبے. تو یہاں صرف طرح کی ایک اور مثال ہے کہ امید ہے کہ ہو جائے گا - شاید نہیں، لیکن ہو سکتا ہے - ایک چھوٹا سا زیادہ ترتیب کے آخری منصوبوں کے لئے متعلقہ اور اس طرح چیزوں کے لئے آگے کی سوچ. تو اس chat.js. ہے تو اس قسم کے کچھ نمونے پسند ہے آپ کو استعمال کر سکتے ہیں کہ سرور سائیڈ کوڈ ایک چھوٹے سے چیٹ سرور کی طرح قائم تم پر دیکھا جا سکتا ہے فیس بک چیٹ یا جو کچھ بھی. تو میں نے اس فیس بک کی طرح ہے نہیں کہہ رہا ہوں چیٹ، اور اس طرح کی ہے شاید شاید اچھا نہیں، لیکن - ایک اچھا کی طرح اچھا - ایک بات چیت کے لئے نقطہ اغاز آپ کی ویب سائٹ کے لئے سرور ایک حتمی منصوبے کے لئے. تو یہ کیا کر رہی ہے کو دیکھو. تو ہم اس میں خاص بات یہ ہو رہی ہے سب سے اوپر، اس SIO متغیر Socket.IO کی ضرورت کے برابر ہے. تو یہ نہیں ہے کہ کسی دوسرے کی بات ہے اصل کے ساتھ بنڈل آئے گھنڈی لیکن آپ اسے انسٹال کر سکتے ہیں. یہ ایک نوڈ ماڈیول ہے. تو یہ صرف کچھ کی طرح ہے نوڈ توسیع. SocketIO واقعی اصل ہے ڈاؤن لوڈ، اتارنا کی طرح. یہ بنیادی طور پر کیا تجرید ہے یہ ہے اس کے لئے آپ کی اجازت دیتا ہے ہے مواصلات کے اس ندی ہے ایک ویب کے درمیان براؤزر اور ایک ویب سرور. تو نے اب تک سب سے زیادہ حصہ کے لئے، ہم نے کیا ہے ان بہت جلد ایک دوسرے یا دو ایک ویب کے درمیان دوسرا مواصلات براؤزر اور ویب سرور. تو یہ بنیادی طور پر google.com، حاصل کرنے کے لئے جانے سامان، تو اسے واپس بھیج دیں، اور ہم کیا کر رہے ہیں. ہم تک دوبارہ بات کر کبھی نہیں رہے ہیں صارف اقسام کچھ اور میں. لیکن کیا Socket.IO اور اسی طرح کی چیزیں - اور SocketIO اصل ایک ہے کے طور پر بنایا گیا ہے کہ چیزوں کی WebSocket جس طرح کی دستیاب ہے HTML5 کا حصہ کے طور پر - کہ آپ کو اس کی اجازت دیتا ہے جاری بات چیت. اور یہ ایک بات چیت کے سرور میں بہت مفید ہے چیز کی طرح ہے کیونکہ یہ قسم کے میں جاری بات چیت کی طرح کچھ طریقوں کی وجہ سے آپ چیٹ کر رہے ہیں کسی کے ساتھ، آپ کو اب صرف ایک بھیج سکتے ہیں پھر نیچے پائپ پیغام، اور سرور نیچے ایک پیغام بھیج سکتے ہیں تم دوسرے شخص کو پائپ کے ساتھ چیٹ. اور پھر آپ کو اس کر سکتے ہیں اس طرح کا تبادلہ. تو اس کا کیا کی طرح ہے SocketIO کے لئے اچھا ہے. SocketIO WebSockets استعمال کرتا ہے کی وجہ ایک بات ہے کہ میں صرف سادہ پرانے WebSockets کے علاوہ، یہ بھی بنیادی طور پر کچھ ترکیبیں کرتا ہے یہ براؤزر ہم آہنگ بنانے کے. انٹرنیٹ ایکسپلورر کی طرح تو براؤزر بدقسمتی WebSockets کی حمایت نہیں کرتے باکس کے دائیں باہر. تو یہ ڈاؤن لوڈ، اتارنا بدیا کے کچھ دوسرے قسم کا استعمال کرتا ہے اجازت دینے کے لئے ایڈوب فلیش کے ساتھ کام آپ کو کراس براؤزر سپورٹ کرنے کے لئے. تو یہ واقعی مفید ہے. اور اصل میں، میں نے اس قسم کی ہوں جانتے یہاں وقت پر چل رہا ہے، لیکن CS50 بحث، کیا تم نے کبھی کچھ دیکھا ہے کی طرح، مجھے پتہ نہیں ہے، خالی اور تو ہے اس پوسٹ یا کچھ جواب اس طرح، اس خصوصیت؟ یہ SocketIO ہے. تو کسی میں ٹائپ شروع ہوتا ہے جب اس جواب کو اہمیت یا بنانے کے لئے باکس کے بارے میں بات کچھ، اپنے براؤزر کیا ہے SocketIO میں کہا جاتا کسی قسم کے اخراج کسی کی کا کہنا ہے کہ واقعہ اس پوسٹ کا جواب دے. پھر سرور، ٹھیک ہے، کا کہنا ہے کہ مجھے کیا کرنا ہے؟ ٹھیک ہے اب میں ان دیگر لوگوں کو بتانا ہے جو CS50 پر درج ہیں بحث اس پوسٹ میں کسی کو جواب ہے. تو اس SocketIO کیا ہے کی طرح ہے اس جاری قسم کے، کے لئے اچھا بات چیت کے ندی. ٹھیک ہے. تو میں نے یہاں کیا ہے - اور ہم صرف کر رہے ہیں کنکشن صف کو نظر انداز کرنے کے لئے جا ایک تھوڑا سا کے لئے - مجھے کیا میں نے ایک اور سنتے ہو ہے. تو یہ صرف Socket.IO طریقہ ہے اس بندرگاہ پر سن دو کہہ. اور پھر میں نے کنکشن پر یہ کرتے ہیں. تو یہ صرف بنیادی طور پر ساکٹ کب کی ہے ہم ایک موصول جب، کہہ کے راستے کنکشن، میں آپ چاہتے ہیں اس کوڈ کو چلانے کے لئے. اور اس کے بجائے آر ای سی ہونے کا نوٹس، کہ اور وہاں میں منظور لوڈ میں ساکٹ ہے. اور اس کے ساکٹ خیال بنیادی طور پر یہ ہے آپ کو لکھنے اور پڑھ سکتے ہیں اس چیز کو اس سے صارف کی ہے ممکنہ طور پر پیغامات. اور آپ کو بھیج دیں گے پیغامات کہ ساکٹ کے ذریعے جا سکتے ہیں. احساس ہے کہ ہے؟ تو اس کو جاری رکھنے کی بات ہے. تو مجھے کیا میں Socket.emit کال ہے. اور اخراج بہت لیتا ہے زیادہ سے زیادہ دو دلائل. پہلی دلیل ایک تار ہے صرف کی قسم کی نمائندگی آپ اتسرجک رہے ہیں بات. تو اس معاملے کے لئے، میں استعمال کرتے ہیں اس جملے نیا پیغام. اور یہ صرف بنیادی طور پر کہہ رہا ہے کہ مجھے اس بات کی قسم، بھیجنے، ایک نیا پیغام ہے. تو آپ کو مخصوص اقسام کے لئے مدد کر سکتے ہیں نیا پیغام یا جو کچھ بھی طرح ڈاٹ کا استعمال کرتے ہوئے کی طرف سے. تو کنکشن اور صارف ہیں، تو وہاں بھیجا تم، ہم نقطہ پر فون جہاں پر نظر ان کی نمائندگی ہے کہ دوسرے ڈور ہیں صارف پیغامات کی اقسام. تو یہ آپ کو اس کا اخراج ہو سکتا ہے بنیادی طور پر ہے ان کے پیغام کی اقسام میں سے ایک ہے، اور تو جواب میں کچھ کرنا ان کے پیغام کی اقسام میں سے ایک تو میں نے اس نئے پیغام نکل رہا ہوں. ہم connections.push کو نظر انداز کرنے جا رہے ہیں ایک دوسرے کے لئے. لیکن اس وقت میں Socket.on صارف بھیجا، کا کہنا ہے کہ. تو اب اس قسم کی طرح ہے جب صارف مجھے ایک پیغام بھیجتا ہے، میں چاہتا ہوں آپ اس کوڈ کو چلانے کے لئے. نوٹس اور یہ کہ ہے کہ گمنام تقریب اس متغیر میں لے جا رہا ہے بنیادی طور پر کی جا رہی ہے کے اعداد و شمار سے ملاقات کی صارف کا پیغام ہے. کے بارے میں بات کی تو اب دو قسم کنکشن صف. تو یہ ایک چیٹ کلائنٹ کے لئے ڈیزائن کیا گیا ہے بنیادی طور پر سب میں اس قسم کی ہے جہاں اسی چیٹ روم. تو بنیادی طور پر، کیا ہم رکھنے کی ضرورت ہے کے ارد گرد کچھ صف ہے کہ بنیادی طور پر میں چیٹنگ تمام لوگوں کی نمائندگی کرتا ہے کچھ طریقوں سے، کہ سمجھ میں آتا ہے. ٹھیک ہے نا؟ ہم ان لوگوں کو جو معلوم کرنے کے لئے کی ضرورت ہے تو ہم نے ان کو پیغام بھیج سکتے ہیں کہ دوسرے لوگوں ہمارے پاس بھیج دیں. تو کیا اس کوڈ کرتا ہے جب صارف ہے ایک پیغام بھیجتا ہے - اس قسم کی ہے واقعہ - ہم اس کوڈ کو چلانے کے لئے جا رہے ہیں. اور ہم کیا کرتے ہم اس کے ذریعے چلایا جاتا ہے ہم کنکشن کہا جاتا ہے اس صف. اور ہر کنکشن کے لئے بہت زیادہ ہمارا ہے کہ ایک کے علاوہ، یہ ہے اس کوڈ کا کہنا ہے کہ، ہم نے ایک نیا بھیجیں کہ منسلک پیغام کے ساتھ پیغام کے بارے میں معلومات. آپ یہاں محسوس تو، کیا میں نے کیا جب صارف اصل میں ایک نیا ہوتا ہے کنکشن کے ساتھ میں شامل ہے ہے JavaScript.push طریقہ، یہ ہے بنیادی طور پر صرف کی طرح شامل کہہ میں ایک قدر کے طور پر اس ساکٹ ہمارے کنکشن صف. اس کوڈ چلتا ہے جب تو اب، یہ ان خاص چیزوں کو بھیجیں کنکشن. تو یہ ایک اچھا نقطہ اغاز ہو سکتا ہے چیٹ سرور بنانے کے لئے یا اسی طرح کے کچھ. اور ٹھنڈی چیز کی طرح ہے کہ آپ کی طرح کے لئے یہاں دیکھ کر اور اس کے کوڈ اخراج اور اس طرح کی چیزیں ایک ہی ہے جاوا سکرپٹ کے کوڈ کی قسم ہے کہ آپ کو کرے گا بات چیت کرنے کے براؤزر میں لکھنا سرور کے ساتھ. SocketIO قسم کی ہے یہی وجہ ہے کہ صاف اور اس طرح میں مفید. اوہ اور صرف ایک اور چیز اصلی فوری. ایک CS50 حتمی منصوبے گزشتہ سال نہیں تھا یہ بنیادی طور پر ایک بات چیت کے لاگو Node.js. میں سرور میں اس Harvardchats.org ہے لیکن میں نہیں ہوں - ٹھیک ہے. میں یو آر ایل کیا ہے اس بات کا یقین نہیں ہوں، لیکن میں نے اس کے بعد اس سے باہر بھیج سکتے ہیں. لیکن اس قسم کی اچھا ہے کیا آپ Node.js. ساتھ کیا کر سکتے تو میں نے عام طور پر، آپ لوگ ہیں، امید ہے کہ ایک Node.js مفید ہے کیا اچھا احساس اور تم کس طرح ہو سکتا ہے کا اطلاق کر سکتے ہیں آپ کی آخری منصوبے. میں کچھ اور باہر بھیجنے کی جائے گی اس کے ساتھ ساتھ وسائل. اور آنے کے لئے آپ کا شکریہ. آپ کا شکریہ. [تعریف]