1 00:00:00,000 --> 00:00:12,040 >> [সঙ্গীত বাজানো] 2 00:00:12,040 --> 00:00:16,460 >> বক্তা 1: ঠিক আছে, এই CS50, এবং এই সপ্তাহে চার শুরু হয়, 3 00:00:16,460 --> 00:00:20,420 এবং আপনি শুনে থাকতে পারেন বা পড়া, বিশ্বের শেষ হয়েছে. 4 00:00:20,420 --> 00:00:23,520 প্রায় সব ইন্টারনেট যাওয়া হয়েছে জ্ঞান ও সচেতনতা আছে 5 00:00:23,520 --> 00:00:27,100 একটি প্রোগ্রাম, একটি একটি বাগ ব্যাশ নামক প্রোগ্রামিং ভাষা. 6 00:00:27,100 --> 00:00:32,729 এই wonderfully দাগী করা হয়েছে Shellshock, বা ব্যাশ দরজা হিসাবে, 7 00:00:32,729 --> 00:00:35,485 কিন্তু এই ভালো নিবন্ধ অসাধারণ হয়েছে না. 8 00:00:35,485 --> 00:00:38,807 এবং সত্য, তাদের অনেক আনা Heartbleed ফিরে স্মৃতি, 9 00:00:38,807 --> 00:00:41,640 আপনি খেয়াল করেছেন, যা এই গত বসন্ত ফিরে টিপুন যা 10 00:00:41,640 --> 00:00:43,980 একইভাবে মোটামুটি নাটকীয় ছিল. 11 00:00:43,980 --> 00:00:47,110 এখন আপনি তাদের এখানে আজ, কিভাবে আপনি অনেক আছে, 12 00:00:47,110 --> 00:00:50,330 আপনি বুঝতে পারছেন না, এমনকি যদি কি এটা Shellshock শুনেছেন, সম্পর্কে সব? 13 00:00:50,330 --> 00:00:51,370 14 00:00:51,370 --> 00:00:54,245 সমস্ত অধিকার, এবং আপনি কিভাবে অনেক প্রবন যে কম্পিউটার আছে? 15 00:00:54,245 --> 00:00:55,680 16 00:00:55,680 --> 00:01:00,250 ঠিক আছে, অনেক দূরে, অনেক বেশি হাত আছে উচিত এখন ডান আপ, কারণ আমরা দেখতে হইবে. 17 00:01:00,250 --> 00:01:02,580 >> এর কি কটাক্ষপাত করা যাক মিডিয়া চালু করা 18 00:01:02,580 --> 00:01:05,304 এবং তারপর এটি একটি বিট ব্যাখ্যা এখানে আমাদের জন্য টেকনিক্যালি. 19 00:01:05,304 --> 00:01:07,670 20 00:01:07,670 --> 00:01:11,250 >> স্পিকার 2: সুরক্ষা বিশেষজ্ঞরা আছে সতর্ক একটি গুরুতর ত্রুটি পারে যে 21 00:01:11,250 --> 00:01:15,650 শত শত প্রভাবিত হতে বিশ্বের ওয়েব ব্যবহারকারীদের লক্ষ লক্ষ. 22 00:01:15,650 --> 00:01:20,600 তাই ঠিক হয়েছে যে বাগ কি Shellshock ডাব, এবং এটি কি কাজ করে? 23 00:01:20,600 --> 00:01:23,720 24 00:01:23,720 --> 00:01:28,910 ওয়েল, Shellshock এছাড়াও হিসাবে পরিচিত হয় ব্যাশ বাগ, এটি শোষণ সফ্টওয়্যার. 25 00:01:28,910 --> 00:01:33,230 হ্যাকাররা প্রবন স্ক্যান ভাইরাস ব্যবহার লিনাক্স এবং ইউনিক্স চলমান সিস্টেম 26 00:01:33,230 --> 00:01:36,300 অপারেটিং সিস্টেমের এবং তারপর তাদের সংক্রমিত. 27 00:01:36,300 --> 00:01:38,730 ব্যাশ একটি কমান্ড লাইন শেল. 28 00:01:38,730 --> 00:01:43,460 এই ব্যবহারকারী বিষয় চালু করার জন্য কমান্ড দেয় সফ্টওয়্যার মধ্যে প্রোগ্রাম এবং বৈশিষ্ট্য 29 00:01:43,460 --> 00:01:45,250 টেক্সট টাইপ করে. 30 00:01:45,250 --> 00:01:49,980 এটা সাধারণত প্রোগ্রামারদের দ্বারা ব্যবহৃত হয়, এবং এর বৃহত্তর বিশ্বের খোলা হবে না, 31 00:01:49,980 --> 00:01:51,590 Shellshock যে পরিবর্তন যদিও. 32 00:01:51,590 --> 00:01:54,160 33 00:01:54,160 --> 00:01:57,910 >> ওয়েল, worringly, কোন কোন বিশ্লেষক এটি একটি বড় হুমকি হতে পারে সতর্ক, 34 00:01:57,910 --> 00:02:01,580 Shellshock সম্পূর্ণ পারবেন, কারণ একটি সংক্রামিত মেশিন নিয়ন্ত্রণ, 35 00:02:01,580 --> 00:02:06,030 Heartbleed যেহেতু কেবল অনুমোদিত হ্যাকার কম্পিউটার গুপ্তচর. 36 00:02:06,030 --> 00:02:09,130 এটা, তাই গুরুতর 10 একটি 10 ​​বিপরিতে হয়েছে 37 00:02:09,130 --> 00:02:11,900 জাতীয় তীব্রতা জন্য আক্রমণ্যতা ডাটাবেস. 38 00:02:11,900 --> 00:02:15,530 39 00:02:15,530 --> 00:02:20,015 সমস্ত ওয়েব সার্ভার 2/3 হয় কিছু ম্যাক কম্পিউটার সহ ঝুঁকি,. 40 00:02:20,015 --> 00:02:22,760 41 00:02:22,760 --> 00:02:25,600 হ্যাঁ, আপনি নিশ্চিত করুন আপনার সিস্টেমের প্যাচ. 42 00:02:25,600 --> 00:02:29,330 একটি ওয়েবসাইট চলমান হোস্টিং কেউ প্রভাবিত অপারেটিং সিস্টেম 43 00:02:29,330 --> 00:02:31,800 যত তাড়াতাড়ি সম্ভব ব্যবস্থা গ্রহণ করা উচিত. 44 00:02:31,800 --> 00:02:35,390 এটা হওয়া উচিত সামর্থ যে কেউ যিনি তাদের পর্যবেক্ষণ এবং ওয়েব অ্যাপ্লিকেশন 45 00:02:35,390 --> 00:02:37,355 ফায়ারওয়াল কোনো হামলার জন্য আউট হওয়া. 46 00:02:37,355 --> 00:02:39,979 47 00:02:39,979 --> 00:02:41,770 স্পিকার 3: সবচেয়ে খারাপ জিনিস ঘটতে পারে 48 00:02:41,770 --> 00:02:45,080 কারো কোড লিখতে হবে যে স্বয়ংক্রিয়ভাবে যান এবং স্ক্যান করবে 49 00:02:45,080 --> 00:02:48,280 ইন্টারনেট এবং প্রভাবিত করবে এই কম্পিউটারের সব. 50 00:02:48,280 --> 00:02:50,710 এবং পাশাপাশি তারা যে কি, একবার, তারা কাজ করতে পারে সবচেয়ে খারাপ জিনিস 51 00:02:50,710 --> 00:02:53,300 শুধু সবকিছু মুছে দিন হয়, বা ডাউন সাইট বন্ধ. 52 00:02:53,300 --> 00:02:55,360 তাই আমরা ক্ষতি দেখতে পারে দেখুন যে বিন্দু থেকে, 53 00:02:55,360 --> 00:02:58,300 আমরা দূষিত মানুষ আছে যেখানে যারা শুধু ক্ষিতি কারণ সিদ্ধান্ত 54 00:02:58,300 --> 00:03:02,534 সিস্টেম নিচে আনয়ন বা মুছে যে ফাইল, এবং জিনিষ. 55 00:03:02,534 --> 00:03:05,200 স্পিকার 2: কিছু এই এক বলে সবচেয়ে কঠিন পরিমাপ 56 00:03:05,200 --> 00:03:08,080 বছর বাগ, এবং এটি সপ্তাহের নিতে বা এমনকি হতে পারে 57 00:03:08,080 --> 00:03:10,820 মাস তার চূড়ান্ত প্রভাব নির্ধারণ করা. 58 00:03:10,820 --> 00:03:12,180 59 00:03:12,180 --> 00:03:15,560 >> বক্তা 1: সুতরাং যে সব সত্য, কিন্তু মজার ব্যাপার হল প্রায় সব হয়, 60 00:03:15,560 --> 00:03:18,330 কল্পচিত্র আপনি শুধু দেখেছি, হয়তো কীবোর্ড ছাড়া, 61 00:03:18,330 --> 00:03:20,930 সঙ্গে কিছুই করার আছে সবটা বাগ. 62 00:03:20,930 --> 00:03:23,960 সার্ভার ও পুতুল এবং তাই ঘোষণা, এটা ধরণের tangentially এর সাথে সম্পর্কিত, 63 00:03:23,960 --> 00:03:27,410 কিন্তু কোর এটি প্রশংসনীয় আসলে পরিচিত এখানে কি ঘটছে. 64 00:03:27,410 --> 00:03:30,050 আসলে, আমাকে যেতে দিন আমাদের CS50 প্রয়োগ. 65 00:03:30,050 --> 00:03:32,910 আমাকে এগিয়ে যান এবং সর্বাধিক যাক এখানে টার্মিনাল উইন্ডোতে. 66 00:03:32,910 --> 00:03:36,020 এবং আপনাকে বলছি, এই ব্যবহার করা হয়েছে বা, উহার সংস্করণ এমবেডেড 67 00:03:36,020 --> 00:03:39,460 প্রোগ্রাম লিখতে, যাতে gedit মধ্যে, তাই ঘোষণা কমান্ড টাইপ করুন, এবং, 68 00:03:39,460 --> 00:03:43,690 এবং এই আসলে, এবং আছে সপ্তাহ, ব্যাশ, বি একটি, S-এইচ হয়েছে. 69 00:03:43,690 --> 00:03:46,890 এই বোর্ন আবার শেল যা একটি মাত্র বলছে অভিনব উপায়, 70 00:03:46,890 --> 00:03:50,220 এই একটি আছে একটি প্রোগ্রাম কার্যকরভাবে, প্রম্পট জ্বলজ্বলে, 71 00:03:50,220 --> 00:03:51,970 যে অপেক্ষা আছে অস্ত যায় আপনার জন্য ইনপুট জন্য. 72 00:03:51,970 --> 00:03:53,920 এবং এটা কমান্ড এর লাইন ইন্টারফেস মাধ্যমে যা 73 00:03:53,920 --> 00:03:57,650 আপনি যদি না কমান্ড করা হয়েছে এবং শেষ পর্যন্ত কম্পাইল এবং তারপর চলমান 74 00:03:57,650 --> 00:03:58,400 প্রোগ্রাম. 75 00:03:58,400 --> 00:04:01,320 >> কিন্তু ব্যাশ এছাড়াও একটি প্রোগ্রামিং হয় নিম্নলিখিত অর্থে ভাষা. 76 00:04:01,320 --> 00:04:05,460 আপনি কমান্ড আছে জানি সিডি এবং ls এবং এছাড়াও ঝনঝন শব্দ এবং অন্যদের, 77 00:04:05,460 --> 00:04:09,580 কিন্তু আপনি আপনার নিজস্ব কমান্ড নির্ধারণ করতে পারবেন ব্যাশ তাদের প্রয়োগ করে. 78 00:04:09,580 --> 00:04:11,420 এখন আমরা করছি যাচ্ছে না মহান বিস্তারিত মধ্যে যেতে 79 00:04:11,420 --> 00:04:16,089 হিসাবে প্রোগ্রামিং ভাষা ব্যাশ, কিন্তু জানি, উদাহরণস্বরূপ, মুহূর্তে যে, 80 00:04:16,089 --> 00:04:17,607 বলা কমান্ডের আছে "হ্যালো." 81 00:04:17,607 --> 00:04:19,440 সুতরাং এটি পাওয়া যাবে এই প্যাকেজ এক. 82 00:04:19,440 --> 00:04:20,856 এটা আমার কম্পিউটারে ইনস্টল না. 83 00:04:20,856 --> 00:04:21,870 আপনার প্রশাসক জিজ্ঞাসা করুন. 84 00:04:21,870 --> 00:04:26,030 কিন্তু আমি চাই যদি একটি প্রোগ্রাম করা ব্যাশ বা আমার প্রম্পটে "হ্যালো" বলা হয়, 85 00:04:26,030 --> 00:04:30,810 আমি আসলে যে সিনট্যাক্স ব্যবহার করতে পারেন বেশ সি মত, পুরোপুরি একই না 86 00:04:30,810 --> 00:04:35,020 কিন্তু এটি একটি চমত্কার অনুরূপ ফাংশন, কিছু কিছু বিবরণ অনুপস্থিত যদিও. 87 00:04:35,020 --> 00:04:38,090 কিছুই ঘটবে বলে মনে হয়, কিন্তু এখন আমি ", হ্যালো" টাইপ 88 00:04:38,090 --> 00:04:40,960 আপনি আসলে একটি লিখতে পারেন প্রোগ্রাম, না সি, না জাভা, 89 00:04:40,960 --> 00:04:44,280 না অন্য প্রোগ্রামিং ভাষা, কিন্তু ব্যাশ নিজেই. 90 00:04:44,280 --> 00:04:47,630 >> এখন এখানে কী যে আমি লিখেছি হয় আমি এই নতুন কমান্ড দিতে চেয়েছিলেন নাম, 91 00:04:47,630 --> 00:04:50,820 এবং প্রথম বন্ধনী হয় এই সিম্বলিক একটি ফাংশন হচ্ছে. 92 00:04:50,820 --> 00:04:54,010 একটি সরাইয়া হিসাবে, আপনি মজা করতে পারেন , এবং আসলে, এমনকি ম্যাক অপারেটিং সিস্টেম জিনিস, 93 00:04:54,010 --> 00:04:55,620 এই টার্মিনাল নামক একটি প্রোগ্রাম. 94 00:04:55,620 --> 00:04:58,800 যে কেউ এর মধ্যে নির্মিত আসে এই রুমে একটি ম্যাক আছে যে কম্পিউটার, 95 00:04:58,800 --> 00:05:03,640 এবং আপনি ম্যাক একই জিনিস করতে পারেন অপারেটিং সিস্টেম, কিন্তু আপনি যে পরেও আরো যেতে পারেন. 96 00:05:03,640 --> 00:05:07,110 এবং এই, একটু স্পর্শিনী, কিন্তু এটা মজা ধরনের. 97 00:05:07,110 --> 00:05:09,715 আমি এই সকালে স্মরণ করিয়ে ছিল, এই মাধ্যমে যখন চিন্তা, 98 00:05:09,715 --> 00:05:13,279 একটু খেলা আমি খেলতে ব্যবহৃত CS50 এর সাবেক টিএফএস এক সঙ্গে 99 00:05:13,279 --> 00:05:16,570 যে কোনো সময় তিনি দূরে থেকে পায়চারি করা হবে যদ্দ্বারা তার পর্দা সঙ্গে তার কীবোর্ড আনলক, 100 00:05:16,570 --> 00:05:23,611 আমি একটি কমান্ড চালানো হবে আপাততঃ মত "হ্যালো বলে." 101 00:05:23,611 --> 00:05:26,610 এবং এখন যে কোনো সময় তিনি ফিরে আসেন তার কীবোর্ড আমি পর্দায় সাফ পরে 102 00:05:26,610 --> 00:05:27,985 এবং তিনি বসতে হবে কিছু কাজ করার চেষ্টা করুন, 103 00:05:27,985 --> 00:05:29,250 তার ডিরেক্টরিতে বিষয়বস্তু তালিকা 104 00:05:29,250 --> 00:05:29,510 >> [অডিও প্লেব্যাক] 105 00:05:29,510 --> 00:05:30,010 >> -Hello. 106 00:05:30,010 --> 00:05:31,621 107 00:05:31,621 --> 00:05:32,120 হ্যালো. 108 00:05:32,120 --> 00:05:35,030 >> সততা সুতরাং,: স্পিকার 1 এটি "হ্যালো." আসলে ছিল না 109 00:05:35,030 --> 00:05:36,894 এটি সাধারণত কিছু কিন্তু যে আরো সমগোত্রীয় 110 00:05:36,894 --> 00:05:37,560 [অডিও প্লেব্যাক] 111 00:05:37,560 --> 00:05:37,750 -হুইসেল. 112 00:05:37,750 --> 00:05:39,320 বক্তা 1: আমি would-- --that তাই তার কম্পিউটার হবে 113 00:05:39,320 --> 00:05:42,170 তিনি আসলে তাকে যে কোনো সময় শপথ তার কীবোর্ড এ বসলেন. 114 00:05:42,170 --> 00:05:46,265 এবং খুব দ্রুত তিনি মূর্ত আউট তার পর্দা উদ্ঘাটিত ছেড়ে না. 115 00:05:46,265 --> 00:05:48,730 কিন্তু এই ধরণের প্রস্তাব দেওয়া হয় মূঢ় মজা যে আপনি 116 00:05:48,730 --> 00:05:50,210 ব্যাশ ভালো কিছু করতে পারেন. 117 00:05:50,210 --> 00:05:52,770 কিন্তু এটি একটি সামান্য আরো গুরুতর, যে, তা নিশ্চিত করা. 118 00:05:52,770 --> 00:05:57,235 এবং সত্য, এই এক সবচেয়ে বিপজ্জনক এবং দীর্ঘ দীর্ঘস্থায়ী বাগ 119 00:05:57,235 --> 00:05:58,860 যে সত্যিই বিশ্বব্যাপী বিশ্বের আঘাত করেনি. 120 00:05:58,860 --> 00:06:02,060 এই বাগ হয়েছে প্রায় কিছু 20 বছর, 121 00:06:02,060 --> 00:06:05,780 এবং আপনি শুধুমাত্র একটি আঘাত করা হবে তার আত্মীয় সরলতা দ্বারা মুহূর্ত. 122 00:06:05,780 --> 00:06:07,990 >> সুতরাং এই একটি প্রতিনিধি যে কমান্ড আপনি যদি 123 00:06:07,990 --> 00:06:10,448 আক্ষরিক ডান এখন, একটি ম্যাক মালিক আপনি আপনার ঢাকনা খোলা আছে, 124 00:06:10,448 --> 00:06:12,940 আপনি যে টাইপ চেষ্টা করতে পারেন টার্মিনাল নামক প্রোগ্রাম. 125 00:06:12,940 --> 00:06:15,410 টার্মিনাল অধীন হয় অ্যাপ্লিকেশন Utilities-- 126 00:06:15,410 --> 00:06:18,790 একবার জন্য, উইন্ডোজ ব্যবহারকারীদের করতে হবে না এই বিশেষ threat-- সম্পর্কে চিন্তা 127 00:06:18,790 --> 00:06:22,310 কিন্তু Macs-সঙ্গে আপনি তাদের টাইপ করতে পারেন একটি উইন্ডো মধ্যে এই আমি এখানে চেষ্টা করব মত, 128 00:06:22,310 --> 00:06:24,210 এবং আপনি টাইপ না যদি এই প্রোগ্রামের মধ্যে যে 129 00:06:24,210 --> 00:06:28,830 আমি এখন কি করব মত, টার্মিনাল বলা হয়, আপনি শব্দ দেখতে হলে, "অরক্ষিত," 130 00:06:28,830 --> 00:06:32,200 আপনার কম্পিউটার শোষণ প্রবন. 131 00:06:32,200 --> 00:06:33,850 >> এখন যে আসলে এর মানে কি? 132 00:06:33,850 --> 00:06:35,870 এবং এই নিঃসন্দেহে হয় কিছু সুন্দর ছবি বাক্য গঠন, 133 00:06:35,870 --> 00:06:39,050 কিন্তু এর অন্তত বহিষ্কার আকর্ষণীয় দিক কিছু. 134 00:06:39,050 --> 00:06:42,567 তাই দেখে মনে হচ্ছে যে কিছু সিনট্যাক্স আছে অন্তত সি থেকে, একটু পরিচিত 135 00:06:42,567 --> 00:06:43,950 এবং আরো সাধারণভাবে প্রোগ্রামিং. 136 00:06:43,950 --> 00:06:47,550 আমি কিছু প্রথম বন্ধনী দেখুন, সেমিকোলন, কোঁকড়া ধনুর্বন্ধনী, এবং যেমন, 137 00:06:47,550 --> 00:06:50,820 কিন্তু এটা এই যে দেখা যাচ্ছে হলুদ এখানে মূঢ় জিনিস 138 00:06:50,820 --> 00:06:53,580 একটি ফাংশন মূলত যে কিছুই না. 139 00:06:53,580 --> 00:06:57,840 কোলন মানে কিছুই না, এবং সেমিকোলন কিছুই কাজ বন্ধ মানে. 140 00:06:57,840 --> 00:07:00,250 এই ভিতরে তাই কোঁকড়া ধনুর্বন্ধনী, আসলে 141 00:07:00,250 --> 00:07:02,440 আমি একটি সমান আছে বাম, এই সাইন ইন 142 00:07:02,440 --> 00:07:05,500 মূলত তৈরি হয় একটি কমান্ড, অথবা একটি পরিবর্তনশীল, 143 00:07:05,500 --> 00:07:09,520 নামক এক্স, এবং এটি বরাদ্দ সেখানে কোড যে হলুদ বিট. 144 00:07:09,520 --> 00:07:14,040 যে "প্রতিধ্বনি ভালো কিছু হতে পারে হ্যালো "বা" বলতে বিপ "বা কিছু 145 00:07:14,040 --> 00:07:15,120 যে সদৃশ. 146 00:07:15,120 --> 00:07:17,780 কিন্তু আপনার চোখ যদি লক্ষ্য অধিকার আরও বেড়ান, 147 00:07:17,780 --> 00:07:22,150 আর এই লাইন আরো আছে যে সেমিকোলন শুধু শেষ. 148 00:07:22,150 --> 00:07:25,160 তারপর ", অরক্ষিত ইকো" এবং তার পরেও যে এমনকি আরো আছে. 149 00:07:25,160 --> 00:07:26,530 অন্য সেমিকোলন, ব্যাশ -c :. 150 00:07:26,530 --> 00:07:28,120 151 00:07:28,120 --> 00:07:34,050 >> তাই দীর্ঘ সংক্ষিপ্ত বিবরণ, কোড এই লাইন হয় 152 00:07:34,050 --> 00:07:36,660 বাধ্যকারী জন্য যথেষ্ট যে একটি কম্পিউটার 153 00:07:36,660 --> 00:07:39,830 কিছু কাজ প্রবন আপনি এটি করতে চান, 154 00:07:39,830 --> 00:07:44,290 ব্যাশ যদ্দ্বারা একটি বাগ আছে, কারণ ব্যাশ বন্ধ অনুমিত ছিল, যদিও 155 00:07:44,290 --> 00:07:48,980 কমান্ড অধিকার পড়া লাইন সেখানে হলুদ টেক্সট পরে, 156 00:07:48,980 --> 00:07:52,520 একটি 20 প্লাস বছর বয়সী বাগ, ব্যাশ আসলে পড়া হয়েছে 157 00:07:52,520 --> 00:07:56,780 যে সেমিকোলন অতিক্রম এবং সুন্দর এটা বলা হয় কি করছেন. 158 00:07:56,780 --> 00:07:59,070 >> তাই কি সংশ্লেষ যে শেষ পর্যন্ত? 159 00:07:59,070 --> 00:08:01,340 আমি শুধু "হ্যালো প্রতিধ্বনি" তিনি বলেন, বা ", অরক্ষিত echo" 160 00:08:01,340 --> 00:08:05,449 কিন্তু আপনি কি কিছু না হলে আসলে দূষিত, RM -rf * মত, 161 00:08:05,449 --> 00:08:07,240 যা আপনি না পারে আগের টাইপ করেছেন, 162 00:08:07,240 --> 00:08:08,920 এবং অকপটে আপনি সম্ভবত খুব শীঘ্রই উচিত, 163 00:08:08,920 --> 00:08:10,700 আপনি একটি করতে পারেন, কারণ এটা দিয়ে ক্ষতি অনেক. 164 00:08:10,700 --> 00:08:11,210 কেন? 165 00:08:11,210 --> 00:08:12,990 RM অবশ্যই, কি করে? 166 00:08:12,990 --> 00:08:14,270 মুছে ফেলা হবে. 167 00:08:14,270 --> 00:08:15,930 * মানে কি? 168 00:08:15,930 --> 00:08:16,430 সমস্ত. 169 00:08:16,430 --> 00:08:18,180 সুতরাং এটি একটি তথাকথিত এর ওয়াইল্ড কার্ড, এটা মানে তাই 170 00:08:18,180 --> 00:08:20,410 সবকিছু মুছে দিন বর্তমান ডিরেক্টরির. 171 00:08:20,410 --> 00:08:23,379 -r রিকার্সিভ মানে হবে, আপনি মুছে ফেলার তা যদি যার মানে 172 00:08:23,379 --> 00:08:26,420 একটি ডিরেক্টরি, এবং সেখানে এর ভিতরে অন্যান্য ফাইল এবং অন্যান্য ডিরেক্টরি হয় 173 00:08:26,420 --> 00:08:28,950 যাও recursively আছে মধ্যে আকর্ষণীয় এবং যে সব মুছে দিন. 174 00:08:28,950 --> 00:08:31,040 এবং -f তাদের সমস্ত খারাপ হয়. 175 00:08:31,040 --> 00:08:32,580 যে কেউ -f এখানে মানে কি জানেন? 176 00:08:32,580 --> 00:08:33,690 177 00:08:33,690 --> 00:08:34,360 ফোর্স. 178 00:08:34,360 --> 00:08:37,830 তাই, এমনকি, মানে বাধ্য এই একটি খারাপ ধারণা হয়, 179 00:08:37,830 --> 00:08:40,939 আমাকে প্ররোচনা ছাড়া এটা করতে আরও নিশ্চিতকরণ জন্য. 180 00:08:40,939 --> 00:08:43,230 সুতরাং, আপনি কি জানেন, আমরা উপহাস এই, কিন্তু সত্যি, আমি সম্ভবত 181 00:08:43,230 --> 00:08:44,972 এই একাধিক বার টাইপ একটি দিন, বাস্তবতা কারণ 182 00:08:44,972 --> 00:08:47,210 এটা দ্রুত উপায় হয় স্টাফ আভা মুছে দিন. 183 00:08:47,210 --> 00:08:48,590 কিন্তু আমি কিছু ক্ষতি করা হয়েছে. 184 00:08:48,590 --> 00:08:53,100 >> কিন্তু আপনি যদি একটি কম্পিউটার রত ছিল কিছু মূঢ় পরিবর্তনশীল সংজ্ঞা মধ্যে 185 00:08:53,100 --> 00:08:56,810 বা ফাংশন নামক এক্স, কিন্তু তারপর নির্বাহ মধ্যে কম্পিউটার tricking 186 00:08:56,810 --> 00:09:00,030 যে সীমানা অতিক্রম ফাংশন, যে সেমিকোলন বহুদূরে, 187 00:09:00,030 --> 00:09:04,430 আপনি প্রকৃতপক্ষে একটি কম্পিউটার রত পারে RM ভালো কিছু নির্বাহ মধ্যে -rf 188 00:09:04,430 --> 00:09:07,810 অথবা ইমেইল কমান্ড বা কপি কমান্ড. 189 00:09:07,810 --> 00:09:11,400 কিছু আক্ষরিক আপনি করতে পারেন কম্পিউটার, এটি ফাইল মুছে ফেলা হচ্ছে কিনা, 190 00:09:11,400 --> 00:09:15,350 ফাইল তৈরি কেউ স্প্যামিং, দূরবর্তী কিছু সার্ভার আক্রমণ, 191 00:09:15,350 --> 00:09:17,190 আপনি এটা প্রকাশ করতে পারেন যদি একটি কমান্ড সঙ্গে, আপনি 192 00:09:17,190 --> 00:09:19,120 যে কাজ মধ্যে একটি কম্পিউটার রত পারেন. 193 00:09:19,120 --> 00:09:21,510 >> এখন একটি উদাহরণ কি আপনি কিভাবে এই কি হতে পারে? 194 00:09:21,510 --> 00:09:24,300 ওয়েল, কম্পিউটারের একটি অনেক আছে ইন্টারনেট চলমান ব্যাশ উপর. 195 00:09:24,300 --> 00:09:26,390 আমাদের ম্যাক ব্যবহারকারীদের সব তাদের মধ্যে আছে. 196 00:09:26,390 --> 00:09:30,390 লিনাক্স সার্ভার অনেক মধ্যে হয় তাদের হিসাবে ভাল, এবং ইউনিক্স সার্ভার. 197 00:09:30,390 --> 00:09:32,630 উইন্ডোজ আবার পায় অপেক্ষাকৃত হুক বন্ধ 198 00:09:32,630 --> 00:09:34,590 আপনি ইনস্টল করেছি, যদি না বিশেষ সফটওয়্যার. 199 00:09:34,590 --> 00:09:37,130 সার্ভারের এখন অনেক জন্য উদাহরণস্বরূপ, রান ওয়েব সার্ভার, 200 00:09:37,130 --> 00:09:39,840 এবং আসলে লিনাক্স সম্ভবত হয় সবচেয়ে জনপ্রিয় অপারেটিং সিস্টেম 201 00:09:39,840 --> 00:09:43,060 ইন্টারনেট কম্পিউটার চালানো যে ওয়েব পেজ পরিবেশন করা হয়. 202 00:09:43,060 --> 00:09:44,910 এখন আমরা পরে দেখতে পাবেন সেমিস্টারে, যখন 203 00:09:44,910 --> 00:09:48,470 আপনার কাছ থেকে একটি অনুরোধ পাঠান আপনার browser-- ক্রোম, 204 00:09:48,470 --> 00:09:50,790 ইন্টারনেট এক্সপ্লোরার, যাহা একটি দূরবর্তী সার্ভারে, 205 00:09:50,790 --> 00:09:53,730 এটি সক্রিয় যে যদিও আপনি শুধু টাইপ www.example.com, 206 00:09:53,730 --> 00:09:59,590 আপনার ব্রাউজার একটি বার্তা প্রেরণ করা হয় যে একটু বেশি রহস্যময়, এই মত. 207 00:09:59,590 --> 00:10:01,239 >> কিন্তু অদ্ভুত সামান্য কিছু লক্ষ্য করা. 208 00:10:01,239 --> 00:10:03,030 প্রথম দুই লাইন আমি আগে কখনও দেখা করেছি 209 00:10:03,030 --> 00:10:04,904 কিন্তু তারা তাকান না বিশেষ করে হুমকি. 210 00:10:04,904 --> 00:10:08,030 কিন্তু আমি চুরি করেছি বিজ্ঞপ্তি এখানে তৃতীয় লাইন জন্য. 211 00:10:08,030 --> 00:10:13,390 একটি খারাপ লোক একটি বার্তা পাঠান ছিল তার বা তার কম্পিউটার থেকে ভালো 212 00:10:13,390 --> 00:10:17,270 একটি প্রবন ম্যাক বা একটি থেকে প্রবন লিনাক্স সার্ভার, 213 00:10:17,270 --> 00:10:21,580 মজার ব্যাপার, যে ব্যাশ হয় যে সহজ সামান্য কমান্ড প্রম্পট, 214 00:10:21,580 --> 00:10:27,450 সর্বত্র বিরাজমান এবং প্রায়ই হয় মূলত চালানো ব্যবহৃত 215 00:10:27,450 --> 00:10:30,020 একটি বিষয়বস্তু এটা গ্রহণ করে যে বার্তা. 216 00:10:30,020 --> 00:10:33,490 এবং যে যুক্তি দ্বারা, আপনি যা করতে পারেন সুতরাং, একটি ওয়েব সার্ভার রত, 217 00:10:33,490 --> 00:10:36,370 ভালো কিছু পাঠিয়ে ব্যবহারকারী এজেন্ট, সাধারণত যা 218 00:10:36,370 --> 00:10:38,300 বলে অনুমিত হয় আপনার ব্রাউজার এর নাম দিন. 219 00:10:38,300 --> 00:10:42,420 ব্যবহারকারী এজেন্ট ক্রোম, ব্যবহারকারী এজেন্ট ইন্টারনেট এক্সপ্লোরার, ব্যবহারকারী এজেন্ট ফায়ারফক্স, এই 220 00:10:42,420 --> 00:10:44,590 শুধু আপনার ব্রাউজার এর নিজের পরিচয় পথে. 221 00:10:44,590 --> 00:10:46,605 কিন্তু যদি একটি খারাপ লোক খুব চালাকি মিমি মিমি, আমি বলে, 222 00:10:46,605 --> 00:10:47,930 আপনি বলা যাচ্ছে না কি আমার ব্রাউজার, 223 00:10:47,930 --> 00:10:50,888 আমি এর পরিবর্তে আপনি পাঠাতে যাচ্ছে না একটি RM -rf সঙ্গে জিনিস রহস্যপূর্ণ সুদর্শন 224 00:10:50,888 --> 00:10:55,840 * এটা, আপনি আক্ষরিক একটি রত পারেন ইন্টারনেট প্রবন ওয়েব সার্ভার 225 00:10:55,840 --> 00:10:59,055 ঠিক যে নির্বাহ মধ্যে সেখানে সব ফাইল মুছে ফেলার জন্য. 226 00:10:59,055 --> 00:11:00,930 এবং সত্যি, যে না এটা এমনকি খারাপ. 227 00:11:00,930 --> 00:11:01,763 আপনি কিছু করতে পারেন. 228 00:11:01,763 --> 00:11:04,480 আপনি শুরু করতে পারে একটি বিতরণ সেবা আক্রমণ অস্বীকার 229 00:11:04,480 --> 00:11:07,030 আপনি এই বার্তা পাঠানো যদি ওয়েব সার্ভার পুরো কাঁদি 230 00:11:07,030 --> 00:11:10,256 এবং তারপর তাদের সব জন্য, নামা ছিল উদাহরণস্বরূপ, Harvard.edu সার্ভার, 231 00:11:10,256 --> 00:11:12,130 এবং আপনি ঠুং ঠুং শব্দ বাছাই করতে পারেন তাদের নরক আউট 232 00:11:12,130 --> 00:11:15,490 ছিল একটি নেটওয়ার্ক ট্রাফিক দ্বারা অন্যথায় এই খারাপ লোক দ্বারা আলোড়ন সৃষ্টি. 233 00:11:15,490 --> 00:11:18,760 >> সুতরাং, দীর্ঘ সংক্ষিপ্ত বিবরণ, প্রায় একটি ম্যাক মালিক এই রুমে সবাই 234 00:11:18,760 --> 00:11:20,240 এই প্রবন. 235 00:11:20,240 --> 00:11:24,100 রূপালী আস্তরণের আপনি যদি না হয় আপনার ল্যাপটপ উপর একটি ওয়েব সার্ভার চলমান, 236 00:11:24,100 --> 00:11:27,780 এবং আপনি আসলে কনফিগার করেছি, যদি না এটা, তা SSH 'র মত কিছু করার অনুমতি দেয় 237 00:11:27,780 --> 00:11:28,670 আপনি আসলে নিরাপদ. 238 00:11:28,670 --> 00:11:31,710 এটা জেয়, কিন্তু কোন আছে এক আপনার ল্যাপটপ পাওয়ার চেষ্টা, 239 00:11:31,710 --> 00:11:33,290 তাই আপনি ধরণের বিশ্রাম করতে পারেন. 240 00:11:33,290 --> 00:11:36,210 তবে, অ্যাপল শীঘ্রই হবে এই জন্য একটি ফিক্স আপডেট হতে. 241 00:11:36,210 --> 00:11:39,660 লিনাক্স বিশ্বের ইতিমধ্যে মুক্তি হয়েছে ফেডোরা এবং উবুন্টু জন্য সংশোধন করা হয়েছে একটি নম্বর 242 00:11:39,660 --> 00:11:43,790 এবং অন্যান্য Linux সংস্করণ, এবং প্রকৃতপক্ষে আপনি প্রয়োগ আপডেট 50 রান, 243 00:11:43,790 --> 00:11:45,930 খুব হবে, এমনকি যে আপডেট এবং সংশোধন করা. 244 00:11:45,930 --> 00:11:47,764 কিন্তু যে খুব আছে না সত্যিই, অরক্ষিত হয়েছে 245 00:11:47,764 --> 00:11:49,804 আপনি করেছি, যদি না কারণ যন্ত্র সঙ্গে tinkered 246 00:11:49,804 --> 00:11:52,770 এবং প্রকাশ্যে আপনার ল্যাপটপ তৈরি না, যা ইন্টারনেট, প্রবেশযোগ্য 247 00:11:52,770 --> 00:11:54,910 ডিফল্টরূপে, আপনি করেছি আসলে কারণ জরিমানা হয়েছে 248 00:11:54,910 --> 00:11:56,890 ফায়ারওয়ালের জন্য এবং অন্যান্য কৌশল. 249 00:11:56,890 --> 00:12:01,000 >> কিন্তু এটি একটি বাগ একটি চরম উদাহরণ আমরা আক্ষরিক 20 জন্য বাস করেছি 250 00:12:01,000 --> 00:12:04,050 বছর, এবং কেউ যদি জানেন এই সব সময় এটা সম্পর্কে পরিচিত হয়েছে? 251 00:12:04,050 --> 00:12:06,300 এবং সত্য, এই এক মৌলিক চ্যালেঞ্জ 252 00:12:06,300 --> 00:12:08,690 আমরা পরে দেখতে পাবেন যে নিরাপত্তা সম্পর্কে সেমিস্টারে, 253 00:12:08,690 --> 00:12:13,020 যে, শুধু বাস্তব জগতে ভালো হয় ভাল না অসুবিধা না হয়. 254 00:12:13,020 --> 00:12:16,500 খারাপ না রাখা, আমরা আছে প্রত্যেক দরজা লক করা নিশ্চিত করুন যে, 255 00:12:16,500 --> 00:12:20,340 প্রতি উইন্ডোতে যে, নিরাপদ একটি বাড়ির মধ্যে প্রবেশ প্রতি বিন্দু 256 00:12:20,340 --> 00:12:21,980 খারাপ না রাখা নিরাপদ. 257 00:12:21,980 --> 00:12:26,870 কিন্তু কি খারাপ লোক আছে আসলে আপনার বাড়িতে আপোষ করতে 258 00:12:26,870 --> 00:12:28,200 এবং আপনার কাছ থেকে চুরি করা? 259 00:12:28,200 --> 00:12:32,574 তিনি উদ্ঘাটিত এক খুঁজে পেতে হয়েছে দরজা, এক ভাঙা জানালা, বা কিছু 260 00:12:32,574 --> 00:12:35,240 যারা লাইন বরাবর, এবং এটা কম্পিউটার নিরাপত্তা একই জিনিস. 261 00:12:35,240 --> 00:12:37,660 আমরা লক্ষ লক্ষ লিখতে পারেন প্রোগ্রামিং কোড লাইন 262 00:12:37,660 --> 00:12:40,570 এবং শত শত বা হাজার হাজার ব্যয় এটা সঠিক পেতে চেষ্টা ঘন্টা, 263 00:12:40,570 --> 00:12:43,370 কিন্তু যদি আপনি শুধু এক করা শুদ্ধি মধ্যে ভুল, 264 00:12:43,370 --> 00:12:47,030 আপনি সম্পূর্ণ সিস্টেম করা এবং প্রকৃতপক্ষে এই ক্ষেত্রে, সমগ্র ইন্টারনেট 265 00:12:47,030 --> 00:12:48,660 এবং ঝুঁকি বিশ্ব. 266 00:12:48,660 --> 00:12:51,950 >> আপনি আরো জানতে চান, তাই যদি এই সম্পর্কে, এখানে এই URL যান. 267 00:12:51,950 --> 00:12:54,450 কর্মের জন্য কোন প্রয়োজন নেই আজ রাতে আপনি যদি না 268 00:12:54,450 --> 00:12:57,116 ঐ যে আরো আরামদায়ক মধ্যে আপনার নিজের ওয়েব চলমান হয়েছে 269 00:12:57,116 --> 00:12:59,810 সার্ভার, যা আপনি উচিত ক্ষেত্রে, আসলে, আপনার সফ্টওয়্যার আপডেট করুন. 270 00:12:59,810 --> 00:13:03,244 >> এবং এই খুব শিরোনাম একটি বক্তৃতা, এবং এখন একটি কাগজ, 271 00:13:03,244 --> 00:13:05,410 আমরা সংযুক্ত করেছি আজকের জন্য কোর্স এর ওয়েবসাইট. 272 00:13:05,410 --> 00:13:07,600 এটি একটি সহকর্মী ছিল নামে কেন থম্পসন, যারা 273 00:13:07,600 --> 00:13:10,120 একটি খুব বিখ্যাত গ্রহণ করা হয়েছিল কম্পিউটার বিজ্ঞান মধ্যে পুরস্কার, 274 00:13:10,120 --> 00:13:13,495 এবং তিনি কিছু বছর এই বক্তৃতা দেন আগে, মূলত এই একই বিষয়ে. 275 00:13:13,495 --> 00:13:18,250 276 00:13:18,250 --> 00:13:20,520 প্রশ্ন লোকেরা জিজ্ঞাসা, আপনি উচিত সত্যিই 277 00:13:20,520 --> 00:13:23,480 বিশ্বাস, শেষ পর্যন্ত, সফ্টওয়্যার আপনি দেওয়া হয়েছে? 278 00:13:23,480 --> 00:13:26,100 উদাহরণস্বরূপ, আমরা সব আছে প্রোগ্রাম লেখা হয়েছে, 279 00:13:26,100 --> 00:13:27,820 এবং আমরা কম্পাইল করা হয়েছে ঝনঝন শব্দ দিয়ে তাদের. 280 00:13:27,820 --> 00:13:31,830 এবং আপনার জ্ঞান, আপনি লিখিত আছে CS50 জন্য কোনো প্রোগ্রাম আছে যেখানে 281 00:13:31,830 --> 00:13:35,310 প্রকারের একটি খিড়কি, একটি উপায় আছে একটি খারাপ লোক যে, আপনার প্রোগ্রাম যদি, 282 00:13:35,310 --> 00:13:37,410 আপনার কম্পিউটার নিতে পারে? 283 00:13:37,410 --> 00:13:38,310 সম্ভবত না, ডান? 284 00:13:38,310 --> 00:13:40,180 মারিও এবং অর্থগৃধ্নু, এবং ক্রেডিট. 285 00:13:40,180 --> 00:13:41,680 এই সব সুন্দর ছোট প্রোগ্রাম. 286 00:13:41,680 --> 00:13:43,910 আপনি সুন্দর হতে চাই খারাপ আসলে আপনি যদি 287 00:13:43,910 --> 00:13:47,310 আপনার পুরো কম্পিউটার প্রবন করা কোড 10 বা 20 লাইন লেখার পর, 288 00:13:47,310 --> 00:13:49,690 অথবা কিছু অন্তত অজ্ঞাত নিরাপত্তা প্রভাব. 289 00:13:49,690 --> 00:13:52,023 এখন আমি যে ফূর্তিতে বলে কিন্তু আমরা আজ দেখতে যাচ্ছেন 290 00:13:52,023 --> 00:13:54,600 এবং এই সপ্তাহে এটা আসলে সত্যিই সত্যিই, সহজ 291 00:13:54,600 --> 00:13:57,980 খারাপ হতে পারে এবং এমনকি করতে ছোট প্রোগ্রাম প্রবন. 292 00:13:57,980 --> 00:14:02,880 >> কিন্তু এখন জন্য, অন্তত, বুঝতে পারছি প্রশ্ন এখানে বলা হচ্ছে যে 293 00:14:02,880 --> 00:14:04,850 একটি কম্পাইলার মধ্যে ঝনঝন শব্দ হয়. 294 00:14:04,850 --> 00:14:08,360 কেন আমরা ঝনঝন বিশ্বাস করা হয়েছে বিগত দুই বা তিন সপ্তাহের জন্য? 295 00:14:08,360 --> 00:14:12,650 কে যে কেহ ঝনঝন শব্দ লিখেছে বলে এর সেখানে একটি "যদি" শর্ত আছে কি না 296 00:14:12,650 --> 00:14:17,680 যে মূলত কিছু শূন্য ইনজেকশনের এবং প্রতি প্রোগ্রাম বেশী প্রনয়ন 297 00:14:17,680 --> 00:14:21,180 যে দেওয়া হবে তাকে বা তার এক্সেস আপনার কম্পিউটার যখন আপনি ঘুমিয়ে আছেন 298 00:14:21,180 --> 00:14:23,580 এবং আপনার ল্যাপটপ ঢাকনা খোলা এবং আপনার কম্পিউটারে চলমান হয়? 299 00:14:23,580 --> 00:14:24,080 রাইট? 300 00:14:24,080 --> 00:14:28,350 আমরা সম্মান সিস্টেম অধিকার এই সাজানোর আছে এখন আমরা ঝনঝন শব্দ হয় legit বিশ্বাস যেখানে. 301 00:14:28,350 --> 00:14:30,000 আপনি প্রয়োগ পাঠ্য যে বিশ্বাস. 302 00:14:30,000 --> 00:14:34,430 আপনি বিশ্বাস যে আক্ষরিক প্রতি প্রোগ্রাম আপনার Mac বা PC উপর বিশ্বাসযোগ্য. 303 00:14:34,430 --> 00:14:37,510 এবং এই সহজ বাগ হিসাবে সুপারিশ, এটি দূষিত না, এমনকি যদি, 304 00:14:37,510 --> 00:14:40,580 যে একেবারে না কেস হতে পারে. 305 00:14:40,580 --> 00:14:42,350 >> তাই আপনি যদি জাহান্নাম হিসাবে ভয় করা উচিত. 306 00:14:42,350 --> 00:14:45,560 সত্যি, কোন সহজ আছে এই অন্যান্য সমাধান 307 00:14:45,560 --> 00:14:48,185 সামাজিক সচেতনতা কেমন চেয়ে জটিলতা বৃদ্ধি 308 00:14:48,185 --> 00:14:50,310 আমরা উপরে নির্মাণ করছেন যে আমাদের কম্পিউটার সিস্টেমে, 309 00:14:50,310 --> 00:14:53,740 এবং কিভাবে ক্রমবর্ধমান প্রবন আমরা খুব ভাল হতে পারে. 310 00:14:53,740 --> 00:14:55,570 >> এখন যে ব্রেকআউট বলেন, সঙ্গে. 311 00:14:55,570 --> 00:14:59,889 তাই ব্রেকআউট সমস্যা তিনটি সেট, এবং ব্রেকআউট বিগতবত্সর থেকে একটি খেলা 312 00:14:59,889 --> 00:15:02,180 আপনি প্রত্যাহার হতে পারে, কিন্তু আমাদের জন্য সমস্যা, তিন সেট 313 00:15:02,180 --> 00:15:04,450 এটা আমাদের নিতে পারবেন কিছু একটি খাঁজ ব্যাক আপ 314 00:15:04,450 --> 00:15:08,880 আমরা প্রোগ্রাম লেখা হয় যাতে এমনকি এই মত একটি টার্মিনাল উইন্ডোর মধ্যে, 315 00:15:08,880 --> 00:15:14,670 আমরা আসলে শেষ পর্যন্ত, রান করতে পারেন গ্রাফিকাল প্রোগ্রাম না 316 00:15:14,670 --> 00:15:17,800 যারা অসদৃশ আমরা ভূত অ্যাক্সেস. 317 00:15:17,800 --> 00:15:20,910 তাই এই কর্মচারীদের হয় ব্রেকআউট বাস্তবায়ন, 318 00:15:20,910 --> 00:15:23,930 যা শুধু এই ইট অবিচ্ছিন্ন হয় খেলা, আপনি আপনার বাহা সরাতে যে 319 00:15:23,930 --> 00:15:27,590 এবং ঘোষণা, এবং আপনি বল আঘাত উপরে যারা রঙ্গিন ইঁট বিরুদ্ধে. 320 00:15:27,590 --> 00:15:30,020 তাই এই আমাদের আনয়ন করা হয় সাজানোর ফিরে যেখানে 321 00:15:30,020 --> 00:15:33,180 আমরা খুব দ্রুত হতে পারবেন ভূত সঙ্গে, এবং এখন সি, 322 00:15:33,180 --> 00:15:35,800 আমাদের নিজস্ব বাস্তবায়ন গ্রাফিক্যাল ইউজার ইন্টারফেস. 323 00:15:35,800 --> 00:15:38,960 >> কিন্তু আরো বেশী যে, এই সমস্যা সেট প্রথম প্রতিনিধিত্ব করে 324 00:15:38,960 --> 00:15:41,000 যা আমরা প্রদান করছি আপনি কোড একটি গুচ্ছ. 325 00:15:41,000 --> 00:15:43,940 এবং সত্য, আমি স্পষ্ট আনা এই মনোযোগ, বিশেষ করে, কারণ 326 00:15:43,940 --> 00:15:47,090 যারা কম আরামদায়ক, এই সমস্যা নেই, অন্তত প্রথম নজরে, সেট 327 00:15:47,090 --> 00:15:49,170 মনে করতে যাচ্ছে আমরা একটি খাঁজ পর্যন্ত গ্রহণ করেছি. 328 00:15:49,170 --> 00:15:51,540 , আমরা আপনাকে দিয়েছি কারণ অনুসন্ধান কিছু 329 00:15:51,540 --> 00:15:54,930 এবং pset সমস্যা বাছাই, আমরা লিখেছিলেন যে কোড একটি গুচ্ছ, 330 00:15:54,930 --> 00:15:56,680 এবং মন্তব্য একটি দম্পতি যে, "না" বলে 331 00:15:56,680 --> 00:15:58,221 যেখানে আপনি ঐ খালি স্থান পূরণ করতে হবে. 332 00:15:58,221 --> 00:16:00,020 তাই খুব ভীতিকর না, কিন্তু এটি প্রথম সময় 333 00:16:00,020 --> 00:16:03,370 আমরা আপনার কোড হস্তান্তর করছি আপনি প্রয়োজন যে প্রথম, পড়া বুঝতে, এবং তারপর যোগ 334 00:16:03,370 --> 00:16:04,290 এবং এটা সম্পূর্ণ. 335 00:16:04,290 --> 00:16:05,940 >> এবং তারপর ব্রেকআউট সঙ্গে, আমরা একই কাজ করতে যাচ্ছেন 336 00:16:05,940 --> 00:16:08,740 আপনি কয়েক ডজন আরো লাইন প্রদান কোড, উন্মুক্তভাবে, আপনি দিতে 337 00:16:08,740 --> 00:16:11,490 কাঠামো অনেক জন্য খেলা কিন্তু সংক্ষিপ্ত বন্ধ 338 00:16:11,490 --> 00:16:14,304 ইট বাস্তবায়ন এবং বল এবং বাহা, 339 00:16:14,304 --> 00:16:15,970 কিন্তু আমরা কিছু অন্যান্য বৈশিষ্ট্য প্রয়োগ করতে. 340 00:16:15,970 --> 00:16:18,280 এমনকি প্রথম নজরে যে, আবার, বিশেষ করে, কম আরামদায়ক যদি 341 00:16:18,280 --> 00:16:21,480 বিশেষ daunting মনে হতে পারে এবং আপনি অনেক নতুন ফাংশন আছে মনে হয় 342 00:16:21,480 --> 00:16:24,070 আপনি আপনার মন মোড়ানো প্রয়োজন কাছাকাছি, এবং যে সত্য. 343 00:16:24,070 --> 00:16:26,281 কিন্তু এটা মনে রাখা বেশ ভূত মত. 344 00:16:26,281 --> 00:16:28,780 অডস আপনি সব ব্যবহার না হয় ভূত পাজল টুকরা. 345 00:16:28,780 --> 00:16:31,120 অডস আপনি মোড়ানো যত্ন না হয় তাদের সব কাছাকাছি আপনার মন 346 00:16:31,120 --> 00:16:33,617 সব ছিল এটি গ্রহণ কারণ একটি দ্রুত এক নজরে, ওহ, বুঝতে 347 00:16:33,617 --> 00:16:35,450 যে আমি কি করতে পারি কি যে ধাঁধা টুকরা সঙ্গে. 348 00:16:35,450 --> 00:16:38,260 এবং প্রকৃতপক্ষে, সমস্যা সেট 3 বৈশিষ্ট, আমরা নির্দেশ করব 349 00:16:38,260 --> 00:16:41,370 ডকুমেন্টেশন এ যে কিছু নতুন ফাংশন আপনাকে পরিচয় করিয়ে দিতে, 350 00:16:41,370 --> 00:16:43,570 এবং শেষ পর্যন্ত প্রোগ্রামিং আপনি ব্যবহার নির্মান. 351 00:16:43,570 --> 00:16:47,610 , Loops শর্তাবলী, ভেরিয়েবল, এবং ফাংশন 352 00:16:47,610 --> 00:16:50,720 অভিন্ন হতে হবে আমরা কি এখন পর্যন্ত দেখা করেছি. 353 00:16:50,720 --> 00:16:53,560 >> তাই প্রকৃতপক্ষে, আমরা কি দেব আপনি কিছু নমুনা কোড যে 354 00:16:53,560 --> 00:16:56,110 আপনি একটি উইন্ডো তৈরি যে, এই অসদৃশ দেখায় না 355 00:16:56,110 --> 00:16:59,540 এবং শেষ পর্যন্ত মধ্যে এটি চালু বেশ ভালো কিছু. 356 00:16:59,540 --> 00:17:02,250 সুতরাং CS50 সুবিধা গ্রহণ, অফিস এবং আরো আলোচনা 357 00:17:02,250 --> 00:17:05,290 এবং আসলে যে আরাম নিতে আপনি লিখতে হবে কোড পরিমাণ 358 00:17:05,290 --> 00:17:06,760 আসলে সব যে অনেক. 359 00:17:06,760 --> 00:17:10,359 প্রথম চ্যালেঞ্জ শুধু acclimate হয় নিজেকে কিছু কোড আমরা লিখিত করেছি. 360 00:17:10,359 --> 00:17:11,450 361 00:17:11,450 --> 00:17:15,810 >> Pset3 উপর কোন প্রশ্ন, ShellShock, বা অন্যথায়? 362 00:17:15,810 --> 00:17:19,226 >> শ্রোতা: এটা ভালো লাগে ব্রেকআউট দিয়ে যাচ্ছে 363 00:17:19,226 --> 00:17:22,154 কোড প্রায় যে একটি অবজেক্ট ওরিয়েন্টেড শৈলী, 364 00:17:22,154 --> 00:17:24,675 কিন্তু আমি সি একটি ছিল অবজেক্ট ওরিয়েন্টেড প্রোগ্রাম. 365 00:17:24,675 --> 00:17:26,050 বক্তা 1: একটি চমৎকার প্রশ্ন. 366 00:17:26,050 --> 00:17:28,258 সুতরাং মাধ্যমে এখানে ক্লিক করুন বন্টন কোড, কোড 367 00:17:28,258 --> 00:17:30,180 আমরা, হবে, pset3 জন্য লেখেন যারা পরিচিত জন্য, এটা 368 00:17:30,180 --> 00:17:32,230 এটি একটি ভালো দেখায় সামান্য অবজেক্ট ওরিয়েন্টেড. 369 00:17:32,230 --> 00:17:33,800 সংক্ষিপ্ত উত্তর হল এটা করা হয়. 370 00:17:33,800 --> 00:17:38,130 এটা আপনি কিভাবে একটি পড়তা এর ব্যবহার করে অবজেক্ট ওরিয়েন্টেড কোড কি হতে পারে 371 00:17:38,130 --> 00:17:41,850 সি মত একটি ভাষা, কিন্তু এটা এখনও পর্যন্ত পদ্ধতিগত. 372 00:17:41,850 --> 00:17:44,900 এর ভিতরে কোন পদ্ধতি আছে ভেরিয়েবল, হিসাবে আপনি দেখতে পাবেন. 373 00:17:44,900 --> 00:17:46,180 কিন্তু এটা যে স্মরণ করিয়ে দেয়. 374 00:17:46,180 --> 00:17:48,780 এবং আমরা আবার যে বৈশিষ্ট্য দেখতে পাবেন আমরা পিএইচপি এবং জাভাস্ক্রিপ্ট পেতে 375 00:17:48,780 --> 00:17:49,946 শেষ সেমিস্টারে দিকে. 376 00:17:49,946 --> 00:17:53,667 কিন্তু এখন জন্য, হিসাবে মনে করি কি একটি ইঙ্গিতটি আসা. 377 00:17:53,667 --> 00:17:54,250 ভাল প্রশ্ন. 378 00:17:54,250 --> 00:17:56,051 379 00:17:56,051 --> 00:17:56,550 ঠিক আছে. 380 00:17:56,550 --> 00:17:59,730 তাই কেমন ছিল একত্রীকরণ কিভাবে আমরা বাম জিনিস শেষ সময়. 381 00:17:59,730 --> 00:18:03,250 এবং সাজানোর মধ্যে ছিল শান্ত একত্রীকরণ অনুভূতি এটা এত দ্রুত ছিল যে, 382 00:18:03,250 --> 00:18:07,100 অন্তত দ্রুত পরীক্ষার উপর ভিত্তি করে আমরা বুদ্বুদ, বলে, আর, গত সপ্তাহে 383 00:18:07,100 --> 00:18:08,710 সাজানোর, নির্বাচন সাজানোর, সন্নিবেশ সাজানোর. 384 00:18:08,710 --> 00:18:11,780 এবং কি খুব ঝরঝরে ছিল মাত্র কিভাবে সংক্ষিপ্ত এবং পরিচ্ছন্নভাবে 385 00:18:11,780 --> 00:18:12,810 আপনি এটা প্রকাশ করতে পারেন. 386 00:18:12,810 --> 00:18:15,840 এবং আমরা এটি একটি ঊর্ধ্ব কি ছিল বলে নি একত্রীকরণ চলমান সময় উপর আবদ্ধ 387 00:18:15,840 --> 00:18:16,340 বাছাই? 388 00:18:16,340 --> 00:18:17,633 389 00:18:17,633 --> 00:18:18,495 হ্যাঁ? 390 00:18:18,495 --> 00:18:19,360 >> শ্রোতা: এন এন লগ ইন? 391 00:18:19,360 --> 00:18:20,819 >> বক্তা 1: এন, ডান লগ ইন করুন. এন এন লগ ইন করুন. 392 00:18:20,819 --> 00:18:23,776 এবং আমরা যে কি ফিরে আসবো সত্যিই মানে বা যে থেকে আসে যেখানে, 393 00:18:23,776 --> 00:18:25,570 কিন্তু এই ভাল ছিল কি চলমান সময় চেয়ে 394 00:18:25,570 --> 00:18:28,440 আমরা বুদ্বুদ জন্য যে দেখেছি নির্বাচন এবং সন্নিবেশ সাজানোর? 395 00:18:28,440 --> 00:18:30,610 সুতরাং n ছক. n ছক , এই চেয়ে বড় 396 00:18:30,610 --> 00:18:34,650 এবং এটা বেশ স্পষ্ট না, এমনকি যদি, যে লগ এন এন চেয়ে ছোট হয়, 397 00:18:34,650 --> 00:18:36,910 তাই আপনি যদি বার না এন চেয়ে ছোট কিছু, 398 00:18:36,910 --> 00:18:38,680 এটা n ছক কম হতে যাচ্ছে. 399 00:18:38,680 --> 00:18:40,130 এটা অনুভূতি একটি বিট. 400 00:18:40,130 --> 00:18:42,190 কিন্তু আমরা এই জন্য একটি মূল্য দেওয়া. 401 00:18:42,190 --> 00:18:47,000 এটি দ্রুত, কিন্তু একটি থিম শুরু গত সপ্তাহে উত্থান এই tradeoff ছিল. 402 00:18:47,000 --> 00:18:49,804 আমি ভাল পারফরম্যান্স পেয়েছেন সময় নেই, কিন্তু কি 403 00:18:49,804 --> 00:18:52,470 আমি অন্য ব্যয় করতে হবে না হাত, যাতে যে অর্জন করতে? 404 00:18:52,470 --> 00:18:53,591 >> শ্রোতা: স্মৃতি. 405 00:18:53,591 --> 00:18:54,465 বক্তা 1: আবার বলুন? 406 00:18:54,465 --> 00:18:55,173 শ্রোতা: স্মৃতি. 407 00:18:55,173 --> 00:18:57,040 বক্তা 1: স্মৃতি, বা স্থান আরো সাধারণভাবে. 408 00:18:57,040 --> 00:18:59,040 এবং এটি সুপার ছিল না আমাদের মানুষের সঙ্গে সুস্পষ্ট, 409 00:18:59,040 --> 00:19:02,240 কিন্তু আমাদের স্বেচ্ছাসেবকদের প্রত্যাহার এগিয়ে পদবিন্যাস এবং পদবিন্যাস ছিল 410 00:19:02,240 --> 00:19:04,780 যদিও ফিরে একটি অ্যারের আছে যদিও এখানে, এবং আছে 411 00:19:04,780 --> 00:19:07,130 এখানে যে একটি দ্বিতীয় অ্যারে তারা ব্যবহার করতে পারে আমরা কারণ 412 00:19:07,130 --> 00:19:09,080 প্রয়োজনীয় কোথাও যারা ভাবেন একত্রীকরণ. 413 00:19:09,080 --> 00:19:11,480 আমরা শুধু তাদের জায়গা অদলবদল করতে পারে না. 414 00:19:11,480 --> 00:19:13,800 সুতরাং সাজানোর লিভারেজ একত্রীকরণ আরো স্থান, যা 415 00:19:13,800 --> 00:19:15,620 আমরা সঙ্গে প্রয়োজন ছিল না অন্যান্য আলগোরিদিম, 416 00:19:15,620 --> 00:19:17,410 কিন্তু বিপর্যস্ত এটি অনেক দ্রুত যে হয়. 417 00:19:17,410 --> 00:19:20,780 এবং সত্যি, বাস্তব জগতে স্থান এই days-- র্যাম, হার্ড ডিস্ক স্পেস 418 00:19:20,780 --> 00:19:25,030 অপেক্ষাকৃত সস্তা, এবং তাই যে অগত্যা একটি খারাপ জিনিস. 419 00:19:25,030 --> 00:19:28,320 >> সুতরাং, এর দ্রুত কটাক্ষপাত একটু দিন আরো নিয়মানুযায়ী, আমরা কি এ 420 00:19:28,320 --> 00:19:30,220 এবং কেন আমরা এটি এন এন লগ ইন ছিল. 421 00:19:30,220 --> 00:19:33,260 তাই এখানে আট নম্বর এবং আট স্বেচ্ছাসেবকদের আমরা শেষ সময় ছিল. 422 00:19:33,260 --> 00:19:35,718 এবং মার্জ করুন যে প্রথম জিনিস বাছাই করতে আমাদের কি ছিল বলেন? 423 00:19:35,718 --> 00:19:37,010 424 00:19:37,010 --> 00:19:38,010 শ্রোতা: দুই ভাগ. 425 00:19:38,010 --> 00:19:38,663 বক্তা 1: আবার বলুন? 426 00:19:38,663 --> 00:19:39,650 শ্রোতা: দুই ভাগ. 427 00:19:39,650 --> 00:19:40,610 বক্তা 1: দুই ভাগ, অধিকার. 428 00:19:40,610 --> 00:19:42,818 এই খুব স্মরণ করিয়ে দেয় বিভক্ত ফোন বই, 429 00:19:42,818 --> 00:19:44,220 এবং আরো সাধারণভাবে জয় করা. 430 00:19:44,220 --> 00:19:45,640 তাই আমরা বাম অর্ধেক দিকে তাকিয়ে. 431 00:19:45,640 --> 00:19:48,700 এবং আমরা সাজানোর বলেন, তারপর একবার উপাদানের বাম অর্ধেক, 432 00:19:48,700 --> 00:19:49,690 আমরা পরবর্তী কি বলতে? 433 00:19:49,690 --> 00:19:51,210 434 00:19:51,210 --> 00:19:54,860 বাম বাম অর্ধেক বাছাই অর্ধেক, যা, আমাদের জন্য অনুমোদিত 435 00:19:54,860 --> 00:19:57,570 দুই বিভাজক পরে, চার এবং দুই ফোকাস. 436 00:19:57,570 --> 00:20:01,280 >> কিভাবে আপনি, এখন একটি তালিকা বাছাই না হলুদ, বাছাই মার্জ ব্যবহার করে আকার দুই, এর? 437 00:20:01,280 --> 00:20:02,330 438 00:20:02,330 --> 00:20:04,580 ভাল অর্ধেক এটি বিভক্ত করা, এবং বাম অর্ধেক বাছাই. 439 00:20:04,580 --> 00:20:07,100 এবং এই জিনিষ যেখানে ছিল একটু মূঢ় সংক্ষেপে পেয়েছিলাম. 440 00:20:07,100 --> 00:20:10,720 আপনি যে একটি তালিকা বাছাই করবেন আকার এক, এখানে এই চার নম্বর মত? 441 00:20:10,720 --> 00:20:12,330 442 00:20:12,330 --> 00:20:13,210 এটা সাজানো. 443 00:20:13,210 --> 00:20:14,200 আপনি সম্পন্ন করেছেন. 444 00:20:14,200 --> 00:20:17,300 >> কিন্তু তারপর কিভাবে আপনি একটি তালিকা বাছাই না আকার দুই নম্বর যখন এক? 445 00:20:17,300 --> 00:20:21,640 ওয়েল,, কিন্তু এখন কি একই জিনিস ছিল তৃতীয় এবং একত্রীকরণ সাজানোর কী পদক্ষেপ? 446 00:20:21,640 --> 00:20:24,020 আপনি বাম একত্রীকরণ ছিল এবং ডান অর্ধেক অর্ধেক. 447 00:20:24,020 --> 00:20:26,580 আমরা যে একবার, আমরা তাকিয়ে চার, আমরা দুই দিকে তাকিয়ে. 448 00:20:26,580 --> 00:20:28,750 আমরা সব ঠিক সিদ্ধান্ত নিয়েছে সম্ভবত দুই, প্রথম আসে 449 00:20:28,750 --> 00:20:31,840 তাই আমরা দুটি করা তার চার দ্বারা অনুসরণ জায়গা,. 450 00:20:31,840 --> 00:20:35,010 এবং এখন আপনি ধরনের গুটিয়ে আছে, এবং এই চরিত্রগত সাজানোর 451 00:20:35,010 --> 00:20:37,570 মার্জ মত একটি অ্যালগরিদম সাজান, মেমরি গুটিয়ে. 452 00:20:37,570 --> 00:20:40,240 গল্পের পরের লাইন কি ছিল? 453 00:20:40,240 --> 00:20:41,780 আমি পরের কি উপর মনোযোগ নিবদ্ধ করা উচিত? 454 00:20:41,780 --> 00:20:43,110 455 00:20:43,110 --> 00:20:47,350 বাম ডান অর্ধেক ছয় ও আট কোনটি অর্ধেক,. 456 00:20:47,350 --> 00:20:50,320 >> তাই আমাকে শুধু এই মাধ্যমে পইঠা দিন খুব বিন্দু belaboring ছাড়া. 457 00:20:50,320 --> 00:20:53,330 ছয় ও আট, তারপর ছয় সাজানো, আট অনুসারে সাজানো হয়. 458 00:20:53,330 --> 00:20:57,190 যে মত তাদের একসঙ্গে মার্জ, এবং এখন পরবর্তী বড় পদক্ষেপ 459 00:20:57,190 --> 00:21:00,990 , অবশ্যই, থেকে ডান অর্ধেক বাছাই করা হয় এই অ্যালগরিদম এর প্রথম ধাপ. 460 00:21:00,990 --> 00:21:02,870 তাই আমরা এক, তিন, সাত, পাঁচ ফোকাস. 461 00:21:02,870 --> 00:21:04,540 আমরা তখন বাম অর্ধেক উপর ফোকাস. 462 00:21:04,540 --> 00:21:09,400 যে বাম অর্ধেক, ডান অর্ধেক যে, এবং তারপর এক এবং তিনটি একত্রীকরণ. 463 00:21:09,400 --> 00:21:13,100 তারপর ডান অর্ধেক, তারপর অর্ধেক বাকি এটা, তারপর এটা ঠিক অর্ধেক. 464 00:21:13,100 --> 00:21:15,985 পদক্ষেপ কি থাকবে এখন এটা মার্জ, এবং? 465 00:21:15,985 --> 00:21:18,040 466 00:21:18,040 --> 00:21:22,460 বড় বাম অর্ধেক এবং বড় মার্জ ডান অর্ধেক, তাই এক, সেখানে যায় নিচে 467 00:21:22,460 --> 00:21:27,330 তারপর তারপর তারপর তারপর দুই, তিন, চার, পাঁচ, ছয়, তারপর সাত, তারপর আট. 468 00:21:27,330 --> 00:21:31,990 >> তাই এখন কেন শেষ পর্যন্ত এই প্রকাশক হয়, বিশেষ করে যদি n এবং logarithms, আরো 469 00:21:31,990 --> 00:21:35,487 সাধারণত বরং, আপনি অব্যাহতি অন্তত সাম্প্রতিক মেমরির মধ্যে? 470 00:21:35,487 --> 00:21:37,070 ওয়েল, এই জিনিস উচ্চতা বিজ্ঞপ্তি. 471 00:21:37,070 --> 00:21:41,230 আমরা আট উপাদান ছিল, এবং আমরা দুই, দুই, দুই দ্বারা বিভক্ত. 472 00:21:41,230 --> 00:21:44,590 তাই বেস লগ ইন আট দুটি আমাদের তিনটি দেয়. 473 00:21:44,590 --> 00:21:45,640 474 00:21:45,640 --> 00:21:48,540 এবং যে সম্পর্কে বিশ্বাস যদি যে একটু অস্পষ্ট. 475 00:21:48,540 --> 00:21:54,710 কিন্তু, আট দুটি তিনটি বেস লগ ইন তাই আমরা মার্জ তিনটি স্তর সম্পন্ন করেছি. 476 00:21:54,710 --> 00:21:57,170 এবং আমরা মিশে গিয়ে যখন উপাদান, কিভাবে অনেক উপাদান 477 00:21:57,170 --> 00:21:58,950 আমরা যারা সারি প্রতিটি তাকান না? 478 00:21:58,950 --> 00:22:00,212 479 00:22:00,212 --> 00:22:01,437 N এর একটি মোট, ডান? 480 00:22:01,437 --> 00:22:04,020 শীর্ষ সারি একত্রীকরণ কারণ, আমরা খণ্ডে খণ্ডে তা যদিও, 481 00:22:04,020 --> 00:22:05,990 আমরা শেষ পর্যন্ত একবার প্রতি সংখ্যা ছোঁয়া. 482 00:22:05,990 --> 00:22:09,054 এবং দ্বিতীয় সারিতে, থেকে আকার দুই যারা তালিকা একত্রীকরণ, 483 00:22:09,054 --> 00:22:10,470 আমরা একবার প্রতিটি উপাদান স্পর্শ ছিল. 484 00:22:10,470 --> 00:22:12,690 এবং তারপর এখানে সত্যিই পরিষ্কারভাবে শেষ সারিতে, 485 00:22:12,690 --> 00:22:15,430 আমরা যারা প্রতিটি স্পর্শ ছিল একবার, কিন্তু শুধুমাত্র একবার উপাদান, 486 00:22:15,430 --> 00:22:18,400 তাই এখানে আমাদের এন লগ n, তারপর, এই ব্যবস্থার সবচেয়ে গুরত্বপূর্ণ. 487 00:22:18,400 --> 00:22:21,780 >> এবং এখন শুধু জিনিষ একটু করতে শুধু একটা মুহূর্ত জন্য আনুষ্ঠানিক আরো কি, আপনি যদি 488 00:22:21,780 --> 00:22:24,260 এখন এই বিশ্লেষণ ছিল উচ্চ স্তরের কেমন এ 489 00:22:24,260 --> 00:22:28,340 এবং কিভাবে ভাল, সিদ্ধান্ত নিতে চেষ্টা আপনি প্রকাশ সম্পর্কে যেতে পারে 490 00:22:28,340 --> 00:22:31,780 এই অ্যালগরিদম চলমান সময় এটা এ এবং খুঁজছেন দ্বারা 491 00:22:31,780 --> 00:22:33,590 একটি কল্পিত উদাহরণ ব্যবহার করে? 492 00:22:33,590 --> 00:22:36,590 ওয়েল, কিভাবে অনেক সময় আপনি একটি বলতে হবে হলুদ এই নিতে হবে ভালো ধাপে, 493 00:22:36,590 --> 00:22:37,173 এন <2 বিনিময়ে যদি? 494 00:22:37,173 --> 00:22:38,840 495 00:22:38,840 --> 00:22:39,830 এটা কি একটি বড় হে? 496 00:22:39,830 --> 00:22:41,450 497 00:22:41,450 --> 00:22:44,540 তাই আমি এক, তাই এক ধাপ এইজন্য করছি হয়তো দুই ধাপ এটা যদি কারণ 498 00:22:44,540 --> 00:22:47,110 এবং তারপর ফিরে, কিন্তু এটা ধ্রুব সময়, ডান? 499 00:22:47,110 --> 00:22:49,960 তাই আমরা আউটপুট (1), এবং যে বলেন আমি এই প্রকাশ করব কিভাবে. 500 00:22:49,960 --> 00:22:51,480 টি, ঠিক সময় চলমান হবে. 501 00:22:51,480 --> 00:22:54,150 এন, ইনপুট আকার তাই টি (ঢ), শুধু একটি অভিনব উপায় 502 00:22:54,150 --> 00:22:56,330 চলমান বলছে আকার n সময় দেওয়া ইনপুট 503 00:22:56,330 --> 00:23:00,220 আদেশ হতে যাচ্ছে ধ্রুব সময়, হে (1). 504 00:23:00,220 --> 00:23:01,970 >> কিন্তু নিয়োগ, এই সম্পর্কে কি? 505 00:23:01,970 --> 00:23:05,660 আপনি প্রকাশ হবে এই হলুদ লাইন চলমান সময়? 506 00:23:05,660 --> 00:23:06,250 কি টি? 507 00:23:06,250 --> 00:23:09,440 508 00:23:09,440 --> 00:23:12,665 আপনি এখানে কোন ধরনের প্রতারণা করতে পারেন এবং cyclically আমার প্রশ্নের উত্তর দিতে. 509 00:23:12,665 --> 00:23:14,770 510 00:23:14,770 --> 00:23:17,900 তাই চলমান সময় যদি আমরা শুধু বলে সাধারণ টি (n). 511 00:23:17,900 --> 00:23:18,950 512 00:23:18,950 --> 00:23:22,490 এবং এখন আপনি এখানে কোন ধরনের punting করছি এবং , ভাল, শুধু বাম অর্ধেক বাছাই বলছে, 513 00:23:22,490 --> 00:23:23,920 এবং তারপর ডান অর্ধেক বাছাই. 514 00:23:23,920 --> 00:23:27,520 আমরা প্রতীকী উপস্থাপন করা হতে পারে কিভাবে এই হলুদ লাইন চলমান সময়? 515 00:23:27,520 --> 00:23:28,020 কি টি? 516 00:23:28,020 --> 00:23:29,360 ইনপুট আকার কি? 517 00:23:29,360 --> 00:23:30,510 518 00:23:30,510 --> 00:23:31,057 দুই এন. 519 00:23:31,057 --> 00:23:32,140 কেন আমি যে না বলে? 520 00:23:32,140 --> 00:23:36,449 এবং তারপর এই অন্য টি (n / 2) এবং তারপর আবার, আমি দুই সাজানো আংশিক একত্রীকরণ যদি, 521 00:23:36,449 --> 00:23:38,615 কিভাবে অনেক উপাদান আমি যাচ্ছি মোট স্পর্শ আছে? 522 00:23:38,615 --> 00:23:39,780 523 00:23:39,780 --> 00:23:40,320 এন. 524 00:23:40,320 --> 00:23:42,790 তাই আমি এই প্রকাশ করতে পারেন শুধু ধরনের অভিনব হতে হবে 525 00:23:42,790 --> 00:23:44,430 সাধারণ চলমান সময়. 526 00:23:44,430 --> 00:23:51,140 টি (ঢ), টি (ঢ / 2) শুধু চলমান সময় প্লাস টি (ঢ / 2), এবং ডান অর্ধেক অর্ধেক বাকি 527 00:23:51,140 --> 00:23:55,360 প্লাস সম্ভবত n ধাপ, যা হে (ঢ),, কিন্তু হয়তো, আমি দুই আঙ্গুলের ব্যবহার করে করছি, 528 00:23:55,360 --> 00:23:57,960 এটা অনেক দুবার হিসাবে পদক্ষেপ, কিন্তু এটি রৈখিক না. 529 00:23:57,960 --> 00:24:00,440 এটা ধাপ কিছু নম্বর যে, n এর একটি ফ্যাক্টর 530 00:24:00,440 --> 00:24:02,270 তাই আমরা এই হিসাবে এই প্রকাশ হতে পারে. 531 00:24:02,270 --> 00:24:05,550 এবং এই আমরা পান্ট যেখানে এখন হয় আমাদের উচ্চ বিদ্যালয় গণিত পাঠ্যপুস্তক 532 00:24:05,550 --> 00:24:10,290 আমরা শেষ পর্যন্ত পুনরাবৃত্তি যে আছেন শেষ পর্যন্ত, এই equaling, এন এন বার লগ ইন 533 00:24:10,290 --> 00:24:12,530 আপনি আসলে আউট না গণিত আরো আনুষ্ঠানিকভাবে. 534 00:24:12,530 --> 00:24:13,950 >> সুতরাং যে মাত্র দুই দৃষ্টিভঙ্গির জন্য. 535 00:24:13,950 --> 00:24:17,500 একটি সঙ্গে এক সংখ্যাসূচকভাবে প্রতিনিধি হার্ড কোডেড 536 00:24:17,500 --> 00:24:21,140 আট নম্বর, এবং আরো একটি ব্যবহার করে আমরা সেখানে পেয়েছিলাম কিভাবে সাধারণ চেহারা. 537 00:24:21,140 --> 00:24:25,670 কিন্তু কি এখানে সত্যিই আকর্ষণীয় আবার, সাইক্লিং এই ধারণা. 538 00:24:25,670 --> 00:24:26,900 আমি loops জন্য ব্যবহার করে না. 539 00:24:26,900 --> 00:24:29,860 আমি ধরনের সংজ্ঞা করছি নিজেই পদ কিছু, 540 00:24:29,860 --> 00:24:31,950 না শুধুমাত্র এই সঙ্গে গাণিতিক ফাংশন, 541 00:24:31,950 --> 00:24:34,860 কিন্তু এই ছদ্ম কোড পদ. 542 00:24:34,860 --> 00:24:38,260 এই ছদ্ম কোড হয় recursive তার লাইন যে দুটি 543 00:24:38,260 --> 00:24:42,310 মূলত এটি বলছে যেতে একটি ছোট সমাধান নিজেই ব্যবহার 544 00:24:42,310 --> 00:24:45,400 ছোট আকারের সমস্যা, এবং তারপর আবার এবং আবার 545 00:24:45,400 --> 00:24:48,820 এবং আবার পর্যন্ত আমরা ছুরিবিশেষ এটা এই তথাকথিত বেস কেস নিচে. 546 00:24:48,820 --> 00:24:52,810 >> সুতরাং এর আসলে একটি আরো আকর্ষক আঁকা নিতে দূরে থেকে হিসাবে অনুসরণ করে. 547 00:24:52,810 --> 00:24:58,420 আমার জন্য gedit মধ্যে যান এবং একটি নিতে আজ এর সোর্স কোড কিছু তাকান, 548 00:24:58,420 --> 00:24:59,930 এই যেমন এখানে বিশেষ করে. 549 00:24:59,930 --> 00:25:03,709 দৃশ্যত যা যোগ সিগমা 0, সংখ্যা এন মাধ্যমে এক. 550 00:25:03,709 --> 00:25:05,750 তাই পরিচিত দেখুন এখানে এবং অপরিচিত. 551 00:25:05,750 --> 00:25:08,690 প্রথম আমরা একটি দম্পতি আছে রয়েছে, তাই কিছুই নতুন আছে. 552 00:25:08,690 --> 00:25:09,190 প্রোটোটাইপ. 553 00:25:09,190 --> 00:25:11,370 আমি একটু অস্পষ্ট আছি এই কয়েক দিন পরে, 554 00:25:11,370 --> 00:25:13,790 কিন্তু আমরা একটি কি বলে নি একটি ফাংশন প্রোটোটাইপ? 555 00:25:13,790 --> 00:25:15,099 556 00:25:15,099 --> 00:25:16,015 শ্রোতা: [শ্রবণাতীত]. 557 00:25:16,015 --> 00:25:16,905 বক্তা 1: কি যে? 558 00:25:16,905 --> 00:25:17,800 শ্রোতা: আমরা এটা ঘোষণা করেছে. 559 00:25:17,800 --> 00:25:18,883 বক্তা 1: আমরা এটা ঘোষণা করেছে. 560 00:25:18,883 --> 00:25:22,290 তাই আপনি যদি, হেই, ঝনঝন শিক্ষাদান করা হয় আসলে এখনো এই বাস্তবায়নের না, 561 00:25:22,290 --> 00:25:25,740 কিন্তু কোথাও এই ফাইলের মধ্যে, সম্ভবতঃ, একটি ফাংশন কি বলা যেতে যাচ্ছে? 562 00:25:25,740 --> 00:25:26,930 563 00:25:26,930 --> 00:25:27,540 সিগমা. 564 00:25:27,540 --> 00:25:30,540 এবং শুধু এই একটি প্রতিশ্রুতি যে এটা এই মত চেহারা যাচ্ছে. 565 00:25:30,540 --> 00:25:33,720 এটি একটি পূর্ণসংখ্যা নিতে যাচ্ছে ইনপুট এবং আমি আরো স্পষ্ট হতে পারে 566 00:25:33,720 --> 00:25:36,570 এবং int-n এবং এটা বলতে কোন int ফিরে যাচ্ছে, 567 00:25:36,570 --> 00:25:39,900 কিন্তু সেমিকোলন মানে, মিমি, আমি কাছাকাছি পাবেন একটু পরে এই রূপায়ণকারী. 568 00:25:39,900 --> 00:25:40,989 আবার, ঝনঝন শব্দ বোবা. 569 00:25:40,989 --> 00:25:43,280 এটা শুধুমাত্র কি জানেন যাচ্ছে আপনি, উপর থেকে নিচ বলতে 570 00:25:43,280 --> 00:25:45,765 তাই আমরা অন্তত দিতে হবে এটা কি একটি ইঙ্গিতটি আসা. 571 00:25:45,765 --> 00:25:47,330 >> এখন এখানে মূল তাকান. 572 00:25:47,330 --> 00:25:50,040 এর এখানে স্ক্রল ডাউন এবং করছে প্রধান তা দেখতে. 573 00:25:50,040 --> 00:25:53,780 এটি একটি ফাংশন যে দীর্ঘ না, এবং আসলে এখানে কনস্ট্রাক্ট পরিচিত. 574 00:25:53,780 --> 00:25:57,590 আমি তখন একটি পরিবর্তনশীল n ঘোষণা, এবং আমি আবার এবং আবার ব্যবহারকারী লাগা 575 00:25:57,590 --> 00:26:01,880 GetInt ব্যবহার একটি ধনাত্মক পূর্ণসংখ্যা জন্য, এবং এই লুপ আউট শুধুমাত্র প্রস্থান 576 00:26:01,880 --> 00:26:03,280 একবার ব্যবহারকারী মেনে করেনি. 577 00:26:03,280 --> 00:26:05,670 যদিও না, আমরা ব্যবহার করেছি যে ভাবে ব্যবহারকারী লাগা. 578 00:26:05,670 --> 00:26:06,670 এখন এই আকর্ষণীয়. 579 00:26:06,670 --> 00:26:08,510 আমি কোন int নামক ঘোষণা "উত্তর." 580 00:26:08,510 --> 00:26:11,420 আমি এটা ফেরত মান নির্ধারণ করুন একটি ফাংশন বলা হয় "সিগমা". 581 00:26:11,420 --> 00:26:15,200 আমি যে এখনো আছে কি না জানি না, কিন্তু আমি একটি মুহূর্ত আগে এটি প্রকাশক মনে রাখবেন. 582 00:26:15,200 --> 00:26:18,310 এবং তারপর আমি পার করছি মান ব্যবহারকারী টাইপ, এন যে 583 00:26:18,310 --> 00:26:20,420 এবং তারপর আমি উত্তর রিপোর্ট. 584 00:26:20,420 --> 00:26:22,260 ওয়েল এর ফিরে স্ক্রল শুধু একটা মুহূর্ত জন্য. 585 00:26:22,260 --> 00:26:28,620 এর এই ডিরেক্টরির মধ্যে এগিয়ে যান, করা সিগমা 0, এবং আসলে এই প্রোগ্রাম চালানো 586 00:26:28,620 --> 00:26:30,490 এবং দেখুন সেখানে কি ঘটছে. 587 00:26:30,490 --> 00:26:35,930 আমি এগিয়ে যান এবং রান সুতরাং যদি এই প্রোগ্রাম, ./sigma-0, 588 00:26:35,930 --> 00:26:40,139 এবং আমি একটি ইতিবাচক টাইপ দুই মত পূর্ণসংখ্যা, সিগমা, 589 00:26:40,139 --> 00:26:43,180 গ্রিক প্রতীক হিসাবে বোঝা শুধু সব থেকে নম্বর যোগ করা যাচ্ছে 590 00:26:43,180 --> 00:26:44,320 দুই পর্যন্ত শূন্য. 591 00:26:44,320 --> 00:26:46,560 সুতরাং 0 প্লাস 1 প্লাস 2. 592 00:26:46,560 --> 00:26:48,830 তাই এই আশা আমার 3 দিতে হবে. 593 00:26:48,830 --> 00:26:49,750 যে এটা করছে সব. 594 00:26:49,750 --> 00:26:52,690 এবং একইভাবে, যদি আমি আবার এই রান এবং আমি এটা তিন নম্বর দিতে 595 00:26:52,690 --> 00:26:56,721 যাতে যে, 3 প্লাস 2 5, প্লাস 1 আমার 6 দিতে হবে. 596 00:26:56,721 --> 00:26:59,470 এবং আমি সত্যিই পাগল পেতে তারপর যদি বড় সংখ্যায় টাইপ করা শুরু, 597 00:26:59,470 --> 00:27:01,290 এটা আমার করা উচিত এবং বড় বড় অঙ্কের. 598 00:27:01,290 --> 00:27:02,250 সুতরাং যে সব. 599 00:27:02,250 --> 00:27:04,010 >> তাই কি সিগমা কেমন হয়েছে? 600 00:27:04,010 --> 00:27:05,430 ওয়েল, এটা বেশ সহজবোধ্য. 601 00:27:05,430 --> 00:27:08,940 এটা আমরা বাস্তবায়িত হতে পারে কিভাবে গত কয়েক সপ্তাহ ধরে এই. 602 00:27:08,940 --> 00:27:11,120 "Int-" রিটার্ন টাইপ হতে যাচ্ছে. 603 00:27:11,120 --> 00:27:14,330 সিগমা নাম, এবং এটা লাগে পরিবর্তে n এর একটি পরিবর্তনশীল মি. 604 00:27:14,330 --> 00:27:15,940 আমি উপরে যে পরিবর্তন করব. 605 00:27:15,940 --> 00:27:17,340 তারপর এই একটি মানসিক সুস্থতা চেক করা হয়. 606 00:27:17,340 --> 00:27:18,430 607 00:27:18,430 --> 00:27:19,950 আমরা একটি মুহূর্ত কেন দেখতে পাবেন. 608 00:27:19,950 --> 00:27:24,220 এখন আমি অন্য ভেরিয়েবল ডিক্লেয়ার, সমষ্টি, শূন্য এটি আরম্ভ. 609 00:27:24,220 --> 00:27:28,140 তারপর আমি লুপ জন্য এই আছে দৃশ্যত স্বচ্ছতার জন্য, iterating, 610 00:27:28,140 --> 00:27:33,810 আমি = 1 থেকে একটি = মি, যা যাই হোক না কেন ব্যবহারকারী টাইপ, এবং তারপর আমি 611 00:27:33,810 --> 00:27:35,690 ভালো সমষ্টি বাড়ায়. 612 00:27:35,690 --> 00:27:37,360 এবং তারপর সমষ্টি ফিরে. 613 00:27:37,360 --> 00:27:38,440 >> তাই প্রশ্নগুলির একটি দম্পতি. 614 00:27:38,440 --> 00:27:42,370 এক, আমি এই যে আমার মন্তব্যে দাবি একটি অসীম লুপ ঝুঁকি এড়াতে. 615 00:27:42,370 --> 00:27:45,620 কেন একটি ঋণাত্মক সংখ্যা ক্ষণস্থায়ী হবে সম্ভাব্য একটি অসীম লুপ প্রবৃত্ত? 616 00:27:45,620 --> 00:27:49,396 617 00:27:49,396 --> 00:27:51,290 >> শ্রোতা: আপনি মি পৌঁছানোর করব না. 618 00:27:51,290 --> 00:27:52,880 >> বক্তা 1: M পৌঁছাতে না. 619 00:27:52,880 --> 00:27:55,880 কিন্তু মি গৃহীত হয়, তাই এর দেওয়া হয় একটি সহজ উদাহরণ বিবেচনা. 620 00:27:55,880 --> 00:27:58,510 মি দ্বারা পাস করা হয় নেতিবাচক এক হিসাবে ব্যবহারকারী. 621 00:27:58,510 --> 00:28:00,059 নির্বিশেষে প্রধান. 622 00:28:00,059 --> 00:28:01,850 প্রধান থেকে আমাদের রক্ষা করে এই খুব, তাই আমি ঠিক করছি 623 00:28:01,850 --> 00:28:04,680 সত্যিই পোঁদ হচ্ছে সিগমা নিশ্চিত করতে 624 00:28:04,680 --> 00:28:06,540 যে ইনপুট নেতিবাচক হতে পারে না. 625 00:28:06,540 --> 00:28:10,130 মি নেতিবাচক সুতরাং, যদি নেতিবাচক মত কিছু. 626 00:28:10,130 --> 00:28:11,930 কি ঘটতে যাচ্ছে? 627 00:28:11,930 --> 00:28:14,390 ওয়েল, আমি যাচ্ছে এক সক্রিয়া পেতে, 628 00:28:14,390 --> 00:28:19,060 এবং তারপর আমি হতে যাচ্ছে কম বা মিটার সমান? 629 00:28:19,060 --> 00:28:24,130 630 00:28:24,130 --> 00:28:24,765 >> পাশে দাঁড়ানো. 631 00:28:24,765 --> 00:28:26,930 632 00:28:26,930 --> 00:28:29,370 যে, এর না was-- এর এই গল্প কিসসু না. 633 00:28:29,370 --> 00:28:32,780 আমি কারণ, যে প্রশ্ন জিজ্ঞাসা করা হয়নি আমি alluding করছি যে ঝুঁকি 634 00:28:32,780 --> 00:28:38,360 আমি কারণ ঘটতে যাচ্ছে না সবসময় বেশী than-- ঠিক হয়ে যাচ্ছে, 635 00:28:38,360 --> 00:28:39,871 আমি যে প্রশ্ন প্রত্যাহার. 636 00:28:39,871 --> 00:28:40,370 ঠিক আছে. 637 00:28:40,370 --> 00:28:42,030 এখানে শুধুমাত্র এই অংশ উপর ফোকাস করা যাক. 638 00:28:42,030 --> 00:28:44,210 639 00:28:44,210 --> 00:28:48,830 কেন আমি কিছু ঘোষণা লুপ বাইরে? 640 00:28:48,830 --> 00:28:52,010 লাইন আমি করেছি 49 নোটিশ লুপ এর ভিতরে আমি ঘোষণা, 641 00:28:52,010 --> 00:28:54,950 কিন্তু অনলাইন 48 আমি করেছি কিছু বাইরে ঘোষণা করেন. 642 00:28:54,950 --> 00:28:55,695 হ্যাঁ. 643 00:28:55,695 --> 00:28:56,611 শ্রোতা: [শ্রবণাতীত]. 644 00:28:56,611 --> 00:28:58,734 645 00:28:58,734 --> 00:28:59,400 বক্তা 1: অবশ্যই. 646 00:28:59,400 --> 00:29:03,360 তাই প্রথম এবং সর্বাগ্রে আমি অবশ্যই না ঘোষণা এবং সমষ্টি আরম্ভ করতে চান 647 00:29:03,360 --> 00:29:06,130 শূন্য ভিতরে প্রতি পুনরাবৃত্তির লুপ, 648 00:29:06,130 --> 00:29:09,370 এই পরিষ্কারভাবে সর্বনাশ হবে, কারণ নম্বর আপ summing উদ্দেশ্য. 649 00:29:09,370 --> 00:29:11,770 আমি পরিবর্তন রাখতে হবে ফিরে শূন্য মান. 650 00:29:11,770 --> 00:29:17,992 এবং এছাড়াও, কি অন্য আরো রহস্যময় করে যে একই নকশা সিদ্ধান্ত জন্য কারণ? 651 00:29:17,992 --> 00:29:18,954 হ্যাঁ. 652 00:29:18,954 --> 00:29:20,279 >> শ্রোতা: [শ্রবণাতীত]. 653 00:29:20,279 --> 00:29:21,070 বক্তা 1: ঠিক. 654 00:29:21,070 --> 00:29:24,060 আমি বাইরে এটি অ্যাক্সেস করতে চান খুব কি লাইন লুপ? 655 00:29:24,060 --> 00:29:25,390 656 00:29:25,390 --> 00:29:26,400 53. 657 00:29:26,400 --> 00:29:29,910 এবং চলতি আমাদের নিয়ম উপর ভিত্তি করে বক্তৃতা দুয়েক আগে থেকে, 658 00:29:29,910 --> 00:29:33,680 ভেরিয়েবল, সত্যিই, scoped হয় তাদের পরিবেষ্টন যে কোঁকড়া ধনুর্বন্ধনী. 659 00:29:33,680 --> 00:29:38,190 আমি ভিতরে সমষ্টি ডিক্লেয়ার না, তাই যদি এই বাইরের কোঁকড়া ধনুর্বন্ধনী, 660 00:29:38,190 --> 00:29:40,250 আমি লাইন 53 এটি ব্যবহার করতে পারবেন না. 661 00:29:40,250 --> 00:29:43,160 আমি ঘোষণা, অন্য উপায় রাখুন এখানে, অথবা এমনকি মধ্যে সমষ্টি 662 00:29:43,160 --> 00:29:45,410 লুপ জন্য, আমি 53 সালে এটি অ্যাক্সেস করতে পারে না. 663 00:29:45,410 --> 00:29:47,150 পরিবর্তনশীল কার্যকরভাবে সর্বস্বান্ত করা হবে. 664 00:29:47,150 --> 00:29:48,579 তাই সেখানে কারণে কয়েক. 665 00:29:48,579 --> 00:29:50,370 কিন্তু এখন এর ফিরে যান এবং দেখুন সেখানে কি ঘটছে. 666 00:29:50,370 --> 00:29:51,730 তাই সিগমা বলা হয়. 667 00:29:51,730 --> 00:29:55,640 এটি 1 প্লাস 2, বা 1 প্লাস 2 অ্যাডস আপ প্লাস 3, এবং তারপর, মান প্রদান করে থাকে 668 00:29:55,640 --> 00:29:59,660 উত্তর দোকানে এটি, এবং এখানে printf, আমি পর্দায় দেখছি না কেন. 669 00:29:59,660 --> 00:30:03,079 তাই এই আমরা একটি পুনরাবৃত্ত ডাকবো কি পদ্ধতি, যেখানে পুনরাবৃত্তির মাত্র 670 00:30:03,079 --> 00:30:03,870 একটি লুপ ব্যবহার করে মানে. 671 00:30:03,870 --> 00:30:06,900 লুপ, যখন একটি লুপ, একটি যখন জন্য একটি লুপ, আবার কিছু কাজ 672 00:30:06,900 --> 00:30:08,380 এবং আবার এবং আবার. 673 00:30:08,380 --> 00:30:13,505 >> কিন্তু সিগমা একটি ঝরঝরে ফাংশন ধরনের আমি ভিন্নভাবে এটা বাস্তবায়ন করতে পারে যে. 674 00:30:13,505 --> 00:30:14,620 675 00:30:14,620 --> 00:30:19,120 এই সম্পর্কে কি, যা শুধু শীতল ধরনের হতে 676 00:30:19,120 --> 00:30:21,880 আমাকে সত্যিই পরিত্রাণ পেতে ক্ষোভ অনেক 677 00:30:21,880 --> 00:30:24,380 এই ফাংশন কারণ সত্যিই বেশ সহজ. 678 00:30:24,380 --> 00:30:27,780 চলুন শুরু করা যাক ছুরিবিশেষ এটা নিচে তার চার কোর লাইন 679 00:30:27,780 --> 00:30:30,410 এবং পরিত্রাণ পেতে সব মন্তব্য এবং কোঁকড়া ধনুর্বন্ধনী. 680 00:30:30,410 --> 00:30:34,334 এই একটি মন ফুঁ ধরনের বিকল্প বাস্তবায়ন. 681 00:30:34,334 --> 00:30:37,250 সমস্ত অধিকার, হয়তো মন, ফুঁ না, কিন্তু এটা sexier নেই, সব ঠিক ধরনের, এর 682 00:30:37,250 --> 00:30:39,920 এত আরো succinctly এই তাকান. 683 00:30:39,920 --> 00:30:43,120 কোড মাত্র চার লাইন, আমি প্রথম এই বৈধতা পরীক্ষা আছে. 684 00:30:43,120 --> 00:30:45,732 মি কম বা সমান হয়, তাহলে শূন্য, সিগমা কোন অর্থে তোলে. 685 00:30:45,732 --> 00:30:48,190 এটা শুধুমাত্র হতে অনুমিত এর ইতিবাচক সংখ্যার জন্য এই ক্ষেত্রে, 686 00:30:48,190 --> 00:30:50,340 তাই আমি ঠিক করছি যাচ্ছে ইচ্ছামত শূন্য ফিরে 687 00:30:50,340 --> 00:30:53,210 আমরা অন্তত আছে তাই কিছু বেস ক্ষেত্রে তথাকথিত. 688 00:30:53,210 --> 00:30:54,430 >> কিন্তু এখানে সৌন্দর্য. 689 00:30:54,430 --> 00:30:59,930 যোগ এই ধারণা সম্পূর্ণতা, এন 1 থেকে নম্বর, বা এই ক্ষেত্রে মি, 690 00:30:59,930 --> 00:31:02,630 ছাগ ক্ষণস্থায়ী ধরনের কাজ করা যেতে পারে. 691 00:31:02,630 --> 00:31:04,947 ওয়েল, মি 1 এর সমষ্টি কি? 692 00:31:04,947 --> 00:31:05,780 হ্যাঁ, আপনি কি জানেন? 693 00:31:05,780 --> 00:31:11,949 এটা মি এর সমষ্টি হিসাবে একই প্লাস মি বিয়োগ 1 1 এর সমষ্টি. 694 00:31:11,949 --> 00:31:12,740 আচ্ছা আপনি কি জানেন? 695 00:31:12,740 --> 00:31:13,940 মি বিয়োগ 1 সিগমা কি? 696 00:31:13,940 --> 00:31:17,860 ওয়েল, যদি আপনি এই ধরনের অনুসরণ যুক্তি, এটা মি বিয়োগ 1 হিসাবে একই 697 00:31:17,860 --> 00:31:21,415 প্লাস মি বিয়োগ 2 সিগমা. 698 00:31:21,415 --> 00:31:22,480 699 00:31:22,480 --> 00:31:26,012 তাই আপনি যদি ধরনের না শুধু করতে পারেন আপনি শুধু যদি এই মত, 700 00:31:26,012 --> 00:31:28,220 একটি বন্ধু বিরক্ত করার চেষ্টা এবং তারা আপনাকে একটি প্রশ্ন জিজ্ঞাসা করুন, 701 00:31:28,220 --> 00:31:31,344 আপনি ধরনের একটি প্রশ্ন প্রতিক্রিয়া আপনি ধরনের হরিণ ক্ষণস্থায়ী রাখতে পারেন. 702 00:31:31,344 --> 00:31:34,560 কিন্তু কি কি আপনি রাখা হয় প্রশ্ন ছোট ছোট এবং উপার্জন 703 00:31:34,560 --> 00:31:36,910 এবং ছোট, আপনি আছেন সিগমা কি জিজ্ঞাসা না 704 00:31:36,910 --> 00:31:39,116 n এর, সিগমা কি এন, এন এর সিগমা কি? 705 00:31:39,116 --> 00:31:40,990 আপনি কি বলছি n এর সিগমা, কি সিগমা এর 706 00:31:40,990 --> 00:31:42,839 এন 1 বিয়োগ, এন বিয়োগ 2 সিগমা কি? 707 00:31:42,839 --> 00:31:44,880 অবশেষে আপনার প্রশ্ন কি হয়ে যাচ্ছে? 708 00:31:44,880 --> 00:31:50,250 এক বা সিগমা কি শূন্য, কিছু খুব ছোট মান, 709 00:31:50,250 --> 00:31:52,220 এবং যত তাড়াতাড়ি আপনি , যে, আপনার বন্ধু পেতে 710 00:31:52,220 --> 00:31:54,350 আপনি জিজ্ঞাসা করতে যাচ্ছে না আবার একই প্রশ্ন, 711 00:31:54,350 --> 00:31:55,975 আপনি শুধু উহু এটা শূন্য, বলে যাচ্ছেন. 712 00:31:55,975 --> 00:31:58,490 আমরা এই ধরণের খেলার সম্পন্ন মূঢ় চক্রাকার খেলা. 713 00:31:58,490 --> 00:32:02,950 >> তাই হার্ড প্রোগ্রামিং আইন একটি ফাংশন নিজেই কলিং. 714 00:32:02,950 --> 00:32:06,630 কম্পাইল এবং রান যখন এই প্রোগ্রাম,, হয় ঠিক একই ভাবে আচরণ করে যাচ্ছে, 715 00:32:06,630 --> 00:32:09,620 কিন্তু কি কি যে ভিতরে হয় সিগমা নামক একটি ফাংশন, 716 00:32:09,620 --> 00:32:13,150 কোড যাহাতে একটি লাইন আছে আমরা নিজেদেরকে আহ্বান করছি 717 00:32:13,150 --> 00:32:14,980 যা সাধারণত খারাপ হবে. 718 00:32:14,980 --> 00:32:21,160 উদাহরণস্বরূপ, কি প্রথম আমি যদি এই কম্পাইল, তাই sigma-- করা 719 00:32:21,160 --> 00:32:22,710 সিগমা 1 ./sigma-1 করা. 720 00:32:22,710 --> 00:32:25,050 721 00:32:25,050 --> 00:32:27,690 ধনাত্মক পূর্ণসংখ্যা, দয়া করে, 50 1275. 722 00:32:27,690 --> 00:32:30,810 তাই কি ফাংশন বলে মনে হয় সঠিক এক পরীক্ষা, উপর ভিত্তি করে, হতে হবে. 723 00:32:30,810 --> 00:32:34,917 কিন্তু আমি একটু বিপজ্জনক কি পেতে হলে এবং তথাকথিত বেস কেস মুছে দিন, 724 00:32:34,917 --> 00:32:37,750 এবং শুধু ভাল আমি তৈরি করছি, বলে তুলনায় এটা এই জটিল. 725 00:32:37,750 --> 00:32:42,450 এর ঠিক সিগমা গণনা করা যাক মি গ্রহণ এবং তারপর যোগ করে 726 00:32:42,450 --> 00:32:44,564 মি বিয়োগ এক সিগমা মধ্যে? 727 00:32:44,564 --> 00:32:45,980 ভাল, কি এখানে ঘটতে যাচ্ছে? 728 00:32:45,980 --> 00:32:47,140 এর জুম আউট. 729 00:32:47,140 --> 00:32:52,920 এর প্রোগ্রাম কম্পাইল করা যাক, , এটি সংরক্ষণ করুন কম্পাইল, 730 00:32:52,920 --> 00:33:00,450 এবং তারপর প্রস্তুত ./sigma-1, zooming মধ্যে 50 ইতিবাচক পূর্ণসংখ্যা দয়া করে লিখুন. 731 00:33:00,450 --> 00:33:02,180 732 00:33:02,180 --> 00:33:04,430 কিভাবে আপনি অনেক ইচ্ছুক এইজন্য যে পর্যন্ত fess কিভাবে? 733 00:33:04,430 --> 00:33:04,950 >> ঠিক আছে. 734 00:33:04,950 --> 00:33:06,690 তাই এই ঘটতে পারে কারণের একটি সংখ্যা, 735 00:33:06,690 --> 00:33:09,148 এবং উন্মুক্তভাবে এই সপ্তাহে আমরা আপনি যদি তাদের মধ্যে আরো দিতে সম্পর্কে. 736 00:33:09,148 --> 00:33:11,780 কিন্তু এই ক্ষেত্রে, চেষ্টা পিছন দিকে কারণ 737 00:33:11,780 --> 00:33:14,430 এখানে কি ঘটেছে? 738 00:33:14,430 --> 00:33:17,400 সেগমেন্টেশন ফল্ট, আমরা গত বলেন, সময়, মেমরি একটি সেগমেন্ট বোঝায়. 739 00:33:17,400 --> 00:33:18,690 কিছু খারাপ ঘটেছে. 740 00:33:18,690 --> 00:33:21,550 কিন্তু এটা কি ছিল যান্ত্রিকভাবে টেরা গিয়েছিলাম যে 741 00:33:21,550 --> 00:33:25,000 কারণ এখানে আমার অপসারণ যে তথাকথিত বেস ক্ষেত্রে, 742 00:33:25,000 --> 00:33:26,870 যেখানে আমি একটি হার্ড কোডেড মান ফিরে? 743 00:33:26,870 --> 00:33:28,970 744 00:33:28,970 --> 00:33:30,460 আপনি কি ভুল মনে করেন? 745 00:33:30,460 --> 00:33:31,219 হ্যাঁ. 746 00:33:31,219 --> 00:33:32,135 >> শ্রোতা: [শ্রবণাতীত]. 747 00:33:32,135 --> 00:33:36,387 748 00:33:36,387 --> 00:33:36,970 বক্তা 1: আহ. 749 00:33:36,970 --> 00:33:37,550 ভাল প্রশ্ন. 750 00:33:37,550 --> 00:33:39,508 সংখ্যা মাপ তাই আমি summing ছিল 751 00:33:39,508 --> 00:33:41,920 এটা ছাড়িয়ে গেছে, তাই বড় যে পেয়েছিলাম মেমরি স্পেস মাপ. 752 00:33:41,920 --> 00:33:44,640 ভাল, কিন্তু না মৌলিকভাবে একটি ক্র্যাশ হতে যাচ্ছে. 753 00:33:44,640 --> 00:33:48,230 যে পূর্ণসংখ্যা ওভারফ্লো কারণ হতে পারে, বিট ঠিক উপর টুসকি যেখানে 754 00:33:48,230 --> 00:33:51,760 এবং তারপর আমরা সত্যিই একটি বড় ভুল একটি ঋণাত্মক সংখ্যা মত নম্বর, 755 00:33:51,760 --> 00:33:53,260 কিন্তু নিজেই একটি ক্র্যাশ হতে হবে না. 756 00:33:53,260 --> 00:33:55,509 কারণ শেষে দিন কোন int এখনও 32 বিট. 757 00:33:55,509 --> 00:33:57,640 আপনি যাচ্ছেন না ঘটনাক্রমে একটি 33 তম বিট চুরি করা. 758 00:33:57,640 --> 00:33:58,431 কিন্তু একটি ভাল চিন্তা. 759 00:33:58,431 --> 00:33:58,984 হ্যাঁ. 760 00:33:58,984 --> 00:33:59,900 >> শ্রোতা: [শ্রবণাতীত]. 761 00:33:59,900 --> 00:34:00,551 762 00:34:00,551 --> 00:34:02,300 বক্তা 1: পদ্ধতি না স্টপ চলমান, 763 00:34:02,300 --> 00:34:06,658 এবং প্রকৃতপক্ষে এটা আবার নিজেই কল এবং আবার এবং আবার এবং আবার 764 00:34:06,658 --> 00:34:08,449 এবং আবার, এবং কেউ কখনও যারা ফাংশন 765 00:34:08,449 --> 00:34:13,310 তাদের একমাত্র লাইন কারণ শেষ কোড আবার এবং আবার নিজেদেরকে আহ্বান 766 00:34:13,310 --> 00:34:14,219 এবং আবার. 767 00:34:14,219 --> 00:34:16,080 এবং সত্যিই কি আমরা এখানে কী ঘটছে, এবং এখন 768 00:34:16,080 --> 00:34:18,100 ধরনের pictorially এই আহরণ করতে পারে. 769 00:34:18,100 --> 00:34:20,899 আমাকে একটি নিয়ে যান শুধু একটা মুহূর্ত জন্য ছবি. 770 00:34:20,899 --> 00:34:22,940 এই যে, একটি ছবি অবশেষে আউট প্রাণিবর্গ হবে 771 00:34:22,940 --> 00:34:26,336 আরো বিস্তারিতভাবে, কি ঘটছে এর আপনার কম্পিউটার এর মেমরি ভিতরে. 772 00:34:26,336 --> 00:34:28,460 এবং এটা যে সক্রিয় আউট এই ছবি নীচে 773 00:34:28,460 --> 00:34:29,709 স্ট্যাকের কিছু বলা হয়. 774 00:34:29,709 --> 00:34:31,920 এই একটি খণ্ড মেমরি, উপস্থিত RAM একটি খণ্ড, 775 00:34:31,920 --> 00:34:33,920 যে ঠিক কোন সময় ব্যবহার করা হচ্ছে একটি ফাংশন বলা হয়. 776 00:34:33,920 --> 00:34:36,239 কোন সময় আপনি একটি প্রোগ্রামার, একটি ফাংশন কল, 777 00:34:36,239 --> 00:34:38,860 অপারেটিং সিস্টেম, মত ম্যাক অপারেটিং সিস্টেম, উইন্ডোজ, লিনাক্স বা, 778 00:34:38,860 --> 00:34:41,920 grabs বাইটের একটি গুচ্ছ, হয়ত একটি কয়েক কিলোবাইট, হয়তো কয়েক মেগাবাইটের 779 00:34:41,920 --> 00:34:44,590 মেমরি, তাদের হাতে আপনি, এবং তারপর দেয় 780 00:34:44,590 --> 00:34:47,650 আপনি ব্যবহার করে আপনার ফাংশন চালানো যাই হোক না কেন ভেরিয়েবল আপনি প্রয়োজন. 781 00:34:47,650 --> 00:34:50,699 এবং তারপর আপনি অন্য কল ফাংশন এবং অন্য ফাংশন, 782 00:34:50,699 --> 00:34:53,590 আপনি মেমরি অন্য ফালি পেতে এবং মেমরি অন্য ছে. 783 00:34:53,590 --> 00:34:57,090 >> এবং প্রকৃতপক্ষে, এই সবুজ ট্রে যদি Annenberg এ থেকে যে, মেমরি প্রতিনিধিত্ব 784 00:34:57,090 --> 00:34:59,870 এখানে প্রথম কি সময় আপনি ফাংশন সিগমা কল. 785 00:34:59,870 --> 00:35:04,510 এটা ভালো একটি ট্রে স্থাপন মত প্রথমে একটি খালি স্ট্যাকের কি. 786 00:35:04,510 --> 00:35:07,142 কিন্তু তারপর যে ট্রে তাই কথা বলতে, নিজেই কল, 787 00:35:07,142 --> 00:35:08,850 অন্য উদাহরণস্বরূপ আহ্বান সিগমা এর, যে 788 00:35:08,850 --> 00:35:11,640 অপারেটিং সিস্টেম জিজ্ঞাসা মত, উত্তেজনা,, একটি সামান্য আরো মেমরি প্রয়োজন 789 00:35:11,640 --> 00:35:12,520 আমাকে যে দিতে. 790 00:35:12,520 --> 00:35:14,840 এবং তারপর এটি উপরে স্তূপাকৃত হয়. 791 00:35:14,840 --> 00:35:18,030 কিন্তু কি এখানে কী যে হয় প্রথম ট্রে, এখনও আছে 792 00:35:18,030 --> 00:35:20,620 তিনি এই দ্বিতীয় ট্রে প্রার্থনা কারণ. 793 00:35:20,620 --> 00:35:23,500 এখন এদিকে, সিগমা সিগমা কল, যে আরো মেমরি জন্য জিজ্ঞাসা মত. 794 00:35:23,500 --> 00:35:25,830 এখানে উপর রাশীকৃত পায়. 795 00:35:25,830 --> 00:35:29,350 সিগমা যে অন্য, সিগমা কল এখানে উপর রাশীকৃত পরার ট্রে. 796 00:35:29,350 --> 00:35:32,942 এবং যদি আপনি এই কাজ রাখা যদি, অবশেষে, এই ধরনের চাক্ষুষ ম্যাপ 797 00:35:32,942 --> 00:35:35,525 যে চার্ট, কি যাচ্ছে ট্রে এর স্ট্যাকের সঙ্গে ঘটতে? 798 00:35:35,525 --> 00:35:37,480 799 00:35:37,480 --> 00:35:41,160 এটা পরিমাণ অতিক্রম করতে যাচ্ছে মেমরি আপনার কম্পিউটার আছে. 800 00:35:41,160 --> 00:35:45,790 এবং যত তাড়াতাড়ি এই সবুজ ট্রে হিসাবে অনুভূমিক রেখা অতিক্রম 801 00:35:45,790 --> 00:35:49,410 স্ট্যাকের উপরে এবং যে শব্দ গাদা উপরে, যা আমরা ভবিষ্যতে ফিরে আসবো, 802 00:35:49,410 --> 00:35:50,410 যে একটি খারাপ জিনিস. 803 00:35:50,410 --> 00:35:52,810 গাদা একটি ভিন্ন মেমরি সেগমেন্ট, 804 00:35:52,810 --> 00:35:55,190 এবং আপনি এই দিন যদি ট্রে গাদা এবং গাদা, উপর 805 00:35:55,190 --> 00:35:57,800 আপনি অতিক্রম করতে যাচ্ছেন মেমরি আপনার নিজের সেগমেন্ট, 806 00:35:57,800 --> 00:36:00,420 এবং একটি প্রোগ্রাম প্রকৃতপক্ষে বিপর্যস্ত যাচ্ছে. 807 00:36:00,420 --> 00:36:02,930 >> এখন একটি সরাইয়া, এই ধারণা হিসাবে ইনস্টলেশনের মধ্যে, অতএব, 808 00:36:02,930 --> 00:36:06,500 পরিষ্কারভাবে, সমস্যা হতে পারে কিন্তু এটি একটি খারাপ জিনিস অগত্যা না. 809 00:36:06,500 --> 00:36:08,840 বিবেচনা করুন, কারণ পরে সব how-- এবং হয়ত 810 00:36:08,840 --> 00:36:11,700 এই সময় লাগে কিছু ব্যবহার --how মার্জিত বা কিভাবে সহজ 811 00:36:11,700 --> 00:36:14,890 সিগমা যে বাস্তবায়ন ছিল. 812 00:36:14,890 --> 00:36:17,440 এবং আমরা ব্যবহার করছি যাচ্ছে না CS50 মধ্যে সব যে অনেক ইনস্টলেশনের, 813 00:36:17,440 --> 00:36:20,780 কিন্তু CS51 মধ্যে, এবং সত্যিই কোনো শ্রেণী আপনি ডাটা স্ট্রাকচার নিপূণভাবে যেখানে 814 00:36:20,780 --> 00:36:23,640 গাছ, বা পরিবার গাছ মত, যে, কিছু অনুক্রমের আছে 815 00:36:23,640 --> 00:36:26,000 এটি সুপার দরকারী, সুপার. 816 00:36:26,000 --> 00:36:29,750 এখন, একটি সরাইয়া হিসাবে, যাতে আপনি যে কম্পিউটার বিজ্ঞানীরা উচ্চাকাঙ্ক্ষী হিসাবে 817 00:36:29,750 --> 00:36:33,180 Google এর কিছু পরিচিত আপনি Google এ যান, তাহলে ভিতরে ঢামালি, 818 00:36:33,180 --> 00:36:36,345 এবং আপনি কি সন্ধান , এর সংজ্ঞা বলতে জন্য, recursion, লিখুন. 819 00:36:36,345 --> 00:36:40,208 820 00:36:40,208 --> 00:36:41,110 উহ তাই. 821 00:36:41,110 --> 00:36:42,670 একটি সরাইয়া হিসাবে, আমি কয়েক গুটান. 822 00:36:42,670 --> 00:36:45,470 এই 10 মিনিটের মত ছিল দীর্ঘসূত্রতা এই সকালে. 823 00:36:45,470 --> 00:36:52,890 আপনি যদি গুগল "বাঁকাভাবে," বিজ্ঞপ্তি আপনার মাথা কাত দ্বারা slightly-- 824 00:36:52,890 --> 00:36:55,120 এবং তারপর এই এক সম্ভবত হয় সব সবচেয়ে নৃশংস 825 00:36:55,120 --> 00:36:57,286 কেউ মত ব্যয় থেকে এই বাস্তবায়নের তাদের দিন 826 00:36:57,286 --> 00:36:59,880 কিছু বছর আসা ago--. 827 00:36:59,880 --> 00:37:01,140 828 00:37:01,140 --> 00:37:04,540 ওহ, wait-- একটি বাগ আছে. 829 00:37:04,540 --> 00:37:08,410 830 00:37:08,410 --> 00:37:11,410 >> তাই এক চলমান বিশ্বের বৃহত্তম ওয়েবসাইট 831 00:37:11,410 --> 00:37:13,510 এই মূঢ় সামান্য ইস্টার ডিম আছে. 832 00:37:13,510 --> 00:37:16,690 তারা সম্ভবত একটি গ্রাস কোড লাইনের nontrivial সংখ্যা 833 00:37:16,690 --> 00:37:19,280 শুধু আমরা করতে পারেন, যাতে যে মত সামান্য মজার জিনিষ. 834 00:37:19,280 --> 00:37:22,140 কিন্তু অন্তত এখন আপনি পেতে যারা ভিতরে ঢামালি কিছু. 835 00:37:22,140 --> 00:37:28,330 >> এখন কিছু কটাক্ষপাত করা যাক সাদা, আমরা দেরী কহন করা হয়েছে এই ব্যবস্থার সবচেয়ে গুরত্বপূর্ণ 836 00:37:28,330 --> 00:37:30,707 এবং ছুলা ফিরে যাও শুরু কিছু স্তর টেকনিক্যালি 837 00:37:30,707 --> 00:37:32,790 আপনি কি সত্যিই বুঝতে যাতে কি যাওয়া হয়েছে 838 00:37:32,790 --> 00:37:34,860 এবং আপনি বুঝতে পারেন হুমকি কিছু, 839 00:37:34,860 --> 00:37:38,060 Shellshock মত, যে এখন হয়ে শুরু করেছেন 840 00:37:38,060 --> 00:37:41,110 সবাই এর সামনের সারিতেই উপর মনোযোগ, অন্তত মিডিয়া. 841 00:37:41,110 --> 00:37:45,810 তাই এখানে একটি খুব সহজ ফাংশন যে অকার্যকর, কিছুই ফেরৎ. 842 00:37:45,810 --> 00:37:46,790 তার নাম ও swap 'র হয়. 843 00:37:46,790 --> 00:37:50,880 এটা দুই ভেরিয়েবল লাগে এবং এটা কিছুই ফেরৎ. 844 00:37:50,880 --> 00:37:52,260 A এবং B লাগে. 845 00:37:52,260 --> 00:37:53,337 সুতরাং একটি দ্রুত বিক্ষোভের. 846 00:37:53,337 --> 00:37:54,170 আমরা এই পর্যন্ত আনা. 847 00:37:54,170 --> 00:37:56,100 আমরা পাশাপাশি একটু সময় নিতে পারে শুধু একটা মুহূর্ত জন্য এখানে বিরতি 848 00:37:56,100 --> 00:37:57,250 এবং পান করতে সামান্য কিছু আছে. 849 00:37:57,250 --> 00:38:00,120 কেউ যোগদান কিছু মনে করবেন না এখানে শুধু একটা মুহূর্ত জন্য আমাকে. 850 00:38:00,120 --> 00:38:01,830 কিভাবে তুবড়ি শার্ট আপনি? 851 00:38:01,830 --> 00:38:02,335 উপর আসা. 852 00:38:02,335 --> 00:38:04,060 853 00:38:04,060 --> 00:38:05,260 শুধু এক আজ. 854 00:38:05,260 --> 00:38:06,251 যদিও, আপনাকে ধন্যবাদ. 855 00:38:06,251 --> 00:38:08,000 সমস্ত অধিকার, এবং আমরা যারা এখানে আসছে? 856 00:38:08,000 --> 00:38:08,660 আপনার নাম কি? 857 00:38:08,660 --> 00:38:09,360 >> স্পিকার 4: লরা. 858 00:38:09,360 --> 00:38:09,740 >> বক্তা 1: লরা. 859 00:38:09,740 --> 00:38:10,370 উপর আসা. 860 00:38:10,370 --> 00:38:11,460 861 00:38:11,460 --> 00:38:13,850 তাই লরা খুব সহজ চ্যালেঞ্জ আজ. 862 00:38:13,850 --> 00:38:14,704 863 00:38:14,704 --> 00:38:15,370 আ দেখা হওয়ায় খুশী হলাম. 864 00:38:15,370 --> 00:38:16,410 865 00:38:16,410 --> 00:38:16,910 ঠিক আছে. 866 00:38:16,910 --> 00:38:21,179 তাই আমরা এখানে কিছু দুধ আছে এবং আমরা এখানে কিছু কমলার রস আছে 867 00:38:21,179 --> 00:38:23,345 এবং কিছু কাপ যে আমরা আজ Annenberg এ থেকে ধার করা. 868 00:38:23,345 --> 00:38:24,178 >> স্পিকার 4: ধার করা. 869 00:38:24,178 --> 00:38:27,240 বক্তা 1: এবং এগিয়ে যেতে হবে এবং আপনি এই আধা গ্লাস দিতে. 870 00:38:27,240 --> 00:38:28,250 871 00:38:28,250 --> 00:38:28,800 ঠিক আছে. 872 00:38:28,800 --> 00:38:30,750 এবং আমরা আপনাকে অর্ধেক দিতে হবে দুধ এক গ্লাস. 873 00:38:30,750 --> 00:38:31,905 874 00:38:31,905 --> 00:38:35,890 ওহ, এবং আপনি পারেন যাতে এই মত কি ছিল মনে 875 00:38:35,890 --> 00:38:38,860 আমি আনতে মনে এই পর্যন্ত এবং আজ. 876 00:38:38,860 --> 00:38:42,030 877 00:38:42,030 --> 00:38:42,530 ঠিক আছে. 878 00:38:42,530 --> 00:38:45,470 আপনি কিছু মনে করবেন না, এর দেখতে দিন, আমরা আপনার নিজস্ব চশমা উপর তাদের করা যাবে 879 00:38:45,470 --> 00:38:46,560 যদি আপনি চান. 880 00:38:46,560 --> 00:38:48,710 এই লরা চোখ থেকে বিশ্বের হবেন. 881 00:38:48,710 --> 00:38:49,210 ঠিক আছে. 882 00:38:49,210 --> 00:38:53,820 সুতরাং আপনার লক্ষ্য, দুই কাপ দেওয়া এখানে তরল, দুধ এবং কমলার রস, 883 00:38:53,820 --> 00:38:58,370 দুই বিষয়বস্তু বিনিময় করা হয় যাতে কমলার রস দুধ কাপ মধ্যে যায় 884 00:38:58,370 --> 00:39:00,710 এবং দুধ মধ্যে যায় কমলার রস কাপ. 885 00:39:00,710 --> 00:39:02,359 >> স্পিকার 4: আমি অন্য কাপ পেতে পারি? 886 00:39:02,359 --> 00:39:05,650 বক্তা 1: আমি যদিও,, আপনি জিজ্ঞাসা তাই খুশি এটা অনেক ভাল ফুটেজ হয়েছে 887 00:39:05,650 --> 00:39:06,710 আপনি জিজ্ঞাসা না করে যদি. 888 00:39:06,710 --> 00:39:10,620 তবে হ্যাঁ, আমরা আপনাকে একটি তৃতীয় দিতে পারে অবশ্যই, খালি যে কাপ. 889 00:39:10,620 --> 00:39:11,120 ঠিক আছে. 890 00:39:11,120 --> 00:39:12,300 তাই সেখানে বিষয়বস্তু অদলবদল. 891 00:39:12,300 --> 00:39:16,100 892 00:39:16,100 --> 00:39:17,050 অত্যন্ত চমৎকার. 893 00:39:17,050 --> 00:39:20,390 894 00:39:20,390 --> 00:39:21,305 খুব ভাল. 895 00:39:21,305 --> 00:39:23,121 896 00:39:23,121 --> 00:39:24,745 আপনি সাতিশয় সাবধানে এই কাজ করছি. 897 00:39:24,745 --> 00:39:26,970 898 00:39:26,970 --> 00:39:28,655 এবং তিন ধাপে. 899 00:39:28,655 --> 00:39:30,390 900 00:39:30,390 --> 00:39:31,350 ঠিক আছে. 901 00:39:31,350 --> 00:39:31,930 চমৎকার. 902 00:39:31,930 --> 00:39:33,930 সাধুবাদ বড় বৃত্তাকার লরা জন্য ভাল হবে. 903 00:39:33,930 --> 00:39:36,500 904 00:39:36,500 --> 00:39:37,000 ঠিক আছে. 905 00:39:37,000 --> 00:39:40,790 আমরা একটু বিভাজিকা উপহার আছে আপনার জন্য, কিন্তু আমার এই গ্রহণ করা. 906 00:39:40,790 --> 00:39:42,620 তাই আপনাকে অনেক ধন্যবাদ. 907 00:39:42,620 --> 00:39:46,170 তাই একটি সহজ উদাহরণ, যদিও, যদি আপনি না যে প্রকট 908 00:39:46,170 --> 00:39:48,300 বিষয়বস্তু অদলবদল করতে চান দুই পাত্রে, 909 00:39:48,300 --> 00:39:52,360 বা এর ভেরিয়েবল তাদের কল করা যাক, আপনি কিছু অস্থায়ী সংগ্রহস্থল প্রয়োজন 910 00:39:52,360 --> 00:39:56,710 তাই বিষয়বস্তু এক পর্যায়ে আপনি আসলে swap 'র কি করতে পারেন যে. 911 00:39:56,710 --> 00:40:01,790 তাই প্রকৃতপক্ষে, এখানে এই সোর্স কোড আপ সি ঠিক যে প্রতিনিধি. 912 00:40:01,790 --> 00:40:06,340 কমলার রস একটি এবং দুধ ছিল , বো, এবং আমরা দুই অদলবদল করতে চেয়েছিলেন 913 00:40:06,340 --> 00:40:08,990 আপনি সৃষ্টিশীল কিছু করার চেষ্টা করতে পারে অন্যান্য মধ্যে এক ঢালাও দ্বারা, 914 00:40:08,990 --> 00:40:11,031 কিন্তু যে সম্ভবত হবে না বিশেষ করে ভাল শেষ. 915 00:40:11,031 --> 00:40:15,260 এবং তাই আমরা একটি তৃতীয় কাপ, কল ব্যবহার এটা কনভেনশন দ্বারা, টি এম পি tmp 916 00:40:15,260 --> 00:40:19,370 এবং এর বিষয়বস্তু করা OJ যে, তারপর এক কাপ অদলবদল, 917 00:40:19,370 --> 00:40:22,610 তারপর মধ্যে OJ করা মূল কাপ, যার ফলে 918 00:40:22,610 --> 00:40:25,320 ঠিক যেমন, অর্জন লরা, swap 'করেনি. 919 00:40:25,320 --> 00:40:26,850 >> তাই এর কি ঠিক যে. 920 00:40:26,850 --> 00:40:30,110 আমাকে এগিয়ে যান এবং খুলুন যে একটি উদাহরণ আপ 921 00:40:30,110 --> 00:40:32,720 আসলে কোন "বলা এই না, কারণ, "অদলবদল 922 00:40:32,720 --> 00:40:36,180 আপনার মনে হতে পারে হিসাবে হিসাবে কেবল কাজ. 923 00:40:36,180 --> 00:40:41,190 তাই এই প্রোগ্রাম, যে লক্ষ্য আমি stdio.h, আমাদের পুরনো বন্ধু ব্যবহার করছি. 924 00:40:41,190 --> 00:40:43,130 আমি প্রোটোটাইপ আছে , আপ আছে swap 'র জন্য যা 925 00:40:43,130 --> 00:40:45,450 তার বাস্তবায়ন এর মানে সম্ভবত নিচে নিচে, 926 00:40:45,450 --> 00:40:48,050 এবং এর দেখতে দিন প্রধান কি এই প্রোগ্রাম আমার জন্য কি করতে যাচ্ছে. 927 00:40:48,050 --> 00:40:52,020 আমি প্রথম int-x পায় ঘোষণা এক, এবং y দুটি পায় int. 928 00:40:52,020 --> 00:40:54,930 তাই OJ হিসাবে যারা মনে যথাক্রমে এবং দুধ,. 929 00:40:54,930 --> 00:40:57,100 এবং তারপর আমি একটি আছে printf, এক্স এই বলছে 930 00:40:57,100 --> 00:41:00,120 এবং y ঠিক তাই আমি করতে পারেন, এই হল দৃশ্যত উপর কি ঘটছে তা দেখতে. 931 00:41:00,120 --> 00:41:03,810 তারপর আমি দাবি printf আছে , আমি দুই সোয়াপিং করছি 932 00:41:03,810 --> 00:41:07,100 এবং তারপর আমি একটি প্রিন্ট আউট তারা আনা করছেন দাবি করে যে, 933 00:41:07,100 --> 00:41:09,300 এবং আমি আবার x এবং y প্রিন্ট আউট. 934 00:41:09,300 --> 00:41:13,010 তাই নিচে এখানে swap 'হয় ঠিক লরা কি, 935 00:41:13,010 --> 00:41:16,240 এবং আমরা দেখেছি ঠিক কি একটি মুহূর্ত আগে পর্দা. 936 00:41:16,240 --> 00:41:19,380 >> সুতরাং এর এগিয়ে যান এবং দারুণভাবে হতাশ হতে. 937 00:41:19,380 --> 00:41:24,690 কোন অদলবদল করতে, এবং কোন swap 'র চালানোর জন্য, এখানে আউটপুট মধ্যে zooming. 938 00:41:24,690 --> 00:41:28,320 লিখুন এক্স Y আনা সোয়াপিং, 2, 1. 939 00:41:28,320 --> 00:41:32,700 এখনও x 1, এবং y এখনও 2. 940 00:41:32,700 --> 00:41:37,630 সুতরাং যদিও, অকপটে, এই দেখায় ঠিক আরো টেকনিক্যালি, যদিও চাই, 941 00:41:37,630 --> 00:41:40,730 লরা কি, কাজ বলে মনে হচ্ছে না. 942 00:41:40,730 --> 00:41:42,130 সুতরাং কেন হল? 943 00:41:42,130 --> 00:41:46,630 ওয়েল, এটা যখন দেখা যাচ্ছে যে আমরা এই মত একটি প্রোগ্রাম লিখুন 944 00:41:46,630 --> 00:41:51,590 যে উভয় প্রধান, এখানে হাইলাইট করা হয়েছে এবং তারপর অন্য ফাংশন, swap 'র মত, 945 00:41:51,590 --> 00:41:54,230 এখানে হাইলাইট করা যা এটি বিশ্বের, কল 946 00:41:54,230 --> 00:41:57,030 ভালো সামান্য কিছু দেখায় একটি মুহূর্ত আগে এই ট্রে. 947 00:41:57,030 --> 00:42:00,440 যখন প্রধান বলা পরার প্রথম, যে অপারেটিং সিস্টেম চাওয়ার মত 948 00:42:00,440 --> 00:42:04,030 কোন স্থানীয় জন্য মেমরি একটি বিট জন্য x এবং প্রধান যে y মত ভেরিয়েবল, 949 00:42:04,030 --> 00:42:05,660 এবং তারা অধিকার আছে শেষ. 950 00:42:05,660 --> 00:42:10,920 প্রধান কল বিনিময়, এবং প্রধান কিন্তু যদি দুটি আর্গুমেন্ট, A এবং B বিনিময় করা পাস, 951 00:42:10,920 --> 00:42:16,410 কমলার রস এবং দুধ, এটা চাই না কমলার রস এবং দুধ হস্তান্তর 952 00:42:16,410 --> 00:42:17,500 লরা. 953 00:42:17,500 --> 00:42:21,300 একটি কম্পিউটার আছে কি, এটা কমলার রস কপি পাস 954 00:42:21,300 --> 00:42:27,110 যাতে লরা দুধ এবং কপি, কি এই ট্রে ভেতরে শেষ পর্যন্ত এর 955 00:42:27,110 --> 00:42:32,510 মূল্য এক এবং দুই, বা OJ হয় এবং দুধ, কিন্তু কপি উহার, 956 00:42:32,510 --> 00:42:34,790 তাই যে এই সময়ে গল্প আছে, 957 00:42:34,790 --> 00:42:36,930 এই ট্রে প্রতিটি OJ এবং দুধ হয়. 958 00:42:36,930 --> 00:42:39,260 একটি এক এবং একটি দুই আছে এই ট্রে প্রতিটি, 959 00:42:39,260 --> 00:42:41,720 এবং swap ফাংশন প্রকৃতপক্ষে কাজ করছে. 960 00:42:41,720 --> 00:42:46,090 এটা ভিতরে তাদের সোয়াপিং এর দ্বিতীয় আগ ট্রে, 961 00:42:46,090 --> 00:42:48,147 কিন্তু যে সোয়াপিং কোন প্রভাব রয়েছে. 962 00:42:48,147 --> 00:42:49,980 এবং কিছু কিছু উপর ভিত্তি করে আমরা করেছি মৌলিক নীতি 963 00:42:49,980 --> 00:42:52,970 আগে স্বপ্ন, এবং প্রকৃতপক্ষে মাত্র কয়েক মিনিট আগে, কি 964 00:42:52,970 --> 00:42:58,770 পরিবর্তন কেন ব্যাখ্যা হতে পারে swap 'র ভেতরে একটি এবং খ 965 00:42:58,770 --> 00:43:05,560 যদিও, x এবং y উপর কোনো প্রভাব নেই আমি ও swap 'র ফাংশন x এবং y পাস. 966 00:43:05,560 --> 00:43:08,750 এখানে যে মূল শব্দ কী সরলভাবে ব্যাখ্যা হতে পারে? 967 00:43:08,750 --> 00:43:11,250 968 00:43:11,250 --> 00:43:12,627 আমি এটা এখানে শোনা মনে করেন? 969 00:43:12,627 --> 00:43:13,335 শ্রোতা: ফিরুন. 970 00:43:13,335 --> 00:43:14,085 বক্তা 1: ফিরে? 971 00:43:14,085 --> 00:43:14,590 ফিরে না. 972 00:43:14,590 --> 00:43:15,895 এর অন্য এক সাথে যেতে দাও. 973 00:43:15,895 --> 00:43:16,395 কি যে? 974 00:43:16,395 --> 00:43:17,080 >> শ্রোতা: [শ্রবণাতীত]. 975 00:43:17,080 --> 00:43:20,000 >> বক্তা 1: ঠিক আছে, আমরা পারা রিটার্ন তাই গল্প ফিরে কাজ করতে, 976 00:43:20,000 --> 00:43:21,914 কিন্তু একটি এমনকি সহজ ব্যাখ্যা আছে. 977 00:43:21,914 --> 00:43:22,580 শ্রোতা: ব্যাপ্তি. 978 00:43:22,580 --> 00:43:23,288 বক্তা 1: ব্যাপ্তি. 979 00:43:23,288 --> 00:43:24,300 আমি সুযোগ নেব. 980 00:43:24,300 --> 00:43:27,290 তাই সুযোগ, যেখানে আপনি মনে আমাদের x এবং y ঘোষণা করেন. 981 00:43:27,290 --> 00:43:30,840 তারা ভিতরে ঘোষণা করছি প্রধান অধিকার এখানে. 982 00:43:30,840 --> 00:43:33,200 A এবং B এদিকে, হয় কার্যকরভাবে ঘোষণা 983 00:43:33,200 --> 00:43:35,930 swap 'র ভিতর, না পুরোপুরি মধ্যে কোঁকড়া ধনুর্বন্ধনী কিন্তু এখনও 984 00:43:35,930 --> 00:43:37,690 swap 'র সাধারণ এলাকায়. 985 00:43:37,690 --> 00:43:40,560 তাই প্রকৃতপক্ষে, একটি এবং খ শুধুমাত্র এই ট্রে মধ্যে উপস্থিত 986 00:43:40,560 --> 00:43:44,850 Annenberg এ থেকে, এই কোড দ্বিতীয় খণ্ড. 987 00:43:44,850 --> 00:43:49,500 তাই আমরা প্রকৃতপক্ষে কপি পরিবর্তন, কিন্তু করছি যে সত্যিই সব যে সহায়ক নয়. 988 00:43:49,500 --> 00:43:52,190 >> সুতরাং এর কটাক্ষপাত করা যাক এই একটি সামান্য নিম্ন স্তরের. 989 00:43:52,190 --> 00:43:55,430 আমি ফিরে যেতে চলেছি উত্স ডিরেক্টরি, 990 00:43:55,430 --> 00:43:58,330 এবং আমি প্রথম যাচ্ছি এখানে জুম, এবং মাত্র 991 00:43:58,330 --> 00:44:02,290 আমি এই আছি তা নিশ্চিত করতে বড় টার্মিনাল উইন্ডোর, 992 00:44:02,290 --> 00:44:04,430 প্রোগ্রাম এখনও যে মত ব্যবহার করে. 993 00:44:04,430 --> 00:44:06,840 এখন যে এই ধরুন ইচ্ছাকৃত নয়. 994 00:44:06,840 --> 00:44:10,090 স্পষ্টত: আমি ও swap 'র চেয়েছিলেন কাজ, তাই এটি একটি বাগ মত মনে. 995 00:44:10,090 --> 00:44:12,780 এখন আমি একটি যোগ শুরু করতে পারে আমার কোড printf এর অনেক, 996 00:44:12,780 --> 00:44:16,010 এখানে উপর y, x উপর মুদ্রণ এখানে, এখানে, এখানে বো একটি. 997 00:44:16,010 --> 00:44:18,220 কিন্তু অকপটে, যে সম্ভবত কি আপনি কয়েক সপ্তাহ জন্য কাজ করছি 998 00:44:18,220 --> 00:44:20,190 এখন, অফিসে ঘন্টা এবং বাড়িতে যখন কাজ 999 00:44:20,190 --> 00:44:22,150 কিছু বাগ খুঁজে বের করার চেষ্টা psets উপর. 1000 00:44:22,150 --> 00:44:25,560 আপনি ইতিমধ্যে আছে কিন্তু যদি আপনি দেখতে পাবেন, যে সমস্যা তিন আপনাকে প্রবর্তন করে সেট 1001 00:44:25,560 --> 00:44:31,630 , GDB নামে একটি কমান্ড, যেখানে, GDB, গনু ডিবাগার, 1002 00:44:31,630 --> 00:44:34,040 নিজেই একটি আভা আছে বৈশিষ্ট্য যে আসলে করতে পারেন 1003 00:44:34,040 --> 00:44:38,160 আমাদের পরিস্থিতিতে বুঝতে ভালো, কিন্তু আরো compellingly, 1004 00:44:38,160 --> 00:44:39,940 সমস্যার সমাধান এবং বাগ খুঁজে. 1005 00:44:39,940 --> 00:44:40,940 তাই আমি এই কাজ করতে যাচ্ছি. 1006 00:44:40,940 --> 00:44:44,770 পরিবর্তে ./noswap, আমি পরিবর্তে করছি , GDB ./noswap চালানো যাচ্ছে. 1007 00:44:44,770 --> 00:44:47,410 1008 00:44:47,410 --> 00:44:51,200 অন্য কথায়, আমি চালানো যাচ্ছে না আমার প্রোগ্রাম না ব্যাশ, আমাদের নতুন বন্ধু 1009 00:44:51,200 --> 00:44:51,850 আজ. 1010 00:44:51,850 --> 00:44:53,970 আমি চালানো যাচ্ছে না আমার ভিতরে প্রোগ্রাম noswap 1011 00:44:53,970 --> 00:44:56,900 নামক এই অন্যান্য প্রোগ্রাম একটি ডিবাগার যা GDB, যা 1012 00:44:56,900 --> 00:45:01,035 সাহায্য করার জন্য ডিজাইন করা একটি প্রোগ্রাম যা আপনি খুঁজে পেতে এবং বাগ অপসারণ মানুষের. 1013 00:45:01,035 --> 00:45:03,410 আমি এখানে রান আঘাত সুতরাং, যদি আছে টেক্সট একটি নৃশংস পরিমাণ 1014 00:45:03,410 --> 00:45:04,868 আপনি কি সত্যিই পড়া আছে না যে. 1015 00:45:04,868 --> 00:45:07,290 এটি মূলত একটি ক্ষোভ আছে প্রম্পট থেকে যা 1016 00:45:07,290 --> 00:45:10,030 আমি কন্ট্রোল-এল আঘাত করা যাচ্ছে না সেখানে উপরের আপ পেতে. 1017 00:45:10,030 --> 00:45:11,800 এই GDB প্রম্পট হয়. 1018 00:45:11,800 --> 00:45:15,550 আমি এখন এই প্রোগ্রাম চালাতে চান তাহলে, আজকের এই সামান্য Cheat শীট হিসাবে 1019 00:45:15,550 --> 00:45:21,860 স্লাইড রান প্রথম সুপারিশ, আমরা পরিচয় করিয়ে দিতে যে কমান্ড. 1020 00:45:21,860 --> 00:45:25,150 এবং আমি টাইপ করা যাচ্ছে না GDB- র ভিতরে এখানে রান আপ, 1021 00:45:25,150 --> 00:45:26,811 এবং প্রকৃতপক্ষে এটা আমার প্রোগ্রাম স্থাপিত হয়. 1022 00:45:26,811 --> 00:45:29,310 এখন কিছু অতিরিক্ত আছে ভালো পর্দার আউটপুট, 1023 00:45:29,310 --> 00:45:31,910 কিন্তু যে, GDB ঠিক হচ্ছে পোঁদ এর এবং কি ঘটছে তা আমাদের বলার. 1024 00:45:31,910 --> 00:45:34,451 আপনি সত্যিই চিন্তা করতে হবে না ডান এখন এই বিবরণ সম্পর্কে. 1025 00:45:34,451 --> 00:45:36,890 কিন্তু সত্যিই শীতল কি আমি যদি, GDB, এই again-- 1026 00:45:36,890 --> 00:45:42,100 কন্ট্রোল-এল আমাকে যেতে পর্দায় মুছে ফেলা হবে এগিয়ে এবং টাইপ যার ফলে ", প্রধান বিরতি", 1027 00:45:42,100 --> 00:45:45,743 আমি আঘাত লিখুন, যখন কি সেটিং একটি বিরতি বিন্দু noswap.c এ বলা হয়, 1028 00:45:45,743 --> 00:45:51,270 যেখানে, GDB, যা লাইন 16, আসলে আমার প্রোগ্রাম মূর্ত আউট 1029 00:45:51,270 --> 00:45:53,070 , আমার ফাংশন আসলে. 1030 00:45:53,070 --> 00:45:55,070 আমরা এখন জন্য উপেক্ষা করব এই কিন্তু যে ঠিকানা আছে 1031 00:45:55,070 --> 00:45:57,310 বিশেষভাবে এই ফাংশন মেমরি. 1032 00:45:57,310 --> 00:46:00,240 তাই এখন আমি রান টাইপ করেন, তখন এখানে কি শীতল বিজ্ঞপ্তি. 1033 00:46:00,240 --> 00:46:05,650 আমার প্রোগ্রাম লাইন আমি বিরতি এ মৃত্যুদন্ড বিরতি, GDB বলেন. 1034 00:46:05,650 --> 00:46:09,850 তাই আমি এখন আমার কোড পরিবর্তন করতে হবে না, কিছু printf এর যোগ এটি পুনরায় কম্পাইল, পুন: প্রকাশ 1035 00:46:09,850 --> 00:46:13,300 এটা,,, পরিবর্তন কিছু printf এর যোগ এটি সংরক্ষণ করুন এটি পুনরায় কম্পাইল, এটি চালানোর জন্য. 1036 00:46:13,300 --> 00:46:18,100 আমি শুধু আমার প্রোগ্রামের মাধ্যমে পদব্রজে ভ্রমণ করতে পারেন মানুষের গতিতে ধাপে ধাপে দ্বারা ধাপে, 1037 00:46:18,100 --> 00:46:20,880 না গতি ইন্টেল ভিতরে ধরনের. 1038 00:46:20,880 --> 00:46:24,580 >> তাই এখন এই লাইন বিজ্ঞপ্তি আমি ফিরে যেতে যদি এখানে প্রদর্শিত হবে, এবং 1039 00:46:24,580 --> 00:46:27,800 gedit মধ্যে আমার প্রোগ্রাম, আসলে যে যে বিজ্ঞপ্তি 1040 00:46:27,800 --> 00:46:29,280 কোড প্রথম লাইন. 1041 00:46:29,280 --> 00:46:31,240 লাইন 16 gedit মধ্যে আছে. 1042 00:46:31,240 --> 00:46:34,610 লাইন 16, GDB মধ্যে, এবং এমনকি এই কালো এবং সাদা ইন্টারফেস যদিও 1043 00:46:34,610 --> 00:46:37,760 প্রায় ব্যবহারকারী হিসাবে বন্ধুত্বপূর্ণ, এই অর্থ 1044 00:46:37,760 --> 00:46:41,680 যে লাইন 16 মৃত্যুদন্ড কার্যকর করা হয়েছে এখনো, কিন্তু তা হতে হবে প্রায়. 1045 00:46:41,680 --> 00:46:46,220 তাই প্রকৃতপক্ষে আমি মুদ্রণ টাইপ এক্স, না printf,, শুধু প্রিন্ট এক্স, 1046 00:46:46,220 --> 00:46:50,730 আমি শূন্য আছে কিছু বাজে মান পেতে এক্স এখনও সক্রিয়া করা হয়েছে কারণ. 1047 00:46:50,730 --> 00:46:54,760 আপনি যদি তাই আমি পরবর্তী টাইপ করা যাচ্ছে, বা না ঠিক পরের জন্য n, অভিনব হতে চান. 1048 00:46:54,760 --> 00:46:59,090 কিন্তু আমি পরের এখন, লিখুন যখন এটি লাইন 17 উপর চলে আসে বিজ্ঞপ্তি. 1049 00:46:59,090 --> 00:47:02,840 সুতরাং যুক্তি, আমি মৃত্যুদন্ড কার্যকর করেছি লাইন 16 এবং আমি এখন মুদ্রণ এক্স টাইপ করুন, 1050 00:47:02,840 --> 00:47:03,640 আমি কি দেখতে হবে? 1051 00:47:03,640 --> 00:47:04,970 1052 00:47:04,970 --> 00:47:05,520 এক. 1053 00:47:05,520 --> 00:47:07,820 >> এবং এখন এই নিঃসন্দেহে বিভ্রান্তিকর. 1054 00:47:07,820 --> 00:47:11,260 $ 2, শুধু একটি অভিনব উপায় আপনি যদি পরে যে মান পড়ুন চাই, 1055 00:47:11,260 --> 00:47:12,510 যদি আপনি "ডলার দুই সাইন ইন করুন." বলতে পারেন 1056 00:47:12,510 --> 00:47:13,480 এটা একটি রেফারেন্স মত. 1057 00:47:13,480 --> 00:47:14,570 কিন্তু এখন জন্য, শুধু এটি উপেক্ষা করা. 1058 00:47:14,570 --> 00:47:17,070 কি আকর্ষণীয় কি হয় সমান সাইন অধিকার. 1059 00:47:17,070 --> 00:47:21,000 এবং এখন আমি আবার পরের টাইপ এবং মুদ্রণ y, আমি 2 দেখতে পাবেন. 1060 00:47:21,000 --> 00:47:23,870 আমি এখন মুদ্রণ করতে পারেন এক্স আবার, এবং উন্মুক্তভাবে, 1061 00:47:23,870 --> 00:47:27,130 আমি হিসাবে একটু বিভ্রান্ত না পেয়ে যদি আমি কোথায়, আমি তালিকা জন্য তালিকা টাইপ করতে পারেন 1062 00:47:27,130 --> 00:47:30,590 এবং ঠিক কাছাকাছি কিছু প্রসঙ্গ দেখতে বিন্দু আমি আসলে এ আছি. 1063 00:47:30,590 --> 00:47:35,180 এবং এখন আমি টাইপ করতে পারেন পরবর্তী, এবং সেখানে x 1. 1064 00:47:35,180 --> 00:47:36,300 এখন আমি পরের টাইপ করুন. 1065 00:47:36,300 --> 00:47:37,710 ওহ, Y 2. 1066 00:47:37,710 --> 00:47:40,750 এবং আবার, এটা বিভ্রান্তিকর , GDB এর আউটপুট কারণ 1067 00:47:40,750 --> 00:47:43,044 আমার নিজের আউটপুট সঙ্গে commingled করা হচ্ছে. 1068 00:47:43,044 --> 00:47:45,710 কিন্তু আপনি মনে রাখা পিছনে আপনার কোড এ নেত্রপাত 1069 00:47:45,710 --> 00:47:47,740 বা দিকে এটি ডিম্বপ্রসর সম্ভবত পার্শ্ব দ্বারা, আপনি 1070 00:47:47,740 --> 00:47:51,020 সত্যিই আমি আছি দেখতে আমার প্রোগ্রামের মাধ্যমে পদবিন্যাস. 1071 00:47:51,020 --> 00:47:54,620 >> কিন্তু আক্ষরিক, পরবর্তী লক্ষ্য কি. 1072 00:47:54,620 --> 00:47:56,380 এখানে লাইন 22 এর. 1073 00:47:56,380 --> 00:48:01,315 যার ফলে চলন্ত, আমাকে এটা নিয়ে যান 23, এবং আমি এখন, এখনও এক এক্স মুদ্রণ. 1074 00:48:01,315 --> 00:48:03,890 এবং আমি এক এখনও, এখন Y মুদ্রণ. 1075 00:48:03,890 --> 00:48:05,820 সুতরাং এই একটি দরকারী ব্যায়াম হয় না. 1076 00:48:05,820 --> 00:48:07,450 তাই এর এই পুনরায় যাক. 1077 00:48:07,450 --> 00:48:10,069 আমার কাছে ফিরে যাওয়া যাক আবার উপরের এবং টাইপ রান. 1078 00:48:10,069 --> 00:48:12,110 এবং এটি প্রোগ্রাম বলছে যে debugged হচ্ছে 1079 00:48:12,110 --> 00:48:14,109 ইতিমধ্যে শুরু হয়েছে, শুরু থেকে শুরু. 1080 00:48:14,109 --> 00:48:15,420 হ্যাঁ, এর আবার এই কাজ করা যাক. 1081 00:48:15,420 --> 00:48:22,000 এবং এই সময়, এর পরের কাজ করতে দিন পরের, পরবর্তী, পরের, পরবর্তী, 1082 00:48:22,000 --> 00:48:24,180 কিন্তু এখন কিছু আকর্ষণীয় পেতে. 1083 00:48:24,180 --> 00:48:27,760 এখন আমি ভাগ দিতে চান swap ', তাই আমি পরবর্তী টাইপ না. 1084 00:48:27,760 --> 00:48:34,380 আমি এটা লক্ষ্য এখন ধাপে টাইপ করুন, এবং noswap.c লাইন 33 আমার jumped হয়েছে. 1085 00:48:34,380 --> 00:48:37,240 আমি gedit ফিরে যান, লাইন 33 কি? 1086 00:48:37,240 --> 00:48:40,500 যে প্রকৃত প্রথম swap 'র ভেতরে কোড লাইন. 1087 00:48:40,500 --> 00:48:44,150 কোন কারণ এখন আমি করতে পারেন, চমৎকার ধরনের প্রায় অকর্মা এবং অদ্ভুত পেতে 1088 00:48:44,150 --> 00:48:46,052 হিসাবে কি আছে সত্যিই যাচ্ছে. 1089 00:48:46,052 --> 00:48:46,760 আমার tmp মুদ্রণ. 1090 00:48:46,760 --> 00:48:47,770 1091 00:48:47,770 --> 00:48:48,800 ঐখানে. 1092 00:48:48,800 --> 00:48:51,438 কেন tmp কিছু আছে পাগল, বাজে আবর্জনা মান? 1093 00:48:51,438 --> 00:48:54,579 1094 00:48:54,579 --> 00:48:56,120 শ্রোতা: এটা সক্রিয়া করা হয়েছে. 1095 00:48:56,120 --> 00:48:57,150 বক্তা 1: এটা সক্রিয়া করা হয়েছে. 1096 00:48:57,150 --> 00:49:00,270 এবং প্রকৃতপক্ষে, আপনি একটি প্রোগ্রাম চালানো যখন, আপনি মেমরি আভা দেওয়া করছি 1097 00:49:00,270 --> 00:49:03,392 অপারেটিং সিস্টেম দ্বারা, কিন্তু আপনি কোনো মান সক্রিয়া করা হয়নি, 1098 00:49:03,392 --> 00:49:05,600 তাই যাই হোক না কেন বিট আপনি এটা, যদিও এখানে দেখছি 1099 00:49:05,600 --> 00:49:07,770 এই পাগল বড় নেতিবাচক সংখ্যা, শুধু অর্থ 1100 00:49:07,770 --> 00:49:10,750 যারা যে অবশিষ্টাংশ থেকে যে র্যাম কিছু পূর্ববর্তী ব্যবহার, 1101 00:49:10,750 --> 00:49:13,050 আমি না, যদিও নিজেকে এখনো এটি প্রয়োজন. 1102 00:49:13,050 --> 00:49:17,086 তাই এখন আমি এগিয়ে এবং টাইপ যেতে চলেছি পরবর্তী, এবং এখন আমি মুদ্রণ tmp টাইপ করুন, 1103 00:49:17,086 --> 00:49:17,835 আমি কি দেখতে হবে? 1104 00:49:17,835 --> 00:49:19,570 1105 00:49:19,570 --> 00:49:23,360 যাই হোক না কেন একটি মান ছিল, একটি মাত্র প্রথম যুক্তি 1106 00:49:23,360 --> 00:49:25,550 x ভালো ছিল প্রথম জিনিস, পাস হচ্ছে 1107 00:49:25,550 --> 00:49:30,450 তাই একটি এবং এক্স একই হতে হবে, তাই প্রিন্ট tmp আমাকে এক মুদ্রণ উচিত. 1108 00:49:30,450 --> 00:49:36,360 >> তাই কি আপনি সমস্যা সেট দেখতে পাবেন তিন,, GDB উপর প্রকারের একটি টিউটোরিয়াল 1109 00:49:36,360 --> 00:49:40,020 কিন্তু এই শুরুতে বুঝতে পারি যে একটি টুল একটি চেহারা যে আসলে হবে 1110 00:49:40,020 --> 00:49:42,774 যদি আপনি সমস্যা সমাধানের জন্য সাহায্য আরও অনেক কিছু কার্যকরভাবে. 1111 00:49:42,774 --> 00:49:44,690 আমরা শেষ পর্যন্ত কি বুধবার করতে যাচ্ছে 1112 00:49:44,690 --> 00:49:48,180 কয়েক স্তর ছুলা ফিরে শুরু হয় এবং কিছু প্রশিক্ষণ চাকার মুছে ফেলুন. 1113 00:49:48,180 --> 00:49:50,496 যে জিনিস নামক স্ট্রিং যে আমরা কিছু সময়ের জন্য ব্যবহার করেছি 1114 00:49:50,496 --> 00:49:53,370 আমরা ধীরে ধীরে যে দূরে নিতে যাচ্ছেন এবং আপনার কাছ থেকে সম্পর্কে কথা বলা শুরু 1115 00:49:53,370 --> 00:49:55,725 আরো কিছু esoterically গৃহস্থালি * হিসাবে পরিচিত, 1116 00:49:55,725 --> 00:49:59,550 কিন্তু আমরা এই সুন্দর করতে যাচ্ছেন এবং আলতো করে প্রথম, এমনকি পয়েন্টার যদিও, 1117 00:49:59,550 --> 00:50:02,730 তারা বলা করছি, কিছু করতে পারেন যদি নির্যাতিত খুব খারাপ জিনিস, 1118 00:50:02,730 --> 00:50:06,040 থেকে সামান্য claymation এ খুঁজছেন দ্বারা আমাদের বন্ধু স্ট্যানফোর্ড থেকে নিক Parlante 1119 00:50:06,040 --> 00:50:09,670 বিশ্ববিদ্যালয়, কম্পিউটার অধ্যাপক এই প্রিভিউ একত্র করা যারা বিজ্ঞান 1120 00:50:09,670 --> 00:50:11,075 এই বুধবার আসতে কি. 1121 00:50:11,075 --> 00:50:12,196 1122 00:50:12,196 --> 00:50:13,400 >> [ভিডিও প্লেব্যাক] 1123 00:50:13,400 --> 00:50:13,900 -আরে, Binky অনলাইন. 1124 00:50:13,900 --> 00:50:14,930 1125 00:50:14,930 --> 00:50:15,780 ওয়েক আপ. 1126 00:50:15,780 --> 00:50:17,240 এটা মজা করার জন্য পয়েন্টার সময়. 1127 00:50:17,240 --> 00:50:18,260 1128 00:50:18,260 --> 00:50:19,350 >> যে -কি আছে? 1129 00:50:19,350 --> 00:50:21,150 পয়েন্টার সম্পর্কে জানুন? 1130 00:50:21,150 --> 00:50:22,050 ওহ, বুড়ি! 1131 00:50:22,050 --> 00:50:22,897 1132 00:50:22,897 --> 00:50:23,730 [END টি ভিডিও প্লেব্যাক] 1133 00:50:23,730 --> 00:50:25,396 বক্তা 1: বুধবার আপনি awaits. 1134 00:50:25,396 --> 00:50:26,440 আমরা তখন আপনি দেখতে পাবেন. 1135 00:50:26,440 --> 00:50:27,106 [ভিডিও প্লেব্যাক] 1136 00:50:27,106 --> 00:50:30,420 -এবং এখন, ডিপ চিন্তা, Daven Farnham দ্বারা. 1137 00:50:30,420 --> 00:50:33,980 1138 00:50:33,980 --> 00:50:35,900 >> -কেন আমরা সি শেখার? 1139 00:50:35,900 --> 00:50:36,785 কেন না একটি A +? 1140 00:50:36,785 --> 00:50:38,550 1141 00:50:38,550 --> 00:50:40,910 >> [হাস্য] 1142 00:50:40,910 --> 00:50:42,160 >> [END টি ভিডিও প্লেব্যাক]