ডগ লয়েড: কখনও কখনও যখন আমরা প্রোগ্রামিং করছি আমরা তাই, তাই সাধারণভাবে যে কি ঘন ঘন, এবং তাই অনেক মানুষ একই idea-- বা একই কাজ জিনিস, এটি একটি নাম আছে. MVC ঠিক এই ধরনের একটি জিনিস. এটি একটি প্রোগ্রামিং দৃষ্টান্ত বলা হচ্ছে. এটা ধরণের একটি ভাল পদ্ধতি মত যে চুয়ান নিচে হয়েছে কিছু না করার চেষ্টা মানুষ. এই ক্ষেত্রে, বাস্তবায়ন পেজ একটি সিস্টেম একটি ব্যবহারকারীর সাথে মিথস্ক্রিয়া একটি আরো জটিল ওয়েবসাইটে. আর তা-ই সাধারণত যে কাজ এটি একটি আদর্শ হিসেবে সুপারিশ করা হচ্ছে অন্যান্য মানুষ অনুসরণ করতে পছন্দ করতে পারেন যে, এবং উপায় একটি খুব নির্দিষ্ট সেট আছে যে কেউ এই দৃষ্টান্ত অনুসরণ করতে পারে. সুতরাং, MVC একটি দৃষ্টান্ত, এবং কারণ আমরা এটা দূরে বিমূর্ত বিস্তারিত ব্যবহার ব্যবহারকারী থেকে. কিছু কিছু ব্যবহারকারী সত্যিই দেখতে প্রয়োজন হয় না. তারা ঠিক আছে করতে চান একটি ভাল ব্যবহারকারীর অভিজ্ঞতা, এবং আমরা তাদের প্রয়োজন না প্রতিটি ফাইল অ্যাক্সেস যে সম্ভবত আমাদের ওয়েব সার্ভারে বিদ্যমান. শুধু আছে কিছু ফাইল আছে হতে পারে ব্যবহারকারীর অভিজ্ঞতা তাকিয়া ব্যবহার, এবং দূরে যারা তাই আমরা করতে পারেন সারাংশ. আমরা ধরণের তাই লুকিয়ে রাখতে পারেন ব্যবহারকারী, তাদের সঙ্গে কাজ করতে পারবেন না কিন্তু আমাদের আমাদের pages-- pages-- তাদের সঙ্গে মোকাবেলা করার জন্য কিভাবে জানি এবং তাদের সাথে যোগাযোগ করে অথবা সম্ভবত প্রয়োজন, তাদের, বা যে মত কিছু করতে চায়. প্রাথমিক প্রেরণা MVC তথ্য নিরাপত্তা জন্য, MVC সাধারণত আপ আসে, কারণ উপাত্ত সঙ্গে কাজ প্রেক্ষাপটে. আর বিশেষ আমরা ব্যবহারকারীদের প্রতিরোধ করতে চান সরাসরি প্রভাবিত ডাটাবেস থেকে. আমরা শুধুমাত্র পরোক্ষভাবে এটা করতে চান আমাদের পরিস্রুতি মাধ্যমে. বা এমনটা নিশ্চিত সবকিছু ঠিক করে যে আমাদের ত্রুটি পরীক্ষা একটি সামান্য বিট করছেন বা নিরাপত্তা প্রুফিং আমরা আগে ডাটাবেস, যেখানে এটা পাঠান জিনিষ সম্ভবত, ভুল হয়ে যেতে পারে আমরা সতর্ক থাকুন না হন, তাহলে সত্যিই ভুল. তাই মডেল ভিউ কন্ট্রোলার ঘোরা. এই প্রতিটি এর অর্থ কী? মূলত, মডেল আপনার ডাটাবেস. এটা যেখানে সব আপনার সাইটের জন্য গুরুত্বপূর্ণ তথ্য lives-- ব্যবহারকারীর নাম, লগইন, পাসওয়ার্ড. এবং আপনি এটি আপডেট তা উল্লেখ করতে পারেন, যে মত প্রায় কাছাকাছি সবকিছু. আপনি একটি ডাটাবেস অনুসন্ধান চাই, আপনি জিজ্ঞাসা চাই ডাটাবেস থেকে তথ্য. যে model-- সব আপনার সাইটে বসবাস যেখানে তথ্য. ভিউ ধরনের ভালো হয় ব্যবহারকারীর অভিজ্ঞতা. এটা তারা পরে দেখতে পেজ তারা তথ্য অনুরোধ করেছেন. তাই হয়তো তারা জমা তাদের লগইন information-- যা তারা একটি নিয়ামক না হবে, যা আমরা একটি দ্বিতীয় মধ্যে সম্পর্কে কথা বলতে পারবেন. তারা হয়তো তাদের জমা লগ-ইন তথ্য, এবং ডাটাবেস জানতে চাওয়া হয়. তথ্যের জন্য অনুরোধ করা এবং ডাটাবেস থেকে টানা. এবং তারপর ব্যবহারকারীর লগ একবার এ তারা তাদের হোম পেজে দেখতে. এটা ঠিক, একটি দৃশ্য আছে? এবং তারপর নিয়ামক এর কি আপনার সাইটের ব্যবসায়িক যুক্তিবিজ্ঞান বলা. ও ব্যবসা-প্রতিষ্ঠান যুক্তি হল ঐ পদ এক যে কৃশ washy-- মত সাজানোর হল, বিজনেস লজিক কি মানে? মূলত আপনার ব্যবসায়িক যুক্তিবিজ্ঞান আপনার পিএইচপি হয়. আপনার ব্যবহারকারী দরকার হয় না সরাসরি আপনার পিএইচপি দেখতে, কিন্তু আপনার পিএইচপি কি সম্ভবত যাচ্ছে ডাটাবেসে অনুরোধ তৈরি করা. তাই ব্যবহারকারী ইনপুট একটি দৃশ্যে তথ্য, যা একটি নিয়ামক একীভূত করা হবে. ভালো লেগেছে, তারা একটি ফর্ম মধ্যে টাইপ করব. কিভাবে যে ফর্ম প্রসেস তথ্য নিয়ামক. যে আসলে যে পিএইচপি এর মডেল অনুরোধ তৈরীর. এবং তারপর মডেল দেয় দেখতে তথ্য, ব্যবহারকারী যাও, তা দান করেন যা, নিম্নরূপ সম্ভবত সেরা ভিসুয়ালাইজ্ড. তাই আমরা এখানে হয়. এখানে বাম আমাদের, এবং আমাদের মডেল দেখুন কন্ট্রোলার দৃষ্টান্ত ব্যবস্থা. এটা কিভাবে কাজ করে? user-- us-- একটি তোলে নিয়ন্ত্রকের অনুরোধ. আমরা তথ্য জমা একটি HTTP ফর্ম দ্বারা যেমন. নিয়ামক এর উপর ভিত্তি করে যে কাজ নিশ্চিত করা হয় দিয়েছেন ব্যবহারকারী নয় কি যে মডেল ক্ষতি হবে এমন কিছু বিষয়. আর তাই নিয়ামক যাচ্ছে নিশ্চিত যে সবকিছু ঠিক করতে. এটি খুব সাবধানে চেহারা যাচ্ছে. যদি কোনো ত্রুটি আছে, এটা কিছু বন্ধ করব তাই ব্যবহারকারী মডেল পেতে পারে না. কিন্তু অভিমানী সবকিছু ঠিক আছে এবং এটি একটি বৈধ ক্যোয়ারী এর, নিয়ন্ত্রক model-- অনুসন্ধান করা হবে এটা তথ্য প্রদান এটা জিজ্ঞাসা করব. মডেল যে প্রদান করবে একটি দৃশ্য যে একটি পাতা তথ্য, এটা যে এটি প্রেরণ করব পথ, এবং তারপর দেখুন তথ্য পূরণ করা হবে মডেল থেকে অনুরোধ. সুতরাং, উদাহরণস্বরূপ, আমরা কথা বলছি তাহলে আপনার ফেসবুক পাতা লগিং সম্পর্কে, উদাহরণ স্বরূপ. ভিউ তথ্য হতে হবে মডেলটির এসেছেন যে আপনার বন্ধু এবং সংবাদ বোঝায় ঠিক আছে, যে মত ফিড অথবা কাপড়? কিন্তু আপনি অন্য কারো না দেখতে হবে. আপনি তাই getting-- করা চাই আপনি একটি প্রশ্নের সাথে জমা দিতে, আপনি model-- অজুহাত লগইন আমার, আপনি পাতা লগইন করুন. নিয়ন্ত্রক ব্যবহারসমূহ আপনার লগইন তথ্য করতে মডেলের একটি অনুরোধ করতে নিশ্চিত করুন যে আপনি হয় আপনি বলতে পারেন. মডেল এর মত, হ্যাঁ, ঠিক আছে, আপনি, আপনি যারা বলে তাই আমাকে যদি আপনি আপনার খবর ফিড দেত্তয়া. আমি আপনার জন্য কাঁচা তথ্য দিতে হবে দেখুন আপনার খবর ফিড, এবং তারপর দেখুন এটা তোলে সুন্দর, একটি উপায়ে তা প্রসেস আমরা প্রদর্শন, ব্যবহার করছি যে ব্যবহারকারী যাও যে তথ্য. যে সংযোগ লক্ষ্য করুন এই চিত্রটি উপর বিদ্যমান না. কোন সরাসরি সংযোগ আছে আপনি এবং মডেল মধ্যে. এই বাফার সবসময় আছে ইনপুট দিকে নিয়ামক, এবং একটি বাফার আছে আউটপুট দিকে দেখতে. হতে পারে আপনি একটি ভাল আছেন ব্যক্তি, এবং তাই হয়ত আপনি কোনো ক্ষতি করবে না মডেল, কিন্তু শব্দটি আপাতত অপরিবর্তিত পারব না. অথবা হয়ত কারো আছে যারা ফিচার দূষিত ব্যবহারকারী যারা হয়তো would হয়তো, আপনার ডাটাবেস ক্ষতি করতে চান আপনার ডাটাবেস থেকে সবকিছু মুছে, খুব ব্যয়সাপেক্ষ হতে পারে যা. একথাও ঠিক যে, জমিদারি ব্যবহারকারীর তথ্য হচ্ছে ÑÑ ব্যবহারকারীর তথ্য থাকার মূল্য আছে. আর আমরা এই বাফার করা হয়নি তাই যদি ব্যবহারকারী এবং ডাটাবেস মধ্যে জোন ব্যবহারকারী এবং model-- জিনিষ আমাদের জন্য তাই ভাল যাচ্ছে না ও হতে পারে. আর তাই এটি গুরুত্বপূর্ণ এই দৃষ্টান্ত যেখানে আছে ব্যবহারকারী ডাটাবেসের সাথে যোগাযোগ করতে পারবেন নিশ্চিত, কিন্তু তারা আমাদের মধ্য দিয়ে যেতে হবে এটা করতে. এবং যে মূলত MVC সঙ্গে ধারণা. এটি তথ্য নিরাপত্তা বাস্তবায়ন করার চেষ্টা হচ্ছে. এটা মডেল রক্ষা করার চেষ্টা করছে অনবধানতাবশত বা ইচ্ছাকৃতভাবে থেকে দূষিত ব্যবহারকারীদের. তাই কি ঘটে যখন আমরা এই দৃষ্টান্ত প্রয়োগ? ওয়েল, আমরা তথ্য পৃথক হচ্ছে আমাদের website-- থেকে প্রয়োজন যুক্তিবিজ্ঞান থেকে model-- আমাদের ওয়েবসাইট এর কার্যকরী controller-- functionality-- ও সহজ নন্দনতত্ব এবং পাতা থেকে গঠিত যে টেমপ্লেট আমাদের ব্যবহারকারী দেখুন experience--. এটার মানে কি? ওয়েল, এটা আপনি করতে পারেন এর মানে হল দৃশ্যমান ব্যবহারকারী দেখেন. আপনি দূরে মডেল লুকিয়ে রাখতে পারেন. এবং ব্যবহারকারী controllers-- হয়তো সরাসরি পরিবর্তন করতে পারেন. তারা আপনার পিএইচপি কোড অ্যাক্সেস প্রয়োজন হবে না. তারা শুধু একটি ফর্ম দেখতে প্রয়োজন যেখানে তারা এ কাপড় টাইপ করতে পারেন. তাই হয়তো ফর্ম একটি দৃশ্য, নিয়ামক ফর্ম জমা যে পিএইচপি হয়, নিয়ন্ত্রক, মডেল করার জন্য একটি নথি প্রশ্নের সাথে মিলেছে তোলে মডেল আরো তথ্য দেয় একটি ভিন্ন দৃশ্যে যে আপনি যে তথ্য প্রদর্শন করা হয়. আপনার প্রোগ্রামের অ্যাক্সেস করতে পারেন আপনার বিজনেস লজিক সব, কিন্তু আপনার ব্যবহারকারীদের সরাসরি না করতে পারেন আপনার বিজনেস লজিক অ্যাক্সেস. আর এক বিশেষ, সম্ভবত, এই দৃশ্যমান চিত্রণ আপনি কি পেয়েছি হয় একটি 403 নিষিদ্ধ ত্রুটি. আপনি কি একটি ওয়েব থেকে চলে গেছে পাতা ও দেখা 403 Forbidden? এটা 404 পাওয়া যায়নি এর মত সাজান. 403 নিষিদ্ধ আপনি অ্যাক্সেস করতে চেষ্টা মানে আপনি অ্যাক্সেস করতে না পারে, একটি পৃষ্ঠা. সম্ভবত যে সাইট MVC বিচ্ছেদ ব্যবহার তার ব্যবসা যুক্তিবিজ্ঞান দূরে লুকান যে যাতে সার্ভারে উপস্থিত প্রয়োজন পাতা কাজ, কিন্তু না করার জন্য আপনি সরাসরি এটি ব্যবহার করতে চান. তাই আপনি যদি একটি 403 নিষিদ্ধ ত্রুটি পেতে পারে. এবং এটা এমনকি কোন ব্যাপার না আপনি লগ করা হয়েছে কিনা. কোন ব্যবহারকারী এই ডট পিএইচপি ফাইল সংক্ষেপে আলোচনা করা যাবে. তারা শুধুমাত্র স্পর্শ করতে পারেন এই এক, এবং এই one-- তারা সম্ভবত touch-- পারেন যে এক লক ডাউন ফাইল সঙ্গে যোগাযোগ করতে পারবেন আরো পরোক্ষভাবে ব্যবহারকারীর তুলনায়. সুতরাং, আমরা মাঝে মাঝে এই অনুমতি দেখতে ত্রুটি, এই 403 Forbidden. কিভাবে আমরা তাই অনুমতি পরিবর্তন না জিনিষ বা দেখা যাবে না পারে যে? আমরা এই কাজ করার সময় সাধারণত একটি ব্যবহার করা হয় লিনাক্স কমান্ড chmod-- সি-এইচ-গেলিক বলা. এই কাজের জন্য, বিন্যাস প্রশংসনীয় chmod simple--, অনুমতি, এবং যাই হোক না কেন ফাইলটি আপনি চান যে পরিবর্তন প্রয়োগ করতে. তাই হয়ত, আপনি কিছু দেখতে চাই আপাততঃ মত 600 helpers.php chmod. অথবা হয়ত আপনি আপাততঃ chmod দেখতে চাই ডিরেক্টরি রয়েছে একটি প্লাস এক্স. এই যদিও মানে ছিল? সুতরাং, দুটি ভিন্ন উপায়ে আছে অনুমতি সাধারণত হয় chmod ব্যবহার প্রয়োগ. প্রথমে বলা হয় অকট্যাল সংখ্যা পদ্ধতি. সাধারণত এটি অনুমতি প্রযোজ্য তিনটি ভিন্ন বিভাগ একই সময়ে ব্যবহারকারীদের. সুতরাং chmod 711 ফাইল আপনি সম্ভব হবে ঠিক আছে, পড়তে ও লিখতে, এবং চালানো আপনার ফাইল, সম্ভব হবে others-- বিশেষভাবে আপনার গ্রুপ এবং বিশ্বের শুধুমাত্র ফাইল চালানো. যে এই অনুবাদ কি. সেখানে প্রথম সংখ্যা আপনি কি করতে পারেন কি, দ্বিতীয় সংখ্যা আপনার গ্রুপ কি করতে পারি, এবং তৃতীয় বিশ্বের কিছু করতে পারি কি না. আপনার পরিদর্শন কে কেহ পাতা, যে দুনিয়া. এই সংখ্যার কী আসলে যদিও অনুবাদ? সুতরাং এই মূলত এই ভালো অনুবাদ করতে. অনুমতি হয়, তাহলে শূন্য, কিছুই ঘটতে পারে. এটা এক হয় তাহলে, আপনি নির্বাহ করতে পারেন যে আপনার অনুমতি যদি ফাইলটি. এটা দুই হয় তাহলে, আপনি ফাইলটি লিখতে পারেন কিন্তু আপনি অন্য কিছু ব্যবহার করতে পারবেন না. এটি তিন, তাহলে আপনি লিখুন এবং নির্বাহ করতে পারেন. আর তাই, আপনি দেখতে পারেন. আর সাত আপনি সবকিছু করতে পারে না মানে. সুতরাং কেন এই অকট্যাল সংখ্যা বলা হয়? হ্যাঁ, আপনি এটা আমার মনে হয়, এখানে বিরূদ্ধে ভোট এবং yeses মত, এবং আমরা তাদের সম্পর্কে চিন্তা লাল এবং সবুজ বক্স হিসাবে, হয়তো এটা একটু পরিস্কার করে তোলে. কিন্তু আমরা যারা লাল বাক্সে আমার মনে হয় বেশী হিসাবে zeros এবং সবুজ বক্স হিসাবে, এইসব আসলে শুধু সেট বাইনারি সংখ্যার, ডান? 000 0 দশমিক অনুবাদ; 001, 1 দশমিক; 010 তাই দশমিক 2, এবং. আর তাই আমরা এই অকট্যাল কল নম্বর আছে, কারণ আট বিভিন্ন সম্ভাবনার হয়. আট আছে আমরা হন তাহলে বিভিন্ন সংখ্যা তিনটি বিষয়ে কথা information-- বিট পড়ুন বিট, লেখার বিট, এবং চালানো বিট. তাই এখন আপনি বাইনারি কথা বলতে পারেন, দশমিক, হেক্স, এবং অকট্যাল. তাই আপনার সাথে যোগাযোগ কিভাবে জানেন চারটি ভিন্ন সংখ্যা কম্পিউটার সিস্টেম, যাতে বেশ শান্ত. সুতরাং, অকট্যাল এছাড়া অনুমতি প্রকল্প, আছে এছাড়াও সিম্বলিক অনুমতি কিছুটা ভিন্ন, যা প্রকল্প, এবং সাধারণত প্রয়োগ করা ভাল ব্যবহার করা হয় বা বোর্ড জুড়ে একটি অনুমতি সরাতে. সুতরাং একটি প্লাস এক্স ফাইল chmod ডান যোগ হতে পারে সব থেকে তিন চালানো users-- এর ধরন নিজেকে, আপনার দলের, এবং বিশ্বের. যে প্লাস যোগ অংশ. চালানো ঠিক আছে, যে এক্স এর. এবং এটি আসলে সব ক্ষেত্রে প্রযোজ্য যে ব্যবহারকারীদের তিনটি গ্রুপ একটি হবে. সুতরাং একটি প্লাস x-- সম্ভবত যাচ্ছে আপাততঃ chmod 711 হিসাবে ঠিক একই হতে আপনি ফিরে যান, তাহলে কারণ, ফাইল এবং অকট্যাল সংখ্যা প্রকল্প তাকান, বেশী এবং সেভেনস আমাদের দিতে একটি ফাইল চালানো সঠিক. তাই এটা সম্ভবত একই. এবং যদি আপনি এই ব্যবহার করতে পারেন জন্য রেফারেন্স গাইড কি বিভিন্ন জিনিষ সিম্বলিক chmod হয়- ing গঠন হয়. সবুজ জিনিস এখানে হবে যেখানে সব সবুজ রঙের উদাহরণস্বরূপ একটি দ্বিতীয় আগে ছিল. নীল নীল হবে. কমলা কমলা হবে. তাই আপনাকে কিছু আবেদন করতে পারেন আপনার গ্রুপ, অন্যদের, ব্যবহারকারী যাও, না এটা সকলের জন্য. আপনি তাদের পড়তে দিতে পারেন, লিখুন, এবং এক্সেস চালানো, এবং আপনি যোগ করতে অথবা মুছে ফেলতে পারবেন বা ঠিক একটি সেট প্রদান করুন এই মডেল ব্যবহার অনুমতি. আমরা কি একটি পরীক্ষা কীভাবে ফাইলের অনুমতি স্কীম? আমরা এটা পরিবর্তন করার আগে, এটা আসলে জানতে সম্ভবত ভাল ফাইল অনুমতি আছে কি. এই কাজ করার একটি পদ্ধতি LS চালানো হয় কিন্তু এটা অল্প খামচি. তাই আমি টাইপ তাহলে LS l-- ড্যাশ যে হয়তো l-- একটি ছোট হাতের অক্ষর ব্যবহার আমি ভালো কিছু দেখতে পাবেন. এটি একটি সামান্য বিট দেখায় রহস্যপূর্ণ, কিন্তু আমরা সত্যিই যত্নশীল যে অংশ ওইখানে বাম উপাদান. যে আসলে নির্দিষ্ট করে একটি ফাইলের অনুমতি প্রকল্প. কারণ এটি সম্ভবত আপনি বলতে পারেন R এর, এর W, এবং এক্স এর পরিকীর্ণ পেয়েছিলাম. যারা প্রথম তিন প্রথমটি উপেক্ষা একটি দ্বিতীয় জন্য যা আমরা ফিরে দ্বিগুণ হবে. যারা প্রথম তিন পরে first-- দ্বিতীয় তাই, তৃতীয়, চতুর্থ এবং অক্ষর যে 10 পংক্তির আপনি যে অনুমতি আছে. সুতরাং দৃশ্যত আমি পড়তে পারেন লিখুন, এবং পিএইচপি চালানো. আমি পড়তে, লিখতে, এবং পারেন , পিএইচপি WebDev চালানো এবং আমি পড়া এবং test.php লিখতে পারেন. আমার গ্রুপ এই কাজ করতে পারেন. সুতরাং দৃশ্যত পিএইচপি সঙ্গে এবং পিএইচপি WebDev ডিরেক্টরি, আমার গ্রুপ লিখে দিতে পারেন তাদের কিন্তু কিছুই অন্যথায়. আর বিশ্বের কিছুই করতে পারবো না. তাই এই ফাইল নয় সাধারণের জন্য প্রবেশ এবং আমি করার চেষ্টা করে তাদের অ্যাক্সেস এবং আমি ছিল না Apache চলমান তাদের সুগম করতে, তারপর আমি একটি 403 ত্রুটি পেতে হবে. এটা একটা ব্যর্থতা. আমি একটি ফাইল অ্যাক্সেস করতে চেষ্টা করলাম, কিন্তু আমি এটা করতে অনুমতি নেই. এবং যে প্রথম অক্ষর কি? ওয়েল, আপনি সম্ভবত দূরদর্শন পারেন এখানে ডি 'র ডিরেক্টরি চিহ্নকারী এবং ড্যাশ বোঝায় "নিয়মিত ফাইল." তথাকথিত আপনি করেছি যখন আর হয়তো আপনি এই দেখা করেছি RM ব্যবহার করে একটি ফাইল মুছে ফেলার চেষ্টা. আপনি রহস্যপূর্ণ বার্তা দেখা করেছি "নিয়মিত ফাইল মুছে ফেলুন" - এই ক্ষেত্রে, এটা test.php হতে চাই. নিয়মিত ফাইল শুধু কিছু বিষয় একটি তালিকা না. অন্যদের একটি দম্পতি আছে এখানে, কিন্তু সাধারণত আপনি আছেন ডি 'র ডিরেক্টরি জন্য দেখতে যাচ্ছে এবং প্রথম উপাদান জন্য কিছুই. কিন্তু যে সত্যিই সব আছে এটা হয়. আপনি ফাইল পরীক্ষা করতে পারবেন LS ড্যাশ L ব্যবহার অনুমতি, আপনি যেমনটি chmod ব্যবহার করে তাদের পরিবর্তন করতে পারেন. এবং, অবশ্যই, these-- ব্যবহার অনুমতি পরিবর্তন এই MVC দৃষ্টান্ত জোরদার করা আপনার ওয়েবসাইটে তথ্য রক্ষা এবং ব্যবহারকারীদের অনুমতি না সবকিছু অ্যাক্সেস করতে, তারা চাইবে কিন্তু শুধুমাত্র স্টাফ আপনার পৃষ্ঠার জন্য যাতে অ্যাক্সেস আপনি এটি কাজ করতে চান ভাবে কাজ করতে. আমি ডগ লয়েড আছি. এটি CS50.