1 00:00:00,000 --> 00:00:02,440 [Powered by Google Translate] [সপ্তাহ 7] 2 00:00:02,440 --> 00:00:04,730 [ডেভিড জে Malan - হার্ভার্ড বিশ্ববিদ্যালয়] 3 00:00:04,730 --> 00:00:07,490 [এটি CS50. - CS50.TV] 4 00:00:07,490 --> 00:00:12,280 ঠিক আছে. ফিরে আসার জন্য স্বাগতম. এটি CS50, এবং এই সপ্তাহে 7 শুরু. 5 00:00:12,280 --> 00:00:14,690 সামান্য ঘোষণা একটি দম্পতি: 6 00:00:14,690 --> 00:00:18,150 Pset5 প্রগতিতে এখন হয়, বা শীঘ্রই হইবে, 7 00:00:18,150 --> 00:00:21,590 এবং সম্পর্কে বলা যাক, বেশ ভাল, এই আরো চ্যালেঞ্জিং মধ্যে করা ঝোঁক আছে 8 00:00:21,590 --> 00:00:24,460 অবশ্যই এর সমস্যা সেট, তাই এই সম্পর্কে উল্লেখ করা যাক এখন 9 00:00:24,460 --> 00:00:28,190 যাতে এই সপ্তাহে কখনও অধিক আপনি পর্যন্ত অপেক্ষা করবেন না,, বলে বুধবার রাতে 10 00:00:28,190 --> 00:00:29,920 অথবা বৃহস্পতিবার রাতে ইন আকর্ষণীয় যাও 11 00:00:29,920 --> 00:00:32,369 এই হ 'ল একটি আকর্ষণীয় pset. আমরা মনে করি মজা. 12 00:00:32,369 --> 00:00:36,110 যদি সত্যি বলতে কি, পুরোপুরি সঠিক পেতে এবং তথাকথিত বিগ বোর্ড তারপর চ্যালেঞ্জ করতে পারেন, 13 00:00:36,110 --> 00:00:39,830 আপনি অবশ্যই এর কর্মীদের সাথে কিছু মেলে কৌশলে বুদ্ধি খাটিয়ে রোজগার করার সুযোগ পাবেন 14 00:00:39,830 --> 00:00:41,620 এবং আপনার সহপাঠীদের কিছু. 15 00:00:41,620 --> 00:00:44,670 কি বিগ বোর্ড হল একবার আপনি আপনার বানান পরীক্ষক কাজ আছে, 16 00:00:44,670 --> 00:00:48,860 cs50.net আপনি একটি কমান্ড চালানোর পরে যেতে সক্ষম হবেন, 17 00:00:48,860 --> 00:00:52,430 বিশুদ্ধরূপে মধ্যে, তারপর মনোনীত এবং পরিমাণ এবং সময় RAM-র পরিমাণ এবং আরো 18 00:00:52,430 --> 00:00:56,130 আপনি যে আপনার বাস্তবায়ন ব্যবহার করেছেন এখানে কোর্স এর হোম পেজে প্রদর্শিত হবে. 19 00:00:56,130 --> 00:00:59,740 আপনি যে এইসব লোকেরা এখানে আভা কর্মী হিসাবে তালিকাভুক্ত করা হয় বিজ্ঞপ্তি পাবেন 20 00:00:59,740 --> 00:01:04,220 উপর থেকে সপ্তাহান্তে, কর্মীদের চিন্তা এটি একে অপরকে অতিক্রম করা চেষ্টা মজা হবে. 21 00:01:04,220 --> 00:01:07,390 তাই বুঝতে পারি যে এখানে লক্ষ্য কর্মীদের দমন করা হয় না. 22 00:01:07,390 --> 00:01:09,790 এমনকি আমি নম্বর 13 am-এ শুধুমাত্র এখানে. 23 00:01:09,790 --> 00:01:13,790 মধ্যে বিশুদ্ধরূপে, মনোনীত কিন্তু এটা একটা সুযোগ দেখতে ঠিক কিভাবে অল্প RAM- 24 00:01:13,790 --> 00:01:16,790 এবং কিভাবে কয়েকটি CPU-যাও আপনি আপনার সহপাঠীদের মধ্যে সামনা - সামনি কিছু ব্যবহার করতে পারেন. 25 00:01:16,790 --> 00:01:20,540 >> এবং আমি যে কেভিন মাইকেল Schmid মানা করব, 26 00:01:20,540 --> 00:01:23,750 বর্তমানে টিএফএস এক হিসাবে 1 নম্বর স্থান, 27 00:01:23,750 --> 00:01:28,120 এই যে আমরা একটি বাস্তবায়ন সম্ভব কল না 28 00:01:28,120 --> 00:01:32,700 প্রদত্ত যে তিনি লোড জন্য প্রায় 0 RAM ও প্রায় 0 এর ব্যবহার করে যাও. 29 00:01:32,700 --> 00:01:35,670 সুতরাং আমরা কেভিন অফলাইন যত্ন নেব. [হাস্য] 30 00:01:35,670 --> 00:01:40,950 নির্দিষ্ট দক্ষতা কেভিন এখানে পরীক্ষা নির্বাণ আছে. 31 00:01:40,950 --> 00:01:45,280 সে ব্যাপারে আমরা চিন্তা করি না চান তার এক খুব এখন হয় CS50x অগ্রগতি হয় একটি সপ্তাহ, 32 00:01:45,280 --> 00:01:49,520 এবং আপনি ছেলেরা হিসাবে অনেক এই পরীক্ষা হিসাবে যারা ছাত্র হল একটি অংশ. 33 00:01:49,520 --> 00:01:53,720 আমরা তাদের pset0 অংশ হিসাবে তাদের জিজ্ঞাসা করেছি, কোন একভাবে ছিল একটি ভূত প্রকল্প জমা দিন 34 00:01:53,720 --> 00:01:58,280 তাদের সুদের - একটি খেলা, একটি আর্ট ইন্টারেক্টিভ টুকরা, একটা এনিমেশন, বা ভালো - 35 00:01:58,280 --> 00:02:03,700 একটি 1 - 2 মিনিটের ভিডিও, যদি তারা, বিশ্বের হ্যালো বলছে এবং যারা চাই আসলে তারা. 36 00:02:03,700 --> 00:02:06,780 আমার মনে হয়েছে আমি আপনার সাথে মাত্র একটি ভিডিও দম্পতি যে পর্যন্ত জমা দেওয়া হয়েছে ভাগ চাই 37 00:02:06,780 --> 00:02:10,759 কারণ কর্মীদের আমাদের জন্য, অন্তত, এটা সত্যিই উত্তেজনাপূর্ণ হয়েছে 38 00:02:10,759 --> 00:02:14,220 এবং সারা পৃথিবী থেকে এইসব লোকেরা দেখতে দীপক - সমস্ত বিশ্বের দেশ - 39 00:02:14,220 --> 00:02:18,160 সবকিছুর সুরকরণ মধ্যে,, একটি ইন্টারনেট কম্পিউটার বিজ্ঞান কোর্স যাও, 40 00:02:18,160 --> 00:02:20,410 তা এ কারণে তারা তাদের নিজস্ব গবেষণা চালিয়ে যেতে চান, 41 00:02:20,410 --> 00:02:22,300 তারা একটি নতুন দিক তাদের কেরিয়ার নিতে চান, 42 00:02:22,300 --> 00:02:24,390 তারা তাদের নিজস্ব জ্ঞান ফাঁক পূরণ করতে চান, 43 00:02:24,390 --> 00:02:27,190 তাই একই কারণে যে সম্ভবত আপনি না এখানে হয়েছে কিছু. 44 00:02:27,190 --> 00:02:31,090 >> তাই আমি এই ধরনের একটি ছাত্র দিতে এখানে আপনি. আপনি অল্পমাত্র বিট ভলিউম বাড়াতে পারে. 45 00:02:31,090 --> 00:02:35,520 এখানে আমাদের ছাত্র এর 1 মিনিটের জমা এক. 46 00:02:35,520 --> 00:02:40,380 হ্যালো, দুনিয়া. আমি শিল্প মালাগা, স্পেন এখানে ইঞ্জিনিয়ারিং ছাত্র. 47 00:02:40,380 --> 00:02:45,840 আমি এই অনলাইন কোর্স সম্পর্কে কারণ আমি কম্পিউটার বিজ্ঞান প্রেম উত্তেজিত, আমি সত্যিই কি করছি, 48 00:02:45,840 --> 00:02:48,880 এবং সত্যি সত্যিই আমি কৃতজ্ঞ যে আমি এটি পেতে অন্বেষণ. 49 00:02:48,880 --> 00:02:51,940 এবং এটা সত্য যে আমি একই আপনি না কি সব জানতে পারবেন 50 00:02:51,940 --> 00:02:57,040 কিন্তু এর পরিবর্তে হচ্ছে হার্ভার্ড আমি মালাগা মধ্যে am সারাংশ, কিভাবে সন্ত্রস্ত হল যে? 51 00:02:57,040 --> 00:03:02,040 ওয়েল, আমি Fernando, এবং এই CS50. আপনি না দেখুন. 52 00:03:02,040 --> 00:03:07,100 [হাস্য] আরেকটি ক্লিপ আমরা বিশেষ পছন্দ করেন, আপনি যে এই ভদ্রলোক এর ইংরেজি তাই দৃঢ় না খুঁজে পাবেন. 53 00:03:07,100 --> 00:03:11,520 দেখে মনে হচ্ছে তিনি কি মেশিনে অনুবাদ, তাই অনুবাদ নিজেরা একটি বিট অপূর্ণ, 54 00:03:11,520 --> 00:03:15,790 কিন্তু এই ছিল আমাদের প্রিয় এক পর্যন্ত হিসাবে ভাল. 55 00:03:25,080 --> 00:03:29,980 [♪ ♪] 56 00:03:29,980 --> 00:03:32,370 হ্যালো, দুনিয়া. [জাপানি বলতে] 57 00:03:32,370 --> 00:03:39,830 [আমি জাপানি মধ্যে অভিবাদন যাও আছে কারণ আমার ইংরেজি খুবই অবিশ্বস্ত.] 58 00:03:39,830 --> 00:03:45,380 [আমি আপনাকে বার্তা বিতরিত Gifu শহর, জাপান থেকে.] 59 00:03:45,380 --> 00:03:49,820 [আমি 20 বছর হতে প্রথমবার জন্য একজন ছাত্র হিসাবে দেখা যায়.] 60 00:03:49,820 --> 00:03:54,640 [আমি হার্ভার্ড ইউনিভার্সিটি খুব কৃতজ্ঞ যারা এই সুযোগ দিয়েছেন এবং edX সম্পর্কে.] 61 00:03:54,640 --> 00:04:01,510 [গলফ একটি গিটার এবং আমার প্রিয় জিনিস চলমান.] [হাস্য] 62 00:04:01,510 --> 00:04:05,750 [♪ ♪] 63 00:04:05,750 --> 00:04:10,790 [আপনি কেন আমি একটি cs50x পরিচর্যা করা চেষ্টা ছিল মনে করি.] 64 00:04:10,790 --> 00:04:14,990 [হার্ভার্ড ইউনিভার্সিটি, এটা আমার আকাঙ্ক্ষা.] 65 00:04:14,990 --> 00:04:19,740 [বিশেষ করে যদি আমি ক্ষীণ উপস্থিতি জাপান বাস করতেন.] 66 00:04:19,740 --> 00:04:26,680 [আমি যেমন edX যখন. অস্তিত্ব অবিলম্বে সচেতন চেষ্টা চেয়েছিলেন] 67 00:04:26,680 --> 00:04:32,500 [আপনি তাই মনে করি আপনি আই শেখার বয়স সংক্রান্ত না করবেন না] 68 00:04:32,500 --> 00:04:38,350 [Cs50 আমার আকাঙ্ক্ষা. আমার নাম Kazu, এবং এই cs50.] 69 00:04:38,350 --> 00:04:43,090 [♪ ♪] [সাধুবাদ এবং হর্ষধ্বনি] 70 00:04:43,090 --> 00:04:49,220 আমাদের আরেক প্রিয় ছিল এই কারোর থেকে এখানে জমা. 71 00:04:51,070 --> 00:04:55,380 [♪ ♪] [Malan] গুগুল এটি যদি আপনি এই মেমে সাথে অপরিচিত. 72 00:04:55,380 --> 00:05:01,480 >> এবং তারপর সর্বশেষে, অন্যদের যে সম্ভবত আরাধ্য পুরস্কার জিতে পোস্ট আছে একটি দম্পতি. 73 00:05:01,480 --> 00:05:06,820 [ছাত্র] ওহো! >> [Malan] আমরা শুনতে পাবেন. এটি ছোট, তাই ঘনিষ্ঠভাবে শুনতে. 74 00:05:08,580 --> 00:05:11,150 [মহিলা স্পিকার] কি আপনার নাম? >> Louie. 75 00:05:11,150 --> 00:05:16,120 [মহিলা স্পিকার] কি এই? >> [Giggles] CS50. [হাস্য] 76 00:05:16,120 --> 00:05:19,510 [Malan] তিনি দুই বার লাগে যদিও,. 77 00:05:19,510 --> 00:05:22,240 এখানে আমরা শেষ যান,. 78 00:05:23,030 --> 00:05:26,980 আমার নাম Louie, এবং এই CS50. 79 00:05:26,980 --> 00:05:30,250 [হাস্য] এরপর CS50x. 80 00:05:30,250 --> 00:05:33,230 আপনি তাদের সমস্ত যাও আপনি যখন বাড়িতে অনুসরণ বরাবর ধন্যবাদ 81 00:05:33,230 --> 00:05:35,620 আছে যারা দূর পর্যন্ত partaking হয়েছে. 82 00:05:35,620 --> 00:05:39,510 আজকে আমরা ডাটা স্ট্রাকচার আমাদের আলোচনার উপসংহার, 83 00:05:39,510 --> 00:05:41,160 অন্তত অধিকাংশ মৌলিক কিছু, 84 00:05:41,160 --> 00:05:44,760 এবং তারপর আমরা আপনাকে HTML এবং ওয়েব প্রোগ্রামিং সম্পর্কে আমাদের কথোপকথন অবিরত. 85 00:05:44,760 --> 00:05:48,520 বস্তুত, আমরা গত অতিবাহিত করেছি কিছু সাত সপ্তাহের প্রোগ্রামিং এর মৌলিক দিকে তাকিয়ে - 86 00:05:48,520 --> 00:05:50,450 আলগোরিদিম, ডাটা স্ট্রাকচার, এবং ভালো - 87 00:05:50,450 --> 00:05:53,050 এবং C, হিসাবে আপনি অভিজ্ঞ পর্যন্ত থাকতে পারে, 88 00:05:53,050 --> 00:05:57,060 অগত্যা হয় ভাষার সবচেয়ে অ্যাক্সেস করা যাবে না 89 00:05:57,060 --> 00:05:59,090 যাতে যারা ধারণা কিছু বাস্তবায়ন. 90 00:05:59,090 --> 00:06:01,880 তাই শুরু এই সপ্তাহের এবং পরের সপ্তাহে এবং তারপর নিম্নলিখিত, 91 00:06:01,880 --> 00:06:07,110 পরিশেষে আমরা সি, যা একটি মোটামুটি নিম্ন স্তরের ভাষা হিসাবে সাধারণত পরিচিত থেকে স্থানান্তর করতে সক্ষম হবেন, 92 00:06:07,110 --> 00:06:11,190 উচ্চ তাদের পিএইচপি, জাভাস্ক্রিপ্ট মধ্যে স্তর,, এবং ভালো জিনিস, 93 00:06:11,190 --> 00:06:14,850 যা আমরা একই পাঠ যে আমরা গত কয়েক সপ্তাহের মধ্যে শেখা করেছি উপর আঁকা দেখতে পাবেন, 94 00:06:14,850 --> 00:06:19,430 কিন্তু আপনি খুঁজে পাবেন যে অ্যারে এবং হ্যাশ টেবিল মত কাজ ঘোষণা ও অনুসন্ধান এবং বাছাই 95 00:06:19,430 --> 00:06:23,370 তাই অনেক সহজ হয়ে উঠেছে, কারণ আমরা নিজেদের ভাষা ব্যবহার করা শুরু করব 96 00:06:23,370 --> 00:06:25,290 আরো শক্তিশালী হতে হবে. 97 00:06:25,290 --> 00:06:27,410 কিন্তু প্রথম, গাছের একটি অ্যাপ্লিকেশন. 98 00:06:27,410 --> 00:06:30,240 এটা খুব সাধারণ এইসব দিন যাও যাও তথ্য সঙ্কুচিত করা প্রয়োজন. 99 00:06:30,240 --> 00:06:34,770 আপনি ডিজিটাল তথ্য কিছু কম্প্রেস কোন প্রসঙ্গে চায়? 100 00:06:37,190 --> 00:06:39,670 >> হাঁ. >> [ছাত্রদের] আপনি যখন ওয়েব উপর এটি পাঠাতে হবে. 101 00:06:39,670 --> 00:06:41,450 হ্যাঁ, আপনি যখন ওয়েব উপর কিছু পাঠাতে চান. 102 00:06:41,450 --> 00:06:44,950 আপনি যদি একটি বড় ফাইল ডাউনলোড করতে চান, তা অপর প্রান্তের এর কেউ যদি আদর্শ 103 00:06:44,950 --> 00:06:48,760 করেনি যে ফাইলটি কম্প্রেস করা একটি পিন বিন্যাসে অথবা যে ভালো কিছু ব্যবহার 104 00:06:48,760 --> 00:06:53,760 যাতে আপনি বিট অন্যথায় তুলনায় কম হতে পারে প্রেরিত প্রেরণ করছেন. 105 00:06:53,760 --> 00:06:55,500 সুতরাং আপনি কিভাবে কোনো তথ্য কম্প্রেস? 106 00:06:55,500 --> 00:07:00,540 এটা সব চেয়ে কম বিট ডিফল্টরূপে প্রয়োজন ব্যবহার boils ডাউন. 107 00:07:00,540 --> 00:07:03,220 কিন্তু এই একটি অদ্ভুত জিনিস ধরনের কারণ সপ্তাহ 0 এবং 1 ফিরে মনে 108 00:07:03,220 --> 00:07:07,370 যখন আমরা স্বপ্ন ASCII এবং বাইনারি এবং আমরা বললাম বিশেষ সম্পর্কে ASCII 109 00:07:07,370 --> 00:07:10,690 হিসাবে 8 বিট বর্ণমালার অক্ষর প্রতিনিধিত্ব ব্যবহার 110 00:07:10,690 --> 00:07:16,120 যাতে একটি চিঠি 65 প্রতিনিধিত্ব করেন, এটি একটি ছোট হাতের অক্ষর সংখ্যা 97, 111 00:07:16,120 --> 00:07:21,210 এবং যদিও আপনি 65 বা 97 প্রতিনিধিত্ব করেন, আপনি 7 অথবা 8 বিট ব্যবহার করছেন. 112 00:07:21,210 --> 00:07:24,120 কিন্তু ধরা হয় যে ইংরেজি বর্ণমালার কিছু অক্ষর আছে 113 00:07:24,120 --> 00:07:26,230 যা অন্যদের হিসাবে হিসাবে জনপ্রিয় হয় না. 114 00:07:26,230 --> 00:07:31,600 Z হয়, প্রশ্ন যে সমস্ত জনপ্রিয় নয় যে সমস্ত জনপ্রিয় না, কিন্তু একটি এবং ই হয় সুপার জনপ্রিয়. 115 00:07:31,600 --> 00:07:37,280 এই চিঠিগুলির জন্য এখনো এবং, ডিফল্ট দুনিয়া বিট একই সংখ্যা ব্যবহার করে, মাত্র 8. 116 00:07:37,280 --> 00:07:42,690 সুতরাং এটি হতো না প্রতি চিঠি জন্য 8 বিট ব্যবহার করে যদি স্মার্ট পরিবর্তে, 117 00:07:42,690 --> 00:07:47,440 এমনকি অধিকাংশ ক্ষেত্রে প্রশ্ন এবং Z মত ব্যবহার করা যায়, 118 00:07:47,440 --> 00:07:51,910 কি যদি আমরা একটি এবং ই এবং S এবং সবচেয়ে জনপ্রিয় চিঠি জন্য কম বিট ব্যবহৃত 119 00:07:51,910 --> 00:07:55,000 এবং কম জনপ্রিয় চিঠি জন্য আরো বিট ব্যবহার, 120 00:07:55,000 --> 00:07:57,770 সাধারণ ধারণা হচ্ছে কেস জন্য let এর আশাবাদী, 121 00:07:57,770 --> 00:08:01,160 যা কম্পিউটার বিজ্ঞান মধ্যে একটি কি ঘটতে যাচ্ছে সবচেয়ে নিখুত করার চেষ্টা থিম 122 00:08:01,160 --> 00:08:05,310 এবং যে, হাঁ, ঘটতে পারে উপর একটু আরো সময়, আরো কিছু জায়গা ব্যয় 123 00:08:05,310 --> 00:08:07,680 কিন্তু না অগত্যা হিসাবে প্রায়শই. 124 00:08:07,680 --> 00:08:09,330 সুতরাং আসুন একটি উদাহরণ. 125 00:08:09,330 --> 00:08:12,610 >> ধরুন যে আমরা মোটামুটি তথ্য দক্ষতার সঙ্কেতাক্ষরে লিখা চাই. 126 00:08:12,610 --> 00:08:15,090 আপনি আপ উত্থিত হতে পারে একটি সাঙ্কেতিক লিখন - পদ্ধতি সম্পর্কে সামান্য কিছু বুদ্ধিমান, 127 00:08:15,090 --> 00:08:17,450 মতভেদ আছে এবং আপনি আসল কোড জানেন না, 128 00:08:17,450 --> 00:08:21,750 কিন্তু আপনি যে এটা অন্তত বিন্দু এবং ড্যাশ এই সিরিজের প্রত্যাহার করা হতে পারে. 129 00:08:21,750 --> 00:08:26,640 এটি একটি মোটামুটি দক্ষ কোডিং, এবং যে বিজ্ঞপ্তি সবচেয়ে জনপ্রিয় চিঠি - উদাহরণস্বরূপ, ই - 130 00:08:26,640 --> 00:08:28,980 beeps মধ্যে সবচেয়ে কম ব্যবহার করে. 131 00:08:28,980 --> 00:08:31,740 জলহস্তী কোড সব হুইসেল-হুইসেল-হুইসেল-হুইসেল-হুইসেল-হুইসেল সম্পর্কে এবং টোন অধিষ্ঠিত হয় 132 00:08:31,740 --> 00:08:34,799 উভয় জন্য সময় বা সময় দীর্ঘ স্বল্প সময়সীমার. 133 00:08:34,799 --> 00:08:40,330 ই, বিন্দু দ্বারা হিসাবে denoted, একটি সুপার ছোট হুইসেল, ঠিক হুইসেল, এবং যে E. উপস্থাপনের 134 00:08:40,330 --> 00:08:43,960 বিপরিতভাবে, টি হুইসেল মত একটি লম্বা হুইসেল করা, [prolongs শব্দ] চাই, 135 00:08:43,960 --> 00:08:45,710 এবং যে টি উপস্থাপনের 136 00:08:45,710 --> 00:08:48,840 কিন্তু এখনও বেশ ছোট কারণ, এর বিপরীতে, যদি আপনি Z তাকান, 137 00:08:48,840 --> 00:08:52,690 যাও প্রকাশ Z আপনি হুইসেল, হুইসেল [আর শব্দ], হুইসেল, হুইসেল [খাটো শব্দ] যেতে হবে. 138 00:08:52,690 --> 00:08:55,360 এটা আর না কারণ এটি কম প্রচলিত. 139 00:08:55,360 --> 00:08:58,150 কিন্তু এখানে gotcha যে সাঙ্কেতিক লিখন - পদ্ধতি একটি বিট দ্বিধান্বিত 140 00:08:58,150 --> 00:09:00,610 যে তা অবিলম্বে decodable না. 141 00:09:00,610 --> 00:09:07,350 উদাহরণস্বরূপ, অনুমান যে আপনি তারের হুইসেল কিছু প্রান্তে শুনতে [ছোট], হুইসেল [দীর্ঘ]. 142 00:09:07,350 --> 00:09:12,480 কি বার্তা আমি পাইনি? একটি বিন্দু এবং একটি ড্যাশ. কি যে প্রতিনিধিত্ব করছে? 143 00:09:12,480 --> 00:09:15,330 [ছাত্রদের] এ >> [Malan] হতে পারে. 144 00:09:15,330 --> 00:09:18,270 এটা হতে ই টি অনুসরণ করতে পারে 145 00:09:18,270 --> 00:09:23,390 অন্য কথায়, সাঙ্কেতিক লিখন - পদ্ধতি, যদিও এটি কোণ ক্ষেত্রে নিখুঁত এই মন্ত্র ওঠানামায়, 146 00:09:23,390 --> 00:09:26,250 এটা এদের জন্য অবিলম্বে decodability যাও ধার না. 147 00:09:26,250 --> 00:09:29,850 অর্থাৎ, যারা মানুষের বা শ্রবণ এবং এই বিন্দু ড্যাশ গ্রহণ করা হয় 148 00:09:29,850 --> 00:09:34,540 যাও একরকম চিন্তা যেখানে বিরতি অক্ষর মধ্যে হয় আছে, 149 00:09:34,540 --> 00:09:39,660 কারণ যদি আপনি যেখানে যারা বিরতি হয় না জানি, আপনি ই বা তদ্বিপরীত জন্য একটি গুলাইয়া ফেলা হতে পারে. 150 00:09:39,660 --> 00:09:43,880 >> আপনি কি করতে পারে? সাঙ্কেতিক লিখন - পদ্ধতি ঠিক আপনি প্রতিটি অক্ষরের মধ্যে বিরাম পারে. 151 00:09:43,880 --> 00:09:47,660 কিন্তু pausing হয় জিনিষ দ্রুত গাড়ী চালানোর আপ পুরো বিন্দু পাল্টা ধরনের. 152 00:09:47,660 --> 00:09:52,880 তাই আমরা যদি পরিবর্তে একটি কোড নিয়ে এসেছেন যেখানে ছিল এই খারাপ অবস্থা নেই 153 00:09:52,880 --> 00:09:56,570 যেখানে ই হয় উদাহরণস্বরূপ, এটি একটি উপসর্গ, একটি, - 154 00:09:56,570 --> 00:10:00,020 অন্য কথায়, যদি আমরা নিশ্চিত যে নিদর্শন এখনও জনপ্রিয় চিঠি জন্য সংক্ষিপ্ত করতে পারে 155 00:10:00,020 --> 00:10:04,850 দীর্ঘ কম জনপ্রিয় জন্য চিঠি, কিন্তু কোন সম্ভাব্য বিভ্রান্তির আছে? 156 00:10:04,850 --> 00:10:08,930 Huffman নামের একজন বছর আগে এই প্রকল্প নামক Huffman কোডিং উদ্ভাবিত 157 00:10:08,930 --> 00:10:12,390 যে আসলে একটা ডাটা স্ট্রাকচার সময় আমরা একটি বিট কাটিয়েছি বলছি ওঠানামায় 158 00:10:12,390 --> 00:10:16,560 এই গত সপ্তাহে, গাছ, বিশেষভাবে বাইনারি গাছ যে - 159 00:10:16,560 --> 00:10:19,710 একটি বাইনারি গাছ অর্থ যে এটি 2 শিশুদের চেয়ে বেশি আছে. 160 00:10:19,710 --> 00:10:22,720 এটা হয়তো একটি সন্তান বাম, ডান হয়তো একটি সন্তান, এবং যে এটি. 161 00:10:22,720 --> 00:10:26,510 শুধুমাত্র আলোচনার জন্য হেতু তাই অনুমান যে কেউ একটি বার্তা পাঠাতে চায় 162 00:10:26,510 --> 00:10:31,270 যে ভালো দেখায়. এটা সম্পূর্ণ অর্থহীন বিষয় কিন্তু এটি যেহেতু গঠিত এর, Bs, Cs, Ds, এবং স্প্যানিশ ভাষায়. 163 00:10:31,270 --> 00:10:34,890 এবং যদি প্রকৃতপক্ষে আপনি যেহেতু সব গণনা আপ, Bs, Cs, Ds, এবং স্প্যানিশ ভাষায় 164 00:10:34,890 --> 00:10:36,870 এবং তারপর অক্ষর মোট সংখ্যা দ্বারা বিভক্ত করা, 165 00:10:36,870 --> 00:10:42,710 এই সামান্য এখানে চার্ট বলছেন যে অক্ষর 45% স্প্যানিশ ভাষায় হয়, যেহেতু 20% হয়, 166 00:10:42,710 --> 00:10:45,010 10% Bs, এবং তাই ঘোষণা. 167 00:10:45,010 --> 00:10:47,330 তাই অন্য কথায়, অনুমান করা হয়েছে যে সেখানে উদ্ধৃত পংক্তি 168 00:10:47,330 --> 00:10:49,080 হয় না কিছু কিছু বার্তা যে আপনি পাঠাতে চান. 169 00:10:49,080 --> 00:10:52,180 এটা করা অর্থহীন বিষয় ঘটবে ঠিক তাই আমরা সম্ভাব্য হিসাবে কয়েকটি বর্ণ হিসাবে ব্যবহার করতে পারেন, 170 00:10:52,180 --> 00:10:55,220 কিন্তু এটা সত্যিই এর ক্ষেত্রে যে ই অবশেষ সবচেয়ে জনপ্রিয়, 171 00:10:55,220 --> 00:11:01,450 এবং B ও C কম জনপ্রিয়, এই বর্ণমালার অক্ষর কমপক্ষে 5. 172 00:11:01,450 --> 00:11:04,040 তাই আমরা কিভাবে একটি এনকোডিং সঙ্গে উত্ক্রান্ত যেতে পারবেন, 173 00:11:04,040 --> 00:11:08,430 একটি বাইনারি এনকোডিং, 0 সেঃ এবং 1s একটি এইসব অক্ষরের জন্য প্রতিটি প্যাটার্ন 174 00:11:08,430 --> 00:11:14,820 এমন যে ই একটি ছোট প্যাটার্ন এবং হয়ত B এবং C হয় সামান্য বেশি দীর্ঘ নিদর্শন, 175 00:11:14,820 --> 00:11:19,270 আবার, ধারণা করা হচ্ছে যে আমরা বেশির ভাগ সময়ে ব্যবহার কম বিট করতে চান 176 00:11:19,270 --> 00:11:21,790 এবং আরো বিট শুধুমাত্র কখনোসখনো. 177 00:11:21,790 --> 00:11:26,070 যাও Huffman কোডিং মতে, আপনি একটি গাছের বন তৈরি করতে পারেন. 178 00:11:26,070 --> 00:11:31,190 এখানে আছে একটি বিবরণ লাইনের সাজানোর যে গাছ এবং তাদের আপ নির্মাণ প্রক্রিয়ার সঙ্গে জড়িয়ে আছে. 179 00:11:31,190 --> 00:11:32,420 চলুন শুরু. 180 00:11:32,420 --> 00:11:36,140 >> আমি উত্থাপন করা যে আপনি এই বন দিয়ে শুরু, তাই 5 গাছ, কথা বলতে, 181 00:11:36,140 --> 00:11:38,260 যার প্রতিটি একটি চমত্কার মূঢ় গাছ. 182 00:11:38,260 --> 00:11:42,800 গাছ কেবলমাত্র একটি নোড, হিসাবে একটি বৃত্ত এখানে প্রতিনিধিত্ব গঠিত হয়. 183 00:11:42,800 --> 00:11:45,310 সুতরাং এই জিনিষ প্রতিটি সি struct হতে পারে 184 00:11:45,310 --> 00:11:50,200 এবং C struct ভেতরে একটি float ফ্রিকোয়েন্সি গণনা প্রতিনিধিত্বমূলক হতে পারে 185 00:11:50,200 --> 00:11:52,510 এবং তখন হয়তো একটি গৃহস্থালি চিঠি প্রতিনিধিত্বমূলক. 186 00:11:52,510 --> 00:11:56,470 এই নোডের মধ্যে সে কোনো পুরানো সি struct হিসাবে মনে করি কিন্তু, এখন জন্য উচ্চতর স্তর,. 187 00:11:56,470 --> 00:12:01,230 এটি 5 গাছ, যারা শুধুমাত্র একটি নোড আছে প্রতিটি একটি বন. 188 00:12:01,230 --> 00:12:06,830 কি Huffman প্রস্তাবিত যে আমরা যারা গাছ মেশা শুরু 189 00:12:06,830 --> 00:12:11,140 যে সামান্য বড় গাছ মধ্যে ক্ষুদ্রতম ঘটন সংখ্যা আছে 190 00:12:11,140 --> 00:12:13,490 দ্বারা একটি নতুন মূল নোডের সাথে তাদের সংযোগ. 191 00:12:13,490 --> 00:12:17,560 সুতরাং এখানে অক্ষর মধ্যে, নোটিশ সুবিধার জন্য আমি বাম থেকে ডান তাদের সাজানো করেছি, 192 00:12:17,560 --> 00:12:21,420 যদিও যে কঠোরভাবে প্রয়োজন, এবং বিজ্ঞপ্তি না যে ক্ষুদ্রতম নোড 193 00:12:21,420 --> 00:12:23,930 বর্তমানে 10% এবং 10%. 194 00:12:23,930 --> 00:12:28,940 সুতরাং Huffman প্রস্তাব করেন যে আমরা একটি নতুন গাছ মধ্যে যারা 2 ক্ষুদ্রতম নোড একত্রীকরণ 195 00:12:28,940 --> 00:12:34,450 একটি নতুন ঊর্ধ্বতন নোডের পরিচয় করানো এবং তারপর দ্বারা একটি চাইল্ড বাম এবং ডান একটি সন্তানের দেবে যে পিতা বা মাতা 196 00:12:34,450 --> 00:12:37,720 যেখানে বি ইচ্ছামত হয় বাম এবং সি ইচ্ছামত সঠিক. 197 00:12:37,720 --> 00:12:41,590 এবং তারপর আরও Huffman প্রস্তাব করেন যে এখন let এর বাম শিশুর ঠিক মনে 198 00:12:41,590 --> 00:12:44,790 এই গাছ এক হিসাবে সবসময় 0 দ্বারা প্রতিনিধিত্ব করা হচ্ছে 199 00:12:44,790 --> 00:12:47,890 এবং সর্বদা শিশু অধিকার হিসাবে 1 নম্বর দ্বারা প্রতিনিধিত্ব করা হচ্ছে. 200 00:12:47,890 --> 00:12:50,680 >> আপনি যদি তাদের এতক্ষণ হিসাবে আপনি সামঞ্জস্যপূর্ণ টুসকি না ব্যাপার. 201 00:12:50,680 --> 00:12:54,650 তাই এখন আমরা এই বন চারটি গাছ আছে. 202 00:12:54,650 --> 00:12:58,050 এবং আমি বলতে চার কারণ এখন বাম ট্রি - 203 00:12:58,050 --> 00:13:00,570 এবং এটা অর্থে যে এই উপায় বৃদ্ধি মধ্যে একটি গাছ করতেন না, 204 00:13:00,570 --> 00:13:05,170 এটি একটি পরিবার গাছ যেখানে এখন 0.2 দুটি শিশুদের প্যারেন্ট সাজানোর মত আরো - 205 00:13:05,170 --> 00:13:07,930 বিজ্ঞপ্তি যে পিতা বা মাতা, আমরা 0.2 টানা করেছি. 206 00:13:07,930 --> 00:13:13,370 আমরা দুই শিশুদের ঘটন সংখ্যা যোগ করেছি এবং প্রদত্ত নতুন নোডের মোট সমষ্টি. 207 00:13:13,370 --> 00:13:15,310 তাই এখন আমরা এই প্রক্রিয়া পুনরাবৃত্তি. 208 00:13:15,310 --> 00:13:19,490 দুই ক্ষুদ্রতম নোড খুঁজুন এবং তারপর একটি নতুন গাছ মধ্যে তাদের যোগদান 209 00:13:19,490 --> 00:13:21,380 এবং তারপর প্রক্রিয়া আরও পুনরাবৃত্তি. 210 00:13:21,380 --> 00:13:26,390 রাইট এখন আমরা কয়েক প্রার্থী, 20%, 15%, এবং অন্য 20% আছে. 211 00:13:26,390 --> 00:13:29,780 এই ক্ষেত্রে, আমরা টাই বিরতি আছে. আমরা ইচ্ছামত ব্যবহার করতে পারি. 212 00:13:29,780 --> 00:13:31,540 আমরা এটা ধারাবাহিকভাবে করবেন. 213 00:13:31,540 --> 00:13:33,760 এই ক্ষেত্রে, ইচ্ছামত আমি বাম দিকে এক সঙ্গে যাবেন, 214 00:13:33,760 --> 00:13:39,880 এবং এখন আমি 20% এবং 15% যাও সম্পর্কে একটি নতুন ঊর্ধ্বতন নামক 35% দিতে একত্রীকরণ, 215 00:13:39,880 --> 00:13:46,310 যার বাম সন্তানের 0, যার অধিকার সন্তানের সংখ্যা 1, এবং এখন আমরা শুধু বনের মধ্যে তিনটি গাছ আছে. 216 00:13:46,310 --> 00:13:47,960 আপনি হয়তো দেখতে পাবেন যেখানে এই যাচ্ছে. 217 00:13:47,960 --> 00:13:51,150 যদি আমরা পুনরাবৃত্তি একটি দম্পতি আরো কয়েকবার এই, আমরা শুধু একটা বড় গাছ আছে চলুন, 218 00:13:51,150 --> 00:13:53,900 সব যার কোণগুলি 0 সেঃ এবং 1s সঙ্গে লেবেলযুক্ত. 219 00:13:53,900 --> 00:13:55,710 এর আবার এটা করুক. 220 00:13:55,710 --> 00:14:02,600 35% হল যে গাছ এর রুট. 20% এবং 45%, তাই আমরা 35% এবং 20% একত্রীকরণ চলুন. 221 00:14:02,600 --> 00:14:05,610 এখন আমরা এই গাছ এখানে আছে. আমরা যারা একসাথে যুক্ত, আমরা 55% আছে. 222 00:14:05,610 --> 00:14:07,910 এখন বনের মধ্যে মাত্র দুটি গাছ আছে. 223 00:14:07,910 --> 00:14:11,900 আমরা এই চূড়ান্ত এক সময় না, এবং আশা গাণিতিক সব ফ্রিকোয়েন্সি পর্যন্ত যোগ 224 00:14:11,900 --> 00:14:15,570 কারণ তারা যেহেতু আমরা তাদের থেকে নির্ণিত হবে 100% যোগ-get যান. 225 00:14:15,570 --> 00:14:17,960 এবং এখন আমরা এক গাছ আছে. 226 00:14:17,960 --> 00:14:20,580 সুতরাং এই একটি Huffman কোডিং গাছ. 227 00:14:20,580 --> 00:14:24,400 এই ধরনের একটি সময় আছে শব্দগতভাবে পেতে নেন, কিন্তু সঙ্গে একটি বাস্তবতা লুপ জন্য 228 00:14:24,400 --> 00:14:27,620 অথবা একটি recursive ফাংশন সঙ্গে, আপনি এই জিনিস বিল্ড আপ প্রশংসনীয় দ্রুত হতে পারে. 229 00:14:27,620 --> 00:14:32,440 তাই এখন আমরা এক নতুন নোড আছে, এবং এই ভেতরের নোডের মধ্যে সমস্ত malloc'd হয়েছে, 230 00:14:32,440 --> 00:14:34,690 সম্ভবতঃ, বরাবর উপায়. 231 00:14:34,690 --> 00:14:38,650 এই গাছ শীর্ষে এখন তাই আমরা 100% আছে, কিন্তু এখন আমরা একটি বিজ্ঞপ্তি পাথ আছে 232 00:14:38,650 --> 00:14:43,780 থেকে এই নতুন মহান মহান--মহান-পিতামহ যাও মহান--মহান মহান-grandchildren সব 233 00:14:43,780 --> 00:14:45,930 সমস্ত নীচে পথ, পাতার সব. 234 00:14:45,930 --> 00:14:52,840 >> আমরা এখন কি করতে যাচ্ছেন যে যাতে চিঠি ই প্রতিনিধিত্ব উত্থাপন করা হয়, 235 00:14:52,840 --> 00:14:55,670 আমরা শুধু 1 নম্বর ব্যবহার করতে হবে. কেন? 236 00:14:55,670 --> 00:15:01,000 কারণ যদি আমরা চূড়ান্ত রুট থেকে নিচে এই পাতার গাছ, তর্ক ই হিসাবে পরিচিত, 237 00:15:01,000 --> 00:15:06,050 আমরা শুধু একটা প্রান্ত, ডান প্রান্ত অনুসরণ করা, এবং যে কোর্সের উপরে ডান 1 এ লেবেল এর. 238 00:15:06,050 --> 00:15:11,550 সুতরাং Huffman জন্য এখানে সংশ্লেষ ছিল যে কেবল বাইনারি ই এর এনকোডিং হতে 1 হইবে. 239 00:15:11,550 --> 00:15:14,490 এবং যে জঘন্য বেশ দক্ষ. সত্যিই যে কোনো চেয়ে ছোট না পেতে পারি. 240 00:15:14,490 --> 00:15:18,350 বিপরীতভাবে, একবার একটি প্রতিনিধিত্ব করা হবে, যদি আপনি যুক্তিবিজ্ঞান অনুসরণ করা হবে, 241 00:15:18,350 --> 00:15:21,610 দ্বারা বিট পরিবর্তে প্যাটার্ন কি? 01. 242 00:15:21,610 --> 00:15:25,500 সুতরাং একটি পেতে, আমরা root-এ শুরু এবং আমরা যান এবং বামে তারপর আমরা ডানে যান, 243 00:15:25,500 --> 00:15:28,580 যার অর্থ হল আমরা একটি 0 পরে এবং একটি 1. 244 00:15:28,580 --> 00:15:32,810 সুতরাং আমরা একটি প্যাটার্ন 0 এবং 1 দিয়ে চিঠি চিত্রিত করা হইবে. 245 00:15:32,810 --> 00:15:36,010 এবং এখন লক্ষ্য করা আমরা ইতিমধ্যে অবিলম্বে decodability একটি সম্পত্তি আছে 246 00:15:36,010 --> 00:15:38,090 আমরা যে সাঙ্কেতিক লিখন - পদ্ধতি আছে কি না. 247 00:15:38,090 --> 00:15:42,840 যদিও এই নিদর্শনগুলোর উভয় হয় চমত্কার ছোট - ই হয় 1 বিট, একটি হল 2 বিট - 248 00:15:42,840 --> 00:15:45,080 লক্ষ্য করা যে তারা একটি বা অন্যান্য বিভ্রান্ত করা যাবে না, 249 00:15:45,080 --> 00:15:54,870 কারণ আপনি যদি 1 দেখুন এটি একটি ই হবে, যদি আপনি দেখতে পেয়েছেন এর একটি 0 তারপর একটি 1 এটা সম্ভবত এর একটি এ করা না 250 00:15:54,870 --> 00:15:58,410 একইভাবে, কি: D? 001. 251 00:15:58,410 --> 00:16:01,440 সি কি? 0001. 252 00:16:01,440 --> 00:16:05,320 এবং কি বি? 0000. 253 00:16:05,320 --> 00:16:09,550 এবং আবার, কারণ চিঠি সম্পর্কে আমরা যত্ন সব পাতার হয় 254 00:16:09,550 --> 00:16:13,890 এবং তাদের কেউ থেকে root পরিচয়ে পাত পাথ আছে middlemen ধরনের, 255 00:16:13,890 --> 00:16:18,760 বিভিন্ন এনকোডিং 2 অক্ষর 'conflating কোন ঝুঁকি নেই 256 00:16:18,760 --> 00:16:22,300 কারণ এই বিট প্যাটার্নের সব নিয়ন্ত্রণবাদী. 257 00:16:22,300 --> 00:16:25,280 0000 সবসময় বি হবে 258 00:16:25,280 --> 00:16:29,480 কোথাও কোনো নোডের মধ্যে যে আপনি অন্যান্য জন্য একটি অক্ষর গুলান পারে আছে. 259 00:16:29,480 --> 00:16:31,150 তাই এখানে যা বোঝানো হয়েছে? 260 00:16:31,150 --> 00:16:35,080 >> সবচেয়ে জনপ্রিয় চিঠি - এই ক্ষেত্রে ই - কম এনকোডিং করেনি অর্জিত, 261 00:16:35,080 --> 00:16:37,430 একটি পরের কম এনকোডিং করেনি অর্জিত, 262 00:16:37,430 --> 00:16:41,390 এবং বি এবং সি, যা আমরা ইতিমধ্যে-get যেতে কমপক্ষে জনপ্রিয় ছিল ধরনের থেকে জানত 263 00:16:41,390 --> 00:16:45,390 10% ফ্রিকোয়েন্সি প্রতিটি সময়ে, তারা দীর্ঘতম এনকোডিং অর্জিত হয়েছে. 264 00:16:45,390 --> 00:16:49,410 তাই কি এখন এই মানে হল যে যদি আপনাকে একটি বার্তা সংকুচিত যে এর পাঠাতে চান 265 00:16:49,410 --> 00:16:51,950 ওভার ইন্টারনেট অথবা কোন ইমেল বা ভালো, 266 00:16:51,950 --> 00:16:56,730 বরং মান ASCII ব্যবহার করে, আপনি একটি কোডেড Huffman বার্তা পাঠাতে পারেন 267 00:16:56,730 --> 00:17:01,720 তদ্দ্বারা যদি আপনি চিঠি ই পাঠাতে চান, তাহলে আপনি শুধুমাত্র একটি একক পাঠাতে বিট. 268 00:17:01,720 --> 00:17:05,680 আপনি যদি একটি একটি পাঠাতে চান, আপনি 2 বিট, 01, পরিবর্তে 8 বিট প্রেরণ পাঠান 269 00:17:05,680 --> 00:17:10,190 অন্য আরেকটি 8 8 বিট এবং তাই ঘোষণা অনুসরণ বিট দ্বারা অনুসৃত. 270 00:17:10,190 --> 00:17:11,940 কিন্তু এখানে আছে একটি gotcha. 271 00:17:11,940 --> 00:17:17,079 এটা শুধু এই গাছ এবং তারপর উঠান পাঠানোর এলিস বব শুরু এর যথেষ্ট না 272 00:17:17,079 --> 00:17:20,010 খাটো বিট প্যাটার্ন, ASCII থেকে স্ট্রিং 273 00:17:20,010 --> 00:17:23,140 কারণ এলিস এ কি এর বব অবহিত করা হয়েছে 274 00:17:23,140 --> 00:17:26,880 যদি বব যাও যাও তার কম্প্রেস বার্তা পড়তে সক্ষম হবে? 275 00:17:26,880 --> 00:17:30,770 [শ্রবণাতীত ছাত্র প্রতিক্রিয়া] >> কি যে? 276 00:17:30,770 --> 00:17:32,310 [শ্রবণাতীত ছাত্র প্রতিক্রিয়া] কি গাছ হয় >>. 277 00:17:32,310 --> 00:17:35,160 অথবা এমনকি আরো নির্দিষ্টভাবে, কি যারা এনকোডিং হয়, 278 00:17:35,160 --> 00:17:39,010 বিশেষ করে এই গল্প করার সময় আমরা এক সময়ে একটি রায় কল করেছেন. 279 00:17:39,010 --> 00:17:43,640 মনে রাখবেন যে আমরা ইচ্ছামত 2 20% বিভিন্ন নোডের মধ্যে বাছাই ছিল? 280 00:17:43,640 --> 00:17:49,800 এটা যে বব, প্রাপক, শুধু তার নিজের উপর গাছ পুনর্গঠন করতে পারেন কেস না 281 00:17:49,800 --> 00:17:53,390 কারণ তিনি হয়তো ট্রি নির্মাণ অত্যন্ত সামান্য ভিন্নভাবে থেকে এলিস হবে. 282 00:17:53,390 --> 00:17:56,670 তাছাড়া, বব কি মূল বার্তাটি এমনকি জানি না 283 00:17:56,670 --> 00:18:00,770 কারণ অবশ্যই আছে শুধু এলিস তাকে পাঠাচ্ছে,, হয় কম্প্রেস বার্তা. 284 00:18:00,770 --> 00:18:05,900 >> তাই ভালো কম্প্রেশন সঙ্গে ধরা হয় যে, হ্যাঁ, এলিস সংরক্ষণ করার জন্য একটি বিট অনেক সম্পূর্ণ করতে পারেন 285 00:18:05,900 --> 00:18:09,900 একটি জন্য 1 ই জন্য এবং 01 পাঠানোর এবং তাই ঘোষণা, 286 00:18:09,900 --> 00:18:15,180 কিন্তু তিনি যাও বব কি ম্যাপিং অক্ষর এবং বিটের মধ্যে অবহিত করা হয়েছে 287 00:18:15,180 --> 00:18:19,620 কারণ তারা স্পষ্টতই নির্ভর না হওয়া ASCII আর যদি আমরা ASCII ব্যবহার করছেন না পারেন. 288 00:18:19,620 --> 00:18:22,200 সুতরাং হয় সে তাকে একরকম গাছ পাঠাতে পারেন - 289 00:18:22,200 --> 00:18:26,600 এটা লিখে, বাইনারি তথ্য যে ভালো বা কিছু হিসাবে এটি সঞ্চয় - 290 00:18:26,600 --> 00:18:30,280 বা শুধুমাত্র তাকে একটু Cheat শীট, একটি এক্সেল ফাইল, যে ম্যাপিং দেখায় পাঠাতে. 291 00:18:30,280 --> 00:18:36,480 তাই সত্যিই কম্প্রেশন কার্যকারিতা মধ্যে অনুমান করা হয়েছে যে বার্তা প্রেরণ করছি 292 00:18:36,480 --> 00:18:40,230 হয় চমত্কার বড়, অন্তত মাঝারি মাপের, 293 00:18:40,230 --> 00:18:42,180 কারণ যদি আপনি একটি সুপার সংক্ষিপ্ত বার্তা প্রেরণ করছেন, 294 00:18:42,180 --> 00:18:45,390 যদি আপনি শুধু BAD বার্তা পাঠাতে চান, যা একটি শব্দ আমরা এখানে বানান দিতে পারে, 295 00:18:45,390 --> 00:18:49,550 B-a-D:, সম্ভবত আপনি কম বিট ব্যবহার করছেন যাচ্ছে, 296 00:18:49,550 --> 00:18:53,130 কিন্তু ধরা হয় যদি তবে আপনাকে বব কি গাছ হয় অবহিত আছে 297 00:18:53,130 --> 00:18:57,530 বা কি যারা এনকোডিং হয়, আপনি সম্ভবত সঞ্চয় সব অতিক্রম চলুন 298 00:18:57,530 --> 00:19:00,110 এর কম্প্রেস করা জিনিষ দিয়ে শুরু করতে হচ্ছে. 299 00:19:00,110 --> 00:19:02,210 তাই আসলে এটি হতে ক্ষেত্রে যে আপনি যদি চেষ্টা করতে পারেন সংকুচিতকারী 300 00:19:02,210 --> 00:19:05,330 এমনকি জিপ বা ফাইল ফরম্যাটের মত কিছু আপনার সাথে পরিচিত হতে পারে - 301 00:19:05,330 --> 00:19:07,780 খুবই ছোট ফাইল, এমনকি ফাঁকা ফাইল - 302 00:19:07,780 --> 00:19:10,930 কখনও কখনও সেই ফাইল বড় এবং ছোট না পেতে পারে. 303 00:19:10,930 --> 00:19:14,320 কিন্তু বাস্তবধর্মী, যে শুধুমাত্র ছোট ফাইল আকারের জন্য ঘটবে, 304 00:19:14,320 --> 00:19:16,920 তাই এটি একটি গিগাবাইট ফাইল 2 গিগাবাইট করা করা যাচ্ছে না; 305 00:19:16,920 --> 00:19:19,480 আমরা সত্যিই করছি বাইট বা মাত্র কয়েক কিলোবাইট কথা বলা. 306 00:19:19,480 --> 00:19:22,330 >> পিন মত কিছু প্রোগ্রাম স্মার্ট যথেষ্ট যে বুঝতে পারছি, 307 00:19:22,330 --> 00:19:24,590 "আপনি আরো এই সংকুচিতকারী বিট ব্যয় চালু করছি." 308 00:19:24,590 --> 00:19:27,460 "সম্পর্কে এটা আপনার জন্য সংকুচিতকারী সব না বিরক্ত করা যাক." 309 00:19:27,460 --> 00:19:30,160 তাই এটা শুধু একটা টেক্সট বিন্যাসে সংকুচিতকারী তত্কালীন উপায়. 310 00:19:30,160 --> 00:19:32,300 আমরা সি মধ্যে ভালো কিছু বাস্তবায়ন হতে পারে 311 00:19:32,300 --> 00:19:35,370 উদাহরণস্বরূপ এখানে, কিভাবে আমরা এই ট্রি একটি নোড প্রতিনিধিত্ব করতে পারে 312 00:19:35,370 --> 00:19:39,320 যেখানে আমরা সিম্বলের জন্য একটি গৃহস্থালি, একটি ফ্রিকোয়েন্সি জন্য ভাসমান মান আছে, 313 00:19:39,320 --> 00:19:42,250 এবং হিসাবে আমরা আমাদের অন্যান্য ডাটা স্ট্রাকচার, 2 পয়েন্টার সঙ্গে দেখা করেছি, 314 00:19:42,250 --> 00:19:47,080 1 সন্তানের বাম, ডান 1 যাও যাও, হয় যার শূন্য হতে পারেন, 315 00:19:47,080 --> 00:19:50,850 কিন্তু যদি না, এটি একটি শিশু এবং একটি বাম ডান সন্তানের বোঝায়. 316 00:19:50,850 --> 00:19:55,130 আমি তখন এই Huffman কোডিং, এবং এটি একটি উপায় হবে যে আপনি তথ্য সংকুচিতকারী যেতে পারবেন, 317 00:19:55,130 --> 00:19:57,880 এবং এটা অবশ্যই এর সবচেয়ে সহজ প্রয়োগ এক 318 00:19:57,880 --> 00:20:00,830 না, বলতে মাসের শেষ সপ্তাহে এর ডাটা স্ট্রাকচার কনটেক্সট, 319 00:20:00,830 --> 00:20:03,250 যদিও আরও বেশি অত্যাধুনিক অ্যালগারিদম বিদ্যমান 320 00:20:03,250 --> 00:20:08,220 যে আপনার তথ্য এমনকি আরো পরিশীলিত পরিব্যক্তি করতে পারেন. 321 00:20:08,220 --> 00:20:11,640 কোন গাছ, বাইনারি গাছ, অথবা টেক্সট কম্প্রেশন তারপর প্রশ্ন? 322 00:20:11,640 --> 00:20:15,590 [ছাত্রদের] এটি কিছু অস্পষ্টতা ভালো যদি [শ্রবণাতীত] বিভক্ত 01 মধ্যে আছে,, 323 00:20:15,590 --> 00:20:19,160 তারপর 011 দ্ব্যর্থক, ডান হবে? 324 00:20:19,160 --> 00:20:22,730 [শ্রবণাতীত] >> গুড প্রশ্ন. অস্পষ্টতা. 325 00:20:22,730 --> 00:20:25,940 নির্দেশকারী এখানে এই ছবি সম্পর্কে সংক্ষেপ করা যাক. 326 00:20:25,940 --> 00:20:29,650 কারণ আপনি যে অক্ষরগুলি সংকুচিতকারী হয়, এর উপস্থাপনা, 327 00:20:29,650 --> 00:20:32,850 এই অ্যালগরিদম সংজ্ঞা দ্বারা সর্বদা পাতার থাকা, 328 00:20:32,850 --> 00:20:41,870 আপনি দূর্ঘটনাক্রমে একাধিক অক্ষর উপসর্গ জন্য বিট একই প্যাটার্ন কখনও ব্যবহার করব. 329 00:20:41,870 --> 00:20:46,740 তাই অন্য কথায়, আপনি উদ্বিগ্ন সম্পর্কে, এটি একটি দ্ব্যর্থতা উদ্ভূত মত শোনাচ্ছে 330 00:20:46,740 --> 00:20:51,580 তদ্দ্বারা 001 B এর শুরু বা C বা যে ভালো কিছু শুরু হতে পারে. 331 00:20:51,580 --> 00:20:56,780 কিন্তু এই ক্ষেত্রে করা যাবে না কারণ যে বিজ্ঞপ্তি বর্ণমালার অক্ষর সমস্ত আমরা অঙ্গীকার করছি না পারেন 332 00:20:56,780 --> 00:20:58,290 পাতার হয়. 333 00:20:58,290 --> 00:21:01,910 >> অস্পষ্টতা শুধু সাঙ্কেতিক লিখন - পদ্ধতি ক্ষেত্রে হিসাবে, জন্মলাভ করতে পারেন, 334 00:21:01,910 --> 00:21:06,770 উদাহরণস্বরূপ, যদি,, সি ছিল কোথাও থেকে root পরিচয়ে বি পাথ বরাবর 335 00:21:06,770 --> 00:21:12,290 [ছাত্রদের] ডান. সুতরাং যে ক্ষেত্রে, বলতে একটি 2 পাতার হয়েছে. >> বলুন একটি আছে - আবার বলুন যে. 336 00:21:12,290 --> 00:21:18,760 [ছাত্রদের] একটি বলুন 2 পাতা, F এবং G, এবং তারপর রয়েছে জি - >> ঠিক আছে. কিন্তু এটি করতে পারেন না. 337 00:21:18,760 --> 00:21:23,230 একটি নিজেই পাতার যারা চিঠি কারণ ফল এবং জি আছে না পারে ফল এবং জি 338 00:21:23,230 --> 00:21:27,560 নিজেদের B-বাম বা ডান E. কোথাও ছেড়ে দিন 339 00:21:27,560 --> 00:21:28,900 সুতরাং সংজ্ঞা দ্বারা, তারা পাতার আবশ্যক. 340 00:21:28,900 --> 00:21:32,940 অন্যথা, আপনি ঠিক অধিকার, আমরা সমস্যা যে সাঙ্কেতিক লিখন - পদ্ধতি সম্মুখীন মীমাংসিত করেছি. 341 00:21:32,940 --> 00:21:38,150 ভাল প্রশ্ন. অন্য প্রশ্ন? ঠিক আছে. 342 00:21:38,150 --> 00:21:42,050 বিট এই ধারণা, এটি সক্রিয় আমরা বিদ্যুত ছিল করেছি সব বরাবর যে আসলে আমরা ব্যবহার করেছি না 343 00:21:42,050 --> 00:21:44,200 যখন এটি এইসব 0 সেঃ এবং 1s সাধিত হয়. 344 00:21:44,200 --> 00:21:46,600 এই সম্পর্কে আমরা নিকটতম সমস্যা সেট এক জিজ্ঞাসা: 345 00:21:46,600 --> 00:21:52,340 যেমন কিভাবে, আপনি য়ের বড়হাতের অক্ষর ছোটহাতের বা ছোট হাতের অক্ষর তদ্বিপরীত রূপান্তর সম্পর্কে যান না? 346 00:21:52,340 --> 00:21:55,460 অথবা, আরো concretely, যারা প্রথম psets এক জিজ্ঞাসা 347 00:21:55,460 --> 00:22:01,090 কতগুলি বিট আপনি আসলে যাও যাতে একটি একটি ছোট হাতের অক্ষর বা তদ্বিপরীত পরিবর্তন টুসকি আছে? 348 00:22:01,090 --> 00:22:05,580 এখানে কি মত 65 এবং 97 বাইনারি অল্পক্ষণের দ্রুত অনুস্মারক. 349 00:22:05,580 --> 00:22:08,060 এমনকি যদি প্রশ্ন যে আপনার মেমরি ধরণের করেনি ম্লান, 350 00:22:08,060 --> 00:22:11,290 আবার আপনি এখানে দেখতে পারেন যে কতগুলি বিট করা প্রয়োজন ফ্লিপ যাও 351 00:22:11,290 --> 00:22:15,810 মূলধন পরিবর্তন একটি ছোট হাতের অক্ষর যাও? এটা একটা মাত্র. 352 00:22:15,810 --> 00:22:19,650 >> তারা শুধুমাত্র একটি অবস্থান, বাম থেকে তৃতীয় বিট পার্থক্য. 353 00:22:19,650 --> 00:22:24,240 যেহেতু একটি 010, সামান্য আছে একটি একটি 011 আছে. 354 00:22:24,240 --> 00:22:26,250 তাই একরকম, আমরা শুধু যে বিট টুসকি সক্ষম হতে হবে, 355 00:22:26,250 --> 00:22:29,410 এবং তারপর আমরা বড়হাতের অক্ষর বা ছোট হাতের অক্ষর পারেন. 356 00:22:29,410 --> 00:22:32,720 আমরা অতীতে করেছি আসলে ব্যবহার করে এই কাজ যদি শর্তাবলী 357 00:22:32,720 --> 00:22:35,930 এবং চেক করে যদি একটি চিঠি মূলধন এবং মূলধন Z এর মধ্যে হয়, 358 00:22:35,930 --> 00:22:41,480 তারপর একটি ভালো আউটপুট - একটি 26 + বা ওই জাতীয় কিছু. 359 00:22:41,480 --> 00:22:46,130 আপনি সম্ভবত একটি বর্ণমালার অক্ষর গাণিতিক পরিবর্তন হয়নি. 360 00:22:46,130 --> 00:22:49,270 যদি কি তবে আমরা টুসকি যে একক বিট করতে পারেন? 361 00:22:49,270 --> 00:22:59,080 কিভাবে আপনি 01000001 01100001 এবং ভালো বিট, তাই 8 বিট এক বাইট এর মূল্য গ্রহণ সম্পর্কে যেতে পারে? 362 00:22:59,080 --> 00:23:03,170 যদি আপনি বিট যারা নিদর্শন ছিল কিভাবে, আমরা তাদের জন্য শুধু একটা পরিবর্তন যেতে পারবেন? 363 00:23:03,170 --> 00:23:07,610 যদি হলুদ আমরা এই বিট অন্যান্য প্যাটার্ন এখানে পরিচয় করিয়ে দিতে? 364 00:23:07,610 --> 00:23:13,420 যদি আমি এক বিট ছাড়া সমগ্র হলুদ স্ট্রিং 0 সেঃ না যে আমি পরিবর্তন করতে চান 365 00:23:13,420 --> 00:23:17,900 এবং তারপর আমি একটি নতুন অপারেটর একটি bitwise অপারেটর হিসাবে পরিচিত পরিচয় করিয়ে দিতে - 366 00:23:17,900 --> 00:23:21,210 ইন্দ্রিয় যে ব্যক্তি বিট উপর কাজ মধ্যে bitwise, 367 00:23:21,210 --> 00:23:25,360 . একটি সম্পূর্ণ বাইট বা চার বাইট সব একবারে না 368 00:23:25,360 --> 00:23:31,170 এই উল্লম্ব হলুদ বার আছে কি দাড়ায় যে যদি আমরা নিতে মূলধনের একটি উপস্থাপনা 369 00:23:31,170 --> 00:23:37,060 এবং bitwise বা এটি বিট হলুদ ক্রম সঙ্গে? 370 00:23:37,060 --> 00:23:41,300 অন্য কথায়, শয়তান মধ্যে বুলিয়ান এক্সপ্রেশন আমাদের আলোচনায় ফিরে মনে হয় তাহলে এ এবং সি 371 00:23:41,300 --> 00:23:47,520 >> একটি বুলিয়ান Doing বা এর মানে হল যে সত্য হতে হবে, নয়তো প্রথম জিনিস সত্য হতে হয়েছে 372 00:23:47,520 --> 00:23:50,700 অথবা দ্বিতীয় জিনিস সত্য হতে হয়েছে অথবা তারা উভয় সত্য আছে, 373 00:23:50,700 --> 00:23:53,270 এবং তারপর ফলে আউটপুট নিজেই সত্য. 374 00:23:53,270 --> 00:24:00,230 এখানে কি এই ক্ষেত্রে, আমরা যদি আমরা 0 গ্রহণ করবেন "অথবা" 0 সাথে ইডি? মিথ্যা বা মিথ্যা? 375 00:24:00,230 --> 00:24:04,280 এটা এখনও মিথ্যা, যাতে ছোট আকারের একটি অবশেষ হিসাবে প্রত্যাশিত. 376 00:24:04,280 --> 00:24:07,540 কি হবে যদি পরিবর্তে আমরা 1 বা 0 না 377 00:24:07,540 --> 00:24:12,640 এই এখন অবশেষ 1, কিন্তু কি এখানে এরকম বিজ্ঞপ্তি সম্পর্কে. 378 00:24:12,640 --> 00:24:18,630 যদি আমরা একটি মূলধন দিয়ে শুরু হবে এবং আমরা অবিরত "বা" তার কোন একক বিট হিসাবে এখানে আমরা করছেন, 379 00:24:18,630 --> 00:24:25,180 0 বা হলুদ এক কি ডাউন এখানে আমাদের দেয়? এই 1 দেয় আমাদের. 380 00:24:25,180 --> 00:24:35,120 আসলে, আমরা অনুমান কি সামান্য সারাংশ য়ের বড়হাতের অক্ষর ছোটহাতের সংস্করণ আসলে একটি ছিল জানেন না. 381 00:24:35,120 --> 00:24:38,270 চলুন না এই যান. আমাকে এখানে উপর এই পিছান. 382 00:24:38,270 --> 00:24:42,340 এর আবার এই অনুষ্ঠান করুক না. 0 0 0 সম্পর্কে দেয়. 383 00:24:42,340 --> 00:24:45,020 1 অথবা 0 দেয় 1 টি সম্পর্কে. 384 00:24:45,020 --> 00:24:48,020 0 বা 1 দেয় 1 টি সম্পর্কে. 385 00:24:48,020 --> 00:24:52,880 0 0 0 সম্পর্কে দেয়. পরের এক 0 হলে, পরবর্তী এক 0 হলে, পরবর্তী এক হয় 0. 386 00:24:52,880 --> 00:24:55,660 1 অথবা 0 দেয় 1 টি সম্পর্কে. 387 00:24:55,660 --> 00:24:59,140 এবং তাই, এমনকি যদি আমরা অগ্রিম জানি না কি ছিল একটি ছোট হাতের অক্ষর, 388 00:24:59,140 --> 00:25:04,770 সহজভাবে দ্বারা "বা" একটি আনন্দপূর্ণ সঙ্গে বিট যে আমরা হলুদ এখানে উপস্থাপন করেছি এই প্যাটার্ন, 389 00:25:04,770 --> 00:25:09,400 আপনি যে বিট আলোকসম্পাতের দ্বারা একটি মূলধন একটি ছোট হাতের অক্ষর পারেন. 390 00:25:09,400 --> 00:25:11,580 আমরা এই অভিব্যক্তি ব্যবহার সপ্তাহ আগে: একটি বিট আলোকসম্পাতের. 391 00:25:11,580 --> 00:25:13,710 কিভাবে আপনি আসলে করব যে programmatically? 392 00:25:13,710 --> 00:25:16,390 আপনি কি ব্যবহার সাধারণত এর একটি মাস্ক, বিট একটা ক্রম বলা হয়, 393 00:25:16,390 --> 00:25:19,980 যে শুধুমাত্র এই ক্ষেত্রে তাই এই নম্বরের মত এখানে চেহারা এরকম, 394 00:25:19,980 --> 00:25:22,980 এবং তারপর আপনি "অথবা" এটি একসঙ্গে এই নতুন সি অপারেটর ব্যবহার করে, 395 00:25:22,980 --> 00:25:29,940 |, আপনি একটি একক ব্যবহার | | এবং আপনি আসলে এই প্রশ্নের উত্তর এখানে পেতে কারণ কেন হবে? না 396 00:25:29,940 --> 00:25:35,120 এই হল 1s জায়গা, 2s জায়গা, 4s, 8s, 16s, 32s. 397 00:25:35,120 --> 00:25:42,280 সুতরাং এটি সক্রিয় করে যদি আপনি একটি বড় হাতের অক্ষর নিতে A এবং bitwise বা এটি পূর্ণসংখ্যা 32, 398 00:25:42,280 --> 00:25:47,520 পূর্ণসংখ্যা 32 কারণ, যখন এটি আপনাকে বিট হিসাবে তাকান ভালো, দেখায়, 399 00:25:47,520 --> 00:25:50,860 তার মানে আপনি বিট আসলে আপনি চান টুসকি পারেন. 400 00:25:50,860 --> 00:25:52,630 এবং একইভাবে - এবং আমরা কোড এ শুধু এক মুহূর্ত সন্ধান করব - 401 00:25:52,630 --> 00:25:54,210 ঠাউর আমরা অন্য দিক যেতে চান. 402 00:25:54,210 --> 00:25:58,210 >> আপনি কিভাবে একটি ছোট হাতের অক্ষর ব্যবহার মূলধন A থেকে যান? কোন বিট পরিবর্তন প্রয়োজন? 403 00:25:58,210 --> 00:25:59,820 এটা এক একই. 404 00:25:59,820 --> 00:26:03,970 আমরা 1 থেকে যে তৃতীয় একটি বিট 0 যাও পরিবর্তন করতে চান. 405 00:26:03,970 --> 00:26:06,310 এবং কিভাবে আমরা এই কাজ সম্পর্কে যেতে পারে? 406 00:26:06,310 --> 00:26:10,130 কিভাবে আমরা একটি বিট নিষ্ক্রিয়? আমরা বিট কি প্যাটার্ন দিয়ে ঘুরিয়ে একটু বন্ধ করতে পারেন? 407 00:26:11,580 --> 00:26:14,070 কি হবে যদি আমরা বিপরীত মাস্ক এর বাছাই 408 00:26:14,070 --> 00:26:17,350 আগে যেহেতু, আমরা পুরো হলুদ মাস্ক 0 সেঃ তৈরি 409 00:26:17,350 --> 00:26:19,930 আমরা চালু জন্য এক বিট ছাড়া চেয়েছিলেন, 410 00:26:19,930 --> 00:26:25,580 কি যদি এই সময়, আমরা বিট ছাড়া সমগ্র মাস্কের 1s না যে আমরা ডেমনটি বন্ধ করতে চান 411 00:26:25,580 --> 00:26:28,330 এবং তারপর কি অপারেটর ব্যবহার করেন? 412 00:26:28,330 --> 00:26:30,560 যদি আমরা "এবং" জিনিস? চলুন কটাক্ষপাত. 413 00:26:30,560 --> 00:26:34,880 আমরা যদি এখন এই যাও টুসকি, অনুমান যে আবার আমি একটি মাস্ক যে সমস্ত 1s তৈরি 414 00:26:34,880 --> 00:26:37,650 ব্যতীত জন্য এক বিট যে আমি ডেমনটি বন্ধ করতে চান 415 00:26:37,650 --> 00:26:43,860 এবং তারপর বদলে "অথবা" উপরে সাদা হলুদ নিচে সংখ্যা এখানে সংখ্যার সাথে, 416 00:26:43,860 --> 00:26:46,940 কি যদি একসাথে আমি পরিবর্তে "এবং" তাদের? এটি একটি bitwise বলা হয় এবং এর. 417 00:26:46,940 --> 00:26:49,450 যুক্তি, এটা একটি বুলিয়ান হিসাবে একই জিনিস এবং. 418 00:26:49,450 --> 00:26:55,160 এই সম্পর্কে দেয় & 0 1 0. সুতরাং মিথ্যা এবং সত্য মিথ্যা. 419 00:26:55,160 --> 00:26:58,160 মুক্ত এবং সত্য সত্য. 420 00:26:58,160 --> 00:27:04,020 এবং এখানে ম্যাজিক: সত্য এবং মিথ্যা এখন মিথ্যা, তাই আমরা যে বিট পরিণত বন্ধ করেছি. 421 00:27:04,020 --> 00:27:06,560 এবং এখন গল্প বাকি হয় কিছুটা সহজবোধ্য. 422 00:27:06,560 --> 00:27:11,970 কারণ মাস্ক বাকি হল 1s, এটা কি নম্বর সাদা হয় না ব্যাপার. 423 00:27:11,970 --> 00:27:15,580 আপনি যখন "এবং" সত্যিকারের কিছু, তাহলে সেটির মান পরিবর্তন করতে যাচ্ছেন না. 424 00:27:15,580 --> 00:27:20,200 এটা যদি সত্য হয়, এটা সত্য থাকবে. যদি তা মিথ্যা, এটা মিথ্যা থাকবে. 425 00:27:20,200 --> 00:27:23,190 >> কিন্তু জাদু ঘটনা যখন আপনি কিছু ছিল সত্য গ্রহণ 426 00:27:23,190 --> 00:27:25,430 এবং তারপর আপনি "এবং" মিথ্যা সঙ্গে এটি. 427 00:27:25,430 --> 00:27:30,030 এই বাঁক যে বিট বন্ধ প্রভাব আছে. 428 00:27:30,030 --> 00:27:31,980 তাই একটু আছে রহস্যপূর্ণ. 429 00:27:31,980 --> 00:27:35,390 এর আসলে কিছু কোড যাক, যা আসলে চেহারা আরও রহস্যপূর্ণ পারে, 430 00:27:35,390 --> 00:27:38,220 কিন্তু যাক এর একটি tolower এখানে কটাক্ষপাত. 431 00:27:38,220 --> 00:27:45,880 যদি আমি tolower তাকান মূলধন থেকে, একটি ছোট হাতের অক্ষর যাও যাচ্ছে, 432 00:27:45,880 --> 00:27:47,730 আসুন আমরা কিভাবে এই প্রোগ্রাম বাস্তবায়ন করতে পারে দেখুন. 433 00:27:47,730 --> 00:27:51,280 এখানে প্রধান, এবং এটি কোন কমান্ড লাইন আর্গুমেন্ট গ্রহণ না. 434 00:27:51,280 --> 00:27:55,980 আমি চিঠি জন্য চাই একটি অক্ষর গ ঘোষণা করে যে ব্যবহারকারী যাও ইন টাইপ হবে 435 00:27:55,980 --> 00:28:00,690 আমি তারপর একটা পরিচিত না সময় শুধু লুপ নিশ্চিত যে স্পষ্টভাবে ব্যবহারকারী দেয় একটি মূলধন সম্পর্কে একটি ব্যবহার করা 436 00:28:00,690 --> 00:28:05,010 অথবা B অথবা সি .. Z, তাই তারা দিতে A এবং জেড মধ্যে কিছু সম্পর্কে 437 00:28:05,010 --> 00:28:08,580 এবং এখন আমি কি করছেন am এখানে? 438 00:28:08,580 --> 00:28:14,870 আমি "বা" এই আনন্দপূর্ণ 0x20 সঙ্গে, কিন্তু আসলে এর হিসাবে একই - 439 00:28:14,870 --> 00:28:19,500 এবং আমরা এই যাও ফিরে আসুন একটি মুহূর্ত করব - 32. 440 00:28:19,500 --> 00:28:24,830 তাই আবার, 32 বিট হল এখানে এই প্যাটার্ন. কেন আমরা এই জানেন? 441 00:28:24,830 --> 00:28:26,320 শুধু ফিরে সপ্তাহ 0 চিন্তা. 442 00:28:26,320 --> 00:28:31,010 এই হল 1s জায়গা, 2s জায়গা, 4s, 8s, 16s, 32s জায়গা. 443 00:28:31,010 --> 00:28:33,470 তাই এই হলুদ সংখ্যা 32 হতে হবে. 444 00:28:33,470 --> 00:28:40,570 আমি তারপর গৃহস্থালির কাজ মত একটি চিঠি এখানে নিতে আক্ষরিক সংখ্যা 32 হতে পারে, bitwise "অথবা" এটি, 445 00:28:40,570 --> 00:28:45,250 এবং কি আমি ফিরে আসবো? যে গৃহস্থালির কাজ মধ্যে ছোট সংস্করণ. 446 00:28:45,250 --> 00:28:48,830 একটি মুহূর্ত আগে যদিও,, আমি একটি ভিন্ন বেস স্বরলিপি এই প্রকাশ করেন. 447 00:28:48,830 --> 00:28:51,370 কি এই প্রতিনিধিত্ব করেন? >> [ছাত্রদের] হেক্সাডেসিমেল. 448 00:28:51,370 --> 00:28:53,050 [Malan] এই হেক্সাডেসিমেল প্রতিনিধিত্ব ঘটবে. 449 00:28:53,050 --> 00:28:55,170 আমরা হেক্সাডেসিমাল যে সব বিষয়ে অনেক কথা বলত না, 450 00:28:55,170 --> 00:28:57,330 কিন্তু এটা আসলে ভালো ক্ষেত্রে সুবিধাজনক. 451 00:28:57,330 --> 00:29:01,730 >> যদিও মনে আরো জটিল এবং যদিও এটা 20 না 32 এবং মত দেখাচ্ছে, 452 00:29:01,730 --> 00:29:06,240 এটি সক্রিয় যে হেক্সাডেসিমেল আসলে সুপার সুবিধাজনক স্বরলিপি 453 00:29:06,240 --> 00:29:10,810 কারণ হেক্সাডেসিমেল মধ্যে 0x পরে প্রতি অঙ্ক - এবং এই অর্থ কিছুই না; 454 00:29:10,810 --> 00:29:13,960 এই একটি মাত্র মানুষের প্রচল যে এখানে আসে একটি হেক্সাডেসিমাল সংখ্যা - 455 00:29:13,960 --> 00:29:18,590 প্রত্যেকটি ডিজিট, 2 এবং তারপর 0, নিজেদের প্রতিনিধিত্ব করা যাবে 456 00:29:18,590 --> 00:29:20,800 সঙ্গে ঠিক 4 বিট. 457 00:29:20,800 --> 00:29:27,840 তাই আমরা যদি এই না, সম্পর্কে একটি টেক্সট এডিটর খুলুন এখানে আসা - অদ্ভুত স্বয়ংসম্পূর্ণ - 458 00:29:27,840 --> 00:29:35,940 যদি আমরা একটু টেক্সট এডিটর এখানে না, নম্বর 0x20 এখানে মানে হয় 4 বিট, এখানে অন্য 4 বিট. 459 00:29:35,940 --> 00:29:38,050 চলুন শুরু করা যাক ডানদিকে অবস্থিত 4 টি বিট প্রথম না. 460 00:29:38,050 --> 00:29:44,690 0 4 বিট সঙ্গে যখন প্রতিনিধিত্ব কি? সুপার সহজ. শুধু সমস্ত 0 সেঃ. 461 00:29:44,690 --> 00:29:46,780 সুতরাং 0 সেঃ হিসাবে 4 বিট. 462 00:29:46,780 --> 00:29:53,510 আপনি কিভাবে 2 প্রতিনিধিত্ব করেন? কিছু সময় আগে থেকে আমরা এই কি, এর তা 0100. 463 00:29:53,510 --> 00:29:57,310 তাই এই হল 1s জায়গা, এই 2s জায়গা, এবং তারপর এটি কি অন্যান্য জায়গা হয় না ব্যাপার. 464 00:29:57,310 --> 00:30:00,610 হেক্সাডেসিমেল অন্য কথায়, আপনি 0x20 বলতে পারে, 465 00:30:00,610 --> 00:30:04,340 কিন্তু যদি আপনি তারপর কি হল 2 চিন্তা এবং কিভাবে তা করা হয় বাইনারি মধ্যে প্রতিনিধিত্ব, 466 00:30:04,340 --> 00:30:07,130 কি এবং কিভাবে তা করা হয় বাইনারি 0 মধ্যে প্রতিনিধিত্ব, 467 00:30:07,130 --> 00:30:10,440 সেই প্রশ্নগুলির উত্তর হল এই এবং এই যথাক্রমে,. 468 00:30:10,440 --> 00:30:14,380 সুতরাং 0x20 8 বিটের এই প্যাটার্ন প্রতিনিধিত্ব ঘটবে, 469 00:30:14,380 --> 00:30:16,880 যা অবিকল মাস্ক হল যে আমরা চেয়েছিলেন. 470 00:30:16,880 --> 00:30:20,140 তাই এই মুহূর্তে শুধু একটি মানসিক ব্যায়াম করা, 471 00:30:20,140 --> 00:30:24,520 কিন্তু বাস্তবতা হল এটা কোড সাধারণত এর আরো সাধারণ ভালো ধ্রুবক লিখুন 472 00:30:24,520 --> 00:30:28,360 হেক্সাডেসিমেল মধ্যে কারণ তারপর প্রোগ্রামার অপেক্ষাকৃত সহজে পারে, 473 00:30:28,360 --> 00:30:32,560 এমনকি যদি কিছু কাগজ এবং পেন্সিল প্রয়োজন, জিনিসটা কি বিট যে প্যাটার্ন 474 00:30:32,560 --> 00:30:35,960 কারণ আপনার কোড মধ্যে প্রকাশ না 0 সেঃ এবং 1s সাধারণত পারেন. 475 00:30:35,960 --> 00:30:38,540 আপনি 00010 এবং যান না, তাই প্রয়োগ করতে পারেন. 476 00:30:38,540 --> 00:30:42,380 >> আপনি দশমিক বা হেক্সাডেসিমেল বা অকট্যাল বা অন্যান্য notations বাছাই আছে. 477 00:30:42,380 --> 00:30:47,540 অধিকাংশ মানুষ হেক্সাডেসিমেল সহজভাবে যাতে প্রতিটি অঙ্ক 4 বিট উপস্থাপন বাছাই ঝোঁক 478 00:30:47,540 --> 00:30:49,320 এবং আপনি দ্রুত এই গণিত করতে পারেন. 479 00:30:49,320 --> 00:30:54,990 এবং আমি toupper, যা প্রায় একই সময়ে আমার হাতে তরঙ্গ করব; মনে প্রায় অভিন্ন. 480 00:30:54,990 --> 00:31:01,900 Toupper যাও বা অপারেটর নয়, বরং কিন্তু এই লোক এবং df ব্যবহার ঘটবে. 481 00:31:01,900 --> 00:31:09,300 কি df প্রতিনিধিত্ব করেন? df? যে কেউ? >> [ছাত্রদের] 255. 482 00:31:09,300 --> 00:31:12,780 255? 255 নেই. যে ff হবে. 483 00:31:12,780 --> 00:31:15,210 আমরা সামান্য ব্যায়াম হিসাবে এই এক ছেড়ে দেব. 484 00:31:15,210 --> 00:31:23,460 তবে আপনি যদি 0 থেকে, 1, 2, 3, 4, 5, 6, 7, 8, 9 এবং তারপর 9 পরে কি আসে? 485 00:31:23,460 --> 00:31:26,510 আমরা দশমিক সংখ্যা আউট ধরনের, কিন্তু হেক্সাডেসিমেল কি 9 পরে আসে? 486 00:31:26,510 --> 00:31:29,510 [ছাত্রদের] একটি. >> তাই একটি, খ, গ, ঘ. 487 00:31:29,510 --> 00:31:33,470 আপনি সেখানে কি বিট ঘ আসলে উপস্থাপন এর প্যাটার্ন থেকে চিন্তা করা যেতে পারে. 488 00:31:33,470 --> 00:31:38,850 এবং যদি আমরা গণিত করবেন, আমরা যে মাস্ক আপনি শেষ পর্যন্ত পেয়ে ফিরে যাও এই অভিন্ন দেখতে পাবেন. 489 00:31:38,850 --> 00:31:45,580 এই চ, সব 1s, এবং এই ঘ. সুতরাং df উপস্থাপন করে যে মাস্ক. ঠিক আছে. 490 00:31:45,580 --> 00:31:50,980 এবং সর্বশেষে, জিনিষ শব্দ সুপার, সুপার প্রযুক্তিগত না না, 491 00:31:50,980 --> 00:31:53,840 কিন্তু অনুমান আমরা একটি প্রোগ্রাম যা এই আছে লিখতে চেয়েছিলেন. 492 00:31:53,840 --> 00:31:58,960 আমাকে এগিয়ে যান এবং বাইনারি, যা একটি ফাইল binary.c নামক একটি প্রোগ্রাম করা. 493 00:31:58,960 --> 00:32:02,050 এবং এখন আমাকে এবং বাইনারি সঞ্চালন সম্পর্কে একটি অ ঋণাত্মক পূর্ণসংখ্যা দিতে. 494 00:32:02,050 --> 00:32:03,960 চলুন শুরু করা যাক 0 সালে শুরু করা সহজ এবং টাইপ. 495 00:32:03,960 --> 00:32:09,010 এটি এখন একটি প্রোগ্রাম যা বাইনারি উপস্থাপনা ছাপে তার মধ্যে একটি পূর্ণসংখ্যা আউট. 496 00:32:09,010 --> 00:32:13,470 সুতরাং যদি আমি এই গেমটি খেলতে আবার এবং মাত্র 1 টাইপ, আমি একটি 1 32 বিট উপস্থাপনা পাওয়া উচিত. 497 00:32:13,470 --> 00:32:15,490 যদি আমি না 2 সঙ্গে আবার এই, আমি যে পাওয়া উচিত. 498 00:32:15,490 --> 00:32:19,310 যদি আমি 7 না, আমি শেষে একটি কয়েক 1s এবং পেতে তাই ঘোষণা করা উচিত. 499 00:32:19,310 --> 00:32:22,740 এটি সক্রিয় আউট কারণ আমি bitwise কার্যপ্রণালীর সঙ্গে এই উল্লেখ 500 00:32:22,740 --> 00:32:25,490 আপনি আসলে অন্য একটি বিষয় হিসাবে ভাল করতে পারেন. 501 00:32:25,490 --> 00:32:29,130 আপনি এই মাস্ক পরিবর্তনশীল তৈরি করতে পারেন. 502 00:32:29,130 --> 00:32:32,800 এই এক চূড়ান্ত উদাহরণ bitwise অপারেশন জড়িত তা একবার দেখে নিন. 503 00:32:32,800 --> 00:32:35,490 এখানে কোডের প্রথম অংশ, একটি সংখ্যা জন্য ব্যবহারকারীকে অনুরোধ জানানো, 504 00:32:35,490 --> 00:32:38,130 এবং এটি বলে যে আপনার সম্পর্কে একটি অ ঋণাত্মক পূর্ণসংখ্যা দিতে. 505 00:32:38,130 --> 00:32:39,780 সুতরাং যে পুরানো স্কুল সাজানোর উপাদান. 506 00:32:39,780 --> 00:32:41,980 কিন্তু এখানে এমন কিছু বিষয় যা আকর্ষণীয় ধরনের. 507 00:32:41,980 --> 00:32:44,910 >> আমি কিভাবে বাইনারি একটি সংখ্যা মুদ্রণ সম্পর্কে যান? 508 00:32:44,910 --> 00:32:48,970 আমি প্রথম থেকে কি কি যাও বারবার? 509 00:32:48,970 --> 00:32:52,270 অন্তত প্রয়োগ কি একটি সাধারণত int-এ মাপ,? >> [ছাত্রদের] 4. 510 00:32:52,270 --> 00:32:57,130 এটা 4. তাই 4 * 8 ও 32 - 1 31. 511 00:32:57,130 --> 00:33:02,590 সুতরাং যদি আমি 31 থেকে গণনা শুরু করছি যাও, যে প্রতিনিধিত্ব করে, এটি সক্রিয় আউট, 512 00:33:02,590 --> 00:33:07,630 শুধুমাত্র ধারণার, 31 বিট বা সর্বোচ্চ ক্রম বিট, যা এখানে উপর এই লোক, 513 00:33:07,630 --> 00:33:09,650 যেহেতু এই বিট 0 হবে. 514 00:33:09,650 --> 00:33:12,850 তাই এই বিট হল 01 ... 31 বিট. 515 00:33:12,850 --> 00:33:14,950 এই কোড কি করছে? 516 00:33:14,950 --> 00:33:20,140 লুপ জন্য এই, বিজ্ঞপ্তি যদিও মনে রহস্যপূর্ণ, মাত্র 31 থেকে ডাউন 0 iterating হয়. এটা এটি. 517 00:33:20,140 --> 00:33:24,530 তাই এখন আকর্ষণীয় অংশ এই 5 টি লাইন এখানে হবে. 518 00:33:24,530 --> 00:33:28,110 উল্লেখ্য, এই লাইনে আমি একটি পরিবর্তনশীল নামক মাস্ক ঘোষণা করছি 519 00:33:28,110 --> 00:33:30,790 এইসব হলুদ সংখ্যার আমাদের বিবরণ সঙ্গে সামঞ্জস্যপূর্ণ হবে. 520 00:33:30,790 --> 00:33:32,200 এই কি এবং তারপর করছে? 521 00:33:32,200 --> 00:33:35,720 এটি অন্য bitwise অপারেটর আমরা আগে, খুব সম্ভবত করেছেন দেখা যায় না. 522 00:33:35,720 --> 00:33:38,300 এটা বাম স্থানান্তর অপারেটর. 523 00:33:38,300 --> 00:33:40,060 এই অপারেটর এই আছে. 524 00:33:40,060 --> 00:33:44,920 এখানে সংখ্যা 1, এবং যদি আপনি না তোমার স্থানান্তর, বাম স্থানান্তর বাকি, 525 00:33:44,920 --> 00:33:49,260 না কি আপনি মনে করেন যে, সেটা যে ব্যক্তি 1 যাও প্রভাব আছে? 526 00:33:49,260 --> 00:33:51,290 আক্ষরিক এটি নাড়াচাড়া উপর. 527 00:33:51,290 --> 00:33:57,540 তাই যদি 1 নম্বর কি বাম দিকে আছে এবং আপনি 31 যাও তোমার দ্বারা আরম্ভ করা শুরু, 528 00:33:57,540 --> 00:34:03,490 কি কি দেয়া হবে এই যাও না? এই সংখ্যা 1 এবং এখানে নিতে উপর নামান 31 জায়গা করে যাচ্ছে. 529 00:34:03,490 --> 00:34:06,210 এবং কারণ সম্ভবত এটি কোন পিছনে অন্য সংখ্যা আছে, 530 00:34:06,210 --> 00:34:10,350 ডিফল্টরূপে যারা প্রতিস্থাপিত 0 সেঃ হবে. 531 00:34:10,350 --> 00:34:15,120 সুতরাং আপনি সংখ্যা 1, যা অবশ্যই ভালো দেখায় সঙ্গে শুরু করব - 532 00:34:15,120 --> 00:34:18,659 এবং আমাকে কেন্দ্রে এটি আঁকা এখানে বেশী. 533 00:34:18,659 --> 00:34:22,139 এবং তারপর হিসাবে আপনি বাম জিনিষ নামান, মূলত এই লোক এই এগিয়ে নিয়ে যায়. 534 00:34:22,139 --> 00:34:24,659 কিন্তু যত তাড়াতাড়ি হিসাবে আপনি যে কি, 0 ইন ভরা পরার 535 00:34:24,659 --> 00:34:28,360 যদি আপনি এটি একটি দ্বিতীয় সময় নামান, এটি এই নিয়ে যায় এবং অন্য 0 ইন ভরা পরার 536 00:34:28,360 --> 00:34:31,000 >> আপনি এটিকে আবার নামান এবং তারপর আরেকটি 0 ইন ভরা পরার 537 00:34:31,000 --> 00:34:37,900 তাই আপনি যদি 1 << আমি 31 জায়গা এই জিনিস করে, আপনি শেষ পর্যন্ত একটি মাস্ক পেয়ে 538 00:34:37,900 --> 00:34:42,550 যে দীর্ঘ 32 টি অক্ষর, leftmost এক যা 1, 539 00:34:42,550 --> 00:34:45,199 যা বাকি সব হল 0. 540 00:34:45,199 --> 00:34:50,880 এবং এটি একটি সক্রিয় সরাইয়া হিসাবে আউট,, ভালো বাম একটি নম্বর নড়ন 541 00:34:50,880 --> 00:34:53,530 এছাড়াও কাকতালীয়ভাবে, কখনও কখনও এবং সুবিধামত, 542 00:34:53,530 --> 00:34:57,520 যে সংখ্যা কি করছেন প্রভাব রয়েছে? >> [ছাত্রদের] এটি দ্বিগুনের. 543 00:34:57,520 --> 00:35:00,980 এটি দ্বিগুনের কারণ প্রতিটি কলাম - 1s জায়গা, 2s জায়গা, 4s জায়গা, 544 00:35:00,980 --> 00:35:05,030 8s জায়গা, 16s জায়গা - সব দ্বিগুনের হিসাবে আপনি বাম যেতে they're. 545 00:35:05,030 --> 00:35:09,500 অথবা এর পরিবর্তে, যখন আপনি 1s নামান আপনি এবং শেষ সংখ্যাটির মান দ্বিত্ব চলুন. 546 00:35:09,500 --> 00:35:12,070 আপনি আপ ডিজিটের আকর্ষণীয় রূপান্তরের কাজ শেষ হতে পারে 547 00:35:12,070 --> 00:35:15,640 দ্বারা নড়ন এই ভাবে 2 ক্ষমতা সবকিছু উপর. 548 00:35:15,640 --> 00:35:17,150 সুতরাং কিভাবে কাজ করে? 549 00:35:17,150 --> 00:35:22,580 এই তারপর দেয় একটি মাস্ক যে এর জন্য আমি অবিকল জায়গা এটি করতে চান সেখানে একটি 1 ব্যতীত সমস্ত 0 সেঃ সম্পর্কে, 550 00:35:22,580 --> 00:35:27,920 এবং তারপর এই অভিব্যক্তি, যা toupper.c থেকে চুরি করা হয়, 551 00:35:27,920 --> 00:35:31,770 হয় কেবল বলছে নম্বর নিতে হবে যে ব্যবহারকারী টাইপ, 552 00:35:31,770 --> 00:35:34,730 "এবং" এটা দিয়ে যে মাস্ক, এবং আপনি যা পেতে যাচ্ছি? 553 00:35:34,730 --> 00:35:39,200 আপনি যে মাস্ক মধ্যে অবস্থান করছি একটি 1 যদি একটা 1 আছে পেতে যাচ্ছে, 554 00:35:39,200 --> 00:35:41,570 অথবা আপনি একটি 0 যদি না থাকে পেতে যাচ্ছেন. 555 00:35:41,570 --> 00:35:44,370 এবং যাতে কার্যকরভাবে এই সমস্ত প্রোগ্রাম জন্য এটি একটি লুপ আছে, 556 00:35:44,370 --> 00:35:48,340 এবং এটি একটি 1 সঙ্গে একটি মাস্ক সৃষ্টি এখানে বেশী, তাহলে এখানে উপর একটি 1, তারপর এখানে উপর 1 টি, 557 00:35:48,340 --> 00:35:52,950 এবং এটি হয় সেখানে একটি ব্যবহারকারীর ইনপুট এখানে 1 বিট বলতে এই bitwise ও কৌতুক ব্যবহার করে? 558 00:35:52,950 --> 00:35:59,220 >> কোন ব্যবহারকারীর ইনপুট এখানে 1 বিট? এবং যদি তাই আক্ষরিক, 1, অন্যথায় 0 মুদ্রণ মুদ্রণ. 559 00:35:59,220 --> 00:36:03,780 আমরা ints সঙ্গে কাজ করছেন এই মাত্র কারণ যে কেন আমরা পরিবর্তে 8 32 বিট করছি, 560 00:36:03,780 --> 00:36:06,900 কিন্তু আমরা কি তারপর চালু করেছেন তা এই bitwise ও, এই bitwise বা, 561 00:36:06,900 --> 00:36:10,450 এবং এই বাম স্থানান্তর অপারেটর, যা প্রায়ই ভয়ঙ্কর সহায়ক হয় না, 562 00:36:10,450 --> 00:36:12,230 কিন্তু এটি সক্রিয় করে আউট হতে পারেন তারা. 563 00:36:12,230 --> 00:36:16,560 যদি আসলে, আপনি Booleans একটি শ্রেণীবিন্যাস ভালো কিছু প্রতিনিধিত্ব ছিল 564 00:36:16,560 --> 00:36:21,260 শুধু সত্য বা মিথ্যা উপস্থাপন, অনুমান আপনি কিনা বা না ট্র্যাক রাখতে চেয়েছিলেন 565 00:36:21,260 --> 00:36:24,630 রুম 300 ছাত্র পূর্ণ উপস্থিত, 566 00:36:24,630 --> 00:36:29,420 আপনি টাইপ মাপ 300 একটি শ্রেণীবিন্যাস bool ডিক্লেয়ার যাতে আপনি 300 bools পেতে পারেন, 567 00:36:29,420 --> 00:36:33,090 এবং আপনি প্রতিটি সত্য যাও যদি কেউ এখানে এবং মিথ্যা অন্যথায় সেট করতে পারেন. 568 00:36:33,090 --> 00:36:37,550 কেন যে তথ্য কাঠামো যে উপস্থাপনা অকর্মণ্য? 569 00:36:39,370 --> 00:36:44,800 যে তথ্য গঠন, 300 bools একটি অ্যারের ডিজাইন সম্পর্কে খারাপ কি? 570 00:36:46,190 --> 00:36:49,600 আসলে কি একটি bool, ফণা তল,? 571 00:36:49,600 --> 00:36:52,310 এটি খুব,, এমন কিছু বিষয় যা পরিচিত নাও হতে পারে. 572 00:36:52,310 --> 00:36:53,720 এটি সক্রিয় আউট কোন bool আছে. 573 00:36:53,720 --> 00:36:56,620 আমরা ধরণের তৈরি মনে রাখবেন সঙ্গে cs50.h ফাইল, 574 00:36:56,620 --> 00:36:58,630 যা নিজেই bool মান অন্তর্ভুক্ত. 575 00:36:58,630 --> 00:37:00,930 C হল ধরনের মূক যদিও,, যখন এটি bool আসে. 576 00:37:00,930 --> 00:37:04,880 এটি প্রতি bool প্রতিনিধিত্ব 8 বিট ব্যবহার করে, যা সম্পূর্ণভাবে অপব্যয়ী 577 00:37:04,880 --> 00:37:09,040 কারণ সম্ভবত, কতগুলি বিট আপনি একটি bool প্রতিনিধিত্ব প্রয়োজন নেই? শুধু 1. 578 00:37:09,040 --> 00:37:13,190 সুতরাং দেখা যাচ্ছে যে যদি এখন আপনি bitwise অপারেটরদের সঙ্গে ক্ষমতা আছে 579 00:37:13,190 --> 00:37:17,760 এমনকি একটি গৃহস্থালি প্রতিটি বিট এমনকি একটি একক বাইট মধ্যে, নিপূণভাবে, 580 00:37:17,760 --> 00:37:21,380 এটি সক্রিয় আউট করা মেমরির কিছু মূঢ় প্রতিনিধিত্ব প্রয়োজন হ্রাস করতে পারে 581 00:37:21,380 --> 00:37:25,490 ভালো যে উপস্থিতি স্টাইল 8 এর উত্পাদকের দ্বারা ডাটা স্ট্রাকচার. 582 00:37:25,490 --> 00:37:29,820 পরিবর্তে আট বিট সত্য বা মিথ্যা প্রতিনিধিত্ব ব্যবহার করে, আপনি আক্ষরিক একটি ব্যবহার করতে পারেন 583 00:37:29,820 --> 00:37:34,500 প্রতি আট ছাত্র জন্য বর্গ মধ্যে একটি একক বাইট ব্যবহার 584 00:37:34,500 --> 00:37:41,990 0 1 বিট থেকে পৃথক এবং নিম্নস্তরের ঠাট এই ধরনের ব্যবহার করে toggling. 585 00:37:43,850 --> 00:37:49,460 যে সত্যিই শক্তি শেষ করা. সেখানে bitwise অপারেশন সম্পর্কে কোন প্রশ্ন? 586 00:37:49,460 --> 00:37:52,710 >> হাঁ. >> [ছাত্রদের] কি কোন এক্সক্লুসিভ বা অপারেটর? 587 00:37:52,710 --> 00:37:56,440 হ্যাঁ. একটি এক্সক্লুসিভ বা অপারেটর ভালো যে দেখায়, ^, গাজর চিহ্ন পর্যন্ত, 588 00:37:56,440 --> 00:38:02,070 যা শুধুমাত্র প্রথম বা দ্বিতীয় বিষয় বস্তু ফলাফল দেখানোর জন্য করা একটি 1 1 একটি অর্থ হতে পারে. 589 00:38:02,070 --> 00:38:07,750 এছাড়াও না, ~, যা আপনি 1 বা তদ্বিপরীত পাশাপাশি একটি উল্টানো 0 অনুমতি দেবে. 590 00:38:07,750 --> 00:38:11,600 এবং এর রয়েছে একটি ডানদিকে স্থানান্তর অপারেটর, >>, যা এক আমরা দেখেছি এর বিপরীত. 591 00:38:11,600 --> 00:38:13,850 ঠিক আছে. চলুন জিনিষ নিতে এখন একটি উচ্চ স্তরের. 592 00:38:13,850 --> 00:38:16,770 আমরা টেক্সট সম্পর্কে কথা শুরু এবং তারপর এটি সংকুচিতকারী 593 00:38:16,770 --> 00:38:19,650 বিট এবং কম সংখ্যক টেক্সট প্রতিনিধিত্বমূলক; 594 00:38:19,650 --> 00:38:22,890 আমরা কিভাবে এখন আমরা শুরু একটি bitwise স্তরে জিনিষ সাধিত পারেন সম্পর্কে একটি বিট সায়ীদ. 595 00:38:22,890 --> 00:38:26,640 চলুন শুরু করা যাক এখন ফিরে জুম উপস্থাপনা পর্যন্ত 10,000 ফুট 596 00:38:26,640 --> 00:38:29,250 গ্রাফিক্স মত আরো জটিল জিনিস. 597 00:38:29,250 --> 00:38:32,950 এখানে আমরা জার্মানীর একটি পতাকা আছে এখানে, আমরা ফ্রান্সের একটি আছে. 598 00:38:32,950 --> 00:38:36,350 Gifs, উদাহরণস্বরূপ - এই ফাইল ফরম্যাটের আপনি চিনতে মধ্যে প্রতিনিধিত্ব করা হতে পারে. 599 00:38:36,350 --> 00:38:40,030 যদি কখনও আপনার ওয়েব. Gif দিয়ে শেষ করেছেন তার একটি চিত্র দেখা যায়, 600 00:38:40,030 --> 00:38:43,000 এই একটি গ্রাফিক্স অদলবদল বিন্যাসে. 601 00:38:43,000 --> 00:38:47,530 এই দুটি এখানে পতাকা ধরণের কম্প্রেশন নিজেরা ধার 602 00:38:47,530 --> 00:38:52,050 কি জন্য সম্ভবত সুস্পষ্ট কারণ? >> [শ্রবণাতীত ছাত্র প্রতিক্রিয়া] 603 00:38:52,050 --> 00:38:53,440 পুনরাবৃত্তি অনেক অধিকার আছে,? 604 00:38:53,440 --> 00:38:57,270 জার্মানি এর পতাকা ইন অর্ডার পাঠাতে এই, পর্দায় হচ্ছে একটি ইমেজ হিসাবে মনে করেন 605 00:38:57,270 --> 00:38:59,030 আপনার ভূত দিন ব্যাক. 606 00:38:59,030 --> 00:39:02,380 আপনি প্রতিটি পিক্সেল বা বিন্দু যে একটি চিত্র রচনা আছে প্রত্যাহার করা হতে পারে. 607 00:39:02,380 --> 00:39:06,650 >> একটি কালো বিন্দু এবং অন্য একটি কালো বিন্দু সমগ্র সারি সারি পুরো আছে. 608 00:39:06,650 --> 00:39:10,110 সারি কালো বিন্দু যে আমরা যদি আমরা সত্যিই এ জুম দেখতে পারে একটি গুচ্ছ আছে, 609 00:39:10,110 --> 00:39:13,370 অনেক সময় আমরা Rob মুখের ওপর জুম ফটোশপ মধ্যে চান. 610 00:39:13,370 --> 00:39:15,500 যত শীঘ্র আমরা পেয়েছিলাম গভীর এবং গভীর ইমেজে এবং গভীর, 611 00:39:15,500 --> 00:39:19,990 আপনাকে শুরু pixelation প্রেক্ষণ, স্কোয়ার যে যে ক্ষেত্রে তার চোখের ক্ষান্ত সব. 612 00:39:19,990 --> 00:39:24,130 একই এখানে চুক্তি. আমরা যদি বেশ কিছুক্ষনের মধ্যে জুম হয়েছে, আপনি ব্যক্তিগত বিন্দু দেখতে হবে. 613 00:39:24,130 --> 00:39:27,110 ওয়েল, এই বিট বর্জ্য ধরনের. 614 00:39:27,110 --> 00:39:32,120 যদি পতাকা তৃতীয় কালো পতাকা এবং তৃতীয়টি হল হলুদ এবং তাই ঘোষণা, 615 00:39:32,120 --> 00:39:34,860 কেন একরকম আমরা এই পতাকা না কম্প্রেস করতে পারেন? 616 00:39:34,860 --> 00:39:39,560 এমনকি ফরাসি পতাকা সংকুচিত যদিও প্যাটার্ন সামান্য কিছুটা আলাদা হতে পারে. 617 00:39:39,560 --> 00:39:44,120 এটি সক্রিয় আউট GIF ফাইল ফরম্যাট একটি অবচয়হীন কম্প্রেশন বিন্যাস, 618 00:39:44,120 --> 00:39:48,420 যার মানে আপনি জার্মান পতাকা মত একটি চিত্র এখানে নিতে পারেন, 619 00:39:48,420 --> 00:39:53,540 আপনি গুণমান sacrificing ছাড়াই তার বিট অনেক দূরে নিক্ষেপ করতে পারেন. 620 00:39:53,540 --> 00:39:55,340 এই JPEGs ভালো কিছু বিপরীতে হয়, 621 00:39:55,340 --> 00:39:57,050 সঙ্গে যা আমাদের অধিকাংশ সম্ভবত হয় আরো পরিচিত. 622 00:39:57,050 --> 00:39:59,000 ফেসবুক ফটো এবং ফ্লিকার ফটো এবং ভালো 623 00:39:59,000 --> 00:40:02,200 হয় JPEGs হিসাবে প্রায় সবসময় সংরক্ষিত হবে যখন তারা আপলোড করছি, 624 00:40:02,200 --> 00:40:08,100 কিন্তু JPEGs একটি lossy - LOSSY - বিন্যাসের সাহায্যে আপনি বিট নিক্ষেপ করবেন দূরে 625 00:40:08,100 --> 00:40:10,430 কিন্তু আপনি মান বাতিল. 626 00:40:10,430 --> 00:40:13,890 এবং তাই আপনি যদি ফটোশপ সাথে একটি ফটো বা কম্প্রেস ফেসবুক তাদের আপলোড 627 00:40:13,890 --> 00:40:15,580 অথবা সত্যিই একটি ন্যক্কারজনক ফোনে তাদের নিতে, 628 00:40:15,580 --> 00:40:19,510 আপনি কি জানেন যে ছবি খুব ছোপ - ছোপ এবং pixelated পেতে শুরু হয়, 629 00:40:19,510 --> 00:40:22,290 এবং যে কারণ এটি কম্পিউটার বা ফোন দ্বারা হচ্ছে এর সংকুচিত 630 00:40:22,290 --> 00:40:24,550 দ্বারা আক্ষরিক তথ্য দূরে নিক্ষেপ. 631 00:40:24,550 --> 00:40:28,500 কিন্তু, GIF আশ্চর্যজনক হল যে এটি কম বিট ব্যবহার তুলনায় এটি ডিফল্ট বল করতে পারেন 632 00:40:28,500 --> 00:40:30,750 ছাড়া কোন তথ্য হারানো. 633 00:40:30,750 --> 00:40:32,410 >> এবং মূলত এটি আছে, তাই হিসাবে অনুসরণ করে. 634 00:40:32,410 --> 00:40:38,740 বরং একটি BMP মত একটি ফাইলের মধ্যে একটি দোকান আরজিবি ট্রিপল কালো, কালো, কালো, কালো জন্য একটা, 635 00:40:38,740 --> 00:40:42,570 কালো, কালো, কালো, কালো, কালো, কালো, কালো, কালো এবং তাই ঘোষণা, 636 00:40:42,570 --> 00:40:45,640 বরং, GIF, বিন্যাস, বলে যাচ্ছে "কালো," না 637 00:40:45,640 --> 00:40:48,330 এবং তারপর, "এই 100 বার পুনরাবৃত্তি করুন" বা ওই জাতীয় কিছু. 638 00:40:48,330 --> 00:40:52,280 "কালো, এই 100 বার, কালো, এই পুনরাবৃত্তি 100 বার পুনরাবৃত্তি করুন ..." 639 00:40:52,280 --> 00:40:54,530 "হলুদ, এই 100 বার. পুনরাবৃত্তি" 640 00:40:54,530 --> 00:40:57,200 এবং তাই মনে মূলত,, leftmost পিক্সেল 641 00:40:57,200 --> 00:41:02,160 এবং তারপর এনকোড একরকম যে পিক্সেল পুনরায় আবার এবং আবার ধারণা. 642 00:41:02,160 --> 00:41:06,110 সুতরাং gifs তারপর কোন তথ্য হারানো ছাড়া নিজেদের কম্প্রেস করতে পারেন. 643 00:41:06,110 --> 00:41:09,510 তবে আপনি যদি যাও, অনুমান যদি হয় যে অ্যালগরিদম ব্যবহার gifs ছিল, 644 00:41:09,510 --> 00:41:13,180 যা এই পতাকার জন্য, যদিও তারা চেহারা আকার অভিন্ন, 645 00:41:13,180 --> 00:41:19,620 যাও ছোট করা ডিস্কের উপর যখন একটি জিআইএফ হিসাবে সংরক্ষিত হয়? >> [ছাত্রদের] জার্মানি. 646 00:41:19,620 --> 00:41:21,660 জার্মানির সঙ্গে ছোট হবে? কেন? 647 00:41:21,660 --> 00:41:26,620 [ছাত্রদের] কারণ আপনি এটি পুনরাবৃত্তি অনেক, অনেক বার অনুভূমিকভাবে 648 00:41:26,620 --> 00:41:29,010 এবং তারপর আপনি অন্য সময় পুনরাবৃত্তি. >> যথাযথভাবে. 649 00:41:29,010 --> 00:41:32,020 কারণ নির্বিচারে মানুষ যারা, GIF উদ্ভাবিত ঠিক ধরনের করার সিদ্ধান্ত নিয়েছে 650 00:41:32,020 --> 00:41:36,040 যে পুনরাবৃত্তি leveraged অনুভূমিকভাবে এবং না পার্শ্বত করা হবে. 651 00:41:36,040 --> 00:41:40,900 আরো অনেক জার্মান পতাকা মধ্যে ফরাসি পতাকা তুলনায় পুনরাবৃত্তি পার্শ্বত এখানে আছে. 652 00:41:40,900 --> 00:41:44,430 তাই আপনি যদি আমরা আসলে আমার হার্ড ড্রাইভে একটি ফোল্ডার আছে যে এই gifs খুলুন, 653 00:41:44,430 --> 00:41:51,920 আসলে আপনি দেখতে পারেন যে এখানে জার্মান পতাকা 2 কিলোবাইট এবং ফরাসি এক হয় 4 কিলোবাইট. 654 00:41:51,920 --> 00:41:54,080 এটা কাকতালীয় হতে যে এক দুবার অন্যান্য, 655 00:41:54,080 --> 00:41:57,960 কিন্তু এটি আসলে এর ক্ষেত্রে যে ফরাসি পতাকা হল অনেক বড়. 656 00:41:57,960 --> 00:42:01,250 >> যদিও আমরা গ্রাফিক্স বিষয়ে কথা এখানে করছি, একই ধারণা আবেদন করতে পারেন 657 00:42:01,250 --> 00:42:05,150 জিনিষ পতাকা কিন্তু চিত্র যে একটু বেশি জটিল ভালো না. 658 00:42:05,150 --> 00:42:08,170 আপনি যদি একটি আপেল একটি ছবি নিতে নিশ্চয়, অনুলিপি অনেক আছে সেখানে, 659 00:42:08,170 --> 00:42:11,040 তাই একরকম আমরা স্মরণ করতে পারে যে ডিফল্ট পটভূমি নীল 660 00:42:11,040 --> 00:42:13,230 এবং হিসাবে ডানদিকের ছবি, না দাড়ায়, 661 00:42:13,230 --> 00:42:16,830 প্রতি এই ছবি একক পিক্সেল রঙ স্মরণে রাখতে হবে. 662 00:42:16,830 --> 00:42:21,060 সুতরাং আমরা বিট সরিয়ে তথ্য হারানো ছাড়া থাকতে পারে. 663 00:42:21,060 --> 00:42:23,340 আপেল এখনও ঠিক একই দেখায়. 664 00:42:23,340 --> 00:42:27,510 এই এখানে যেমন, আপনি একটি সিনেমা কি দেখতে হতে পারে. 665 00:42:27,510 --> 00:42:31,970 এই পুরোনো স্কুল ফিল্ম reels যদ্দ্বারা শীর্ষ সেখানে ইমেজ প্রতিনিধিত্ব 666 00:42:31,970 --> 00:42:36,900 আপনি একটি একটি বাড়ি গত আরভি ড্রাইভিং এবং একটি গাছ আছে. 667 00:42:36,900 --> 00:42:42,130 এবং হিসাবে যে ভ্যান থেকে বাম ডান ড্রাইভ অতীত, স্পষ্টত কি পরিবর্তন না? 668 00:42:42,130 --> 00:42:45,320 ঘর কোথাও না, যাচ্ছে না এবং গাছ কোথাও যাচ্ছে না. 669 00:42:45,320 --> 00:42:47,700 শুধু যে চলন্ত এর এই ক্ষেত্রে অগ্রদূত. 670 00:42:47,700 --> 00:42:51,650 সুতরাং হিসাবে পৃষ্ঠভূমি অপরিবর্তিত সুপারিশ কি, আপনি চলচ্চিত্রে করতে পারেন 671 00:42:51,650 --> 00:42:56,530 না ঠিক একই রকমভাবে তথ্য মধ্যে ফ্রেম মধ্যে পরিবর্তন না করে বাতিল. 672 00:42:56,530 --> 00:42:58,900 এই interframe কম্প্রেশন হিসাবে সাধারণত পরিচিত 673 00:42:58,900 --> 00:43:02,120 তদ্দ্বারা যদি এই ফ্রেম দেখায় এই এক প্রায় অনুরূপ, 674 00:43:02,120 --> 00:43:05,390 এর দিন সংরক্ষণ করা ডিস্কের উপর অভিন্ন ধরনের কোনো তথ্য না বিরক্ত 675 00:43:05,390 --> 00:43:09,250 এই অন্তর্বর্তী ফ্রেম উপর, আমি কি শুধুমাত্র কী ফ্রেম ব্যবহার একবার একটি সময় 676 00:43:09,250 --> 00:43:13,420 যে প্রকৃতপক্ষে যে তথ্য redundantly ঠিক হিসাবে একটু সদ্বিবেচনা চেক সঞ্চয়. 677 00:43:13,420 --> 00:43:18,620 >> বিপরীতভাবে, একবার সংকুচিতকারী ভিডিওতে অন্য পদ্ধতির এই দ্বিতীয় এবং কম উদাহরণ হল, 678 00:43:18,620 --> 00:43:23,970 যেখানে বরং দোকান তুলনায় 30 ফ্রেম, ঠিক কেন 15 ফ্রেম একটি দ্বিতীয় আপনাদের না পরিবর্তে সঞ্চয়? 679 00:43:23,970 --> 00:43:27,070 বরং সাবলীল সুন্দর, পুরোপুরি মুভি ধরনের, 680 00:43:27,070 --> 00:43:30,060 মত এটি একটি সামান্য বিট, একটু পুরানো স্কুল তোতলামি এর চেহারা হতে পারে, 681 00:43:30,060 --> 00:43:37,190 কিন্তু নেট এর প্রভাব থেকে দূরে কম বিট তুলনায় অন্যথায় প্রয়োজনীয় হতে পারে ব্যবহার করা হবে. 682 00:43:37,190 --> 00:43:39,240 তাই যেখানে তারপর এই জন্য আমাদের ছেড়ে? 683 00:43:39,240 --> 00:43:41,700 এটা ছিল একটি সরাইয়া একটি যেখানে অন্যথায় আপনি কম্প্রেশন সঙ্গে যেতে পারে বিট. 684 00:43:41,700 --> 00:43:45,140 যে সম্পর্কে আরো জানার জন্য, CS175 এখানে মত একটি ক্লাস নিতে. 685 00:43:45,140 --> 00:43:46,990 এখানে ভিডিও মধ্যে অন্য একটি উদাহরণ. 686 00:43:46,990 --> 00:43:49,190 যদি মৌমাছি শুধুমাত্র জিনিস সরানোর, 687 00:43:49,190 --> 00:43:51,790 আপনি কি সত্যিই নিক্ষেপ যারা মধ্যম ফ্রেম তথ্য দূরে পারেন 688 00:43:51,790 --> 00:43:55,260 কারণ ফুল এবং আকাশ এবং পাতার পরিবর্তন হয় না. 689 00:43:55,260 --> 00:43:57,960 কিন্তু এখানে একটা বিষয় বিবেচনা এখন এক শেষ. 690 00:43:57,960 --> 00:44:03,890 পরবর্তী 5 মিনিটের মধ্যে আমরা পিছনে সি ছেড়ে চিরকালের বক্তৃতায়? হ্যাঁ. , যদিও মধ্যে psets নেই. 691 00:44:03,890 --> 00:44:10,210 সি সম্পর্কে সর্বশেষ বিবরণ এবং তারপর আমরা খুব সেক্সি উপাদান পেতে 692 00:44:10,210 --> 00:44:13,870 HTML এবং ওয়েব এবং হুররে জড়িত. ঠিক আছে. 693 00:44:13,870 --> 00:44:16,050 আমরা শুরু করছি. যে প্রেরণা. 694 00:44:16,050 --> 00:44:20,020 এটি সক্রিয় সমস্ত এই সময় যখন আমরা হয়েছে প্রোগ্রাম আমরা ঝনঝন রান আউট লেখা. 695 00:44:20,020 --> 00:44:23,890 এবং ঝনঝন, আমরা প্রথম সপ্তাহে প্রায় কাছাকাছি থেকে বলেন করেছি, সোর্স কোড লাগে 696 00:44:23,890 --> 00:44:25,740 এবং অবজেক্ট কোড মধ্যে এটি পরিবর্তন করে. 697 00:44:25,740 --> 00:44:28,540 এটা সি নেয় এবং 0 সেঃ এবং 1s মধ্যে এটি পরিবর্তন করে. 698 00:44:28,540 --> 00:44:32,150 আমি ধরনের করেছি কয়েক সপ্তাহ জন্য মিথ্যা কারণ এটি বেশ হিসাবে যে হিসাবে সহজ না হয়েছে. 699 00:44:32,150 --> 00:44:36,750 >> আরো অনেক ফণা নীচে যাওয়া আপনি যখন ঝনঝন মত একটি প্রোগ্রাম চালানো আছে. 700 00:44:36,750 --> 00:44:39,560 আসলে, সত্যিই একটি প্রোগ্রাম কম্পাইল প্রক্রিয়ার সংক্ষিপ্ত করা যায়, 701 00:44:39,560 --> 00:44:42,210 হিসাবে আপনি কম্পাইলার উপর রব এর ভিডিও থেকে প্রত্যাহার করা হতে পারে, 702 00:44:42,210 --> 00:44:47,580 মধ্যে এই 4 টি ধাপ: প্রাক প্রক্রিয়াকরণ, নিজেই কম্পাইল করার প্রণালী, একত্রিতকরনের, এবং লিঙ্ক. 703 00:44:47,580 --> 00:44:51,950 কিন্তু সাধারণত আমরা বর্গ এবং বিশ্বের অধিকাংশ মানুষ এই সমস্ত ধাপ সংক্ষেপ 704 00:44:51,950 --> 00:44:54,410 হিসাবে শুধু "কম্পাইল করার প্রণালী." 705 00:44:54,410 --> 00:44:58,070 কিন্তু আমরা যদি ভালো উৎস কোড দিয়ে শুরু, প্রত্যাহার সম্ভবত এই সহজ সি প্রোগ্রাম 706 00:44:58,070 --> 00:45:03,530 আমরা এ পর্যন্ত করা, যে যখন কম্পাইল এটা শেষ হবে ভালো আপ খুঁজছেন প্রত্যাহার করেছেন. 707 00:45:03,530 --> 00:45:07,310 কিন্তু আসলে এর কোন একটি অন্তর্বর্তী ধাপ, এবং সেই পদক্ষেপগুলি নিম্নরূপ. 708 00:45:07,310 --> 00:45:10,750 প্রথম খুব এবং আমাদের এই প্রোগ্রামের সবচেয়ে শীর্ষে রয়েছে এই জিনিস, 709 00:45:10,750 --> 00:45:13,550 # অন্তর্ভুক্ত 710 00:45:13,550 --> 00:45:17,210 # না কি আমাদের জন্য অন্তর্ভুক্ত করবেন? 711 00:45:17,210 --> 00:45:24,150 আমার ফাইলে এটি প্রায় কাছাকাছি কপি এবং pastes stdio.h বিষয়বস্তু যাতে কেন? 712 00:45:24,150 --> 00:45:27,220 কেন আমি stdio.h বিষয়বস্তু সম্বন্ধে যত্ন? সুদ আছে কি? 713 00:45:27,220 --> 00:45:32,310 Printf এর ঘোষণা, তার প্রোটোটাইপ, যাতে তারপর কম্পাইলার জানে আমি বলতে চাচ্ছি 714 00:45:32,310 --> 00:45:34,900 যখন আমি printf এই ফাংশন উল্লেখ. 715 00:45:34,900 --> 00:45:39,390 তাই কম্পাইল মধ্যে 1 পইঠা প্রাক প্রক্রিয়াকরণ, যদ্দ্বারা ঝনঝন মত একটি প্রোগ্রাম 716 00:45:39,390 --> 00:45:43,450 অথবা কিছু সাহায্যকারী প্রোগ্রাম যে সঙ্গে ঝনঝন শব্দ আসে নীচে আপনার টপ সার্চ, 717 00:45:43,450 --> 00:45:47,740 বাম থেকে ডাইনে, এবং যে কোনো সময় এটি একটি # চিহ্ন সূচিত মধ্যে মত একটি অভিব্যক্তি দ্বারা অনুসৃত, 718 00:45:47,740 --> 00:45:53,980 এটি যে অপারেশন সম্পাদন করে, অনুলিপি এবং এই ফাইলের মধ্যে আপনার ক্ষেত্রে stdio.h মধ্যে পেস্ট. 719 00:45:53,980 --> 00:45:55,510 যে পদক্ষেপ 1. 720 00:45:55,510 --> 00:45:59,620 তারপর আপনি অনেক বড় কারণ বিশাল কপি, পেস্ট করুন পেশা যে এর মধ্যে ঘটেছে সি ফাইল আছে. 721 00:45:59,620 --> 00:46:01,710 >> ধাপ 2 এখন কম্পাইল করা হয়. 722 00:46:01,710 --> 00:46:04,880 কিন্তু এটি সক্রিয় আউট সোর্স কোড কম্পাইল ভালো লাগে যে দেখায় 723 00:46:04,880 --> 00:46:08,160 এবং কিছু ভালো যে দেখায় তা সক্রিয়, 724 00:46:08,160 --> 00:46:12,560 যা তাদের পরিচিত জন্য বলা হয়? >> [ছাত্রদের] বিধানসভা. >> এসেম্বলি ভাষা. 725 00:46:12,560 --> 00:46:16,700 এটি আসলে কিছু যদি আপনি CS61 নেন, তাহলে আপনি আরো বিশদ আকর্ষণীয় মধ্যে পাবেন. 726 00:46:16,700 --> 00:46:22,380 এটা সম্পর্কে হিসাবে বন্ধ হিসাবে আপনি 0 সেঃ এবং 1s নিজের লেখা পেতে পারেন 727 00:46:22,380 --> 00:46:25,850 কিন্তু এমনভাবে যে অন্তত একটি ধারণা অল্প করে অনেক কিছু লেখা. 728 00:46:25,850 --> 00:46:30,760 এগুলি হল মেশিন নির্দেশাবলী, এবং যদি আমরা প্রধান ফাংশন এখানে স্ক্রল ডাউন, 729 00:46:30,760 --> 00:46:35,470 এই ধাক্কা যে নির্দেশ আছে বিজ্ঞপ্তি, নির্দেশ, সরানো নির্দেশ বিয়োগ, 730 00:46:35,470 --> 00:46:38,550 নির্দেশ, কল এবং তাই ঘোষণা. 731 00:46:38,550 --> 00:46:42,930 আপনি যখন শুনি যে আপনার কম্পিউটারে ইন্টেল ভিতরে আছে, 732 00:46:42,930 --> 00:46:46,180 আপনি আপনার একটি Mac বা PC র মধ্যে CPU-র জন্য Intel আছে কি, যে মানে না? 733 00:46:46,180 --> 00:46:51,200 একটি CPU-র জন্য Intel নির্দিষ্ট নির্দেশের অন্তর্দৃষ্টিসম্পন্ন মত কোম্পানি দ্বারা নির্মিত আসে. 734 00:46:51,200 --> 00:46:55,770 তারা কি কোন ধারণা করতে swap ভালো ফাংশন হয় বা প্রধান প্রতি হয় নির্দেশক আছে, 735 00:46:55,770 --> 00:47:00,060 কিন্তু তারা কি ভালো খুব নিচু স্তরের নির্দেশাবলীর যোগ জানি না, বিয়োগ, ধাক্কা, 736 00:47:00,060 --> 00:47:02,430 সরানোর জন্য কল, এবং তাই ঘোষণা করা হয়. 737 00:47:02,430 --> 00:47:06,170 সুতরাং যখন আপনি সমাবেশ ভাষায় সি কোড কম্পাইল, 738 00:47:06,170 --> 00:47:11,820 আপনার ব্যবহারকারী খুব বন্ধুত্বপূর্ণ সুদর্শন কোড কিছু ভালো যে দেখায় রূপান্তরিত করা হয়েছে, 739 00:47:11,820 --> 00:47:21,670 যে আক্ষরিক কাছাকাছি যেমন এবং CPU-র মধ্যে আউট অফ ছোট ইউনিট বাইট বা 4 বাইট আসে. 740 00:47:21,670 --> 00:47:26,820 কিন্তু অবশেষে, যখন ঝনঝন আপনার প্রোগ্রামের এই উপস্থাপনা নিতে প্রস্তুত 741 00:47:26,820 --> 00:47:30,940 0 সেঃ মধ্যে এবং 1s তারপর, পদক্ষেপ নামক একত্রিতকরনের ঘটবে, 742 00:47:30,940 --> 00:47:33,850 এবং এই চক্ষু চোখ পিট পিট করার মধ্যে আবার সব ঘটনা যখন ঝনঝন চলমান. 743 00:47:33,850 --> 00:47:39,300 আমরা এখানে শুরু, এটা ভালো একটি ফাইল আউটপুট, এবং তারপর এইসব 0 সেঃ এবং 1s এটি পরিবর্তন করে. 744 00:47:39,300 --> 00:47:42,000 এবং যদি আপনি কিছু স্থানে ফিরে যান এবং প্রকৃতপক্ষে এই ক্রিয়াটি দেখতে চাই, 745 00:47:42,000 --> 00:47:48,220 - যদি আমি hello1.c-এই খুবই প্রথম প্রোগ্রাম আমরা দিকে তাকিয়ে এক ঢোকা 746 00:47:48,220 --> 00:47:53,710 সাধারণতঃ আমরা ঝনঝন hello1.c সঙ্গে এই সঙ্কলন এবং এই a.out আমাদের দিতে হবে. 747 00:47:53,710 --> 00:47:59,890 যদি এর বিপরীতে পরিবর্তে আপনি এটি-S পতাকা দিতে, আপনি কি পাবেন হয় hello1.s 748 00:47:59,890 --> 00:48:02,750 এবং আপনি আসলে সমাবেশ ভাষা দেখতে পাবেন. 749 00:48:02,750 --> 00:48:05,750 >> আমি একটি খুব ছোট প্রোগ্রামের জন্য এই কাজ করছি, কিন্তু আপনি যদি একত্র জন্য ফিরে যান 750 00:48:05,750 --> 00:48:08,740 বা বা উদ্ধার কোনো প্রোগ্রাম আপনাকে লিখিত করেছি এবং ঠিক বাইরে অনুসন্ধিত্সা 751 00:48:08,740 --> 00:48:13,240 কি আসলে এটা মনে হয়, আসলে কি CPU-র মধ্যে করা হয়েছিল তা খাওয়ানো দেখতে চাই, 752 00:48:13,240 --> 00:48:15,700 আপনি ঝনঝন সঙ্গে যে, S-ফ্ল্যাগ ব্যবহার করতে পারেন. 753 00:48:15,700 --> 00:48:17,770 কিন্তু সর্বশেষে তারপর, এখনও আছে এক gotcha. 754 00:48:17,770 --> 00:48:21,810 এখানে 0 সেঃ এবং 1s যে হ্যালো, বিশ্বের আমার বাস্তবায়ন প্রতিনিধিত্বকারী. 755 00:48:21,810 --> 00:48:25,530 কিন্তু আমি আমার প্রোগ্রামে কারোর ফাংশন ব্যবহৃত হয়. 756 00:48:25,530 --> 00:48:28,710 সুতরাং যদিও প্রক্রিয়া হয়েছে আমি hello.c নিতে, 757 00:48:28,710 --> 00:48:34,280 এটি সমাবেশ মধ্যে কোড, কম্পাইল করা এবং তারপর এটি 0 সেঃ এবং 1s মধ্যে একত্র পরার পরার, 758 00:48:34,280 --> 00:48:37,460 শুধুমাত্র 0 সেঃ এবং 1s ঐ সময়ের মধ্যে এই সময়ে outputted হয় 759 00:48:37,460 --> 00:48:40,270 বেশী হয় আমার কোড থেকে যে ফলাফল. 760 00:48:40,270 --> 00:48:44,400 কিন্তু যে ব্যক্তি printf লিখেছে, তারা তাদের কোড কম্পাইল 20 বছর আগে 761 00:48:44,400 --> 00:48:47,000 এবং এখন এটি প্রয়োগ উপর এর ইনস্টল কোথাও, 762 00:48:47,000 --> 00:48:51,610 তাই আমরা একরকম আমার 0 সেঃ এবং 1s সঙ্গে তার বা তার 0 সেঃ এবং 1s একত্রীকরণ আছে, 763 00:48:51,610 --> 00:48:56,160 এবং যে কম্পাইল 4 ঠা এবং চূড়ান্ত পদক্ষেপ, লিঙ্ক হিসাবে পরিচিত আমাদের এনেছে. 764 00:48:56,160 --> 00:48:58,680 সুতরাং বাম দিকে আমরা আগে সঠিক হিসাবে একই ছবি আছে: 765 00:48:58,680 --> 00:49:02,580 hello.c হয়ে সমাবেশ কোড হয়ে 0 সেঃ এবং 1s. 766 00:49:02,580 --> 00:49:05,960 কিন্তু প্রত্যাহার যে আমি আমার কোড প্রমাণ I / O কাজে ব্যবহৃত লাইব্রেরি, 767 00:49:05,960 --> 00:49:10,350 এবং তার মানে কোথাও কম্পিউটার নামক কোনো ফাইল stdio.c আছে 768 00:49:10,350 --> 00:49:13,980 বা অন্তত উহার কম্পাইল করা সংস্করণ কারণ কেউ কিছু বছর আগে 769 00:49:13,980 --> 00:49:18,530 সমাবেশ কোড কম্পাইল করে এবং তারপর একটি stdio.c 0 সেঃ এবং 1s আভা. 770 00:49:18,530 --> 00:49:21,130 এটি কি একটি স্ট্যাটিক বা ডাইনামিক লাইব্রেরি হিসাবে পরিচিত হয়. 771 00:49:21,130 --> 00:49:23,350 এটা কিছু ফাইল প্রয়োগ কোথাও বসা. 772 00:49:23,350 --> 00:49:28,710 >> কিন্তু সর্বশেষে, আমি আমার 0 সেঃ এবং 1s নিতে এবং যে ব্যক্তির 0 সেঃ এবং 1s 773 00:49:28,710 --> 00:49:32,760 এবং একরকম তাদের একসঙ্গে লিঙ্ক, যারা আক্ষরিক একত্রিত 0 সেঃ এবং 1s 774 00:49:32,760 --> 00:49:37,900 একটি ফাইল নামক a.out বা hello1 বা যাই হোক না কেন মধ্যে আমি আমার প্রোগ্রাম নামক 775 00:49:37,900 --> 00:49:43,320 যাতে শেষ ফলাফল 1s এবং 0 সেঃ প্রোগ্রাম রচনা করা উচিত যে আমার সব আছে. 776 00:49:43,320 --> 00:49:45,660 তাই এই সময় এই সেমিস্টারে যখন করেছি ঝনঝন শব্দ ব্যবহার করা হয়েছে 777 00:49:45,660 --> 00:49:48,750 এবং আরও সম্প্রতি চলমান যাতে ঝনঝন রান করা, 778 00:49:48,750 --> 00:49:53,580 এই সমস্ত ধাপগুলি তাত্ক্ষণিকভাবে হয়েছে সাজানোর ঘটছে কিন্তু খুব ইচ্ছা. 779 00:49:53,580 --> 00:49:57,830 তাই যদি আপনি অবিরত কম্পিউটার বিজ্ঞান, যথা CS61, 780 00:49:57,830 --> 00:50:00,850 এই স্তর যে আপনি ছুলা পিছন থেকে সেখানে অবিরত করব 781 00:50:00,850 --> 00:50:06,980 দক্ষতা, নিরাপত্তা প্রভাব, এবং এইসব নিম্ন স্তরের বিবরণ মত বিষয়ে কথা বলছি. 782 00:50:06,980 --> 00:50:09,220 কিন্তু সঙ্গে যে, আমরা পিছনে সি ছেড়ে সম্পর্কে. 783 00:50:09,220 --> 00:50:11,420 এর এগিয়ে যান এবং আমাদের 5 মিনিটের বিরতি এখন চলুন, 784 00:50:11,420 --> 00:50:14,190 এবং যখন আমরা ফিরে আসা: ইন্টারনেট. 785 00:50:17,280 --> 00:50:19,170 ঠিক আছে. আমরা ফিরতে হয়. 786 00:50:19,170 --> 00:50:23,590 এখন আমরা শুধুমাত্র HTML-এ আমাদের বর্ণন কারণ, হিসাবে আপনি দেখতে পাবেন না লাগা, 787 00:50:23,590 --> 00:50:26,050 এইচটিএমএল নিজেই আসলে বেশ সহজ 788 00:50:26,050 --> 00:50:29,270 কিন্তু সত্যিই ওয়েব প্রোগ্রামিং এ আরো সাধারণভাবে, নেটওয়ার্কিং আরো সাধারণভাবে, 789 00:50:29,270 --> 00:50:31,770 এবং কিভাবে এই প্রযুক্তির সব একসঙ্গে আসা 790 00:50:31,770 --> 00:50:35,400 আমাদের ইন্টারনেট উপরে অধিক পরিমানে বাস্তববুদ্ধিসম্পন্ন প্রোগ্রাম তৈরী করতে অনুমতি দেয় 791 00:50:35,400 --> 00:50:38,690 দূর পর্যন্ত তুলনায় আমরা এই কালো এবং সাদা জানালা মধ্যে ছিলাম পারবেন. 792 00:50:38,690 --> 00:50:42,140 সেমিস্টারে এই সময়ে এমনকি যদিও আমরা তুলনামূলকভাবে কম সময় ব্যয় করবে 793 00:50:42,140 --> 00:50:46,200 উপর পিএইচপি, এইচটিএমএল, সিএসএস, জাভাস্ক্রিপ্ট, এসকিউএল এবং আরো, 794 00:50:46,200 --> 00:50:48,480 অধিকাংশ ছাত্র শেষ পর্যন্ত না চূড়ান্ত প্রকল্পে যে ওয়েব নির্ভর করছে 795 00:50:48,480 --> 00:50:51,230 কারণ হিসাবে আপনি দেখতে পাবেন, পটভূমি আপনি এখন সি আছে 796 00:50:51,230 --> 00:50:54,450 বহুলাংশেই প্রযোজ্য এইসব উচ্চ স্তরের ভাষা. 797 00:50:54,450 --> 00:50:56,800 >> এবং হিসাবে আপনি আপনার চূড়ান্ত প্রকল্প সম্পর্কে চিন্তা, 798 00:50:56,800 --> 00:50:59,940 যা, অনেক সমস্যা সেট 0 ভালো, যেখানে আপনাকে উত্সাহিত করেছে 799 00:50:59,940 --> 00:51:02,160 আপনাকে ভূত মধ্যে বেশিরভাগ কিছু না, 800 00:51:02,160 --> 00:51:05,790 চূড়ান্ত প্রকল্প হল আপনার সুযোগ সি সঙ্গে আপনার newfound জ্ঞান ও উপলব্ধি গ্রহণ 801 00:51:05,790 --> 00:51:09,850 অথবা পিএইচপি বা জাভাস্ক্রিপ্ট বা ঘূর্ণনের জন্য আউট চাই 802 00:51:09,850 --> 00:51:12,330 এবং আপনার নিজস্ব সফ্টওয়্যার দুনিয়া দেখুন টুকরা জন্য তৈরি. 803 00:51:12,330 --> 00:51:17,770 এবং ধারনা আপনি বীজ থেকে, যে এখানে আপনি আগাইয়া করতে পারেন projects.cs50.net,. 804 00:51:17,770 --> 00:51:21,800 প্রত্যেক বছর, আমরা ক্যাম্পাসের উপর ধারনা অনুষদ এবং কর্মীদের থেকে এবং ছাত্র গ্রুপ অনুরোধ করা 805 00:51:21,800 --> 00:51:27,330 শুধু আকর্ষণীয় যে মীমাংসিত কম্পিউটার ব্যবহার করা যেতে পারে তাদের জন্য ধারনা জমা, 806 00:51:27,330 --> 00:51:29,860 ওয়েবসাইটগুলির ব্যবহার করে, সফ্টওয়্যার ব্যবহার করে. 807 00:51:29,860 --> 00:51:32,360 সুতরাং যদি আপনি আপনার নিজের একটি ধারণা নিয়ে আসা সংগ্রাম করছি, 808 00:51:32,360 --> 00:51:35,790 সর্বথা ধারনা দিয়ে স্ক্রল আছে এবং এই বছরের শেষ থেকে. 809 00:51:35,790 --> 00:51:39,990 এটি পুরোপুরি একটি প্রকল্প যা আগে করেনি মোকাবেলা করা হয়েছে সংগ্রামার্থ আহ্বান করা ঠিক আছে. 810 00:51:39,990 --> 00:51:44,540 আমরা ক্যাম্পাস লন্ড্রির অবস্থা দেখছি জন্য অনেক অ্যাপ্লিকেশান দেখা যায়, 811 00:51:44,540 --> 00:51:47,000 ভোজনশালা মেনু নেভিগেট জন্য অনেক এপ্লিকেশন, 812 00:51:47,000 --> 00:51:49,540 অবশ্যই ক্যাটালগ এবং ভালো নেভিগেট জন্য অনেক অ্যাপ্লিকেশন. 813 00:51:49,540 --> 00:51:53,680 এবং প্রকৃতপক্ষে, একটি ভবিষ্যত বক্তৃতা এবং ভবিষ্যতে সেমিনার, 814 00:51:53,680 --> 00:51:57,750 আমরা আপনাকে কিছু সার্বজনিকভাবে উপলব্ধ API গুলি, পরিচয় করিয়ে দিতে উভয় বাণিজ্যিকভাবে উপলব্ধ করা 815 00:51:57,750 --> 00:52:02,520 সেইসাথে এখানে উপলব্ধ থেকে ক্যাম্পাসের উপর CS50 যাতে আপনি ডাটা এক্সেস আছে 816 00:52:02,520 --> 00:52:04,910 এবং তারপর এটি সঙ্গে আকর্ষণীয় করতে পারেন. 817 00:52:04,910 --> 00:52:09,380 চূড়ান্ত প্রকল্পে তাই আরো কয়েক দিন পরে যখন আমরা স্পেসিফিকেশন মুক্তি, 818 00:52:09,380 --> 00:52:12,990 কিন্তু এখন জন্য, জানেন যে আপনি এক বা দুই বন্ধুদের সঙ্গে একক বা কাজ করতে পারেন 819 00:52:12,990 --> 00:52:16,010 সবচেয়ে আগ্রহের কোনো প্রকল্প. 820 00:52:16,010 --> 00:52:18,080 ইন্টারনেট. 821 00:52:18,080 --> 00:52:22,300 আপনি এগিয়ে যান এবং আপনার ল্যাপটপ বৈঠাচালনা আউট, facebook.com যাও প্রথমবারের জন্য যান, 822 00:52:22,300 --> 00:52:27,020 সম্প্রতি লগ ইন না, থাকার ও hit লিখুন. ঠিক কি ঘটবে? 823 00:52:27,020 --> 00:52:30,150 >> যখন আপনি আপনার কম্পিউটারে আঘাত লিখুন, একটি পদক্ষেপ আভা 824 00:52:30,150 --> 00:52:32,600 magically ঘটছে বাছাই শুরু. 825 00:52:32,600 --> 00:52:35,960 সুতরাং বাম, ফেসবুক ভালো ওয়েব সার্ভারে এখানে আপনি ডান এখানে, 826 00:52:35,960 --> 00:52:42,500 একরকম এবং আপনি এই ভাষা বলা HTTP-র, হাইপারটেক্সট ট্রান্সফার প্রোটোকল ব্যবহার করছেন. 827 00:52:42,500 --> 00:52:46,770 HTTP-র একটি প্রোগ্রামিং ভাষা নয়. এটি একটি প্রোটোকলের আরো. 828 00:52:46,770 --> 00:52:52,310 এটা নিয়মাবলী যে ওয়েব ব্রাউজার এবং ওয়েব সার্ভার ব্যবহার যখন intercommunicating একটি সেট. 829 00:52:52,310 --> 00:52:54,360 এবং কি এই অর্থ নিম্নরূপ হয়. 830 00:52:54,360 --> 00:52:56,790 বাস্তব জগতে অনেক চান, আমরা এইসব নিয়মাবলী আছে 831 00:52:56,790 --> 00:53:00,140 যেখানে আপনি যদি প্রথমবারের মত কিছু মানুষের সঙ্গে মিলিত হয়, যদি আপনি আমার এখানে humoring না মন, 832 00:53:00,140 --> 00:53:03,980 আমি আপনার কাছে আসা পর্যন্ত,, বলতে পারে "হাই, আমার নাম হয় ডেভিড." >> হাই, ডেভিড. আমার নাম স্যামি. 833 00:53:03,980 --> 00:53:05,770 "হাই, ডেভিড. আমার নাম স্যামি." 834 00:53:05,770 --> 00:53:08,310 তাই এখন আমরা শুধু নিরীহ মানুষের প্রোটোকলের এই সাজানোর মধ্যে আছে নিযুক্ত 835 00:53:08,310 --> 00:53:12,200 যেখানে আমি প্রোটোকল শুরু আছে, স্যামি প্রতিক্রিয়া করেনি, 836 00:53:12,200 --> 00:53:15,060 আমরা হাত করেছি ধুত, এবং লেনদেন সম্পূর্ণ. 837 00:53:15,060 --> 00:53:18,260 HTTP হলো আত্মা খুব অনুরূপ. 838 00:53:18,260 --> 00:53:23,350 যখন আপনার ওয়েব ব্রাউজারের অনুরোধ www.facebook.com, 839 00:53:23,350 --> 00:53:27,020 আপনার ব্রাউজারে কি সত্যিই করছে তার হাত প্রসারিত করা হয়, তাই কথা বলতে, 840 00:53:27,020 --> 00:53:29,960 সার্ভার এবং তা থেকে একটি বার্তা প্রেরণ করা হয়. 841 00:53:29,960 --> 00:53:34,220 এবং যে বার্তা পেতে সাধারণত ভালো কিছু - কি আপনি পেতে চান? - 842 00:53:34,220 --> 00:53:38,740 সম্পর্কে হোম পৃষ্ঠা, যা একটি URL-র শেষে একক স্ল্যাশ দ্বারা সাধারণভাবে denoted পেতে. 843 00:53:38,740 --> 00:53:43,790 এবং সে জন্য আপনি কি জানেন যে ভাষা আমি বলতে চাই, আমি ব্রাউজারে আপনি বলতে যাচ্ছি 844 00:53:43,790 --> 00:53:46,930 আমি যে HTTP-র সংস্করণ 1.1 বলতে চাই, 845 00:53:46,930 --> 00:53:51,980 ভাল পরিমাপ জন্য এবং, আমি আপনাকে বলতে যাচ্ছি যে হোস্ট যে আমি হোম পেজে চাই 846 00:53:51,980 --> 00:53:54,120 facebook.com হয়. 847 00:53:54,120 --> 00:53:57,730 সাধারণত, একটি ওয়েব ব্রাউজার, আপনি unbeknownst যাও, মানবিক, 848 00:53:57,730 --> 00:54:03,350 ইন্টারনেট জুড়ে এই বার্তা পাঠায় কেবল যখন আপনি www.facebook.com টাইপ করুন, 849 00:54:03,350 --> 00:54:05,370 >> আপনার ব্রাউজারে লিখুন. 850 00:54:05,370 --> 00:54:07,300 এবং কি ফেসবুক সহ কোন সাড়া দেয়? 851 00:54:07,300 --> 00:54:12,540 এটা কিছু অনুরূপ সুদর্শন রহস্যপূর্ণ বিবরণ কিন্তু এছাড়াও আরো অনেক সঙ্গে প্রতিক্রিয়াশীল. 852 00:54:12,540 --> 00:54:14,310 আমাকে এগিয়ে ফেসবুক এর হোম পেজে যেতে এখানে. 853 00:54:14,310 --> 00:54:17,480 এই পর্দায় যে সম্ভবত আমাদের অধিকাংশ যদি আপনি সব সময় লগ ইন হয়ে থাকুন না দেখতে, 854 00:54:17,480 --> 00:54:19,830 কিন্তু এই প্রকৃতপক্ষে তাদের মূল পৃষ্ঠায়. 855 00:54:19,830 --> 00:54:24,150 যদি আমরা Chrome-এ এই কি বাড়বে না জানেন যে এই সামান্য কনটেক্সট মেনু থামা পারেন. 856 00:54:24,150 --> 00:54:26,980 ক্রোম ব্যবহার করে কিনা এবং ম্যাক অপারেটিং সিস্টেম, উইন্ডোজ, লিনাক্স, বা ভালো, 857 00:54:26,980 --> 00:54:31,840 যদি আপনি ক্লিক করুন অথবা বাম ক্লিক নিয়ন্ত্রণ, সাধারণত আপনি বৈঠাচালনা একটি মেনু ভালো যে দেখায় আপ করতে পারেন, 858 00:54:31,840 --> 00:54:35,870 যেখানে কয়েক বিকল্প অপেক্ষা করা, তাদের মধ্যে অন্যতম হল দেখুন পৃষ্ঠা উত্স. 859 00:54:35,870 --> 00:54:39,920 আপনি এই জিনিষ সাধারণত যাচ্ছে দেখুন মেনু এবং খোঁচা কাছাকাছি পেতে পারেন. 860 00:54:39,920 --> 00:54:42,750 উদাহরণস্বরূপ, এখানে দেখুন: অধীন, ডেভেলপার হয় একই জিনিস. 861 00:54:42,750 --> 00:54:45,780 আমি এগিয়ে যান এবং দেখুন পৃষ্ঠা উত্স তাকান যাচ্ছি. 862 00:54:45,780 --> 00:54:50,800 আপনি কি দেখতে পাবেন HTML এ হল যে মার্ক যাও facebook.com প্রতিনিধিত্ব করা করেনি. 863 00:54:50,800 --> 00:54:55,910 এখানে একটি সম্পূর্ণ গড়বড়, কিন্তু আমরা যে এই সামান্য আরো ইন্দ্রিয় তোলে ক্ষণপরে দেখতে পাবেন. 864 00:54:55,910 --> 00:54:59,840 কিন্তু এখানে কিছু নিদর্শন আছে. আমাকে স্ক্রোল ডাউন ভালো সামগ্রী যাও. 865 00:54:59,840 --> 00:55:05,730 এটি হার্ড জন্য একটি মানব, পড়তে কিন্তু কৌণিক বন্ধনী এই যে প্যাটার্ন আছে বিজ্ঞপ্তি 866 00:55:05,730 --> 00:55:10,360 সঙ্গে বিকল্প, মান ভালো কীওয়ার্ড, উদ্ধৃতিচিহ্ন সহ পংক্তিগুলি ভালো কিছু কীওয়ার্ড. 867 00:55:10,360 --> 00:55:15,660 এটি যেখানে, যখন আপনি খুব প্রথমবার, নির্দিষ্ট তারিখ কি আপনার বছরটি জন্য সাইন আপ করুন. 868 00:55:15,660 --> 00:55:19,020 যে তারিখ বছর ড্রপ ডাউন মেনু একরকম হয় এখানে এনকোড 869 00:55:19,020 --> 00:55:23,870 এই ভাষা বলা এইচটিএমএল, হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ. 870 00:55:23,870 --> 00:55:27,730 অন্য কথায়, যখন আপনার ব্রাউজারে একটি ওয়েব পাতা অনুরোধ, 871 00:55:27,730 --> 00:55:30,610 এটি এই কনভেনশন নামক HTTP-র কথা. 872 00:55:30,610 --> 00:55:35,170 যে অনুরোধটি কি আছে কিন্তু facebook.com সঙ্গে সাড়া দেয়? 873 00:55:35,170 --> 00:55:38,260 >> এটা এই রহস্যপূর্ণ বার্তাগুলির কিছু সঙ্গে প্রতিক্রিয়াশীল, হিসাবে আমরা এক মুহূর্ত দেখতে পাবেন. 874 00:55:38,260 --> 00:55:43,760 কিন্তু তার প্রতিক্রিয়া অধিকাংশ এইচটিএমএল, হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ আকারে. 875 00:55:43,760 --> 00:55:47,170 এটা আসল ভাষা যা একটি ওয়েব পাতা লিখিত হয়. 876 00:55:47,170 --> 00:55:52,030 এবং কি সত্যিই একটি ওয়েব ব্রাউজার তারপর কিছু ভালো দেখায় যে প্রাপ্তির উপর না হয়,, 877 00:55:52,030 --> 00:55:57,120 রিড করে উপর থেকে নিচ, ডানে বামে যাও, এবং যে কোনো সময় এটি এই কৌণিক বন্ধনী মধ্যে এক সমঝোতা 878 00:55:57,120 --> 00:56:03,370 বিকল্প মত একটি অভিব্যক্তি দ্বারা অনুসৃত, তা যে যথাযথ ভাবে মার্কআপ ভাষা প্রদর্শন করা হয়. 879 00:56:03,370 --> 00:56:06,820 এই ক্ষেত্রে, এটা একটি বছর ড্রপ ডাউন মেনু প্রদর্শন করবে. 880 00:56:06,820 --> 00:56:09,240 কিন্তু আবার, এই একটি সম্পূর্ণ জগাখিচুড়ি তাকান. 881 00:56:09,240 --> 00:56:16,630 এই কারণ ফেসবুক ডেভেলপারদের জন্য শৈলী 5 0 জন্য সুস্পষ্ট উদাহরণস্বরূপ, হয় না. 882 00:56:16,630 --> 00:56:20,190 প্রকৃতপক্ষে হয় কারণ কোড লিখুন যে তারা অধিকাংশ,, সুন্দর লেখা, 883 00:56:20,190 --> 00:56:22,450 ভাল মন্তব্য, চমত্কারভাবে সংভৃত, এবং মত, 884 00:56:22,450 --> 00:56:26,080 কিন্তু কোর্স মেশিন, কম্পিউটার, সত্যিই ব্রাউজার মোটেই গ্রাহ্য না 885 00:56:26,080 --> 00:56:27,890 কিনা আপনার কোড ভাল-স্টাইল. 886 00:56:27,890 --> 00:56:33,100 এবং আসলে, এটি সম্পূর্ণ অযথা ঐ সমস্ত বার আঘাত ট্যাব কী 887 00:56:33,100 --> 00:56:37,650 এবং মন্তব্য করা আপনার কোড সমগ্র এবং সত্যিই বর্ণনামূলক পরিবর্তনশীল নাম চয়ন 888 00:56:37,650 --> 00:56:42,340 কারণ যদি ব্রাউজারে যত্ন না না, আপনি সমস্ত দিনের শেষে করছেন বাইট নাশক হয়. 889 00:56:42,340 --> 00:56:46,660 >> সুতরাং এটি সক্রিয় কি না হয় যদিও অধিকাংশ ওয়েবসাইটে facebook.com সোর্স কোড, 890 00:56:46,660 --> 00:56:49,550 জন্য ইন্টারনেট cs50.net এবং এইসব অন্যান্য ওয়েবসাইটের সমস্ত 891 00:56:49,550 --> 00:56:53,730 সাধারণত ভাল হয় না এবং ভাল মন্তব্য এবং চমত্কারভাবে সংভৃত এবং মত, 892 00:56:53,730 --> 00:56:59,270 সাধারণত আগে ওয়েবসাইট ইন্টারনেট সম্মুখের করা হয়, কোড minified হয়, 893 00:56:59,270 --> 00:57:02,970 HTML এবং CSS এর যদ্দ্বারা - অন্য কিছু আমরা শীঘ্রই দেখতে পাবেন - 894 00:57:02,970 --> 00:57:05,960 জাভাস্ক্রিপ্ট কোড আমরা শীঘ্রই দেখতে পাবেন সংকুচিত করা হয়, 895 00:57:05,960 --> 00:57:09,250 তদ্দ্বারা দীর্ঘ পরিবর্তনশীল নামের হত্তয়া X এবং Y এবং Z, 896 00:57:09,250 --> 00:57:13,900 এবং যে সকল হোয়াইটস্পেস যে তোলে সবকিছু তাই পাঠযোগ্য চেহারা নিক্ষিপ্ত হয় দূরে, 897 00:57:13,900 --> 00:57:17,700 কারণ যদি আপনি এই ভাবে আমার মনে হয়, ফেসবুক পায় বিলিয়ন পাতা দিনে হিট - 898 00:57:17,700 --> 00:57:21,670 যে ভালো কিছু ছবি - তাই একজন প্রোগ্রামার মাত্র মলদ্বারে হতে কি যদি 899 00:57:21,670 --> 00:57:26,660 স্পেস বার সময় ঠিক এক অতিরিক্ত কোড কিছু লাইন ইন্ডেন্ট অত্যন্ত আরো অনেক আঘাত? 900 00:57:26,660 --> 00:57:29,500 নিহিতার্থ কি যদি ফেসবুক অপরিবর্তিত যে হোয়াইটস্পেস 901 00:57:29,500 --> 00:57:32,880 বাইট সব তারা ইন্টারনেট দরজা ফেরত পাঠাতে? 902 00:57:32,880 --> 00:57:36,400 স্পেস বার আঘাত একবার দেয় আপনার একটি ফাইলের মধ্যে অতিরিক্ত বাইট আপনি. 903 00:57:36,400 --> 00:57:39,730 এবং যদি একটা কোটি মানুষ তারপর যাও হোম পেজে যে দিন ডাউনলোড এগিয়ে যান, 904 00:57:39,730 --> 00:57:42,060 কিভাবে আরো অনেক তথ্য আছে ইন্টারনেটের মাধ্যমে প্রেরিত? 905 00:57:42,060 --> 00:57:45,200 ভাল কারণ ছাড়া একটি গিগাবাইট. 906 00:57:45,200 --> 00:57:48,510 এবং ওয়েবসাইটের একটা অনেক জন্য দেয়া হয়, এই যেমন আকার পরিবর্তনযোগ্য সমস্যা হয় না, 907 00:57:48,510 --> 00:57:51,030 কিন্তু জন্য ফেসবুক, এর জন্য Google, এর জন্য সবচেয়ে জনপ্রিয় ওয়েবসাইট কিছু 908 00:57:51,030 --> 00:57:54,860 মহান উদ্দীপক আছে আর্থিকভাবে আপনার কোড একটি জগাখিচুড়ি অনুরূপ করা 909 00:57:54,860 --> 00:57:58,980 যাতে আপনি সম্ভব হিসাবে কয়েক বাইট হিসাবে তারপর এটি সংকুচিতকারী ছাড়াও ব্যবহার করছেন 910 00:57:58,980 --> 00:58:01,500 পিন মত ব্যবহার করে, একটি অ্যালগরিদম নামক gzip, 911 00:58:01,500 --> 00:58:04,250 যে ব্রাউজার আপনার জন্য স্বয়ংক্রিয়ভাবে আছে. কিন্তু এটা ভয়ঙ্কর. 912 00:58:04,250 --> 00:58:08,060 আমরা অন্যান্য ব্যক্তিদের এর ওয়েবসাইটে সম্পর্কে কিছু জানতে না এবং কিভাবে ওয়েব পেজ ডিজাইন করব 913 00:58:08,060 --> 00:58:09,680 যদি আমরা এটা ভালো যাও চেহারা আছে. 914 00:58:09,680 --> 00:58:13,620 >> সুতরাং ভাগ্যক্রমে, এই দিন এবং Chrome-IE ও Firefox মত ব্রাউজার 915 00:58:13,620 --> 00:58:16,450 বিল্ট ইন বিকাশকারী সরঞ্জাম সঙ্গে সাধারণত আসে. 916 00:58:16,450 --> 00:58:21,730 বস্তুত, যদি আমি কি এখানে নিচে এলিমেন্ট বা যদি পরিদর্শন আমি ডেভেলপার দেখুন, যান, 917 00:58:21,730 --> 00:58:25,220 ডেভেলপার সরঞ্জাম এবং স্পষ্টভাবে যান, 918 00:58:25,220 --> 00:58:27,640 আমার পরে পর্দায় নীচের অংশে এই উইন্ডোটি এখন পপ আপ. 919 00:58:27,640 --> 00:58:31,230 এটা প্রথমে কিছুটা ভয় দেখিয়ে কারণ এখানে আছে অপরিচিত ট্যাব অনেক, 920 00:58:31,230 --> 00:58:34,510 কিন্তু যদি উপাদানসমূহ আমি নীচে বাঁদিকে উপস্থিত সমস্ত উপায় ক্লিক করুন, 921 00:58:34,510 --> 00:58:38,810 ক্রোম সম্ভবত বেশ স্মার্ট. এটা জানে না কিভাবে এই কোড সমস্ত ব্যাখ্যা করা. 922 00:58:38,810 --> 00:58:42,320 তাই কি ক্রোম আছে এটা সাফ করে ফেইসবুক এর HTML-এর সব শেষ. 923 00:58:42,320 --> 00:58:45,680 যদিও আছে সেখানে হোয়াইটস্পেস না, আছে সেখানে খাঁজ না, 924 00:58:45,680 --> 00:58:51,120 এখন লক্ষ্য করা যে আমি এই ওয়েব পৃষ্ঠাটি আরো hierarchically নেভিগেট করা শুরু করতে পারবেন. 925 00:58:51,120 --> 00:58:56,910 এটা পরিনত হয় যে প্রত্যেক ওয়েব পেজ নামক একটি ভাষা HTML5-এ এই লেখা দিয়ে শুরু করা উচিত, 926 00:58:56,910 --> 00:59:03,980 এই DOCTYPE ঘোষণা, তাই কথা বলতে: 927 00:59:03,980 --> 00:59:07,840 এটা হালকা ধূসর এবং সেখানে কোন ধরনের, কিন্তু যে এর কোড প্রথম এই ফাইলটি লাইন, 928 00:59:07,840 --> 00:59:12,080 এবং যে ব্রাউজার বলে, "আরে, এখানে কিছু HTML5 আসে. এখানে একটি ওয়েব পাতা আসে." 929 00:59:12,080 --> 00:59:18,490 প্রথম যে বহুদূরে খোলা বন্ধনী এই জিনিস, একটি খোলা বন্ধনী HTML ট্যাগটি হতে হবে, 930 00:59:18,490 --> 00:59:22,320 এবং তারপর যদি আমি গভীর মধ্যে আকর্ষণীয় - এইসব তীরচিহ্ন হয় সম্পূর্ণ অর্থহীন; 931 00:59:22,320 --> 00:59:25,140 শুধু উপস্থাপনার দোহাই জন্য তারা, তারা আসলে ফাইলে না - 932 00:59:25,140 --> 00:59:30,300 ফেসবুক এর জন্য HTML ট্যাগের ভিতরে যে, কিছু একটা খোলা বন্ধনী দিয়ে আরম্ভ করা হয়, লক্ষ্য করা 933 00:59:30,300 --> 00:59:32,910 এবং তারপর একটি শব্দ একটি ট্যাগ বলা হয়েছে. 934 00:59:32,910 --> 00:59:38,610 তাই HTML ট্যাগটি ভিতরে দৃশ্যত একটি head ট্যাগ এবং শরীরের ট্যাগ. 935 00:59:38,610 --> 00:59:41,930 মাথা ট্যাগের ভিতরে এখন একটি ফেসবুক জন্য সমগ্র জগাখিচুড়ি 936 00:59:41,930 --> 00:59:45,620 কারণ তারা মার্কেটিং এবং বিজ্ঞাপনের জন্য মেটাডেটা এবং অন্যান্য জিনিসের অনেক আছে. 937 00:59:45,620 --> 00:59:50,600 >> কিন্তু যদি আমরা নিচে স্ক্রল, ডাউন, ডাউন, ডাউন, যাক এর যেখানে এটা দেখুন. এটা এখানে. 938 00:59:50,600 --> 00:59:52,210 এটি অন্তত কিছুটা পরিচিত. 939 00:59:52,210 --> 00:59:55,990 ফেসবুক এর হোম পৃষ্ঠার শিরোনাম, যদি আপনি কি কখনও ট্যাবে আপনার শিরোনাম বারের মধ্যে চেহারা, 940 00:59:55,990 --> 00:59:59,060 স্বাগতম হয় ফেসবুক - ইন, লগ ইন বা সাইন আপ আরো জানুন. 941 00:59:59,060 --> 01:00:01,110 এটা কি আপনি Chrome এর টাইটেল বারে দেখতে হবে, 942 01:00:01,110 --> 01:00:03,100 এবং যে কি ভাবে কোড এর মধ্যে প্রতিনিধিত্ব. 943 01:00:03,100 --> 01:00:08,090 আমরা যদি মাথায় অন্য সবকিছু উপেক্ষা করা, একটি ওয়েব পৃষ্ঠার নাড়িভুঁড়ি অধিকাংশ শরীর আছে, 944 01:00:08,090 --> 01:00:10,940 এবং এটি সক্রিয় আউট যে ফেসবুক এর কোড আরো জটিল চেহারা হবে 945 01:00:10,940 --> 01:00:14,540 অধিকাংশ জিনিস তুলনায় প্রাথমিকভাবে আমরা কেবল কারণ এটি করা হয়েছে বছর ধরে নির্মিত আপ লিখতে হবে, 946 01:00:14,540 --> 01:00:17,260 কিন্তু একটি স্ক্রিপ্ট ট্যাগ সমগ্র অনেক, জাভাস্ক্রিপ্ট কোড আছে, 947 01:00:17,260 --> 01:00:18,870 যে ওয়েবসাইট খুব ইন্টারেক্টিভ: 948 01:00:18,870 --> 01:00:22,330 অবস্থা ভালো তাত্ক্ষণিকভাবে জাভাস্ক্রিপ্ট ভাষা ব্যবহার করা দেখছি. 949 01:00:22,330 --> 01:00:25,270 কিছু নামক একটি div, যা একটি পাতা একটি বিভাগ আছে. 950 01:00:25,270 --> 01:00:27,940 কিন্তু আগে যে আমরা বিস্তারিত পেতে, আসুন যাও জুম আউট চেষ্টা 951 01:00:27,940 --> 01:00:31,920 একটি ফেসবুক 1.0 এর সহজ সংস্করণ এবং এ, চেহারা তাই কথা বলতে. 952 01:00:31,920 --> 01:00:34,740 এখানে হ্যালো ওয়েব পেজ, দুনিয়া. 953 01:00:34,740 --> 01:00:37,370 এটা খুব উপরের যে DOCTYPE ঘোষণা করেছে 954 01:00:37,370 --> 01:00:40,280 যা অন্য সব কিছুর থেকে একটু ভিন্ন. 955 01:00:40,280 --> 01:00:46,130 কিছুই অন্যথায় আমরা একটি ওয়েব পাতা মধ্যে লিখুন <সঙ্গে শুরু হতে চলেছে! ছাড়া যে লাইন আছে 956 01:00:46,130 --> 01:00:48,880 এবং ব্যতীত জন্য কিছু বলা HTML এ মন্তব্য. 957 01:00:48,880 --> 01:00:53,000 কিন্তু অধিকাংশ অংশ জন্য, একটি ওয়েব পাতা সবকিছুই খোলা বন্ধনী, অভিব্যক্তি, বন্ধ বন্ধনী. 958 01:00:53,000 --> 01:00:56,220 >> এই ক্ষেত্রে আপনি ওয়েব পেজ সম্ভব সহজ দেখতে পারেন. 959 01:00:56,220 --> 01:01:00,260 এইচটিএমএল ট্যাগ একটি head ট্যাগ রয়েছে এবং এটা একটা শরীর ট্যাগ রয়েছে, 960 01:01:00,260 --> 01:01:04,580 কিন্তু লক্ষ্য করা যে শুরু ট্যাগ এবং প্রতিরোধক এই ধারণা আছে. 961 01:01:04,580 --> 01:01:11,360 এটি HTML-এর জন্য স্টার্ট ট্যাগ, এই পাসে ট্যাগ ট্যাগ বা শেষ. 962 01:01:11,360 --> 01:01:15,400 উল্লেখ্য, তারা অর্থে করছি opposites ধরণের যে ট্যাগ বন্ধ বা এন্ড ট্যাগ 963 01:01:15,400 --> 01:01:20,030 এই ফরোয়ার্ড এর নিজে এর ভিতরে কাট. 964 01:01:20,030 --> 01:01:23,540 ইতিমধ্যে, একটি খোলা মাথা এখানে ট্যাগ এবং একটি ঘনিষ্ঠ মাথা এখানে ট্যাগ আছে. 965 01:01:23,540 --> 01:01:26,880 >> এখানে আছে একটি খোলা একটি বন্ধ শিরোনাম ও ট্যাগ শিরোনাম. 966 01:01:26,880 --> 01:01:29,850 যে আমি এক লাইন, কেবল অবাধ শিরোনাম রেখেছি. 967 01:01:29,850 --> 01:01:33,760 এটা ঠিক লাগছিল মত এক লাইন সুন্দরভাবে মাপসই করা হবে, তাই আমি কয়েক বার লিখুন আঘাত না করে বিরক্ত. 968 01:01:33,760 --> 01:01:38,200 এদিকে, শরীরের ভাবা অত্যন্ত স্পষ্ট হতে ইন্ডেন্ট. 969 01:01:38,200 --> 01:01:41,050 উল্লেখ্য যে HTML এর একটি চমত্কার মূক ভাষা. 970 01:01:41,050 --> 01:01:43,410 আসলে, পিঠ দিন আগে WYSIWYG এডিটর ছিল 971 01:01:43,410 --> 01:01:46,770 এবং মাইক্রোসফট ওয়ার্ড যেখানে আপনি, বলতে পারে "এই সাহসী না, এই italics, না" 972 01:01:46,770 --> 01:01:50,850 আপনি আসলে রচনাগুলিকে সামান্য কমান্ড 20 + বছর আগে টাইপ হবে 973 01:01:50,850 --> 01:01:55,740 যেখানে আপনি বলতে হবে, "শুরু করার এই পাঠ্য বোল্ড. তৈরীর এই পাঠ্য বোল্ড থামুন." 974 01:01:55,740 --> 01:01:59,010 "এই টেক্সট italics তৈরীর শুরু.. এই টেক্সট italics তৈরীর থামুন" 975 01:01:59,010 --> 01:02:01,850 >> এটা কি কোনো এইচটিএমএল অথবা মার্কআপ ভাষা. 976 01:02:01,850 --> 01:02:05,530 এই প্রথম ট্যাগ বলে, "আরে, এখানে ব্রাউজার. কিছু HTML এ আসে." 977 01:02:05,530 --> 01:02:09,880 পরের ট্যাগ বলে, "আরে, এখানে ব্রাউজার. মাথা, আমার ওয়েব পৃষ্ঠার হেডারে আসে." 978 01:02:09,880 --> 01:02:11,650 "আরে, এখানে ব্রাউজার. শিরোনাম আসে." 979 01:02:11,650 --> 01:02:15,880 এখানে ওভার এবং তারপর, "আরে, ব্রাউজার. যে এটি শিরোনামের জন্য." 980 01:02:15,880 --> 01:02:20,000 তাই এই ভাবে ব্রাউজারে আর হ্যালো বেশী অক্ষর প্রদর্শন জানে, বিশ্ব 981 01:02:20,000 --> 01:02:21,860 শিরোনাম বার. 982 01:02:21,860 --> 01:02:23,640 এদিকে, এই বলে, "যে মাথা জন্য এটা." 983 01:02:23,640 --> 01:02:28,340 এই বলে, "এখানে শরীর আসে এখানে প্রকৃত শরীর." - এর আক্ষরিক, শব্দ হ্যালো, দুনিয়া. 984 01:02:28,340 --> 01:02:33,190 এবং এখানে এই বলে, "এটা শরীরের জন্য এটি. যে HTML-এর জন্য এটা." 985 01:02:33,190 --> 01:02:34,640 তাই ব্রাউজারে হয় চমত্কার বোবা. 986 01:02:34,640 --> 01:02:39,920 তারা শুধু এই স্টাফ উপর থেকে নিচ, ডানে বামে যাও, পড়তে এবং তাতে, তারা কি করবেন ঠিক বলা হয়. 987 01:02:39,920 --> 01:02:41,860 এর প্রকৃতপক্ষে একটি সামান্য উদাহরণ এখানে করুক না. 988 01:02:41,860 --> 01:02:46,240 আমাকে প্রোগ্রামের আমার Mac-সহজ খুলুন এখানে আপ, যথা TextEdit. 989 01:02:46,240 --> 01:02:48,220 উইন্ডোজ অন Notepad.exe আপনি ব্যবহার করতে পারেন. 990 01:02:48,220 --> 01:02:50,520 কিন্তু এই সমস্ত আপনি ওয়েব পেজ তৈরীর শুরু করা দরকার. 991 01:02:50,520 --> 01:02:53,730 আমি এগিয়ে যান এবং মাত্র কপি এবং এই ফাইলের মধ্যে এই কোড কপি করে পেস্ট যাচ্ছি. 992 01:02:53,730 --> 01:02:57,210 আমি এগিয়ে যান এবং আমার ডেস্কটপে সংরক্ষণ করতে চলেছি, 993 01:02:57,210 --> 01:03:01,220 এবং আমি এই hello.html হিসাবে সংরক্ষণ করতে চলেছি, 994 01:03:01,220 --> 01:03:03,840 এবং এখন ফাইলটি hello.html নামকরণ করা হয়. 995 01:03:03,840 --> 01:03:05,690 এটা এখানে আমার ডেস্কটপের হয়. 996 01:03:05,690 --> 01:03:11,130 আমাকে এখন একটি ব্রাউজারের মধ্যে যান এবং ব্রাউজারের মধ্যে ফাইল টেনে আনুন. 997 01:03:11,130 --> 01:03:14,060 এবং voila এখানে, এটা আমার প্রথম ওয়েব পৃষ্ঠা. 998 01:03:14,060 --> 01:03:17,340 যে ট্যাব শিরোনাম হ্যালো হল উল্লেখ্য, প্রতি শিরোনাম ট্যাগ হিসাবে দুনিয়া, 999 01:03:17,340 --> 01:03:20,040 এবং যে বিজ্ঞপ্তি হ্যালো, পৃথিবী আমার ওয়েব পৃষ্ঠার শরীর, 1000 01:03:20,040 --> 01:03:22,190 এবং হুররে, আমি ইন্টারনেট ব্যবহার করছি. 1001 01:03:22,190 --> 01:03:24,700 >> আমি নই, কারণ এই ফাইলটি ইন্টারনেটে না সত্যিই, ডান না. 1002 01:03:24,700 --> 01:03:28,330 এটা আমার স্থানীয় হার্ড ড্রাইভে যে নির্দিষ্ট পথ থাকতে হবে. 1003 01:03:28,330 --> 01:03:32,720 কিন্তু ধারণা করা হয় একই. সমস্ত আমরা এখন যা দরকার তা হল একটি ওয়েব সার্ভার যা তা আপলোড করুন. 1004 01:03:32,720 --> 01:03:37,410 কিন্তু প্রথম দিন এর আসলে একটু জটিলতা এবং আরো একটু বেশি stylization পরিচয় করিয়ে দিতে. 1005 01:03:37,410 --> 01:03:39,890 এটি একটি সহজ, যদি বিরক্তিকর, ওয়েব পৃষ্ঠা. 1006 01:03:39,890 --> 01:03:41,990 এটি সক্রিয় আউট ট্যাগ আমরা ব্যবহার করতে পারেন অন্যান্য ধরনের আছে. 1007 01:03:41,990 --> 01:03:45,530 উদাহরণস্বরূপ হলুদ এখানে, আমি 2 ট্যাগ নতুন চালু করেছি. 1008 01:03:45,530 --> 01:03:49,630 আমরা এইসব আজ অনেক খেলা না, কিন্তু লক্ষ্য করবেন যে লিঙ্ক ট্যাগ 1009 01:03:49,630 --> 01:03:52,520 একরকম দেখায় অন্য সব কিছুর থেকে ভিন্ন. 1010 01:03:52,520 --> 01:03:55,370 লিঙ্ক ট্যাগ লাগে কি গুণাবলী বলা হয়, 1011 01:03:55,370 --> 01:03:59,770 এবং একটি বৈশিষ্ট্য হল যে কিছু একটা ট্যাগের আচরণ পরিবর্তন করা যাবে. 1012 01:03:59,770 --> 01:04:03,840 এই ক্ষেত্রে, কারণ এটা একটা ধরনের অর্থহীন নাম, লিংক সবচেয়ে ভাল পছন্দ না, 1013 01:04:03,840 --> 01:04:11,590 কিন্তু এই লিঙ্কটি ট্যাগ বলছেন, মূলত, ফাইলের আমার ওয়েব পাতা ভিতর বলা styles.css অন্তর্ভুক্ত. 1014 01:04:11,590 --> 01:04:15,400 আপনি সি # এর অন্তর্ভুক্ত এই ডিরেক্টিভের অনুরূপ হিসাবে মনে করতে পারেন. 1015 01:04:15,400 --> 01:04:19,650 Styles.css সর্বতোভাবে একটি ভিন্ন ভাষা উল্লেখ করে যে আমরা আজকের খেলা না করা হয়, 1016 01:04:19,650 --> 01:04:23,790 কিন্তু এর জন্য নন্দনতত্ব: ফন্ট সাইজ, রং, প্যাডিং, খাঁজ, মার্জিন, 1017 01:04:23,790 --> 01:04:26,040 এবং নন্দনতত্ব বিবরণের যে ধরনের সব. 1018 01:04:26,040 --> 01:04:28,820 এদিকে, স্ক্রিপ্ট ট্যাগটি বৈশিষ্ট্যগুলি অনুরূপ, 1019 01:04:28,820 --> 01:04:33,140 কিন্তু বদলে CSS এর মধ্যে, যে ভাষা, এটি অন্য ভাষা, জাভাস্ক্রিপ্ট অন্তর্ভুক্ত. 1020 01:04:33,140 --> 01:04:37,810 সুতরাং এই 2 ট্যাগ সঙ্গে অন্য ভাষায় বললে, ঘটনাচক্রে আমি কি আমার নিজের ওয়েব পাতা লিখতে সমর্থ করা 1021 01:04:37,810 --> 01:04:41,490 কিন্তু কোড কমান যে আমি বা অন্য কারোর লিখিত করেনি 1022 01:04:41,490 --> 01:04:44,350 যাতে আমরা তা অন্যান্য ব্যক্তিদের এর কাঁধের স্ট্যান্ড করতে পারবেন না, আমরা ভালো নকশা অনুশীলন করতে পারেন, 1023 01:04:44,350 --> 01:04:46,120 সাধারণ কোড আউট ফ্যাক্টরিং. 1024 01:04:46,120 --> 01:04:49,090 যদি আমি 10 বিভিন্ন ওয়েব পেজ পেয়েছেন, এর মানে হল যে আমার কিছু নন্দনতত্ব 1025 01:04:49,090 --> 01:04:52,490 অনেক # একটি পৃথক ফাইলে অন্তর্ভুক্ত করে, যেমন করেছিল আউট হতে পারে. 1026 01:04:52,490 --> 01:04:54,420 তাই সেখানে আমরা পেয়ে থাকেন. 1027 01:04:54,420 --> 01:04:57,180 কিন্তু যাক এর প্রথম আসলে কিছু এই ফাইলটি সঙ্গে আরো আকর্ষণীয় না. 1028 01:04:57,180 --> 01:05:01,110 >> আবার, এই মাত্র TextEdit. আমি এখনো ইন্টারনেট, টেকনিক্যালি না কিন্তু আমরা করব না. 1029 01:05:01,110 --> 01:05:04,910 আমি হ্যালো, বিশ্বের একটু সাহসী তুলনায় এটা করতে চাই. 1030 01:05:04,910 --> 01:05:10,890 তাই হ্যালো, আমি কি ইচ্ছামত গাঢ় জন্য বলে. 1031 01:05:10,890 --> 01:05:15,910 আবার, একই বিবরণ: হ্যালো, কমা, যার ফলে এই সাহসী শুরু, 1032 01:05:15,910 --> 01:05:19,730 তারপর গাঢ় হরফে দুনিয়া, মুদ্রিত এবং এই অর্থ সাহসী এই মুদ্রণ থামাতে হয়. 1033 01:05:19,730 --> 01:05:24,020 সম্পর্কে এগিয়ে যান এবং আমার ফাইল সংরক্ষণ, Chrome-এ ফিরে যাওয়া যাক, আমি ঠিক তাই আমরা এটা ভাল সেটা দেখতে পারেন জুমইন করব, 1034 01:05:24,020 --> 01:05:27,870 এবং, পুনরায় লোড করুন এবং আপনি যে বিশ্বে সাহসী এটি এখন দেখতে পাবেন. 1035 01:05:27,870 --> 01:05:31,810 ওয়েব সমস্ত হাইপারলিংক সম্পর্কে হয়, তাই আসুন এগিয়ে যান এবং এই করুন: 1036 01:05:31,810 --> 01:05:38,550 আমার প্রিয় ওয়েবসাইট হয়, এর কথা বলা যাক, youtube.com. 1037 01:05:38,550 --> 01:05:43,810 , সংরক্ষণ পুনরায় লোড করুন. ঠিক আছে. এখন একটি ওয়েবসাইটের hideousness ছাড়াও দম্পতি সমস্যা আছে. 1038 01:05:43,810 --> 01:05:47,310 1, আমি নিশ্চিত আমি সুন্দর আঘাত এখানে লিখুন. এবং আমি. 1039 01:05:47,310 --> 01:05:51,590 আমি শুধু আঘাত, আমি লিখুন এছাড়াও সংভৃত, অনুশীলন কি আমরা শৈলী সম্বন্ধে হয়েছে করেছি প্রচারক, 1040 01:05:51,590 --> 01:05:54,930 কিন্তু আমার বিশ্বের অধিকার পরের. 1041 01:05:54,930 --> 01:05:58,410 সুতরাং কেন এই? ব্রাউজারে শুধুমাত্র কি আপনি তাদের কি বলবেন. 1042 01:05:58,410 --> 01:06:04,010 আমি, বলা ব্রাউজার নি "এখানে লাইন ব্রেক. অনুচ্ছেদ এখানে বিরতি ঢোকান." 1043 01:06:04,010 --> 01:06:07,820 ব্রাউজার, তাই এটা যদি আমি 30 বার ফিরে আঘাত ব্যাপার না, 1044 01:06:07,820 --> 01:06:10,820 এটা এখনও আমার ডান পাশে দুনিয়া করা যাচ্ছে. 1045 01:06:10,820 --> 01:06:15,930 আমি কি সত্যিই কি এখানে আছে কিছু ভালো হয় বলে
, একটি লাইন বিরতি সন্নিবেশ করুন. 1046 01:06:15,930 --> 01:06:17,940 >> এবং প্রকৃতপক্ষে, একটি লাইন বিরতি একটি অদ্ভুত ধরনের জিনিস 1047 01:06:17,940 --> 01:06:21,650 কারণ আপনি চলন্ত অন্য লাইনে যাও শুরু করতে পারে না, তারপর কিছু একটা, 1048 01:06:21,650 --> 01:06:25,380 এবং তারপর চলন্ত একটি নতুন লাইন বন্ধ করার জন্য. এটি একটি পারমাণবিক অপারেশন ধরনের. 1049 01:06:25,380 --> 01:06:28,140 হয় আপনি এটা করতে বা আপনি না. আপনি Enter বা আপনি না. 1050 01:06:28,140 --> 01:06:33,390 তাই একটি একটি br বিভিন্ন ট্যাগ সামান্য বিট, এবং যাতে আমি উভয় খোলা এবং বন্ধ সাজাতে প্রয়োজন 1051 01:06:33,390 --> 01:06:35,230 আচমকা. 1052 01:06:35,230 --> 01:06:37,500 যে জন্য এই সিন্টেক্স হল. 1053 01:06:37,500 --> 01:06:41,760 টেকনিক্যালি, আপনি কিছু HTML সংস্করণের মধ্যে ভালো কিছু করতে পারে, 1054 01:06:41,760 --> 01:06:45,600 কিন্তু এই একটা মূঢ় কারণ কোনো কারণ এবং কিছু শুরু থামাতে আছে 1055 01:06:45,600 --> 01:06:48,420 যদি আপনি পরিবর্তে একযোগে এটি সব করতে পারেন. 1056 01:06:48,420 --> 01:06:52,310 বুঝি যে HTML5 এই স্ল্যাশ কঠোরভাবে প্রয়োজন নেই, 1057 01:06:52,310 --> 01:06:55,410 যাতে আপনি পাঠ্যবই এবং অনলাইন রিসোর্স যে এটি নেই দেখতে হবে, 1058 01:06:55,410 --> 01:06:59,780 কিন্তু ভাল পরিমাপ জন্য আসুন আমরা যে প্রতিসাম্য দূর পর্যন্ত দেখা অভ্যাস করেছি. 1059 01:06:59,780 --> 01:07:02,870 এর অর্থ এই যে ট্যাগ উভয় খোলা এবং বন্ধ. 1060 01:07:02,870 --> 01:07:05,220 সুতরাং এখন আমাকে আমার ফাইলটি সংরক্ষণ করুন এখানে ফিরে যান. 1061 01:07:05,220 --> 01:07:10,240 ঠিক আছে, তাই এটা আমি জানি ওয়েব ছাড়া চেহারা ভালো, এর শুরু হয় ধরনের যোগ্য, 1062 01:07:10,240 --> 01:07:13,610 এবং এখনো ইউটিউব এখানে কিছু হতে যাও বলে মনে হচ্ছে না. 1063 01:07:13,610 --> 01:07:17,560 এর কারণ যদিও এটি একটি লিঙ্ক মত দেখাচ্ছে, ব্রাউজার যা অপরিহার্যভাবে না জানে, 1064 01:07:17,560 --> 01:07:20,670 তাই আমি এই ব্রাউজার যা হল একটি লিঙ্ক জানাতে হবে. 1065 01:07:20,670 --> 01:07:22,620 >> উপায় এই না একটি নোঙ্গর ট্যাগ ব্যবহার করা হয়: 1066 01:07:22,620 --> 01:07:26,770 <অধি রেফারেন্স, যা পুরানো একটি লিঙ্ক বলছে স্কুল উপায় জন্য একটি href, 1067 01:07:26,770 --> 01:07:35,900 = "Http://www.youtube.com"> 1068 01:07:35,900 --> 01:07:38,490 এবং আমার একটি নতুন লাইন এই ঠিক তাই সরাতে আর কিছুটা আরো পাঠযোগ্য, 1069 01:07:38,490 --> 01:07:40,060 এবং আমি ফন্টের আকার সঙ্কুচিত করা হবে. 1070 01:07:40,060 --> 01:07:43,890 আমি এখনও? নং যাচ্ছে এই বৈপরীত্য আছে বলে মনে হয় না. 1071 01:07:43,890 --> 01:07:46,760 এই ট্যাগটি, নোঙ্গর ট্যাগ, কিন্তু প্রকৃতপক্ষে একটি বৈশিষ্ট্য নিতে, 1072 01:07:46,760 --> 01:07:52,900 যা তার আচার - আচরণ পরিবর্তন করা, এবং যে বৈশিষ্ট্য মান দৃশ্যত YouTube এর URL টি. 1073 01:07:52,900 --> 01:07:56,380 কিন্তু বৈপরীত্য লক্ষ্য করা হয় যে মাত্র কারণ যে URL-টি আপনি যাচ্ছেন, 1074 01:07:56,380 --> 01:08:01,020 যে যে শব্দ যে আপনি এবং নিম্নরেখাঙ্কিত একটি লিঙ্ক তৈরি করছেন করা হয়েছে মানে এই নয়. 1075 01:08:01,020 --> 01:08:03,960 বরং, যে ভালো কিছু হতে পারে. 1076 01:08:03,960 --> 01:08:10,870 সুতরাং আমি যার জন্য এই ট্যাগ ব্যবহার করে একটি শব্দ বন্ধ নোঙ্গর হাইপারলিংক থামাতে বলার আছে. 1077 01:08:10,870 --> 01:08:12,650 আমি এই কাজ করছি না লক্ষ্য করুন. 1078 01:08:12,650 --> 01:08:15,890 1, ঠিক এই সময় হতে সবাই এর বিস্তার এবং এটি এর প্রয়োজন হবে না. 1079 01:08:15,890 --> 01:08:19,290 >> একটি ট্যাগ বন্ধ, কেবল আপনার ট্যাগের নাম উল্লেখ আবার. 1080 01:08:19,290 --> 01:08:21,800 আপনি গুণাবলী কোন উল্লেখ করবেন না. 1081 01:08:21,800 --> 01:08:26,189 সুতরাং এর সংরক্ষণ করতে দিন যে, ফিরে যান. ঠিক আছে, এখন voila, এটা নীল এবং হাইপারলিঙ্ক করাটি. 1082 01:08:26,189 --> 01:08:29,430 যদি আমি এটা ক্লিক করুন, আমি আসলে YouTube-এ যান না. 1083 01:08:29,430 --> 01:08:32,529 তাই যদিও আমার ওয়েব পাতা ইন্টারনেট হয় না, এটা অন্তত এইচটিএমএল, 1084 01:08:32,529 --> 01:08:37,930 এবং যদি আমরা ইন্টারনেট ধরতে যাক, আসলে আমরা শেষ youtube.com এ পর্যন্ত এখানে হবে. 1085 01:08:37,930 --> 01:08:40,670 এবং আমি ফিরে যান এবং এখানে আমার ওয়েব পাতা পারেন. কিন্তু এই বিজ্ঞপ্তি. 1086 01:08:40,670 --> 01:08:43,120 আপনি যদি কখনও স্প্যাম অথবা একটি ফিশিং আক্রমণ করেছি অর্জিত, 1087 01:08:43,120 --> 01:08:45,850 এখন আপনি মাত্র পাঁচ মিনিট পরে একই কাজ করার ক্ষমতা আছে. 1088 01:08:45,850 --> 01:08:50,920 আমরা এখানে যান এবং www.badguy.com ভালো কিছু করতে পারি 1089 01:08:50,920 --> 01:08:59,319 বা যাই হোক না কেন ক্রটিযুক্ত ওয়েবসাইট, এবং তারপর আপনি আপনার পেপ্যাল ​​একাউন্ট যাচাই করতে বলতে পারেন. 1090 01:08:59,319 --> 01:09:04,840 [হাস্য] এখন আর এই badguy.com, যা আমি ক্লিক যাচ্ছি না যেতে হবে 1091 01:09:04,840 --> 01:09:08,000 কারণ আমি যেখানে কোন ধারণা আছে যে বাড়ে. [হাস্য] 1092 01:09:08,000 --> 01:09:10,859 >> কিন্তু এখন আমরা আসলে শেষ পর্যন্ত সেখানে ক্ষমতা আছে. 1093 01:09:10,859 --> 01:09:12,640 সত্যিই তাই আমরা ঠিক করছি পৃষ্ঠ স্ক্র্যাচ শুরু. 1094 01:09:12,640 --> 01:09:15,830 আমরা মার্কআপ ভাষা করছি লেখা; আমরা কোনটাই করছেন প্রোগ্রামিং না. 1095 01:09:15,830 --> 01:09:18,569 কিন্তু আমরা যত শীঘ্র সুসম্পন্ন HTML এ আমাদের শব্দভান্ডার আউট, 1096 01:09:18,569 --> 01:09:21,520 আমরা পিএইচপি, একটি প্রকৃত প্রোগ্রামিং ভাষা পরিচয় করিয়ে দেব 1097 01:09:21,520 --> 01:09:26,859 যা আমাদের এইচটিএমএল স্বয়ংক্রিয়ভাবে উত্পন্ন করতে সক্ষম হবেন সিএসএস স্বয়ংক্রিয়ভাবে উত্পন্ন করবে, 1098 01:09:26,859 --> 01:09:29,430 যাতে আমরা বাস্তবায়ন বুধবার, লাগা বলতে পারেন, 1099 01:09:29,430 --> 01:09:31,700 আমাদের নিজস্ব সার্চ ইঞ্জিন এবং আরো. 1100 01:09:31,700 --> 01:09:34,770 দিন দুয়েক যে আছে আরো. আমরা তখন আপনি দেখতে পাবেন. 1101 01:09:34,870 --> 01:09:39,000 >> [CS50.TV]