হান্না Blumberg: হাই সবাই. আমরা শুরু করতে যাচ্ছেন মিনিট মাত্র কয়েক তাড়াতাড়ি আমরা একটি সম্পূর্ণ অনেক আছে, যেহেতু উপাদানের মাধ্যমে পেতে. আমি হানা আছি. আমি একটি TF আছি. মারিয়া যোগদান করা যাচ্ছে আমাদের মাত্র কয়েক মিনিটের মধ্যে. তিনি ডান আগে অধ্যায় শেখায়. আমি বিভাগে সঠিক শেখান পরে, তাই আমরা চলুন ঘন্টা এবং একটি অর্ধ এটি রাখা. আপনি এখানে দেখতে পাবেন তাই, আমরা বেশ আছে কয়েক বিষয় আমরা মাধ্যমে পেতে প্রয়োজন তাই আমরা দ্রুত একটি সামান্য বিট চালু করা হবে. কিন্তু যে কোনো স্থানে যদি আমরা কিছু বলতে খুব দ্রুত বা আপনি বুঝতে পারছেন না, প্রশ্নের সাথে নির্দ্বিধায় ছিন্ন করা. আমরা এই একটি করতে সক্ষম হতে চান আপনাকে সব থেকে উপযোগী হিসেবে অধিবেশন পর্যালোচনা যতটুকু সম্ভব. অসাধারণ. তাই এর সঙ্গে সঠিক ঝাঁপ দেওয়া কিছু বিষয় যে আমরা আসলে খুব, খুব সংক্ষেপে জন্য আচ্ছাদিত ক্যুইজ 0 পর্যালোচনা অধিবেশনে প্রশ্নোত্তর 0. তাই লিঙ্ক তালিকা দিয়ে শুরু. সুতরাং আপনি কিছু আছে কি না নিশ্চিত করতে লিঙ্ক তালিকা সম্পর্কে মৌলিক জ্ঞান এবং করছেন আরামদায়ক হয় মৌলিক অপারেশন কিছু. তাই শুধু, পর্যালোচনা লিঙ্ক করতে তালিকা অ্যারে বেশী ভালো হয় তারা পরিবর্তনশীল অবধি প্রসারণ করা সম্ভব, কারণ. তাই আমরা যে বিশাল সুবিধা আছে. আমরা তাদের ব্যবহার দেখা করেছি হ্যাশ টেবিল এ যখন আমরা ঠিক কতজন জানি না কিছু আমরা চাই চলুন আমাদের তথ্য গঠন মধ্যে সন্নিবেশ করার. দুর্ভাগ্যবশত, আমরা টুকরা আছে সব স্মৃতি ধরে লিঙ্ক তালিকা, তাই আমরা অগত্যা হবে না ধ্রুব সময় এক্সেস করতে পারবেন লিঙ্ক তালিকায় কোনো উপাদান. একটি অনুসন্ধান করার জন্য বিশেষ উপাদান, আমরা সব পুনরুক্তি আছে শুরু থেকে উপায়. তাই মনে রাখা অধিকাংশ যে মৌলিক অপারেশন 1 ওমেগা হয়. সুতরাং সন্নিবেশ শুধু 1 নিতে যাচ্ছে. মুছে নিতে এন আমরা যেহেতু যাচ্ছে তালিকা থেকে তা খুঁজে যেতে হবে. আর সার্চ এন, নাহয়, নিতে পারে. আমরা ভালো কিছু করতে পারবেন না একটি লিঙ্ক তালিকা বাইনারি অনুসন্ধান যেহেতু আমরা না ঠিক করতে পারেন এলোমেলোভাবে মাঝখানে ঝাঁপ. কুল. অসাধারণ. Stacks এর একটি সামান্য বিট. এই, আবার ব্যঙ্গ 0 এসেছেন, আপনি এ এটি দিয়ে সুপার আরামদায়ক হওয়া উচিত. কিন্তু stacks জন্য, আমরা আপনার জিজ্ঞাসা ট্রে একটি স্ট্যাক মনে রাখা. এবং এটা প্রথম হতে যাচ্ছে, সুস্থসবল. তাই আমরা কিছু আপ গাদা স্ট্যাকের মধ্যে, এবং তারপর আমরা কিছু গ্রহণ করার চেষ্টা করছি আমরা off-- বন্ধ পপিং কল যা স্ট্যাক আমরা উপরে খসা. এবং আমরা কিছু লাগাতে চান তাহলে স্ট্যাকের মধ্যে, আমরা এটি কল ঠেলে. তাই হতাশ হই উদ্ভিন্ন করা যাচ্ছে ট্রে একটি স্ট্যাক মত নিচ থেকে. অসাধারণ. আমরা দেখা stacks এর প্রয়োগ করেছি উভয় লিঙ্ক তালিকা এবং অ্যারে সঙ্গে. আপনি রূপায়ণকারী করছি অ্যারে দিয়ে, আপনি চান ট্র্যাক রাখা নিশ্চিত করতে আকার ও ক্ষমতা উভয়. তাই সাইজ বর্তমান হতে যাচ্ছে আপনার স্ট্যাকের মধ্যে কিছু সংখ্যা, ক্ষমতা যেহেতু মোট সংখ্যা জিনিস আপনি আপনার স্ট্যাকের মধ্যে সংরক্ষণ করতে পারেন. কুল. খুব একভাবে, আমরা সারির আছে. এই ক্ষেত্রে, পরিবর্তে সম্পরকে ট্রে একটি স্ট্যাক, একটি লাইন মনে. এই প্রথম, প্রথম হতে যাচ্ছে. আপনার জন্য আবরণের আপ করছি সুতরাং দোকানে কিছু, আমরা আশা করি ব্যক্তির প্রথম যে লাইন প্রথম সাহায্যপ্রাপ্ত হতে যাচ্ছে. পরিবর্তে ধাক্কা বলছে এবং আমরা স্ট্যাকের জন্য কি মত পপ, আমরা শুধু সারিবদ্ধ এবং dequeue বলে. এবং আবার, আপনি যদি একটি অ্যারের সাথে এই বাস্তবায়ন, আমরা অবগত রাখা প্রয়োজন এর না শুধুমাত্র আকার ক্ষমতা, কিন্তু মাথা, এবং যা আমাদের কিউ সামনে হতে যাচ্ছে. কুল. যে কোনো কোনো প্রশ্ন? অসাধারণ. ডান বরাবর মুভিং. ঠিক আছে, হ্যাশ টেবিল. এটা শুরু হয় এখানে যেখানে সত্যিই আকর্ষণীয় পেতে. সুতরাং একটি হ্যাশ টেবিল এক বাস্তবায়ন একটি মিশুক অ্যারের. তাই মূলত কি ঘটেছে সকলে এই ইনপুট আছে হয়, এবং আমরা একটি হ্যাশ তা দিতে বলেছেন যা ফাংশন, ঠিক আছে, এই যেখানে হয় হ্যাশ টেবিল এটি জন্যে. সহজ হ্যাশ ফাংশন তাই আমরা শুধু বলছে না দেখে থাকেন যে, ঠিক আছে, আমরা লাগাতে চাইছেন আমাদের হ্যাশ টেবিল স্ট্রিং. আর সত্যিই একটি সহজ ধারণা ঠিক আছে, বলতে হতে পারে, এর মাত্র দ্বারা বাছাই দিন শব্দের প্রথম অক্ষর. আপনি এখানে দেখতে পারেন, তাই, আমরা কলা নিতে আমরা একটি হ্যাশ ফাংশন মাধ্যমে এটা করা এবং এটা যে, আরে, বলছেন সূচক 1 এ যেতে হবে. তাই আমরা মূলত একটি হ্যাশ মনে করতে পারেন বিভিন্ন buckets একটি গুচ্ছ হিসাবে টেবিল. এবং যারা একটি buckets প্রতিটি যাচ্ছে একটি লিঙ্ক তালিকা মাথা রাখা. এবং যে লিঙ্ক তালিকায় যেখানে আমরা হয় আসলে তথ্য বিভিন্ন টুকরা করা. সুতরাং ডাইভিং একটি সামান্য বিট আরো একটি হ্যাশ ফাংশন মধ্যে, এখানে উদাহরণস্বরূপ আমি শুধু আমরা শুধু বলতে যেখানে বর্ণিত, ঠিক আছে, প্রথম চিঠি গ্রহণ আমরা করছি এবং শব্দের buckets মধ্যে তা বাছাই করতে যাচ্ছে. তাই সম্ভবতঃ, 26 buckets আছে হবেন, বর্ণমালার প্রতিটি অক্ষর জন্য এক. কেন এই একটি মহান হ্যাশ ফাংশন নয়? কি এই অ আদর্শ তোলে? হ্যা. শ্রোতা: আপনি যাচ্ছেন দুর্ঘটনায় আছে. হান্না Blumberg: হাঁ, ঠিক. আপনি collisions আছে চলুন. সুতরাং যে এক জিনিস. কিভাবে আমরা করতে পারেন এবং আমরা যে বিষয়ে কথা বলতে পারবেন শুধু এই একটি দ্বিতীয় দুর্ঘটনায় ঠিক. এই সঙ্গে আরেকটি সমস্যা বিশেষ হ্যাশ ফাংশন আমাদের বিভিন্ন যে হয় বালতি হতে যাচ্ছে এর বেশ আয়তন বহুলাংশে বিভিন্ন আকারের. আমরা একটি সম্পূর্ণ অনেক আছে জানি এক্স তুলনায় দিয়ে শুরু যে শব্দ, তাই আমরা খুব আছে চলুন আমাদের হ্যাশ টেবিল ভারসাম্যহীন বালতি. কুল. তাই হ্যাঁ, এর ফিরে পেতে দুর্ঘটনায় বিন্দু. সংঘর্ষের আছে তাহলে আমরা কি করব? আমরা একটি দম্পতি বিভিন্ন অপশন আছে. তাই এক, তাই আমরা চেষ্টা করছি অনুমান আমাদের হ্যাশ টেবিল মধ্যে বেরি করা. আর আমরা ওহ, আমরা চাই, দেখতে সূচক 1 লাগাতে, কিন্তু কলা ইতিমধ্যেই সেখানে বসবাস. আমরা কি করতে যাচ্ছি? আমরা দুটি প্রধান অপশন আছে. এক নম্বর ঠিক আছে, আমরা বলতে পারেন, সূচক 1 কোন রুম আছে, কিন্তু এর মাত্র মাধ্যমে খুঁজছেন রাখা যাক আমরা অন্য খোলা স্পট খুঁজে পেতে পারেন না হওয়া পর্যন্ত. সুতরাং আমরা, ঠিক আছে, বলবো এর স্পট 3 লাগাতে হবে. যে এক বিকল্প. যে অনুসন্ধান রৈখিক বলা হচ্ছে. এবং একটি দ্বিতীয় বিকল্প, আচ্ছা, ঠিক আছে, বলার অপেক্ষা রাখে না এর ঠিক এই buckets প্রতিটি করতে দিন লিঙ্ক তালিকা প্রধান হতে. এবং এটা আরও আছে তাহলে ঠিক আছে একটি বালতি এক জিনিস চেয়ে. আমরা শুধু চলুন সামনে সম্মুখের তা লিখবেন. তাই এখানে আপনি ঠিক আছে, দেখতে পারেন, আমরা বেরি ঢোকানো হলে, আমরা শুধু ধরনের, কলা গ্রহণ একটি সামান্য বিট উপর এটি push করা এবং সেখানে একটি বেরি ছুড়ে. এবং যে একেবারে সূক্ষ্ম. এই পৃথক chaining বলা হয়. আপনি যেমন ধরনের মত মনে করতে পারেন সংযুক্ত তালিকা মাথা একটি অ্যারের. হ্যাশ উপর কোন প্রশ্ন টেবিল, হ্যাশ ফাংশন? অসাধারণ. গাছ এবং চেষ্টা করে. সুতরাং একটি বৃক্ষ কোনো সাজানোর তথ্য কাঠামো যা কিছু সাজান আছে অনুক্রমের অথবা কিছু ধরণের আপনার বিভিন্ন বস্তুর র্যাংকিং. এবং এই সুপার হয়ে যাবে স্পষ্ট আমরা একটি উদাহরণ দেখতে হলে. আর আমরা বরাবর, চেষ্টা দেখেছি হ্যাশ টেবিল সহ, pset5-- মধ্যে যা, আবার একেবারে পরিষ্কার খেলা এই আরেকটি তথ্য হিসাবে quiz-- জন্য কাঠামো যে আমরা যা করতে পারেন বিভিন্ন জিনিষ সংরক্ষণ. অভিধানের যদি, আমরা শব্দের একটি গুচ্ছ সংরক্ষিত. সুতরাং আসুন কিছু গাছ কটাক্ষপাত করা যাক. সুতরাং এই একটি গাছ একটি উদাহরণ. এটা কাঠামো এক ধরনের আছে হায়ারারকিকাল গঠন, যে আপনি দেখতে পারেন যেখানে উপরের এই 1 নোড , 2 এবং 3 উপরে র্যাঙ্ক কিছু বাছাই করা হয়েছে যা হয় 4, 5, 6 ও 7 উপরে, যা 8 এবং 9 উপরে হয়. যে সব সুতরাং আমরা একটি দ্বারা অর্থ বৃক্ষ, আপনি তাই শুধু ধরনের আপনার মাথার মধ্যে এই ছবি. এখন, আমরা একটি দম্পতি আছে আরো বিশেষ গাছ. সুতরাং একটি উদাহরণ একটি বাইনারি ট্রি হয়. আর একটি বাইনারি ট্রি, হয় আবার, শুধু হতে যাচ্ছে কিছু সাজানোর সঙ্গে একটি ডাটা স্ট্রাকচার অনুক্রমের, কিন্তু নোড প্রতিটি সবচেয়ে দুটি সন্তান থাকতে পারে. শব্দ বাইনারি থেকে আসে যে যেখানে. সুতরাং এই একটি বাইনারি ট্রি একটি উদাহরণ. সুতরাং যে গাছ একটি ছোট বিষয়শ্রেণীতে. এখন এর আরও বেশি নির্দিষ্ট পেতে দেওয়া এবং বাইনারি trees-- বাইনারি অনুসন্ধান সম্পর্কে কথা গাছ, বরং. সুতরাং এখানে ধারণা না শুধুমাত্র হয় প্রতিটি নোডের, সবচেয়ে দুটি সন্তান এ আছে কিন্তু শিশুদের সব বাম ছোট হতে যাচ্ছে এবং শিশুদের সব সঠিক বড় হতে যাচ্ছে. তাই শুধু এ লক্ষ্য আমাদের বাইনারি ট্রি, আছে সংখ্যার মধ্যে কোন সম্পর্ক. কিন্তু আমাদের বাইনারি অনুসন্ধান বৃক্ষ, আমরা দেখতে, ঠিক আছে, এখানে 44 এর. আর 44-এর বাঁদিক থেকে ভাষার সংখ্যা ডানে ছোট এবং সবকিছু বড়. আর যে ভাষার এ ঝুলিতে গাছের স্তর. তাই এখানে, এই চেয়ে ছোট 22 এবং এই 22 চেয়ে বড়. আর যে বাইনারি অনুসন্ধান বৃক্ষ এর. কেন আমরা এটা বলা কি মনে করেন একটি বাইনারি অনুসন্ধান বৃক্ষ? কি এলগরিদম এটা আপনাকে স্মরণ করিয়ে দেয়? শ্রোতা: বাইনারি অনুসন্ধান. হান্না Blumberg: বাইনারি অনুসন্ধান. আপনি একটি খুঁজছেন কারণ এই বৃক্ষ যে বিশেষ সংখ্যা, প্রতি সময়ে, আপনি শুধু ঠক্ঠক্ করতে পারেন যা মহান বৃক্ষ, এর অর্ধেক বন্ধ. আর তাই যে আমাদের কিছু দিতে যাচ্ছে যে বাইনারি অনুসন্ধান মত অনেক দেখায়. কোন প্রশ্ন? ঠিক আছে, শান্ত. ঠিক আছে, চেষ্টা করে. প্রত্যেকেরই এর প্রিয়. তাই এই উদাহরণে যে আমরা ক্লাসে একটি গুচ্ছ দেখা করেছি. এবং আবার, এই মাত্র আরেকটি হল আমরা তথ্য সংরক্ষণ করতে পারেন যে ভাবে. অভিধানের ক্ষেত্রে, আবার, এই মাত্র স্ট্রিং হতে যাচ্ছে. সুতরাং আসুন আসলে কি এই দেখতে দিন একটি সামান্য কম পর্যায়ে মত দেখায়. তাই এর কটাক্ষপাত করা যাক একটি trie এক নোড. আর আমরা ঠিক আছে, সেখানে যাচ্ছে, দেখতে একটি বুলিয়ান এবং একটি নোড হতে, একটি নোডের একটি পয়েন্টার. আর আমরা দেখতে বুলিয়ান is_word বলা হয়. তাই মূলত, যে মিলা যাচ্ছে এই সামান্য ত্রিভুজ যা আপনি এখানে অর্জিত করেছি, বলেছেন আপনি একটি সম্পূর্ণ শব্দ পেয়েছি. আমরা জানি যে "টুরিং" ওভার এখানে একটি সম্পূর্ণ শব্দ, যেহেতু শুধু টি-ইউ-আর একটি শব্দ নয় আমরা যে একটু ডেল্টা দেখতে না কারণ. এবং যে সামান্য ডেল্টা, আবার, এই is_word অনুরূপ, এই বুলিয়ান is_word. এবং তারপর আমরা শিশুদের একটি অ্যারে আছে. আপনি, প্রতিটি পর্যায়ে তাই একটি বিশেষ নোড আছে, এবং একটি যাও যে নোড পয়েন্ট সমগ্র বর্ণমালার অ্যারে. তাই আপনি আবার দেখতে পারেন, এই picture-- আমি আছি ফিরে জাম্পিং রাখা যাচ্ছে এবং forth-- যে উপরের যে অ্যারে বিভিন্ন একটি গুচ্ছ আছে এটা বন্ধ আসছে নোড. যদি আপনি চান এটা 26, 27 বা আছে একটি অতিরিক্ত অক্ষর অন্তর্ভুক্ত করা. এবং এই আমাদের একটি দেয় আমাদের ডাটা স্টোর থেকে উপায় উপর দিকে তাকিয়ে করা যাবে যে একটি উপায় যে আপনি সুপার ফাস্ট আপ করতে পারেন. একটি trie জন্য লুকআপ সময় কি? শ্রোতা: [শ্রবণাতীত]. হান্না Blumberg: হ্যা. তত্ত্ব, এটা ধ্রুব সময়. এটা শুধুমাত্র মাপ হতে যাচ্ছে আপনি সন্ধান করতে চান যে শব্দ. আমরা একটি অপরিমেয় যোগ এমনকি যদি আমাদের trie আরও কিছু শব্দ, এটা আমাদের নিতে যাচ্ছে না আর নির্ধারণ একটি প্রদত্ত শব্দের Trie হয় তাহলে. সুতরাং যে সত্যিই চমৎকার. শ্রোতা: আপনার কি যে অ্যারের আরম্ভ? আপনি একটি বিন্দু বা দুটি মিস. আপনি শুধু আমার সাথে কথা বলতে পারি একটি দ্বিতীয় জন্য যে? হান্না Blumberg: শিওর, একেবারে. ভালো প্রশ্ন. প্রশ্ন হল, আমরা, ছিল যে একটি অ্যারে আছে হিসাবে নোড তারকা আছে যাচ্ছে ঠিক আছে, শুধু নোড বিরোধিতা? কুল. তাই আমরা এখানে কী বলছে তা আমাদের অ্যারের শুধুমাত্র হয় অন্যান্য অ্যারে পয়েন্টার হতে যাচ্ছে. সুতরাং এটা কোন ধরনের এটি essentially-- হচ্ছে এই ভাবে একটি লিঙ্ক তালিকা মত মতানুযায়ী যেখানে এই শিশুদের প্রতিটি ঠিক পরের নোড নির্দেশ. আর ভাবে যে আমরা আসলে ঠিক আছে, আরে, নির্ধারণ, আমরা একটি সম্পূর্ণ মাধ্যমে iterated করেছি শব্দ, অভিধানে এই শব্দ, আমরা শুধু এই is_word পরীক্ষা. বড় প্রশ্ন. হ্যা. শ্রোতা: ঠিক আছে. সুতরাং Trie জন্য রানটাইম কি ছিল? হান্না Blumberg: শিওর. জন্য একটি trie জন্য রানটাইম তাই লুকআপ ধ্রুব সময় হতে যাচ্ছে. তাই এটা শুধু হতে যাচ্ছে শব্দ অক্ষর সংখ্যা. এটি উপর নির্ভরশীল নয় অভিধান মাপ অথবা ডাটা স্ট্রাকচার মাপ. তাই এখানে একটি সামান্য সহজ উদাহরণ. এই ক্ষেত্রে, আপনি দেখতে পারেন শব্দ ব্যাট অভিধানে হয় এবং আপনি জুম আছে, কিন্তু আপনি চিড়িয়াখানা ভালো কিছু হবে না. কিভাবে আমরা চিড়িয়াখানা করতে হবে? আমরা চিড়িয়াখানা যুক্ত না কিভাবে আমাদের অভিধান, আমাদের trie করতে? হ্যা. শ্রোতা: is_word করুন সত্য [শ্রবণাতীত] জন্য. হান্না Blumberg: গুড. সুতরাং আমরা Z-হে-হে বলতে চাই, এবং তারপর আমরা চাই পাশাপাশি যে বক্স বন্ধ চেক করতে চান. গ্রেট. এর খুব সংক্ষেপে তুলনা করা যাক হ্যাশ টেবিল বনাম চেষ্টা করে. চেষ্টা সত্যিই দুর্দান্ত হয় কারণ, আমরা আগেই বলেছি, তারা ধ্রুবক সময় লুকআপ প্রদান. কিন্তু বিশাল অসুবিধা তারা বিশাল বিশাল করছি. আপনি ধারনা পেতে পারেন, এমনকি এটি এ খুঁজছেন দ্বারা, এটা নিতে যাচ্ছে যে মেমরি বিপুল পরিমাণ. তাই তারা অনেক হতে যাচ্ছেন হ্যাশ টেবিল চেয়ে বড়, কিন্তু তারা দিতে যাচ্ছেন আমাদের অনেক দ্রুত লুকআপ বার. সুতরাং যে ধরনের আপনার নির্ধারণ, আপনি কি, এটি গতি বা মেমরি কিনা. যে কোনো কোনো প্রশ্ন, সি ডাটা স্ট্রাকচার সব. সুন্দর. ঠিক আছে. আমরা একটু উপর সরানো চলুন মারিয়া সঙ্গে ওয়েব ডেভেলপমেন্ট এর বিট. MARIA ZLATKOVA: বাহ. ঠিক আছে. হান্না Blumberg: আপনি আমার ল্যাপটপ ব্যবহার করতে পারেন. MARIA ZLATKOVA: নিস. ঠিক আছে শান্ত হও. আমরা ওয়েব কিভাবে সরানো হিসাবে উন্নয়ন, আমরা একটু সায়ীদ পরিবর্তন অনুমতি সম্পর্কে ফাইল এবং ডিরেক্টরি যাতে তারা সুগম হতে পারে অন্যান্য ব্যবহারকারীদের, বিশ্বের, এবং যাতে আমরা কিভাবে দেখতে পারেন মূলত আমরা তাদের বহন করতে পারেন আমরা ওয়েবসাইটের ভালো জিনিস বিকাশ যখন যে আমরা বেশিরভাগ কাজ করছি. সুতরাং আমরা chmod কমান্ড দেখেছি, যা মূলত, পরিবর্তন মোড. একটি Linux কমান্ড এবং এটা প্রবেশাধিকার অনুমতি পরিবর্তন ফাইল সিস্টেম বস্তুর. এবং একটি ফাইল সিস্টেম বস্তু শুধু একটি তালিকা, একটি ফাইল, কিছু যে আপনি যা করতে পারেন অনুমতি পরিবর্তন. তাই ফাইলের অনুমতি দেখতে, আমরা ls কমান্ড, তালিকা, -l টাইপ. আর আমরা যে টাইপ করেন, তখন আমরা সাধারণত কিছু অনুমতির দেখতে যে এই মত সাজানোর দেখুন একটি ডিরেক্টরির নাম সামনে. সুতরাং D ডিরেক্টরি বোঝায়. এবং তারপর আমরা তিনজন Triads মূলত যে হয় অনুমতি পড়ুন কোনো ব্যবহারকারী, দল, বা বিশ্বের. অনুমতি ধরনের যে আমরা যা করতে পারেন মানুষের এই তিনটি দলের জন্য আছে জন্য W পঠিত জন্য হয় R, হয় লিখুন, এবং চালানো জন্য এক্স. আর আমরা যারা থাকতে পারে গ্রুপ এবং বিশ্বের পাশাপাশি. চতুর জিনিস যে কখনও কখনও হয় আমরা chmod কমান্ড টাইপ করার সময়, আমরা কিছু নম্বর টাইপ করতে হবে যে তিনটি বিট গঠিত. তাই আমরা ভালো করতে পারে 777 এবং যে মূলত যোগ মান উল্লেখ করা এই ত্রয়ী প্রতিটি R 4 পড়ুন হবে, কারণ, W would 2 পড়ুন, এবং এক্স 1 পড়ুন হবে, তাই, প্রতিটি সংখ্যার আপ যোগ করার সময় একটা ক্রমবর্ধমান সংখ্যা নিচে আসতে হবে 0 এবং 7 এর মধ্যে একটা ক্রমবর্ধমান মান. সুতরাং আমরা উদাহরণ 0 হতে পারে সব সময়ে কোন অনুমতির জন্য. এবং যে মূলত আমাদের দিতে হবে হয় ব্যবহারকারীর জন্য অনুমতি, গ্রুপ, বা বিশ্বের. এখন পর্যন্ত এই উপর কোন প্রশ্ন? শ্রোতা: আপনি পড়তে পারলেন 4 ছিল? MARIA ZLATKOVA: হ্যাঁ. শ্রোতা: [শ্রবণাতীত]. হান্না Blumberg: হ্যাঁ. শ্রোতা: এবং তারপর ঐ সমস্ত যুক্ত করে অন্যদের আপনার সংখ্যা নির্দেশ করবে. MARIA ZLATKOVA: হ্যা. হ্যা. এই মহান প্রশ্ন আছে. বাহ. এর পরে, আমরা এইচটিএমএল এবং একটি মধ্যে jumped ওয়েব ডেভেলপমেন্ট সম্পর্কে বিট আরও অনেক কিছু. সুতরাং এইচটিএমএল শুধু মানে হাইপারটেক্সট মার্কআপ ল্যাঙ্গুয়েজ. আর যে মার্কআপ হয় একটি মান যে ভাষা এটি ওয়েব পেজ তৈরি করার জন্য ব্যবহৃত হচ্ছে যে. এটি একটি মার্কআপ ভাষা বলা হচ্ছে এটা আসলে কম্পাইল না কারণ. এটা কিভাবে কিছু কোড উচিত বলে না মৃত্যুদন্ড বা যে মত কিছু করা. এটা শুধু delineates ও কিভাবে একটি ওয়েব বর্ণনা পাতা সেট আপ করা উচিত তার উপাদানের প্রতিটি সঙ্গে এবং তারা ব্যবহারকারী যাও হওয়া উচিত. এইচটিএমএল ট্যাগ কিছু যে আমরা উপর গিয়েছিলাম অনুসরণ করছেন. আমাদের HTML নথির সব doctype html দিয়ে শুরু. তারপর আমরা সবসময় এইচটিএমএল ট্যাগ আছে. আমরা একটি মাথা এবং শরীরের আছে. আর এটা এইচটিএমএল আছে গুরুত্বপূর্ণ নেস্টেড কাঠামো এই সাজানোর এটা খুবই স্পষ্ট, কারণ. এবং তারপর এটি খুব স্পষ্ট হয়ে ওঠে যখন আমরা আসলে বন্ধ ট্যাগ খুলুন এবং প্রয়োজন. আর আমরা সবসময়ই বন্ধ করার প্রয়োজন আমরা খোলা থাকেন যে ট্যাগ. এবং এখানে আমরা ধরনের কিছু আছে আমরা চাই যে এগিয়ে জিনিস. সুতরাং আমরা আছে, যেমন, CS50 এর শিরোনাম. এবং তারপর আমরা আসলে একটি স্টাইল শীট লিঙ্ক করতে পারেন যে আমরা আমাদের ওয়েবসাইট শৈলী কিভাবে সংজ্ঞায়িত করে. যে সিএসএস হয়. আমরা তা পুনরালোচনা চলুন পাশাপাশি স্লাইড পরবর্তী কয়েক. শরীরের মধ্যে, আমরা সেট কিছু ক্লাস এবং আইডি. আর একটি অনুস্মারক হিসেবে, আবার, আইডির অনন্য এবং ক্লাস হয় একাধিক আইটেম নিয়োগ করা যেতে পারে. ও ঠিক সেই মানে আমরা ক্লাস এবং আইডি ব্যবহার করতে পারেন তাই অন্যান্য structures-- মধ্যে, জন্য উদাহরণস্বরূপ, সিএসএস ফাইল বা শৈলী মধ্যে নির্দিষ্ট উপাদানের সাথে যোগাযোগ করে sheets-- এবং মূলত আমরা শৈলী করতে চান বলে বা কিছু উপাদান নকশা কিছু বিশেষ ভাবে. আর আমরা তাদের পড়ুন তাদের পরিচয়পত্র এবং ক্লাস. আর আমরা উদাহরণ উল্লেখ করতে পারেন পাশাপাশি ট্যাগ দ্বারা বিভিন্ন জিনিষ, কিন্তু ID- র এবং ক্লাস শুধু আমাদের কিছু দিতে বহুমুখিতা এবং বিশেষভাবে কি আমরা পড়ুন করতে চান. তাই শুধু একটি উদাহরণ. আমরা মধ্যে, আবার, করতে পারেন একটি CSS ফাইলে যেখানে আমরা কিছু সংজ্ঞায়িত করতে চান style-- রং, ফন্ট, তাই এবং কাপড় আমরা যা করতে পারেন কিন্তু যে মত একটি শরীরের জন্য শৈলী সংজ্ঞায়িত. সুতরাং এটা নির্ধারণ করবে পুরো শরীর ট্যাগের জন্য. কিন্তু তারপর আমরা উদাহরণ নির্ধারণ করতে পারবেন একটি #title জন্য একটি শৈলী. এবং আবার, হ্যাশট্যাগ বোঝায় আমাদের আইডি এবং ডট আমাদের ক্লাসের বোঝায়. এবং তারপর .info জন্য, আমরা এছাড়াও কিছু বৈশিষ্ট্যাবলী সেট করতে পারেন. আমরা ফিরে যেতে যখন আবার, আমরা ছিল আমাদের ক্লাস তথ্য ও আমাদের আইডি শিরোনাম বলা. আর আমরা পড়ুন দেখতে পারেন তাদের #title এবং .info দ্বারা. শ্রোতা: আপনি বলতে হবে হ্যাশট্যাগ [? আমাকে গ্রহণ? ?] MARIA ZLATKOVA: দুঃখিত? শ্রোতা: আপনি বলতে হবে হ্যাশট্যাগ [? আমাকে গ্রহণ? ?] MARIA ZLATKOVA: হ্যাশট্যাগ আইডি, তাই #title মানে যাই হোক না কেন উপাদান বোঝায় শিরোনাম নামক এই আইডি আছে. এবং তারপর বিন্দু একটি বর্গ বোঝায়. সুতরাং .info এই উপাদান বোঝায় এটা বর্গ তথ্য আছে, কারণ. হাঁ. শ্রোতা: কেন আপনি না HTML এ তাদের পার্থক্য কি? কেন আপনাকে কিছু জিনিস বলে না আইডির এবং নির্দিষ্ট কিছু শ্রেণীর হয়? MARIA ZLATKOVA: যে পৌছে দিতে মাত্র আপ হান্না Blumberg: প্রশ্নের পুনরাবৃত্তি. MARIA ZLATKOVA: ওহ, দুঃখিত. কেন আমরা নির্দিষ্ট উপাদানের পার্থক্য না ID- র এবং ক্লাস হিসাবে অন্যান্য উপাদান হিসেবে? এটা এ কারণে যে, ঠিক সত্যিই প্রায়ই একটি নকশা পছন্দ. এটা আপনাকে অনেক দেয় হচ্ছে বহুমুখিতা আমি এই নির্দিষ্ট আইটেম চান বলতে পারবেন তারা চান, কারণ এই আইডি আছে জিনিস অনেক কাজ করতে এটা, এবং আমি সাথে শুধুমাত্র একটি শৈলী সংজ্ঞায়িত করতে চান, নির্দিষ্ট শৈলী যে আইটেমটি জন্য বা রঙ যাই হোক না কেন. আর ভাবে যে কি শুধু এটি একটি আইডি প্রদান করা হয়. এবং তারপর যদি আমি চাই আছে বিভিন্ন জিনিস একটি দম্পতি থাকার পরিবর্তে যে যাচ্ছে এবং their-- সেটিং পরিবর্তে দ্বারা এরকম ট্যাগ ট্যাগ কারণ পুরো ট্যাগের জন্য সেল সেট প্রত্যেক সময় জন্য যে ট্যাগ ব্যবহার করা হয়, আপনি একাধিক আইটেম একটি বর্গ সেট করতে পারেন. এবং তারপর শুধু যে বর্গ অ্যাক্সেস এবং বলে আমি এই শ্রেণীর যে ভাবে শৈলী চান. এবং আবার, বর্গ পারেন একাধিক ভিন্ন জিনিস হতে এবং আইডি অনন্য হতে হয়েছে. গ্রেট প্রশ্ন. অন্য কোন প্রশ্ন? ঠিক আছে, সন্ত্রস্ত. আবার, এই কিভাবে এই নির্বাচক হয় হ্যাশট্যাগ দিয়ে, CSS এর মধ্যে উল্লেখ করা হয়, বিন্দু দিয়ে, বা এর জন্য কিছু ছাড়া কিছু ট্যাগের শৈলী বরাদ্দ, শরীরের মত. এবং এখানে আমরা সাধারণ আছে এই কাজ কিভাবে এর সিনট্যাক্স. কিছু ভাল পুনরাবৃত্তি HTML এবং CSS এর জন্য চর্চা, আমরা, আবার বন্ধ সব প্রয়োজন আমরা খোলা যে এইচটিএমএল ট্যাগ. আর আমরা আপনার পরামর্শ দিয়েছে তা আপনার চূড়ান্ত প্রকল্পের জন্য কি, পাশাপাশি CS50 ফাইন্যান্স জন্য যেমন, করতে হয় আপনার HTML সব অনুমোদিত হবে যে নিশ্চিত. আর যে W3 যাচাইকারী সঙ্গে সম্পন্ন করা হয়. আর আমরা কি তাহলে কি ও আমরা প্রস্তাব করছেন তাই, শৈলী পৃথক হয় মার্কআপ এইচটিএমএল থেকে সিএসএস. কিভাবে যে সম্পর্ক তাই কিছু আপনার পাতা চাক্ষুষরূপে দেখুন যাচ্ছে এবং কিভাবে এটা পরিবর্তন করা যাচ্ছে একটি CSS এর নথি ঢোকা উচিত. এবং তারপর আপনার মার্কআপ কিভাবে কিছু বলার অপেক্ষা রাখে না একে অপরের সাথে সম্পর্ক আছে, এইচটিএমএল এবং যে ভিতরে যেতে হবে আপনার HTML নথি. কোন প্রশ্ন? Mhm. শ্রোতা: ঠিক কি যাচ্ছে পাতা ভ্যালিডেশন উপর আমরা যাচাই করছি [শ্রবণাতীত] নির্মিত যে এইচটিএমএল? MARIA ZLATKOVA: সুতরাং আপনি কি মনে করেন what--. তাই কি ঠিক যাচ্ছে পাতা ভ্যালিডেশন উপর এবং কেন আমরা যে কাজ করতে হবে না? মূলত, আমরা যে কাজ করতে হবে কারণ সময়ের অনেক, আপনার ব্রাউজার, আপনি একটি ট্যাগ বন্ধ না হলে অথবা যে ভালো কিছু, আপনার ব্রাউজার এখনও যাচ্ছে একটি পাতা রেন্ডার এবং এখনও কাজ করতে পারে, কিন্তু এটা ভাল অভ্যাস যে তা নিশ্চিত করার জন্য আপনি, আবার, আপনার সব ট্যাগ বন্ধ করেছি সমস্ত উপাদান আছে তারা উচিত যে ভাবে, এবং এটি দ্বারা মূলত: যে যা প্রিসেট নিয়মাবলী. এটা, আবার, এর মাত্র জিনিস যে আপনি উচিত কাজ করা শেখার হতে, থাকার উল্টোদিকে যে মত sloppier কোড এবং কাপড়. হ্যা. ওহ দুঃখিত. আমি আপনি আপনার হাত বাড়িয়ে ভেবেছিলাম. শ্রোতা: না, আমি শুধু [শ্রবণাতীত] ছিল. MARIA ZLATKOVA: ঠিক আছে. শ্রোতা: আপনাকে ধন্যবাদ. MARIA ZLATKOVA: অবশ্যই, আপনাকে ধন্যবাদ. তাই আবার, কেমন চলছে তথ্য স্থানান্তর করা হয় ও যোগাযোগ মডেল তথ্য স্থানান্তর. TCP / IP এর. টিসিপি শুধু সঞ্চালন মানে কন্ট্রোল প্রোটোকল এবং আইপি ইন্টারনেট প্রটোকল বোঝায়. এবং যে শুধু বোঝায় পথ তথ্য বিতরণ করা হয়. আমরা কিছু তথ্য থাকে যে তাই পৌছে দিতে বিতরিত প্রয়োজন আপনি একটি নির্দিষ্ট সার্ভারে জন্য অনুরোধ করিতে পারিবেন. উদাহরণস্বরূপ, যখন আমরা cs50.net অ্যাক্সেস করতে চেষ্টা করুন, আমরা একটি অনুরোধ করতে এবং CS50 সার্ভার এবং আমরা আমরা পেতে চান দেখতে তথ্য এই সাজানোর. এবং তারপর এই প্রোটোকল উপর ভিত্তি করে এই তথ্য বিতরণ করা হয় কিভাবে জন্য, সার্ভার তথ্য দেয় আমাদের ফিরে, ক্লায়েন্ট. এবং তারপর আমরা দেখতে সক্ষম হন পৃষ্ঠার জন্য তথ্য এবং তারপর এটি ব্যবহার. আমি তখন হাইপারটেক্সট ট্রান্সফার প্রোটোকল শুধু আরেকটি প্রটোকল বা সেট নিয়মাবলী যে কিভাবে সংজ্ঞায়িত ওয়েব ব্রাউজার এবং ওয়েব সার্ভার যোগাযোগ করা উচিত. এবং এই সব নির্বাণ একসাথে, HTTP আবার, শুধু এই হাইপারটেক্সট সংজ্ঞায়িত কিভাবে সংজ্ঞায়িত আমরা এটা কাজ করে থাকেন যে এইচটিএমএল, আপনার সরবরাহ করা উচিত কিভাবে এবং কিভাবে আপনি বিতরণ করা হয় যে তথ্য আপনাকে পায়. আপনাকে বলছি মনে যদি, যে কেন একটি বর্গ থেকে, আমরা অনুরোধের অনেক ছিল এবং আমরা সিনট্যাক্স অনেক ছিল আমরা করছি যে এই সব অনুরোধ জন্য এই মুহূর্তে ঝালিয়ে যাচ্ছে. তাই আবার, আমরা যখন পাঠাতে একটি সার্ভারে একটি অনুরোধ, আমরা জিনিষ কয়েক সংজ্ঞায়িত আছে. তাই আমরা টাইপ খুঁজে বের করতে হবে অনুরোধের আমরা সেটিং করছি যে. এবং আবার, আমরা আছে, যেমন, GET পদ্ধতি এক ধরনের আমরা আমাদের অনুরোধ আছে. এবং তারপর জন্যেই HTTP / 1.1 ঠিক হয় আমরা বর্তমানে ব্যবহার করছি যে প্রটোকল. বেশিরভাগ সময়ে, যে যাচ্ছে আমরা ব্যবহার করছি যে প্রোটোকল. আপনি একটা প্রশ্ন আছে, তাই যদি আপনার ব্যঙ্গ যে মত. যে নিয়মাবলী আছে যে আমরা এখন পর্যন্ত আছে. ব্যাকস্ল্যাশ কিরুপ বোঝায় জিনিস আমরা অনুরোধ করছি. তারপর, আমাদের হোস্ট এই, উদাহরণস্বরূপ, হয় যদি আমরা google.com এ যেতে চেষ্টা করছেন. সুতরাং এই একটি হোস্ট জন্য মান. এই অনুরোধের একটি টাইপ যে পাঠানো যেতে পারে. প্রতিক্রিয়া একটি টাইপ করুন এবং তারপর যে পারা পাঠানো, আবার এই প্রোটোকল উপর ভিত্তি করে করা, আবার হয় HTTP / 1.1. সুতরাং যে HTTP- র সংস্করণ আবার. 200 ওকে শুধু স্টেটাস কোডের হয়. এবং যে ঠিক ঠিক একটি ফ্রেজ যে অবস্থা কোড উপর ভিত্তি করে. এবং তারপর বিষয়বস্তু-ধরন টাইপ করার নির্দেশ যে যে আপনাকে ফিরিয়ে দেওয়া হয় আপনি পাবেন যে ওয়েব পেজের জন্য এবং আপনার ব্রাউজার যে পরে রেন্ডার করতে পারে. এবং যে টেক্সট / এইচটিএমএল হয়. শ্রোতা: 1.1 বলতে কী বোঝায়? MARIA ZLATKOVA: ঠিক যে সংস্করণ র ওহ, 1.1 এর অর্থ কী? যে শুধু সংস্করণ, HTTP- র হয় আমরা ব্যবহার করছি যে একটি প্রোটোকল সংস্করণ. বড় প্রশ্ন. অন্য প্রশ্ন? শ্রোতা: আপনি যোগফল গেল সামগ্রী-প্রকার বাস্তব দ্রুত? MARIA ZLATKOVA: সুতরাং যে কি সার্ভার. কি information-- ধরণ বিষয়বস্তুর প্রকার প্রশ্ন ছিল. যাতে টাইপ ছিল আপনি ফিরে যেতে পারে তথ্য সার্ভার, টাইপ থেকে তথ্য ব্রাউজার তারপর পারেন যে আপনি ব্যবহার করছেন যে রেন্ডার. শ্রোতা: কি এই যে, প্রোটোকল করতে বলছে আপনি? MARIA ZLATKOVA: দুঃখিত? শ্রোতা: প্রোটোকল কি বলে যে? MARIA ZLATKOVA: protocol-- শ্রোতা: কবিতার সামগ্রী-প্রকার বা what-- MARIA ZLATKOVA: প্রোটোকল ভিত্তি করে on-- আপনি কহন প্রোটোকল কি? যে মাত্র উপায় এই তথ্য যে আপনি বিতরণ করা হয় ভিত্তি প্রোটোকল কি ধরণের উপর এই তথ্য পেয়েছি আপনি ফিরে বিতরণ. যে জানার সাজানোর? হান্না Blumberg: আপনি প্রোটোকল মনে করতে পারেন ছাগু karigor.com হিসাবে আমি অধ্যাপক মনে মালন এটি বর্ণিত যেমন ধরনের ছাগু karigor.com মত ক্লাসে মত মানুষের হ্যান্ডসেকিং সমতুল্য. মত, আরে, আমি একটি অনুরোধ করছি, এবং বলে আমি সংস্করণ 1.1 এর HTTP হ্যান্ডেল কিভাবে জানেন. এবং তারপর সার্ভারের বলেছেন ঠিক আছে, ওহ, I-- এবং উভয় বিদ্যমান. আমি জন্যেই HTTP / 1.1 সঙ্গে মোকাবিলা করতে জানেন কিভাবে. আর আমি দিতে যাচ্ছি আপনি কি কিছু উপাদান ব্যাক. এই ক্ষেত্রে, এটা যাচ্ছে টাইপ টেক্সট / এইচটিএমএল হতে. সুতরাং এটা কোন ধরনের একটি উপায় তাদের communicating-- জন্য MARIA ZLATKOVA: এটা ঠিক আপনি আছেন যে প্রতিপাদক উভয় একই নিম্নলিখিত প্রোটোকল এবং যে উভয় ক্লায়েন্ট এবং server-- তাই আপনার ব্রাউজার এবং server-- সাজান আপনাকে করছি কি জানেন যে বিষয়ে কথা বলছি এবং আছে তথ্য ক্ষণস্থায়ী জন্য কনভেনশন. শ্রোতা: সুতরাং সামগ্রী-প্রকার part-- সামগ্রী-প্রকার টেক্সট / html-- যে একই বার্তা একটি পৃথক অংশ? অথবা এটা, 200 বলা যাক অংশ? 200 তাদের যে বা হচ্ছে ÑÑ বলবেন কি MARIA ZLATKOVA: 200 এটা সব ঠিক আছে যান বলেছেন. এবং তারপর বিষয়বস্তু টাইপ একটি সাজানোর একই বার্তার পৃথক অংশ, এবং কথা বলে যে আমি Returned টেক্সট / এইচটিএমএল এই ধরনের আছে. এটা শুধু আরো তথ্য দেবার. যোগ করার মত কিছু আছে? ঠিক আছে. এই অন্য কোন প্রশ্ন? অসাধারণ. তাই অন্য কিছু HTTP- র স্থিতিগুলিকে যে আমরা 200 ওকে ছাড়াও পেতে পারে আমরা হয়তো দেখা করেছি যে ওগুলো সম্ভবত অনেক 403 এবং 404 হয়. সুতরাং 404, আপনি চেষ্টা করা হয়েছে অস্তিত্ব নেই যে এক্সেস কিছু. উদাহরণস্বরূপ, তাই আপনার CS50 ফাইন্যান্স psets, আপনি quote.html রেন্ডারিং করা হতো তাহলে এবং আপনি যে ফাইল আছে কি না, কিন্তু এর পরিবর্তে আপনি, যে quote.php ছিল একটি 404 স্থাপিত হবে পাওয়া যায়নি ফাইল উপস্থিত না হতে পারে, কারণ. একটি 403 জন্য যে, নিষিদ্ধ অনুমতি বোঝায়. কিছু ফাইল দ্বারা না পাঠযোগ্য যদি তাই বিশ্বের, আপনি একটি 403 ফিরে পেতে পারে. কিছু অন্যদের যে আপনি পারে 301, স্থায়ীভাবে সরানো get--; 302 পাওয়া যায় নি; 304, পরিমিত; 400 খারাপ অনুরোধ; এবং তারপর অভ্যন্তরীণ সার্ভার সমস্যা 500 ও 503, সার্ভিস অপ্রাপ্য. হ্যাঁ. শ্রোতা: যদি আমরা বলে আশা করা ঐ সমস্ত স্থিতিগুলিকে মুখস্থ? MARIA ZLATKOVA: আমি থাকতে হবে তাদের আপনার Cheat শীট উপর. [হাস্য] শ্রোতা: আমরা আশা করা যায় প্রতিটি এক মহড়া কি জানেন? MARIA ZLATKOVA: ওরা? হান্না Blumberg: আমরা করেছি বেশী যে তাই প্রশ্ন এটার মধ্যে চালানো was-- MARIA ZLATKOVA: তারা বলে আশা করা হয় এই অবস্থা কি প্রত্যেককে জানতে সঙ্কেত দ্বারা আলোড়ন সৃষ্টি করা যেতে পারে? আমরা ব্যবহার করেছি যে বেশী জন্য তাই এবং গাড়ীতে, আমি হ্যাঁ, বলতে হবে. তাই আমরা স্পষ্টভাবে 200 দেখা করেছি ঠিক আছে এবং psets তা ভাষণ দেন. আমরা 404 403 দেখা করেছি. অন্যান্য বেশী? হান্না Blumberg: আমি চাই 500 ন্যায্য খেলা মনে বলে. MARIA ZLATKOVA: 500, হ্যা. হান্না Blumberg: হ্যা. শুধু একটি সাধারণ অর্থে আছে তাদের কারণ কি. এবং এছাড়াও শুধু এইসব নাম, আপনি যা করতে পারেন ধরনের মত একটি শিক্ষিত অনুমান হিসাবে করা কি আসলে তাদের সৃষ্ট. উদাহরণস্বরূপ, সম্ভবত, স্থায়ীভাবে সরাতে ফাইল স্থায়ীভাবে সরিয়ে নেওয়া হয়েছে. শ্রোতা: কিন্তু পূর্ববর্তী উপর পরীক্ষার একটি তাই ছিল কিভাবে আপনি যে উত্তর দিতে আমাদের আশা করতে পারি? হান্না Blumberg: যে শূন্য পয়েন্ট মূল্য ছিল. চা তৈয়ারি করার পাত্র উপর 418 প্রশ্ন টেকনিক্যালি একটি HTTP- র অবস্থা হয় কিন্তু এটি শূন্য পয়েন্ট মূল্য ছিল. একথাও ঠিক যে, আপনি না হন তাদের জানা প্রত্যাশিত. শ্রোতা: এটি একটি বাস্তব এক? হান্না Blumberg: এটি একটি বাস্তব হয় এক, কিন্তু এটি কিছু মানে না. এটা নিছক একটা ঠাট্টা. ইন্টারনেট মানুষ মজার হয়. MARIA ZLATKOVA: গ্রেট প্রশ্ন, বলছি. অন্য কোন প্রশ্ন? শ্রোতা: অভ্যন্তরীণ সার্ভার সমস্যা কি? MARIA ZLATKOVA: অভ্যন্তরীণ সার্ভার ত্রুটি শুধু আপনি হয়েছে এর মানে হল যোগাযোগ করতে অক্ষম কিছু কারণে সার্ভারের সাথে. সুতরাং এটি অগত্যা না কি আছে যে কিছু যে মত ক্লায়েন্ট বা কিছু দিয়ে. আমি কোনো নির্দিষ্ট উদাহরণ কয়েক জানি না আমরা ব্যাখ্যা করতে উপর চলে গেছে করেছি যে, তবে হাঁ. হান্না Blumberg: শিওর. সুতরাং উদাহরণস্বরূপ, মত দিন আপনি ম্যাশআপ কাজ ছিল বলে এবং একটি Google সার্ভার কিছু জন্য নিচে যান কারণ, একটি বিদ্যুৎ বিভ্রাট, এর কথা বলা যাক. একটি অভ্যন্তরীণ সার্ভার হতে হবে ত্রুটি বা কিছু সাজান আপনার মত র একটি প্রতিক্রিয়া ফিরে পেতে হবে. MARIA ZLATKOVA: হ্যা. আপনি যখন এটা ঠিক যোগাযোগ করতে অক্ষম কিছু কারণে, কারণ জন্য সার্ভারের সাথে এটা নিচে যাচ্ছে বা অন্য কোন কারণে এর. সুতরাং পিএইচপি মধ্যে জাম্পিং. পিএইচপি, এইচটিএমএল, অসদৃশ একটি হল জান্ত্রিক ভাষা. আর আমরা এটা, কারণ এটা ব্যবহার শুরু ওয়েব ডেভেলপমেন্ট জন্য খুব উপকারী. আমরা প্রথম CS50 ফাইন্যান্স মধ্যে এটি ব্যবহৃত হয়. এবং এটি মূলত আমাদের আনতে সাহায্য একসঙ্গে এই মার্কআপ, নকশা, আমরা আসলে তথ্য ব্যবহার কিভাবে একটি ওয়েব পেজে কিছু প্রদর্শন করে. পিএইচপি তাই নিজেই পিএইচপি মানে হাইপারটেক্সট Preprocessor, তাই এটি নিজে একটি রিকার্সিভ backnorym এর. আর পিএইচপি জন্য ট্যাগ খোলার আমরা বাম প্রশ্ন চিহ্ন দিয়ে এবং ডান তীর এবং পিএইচপি. সুতরাং আমরা ইতিমধ্যে এটি একটি গুচ্ছ দেখা করেছি. এখন, আমরা শুধু ওভার যেতে চলুন এটি সম্পর্কে মৌলিক কিছু. পিএইচপি সঙ্গে, পরিবর্তনশীল তাই নাম ডলার চিহ্ন দিয়ে শুরু. আমরা, আবার কিছু উল্লেখ না করেন একটি পরিবর্তনশীল আর টাইপ. আমরা সি সঙ্গে মত, আমরা যে কাজ করতে হবে না. আমরা বিভিন্ন একটি গুচ্ছ করতে পারেন ভেরিয়েবল সঙ্গে স্টাফ. আমরা তাদের একত্রে পারেন তাদের concatenating দ্বারা বিন্দু স্বরলিপি, সাথে যা আমরা আবার সি কি না করতে পারে. আবার, আমরা একটি বিট আরো বহুমুখিতা আছে ভেরিয়েবল পরিপ্রেক্ষিতে পিএইচপি সঙ্গে. আবার, আমরা একটি প্রধান ফাংশন আছে না. আর পিএইচপি ব্যাখ্যা করা হয় কম্পাইল উল্টোদিকে, তাই শুধু আমরা সি ফাইল করতে হয়নি, কিভাবে আমরা পিএইচপি জন্য যে কাজ করতে হবে না. বরং, পথ ভাষা যে নিজে চালানো হয়, তা ব্যাখ্যা করা হয়. এবং তারপর ঢিলেঢালাভাবে টাইপ শুধু আমরা যে মানে একটি ভেরিয়েবল উল্লেখ করতে হবে না টাইপ এবং ভ্যারিয়েবল ধরনের রানটাইম বোঝা হয়. শ্রোতা: কিন্তু আপনি কি কি ডট সংযুক্তকরণের দ্বারা কি বোঝাতে চেয়েছেন? MARIA ZLATKOVA: শিওর. আমরা একসঙ্গে জিনিষ লাগাতে চান যদি তাই আমরা কিছু ভেরিয়েবল ছিল যে 3 এর মান ছিল এবং আমরা অন্য ছিল স্ট্রিং মান ছিল যে পরিবর্তনশীল, আমরা একসাথে ভেরিয়েবল করা যেতে পারে তাদের মধ্যে একটি বিন্দু বসিয়ে এবং তাদের concatenating. অথবা আমরা তৈরি করতে পারি পরিবর্তনশীল নামক নাম এবং দ্বারা এটি একত্র দুটি পংক্তি concatenating. সুতরাং আমরা যদি ডবল অনুযায়ী পংক্তিরূপে উল্লিখিত ছিল কোট এবং আমরা, এটা পরে একটি বিন্দু করা এবং তারপর আমরা যে, অন্য স্ট্রিং ছিল পুরাপুরি একটি স্ট্রিং তৈরি করবে. শ্রোতা: ঠিক আছে. MARIA লাতভিয়া: পরিষ্কার দেখা গিয়েছে যে? শ্রোতা: হ্যাঁ. MARIA ZLATKOVA: ঠিক আছে. হ্যাঁ. শ্রোতা: যখন আপনি বলবেন ব্যাখ্যা বদলে কম্পাইল, আপনি আপনার সম্পর্কে কথা বলা হয় না যখন যেমন নির্দিষ্ট করা প্রয়োজন এটা সি বনাম পিএইচপি আসে? MARIA ZLATKOVA: আমরা বলতে যখন কম্পাইল উল্টোদিকে ব্যাখ্যা, আমরা কি বলতে চাও? সুতরাং যে আমরা প্রয়োজন হবে না যে মানে এক্সিকিউটেবল ফাইল পিএইচপি চালানোর. এটা হিসাবে এটি যায় যে চালায় মানে. যে জানার জন্য? একটু বেশি. হান্না Blumberg: সুতরাং আপনি একজন দোভাষীর মনে করতে পারেন দায়ী যে অন্য একটি প্রোগ্রাম হিসেবে পিএইচপি মাধ্যমে পাতিপাতি যাওয়ার জন্য উল্টোদিকে এবং আসলে, এটা নির্বাহ বাইনারি নিচে এটা সব কম্পাইল করতে. এটা আসলে কিছু মানে না আমরা হতে হবে কিভাবে নির্দিষ্ট সম্পর্কে. আমরা এখনও সুনির্দিষ্ট হতে হবে, এবং না আপনার সেমিকোলন ভুলে যাওয়া, এবং নিশ্চিত করুন আপনি, আপনার ডলার চিহ্ন আছে এবং যে ভালো জিনিস. ভালো প্রশ্ন. MARIA ZLATKOVA: হ্যা. তাই লাইন দ্বারা হিসাবে সি ফাইল সঙ্গে বিরোধিতা, আমরা পুরো চূড়ান্ত করতে হবে আমরা আসলে এটা চালাতে পারেন আগে. যে প্রধান পার্থক্য. কিন্তু আবার, আমরা না করতে পারেন সত্যিই কম নির্দিষ্ট হতে. সুতরাং পিএইচপি অ্যারে প্রতিনিধিত্ব আসলে একটি আদেশ মানচিত্র. কী অ্যারে সহযোগী মান তাই. দুটি উপায়ে একটি ঘোষণা করতে অ্যারে, এই বাক্য গঠন উপর ভিত্তি করে, আমরা আরো স্পষ্ট হতে পারে বলার অপেক্ষা রাখে না যে আমরা একটি অ্যারে আছে এবং আমরা ম্যাপের যে এই key1 আছে VALUE2 ম্যাপের যে এই VALUE1, key2. বা আমাদের একটা অ্যারে তৈরি করতে পারেন যে মান নিজেই রয়েছে এবং তারপর কি হয় একটি ভাবে বোঝা. এই প্রথম কোন প্রশ্ন? শ্রোতা: কি হবে কী দ্বিতীয় উদাহরণে হতে? 0, 1, 2, 3? MARIA ZLATKOVA: উদাহরণস্বরূপ, এটি শুধু এই চাবি অগত্যা না অন্যরকম কর. তারা ঠিক কিভাবে আপনি যা করতে পারেন নির্ধারণ এটি ভেতরে মান ব্যবহার. সুতরাং আমরা যদি একটি foreach ছিল পিএইচপি লুপ যে would আমাদের সব মান মাধ্যমে যেতে অনুমতি দেয়, আমরা সব মান দিয়ে যেতে পারেন, এমনকি যদি আমরা ছিল বা সংজ্ঞায়িত করা ছিল সাইট এর মধ্যে একটি নির্দিষ্ট কী পূর্ববর্তী সিনট্যাক্স. তাই এমনকি এই সাজানোর সঙ্গে অ্যারের, আমরা এখনও করতে পারে একটি foreach লুপ আছে যে প্রতিটি মাধ্যমে যায় অ্যারের মধ্যে কী মূল্যবোধের. একটি foreach সিনট্যাক্স তাই লুপ, আমরা একটি অ্যারের সাথে শুরু. এই $ তীর পরিবর্তনশীল আমাদের প্রকৃত অ্যারে আমরা আগের স্লাইড সংজ্ঞায়িত যে আক্ষরিক যায় যে মান হিসাবে মান প্রতিটি মাধ্যমে, নির্বিশেষে কিনা আমরা একটি কী ছিল বা না. এবং তারপর আমরা দিয়ে কিছু করতে পারেন foreach লুপ এর ভিতরে মান. তাই আবার, যদি আমরা একটি অ্যারের ছিল এই এখানে created-- মত তাই আমরা foo বিন্যাস এবং মান কী আছে বার, Baz চাবি আর qux-- মান আমরা একটি foreach লুপ থাকতে পারে কী মান হিসেবে অ্যারে দিয়ে যায় এবং তারপর কিছু না কী এবং / অথবা মূল্য দিয়ে. কিন্তু আমরা সবসময় অগত্যা না একটি foreach loops যে আছে মান চাবিকাঠি মানচিত্র হিসাবে অ্যারে দিয়ে যায়. আমরা মধ্য দিয়ে যেতে পারেন মূল্য হিসাবে foreach লুপ অ্যারে. হান্না Blumberg: আমি মনে করি আপনার প্রশ্ন, চাচ্ছি কি ছিল অন্তর্নিহিত সূচি? শ্রোতা: ধরণ. MARIA ZLATKOVA: ওহ. হান্না Blumberg: হ্যা, হ্যা. তাই মূলত, আপনি কিছু উল্লেখ না করেন, তাহলে একটি কী, এটা 01 হতে যাচ্ছে. MARIA ZLATKOVA: হ্যা. শুধু সি মত, এটা শূন্য আপনি কি একটি নির্দিষ্ট না হলে ইন্ডেক্স. শ্রোতা: দুঃখিত. আপনি বলতে চেষ্টা করে দেখতে পারেন একটু একটু জোরে? আমি একটি সামান্য বিট হচ্ছে সমস্যা সবকিছু শুনে. MARIA ZLATKOVA: আমি দুঃখিত. হ্যাঁ অবশ্যই. তাই তুমি যদি চাও না আবার এই পুনরালোচনা করা? অথবা আপাততঃ হয় শ্রোতা: পূর্ববর্তী slide-- যদি তাই আপনি মাত্র এক দ্বিতীয় জন্য ফিরে যেতে পারে. MARIA ZLATKOVA: অবশ্যই, দুঃখিত. শ্রোতা: তাই দ্বিতীয় এখানে অ্যারে না কি একটি মান আছে বলে মনে হচ্ছে, এক প্রকার [? করণ. ?] MARIA ZLATKOVA: হ্যা, হ্যা. শ্রোতা: তাই কিভাবে যে কাজ করে যখন আপনি বলবেন এটা সব অথবা none এর. আমার কাছে, যে দেখে মনে হচ্ছে একটি [? foo বিন্যাস?] ইতিমধ্যে. MARIA ZLATKOVA: হ্যা, হ্যা. তাই আবার, এই একটি হল এই অর্থে আদেশ ম্যাপ সেখানে বোঝা হয় যে, উদাহরণস্বরূপ, সূচী এখানে 0, 1, 2, 3 হিসাবে বোঝা যাবে. আবার, ঐ যে হচ্ছে সূচী আমাদের সমতুল্য এর মান সম্মুখের ম্যাপ কী হচ্ছে. সুতরাং যদি আমাদের কী 0-- দুঃখিত ছিল. হান্না Blumberg থে, এখানে এখন পর্যন্ত খড়ি হচ্ছে. এটা আসলে সত্যিই চমৎকার. MARIA ZLATKOVA: দারুণ. ঠিক আছে. তাই আবার, $ তীরচিহ্ন 0 হতে হবে মান 1 এর জন্য কী. 0 মান 1 এর জন্য কী করতে হবে. শ্রোতা: আমি দুঃখিত. এটা অদৃশ্য. হান্না Blumberg: কিছু মনে করবেন না ঠিক আছে,. খড়ি একটি খারাপ ধারণা ছিল. আমি এটা ফেরত নিতে. আপনি কি মনে করতে পারেন মান 1 থেকে 0 মানচিত্র হিসাবে. MARIA ZLATKOVA: হ্যা. সুতরাং এই হল 0, এই 1, 2, 3. এই আপনার কি হতে পারে. আপনি হাঁ as-- তাদের মনে করতে পারেন. সুতরাং পরিবর্তে থাকার সুস্পষ্ কী, তারা আছেন সাজান হচ্ছে বোঝা ইনডেক্স 0 থেকে শুরু. খড়ি সাহায্য করা হয়নি. হ্যা. শ্রোতা: foreach লুপ জন্য, আমরা মান হিসাবে দেখতে চেয়েছিলেন, এটা 0 শুধু স্বয়ংক্রিয়ভাবে সূচক would? MARIA ZLATKOVA: হ্যা. এটা মান প্রতিটি মধ্য দিয়ে যেতে হবে. শ্রোতা: [শ্রবণাতীত] হিসাবে 0 বা যে শুধু 0 করতে হবে? MARIA ZLATKOVA: তুমি মনে করবে তারপর ডলার চিহ্ন এবং হিসাবে বলতে কিছু ভেরিয়েবল নাম, মূল্য. শ্রোতা: [শ্রবণাতীত]. MARIA ZLATKOVA: দুঃখিত? শ্রোতা: দুঃখিত, আমি আছি শুধু মনে করার চেষ্টা. আপনি যে আপনি এটা করতে পারেন না হবে তাহলে কিভাবে স্বয়ংক্রিয়ভাবে ইন্ডেক্স শুধু 0 হয়? MARIA ZLATKOVA: সুতরাং আপনি যে কীভাবে সম্ভব আপনি নির্দিষ্ট কী নাম ছিল না তাহলে কি হবে? শ্রোতা: হ্যাঁ. MARIA ZLATKOVA: আপনি শুধু define-- would শুধু কিছু নাম হিসেবে নিজেকে বলতে. সুতরাং আপনার psets মধ্যে, আপনাকে বলছি পারে $ সারি হিসেবে foreach $ সারিতে মনে, আমরা আমরাই বলছে এই $ সারিতে সৃষ্টি আমরা $ সারি হিসেবে সারি মধ্য দিয়ে যেতে চান. আমরা আছে না যদিও সারি সংজ্ঞায়িত এই সুস্পষ্ $, আমরা শুধু যেতে এবং পারে , এই আমাদের কী হতে পারে বলে এবং শুধু মান প্রতিটি মধ্য দিয়ে যেতে. শ্রোতা: তাই মান একটি নতুন পরিবর্তনশীল আমরা [শ্রবণাতীত] সঞ্চয় করতে তৈরি করছেন? MARIA ZLATKOVA: তাই এটা না মজ্জাগতভাবে একটি নতুন পরিবর্তনশীল. এটা বোঝায় যে একটি পরিবর্তনশীল তাদের প্রতিটি অ্যারের ভিতরে. হান্না Blumberg: এটা একটি নতুন পরিবর্তনশীল নাম. MARIA ZLATKOVA: হ্যা, যদি একটি নতুন পরিবর্তনশীল নাম, কিন্তু হ্যা inherently-- না. এটি শুধু একটি নতুন পরিবর্তনশীল আপনি যে কাজ করতে পারে. তাই ঠিক কিভাবে আমরা কি আচরণ $ $ সারি, সারি হিসেবে সারি একটি নতুন পরিবর্তনশীল নাম ছিল যে আমরা আমাদের foreach লুপ তৈরি করতে পারে. এটা যে আগে পূর্বজন্মের জীবনযাপন করতে নেই. শ্রোতা: আপনি দিয়ে যেতে পারে সেখানে যেমন ব্যবহার প্রতিটি যুক্তিবিজ্ঞান,? MARIA ZLATKOVA: Mhm. ওহ দুঃখিত. এখানে উদাহরণ. নিশ্চিত. সুতরাং প্রতিটি তাই অ্যারে যে এই অ্যারে যেতে মানে যে value-- কী হিসাবে যাচ্ছে এই অ্যারে দিয়ে যেতে এবং প্রথম, যান এবং foo বিন্যাস পেতে কি foo বিন্যাস এবং মান বার. এবং তারপর দ্বিতীয় তে লুপ জন্য পুনরাবৃত্তির, এর মধ্য দিয়ে যাবেন নিতে যাচ্ছে কী বায এবং মান qux. এবং তারপর আপনার সাথে কিছু করতে পারেন তাদের তাদের মধ্যে কেউ অথবা উভয়েই. শ্রোতা: তাই পিছনে ধারণা মান কি পয়েন্ট হচ্ছে, আপনি অ্যাক্সেস কি শেষ পর্যন্ত না? MARIA ZLATKOVA: ধারণা কী একটি কী ইশারা মূল্য থাকার? এটা শুধু আরেকটি কনভেনশন অন্যের অ্যারের মধ্যে দিয়ে যাচ্ছিলেন পথ এবং পারবে পারেন অ্যাক্সেস করতে কী বা মূল্য বা উভয় এবং তাদের ব্যবহার. শ্রোতা: জন্য ভূমিকা কী foreach মধ্যে সঞ্চালিত হয় যে অর্ডার? আমরা যোগ করতে হলে তাই অ্যারের উপাদান পরে, যারা প্রথম বেশী হবে foreach অ্যারের মধ্যে বলা, অথবা এটা পরে থাকা হবে? MARIA ZLATKOVA: তাই কি হয় foreach যাতে লুপ একটি অ্যারের মাধ্যমে যায়? এটা প্রথম মাধ্যমে যায় সর্বশেষ উপাদান উপাদান, গত যোগ উপাদান. আপনি পরবর্তী উপাদান যোগ করি তাহলে তারা would প্রথম উপাদান হবে accessed-- করা প্রথম হিসেবে ব্যবহার করা অ্যারের উপাদান, এবং তারপর প্রতিটি মধ্য দিয়ে যেতে চাই একটি ordered-- সাজানোর হিসাবে উপাদান একটি আদেশ, কিন্তু উপায় না যে তারা অ্যারের মধ্যে রাখা হয়েছে. শ্রোতা: তাই নতুন উপাদান পরে যোগ হয়? সুতরাং তারা হবেন added-- করছি [গত বেশী? পুনরাবৃত্তির. ?] MARIA ZLATKOVA: নতুন উপাদান can-- মূলত, নতুন উপাদান যোগ করা হয় যখন, তারা অ্যারে শেষে যোগ করা হয়? শ্রোতা: হ্যাঁ. MARIA ZLATKOVA: আমি তাই বিশ্বাস করি. হ্যাঁ. এবং তারপর আপনার foreach লুপ দিয়ে, আপনি নতুন উপাদান যোগ করেছেন পরে এবং আপনি তাদের মাধ্যমে যেতে, নতুন উপাদান would এটা যদি, নতুন উপাদান accessed-- হতে সর্বশেষ যুক্ত, এটি গত ব্যবহার করা হবে. শ্রোতা: আপনি শুধু একটি উদাহরণ দিতে পারি কিছু যে হবে [শ্রবণাতীত] মান সঙ্গে কিছু [শ্রবণাতীত] বা মান ভালো, আপনি যে কিভাবে ফরম্যাট চাই? MARIA ZLATKOVA: শিওর. আমি একটি উদাহরণ দিতে পারি কি আমরা মান সঙ্গে কাজ করতে হবে? তাই আপনাকে বলছি সঙ্গে পরিচিত হতে পারে কি আমরা একটি অ্যারের মাধ্যমে সর্বস্বান্ত করেছি যে এবং মূলত মুদ্রিত উপাদানের প্রতি, উদাহরণস্বরূপ, একটি অংশ হিসাবে আদেশ তালিকা বা এমন কিছু. যে জানার বা আমরা চাই না দেয় চাচ্ছি শ্রোতা: আমরা এই মান প্রিন্ট আউট করতে পারেন? MARIA ZLATKOVA: হ্যা, আমরা প্রিন্ট করতে পারে এবং তারপর মূলত মূল্য $ এ কারণ যে নির্দিষ্ট মান, আমরা হতে হবে এটা মান ভিতর মুদ্রণ. সুতরাং আমরা যদি আমাদের প্রথম পুনরাবৃত্তির সময় ছিল এবং এটা নিয়ে আমরা $ মান মুদ্রিত আমরা বার মুদ্রণ করা হবে. শ্রোতা: জন্য আছে হয় পিএইচপি loops বা শুধু foreach loops? MARIA ZLATKOVA: নেই এছাড়াও পিএইচপি loops জন্য. এবং তাদের যুক্তি বেশিরভাগই হয় আপনি ব্যবহার করে থাকেন তা হিসাবে একই. শ্রোতা: তার মান নাল. MARIA ZLATKOVA: এটা একই মত. হ্যা. শ্রোতা: আমি শুধু জিজ্ঞাসা করতে যাচ্ছি. তাই আপনি যদি একটি ঘোষণা যখন অ্যারে, আপনি প্রয়োজন হবে না এটা কি ঘটছে সাইজ বলতে যার মানে, হতে পারে আপনি ঠিক করতে পারেন যোগ এবং উপাদান [শ্রবণাতীত] হরণ. MARIA ZLATKOVA: হ্যাঁ. হাঁ. ঠিক. আমরা একটি অ্যারে ডিক্লেয়ার, তখন আমরা এটা কি সাইজ বলতে হবে না, তাই আমরা ঠিক উপাদান যোগ করতে পারেন পরে ভাল হিসাবে এটি সম্মুখের. আরো প্রশ্ন? তাই একসঙ্গে পিএইচপি এবং এইচটিএমএল আনয়ন কি আমরা ভাল seen-- আছে, উদাহরণস্বরূপ, এই উদাহরণে, আমরা আছে একটি ইনপুট ক্ষেত্র আছে যে একটি HTML ফর্ম. এবং ইনপুট ক্ষেত্র শুধু নাম এবং তারপর এটি একটি Submit বাটনে আছে. আপনি টিপুন যখন জমা বাটন, আমাদের hello.php ফাইলে, ফর্ম জন্য পদ্ধতি না থাকার কারণে পেতে, আমরা নাম যাই হোক না কেন ব্যবহার করতে পারবেন এই দ্বারা বিশ্বব্যাপী পরিবর্তনশীল পেতে যে এটা $ _GET জন্য সিনট্যাক্স হচ্ছে ÑÑ. এবং তারপর আমরা যাই হোক না কেন ব্যবহার করতে পারবেন নামের জন্য যে ফর্ম ভিতর ব্যবহারকারীর ইনপুট যে ফিল্ড নাম নির্দিষ্ট করে. অন্য কোন প্রশ্ন বা কোন এই নির্দিষ্ট উদাহরণ প্রশ্ন? শ্রোতা: পিএইচপি কোথায়? MARIA ZLATKOVA: এখানে. তাই এই পিএইচপি জন্য আমাদের খোলার ট্যাগ. শ্রোতা: ওহ, ঠিক আছে. MARIA ZLATKOVA: হ্যাঁ. হান্না Blumberg: = শর্টহ্যান্ড হয় এই জন্য পিএইচপি এবং শুধু প্রতিধ্বনি. শ্রোতা: ওহ. MARIA ZLATKOVA: হাঁ, দুঃখিত. আমি স্পষ্ট যে সফলতা লাভ করতাম. হান্না Blumberg: প্রিন্ট. MARIA ZLATKOVA: এটা ঠিক ফাংশন যে আমাদের কিছু প্রিন্ট করতে পারবেন. বড় প্রশ্ন. তাই হ্যাঁ going--. শ্রোতা: সেখানে বেশ হতে যাচ্ছে পিএইচপি এবং এইচটিএমএল এর হাতে কোডিং একটি বিট ব্যঙ্গ 1? MARIA ZLATKOVA: একটি হতে পারে ব্যাখ্যার ন্যায্য পরিমাণ পিএইচপি এবং এইচটিএমএল এর, অগত্যা কোডিং এর মধ্যে বিপুল পরিমাণ মত, আপনি একটি লিখতে থাকতে পারে, যদিও foreach লুপ, যদিও, লুপ জন্য একটি. Loops এর কোন যে আমরা পরিষ্কার খেলা এখানে আবরণ হয়. এবং যে বেশিরভাগ এটি. হান্না Blumberg: আমি প্রস্তুত করা হবে. একই ভাবে আমরা আপনাকে জিজ্ঞাসা ক্যুইজ 0 সি ফাংশন একটি গুচ্ছ লিখুন, আমি কাজ করতে প্রস্তুত হতে হবে পিএইচপি এবং জাভাস্ক্রিপ্ট একই. MARIA ZLATKOVA: হ্যা. হান্না Blumberg: আমি বলতে হবে আমরা পারব না মত একটি little-- যাচ্ছে আপনি একটি বিশাল এইচটিএমএল লিখুন করতে যে অল্প মাত্র কারণ পাতা ক্লান্তিকর, কিন্তু আপনি অংশ থাকতে পারে. এটা সম্পূর্ণই পরিষ্কার খেলা. ছোট এইচটিএমএল পাতা লেগেছে, সম্পূর্ণই ন্যায্য. শ্রোতা: ঠিক আছে. কিভাবে সম্পর্কে জাভাস্ক্রিপ্ট পাশাপাশি? হান্না Blumberg: হ্যা. জাভাস্ক্রিপ্ট এর পরিষ্কার খেলা. MARIA ZLATKOVA: হ্যা. যে সম্পূর্ণরূপে পরিষ্কার খেলা. হান্না Blumberg: আমরা কিনবো মত 10 মিনিটের মধ্যে যে. MARIA ZLATKOVA: এসকিউএল, আবার, স্ট্রাকচার্ড ক্যোয়ারী ল্যাঙ্গুয়েজ. এটি মূলত আমাদের তথ্য সহজ পন্থায় সামলাতে দেয় একটি রিলেশনাল ডাটাবেস ম্যানেজমেন্ট এ সিস্টেম. যে মূলত না ঠিক মানে আমরা কোথাও আছে আমরা চাইতে পারেন যে কিছু তথ্য সংরক্ষণ করা একটি ওয়েবসাইট বা অন্য কিছু আকারে ব্যবহার. এবং তারপর আমরা পেতে প্রশ্নের আছে আমাদের ডাটাবেস থেকে তথ্য, বা তাদের মধ্যে তথ্য সন্নিবেশ করা. সাধারণ ones-- আপডেট অনেক, সন্নিবেশ, নির্বাচন, এবং মুছে দিন. তাই আপডেটের জন্য, এই সিনট্যাক্স একটি ডাটাবেসের মধ্যে তথ্য আপডেট করার জন্য. নামক এই টেবিল আপডেট করার প্রণালী সেট বলছে দ্বারা টেবিল, আমরা সব কিছু মান সেট করতে পারেন অন্য সমান কিছু সারি. তাই আমরা কিছু নির্দিষ্ট নির্দিষ্ট করতে পারেন আমরা পরিবর্তন করতে চান যে এন্ট্রি এবং যে যেখানে ব্যবহার করা যাবে. আর আমরা শুধু চাই যে নির্দিষ্ট করতে পারেন কিছু সারি পরিবর্তন যেখানে ঘর, আমরা শিক্ষার্থীদের একটা টেবিল ছিল যদি এবং সব ছাত্র, বাড়িতে ছিল তাই আমরা শুধুমাত্র কিছু মান পরিবর্তন হবে একটি বাড়িতে চর্মার সমান যেখানে, উদাহরণ স্বরূপ. সন্নিবেশ জন্য, আমরা সন্নিবেশ করতে পারেন একটি টেবিলের মধ্যে নির্দিষ্ট মান. তাই টেবিলের মধ্যে সন্নিবেশ, এবং তারপর মান, এবং তারপর প্রথম বন্ধনী মধ্যে আমরা উল্লেখ যা আপনি সন্নিবেশ করাতে চান. তাই টেবিল, col1 মধ্যে ঢুকিয়ে col2, মান val1 এবং val2 হয়. সুতরাং এই মধ্যে মূলত একটি নতুন সারি সন্নিবেশ করায় মান 1 এবং 2 ধারণকারী একটি টেবিল কলাম 1 এবং 2 অধীনে. এবং তারপর আমরা পুনরালোচনা চলুন এই দেখায় কিভাবে একটি দ্রুত উদাহরণ একটি সামান্য বিট আমাদের ডাটাবেসের মধ্যে মত. কিন্তু এই চূড়ান্ত ক্যোয়ারী যে আমি আমরা পুনরালোচনা চলুন, নির্বাচন করুন, এটা শুধু আমাদের পারবেন একটি টেবিল থেকে ডাটা নির্বাচন সম্ভবত পরে এটি ব্যবহার করার জন্য. এবং আমরা এই কাজ উপায় আমরা হয় শুধু কিছু ভেরিয়েবল এ. এবং তারপর আমরা সম্ভবত এটি পুনরায় ব্যবহার করতে পারেন. তাই নির্বাচন তারকা সব নির্বাচন মানে. যে শুধু একটি সাঁটে লেখার সব নির্বাচনের জন্য. টেবিল, যেখান থেকে আমরা খুঁজছি হয় কিছু নির্দিষ্ট শর্ত জন্য, তাই কলাম সমান যেখানে উদাহরণস্বরূপ কিছু. আমরা শুধু চেয়েছিলেন টেবিল থেকে সব নির্বাচন, এই মাত্র সব কলাম নির্বাচন এবং একটি টেবিল থেকে সব সারি. এবং তারপর টেবিল থেকে মুছে কোথায় কর্নেল কিছু সমান, এই মাত্র কিছু মুছে আমাদের টেবিল থেকে সারি যেখানে আমরা কিছু নির্দিষ্ট শর্ত আছে. এই ক্ষেত্রে, শর্ত সম্পূর্ণ কলামে কিছু সমান. এই নিয়ে তাই শুধু একটি দ্রুত উদাহরণ. আমরা এখানে ডান এবং আমরা এই টেবিলে থাকে একটি টেবিল মধ্যে সন্নিবেশ, এই মান, একটি নতুন সারি সন্নিবেশ করা হবে. আমরা স্বয়ং বৃদ্ধি করতেন, তাহলে এই would শুধু 2 1 0 থেকে আমাদের আইডি বাড়ায়. আমরা ছাত্র থেকে সব নির্বাচন করা হলে, এটি শুধু সব ক্ষেত্র এবং সব সারি ফেরৎ. যেখানে বছরের বেশী 2016 থেকে কম বা তার সমান, যে শুধু আসতে হবে হানা এবং নিজেকে. এবং তারপর আমরা শুধু নির্বাচন করে থাকেন শিক্ষার্থীদের কাছ থেকে বছরের আইডি এবং বছর যেখানে ঘর Cabot হাউস, যে হয় আবার, হানা এবং নিজেকে আবার ফিরে আসবে. তারপর আমরা ছাত্র থেকে মুছে ফেলা হলে যেখানে নাম, রব সমান যে পুরো সারি মুছে ফেলা হবে. এবং তারপর আমরা সেট যদি নাম, আপডেট ছাত্র সেট নাম Daven সমান যেখানে ঘর সমান Cabot হাউস, যে যেতে যাচ্ছে যারা সারি এবং তারপর নাম আপডেট. এবং তারপর কয়েক SQL ডাটা ধরনের হয় গৃহস্থালির কাজ, VARCHAR, INT, এবং ভাসা. এই পরিষ্কার খেলা. আমি আবার যেতে হবে এবং নিশ্চিত করুন যে আপনি জানেন না এবং, আপনার Cheat শীট উপর তাদের আছে কি ঐ অক্ষর প্রতিটি জন্য ব্যবহার করা হয়েছে, তা আপনি, আপনার psets তাদের ব্যবহৃত এবং আপনি পরিচিত নিশ্চিত করতে এবং নিন থাকার সঙ্গে আরামদায়ক আপনার pset বিভিন্ন ধরনের তথ্য থেকে. হ্যাঁ. শ্রোতা: যে টেবিল কি সঞ্চিত ছিল? হ্যা, যেখানে এই টেবিল সংরক্ষিত হয়? MARIA ZLATKOVA: ওয়েল, এই মুহূর্তে, তা সংরক্ষণ করা হচ্ছে. যাই হোক, যেখানে এই টেবিল সংরক্ষিত হয়? কিন্তু এটা একটি SQL ডাটাবেসের মধ্যে সংরক্ষণ করা যাবে. শ্রোতা: কোথায় SQL ডাটাবেস হয়? কম্পিউটার, অনলাইন কোথাও, সার্ভার? MARIA ZLATKOVA: এটি একটি হতে পারে বিভিন্ন জিনিস সংখ্যা. হান্না Blumberg: আমরা সাথে interfaced করেছি বেশিরভাগই পিএইচপি মাই এডমিন সঙ্গে এসকিউএল টেবিল. সুতরাং আমরা একটি সার্ভার জিজ্ঞাসা পারে আমাদের জন্য তাদের সঞ্চয় করতে. আমরা আমাদের নিজের কম্পিউটারে তাদের সঞ্চয় করতে পারে. MARIA ZLATKOVA: এটা ঠিক উপর নির্ভর করে কিভাবে আপনার নিজের জন্য এটি কাজ করতে চান. কিন্তু আমরা সংরক্ষণকারী হয়েছে তাদের, হানা হিসাবে উল্লেখ করেছে, পিএইচপি মাই এডমিন, যা অনলাইন হয়. এবং তারপর পথ আমরা ব্যবহার পিএইচপি এবং এসকিউএল, আমরা এটি সংরক্ষণ কিছু পরিবর্তনশীল মধ্যে আমরা কি জন্য জানতে চাওয়া থাকেন. আমরা সব ইতিহাস থেকে নির্বাচন করা হলে, তাই USER_ID সেশন আইডি সমান যেখানে, যে সব সারি নির্বাচন হবে নির্দিষ্ট ব্যক্তির জন্য যারা ইতিহাস থেকে লগ ইন করা হয় টেবিল এবং সারি সেগুলি বাছাই. জানেন যে আপনি একটি শীতল জিনিস CS50 এর কোয়েরি ফাংশন যে এসকিউএল ইনজেকশন ট্যাগ বিরুদ্ধে রক্ষা করে. যে শুধু এটা নিশ্চিত যে মানে প্রবেশ করানো হয় যে ইনপুট সঠিক এবং যে ব্যক্তি যারা ইনপুট লিখে ইনপুট করার চেষ্টা করা হয় না কিছু দূষিত কোড পারেন আমাদের টেবিলের ড্রপ অথবা সবকিছু মুছে আমাদের ডাটাবেসের ভেতরে. একটি সংক্ষিপ্ত আলোচনা মডেল দেখুন কন্ট্রোলার মডেল, এটা বিন্যস্ত করার একটি উপায় এবং কোড সম্পর্কে চিন্তা. এটা আবার একটি নকশা দৃষ্টান্ত আছে. কি যে মানে হল যে আমরা হয় can-- এবং এটা ভাল অভ্যাস বিভিন্ন অংশের পৃথক করার আমাদের কোড এবং তারা কি এর এই তিনটি পারাদিগ্ম্স মধ্যে নিয়ন্ত্রণ. সুতরাং আমাদের দেখুন প্রায়শই আমাদের টেমপ্লেট, আমাদের বিন্যাস, পথ যে আমরা আমাদের কোড দেখায় কিভাবে সেট. যে বেশিরভাগ আমাদের সিএসএস ফাইল এবং উপায় আমরা আমাদের কোড নকশা সংজ্ঞায়িত যে, মূলত. আমাদের নিয়ন্ত্রক বেশিরভাগই কি আমরা পিএইচপি ফাইল সঙ্গে কাজ করছি. তাই আবার, সাথে কাজ আমরা যে তথ্য এবং সংজ্ঞা কিভাবে যে তথ্য, ব্যবহার করা হয় এবং তারপর যে তথ্য ক্ষণস্থায়ী হয় দেখুন অথবা মডেল সম্মুখের. এবং মডেল, আমরা করেছি যে ভাবে ব্যবহার করে আসছি হয়, আমাদের ডাটাবেসের হয়েছে তাই আমাদের তথ্য যেখানে এটা কোথাও আছে তাই সংরক্ষিত বাস, এবং কোন উপায় যে সম্পর্ক কোড আমরা যে তথ্য বা পেতে যে আমরা যে তথ্য আপডেট যে ভাবে. MVC মডেল তাই, HTTP- র অনুরোধ একটি ওয়েব সার্ভারে পাঠানো হয়. তারপর, নিয়ামক অর্থ বুঝিয়ে দেয় ব্যবহারকারী থেকে অনুরোধ এবং তারপর ব্যবহারকারীর ইনপুট অনুমোদিত হবে. এটা আমরা আছে ঐচ্ছিক নিয়ন্ত্রক যোগাযোগ একটি মডেল সঙ্গে, কিছু তাই আমাদের ডাটাবেসের মত বা অন্য কিছু কার্যকারিতা যে তথ্য relays. এবং পরিশেষে, তাহলে নিয়ন্ত্রক দেখুন সম্মুখের তথ্য প্রেরণ করা যাতে এটা হতে পারে অনুষ্ঠিত এবং এটা করতে পারেন যে কোনো ব্যক্তির কাছে দৃশ্যমান হয়ে ওয়েব পাতা অ্যাক্সেস. কোন প্রশ্ন? অসাধারণ. তাই আবার, মডেল, তার ফাংশন, আবার, তথ্য ক্রমাগত স্টোরেজ, হয় পরিচালনার এবং তথ্য সংগঠিত. এবং আমরা তাই দেখেছি কি পর্যন্ত মাইএসকিউএল ডাটাবেস এবং কোন ডাটা ফাইল ব্যবহার করতে পারে সে. দেখুন, তথ্য উপস্থাপনায় ব্যবহারকারী, UI 'তে, বা ইউজার ইন্টারফেস. আর এই উদাহরণ এইচটিএমএল হয়. এবং তারপর আমরা সংক্ষিপ্ত পিএইচপি থাকতে পারে. সুতরাং একটি লুপ জন্য যে iterates তথ্য উপর যে প্রিন্ট আউট দেখুন অংশ হিসাবে, হয় নিয়ন্ত্রক বিরোধিতা. আর আমাদের পিএইচপি ফাইল তারপর অনেক নিয়ন্ত্রক বিষয়শ্রেণীতে পড়া. এটা শুধু ব্যবহারকারীর অনুরোধ হ্যান্ডলগুলি এবং মডেল থেকে তথ্য পায়. ডকুমেন্ট মধ্যে জাম্পিং অবজেক্ট মডেল, এই মাত্র উপায় এইচটিএমএল বোঝায় নথি সংগঠিত হয়. তাঁরা একটি গাছ মধ্যে সংগঠিত করছেন একটি অনুক্রমের যে কাঠামো. আমরা এক্সেস আছে সুতরাং [শ্রবণাতীত] নথিটি উপস্থাপনা, আমরা চাই, ডকুমেন্ট সঙ্গে কাজ করতে পারেন আমরা মূলত বস্তু নিপূণভাবে. আর এই একটি করতে একটু একটু পরিস্কার, যখন আমরা অনেক আছে আমাদের বিভিন্ন ট্যাগ সাড়া আমাদের বৃক্ষ বিভিন্ন রুট. এবং তারপর এই উদাহরণস্বরূপ, আমরা প্রারম্ভিক নথি নোড আছে. আমাদের সাথে আছে, তারপর, আমাদের এইচটিএমএল নোড যে মাথা এবং শরীরের মধ্যে splits. হেড তারপর শিরোনাম ও আছে শিরোনাম, হ্যালো দুনিয়া রয়েছে. এবং আমাদের শরীরের শুধু রয়েছে হ্যালো, বিশ্বের পাশাপাশি. কোনো তাই কোন প্রশ্ন আমরা এ পর্যন্ত আবৃত যে জিনিষ? আর যদি না হয়, হানা হবে জাভাস্ক্রিপ্ট দিয়ে ধরে নিতে. অসাধারণ. হান্না Blumberg: ঠিক আছে, শান্ত. কিছু পিএইচপি বা এইচটিএমএল সঙ্গে আসে আপ, অথবা মারিয়া ঢেকে কাপড় কোন, আমরা সবসময় বিরতি করতে পারেন. আমরা ভাল উপর করছেন সময় আবার, তাই সন্ত্রস্ত. আর শুধু ফিরে যেতে সত্যিই দ্রুত এই করতে, আপনি প্রতি তাকান গত বছরের পরীক্ষায়, এই either-- এখানে আসে আপ কিছু এইচটিএমএল, এই চিত্রটি করতে. অথবা এখানে এই চিত্রটি, কিছু করতে এইচটিএমএল, যাতে স্পষ্টভাবে যে অনুশীলন. এবং তারপর যে কেউ নিশ্চিত আপনি অধিকার পেতে পারেন যে প্রশ্ন. কুল. সুতরাং আসুন দয়া করে জাভাস্ক্রিপ্ট সম্পর্কে কথা বলুন এবং এটি একটি সামান্য বিট কিভাবে পিএইচপি এবং ভালো ভাষা থেকে ভিন্ন সি, আমরা পূর্ব থেকেই দেখেছি দুই ভাষায়. সুতরাং এক নম্বর, এটা ঢিলেঢালাভাবে টাইপ করা. যে পিএইচপি ভালো হয়, কিন্তু সি ভিন্ন এটি একটি ব্যাখ্যা ভাষা. আবার, যে মত পিএইচপি, সি আর এই ভিন্ন আমাদের এটা use-- করার অনুমতি দিতে যাচ্ছে ওয়েব পেজ সঙ্গে সত্যিই চমত্কারভাবে কাজ করে. এটা আমাদের নিপূণভাবে অনুমতি যাচ্ছে কন্টেন্ট এবং কিভাবে এটা দেখতেও এটি কী. আমরা Ajax এর সামান্য বিট দেখতে যাচ্ছেন. এটা আমাদের যোগাযোগ করতে পারবেন অ্যাসিঙ্ক্রোনাস বিভিন্ন সার্ভারের সাথে এবং তথ্য পেতে পারেন. আর এই জিনিস যে সত্যিই হয় পিএইচপি এবং সি থেকে দয়া করে জাভাস্ক্রিপ্ট আলাদা এটা ক্লায়েন্ট প্রান্তের হয়. উভয় পিএইচপি এবং সি সাধারণত সার্ভার সাইড. অধিকাংশ অংশ জন্য এবং প্রায় সম্পূর্ণরূপে কি আমরা অন্তত এ, দেখা করেছি এই শ্রেণীর, দয়া করে জাভাস্ক্রিপ্ট যার মানে, ক্লায়েন্ট প্রান্তের উপর কাজ করে ব্রাউজারের প্রকৃতপক্ষে যে এটা চালানোর জন্য দায়ী. এবং যে আমরা না মানে সার্ভারের সাথে যোগাযোগ করতে হবে. সুতরাং এটা অনেক দ্রুত হতে পারে মানে এটা আসলে কারণ শুধু এটা, Chrome এর এটা ফায়ারফক্স, এর, সাফারি যাই হোক না কেন আপনি আসলে ব্যবহার আপনার জাভাস্ক্রিপ্ট চলমান. শ্রোতা: অ্যাসিঙ্ক্রোনাস এর অর্থ কি? হান্না Blumberg: আহ, কি অ্যাসিঙ্ক্রোনাস মানে? বড় প্রশ্ন. দ্বারা অ্যাসিঙ্ক্রোনাস মানে ভাল, কন্টেন্ট যা আমরা এটা ঠিক আছে, ব্যবহার, আমরা একটি ওয়েব পাতা তৈরি করছে এবং আমরা কিছু তথ্য পেতে হবে. ম্যাশআপ উদাহরণসহ তাই, আমরা চাইতে পারেন যে কিছু তথ্য নিবন্ধ শিরোনাম হয়. এখন, আমরা একটি বিকল্প could-- সিঙ্ক্রোনাস এটা করতে হয় এবং যে যাক মানে বন্ধ, নিবন্ধ পেতে যেতে, তারপর নিবন্ধ ফিরে পেতে, এবং রেন্ডার, কিন্তু যে সত্যিই ধীর হবে. যে একটি খারাপ ব্যবহারকারীর অভিজ্ঞতা হবে আপনি শুধু বসা হবে, কারণ কিছু সাড়া জন্য সেখানে অপেক্ষা. দ্বারা অ্যাসিঙ্ক্রোনাস আমরা করব মানে আমাদের ব্যবসা সম্পর্কে যাচ্ছে অবিরত, পাতা তরজমা, এবং আমরা একটি অনুরোধ পাঠান বন্ধ করব যে ধরনের যাচ্ছে পটভূমিতে ঘটতে. আমি মনে করি আমরা উদাহরণে ব্যবহার করি রব কলিং এবং বলার অপেক্ষা রাখে না বক্তৃতা, আরে, আপনি এই সন্ধান করতে পারেন এবং আমার জন্য আমার কাছে ফিরে পেতে, শুধু আমার উল্টোদিকে ফোনে অপেক্ষা. সুতরাং অ্যাসিঙ্ক্রোনাস ঘটনাচক্রে মানে আমাদের কাছ থেকে দূরে পটভূমিতে সমান্তরাল. বড় প্রশ্ন. আর কিছু? গ্রেট. আমরা শুধুমাত্র একটি অনেক বেশি ঝাঁপ দেব Ajax সঙ্গে অ্যাসিঙ্ক্রোনাস অনুরোধ. শ্রোতা: আছে যেখানে জাভাস্ক্রিপ্ট না এটা মডেল-ভিউ-কন্ট্রোলার দিয়ে পড়ে? হান্না Blumberg: প্রশ্ন ড. কোথায় জাভাস্ক্রিপ্ট পড়ে আছে মডেল-ভিউ-কন্ট্রোলার সাথে? এইচএম. আমি এটা fall-- পারেন অনুমান তাই আমরা সাধারণত না যে সেটিকে ঝুপ্ পছন্দ দৃষ্টান্ত, কিন্তু আমি বলতে হবে অনুমান, ঠিক আছে, দয়া করে জাভাস্ক্রিপ্ট তাই আসলে অনুমতি দিতে যাচ্ছে আমাদের, তথ্য জড়ো করা আসলে কি, তথ্য ব্যাখ্যা তথ্য দিয়ে অর্থপূর্ণ কিছু. যে ভাবে, এটা খুব নিয়ন্ত্রণ-মত. কিন্তু এটি আমাদের অনুমতি যাচ্ছে জিনিষ এবং প্রিন্ট কিছু প্রদর্শন. যে ভাবে, এটা খুব ভিউ-এর মত. হ্যা. সুতরাং যে ব্যক্তি পিএইচপি মত কোন ধরনের এটা কোন ধরনের উভয় যেখানে হতে পারে. ভালো প্রশ্ন. আর কিছু? ঠিক আছে, সন্ত্রস্ত. ডান বরাবর মুভিং. তাই এর একটি উদাহরণ দেখা যাক আমরা ব্যবহার করতে পারেন কিভাবে আমাদের ওয়েব প্রোগ্রাম এক জাভাস্ক্রিপ্ট. তাই আমি এই বিবেচনা করব এইচটিএমএল এর একটি গুচ্ছ সঙ্গে index.html. আর আমি এখন কি আপনি চান ফোকাস এই স্ক্রিপ্ট ট্যাগ. আর এই ঠিক আছে, আমি কিছু রান করতে চান, বলেছেন এটা জীবন যেখানে এখানে জাভাস্ক্রিপ্ট এবং হয়. এটা hello.js বসবাস. অনেক CSS এর মতো আর, আমরা পারা এইচটিএমএল মধ্যে জাভাস্ক্রিপ্ট করা. কেন আমরা তা খুঁজে আলাদা করতে চাইবেন? হ্যা. শ্রোতা: পুনর্লিখন সুষ্ঠু? হান্না Blumberg: হ্যা. এটি জুড়ে ব্যবহার করা আরো সহজ বিভিন্ন ওয়েব পেজ. এটা ক্লিনার জিনিষ রাখে. এটা শুধু ভাল অভ্যাস. অসাধারণ. ভাল উত্তর. তাই ভাল, তাই এই যাচ্ছে আমাদের index.html হতে. এবং তারপর নিচে এখানে আমাদের হয় ছোট্ট করে জাভাস্ক্রিপ্ট ফাইল. এবং এটা বলছেন সব, হ্যালো দুনিয়া সতর্কতা. এইটা কি ফিঙ্গারষ্টাইল যখন হয় এই পৃষ্ঠার renders-- তাই আপনি যাই হোক না কেন ওয়েবসাইটে যান এই সব যে ঘটতে যাচ্ছে হচ্ছে ÑÑ ঠিক আছে, আমি আছি, তা করা যাচ্ছে না বলে এই জাভাস্ক্রিপ্ট কোড চালানো যাচ্ছে. আর এই করে জাভাস্ক্রিপ্ট কোড শুধু সতর্কতা হ্যালো, দুনিয়া বলেছেন. তাই আমি এই পেতে যাচ্ছি বন্ধুত্বপূর্ণ সামান্য পপ-আপ. কুল? যে প্রথম ধরনের আমাদের মত জাভাস্ক্রিপ্ট প্রোগ্রাম, আমাদের হ্যালো, দুনিয়া. এর ওপর একটি সামান্য বিট আরো তাকান কি জাভাস্ক্রিপ্ট এর সিনট্যাক্স মত দেখায়. এবং বিশেষভাবে, এর সাথে এর তুলনা করা যাক আমরা দেখা করেছি, যা সি এবং পিএইচপি,. জাভাস্ক্রিপ্টে, আমরা আছে চলুন Var, ভেরিয়েবলের নাম, এবং তারপর তার প্রকৃত মূল্য. আর আমরা শুধু, একটি টাইপ কিছু উল্লেখ না করেন পিএইচপি, কিন্তু খুব সি ভিন্ন মত আমরা চেয়েছিলাম উদাহরণস্বরূপ, যদি তাই মূল্য 50 ধারণ করার, সি, আমরা বলতে হবে, আরে, সি, আমি একটি পূর্ণসংখ্যা চান, আমি কল করার জন্য এটি করা যাচ্ছে না আমি, এবং তার মান 50 হয়. পিএইচপি, এটি একটি সামান্য বিট সহজ. আমরা আরে, আমি একটি পরিবর্তনশীল চান, বলতে আমি বলা হয় এবং তার মান 50 হয়. খুব একভাবে, জাভাস্ক্রিপ্ট, আমরা , আরে, আমি একটি পরিবর্তনশীল নামক তোমার চান বলে তার মান 50 হয়. আমি ব্যবহার করে প্রতি পরবর্তী সময় আমি Var লিখুন প্রয়োজন হবে না. এটা শুধু আমি যে বিন্দু থেকে. সি, যেখানে একই ভাবে, আমরা আমি int বলে একবার, আমরা শুধু আমি ব্যবহার. কুল? ঠিক আছে. Loops জন্য মুভিং উপর, সৌভাগ্য যে, এই প্রায় আমি মনে করি তারা আছেন মনে exactly-- দেখুন কি ঠিক একই লুপে মত দেখতে যাচ্ছি সি মত কিছু যেখানে আপনার লুপ জন্য তিনটি আছে যাচ্ছে একটি আরম্ভের parts-- একটি শর্ত, এবং একটি আপডেট. যখন একটি লুপ, এটা সঠিক একই দেখায়. আমরা শুধু এটা একটি শর্ত দিতে. একটি Do যখন লুপ, আবার ঠিক একই. আমরা এটা একটি শর্ত দিতে. এর আমি over-- পুনরুক্তি করতে চেয়েছিলেন বলে আমি কিছু পাঁচবার করতে চেয়েছিলেন. সি, আমরা লিখতে পারে Init জন্য আমি 0 সমান. আমি 5 কম হয়, i ++. শুধু পার্থক্য হল জাভাস্ক্রিপ্ট এ, পরিবর্তে আমি 0 সমান int- বলছে, আমরা Var আমি 0 সমান বলে. সুন্দর. শুধু পার্থক্য আছে. যে কোনো কোনো প্রশ্ন? হ্যাঁ. শ্রোতা: পিএইচপি সুতরাং, এটা একই জিনিস ছাড়া কিন্তু একটি পরিবর্তনশীল মত? বা Var উদাহরণস্বরূপ যে ছিল? হান্না Blumberg: হ্যা. সুতরাং পিএইচপি, এটা যাচ্ছে একটি ডলার চিহ্ন হতে. সুতরাং এটা $ আমি সমান যাচ্ছে 0, $ আমি $ i ++, কম 5 হয়. বড় প্রশ্ন. এখন এর সম্পর্কে কথা বলা যাক ফাংশন ঘোষণা. সি, আমরা ঘোষণা যখন একটি ফাংশন, আমরা একটা নাম দিল এবং আমরা তা কিছু প্যারামিটার দিয়েছেন. এবং শুরুতে, আমরা টাইপ লিখেছিলেন. জাভাস্ক্রিপ্টে, সব আমরা লিখুন যা করতে হবে শব্দ ফাংশন যে , আরে, জাভাস্ক্রিপ্ট, বলেছেন আমি একটি ফাংশন নির্ধারণ সম্পর্কে নই. এই ক্ষেত্রে, এটা নাম সমষ্টি আছে. এবং এটি দুই আর্গুমেন্ট, x এবং y লাগে. আমরা পরোয়া করি না যে লক্ষ্য করুন X এবং Y ধরন সম্পর্কে. আর শুধু সি মত, আমরা আছে এই শব্দ রিটার্ন, তাই আমরা কিছু করতে পারি রিটার্ন X এবং Y ভালো. আর এখন একবার আমরা এই প্রথম লিখিত করেছি ফাংশন, আমরা কোথাও সমষ্টি ব্যবহার করতে পারেন. যে সম্পূর্ণই সূক্ষ্ম. এক সত্যিই শীতল জিনিস সম্পর্কে সি ভিন্ন খুব যে দয়া করে জাভাস্ক্রিপ্ট হয় ফাংশন করতে পারেন যে মান ভালো চিকিত্সা করা. তাই আমরা এখানে ভালো কিছু করতে পারেন আমি অনুমান যেখানে আমি এই বইয়ের নাম আপ আবরণ আমি Var সমষ্টি আপ আচ্ছাদিত part-- এবং আমরা শুধু বলেন ফাংশন XY রিটার্ন X প্লাস Y সমান. বলা হবে কি একটি বেনামী ফাংশন. এটি একটি নাম ছাড়া একটি ফাংশন. এই ফাংশন বলছেন যেহেতু সমষ্টি, ব্লা ব্লা ব্লা এই মাত্র ফাংশন বলতে হবে. কিন্তু এখন আমি আছে, যদিও এই বেনামী ফাংশন, যে ফাংশন সত্যিই শুধু একটি মান. আমরা একটি মান মত আচরণ করতে পারেন. সুতরাং আমরা একটি পরিবর্তনশীল একই তা সংরক্ষণ করতে পারেন উপায় আমরা একটি পরিবর্তনশীল মধ্যে 50 সঞ্চয় করতে পারে. তাই আমরা ঠিক আছে, আমি একটি চান, বলতে পারেন পরিবর্তনশীল, এটা, সমষ্টি বলা হচ্ছে এবং এটি এই ফাংশন. তাই এই দুটি জিনিস আসলে সঠিক একই জিনিস করতে যাচ্ছে, কিন্তু সিনট্যাক্স একটু হয় ভিন্ন এবং একটি মজার নোট ধরনের. হ্যা. শ্রোতা: আপনি কল করতে পারে, তাই বলার অপেক্ষা রাখে না বেনামী ছিল যে ফাংশন, সমষ্টি বন্ধনী 2, 5? হান্না Blumberg: হ্যা. আপনি এই বেনামী কল করতে পারেন একই ভাবে ফাংশন. আপনি যোগফল করতে হবে (2, 5) ;. এটা সম্পূর্ণই জরিমানা করা হবে. আমি Var সমষ্টি সমান না করে থাকেন তাহলে ফাংশন, আমি শুধু মুছে তাহলে আপাততঃ আমি এটা আমার হাতের উপর জানি, কিন্তু আমি তখন আপাততঃ মুছে জাহির যে ফাংশন ধরনের ধ্বংস হয়ে গিয়েছে. আপনি আবার কারণ এটি ব্যবহার করতে পারেন না আপনি এটা জন্য একটি নাম আছে কি না. এটা কিছু পড়ুন কঠিন আপনি কি কল জানি না. ভালো প্রশ্ন. হ্যা. শ্রোতা: আপনি সমষ্টি উল্লেখ করতে পারেন X প্লাস y এর মান সঙ্গে অন্যান্য স্থান? হান্না Blumberg: পারি আপনি অন্যান্য স্থানে রেফারেন্স সমষ্টি x এর মান প্লাস Y সাথে? আমি আপনি কি বলতে চাইছেন সম্পূর্ণরূপে নিশ্চিত না. শ্রোতা: তাই আপনার অতীত আধা-বেনামী ফাংশন সমষ্টি এই সমান হয় বেনামী ফাংশন, তাই সমষ্টি আপনি can-- যে এখন একটি পরিবর্তনশীল হান্না Blumberg: রাইট. তাই সমষ্টি পরিবর্তনশীল, কিন্তু এটি আসলে এর তাই সমষ্টি যার একটি পরিবর্তনশীল মান ফাংশন. সুতরাং এটা কোন ধরনের হয়, যা একটি ফাংশন, হয় একটি অদ্ভুত জিনিস আপনার মাথার চারপাশে মোড়ানো আমরা সঙ্গে বাজানো করছি, যেহেতু সি এবং আপনি সি তা করতে পারবেন না কিন্তু এখন আমরা কল যোগ করতে পারেন আমরা এখানে সমষ্টি পেরেছিলাম একই ভাবে. শ্রোতা: ঠিক আছে. হান্না Blumberg: হ্যা. ভালো প্রশ্ন. হ্যা. শ্রোতা: তাই আমরা ব্যবহার করবেন না পিএইচপি বা জাভাস্ক্রিপ্ট মধ্যে এগুলির নমুনা? হান্না Blumberg থে, আমরা এগুলির নমুনা ব্যবহার করতে হবে না, বিশেষ করে জাভাস্ক্রিপ্ট মধ্যে. আমি আছি যাতে এক খারাপ অভ্যাস জিনিস আপনি কি করা উচিত নয় বলে যাচ্ছে আপনি Var আমি = 50 লিখতে হবে না. আপনি শুধু 50 = আমি কাজ শুরু করতে পারে. এবং শুধু আমি একটি বিশ্বব্যাপী পরিবর্তনশীল করা হবে. এটা খুব খারাপ অভ্যাস কখনও সুনির্দিষ্টভাবে Var আমি বলতে কিন্তু এটি আপনি করতে পারেন এমন কিছু. ইন্টারপ্রেটার না আপনি চিত্কার যাচ্ছে. জাভাস্ক্রিপ্ট, বেশ ভালো হয় তুমি যা চাও তাই করতে পারো. ওহ দুঃখিত. দুই আছে. কমলা প্যান্ট. এগিয়ে যান. দর্শকদের: না, আপনি আগে. দর্শকদের: না, আমি ঠিক বলছে আমি আমার হাত ছিল না. ঠিক আছে. আপনি কল করতে হলে তাই যে প্রথমবার, এখন, সমষ্টি আমরা একই ভাবে এটা কল, এক্স Y, প্রতি একক সময় মত? হান্না Blumberg: হ্যা. তাই এই দুটি মূলত একই জিনিস. শ্রোতা: আর কি সুবিধা এক বা অন্যান্য ব্যবহার করে? হান্না Blumberg: কোন সুবিধা এক বা অন্যান্য ব্যবহার করে. আমি শুধু আপনার দুটি দেখাতে চেয়েছিল সিনট্যাক্স বিভিন্ন টুকরা. বার অনেক যেখানে বেনামী ফাংশন একটি উদ্দেশ্য আছে কি যদি অন্য যুক্তি ফাংশন একটি ফাংশন হবে. আর আমরা যা দেখতে পাবেন Ajax সঙ্গে শুধু এই একটি দ্বিতীয়. যে কোনো জানার জন্য করা হয়নি, তাই যদি, আপনার মাথার পিছনে মধ্যে এটি সংরক্ষণ. যে যেখানে একটি বেনামী ফাংশন দরকারী হতে পারে এটা সত্যিই মূল্য না, কারণ আমরা ঠিক করছি, যেহেতু এটি একটি নাম প্রদান একবার এটা ব্যবহার করা যাচ্ছে. হ্যা. শ্রোতা: যদি x এবং y পরিবর্তনের পরে দেখো, সেইসাথে পরিবর্তন যোগফল হবে? হান্না Blumberg: যদি x এবং y পরিবর্তন পরবর্তী, সেইসাথে পরিবর্তন যোগফল হবে? তাই এই আমি আসলে , কিছু যে মনে আবার, এটা শুধু ভিন্ন মতানুযায়ী সি থেকে এটি একটি মান নয়. এটা 5 নয়. এটা শুধু ফাংশন নিজেই. তাই যত তাড়াতাড়ি আপনি এটি পরামিতি দিতে হিসাবে, তারপর আপনি আসলে একটি মান নিরূপণ করব. MARIA ZLATKOVA: এবং তারপর আপনি ফাংশন কল করতে পারেন এবং কিছু মান পেতে এটি ব্যবহার. হান্না Blumberg: রাইট. ঠিক. হ্যা. শ্রোতা: আপনি যদি তাই শুধু পরিবর্তনশীল মধ্যে এটি সংরক্ষণ, Var X মত দুটি মান যোগফল সমান হান্না Blumberg: হ্যা. তাই আপনি শুধু Var সমষ্টি করতে পারে দুটি মানের যোগফল সমান. হ্যা. অন্য কোন প্রশ্ন? হ্যা. শ্রোতা: কিন্তু would যে যোগফল এবং সমষ্টি গুলান? আপনি আপনার পরিবর্তনশীল সমষ্টি কল যদি ভালো লেগেছে, আপনি ফাংশন যোগফল কল করবে? হান্না Blumberg: মিমি. মিমি. আপনি কিছু করে থাকেন তাহলে মত, যোগফল 2, 5 সমান? শ্রোতা: হ্যাঁ. হান্না Blumberg: আমি বিশ্বাস করি যে রাশির মান মুছে ফেলা হবে. তাই অন্য একটি আকর্ষণীয় জাভাস্ক্রিপ্ট সম্পর্কে জিনিস একটি ভেরিয়েবল নেওয়া যাবে না বিভিন্ন ধরনের একটি গুচ্ছ উপর. খারাপ অভ্যাস. আপনি কিছু না করা উচিত ভালো আপনি শুধু বলেন কি. কিন্তু সি, আমি সেট করা হয় তাহলে একটি পূর্ণসংখ্যা সমান, আমরা এটা না যে জানি একটি স্ট্রিং হয়ে যাচ্ছে. এই জাভাস্ক্রিপ্ট ক্ষেত্রে নয়. হ্যা, ভাল প্রশ্ন. আর কিছু? ঠিক আছে. সময়মত সব অধিকার করছেন. কিপিং যাচ্ছে. ঠিক আছে. আমরা একটি অ্যারে তাকান জাভাস্ক্রিপ্ট মধ্যে, এখানে স্ট্রিং একটি অ্যারে একটি দ্রুত উদাহরণ. এবং অ্যারে পরিবর্তনশীল অবধি প্রসারণ করা সম্ভব. তারা একটি আছে না একই ভাবে নির্দিষ্ট আকার তারা সি না যে আমরা ব্যবহার করতে পারবেন শুধু বর্গাকার বন্ধনী সঙ্গে উপাদান. যে পিএইচপি এবং অনেক অনেক ভালো দেখায় আমরা এই ক্ষেত্রে, বলতে পারেন যেখানে সি, মত, আমি শব্দ করে জাভাস্ক্রিপ্ট চেয়েছিলেন, আমি would একটি 0, 1, 2 সাথে বর্গাকার বন্ধনী arr না. যখন আমরা এবং তারপর আপনি সি মধ্যে স্মরণ একটি অ্যারের দ্বারা পেতে চেয়েছিলেন, এটা সত্যিই বিরক্তিকর ছিল. কিন্তু দয়া করে জাভাস্ক্রিপ্ট এ, সুপার সহজ. সমস্ত আমরা না, .দৈর্ঘ্য. এটা লেন্থ দেয়. এটাই. শ্রোতা: যে সহজ. হান্না Blumberg: হ্যা, তোলে আপনার জীবন অনেক সহজ. ঠিক আছে, না object--. জাভাস্ক্রিপ্ট মনে অবজেক্টস C-structs মত অনেক এবং পিএইচপি মিশুক অ্যারে. সুতরাং আমরা দেখা করেছি কি একটি অনেক JSON, যা জাভাস্ক্রিপ্ট অবজেক্ট স্বরলিপি ঘোরা. এবং এটি মূলত একটি উপায় আমাদের তথ্য গঠন করা. তাই এর একটি উদাহরণ দেখা যাক, সম্ভবত সবচেয়ে সহজ. তাই এখানে একটি বস্তুর একটি উদাহরণ যে CS50, শ্রেণীর দোকানে. আমি ক্লাসে বলে, তখন আমি, অবশ্যই অর্থ না, হ্যা CS50 অবশ্যই করার মত. আর আপনি দেখতে পাবেন বস্তুর সবকিছুই অন্তর্ভুক্ত করা যাচ্ছে কোঁকড়া ধনুর্বন্ধনী. আর আমরা যদি ক্ষেত্রের নাম সংযুক্ত করার শুরু বা আলাদা মান নির্দেশক. যাতে আপনি কিভাবে এই ধরনের দেখতে শুরু করতে পারেন পিএইচপি একটি মিশুক অ্যারে মত মতানুযায়ী. সুতরাং আমরা যদি ক্ষেত্রের সংযুক্ত করতে যাচ্ছেন বা কী নাম, অবশ্যই, স্ট্রিং সঙ্গে, এবং CS50. আমরা একজন প্রশিক্ষক আছে চলুন. আমরা টিএফএস আছে চলুন. আমরা psets এক নম্বর আছে চলুন এবং আমরা রেকর্ড আছে চলুন. আর খেয়াল করা এক শীতল জিনিস সব হয় এই জিনিস বিভিন্ন ধরনের আছে, এবং যে সম্পূর্ণই সূক্ষ্ম. এটা আসলে, একটি বস্তুর জন্য জরিমানা এটি সম্ভবত একটি বস্তুর জন্য আশা করা হচ্ছে স্ট্রিং সংমিশ্রণ আছে এবং সংখ্যা এবং বুলিয়ান এবং অ্যারে এবং অন্য যাই হোক না কেন আপনি পারে আপনার বস্তুর ভিতর আছে চান. আর এইসব হতে যাচ্ছি নোট নাম বা কী, এবং তারপর আমরা শুধু একটু কোলন দিয়ে এটা সেট সমান. শ্রোতা: ঠিক JSON, এর অর্থ কি? হান্না Blumberg: কি ঠিক JSON, মানে? JSON, শুধু ঘোরা জাভাস্ক্রিপ্ট অবজেক্ট স্বরলিপি. এটা ফরম্যাটিং এর মাত্র উপায়. হ্যা. এটা তোলে আমাদের তথ্য বিন্যাসের একটি উপায়. সি, এটা structs এর. পিএইচপি, এটা মিশুক অ্যারে. জাভাস্ক্রিপ্টে, আমরা বস্তু আছে. শ্রোতা: সুতরাং CS50 একটি বস্তু? হান্না Blumberg: CS50 হয় এই ক্ষেত্রে বস্তুর. এখন, কিভাবে আমরা আসলে অ্যাক্সেস না যারা ক্ষেত্র যারা ক্ষেত্র পরিবর্তন বা. উদাহরণস্বরূপ, আমরা সিদ্ধান্ত নিয়েছি যে অনুমান আপনি এক কম pset এই সেমিস্টারে চেয়েছিলেন. পরিবর্তে নয়টি, আমরা করছি মাত্র আট আছে যাচ্ছে. আমরা যে কিভাবে পরিবর্তন করতে হবে? ওহ, ভুল পথ. আমরা তা করতে পারে যে দুটি উপায় আছে. এক নম্বর বিন্দু দিয়ে হল স্বরলিপি এবং দুই নম্বর বর্গাকার বন্ধনী স্বরলিপি সঙ্গে হয়. সুতরাং, উদাহরণস্বরূপ, আমি যদি পরিবর্তন বা এক্সেস চেয়েছিলেন আমাদের CS50 বস্তুর psets ক্ষেত্র, আমি কি যদি CS50.psets হয়, তাই বস্তুর ডট নাম ক্ষেত্র বা কী নামে. খুব একভাবে, এটা ঠিক সমতুল্য তারপর, CS50 না, এবং এর সাথে বর্গাকার বন্ধনী মধ্যে, Psets. কুল? হ্যা. শ্রোতা: সুতরাং JSON হয় এখনও টেকনিক্যালি জাভাস্ক্রিপ্ট, যদিও psets আমরা [শ্রবণাতীত] এটা আলাদা? হান্না Blumberg: শিওর. প্রশ্ন তাই, হয় জাভাস্ক্রিপ্ট এবং JSON সমতুল্য? সুতরাং JSON, স্বরলিপি মূলত, হয় আমরা লেখে যে ভাবে জাভাস্ক্রিপ্ট থেকে একটি বস্তু. তাই তারা ঠিক একই না হন. আমি সেখানে, দয়া করে জাভাস্ক্রিপ্ট বলতে হবে জাভাস্ক্রিপ্ট অবজেক্টের হয়. JSON, ঐ বস্তু নেয় এবং তাদের ছাপে এবং তাদের প্রদর্শন বা একটা চমৎকার ভাবে তাদের সঞ্চয় করে. সুতরাং JSON একটি প্রোগ্রামিং নয় ভাষা জাভাস্ক্রিপ্ট যে ভাবে. এটা জন্য শুধু স্বরলিপি জাভাস্ক্রিপ্ট আমাদের বস্তু. হ্যা. শ্রোতা: তাই কি ঠিক [শ্রবণাতীত] সম্পন্ন? হান্না Blumberg: শিওর. তাই এই আসলে কিছুই না. এই সুবিধা শুধু একটি উপায়. সুতরাং আসুন আমরা পরিবর্তন করতে চেয়েছিলেন বলে সমস্যা সেট সংখ্যা আট থেকে নয় থেকে. আমরা কি কিছু করতে হয় CS50.psets = 8 ;. মত হ্যা, বড় প্রশ্ন. এই মাত্র আপনি বাক্য গঠন প্রদর্শন করা হয়. আসলে দরকারী কিছু না. কোন প্রশ্ন? ডান বরাবর মুভিং. সুতরাং আসুন কিভাবে একটি দ্রুত উদাহরণ তাকান আমি আপনি বলেছিলেন, কারণ দয়া করে জাভাস্ক্রিপ্ট কাজ আছে এই সব শান্ত জিনিষ এবং আমাদের ওয়েব পেজ পরিবর্তন করতে পারবেন. এর আসলে এটি ক্রিয়া দেখুন চলুন শুরু করা যাক. সুতরাং, উদাহরণস্বরূপ, এই এইচটিএমএল ফাইল নিতে. আর আমি তোমাদের উপর ফোকাস করতে চান জিনিস একটি বাটন, যা এই নির্দিষ্ট ট্যাগ, আইডি search_button সঙ্গে. এটা শুধু পাতা আছেন. তাই এখন দেখা যাক কি আমরা আসলে কি করতে পারেন. ওয়েল, যখন অনুমান আপনি যে বাটন ক্লিক করুন, আমরা একটি alert-- করতে চাই আপনি বাটন ক্লিক করা. আসুন আমরা তা করতে পারে কি না. তাই এই কিছু নয় window.onload-- যে আপনি অতএব, ক্লাসে দেখা করেছি ব্যঙ্গ জন্য এটা জানা প্রয়োজন হবে না. কিন্তু এই মূলত ওকে, কল, বলেছেন এই ফাংশন যখন উইন্ডো লোড. সুতরাং যে শুধু ধরনের সেটআপ কোড এর. যে সম্পর্কে এত চিন্তা করবেন না. আমি কি আপনার উপর ফোকাস করতে চান এখানে হয়. আমরা Var searchButton সমান বলে document.getElementByID search_button. আপনি অনুমান করতে পারে সুতরাং, এই কি আছে, এরা বলছে ঠিক আছে, উপাদান খুঁজে যেতে আইডি search_button সঙ্গে. এবং এখন আমরা যে আছে এবং আমি প্রকৃত উপাদান একটি মধ্যে এটি সংরক্ষণ করতে যাচ্ছে পরিবর্তনশীল searchButton. আর এখন আমরা আসলে যে উপাদান ব্যবহার করতে পারেন এবং এটি পরিবর্তন, বা তার মান অ্যাক্সেস, যে ভালো জিনিস. আমরা আসলে শুরু করতে পারেন ওয়েব পৃষ্ঠার সাথে ব্যস্ত. তাই এখানে আমি এখন আমি যে আছে, ঠিক আছে, বলে এটি ক্লিক করা হলে যে বাটন, এই বেনামী ফাংশন কল. সুতরাং এই যেখানে বেনামী ফাংশন দরকারী হয়ে. এবং ফাংশন কি করবেন না? হ্যাঁ, এটা ঠিক এই আহ্বান সতর্কতা ফাংশন এবং এটা বলছেন, আপনি অনুসন্ধান বাটন ক্লিক করা. আমি যেখানেই যান তাহলে কি ঘটবে এই এইচটিএমএল বসবাস এবং আমি বাটন ক্লিক করুন, আমি একটি অভিনব সামান্য সতর্কতা পাবেন যে আপনি বাটন ক্লিক বলেছেন. সুতরাং জিনিস মনোনিবেশ করতে এখানে document.getElementByID একটি নির্দিষ্ট এইচটিএমএল পায় দেওয়া আইডি দিয়ে উপাদান. আর এখন আমরা সেট করতে পারেন যখন যা যা ঘটবে তা যে বিশেষ উপাদান ক্লিক করা. শ্রোতা: আমরা যে সব দিতে হবে? হান্না Blumberg: দুঃখিত? শ্রোতা: আমরা আছে কি শারীরিকভাবে যে সব কোড? হান্না Blumberg: আমরা আছে না শারীরিকভাবে যে সব কোড? হ্যাঁ. বিরক্তিকর এই ধরনের নয়? এই কোড অনেক. শ্রোতা: আপনি কিছু আমদানি করতে পারে. হান্না Blumberg: রাইট. আমরা কিছু ব্যবহার করতে পারে. আর এ বিশেষ ওহ, এটা আমাকে বলছে আমি অধ্যায় শেখানোর আছে. বিশেষ করে, এর দিন jQuery লাইব্রেরি ব্যবহার, যে সত্যিই ছিল, কারণ দীর্ঘ এবং সত্যিই বিরক্তিকর এবং আমি এটা প্রক্রিয়া সহজ করতে সক্ষম হতে চান এবং এটা খাটো এবং লিখতে সহজ করতে. তাই jQuery একটি জাভাস্ক্রিপ্ট লাইব্রেরী. সুতরাং দয়া করে জাভাস্ক্রিপ্ট প্রোগ্রামিং হয় ভাষা; jQuery এর একটি লাইব্রেরি. এবং এটি সহজ জিনিস এক গুচ্ছ তোলে. এটি পরিবর্তন করা এবং জুড়ে যাচ্ছে তোলে একটি এইচটিএমএল ডকুমেন্ট অনেক সহজ. এটি পরিচালনার ঘটনা সহজ করে তোলে. এটা সহজ অ্যানিমেশন তোলে এবং এটি সহজ এজাক্স তোলে. সুতরাং আসুন দুটি মধ্যে তিড়িং লাফ দিন এই মুহূর্তে সেগুলো. মাফ করবেন. আমরা কাজ শুরু করার আগে কিছু মৌলিক সিনট্যাক্স. এটা হল সবচেয়ে কল কি jQuery লাইব্রেরি মত চেহারা. আমরা এই ডলার ব্যবহার sign-- পিএইচপি কোন সংযোগ সাইন, শুধু একটি নাম inconvenient-- নির্বাচক, বিন্দু, এবং তারপর একটি কর্ম. সুতরাং আসুন কিছু দেখতে দিন যে কংক্রিট উদাহরণ. তাই আসলে এই একই ইভেন্ট স্লাইড থেকে কোড. তাই এই দীর্ঘ, কদর্য বিষয় হয়ে এই অনেক nicer, ছোট জিনিস. তাই আসুন এই ভাঙ্গিয়া করার চেষ্টা করা যাক. এই ঠিক আছে, jQuery-- এই ডলার বলেছেন , jQuery এর sign-- আমার উইন্ডোতে এটি. সুতরাং যে নির্বাচক. লোড করা হলে, এই ফাংশন কল. সুতরাং যে সব ভিতরে. ঠিক আছে. এ পর্যন্ত সব ঠিকই? ঠিক আছে. এখন, jQuery আমাকে খুঁজে আইডি search_button সঙ্গে জিনিস. আর এটা কি ক্লিক করা, এই ফাংশন কল. এবং তারপর এই ফাংশন এর ঠিক একই. শুধু সতর্কতা একটি সামান্য বিট না, আপনি অনুসন্ধান বাটন ক্লিক করা. সুতরাং এটা সত্যিই চমৎকার. এটা সত্যিই ঘন এবং আমাদের কোড সহজসাধ্য. আমি জানি যে কীভাবে এটা আইডি search_button এর এবং ক্লাসের search_button পছন্দ না? শ্রোতা: হ্যাশট্যাগ? হান্না Blumberg: হ্যা. এই হ্যাশ চিহ্ন, এটা শুধু CSS এর মত. , যখন আমরা তাই CSS এর সঙ্গে, মনে রাখবেন আইডি দ্বারা কিছু নির্বাচন করতে চেয়েছিলেন, আমরা পাউন্ড সাইন ব্যবহৃত. আর আমরা নির্বাচন করতে চেয়েছিলেন যখন বর্গ দ্বারা কিছু, আমরা ডট ব্যবহার. গ্রেট. ধারণা তৈরী কর? তাই jQuery অনুমিত হয় শুধু আমাদের জীবন সহজ করতে. হ্যা. শ্রোতা: তাই আমি একটু বিভ্রান্ত নই বেনামী ফাংশন কাজ করে কিভাবে. আপনি এই anonymouse নাম না ফাংশন, ফাংশন? এটা কিভাবে বলা হয়? হান্না Blumberg: শিওর. সুতরাং ফাংশন শুধু একটি শব্দ যে আমি একটি ফাংশন নির্ধারণ সম্পর্কে নই, বলছেন. শ্রোতা: ঠিক আছে, ওহ. হান্না Blumberg: ঠিক আছে? এবং তারপর আমরা একটি হিসাবে এটি পাস যুক্তি নিয়ে যাক চাচ্ছি ক্লিক ফাংশন এই ভেতরের one--. তাই হ্যাঁ, যে ফাংশন তাই, এই বেনামী ফাংশন, একটি প্রকৃত যুক্তি হয়ে. সুতরাং, দয়া করে জাভাস্ক্রিপ্ট মধ্যে মনে আমরা মান হিসাবে ফাংশন বিবেচনা করতে পারেন. শ্রোতা: ঠিক আছে, ওহ. হান্না Blumberg: হ্যা. আমি যে চাই "ওহ." হলাম. অন্য প্রশ্ন? সময়? MARIA ZLATKOVA: গুড. ভাল. হান্না Blumberg: জট্টিল. কিছু দ্রুত দরকারী jQuery. আমি যেতে যাচ্ছি না এই সব দিয়ে. এই স্লাইড হতে হবে অনলাইন একটি সামান্য বিট আপ পরে, তাই আপনি না পরীক্ষা করতে পারবেন কিছুক্ষন পরে এটি. কিন্তু মূলত, সাধারণ আমরা বলতে যেখানে প্যাটার্ন, ঝুলিতে আরে, ঠিক আছে, jQuery এখানে আমার তারপর এখানে নির্বাচক এবং একটি কর্ম. আপনি অ্যাক্সেস মত কাজ করতে পারেন একটি ফর্মের মূল্য, কিছু এইচটিএমএল অ্যাক্সেস যখন ব্যবহারকারী কি নিয়ন্ত্রণ একটি ফর্ম, যে ভালো জিনিস জমা. হ্যাঁ. শ্রোতা: তাই পরীক্ষার আমরা প্রয়োজন চলুন থেকে বেশ অনেক জানা jQuery এর ডকুমেন্টেশন. সুতরাং আমরা jQuery পেস্ট / কপি যে দেওয়া আমাদের ঠকাই শীট ডকুমেন্টেশন, যেখানে লাইন টানা হচ্ছে? ভালো লেগেছে কত জানা প্রয়োজন না? হান্না Blumberg: প্রশ্ন ড. প্রশ্ন হচ্ছে মূলত আপনি যে দেওয়া jQuery এর ডকুমেন্টেশন অ্যাক্সেস করতে পারছি না পরীক্ষার সময়, আপনি কত উচিত জানেন? আমরা আপনাকে আসা আশা করবেন না কিছু র্যান্ডম ফাংশন সঙ্গে আপ আমরা গুগল থেকে আপনি আশা করবে যে. পরিষ্কার খেলা হয় যে জিনিস আমি হত , সাধারণ সিনট্যাক্স শুধু ধরনের বলে আইডি দ্বারা নির্বাচন করতে সক্ষম হচ্ছে এবং তাই শুধু সিএসএস মত বর্গ দ্বারা. এবং তারপর প্রকৃত ফাংশন themself, আমরা সম্ভবত আপনি বলতে পারবেন. হ্যা. শ্রোতা: তাই আপনি নির্বাচন হলে বর্গ দ্বারা ডট মানে হবে. হান্না Blumberg: হ্যাঁ, ঠিক. ভাল. আপনি বর্গ দ্বারা নির্বাচন করা হলে, তা যাচ্ছে পরিবর্তে পাউন্ড সাইন ডট করা. হ্যাঁ. শ্রোতা: আপনি চান পার্থক্য পুনরালোচনা আইডি দ্বারা এবং বর্গ মধ্যে বেছে নেওয়ায়? হান্না Blumberg: শিওর. নির্বাচন মধ্যে পার্থক্য বর্গ দ্বারা আইডি ও নির্বাচন. মারিয়া বলেন যাতে একটি কিছুক্ষন আগে, সেখানে শুধুমাত্র এক এইচটিএমএল উপাদান হতে পারে একটি প্রদত্ত আইডি দিয়ে, বর্গ, যেহেতু, এটা দলের একটি গুচ্ছ করতে পারবেন একসঙ্গে বিভিন্ন উপাদান, তাই এর সাথে সম্পর্কিত করা হয় যে কিছু, কিন্তু ঠিক একই. যে প্রশ্নের উত্তর আছে? অসাধারণ. হ্যাঁ. শ্রোতা: আপনি একাধিক আছে কি যদি একই ক্লাসে আছে কিছু? হান্না Blumberg: কি হবে আপনি একাধিক জিনিষ আছে যে একই ক্লাসে আছে? সুতরাং, উদাহরণস্বরূপ, আমরা হন তাহলে শুধু, বিশুদ্ধ জাভাস্ক্রিপ্ট ব্যবহার আমরা ভালো কিছু করতে চাই document.getElementsByClass. এবং যে আসলে তারপর কি আয় উপাদানের একটি অ্যারে. এবং আপনি উপর পুনরুক্তি করতে পারেন আছে তাদের আপনি চান, যা কেউ খুঁজে অথবা. এটা দিতে যাচ্ছে না আপনি একটি একক উপাদান. এটি যদি আপনি দিতে যাচ্ছে উপাদানের একটি অ্যারের. বড় প্রশ্ন. আর কিছু? অসাধারণ. তাই আমি আপনার সাথে পরিচিত হন তাহলে মনে কোনো jQuery আপনি, pset মধ্যে দেখেছি আপনি যেতে ভাল হওয়া উচিত. প্রশ্ন? ওহ না. আমি সত্যিই শেখানোর আছে. আরাম করুন. এটা জরিমানা করা হবে. আমি সেখানে পাবেন. এর এজাক্স সম্পর্কে কথা বলা যাক. সুতরাং Ajax ছাগু karigor.com ভাল হতে যাচ্ছে, এর এটা ঘোরা কি দিয়ে শুরু করা যাক. এটা একটি আদ্যক্ষরা আছে. এটা অ্যাসিঙ্ক্রোনাস ঘোরা জাভাস্ক্রিপ্ট এবং XML. এবং XML মূলত হতে যাচ্ছে [শ্রবণাতীত] আমাদের তথ্য একটি টাইপ সঙ্গে. কিন্তু আমরা আসলে এক্সএমএল ব্যবহার করেন নি. পরিবর্তে, আমরা ঠিক JSON ব্যবহার. তাই মূলত, এটা কিছু data-- এর অ্যাসিঙ্ক্রোনাস, জাভাস্ক্রিপ্ট, এবং তথ্য, এই ক্ষেত্রে, JSON মধ্যে. আর আমাদের লক্ষ্য আমরা উল্লেখ হিসাবে কিছুক্ষন আগে, একটি করতে সক্ষম হবে অনুরোধ, যে অনুরোধ করতে হয়েছে এর জিনিস পটভূমি, কিন্তু অবিরত আমরা যা করতে ইচ্ছুক ছিল যাই হোক না কেন. এবং যে তথ্য দেওয়া হল তখন, যখন প্রস্তুত, তারপর আমরা এটি অন্তর্ভুক্ত করব. সুতরাং আসুন কি এই দেখতে দিন আসলে ভালো দেখায়. এবং এই ভাবে আপনি হতে হবে পরিচিত একটি সামান্য বিট pset8 থেকে, এক আপনি শুধু এ পরিণত. তাই এখানে একটি বৈধ jQuery এর মধ্যে ফাংশন যে আমরা প্রতাপ এই ডলার চিহ্ন about-- জানতে চান. সুতরাং এটি jQuery ফাংশন, .getJson বলেছেন. এবং কি এই ফাংশন আছে এটা হয় একটি URL এবং কিছু parameters-- লাগে তাই আমি ক্ষেত্রে মনে pset8, এটা ভালো ছিল, ইউআরএল articles.php ছিল এবং পরামিতি = কিছু পোস্টাল কোড যেতে ছিল. এবং এটা ঠিক আছে, আপনি একটি অনুরোধ করতে, বলছেন দেওয়া পরামিতি সঙ্গে এই URL- এ. এবং যে শুধু ঘটে. এটা সম্পন্ন হলে, এটা হয় সফলভাবে সম্পন্ন করতে যাচ্ছে অথবা এটা ব্যর্থ যাচ্ছে. তাই এই কল সমতুল্য রব ও কিছু করতে তাকে জিজ্ঞাসা. তিনি ফিরে কল এবং তারপর যখন তিনি এটা হয় আমি কাজ করছি অথবা আমি ব্যর্থ বলে যাচ্ছে. আপনি আছেন যেখানে ক্ষেত্রে তাই কাজ, আপনার ঠিক আছে, আমি কাজ করছি, বলতে. এবং তারপর আপনি এই ফাংশন কল. এই ক্ষেত্রে, এটি একটি হতে যাচ্ছে কিছু তথ্য লাগে যে ফাংশন. আমরা সাধারণত যত্নশীল এক, তথ্য আমরা ফিরে আসলে ছিল যে তথ্য .getJSON কলিং ফলে. আর আপনি এটা দিয়ে কিছু করতে পারবেন. Pset8 ক্ষেত্রে তাই, আমরা একটি তালিকা হিসাবে এটি প্রদর্শিত. ব্যর্থ একটি ফাংশন হতে যাচ্ছে অনুরোধ ব্যর্থ হলে যে বলা হয় যে কারনেই হোক. আর pset8 ক্ষেত্রে, আমরা শুধু এটা console.log. যে কোন প্রশ্ন? হ্যা. শ্রোতা: আমরা শুধু ফাংশন থেটা ব্যবহার করতে পারি পরিবর্তে ফাংশন, textStatus, jqHXR. হান্না Blumberg: শিওর. তাই হ্যাঁ, আমি pset মধ্যে মনে হয়, আমরা শুধু ফাংশন তথ্য দেখেছি. সুতরাং এটা ঠিক ঠিক, হ্যাঁ the-- এর. যে আমরা pset মধ্যে দেখলাম. যে সম্পূর্ণই সূক্ষ্ম. যদি আপনি যেমনটি এই মাত্র হয় আরো তথ্য উঠিয়ে ফেলা, এই জিনিস আছে আপনি .getJSON থেকে পেতে পারে. ভালো প্রশ্ন. আর কিছু? হ্যা. শ্রোতা: সুতরাং .getJSON এজাক্স হয়? হান্না Blumberg: ঠিক আছে. সুতরাং এই প্রবঞ্চক অংশ ধরনের. এটা করতে পারবেন যে একটি jQuery ফাংশন আপনি অ্যাসিঙ্ক্রোনাস কল করতে. আর যারা অ্যাসিঙ্ক্রোনাস কল, যে কি আমরা Ajax হিসেবে উল্লেখ করে থাকেন. হ্যা. যে আমার জন্য সত্যিই একটি দীর্ঘ সময় নেয় আমি যখন ছাত্র ছিলাম পৃথক্ টান. শ্রোতা: আপনি আবার বলতে পারি? হান্না Blumberg: হ্যা. আমি আবার কি বলতে পারেন যে? এই .getJSON ফাংশন, এটি একটি jQuery ফাংশন. আর এটা করতে যাচ্ছে একটি অ্যাসিঙ্ক্রোনাস কল. আর এই অ্যাসিঙ্ক্রোনাস কল, আমরা করেছি এজাক্স হিসাবে যারা উল্লেখ করা হয়েছে. অন্য কোন প্রশ্ন? আমরা বাকি মাত্র কয়েক মিনিট সময় আছে. এবং মারিয়া এর যাচ্ছে নিরাপত্তা সঙ্গে আপ মোড়ানো এবং তারপর আমরা চলুন শুধু সম্পর্কে কাজ করতে হবে. MARIA ZLATKOVA: জট্টিল, ঠিক আছে. সুতরাং এই মাত্র কয়েক সেকেন্ড সময় লাগতে হচ্ছে ÑÑ এই সেকেন্ড ধরে দেখুন. আর এই সত্যিই মহান কিছু নয়. কেন এবং কেউ কি আমাকে বলতে পারেন? কি foo বিন্যাস মধ্যে যাওয়া এবং may পারে সম্ভাব্য কিছু খারাপ হতে পারে, এবং যে কি বলা হয়? হ্যা. শ্রোতা: তাহলে যে যুক্তি 12 অক্ষরের বেশী হয় সালে পাশ, এটা ওভারফ্লো পারে. MARIA ZLATKOVA: রাইট. পারফেক্ট. ইহাকে কি বলে? আপনি শুধু এটা উল্লেখ করেছে. শ্রোতা: বাফার ওভারফ্লো. MARIA ZLATKOVA: হ্যাঁ, ওভারফ্লো বাফার. সুতরাং এই এমন কিছু বিষয় যা আমরা বাফার ওভারফ্লো হিসাবে পড়ুন. আর আমরা, foo বিন্যাস যে ভিতরে দেখতে আমরা আমাদের বাফার, সি সংজ্ঞায়িত করেছি 12 একটি আকার সঙ্গে. যাইহোক, মূল, আমরা না এ সব কোন ভাবেই পরীক্ষা কিনা যাতে argv1-- দ্বিতীয় যুক্তি ছিল. আমরা কি না তা পরীক্ষা না এটা মাপ উপযুক্ত. সুতরাং আমরা যদি একটি ছিল বিশেষ করে দূষিত ব্যবহারকারী ছিল যে কিছু যুক্তি রাখা যারা 12 বছরের কম আর, এবং তারপর সম্ভাব্য যে সীমার অতিক্রম যুক্তি, কিছু এক্সিকিউটেবল কোড ছিল তিনি খারাপ কিছু না করার চেষ্টা করা হয় যে এর সাথে; তারপর এই, কি ঘটতে পারে রিটার্ন অগ্রাহ্য হবে foo বিন্যাস ফাংশন এর ঠিকানা, যখন ফাংশন ঘটাচ্ছে যে কোড এক্সিকিউট ফিরে. এবং তারপর খারাপ ব্যাপার ঘটতে পারে. এই সকলের জানার জন্য? আর আমরা এই বিরুদ্ধে কিভাবে রক্ষা করতে পারে? কোন মতামত? মূলত, এর ভিতরে সম্ভাব্য foo বিন্যাস, কিভাবে আমরা নিশ্চিত করতে না পরীক্ষা করতে পারবেন যে ঘটতে পারে না? শ্রোতা: আকার 12 অতিক্রান্ত হয়, আপনি অতিরিক্ত মেমরি বরাদ্দ হবে? MARIA ZLATKOVA: পরামর্শটি, বরাদ্দ আকারের অতিরিক্ত মেমরি ছাড়িয়ে গেছে. আসলে, আমরা কিছু একটা করতে পারেন পাশাপাশি যে এর চেয়ে সহজ অনেক. আমরা শুধুমাত্র স্ট্রিং দৈর্ঘ্য পেতে পারেন প্রবেশ করানো হয় যে যুক্তি, যে কম হয়, যদি পরীক্ষা এর চেয়ে বড় বা 12-- সমান আমরা এটি করতে চান, যা কি আমরা চাই না, কারণ হতে এটা তোলে আমাদের বাফার সীমা অতিক্রম করার. আর তা না, তবে আমরা যুক্তি দিয়ে কাজ করতে পারবেন. এটা আছে এবং তারপর, যদি আমরা আসলে চান ব্যবহারকারী এ সম্ভাব্য Yello করতে. কিন্তু এই যে আমরা কি করবেন কিভাবে. হ্যাঁ. শ্রোতা: আপনার যা করা উচিত memcpy বাস্তব দ্রুত ব্যাখ্যা? MARIA ZLATKOVA: ওহ, দুঃখিত. হ্যাঁ. Memcpy ঠিক আছে, যাই হোক না কেন হচ্ছে ÑÑ দুঃখিত লাগে. আমার মনে হয় এটি যাই হোক না কেন লাগে বারে, যাই হোক না কেন প্রেরণ করা হয় কমান্ড লাইন আর্গুমেন্ট হিসাবে foo বিন্যাস সম্মুখের. সুতরাং এটা argv1 নিতে যাচ্ছে. Argv1 এখানে বার বলা হয়. তাই এটা বার নিতে যাচ্ছে এবং এটা সি সেটিকে কপি যাচ্ছে. শ্রোতা: ঠিক আছে. MARIA ZLATKOVA: আর এটা করতে যাচ্ছে তৃতীয় যুক্তি শুধু বোঝায় copy-- কত তা সি মধ্যে কপি করা যাচ্ছে. শ্রোতা: অই. তাই এই এক এর অনুলিপি করা তারপর, এটা সব. MARIA ZLATKOVA: হ্যা, এটা সব কপি হয়. হাঁ. প্রথমত, আমরা বার নয় নিশ্চিত এটা একটা পয়েন্টার কারণ সমান নাল. তারপর আমরা বারের স্ট্রিং দৈর্ঘ্য পেতে. আমরা এটা নিশ্চিত যে অপেক্ষাকৃত ছোট বা সমান 12. এবং তারপর আমরা করেছি কারণ নিশ্চিত করেছেন, আমরা আসলে যা করতে পারেন memcpy এবং যে ঠিক আছে যে নিশ্চিত. কোন প্রশ্ন? গ্রেট. আমি দুটি সত্য বা মিথ্যা প্রশ্ন আছে. কেউ সরাসরি আমাকে বলতে পারবেন এই সত্য বা মিথ্যা হয় তাহলে কি হবে? হ্যাঁ, এটা মিথ্যা. ঠিক. দুইটাই মিথ্যা. একটি পাসওয়ার্ড ব্যবহার করে তাই সত্যিই ভাল ধারণা কেউ জানে না কারণ যদি আপনার পাসওয়ার্ড, তারা ঠিক করতে পারেন আপনার সব অন্যান্য অ্যাকাউন্ট অ্যাক্সেস. এবং তারপর আইকন কিছুই না নিরাপত্তা নিশ্চিত করার জন্য. আমরা সাধারণত মধ্যে HTTPS জন্য হওয়া উচিত পরিবর্তে HTTP এবং URL এর. এর আর অন্য কিছু ধরনের আমরা উল্লেখ করেছি যে আক্রমণ, ডেভিড উল্লেখ করেছেন যে , এসকিউএল ইনজেকশন আক্রমণ বক্তৃতা. আমরা ইতিমধ্যে দেখেছি যে আমরা don't-- যদি এবং CS50 ক্যোয়ারী ফাংশন নিশ্চিত যে এসকিউএল তোলে ইনজেকশন আক্রমণ ঘটতে পারে না. কিন্তু আমরা CS50 ব্যবহার না হলে, কোট, উদ্ধতি "ক্যোয়ারী মধ্যে," আমরা নিশ্চিত করতে হবে যে ব্যবহারকারীর ইনপুট আসলে কিছু এসকিউএল নয় সব সৃষ্টি করবে ক্যোয়ারী আমাদের টেবিল হেরে যাও অথবা কিছু খারাপ আমাদের ডাটাবেসের সঙ্গে ঘটেছে. সেশন হাইজ্যাক হয় হামলার আরেক ধরনের যে যখন কিছু খারাপ ঘটবে ব্যক্তির কিছু শিকার এর অধিবেশন ব্যবহার আইডি লগ-ইন তথ্য অ্যাক্সেস করতে. সুতরাং যে একটি খুব তুচ্ছ উদাহরণ মত আমরা একটি সার্বজনীন কম্পিউটার আছে, তারপর খারাপ ব্যক্তির মধ্যে এবং তারপর লগ তারা সংরক্ষিত হয় যে কুকি আছে. এবং কুকিজ সেশনের জন্য পরিবর্তন করবেন না. তারপর আমরা শিকার যেতে আছে এবং তারপর ওয়েবসাইট ইন. কুকি পরিবর্তন না একটি নির্দিষ্ট সেশনের জন্য. এবং তারপর শিকার মধ্যে লগ তারপর ওয়েবসাইট এবং ছেড়ে. এবং তারপর ব্যক্তির যারা ফিরে যায় তারপর এখনও তাদের সেশন আইডি ব্যবহার করতে পারেন তাদের তথ্য অ্যাক্সেস করতে. সুতরাং যে এক উদাহরণ যে ঘটতে পারে কিভাবে. এবং তারপর আমি খুব বেশী চিন্তা করতে হবে না নির্দিষ্ট কোড বা কিছু সম্পর্কে এই হতে পারে যে যে মত, কিন্তু ধারণা কিছু বাছাই করা হচ্ছে কি এই জড়িত ভেরিয়েবল. এবং তারপর হেডার সাধিত তথ্য হামলায় আরেক ধরনের হয় যে ডেভিড সম্পর্কে তিনি বলেছেন আছে. আর এটা শুধু বোঝায় যখন ঘটতে পারে কি প্রতিক্রিয়া, HTTP- র আমাদের হেডার ভিতর প্রতিক্রিয়া সঠিকভাবে sanitized হয় না. আর উদাহরণস্বরূপ ক্ষেত্রের কোন, কেউ হেডার এক মুছে ফেলা হয় তাহলে মান বেশী কিছু ধারণ করে কি তারা contain-- উচিত এবং আসলে , একটি 200 উদাহরণস্বরূপ, ধারণ ওকে অবস্থা কোড, তারপর তারা সম্ভাব্য দূষিত করতে পারে কিছু তারা অনুমিত করছি না যখন. কিন্তু আমি খুব চিন্তিত না নির্দিষ্ট কোড সম্পর্কে অনেক যে, এই হতে পারে ভাবনার সাজান যে মত উচ্চ পর্যায়ের কিছু. আমি মনে হয় এই সব আমরা আবরণ আছে. অ্যামেজিং. কারো কাছে কি কোন কোন প্রশ্ন আছে আমরা আচ্ছাদিত যে জিনিস? হ্যাঁ. শ্রোতা: তাই এক ধরণের আরো যৌক্তিক প্রশ্ন. কন্টেন্ট প্রধানত দৃষ্টি নিবদ্ধ করা হয় ব্যঙ্গ 1 পরে কিছু উপর? MARIA ZLATKOVA: তাই প্রশ্ন হল, কন্টেন্ট হয় ব্যঙ্গ 1 পরে কিছু প্রধানত দৃষ্টি নিবদ্ধ করা? তাই ফোকাস পর হয় বাদে ব্যঙ্গ 1, আমরা কিছু উপর ফোকাস করা প্রয়োজন যে যদি pset5 এবং ডাটা স্ট্রাকচার অনেক আমরা আচ্ছাদিত যে. আর আমরা যে বলতে পারবে না আমরা আগে কিছু উপেক্ষা করতে পারেন এটা ভাল হিসাবে এটি উপর তৈরী করে, কারণ যে. সুতরাং যে ফোকাস, প্লাস যদি pset5 উপাদান লিঙ্ক তালিকা, stacks এর সহ মত, queues, এবং সবকিছু হানা উপর গিয়েছিলাম যে. হান্না Blumberg: রাইট. হ্যাঁ, আমরা সব সি স্টাফ উপর গিয়েছিলাম এ খুব খুব দ্রুত শুরুতে. কিন্তু রিভিউটা করতে ভুলবেন না. ফিরে যান এবং ক্যুইজ 0 পর্যালোচনা ঘড়ি. একটি দম্পতি আরো যৌক্তিক নোট, শুধু যখন আমরা আপনার দৃষ্টি আকর্ষণ আছে. আমরা অফিসে ঘন্টা আছে যাচ্ছি উভয় সোমবার এবং মঙ্গলবার রাতে. তারা এমডি 119 হতে যাচ্ছেন. এই এত সব ওয়েবসাইটে হয় আপনি এটা, কোন উদ্বেগ শুনতে না হলে. MARIA ZLATKOVA: 11:00 8:30. হান্না Blumberg: হ্যা, 11:00 8:30. আমরা সেখানে থাকবো. আমরা প্রশ্নের উত্তর দিতে সেখানে থাকব. এটি বেশ শান্ত হোন এবং মজা. আপনাকে বলছি যে কোন প্রশ্ন করতে পারেন আপনি ব্যঙ্গ 1 আছে. এবং ব্যঙ্গ 1 হয় বুধবার, তাই সৌভাগ্য. আপনি হয়তো আপনার কোন প্রশ্ন থাকে, তাহলে এখানে এক অন এক আমাদের সঙ্গে কথা বলা চলে আসে. কুল. অনেক ধন্যবাদ. MARIA ZLATKOVA: ধন্যবাদ এত, বলছি. শ্রোতা: ইয়ে. [সাধুবাদ]