[সঙ্গীত বাজাচ্ছি] DAVID Malan: এটি CS50, এবং এই সপ্তাহে আট শুরু হয়. আর আমরা স্বাগত জানাই, যাতে আগ্রহী ফিরে, বড় বিস্ময়, CS50 এর নিজস্ব রামন Galvan, হয়েছে যারা একটি ক্রমবর্ধমান জ্যেষ্ঠ গত কয়েক মাস কাটানোর লা জুলাই থেকে, হলিউড, আক্ষরিক একটি ব্র্যান্ড নতুন টিভিতে কাজ কলোনি বলা শো, যা স্রষ্টার আসলে একটি হার্ভার্ড Alum নিজেকে. আর তাই আমরা এই দেখতে আসতে খুবই অধীর আছেন মার্কিন নেটওয়ার্ক এই জানুয়ারি আত্মপ্রকাশ. সুতরাং যে জন্য অপেক্ষায় থাকুন, এবং এর জন্য সপ্তাহের জন্য আরো রামন আসা. শেষ কাছাকাছি এখন জানি যে. এবং কি এই মানে নেই যে হয় সব যে অনেক বলে দু: খিত, CS50 এর বাম. আমরা মাত্র তিন সমস্যা আছে সেট আছে left-- সমস্যা যা six-- সেট আপনার হাতে এখন বা শীঘ্রই, হতে হবে পরে বোঝানো হয় সপ্তাহে এই সেতু কারণে কমান্ড লাইন, যেখানে আমাদের বোথ ওয়ার্ল্ডস আমরা ব্যবহার আমাদের সময় অধিকাংশ কাটিয়েছি সি, ও ওয়েব প্রোগ্রামিং জগতে. ওয়েল, আপনি ধারণা অনেক দেখতে পাবেন কমান্ড লাইন থেকে কাজকর্মের থেকে ধার, কিন্তু নতুন এছাড়াও অনেক এবং আকর্ষণীয় ধারনা এছাড়াও জন্য সঙ্গত হতে যাচ্ছি মোবাইল অ্যাপ্লিকেশন এবং জন্য প্রযুক্তি, আরো সাধারণভাবে, যা দিয়ে আপনি বলছি আজকাল সব পরিচিত ল্যাপটপ এবং ফোনের এবং মত. তাই আপনি না বাস্তবায়ন করব একটি ওয়েব পৃষ্ঠা, অথবা কোনো ওয়েবসাইট কোনটাই কিন্তু একটি প্রকৃত ওয়েব সার্ভার. আপনি একটি ওয়েব সার্ভার বাকি লিখতে হবে জীবনে যার উদ্দেশ্য সি, লেখা HTTP অনুরোধ, যারা গ্রহণ করতে হয় আমরা কথা রাখতে ভার্চুয়াল খামে সম্পর্কে, এবং আসলে সাথে হয় সাড়া নামের প্রারম্ভে বিন্দু এইচটিএমএল মত কিছু স্ট্যাটিক content-- ফাইল, বা একটি বিন্দু JPEG বা ফাইল অন্য যে কোন নম্বর, বা এমনকি একটি পিএইচপি ফাইল যদ্দ্বারা আপনার ওয়েব সার্ভার যে পিএইচপি ব্যাখ্যা করা যাচ্ছে কোড এবং ফলাফল থুতু. এখন, আমরা সঙ্গে আপনি প্রদান করেছেন কাঠামো বেশ বিট প্রকৃতপক্ষে এটিকে জন্য সমস্যার জন্য ডিস্ট্রিবিউশন কোড ছয় 1,000 লাইন দীর্ঘ সেট, একটি যা অনেক মন্তব্য, fair-- হতে হয় কিন্তু এই সত্যিই বোঝানো হয় একটি সুযোগ হতে মলিন ডাইভিং আপনার হাত পেতে একটি মোটামুটি বড় প্রকল্পের মধ্যে আমরা খুব নির্দিষ্টভাবে করেছি যে আপনার জন্য আউট উত্কীর্ণ টুকরা, তাই যে সত্যিই আপনি CS50 থেকে প্রস্থান করার সময় এবং প্রোগ্রামিং এর বাস্তব জগতে প্রবেশ এবং সিক্ত করতে চান প্রকল্পের কোনো সংখ্যা, আপনি অনেক বড় হবে সান্ত্বনা কিছু সোর্স ডাউনলোড কোড, কিছু ওপেন সোর্স ওয়েব প্রকল্প, এবং এ ডাইভিং ও উপার্জন আপনি দেখতে ফিট করে পরিবর্তন. সমস্যা সাত সম্পর্কে হতে যাচ্ছে সেট আপনার নিজস্ব ওয়েব ভিত্তিক অ্যাপ্লিকেশন উপার্জন যে গতিশীল ইনপুট নেয় এবং আকারে গতিশীল আউটপুট উত্পাদন একটি etrade.com মত ওয়েবসাইটের. আর সমস্যা আট এখনও ফোকাস হবে সেট জাভাস্ক্রিপ্ট হিসেবে পরিচিত অন্য ভাষায়. এদিকে, চূড়ান্ত প্রকল্প দিগন্ত হয়. তথাকথিত প্রাক প্রস্তাব আজ থেকে এক সপ্তাহের কারণে. স্পেসিফিকেশন অনুযায়ী প্রাক proposal--, CS50 এর website-- উপর যা হয় একটি সুন্দর নৈমিত্তিক সুযোগ হয় আপনি একটি চমত্কার সংক্ষিপ্ত ইমেল পাঠাতে আপনার শিক্ষণ সহকর্মী করতে শুধু তাকে অবহিত করতে অথবা আপনি কি চিন্তা করছি, এর সাথে তার একটি অনুনাদক হিসাবে তাকে বা তার ব্যবহার. আর একটি মানসিক সুস্থতা আছে check-- আপনি চিন্তা করছেন কিনা খুব কামড়ে সম্পর্কে খুব সামান্য বেশী বা হয়তো, অথবা হয়ত আপনি কোন ধারণা আছে এবং একটি কথোপকথন নিয়োজিত করতে চান. এরপর একটি প্রস্তাব এবং অবস্থা প্রতিবেদন, এখানে তথাকথিত CS50 Hackathon হার্ভার্ড ও ইয়েল ছাত্রদের জন্য কেমব্রিজ একইভাবে. চূড়ান্ত প্রকল্প এর বাস্তবায়ন তারপর কারণে. এবং তারপর এখানে একটি CS50 পরিষ্কার, কেমব্রিজের, পাশাপাশি নিউ হ্যাভেন অন্য হিসাবে. প্রস্তাবনা সুতরাং, কটাক্ষপাত ঐ বিবরণ জন্য ওয়েবসাইট. কিন্তু আরো excitingly, খুব, একটি সুযোগ আপনার হাত ময়লা পেতে, এবং একটি সম্পূর্ণ খোলা আপনার মন বিষয় ও সরঞ্জামের গুচ্ছ এবং যে কৌশল আনুষঙ্গিক হয় অবশ্যই এর কোর পাঠ্যক্রম, কিন্তু তবু সম্পর্কিত. এবং এছাড়াও বিস্ময়কর পদবিন্যাস পাথর সত্যিই শীতল চূড়ান্ত প্রকল্প করছেন যে ভাল উপাদান অতিক্রম আমরা আবৃত করেছি যেতে আনুষ্ঠানিকভাবে সমস্যা সেট বা বক্তৃতায়. তাই জন্য CS50 এর ওয়েবসাইটে যান সেমিনার পুরো পালা. আপনি এখনো নিবন্ধন না, যে সূক্ষ্ম. এগিয়ে যান এবং এখনও সাইন আপ করুন এবং আমরা আমাদের কাজ করি একটি লাইভ স্ট্রিমিং লিঙ্ক সহ আপ অনুসরণ, দিন এবং সময় ওয়েবসাইটে হয়. আর সবকিছু হতে হবে রেকর্ড এবং অনলাইন করা আপনি করতে পারবেন না তাহলে বিশেষ দিন এবং বার. তারপরে এগিয়ে কি মিথ্যা হিসাবে, অবশ্যই, CS50 Hackathon আছে. গ্রহণ সপ্তাহে শূন্য থেকে এই ছবি, রিকল, বছর অতীতে সন্ধ্যায় এক am 4 কাছাকাছি. CS50 পরিষ্কার, যা আবার উভয় শহরে সঞ্চালিত হবে. এবং তারপর, ঠিক বেছে নেওয়া বীজ, এমনকি এখনও আমরা যদিও একটি মাস আছে প্লাস, তাহলে সেমিস্টারে বাকি আপনি CS50 এর নিজস্ব শিক্ষার যোগদান করতে চাই কর্মী, এবং আপনি শুরু করতে চান একটি CA সম্পর্কে চিন্তা, বা শিক্ষণ সহকর্মী, যে জানে আমরা যে বিষয়ে আরো কথা বলা শুরু করব পরে এই সেমিস্টারে. কিন্তু এখানে অঙ্কিত এই বছর এর টিম অধিকাংশ. আর তাই, PHP-- এবং আমি তাই দু: খিত ছিল গত সপ্তাহে [যে? Allyse?] কল্যাণকামী পাবার চেষ্টা করতে গিয়েছিলাম আসুন আমরা এই বিস্ময়কর সাজসরঞ্জাম আমি শেষ পর্যন্ত ব্যবহার করা হয়নি যে, এটা তাই সত্যিই শুধু মূঢ় ধরনের লাগছিল সকলে এখানে বসা একটি বেলচা ছিল যে দিনের সর্বশেষ বুধবার, এবং একটু চামচ. কিন্তু এই আমার রূপক ছিল আঁকা চেষ্টা প্রণালী কেন আমরা রূপান্তরের করছি এর ছবি সি থেকে পিএইচপি মত একটি ভাষা থেকে. আর একই কোনো কথা বলা যেতে পারে languages-- জাভা, পাইথন, রুবি সংখ্যা others-- কিন্তু যেহেতু বা কাঁদি সি, উদাহরণস্বরূপ, সি একটি প্রোগ্রাম লেখা সাধারণত মত হতে পারে এই মত একটি চামচ গ্রহণ এবং একটি গর্ত খনন স্থল, বালি বা ময়লা. পিএইচপি আপনি অনেক নিতে পারবেন সমস্যা থেকে বেরিয়ে বড় কামড়, অনেক কম কোড লেখা একটি অনেক ছোট টুল ব্যবহার করে, আরো অনেক কিছু আছে, কারণ কার্যকারিতা pieced. এখন, আমরা সত্যিই নাটকীয় ছিল, আমরা বেলচা কিছু আছে চাই এখানে, কিন্তু তাই এটি হতে. এদিকে, অন্যান্য রূপক আমরা নিয়ে এসেছেন অবশ্যই, আপনি করতে পারে, হয় একটি রেঞ্চ ভালো কিছু ব্যবহার একটি পেরেক মত কিছু হাতুড়ি. তবে অবশ্যই, ডান ব্যবহারের হাতিয়ার যাচ্ছে খুব বেশি ছিলো না হতে ভাষা বলা সি এবং এখন আমি শুধু বিরক্ত [? স্যান্ডার্স,?] সম্ভবত, আমরা যাতে later-- ঠিক করব ডান টুল প্রায়ই ব্যবহার হতে যাচ্ছে না এই সর্বনিম্ন স্তরের হাতিয়ার. এবং প্রকৃতপক্ষে, সি একটি ভাষা নয় যে আপনি অধিকাংশ কখনও ব্যবহার করতে যাচ্ছি বা অগত্যা আবার ব্যবহার করা উচিত. এবং বাস্তবিকই, একটু শুধুমাত্র সময় secret-- আমি সি নিজেকে মধ্যে প্রায় কাছাকাছি ব্যবহার ভাষার পতনের সেপ্টেম্বর ও ডিসেম্বর সেমিস্টারে. এবং যে কারণে আমরা একটি সুযোগ হিসাবে এটি ব্যবহার মৌলিক শেখান প্রোগ্রামিং এর, এবং এটি কম্পিউটারের সাথে বিজ্ঞান মৌলিক, তথ্য কাঠামো, আলগোরিদিম এবং করার মত কিন্তু খুব দ্রুত আপনি সিনট্যাক্স যে এখন দেখতে এবং ধারনা সি অন্তর্নিহিত তাই wonderfully হয় আরো আধুনিক করার হস্তান্তরযোগ্য উচ্চ স্তরের ভাষা, মত পিএইচপি এবং পাইথন এবং পার্ল এবং জাভা এবং Objective-সি, এত না আসলে উদ্দেশ্য-সি কিন্তু বেগবান, এই নতুন প্রত্যেক যে আপনাকে অনেক Will তারপর আপনি চূড়ান্ত প্রকল্পের সঙ্গে সিক্ত. আরও ঝামেলা ছাড়া, তাই, আসলে এর দিন কিছু সমস্যার সমাধান করতে পিএইচপি ব্যবহার. সর্বশেষ, যে আগে থেকেই প্রত্যাহার সপ্তাহে, আমরা শুধু ব্যবহৃত হয় CS50 আইডিই, আমরা একটি ফুটফুটে একটু প্রোগ্রাম লেখেন যে শুধু "হ্যালো দুনিয়া.", বলেন এবং তারপর আমি এটা সংরক্ষিত একটি ফাইল hello.php বলা. এবং তারপর আমি এই কমান্ড দৌড়ে. এবং কেন? ইংরেজিতে, এখানে কি ঘটছে? আমি যখন কি করছেন ছিল আমি এই কমান্ড দৌড়ে? হ্যা? শ্রোতা: কিছু ফাংশন পিএইচপি নেই যে in-- বোঝে যে কি সার্চ. DAVID Malan: ভালো, কিছু ফাংশন আছে PHP-- এবং আমাকে আরো নির্দিষ্ট করা যাক, পিএইচপি নামক একটি প্রোগ্রাম a.k.a., আছে বুঝতে পারে, একজন দোভাষী hello.php বিষয়বস্তু, এবং উপরের এটি ব্যাখ্যা নীচে, ডানে বামে এবং যারা কমান্ড কী বলে. hello.php মধ্যে কমান্ড, অবশ্যই, শুধু code-- ফাংশন উৎস এবং ভেরিয়েবল এবং loops এবং ভালো লেগেছে, আমরা নিজেদেরকে যে পিএইচপি লেখা শুরু করেছেন. কিন্তু সি ভিন্ন, যা হয় একটি কম্পাইল করা ভাষা পিএইচপি আপনি শুধু এটা লিখতে, এবং এটি চালানোর জন্য. আপনি যে ফড়িয়া ধাপটি উপেক্ষা zeros এবং বেশী রূপান্তর, এবং তারপর এটি চলমান. আর তাই এই একটি গোলমালে কি? কেন আমরা ধাপে কুঁদন? কেন আরো আধুনিক ভাষা না এই ধাপটি ঝোঁক? বেনিফিট কি ছিল? অথবা শুধু intuitively? আমরা না করেছি, এমনকি যদি আগে অনেক পিএইচপি লেখা, কি করবেন সম্পর্কে উপকারী আপনার কোড কম্পাইল আপনি মনে করেন? কোন? করছেন না? আপনার মাথা চুলকানো? হ্যা. শ্রোতা: আরো গতিশীল. DAVID Malan: আরো গতিশীল? তুমি কি মনে কর? শ্রোতা: [শ্রবণাতীত] ডেভিড MALAN: ঠিক আছে, ভাল, তাই ইনপুট উপর নির্ভর করে, আপনি প্রতিটি সময় এটি কম্পাইল করতে হবে না. এবং এটি সত্যিই হয় কিন্তু যে হিসাবে সহজ কি অব্যাহত বিন্দু আপনার কোড কম্পাইল? এই যে শুধু একটি পদক্ষেপ making-- এই, প্রয়োজন হয় গত কয়েক জন্য সপ্তাহ, দুইবার হিসাবে অনেক ধাপ যেমন শুধু আপনার প্রোগ্রাম চলমান. এটা আপনি এইজন্য যে দরকারী হয়েছে তাই ঘোষণা কিছু ত্রুটি বার্তা ও দেখতে কিন্তু এটি এখনও ঠিক একটি বিরক্তিকর পদক্ষেপ. আর তাই প্রোগ্রামাররা উপলব্ধি সময়ের সাথে সাথে, কেন আমরা না না যে প্রত্যেক লেখা শুরু , যে মোটামুটি যান্ত্রিক পদক্ষেপ প্রয়োজন তাই যে শুধু লিখে রাখতে পারেন আপনার কোড এবং এটি চালানোর জন্য. কিন্তু মূল্য কি ছিল আমরা দেওয়া দেখেছি যে একটা উদাহরণই সঙ্গে সপ্তাহে সর্বশেষ? হ্যাঁ? গতি. সুতরাং [? ?] দোভাষী কি একটু মন্থর, যে zeros এবং বেশী হয় চমৎকার এবং একটি কম্পিউটার এর জন্য ফাস্ট বুঝতে, কারণ ইন্টেল CPU- র, বা যাই হোক না কেন, শুধু কি ঘটছে বুঝতে বিট যারা নিদর্শন সঙ্গে. একজন দোভাষীর যেহেতু একটি প্রোগ্রাম যে সত্যিই হয় ASCII উৎস পড়তে হয়েছে আপনি লিখিত আছে যে কোড, এবং এটি রূপান্তর, তাই কথা বলতে, বা করতে এটা শেষ পর্যন্ত পরিবর্তন করে জিনিসটা কিভাবে zeros এবং বেশী. তাই এটি শুধু একটি সামান্য লাগে একটি কার্যকারিতা আঘাত বিট. সুতরাং এটি একটি ট্রেড বন্ধ একটি বিট. আমরা এখানে ধরে এই কাজ এখন যদি, আমার দিন এগিয়ে যান এবং নিম্নরূপ উদাহরণ না. আমি এখানে যান, তাহলে নতুন ফাইল, আমি যাচ্ছি আবার এই সংরক্ষণ hello.php হয়. এবং এখন আমি এগিয়ে যেতে চলেছি "প্রিন্ট হ্যালো দুনিয়া", বলে - এবং আমি প্রিন্ট ব্যবহার করতে পারেন প্রত্যাহার, আমি না মুদ্রণ ফল ব্যবহার আছে. আর এখন এখানে নিচে, আমি hello.php এর পিএইচপি কি তাহলে, huh-- আমি এটা ব্যাখ্যা করেছেন বলে মনে হচ্ছে না. আমি কি ভুল করছি? শ্রোতা: কৌণিক ব্রেসলেট. ডেভিড MALAN: হ্যাঁ, আপনি প্রয়োজন যে কোণ বন্ধনী আপ উপরে. সুতরাং এটা বিরক্তিকর ধরনের, কিন্তু আপনি দ্রুত এটা ব্যবহার করতে পারেন. আমি পিএইচপি কোড লিখতে থাকে, আমি সাধারণত প্রোগ্রাম বলা প্রয়োজন, অথবা আরে, দোভাষী বলুন পিএইচপি, এখানে কিছু পিএইচপি কোড আসে. এবং তারপর ভাল পরিমাপ জন্য, আমি চাই এই সঙ্গে না এই বন্ধ, বরং শুধু প্রশ্ন চিহ্ন কোণ সঙ্গে বন্ধনী, এখন এখানে নিচে যাতে, আমি আবার এই রান, এখন আমি কাঙ্ক্ষিত ফলাফল পেতে. এখন এর একটি সামান্য অপ্টিমাইজেশান কাজ করা উচিত, আপনি আগে কখনও দেখা করেছি, যাতে. এই ধরনের বিরক্তিকর আমি যে পিএইচপি স্থান hello.php চালানোর আছে, কারণ অতীতে আমি শুধু বিন্দু স্ল্যাশ লিখতে পারে ধরনের যা সুন্দর প্রোগ্রামের নাম,. এটি একটি ভাল ব্যবহারকারীর অভিজ্ঞতা ধরনের. তাই এটি সক্রিয় আউট আপনি এটা করতে পারেন নিম্নলিখিত আমি সাথে পিএইচপি এই মোটামুটি রহস্যপূর্ণ ব্যবহার করতে পারেন এখানে উপরের জাদুমন্ত্র, যা সাধারণত একটি কুঁড়েঘর বলা হয়, এই একটি ধারালো প্রতীক যদ্দ্বারা, তাই কথা বলতে, এই একটি ঠুং ঠুং শব্দ হয় বা কোন বিস্ময়বোধক বিন্দু. আর এখন এই একটি প্রোগ্রাম পাথ একটি টিপিক্যাল Linux সিস্টেমে যে পরিবেশ, বা env বলা হয়. আর এই দীর্ঘ গল্প লাইনে short-- লাইন এক মাত্র কম্পিউটার আরে, পিএইচপি এটি বলেছেন পরিবেশে আমার জন্য দোভাষীর, তাই কথা বলতে, আপনার মেমরি তা খুঁজে পেতে. আর, এখন কি চমৎকার এর যে আমি এখানে নিচে যান, আমি বিন্দু স্ল্যাশ পারেন হ্যালো ডট পিএইচপি, or-- হুম. অনুমতি প্রত্যাখ্যান করা হয়েছে. ওয়েল, আপনি এই এমনকি আরো দেখতে পাবেন আপনি যদি সমস্যার সঙ্গে, সাত সেট না ইতিমধ্যে অনুমতিসহ আছে. এটা আমি প্রয়োজন দেখা যাচ্ছে যে এই কমান্ডটি চালাবার [বলা? chamod?] পরিবর্তনের জন্য একটি প্লাস এক্স hello.php mode--. আমি [শ্রবণাতীত] অতিরিক্ত এই এক প্রয়োজন আমার কম্পিউটার কহন হয় ধাপে, hello.php এক্সিকিউটেবল করতে. আর এখন ডট happens-- ঘড়ি hello.php কাট, এটা শুধু রান. আমি উল্লেখ করার প্রয়োজন হবে না আর ইন্টারপ্রেটার. এবং আমি এটা এমনকি prettier করতে পারেন, এখনও, যদি আমি এই জিনিস নামান্তর. আমি শুধু থেকে hello.php সরানো হলে হ্যালো, তাই উপরের বাম বিজ্ঞপ্তি প্রোগ্রাম এর নাম প্রকৃতপক্ষে এখন শুধু হ্যালো. এখন আমি এটি একটি সি প্রোগ্রাম বানাতে পারেন, এটা PHP-- লেখা যদিও বা উন্মুক্তভাবে কোন সংখ্যা অন্যান্য প্রত্যেক. তাই প্রান্তিক বর্ধিতকরণ, কোন কার্যকরী পার্থক্য. কিন্তু এটা শুধু একটু কৌতূহল এখন, আপনি প্রোগ্রাম লিখতে পারেন যাতে কোন ভাষায়, এবং ব্যবহারকারী না জানেন বা কি হয় যারা যত্ন আছে. ওয়েল, এর আরো একটি তাকান আকর্ষক উদাহরণস্বরূপ এখন আমি অগ্রিম আপ বেত্রাঘাত যে. আর এই quote.php নামক হয়. এবং এটি পাওয়া অনলাইন. এবং এটি বেশ short-- যে বিজ্ঞপ্তি কিন্তু এটি যে একটি কমান্ড লাইন প্রোগ্রাম শেয়ার মূল্য সন্ধান যাচ্ছে আমার জন্য, যা আসলে যাচ্ছে সমস্যা সাত সেট সঙ্গত হতে. সুতরাং আসুন আমি কি করছি দেখতে দিন. খুব শীর্ষে আমি পেয়েছেন খোলা বন্ধনী প্রশ্ন চিহ্ন পিএইচপি. আমি যদ্দ্বারা তারপর আমি এই লাইন পেয়েছেন functions.php-- নামক একটি ফাইল প্রয়োজন আমরা দেখতে যাচ্ছেন একটু এই বিষয়ে আরও, কিন্তু এই সি এর মত হয় ধারালো সংস্করণ অন্তর্ভুক্ত তুমি কোথাই জেতে চাও অন্য ফাইল অন্তর্ভুক্ত. পিএইচপি এটা যদিও, এটা প্রয়োজন কল এছাড়াও একটি ফাংশন অন্তর্ভুক্ত আছে. আর এটা সার্ভারও যে দেখা যাচ্ছে শুধু কিছু আমি বর্গ আগে লিখেছিলেন. আমি কারণ, একই ডিরেক্টরির মধ্যে এটি করা আমি কিছু কোড খুঁজে বিবেচনার চেয়েছিলেন যে আমরা অন্য কোথাও ব্যবহার করতে চাইবেন. এদিকে, আপনি সম্ভবত পারেন এখানে কি ঘটছে আবিষ্কার. এই সি কিন্তু থেকে একটু ভিন্ন আমি দ্বারা কি বোঝাতে চেয়েছেন সঠিক ব্যবহার নিশ্চিত? আরো টেকনিক্যালি এই অনুবাদ. কি পরিস্থিতিতে আমি প্রোগ্রাম থেকে প্রস্থান, বেরনোর? হ্যা? শ্রোতা: আপনি না যখন দুটি কমান্ড লাইন আর্গুমেন্ট. DAVID Malan: আমি না যখন লাইন আর্গুমেন্ট আদেশ. আর ঐ যে এক স্মরণ আর্গুমেন্ট প্রোগ্রাম এর নাম নিজেই. আর দ্বিতীয় হতে যাচ্ছে অন্য শব্দ আমি প্রম্পট পরে টাইপ করুন. তাই শুধু সি মত, এই চেক আমার উপায়, ব্যবহারকারী সহযোগিতা হয়নি এবং আমি উদ্দেশ্যে হিসাবে প্রোগ্রাম চালানো? এখন, কিছু আছে একটু ভিন্ন সব সি প্রথম সঙ্গে আমরা এই ডলার চিহ্ন আছে, এবং একটি ডলার কি পিএইচপি বোঝান সাইন? শুধু একটি পরিবর্তনশীল. যে দ্বারা অনুসরণ ও সব শুধু একটি পরিবর্তনশীল এর যাই হোক না কেন আপনি আসলে এটি কল করতে চান. কিছু আছে লক্ষ্য করুন আমার পিএইচপি প্রোগ্রাম থেকে অনুপস্থিত, শুধু এটা শেষ অনুপস্থিত ছিল মত সপ্তাহে, সি বনাম, যা কি? একটি ধরনের, কিন্তু অন্য কিছু. কোন কিছু নেই প্রধান ফাংশন ফাংশন. কোন প্রধান ফাংশন আছে. আপনি শুধু লেখা শুরু করেও আপনার কোড একটি মোটামুটি অবাধ সম্পর্কে চিন্তা করতে কিছু ডিফল্ট নামকরণ কনভেনশন ফাংশন প্রধান. সুতরাং ARG সি শুধু সত্যিই হয় গ্লোবাল ভ্যারিয়েবল ইন্টারপ্রেটার যে আমার উপলব্ধ করে তোলে. এখন, এই আকর্ষণীয়. তাই কাপড় সন্ধান. ডলার চিহ্ন স্টক হয় বাম, যে আমার পরিবর্তনশীল. ডানদিকে, দৃশ্যত আছে পিএইচপি একটি ফাংশন লুকআপ বলা যে আমি আমার গত কমান্ড লাইন পার করছি যুক্তি যাই হোক না কেন চাচ্ছি শব্দ. আর আমরা কিভাবে এই দেখতে পাবেন একটি মুহূর্ত কাজ. এবং তারপর সর্বশেষে আমি দাম প্রতিবেদনের করছি. আমি এক প্রিন্ট আউট করছি অমুক অমুক শেয়ারের. আর এই মনে রাখবেন, এ PHP-- PHP-- একটি উপায় উপায় আপনাকে যা করতে হবে না যেখানে আর ডলার চিহ্ন এস. আপনি শুধু কোঁকড়া ধনুর্বন্ধনী ব্যবহার করতে পারেন এবং কিছু পরিবর্তনশীল মধ্যে চলা. আপনি সম্পর্কে চিন্তা করতে হবে না একই ভাবে ব্যবহার printf. এবং একটি সরাইয়া, হিসাবে আপনি একটি পরিবর্তনশীল করা হলে এই মত উদ্ধৃতি চিহ্ন ভেতরে, আপনি একটি অভিনব কৌশল ব্যবহার করা হয় পরিবর্তনশীল ক্ষেপক বলা. এটা শুধু এখানে পরিবর্তনশীল চলা মানে. এবং একটি সরাইয়া, কিছু আপনাকে যারা আসতে হিসাবে অন্যান্য প্রোগ্রামিং ব্যাকগ্রাউন্ড থেকে, আপনি একক উদ্ধৃতি ব্যবহার করতে পারেন না কাছাকাছি স্ট্রিং এই কাজ করতে. আপনার জন্য ডবল কোট ব্যবহার করা আবশ্যক পরিবর্তনশীল ক্ষেপক কাজ করতে. অন্যথায় আপনি আক্ষরিক হবে যারা কোঁকড়া ধনুর্বন্ধনী দেখতে. তাই সর্বশেষে, এর এগিয়ে যান এবং এই রান. আমাকে আমার টার্মিনাল একটু বড় করা যাক. আমাকে এগিয়ে যান এবং চালানো যাক আমার উক্তি ডিরেক্টরির ভেতরে. [? CDsource?] [? পূর্বাহ্ণ?] [? উক্তি?] পিএইচপি উক্তি ডট পিএইচপি, এবং আমি কিছু অনুসন্ধান করতে যাচ্ছি তার টিকার চিহ্ন যা -GOOG, মত, এবং তার নতুন নাম এক ভাগ, বর্ণমালা ইনকর্পোরেটেড, আজকের হিসাবে, $ 717 টাকা লাগে. ঠিক আছে, আমরা করতে চান তাহলে আবার এই চালানো, কেউ অন্য স্টক টিকার আছে তারা সন্ধান করতে চান? মাইক্রোসফট আমি মনে করি এই এক, MSFT-- $ 53. আমি ইয়াহু হয়তো মনে হয়. আর ফেসবুক যে হয়. এমনটি এই প্রোগ্রাম কি? যাদু এমবেড করা বলে মনে হয় যে লুকআপ ফাংশন. সুতরাং আসুন একটি দ্রুত কটাক্ষপাত করা যাক. যে আসে না এটা পরিনত পিএইচপি সঙ্গে, এটা functions.php মধ্যে আছে. আর আমরা মধ্য দিয়ে যেতে হবে না এই মহান বিষদভাবে, কিন্তু এখানে অপারেটিভ শব্দ লক্ষ্য যে functions.php-- লাইন ছয় আমি আক্ষরিক ফাংশন বলে. আমি আমার ফাংশনের নাম উল্লেখ করুন. আমি তখন কোন উল্লেখ আর্গুমেন্ট, অথবা পরামিতি, আমি যে ফাংশন কোন ধরনের take-- করতে চান. এবং তারপর আমি তা বাস্তবায়ন. আর আমি আমার হাতে তরঙ্গ করব বাস্তবায়ন এ, এটা মোটামুটি উন্নত ঠিক, যেহেতু এখন, কিন্তু আমরা আসলে আবার এটা দেখতে পাবেন এক সপ্তাহের মধ্যে সমস্যা সাত সেট. কিন্তু আমি খুব, এই পরিষ্কার করতে পারেন. আমি অন্তর্ভুক্ত আজকের কোড একটি সংস্করণ কোন বিন্দু পিএইচপি ফাইল আছে যা উদ্ধৃতি, এর. এ সম্ভবতঃ এই জায়গায় পৌছানো একমাত্র শুধু বলা উদ্ধৃতি প্রোগ্রামের উপরে? যে shebang-- তথাকথিত মোটামুটি রহস্যপূর্ণ জাদুমন্ত্র যে তারপর পিএইচপি এবং খুঁজে বলেছেন এখানে আমার কোড তে এটি চালানোর. ঠিক আছে, তাই যে এনেছে আমরা যেখানে আপনি বাম বন্ধ করতে আমাদের যদ্যপি সর্বশেষ সময়ের মধ্যে আরো কিছু উন্নত উদাহরণ. কোন প্রশ্ন এখন পর্যন্ত সম্পর্কে পিএইচপি বা আমরা কি করছেন? No-- ঠিক আছে. হ্যা? শ্রোতা: ইনসাইড এইচটিএমএল ফাইল, তোমাদেরকে না [? আপনি কি করবেন?] [? শুধু বলবো কি?] একটি [শ্রবণাতীত] পিএইচপি ফাইল? DAVID Malan: ভাল প্রশ্ন. আমরা করছি, যা একটি ওয়েব প্রেক্ষাপটে ট্র্যানজিশনের আক্ষরিক সম্পর্কে, আপনি তথাকথিত ব্যবহার করবেন না উপরের কুঁড়েঘর, ওয়েব server-- প্রায়ই একটি কারণ প্রোগ্রাম Apache বা মাইক্রোসফট বলা আইআইএস, ইন্টারনেট ইনফরমেশন সার্ভার, অথবা অন্যান্য ওয়েব সার্ভার সফটওয়্যার যে কোন সংখ্যার, দেখতে পায় যে জানে নামের প্রারম্ভে বিন্দু পিএইচপি ফাইল, এটা যে এটিতে দোভাষীর চালানো উচিত. এটা যে প্রথম লাইন তাকান না. এই প্রথম লাইন কৌতুক তাই আপনি আছেন শুধু যখন হয় লেখা কমান্ড লাইন programs-- আমরা সুপার প্রায়ই না হবে, যা, কিন্তু এটি গণনার জমকালো অনুষ্ঠান আমাদের উপায় এখন আমাদের পিএইচপি আমাদের সি উদাহরণ. সুতরাং আসুন প্রকৃতপক্ষে এই বিশ্বের সেতু দিন ওয়েব থেকে কমান্ড লাইন দুনিয়া থেকে নিম্নলিখিত করে. আমাকে এগিয়ে যান এবং আঁকি এখানে শুধু একটি মুহূর্ত জন্য উপর. আমরা বরং একটি ওয়েব সার্ভারে আছে, বা যদি তাই আমরা এখানে আমার ল্যাপটপ উপর আছে, যা আমি এই মত আঁকব. এবং এখানে আমরা কিছু ফর্ম ইন্টারনেট. এখানে ওভার এবং তারপর, আমরা আছে একটি building-- একটি সার্ভার এই কিভাবে ইন্টারনেট আদৌ এবং এখানে হয়তো কিছু লাইট সঙ্গে একটি সার্ভার. আসলে হচ্ছেটা কি এই দুটি সংযোগের মধ্যে? সুতরাং এই ভবনের একটি ওয়েব সার্ভার. যে শুধু একটি কম্পিউটার যে কয়েকটি অপারেটিং চলমান system-- হয়তো ফ্রি সফটওয়্যার বলা এবং CS50 আইডিই চলমান যা এ্যাপাচি,. সুতরাং আপনি আসলে করতে পারেন এই ভবনের মনে দালান হচ্ছে যা CSt0 আইডিই সংরক্ষিত হয়. আপনি সব আছে যে যেখানে আপনি হিসাব, ​​যেখানে সব আপনার নিজস্ব ওয়েব সার্ভার আছে , আপনি সব চলমান আপনার নিজস্ব অনন্য URL গুলি আছে আমরা আলোচনা শুরু করে, পি ছয় সেট এবং আপনি আরো দেখতে পাবেন. এখানে আমার ল্যাপটপে কোথাও ইন্টারনেটে অন্য. আমি একটি URL- এ যান এবং যখন তাই যে জন্যে আমার, যে ইন্টারনেট ট্রাফিক যাচ্ছে সার্ভার, সার্ভার এর উপর প্রাপ্তির একটি HTTP request-- একটি মত index.html পেতে এবং এটি যে ওয়েব পাতা জবাবে. সুতরাং যে সাধারণ দৃষ্টান্ত আছে. আপ সবকিছু যেহেতু এখন আজ, সবকিছু পর্যন্ত একমাত্র ঘটছে এই ভবনের অবরোধ. আমি আমার ল্যাপটপ ব্যবহার, কিন্তু ছিল আমি CS50, আইডিই সংযুক্ত ছিল তাই ঐ প্রোগ্রামের সব আমি দৌড়াতাম যে সার্ভার, নিজেই ভেতরে ছিল. কিন্তু এখন, এর পিএইচপি পুনঃব্যবহার শুরু করা যাক কিছু প্রকৃত প্রোগ্রাম লিখতে যে একটি ওয়েব সার্ভার দ্বারা আপ পরিবেশিত হয়. আর এই কাজ করতে, আমি যেতে চলেছি উদাহরণ আভা মধ্যে যে এখানে এই ধারণা প্রবর্তন. সুতরাং এই একটি অভিনব উপায় ধরনের একটি প্রোগ্রামিং দৃষ্টান্ত বর্ণনা. এবং বাস্তবিকই, হিসাবে আপনি CS50 প্রস্থান বা, চূড়ান্ত প্রকল্পে কাজ অথবা কিছু অনুসরণ নিতে শ্রেণী, আপনি শুরু করব world-- যে দেখতে বিশেষত আপ জন্মায় না সি মত প্রত্যেক সঙ্গে সুপার কম level-- হয় ভাল আছে বুঝতে পারি যে লেখার সফ্টওয়্যার উপায়ে. নির্দিষ্ট আছে আপনি অনুসরণ করতে পারেন নিদর্শন, আপনার ফাইল সংগঠিত নির্দিষ্ট উপায়ে এবং আপনার ফাংশন নামকরণ উপায়, তাই যে দীর্ঘ সংক্ষিপ্ত বিবরণ, বিশ্বের আসা পর্যন্ত করেনি আদ্যক্ষরসমস্টি আভা সঙ্গে এবং প্রোগ্রামিং এর উপায় নাম. এই আপনি ব্যবহার করতে পারে শুধু কৌশল আছে. তাঁদের মধ্যে একজন, MVC বলা হয় মডেল ভিউ কন্ট্রোলার. আর এই জন্য, শুধু হয় এখন, একটি মাত্রাতিরিক্ত জটিল আপনি খুঁজে রাখা উচিত কিভাবে বলছে প্রণালী একটি পিএইচপি-ভিত্তিক ওয়েবসাইট, আমাদের ক্ষেত্রে. আপনি আপনার ফাইল সংগঠিত না কিভাবে, কিভাবে আপনি, আপনার লজিক সংগঠিত না আরও সহজ করে তোলে একটি উপায় যে আরো জটিল ওয়েবসাইটের লিখুন? এবং প্রকৃতপক্ষে, আমরা দ্রুত হবে সাত পি সেট দিয়ে সেখানে পাবেন. MVC জগতে তাই, আপনি যাচ্ছেন দেখতে যে আমাদের কোড সাধারণত পারেন হয় মডেল কোড হিসাবে চিহ্নিত করা, বা নিয়ামক কোড, বা ভিউ কোড. আর আমি করতে যাচ্ছি অনুসরণ হিসাবে এটি অতিসরল নিয়ামক আপনার প্রোগ্রামের ঘিলু, এটি যেখানে সব আকর্ষণীয় যুক্তিবিজ্ঞান ঘটবে. তাই সবকিছু আমরা চলেছি এখন পর্যন্ত ক্লাসে লেখা, ধরনের নিয়ামক ভালো হয় code-- এটা নিয়ন্ত্রণ করছে আপনার প্রোগ্রাম, আপনার loops, আপনার শর্ত, আপনার ফাংশন এবং ভেরিয়েবল এবং সব যে. দেখেছে, এখন, একটু হতে যাচ্ছে ওয়েব জগতে আরো সুস্পষ্ট. একটি দৃশ্যে নন্দনতত্ব হয় আপনার ওয়েবসাইটের. এটি ব্যবহারকারীকে ইমেজ sees-- কি এইচটিএমএল টেবিল, এইচটিএমএল ট্যাগ, এবং সব যে, ফুঁয়োফুঁয়ো নান্দনিক সব লিখতে যে কঠিন নয় যে কাপড়, কিন্তু আপনি উৎপাদিত করছি ঠিক কি না, তথাকথিত দেখুন, সৌন্দর্যবোধ হয়. এবং মডেল, পরিণামে, যাচ্ছে ডাটাবেস stuff-- হতে যা সকলে মধ্যে ডাইভিং শুরু করব আরো এই বুধবার. তাই নিয়ন্ত্রক যুক্তি হল, দেখুন, নান্দনিক উপাদান এবং মডেল যেখানে হতে যাচ্ছে আমরা আমাদের প্রকৃত তথ্য সংরক্ষণ. সুতরাং আসুন আরো মূর্তভাবে এই তাকান নিম্নলিখিত উদাহরণে সঙ্গে. আমি এখানে আমার তালিকা ঢোকা যাচ্ছে না আজকের উৎস যা সব code-- অনলাইন উপলব্ধ. আর আমি সংস্করণ শূন্য ঢোকা যাচ্ছে না. এবং এখানে কল দেওয়া হচ্ছে ÑÑ CS50 এর ওয়েবসাইটের সংস্করণ শূন্য. এ সব অনেক এখানে নেই. এটা যে এটি একটি খুব সহজ ওয়েব পাতা সম্ভবত ব্যবহার কি এইচটিএমএল tags-- শুধু গত উদাহরণ থেকে অনুমান? ওটা কী? সম্ভবত যে বড় গাঢ় জন্য H1-- শিরোনাম, শীর্ষ আপ যে লোগো, এবং CS50. আর কি কি খেলা হয়? হ্যা? শ্রোতা: unordered তালিকা. DAVID Malan: ক্রমবিন্যাসহীন তালিকার তাই উল ট্যাগ এবং Li ট্যাগ হয়তো একটি দম্পতি. এবং যদি আপনি এই মনে না থাকে তাহলে, এটা সত্যি কোন ব্যাপার না. এই ফুঁয়োফুঁয়ো সাজান হয় এইচটিএমএল এর বাস্তবায়ন বিবরণ আপনি দ্রুত সন্ধান যে এবং আপনি ফিরে আপনার উপায় করছি. আমরা প্রোগ্রামিং উপর মনোনিবেশ করব juicier টুকরা যে ধারনা. তাই আসুন শুধু একটি দ্রুত নিতে দিন HTML-- তাকান এবং প্রকৃতপক্ষে আমি হ্যাঁ, এখানে দেখুন উৎস খুলুন যদি, যে ঠিক এখানে ঘটছে তা. একটি উল ট্যাগ নেই. যে এর ভিতরে নেস্টেড Li বিভাগ হয়. এবং তারপর আমি URL- এ ধার এখানে প্রকৃত পাঠ্যক্রম. এবং তারপর lectures.php দৃশ্যত হয় অন্য পরিবর্তনশীল উত্পন্ন পাতা যে, এর আহ see-- যাক, আছে যাচ্ছে বক্তৃতা প্রথম দুই সপ্তাহ. তাই সপ্তাহে শূন্য এবং সপ্তাহে এক, এর দিন আমি পাতা উৎস দেখতে হলে এই পর্যবেক্ষণ, সুপার সহজ. এই দুটি পেজ নেতৃস্থানীয় হয় বলা week0.php, এবং week1.php. তাই কি ঘটছে এখন বিবেচনা. আমি week0.php উপর ক্লিক করা হলে, আমার ল্যাপটপ week0.php জন্য একটি অনুরোধ করছে. ওয়েব সার্ভার, a.k.a. CS50, আইডিই, যে ভার্চুয়াল খাম গ্রহণ করা হয়. এটা একটি বার্তা দেখা হচ্ছে মত, week0.php পেতে. এর পরে ফাইল দোভাষী হয়, উপরের নীচে, ফাইল right-- বামে বলা week0.php-- ও ফলাফল খুঁজে spitting. সুতরাং এই ফাইলের ভিতরে, week0.php, হতে হবে উৎপাদিত হয় যে নিয়ামক যুক্তিবিজ্ঞান এই এইচটিএমএল, এবং আমরা শীঘ্রই দেখতে পাবেন. কিন্তু এখন জন্য, আমাকে সপ্তাহে শূন্য ক্লিক দিন এবং এখন আমরা, বুধবার এবং শুক্রবার আছে এবং এখন আমরা স্লাইড আছে ধীরে ধীরে সপ্তাহে শূন্য থেকে. আর আপনি প্রত্যাহার করা হতে পারে ফিরে যখন এই থেকে উপায়. সুতরাং যে এই ওয়েবসাইটে করছে সব. সুতরাং এটি এই করছে কিভাবে বিবেচনা করা যাক. আমি ফিরে যেতে চলেছি এবং CS50 IDE তে এখানে সোর্স কোড, এবং আমি index.php আপ খুলতে যাচ্ছি. এই ফাইলটি শীর্ষে মন্তব্য একটি গুচ্ছ হয়. এবং তারপর এই ফাইল মাঝখানে, এটা দেখা যাচ্ছে, কোন পিএইচপি কোড. অতএব, কোন চিন্তাশীল আছে না হলে খোলা বন্ধনী প্রশ্ন চিহ্ন পিএইচপি ট্যাগ, আপনি শুধু এইচটিএমএল করা বিনামূল্যে. কারণ কি পিএইচপি ইন্টারপ্রেটার, না অনুমিত হয় এটা এই ফাইলটি সার্চ যখন হয় উপর থেকে নিচ, right-- বামে এটি শুধুমাত্র মধ্যে সূচিত কোড ব্যাখ্যা যারা কোণ বন্ধনী চিহ্ন প্রশ্নের. এবং অন্য কিছু এটা না যে পিএইচপি হিসাবে চিনতে, এটা শুধু খুঁজে spits. এবং HTML উপাদান মধ্যে একজন এটা শুধু থুতু হবে. তাই এই ফাইল থাকতে পারে index.html বলা হয়েছে, কিন্তু আমি সবকিছু নামকরণ করছি একটি পদবিন্যাস পাথর হিসাবে ডট পিএইচপি. একইভাবে Lectures.php-- underwhelming, এটা শুধু কিছু এইচটিএমএল এর. Week0.php, একইভাবে শুধু কিছু এইচটিএমএল. কিন্তু এখন এর উপর করা যাক প্রবাদতুল্য ইঞ্জিনিয়ারিং টুপি, এবং আমরা এই উন্নত করতে পারেন কিভাবে বিবেচনা. এটা এই কাজ কঠিন না, কিন্তু আমি ধরনের কপি এবং পেস্ট devolved. এবং বাস্তবিকই, আমি সপ্তাহে দুই করা, যদি আপনি আমি সম্ভবত কাজ করতে যাচ্ছি কি জানেন? আমি আছি, week1.php যেতে যাচ্ছি সবকিছু উজ্জ্বল করে যাচ্ছে. আমি এটা কপি করতে যাচ্ছি, তা পেস্ট week2.php নামে একটি নতুন ফাইলে, কিছু URL খামচি, এবং আমার মত হতে. তাই আমরা করেছি তার উপর ভিত্তি করে ইতিমধ্যে সি দেখা, এই আশা, অধিকার মনে হয় না. কপি, পেস্ট খুব কমই সঠিক সমাধান. তাই আমরা শুরু করতে পারি এই উন্নতি করতে? কোথায় সুযোগ হয় ভাল নকশা জন্য? আমি পেতে সময় সপ্তাহে আট, এটা যাচ্ছে সত্যিই বিরক্তিকর হতে আমি পরিবর্তন করতে চান তাহলে প্রতি এক ফন্ট আমি চাই, বা যদি আমার পেজ বিন্যাস কাঠামোর পরিবর্তন. তাই যেখানে সুযোগ ভাল নকশা জন্য? ওয়েল, এর কি বিবেচনা করা যাক ফাইলগুলির জুড়ে ভাগ. এখানে সপ্তাহে সপ্তাহে এক শূন্য, এখানে lectures.php এর, এখানে একই কি index.php-- এবং বিভিন্ন মোটামুটিভাবে কি বলতে হয়, এই ফাইল প্রত্যেকটি? হ্যা? শ্রোতা: [শ্রবণাতীত] ডেভিড MALAN: ঠিক আছে, ভাল. সুতরাং একটি প্যাটার্ন নিশ্চয়, যদ্দ্বারা, আছে প্রত্যেক সময় আমি বক্তৃতা আমি নিন আমি একটি উৎপাদিত হবে অনুরূপ খুঁজছেন পাতা. তাই সম্ভবত আমি লিভারেজ পারেন আসলে সত্যিই যে, ইচ্ছাকৃতভাবে সংখ্যার দিক আমরা আমাদের lectures-- ইন্ডেক্স আমি আরও বেশি করা যাবে যদি আপনার উত্তর শব্দ. আর, সত্যিই, শুধু কি যে সপ্তাহে মধ্যে পরিবর্তন one-- এবং তাই এটি আমাকে নিচে স্ক্রল প্রায় একই place-- মধ্যে তাই এখানে সপ্তাহে শূন্য, প্রায় উপরের. এখানে সপ্তাহে এক সপ্তাহে হয় শূন্য, সপ্তাহে এক সপ্তাহে শূন্য. ঠিক আছে, আক্ষরিক আপনি যদি জানেন কোন প্রোগ্রাম, এই মাত্র এখন ভালো হয় প্যাটার্ন ম্যাচিং. তাই আলাদা? হ্যা? শ্রোতা: [শ্রবণাতীত] DAVID Malan: গুড, তাই শিরোনাম অত্যন্ত সামান্য পরিবর্তন করা হয়. জিরো এক, অবশ্যই, যাচ্ছে. একই জিনিস H1 ট্যাগ কি ঘটছে. আর আমরা বেশ, যেমন সহজেই তা দেখতে পাই না URL গুলি একটু দীর্ঘ হয়, কারণ. কিন্তু যারা URL গুলি সামান্য পরিবর্তন করা হয়. কিন্তু পরিবর্তিত হতে পারে না কি, আমি সাহস বলতে page-- বিষয়বস্তু অধিকাংশ এইচটিএমএল ট্যাগ একই, প্রধান একই, শিরোনাম, প্রায় একই শরীরের একই, এবং অন্য প্রায় সব ছাড়া একই হয় যারা সামান্য tweaks. তাই আমরা যে বিষয়ে কিভাবে যেতে পারেন এই কিছু আউট ফ্যাক্টরিং? ভাল আমাকে ঠিক উত্থাপন করা যাক পরবর্তী সংস্করণে যে. সুতরাং এখানে সংস্করণ এক, আমি সঠিক আছে একই ফাইল, প্লাস অন্যদের কয়েক. এখানে index.php-- এবং এমনকি যদি এর আপনি আগে পিএইচপি দেখেননি করেছি কি আমি সম্ভবত এই সমস্যার সমাধানের করছি আপনি এখানে দেখতে তার উপর ভিত্তি করে একটি সমস্যার? হ্যা, সামান্য প্রতিশ্রুতি যে? কোন? হ্যাঁ, নেভিগেশন এড়িয়ে যান. শ্রোতা: [শ্রবণাতীত] DAVID Malan: হাঁ. শ্রোতা: [শ্রবণাতীত] DAVID Malan: আমি আপনি প্রয়োজন শুধু একটু জোরে কথা বলতে. শ্রোতা: [শ্রবণাতীত] ডেভিড MALAN: ঠিক আছে, ভাল. এবং আমি এটা ছিল কি মনে তোমাদেরকে কিন্তু আমি শুনতে কঠিন কি আপনি এ পেয়ে থাকেন যে মনে হয় টপ আপ প্রচলিত ছিল যে ট্যাগ, সমান যে ট্যাগ নীচে, এখন, আউট করেছিল হয়েছে বা কি ফাইল থেকে relegated? Header.php এবং footer.php-- এবং আমরা চলুন কিছু tweaks করতে উদ্বেগের বিষয় আপনি মোকাবেলার শুধু জন্য, সংখ্যা পরিবর্তন সম্পর্কে উত্থাপিত উদাহরণস্বরূপ, আমি সঠিকভাবে আপনি শুনেছেন যদি. কিন্তু যে তার সারকথা মনে করা হয়. বিপুল পরিমাণ ছিল যদি পৃষ্ঠার উপরের অতিরেক, এবং বিপুল পরিমাণ নীচে অতিরেক, এর আক্ষরিক শুধু হাইলাইট করা যাক এবং যে সামগ্রী উদ্ভাবন একটি পৃথক ফাইলে ঠিক মত লাগাতে হবে আমরা খুঁজে করেছিল যেখানে সিএসএস, ধারণা করা অনুরূপ নন্দনতত্ব, একটি পৃথক ডট পিএইচপি ফাইলে এটা, mechanism-- প্রয়োজন ব্যবহার যা C Sharp include-- মত যা মূলত যেতে বলছে ভালো হয় , header.php বিষয়বস্তু দখল এবং কপি করে এখানে পেস্ট করুন. কিন্তু কি এই মানে যে এখন হয় index.php, আমি ঐ দুটি লাইন আছে. Lectures.php, আমি ঐ দুটি লাইন আছে. Week0.php, আমি ঐ দুটি লাইন আছে. সুতরাং এখন, আমি পরিবর্তন করতে চান তাহলে আমার পেজের সব শিরোনাম, বা আমি পরিবর্তন করতে চান মৌলিক কাঠামো, আমি শুধু এক জায়গায় এখন তা পরিবর্তন করতে পারেন অথবা দুই places-- হেডার এবং ফুটার, যথাক্রমে. এখন কোড এর প্রারম্ভিক দেখুন একটু বেশি রহস্যপূর্ণ, ডান? কিন্তু আপনি আমার মনে যদি কোন পৃষ্ঠাটি আমি week0.php অনুরোধ করছি যদি অনুরুপ হয়, শুধু ওভার আঁকার মত এখানে week0.php অনুরোধ করা হয়, ওটার মানে কি? আক্ষরিক, এই ফাইল ব্রাউজার দ্বারা অনুরোধ. ওয়েব server-- a.k.a. এবং CS50 আইডি এই grabs ফাইল, week0.php, এবং সার্চ এটা নিচ, ডানে বামে. এক লাইন, তা অবিলম্বে encounters খোলা বন্ধনী প্রশ্ন চিহ্ন পিএইচপি, প্রয়োজন হেডার ডট পিএইচপি, এবং তাই কি পিএইচপি দোভাষীর যে ওয়েব পাতাটা এর does-- সার্ভার, আমরা পূর্বে কনফিগার কারণ এটা স্বয়ংক্রিয়ভাবে যায় তোমাদেরকে জন্য header.php মধ্যে, কপি বিষয়বস্তু, এখানে তাদের প্রতিলেপন করা হয়. কিন্তু তারপর দোভাষীর এনকাউন্টার প্রশ্ন চিহ্ন বন্ধ বন্ধনী, তাই এটা সব চিন্তা করা হচ্ছে. এখন এটা শুধু অন্ধভাবে spits লাইন আউট সাত মাধ্যমে দুই, এটা শুধু কাঁচা এইচটিএমএল কারণ. আট লাইন পায়, এবং যে আছে ফাইল খোলার again-- একই জাদু, বিষয়বস্তু দখল, এবং তাদের প্রয়োজন বা তাদের আটকে তারপর ডান বা আছে. কিন্তু আমি শুধু একটি প্রোগ্রাম ত্রুটি উল্লিখিত. এই পশ্চাদপদ একটি আংশিক পদক্ষেপ আমরা header.php মধ্যে চেহারা যদি কারণ, আমি ধরনের একটি কোণ কাটা করেছি. আমি যাতে ছেড়ে দিতে কি বৈশিষ্ট্য এই একটা জিনিসই ভাল ডিজাইন লাভ? হ্যা? শ্রোতা: [শ্রবণাতীত] ডেভিড MALAN: হ্যাঁ, আমি ধরনের একটি nontrivial কোণে কাটা. আপনি কি পরিবর্তন হয় যে নির্দিষ্ট শিরোনাম ছিল, শিরোনাম নম্বর, এবং H1 এ সংখ্যা. সুতরাং আমার সমাধান, ঠিক আছে, ছিল এর মাত্র পৃষ্ঠা নামান্তর যাক, এবং যে মোকাবেলা করবেন সবটা সমস্যা. সুতরাং যে একটি আংশিক এর নিশ্চিত হওয়ার জন্য পিছন দিকে বাড়ানো. কিন্তু এখানে লক্ষ্যণীয় কি আমি যা করেছি যে কি অন্যথায় সৃষ্টি হয় সব সাধারণ উপাদান. এবং footer.php, আমি করেছিল লক্ষ্য যে সব আউট, ক্ষুদ্রতর যদ্যপি সাধারণ কাপড়. তাই আমি একরকম এখন পাবে প্রয়োজন আরেকটি ধাপ এগিয়ে নিতে, এবং ঠিক যে শিরোনাম বিষয়. তাই এর যে কি করা যাক. আমার দ্বিতীয় সংস্করণ ঢোকা যাক এখানে, যা, আবার, একই ফাইল আছে এক নতুন ছাড়াও ছাড়া. এবং এটি একটি সামান্য আরো বাগাড়ম্বরপূর্ণ, কিন্তু যদি দেখতে দিন আমরা এখানে কি ঘটছে বাদে জ্বালাতন করতে পারেন. সুতরাং পরিবর্তে প্রয়োজন এর header.php, এবং footer.php, আমি কেবল একটি প্রয়োজন হবে বলে মনে হচ্ছে ফাইলটি helpers.php, অবশ্যই, বলা. আর, আমার এখন চুক্তির শর্ত দেওয়া helpers.php ভেতরে কি ফাংশন শুধু একটি গুচ্ছ যে আমি ঠিক আগের মতই, লিখেছে. কিন্তু আমি এটা helpers.php বলা. এখন দৃশ্যত, এ তিন লাইন এবং 10, আমি আছি দুটি ফাংশন কলিং হেডার রেন্ডার, ফুটার রেন্ডার. সাথে আসে না যারা পিএইচপি, আমি ঐ নিজেকে লিখেছে. আর আমি helpers.php তাদের করা. এখন, আমরা শুধুমাত্র এই সিনট্যাক্স দেখা করেছি একবার, এবং এটি সুপার ছিল সংক্ষিপ্ত. কিন্তু এই দৃশ্যত একটি আর্গুমেন্ট হেডার, ফাংশন রেন্ডার. কেন আমি জানি না? আচ্ছা এখানে একটি বন্ধ paren এর, এখানে একটি খোলা paren না. এবং অবশ্যই, শুধু সি মত, যারা বন্ধনীর মধ্যে কিছু একটি ইনপুট অথবা একটি হল ফাংশন আর্গুমেন্ট. এই যুক্তি ডাটা টাইপ কি, আমি হাইলাইট করেছি তার উপর ভিত্তি করে? যারা বর্গাকার বন্ধনী কি না গত সপ্তাহে উপর ভিত্তি করে, ইঙ্গিত? হ্যা, এটা একটি অ্যারে এর বিশেষভাবে একটি মিশুক অ্যারে. আর এই সিনট্যাক্স নিঃসন্দেহে একটু ভীতু হয়, কিন্তু শুধু এই ক্ষণস্থায়ী হয় একটা চাবি মান জোড়ায়. কী উদ্ধৃতি উদ্ধতি, হয় শিরোনাম, এবং মান CS50. আমরা সম্পন্ন করেছে এই সি, এটি পরিবর্তে পারে আরো ভালো হওয়া, শুধু উদ্ধৃতি উদ্ধতি CS50-- বা আসলে এটা কোঁকড়া হবে ধনুর্বন্ধনী, বা সি যে ভালো কিছু, যেখানে কি শূন্য, এবং মান CS50. কিন্তু আবার, পিএইচপি, যদিও সিনট্যাক্স, আবার একটু অদ্ভুত হয় এটা যে আপনি পাস করতে পারবেন শব্দের পরিবর্তে সংখ্যা মান সঙ্গে কী সংযুক্ত করতে. তাহলে এই সবের কী মানে? আমি helpers.php ঢোকা, এর এই ফাংশন তাকান. renderHeader.php, বরং renderHeader, আমার ফাংশন এবং আমি দেখতে কারণ জানি যে এখানে ফাংশন শব্দ. এই আপাতদৃষ্টিতে এটি সি থেকে নতুন data-- নামক একটি আর্গুমেন্ট গ্রহণ করা হয় কিন্তু আমি এই বলা যেতে পারে কিছু, কিন্তু আমি তথ্য এটা বলা অল্পমাত্র clean-- হতে এবং শুধু বিশেষ একটি অনুমান নিতে আপনি অন্য কিছু প্রোগ্রাম করেছি তাহলে আগে উচ্চ স্তরের ভাষা, কিছু সি উপরে, ধারণার. কি সমান খোলা বন্ধনী আছে সম্ভবত বর্গাকার বন্ধনী মানে? অথবা এটা কি অর্থ হতে পারে? আমরা হাঁ সি এই দেখা যায় না করেছি? একটি খালি অ্যারে. বিশেষ করে, এর অর্থ যদি যে ব্যবহারকারী renderHeader কল না একটি যুক্তি দিয়ে, আমি এখনও যাচ্ছি তথ্য নামক একটি যুক্তি আছে, কিন্তু তার ডিফল্ট মান হল একটি খালি অ্যারে হতে যাচ্ছে. তাই এটা শুধু একটা চমৎকার সুবিধা আছে. আমি ব্যবহারকারী এ চিত্কার করতে হবে না অথবা আপনি আমার ফাংশন ভুল ব্যবহার বলতে. আমি শুধু ব্যবহারকারীর ডিফল্ট দিতে পারেন মান, আমি বিশেষ যত্ন না হলে. এখন এই ফাংশন, আমি আছি আমার হাত তরঙ্গ যাচ্ছে. কিন্তু এই নির্যাস ফাংশন পারবেন আমাদের তথ্য এই ভেরিয়েবল পাস নিম্নলিখিত ভাবে header.php মধ্যে. এবং এই শেষ টুকরা, আমি ভীতু বাক্য গঠন, মনে. এখানে আমার নতুন সংস্করণ এটা header.php-- আক্ষরিক, বলতে ব্যবহৃত, খোলা বন্ধনী শিরোনাম এবং CS50, এবং যে ছিল এটা. এবং H1 জন্য একই জিনিস. এখন এটা দৃশ্যত বলেছেন সুন্দর ভীতু কিছু. আর আমার এই সহজ করে একটি মুহূর্ত জন্য হিসাবে অনুসরণ করে. এই আমি করেছি কি হতে আমার শিরোনাম পরিবর্তন. তবে, এটি একটি সামান্য কুশ্রী হচ্ছে পিএইচপি সঙ্গে ক্রমাগত খোলা বন্ধনী, এবং তারপর মুদ্রণ ফাংশন ব্যবহার করুন. এটা পিএইচপি একটি সাঁটে লেখার আছে দেখা যাচ্ছে শুধু যা এই জন্য স্বরলিপি, টেকনিক্যালি একটি যা একটি সমান চিহ্ন, বলা ফাংশন পরিবর্তে মুদ্রণ প্রতিধ্বনি কিন্তু এটা কার্যকরভাবে, একই জিনিস. যে শুধু ভালো দেখায়. এটি শুধু একটি অন্বিত এর চিনি, যদি আপনি হবে, যে আমার কোড ভাবা একটু ভাল করে তোলে. কিন্তু এটি সক্রিয় আউট, এবং আমরা আবার এই দেখতে পাবেন দীর্ঘ আগে, আমরা এই কল আছে annoyingly দীর্ঘ ফাংশন বলা এইচটিএমএল বিশেষ অক্ষর মধ্যে পিএইচপি, কারণ এটি সক্রিয় নির্দিষ্ট ইনপুট আছে , ব্যবহারকারী আমাদের দিতে পারে যে বা ব্যবহারকারীদের আমাদের দিতে পারে যে, যে আমাদের সাইটে ভঙ্গ করতে যাচ্ছি. কিন্তু আমরা যে পরের দেখতে পাবেন জাভাস্ক্রিপ্ট দিয়ে সপ্তাহে. কিন্তু এখন জন্য, শুধু জানি যে এই ফাইলটি, headers.php সহজভাবে শিরোনাম লাগে যে আমি পাশ, এটা করতে এটি নিরাপদ নিশ্চিত একটি ওয়েব মধ্যে ইনজেকশনের করা পাতা, এবং এটা আমার শিরোনাম হিসেবে এটি spits এবং আমার, H1 হিসেবে. তাই আমি এখন এই সংস্করণ ঢোকা, বক্তৃতা তার শিরোনাম ফিরে রয়েছে নোটিশ, সপ্তাহে শূন্য ফিরে তার শিরোনাম হয়েছে, এবং প্রকৃতপক্ষে, এইচটিএমএল আমি উৎপাদিত করছি কি আমার প্রথম সংস্করণে অভিন্ন আমার হোয়াইটস্পেস ছাড়া was--, আমি ফরম্যাট শুরু করেছি কারণ ভিন্নভাবে আমার কোড একটি সামান্য. কিন্তু আমি সব তৈরি করেছেন আমি যত্নশীল কোড. তাই আমার জন্য বিরতি দিন শুধু একটা মুহূর্ত এবং দেখতে কোন প্রশ্ন আছে, যদি বা বিভ্রান্তির আমি তৈরি করেছি. ঠিক আছে, তাই এর সুতা দিন একটু কঠিন এখানে একটি আছে কিনা দেখতে উন্নতির জন্য সুযোগ. Helpers.php এই ছিল ফাংশন, renderFooter বলা. আর সম্পর্কে উল্লেখযোগ্য কী renderHeader, এবং renderFooter? এবং আবার, আজ এর উদ্দেশ্যে, জানি সার ফাংশন শুধু যে পাসিং আর্গুমেন্ট আমার উপায় header.php এবং footer.php মধ্যে. দুঃখিত? শ্রোতা: [শ্রবণাতীত] ডেভিড MALAN: হ্যাঁ, আমি শুধুমাত্র দ্য লাইন প্রয়োজন পরিবর্তন. তাই আক্ষরিক, আমি পাপ করেছি কপি এবং পেস্ট করার, এখনো আবার. এটি একটি বিশাল সংখ্যা নয় লাইনের কিন্তু on-- আসা আমি কপি এবং সবকিছু পেস্ট করছি মাত্র এক সামান্য শব্দ পরিবর্তন করতে, এবং এক সামান্য শব্দ অ্যালেন যে স্থানটিকে বাইরে বনাম এখানে পাদচরণ এখানে হেডার. অন্যথা, সবকিছু অভিন্ন, ছাড়া, অবশ্যই, ফাংশন এর নাম. তাই আমরা কি ভাল কাজ করতে পারে? ওয়েল আমার এই সংস্করণ খুলে যাক এখানে, যদ্দ্বারা helpers.php মধ্যে, কেন শুধু একটি পেতে না এই বুদ্ধিমতী সম্পর্কে একটু? সামান্য বেশি জটিল লিখুন কোড, কিন্তু এটা রেন্ডার কল? তাই আমি মৌলিকভাবে কি পরিবর্তন হয়েছে? এটি একটি যুক্তি লাগে এখন আমি দুটি আর্গুমেন্ট, এখনও তথ্য. এবং তারপর প্রথম কি সম্ভবত জন্য ব্যবহৃত হচ্ছে নাম, আপনি এখানে কি পড়ি উপর ভিত্তি করে? এমনকি যদি সিনট্যাক্স কিছু এখনও নতুন. ডলার চিহ্ন টেমপ্লেট কি? দুঃখিত? শ্রোতা: হেডার বা ফুটার. DAVID Malan: হেডার বা ফুটার. সুতরাং দৃশ্যত, আমি সিদ্ধান্ত নিয়েছে যে যদি পরিবর্তন যে শুধু আমি কি করতে চান টেমপ্লেট প্রিন্ট ও টেমপ্লেট দ্বারা যাও আমি এই জন্য প্রতিচিত্র মানে আমি আউটপুট করতে চান যে কোড, কিন্তু আমি কিছু চলা চান মান যদি তাই এটি শুধুমাত্র হেডার বা ফুটার, কেন আমি parameterize না যে যুক্তি ডলার চিহ্ন কল টেমপ্লেট? এবং তারপর এই ভীতু বাক্য গঠন সম্পর্কে পারবেন এখানে একটি পরিবর্তনশীল একটি পথ তৈরি করতে. সুতরাং ডলার চিহ্ন পাথ একটি পরিবর্তনশীল. এই সিনট্যাক্স কী আপনি পরিচিত হন তাহলে, কি? হ্যা? শ্রোতা: [শ্রবণাতীত] DAVID Malan: ঠিক. টেমপ্লেট যদি, উদ্ধতি মূল্যউদ্ধৃতি, হেডার, বা টেমপ্লেট যদি, উদ্ধতি মূল্যউদ্ধৃতি, ফুটার, সেখানে যে লাইন আমি হাইলাইট করেছি, যে লাইন আট, কেবলমাত্র হেডার মত, যে নামের নিচ্ছে, এবং ডট পিএইচপি সঙ্গে এটি concatenating. সুতরাং আমরা এই অপারেটর আছে না সি এই ডট অপারেটর আপনি হন তাহলে PHP-- একটি আশ্চর্যজনক বিষয় জাভাস্ক্রিপ্ট বা জাভা সাথে পরিচিত, আপনি প্লাস ব্যবহার করতে পারেন সংযুক্তকরণের করতে সাইন ইন করুন. সি, এটা neck-- ব্যাথা হয় ছয় পি সেট এবং আমি তাই দুঃখিত নই, আপনাকে যা করতে হবে চলুন আপাততঃ এটা ঘাড় ব্যাথা হয় স্ট্রিং কনক্যাটেনেট. কেন? ওয়েল, আপনি কোথায় থাকেন, কারণ দীর্ঘ এই যে একটি স্ট্রিং, এবং দীর্ঘ এই যে অন্য স্ট্রিং, আপনি শুধু তাদের একসঙ্গে চলা করতে পারেন না. আপনি কি এর পরিবর্তে সি কি আছে না? হ্যা? শ্রোতা: [শ্রবণাতীত] DAVID Malan: আপনি malloc আছে মেমরি, বা একটি স্ট্যাক অ্যারে ব্যবহার করুন. এবং আপনি আসলে আছে যথেষ্ট যে অ্যারে বড় করতে এই প্লাস এই মাপসই, প্লাস ব্যাকস্ল্যাশ শূন্য. তারপর ব্যবহার করে একসঙ্গে কনক্যাটেনেট লুপ জন্য একটি বিড়াল অথবা নিজে আলোড়ন, বা কৌশল যে কোন সংখ্যার. আর আমরা আপনাকে একটি দম্পতি প্রদর্শন পি সেট ছয়. এটি ঘাড় ব্যাথা. আর এই আমি মানে কি সত্যিই হয় পিএইচপি বনাম সি মত আপাততঃ বনাম এই. আপনি শুধু আরও অনেক কিছু পেতে চালাও কার্যকারিতা, আপনি নজর দিতে পারেন যাতে, মূলত, মজা উপর কোডিং অংশ, আপনি সমাধান করতে চান প্রকল্প, বরং নিম্ন স্তর সূক্ষাতিসূক্ষ তুলনায়. সুতরাং এই মাত্র উত্পন্ন হয়েছে header.php বা আমি কল যা এক উপর ভিত্তি footer.php. এবং নিশ্চয় আমি যেতে হলে index.php মধ্যে, নোটিশ সব যে পরিবর্তে changed-- হচ্ছে হেডার রেন্ডার বা ফুটার রেন্ডার কলিং, আমি দ্বারা অনুসরণ, রেন্ডার আহ্বান করছি আমি কাজ করতে চান যে টেমপ্লেট নাম. এবং আপনি খুব, এই দেখতে পাবেন, সমস্যা, সাত সেট আমরা আপনাকে ব্যবহার করার অনুমতি যদ্দ্বারা একই ফাংশন মধ্যে bunches করতে এবং বিভিন্ন ওয়েব পেজ এর bunches. তাই বরং খুব বাস বেশী ঐ বিশদ বিবরণ উপর আরো অনেক কিছু আপনি আবার দেখতে পাবেন যা সমস্যা সেট এর চেহারা দিন seven-- একটি সমাধান এখন শুরুতে আরো একটি আকর্ষণীয় সমস্যা. সেটা অনেক দূরে, কিছুই আমরা করেছি কাজ সংরক্ষিত তথ্য আছে. আসলে, কেবল সময় আমরা কখনও সংরক্ষিত করেছি আমরা এই শ্রেণীর মধ্যে সম্পন্ন করেছি কিছু আমরা অল্প সময়ের একটি খুব সহজ ডেমো ছিল যখন ফিরে, যদ্দ্বারা আমরা সি ফাইল IO ব্যবহৃত এবং আমি আমার নাম টাইপ মনে হয়, এবং হানা এর নাম, এবং মারিয়া এর নাম, হয়তো বা অ্যান্ডি নাম, ও তারপর আমরা একটি CSV ফাইলটি সংরক্ষণ কমা মান বিভক্ত ফাইল. আর আমরা মনে fopen-- ব্যবহৃত আমি স্মরণ করছি, হিসাবে আমরা fprintf ব্যবহার এবং আমরা একটি ফাইল সংরক্ষিত. এখন, যে সহজ নয় একটি ডাটাবেস আকারে. আপনার জন্য একটি ওয়েবসাইট তৈরি করতে চান তাহলে Frosh আপনাকে IM প্রোগ্রাম, যদ্দ্বারা freshmen মূলত, একটি কৌতুক জন্য আপনাকে রেজিস্টার করতে পারেন যে তথ্য দিয়ে কিছু করতে চান. গত সপ্তাহে, আমরা কিছু করেনি data-- সাথে আমরা শুধু বলেন, আপনি কি সত্যিই, নিবন্ধিত. অথবা হয়ত আমি ইমেল প্রক্টর, এবং যে ছিল এটা. আমি করতে পারে কিন্তু যদি এটি চমৎকার হবে , যে প্রক্টর একটি CSV ফাইল দিতে একটি এক্সেল ফাইল মত. বা ভাল ছবি, এটা would আমি যদি সুন্দর হতে ঐ ব্যবহারকারীদের 'নাম রাখা এবং নাম আস্তানায় এবং যে সব একটি ডাটাবেসের মধ্যে যে শুধু, চিরকালের উপর বসবাস যতক্ষণ না আমি তথ্য মুছে ফেলা নির্বাচন করুন. পারবেন যে একটি ডাটাবেস আমার তথ্য অনুসন্ধানে. এবং প্রকৃতপক্ষে, যে একটি ডাটাবেস কি. আমরা আজ পরিচয় করিয়ে, এবং আগামী সপ্তাহে, খুব, একটি প্রযুক্তি বলা SQL-- একটি স্ট্রাকচার্ড ক্যোয়ারী অন্য ভাষায় হয়, যা ভাষা,. এটি মূলত একটি প্রোগ্রামিং এর ভাষা, কিন্তু উপাত্ত জন্য. এবং এখন জন্য একটি ডাটাবেস, শুধু একটি সুপার অভিনব সংস্করণ হিসেবে মনে মাইক্রোসফট এক্সেল, বা গুগল স্প্রেডশীট, বা আপেল নাম্বার. এটা সাধারণত পারবেন একটি প্রোগ্রাম আপনি তথ্য আভা ধারণ করার সারি এবং কলামের, বেশ মত আপনি এক্সেল পারে. কিন্তু কি, বিশেষ করে যদি সুন্দর আমরা, এক্সেল দিয়ে সুপার পরিচিত না হন, কি এসকিউএল আপনাকে যা করতে পারবেন ক্যোয়ারী এই হল লাইনের কোড লিখে তথ্য যেখানে আপনি যা করতে পারেন, এমনকি যদি আপনার ডাটাবেস, এটা একটি লক্ষ সারি আছে আপনি কিছু সুপার ফাস্ট খুঁজে পেতে পারেন. বস্তুত, এক্সেল বিশেষ হয় বৃহৎ ডেটা সেট এ খারাপ. এবং সত্য, কয়েক পর্যন্ত বছর আগে, নিষ্কাশিত এক্সেল শুধুমাত্র আপনি সংরক্ষণ করা সম্ভব হবে data-- যার পর্যন্ত 65,535 সারি এ কিন্তু, অনেক মত শোনাচ্ছে সময় আমি একটি grad ছাত্র ছিল এবং আমি উপর দ্রুতগামী স্মরন এই আমি উৎপাদিত হয়েছিল কারণ আমার গবেষণা এবং আমি এর জন্য CSV ফাইল দ্রুত তাদের বিশ্লেষণ করতে চেয়েছিলেন শুধু এক্সেল আপ খোলার দ্বারা. অবশ্যই, আমার কম্পিউটার শুধু বিধ্বস্ত আমি আরো বেশী 65,000 সারি ছিল কারণ. কিন্তু 65,535 কোথা থেকে এসেছিল? মাইক্রোসফট কি করছেন ছিল, সম্ভবতঃ? আপনি দুটি আপনার ক্ষমতা সঙ্গে ভাল থাকেন? হ্যা, তারা একটি 16-বিট ব্যবহার করা হয়েছে মান সারি সংখ্যা প্রতিনিধিত্ব করার. এবং 16 থেকে দুই 65,536-- মাইনাস ওয়ান, কারণ আপনার যদি শূন্য সূচক ছিল মানে আমি হতে পারে সারি অধিকাংশ সংখ্যা. আর এটি শুধু একটি নকশা সিদ্ধান্ত ছিল. 16 বিট সংরক্ষণ করে, তারা আমার সীমিত পরিবর্তে 4 বিলিয়ন 16,000 সারি, এর সাথে, যা আমি মনে মনে ছিল পারে. কিন্তু এখন জন্য, আমরা চলুন একটি ওয়েব প্রেক্ষাপটে এই আরো পরিচয় করিয়ে দিতে. আর কি এসকিউএল সম্পর্কে চমৎকার যে এমনকি হয় এটা খুবই শক্তিশালী এবং চমত্কার যদিও অত্যাধুনিক, এটা সত্যিই boils নিচে চার কী অপারেশন, চার মূল কার্যাবলী, আপনি নির্বাচন ইচ্ছার যদি, , তথ্য উদ্ধার অনুসন্ধানের জন্য তথ্য জন্য; মুছে দিন বা তথ্য মুছে ফেলার; ডাটাবেসে সারি যোগ করার জন্য সন্নিবেশ; এবং আপডেট. আপনি কি গুগল ব্যবহার আছে, তাই যদি স্প্রেডশীট, আপেল নাম্বার, মাইক্রোসফট এক্সেল, আপনি কে আছে মৃত্যুদন্ড, সম্ভবত, সব একজন মানুষ হিসেবে এই অপারেশন দ্বারা শুধু আপনার কীবোর্ড এবং mouse-- ব্যবহার আপনার চোখ, তথ্য ঢোকাতে ব্যবহার নির্বাচন বা তথ্য অনুসন্ধান করার জন্য, বা হালনাগাদ তথ্য, বা মুছে তথ্য. তাহলে এর অর্থ কি? ওয়েল, CS50 মধ্যে প্রাক ইনস্টল আইডিই মাইএসকিউএল নামক একটি প্রোগ্রাম. এটি একটি মুক্ত, ওপেন সোর্স এর সুপার জনপ্রিয় যে ডাটাবেসের. ফেসবুক, উদাহরণস্বরূপ, এই এটা ব্যবহার তারা ব্যবহার করে অন্যান্য সরঞ্জাম মধ্যে দিন,. এবং খুবই জনপ্রিয় ওয়েবসাইটের অনেক ব্যবহার এটি একটি বড় অংশ এটা দ্রুত, কারণ এবং এটা বিনামূল্যে কারণ. অবশ্যই বিকল্প যদিও বিদ্যমান. আর তোমাদের মধ্যে এমন কিছু দিয়ে সিক্ত পারে চূড়ান্ত প্রকল্পের জন্য বিকল্প. এই কারণে, এদিকে, একটি স্ক্রিনশট হয় পিএইচপি মাই এডমিন নামক একটি ওয়েব ভিত্তিক টুল. এটা একটা কাকতালীয় যে এই ওয়েব ভিত্তিক টুল রয়েছে একটি ভাষায় লিখিত, পিএইচপি, কিন্তু এটা করতে বলতে কী বোঝানো হচ্ছে আমাদের দিতে হয় একটি ওয়েব ভিত্তিক একটি ডাটাবেস ইন্টারফেস. মাইএসকিউএল সাধারণত কারণ কিছু ঐতিহাসিকভাবে, আপনি শুধুমাত্র সাথে যোগাযোগ করবেন একটি কমান্ড লাইন. এবং এটা সুপার হবে বিরক্তিকর এবং আছে গোপনীয় নির্বাচন পাঠগত কমান্ড টাইপ করতে তথ্য, তথ্য, সন্নিবেশ এবং তথ্য মুছে দিন. ইন্টারনেটে তাই কিছু লোক একটি ওয়েব ভিত্তিক প্রোগ্রাম লেখেন শুধু আমাদের পরিচালনা করা যাক যে আমাদের ডাটাবেসের মধ্যে তথ্য. এটা এক্সেল উপর ডবল ক্লিক মত, এবং উহার একটি ওয়েব ভিত্তিক সংস্করণ চলমান. এবং আপনার জন্য এই ব্যবহার করতে যাচ্ছেন কি পরিণামে আগামী সপ্তাহে, না এ পি সেট ছয়, কিন্তু কিছু নির্মাণ করা হয় CS50 ফাইন্যান্স, বলা যা একটি ডাটাবেস আছে যাচ্ছে ব্যবহারকারীর নাম ও পাসওয়ার্ড দিয়ে ব্যবহারকারীদের, ডলার পরিমাণ যে তারা তাদের ব্যাংক অ্যাকাউন্ট আছে. এটা যেতেপারে আপনি সংরক্ষণ করতে ব্যবহার কিছু চিহ্ন এবং পরিমাণে স্টক যে ব্যবহারকারীদের ভার্চুয়াল ব্যবহার কিনেছি আপনি তাদের দেব যে ডলার. আর তা ব্যবহারকারীদের অনুমতি যাচ্ছে আপনার সাইটের জন্য নিবন্ধন করতে, তাই এমনকি আপনার বন্ধুদের যে আপনার ওয়েবসাইট থেকে এ টিউন করতে পারেন এবং আসলে করো, লগ ইন করুন, এবং কাছাকাছি খেলতে এবং আপনার কোড মধ্যে দোষ খুঁজে পেতে চেষ্টা করুন, এবং আপনার ওয়েবসাইট বাগ খুঁজে বের করার চেষ্টা করুন. এবং তারা কেবল দ্বারা রেজিস্টার করব কার্যকরভাবে নিজেদের যুক্ত করে, কোড মাধ্যমে আপনি আপনার ডাটাবেস লিখুন. উদাহরণস্বরূপ, এই একটি দ্রুত স্ক্রিনশট হয় কি একটি ডাটাবেস অনুরূপ হতে পারে. এই এক থেকে ছিল গত বছরের solutions-- এই একটি মিনি এক্সেল ভালো হয় আমাদের ডাটাবেসের মধ্যে সংরক্ষণ করা, ফাইল, মাইএসকিউএল নামক এই সফটওয়্যার এ সংরক্ষণ করা হয়. বাম দিকে, আমি দৃশ্যত করেছি প্রত্যেক ব্যবহারকারীর একটি স্বতন্ত্র সংখ্যা দেওয়া. দ্বিতীয় কলামে, আমি দিয়েছি প্রত্যেকের একটি ব্যবহারকারী আমার নিজের name-- তাদের মধ্যে. আর ডান দিকে, আমি তাদের একটি হ্যাশ দিয়েছি. এখন আসলে এই একটি পাসওয়ার্ড, কিন্তু এটি একটি প্লেইন টেক্সট পাসওয়ার্ড না. এটা যদি একটি এনক্রিপ্ট পাসওয়ার্ড আপনি, বা একটি হ্যাশ পাসওয়ার্ড. যা আমরা আগে দীর্ঘ ফিরে আসবো. কিন্তু আপনি কি কখনো পড়েছি যদি কিভাবে সম্পর্কে একটি নিবন্ধ কিছু ব্যাংক বা কিছু সময় আপনার পাসওয়ার্ড ওয়েবসাইট, সংকটাপন্ন হয়ে থাকতে পারে এটি সাধারণত দুটি জিনিস এক অর্থ করতে পারেন. সুতরাং এই ছয়টি ব্যবহারকারীদের শুধু একটি উদ্ধৃতাংশ. আপনি সব এখন চিন্তা করতে পারেন হ্যাকিং এবং ক্র্যাকিং মাধ্যমে আউট আমাদের ছয় লোকের পাসওয়ার্ড কি. কিন্তু আপনি কি কখনও করেছি অর্জিত হলে একটি সতর্কতা বা ক্ষমা একটি কোম্পানি বা ওয়েবসাইট উক্তি থেকে, দুঃখিত, একটি হ্যাকার, আমাদের ডাটাবেসের মধ্যে বিচ্ছেদ আপনি সম্ভবত পরিবর্তন করা উচিত আপনার পাসওয়ার্ড, যে কি অর্থ হতে পারে? ওয়েল, এক, হতে পারে কোম্পানি, আরো ক্যাবলা হয়েছে এবং আপনার পাসওয়ার্ড সংরক্ষণ করা হয়েছে এই মত একটি কলামে, এনক্রিপশনবিহীন. যা বিপক্ষ মানে, যারা, ডাটাবেস চুরি আক্ষরিক আপনার জানে ব্যবহারকারীর নাম এবং পাসওয়ার্ড. যে খারাপ সম্ভব দৃশ্যকল্প. আর আপনি পি সেট মধ্যে দেখতে পাবেন সাত, এড়াতে এত সহজ. একেবারে কোন অজুহাত যে জন্য নেই আজকের ইন্টারনেটের নির্বুদ্ধিতা আকারে. Two-- এবং আমরা কিছু নিবন্ধ পাবেন এই এখনও যে সাক্ষ্য দিতে nonetheless--, ঘটবে দুই, হয়তো বিপক্ষ ডাটাবেসের বর্তমান সংস্করণের চুরি. যা এখনও ধরনের খারাপ এখন, কারণ তারা আমি ছয় গ্রাহকদের আছে জানি, আমি ব্যবহারকারীর নাম জানি যারা ছয় গ্রাহকদের, এবং আমি জানি এনক্রিপ্ট সংস্করণ, বা কুচি সংস্করণ, যারা ছয় গ্রাহকদের পাসওয়ার্ডের. তোমাদের মধ্যে যে ব্যক্তি কিন্তু যারা প্রতাপ করেছি [? হ্যাকার 2?] আপনি পাসওয়ার্ড কর্কশ, বা নেন যেখানে একটি সমস্যা যে সংস্করণ তাকান সেট, কেন এখনও একটু ঝামেলাপূর্ণ এটা বিপক্ষ আপনার হ্যাশ জানে তাহলে পাসওয়ার্ড? শ্রোতা: তারা করতে পারার কারণে পুরো অভিধান লিখুন হ্যাশ ফাংশন মধ্যে. এবং আপনার পাসওয়ার্ড একটি অভিধান যদি শব্দ, [? তারা শুধু মিল পারেন?] DAVID Malan: ঠিক, বিপক্ষ আপনি কিছু ভালো, কোড লিখতে পারেন [জন্য করেনি? হ্যাকার?] 2, আপনি পুনরুক্তি যদ্দ্বারা অভিধানে শব্দ সব, একটি বা সব সম্ভাব্য সমাহার Z মাধ্যমে এবং নয়টি মাধ্যমে এক যা অনেক মত শোনাচ্ছে, এবং তা হয়ে যায়. কিন্তু একটি কম্পিউটার এর জন্য, এটা প্রশংসনীয় অভিশাপ দ্রুত. এবং সত্য, যে ছিল বিন্দু [? হ্যাকার 2,?] ছিল যে কাপড় নিতে আক্ষরিক, ভালো দেখায় এবং রিভার্স ইঞ্জিনিয়ার কি এটা আসলে ছিল. কিভাবে আমরা করতে পারেন, তাই আমরা তাকান করব আরো দক্ষতার সঙ্গে এই দোকান. সৌভাগ্যক্রমে মাইএসকিউএল, দেখা যাচ্ছে তথ্য ধরনের হতে সেখানে যাচ্ছি. এবং প্রায় মজা অংশ এক ডাটাবেস ডিজাইন, সৎ হতে আসলে নিজের জন্য সিদ্ধান্ত হয় কিভাবে আপনি তথ্য উপস্থাপন করা উচিত? আপনি যেমন একটি ফোন নম্বর প্রতিনিধিত্ব উচিত একটি বড় সংখ্যা, অথবা একটি দীর্ঘ মত কোন int,? অথবা আপনি আসলে এটা করবেন চর ছিল ক্রম হিসাবে? আর খুব হতে পারে এই অ তুচ্ছ প্রভাব. আসলে, এক নিকটতম, মজা সঙ্গত গল্প মার্ক জুকারবার্গ বিল্ডিং ছিল যখন হয় ফেসবুক, এটি মূলত লেখা ছিল, এবং এখনও মূলত পিএইচপি লিখিত হয়. আর সবচেয়ে বড় চ্যালেঞ্জ এক তারা তাড়াতাড়ি স্কেলিং করা হয় উপর সম্মুখীন. তারা পরে স্কুলে যোগ রাখা যখন স্কুলে স্কুলে পরে, আমার জ্ঞান, মূল সমাধান এক কপি এবং পেস্ট করা মূলত ছিল উপাত্ত কিছু এবং কিছু কোড, হার্ভার্ড ছিল যাতে নিজস্ব সার্ভারে চলমান, এবং এমআইটি নিজস্ব সার্ভারে চলমান ছিল. আর এই ছিল কেন, এর জন্য কিছু আপনাকে যারা প্রত্যাহার করা হতে পারে, আপনি বন্ধু আছে না পারে অন্যান্য নেটওয়ার্কের মধ্যে. আপনি সম্ভবত এ বন্ধু নেই 10 বছর বা তাই আগে এমআইটি বা হার্ভার্ডে, কিন্তু আপনি নেটওয়ার্কের জুড়ে না পারে আংশিক যে কারণে. আর এর জন্য সবচেয়ে বড় চ্যালেঞ্জ এক মার্ক এবং ফেসবুকের মত কোম্পানীর জন্য আসলে শত শত হ্যান্ডলিং হয় এবং হাজার হাজার এবং লক্ষ লক্ষ প্রতি সেকেন্ডে অনুরোধের. সুতরাং জিনিস আমরা শুরু করব এই সপ্তাহে বিষয়ে কথা সত্যিই সঙ্গত হতে যাচ্ছে ভাল সফটওয়্যার লেখা, এবং জনপ্রিয় সফল সরঞ্জাম যে ব্যবহারকারীদের প্রচুর সব ব্যবস্থা করতে সক্ষম. তাই আমরা কিছু বিষয়ে কথা বলতে পারবেন ইন্ডেক্স ও অনুসন্ধান করা চাই, কিন্তু আজ পর্যন্ত হয়. আমরা বুধবার আরো জন্য আপনাকে দেখতে হবে. [সঙ্গীত - "Seinfeld" থিম] DAVID Malan: আপনাকে করতে পারেন এটা, এবং এটা থেকে বিয়োগ. আর আপনার সাথে বিদ্ধ করা হবে না মেমরি কিছু পূর্বনির্ধারিত পরিমাণ. ওয়েল, কি যে বলা হতে যাচ্ছে? বক্তা 1: আচ্ছা, কি ঘটছে? স্পিকার 2: আপনি কি বোঝাতে চেয়েছেন? তিনি একটি বক্তৃতা দেবার. DAVID Malan: এবং আমরা একটি ব্যবহার করতে পারেন ফাংশন মেমরি করতে malloc বলা বক্তা 1: কেন তার অস্ত্র না সরানোর? স্পিকার 2: ওয়েল অদূর ভবিষ্যতে আপনি জানেন, যে স্বাভাবিক. তিনি শুধু আছে এটা ঠিক বড় সসেজ সেখানে ঝুলন্ত. বক্তা 1: যে স্বাভাবিক? স্পিকার 2: হ্যা, আমি মনে করি আমরা মনে করি শুধু ঘটনাক্রমে তিনি অনুমান superglue সঙ্গে তার ডিওডোরেন্ট প্রতিস্থাপিত.