[Powered by Google Translate] [8 সপ্তাহ, ক্রমাগত]
[ডেভিড জে Malan] [হার্ভার্ড বিশ্ববিদ্যালয়]
[এটি CS50.] [CS50.TV]
>> এটি CS50, তাই এই সপ্তাহ এখানে 8 শেষে.
অবশ্যই আমরা হারিকেন এর একটি বিট ছিল এই সপ্তাহের শুরুর দিকে,
তাই এখনই এটা সত্যিই আপনার এই বক্তৃতা কক্ষে এবং সম্পর্কে,
কিন্তু আজ আমরা পিএইচপি সম্পর্কে আমাদের কথোপকথন অবিরত
এবং ওয়েব প্রোগ্রামিং সম্পর্কে আরো সাধারণভাবে, এবং আমরা ধারণা প্রবর্তন করা
ডেটাবেসের, বিশেষ করে এক মাইএসকিউএল, যা অত্যন্ত জনপ্রিয় এই দিন বলা হয়,
কারণ তার বৃদ্ধির উদ্দেশ্যে হিসেবে তার কারণ হচ্ছে মুক্ত ও ওপেন সোর্স বড় অংশ.
>> কিন্তু প্রথম, যেখানে আমরা বাকি শেষ সময় বন্ধ কটাক্ষপাত.
পুনরাহ্বান যে আমরা বিভিন্ন Frosh আপনাকে IM উদাহরণ দিকে তাকিয়ে ছিল,
এবং এই ফর্ম ছিল জঘন্য যে আমি কিছু 15 + বছর আগে ভেবে
যাতে নবীন কোনো রাষ্ট্র, গোষ্ঠী, সংগঠন বা বিদ্যায়তনের মধ্যে অবস্থিত স্পোর্টসের জন্য ক্যাম্পাস নিবন্ধন উপর ছাত্র আছে
স্থানান্তরণ যাও ছাড়া আসলে আর হচ্ছে গজ জুড়ে উইগ্লসওয়ার্থ যাও
একটি কাগজ শারীরিক কিছু নায়ের এর দরজা নীচে টুকরা স্লাইড.
এর পরিবর্তে আমরা সবকিছু অনলাইন স্থানান্তরিত, কিন্তু যে আমরা ব্যবহার করতে প্রয়োজন না
কয়েক প্রযুক্তি, তাই এক, আমরা আপনাকে HTML, হাইপারটেক্সট মার্কআপ ভাষা প্রয়োজন,
যা আবার এই মার্কআপ ভাষা যা দিয়ে আপনি ওয়েব পেজ গঠনের দিক দিয়া না.
>> CSS এর একটি বিট ব্যবহার করে এই দিন, স্টাইল শীট cascading,
যেখানে আমরা ওয়েব পৃষ্ঠার stylizations একটি কিছুটা ভিন্ন সিনট্যাক্স ব্যবহার,
যেহেতু এইচটিএমএল ছিল উহার গঠন সম্পর্কে সব.
আমরা একটি ওয়েব প্রোগ্রামিং ভাষা প্রবর্তন করা প্রয়োজন.
এই ক্ষেত্রে, আমরা পিএইচপি ব্যবহার, এবং পিএইচপি আমাদের অনুমতি দিতে যাচ্ছে করব
পরিবর্তনশীলরূপে আউটপুট হিসাবে কন্টেন্ট হিসাবে ভাল লেগেছে প্রোগ্রাম্যাটিক জিনিষ না
ইমেল হিসাবে, ছিল নোট আমরা বাকি শেষ সপ্তাহে কেস.
>> প্রত্যাহার করা যে এই কোড 2 অংশে ছিল.
এক, আমরা froshims3.php ছিল,
এবং এই ছিল একটি HTML ফর্ম এটা ভেতরে সঙ্গে মূলত মার্কআপ,
CSS এর একটি ক্ষুদ্র শৈলী গুণাবলী মধ্যে বিট আপ করুন এখানে
তাই যে ফর্ম মধ্যে পাতা, কিন্তু যে অতিক্রম করা হবে কেন্দ্রীভূত
আমরা কিছু প্রতিনিধির ইনপুট ফর্ম, একটি টেক্সট ক্ষেত্রের, একটি চেকবক্স ছিল,
কিছু রেডিও বাটন, একটি মেনু নির্বাচন করুন, এবং একটি submit 'বোতাম.
এবং এই ফর্মের মাধ্যমে, আমরা একটি ফাইলে যে দৃশ্যত বলা হত register3.php জমা দেওয়া,
যা নিজেই একটি ভালো সামান্য কিছু লাগছিল.
এখন, register3.php, রিকল, কোড অধিকাংশ ছিল ইমেল সম্পর্কে সব.
এটি একটি যাচাইকরণ সামান্য ফর্ম যে নিশ্চিত করা জমা ছিল বিট কি
আসলে ক্ষেত্র প্রদান করা হয় যে প্রত্যাশিত ছিল.
তারপর আমরা কিছু পিএইচপি ফাংশন বলা সামান্য নতুন সিন্টেক্স ব্যবহার করে,
যদিও এটি সি এর থেকে ধার করা
>> এই তীর অপারেটর আমাদের কিছু বলা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ব্যবহার করতে সাহায্য করে.
আমরা যে ঢোকা হবে না কোনো এখানে বিস্তারিতভাবে, কিন্তু এখন জানি
এটা বস্তুর সঙ্গে যুক্ত থাকার ফাংশন একটি উপায়,
যা একটি বিশেষ ধরনের গঠন, সি হিসাবে আমরা দেখেছি
কিন্তু এখন জন্য, শুধুমাত্র বিশ্বাসের উপর নিতে হবে যে এটা সঠিক বাক্য গঠন ব্যবহার
যখন এই PHPMailer গ্রন্থাগারের মত একটি লাইব্রেরি ব্যবহার করে.
এই ফাইলের শেষে দ্বারা এবং তারপর আমরা পরিবর্তনশীল একটা ইমেল করে উত্পন্ন
যে আমার jharvard@cs50.net অ্যাকাউন্টে পাঠানো হবে
আমার একাউন্ট থেকে jharvard@cs50.net,
এবং আমরা ব্যবহারকারী অতএব যে তারা এই ক্রীড়ায় জন্য করা হয়েছে নিবন্ধিত ছিল.
যা প্রায় কাছাকাছি কি Frosh আপনাকে IM সাইট কি ঐ সমস্ত বছর আগে
যখন আমি এটি প্রয়োগ করার জন্য, একটি ভিন্ন ভাষায় দেওয়া,,
কিন্তু আপনি সম্ভবত দেখায় যে ক্ষমতা আছে
এখন যে আপনি নিজেকে প্রকাশ না শুধুমাত্র programmatically পারেন
একটি C-এর মতো একটি ভাষার মধ্যে নিম্ন স্তরের কিন্তু এ একটি অনেক উঁচু মাত্রার
সঙ্গে এই অত্যন্ত বাস্তব ইমেল দুনিয়া অ্যাপ্লিকেশনের আসলে সমাধান
কিছু বাস্তব বিশ্বের সমস্যা.
>> অবশ্যই এখন,, যদিও আমি এই স্ক্রিপ্টের কিছু জেনারেট ব্যবহার
jharvard@cs50.net, যা প্রকৃতপক্ষে একটি অ্যাকাউন্ট থেকে পরিবর্তনশীল ইমেল
যে আমি এক্সেস আছে, খুব পাঠাতে সতর্ক থাকুন না
অ্যাকাউন্ট যে আসলে আপনার নিজের থেকে শুধুমাত্র মেইল,
পাছে জিনিস গরম জল একটি জীবনের বিট আপনাকে পেতে.
সঙ্গে বলেন যে, এখন এর যাক একটি বিভিন্ন সমস্যা সমাধান সম্পূর্ণভাবে রূপান্তর,
ধারনকারী রাজ্যের যে.
এখন কি, আসলে এর মানে কি?
HTTP-র ক্ষেত্রে, এই হাইপারটেক্সট ট্রান্সফার প্রোটকল,
এটি আসলে একটি আড়ম্বরহীন প্রোটোকল, এবং এই কি উপায় হল যে
যখন আপনি Google.com ভালো কিছু মুঠি ধরে টেনে তুলবো এবং তারপর এন্টার
সাধারণত আপনার ব্রাউজার কাটনা আইকন কিছু আছে যা পরে
কিছু ওয়েব পাতা ফলাফল ডাউনলোড হচ্ছে,
এবং তারপর যে সামান্য আইকন স্টপ স্পিনিং, এবং যে প্রকৃতপক্ষে সুপারিশ
যে HTTP-র সম্পূর্ণ সার্ভারের সাথে সংযোগ কিছু করেনি এবং যে এটি.
HTTP-র অনুভূতি যে এটা বজায় রাখা না না এ হল আড়ম্বরহীন
একটি সার্ভারে ক্রমাগত একই ভাবে স্কাইপ সংযোগ আছে
Gchat অথবা HTTP-র সাথে আছে কারণ
স্বতঃসিদ্ধ যে একবার আপনি একটি ওয়েব পাতা যে আয় করেছি.
>> এখন, বাস্তবতা ফেসবুক এবং Google Maps-এর মত সাইটে এইসব দিন
এবং টুইটার এবং আরো অনেক ভালো একটি গতিশীলতা আছে যদ্দ্বারা
এমনকি পরে যে আইকনটি স্টপ কাটনা আসলে আপনি আরো আপডেট পেতে পারেন
সার্ভার থেকে, আরো টুইট, আরো ফেসবুকে স্ট্যাটাস আপডেট এবং ভালো.
এমনকি যে একটি পন্থা যা আমরা সপ্তাহে একটি বা দুটি কথা বলতে সম্পর্কে করব ব্যবহার করা হয়
Ajax একটি ভাষা বলা হয় জাভাস্ক্রিপ্ট ব্যবহার হিসাবে পরিচিত,
কিন্তু দিনের শেষে, HTTP-র এখনও দেশহীন.
এবং এখনো যদি আপনি একরকম একটি ব্যবহারকারী সম্পর্কে জিনিষ মনে রাখতে চান
এমনকি পরে তারা আপনার সার্ভার থেকে সংযোগ বিচ্ছিন্ন করেছি
পিএইচপি আপনি এই কাজ করার উপায় সামর্থ্য আছে
কারণ, আমরা শেষ সময় দেখেছি, পিএইচপি আছে superglobals একটি নম্বর,
এবং একটি superglobal হয় আবার,, একটি বিশেষ বিশ্বব্যাপী পরিবর্তনশীল
আপনি যে ওয়েব সার্ভার এবং পিএইচপি দ্বারা নিজেই হস্তান্তর করা হয়.
>> আপনি যদি এটিকে মান করা না থাকে,
এবং superglobals আমরা এইভাবে দেখা করেছি মধ্যে এবং পেতে হয় পোষ্ট,
যা যেখানে ফর্ম ক্ষেত্রগুলি আপনার জন্য স্বয়ংক্রিয়ভাবে করা হয়,
সেইসাথে অন্যদের একটি দম্পতি যে আমরা এখনো দেখা যায় না.
এর মধ্যে $ _server ভিতরে কিছু বিশেষ সম্পর্কিত সার্ভার থেকে ভেরিয়েবল.
IP ঠিকানা, কি প্রোটোকল, HTTP অথবা HTTPS দ্বারা আপনি কি এর ব্যবহার,
কি অনুরোধ পদ্ধতি আপনি ব্যবহার এবং ভালো, তাই কিছু আকর্ষণীয় আছে,
সার্ভার সম্পর্কে সরস বিবরণ, এবং সত্য, সেখানে ইউজার হিসাবে ভাল.
$ _cookie, যা যেখানে এইসব জিনিস বলা কুকিজ সংরক্ষণ করা হয় নাই.
আমরা কুকিজ সময় ব্যয় না করে নিজেদেরকে আজকের হবে,
এখন জন্য কিন্তু জানেন যে একটি কুকি শুধুমাত্র একটি তথ্য ছোট সাইজের
যে একটি ওয়েব সার্ভার একটি ওয়েব ব্রাউজারে নেওয়া হতে পারে
এবং তার মধ্যে উপস্থিত RAM-র বা তার কম্পিউটারের হার্ড ড্রাইভ চালু
একটি ব্যবহারকারী সম্পর্কে তথ্য সংরক্ষণ, উদাহরণস্বরূপ তাদের ইউজার নেম,
যাতে তারা যতবার তারা লগ ইন অথবা কিছু যাও এটি টাইপ করতে হবে না
অনন্য সংখ্যা বা সেই ব্যবহারকারীর জন্য শনাক্তকারী
যাতে আপনার প্রশ্ন সম্পর্কে একই ধরনের সঙ্গে তাদের বিরক্ত করা হবে না
পছন্দ ভবিষ্যতে, কিন্তু বেশিরভাগ
ডান এখন হল $ _session.
>> এই superglobal, যা, অন্যদের মত, আপনি পিএইচপি দ্বারা স্বয়ংক্রিয়ভাবে হস্তান্তর করা হয়
যখন আপনি পিএইচপি-ভিত্তিক ওয়েবসাইটের লেখার
আপনি যা চান, স্ট্রিং, ইন্টিজার সঞ্চয় করতে পারেন,
ফ্লোটিং পয়েন্ট, মান, অ্যারে, বস্তু,
সত্যিই কিছু করতে চান, এবং এটি আপনি যেমন একটি উপায় এটি সংরক্ষণ করতে পারবেন
এমনকি আপনি যদি ব্যবহারকারীর এখন পরিদর্শন এবং তারপর
এখন আসে বা 5 মিনিট থেকে থেকে একটি মিনিট এখন ফিরে কারণ
তারা কিছু অন্যান্য লিঙ্ক ক্লিক করার আগে তাদের সময় লাগবে
পিএইচপি যে যাই হোক না কেন আপনি যে সময় superglobal রাখা নিশ্চিত করা হবে
একটি মিনিট বা 5 মিনিট আগে এখনও আছে যখন ব্যবহারকারী আয় হবে.
এবং ফণা নীচে এই superglobal পথে দ্বারা প্রয়োগ করা হয়
সেগুলো কুকি বলা হয়, কিন্তু এখন জন্য, এটি শুধু একটি বিমূর্ততা
তদ্দ্বারা এটি একটি শপিং কার্টের প্রোগ্রাম্যাটিক সমতুল্য সাজান.
যাই হোক না কেন আপনি, প্রোগ্রামার যে, ঠেলা
superglobal এসসিয়েতিভ আরে সেখানে মিনিট পরে কিছু সংখ্যা হতে হবে
যতক্ষন না আপনি বা মুছে দিন পর্যন্ত ব্যবহারকারী তার বা তার ব্রাউজার সম্পূর্ণভাবে শোধবোধ হয়ে যাওয়া.
>> চলুন কিভাবে আসলে এই জিনিষ ব্যবহার করা হয় একটি উদাহরণ কটাক্ষপাত করা.
ইন কোড আজকের এর টুকরা মধ্যে counter.php
আমরা নিম্নোক্ত পংক্তিটি উপস্থিত আছে.
এই ফাইলটি শুরু আমরা নীল মতামত, যা এখন জন্য শুষ্ক হয় একটি গুচ্ছ আছে.
কিন্তু লাইন 13 সালে আমরা একটি নতুন লাইন আছে,
session_start, এবং যে আসলে ঠিক কি বলছেন.
এটা সেশান আরম্ভ করা হয়.
এটা যে বড় superglobal $ _session ব্যবহার করতে সক্ষম, এবং এটা যে হিসাবে হিসাবে সহজ.
এখন, যদি আমরা লাইন 16 তাকান এগিয়ে যেতে, কিছু যাও জিনিসটা কি এই ওয়েব পেজ করতে হবে চেষ্টা করুন.
যদি (isset ($ _SESSION ["কাউন্টার"]) এগিয়ে যান
পাল্টা পরিবর্তনশীল এবং দোকান, ছোট হাতের অক্ষর ব্যবহার পাল্টা,
$ _SESSION ["কাউন্টার"].
এই মনে হচ্ছে একটা স্থানীয় পরিবর্তনশীল নামক পাল্টা ঘোষণা করা হবে
ভিতরে যা তা যাই হোক না কেন superglobal ভেতরে হল একটি কপি নির্বাণ এর
অবস্থান এ সময় বলা হয় "প্রতি."
অন্যথায়, দৃশ্যতঃ এই সামান্য স্থানীয় পরিবর্তনশীল পাল্টা, 0 সক্রিয়া করা হয়.
>> কিন্তু কয়েক লাইন পরে 26 বিজ্ঞপ্তি যে কাউন্টার সময় এর কপি,
তার কি, একটি নতুন মান নির্ধারিত হয় যা তার বর্তমান মূল্য 1 যোগ হয়েছে.
সংক্ষেপে, এই ফাইল আপডেট করার সময় মনে করা যাও
একটি পাল্টা যে সময় superglobal মধ্যে এর ভিতরে সঞ্চিত
1 দ্বারা এটি বৃদ্ধিশীল, কিন্তু এটি দ্বারা প্রথম পূর্ববর্তী মান একটি কপি অপরিবর্তিত
একটি স্থানীয় পরিবর্তনশীল তা মজুত করে বলা $ পাল্টা,
এবং তারপর নিচে এখানে কিছু কি থাকবে দেখুন.
এটি সক্রিয় আউট এটি বেশ অনেক মাত্র HTML এ.
এই পৃষ্ঠার নীচের অংশে আমরা লাইন 37 দেখতে যে আমি এই সাইটটি পরিদর্শন করেছেন
বার পাল্টা নম্বর, তাই এখানে আছে একটি দম্পতি আকর্ষণীয় বৈশিষ্ট্য.
এক, এই ব্যাখ্যা স্পষ্টতই একটি পরিবর্তনশীল, কিন্তু এটা ঠিক করা না চলা
আপনার HTML এর কারণ অবশ্যই শরীরের $ পাল্টা
যদি এটা আপনার HTML পিএইচপি মধ্যে শুধু আছে যে শুধু এইচটিএমএল অনুমান করা যাচ্ছে.
আপনি আক্ষরিক চান $ পর্দায় মুদ্রিত করা পাল্টা.
>> কিন্তু এর পরিবর্তে দ্বারা পিএইচপি মোডে ড্রপ
সিনট্যাক্স এই টুকরা সঙ্গে আমরা পরিবর্তনশীল একটা মান সন্নিবেশ করতে পারেন
আত্মা খুব অনুরূপ কি আমরা শেষ সময় কি যাও
স্ট্রিং মধ্যে মান সন্নিবেশ.
বস্তুত, এই মাত্র একটি ভালো কিছু আক্ষরিক বলছে সাঁটে লেখার জন্য স্বরলিপি,
মুদ্রণ ($ পাল্টা), এমনকি বা printf (% s, পাল্টা) ভালো কিছু,
এমনকি, আপনার হিসাবে দেখা অনলাইন বা পাঠ্যবই থাকতে পারে,
পিএইচপি একটি ফাংশন বলা প্রতিধ্বনি আছে
যা একই জিনিস আছে, এবং যারা সব ঠিক আর বিরক্তিকর উপায়
এর বলছে <? =.
এই একটি ক্ষেত্রে আপনার করা প্রয়োজন হবে না
প্রশ্ন চিহ্ন পরে শব্দ পিএইচপি.
এই জন্য সাঁটে লেখার স্বরলিপি আবার,, কি ঠিক আমরা দেখেছি একটি মুহূর্ত আগে
যা কিছু মান অনুনাদী হয়.
>> এর কি আসলে এই শেষ ফলাফল দেখুন যাক.
আমাকে আমাদের counter.php ফাইলে পুনরালোচনা,
এবং আমরা যে শুধু ডেভিড বাজানো সেখানে কোড দ্বারা একটি ভুল দেখতে পাবেন.
চলুন শুরু করা যাক ফিক্স যাই হোক না কেন তিনি মাতাল আপ যান,
এবং ত্রুটি আছে বলে মনে হয়, লাইন 37 নেভিগেশন এড়িয়ে চলে গেছে,.
এই পৃষ্ঠার উপরের অনুযায়ী আমি 0 বার এই সাইট পরিদর্শন করেছেন.
ওয়েল, এখন এর এগিয়ে চলুন, এবং ব্রাউজার শীর্ষে ক্লিক করুন
আইকন, পুনরায় লোড করুন এবং আমি রিলোড ক্লিক করুন,
এবং এখন আমি সাইট সময় 1, 2, 3, 4, 5, 6, 7, 8 পরিদর্শন করেছি.
এবং সত্যিই, যদি আমরা এই পৃষ্ঠার উত্স তাকান আসল সোর্স কোড পরিবর্তন করা হয়,
এবং কোন পিএইচপি সম্পূর্ণ অনুপস্থিতি, বিজ্ঞপ্তি এবং যে কারণে
পিএইচপি কোড অথবা বুদ্ধ সার্ভার প্রান্তের ব্যাখ্যা করা হয়,
এবং যাতে মানে হল পিএইচপি স্ক্রিপ্ট আউটপুট কি ব্রাউজারে চরমভাবে পাঠানো হবে,
যা এই ক্ষেত্রে কিছু কাঁচা HTML এবং কিছু কাঁচা টেক্সট.
যাচ্ছে কি এখানে এর?
>> কোড অপেক্ষাকৃত কয়েক লাইন ভাল, আমি সঞ্চয় করতে পারবেন
নিরবচ্ছিন্নভাবে আমরা বিভিন্ন যাও অবশ্যই উপর, বা যদি ঢুকে যথেষ্ট,
মিনিট, ঘন্টা এমনকি, একটি পথ যে HTTP-র মধ্যে কিছু তোলে মান
stateful হিসাবে যদিও আমরা ক্ষমতাধীন করেছি বলে মনে হচ্ছে
সার্ভারের সাথে এই সংযোগ, এবং এটা মনে এর কি আমি এটা বলা শেষ সময়,
কিন্তু বাস্তবে একটি জটিলতা আভা ফণা নীচে যাওয়া আছে
কুকিজ যে পিএইচপি এই বিভ্রম দিতে সম্পর্কে সক্রিয় এর জড়িত
এই শপিং কার্ট-ভালো বৈশিষ্ট্য.
এখন জন্য, একটি তুচ্ছ উদাহরণ যেখানে আমরা পূর্ণসংখ্যা মান সংরক্ষণ করছেন,
কিন্তু যে মহান বৈশিষ্ট্যের মান হতে ফিরে আসা হবে
যখন আমরা শুরু আরো জটিল প্রকল্পের বিষয়ে কথা বলছি,
তাদের মধ্যে সমস্যা 7 সেট.
এটি আপনার শেষ সমস্যা CS50 মধ্যে সেট.
আমি জানি, এটা তাই দু: খিত, কিন্তু আপনি যা পাবেন হয় যে আমরা এই উপসংহারে চলুন
এই সেমিস্টারে আসলে রূপান্তরের দ্বারা অংশ
থেকে C-এর প্রসঙ্গ অবশ্যই যাও PHP 'র কনটেক্সট
কিন্তু যখন একই মৌলিক কিছু ব্যবহার
আমরা যে বিষয়ে কিছু সময় বললাম করেছি.
>> pset 7 সঙ্গে উদ্দেশ্য CS50 ফাইন্যান্স বাস্তবায়ন হয়,
যা আপনার ইয়াহু ফিন্যান্স বা Google Finance-নিজস্ব সংস্করণ
অথবা এমনকি যেখানে আপনি ক্ষমতা থাকবে Etrade.com
প্রদত্ত প্রতীকের জন্য চেহারা স্টকের মূল্য আপ, কিন্তু সেই তুলনায় এমনকি আরো
আপনি "কিনতে" এবং "বিক্রয়" স্টক ক্ষমতা আছে
যে বিভিন্ন স্টক এক্সচেঞ্জ কারণ এই হোম পৃষ্ঠা হিসাবে বানিজ্য করা হয়
এখানে প্রস্তাব দেওয়া হয়, যা সত্যিই হল ব্যাপ্তি যা আমরা শুরু করেছি
আপনার জন্য সমস্যা সেট, আপনি একটি লগইন ফর্ম যে একটি ব্যবহারকারী নাম এবং পাসওয়ার্ড জন্য একটি জিজ্ঞেস আছে.
এটি একটি submit 'বাটন আছে, কিন্তু তারপর, হিসাবে অবশেষে আমরা দেখতে পাবেন,
সেখানে কিছুই সত্যিই ফণা নীচে যাচ্ছে এখনও কারণ এটি
অবশেষ জন্য আপনি নতুন ব্যবহারকারী রেজিস্টার ক্ষমতা বাস্তবায়ন,
ক্ষমতা স্টক, স্টক বিক্রি কিনতে যাও,
প্রকৃতপক্ষে বর্তমান স্টকের মূল্য সন্ধান.
>> এবং প্রকৃতপক্ষে, এই বাস্তব জগতে হিসাবে সম্ভাব্য কারণ হিসাবে আমরা কি হবে
কোড একটি বিট যে একটি একক কার্যকারিতা সঙ্গে আপনাকে অনুমতি দেবে অন্তর্ভুক্ত
যাও ইয়াহু ফিন্যান্স, যা wonderfully বিনামূল্যে পাওয়া তথ্য তোলে অনুসন্ধান
খুঁজছি স্টক স্টক প্রতীক বা সিম্বল কাঁটার উপর ভিত্তি নেই আপ,
এবং আপনি পেতে বর্তমান দিনের স্টক মূল্য ফেরত.
এই বিশেষ pset মধ্যে তথ্য আসলে আপনি দেখছেন হবে
সম্পর্কে হিসাবে বাস্তব জগতে হিসাবে তাই এটি আসলে আপনি পোশাকের করছি পেতে পারেন
সঙ্গে সত্যিকারের বিশ্বের স্টক, বাস্তব জগতে নেই,
এবং আমরা কত টাকা সম্ভবত আপনি করতে পারেন দেখতে হইবে
পরের উপর আপনার নিজের সমস্যা সেট দিয়ে বাজানো বহু দিনের.
>> কিন্তু প্রথম let এর কত কিছু যে অবশ্যই আরো জটিল ডিজাইন জন্য পর্যায়ে সেট
counter.php ছাড়া, যে কোনো Frosh আপনাকে IM উদাহরণের পর্যন্ত অধিক জটিল,
এবং এর কয়েক paradigms পরিচয় করিয়ে এখানে চেষ্টা যাক যে আমাদের মঞ্জুরি
উভয় জন্য pset 7 এবং হয়ত আপনার জন্য চূড়ান্ত প্রকল্প যদি আপনি কিছু ওয়েব ভিত্তিক না
আপনার কোড ভাল সংগঠিত রাখতে, নিজেকে মানসিক রাখা,
এবং সহযোগী দিকে একটি পদক্ষেপ যাও, নিতে কিনা মধ্যে CS50 এর চূড়ান্ত প্রকল্প
বা তার পরেও যদি আপনি ভবিষ্যতে কিছু প্রোগ্রাম অবিরত.
এই সাধারণ নকশা দৃষ্টান্ত আছে
কম্পিউটার বিজ্ঞান এবং সফটওয়্যার উন্নয়ন আরো সাধারণভাবে
MVC, মডেল দেখুন নিয়ামক হিসাবে পরিচিত,
এবং এই একটি মূর্খ আদ্যক্ষরা যে একটি খুব সুন্দর ধারণা বর্ণনা করে,
যা একটি প্রোগ্রাম বিভিন্ন দিক বিচ্ছেদ,
নির্দিষ্টভাবে পৃথক ন্যায়শাস্ত্র বা ওয়েবসাইটের বিজনেস লজিক পালন
যাতে কিছু যে জিনিস ভালো জড়িত থাকে
ফাংশন কলিং এবং উপাত্ত অনুসন্ধান করা এবং ভালো
আপনার HTML মধ্যে ঘটবে না
বরং পৃথক ফাইলের মধ্যে, এবং প্রকৃতপক্ষে, এই একটি ফাইল আছে
সাধারণত যে আপনি নিয়ামক বলা আছে
যে সত্যিই অপারেশন পিছনে ঘিলু, এবং আমরা একটি উদাহরণ দেখতে পাবেন
শুধু এই একটি মুহূর্ত.
>> একটি মডেল যা হয় প্রোগ্রামিং কোড আছে
যে কথা বলা আপনার ডাটাবেস, যে ইয়াহু ফাইন্যান্স এবং মত যেনো আছে,
এবং তারপর ভী MVC মধ্যে, দৃশ্য আছে,
সমস্ত জিনিস যে সৌন্দর্যবোধ, ফাইল থাকে যে আসলে এর সাথে সম্পর্কিত
আপনার HTML, CSS এবং হয়তো আপনার ভালো.
এখানে ধারণা, এই ছবি হিসাবে দাড়ায়, যে নিয়ামক
ফাইল হয়, যত তাড়াতাড়ি আমরা দেখতে এবং বিশেষত হিসাবে আপনি pset 7 দেখতে পাবেন পাবেন,
যে বিশ্ব তাদের ওয়েব ব্রাউজার মাধ্যমে যেনো.
যে ফাইলটি যে পাবলিক ইন্টারনেট পরিদর্শন পরার,
কিন্তু নিয়ামক সম্ভাব্য একটি মডেল যেনো,
যা এক বা একাধিক ফাইল অন্য যে কোড সংক্রান্ত তথ্য থাকে,
উপাত্ত এবং ভালো যাও কোড এর সাথে সম্পর্কিত, এবং তারপর এটি যেনো যাও
নিয়ামক এক বা আরো অন্যান্য মতামত হিসাবে পরিচিত ফাইল,
যা একটি ওয়েব পৃষ্ঠার নন্দনতত্ব, প্রকারের টেমপ্লেট,
যে ইনপুট হিসাবে কিছু তথ্য নিতে পারে, কিন্তু এ দিনের শেষে
একটি দৃশ্য ভিতরে শুধুমাত্র যুক্তিবিজ্ঞান যে তথ্য রেন্ডারিং করা উচিত,
iterating একটি লুপ উপর এবং প্রকৃতপক্ষে নিষ্ঠীবন - নিক্ষেপ কিছু আউট
HTML-ভিত্তিক একটি পিডিএফ প্রতিদান ভালো উহার বা এমনকি কিছু.
>> কি MVC সম্পর্কে চমৎকার হয় যে আপনি বিভিন্ন মতামত থাকতে পারে
ভিত্তিক ডিভাইসের ধরন, ফাইল ফরম্যাট যে আপনি আসলে ধরনের উপর ভিত্তি করে
ব্যবহারকারী যাও দেখাতে চান.
যাক এর কয়েক কার্যক্রমে আরো জটিল এবং ভাল ডিজাইন উদাহরণ কটাক্ষপাত করা
দ্বারা সংস্করণ এখানে 0 সাথে প্রথম শুরু.
আমাকে এগিয়ে যান এবং আমাদের MVC ডিরেক্টরির মধ্যে পূর্ণপ্রকাশিত আজ
ফাইলটি একটি ডিরেক্টরি 0 মধ্যে index.php নামে.
উল্লেখ্য, এই একটি সুপার সহজ এবং খুব underwhelming ওয়েবসাইট
যে CS50 জন্য হোমপেজে একটা সংস্করণ 0 বাছাই করা,
এবং কিভাবে আমরা লেকচার একটি লিঙ্ক আছে বিজ্ঞপ্তি, আমরা সিলেবাস একটি লিঙ্ক আছে,
এবং যদি আমি লেকচার বিজ্ঞপ্তির লিঙ্ক অনুসরণ করুন যে URL
আপ শীর্ষ lectures.php পরিবর্তন হতে চলেছে.
যদি আমি সপ্তাহ 1 বিজ্ঞপ্তির লিঙ্ক অনুসরণ করুন যে week1.php URL-এ পরিবর্তন.
মনে হচ্ছে একটা মোটামুটি সহজ হায়ারারকিকাল গঠন এখানে আছে.
>> কিভাবে এই আউট এর পাড়া হল একটি ফণা নীচে দ্রুত চলুন,
এবং সত্যিই, আমি যদি index.php তাকান এটি বেশ সহজ.
আসলে, যদিও এই নামে আমি একটি পিএইচপি ফাইল কোন প্রকৃত প্রোগ্রামিং কোড আছে.
একটি মন্তব্য নেই যে আমি পিএইচপি এখানে লিখেছে ঠিক তাই ব্যবহারকারী আপ তা দেখছি না শেষ নেই.
অবশ্যই, হিসাবে আগে, কিছু মধ্যে পিএইচপি ট্যাগ যে
পরার ব্যাখ্যা, এমনকি যদি একটি মন্তব্য নেই, এবং একটি মন্তব্য নেই ব্যাখ্যা যাও
মানে শুধু এটা নিক্ষেপ দিনের শেষে দূরে না এবং প্রকৃতপক্ষে
ব্রাউজারে এটি পাঠাতে, তাই এখানে সবকিছুই ঠিক নন্দনতত্ব.
যদি আমি খুলুন একভাবে lectures.php খুব এটি শুধু একটি হার্ড কোডেড ফাইল.
এটা করা হবে বলা কিছু যাও. পিএইচপি,
কিন্তু সত্যিই এটা ঠিক. এইচটিএমএল, এবং week1.php, week2.php
একভাবে শুধু মার্কআপ, তাই এই নকশা shortcomings একটি গুচ্ছ আছে.
এক, যে এটা একটা কপি / পেস্ট বিপুল পরিমাণ.
যদিও শুধু যে ফাইলগুলি এর মধ্যে পরিবর্তন হয় unordered তালিকা,
li ট্যাগ, তবু আমি doc টাইপ, এইচটিএমএল, মাথা,
শিরোনাম, বন্ধ শরীর, বন্ধ HTML এবং আরো
প্রতি একক ফাইলের মধ্যে, যার অর্থ হল যে যদি কখনো আমি চাই নতুন করে গঠন করা যাও
এই ওয়েব পাতা অথবা এটি আমি এ যান এবং পরিবর্তন আছে restylize
সব ফাইলগুলি বা ম্যানুয়ালি দিয়ে কিছু বৃহদায়তন এবং অনুসন্ধান করে প্রতিস্থাপন.
>> যাক এর একটি সংস্করণ এখানে 1 বুদ্ধিমতী, আর চিন্তা নকশা দিকে একটি পদক্ষেপ গ্রহণ করা
তদ্দ্বারা হিসাবে প্রতি সম্পর্কে পড়তে যাতে আমরা অন্তর্ভুক্ত যে আপনার সাথে খেলা বরাবর পারেন
এইসব হোম নোটিস আরো ব্যস্ততাহীন যে আমরা এখানে আছে
ফাইলের এই সাইটের সংক্ষিপ্ত সংস্করণ 1,
এবং মনে হয় যে আমি এটা গ্রহণ করেছি উপর নিজেকে আউট বিবেচনার যাও
কিছু সাধারণ কোড, header.php এবং footer.php.
ওয়েল, আমি কি সেই প্রথম ভিতর কি কটাক্ষপাত করা.
Header.php দেখায় পরিচিত,
কিন্তু যেখানে এটা ছিন্ন করতে বিজ্ঞপ্তি?
রাইট পরে লাইন 19, যাতে এর যা ছিল সাধারণ
থেকে ফাইল index.php, lectures.php,
week1 এবং পূর্ববর্তী উদাহরণ থেকে week2.php.
আমি কি কি ছিল কপি এবং কাটা যা ছিল সাধারণ সমস্ত ফাইল,
একটি পৃথক হেডার ফাইল রাখা, এবং একই সালে footer.php
আমি কি একই নীতি প্রযোজ্য যেখানে শুধু আকর্ষণীয় লাইন
footer.php মধ্যে এই দুই, শরীরের নিকট এবং ঘনিষ্ঠ এইচটিএমএল.
>> কিন্তু এখন কি এই মানে নতুন সংস্করণের মধ্যে যে
এর index.php বিজ্ঞপ্তি কতটা সহজ তা পেতে পারেন.
মঞ্জুর, একটি বিট আরো রহস্যপূর্ণ খুঁজছেন, একটু কম স্বজ্ঞাত
উপরে নীচে অনুসরণ করে, কিন্তু আমার ঈশ্বর, এখন যে অতিরেক সব সর্বস্বান্ত হয়.
আমাদের প্রয়োজন একটা পিএইচপি ফাংশন আক্ষরিক তলবি শীর্ষ প্রয়োজন ব্যবহার করে,
যা খুব স্মরণ করিয়ে দেয়,, প্রত্যাহার C-এর # পদ্ধতিও অন্তর্ভুক্ত.
আমরা উপরের header.php প্রয়োজন.
আমরা নীচে footer.php প্রয়োজন, এবং একমাত্র জিনিস যা বিভিন্ন
অথবা এই ফাইল সম্পর্কে বিশেষ কন্টেন্ট হয় যে অনন্য এটা সেসব.
যদি আমি,, বলতে মধ্যে lectures.php যান, একই নীতি প্রযোজ্য.
আবার, উপরে কিছু মন্তব্য, তাহলে কিন্তু আমি প্রয়োজন হেডার, ফুটার প্রয়োজন,
এবং এটি তাদের মধ্যে মাত্র কন্টেন্ট যে আসলে এর পরিবর্তন.
এবং যদি আমরা সপ্তাহ 1 এবং 2 সপ্তাহ মধ্যে লাগছিল আমরা দেখতে চাই
সেই একই নীতি প্রয়োগ করা হয়েছে.
ওয়েল, সেখানে আমরা বেশ কাজ করছি না.
>> যাক এর সংস্করণ 2 কটাক্ষপাত, যা একটি অনুরূপ গঠন নিতে হয়েছে,
কিন্তু এখন আমি অন্য কিছু লক্ষ্য করা শুরু করেছি.
লাইন 10 ইঞ্চি আমি helpers.php চালু করেছি,
যা হয়ত সাহায্যকারী ফাংশন রয়েছে.
একটি সাহায্যকারী কাজ হল একটি অপেক্ষাকৃত ছোট ফাংশন
যে আপনাকে সাহায্য বিভিন্ন জায়গায় আউট লিখুন,
এবং আসুন helpers.php ভেতরে কি দেখতে.
এই ক্ষেত্রে, এটা দেখে মনে হচ্ছে এটি 2 ফাংশন আছে.
আমাদের ঘনক্ষেত্র উদাহরণ সহ অন্যান্য দিন থেকে প্রত্যাহার
আপনি আপনার নিজের পিএইচপি ফাংশন, সংজ্ঞায়িত করতে পারেন আমি এখন কি কাজ করেছেন তা আমি করেছি
সংজ্ঞায়িত নামক পাদচরণ এবং রেন্ডার হেডারের রেন্ডার ফাংশন,
প্রথম যার একটি প্যারামিটার নেয় তথ্য বলা হয়,
যার ডিফল্ট মান হল একটি খালি অ্যারে, হিসাবে সেখানে প্রস্তাব,
এবং আমরা আসলে লিখুন এই PHP 'র সর্বশেষ সংস্করণ এমনকি আরো succinctly পারেন
খোলা বর্গাকার বন্ধনী দ্বারা বলছে, বর্গাকার বন্ধনী বন্ধ.
যে কোনো আকারের 0 ফাঁকা অ্যারের তবু কিন্তু একটি অ্যারের মানে.
>> এই সার ফাংশন যে একটি ছোট বিশেষ
এটি কী জন্য প্রয়োজন তার যুক্তি হিসাবে এটি একটি এসসিয়েতিভ আরে লাগে
যে 0 বা আরো কী মান জোড়া আছে, এবং যদি আপনি foo বিন্যাস কী আছে
এবং বার নিষ্কর্ষ ফাংশন একটি মান
একটি পরিস্থিতি সৃষ্টি করে লাইন 11 হিসাবে যা এখন,,
আপনি একটি স্থানীয় পরিবর্তনশীল নামক $ foo বিন্যাস যার মান বার আছে.
এবং যদি আপনি তথ্য অ্যারের মধ্যে আরো নির্দেশক এবং মান ছিল,
একভাবে স্থানীয় সুযোগ মধ্যে তারা নিষ্কাশিত হবে
অথবা নাম স্থান যাতে footer.php এবং
নিচে এখানে একই ধারণা যাতে header.php
যারা ভেরিয়েবল অ্যাক্সেস আছে.
আসলে, আমাকে পূর্ণপ্রকাশিত আবার header.php
এবং এখন কি মত এই সংস্করণে দেখায় যাও মনোযোগ কেড়েছে.
>> বরং হার্ড প্রতি একক পৃষ্ঠার শিরোনাম হিসাবে CS50 কোডিং
গতিশীলতা যে এখন লক্ষ্য করা সম্ভব.
লাইন 5 ইঞ্চি আমি একটি শিরোনাম পরিবর্তনশীল অনুনাদী করছি,
কিন্তু প্রথমে আমি একটি ফাংশন বলা htmlspecialchars যে শিরোনাম পরিবর্তনশীল পার করছি.
একটি ফাংশন জন্য নামের মূঢ়, যতক্ষণ না সেটি হল, কিন্তু সত্যিই কি এটা আছে এটি.
এটা নিশ্চিত করে যে, কোনো বিশেষ অক্ষর
স্ট্রিংটি এর মধ্যে উত্তীর্ণ হয়েছে সঠিকভাবে এইচটিএমএল পলান.
এটি আসলে কিছু এড়ানো একটি উপায় হল একটি ক্রস সাইট স্ক্রিপ্টিং আক্রমণ বলা
যেখানে কেউ পারেন maliciously বা দৈবাৎ
আপনার ওয়েবসাইটে তাদের নিজস্ব এইচটিএমএল উদ্বুদ্ধ করা
কিছু ফর্ম মধ্যে পেস্ট, উদাহরণস্বরূপ,
কিছু যে আপনি, বিশেষ করে জাভাস্ক্রিপ্ট কোড বেশ প্রত্যাশা না করে,
হিসাবে আমরা এক সপ্তাহ বা দুই এর মধ্যে কথা বলার সময় সম্পর্কে করব.
>> এই এখন header.php, এটি এর একটি দৃশ্য
এ অর্থে যে এটা আপনার কিছু তথ্য সেটের বিষয়বস্তু aesthetically দেখতে পারবেন.
কিন্তু আরো নির্দিষ্টভাবে, এটি একটি টেমপ্লেট.
এটা কি আমরা প্রতিটি পৃষ্ঠার হেডারে মত দেখতে চান এখন একটি প্রতিচিত্র বাছাই করা,
কিন্তু কিছু গতিশীলতা যে আমরা চাই শিরোনাম পরিবর্তনশীল যাও সন্নিবিষ্ট করা আছে
শিরোনাম পরিবর্তনশীল এর উপর ভিত্তি
বলা হয় যে, যখন আমরা নিষ্কাশিত আবার, ছিল,
রেন্ডার হেডারের ফাংশন.
এখন, যদি আমরা রেন্ডার পাদচরণ দিকে তাকিয়ে, এর আসলে সেখানে অনেক যে অধিকার ব্যবহার এখন না
কারণ footer.php কোন সবটা গতিশীলতা আছে.
কিন্তু, এখন পর্যন্ত এটি হতে মুহূর্তে একটি হার্ড 2 ট্যাগ কোডেড তালিকা পারে,
কিন্তু এই একই ধারণার প্রয়োগ করা হয়েছে, যাতে প্রকৃতপক্ষে সুপারিশ কেন
বার সময় আমরা একটি রেন্ডার শিরোলেখ এবং একটি রেন্ডার অপব্যয় পাদচরণ ফাংশন হচ্ছে?
আমাকে সংস্করণ 3 পরিবর্তে এখন যান,
এবং আমি এটি আরও সহজতর করা সাহায্যকারী সংস্করণ 3 করার সিদ্ধান্ত নিয়েছে.
>> আমাকে এক রেন্ডার ফাংশন আছে.
সম্পর্কে আছে এটি আরেকটি যুক্তি করা যাক, এই সময় বলা ফর্মা,
যা একটি ফর্মার নাম বোঝানো হয়,
এবং তারপর presumptuously আমি যে ভেরিয়েবল এর মান কনক্যাটেনেট পিএইচপি. হবে,
এবং তারপর যদি এটি foo.php, bar.php বা header.php এবং footer.php বিদ্যমান,
তারপর আমি এগিয়ে যান এবং পরিবর্তনশীল তথ্য নিষ্কাশন চলেছি
এবং তারপর যে পথ প্রয়োজন.
অন্য কথায়, এখন এই ব্যবহার, যদি আমি খুলুন index.php আপ
বিজ্ঞপ্তি যে আর আমি ফোন না রেন্ডার হেডার না.
আমি কল, রেন্ডার কিন্তু আমি একটি শিরোলেখের উদ্ধৃত মূল্য পাস
স্পষ্ট করতে যা ফর্মা আমি আসলে লোড করতে চান.
>> তারপর এখানে মাধ্যমে বিজ্ঞপ্তি আমি কি করছি.
আমি পরিবর্তনশীলরূপে শিরোনাম কী মধ্যে পার করছি,
CS50 একটি মান, এবং এই খুব, হিসাবে আমরা আগে দেখেছি,
PHP 'র সর্বশেষ সংস্করণ আরো পরিবেষ্টিত তৈরি করা যায়নি
যেখানে আমি বর্গাকার বন্ধনী সঙ্গে অ্যারের ফাংশন প্রতিস্থাপন করতে পারেন,
আমি যা উত্থাপন করা হয়, এমনকি আরো পাঠযোগ্য এবং অবশ্যই
একটু সহজ করে লিখুন.
এবং অবশ্যই, সঙ্গে নীচে রেন্ডার পাদচরণ কল,
আমরা সব সময়ে ক্ষণস্থায়ী একটি দ্বিতীয় আর্গুমেন্ট কোন এসসিয়েতিভ আরে না, বিরক্ত,
কারণ যে পাদচরণ কিছুই গতিশীল ভিতরে আছে.
শুধু কিছু HTML-এর জন্য ট্যাগ বন্ধ করুন.
গুড, আমরা সত্যিই জিনিষ পরিষ্কার এখানে আপ করার জন্য পদক্ষেপ গ্রহণ করছেন,
কিন্তু আমাকে 2 চূড়ান্ত উদাহরণ খুলুন.
এই এক, সংখ্যা 4, বিজ্ঞপ্তি যে আমি একটি সচেতন সিদ্ধান্ত এখন করেছি
পূর্ববর্তী উদাহরণে উপর পরিশেষে আমার ফাইল কিছু অনুক্রমের ব্যবহার করে উন্নত.
>> উল্লেখ্য, এই সংক্ষিপ্ত, এই সম্পর্কে পড়া, আমি চালু করেছি
একটি ডিরেক্টরিতে একটি ডিরেক্টরি অন্তর্ভুক্ত করা টেমপ্লেট
যার বিষয়বস্তু জিনিষ আমি অন্তর্ভুক্ত করতে চাইতে হতে যাচ্ছে
এবং টেমপ্লেট যে আমি, যথাক্রমে রেন্ডার করতে চান.
এই সত্যিই সম্পর্কে হচ্ছে মলদ্বারে এবং জিনিষ পরিপাটি রাখতে চেষ্টা করছেন,
সম্পর্কিত ফাইল একসাথে রাখা, কিন্তু শেষ ফলাফল
এই যে এখন আমরা সামান্য tidier সেটআপ আছে, কিন্তু আমরা এখন স্মরণে রাখতে হবে
এ, উদাহরণস্বরূপ, index.php
যখন আমরা ফাইলটি helpers.php প্রয়োজন
আমরা এখন এটি মাধ্যমে / helpers.php অন্তর্ভুক্ত করার প্রয়োজন আছে
বরং শুধুমাত্র helpers.php বলছে কারণ এটি এখন একটি সাব ডিরেক্টরির মধ্যে প্রকৃত.
একটি সরাইয়া হিসাবে এখন, আপনি এই উদাহরণ এবং কিছু অন্যদের মধ্যে দেখতে পাবেন
ভালো প্রয়োজন ফাংশন একবার, প্রয়োজন.
আসলে এখন পর্যন্ত এর একটি ফাংশন নিজেই নামক অন্তর্ভুক্ত করা, এবং তারা সব কিছুটা ভিন্ন আচরণ আছে.
এখানে আমি বলতে একবার সুপার পরিষ্কার করা প্রয়োজন যে আমি শুধুমাত্র যারা করতে চান
আমার সাহায্যকারী প্রকল্পের একবার অন্তর্ভুক্ত.
কিন্তু যদি আমি সতর্ক থাকুন এবং যদি আমি আসলে আমার যুক্তি দিয়ে চিন্তা করছি সঠিকভাবে
এটি উপরে প্রয়োজন আপ বলতে পারে কেবলমাত্র চলা উচিত
এতক্ষণ আমি হিসাবে নিজেকে ঘটনাক্রমে একই ফাইল প্রয়োজন বোধ করেন না অন্যত্র.
বস্তুত, এই একটি জিনিস তারপর সেটা ব্যবহার করে সামান্য আরো কার্যকর উপায়
একবার প্রয়োজন, তাই আমি এটা ছাঁটা নিচে শুধু প্রয়োজন হবে.
>> চলুন এক ধাপ অগ্রসর হবো.
এই যেমন এখন শেষ, সংস্করণ 5, এমনকি একটি অনুক্রমের ক্লিনার ফোল্ডার আছে.
উল্লেখ্য, আমি এখানে কি কাজ প্রতি এই চূড়ান্ত সংস্করণ সম্পর্কে পড়েছি
এখন আমি আমার এইচটিএমএল ডিরেক্টরি আছে, যা আমি সব সময় এই ছিল করেছি,
কিন্তু এখন আছে ভেতরে শুধুমাত্র index.php, lectures.php,
week1.php এবং week2.php.
অন্তর্ভুক্ত HTML এর পাশাপাশি এখন ডিরেক্টরি ডিরেক্টরিতে জীবন,
তাই একটি সহোদর হিসাবে একই পর্যায়ে, তাই কথা বলতে.
সুতরাং টেমপ্লেট ফোল্ডার আছে.
কী এখানে takeaway হয় আমি সামান্য বিট আরো গঠন করেছি,
কিন্তু এখন কী বৈশিষ্ট্য হল যে শুধুমাত্র ফাইল
যে ওয়েব অ্যাক্সেসযোগ্য, প্রকাশ্যে addressable হতে হবে
আমার এইচটিএমএল ডিরেক্টরির মধ্যে পাবলিক ইন্টারনেট এ একটি URL দ্বারা হয়.
>> এদিকে, অন্য ফাইল, helpers.php, footer.php,
header.php, যা যুক্তি দিয়ে বোঝানো যায় বা দেখানো বা বলা যায় হয়তো আরো সংবেদনশীল,
আসলে হয়ত সাহায্যকারী কিছু ব্যবহারকারীর নাম এবং পাসওয়ার্ড অথবা কিছু বুদ্ধিজীবী আছে
খনি সম্পত্তি, কাজ আমি সত্যিই দুনিয়া দেখুন, চান না, এমনকি যদি ঘটনাক্রমে.
এটা ভাল অনুশীলন পাবলিক এইচটিএমএল ডিরেক্টরির বাইরে রাখা
কোনো ফাইল যে পাবলিক করা প্রয়োজন নিজেদের না.
আপনি এই সমস্ত ক্ষেত্রে এ যখন খুঁজছেন না উদাহরণস্বরূপ, আছে,
এইচটিএমএল নির্দেশিকা এর index.php ফাইল,
বিজ্ঞপ্তি আমরা শুধুমাত্র একটি সামান্য আরো সতর্ক হবার জন্য যখন প্রয়োজন আছে
অথবা এই ফাইলটি একবার প্রয়োজন.
আমি প্রথমে যা করতে হবে .. পেরেন্ট ডাইরেক্টরি যেতে,
তারপর / না / helpers.php অন্তর্ভুক্ত
ফিরে ডাউন ইন ফাইলটি যে আমি যত্ন পেতে আকর্ষণীয়.
>> তারপর MVC উপর কোন প্রশ্ন
অথবা এই অপেক্ষাকৃত সহজ উহার আবির্ভাব?
এবং সম্পর্কে করার সুযোগ স্পষ্ট যে আমরা পুরোপুরি একটি বিট নিবদ্ধ
এখানে ভী, দেখ এবং এই টেমপ্লেট ফ্যাক্টরিং আউট.
আমরা সি থেকে এম করেছি সত্যিই আলাদা না এখনও.
আসলে, সত্যিই নেই এখানে M is আছে, এবং এমনকি আমাদের সি,
নিয়ামক, সব যে কত সত্যি সত্যি করছেন না, কিন্তু আপনি আরো অনেক কিছু পাবেন
যারা MVC থেকে 2 অক্ষর উভয় সঙ্গে পরিচিত,
অথবা এর পরিবর্তে, আপনি সি সহ আরো অনেক পরিচিত পাবেন
সমস্যা সেট 7, তাই এর দিগন্ত নেই যে এর জন্য আরো MVC.
প্রশ্ন?
এর আসলে কোন এখানে এক.
>> ঠিক আছে, আমি কি এখন যাও আজকের জন্য দ্বিতীয় এবং চূড়ান্ত বিষয় যান.
যে একটি ডাটাবেস প্রবর্তনের.
আপ এই পর্যন্ত আমরা একটি তথ্য সংরক্ষণের কয়েকটি উপায় ছিল করেছি.
আমরা ভেরিয়েবল ব্যবহার করেছি.
পিছনে আমাদের সি ফাইল, ইনপুট / আউটপুট আমরা আলোচনা শুরু টেক্সট ফাইল ব্যবহার করে
এবং fprintf মত ফাইল ব্যবহার করে, এবং এমনকি তারপর আমরা শুরু
CSV-সম্পর্কে কথা অল্প, কমা দ্বারা পৃথক মান ফাইল,
তাই এই সব আমাদের তথ্য সংরক্ষিত আছে অনুমোদিত
হয় অ নিরবচ্ছিন্নভাবে বা নিরবচ্ছিন্নভাবে.
এমনকি CSVs অনুসন্ধান যাও সত্যিই সহায়ক নয়
এবং সন্নিবেশ এবং মুছে ফেলা.
এটা সত্যিই শুধু একটি মূঢ় টেক্সট ফাইল কমা দ্বারা পৃথকীকৃত
সারিতে সারিতে সারিতে সারি, তাই আপনি যদি চান
যে ফাইলটি অনুসন্ধান সত্যিই ভাল হয় আপনি কি করতে পারেন রৈখিক অনুসন্ধান.
আপনি ফাইল শীর্ষে শুরু আছে, পুরো জিনিস পড়তে,
আগ্রহের কিছু মান জন্য এবং চেহারা.
যদি আপনি এটি মধ্যে সন্নিবেশ করতে চান, আপনি একই জিনিস করে আছে,
iterating এটি উপর এবং একটি নির্দিষ্ট স্থানে ঢোকাতে,
এবং বাস্তবিকই, আপনার অনুসন্ধানের যুক্তিবিজ্ঞান নিজের সব করতে হবে.
>> আপনি চালাক প্যাটার্ন মিলে যাওয়া একটি CSV ফাইল যদি না আপনার নিজের কোড লিখতে পারে না.
আপনি একটি CSV ফাইল পরিস্রাবণ করতে পারবেন না
যদি না আপনি নিজের কোড লিখুন.
এটি চমৎকার হবে না যদি কারোর প্রচেষ্টার সমস্ত রাখা চান
প্রকৃতপক্ষে অনুসন্ধান সহজ এবং সহজ সন্নিবেশ করা
এবং মুছে ফেলার এবং আপডেট করা এবং যাতে বাড়াইয়া?
এটা ঠিক কি একটি ডাটাবেস হয়.
এসকিউএল, কাঠামোগত প্রশ্নের সাথে ভাষা, এখনো হয় অন্য ভাষা
যে এখানে আমরা আজ পরিচায়ক, কিন্তু এই করছেন খুব অ্যাক্সেসযোগ্য হয় মোটামুটি,
এবং শুধু কি আমরা সত্যিই করছি না যাচ্ছে তা হয় ছোঁ সবচেয়ে লক্ষণীয় কিছু
বৈশিষ্ট্য যাতে জন্য pset 7, এবং যদি আপনি কিছু ওয়েব ভিত্তিক না,
আপনার প্রকল্প চূড়ান্ত, আপনি নিজেকে প্রকাশ করার ক্ষমতা আছে
ডেটা কোয়েরি শর্তাবলী.
আপনি একটি সামান্য সঞ্চয় ক্ষমতা বা তথ্য অনেক আছে
একটি অনেক বেশি সংগঠিত ভাবে যে এ দিনের শেষ অভিলাষ
আপনার জীবন সহজতর করে তুলতে কারণ এসকিউএল সঙ্গে আপনি নিজেকে প্রকাশ করতে পারেন
অনেক আরো স্পষ্ট, আরো অনেক ধারাক্রমে করার
তথ্য একটি বড় কর্পাস থেকে পাওয়া তথ্য কিছু সাবসেট ফিরে.
>> আপনি একটি ডাটাবেসের, এই ক্ষেত্রে, একটি SQL ডাটাবেসের মধ্যে মনে হয় সত্যিই এক্সেল মত, করতে পারেন
বা নাম্বার যেখানে এটি একটি স্প্রেডশীট,
হয়তো বা একাধিক স্প্রেডশীট, এবং অবশ্যই একটি স্প্রেডশীট,,
সারি এবং কলাম আছে, এবং যে কারণে
এসকিউএল উপাত্ত অর্থে হয় রিলেশনাল, রিলেশনাল
তারা যে এই সমস্ত টেবিলের শর্তাবলী তথ্য সংরক্ষণ,
সারি এবং কলাম.
তারা একটি স্প্রেডশীট ভালো কিছু বেশী পারফর্মিং,
এবং একটি স্প্রেডশীট একটি মানুষের দ্বারা ব্যবহার করা বোঝানো হয়.
একটি ডাটাবেসের প্রোগ্রামার দ্বারা ব্যবহার করা বোঝানো হয়
এটি বিরুদ্ধে কোড লেখা, যাতে একটি ডাটাবেস এর আবির্ভাব
হয় কমান্ড লাইন হতে যাচ্ছে.
>> সেখানে আউট সবচেয়ে জনপ্রিয় রিলেশনাল ডাটাবেস, তা হল আবার,, মাইএসকিউএল,
যা wonderfully বিনামূল্যে, খুব উচ্চ পারফর্মিং, এবং এই কি
ফেসবুক এবং কতক ব্যবহৃত এখনও খুব সকালে
তাদের তথ্য অনেক, সঞ্চয় এবং আমরা একটি মুহূর্ত দেখতে পাবেন
যে তুলনামূলকভাবে সহজ কমান্ড ব্যবহার করে
আমরা তথ্য, তথ্য সন্নিবেশ, আপডেট তথ্য নির্বাচন করতে পারেন,
তথ্য এবং মত, মুছে দিতে, কিন্তু সৌভাগ্যক্রমে, আরও ব্যবহারকারী বান্ধব ইন্টারফেস আছে
তুলনায় একজন কালো এবং সাদা প্রম্পটে টাইপ ঠিক এখানে.
আমরা pset 7 জন্য এবং তার পরেও একটি বিনামূল্যে টুল নামক phpMyAdmin ব্যবহার করব.
নাম হয় সমকালীন.
হাতিয়ার ঘটবে যাও পিএইচপি প্রয়োগ করা হবে,
কিন্তু মৌলিকভাবে যে অপ্রাসঙ্গিক.
কি phpMyAdmin সম্পর্কে গুরুত্বপূর্ণ হল যে এটি একটি ওয়েব ভিত্তিক ইউটিলিটি.
আমরা আপনার জন্য যন্ত্র এটি পূর্বে ইনস্টল করা,
এবং এটি দিয়ে আপনি একটি ডাটাবেসের মধ্যে টেবিল তৈরি করতে পারেন,
আপনি তথ্য সন্নিবেশ, তথ্য মুছে দিন, হতে পারে এবং সাধারণত দেখুন
একটি মোটামুটি ব্যবহারকারী বন্ধুত্বপূর্ণ পরিবেশে আপনার তথ্য.
আপনার ব্যবহারকারী যাও phpMyAdmin ব্যবহার করতে যাচ্ছি না.
>> এই সত্যিই শুধু একটি প্রশাসনিক বা এর ডেভেলপার টুল
যাতে এবং দেখুন আপনার তথ্য কাছাকাছি অকর্মা এবং চিন্তা কিভাবে গঠন,
আপনি নিজেকে অনেক ভালো এক্সেল বা নাম্বার ব্যবহার হতে পারে,
কিন্তু এটি একটি visualizing কি ফণা এর নীচে যাওয়া মহান উপায় হতে যাচ্ছে
যাতে আপনি আকর্ষণীয় সমস্যা সমাধান এবং না এত নজর দিতে পারেন
উপর গোপনীয় কমান্ড.
চলুন শুরু করা যাক যে তথ্য tabularly সঞ্চিত হতে পারে এমন একটি উদাহরণ কটাক্ষপাত করা
একটি রিলেশনাল ডাটাবেস.
এখানে এই ধরনের একটি উদাহরণ.
এখন দুর্ভাগ্যবশত,, নিক্ষেপ উপায় পাশ দিয়ে phpMyAdmin erred অনেক শব্দ
এবং আপনি এ গ্রাফিক্স, কিন্তু আপনি কেবল শান - পাথার
আইডি কলাম, ব্যবহারকারীর নাম কলাম, এবং হ্যাশ কলাম,
এই কার্যকরভাবে একটি স্প্রেডশীট, কিন্তু এটি একটি স্নিপেট হতে ঘটবে
একটি যন্ত্র টেবিল ভিতরে
একটি ফাইল ব্যবহার করে যে আমরা সমস্যার 7 সেট প্রদান.
>> বিশেষ করে, আমরা আপনাকে একটি ফাইল যে উপস্থাপন করে দেত্তয়া
একটি ইউজার এর টেবিল, তাই একটি স্প্রেডশীট 3 কলাম ব্যবহারকারীদের ধারণকারী,
তাদের মধ্যে অন্যতম একটি অনন্য আইডি শুরু 1 এ এবং তারপরে মান বৃদ্ধি করা হচ্ছে.
দ্বিতীয় কলামে, ব্যবহারকারীর নাম, এবং আপনাদের মধ্যে যারা হ্যাকার কি,
Pset 2 জন্য হ্যাকার সংস্করণ, এই ব্যবহারকারী নাম অন্তত কিছু চিনতে পারে.
ডান দিকে পাসওয়ার্ডগুলি হয়, কিন্তু তারা আক্ষরিক পাসওয়ার্ডগুলি পারব না.
ঐগুলি hashes উহার, তাই এটি সক্রিয় আউট
যে একটি ডাটাবেসের মধ্যে পাসওয়ার্ড সংরক্ষণ একটি খুব খারাপ ধারণা.
আপনি সমস্ত করেছি সম্ভবত কিছু ওয়েবসাইট কিছু বিন্দু থেকে পড়া
অথবা কিছু কোম্পানী এর ডাটাবেস, বোঝাপড়া এবং তারপর আপনাকে হচ্ছে
আপনার পাসওয়ার্ড পরিবর্তন, আপনি জিনিষ ফেরত পেতে হবে
কারণ কিছু খারাপ লোক আসলে আপনার একাউন্টে ফলে ভেঙে.
>> পাসওয়ার্ডগুলি স্পষ্ট পাঠ্য স্টোরিং একটি ডাটাবেসের মধ্যে এনক্রিপশনবিহীন
সম্পূর্নরুপে গাড়ল, এবং এখনও ব্যাপকভাবে মজাদার
তারপর কিছু খুব ভালোভাবে পরিচিত কোম্পানীগুলো সম্পর্কে পড়তে যাও
কখনও কখনও সংবাদ মাধ্যমে যার উপাত্ত আপোস করা হয়,
এবং যে ভাগে, কিন্তু মজার না যে উপাত্ত ধারণ এনক্রিপশনবিহীন
পাসওয়ার্ডগুলি কোড হল এক লাইন দিয়ে হাস্যকর কারণ আক্ষরিক
আপনি যে বিশেষ হুমকির বিরুদ্ধে, এবং রক্ষা করতে যে কি এখানে আমরা সম্পন্ন করেছি পারেন.
এমনকি জন্য আমাদের জাল সামান্য CS50 ফাইন্যান্স সংস্করণ
আমরা শুধু ভাল পরিমাপ জন্য পাসওয়ার্ডগুলি এনক্রিপ্ট করা হয়, এবং যে
এই পাসওয়ার্ডের সমস্ত শুরু সঙ্গে $ 1 $ শুধুমাত্র একটি প্রচল.
যে শুধু অর্থ তারা এনক্রিপ্ট করা বা কুচি - কুচি করিয়া কাটা বস্তু সত্যিই,
যা একটি একমুখী এনক্রিপশন ফাংশন মত হয়
যেখানে আপনি কিছু বলা MD5 সঙ্গে তার প্রভাব না বিপরীত হতে পারে.
>> যে যে 50 পর এটা যে একটি লবণ মান
50 জন্য এক ছাড়া এই পাসওয়ার্ড হ্যাশ সব জন্য ব্যবহৃত হয়.
অবশ্যই খনি,, সেখানে আপনি দেখতে পারেন, HA,
ছিল একটি পৃথক লবণ ব্যবহার করে, তাই আপনাদের মধ্যে যারা সামান্য বেশী হোঁচট খেয়েছি আপ
হয়তো হ্যাকার 2 মধ্যে, যে আমাদের ব্যবহৃত থাকার ফলে হতে পারে
একটি অন্যদের চেয়ে ভিন্ন হ্যাশ কারণ আমার পাসওয়ার্ড আসলে একই
হিসাবে কিছু উঠে আসে অন্য ইউজার.
বস্তুত, যদি আপনি অপেক্ষা করছি এই সপ্তাহের সব জানতে
কি তাদের পাসওয়ার্ডগুলি এখানে ছিল ছিল পাসওয়ার্ডগুলি যে আপনি চ্যালেঞ্জ ছিল
সমস্যা সেট 2, তাই খুব চতুর none 'র হ্যাকার সংস্করণ মধ্যে ফাটল.
আসলে, এর malan ছিল jharvard হিসাবে একই,
কিন্তু যদি আমরা ফিরে যেতে তারা আলাদা লাগছিল.
>> অরূণ মধ্যে jharvard ফোকাস কারণ ভিন্নভাবে তারা লবণাক্ত হয়.
আলগোরিদিম একটি উপায় যে কেমন ছিল
হ্যাশ মান, এনক্রিপ্ট মান দেখায় একটু ভিন্ন
কারণ ইনপুট ছিল কিছুটা ভিন্ন, কিন্তু ফণা নীচে পাসওয়ার্ড
ছিল এখনও চূড়ান্তভাবে রক্তাভ.
এখন, যারা এই বজায় রাখে?
ভাল, আমরা নমুনা ব্যবহারকারীদের সাথে আপনি প্রদান করতে চান, নমুনা ব্যবহারকারীর নাম
তাদের পাসওয়ার্ডের hashes এবং যাতে আপনি এমন কিছু আছে
গ্রাহকদের CS50 ফাইন্যান্স জন্য যখন প্রথম আপনি আপনার কোড পেতে স্থল বন্ধ.
আপনি মাইএসকিউএল এর ভিতর আরো সারণী বাস্তবায়ন ভিতরে ডাটাবেস আছে, করব.
আপনি আরো স্প্রেডশীট, কার্যকরীভাবে তৈরি আছে, কিন্তু আমরা আপনাকে এই এক দেওয়ার সিদ্ধান্ত নিয়েছেন করব
শুরু করার জন্য, এবং আপনি দেখতে পাবেন যে সমস্যা সেট স্পেসিফিকেশন
এই টেবিল ইম্পোর্ট প্রক্রিয়ার মাধ্যমে আপনি পদচারনা
এবং এছাড়াও ব্যাখ্যাতে বৈশিষ্ট্য কিছু হয়,
এবং এছাড়াও আপনি দেখতে পাবেন যে আমরা কোড প্রদান
যাও বা এই পাসওয়ার্ড হ্যাশ এনক্রিপশন হ্যান্ডেল,
তাই আপনি কি MD5 বা মত সব বিষয়ে আসলে সম্পর্কে খুব বেশী চিন্তা করতে হবে না.
>> সুতরাং, এসকিউএল, কাঠামোগত প্রশ্নের সাথে ভাষা.
এই হল, বেশ সহজভাবে, ভাষা আমরা pset 7 ব্যবহার শুরু সম্পর্কে
এবং সম্ভবত কিছু ডাটাবেস থেকে তথ্য অনুরোধ পরেও.
তথ্য, আবার, এই রিলেশনাল টেবিল, কলাম, সারি এবং সঞ্চিত tabularly,
কিন্তু কিছু মুছুন ভালো তুলনামূলকভাবে সহজ সিনট্যাক্স ব্যবহার করে,
, সন্নিবেশ এবং নির্বাচন আপডেট করি না যে ঠিক করতে পারেন.
আমরা ডাটাবেস থেকে, সন্নিবেশ মুছে দিতে পারেন,
তথ্য, যেমন নির্বাচন, অর্থাৎ, ডাটাবেসের দ্বারা তথ্য আহরণের থেকে আপডেট করুন.
কিভাবে আমরা এই কাজ সম্পর্কে যান?
আমাকে এগিয়ে প্রয়োগ ঢোকা.
আমাকে http://localhost মুঠি ধরে টেনে তুলবো,
যা, আবার, হয় স্থানীয় যন্ত্র নিজেই.
এটা তার ডাক নাম ডিফল্ট.
এবং আমাকে / phpmyadmin যান.
এটি একটি বিশেষ URL হওয়া যে হাতিয়ার বুঝতে সুবিধা হয় পূর্বে কনফিগার করা
যে অবিলম্বে একটি ব্যবহারকারী নাম এবং পাসওয়ার্ড সম্পর্কে জন্য অনুরোধ জানানো হবে.
>> স্বাভাবিক হিসাবে, আমি jharvard এবং অগ্নিবর্ণ টাইপ চলেছি,
কিন্তু বুঝি যে কম্পিউটারে এর প্রশাসকের অ্যাকাউন্টে.
এটি শুধু একটি কাকতালীয় যে সেখানে একটি jharvard CS50 ফাইন্যান্স জন্য নিবন্ধীকৃত.
Jharvard, আরক্ত, লিখুন দেয় আমরা দেখেছি যে ইউজার ইন্টারফেস সম্পর্কে
একটি মুহূর্ত একটি আভাস আগে, এবং এটি প্রথম কিছুটা অপ্রতিরোধ্য,
কিন্তু আশ্বস্ত করার জন্য, আপনাকে এই সরঞ্জামে সংযোগগুলি অধিকাংশ ক্লিক করতে যাচ্ছেন না.
আপনি একটি ছোট উপশাখা যে সুপার সহায়ক ব্যবহার করে শেষ করব,
যার প্রথম হয় উপাত্ত এখানে আপ.
যদি আমি উপাত্ত যেতে আপ, বিজ্ঞপ্তি যে আমি একটা ডাটাবেস তৈরি করতে অনুরোধ জানানো হবে.
এটি একটি নতুন এক্সেল ফাইল তৈরি করা ভালো হয় কার্যকরীভাবে,.
আমি এগিয়ে যান এবং এই বক্তৃতা কল যাচ্ছে, এবং করছি আমি শুধু সেখানে ক্ষেত্র, কোলেশন উপেক্ষা করা যাচ্ছে.
এটি তথ্য উপস্থাপনা সঙ্গে তাহাতে না আছে,
এবং আমি ক্লিক করুন যাচ্ছে, এবং করছি এখন হিসাবে আমি অনেক কিছু তৈরি করতে যান বিজ্ঞপ্তি
বাম দিকে যেখানে এটি কোন উপাত্ত
আমি শীঘ্রই বক্তৃতা ডাটাবেস দেখতে পাবেন.
>> এখন যদি আমি বাম দিকে, বক্তৃতা ডাটাবেস এ ক্লিক করুন,
নোটিশ আমার ট্যাব অল্প পরিবর্তন.
আমি কাঠামো, এসকিউএল, এক্সপোর্ট, ইমপোর্ট এবং কিছু অন্যান্য বিষয় পেয়েছেন.
গঠন বেশ অনেক ফাঁকা.
কোন সারণী ডাটাবেসের মধ্যে পাওয়া গেছে, তা এখানে বলে,
তাই এর একটি টেবিল তৈরি দেওয়া, এবং এর যাক এগিয়ে যান এবং একটি টেবিল তৈরি
ছাত্র, পছন্দ এবং কিভাবে আমরা অনেক কলাম চান?
প্রত্যেক শিক্ষার্থীর জন্য এর এই সহজ রাখা যাক, এবং let এর রেকর্ড
একটি আইডি নম্বর, একটি নাম, এবং একটি ইমেইল ঠিকানা.
>> আমরা যে ভালো রাখার সহজ, তাই 3 কলাম পাবেন, যান.
ফর্ম যে আপনি এখানে দেখতে এখন একটি সামান্য বিট অগোছালো এবং অপ্রতিরোধ্য,
কিন্তু আমরা শুধু সারি সারি মাধ্যমে যেতে হবে, সুতরাং সত্যিই দ্রুত কিছু দিতে
এই ডাটাবেসের আইডি একটি অনন্য শনাক্তকারী জন্য নামের প্রথম কলামটি.
এটি একটি সংখ্যা হতে হবে. আমি আসলে এবং মান দ্বারা উপেক্ষা করতে পারেন.
একটি int-32 বিট কোন ব্যাপার কি আপনি সেখানে টাইপ করা যাচ্ছে, তাই এর এটি খালি ছেড়ে দেওয়া হয়.
ডিফল্ট মান, আমি এটা নাল, হিসাবে সংজ্ঞায়িত করতে পারে.
আমি যে একা ছেড়ে চলে যাচ্ছি. যাক এর ডিফল্ট মান নিয়ে চিন্তা করবেন না.
ডান, বানী স্ক্রল এখানে উপর চলুন শুরু করা যাক.
এটা খুবই মজার.
চলুন শুরু করা যাক এগিয়ে যান এবং কিছুটা ইচ্ছামত যে ID-র স্বাক্ষরবিহীন হতে হবে বলে.
এর কোনো ঋণাত্মক সংখ্যা অপব্যয় না যাক.
>> এর ২ 0 4 বিলিয়ন, যেতে দিতে বা নেয়া যাক,
এবং তারপর দিন এর এখনও স্পর্শ এই সমস্ত ক্ষেত্রে কোনো না ওখানে,
কিন্তু তারপর যাক নামে সম্পর্কে নিচে এখানে টাইপ করুন,
এবং তারপর অন্যান্য ইমেল ছিল, যাতে ধরা হল ইমেল
এবং নাম, ইন্টিজার সম্ভবত না, তাই আসুন একটি বিভিন্ন ক্ষেত্রের এইসব পরিবর্তন.
এটি সক্রিয় varchar, পরিবর্তনশীল দৈর্ঘ্য গৃহস্থালি আউট,
একটি SQL ডাটাবেসের মধ্যে একটি স্ট্রিং ভালো হয়
কিন্তু প্রকৃতপক্ষে একটি পরিবর্তনশীল দৈর্ঘ্য, এবং আপনি আগাম তা জানাতে হবে
স্ট্রিং সর্বাধিক দৈর্ঘ্য, তাই আমি কিছুটা অনির্দিষ্টরূপে যাও চলেছি
দ্বারা প্রচল টাইপ 255 টি অক্ষর.
আমি সম্পূর্ণই 32 বলতে পারে. আমি 1,000 বলতে পারে.
আপনি আপনার জনসংখ্যাগত কি হয় প্রয়োজন নিজেই সিদ্ধান্ত যাও ধরনের উপর ভিত্তি করে
দীর্ঘতম ছাত্র এর নাম এবং যে নম্বর অথবা একটি সামান্য বড় সঙ্গে যেতে,
কিন্তু কি একটা varchar সম্পর্কে চমৎকার হয় তা অপব্যয় করা যাচ্ছে না
প্রত্যেক ছাত্র এর নামের উপর 255 বাইট.
এটি যদি DAVID এটি সমগ্র 255 বাইট ব্যবহার করা যাচ্ছে না,
কিন্তু যে এর একটি ঊর্ধ্বসীমামান, তাই আমি সহ মাত্র 255 কনভেনশন দ্বারা যাবেন,
কিন্তু আমরা যে কিছু কম হতে পারে, বিতর্ক এবং জন্য ইমেইল ঠিকানা হতে পারে
মাত্র 255 সঙ্গতিপূর্ণ হতে হবে, কিন্তু আবার, আমরা একই বিতর্ক হতে পারে.
কিন্তু আমি এখানে উপরে ডান দিকে এক অন্য জিনিস করে চলেছি.
>> কি একটা ডাটাবেস সম্পর্কে শক্তিশালী হয় যে এটি ভারী উত্তোলন অনেক কিছু করতে পারেন
অথবা আপনার জন্য জটিল কাজ.
বিশেষ করে, আমি সত্যিই কি আমার শিক্ষার্থীর আইডি নম্বর হল না যত্ন.
এটি শুধু একটি ডাটাবেসের মধ্যে একটি অনন্য শনাক্তকারী করা অভিপ্রেত
তাই আমি একটি 32 বিট যে ছাত্র বা ছাত্রী পরিবেষ্টিত উপস্থাপনা আছে
যাতে আমি এককভাবে তাদের চিহ্নিত করার একটি উপায় আছে
পাছে 2 Davids, উদাহরণস্বরূপ, একটি শ্রেণীতে আছে.
আসলে, আমি এই এআই বক্স, অটো বৃদ্ধি চেক চলেছি,
যাতে ডাটাবেস, মাইএসকিউএল, আউট পরিসংখ্যান
কি প্রতিটি নতুন ঢোকানো ছাত্র এর আইডি হবে.
আমি যে আমার কোড ইন যত্ন আছে না,
এবং আমি সূচক মেনু অধীন কিছু চয়ন করা যাচ্ছে.
সূচক নিচে এখানে প্রাথমিক, অনন্য করেনি,
সূচক এবং সম্পূর্ণ টেক্সট.
আপনি হয়তো অনুমান করতে পারেন কি এই জিনিষ কয়েক হল,
কিন্তু এটি রিলেশনাল ডাটাবেস মধ্যে সক্রিয় আউট
আপনি প্রোগ্রামার বা ডাটাবেস অ্যাডমিনিস্ট্রেটরের preemptively পেতে
ডাটাবেস কি ক্ষেত্র হিসেবে ইঙ্গিত দেত্তয়া
একটা টেবিল আছে একটু বিশেষ.
>> এই ক্ষেত্রে উদাহরণস্বরূপ, আমি যা বলতে ভুলে যাচ্ছি
একটি প্রাথমিক সূচক, একটি প্রাথমিক কী অন্যথায় হিসাবে পরিচিত হতে যাচ্ছে.
এই কি দ্বারা সংজ্ঞার মানে হল অত: পর যে আইডি
এই টেবিলের মধ্যে ছাত্র এককভাবে সনাক্ত করা হবে.
কোন ছাত্র একই আইডি আছে কারণ আমি এই বাধ্যতা বা এই সূচক মনোরম করা হবে.
তাছাড়া, এই কি আমার জন্য কি হবে এটা বলতে যাচ্ছে
মাইএসকিউএল যে আইডি বিশেষ.
আমি আইডি সম্পর্কে বিশেষ যত্ন, তাই এগিয়ে যান এবং আপনার অভিনব ডাটা স্ট্রাকচার এর জাদু না,
গাছ কিছু বিল্ড আপ.
সাধারণত এটি এর কিছু বি গাছ, যা আমরা আগে সপ্তাহে না বলা চেহারা,
কিন্তু এটি বাইনারি গাছ যাও এর অন্য ধরনের ডাটা স্ট্রাকচার একই আত্মা
এবং আমরা চেষ্টা করে যে দিকে তাকিয়ে, কিন্তু এটা বলতে যাচ্ছে
এই ক্ষেত্রের ডাটাবেসের এত গুরুত্বপূর্ণ যে আমি সম্ভবত
এটা অনুসন্ধান করতে সক্ষম হতে চান, এগিয়ে যান এবং কিছু অভিনব বিল্ড আপ
মেমরির মধ্যে ডাটা স্ট্রাকচার অনুসন্ধানের সুবিধাযুক্ত যাতে আদর্শভাবে
তারা সময় ধ্রুবক বা অন্তত যে সম্ভব হিসাবে বন্ধ করুন
যাতে তা রৈখিক অনুসন্ধান মধ্যে বর্তা না, যা হবে না
অধিকাংশ উচ্চ পদ্ধতির করণ.
বিপরীতভাবে, একবার ইমেল ঠিকানা হয়েছে একটি প্রাথমিক কী থাকতে পারে.
>> তত্ত্ব ইন, সবাই এর ইমেল ঠিকানা অনন্য, যদি না আপনি কিছু অ্যাকাউন্ট ভাগ করছেন,
কিন্তু এটি সাধারণত এর স্ট্রিং এর মত ব্যবহার করা ভাল না
একটি প্রাথমিক কী হিসাবে কারণ যদি তার জীবনের উদ্দেশ্য একটি চিন্হিত
আপনার টেবিল থেকে সারি কোনো কারণ সর্বাধিক 255 বাইট ব্যবহার আছে
যাও এককভাবে কাউকে যদি আপনি মাত্র 4 বাইট দিয়ে আরম্ভ করতে পারেন সনাক্ত
অথবা একটি 32 বিট int.
সাধারণত, একটি প্রাথমিক কী সংক্ষিপ্ত এবং সংক্ষিপ্ত হতে হবে
এবং মনে মনে একটি পূর্ণসংখ্যা অথবা একটি বড় int, যা 64 বিট হতে হবে এরকম ভালো কিছু.
কিন্তু একটি ইমেইল ঠিকানা অনন্য, এবং এক হতে খুব একটা ডাটাবেস বৈশিষ্ট্য উচিত
যাও আমার জন্য স্বতন্ত্রতা জোরদার করা হয়.
দ্বারা নির্বাচন এখানে অনন্য পরের ইমেইল, যদিও নিজেই ইমেইল
পর্দা scrolled বন্ধ, না আমি ডাটাবেস বলতে চাইছে না
সম্পর্কে বিশ্বাস করবেন না.
কি সম্পর্কে ডাটাবেসের মধ্যে সন্নিবেশ নয়
একই ইমেল ঠিকানা দুইবার, এমনকি যদি আমি একজন গাধা এবং না
আমার IFS এবং অন্য IFS এবং প্রকৃত পিএইচপি কোড সঙ্গে খুব ভাল
এবং ঘটনাক্রমে আমি যাক ব্যবহারকারী বিদ্যমান একটি ইমেল ঠিকানা দিয়ে রেজিস্টার
ডাটাবেস এখনও প্রতিরক্ষা অন্য শুদ্ধি জন্য স্তর
যে যে প্রতিলিপি ইমেল ঠিকানা শেষ না টেবিল নেই তা নিশ্চিত.
>> বৈসাদৃশ্য দ্বারা এখন,, নামের জন্য আপনি সম্ভবত যে অনন্য করতে চাই না
কারণ তাহলে 2 Davids বা 2 মাইক উদাহরণস্বরূপ SMITHS, সেখানে না পারে,
আপনার ডাটাবেসের মধ্যে, যাতে এক মাত্র আমরা একা ছেড়ে দেব.
আমি এগিয়ে যান এবং নীচের অংশে ডানদিকে সংরক্ষণ করুন চলেছি,
এবং সবকিছু দেখতেও ভালো, কিন্তু এখানে লক্ষ্য করা
এই একটি অংশ যে জন্য এখন আমরা খুব বেশী সময় ব্যয় হবে না
কারণ সিনট্যাক্স একটু জটিল, এবং আমরা টেবিল তৈরি করতে হবে না
সব সময়ই, কিন্তু এসকিউএল নিজেই একটি ভাষা,
সিনট্যাক্স জন্য এটি ঠিক যে আমি হাইলাইট করেছি.
PhpMyAdmin কি সত্যিই আছে এটা আপনার জন্য একটি ওয়েব ভিত্তিক GUI নির্মাণ
সঙ্গে যা আপনার সময় বাঁচাতে এবং নিজে আউট টাইপ থাকতে পারে না
একটি মোটামুটি দীর্ঘ যে ভালো SQL কোয়েরি.
>> অন্য কথায়, ম্যানুয়ালি যদি আপনি যেমনটি এই টেবিল তৈরি,
হয় এ যে কালো এবং সাদা প্রম্পট অথবা এমনকি phpMyAdmin
এই অন্যান্য ট্যাব ব্যবহার করে, এই জন্য SQL ট্যাব যেখানে আপনি কোন এসকিউএল কোয়েরি টাইপ করতে পারেন
আপনি চান উন্মুক্তভাবে,, এই একটি মিনিট নেওয়া হবে সম্পর্কে
প্রকৃতপক্ষে পুরো বাক্য গঠন, মনে রাখবেন এবং নিতান্ত সম্ভবত আমি করতে হবে
কিছু ত্রুটি হয়েছে, তাই এই টুল যা ভালো জিনিসের জন্য এটি উপযুক্ত, এবং এটি এর শিক্ষামূলক.
আপনি কি সিনট্যাক্স আবিষ্কার করা শুরু করতে পারেন
শুধু সুন্দর রঙ দ্বারা কোডিং যে phpMyAdmin যোগ করা হয়
আমাদের সুবিধার জন্য চাক্ষুষ.
কিন্তু এখন এর পরিবর্তে এই না দেওয়া.
যাক শীর্ষে সন্নিবেশ ট্যাব সম্পর্কে যান এবং সম্পর্কে এগিয়ে যান এবং উদাহরণস্বরূপ সন্নিবেশ দিন
let এর একটি আইডি বলতে-আসলে আমি না যত্ন না.
এটি স্বয়ংক্রিয় বৃদ্ধি যাও যাচ্ছে. আমি এই ডাটাবেসের সঙ্গে চুক্তি সায়ীদ করছি.
কিন্তু আমি ডেভিড হতে পারে, এবং আমার ইমেল malan@harvard.edu উচিত হইবে.
>> চলুন এগিয়ে এখানে যান এবং অন্য একটি হিসাবে মাইক স্মিথ রাখা.
আমি একটি পদবি দিতে হিসাবে নিজেকে পাবেন,
এবং আমরা তাকে smith@example.com হয়েছে করব,
এবং তারপর যেখানে আমি পরের যান না?
ওয়েল, এটা মনে হয় যেতে বাটন ক্লিক করুন এবং voila.
শীর্ষ 2 ঢোকানো সারি এ লক্ষ্য করুন.
এটি প্রকৃত SQL কোয়েরি.
এটা phpMyAdmin টুল সম্পর্কে জন্য মৃত্যুদন্ড কার্যকর করা,
কিন্তু শেষ ফলাফল, নোটিশ, যদি আমি এখন ব্রাউজ ট্যাব প্রদর্শিত হয়,
এই টেবিলের মধ্যে 2 টি সারি, দেখতে খুব স্মারক aesthetically হয়
টেবিলের আমরা আমাদের ব্যবহারকারীদের জন্য দেখেছি আগে pset 7 থেকে,
যাকে এক ডেভিড Malan, যাদের মধ্যে একজন এখন মাইক স্মিথ.
তবে স্পষ্ট করা, আমি phpMyAdmin ব্যবহার করার প্রয়োজন হবে না,
এবং সত্যিই, আপনি শীঘ্রই pset 7 জন্য কোড লেখার করা চলুন
যে সারি যোগ, সারি মুছে ফেলা, আপডেট সারি এবং ভালো প্রক্রিয়া স্বয়ংক্রিয়রূপে,
তাই সম্পর্কে পরিবর্তে এসকিউএল ট্যাবে চলুন আপ এখানে
* নির্বাচন এবং ছাত্র যেখানে থেকে টাইপ
ইমেল = "malan@harvard.edu."
>> অন্য কথায় অনুমান করা এখন আপনি আছে
কিছু এইচটিএমএল ফর্ম, এবং অন্যান্য ক্ষেত্রের মধ্যে তাদের ইমেল ঠিকানা ব্যবহারকারী প্রকারের,,
এবং এখন লক্ষ্য পিএইচপি কোড ফিরে শেষ হয়
প্রকৃতপক্ষে যে ইউজার এর অন্যান্য বিবরণ আপ.
আপনার পুরো নাম কি? আপনার আইডি নম্বর কি?
আপনি একটি ভালো SQL কোয়েরি লিখতে পারেন, ছাত্র থেকে * নির্বাচন
যেখানে ইমেল = "malan@harvard.edu."
এবং তারপর যদি আমি যেতে ক্লিক করুন, নোটিশ করেছি আমি এবং সত্যিই, আমি কি করা উচিত, মাত্র এক সারি ফিরে পেতে.
Mike এই ফলাফল সেট থেকে সারি সংগ্রহ হিসাবে বাদ দেওয়া হয়,
সাধারণভাবে বলা হয়, কারণ তিনি একই ইমেইল ঠিকানা হিসাবে সম্পর্কে নেই.
>> এখন আবার, pset 7 জন্য, এখানে আপনি phpMyAdmin ব্যবহার একটি প্রশাসনিক হাতিয়ার হিসাবে করব
এবং একটি পণ্ডিতিপনামূলক হাতিয়ার আপনার উপায় জানতে
কাছাকাছি এসকিউএল বিশ্বের, কিন্তু এ দিনের শেষে
আপনি প্রকৃত পিএইচপি কোড লেখা ভিতরে এইসব কোয়েরি করা যাচ্ছেন,
এবং তাই বিশেষ Zamyla এর walkthrough মধ্যে থাকুন
যেখানে আপনি এই সমস্যার জন্য সেট বিতরণ কোড ঘুরে পাবেন
যেখানে আমরা শুধু নন্দনতত্ব লগইন পৃষ্ঠায় জন্য আপনাকে দেওয়া
এবং আরও সুন্দর ছবি লোগো যে CS50 ফাইন্যান্স বলছেন, কিন্তু আমরা আপনাকে দেওয়া
ফাংশন যে আপনার জীবনের একটি বিট আরও সহজ করতে হবে একটি গুচ্ছ.
আমরা আপনার জন্য pset অংশ না,
এটি ইন বিশেষ অংশ, একটি প্রতিনিধি নকশা একটা ধারনা দেবে এবং আপনাকে
আসলে ব্যবহার করে উদাহরণস্বরূপ, index.php জন্য একটি নিয়ামক,
login.php এবং ভালো, এবং তারপর আপনি pset এছাড়াও একটি টেমপ্লেট ডিরেক্টরি আছে দেখতে পাবেন
যে দৃশ্যে আপনার সব আছে, চারুকলা সব.
এবং তাই pset 7 সামগ্রিক কর্মপ্রবাহ যে হতে যাচ্ছে
আপনার ব্যবহারকারীদের একটি ব্রাউজারে URL-র মাধ্যমে একটি একটি নিয়ামক যান.
যে নিয়ামক পিএইচপি কোড যে আপনি লিখেছেন রয়েছে, এবং ভিতর আপনার পিএইচপি কোড
মধ্যে উদ্ধৃতি চিহ্ন মধ্যে এসকিউএল কিছু লাইন হতে পারে নেস্টেড
এবং গৃহীত একটি ফাংশন আমরা নামক প্রশ্নের সাথে লিখেছে
যে ভালো কিছু ব্যবহার না করে সাহায্য করা আপনার ডাটাবেসের সাথে কথা বলুন
একটি phpMyAdmin মত প্রশাসনিক হাতিয়ার.
>> আপনি পিএইচপি কোডের জন্য SQL স্টেটমেন্ট লিখতে সমর্থ হবেন
এবং এর ফলে সেট পিএইচপি অ্যারের ফিরে পেতে,
এর সারি যে আসলে যে মেলে.
এবং একইভাবে আপনি টিপে বা মুছে ফেলা করতে হবে
অথবা করা বা ভালো, সিনট্যাক্স জন্য যা মোটামুটি অনুরূপ,
এবং আপনাকে কিছু অনলাইন রেফারেন্স থেকে, ডিস্ট্রিবিউশন থেকে কোড দেখতে পাবেন
এবং pset থেকে নিজেই ঠিক কিভাবে যে কাজ সম্পর্কে যান প্যাক.
বুঝতে চরমভাবে সত্যিই আমরা শুধুমাত্র আপনার এসকিউএল এর প্রারম্ভিক
এবং মাইএসকিউএল এর, কিন্তু এটি সত্যিই শক্তি হয় যে আপনি এটি মুক্ত
আপনি সমস্যার সমাধান করতে চান মনোনিবেশ, ব্যবহারের ক্ষেত্রে প্রয়োগ করতে চান
ছাড়াই পুরোপুরি যতটা চিন্তা, অন্তত প্রাথমিক হচ্ছে,
যেখানে সম্বন্ধে এবং কিভাবে আপনার ডাটাবেস অনুসন্ধান এবং সঞ্চয়,
এবং এটি পুরোপুরি আক্ষরিক যেখানে ফেসবুক নিজেই তার শুরু না
মাইএসকিউএল ব্যবহার করে এবং তারপর আরো মাইএসকিউএল সার্ভার এবং তারপরে আরো মাইএসকিউএল সার্ভার ব্যবহার করে
ক্ষণপরে পর্যন্ত তারা তখন সত্যিই কিভাবে আমার হার্ড চিন্তা শুরু হয়েছে
দোকান তথ্য, কিভাবে জিনিষ এমনকি আরো দক্ষতার সঞ্চয়,
সুতরাং যদিও আমরা সত্য জন্য দেওয়া নেব যে সূচী ও অনন্য সীমাবদ্ধতার
ঘোষণা এবং সে জন্য কাজ খুবই আকর্ষণীয় কথোপকথনটি আছে
যে এই সব পেরেছে, হতে পারে যাতে আমরা পৃষ্ঠ করছি বুঝতে প্রারম্ভিক
এর জন্য কি অবশেষে আপনি বা আপনার প্রকল্পের হয়ে বেশ বড় তথ্য একটি বিট পারে.
>> সঙ্গে বলেন যে, এখানে এর শেষ হয়ে যাক, এবং আমরা আপনাকে দেখতে আগামী সপ্তাহে যাব.
[CS50.TV]