DAVID MALAN: ঠিক আছে. এটি CS50, এবং এই হল সপ্তাহে নয়টি শেষ. এটা উপর একটি ঘূর্ণিবায়ু হয়েছে গত কয়েক দিন. আপনি হাঁটু করছি এবং যদি সমস্যা, সাত সেট গভীর তা, বেশ আছে বুঝতে পারছি বিট নতুন যে সেখানে আছে. কিন্তু আমরা টুকরা না পারে যদি এর দেখতে দিন সবকিছু একসাথে এখানে সংক্ষিপ্তভাবে আগে তাহলে এখনো বন্ধ veering অন্য দিক এবং এইজন্য কোথায় আমরা যেতে পারেন. সুতরাং এ পর্যন্ত, আমরা এইচটিএমএল স্বপ্ন করেছি. আমরা সিএসএস স্বপ্ন করেছি. আমরা পিএইচপি স্বপ্ন করেছি. আপনি এসকিউএল অনুভব করতে শুরু করেছি. আজকে আমরা একটু কথা বলতে পারবেন জাভাস্ক্রিপ্ট সম্পর্কে. কিন্তু কিভাবে এই অসম সব করতে ভাষার একসঙ্গে মাপসই? সুতরাং আমরা প্রায় শেষ সপ্তাহ সায়ীদ একটি সার্ভার থাকার ধারণা. তাই আসুন শুধু এই আয়তক্ষেত্র আঁকতে যাক এখানে একটি ওয়েব সার্ভার হিসেবে. আর ওয়েব সার্ভার নিশ্চয় ফাইল কাজ করে. এবং যারা ফাইল কিছু HTML ফাইল হতে পারে. সুতরাং জিনিস এক যে একটি ওয়েব সার্ভার থুতু পারেন একটি ফাইল হতে পারে আমরা শুধু ভালো আঁকা করব কিছু এইচটিএমএল ধারণকারী. তাই অ - বিশেষজ্ঞ এর ভাষায়, কি এইচটিএমএল আপনাকে কি? দর্শকদের পাতা বর্ণন চমৎকার. DAVID MALAN: ঠিক আছে, একটি পাতা সুন্দর চেহারা, আমি প্রমাণিত করেছি মনে করি, যদিও যে অন্যথায়. সুতরাং এইচটিএমএল আপনি পৃষ্ঠাগুলি খুঁজে রাখা যাক না গঠনের দিক, এবং এটা আপনি করতে পারবেন ধরণের aesthetically একটি পাতা বাড়ান, স্ট্যাটিক কন্টেন্ট বাড়ান, যাতে আপনি তারপর একটি ওয়েব ব্রাউজার সঙ্গে এটি দেখতে পারেন. কিন্তু যে কি না. এটা স্ট্যাটিক কন্টেন্ট এর. আপনি এটা লিখতে, আপনি এটি সংরক্ষণ, এবং তারপর আপনি এটি অর্ণবপোত. এবং ওয়েব সার্ভার তারপর কাজ করে এটি আপনার দর্শকদের সব থেকে. কিন্তু আমরা একটি ভিন্ন ব্যবহার জিনিষ stylize পুরাপুরি ভাষা. আমরা একটি শৈলী বৈশিষ্ট্য ব্যবহার শুরু নির্দিষ্ট ট্যাগ নেভিগেশন. এবং শৈলী বৈশিষ্ট্য আমাদের সেট যাক ফন্টের আকার এবং রং ভালো জিনিস. এবং সম্ভবত আপনি আবিষ্কার করতে শুরু করেছি, অথবা আপনি শীঘ্রই চূড়ান্ত জন্য ইচ্ছা সম্ভাব্য প্রকল্প, এখনো অন্য আপনি CSS এর মধ্যে ব্যবহার করতে পারেন বৈশিষ্ট্য. তাই অ - বিশেষজ্ঞ এর ভাষায়, কি সত্যিই তারপর সিএসএস কাজ করে? যারা উহার মাত্র উদাহরণ. কি এটি আপনাকে কি যে এইচটিএমএল তা থেকে মনে হয় না আমরা এ পর্যন্ত দেখা করেছি? AUDIENCE: নিজের দ্বারা শৈলী নির্ধারণ করুন. DAVID MALAN: শৈলী নির্ধারণ করুন নিজের দ্বারা. সুতরাং আপনি হিসাবে ক্লাস ভালো জিনিস সংজ্ঞায়িত স্বতন্ত্র সম্মুখীন হয়েছে, অথবা হতে পারে একটি নথিতে নোড সনাক্ত তাই আপনি তাদের stylize করতে পারে. কিন্তু আরো নির্দিষ্টভাবে, আমি যে সিএসএস বলতে চাই সত্যিই আপনি জিনিষ নিতে দেয় গত মাইল এবং আপনি অনেক কিছু করতে সাহায্য করে আরো স্পষ্ট করে নন্দনতত্ব, অধিকাংশ অংশ জন্য এইচটিএমএল দেয়, যেহেতু আপনি আপনার পেজের গঠন. এবং কিছু ডিফল্ট আছে, যদিও যেমন আমরা জন্য ট্যাগ দেখেছি মোটামুটিভাবে বলতে যা শিরোনাম ট্যাগ, জিনিস বড় এবং গাঢ় তৈরি. এটা একটি প্রশংসনীয় জেনেরিক সংজ্ঞা না ট্যাগের - বড় এবং গাঢ়. যে কি ফন্টের মাপ? যে কি রঙ? যে কিভাবে গাঢ় হয়? এবং CSS আরো finely, আপনাকে করতে দেয় সেই মতো সুর জিনিস. পাশাপাশি লেআউট, কিছু হিসাবে আপনাকে দেখা যায়. এবং অকপটে, সিএসএস একটি বিট একটি নোংরা ভাষার. এটি আপনি করতে পারেন যে খুব শক্তিশালী আপনি করেছি যে আক্ষরিক কোনো ওয়েবসাইট এটা দিয়ে আজ ওয়েবে দেখা, কিন্তু এটা ঘাড় ব্যাথা ধরনের. এবং যদি আপনি কিছু আপনার মাথায় প্রচন্ড আঘাত পেয়েছি করেছেন ইতিমধ্যেই ঠিক কি দেয়াল বিরুদ্ধে কেন্দ্রে একটি মেনু মত কিছু মূঢ় আপনি অর্জিত করেছি যদি সমস্যা সাত সেট ইতিমধ্যে যে বিন্দু. কিন্তু, সেগুলো বুঝতে পারছি সময়ের সাথে আরও সহজ পেতে. আপনি নিদর্শন লক্ষ্য করা শুরু. এবং আবার, গুগল আপনার বন্ধু হতে হবে আপনি পারেন যা বিভিন্ন উপায়ে জন্য সমস্যা এই ধরনের সমাধান. এবং আমি CSS এর সঙ্গে বলতে সাহস, এবং HTML আরও সাধারণত, আপনি এ সমস্যার সমাধান করতে পারে আরো অনেক উপায়ে, সব যা খুব প্রতাপ ভাল আপনি পারা চেয়ে, সঠিক হবে সি মত কিছু, এমনকি এখন পিএইচপি বা জাভাস্ক্রিপ্ট. বিভিন্ন শুধু অনেক আছে জিনিষ খুঁজে রাখা উপায়. কিন্তু এই পেতে শুরু নোংরা, আমরা বলেন. শুধু ধরনের আপনার HTML commingling এবং শৈলী বৈশিষ্ট্য সঙ্গে আপনার সিএসএস ছিল একটু পঙ্কিল. তাই আমরা এর পরিবর্তে ধরণের বলেন, abstractly বলতে, আপনি উচিত যে অন্তত ফ্যাক্টর শুরু সম্ভবত আপনার সিএসএস আউট. নেই আপনার শৈলী গুণাবলী, কিন্তু অন্তত কি ভিতরে স্টাইল ট্যাগ ব্যবহার ওয়েব পেজ অংশ? AUDIENCE: হেড. DAVID MALAN: মাথা ইন. এখন পর্যন্ত, আমরা কেবল শিরোনাম আপ ছিল আছে, কিন্তু আপনার একটি শৈলী যোগ করতে পারেন ট্যাগ, এবং আপনি প্রায় আপনার সিএসএস লাগাতে পারেন পৃষ্ঠার উপরের দিকে ভাষী. কিন্তু তারপর আমরা আরও এক ধাপ জিনিস গ্রহণ এবং আমরা আরো যে আউট করেছিল একটি পৃথক ফাইলে. তাই এই দুটি ফাইল ছিল একরকম এখন লিঙ্ক. এবং প্রকৃতপক্ষে এটা ছিল যে যে ট্যাগ. এবং কি সর্বোচ্চ এক আমাদের সিএসএস আউট ফ্যাক্টরিং জন্য প্রেরণার সব আরো? AUDIENCE: পুনর্ব্যাবহার্যোগ্যতা. DAVID MALAN: পুনর্ব্যাবহার্যোগ্যতা. রাইট? আপনি দেখা হয়ে থাকতে পারে পি সেট ইতিমধ্যে সাত যে পেজের অনেক, ক্রয় পাতা, বিক্রয় পাতা, পোর্টফোলিও পাতা, সম্ভবত হয় কিছুটা একইভাবে গঠিত. উপরের একটি CS50 ফাইন্যান্স লোগো আছে আপনি তা পরিবর্তন করার সিদ্ধান্ত নিয়েছে করেছি, যদি না. একটি পাদচরণ আছে পাতার নীচে. এবং CSS এর পরে এটি বিবেচনার করতে পারবেন এটি একটি পৃথক ফাইলে তাই যে যদি আপনি বিশ্বব্যাপী কিছু পরিবর্তন করতে চান আপনার পুরো সাইট জুড়ে, আপনি যা করতে পারেন সত্যিই শুধু একটা জায়গায় এটি পরিবর্তন. তবে আপনি যদি সম্ভাব্য দিতে একটি মূল্য আছে আউট করেছিল থাকার দ্বারা একটি পৃথক মধ্যে আমার HTML ফাইল থেকে সিএসএস সঙ্গে এটি উল্লেখ দায়ের আমরা সোমবার যা দেখেছি ট্যাগ,. Downside হয় এই কি হতে পারে? আমরা যখন থেকে এক সপ্তাহ আগে ফিরে চিন্তা HTTP এবং TCP / IP এর সম্পর্কে এবং কিভাবে কথা বলা ইন্টারনেট কাজ করে. এখানে বেশী কিছু? AUDIENCE: এটি আরো সময় লাগে. DAVID MALAN: এটা আরও বেশি সময় লাগে. কেন? AUDIENCE: [শ্রবণাতীত]. ডেভিড MALAN: হ্যাঁ. সুতরাং এটা তর্কসাপেক্ষ কিছুটা সময় লাগে. এক, সিএসএস সম্ভবত কারণ না একই ফাইলের মধ্যে. তাই এখন আপনি না করা আছে এক, কিন্তু দুটি অনুরোধ. এবং যারা অনুরোধের একে আমরা দেখেছি হিসাবে তথাকথিত ইন্সপেক্টর মধ্যে ক্রোম, এবং আমরা একে, নেটওয়ার্ক ট্যাব দিকে তাকিয়ে ঐ ফাইল এক HTTP-র প্রয়োজন আমরা যা দেখেছি অনুরোধ, লাগে সময় কিছু পরিমাণ. এখন, হয়ত এটা অনেক না. হয়তো এটা মাত্র 20 মিলিসেকেন্ড এর. হয়তো এটা 200 মিলিসেকেন্ড এর. কিন্তু, ফেসবুক মত একটি পৃষ্ঠায় নিয়ে চিন্তা অনেক কিছু যা বা সিএনএন, অথবা গুগল, আমরা করেছি উদাহরণ চেয়ে বড় দূর পর্যন্ত দেখতে লাগলাম. যারা পেজ ফাইল অত্যাধিক থাকতে পারে, যার প্রত্যেকটি একটি প্রয়োজন হতে পারে একটি ফাইলের ডাউনলোড করুন. সুতরাং জিনিস সম্ভাব্য পারেন মন্দীভূত শুরু. আর বিশেষ করে এই দিন যখন আমরা সব আমাদের পকেট মোবাইল ফোন আছে এবং মন্থর ইন্টারনেট সংযোগ, জমিদারি আরো কয়েকটি মিলিসেকেন্ড, কয়েক অপেক্ষা অতিরিক্ত জন্য আরো মিলিসেকেন্ড ফাইল আসলে ধীর হতে পারে. বিলম্ব বর্ণনা করে যে শব্দ ধরনের আপনি আছে অপেক্ষা আপনি যে অপেক্ষায় যখন অনুভব তথ্য কিছু টুকরা. কিন্তু একটি গোলমালে আছে. সুতরাং এটি একটি সব না - এটি আসলে এখানে একটি ঢেঁকিকল একটি বিট. এখন downside, কিন্তু কি ব্রাউজার কি করতে পারেন তারা এড়ানোর জন্য স্মার্ট হন তাহলে একই styles.css অনুরোধ করতে হচ্ছে আবার ফাইল কি হতে পারে? এটি ক্যাশে. তাই ক্যাশে - সি একটি সি এইচ-ই - সাধারণত শুধু বাঁচাতে এখানে মানে ফাইল আপনি প্রথমবার অনুরোধ, এবং তাহলে এটা আপনার জন্য ক্যাশে চেক. আপনি স্টোরেজ কন্টেইনারে সাজানোর করছি পরীক্ষা করুন, এবং আপনি ইতিমধ্যে যদি styles.css এর কপি, এমনকি যদি কিছু অন্যান্য পি সেট, অথবা কোনো ওয়েবসাইট এ পাতা, আবার অনুরোধ, শুধু দিতে ব্যবহারকারী যে একই ক্যাশে কপি. এটা অনুরোধ বিরক্ত করবেন না. আপনি কিছু হিসাবে যদিও, আছে downside পি সেটে উপর হোঁচট খেয়েছি করেছেন. আপনি সার্ভারে পরিবর্তন করা এবং যদি আপনি ফিরে ব্রাউজার যান এবং আপনি মাঝে মাঝে ব্রাউজার আছে, পুনরায় লোড আপনি একটা উপকার এবং মাথা ঘামান না আপনার styles.css ফাইল পুনরায় ডাউনলোড চলো, কারণ, মতভেদ কি যে ফেসবুক ব্যবহার করে যে এই শৈলী ঘন্টা বা করতে ঘন্টা পরিবর্তন করতে যাচ্ছি দিন দিন? এটি বেশ কম এর. তারা সময়ের সাথে পরিবর্তন, কিন্তু পারে না মিনিট বা ঘন্টা. সুতরাং একটি কৌতুক, শুধু FYI করছেন যখন ওয়েব উন্নয়ন, প্রায়ই কমিয়ে রাখতে হয় উদাহরণস্বরূপ কি নামান এবং তারপর ক্লিক করুন যে ইচ্ছা আপনার ব্রাউজারে রিলোড, এবং সাধারণত ব্রাউজার রিলোড বলুন যদি আপনার আগে থেকেই আছে, এমনকি যদি সবকিছু, এটা ক্যাশের মধ্যে. তাই আবার, upsides এবং downsides, কিন্তু তাদের সব শেষ পর্যন্ত সিদ্ধান্ত ডিজাইন. সুতরাং এখন, আমরা ঠিক না এখানে গল্পের শেষ. আমি এখন ফিরে এবং ফিরে এবং ফিরে যান এবং যদি ফিরে, আমরা শুধু পরিচয় করিয়ে শুরু এইচটিএমএল, কিন্তু পিএইচপি. তাই অ - বিশেষজ্ঞ এর ভাষায়, কি পিএইচপি আমাদের কি? AUDIENCE: [শ্রবণাতীত]. DAVID MALAN: কি যে? AUDIENCE: লজিক ভূমিকা কোড মধ্যে. ডেভিড MALAN: হ্যাঁ, পরিচয় করিয়ে আপনার কোড মধ্যে লজিক. সুতরাং এটি একটি সত্য প্রোগ্রামিং ভাষা আছে loops, এবং ভেরিয়েবল, এবং সঙ্গে ফাংশন, এবং শর্ত, এবং সব থেকে আমরা ফিরে ভাবে ব্যবহার করছি জিনিস হলে গোড়া থেকে. এবং পিএইচপি, আমরা দেখা করেছি, ব্যবহার করা যায় নয়তো কমান্ড লাইনে - তা কিছু আছে তা নয় ওয়েব সঙ্গে, যদিও যে সত্যিই তার উত্স এবং কি এটা থাকে এ ভাল এবং সহায়ক হতে - কিন্তু আপনি নিছক প্রকৃতি দ্বারা পিএইচপি ব্যবহার করতে পারেন এটা (একটি মুদ্রণ আছে যে) ফাংশন, এবং একটি printf () ফাংশন, অথবা একটি প্রতিধ্বনি () ফাংশন. উপায় এর bunches আপনি আছে পিএইচপি দিয়ে লেখা প্রিন্ট করতে পারেন. অতএব, আপনি যদি এই প্রোগ্রামিং ব্যবহার করতে পারেন ভাষা আউটপুট ঠিক আমরা আগে সম্পর্কে কথা ছিল. আপনি পরিবর্তনশীল তৈরি করতে পারেন আপনার HTML. এটা হয়তো সব না. যেমন হতে পারে আপনি হার্ড কোড জিনিষ, হেডার, এবং পাদচরণ, এবং লোগো, এবং আপনার স্টাইল শীট, এবং যে সব. কিন্তু পি সেট সাত মত কিছু জন্য, আপনি স্টক সাধিত এবং করছেন যেখানে , যা ব্যবহারকারীর পোর্টফোলিও দেখাচ্ছে আপনি, পরিবর্তনশীল পরিবর্তন করতে পারে যাওয়া নিশ্চয় পিএইচপি এবং এটি দেয় যুক্তিবিজ্ঞান ব্যবহার একটি প্রোগ্রামিং ভাষা হিসেবে আপনি আউটপুট পরিবর্তনশীল subsets পৃষ্ঠার. তাই আপনি যদি ডায়নামিক ওয়েবসাইট সম্পর্কে কথা বলতে হলে, বা ওয়েব প্রোগ্রামিং, যে আপনি সত্যিই যে বিষয়ে কথা বলছি. একটি পিএইচপি মত ভাষা, বা জিনিসের ব্যবহার পাইথন বা রুবি বা জাভা, বা বলা একটি ডাটাবেস অনুসন্ধান এখনো অন্য ভাষা, প্রায়ই, বা অন্য সার্ভার, এবং তারপর পরিবর্তনশীল এইচটিএমএল থুতু. এখন শেষ ফলাফল, একটি সরাইয়া হিসাবে, হয় যে সবচেয়ে ওয়েবসাইটের এইচটিএমএল, আপনার পি সেট সাত, সম্ভবত সহ একটি বিশাল জগাখিচুড়ি যদি হতে যাচ্ছে আপনি উৎস তাকান একটি ব্রাউজারে কোড. এটা একটি বড় চুক্তি না. এই সময়ে, যখন আমরা যত্নশীল শৈলী, আমরা যত্নশীল আপনি লিখুন যে উপাদান. আমরা স্টাফ যত্নশীল হবে না যে কি আপনার কোড আউটপুট. সুতরাং খাঁজ চিন্তার কিছু নেই এটি পিএইচপি যদি এখানে যে আসলে স্টাফ outputting. সব পরে, ব্রাউজার গ্রাহ্য না করা, এবং একটি মানবিক খুঁজছেন পাওয়া যায়নি যাইহোক উৎস এ. আমরা কর্মী, উদাহরণস্বরূপ, would আপনার পিএইচপি দিকে তাকিয়ে করা. তাই আমাকে একটি দ্রুত যেমন এখন দিতে যাক কেন অন্য এই বিকল্পটি সহায়ক হবে. তাই অকপটে, আমি গত মনে করতে পারেন না আমি একটি সমস্যা সমাধানের জন্য সি ব্যবহৃত সময় বাস্তব জগতে. এটা স্নাতক স্কুলে সম্ভবত ছিল যখন আমি একটি ভাষা ব্যবহার করতে প্রয়োজন যে মোটামুটি নিম্ন স্তরের ছিল এবং আমাকে দিয়েছে খুব উচ্চ কিছু করতে সুযোগ সত্যিই অনেক সিপিইউ সংরক্ষণ করণ চক্র আমি পারে হিসাবে, বৃহৎ অংশ আমি বিপুল তথ্য সেট ব্যবহার করা হয়েছিল, কারণ, এবং প্রতি CPU-চক্র গণনা. এবং অকপটে, এমনকি ফোনের মত কাজ করে এই দিন এবং অন্যান্য ডিভাইস আপনি বেশ অনেক কিছু আছে না যেখানে মেমরি এবং আপনি বেশ হিসাবে না থেকে অনেক CPU-র, দ্রুত ভাষার ব্যবহার এখনও মর্মস্পর্শী হয়. কিন্তু বাস্তব জগতে, যখন আপনি শুধু একসাথে কিছু প্রোগ্রাম নিক্ষেপ করতে চান কিছু তথ্য বিশ্লেষণ, অথবা আপনি সংগ্রহ করেছি জন্য নিবন্ধীকরণের আভা কিছু ছাত্র দল এবং আপনি খুব চান দ্রুত ইমেইল পাঠানোর স্বয়ংক্রিয় যাদের প্রতি এক থেকে একের পর এক registrants, আপনার জন্য পৌঁছানোর চলুন একটি উচ্চ স্তরের ভাষা আর সি তাই কথা বলতে. পিএইচপি বা পাইথন বা রুবি মত কিছু, বা যে বিদ্যমান একটি অর্ধ ডজন অন্যদের এই দিন. কিন্তু যারা তিন সম্ভবত হয় এই মুহূর্তে সবচেয়ে প্রচলিতো. এবং কি এই মানে আপনি খুলতে পারেন একটি টেক্সট gedit মত এডিটর বা আপ মাত্র শুরু তারপর অন্য এবং সবচেয়ে কিছু চিন্তা ছাড়াই কোড লেখা না করেও, কম্পাইল সম্পর্কে সত্যিই মেমরি ব্যবস্থাপনা সম্পর্কে চিন্তা, যদিও মন পালন যে একটু sloppiness অবশেষে ফিরে আসবে তথ্য সংকলন পায় যদি আপনি দান্ত দিয়া ফুটা করা বড় বা সমস্যা বড় পায়. কিন্তু কি এই জন্য মানে আমাদের নিম্নোক্ত. আমাকে এগিয়ে যান এবং speller চালানো যাক থেকে সমস্যা ছয় সেট. তাই এই আমার trie ভিত্তিক বাস্তবায়ন আমি বড় ব্যবহার করে আমি এত ভাল না সঞ্চালিত যেখানে বোর্ড. আমরা সপ্তাহে এর সময় ফিরে আসে এবং করব উপরে শেষ হয়নি যারা পরিদর্শন আমাদের শেষ বক্তৃতা এ বড় বোর্ড. কিন্তু এখন জন্য, আমাকে এগিয়ে এবং শুধু ছেড়ে দেওয়া পাঠে আমার সমাধান চালানো, এবং আমরা চেষ্টা করবো রাজা জেমস বাইবেল, এবং আমরা এখানে. সুতরাং যারা কল্পনানুসারে সব হয় বাইরে misspelled শব্দ রাজা জেমস বাইবেল. এবং আমার বাস্তবায়ন গ্রহণ মোট মধ্যে অর্ধেক একটি দ্বিতীয়. এই উপর তাই খুব খারাপ না বিশেষ কম্পিউটার. কিন্তু কতটা মনে কোড আমি লিখতে ছিল. আপনি লিখতে ছিল কত কোড চিন্তা করুন. আপনি কেটেছে কত ঘন্টা চিন্তা করুন ডি হল বা আপনার dorm বা যেখানেই আসলে যে সমাধান আপ কোডিং. ওয়েল, আমি আসলে একটি উচ্চ স্তরের আছে পিএইচপি মত ভাষা, নোট নিতে আমি এখানে কি করতে পারেন. প্রথমত, এই পরিবর্তে যে অনুমান আপনার ডিস্ট্রিবিউশন কোড. এই speller নামক একটি ফাইল. এটা আজকের অংশ হিসাবে উপলব্ধ বিতরণের অবস্থান. এবং আমি অধিকাংশ সময়ে আমার হাতে তরঙ্গ যাচ্ছি বিবরণ, কিন্তু এই আসলে এর কিভাবে একটি আকর্ষণীয় উদাহরণ আপনি পোর্ট একটি ভাষা পারে পিএইচপি নিয়ে সি মত. আমি আক্ষরিক দুটি টেক্সট জানালা খোলা, speller.c আমার সি সংস্করণের সাথে এক, এবং আমি ঠিক তা অনুবাদ শুরু আমার পিএইচপি আগাইয়া এবং ব্যবহার এটি টাইপ নিকটস্থ সমতুল্য ফাংশন. তাই এই জিনিস কিছু ভিন্ন. আমরা পিএইচপি ব্যবহার করে না যে শেষ সময় দেখেছি বেশ একই ভাবে অন্তর্ভুক্ত. এটা যদিও, সাধারণত প্রয়োজন হয় ব্যবহার করে অন্তর্ভুক্ত অস্তিত্ব আছে. সংজ্ঞা থেকে একটু ভিন্ন # সি সংজ্ঞায়িত, কিন্তু যে এর আমরা একটি ধ্রুবক করতে কিভাবে. $, এটা পিএইচপি বিদ্যমান দেখা যাচ্ছে argc তাই আমরা আগে যে দেখা করেছি. এই শুধু ভেরিয়েবল, সব হয় যা ডলার চিহ্ন দিয়ে শুরু. এই মাত্র একটি গুচ্ছ প্রত্যাহার পয়েন্ট ভাসমান. , আপনি স্বাগত তাই দীর্ঘ সংক্ষিপ্ত বিবরণ আছেন এই মাধ্যমে টুসকি জানতে আগ্রহী, এই হল এর প্রায় এক লাইন জন্য লাইন রূপান্তর পিএইচপি মধ্যে speller.c এর সি সংস্করণ. আর আপনার জন্য আবার এই কাজ করতে পারে অর্ধ ডজন অন্যান্য ভাষাসমূহ. কিন্তু কি আকর্ষণীয় এই হয়. অথবা কি অকপটে disheartening এর এই হয়. আমাকে এগিয়ে যান এবং প্রায় টাইপ যাক আমি যে dictionary.php, এবং দাবি এগিয়ে যান এবং পুনরায় বাস্তবায়ন করতে যাচ্ছে সমস্যা এখানে ছয় সেট. তাই আসুন এই প্রথম যে উত্থাপন করা যাক প্রয়োগ করা হবে, যা ফাইল, পিএইচপি, তাই আমাকে যে মত আমার ট্যাগ খুলুন. আমার নিজেকে একটি বৈশ্বিক দিতে যাক পরিবর্তনশীল, $ আকার শূন্য পায়. এবং আমি দিতে যাচ্ছি নিজেকে একটি হ্যাশ টেবিল. আমি এই জিনিস জন্য একটি হ্যাশ টেবিল ব্যবহার করব. আমি কিভাবে পিএইচপি একটি হ্যাশ টেবিল ডিক্লেয়ার করেন? সম্পন্ন. ঠিক আছে. তাই খোলা বন্ধনী বন্ধ বন্ধনী প্রতিনিধিত্ব করে আমরা দেখা করেছি হিসাবে পিএইচপি কি,? একটি অ্যারের, কিন্তু যে পারে একটি অ্যারের একটি মিশুক অ্যারে হতে. একটি মিশুক অ্যারে একটি ডাটা স্ট্রাকচার যে মান নির্দেশক সহযোগীদের. এখন সংখ্যাসূচকভাবে সূচীবদ্ধ সরলতম মধ্যে অ্যারে, যারা কি কি? শূন্য, এক, দুই, তিন, ডান? ওল্ড স্কুল ফিরে সি থেকে সামগ্রী কিন্তু যা করতে পারেন এছাড়াও foo বিন্যাস, এবং বার মত স্ট্রিং হতে, বা ম্যাক্সওয়েল, বা কোনো ধরনের স্ট্রিং. তাই আমি যে লিভারেজ পারেন মাত্র কয়েক মিনিটের মধ্যে. আমাকে এগিয়ে যান এবং ঘোষণা মত একটি ফাংশন - প্রথম চাহিদার () না দেওয়া. সুতরাং ফাংশন লোড (). এবং পিএইচপি যে একটু ভিন্ন আপনি আক্ষরিক আপনি ফাংশন টাইপ, কিন্তু একটি রিটার্ন টাইপ টাইপ না. আমি এগিয়ে যান এবং বলতে যাচ্ছি যে লোড () ফাংশন নিতে হবে যুক্তি $ অভিধান, শুধু মত সি সংস্করণ করেছিল. আমি মেমরি থেকে যে কাজ করছি. এবং আমি আমি নই যে প্রস্তাব এই কাজ করতে যাচ্ছে. আমি কেবল foreach করতে যাচ্ছি. আমি নামক একটি ফাংশন কল করা যাচ্ছে না যে নামে ক্ষণস্থায়ী, ফাইল () পরিবর্তনশীল, যা দায়ের $ শব্দ হিসাবে $ অভিধান. এবং তারপর আমার এখানে লুপ জন্য, আমি আছি ভেতরে এগিয়ে যান এবং সঞ্চয় যাচ্ছে আমার $ শব্দ সত্য যে পায় $ টেবিল. সম্পন্ন. ওহ, অপেক্ষা করুন. সম্পন্ন. ঠিক আছে. যে চাপের () ফাংশন পিএইচপি বলে. এখন, এটা কেন কাজ করে? আর আমি ধরনের এখানে ঠকায় করছি. সুতরাং, এক, আমরা দেখেছি foreach সংক্ষিপ্তভাবে শেষ সময়. এটা ঠিক যে আপনি উপর পুনরুক্তি করতে পারেন আমি সাথে বিরক্ত ছাড়া একটি অ্যারের ও এন ও প্লাস প্লাস, এবং যে সব. অভিধান, অবশ্যই ফাইলের নাম বড় বা ছোট ভালো কিছু, দুই আমরা শেষ সময় ব্যবহৃত অভিধান. ফাইলের টেক্সট উন্মোচন যে একটি ফাংশন ফাইল, লাইন করে লাইনে এটা সার্চ, এবং আপনি একটি বিশাল অ্যারে ব্যাক হাত, যার উপাদান প্রত্যেকটি একটি হল যে ফাইল থেকে লাইন. সুতরাং যে fopen সমন্বয়, এবং fread, এবং লুপ, এবং fclose যখন, এবং যে সব. শব্দ ঠিক মানে হিসাবে অবশেষে, যে পরিবর্তনশীল আমি এক্সেস আছে যাচ্ছি এই লুপ প্রতিটি পুনরাবৃত্তির উপর. তাই সংক্ষিপ্ত, এখানে এই এক মাছ ধরার নৌকা মানে যার নাম হল ফাইল খুলুন অভিধান, ভেরিয়েবল, উপর বারবার এটা পাতিপাতি, এবং আপনি পেতে প্রতিটি সময় একটি পরিবর্তনশীল নামক শব্দের মধ্যে একটি লাইন, দোকান, এবং তারপর শব্দ দিয়ে কিছু করতে. আমি কি করতে চান? আমি আমার হ্যাশ টেবিল মধ্যে শব্দ লাগাতে চান. ওয়েল, আমি কিছু লাগাতে পারেন আমার শুধু সি মত টেবিল হ্যাশ বর্গাকার বন্ধনী ব্যবহার করে. এটা আমার হ্যাশ টেবিল জন্য নাম. আমি যে হ্যাশ মধ্যে সূচক যাচ্ছি এই অবস্থানে টেবিল. তাই শূন্য বন্ধনী না, এক বন্ধনী না. বন্ধনী মূল্যউদ্ধৃতি উদ্ধতি কিছু, যাই হোক না কেন যে শব্দ. এবং ঠিক মত আপনি থাকতে পারে আপনার হ্যাশ টেবিল কাজ trie, আপনি শুধু দোকান কার্যকরভাবে একটি বুলিয়ান, পরোক্ষভাবে অথবা স্পষ্টভাবে. সম্পন্ন. আমি মান সত্য সংরক্ষণ করছি. এখন জিনিষ কয়েক আছে আমি এখানে উপর কোণ কাটা করছি. টেকনিক্যালি, একটি করা আছে যাচ্ছে শেষে বিরক্তিকর নতুন লাইন, / N, এই শব্দ প্রতিটি. তাই আমি সম্ভবত একটি পিএইচপি ফাংশন কল উচিত বলা চপ (), যা হবে বেশ আক্ষরিক যে বন্ধ চপ. আর আমি আসলে প্রয়োজন এক অন্য জিনিস করে. আমি সম্ভবত প্রতিটি আকার বাড়ায় উচিত পুনরাবৃত্তির, তাই আমি অবগত থাকার করছি বিশ্বব্যাপী এটি কি. এবং অকপটে, এবং এই এক আপনি যদি পিএইচপি এর stupider দিক, একটি গ্লোবাল ভেরিয়েবল ব্যবহার করে, আপনার যা প্রয়োজন স্পষ্টভাবে আপনি যে বলতে. তাই আমি আসলে বৈশ্বিক টাইপ করা যাচ্ছে না এখন $ আকার, বৈশ্বিক $ টেবিল, এবং আমার ফাংশন সম্পূর্ণ. তাই বেশ আগে হিসাবে সহজ, কিন্তু না সম্ভবত সি চেয়ে কম সময় নেয় সংস্করণ, হয়তো? ঠিক আছে. তাই এখন আমি কি চেক () ফাংশন করতে দেওয়া. এই অন্তত নেন তাহলে এর দেখতে দিন এটা সি সুতরাং আমাদের গ্রহণ ঘন্টার পর ঘন্টা আমাকে এগিয়ে যান এবং ঘোষণা একটি ফাংশন হিসাবে চেক. , যা যুক্তি শব্দ নিয়ে speller থেকে আসতে যাচ্ছে. আর আমি শুধু চেক চলেছি যদি নিম্নলিখিত পরিবর্তনশীল isset, টেবিল শব্দের বন্ধনী strtolower - এর আমার প্রথম বন্ধনী সব সামঞ্জস্য বজায় রাখা যাক - তাহলে সত্য ফিরে. অন্য - যে সত্যিই কঠিন ছিল এই কর্মসূচির অংশ. অন্যথায়, মিথ্যা ফিরে. সম্পন্ন. যে) (চেক এর. এখন, কেন এই কাজ করে? ওয়েল, এক আমি একটি শব্দ সালে পাশ যা একটি পংক্তি. দুই, আমি হ্যাশ ভেতরে চেক করছি $ টেবিল বলা হচ্ছে যারা টেবিল,. আমি কল করে ছোট হাতের অক্ষর থেকে এটি অত্যাচার করছি এ () tolower খুবই অনুরূপ একটি ফাংশন সি, কিন্তু এই সম্পূর্ণ শব্দ আছে, না একটি একক চরিত্র. এবং যে আছে অর্থাৎ, সেট করা হয় যদি একটি মান অর্থাৎ, সেট করা হয়, এটা সত্যি, তাহলে হ্যাঁ, এই একটি শব্দ. আমি লোড সঙ্গে সেখানে লাগাতে কারণ (). আর যদি না হয়, আমি মিথ্যা ফিরে যাচ্ছি. এখন অন্যদের সহজ. ফাংশন আকার (), আমি এই কিভাবে করব? আমি মূলত $ আকার প্রত্যাবর্তন করবেন. কিন্তু আমি টেকনিক্যালি প্রয়োজন এই বিরক্তিকর জিনিস করে. এবং প্রকৃতপক্ষে শুনতে আপ, আমি কাটা ছিল অনেকগুলি এক কোণায়. আমি সত্যিই বিশ্বব্যাপী $ টেবিল যা করতে হবে. কিন্তু বলা হচ্ছে,) আন যে. আন () আশ্চর্যজনক. ফাংশন আন (). আমি কিভাবে) (আন বাস্তবায়ন চান? সম্পন্ন. ঠিক আছে. সুতরাং (), মেমরি ম্যানেজমেন্ট হল আন সম্পূর্ণ আপনার জন্য যত্ন নেওয়া পিএইচপি এবং অনেক ভালো কিছু উচ্চ স্তরের ভাষার. তাই এই আশ্চর্যজনক. নরকে আমরা গত অতিবাহিত কেন ভালো লেগেছে সি লেখার উপর আট প্লাস সপ্তাহ দৃশ্যত সত্যিই ধীর, সত্যিই সময় ঘন্টা দশ সঙ্গে গ্রাসকারী সমস্যা আমাদের বেল্ট অধীনে কাজ? ওয়েল, এক জিনিস জন্য, এই কাজ করতে পারে ছোট প্রোগ্রামের জন্য জরিমানা. এটা অবশ্যই আপ sped আমার উন্নয়নের সময়. কিন্তু এর কি দেখতে দিন বাস্তব জগতে. আমাকে এই ডিরেক্টরির মধ্যে যাওয়া যাক একটি টার্মিনাল উইন্ডোর. Speller আছে. এবং একটি সরাইয়া হিসাবে লক্ষ্য করা, এবং আপনি পারে সমস্যা সেট এই সম্মুখীন ছয় বা সমস্যা সাত সেট. আপনি কঠোরভাবে করতে হবে না . পিএইচপি দিয়ে পিএইচপি ফাইল শেষ. আপনি এ যে প্রথম এক মত একটি লাইন করা হলে খুব উপরে, যে একটি বিশেষ লাইন বাক্য গঠন যে মূলত খুঁজে মানে পিএইচপি বলা হয় এবং এটি ব্যবহার প্রোগ্রাম এই ফাইলের ব্যাখ্যা. তাই এখন কোন এক সত্যিই জানে যে আমি একটি পিএইচপি প্রোগ্রাম করছি. আমি এটা হিসাবে যদিও এটা চালাতে পারেন কিছু সি কম্পাইল করা হয়েছে কিন্তু এখানে জিনিস. বাস্তবিক, আমি কি আবার এই কাজের জন্য. Dropbox/pset6 /. Speller আছে. ঠিক আছে, 0.44 সেকেন্ড. এটি দ্রুত এই সময় পেয়েছিলাম. এখন আসুন পিএইচপি সংস্করণ ঢোকা যাক. চমৎকার স্পর্শ. কিন্তু ঠিক কত সময় চিন্তা আমি অফিসে ঘন্টা এ সংরক্ষিত. ঠিক আছে. সুতরাং 3.59 সেকেন্ড, যা আসলে হয় সঠিক লাগছে না. কিন্তু যে, দীর্ঘ সংক্ষিপ্ত বিবরণ, কারণ এর আপনি বিপুল পরিমাণ আউট মুদ্রণ করছি যখন স্টাফ পর্দায়, যে নিজেই জিনিস গতি নিচে. এটি সত্যিই এ CPU গ্রহণ কি প্রয়োগ, 3,59 যাও ছিল 0.44 গ্রহণ সি, বিপরীতে অতি সম্প্রতি যাও. যে সত্যিই একটি অর্ডার মাত্রার ভিন্ন. তাই যেখানে যে দাম থেকে আসছে? কেন এটা এত মন্থর? কেন পিএইচপি যাতে দুর্বল সঞ্চালন না? Danielle? শ্রোতা: আপনি সত্যিই না একটি হ্যাশ টেবিল ব্যবহার করুন. DAVID Malan: আমি সত্যিই না একটি হ্যাশ টেবিল ব্যবহার করুন. তাই আমি ধরনের করেনি. সুতরাং এটি একটি মিশুক অ্যারে. সম্ভবত পিএইচপি এ ব্যক্তি কি না? সত্যিই স্মার্ট, তারা নীচে ব্যবহৃত ফণা বাস্তবায়িত একটি প্রকৃত হ্যাশ টেবিল কিছু চাই C অথবা সি + +. কিন্তু. হ্যাঁ. শ্রোতা: [শ্রবণাতীত]. DAVID Malan: হ্যাঁ. ফাংশন প্রতিটি তাই আমি এখন লিখেছিলেন - আসলে, আপনি আরো একবার একটি বলতে পারেন জোরে একটু? শ্রোতা: ফাংশন প্রত্যেকটি যে আপনার অন্তর্ভুক্ত করা অনেক বেশী পূর্ণ হয়েছে আর ক্ষমতা - DAVID Malan: অত্যন্ত সত্য তাই. অনেক বেশি ওভারহেড আমরা যে আছে সত্যিই শুধুমাত্র উপর মনোযোগ নিবদ্ধ করে দেখছি না আমি শুধু লিখেছিলেন যা dictionary.php. বিপরীতভাবে, একবার একটি সম্পূর্ণ দোভাষীর আছে ব্যাকগ্রাউন্ডে যাচ্ছে. প্রকৃতপক্ষে, আমি এই প্রোগ্রাম দৌড়ে, এটা কম্পাইল zeros এবং বেশী ব্যবহার না করা ছিল আমার ইন্টেল CPU-র জন্য নির্মিত হয়েছে. বরঞ্চ, এটি পাতিপাতি চলমান ছিল ঠিক যে দেখায় পিএইচপি কোড আমরা তা টাইপ না. এবং তাই আপনি যদি একটি ব্যবহার যখনই ব্যাখ্যা ভাষা, আপনি আসলে এই মূল্য কি. এটা পড়া কিছু সময় নিতে যাচ্ছে নীচে আপনার ফাইল উপরে, বামে ঠিক আছে, এবং তারপর প্রতিটি চালানো আবার এবং আবার লাইন. এখন বিশেষ করে ওয়েবে বাস্তবতা, মধ্যে আসলে আপনি এই প্রক্রিয়া ত্বরান্বিত করতে পারেন ফলাফল ক্যাশে দ্বারা পিএইচপি কোড ব্যাখ্যা করা হচ্ছে. এবং যে, ওয়েবে জ্ঞান করে তোলে, কারণ আপনি একজন ব্যবহারকারী মত থাকে তাহলে আমাকে এখানে, কিন্তু 1,000 বা 10,000 জন ব্যবহারকারী তারপর, হয়তো ফাইল প্রথমবার অ্যাক্সেস এটি ধীর, কিন্তু তারপরে এর এটি অনেক দ্রুত হয়. কিন্তু এই খুব, আবার, একটি ট্রেড বন্ধ. এবং একটি গবেষণা তথ্য ভালো কিছু জন্য সেট, অথবা এমনকি বড় কিছু চাই এই আপনার ব্যবহারকারীদের অবশেষে পাবেন যে মন্দার বোধ করতে শুরু করুন. তাই সংক্ষেপে, ব্যাখ্যা ভাষা আছে , vogue খুব খুব জনপ্রিয়, এবং অকপটে আপনি সম্ভবত ভাষা আছে সমস্যা সমাধানের জন্য যখন পৌঁছাতে হবে এবং CS50 পরবর্তী. কিন্তু আপনি কি সত্যিই করছি কতটা বুঝতে পারি ফণা নীচে দেওয়া জন্য গ্রহণ হ্যাশ সত্যিই যারা গত কয়েক সপ্তাহ সারণী, এবং গাছ, এবং চেষ্টা করে, শেষ পর্যন্ত আসলে ব্যবহার করা হয়, যা খোলা বন্ধনী ভালো জিনিস বাস্তবায়ন, যা বর্গাকার বন্ধনী, এখন আমরা করতে পারেন মঞ্জুর জন্য কৃতজ্ঞচিত্তে গ্রহণ করা. সুতরাং এখন কটাক্ষপাত করা যাক এই ওয়েব প্রেক্ষাপটে. এবং আমি আছে যে শেষ সময় উল্লেখ করেছে পিএইচপি superglobals একটি গুচ্ছ যে সত্যিই প্রাসঙ্গিক হয় না কমান্ড লাইন থেকে. তারা প্রেক্ষাপটে আরও প্রাসঙ্গিক হন একটি ওয়েব প্রেক্ষাপটে পিএইচপি ব্যবহার করে. তাই যাতে একটি ওয়েব সার্ভারে পিএইচপি চলমান এইচটিএমএল ভালো স্টাফ উৎপন্ন. এবং আমরা $ _GET এবং $ _POST এ glanced, এবং যেখানে স্বয়ংক্রিয়ভাবে ব্যবহারকারীদের যে আপনি একটি জমা হলে ইনপুট কেবল শেষ পর্যন্ত একটি ওয়েবে. পিএইচপি শেষ হওয়া একটি ফাইল গঠন প্রয়োগ মত সার্ভার. কিন্তু এ সংক্ষিপ্তভাবে যাক $ _COOKIE এবং $ _SESSION. Layman এর পদ, কি হিসাবে একটি কুকি হয় আপনি প্রেক্ষাপটে এটা বুঝতে ওয়েব ব্যবহার করে? শ্রোতা: কম্পিউটারে ফাইল. DAVID Malan: হ্যাঁ. এটি ব্যবহারকারীর কম্পিউটারে একটি ফাইল এর রোপন যাই হোক না কেন ওয়েবসাইট আপনি দেখার ঘটবে. সুতরাং যখন আপনি যেতে যখন আপনি, ফেসবুক যান bankofamerica.com, আপনি যেতে যখন আপনি প্রায় কোনো যেতে যখন google.com, আপনি বিশ্বের ওয়েবসাইট এই দিন, cs50.net সহ একটি কুকি রোপণ করা হয় আপনার কম্পিউটারে, যা আপনার উপস্থিত RAM-র মধ্যে সংরক্ষিত একটি মান হয় আপনার ব্রাউজার এর মেমরি কম্পিউটার, অথবা কখনও কখনও প্রকৃতপক্ষে একটি ফাইল সংরক্ষিত আপনার হার্ড ড্রাইভে. এবং সাধারণত যে ফাইলে কি সঞ্চিত আপনার ব্যবহারকারী নাম হয় না, আপনার পাসওয়ার্ড, সাধারণত না কিছু ওয়েবসাইট যদি না সংবেদনশীল, তাই না তাদের নিরাপত্তা সঙ্গে ভাল, বরং এটি মধ্যে একটি বড় অনন্য শনাক্তকারী হয় অন্যান্য বিষয়. এটা আপনার উপর নিবদ্ধ একটি বড় র্যান্ডম সংখ্যা এর কম্পিউটার কিন্তু যদি আপনি মনে করতে পারেন একটি ভার্চুয়াল হাত স্ট্যাম্প সাজানোর থেকে চাই একটি ক্লাব বা কিছু চিত্তবিনোদন পার্ক যে কর্মী, যে মালিকদের পারবেন সেবা, আপনি কে মনে. বড় র্যান্ডম সংখ্যা ভালো হয় যদি তাই হয় 12345678, যে সম্ভবত যদিও খুব র্যান্ডম না, যে মনে আপনি দেখার জন্য যে যখন হাত স্ট্যাম্প প্রথমবার জন্য facebook.com, তারা আপনার হাত যে সংখ্যা স্ট্যাম্প. এবং তারপর আপনি HTTP-র, আপনি কথা বলার কারণ একটি ব্রাউজার হচ্ছে, কারণ ফেসবুক সম্ভবত একটি ওয়েব একই কথা বলে সার্ভার, HTTP-র প্রোটোকল বলছেন যে যে কোন সময় আপনি পরবর্তীকালে যান facebook.com, কিনা এটি একটি দ্বিতীয় এর পরে একটি ঘন্টা পরে, পরের দিন, এমনকি আপনি না স্পষ্টভাবে আছে তাই যতদিন লগ আউট, যা কার্যকরভাবে আপনার হাত ওয়াশিং মত হল. HTTP-র উপস্থিত উচিত আপনার প্রত্যেক সময় আপনি স্ট্যাম্প হাতে যে ওয়েবসাইট থেকে ফিরে. কি ফেসবুক তারপর তারা আছে যে হাত স্ট্যাম্প তাকান এবং তারা 123456789, ওহ, বলতে. আমি প্রথম নজরে জানি না যে এই কেমব্রিজের ডেভিড Malan, হয় ম্যাসাচুসেটস, কিন্তু তারা তাদের পরীক্ষা করতে পারবেন ডাটাবেস ও বলে, ওহ, ব্যক্তি যাদের কম্পিউটারে আমরা 123456789 রোপণ কেমব্রিজ থেকে ডেভিড Malan, হয় ম্যাসাচুসেট্স. চলুন শুরু করা যাক যে ব্যবহারকারী তারপর তার প্রফাইল প্রদর্শন পৃষ্ঠা বা তার খবর ফিড. কিন্তু একটি সমস্যা এখানে আছে এই যদি ওয়েব প্রকৃতপক্ষে কাজ করে না. এর একটি দ্রুত উদাহরণস্বরূপ কটাক্ষপাত করা যাক. এর আসলে facebook.com বলতে যাওয়া যাক. আমরা সেখানে যেতে পারে কিন্তু আগে, যাক আমাকে এগিয়ে যান এবং ক্রোম এর খুলুন এখানে ইন্সপেক্টর নিচে. আমার নেটওয়ার্ক ট্যাব তাকান. এবং এখন এর এগিয়ে যান এবং টাইপ যাক https://facebook.com মধ্যে. আমরা দেখতে না, যাতে আমি যে কাজ করছি যারা পুননির্দেশনা এবং বর্জ্য সব সময় যাদের মাধ্যমে খুঁজছেন. আমার এন্টার দিন. ঠিক আছে. আমরা অনুরোধ আভা দেখতে. ফেসবুক এখন পর্যন্ত আসে. ফাইল আভা আছে. এবং এখানে আমার উল্লেখ এর প্রতি লেটেন্সি শেষ সময়, যে HTTP অনুরোধ অনেক. কিন্তু প্রথম এক সম্ভবত সবচেয়ে আকর্ষণীয়. সুতরাং আসুন এখানে স্ক্রল ডাউন, এবং আমি এক সেকেন্ডের মধ্যে জুম করব. এই ধরনের হতে যাচ্ছে একটি জগাখিচুড়ি, কিন্তু দেখুন. ফেসবুকে আমাদের একটি পাঠাচ্ছে স্টাফ আভা. কিন্তু দাঁড়ান, আকর্ষণীয়. তারা না এক, কিন্তু চার রোপণ করছি এখানে আমার হাত সম্মুখের দিকে স্ট্যাম্প. সেট কুকি, সেট, কুকি, সেট কুকি, সেট কুকি. এবং কয়েকটি বৈশিষ্ট্য এখানে আছে. তাদের সমস্ত কিছু উল্লেখ মেয়াদ ধরনের. ফেসবুক প্রত্যাশী হয় মত এবং এটা দেখতেও 2015 পর্যন্ত আমার মনে রাখা. সুতরাং যে সম্ভবতঃ সময় যার দ্বারা আমি লগ আউট করতে হবে অথবা তারা ঠিক করব স্বয়ংক্রিয়ভাবে আমি অনুমান ফিরে আসার নয়. সুতরাং যে আসলে একটি শালীন এর সময় পরিমাণ. আর অন্যান্য কিছু আছে জিনিস এখানে হচ্ছে. এই কুকি জোরপূর্বক উপস্থিত হতে পারে এটি 1970 সালে মেয়াদ শেষ বলে মোছা কুকিজ অস্তিত্ব আগে. তাই ব্রাউজার ঠিক যাচ্ছে ঠিক অনুমান, যে মত আছে হাত স্ট্যাম্প ওয়াশিং. কিন্তু এখন নিজের ব্রাউজার তোলে যখন পরবর্তী অনুরোধ - আমাকে এগিয়ে যান এবং এই কাজের জন্য আবার এবং পুনরায় লোড করুন. এখন আমাকে ফিরে স্ক্রল যাক শীর্ষ অনুরোধ এবং নিচে যান এখানে, হেডার অনুরোধ. এই লক্ষ্য করুন. তাই এখন আমি না প্রতিক্রিয়া হেডার অধীনে আছি, কিন্তু এটি অনুরোধ হেডার বলেছেন বিজ্ঞপ্তি. এবং লক্ষ্য করা যে অংশ হিসাবে নিজের ব্রাউজার রিলোড আঘাত পরে তার অনুরোধ আছে নিম্নলিখিত অন্তত পাঠানো তথ্য. নেই সেট কুকি, কিন্তু কুকি. তাই এই লাইন, HTTP-র হেডার তাই নিজের ব্রাউজার সাজানোর যেখানে, কথা বলতে আমার তা উপস্থাপন জেনে আমার ফেসবুক এর পরিদর্শনের জন্য হাত. সুতরাং এই কুকি হতে পারে কি জন্য তারপর ব্যবহার? আপনি কে মনে রাখা, বা মনে রাখা কিভাবে অনেক বার আপনি হয়েছে সেখানে, বা করেছি সত্যিই কিছু. তাই এখানে counter.php হয়. আর আমার ফন্ট জুম যাক. এবং আমি এই পৃষ্ঠায়, নোটিশ রিলোড প্রতিটি সময় এটা মনে হচ্ছে কতবার আমি সেখানে ছিলাম. ওহ, এটা যে সব চিত্তাকর্ষক নয়. , এর ঠিক সেই ট্যাব বন্ধ করা যাক এবং এখন আমি কি ফিরে যেতে দেওয়া http://localhost/counter.php. ওহ, যে আকর্ষণীয়. এটা এখনও এমনকি, ধ্যাত আমি ট্যাব বন্ধ করে যদিও. এবং সত্যি, আমি ব্রাউজার বন্ধ করে যদি, সঠিক ভাবে প্রয়োগ করা হলে, আমি এখনও এই ব্যবহারকারী যে মনে রাখতে পারে সে কে ছিল প্রথম সময়, এবং শুধুমাত্র একবার আমি ক্রোম এর মেনু, ঢোকা যা উপর এখানে এখানে, এবং যান ইতিহাস, এবং ব্রাউজ করা ডেটা সাফ ক্লিক করুন আপনি কিছু থাকতে পারে অতীত, শুধুমাত্র তারপর আপনার কুকি আসলে ওয়েব সময় মুছে ফেলা উন্নয়ন. সুতরাং, আমরা শুরু করছি, যদি - এর এখানে gedit বন্ধ আপ যাক. এবং আমরা এই ফাইলে এখন যান. আমার মধ্যে যাওয়া যাক আমাদের vhosts / localhost / পাবলিক, এবং আমাকে না দেওয়া counter.php. এই একটি প্রশংসনীয় যে লক্ষ্য করুন সহজ প্রোগ্রাম. এটা খুবই সহজ ওয়েবসাইট এর. তাই ফাইলের উপরে শুধু মন্তব্য করে. কিন্তু এখানে আপনি করতে পারেন একটি নতুন লাইন , পি সেট সাত মধ্যে ইতিমধ্যে দেখা session_start (). এই পিএইচপি কোড একটি লাইন যে মূলত, ওয়েব সার্ভার করতে বলে হাত স্ট্যাম্প এবং করতে করতে ভুলবেন হাতের ছাপ পরীক্ষা করে নিশ্চিত. যে সমস্ত যে লাইন আছে, এবং এটা আমাদের জন্য যে প্রক্রিয়ার সব আছে. তারপর আমি শুধু পেয়েছেন বিজ্ঞপ্তি এখানে দুটি শাখা. যদি এই ভেতরে পাল্টা কী নামক বিশেষ বিশ্বব্যাপী পরিবর্তনশীল $ _SESSION সেট করা হয় - অর্থাৎ, কিছু মূল্য আছে আছে যদি - এর এটি পেতে যাক এবং এটি একটি স্থানীয় সঞ্চয় পরিবর্তনশীল $ পাল্টা বলা. অন্যথায়, এর $ পাল্টা ধার্য করা যাক 0 এর ডিফল্ট মান. এখন এখানে যে পিএইচপি এক দিক হল এর একটি আশীর্বাদ এবং একটি অভিশাপ উভয়. পিএইচপি একটু ভাবপ্রবণ. সুতরাং যেহেতু সি, কি হবে পাল্টা সুযোগ হয়েছে নয়তো এখানে অথবা এখানে? এটা সীমাবদ্ধ হয়ে যেত যারা কোঁকড়া ধনুর্বন্ধনী করতে. কি অনুমান? পিএইচপি, এটা এমনকি যারা বাইরে বিদ্যমান কোঁকড়া ধনুর্বন্ধনী, এখানে, এবং এখানে, এবং এখানে, এবং এখানে, এবং এমনকি নিচে নীচের. তাই আমি এই অর্থে একটি আশীর্বাদ বলা আপনি হিসাবে মনে করতে হবে না যে আমরা সপ্তাহ আগে কি হার্ড হিসাবে. কিন্তু এটি যে একটি অভিশাপ একটি বিট আপনি একটি ভেরিয়েবল ব্যবহার কোন ব্যাপার যেখানে পিএইচপি, ভালো একটি প্রোগ্রামে অন্তত, এটি জন্য বিশ্বব্যাপী অ্যাক্সেসযোগ্য ভালো বা খারাপের জন্য. সুতরাং আপনি এখন মনে রাখা যে আছে আপনার ভেরিয়েবল undefined করা সম্ভব হবে না. আপনি অন্য কোথাও তাদের সংজ্ঞায়িত থাকতে পারে. কিন্তু কি আমি শেষ পর্যন্ত কাজ করতে যাচ্ছি? আমি যে বৈশ্বিক ভেতরে সংরক্ষণ করা যাচ্ছে না একটি মান হিসাবে পরিবর্তনশীল পাল্টা ফলে মূল পাল্টা প্লাস 1 করছেন. সুতরাং এই মাত্র গাণিতিক হয় যে আছে যে কাউন্টার incrementation. এবং আমি সংরক্ষণকারী করছি যে যে ফিরে এখানে মান মানে মূলত যাও ডাটাবেস আপডেট ব্যবহারকারী 123456789 হয়েছে মনে রাখা এখানে দুই বার. এবং আমি পরবর্তী সময় আবার তা করে যখন আমি পৃষ্ঠাটি পুনরায় লোড, এটা চেক করতে যাচ্ছে আমার হাত স্ট্যাম্প এবং ওহ, বলতে, ব্যবহারকারী 123456789 এখন আছে তিনবার এখানে হয়েছে. তাই কি পিএইচপি এবং অনুরূপ ভাষায় আমাদের জন্য করছেন তারা figuring হয় হয় খুঁজে কিভাবে এবং কোথায় এবং জন্য কতদিন এই বিশেষ মান ধারণ করার জন্য superglobal. এবং এই পরবর্তী সময় superglobal আমি পাতা যান ধরণের magically হয় প্রাক জনবহুল, মান ভরা যে সেখানে আপনার পরিদর্শন শেষ সময় ছিল, যে, একটি দ্বিতীয় আগে এক সপ্তাহ ছিল কিনা আগে, বা 2013 সালে এবং আমরা এখন কথা বলছি প্রায় 2015. পিএইচপি এবং ওয়েব সার্ভার নিতে যত্ন যে সব আপনার জন্য মোট. AUDIENCE: [শ্রবণাতীত]. DAVID MALAN: পিএইচপি ভেরিয়েবল আপনি যদি না মূলত সবসময় বিশ্ব একটি ফাংশন এর ভিতর তাদের ঘোষণা, এবং তারপর তারা স্থানীয় আছেন শুধুমাত্র ফাংশন. কিন্তু আমি কোনো লেখা না করেছি, কারণ ফাংশন, তারা এখন কার্যকরভাবে হয় এখানে আমার পুরো ফাইল সারা বিশ্ব. AUDIENCE: একটি উপায় আছে কি তাদের স্থানীয় করতে? DAVID MALAN: কোনো আছে কি তাদের স্থানীয় নেওয়ার পথে? শুধু ফাংশন সেগুলি মোড়কে দ্বারা. যার সর্বশেষ সংস্করণ মধ্যে পিএইচপি, আপনার সাথে এটা করতে পারেন একটি বেনামী ফাংশন. কিন্তু এ যে আরও জাভাস্ক্রিপ্ট প্রেক্ষাপটে. কিন্তু সংক্ষিপ্ত উত্তর নেই. একটি আর উত্তর হবে হ্যাঁ. হলাম. গুড ব্যঙ্গ প্রশ্ন. ঠিক আছে. তাই সর্বশেষে, পাতা নিজেই আসলে বেশ সহজ. লক্ষ্য করুন যে আমি পিএইচপি মোড, রিকল প্রস্থান একবার নিচে যে এই জিনিস সব নীচে শুধু থুতু পেতে যাচ্ছে ব্রাউজারে কাঁচা আউট. আমি পাঠাতে চান, কারণ, জরিমানা যা ব্যবহারকারী কিছু এইচটিএমএল, কিন্তু আমি চাই না পরিবর্তনশীল যে এইচটিএমএল আপডেট করার জন্য. এবং আমি এটা করতে পারেন একটি উপায় বাছাই হয় খুব দ্রুত পিএইচপি ফিরে ঝরা মোড, ব্যবহারের খোলা বন্ধনী প্রশ্ন চিহ্ন সমান চিহ্ন, এবং তারপর আউটপুট মান কাউন্টার থেকে. অথবা এই এই, একটু রহস্যপূর্ণ দেখায় যদি সমান চিহ্ন কিছু আসলে এই জন্য অন্বিত চিনি printf ($ পাল্টা). কিন্তু অকপটে, যে অল্পমাত্র অরুপ এর এবং বিরক্তিকর একটু টাইপ. সুতরাং পিএইচপি খুব সুন্দরভাবে এই বৈশিষ্ট্য উপলব্ধ করা হয় আপনি শুধু আরো এটা বলতে পারেন যেখানে succinctly একই ভাবে. তাই এর নীচে যাওয়া ফণা? এর দ্রুত নেটওয়ার্ক তাকান এখানে counter.php জন্য ট্যাব. এবং আমাকে এগিয়ে এবং প্রথমে চলুন এর আপনার কুকিজ সাফ করা. চলুন ব্রাউজিং ডেটা সাফ করুন দেখাও সময় শুরুতে. এখন আসুন ধরে এখানে ফিরে যান. এখন আসুন পৃষ্ঠাটি পুনরায় লোড করুন. এবং আমি ফিরে শূন্য এ আছি. আমার হাত স্ট্যাম্প ধুয়ে হয়েছে কারণ, আমি এখন একটি নতুন কুকি পেতে. আমি নেটওয়ার্ক ট্যাব এ এবং প্রকৃতপক্ষে যদি প্রতিক্রিয়া হেডার, নোটিশ তাকান প্রয়োগ আমার পাঠাচ্ছে যে যার নাম কিছুটা হয় একটি কুকি ইচ্ছামত, কিন্তু ধরনের যুক্তিসঙ্গতভাবে, PHPSESSID. এবং এটা সত্যিই আমার এই পাঠানোর হচ্ছে বড় র্যান্ডম সংখ্যা. এটি পুরোপুরি একটি সংখ্যা নয়. এটা বেশ হেক্সাডেসিমেল না. এটা আলফানিউমেরিক স্ট্রিং কিছু আছে, কিন্তু সম্ভবতঃ এটা র্যান্ডম এর. এবং যে হাত স্ট্যাম্প হয় তাই আমি উল্লেখ করছি যে কথা বলা. এদিকে আমি তখন রিলোড ক্লিক করুন এবং যদি আমার দ্বিতীয় জন্য এই দ্বিতীয় লাইন তাকান এখন অনুরোধ, বিজ্ঞপ্তি যে আমার অনুরোধ হেডার PHPSESSID এই সমান অন্তর্ভুক্ত, -কুকি সেট, কিন্তু ঠিক কুকি না. এবং যে আমার ব্রাউজারের উপস্থাপনা করেন আমার হাত স্ট্যাম্প. তাই এখন একটি টিজার হিসেবে, এবং আমরা আরও কথা বলতে পারবেন এক সপ্তাহ বা তাই এই, কিন্তু সম্পর্কে কি ভাবে এই আপনি না করে অরক্ষিত, আপনার ফেসবুক একাউন্ট অরক্ষিত, এবং অন্যান্য যেমন প্রবন অ্যাকাউন্ট? AUDIENCE: কারো আপনার কুকি আছে. ডেভিড MALAN: হ্যাঁ, যদি কেউ আপনার কুকি আছে. আমি আপনাকে অনেক কিছু মত, সত্যিই মানে একটি ক্লাব বা একটি মত এ চেষ্টা হতে পারে চিত্তবিনোদন পার্ক, আপনি কিছু চেষ্টা হলে মত এই যদ্যপি স্ট্যাম্প কপি পিছন দিকে অন্য ব্যক্তির হাত সম্মুখের, এবং তারপর সে হিসাবে এটি উপস্থাপন তাদের নিজস্ব, এটা আসলে চেহারা যদি অভিন্ন, 123456789, তাহলে ওয়েব সার্ভার দৃশ্যত মাত্র যাচ্ছে যে ব্যবহারকারী আপনি যে বিশ্বাস. এবং এই সত্যিই একটি মৌলিক হল হুমকির আপনি কুকি ব্যবহার যে কোনো সময় কারণ কেউ শুধু তাই স্পুফ যদি আপনার কুকি কথা বলতে, কি এটি পরিসংখ্যান আউট সত্যিই এটা অনুলিপি দ্বারা হয়, হয় আপনার কম্পিউটার এ খুঁজছেন দ্বারা এবং ঠিক মত হচ্ছে. ডেভিড এর কুকি, তাই ঘোষণা JJ3JIK এবং এবং তারপর তারা জানেন স্মার্ট যথেষ্ট করছি কিভাবে ধরণের স্বয়ং পাঠাতে যে একটি ব্রাউজার থেকে অথবা থেকে কুকি তারা লিখতে প্রোগ্রাম, তারা সম্পূর্ণই পারে আপনি হিসাবে একটি ওয়েবসাইট লগ ইন. এটা হতে জাহির করার যে হার্ড হয় না অন্য কেউ আমরা পি সেট পরিদর্শন যদি না দুই, যা কি চালু? AUDIENCE: ক্রিপ্টোগ্রাফি. DAVID MALAN: একটু সংক্ষিপ্ত্ত্ ক্রিপ্টোগ্রাফি বিট. সরল ক্রিপ্টোগ্রাফি, অন্তত এ মানক সংস্করণে, কিন্তু ক্রিপ্টো তবু. কম. আপনি সব এনক্রিপ্ট যদি সুতরাং দেখা যাচ্ছে যে আপনি কিছু ব্যবহার করে এই হেডার এখন, SSL-র হিসাবে আরো familiarly চিনতে নিরাপদ সকেট লেয়ার, অথবা https:// URL গুলি, তারপর এই জিনিস সব আমরা চলেছি এ নেত্রপাত আসলে এনক্রিপ্ট করা হয়, যা এটা আপনার মত মানে হল হাত স্ট্যাম্প পড়তে পারে না. শুধু facebook.com পারেন, অথবা google.com, অথবা এই ক্ষেত্রে, প্রয়োগ করতে পারেন যে হাত স্ট্যাম্প পড়া. ঘটনাবহুল যদিও, এবং আবার, এই হল NSA স্টাফ সঙ্গে সব খুব উপযুক্ত শেষের দিকের, এমনকি SSL-ভঙ্গুর হয়. এবং এটা যে হার্ড আসলে না এমনকি যে এনক্রিপশন ফাটল. তাই এনক্রিপশন ক্র্যাকিং দ্বারা অনেক, নেই কিন্তু tricking দ্বারা ডিক্রিপ্ট করে ব্রাউজার তথ্য অকালে. কিন্তু আবার, আমরা আপনাকে জ্বালাতন করা হবে যে সঙ্গে দীর্ঘ আগে. এখন জন্য, শুধু ভয় পাবেন. এটা ঘটনাবহুল ধরনের সত্য. ঠিক আছে. সুতরাং, যেখানে এই আমাদের ছাড়বে? ভাল, এর এই কাজের জন্য. এর এগিয়ে যান এবং একটি দ্রুত নিতে আমরা একটি বিরতি নিয়ে টিজার আগে. এবং আমি মনে করি আমরা একটি বিট আর গড়িমসি করব আজ, কিন্তু আমরা মধ্যে আকর্ষণীয় চলুন কিছু একেবারে নতুন এবং সেক্সি, যা হবে এমনকি আরো জন্য আপনার ক্ষুধা ধার. সুতরাং যে টিজার এর. সুতরাং এসকিউএল, আমরা যে বিষয়ে কথা বলা শুরু কখনও তাই সংক্ষিপ্তভাবে শেষ সময়. আপনি সত্যিই আপনার হাতে ময়লা হয়ে উঠবেন পি সেট সাত মধ্যে এটা কিছু. এবং অ - বিশেষজ্ঞ এর ভাষায়, কি এসকিউএল আছে - S-q-এল - আপনার জন্য কিছু? এটা কি? হ্যাঁ. AUDIENCE: আপনি অ্যাক্সেস তথ্য দিন. ডেভিড MALAN: হ্যাঁ. এটা এর আপনি একসেস তথ্য দেওয়া একটি ডাটাবেসের মধ্যে. অনুসন্ধান ভাষা স্ট্রাকচারড. এবং এই মূলত একটি প্রোগ্রামিং ভাষা. এটা বৈশিষ্ট্য আছে যে এমনকি আমরা ক্লাসে ব্যবহার করবে না. তবে আপনি যদি কার্যকরভাবে পারেন ফাংশন নির্ধারণ করুন. তারা সংরক্ষিত নামক করছি এসকিউএল মধ্যে পদ্ধতি. কিন্তু আমরা মোটামুটি সহজ এবং শুধু এটি যাব কিছু মৌলিক অপারেশন জন্য এটি ব্যবহার ,, তথ্য নির্বাচন তথ্য ঢোকাতে চাই তথ্য আপডেট, এবং তথ্য মুছে ফেলার. এবং যদি আপনি সত্যিই একটি ডাটাবেস মনে করতে পারেন, একটি SQL ডাটাবেস মত, ঠিক যেমন মাইক্রোসফট এক্সেল হচ্ছে. এসকিউএল একটি রিলেশনাল বোঝায় কারণ ডাটাবেস, যেখানে সম্পর্ক শুধু টেবিল মানে. সারি এবং কলাম. তাই কিছু আপনি একটি স্প্রেডশীট মধ্যে লাগাতে পারেন এই বা Google ডক্স মত, যদি আপনি একটি SQL ডাটাবেস পুরা পারে একটি টেবিল ঘোষণা করে. এখন, কিভাবে আপনি আসলে অ্যাক্সেস করবেন যে তথ্য? ওয়েল, কমান্ড দিয়ে বা এই মত প্রশ্ন. নির্বাচন সন্নিবেশ করুন, আপডেট, এবং মুছে. এবং অধিকাংশ অংশ জন্য, যারা আপনি করতে হবে চার শুধুমাত্র উপাদানগুলো বেশ জোরে কিছু করতে সমস্যা সাত সেট. এখন আবার দিন, আপনি আসলে would একটি একটি ডাটাবেসের সাথে যোগাযোগ এ কালো এবং সাদা টার্মিনাল উইন্ডোর ভালো একটি জ্বলজ্বলে প্রম্পট. এবং আমরা উপর চালাচ্ছেন ডাটাবেস যন্ত্র, যা মাইএসকিউএল বলা হয় মুক্ত ও ওপেন সোর্স ডাটাবেস ইঞ্জিন. আপনি গুগুল এবং উইকিপিডিয়া পড়তে হলে নিবন্ধ, আপনি নামের যে জানতে পারবেন কিছু জন্য ট্রানজিশন একটি বিট Linux-র সংস্করণ. মারিয়া ডাটাবেস আসলে একটি মাইএসকিউএল এর কথা বলতে এত মাল. লং সংক্ষিপ্ত বিবরণ, ওরাকল মাইএসকিউএল কেনা. ওরাকল একটি বড় কোম্পানী আছে. মানুষ এটা হবে চিন্তিত হয়েছে আর, বেশ ওপেন সোর্স থাকা তাই এই যে মাইএসকিউএল শুধু কপি হয় এখনও বিনামূল্যে এখনও ওপেন সোর্স, এবং ডিফল্টরূপে ফেডোরা লিনাক্স ইনস্টল. কিন্তু এই একটি ব্যথা ধরনের একটি সাথে পরিচিত করতে ঘাড় ডাটাবেসের এই ভাবে. সুতরাং আমরা CS50 অ্যাপ্লায়েন্স মধ্যে অন্তর্ভুক্ত নামক একটি মুক্ত ওপেন সোর্স টুল phpMyAdmin. শুধু কাকতালীয় যে এটি পিএইচপি লেখা. কোন মৌলিক আছে এখানে পিএইচপি জন্য প্রয়োজন. কিন্তু শুধু এই একটি ওয়েব ভিত্তিক টুল যে আমরা ইনস্টল, বিনামূল্যে ডাউনলোড আমাদের করতে সক্ষম হবেন যে যন্ত্র, একটি গ্রাফিক্যাল ইউজার ইন্টারফেস যা দিয়ে পি সেট সাত ডাটাবেসের সঙ্গে অন্বেষণ যা নতুন উপাত্ত তৈরি করতে, আপনার নিজস্ব চূড়ান্ত প্রকল্পের জন্য বলতে আপনি চাই যদি মত, এবং পরিণামে তৈরি CS50 ফাইন্যান্স মত গতিশীল ওয়েবসাইট আপনি তথ্য অনুসন্ধান করার অনুমতি দেয় এবং যে পরিবর্তনশীল তথ্য আপডেট করুন. আপনি ব্যবহার আছে চলুন না শুধু একটি সহজ টেক্সট ফাইল অথবা CSV. আপনি আসলে একটি স্মার্ট ডাটাবেস ব্যবহার করতে পারেন আপনি আরো নির্বাহ করতে পারেন প্রোগ্রাম যাতে শুধু পড়া আর অত্যাধুনিক প্রশ্ন সুসংগত ভাবে সবকিছু মাধ্যমে. সুতরাং উদাহরণস্বরূপ, এই আমরা দিতে কি পি সেট সাত জন্য বাক্স আউট আপনি. এই দৃশ্যত অন্তত সঙ্গে একটি টেবিল হয় যার মধ্যে তিনটি কলাম, ব্যবহারকারীর নাম, যা এক, হ্যাশ হয় এবং অন্যান্য যা আইডি হল. কিন্তু মজার ব্যাপার হল, এবং মাত্র যাও এখানে এক চিন্তার বাইরে জ্বালাতন, ব্যবহারকারীর নাম অধিকার, সম্ভবতঃ ইতিমধ্যে অনন্য? আমি বলতে চাচ্ছি, অধিকাংশ কোনো ওয়েবসাইট, যদি আপনি সেখানে একটি ব্যবহারকারীর নাম আছে দুই Caesars হতে পারে না. দুই malans পর্যন্ত হতে পারে না. দুই jharvards পর্যন্ত হতে পারে না. তার অনন্য. অন্যথা, তারা জানে না, যা jharvard এটা আসলে. তাই এটাও জন্য প্রেরণা হতে পারে বাম তৃতীয় কলামে হচ্ছে একটি মতো দেখতে সেখানে বলা আইডি, একইভাবে অনন্য যে এর সংখ্যা? এটা একটা সামান্য অপ্রয়োজনীয় মনে প্রথম নজরে সম্পর্কে যাও. কেন এটা আছে আকর্ষক হতে পারে না শুধুমাত্র স্বতন্ত্র ব্যবহারকারীর নাম, অনন্য সংখ্যা কিন্তু? AUDIENCE: তারা থাকতে পারে একই পাসওয়ার্ড. DAVID MALAN: মানুষ থাকতে পারে একই পাসওয়ার্ড, নিশ্চিত. এটা একেবারে ঘটতে পারে. কিন্তু তারা এই অনন্য ব্যবহারকারীর নাম আছে, আমি যে সত্যিই আছে না যে তর্ক করবে ব্যাপার, কারণ তারা টাইপ করে যদি তাদের ব্যবহারকারীর নাম, আমি শুধুমাত্র চেক প্রয়োজন তাদের পাসওয়ার্ড, উহার তাদের হ্যাশ. কেন অন্য? AUDIENCE: আরও দ্রুত অনুসন্ধান. DAVID MALAN: আরও দ্রুত অনুসন্ধান. কেন? AUDIENCE: আইডি মাত্র একটি. DAVID MALAN: আইডি শুধু একটা চরিত্র, অথবা আরো ভালো হবে, এটি একটি নম্বর আছে, তাই সম্ভবত এটি 32 বিট অথবা যে ভালো কিছু. যেহেতু আপনার ব্যবহাকারীর নাম, দৃশ্যত জেসন Hirschhorn এর আপ ধরণের আছে ridiculously দীর্ঘ, এবং এটি যাচ্ছে স্ট্রিং সম্পর্কে অনেক বেশি সময় লাগবে হয়ত এইচ-আমি-r-s-সি এইচ-h-O-চালিয়ে কিছু r-n তুলনা, এবং যাতে সেই মতো একটি / 0 বা কিছু, উল্টোদিকে, জেসন সন্ধান মাত্র এই বলে আমার ব্যবহারকারীর সংখ্যা দুই দিন. যে 32 বিট এর. এটি একটি একক INT যে আপনি তুলনা করতে হবে. এবং সত্যিই, যে ঠিক কেন উপাত্ত অনন্য ID-র দায়িত্ব অর্পণ ঝোঁক তাদের মধ্যে সারি. এখন অন্য ধরনের তথ্য কি আছে দৃশ্যত INT এবং এর পাশাপাশি ভালো স্ট্রিং? ভাল, আরো সঠিক হতে, মত এসকিউএল উপাত্ত, মাইএসকিউএল, গৃহস্থালির কাজ ক্ষেত্র আছে. আর misleadingly একটু গৃহস্থালি একটি একক CHAR নয়. একটি মাইএসকিউএল ডাটাবেসের মধ্যে একটি গৃহস্থালি ক্ষেত্র এক বা একাধিক অক্ষর, কিন্তু এটি একটি আছে অক্ষরের নির্দিষ্ট সংখ্যা. সুতরাং উদাহরণস্বরূপ, আমি উপর যেতে যদি করতে যদি আপনি ইতিমধ্যেই আছে, অথবা হতে পারে phpMyAdmin হিসাবে শীঘ্রই একটি সমস্যা সাত সেট, এবং আমি যেতে হবে আমার ডাটাবেসের সাথে, এবং মজা করার জন্য, এর নামে একটি নতুন টেবিল তৈরি করা যাক মাত্র দুই কলাম সঙ্গে পরীক্ষা. আমি তারপর যান ক্লিক করব. এবং এই মোটামুটি পরিচিত হয়ে যাবে, আপনি মেরামত বিশেষত হিসাবে কাছাকাছি আপনার নিজের উপর. এখানে আমি তৈরি আইডি টাইপ পারে টাইপ int-এর একটি নতুন টেবিল. কিন্তু এখানে আমি করতে ব্যবহারকারীর নাম টাইপ করুন পারে যে আগে টেবিল পুনঃ. এবং আমি আভা আছে বিজ্ঞপ্তি থেকে পছন্দ করে নিন ধরনের. এবং এই খুব কেন phpMyAdmin ধরনের সুন্দর. এটা যে আপনি মধ্যে স্ব - শিক্ষণ ধরনের শুধু ধরনের বিন্দু, এবং ক্লিক করুন, এবং পারেন ড্রপডাউন মেনু তাকান, এবং থেকে আবিষ্কার যে কি ক্ষমতা এসকিউএল আপনি আপনি. এবং সত্যিই, আমি CHAR পছন্দ করেন তাহলে, আমি তখন দৈর্ঘ্য, বা কিভাবে নির্দিষ্ট করতে হবে অনেক মান, কতগুলি অক্ষর. তাই খুব সাধারণ মানের মত জিনিস 255, কিন্তু যে একটু দীর্ঘ. সাধারণভাবে একটি ব্যবহারকারীর নাম জন্য আটটি করে. কিন্তু যে এই দিন একটু ছোট. তাই এই একটি নকশা সিদ্ধান্ত. এটি, 8 অক্ষরের সর্বোচ্চ হয় 32, 255, 1000? এটা আপনার উপর সত্যিই আছে. কিন্তু একটি গৃহস্থালি ক্ষেত্রের একটি নির্দিষ্ট সংখ্যা. তাই খুব অল্প নির্বাচন করুন এবং আপনি ধরনের করছি আপনি একটি লম্বা ইউজারনেম চান মাতাল. বেছে নিন অনেক এবং কি downside হয়? AUDIENCE: [শ্রবণাতীত]. DAVID MALAN: এটা অযথা এর. শুধু সি চান, তাহলে আপনি একটি বড় আছে মেমরি খণ্ড আপনি প্রয়োজন, আপনি আছেন শুধু সময় নষ্ট এবং স্পেস নাশক. তাই বিকল্প হিসাবে, সেখানে বিদ্যমান দ্বারা এই সমস্যা solves যা VARCHAR, , একটি নির্দিষ্ট দৈর্ঘ্যের হিসাবে দৈর্ঘ্য না চিকিত্সা কিন্তু সর্বোচ্চ দৈর্ঘ্য, এবং একটি ব্যবহার হিসাবে পরিবর্তনশীল অক্ষর সংখ্যা, যার তারপর আপনি হিসাবে শুধুমাত্র হিসাবে অনেক অক্ষর ব্যবহার থাকে আসলে প্রয়োজন. এটা একেবারে শোনাচ্ছে. কেন আমরা পরিত্রাণ পেতে না CHAR তথ্য তারপর টাইপ? কি downside হয় হতে পারে এটাতো যা VARCHARs, ব্যবহার এটা একটা চমৎকার জয়? হাঁ? AUDIENCE: [শ্রবণাতীত]. DAVID MALAN: ঠিক আছে, ভাল. সুতরাং আপনার তথ্য সব একই, যদি দৈর্ঘ্য, চিন্তার বিষয় কি? AUDIENCE: আপনি নষ্ট করছেন কারণ তাদের সমস্ত কহন দ্বারা তথ্য. DAVID MALAN: সুতরাং আপনার তথ্য সব যদি একই দৈর্ঘ্য, যদিও, আমি তর্ক করবে যে সর্বোচ্চ দৈর্ঘ্য উল্লেখ VARCHAR থেকে কোন পার্থক্য নাই CHAR নেভিগেশন একটি নির্দিষ্ট দৈর্ঘ্য উল্লেখ করে যদি আপনি আগাম যে সংখ্যা জানি. কিন্তু প্রকৃতপক্ষে, এবং আমি বাছাই করব যে উত্তর থেকে বাস্তবতা নিষ্কাশন একটি সবের্াচ্চ এখনও আছে যে, যা পারা বিশেষ করে আপনি যদি বিরক্তিকর হতে যে একজন ব্যক্তির নাম সম্মুখীন আপনি না যে অসাধারণভাবে দীর্ঘ কহা. এবং এটা আরও একটু কম দক্ষ না আসলে হিসাবে VARCHARs নেভিগেশন অনুসন্ধান , অনুসন্ধান অক্ষর থেকে ভিন্ন, বিশেষ করে অনেক আছে এবং যে দীর্ঘ টেবিলের জন্য তথ্য প্রচুর. তাই এখানে খুব, বিষয়ভিত্তিক আবার হয় কোন সুস্পষ্ট পছন্দ. তাই শুধু আপনি অন্যান্য একটা ধারনা দিতে সুদ হতে পারে এমন ধরনের তথ্য নয়তো জন্য পি সেট সাত বা ইন ভবিষ্যতে, INT আছে. সমাধানের দুটি অ্যালগরিদম, আছে যা দীর্ঘ দীর্ঘ ভালো হয়. এটা 64 বিট হতে থাকে. আপনি দেখতে পাবেন যা দশমাংশ, এর রয়েছে অনেক যা সমস্যা সেট, সমস্যার ক্লিনার উত্তর আমরা ভাসা ও ভাসমান সঙ্গে সম্মুখীন অনির্দিষ্টতা নির্দেশ. এবং তারপর datetime আছে. আছে একটি ডাটা টাইপ আক্ষরিক আছে এক বছরের মত দেখতে একটি মাস, একটি দিন, এবং একটি ঘন্টা, মিনিট, এবং দ্বিতীয়. কিন্তু এসকিউএল উপাত্ত এছাড়াও আছে জিনিস আমরা সূচী ডাকবো. এবং একটি সূচক যে আপনি এমন কিছু বিষয় টেবিল তৈরি করার সময় উল্লেখ করুন অনুসন্ধান এবং অন্যান্য কাজকর্ম করা আরো দক্ষ. বিশেষ করে, কিছু বলা আছে আপনি পারা প্রধান সূচী নিম্নরূপ ঘোষণা. আমরা সঙ্গে আপনার জন্য এই কি ব্যবহারকারীদের টেবিল আমরা আপনাকে দিতে. আমি নিজে recreating হয়েছে কিনা কিন্তু লক্ষ্য করা এখানে দেবার ব্যবহারকারীদের টেবিল এটি ব্যবহারকারীদের একটি নাম. আমি ইতিমধ্যে আইডি উল্লেখ. আমি int নির্দিষ্ট. আমি সাথে ব্যবহারকারীর নাম উল্লেখ সর্বোচ্চ 32 টি অক্ষর. কিন্তু আমরা রাখতে হলে মোটামুটি এই মধ্যে স্ক্রলিং প্রশস্ত জানালা, নোটিশ একটি আছে আমি নির্দিষ্ট করতে পারেন অন্যান্য জিনিস গুচ্ছ. এক, আমি গুণাবলী নির্দিষ্ট করতে পারেন যেমন, আপনি কি, এই জানি INT স্বাক্ষরবিহীন হওয়া উচিত. আমি ঋণাত্মক সংখ্যা চাই না, তাই আসুন এটা স্বাক্ষরবিহীন করা যাক. নাল এখানে প্রাসঙ্গিক নয় আমি প্রত্যেক ব্যবহারকারীর চান অদ্বিতীয় সংখ্যা আছে. আমি এটা নাল হতে না চান. কিন্তু এই আকর্ষণীয়. আমি আইডি হয় যে নির্দিষ্ট করতে পারেন প্রাথমিক এই ডাটাবেসের কী, বা এটা অনন্য, অথবা এটি সূচীবদ্ধ, বা সম্পূর্ণ লেখা হচ্ছে. তাই আজকের উদ্দেশ্যে, দীর্ঘ বিবরণ সংক্ষেপে, প্রাথমিক মানে এই হইবে উভয় ধারণার দিক এবং টেকনিক্যালি করা আমরা এককভাবে ব্যবহার যে ফিল্ড ব্যবহারকারীদের সনাক্ত করা. আমরা ব্যবহারকারীদের সন্ধান যখন সুতরাং, এই ধরণের দ্বারা বেশিরভাগই তাদের সন্ধান করার একটি প্রতিশ্রুতি যে অনন্য শনাক্তকারী. এবং ডাটাবেস নিশ্চিত করবে যে আপনি যদি একটি ব্যবহারকারীর সংখ্যা 3 আছে, আপনি না করতে পারেন শারীরিকভাবে অন্য ব্যবহারকারীর সন্নিবেশ যে একই সংখ্যা 3 দিয়ে. ডাটাবেস শুধু অস্বীকার করবে আপনার পরিবর্তনগুলি সংরক্ষণ করতে. আপনি যা করতে পারেন, কারণ ভালো কোনটি নিজের থেকে নিজেকে বাঁচাতে. স্ব অথবা, ব্যবহারকারীর নাম জন্য. তাই দ্বিতীয় সারি, রিকল, ব্যবহারকারীর নাম ক্ষেত্র. তাই এখানে দ্বিতীয় সারির ব্যবহারকারীর নাম হয়, আমরা এ পর্যন্ত সেখানে বাকি নেভিগেশন করেনি. তাই কি কি আমি উল্লেখ করতে চাইতে পারেন? আমি এসকিউএল অনুযায়ী অনুমোদিত করছি না দুটি প্রধান নির্দেশক নির্দিষ্ট করতে. আপনি একটি যৌথ কী উল্লেখ করতে পারেন যেখানে আপনি উভয় ক্ষেত্র তাকান, কিন্তু তারা করতে পারেন না পৃথকভাবে প্রাথমিক কী হতে. সুতরাং যে প্রশ্নের আউট. তাই যা আমি চয়ন করতে চাইবেন? ওয়েল, একটি স্বতন্ত্র আত্মা মধ্যে একটি অনুরূপ আপনি এই নির্দিষ্ট যেখানে প্রাথমিক কী যদি ক্ষেত্রের কিছু r অনন্য হইবে, কিন্তু এটা এক করা যাচ্ছে না আমি সব সময় ব্যবহার করুন. এবং আমরা এই এক সব ব্যবহার করতে যাচ্ছেন না সময় আবার কি কারণে? যদি এটা সম্ভাব্য ধীর এর এটি একটি দীর্ঘ করুন আপনার ব্যবহাকারীর নাম আছে. এটি শুধু সময় নষ্ট হবে. সূচক, এদিকে, যে এটা নির্ধারণ করা হয় অনন্য হতে যাচ্ছে, কিন্তু আমি চাই না আপনি পুনরায় নীচের স্তরের আপনার জাদু কাজ আমার জন্য এটি দ্রুত করতে ফণা এই ক্ষেত্র নেভিগেশন সন্ধান করুন. তাই এই সম্ভবত এখানে প্রাসঙ্গিক নয়. আপনার ব্যবহাকারীর নাম, আমি তর্ক করতে চাই অনন্য একটি ভাল উত্তর. কিন্তু আমরা ব্যবহারকারীদের আরো যে অনুমান করা শুধু ব্যবহারকারীর নাম আর আকর্ষণীয়, হ্যাশ, এবং আইডি নম্বর. আমরা কি মানুষ পুরো নাম দেয় তাহলে কি হবে? আমরা দিয়েছিলেন যদি তাদের কি ঠিকানাগুলি এবং তাদের বিষয়ে অন্যান্য তথ্য? হ্যাঁ, আপনি নির্দিষ্ট করেন যে একটি কলাম ডাটাবেস সূচীবদ্ধ করা হয়, এর মানে হল যে যে মাইএসকিউএল, ওরাকল বা, বা যাই হোক না কেন ডাটাবেস আপনি ব্যবহার করছেন, তার জাদু কাজ করা উচিত এবং অভিনব তথ্য কিছু ব্যবহার একটি গাছ, বা একটি trie মত গঠন, বা একটি হ্যাশ টেবিল, বা গ্যারান্টি কিছু যে আপনি ব্যবহার করে তথ্য অনুসন্ধান করে যে বিশেষ ক্ষেত্র নির্বাচন করুন - আমার সম্পর্কে প্রদর্শন সবাই চাই অক্সফোর্ড স্ট্রিটের জীবন. যে মত একটি প্রশ্ন. আপনি আগাম উল্লেখ করে থাকেন যে আপনি যে ক্ষেত্রের উপর একটি সূচক চান, অনুসন্ধান, অনেক অনেক দ্রুততর হবে. আপনি একটি সূচক, শ্রেষ্ঠ উল্লেখ না করা হলে আপনি কি করতে পারেন একটি রৈখিক খোঁজো যদি এটি সাজানো না. কিন্তু আপনি INDEX নির্দিষ্ট করেন, স্মার্ট ডাটাবেস তৈরি যারা - এখন গাছ জানি যারা আপনার মত মানুষ এবং চেষ্টা এবং হ্যাশ টেবিল - স্বয়ংক্রিয়ভাবে এই ধরনের একটি তথ্য নির্মাণ করা হবে নিশ্চিত করুন যে আপনি RAM-র মধ্যে গঠন যারা অনুসন্ধান অনেক দ্রুত হয়. FULLTEXT এদিকে, আত্মা অনুরূপ কিন্তু আপনি ওয়াইল্ডকার্ড করতে পারবেন অনুসন্ধান, আমাকে প্রদর্শন সবাই চাই দিয়ে শুরু যে রাস্তায় এ জীবন কোন কারনের জন্য অক্ষর হে. আপনি ওয়াইল্ডকার্ড অনুসন্ধান করতে পারেন যে চাই. শো মত বা আরও আকর্ষক বিষয় আমার সম্পর্কে শব্দ আছে সবাই কে - আমার সম্পর্কে যার নাম শুরু হয় প্রদর্শন সবাই একটি নির্দিষ্ট অক্ষর. আপনি কীওয়ার্ড অনুসন্ধান করতে পারেন এই ভাবে. ঠিক আছে. সুতরাং, নকশা সুযোগ সেখানে সম্ভাব্য. আমি করব অন্যদের আছে আমার হাত তরঙ্গ. এটি আপনি থাকতে পারে দেখা যাচ্ছে যে বিভিন্ন স্টোরেজ ইঞ্জিন. এবং এই আমরা প্রয়োজন আরো বেশী রহস্যময় হয় অবশ্যই সমস্যার জন্য সাত সেট. ডিফল্টরূপে, আপনাকে বলছি ব্যবহার করছেন InnoDB কিছু বলা. আপনি কোথাও এই উল্লেখ দেখতে পাবেন phpMyAdmin এর ইন্টারফেস সম্ভবত. কিন্তু অন্য নকশা আছে জানি যে সম্ভাব্য যে সিদ্ধান্ত সুদ যদি চূড়ান্ত প্রকল্প আসা আপনি কিছু ওয়েব ভিত্তিক কাজ. কিন্তু এই কাজ করতে দিন. চলুন শুরু করা যাক এগিয়ে যান এবং এই করা একটি গল্পের জন্য একটি টিজার হিসাবে পর্দা আপনি যদি একই ঘরে বাসিন্দা, জড়িত এবং দুধ এক গ্লাস. এর দুই মিনিট সময় নিতে চলুন শুরু করা যাক অথবা, তাই এখানে বিরতি. এবং আপনি কাছাকাছি থাকা করতে পারেন, এর থেকে আসা যাক, ফিরে, এসকিউএল একটি বিট আরো তাকান, এবং জাভাস্ক্রিপ্ট তারপর একটি বিট সঙ্গে মনের মধ্যে আট P-সেট. ঠিক আছে. সুতরাং, আপনি একটি সম্পর্কে চিন্তা পেতে খুব সহজেই arise তে পারে যে কোণ ক্ষেত্রে একটি ডাটাবেস ব্যবহার প্রেক্ষাপটে, বা সত্যি, এমনকি বাস্তব বিশ্বের জিনিষ ব্যবহার করে এটিএম অর্থ পেতে চান. তাই এখানে একটি ফ্রিজ আছে. আপনি খুব এক পেয়েছেন ধরুন আপনার আস্তানায় বা আপনার ঘর. এবং আপনি এক একই ঘরে বাসিন্দা, এবং উভয় পেয়েছেন আপনি উদাহরণস্বরূপ দুধ সত্যিই চাই. তাই আপনি যদি এক দিন ক্লাস থেকে বাড়িতে আসে. তিনি এখনো ফিরে না. আপনি ফ্রিজ খুলুন. আপনি সত্যিই দুধ বড় গ্লাস চাই. কোন দুধ আছে. সুতরাং আপনি কি করবেন? আপনি রেফ্রিজারেটর বন্ধ. আপনি আপনার কি দখল. আপনি বর্গাকার যেতে আউট. এবং আপনি ঐ সময়ে CVS লাইনে পেতে সেল্ফ চেকআউট জিনিষ, যা সবসময় আর আসলে আর নিতে ক্যাশিয়ার জমিদারি. যাহাই হউক না কেন. আমি তখন এদিকে, বিন্দু বিন্দু বিন্দু, আপনার একই ঘরে বাসিন্দা বাড়িতে আসে এবং সে একইভাবে একটি hankering আছে কিছু দুধ জন্য. তাই সে, রেফ্রিজারেটর প্রর্দশিত ভিতরে দেখায়, এবং উহু, অভিশাপ. কোন দুধ. সে খুঁজে মাথা সুতরাং, যেতে হবে অন্যান্য CVS যাও, যা শুধুমাত্র একটি ছিল বা কোনো কারণে দূরে ব্লক, এবং তিনি তিনি কিছু দুধ কিনতে লাইনে পায়. ইতিমধ্যে, আপনি সে, বাড়িতে আসা সে বাড়িতে আসে, এবং কি করবেন আপনি শেষ পর্যন্ত আছে? দুধ দুইবার হিসাবে অনেক. কিন্তু আপনি কি সত্যিই পছন্দ করি না দুধ যে অনেক. তাই এখন আপনি যে এখন এত দুধ আছে তাদের এক মাত্র চুকা যেতে যাচ্ছে অবশেষে. তাই এই একটি সত্যিই খারাপ সমস্যা. রাইট? সুতরাং এখানে কি হচ্ছে? সুতরাং মৌলিকভাবে, এই ধরনের একটি হাস্যকর উদাহরণ. কিন্তু ফণা নীচে, আমরা কি ছিল করেছি এখানে ঘটতে আপনি উভয় পরীক্ষা করা হয় কিছু অংশ রাষ্ট্র মেমরি, ফ্রিজ. আপনাদের উভয়ের অবস্থা চেক করা কিছু পরিবর্তনশীল. আপনি উভয় একটি উপসংহার সৃষ্টি আপনি তারপর নেভিগেশন অভিনীত যে. কিন্তু দুর্ভাগ্যবশত, যখন আপনার একই ঘরে বাসিন্দা দোকান, যে অবস্থা ছিল পরিবর্তনশীল পরিবর্তন, তিনি ফিরে আসেন এবং এখন রাষ্ট্র পরিবর্তন করতে চায়, কিন্তু আছে ইতিমধ্যে এটি পরিবর্তন করা হয়েছে তাকে বা তার. এবং অবশ্যই, সে হবে না তারা জানত যদি দোকান থেকে চলে গেছে আপনি যদি রুট স্বীকারোক্তি ইতিমধ্যে ছিল. তাই বাস্তব জগতে, আপনি কি করে পারে আপনি অভিমানী, এই সমস্যা এড়ানোর একটি রেফ্রিজারেটর, আপনি একটি একই ঘরে বাসিন্দা আছে, এবং আপনি আসলে দুধ চান? শ্রোতা: যোগাযোগ. DAVID Malan: যোগাযোগ. ঠিক আছে. কিন্তু কিভাবে আপনি যোগাযোগ করতে পারে? শ্রোতা: একটি নোট রাখুন. DAVID Malan: ঠিক আছে, একটি নোট ত্যাগ করবেন? সর্বদা জন্য একটি নোট ছেড়ে শো সমর্থকদের. ডান সব, তাই সবসময় একটি নোট ছেড়ে, বা একটি padlock বা কিছু মত সত্যিই করা আপনার যে রাখে ফ্রিজ নেভিগেশন অবস্থা পরিদর্শন থেকে একই ঘরে বাসিন্দা যে পরিবর্তনশীল. এখন, কেন এই germane হতে পারে সমস্যা সেট সাত, অথবা এটিএম থেকে. ওয়েল, একটি এটিএম যেখানে একটি বিশ্বের কথা ভাবুন আপনি যদি একটি এটিএম পর্যন্ত যেতে সক্ষম হতে পারে এখানে মেশিন, এবং এখানে অন্য এটিএম. এবং এই বেশ প্রায়ই ঘটে. এবং, আপনি দুই এটিএম কার্ড ছিল ঠাউর যা থেকে প্রাপ্ত করা সম্ভব. এবং যদি আপনি উভয় মেশিনে লগ ইন কার্যকরভাবে একই সময়ে, আশা কোন এক খুঁজছেন সময়. এবং তারপর আপনি আপনার পিন টাইপ প্রায় একই সময়ে. এবং তারপর আপনি একটি ভারসাম্য ক্যোয়ারী করতে আপনি কত নগদ দেখুন. এবং এর যাক আপনি $ 100 আছে আপনার অ্যাকাউন্টে বামে. তাই মূলত একযোগে, আপনি এক বলে, শূন্য, শূন্য, লিখুন. এবং আপনি আশা কিছু টাকা ফেরত পেতে পারেন. কিন্তু আপনাকে ফেরত কত টাকা পেতে পারে? দিনের শেষে এখন কম্পিউটার, তারা কথা বলছি, বিশেষ করে যদি সার্ভার, অগত্যা কিছু করবেন না যাতে প্রত্যাশিত না. তাই কারণ, কি অনুমান করা সেখানে যাই হোক না কেন নেটওয়ার্ক গতি বিষয় আছে, অথবা আছে CPU-র বিষয়, বা যে মত কিছু, আমি অনুমান যে প্রথম এটিএম আপনার ব্যালেন্স এবং পরীক্ষা উদ্ধার, ওহ, এই ব্যক্তির $ 100 আছে. কিন্তু তারপর বিভ্রান্ত পরার হয়তো কারণ একটি ব্যাকআপ ঘটছে হয় এবং তাই এটা গতি কমে যাচ্ছে. বা হয়তো, নেটওয়ার্ক পরীক্ষা করার সময় সংযোগ একটু ধীর পেয়েছিলাম কারণ এই মাত্র ঘটে. তারা প্রকৃত ডিভাইস করছি. তাই এদিকে, দ্বিতীয় এটিএম হয় একই প্রশ্ন জিজ্ঞেস করে. ডেভিড কত টাকা আছে? উত্তর $ 100. কিন্তু প্রথম এটিএম না কোনো কারণ পাঠান, উভয় $ 100 বিয়োগ পাঠানো ATM সমূহ, ব্যাংক এর খিলান পরিদর্শন করেছেন $ 100 আছে আছে দেখছি, এবং এখন উভয় মেশিনের সম্ভাবনা আছে একটি উত্তর থুতু যাচ্ছে. এখন, এই কিছু অর্থে আপনার জন্য মহান ব্যাংক শেষ পর্যন্ত কি যদি দ্বারা বিয়োগ 100 পরিমান পরিবর্তন হয় আপনার সমান পরিবর্তনশীল সেটিং 0 সমান ব্যাংক অ্যাকাউন্ট, হিসাবে বিরোধিতা 100 বিয়োগ করছেন. এখন ব্যাংকের জন্য লক - বা ব্যাংক জন্য শ্রেষ্ঠ মধ্যে এদিকে, তারা আপনাকে $ 200 দিতে, এবং আপনার ব্যাংক একাউন্ট এখন নেতিবাচক দেখায় সত্যিই হয় না $ 100, এ সব আপনি উপকার. কিন্তু বিন্দু যে এই জাতি দুই রুমমেট পাওয়ার জন্য শর্ত দুধ, বা দুই জন্য এটিএম নগদ পেতে চেষ্টা এবং একটি খিলান অবস্থা পরিবর্তন একই সময়ে কোনো বিদ্যমান সময় আপনি একটি ডাটাবেস আছে. এখন সমস্যা, এই সমস্যা সাত সেট অর্থে দেখা দেয় দুটো কারণে যে আপনি একটি কিনতে তারপর ফেসবুক স্টক ভাগ, এবং জন্য উদাহরণস্বরূপ, আপনি একটি দ্বিতীয় ভাগ কিনতে ফেসবুক স্টক, আপনি করতে হবে প্রোগ্রামার হিসেবে একটি সিদ্ধান্ত. আপডেট করার জন্য কীভাবে স্থির করার ডাটাবেসের মধ্যে মতভেদ আপনি চলুন হয় এক যে স্টক জন্য সারি, এবং এই আছে এটা বাস্তবায়ন করার জন্য একটি পদ্ধতি. এবং আপনি এক ভাগ আছে চলুন তাদের স্টক টিকচিহ্ন প্রতীক যা FB, এই আপনার ব্যবহাকারীর নাম, বা এই ব্যবহারকারীর জন্য আইডি, অনন্য শনাক্তকারী. কিন্তু একই গল্প এখানে ঘটতে পারে. আপনি দেখতে পাবেন হিসাবে আপনি একটি, এসকিউএল মধ্যে বাছাই করুন করেন তাহলে আপনি দেখতে যখন সমস্যা, সাত সেট উহু, ডেভিড এক ভাগ আছে ফেসবুক স্টক. আমাকে এখন, দুই শেয়ার করা এই পরিবর্তন চলুন শুরু করা যাক তিনি একটি কিনতে চায়, কারণ দ্বিতীয় ভাগ. কিন্তু ডেভিড আসলে দুটি ছিল ঠাউর ব্রাউজার উইন্ডো খোলা, বা অনুমান যে এটা দুই স্বামীদের সঙ্গে যৌথ অ্যাকাউন্ট এবং তাদের উভয়ের সঞ্চালন করার চেষ্টা করছেন একই অপারেশন আছে, খুব,, সম্ভাব্য হতে একটি সিদ্ধান্তের জন্য বিদ্যমান পূর্ববর্তী উপর ভিত্তি করে তৈরি বিশ্বের রাষ্ট্র - একাউন্টটি ভাগ আছে - এবং এখন উভয় মানুষ, অথবা উভয় সার্ভার, দুই শেয়ার তা বাড়ায় বলতে চেষ্টা করুন. কিন্তু এই ক্ষেত্রে, আপনি অভিযুক্ত হতে পারে আমার সম্পর্কে উভয় শেয়ারের জন্য টাকা, কিন্তু আছে শুধু যে এক সময় incremented. তাই সংক্ষিপ্ত, মৌলিক সমস্যা এখানে, একটি ছাড়ার বিষয়ে রসিকতা সঙ্গে মনে রাখবেন, অথবা এটি একটি padlock নির্বাণ হয়, যদি দুটি মানুষ, অথবা দুই থ্রেড - স্ক্র্যাচ ফিরে মনে হয় - কিছু পরিবর্তনশীল অবস্থা পরীক্ষা করতে পারেন এবং তারপর যে পরিবর্তনশীল পরিবর্তন করার চেষ্টা করুন কিন্তু যারা এ দুটি জিনিস ঘটতে না একই সময় বাধাগ্রস্থ করতে পারেন কিন্তু অন্যান্য বিষয় ঘটছে দ্বারা, ডাটা করতে পারেন একটি খুব অদ্ভুত দশায় পেতে. এবং আপনি উপকৃত হতে পারেন, অথবা আপনি সম্মুখীন হতে পারে অর্থ উদাহরণ অর্থে. সুতরাং সমস্যা সেট সাত, আমরা আপনাকে কোড এই এক লাইন, যা দীর্ঘ গল্প ছোট, এই solves মাইএসকিউএল সমস্যা. না এই যে খুব দীর্ঘ নির্দেশ এমনকি এক লাইন মধ্যে মাপসই করা হবে এখানে পর্দা নিশ্চিত যে আপনার অপারেশন পরমাণু বলা হয়. এটা সব একযোগে ঘটবে, অথবা এটা সব সময়ে ঘটে না. এই খুব দীর্ঘ ফ্রেজ করতে পারেন আংশিকভাবে বাধাগ্রস্থ হয়. এবং কি এটা আছে আক্ষরিক হয় এটা কি বলছেন. কয়েকটি টেবিল নীচের ঢোকান তিনটি ক্ষেত্র যারা নির্দিষ্ট মান, কিন্তু নকল চাবি উপর, একটি সন্নিবেশ করবেন না. আপগ্রেড না. তাই এই একটি নির্বাচন করুন এবং একটি করছেন ভালো হয় একই সময়ে তাই কথা বলতে সন্নিবেশ করুন. এবং সম্ভবত যে কি কি এখানে বলা হচ্ছে? এটি সক্রিয় আউট, এবং আপনি এই দেখতে পাবেন সমস্যা নেই, সাত এর বৈশিষ্ট সেট কারণ আমরা একটি অনন্য কী করা আছে ঘোষণা করেছি এই বিশেষ টেবিল যেমন যে আপনি একাধিক সারি থাকতে পারে না সঙ্গে একই ব্যবহারকারীর জন্য একই পেনি স্টক প্রতীক - এখানে এই উদাহরণে, DVN.V হয় একটি নিরীহ পেনি স্টক যে আমরা বৈশিষ্ট পড়ুন. , আমরা এটা অনন্য হতে ঘোষণা করেছি কারণ কি এই মানে হল যে আপনি যদি একটি ডুপ্লিকেট সারি প্রবেশ করাতে চেষ্টা, আপনি আছেন পরিবর্তে ছাড়াই এটি আপডেট করা যাচ্ছে অন্য কেউ পরিবর্তন করার সুযোগ হচ্ছে হয় বিশ্বের রাষ্ট্র. তাই সংক্ষিপ্ত, এই নিশ্চিত করে জিনিস পারমাণবিক হয়. আরো সাধারণভাবে যদিও, উপাত্ত মাইএসকিউএল মত - এবং আপনার জন্য এই বৈশিষ্ট্য প্রয়োজন নেই সাত পি সেট, কিন্তু জন্য মনে রাখবেন ভবিষ্যত - লেনদেনের বলা হয় কি সমর্থন, আপনি বলতে পারেন যেখানে আক্ষরিক লেনদেন শুরু. এর পরে নির্বাহ করতে পারেন দুই এসকিউএল স্টেটমেন্ট. আপনি দেখতে পাবেন এবং হিসাবে একটি এসকিউএল স্টেটমেন্ট, পি সেট সাত, একটু দেখে মনে হচ্ছে এ ভালো কিছু. একটি টেবিল বলা অ্যাকাউন্ট আপডেট করুন. যাই হোক না কেন সমান ভারসাম্য কলাম সেট করুন ভারসাম্য কলাম বর্তমানে হয় 1,000 বিয়োগ যেখানে নম্বর, ব্যবহারকারী আইডি মত অ্যাকাউন্ট নম্বর,, 2 সমান, এবং তারপর আপডেট একাউন্ট ডট ডট বিন্দু. তাই অ - বিশেষজ্ঞ এর ভাষায়, কি করবেন এই দুই প্রশ্নের মধ্যে কাজ করা বলে মনে হচ্ছে ব্যাংকিং এর বাস্তব জগতে অর্থে? AUDIENCE: সঞ্চয় করার স্থানান্তরিত হচ্ছে. ডেভিড MALAN: যথাযথভাবে. এক থেকে তহবিল হস্তান্তর অন্যান্য অ্যাকাউন্ট. এবং এই অন্য একটি উদাহরণ যেখানে আপনি সত্যিই এই দুটি ব্যাপার ঘটতে করতে চান বা ঘটবে না. আপনি কিছু পেতে চাই না তাদের মাঝখানে এবং সম্ভাব্য জড়ান গণিত, অথবা জড়ান কত আপনি টাকা, বা কতটা টাকা ব্যাংকে আছে. তাই লেনদেন সম্পর্কে সত্যিই চমৎকার মাইএসকিউএল মধ্যে অনুপস্থিত এবং আরো সাধারণভাবে উপাত্ত, যে তারা এবং প্রয়োগ করেছি যারা স্মার্ট মানুষ এই বৈশিষ্ট্যগুলি কিভাবে চিন্তা সেগুলো উভয় ঘটতে নিশ্চিত যে অথবা না এ সব. এবং যদি আপনি সত্যিই করা উচ্চাকাঙ্ক্ষী হয় মানুষের উপর ব্যবহৃত হচ্ছে একটি ওয়েবসাইট ক্যাম্পাস, বাস্তব জগতে মানুষ, করছেন প্রারম্ভকালে অর্থে কিছু, এই ধরনের হয় নকশা সিদ্ধান্ত যে কখনও এত গুরুত্বপূর্ণ হয়ে. অন্যথা, আপনি হারান, ডাটা হারাতে শুরু ব্যবহারকারীরা, অথবা হিসাবে সবচেয়ে খারাপ ক্ষেত্রে আমরা সম্ভাব্য এখানে দেখা করেছি পয়সা. তাই আবার, আরো যে সমস্যা সেট সাত, যেমন হয়তো কিছু জন্য চূড়ান্ত প্রকল্পে আপনি. সুতরাং আসুন আমরা ছিল যে ছবি পরিবর্তন করা যাক শুধু একটা আরো ভাবেই আগে একটি মুহূর্ত. তাই আমি সম্ভব হলে আমাকে আসলে দেখতে দিন - নাঃ, যে চলে গেছে এর. এটা এখন পর্যন্ত. আমরা শেষ সময় বাকি যেখানে তাই এই হয়. এবং এটা আমরা শিরসঁচালন চলুন দেখা যাচ্ছে এখানে মিশ্রণ মধ্যে আরও একটি বিষয় - জাভাস্ক্রিপ্ট নামক একটি ভাষা. সুতরাং জাভাস্ক্রিপ্ট আসলে ফিট এই টুকরা মধ্যে - এবং আমি বেশ পর্যাপ্ত ফাঁকা ছেড়ে চলে না, তাই এই স্কেল এখন নয়. ঠিক আছে, এই সত্যিই হৃদয়স্পর্শী হয়. ঠিক আছে, তাই যে জাভাস্ক্রিপ্ট এর. ঠিক আছে. আমি সত্যিই এটি একটি অপকার করছি. ঠিক আছে. সুতরাং জাভাস্ক্রিপ্ট অন্য প্রোগ্রামিং হল ভাষা, এবং আমাদের শেষ, যে সাহায্য করে যদি আরো অনেক কিছু আছে না যে আশ্বস্ত এখানে অগ্নি হাইদ্রান্টএর এর. সুতরাং জাভাস্ক্রিপ্ট একটি ব্যাখ্যা হল আপনি না যার মানে ভাষা, zeros এবং বেশী সেটিকে কম্পাইল. আপনাকে কেবল এটি চালানোর জন্য. কিন্তু কি সঙ্গে মৌলিকভাবে ভিন্ন জাভাস্ক্রিপ্ট সাধারণত আপনি যে আপনার ওয়েব সার্ভারে এটি চালানোর না. এটি চালানোর পেতে না যন্ত্র কোনটাই. বরঞ্চ, এটি একটি ব্যবহারকারী দ্বারা ডাউনলোড পরার তাদের ব্রাউজারের মধ্যে HTTP-র মাধ্যমে - ক্রোম, সাফারি, ইন্টারনেট এক্সপ্লোরার, ফায়ারফক্স, যাই হোক না কেন - এবং এটি এই executes যে ব্রাউজার এর বিশেষ প্রোগ্রামিং ভাষা. তাই পরিষ্কার হবে, পিএইচপি দূর পর্যন্ত হয়েছে এ কমান্ড লাইনে হয় মৃত্যুদন্ড কার্যকর একটি সার্ভারে আমাদের কালো এবং সাদা উইন্ডোতে, যন্ত্র, একটি কম্পিউটার চাই যন্ত্র পছন্দ, বা এটি হয়েছে ওয়েব সার্ভার দ্বারা মৃত্যুদন্ড কার্যকর একটি কম্পিউটারে চলছে. কিন্তু এখানে থিম দূর পর্যন্ত যে পিএইচপি হল সার্ভার সাইড মৃত্যুদন্ড কার্যকর করা হয়, তাই হয়েছে ব্যবহারকারী এবং ব্যবহারকারীর ব্রাউজার পিএইচপি কোড একটি লাইন দেখে না. আসলে, আপনি কি কখনো জন্য একটি ব্রাউজার খুলতে হলে আপনার ওয়েবসাইট বা অন্য এবং আপনি আসলে আপনার উইন্ডোতে পিএইচপি কোড দেখতে, কেউ মাতাল আপ করেনি. এটা হতে বোঝানো না কারণ সরাসরি একটি ব্রাউজার পাঠানো. এটি মৃত্যুদন্ড কার্যকর করা এবং পরিণত করা অনুমিত এর এইচটিএমএল ভালো কিছু করে. কিন্তু জাভাস্ক্রিপ্ট মূলত হয় বিপরীত. এটা সাধারণত ভিতরে চালানো হবে সেসব একটি ব্যবহারকারীর ব্রাউজার উইন্ডোর. এবং ওয়েবসাইটের কি ধরণের ব্যবহার জাভাস্ক্রিপ্ট তারপর এই দিন? আক্ষরিক প্রতি জনপ্রিয় ওয়েবসাইট লেগেছে. প্রতিটি ওয়েবসাইটে যে আপনাকে বলছি সম্ভবত জন্য জাভাস্ক্রিপ্ট ব্যবহার দৈনন্দিন ব্যবহার সহজ এবং এমনকি sexiest বৈশিষ্ট্য. তাই ফেসবুক মত কিছু আপনি যে ব্যবহার যদি চ্যাট করুন. কিভাবে যে আসলে কাজ করে? ওয়েল দূর পর্যন্ত, জিনিস সব আমরা করেছি এইচটিএমএল সঙ্গে সম্পন্ন এবং পিএইচপি অনুমান করে যে , আপনি একটি URL থামা, এবং আপনি আঘাত লিখুন এবং আপনি কিছু এইচটিএমএল কন্টেন্ট দেখুন. এবং আপনি যে পরিবর্তন লিঙ্ক, ক্লিক করুন ইউআরএল, পৃষ্ঠা পরিবর্তন, এবং পুনরায় লোড কিছু নতুন কন্টেন্ট. অন্য URL-এ ক্লিক করুন অথবা আপনি একটি ফর্ম জমা অন্য পৃষ্ঠাতে whisked এবং পেতে আপনি কিছু নতুন কন্টেন্ট দেখুন. কিন্তু ফেসবুক চ্যাট মত কিছু ব্যবহার করে, বা Gchat, অথবা গুগল ম্যাপস, খুব কমই পুরো পাতা যেমন যে রিফ্রেশ করে আপনি মুহূর্তমধ্যে একটি সাদা পর্দা দেখতে এবং তারপর নতুন কন্টেন্ট. বরং, ওয়েব পেজ আজকের পরিবর্তনশীল হয় আবার আপডেট এবং হচ্ছে আবার এবং আবার সব ধরণের এর পর্দার পিছনের. এবং দেখা যাচ্ছে যে আপনি যেতে যখন ফেসবুক, বা Gchat মত কিছু, বা জিমেইল, এবং পাতা আপডেট স্বয়ংক্রিয়ভাবে পুনরায় লোড না করে পুরো পর্দা, ঘটেছে কি যে হয় আপনার ব্রাউজার ধরণের গোপনে করেছে অতিরিক্ত HTTP অনুরোধ - না পুরো ওয়েব পেজ জন্য, কিন্তু শুধু জন্য মত ডেটার সামান্য অংশ, তাত্ক্ষণিক বার্তা যে আপনার বন্ধু ঠিক আপনি, বা স্ট্যাটাস আপডেট পাঠানো কেউ শুধু আপনি, বা টুইট পাঠানো কেউ শুধু পাঠিয়েছেন. এটি শুধু জন্য একটু অনুরোধ তৈরীর তথ্য, এবং তারপর জাভাস্ক্রিপ্ট এই ব্যবহার প্রোগ্রামিং ভাষা, কি পরিবর্তন ওয়েব পেজ ছাড়া মতো দেখতে সার্ভার সার্ভার ছাড়াই সাহায্য যে এইচটিএমএল উৎপাদিত. তাই সংক্ষিপ্ত, জাভাস্ক্রিপ্ট তারপর ব্যবহার করা যাবে থেকে নতুন তথ্য আনা না শুধুমাত্র পুরো পুনরায় লোড না করে সার্ভার পাতা বা একটি ফর্ম জমা. এটি পরিবর্তন করা সম্ভব তথাকথিত DOM - ডকুমেন্ট অবজেক্ট মডেল - যার জন্য মাত্র অভিনব উপায় এইচটিএমএল বৃক্ষ বলছে আমরা শেষ সময় দেখেছি. তাই আশ্বস্ত, জাভাস্ক্রিপ্ট হল চিহ্নগুলি সিন্টেক্সের তাই সি অনুরূপ হিসাবে ভাল. কোন প্রধান ফাংশন আছে. আপনি শুধুমাত্র কোড লেখা শুরু এবং এটা মৃত্যুদন্ড কার্যকর করা, বা হবে আরো সঠিকভাবে ব্যাখ্যা. শর্তাবলী ভালো হবে. কোন সি থেকে ভিন্ন বা যে বিষয়টি জন্য পিএইচপি. বুলিয়ান এক্সপ্রেশন বা এড একসাথে এই মত হবে. একসঙ্গে Anded এই মত চেহারা. সুইচ ভালো হবে. Loops ভালো হবে না. Loops ভালো চেহারা হবে. Loops ভালো হবে, যখন কি. এই নতুন. সুতরাং জাভাস্ক্রিপ্ট একটি foreach না আছে কোনটাই গঠন, কিন্তু এই কনস্ট্রাক্ট এই মধ্যে পরিবর্তনশীল অ্যারের মধ্যে আমি, এবং আমি ক্ষেত্রে একটি সূচক মান হয়ে ওঠে. সুতরাং এটা যে থেকে একটু আলাদা foreach যদিও নতুন সংস্করণ জাভাস্ক্রিপ্ট সব সময় বেরিয়ে আসছে, তাই এমনকি এই ভাষা বৈশিষ্ট্য নব্য হয়. এবং একটি সরাইয়া, জাভাস্ক্রিপ্ট এইসব দিন হিসাবে এছাড়াও ঠিক মত একটি সার্ভার ব্যবহার করা যায় পিএইচপি কলব্যাক নামক একটি ফ্রেমওয়ার্ক ব্যবহার CS50 এর টিএফএস, কেভিন, তা হল, একটি নেতৃত্বাধীন হয়েছে এ উপলব্ধ যে Node.js নেভিগেশন সেমিনার cs50.net/seminars. আপনি জানতে আগ্রহী তাই যদি জানেন আপনি যে সার্ভার প্রান্তের হিসাবে এই ব্যবহার করতে পারেন ভাল, কিন্তু যে, একটি মোটামুটি সাম্প্রতিক প্রবণতা বেশি কিন্তু যে একটি শক্তিশালী এক. এটি একটি সামান্য ভিন্ন. এই জাভাস্ক্রিপ্ট মধ্যে একটি অ্যারে. এবং কি বিভিন্ন হিসাবে আপনি হানা সি বা পিএইচপি বনাম? কয়েক দ্রুত গল্প আছে আমরা এখানে বলতে পারেন. কি পিএইচপি বনাম হারিয়েছে এর? AUDIENCE: [শ্রবণাতীত]. DAVID MALAN: হ্যাঁ? দুঃখিত, আবার বলে? AUDIENCE: ঘোষণা নেই পরিবর্তনশীল ধরণ. DAVID MALAN: আমরা ঘোষণা করছি না পরিবর্তনশীল ধরণ. তাই কিছুটা পিএইচপি মত, আমরা পারব না এই ভেরিয়েবলের ধরন উল্লেখ. বরং, আমরা আরো জেনেরিক আছেন পরিবর্তনশীল জন্য বলছে var. আমরা এর পিএইচপি এর উত্পাত হবে না ডলার চিহ্ন, যা ক্লান্তিকর করার সময় টাইপ, আরো স্পষ্ট করে তুলতে না কিছু একটি পরিবর্তনশীল এর. এখানে যেহেতু, আমরা কেমন আবার করছি শুধু কল করে সি এর পদক্ষেপ একটি আমরা চাই নামের চলক সংখ্যার মত, এটা দিতে. এবং এছাড়াও পিএইচপি মত, আমরা আছে জন্য বর্গাকার বন্ধনী যে অ্যারের ভিতরে মান. জাভাস্ক্রিপ্ট তাই ভেরিয়েবল এছাড়াও এই মত চেহারা হতে পারে. এই গুলি নামক একটি স্ট্রিং এখানে লক্ষ্য করুন, কিন্তু একইভাবে আমরা উল্লেখ না থাকা এটি একটি স্ট্রিং যে. এখানে যদিও না যে একটি বৈশিষ্ট্য পিএইচপি ঠিক একই ভাবে বিদ্যমান, কিন্তু একটু একভাবে. এই জাভাস্ক্রিপ্ট মধ্যে একটি বস্তুর হয়. এবং বস্তু বাছাই সুইস আর্মি হয় যে আপনি একটি ডাটা স্ট্রাকচার এর ছুরি যে কোনো একটি সংখ্যা জন্য তাদের ব্যবহার করতে পারেন. এখানে, উদাহরণস্বরূপ, আমরা ঘোষণা করছি একটি পরিবর্তনশীল উদ্ধৃতি বলা. যে পরিবর্তনশীল ধরণ একটি বস্তু হয়. আপনি একটি সি struct হিসাবে এই মনে করতে পারেন যে কি ও মূল্যবোধ রয়েছে. সাংকেতিক একটি চাবি. ফুল বোর্ড দৃশ্যত, একটি মান একটি স্টক প্রতীক. কমা দ্বারা. দাম অন্য কী, এবং তার মান দৃশ্যত একটি ফ্লোটিং পয়েন্ট, অথবা একটি আরো সাধারণভাবে এ সংখ্যা $ 49.26 এর জাভাস্ক্রিপ্ট,. সুতরাং পিএইচপি নেই - আমরা বেশ পিএইচপি বস্তুর মধ্যে দেখা যায় না ভালো, কিন্তু আমরা, একটি এনালগ দেখতে হয়নি কি যা ছিল? AUDIENCE: [শ্রবণাতীত]. DAVID MALAN: মিশুক অ্যারে. পিএইচপি মিশুক অ্যারে আছে, যেহেতু তাই যার বাক্য গঠন কখনও সামান্য তাই হয় ভিন্ন - আমরা বর্গাকার বন্ধনী দেখেছি. আমরা অদ্ভুত তীর চিহ্ন দেখেছি. জাভাস্ক্রিপ্ট বস্তু আছে, কিন্তু এই হল বেশিরভাগই একটি শব্দার্থিক পার্থক্য এবং একটি এখন জন্য বিভিন্ন প্রতিশব্দ. তবে, একটি সরাইয়া হিসাবে, পিএইচপি এছাড়াও আছে একটি উপায় বস্তু যে জাভা এবং অন্যান্য ভাষায় বস্তু আছে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং. কিন্তু আমরা শুধু এই ব্যবহার করব এখন জন্য তথ্য ধরনের জন্য. অবজেক্টস ও মিশুক অ্যারে. এই এক এটি তৈরি করতে পারে একটু বেশি স্পষ্ট. একটি বস্তু দরকারী এখানে কেন. আপনি একজন ছাত্র ডিক্লেয়ার করতে চান, Zamyla মত, আসলে আমরা যা করতে পারেন তাই যে ভেতরে কথা বলতে encapsulate ঠিক মত কোঁকড়া বন্ধনী ব্যবহার আপত্তি কী আভা আগে এবং এখানে মান. আমরা একটি আইডি, একটি ঘর, এবং জন্য একটি নাম আছে হিসাবে একটি সেমিকোলন দ্বারা অনুসরণ Zamyla, শেষে স্বাভাবিক. নিচে এখানে খুব,, এই সামান্য হয় ভিন্ন, কিন্তু খুব শক্তিশালী এই দিন. এখানে একটি অ্যারের, এবং আমি জানি যে কারণ একটি বর্গক্ষেত্র বন্ধনী আপ আছে উপরে এবং একটি বর্গক্ষেত্র বন্ধনী নীচে. এবং এই কি তথ্য একটি অ্যারের হয় জাভাস্ক্রিপ্ট মধ্যে দৃশ্যত টাইপ? এই এটা দেখে মনে হচ্ছে একটি অ্যারের হয় তিনটি বস্তু মত. এবং আমি এটা শুধুমাত্র একটি বস্তু জানি কোঁকড়া ধনুর্বন্ধনী কারণ. এবং, খোলা কোঁকড়া বক্রবন্ধনী আছে বিজ্ঞপ্তি কিছু উপাদান, বন্ধ কোঁকড়া বক্রবন্ধনী, কমা, তারপর আরো কিছু, কমা, এবং তারপর আরো কিছু. সুতরাং যে তিনটি আর্গুমেন্ট এর দুটি কমা দ্বারা পৃথক. তাই এই তিনটি বস্তুর একটি অ্যারে. এবং যারা বস্তু প্রতিটি উপস্থিত হতে পারে কিছু একটা ছাত্র বা স্টাফ সদস্য একটি আইডি দিয়ে সাজানোর, প্রতিটি, ঘর, ও নাম. কিন্তু আমি এই কিছু বলা করেছি JSON বলা - জাভাস্ক্রিপ্ট অবজেক্ট স্বরলিপি. এবং এই একটি ডাটা বিন্যাস যে আসলে তাই খুব জনপ্রিয় এবং হয় চলন এই দিন যে আপনি একটি লিখতে হলে ফেসবুক ব্যবহার করে যে আবেদন এপিআই, টুইটার এপিআই, সত্যিই প্রায় আছে কোন এপিআই এই দিন, CS50 এর নিজস্ব কিছু, সহ আপনি ফিরে পেতে তথ্য নেই পুরানো স্কুল CSV বিন্যাসে. রিকল কারণ যে CSV- সুপার সহজ. এটা ঠিক কলাম পৃথক করা হয় কমা দ্বারা. JSON তথ্য আপনি আরো মেটাডাটা আপনি. এটা প্রত্যেক মান সঙ্গে একটি কী সহযোগীদের তাই তারা শুধু অনুমান করতে হবে না যে zeroth কলাম এক মান, কলাম একটি কলাম দুটি অন্য হয়, অন্য হয়. এখানে একটি JSON বস্তু সব ধরণের এর স্ব - বর্ণনা, কারণ প্রতি এই ফাইলে নামের মধ্যে একটি আক্ষরিক আছে একটি হিসাবে এটি সামনে নাম দিন উদ্ধৃত পংক্তি. সুতরাং আসুন একটি কটাক্ষপাত করা যাক এখানে উদাহরণ দম্পতি. আমাকে প্রয়োগ মধ্যে যাওয়া যাক. এবং আমাকে আমাদের vhost মধ্যে ছেড়ে দেওয়া পাবলিক মধ্যে ডিরেক্টরি. আর আমার মধ্যে ছেড়ে দেওয়া জাভাস্ক্রিপ্ট নির্দেশিকা. আর এর এগিয়ে যান এবং খুলুন DOM ঠিক মানে যেখানে ডোম 0.html, ডকুমেন্ট অবজেক্ট মডেল. এটা যা গাছ উপাদান এর আমি আগে উল্লেখ করা. ও আমার নিচের উত্থাপন করা যাক. এখানে যার একটি ওয়েব পেজ এর শরীরের বেশ সহজ. তাই নিচে এখানে নীচে, আমি একটি ফর্ম আছে বিজ্ঞপ্তি. আমরা আগে তাদের দেখা করেছি. এটি একটি রয়েছে যার মধ্যে দুটি ইনপুট, আছে নামের আইডি, যার মধ্যে একটি ধরনের আছে জমা, এবং প্রথম এক এর ধরনের লেখা হয়. তাই এই আসলে বেশ সহজ শোনাচ্ছে. এর এখানে যাওয়া যাক. এর এখানে ফিরে এই পৃষ্ঠায় যাওয়া যাক. এর স্থানীয় হোস্ট ঢোকা যাক, এবং ঢোকা আমাদের জাভাস্ক্রিপ্ট ডিরেক্টরি, এবং যান এখানে ডোম 0, এবং আমরা এই ফর্ম আছে. সুতরাং যে দৃশ্যত এর সব এই পাতায় আছে. সঙ্গে এটি একটি নাম ক্ষেত্রের হয়েছে একটা বোতাম জমা দিন. কিন্তু আমি এখানে পিএইচপি ব্যবহার করতে যাচ্ছি না. আমি সবকিছু ক্লায়েন্ট পাশ করতে যাচ্ছি নিম্নরূপ তাই জাভাস্ক্রিপ্ট মধ্যে কথা বলতে. আমি প্রকৃতপক্ষে নাম দিয়েছি যে লক্ষ্য করুন এই ইনপুট ক্ষেত্রে একটি অনন্য আইডেন্টিফায়ার, যা করবে না আসলে এক মুহূর্ত আমার কিছু সময় বাঁচাতে. এবং আমি অন্য ট্যাগের চালু করেছি বিজ্ঞপ্তি আমার ওয়েব পেজ প্রধান, এ  ট্যাগ. সুতরাং জাভাস্ক্রিপ্ট যে এই অর্থে এর একটি ক্লায়েন্ট প্রান্তের প্রোগ্রামিং ভাষা. এই ক্ষেত্রে, শুধু সিএসএস মত, আমি রেখেছি এটা সোজা আমার এইচটিএমএল ভেতরে. কিন্তু আমি একটি ফাংশন ঘোষণা করেছি বিজ্ঞপ্তি যে একটু পিএইচপি মত দেখাচ্ছে চিহ্নগুলি সিন্টেক্সের, কিন্তু এই আসলে জাভাস্ক্রিপ্ট, কারণ আবার, এটা ব্রাউজারে ক্লায়েন্ট প্রান্তের. এবং এই যাচ্ছে কি একটি অনুমান নিতে না, যদিও সিনট্যাক্স কিছু এখানে নতুন. AUDIENCE: কেবা করার হ্যালো বলুন. DAVID MALAN: এটা হ্যালো বলে যাচ্ছে যে কেহ এই পাতা পরিদর্শন. সুতরাং কিভাবে? সুতরাং জাভাস্ক্রিপ্ট মধ্যে দেখা যাচ্ছে, বিজ্ঞপ্তি একটি সতর্কতা () ফাংশন আছে. এটি একটি খুব ধরণের দু: খিত ফাংশন যে সত্যিই ঠিক ব্যবহারকারীদের বিরক্ত থাকে. এটা সত্যিই আপনি ব্যবহার করা উচিত এক নয় সাধারণত, কিন্তু এটি একটি দ্রুত এবং ময়লা না পথ ধরণের কিছু মুদ্রণ গ্রাফিক্যাল ইউজার যাও একটি ব্রাউজার মত, ইন্টারফেস. আমি পেয়েছেন যে এখানে লক্ষ্য করুন একটি একক উদ্ধৃতি চিহ্ন মধ্যে স্ট্রিং. এটি দেখা যাচ্ছে যে সি, জাভাস্ক্রিপ্ট অসদৃশ আসলে আপনি একক ব্যবহার করতে পারেন কোট, এবং অকপটে এটা ধরনের মধ্যে রচনাশৈলীসংক্রান্ত কনভেনশন জাভাস্ক্রিপ্ট প্রোগ্রামারদের একক উদ্ধৃতি চিহ্ন ব্যবহার করতে. পিএইচপি, তারা আসলে সামান্য আছে ভিন্ন অর্থ. কিন্তু এখন জন্য, শুধু জানি যে যে একমাত্র কারণ নয়. জাভাস্ক্রিপ্ট সালে কনভেনশন প্রায়ই হয় একক উদ্ধৃতি চিহ্ন ব্যবহার, কিন্তু আমরা ব্যবহার করতে পারেন ডবল উভয় জায়গায় কোট হিসাবে ভাল. তাই এই আকর্ষণীয়. আমরা যে ছিল শেষ সময় প্রত্যাহার একটি গাছ সৃষ্টি যে পর্দায় ছবি আপনি এইচটিএমএল নোড ছিল, এবং যেখানে নোড, এবং শরীরের নোড আগাইয়া, এবং তারপর কিছু লেখা. কিন্তু এ এক বিশেষ নোড ছিল আমি নথিতে বলা হয় যে খুব উপরে. ওয়েল, এটা কোনো, জাভাস্ক্রিপ্ট মধ্যে দেখা যাচ্ছে আপনি জাভাস্ক্রিপ্ট মধ্যে একটি প্রোগ্রাম লিখতে সময় একটি ব্রাউজার, আপনি অ্যাক্সেস আছে একটি বিশেষ বিশ্বব্যাপী পরিবর্তনশীল. , পিএইচপি এর superglobals যাও আত্মা একই এই এক বলা হয় সব ছোট হাতের নথি. এটি একটি struct মত, কিন্তু এই struct এছাড়াও এটি ভেতরে ফাংশন আছে. সুতরাং একটি সি struct শুধু সাধারণত তথ্য রয়েছে. কিন্তু এই হিসাবে একটি জাভাস্ক্রিপ্ট অবজেক্ট টেকনিক্যালি, ফাংশন আছে হয় অন্যথায় পদ্ধতি নামে পরিচিত, এটি ভেতরে. এবং আপনি এর ভিতর একটি ফাংশন কল করতে পারেন এই বস্তুটি পুরোপুরি আক্ষরিক তার কাজ নাম, বিন্দু, এবং তারপর নামের ফাংশন, অথবা আবার পদ্ধতি. এটা সত্যিই, মাত্র একটি প্রতিশব্দ না. এবং এই ফাংশন কি কাজ করে? আপনি ধরনের তার নাম থেকে অনুমান করতে পারেন. আইডি দ্বারা উপাদান পান. তাই এই ওয়েব পেজ সন্ধান করতে যাচ্ছে, খুঁজছি, যে গাছ অনুসন্ধান , ওরফে উপাদান, একটি আছে যাহা নোড উদ্ধৃতি উদ্ধতি নামের অনন্য আইডি. এবং তারপর আমি কি করতে যাচ্ছি? আমি ভেতরে মূল্য পেতে যাচ্ছি যে গাছ নোড, এবং আমি যাচ্ছি একরকম যে নাম থেকে হ্যালো বলে. সুতরাং আমরা না করেছি, যদিও একটি অনুমান নিতে এখনো এই দেখা, কি প্লাস চিহ্ন এখানে এবং এখানে সম্ভবত বোঝাতে চেয়েছেন? AUDIENCE: কনক্যাটেনেট. DAVID MALAN: কনক্যাটেনেট. রাইট, এবং এই হল মাত্র ধরণের সিদ্ধান্ত ডিজাইন মানুষ বছর আগে তৈরি. পিএইচপি, আপনি কনক্যাটেনেট বিন্দুর জিনিস. সি, আপনি বেশ কিছু হুপ্স মাধ্যমে তিড়িং লাফ strcopy মত কার্যাবলী () বা কল strcat () বা অন্যান্য যেমন কর্ম. কিন্তু জাভাস্ক্রিপ্ট, আপনি pluses ব্যবহার. তাই এই শুধু concatenating হয় তিন স্ট্রিং - হ্যালো, একটি নাম, এবং তারপর কোন বিস্ময়বোধক বিন্দু. তাই কখন এবং কেন এই ফাংশন যদিও বলা হয়? ওয়েল, থেকে একটি অনুমান নিতে নীচে এইচটিএমএল. কেন বলা হয় () অভিবাদন, বা যখন হয়? দৃশ্যত, শ্রেষ্ঠ হিসাবে আমি উপর, বলতে পারেন এই ফর্ম জমা হয়, জমা, আমি যা কিছু করতে যাচ্ছি এই কোট ভিতরে. আর বিশেষ করে, আমি ফোন করতে যাচ্ছি অভিবাদন () এবং তারপর মিথ্যা ফিরে. ভাল, এর কি নেট দেখুন প্রভাব এখানে প্রথম. তাই আমাকে এগিয়ে যান এবং টাইপ যাক বলতে Loren, জমা, মধ্যে. Loren হ্যালো. হয়তো এই মাত্র যদি এর দেখতে দিন একটি ভাগ্যবান বাস্তবায়ন. নাঃ. সুতরাং এটি টাইপ এর যাই হোক না কেন আমি আসলে সেখানে রাখা নাম দিন. কিন্তু পরিবর্তন না কি লক্ষ্য. ইউআরএল এখনও ডোম 0.html হয়. কোন register.php আছে. কোন দ্বিতীয় ফাইল আছে. কোন কর্মের বৈশিষ্ট্য আছে. তাই এই রিটার্ন মিথ্যা সম্ভবতঃ করছেন? কেন আমি তারপর অভিবাদন আহ্বান () এবং am সম্ভবত মিথ্যা ফিরে? আপনি ক্লিক করলে কি সাধারণত এরকম এমনকি আমরা যে একটি ফর্মে জমা দিন গত সপ্তাহে দেখা? AUDIENCE: [শ্রবণাতীত]. DAVID MALAN: এটা অধিকার, কোথাও যায়? এটা কিছু গন্তব্য ইউআরএল যায়. কিন্তু আমি যে এখানে ঘটতে করতে চান না. আমি আমার ওয়েব পেজ সম্পূর্ণ হতে চান একবার আপনি যেখানে জিমেইল, মত গতিশীল , আপনি সেখানে সেখানে থাকার. ইউআরএল একটি উপায় যে পরিবর্তন করবেন না পুরো পৃষ্ঠা পুনরায় লোড করা হয় ইঙ্গিত দেয়. বরং, আমি শুধু কিছু পরিবর্তন করতে চান কিছু মুদ্রণ মত এখানে পর্দায়. আচ্ছা আমার এই পরিষ্কার করা যাক আপ অল্প. আমার না ডোম 0 খুলুন, কিন্তু আমার ডোম -2 খুলুন. শুধু তাই আপনি এখানে কিছু বাক্য গঠন দেখা করেছি. এটি দেখা যাচ্ছে যে কি আমরা ঠিক কাঁচা জাভাস্ক্রিপ্ট ব্যবহার করা হয় নি. তাই এই সত্যিই ভাষা জাভাস্ক্রিপ্ট. আপনি কিছু জানেন পারে jQuery নামক একটি লাইব্রেরি. তাই jQuery একই নয় জাভাস্ক্রিপ্ট হিসাবে জিনিস. এটা যে সত্যিই একটি স্মার্ট মাত্র একটি লাইব্রেরি আছে লোক লেখেন এবং জনপ্রিয় যেমন এখন বিশ্বের যে প্রায় সবাই জাভাস্ক্রিপ্ট ব্যবহার করার সময় jQuery ব্যবহার করে. এবং এক নজরে, সত্য - সত্যই, এটা একটু বেশি রহস্যপূর্ণ দেখাচ্ছে. তবে আপনি যদি আপনি যান, বিশেষত যদি পাবেন সেখানে ওয়েব সঙ্গে আপনার চূড়ান্ত প্রকল্পের জন্য উন্নয়ন, আপনি খুঁজে পাবেন যে এই জিনিষ আপ সাফ করে এবং আপনি বেশ সংরক্ষণ কোড এর কয়েক লাইন. তাই আসুন এই সময়ে মাত্র এক নজরে যাক কিভাবে এই ফর্ম কাজ করছে. আমি দৃশ্যত কি সরিয়ে নি লক্ষ্য করুন আমার এইচটিএমএল থেকে? জমা হ্যান্ডলার কোন নেভিগেশন নেই তাই কথা বলতে. কোন বৈশিষ্ট্য নেই. আপনি জানেন না, কি আমি সত্যিই চাই না? আমরা অধ ছিল মত আমি অনুভব করলাম সেখানে পুরোনো অভ্যাস মধ্যে. এটা পঙ্কিল মনে শুরু হয়েছিল শুধু চাই সঙ্গে উভয় সিএসএস মেশানো যাও এইচটিএমএল, আপনি ধরনের নিক্ষেপ করছি কারণ সর্বাঙ্গে বিভিন্ন ভাষায় জায়গা, একইভাবে এই বোধ শুরু হয়নি নামা খারাপ রাস্তা মত যেখানে আমি ভেতরে জাভাস্ক্রিপ্ট কোড নির্বাণ করছি আমার এইচটিএমএল বদলে এটি ফ্যাক্টরিং. সুতরাং যে এখানে পাঠ. ডোম 2.html, আমি এটা আউট ফ্যাক্টরিং করছি. এবং আমি সামান্য জিনিসগুলি করছি ভিন্নভাবে. এখন জন্য, আমি আমার হাত তরঙ্গ যাচ্ছি এই সত্যিই কি এ ফণা নীচে. তবে এখন জন্য ধরে নিই যে যে প্রথম এই লাইব্রেরি কোড লাইন jQuery ঠিক মানে যখন বলা নথিতে নিম্নলিখিত কাজগুলো, প্রস্তুত. ওয়েব পেজ নিতে পারেন লোড করতে কিছু সময়. আপনি ধীর গতির ইন্টারনেট হতে পারে সংযোগ, এবং এটি কাটনা হতে পারে এবং কাটনা, এবং পরিশেষে তা লোড এর. কোড যে লাইন ঠিক না হওয়া পর্যন্ত অপেক্ষা করতে বলেছেন পুরো পাতা, দলিল প্রস্তুত এই কোড নির্বাহ করার আগে, প্রস্তুত. এবং এখন লক্ষ্য করা, এটা সম্ভবত হয় প্রথম সবচেয়ে দরকারী দূরে jQuery থেকে নিতে. এখানে এই লাইন আত্মা অনুরূপ এখানে এই অনেক লম্বা লাইন. কাঁচা জাভাস্ক্রিপ্ট কোড মধ্যে, সেখানে যেহেতু একটি নথি বিশ্বব্যাপী বস্তু বিদ্যমান ,) (getElementById নামে একটি ফাংশন আছে লিখেছেন যারা jQuery শুধু বলতে যে সরলীকৃত ডলার চিহ্ন, এবং তারপর ভিতরে প্রথম বন্ধনী তারপর দুই কোট করা, এবং অনুসরণ একটি হ্যাশ চিহ্ন রাখা আপনি দখল করতে চান অনন্য আইডি. তাই এই সমতূল্য document.getElementById. এদিকে,. শুধু নেভিগেশন অর্থ জমা আপনি যাই হোক না কেন ফর্ম জমা বাম উল্লেখ, যান এগিয়ে এবং এই চালানো. কিন্তু এই খুব এখন কৌতূহল হল. সম্পর্কে অদ্ভুত কি কি আমি এখানে হাইলাইট করেছি? নেই শুধু এটা ধরনের চিহ্নগুলি সিন্টেক্সের হয় নতুন, অনুপস্থিত কিছু এছাড়াও আছে. AUDIENCE: এটি শুধু ফাংশন বলা হচ্ছে? এটা সতর্কতা বলা না? ডেভিড MALAN: হ্যাঁ. ভাল, তাই সতর্কতা () ডাউন হয় এখানে পরিষ্কার করা. কিন্তু একটি কোনো উল্লেখ নেই আপনি কি জানেন চাই, নাম দিন, foo বিন্যাস বা এখানে কিছু. এবং প্রকৃতপক্ষে, এই বৈশিষ্ট্য এক বেশ যে জাভাস্ক্রিপ্ট র শক্তিশালী, কিন্তু বেশ নতুন. এবং পিএইচপি আসলে পাশাপাশি এই আছে. আমাকে এগিয়ে যান এবং করুক না বাস্তব দ্রুত কিছু. আমাকে এগিয়ে যান এবং এই এখানে আউট করা যাক. আমার এই করুক না. ফাংশন. ) এর (এই হ্যান্ডলার কল দিন. একটি হ্যান্ডলার ফাংশন তাই কথা বলতে. কিছু অপারেশন পরিচালনা করে যে কোনো কিছু. আমাকে আমার খাঁজ পরিষ্কার করা যাক. এবং এখানে এই করান. এবং এখানে যে করা. হাঁ. ঠিক আছে. তাই এখন আমি একটি ফাংশন বলা আছে আমি সত্যিই জানি না যে হ্যান্ডলার () এটা এখনো আছে. এটা ঠিক এখনও যে স্টাফ আছে. উপস. খুব বেশী টুক. এই কাজ করা যাক. ঠিক আছে. দুঃখিত. ঠিক আছে. আমার এই করুক না. ঠিক আছে. এটা সুন্দর এবং সরল দেখায় এখন এগিয়ে. আমার এই করুক না. এই কি. এবং ঠিক আছে. তাই এখন, আমি কি এখানে উপর এই করা যাক. উড়ে না আরো প্রোগ্রামিং. ঠিক আছে. তাই এখন, আমি কি ফিরে যেতে দেওয়া যেখানে গল্প শুরু করেন. পূর্বে, আমি আগেই বলেছি যে এখানে এই লাইন নথি প্রস্তুত যখন মানে, যান এগিয়ে এবং এই কাজের জন্য. আমি কি করতে চান? ভাল বিশেষ করে, আমি যেতে চান এগিয়ে এবং নিচের কাজগুলো. তারপর কোড এই লাইন সম্পাদন, এবং কি আমি আপনি কাজ করতে চান এই কল হয় ফর্ম জমা হয় যখন কাজ. আমি এই আকর্ষণীয় হয়. এটি একটি ফাংশন নিজেই নয়. আমি প্রথম বন্ধনী নির্বাণ না লক্ষ্য করুন এখানে স্বাভাবিক ভাবেই. আমি আক্ষরিক একটি ফাংশন বলা পার করছি অন্য ফাংশন হ্যান্ডলার () হিসাবে একটি আর্গুমেন্ট হিসাবে () জমা দিতে বলা এটি একটি পরিবর্তনশীল এর মত যদিও. এবং এই বৈশিষ্ট্য এক জাভাস্ক্রিপ্ট, নিজেদের ফাংশন হয় সত্যিই ঠিক বস্তু. বস্তুত, তারা সত্যিই ঠিক করছি কিছু ধরণের ভেরিয়েবল. এবং ফাংশন নাম যদি হ্যান্ডলার (), আমি না কোনো কারণ আছে এখানে একটি আর্গুমেন্ট হিসাবে এটি পাস. এবং এই ফর্ম যখন মানে ডেমো আইডি হল সঙ্গে জমা, এই ফাংশন কল. কিন্তু এখন আমি, এই সব পূর্বাবস্থা যদি কেন তাহলে আমি সম্ভবত করবেন এই একটি মুহূর্ত আগে? ওয়েল, এই একটি বেনামী ফাংশন. অকপটে কারণ আমি কোথায় কেন, আমি বুঝতে পেরেছি প্রকাশক সময় নষ্ট করতে বিরক্ত একটি ফাংশন বলা হ্যান্ডলার () শুধুমাত্র কল এক এবং একমাত্র এক জায়গায় এটা? আমি নামের প্রয়োজন নেই, এবং আমি তা চান না একাধিক জায়গায় এটা ফোন করতে চাই, এর মাত্র ফাংশন বাস্তবায়ন করা যাক ডান আমি এটি প্রয়োজন যেখানে. তাই জাভাস্ক্রিপ্ট এবং পিএইচপি সাপোর্ট করে কি বেনামী ফাংশন বলা হয় যে আমার ঠিক যে এখানে করতে অনুমতি দেয়. কিন্তু আমরা শুধু পৃষ্ঠ প্রারম্ভিক করছি. এর মাত্র কয়েক সঙ্গে জ্বালাতন করা যাক এখানে চূড়ান্ত উদাহরণ. আমি quote.php মধ্যে যেতে হবে. আসলে এই একটি পিএইচপি যে লক্ষ্য করুন আমি লিখেছি যে ফাংশন, একটি পিএইচপি প্রোগ্রাম, যে আশা নামক একটি HTTP পরামিতি প্রতীক, এবং আমি মধ্যে পাস করতে পারেন ফুল বোর্ড মত একটি মান. এবং আমরা আসলে উৎস তাকান কোড, এই একটি ফ্রি ওয়েবসাইট অনুসন্ধান করা হয় শুধু পি সেট মত, ইয়াহু ফিন্যান্স বলা সাত, এবং এটা আমার ফিরে এর দৃশ্যত কিছু পরিচিত বিন্যাসে JSON হয় - জাভাস্ক্রিপ্ট অবজেক্ট স্বরলিপি. এটি শুধু একটি বস্তু আছে. কোঁকড়া ধনুর্বন্ধনী লক্ষ্য করুন, কোট, কোলন ও কমা. এখন এদিকে, এই বেশ কুল. আমি সম্ভবত একটি প্রোগ্রামিং ব্যবহার করতে পারেন কারণ URL গুলি উৎপন্ন ভাষা যে, পরিবর্তনশীল এই মত চেহারা ডান? আমি Google-এ এই পরিবর্তন করতে পারেন এবং Google এর ফিরে পেতে $ 1,017.55 এর স্টক মূল্য. সুতরাং আমরা এখন এই ব্যবহার করতে পারবেন না দেখুন. আমাকে এখানে Ajax-0 থেকে যাওয়া যাক যা নিচের মত দেখাচ্ছে. এটা যে শুধু একটি ওয়েবসাইট এর একটি বাটন সঙ্গে একটি ফর্ম. আমাকে এখানে YHOO মধ্যে এগিয়ে যান এবং টাইপ করুন চলুন শুরু করা যাক ইয়াহু এর স্টক চিহ্ন জন্য, পান ক্লিক করুন উক্তি, এবং এখন আমি অর্জিত করেছি বিজ্ঞপ্তি 32.86 সঙ্গে একটি সতর্কতা. আমার আসলে একটি কল্পনাকারী সংস্করণে যাওয়া যাক এই পৃষ্ঠায়, সংস্করণ দুই ও এর মাইক্রোসফট, MSFT বলা যাক টাইপ. উক্তি পান. এবং এখন, কোন সতর্কতা লক্ষ্য করা. লক্ষ্য করুন যে এটি দাম বলছেন যেখানে নির্ধারিত হবে? উদাহরণ সহজ হয় যে কি Gchat এ ইঙ্গিত, এবং ফেসবুক চ্যাট করুন, এবং জিমেইল, এবং অন্যান্য যেমন ওয়েবসাইটের আসলে দ্বারা করছেন ওয়েব পেজে পরিবর্তন. এই লক্ষ্য করুন. আমার পৃষ্ঠাটি পুনরায় লোড করুন. আমার ক্রোম এর ইন্সপেক্টর খুলুন. আমার উপাদানের যান নিচে এখানে ট্যাব. এখন আমি নিচে এখানে জুম যদি লক্ষ্য করা এবং এই খুলুন, এই যে লক্ষ্য আমার এইচটিএমএল DOM - আমার ডকুমেন্ট অবজেক্ট মডেল. এটা আমার এইচটিএমএল হয়. কিন্তু এখন এটা যাচ্ছে, যদিও লক্ষ্য করা উভয় মধ্যে তা দেখতে একটু কঠিন হতে একযোগে জায়গা, আমি ফুল বোর্ড টাইপ হলে এখানে আপ, নীচে পাহারা পর্দার শুধুমাত্র. এটা আসলে পরিবর্তন হচ্ছে মাছি আমার এইচটিএমএল. এবং এটি বেশ সহজভাবে এই করছে ভালো কিছু করে. আমি Ajax-2 খুলুন, নোটিশ রূপায়ণকারী যত সেক্সি কিছু , এটা প্রশংসনীয় কুশ্রী, যদিও যে কিন্তু যে যত অত্যাধুনিক কাজের, এটা কিছু আছে নীচে এইচটিএমএল. কিন্তু আমি ট্যাগ ব্যবহার লক্ষ্য করা. আমরা আগে এই ব্যবহার না করেছি, কিন্তু এই হল মত, কিন্তু এটা জোর করে না একটি নতুন লাইন সম্মুখের সবকিছু. এটি শুধু একটি আয়তক্ষেত্রাকার অঞ্চলের তোলে একই লাইনে মূলত. আমি এটা মূল্যের একটি আইডি দিয়েছেন যে লক্ষ্য করুন. এবং এটি একই ব্যবহার করে দেখা যাচ্ছে জাভাস্ক্রিপ্ট লাইব্রেরি, আমি একটি ফাংশন আছে বলা উদ্ধৃতি () যে যখনই বলা হচ্ছে ফর্ম জমা হয়. এবং কি আমি করছি এই. আমি জাভাস্ক্রিপ্ট মধ্যে একটি ভেরিয়েবল ঘোষণা করছি মান সংরক্ষণ, URL বলা quote.php? চিহ্ন =. অর্থাৎ, আমি নিজেকে প্রারম্ভে am তারপর একটি HTTP অনুরোধ প্রস্তুত, এবং করতে আমি একটা প্লাস দিয়ে যে সম্মুখের concatenating করছি আইডি সঙ্গে যাই হোক না কেন উপাদান প্রতীক যে যা নোটিশ, হল টেক্সট ক্ষেত্রের ডানদিকে নিচে এখানে. তাই শুধু আমরা অতীতে ফর্ম ছিল না. আপনি যদি এবং তারপর এটা, jQuery মধ্যে সক্রিয় কল. একটি Val এর কল যে Val (), ফাংশন, একটি মান ফাংশন, যে পায় ব্যবহারকারী টাইপ ইন করেছে যাই হোক না কেন এবং তারপর নেটওয়ার্ক ট্রাফিক সব যে এই হল ঘটবে. $. GetJSON. এবং একটি সরাইয়া হিসাবে, ডলার সাইন শুধু একটি সাঁটে লেখার স্বরলিপি. এটা সত্যিই jQuery.getJSON এর. এই URL-টি থেকে JSON আমাকে পান, এবং যখন অনুরোধ ফিরে আসে, এই কল যুক্তি হিসাবে ফাংশন এবং পাস সার্ভার থেকে যাই হোক না কেন ফিরে আসেন. তাই অন্য কথায়, আমি ফিরে যেতে যদি আপনি ব্রাউজার, এবং আমি quote.php ফিরে যান, কি আমার ব্রাউজার করছে হচ্ছে তথ্য এই অঞ্চলে. এবং আমি এখানে এই ওয়েব পৃষ্ঠাতে যান যখন, আমরা পরিবর্তে নেটওয়ার্কের যান বিজ্ঞপ্তি ট্যাব এবং এটি পরিষ্কার, এবং তারপর প্রকার Google-এর জন্য-GOOG মত কিছু পান উদ্ধৃতি, পৃষ্ঠা পরিবর্তন হয়নি বিজ্ঞপ্তি. কিন্তু একটি HTTP অনুরোধ করেছেন, এবং কি ছিল আমরা তাকান ফিরে এখানে এসেছিলেন প্রতিক্রিয়া JSON আভা হয় আমরা অবশেষে ব্যবহার করার প্রচেষ্টা এখানে এই সহজ লাইন. তথ্য অর্জিত হয়েছে কি সার্ভার থেকে. দাম নাম কী আমি যত্নশীল. সুতরাং data.price সম্পর্কে যে দেয়. এখন এদিকে, এবং এই সর্বশেষ উদাহরণ. আপনি পৃষ্ঠার সঙ্গে এখনো আরও অনেক কিছু করতে পারেন. আসলে ভাল, দুই. আমরা ফিরে আনতে পারে ট্যাগ, আপনি এই মনে রাখবেন না. যে জাভাস্ক্রিপ্ট এর. আমরা তা করতে পারে. অত্যন্ত উত্তেজনাপূর্ণ. আমরা একটি cliffhanger যে ছেড়ে দেব. কিন্তু আরো excitingly, আপনি যা করতে পারেন ভালো কিছু করার. আমি ভূঅবস্থান-1 যান, এটি সক্রিয় আউট Chrome-এ আমরা যে জানে অক্ষাংশ দ্রাঘিমাংশের 42,37. -71,10. তাহলেও আরো আছে আছে আপনার নিষ্পত্তি এ. যে পরের সপ্তাহে কিন্তু আরও অনেক কিছু. সোমবার আপনি দেখতে.