1 00:00:00,000 --> 00:00:08,350 2 00:00:08,350 --> 00:00:09,710 >> কেভিন Schmid: সবাই হ্যালো. 3 00:00:09,710 --> 00:00:12,640 CS50 সেমিনার স্বাগতম কলব্যাক নেভিগেশন 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 কলব্যাক মত কিছু 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 >> AUDIENCE: [শ্রবণাতীত]. 34 00:01:37,650 --> 00:01:38,150 >> কেভিন Schmid: যথাযথভাবে. 35 00:01:38,150 --> 00:01:40,100 সুতরাং এটি অধিকার, HTTP-র মত? 36 00:01:40,100 --> 00:01:44,720 কিভাবে জন্য তাই মূলত স্পেসিফিকেশন যে অনুরোধ আসলে পাড়া করা উচিত 37 00:01:44,720 --> 00:01:47,450 আউট, কারণ দিনের শেষে, যে অনুরোধের সত্যিই ঠিক পছন্দ হয় একটি 38 00:01:47,450 --> 00:01:50,240 স্ট্রিং যে মূলত আমি এই চান বলল. 39 00:01:50,240 --> 00:01:53,580 এবং স্পেসিফিকেশন যে জন্য HTTP-র হয়. 40 00:01:53,580 --> 00:01:55,270 যাতে এর একটি প্রোটোকল মত. 41 00:01:55,270 --> 00:01:57,920 >> আমি তখন সার্ভার পায় যে অনুরোধ. 42 00:01:57,920 --> 00:02:01,610 তাই আপনাকে বলছি ওয়েব সার্ভার ইনস্টল করা CS50 প্রয়োগ মধ্যে. 43 00:02:01,610 --> 00:02:02,460 এটা এ্যাপাচি এর. 44 00:02:02,460 --> 00:02:06,230 এবং এই সপ্তাহে আপনি সমস্যার কাজ যখন সাত সেট, আপনি আসলে কাজ করব 45 00:02:06,230 --> 00:02:08,160 যে ওয়েব সার্ভারের সাথে. 46 00:02:08,160 --> 00:02:12,380 তাই সার্ভার যে অনুরোধ গ্রহণ করে, এবং তারপর এটি ধরনের স্ক্র্যাচ আছে তার 47 00:02:12,380 --> 00:02:15,090 মাথা এবং কি ভাল মত বলে আমি এই সাথে করব? 48 00:02:15,090 --> 00:02:20,060 >> সুতরাং, তারপর কি সিদ্ধান্ত নেয় তা উপর ভিত্তি করে এটা কোন ধরণের যোগাযোগ করতে হতে পারে 49 00:02:20,060 --> 00:02:20,730 সম্পদ. 50 00:02:20,730 --> 00:02:23,700 এবং যে সম্পদ একটি হতে পারে বিভিন্ন জিনিস অনেক. 51 00:02:23,700 --> 00:02:26,810 কিন্তু, এটা হতে পারে শুধু একটি স্ট্যাটিক এইচটিএমএল ফাইলের মত. 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 একটি MySQL ডাটাবেসের মত. 57 00:02:39,530 --> 00:02:43,910 সুতরাং সর্বদা যোগাযোগ করতে নেই একটি সম্পদ, কিন্তু মধ্যে দিয়ে 58 00:02:43,910 --> 00:02:45,700 কিছু ক্ষেত্রে, এটি পারা. 59 00:02:45,700 --> 00:02:47,800 >> আমি তখন এটা করতে কি ঘটছে এর পর তা যাচ্ছে হয় 60 00:02:47,800 --> 00:02:49,430 প্রতিক্রিয়া ফেরত পাঠান. 61 00:02:49,430 --> 00:02:53,130 এবং এই জন্য প্রতিক্রিয়া এছাড়াও HTTP-র দ্বারা নির্দিষ্ট. 62 00:02:53,130 --> 00:02:54,830 আমি তখন ক্লায়েন্ট তা পেতে পারেন. 63 00:02:54,830 --> 00:02:56,740 এটা বাদে এটা বিছিন্ন এবং এটি প্রক্রিয়া করতে পারি. 64 00:02:56,740 --> 00:03:00,900 এবং তারপর আপনি একটি ওয়েব পাতা পাবেন যেমন গুগল বা CS50.net বা 65 00:03:00,900 --> 00:03:02,240 আপনি চলে যান যাই হোক না কেন. 66 00:03:02,240 --> 00:03:03,100 ঠিক আছে? 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 আপনি না কাজ সুতরাং যখন পি, সাত সেট আপনার সাথে কাজ করা চলুন 78 00:03:32,490 --> 00:03:34,120 Apache ওয়েব সার্ভার. 79 00:03:34,120 --> 00:03:37,890 আপনি সত্যিই কাজ করতে হবে না সরাসরি অত্যধিক এ্যাপাচি সঙ্গে. 80 00:03:37,890 --> 00:03:41,920 আপনি ধরণের এ্যাপাচি একটু কনফিগার আপনি ভার্চুয়াল হোস্ট বা নির্দিষ্ট সময় 81 00:03:41,920 --> 00:03:44,970 V হোস্ট, এবং আমরা কিনবো অল্প যে যাও. 82 00:03:44,970 --> 00:03:50,620 >> কিন্তু মূলত, Apache ওয়েব সার্ভার পিএইচপি ধরনের সঙ্গে কাজ করার স্থাপন 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 আপনি কিছু লিখতে চেষ্টা ছিল সি বা যে মত কিছু মত, 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 আপনি কি করতে পারেন মাল্টিকোর, আপনি যা করতে পারেন হয় ভিন্ন দুটি ভিন্ন থ্রেড চালানো 115 00:05:43,040 --> 00:05:46,700 CPU-র অংশ তারা করতে পারেন যাতে আসলে একই সময়ে ঘটতে. 116 00:05:46,700 --> 00:05:48,100 তাই এই সত্যিই শক্তিশালী. 117 00:05:48,100 --> 00:05:52,270 এবং এই এ্যাপাচি এর ধরনের এই সমস্যার সমাধান. 118 00:05:52,270 --> 00:05:57,900 >> সুতরাং ধরনের কোন বিষয় মত আছে যদিও এই পদ্ধতির সঙ্গে? 119 00:05:57,900 --> 00:05:59,870 তাই আমি আমি ধরনের আছে তাদের লিখেছিলেন অনুমান. 120 00:05:59,870 --> 00:06:03,440 কিন্তু দুইটাই ধরণের মেমরি অনেক ব্যবহার. 121 00:06:03,440 --> 00:06:07,490 এটি তৈরি করতে খুব ব্যয়বহুল একটি থ্রেড বা একটি প্রক্রিয়া. 122 00:06:07,490 --> 00:06:11,750 >> এবং যুক্তি অংশ যে শুধু যেমন আপনি একটি সি প্রোগ্রাম চালাচ্ছেন যখন 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 এটা করতে stacks অনেক পরিচালনা এবং বজায় রাখা. 130 00:06:28,230 --> 00:06:31,280 সুতরাং এটি বৃহৎ মেমরি ব্যয় করে. 131 00:06:31,280 --> 00:06:35,650 >> এবং তারপর, এছাড়াও এর আপনি শুধুমাত্র আছে বলা যাক এক CPU-র, বা এর আপনার থাকতে বলা যাক 132 00:06:35,650 --> 00:06:38,460 আপনি বেশী থ্রেড যারা multicores. 133 00:06:38,460 --> 00:06:38,730 রাইট? 134 00:06:38,730 --> 00:06:43,280 সুতরাং আসুন যদি আপনি 10 থ্রেড ছিল বলা যাক এবং আপনি মাত্র পাঁচ CPU-ছিল. 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 তাই কারো উপর শুরু হয়েছে পি এ সব সাত সেট? 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 >> AUDIENCE: নং 158 00:07:49,330 --> 00:07:49,780 >> কেভিন Schmid: ঠিক আছে. 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 কিন্তু মূলত, পি সেটে, আপনি আছেন ধরণের অনেক তৈরীর করা যাচ্ছে 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 ভয়ঙ্কর ইনপুট / আউটপুট লেটেন্সি. 178 00:08:44,100 --> 00:08:47,110 আমি বলতে এবং যখন, ইনপুট / আউটপুট লেটেন্সি, আমি আছি কি উল্লেখ মত যে কোন ধরণের মত হল 179 00:08:47,110 --> 00:08:48,290 ইনপুট আউটপুট. 180 00:08:48,290 --> 00:08:52,950 কিন্তু মত, ডিস্কে একটি ফাইল অ্যাক্সেস করতে আমি স্ট্যাটিক এইচটিএমএল পরিবেশন চেয়েছিলেন 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 >> এই সবকিছু সত্য হয় না, কিন্তু পি সেট মত অ্যাপ্লিকেশনের ক্ষেত্রে সাধারণ 186 00:09:11,270 --> 00:09:13,960 সাত এবং অ্যাপ্লিকেশন অনেক আপনি না হন যে 187 00:09:13,960 --> 00:09:15,440 আসলে অনেক কিছু চিন্তা করছেন. 188 00:09:15,440 --> 00:09:19,090 আমি চিন্তা বলে যখন, আমি বলতে চাচ্ছি গণনীয় কাজের মত. 189 00:09:19,090 --> 00:09:23,270 সুতরাং গণনীয় কাজ কিছু হতে পারে চাই, বলতে আপনি চেয়েছিলেন 190 00:09:23,270 --> 00:09:26,590 শুধু নির্ণিত যে একটি ওয়েব সার্ভার লিখুন n তম Fibonacci সংখ্যা. 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 >> তাই শুধু আবার সংক্ষিপ্তবৃত্তি যাও, এ্যাপাচি এবং যে কাঁটাচামচ একটি মত অনুরূপ ওয়েব সার্ভার 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 এবং এটা মৌলিক ধরনের কলব্যাক পিছনে ধারণা 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 >> তাই আমি এখানে সি কোড একটি লাইন করা যে এটি খোলার মত মূলত দেখায় একটি 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 তাই উপায় অপারেটিং জন্য আমাদের সি কোড - 256 00:12:43,810 --> 00:12:47,890 এবং আমি ফাইল বেছে কারণ ছিল অনুমান এই পরিমাণে ধরনের কারণ 257 00:12:47,890 --> 00:12:52,000 আমরা এ সি সম্পন্ন করেছি যে ইনপুট / আউটপুট কাজের ইনপুট আউটপুট আছে যে একটা ধারনা. 258 00:12:52,000 --> 00:12:55,070 সুতরাং আমরা এই কোড যে কল এই চ খোলা আছে. 259 00:12:55,070 --> 00:12:59,370 এবং তারপর আমাদের পরবর্তী লাইনে প্রোগ্রাম, এখন আমরা চ সঙ্গে কাজ করতে পারেন. 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 তাই দ্বিতীয় লাইনে, আমরা জানি যে আমরা চ সঙ্গে কাজ, কিন্তু এই অর্থ করতে পারেন 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 প্রসেস আমরা পেয়েছিলাম কারণ কলব্যাক এক থ্রেড 271 00:13:32,390 --> 00:13:35,496 যে সবাই জানার জন্য? 272 00:13:35,496 --> 00:13:35,990 >> AUDIENCE: অপেক্ষা করুন. 273 00:13:35,990 --> 00:13:36,980 তাই প্রতিস্থাপন কি? 274 00:13:36,980 --> 00:13:37,840 >> কেভিন Schmid: ওহ, তাই হ্যাঁ. 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 তাই কি আমি সম্পাদিত এখন যদি চ একটু খোলা? 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 এবং সি, আসলে এই কি করতে হবে যে প্রকৃত আমাকে একটি পয়েন্টার দিতে হয় 292 00:14:26,990 --> 00:14:29,740 কোড, এবং তারপর এই এটি চালানো হবে. 293 00:14:29,740 --> 00:14:33,350 আপনি কিন্তু শুধু এটা আমার মনে হয় চালাতে কোড ক্ষণস্থায়ী যখন 294 00:14:33,350 --> 00:14:35,150 যে ফাইল খোলা হয়. 295 00:14:35,150 --> 00:14:41,430 >> কিন্তু কি এই মানে হল যে এখন যেত না যা আমার প্রোগ্রাম বাকি 296 00:14:41,430 --> 00:14:47,050 অন্যান্য উপাদান, অন্যান্য কাজ চালিয়ে যেতে পারেন স্টাফ আমরা সত্যিই অপেক্ষা, কিন্তু না যখন 297 00:14:47,050 --> 00:14:50,890 শুধু আমাদের মাথা পিছন আছে যখন যে ফাইল এর খোলা, রান যে 298 00:14:50,890 --> 00:14:52,130 শীর্ষে অবস্থান. 299 00:14:52,130 --> 00:14:53,390 যে জানার জন্য? 300 00:14:53,390 --> 00:14:58,060 >> এবং এখন Node.js পিছনে ধারণা হয় যে চ সঙ্গে বিক্ষোভ স্টাফ মধ্যে কোড 301 00:14:58,060 --> 00:15:04,590 অংশ বেশ ছোট এবং সহজ হওয়া উচিত সত্যিই হতে হবে এবং সহজবোধ্য এবং না 302 00:15:04,590 --> 00:15:06,160 নিবিড় খুব computationally. 303 00:15:06,160 --> 00:15:09,390 এটা অন্য ফাইল খোলার জন্য আছে, কিন্তু পারে যে এছাড়াও বেশ দ্রুত হওয়া উচিত 304 00:15:09,390 --> 00:15:14,710 এটা শুধু আরেকটি ফল কি বলতে হবে, কারণ খুলুন এবং তারপর এই অন্যান্য কোড কল. 305 00:15:14,710 --> 00:15:19,100 >> তাই শুধু সম্পূর্ণভাবে পরিষ্কার, ফল হতে যে খুলুন নতুন পেরি Katy গান আছে 306 00:15:19,100 --> 00:15:23,060 সম্পন্ন MP3, যে যাচ্ছে বেশ অনেক অবিলম্বে ফিরে. 307 00:15:23,060 --> 00:15:27,820 এবং তারপর আমরা শুধু কাজ চালিয়ে যেতে পারেন অন্যান্য উপাদান কারণ যে এখন চ সব 308 00:15:27,820 --> 00:15:33,410 খোলা কল মূলত বলতে হয় না অন্তর্নিহিত চ খোলা কোড এই ফাইলটি খুলুন 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 >> AUDIENCE: আপনি কয়েকটি পরোক্ষভাবে করলো কম্পিউটারের গণনার যোগ করার যে বার 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 >> কেভিন Schmid: এটা একটি বড় প্রশ্ন. 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 >> AUDIENCE: আরন. 326 00:16:10,620 --> 00:16:14,830 >> কেভিন Schmid: আরন খুব দেখাবে যা ভাল পয়েন্ট, যে আমি ছিল 327 00:16:14,830 --> 00:16:18,560 কিছু computationally নিবিড় কোড চ অংশ, বাকি সাথে স্টাফ 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 সুতরাং এটা অ্যাসিঙ্ক্রোনাস এই ধরনের আছে যেহেতু, ইনপুট / আউটপুট লাইব্রেরি অ অবরুদ্ধ 339 00:16:53,460 --> 00:16:56,800 আমরা চলেছি যে প্রমিত সি লাইব্রেরি , সঙ্গে কাজ মত যদি আপনি শুধু 340 00:16:56,800 --> 00:16:59,500 আমরা করেছি যে একই ভাবে তাদের ব্যবহার চ সঙ্গে তাদের ব্যবহার করে খোলেন এবং 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 >> তাই আমি কিছু উদাহরণ প্রস্তুত করেছি এই URL-এ. 361 00:18:07,070 --> 00:18:10,490 সেমিনারে পর, আমি ধরণের যাচ্ছি আপনি নোড সেট পেতে পারেন সে বিষয়ে কথা বলুন 362 00:18:10,490 --> 00:18:13,570 আপ, কিন্তু এখন জন্য, আমি শুধু ধরণের চান কিছু কোড উদাহরণ ভিতর দিয়ে হেটে যেতে. 363 00:18:13,570 --> 00:18:17,250 সুতরাং আপনি বরাবর অনুসরণ করতে চান, সব সোর্স কোড আছে উপলব্ধ. 364 00:18:17,250 --> 00:18:18,720 ঠিক আছে? 365 00:18:18,720 --> 00:18:22,280 >> তাই আমি এই URL ছেড়ে দেব একটু জন্য আপ. 366 00:18:22,280 --> 00:18:24,440 এবং তারপর আমি যাচ্ছি টার্মিনাল মধ্যে সুইচ. 367 00:18:24,440 --> 00:18:29,670 368 00:18:29,670 --> 00:18:34,400 সবাই এই URL সঙ্গে ভাল? 369 00:18:34,400 --> 00:18:37,990 তাই আমি উপর সুইচ চলেছি এখানে আমার টার্মিনাল থেকে. 370 00:18:37,990 --> 00:18:42,030 >> তাই এখানে কোড যে আমি আজকের জন্য আছে. 371 00:18:42,030 --> 00:18:43,960 কেন না আমরা দিয়ে শুরু না simpler.js দায়ের? 372 00:18:43,960 --> 00:18:49,110 373 00:18:49,110 --> 00:18:52,100 অন্যান্য জিনিস যে এই সব কোড লেখা হতে যাচ্ছে 374 00:18:52,100 --> 00:18:56,660 জাভাস্ক্রিপ্ট যা আপনি করতে পারেন বা সাথে পরিচিত নাও হতে পারে. 375 00:18:56,660 --> 00:19:00,170 আমি একটি দম্পতি জিনিস অনুমান যে অনেক জাভাস্ক্রিপ্ট কোডের ধরনের হয় 376 00:19:00,170 --> 00:19:04,000 বাক্য গঠন এবং কাঠামো অনুরূপ সি, হিসাবে আপনি ধরনের নিতে পারেন 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 এটা যাতে সি অনুরূপ একটু বেশি পাঠযোগ্য. 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 আপনি var এবং স্টাফ দেখতে পাচ্ছেন? 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 তাই শুধু কি এই would হাইলাইট তাই এই শুধু ভালো হয় সি অনুরূপ 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 তাই এটি শুধু var আছে. 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 মাত্র কপি এবং পেস্ট করুন হেডার হবে ফাংশন এগুলির নমুনা জন্য ফাইল বা 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 তাই আপনি যদি এই দেখানোর জন্য, আমি যাচ্ছি কার্ল নামে একটি প্রোগ্রাম ব্যবহার করতে. 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 এবং তাই আমি কার্ল যদি HTTP-google.com, আমি এইচটিএমএল দেখতে যাচ্ছি. 445 00:22:17,050 --> 00:22:21,230 এবং এই, সততা মধ্যে, ঠিক বাছাই করার জন্য আপনি বলে যে এইচটিএমএল 446 00:22:21,230 --> 00:22:24,695 আপনার ব্রাউজার না হলে www যাও পুনর্নির্দেশ স্বয়ংক্রিয়ভাবে সব ব্যবস্থা 447 00:22:24,695 --> 00:22:27,110 ফেরৎ. 448 00:22:27,110 --> 00:22:33,390 >> তাই এই শুধু এইচটিএমএল, কিন্তু আমি যাচ্ছি আমি ফ্ল্যাগ এই হাইফেন কার্ল যোগ করুন. 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 >> AUDIENCE: উইকিপিডিয়া. 474 00:23:53,640 --> 00:23:54,160 >> কেভিন Schmid: ঠিক আছে. 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 তাই আমি www কি পেয়েছিলাম. 482 00:24:03,005 --> 00:24:06,006 তাই আমি www করতে যাচ্ছি. 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 বাহ, অনেক আছে উইকিপিডিয়ার এইচটিএমএল - 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 পি জন্য লেখা সাত সেট, কারণ পিএইচপি এবং এ্যাপাচি ধরণের কিছু যত্ন 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 >> তাই এখানে আমি কি এই আছে হয় হয় var সার্ভার সমান করে যা রেখা 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 সুতরাং var সার্ভার লাইন অধিকার সম্পন্ন করা হয় আপনি প্রায় কাছাকাছি যে কি পরে. 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 কার্ল এটি অ্যাক্সেস করতে চেষ্টা করুন. 567 00:28:16,300 --> 00:28:20,680 তাই আমি কার্ল করতে পারেন, এবং আমার মেশিনে স্থানীয় হোস্ট. 568 00:28:20,680 --> 00:28:24,600 এছাড়াও আপনি এই লেখা দেখতে পাবেন কখনও কখনও এই মত. 569 00:28:24,600 --> 00:28:29,810 স্থানীয় হোস্ট এবং 127.0.0.1 ধরনের হয় আপনার হোম কম্পিউটার চাই. 570 00:28:29,810 --> 00:28:33,180 সুতরাং কথা বলা মত আপনার নিজের কম্পিউটার. 571 00:28:33,180 --> 00:28:33,760 ঠিক আছে. 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 >> সুতরাং এর থেকে আর সরিয়ে দেওয়া এবং 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 >> AUDIENCE: হাঁ, আর্গুমেন্ট যে প্রেরণ করা হয় 606 00:30:08,200 --> 00:30:10,120 ফাংশন, তারা কি? 607 00:30:10,120 --> 00:30:12,050 >> কেভিন Schmid: সুতরাং যারা জাভাস্ক্রিপ্ট বস্তু. 608 00:30:12,050 --> 00:30:15,230 Node.js ডকুমেন্টেশন, এটা মূলত পদ্ধতি কি বলছেন 609 00:30:15,230 --> 00:30:15,910 তাদের উপর উপলব্ধ. 610 00:30:15,910 --> 00:30:19,602 আমরা শুধু এক্সেস আছে এরকম লেখার মাথা এবং শেষে বলা এই পদ্ধতি 611 00:30:19,602 --> 00:30:20,730 এবং যে ভালো জিনিস. 612 00:30:20,730 --> 00:30:22,590 কিন্তু আভা আছে আরো পদ্ধতি. 613 00:30:22,590 --> 00:30:27,670 >> এবং উদাহরণস্বরূপ, তাদের মধ্যে একজন ভালো Rec নেভিগেশন বিশেষ করে, আপনি কি করতে পারেন 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 তাই আমি এখনও Rec এবং মাঝামাঝি পেয়েছিলাম. 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 >> AUDIENCE: ফাংশন প্রথম জাভাস্ক্রিপ্ট মধ্যে বর্গ? 641 00:31:38,680 --> 00:31:41,020 >> কেভিন Schmid: তারা প্রথম হয় জাভাস্ক্রিপ্ট মধ্যে বর্গ. 642 00:31:41,020 --> 00:31:45,490 এবং শুধু জানি যে এই ধারণা মত একটি বেনামী ফাংশন কথা প্রসঙ্গে 643 00:31:45,490 --> 00:31:49,600 এই জাভাস্ক্রিপ্ট প্রযোজ্য যে আপনি জন্য আপনার চূড়ান্ত প্রকল্পে লিখতে পারে 644 00:31:49,600 --> 00:31:51,260 খুব ওয়েব ব্রাউজার. 645 00:31:51,260 --> 00:31:56,700 সুতরাং উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট মধ্যে মধ্যে আপনার ব্রাউজার, এটা কিছুটা এছাড়াও ইভেন্ট এর 646 00:31:56,700 --> 00:32:00,680 অর্থে চালিত যে কি আপনি পাবেন ব্যবহারকারী এই ক্লিক করার সময় হয় আছে 647 00:32:00,680 --> 00:32:02,640 বাটন, আমি আপনাকে এই কোড রান করতে চান. 648 00:32:02,640 --> 00:32:07,070 >> সুতরাং এর ধারণা একই ধরনের ক্লায়েন্ট প্রান্তের একটি মাউস ক্লিক অথবা তারা যখন 649 00:32:07,070 --> 00:32:09,870 কিছু ইমেজ উপরে মাউস আপনার ওয়েব পৃষ্ঠা, এই কোড রান. 650 00:32:09,870 --> 00:32:11,350 যে সার্ভার থেকে আবেদন করতে পারেন. 651 00:32:11,350 --> 00:32:16,380 সুতরাং যে ধরনের উত্তেজনাপূর্ণ মত জাভাস্ক্রিপ্ট সত্যিই হয় কারণ 652 00:32:16,380 --> 00:32:19,810 উপযুক্ত বা কিছু লোক এটি একটি মনে করি এই ধরনের জন্য উপযুক্ত ভাষা 653 00:32:19,810 --> 00:32:22,530 ইভেন্ট ড্রাইভার সার্ভার আপনার আছে, কারণ এই বেনামী ফাংশন. 654 00:32:22,530 --> 00:32:26,150 আপনি পুরো ধারণা আছে এই অ্যাসিঙ্ক্রোনাস কোড. 655 00:32:26,150 --> 00:32:27,060 ঠিক আছে. 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 মিলিসেকেন্ড একটি নম্বর ঘুম বা 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 মিলিসেকেন্ড হয় আপনি যে ফাংশন চালানো যা 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 তাই স্পষ্টভাবে কলব্যাক ব্যবহার 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 এর যে ঠিকানা কার্ল করতে দেওয়া আবার 1337 দিয়ে. 741 00:36:48,370 --> 00:36:50,820 আর আমি শুধু ধরনের বসতে হবে এখানে পাঁচ সেকেন্ডের জন্য. 742 00:36:50,820 --> 00:36:53,760 কিন্তু লক্ষ্য করা যে সার্ভার নতুন প্রত্যুত্তর গ্রহণ করতে পারে. 743 00:36:53,760 --> 00:36:54,940 সুতরাং হেই ছাপে. 744 00:36:54,940 --> 00:36:58,720 >> এবং মূলত, এই নমুনা কি আমি এই অন্য ট্যাবে কিছু করতে পারি - 745 00:36:58,720 --> 00:37:02,640 তাই আসুন আমি অন্য ট্যাবে এটা করতে বলা যাক, আমি কার্ল ও একই কাজ করা যাচ্ছে না 746 00:37:02,640 --> 00:37:03,780 ব্যাপার হল আবার. 747 00:37:03,780 --> 00:37:06,600 এবং আমি এই মরে চেষ্টা যাচ্ছি একই সময় ছেলেরা বন্ধ. 748 00:37:06,600 --> 00:37:08,260 তাই আমি এই কাজ করতে যাচ্ছি, এবং আমি আছি এখানে বেশী গোড়া যাচ্ছে এবং আমি আছি 749 00:37:08,260 --> 00:37:09,650 আবার এটা করতে যাচ্ছে. 750 00:37:09,650 --> 00:37:14,030 >> আর এর এটা করা যাক, যাতে আপনি দুইটাই দেখতে পারেন. 751 00:37:14,030 --> 00:37:20,250 হেই ছাপা যে এক এবং এক যে মুদ্রিত হেই সব পথ এ - 752 00:37:20,250 --> 00:37:22,550 এর আবার যে পরীক্ষা না দেওয়া. 753 00:37:22,550 --> 00:37:25,100 বাস্তবিক, আমি কি এই ব্যবহার করতে দিতে এটা ঠিক আছে যদি রত. 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 আমি Enter টিপুন যদি তাই এখন, এটা যাচ্ছে যে অনুরোধের প্রায় কাছাকাছি করা 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 >> AUDIENCE: অপেক্ষা করুন. 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 >> কেভিন Schmid: ওহ, আপনি পারা এক যে আরো সময় বলে? 776 00:38:26,555 --> 00:38:29,510 >> AUDIENCE: printf, বাফার চাই না সঠিক একই জিনিস করে? 777 00:38:29,510 --> 00:38:31,280 >> কেভিন Schmid: printf, বাফার? 778 00:38:31,280 --> 00:38:32,753 >> AUDIENCE: হ্যাঁ. 779 00:38:32,753 --> 00:38:33,244 ঠিক আছে. 780 00:38:33,244 --> 00:38:40,609 তারা ছিল ক্যুইজ একটিতে ছিল না কিভাবে আপনি যদি ডান printf বিষয়ে কথা 781 00:38:40,609 --> 00:38:42,899 কিছু এবং তারপর এটি এক বিরতি আছে দ্বিতীয়, এবং তারপর আপনি এটি লুপ দশ আছে 782 00:38:42,899 --> 00:38:46,530 বার, এটা দশ সেকেন্ড অপেক্ষা করুন এবং করব তারপর একসাথে সবকিছু printf? 783 00:38:46,530 --> 00:38:47,460 >> কেভিন Schmid: ঠিক আছে, ওহ. 784 00:38:47,460 --> 00:38:49,170 >> AUDIENCE: এটি একই কাজ করা হয় ব্যাপার হল তারপর এই ক্ষেত্রে? 785 00:38:49,170 --> 00:38:52,630 >> কেভিন Schmid: তাই প্রশ্ন ছিল মূলত সাবেক ক্যুইজ একটিতে 786 00:38:52,630 --> 00:38:57,200 বা কিছু, একটা প্রশ্ন ছিল যে মূলত আপনি মুদ্রণ চ 10 বলে যদি 787 00:38:57,200 --> 00:39:01,490 তারপর একটা সময়ে জিনিষ এবং মত slept যারা মুদ্রণ প্রক্রিয়া, 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 এটা লিখতে না যে এটা সিঙ্ক্রোনাস. 808 00:40:02,480 --> 00:40:06,210 কিন্তু যে জন্য কারণ ঠিক হয় কর্মক্ষমতা আপনি করতে হবে না, যাতে 809 00:40:06,210 --> 00:40:08,920 অনেক পরিচিতি করা অপারেটিং সিস্টেম. 810 00:40:08,920 --> 00:40:12,300 >> কিন্তু এখানে, আমরা কি সত্যিই কাজ করতে চেষ্টা করছেন এই ঘুম জিনিস দিয়ে শুধু শো 811 00:40:12,300 --> 00:40:17,730 যে আমরা গিয়ে দুই জনের আছে এই ওয়েবসাইট, এটা করা যাচ্ছে না 812 00:40:17,730 --> 00:40:22,310 তাদের এটা বলতে যাচ্ছে যেখানে একটি লাইনে আমি আছি যখন তখন আপনাকে সাহায্য, এবং আছে 813 00:40:22,310 --> 00:40:25,350 সম্পূর্ণই এই পর আপনি সাহায্য সমাপ্ত পাঁচ যাও, তারপর আমি যাচ্ছি 814 00:40:25,350 --> 00:40:26,750 পরবর্তী ব্যক্তির সম্মুখের দিকে অগ্রসর. 815 00:40:26,750 --> 00:40:29,515 সুতরাং প্রথম ব্যক্তির অনুরোধে না ইভেন্ট যে লুপ পর্যন্ত গিঁট 816 00:40:29,515 --> 00:40:31,610 যে অর্থে তোলে যদি. 817 00:40:31,610 --> 00:40:34,980 >> কিন্তু এখানে আসলে একটি উদাহরণ গিঁট হবে যে কিছু 818 00:40:34,980 --> 00:40:36,090 ইভেন্ট লুপ আপ. 819 00:40:36,090 --> 00:40:39,130 তাই এখানে একটি ভয়ঙ্কর ফাংশন এর n তম Fibonacci গনা. 820 00:40:39,130 --> 00:40:43,510 এটা আক্ষরিক আপনি পারেন খারাপ উপায় n তম Fibonacci সংখ্যা গণনা. 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 এটা যারা Reddit জিনিস এক মত. 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 গনা নিবিড় ভাবে n তম Fibonacci সংখ্যা. 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 >> AUDIENCE: আপনি শুরু বলুন 1,000 সঙ্গে আউট. 834 00:41:25,130 --> 00:41:27,050 999 এবং 998 এর মধ্যে 1,000 splits. 835 00:41:27,050 --> 00:41:28,970 এই প্রত্যেকটি দুটি জিনিস মধ্যে splits. 836 00:41:28,970 --> 00:41:30,890 এই প্রত্যেকটি দুটি জিনিস মধ্যে splits. 837 00:41:30,890 --> 00:41:31,355 >> কেভিন Schmid: রাইট. 838 00:41:31,355 --> 00:41:32,400 >> AUDIENCE: সমস্ত উপায় নিচে. 839 00:41:32,400 --> 00:41:32,840 >> কেভিন Schmid: যথাযথভাবে. 840 00:41:32,840 --> 00:41:37,330 তাই আপনি যদি শুধু ক্যামেরার জন্য পুনরাবৃত্তি আমি 1,000 বা কিছু মত নেভিগেশন গুল কল 841 00:41:37,330 --> 00:41:41,810 যে মত, এটা সম্ভবত কম নয় অথবা এক সমান তাই আমি চলেছি 842 00:41:41,810 --> 00:41:46,040 এই অন্য ক্ষেত্রে যান, এবং তারপর আমি যাচ্ছি 999 গুল প্লাস 998 গুল কল. 843 00:41:46,040 --> 00:41:50,290 এবং তারপর প্রায় কাছাকাছি সব যে এর 999 টি গুল যে কাজ 844 00:41:50,290 --> 00:41:52,950 ধরনের এই পর্যায়ে. 845 00:41:52,950 --> 00:41:55,620 আপনি নিচে যান, এটি আরও বেশি অপ্রয়োজনীয় এর যে বেশী, কিন্তু যদি আপনি শুধু 846 00:41:55,620 --> 00:42:01,390 কম্পিউটিং গুল 998 পায় মনে আমাদের বেশ ঘনিষ্ঠ 999 গুল করতে. 847 00:42:01,390 --> 00:42:05,860 সুতরাং আমরা সত্যিই একটু বেশি হওয়া উচিত আমরা ধরনের পুনরায় ব্যবহার সম্পর্কে চতুর 848 00:42:05,860 --> 00:42:07,580 এই, কিন্তু আমরা পুনঃব্যবহার করছি না এ সব এই জিনিস. 849 00:42:07,580 --> 00:42:11,860 তাই আপনি যদি এই রাক্ষুসে কল্পনা করতে পারেন শুধু ভয়ঙ্কর যে পেল্লায় ট্রি. 850 00:42:11,860 --> 00:42:12,940 >> কিন্তু যাই হোক, ঠিক আছে. 851 00:42:12,940 --> 00:42:14,040 সুতরাং যে গুল ছিল. 852 00:42:14,040 --> 00:42:15,530 এটা ঠিক চালানোর সময় লাগে. 853 00:42:15,530 --> 00:42:16,510 হাঁ? 854 00:42:16,510 --> 00:42:17,760 >> AUDIENCE: [শ্রবণাতীত]. 855 00:42:17,760 --> 00:42:20,430 856 00:42:20,430 --> 00:42:22,481 >> কেভিন Schmid: ওহ, আপনি পারা প্রশ্নের পুনরাবৃত্তি? 857 00:42:22,481 --> 00:42:23,731 >> AUDIENCE: [শ্রবণাতীত]. 858 00:42:23,731 --> 00:42:30,840 859 00:42:30,840 --> 00:42:33,990 >> কেভিন Schmid: ওহ তাই এই মাত্র কোড হল যে ধরণের উপর হতে যাচ্ছে 860 00:42:33,990 --> 00:42:34,850 সার্ভার সাইড. 861 00:42:34,850 --> 00:42:38,100 তাই এই পাওয়া যাচ্ছে না ব্রাউজার বা কিছু মধ্যে. 862 00:42:38,100 --> 00:42:42,160 এটা কি আমরা আছে হয় মূলত যে যখন এখানে ব্যবহারকারীকে অনেক সুন্দর করে তোলে 863 00:42:42,160 --> 00:42:45,300 আবার তাদের অনুরোধ, যখন আমরা ধরণের একটি অনুরোধ করতে, আমরা কল চলুন 864 00:42:45,300 --> 00:42:47,040 সার্ভারের দিকে এই ফাংশন. 865 00:42:47,040 --> 00:42:50,480 এবং তারপর আমরা ফলে ফিরে পাবেন যে ফাংশন কলিং থেকে. 866 00:42:50,480 --> 00:42:52,460 এবং তারপর আমরা শুধু মুদ্রণ করব ব্যবহারকারী যাও এটি. 867 00:42:52,460 --> 00:42:54,580 তাই ব্যবহারকারী সত্যিই কারবার করে না খুব বেশী এই ফাংশন দিয়ে. 868 00:42:54,580 --> 00:42:57,270 >> প্রশ্ন যে লেগেছে? 869 00:42:57,270 --> 00:42:58,470 যে জানার জন্য? 870 00:42:58,470 --> 00:42:58,810 ঠিক আছে. 871 00:42:58,810 --> 00:43:00,930 কুল. 872 00:43:00,930 --> 00:43:04,240 >> তাই আবার, আমরা এই পুরো res.writeHead করবেন আমরা প্রিন্ট আউট যেখানে জিনিস 873 00:43:04,240 --> 00:43:05,150 হেডার. 874 00:43:05,150 --> 00:43:09,730 এবং তারপর আমি করে সাড়া শেষ ম্যাজিক নম্বর গুল 45 হয়. 875 00:43:09,730 --> 00:43:12,100 তাই আসুন শুধু এই সার্ভার চালানো যাক. 876 00:43:12,100 --> 00:43:15,190 তাই আমি একটি নোড fib.js. করতে যাচ্ছি 877 00:43:15,190 --> 00:43:17,340 তাই এখন আমার গুল সার্ভার চালানো সম্ভব. 878 00:43:17,340 --> 00:43:21,790 >> এবং তারপর এখানে, আমি যাচ্ছি এই এক কি. 879 00:43:21,790 --> 00:43:22,200 ঠিক আছে? 880 00:43:22,200 --> 00:43:24,960 তাই আমি ঠিক, কার্ল বলতে যাচ্ছি. 881 00:43:24,960 --> 00:43:32,226 সুতরাং এটা একটু সময় নিতে যাচ্ছে কিন্তু এর আশা শীঘ্রই এটি সমাপ্ত হবে এবং হবে 882 00:43:32,226 --> 00:43:35,660 এটা যে 45th প্রিন্ট আউট হবে নম্বর Fibonacci. 883 00:43:35,660 --> 00:43:36,910 >> AUDIENCE: [শ্রবণাতীত]. 884 00:43:36,910 --> 00:43:40,720 885 00:43:40,720 --> 00:43:42,050 >> কেভিন Schmid: এটা উচিত চমত্কার শীঘ্রই করাতে. 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 ইচ্ছাপূর্বক খুব ছোট উদাহরন এবং একটি অ তুচ্ছ এর অসুন্দর 889 00:43:52,700 --> 00:43:54,200 গুনতি. 890 00:43:54,200 --> 00:43:56,700 তাই একটা সময় পরে, এটা এই পান না. 891 00:43:56,700 --> 00:44:02,130 >> কিন্তু এখন, আমি কি করতে হলে যে একই ধরনের আমি না যেখানে আগে হিসাবে পরীক্ষা 892 00:44:02,130 --> 00:44:04,010 একই সময়ে দুটি অনুরোধ? 893 00:44:04,010 --> 00:44:06,990 তাই এখানে আমি একটি কার্ল যাচ্ছি যে ঠিকানা, এবং আমি যাচ্ছি 894 00:44:06,990 --> 00:44:08,260 অন্য কার্ল করবেন. 895 00:44:08,260 --> 00:44:12,070 এবং আমরা এই জন্য যখন, মনে রাখবেন আমরা মূলত এটি ছিল যখন, সার্ভার ঘুম 896 00:44:12,070 --> 00:44:15,320 পাঁচ যাও পরে, তারা প্রায় কাছাকাছি অনেক উভয় অধিকার ফিরে আসেন 897 00:44:15,320 --> 00:44:16,380 একই সময় কাছাকাছি. 898 00:44:16,380 --> 00:44:18,650 সুতরাং এটি বিশেষ করে আবদ্ধ হয় নি. 899 00:44:18,650 --> 00:44:20,290 >> কিন্তু এর এটি এখন চেষ্টা করুন. 900 00:44:20,290 --> 00:44:22,370 ঠিক আছে, তাই আমরা আমাদের দুটি প্রসেস পেয়েছিলাম. 901 00:44:22,370 --> 00:44:24,210 সেই প্রক্রিয়া ID-র হয় মনে রাখুন. 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 >> AUDIENCE: সার্ভার কিছুই করতে পারবো না এটা যে বড় সংখ্যা কম্পিউটিং এর সময়. 910 00:44:49,280 --> 00:44:51,620 >> কেভিন Schmid: রাইট. 911 00:44:51,620 --> 00:44:55,395 তাই প্রতিক্রিয়া ছিল ঠিক যে সার্ভার সত্যিই কিছুই করতে পারবো না, যখন 912 00:44:55,395 --> 00:44:57,460 এটা যে Fibonacci সংখ্যা কম্পিউটিং এর. 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 >> তাই এই আপনি যদি কিভাবে একটি উদাহরণ তথাকথিত Compute জিনিস রয়েছে যা আছে 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 অনেক তার সময় অধিকাংশ খরচ মাত্র কম্পিউটিং যে n তম Fibonacci সংখ্যা. 933 00:46:03,670 --> 00:46:05,930 >> কিন্তু আমরা কেবলমাত্র একটি থ্রেড ছিল মোকাবেলা. 934 00:46:05,930 --> 00:46:10,270 এ্যাপাচি মডেলের মধ্যে, যখন দুটি মানুষ , 45 গুল পেতে অনুরোধ করেছেন আমরা 935 00:46:10,270 --> 00:46:11,610 দুটি ভিন্ন থ্রেড ছিল হবে. 936 00:46:11,610 --> 00:46:15,060 এবং তারপর অপারেটিং সিস্টেম এর কাজ ব্যবহারকারীর স্তর হয়েছে, অথবা হবে 937 00:46:15,060 --> 00:46:18,660 থ্রেড পরিচালনা করে যে কোড, করেছি হবে প্রথম যে আপ যেভাবেই দেখুন হয়েছে 938 00:46:18,660 --> 00:46:23,060 CPU-র, অথবা আপনি একাধিক CPU-ছিল, এমনকি যদি CPU-জুড়ে সমানভাবে বিতরণ 939 00:46:23,060 --> 00:46:26,130 তারা ফিনিস উভয় ছিল তাই প্রায় একই সময়ে. 940 00:46:26,130 --> 00:46:31,120 >> তাই শুধু আমরা এর বাছাই করতে পারেন কিভাবে আপনি প্রদর্শন করুন - এবং এই একটি মোট নিখুঁত নয় 941 00:46:31,120 --> 00:46:34,280 সমাধান, কিন্তু ধরণের কিভাবে আমরা করতে পারেন করতে একটি ফিরে এখানে আসা এবং কাজ 942 00:46:34,280 --> 00:46:35,880 একটু একটু ভাল. 943 00:46:35,880 --> 00:46:41,540 তাই আমি এখানে থাকতে নামক একটি প্রোগ্রাম গুল সি এবং এই মূলত ব্যবহার 944 00:46:41,540 --> 00:46:45,690 বলা নোড এর মডিউল অন্য একটি চাইল্ড প্রসেস মডিউল. 945 00:46:45,690 --> 00:46:49,210 তাই আমি অন্তর্ভুক্ত করেছেন যে উপরের ধরনের এ হল আমি আধা কেজি করে এর মত 946 00:46:49,210 --> 00:46:51,230 সন্তানের process.h বা কিছু. 947 00:46:51,230 --> 00:46:56,210 এখন আমি এই CP পরিবর্তনশীল অ্যাক্সেস আছে যা সব আমার কার্যকারিতা রয়েছে. 948 00:46:56,210 --> 00:47:01,810 >> তাই এখন আমি এই প্রতিক্রিয়ায় কি করছি হ্যান্ডলার আমি এই প্রোগ্রাম চালানো করছি হয় 949 00:47:01,810 --> 00:47:04,100 ডট গুল 45 কাট. 950 00:47:04,100 --> 00:47:06,820 তাই কি আমি কাজ করেছি - এবং আমি ঠিক যাচ্ছি একটি জন্য এই প্রোগ্রাম বাইরে পইঠা 951 00:47:06,820 --> 00:47:07,620 অল্প - 952 00:47:07,620 --> 00:47:11,060 আমি একটি সি প্রোগ্রাম লিখিত করেছি যে মূলত নির্ণয় 953 00:47:11,060 --> 00:47:12,630 n তম Fibonacci সংখ্যা. 954 00:47:12,630 --> 00:47:15,960 তাই এখানে আমি লিখিত করেছি মাত্র একটি প্রোগ্রাম সি যে এই গণনা. 955 00:47:15,960 --> 00:47:19,040 আমি এটা কম্পাইল করতে পারেন, এবং আমি চালাতে পারেন এটি কমান্ড লাইনে. 956 00:47:19,040 --> 00:47:22,150 এবং এটা গনা যাচ্ছে 45th Fibonacci সংখ্যা. 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 >> AUDIENCE: [শ্রবণাতীত]? 976 00:48:11,060 --> 00:48:13,610 >> কেভিন Schmid: তাই এই ইচ্ছাশক্তি আসলে এটা করতে একটি নতুন প্রক্রিয়া খুলুন. 977 00:48:13,610 --> 00:48:19,310 তাই এই কিছু উপায়ে, আসলে, মন্দ সুপার মন্দ নয়, কিন্তু তা হয় 978 00:48:19,310 --> 00:48:22,990 গুরুত্বপূর্ণ এই ধরনের যে বলার এক হাত, ফিরে যাচ্ছে, এ্যাপাচি 979 00:48:22,990 --> 00:48:26,450 আমরা থ্রেড এবং প্রসেস করবেন যেখানে মডেল প্রতিটি অনুরোধের অথবা জন্য 980 00:48:26,450 --> 00:48:29,280 প্রতিটি অনুরোধের জন্য প্রসেস. 981 00:48:29,280 --> 00:48:32,090 তাই এই অনুরূপ ধরনের এ্যাপাচি কি করার. 982 00:48:32,090 --> 00:48:35,110 কিছু ক্ষেত্রে, এটি শুধু একটি নতুন ব্যবহার করবে একটু বেশি আলো যা থ্রেড, 983 00:48:35,110 --> 00:48:39,040 একটি প্রক্রিয়া ছাড়া ওজন, কিন্তু এ্যাপাচি পারে একটি নতুন প্রক্রিয়া forking শেষ 984 00:48:39,040 --> 00:48:43,370 আমরা এখানে কি ধরনের যা পরোক্ষভাবে ডট স্ল্যাশ গুল 45 করে. 985 00:48:43,370 --> 00:48:48,690 >> এবং তারপর সেই ক্ষেত্রে, আমরা ধরনের ভারাক্রান্ত প্রসেসের একই খরচ. 986 00:48:48,690 --> 00:48:50,710 তাই এই কি করতে পারবেন শুধু একটা জিনিস. 987 00:48:50,710 --> 00:48:52,600 তবে চলমান এই সাজানোর দেখানোর জন্য. 988 00:48:52,600 --> 00:48:57,120 এবং এই আলোচনা শুধু সত্যিই লক্ষ্য করা হয় একটি হিসাবে প্রোগ্রাম এই ধরনের উপস্থাপনা 989 00:48:57,120 --> 00:49:00,710 বিভিন্ন দৃষ্টিকোণ নেভিগেশন দেখানোর উপায় কিভাবে যে মত সার্ভার ডিজাইন করতে. 990 00:49:00,710 --> 00:49:08,300 আমি কি তাই আপনি যদি এই এখন তাহলে চলমান, এবং হয় এই আবার, আমি দুই প্রক্রিয়া ID-র পেয়েছিলাম. 991 00:49:08,300 --> 00:49:10,320 >> এর মাত্র কথা বলার যাক জিনিস বাতলান. 992 00:49:10,320 --> 00:49:11,980 সুতরাং তারা বৃদ্ধিলাভ করছি বিজ্ঞপ্তি. 993 00:49:11,980 --> 00:49:12,700 যে শীতল. 994 00:49:12,700 --> 00:49:15,140 এটা আগে 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 অন্যান্য, এই দুটি দৃষ্টান্ত আমি দৌড়ে যে বিন্দু স্ল্যাশ গুল 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 >> AUDIENCE: [শ্রবণাতীত]. 1003 00:49:44,220 --> 00:49:44,620 >> কেভিন Schmid: হ্যাঁ. 1004 00:49:44,620 --> 00:49:49,740 তাই মূলত, আমি বিন্দু স্ল্যাশ গুল যখন 45 বা যে ভালো কিছু, এখন এটা 1005 00:49:49,740 --> 00:49:53,750 ধরনের অপারেটিং সিস্টেম পর্যন্ত ঐ প্রোগ্রামের রানটাইম হ্যান্ডেল. 1006 00:49:53,750 --> 00:49:56,920 এবং এখন এটা তাদের নির্ধারণ করতে পারেন না বিভিন্ন CPU-অথবা এটিতে 1007 00:49:56,920 --> 00:49:58,330 তাদের নির্ধারণ করতে পারেন না. 1008 00:49:58,330 --> 00:50:01,870 এটা যে এক সময় আপ যেভাবেই দেখুন পারেন CPU-র তারা পান যে এটি পায় বা 1009 00:50:01,870 --> 00:50:03,330 এক CPU-র উপর চালানো. 1010 00:50:03,330 --> 00:50:05,620 সুতরাং যে যে পিছনে ধারণা. 1011 00:50:05,620 --> 00:50:07,220 যে সবাই জানার জন্য? 1012 00:50:07,220 --> 00:50:10,950 তাই এখন নোড সত্যিই একটি বাজানো না হয় এই কাজগুলো আপ বিভাজক অংশ. 1013 00:50:10,950 --> 00:50:12,200 ঠিক আছে. 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 পাশাপাশি আমি ধরনের যে আলোচনা থেকে বেরিয়ে এলাম যে আমি জন্য একটি Fibonacci সার্ভার বানাতে পারেন 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 var 1033 00:51:15,500 --> 00:51:17,050 Socket.IO প্রয়োজন সমান. 1034 00:51:17,050 --> 00:51:20,280 তাই এই না হয় অন্য যে জিনিস আসলে সঙ্গে bundled আসে 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 মাধমে ব্যবহার করে যে কারণে এক জিনিস হিসাবে যে এ 1060 00:52:38,400 --> 00:52:43,980 শুধু সাধারণ পুরানো মাধমে ছাড়াও, এটি মূলত কিছু ট্রিকস আছে 1061 00:52:43,980 --> 00:52:45,610 এটি ব্রাউজার সামঞ্জস্যপূর্ণ করে তুলতে. 1062 00:52:45,610 --> 00:52:50,040 ইন্টারনেট এক্সপ্লোরার এর মত তাই ব্রাউজার দুর্ভাগ্যবশত মাধমে সমর্থন করে না 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 সুতরাং যে ঠিক মূলত সকেট IO এর বেশি আমরা একটি গ্রহণ করার সময়, বলছে পথে 1086 00:53:53,360 --> 00:53:55,840 সংযোগ, আমি আপনাকে চাই এই কোড রান করার. 1087 00:53:55,840 --> 00:53:59,870 >> এবং পরিবর্তে Rec থাকার নোটিশ এবং সেখানে সালে পাশ মাঝামাঝি আমি সকেট আছে. 1088 00:53:59,870 --> 00:54:03,260 এবং এই সকেট ধারণা মূলত এই হল আপনি লিখুন এবং পড়তে পারেন যে জিনিস 1089 00:54:03,260 --> 00:54:05,750 যে থেকে ব্যবহারকারীর হয়েছে সম্ভবত Netlog. 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 আপনি emitting করছি জিনিস. 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 >> তাই আমি এই নতুন বার্তা emitting করছি. 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 কলব্যাক মধ্যে সার্ভার 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 কিন্তু এটা কোন ধরনের ঠান্ডা কি আপনি কলব্যাক করতে পারেন 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 >> [সাধুবাদ]