1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [კვირა 8 გაგრძელდა] 2 00:00:02,000 --> 00:00:04,000 [დევიდ ჯ Malan] [ჰარვარდის უნივერსიტეტის] 3 00:00:04,000 --> 00:00:08,000 [ეს არის CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:13,000 >> ეს არის CS50, ამიტომ ეს არის ბოლომდე კვირა 8 აქ. 5 00:00:13,000 --> 00:00:16,000 ჩვენ, რა თქმა ჰქონდა ცოტა ქარიშხალი ამ კვირაში, 6 00:00:16,000 --> 00:00:19,000 ამიტომ ახლავე მართლაც მხოლოდ თქვენ და მე ამ აუდიტორია, 7 00:00:19,000 --> 00:00:22,000 მაგრამ დღეს ჩვენ ვაგრძელებთ საუბარი PHP 8 00:00:22,000 --> 00:00:25,000 და ვებ პროგრამირების უფრო ზოგადად, და ჩვენ ასევე გააცნობს იდეა 9 00:00:25,000 --> 00:00:29,000 მონაცემთა ბაზების, განსაკუთრებით ერთი მოუწოდა MySQL, რომელიც საკმაოდ პოპულარულია ამ დღეებში, 10 00:00:29,000 --> 00:00:34,000 დიდი ნაწილი, რადგან მისი scalability ასევე რადგან მისი ყოფნა თავისუფალი და ღია წყაროებიდან. 11 00:00:34,000 --> 00:00:37,000 >> მაგრამ პირველი, შევხედოთ, სადაც ჩვენ შეჩერდით ბოლო დროს. 12 00:00:37,000 --> 00:00:40,000 შეგახსენებთ, რომ ჩვენ შევხედავთ რამდენიმე Frosh IMS მაგალითები, 13 00:00:40,000 --> 00:00:44,000 და ეს იყო hideous ფორმა რომ ჩამოვედი რაიმე 15 + წლის წინ 14 00:00:44,000 --> 00:00:49,000 იმისათვის, რომ სტუდენტებს კამპუსში რეესტრის freshman intramural სპორტული 15 00:00:49,000 --> 00:00:52,000 გარეშე რეალურად მქონე Trek აღარ მასშტაბით ეზოში Wigglesworth 16 00:00:52,000 --> 00:00:56,000 to ლღობას ფიზიკური ნაჭერი ქაღალდი ქვეშ ზოგიერთი PROCTOR ს კარი. 17 00:00:56,000 --> 00:00:59,000 ამის ნაცვლად გადავედით ყველაფერი შემოსული, მაგრამ უნდა გავაკეთოთ, რომ ჩვენ საჭირო გამოიყენოს 18 00:00:59,000 --> 00:01:03,000 რამდენიმე ტექნოლოგიები, ამიტომ ერთი, ჩვენ გვჭირდებოდა HTML, ჰიპერტექსტური მარკირებას ენაზე 19 00:01:03,000 --> 00:01:07,000 რაც კიდევ ერთხელ არის ამ მარკირებას ენა, რომელიც თქვენ გააკეთებთ ვებ გვერდები სტრუქტურულად. 20 00:01:07,000 --> 00:01:10,000 >> გამოყენება ცოტა CSS ამ დღეებში, კასკადური სტილების, 21 00:01:10,000 --> 00:01:16,000 რომლითაც ჩვენ ვიყენებთ stylizations of ვებ გვერდზე გამოყენებით ოდნავ განსხვავებული სინტაქსით, 22 00:01:16,000 --> 00:01:19,000 ხოლო HTML იყო ყველა სტრუქტურის შესახებ. 23 00:01:19,000 --> 00:01:21,000 ჩვენ ასევე უნდა შემოიღონ ვებ პროგრამირების ენაზე. 24 00:01:21,000 --> 00:01:25,000 ამ შემთხვევაში, ჩვენ ვიყენებთ PHP, და PHP აპირებს საშუალებას მოგვცემს 25 00:01:25,000 --> 00:01:28,000 to დინამიურად გამომავალი content ასევე გავაკეთოთ პროგრამული რამ, როგორიცაა 26 00:01:28,000 --> 00:01:33,000 გაგზავნის წერილებს, როგორც იყო საქმე ნოტა, რომელიც ჩვენ დაუტოვებიათ გასულ კვირას. 27 00:01:33,000 --> 00:01:35,000 >> შეგახსენებთ, რომ კოდი ამ იყო 2 ნაწილად. 28 00:01:35,000 --> 00:01:38,000 ერთი, ჩვენ გვყავდა froshims3.php, 29 00:01:38,000 --> 00:01:42,000 და ეს იყო რუბრიკაზე markup ერთად HTML ფორმა შიგნით ის, 30 00:01:42,000 --> 00:01:45,000 პაწაწინა ცოტა CSS აქ სტილში ატრიბუტები 31 00:01:45,000 --> 00:01:48,000 ისე, რომ ფორმა თავად იქნება ორიენტირებული გვერდზე, მაგრამ ამის მიღმა 32 00:01:48,000 --> 00:01:51,000 ჩვენ გვქონდა წარმომადგენელი ფორმა საშუალებებით, ველში, ჩამრთველი, 33 00:01:51,000 --> 00:01:55,000 ზოგიერთი რადიო ღილაკები, აირჩიეთ მენიუ და submit ღილაკს. 34 00:01:55,000 --> 00:02:01,000 და Via ეს ფორმა, ჩვენ წარმოდგენილი ფაილი, რომელიც სავარაუდოდ მოუწოდა register3.php, 35 00:02:01,000 --> 00:02:04,000 რაც თავისთავად გამოიყურებოდა ცოტა რაღაც მსგავსი. 36 00:02:04,000 --> 00:02:08,000 ახლა, ყველაზე მეტად კოდი register3.php იხსენებენ, იყო ყველაფერი ელ. 37 00:02:08,000 --> 00:02:11,000 ასე ცოტა Validation ფორმის რომ იყო წარდგენილი დარწმუნდით 38 00:02:11,000 --> 00:02:14,000 რომ სფეროებში ფაქტიურად იმ პირობით, რომ იყო ნავარაუდევი. 39 00:02:14,000 --> 00:02:18,000 მაშინ ჩვენ მოუწოდა ზოგიერთი PHP ფუნქციების გამოყენებით მსუბუქად ახალი სინტაქსის, 40 00:02:18,000 --> 00:02:20,000 მიუხედავად იმისა, რომ ეს ნასესხები C. 41 00:02:20,000 --> 00:02:24,000 >> ეს arrow ოპერატორი საშუალებას გვაძლევს გამოიყენონ რაღაც მოუწოდა ობიექტის ორიენტირებული პროგრამირება. 42 00:02:24,000 --> 00:02:27,000 ჩვენ არ შევალ, რომ ნებისმიერ დეტალს, მაგრამ ვიცი, ახლა 43 00:02:27,000 --> 00:02:31,000 ეს გზა მქონე ფუნქციების ასოცირდება ობიექტები, 44 00:02:31,000 --> 00:02:34,000 რომლებიც სპეციალური ტიპის სტრუქტურა, როგორც ვნახეთ C. 45 00:02:34,000 --> 00:02:37,000 მაგრამ ახლა, უბრალოდ იღებს რწმენა, რომ ეს სწორი სინტაქსი გამოიყენოს 46 00:02:37,000 --> 00:02:41,000 როდესაც გამოყენებით ბიბლიოთეკა მოსწონს ეს PHPMailer ბიბლიოთეკაში. 47 00:02:41,000 --> 00:02:44,000 ხოლო შემდეგ ბოლომდე ამ ფაილის გვქონდა დინამიურად გენერირებული ელ 48 00:02:44,000 --> 00:02:47,000 რომ მიიღო გაიგზავნა ჩემი jharvard@cs50.net ანგარიშის 49 00:02:47,000 --> 00:02:50,000 ჩემი jharvard@cs50.net ანგარიშზე, 50 00:02:50,000 --> 00:02:54,000 და ვაცნობეთ მომხმარებლის შესაბამისად, რომ ისინი დარეგისტრირებული ამ სპორტის. 51 00:02:54,000 --> 00:02:57,000 სწორედ საკმაოდ ბევრი რა Frosh IMS საიტი გააკეთა ყველა იმ წლის წინ 52 00:02:57,000 --> 00:03:00,000 როცა განახორციელეს, გაცემული, სხვა ენაზე, 53 00:03:00,000 --> 00:03:02,000 მაგრამ ეს გიჩვენებთ ალბათ ძალა, რომ თქვენ გაქვთ 54 00:03:02,000 --> 00:03:05,000 ახლა რომ თქვენ შეგიძლიათ გამოხატოს თავის არა მხოლოდ პროგრამულად 55 00:03:05,000 --> 00:03:08,000 დაბალ დონეზე ენის მსგავსად C მაგრამ ბევრად უფრო მაღალ დონეზე 56 00:03:08,000 --> 00:03:11,000 ამ ძალიან რეალური სამყაროს განაცხადების მოსწონს ელ რეალურად მოგვარებას 57 00:03:11,000 --> 00:03:13,000 ზოგიერთი რეალური სამყაროს პრობლემებს. 58 00:03:13,000 --> 00:03:16,000 >> ახლა, რა თქმა უნდა, მიუხედავად იმისა, რომ გამოვიყენო ეს სკრიპტი გენერირებისათვის ზოგიერთი 59 00:03:16,000 --> 00:03:20,000 წერილებს დინამიურად საწყისი jharvard@cs50.net, რომელიც მართლაც ანგარიშის 60 00:03:20,000 --> 00:03:23,000 რომ მე ხელი მიუწვდება, ნუ საკმაოდ ფრთხილად გააგზავნოს 61 00:03:23,000 --> 00:03:26,000 გვერდის მხოლოდ ანგარიშებიდან, რომლებიც ფაქტობრივად საკუთარ, 62 00:03:26,000 --> 00:03:30,000 Lest რამ მისაღებად თქვენ ცოტა ცხელი წყლით ცხოვრებაში. 63 00:03:30,000 --> 00:03:35,000 აღნიშნულის გათვალისწინებით, მოდით ახლა გადასვლას გადაჭრის სხვადასხვა პრობლემა საერთოდ, 64 00:03:35,000 --> 00:03:37,000 რომ შენარჩუნების შტატები. 65 00:03:37,000 --> 00:03:39,000 ახლა, რას ნიშნავს რეალურად? 66 00:03:39,000 --> 00:03:42,000 HTTP, ამ ჰიპერტექსტის გადაცემის პროტოკოლი, 67 00:03:42,000 --> 00:03:45,000 ფაქტიურად მოქალაქეობის არმქონე ოქმს, და რა ეს ნიშნავს, რომ 68 00:03:45,000 --> 00:03:48,000 როდესაც თქვენ დახევის up რაღაც Google.com და შემდეგ დააჭიროთ 69 00:03:48,000 --> 00:03:51,000 ჩვეულებრივ თქვენი ბრაუზერის აქვს გარკვეული სახის დაწნული ხატი, რომ მაშინ 70 00:03:51,000 --> 00:03:54,000 შედეგი, ზოგი ვებ გვერდზე მიმდინარეობს გადმოწერილი, 71 00:03:54,000 --> 00:03:57,000 და შემდეგ რომ პატარა ხატი აჩერებს დაწნული, და რომ მართლაც ვარაუდობს 72 00:03:57,000 --> 00:04:02,000 რომ HTTP დაასრულა გარკვეული კავშირი სერვერზე და ამით ყველაფერი მთავრდება. 73 00:04:02,000 --> 00:04:05,000 HTTP არის მოქალაქეობის არმქონე იმ გაგებით, რომ იგი არ შეინარჩუნოს 74 00:04:05,000 --> 00:04:08,000 მუდმივი კავშირი სერვერზე ისევე Skype აკეთებს 75 00:04:08,000 --> 00:04:11,000 ან Gchat აკეთებს, რადგან ერთად HTTP 76 00:04:11,000 --> 00:04:15,000 ვარაუდი არის ის, რომ ერთხელ თქვენ fetched ვებ გვერდზე რომ არის ის. 77 00:04:15,000 --> 00:04:18,000 >> ახლა, რეალურად ამ დღეებში ადგილებზე როგორიცაა Facebook და Google Maps 78 00:04:18,000 --> 00:04:21,000 და Twitter და მოსწონს იქ გაცილებით მეტი დინამიზმი, რომლითაც 79 00:04:21,000 --> 00:04:25,000 შემდეგაც კი, რომ ხატი აჩერებს დაწნული შეგიძლიათ რეალურად მიიღოთ მეტი განახლებები 80 00:04:25,000 --> 00:04:29,000 საწყისი სერვერზე, უფრო tweets, უფრო სტატუსები Facebook-ზე და მოსწონს. 81 00:04:29,000 --> 00:04:33,000 მაგრამ რომ იყენებს ტექნიკა რომ ჩვენ ვსაუბრობთ ერთ კვირაში ან ორ 82 00:04:33,000 --> 00:04:36,000 ცნობილია როგორც Ajax იყენებს ენის მოუწოდა JavaScript, 83 00:04:36,000 --> 00:04:38,000 მაგრამ დღის ბოლოს, HTTP კვლავ მოქალაქეობის არმქონე. 84 00:04:38,000 --> 00:04:42,000 და მაინც, თუ გსურთ როგორღაც გახსოვთ რამ მომხმარებლის 85 00:04:42,000 --> 00:04:44,000 შემდეგაც კი ისინი გათიშული თქვენი სერვერი 86 00:04:44,000 --> 00:04:47,000 PHP არ მივცემთ თავს თქვენ საშუალებით აკეთებს ამ 87 00:04:47,000 --> 00:04:52,000 რადგან, როგორც ვნახეთ ბოლო დროს, PHP აქვს მთელი რიგი superglobals, 88 00:04:52,000 --> 00:04:55,000 და superglobal არის, კიდევ ერთხელ, სპეციალური გლობალური ცვლადი 89 00:04:55,000 --> 00:04:59,000 რომ გადასცა თქვენ მიერ სერვერზე და PHP თავად. 90 00:04:59,000 --> 00:05:02,000 >> თქვენ არ გაქვთ არაფერს დააყენოს ღირებულებების ის, 91 00:05:02,000 --> 00:05:05,000 და შორის superglobals ჩვენ ვნახეთ დღემდე არიან მიიღონ და გამოქვეყნება, 92 00:05:05,000 --> 00:05:08,000 რაც აქ ფორმა ველები დააყენა ავტომატურად თქვენთვის, 93 00:05:08,000 --> 00:05:11,000 ასევე რამდენიმე სხვები, რომ ჩვენ არ მინახავს არავის გაუკეთებია. 94 00:05:11,000 --> 00:05:17,000 შიგნით $ _server ზოგიერთი სპეციალური ცვლადები დაკავშირებული სერვერი თავად. 95 00:05:17,000 --> 00:05:22,000 რა არის IP მისამართი, რა ოქმი, HTTP ან HTTPS არ გამოიყენოს, 96 00:05:22,000 --> 00:05:25,000 რა მოთხოვნის მეთოდი არ გამოიყენოთ და მოსწონს, ასე რომ არსებობს რამდენიმე საინტერესო, 97 00:05:25,000 --> 00:05:29,000 წვნიანი შესახებ სერვერზე, და ფაქტობრივად, მომხმარებლის იქ ისევე. 98 00:05:29,000 --> 00:05:33,000 აქ $ _cookie, სადაც ეს ყველაფერი მოუწოდა Cookies ინახება. 99 00:05:33,000 --> 00:05:36,000 ჩვენ არ გაატარონ დრო Cookies თავად დღეს, 100 00:05:36,000 --> 00:05:40,000 მაგრამ ვიცით, რომ ფუნთუშა მხოლოდ პატარა ნაჭერი ინფორმაცია 101 00:05:40,000 --> 00:05:43,000 რომ სერვერზე შეიძლება ქარხანა ბრაუზერში 102 00:05:43,000 --> 00:05:46,000 და თავის მხრივ თავისი RAM ან მისი კომპიუტერის მყარ დისკზე 103 00:05:46,000 --> 00:05:49,000 ინფორმაციის შესანახად მომხმარებელი, მაგალითად, მათი მომხმარებლის სახელი 104 00:05:49,000 --> 00:05:52,000 ისე, რომ მათ არ უნდა აკრიფოთ ეს ყოველ ჯერზე ისინი სისტემაში ან რამდენიმე 105 00:05:52,000 --> 00:05:55,000 უნიკალური ნომერი ან იდენტიფიკატორი ამ მომხმარებლის 106 00:05:55,000 --> 00:05:58,000 ასე რომ თქვენ არ უნდა pester მათ იგივე სახის კითხვებს 107 00:05:58,000 --> 00:06:00,000 პრეფერენციები მომავალში, მაგრამ ყველაზე საინტერესო 108 00:06:00,000 --> 00:06:02,000 ახლავე არის $ _session. 109 00:06:02,000 --> 00:06:07,000 >> ეს superglobal, რომელიც, ისევე როგორც სხვები, ჩაბარების თქვენ ავტომატურად PHP 110 00:06:07,000 --> 00:06:10,000 როდესაც თქვენ წერილობით PHP დაფუძნებული საიტებზე 111 00:06:10,000 --> 00:06:13,000 შენახვა შეუძლია არაფერი გსურთ, სტრინგი, რიცხვებით, 112 00:06:13,000 --> 00:06:16,000 მცურავი ქულა, ღირებულებების, კოლექტორები, ობიექტების, 113 00:06:16,000 --> 00:06:20,000 მართლაც რამე რომ გინდათ, და ეს გაძლევთ საშუალებას ჩაწეროთ იგი ასეთი გზა 114 00:06:20,000 --> 00:06:23,000 რომ მაშინაც კი, თუ მომხმარებლის სტუმრობს თქვენ ახლა და შემდეგ 115 00:06:23,000 --> 00:06:26,000 ბრუნდება წუთი ამიერიდან ან 5 წუთი ამიერიდან რადგან 116 00:06:26,000 --> 00:06:28,000 ისინი მათი ხნით ადრე დაწკაპვით ზოგიერთი სხვა ლინკები 117 00:06:28,000 --> 00:06:32,000 PHP უზრუნველყოფს, რომ რასაც თქვენ დააყენა ამ სესიის superglobal 118 00:06:32,000 --> 00:06:37,000 წუთი ან 5 წუთი წინ იქნება იქ, როდესაც მომხმარებლის ბრუნდება. 119 00:06:37,000 --> 00:06:40,000 და ქვეშ hood ამ superglobal ხორციელდება გზით 120 00:06:40,000 --> 00:06:44,000 იმ რამ მოუწოდა cookies, მაგრამ ახლა, უბრალოდ აბსტრაქცია 121 00:06:44,000 --> 00:06:47,000 რომლითაც ეს ერთგვარი პროგრამული ეკვივალენტი კალათა. 122 00:06:47,000 --> 00:06:50,000 რასაც თქვენ, პროგრამისტი, დასვა, რომ 123 00:06:50,000 --> 00:06:53,000 superglobal ასოციაციურ მასივში იქნება გარკვეული რაოდენობის წუთში 124 00:06:53,000 --> 00:06:59,000 სანამ არ წაშალოთ ან სანამ მომხმარებლის ტოვებს თავის ბრაუზერში საერთოდ. 125 00:06:59,000 --> 00:07:02,000 >> მოდით შევხედოთ მაგალითს, თუ როგორ ეს რამ ფაქტობრივად გამოყენებული. 126 00:07:02,000 --> 00:07:07,000 In counter.php შორის დღევანდელ ცალი კოდი 127 00:07:07,000 --> 00:07:09,000 ჩვენ გვაქვს შემდეგი ხაზი. 128 00:07:09,000 --> 00:07:13,000 დაწყების ამ ფაილის გვაქვს bunch of blue კომენტარები, რომლებიც uninteresting ახლა. 129 00:07:13,000 --> 00:07:15,000 მაგრამ ხაზი 13 გვაქვს ახალი ხაზი, 130 00:07:15,000 --> 00:07:18,000 session_start, და რომ რეალურად აკეთებს ზუსტად რა წერია. 131 00:07:18,000 --> 00:07:20,000 იგი იწყება სხდომებზე. 132 00:07:20,000 --> 00:07:25,000 ეს საშუალებას გაძლევთ გამოიყენოთ, რომ დიდი superglobal $ _session, და ეს იმდენად მარტივია, რომ. 133 00:07:25,000 --> 00:07:30,000 ახლა, თუ ვაგრძელებთ შევხედოთ ხაზი 16, მოდით ცდილობენ გაერკვნენ, რა ამ ვებ გვერდზე გაკეთებას აპირებს. 134 00:07:30,000 --> 00:07:35,000 თუ (isset ($ _SESSION ["მთვლელი"]) მაშინ წავიდეთ წინ 135 00:07:35,000 --> 00:07:39,000 და მაღაზიის counter ცვლადი, ამას counter, 136 00:07:39,000 --> 00:07:42,000 $ _SESSION ["მთვლელი"]. 137 00:07:42,000 --> 00:07:45,000 ეს, როგორც ჩანს, გამოცხადების ადგილობრივი ცვლადში counter 138 00:07:45,000 --> 00:07:48,000 შიგნით, რომელიც მას აყენებს ასლი რაც შიგნით superglobal 139 00:07:48,000 --> 00:07:52,000 მოუწოდა სხდომა საიდან "counter". 140 00:07:52,000 --> 00:07:56,000 სხვაგან, როგორც ჩანს, ამ პატარა ადგილობრივი ცვლადი counter, ინიციალიზდება რომ 0. 141 00:07:56,000 --> 00:08:01,000 >> მაგრამ შემდეგ რამოდენიმე ხაზს მოგვიანებით 26 გავითვალისწინოთ რომ სესიის ასლი counter, 142 00:08:01,000 --> 00:08:06,000 მისი გასაღები, აქვს ახალი მნიშვნელობის ენიჭება, რაც მისი მიმდინარე ღირებულების პლუს 1. 143 00:08:06,000 --> 00:08:09,000 მოკლედ, ამ ფაილის ჩანს განახლებას 144 00:08:09,000 --> 00:08:13,000 Counter რომ ინახება შიგნით სესიის superglobal 145 00:08:13,000 --> 00:08:16,000 მიერ დამატება იგი 1, მაგრამ ეს პირველი იტოვებს ასლი წინა ღირებულება 146 00:08:16,000 --> 00:08:20,000 მიერ შენახვა მას ადგილობრივი ცვლადში $ Counter, 147 00:08:20,000 --> 00:08:22,000 და შემდეგ ქვევით აქ ვნახოთ რა რჩება. 148 00:08:22,000 --> 00:08:24,000 თურმე ეს საკმაოდ ბევრი უბრალოდ HTML. 149 00:08:24,000 --> 00:08:29,000 ბოლოში ამ გვერდზე ვხედავთ ხაზი 37 რომ მე ნამყოფი ამ საიტიდან 150 00:08:29,000 --> 00:08:33,000 Counter რამდენჯერმე, ამიტომ არსებობს რამდენიმე საინტერესო თვისებები აქ. 151 00:08:33,000 --> 00:08:36,000 ერთი, ეს ნათლად ცვლადი, მაგრამ ეს არ გვაძლევს, უბრალოდ დააყენა 152 00:08:36,000 --> 00:08:39,000 $ Counter სხეულში თქვენი HTML, რადგან, რა თქმა უნდა 153 00:08:39,000 --> 00:08:43,000 თუ უბრალოდ იქ შორის თქვენი HTML PHP აპირებს ვივარაუდოთ, რომ უბრალოდ HTML. 154 00:08:43,000 --> 00:08:48,000 თქვენ სიტყვასიტყვით მინდა $ counter უნდა დაიბეჭდოს ეკრანზე. 155 00:08:48,000 --> 00:08:51,000 >> მაგრამ ნაცვლად მიერ ჩაშვების შევიდა PHP რეჟიმში 156 00:08:51,000 --> 00:08:55,000 ამ ნაჭერი სინტაქსის შეგვიძლია დინამიურად ჩადეთ ღირებულება აქ 157 00:08:55,000 --> 00:08:58,000 ძალიან მსგავსი სულისკვეთება, თუ რა გავაკეთეთ ბოლო დროის 158 00:08:58,000 --> 00:09:00,000 ჩასმა ღირებულებები შევიდა სტრიქონები. 159 00:09:00,000 --> 00:09:04,000 ფაქტობრივად, ეს მხოლოდ სტენოგრამის ნოტაცია ამას რაღაც მსგავსი სიტყვასიტყვით, 160 00:09:04,000 --> 00:09:12,000 ბეჭდვითი ($ counter) ან თუნდაც რაღაც printf (% s, Counter), 161 00:09:12,000 --> 00:09:14,000 ან თუნდაც, როგორც თქვენ შეიძლება არ მინახავს შემოსული ან სახელმძღვანელოებში, 162 00:09:14,000 --> 00:09:17,000 არსებობს ფუნქცია PHP მოუწოდა ეხო 163 00:09:17,000 --> 00:09:20,000 რომელიც იგივე, და ყველა იმ უბრალოდ აღარ winded გზები 164 00:09:20,000 --> 00:09:25,000 საქართველოს ამბობდა 00:09:28,000 ამ ერთ შემთხვევაში არ გჭირდებათ დააყენოს 166 00:09:28,000 --> 00:09:30,000 სიტყვა PHP შემდეგ კითხვის ნიშნის. 167 00:09:30,000 --> 00:09:34,000 ეს არის სტენოგრამის ნოტაცია ამისთვის, კიდევ ერთხელ, რასაც ჩვენ უბრალოდ დაინახა მომენტში წინ 168 00:09:34,000 --> 00:09:37,000 რომელიც echoing გარკვეული მნიშვნელობა. 169 00:09:37,000 --> 00:09:39,000 >> ვნახოთ რა საბოლოო ჯამში ამ რეალურად არის. 170 00:09:39,000 --> 00:09:43,000 ნება მომეცით წასვლა მეტი ჩვენს counter.php ფაილი, 171 00:09:43,000 --> 00:09:47,000 და ჩვენ ვხედავთ, რომ დავით უბრალოდ დაუშვა შეცდომა მიერ თამაშობდა კოდი არსებობს. 172 00:09:47,000 --> 00:09:50,000 მოდით წავიდეთ სარემონტო რასაც he ბრალია, 173 00:09:50,000 --> 00:09:54,000 და შეცდომა ჩანს იქ, წასული, on line 37. 174 00:09:54,000 --> 00:09:59,000 მიხედვით ზევით ამ გვერდზე მე მოინახულა საიტი 0 ჯერ. 175 00:09:59,000 --> 00:10:02,000 კარგად, მოდით წავიდეთ წინ არის, და ზედა ბრაუზერის დააჭირეთ 176 00:10:02,000 --> 00:10:05,000 განაახლეთ ხატი, და მე დააჭირეთ განაახლეთ, 177 00:10:05,000 --> 00:10:12,000 და ახლა მე მოინახულა საიტი 1 დროს, 2, 3, 4, 5, 6, 7, 8. 178 00:10:12,000 --> 00:10:16,000 მართლაც, თუ დავაკვირდებით წყარო ამ გვერდზე ფაქტობრივი კოდის იცვლება, 179 00:10:16,000 --> 00:10:19,000 და შეამჩნია სრული არარსებობის ნებისმიერი PHP, და ეს იმიტომ, რომ 180 00:10:19,000 --> 00:10:23,000 PHP კოდი ფასდება ან ინტერპრეტირებული სერვერის მხარეს, 181 00:10:23,000 --> 00:10:27,000 და ა.შ. ეს იმას ნიშნავს რომ გამოშვებულ PHP სკრიპტი რა საბოლოოდ გაგზავნილი ბრაუზერის, 182 00:10:27,000 --> 00:10:31,000 რომელიც ამ შემთხვევაში ზოგიერთი ნედლეული HTML და ზოგიერთი ნედლეული ტექსტი. 183 00:10:31,000 --> 00:10:33,000 რა ხდება აქ? 184 00:10:33,000 --> 00:10:37,000 >> ისე, საკმაოდ ცოტა ხაზების კოდი მაქვს იმის შესაძლებლობა შესანახად 185 00:10:37,000 --> 00:10:40,000 დაჟინებით მეტი კურსი რამდენიმე წამში, ან თუ ჩვენ დაელოდა ხანგრძლივი საკმარისი, 186 00:10:40,000 --> 00:10:44,000 წუთი, თუნდაც საათი, გარკვეული მნიშვნელობა ისე, რომ ხდის HTTP 187 00:10:44,000 --> 00:10:47,000 როგორც ჩანს stateful თითქოს ჩვენ შეინარჩუნა 188 00:10:47,000 --> 00:10:51,000 ამასთან დაკავშირებით სერვერზე, და ეს მხოლოდ დამახსოვრების რა ვუთხარი მას ბოლო დროს, 189 00:10:51,000 --> 00:10:55,000 მაგრამ რეალურად არსებობს მთელი bunch of სირთულის მიმდინარეობს ქვეშ hood 190 00:10:55,000 --> 00:10:59,000 ჩართვის Cookies რომ საშუალებას აძლევს PHP მისცეს ჩემთვის ეს ილუზია 191 00:10:59,000 --> 00:11:02,000 ამ კალათა მსგავსი ფუნქცია. 192 00:11:02,000 --> 00:11:05,000 ახლა ტრივიალური მაგალითი, სადაც ჩვენ უბრალოდ შენახვა მთელი რიცხვი, 193 00:11:05,000 --> 00:11:08,000 მაგრამ, რომ ფუნქცია დავბრუნდებით იყოს დიდი მნიშვნელობა 194 00:11:08,000 --> 00:11:10,000 როდესაც ჩვენ ვიწყებთ საუბარს უფრო რთული პროექტები, 195 00:11:10,000 --> 00:11:12,000 მათ შორის პრობლემა მითითებული 7. 196 00:11:12,000 --> 00:11:16,000 ეს არის თქვენი ძალიან ბოლო პრობლემა მითითებული CS50. 197 00:11:16,000 --> 00:11:19,000 მე ვიცი, რა სამწუხარო, მაგრამ რასაც თქვენ იპოვით, რომ ჩვენ ვაპირებთ დავასკვნათ 198 00:11:19,000 --> 00:11:22,000 ამ ნაწილში სემესტრის მიერ რეალურად გადასვლის 199 00:11:22,000 --> 00:11:25,000 საწყისი კონტექსტში C თქმა იმ კონტექსტში PHP 200 00:11:25,000 --> 00:11:27,000 მაგრამ დროს ზოგიერთი ძალიან იგივე საფუძვლები 201 00:11:27,000 --> 00:11:29,000 ჩვენ ვისაუბრეთ, გარკვეული დროის. 202 00:11:29,000 --> 00:11:33,000 >> ობიექტური ერთად pset 7 განხორციელება წარმოადგენს CS50 ფინანსთა, 203 00:11:33,000 --> 00:11:37,000 რაც თქვენი საკუთარი ვერსია Yahoo საფინანსო ან Google ფინანსთა 204 00:11:37,000 --> 00:11:40,000 ან თუნდაც Etrade.com რომლითაც თქვენ გაქვთ უნარი 205 00:11:40,000 --> 00:11:43,000 ეძებოთ საფონდო ფასები მოცემული სიმბოლოების, მაგრამ უფრო მეტიც 206 00:11:43,000 --> 00:11:48,000 თქვენ გაქვთ უნარი "ყიდვა" და "გაყიდვას" აქციების 207 00:11:48,000 --> 00:11:51,000 რომ ივაჭრება სხვადასხვა საფონდო ბირჟებზე, რადგან როგორც ამ საწყისი გვერდი 208 00:11:51,000 --> 00:11:55,000 აქ ვარაუდობს, რომელიც რეალურად რამდენად რომელიც ჩვენ დავიწყეთ 209 00:11:55,000 --> 00:11:59,000 პრობლემა კომპლექტი, თქვენ აქვს შესვლის ფორმა რომ ითხოვს მომხმარებლის სახელი და პაროლი. 210 00:11:59,000 --> 00:12:03,000 მას აქვს submit ღილაკზე, მაგრამ ამის შემდეგ, როგორც ჩვენ საბოლოოდ ვხედავთ, 211 00:12:03,000 --> 00:12:06,000 არაფერია ნამდვილად მიმდინარეობს ქვეშ hood yet, რადგან იგი 212 00:12:06,000 --> 00:12:09,000 რჩება თქვენთვის განახორციელოს უნარი რეგისტრაცია ახალი მომხმარებლებს, 213 00:12:09,000 --> 00:12:12,000 უნარი აქციების შესაძენად, გაყიდოს აქციები, 214 00:12:12,000 --> 00:12:14,000 რეალურად გამოიყურებოდეს up მიმდინარე საფონდო ფასები. 215 00:12:14,000 --> 00:12:17,000 >> მართლაც, ეს იქნება როგორც რეალურ სამყაროში, როგორც შეუძლებელია, რადგან ჩვენ 216 00:12:17,000 --> 00:12:20,000 მოიცავს ცოტა კოდი, რომელიც საშუალებას მოგცემთ ერთი ფუნქცია 217 00:12:20,000 --> 00:12:25,000 to შეკითხვის Yahoo Finance, რომელიც შესანიშნავად ხდის ხელმისაწვდომია უფასო მონაცემები 218 00:12:25,000 --> 00:12:31,000 ამისთვის ეძებს up საფონდო ფასები ეფუძნება საფონდო სიმბოლო ან ticker სიმბოლო, 219 00:12:31,000 --> 00:12:34,000 და თქვენ დავუბრუნდეთ მიმდინარე საფონდო ფასი დღეში. 220 00:12:34,000 --> 00:12:37,000 მონაცემები თქვენ რეალურად ვხედავთ ამ კონკრეტულ pset იქნება 221 00:12:37,000 --> 00:12:40,000 შესახებ, როგორც რეალურ სამყაროში, როგორც ეს შეიძლება მიიღოს ასე რომ თქვენ რეალურად interfacing 222 00:12:40,000 --> 00:12:43,000 რეალურ სამყაროს აქციებით, რეალური მსოფლიო ფასები, 223 00:12:43,000 --> 00:12:47,000 და ვნახოთ რა თანხა შეგიძლიათ ალბათ 224 00:12:47,000 --> 00:12:51,000 მომდევნო რამდენიმე დღის განმავლობაში თამაშობდნენ საკუთარი პრობლემის კომპლექტი. 225 00:12:51,000 --> 00:12:55,000 >> მაგრამ პირველი მითითებული ეტაპი როგორ შეიმუშავონ რაღაც რომ ნამდვილად უფრო რთული 226 00:12:55,000 --> 00:12:59,000 ვიდრე counter.php, რომ უფრო რთული, ვიდრე ნებისმიერ Frosh IMS მაგალითები ჯერჯერობით 227 00:12:59,000 --> 00:13:02,000 და მოდით ცდილობენ შემოიღონ რამდენიმე პარადიგმების აქ რომ საშუალებას მოგვცემს 228 00:13:02,000 --> 00:13:06,000 როგორც pset 7 და იქნებ თქვენი საბოლოო პროექტი თუ რაღაც ვებ დაფუძნებული 229 00:13:06,000 --> 00:13:11,000 შეინახეთ კოდი კარგად ორგანიზებული, შენარჩუნება თავის sane, 230 00:13:11,000 --> 00:13:15,000 და მიიღოს ნაბიჯი თანამშრომლობს, თუ CS50 საბოლოო პროექტი 231 00:13:15,000 --> 00:13:18,000 ან სხვაგან თუ გააგრძელებთ პროგრამის რაღაც მომავალში. 232 00:13:18,000 --> 00:13:21,000 არსებობს ამ ზოგადი დიზაინი პარადიგმა 233 00:13:21,000 --> 00:13:24,000 კომპიუტერულ მეცნიერებაში და პროგრამული უზრუნველყოფის დამუშავება ზოგადად 234 00:13:24,000 --> 00:13:27,000 ცნობილია როგორც MVC, მოდელი ხედი კონტროლერი, 235 00:13:27,000 --> 00:13:30,000 და ეს არის სულელური აბრევიატურა, რომელიც ასახავს ძალიან ლამაზი იდეა, 236 00:13:30,000 --> 00:13:34,000 რაც გამიჯვნა სხვადასხვა ასპექტები პროგრამა, 237 00:13:34,000 --> 00:13:39,000 კონკრეტულად შენახვა ცალკე ლოგიკა ან ბიზნეს ლოგიკა ნახვა 238 00:13:39,000 --> 00:13:42,000 ისე, რომ ყველაფერი, რაც მოიცავს რამ, როგორიცაა 239 00:13:42,000 --> 00:13:45,000 მოუწოდებდა ფუნქციები და querying მონაცემთა ბაზები და მოსწონს 240 00:13:45,000 --> 00:13:48,000 ხდება არ შედის თქვენი HTML 241 00:13:48,000 --> 00:13:51,000 არამედ ცალკე ფაილი, და მართლაც, იქ ამ ერთი ფაილი 242 00:13:51,000 --> 00:13:54,000 ტიპიურად, რომ თქვენ არ მოუწოდა კონტროლერი 243 00:13:54,000 --> 00:13:56,000 რომ მართლაც ტვინი უკან ოპერაცია, და ვნახავთ, მაგალითად 244 00:13:56,000 --> 00:13:58,000 ამ რაღაც მომენტში. 245 00:13:58,000 --> 00:14:01,000 >> არსებობს მოდელი, რომელიც პროგრამირების კოდი 246 00:14:01,000 --> 00:14:05,000 რომ არ ვსაუბრობთ თქვენს მონაცემთა ბაზა, რომ მოლაპარაკებები Yahoo ფინანსთა და მოსწონს, 247 00:14:05,000 --> 00:14:08,000 და შემდეგ იქ V in MVC, views, 248 00:14:08,000 --> 00:14:11,000 ყველა პერსონალი, რომელიც დაკავშირებულია ესთეტიკასთან, ფაილი, რომელიც რეალურად შეიცავდეს 249 00:14:11,000 --> 00:14:14,000 თქვენი HTML, შესაძლოა თქვენი CSS და მოსწონს. 250 00:14:14,000 --> 00:14:17,000 იდეა აქ, როგორც ამ სურათს გვთავაზობს, არის ის, რომ კონტროლერი 251 00:14:17,000 --> 00:14:21,000 არის ფაილი, როგორც ჩვენ ვხედავთ მალე და როგორც თქვენ განსაკუთრებით ვხედავთ pset 7, 252 00:14:21,000 --> 00:14:24,000 რომ მსოფლიოში მოლაპარაკებების მეშვეობით მათი ვებ ბრაუზერები. 253 00:14:24,000 --> 00:14:27,000 სწორედ ფაილი რომ იღებს ეწვია შესახებ საჯარო ინტერნეტით, 254 00:14:27,000 --> 00:14:30,000 მაგრამ კონტროლერი მოლაპარაკებები პოტენციურად მოდელი, 255 00:14:30,000 --> 00:14:34,000 რომელიც ერთ ან მეტ სხვა ფაილი რომელიც შეიცავს კოდი დაკავშირებული მონაცემები, 256 00:14:34,000 --> 00:14:37,000 კოდი დაკავშირებული მონაცემთა ბაზებთან და მოსწონს, და მერე მოლაპარაკებები 257 00:14:37,000 --> 00:14:40,000 კონტროლერი ერთი ან მეტი სხვა ფაილი რომელიც ცნობილია როგორც ხედები, 258 00:14:40,000 --> 00:14:43,000 რომლებიც ესთეტიკას ვებ გვერდზე, თარგები of ჯიშები, 259 00:14:43,000 --> 00:14:47,000 რომ შესაძლოა ზოგიერთი მონაცემების შეყვანის, მაგრამ დღის ბოლოს 260 00:14:47,000 --> 00:14:50,000 მხოლოდ ლოგიკა შიგნით დასაწყისში უნდა იყოს გაწევა, რომ მონაცემები, 261 00:14:50,000 --> 00:14:53,000 iterating მეტი მარყუჟის და ფაქტობრივად spitting გარკვეული 262 00:14:53,000 --> 00:14:56,000 HTML დაფუძნებული rendition ან თუნდაც რაღაც PDF. 263 00:14:56,000 --> 00:14:59,000 >> რა არის ლამაზი შესახებ MVC ისაა, რომ თქვენ განსხვავებული ხედვა აქვთ 264 00:14:59,000 --> 00:15:02,000 ეფუძნება ტიპის მოწყობილობა, დაფუძნებული ტიპის ფაილის ფორმატში, რომ თქვენ ნამდვილად 265 00:15:02,000 --> 00:15:04,000 გვინდა დავანახოთ მომხმარებელს. 266 00:15:04,000 --> 00:15:10,000 მოდით შევხედოთ რამდენიმე თანდათანობით უფრო რთული და მოფიქრებული მაგალითები 267 00:15:10,000 --> 00:15:13,000 მიერ დაწყებული პირველი ვერსია 0 აქ. 268 00:15:13,000 --> 00:15:16,000 ნება მომეცით წავიდეთ წინ და ქმნის ჩვენს MVC დირექტორია დღეს 269 00:15:16,000 --> 00:15:21,000 ფაილი სახელად index.php დირექტორიაში 0. 270 00:15:21,000 --> 00:15:26,000 გაითვალისწინეთ ეს არის სუპერ მარტივი და ძალიან underwhelming ნახვა 271 00:15:26,000 --> 00:15:29,000 რომ ერთგვარი ვერსია 0 of Homepage for CS50, 272 00:15:29,000 --> 00:15:32,000 და შეამჩნევთ, თუ როგორ გვაქვს ბმული ლექციები, ჩვენ გვაქვს ბმული სილაბუსი, 273 00:15:32,000 --> 00:15:35,000 და თუ ამ ბმულზე, რათა ლექციები ცნობა URL 274 00:15:35,000 --> 00:15:39,000 up დაბრუნება აპირებს შეცვლის lectures.php. 275 00:15:39,000 --> 00:15:44,000 თუ მე მომდევნოგ ბმული კვირა 1 გავითვალისწინოთ რომ URL ცვლილებების week1.php. 276 00:15:44,000 --> 00:15:46,000 როგორც ჩანს საკმაოდ მარტივია იერარქიული სტრუქტურის აქ. 277 00:15:46,000 --> 00:15:49,000 >> ავიღოთ სწრაფი ნახვა ქვეშ Hood, როგორ ეს ასახული, 278 00:15:49,000 --> 00:15:53,000 და მართლაც, თუ გავითვალისწინებთ index.php ეს საკმაოდ მარტივია. 279 00:15:53,000 --> 00:15:57,000 სინამდვილეში, მიუხედავად იმისა, რომ დავურეკე ამ PHP ფაილი არ არსებობს ფაქტობრივი პროგრამირების კოდი. 280 00:15:57,000 --> 00:16:01,000 აქ კომენტარი რომ დავწერე აქ, PHP ასე მონაწილე არ დასრულდება მდე ხედავს მას. 281 00:16:01,000 --> 00:16:05,000 რა თქმა უნდა, როგორც ადრე, არაფერს რომ შორის PHP tags 282 00:16:05,000 --> 00:16:08,000 იღებს ინტერპრეტირებული, თუნდაც ეს კომენტარი და ინტერპრეტაცია კომენტარი 283 00:16:08,000 --> 00:16:11,000 ნიშნავს მხოლოდ გადაყარეთ ის დაშორებით დროს დღის ბოლოს კი არა, 284 00:16:11,000 --> 00:16:15,000 გაუგზავნოთ ბრაუზერში, ასე რომ ყველაფერი აქ არის მხოლოდ ესთეტიკას. 285 00:16:15,000 --> 00:16:20,000 თუ მე ქმნის ასეთივე lectures.php ესეც მხოლოდ მძიმე კოდირებული ფაილის. 286 00:16:20,000 --> 00:16:23,000 ეს ხდება ე.წ. რაღაც. Php, 287 00:16:23,000 --> 00:16:27,000 მაგრამ ეს მართლაც მხოლოდ. HTML და week1.php, week2.php 288 00:16:27,000 --> 00:16:31,000 ანალოგიურად მხოლოდ markup, ამიტომ არსებობს bunch of ნაკლოვანებები ამ დიზაინის. 289 00:16:31,000 --> 00:16:33,000 ერთი, ეს დიდი ოდენობით ასლი / პასტა. 290 00:16:33,000 --> 00:16:37,000 მიუხედავად იმისა, რომ ერთადერთი, რაც ის შეცვლის მათ შორის ფაილი არის უწესრიგო სია, 291 00:16:37,000 --> 00:16:41,000 li tags, მე მაინც აქვს doc ტიპის, HTML, თავი, 292 00:16:41,000 --> 00:16:44,000 სათაური, მჭიდრო ორგანოს, მჭიდრო HTML და მეტი 293 00:16:44,000 --> 00:16:47,000 ყველა ერთი ფაილი, რაც იმას ნიშნავს, რომ თუ ოდესმე გვინდა, რომ რესტრუქტურიზაცია 294 00:16:47,000 --> 00:16:50,000 ამ ვებ გვერდზე ან restylize ის უნდა წავიდეს და შეცვალოს 295 00:16:50,000 --> 00:16:54,000 ყველა ამ ფაილების ხელით ან ზოგიერთ მასობრივი იპოვოს და შეცვლის. 296 00:16:54,000 --> 00:17:01,000 >> ავიღოთ ნაბიჯი სასურველი სტუმარი გახდებით, აღარ ფიქრობს დიზაინის ვერსია 1 აქ 297 00:17:01,000 --> 00:17:04,000 რომლითაც როგორც პოსტი წაიკითხა, რომ ჩვენ შედის ასე რომ თქვენ შეგიძლიათ ითამაშოთ ერთად 298 00:17:04,000 --> 00:17:07,000 ამ უფრო leisurely სახლში ცნობა გვაქვს აქ 299 00:17:07,000 --> 00:17:10,000 რეზიუმეს ფაილი ვერსია 1 ამ საიტის, 300 00:17:10,000 --> 00:17:13,000 და როგორც ჩანს, რომ მე მას მიღებული საფუძველზე თავი ფაქტორი გარეთ 301 00:17:13,000 --> 00:17:17,000 ზოგიერთი საერთო კოდი, header.php და footer.php. 302 00:17:17,000 --> 00:17:20,000 კარგად, მოდით შევხედოთ რა შიგნით პირველი იმ. 303 00:17:20,000 --> 00:17:23,000 Header.php გამოიყურება ნაცნობი, 304 00:17:23,000 --> 00:17:26,000 მაგრამ შეამჩნია, სადაც იგი მისაღებად შეწყვიტა? 305 00:17:26,000 --> 00:17:30,000 მარჯვენა შემდეგ ხაზი 19, ასე რომ ყველაფერი, რაც იყო საერთო 306 00:17:30,000 --> 00:17:33,000 საწყისი ფაილი index.php, lectures.php, 307 00:17:33,000 --> 00:17:36,000 week1 და week2.php საწყისი წინა მაგალითი. 308 00:17:36,000 --> 00:17:40,000 რა გავაკეთე იყო ასლი და cut ყველაფერი, რაც იყო საერთო ყველა იმ ფაილებს, 309 00:17:40,000 --> 00:17:44,000 ამას ცალკე header ფაილი, და ანალოგიურად წელს footer.php 310 00:17:44,000 --> 00:17:48,000 არც მე ვრცელდება იგივე პრინციპი, რომლითაც მხოლოდ საინტერესო ხაზები 311 00:17:48,000 --> 00:17:52,000 წელს footer.php არიან ამ ორი, მჭიდრო ორგანოს და ახლო HTML. 312 00:17:52,000 --> 00:17:55,000 >> მაგრამ რა ეს იმას ნიშნავს, ახლა ის არის, რომ ახალი ვერსია 313 00:17:55,000 --> 00:17:59,000 საქართველოს index.php შეამჩნევთ, თუ როგორ უფრო მარტივიც ყველაფერი შეიძლება კიდევ. 314 00:17:59,000 --> 00:18:02,000 გაცემული, ცოტა მეტი cryptic ეძებს, ცოტა ნაკლები ინტუიციური 315 00:18:02,000 --> 00:18:06,000 დაიცვას ყველაზე ქვედა, მაგრამ ჩემი ღმერთი, ყველა რომ redundancy არის წასული. 316 00:18:06,000 --> 00:18:10,000 ჩვენ გვჭირდება გამოყენებით PHP ფუნქცია სიტყვასიტყვით მოუწოდა მოითხოვს დასაწყისშივე, 317 00:18:10,000 --> 00:18:15,000 რაც ძალიან თქვენში, გავიხსენოთ, რა C-ს # მოიცავს მექანიზმი. 318 00:18:15,000 --> 00:18:17,000 ჩვენ გვჭირდება header.php ზედა. 319 00:18:17,000 --> 00:18:20,000 ჩვენ გვჭირდება footer.php ბოლოში, და ერთადერთი, რაც არის სხვადასხვა 320 00:18:20,000 --> 00:18:25,000 ან სპეციალური ამ ფაილი content რომ ნიშნავს, რომ უნიკალური მას. 321 00:18:25,000 --> 00:18:29,000 თუ მე მაშინ წასვლას, ვთქვათ, lectures.php, იგივე პრინციპი ვრცელდება. 322 00:18:29,000 --> 00:18:32,000 ერთხელ, რამდენიმე კომენტარი დასაწყისშივე, მაგრამ მერე მოითხოვს header, საჭიროებს ძირი, 323 00:18:32,000 --> 00:18:35,000 და შორის ეს მხოლოდ კმაყოფილია, რომ სინამდვილეში შეიცვალა. 324 00:18:35,000 --> 00:18:38,000 და თუ ჩვენ ჩანდა შევიდა კვირა 1 და 2 კვირა მინდა ვხედავ 325 00:18:38,000 --> 00:18:42,000 რომ იგივე პრინციპი იყო გამოყენებული იქ. 326 00:18:42,000 --> 00:18:44,000 კარგად, ჩვენ არა ვართ საკმაოდ გაკეთდა. 327 00:18:44,000 --> 00:18:48,000 >> მოდით შევხედოთ ვერსია 2, რომელსაც აქვს მსგავსი სტრუქტურა, 328 00:18:48,000 --> 00:18:50,000 მაგრამ შეამჩნევს ახლა მე გააცნო რაღაც. 329 00:18:50,000 --> 00:18:53,000 შეესაბამება 10 მე გააცნო helpers.php, 330 00:18:53,000 --> 00:18:55,000 რომელიც აშკარად შეიცავს დამხმარე ფუნქციები. 331 00:18:55,000 --> 00:18:58,000 დამხმარე ფუნქცია ზოგადად შედარებით მოკლე ფუნქცია 332 00:18:58,000 --> 00:19:01,000 რომ წერთ, რათა დაგეხმაროთ თქვენ out სხვადასხვა ადგილას, 333 00:19:01,000 --> 00:19:04,000 და ვნახოთ რა შიგნით helpers.php. 334 00:19:04,000 --> 00:19:07,000 ამ შემთხვევაში, როგორც ჩანს მას აქვს 2 ფუნქციებს. 335 00:19:07,000 --> 00:19:10,000 შეგახსენებთ, მეორე დღეს ჩვენი კუბი მაგალითად 336 00:19:10,000 --> 00:19:13,000 თქვენ შეგიძლიათ განსაზღვროთ თქვენი საკუთარი ფუნქციების PHP, და რა მე ვაკეთებ ახლა არის მე 337 00:19:13,000 --> 00:19:17,000 განსაზღვრული ფუნქციები მოუწოდა გაწევა footer და გამოიტანოს ჰედერი, 338 00:19:17,000 --> 00:19:21,000 პირველი გამოაქვს პარამეტრი ეწოდება მონაცემები, 339 00:19:21,000 --> 00:19:25,000 რომლის საწყისი მნიშვნელობა არის ცარიელი მასივი, როგორც შესთავაზა იქ, 340 00:19:25,000 --> 00:19:29,000 და ჩვენ შეგვიძლია რეალურად წერენ ამ კიდევ უფრო succinctly in უახლესი ვერსია PHP 341 00:19:29,000 --> 00:19:32,000 იმით ღია მოედანი bracket, დახურული მოედანი bracket. 342 00:19:32,000 --> 00:19:35,000 ეს იმას ნიშნავს, ცარიელი მასივი ზომა 0, მაგრამ მიუხედავად ამისა მასივი. 343 00:19:35,000 --> 00:19:38,000 >> ეს ამონაწერი ფუნქცია არის პატარა სპეციალური ამ 344 00:19:38,000 --> 00:19:41,000 თუ რას აკეთებს არის ის იღებს, როგორც თავისი არგუმენტი ასოციაციურ მასივში 345 00:19:41,000 --> 00:19:45,000 რომ აქვს 0 ან მეტი გასაღები მნიშვნელობის წყვილის, და თუ გაქვთ გასაღები foo 346 00:19:45,000 --> 00:19:48,000 და ღირებულება ბარი ექსტრაქტი ფუნქცია 347 00:19:48,000 --> 00:19:51,000 ქმნის სიტუაციას, რომელშიც ახლა, როგორც ხაზი 11, 348 00:19:51,000 --> 00:19:57,000 თქვენ გაქვთ ადგილობრივი ცვლადში $ foo რომლის ღირებულება არის ბარი. 349 00:19:57,000 --> 00:19:59,000 და თუ თქვენ უფრო გასაღებები და ღირებულებების მონაცემები მასივი, 350 00:19:59,000 --> 00:20:03,000 ანალოგიურად რომ ისინი ამოღებულ იქნეს შევიდა ადგილობრივი ფარგლებს 351 00:20:03,000 --> 00:20:06,000 ან სახელი სივრცეში ისე, რომ footer.php და 352 00:20:06,000 --> 00:20:09,000 იგივე იდეა ქვემოთ აქ ისე, რომ header.php 353 00:20:09,000 --> 00:20:12,000 ხელი მიუწვდება იმ ცვლადების. 354 00:20:12,000 --> 00:20:15,000 ფაქტობრივად, ნება მომეცით გახსენით ისევ header.php 355 00:20:15,000 --> 00:20:18,000 და დავხატოთ ყურადღებას ახლა ეს რას ჰგავს ამ ვერსია. 356 00:20:18,000 --> 00:20:22,000 >> იმის ნაცვლად, რომ მძიმე კოდირების CS50 როგორც სათაური ყოველი ერთი გვერდი 357 00:20:22,000 --> 00:20:24,000 შეამჩნია დინამიურობა რომ შესაძლებელია ახლა. 358 00:20:24,000 --> 00:20:29,000 სტრიქონში 5 მე echoing სათაური ცვლადი, 359 00:20:29,000 --> 00:20:34,000 მაგრამ პირველი მე ავლით, რომ სათაური ცვლადი ფუნქციის მოუწოდა htmlspecialchars. 360 00:20:34,000 --> 00:20:38,000 სულელური სახელი ფუნქციას, სანამ ის არის, მაგრამ ეს მართლაც თუ რას ამბობს. 361 00:20:38,000 --> 00:20:41,000 იგი უზრუნველყოფს, რომ რაიმე სპეციალური სიმბოლოების 362 00:20:41,000 --> 00:20:46,000 in string რომ უკვე ძალაში შევიდა, სწორად გაიქცა HTML. 363 00:20:46,000 --> 00:20:49,000 ეს არის რეალურად გზა თავიდან აცილების რაღაც მოუწოდა ჯვარი საიტი სკრიპტირების თავდასხმა 364 00:20:49,000 --> 00:20:52,000 რის ვინმემ maliciously ან შემთხვევით 365 00:20:52,000 --> 00:20:55,000 მიეცეს საკუთარი HTML თქვენს ნახვა 366 00:20:55,000 --> 00:20:59,000 მიერ pasting შევიდა გარკვეული ფორმით, მაგალითად, 367 00:20:59,000 --> 00:21:02,000 რაღაც, რომ თქვენ არ საკმაოდ ველოდებით, განსაკუთრებით JavaScript კოდი, 368 00:21:02,000 --> 00:21:05,000 როგორც ჩვენ ვსაუბრობთ ერთ კვირაში ან ორ დროს. 369 00:21:05,000 --> 00:21:08,000 >> ეს არის header.php, ეს ხედი 370 00:21:08,000 --> 00:21:12,000 იმ გაგებით, რომ იგი გაძლევთ საშუალებას იხილოთ ესთეტიურად შინაარსი ზოგიერთი მონაცემები კომპლექტი. 371 00:21:12,000 --> 00:21:14,000 მაგრამ უფრო კონკრეტულად, ეს თარგი. 372 00:21:14,000 --> 00:21:19,000 ეს არის ერთგვარი გეგმა არის, თუ რა გვინდა header ყველა გვერდი უნდა გამოიყურებოდეს, 373 00:21:19,000 --> 00:21:23,000 მაგრამ არსებობს გარკვეული დინამიზმი, რომ ჩვენ გვინდა სათაური უნდა დინამიურად ჩასმული 374 00:21:23,000 --> 00:21:26,000 ეფუძნება სათაური ცვლადი 375 00:21:26,000 --> 00:21:30,000 რომ იყო მოპოვებული, როდესაც ჩვენ მოუწოდა, კიდევ ერთხელ, 376 00:21:30,000 --> 00:21:33,000 Render header ფუნქცია. 377 00:21:33,000 --> 00:21:36,000 ახლა, თუ ჩვენ შევხედეთ Render footer, არსებობს რეალურად დიდად არ გამოყენება, რომ ახლავე 378 00:21:36,000 --> 00:21:40,000 რადგან footer.php არ დინამიზმის განაწილებაზე. 379 00:21:40,000 --> 00:21:43,000 არსებობს შეიძლება იყოს, თუმცა ამ ეტაპზე ეს მძიმე კოდირებული სიაში 2 tags, 380 00:21:43,000 --> 00:21:46,000 მაგრამ იგივე იდეა ვრცელდება, ისე, რომ ფაქტობრივად გვთავაზობს რატომ 381 00:21:46,000 --> 00:21:49,000 არც ჩვენ დაგვრჩა დრო მქონე Render ზედა და Render footer ფუნქცია? 382 00:21:49,000 --> 00:21:52,000 ნება მომეცით წასვლა ნაცვლად ახლა შევიდა ვერსია 3, 383 00:21:52,000 --> 00:21:56,000 და ვერსია 3 ში დამხმარე გადავწყვიტე გამარტივება კიდევ უფრო. 384 00:21:56,000 --> 00:21:58,000 >> ნება მომეცით აქვს ერთი Render ფუნქცია. 385 00:21:58,000 --> 00:22:02,000 ნება მომეცით აქვს მიიღოს კიდევ ერთი არგუმენტი, ამ დროს მოუწოდა თარგი, 386 00:22:02,000 --> 00:22:05,000 რაც ნიშნავს, რომ სახელწოდება თარგი, 387 00:22:05,000 --> 00:22:11,000 და მაშინ მე concatenate presumptuously. php რომ ცვლადი ღირებულების, 388 00:22:11,000 --> 00:22:17,000 და მაშინ, თუ ის არსებობს foo.php, bar.php ან header.php და footer.php, 389 00:22:17,000 --> 00:22:20,000 მაშინ მე ვაპირებ წავიდეთ წინ და ექსტრაქტი ცვლადი მონაცემები 390 00:22:20,000 --> 00:22:23,000 და შემდეგ მოითხოვს, რომ გზას. 391 00:22:23,000 --> 00:22:29,000 სხვა სიტყვებით, გამოიყენოს ეს არის, თუ გახსენით index.php 392 00:22:29,000 --> 00:22:32,000 შეამჩნია, რომ მე არ მოვუწოდებ Render header უქმნით. 393 00:22:32,000 --> 00:22:36,000 მე უბრალოდ მოვუწოდებ სივრციდან, მაგრამ გაივლის წელს ციტირებული ღირებულება header 394 00:22:36,000 --> 00:22:39,000 გაარკვიოს რომელიც თარგი მე ნამდვილად გინდათ ჩატვირთვა. 395 00:22:39,000 --> 00:22:41,000 >> მაშინ მეტი აქ შეამჩნია რა ვაკეთებ. 396 00:22:41,000 --> 00:22:44,000 მე გადადის დინამიურად გასაღები უფლების, 397 00:22:44,000 --> 00:22:47,000 ღირებულება CS50 და ეს ძალიან, როგორც დავინახეთ, ადრე, 398 00:22:47,000 --> 00:22:51,000 შეიძლება უფრო ლაკონური in უახლესი ვერსია PHP 399 00:22:51,000 --> 00:22:54,000 სად შემიძლია შეცვლის მასივი ფუნქციის კვადრატულ ფრჩხილებში, 400 00:22:54,000 --> 00:22:57,000 რაც მე ვთავაზობ, კიდევ უფრო იკითხება და, რა თქმა უნდა 401 00:22:57,000 --> 00:22:59,000 ცოტა ადვილია ტიპის. 402 00:22:59,000 --> 00:23:02,000 და რა თქმა უნდა, ერთად Render footer ზარის ბოლოში, 403 00:23:02,000 --> 00:23:05,000 ჩვენ არ გადაიტვირთოთ გადადის მეორე არგუმენტი საერთოდ, არ ასოციაციურ მასივში, 404 00:23:05,000 --> 00:23:07,000 რადგან არაფერი დინამიური შიგნით რომ footer. 405 00:23:07,000 --> 00:23:10,000 უბრალოდ ზოგიერთი ახლო Tags for HTML. 406 00:23:10,000 --> 00:23:14,000 კარგი, ჩვენ აღების ნაბიჯები მართლაც დასუფთავების რამ აქ, 407 00:23:14,000 --> 00:23:17,000 მაგრამ ნება მიბოძეთ გახსენით 2 საბოლოო მაგალითები. 408 00:23:17,000 --> 00:23:21,000 ეს ერთი, ნომერი 4 შეამჩნევთ, რომ მე გააკეთა შეგნებული გადაწყვეტილება არის 409 00:23:21,000 --> 00:23:26,000 გასაუმჯობესებლად საფუძველზე წინა მაგალითად საბოლოოდ იყენებთ იერარქიაში ჩემს ფაილი. 410 00:23:26,000 --> 00:23:29,000 >> გაითვალისწინეთ, რომ ამ შემაჯამებელი, ამ წაიკითხა ჩემთვის, მე გააცნო 411 00:23:29,000 --> 00:23:32,000 მოიცავს დირექტორიაში და შაბლონების კატალოგი 412 00:23:32,000 --> 00:23:35,000 რომლის შინაარსი ვაპირებთ იყოს რამ მინდა მოიცავს 413 00:23:35,000 --> 00:23:38,000 და თარგები რომ მინდა გაწევა, შესაბამისად. 414 00:23:38,000 --> 00:23:42,000 ეს ნამდვილად ჩემთვის მყოფი anal და ცდილობს შეინარჩუნოს რამ Tidy, 415 00:23:42,000 --> 00:23:45,000 შენარჩუნება მსგავსი თამაშები ერთად, მაგრამ ბოლოს შედეგი 416 00:23:45,000 --> 00:23:48,000 ის არის, რომ ჩვენ ახლა აქვს ოდნავ tidier setup, მაგრამ ჩვენ უნდა გვახსოვდეს არის 417 00:23:48,000 --> 00:23:51,000 წელს, მაგალითად, index.php 418 00:23:51,000 --> 00:23:55,000 როდესაც გვჭირდება ფაილი helpers.php 419 00:23:55,000 --> 00:24:01,000 ჩვენ ახლა საჭიროებს ის მეშვეობით შედის / helpers.php 420 00:24:01,000 --> 00:24:06,000 ვიდრე უბრალოდ ამბობდა helpers.php რადგან ახლა რეალურად ქვე დირექტორია. 421 00:24:06,000 --> 00:24:09,000 ახლა, როგორც განზე, თქვენ ნახავთ ამ მაგალითები და ზოგიერთი სხვა 422 00:24:09,000 --> 00:24:11,000 ფუნქციები, როგორიცაა მოითხოვს, მოითხოვს ერთხელ. 423 00:24:11,000 --> 00:24:15,000 არსებობს რეალურად ფუნქცია თავად მოუწოდა მოიცავს, და ისინი ყველა აქვს ოდნავ განსხვავებული ქცევა. 424 00:24:15,000 --> 00:24:18,000 აქ ვამბობ მოითხოვს ერთხელ რათა სუპერ ნათელია, რომ მე მხოლოდ მინდა იმ 425 00:24:18,000 --> 00:24:20,000 დამხმარე შედის ჩემი პროექტი ერთხელ. 426 00:24:20,000 --> 00:24:24,000 მაგრამ თუ მე ფრთხილად და თუ მე რეალურად ფიქრობს მეშვეობით ჩემი ლოგიკა სწორად 427 00:24:24,000 --> 00:24:27,000 ეს უნდა საკმარისი ძალიან უბრალოდ რომ ვთქვათ მოითხოვს up დაბრუნება 428 00:24:27,000 --> 00:24:31,000 ამიტომ სანამ მე თვითონ არ შემთხვევით მოითხოვს, რომ იგივე ფაილი სხვაგან. 429 00:24:31,000 --> 00:24:34,000 ფაქტობრივად, ეს არის ოდნავ უფრო ეფექტური გზა აკეთებს რამ მაშინ გამოყენებით 430 00:24:34,000 --> 00:24:38,000 საჭიროებს ერთხელ, ასე რომ მე მორთვა მისი დანგრევა მხოლოდ საჭიროებს. 431 00:24:38,000 --> 00:24:40,000 >> ავიღოთ ერთი ნაბიჯი შემდგომი. 432 00:24:40,000 --> 00:24:46,000 ეს ბოლო მაგალითი არის, ვერსია 5, აქვს კი სუფთა ფოლდერი იერარქია. 433 00:24:46,000 --> 00:24:50,000 გაითვალისწინეთ რა მე ვაკეთებ აქ თითო წაიკითხა ჩემთვის ამ საბოლოო ვარიანტი 434 00:24:50,000 --> 00:24:54,000 არის მე მაქვს ჩემი HTML დირექტორია, რომელიც მე მქონდა ამ ხნის, 435 00:24:54,000 --> 00:24:58,000 მაგრამ შიგნით იქ ახლა მხოლოდ index.php, lectures.php, 436 00:24:58,000 --> 00:25:01,000 week1.php და week2.php. 437 00:25:01,000 --> 00:25:05,000 მოიცავს დირექტორია ცხოვრობს ერთად საქართველოში HTML დირექტორია, 438 00:25:05,000 --> 00:25:08,000 ამიტომ ამავე დონეზე, როგორც ძმა, ასე ვთქვათ. 439 00:25:08,000 --> 00:25:10,000 ასე რომ არ თარგები საქაღალდეში. 440 00:25:10,000 --> 00:25:14,000 გასაღები takeaway აქ მე გააცნო ცოტა მეტი სტრუქტურის, 441 00:25:14,000 --> 00:25:17,000 მაგრამ გასაღები ფუნქცია, ახლა ის არის, რომ მხოლოდ ფაილები 442 00:25:17,000 --> 00:25:21,000 რომ უნდა იყოს ვებ ხელმისაწვდომი, საჯაროდ addressable 443 00:25:21,000 --> 00:25:25,000 by მისამართი საჯარო ინტერნეტია ჩემი HTML დირექტორია. 444 00:25:25,000 --> 00:25:28,000 >> ამასობაში, სხვა ფაილი, helpers.php, footer.php, 445 00:25:28,000 --> 00:25:32,000 header.php, რომლებიც სავარაუდოდ იქნებ უფრო მგრძნობიარე, 446 00:25:32,000 --> 00:25:35,000 იქნებ დამხმარე რეალურად აქვს გარკვეული მომხმარებლის სახელები და პაროლები ან ინტელექტუალური 447 00:25:35,000 --> 00:25:39,000 ქონების აფეთქდა, ფუნქციები მე ნამდვილად არ მინდა, რომ მსოფლიომ დაინახოს, თუნდაც შემთხვევით. 448 00:25:39,000 --> 00:25:45,000 კარგია პრაქტიკა შეინახეთ საჯარო HTML დირექტორია 449 00:25:45,000 --> 00:25:48,000 ნებისმიერი ფაილი, რომელიც არ გვჭირდება თავს საზოგადოებას. 450 00:25:48,000 --> 00:25:51,000 ყველა თქვენ უნდა გააკეთოთ ამ შემთხვევაში, როდესაც ჩვენ შევხედავთ, მაგალითად, 451 00:25:51,000 --> 00:25:55,000 HTML დირექტორია ს index.php ფაილი, 452 00:25:55,000 --> 00:25:58,000 შეამჩნია ჩვენ უბრალოდ უნდა იყოს ცოტა მეტი სიფრთხილე მოითხოვს 453 00:25:58,000 --> 00:26:00,000 ან მოითხოვს ერთხელ ამ ფაილის. 454 00:26:00,000 --> 00:26:03,000 მე უნდა გააკეთოს პირველი .. წასვლა მშობელი დირექტორია, 455 00:26:03,000 --> 00:26:06,000 მაშინ ნუ / შედის / helpers.php 456 00:26:06,000 --> 00:26:12,000 to ჩაყვინთვის უკან ქვემოთ მისაღებად ფაილი რომ მე აღელვებთ. 457 00:26:12,000 --> 00:26:16,000 >> ნებისმიერი კითხვები შემდეგ MVC 458 00:26:16,000 --> 00:26:20,000 ან ამ შედარებით მარტივი განსახიერება მისი? 459 00:26:20,000 --> 00:26:23,000 და ნება მომეცით ნათლად, რომ ჩვენ ორიენტირებული საკმაოდ მწირი on 460 00:26:23,000 --> 00:26:27,000 V აქ, მოსაზრებები და ფაქტორინგი აღნიშნული თარგები. 461 00:26:27,000 --> 00:26:30,000 ჩვენ ნამდვილად არ გამოირჩევა მეტრში C უბრალოდ არავის გაუკეთებია. 462 00:26:30,000 --> 00:26:33,000 სინამდვილეში, მართლაც არ არის M აქ, და კიდევ ჩვენი C, 463 00:26:33,000 --> 00:26:36,000 კონტროლერი, არ არის ნამდვილად აკეთებს ყველა რომ ბევრი რამ, მაგრამ თქვენ მიიღებთ გაცილებით მეტ 464 00:26:36,000 --> 00:26:39,000 იცნობს ორივე 2 წერილები MVC, 465 00:26:39,000 --> 00:26:43,000 უფრო სწორად, თქვენ მიიღებთ გაცილებით უფრო იცნობს C 466 00:26:43,000 --> 00:26:49,000 წელს MVC პრობლემის კომპლექტი 7, ასე რომ უფრო რომ ჰორიზონტზე. 467 00:26:49,000 --> 00:26:51,000 კითხვები? 468 00:26:51,000 --> 00:26:53,000 იქ რეალურად არავინ აქ. 469 00:26:53,000 --> 00:26:57,000 >> Okay, მოდით ახლა გადავიდეთ მეორე და საბოლოო თემაა დღეს. 470 00:26:57,000 --> 00:27:00,000 სწორედ დანერგვა მონაცემთა ბაზაში. 471 00:27:00,000 --> 00:27:03,000 დღემდე ამ ეტაპზე ჩვენ გვქონდა რამდენიმე გზა შენახვის მონაცემები. 472 00:27:03,000 --> 00:27:05,000 ჩვენ გამოყენებული ცვლადები. 473 00:27:05,000 --> 00:27:08,000 თავში ჩვენს C ფაილი, I / O დისკუსია დავიწყეთ გამოყენებით ტექსტური ფაილების 474 00:27:08,000 --> 00:27:11,000 და გამოყენებით ფაილი მოსწონს fprintf, და შემდეგ ჩვენ კი დაიწყო 475 00:27:11,000 --> 00:27:14,000 ვსაუბრობთ CSV ფაილი ცოტა, მძიმით გამოყოფილი მნიშვნელობები, 476 00:27:14,000 --> 00:27:17,000 ასე რომ ყველა ამ მოგვცა აქვს მონაცემები ინახება 477 00:27:17,000 --> 00:27:19,000 ან არასამთავრობო დაჟინებით ან დაჟინებით. 478 00:27:19,000 --> 00:27:23,000 მაგრამ CSVs ნამდვილად არ ხელს ძებნას 479 00:27:23,000 --> 00:27:25,000 და ჩასმა და წაშლა. 480 00:27:25,000 --> 00:27:28,000 ეს მართლაც მხოლოდ სულელური ტექსტური ფაილი მძიმით 481 00:27:28,000 --> 00:27:30,000 row მიერ row მიერ row მიერ მწკრივი, ასე რომ, თუ გსურთ 482 00:27:30,000 --> 00:27:32,000 ძებნის რომ ფაილის საუკეთესო შეგიძლიათ გააკეთოთ მართლაც ხაზოვანი ძებნა. 483 00:27:32,000 --> 00:27:34,000 თქვენ უნდა დაიწყოს ზედა ფაილი, წაიკითხა მთელი რამ, 484 00:27:34,000 --> 00:27:36,000 და ვეძებთ გარკვეული მნიშვნელობა ინტერესი. 485 00:27:36,000 --> 00:27:39,000 თუ გსურთ ჩადეთ მივანიჭო გაქვთ, იგივე, 486 00:27:39,000 --> 00:27:41,000 iterating მას და ჩასმა კონკრეტულ ადგილას, 487 00:27:41,000 --> 00:27:45,000 და ფაქტობრივად, ამისათვის ყველა ძებნას ლოგიკა თავს. 488 00:27:45,000 --> 00:27:49,000 >> თქვენ ვერ ჭკვიანი ნიმუში შესატყვისი on CSV ფაილი თუ თქვენ თავს დაწეროს კოდი. 489 00:27:49,000 --> 00:27:51,000 თქვენ ვერ ფილტრაციამ CSV ფაილი 490 00:27:51,000 --> 00:27:53,000 თუ თქვენ თავს დაწეროს კოდი. 491 00:27:53,000 --> 00:27:56,000 არ იქნება ლამაზი, თუ ვინმე დააყენოს ყველა ძალისხმევას 492 00:27:56,000 --> 00:27:59,000 რეალურად მიიღოს ძებნას და ადვილი Insertion ადვილი 493 00:27:59,000 --> 00:28:01,000 და წაშლის და განახლებისა და ა.შ.? 494 00:28:01,000 --> 00:28:04,000 სწორედ რა არის მონაცემთა ბაზა. 495 00:28:04,000 --> 00:28:07,000 SQL, სტრუქტურირებული შეკითხვის ენა, არის კიდევ ერთი ენა 496 00:28:07,000 --> 00:28:10,000 რომ ჩვენ შემოღების დღეს აქ, მაგრამ ესეც საკმაოდ ხელმისაწვდომი, 497 00:28:10,000 --> 00:28:13,000 და რა ჩვენ ნამდვილად ვაპირებთ მხოლოდ pluck გარეთ ზოგიერთი ყველაზე salient 498 00:28:13,000 --> 00:28:16,000 მახასიათებლები ასე რომ pset 7 და თუ რაიმე ვებ დაფუძნებული, 499 00:28:16,000 --> 00:28:19,000 თქვენი საბოლოო პროექტი, თქვენ გაქვთ უნარი გამოხატოს თავის 500 00:28:19,000 --> 00:28:22,000 თვალსაზრისით მონაცემები შეკითხვებს. 501 00:28:22,000 --> 00:28:25,000 თქვენ გაქვთ უნარი შესანახად მცირე ან ბევრი მონაცემები 502 00:28:25,000 --> 00:28:28,000 ბევრად უფრო სტრუქტურირებული გზა, რომელიც დასასრულს დღეში 503 00:28:28,000 --> 00:28:32,000 თქვენი ცხოვრება უფრო ადვილია, რადგან ერთად SQL შეგიძლიათ გამოხატოს თავის 504 00:28:32,000 --> 00:28:35,000 გაცილებით უფრო სწორად, ბევრად უფრო მეთოდურად, რათა 505 00:28:35,000 --> 00:28:40,000 დავუბრუნდეთ ზოგიერთი subset მონაცემების უფრო ფართო კორპუსს მონაცემები. 506 00:28:40,000 --> 00:28:45,000 >> შეგიძლიათ წარმოიდგინოთ, რომ მონაცემთა ბაზაში, ამ შემთხვევაში, SQL მონაცემთა ბაზაში, ნამდვილად მოსწონს Excel 507 00:28:45,000 --> 00:28:48,000 ან ნომრები, სადაც ეს ცხრილების, 508 00:28:48,000 --> 00:28:50,000 ან იქნებ მრავალჯერადი ცხრილები, და ცხრილების, რა თქმა უნდა, 509 00:28:50,000 --> 00:28:53,000 აქვს სტრიქონები და სვეტები, და ეს იმიტომ, რომ 510 00:28:53,000 --> 00:28:56,000 SQL მონაცემთა ბაზებთან are relational, ფარდობით იმ გაგებით 511 00:28:56,000 --> 00:28:59,000 რომ მათ შესანახად მონაცემები თვალსაზრისით ამ მაგიდები, 512 00:28:59,000 --> 00:29:01,000 სტრიქონები და სვეტები. 513 00:29:01,000 --> 00:29:03,000 ისინი უმაღლესი საშემსრულებლო ვიდრე რაღაც ცხრილების, 514 00:29:03,000 --> 00:29:05,000 და ცხრილების ნიშნავს გამოყენებული იქნას ადამიანის. 515 00:29:05,000 --> 00:29:08,000 მონაცემთა ბაზა ნიშნავდა გამოყენებული იქნას პროგრამისტი 516 00:29:08,000 --> 00:29:12,000 წერა კოდი წინააღმდეგ, ასე რომ განსახიერება მონაცემთა ბაზის 517 00:29:12,000 --> 00:29:14,000 აპირებს იყოს ბრძანებათა სტრიქონიდან. 518 00:29:14,000 --> 00:29:18,000 >> ერთი ყველაზე პოპულარული relational მონაცემთა ბაზები out არსებობს, კიდევ ერთხელ, MySQL, 519 00:29:18,000 --> 00:29:22,000 რაც შესანიშნავად თავისუფალი, ძალიან მაღალი საშემსრულებლო და ეს არის ის, რაც 520 00:29:22,000 --> 00:29:24,000 Facebook გამოიყენება ძალიან დასაწყისში და გარკვეულწილად მაინც დღეს 521 00:29:24,000 --> 00:29:27,000 შესანახად ბევრი თავისი მონაცემები, და ჩვენ ვხედავთ მომენტში 522 00:29:27,000 --> 00:29:30,000 რომ გამოყენებით შედარებით მარტივი ბრძანებები 523 00:29:30,000 --> 00:29:33,000 ჩვენ შევძლებთ მოვნიშნოთ მონაცემები, ჩადეთ მონაცემები, განახლება მონაცემები, 524 00:29:33,000 --> 00:29:37,000 წაშლა მონაცემები და მოსწონს, მაგრამ საბედნიეროდ, არსებობს უფრო მოსახერხებელი ინტერფეისი 525 00:29:37,000 --> 00:29:39,000 ვიდრე უბრალოდ აკრეფით შავ და თეთრ ზოლზე აქ. 526 00:29:39,000 --> 00:29:43,000 ჩვენ ვიყენებთ pset 7 და მის ფარგლებს გარეთ უფასო ინსტრუმენტი მოუწოდა phpMyAdmin. 527 00:29:43,000 --> 00:29:45,000 სახელი არის დამთხვევაა. 528 00:29:45,000 --> 00:29:47,000 ინსტრუმენტი ხდება განსახორციელებელი PHP, 529 00:29:47,000 --> 00:29:49,000 მაგრამ ეს ფუნდამენტურად შეუსაბამო. 530 00:29:49,000 --> 00:29:53,000 რა არის სასარგებლო შესახებ phpMyAdmin არის, რომ ინტერნეტის მეშვეობით სასარგებლო. 531 00:29:53,000 --> 00:29:55,000 ჩვენ წინასწარ დაყენებული ის ელექტრო თქვენთვის, 532 00:29:55,000 --> 00:29:58,000 და მასთან ერთად თქვენ შეგიძლიათ შექმნათ მაგიდები მონაცემთა ბაზა, 533 00:29:58,000 --> 00:30:01,000 ჩადეთ დისკი მონაცემები, წაშლა მონაცემები და, ზოგადად ვხედავ 534 00:30:01,000 --> 00:30:04,000 თქვენი მონაცემების საკმაოდ მოსახერხებელი გარემოს. 535 00:30:04,000 --> 00:30:07,000 შენი მომხმარებლებს არ ვაპირებთ გამოვიყენოთ phpMyAdmin. 536 00:30:07,000 --> 00:30:09,000 >> ეს მართლაც მხოლოდ ადმინისტრაციულ ან დეველოპერი ს ინსტრუმენტი 537 00:30:09,000 --> 00:30:12,000 რომელთანაც დაინახოს და poke გარშემო თქვენი მონაცემები და გაერკვნენ, თუ როგორ სტრუქტურირებაზე ის, 538 00:30:12,000 --> 00:30:15,000 ჰგავს რომ თავად შეიძლება გამოიყენოთ Excel ან ნომრები, 539 00:30:15,000 --> 00:30:19,000 მაგრამ ეს იქნება დიდი გზა ვიზუალურ რა ხდება ქვეშ hood 540 00:30:19,000 --> 00:30:22,000 ასე რომ თქვენ შეგიძლიათ ფოკუსირება საინტერესო პრობლემის გადაჭრის და არა იმდენად 541 00:30:22,000 --> 00:30:25,000 on arcane ბრძანებები. 542 00:30:25,000 --> 00:30:28,000 მოდით შევხედოთ მაგალითს მონაცემები, რომელიც შეიძლება ინახება tabularly 543 00:30:28,000 --> 00:30:30,000 წელს relational მონაცემთა ბაზაში. 544 00:30:30,000 --> 00:30:32,000 აი ერთი ასეთი მაგალითი. 545 00:30:32,000 --> 00:30:35,000 ახლა, სამწუხაროდ, phpMyAdmin erred მხარეს სროლა გზა ძალიან ბევრი სიტყვა 546 00:30:35,000 --> 00:30:38,000 და გრაფიკული თქვენ, მაგრამ თუ აიფოუნ წელს მხოლოდ 547 00:30:38,000 --> 00:30:42,000 ID სვეტი, მომხმარებლის სახელი სვეტი, და hash სვეტი, 548 00:30:42,000 --> 00:30:45,000 ეს ეფექტურად ცხრილების, მაგრამ მაინც ხდება, რომ იყოს Snippet 549 00:30:45,000 --> 00:30:49,000 საქართველოს მაგიდა შიგნით ელექტრო მოწყობილობების 550 00:30:49,000 --> 00:30:53,000 გამოყენებით ფაილი რომ ჩვენ მოგაწვდით პრობლემების კომპლექტი 7. 551 00:30:53,000 --> 00:30:57,000 >> კერძოდ, ჩვენ მოგცემთ ფაილი, რომელიც წარმოადგენს 552 00:30:57,000 --> 00:31:01,000 მომხმარებლის მაგიდა, ასე ცხრილების შემცველი მომხმარებლების 3 მწკრივი, 553 00:31:01,000 --> 00:31:05,000 რომელთაგან ერთი უნიკალური ID დაწყებული 1 და მიმდინარეობს incremented შემდეგაც. 554 00:31:05,000 --> 00:31:08,000 მეორე სვეტი არის მომხმარებლის სახელი და იმ თქვენ ვინ Hacker, 555 00:31:08,000 --> 00:31:12,000 Hacker გამოცემა ამისთვის pset 2, შესაძლოა, აღიაროს ზოგიერთი ამ მომხმარებლის სახელები მინიმუმ. 556 00:31:12,000 --> 00:31:16,000 წლის მარჯვენა მხარეს არიან პაროლები, მაგრამ ისინი არ ლიტერატურული პაროლები. 557 00:31:16,000 --> 00:31:19,000 ისინი ჰეშები მათი გამოდის 558 00:31:19,000 --> 00:31:22,000 რომ შენახვის პაროლები მონაცემთა ბაზაში არის ნამდვილად ცუდი იდეაა. 559 00:31:22,000 --> 00:31:25,000 თქვენ ალბათ ყველა წაკითხულად რაღაც მომენტში ზოგიერთი ნახვა 560 00:31:25,000 --> 00:31:28,000 ან კომპანიის მონაცემთა ბაზაში მიმდინარეობს კომპრომეტირებული და შემდეგ თქვენ უნდა 561 00:31:28,000 --> 00:31:31,000 პაროლის შეცვლას, თქვენ უნდა მიიღოს თანხის დაბრუნება on რამ 562 00:31:31,000 --> 00:31:34,000 რადგან ზოგიერთი ცუდი ბიჭი რეალურად შეიჭრა თქვენი ანგარიში შედეგად. 563 00:31:34,000 --> 00:31:38,000 >> შენახვის პაროლები ნათელი ტექსტი, unencrypted მონაცემთა ბაზაში 564 00:31:38,000 --> 00:31:41,000 სრულიად asinine, და ჯერჯერობით ეს დიდად სახალისო 565 00:31:41,000 --> 00:31:44,000 მაშინ წასაკითხი შესახებ რამდენიმე ძალიან ცნობილ კომპანიებს, 566 00:31:44,000 --> 00:31:47,000 ხანდახან პრესაში, რომლის მონაცემთა ბაზები არიან დათმობაზე წავიდა, 567 00:31:47,000 --> 00:31:50,000 და რომ ნაწილი არ არის სასაცილო, მაგრამ ის ფაქტი, რომ მონაცემთა ბაზებთან შეიცავდეს unencrypted 568 00:31:50,000 --> 00:31:53,000 პაროლები სასაცილოა რადგან სიტყვასიტყვით ერთი ხაზი კოდი 569 00:31:53,000 --> 00:31:57,000 შეგიძლიათ დაიცვას, რომ კონკრეტული საფრთხე, და რომ ის, რაც ჩვენ გავაკეთეთ აქ. 570 00:31:57,000 --> 00:32:00,000 თუნდაც ჩვენი ყალბი პატარა CS50 ფინანსთა ვერსია 571 00:32:00,000 --> 00:32:03,000 ჩვენ encrypting პაროლები მხოლოდ კარგი ღონისძიება, და იმ ფაქტს, რომ 572 00:32:03,000 --> 00:32:07,000 ყველა ამ პაროლები იწყება $ 1 $ მხოლოდ კონვენციას. 573 00:32:07,000 --> 00:32:10,000 რომ მხოლოდ იმას ნიშნავს, ისინი დაშიფრული ან მართლაც hashed, 574 00:32:10,000 --> 00:32:13,000 რაც მოსწონს ერთი გზა დაშიფვრის ფუნქცია 575 00:32:13,000 --> 00:32:17,000 რის ვერ დავამარცხებთ მისი ეფექტი რაღაც მოუწოდა MD5. 576 00:32:17,000 --> 00:32:21,000 >> ის ფაქტი, რომ 50 არის შემდეგ, რაც იმას ნიშნავს, რომ მარილის ღირებულება 577 00:32:21,000 --> 00:32:24,000 50 გამოყენებული იყო hashing ყველა ამ პაროლები გარდა ერთი. 578 00:32:24,000 --> 00:32:27,000 ნაღმების, რა თქმა უნდა, როგორც ხედავთ, ჰა, 579 00:32:27,000 --> 00:32:30,000 იყო გამოყენებით სხვადასხვა მარილი, ისე იმ თქვენ რომელმაც ოდნავ იმყოფებოდა up 580 00:32:30,000 --> 00:32:33,000 იქნებ წელს Hacker 2, რომ შეიძლება შედეგი ჩვენი რომელმაც გამოიყენა 581 00:32:33,000 --> 00:32:36,000 სხვადასხვა hash ვიდრე სხვები, რადგან ჩემი დაგავიწყდათ ფაქტიურად იგივე 582 00:32:36,000 --> 00:32:38,000 როგორც სხვა მომხმარებლის up there. 583 00:32:38,000 --> 00:32:41,000 რეალურად, თუ თქვენ უკვე ელოდება ყველა ამ კვირის გასარკვევად 584 00:32:41,000 --> 00:32:44,000 რა იმ პაროლები იყო აქ იყო პაროლები, რომ თქვენ ეჭვქვეშ 585 00:32:44,000 --> 00:32:48,000 to crack in Hacker გამოცემა პრობლემა კომპლექტი 2, ასე რომ არა ძალიან სახიფათო. 586 00:32:48,000 --> 00:32:50,000 ფაქტობრივად, Malan ს იგივე იყო რაც jharvard, 587 00:32:50,000 --> 00:32:54,000 მაგრამ თუ ჩვენ დავბრუნდებით ისინი ჩანდა სხვადასხვა. 588 00:32:54,000 --> 00:32:58,000 >> ფოკუსირება jharvard წელს ჟოლოსფერი, რადგან ისინი დამარილებული განსხვავებულად. 589 00:32:58,000 --> 00:33:01,000 ალგორითმი perturbed ისე, რომ 590 00:33:01,000 --> 00:33:05,000 hash ღირებულება, დაშიფრული ღირებულება გამოიყურება ცოტა განსხვავებული 591 00:33:05,000 --> 00:33:08,000 რადგან საშუალებებით იყო ოდნავ განსხვავებული, მაგრამ დაგავიწყდათ ქვეშ hood 592 00:33:08,000 --> 00:33:10,000 ჯერ კიდევ საბოლოოდ ჟოლოსფერი. 593 00:33:10,000 --> 00:33:12,000 ახლა, ვის აინტერესებს ეს? 594 00:33:12,000 --> 00:33:15,000 ისე, ჩვენ თქვენს უზრუნველყოფას ნიმუში მომხმარებლებს, ნიმუში მომხმარებლის სახელები 595 00:33:15,000 --> 00:33:18,000 და ჰეშები მათი პაროლები ასე რომ თქვენ ნამდვილად აქვს გარკვეული 596 00:33:18,000 --> 00:33:23,000 მომხმარებელს CS50 ფინანსთა როდესაც თქვენ პირველად მიიღოს off ადგილზე თქვენი კოდი. 597 00:33:23,000 --> 00:33:27,000 თქვენ უნდა განახორციელოს უფრო მაგიდები შიგნით MySQL, შიგნით მონაცემთა ბაზაში. 598 00:33:27,000 --> 00:33:30,000 თქვენ უნდა შევქმნათ მეტი ცხრილები, ეფექტურად, მაგრამ ჩვენ გადავწყვიტეთ, რომ გადმოგცეთ ეს ერთი 599 00:33:30,000 --> 00:33:33,000 მისაღებად თქვენ დაიწყო, და თქვენ ნახავთ, რომ პრობლემა კომპლექტი სპეციფიკაცია 600 00:33:33,000 --> 00:33:37,000 დადის თქვენ მეშვეობით პროცესში იმპორტიორი ამ მაგიდასთან 601 00:33:37,000 --> 00:33:39,000 და ასევე აეხსნა რა ზოგიერთი მახასიათებლები, 602 00:33:39,000 --> 00:33:41,000 და თქვენ ასევე ვხედავთ, რომ ჩვენ მოგაწვდით კოდი 603 00:33:41,000 --> 00:33:44,000 გაუმკლავდეს hashing ან დაშიფვრის ამ პაროლები, 604 00:33:44,000 --> 00:33:49,000 ასე რომ თქვენ არ გჭირდებათ ფიქრი ძალიან ბევრი იმაზე, თუ რა MD5 ან ანალოგიური არის პრაქტიკულად ყველა შესახებ. 605 00:33:49,000 --> 00:33:53,000 >> ასე რომ, SQL, სტრუქტურირებული შეკითხვის ენაზე. 606 00:33:53,000 --> 00:33:56,000 ეს არის, უბრალოდ, ენა ჩვენ შესახებ დასაწყებად გამოიყენოს pset 7 607 00:33:56,000 --> 00:34:01,000 და შესაძლოა მიღმა მოითხოვოს მონაცემთა ბაზაში გარკვეული. 608 00:34:01,000 --> 00:34:06,000 მონაცემები, კიდევ ერთხელ, ინახება tabularly ამ ფარდობით მაგიდები, სვეტების და სტრიქონების, 609 00:34:06,000 --> 00:34:09,000 მაგრამ მისი გამოყენება ზოგიერთი შედარებით მარტივი სინტაქსი მოსწონს წაშლა, 610 00:34:09,000 --> 00:34:12,000 ჩადეთ, განახლება და აირჩიეთ გავაკეთოთ ზუსტად რომ. 611 00:34:12,000 --> 00:34:15,000 ჩვენ შეგვიძლია წაშლა მონაცემთა ბაზიდან, ჩადეთ, 612 00:34:15,000 --> 00:34:19,000 განაახლოთ მონაცემები, ასევე არჩევა, რომელიც, ვიღებ მონაცემები მონაცემთა ბაზიდან. 613 00:34:19,000 --> 00:34:21,000 როგორ უნდა წავიდეს შესახებ ამით? 614 00:34:21,000 --> 00:34:23,000 ნება მომეცით წავიდეთ წინ შევიდა ელექტრო მოწყობილობების. 615 00:34:23,000 --> 00:34:28,000 ნება მომეცით დახევის up http://localhost, 616 00:34:28,000 --> 00:34:30,000 რომელიც, კიდევ ერთხელ, არის ადგილობრივი ელექტრო თვით. 617 00:34:30,000 --> 00:34:32,000 სწორედ ნაგულისხმევი ზედმეტსახელი. 618 00:34:32,000 --> 00:34:35,000 და ნება მომეცით წასვლა / phpmyadmin. 619 00:34:35,000 --> 00:34:39,000 ეს ხდება, რომ იყოს სპეციალური URL რომ ელექტრო მოწყობილობების არის preconfigured უნდა გვესმოდეს 620 00:34:39,000 --> 00:34:42,000 რომ მაშინვე მოთხოვნა ჩემთვის სახელი და პაროლი. 621 00:34:42,000 --> 00:34:46,000 >> როგორც წესი, მე ვაპირებ აკრიფოთ jharvard და ჟოლოსფერი, 622 00:34:46,000 --> 00:34:48,000 მაგრამ გააცნობიეროს, რომ ადმინისტრაციასა ანგარიშზე კომპიუტერი. 623 00:34:48,000 --> 00:34:53,000 უბრალოდ დამთხვევა, რომ არსებობს ასევე jharvard დარეგისტრირებული CS50 ფინანსთა. 624 00:34:53,000 --> 00:34:56,000 Jharvard, ჟოლოსფერი, შეიყვანოთ მაძლევს ინტერფეისი, რომ ჩვენ ვნახეთ 625 00:34:56,000 --> 00:34:59,000 glimpse of მომენტში წინ, და ეს პატარა აბსოლუტური თავდაპირველად, 626 00:34:59,000 --> 00:35:02,000 მაგრამ დანარჩენი დაარწმუნა, თქვენ არასდროს უნდა დააჭიროთ უმრავლესობა ბმულები ამ ინსტრუმენტს. 627 00:35:02,000 --> 00:35:05,000 თქვენ დასრულდება up გამოყენებით მცირე subset, რომლებიც სუპერ გამოსადეგი, 628 00:35:05,000 --> 00:35:08,000 პირველი რომლის მონაცემთა ბაზების აქ. 629 00:35:08,000 --> 00:35:11,000 თუ მე ახვიდეთ მონაცემთა ბაზა, რომ მე აიძულა მონაცემთა ბაზის შესაქმნელად. 630 00:35:11,000 --> 00:35:14,000 ეს არის მსგავსად შექმნა ახალი Excel ფაილი, ეფექტურად. 631 00:35:14,000 --> 00:35:18,000 მე ვაპირებ წავიდეთ წინ და დაარქვით ლექცია, და მე უბრალოდ აპირებს იგნორირება სფეროში არსებობს, Collation. 632 00:35:18,000 --> 00:35:20,000 მას არ უკავშირდება წარმომადგენლობა მონაცემები მასში, 633 00:35:20,000 --> 00:35:24,000 და მე ვაპირებ დააწკაპუნეთ შექმნა, და ახლა შეამჩნია როგორც მე გაუშვებენ of შექმნა 634 00:35:24,000 --> 00:35:27,000 on მარცხენა მხარეს, სადაც იგი ამბობს, რომ არანაირი მონაცემთა ბაზებთან 635 00:35:27,000 --> 00:35:30,000 მე უნდა მალე დაინახავთ ლექცია მონაცემთა ბაზაში. 636 00:35:30,000 --> 00:35:32,000 >> თუ მე ახლა დააკლიკებთ მარცხენა მხარეს, ლექცია მონაცემთა ბაზა, 637 00:35:32,000 --> 00:35:34,000 შეამჩნია ჩემი ჩანართები შეცვლის ცოტა. 638 00:35:34,000 --> 00:35:38,000 მაქვს სტრუქტურა, SQL, ექსპორტი, იმპორტი და ზოგიერთი სხვა რამ. 639 00:35:38,000 --> 00:35:40,000 სტრუქტურა საკმაოდ ბევრი ცარიელი. 640 00:35:40,000 --> 00:35:43,000 არარის მაგიდები მოიძებნა მონაცემთა ბაზაში, როგორც იგი აცხადებს, აქ, 641 00:35:43,000 --> 00:35:47,000 მოდით შევქმნათ მაგიდა, და მოდით წავიდეთ წინ და შევქმნათ მაგიდა 642 00:35:47,000 --> 00:35:53,000 მინდა სტუდენტები, და რამდენი სვეტების გვინდა? 643 00:35:53,000 --> 00:35:55,000 მოდით შენარჩუნება ეს მარტივი და მოდით ჩანაწერი თითოეული სტუდენტი 644 00:35:55,000 --> 00:35:58,000 ნომერი, სახელი და ელექტრონული ფოსტის მისამართი. 645 00:35:58,000 --> 00:36:02,000 >> ჩვენ გავაგრძელებთ მარტივი მოსწონს, რომ, ასე 3 მწკრივი, წასვლა. 646 00:36:02,000 --> 00:36:05,000 ფორმა, რომ ხედავთ აქ არის ცოტა ბინძურ და აბსოლუტური, 647 00:36:05,000 --> 00:36:08,000 მაგრამ ჩვენ უბრალოდ უნდა გაიაროს ეს row მიერ მწკრივი, ასე ნამდვილად სწრაფად მოდით მივცეთ 648 00:36:08,000 --> 00:36:14,000 პირველი სვეტი ბაზის სახელწოდება ID, უნიკალური იდენტიფიკატორი. 649 00:36:14,000 --> 00:36:17,000 ეს იქნება მთელი რიცხვი. მე შემიძლია რეალურად იგნორირება სიგრძე და ღირებულებებს. 650 00:36:17,000 --> 00:36:21,000 Int იქნება 32 ბიტი არ აქვს მნიშვნელობა რა თქვენ ტიპი იქ, მოდით დატოვეთ ცარიელი. 651 00:36:21,000 --> 00:36:24,000 საწყისი მნიშვნელობა, მე ვერ იყოს იგი null, როგორც განსაზღვრული. 652 00:36:24,000 --> 00:36:27,000 მე ვაპირებ, რომ დატოვოს მარტო. ნუ ვნერვიულობთ რა ღირებულებებს. 653 00:36:27,000 --> 00:36:29,000 მოდით გადახვევა მეტი აქ უფლება, ატრიბუტები. 654 00:36:29,000 --> 00:36:31,000 ეს არის საინტერესო. 655 00:36:31,000 --> 00:36:33,000 მოდით წავიდეთ წინ და გარკვეულწილად თვითნებურად ამბობენ, რომ პირადობის მოწმობები უნდა იყოს ხელმოუწერელი. 656 00:36:33,000 --> 00:36:35,000 ნუ დაკარგავთ რაიმე უარყოფითი რიცხვები. 657 00:36:35,000 --> 00:36:37,000 >> მოდით წავიდეთ 0 დან 4 მილიარდი, მისცეს ან მიიღოს, 658 00:36:37,000 --> 00:36:40,000 და მაშინ მოდით არ შეეხოთ ნებისმიერი ამ სფეროებში უბრალოდ ჯერჯერობით იქ, 659 00:36:40,000 --> 00:36:43,000 მაგრამ მაშინ ნება მომეცით აკრიფოთ სახელი ქვემოთ აქ, 660 00:36:43,000 --> 00:36:46,000 და მაშინ სხვა იყო ელ, ასე დაჭერა არის ელ 661 00:36:46,000 --> 00:36:50,000 და სახელი, აშკარად არ რიცხვებით, მოდით შევცვალოთ ეს სხვადასხვა სფეროში. 662 00:36:50,000 --> 00:36:53,000 თურმე varchar, ცვლადი სიგრძის char, 663 00:36:53,000 --> 00:36:56,000 ჰგავს string in SQL მონაცემთა ბაზაში 664 00:36:56,000 --> 00:36:59,000 მაგრამ ცვლადი სიგრძის, და თქვენ ნამდვილად უნდა ვუთხრათ ეს წინასწარ 665 00:36:59,000 --> 00:37:02,000 მაქსიმალური სიგრძე სიმებიანი, ამიტომ მე ვაპირებ გარკვეულწილად თვითნებურად 666 00:37:02,000 --> 00:37:05,000 მიერ კონვენციის ტიპის 255 სიმბოლო. 667 00:37:05,000 --> 00:37:08,000 მე ვერ მთლიანად ამბობენ 32. მე შეიძლება ითქვას, 1000. 668 00:37:08,000 --> 00:37:11,000 თქვენ სახის საჭიროება უნდა გადაწყვიტოს საკუთარი ეფუძნება თქვენი დემოგრაფიას რა არის 669 00:37:11,000 --> 00:37:14,000 გრძელი სტუდენტი სახელი და წავიდეთ ერთად, რომ ნომერი, ან ცოტა უფრო დიდი, 670 00:37:14,000 --> 00:37:17,000 მაგრამ რა ლამაზი შესახებ varchar არის ეს არ დაგვრჩა 671 00:37:17,000 --> 00:37:19,000 255 bytes ყველა სტუდენტის სახელი. 672 00:37:19,000 --> 00:37:23,000 თუ ეს DAVID ეს არ გამოიყენოს მთელი 255 ბაიტი, 673 00:37:23,000 --> 00:37:26,000 მაგრამ ეს ზედა შეკრული, ამიტომ მე წავიდეთ ერთად 255 მხოლოდ კონვენციის, 674 00:37:26,000 --> 00:37:30,000 მაგრამ ჩვენ შეგვიძლია ვიმსჯელოთ, რომ იყოს ზოგიერთი მცირე მნიშვნელობის და ელექტრონული ფოსტის მისამართი 675 00:37:30,000 --> 00:37:34,000 უბრალოდ უნდა იყოს თანმიმდევრული 255, მაგრამ კვლავ, ჩვენ შეგვეძლო იგივე დებატები. 676 00:37:34,000 --> 00:37:36,000 მაგრამ მე ვაპირებ ერთი სხვა რამ მეტი აქ მარჯვენა მხარეს. 677 00:37:36,000 --> 00:37:40,000 >> რა არის ძლიერი შესახებ მონაცემთა ბაზაში არის ის, რომ ბევრი მძიმე მოხსნას 678 00:37:40,000 --> 00:37:42,000 ან კომპლექსური მუშაობა თქვენთვის. 679 00:37:42,000 --> 00:37:46,000 კერძოდ, მე ნამდვილად არ მაინტერესებს, რა ჩემი სტუდენტის პირადობის ნომრები არიან. 680 00:37:46,000 --> 00:37:49,000 უბრალოდ ნიშნავს, რომ უნიკალური იდენტიფიკატორი მონაცემთა ბაზაში 681 00:37:49,000 --> 00:37:52,000 ასე მაქვს 32-bit ლაკონური წარმომადგენლობა რომ სტუდენტი 682 00:37:52,000 --> 00:37:55,000 ასე, რომ მე გარკვეული გზა ცალსახად საიდენტიფიკაციო მათ 683 00:37:55,000 --> 00:37:58,000 Lest იქ იყოს 2 Davids, მაგალითად, კლასი. 684 00:37:58,000 --> 00:38:01,000 ფაქტობრივად, მე ვაპირებ შეამოწმოთ ამ AI ყუთი, ავტო წუთობრივი, 685 00:38:01,000 --> 00:38:04,000 ისე, რომ მონაცემთა ბაზაში, MySQL, გათვლით out 686 00:38:04,000 --> 00:38:08,000 რა ყველა ახლად ჩასმული სტუდენტის პირადობის იქნება. 687 00:38:08,000 --> 00:38:11,000 მე კი არ უნდა ზრუნავდეს, რომ ჩემს კოდი, 688 00:38:11,000 --> 00:38:13,000 და მე ასევე აპირებს ამოირჩიოთ ქვეშ ინდექსი მენიუ. 689 00:38:13,000 --> 00:38:17,000 ინდექსი ვარდნა ქვემოთ აქ უკვე დაწყებითი, უნიკალური, 690 00:38:17,000 --> 00:38:19,000 ინდექსი და სრული ტექსტი. 691 00:38:19,000 --> 00:38:21,000 შეგიძლიათ იქნებ გამოიცანით რა რამდენიმე ეს ყველაფერი, 692 00:38:21,000 --> 00:38:24,000 მაგრამ აღმოჩნდება, რელატიური მონაცემთა ბაზებთან 693 00:38:24,000 --> 00:38:28,000 თქვენ პროგრამისტი ან მონაცემთა ბაზის ადმინისტრატორი მისაღებად preemptively 694 00:38:28,000 --> 00:38:32,000 მისცეს მინიშნებები მონაცემთა ბაზაში, თუ რა სფეროებში 695 00:38:32,000 --> 00:38:34,000 წელს მაგიდასთან ხართ პატარა სპეციალური. 696 00:38:34,000 --> 00:38:37,000 >> მაგალითად, ამ შემთხვევაში მე ვაპირებ ვთქვა, რომ ID 697 00:38:37,000 --> 00:38:42,000 იქნება პირველადი ინდექსი, წინააღმდეგ შემთხვევაში, ცნობილია, როგორც პირველადი გასაღები. 698 00:38:42,000 --> 00:38:44,000 რა ეს იმას ნიშნავს, ზოგადად ის არის, რომ ამიერიდან ID 699 00:38:44,000 --> 00:38:48,000 იქნება ცალსახად იდენტიფიცირება სტუდენტები ამ მაგიდასთან. 700 00:38:48,000 --> 00:38:53,000 არარის სტუდენტი ექნება იგივე ID რადგან მე დაკისრების ამ შეზღუდვა ან ამ ინდექსის. 701 00:38:53,000 --> 00:38:55,000 უფრო მეტიც, თუ რა ამ გაკეთებას აპირებს ჩემთვის არის ის აპირებს ვუთხრა 702 00:38:55,000 --> 00:38:58,000 MySQL, რომ ID არის სპეციალური. 703 00:38:58,000 --> 00:39:03,000 მე ზრუნვა განსაკუთრებით ID, ამიტომ წავიდეთ წინ და თქვენი ლამაზი მონაცემები სტრუქტურის Magic, 704 00:39:03,000 --> 00:39:05,000 დაამყარონ გარკვეული ხე. 705 00:39:05,000 --> 00:39:08,000 როგორც წესი ეს რაღაც მოუწოდა B ხე, რომელიც ჩვენ არ შევხედოთ კვირის წინ 706 00:39:08,000 --> 00:39:11,000 მაგრამ კიდევ ერთი ასეთი მონაცემები სტრუქტურის მსგავსი სულისკვეთებით, რათა ბინარული ხეები 707 00:39:11,000 --> 00:39:15,000 და ცდილობს, რომ ჩვენ შევხედეთ, მაგრამ თქმას 708 00:39:15,000 --> 00:39:18,000 მონაცემთა ბაზაში ამ სფეროში იმდენად მნიშვნელოვანია, რომ მე ალბათ 709 00:39:18,000 --> 00:39:22,000 გვინდა ექნებათ მოძებნონ მასზე, წავიდეთ წინ და დაამყარონ გარკვეული ხელნაკეთობების 710 00:39:22,000 --> 00:39:25,000 მონაცემები სტრუქტურა მეხსიერების დააჩქარებს ძიება ისე, რომ იდეალურად 711 00:39:25,000 --> 00:39:28,000 ისინი მუდმივი დროის ან თუნდაც ისევე ახლოს რომ რაც შეიძლება 712 00:39:28,000 --> 00:39:32,000 ასე რომ არ გადაეცემა შევიდა ხაზოვანი ძებნა, რომელიც არ იქნება 713 00:39:32,000 --> 00:39:34,000 ყველაზე მაღალი საშემსრულებლო მიდგომა. 714 00:39:34,000 --> 00:39:37,000 პირიქით, ელექტრონულ მისამართზე შეიძლებოდა ყოფილიყო პირველადი გასაღები. 715 00:39:37,000 --> 00:39:41,000 >> თეორიულად, ყველას ელექტრონული მისამართი არის უნიკალური, თუ თქვენ გაზიარების რამდენიმე ანგარიში, 716 00:39:41,000 --> 00:39:45,000 მაგრამ ზოგადად არ არის კარგი გამოიყენოს მსგავსი რამ სიმებიანი 717 00:39:45,000 --> 00:39:49,000 როგორც პირველადი გასაღები, რადგან თუ მისი მიზანი ცხოვრებაში არის ცალსახად იდენტიფიცირება 718 00:39:49,000 --> 00:39:55,000 რიგების თქვენს მაგიდასთან არსებობს არანაირი მიზეზი, რომ გამოიყენოს 255 ბაიტი მაქსიმალურად 719 00:39:55,000 --> 00:39:58,000 to ცალსახად იდენტიფიცირება ვინმეს თუ შეგიძლიათ მიიღოთ გადაურჩა მხოლოდ 4 ბაიტი 720 00:39:58,000 --> 00:40:00,000 ან 32-bit int. 721 00:40:00,000 --> 00:40:03,000 ზოგადად, პირველადი გასაღები უნდა იყოს მოკლე და ლაკონური 722 00:40:03,000 --> 00:40:07,000 და იდეალურად რაღაც რიცხვი ან დიდი int, რომელიც ხდება უნდა იყოს 64 ბიტი. 723 00:40:07,000 --> 00:40:11,000 მაგრამ ელექტრონულ მისამართზე უნდა იყოს უნიკალური, და ერთი თავისებურება მონაცემთა ბაზაში ძალიან 724 00:40:11,000 --> 00:40:14,000 არის აღსასრულებლად უნიკალურობა ჩემთვის. 725 00:40:14,000 --> 00:40:18,000 შერჩევის უნიკალური აქ შემდეგ ელ, მიუხედავად იმისა, რომ თავად მისწერეთ 726 00:40:18,000 --> 00:40:21,000 არის scrolled off ეკრანზე, მე ვამბობ, რომ მონაცემთა ბაზაში 727 00:40:21,000 --> 00:40:23,000 არ ვენდობი მე. 728 00:40:23,000 --> 00:40:26,000 ნუ ჩემთვის ჩადეთ მონაცემთა ბაზაში 729 00:40:26,000 --> 00:40:29,000 იგივე ელექტრონულ მისამართზე ორჯერ, მაშინაც კი, თუ მე ვარ იდიოტი და არ ვარ 730 00:40:29,000 --> 00:40:32,000 ძალიან კარგი, რომ ჩემს IFS და სხვაგან IFS და ფაქტობრივი PHP კოდი 731 00:40:32,000 --> 00:40:37,000 და მე შემთხვევით ნება მომხმარებლის რეგისტრაცია არსებულ ელექტრონულ მისამართზე 732 00:40:37,000 --> 00:40:40,000 მონაცემთა ბაზაში არის კიდევ ერთი დონის თავდაცვის სისწორის 733 00:40:40,000 --> 00:40:44,000 უზრუნველყოს, რომ რომ დუბლიკატი ელექტრონულ მისამართზე არ დასრულდება მდე ცხრილში. 734 00:40:44,000 --> 00:40:49,000 >> ახლა კი პირიქით, ამისთვის სახელი თქვენ ალბათ არ სურს, რომ უნიკალურ 735 00:40:49,000 --> 00:40:51,000 რადგან მაშინ ვერასოდეს ვერ იქნება 2 Davids ან 2 მაიკ Smiths, მაგალითად, 736 00:40:51,000 --> 00:40:55,000 თქვენს მონაცემთა ბაზაში, რომ ერთი ჩვენ უბრალოდ თავი დაანებოს. 737 00:40:55,000 --> 00:40:58,000 მე ვაპირებ წავიდეთ წინ და დააჭირეთ გადარჩენა დროს ქვედა მარჯვენა, 738 00:40:58,000 --> 00:41:02,000 და ყველაფერი გამოიყურება კარგია, მაგრამ შეამჩნია აქ 739 00:41:02,000 --> 00:41:04,000 ეს ნაწილი, რომ ახლა ჩვენ არ დახარჯო ზედმეტი დრო 740 00:41:04,000 --> 00:41:07,000 რადგან სინტაქსი არის პატარა კომპლექსი, და ჩვენ არ უნდა შევქმნათ მაგიდები 741 00:41:07,000 --> 00:41:10,000 ყველა რომ ხშირად, მაგრამ SQL თავისთავად ენაზე 742 00:41:10,000 --> 00:41:13,000 სინტაქსი, რომელიც სწორედ აქ, რომ მე მონიშნულია. 743 00:41:13,000 --> 00:41:18,000 რა phpMyAdmin მართლაც არის ის უქმნის web-based GUI თქვენთვის 744 00:41:18,000 --> 00:41:23,000 რომელთანაც შეგიძლიათ დაზოგოთ დრო და არ აქვს ხელით აკრიფოთ გარეთ 745 00:41:23,000 --> 00:41:26,000 საკმაოდ ხანგრძლივი SQL query იგრძნობა. 746 00:41:26,000 --> 00:41:29,000 >> სხვა სიტყვებით, თუ უნდოდა ხელით შექმნა ამ მაგიდასთან, 747 00:41:29,000 --> 00:41:32,000 არც იმ შავი და თეთრი სწრაფი ან თუნდაც phpMyAdmin 748 00:41:32,000 --> 00:41:35,000 გამოყენებით ამ სხვა tab, ამ SQL tab სადაც შეგიძლიათ აკრიფოთ ნებისმიერ SQL queries 749 00:41:35,000 --> 00:41:38,000 გსურთ, გულწრფელად, ამ შემთხვევაში აქვთ აღებული ჩემთვის წუთი 750 00:41:38,000 --> 00:41:41,000 რეალურად გვახსოვს მთელი სინტაქსი, და მაშინაც მე ალბათ ექნება 751 00:41:41,000 --> 00:41:45,000 გარკვეული typos, ამიტომ ეს ინსტრუმენტი არის სასარგებლო რამ, როგორიცაა, რომ, და ეს ასევე სასწავლო. 752 00:41:45,000 --> 00:41:49,000 თქვენ შეგიძლიათ დაიწყოს infer რა სინტაქსი არის 753 00:41:49,000 --> 00:41:52,000 მხოლოდ ლამაზი ფერი კოდირების რომ phpMyAdmin ამატებს 754 00:41:52,000 --> 00:41:54,000 ჩვენი ვიზუალური მოხერხებულობისთვის. 755 00:41:54,000 --> 00:41:56,000 მაგრამ ახლა მოდით ეს ნაცვლად. 756 00:41:56,000 --> 00:42:00,000 ნება მომეცით წასვლა ჩასმა tab ზედა, და ნება მომეცით წავიდეთ წინ და ჩადეთ მაგალითად 757 00:42:00,000 --> 00:42:04,000 პირადობის ვთქვათ-რეალურად არ მაინტერესებს. 758 00:42:04,000 --> 00:42:07,000 იგი აპირებს ავტომატური იყოს. მე ვაპირებ ნება ბაზაში გაუმკლავდეთ ამ. 759 00:42:07,000 --> 00:42:11,000 მაგრამ მე უნდა დავით, და ჩემი ელ უნდა იყოს malan@harvard.edu. 760 00:42:11,000 --> 00:42:16,000 >> მოდით წავიდეთ წინ აქ და დასვა მაიკ სმიტი, როგორც მეორე. 761 00:42:16,000 --> 00:42:18,000 მე მივცემ თავს გვარი ისევე, 762 00:42:18,000 --> 00:42:22,000 და გვექნება მას იყოს smith@example.com, 763 00:42:22,000 --> 00:42:24,000 და მაშინ სად მივდივარ შემდეგი? 764 00:42:24,000 --> 00:42:27,000 ასევე, ის ჰგავს გადასვლა არის ღილაკს დააჭირეთ და voila. 765 00:42:27,000 --> 00:42:30,000 გაითვალისწინეთ ზედა 2 ხაზად ჩასმული. 766 00:42:30,000 --> 00:42:32,000 ეს არის ფაქტობრივი SQL შეკითხვა. 767 00:42:32,000 --> 00:42:36,000 სწორედ phpMyAdmin ინსტრუმენტი შესრულებული ჩემთვის, 768 00:42:36,000 --> 00:42:40,000 მაგრამ საბოლოო ჯამში, განცხადებების, თუ მე ახლა წასვლა დათვალიერება tab, 769 00:42:40,000 --> 00:42:43,000 , ვნახოთ 2 რიგები ამ მაგიდასთან, ძალიან თქვენში ესთეტიურად 770 00:42:43,000 --> 00:42:46,000 ცხრილის ვნახეთ ადრე ჩვენი მომხმარებლებს pset 7, 771 00:42:46,000 --> 00:42:51,000 ერთი რომელთაგან დავით Malan, ერთი რომელთაგან ახლა არის მაიკ სმიტი. 772 00:42:51,000 --> 00:42:54,000 მაგრამ უნდა იყოს ნათელი, მე არ უნდა გამოვიყენოთ phpMyAdmin, 773 00:42:54,000 --> 00:42:56,000 და მართლაც, თქვენ აპირებს მალე წერილობით კოდი pset 7 774 00:42:56,000 --> 00:43:01,000 რომ automates პროცესში დასძინა რიგები, წაშლის რიგები, განახლებაზე რიგები და მოსწონს, 775 00:43:01,000 --> 00:43:04,000 ნება მომეცით, ნაცვლად წასვლა SQL tab აქ 776 00:43:04,000 --> 00:43:14,000 და ტიპის არჩევა * სტუდენტური აქ 777 00:43:14,000 --> 00:43:18,000 ელ = "malan@harvard.edu." 778 00:43:18,000 --> 00:43:21,000 >> სხვა სიტყვებით ვარაუდობენ ახლა თქვენ გაქვთ 779 00:43:21,000 --> 00:43:26,000 ზოგიერთი HTML ფორმას, და მომხმარებლის ტიპის თავის ელექტრონულ მისამართზე, მათ შორის სხვა სფეროებში, 780 00:43:26,000 --> 00:43:29,000 და მიზანი ახლა არის PHP უკან ბოლომდე კოდი 781 00:43:29,000 --> 00:43:31,000 რეალურად გამოიყურებოდეს up ამ მომხმარებლის სხვა დეტალები. 782 00:43:31,000 --> 00:43:34,000 რა არის თქვენი სრული სახელი? როგორია თქვენი ნომერი? 783 00:43:34,000 --> 00:43:37,000 თქვენ შეეძლო დაეწერა SQL query მოსწონს ეს შეარჩიეთ * სტუდენტური 784 00:43:37,000 --> 00:43:40,000 სადაც ელ = "malan@harvard.edu." 785 00:43:40,000 --> 00:43:46,000 და თუ დაწკაპეთ წასვლა, შეამჩნია, რომ მე უნდა, და მართლაც მე, დაიბრუნებს მხოლოდ ერთი მწკრივი. 786 00:43:46,000 --> 00:43:50,000 მაიკ არის გამოტოვებული ამ შედეგი კომპლექტი, როგორც კრებული რიგების 787 00:43:50,000 --> 00:43:53,000 ზოგადად მოუწოდა, რადგან მას არ აქვს იგივე ელექტრონულ მისამართზე, როგორც ჩემთვის. 788 00:43:53,000 --> 00:43:57,000 >> ახლა, ისევ, აქ pset 7 თქვენ გამოიყენებთ phpMyAdmin როგორც ადმინისტრაციული ინსტრუმენტი 789 00:43:57,000 --> 00:44:00,000 და პედაგოგიური ინსტრუმენტი უნდა ვისწავლოთ თქვენი გზა 790 00:44:00,000 --> 00:44:03,000 გარშემო სამყარო SQL, მაგრამ დღის ბოლოს 791 00:44:03,000 --> 00:44:08,000 თქვენ უნდა წერა ამ queries შიგნით ფაქტობრივი PHP კოდი, 792 00:44:08,000 --> 00:44:11,000 და ასე ადევნეთ თვალყური in Zamyla ს walkthrough კერძოდ 793 00:44:11,000 --> 00:44:14,000 აქ თქვენ მიიღებთ ტური განაწილების კოდი ამ პრობლემის კომპლექტი 794 00:44:14,000 --> 00:44:18,000 აქ ჩვენ მოცემული არა მხოლოდ ესთეტიკის ამისთვის შესვლის გვერდზე 795 00:44:18,000 --> 00:44:21,000 და ლამაზი Sexy ლოგო, რომელიც ამბობს, CS50 ფინანსთა, მაგრამ ჩვენ ასევე მოცემული 796 00:44:21,000 --> 00:44:24,000 bunch of ფუნქციები რომ გახდის თქვენს ცხოვრებაში ცოტა ადვილია. 797 00:44:24,000 --> 00:44:27,000 ჩვენ ასევე წერილობითი ნაწილი pset თქვენთვის, 798 00:44:27,000 --> 00:44:32,000 შესვლა ნაწილის კერძოდ, გადმოგცეთ გრძნობა წარმომადგენელი დიზაინი 799 00:44:32,000 --> 00:44:36,000 რომ რეალურად იყენებს კონტროლერი, მაგალითად, index.php, 800 00:44:36,000 --> 00:44:40,000 login.php და მოსწონს, და შემდეგ თქვენ ნახავთ pset ასევე აქვს შაბლონების კატალოგი 801 00:44:40,000 --> 00:44:43,000 რომ აქვს ყველა თქვენი შეხედულებები, ყველა ესთეტიკას. 802 00:44:43,000 --> 00:44:46,000 და ა.შ. საერთო Workflow in pset 7 იქნება, რომ 803 00:44:46,000 --> 00:44:49,000 თქვენი წევრებს ეწვევა კონტროლერი მეშვეობით მისამართს ბრაუზერში. 804 00:44:49,000 --> 00:44:53,000 რომ კონტროლერი შეიცავს PHP კოდი, რომ თქვენ წერდა და შიგნით თქვენი PHP კოდი 805 00:44:53,000 --> 00:44:57,000 შესაძლოა ზოგიერთი ხაზები SQL წყობილი შორის ორმაგი შეთავაზებები 806 00:44:57,000 --> 00:45:00,000 და გადავედით ფუნქცია ჩვენ წერდა მოუწოდა შეკითხვის 807 00:45:00,000 --> 00:45:03,000 რომელიც დაგეხმარებათ გაიგო ბაზაში გამოყენების გარეშე მსგავსი რამ 808 00:45:03,000 --> 00:45:05,000 ადმინისტრაციული ინსტრუმენტი, როგორიცაა phpMyAdmin. 809 00:45:05,000 --> 00:45:08,000 >> თქვენ გექნებათ დაწერა SQL განცხადებებს PHP კოდი 810 00:45:08,000 --> 00:45:11,000 და დავუბრუნდეთ PHP მასივი შედეგი კომპლექტი, 811 00:45:11,000 --> 00:45:14,000 საქართველოს რიგები რომ რეალურად ემთხვევა, რომ შეკითხვა. 812 00:45:14,000 --> 00:45:18,000 და ასეთივე იქნება თქვენ ვერ გააკეთებს ჩანართები ან წაშლის 813 00:45:18,000 --> 00:45:22,000 ან განახლებები ან მოსწონს, სინტაქსი, რომელიც საკმაოდ მსგავსი, 814 00:45:22,000 --> 00:45:25,000 და თქვენ ნახავთ რამდენიმე ხაზზე ცნობას, საწყისი განაწილების კოდი 815 00:45:25,000 --> 00:45:29,000 და pset კრავენ თავად ზუსტად როგორ წავიდეთ შესახებ აკეთებს, რომ. 816 00:45:29,000 --> 00:45:33,000 გააცნობიეროს საბოლოოდ ჩვენ ნამდვილად მხოლოდ scratching ზედაპირზე SQL 817 00:45:33,000 --> 00:45:36,000 და MySQL, მაგრამ ძალა ნამდვილად არის ის, რომ ათავისუფლებს თქვენ 818 00:45:36,000 --> 00:45:40,000 ფოკუსირება პრობლემების გსურთ მოგვარებას, გამოყენების შემთხვევები გსურთ განახორციელებს 819 00:45:40,000 --> 00:45:43,000 გარეშე ინერვიულოთ საკმაოდ იმდენი, მინიმუმ დილით, 820 00:45:43,000 --> 00:45:47,000 დაახლოებით სად და როგორ შევინახოთ და მოძებნოთ თქვენს მონაცემთა ბაზაში, 821 00:45:47,000 --> 00:45:50,000 და ეს არის საკმაოდ სიტყვასიტყვით, სადაც Facebook თავად მიიღო მისი დაწყების 822 00:45:50,000 --> 00:45:53,000 გამოყენებით MySQL და შემდეგ გამოყენებით მეტი MySQL სერვერები და შემდეგ უფრო MySQL სერვერები 823 00:45:53,000 --> 00:45:57,000 ადრე ხანგრძლივი სანამ ისინი მოუწია, რათა რეალურად დაიწყოს ფიქრი რთულია, თუ როგორ უნდა 824 00:45:57,000 --> 00:46:00,000 შენახვის მონაცემები, როგორ შესანახად კიდევ უფრო ეფექტურად, 825 00:46:00,000 --> 00:46:04,000 ამიტომ, მიუხედავად იმისა, ჩვენ თავისთავად ის ფაქტი, რომ მაჩვენებლები და უნიკალური შეზღუდვების 826 00:46:04,000 --> 00:46:08,000 და ა.შ. უბრალოდ მუშაობა იქ ძალიან საინტერესო საუბარი 827 00:46:08,000 --> 00:46:12,000 რომ ეს ყველა საბოლოოდ, ასე რომ მიხვდებიან, რომ ჩვენ უბრალოდ scratching ზედაპირზე 828 00:46:12,000 --> 00:46:17,000 თუ რა შეიძლება საბოლოოდ თქვენთვის ან თქვენი პროექტები საკმაოდ ცოტა დიდი მონაცემები. 829 00:46:17,000 --> 00:46:22,000 >> აღნიშნულის გათვალისწინებით, მოდით დამთავრდეს აქ, და ვნახავთ, თქვენ მომავალ კვირას. 830 00:46:28,000 --> 00:46:30,000 [CS50.TV]