[Powered by Google Translate] [সপ্তাহ 7] [ডেভিড জে Malan - হার্ভার্ড বিশ্ববিদ্যালয়] [এটি CS50. - CS50.TV] ঠিক আছে. ফিরে আসার জন্য স্বাগতম. এটি CS50, এবং এই সপ্তাহে 7 শুরু. সামান্য ঘোষণা একটি দম্পতি: Pset5 প্রগতিতে এখন হয়, বা শীঘ্রই হইবে, এবং সম্পর্কে বলা যাক, বেশ ভাল, এই আরো চ্যালেঞ্জিং মধ্যে করা ঝোঁক আছে অবশ্যই এর সমস্যা সেট, তাই এই সম্পর্কে উল্লেখ করা যাক এখন যাতে এই সপ্তাহে কখনও অধিক আপনি পর্যন্ত অপেক্ষা করবেন না,, বলে বুধবার রাতে অথবা বৃহস্পতিবার রাতে ইন আকর্ষণীয় যাও এই হ 'ল একটি আকর্ষণীয় pset. আমরা মনে করি মজা. যদি সত্যি বলতে কি, পুরোপুরি সঠিক পেতে এবং তথাকথিত বিগ বোর্ড তারপর চ্যালেঞ্জ করতে পারেন, আপনি অবশ্যই এর কর্মীদের সাথে কিছু মেলে কৌশলে বুদ্ধি খাটিয়ে রোজগার করার সুযোগ পাবেন এবং আপনার সহপাঠীদের কিছু. কি বিগ বোর্ড হল একবার আপনি আপনার বানান পরীক্ষক কাজ আছে, cs50.net আপনি একটি কমান্ড চালানোর পরে যেতে সক্ষম হবেন, বিশুদ্ধরূপে মধ্যে, তারপর মনোনীত এবং পরিমাণ এবং সময় RAM-র পরিমাণ এবং আরো আপনি যে আপনার বাস্তবায়ন ব্যবহার করেছেন এখানে কোর্স এর হোম পেজে প্রদর্শিত হবে. আপনি যে এইসব লোকেরা এখানে আভা কর্মী হিসাবে তালিকাভুক্ত করা হয় বিজ্ঞপ্তি পাবেন উপর থেকে সপ্তাহান্তে, কর্মীদের চিন্তা এটি একে অপরকে অতিক্রম করা চেষ্টা মজা হবে. তাই বুঝতে পারি যে এখানে লক্ষ্য কর্মীদের দমন করা হয় না. এমনকি আমি নম্বর 13 am-এ শুধুমাত্র এখানে. মধ্যে বিশুদ্ধরূপে, মনোনীত কিন্তু এটা একটা সুযোগ দেখতে ঠিক কিভাবে অল্প RAM- এবং কিভাবে কয়েকটি CPU-যাও আপনি আপনার সহপাঠীদের মধ্যে সামনা - সামনি কিছু ব্যবহার করতে পারেন. এবং আমি যে কেভিন মাইকেল Schmid মানা করব, বর্তমানে টিএফএস এক হিসাবে 1 নম্বর স্থান, এই যে আমরা একটি বাস্তবায়ন সম্ভব কল না প্রদত্ত যে তিনি লোড জন্য প্রায় 0 RAM ও প্রায় 0 এর ব্যবহার করে যাও. সুতরাং আমরা কেভিন অফলাইন যত্ন নেব. [হাস্য] নির্দিষ্ট দক্ষতা কেভিন এখানে পরীক্ষা নির্বাণ আছে. সে ব্যাপারে আমরা চিন্তা করি না চান তার এক খুব এখন হয় CS50x অগ্রগতি হয় একটি সপ্তাহ, এবং আপনি ছেলেরা হিসাবে অনেক এই পরীক্ষা হিসাবে যারা ছাত্র হল একটি অংশ. আমরা তাদের pset0 অংশ হিসাবে তাদের জিজ্ঞাসা করেছি, কোন একভাবে ছিল একটি ভূত প্রকল্প জমা দিন তাদের সুদের - একটি খেলা, একটি আর্ট ইন্টারেক্টিভ টুকরা, একটা এনিমেশন, বা ভালো - একটি 1 - 2 মিনিটের ভিডিও, যদি তারা, বিশ্বের হ্যালো বলছে এবং যারা চাই আসলে তারা. আমার মনে হয়েছে আমি আপনার সাথে মাত্র একটি ভিডিও দম্পতি যে পর্যন্ত জমা দেওয়া হয়েছে ভাগ চাই কারণ কর্মীদের আমাদের জন্য, অন্তত, এটা সত্যিই উত্তেজনাপূর্ণ হয়েছে এবং সারা পৃথিবী থেকে এইসব লোকেরা দেখতে দীপক - সমস্ত বিশ্বের দেশ - সবকিছুর সুরকরণ মধ্যে,, একটি ইন্টারনেট কম্পিউটার বিজ্ঞান কোর্স যাও, তা এ কারণে তারা তাদের নিজস্ব গবেষণা চালিয়ে যেতে চান, তারা একটি নতুন দিক তাদের কেরিয়ার নিতে চান, তারা তাদের নিজস্ব জ্ঞান ফাঁক পূরণ করতে চান, তাই একই কারণে যে সম্ভবত আপনি না এখানে হয়েছে কিছু. তাই আমি এই ধরনের একটি ছাত্র দিতে এখানে আপনি. আপনি অল্পমাত্র বিট ভলিউম বাড়াতে পারে. এখানে আমাদের ছাত্র এর 1 মিনিটের জমা এক. হ্যালো, দুনিয়া. আমি শিল্প মালাগা, স্পেন এখানে ইঞ্জিনিয়ারিং ছাত্র. আমি এই অনলাইন কোর্স সম্পর্কে কারণ আমি কম্পিউটার বিজ্ঞান প্রেম উত্তেজিত, আমি সত্যিই কি করছি, এবং সত্যি সত্যিই আমি কৃতজ্ঞ যে আমি এটি পেতে অন্বেষণ. এবং এটা সত্য যে আমি একই আপনি না কি সব জানতে পারবেন কিন্তু এর পরিবর্তে হচ্ছে হার্ভার্ড আমি মালাগা মধ্যে am সারাংশ, কিভাবে সন্ত্রস্ত হল যে? ওয়েল, আমি Fernando, এবং এই CS50. আপনি না দেখুন. [হাস্য] আরেকটি ক্লিপ আমরা বিশেষ পছন্দ করেন, আপনি যে এই ভদ্রলোক এর ইংরেজি তাই দৃঢ় না খুঁজে পাবেন. দেখে মনে হচ্ছে তিনি কি মেশিনে অনুবাদ, তাই অনুবাদ নিজেরা একটি বিট অপূর্ণ, কিন্তু এই ছিল আমাদের প্রিয় এক পর্যন্ত হিসাবে ভাল. [♪ ♪] হ্যালো, দুনিয়া. [জাপানি বলতে] [আমি জাপানি মধ্যে অভিবাদন যাও আছে কারণ আমার ইংরেজি খুবই অবিশ্বস্ত.] [আমি আপনাকে বার্তা বিতরিত Gifu শহর, জাপান থেকে.] [আমি 20 বছর হতে প্রথমবার জন্য একজন ছাত্র হিসাবে দেখা যায়.] [আমি হার্ভার্ড ইউনিভার্সিটি খুব কৃতজ্ঞ যারা এই সুযোগ দিয়েছেন এবং edX সম্পর্কে.] [গলফ একটি গিটার এবং আমার প্রিয় জিনিস চলমান.] [হাস্য] [♪ ♪] [আপনি কেন আমি একটি cs50x পরিচর্যা করা চেষ্টা ছিল মনে করি.] [হার্ভার্ড ইউনিভার্সিটি, এটা আমার আকাঙ্ক্ষা.] [বিশেষ করে যদি আমি ক্ষীণ উপস্থিতি জাপান বাস করতেন.] [আমি যেমন edX যখন. অস্তিত্ব অবিলম্বে সচেতন চেষ্টা চেয়েছিলেন] [আপনি তাই মনে করি আপনি আই শেখার বয়স সংক্রান্ত না করবেন না] [Cs50 আমার আকাঙ্ক্ষা. আমার নাম Kazu, এবং এই cs50.] [♪ ♪] [সাধুবাদ এবং হর্ষধ্বনি] আমাদের আরেক প্রিয় ছিল এই কারোর থেকে এখানে জমা. [♪ ♪] [Malan] গুগুল এটি যদি আপনি এই মেমে সাথে অপরিচিত. এবং তারপর সর্বশেষে, অন্যদের যে সম্ভবত আরাধ্য পুরস্কার জিতে পোস্ট আছে একটি দম্পতি. [ছাত্র] ওহো! >> [Malan] আমরা শুনতে পাবেন. এটি ছোট, তাই ঘনিষ্ঠভাবে শুনতে. [মহিলা স্পিকার] কি আপনার নাম? >> Louie. [মহিলা স্পিকার] কি এই? >> [Giggles] CS50. [হাস্য] [Malan] তিনি দুই বার লাগে যদিও,. এখানে আমরা শেষ যান,. আমার নাম Louie, এবং এই CS50. [হাস্য] এরপর CS50x. আপনি তাদের সমস্ত যাও আপনি যখন বাড়িতে অনুসরণ বরাবর ধন্যবাদ আছে যারা দূর পর্যন্ত partaking হয়েছে. আজকে আমরা ডাটা স্ট্রাকচার আমাদের আলোচনার উপসংহার, অন্তত অধিকাংশ মৌলিক কিছু, এবং তারপর আমরা আপনাকে HTML এবং ওয়েব প্রোগ্রামিং সম্পর্কে আমাদের কথোপকথন অবিরত. বস্তুত, আমরা গত অতিবাহিত করেছি কিছু সাত সপ্তাহের প্রোগ্রামিং এর মৌলিক দিকে তাকিয়ে - আলগোরিদিম, ডাটা স্ট্রাকচার, এবং ভালো - এবং C, হিসাবে আপনি অভিজ্ঞ পর্যন্ত থাকতে পারে, অগত্যা হয় ভাষার সবচেয়ে অ্যাক্সেস করা যাবে না যাতে যারা ধারণা কিছু বাস্তবায়ন. তাই শুরু এই সপ্তাহের এবং পরের সপ্তাহে এবং তারপর নিম্নলিখিত, পরিশেষে আমরা সি, যা একটি মোটামুটি নিম্ন স্তরের ভাষা হিসাবে সাধারণত পরিচিত থেকে স্থানান্তর করতে সক্ষম হবেন, উচ্চ তাদের পিএইচপি, জাভাস্ক্রিপ্ট মধ্যে স্তর,, এবং ভালো জিনিস, যা আমরা একই পাঠ যে আমরা গত কয়েক সপ্তাহের মধ্যে শেখা করেছি উপর আঁকা দেখতে পাবেন, কিন্তু আপনি খুঁজে পাবেন যে অ্যারে এবং হ্যাশ টেবিল মত কাজ ঘোষণা ও অনুসন্ধান এবং বাছাই তাই অনেক সহজ হয়ে উঠেছে, কারণ আমরা নিজেদের ভাষা ব্যবহার করা শুরু করব আরো শক্তিশালী হতে হবে. কিন্তু প্রথম, গাছের একটি অ্যাপ্লিকেশন. এটা খুব সাধারণ এইসব দিন যাও যাও তথ্য সঙ্কুচিত করা প্রয়োজন. আপনি ডিজিটাল তথ্য কিছু কম্প্রেস কোন প্রসঙ্গে চায়? হাঁ. >> [ছাত্রদের] আপনি যখন ওয়েব উপর এটি পাঠাতে হবে. হ্যাঁ, আপনি যখন ওয়েব উপর কিছু পাঠাতে চান. আপনি যদি একটি বড় ফাইল ডাউনলোড করতে চান, তা অপর প্রান্তের এর কেউ যদি আদর্শ করেনি যে ফাইলটি কম্প্রেস করা একটি পিন বিন্যাসে অথবা যে ভালো কিছু ব্যবহার যাতে আপনি বিট অন্যথায় তুলনায় কম হতে পারে প্রেরিত প্রেরণ করছেন. সুতরাং আপনি কিভাবে কোনো তথ্য কম্প্রেস? এটা সব চেয়ে কম বিট ডিফল্টরূপে প্রয়োজন ব্যবহার boils ডাউন. কিন্তু এই একটি অদ্ভুত জিনিস ধরনের কারণ সপ্তাহ 0 এবং 1 ফিরে মনে যখন আমরা স্বপ্ন ASCII এবং বাইনারি এবং আমরা বললাম বিশেষ সম্পর্কে ASCII হিসাবে 8 বিট বর্ণমালার অক্ষর প্রতিনিধিত্ব ব্যবহার যাতে একটি চিঠি 65 প্রতিনিধিত্ব করেন, এটি একটি ছোট হাতের অক্ষর সংখ্যা 97, এবং যদিও আপনি 65 বা 97 প্রতিনিধিত্ব করেন, আপনি 7 অথবা 8 বিট ব্যবহার করছেন. কিন্তু ধরা হয় যে ইংরেজি বর্ণমালার কিছু অক্ষর আছে যা অন্যদের হিসাবে হিসাবে জনপ্রিয় হয় না. Z হয়, প্রশ্ন যে সমস্ত জনপ্রিয় নয় যে সমস্ত জনপ্রিয় না, কিন্তু একটি এবং ই হয় সুপার জনপ্রিয়. এই চিঠিগুলির জন্য এখনো এবং, ডিফল্ট দুনিয়া বিট একই সংখ্যা ব্যবহার করে, মাত্র 8. সুতরাং এটি হতো না প্রতি চিঠি জন্য 8 বিট ব্যবহার করে যদি স্মার্ট পরিবর্তে, এমনকি অধিকাংশ ক্ষেত্রে প্রশ্ন এবং Z মত ব্যবহার করা যায়, কি যদি আমরা একটি এবং ই এবং S এবং সবচেয়ে জনপ্রিয় চিঠি জন্য কম বিট ব্যবহৃত এবং কম জনপ্রিয় চিঠি জন্য আরো বিট ব্যবহার, সাধারণ ধারণা হচ্ছে কেস জন্য let এর আশাবাদী, যা কম্পিউটার বিজ্ঞান মধ্যে একটি কি ঘটতে যাচ্ছে সবচেয়ে নিখুত করার চেষ্টা থিম এবং যে, হাঁ, ঘটতে পারে উপর একটু আরো সময়, আরো কিছু জায়গা ব্যয় কিন্তু না অগত্যা হিসাবে প্রায়শই. সুতরাং আসুন একটি উদাহরণ. ধরুন যে আমরা মোটামুটি তথ্য দক্ষতার সঙ্কেতাক্ষরে লিখা চাই. আপনি আপ উত্থিত হতে পারে একটি সাঙ্কেতিক লিখন - পদ্ধতি সম্পর্কে সামান্য কিছু বুদ্ধিমান, মতভেদ আছে এবং আপনি আসল কোড জানেন না, কিন্তু আপনি যে এটা অন্তত বিন্দু এবং ড্যাশ এই সিরিজের প্রত্যাহার করা হতে পারে. এটি একটি মোটামুটি দক্ষ কোডিং, এবং যে বিজ্ঞপ্তি সবচেয়ে জনপ্রিয় চিঠি - উদাহরণস্বরূপ, ই - beeps মধ্যে সবচেয়ে কম ব্যবহার করে. জলহস্তী কোড সব হুইসেল-হুইসেল-হুইসেল-হুইসেল-হুইসেল-হুইসেল সম্পর্কে এবং টোন অধিষ্ঠিত হয় উভয় জন্য সময় বা সময় দীর্ঘ স্বল্প সময়সীমার. ই, বিন্দু দ্বারা হিসাবে denoted, একটি সুপার ছোট হুইসেল, ঠিক হুইসেল, এবং যে E. উপস্থাপনের বিপরিতভাবে, টি হুইসেল মত একটি লম্বা হুইসেল করা, [prolongs শব্দ] চাই, এবং যে টি উপস্থাপনের কিন্তু এখনও বেশ ছোট কারণ, এর বিপরীতে, যদি আপনি Z তাকান, যাও প্রকাশ Z আপনি হুইসেল, হুইসেল [আর শব্দ], হুইসেল, হুইসেল [খাটো শব্দ] যেতে হবে. এটা আর না কারণ এটি কম প্রচলিত. কিন্তু এখানে gotcha যে সাঙ্কেতিক লিখন - পদ্ধতি একটি বিট দ্বিধান্বিত যে তা অবিলম্বে decodable না. উদাহরণস্বরূপ, অনুমান যে আপনি তারের হুইসেল কিছু প্রান্তে শুনতে [ছোট], হুইসেল [দীর্ঘ]. কি বার্তা আমি পাইনি? একটি বিন্দু এবং একটি ড্যাশ. কি যে প্রতিনিধিত্ব করছে? [ছাত্রদের] এ >> [Malan] হতে পারে. এটা হতে ই টি অনুসরণ করতে পারে অন্য কথায়, সাঙ্কেতিক লিখন - পদ্ধতি, যদিও এটি কোণ ক্ষেত্রে নিখুঁত এই মন্ত্র ওঠানামায়, এটা এদের জন্য অবিলম্বে decodability যাও ধার না. অর্থাৎ, যারা মানুষের বা শ্রবণ এবং এই বিন্দু ড্যাশ গ্রহণ করা হয় যাও একরকম চিন্তা যেখানে বিরতি অক্ষর মধ্যে হয় আছে, কারণ যদি আপনি যেখানে যারা বিরতি হয় না জানি, আপনি ই বা তদ্বিপরীত জন্য একটি গুলাইয়া ফেলা হতে পারে. আপনি কি করতে পারে? সাঙ্কেতিক লিখন - পদ্ধতি ঠিক আপনি প্রতিটি অক্ষরের মধ্যে বিরাম পারে. কিন্তু pausing হয় জিনিষ দ্রুত গাড়ী চালানোর আপ পুরো বিন্দু পাল্টা ধরনের. তাই আমরা যদি পরিবর্তে একটি কোড নিয়ে এসেছেন যেখানে ছিল এই খারাপ অবস্থা নেই যেখানে ই হয় উদাহরণস্বরূপ, এটি একটি উপসর্গ, একটি, - অন্য কথায়, যদি আমরা নিশ্চিত যে নিদর্শন এখনও জনপ্রিয় চিঠি জন্য সংক্ষিপ্ত করতে পারে দীর্ঘ কম জনপ্রিয় জন্য চিঠি, কিন্তু কোন সম্ভাব্য বিভ্রান্তির আছে? Huffman নামের একজন বছর আগে এই প্রকল্প নামক Huffman কোডিং উদ্ভাবিত যে আসলে একটা ডাটা স্ট্রাকচার সময় আমরা একটি বিট কাটিয়েছি বলছি ওঠানামায় এই গত সপ্তাহে, গাছ, বিশেষভাবে বাইনারি গাছ যে - একটি বাইনারি গাছ অর্থ যে এটি 2 শিশুদের চেয়ে বেশি আছে. এটা হয়তো একটি সন্তান বাম, ডান হয়তো একটি সন্তান, এবং যে এটি. শুধুমাত্র আলোচনার জন্য হেতু তাই অনুমান যে কেউ একটি বার্তা পাঠাতে চায় যে ভালো দেখায়. এটা সম্পূর্ণ অর্থহীন বিষয় কিন্তু এটি যেহেতু গঠিত এর, Bs, Cs, Ds, এবং স্প্যানিশ ভাষায়. এবং যদি প্রকৃতপক্ষে আপনি যেহেতু সব গণনা আপ, Bs, Cs, Ds, এবং স্প্যানিশ ভাষায় এবং তারপর অক্ষর মোট সংখ্যা দ্বারা বিভক্ত করা, এই সামান্য এখানে চার্ট বলছেন যে অক্ষর 45% স্প্যানিশ ভাষায় হয়, যেহেতু 20% হয়, 10% Bs, এবং তাই ঘোষণা. তাই অন্য কথায়, অনুমান করা হয়েছে যে সেখানে উদ্ধৃত পংক্তি হয় না কিছু কিছু বার্তা যে আপনি পাঠাতে চান. এটা করা অর্থহীন বিষয় ঘটবে ঠিক তাই আমরা সম্ভাব্য হিসাবে কয়েকটি বর্ণ হিসাবে ব্যবহার করতে পারেন, কিন্তু এটা সত্যিই এর ক্ষেত্রে যে ই অবশেষ সবচেয়ে জনপ্রিয়, এবং B ও C কম জনপ্রিয়, এই বর্ণমালার অক্ষর কমপক্ষে 5. তাই আমরা কিভাবে একটি এনকোডিং সঙ্গে উত্ক্রান্ত যেতে পারবেন, একটি বাইনারি এনকোডিং, 0 সেঃ এবং 1s একটি এইসব অক্ষরের জন্য প্রতিটি প্যাটার্ন এমন যে ই একটি ছোট প্যাটার্ন এবং হয়ত B এবং C হয় সামান্য বেশি দীর্ঘ নিদর্শন, আবার, ধারণা করা হচ্ছে যে আমরা বেশির ভাগ সময়ে ব্যবহার কম বিট করতে চান এবং আরো বিট শুধুমাত্র কখনোসখনো. যাও Huffman কোডিং মতে, আপনি একটি গাছের বন তৈরি করতে পারেন. এখানে আছে একটি বিবরণ লাইনের সাজানোর যে গাছ এবং তাদের আপ নির্মাণ প্রক্রিয়ার সঙ্গে জড়িয়ে আছে. চলুন শুরু. আমি উত্থাপন করা যে আপনি এই বন দিয়ে শুরু, তাই 5 গাছ, কথা বলতে, যার প্রতিটি একটি চমত্কার মূঢ় গাছ. গাছ কেবলমাত্র একটি নোড, হিসাবে একটি বৃত্ত এখানে প্রতিনিধিত্ব গঠিত হয়. সুতরাং এই জিনিষ প্রতিটি সি struct হতে পারে এবং C struct ভেতরে একটি float ফ্রিকোয়েন্সি গণনা প্রতিনিধিত্বমূলক হতে পারে এবং তখন হয়তো একটি গৃহস্থালি চিঠি প্রতিনিধিত্বমূলক. এই নোডের মধ্যে সে কোনো পুরানো সি struct হিসাবে মনে করি কিন্তু, এখন জন্য উচ্চতর স্তর,. এটি 5 গাছ, যারা শুধুমাত্র একটি নোড আছে প্রতিটি একটি বন. কি Huffman প্রস্তাবিত যে আমরা যারা গাছ মেশা শুরু যে সামান্য বড় গাছ মধ্যে ক্ষুদ্রতম ঘটন সংখ্যা আছে দ্বারা একটি নতুন মূল নোডের সাথে তাদের সংযোগ. সুতরাং এখানে অক্ষর মধ্যে, নোটিশ সুবিধার জন্য আমি বাম থেকে ডান তাদের সাজানো করেছি, যদিও যে কঠোরভাবে প্রয়োজন, এবং বিজ্ঞপ্তি না যে ক্ষুদ্রতম নোড বর্তমানে 10% এবং 10%. সুতরাং Huffman প্রস্তাব করেন যে আমরা একটি নতুন গাছ মধ্যে যারা 2 ক্ষুদ্রতম নোড একত্রীকরণ একটি নতুন ঊর্ধ্বতন নোডের পরিচয় করানো এবং তারপর দ্বারা একটি চাইল্ড বাম এবং ডান একটি সন্তানের দেবে যে পিতা বা মাতা যেখানে বি ইচ্ছামত হয় বাম এবং সি ইচ্ছামত সঠিক. এবং তারপর আরও Huffman প্রস্তাব করেন যে এখন let এর বাম শিশুর ঠিক মনে এই গাছ এক হিসাবে সবসময় 0 দ্বারা প্রতিনিধিত্ব করা হচ্ছে এবং সর্বদা শিশু অধিকার হিসাবে 1 নম্বর দ্বারা প্রতিনিধিত্ব করা হচ্ছে. আপনি যদি তাদের এতক্ষণ হিসাবে আপনি সামঞ্জস্যপূর্ণ টুসকি না ব্যাপার. তাই এখন আমরা এই বন চারটি গাছ আছে. এবং আমি বলতে চার কারণ এখন বাম ট্রি - এবং এটা অর্থে যে এই উপায় বৃদ্ধি মধ্যে একটি গাছ করতেন না, এটি একটি পরিবার গাছ যেখানে এখন 0.2 দুটি শিশুদের প্যারেন্ট সাজানোর মত আরো - বিজ্ঞপ্তি যে পিতা বা মাতা, আমরা 0.2 টানা করেছি. আমরা দুই শিশুদের ঘটন সংখ্যা যোগ করেছি এবং প্রদত্ত নতুন নোডের মোট সমষ্টি. তাই এখন আমরা এই প্রক্রিয়া পুনরাবৃত্তি. দুই ক্ষুদ্রতম নোড খুঁজুন এবং তারপর একটি নতুন গাছ মধ্যে তাদের যোগদান এবং তারপর প্রক্রিয়া আরও পুনরাবৃত্তি. রাইট এখন আমরা কয়েক প্রার্থী, 20%, 15%, এবং অন্য 20% আছে. এই ক্ষেত্রে, আমরা টাই বিরতি আছে. আমরা ইচ্ছামত ব্যবহার করতে পারি. আমরা এটা ধারাবাহিকভাবে করবেন. এই ক্ষেত্রে, ইচ্ছামত আমি বাম দিকে এক সঙ্গে যাবেন, এবং এখন আমি 20% এবং 15% যাও সম্পর্কে একটি নতুন ঊর্ধ্বতন নামক 35% দিতে একত্রীকরণ, যার বাম সন্তানের 0, যার অধিকার সন্তানের সংখ্যা 1, এবং এখন আমরা শুধু বনের মধ্যে তিনটি গাছ আছে. আপনি হয়তো দেখতে পাবেন যেখানে এই যাচ্ছে. যদি আমরা পুনরাবৃত্তি একটি দম্পতি আরো কয়েকবার এই, আমরা শুধু একটা বড় গাছ আছে চলুন, সব যার কোণগুলি 0 সেঃ এবং 1s সঙ্গে লেবেলযুক্ত. এর আবার এটা করুক. 35% হল যে গাছ এর রুট. 20% এবং 45%, তাই আমরা 35% এবং 20% একত্রীকরণ চলুন. এখন আমরা এই গাছ এখানে আছে. আমরা যারা একসাথে যুক্ত, আমরা 55% আছে. এখন বনের মধ্যে মাত্র দুটি গাছ আছে. আমরা এই চূড়ান্ত এক সময় না, এবং আশা গাণিতিক সব ফ্রিকোয়েন্সি পর্যন্ত যোগ কারণ তারা যেহেতু আমরা তাদের থেকে নির্ণিত হবে 100% যোগ-get যান. এবং এখন আমরা এক গাছ আছে. সুতরাং এই একটি Huffman কোডিং গাছ. এই ধরনের একটি সময় আছে শব্দগতভাবে পেতে নেন, কিন্তু সঙ্গে একটি বাস্তবতা লুপ জন্য অথবা একটি recursive ফাংশন সঙ্গে, আপনি এই জিনিস বিল্ড আপ প্রশংসনীয় দ্রুত হতে পারে. তাই এখন আমরা এক নতুন নোড আছে, এবং এই ভেতরের নোডের মধ্যে সমস্ত malloc'd হয়েছে, সম্ভবতঃ, বরাবর উপায়. এই গাছ শীর্ষে এখন তাই আমরা 100% আছে, কিন্তু এখন আমরা একটি বিজ্ঞপ্তি পাথ আছে থেকে এই নতুন মহান মহান--মহান-পিতামহ যাও মহান--মহান মহান-grandchildren সব সমস্ত নীচে পথ, পাতার সব. আমরা এখন কি করতে যাচ্ছেন যে যাতে চিঠি ই প্রতিনিধিত্ব উত্থাপন করা হয়, আমরা শুধু 1 নম্বর ব্যবহার করতে হবে. কেন? কারণ যদি আমরা চূড়ান্ত রুট থেকে নিচে এই পাতার গাছ, তর্ক ই হিসাবে পরিচিত, আমরা শুধু একটা প্রান্ত, ডান প্রান্ত অনুসরণ করা, এবং যে কোর্সের উপরে ডান 1 এ লেবেল এর. সুতরাং Huffman জন্য এখানে সংশ্লেষ ছিল যে কেবল বাইনারি ই এর এনকোডিং হতে 1 হইবে. এবং যে জঘন্য বেশ দক্ষ. সত্যিই যে কোনো চেয়ে ছোট না পেতে পারি. বিপরীতভাবে, একবার একটি প্রতিনিধিত্ব করা হবে, যদি আপনি যুক্তিবিজ্ঞান অনুসরণ করা হবে, দ্বারা বিট পরিবর্তে প্যাটার্ন কি? 01. সুতরাং একটি পেতে, আমরা root-এ শুরু এবং আমরা যান এবং বামে তারপর আমরা ডানে যান, যার অর্থ হল আমরা একটি 0 পরে এবং একটি 1. সুতরাং আমরা একটি প্যাটার্ন 0 এবং 1 দিয়ে চিঠি চিত্রিত করা হইবে. এবং এখন লক্ষ্য করা আমরা ইতিমধ্যে অবিলম্বে decodability একটি সম্পত্তি আছে আমরা যে সাঙ্কেতিক লিখন - পদ্ধতি আছে কি না. যদিও এই নিদর্শনগুলোর উভয় হয় চমত্কার ছোট - ই হয় 1 বিট, একটি হল 2 বিট - লক্ষ্য করা যে তারা একটি বা অন্যান্য বিভ্রান্ত করা যাবে না, কারণ আপনি যদি 1 দেখুন এটি একটি ই হবে, যদি আপনি দেখতে পেয়েছেন এর একটি 0 তারপর একটি 1 এটা সম্ভবত এর একটি এ করা না একইভাবে, কি: D? 001. সি কি? 0001. এবং কি বি? 0000. এবং আবার, কারণ চিঠি সম্পর্কে আমরা যত্ন সব পাতার হয় এবং তাদের কেউ থেকে root পরিচয়ে পাত পাথ আছে middlemen ধরনের, বিভিন্ন এনকোডিং 2 অক্ষর 'conflating কোন ঝুঁকি নেই কারণ এই বিট প্যাটার্নের সব নিয়ন্ত্রণবাদী. 0000 সবসময় বি হবে কোথাও কোনো নোডের মধ্যে যে আপনি অন্যান্য জন্য একটি অক্ষর গুলান পারে আছে. তাই এখানে যা বোঝানো হয়েছে? সবচেয়ে জনপ্রিয় চিঠি - এই ক্ষেত্রে ই - কম এনকোডিং করেনি অর্জিত, একটি পরের কম এনকোডিং করেনি অর্জিত, এবং বি এবং সি, যা আমরা ইতিমধ্যে-get যেতে কমপক্ষে জনপ্রিয় ছিল ধরনের থেকে জানত 10% ফ্রিকোয়েন্সি প্রতিটি সময়ে, তারা দীর্ঘতম এনকোডিং অর্জিত হয়েছে. তাই কি এখন এই মানে হল যে যদি আপনাকে একটি বার্তা সংকুচিত যে এর পাঠাতে চান ওভার ইন্টারনেট অথবা কোন ইমেল বা ভালো, বরং মান ASCII ব্যবহার করে, আপনি একটি কোডেড Huffman বার্তা পাঠাতে পারেন তদ্দ্বারা যদি আপনি চিঠি ই পাঠাতে চান, তাহলে আপনি শুধুমাত্র একটি একক পাঠাতে বিট. আপনি যদি একটি একটি পাঠাতে চান, আপনি 2 বিট, 01, পরিবর্তে 8 বিট প্রেরণ পাঠান অন্য আরেকটি 8 8 বিট এবং তাই ঘোষণা অনুসরণ বিট দ্বারা অনুসৃত. কিন্তু এখানে আছে একটি gotcha. এটা শুধু এই গাছ এবং তারপর উঠান পাঠানোর এলিস বব শুরু এর যথেষ্ট না খাটো বিট প্যাটার্ন, ASCII থেকে স্ট্রিং কারণ এলিস এ কি এর বব অবহিত করা হয়েছে যদি বব যাও যাও তার কম্প্রেস বার্তা পড়তে সক্ষম হবে? [শ্রবণাতীত ছাত্র প্রতিক্রিয়া] >> কি যে? [শ্রবণাতীত ছাত্র প্রতিক্রিয়া] কি গাছ হয় >>. অথবা এমনকি আরো নির্দিষ্টভাবে, কি যারা এনকোডিং হয়, বিশেষ করে এই গল্প করার সময় আমরা এক সময়ে একটি রায় কল করেছেন. মনে রাখবেন যে আমরা ইচ্ছামত 2 20% বিভিন্ন নোডের মধ্যে বাছাই ছিল? এটা যে বব, প্রাপক, শুধু তার নিজের উপর গাছ পুনর্গঠন করতে পারেন কেস না কারণ তিনি হয়তো ট্রি নির্মাণ অত্যন্ত সামান্য ভিন্নভাবে থেকে এলিস হবে. তাছাড়া, বব কি মূল বার্তাটি এমনকি জানি না কারণ অবশ্যই আছে শুধু এলিস তাকে পাঠাচ্ছে,, হয় কম্প্রেস বার্তা. তাই ভালো কম্প্রেশন সঙ্গে ধরা হয় যে, হ্যাঁ, এলিস সংরক্ষণ করার জন্য একটি বিট অনেক সম্পূর্ণ করতে পারেন একটি জন্য 1 ই জন্য এবং 01 পাঠানোর এবং তাই ঘোষণা, কিন্তু তিনি যাও বব কি ম্যাপিং অক্ষর এবং বিটের মধ্যে অবহিত করা হয়েছে কারণ তারা স্পষ্টতই নির্ভর না হওয়া ASCII আর যদি আমরা ASCII ব্যবহার করছেন না পারেন. সুতরাং হয় সে তাকে একরকম গাছ পাঠাতে পারেন - এটা লিখে, বাইনারি তথ্য যে ভালো বা কিছু হিসাবে এটি সঞ্চয় - বা শুধুমাত্র তাকে একটু Cheat শীট, একটি এক্সেল ফাইল, যে ম্যাপিং দেখায় পাঠাতে. তাই সত্যিই কম্প্রেশন কার্যকারিতা মধ্যে অনুমান করা হয়েছে যে বার্তা প্রেরণ করছি হয় চমত্কার বড়, অন্তত মাঝারি মাপের, কারণ যদি আপনি একটি সুপার সংক্ষিপ্ত বার্তা প্রেরণ করছেন, যদি আপনি শুধু BAD বার্তা পাঠাতে চান, যা একটি শব্দ আমরা এখানে বানান দিতে পারে, B-a-D:, সম্ভবত আপনি কম বিট ব্যবহার করছেন যাচ্ছে, কিন্তু ধরা হয় যদি তবে আপনাকে বব কি গাছ হয় অবহিত আছে বা কি যারা এনকোডিং হয়, আপনি সম্ভবত সঞ্চয় সব অতিক্রম চলুন এর কম্প্রেস করা জিনিষ দিয়ে শুরু করতে হচ্ছে. তাই আসলে এটি হতে ক্ষেত্রে যে আপনি যদি চেষ্টা করতে পারেন সংকুচিতকারী এমনকি জিপ বা ফাইল ফরম্যাটের মত কিছু আপনার সাথে পরিচিত হতে পারে - খুবই ছোট ফাইল, এমনকি ফাঁকা ফাইল - কখনও কখনও সেই ফাইল বড় এবং ছোট না পেতে পারে. কিন্তু বাস্তবধর্মী, যে শুধুমাত্র ছোট ফাইল আকারের জন্য ঘটবে, তাই এটি একটি গিগাবাইট ফাইল 2 গিগাবাইট করা করা যাচ্ছে না; আমরা সত্যিই করছি বাইট বা মাত্র কয়েক কিলোবাইট কথা বলা. পিন মত কিছু প্রোগ্রাম স্মার্ট যথেষ্ট যে বুঝতে পারছি, "আপনি আরো এই সংকুচিতকারী বিট ব্যয় চালু করছি." "সম্পর্কে এটা আপনার জন্য সংকুচিতকারী সব না বিরক্ত করা যাক." তাই এটা শুধু একটা টেক্সট বিন্যাসে সংকুচিতকারী তত্কালীন উপায়. আমরা সি মধ্যে ভালো কিছু বাস্তবায়ন হতে পারে উদাহরণস্বরূপ এখানে, কিভাবে আমরা এই ট্রি একটি নোড প্রতিনিধিত্ব করতে পারে যেখানে আমরা সিম্বলের জন্য একটি গৃহস্থালি, একটি ফ্রিকোয়েন্সি জন্য ভাসমান মান আছে, এবং হিসাবে আমরা আমাদের অন্যান্য ডাটা স্ট্রাকচার, 2 পয়েন্টার সঙ্গে দেখা করেছি, 1 সন্তানের বাম, ডান 1 যাও যাও, হয় যার শূন্য হতে পারেন, কিন্তু যদি না, এটি একটি শিশু এবং একটি বাম ডান সন্তানের বোঝায়. আমি তখন এই Huffman কোডিং, এবং এটি একটি উপায় হবে যে আপনি তথ্য সংকুচিতকারী যেতে পারবেন, এবং এটা অবশ্যই এর সবচেয়ে সহজ প্রয়োগ এক না, বলতে মাসের শেষ সপ্তাহে এর ডাটা স্ট্রাকচার কনটেক্সট, যদিও আরও বেশি অত্যাধুনিক অ্যালগারিদম বিদ্যমান যে আপনার তথ্য এমনকি আরো পরিশীলিত পরিব্যক্তি করতে পারেন. কোন গাছ, বাইনারি গাছ, অথবা টেক্সট কম্প্রেশন তারপর প্রশ্ন? [ছাত্রদের] এটি কিছু অস্পষ্টতা ভালো যদি [শ্রবণাতীত] বিভক্ত 01 মধ্যে আছে,, তারপর 011 দ্ব্যর্থক, ডান হবে? [শ্রবণাতীত] >> গুড প্রশ্ন. অস্পষ্টতা. নির্দেশকারী এখানে এই ছবি সম্পর্কে সংক্ষেপ করা যাক. কারণ আপনি যে অক্ষরগুলি সংকুচিতকারী হয়, এর উপস্থাপনা, এই অ্যালগরিদম সংজ্ঞা দ্বারা সর্বদা পাতার থাকা, আপনি দূর্ঘটনাক্রমে একাধিক অক্ষর উপসর্গ জন্য বিট একই প্যাটার্ন কখনও ব্যবহার করব. তাই অন্য কথায়, আপনি উদ্বিগ্ন সম্পর্কে, এটি একটি দ্ব্যর্থতা উদ্ভূত মত শোনাচ্ছে তদ্দ্বারা 001 B এর শুরু বা C বা যে ভালো কিছু শুরু হতে পারে. কিন্তু এই ক্ষেত্রে করা যাবে না কারণ যে বিজ্ঞপ্তি বর্ণমালার অক্ষর সমস্ত আমরা অঙ্গীকার করছি না পারেন পাতার হয়. অস্পষ্টতা শুধু সাঙ্কেতিক লিখন - পদ্ধতি ক্ষেত্রে হিসাবে, জন্মলাভ করতে পারেন, উদাহরণস্বরূপ, যদি,, সি ছিল কোথাও থেকে root পরিচয়ে বি পাথ বরাবর [ছাত্রদের] ডান. সুতরাং যে ক্ষেত্রে, বলতে একটি 2 পাতার হয়েছে. >> বলুন একটি আছে - আবার বলুন যে. [ছাত্রদের] একটি বলুন 2 পাতা, F এবং G, এবং তারপর রয়েছে জি - >> ঠিক আছে. কিন্তু এটি করতে পারেন না. একটি নিজেই পাতার যারা চিঠি কারণ ফল এবং জি আছে না পারে ফল এবং জি নিজেদের B-বাম বা ডান E. কোথাও ছেড়ে দিন সুতরাং সংজ্ঞা দ্বারা, তারা পাতার আবশ্যক. অন্যথা, আপনি ঠিক অধিকার, আমরা সমস্যা যে সাঙ্কেতিক লিখন - পদ্ধতি সম্মুখীন মীমাংসিত করেছি. ভাল প্রশ্ন. অন্য প্রশ্ন? ঠিক আছে. বিট এই ধারণা, এটি সক্রিয় আমরা বিদ্যুত ছিল করেছি সব বরাবর যে আসলে আমরা ব্যবহার করেছি না যখন এটি এইসব 0 সেঃ এবং 1s সাধিত হয়. এই সম্পর্কে আমরা নিকটতম সমস্যা সেট এক জিজ্ঞাসা: যেমন কিভাবে, আপনি য়ের বড়হাতের অক্ষর ছোটহাতের বা ছোট হাতের অক্ষর তদ্বিপরীত রূপান্তর সম্পর্কে যান না? অথবা, আরো concretely, যারা প্রথম psets এক জিজ্ঞাসা কতগুলি বিট আপনি আসলে যাও যাতে একটি একটি ছোট হাতের অক্ষর বা তদ্বিপরীত পরিবর্তন টুসকি আছে? এখানে কি মত 65 এবং 97 বাইনারি অল্পক্ষণের দ্রুত অনুস্মারক. এমনকি যদি প্রশ্ন যে আপনার মেমরি ধরণের করেনি ম্লান, আবার আপনি এখানে দেখতে পারেন যে কতগুলি বিট করা প্রয়োজন ফ্লিপ যাও মূলধন পরিবর্তন একটি ছোট হাতের অক্ষর যাও? এটা একটা মাত্র. তারা শুধুমাত্র একটি অবস্থান, বাম থেকে তৃতীয় বিট পার্থক্য. যেহেতু একটি 010, সামান্য আছে একটি একটি 011 আছে. তাই একরকম, আমরা শুধু যে বিট টুসকি সক্ষম হতে হবে, এবং তারপর আমরা বড়হাতের অক্ষর বা ছোট হাতের অক্ষর পারেন. আমরা অতীতে করেছি আসলে ব্যবহার করে এই কাজ যদি শর্তাবলী এবং চেক করে যদি একটি চিঠি মূলধন এবং মূলধন Z এর মধ্যে হয়, তারপর একটি ভালো আউটপুট - একটি 26 + বা ওই জাতীয় কিছু. আপনি সম্ভবত একটি বর্ণমালার অক্ষর গাণিতিক পরিবর্তন হয়নি. যদি কি তবে আমরা টুসকি যে একক বিট করতে পারেন? কিভাবে আপনি 01000001 01100001 এবং ভালো বিট, তাই 8 বিট এক বাইট এর মূল্য গ্রহণ সম্পর্কে যেতে পারে? যদি আপনি বিট যারা নিদর্শন ছিল কিভাবে, আমরা তাদের জন্য শুধু একটা পরিবর্তন যেতে পারবেন? যদি হলুদ আমরা এই বিট অন্যান্য প্যাটার্ন এখানে পরিচয় করিয়ে দিতে? যদি আমি এক বিট ছাড়া সমগ্র হলুদ স্ট্রিং 0 সেঃ না যে আমি পরিবর্তন করতে চান এবং তারপর আমি একটি নতুন অপারেটর একটি bitwise অপারেটর হিসাবে পরিচিত পরিচয় করিয়ে দিতে - ইন্দ্রিয় যে ব্যক্তি বিট উপর কাজ মধ্যে bitwise, . একটি সম্পূর্ণ বাইট বা চার বাইট সব একবারে না এই উল্লম্ব হলুদ বার আছে কি দাড়ায় যে যদি আমরা নিতে মূলধনের একটি উপস্থাপনা এবং bitwise বা এটি বিট হলুদ ক্রম সঙ্গে? অন্য কথায়, শয়তান মধ্যে বুলিয়ান এক্সপ্রেশন আমাদের আলোচনায় ফিরে মনে হয় তাহলে এ এবং সি একটি বুলিয়ান Doing বা এর মানে হল যে সত্য হতে হবে, নয়তো প্রথম জিনিস সত্য হতে হয়েছে অথবা দ্বিতীয় জিনিস সত্য হতে হয়েছে অথবা তারা উভয় সত্য আছে, এবং তারপর ফলে আউটপুট নিজেই সত্য. এখানে কি এই ক্ষেত্রে, আমরা যদি আমরা 0 গ্রহণ করবেন "অথবা" 0 সাথে ইডি? মিথ্যা বা মিথ্যা? এটা এখনও মিথ্যা, যাতে ছোট আকারের একটি অবশেষ হিসাবে প্রত্যাশিত. কি হবে যদি পরিবর্তে আমরা 1 বা 0 না এই এখন অবশেষ 1, কিন্তু কি এখানে এরকম বিজ্ঞপ্তি সম্পর্কে. যদি আমরা একটি মূলধন দিয়ে শুরু হবে এবং আমরা অবিরত "বা" তার কোন একক বিট হিসাবে এখানে আমরা করছেন, 0 বা হলুদ এক কি ডাউন এখানে আমাদের দেয়? এই 1 দেয় আমাদের. আসলে, আমরা অনুমান কি সামান্য সারাংশ য়ের বড়হাতের অক্ষর ছোটহাতের সংস্করণ আসলে একটি ছিল জানেন না. চলুন না এই যান. আমাকে এখানে উপর এই পিছান. এর আবার এই অনুষ্ঠান করুক না. 0 0 0 সম্পর্কে দেয়. 1 অথবা 0 দেয় 1 টি সম্পর্কে. 0 বা 1 দেয় 1 টি সম্পর্কে. 0 0 0 সম্পর্কে দেয়. পরের এক 0 হলে, পরবর্তী এক 0 হলে, পরবর্তী এক হয় 0. 1 অথবা 0 দেয় 1 টি সম্পর্কে. এবং তাই, এমনকি যদি আমরা অগ্রিম জানি না কি ছিল একটি ছোট হাতের অক্ষর, সহজভাবে দ্বারা "বা" একটি আনন্দপূর্ণ সঙ্গে বিট যে আমরা হলুদ এখানে উপস্থাপন করেছি এই প্যাটার্ন, আপনি যে বিট আলোকসম্পাতের দ্বারা একটি মূলধন একটি ছোট হাতের অক্ষর পারেন. আমরা এই অভিব্যক্তি ব্যবহার সপ্তাহ আগে: একটি বিট আলোকসম্পাতের. কিভাবে আপনি আসলে করব যে programmatically? আপনি কি ব্যবহার সাধারণত এর একটি মাস্ক, বিট একটা ক্রম বলা হয়, যে শুধুমাত্র এই ক্ষেত্রে তাই এই নম্বরের মত এখানে চেহারা এরকম, এবং তারপর আপনি "অথবা" এটি একসঙ্গে এই নতুন সি অপারেটর ব্যবহার করে, |, আপনি একটি একক ব্যবহার | | এবং আপনি আসলে এই প্রশ্নের উত্তর এখানে পেতে কারণ কেন হবে? না এই হল 1s জায়গা, 2s জায়গা, 4s, 8s, 16s, 32s. সুতরাং এটি সক্রিয় করে যদি আপনি একটি বড় হাতের অক্ষর নিতে A এবং bitwise বা এটি পূর্ণসংখ্যা 32, পূর্ণসংখ্যা 32 কারণ, যখন এটি আপনাকে বিট হিসাবে তাকান ভালো, দেখায়, তার মানে আপনি বিট আসলে আপনি চান টুসকি পারেন. এবং একইভাবে - এবং আমরা কোড এ শুধু এক মুহূর্ত সন্ধান করব - ঠাউর আমরা অন্য দিক যেতে চান. আপনি কিভাবে একটি ছোট হাতের অক্ষর ব্যবহার মূলধন A থেকে যান? কোন বিট পরিবর্তন প্রয়োজন? এটা এক একই. আমরা 1 থেকে যে তৃতীয় একটি বিট 0 যাও পরিবর্তন করতে চান. এবং কিভাবে আমরা এই কাজ সম্পর্কে যেতে পারে? কিভাবে আমরা একটি বিট নিষ্ক্রিয়? আমরা বিট কি প্যাটার্ন দিয়ে ঘুরিয়ে একটু বন্ধ করতে পারেন? কি হবে যদি আমরা বিপরীত মাস্ক এর বাছাই আগে যেহেতু, আমরা পুরো হলুদ মাস্ক 0 সেঃ তৈরি আমরা চালু জন্য এক বিট ছাড়া চেয়েছিলেন, কি যদি এই সময়, আমরা বিট ছাড়া সমগ্র মাস্কের 1s না যে আমরা ডেমনটি বন্ধ করতে চান এবং তারপর কি অপারেটর ব্যবহার করেন? যদি আমরা "এবং" জিনিস? চলুন কটাক্ষপাত. আমরা যদি এখন এই যাও টুসকি, অনুমান যে আবার আমি একটি মাস্ক যে সমস্ত 1s তৈরি ব্যতীত জন্য এক বিট যে আমি ডেমনটি বন্ধ করতে চান এবং তারপর বদলে "অথবা" উপরে সাদা হলুদ নিচে সংখ্যা এখানে সংখ্যার সাথে, কি যদি একসাথে আমি পরিবর্তে "এবং" তাদের? এটি একটি bitwise বলা হয় এবং এর. যুক্তি, এটা একটি বুলিয়ান হিসাবে একই জিনিস এবং. এই সম্পর্কে দেয় & 0 1 0. সুতরাং মিথ্যা এবং সত্য মিথ্যা. মুক্ত এবং সত্য সত্য. এবং এখানে ম্যাজিক: সত্য এবং মিথ্যা এখন মিথ্যা, তাই আমরা যে বিট পরিণত বন্ধ করেছি. এবং এখন গল্প বাকি হয় কিছুটা সহজবোধ্য. কারণ মাস্ক বাকি হল 1s, এটা কি নম্বর সাদা হয় না ব্যাপার. আপনি যখন "এবং" সত্যিকারের কিছু, তাহলে সেটির মান পরিবর্তন করতে যাচ্ছেন না. এটা যদি সত্য হয়, এটা সত্য থাকবে. যদি তা মিথ্যা, এটা মিথ্যা থাকবে. কিন্তু জাদু ঘটনা যখন আপনি কিছু ছিল সত্য গ্রহণ এবং তারপর আপনি "এবং" মিথ্যা সঙ্গে এটি. এই বাঁক যে বিট বন্ধ প্রভাব আছে. তাই একটু আছে রহস্যপূর্ণ. এর আসলে কিছু কোড যাক, যা আসলে চেহারা আরও রহস্যপূর্ণ পারে, কিন্তু যাক এর একটি tolower এখানে কটাক্ষপাত. যদি আমি tolower তাকান মূলধন থেকে, একটি ছোট হাতের অক্ষর যাও যাচ্ছে, আসুন আমরা কিভাবে এই প্রোগ্রাম বাস্তবায়ন করতে পারে দেখুন. এখানে প্রধান, এবং এটি কোন কমান্ড লাইন আর্গুমেন্ট গ্রহণ না. আমি চিঠি জন্য চাই একটি অক্ষর গ ঘোষণা করে যে ব্যবহারকারী যাও ইন টাইপ হবে আমি তারপর একটা পরিচিত না সময় শুধু লুপ নিশ্চিত যে স্পষ্টভাবে ব্যবহারকারী দেয় একটি মূলধন সম্পর্কে একটি ব্যবহার করা অথবা B অথবা সি .. Z, তাই তারা দিতে A এবং জেড মধ্যে কিছু সম্পর্কে এবং এখন আমি কি করছেন am এখানে? আমি "বা" এই আনন্দপূর্ণ 0x20 সঙ্গে, কিন্তু আসলে এর হিসাবে একই - এবং আমরা এই যাও ফিরে আসুন একটি মুহূর্ত করব - 32. তাই আবার, 32 বিট হল এখানে এই প্যাটার্ন. কেন আমরা এই জানেন? শুধু ফিরে সপ্তাহ 0 চিন্তা. এই হল 1s জায়গা, 2s জায়গা, 4s, 8s, 16s, 32s জায়গা. তাই এই হলুদ সংখ্যা 32 হতে হবে. আমি তারপর গৃহস্থালির কাজ মত একটি চিঠি এখানে নিতে আক্ষরিক সংখ্যা 32 হতে পারে, bitwise "অথবা" এটি, এবং কি আমি ফিরে আসবো? যে গৃহস্থালির কাজ মধ্যে ছোট সংস্করণ. একটি মুহূর্ত আগে যদিও,, আমি একটি ভিন্ন বেস স্বরলিপি এই প্রকাশ করেন. কি এই প্রতিনিধিত্ব করেন? >> [ছাত্রদের] হেক্সাডেসিমেল. [Malan] এই হেক্সাডেসিমেল প্রতিনিধিত্ব ঘটবে. আমরা হেক্সাডেসিমাল যে সব বিষয়ে অনেক কথা বলত না, কিন্তু এটা আসলে ভালো ক্ষেত্রে সুবিধাজনক. যদিও মনে আরো জটিল এবং যদিও এটা 20 না 32 এবং মত দেখাচ্ছে, এটি সক্রিয় যে হেক্সাডেসিমেল আসলে সুপার সুবিধাজনক স্বরলিপি কারণ হেক্সাডেসিমেল মধ্যে 0x পরে প্রতি অঙ্ক - এবং এই অর্থ কিছুই না; এই একটি মাত্র মানুষের প্রচল যে এখানে আসে একটি হেক্সাডেসিমাল সংখ্যা - প্রত্যেকটি ডিজিট, 2 এবং তারপর 0, নিজেদের প্রতিনিধিত্ব করা যাবে সঙ্গে ঠিক 4 বিট. তাই আমরা যদি এই না, সম্পর্কে একটি টেক্সট এডিটর খুলুন এখানে আসা - অদ্ভুত স্বয়ংসম্পূর্ণ - যদি আমরা একটু টেক্সট এডিটর এখানে না, নম্বর 0x20 এখানে মানে হয় 4 বিট, এখানে অন্য 4 বিট. চলুন শুরু করা যাক ডানদিকে অবস্থিত 4 টি বিট প্রথম না. 0 4 বিট সঙ্গে যখন প্রতিনিধিত্ব কি? সুপার সহজ. শুধু সমস্ত 0 সেঃ. সুতরাং 0 সেঃ হিসাবে 4 বিট. আপনি কিভাবে 2 প্রতিনিধিত্ব করেন? কিছু সময় আগে থেকে আমরা এই কি, এর তা 0100. তাই এই হল 1s জায়গা, এই 2s জায়গা, এবং তারপর এটি কি অন্যান্য জায়গা হয় না ব্যাপার. হেক্সাডেসিমেল অন্য কথায়, আপনি 0x20 বলতে পারে, কিন্তু যদি আপনি তারপর কি হল 2 চিন্তা এবং কিভাবে তা করা হয় বাইনারি মধ্যে প্রতিনিধিত্ব, কি এবং কিভাবে তা করা হয় বাইনারি 0 মধ্যে প্রতিনিধিত্ব, সেই প্রশ্নগুলির উত্তর হল এই এবং এই যথাক্রমে,. সুতরাং 0x20 8 বিটের এই প্যাটার্ন প্রতিনিধিত্ব ঘটবে, যা অবিকল মাস্ক হল যে আমরা চেয়েছিলেন. তাই এই মুহূর্তে শুধু একটি মানসিক ব্যায়াম করা, কিন্তু বাস্তবতা হল এটা কোড সাধারণত এর আরো সাধারণ ভালো ধ্রুবক লিখুন হেক্সাডেসিমেল মধ্যে কারণ তারপর প্রোগ্রামার অপেক্ষাকৃত সহজে পারে, এমনকি যদি কিছু কাগজ এবং পেন্সিল প্রয়োজন, জিনিসটা কি বিট যে প্যাটার্ন কারণ আপনার কোড মধ্যে প্রকাশ না 0 সেঃ এবং 1s সাধারণত পারেন. আপনি 00010 এবং যান না, তাই প্রয়োগ করতে পারেন. আপনি দশমিক বা হেক্সাডেসিমেল বা অকট্যাল বা অন্যান্য notations বাছাই আছে. অধিকাংশ মানুষ হেক্সাডেসিমেল সহজভাবে যাতে প্রতিটি অঙ্ক 4 বিট উপস্থাপন বাছাই ঝোঁক এবং আপনি দ্রুত এই গণিত করতে পারেন. এবং আমি toupper, যা প্রায় একই সময়ে আমার হাতে তরঙ্গ করব; মনে প্রায় অভিন্ন. Toupper যাও বা অপারেটর নয়, বরং কিন্তু এই লোক এবং df ব্যবহার ঘটবে. কি df প্রতিনিধিত্ব করেন? df? যে কেউ? >> [ছাত্রদের] 255. 255? 255 নেই. যে ff হবে. আমরা সামান্য ব্যায়াম হিসাবে এই এক ছেড়ে দেব. তবে আপনি যদি 0 থেকে, 1, 2, 3, 4, 5, 6, 7, 8, 9 এবং তারপর 9 পরে কি আসে? আমরা দশমিক সংখ্যা আউট ধরনের, কিন্তু হেক্সাডেসিমেল কি 9 পরে আসে? [ছাত্রদের] একটি. >> তাই একটি, খ, গ, ঘ. আপনি সেখানে কি বিট ঘ আসলে উপস্থাপন এর প্যাটার্ন থেকে চিন্তা করা যেতে পারে. এবং যদি আমরা গণিত করবেন, আমরা যে মাস্ক আপনি শেষ পর্যন্ত পেয়ে ফিরে যাও এই অভিন্ন দেখতে পাবেন. এই চ, সব 1s, এবং এই ঘ. সুতরাং df উপস্থাপন করে যে মাস্ক. ঠিক আছে. এবং সর্বশেষে, জিনিষ শব্দ সুপার, সুপার প্রযুক্তিগত না না, কিন্তু অনুমান আমরা একটি প্রোগ্রাম যা এই আছে লিখতে চেয়েছিলেন. আমাকে এগিয়ে যান এবং বাইনারি, যা একটি ফাইল binary.c নামক একটি প্রোগ্রাম করা. এবং এখন আমাকে এবং বাইনারি সঞ্চালন সম্পর্কে একটি অ ঋণাত্মক পূর্ণসংখ্যা দিতে. চলুন শুরু করা যাক 0 সালে শুরু করা সহজ এবং টাইপ. এটি এখন একটি প্রোগ্রাম যা বাইনারি উপস্থাপনা ছাপে তার মধ্যে একটি পূর্ণসংখ্যা আউট. সুতরাং যদি আমি এই গেমটি খেলতে আবার এবং মাত্র 1 টাইপ, আমি একটি 1 32 বিট উপস্থাপনা পাওয়া উচিত. যদি আমি না 2 সঙ্গে আবার এই, আমি যে পাওয়া উচিত. যদি আমি 7 না, আমি শেষে একটি কয়েক 1s এবং পেতে তাই ঘোষণা করা উচিত. এটি সক্রিয় আউট কারণ আমি bitwise কার্যপ্রণালীর সঙ্গে এই উল্লেখ আপনি আসলে অন্য একটি বিষয় হিসাবে ভাল করতে পারেন. আপনি এই মাস্ক পরিবর্তনশীল তৈরি করতে পারেন. এই এক চূড়ান্ত উদাহরণ bitwise অপারেশন জড়িত তা একবার দেখে নিন. এখানে কোডের প্রথম অংশ, একটি সংখ্যা জন্য ব্যবহারকারীকে অনুরোধ জানানো, এবং এটি বলে যে আপনার সম্পর্কে একটি অ ঋণাত্মক পূর্ণসংখ্যা দিতে. সুতরাং যে পুরানো স্কুল সাজানোর উপাদান. কিন্তু এখানে এমন কিছু বিষয় যা আকর্ষণীয় ধরনের. আমি কিভাবে বাইনারি একটি সংখ্যা মুদ্রণ সম্পর্কে যান? আমি প্রথম থেকে কি কি যাও বারবার? অন্তত প্রয়োগ কি একটি সাধারণত int-এ মাপ,? >> [ছাত্রদের] 4. এটা 4. তাই 4 * 8 ও 32 - 1 31. সুতরাং যদি আমি 31 থেকে গণনা শুরু করছি যাও, যে প্রতিনিধিত্ব করে, এটি সক্রিয় আউট, শুধুমাত্র ধারণার, 31 বিট বা সর্বোচ্চ ক্রম বিট, যা এখানে উপর এই লোক, যেহেতু এই বিট 0 হবে. তাই এই বিট হল 01 ... 31 বিট. এই কোড কি করছে? লুপ জন্য এই, বিজ্ঞপ্তি যদিও মনে রহস্যপূর্ণ, মাত্র 31 থেকে ডাউন 0 iterating হয়. এটা এটি. তাই এখন আকর্ষণীয় অংশ এই 5 টি লাইন এখানে হবে. উল্লেখ্য, এই লাইনে আমি একটি পরিবর্তনশীল নামক মাস্ক ঘোষণা করছি এইসব হলুদ সংখ্যার আমাদের বিবরণ সঙ্গে সামঞ্জস্যপূর্ণ হবে. এই কি এবং তারপর করছে? এটি অন্য bitwise অপারেটর আমরা আগে, খুব সম্ভবত করেছেন দেখা যায় না. এটা বাম স্থানান্তর অপারেটর. এই অপারেটর এই আছে. এখানে সংখ্যা 1, এবং যদি আপনি না তোমার স্থানান্তর, বাম স্থানান্তর বাকি, না কি আপনি মনে করেন যে, সেটা যে ব্যক্তি 1 যাও প্রভাব আছে? আক্ষরিক এটি নাড়াচাড়া উপর. তাই যদি 1 নম্বর কি বাম দিকে আছে এবং আপনি 31 যাও তোমার দ্বারা আরম্ভ করা শুরু, কি কি দেয়া হবে এই যাও না? এই সংখ্যা 1 এবং এখানে নিতে উপর নামান 31 জায়গা করে যাচ্ছে. এবং কারণ সম্ভবত এটি কোন পিছনে অন্য সংখ্যা আছে, ডিফল্টরূপে যারা প্রতিস্থাপিত 0 সেঃ হবে. সুতরাং আপনি সংখ্যা 1, যা অবশ্যই ভালো দেখায় সঙ্গে শুরু করব - এবং আমাকে কেন্দ্রে এটি আঁকা এখানে বেশী. এবং তারপর হিসাবে আপনি বাম জিনিষ নামান, মূলত এই লোক এই এগিয়ে নিয়ে যায়. কিন্তু যত তাড়াতাড়ি হিসাবে আপনি যে কি, 0 ইন ভরা পরার যদি আপনি এটি একটি দ্বিতীয় সময় নামান, এটি এই নিয়ে যায় এবং অন্য 0 ইন ভরা পরার আপনি এটিকে আবার নামান এবং তারপর আরেকটি 0 ইন ভরা পরার তাই আপনি যদি 1 << আমি 31 জায়গা এই জিনিস করে, আপনি শেষ পর্যন্ত একটি মাস্ক পেয়ে যে দীর্ঘ 32 টি অক্ষর, leftmost এক যা 1, যা বাকি সব হল 0. এবং এটি একটি সক্রিয় সরাইয়া হিসাবে আউট,, ভালো বাম একটি নম্বর নড়ন এছাড়াও কাকতালীয়ভাবে, কখনও কখনও এবং সুবিধামত, যে সংখ্যা কি করছেন প্রভাব রয়েছে? >> [ছাত্রদের] এটি দ্বিগুনের. এটি দ্বিগুনের কারণ প্রতিটি কলাম - 1s জায়গা, 2s জায়গা, 4s জায়গা, 8s জায়গা, 16s জায়গা - সব দ্বিগুনের হিসাবে আপনি বাম যেতে they're. অথবা এর পরিবর্তে, যখন আপনি 1s নামান আপনি এবং শেষ সংখ্যাটির মান দ্বিত্ব চলুন. আপনি আপ ডিজিটের আকর্ষণীয় রূপান্তরের কাজ শেষ হতে পারে দ্বারা নড়ন এই ভাবে 2 ক্ষমতা সবকিছু উপর. সুতরাং কিভাবে কাজ করে? এই তারপর দেয় একটি মাস্ক যে এর জন্য আমি অবিকল জায়গা এটি করতে চান সেখানে একটি 1 ব্যতীত সমস্ত 0 সেঃ সম্পর্কে, এবং তারপর এই অভিব্যক্তি, যা toupper.c থেকে চুরি করা হয়, হয় কেবল বলছে নম্বর নিতে হবে যে ব্যবহারকারী টাইপ, "এবং" এটা দিয়ে যে মাস্ক, এবং আপনি যা পেতে যাচ্ছি? আপনি যে মাস্ক মধ্যে অবস্থান করছি একটি 1 যদি একটা 1 আছে পেতে যাচ্ছে, অথবা আপনি একটি 0 যদি না থাকে পেতে যাচ্ছেন. এবং যাতে কার্যকরভাবে এই সমস্ত প্রোগ্রাম জন্য এটি একটি লুপ আছে, এবং এটি একটি 1 সঙ্গে একটি মাস্ক সৃষ্টি এখানে বেশী, তাহলে এখানে উপর একটি 1, তারপর এখানে উপর 1 টি, এবং এটি হয় সেখানে একটি ব্যবহারকারীর ইনপুট এখানে 1 বিট বলতে এই bitwise ও কৌতুক ব্যবহার করে? কোন ব্যবহারকারীর ইনপুট এখানে 1 বিট? এবং যদি তাই আক্ষরিক, 1, অন্যথায় 0 মুদ্রণ মুদ্রণ. আমরা ints সঙ্গে কাজ করছেন এই মাত্র কারণ যে কেন আমরা পরিবর্তে 8 32 বিট করছি, কিন্তু আমরা কি তারপর চালু করেছেন তা এই bitwise ও, এই bitwise বা, এবং এই বাম স্থানান্তর অপারেটর, যা প্রায়ই ভয়ঙ্কর সহায়ক হয় না, কিন্তু এটি সক্রিয় করে আউট হতে পারেন তারা. যদি আসলে, আপনি Booleans একটি শ্রেণীবিন্যাস ভালো কিছু প্রতিনিধিত্ব ছিল শুধু সত্য বা মিথ্যা উপস্থাপন, অনুমান আপনি কিনা বা না ট্র্যাক রাখতে চেয়েছিলেন রুম 300 ছাত্র পূর্ণ উপস্থিত, আপনি টাইপ মাপ 300 একটি শ্রেণীবিন্যাস bool ডিক্লেয়ার যাতে আপনি 300 bools পেতে পারেন, এবং আপনি প্রতিটি সত্য যাও যদি কেউ এখানে এবং মিথ্যা অন্যথায় সেট করতে পারেন. কেন যে তথ্য কাঠামো যে উপস্থাপনা অকর্মণ্য? যে তথ্য গঠন, 300 bools একটি অ্যারের ডিজাইন সম্পর্কে খারাপ কি? আসলে কি একটি bool, ফণা তল,? এটি খুব,, এমন কিছু বিষয় যা পরিচিত নাও হতে পারে. এটি সক্রিয় আউট কোন bool আছে. আমরা ধরণের তৈরি মনে রাখবেন সঙ্গে cs50.h ফাইল, যা নিজেই bool মান অন্তর্ভুক্ত. C হল ধরনের মূক যদিও,, যখন এটি bool আসে. এটি প্রতি bool প্রতিনিধিত্ব 8 বিট ব্যবহার করে, যা সম্পূর্ণভাবে অপব্যয়ী কারণ সম্ভবত, কতগুলি বিট আপনি একটি bool প্রতিনিধিত্ব প্রয়োজন নেই? শুধু 1. সুতরাং দেখা যাচ্ছে যে যদি এখন আপনি bitwise অপারেটরদের সঙ্গে ক্ষমতা আছে এমনকি একটি গৃহস্থালি প্রতিটি বিট এমনকি একটি একক বাইট মধ্যে, নিপূণভাবে, এটি সক্রিয় আউট করা মেমরির কিছু মূঢ় প্রতিনিধিত্ব প্রয়োজন হ্রাস করতে পারে ভালো যে উপস্থিতি স্টাইল 8 এর উত্পাদকের দ্বারা ডাটা স্ট্রাকচার. পরিবর্তে আট বিট সত্য বা মিথ্যা প্রতিনিধিত্ব ব্যবহার করে, আপনি আক্ষরিক একটি ব্যবহার করতে পারেন প্রতি আট ছাত্র জন্য বর্গ মধ্যে একটি একক বাইট ব্যবহার 0 1 বিট থেকে পৃথক এবং নিম্নস্তরের ঠাট এই ধরনের ব্যবহার করে toggling. যে সত্যিই শক্তি শেষ করা. সেখানে bitwise অপারেশন সম্পর্কে কোন প্রশ্ন? হাঁ. >> [ছাত্রদের] কি কোন এক্সক্লুসিভ বা অপারেটর? হ্যাঁ. একটি এক্সক্লুসিভ বা অপারেটর ভালো যে দেখায়, ^, গাজর চিহ্ন পর্যন্ত, যা শুধুমাত্র প্রথম বা দ্বিতীয় বিষয় বস্তু ফলাফল দেখানোর জন্য করা একটি 1 1 একটি অর্থ হতে পারে. এছাড়াও না, ~, যা আপনি 1 বা তদ্বিপরীত পাশাপাশি একটি উল্টানো 0 অনুমতি দেবে. এবং এর রয়েছে একটি ডানদিকে স্থানান্তর অপারেটর, >>, যা এক আমরা দেখেছি এর বিপরীত. ঠিক আছে. চলুন জিনিষ নিতে এখন একটি উচ্চ স্তরের. আমরা টেক্সট সম্পর্কে কথা শুরু এবং তারপর এটি সংকুচিতকারী বিট এবং কম সংখ্যক টেক্সট প্রতিনিধিত্বমূলক; আমরা কিভাবে এখন আমরা শুরু একটি bitwise স্তরে জিনিষ সাধিত পারেন সম্পর্কে একটি বিট সায়ীদ. চলুন শুরু করা যাক এখন ফিরে জুম উপস্থাপনা পর্যন্ত 10,000 ফুট গ্রাফিক্স মত আরো জটিল জিনিস. এখানে আমরা জার্মানীর একটি পতাকা আছে এখানে, আমরা ফ্রান্সের একটি আছে. Gifs, উদাহরণস্বরূপ - এই ফাইল ফরম্যাটের আপনি চিনতে মধ্যে প্রতিনিধিত্ব করা হতে পারে. যদি কখনও আপনার ওয়েব. Gif দিয়ে শেষ করেছেন তার একটি চিত্র দেখা যায়, এই একটি গ্রাফিক্স অদলবদল বিন্যাসে. এই দুটি এখানে পতাকা ধরণের কম্প্রেশন নিজেরা ধার কি জন্য সম্ভবত সুস্পষ্ট কারণ? >> [শ্রবণাতীত ছাত্র প্রতিক্রিয়া] পুনরাবৃত্তি অনেক অধিকার আছে,? জার্মানি এর পতাকা ইন অর্ডার পাঠাতে এই, পর্দায় হচ্ছে একটি ইমেজ হিসাবে মনে করেন আপনার ভূত দিন ব্যাক. আপনি প্রতিটি পিক্সেল বা বিন্দু যে একটি চিত্র রচনা আছে প্রত্যাহার করা হতে পারে. একটি কালো বিন্দু এবং অন্য একটি কালো বিন্দু সমগ্র সারি সারি পুরো আছে. সারি কালো বিন্দু যে আমরা যদি আমরা সত্যিই এ জুম দেখতে পারে একটি গুচ্ছ আছে, অনেক সময় আমরা Rob মুখের ওপর জুম ফটোশপ মধ্যে চান. যত শীঘ্র আমরা পেয়েছিলাম গভীর এবং গভীর ইমেজে এবং গভীর, আপনাকে শুরু pixelation প্রেক্ষণ, স্কোয়ার যে যে ক্ষেত্রে তার চোখের ক্ষান্ত সব. একই এখানে চুক্তি. আমরা যদি বেশ কিছুক্ষনের মধ্যে জুম হয়েছে, আপনি ব্যক্তিগত বিন্দু দেখতে হবে. ওয়েল, এই বিট বর্জ্য ধরনের. যদি পতাকা তৃতীয় কালো পতাকা এবং তৃতীয়টি হল হলুদ এবং তাই ঘোষণা, কেন একরকম আমরা এই পতাকা না কম্প্রেস করতে পারেন? এমনকি ফরাসি পতাকা সংকুচিত যদিও প্যাটার্ন সামান্য কিছুটা আলাদা হতে পারে. এটি সক্রিয় আউট GIF ফাইল ফরম্যাট একটি অবচয়হীন কম্প্রেশন বিন্যাস, যার মানে আপনি জার্মান পতাকা মত একটি চিত্র এখানে নিতে পারেন, আপনি গুণমান sacrificing ছাড়াই তার বিট অনেক দূরে নিক্ষেপ করতে পারেন. এই JPEGs ভালো কিছু বিপরীতে হয়, সঙ্গে যা আমাদের অধিকাংশ সম্ভবত হয় আরো পরিচিত. ফেসবুক ফটো এবং ফ্লিকার ফটো এবং ভালো হয় JPEGs হিসাবে প্রায় সবসময় সংরক্ষিত হবে যখন তারা আপলোড করছি, কিন্তু JPEGs একটি lossy - LOSSY - বিন্যাসের সাহায্যে আপনি বিট নিক্ষেপ করবেন দূরে কিন্তু আপনি মান বাতিল. এবং তাই আপনি যদি ফটোশপ সাথে একটি ফটো বা কম্প্রেস ফেসবুক তাদের আপলোড অথবা সত্যিই একটি ন্যক্কারজনক ফোনে তাদের নিতে, আপনি কি জানেন যে ছবি খুব ছোপ - ছোপ এবং pixelated পেতে শুরু হয়, এবং যে কারণ এটি কম্পিউটার বা ফোন দ্বারা হচ্ছে এর সংকুচিত দ্বারা আক্ষরিক তথ্য দূরে নিক্ষেপ. কিন্তু, GIF আশ্চর্যজনক হল যে এটি কম বিট ব্যবহার তুলনায় এটি ডিফল্ট বল করতে পারেন ছাড়া কোন তথ্য হারানো. এবং মূলত এটি আছে, তাই হিসাবে অনুসরণ করে. বরং একটি BMP মত একটি ফাইলের মধ্যে একটি দোকান আরজিবি ট্রিপল কালো, কালো, কালো, কালো জন্য একটা, কালো, কালো, কালো, কালো, কালো, কালো, কালো, কালো এবং তাই ঘোষণা, বরং, GIF, বিন্যাস, বলে যাচ্ছে "কালো," না এবং তারপর, "এই 100 বার পুনরাবৃত্তি করুন" বা ওই জাতীয় কিছু. "কালো, এই 100 বার, কালো, এই পুনরাবৃত্তি 100 বার পুনরাবৃত্তি করুন ..." "হলুদ, এই 100 বার. পুনরাবৃত্তি" এবং তাই মনে মূলত,, leftmost পিক্সেল এবং তারপর এনকোড একরকম যে পিক্সেল পুনরায় আবার এবং আবার ধারণা. সুতরাং gifs তারপর কোন তথ্য হারানো ছাড়া নিজেদের কম্প্রেস করতে পারেন. তবে আপনি যদি যাও, অনুমান যদি হয় যে অ্যালগরিদম ব্যবহার gifs ছিল, যা এই পতাকার জন্য, যদিও তারা চেহারা আকার অভিন্ন, যাও ছোট করা ডিস্কের উপর যখন একটি জিআইএফ হিসাবে সংরক্ষিত হয়? >> [ছাত্রদের] জার্মানি. জার্মানির সঙ্গে ছোট হবে? কেন? [ছাত্রদের] কারণ আপনি এটি পুনরাবৃত্তি অনেক, অনেক বার অনুভূমিকভাবে এবং তারপর আপনি অন্য সময় পুনরাবৃত্তি. >> যথাযথভাবে. কারণ নির্বিচারে মানুষ যারা, GIF উদ্ভাবিত ঠিক ধরনের করার সিদ্ধান্ত নিয়েছে যে পুনরাবৃত্তি leveraged অনুভূমিকভাবে এবং না পার্শ্বত করা হবে. আরো অনেক জার্মান পতাকা মধ্যে ফরাসি পতাকা তুলনায় পুনরাবৃত্তি পার্শ্বত এখানে আছে. তাই আপনি যদি আমরা আসলে আমার হার্ড ড্রাইভে একটি ফোল্ডার আছে যে এই gifs খুলুন, আসলে আপনি দেখতে পারেন যে এখানে জার্মান পতাকা 2 কিলোবাইট এবং ফরাসি এক হয় 4 কিলোবাইট. এটা কাকতালীয় হতে যে এক দুবার অন্যান্য, কিন্তু এটি আসলে এর ক্ষেত্রে যে ফরাসি পতাকা হল অনেক বড়. যদিও আমরা গ্রাফিক্স বিষয়ে কথা এখানে করছি, একই ধারণা আবেদন করতে পারেন জিনিষ পতাকা কিন্তু চিত্র যে একটু বেশি জটিল ভালো না. আপনি যদি একটি আপেল একটি ছবি নিতে নিশ্চয়, অনুলিপি অনেক আছে সেখানে, তাই একরকম আমরা স্মরণ করতে পারে যে ডিফল্ট পটভূমি নীল এবং হিসাবে ডানদিকের ছবি, না দাড়ায়, প্রতি এই ছবি একক পিক্সেল রঙ স্মরণে রাখতে হবে. সুতরাং আমরা বিট সরিয়ে তথ্য হারানো ছাড়া থাকতে পারে. আপেল এখনও ঠিক একই দেখায়. এই এখানে যেমন, আপনি একটি সিনেমা কি দেখতে হতে পারে. এই পুরোনো স্কুল ফিল্ম reels যদ্দ্বারা শীর্ষ সেখানে ইমেজ প্রতিনিধিত্ব আপনি একটি একটি বাড়ি গত আরভি ড্রাইভিং এবং একটি গাছ আছে. এবং হিসাবে যে ভ্যান থেকে বাম ডান ড্রাইভ অতীত, স্পষ্টত কি পরিবর্তন না? ঘর কোথাও না, যাচ্ছে না এবং গাছ কোথাও যাচ্ছে না. শুধু যে চলন্ত এর এই ক্ষেত্রে অগ্রদূত. সুতরাং হিসাবে পৃষ্ঠভূমি অপরিবর্তিত সুপারিশ কি, আপনি চলচ্চিত্রে করতে পারেন না ঠিক একই রকমভাবে তথ্য মধ্যে ফ্রেম মধ্যে পরিবর্তন না করে বাতিল. এই interframe কম্প্রেশন হিসাবে সাধারণত পরিচিত তদ্দ্বারা যদি এই ফ্রেম দেখায় এই এক প্রায় অনুরূপ, এর দিন সংরক্ষণ করা ডিস্কের উপর অভিন্ন ধরনের কোনো তথ্য না বিরক্ত এই অন্তর্বর্তী ফ্রেম উপর, আমি কি শুধুমাত্র কী ফ্রেম ব্যবহার একবার একটি সময় যে প্রকৃতপক্ষে যে তথ্য redundantly ঠিক হিসাবে একটু সদ্বিবেচনা চেক সঞ্চয়. বিপরীতভাবে, একবার সংকুচিতকারী ভিডিওতে অন্য পদ্ধতির এই দ্বিতীয় এবং কম উদাহরণ হল, যেখানে বরং দোকান তুলনায় 30 ফ্রেম, ঠিক কেন 15 ফ্রেম একটি দ্বিতীয় আপনাদের না পরিবর্তে সঞ্চয়? বরং সাবলীল সুন্দর, পুরোপুরি মুভি ধরনের, মত এটি একটি সামান্য বিট, একটু পুরানো স্কুল তোতলামি এর চেহারা হতে পারে, কিন্তু নেট এর প্রভাব থেকে দূরে কম বিট তুলনায় অন্যথায় প্রয়োজনীয় হতে পারে ব্যবহার করা হবে. তাই যেখানে তারপর এই জন্য আমাদের ছেড়ে? এটা ছিল একটি সরাইয়া একটি যেখানে অন্যথায় আপনি কম্প্রেশন সঙ্গে যেতে পারে বিট. যে সম্পর্কে আরো জানার জন্য, CS175 এখানে মত একটি ক্লাস নিতে. এখানে ভিডিও মধ্যে অন্য একটি উদাহরণ. যদি মৌমাছি শুধুমাত্র জিনিস সরানোর, আপনি কি সত্যিই নিক্ষেপ যারা মধ্যম ফ্রেম তথ্য দূরে পারেন কারণ ফুল এবং আকাশ এবং পাতার পরিবর্তন হয় না. কিন্তু এখানে একটা বিষয় বিবেচনা এখন এক শেষ. পরবর্তী 5 মিনিটের মধ্যে আমরা পিছনে সি ছেড়ে চিরকালের বক্তৃতায়? হ্যাঁ. , যদিও মধ্যে psets নেই. সি সম্পর্কে সর্বশেষ বিবরণ এবং তারপর আমরা খুব সেক্সি উপাদান পেতে HTML এবং ওয়েব এবং হুররে জড়িত. ঠিক আছে. আমরা শুরু করছি. যে প্রেরণা. এটি সক্রিয় সমস্ত এই সময় যখন আমরা হয়েছে প্রোগ্রাম আমরা ঝনঝন রান আউট লেখা. এবং ঝনঝন, আমরা প্রথম সপ্তাহে প্রায় কাছাকাছি থেকে বলেন করেছি, সোর্স কোড লাগে এবং অবজেক্ট কোড মধ্যে এটি পরিবর্তন করে. এটা সি নেয় এবং 0 সেঃ এবং 1s মধ্যে এটি পরিবর্তন করে. আমি ধরনের করেছি কয়েক সপ্তাহ জন্য মিথ্যা কারণ এটি বেশ হিসাবে যে হিসাবে সহজ না হয়েছে. আরো অনেক ফণা নীচে যাওয়া আপনি যখন ঝনঝন মত একটি প্রোগ্রাম চালানো আছে. আসলে, সত্যিই একটি প্রোগ্রাম কম্পাইল প্রক্রিয়ার সংক্ষিপ্ত করা যায়, হিসাবে আপনি কম্পাইলার উপর রব এর ভিডিও থেকে প্রত্যাহার করা হতে পারে, মধ্যে এই 4 টি ধাপ: প্রাক প্রক্রিয়াকরণ, নিজেই কম্পাইল করার প্রণালী, একত্রিতকরনের, এবং লিঙ্ক. কিন্তু সাধারণত আমরা বর্গ এবং বিশ্বের অধিকাংশ মানুষ এই সমস্ত ধাপ সংক্ষেপ হিসাবে শুধু "কম্পাইল করার প্রণালী." কিন্তু আমরা যদি ভালো উৎস কোড দিয়ে শুরু, প্রত্যাহার সম্ভবত এই সহজ সি প্রোগ্রাম আমরা এ পর্যন্ত করা, যে যখন কম্পাইল এটা শেষ হবে ভালো আপ খুঁজছেন প্রত্যাহার করেছেন. কিন্তু আসলে এর কোন একটি অন্তর্বর্তী ধাপ, এবং সেই পদক্ষেপগুলি নিম্নরূপ. প্রথম খুব এবং আমাদের এই প্রোগ্রামের সবচেয়ে শীর্ষে রয়েছে এই জিনিস, # অন্তর্ভুক্ত # না কি আমাদের জন্য অন্তর্ভুক্ত করবেন? আমার ফাইলে এটি প্রায় কাছাকাছি কপি এবং pastes stdio.h বিষয়বস্তু যাতে কেন? কেন আমি stdio.h বিষয়বস্তু সম্বন্ধে যত্ন? সুদ আছে কি? Printf এর ঘোষণা, তার প্রোটোটাইপ, যাতে তারপর কম্পাইলার জানে আমি বলতে চাচ্ছি যখন আমি printf এই ফাংশন উল্লেখ. তাই কম্পাইল মধ্যে 1 পইঠা প্রাক প্রক্রিয়াকরণ, যদ্দ্বারা ঝনঝন মত একটি প্রোগ্রাম অথবা কিছু সাহায্যকারী প্রোগ্রাম যে সঙ্গে ঝনঝন শব্দ আসে নীচে আপনার টপ সার্চ, বাম থেকে ডাইনে, এবং যে কোনো সময় এটি একটি # চিহ্ন সূচিত মধ্যে মত একটি অভিব্যক্তি দ্বারা অনুসৃত, এটি যে অপারেশন সম্পাদন করে, অনুলিপি এবং এই ফাইলের মধ্যে আপনার ক্ষেত্রে stdio.h মধ্যে পেস্ট. যে পদক্ষেপ 1. তারপর আপনি অনেক বড় কারণ বিশাল কপি, পেস্ট করুন পেশা যে এর মধ্যে ঘটেছে সি ফাইল আছে. ধাপ 2 এখন কম্পাইল করা হয়. কিন্তু এটি সক্রিয় আউট সোর্স কোড কম্পাইল ভালো লাগে যে দেখায় এবং কিছু ভালো যে দেখায় তা সক্রিয়, যা তাদের পরিচিত জন্য বলা হয়? >> [ছাত্রদের] বিধানসভা. >> এসেম্বলি ভাষা. এটি আসলে কিছু যদি আপনি CS61 নেন, তাহলে আপনি আরো বিশদ আকর্ষণীয় মধ্যে পাবেন. এটা সম্পর্কে হিসাবে বন্ধ হিসাবে আপনি 0 সেঃ এবং 1s নিজের লেখা পেতে পারেন কিন্তু এমনভাবে যে অন্তত একটি ধারণা অল্প করে অনেক কিছু লেখা. এগুলি হল মেশিন নির্দেশাবলী, এবং যদি আমরা প্রধান ফাংশন এখানে স্ক্রল ডাউন, এই ধাক্কা যে নির্দেশ আছে বিজ্ঞপ্তি, নির্দেশ, সরানো নির্দেশ বিয়োগ, নির্দেশ, কল এবং তাই ঘোষণা. আপনি যখন শুনি যে আপনার কম্পিউটারে ইন্টেল ভিতরে আছে, আপনি আপনার একটি Mac বা PC র মধ্যে CPU-র জন্য Intel আছে কি, যে মানে না? একটি CPU-র জন্য Intel নির্দিষ্ট নির্দেশের অন্তর্দৃষ্টিসম্পন্ন মত কোম্পানি দ্বারা নির্মিত আসে. তারা কি কোন ধারণা করতে swap ভালো ফাংশন হয় বা প্রধান প্রতি হয় নির্দেশক আছে, কিন্তু তারা কি ভালো খুব নিচু স্তরের নির্দেশাবলীর যোগ জানি না, বিয়োগ, ধাক্কা, সরানোর জন্য কল, এবং তাই ঘোষণা করা হয়. সুতরাং যখন আপনি সমাবেশ ভাষায় সি কোড কম্পাইল, আপনার ব্যবহারকারী খুব বন্ধুত্বপূর্ণ সুদর্শন কোড কিছু ভালো যে দেখায় রূপান্তরিত করা হয়েছে, যে আক্ষরিক কাছাকাছি যেমন এবং CPU-র মধ্যে আউট অফ ছোট ইউনিট বাইট বা 4 বাইট আসে. কিন্তু অবশেষে, যখন ঝনঝন আপনার প্রোগ্রামের এই উপস্থাপনা নিতে প্রস্তুত 0 সেঃ মধ্যে এবং 1s তারপর, পদক্ষেপ নামক একত্রিতকরনের ঘটবে, এবং এই চক্ষু চোখ পিট পিট করার মধ্যে আবার সব ঘটনা যখন ঝনঝন চলমান. আমরা এখানে শুরু, এটা ভালো একটি ফাইল আউটপুট, এবং তারপর এইসব 0 সেঃ এবং 1s এটি পরিবর্তন করে. এবং যদি আপনি কিছু স্থানে ফিরে যান এবং প্রকৃতপক্ষে এই ক্রিয়াটি দেখতে চাই, - যদি আমি hello1.c-এই খুবই প্রথম প্রোগ্রাম আমরা দিকে তাকিয়ে এক ঢোকা সাধারণতঃ আমরা ঝনঝন hello1.c সঙ্গে এই সঙ্কলন এবং এই a.out আমাদের দিতে হবে. যদি এর বিপরীতে পরিবর্তে আপনি এটি-S পতাকা দিতে, আপনি কি পাবেন হয় hello1.s এবং আপনি আসলে সমাবেশ ভাষা দেখতে পাবেন. আমি একটি খুব ছোট প্রোগ্রামের জন্য এই কাজ করছি, কিন্তু আপনি যদি একত্র জন্য ফিরে যান বা বা উদ্ধার কোনো প্রোগ্রাম আপনাকে লিখিত করেছি এবং ঠিক বাইরে অনুসন্ধিত্সা কি আসলে এটা মনে হয়, আসলে কি CPU-র মধ্যে করা হয়েছিল তা খাওয়ানো দেখতে চাই, আপনি ঝনঝন সঙ্গে যে, S-ফ্ল্যাগ ব্যবহার করতে পারেন. কিন্তু সর্বশেষে তারপর, এখনও আছে এক gotcha. এখানে 0 সেঃ এবং 1s যে হ্যালো, বিশ্বের আমার বাস্তবায়ন প্রতিনিধিত্বকারী. কিন্তু আমি আমার প্রোগ্রামে কারোর ফাংশন ব্যবহৃত হয়. সুতরাং যদিও প্রক্রিয়া হয়েছে আমি hello.c নিতে, এটি সমাবেশ মধ্যে কোড, কম্পাইল করা এবং তারপর এটি 0 সেঃ এবং 1s মধ্যে একত্র পরার পরার, শুধুমাত্র 0 সেঃ এবং 1s ঐ সময়ের মধ্যে এই সময়ে outputted হয় বেশী হয় আমার কোড থেকে যে ফলাফল. কিন্তু যে ব্যক্তি printf লিখেছে, তারা তাদের কোড কম্পাইল 20 বছর আগে এবং এখন এটি প্রয়োগ উপর এর ইনস্টল কোথাও, তাই আমরা একরকম আমার 0 সেঃ এবং 1s সঙ্গে তার বা তার 0 সেঃ এবং 1s একত্রীকরণ আছে, এবং যে কম্পাইল 4 ঠা এবং চূড়ান্ত পদক্ষেপ, লিঙ্ক হিসাবে পরিচিত আমাদের এনেছে. সুতরাং বাম দিকে আমরা আগে সঠিক হিসাবে একই ছবি আছে: hello.c হয়ে সমাবেশ কোড হয়ে 0 সেঃ এবং 1s. কিন্তু প্রত্যাহার যে আমি আমার কোড প্রমাণ I / O কাজে ব্যবহৃত লাইব্রেরি, এবং তার মানে কোথাও কম্পিউটার নামক কোনো ফাইল stdio.c আছে বা অন্তত উহার কম্পাইল করা সংস্করণ কারণ কেউ কিছু বছর আগে সমাবেশ কোড কম্পাইল করে এবং তারপর একটি stdio.c 0 সেঃ এবং 1s আভা. এটি কি একটি স্ট্যাটিক বা ডাইনামিক লাইব্রেরি হিসাবে পরিচিত হয়. এটা কিছু ফাইল প্রয়োগ কোথাও বসা. কিন্তু সর্বশেষে, আমি আমার 0 সেঃ এবং 1s নিতে এবং যে ব্যক্তির 0 সেঃ এবং 1s এবং একরকম তাদের একসঙ্গে লিঙ্ক, যারা আক্ষরিক একত্রিত 0 সেঃ এবং 1s একটি ফাইল নামক a.out বা hello1 বা যাই হোক না কেন মধ্যে আমি আমার প্রোগ্রাম নামক যাতে শেষ ফলাফল 1s এবং 0 সেঃ প্রোগ্রাম রচনা করা উচিত যে আমার সব আছে. তাই এই সময় এই সেমিস্টারে যখন করেছি ঝনঝন শব্দ ব্যবহার করা হয়েছে এবং আরও সম্প্রতি চলমান যাতে ঝনঝন রান করা, এই সমস্ত ধাপগুলি তাত্ক্ষণিকভাবে হয়েছে সাজানোর ঘটছে কিন্তু খুব ইচ্ছা. তাই যদি আপনি অবিরত কম্পিউটার বিজ্ঞান, যথা CS61, এই স্তর যে আপনি ছুলা পিছন থেকে সেখানে অবিরত করব দক্ষতা, নিরাপত্তা প্রভাব, এবং এইসব নিম্ন স্তরের বিবরণ মত বিষয়ে কথা বলছি. কিন্তু সঙ্গে যে, আমরা পিছনে সি ছেড়ে সম্পর্কে. এর এগিয়ে যান এবং আমাদের 5 মিনিটের বিরতি এখন চলুন, এবং যখন আমরা ফিরে আসা: ইন্টারনেট. ঠিক আছে. আমরা ফিরতে হয়. এখন আমরা শুধুমাত্র HTML-এ আমাদের বর্ণন কারণ, হিসাবে আপনি দেখতে পাবেন না লাগা, এইচটিএমএল নিজেই আসলে বেশ সহজ কিন্তু সত্যিই ওয়েব প্রোগ্রামিং এ আরো সাধারণভাবে, নেটওয়ার্কিং আরো সাধারণভাবে, এবং কিভাবে এই প্রযুক্তির সব একসঙ্গে আসা আমাদের ইন্টারনেট উপরে অধিক পরিমানে বাস্তববুদ্ধিসম্পন্ন প্রোগ্রাম তৈরী করতে অনুমতি দেয় দূর পর্যন্ত তুলনায় আমরা এই কালো এবং সাদা জানালা মধ্যে ছিলাম পারবেন. সেমিস্টারে এই সময়ে এমনকি যদিও আমরা তুলনামূলকভাবে কম সময় ব্যয় করবে উপর পিএইচপি, এইচটিএমএল, সিএসএস, জাভাস্ক্রিপ্ট, এসকিউএল এবং আরো, অধিকাংশ ছাত্র শেষ পর্যন্ত না চূড়ান্ত প্রকল্পে যে ওয়েব নির্ভর করছে কারণ হিসাবে আপনি দেখতে পাবেন, পটভূমি আপনি এখন সি আছে বহুলাংশেই প্রযোজ্য এইসব উচ্চ স্তরের ভাষা. এবং হিসাবে আপনি আপনার চূড়ান্ত প্রকল্প সম্পর্কে চিন্তা, যা, অনেক সমস্যা সেট 0 ভালো, যেখানে আপনাকে উত্সাহিত করেছে আপনাকে ভূত মধ্যে বেশিরভাগ কিছু না, চূড়ান্ত প্রকল্প হল আপনার সুযোগ সি সঙ্গে আপনার newfound জ্ঞান ও উপলব্ধি গ্রহণ অথবা পিএইচপি বা জাভাস্ক্রিপ্ট বা ঘূর্ণনের জন্য আউট চাই এবং আপনার নিজস্ব সফ্টওয়্যার দুনিয়া দেখুন টুকরা জন্য তৈরি. এবং ধারনা আপনি বীজ থেকে, যে এখানে আপনি আগাইয়া করতে পারেন projects.cs50.net,. প্রত্যেক বছর, আমরা ক্যাম্পাসের উপর ধারনা অনুষদ এবং কর্মীদের থেকে এবং ছাত্র গ্রুপ অনুরোধ করা শুধু আকর্ষণীয় যে মীমাংসিত কম্পিউটার ব্যবহার করা যেতে পারে তাদের জন্য ধারনা জমা, ওয়েবসাইটগুলির ব্যবহার করে, সফ্টওয়্যার ব্যবহার করে. সুতরাং যদি আপনি আপনার নিজের একটি ধারণা নিয়ে আসা সংগ্রাম করছি, সর্বথা ধারনা দিয়ে স্ক্রল আছে এবং এই বছরের শেষ থেকে. এটি পুরোপুরি একটি প্রকল্প যা আগে করেনি মোকাবেলা করা হয়েছে সংগ্রামার্থ আহ্বান করা ঠিক আছে. আমরা ক্যাম্পাস লন্ড্রির অবস্থা দেখছি জন্য অনেক অ্যাপ্লিকেশান দেখা যায়, ভোজনশালা মেনু নেভিগেট জন্য অনেক এপ্লিকেশন, অবশ্যই ক্যাটালগ এবং ভালো নেভিগেট জন্য অনেক অ্যাপ্লিকেশন. এবং প্রকৃতপক্ষে, একটি ভবিষ্যত বক্তৃতা এবং ভবিষ্যতে সেমিনার, আমরা আপনাকে কিছু সার্বজনিকভাবে উপলব্ধ API গুলি, পরিচয় করিয়ে দিতে উভয় বাণিজ্যিকভাবে উপলব্ধ করা সেইসাথে এখানে উপলব্ধ থেকে ক্যাম্পাসের উপর CS50 যাতে আপনি ডাটা এক্সেস আছে এবং তারপর এটি সঙ্গে আকর্ষণীয় করতে পারেন. চূড়ান্ত প্রকল্পে তাই আরো কয়েক দিন পরে যখন আমরা স্পেসিফিকেশন মুক্তি, কিন্তু এখন জন্য, জানেন যে আপনি এক বা দুই বন্ধুদের সঙ্গে একক বা কাজ করতে পারেন সবচেয়ে আগ্রহের কোনো প্রকল্প. ইন্টারনেট. আপনি এগিয়ে যান এবং আপনার ল্যাপটপ বৈঠাচালনা আউট, facebook.com যাও প্রথমবারের জন্য যান, সম্প্রতি লগ ইন না, থাকার ও hit লিখুন. ঠিক কি ঘটবে? যখন আপনি আপনার কম্পিউটারে আঘাত লিখুন, একটি পদক্ষেপ আভা magically ঘটছে বাছাই শুরু. সুতরাং বাম, ফেসবুক ভালো ওয়েব সার্ভারে এখানে আপনি ডান এখানে, একরকম এবং আপনি এই ভাষা বলা HTTP-র, হাইপারটেক্সট ট্রান্সফার প্রোটোকল ব্যবহার করছেন. HTTP-র একটি প্রোগ্রামিং ভাষা নয়. এটি একটি প্রোটোকলের আরো. এটা নিয়মাবলী যে ওয়েব ব্রাউজার এবং ওয়েব সার্ভার ব্যবহার যখন intercommunicating একটি সেট. এবং কি এই অর্থ নিম্নরূপ হয়. বাস্তব জগতে অনেক চান, আমরা এইসব নিয়মাবলী আছে যেখানে আপনি যদি প্রথমবারের মত কিছু মানুষের সঙ্গে মিলিত হয়, যদি আপনি আমার এখানে humoring না মন, আমি আপনার কাছে আসা পর্যন্ত,, বলতে পারে "হাই, আমার নাম হয় ডেভিড." >> হাই, ডেভিড. আমার নাম স্যামি. "হাই, ডেভিড. আমার নাম স্যামি." তাই এখন আমরা শুধু নিরীহ মানুষের প্রোটোকলের এই সাজানোর মধ্যে আছে নিযুক্ত যেখানে আমি প্রোটোকল শুরু আছে, স্যামি প্রতিক্রিয়া করেনি, আমরা হাত করেছি ধুত, এবং লেনদেন সম্পূর্ণ. HTTP হলো আত্মা খুব অনুরূপ. যখন আপনার ওয়েব ব্রাউজারের অনুরোধ www.facebook.com, আপনার ব্রাউজারে কি সত্যিই করছে তার হাত প্রসারিত করা হয়, তাই কথা বলতে, সার্ভার এবং তা থেকে একটি বার্তা প্রেরণ করা হয়. এবং যে বার্তা পেতে সাধারণত ভালো কিছু - কি আপনি পেতে চান? - সম্পর্কে হোম পৃষ্ঠা, যা একটি URL-র শেষে একক স্ল্যাশ দ্বারা সাধারণভাবে denoted পেতে. এবং সে জন্য আপনি কি জানেন যে ভাষা আমি বলতে চাই, আমি ব্রাউজারে আপনি বলতে যাচ্ছি আমি যে HTTP-র সংস্করণ 1.1 বলতে চাই, ভাল পরিমাপ জন্য এবং, আমি আপনাকে বলতে যাচ্ছি যে হোস্ট যে আমি হোম পেজে চাই facebook.com হয়. সাধারণত, একটি ওয়েব ব্রাউজার, আপনি unbeknownst যাও, মানবিক, ইন্টারনেট জুড়ে এই বার্তা পাঠায় কেবল যখন আপনি www.facebook.com টাইপ করুন, আপনার ব্রাউজারে লিখুন. এবং কি ফেসবুক সহ কোন সাড়া দেয়? এটা কিছু অনুরূপ সুদর্শন রহস্যপূর্ণ বিবরণ কিন্তু এছাড়াও আরো অনেক সঙ্গে প্রতিক্রিয়াশীল. আমাকে এগিয়ে ফেসবুক এর হোম পেজে যেতে এখানে. এই পর্দায় যে সম্ভবত আমাদের অধিকাংশ যদি আপনি সব সময় লগ ইন হয়ে থাকুন না দেখতে, কিন্তু এই প্রকৃতপক্ষে তাদের মূল পৃষ্ঠায়. যদি আমরা Chrome-এ এই কি বাড়বে না জানেন যে এই সামান্য কনটেক্সট মেনু থামা পারেন. ক্রোম ব্যবহার করে কিনা এবং ম্যাক অপারেটিং সিস্টেম, উইন্ডোজ, লিনাক্স, বা ভালো, যদি আপনি ক্লিক করুন অথবা বাম ক্লিক নিয়ন্ত্রণ, সাধারণত আপনি বৈঠাচালনা একটি মেনু ভালো যে দেখায় আপ করতে পারেন, যেখানে কয়েক বিকল্প অপেক্ষা করা, তাদের মধ্যে অন্যতম হল দেখুন পৃষ্ঠা উত্স. আপনি এই জিনিষ সাধারণত যাচ্ছে দেখুন মেনু এবং খোঁচা কাছাকাছি পেতে পারেন. উদাহরণস্বরূপ, এখানে দেখুন: অধীন, ডেভেলপার হয় একই জিনিস. আমি এগিয়ে যান এবং দেখুন পৃষ্ঠা উত্স তাকান যাচ্ছি. আপনি কি দেখতে পাবেন HTML এ হল যে মার্ক যাও facebook.com প্রতিনিধিত্ব করা করেনি. এখানে একটি সম্পূর্ণ গড়বড়, কিন্তু আমরা যে এই সামান্য আরো ইন্দ্রিয় তোলে ক্ষণপরে দেখতে পাবেন. কিন্তু এখানে কিছু নিদর্শন আছে. আমাকে স্ক্রোল ডাউন ভালো সামগ্রী যাও. এটি হার্ড জন্য একটি মানব, পড়তে কিন্তু কৌণিক বন্ধনী এই যে প্যাটার্ন আছে বিজ্ঞপ্তি সঙ্গে বিকল্প, মান ভালো কীওয়ার্ড, উদ্ধৃতিচিহ্ন সহ পংক্তিগুলি ভালো কিছু কীওয়ার্ড. এটি যেখানে, যখন আপনি খুব প্রথমবার, নির্দিষ্ট তারিখ কি আপনার বছরটি জন্য সাইন আপ করুন. যে তারিখ বছর ড্রপ ডাউন মেনু একরকম হয় এখানে এনকোড এই ভাষা বলা এইচটিএমএল, হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ. অন্য কথায়, যখন আপনার ব্রাউজারে একটি ওয়েব পাতা অনুরোধ, এটি এই কনভেনশন নামক HTTP-র কথা. যে অনুরোধটি কি আছে কিন্তু facebook.com সঙ্গে সাড়া দেয়? এটা এই রহস্যপূর্ণ বার্তাগুলির কিছু সঙ্গে প্রতিক্রিয়াশীল, হিসাবে আমরা এক মুহূর্ত দেখতে পাবেন. কিন্তু তার প্রতিক্রিয়া অধিকাংশ এইচটিএমএল, হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ আকারে. এটা আসল ভাষা যা একটি ওয়েব পাতা লিখিত হয়. এবং কি সত্যিই একটি ওয়েব ব্রাউজার তারপর কিছু ভালো দেখায় যে প্রাপ্তির উপর না হয়,, রিড করে উপর থেকে নিচ, ডানে বামে যাও, এবং যে কোনো সময় এটি এই কৌণিক বন্ধনী মধ্যে এক সমঝোতা বিকল্প মত একটি অভিব্যক্তি দ্বারা অনুসৃত, তা যে যথাযথ ভাবে মার্কআপ ভাষা প্রদর্শন করা হয়. এই ক্ষেত্রে, এটা একটি বছর ড্রপ ডাউন মেনু প্রদর্শন করবে. কিন্তু আবার, এই একটি সম্পূর্ণ জগাখিচুড়ি তাকান. এই কারণ ফেসবুক ডেভেলপারদের জন্য শৈলী 5 0 জন্য সুস্পষ্ট উদাহরণস্বরূপ, হয় না. প্রকৃতপক্ষে হয় কারণ কোড লিখুন যে তারা অধিকাংশ,, সুন্দর লেখা, ভাল মন্তব্য, চমত্কারভাবে সংভৃত, এবং মত, কিন্তু কোর্স মেশিন, কম্পিউটার, সত্যিই ব্রাউজার মোটেই গ্রাহ্য না কিনা আপনার কোড ভাল-স্টাইল. এবং আসলে, এটি সম্পূর্ণ অযথা ঐ সমস্ত বার আঘাত ট্যাব কী এবং মন্তব্য করা আপনার কোড সমগ্র এবং সত্যিই বর্ণনামূলক পরিবর্তনশীল নাম চয়ন কারণ যদি ব্রাউজারে যত্ন না না, আপনি সমস্ত দিনের শেষে করছেন বাইট নাশক হয়. সুতরাং এটি সক্রিয় কি না হয় যদিও অধিকাংশ ওয়েবসাইটে facebook.com সোর্স কোড, জন্য ইন্টারনেট cs50.net এবং এইসব অন্যান্য ওয়েবসাইটের সমস্ত সাধারণত ভাল হয় না এবং ভাল মন্তব্য এবং চমত্কারভাবে সংভৃত এবং মত, সাধারণত আগে ওয়েবসাইট ইন্টারনেট সম্মুখের করা হয়, কোড minified হয়, HTML এবং CSS এর যদ্দ্বারা - অন্য কিছু আমরা শীঘ্রই দেখতে পাবেন - জাভাস্ক্রিপ্ট কোড আমরা শীঘ্রই দেখতে পাবেন সংকুচিত করা হয়, তদ্দ্বারা দীর্ঘ পরিবর্তনশীল নামের হত্তয়া X এবং Y এবং Z, এবং যে সকল হোয়াইটস্পেস যে তোলে সবকিছু তাই পাঠযোগ্য চেহারা নিক্ষিপ্ত হয় দূরে, কারণ যদি আপনি এই ভাবে আমার মনে হয়, ফেসবুক পায় বিলিয়ন পাতা দিনে হিট - যে ভালো কিছু ছবি - তাই একজন প্রোগ্রামার মাত্র মলদ্বারে হতে কি যদি স্পেস বার সময় ঠিক এক অতিরিক্ত কোড কিছু লাইন ইন্ডেন্ট অত্যন্ত আরো অনেক আঘাত? নিহিতার্থ কি যদি ফেসবুক অপরিবর্তিত যে হোয়াইটস্পেস বাইট সব তারা ইন্টারনেট দরজা ফেরত পাঠাতে? স্পেস বার আঘাত একবার দেয় আপনার একটি ফাইলের মধ্যে অতিরিক্ত বাইট আপনি. এবং যদি একটা কোটি মানুষ তারপর যাও হোম পেজে যে দিন ডাউনলোড এগিয়ে যান, কিভাবে আরো অনেক তথ্য আছে ইন্টারনেটের মাধ্যমে প্রেরিত? ভাল কারণ ছাড়া একটি গিগাবাইট. এবং ওয়েবসাইটের একটা অনেক জন্য দেয়া হয়, এই যেমন আকার পরিবর্তনযোগ্য সমস্যা হয় না, কিন্তু জন্য ফেসবুক, এর জন্য Google, এর জন্য সবচেয়ে জনপ্রিয় ওয়েবসাইট কিছু মহান উদ্দীপক আছে আর্থিকভাবে আপনার কোড একটি জগাখিচুড়ি অনুরূপ করা যাতে আপনি সম্ভব হিসাবে কয়েক বাইট হিসাবে তারপর এটি সংকুচিতকারী ছাড়াও ব্যবহার করছেন পিন মত ব্যবহার করে, একটি অ্যালগরিদম নামক gzip, যে ব্রাউজার আপনার জন্য স্বয়ংক্রিয়ভাবে আছে. কিন্তু এটা ভয়ঙ্কর. আমরা অন্যান্য ব্যক্তিদের এর ওয়েবসাইটে সম্পর্কে কিছু জানতে না এবং কিভাবে ওয়েব পেজ ডিজাইন করব যদি আমরা এটা ভালো যাও চেহারা আছে. সুতরাং ভাগ্যক্রমে, এই দিন এবং Chrome-IE ও Firefox মত ব্রাউজার বিল্ট ইন বিকাশকারী সরঞ্জাম সঙ্গে সাধারণত আসে. বস্তুত, যদি আমি কি এখানে নিচে এলিমেন্ট বা যদি পরিদর্শন আমি ডেভেলপার দেখুন, যান, ডেভেলপার সরঞ্জাম এবং স্পষ্টভাবে যান, আমার পরে পর্দায় নীচের অংশে এই উইন্ডোটি এখন পপ আপ. এটা প্রথমে কিছুটা ভয় দেখিয়ে কারণ এখানে আছে অপরিচিত ট্যাব অনেক, কিন্তু যদি উপাদানসমূহ আমি নীচে বাঁদিকে উপস্থিত সমস্ত উপায় ক্লিক করুন, ক্রোম সম্ভবত বেশ স্মার্ট. এটা জানে না কিভাবে এই কোড সমস্ত ব্যাখ্যা করা. তাই কি ক্রোম আছে এটা সাফ করে ফেইসবুক এর HTML-এর সব শেষ. যদিও আছে সেখানে হোয়াইটস্পেস না, আছে সেখানে খাঁজ না, এখন লক্ষ্য করা যে আমি এই ওয়েব পৃষ্ঠাটি আরো hierarchically নেভিগেট করা শুরু করতে পারবেন. এটা পরিনত হয় যে প্রত্যেক ওয়েব পেজ নামক একটি ভাষা HTML5-এ এই লেখা দিয়ে শুরু করা উচিত, এই DOCTYPE ঘোষণা, তাই কথা বলতে: এটা হালকা ধূসর এবং সেখানে কোন ধরনের, কিন্তু যে এর কোড প্রথম এই ফাইলটি লাইন, এবং যে ব্রাউজার বলে, "আরে, এখানে কিছু HTML5 আসে. এখানে একটি ওয়েব পাতা আসে." প্রথম যে বহুদূরে খোলা বন্ধনী এই জিনিস, একটি খোলা বন্ধনী HTML ট্যাগটি হতে হবে, এবং তারপর যদি আমি গভীর মধ্যে আকর্ষণীয় - এইসব তীরচিহ্ন হয় সম্পূর্ণ অর্থহীন; শুধু উপস্থাপনার দোহাই জন্য তারা, তারা আসলে ফাইলে না - ফেসবুক এর জন্য HTML ট্যাগের ভিতরে যে, কিছু একটা খোলা বন্ধনী দিয়ে আরম্ভ করা হয়, লক্ষ্য করা এবং তারপর একটি শব্দ একটি ট্যাগ বলা হয়েছে. তাই HTML ট্যাগটি ভিতরে দৃশ্যত একটি head ট্যাগ এবং শরীরের ট্যাগ. মাথা ট্যাগের ভিতরে এখন একটি ফেসবুক জন্য সমগ্র জগাখিচুড়ি কারণ তারা মার্কেটিং এবং বিজ্ঞাপনের জন্য মেটাডেটা এবং অন্যান্য জিনিসের অনেক আছে. কিন্তু যদি আমরা নিচে স্ক্রল, ডাউন, ডাউন, ডাউন, যাক এর যেখানে এটা দেখুন. এটা এখানে. এটি অন্তত কিছুটা পরিচিত. ফেসবুক এর হোম পৃষ্ঠার শিরোনাম, যদি আপনি কি কখনও ট্যাবে আপনার শিরোনাম বারের মধ্যে চেহারা, স্বাগতম হয় ফেসবুক - ইন, লগ ইন বা সাইন আপ আরো জানুন. এটা কি আপনি Chrome এর টাইটেল বারে দেখতে হবে, এবং যে কি ভাবে কোড এর মধ্যে প্রতিনিধিত্ব. আমরা যদি মাথায় অন্য সবকিছু উপেক্ষা করা, একটি ওয়েব পৃষ্ঠার নাড়িভুঁড়ি অধিকাংশ শরীর আছে, এবং এটি সক্রিয় আউট যে ফেসবুক এর কোড আরো জটিল চেহারা হবে অধিকাংশ জিনিস তুলনায় প্রাথমিকভাবে আমরা কেবল কারণ এটি করা হয়েছে বছর ধরে নির্মিত আপ লিখতে হবে, কিন্তু একটি স্ক্রিপ্ট ট্যাগ সমগ্র অনেক, জাভাস্ক্রিপ্ট কোড আছে, যে ওয়েবসাইট খুব ইন্টারেক্টিভ: অবস্থা ভালো তাত্ক্ষণিকভাবে জাভাস্ক্রিপ্ট ভাষা ব্যবহার করা দেখছি. কিছু নামক একটি div, যা একটি পাতা একটি বিভাগ আছে. কিন্তু আগে যে আমরা বিস্তারিত পেতে, আসুন যাও জুম আউট চেষ্টা একটি ফেসবুক 1.0 এর সহজ সংস্করণ এবং এ, চেহারা তাই কথা বলতে. এখানে হ্যালো ওয়েব পেজ, দুনিয়া. এটা খুব উপরের যে DOCTYPE ঘোষণা করেছে যা অন্য সব কিছুর থেকে একটু ভিন্ন. কিছুই অন্যথায় আমরা একটি ওয়েব পাতা মধ্যে লিখুন <সঙ্গে শুরু হতে চলেছে! ছাড়া যে লাইন আছে এবং ব্যতীত জন্য কিছু বলা HTML এ মন্তব্য. কিন্তু অধিকাংশ অংশ জন্য, একটি ওয়েব পাতা সবকিছুই খোলা বন্ধনী, অভিব্যক্তি, বন্ধ বন্ধনী. এই ক্ষেত্রে আপনি ওয়েব পেজ সম্ভব সহজ দেখতে পারেন. এইচটিএমএল ট্যাগ একটি head ট্যাগ রয়েছে এবং এটা একটা শরীর ট্যাগ রয়েছে, কিন্তু লক্ষ্য করা যে শুরু ট্যাগ এবং প্রতিরোধক এই ধারণা আছে. এটি HTML-এর জন্য স্টার্ট ট্যাগ, এই পাসে ট্যাগ ট্যাগ বা শেষ. উল্লেখ্য, তারা অর্থে করছি opposites ধরণের যে ট্যাগ বন্ধ বা এন্ড ট্যাগ এই ফরোয়ার্ড এর নিজে এর ভিতরে কাট. ইতিমধ্যে, একটি খোলা মাথা এখানে ট্যাগ এবং একটি ঘনিষ্ঠ মাথা এখানে ট্যাগ আছে. এখানে আছে একটি খোলা একটি বন্ধ শিরোনাম ও ট্যাগ শিরোনাম. যে আমি এক লাইন, কেবল অবাধ শিরোনাম রেখেছি. এটা ঠিক লাগছিল মত এক লাইন সুন্দরভাবে মাপসই করা হবে, তাই আমি কয়েক বার লিখুন আঘাত না করে বিরক্ত. এদিকে, শরীরের ভাবা অত্যন্ত স্পষ্ট হতে ইন্ডেন্ট. উল্লেখ্য যে HTML এর একটি চমত্কার মূক ভাষা. আসলে, পিঠ দিন আগে WYSIWYG এডিটর ছিল এবং মাইক্রোসফট ওয়ার্ড যেখানে আপনি, বলতে পারে "এই সাহসী না, এই italics, না" আপনি আসলে রচনাগুলিকে সামান্য কমান্ড 20 + বছর আগে টাইপ হবে যেখানে আপনি বলতে হবে, "শুরু করার এই পাঠ্য বোল্ড. তৈরীর এই পাঠ্য বোল্ড থামুন." "এই টেক্সট italics তৈরীর শুরু.. এই টেক্সট italics তৈরীর থামুন" এটা কি কোনো এইচটিএমএল অথবা মার্কআপ ভাষা. এই প্রথম ট্যাগ বলে, "আরে, এখানে ব্রাউজার. কিছু HTML এ আসে." পরের ট্যাগ বলে, "আরে, এখানে ব্রাউজার. মাথা, আমার ওয়েব পৃষ্ঠার হেডারে আসে." "আরে, এখানে ব্রাউজার. শিরোনাম আসে." এখানে ওভার এবং তারপর, "আরে, ব্রাউজার. যে এটি শিরোনামের জন্য." তাই এই ভাবে ব্রাউজারে আর হ্যালো বেশী অক্ষর প্রদর্শন জানে, বিশ্ব শিরোনাম বার. এদিকে, এই বলে, "যে মাথা জন্য এটা." এই বলে, "এখানে শরীর আসে এখানে প্রকৃত শরীর." - এর আক্ষরিক, শব্দ হ্যালো, দুনিয়া. এবং এখানে এই বলে, "এটা শরীরের জন্য এটি. যে HTML-এর জন্য এটা." তাই ব্রাউজারে হয় চমত্কার বোবা. তারা শুধু এই স্টাফ উপর থেকে নিচ, ডানে বামে যাও, পড়তে এবং তাতে, তারা কি করবেন ঠিক বলা হয়. এর প্রকৃতপক্ষে একটি সামান্য উদাহরণ এখানে করুক না. আমাকে প্রোগ্রামের আমার Mac-সহজ খুলুন এখানে আপ, যথা TextEdit. উইন্ডোজ অন Notepad.exe আপনি ব্যবহার করতে পারেন. কিন্তু এই সমস্ত আপনি ওয়েব পেজ তৈরীর শুরু করা দরকার. আমি এগিয়ে যান এবং মাত্র কপি এবং এই ফাইলের মধ্যে এই কোড কপি করে পেস্ট যাচ্ছি. আমি এগিয়ে যান এবং আমার ডেস্কটপে সংরক্ষণ করতে চলেছি, এবং আমি এই hello.html হিসাবে সংরক্ষণ করতে চলেছি, এবং এখন ফাইলটি hello.html নামকরণ করা হয়. এটা এখানে আমার ডেস্কটপের হয়. আমাকে এখন একটি ব্রাউজারের মধ্যে যান এবং ব্রাউজারের মধ্যে ফাইল টেনে আনুন. এবং voila এখানে, এটা আমার প্রথম ওয়েব পৃষ্ঠা. যে ট্যাব শিরোনাম হ্যালো হল উল্লেখ্য, প্রতি শিরোনাম ট্যাগ হিসাবে দুনিয়া, এবং যে বিজ্ঞপ্তি হ্যালো, পৃথিবী আমার ওয়েব পৃষ্ঠার শরীর, এবং হুররে, আমি ইন্টারনেট ব্যবহার করছি. আমি নই, কারণ এই ফাইলটি ইন্টারনেটে না সত্যিই, ডান না. এটা আমার স্থানীয় হার্ড ড্রাইভে যে নির্দিষ্ট পথ থাকতে হবে. কিন্তু ধারণা করা হয় একই. সমস্ত আমরা এখন যা দরকার তা হল একটি ওয়েব সার্ভার যা তা আপলোড করুন. কিন্তু প্রথম দিন এর আসলে একটু জটিলতা এবং আরো একটু বেশি stylization পরিচয় করিয়ে দিতে. এটি একটি সহজ, যদি বিরক্তিকর, ওয়েব পৃষ্ঠা. এটি সক্রিয় আউট ট্যাগ আমরা ব্যবহার করতে পারেন অন্যান্য ধরনের আছে. উদাহরণস্বরূপ হলুদ এখানে, আমি 2 ট্যাগ নতুন চালু করেছি. আমরা এইসব আজ অনেক খেলা না, কিন্তু লক্ষ্য করবেন যে লিঙ্ক ট্যাগ একরকম দেখায় অন্য সব কিছুর থেকে ভিন্ন. লিঙ্ক ট্যাগ লাগে কি গুণাবলী বলা হয়, এবং একটি বৈশিষ্ট্য হল যে কিছু একটা ট্যাগের আচরণ পরিবর্তন করা যাবে. এই ক্ষেত্রে, কারণ এটা একটা ধরনের অর্থহীন নাম, লিংক সবচেয়ে ভাল পছন্দ না, কিন্তু এই লিঙ্কটি ট্যাগ বলছেন, মূলত, ফাইলের আমার ওয়েব পাতা ভিতর বলা styles.css অন্তর্ভুক্ত. আপনি সি # এর অন্তর্ভুক্ত এই ডিরেক্টিভের অনুরূপ হিসাবে মনে করতে পারেন. Styles.css সর্বতোভাবে একটি ভিন্ন ভাষা উল্লেখ করে যে আমরা আজকের খেলা না করা হয়, কিন্তু এর জন্য নন্দনতত্ব: ফন্ট সাইজ, রং, প্যাডিং, খাঁজ, মার্জিন, এবং নন্দনতত্ব বিবরণের যে ধরনের সব. এদিকে, স্ক্রিপ্ট ট্যাগটি বৈশিষ্ট্যগুলি অনুরূপ, কিন্তু বদলে CSS এর মধ্যে, যে ভাষা, এটি অন্য ভাষা, জাভাস্ক্রিপ্ট অন্তর্ভুক্ত. সুতরাং এই 2 ট্যাগ সঙ্গে অন্য ভাষায় বললে, ঘটনাচক্রে আমি কি আমার নিজের ওয়েব পাতা লিখতে সমর্থ করা কিন্তু কোড কমান যে আমি বা অন্য কারোর লিখিত করেনি যাতে আমরা তা অন্যান্য ব্যক্তিদের এর কাঁধের স্ট্যান্ড করতে পারবেন না, আমরা ভালো নকশা অনুশীলন করতে পারেন, সাধারণ কোড আউট ফ্যাক্টরিং. যদি আমি 10 বিভিন্ন ওয়েব পেজ পেয়েছেন, এর মানে হল যে আমার কিছু নন্দনতত্ব অনেক # একটি পৃথক ফাইলে অন্তর্ভুক্ত করে, যেমন করেছিল আউট হতে পারে. তাই সেখানে আমরা পেয়ে থাকেন. কিন্তু যাক এর প্রথম আসলে কিছু এই ফাইলটি সঙ্গে আরো আকর্ষণীয় না. আবার, এই মাত্র TextEdit. আমি এখনো ইন্টারনেট, টেকনিক্যালি না কিন্তু আমরা করব না. আমি হ্যালো, বিশ্বের একটু সাহসী তুলনায় এটা করতে চাই. তাই হ্যালো, আমি কি ইচ্ছামত গাঢ় জন্য বলে. আবার, একই বিবরণ: হ্যালো, কমা, যার ফলে এই সাহসী শুরু, তারপর গাঢ় হরফে দুনিয়া, মুদ্রিত এবং এই অর্থ সাহসী এই মুদ্রণ থামাতে হয়. সম্পর্কে এগিয়ে যান এবং আমার ফাইল সংরক্ষণ, Chrome-এ ফিরে যাওয়া যাক, আমি ঠিক তাই আমরা এটা ভাল সেটা দেখতে পারেন জুমইন করব, এবং, পুনরায় লোড করুন এবং আপনি যে বিশ্বে সাহসী এটি এখন দেখতে পাবেন. ওয়েব সমস্ত হাইপারলিংক সম্পর্কে হয়, তাই আসুন এগিয়ে যান এবং এই করুন: আমার প্রিয় ওয়েবসাইট হয়, এর কথা বলা যাক, youtube.com. , সংরক্ষণ পুনরায় লোড করুন. ঠিক আছে. এখন একটি ওয়েবসাইটের hideousness ছাড়াও দম্পতি সমস্যা আছে. 1, আমি নিশ্চিত আমি সুন্দর আঘাত এখানে লিখুন. এবং আমি. আমি শুধু আঘাত, আমি লিখুন এছাড়াও সংভৃত, অনুশীলন কি আমরা শৈলী সম্বন্ধে হয়েছে করেছি প্রচারক, কিন্তু আমার বিশ্বের অধিকার পরের. সুতরাং কেন এই? ব্রাউজারে শুধুমাত্র কি আপনি তাদের কি বলবেন. আমি, বলা ব্রাউজার নি "এখানে লাইন ব্রেক. অনুচ্ছেদ এখানে বিরতি ঢোকান." ব্রাউজার, তাই এটা যদি আমি 30 বার ফিরে আঘাত ব্যাপার না, এটা এখনও আমার ডান পাশে দুনিয়া করা যাচ্ছে. আমি কি সত্যিই কি এখানে আছে কিছু ভালো হয় বলে
, একটি লাইন বিরতি সন্নিবেশ করুন. এবং প্রকৃতপক্ষে, একটি লাইন বিরতি একটি অদ্ভুত ধরনের জিনিস কারণ আপনি চলন্ত অন্য লাইনে যাও শুরু করতে পারে না, তারপর কিছু একটা, এবং তারপর চলন্ত একটি নতুন লাইন বন্ধ করার জন্য. এটি একটি পারমাণবিক অপারেশন ধরনের. হয় আপনি এটা করতে বা আপনি না. আপনি Enter বা আপনি না. তাই একটি একটি br বিভিন্ন ট্যাগ সামান্য বিট, এবং যাতে আমি উভয় খোলা এবং বন্ধ সাজাতে প্রয়োজন আচমকা. যে জন্য এই সিন্টেক্স হল. টেকনিক্যালি, আপনি কিছু HTML সংস্করণের মধ্যে ভালো কিছু করতে পারে, কিন্তু এই একটা মূঢ় কারণ কোনো কারণ এবং কিছু শুরু থামাতে আছে যদি আপনি পরিবর্তে একযোগে এটি সব করতে পারেন. বুঝি যে HTML5 এই স্ল্যাশ কঠোরভাবে প্রয়োজন নেই, যাতে আপনি পাঠ্যবই এবং অনলাইন রিসোর্স যে এটি নেই দেখতে হবে, কিন্তু ভাল পরিমাপ জন্য আসুন আমরা যে প্রতিসাম্য দূর পর্যন্ত দেখা অভ্যাস করেছি. এর অর্থ এই যে ট্যাগ উভয় খোলা এবং বন্ধ. সুতরাং এখন আমাকে আমার ফাইলটি সংরক্ষণ করুন এখানে ফিরে যান. ঠিক আছে, তাই এটা আমি জানি ওয়েব ছাড়া চেহারা ভালো, এর শুরু হয় ধরনের যোগ্য, এবং এখনো ইউটিউব এখানে কিছু হতে যাও বলে মনে হচ্ছে না. এর কারণ যদিও এটি একটি লিঙ্ক মত দেখাচ্ছে, ব্রাউজার যা অপরিহার্যভাবে না জানে, তাই আমি এই ব্রাউজার যা হল একটি লিঙ্ক জানাতে হবে. উপায় এই না একটি নোঙ্গর ট্যাগ ব্যবহার করা হয়: <অধি রেফারেন্স, যা পুরানো একটি লিঙ্ক বলছে স্কুল উপায় জন্য একটি href, = "Http://www.youtube.com"> এবং আমার একটি নতুন লাইন এই ঠিক তাই সরাতে আর কিছুটা আরো পাঠযোগ্য, এবং আমি ফন্টের আকার সঙ্কুচিত করা হবে. আমি এখনও? নং যাচ্ছে এই বৈপরীত্য আছে বলে মনে হয় না. এই ট্যাগটি, নোঙ্গর ট্যাগ, কিন্তু প্রকৃতপক্ষে একটি বৈশিষ্ট্য নিতে, যা তার আচার - আচরণ পরিবর্তন করা, এবং যে বৈশিষ্ট্য মান দৃশ্যত YouTube এর URL টি. কিন্তু বৈপরীত্য লক্ষ্য করা হয় যে মাত্র কারণ যে URL-টি আপনি যাচ্ছেন, যে যে শব্দ যে আপনি এবং নিম্নরেখাঙ্কিত একটি লিঙ্ক তৈরি করছেন করা হয়েছে মানে এই নয়. বরং, যে ভালো কিছু হতে পারে. সুতরাং আমি যার জন্য এই ট্যাগ ব্যবহার করে একটি শব্দ বন্ধ নোঙ্গর হাইপারলিংক থামাতে বলার আছে. আমি এই কাজ করছি না লক্ষ্য করুন. 1, ঠিক এই সময় হতে সবাই এর বিস্তার এবং এটি এর প্রয়োজন হবে না. একটি ট্যাগ বন্ধ, কেবল আপনার ট্যাগের নাম উল্লেখ আবার. আপনি গুণাবলী কোন উল্লেখ করবেন না. সুতরাং এর সংরক্ষণ করতে দিন যে, ফিরে যান. ঠিক আছে, এখন voila, এটা নীল এবং হাইপারলিঙ্ক করাটি. যদি আমি এটা ক্লিক করুন, আমি আসলে YouTube-এ যান না. তাই যদিও আমার ওয়েব পাতা ইন্টারনেট হয় না, এটা অন্তত এইচটিএমএল, এবং যদি আমরা ইন্টারনেট ধরতে যাক, আসলে আমরা শেষ youtube.com এ পর্যন্ত এখানে হবে. এবং আমি ফিরে যান এবং এখানে আমার ওয়েব পাতা পারেন. কিন্তু এই বিজ্ঞপ্তি. আপনি যদি কখনও স্প্যাম অথবা একটি ফিশিং আক্রমণ করেছি অর্জিত, এখন আপনি মাত্র পাঁচ মিনিট পরে একই কাজ করার ক্ষমতা আছে. আমরা এখানে যান এবং www.badguy.com ভালো কিছু করতে পারি বা যাই হোক না কেন ক্রটিযুক্ত ওয়েবসাইট, এবং তারপর আপনি আপনার পেপ্যাল ​​একাউন্ট যাচাই করতে বলতে পারেন. [হাস্য] এখন আর এই badguy.com, যা আমি ক্লিক যাচ্ছি না যেতে হবে কারণ আমি যেখানে কোন ধারণা আছে যে বাড়ে. [হাস্য] কিন্তু এখন আমরা আসলে শেষ পর্যন্ত সেখানে ক্ষমতা আছে. সত্যিই তাই আমরা ঠিক করছি পৃষ্ঠ স্ক্র্যাচ শুরু. আমরা মার্কআপ ভাষা করছি লেখা; আমরা কোনটাই করছেন প্রোগ্রামিং না. কিন্তু আমরা যত শীঘ্র সুসম্পন্ন HTML এ আমাদের শব্দভান্ডার আউট, আমরা পিএইচপি, একটি প্রকৃত প্রোগ্রামিং ভাষা পরিচয় করিয়ে দেব যা আমাদের এইচটিএমএল স্বয়ংক্রিয়ভাবে উত্পন্ন করতে সক্ষম হবেন সিএসএস স্বয়ংক্রিয়ভাবে উত্পন্ন করবে, যাতে আমরা বাস্তবায়ন বুধবার, লাগা বলতে পারেন, আমাদের নিজস্ব সার্চ ইঞ্জিন এবং আরো. দিন দুয়েক যে আছে আরো. আমরা তখন আপনি দেখতে পাবেন. [CS50.TV]