R.J. Aquino: এর মাত্র শুরু করা যাক. তাই এই ক্যুইজ 1. এখানে কিছু উচ্চ পর্যায়ের তথ্য. ব্যঙ্গ জন্য আমার পাতা এই সময়ে হয় URL টি, আর CS50.net, যদিও যে এখনও কাজ করবে. এটা CS50.harvard.edu/quizzes/2013/1 এর. এটা আপনি কহন, পৃষ্ঠা সম্পর্কে বড় কোথায় এবং কখন, যথা আগামী বুধবার কক্ষ একটি গুচ্ছ মধ্যে. আর আগামী বুধবার দ্বারা, আমি এখন থেকে দু 'দিন মানে. এই সমস্ত তথ্য আছে. কিন্তু এটা ক্রমযোজিত হয়. প্রথমার্ধে থেকে তাই সব কিছুর বছরের, ব্যঙ্গ উপর সম্ভাব্য হয় আপনি সত্যিই উন্নত করতে পারবেন না, কারণ সি জিনিস ছাড়া শর্ত এবং যদি loops এবং মত জন্য. কিন্তু উপর জোর থাকবে ক্যুইজ 0 সাল থেকে আচ্ছাদিত উপাদান, structs এবং ফাইল দিয়ে শুরু আমি / O. এটা সাধারণত আরো ক্যুইজ 0 টিরও চ্যালেঞ্জিং. গড় স্কোর সাধারণত কম. হার্ড অধ্যয়ন. আপনি অধ্যয়নরত করছি না, ব্যবহার নিশ্চিত করা CS50/discuss আপনার প্রশ্ন পোষ্ট এবং অন্য লোকের প্রশ্নের পড়া. তাই আপনি যদি কোনো প্রশ্ন থাকে না, লগ ইন করুন এবং পড়ুন আপনার বন্ধুদের প্রশ্ন. তারা সম্ভবত ভাল প্রশ্ন করছি. এবং অনুশীলনের ক্যুইজ নিতে. আমরা জন্য ক্যুইজ দান করছি এখন সাত বা আট বছর. তারা অনলাইনে সব করছি. ভবিষ্যত প্রশ্নের অনুরূপ পুরানো প্রশ্নের. আমরা তাদের জন্য কিভাবে. ব্যঙ্গ এখনো বিদ্যমান নেই. আমাদের কেউ এটা দেখা যায়. কিন্তু দেখতে হবে পূর্ববর্তী মো. এই পর্যালোচনা সেশনের জন্য, এই হল না বিষয়ের একটি সম্পূর্ণ তালিকা. আপনি শুধুমাত্র তাহলে এই পরিচর্যা ও করতে পারবেন না ব্যঙ্গ জন্য পুরোপুরি প্রস্তুত. অন্যথা, এটি হতে পারেন না একটি ব্যঙ্গ যে অনেক. এবং এই অগত্যা হয় যদি আপনার কোন বিষয়ে জানা প্রয়োজন বিষয় দেওয়া. এটা জিনিষ আপনি এক্সপোজ সেসব আমরা আবৃত করেছি, আপনাকে স্মরণ করিয়ে কি আমরা আচ্ছাদিত, এবং ভাবে যা আমরা তা আচ্ছাদিত. তবে আপনি যদি আরো যেতে হবে এবং হবে গভীর আপনি ডাবল চেক করার অধ্যয়ন যখন আপনি কোনো সম্পর্কে সবকিছু জানেন যে আপনি পূরণ করেছি বিষয় এবং যে যে সব কোণ বক্তৃতায় আচ্ছাদিত. ব্যঙ্গ নোট যেতে আপনাকে বলতে লেখক নোট, ঘড়ির বক্তৃতা ভিডিও. এটা নিশ্চিত করুন যে আপনি করেছি করা একটি ভালো উপায় আপনার সব ঘাঁটি আচ্ছাদিত. আমি এই প্রণীত যখন সুতরাং, শুরু স্লাইড, আমি যে আমি পাওয়া যেখানে লাগাতে চেষ্টা তথ্য. তাই ফাইলের আমি / হে, উদাহরণস্বরূপ, সপ্তাহের 7, সোমবার এর বক্তৃতা, এবং পোস্ট ধারা 6 ও সমস্যা সেট সব আছে ফাইল সম্পর্কে তথ্য ইনপুট / মন্ত্রণালয় আমি কাজ করেছি এই প্রত্যেক বিষয়ের জন্য. সুতরাং যারা শিরোনাম স্লাইড may আপনি সহায়ক হতে. তাই আমরা এখানে ফাইল ইনপুট / মন্ত্রণালয় আছে মধ্যে মনে রাখবেন, সমস্যা 5 সেট করুন, আমরা fclose, fopen ব্যবহৃত fwrite, fread, এবং fseek. 30ish JPEGs উদ্ধার ও রয়ে সঙ্গে পরিবর্তিত ও তছনছ হচ্ছে বিটম্যাপ, আপনি বেশ পরিচিত হওয়া উচিত এই ফাংশন সঙ্গে এবং কিভাবে তারা কাজ. আপনি আর পরিচিত, যদি স্পষ্টভাবে তাদের পর্যালোচনা. এবং নিশ্চিত করুন যে আপনি বুঝতে না কি বিভিন্ন আর্গুমেন্ট আছে, তারা ব্যবহার করতেন না. কিন্তু সাধারণ ফাইল সংক্রান্ত বাগ আপনার সম্পর্কে বলা হতে পারে - হ্যাঁ, আপনি বিস্মৃত করেছি চেক করতে হলে আপনি যান আগে fopen আসলে কাজ একটি ফাইল পরিবর্তন. যে খারাপ হতে পারে. আপনি একটি ফাইল fclose করতে ভুলে করেছি আপনি fopened করেছি যে, যে অনুরূপ একটি মেমরি লিক. যে বেশ খারাপ. এবং যদি আপনি করেছি যদি চেক বিস্মরণ আপনি আগে ফাইলের শেষে পৌঁছেছেন এটি লেখা শুরু. যদি আপনি বলে তাই, আরে, আমি এ আছি ফাইলের শেষে. আমার 5 আরো বাইট দিন. ওহ, এটা সম্ভবত যাচ্ছে না আপনি আশা উপায় কাজ. অর্থাৎ, ফাইল ইনপুট / আউটপুট জন্য সত্যিই এটা আমরা এটি এত কি কারণ সমস্যা সেট দিয়ে. আপনি বুঝতে হলে তাই কি ঘটছে ছিল সমস্যা সেট 5 সালে bitmats স্মরণ এবং JPEGs তারপর, আপনি সম্ভবত সব করছি আমি / ও ফাইল জন্য সেট যে একটু যদি অস্পষ্ট, তা হ 'ল যে সমস্যা পর্যালোচনা সেট এবং সংশ্লিষ্ট উপাদান. Structs ছিল যে বিষয় ছিল ক্যুইজ 0 এবং ক্যুইজ 1 মধ্যে লাইন. বেশ ক্যুইজ 0 জন্য কাটা না. সুতরাং তারা স্পষ্টভাবে নেভিগেশন হবেন ক্যুইজ 1, সপ্তাহের 7, সোমবার. একটি struct কি? এখানে আমরা একটি struct প্রদর্শন করুন. এটি একটি নতুন ধরনের মত. এটি একটি ধারক মত একাধিক ক্ষেত্রের জন্য. এই ক্ষেত্রে, আমরা একটি struct ঘোষণা করেছি দুটি ক্ষেত্র আছে যে ছাত্র - আমরা আহ্বান করছি যে একটি স্ট্রিং নাম এবং আমরা বয়স আহ্বান করছি যে কোন int. তাই আমি ছাত্র প্রায় পাস অথবা আমি যখন ছাত্র সংশোধন করুন, আমি করতে পারবেন তাদের নাম এবং তাদের বয়স প্রবেশ. এর যে জন্য কিছু কোড তাকান. এখানে আমরা আমি ঘোষণা করেছি যে দেখুন একজন ছাত্র, S, ঠিক মত আমি কোনো ভেরিয়েবল ডিক্লেয়ার - int-X, int-Y, ইত্যাদি ইত্যাদি. এখানে ছাত্রদের গুলি করে. তিনি তার ক্ষেত্রে কিছুই সঙ্গে শুরু হয়. তাই আসুন তাদের সেট যাক. আপনি বিন্দু দিয়ে একটি struct ক্ষেত্র সেট. তাই আমি এখানে যে s.name = RJ বলেন করেছি. আর = 21 s.age. আপনি ক্ষেত্র আপডেট করতে পারেন আপনি আপডেট চাই একই ভাবে একটি পরিবর্তনশীল এর মূল্য. তাই আমি সঙ্গে RJ থেকে আমার নাম পরিবর্তন করতে চান R.J. কোন সময়সীমার বানান সঠিক উপায়. এটি = RJ, একই s.name হবে আমরা মূলত এটি বলেন. এবং তারপর আপনি তাদের ব্যবহার করতে পারবেন. সুতরাং আমরা তাদের সেট করেছি. আমরা তাদের আপডেট করেছি. আপনি তাদের ব্যবহার করতে পারবেন একই ভাবে. তাই এখানে, আমি মুদ্রণ করছি R.J. 21 বছর বয়সী. এবং আমি সেই মান অ্যাক্সেস করছি s.name এবং s.age সঙ্গে. সুতরাং যে structs ব্যবহার হচ্ছে বিন্দু স্বরলিপি সঙ্গে. হাঁ, প্রশ্ন? AUDIENCE: উপর একটি কারণ আছে কি আপনাকে করা হয়নি যে আগের স্লাইড typedef মত শীর্ষ লাইন, উপর ছাত্র তারপর struct ছাত্র এবং শেষে ছাত্র? R.J. Aquino: তাই প্রশ্ন, ছিল এই স্লাইড, আমরা সাধারণত দেখা করেছি তারপর struct নোড typedef এবং struct ক্ষেত্র এবং তারপর শব্দ নোড. এবং এখানে আসা কিভাবে আমি typedef বলে নি তারপর struct ছাত্র এবং struct এবং তারপর ছাত্র বা ক্ষেত্র? কারণ আমি করতে হবে না হয় struct ভেতরে এটি অ্যাক্সেস. সুতরাং এটি একটি নাম ছাড়া এটি ছেড়ে ঠিক আছে. আমি ঠিক তা চলে যাবে একটি বেনামী struct. আমরা সংযুক্ত তালিকার জন্য এটা করতে এবং কারণ ভিতরে আপনার প্রয়োজন কারণ জিনিষ হয় একটি struct নোড তারকা উল্লেখ. সুতরাং struct একটি নাম আছে আছে, তাই আপনি পরে এটা ব্যবহার করতে পারবেন. এটা একটা ছোটখাট বিস্তারিত আছে. কিন্তু আপনি সাধারণত typedef struct দেখতে পাবেন কোঁকড়া ধনুর্বন্ধনী আপনি প্রয়োজন নেই, যদি নাম এবং typedef struct কিছু নাম কোঁকড়া ধনুর্বন্ধনী অনুসরণ যদি আপনি হবে নামের প্রয়োজন. যাতে এর একটি ভাল প্রশ্ন. এবং যে বিন্দু, আমরা পরিবর্তন ঝোঁক structs এবং structs দ্বারা প্রায় পাস না মান দ্বারা, রেফারেন্স. তাই আমরা ঠিক করতে পয়েন্টার কাছাকাছি পাস করব structs পরিবর্তে চারপাশে ক্ষণস্থায়ী নিজেদের structs. সুতরাং আপনি খুব ঘন ঘন হতে যাচ্ছেন ব্যবহার করে, এই ক্ষেত্রে, ছাত্র * বা struct নোড * অথবা নোড * পরিবর্তে ছাত্র বা নোড আউট. তাই এখানে, আমি আগেই করেছি, ঠিক আছে, পরিবর্তনশীল ptr s এর ঠিকানা হতে যাচ্ছে. এটা পয়েন্টার হতে যাচ্ছে ছাত্র R.J. যাও তাই আমরা যারা ক্ষেত্র এ পেতে পারেন আমরা কিছু পেতে হিসাবে একই. প্রথমত, আইডি পয়েন্টার রেফারেন্স struct পেতে. যে তারপর * ptr এবং একটি বিন্দু এবং তারপর বয়স. সুতরাং যদি ক্ষেত্রের অ্যাক্সেস করতে, এবং আমি আপডেট করেছি এটা এখন 22 থেকে, কারণ, যাক এর বলুন, এটা আমার জন্মদিন ছিল. একটি শর্টকাট সিনট্যাক্স আছে এখানে তীর ব্যবহার করে. সুতরাং ptr তীর বয়স মাত্র নয় * ptr.age হিসাবে একই. এখন, যে আপনি পাবেন কিছু মুখস্থ ও মনে রাখা. আপনি, এটা pset6 মধ্যে অনেক ব্যবহার speller pset. কিন্তু এই কি আসলে নীচে ফণা উপর. এটা পয়েন্টার dereferencing হচ্ছে এবং তারপর এটি ব্যবহার. প্রশ্ন? AUDIENCE: [শ্রবণাতীত]. R.J. Aquino: সুতরাং কেন আমরা ব্যবহার করছেন পরিবর্তে structs হিসাবে পয়েন্টার নিজেদের structs? আপনি পার করছি কারণ হবে একটি ফাংশন একটি struct, তাহলে সম্ভবত মাত্র 4 বা তাই চারপাশে প্রেরণ করতে ইচ্ছুক পয়েন্টার প্রতিনিধিত্বকারী বাইট হিসাবে সম্ভাব্য 30 বা বিরোধিতা Struct যে 40 বাইট. সুতরাং একটি ফাংশন কিছু ক্ষণস্থায়ী সহজ যখন জিনিস সংক্ষেপে ছোট. প্রশ্ন? AUDIENCE: আপনি এই উল্লেখ থাকতে পারে শুরুতে, কিন্তু আছে [শ্রবণাতীত] অন্যান্য স্লাইড আপ? R.J. Aquino: এই স্লাইড হবে পর্যালোচনার সময় পরে আপ. আমরা ওয়েবসাইটে তাদের পোস্ট করব. তাই চলন্ত এবং সামান্য উপর চলন্ত দ্রুত, আমরা তথ্য সম্পর্কে কথা বলতে যাচ্ছেন স্ট্রাকচার. অনেক আছে. আমরা তাদের একটি গুচ্ছ আচ্ছাদিত. এখানে আপনি বুঝতে হবে কি ডাটা স্ট্রাকচার সম্পর্কে. আপনি সত্যিই একটি উচ্চ সময়ে বুঝতে হবে প্রতিটি কাঠামো কি শ্রেনী. আপনি ইংরেজিতে ব্যাখ্যা করতে পারবেন আপনার CS50 গ্রহণ করেনি যে বন্ধু কিভাবে আমরা আমাদের তথ্য সংগঠিত করছেন এবং কেন আমরা চাই এই ভাবে কিছু ব্যবহার করা? যে জিনিস এক. আর দুই, বুঝতে বাস্তবায়ন. তাই এই জিনিস ব্যবহার পদ্ধতি বুঝতে সি এবং আমরা এই মাধ্যমে চালু করা হবে. এবং তারপর জিনিস তিনটি জানতে হবে চালানোর সময় এবং সীমাবদ্ধতা আপনি ব্যবহার করছেন বিভিন্ন কাঠামো. আপনি ব্যবহার করেন কেন তাই বুঝতে একটি পরিবর্তে একটি অ্যারের টেবিল হ্যাশ. বুঝুন কিভাবে দ্রুত, গড়ে, একটি হ্যাশ টেবিল ব্যবহার করে. অপারেশন দ্রুত হয় অভিব্যাক্তি যুক্ত তালিকা কিন্তু অ্যারে নেভিগেশন ধীর এবং তদ্বিপরীত. সুতরাং যে বুঝতে, আপনি করতে হবে শুধু জানতে বিগ-হে স্বরলিপি বুঝতে এইসব কথা বলার জন্য কিভাবে জিনিষ অসুস্থ. এবং আমরা যে বিষয়ে কথা বলতে পারবেন. সুতরাং প্রথম জিনিস, তালিকা লিঙ্ক. এখানে একটি উচ্চ পর্যায়ের ছবি একটি লিঙ্ক তালিকা. আমরা ক্লাসে এই প্রদর্শন করুন. আমরা সাধারণত 10 জনের আছে মঞ্চে দাঁড়িয়ে. কিন্তু আমরা নোড একটা সিরিজ আছে যেখানে প্রতিটি নোড কিছু মান এবং একটি পয়েন্টার আছে তার পরের মান. সুতরাং আপনি পরের এক নোড থেকে পেতে শুধু আমার পরবর্তী নোডের দিতে বলে. আপনি যে নোড আছে. আমার পরবর্তী নোডের দিন. আপনি যে নোড আছে. তাই আমার পরবর্তী নোডের দিন এবং কোন নোড বাম আছে যতক্ষণ. তাই কথা বলার জন্য অবিরত একটি উচ্চ পর্যায়ে এটা. এটা জিনিস সন্নিবেশ করা খুব সোজা একটি লিঙ্ক তালিকা মধ্যে. আপনি যাতে যত্নশীল না থাকে, আপনি শুধু এটা ড্রপ করতে পারেন ডান শুরুতে. এটা ধ্রুব সময়. কিন্তু এটি একটি মান খোঁজ নেয়া কষ্টকর. আপনি জিজ্ঞাসা করার চেষ্টা করছেন, আমার তালিকায় সাত কি? আপনি মধ্য দিয়ে যেতে হবে প্রতি একক মূল্য. এই সাত কি? এই সাত কি? এই সাত কি? এই সাত কি? এবং উপর আবার. এবং যে হে (ঢ) এর. তাই ব্যঙ্গ জন্য অধ্যয়নরত যখন, অ্যারে সঙ্গে এই তুলনা করুন. যে ঠিক আছে কি? লাইট অস্পষ্ট গিয়েছিলাম. ঠিক আছে. যখন একটি লিঙ্ক তালিকা ভাল? যখন একটি অ্যারের ভাল? সুতরাং আসুন কিছু কোড তাকান. এখানে একটি সম্ভাব্য নোড হয়. এটি একটি struct এর. এটা কোন int এন যা আমাদের মান হতে হবে. এবং এটা, পরের একটি struct নোড * আছে যা পরবর্তী নোডের আমাদের পয়েন্টার. তাই এখানে, আমরা আমরা ঘটেছে দেখতে পারেন আমাদের নোডের মধ্যে কোন int করা আছে. কিন্তু এই গৃহস্থালি একটি লিঙ্ক তালিকায় ছিল বড় বা floats একটি লিঙ্ক তালিকা, আমরা সম্পূর্ণই খুব যে যেত না. Pset6 মধ্যে মনে রাখবেন, আপনি সম্ভবত একটি ছিল শুধু গৃহস্থালি বড় বা এর লিঙ্ক তালিকা স্ট্যাটিক গৃহস্থালি অ্যারে. এর একটি অপারেশন এখানে তাকান. তাই আমরা একটি নতুন প্রবেশ করাতে চান এন আমাদের লিঙ্ক তালিকায়. আমরা যে একটি মাথা পয়েন্টার দিয়ে যাত্রা শুরু যে এই নোডের একটি পয়েন্টার n এর মান এবং একটি পয়েন্টার একটি পরের যে এই নোডের একটি পয়েন্ট মান এন ও নাল এর পরে, কারণ এটি শেষ নোড এর. সুতরাং সময় স্বার্থে, আমি আছি পর্দায় সব কোড করান. এবং আমরা এটা ভিতর দিয়ে হেটে যাব একটি সময়ে কয়েক লাইন. তাই এখানে কোড এর. আমি এটা পাঠযোগ্য আশা করি. আমরা কি প্রথম জিনিস আমরা একটি নতুন নোডের malloc. সুতরাং এটি একটি নতুন নোডের একটি পয়েন্টার যে বেশ কিছু সেট নেই এখনো এটি মধ্যে বড়. আমরা নিশ্চিত যে পরীক্ষা নতুন নোডের নাল নয়. অন্যথা, আমরা ছেড়ে দিতে হবে. সুতরাং যে চেক করা হচ্ছে, আমরা এখন নোডের মধ্যে মান সেট. সুতরাং আমরা আমাদের এন ক্ষেত্রের মধ্যে নতুন এন করা. এবং আমরা নির্দেশ পরের পয়েন্টার সেট মূল মাথা, আমরা করতে পারেন যাতে এখন এই ঢোকানো হয়েছে আমাদের তালিকায় নোড. পরিশেষে, আমরা বিশ্বব্যাপী মাথা বিন্দু আছে আমাদের নতুন নোডের জন্য, যাতে আমরা করতে হলে মাথা থেকে আরম্ভ হয়, আমরা এই সময়ে হবে নতুন প্রথম নোডের পরিবর্তে পুরানো প্রথম নোডের. এবং এই ফাংশন প্রস্থান করে যখন, পরিবর্তনশীল নতুন নোড আর, বিদ্যমান এটা ফাংশন স্থানীয় কারণ. সুতরাং পার্থিব রাষ্ট্র. আমাদের বিশ্বব্যাপী মাথা আমাদের নতুন স্থানটিকে স্থানটিকে যা প্রথম নোডের, আমাদের মূল প্রথম নোডের, যা পয়েন্ট এর পর নোডের. যে সন্নিবেশ ছিল. আমি যে অপেক্ষাকৃত ছিল আশা করি অনুসরণ সহজবোধ্য. সন্দেহ থাকলে, একটি ছবি আঁকা যখন. তাই আমি যে বিষয়ে কথা বলছি যে খুঁজে লিঙ্ক তালিকা এবং আমি কোড খুব সহায়ক নয়. একটি লিঙ্ক একটা ছবি আমি যেহেতু তালিকা ওহ, আমার মনে করতে পারবেন, তাই আমি এখানে এই নোডের আছে. কিন্তু আমি যে পয়েন্টার আপডেট যদি, এটা বিচ্ছিন্ন সমাপ্ত. এবং আমি ভুলে গিয়ে যেখানে নোড যায়. এবং কোড প্রস্থান করে. এবং যদি আপনি একাধিক নোড আছে যে সংযোগ বিচ্ছিন্ন করা হয়. এবং আপনি সঙ্গে শেষ নেই আপনি চান তালিকা. তাই আপনি যদি ছবি আঁকা এবং এটা করতে হলে ধাপে ধাপে, আশা করছি, আপনি দেখতে পাবেন শর্তাবলী জিনিস সঠিক অনুক্রমে নিশ্চিত করুন পয়েন্টার আপডেট তালিকার একসাথে আসে. সন্নিবেশ তুলনামূলকভাবে সহজবোধ্য. একটি আরো জটিল এক হতে হবে একটি সাজানো তালিকা মধ্যে সন্নিবেশ. একটি আরো জটিল ফাংশন মুছে যায় এবং, খুঁজে যাতে একটি তালিকা মাধ্যমে খুঁজছেন কিছু আছে কিনা দেখতে. সম্ভবত আপনি pset6 মধ্যে এই কি যখন আপনি আপনার হ্যাশ টেবিল মধ্যে আছে এবং আপনি বলেন, ওয়েল, শব্দ আপেল হয় আমার লিঙ্ক তালিকায়? তাই আপনি যদি ইতিমধ্যে এই কাজ হতে পারে. কিন্তু স্পষ্টভাবে, আপনার মেমরি রিফ্রেশ করুন এবং খুঁজে reimplement চেষ্টা এবং একটি লিঙ্ক তালিকা জন্য মুছে reimplement. মজা সাইড নোট, সেখানে দোকর সংযুক্ত আপনি যেখানে তালিকা, উভয় ফরোয়ার্ড এবং নির্দেশ যে পয়েন্টার আপনি যেতে পারে, যাতে অনগ্রসর পরবর্তী নোডের এবং পূর্ববর্তী নোডের. আর গত বছরের একটি প্রশ্ন ছিল যে ধরনের ব্যঙ্গ, কথা বলা আমার তালিকা দোকর সংযুক্ত. এখন, যে আপনি যে একটি কাঠামো আছে অপেক্ষাকৃত পরিচিত সাথে, কারণ অধিকাংশ আপনাদের মধ্যে সম্ভবত pset6 তাদের ব্যবহৃত. এখানে একটু কম পরিচিত যে এক. একটি সাইড নোট হিসাবে, আমি ক্যুইজ 1 যে মনে প্রাথমিকভাবে ক্যুইজ 0 কঠিন, কারণ আপনি আপনি করছেন স্টাফ যতটা এটি না করে. যে অন্য উপায় করা, ক্যুইজ 0 জন্য, আপনি সি অনেক লিখিত ছিল আমরা সি সম্পর্কে আপনাকে জিজ্ঞাসা ক্যুইজ 1 জন্য, আমরা যে বিষয়ে অনুরোধ জানানো চলুন পিএইচপি এবং জাভাস্ক্রিপ্ট, যা আপনি অনেক হিসাবে লিখিত হয়নি. আমরা সি কোড সম্পর্কে আপনাকে জিজ্ঞাসা করতে যাচ্ছেন যে আপনি, হিসাবে অনেক লেখা হয়নি এই উন্নত সি স্টাফ. তাই স্পষ্টভাবে, স্টাফ আমরা অনুশীলন বক্তৃতায় সম্পর্কে বললাম যে আপনি অগত্যা না সমস্যা সেট. যার কথা বলছেন, আপনি লিখিত নি একটি সমস্যার উপর একটি স্ট্যাক সেট. কিন্তু বক্তৃতায় ছিল. এখানে উচ্চ স্তরের ছবি নেই আমরা প্রতি বছর যে প্রদর্শন stacks. এটি মধ্যে ট্রে এর স্ট্যাকের এর মাথের ভোজনশালা. একটি উচ্চ স্তরে, stacks একটি শেষ হয় প্রথম আউট ডাটা স্ট্রাকচার, মধ্যে. তার মানে আপনি চলুন মানে অনেক কিছু করা - 1, 3, 7, 12, 14, নেতিবাচক 0. আমি থাকতে না পারে এক জিনিস বলেন - 3, 0 ঋণাত্মক. আপনি লগইন করেননি সব জিনিষ করা এবং যদি আপনি রাখা গত এক প্রথম বাইরে আসতে যাচ্ছে যে এক. তাই আপনি যদি দুটি অপারেশন আছে - ধাক্কা এবং পপ. আমি যে নির্বাণ সব ভালো gesturing ধাক্কা হয়. এবং তারপর আমি দখল মধ্যে পৌঁছানোর কিছু বা দখল উপরে পৌঁছানোর কিছু, যে পপ এর. সুতরাং আমরা stacks বাস্তবায়ন চলুন. এবং আমরা বক্তৃতায় তাদের দেখিয়েছেন অ্যারে ব্যবহার করে. কিন্তু আপনি তাদের যেত না লিঙ্ক তালিকা ব্যবহার করে. একটি স্ট্যাক একটি ধারণাগত তথ্য হল গঠন, একটি পছন্দ করি বাস্তবায়ন নির্দিষ্ট এক. তাই কি যে দেখাবে? এটা ধরনের ভালো দেখাবে. আপনি একটি পূর্ণসংখ্যা আকার আছে চাই. এবং যদি আপনি মানের একটি অ্যারে আছে চাই যে কারণ আমরা, ট্রে আহ্বান করছি ছবি জন্য কি ছিল আমাদের - ট্রে int - এবং তারপর কিছু সর্বোচ্চ ক্ষমতা. তাই কি মত চেহারা ধাক্কা হবে? আমরা একটি স্ট্যাক গুলি যদি ভাল, তারপর ধাক্কা গুলি সম্মুখের কিছু, আমরা পেতে চাই গুলি মাপ. এবং যে পরের হবে আমাদের অ্যারের খোলা স্পট. সুতরাং আমরা আমাদের স্ট্যাকের মধ্যে তিনটি বিষয় আছে, তারপর ট্রে 3 পরের হবে খোলা স্পট, কারণ 0, 1, এবং 2 ইতিমধ্যেই আপ ভরা হয়. সুতরাং আমরা প্রবেশ মূল্য রাখা s.trays [s.size], তৃতীয় স্পট. এবং তারপর আমরা, s.size বলার বাড়ায় আরে, আমরা আগে তিনটি বিষয় ছিল. এখন, আমরা চারটি আছে. তাই আপনি যদি ধাক্কা করলে আছেন 4 মধ্যে কিছু করা যাচ্ছে. অথবা আপনি পপ করলে চলুন 3 পরিবর্তে 4 বা যাই হোক না কেন তাকান. এবং তারপর আমরা সত্য ফিরে পাবেন বলে, আরে, আমরা সফল. এই কাজ করেন. থাম্ব একটি নিয়ম হিসাবে, যদি যে এর একটি ফাংশন সত্য ফিরে বা অনুমিত মিথ্যা সবসময় আপনি করতে পারেন, সত্য ফেরৎ কিছু ভুল কাজ করেছেন. তাই এই কাজ করে? ওয়েল, এটা 1 জন্য কাজ করে জরিমানা, এবং 2, এবং 3 ও 4, এবং পাঁচ. কিন্তু এর আমি আমার ক্ষমতা পৌঁছানোর বলা যাক. আমি তখন একটি সমস্যা পাতিত, কারণ করেছি সাইজ ক্ষমতা হিসাবে একই, আমি আছি এখন একটি করে কিছু করা চেষ্টা আমি স্থান নেই যেখানে অ্যারে. তাই স্বল্প চেক এই স্থির করা. S.size == ক্ষমতা থাকে, মিথ্যা ফিরে. অন্যথা, যান এবং আমরা কি কি করতে. তাই আমরা কি কি জানতে চাইতে পারেন stacks জন্য সম্পর্কে কি? আপনি কি অধ্যয়ন করা উচিত? আপনি কি অভ্যাস করা উচিত? ওয়েল, পপ রূপায়ণকারী. আমরা ইতিমধ্যে ধাক্কা করেনি. আমি যে ঠিক করব. একটি অ অ্যারে বাস্তবায়ন, যেখানে আপনি সম্ভবত, একটি লিঙ্ক তালিকা ব্যবহার. একটি অ int-বাস্তবায়ন. আমরা এখানে ints করেছিল. কিন্তু এটা floats থাকতে পারে. আমি স্ট্রিং থাকতে পারে. এটা গৃহস্থালি বড় হয়ে থাকতে পারে. ধরণের জন্য অতীতের ক্যুইজ তাকান আমরা stacks সম্পর্কে জিজ্ঞাসা করেছি প্রশ্ন. আমি মনে করি আমরা প্রায় stacks আচ্ছাদিত যে বলবো আমরা তাদের ঢেকে করেছি হিসাবে একই বছর অতীতে. তাই প্রশ্নোত্তর প্রশ্ন উচিত একটি ভাল লক্ষণ হতে. আরও দ্রুত এগিয়ে মুভিং, queues. তারা stacks মত হন. কিন্তু তারা প্রথম আউট, প্রথম হন. আপনি ব্রিটিশ হন, শব্দ কিউ সম্ভবত আপনার ধারণা অনেক তৈরি. অন্যথা, আপনি হয়ত একটি লাইন হিসাবে এটি শুনিনি. তারা লাইন মত কাজ অ্যাপল দোকানে. 3:00 এ দেখা প্রথম ব্যক্তি সকালে প্রথম তার আইপ্যাড কিনতে ব্যক্তি. তাই আমরা দুটি অপারেশন আছে - সারিবদ্ধ এবং dequeue. সারিবদ্ধ লাইনে কেউ রাখে. Dequeue প্রথম pulls লাইন বন্ধ ব্যক্তি. আবার, আমরা বাস্তবায়ন করতে পারেন একটি অ্যারের সাথে এই. সুতরাং struct আমরা কি বক্তৃতায় দেখিয়েছেন? এটা এই এক. আবার, নম্বর. আবার, আকার এবং এই নতুন জিনিস সামনে. কেন সামনে কিছু বলা আছে? এটা পরের এর সূচক dequeue করার উপাদান. এটি শুধু অভ্যন্তরীণভাবে ট্র্যাক পালন হচ্ছে দেখা প্রথম লোক, তাই যে আমরা আমরা প্রয়োজন হলে তা উঠিয়ে ফেলা যাবে. নিশ্চিতভাবে বক্তৃতা নোট এ এবং চেষ্টা করুন সারিবদ্ধ এবং dequeue বাস্তবায়ন ব্যঙ্গ জন্য অধ্যয়নরত যখন. আমার মনে হয় গুরুত্বপূর্ণ বিষয়. প্রায় মোড়কে যদি সামনে প্লাস সাইজ ক্ষমতার চেয়ে বড় সমাপ্ত. আবার, আপনার কাঠামো পূর্ণ হলে, যদি আপনার কোন সমস্যা আছে চলুন. আপনি আগে দেখা করেছি টেবিল হ্যাশ. আপনি অধিকাংশ সম্ভবত বাস্তবায়িত এই pset6 নেভিগেশন. এটা হে জন্য লক্ষ্য হল যে একটি কাঠামো আছে (1) ধ্রুব সময় সন্নিবেশ এবং হে (1) ধ্রুবক সময় লুকআপ. CS50, আমরা হিসাবে এই বাস্তবায়িত লিঙ্ক তালিকা একটি অ্যারে. একটি হ্যাশ টেবিল থেকে মূল উপাদান হ্যাশ ফাংশন. সুতরাং, এর কথা বলা যাক, আপনার ইনপুট পরিবর্তন করে একটি সংখ্যা মধ্যে একটি অভিধান শব্দ,, আমাদের সূচী হতে যাচ্ছে যা. এবং আমরা যে সূচক ব্যবহার করব আমাদের অ্যারের মধ্যে. তাই এখানে একটি ছবি সামান্য ছবি আছে study.50.net থেকে. আমরা সব শব্দের মধ্যে নিক্ষেপ আমাদের হ্যাশ ফাংশন. এবং হ্যাশ ফাংশন আমাদেরকে বলে যেখানে এই শব্দ করা. এই দেশে সব মহান যেখানে প্রতি স্লট জন্য শুধুমাত্র একটি শব্দ আছে. কিন্তু আপনি pset6 থেকে মনে হয়, সেখানে স্লট চেয়ে বেশি শব্দ হয়. যখন আপনি তাই কি হবে একটি সংঘর্ষের পেতে? পরিবর্তে এক মান সংরক্ষণ, এর আপনি,, হ্যাশ টেবিল 3 বলা যাক একটি লিঙ্ক তালিকা সঞ্চয়. তাই এর পরিবর্তে ফুটি থাকার এখানে, আপনি একটি লিঙ্ক তালিকা আছে, প্রথম নোডের ফুটি যেখানে. এবং পরবর্তী নোডের বিড়াল. এবং তৃতীয় নোড যাক এর, সংঘর্ষের হয় এই সব শব্দ শুরু কারণ, বলে সি দিয়ে সুতরাং আপনি সবচেয়ে pset6 জন্য এই কি. আপনি pset6 একটি হ্যাশ টেবিল না হলে এবং আপনি ভালো কিছু প্রচেষ্টা করেছেন একটি trie, স্পষ্টভাবে হ্যাশ টেবিল পর্যালোচনা. আপনি স্পষ্টভাবে, pset6 নেভিগেশন তা করে থাকেন তাহলে হ্যাশ টেবিল পর্যালোচনা. এবং যদি আপনি pset6 থেকে তা করেনি এবং এটি না হলে মোটামুটি ঠিক এবং আপনি কাজ আউট স্পষ্টভাবে, এটা সমস্যা অনেক ছিল হ্যাশ টেবিল পর্যালোচনা. সুতরাং পাঠ সত্যিই হ 'ল হ্যাশ টেবিল পর্যালোচনা. চেষ্টা আপনি সুবিশাল সংখ্যালঘু আউট pset6 নেভিগেশন চেষ্টা করে. উচ্চ পর্যায়ের ছবি. এটা ভালো কিছু, যেখানে প্রতিটি নোডের শিশুদের একটি সেট, আছে যেখানে প্রতিটি সন্তানের একটি চিঠি অনুরূপ. এবং প্রত্যেক নোডের এছাড়াও বলেছেন, আরে, আমি একটি শব্দ না. তাই এই ইনস্ট্যান্সের মধ্যে, শব্দ ম্যাক্সওয়েল, আপনার কাছে একটি থেকে এম অনুসরণ করে যদি তারপর এক্স ওয়াট-ই, L-এল এবং এটি আরও একটি অনুসরণ করুন. এবং যদি আপনি এই চিহ্ন, ডেল্টা, পেতে যা আমরা এই একটি শব্দ মানে বোঝান. সুতরাং ম্যাক্সওয়েল একটি শব্দ. এই deltas দশকে দেশে সারা হয় জিনিষ শব্দ এবং যা যা জিনিষ নয়. সুতরাং pset6, তথ্য আমরা সংরক্ষিত আমাদের নোড কোনো ছিল পাশাপাশি "আমি আছি শব্দ. "এবং চেষ্টা সম্পর্কে শীতল জিনিস তারা সন্নিবেশ প্রকট ও হয় হে (একটি শব্দ দৈর্ঘ্য) মধ্যে লুকআপ. তাই শুধু ম্যাক্সওয়েল মাধ্যমে পেতে, এটা এম একটি এক্স ওয়াট-ই, L-এল. তাই সাত বা আট - আমি গণনা করতে পারবে না - শেষে পেতে পদক্ষেপ এবং জিনিস চেক আউট. এখানে তাই দ্রুত বাস্তবায়ন. রব একটি লিঙ্ক মাধ্যমে গিয়েছিলাম তার পোষ্ট মর্টেম বা সুরতহালের মধ্যে তার তালিকা দেখাবে. সুতরাং যে চেক আউট. দুঃখিত. তার পোষ্ট মর্টেম বা সুরতহালের মধ্যে একটি trie মাধ্যমে গিয়েছিলাম. সুতরাং যে চেক আউট. কিন্তু আপনি মূলত প্রতিটি নোডের 27 আছে আছে পরবর্তী নোড এবং এক পয়েন্টার আমি একটি শব্দ am জন্য বুলিয়ান. কিভাবে জন্য রব এর পোষ্ট মর্টেম বা সুরতহালের দেখুন এই আসলে বাস্তবায়িত হয়. আমাদের চূড়ান্ত গঠন, আমাদের গাছ এবং বাইনারি অনুসন্ধান বৃক্ষ. সুতরাং এই দিকে তাকিয়ে আছে, এই আচ্ছাদিত ছিল অতি সম্প্রতি সপ্তাহ 8, সোমবার. একটি গাছ আপনি ছাড়া একটি trie অনুরূপ অগত্যা 27 নোড এ না থাকে প্রতিটি বিন্দু. এবং আপনি প্রতিটি সময়ে এই তথ্য না থাকে - উল্লেখ যে কিনা পদক্ষেপ পাথ কোন ব্যাপার না. একটি trie, পাথ উপর থেকে থেকে যেহেতু নীচে, ম্যাক্সওয়েল, আমাদের কাছে খুবই জরুরী ছিল. কিন্তু প্রতিটি নোডের একাধিক আছে শিশু, সম্ভবত. আমরা আরো কিছু শব্দভান্ডার আছে. ট্রি রুট খুব উপরে থাকে. এবং আমরা যে খুব নীচেরতম বলে কোন আছে যে নোড শিশুদের পাতার হয়. সুতরাং একটি trie মত একটি গাছ নোডের মধ্যে একটি কাঠামো. আমরা চলুন যে গাছ একটি সাধারণ ধরন কথা বলার জন্য একটি বাইনারি গাছ, যেখানে প্রতিটি নোডের কোন শিশু বা আছে এক শিশু বা দুটি সন্তান. সুতরাং এখানে এই ছবি নয় একটি বাইনারি ট্রি, কারণ নোড 3 তিনটি সন্তান আছে. কিন্তু আমরা যারা, বিশ্রাম উপেক্ষা করা হলে এটি একটি বাইনারি গাছ এটি, কারণ সম্পত্তি যে প্রতিটি নোডের প্রমান শূন্য, এক, বা দুটি সন্তান আছে. তাই কিভাবে আমরা কোডে এই প্রকাশ করতে পারে? আমরা প্রতিটি নোডের আছে যেখানে একটি নোড আছে পারে একটি আইটি ভেতরে পূর্ণসংখ্যা হিসাবে ভাল, বাম থেকে গাছ একটি পয়েন্টার হিসেবে এবং উপর গাছ একটি পয়েন্টার ঠিক আছে, দুটি সন্তান তাই. কিভাবে এই দরকারী? ভাল, আমরা যে বিষয়ে বিধি প্রণয়ন হলে যেখানে আমরা নোড রাখা, আমরা অনুসন্ধান দ্রুততর করতে পারেন. সুতরাং একটি বাইনারি অনুসন্ধান একটি ধারণা আছে গাছ, যেখানে সব নোড বাম subtree একটি ছোট মূল্য আছে নোড ছাড়া আমরা এ খুঁজছেন. আর ডান subtree সমস্ত নোড অধিক মূল্য আছে রুট নোড তুলনায়. এখন, যে শব্দ অনেক মত দেখাচ্ছে. আমি ডবল ভেতরে এটা করা যাচ্ছে না কোট এবং আপনি একটি ছবি দেখান. তাই এখানে একটি উদাহরণ একটি বাইনারি অনুসন্ধান বৃক্ষ. আমরা 10 দিয়ে শুরু করে দেখুন. বাম থেকে সবকিছু 10 তা চেয়ে ছোট. এবং ডান সবকিছু এটা চেয়ে বড়. কিন্তু তাই আরো বেশী যে, প্রতিটি নোডের গাছ এই সম্পত্তি প্রকাশ করেছে. সুতরাং নোড 7 একটি 3 আছে ডানে বামে এবং একটি 9. তাই ঐ সব 10 চেয়ে ছোট. তবে যারা এ খুঁজছেন, 7 আছে 3 তার অধিকার তার বাম এবং 9. আর একইভাবে ডানদিকে, 15 14 আছে তার ডান দিকে তার বাম এবং 50. তাই ওইখানে তিন নোড, 15, 14, এবং 50, এছাড়াও একটি বৈধ বাইনারি গাছ হয় অথবা একটি বৈধ বাইনারি অনুসন্ধান বৃক্ষ. তারা সমস্ত 10 চেয়ে বড় হন. সুতরাং তারা হতে অনুমতি দেওয়া হয় সেখানে ডানদিকে. একটি প্রশ্ন আছে? AUDIENCE: আপনি কিভাবে মোকাবিলা করবেন যখন আপনি দুই সেভেনস আছে? R.J. Aquino: হ্যাঁ. আপনি কিভাবে দুটি মান সঙ্গে মোকাবিলা করবেন যে একই? কিছু বাইনারি অনুসন্ধান গাছ বলে আপনি যে লক্ষ্য, কারণ সদৃশ উপেক্ষা শুধু বলতে, আমি দেখা করেছি এ পর্যন্ত এই জিনিস. আপনি বলতে পারে কিছু বাইনারি অনুসন্ধান বৃক্ষ নোডের ভিতর একটি গণনা আছে. অন্যরা বলতে পারে যে সবকিছু বাম কম বা সমান. এবং ডান সবকিছু তার চেয়ে অনেক বেশী. এটা ঠিক করে কি সমস্যা আপনি সমাধান করছেন না. আপনি, উদাহরণস্বরূপ, অভিধানে তাই সদৃশ যত্নশীল না. আপনি তাদের আউট নিক্ষেপ করা হবে. কিন্তু কিছু অন্যান্য সমস্যা আপনি যত্নশীল হতে পারে. AUDIENCE: এটা কি সম্ভব 15 বাঁদিকে, একটি 1, যা 10 কম? R.J. Aquino: নং এখানে 14 থেকে 1 ছিল, এই would একটি বৈধ বাইনারি অনুসন্ধান বৃক্ষ নাও, কারণ ডান এর সবকিছু 10 এটা চেয়ে বড় হতে হয়েছে. এবং আমরা কেন দেখতে পাবেন. সার্চ জমির মধ্যে আমার লক্ষ্য যদি 14 খুঁজে, আমি রুট থেকে আরম্ভ হয়. তাই আমি চেহারা. ঠিক আছে. আমরা root-এ শুরু চলুন. 10 তাকান. ওয়েল, 14, আমাদের লক্ষ্য, 10 চেয়ে বড়. সুতরাং এটি ডান হওয়া আবশ্যক. এই পুরো ফোন অনুরূপ বই জিনিস আমরা বাইনারি করেছেন সেখানে অনুসন্ধান. কিন্তু এর পরিবর্তে বাইনারি খোঁজের একটি অ্যারের মধ্যে, আমরা বাইনারি আছেন এই গাছ মধ্যে অনুসন্ধান করা. তাই আমরা এখনও 14 খুঁজছেন. ওয়েল, 14 15 চেয়ে ছোট. এটা আমাদের গাছ আছে সুতরাং, যদি এটা আবশ্যক এখানে এই এলাকায় হতে. এটা অধিকার থেকে হতে হবে 10 এবং 15 বাঁদিকে. তাই আমরা এই নোডের চেক. আর ইয়ে, আমরা 14 পেয়েছি. আমি এটা ভিতর দিয়ে হেটে যাচ্ছি না. কিন্তু এখানে কোড এর. এটা তুলনামূলকভাবে আসলে এর সহজবোধ্য, এই recursive কারণ. আমরা আপনাকে একটি ব্যঙ্গ উপর কি কি চাইতে পারেন? আমরা এই কোড লিখুন আপনি চাইতে পারেন. আমরা এই কোড তাকান আপনি চাইতে পারেন এবং এই কোড পরিবর্তন এবং কি ব্যাখ্যা এটা করছে. হ্যাঁ. প্রশ্ন? AUDIENCE: এই স্লাইড হতে যাচ্ছে তারা শেষ সময় ছিল হিসাবে উপলব্ধ করা? R.J. Aquino: হ্যাঁ. সুতরাং এই স্লাইড স্পষ্টভাবে করবে না পোস্ট করা. AUDIENCE: তারা আসলে পোস্ট করছি এই মুহূর্তে ওয়েবসাইটে. ডেভিড ঠিক যে কি. R.J. Aquino: স্লাইড হয় এই মুহূর্তে ওয়েবসাইটে. আমি সম্ভবত কয়েক হাজার পর্যন্ত প্যাচ পাবেন টাইপস আমি লক্ষনীয় এবং তাদের ঠিক. কিন্তু একটি বর্তমান আছে সাইটে সংস্করণ. অন্যরা আমরা কি আপনি জানতে চাইতে পারেন জিনিষ - সন্নিবেশ লিখতে. একটি পুনরাবৃত্ত সংস্করণ লিখুন recursive ফাংশন আমরা শুধুমাত্র আপনার দেখিয়েছে অথবা মত, এই জিনিস সম্পর্কে কথা অনুচ্ছেদ, কথায়, বাক্যে. রান বার তুলনা ও ব্যাখ্যা আপনি একটি বাইনারি ব্যবহার করতে চান কি পরিবর্তে একটি এর জন্য অনুসন্ধান বৃক্ষ উদাহরণস্বরূপ, টেবিল হ্যাশ. সুতরাং এই স্ট্রাকচার বুঝতে খুবই গভীর স্তরে. তাদের লিখতে অভিব্যক্তি কিভাবে, কিভাবে তাদের সম্পর্কে কথা বলতে, কিভাবে তাদের ব্যবহার. এবং আপনি সব সেট করা হবে. প্রশ্ন? AUDIENCE: আপনি লেখা হয়ে গেলে বাইনারি অনুসন্ধান বৃক্ষ, কিভাবে আপনি কি কি মান নির্ধারণ রুট হিসাবে এটি তৈরি করতে? R.J. Aquino: তাই প্রশ্ন, কি ছিল মূল্য আপনি root পরিচয়ে করতে পারি? আপনি, আপনার কোড উপর নির্ভর করে একটি আন্তর্জাতিক রুট থাকতে পারে. সুতরাং আপনি সম্ভবত ছিল থাকতে পারে pset6 একটি বিশ্বব্যাপী হ্যাশ টেবিল. অথবা আপনি রুট পাস হতে পারে একটি আর্গুমেন্ট হিসাবে এ. এখানে তাই এই অনুসন্ধান ফাংশন একটি আর্গুমেন্ট একটি নোড * নেয়. এবং যাতে আপনি হতে ঘটতে যাহা নোড আমি আপনাকে চিকিত্সা করছেন এক আপনার রুট হিসাবে আপনি এটি ইন পাস হলে এবং আমি সব সেট করছি. যারা আমার স্লাইড হয়. পরবর্তী ব্যক্তির swap 'আসতে পারে একটি ল্যাপটপ এবং মাইক মধ্যে. Rob Bowden: আমি থাকতে পারে মনে ভিন্নভাবে যে প্রশ্নের ব্যাখ্যা. আপনার আছে কিন্তু যদি আমি, হিসাবে এটি ব্যাখ্যা করা আমরা কি কিভাবে নম্বর 1, 2, এবং 3, 2 রুট করতে জানি 1 অথবা 3 থেকে ভিন্ন? আমরা রুট 2 না তারপর, এটা চমত্কারভাবে এর 1 এবং 3 বাম এবং ডান. 1 রুট কিন্তু যদি তারপর, এটা করার জন্য 1 এর উপরে, ডানে 2 অধিকার, 3. সুতরাং ডিফল্টরূপে, আপনি জানেন না কি রুট করতে. আর কোন এলগরিদম জন্য আমরা আশা করছি ঠিক, প্রথম জিনিস আপনি দিতে সন্নিবেশ রুট হবে. অথবা আমরা আপনাকে একটি বাইনারি ট্রি দিতে চাই ইতিমধ্যে একটি রুট আছে যে বিদ্যমান. কিন্তু অন্যান্য আলগোরিদিম যেমন যে বিদ্যমান যাতে রুট, আপডেট হবে আপনি যদি এটি 1, 2 যেখানে অবস্থায় শেষ, 3, এটি স্বয়ংক্রিয়ভাবে আপডেট করবে যাতে নতুন রুট 2 না এটি এখনও চমত্কারভাবে সুষম এর. Angela LI: কুল. আরে, বলছি. আমি এনজেলা আছি. এবং আমি আমাদের সি শেষ করা যাচ্ছে না এবং তারপর আমাদের ওয়েব কিছু ঢোকা প্রযুক্তি - HTTP-র, এইচটিএমএল, এবং সিএসএস. সুতরাং প্রথম জিনিস বাফার হয় ওভারফ্লো আক্রমণ. তাই আসুন এই কোড কটাক্ষপাত করা যাক. এটি বেশ সহজ. একটি ফাংশন foo বিন্যাস আছে. এবং এটা কিছু ফেরত না. কিন্তু এটি একটি পয়েন্টার লাগে বার নামক একটি পংক্তি. এবং এটা এই ঘোষণা যাচ্ছে একটি চরিত্র যা বাফার, 12 স্লট যে অ্যারে. এবং এটি মাত্র একটি, যা memcpy ব্যবহার ফাংশন যে এক ঠিকানা থেকে কপি অন্য মধ্যে. তাই এই মধ্যে কপি করার চেষ্টা করছে যাই হোক না কেন থেকে আমাদের বাফার বার প্রতি নির্দেশ করা হয়. সুতরাং কোনো ধারণা কি ভুল এই কোডটা দিয়ে? AUDIENCE: বার আর আর যদি সি, মুছে যাবে তারা. Angela LI: হ্যাঁ, ঠিক. আমরা কোন গ্যারান্টি আছে দণ্ড 12 কম হতে যাচ্ছে. আমরা শুধু কিছু অবাধ সংখ্যা 12 হয়েছে. এবং আমরা এর যাক আশা করি, মত ছিল আমাদের ব্যবহারকারীর ইনপুট কম 12 টি অক্ষর দীর্ঘ. সুতরাং একটি আদর্শ বিশ্বে, যদি আমাদের ইনপুট হয় আশা হিসাবে সবসময়, তাহলে আমরা কিনবো হ্যালো, ভালো কিছু. এটা 12 অক্ষরের কম. এটা গৃহস্থালি গ মধ্যে পড়তে হয়. এবং তারপর আমরা এটা দিয়ে কিছু করতে. এটা সত্যিই কোন ব্যাপার না. কিন্তু একটি বিদ্বেষপূর্ণ ব্যক্তি যেত না আরও ভালো কিছু, যেখানে তারা , বার নির্দেশিত যাই হোক না কেন আমাদের দিতে এটি এই বিপুল অ্যারের দিকে নির্দেশ করে যাচ্ছে শুধু এর. এবং এই 12 পথ চেয়ে দীর্ঘতর হয়. সুতরাং সব পথ যেতে হচ্ছে এখানে নিচে যেখানে ফেরত যাও ঠিকানা ব্যবহার করা হয়. তাই আসুন এই ফাংশন বলা যাক foo বিন্যাস বলা হয়. হয়তো foo বিন্যাস অন্য কিছু দ্বারা বলা ছিল প্রধান দ্বারা বলা ছিল যা ফাংশন,. Foo বিন্যাস চলমান যখন সুতরাং, এটি প্রয়োজন যেখানে ফিরে জানতে. Foo বিন্যাস নামে কিছু ফাংশন দ্বারা বলা ছিল যদি Baz, এটা এটা জানা আছে ফিরে Baz যেতে পেয়েছিলাম. এবং যে কি এই ফিরতি ঠিকানা নেই নিচে এখানে আমাদের বলার হয়. কিন্তু আমরা কিছু অন্যান্য সঙ্গে এটি মুছে ফেলা হলে ঠিকানা, এই ক্ষেত্রে, এই একটি হল এ ঠিকানা উপস্থাপনা খুবই তারপর, এই বাফার এর শুরু কি আসলে ঘটতে যাচ্ছে যে পরিবর্তে ফিরে Baz ফিরে এর, আমাদের ফাংশন বলা যা, এটা ঠিক না এই কোড সামনে যেতে হবে. এবং এই ছিল কারণ যদি একটি দূষিত হ্যাকার শহরবাসী এসে এই ইনজেকশনের, তাহলে হয়তো এই পরিমাণ একটি এর আসলে একটি এর নয়. এবং এটা আসলে ঠিক কোড যে বিরতি আপনার কম্পিউটার বা কিছু. তাই এই ধরণের সম্পর্কে আত্মরক্ষামূলক হতে ব্যাপার হল, আপনি অনুমান যে কখনও আছে ব্যবহারকারীর ইনপুট একটি নির্দিষ্ট হয় অক্ষর পরিমাণ. উদাহরণস্বরূপ, যখন আপনি কাজ হয়েছে speller, আপনি শব্দ ছিল বলা হয়েছিল শুধুমাত্র 40 অক্ষর হতে যাচ্ছে দীর্ঘ সর্বোচ্চ. এবং যে ভাল ছিল. কিন্তু যদি না পরে, আপনি করতে হবে নিশ্চিত শুধুমাত্র 45 মধ্যে পড়তে না একটি সময়ে অক্ষর. অন্যথা, আপনি মুছে ফেলা হতে পারে আপনার বাফার. যে কোন প্রশ্ন. হ্যাঁ. AUDIENCE: আপনি শুধু কথা বলা যায়নি এইসব সম্পর্কে আরো কিছু? Angela LI: দুঃখিত. হ্যাঁ. AUDIENCE: মাইক শুধু ভিডিওর জন্য. আমি চেষ্টা এবং প্রকল্প হবে. হাই, বলছি. Sup? সুতরাং এর মধ্যে কিছু জিনিস উপর ছেড়ে দেওয়া আপনি ব্যবহার করছি যা CS50 লাইব্রেরি, সব সেমিস্টারে, বেশিরভাগই ব্যবহারকারীর ইনপুট পেতে. যেহেতু আপনি জানেন, আপনি CS50 অন্তর্ভুক্ত শুধু CS50.h, এমনটি দ্বারা লাইব্রেরি, যা সব এগুলির নমুনা রয়েছে যেমন আপনি ব্যবহার করতে পারেন ফাংশন, GetString এবং GetInt, এবং GetFloat, ইত্যাদি ইত্যাদি. এবং এই এক লাইন CS50 মধ্যে আছে একটি স্ট্রিং সংজ্ঞায়িত করে যা লাইব্রেরি, যা আপনাকে বলছি সব এখন দ্বারা জানি * শুধুমাত্র একটি গৃহস্থালি. কিন্তু এর একটি উঁকি দেওয়া GetString কিভাবে কাজ করে. এটি একটি খুব সংক্ষেপিত সংস্করণ. আপনি CS50 লাইব্রেরি ফাইল থামা পারেন manuals.CS50.net, আমি মনে করি, থেকে. এবং আপনি এর মাধ্যমে পড়তে পারেন প্রকৃত ফাংশন. কিন্তু এই কিছু জুড়ে গুরুত্বপূর্ণ অংশ. তাই আমরা কিছু বাফার তৈরি করেছি কিছু ক্ষমতা. এবং কি আমরা করতে আমরা একটি অক্ষর পেতে হয় প্রমিত এন থেকে একটি সময়ে. যে যেখানে ব্যবহারকারী ইনপুট এর কনসোলে টেক্সট. এবং তাই আমরা একটি মধ্যে পড়তে যাচ্ছেন এটি একটি নতুন নয় হিসেবে এতক্ষণ চরিত্র লাইন এবং এটা, ফাইলের শেষে না যা স্ট্যান্ডার্ড ইনপুট শেষে. এবং আমরা এ পড়া প্রতিটি অক্ষরের জন্য, যে অক্ষর যোগ সমাপ্ত হলে অক্ষরের সংখ্যা থেকে আমরা পড়েছি , এবং যে আমাদের ক্ষমতা বেশী তাহলে আমরা কি আমরা ঠিক মাপ পরিবর্তন হয় আমাদের বাফার এটি দুইবার যতদিন যে তাই. তাই আবার, এই বাফার রক্ষা ওভারফ্লো আক্রমণ, আপনাকে পড়ার কারণ একটি সময়ে একটি অক্ষর. এবং যে কোনো স্থানে আপনি খুব পড়তে হলে অনেক, আপনি শুধু আপনার বাফার প্রসারিত. আপনি দুটি দ্বারা এটি সংখ্যাবৃদ্ধি. এবং তারপর আপনি আরো রুম আছে. অন্যথা, আপনি শুধু যুক্ত বাফার একটি চরিত্র. এবং আপনি সব পড়েছি পরে অক্ষর, এটি বাফার সঙ্কুচিত হবে ফিরে স্বাভাবিক আকার নিচে, একটি যোগ করুন নাল টারমিনেটর, এবং তারপর ফিরে. এখন, এর GetInt তাকান. আপনাকে বলছি এটা পড়তে পারেন? আমি কিছুক্ষনের মধ্যে জুম করতে পারেন. আমি কম্পিউটারের কিভাবে জানি না. কিছু মনে করবেন না. আমি সঠিকভাবে জুম করতে পারবেন না. এই সত্যিই কঠিন. আমি দুঃখিত. এর ঠিক এই তাকান. তাই কি GetInt আছে এটা প্রথম সার্চ হয় GetString, থেকে একটি পংক্তি মধ্যে যা আমরা আগে প্রয়োগ করেছি. এবং গুরুত্বপূর্ণ অংশ এখানে খেয়াল করা যদি এটা শেষ পর্যন্ত যে এই শেয়ারিং পড়া না আসলে একটি স্ট্রিং ভালো হয়, তারপর আমরা ঠিক করতে INT_MAX ফিরে ব্যর্থতার প্রতিনিধিত্ব. কেন আমরা পরিবর্তে INT_MAX ফিরে না নেতিবাচক 1 বা 1 হাজার? কোন ধারনা? AUDIENCE: [শ্রবণাতীত] নেতিবাচক এক 1. Angela LI: হ্যাঁ, ঠিক. তাই আপনি শুধু চাই পথ আরো সম্ভবত ইনপুট 1 বা নেতিবাচক 1 থেকে অনুরোধ করা হলে একটি n তম এবং n তম যাহা Maxes জন্য. এটা বিশাল এর. আপনি সম্ভবত এটি ব্যবহার করতে যাচ্ছেন না. তাই এই একটি নকশা সিদ্ধান্ত ভালো হয় নিশ্চিত করুন যে আপনি করবেন না ঘটনাক্রমে যে করা একটি ত্রুটি ফেরত অথবা আপনি ফিরে না 1, যা পার্স করা হতে পারে একটি সঠিক উত্তর হিসেবে. একটি লাইন বিদ্যমান নেই তাই যদি, আমরা int-MAX-এর ফিরে. অন্যথা, আমরা sscanf ব্যবহার যা scanf ভালো হয়. কিন্তু এটি একটি পংক্তি থেকে সার্চ. এবং আমরা এই ফরম্যাট আছে % আমি% গ, যা স্ট্রিং,. এবং আমরা চেষ্টা এবং সঙ্গে যে মেলে ব্যবহারকারী আমাদের দিয়েছেন যাই হোক না কেন. আমরা মিলেছে জিনিস নম্বর চাই 1 হতে, যার অর্থ হল যে আমরা কেবল সত্যিই একটি পূর্ণসংখ্যা মেলে চাই হয়তো সাদা দ্বারা বেষ্টিত স্থান, হয়তো না. এই ক্ষেত্রে, আপনি কিছু রাখা হলে বারের মত, বার, এ সব মেলে না করা আছে প্রয়োজন, কারণ শুরু করার একটি পূর্ণসংখ্যা. সুতরাং 0 পরিণত না sscan. সুতরাং আপনি যে ফিরে না. অন্যথা, আপনি কিছু রাখা হলে যেমন 1, 2, 3, এ, বি, সি, যে ম্যাচ পূর্ণসংখ্যা কিন্তু উভয় এটা পরে চরিত্র. সুতরাং sscanf, 2 ফিরে আসবে যা আদর্শ না হয়. আপনি চান না 1, 2, 3, এ, বি, সি একটি বৈধ কোন int হবে. সুতরাং যে কাজ করে না. তবে আপনি যদি 50 ভালো কিছু করিয়ে বলে. যার মানে,% আমি ম্যাচ হবে এটি এন মধ্যে পড়তে হবে. এবং এখন, এন সংখ্যা 50 উপস্থিত থাকবে. এবং তারপর আপনি এটি ফিরে আসতে পারেন. অন্যথা, আপনি পুনরায় চেষ্টা আঘাত. এবং তারপর এটা ঠিক না হওয়া পর্যন্ত আবার যায় আপনি ব্যবহারকারী থেকে একটি সঠিক ইনপুট পেতে. যে কোন প্রশ্ন? AUDIENCE: তাই আপনি যদি প্রিন্ট আউট [শ্রবণাতীত] উপর GetInt মান এটি শুধু পূর্ণসংখ্যা এবং সবের্াচ্চ হবে? Angela LI: হ্যাঁ. আপনি GetInt ব্যবহার সুতরাং, যদি আপনি অনুমান উচিত আপনার কাছে n তম সর্বোচ্চ চাই না যে আপনি যাচ্ছেন, কারণ, একটি বৈধ ইনপুট করা যে খারাপ ছিল অনুমান করা. AUDIENCE: আমরা গৃহস্থালি গ আছে এবং না 1, 2, 3, স্যাম রাখা কেউ, এটা would এখনও 1, 2, 3 জন্য কাজ? Angela LI: আমি এটা কাজ করবে না. কিন্তু আপনার কাছে 123Sam চাই না ব্যবহারকারীর দ্বারা কোনো বৈধ ইনপুট হবে. যে সত্যিই কোন int না. সুতরাং এটা পরিষ্কার মনে হয় না কোন int হিসাবে এটি বিশ্লেষণ করতে. ঠিক আছে. সেই ক্ষেত্রে, এর সরানো যাক ইন্টারনেটের উপর. সুতরাং HTTP-র একটি ভাষা নয়. HTTP-র জন্য মান ঠিক সেট কিভাবে আপনি ক্লায়েন্ট থেকে জিনিস পাঠান, যে সার্ভারে, আপনি এর. যে ওয়েবে অন্যের. সুতরাং HTTP-হাইপারটেক্সট ঘোরা প্রোটোকল স্থানান্তর করুন. এটা সর্বান্তঃকরণে এর সম্পূর্ণ ওয়েব. হাইপারটেক্সট অংশ মাত্র এইচটিএমএল বোঝায়. স্থানান্তর মত ক্লায়েন্টদের হয় আপনার কাছে অনুরোধ পাঠাতে হবে প্রত্যুত্তর দিতে যা সার্ভার,. আর প্রটোকল করবেন, কিভাবে ঠিক হয় আপনি একটি সার্ভারের আচরণ আশা? এবং কিভাবে আপনি আচরণ অনুমিত হয় আপনি এই স্ট্রিমলাইন করতে পারেন যেমন যোগাযোগ প্রক্রিয়া? সুতরাং HTTP অনুরোধ এই মত অনেক চেহারা. GET অনুরোধের টাইপ. আপনি না GET অনুরোধ দেখা এবং পোষ্ট অনুরোধ. সেখানে যে দ্বিতীয় জিনিস, / আমার, যে শুধু URI অথবা যেখানে আপনি URL টি হোস্ট মধ্যে যেতে চান. তাই এই অনুরোধ জন্য জিজ্ঞাসা করা হয় www.facebook.com / আমার মত পাতা,. এবং এটি একটি GET অনুরোধ করে. এবং তারপর এই HTTP/1.1, যে ঠিক আছে আপনি ব্যবহার করছেন HTTP-র সংস্করণ. এটা প্রায় সবসময় 1.1 এর. এবং তারপর একটি গুচ্ছ আছে খুব অন্য জিনিস. আপনি যদি আপনি আসলে এইসব দেখতে পারেন আপনি যখন আপনার কনসোল খুলুন ওয়েব ব্রাউজিং. প্রত্যুত্তর কিছু সন্ধান আরো ভালো. উপরের অংশ, আবার, হয় HTTP-র ধরণ আপনি ব্যবহার করছেন একটি অবস্থা কোড দ্বারা অনুসৃত. সুতরাং 200 ওকে সবকিছু স্থির হয়. এখানে আপনার বিষয়বস্তু হয়. আপনার কন্টেন্ট অনুসরণ করতে যাচ্ছে. এবং তারপর এটা আপনাকে বলতে হবে কি ধরনের খুব কন্টেন্ট এবং অন্যান্য বিষয় নিয়ে. অবস্থা কোড, কিছু আছে আপনি কি জানেন যে গুরুত্বপূর্ণ বেশী. 200 ওকে সবকিছু এর সুবর্ণ ভালো হয়. সবকিছু কাজ করে. 403 নিষিদ্ধ. আপনি ভুলে গেছি যদি আপনি সম্ভবত করেছি দেখা এই সঠিকভাবে কিছু chmod করতে. এটা আপনার কাছে নেই এমন মানে ডান অনুমতি দিতে সার্ভারে যে অ্যাক্সেস. এটা মত আছে, না, আপনি তা দেখতে পারছি না. 404 যে জিনিস বিদ্যমান নেই মানে. পাওয়া গেল না. আপনি সম্ভবত অনেক যে দেখা করেছি. 500 অভ্যন্তরীণ সার্ভার সমস্যা সাধারণত হয় কিছু পাশ দিয়ে ভুল হয়েছে মত সার্ভারের. সুতরাং আপনি pset7 প্রয়োগ করা হয় যখন, আপনি পিএইচপি ত্রুটি ছিল, আপনি পারা আসলে পৃষ্ঠাতে যান এবং একটি দেখুন পিএইচপি ত্রুটি জিনিস আভা. কিন্তু যে সাধারণত ঘটবে না, ওয়েবসাইট সত্যিই চাই না, কারণ তাদের সাইটে নষ্ট হয়ে গেছে কেন আপনি বলুন. তারা সম্ভবত ঠিক ফিরে আসবেন একটি 500 অভ্যন্তরীণ সার্ভার সমস্যা. এবং তারপর আমি একটি চা তৈয়ারি করার পাত্র নই 418 আছে. সম্পর্কে একটি পুরো বিবরণ আছে কেন একটি জিনিস. কিন্তু আপনি যে বিষয়ে পড়তে পারেন আপনার নিজের সময়. আভা এর আছে খুব অন্যান্য অবস্থা কোড. কিন্তু এই ওগুলো আপনার যা জানা উচিত. সুতরাং আসুন এইচটিএমএল সম্পর্কে কথা বলুন. এইচটিএমএল, মনে রাখবেন, একটি নয় প্রোগ্রামিং ভাষা. এটা একটা মার্কআপ ভাষা আছে. এটাই কন্টেন্ট বর্ণনা করে মানে. এটি একটি HTML নথি দেখে মনে হচ্ছে আপনি বলে কি এটা দেখে মনে হচ্ছে কি মত বা না কিন্তু এটি কিভাবে গঠিত হয়. সুতরাং এটি একটি কাঠামো নির্ধারণ করে এবং ওয়েব পেজের শব্দার্থবিদ্যা. এটা যে এই একটি অনুচ্ছেদ আছে, মত. এটি একটি আদেশ তালিকা. এটা আমার পাতা একটি অধ্যায় ভালো হয়. এখানে শিরোনাম এর. এটা যে মত উপাদান আছে. এটা যে কোন শৈলী না যে আপনি CSS এর মধ্যে কি কি. এবং এটা একটা সিরিজ মনে হচ্ছে এর নেস্টেড ট্যাগ. তাই সত্যিই একটি মৌলিক একটি উদাহরণ ব্যবহার এইচটিএমএল পাতা, আপনি DOCTYPE আছে আপ সেখানে ঘোষণা. এই DOCTYPE ঘোষণা হল আমরা HTML5 এর ব্যবহার করছেন, বলার অপেক্ষা রাখে না. এর পরে আপনার বড় এইচটিএমএল ট্যাগ আছে. এটি একটি মাথা এবং শরীরের রয়েছে. মাথার ভিতরে, আপনি শিরোনাম আছে. যে শিরোনামে যায় কি আপনার ব্রাউজারের বারে. আমরা লিঙ্ক একটি লিঙ্ক ট্যাগ আছে একটি বহিস্থিত স্টাইল শীট মধ্যে. এবং তারপর আমরা pulls একটি স্ক্রিপ্ট আছে একটি বহিস্থিত জাভাস্ক্রিপ্ট থেকে হিসাবে ভাল. এবং তারপর আমাদের শরীরের ভিতরে আসলে পেজে দেখানো পরার কি. আমরা একটি অনুচ্ছেদ আছে এবং তারপর একটি করেছি যে অনুচ্ছেদের ভিতর ছবিটি. এই এক বিড়ালছানা একটি ছবি. লক্ষ্য করুন যে চিত্র ট্যাগ নিজেই বন্ধ হয়ে যায়. সুতরাং পরিবর্তে একটি চিত্র দিয়ে খোলার এবং তারপর আপনি অন্য / ইমেজ করছেন শুধু এই সামান্য স্ল্যাশ আছে এখানে, যা তা বন্ধ হয়ে যায়. এবং ইমেজ ট্যাগ এছাড়াও এই কি আছে মূল্য অ্যাট্রিবিউট Alt বলা. যে বিকল্প টেক্সট যে আপনি এটি উপর কার্সার রেখে যখন ঘটবে. সর্বাধিক HTML উপাদান কিছু কি মূল্য আছে আপনি বিভিন্ন, তা দিতে পারেন যে স্বনির্ধারণ. হ্যাঁ. AUDIENCE: [শ্রবণাতীত]. Angela LI: ভাল, তাই এটি একটি আছে ট্যাগের এট্রিবিউট. আপনি jQuery ব্যবহার করা হয়েছে সুতরাং, যদি আপনি পারা নির্বাচন image.getAttribute না. এবং তারপর আপনি অনুসন্ধান করতে পারেন Alt অ্যাট্রিবিউট পেতে. এবং এটা আপনি বিড়ালছানা আপনাকে. আপনি এইচটিএমএল, ইনপুট মধ্যে ফরম স্মরণ হলে উপাদানের নাম গুণাবলী থাকবে. এবং যে পিএইচপি পাঠাতে ব্যবহার কি একটি ফর্ম জমা হয় যখন অনুরোধ. AUDIENCE: আপনি কিছু উল্লেখ আপনি kittens.jpg ব্যবহার করুন অথবা যদি সে বিষয়ে অনুপস্থিত আছে এমন কিছু বিষয় ফোল্ডার বা অন্যান্য ফাইল দায়ের? Angela LI: হ্যাঁ. তাই এই একটি আপেক্ষিক এর নামে কি পাথ, আমি দান করছি না, কারণ আপনি সম্পূর্ণ পাথ. আপনি fopen যদি এই যখন সি ভালো হয় কিছু ফাইল, আপনি fopen hi.txt, যে যদি hi.txt একই হতে বলে আশা করা হচ্ছে ডিরেক্টরি, আপনি এটি আরো একটি দিতে যদি না জটিল পথ. AUDIENCE: সুতরাং আপনি উল্লেখ করতে পারে যা ফোল্ডার [শ্রবণাতীত]? Angela LI: হ্যাঁ. এবং আপনি কি সেটা কিভাবে আপ করতে পারেন. কিন্তু আমি kittens.jpg নামা চেয়েছিলেন মূল ডিরেক্টরির, আমি কি .. / Kittens.jpg. হ্যাঁ. দুঃখিত. হ্যাঁ. মানুষ ওহ, আমি প্রশ্ন ভুলে গেছি. প্রশ্ন কি ছিল? ওহ, প্রশ্ন হল, kittens.jpg ছিল একই ডিরেক্টরির মধ্যে হবে বলে আশা? এবং এই ক্ষেত্রে, এটা. কিন্তু আপনার কাছে এটি একটি নির্দিষ্ট পথ দিতে পারে এটা হতে হবে তা নয় যেমন যে. গুড? সিএসএস. তাই সিএসএস, এইচটিএমএল মত নয় একটি প্রোগ্রামিং ভাষা. সিএসএস স্টাইলিং নিয়ম মাত্র একটি সিরিজ. এটা Cascading স্টাইল শীট ঘোরা. এবং যদি আপনি একত্রে এটি ব্যবহার শৈলী পৃষ্ঠাসমূহ এইচটিএমএল দিয়ে. তাই তিনটি উপায় আছে আপনি এটি অন্তর্ভুক্ত করতে পারে. আপনি এটি করতে পারেন ওয়ান ওয়ে মাথা হয় আপনার HTML এর অংশ, আপনি ঠিক করতে পারেন একটি শৈলী ট্যাগ খুলুন এবং তারপর বিদ্ধ কিছু সিএসএস সেখানে নিয়ম. এটি বেশ ঠিক আছে. হ্যাঁ. AUDIENCE: আপনি ঐ রাখা যায়নি যাক এর, মধ্যে মধ্যে শৈলী ট্যাগ বলে, শরীর এবং / শরীর. এবং তারপর আপনি স্টাইলিং হবে শুধু শরীরে. Angela LI: আপনি পারা. এটা কাজ করব. স্টাইলিং কারণ কিন্তু আপনি না করা উচিত মধ্যে যেতে হবে যে মেটাডাটা ধরনের আপনার ডকুমেন্টের মাথা. শারীরিক সত্যিই শুধুমাত্র থাকা উচিত কি আসলে যাচ্ছে আপনার পেজে দেখাবে. AUDIENCE: তাই আপনি যদি শৈলী লাগাতে চাই শৈলী আপনার মাথা সম্পূর্ণ ওয়েব পেজ, ডান? Angela LI: হ্যাঁ. সুতরাং এই সিএসএস নিয়ম, এখানে শৈলী নির্বাণ উপর ভিত্তি করে পুরো পাতা প্রযোজ্য হবে তাদের নির্বাচক. সুতরাং যা করতে ভাল উপায় পরিবর্তে হয় আপনার মাথার মধ্যে একটি স্টাইল ট্যাগ হচ্ছে, আপনি একটি বহিস্থিত স্টাইল এই লিঙ্ক আছে আমি আপনাকে দেখিয়েছি শীট মত পূর্ববর্তী উদাহরণ. কি এই আছে এটা চেষ্টা করে এবং খুঁজে বের হল style.css ফাইল এবং তারপর এটি pulls এবং ব্যবহার করে যে হিসাবে পৃষ্ঠার জন্য শৈলী. এবং আপনার style.css would ঠিক এই মত চেহারা. এটি শুধু সিএসএস একটি গুচ্ছ হবে. এবং পরিশেষে, অন্য উপায় যে আপনি আছে সিএসএস অন্তর্ভুক্ত করতে পারে, যা আপনি সত্যিই কখনও করা উচিত নয়. এটা কল ইনলাইন স্টাইলিং এর. তাই কোনো এইচটিএমএল এলিমেন্ট এটিও করতে পারেন একটি শৈলী বৈশিষ্ট্য নিতে. এবং তারপর যে শৈলী বৈশিষ্ট্য মধ্যে, আপনি এটা সিএসএস নিয়ম দিতে পারেন. তাই এই ক্ষেত্রে, যাহা DIV আমি আছি অধিকার এখানে সংজ্ঞা, এটা যাচ্ছে একটি কালো পটভূমি আছে এবং একটি সাদা টেক্সট কালার. কিন্তু আপনি এই কাজ করা উচিত নয়, কারণ কি এই এটি আপনার স্টাইলিং রাখে হয় না আপনার HTML ভিতরে. এবং আমি মনে করি আমরা এইচটিএমএল সম্পর্কে কথা বলা করছি জানি কাঠামো এবং CSS এর শৈলী. আপনি এই কাজ, এটি দ্রবণ তাদের একসঙ্গে. এবং এটা খুব পরিষ্কার নয়. সুতরাং যে করবেন না. আমরা, আপ আছে, সিএসএস একটি উদাহরণ ব্যবহার শুধু এইচটিএমএল দেহ নির্বাচন তথ্যচিত্র. এবং আমরা সবকিছু এর, ভালো থাকেন কমিক সান্স হতে যাচ্ছে. আমি যে বলতে না. কিন্তু আপনি তা করতে পারে. এখানে ডান দ্বিতীয় নিয়ম, এটা যাচ্ছে প্রথম উপাদান নির্বাচন আইডি মূল সাথে পাতা. তাই যাই হোক না কেন এইচটিএমএল উপাদান, আমি আইডি বলেন = প্রধান, আমি যে দিতে যাচ্ছি 20 পিক্সেল মার্জিন এবং সবকিছু সারিবদ্ধ, কেন্দ্র থেকে সব টেক্সট,. শেষ জিনিস সিএসএস বর্গ দ্বারা নির্বাচন করা হয়. তাই আমি দিয়েছেন যে পেজে কোন উপাদান একটি অধ্যায় বর্গ, আমি এটা করতে যাচ্ছি হালকা নীল একটা পটভূমির রঙ. হাঁ. যে আমি পেয়েছিলাম সব. প্রশ্ন? AUDIENCE: কি হ্যাশট্যাগ মূল আগে কি? Angela LI: প্রশ্ন আছে, হয় মূল আগে হ্যাশট্যাগ? এই ক্ষেত্রে, মধ্যে হ্যাশ সিএসএস আইডি দ্বারা নির্বাচন মানে. আমি কিছু এইচটিএমএল উপাদান ছিল তাই যদি মত divid = প্রধান, এই সিএসএস রুল নির্বাচন আইডি প্রধান সঙ্গে জিনিস. আর একইভাবে, সামনে কাল অধ্যায় সিএসএস ক্লাস করে নির্বাচন বা হয় এইচটিএমএল বর্গ দ্বারা নির্বাচন করুন. AUDIENCE: কেন একটি আগে আছে আছে পটভূমির রঙের 6? Angela LI: হ্যাঁ. তাই প্রশ্ন, কেন হয় হয় 6 আগে একটি হ্যাশ? এই যে হ্যাশ চেয়ে ভিন্ন. এর মানে আপনি প্রদান করছি যে মানে একটি হেক্সাডেসিমেল রঙ. সুতরাং হেক্স রং, এই মাত্র একটি রং প্রতিনিধিত্ব করে. এবং যদি আপনি আরজিবি triples মনে রাখবেন যখন আপনি ফরেনসিক pset কি? এই অনুরূপ. প্রথম দুই ডিজিট প্রতিনিধিত্বকারী কত লাল রঙের হয়. দ্বিতীয় দুটি উপস্থাপন কত সবুজ. এবং তৃতীয় প্রতিনিধিত্ব করে কতটা নীল. এবং হ্যাশ এই যাচ্ছে হয় একটি রঙ প্রতিনিধিত্ব করতে. তাই 0, 0, 0, 0, 0, 0 থেকে কিছু ফল, ফল, ফল, ফল, ফল পর্যন্ত, ফল বৈধ. এটা যে সম্ভব কিছু বৈধ রঙ এর আপনার ব্রাউজার দ্বারা প্রদর্শন করা. প্রশ্ন? AUDIENCE: মধ্যে পার্থক্য কি আইডি দ্বারা এবং ক্লাস দ্বারা ব্যবহার করে? Angela LI: প্রশ্ন কি মধ্যে পার্থক্য আইডি এবং বর্গ দ্বারা ব্যবহার করে? আপনি শুধুমাত্র একটি মধ্যে এক উপাদান থাকতে পারে একটি প্রদত্ত আইডি আছে এইচটিএমএল ডকুমেন্ট. আমার পেজে সুতরাং শুধুমাত্র এক জিনিস আইডি মূল আছে অনুমোদিত হয়. তাই আপনি যদি এই জন্য এটি ব্যবহার হেডার হয়. এই পরিভ্রমন করে. এই ফুটার হয়. আপনি যা করতে পারেন, কারণ ক্লাস, ভিন্ন অনেক HTML উপাদান থেকে ক্লাস আবেদন হিসাবে আপনি চান. সুতরাং উদাহরণস্বরূপ, আমি বর্গ বিভাগে করেছেন একাধিক সম্ভবত আছে, কারণ আমার পেজে অধ্যায়. আপনি শুধু হিসাবে অনেক আছে অনুমতি দেওয়া করছি একই সঙ্গে পেজে উপাদান বর্গ কিন্তু একটি নির্দিষ্ট আইডি সঙ্গে কেবল এক. AUDIENCE: তাই বিন্দু প্রতিনিধিত্ব করে বর্গ? Angela LI: হ্যাঁ. একটি বিন্দু একটি বর্গ প্রতিনিধিত্ব করে. কুল. এটা আমি পেয়েছেন সব, বলছি না. আপনাকে ধন্যবাদ. [সাধুবাদ] ZAMYLA Chan: হাই, সবাই. আমি Zamyla আছি. আমি পিএইচপি আচ্ছাদন করা যাচ্ছে না, MVC, এবং এসকিউএল আজ. আমি থাকব যে উপাদান অনেক আবরণ প্রায় কাছাকাছি হতে যাচ্ছে ডান pset7 আউট. ঠিক আছে. সুতরাং পিএইচপি কি? পিএইচপি পিএইচপি হাইপারটেক্সট ঘোরা Preprocessor. সুতরাং, নিজেই, একটি recursive হয় যা চমত্কার, নাম দিন. পিএইচপি একটি সার্ভার সাইড স্ক্রিপ্টিং ভাষা, এবং এটা ব্যাক উপলব্ধ এবং যৌক্তিক রহস্যাবৃত অন্তর্নিহিত চাপ আমাদের ওয়েবসাইটের. সুতরাং এনজেলা এইচটিএমএল সম্পর্কে অনেক কথা বলত এবং CSS এর গঠন করতে হবে ওয়েবসাইট. কিন্তু আপনি যে পরিবর্তন কি চান বিষয়বস্তু পরিবর্তনশীল অথবা যদি তা পরিবর্তিত হয় ব্যবহারকারী বা উপর ভিত্তি করে নির্দিষ্ট শর্ত? পিএইচপি আসে অংশে যে যেখানে এখন, সাধারণত, পিএইচপি কয়েক নিতে পারে একই জিনিস বাস্তবায়ন কম লাইন পিএইচপি মেমরি হ্যান্ডলগুলি কারণ সি যে প্রোগ্রামার জন্য ব্যবস্থাপনা, আমাদের malloc হচ্ছে উল্টোদিকে বিনামূল্যে, যে ভালো জিনিস. কিন্তু পিএইচপি একটি ব্যাখ্যামূলক যেহেতু ভাষা, সাধারণত, এটি চালানো হতে পারে কিছুটা ধীরে ধীরে সি আর, যা একটি কম্পাইল ভাষা. আমরা প্রোগ্রামিং চলন্ত করছি কারণ ভাষা, এর যাক কিভাবে সিনট্যাক্স পৃথক হবে. এর না খুব সতর্কতা অবলম্বন করা যাক এই সঙ্গে বিভ্রান্ত করতে. আপনি কিনা, পিএইচপি সিনট্যাক্স সঙ্গে তাই একটি HTML এর ভিতরে আপনার পিএইচপি এম্বেডিং আপনি নিজেই দায়ের বা একটি. পিএইচপি ফাইলের মধ্যে খোলা কোড ঘিরা করতে হবে পিএইচপি এবং ভালো বদ্ধ পিএইচপি ট্যাগ পর্দায় মত অনুসরণ করে. পিএইচপি ভেরিয়েবল. প্রতিটি একক চলক দিয়ে শুরু হবে নাম অনুসরণ $ চিহ্ন আপনার পরিবর্তনশীল. এখন, পিএইচপি ভেরিয়েবল ঢিলেঢালাভাবে টাইপ করা হয়, যা আপনার প্রয়োজন না মানে কি ডাটা টাইপ ইঙ্গিত আপনি এটা ঘোষণা করছি যখন হয়. যাইহোক, এই মানে এই নয় যে তারা এ সব কোন ধরনের হবে না. আমি একটি ভেরিয়েবল ডিক্লেয়ার এবং মাত্র সেট সুতরাং যদি এটি 1 যাও সমান, এবং তারপর আমি ঘোষণা অন্য পরিবর্তনশীল, "1" এর সমান সেট এবং তারপর অন্য একটি 1.0, ভাল, সমতা ধরনের উপর নির্ভর করে আমি তুলনা করতে চান অপারেটরদের আমি ব্যবহার সব ধরনের জুড়ে তারপর, তারা সমান হবেন. কিন্তু আমি নিশ্চিত যে করতে চাই, যদি ধরনের সমান, পিএইচপি এখনও কি করতে পারেন আমরা নির্দেশ করে না, যদিও যে যখন আমরা কি এটা টাইপ প্রথম ফাইল করতে. এখন, পিএইচপি, যদিও আমরা প্রোগ্রামিং থেকে সুইচিং সি থেকে ভাষায়, আমরা এখনও আছে আমাদের শুধু ভালো, শর্ত যদি বিশ্বাসভাজন. আমরা এখনও ঠিক, আমাদের যখন loops আছে ভালো, আপনি যেখানে রাখা আপনার তারপর অবস্থা এবং লুপ শরীরের. এবং তারপর আমরা, লুপ জন্য আমাদের আছে সাধারণত এই মতো দেখায়. আমি সব পুনরুক্তি উপর চেয়েছিলেন তাই যদি নয়টি psets এবং জমা এবং একটি কল ফাংশন submitPset, তাহলে আমি কি করতে পারেন যে এখানে, যা আপনি না সব এই বিন্দু দ্বারা সম্পন্ন. প্রসঙ্গক্রমে অভিনন্দন,. ক্যামেরার জন্য, মানুষ বলেন, আপনাকে ধন্যবাদ. এখন, আপনি শুধু এই ব্যবহার করতে চান না লুপ জন্য, তাহলে পিএইচপি আসলে এছাড়াও জিনিস foreach loops আহ্বান জানিয়েছে. তাই আমি পূর্ণসংখ্যার একটি শ্রেণীবিন্যাস, 0 ছিল 8 মাধ্যমে, অ্যারে psets সংরক্ষিত, তারপর আমি একটি foreach লুপ থাকতে পারে psets প্রতি সংখ্যার উপর iterates. এবং তারপর আমি একই পেরেছিলাম অষ্টমত কাজ, আমি আগে কি ঠিক মত. তাই প্রতিটি লুপ জন্য এই চমৎকার, কারণ আপনি, না আছে আপনি জানেন না যদি করতে অ্যারে সঠিক দৈর্ঘ্য যে আপনি তারপর, এই foreach লুপ ব্যবহার করেছেন আপনার জন্য যে যত্ন নিতে হবে. তাই আমি একটি অ্যারে হিসাবে psets তৈরি. এর যে তাকান. পিএইচপি অ্যারে সাধারণত হিসাবে একই আমরা সি, এ ছিল করেছি বেশী যে যেখানে আপনি একটি অ্যারে ডিক্লেয়ার করতে পারেন. এবং এখানে, আমি একটি খালি অ্যারে ডিক্লেয়ার করতে পারেন এবং তারপর ব্যবহার করে পরিবর্তনশীল নির্মাণ ইন্টিজার হিসেবে সূচক. সূচক 0 সুতরাং, আমি সংরক্ষণ করা যাচ্ছে না একটি পূর্ণসংখ্যা 1 নামে. আমার তালিকা সূচক 1 এ, আমি যাচ্ছি মান 2 ধারণ করার জন্য. এবং তৃতীয় সূচী কিন্তু এ দ্বিতীয় সংখ্যা, আমি যাচ্ছি নম্বর 12 সঞ্চয়. এখন, এই যে এ জরিমানা এটা ভাল কাজ করে কাজ করে. কিন্তু এটা আমার কাছে গুরুত্বপূর্ণ বলে প্রতিটি সূচক ঝুলিতে কি. আমার জন্য, ইনডেক্স 0 মানে কিভাবে অনেক বিড়াল আমি আছে. এরপর সূচক 1 মানে কিভাবে অনেক Owls আমি আছে. এবং পরবর্তী এক কতগুলি কুকুর মানে. ভাল, তারপর, এটা পরিবর্তে, যে নির্দিষ্ট করতে 0 সাথে সম্পর্কিত মনে হচ্ছে Owls করার বিড়াল এবং 1, আমি ব্যবহার করতে পারেন যার মানে মিশুক অ্যারে, পরিবর্তে আমার সূচকের হিসাবে পূর্ণসংখ্যার, আমি আসলে স্ট্রিং ব্যবহার করতে পারেন. তাই এই বেশ দরকারী. এবং আপনি মূলত মাত্র প্রতিস্থাপিত করেছি স্ট্রিং সঙ্গে ইন্টিজার. এবং সেখানে আপনি একটি আছে মিশুক অ্যারে. হ্যাঁ. AUDIENCE: আছে একটি কারণ আছে কি দ্বিতীয় জন্য একটি আন্ডারস্কোর অংশ, আমার তালিকা অ্যারে আছে, কারণ. ZAMYLA Chan: প্রশ্ন ছিল, হয় সেখানে একটি আছে একটি কারণ আমার এবং তালিকার মধ্যে আন্ডারস্কোর? না. আমি নামকরণ করছি ঠিক কিভাবে আমার পরিবর্তনশীল. AUDIENCE: প্রথম অন লাইন, এটি একটি শব্দ না. ZAMYLA Chan: আমার ক্ষমা. আমি যে ঠিক করব. হ্যাঁ. তারা একই ভেরিয়েবলের নাম হতে হবে. গুড ক্যাচ. ঠিক আছে. সুতরাং আসুন স্ট্রিং যান যাক সংযুক্তকরণের. আমি দুই স্ট্রিং নিয়ে যেতে চেয়েছিলেন, যদি তারপর আমি তাদের কনক্যাটেনেট পারেন ডট অপারেটর দিয়ে. তাই আমি একটি প্রথম নাম হিসাবে Milo আছে এবং তারপর একটি পদবি হিসাবে কলা, ডট অপারেটর এবং সাথে concatenating তারপর তাদের মধ্যে একটি স্থান নির্বাণ Milo ধারণকারী একটি স্ট্রিং করতে হবে আমি তখন echo বা করতে পারেন, যা কলা,, বরং, প্রিন্ট আউট. প্রতিধ্বনি কথা বলছেন, এর কথা বলা যাক কয়েকটি দরকারী সম্পর্কে - ওহো. আমি দুঃখিত. কয়েকটি দরকারী পিএইচপি ফাংশন. সুতরাং আমরা আছে - কারিগরী সমস্যা. এক দ্বিতীয়. আমি এটি পাঠানো হয়েছে. পাওয়ার পয়েন্ট সমস্যা. এবং আমরা পিএইচপি ফাংশন সঙ্গে ফিরে যায়. এবং আমরা পিএইচপি ফাংশন সঙ্গে ফিরে যায়. সুতরাং আমরা ফাংশন প্রয়োজন আছে যেখানে আপনি একটি ফাইলে প্রেরণ, এখানে হয় শুধু একটি ফাইল একটি উদাহরণ যে আমি ইন পাস হতে পারে তারপর যে পিএইচপি কোড অন্তর্ভুক্ত করা হবে আমি ইঙ্গিত যে যে ফাইল থেকে. এবং এটা যে ইন নির্ণয় করা হবে তারপর আমরা, প্রতিধ্বনি আছে যা printf একটি সমান্তরাল হয়. প্রস্থান বিরতি একটি সমান্তরাল হয়, ব্লকের প্রস্থান করে যা আপনি লগইন করেননি যে কোড এবং তারপর খালি চেক কিনা একটি প্রদত্ত পরিবর্তনশীল নাল বা শূন্য বা ভালো হয় যাই হোক না কেন খালি হচ্ছে সমান ভাবে হয়. হ্যাঁ. AUDIENCE: স্ট্রিং সংযুক্তকরণের জন্য ডট অপারেটর এক, পিএইচপি, যে এটি ব্যবহার করে যেখানে জাভাস্ক্রিপ্ট হিসাবে একই সংযুক্তকরণের জন্য ডট প্লাস মানে? তাই পুরো নাম, আপনি ডলার হতে পারে প্রথম + + সাইন এবং তারপর 'শেষ? ZAMYLA Chan: হ্যাঁ. তাই প্রশ্ন ছিল পিএইচপি কিনা আমরা একই স্ট্রিং সংযুক্তকরণের ব্যবহার করতে পারেন pluses সঙ্গে জাভাস্ক্রিপ্ট হিসাবে. য়োষেফ পরে যে ভাগ পেতে হবে. আমি মনে করি তিনি যে একটি স্লাইড আছে মনে. বাস্তবিক, এটি আলাদা. সুতরাং জাভাস্ক্রিপ্ট, আপনি ব্যবহার করতে হবে স্ট্রিং কনক্যাটেনেট করার প্লাস. এবং পিএইচপি, আপনি করতে হবে ডট অপারেটর ব্যবহার. তাই তারা বিভিন্ন করছি. ঠিক আছে. তাই এখন আমরা সব আবৃত করেছি এই পিএইচপি, যেখানে এটি আছে সত্যিই উপকারে আসা? ওয়েল, এটা উপকারে আসে যখন আমরা আমাদের এইচটিএমএল সঙ্গে এটি একত্রিত করতে পারেন. সুতরাং আমাদের পিএইচপি আমাদের ক্ষমতা দিতে হবে একটি পৃষ্ঠার এইচটিএমএল কন্টেন্ট পূর্বে থেকে পরিবর্তন তার লোডিং. তাই বিভিন্ন পরিস্থিতির উপর ভিত্তি করে, যে সাধারণত নির্দিষ্ট ইউজার লগ ইন, আমরা প্রদর্শন করতে পারে বিভিন্ন তথ্য. লিন্ডা, আপনি একটি প্রশ্ন আছে? AUDIENCE: আপনি কনক্যাটেনেট পারি এছাড়াও একটি পূর্ণসংখ্যা? ZAMYLA Chan: হ্যাঁ, আপনি যা করতে পারেন. সম্ভব হলে তাই প্রশ্ন ছিল ইন্টিজার বা অন্যান্য কনক্যাটেনেট এখন, আমরা, MVC যান variable.s যা আমরা ব্যবহৃত একটি দৃষ্টান্ত হল pset7 এবং ওয়েব ডিজাইনার অনেক জন্য ব্যবহার ফাইল কোড সাংগঠনিক তাদের ওয়েবসাইটে. এম মডেল ঘোরা. এবং মূলত, মডেল ফাইল চুক্তি হবে ডাটাবেসের সঙ্গে পারস্পরিক ক্রিয়ার সঙ্গে. ফাইল দেখুন, তারা সঙ্গে সম্পর্কযুক্ত ওয়েবসাইটের নন্দনতত্ব. এবং নিয়ামক হ্যান্ডলগুলি ব্যবহারকারী অনুরোধ, parses তথ্য, অন্যান্য যুক্তি আছে. Pset7, আমরা মডেল মিলিত এবং নিয়ামক. এবং আমরা শুধু কন্ট্রোলার তাদের বলা হয় এবং পাবলিক ডিরেক্টরি তাদের করা. এবং দেখুন ফাইল, আমরা হিসাবে তাদের ব্যবহার টেমপ্লেট ডিরেক্টরিতে টেমপ্লেট. সুতরাং এখানে এই চিত্রটি এছাড়াও প্রতিনিধিত্ব করে সাথে বিভাগের একই ধরনের মডেল এবং রক্তবর্ণ মধ্যে নিয়ামক এখানে বাম এবং ডানদিকে দেখুন. সুতরাং এই একটি পরিকল্পিত যে আপনি কিছু অফিস ঘন্টা বা এ দেখা যেতে পারে আমরা আপনার হিসাবে অঙ্কন ছিল ডায়াগ্রামে আপনার pset figuring আউট হয়. তাই এখানে, একটি প্রদত্ত নিয়ামক, একটি মডেল নিয়ামক, আমরা ফাংশন আছে এসকিউএল অনুসন্ধান যে কহা ডাটাবেস, পিএইচপি লজিক নির্বাহ. হতে পারে আপনি আপ দেখাবে ইয়াহু একটি স্টক তহবিল. অথবা সম্ভবত, আপনি শুধু থেকে চেক করবে ব্যবহারকারীর জমা ছিল কিনা দেখতে একটি থাকার আগে থেকেই গঠন আপনার পৃষ্ঠা পরিদর্শন করেন. এবং তারপর আপনি রেন্ডার করবে একটি এখানে বেশী গঠন করে. যে ফর্ম জমা হয়েছে পরে ব্যবহারকারীর দ্বারা, যে কর্ম ফর্ম এর এইচটিএমএল ট্যাগ উল্লিখিত পাতা নির্দেশ করবে যে এটি যে তথ্য প্রদান করে থাকে. সুতরাং যে সমস্ত তথ্য হবে আপনার নিয়ামক ফেরত পাঠানো. তারপর আপনি সম্ভবত কিছুটা কি যে যুক্তি এবং হয়ত কয়েক নির্বাহ আরো এসকিউএল ডাটাবেজে প্রশ্ন এবং তারপর, পরিশেষে, একটি চমত্কার চিন্তা তথ্য বস্তাবন্দী সেট যে আপনি অন্য টেমপ্লেট মধ্যে পাস যে যে তথ্য প্রদর্শন করা. এখন, কিভাবে আমরা আসলে প্যাকেজ করবেন যে তথ্য আপ? ভাল, আমরা রেন্ডার একটি ফাংশন বলা আছে যে সালে functions.php ফাইলে ছিল pset7, আপনি নামে পাস যেখানে একটি ফাইল, একটি টেম্পলেট নাম. এবং তারপর আপনার কাছে পাস একটি মিশুক অ্যারে. তাই যে মিশুক অ্যারে বিভিন্ন তথ্য আপনি লগইন করেননি প্রেরণ করতে ইচ্ছুক যে এখন, কি ধ্রুবক হতে যাচ্ছে এই উদাহরণ যে কি বা, বরং, মিশুক এর নির্দেশক অ্যারে, যারা হতে যাচ্ছে কি টেমপ্লেট দ্বারা ধ্রুবক হবে বলে আশা করা, এটা দরকার জানে, কারণ বার্তা কিছু বলা বা নাম বলা হয়. এবং তারপর ডানদিকে জিনিস, প্রকৃত মান, তাই এই ক্ষেত্রে, যারা এর একটি ভাল ছেলে এবং Milo, যারা যাচ্ছে পরিবর্তন হয় যে মানের হতে নিয়ামক প্রতি সময় যে পরিবর্তন অথবা একটি নির্দিষ্ট অবস্থার উপর ভিত্তি করে এবং এখনো সদস্য না যে পাস হবে তাই এখানে টেমপ্লেট, আমরা দেখতে যে আমরা এইচটিএমএল বিশেষ অক্ষর ব্যবহার করছেন, যা শুধু মূলত আমরা চাই যে মানে পিয়ার স্ট্রিং পেতে যে ব্যবহারকারীর ইন করা এবং আমরা প্রতিস্থাপন করতে চান সেখানে বার্তা. আমি তখন আমরা আসলে দেখতে হলে ফাইল, নির্দিষ্ট তথ্য এখনো সদস্য প্রেরণ করা হয় কিভাবে কাজ রেন্ডার চাবি উল্লেখ্য যে মিশুক এর নির্দেশক অ্যারে, যারা হয়ে পরিবর্তনশীল এখানে নাম. তাই যে কি 'র মান মিশুক অ্যারের তারপর হয়ে ভেরিয়েবলের মান. এখন, এর এসকিউএল যান যাক. এটা স্ট্রাকচার্ড ঘোরা ভাষা অনুসন্ধান. তাই শুধু এই একটি প্রোগ্রামিং হল ডিজাইন ভাষা উপাত্ত পরিচালনার জন্য. এবং এটা আমাদের জন্য উপকারে এসেছিল আমাদের pset7 অর্থ ওয়েবসাইট. মূলত, এটি শুধু একটি সহজ উপায় বস্তু এবং টেবিলের ট্র্যাক ও পরিচালনা এবং একে অপরের সাথে তাদের সংযোগ আছে. এখন, আপনার SQL ডাটাবেস মনে মূলত একটি এক্সেল ফাইল হিসাবে, সম্ভবত, একাধিক ট্যাবযুক্ত শীট সঙ্গে. সুতরাং আপনি একাধিক টেবিল আছে, সম্ভবত, যে একে অপরের সাথে সংযুক্ত. এবং এক্সেল মত অনেক, আমরা অনেক আছে আমরা চাই যে কার্যকারিতা. উদাহরণস্বরূপ, আমরা নির্বাচন করতে পারেন নির্দিষ্ট সারি. আমরা তথ্য সন্নিবেশ করতে পারেন. আমরা সারি আপডেট করতে পারেন. এবং আমরা জিনিস মুছে ফেলতে পারবেন. এসকিউএল সারি নির্বাচন করে কাজ নির্বাচন বা থেকে নির্দিষ্ট কলাম একটি সারি একটি নির্দিষ্ট সঙ্গে সময় ডাটাবেস আপনি ইঙ্গিত যে মানদণ্ড. এখানে ওভার আমি নির্বাচন দেখতে হবে * থেকে তাই যেখানে ঘর = রাভেনক্লো তারপর উইজার্ড আমি নই, যার মানে * নির্বাচন করছি যে প্রতি একক কলাম নির্বাচন উইজার্ড টেবিল কিন্তু শুধুমাত্র যদি থেকে সারি ঘর কলাম রাভেনক্লো সমান. এখন, এই বিশুদ্ধ বা এসকিউএল হয়. আমি যা phpmyadmin, মধ্যে গিয়েছিলাম তাই যদি আমরা পরিচালনা করতে ব্যবহার যে নির্দিষ্ট পথ আমাদের এসকিউএল উপাত্ত, তাহলে আমি সন্নিবেশ পারে যে phpmyadmin ওয়েবসাইটে. এবং যে চালানো হবে. কিন্তু আমরা আসলে কাজ করতে চান যে পিএইচপি দিকে. সুতরাং আমরা যে কিভাবে করব? ভাল, আমরা প্রশ্নের সাথে ফাংশন, ব্যবহার যা মূলত যে SQL কোয়েরি executes. ব্যবহার করে? একটি স্থানধারক হিসাবে, আমরা নির্দিষ্ট মধ্যে পাস করতে পারেন আমাদের স্ট্রিং মান যে আমরা প্রতিস্থাপন করতে চান. তাই সম্ভবত আমি বিভিন্ন সংরক্ষণের করছি curr_house মান, যা বর্তমান ঘর প্রতিনিধিত্ব করে আমি মাধ্যমে চলেছি যে. তাই আমি একটি স্থানধারক হিসাবে যে পাস পারেন প্রশ্ন চিহ্ন দিয়ে. এবং তারপর আমি মূলত নির্বাহ করব আমি ছাড়া আগে কি একই জিনিস হিসাবে এখন, আমি পিএইচপি আছি. আর প্রশ্নের সাথে একটি ফিরে আসবে মিশুক অ্যারে. এবং আমি সারি এটি সংরক্ষণ করা যাচ্ছে না. এখন, প্রশ্নের সাথে সবসময় ব্যর্থ করতে পারেন. সম্ভবত এসকিউএল কোয়েরি চালানো না পারে টেবিল উপস্থিত করেনি কারণ. অথবা সম্ভবত, কলাম উপস্থিত করা হয়নি. কোন ত্রুটি ঘটেছে. ভাল, যে ক্ষেত্রে, আপনি করতে চাইবেন কিনা আপনি চেক নিশ্চিত যে প্রশ্নের সাথে মিথ্যা ফিরে. এবং যে ট্রিপল ব্যবহার করে এর সেখানে অপারেশনের সমান. এবং তারপর আমি অন্য যা, ক্ষমাপ্রার্থী একটি বার্তা কথা প্রসঙ্গে CS50 ফাংশন,. এবং যদি আপনি ক্ষমাপ্রার্থী, সমস্ত এটার ব্যাপারে দেখব যদি সত্যিই আছে apology.php রেন্ডার হয়. হ্যাঁ. AUDIENCE: আপনি কি যে ব্যাখ্যা যায়নি তারা নির্বাচন এবং থেকে মধ্যে আছে? ZAMYLA Chan: হ্যাঁ, একেবারে. তাই নির্বাচন এবং থেকে মধ্যে মধ্যে তারকা আমি পুরো নির্বাচন করতে চান যে মানে আমার টেবিল থেকে সম্পূর্ণ সারি. আমি নির্বাচন নির্দেশিত করেছি পারে , বছর, বাড়ির নাম দিন. এবং আমি শুধুমাত্র যারা তিন পেতে চাই আমার টেবিলের কলাম. আমি নির্বাচন * বলে কিন্তু যদি, তাহলে আমি করব যে কলামে সবকিছু পেতে. তারপর আমি আপনাকে যেতে চলেছি প্রথম পিঠ. AUDIENCE: তাই এই এখনো এসকিউএল মধ্যে, ডান? এই প্রশ্নের সাথে হয় বা এই পিএইচপি কি? ZAMYLA Chan: আমরা একটি প্রশ্নের সাথে আছেন. তাই এই পিএইচপি হল. সুতরাং পিএইচপি ফাংশন প্রশ্নের সাথে ব্যবহার করে, আমরা একটি SQL কোয়েরি নির্বাহ করছেন. AUDIENCE: এসকিউএল কিছু হয় কেস সংবেদনশীল, যেমন নির্বাচন বা উইজার্ড বা ঘর? ZAMYLA Chan: কিছু হয় এসকিউএল কেস সংবেদনশীল মধ্যে? আমি হ্যাঁ, তাই বিশ্বাস করি. আমি বিশ্বাস করি যে নির্বাচন করে থেকে এবং কেস সংবেদনশীল হয় যেখানে. কোন? Rob Bowden: সুতরাং, এটা বিপরীত হবে. কলামের নাম এবং টেবিল মানে, ঐ সব কেস সংবেদনশীল. কিন্তু মাইএসকিউএল কি শব্দের কোনো মত থেকে নির্বাচন করুন, এবং, যারা কোথায় নয় কেস সংবেদনশীল. ঠিক আছে. তাই আমি বলেন কি বিপরীত. সুতরাং মাইএসকিউএল কীওয়ার্ড সব - ঐ - যেখানে, থেকে, নির্বাচন কেস সংবেদনশীল নয়. কিন্তু অন্য সব কিছুর হয়. ঠিক আছে. সামনে আপনি. AUDIENCE: আমি পরিপ্রেক্ষিতে সারি $ থাকেন একাধিক সারি, যে গড় হল না শুধু একটি মিশুক অ্যারে হয়ে? ZAMYLA Chan: তাই প্রশ্ন ছিল যদি সারি এটি একাধিক সারি করে আছে এটি একটি মিশুক অ্যারে হয়ে? সুতরাং এটা মিশুক একটি অ্যারের হয় ইতিমধ্যে অ্যারে. শুধুমাত্র একটি সারি আছে তাই, এমনকি যদি ফিরে আসেন, তারপর আপনি যেতে চাই যে ফলাফল সূচক 0. এবং তারপর আপনি যে প্রথম সারিতে আছে চাই. হ্যাঁ, Belinda? AUDIENCE: আপনি === ব্যবহার, এই শুধুমাত্র উদাহরণস্বরূপ হয়? অথবা অন্যদের আছে? ZAMYLA Chan: সুতরাং এই ক্ষেত্রে, === ধরনের জুড়ে একটি তুলনা হয় না. দুঃখিত. === একটি তুলনা হয় যে ধরনের তুলনা করা হয়. এবং তারপর == সব ধরনের জুড়ে তুলনা করা হয়. AUDIENCE: আপনি কি ব্যাখ্যা করতে পারবেন সারি এই অবস্থায় কি? এটি তথ্য সারি করা হয়? ZAMYLA Chan: পরবর্তী স্লাইড, আমি আছি কি সারি ব্যাখ্যা করা যাচ্ছে. সুতরাং আপনি অধিষ্ঠিত কিছু মনে না হলে বন্ধ যে উপর. এবং তারপর আপনি ফিরে? AUDIENCE: প্রশ্নের সাথে মত ফাংশন জন্য, রেন্ডার এবং [শ্রবণাতীত] ক্ষমাপ্রার্থী? ZAMYLA Chan: প্রশ্ন কিনা ছিল এই ফাংশন - প্রশ্নের সাথে,, ক্ষমাপ্রার্থী এবং রেন্ডার - পিএইচপি জুড়ে সাধারণ. এই ওগুলো যে CS50 pset7 জন্য লিখেছে. এবং জে? AUDIENCE: আপনি বলার প্রয়োজন হলে $ _SESSION, শুধুমাত্র ID-র জন্য যে? অথবা আপনি এখানে যে বলেন থাকতে পারে? ZAMYLA Chan: তাই প্রশ্ন ছিল, যখন আমরা যে একটি নির্দিষ্ট ছিল, $ _SESSION ব্যবহার আমরা ব্যবহার করছেন যে বিশ্বব্যাপী পরিবর্তনশীল. এখানে এই পরিবর্তনশীল যাচ্ছে আমাদের ফাংশন স্থানীয় হওয়া. তাই আমরা শুধু ঘোষণা করছি একটি নতুন পরিবর্তনশীল. AUDIENCE: কিভাবে ক্ষমাপ্রার্থী হয় বাস্তবায়িত? ZAMYLA Chan: প্রশ্ন ছিল, কিভাবে বাস্তবায়িত ক্ষমাপ্রার্থী হয়? এবং আমি আসলে এই একটি চমত্কার মনে হয় আপনাকে বলছি মধ্যে যেতে জন্য ভাল অভ্যাস functions.php অধ্যায় এবং তাকান ক্ষমাপ্রার্থী এবং আপনি হতে পারে কিভাবে এটা নিজেকে সম্পন্ন. তাই আমি আপনার কাছে যে ছেড়ে কিন্তু ঠিক হতে পারে আপনি তাকান ক্ষমাপ্রার্থী বলে যে, তারপর এটি যে আপনি বার্তা লাগে তাহলে ক্ষমাপ্রার্থী জমা, এবং যে বার্তা উপস্থাপনা. কোন প্রশ্ন? আমি প্রশ্ন ভালোবাসি. তাই আসছে তাদের রাখা. AUDIENCE: [শ্রবণাতীত] echo বা সেখানে মুদ্রণ? ZAMYLA Chan: প্রশ্ন ছিল, আমরা শুধু লাগাতে না পারে echo বা সেখানে মুদ্রণ. তাই কিছু যে কাজ করবে কিছুটা ভিন্ন. যে প্রশ্নের সাথে ছাপা হতো যে ভাগ ব্যর্থ হয়েছে - ওয়েল, ঠিক এখন, আমরা আসলে করছি আমাদের নিয়ামক মধ্যে. সুতরাং আমরা আসলে না থাকে এইচটিএমএল এখানে স্থাপন. Apologize.php রেন্ডারিং দ্বারা ক্ষমাপ্রার্থী আসলে apology.php আপনাকে পুননির্দেশনা. ঠিক আছে. সুতরাং এখন, এর মোকাবেলার উপর ছেড়ে দেওয়া সম্পর্কে আগে থেকে প্রশ্ন কি সত্যিই সারি হয়. ওয়েল, প্রশ্নের সাথে ফিরে আসবে সারি একটি অ্যারে. এবং প্রতি সারিতে প্রতিনিধিত্ব করা হয় একটি মিশুক অ্যারে দ্বারা. আমি কিছু এসকিউএল কোয়েরি এবং মৃত্যুদন্ড কার্যকর করেছি তাই যদি আমি তারপর, সারি ফলে সংরক্ষিত করেছি একটি foreach লুপ ব্যবহার করে, তাহলে অ্যারের সারি - নাম সেখানে প্রথম এক. এবং তারপর আমি কল চলেছি সেখানে $ সারিতে প্রতি সারিতে. তাই আমি যে ধরে তারপর পারেন iterating প্রদত্ত সারি নাম কলামে প্রবেশ, বছরের কলাম, এবং ঘর কলাম. আমি সক্ষম হয়েছে না উল্লেখ্য, কারণ সারি সূচক, সারি দিয়ে এই কাজ নাম বিদ্যমান নেই. সারি শুধু একটি অ্যারে মিশুক অ্যারে. সুতরাং আপনি আছে দুটি মাত্রা আছে. আপনি সারি অ্যারে আছে, আপনি যে ভাগ পেতে আছে. এবং তারপর আপনি কলাম অ্যাক্সেস করতে পারেন. যে এটা স্পষ্ট করা? হাঁ, সামনে? AUDIENCE: [শ্রবণাতীত] খুলুন বন্ধনী [শ্রবণাতীত] জন্য? ZAMYLA Chan: আমাকে ক্ষমা কর! AUDIENCE: খোলা বন্ধনী. ZAMYLA Chan: এখানে এই? যে আমাকে অন্তর্ভুক্ত করার অনুমতি হচ্ছে যে পরিবর্তনশীল. হ্যাঁ. AUDIENCE: আপনি প্রিন্ট, আপনি আছেন HTML কোড করার মুদ্রণ? ZAMYLA Chan: হ্যাঁ. আমি প্রিন্ট করে, এখানে এই ভিতরে হয় আমার টেমপ্লেট এখন, তাই MVC পদ্ধতি আমার দেখুন. তাই আমি HTML এর মধ্যে মুদ্রণ করছি. আমরা ডেভেলপার মধ্যে গিয়েছিলাম তাই যদি AUDIENCE: হাতিয়ারসমূহ এই চলমান পর, আমরা পারা আসলে কোডের যে? ZAMYLA Chan: এটা একটা দারুণ প্রশ্ন, হাঁ. আপনি ডেভেলপার টুলস মধ্যে গিয়েছিলাম তাই যদি ফায়ারফক্স ফায়ারবাগের ব্যবহার করে অথবা এ ক্রোম, তারপর হাঁ, আপনি পারা নির্দিষ্ট এইচটিএমএল দেখুন. সুতরাং $ সারি ["নাম"] দেখাবেন না. এটা যেটা দেখাতে হবে নামের যে সারিতে রয়েছে. AUDIENCE: শুধু একটি সাধারণ সমস্যা, কি হাশর হয় এবং TD হিসাবে সংজ্ঞায়িত? কেন হবে আমরা [শ্রবণাতীত]? ZAMYLA Chan: টেবিল সারি TR, টেবিল তারপর কলাম td. ঠিক আছে. AUDIENCE: হ্যাঁ, এটা টেবিল তথ্য আছে. ZAMYLA Chan: ছক তথ্য. হ্যাঁ. AUDIENCE: এটি একটি সারি আছে যা সারিতে একটি কলামের মত চিকিত্সা করা হয়? ZAMYLA Chan: দুঃখিত. আপনি যে পুনরাবৃত্তি করা যাবে না? AUDIENCE: আপনি কিভাবে হবে সারি ঠাহর? ZAMYLA Chan: কিভাবে আপনি ঠাহর করা হবে উপায় কি ধরনের মধ্যে সারি? আপনি এই বিষয়ে কথা হয় এখানে সারি বা TR সারি? AUDIENCE: সারি. ZAMYLA Chan: এখানে এই সারি? আমি হিসাবে এই মনশ্চক্ষুতে চাই আমি আমার প্রশ্নের সাথে চালানো. এবং এটা ঠিক আছে, আমি এন 0 হয় আছে, বলেছেন মানদন্ড অনুসারে সারি পরিমাণ আপনি সেটির ছিল. তাই আমি সারি কিছু সংখ্যা আছে. সারি সুতরাং, $ সারি, দোকানে প্রতিটি একটি অ্যারের মধ্যে যারা সারি এক. সুতরাং এটা শুধু একটা তাদের মধ্যে, এমনকি যদি এটা এখনও এটি মেলে সারি একটি অ্যারে. আমি তখন, উদাহরণস্বরূপ, এই হল আপনি সংগৃহীত যখন অনুরূপ ব্যবহারকারীদের কাছ থেকে ক্যাশ. আর বিচার্য যেখানে ছিল আইডি সেশন আইডি সমান. সত্যিই শুধুমাত্র একটি সারিতে নেই যে যে মেলে পারে. কিন্তু এখনও সারি শুধু একটা সারিতে ফিরে আসেন. তাই আপনি যদি সারি যেতে চাই, সূচক 0, সূচক ক্যাশে আসলে আপনার ক্যাশে পেতে. AUDIENCE: মুদ্রণ ফাংশন একই জিনিস echo মধ্যে? ZAMYLA Chan: হ্যাঁ. হ্যাঁ. একই একটি প্রতিধ্বনি মুদ্রণ করুন. AUDIENCE: foreach লুপ হয় সারি মধ্যে সূচক একমাত্র উপায়? ZAMYLA Chan: একটি foreach লুপ হয় আপনি পারেন যে একমাত্র উপায় সারি মাধ্যমে পুনরুক্তি? না. এছাড়াও উপলব্ধ, লুপ জন্য একটি ব্যবহার করতে পারেন আপনি দৈর্ঘ্য জানেন যে সারি এর অ্যারের. AUDIENCE: আপনি এটি অ্যাক্সেস করতে পারে [শ্রবণাতীত] হিসাবে একটি সারি ব্যবহার করে? ZAMYLA Chan: সুতরাং আপনি এটি ব্যবহার করতে সক্ষম নয় আপনি না থাকলে শুধু সারি ব্যবহার করে একটি foreach লুপ যে দেওয়া আপনি সারিতে ঘোষণা করেন নি. হ্যাঁ. হ্যাঁ, সাদা. AUDIENCE: TR এবং TD তাই কি করবেন? ZAMYLA Chan: তাই TR এবং TD HTML ট্যাগ হয়. TR শুরুতে নির্দেশক একটি টেবিলের সারির. এবং প্রতিটি TD একটি ইঙ্গিত নতুন টেবিল তথ্য কলাম. AUDIENCE: কি একটি সারির একটি চাক্ষুষ জন্য ভালো, শুধু এসকিউএল কল্পনা করা হয়, কিভাবে তারা একটি সারি আছে. [শ্রবণাতীত]. ZAMYLA Chan: হ্যাঁ. এটা একটি বড় বিন্দু. আপনি ঠিক যেমন সারি ঠাহর করতে পারেন মত একটি এক্সেল টেবিলে, শুধু সারি তালিকা. ঠিক আছে. ঠিক আছে. তাই এখন আমরা যদি নির্বাচন উপর চলে গেছে করেছি কোন প্রশ্ন আমরা করব, নেই সন্নিবেশ সম্মুখের যান উপর. আমি কিছু মধ্যে সন্নিবেশ চেয়েছিলেন তাই যদি টেবিল এবং নির্দিষ্ট কলাম সন্নিবেশ মূল্যবোধ, আমি নিজেকে সন্নিবেশ পারে বছরের 7 সালে রাভেনক্লো মধ্যে. তবে কখনও কখনও ডুপ্লিকেট হতে পারে মূল্যবোধ, আমরা pset7 দেখেছি হিসাবে যখন আমরা আমাদের পোর্টফোলিও আপডেট করা হয়. তাই এই ক্ষেত্রে, আমরা ব্যবহার করতে চান আমরা না করতে, যাতে বিশেষ বিশেষ আপডেট ডুপ্লিকেট একই সঙ্গে একাধিক সারি সংরক্ষণ মূল্য বরং এটি আপডেট. তারপর আমরা আসলে আপডেট আছে, যা একটি সন্নিবেশ নয়. এটা আপনি আপডেট যেখানে শুধু একটি আপডেট আছে একটি প্রদত্ত সাথে একটি নির্দিষ্ট টেবিলে মানদণ্ড এবং তারপর পরিশেষে,, মুছে ফেলা, যা একটি অনুরূপ জিনিস আছে. AUDIENCE: যায়নি আপনি সংক্ষিপ্তভাবে ডুপ্লিকেট চাবি উপর যেতে? ZAMYLA Chan: হ্যাঁ. মূলত এখানে, আমি ঢোকান মধ্যে আছে গ্রিনগটস, galleons,, এই মান হয়. কিন্তু আইডি, সম্ভবতঃ, একটি অনন্য চাবি মূল্য মাইএসকিউএল টেবিল সেট আপ. তাই আমি ইতিমধ্যে যে আইডি সেট আপ আছে, তারপর আমি একটি নতুন সারি সন্নিবেশ করতে পারেন না. এটি ইতিমধ্যেই উপস্থিত না তাই যদি, তারপর আমি এটি আপডেট করা আছে. সাদা মাঝখানে. AUDIENCE: সুতরাং, মুছে ফেলা,, আপডেট সন্নিবেশ এবং নির্বাচন, ঐ সব পাওয়া যায় স্থানীয়ভাবে [শ্রবণাতীত]? ZAMYLA Chan: সুতরাং সন্নিবেশ, আপডেট, মুছে ফেলা, এবং নির্বাচন সব এসকিউএল কোয়েরি হয়. তাই যখনই আপনি এসকিউএল ব্যবহার করছেন, আপনি উপলব্ধ যারা থাকবে. AUDIENCE: গত ক্যুইজ করার পিছনে - মোকাবেলা যে একটি প্রশ্ন ছিল যদি আপনি একটি টেবিল ছিল এবং চেয়েছিলেন একটিতে স্কোর ঢুকিয়ে আপনি সন্নিবেশ আপনার নাম আপনাকে দেওয়া হবে না এটা তাই [শ্রবণাতীত] আপনার বন্ধুর পরীক্ষার স্কোর. আপনি যে সন্নিবেশ সঙ্গে কিভাবে কি করতে হবে? ZAMYLA Chan: তাই প্রশ্ন ছিল পূর্ববর্তী মধ্য মেয়াদী প্রশ্ন. আমি যা সচেতন নই এক অধিকার এখন হয়. তাই হয়তো এর পরে, আপনি চান আমি করতে পারেন, তারপর চলে আসে এবং আমাকে দেখান অবশ্যই আপনি টিপস দিতে. কিন্তু মত, ঢোকাতে জিনিস ভাষী যখন আপনি কাউকে এর স্কোর গ্রহণ , এর সম্পর্কে কথা বলতে দেওয়া উচিত নয় এসকিউএল ইনজেকশন আক্রমণ. সুতরাং একটি এসকিউএল ইনজেকশন আক্রমণ মূলত হয় যেখানে কেউ নেয় কম নিরাপত্তা সুবিধার সুযোগ আপনি তথ্য মধ্যে গ্রহণ করা হয় যে উপায়. তাই এখানে, ঠিক CS50 ফাইন্যান্স মত, আমরা এ লগ করার সময়, আমরা একটি মধ্যে প্রবেশ করতে পারেন লগইন ফর্ম ব্যবহারকারীর নাম, প্রথম টেক্সট বক্স, এবং তারপর একটি পাসওয়ার্ড লিখুন. সম্ভবত আমাদের পিএইচপি কোড চেহারা হতে পারে ভালো কিছু, যেখানে $ ব্যবহারকারীর নাম হয় পোস্ট তথ্য ব্যবহারকারীর নাম ও পাসওয়ার্ড পোস্ট তথ্য পাসওয়ার্ড. এবং তারপর আমরা শুধু, বলে, আমাদের প্রশ্নের সাথে চালানো ঠিক আছে, ভাল, আমাদের প্রশ্নের সাথে যাচ্ছে আমাদের ব্যবহারকারীদের কাছ থেকে নির্বাচন করুন, যেখানে ব্যবহারকারীর নাম হল তারা জমা করে. ও পাসওয়ার্ড পাসওয়ার্ডটি হয়, পাসওয়ার্ড মেলে, যার অর্থ. এখন, কি যদি পরিবর্তে প্রকৃতপক্ষে এর যেমন, একটি প্রকৃত পাসওয়ার্ডটি জমা 12345 এবং বলেছেন যে দাড়া এ মনন পাসওয়ার্ড এবং হ্যাক করার চেষ্টা করছে তাদের একাউন্ট, কি পরিবর্তে যদি তারা এই নিয়মিত. তারা হয়তো টাইপ করতে পারে একটি পাসওয়ার্ড একটি অনুমান. এবং তারপর তারা শেষ হবে উদ্ধৃতি তারপর টাইপ বা = 1 1. যে এসকিউএল মধ্যে সরাসরি গতি হবে ভালো কিছু চেহারা প্রশ্ন. ব্যবহারকারী থেকে নির্বাচন করুন যেখানে ব্যবহারকারীর নাম = Prongs এবং পাসওয়ার্ড কমল বা 1 = 1 সমান. তাই পাসওয়ার্ড নয়তো হয়েছে সঠিক বা 1 = 1 হতে, সবসময় সত্য যা. তাই এই ক্ষেত্রে, মূলত, একটি ব্যবহারকারী পারেন এই সুযোগ গ্রহণ করে এবং মাত্র লগ ইন নিজেদের মধ্যে এবং হ্যাক কেউ এর একাউন্ট. আমরা এড়াতে চান সুতরাং যে কেন এই কাজ করতে হচ্ছে কেউ. কিন্তু সৌভাগ্য যে, প্রশ্নের সাথে ফাংশন দ্বারা স্থানধারক কথা প্রসঙ্গে নিতে হবে আপনার জন্য এই যত্ন. উপরন্তু, আপনি সাধারণত চাই না আসলে পাসওয়ার্ডের জমা নিজেদের. আমরা কুচি - কুচি করিয়া কাটা বস্তু বা এনক্রিপ্ট কেন CS50 ফাইন্যান্স তাদের. AUDIENCE: গত ব্যঙ্গ সায়ীদ সম্পর্কে মাইএসকিউএল পালাবার স্ট্রিং. আমরা যে চিন্তা করতে হবে না? ZAMYLA Chan: এটা একটা ভাল প্রশ্ন. মাইএসকিউএল পালাবার স্ট্রিং হ 'ল একটি আমাদের প্রশ্নের সাথে ব্যবহার করা হয় যে ফাংশন. কিন্তু স্পষ্টভাবে যে দেখব. আমি জানি যে পরিষ্কার খেলা বলতে চাই আপনি যে ফোন করতে চাই একটি স্ট্রিং উপর কাজ. হাঁ, Belinda? AUDIENCE: এটি যখন আপনি কিভাবে জানেন একক উদ্ধৃতি চিহ্ন বা উদ্ধৃতি চিহ্ন? এবং এছাড়াও, আমি আপনাকে বক্তৃতায় মত মনে হচ্ছে না সম্পর্কে কিছু উল্লেখ করেছে [শ্রবণাতীত] বা কিছু বা শেষে দ্বিতীয় একক উদ্ধৃতি. আমি সে বক্তৃতায় নির্দিষ্ট মনে করি যে আপনি ঊর্ধকমা 1 আছে অনুমিত করছি এবং তারপর apostrophes নেই বা কিছু. AUDIENCE: [শ্রবণাতীত]. AUDIENCE: জিনিস শেষ একক হল যে দ্বিতীয় বাক্সে সেখানে মূল্যউদ্ধৃতি সেখানে হবে না. [শ্রবণাতীত] কারণ আপনি যে গত একক নিতে হলে আউট উদ্ধৃত ও বিষয়বস্তুর জন্য এইসব মেলে আপনি যে যদি পাসওয়ার্ড, যেখানে প্রশ্নের সাথে, একটি একক উদ্ধৃতি এ আছে ইতিমধ্যেই শেষ. আপনি যে একক উদ্ধৃতি ব্যবহার করতে চান এক সম্মুখীন হবে যে এক হিসাবে [শ্রবণাতীত]. তাই যে টেক্সট প্রকৃতপক্ষে এর বক্স যে না থাকা উচিত. ZAMYLA Chan: আমি যে পরিবর্তন করব. ঠিক আছে. কোন প্রশ্ন নেই তারপর, আমি করব কথা বলার জন্য য়োষেফকে এটি উপর পাস জাভাস্ক্রিপ্ট সম্পর্কে, ইত্যাদি ইত্যাদি. [সাধুবাদ] জোসেফ Ong: সুতরাং আমরা দৌড়াচ্ছে অল্প পেছনে. আপনি চলে আছে সুতরাং, যদি এটা ঠিক আছে. কিন্তু আমরা আপনাকে নিচে আপনার মাথা রাখা জিজ্ঞাসা আপনি মাঝখানে করছি, তাই যদি আপনি ক্যামেরা অবরোধ এবং আপনি ব্যবহার করবেন না আপনার কাছে থাকে তাহলে ফিরে প্রস্থান. আমি উপায় দ্বারা জোসেফ আছি. পরিষ্কার উচ্চ. টেস্ট, টেস্ট. ড্যান, যে ভাল? কুল. তাই ভিডিও এছাড়াও পোস্ট করা হবে যারা অনলাইন যে এখন ছাড়তেই হবে. বিশ্রী. ঠিক আছে. তাই ব্যঙ্গ পর্যালোচনা. এটি একটি বিড়াল. হয়ত না, যা এখন, জাভাস্ক্রিপ্ট, আপনি না কিছু জন্য ওহো হিসেবে. ঠিক আছে. তাই প্রথম যে এর Zamyla থেকে প্রত্যাহার. পিএইচপি যে মনে রাখুন সার্ভারে রান. আর বার প্রচুর, আপনাকে বলছি loops লিখেছেন পিএইচপি অধিকার, এইচটিএমএল প্রিন্ট আউট? যে কোড executes তাই একবার, যে আপনি প্রিন্ট আউট যে এইচটিএমএল আউটপুট ব্যবহারকারী পাঠানো হয়. এটি ঘটে এবং একবার, কোন পিএইচপি পারেন আপনি পৃষ্ঠাটি পুনরায় লোড না যদি না এর,, রান করা পিএইচপি reexecutes যা অবশ্যই,. কিন্তু আপনি যে এইচটিএমএল প্রিন্ট আউট একবার, আপনি যে কোন জায়গায় হতে পারে না. সুতরাং যে এইচটিএমএল, ব্যবহারকারী থেকে বেশি পাঠানো হয় ওভার এখানে, ব্রাউজার যা যেখানে Milo কম্পিউটার ব্যবহার করছে. এবং তাই ভাল, কয়েকটি জিনিস আছে আমরা ব্যবহারকারী যাও এইচটিএমএল পাঠাতে একবার. কখনও কখনও আমরা ভালো কিছু করে যেতে চাই আপনি কোনো কিছুর উপর ক্লিক করা হলে, আমরা চাই , যারা অসুস্থ পপ আপ সতর্কতা বাক্স আপনি টিপুন যখন মত কথাবার্তাও, কি, আপনি কিছু ক্লিক করা হলে পাতা, আমি এরকম কিছু করতে চান. হ্যাঁ, আপনি পিএইচপি reexecute করতে পারবেন না যে এইচটিএমএল সেট করা হয় কোড একবার. তাই আপনি যদি এই কিভাবে করব? আমরা নামক একটি নতুন ভাষা চালু ব্রাউজারে যা রান জাভাস্ক্রিপ্ট, যে আপনি কিছু করার অনুমতি দেয় আপনার প্রাপ্ত পর HTML এ সার্ভার থেকে তাদের. আমরা এটি একটি ক্লায়েন্ট প্রান্তের কল কেন এবং এই হল প্রোগ্রামিং ভাষা. এটা আপনার কম্পিউটারে কাজ করে - ক্লায়েন্ট. এ পর্যন্ত যে সম্পর্কে কোন প্রশ্ন? যে দৃষ্টান্ত মানুষের ইন্দ্রিয় তোলে? ঠিক আছে. গুড. ঠিক আছে. সুতরাং প্রথম জিনিস খেয়াল করা জাভাস্ক্রিপ্ট পিএইচপি না হয়. তারা কিছু ভিন্ন সিনট্যাক্স আছে, যা আমরা মধ্যে যাবেন. এবং তারা খুব বিভিন্ন ব্যবহার আছে. জাভাস্ক্রিপ্ট, আবার, জন্য আপনার ক্লায়েন্টের জন্য ব্রাউজার,. সার্ভার অন্য কেউ এর কোথাও রান তথ্য পাঠায় যে কম্পিউটার আপনি, সংশোধন? তাই আমরা পিএইচপি কোড লিখতে অনুরোধ জানানো হলে একটি পরীক্ষার প্রশ্নে, লিখুন না জাভাস্ক্রিপ্ট এবং তদ্বিপরীত. আপনি শুধু পয়েন্ট হারান, এবং এটা সঠিক না. সুতরাং আসুন কিছু ঢোকা যাক সিনট্যাক্স পার্থক্য - বাম জাভাস্ক্রিপ্ট এবং ডান নেভিগেশন পিএইচপি. আপনার সাথে বিজ্ঞপ্তি পাবেন প্রথম জিনিস জাভাস্ক্রিপ্ট, আমরা সাথে ভেরিয়েবল ডিক্লেয়ার var অভিব্যক্তি - ভী একটি আর. পিএইচপি ডলার চিহ্ন ব্যবহার করা হয়, Zamyla আগে আলোচনা হয়েছে. আপনি একটি মিশুক ডিক্লেয়ার করতে চান, অ্যারে, আমরা প্রথম পরিচিত সিনট্যাক্স দেখুন পিএইচপি সঙ্গে ডান দিকে. বাম দিকে, পরিবর্তে আপনি কোঁকড়া ধনুর্বন্ধনী ব্যবহার. এবং তারপর আপনার কি বাম হয়. এর পরে আপনি একটি কোলন আছে. এবং তারপর আপনি মান আছে যে আপনি চান. তাই এই আপনি পিএইচপি এটা করতে হবে কিভাবে যে দ্বিতীয় সঙ্গে ডান দিকে Milo আরম্ভ যে লাইন. এবং যে আপনি এটা করতে হবে কিভাবে যদি আপনি চান জাভাস্ক্রিপ্ট মধ্যে পাশ বামে আমরা একটি বস্তু কি কল. এবং জাভাস্ক্রিপ্ট অবজেক্টের হয় ঠিক মিশুক অ্যারে. সুতরাং আপনি এ, ক্ষেত্র অ্যাক্সেস করতে চান পিএইচপি আপনি এই বন্ধনী সিনট্যাক্স ব্যবহার. এবং এই ভাবে আপনি reassign পারেন Lauren এই মালিকের ক্ষেত্রে. ওয়েল, জাভাস্ক্রিপ্ট মধ্যে, যদি এক করতে চান আপনি যা করতে পারেন, একটি ক্ষেত্র একসেস করুন, এবং এটি পরিবর্তন বিন্দু সিনট্যাক্স ব্যবহার. আপনি বন্ধনী সিনট্যাক্স ব্যবহার করতে পারেন. কিন্তু আপনি ব্যবহার করতে পারবেন না পিএইচপি ডট বাক্য গঠন. এটা কাজ করবে না. এটা শুধুমাত্র পিএইচপি কাজ করে. এবং পরিশেষে, জিনিষ প্রিন্ট কনসোল, আপনি console.log, ব্যবহার, যা আপনাকে বলছি pset8 মধ্যে অনেক ব্যবহার. আপনি যে console.log পারেন. আপনি একটি অ্যারের প্রিন্ট করতে চান, পিএইচপি, আপনি প্রিন্ট R ব্যবহার আছে. আর ডান দিকে, আপনি আমি হ্যাশ দেখুন ওইদিকে স্ট্রিং সংযুক্তকরণের. কেউ আগে জিজ্ঞাসা. আমি জাভাস্ক্রিপ্ট মধ্যে একটি প্লাস ব্যবহার. আমি কিছু কনক্যাটেনেট চাই পিএইচপি, আমি ডট ব্যবহার. এই ভিন্ন. আপনি পিএইচপি কোড লেখা করছি, একটি প্লাস ব্যবহার করবেন না. আপনি জাভাস্ক্রিপ্ট লেখার করছি কোড, একটি বিন্দু লিখুন না. এটা ভুল হবে. এবং আপনি দু: খিত হবেন. সুতরাং বাক্য গঠন পার্থক্য. আপনার সিনট্যাক্স জানেন, কারণ আপনার কাছে থাকে তাহলে একটি প্রশ্ন লিখুন এবং আপনি বাক্য গঠন ব্যবহার ভুল ভাষা থেকে, এটি কাজ করবে না. এবং এটা ভুল হবে. সুতরাং আসুন কিছু নিয়ন্ত্রণ সম্পর্কে কথা বলুন আপনি ব্যবহার, কিভাবে পার্থক্য প্রবাহ তাদের প্রতিটি মধ্যে loops. Zamyla ডান পাশের উপর গিয়েছিলাম. ডান দিকে জিনিসপত্র পরিচিত হতে হবে. এর বাম দিকে তাকান. আপনি জাভাস্ক্রিপ্ট মধ্যে এন লুপ জন্য ব্যবহার, আপনার লুপ ভেরিয়েবল, var ওইখানে আমি, অ্যারের নির্দেশক উপর লুপ. সুতরাং আপনি নাম, বাড়ী, এবং ভূমিকা দেখতে. আমি আমি console.log, আমি পেতে নাম, বাড়ী, এবং ভূমিকা. সেগুলো হল কি করে. জাভাস্ক্রিপ্ট, একটি foreach লুপ যায় এই অ্যারের মান ধরে. তাই আপনি যদি তারা আমি উভয় করছি বিজ্ঞপ্তি. কিন্তু এখানে পিএইচপি দিকে, এটা ছাপে Milo, CS50, এবং মাসকট আউট. যারা পিএইচপি মান. সুতরাং এই এই দুটি ভিন্ন ভাবে হয় বিভিন্ন ভাষায়. তাই আপনি যদি একটি foreach ব্যবহার করছেন লুপ, নিই না যে এটি আপনি কি আপনি. আপনি এন লুপ জন্য একটি ব্যবহার করছেন এবং, যদি না এটা আপনার মান দেয় অনুমান. এই পর্যন্ত জানার জন্য? পরবর্তী স্লাইডে আপনাকে দেখাতে হবে আপনি বিপরীত অ্যাক্সেস করতে পারেন তাদের প্রতিটি. হ্যাঁ, আপনি জাভাস্ক্রিপ্ট মধ্যে কি আছে এবং আপনি, মান আউট চাই মধ্যে আপনি শুধু সূচী যে সঙ্গে অ্যারে. তাই আমি এর Milo কি পাবেন আপনি চান - মান. পিএইচপি এই ভিন্ন সিনট্যাক্স আছে. আপনি সত্যিই এটা জানতে চান, আমি না আমরা এখনো আপনার কাছে এটি দেখিয়েছে করেছি মনে. আপনি আগ্রহী হলে কিন্তু, আপনি ব্যবহার করতে পারেন ডান উপর এই অতিরিক্ত বাক্য গঠন আসলে আপনি করতে দেওয়া হবে পাশ পিএইচপি কি আপনি ব্যবহার করছেন যখন একটি foreach লুপ. তুচ্ছ বস্তু তাই অল্পমাত্র বিট আপনি আগ্রহী হলে. সুতরাং যে শুধু প্রকট হচ্ছে এইসব দুই loops মধ্যে পার্থক্য. আপনি যখন তাদের তালগোল না একটি প্রশ্ন প্রোগ্রামিং. যে সম্পর্কে কোন প্রশ্ন. কুল. ঠিক আছে. জাভাস্ক্রিপ্ট বস্তু. আমি তাদের সম্পর্কে বললাম. তারা মিশুক অ্যারে মত হন. আমি আপনার নোট চাই এক জিনিস এখানে যে একটি মিশুক মধ্যে একটি মান অ্যারে জাভাস্ক্রিপ্ট কিছু হতে পারে. এমনকি এটি একটি ফাংশন হতে পারে, ওইখানে মত. আমি একটি ফাংশন আছে একটি কি 'র একটি মান. এবং আমি যে ফাংশন কল করতে চান, আমি শুধু বাকল প্রবেশ. এবং তারপর আমি প্রথম বন্ধনী করা এর পর. এবং যে কাজ করে. তাই কোন প্রশ্ন? কোন? ঠিক আছে. গুড. পিএইচপি মত জাভাস্ক্রিপ্ট,, ঢিলেঢালাভাবে টাইপ করা হয়. যে এর অর্থ কি? এটা ধরনের আছে. কিন্তু আপনি যদি একটি জাভাস্ক্রিপ্ট ঘোষণা যখন পরিবর্তনশীল, আপনি var আমি বলতে. আপনি এটা না বলে. এটা একটি জিনিস না. আপনি শুধু এটা একটি পরিবর্তনশীল বলতে. এবং তারপর জাভাস্ক্রিপ্ট সব ব্যবস্থা করবে আপনার জন্য ফণা অধীন ধরনের. আমরা অবাধে মধ্যে রূপান্তর করতে পারেন কারণ এই ধরনের. তাই আমি একটি নম্বর হিসাবে আরম্ভ আউট এই ক্ষেত্রে. এবং তারপর আমি একটি স্ট্রিং আছে. এবং আমি এটা করতে আমি যোগ করুন. এবং আমি আমার মধ্যে ফিরে এটা reassign. , যে প্রথম লাইন সুতরাং আমি সংখ্যা. দ্বিতীয় লাইন অন, আমি এখন একটি পরিণত আমি reassignment কি স্ট্রিং পরে. এবং এখানে, আমি শুধু concatenating করছি স্ট্রিং সম্মুখের যে সংখ্যা. সুতরাং আপনি দেখতে যে আমি একটি ছিল, যদিও প্রথম ভাগে পূর্ণসংখ্যা, এটা সাজানোর একটি রূপান্তরিত হচ্ছে মত স্ট্রিং এবং তারপর যোগ করা হচ্ছে যে হ্যালো স্ট্রিং সম্মুখের. এবং যাতে আমি বলতে চাচ্ছি কি আলগা টাইপিং দ্বারা. তার মানে আপনি মধ্যে রূপান্তর যে খুব সহজেই ধরনের. এবং এটা সতর্কবার্তা নিক্ষেপ করে না আপনি সি আছে চাই. তাই আমি এখন হ্যালো রয়েছে পংক্তি 123. পরবর্তী. আমরা অবাধে তুলনা করতে পারেন ধরনের মধ্যে. তাই আপনি শুধু == ব্যবহার করা হলে, অনেক পিএইচপি, জাভাস্ক্রিপ্ট মত একটি অনুরূপ জিনিস আছে. স্ট্রিং 123 নম্বর হিসাবে একই 123 আপনি ডবল সমান ব্যবহার করলে. ট্রিপল সমান ব্যবহার করা হলে, এটি নিশ্চিত করুন যে করতে চায় ধরন একই. যে একটি স্ট্রিং এবং যে হয় তাই, কারণ তারা উভয় করছি, যদিও একটি নম্বর, 123, আপনি ট্রিপল ব্যবহার করলে আপনি মিথ্যা পেতে, সমান. ডবল ক্ষেত্রে সমান, আপনি সত্য পেতে ডবল সমান না, কারণ টাইপ যত্নশীল. ট্রিপল সমান টাইপ যত্নশীল না. প্রশ্ন? ঠিক আছে. এবং জাভাস্ক্রিপ্ট সম্পর্কে অন্য জিনিস আপনি যদি না সুযোগ বৈশ্বিক ধরনের একটি ফাংশন. এবং এটি একই কাজ করে আসলে পিএইচপি উপায়. তাই আসুন এই উদাহরণ দিয়ে যান. আমি 999 থেকে আমি সেট. এবং তারপর আমি লুপ জন্য এই ঢোকা. তাই আমি এই আমি মুদ্রণ করছি যদি লুপ, আমি 0, 1, 2, 3, 4 আশা. আমি আমি = 4 পেতে. এটা এ থেকে 5 এখন আমি বাড়তি জন্য লুপ শেষে. এবং তারপর এটি লুপ আউট বিরতি, এটা পূর্ণ করা হয় না, কারণ আর শর্ত. আপনি যে কি মনে করেন পরবর্তী console.log আউট ছাপে? সুতরাং যে, এটা সি সি কি কি কারণ আপনি আমি বাইরে var মত আছে এবং আপনি একটি ভালো, একটি লুপ ভিতরে var আমি আছে লুপ জন্য, তারপর এটা যেমন যে করে তোলে এটা scoped যে দুটি আমি এর ভিন্ন. জাভাস্ক্রিপ্ট, এটা ঠিক করবে একই আমি হিসাবে এটি খাওয়াবো. যে মূল্য ছিল, কারণ আমি 5 পেতে এটি লুপ থেকে বের প্রস্থান পরে. সুতরাং যারা আমি এর একই ঝ হয়. যে জানার জন্য? ওয়েল, এটা থেকে জ্ঞান করে তোলে একটি জাভাস্ক্রিপ্ট দৃষ্টিকোণ. কিন্তু একই দৃষ্টান্ত না তারা আছে সি উপর বহন বিভিন্ন scoping নিয়ম. হ্যাঁ. AUDIENCE: [শ্রবণাতীত] [শ্রবণাতীত] ফাংশন বাইরে? জোসেফ Ong: তাই যা ফাংশন বাইরে? তাই আমি শুধু একটি দ্বিতীয় যে যাও পাবেন. তাই আমরা (আমি) foo বিন্যাস কল. এই আমি foo বিন্যাস মধ্যে, বাড়তি পাসের তারপর এটি, এবং এটি লগ করা হয়. সুতরাং এটি 5 ছিল. সুতরাং 6 হয়ে. কিন্তু কি আমি আমার কথা বলছি না হয় যে ফাংশন যে আমি. এটি একটি পরামিতি কারণ, এটা যে ফাংশন scoped. তাই একবার আমি আসলে যে নামা ফাংশন, এটি এখন যেতে হচ্ছে ফিরে পুরানো আমি করতে. যে আমি শুধুমাত্র scoped কারণ এটি একটি ফাংশন আছে. এবং আমরা সুযোগ এবং ফাংশন আছে. কিন্তু আমরা বাইরে সুযোগ না থাকে জাভাস্ক্রিপ্ট মধ্যে কর্ম. যে জানার জন্য? হ্যাঁ. প্রশ্ন. AUDIENCE: [শ্রবণাতীত] একই? জোসেফ Ong: তাই হ্যাঁ. পিএইচপি, এটা জিনিস একই টাইপ এর. আসলে সামান্য তনিমা আছে. কিন্তু আপনার সম্পর্কে আমার অনুরোধ করতে পারেন পর্যালোচনার পরে যে. আপনি সত্যিই জানতে হবে না ব্যঙ্গ জন্য যে তনিমা. সব ইন্টেন্টগুলি এবং উদ্দেশ্য, ভালো জন্য ভেরিয়েবল, আন্তর্জাতিক এবং পিএইচপি, যদি না তারা একটি ফাংশন একই করছি জাভাস্ক্রিপ্ট মধ্যে জিনিস. হ্যাঁ. AUDIENCE: কেন এই মধ্যে অনুমোদিত হয় জাভাস্ক্রিপ্ট এবং যেখানে অন্য কোন? জোসেফ Ong: সুতরাং কেন এটি অনুমোদিত জাভাস্ক্রিপ্ট মধ্যে এবং না সি! এটি শুধু নিয়ে এসেছেন এর যে কেহ জাভাস্ক্রিপ্ট এই মধ্যে ঠিক ছিল যে সিদ্ধান্ত নিয়েছে জাভাস্ক্রিপ্ট. সুতরাং এটি শুধু একটি প্রোগ্রামিং ভাষা মত আমরা বলতে হবে হিসাবে কনভেনশন. হ্যাঁ. AUDIENCE: সুতরাং কেন হয়নি এটি 6 থেকে 5 থেকে যান? জোসেফ Ong: সুতরাং, 5 থেকে 6 থেকে গিয়েছিলাম আমি foo বিন্যাস মধ্যে আমি পাশ করার সময়, যে কারণ foo বিন্যাস ভেতরে আমি এখন, যাও foo বিন্যাস scoped হয় সুযোগ ফাংশন বিদ্যমান কারণ জাভাস্ক্রিপ্ট. কিন্তু একবার আমি এখানে নামা এটা কারণ ফাংশন scoped ছিল, আমি আছি শুধু ভিতরে ছিল নিয়মিত আমি ব্যবহার নিয়ন্ত্রণ প্রবাহ বাকি. জানার জন্য? আমি যেতে পারি? ঠিক আছে. কুল. এই স্বীকৃতি বস্তু হল রেফারেন্স দ্বারা পাস করা হয়. আপনি পাস কিভাবে কখন জানি আপনি পারা সি মধ্যে একটি অ্যারের আসলে অ্যারের পরিবর্তন? এটা জাভাস্ক্রিপ্ট একই জিনিস. আমি এই ক্ষেত্রে, একটি বস্তুর পাস, আমি এই catify ফাংশন মধ্যে Milo গৃহীত. Milo আরম্ভ আউট. তাঁর নাম Milo কলা হয়. আমি একটি ফাংশন মধ্যে যে বস্তুর পাস এটি একটি বস্তু, একটি মিশুক কারণ জাভাস্ক্রিপ্ট মধ্যে অ্যারে. আমি একটি অপারেশন সম্পাদন যখন যে ফাংশন, এটা করবে না আসলে বস্তুর পরিবর্তন. তাই এই শুধুমাত্র অবজেক্টস ঘটবে জাভাস্ক্রিপ্ট মধ্যে, শুধু এটা চাই সি সুতরাং Milo এর নাম ভেতরে অ্যারে জন্য আসলে এখন বিড়াল হয়ে যাবে. যে জানার জন্য? তাই এই শুধুমাত্র বস্তুর জন্য কাজ করে. অবজেক্টস রেফারেন্স দ্বারা পাস করা হয়. হ্যাঁ. AUDIENCE: সুতরাং আপনি বলছে যে পরিবর্তনশীল আমি বিপরীতে. জোসেফ Ong: হ্যাঁ. যা পরিবর্তনশীল আমি ঠিক ছিল একটি সংখ্যা, ডান? আপনি যদি একটি পাস যখন এটি সি এর মত একটি পূর্ণসংখ্যা, এটি একটি কপি করে তোলে. এবং যদি আপনি একটি অ্যারের পাস, এটা আসলে প্রকৃত অ্যারের পরিবর্তন সি একই জিনিস দিয়ে কি হবে এই ক্ষেত্রে জাভাস্ক্রিপ্ট. ঠিক আছে. এবং এর পরে, Milo দু: খের কারণ তিনি এখন একটি বিড়াল আছে. যে পরে আসলে Milo ছিল পশুচিকিত্সক কিছু ট্রিপ. তাই কিভাবে আমরা জাভাস্ক্রিপ্ট ব্যবহার করবেন একটি ওয়েব পাতায়? আমরা এটি অন্তর্ভুক্ত করতে পারে. এই ফালা ট্যাগ এইচটিএমএল কোড থাকে. তাই আমি সেখানে ফালা ট্যাগ আছে. এবং তারপর আমি কিছু জাভাস্ক্রিপ্ট করা স্ক্রিপ্ট ট্যাগ মধ্যে অবস্থান. এবং তারপর এটা এই executes. আমি ঠিক এই মত এটি করতে হলে, এর ইনলাইন জাভাস্ক্রিপ্ট বলা. এটা নোংরা ধরনের কারণ জাভাস্ক্রিপ্ট এইচটিএমএল প্রকৃতপক্ষে হয়. অনেক nicer এই কাজ করতে একটি ভাল উপায়,, একটি ইন আপনার জাভাস্ক্রিপ্ট লিখতে হয় বহিস্থিত ফাইল এবং তারপর প্রদান একটি উৎস সঙ্গে স্ক্রিপ্ট ট্যাগ. এবং এই যে জাভাস্ক্রিপ্ট ফাইলে যেতে হবে এবং থেকে জাভাস্ক্রিপ্ট কোড পড়া যে পরিবর্তে দায়ের. এবং এই ভাবে আপনি অনেক আছে না আপনার প্রারম্ভে জাভাস্ক্রিপ্ট যার HTML ফাইল, এটা আসলে খুব নোংরা. আপনাকে কেবল অন্য কোথাও এটা করা. এবং তারপর এটি সেখানে থেকে এটা পড়তে হবে. যে জ্ঞান করে তোলে কি? প্লেসমেন্ট বিষয়ে. এই বিশেষ ক্ষেত্রে, স্ক্রিপ্ট শরীরের আগে হয়. আমি যে চালানো যখন সুতরাং, আছে এখনো শরীরে কিছুই. হয়তো এই অল্প আরো করতে হবে আমি এই পরবর্তী অংশ দেখাতে যখন ইন্দ্রিয়. এই ক্ষেত্রে, স্ক্রিপ্ট DIV পরে আসে. সুতরাং DIV আসলে প্রদর্শিত প্রথম পেজে. রাইট এখানে এই সামান্য লাল বৃত্তে, আপনি টেক্সট প্রদর্শিত হবে দেখতে. এবং তারপর সতর্কতা দেখায়. প্রথম ক্ষেত্রে, কারণ স্ক্রিপ্ট DIV আগে ছিল, সতর্কতা প্রথম দেখায়. এবং তারপর DIV পরে দেখায় আপনি বাক্স বরখাস্ত. সুতরাং সঞ্চালনের বিষয়. সুতরাং আমরা এই মন যাব. এই গুরুত্বপূর্ণ হবে কিছুক্ষন. ঠিক আছে. তাই ভাল, কিভাবে আপনি পর্যন্ত অপেক্ষা করবেন সম্পূর্ণ পাতা আপনি আগে তারপর লোড কিছু কোড চালানো? আমরা এই একটু করে হয়ে উঠবেন একটু পরে খুব. কিন্তু শুধু এই বসানো রাখুন যখন আমরা জন্য মনে বিষয়গুলি অন্য স্লাইড আসা. সুতরাং আমরা এখন DOM পেতে. এবং DOM কি? আপনি HTML কোড তাকান সুতরাং, এটা ঠিক না পর্দায় লেখার একটা গুচ্ছ. সুতরাং কিভাবে জাভাস্ক্রিপ্ট জানি না এই একটি HTML উপাদান কি? তাই আমরা কিছু স্মৃতি আছে এই উপস্থাপনা আমরা যে কাঠামো. এবং আমরা যা মেমরির মধ্যে এই আছে যখনই জাভাস্ক্রিপ্ট মধ্যে উপস্থাপনা, আমরা কল DOM যে. এবং এটি মানুষের সিদ্ধান্ত নিয়েছে যে শুধু একটি উপায় আমরা এই প্রতিনিধিত্বকারী উচিত হিসাবে এইচটিএমএল কাঠামো. এবং এই DOM মত কি হয়েছে? ওয়েল, মেমরি উপস্থাপনা মধ্যে, আমরা এই পাঠ নিতে. এবং আমরা মেমরি এটা করান উপস্থাপনা. তাই এই এইচটিএমএল হয়. তাই আমরা প্রথম জানতে যে প্রতি DOM গাছ একটি নথি আছে. এটি একটি গাছ মত দেখাচ্ছে. এবং নথি এইচটিএমএল রয়েছে ট্যাগ, আসলে সবকিছু এখন এই ভেতরে. এইচটিএমএল ট্যাগ দুটি সন্তান আছে. এটা একটা মাথা আছে. যে মাথা, আপনি খাঁজ তাকান ওইখানে এটি গঠিত কিভাবে এ বন্ধ ট্যাগ্স মধ্যে, মাথা একটি সন্তান আছে. সন্তানের শিরোনাম. যথাযথভাবে. এখন, আমরা একটি শরীরের সন্তান আছে. এবং তারপর যে শরীরের একটি আছে সন্তানের পরিবার বলা. এবং যে পরিবারের তিন সন্তান রয়েছে - , প্রাচীনতম মধ্যম, এবং সর্বকনিষ্ঠ. তাই আপনি যদি একটি ডায়াগ্রাম আঁকতে কিভাবে জানা উচিত এই মত আমরা কিভাবে আপনি জিজ্ঞাসা যখন আমরা দিতে যখন একটি ডায়াগ্রাম আঁকতে আপনি বাম এইচটিএমএল. DOM গাছ উত্পাদন কিভাবে জানুন. এবং এই জিনিস ভেতরে, ঠিক আছে আমি প্রতিনিধিত্ব করেছি যা কিছু লেখা, হিসাবে সামান্য বাক্সে. এই DOM গাছ গঠন করা হয় ধারনা এবং DOM কি? তাই পি জন্য কি দাঁড়াবেন না? এখানে ধরে, পি ওইখানে যে ট্যাগের মধ্যে প্রতিনিধিত্ব করে একটি HTML এ অনুচ্ছেদের ট্যাগ. তাই আপনি এটা আপ করতে পারেন. কিন্তু এটা শুধু এটা কিছু মানে কিছু লেখার জন্য স্থান. এবং এটা কিছু ডিফল্ট সিএসএস স্টাইলিং আছে, এটি একটি অনুচ্ছেদের ট্যাগ কারণ. কিন্তু সত্যিই চিন্তার কিছু নেই যে অংশ খুব বেশী. শুধু এটি একটি স্থানধারক জানি কিছু লেখার জন্য. হ্যাঁ. প্রশ্ন? হ্যাঁ. AUDIENCE: আপনি শুধু সিএসএস উল্লেখ করেছে. হ্যাশ পরিবার এবং হ্যাশ যে সব উপাদান মূলত CSS এর মধ্যে ID-র প্রতিনিধিত্বমূলক? জোসেফ Ong: হ্যাঁ, ঠিক. আমি কি এই হ্যাশ পাবেন এক সেকেন্ডের মধ্যে মানে. এনজেলা সিএসএস উপর গিয়েছিলাম, সে CSS এর নির্বাচক সম্পর্কে বললাম. এই সিএসএস নির্বাচক যে সে বিষয়ে কথা হয়েছিল. হ্যাঁ, রব! Rob Bowden: আমি এ মন্তব্য করেন শিরোনাম ট্যাগের ভিতরে যে DOM এছাড়াও একটি টেক্সট নোড হয়. জোসেফ Ong: রাইট. , শিরোনাম ট্যাগের ভিতরে তাই আমি কিছু টেক্সট DOM আছে. সত্যিই তাই, এই শিরোনামের একটি মত থাকা উচিত সামান্য বাক্স পাশাপাশি এটি বন্ধ আসছে. কিন্তু এটা সত্যিই কোন ব্যাপার না এই ক্ষেত্রে খুব বেশী. আমরা সত্যিই টেক্সট নোড যত্নশীল না, আমরা খুব বেশি, তাদের কল হিসেবে. ঠিক আছে, আমরা কি. দৃশ্যত, আমরা কি. এবং আমি ঠিক করবে যে, যখন আমি আবার আপলোড করুন. যে জানার জন্য? তাই কিভাবে আমরা DOM সঙ্গে কাজ করে? আপনি DOM মোকাবেলা যখনই জাভাস্ক্রিপ্ট, দুটি ধাপে করা হয়. আপনি একটি DOM উপাদান নির্বাচন করুন. এবং তারপর আপনি এটি কিছু করার. তাই এই ক্ষেত্রে, abstractly, আমি করেছি মধ্যম উপাদান নির্বাচন করেছেন. এবং তারপর স্টাফ করছেন একটি উদাহরণ এটি টেক্সট পরিবর্তন করা হবে. যে বব ব্যবহার করা হয়. এখন, কি আমি এটা করতে কি আমি পরিবর্তন ছিল এই ক্ষেত্রে Milo যাও বব. সুতরাং কিভাবে আসলে আমরা এই কাজ করে? আমরা নির্বাচন কিভাবে করব? এবং কিভাবে আমরা করতে স্টাফ করছেন কি না ব্যাপার হল একবার আমরা তা গ্রহণ করেছি? ওয়েল, ভাবে আপনাকে বলছি এটা শিখেছি এই ক্লাসে কিছু আমরা ব্যবহার করে থাকে jQuery নামক. তাই jQuery কি? jQuery তোলে একটি লাইব্রেরি লিখতে সহজ করে জাভাস্ক্রিপ্ট. তাই কেউ সময় নিয়েছে এবং jQuery লিখেছে. jQuery আসলে করা হবে না জাভাস্ক্রিপ্ট মধ্যে. এবং তারপর তারা আমরা এখন, এই কি কারণ ফাংশন আভা আছে আমরা যে করতে ব্যবহার করতে পারেন আমাদের সত্যিই সহজ বসবাস. তাই কিছু কি এটা আছে জিনিষ? এটা সহজ উপাদান নির্বাচন করে তোলে. এটি এইচটিএমএল পরিবর্তন করে তোলে, সহজ ক্লাস যুক্ত. এটা Ajax সহজ করে তোলে. আমরা একটি দ্বিতীয় যে যাও পাবেন. এবং এটা সি লাইব্রেরি অনুরূপ নয়. সুতরাং আপনি string.h অন্তর্ভুক্ত আপনি strlen পেতে. আপনি এই জিনিস সব strcpy পেতে. আপনি jQuery অন্তর্ভুক্ত, আপনি চমৎকার পেতে পরিবর্তনের উপাদান নির্বাচন করার উপায় জিনিষ, ইত্যাদি ইত্যাদি. আপনি অতিরিক্ত বৈশিষ্ট্য পেতে জাভাস্ক্রিপ্ট আপনাকে দেয় না. তাই jQuery জাভাস্ক্রিপ্ট নয়. jQuery লেখা যে একটি লাইব্রেরি জাভাস্ক্রিপ্ট করে জাভাস্ক্রিপ্ট লিখতে সহজ. তাই jQuery একটি প্রোগ্রামিং নয় ভাষা. কিন্তু জাভাস্ক্রিপ্ট হয়. করা. নিশ্চিত আপনি ডান আপনার পরিভাষা পেতে. কোন প্রশ্ন? হ্যাঁ. যে একটি প্রশ্ন আছে? ঠিক আছে. সুতরাং কিভাবে আপনি jQuery ব্যবহার? হ্যাঁ, আপনি কিছু লেখার সময় আপনি একটি অন্তর্ভুক্ত জাভাস্ক্রিপ্ট কোড এবং jQuery আপনার ফাইল শীর্ষে একটি হিসাবে স্ক্রিপ্ট ফাইল, আপনি ডলার চিহ্ন ব্যবহার এখন jQuery প্রবেশাধিকার পেতে. এবং এই থেকে ভিন্ন পিএইচপি ডলার চিহ্ন. এটা একই প্রতীক আপনি এর আপনার কীবোর্ডের টাইপ. কিন্তু তারা ভিন্ন জিনিষ মানে. পিএইচপি ডলার চিহ্ন এই মানে আমি একটি ভেরিয়েবল ডিক্লেয়ার না. আপনি অন্তর্ভুক্ত করেছেন যখন জাভাস্ক্রিপ্ট, ইন jQuery, এটা jQuery ঘোরা. তাই মন যে রাখতে. তাই কিভাবে আমরা DOM উপাদান নির্বাচন হতে পারে? ওয়েল, যখন আপনি এটি অরুপ জাভাস্ক্রিপ্ট করবেন ভাবে আপনি প্রবেশ বিশ্বব্যাপী পরিবর্তনশীল নথিতে. এবং তারপর আপনি আইডি পরিবার দ্বারা উপাদান পেতে. এই সত্যিই লম্বা এবং শব্দময় হয় এবং না খুব সুন্দর. অথবা আপনি সব উপাদান পেতে পারেন একটি পি ট্যাগ করা. যে জাভাস্ক্রিপ্ট মধ্যে খুব কাজ করে. কিন্তু আমরা সত্যিই দেখিয়েছেন কখনও আপনি বাক্য গঠন খুব বেশী. আমরা দেখিয়েছি কি আপনি jQuery ছিল. আপ আছে তাই যে সমগ্র নির্বাচক যে শুধু পায় জাভাস্ক্রিপ্ট প্রকাশ করা হয় এই খুব সুন্দর ডলার থেকে ঘনীভূত হ্যাশট্যাগ পরিবার সাইন. এবং $ পি, এটা যে মত শুধু যেখানে. আপনি সমস্ত পি ট্যাগ নির্বাচন করতে চান, একটি পরিবারের ভিতরে, আমরা একটি স্থান রাখা দুজনের মধ্যে. এবং এখন, আমরা সব পি পেতে একটি পরিবারের ভিতরে ট্যাগ. আর পরিচিত চেহারা? ওয়েল, এনজেলা স্বপ্ন CSS এর নির্বাচক. আমার এক দ্বিতীয় দিন. তাই একটি উপাদান নির্বাচন করার জন্য, আপনি শুধু আপনি হিসাবে একই জিনিস ব্যবহার একটি CSS নির্বাচক সঙ্গে করতে হবে. আপনি সামনে একটি হ্যাশ করা হলে তা, এটা আইডি দ্বারা নির্বাচন করা হয়. একটি বিন্দু ক্লাস দ্বারা নির্বাচন করা হয়. আপনি শুধু ছাড়া জিনিস আছে হ্যাশ বা বিন্দু, এটা যারা ট্যাগ নির্বাচন করা হয়. প্রশ্ন. হ্যাঁ? AUDIENCE: আমরা সালে ডট ব্যবহার যখন আমাদের এইচটিএমএল, jQuery যে নয় কি? জোসেফ Ong: আমাদের HTML এ বিন্দু একটি জাভাস্ক্রিপ্ট জিনিস. এটি একটি jQuery জিনিস না. আপনাকে বলছি সঙ্গে এটি শিখেছি উপায় jQuery. HTML ব্যবহার হয়. এবং তারপর আপনি এটি পাশ যাই হোক না কেন এইচটিএমএল হতে যাচ্ছে. তাই আমি শুধু যে পাবেন আসলে একটি দ্বিতীয়. তাই কিভাবে আমরা উপাদান স্টাফ করবেন একবার আমরা এটি নির্বাচিত করেছি? যাতে এর একটি উদাহরণ একটি উপাদান নির্বাচন. সুতরাং এখন, আমরা তা করতে স্টাফ কাজ করতে চান. তাই এই ক্ষেত্রে, আমার ফিরে যান পূর্ববর্তী স্লাইডে. এটা আগে বব ছিল. এবং আমি যে পরিবর্তন চাই Milo থেকে এইচটিএমএল ভিতরে. তাই আমি HTML এর ফাংশন কল উপাদান থেকে. যে এইচটিএমএল ফাংশন উপাদান একটি পদ্ধতি. এবং তারপর আমি এটা কি দিতে আমি এইচটিএমএল হতে চান. এবং এটা শুধু ভেতরে কি প্রতিস্থাপন আমি তা দিতে যাই হোক না কেন সঙ্গে যে ট্যাগ. হ্যাঁ. প্রশ্ন? AUDIENCE: হ্যাশট্যাগ ব্যবহার করা হয় শুধুমাত্র jQuery জন্য. [শ্রবণাতীত] আমরা যে ব্যবহার না করে. জোসেফ Ong: হ্যাঁ, ঠিক. কিন্তু খুব বেশী চিন্তা করবেন না প্রায় বিশুদ্ধ জাভাস্ক্রিপ্ট. আমি শুধু আপনি না মনোনিবেশ করতে চান কিভাবে আপনি , jQuery তা করে কারণ যে গুরুত্বপূর্ণ হতে যাচ্ছে ব্যঙ্গ অংশ. রাইট. যথাযথভাবে. সুতরাং আপনি যে হ্যাশট্যাগ দেখতে, যাতে সাথে উপাদান নির্বাচন অনুরূপ কারণ যে হ্যাশট্যাগ এর আইডি মাঝখানে. হ্যাশট্যাগ আইডি মানে. এবং এই উপাদান মাঝখানে একটি আইডি আছে. সুতরাং যে আমরা নির্বাচন উপাদান এর. AUDIENCE: [শ্রবণাতীত]. ডলার চিহ্ন হ্যাশট্যাগ [শ্রবণাতীত]? জোসেফ Ong: তাই কোন. প্রশ্ন আপনি ব্যবহার করতে পারেন না. মান. আর. মূল্য শুধুমাত্র উপাদান কাজ করে ইনপুট যে হয়. JQuery, এটি হবে . Val, না. মান. তাই আমি একটা ছোট উদাহরণ পাবেন যে একযোগে এই সব প্রমান এক সেকেন্ডের মধ্যে. কিন্তু আমি এই একটু স্নিপেট কাজ করে মনে এ পর্যন্ত মানুষের জ্ঞান করে তোলে. এইচটিএমএল পরিবর্তন করতে চান, এইচটিএমএল পদ্ধতি কল. হ্যাঁ. AUDIENCE: আপনি ব্যাখ্যা করতে পারবেন আবার পদ্ধতি? জোসেফ Ong: তাই একটি পদ্ধতি মাত্র একটি এই এক যে জন্যে ফাংশন, কেস, এই DOM উপাদান এক, আপনি আমি দেখতে কারণ প্রথম উপাদান নির্বাচন করেছেন. বাস্তবিক, আমার মাউস ব্যবহার করতে দিতে. আমি প্রথম উপাদান নির্বাচন করেছেন. এবং তারপর আমি এই এইচটিএমএল বলা এটি ছিল কাজ. এবং এই ফাংশন জন্যে কারণ থেকে এই জিনিস, আমরা একটি পদ্ধতি কল. যে তার জন্য শুধু একটি অভিনব নাম. আবার যে বলে দিন. সুতরাং আমরা নির্বাচিত, স্মরণ এখন উপাদান. এবং আমরা ভেতরে এটা করা করেছি উপাদান পরিবর্তনশীল. সঠিক? তাই আমরা প্রথম এইচটিএমএল পরিবর্তন করতে চান যখন ভিতরে, এটা আপনি আগে বব কারণ Milo যে টেক্সট পরিবর্তন করতে চান. সুতরাং আমরা এইচটিএমএল কল. এবং আমরা এটা বলতে কি ভিতরে এইচটিএমএল যে উপাদান এখন হওয়া উচিত. এবং তাই, Milo থেকে এটি পরিবর্তন আমি এটি Milo দিয়েছেন কারণ. AUDIENCE: সুতরাং তারা একসঙ্গে কাজ করছি. [শ্রবণাতীত] জোসেফ Ong: হ্যাঁ, হ্যাঁ. তারা একসঙ্গে কাজ করছি. সুতরাং তাদের একজন নির্বাচন উপাদান প্রথম. এরপর দ্বিতীয় এক আছে এটা কিছু. হ্যাঁ. AUDIENCE: [শ্রবণাতীত]. এই পদ্ধতি HTML এ থেকে ভিন্ন হলে আপনি প্রকৃত সমান পদ্ধতি আছে. জোসেফ Ong: হ্যাঁ. এটা একটি ভিন্ন পদ্ধতি. এটা একটি ভিন্ন পদ্ধতি. এবং আমরা শুধুমাত্র একটি দ্বিতীয় মধ্যে যে আবরণ করতে পারেন আমরা একটি উদাহরণ পাওয়া যায়. আমি নিশ্চিত আমরা গতি বাড়াতে যে করতে চাই আমরা সময় চলমান আউট করছি কারণ. কিন্তু আমরা এখন সময়ের পথ রান করেছি. ঠিক আছে. কুল. আপনি একটি শ্রেণী যোগ করতে চান সুতরাং, যদি আছে এছাড়াও একটি অ্যাড বর্গ পদ্ধতি. এই কি শুধু একটি উদাহরণ আপনি jQuery সঙ্গে কাজ করতে পারেন. যে শুধু একটি বর্গ যোগ করে. আপনি এটি অপসারণ করতে চান, আপনি Remove কল করতে পারেন. তার মানে আপনি কি করতে পারেন শুধু আরেকটি জিনিস. আপনি কি করতে পারেন জিনিষ তাই আরো উদাহরণ. তাই আমি ঠিক সময়ে এটা করা যাবে ভালো উপরের? সর্বকনিষ্ঠ অপসারণ. আমি শুধু এ যে জাভাস্ক্রিপ্ট চালানো হলে আমার ফাইলের উপরে, যে কাজ করবে? রাইট. মাঝখানে এখনো বিদ্যমান নয় কারণ. তাই এই কাজ করা যাচ্ছে না. বলবত্করণ আদেশ. এটা প্রথম উপরে চলে যায়. কি? AUDIENCE: সর্বকনিষ্ঠ এখনো বিদ্যমান নয়? জোসেফ Ong: হ্যাঁ. সর্বকনিষ্ঠ এখনো বিদ্যমান নেই. যথাযথভাবে. AUDIENCE: আপনি মাঝখানে তিনি. জোসেফ Ong: দুঃখিত. সর্বকনিষ্ঠ এখনো বিদ্যমান নেই. আর অন্যান্য জিনিস আমি না হয় jQuery অন্তর্ভুক্ত স্ক্রিপ্ট SRC জিজ্ঞাসা দায়ের. সুতরাং যে কাজ করতে যাচ্ছে না. বাস্তবিক, আমি যে কি না যা পরবর্তী স্লাইড, নয়তো যে ঠিক করা অনুমিত. কিন্তু আমরা এটি করার উপায় জাভাস্ক্রিপ্ট হয় ইভেন্ট চালিত হয়. তাই আমরা যা করে আমরা একটি ঘটনা ব্যবহার হয় এই ঘটতে হ্যান্ডলার. এবং তাই আমি নথি নির্বাচন প্রথম সেট. আমি নথি যখন, ঠিক আছে, বলে প্রস্তুত, আমার একটি ফাংশন চালানো যাক. সুতরাং যে সব যে বাক্য গঠন মানে না. আমি নথি নির্বাচন করেছেন. এখন, যখন নথি প্রস্তুত, ফাংশন চালানো. এবং তাই উপর এখানে নথি যখন সব এইচটিএমএল আছে, যার মানে প্রস্তুত লোড, তারপর আমি ফাংশন চালানো যে যে উপাদান সরিয়ে ফেলা হয়. তাই এখন, আমি এই ফাংশন চালানোর সময় আমি প্রস্তুত মধ্যে পাস করে, আমি আছি নিশ্চিত যে সমস্ত এইচটিএমএল পাতা প্রথম অস্তিত্ব যাচ্ছে. হ্যাঁ. প্রশ্ন? AUDIENCE: ইভেন্ট কিওয়ার্ড কি ফাংশন মধ্যে? জোসেফ Ong: সুতরাং যে ঘটনা অভিব্যক্তি ফাংশন মাত্র একটি প্যারামিটার যে ফাংশন প্রেরণ পরার কোনো ঘটনার জন্য. এটা যে শুধু কিছু আপনি বিনামূল্যে জন্য পেতে. আপনি কি হ্যান্ডলার ব্যবহার করছেন কখন pset8, যে ঘটনার জন্য, আপনি বলতে পারে উদাহরণস্বরূপ, যা কি আপনার উপর চাপা. এই ক্ষেত্রে, একটি প্রস্তুত ইভেন্টের জন্য, এটি আসলে সুপার উপযোগী নয়. কিন্তু একটি কী নিচে ইভেন্টের জন্য, এটা আরো দরকারী, আপনি জানতে পারেন, কারণ যা আপনি কি অ্যাক্সেস করে চাপা চাবি ইভেন্ট যে বস্তুর বন্ধ কোড. সঠিক? যে জানার জন্য? ঠিক আছে. হ্যাঁ. প্রশ্ন? AUDIENCE: সুতরাং আপনি লাগাতে পারেন নিচে স্ক্রিপ্ট ট্যাগ কম? জোসেফ Ong: তাই হ্যাঁ. আপনি স্ক্রিপ্ট লাগাতে পারে নিচে নিম্ন ট্যাগ. কিন্তু তারপর এটা সত্যিই নোংরা হয়ে যায়. এবং আমরা সব কেন্দ্রিভূত করতে পছন্দ এক জায়গায় আমাদের অবস্থান. এবং এই আমাদের এটা করতে অনুমতি দেবে. মনে রাখবেন আগে আমি একটি nicer আছে বলেন উপাদান তা নিশ্চিত করার উপায় আপনি কোড এক্সিকিউট করার আগে পেজে? এবং এই মাত্র একটা চমৎকার উপায় আপনি যে কাজ করা সম্ভব হবে. AUDIENCE: [শ্রবণাতীত]. জোসেফ Ong: হ্যাঁ. আপনি এখনও অধিকার, হবে? মনে রাখবেন, আপনি অন্তর্ভুক্ত পৃষ্ঠার উপরের দায়ের. সুতরাং আগে প্রথম চালানো যাচ্ছে আপনি পৃষ্ঠার নীচের পেতে. ঠিক আছে. যাতে আপনি একটি ভিন্ন যোগ করতে পারেন ইভেন্ট হ্যান্ডলার ধরণ. এই এক মাত্র ক্লিকে প্রসেস. আমি তারপর, সর্বকনিষ্ঠ ক্লিক করুন এটি একটি সতর্কতা সঙ্গে পপ আপ করবে. এই মাত্র একটা পার্থক্য নাই ইভেন্ট ধরণ. প্রস্তুত ইভেন্ট বিরোধিতা হিসাবে, আপনি এখন আপনি পাবেন যখন ক্লিকের ইভেন্ট ব্যবহার একটি উপাদান ক্লিক. তাই এই ক্ষেত্রে,, ক্লিক স্মরণ হ্যান্ডলার সর্বকনিষ্ঠ সংযুক্ত করা হয়. সুতরাং যখন এটি শুধুমাত্র ঘটবে আমি সর্বকনিষ্ঠ ক্লিক করুন. এবং অন্য এক, প্রস্তুত ইভেন্ট নথি সংযুক্ত করা হয়. সুতরাং এটি নথির জন্য অপেক্ষা প্রস্তুত করা. জানার জন্য? আমি সরানো যাবে না. হ্যাঁ. প্রশ্ন? AUDIENCE: [শ্রবণাতীত]. এই ক্ষেত্রে আপনি [শ্রবণাতীত] ব্যবহার. জোসেফ Ong: ওহ, হাঁ, কারণ এই ক্ষেত্রে কেস, আমি সর্বকনিষ্ঠ জন্য অপেক্ষা করতে হবে প্রথম পর্দায় প্রদর্শিত উপাদান আমি একটি ক্লিক হ্যান্ডলার সংযুক্ত করতে পারেন আগে তা, যা আমি ভেতরে এটা করা কেন একটি নথি প্রস্তুত নাম. ঠিক আছে. এবং পরের, তাই এই একটি বড় উদাহরণ আপনি সবকিছু একত্রিত করবে. এই মাত্র একটি ফর্ম যাচাইকরণ উদাহরণ আপনি বক্তৃতায় দেখা করেছি. সুতরাং হিসাবে ধাপে ধাপে গ্রহণ আপনি এই মধ্য দিয়ে যেতে. এবং এটা সম্পূর্ণই ঠিক হতে হবে. শুধু উপর থেকে নীচে এটা পড়তে. আমি নীচে একটি ফর্ম আছে. নথি প্রস্তুত, আমি একটি জোড়া যেমন যে, ফরমের হ্যান্ডলার জমা আমি ফর্ম জমা হলে, আমি মান পেতে ঐ ইনপুট প্রতিটি ভিতরে. এটি ফাঁকা এবং যদি আমি চেক. এটি ফাঁকা আছে, আমি, মিথ্যা ফিরে কারণ আমি ফর্ম জমা দিতে চাই না, ফর্ম ভুল কারণ. পাসওয়ার্ড রাস্তায় বা যদি কম আট অক্ষরের চেয়ে, আমি জমা না ফর্ম, যে ভুল কারণ. আর বিনিময়ে মিথ্যা শুধু বাধা জমা এবং থেকে ফর্ম একটি নতুন পৃষ্ঠা যাচ্ছে. আর আশা করছি, এই জ্ঞান করে তোলে. আমি আপনাকে বলছি ভিতর দিয়ে হেটে উচিত আপনার নিজের উপর ধাপে এই কোড ধাপ. এবং আপনি কি নির্বাচন বোঝেন একবার উপাদান এবং এটি করার স্টাফ না আসলে এই করতে হবে, entails আপনি ধারণা অনেক. হ্যাঁ? AUDIENCE: কি আছে নাম = ব্যবহারকারীর নাম মানে? জোসেফ Ong: তাই নামের = ব্যবহারকারীর নাম ও নাম = পাসওয়ার্ডটি শুধু তাকান মানে যাই হোক না কেন এর অ্যাট্রিবিউট আপনি নির্বাচন করছেন. এবং তারপর যে মেলে আছে. সুতরাং আমরা রেজিস্ট্রেশন ঢোকা. এবং তারপর আমরা সব ইনপুট তাকান এবং নিবন্ধন. এবং তারপর আমরা এক যেখানে নাম বাছাই অ্যাট্রিবিউট ইউজারনেম সমান. সুতরাং যে প্রথম নির্বাচক শুধুমাত্র নির্বাচন ব্যবহারকারীর নাম ইনপুট. এবং যে দ্বিতীয় নির্বাচক শুধুমাত্র নির্বাচন ঐ আছে এক, কারণ পাসওয়ার্ড তাদের নাম গুণাবলী হিসাবে সেট কি তারা হতে অনুমিত করছি. প্রশ্ন? AUDIENCE: জমা দেওয়ার তারিখে, কিভাবে আছে নিচের অংশ উপরের অংশ সমাধান? জোসেফ Ong: সুতরাং যে কারণ ইভেন্ট হ্যান্ডলার এর. সুতরাং আমরা একটি জমা ইভেন্টের জন্য অপেক্ষা করছি যে ফর্ম থেকে বহিস্কার করা হয়. এবং যে জমা হয় যে সব. কেন আমি সেখানে আপ জমা কল? এটা ফর্ম জমা হয়, বলছেন, আমি একটি জমা ইভেন্ট পেতে. তাই আমাকে ঠিক যে পথিমধ্যে যাক এবং তারপর পরিবর্তে এই কোড রান. হ্যাঁ? AUDIENCE: আপনি কেন আছে ফাংশন ইভেন্ট আছে? কেন শুধু [শ্রবণাতীত] আপনি করতে পারেন? জোসেফ Ong: জাভাস্ক্রিপ্ট, আপনি কারণ ফাংশন ডিক্লেয়ার করা আছে. যে এটি কাজ করে, ঠিক কিভাবে জাভাস্ক্রিপ্ট মধ্যে. আপনি এটা যাচ্ছে বলার আছে একটি ফাংশন চালানোর. তাই আপনি যদি আপনি যে এটা বলার করছি এখানে একটি ফাংশন আশা পরিবর্তে শুধু কোঁকড়া ধনুর্বন্ধনী. AUDIENCE: এবং ফাংশন অনুসরণ করে যাই হোক না কেন হয়? জোসেফ Ong: হ্যাঁ. ফাংশন ভিতরে যা কিছু হয় কোঁকড়া ধনুর্বন্ধনী পরে যে ফাংশন অভিব্যক্তি. হ্যাঁ? AUDIENCE: [শ্রবণাতীত]. জোসেফ Ong: জন্য জমা? AUDIENCE: না, ফাংশন জন্য ঘটনা ছাড়াই. জোসেফ Ong: হ্যাঁ. ঘটনা ছাড়া তাই, আপনি যে থাকতে পারে. আপনি ইভেন্ট প্রয়োজন না থাকে, তারপর আপনি শুধু এটা বর্জন করতে পারেন. কিন্তু যদি আপনি না, তাহলে আপনি ঠিক আছে এটা করা. হ্যাঁ. কুইক প্রশ্ন? AUDIENCE: [শ্রবণাতীত]. জোসেফ Ong: হ্যাঁ. আপনাকে যা করতে হবে তা না, document.ready শুধু সব জন্য অপেক্ষা বলছেন পেজে এইচটিএমএল প্রথম লোড. এবং সাধারণত, আপনি আপনার উপাদানের চাই আপনার কোন কোড রান করার আগে জায়গায়. ঠিক আছে. আমরা Ajax পেতে আছে. আমরা অনেক সময় না. সুতরাং আগপাছ. জাভাস্ক্রিপ্ট সহজ করে দেখুন হয় jQuery দিয়ে লিখুন. কিন্তু jQuery ধরনের ধীর. পিএইচপি সি তুলনায় মন্থর মত এটা, এর এটা ব্যাখ্যা কারণ. এবং jQuery তুলনায় একটু মন্থর জাভাস্ক্রিপ্ট, এটা অনেক আছে, কারণ ফণা অধীন জিনিষ. আপনি jQuery ব্যবহার করছেন এবং যদি তাই হয়, এটা চেয়ে অল্পমাত্র বিট মন্থর জাভাস্ক্রিপ্ট, যদিও এটা আপনি চমৎকার কমনীয়তা আপনি. এবং পরিশেষে, Ajax. এ পর্যন্ত Ajax সঙ্গে, আপনি Ajax দেখা যায় না এখনো pset7 নিরিখে কারণ আপনাকে যা, আপনি জমা উদ্ধৃতি একটি ফর্ম. এটি একটি নতুন পাতা লোড করা হয়. তাই আপনি যদি এই বড় সাদা ফ্ল্যাশ পেতে পেজে যে, যখন দ্বিতীয় পৃষ্ঠায় লোড, সঠিক? এটা সত্যিই চমৎকার হবে আপনি যদি এই ফ্ল্যাশ আছে কি না. ফেসবুক লেগেছে, যদি আপনি শুধু স্ক্রল নীচে, এটা নতুন কন্টেন্ট যোগ করা সম্পূর্ণ পাতা রিফ্রেশ ছাড়া. তাই এই মত কিছু চমৎকার হবে. এই জাভাস্ক্রিপ্ট কোড হল বাম পাশে. আপনি যে ইনপুট ভেতরে কি পেতে. আপনি ইয়াহু থেকে স্টক তথ্য পেতে এবং তারপর আপনি একটি বড় স্ট্রিং যে ঠিক আছে, এই আমি চাই বার্তা বলেছেন, পর্দায় প্রদর্শন. এবং তারপর আপনি ভিতরে যে বার্তা করান পায় কিছু এইচটিএমএল উপাদান পর্দায় প্রদর্শিত. সুতরাং যে এখানে ঘটছে যে সব. তাই মূলত, এ সব কারণ জাভাস্ক্রিপ্ট এবং আপনি চালানোর দরকার নেই আর পিএইচপি, এই নিশ্চিত করতে হবে পৃষ্ঠাটি রিফ্রেশ না. সুতরাং এই মাত্র একটি বিমূর্ত ধারণা আমি এখন জন্য এখানে বলছে যে. বিমূর্ত ধারণা যে আপনি এটা করতে হলে জাভাস্ক্রিপ্ট সব, আপনি না থেকে একটি পাতা রিফ্রেশ. কিন্তু কিভাবে আপনি আসলে এই কাজ করে? ভাল, আসলে, এর সম্পর্কে কথা বলুন এই প্রথম একটি সমস্যা. একটি সমস্যা, জাভাস্ক্রিপ্ট হয় মৃত্যুদন্ড সমলয় হয়. তাই আপনি যদি এক জন্য অপেক্ষা করতে হবে আপনি আগে শেষ লাইন পরের লাইন চালানো. এবং কি আমি ইয়াহু উপর চলেছি যদি, এবং তাদের সার্ভার সত্যিই ধীর, এবং এটা তাদের তিন সেকেন্ডের লাগে যে স্টক তথ্য আমাকে ফেরত দিতে? যদি আমি যে দাম লাইন আঘাত এটি দ্বারা হিসাবে মৃত্যুদন্ড, সমলয় হয় ডিফল্ট, কি এটা করতে যাচ্ছে হয় আপনার ব্রাউজার জন্য ফাঁকি যাচ্ছে তিন সেকেন্ডের. এবং আপনি যা করতে পারবেন যাচ্ছেন না কিছু এটা যে তথ্য পায় না. এটা হিমায়িত করা যাচ্ছে. এবং যে খারাপ. আপনি একটি ব্যবহারকারী চাই না একটি হিমায়িত ওয়েব পেজে আছে. সঠিক? যে শুধু খারাপ. প্রত্যেকেরই সম্মত? আপনি ফেসবুক এবং এটি ব্রাউজ করছি স্থির এবং আপনি, আপনি কিছুই করতে পারবো না সত্যিই হতাশ পেতে. তাই সমাধান আমরা কিছু করতে হয় এসিনক্রোনাস পরিবর্তে. তাই এই সব এসিনক্রোনাস জিনিস বলছেন , আমি এই জিজ্ঞাসা করা যাচ্ছে না হয় কিছু তথ্য জন্য URL. এবং তারপর আমি বর্তা যাচ্ছি. আমি শুধু নির্বাহ রাখা যাচ্ছে না যাই হোক না কেন যে পরে ছিল যে অবস্থান. এবং তারপর যে তথ্য, প্রস্তুত যখনই তারপর আমি এটা ব্যবস্থাপনা করা হবে. এটাই বলছে না সব. AUDIENCE: Ajax ঠিক করে তোলে কোড এসিনক্রোনাস? জোসেফ Ong: এটি একটি অ্যাসিঙ্ক্রোনাস এর আনয়ন তথ্য পথে. সুতরাং Ajax সম্পর্কে প্রথম জিনিস এটি সম্পর্কে তথ্য পেতে করতে দেয় হয় একটি বহিস্থিত ওয়েবসাইট থেকে. আর দ্বিতীয় যে জিনিসটি তা নিশ্চিত করে তোলে হয় আমি যখন আমার পাতা ফাঁকি না যে তথ্য আনয়ন. যে এটি এর অ্যাসিঙ্ক্রোনাস অংশ. এটা অন্য কোথাও যায় বন্ধ, কারণ আমি বলতে কারণ আমি যখন প্রথম বর্তা এটা যে তথ্য আনয়ন যে এটা অ্যাসিঙ্ক্রোনাস তোলে. আমি নির্বাহ রাখা. সুতরাং যে এসিনক্রোনাস রাখা মনের মধ্যে ধারণা. এবং আমি আপনাকে দেখাব কি পার্থক্য. সমলয় সংস্করণ বাম দিকে থাকে. অ্যাসিঙ্ক্রোনাস সংস্করণ ডান দিকে থাকে. দেখতে সংখ্যার তাকান যা ধাপ মিলা কি প্রতিটি লাইনে করুন. সেখানে ধরে, সতর্কতা প্রথম দেখায়. কারণ ইয়াহু থেকে স্টক তথ্য পেয়ে তিন সেকেন্ড সময় লাগে, এটা স্টল তিন সেকেন্ডের জন্য. এবং তারপর এটি মূল্য সতর্কতা যারা তিন সেকেন্ডের পরে. সুতরাং এখন, যে সতর্কতা অনুষ্ঠানগুলি যে সময় পর্যন্ত - এখনো সদস্য তিন সেকেন্ডের এবং তারপর এটা যে পরে দ্বারা সতর্ক করে. সুতরাং এটি ঠিক ধাপে ধাপে যায়. এটা কি আপনি না মত আছে , সঠিক গ্রহণ করবে? এসিনক্রোনাস সঞ্চালনের সঙ্গে, আপনাকে প্রথমে সতর্ক. এর পরে আপনি এই URL-এ বন্ধ যান. এবং যদি আপনি আমি যাচ্ছি বলে, শুধু তথ্য চাইতে. এবং তারপর আমি যাচ্ছি পরে প্রক্রিয়া. সুতরাং অবিলম্বে executes আমি যে না পরে পরের লাইন এসিনক্রোনাস অনুরোধ. সুতরাং একটি 0.001 যাও, আপনি সতর্কতা পরিষ্কার উচ্চ দেখুন. যে ফাংশন, সতর্কতা বিদায় সম্পাদন করুন. এবং আমি একটি প্রতিশ্রুতি তৈরি, কারণ যে আমি পরে তথ্যের ব্যবস্থাপনা করবে যে তথ্য ফিরে আসে হয় ঘটবে তিন সেকেন্ডের পরে, তাহলে আমি চালানোর যে আমি ওইখানে আছে যে ফাংশন. হ্যাঁ? AUDIENCE: আপনি নির্দিষ্ট বা যায়নি Ajax মানে কি নির্মল? জোসেফ Ong: সুতরাং Ajax একটি উপায় যে যদি আমি আমি একটি ওয়েবসাইটে এবং আমি যখন তথ্য প্রয়োজন তারপর, পৃষ্ঠাটি রিফ্রেশ করতে চাই না আমি Ajax নামক এই প্রযুক্তি ব্যবহার. এটা মূলত শুধু মানে, আনা যেতে অন্য ওয়েবসাইট থেকে তথ্য. এবং যে মাত্র একটি উপায়ে তা করবেন আমার ওয়েব পেজ ফাঁকি দেয় না. AUDIENCE: সুতরাং যে একটি সহজাত হয় জাভাস্ক্রিপ্ট বা jQuery অংশ? জোসেফ Ong: তাই কেউ কি একটি উপায় লিখেছেন এই একটি দীর্ঘ সময় আগে জাভাস্ক্রিপ্ট মধ্যে. এক পর্যায়ে, এটি অস্তিত্ব ছিল না. তাই কেউ এই টেকনিক আবিষ্কার মানুষের এই তথ্য অনুরোধ অনুমোদন এই ফ্যাশন. এবং তারা কিছু উপাদান লিখেছিলেন আপনার জন্য তা করে. এবং jQuery শুধু আপনি এই দেয় এটা করতে খুব সুন্দর ভাবে এই $ দিয়ে. ফাংশন পেতে. প্রশ্ন? আমি আমার প্রশ্নের উত্তর করতে পারে Ajax পরে খুব. আমি এখানে থাকব. সুতরাং এর আমাদের ছাড়া তথ্য আনা যাক পাতা রিফ্রেশ. এবং এটা এর আমাদের এই কাজ করা যাক একটি অ্যাসিঙ্ক্রোনাস ভাবে যে পাতা বরফে পরিণত হয় না. খুব লম্বা, পড়তে না যে ব্যাখ্যা আপনার জন্য অত্যন্ত দীর্ঘ ছিল. সুতরাং পরিশেষে, ক্রস সাইট স্ক্রিপ্টিং হামলা. আমরা Zamyla সাথে এই দেখেছি. আমার ডাটাবেস কেউ এই নাম আছে, এই স্ক্রিপ্ট ট্যাগ, এবং আমি যা আমার পৃষ্ঠাতে কিছু কোড আছে যে কপি করে প্রিন্ট মানুষের একটি সারিতে নাম, বা আমি থাকতে আউট টিপে যে কিছু জাভাস্ক্রিপ্ট কোড পাতা মধ্যে এই নাম, কি এইচটিএমএল উত্পাদিত হয়? ওয়েল, আমি এইচটিএমএল ট্যাগ প্রিন্ট আউট. আমি সব এই ট্যাগ প্রিন্ট আউট. আমি আমি ছাপার আছি যেখানে অংশ পেতে আমার বন্ধুদের সাথে বাইরে. আমি লরেন প্রিন্ট আউট. এটি Milo প্রিন্ট আউট. এবং তারপর ডাটাবেসের মধ্যে আমার নাম স্ক্রিপ্ট পোস্ট অমনোরম ফেসবুক স্ট্যাটাস. আমি পাতা মধ্যে এই ঢোকানো কারণ এটি জাভাস্ক্রিপ্ট, দেখে মনে হচ্ছে, কারণ যখন এই পৃষ্ঠায় ব্যবহারকারীর পাঠানো পরার, এটি জাভাস্ক্রিপ্ট হিসেবে মৃত্যুদন্ড কার্যকর করা হয়. এবং তাই এই আমরা একটি কল কি ক্রস সাইট স্ক্রিপ্টিং আক্রমণ. কেউ কেউ এ দূষিত তথ্য রাখে মিলা পারে আপনার ডাটাবেস কিছু অতিরিক্ত স্ট্রিং বা কিছু জাভাস্ক্রিপ্ট স্ট্রিং. এবং এটা আউট মুদ্রিত পরার যখন এই ফ্যাশন পাতা, তারপর কি এরকম খারাপ কোড মৃত্যুদন্ড কার্যকর পরার হয় আমি মনস্থ না এটি মৃত্যুদন্ড কার্যকর করার জন্য. এবং যে সব একটি ক্রস সাইট এর স্ক্রিপ্টিং হামলা হয়. এবং আপনি কাছাকাছি পেতে উপায় Zamyla বলেন মত ​​এই হয়. আপনাকে কেবল অনেক কিছু মোড়ানো এইচটিএমএল বিশেষ অক্ষর. এবং এই এইচটিএমএল বিশেষ অক্ষর একটি পিএইচপি হল এই ধরণের প্রতিরোধ করা হবে যে ফাংশন আপনি ঘটা থেকে জিনিস আপনি একটি দূষিত আছে আপনার ডাটাবেসের মধ্যে স্ট্রিং. তা না যাতে এটা ঠিক, এটা পালাতে এইচটিএমএল হিসেবে ব্যাখ্যা করা হয়. এটা একটু বন্ধনী প্রতিস্থাপন আমরা সত্ত্বা কি কল সঙ্গে. এবং আমরা খুব বক্তৃতায় এই উপর গিয়েছিলাম. তাই আমি আপনাকে বলছি থাকা উচিত মনে করি যে একটি ভাল দখল. প্রশ্ন? হ্যাঁ. AUDIENCE: সুতরাং কিভাবে would [শ্রবণাতীত]? জোসেফ Ong: আবার যে বলে দিন. AUDIENCE: কিভাবে মনিটর করবে - জোসেফ Ong: রাইট. সুতরাং আপনি বলে কিছু যে, যখন আমি আমার নামে, টাইপ রেজিস্টার. আমি শুধু যে ক্ষেত্রে টাইপ করুন, আমার নাম কুয়োর পোস্ট অমনোরম ফেসবুক স্ট্যাটাস বন্ধ স্ক্রিপ্ট ট্যাগ. এবং যে মাত্র পুরা পরার ডাটাবেস, আমি বলতে পারবে না, কারণ কেউ বিশ্বের একটি নাম নেই একটি বাম এটি তীর বা সঙ্গে এটা শব্দ স্ক্রিপ্ট. যে সত্যিই অর্থে দেখা যায় না. তাই আমি ঠিক নিশ্চিত যে করা আছে আমি আমি এটা মুদ্রণ আগে স্টাফ sanitize পৃষ্ঠা থেকে আউট. AUDIENCE: সুতরাং এইচটিএমএল বিশেষ কার্ড স্ক্রিপ্ট ট্যাগ বাধা দেয়? জোসেফ Ong: হ্যাঁ. সুতরাং স্ক্রিপ্ট ট্যাগ বাধা দেয় না. এটা ঠিক নিশ্চিত যে করে তোলে স্ক্রিপ্ট ট্যাগ পেতে পারি না এইচটিএমএল অথবা হিসাবে ব্যাখ্যা - হাঁ. এটা ঠিক যেমন আপ কি আসে আসলে এটি হয়. ঠিক আছে. সুতরাং যে ব্যঙ্গ পর্যালোচনার ছিল. কুল. [সাধুবাদ]