1 00:00:00,000 --> 00:00:02,916 2 00:00:02,916 --> 00:00:04,860 >> [მუსიკის დაკვრა] 3 00:00:04,860 --> 00:00:10,210 4 00:00:10,210 --> 00:00:13,350 >> დავით Malan: ეს არის CS50, და ეს არის დაწყების კვირაში რვა. 5 00:00:13,350 --> 00:00:17,510 და ჩვენ ძალიან აღელვებს მივესალმო უკან, დიდი სიურპრიზი, CS50 საკუთარი Ramon 6 00:00:17,510 --> 00:00:22,160 Galvan, იზრდება უფროსი, რომელიც უკვე ხარჯვის ბოლო რამდენიმე თვის განმავლობაში 7 00:00:22,160 --> 00:00:26,190 წლის ივლისიდან LA, ჰოლივუდში, ფაქტიურად მუშაობს ახალი სატელევიზიო 8 00:00:26,190 --> 00:00:31,930 შოუ მოუწოდა კოლონიაში, შემოქმედი, რომელიც ფაქტიურად ჰარვარდის ალუმინის თავს. 9 00:00:31,930 --> 00:00:36,610 ასე რომ, ჩვენ ძალიან აღელვებს, რომ ეს დებიუტი USA ქსელის ამ წლის იანვარში. 10 00:00:36,610 --> 00:00:40,370 ასე რომ, ადევნეთ თვალყური, რომ, და უფრო Ramon, რომ კვირის მოსვლა. 11 00:00:40,370 --> 00:00:42,550 >> ვიცი, რომ აღსასრული ახლოს არის. 12 00:00:42,550 --> 00:00:47,400 და რა ეს იმას ნიშნავს, რომ იქ არ არის ყველა რომ ბევრი რამ დარჩა CS50, სამწუხარო ვთქვა. 13 00:00:47,400 --> 00:00:49,400 ჩვენ მხოლოდ სამი პრობლემა კომპლექტი left-- იქ 14 00:00:49,400 --> 00:00:52,510 პრობლემა კომპლექტი six-- რომელიც თქვენს ხელშია ახლა ან სულ მალე იქნება, 15 00:00:52,510 --> 00:00:56,080 იმის გამო, მოგვიანებით ამ კვირას იმას ნიშნავდა, რომ ხიდი ჩვენი სამყაროს ბრძანების, სადაც 16 00:00:56,080 --> 00:00:59,450 ჩვენ გაატარა ჩვენი დროის გამოყენებით C, და სამყაროში ვებ პროგრამირება. 17 00:00:59,450 --> 00:01:02,350 ისე, დაინახავთ, რომ ბევრი იდეები ნასესხები command line მუშაობა, 18 00:01:02,350 --> 00:01:04,560 არამედ ბევრი ახალი და საინტერესო იდეები 19 00:01:04,560 --> 00:01:07,929 რომელიც ასევე იქნება გერმანე for მობილური პროგრამები და ტექნოლოგია, 20 00:01:07,929 --> 00:01:10,470 უფრო ზოგადად, რომელიც თქვენ ბიჭები არიან ყველა იცნობს დღეს 21 00:01:10,470 --> 00:01:12,090 ლაპტოპები და ტელეფონები და ასე შემდეგ. 22 00:01:12,090 --> 00:01:15,220 >> ასე რომ, თქვენ განახორციელოს არა ვებ გვერდზე, ან ნახვა 23 00:01:15,220 --> 00:01:17,620 თავისთავად, მაგრამ ფაქტობრივი სერვერზე. 24 00:01:17,620 --> 00:01:21,590 თქვენ დაწერს დანარჩენი ვებ სერვერზე დაწერილი C, რომლის მიზანი ცხოვრებაში 25 00:01:21,590 --> 00:01:25,410 არის მიიღოს HTTP მოთხოვნა, იმ ვირტუალური კონვერტები, ჩვენ შევინარჩუნოთ საუბარი 26 00:01:25,410 --> 00:01:29,780 შესახებ, და ფაქტობრივად რეაგირება არც ზოგიერთი სტატიკური content-- მოსწონს dot HTML 27 00:01:29,780 --> 00:01:32,310 ფაილი, ან dot JPEG ან ნებისმიერი სხვა რაოდენობის ფაილი, 28 00:01:32,310 --> 00:01:37,070 ან თუნდაც PHP ფაილი, რომლის დროსაც თქვენი ვებ სერვერზე აპირებს ინტერპრეტაცია, რომ PHP 29 00:01:37,070 --> 00:01:38,332 კოდი და შამფურზე შედეგები. 30 00:01:38,332 --> 00:01:40,540 ახლა, ჩვენ გათვალისწინებული თქვენ საკმაოდ ცოტა ფარგლებში 31 00:01:40,540 --> 00:01:43,100 ამისთვის it-- მართლაც განაწილების კოდი პრობლემა 32 00:01:43,100 --> 00:01:47,496 მითითებული ექვსი დასრულდა 1000 ხაზები ხანგრძლივი, ბევრი რომელიც კომენტარი, უნდა იყოს fair-- 33 00:01:47,496 --> 00:01:49,370 მაგრამ ეს ნამდვილად ნიშნავს, უნდა იყოს საშუალება 34 00:01:49,370 --> 00:01:52,570 მიიღოთ თქვენი ხელები ბინძური diving შევიდა საკმაოდ დიდი პროექტი 35 00:01:52,570 --> 00:01:55,570 რომ ჩვენ ძალიან კონკრეტულად მოჩუქურთმებული out ცალი თქვენთვის, 36 00:01:55,570 --> 00:01:59,046 ასე, რომ, როდესაც თქვენ გასვლა CS50 და შესვლის რეალური სამყაროს პროგრამირების 37 00:01:59,046 --> 00:02:00,920 და მინდა შეხება ნებისმიერი რაოდენობის პროექტები, 38 00:02:00,920 --> 00:02:03,253 თქვენ ბევრად უფრო დიდი კომფორტი ჩამოტვირთვის ზოგიერთი წყარო 39 00:02:03,253 --> 00:02:05,020 კოდი, ზოგიერთი ღია პროექტის ინტერნეტში, 40 00:02:05,020 --> 00:02:08,174 და diving და მიღების ცვლილებები, რომ ხედავთ მორგებული. 41 00:02:08,174 --> 00:02:11,340 პრობლემა მითითებული შვიდი იქნება დაახლოებით მიღების თქვენი საკუთარი ვებ დაფუძნებული პროგრამა 42 00:02:11,340 --> 00:02:14,140 რომელიც იღებს დინამიური შემავალი და აწარმოებს დინამიური გამომავალი სახით 43 00:02:14,140 --> 00:02:16,920 ერთი etrade.com მსგავსი საიტზე. 44 00:02:16,920 --> 00:02:20,800 და პრობლემა კომპლექტი რვა ფოკუსირებული იქნება ჯერ სხვა ენაზე ცნობილია, როგორც JavaScript. 45 00:02:20,800 --> 00:02:24,170 >> იმავდროულად, საბოლოო პროექტის ჰორიზონტზე. 46 00:02:24,170 --> 00:02:26,800 ე.წ. წინასწარ წინადადება იმის გამო, კვირაში დღეს. 47 00:02:26,800 --> 00:02:29,930 Pre-proposal-- პოსტი დაზუსტება, რომელიც CS50 ის website-- 48 00:02:29,930 --> 00:02:33,260 არის საკმაოდ შემთხვევით შესაძლებლობა თქვენ გაგზავნას საკმაოდ ლაკონური ელ 49 00:02:33,260 --> 00:02:35,170 თქვენი სწავლების თანამემამულე უბრალოდ უნდა აუხსნან მას 50 00:02:35,170 --> 00:02:38,250 ან მას, თუ რას ფიქრობდა, რომ გამოყენება მას, როგორც sounding ფორუმში. 51 00:02:38,250 --> 00:02:40,980 და აქვს საღი აზრის შეამოწმოს თუ თქვენ ფიქრი 52 00:02:40,980 --> 00:02:43,210 შესახებ დაკბენის off ძალიან ბევრი ან იქნებ ძალიან პატარა, 53 00:02:43,210 --> 00:02:46,480 ან იქნებ არ ვიცი, განაწილებაზე და მინდა ჩაერთონ საუბარში. 54 00:02:46,480 --> 00:02:48,480 >> ამის შემდეგ არის წინადადება და სტატუსი ანგარიში, 55 00:02:48,480 --> 00:02:51,860 ე.წ. CS50 hackathon აქ კემბრიჯის ჰარვარდის და იელის სტუდენტები 56 00:02:51,860 --> 00:02:52,362 მსგავსად. 57 00:02:52,362 --> 00:02:54,320 საბოლოო პროექტის განხორციელების შემდეგ გამო. 58 00:02:54,320 --> 00:02:59,290 და მაშინ CS50 სამართლიანი აქ, კემბრიჯში, ისევე, როგორც სხვა in New Haven. 59 00:02:59,290 --> 00:03:02,500 ასე რომ, ეს წინადადება, შევხედოთ ვებ იმ დასკვნაში. 60 00:03:02,500 --> 00:03:06,530 >> მაგრამ უფრო საინტერესოდ, ძალიან, არის შესაძლებლობა მიიღოთ თქვენი ხელები ბინძური, 61 00:03:06,530 --> 00:03:09,350 და თქვენი გონება ღიაა მთელი რამოდენიმე თემა და ინსტრუმენტები 62 00:03:09,350 --> 00:03:12,920 და ტექნიკა, რომელიც არის დამხმარე რა თქმა უნდა, ის ძირითადი სილაბუსი, 63 00:03:12,920 --> 00:03:14,810 მაგრამ მიუხედავად ამისა დაკავშირებული. 64 00:03:14,810 --> 00:03:18,400 და ასევე მშვენიერი სტეპინგზე ქვები აკეთებს მართლაც მაგარი საბოლოო პროექტი, რომელიც 65 00:03:18,400 --> 00:03:22,020 სცდებოდეს მასალა ჩვენ დაფარული ფორმალურად პრობლემა ადგენს და ლექცია. 66 00:03:22,020 --> 00:03:24,446 ასე რომ CS50 ნახვა for მთელი მოშორებას სემინარები. 67 00:03:24,446 --> 00:03:26,070 თუ თქვენ არ რეგისტრაცია, არ არის, რომ ჯარიმა. 68 00:03:26,070 --> 00:03:29,860 წავიდეთ წინ და ხელი მოაწეროს up მაინც და ჩვენ თვალყური ცოცხალი ნაკადი ბმული, 69 00:03:29,860 --> 00:03:31,844 დღე და დრო ვებგვერდზე. 70 00:03:31,844 --> 00:03:33,760 და ყველაფერი კარგად იქნება ჩაწერილი და ამჟამად 71 00:03:33,760 --> 00:03:35,800 თუ თქვენ არ შეუძლია კერძოდ, დღის და ჯერ. 72 00:03:35,800 --> 00:03:39,380 >> რაც, რა დევს წინ thereafter-- კარგად, რა თქმა უნდა, არ არის CS50 hackathon. 73 00:03:39,380 --> 00:03:43,560 ეს ფოტო, გავიხსენოთ, კვირაში ნულოვანი მიღებული დაახლოებით 4 AM ერთ საღამოს გასულ წლებში. 74 00:03:43,560 --> 00:03:46,900 CS50 სამართლიანი, რომელიც კიდევ ერთხელ გაიმართება ორივე ქალაქში. 75 00:03:46,900 --> 00:03:49,760 და მაშინ, მხოლოდ დარგე თესლი, მიუხედავად იმისა, რომ ჩვენ ჯერ კიდევ 76 00:03:49,760 --> 00:03:54,080 ერთი თვის პლუს მარცხენა სემესტრის თუ გსურთ შეუერთდება CS50 საკუთარი სწავლების 77 00:03:54,080 --> 00:03:56,770 პერსონალი და გსურთ დაიწყოს ფიქრი გახდეს CA, 78 00:03:56,770 --> 00:03:59,550 ან სწავლების თანამემამულე, ვიცი, რომ ჩვენ დავიწყებთ საუბარს უფრო მეტი, რომ 79 00:03:59,550 --> 00:04:00,630 შემდეგ ამ სემესტრში. 80 00:04:00,630 --> 00:04:03,470 მაგრამ სურათები აქ არის ყველაზე წლევანდელი გუნდი. 81 00:04:03,470 --> 00:04:06,950 >> ასე რომ, PHP-- და მე იმდენად სამწუხარო გასულ კვირას, რომ [? Allyse?] Kindly 82 00:04:06,950 --> 00:04:09,370 წავიდა ძალისხმევას მიღების ჩვენს ამ მშვენიერი props 83 00:04:09,370 --> 00:04:11,720 რომ მე არ დასრულდება up გამოყენებით, ასე რომ ნამდვილად ჩანდა სახის სულელური 84 00:04:11,720 --> 00:04:15,160 რომ ჩვენ გვქონდა შოველ სხდომაზე აქ ყველა დღეს გასულ ოთხშაბათს, და პატარა კოვზი. 85 00:04:15,160 --> 00:04:17,709 მაგრამ ეს იყო ჩემი metaphoric გზა ცდილობს ხატავს 86 00:04:17,709 --> 00:04:21,600 სურათს, რის გამოც ჩვენ გადასვლის C- დან ენა, როგორიცაა PHP. 87 00:04:21,600 --> 00:04:25,480 და იგივე შეიძლება ითქვას ნებისმიერი ნომერი languages-- Java, Python, Ruby 88 00:04:25,480 --> 00:04:31,270 ან კონა others-- მაგრამ მაშინ, როდესაც C, მაგალითად, წერილობით პროგრამა C 89 00:04:31,270 --> 00:04:34,050 შეიძლება, როგორც წესი, იყოს, როგორც აღების კოვზი მოსწონს ეს 90 00:04:34,050 --> 00:04:36,770 და სანგრების ხვრელი ადგილზე, ქვიშა ან ჭუჭყიანი. 91 00:04:36,770 --> 00:04:39,770 PHP გაძლევთ საშუალებას მიიღოს ბევრი უფრო დიდი ნაკბენები გარეთ პრობლემა, 92 00:04:39,770 --> 00:04:42,842 წერა ბევრად ნაკლები კოდი გამოყენებით გაცილებით პატარა ინსტრუმენტი, 93 00:04:42,842 --> 00:04:45,050 იმიტომ, რომ იქ ასე უფრო მეტი ფუნქციონალური pieced წელს. 94 00:04:45,050 --> 00:04:47,633 >> ახლა კი, თუ ჩვენ მართლაც დრამატული, ჩვენ გვექნება რაღაც შოველ 95 00:04:47,633 --> 00:04:48,760 აქ, მაგრამ ასე იქნება ეს. 96 00:04:48,760 --> 00:04:51,370 ამავდროულად, სხვა მეტაფორა ჩვენ გამოვიდა 97 00:04:51,370 --> 00:04:53,770 არის, რა თქმა უნდა, თქვენ შეიძლება გამოიყენოთ რაღაც wrench 98 00:04:53,770 --> 00:04:56,610 ჩაქუჩით რაღაც ფრჩხილის. 99 00:04:56,610 --> 00:04:58,980 მაგრამ, რა თქმა უნდა, უფლება ინსტრუმენტი გამოყენება აპირებს 100 00:04:58,980 --> 00:05:01,360 უნდა იყოს არა იმდენად ენის მოუწოდა, C 101 00:05:01,360 --> 00:05:03,590 და ახლა მე უბრალოდ აღიზიანებთ [? Sanders,?] ალბათ, 102 00:05:03,590 --> 00:05:07,890 ჩვენ დაფიქსირება, რომ later-- ასე უფლება ინსტრუმენტი გამოიყენოს ხშირად 103 00:05:07,890 --> 00:05:09,640 არ იქნება ეს დაბალი დონე ინსტრუმენტი. 104 00:05:09,640 --> 00:05:13,720 და მართლაც, C არ არის ენა, რომელიც ყველაზე მეტად თქვენ ოდესმე აპირებს გამოიყენოს, 105 00:05:13,720 --> 00:05:15,590 ან აუცილებლად უნდა გამოიყენოს ერთხელ. 106 00:05:15,590 --> 00:05:18,350 >> და სინამდვილეში, ცოტა საიდუმლო მხოლოდ დროის 107 00:05:18,350 --> 00:05:23,160 მე ვიყენებ C თავს საკმაოდ ბევრი შორის სექტემბრიდან დეკემბრამდე ყოველ შემოდგომაზე 108 00:05:23,160 --> 00:05:23,870 სემესტრში. 109 00:05:23,870 --> 00:05:25,790 და ეს იმიტომ, რომ ჩვენ გამოიყენოს იგი როგორც საშუალება 110 00:05:25,790 --> 00:05:27,852 საფუძვლების სწავლება პროგრამირების, 111 00:05:27,852 --> 00:05:29,810 და მასთან ერთად კომპიუტერული მეცნიერება საფუძვლები, მონაცემთა 112 00:05:29,810 --> 00:05:32,435 სტრუქტურები, ალგორითმები და მოსწონს მაგრამ ძალიან სწრაფად იქნება თქვენ 113 00:05:32,435 --> 00:05:35,010 ვხედავ, რომ სინტაქსი და იდეები საფუძვლად უდევს C 114 00:05:35,010 --> 00:05:37,530 ასე შესანიშნავად გადაცემა უფრო თანამედროვე 115 00:05:37,530 --> 00:05:41,130 უმაღლესი დონის ენებზე, როგორიცაა PHP და Python და Perl და ჯავა 116 00:05:41,130 --> 00:05:46,750 და Objective-, C, ფაქტობრივად, არა იმდენად Objective-, C მაგრამ Swift, ეს უფრო 117 00:05:46,750 --> 00:05:50,010 ენებზე, რომ ბევრი თქვენგანი მაშინ შეხება თქვენ საბოლოო პროექტი. 118 00:05:50,010 --> 00:05:55,070 >> ასე გარეშე ado, მოდით რეალურად გამოყენება PHP გადაწყვიტოს ზოგიერთი პრობლემა. 119 00:05:55,070 --> 00:06:00,230 შეგახსენებთ, რომ დასაწყისში, ბოლო კვირას, ჩვენ უბრალოდ გამოიყენება CS50 IDE, 120 00:06:00,230 --> 00:06:02,990 ჩვენ წერდა dinky პატარა პროგრამა რომელიც მხოლოდ განაცხადა, "Hello world". 121 00:06:02,990 --> 00:06:05,680 და მაშინ მე გადაარჩინა ეს ფაილი სახელად hello.php. 122 00:06:05,680 --> 00:06:07,280 და მერე გაიქცა ეს ბრძანება. 123 00:06:07,280 --> 00:06:08,080 >> და რატომ? 124 00:06:08,080 --> 00:06:09,900 ინგლისური, თუ რა ხდება აქ? 125 00:06:09,900 --> 00:06:12,760 რა იყო მე აკეთებს, როდესაც მე გაიქცა ეს ბრძანება? 126 00:06:12,760 --> 00:06:13,405 >> ჰო? 127 00:06:13,405 --> 00:06:16,572 >> აუდიტორია: არსებობს რამდენიმე ფუნქცია PHP ნათქვამია, რომ ის, რაც შიგნით ესმის. 128 00:06:16,572 --> 00:06:19,696 დავით Malan: კარგი, არსებობს გარკვეული ფუნქცია PHP-- და ნება მომეცით უფრო კონკრეტულად, 129 00:06:19,696 --> 00:06:21,810 არსებობს პროგრამის მოუწოდა PHP, a.k.a. 130 00:06:21,810 --> 00:06:25,872 თარჯიმანი, რომ ესმის შინაარსი hello.php, 131 00:06:25,872 --> 00:06:27,830 და განმარტავს, რომ ეს დაბრუნება უნდა ბოლოში, მარცხნიდან მარჯვნივ, 132 00:06:27,830 --> 00:06:29,590 და აკეთებს იმას, რასაც იმ ბრძანებები ამბობენ. 133 00:06:29,590 --> 00:06:33,320 ბრძანებები hello.php, რა თქმა უნდა, მხოლოდ წყარო code-- ფუნქციები 134 00:06:33,320 --> 00:06:35,750 და ცვლადები და მარყუჟების და მოსწონს, რომ ჩვენ თვითონ 135 00:06:35,750 --> 00:06:37,460 არ დაიწყო წერა PHP. 136 00:06:37,460 --> 00:06:40,240 >> მაგრამ განსხვავებით C, რომელიც არის შედგენილი ენის, 137 00:06:40,240 --> 00:06:42,810 PHP თქვენ უბრალოდ დაწერეთ, და გაუშვით. 138 00:06:42,810 --> 00:06:46,420 თქვენ გამოტოვოთ, რომ შუამავალი ნაბიჯი კონვერტაცია მას zeros და პირობა, 139 00:06:46,420 --> 00:06:47,790 და მერე გაშვებული. 140 00:06:47,790 --> 00:06:50,510 ასე რომ, რა არის თავდაყირა ამ? 141 00:06:50,510 --> 00:06:52,690 რატომ ვართ აჯობებს ნაბიჯი? 142 00:06:52,690 --> 00:06:55,238 რატომ უფრო თანამედროვე ენებზე როგორც წესი, გამოტოვოთ ეს ნაბიჯი? 143 00:06:55,238 --> 00:06:58,880 144 00:06:58,880 --> 00:07:01,220 რა სარგებელი? 145 00:07:01,220 --> 00:07:02,080 >> ან უბრალოდ ინტუიციურად? 146 00:07:02,080 --> 00:07:04,200 მაშინაც კი, თუ ჩვენ არ დაწერილი ბევრი PHP ადრე, 147 00:07:04,200 --> 00:07:07,210 რა არის მომგებიანი შესახებ არ შედგენა თქვენი კოდი ფიქრობთ? 148 00:07:07,210 --> 00:07:08,520 არ არის? 149 00:07:08,520 --> 00:07:09,610 არ ჩაიდინო? 150 00:07:09,610 --> 00:07:11,350 Scratching თქვენი ხელმძღვანელი? 151 00:07:11,350 --> 00:07:12,614 ჰო. 152 00:07:12,614 --> 00:07:13,600 >> აუდიტორია: მეტი დინამიური. 153 00:07:13,600 --> 00:07:14,683 >> დავით Malan: მეტი დინამიური? 154 00:07:14,683 --> 00:07:16,032 რას ნიშნავს? 155 00:07:16,032 --> 00:07:17,000 >> აუდიტორია: [INAUDIBLE] 156 00:07:17,000 --> 00:07:20,349 157 00:07:20,349 --> 00:07:22,390 დავით Malan: კარგი, კარგი, ამიტომ დამოკიდებულია input, 158 00:07:22,390 --> 00:07:23,470 თქვენ არ გაქვთ კომპილირება ყოველ ჯერზე. 159 00:07:23,470 --> 00:07:24,990 და ეს ნამდვილად არ არის, როგორც მარტივია, that-- რა 160 00:07:24,990 --> 00:07:26,990 არის წერტილი გრძელდება კომპილაციის თქვენი კოდი? 161 00:07:26,990 --> 00:07:29,480 ეს არის მხოლოდ ნაბიჯი, რომელიც არის making-- ეს მოითხოვს, 162 00:07:29,480 --> 00:07:31,900 ბოლო რამდენიმე კვირის განმავლობაში, ორჯერ მეტი ნაბიჯები 163 00:07:31,900 --> 00:07:33,820 როგორც უბრალოდ გაშვებული პროგრამა. 164 00:07:33,820 --> 00:07:36,940 ეს იყო სასარგებლო ხედავს, რომ თქვენ ვხედავ რაიმე შეცდომა შეტყობინებები და ა.შ., 165 00:07:36,940 --> 00:07:38,720 მაგრამ ეს ჯერ კიდევ მხოლოდ შემაშფოთებელი ნაბიჯი. 166 00:07:38,720 --> 00:07:41,810 >> ასე რომ, პროგრამისტების მიხვდა, დროთა განმავლობაში, რატომ არ გვაქვს 167 00:07:41,810 --> 00:07:45,327 დაიწყოს წერა ენაზე, რომელიც არ უნდა, რომ საკმაოდ მექანიკა ნაბიჯი, 168 00:07:45,327 --> 00:07:47,160 ასე რომ, შეგიძლიათ უბრალოდ წერენ თქვენი კოდი და გაუშვით. 169 00:07:47,160 --> 00:07:48,920 მაგრამ რა იყო ფასი რომ ჩვენ ვნახეთ ჩვენ გადახდილი 170 00:07:48,920 --> 00:07:50,910 გასულ კვირას, ერთი კონკრეტული მაგალითი? 171 00:07:50,910 --> 00:07:51,650 დიახ? 172 00:07:51,650 --> 00:07:52,370 >> სიჩქარე. 173 00:07:52,370 --> 00:07:54,690 ასე რომ [? რა არის?] interpreters ცოტა ნელა, 174 00:07:54,690 --> 00:07:57,330 ამ zeros და პირობა ლამაზი და სწრაფი კომპიუტერი 175 00:07:57,330 --> 00:08:00,070 უნდა გვესმოდეს, რადგან Intel CPU, ან რაც არ არის, 176 00:08:00,070 --> 00:08:03,070 მხოლოდ ესმის, რა ხდება ერთად იმ ნიმუშების ბიტი. 177 00:08:03,070 --> 00:08:05,370 ვინაიდან თარჯიმნის არის პროგრამა, რომელიც ნამდვილად 178 00:08:05,370 --> 00:08:07,980 აქვს წაკითხვის ASCII წყარო კოდი, რომ თქვენ არ წერია, 179 00:08:07,980 --> 00:08:12,700 და დააკონვერტიროთ ის, ასე ვთქვათ, ან გაერკვნენ, თუ როგორ გარდაქმნის საბოლოოდ 180 00:08:12,700 --> 00:08:13,525 zeros და პირობა. 181 00:08:13,525 --> 00:08:15,650 ასე რომ, ეს უბრალოდ იღებს პატარა ცოტა შესრულების მოხვდა. 182 00:08:15,650 --> 00:08:16,858 ასე რომ, ეს ცოტა ვაჭრობის საგანი. 183 00:08:16,858 --> 00:08:21,570 ახლა თუ ჩვენ ეს აქ, ნება მომეცით წავიდეთ წინ და ამის მაგალითად ასეთია. 184 00:08:21,570 --> 00:08:26,610 თუ მე წასვლა აქ, ახალი ფაილი, მე ვაპირებ გადარჩენა ეს კიდევ ერთხელ არის hello.php. 185 00:08:26,610 --> 00:08:31,450 და ახლა მე ვაპირებ წავიდეთ წინ და ვთქვათ, "ბეჭდვა hello მსოფლიოში", - 186 00:08:31,450 --> 00:08:35,130 და გავიხსენოთ, რომ შემიძლია ბეჭდვა, მე არ უნდა გამოიყენოთ ბეჭდვითი-F. და ახლა ქვემოთ აქ, 187 00:08:35,130 --> 00:08:42,039 თუ PHP of hello.php, huh-- მე როგორც ჩანს, არ აქვს აღქმული. 188 00:08:42,039 --> 00:08:43,412 რა დავაშავე? 189 00:08:43,412 --> 00:08:44,710 >> აუდიტორია: დახრილი სამაჯურები. 190 00:08:44,710 --> 00:08:47,015 >> დავით Malan: ჰო, თქვენ უნდა რომ კუთხური ფრჩხილი up დაბრუნება. 191 00:08:47,015 --> 00:08:49,390 ასე რომ, ეს სახის შემაშფოთებელი, მაგრამ თქვენ შეეგუება იგი სწრაფად. 192 00:08:49,390 --> 00:08:53,500 თუ მე უნდა დაწეროს PHP კოდი, ზოგადად უნდა ვუთხრათ, პროგრამა, 193 00:08:53,500 --> 00:08:56,950 ან ვუთხრა თარჯიმანი, hey PHP, აქ მოდის ზოგიერთი PHP კოდი. 194 00:08:56,950 --> 00:09:00,440 და მაშინ კარგი ღონისძიება, მე დახურეთ ეს არა ამ, არამედ 195 00:09:00,440 --> 00:09:03,740 მხოლოდ კითხვის ნიშნის კუთხე bracket, ასე რომ, ახლა ქვემოთ აქ, 196 00:09:03,740 --> 00:09:06,840 თუ მე აწარმოებს ამ ერთხელ, ახლა მე მიიღოს სასურველი შედეგი. 197 00:09:06,840 --> 00:09:09,820 >> ახლა მოდით უმნიშვნელო ოპტიმიზაცია, ასე, რომ თქვენ მინახავს ეს ადრე. 198 00:09:09,820 --> 00:09:14,040 ეს არის ერთგვარი შემაშფოთებელი, რომ მე უნდა აწარმოებს PHP სივრცეში hello.php, 199 00:09:14,040 --> 00:09:16,060 იმიტომ, რომ წარსულში მე შეიძლება მხოლოდ წერენ dot slash 200 00:09:16,060 --> 00:09:17,560 პროგრამის სახელწოდება, რომელიც სახის ლამაზი. 201 00:09:17,560 --> 00:09:19,420 ეს არის ერთგვარი უკეთესი მომხმარებლის, გამოცდილება. 202 00:09:19,420 --> 00:09:24,160 >> გამოდის, რომ შეგიძლიათ გააკეთოთ ეს in PHP ერთად ასეთია მე 203 00:09:24,160 --> 00:09:28,780 შეგიძლიათ გამოიყენოთ ეს საკმაოდ cryptic incantation ზედა აქ, 204 00:09:28,780 --> 00:09:31,740 რომელიც ზოგადად ეწოდება shebang, რომლის დროსაც ამ მკვეთრი სიმბოლო, 205 00:09:31,740 --> 00:09:34,270 ასე ვთქვათ, ეს არის bang ან ძახილის წერტილი. 206 00:09:34,270 --> 00:09:38,490 და ეს ახლა არის გეზი პროგრამა ტიპიური Linux სისტემა, რომელიც 207 00:09:38,490 --> 00:09:41,500 ეწოდება გარემოს, ან env. 208 00:09:41,500 --> 00:09:43,920 და ეს ხაზი გრძელი ამბავი short-- ხაზი, ერთი უბრალოდ 209 00:09:43,920 --> 00:09:48,710 ამბობს, hey კომპიუტერი, ნახავთ PHP თარჯიმანი ჩემთვის გარემო, 210 00:09:48,710 --> 00:09:50,610 ვიპოვოთ იგი თქვენს მეხსიერებაში, ასე ვთქვათ. 211 00:09:50,610 --> 00:09:54,130 >> და რა ლამაზი ახლა, იმ შემთხვევაში, თუ დაცემას აქ, 212 00:09:54,130 --> 00:09:57,750 მე შემიძლია ამის dot slash მიესალმები dot php, or-- hmm. 213 00:09:57,750 --> 00:09:59,000 ნებართვა მიეცა. 214 00:09:59,000 --> 00:10:02,350 კარგად, თქვენ უფრო მეტად ამ პრობლემის მითითებული შვიდი, თუ 215 00:10:02,350 --> 00:10:04,060 არა გაქვთ უკვე, ერთად უფლებები. 216 00:10:04,060 --> 00:10:06,510 გამოდის, რომ მე უნდა შეასრულოს ამ ბრძანების 217 00:10:06,510 --> 00:10:10,779 მოუწოდა [? chamod?] ცვლილება mode-- პლუს x hello.php. 218 00:10:10,779 --> 00:10:13,820 მე უნდა [INAUDIBLE] ამ ერთ დამატებით ნაბიჯი, რომელიც ეუბნება, ჩემი კომპიუტერი, 219 00:10:13,820 --> 00:10:16,400 რათა hello.php გაშვება. 220 00:10:16,400 --> 00:10:21,310 ახლა უყურებს, რა უნდა მოხდეს dot სლეში hello.php, ეს მხოლოდ ეშვება. 221 00:10:21,310 --> 00:10:23,310 მე არ უნდა მიუთითოთ თარჯიმანი მთელი მსოფლიოს მასშტაბით. 222 00:10:23,310 --> 00:10:26,680 და შემიძლია, რომ ეს კიდევ გალამაზებაში ჯერ კიდევ, თუ მე გადარქმევა ამ რამ. 223 00:10:26,680 --> 00:10:30,570 თუ გადავა hello.php უბრალოდ მიესალმები ასე რომ შეამჩნია, ზედა მარცხენა, 224 00:10:30,570 --> 00:10:32,860 პროგრამის სახელი მართლაც ახლა მხოლოდ Hello. 225 00:10:32,860 --> 00:10:37,300 ახლა შემიძლია, რათა ის გამოიყურება, როგორც C პროგრამის, მიუხედავად იმისა, რომ დაწერილი PHP-- 226 00:10:37,300 --> 00:10:39,210 ან გულახდილად ნებისმიერი რაოდენობის სხვა ენებზე. 227 00:10:39,210 --> 00:10:41,480 >> ასე რომ, მარგინალური გაფართოება, არსებობს ფუნქციური სხვაობა. 228 00:10:41,480 --> 00:10:44,460 მაგრამ ეს მხოლოდ პატარა ცნობისმოყვარეობა ახლა, ასე რომ თქვენ შეგიძლიათ დაწეროთ პროგრამები 229 00:10:44,460 --> 00:10:48,989 ნებისმიერ ენაზე, და მომხმარებელი არ უნდა ვიცი და არც მაინტერესებს რა არის ის. 230 00:10:48,989 --> 00:10:51,030 ისე, მოდით შევხედოთ უფრო მყარი მაგალითად ახლა 231 00:10:51,030 --> 00:10:52,850 რომელიც მე whipped წინასწარ. 232 00:10:52,850 --> 00:10:54,955 ეს ეწოდება quote.php. 233 00:10:54,955 --> 00:10:56,740 და ეს არის ხელმისაწვდომი. 234 00:10:56,740 --> 00:11:00,299 და შენიშნავს, რომ ეს არის საკმაოდ short-- მაგრამ ეს ბრძანების პროგრამა, რომელიც 235 00:11:00,299 --> 00:11:02,840 აპირებს ეძებოთ საფონდო ფასები ჩემთვის, რომელიც რეალურად აპირებს 236 00:11:02,840 --> 00:11:04,230 უნდა იყოს გერმანე პრობლემა მითითებული შვიდი. 237 00:11:04,230 --> 00:11:05,396 >> ასე რომ, ვნახოთ, რასაც მე ვაკეთებ. 238 00:11:05,396 --> 00:11:08,640 ძალიან ზევით მაქვს ღია bracket კითხვის ნიშნის PHP. 239 00:11:08,640 --> 00:11:13,372 მაშინ მე მივიღე ეს ხაზი, რომლის მე ვარ მოითხოვს ფაილი სახელად functions.php-- 240 00:11:13,372 --> 00:11:15,080 ჩვენ ვაპირებთ, რომ ნახოთ მეტი ამ წელს ცოტა, 241 00:11:15,080 --> 00:11:17,340 მაგრამ ეს, როგორც C- ს მობილური მკვეთრი მოიცავს, 242 00:11:17,340 --> 00:11:19,090 სადაც გსურთ წასვლა მოიცავს სხვა ფაილი. 243 00:11:19,090 --> 00:11:23,720 PHP უწოდებს მოითხოვს, თუმცა ეს ასევე აქვს მოიცავს ფუნქცია. 244 00:11:23,720 --> 00:11:26,861 და აღმოჩნდება, რომ function.php არის უბრალოდ რაღაც დავწერე ადრე კლასის. 245 00:11:26,861 --> 00:11:29,860 მე ამას იგივე დირექტორიაში, რადგან მინდოდა ფაქტორი ზოგიერთი კოდი 246 00:11:29,860 --> 00:11:31,800 რომ ჩვენ დაგვჭირდება გამოიყენოს მის ფარგლებს გარეთ. 247 00:11:31,800 --> 00:11:34,560 >> იმავდროულად, თქვენ ალბათ შეუძლია დასკვნის რა ხდება აქ. 248 00:11:34,560 --> 00:11:39,200 ეს არის პატარა განსხვავდება, C, მაგრამ რას ვგულისხმობ უზრუნველყოს სათანადო გამოყენება? 249 00:11:39,200 --> 00:11:41,180 თარგმნეთ ეს უფრო ტექნიკურად. 250 00:11:41,180 --> 00:11:45,950 რა ვითარებაში ვარ სიგარეტის პროგრამის, ან არსებული? 251 00:11:45,950 --> 00:11:47,074 ჰო? 252 00:11:47,074 --> 00:11:47,990 >> აუდიტორია: როცა არ აქვს ორი ბრძანება ხაზი არგუმენტები. 253 00:11:47,990 --> 00:11:49,480 >> დავით Malan: როდესაც მე არ მაქვს ბრძანება ხაზი არგუმენტები. 254 00:11:49,480 --> 00:11:52,396 და მახსოვს, რომ ერთ-ერთი იმ არგუმენტები არის პროგრამის სახელი თავად. 255 00:11:52,396 --> 00:11:55,340 და მეორე იქნება კიდევ ერთი სიტყვა მე აკრიფოთ შემდეგ ზოლში. 256 00:11:55,340 --> 00:11:57,460 ასე რომ, ისევე C, ამ ჩემი გზა შემოწმების, 257 00:11:57,460 --> 00:12:00,022 საერთოდ მომხმარებლის ითანამშრომლონ და პროგრამის გაშვება, როგორც ვაპირებდი? 258 00:12:00,022 --> 00:12:01,730 ახლა, რაღაც ცოტა განსხვავებული 259 00:12:01,730 --> 00:12:04,020 ერთად, C პირველ რიგში, გვაქვს ეს დოლარის ნიშანი, 260 00:12:04,020 --> 00:12:07,710 და რას დოლარი მოაწეროს აღინიშნოს PHP? 261 00:12:07,710 --> 00:12:08,440 უბრალოდ ცვლადი. 262 00:12:08,440 --> 00:12:11,731 სწორედ all-- მხოლოდ ცვლადი მოჰყვა რასაც თქვენ გსურთ სინამდვილეში ეს. 263 00:12:11,731 --> 00:12:14,000 ყურადღება მიაქციეთ, რომ არსებობს რაღაც, დაკარგული ჩემი PHP პროგრამა, 264 00:12:14,000 --> 00:12:18,210 ისევე, როგორც ეს იყო დაკარგული ბოლო კვირას, წინააღმდეგ C, რაც? 265 00:12:18,210 --> 00:12:21,620 >> ტიპის, არამედ რაღაც სხვა. 266 00:12:21,620 --> 00:12:26,409 არსებობს რაღაც ფუნქცია ძირითად ფუნქციას. 267 00:12:26,409 --> 00:12:27,450 არ არის მთავარი ფუნქცია. 268 00:12:27,450 --> 00:12:29,680 თქვენ უბრალოდ წერა თქვენი კოდი გარეშე 269 00:12:29,680 --> 00:12:32,790 ფიქრი საკმაოდ თვითნებური კონვენციის დასახელებისგან ზოგიერთი default 270 00:12:32,790 --> 00:12:33,880 ფუნქცია ძირითად. 271 00:12:33,880 --> 00:12:36,720 ასე რომ, ARG C არის ნამდვილად გლობალური ცვლადი 272 00:12:36,720 --> 00:12:39,049 რომ თარჯიმანი რაც ხელმისაწვდომია ჩემთვის. 273 00:12:39,049 --> 00:12:40,090 ახლა, ეს არის საინტერესო. 274 00:12:40,090 --> 00:12:41,140 ასე გამოიყურება up პერსონალი. 275 00:12:41,140 --> 00:12:43,370 დოლარის ნიშანი საფონდო არის დარჩა, ეს ჩემი ცვლადი. 276 00:12:43,370 --> 00:12:45,120 მარჯვენა მხარეს, იქ, როგორც ჩანს, 277 00:12:45,120 --> 00:12:50,270 ფუნქცია PHP მოუწოდა ძიება, რომ მე გავლით ჩემი ბოლო command line 278 00:12:50,270 --> 00:12:51,902 არგუმენტი, რომელთა მიზანია, რასაც სიტყვა არის. 279 00:12:51,902 --> 00:12:53,610 ჩვენ დავინახავთ, თუ როგორ ეს მუშაობს ამ მომენტში. 280 00:12:53,610 --> 00:12:55,380 >> და მერე ბოლოს მე ანგარიშგების ფასი. 281 00:12:55,380 --> 00:12:58,650 მე დაბეჭდვის ერთი წილი ასეთი და ასეთი. 282 00:12:58,650 --> 00:13:02,082 და მახსოვს, ეს არის გზა PHP-- გზა PHP-- 283 00:13:02,082 --> 00:13:04,290 სადაც არ უნდა გავაკეთოთ დოლარის ნიშანი S აღარ. 284 00:13:04,290 --> 00:13:06,782 თქვენ შეგიძლიათ გამოიყენოთ curly აფრთხილებს და დანამატის რამდენიმე ცვლადი. 285 00:13:06,782 --> 00:13:09,240 თქვენ არ უნდა ფიქრი გამოყენებით printf იგივე გზით. 286 00:13:09,240 --> 00:13:13,530 >> და როგორც განზე, როდესაც თქვენ დააყენა ცვლადი შიგნით ორმაგი შეთავაზებები, როგორც ეს, 287 00:13:13,530 --> 00:13:17,370 თქვენ იყენებთ ლამაზი ტექნიკა უწოდებენ ცვლადი ინტერპოლაცია. 288 00:13:17,370 --> 00:13:20,380 ეს უბრალოდ ნიშნავს, შეაერთედ ცვლადი აქ. 289 00:13:20,380 --> 00:13:23,760 და როგორც განზე, ზოგიერთ თქვენგანს, ვინც მოვიდა სხვა პროგრამირების ფონზე, 290 00:13:23,760 --> 00:13:26,960 თქვენ შეიძლება არ გამოიყენოთ ერთჯერადი შეთავაზებები გარშემო სიმები უნდა გავაკეთოთ ეს. 291 00:13:26,960 --> 00:13:30,290 თქვენ უნდა გამოიყენოთ ორმაგი შეთავაზებები ცვლადი ინტერპოლაცია მუშაობა. 292 00:13:30,290 --> 00:13:32,740 წინააღმდეგ შემთხვევაში თქვენ ფაქტიურად ვხედავ იმ Curly braces. 293 00:13:32,740 --> 00:13:34,500 >> ასე რომ, ბოლოს, მოდით წავიდეთ წინ და აწარმოებს ამ. 294 00:13:34,500 --> 00:13:36,690 ნება მომეცით, ჩემი ტერმინალის ცოტა დიდია. 295 00:13:36,690 --> 00:13:41,940 ნება მომეცით წავიდეთ წინ და აწარმოებს შიგნით ჩემი პასუხის დირექტორია. 296 00:13:41,940 --> 00:13:46,950 [? CDsource?] [? AM?] [? პასუხის?] PHP პასუხის dot PHP, 297 00:13:46,950 --> 00:13:50,290 და მე ვაპირებ მოძებნოთ რამე ისევე როგორც GOOG, რომელიც მისი ticker სიმბოლო, 298 00:13:50,290 --> 00:13:55,510 და ერთი წილი მისი ახალი სახელი, ანბანი Inc, ღირს $ 717, როგორც დღეს. 299 00:13:55,510 --> 00:13:58,680 ყველა უფლება, თუ ჩვენ გვინდა, რომ აწარმოებს ეს კიდევ ერთხელ, ყველას, 300 00:13:58,680 --> 00:14:02,600 გაქვთ სხვა საფონდო Ticker მათ სურთ, რომ ეძებოთ? 301 00:14:02,600 --> 00:14:06,770 >> Microsoft მე ვფიქრობ, რომ ეს ერთი, MSFT-- $ 53. 302 00:14:06,770 --> 00:14:09,720 მე ვფიქრობ, რომ Yahoo რომ შესაძლებელია. 303 00:14:09,720 --> 00:14:12,130 და Facebook არის, რომ. 304 00:14:12,130 --> 00:14:13,740 >> ასე რომ, რა არის ამ პროგრამის აკეთებს? 305 00:14:13,740 --> 00:14:16,306 ჯადოსნური, როგორც ჩანს, ჩართული რომ საძიებელი ფუნქცია. 306 00:14:16,306 --> 00:14:17,430 მოდით მიიღოს სწრაფი შევხედოთ. 307 00:14:17,430 --> 00:14:21,815 >> გამოდის, რომ არ მოდის PHP, ეს არის functions.php. 308 00:14:21,815 --> 00:14:23,690 და ჩვენ არ გავლა ეს დიდი დეტალურად, 309 00:14:23,690 --> 00:14:28,040 მაგრამ შეამჩნია ოპერატიული სიტყვა აქ რომ ხაზი ექვსი functions.php-- 310 00:14:28,040 --> 00:14:29,440 მე სიტყვასიტყვით ამბობენ ფუნქცია. 311 00:14:29,440 --> 00:14:31,050 მე მიუთითოთ სახელი ჩემი ფუნქცია. 312 00:14:31,050 --> 00:14:34,330 მე მაშინ მიუთითოთ ნებისმიერი არგუმენტები, ან პარამეტრების, 313 00:14:34,330 --> 00:14:36,480 მე მინდა, რომ ფუნქცია, რათა take-- არ ტიპის. 314 00:14:36,480 --> 00:14:37,580 და მერე განახორციელოს იგი. 315 00:14:37,580 --> 00:14:39,240 >> და მე ტალღის ჩემი ხელი განხორციელების, 316 00:14:39,240 --> 00:14:42,115 მას შემდეგ, რაც საკმაოდ მოწინავე უფლება ახლა, მაგრამ ჩვენ ვხედავთ, რომ ეს კიდევ ერთხელ რეალურად 317 00:14:42,115 --> 00:14:44,700 ამ კვირაში პრობლემა მითითებული შვიდი. 318 00:14:44,700 --> 00:14:47,490 მაგრამ მე შემიძლია გაწმენდა ეს, ძალიან. 319 00:14:47,490 --> 00:14:49,590 მე ასევე შედის დღევანდელ კოდი ვერსია 320 00:14:49,590 --> 00:14:52,340 საქართველოს ციტირება, რომელსაც არ აქვს dot PHP ფაილი. 321 00:14:52,340 --> 00:14:57,270 იმის გამო, რაც, სავარაუდოდ, იმ ზედა პროგრამა მოუწოდა მხოლოდ ციტირებას? 322 00:14:57,270 --> 00:15:00,140 ეს ე.წ. shebang-- საკმაოდ cryptic incantation 323 00:15:00,140 --> 00:15:04,590 რომელიც ამბობს, რომ იპოვოს PHP და შემდეგ აწარმოებს ჩემი კოდი აქ. 324 00:15:04,590 --> 00:15:07,360 >> ყველა უფლება, ასე რომ მოაქვს გვაძლევს, სადაც ჩვენ შეჩერდით 325 00:15:07,360 --> 00:15:09,560 ბოლო დროს თუმცა რამდენიმე მოწინავე მაგალითები. 326 00:15:09,560 --> 00:15:13,980 ნებისმიერი კითხვები დღემდე შესახებ PHP და რასაც ჩვენ ვაკეთებთ? 327 00:15:13,980 --> 00:15:15,570 No-- ყველა უფლება. 328 00:15:15,570 --> 00:15:16,180 ჰო? 329 00:15:16,180 --> 00:15:19,610 >> აუდიტორია: Inside HTML ფაილი, ამის you-- 330 00:15:19,610 --> 00:15:22,226 [? თქვენ?] [? მხოლოდ მას?] a [INAUDIBLE] PHP ფაილი? 331 00:15:22,226 --> 00:15:23,350 დავით Malan: კარგი კითხვაა. 332 00:15:23,350 --> 00:15:26,070 ამ ვებ კონტექსტში, რომელიც ჩვენ ფაქტიურად შესახებ გადასვლას, 333 00:15:26,070 --> 00:15:28,028 თქვენ არ იყენებენ ე.წ. shebang ზედა, 334 00:15:28,028 --> 00:15:31,980 იმის გამო, რომ ვებ სერვერზე ხშირად პროგრამა მოუწოდა Apache და Microsoft 335 00:15:31,980 --> 00:15:37,470 IIS, Internet ინფორმაცია სერვერი, ან ნებისმიერი რაოდენობის სხვა სერვერზე პროგრამული უზრუნველყოფა, 336 00:15:37,470 --> 00:15:40,636 იცის, რომ როდესაც ის ხედავს წერტილი PHP ფაილი, რომ ეს 337 00:15:40,636 --> 00:15:42,010 უნდა აწარმოებს თარჯიმანი იგი. 338 00:15:42,010 --> 00:15:43,468 ეს არ შევხედოთ, რომ პირველი ხაზი. 339 00:15:43,468 --> 00:15:45,580 ასე რომ, ეს პირველი ხაზი შეასრულა მხოლოდ მაშინ, როდესაც თქვენ 340 00:15:45,580 --> 00:15:48,330 წერა command line პროგრამების რომელიც ჩვენ ამას არ გააკეთებს სუპერ ხშირად, 341 00:15:48,330 --> 00:15:52,510 მაგრამ ეს არის ჩვენი გზა შევსებას ჩვენი C მაგალითები, რომ ახლა ჩვენი PHP. 342 00:15:52,510 --> 00:16:00,680 >> მოდით მართლაც ხიდი ამ მსოფლიოში იმ ბრძანების მსოფლიოში ვებგვერდი 343 00:16:00,680 --> 00:16:02,230 ამით შემდეგ. 344 00:16:02,230 --> 00:16:05,090 ნება მომეცით წავიდეთ წინ და მიაპყროს მეტი აქ მხოლოდ ერთი წუთით. 345 00:16:05,090 --> 00:16:09,940 ასე რომ, თუ ჩვენ გვაქვს სერვერზე, ან უფრო სწორად, თუ ჩვენ გვაქვს, ჩემი ლეპტოპი აქ, 346 00:16:09,940 --> 00:16:11,280 რომელიც მე მიაპყროს მოსწონს ეს. 347 00:16:11,280 --> 00:16:14,250 და აქ ჩვენ გვაქვს ინტერნეტ გარკვეული ფორმით. 348 00:16:14,250 --> 00:16:18,210 და მაშინ მეტი აქ, ჩვენ გვაქვს სერვერზე წელს building-- 349 00:16:18,210 --> 00:16:20,760 ეს არის თუ როგორ ინტერნეტით works-- და აქ 350 00:16:20,760 --> 00:16:23,120 არის სერვერზე გარკვეული განათება იქნებ. 351 00:16:23,120 --> 00:16:27,530 რა რეალურად მიმდინარეობს ამ ორ კავშირები? 352 00:16:27,530 --> 00:16:29,240 >> ასე რომ, ამ შენობაში არის სერვერზე. 353 00:16:29,240 --> 00:16:31,420 ეს მხოლოდ კომპიუტერული რომ გაშვებული ზოგიერთ ოპერაციული 354 00:16:31,420 --> 00:16:34,561 system-- იქნებ უფასო პროგრამული მოუწოდა Apache, რომელიც CS50 IDE არის გაშვებული. 355 00:16:34,561 --> 00:16:36,310 ასე რომ თქვენ შეგიძლიათ რეალურად ვფიქრობ, რომ ამ შენობაში 356 00:16:36,310 --> 00:16:38,579 როგორც შენობა რომელიც CSt0 IDE ინახება. 357 00:16:38,579 --> 00:16:40,870 ეს არის ის, სადაც ყველას აქვს ანგარიშები, სადაც ყველას 358 00:16:40,870 --> 00:16:43,130 გაქვთ საკუთარი ვებ-სერვერი გაშვებული, ყველას 359 00:16:43,130 --> 00:16:45,730 აქვს საკუთარი უნიკალური მისამართები, როგორც ჩვენ განხილვა დაიწყო, 360 00:16:45,730 --> 00:16:47,280 და თქვენ უფრო მეტი პ მითითებული ექვსი. 361 00:16:47,280 --> 00:16:49,450 >> აი ჩემი ლეპტოპი სადღაც სხვაგან ინტერნეტში. 362 00:16:49,450 --> 00:16:54,550 ასე რომ, როდესაც მე ეწვევა URL, რომელიც ეკუთვნის ჩემთვის, რომ ინტერნეტის ტრაფიკი აპირებს 363 00:16:54,550 --> 00:16:58,360 მეტი სერვერზე, სერვერზე მიღების HTTP მოითხოვოს 364 00:16:58,360 --> 00:17:02,900 მოსწონს მისაღებად index.html და ეს პასუხით, რომ ვებ-გვერდზე. 365 00:17:02,900 --> 00:17:04,280 ასე რომ, ზოგადად პარადიგმა. 366 00:17:04,280 --> 00:17:07,089 ვინაიდან ყველაფერი აქამდე, დღეს, ყველაფერი 367 00:17:07,089 --> 00:17:09,660 ხდებოდა მხოლოდ ჩარჩოების ამ შენობაში. 368 00:17:09,660 --> 00:17:12,910 მე გამოყენებით ჩემი ლეპტოპი, მაგრამ მე უკავშირდება CS50 IDE, 369 00:17:12,910 --> 00:17:17,369 ასე რომ ყველა იმ პროგრამების მე გაშვებული შიგნით რომ სერვერზე, თავად. 370 00:17:17,369 --> 00:17:22,660 >> მაგრამ ახლა, მოდით დავიწყოთ მეორეული გამოყენება PHP დაწერა რამდენიმე ფაქტობრივი პროგრამები, 371 00:17:22,660 --> 00:17:24,230 ემსახურება up სერვერზე. 372 00:17:24,230 --> 00:17:30,320 და ამის გაკეთება, მე ვაპირებ წასვლა შევიდა მთელი bunch of მაგალითები 373 00:17:30,320 --> 00:17:33,710 რომ წარმოგიდგინოთ ეს იდეა აქ. 374 00:17:33,710 --> 00:17:38,500 ასე რომ, ეს არის ერთგვარი ლამაზი გზა აღწერს პროგრამირების პარადიგმა. 375 00:17:38,500 --> 00:17:41,540 >> და სინამდვილეში, როგორც თქვენ გასვლა CS50 ან მუშაობა საბოლოო პროექტები 376 00:17:41,540 --> 00:17:43,520 ან გარკვეული დაიცვას კლასის, თქვენ დაიწყოს 377 00:17:43,520 --> 00:17:45,740 ვხედავ, რომ world-- განსაკუთრებით რომელმაც გაიზარდა 378 00:17:45,740 --> 00:17:48,300 ერთად ენებს, როგორიცაა C რომ სუპერ დაბალი level-- 379 00:17:48,300 --> 00:17:51,290 გააცნობიეროს, რომ არსებობს უკეთესი გზები წერილობით პროგრამული უზრუნველყოფა. 380 00:17:51,290 --> 00:17:53,290 არსებობს გარკვეული ნიმუშების შეგიძლიათ დაიცვას, 381 00:17:53,290 --> 00:17:57,640 გარკვეული გზები ორგანიზება თქვენი ფაილი და გზები დასახელებისგან თქვენი ფუნქციები, 382 00:17:57,640 --> 00:18:00,300 ასე რომ, მოკლედ, მსოფლიოში დადგა 383 00:18:00,300 --> 00:18:04,340 მთელი bunch of ფორმა სახელი და გვარი გზები პროგრამირების. 384 00:18:04,340 --> 00:18:06,260 ეს არის მხოლოდ ტექნიკის თქვენ შეიძლება გამოიყენოთ. 385 00:18:06,260 --> 00:18:09,660 >> და ერთ-ერთი მათგანი ეწოდება MVC, მოდელის View Controller. 386 00:18:09,660 --> 00:18:12,270 და ეს არის, უბრალოდ, ახლა, ზედმეტად გართულებულია 387 00:18:12,270 --> 00:18:18,960 გზას ვამბობ, თუ როგორ უნდა წამოაყენონ გარეთ PHP დაფუძნებული ნახვა, ჩვენს შემთხვევაში. 388 00:18:18,960 --> 00:18:22,140 როგორ ორგანიზება თქვენი ფაილი, როგორ ორგანიზება თქვენი ლოგიკა, 389 00:18:22,140 --> 00:18:26,220 ისე, რომ ხდის ადვილია წერენ უფრო რთული საიტებზე? 390 00:18:26,220 --> 00:18:28,550 და მართლაც, ჩვენ სწრაფად იქ p-შვიდი. 391 00:18:28,550 --> 00:18:32,020 >> ასე რომ, მსოფლიოში MVC, თქვენ აპირებს რომ ჩვენი კოდი ზოგადად 392 00:18:32,020 --> 00:18:38,290 უნდა ხასიათდება როგორც მოდელის კოდი, ან კონტროლერი კოდი, ან ნახეთ კოდი. 393 00:18:38,290 --> 00:18:40,200 და მე ვაპირებ oversimplify შემდეგი რედაქციით 394 00:18:40,200 --> 00:18:42,074 კონტროლერი არის ტვინი თქვენი პროგრამა, 395 00:18:42,074 --> 00:18:44,100 ეს არის ის, სადაც ყველა საინტერესო ლოგიკა ხდება. 396 00:18:44,100 --> 00:18:46,110 ასე რომ, ყველაფერი ჩვენ უკვე წერა დღემდე კლასში, 397 00:18:46,110 --> 00:18:48,210 სახის როგორც კონტროლერი code-- ის მაკონტროლებელი 398 00:18:48,210 --> 00:18:50,585 თქვენი პროგრამა, თქვენი მარყუჟების, თქვენი პირობები, ფუნქციები 399 00:18:50,585 --> 00:18:52,100 და ცვლადები და ყველა რომ. 400 00:18:52,100 --> 00:18:56,160 >> ნახვა, ახლა ვაპირებთ, რომ იყოს პატარა უფრო აშკარა მსოფლიოში ვებგვერდი. 401 00:18:56,160 --> 00:18:59,360 ხედი არის ესთეტიკის თქვენი ნახვა. 402 00:18:59,360 --> 00:19:04,080 ეს არის ის, რაც მომხმარებლის sees-- სურათები, HTML, მაგიდები, HTML ტეგებს და ყველა 403 00:19:04,080 --> 00:19:08,220 რომ, ყველა ფუმფულა ესთეტიკური პერსონალი, რომ არ არის, რომ რთული წერენ, 404 00:19:08,220 --> 00:19:11,380 მაგრამ მხოლოდ ის, რაც თქვენ მომტანი, არის ე.წ. აზრით, ესთეტიკას. 405 00:19:11,380 --> 00:19:13,880 მოდელი და, საბოლოო ჯამში, აპირებს უნდა იყოს ბაზაში stuff-- რომელიც 406 00:19:13,880 --> 00:19:16,510 ჩვენ დავიწყებთ diving შევიდა ყველა უფრო მეტი ამ ოთხშაბათს. 407 00:19:16,510 --> 00:19:19,740 ასე რომ, კონტროლერი არის ლოგიკა, კალენდარი არის ესთეტიკური პერსონალი, 408 00:19:19,740 --> 00:19:23,500 და მოდელი იქნება, სადაც ჩვენ ვინახავთ ჩვენი ფაქტობრივი მონაცემები. 409 00:19:23,500 --> 00:19:26,410 >> მოდით შევხედოთ ამ უფრო კონკრეტულად შემდეგი მაგალითი. 410 00:19:26,410 --> 00:19:34,700 მე ვაპირებ წასვლას ჩემი დირექტორია აქ დღევანდელი წყაროს code-- რომელთაგან ყველა 411 00:19:34,700 --> 00:19:35,770 ხელმისაწვდომია ონლაინ რეჟიმში. 412 00:19:35,770 --> 00:19:37,800 და მე ვაპირებ წასვლას ვერსია ნულოვანი. 413 00:19:37,800 --> 00:19:41,500 და აქ არის მოდით ეძახით მობილური ნულოვანი CS50 ნახვა. 414 00:19:41,500 --> 00:19:43,010 აქ არის ბევრი აქ ყველა. 415 00:19:43,010 --> 00:19:46,810 ეს არის ძალიან მარტივი ვებ გვერდზე, რომ ალბათ გამოყენებით, რაც HTML tags-- მხოლოდ 416 00:19:46,810 --> 00:19:48,970 ვხვდები წარსულის მაგალითები? 417 00:19:48,970 --> 00:19:49,890 >> რა არის ეს? 418 00:19:49,890 --> 00:19:53,920 H1-- ალბათ, რომ დიდი თამამი სათაური, რომელიც logo ზევით, CS50. 419 00:19:53,920 --> 00:19:55,080 და რა არის თამაში? 420 00:19:55,080 --> 00:19:55,799 ჰო? 421 00:19:55,799 --> 00:19:56,840 აუდიტორია: უწესრიგო სია. 422 00:19:56,840 --> 00:19:59,990 დავით Malan: უწესრიგო list-- ასე UL აქვს და იქნებ რამდენიმე LI tags. 423 00:19:59,990 --> 00:20:01,840 და თუ არ მახსოვს ეს, პატიოსნად არ აქვს. 424 00:20:01,840 --> 00:20:04,170 ეს არის ფუმფულა ერთგვარი განხორციელების დეტალები HTML 425 00:20:04,170 --> 00:20:06,378 რომ თქვენ სწრაფად ეძებოთ და თქვენ უკან თქვენი გზა. 426 00:20:06,378 --> 00:20:10,040 ჩვენ ფოკუსირება უფრო პროგრამირების იდეები, რომლებიც juicier ცალი. 427 00:20:10,040 --> 00:20:12,890 >> მოდით უბრალოდ მიიღოს სწრაფი შევხედოთ HTML-- და მართლაც 428 00:20:12,890 --> 00:20:16,880 თუ გახსნა ხედი წყარო აქ, yup, სწორედ ის, რაც ხდება აქ. 429 00:20:16,880 --> 00:20:18,440 არსებობს UL აქვს. 430 00:20:18,440 --> 00:20:20,630 წყობილი შიგნით რომ არის LI tags. 431 00:20:20,630 --> 00:20:24,470 და მერე ითხოვა URL ფაქტობრივი სილაბუსი აქ. 432 00:20:24,470 --> 00:20:27,570 >> ხოლო შემდეგ lectures.php როგორც ჩანს, 433 00:20:27,570 --> 00:20:31,640 სხვა დინამიურად გენერირებული გვერდი რომ აპირებს, მოდით see-- ah, 434 00:20:31,640 --> 00:20:33,170 პირველი ორი კვირის განმავლობაში ლექცია. 435 00:20:33,170 --> 00:20:36,600 ასე რომ, კვირაში ნულოვანი და კვირაში ერთი, მოდით შევხედოთ ამას თუ მე გვერდი წყარო, 436 00:20:36,600 --> 00:20:38,120 ასევე სუპერ მარტივია. 437 00:20:38,120 --> 00:20:42,430 ეს წამყვანი ორ გვერდს მოუწოდა week0.php და week1.php. 438 00:20:42,430 --> 00:20:44,040 ასე რომ, ახლა განვიხილოთ, თუ რა ხდება. 439 00:20:44,040 --> 00:20:50,630 >> როდესაც მე დააწკაპუნეთ week0.php, ჩემი ლეპტოპი მიღების მოთხოვნის week0.php. 440 00:20:50,630 --> 00:20:53,700 441 00:20:53,700 --> 00:20:58,110 სერვერზე, a.k.a., CS50 IDE, იღებს რომ ვირტუალურ პაკეტში. 442 00:20:58,110 --> 00:21:01,040 ის ხედავს გაგზავნა მინდა, კიდევ week0.php. 443 00:21:01,040 --> 00:21:05,060 მას შემდეგ წერით ფაილი, დაბრუნება ქვედა, მარცხენა right-- ფაილი 444 00:21:05,060 --> 00:21:07,720 მოუწოდა week0.php-- და იფურთხება შედეგებს. 445 00:21:07,720 --> 00:21:10,510 ასე რომ შიგნით ეს ფაილი, week0.php, უნდა იყოს 446 00:21:10,510 --> 00:21:15,410 კონტროლერი ლოგიკა, რომელიც გამოიმუშავებს ამ HTML, და ჩვენ მალე დავინახავთ, რომ. 447 00:21:15,410 --> 00:21:19,340 >> მაგრამ ახლა, ნება მომეცით დააჭირეთ კვირის ნულოვანი, და ახლა ჩვენ გვაქვს ოთხშაბათს და პარასკევს, 448 00:21:19,340 --> 00:21:25,260 და ახლა ჩვენ გვაქვს სლაიდები ნელა კვირაში ნულოვანი. 449 00:21:25,260 --> 00:21:27,400 თქვენ შეგიძლიათ გაიხსენოთ, ეს გზა უკან, როდესაც. 450 00:21:27,400 --> 00:21:29,340 ასე რომ, ყველა ამ ნახვა აკეთებს. 451 00:21:29,340 --> 00:21:31,120 >> ასე რომ, მოდით განიხილავს, თუ როგორ აკეთებს ამას. 452 00:21:31,120 --> 00:21:34,290 მე ვაპირებ დაბრუნდეს კოდის აქ, CS50 IDE, 453 00:21:34,290 --> 00:21:36,660 და მე ვაპირებ გახსენით index.php. 454 00:21:36,660 --> 00:21:38,910 ზედა ამ ფაილის არის რამოდენიმე კომენტარი. 455 00:21:38,910 --> 00:21:43,000 ხოლო შემდეგ შუა ფაილი, თურმე, არსებობს PHP კოდი განაწილებაზე. 456 00:21:43,000 --> 00:21:47,380 იმიტომ, რომ თუ თქვენ არ გაქვთ ნებისმიერ ღია bracket კითხვის ნიშნის PHP tags, 457 00:21:47,380 --> 00:21:49,180 თქვენ თავისუფლად მხოლოდ დააყენა HTML. 458 00:21:49,180 --> 00:21:51,480 >> იმის გამო, რომ ის, რაც PHP თარჯიმანი უნდა გავაკეთოთ, 459 00:21:51,480 --> 00:21:53,938 არის, როდესაც ის კითხულობს ამ ფაილი ზედა ქვედა, მარცხენა right-- 460 00:21:53,938 --> 00:21:59,100 ეს მხოლოდ ხსნის კოდი ის ხედავს შორის იმ კუთხე ფრჩხილებში კითხვის ნიშნის. 461 00:21:59,100 --> 00:22:02,380 და არაფერი რომ არ აღიარებს, როგორც PHP, ის მხოლოდ SpitS. 462 00:22:02,380 --> 00:22:05,080 და HTML არის შორის პერსონალის ეს იქნება მხოლოდ შამფურზე. 463 00:22:05,080 --> 00:22:09,090 >> ასე რომ, ეს ფაილი შეიძლება ჰქონდეს უკვე მოუწოდა index.html, 464 00:22:09,090 --> 00:22:11,690 მაგრამ მე დასახელებისგან ყველაფერი dot PHP როგორც სტეპინგზე ქვის. 465 00:22:11,690 --> 00:22:15,960 Lectures.php-- ასეთივე underwhelming, უბრალოდ ზოგიერთი HTML. 466 00:22:15,960 --> 00:22:19,840 Week0.php მსგავსად, მხოლოდ რამდენიმე HTML. 467 00:22:19,840 --> 00:22:22,300 >> მაგრამ ახლა მოდით დააყენა თქმის საინჟინრო ქუდი, 468 00:22:22,300 --> 00:22:24,400 და განიხილოს, თუ როგორ შეიძლება გაუმჯობესდეს ამ. 469 00:22:24,400 --> 00:22:28,541 ეს არ არის რთული ამის გაკეთება, მაგრამ მე სახის საქართველოს გადაიზარდა ასლი და პასტა. 470 00:22:28,541 --> 00:22:31,540 და სინამდვილეში, თუ მე კვირაში ორი, იცით, რა მე ალბათ აპირებს? 471 00:22:31,540 --> 00:22:34,940 მე ვაპირებ წასვლა week1.php, მე აპირებს ხაზი გავუსვა ყველაფერი. 472 00:22:34,940 --> 00:22:39,110 მე ვაპირებ კოპირება, ჩასვით ახალი ფაილი სახელად week2.php, 473 00:22:39,110 --> 00:22:42,440 tweak ზოგიერთი მისამართები, და ჩემი გზა. 474 00:22:42,440 --> 00:22:45,240 >> ასე რომ, ეფუძნება რა ჩვენ ჩანს C უკვე, 475 00:22:45,240 --> 00:22:46,860 ეს არ გრძნობს უფლება, იმედია. 476 00:22:46,860 --> 00:22:49,610 ასლი, პასტა იშვიათად უფლება გადაწყვეტა. 477 00:22:49,610 --> 00:22:51,429 ასე რომ, რა შეგვიძლია დავიწყოთ გავაკეთოთ, რათა გაუმჯობესდეს ეს? 478 00:22:51,429 --> 00:22:53,345 სად არიან შესაძლებლობები უკეთესი დიზაინი? 479 00:22:53,345 --> 00:22:56,890 480 00:22:56,890 --> 00:22:58,760 >> იმ დროს, მივიღებ კვირაში რვა, ის აპირებს 481 00:22:58,760 --> 00:23:00,910 უნდა იყოს მართლაც შემაშფოთებელი თუ მინდა, რომ შეიცვალოს 482 00:23:00,910 --> 00:23:03,930 შრიფტის ყველა ერთი ჩემი გვერდებზე, ან, თუ მინდა, 483 00:23:03,930 --> 00:23:06,522 სტრუქტურის შეცვლა განლაგებას. 484 00:23:06,522 --> 00:23:08,396 ასე რომ, სადაც შესაძლებლობა უკეთესი დიზაინი? 485 00:23:08,396 --> 00:23:11,990 486 00:23:11,990 --> 00:23:15,160 ისე, მოდით განიხილავს, თუ რა არის საერთო მთელი ეს ფაილი. 487 00:23:15,160 --> 00:23:21,696 >> აი კვირაში ერთი, აქ კვირაში ნულოვანი, აქ lectures.php, 488 00:23:21,696 --> 00:23:25,790 აქ არის index.php-- რა არის იგივე და რა არის განსხვავებული, უხეშად რომ ვთქვათ, 489 00:23:25,790 --> 00:23:26,760 თითოეულ ამ ფაილი? 490 00:23:26,760 --> 00:23:30,560 491 00:23:30,560 --> 00:23:32,060 ჰო? 492 00:23:32,060 --> 00:23:34,560 >> აუდიტორია: [INAUDIBLE] 493 00:23:34,560 --> 00:23:41,244 494 00:23:41,244 --> 00:23:42,160 დავით Malan: კარგი, კარგი. 495 00:23:42,160 --> 00:23:46,115 ასე რომ, ნიმუში, რა თქმა უნდა, რომლის დროსაც ყოველ ჯერზე მე აირჩიოს ლექცია I, 496 00:23:46,115 --> 00:23:48,250 მე უნდა მომტანი ძალიან ჰგავს ეძებს გვერდზე. 497 00:23:48,250 --> 00:23:50,375 ასე რომ, ალბათ, რომ შეიძლება ბერკეტები ის ფაქტი, რომ, რეალურად, 498 00:23:50,375 --> 00:23:53,060 ჩვენ შეგნებულად რიცხობრივი ინდექსირებული ჩვენი lectures-- 499 00:23:53,060 --> 00:23:55,290 თუ შემიძლია კიდევ უფრო მეტი სიტყვა თქვენი პასუხი. 500 00:23:55,290 --> 00:23:59,984 და რა არის ერთადერთი, მართლაც, რომ იცვლება შორის კვირაში one-- 501 00:23:59,984 --> 00:24:02,400 და ნება მომეცით გადახვევა ქვემოთ ისე, რომ ეს დაახლოებით იმავე მივალ სოფელში 502 00:24:02,400 --> 00:24:05,480 ასე რომ აქ არის კვირაში ნულოვანი, დაახლოებით ზედა. 503 00:24:05,480 --> 00:24:12,370 აქ არის კვირაში ერთი, კვირაში ნულოვანი, კვირაში ერთი, კვირაში ნულოვანი. 504 00:24:12,370 --> 00:24:14,370 OK, ფაქტიურად თუ იცით ყოველგვარი პროგრამის გარეშე, 505 00:24:14,370 --> 00:24:16,286 ეს არის, ისევე, როგორც ნიმუში შესატყვისი თამაში. 506 00:24:16,286 --> 00:24:17,200 რა არის განსხვავებული? 507 00:24:17,200 --> 00:24:18,765 ჰო? 508 00:24:18,765 --> 00:24:19,777 >> აუდიტორია: [INAUDIBLE] 509 00:24:19,777 --> 00:24:22,360 დავით Malan: კარგი, ასე სათაური იცვლება, ოდესმე ასე მსუბუქად. 510 00:24:22,360 --> 00:24:24,010 Zero აპირებს, რა თქმა უნდა, ერთ-ერთი. 511 00:24:24,010 --> 00:24:25,570 იგივე ხდება H1 აქვს. 512 00:24:25,570 --> 00:24:28,790 და ჩვენ არ საკმაოდ დანახვა ადვილად, იმის გამო, რომ მისამართები ცოტა ხანი. 513 00:24:28,790 --> 00:24:30,670 მაგრამ ის მისამართები იცვლება ოდნავ. 514 00:24:30,670 --> 00:24:34,490 >> მაგრამ რა არ იცვლება არის, გავბედავ ამბობენ, ყველაზე შინაარსი page-- 515 00:24:34,490 --> 00:24:38,530 HTML აქვს იგივე, ხელმძღვანელი იგივე, სათაური არის თითქმის იგივე, 516 00:24:38,530 --> 00:24:40,659 სხეულის იგივე, და თითქმის ყველაფერი 517 00:24:40,659 --> 00:24:42,450 არის იგივე გარდა ასეთი პატარა შესწორებები. 518 00:24:42,450 --> 00:24:45,310 ასე რომ, როგორ შეგვიძლია წავიდეთ შესახებ ფაქტორინგი ზოგიერთი ამას? 519 00:24:45,310 --> 00:24:48,740 >> ისე ნება მომეცით შესთავაზოს ზუსტად რომ მომდევნო ვერსია. 520 00:24:48,740 --> 00:24:53,890 ასე რომ, აქ ვერსიას ერთი, მე მაქვს ზუსტი იგივე ფაილი, პლუს რამდენიმე სხვები. 521 00:24:53,890 --> 00:24:59,730 აი index.php-- და თუნდაც თქვენ არასოდეს მინახავს PHP ადრე, 522 00:24:59,730 --> 00:25:05,511 რა ვარ მე, ალბათ, ამით უნდა გადაჭრას ეს პრობლემის საფუძველზე, რასაც თქვენ ხედავთ აქ? 523 00:25:05,511 --> 00:25:11,300 524 00:25:11,300 --> 00:25:12,760 ჰო, ის არის, რომ მცირე ვალდებულება? 525 00:25:12,760 --> 00:25:13,450 არ არის? 526 00:25:13,450 --> 00:25:16,020 დიახ, გაგრძელდება. 527 00:25:16,020 --> 00:25:17,380 >> აუდიტორია: [INAUDIBLE] 528 00:25:17,380 --> 00:25:18,380 >> დავით Malan: Yep. 529 00:25:18,380 --> 00:25:20,380 >> აუდიტორია: [INAUDIBLE] 530 00:25:20,380 --> 00:25:26,090 531 00:25:26,090 --> 00:25:28,669 >> დავით Malan: მე უნდა საუბარი უბრალოდ ცოტა ხმამაღალი. 532 00:25:28,669 --> 00:25:31,084 >> აუდიტორია: [INAUDIBLE] 533 00:25:31,084 --> 00:25:35,744 534 00:25:35,744 --> 00:25:36,660 დავით Malan: კარგი, კარგი. 535 00:25:36,660 --> 00:25:38,620 და მე აზრით, ეს იყო ძნელია ამის მოსმენა you-- მაგრამ მე 536 00:25:38,620 --> 00:25:42,690 ვფიქრობ, თუ რას გულისხმობს ის არის, რომ იარლიყზე, რომლებიც საერთო ზევით, 537 00:25:42,690 --> 00:25:47,710 და tags რომ იყო გავრცელებული ბოლოში, უკვე factored, 538 00:25:47,710 --> 00:25:51,140 ან დაქვეითდება რა ფაილი? 539 00:25:51,140 --> 00:25:53,476 Header.php და footer.php-- და ჩვენ ვაპირებთ 540 00:25:53,476 --> 00:25:55,600 უნდა მიიღოს გარკვეული შესწორებები მიმართოს შეშფოთება თქვენ მხოლოდ 541 00:25:55,600 --> 00:25:59,370 იმის შესახებ, ნომრები იცვლება, for მაგალითად, თუ გავიგე სწორად. 542 00:25:59,370 --> 00:26:02,060 >> მაგრამ ეს, როგორც ჩანს, არსი ის. 543 00:26:02,060 --> 00:26:04,820 თუ არ იყო დიდი ოდენობით redundancy ზედა გვერდზე, 544 00:26:04,820 --> 00:26:06,736 და დიდი ოდენობით redundancy ბოლოში, 545 00:26:06,736 --> 00:26:09,280 მოდით ფაქტიურად მონიშნეთ და მოჭრილი, რომ შინაარსი out, 546 00:26:09,280 --> 00:26:13,270 ამას ცალკე ფაილი, ისევე, როგორც იდეა CSS, სადაც ჩვენ factored გარეთ 547 00:26:13,270 --> 00:26:16,710 ძალიან ჰგავს ესთეტიკის, დააყენა იგი ცალკე dot PHP ფაილი, 548 00:26:16,710 --> 00:26:20,340 გამოყენება მოითხოვს მექანიზმი, რომელიც ჰგავს C მკვეთრი include-- რომელიც 549 00:26:20,340 --> 00:26:23,570 არსებითად მოსწონს, რომ წავიდეს დაიბრუნოს შინაარსი header.php, 550 00:26:23,570 --> 00:26:25,370 და დააკოპირეთ და ჩასვით აქ. 551 00:26:25,370 --> 00:26:29,490 >> მაგრამ რა ეს იმას ნიშნავს, რომ ახლა index.php, მე იმ ორი ხაზი. 552 00:26:29,490 --> 00:26:32,130 In lectures.php, მეც ეს ორი ხაზი. 553 00:26:32,130 --> 00:26:35,230 In week0.php, მეც ეს ორი ხაზი. 554 00:26:35,230 --> 00:26:38,380 >> ახლა, თუ მინდა, რომ შეიცვალოს ტიტული ყველა ჩემი გვერდების, 555 00:26:38,380 --> 00:26:40,530 ან მე მინდა, რომ შეიცვალოს ძირითადი სტრუქტურა, 556 00:26:40,530 --> 00:26:44,380 შემიძლია შეცვლის ახლა მხოლოდ ერთ ადგილას, ან ორი places-- ზედა და ძირი, 557 00:26:44,380 --> 00:26:45,429 შესაბამისად. 558 00:26:45,429 --> 00:26:47,970 ამჟამად კოდი ამოსავალი უნდა ვეძებოთ ცოტა მეტი cryptic, არა? 559 00:26:47,970 --> 00:26:53,590 მაგრამ თუ თქვენ ფიქრობთ იმაზე, თუ რა გვერდი არის აკეთებს თუ მე მოთხოვნის week0.php, 560 00:26:53,590 --> 00:26:59,880 ისევე, როგორც, რომ ნახაზი აქ, როდესაც week0.php ითხოვს, 561 00:26:59,880 --> 00:27:00,960 რას ნიშნავს ეს? 562 00:27:00,960 --> 00:27:04,410 >> ფაქტიურად, ეს ფაილი მიერ მოთხოვნილი ბრაუზერში. 563 00:27:04,410 --> 00:27:06,240 ვებ სერვერზე a.k.a. 564 00:27:06,240 --> 00:27:09,250 CS50 ID-- grabs ეს ფაილი, week0.php, და ნათქვამია 565 00:27:09,250 --> 00:27:10,780 ეს ყველაზე ქვედა, მარცხნიდან მარჯვნივ. 566 00:27:10,780 --> 00:27:15,400 On line ერთი, იგი მაშინვე შეტაკებები ღია bracket კითხვის ნიშნის PHP, მოითხოვს 567 00:27:15,400 --> 00:27:17,872 header dot PHP, და ასე რა PHP ინტერპრეტატორი 568 00:27:17,872 --> 00:27:20,580 იმას, რომ ჩაშენებული ვებ სერვერზე, იმიტომ, რომ ჩვენ preconfigured 569 00:27:20,580 --> 00:27:24,580 ეს you-- ეს ავტომატურად მიდის შევიდა header.php ასლები, შინაარსი, 570 00:27:24,580 --> 00:27:25,640 პასტები მათ აქ. 571 00:27:25,640 --> 00:27:28,790 >> მაგრამ შემდეგ თარჯიმანი შეტაკებები კითხვის ნიშნის ახლო bracket, 572 00:27:28,790 --> 00:27:30,320 ასე რომ, ეს ყველაფერი კეთდება ფიქრი. 573 00:27:30,320 --> 00:27:33,400 ახლა ეს უბრალოდ ბრმად ფეხზე ხაზებს ორი შვიდი, 574 00:27:33,400 --> 00:27:35,240 იმიტომ, რომ ეს მხოლოდ ნედლეული HTML. 575 00:27:35,240 --> 00:27:38,470 იღებს გამოდიან რვა, და იმას, რომ იგივე ჯადოსნური ერთხელ გახსნის ფაილი, 576 00:27:38,470 --> 00:27:41,460 grabbing შინაარსი, და მოითხოვს მათ და pasting მათ 577 00:27:41,460 --> 00:27:42,480 სწორედ მაშინ და იქ. 578 00:27:42,480 --> 00:27:44,210 >> მაგრამ მე მხოლოდ მიანიშნა, რომ შეცდომა. 579 00:27:44,210 --> 00:27:48,610 ეს არის ნაწილობრივ უკან გადადგმული ნაბიჯი, იმიტომ, რომ თუ გადავხედავთ header.php, 580 00:27:48,610 --> 00:27:50,850 მე სახის მოჭრილი კუთხეში. 581 00:27:50,850 --> 00:27:56,250 რა ფუნქცია დავთმე, რათა მოიპოვოს ამ სადავო უკეთესი დიზაინი? 582 00:27:56,250 --> 00:27:57,305 ჰო? 583 00:27:57,305 --> 00:27:58,180 აუდიტორია: [INAUDIBLE] 584 00:27:58,180 --> 00:28:00,570 დავით Malan: ჰო, I ტიპის საქართველოს მოჭრილი nontrivial კუთხეში. 585 00:28:00,570 --> 00:28:04,489 თქვენ ასევე აღნიშნა, რომ ის, რაც შეცვლის სათაური იყო, ნომერი სათაური, 586 00:28:04,489 --> 00:28:05,530 და ნომერი H1. 587 00:28:05,530 --> 00:28:08,170 ასე რომ, ჩემი გამოსავალი იყო, OK, მოდით უბრალოდ გადარქმევა გვერდზე, 588 00:28:08,170 --> 00:28:10,080 და არ გაუმკლავდეთ, რომ პრობლემა არ არის. 589 00:28:10,080 --> 00:28:12,130 ასე რომ, ნაწილობრივ უკან გადადგმული ნაბიჯი, რა თქმა უნდა. 590 00:28:12,130 --> 00:28:14,300 >> მაგრამ რა არის აქ აღსანიშნავია ის არის, რომ რაც მე არ კეთდება 591 00:28:14,300 --> 00:28:17,200 სხვაგვარად factored ყველა საერთო პერსონალი. 592 00:28:17,200 --> 00:28:21,520 და footer.php, შეამჩნია მე factored ყველა რომ, თუმცა ნაკლებად, 593 00:28:21,520 --> 00:28:22,790 საერთო პერსონალი. 594 00:28:22,790 --> 00:28:26,070 ასე რომ, მე უნდა როგორმე ახლა შეძლებს მიიღოს ერთი წინ გადადგმული ნაბიჯია და დაფიქსირება 595 00:28:26,070 --> 00:28:27,160 რომ სათაური საკითხები. 596 00:28:27,160 --> 00:28:28,180 ასე რომ, მოდით გავაკეთოთ, რომ. 597 00:28:28,180 --> 00:28:35,060 >> ნება მომეცით წასვლას ჩემი მეორე ვერსია აქ, რაც, კიდევ ერთხელ, იგივე ფაილი 598 00:28:35,060 --> 00:28:36,825 გარდა ერთი ახალი გარდა. 599 00:28:36,825 --> 00:28:38,950 და ეს ცოტა მეტი verbose, მაგრამ ვნახოთ, თუ ჩვენ 600 00:28:38,950 --> 00:28:40,550 შეიძლება აჯავრებენ გარდა რა ხდება აქ. 601 00:28:40,550 --> 00:28:45,370 ასე რომ, ნაცვლად მოითხოვს header.php და footer.php, 602 00:28:45,370 --> 00:28:50,180 მე, როგორც ჩანს მხოლოდ მოითხოვს ერთი ფაილი მოუწოდა, რა თქმა უნდა, helpers.php. 603 00:28:50,180 --> 00:28:52,560 ნება მომეცით ითვალისწინებს ახლა, რა არის შიგნით helpers.php 604 00:28:52,560 --> 00:28:55,330 მხოლოდ რამოდენიმე ფუნქციები რომ დავწერე, ისევე როგორც ადრე. 605 00:28:55,330 --> 00:28:57,550 მაგრამ მე მას helpers.php. 606 00:28:57,550 --> 00:29:00,370 >> ახლა, როგორც ჩანს, ამ ხაზი სამი და 10, მე 607 00:29:00,370 --> 00:29:02,840 მოუწოდებდა ორი ფუნქცია გაწევა header, გაწევა ძირი. 608 00:29:02,840 --> 00:29:05,040 ისინი არ მოდის PHP, მე დავწერე იმ თავს. 609 00:29:05,040 --> 00:29:07,880 და მე ამით მათ helpers.php. 610 00:29:07,880 --> 00:29:11,210 >> ახლა, ჩვენ მხოლოდ ჩანს ეს სინტაქსი ერთხელ, და ეს იყო სუპერ მოკლე. 611 00:29:11,210 --> 00:29:15,330 მაგრამ ეს, როგორც ჩანს, არგუმენტი უნდა გაუწიოს header, ფუნქცია. 612 00:29:15,330 --> 00:29:16,450 რატომ მე ვიცი, რომ? 613 00:29:16,450 --> 00:29:18,522 ისე აქ არის ახლო paren, აქ არის ღია paren. 614 00:29:18,522 --> 00:29:21,230 და რა თქმა უნდა, ისევე, როგორც C, არაფერი შორის იმ ფრჩხილებში 615 00:29:21,230 --> 00:29:23,350 არის შეყვანის ან არგუმენტი ფუნქცია. 616 00:29:23,350 --> 00:29:26,710 >> რა არის მონაცემები ტიპის ეს არგუმენტი, რის საფუძველზე მე ხაზგასმით? 617 00:29:26,710 --> 00:29:30,820 რა გავაკეთოთ იმ კვადრატულ ფრჩხილებში მიუთითებს, რომელიც ეფუძნება გასულ კვირას? 618 00:29:30,820 --> 00:29:33,390 ჰო, ეს მასივი კონკრეტულად ასოციაციურ მასივში. 619 00:29:33,390 --> 00:29:35,700 და ეს სინტაქსი მართლაც ცოტა ხმაურიანი, 620 00:29:35,700 --> 00:29:38,860 მაგრამ ეს მხოლოდ გავლით ერთი გასაღები ღირებულება წყვილი. 621 00:29:38,860 --> 00:29:43,530 გასაღები არის, ციტირებით unquote სათაური, და ღირებულება არის CS50. 622 00:29:43,530 --> 00:29:46,220 >> თუ ჩვენ ეს გააკეთა C, შესაძლოა, ნაცვლად 623 00:29:46,220 --> 00:29:49,400 უფრო ჰგავს ეს, უბრალოდ ციტირებით unquote CS50-- 624 00:29:49,400 --> 00:29:52,460 ან რეალურად ეს იქნება curly braces, ან რამე მაგდაგვარს C, 625 00:29:52,460 --> 00:29:55,580 სადაც გასაღები ნულოვანი, და ღირებულება არის CS50. 626 00:29:55,580 --> 00:29:59,840 მაგრამ ერთხელ, PHP, მიუხედავად იმისა, რომ სინტაქსი არის, კიდევ ერთხელ, ცოტა უცნაური, 627 00:29:59,840 --> 00:30:02,860 ის საშუალებას გაძლევთ გაივლის სიტყვა ნაცვლად ნომრები 628 00:30:02,860 --> 00:30:05,120 გაერთიანდნენ გასაღებები ფასეულობებით. 629 00:30:05,120 --> 00:30:06,390 >> ასე რომ, რას ნიშნავს? 630 00:30:06,390 --> 00:30:09,750 თუ მე წასვლას helpers.php, მოდით შევხედოთ ამ ფუნქციას. 631 00:30:09,750 --> 00:30:13,620 renderHeader.php, საკმაოდ renderHeader არის ჩემი ფუნქცია, 632 00:30:13,620 --> 00:30:16,220 და ვიცი, რომ მე ვერ ვხედავ ფუნქცია სიტყვით აქ. 633 00:30:16,220 --> 00:30:19,450 ეს არის ახალი დან, C აშკარად იღებს არგუმენტი მოუწოდა მონაცემები 634 00:30:19,450 --> 00:30:22,400 მაგრამ მე ვერ უწოდა არაფერი, მაგრამ მე მას მონაცემები, 635 00:30:22,400 --> 00:30:25,090 უბრალოდ უნდა იყოს ცოტა clean-- და უბრალოდ ვხვდები, განსაკუთრებით 636 00:30:25,090 --> 00:30:28,173 თუ თქვენ პროგრამირდება ზოგიერთ სხვა მაღალ დონეზე ენის ადრე, რაღაც 637 00:30:28,173 --> 00:30:29,820 ზემოთ C, კონცეპტუალურად. 638 00:30:29,820 --> 00:30:33,820 >> რას უდრის ღია bracket კვადრატული ფრჩხილი ალბათ ნიშნავს? 639 00:30:33,820 --> 00:30:35,540 ან ეს რას შეიძლება ნიშნავდეს? 640 00:30:35,540 --> 00:30:39,660 ჩვენ არ უნახავს ამ C. ჰო? 641 00:30:39,660 --> 00:30:40,480 >> ცარიელი მასივი. 642 00:30:40,480 --> 00:30:45,440 კერძოდ, ეს იმას ნიშნავს, რომ თუ მომხმარებელი არ მოვუწოდებთ renderHeader 643 00:30:45,440 --> 00:30:49,340 არგუმენტი, მე ჯერ კიდევ აპირებს აქვს არგუმენტი ეწოდება მონაცემები, 644 00:30:49,340 --> 00:30:52,327 მაგრამ მისი საწყისი მნიშვნელობა იქნება ცარიელი მასივი. 645 00:30:52,327 --> 00:30:53,660 ასე რომ, ეს უბრალოდ ლამაზი მოხერხებულობით. 646 00:30:53,660 --> 00:30:56,493 მე არ უნდა დაწეროთ შესახებ, ან ამბობენ, რომ თქვენ გამოიყენება ჩემი ფუნქცია არასწორია. 647 00:30:56,493 --> 00:30:59,849 მე შემიძლია უბრალოდ მისცეს შესახებ ძირითადად მნიშვნელობა, თუ მე არ განსაკუთრებით ზრუნავენ. 648 00:30:59,849 --> 00:31:01,890 ახლა ეს ფუნქცია, მე ვარ აპირებს ტალღა ხელები. 649 00:31:01,890 --> 00:31:07,620 მაგრამ ეს ამონაწერი ფუნქცია საშუალებას გვაძლევს გაივლის ეს ცვლადები მონაცემები 650 00:31:07,620 --> 00:31:10,360 შევიდა header.php შემდეგ გზა. 651 00:31:10,360 --> 00:31:13,100 და ეს არის ბოლო ნაწილი, მე ვფიქრობ, რომ ხმაურიანი სინტაქსი. 652 00:31:13,100 --> 00:31:15,860 აქ არის ჩემი ახალი ვერსია საქართველოს header.php-- ეს 653 00:31:15,860 --> 00:31:20,140 ამბობდა, ფაქტიურად, ღია bracket სათაური CS50, ეს იყო და ეს. 654 00:31:20,140 --> 00:31:21,766 და იგივე რამ H1. 655 00:31:21,766 --> 00:31:24,310 >> ახლა კი, როგორც ჩანს, ამბობს რაღაც საკმაოდ ხმაურიანი. 656 00:31:24,310 --> 00:31:28,030 ნება მომეცით გაამარტივებს ამ ერთი წუთით ასეთია. 657 00:31:28,030 --> 00:31:31,020 ეს არის ის, რაც მე შეიცვალა ჩემი სათაური უნდა იყოს. 658 00:31:31,020 --> 00:31:35,140 თუმცა, ის მიღების პატარა მახინჯი მუდმივად ღია ფრჩხილებში PHP, 659 00:31:35,140 --> 00:31:36,610 და შემდეგ გამოიყენოთ ბეჭდვის ფუნქცია. 660 00:31:36,610 --> 00:31:40,810 გამოდის, რომ PHP აქვს სტენოგრამის ნოტაცია ეს, რომელიც მხოლოდ 661 00:31:40,810 --> 00:31:45,050 თანაბარი ნიშანი, რომელიც ტექნიკურად ფუნქცია მოუწოდა ეხმიანება ნაცვლად ბეჭდვა, 662 00:31:45,050 --> 00:31:46,800 მაგრამ ეს იგივე, ეფექტურად. 663 00:31:46,800 --> 00:31:48,440 >> ეს უბრალოდ უკეთესია. 664 00:31:48,440 --> 00:31:50,510 ეს არის მხოლოდ სინტაქსური შაქარი, თუ გნებავთ, 665 00:31:50,510 --> 00:31:52,260 , რაც ჩემი კოდი გამოიყურება ცოტა უკეთესი. 666 00:31:52,260 --> 00:31:54,010 მაგრამ აღმოჩნდება, და ჩვენ დავინახავთ, ეს კიდევ ერთხელ 667 00:31:54,010 --> 00:31:57,420 ადრე ხანგრძლივი, ჩვენ მოვუწოდებთ ამ annoyingly ხანგრძლივი ფუნქცია მოუწოდა 668 00:31:57,420 --> 00:32:00,582 HTML სპეციალური სიმბოლო in PHP, იმიტომ, რომ თურმე 669 00:32:00,582 --> 00:32:02,790 არსებობს გარკვეული საშუალებებით რომ მომხმარებლის შესაძლოა მოგვცეს, 670 00:32:02,790 --> 00:32:05,160 ან, რომ მომხმარებლებს შესაძლოა მოგვცეს, რომ აპირებს დაარღვიოს ჩვენს საიტზე. 671 00:32:05,160 --> 00:32:07,035 მაგრამ ჩვენ ვხედავთ, რომ შემდეგი კვირის JavaScript. 672 00:32:07,035 --> 00:32:10,740 მაგრამ ახლა, უბრალოდ ვიცი, რომ ეს ფაილი, headers.php, უბრალოდ 673 00:32:10,740 --> 00:32:13,040 იღებს სათაური, რომ გავიარე, ეს გააკეთოს 674 00:32:13,040 --> 00:32:17,380 დარწმუნებული ვარ, რომ ეს უსაფრთხო უნდა გაუკეთეს შევიდა ვებ გვერდი, და ეს ფეხზე ის, როგორც ჩემი სათაური 675 00:32:17,380 --> 00:32:18,640 და როგორც ჩემი H1. 676 00:32:18,640 --> 00:32:24,440 ასე რომ, თუ მე წასვლას ეს ვერსია არის, შეამჩნია, რომ ლექციები აქვს თავისი ტიტული უკან, 677 00:32:24,440 --> 00:32:28,630 კვირაში ნულოვანი აქვს თავისი ტიტული უკან, და მართლაც, HTML მე მომტანი 678 00:32:28,630 --> 00:32:32,110 იდენტურია, რაც ჩემი პირველი ვერსია was-- გარდა ჩემი whitespace, 679 00:32:32,110 --> 00:32:35,150 იმიტომ, რომ მე დაიწყო გაფორმებით ჩემი კოდი ცოტა განსხვავებულად. 680 00:32:35,150 --> 00:32:38,082 მაგრამ მე გენერირებული ყველა კოდი აინტერესებს. 681 00:32:38,082 --> 00:32:39,790 ასე რომ, ნება მომეცით პაუზის მხოლოდ ერთი წუთით და ვნახოთ 682 00:32:39,790 --> 00:32:42,200 თუ არსებობს რაიმე კითხვები ან დაბნეულობა მე შეიქმნა. 683 00:32:42,200 --> 00:32:44,970 684 00:32:44,970 --> 00:32:48,150 ყველა უფლება, მოდით სიყვარულისთვის ცოტა რთული აქ 685 00:32:48,150 --> 00:32:51,500 იმისათვის, რომ ნახოთ, თუ არსებობს შესაძლებლობა გაუმჯობესებას. 686 00:32:51,500 --> 00:32:56,130 Helpers.php გვქონდა ეს ფუნქცია, სახელწოდებით renderFooter. 687 00:32:56,130 --> 00:32:59,652 და რა არის აღსანიშნავი, renderHeader და renderFooter? 688 00:32:59,652 --> 00:33:02,610 ისევ და ისევ, დღევანდელი მიზნებისათვის, ვიცი, რომ ამონაწერი ფუნქცია მხოლოდ 689 00:33:02,610 --> 00:33:08,280 ჩემი გზა გავლის არგუმენტები შევიდა header.php და footer.php. 690 00:33:08,280 --> 00:33:10,900 691 00:33:10,900 --> 00:33:11,780 >> ბოდიში? 692 00:33:11,780 --> 00:33:13,056 >> აუდიტორია: [INAUDIBLE] 693 00:33:13,056 --> 00:33:15,180 დავით Malan: ჰო, მე მხოლოდ შეცვალა მოითხოვს ონლაინ. 694 00:33:15,180 --> 00:33:19,410 ასე რომ, ფაქტიურად, მე ჩადენილი ცოდვა გადაწერა და pasting, კიდევ ერთხელ. 695 00:33:19,410 --> 00:33:21,920 ეს არ არის დიდი რაოდენობით ხაზები, მაგრამ მოდის on-- 696 00:33:21,920 --> 00:33:25,220 თუ მე გადაწერა და pasting ყველაფერი უბრალოდ შეცვალოს ერთი პატარა სიტყვა, 697 00:33:25,220 --> 00:33:28,610 და ერთი პატარა სიტყვა, რომ ალან მიუთითებს გარეთ არის ძირი აქ, წინააღმდეგ header აქ. 698 00:33:28,610 --> 00:33:30,670 წინააღმდეგ შემთხვევაში, ყველაფერი არის იდენტურია, გარდა, 699 00:33:30,670 --> 00:33:32,180 რა თქმა უნდა, ფუნქცია სახელები. 700 00:33:32,180 --> 00:33:33,690 ასე რომ, რა შეიძლება გავაკეთოთ უკეთესი? 701 00:33:33,690 --> 00:33:39,810 >> ისე ნება მომეცით გახსენით ეს ვერსია აქ, რის helpers.php, 702 00:33:39,810 --> 00:33:42,300 რატომ არ უბრალოდ ცოტა ჭკვიანია შესახებ? 703 00:33:42,300 --> 00:33:46,410 დაწერეთ ოდნავ უფრო რთული კოდი, მაგრამ ეძახით გაწევა? 704 00:33:46,410 --> 00:33:48,470 ასე რომ, რა არ მინდა ფუნდამენტურად შეიცვალა? 705 00:33:48,470 --> 00:33:51,770 >> იგი იღებს არგუმენტი, ახლა ორი არგუმენტები, მონაცემები მაინც. 706 00:33:51,770 --> 00:33:54,444 და მერე რა არის პირველი სახელი, ალბათ, რომელიც გამოიყენება, 707 00:33:54,444 --> 00:33:55,860 რის საფუძველზე თქვენ კითხულობთ აქ? 708 00:33:55,860 --> 00:33:58,452 მაშინაც კი, თუ ზოგიერთი სინტაქსი ახალია. 709 00:33:58,452 --> 00:33:59,660 რა არის დოლარის ნიშანი თარგი? 710 00:33:59,660 --> 00:34:02,400 711 00:34:02,400 --> 00:34:03,016 >> ბოდიში? 712 00:34:03,016 --> 00:34:03,710 >> აუდიტორია: Header ან ძირი. 713 00:34:03,710 --> 00:34:04,510 >> დავით Malan: Header ან ძირი. 714 00:34:04,510 --> 00:34:07,134 ასე რომ, როგორც ჩანს, გადავწყვიტე, რომ თუ ერთადერთი, რაც იცვლება 715 00:34:07,134 --> 00:34:10,159 არის ის, რაც თარგი მინდა რომ print-- და თარგი 716 00:34:10,159 --> 00:34:13,100 ვგულისხმობ ეს არის გეგმა კოდი, რომელიც მე მინდა გამომავალი, 717 00:34:13,100 --> 00:34:16,350 მაგრამ მინდა შეაერთედ ზოგიერთ ღირებულებებს, ასე რომ, თუ ეს მხოლოდ header 718 00:34:16,350 --> 00:34:20,440 ან ძირი, რატომ არ parameterize რომ და მოვუწოდებთ არგუმენტი დოლარის ნიშანი 719 00:34:20,440 --> 00:34:21,409 თარგი? 720 00:34:21,409 --> 00:34:26,250 და მაშინ ეს ხმაურიანი სინტაქსი საშუალებას ჩემთვის შექმნათ გზა ცვლადი აქ. 721 00:34:26,250 --> 00:34:28,030 >> ასე რომ, დოლარის ნიშანი ბილიკი არის ცვლადი. 722 00:34:28,030 --> 00:34:31,120 რას ნიშნავს ეს სინტაქსი ამის გაკეთება, თუ თქვენ იცნობს? 723 00:34:31,120 --> 00:34:32,512 ჰო? 724 00:34:32,512 --> 00:34:34,065 >> აუდიტორია: [INAUDIBLE] 725 00:34:34,065 --> 00:34:34,940 დავით Malan: ზუსტად. 726 00:34:34,940 --> 00:34:37,600 თუ თარგი, ციტირებით unquote, header, ან თუ თარგი, 727 00:34:37,600 --> 00:34:41,170 ციტირებით unquote, ძირი, რომ ხაზი იქ რომ მე ხაზგასმით, ხაზის რვა, 728 00:34:41,170 --> 00:34:46,330 უბრალოდ აღების, რომ სახელი, როგორც სათაურის, და ინტეგრირების იგი dot PHP. 729 00:34:46,330 --> 00:34:49,750 ასე რომ, ჩვენ არ გვაქვს ამ ოპერატორს C. ეს dot ოპერატორი 730 00:34:49,750 --> 00:34:54,520 საოცარი რამ PHP-- თუ თქვენ იცნობს JavaScript ან Java, 731 00:34:54,520 --> 00:34:56,949 თქვენ შეგიძლიათ გამოიყენოთ პლუს მოაწეროს უნდა გააკეთოს გაერთიანების. 732 00:34:56,949 --> 00:34:59,974 >> In C, ეს არის ტკივილი neck-- და მე ასე ვწუხვარ, P- ნაკრები ექვსი, 733 00:34:59,974 --> 00:35:02,390 თქვენ აპირებთ უნდა გავაკეთოთ ამას ეს არის ტკივილი კისრის 734 00:35:02,390 --> 00:35:03,930 to concatenate სიმები. 735 00:35:03,930 --> 00:35:04,670 რატომ? 736 00:35:04,670 --> 00:35:06,580 კარგად, იმიტომ, რომ, თუ თქვენ მოხვდით სიმებიანი, რომელიც ამ ხნის განმავლობაში, 737 00:35:06,580 --> 00:35:09,538 და სხვა სიმებიანი, რომელიც ამ ხნის განმავლობაში, თქვენ არ შეგიძლიათ უბრალოდ შეაერთედ მათ ერთად. 738 00:35:09,538 --> 00:35:11,070 რას ნაცვლად უნდა გავაკეთოთ C? 739 00:35:11,070 --> 00:35:11,680 ჰო? 740 00:35:11,680 --> 00:35:12,380 >> აუდიტორია: [INAUDIBLE] 741 00:35:12,380 --> 00:35:15,090 >> DAVID Malan: თქვენ უნდა malloc მეხსიერება, ან მასივი Stack. 742 00:35:15,090 --> 00:35:17,214 და რეალურად უნდა მიიღოს, რომ მასივი დიდი საკმარისი 743 00:35:17,214 --> 00:35:20,940 შეესაბამება ამ პლუს ეს, პლიუს წარმატებული ნულოვანი. 744 00:35:20,940 --> 00:35:24,994 მაშინ concatenate მათ ერთად გამოყენებით აურიეთ კატა ან ხელით ამისთვის მარყუჟის, 745 00:35:24,994 --> 00:35:26,160 ან ნებისმიერი რაოდენობის ტექნიკა. 746 00:35:26,160 --> 00:35:27,760 და ჩვენ გაჩვენებთ რამდენიმე P- ნაკრები ექვსი. 747 00:35:27,760 --> 00:35:29,080 >> ეს ტკივილი კისრის. 748 00:35:29,080 --> 00:35:34,190 და ეს მართლაც რას ვგულისხმობ შესახებ ეს წინააღმდეგ ამას, როგორიცაა C წინააღმდეგ PHP. 749 00:35:34,190 --> 00:35:36,870 თქვენ უბრალოდ ასე უფრო მეტი ფუნქციონალური უფასოდ, 750 00:35:36,870 --> 00:35:39,030 ასე რომ თქვენ შეგიძლიათ ფოკუსირება, იდეალურად, გართობა 751 00:35:39,030 --> 00:35:41,190 ნაწილი კოდირების, რომ პროექტის გსურთ გადაწყვიტოს, 752 00:35:41,190 --> 00:35:43,190 ვიდრე დაბალი დონის წვრილმანებში. 753 00:35:43,190 --> 00:35:49,840 >> ასე რომ, ეს უბრალოდ ქმნის header.php ან footer.php, რომლის საფუძველზეც ერთი მოვუწოდებ. 754 00:35:49,840 --> 00:35:52,280 და მართლაც, თუ მე შევიდა index.php, ცნობა 755 00:35:52,280 --> 00:35:56,230 ყველა რომ changed-- იმის ნაცვლად, მოუწოდებს გაწევა header ან გაწევა ძირი, 756 00:35:56,230 --> 00:36:00,230 მე მოუწოდებდა გაწევა, რასაც მოჰყვა ასახელებს თარგი, რომ მე მინდა ამის გაკეთება. 757 00:36:00,230 --> 00:36:02,370 და დაინახავთ, ეს, ძალიან, პრობლემა მითითებული შვიდი, 758 00:36:02,370 --> 00:36:05,530 რომლის დროსაც ჩვენ გაძლევთ საშუალებას გამოიყენოთ იგივე ფუნქცია, რათა კონა 759 00:36:05,530 --> 00:36:07,550 და მტევნების სხვადასხვა ვებ გვერდებზე. 760 00:36:07,550 --> 00:36:10,570 >> ასე რომ, ვიდრე არენაზე ძალიან ბევრად უფრო იმ details-- 761 00:36:10,570 --> 00:36:13,210 რომელშიც თქვენ ნახავთ კიდევ ერთხელ პრობლემა კომპლექტი seven-- მოდით შევხედოთ 762 00:36:13,210 --> 00:36:16,850 განთავსებულია ახლა დასაწყისში გამოსავალი უფრო საინტერესო პრობლემაა. 763 00:36:16,850 --> 00:36:19,310 ჯერჯერობით, არაფერი ჩვენ გაკეთდეს აქვს შენახული მონაცემები. 764 00:36:19,310 --> 00:36:22,920 ფაქტია, რომ მხოლოდ დრო ჩვენ ოდესმე გადაარჩინა რაღაც ჩვენ გავაკეთეთ ამ კლასში 765 00:36:22,920 --> 00:36:31,030 არის, როდესაც ჩვენ გვქონდა ძალიან მარტივი დემო awhile უკან, რომლითაც ჩვენ გამოიყენება ფაილი IO C, 766 00:36:31,030 --> 00:36:34,520 და მე ვფიქრობ, მე აკრეფილი ჩემი სახელით, და Hannah სახელი და მარია სახელი, 767 00:36:34,520 --> 00:36:37,610 ან იქნებ ენდი სახელი და მაშინ ჩვენ გადაარჩინა CSV ფაილი 768 00:36:37,610 --> 00:36:39,430 მძიმით გამოყოფილი მნიშვნელობები ფაილი. 769 00:36:39,430 --> 00:36:43,530 >> ჩვენ გამოიყენება fopen-- ვფიქრობ, ჩვენ გამოიყენება fprintf როგორც მახსოვს, 770 00:36:43,530 --> 00:36:44,910 და ჩვენ გადაარჩინა ფაილი. 771 00:36:44,910 --> 00:36:46,920 ახლა, რომ არის მარტივი ფორმა მონაცემთა ბაზაში. 772 00:36:46,920 --> 00:36:50,230 თუ გსურთ, რომ ვებ-გვერდი Frosh მესიჯები პროგრამა, რომლის პირველკურსელებთან 773 00:36:50,230 --> 00:36:53,390 შეგიძლიათ დარეგისტრირდეთ სპორტული, თქვენ იდეალურად მინდა, რომ რამე რომ მონაცემები. 774 00:36:53,390 --> 00:36:55,370 გასულ კვირას, ჩვენ არაფერი ერთად მონაცემები ჩვენ უბრალოდ განაცხადა, 775 00:36:55,370 --> 00:36:56,661 თქვენ დარეგისტრირებული, ნამდვილად არ. 776 00:36:56,661 --> 00:36:58,950 ან იქნებ მე ელექტრონული ფოსტით proctor, ეს იყო და ეს. 777 00:36:58,950 --> 00:37:02,110 >> მაგრამ ეს კარგი იქნება, თუ შემეძლო მისცეს, რომ proctor CSV ფაილი, 778 00:37:02,110 --> 00:37:03,340 როგორც Excel ფაილი. 779 00:37:03,340 --> 00:37:05,090 ან კიდევ უკეთესი, რომ ის კარგი იქნება, თუ შემეძლო 780 00:37:05,090 --> 00:37:08,830 დააყენოს იმ მომხმარებლების სახელები და dorm სახელები და ყველა რომ 781 00:37:08,830 --> 00:37:11,740 შევიდა მონაცემთა ბაზა, რომელიც უბრალოდ ცხოვრობს სამუდამოდ, 782 00:37:11,740 --> 00:37:13,530 სანამ მე აირჩიეთ წაშლა მონაცემები. 783 00:37:13,530 --> 00:37:15,645 მონაცემთა ბაზა, რომელიც საშუალებას აძლევს ჩემთვის შეკითხვის ინფორმაცია. 784 00:37:15,645 --> 00:37:18,070 მართლაც, რომ ის, რაც მონაცემთა ბაზა. 785 00:37:18,070 --> 00:37:20,470 >> ჩვენ წარმოგიდგინოთ დღეს, და მომავალ კვირას, ძალიან, ტექნოლოგია 786 00:37:20,470 --> 00:37:25,020 მოუწოდა SQL-- სტრუქტურირებული შეკითხვის ენა, რომელიც არის სხვა ენაზე. 787 00:37:25,020 --> 00:37:28,750 ეს არსებითად პროგრამირების ენის, მაგრამ ბაზაში. 788 00:37:28,750 --> 00:37:31,760 და მონაცემთა ბაზის ახლა, უბრალოდ ვფიქრობ, როგორც სუპერ ლამაზი ვერსია 789 00:37:31,760 --> 00:37:35,710 Microsoft Excel, ან Google ცხრილები, ან Apple ნომრები. 790 00:37:35,710 --> 00:37:39,950 ეს ზოგადად პროგრამა, რომელიც საშუალებას თქვენ შესანახად მთელი bunch of მონაცემები 791 00:37:39,950 --> 00:37:43,960 რიგები და სვეტები, საკმაოდ როგორც თქვენ შეიძლება Excel. 792 00:37:43,960 --> 00:37:47,100 >> მაგრამ რა კარგია, მით უმეტეს, თუ ჩვენ არ ვართ სუპერ იცნობს Excel, 793 00:37:47,100 --> 00:37:52,040 რა SQL საშუალებას გაძლევთ ამის გაკეთება არის შეკითხვაზე ეს ინფორმაცია წერილობით ხაზების კოდი 794 00:37:52,040 --> 00:37:55,220 სადაც თქვენ შეგიძლიათ, მაშინაც კი, თუ თქვენი მონაცემთა ბაზის აქვს მილიონი რიგები მას, 795 00:37:55,220 --> 00:37:57,190 ნახავთ რამ სუპერ სწრაფი. 796 00:37:57,190 --> 00:37:59,950 ფაქტობრივად, Excel განსაკუთრებით ცუდი დიდი მონაცემების კომპლექტი. 797 00:37:59,950 --> 00:38:02,460 და ფაქტობრივად, რამდენიმე წლის წინ, აღმოჩნდა 798 00:38:02,460 --> 00:38:08,890 Excel იქნებოდა მხოლოდ გაძლევთ საშუალებას შეინახოთ მდე 65.535 რიგები მონაცემები, რომელიც 799 00:38:08,890 --> 00:38:12,020 ჟღერს ბევრი, მაგრამ, დროს მე ვიყავი გრადის სტუდენტი, 800 00:38:12,020 --> 00:38:14,920 და მახსოვს tripping მეტი ეს იმიტომ, რომ მე მომტანი 801 00:38:14,920 --> 00:38:17,900 CSV ფაილი ჩემი კვლევის და მე სურდა ანალიზი მათ სწრაფად 802 00:38:17,900 --> 00:38:19,530 მხოლოდ გახსნას Excel. 803 00:38:19,530 --> 00:38:23,730 რა თქმა უნდა, ჩემი კომპიუტერი მხოლოდ შეეჯახა, იმიტომ, რომ მე უფრო მეტი, ვიდრე 65,000 რიგები. 804 00:38:23,730 --> 00:38:27,210 >> მაგრამ სად 65.535 მოდის? 805 00:38:27,210 --> 00:38:29,670 რა იყო Microsoft აკეთებს, სავარაუდოდ? 806 00:38:29,670 --> 00:38:32,430 თუ თქვენ კარგად თქვენი უფლებამოსილების ორი? 807 00:38:32,430 --> 00:38:37,160 ჰო, ისინი გამოყენებით 16-bit მნიშვნელობა წარმოადგენს რიგის ნომერი. 808 00:38:37,160 --> 00:38:41,310 და ორი 16 65,536-- მინუს ერთი, იმიტომ, რომ თუ 809 00:38:41,310 --> 00:38:45,414 ნულოვანი ინდექსი იმას ნიშნავს, რომ იყო ყველაზე სტრიქონების რაოდენობა შეიძლება ჰქონდეს. 810 00:38:45,414 --> 00:38:46,830 და ეს იყო მხოლოდ დიზაინი გადაწყვეტილება. 811 00:38:46,830 --> 00:38:52,760 აგროვებთ 16 ბიტი, ისინი შეზღუდული me 16,000 რიგები, ნაცვლად 4 მილიარდი, 812 00:38:52,760 --> 00:38:54,322 რომელიც მე შეეძლო იდეალურად. 813 00:38:54,322 --> 00:38:57,030 მაგრამ ახლა, ჩვენ ვაპირებთ გაცნობა მეტი ვებ კონტექსტში. 814 00:38:57,030 --> 00:39:00,390 და რა ლამაზი SQL არის, რომ მიუხედავად იმისა, რომ ეს არის საკმაოდ ძლიერი და საკმაოდ 815 00:39:00,390 --> 00:39:04,050 დახვეწილი, ეს მართლაც boils ქვემოთ ოთხი ძირითადი ოპერაციების, ოთხი 816 00:39:04,050 --> 00:39:08,060 ძირითადი ფუნქციები, თუ will-- აირჩიეთ, მიღება მონაცემებით, ეძებს 817 00:39:08,060 --> 00:39:12,510 მონაცემების; წაშლა და წაშლა მონაცემები; ჩადეთ დასძინა რიგები მონაცემთა ბაზაში; 818 00:39:12,510 --> 00:39:13,410 და განახლება. 819 00:39:13,410 --> 00:39:17,010 ასე რომ, თუ თქვენ ოდესმე გამოიყენება Google ცხრილები, Apple ნომრები, Microsoft 820 00:39:17,010 --> 00:39:19,310 Excel, თქვენ არ შესრულდება, სავარაუდოდ, ყველა 821 00:39:19,310 --> 00:39:22,530 ამ ოპერაციებს, როგორც ადამიანის მიერ მხოლოდ თქვენი კლავიატურის და mouse-- 822 00:39:22,530 --> 00:39:26,050 ჩასმა მონაცემები, თქვენი თვალები აირჩიეთ ან მოძებნოთ მონაცემები, 823 00:39:26,050 --> 00:39:28,360 ან განახლება მონაცემები, ან წაშლა მონაცემები. 824 00:39:28,360 --> 00:39:29,870 >> ასე რომ, რას ნიშნავს ეს? 825 00:39:29,870 --> 00:39:34,300 ისე, წინასწარ დაყენებული CS50 IDE არის პროგრამა მოუწოდა MySQL. 826 00:39:34,300 --> 00:39:37,050 ეს არის თავისუფალი, ღია მონაცემთა ბაზა, რომელიც არის სუპერ პოპულარული. 827 00:39:37,050 --> 00:39:40,590 Facebook, მაგალითად, იყენებს, რათა ამ დღეს, სხვა იარაღები, რომ ისინი იყენებენ. 828 00:39:40,590 --> 00:39:44,300 და ბევრი ძალიან პოპულარული საიტები გამოიყენოთ ის დიდი ნაწილი, რადგან ეს არის სწრაფი, 829 00:39:44,300 --> 00:39:45,230 და იმიტომ, რომ ეს არის თავისუფალი. 830 00:39:45,230 --> 00:39:46,820 მიუხედავად იმისა, რომ, რა თქმა უნდა ალტერნატივა არსებობს. 831 00:39:46,820 --> 00:39:49,580 და ზოგიერთ თქვენგანს შეიძლება ჩაერიოს ერთად ალტერნატიული საბოლოო პროექტები. 832 00:39:49,580 --> 00:39:55,330 >> ეს არის სკრინშოტი, იმავდროულად, საქართველოს ვებ დაფუძნებული ინსტრუმენტი მოუწოდა phpMyAdmin. 833 00:39:55,330 --> 00:39:58,260 ეს არის შემთხვევითი, რომ ამ ვებ დაფუძნებული ინსტრუმენტი ასევე 834 00:39:58,260 --> 00:40:01,720 ენაზე, PHP, მაგრამ ის, რაც იმას ნიშნავდა, რომ ამის გაკეთება 835 00:40:01,720 --> 00:40:04,620 არის მოგვცეს ვებ დაფუძნებული ინტერფეისი მონაცემთა ბაზაში. 836 00:40:04,620 --> 00:40:07,180 იმის გამო, MySQL, როგორც წესი, რაღაც, ისტორიულად, თქვენ 837 00:40:07,180 --> 00:40:08,770 რომ ურთიერთქმედება მხოლოდ ბრძანების. 838 00:40:08,770 --> 00:40:10,811 და ეს იქნება სუპერ შემაშფოთებელი და arcane აქვს 839 00:40:10,811 --> 00:40:14,487 აკრიფოთ ტექსტობრივი ბრძანებები შესარჩევად მონაცემები, ჩაწეროთ მონაცემები და წაშლა მონაცემები. 840 00:40:14,487 --> 00:40:16,820 ასე რომ ზოგიერთი ადამიანი ინტერნეტში დაწერა ვებ დაფუძნებული პროგრამა 841 00:40:16,820 --> 00:40:18,900 რომ უბრალოდ მოდით მართვა მონაცემები ჩვენს ბაზაში. 842 00:40:18,900 --> 00:40:23,040 ეს იგივეა, ორმაგი დაწკაპვით Excel, გაშვებული ვებ დაფუძნებული მობილური შესახებ. 843 00:40:23,040 --> 00:40:26,370 >> და რას ვაპირებთ გამოვიყენოთ ეს საბოლოო ჯამში, მომავალ კვირას, არ P- ნაკრები ექვსი, 844 00:40:26,370 --> 00:40:28,680 მაგრამ ავაშენოთ რამე მოუწოდა CS50 ფინანსთა, რომელიც 845 00:40:28,680 --> 00:40:32,630 აპირებს აქვს მონაცემთა ბაზა მომხმარებლებს, მომხმარებლის სახელები და პაროლები, 846 00:40:32,630 --> 00:40:34,860 დოლარის რაოდენობით, რომ ისინი აქვს მათი საბანკო ანგარიშები. 847 00:40:34,860 --> 00:40:37,280 ეს იქნება რაღაც თქვენ გამოვიყენოთ შესანახად 848 00:40:37,280 --> 00:40:39,910 სიმბოლოები და რაოდენობები აქციების, რომ მომხმარებლებს 849 00:40:39,910 --> 00:40:42,567 შეიძინა გამოყენებით ვირტუალური დოლარი, რომ თქვენ, რათა მათ. 850 00:40:42,567 --> 00:40:44,900 და ის აპირებს, საშუალებას აძლევს მომხმარებლებს უნდა დარეგისტრირდეთ საიტზე, 851 00:40:44,900 --> 00:40:47,190 ისე, რომ თუნდაც თქვენს მეგობრებს სრულყოფილი რომ თქვენი საიტი 852 00:40:47,190 --> 00:40:49,360 და რეალურად რეგისტრაცია, შესვლა და ითამაშოს გარშემო 853 00:40:49,360 --> 00:40:52,807 და ცდილობენ იპოვონ ბრალია თქვენი კოდი, და ცდილობენ იპოვონ შეცდომებს თქვენს საიტზე. 854 00:40:52,807 --> 00:40:55,390 და ისინი უბრალოდ დარეგისტრირდეთ დასძინა თავს, ეფექტურად, 855 00:40:55,390 --> 00:40:58,120 მეშვეობით კოდი წერთ თქვენს მონაცემთა ბაზაში. 856 00:40:58,120 --> 00:41:02,470 >> მაგალითად, ეს არის სწრაფი screenshot რა ბაზაში შეიძლება გამოიყურებოდეს. 857 00:41:02,470 --> 00:41:05,190 ეს იყო ერთ-ერთი გასული წლის solutions-- 858 00:41:05,190 --> 00:41:07,760 ეს არის, როგორც მინი Excel შეიტანოს, ინახება ჩვენს ბაზაში, 859 00:41:07,760 --> 00:41:09,950 ინახება ამ პროგრამული მოუწოდა MySQL. 860 00:41:09,950 --> 00:41:13,260 მარცხენა მხარეს, მე, როგორც ჩანს, ყოველ შესახებ უნიკალური ნომერი. 861 00:41:13,260 --> 00:41:16,200 მეორე სვეტში, მე მოცემული ყველას შესახებ name-- საკუთარი 862 00:41:16,200 --> 00:41:16,880 მათ შორის. 863 00:41:16,880 --> 00:41:21,430 და მარჯვენა მხარეს, მე მისცა მათ hash. 864 00:41:21,430 --> 00:41:26,760 >> ახლა ეს არის რეალურად დაგავიწყდათ, მაგრამ ეს არ არის ჩვეულებრივი ტექსტური დაგავიწყდათ. 865 00:41:26,760 --> 00:41:30,160 ეს არის დაშიფრული პაროლი, თუ თქვენ, ან hash დაგავიწყდათ. 866 00:41:30,160 --> 00:41:32,000 რომელიც ჩვენ დავბრუნდებით ადრე ხანგრძლივი. 867 00:41:32,000 --> 00:41:34,340 >> მაგრამ თუ თქვენ ოდესმე წაიკითხა სტატია, თუ როგორ 868 00:41:34,340 --> 00:41:37,950 თქვენი პაროლი რაღაც ბანკის ან ნახვა შეიძლება დათმობაზე წავიდა, 869 00:41:37,950 --> 00:41:39,630 ეს შეიძლება ზოგადად ნიშნავს, ერთი ორი რამ. 870 00:41:39,630 --> 00:41:42,780 ასე რომ, ეს მხოლოდ ნაწყვეტია ექვსი მომხმარებლებს. 871 00:41:42,780 --> 00:41:45,460 ყველა თქვენ ახლა შეგიძლიათ გაერკვნენ გარეთ მეშვეობით გარჩევაში ან cracking 872 00:41:45,460 --> 00:41:47,690 რა არის ჩვენი ექვსი ადამიანი პაროლები. 873 00:41:47,690 --> 00:41:49,720 მაგრამ თუ თქვენ ოდესმე მიღებული მზადყოფნაში ან ბოდიშის მოხდას 874 00:41:49,720 --> 00:41:52,803 კომპანია, ან ნახვა გამონათქვამი, უკაცრავად, ჰაკერი შეიჭრა ჩვენს ბაზაში, 875 00:41:52,803 --> 00:41:56,360 ალბათ უნდა შეცვალოს თქვენი დაგავიწყდათ, რა ნიშნავს ეს? 876 00:41:56,360 --> 00:41:59,670 >> ისე, ერთი, ნიშნავს იმას, რომ კომპანია უკვე უფრო მარაზმატულ, 877 00:41:59,670 --> 00:42:03,630 და უკვე შენახვის თქვენი პაროლი სვეტი, როგორც ეს, unencrypted. 878 00:42:03,630 --> 00:42:05,840 რაც იმას ნიშნავს, მოწინააღმდეგის, რომელიც მოიპარეს მონაცემთა ბაზა, 879 00:42:05,840 --> 00:42:07,440 ფაქტიურად იცის თქვენი სახელი და პაროლი. 880 00:42:07,440 --> 00:42:08,960 ეს არის ყველაზე უარესი სცენარი. 881 00:42:08,960 --> 00:42:11,710 და როგორც თქვენ ხედავთ P- ნაკრები შვიდი, ისე, რომ თავიდან ავიცილოთ. 882 00:42:11,710 --> 00:42:15,624 არ არსებობს არანაირი საბაბი, რომ ფორმა სისულელე დღევანდელ ინტერნეტ. 883 00:42:15,624 --> 00:42:18,540 Two-- და იპოვით რამდენიმე სტატია ჩვენების მიცემაზე იმ ფაქტს, რომ ეს ჯერ კიდევ 884 00:42:18,540 --> 00:42:21,710 ხდება, nonetheless-- ორი, იქნებ მოწინააღმდეგის 885 00:42:21,710 --> 00:42:23,840 მოიპარა მობილური ბაზაში. 886 00:42:23,840 --> 00:42:27,110 რომელიც ჯერ კიდევ სახის ცუდი, რადგან ახლა მათ იციან, რომ მე მაქვს ექვსი მომხმარებელს, 887 00:42:27,110 --> 00:42:29,270 მე ვიცი, რომ მომხმარებლის სახელი იმ ექვსი მომხმარებელს, 888 00:42:29,270 --> 00:42:32,910 და მე ვიცი, დაშიფრული ვერსიები, ან hashed ვერსიით, 889 00:42:32,910 --> 00:42:34,340 იმ ექვსი მომხმარებელთა პაროლები. 890 00:42:34,340 --> 00:42:37,010 მაგრამ ნებისმიერი, ვინც შეიძლება შესრულებულია [? Hacker 2?] 891 00:42:37,010 --> 00:42:41,150 სადაც თქვენ დაბზარული პაროლები, ან მიიღო შევხედოთ, რომ მობილური პრობლემა 892 00:42:41,150 --> 00:42:46,280 კომპლექტი, რატომ არის ის ჯერ კიდევ ცოტა შემაშფოთებელი იმ შემთხვევაში, თუ მოწინააღმდეგე იცის თქვენი hash 893 00:42:46,280 --> 00:42:47,435 პაროლები? 894 00:42:47,435 --> 00:42:49,732 >> აუდიტორია: იმიტომ, რომ ისინი შესვლის მთელი ლექსიკონი 895 00:42:49,732 --> 00:42:50,690 ქეშირების ფუნქცია. 896 00:42:50,690 --> 00:42:54,520 და თუ დაგავიწყდათ არის ლექსიკონი სიტყვა, [? მათ შეუძლიათ მხოლოდ match--?] 897 00:42:54,520 --> 00:42:57,640 >> დავით Malan: ზუსტად, მოწინააღმდეგე შეგიძლიათ უბრალოდ წერენ კოდი, ისევე როგორც ზოგიერთ თქვენგანს 898 00:42:57,640 --> 00:43:00,526 გააკეთა [? Hacker?] 2, რომლის დროსაც თქვენ გადაურბინოთ 899 00:43:00,526 --> 00:43:03,400 ყველა სიტყვა ლექსიკონი, ან ყველა შესაძლო კომბინაციები 900 00:43:03,400 --> 00:43:06,610 მეშვეობით Z და ერთი გზით ცხრა რომელიც ჟღერს, როგორც ბევრი, და ეს არის. 901 00:43:06,610 --> 00:43:08,361 მაგრამ კომპიუტერი, ეს არის საკმაოდ darn სწრაფად. 902 00:43:08,361 --> 00:43:10,610 და სინამდვილეში, ეს იყო წერტილი [? Hacker 2,?] იყო 903 00:43:10,610 --> 00:43:12,540 იმისათვის, პერსონალი, რომ სიტყვასიტყვით ასე გამოიყურება, 904 00:43:12,540 --> 00:43:14,900 და საპირისპირო ინჟინერი ის, რაც რეალურად იყო. 905 00:43:14,900 --> 00:43:17,270 >> ასე რომ, ჩვენ შევხედოთ, თუ როგორ შეუძლია შესანახად ეს უფრო ეფექტურად. 906 00:43:17,270 --> 00:43:20,210 გამოდის, საბედნიეროდ MySQL, არ ვაპირებთ, რომ მონაცემთა ტიპები. 907 00:43:20,210 --> 00:43:22,800 და ერთი სახალისო ნაწილები შესახებ მონაცემთა დიზაინი, იყოს პატიოსანი, 908 00:43:22,800 --> 00:43:25,810 რეალურად გადამწყვეტი თავს როგორ უნდა წარმოადგენს მონაცემები? 909 00:43:25,810 --> 00:43:29,630 თუ თქვენ წარმოადგენს ტელეფონის ნომერი, int, ისევე როგორც დიდი რაოდენობით, ან ხანგრძლივი? 910 00:43:29,630 --> 00:43:31,630 თუ თქვენ რეალურად ამის გაკეთება როგორც თანმიმდევრობა სიმბოლო? 911 00:43:31,630 --> 00:43:33,780 და არ შეიძლება იყოს ძალიან არასამთავრობო ტრივიალური ზემოქმედება. 912 00:43:33,780 --> 00:43:36,714 >> ფაქტობრივად, ერთ-ერთი ადრეული, გართობა გერმანე ისტორიები 913 00:43:36,714 --> 00:43:39,880 არის, როდესაც Mark Zuckerberg აშენებდა Facebook, თავდაპირველად დაიწერა, 914 00:43:39,880 --> 00:43:42,300 და მაინც ფართოდ არის დაწერილი PHP. 915 00:43:42,300 --> 00:43:45,400 და ერთ-ერთი ყველაზე დიდი გამოწვევები მათ წინაშე დილით იყო სკალირების. 916 00:43:45,400 --> 00:43:48,820 როდესაც ისინი ინახება და დასძინა, სკოლის შემდეგ სკოლა, სკოლა, ჩემს ცოდნას, 917 00:43:48,820 --> 00:43:51,639 ერთი ორიგინალური გადაწყვეტილებები არსებითად, დააკოპირეთ და ჩასვით 918 00:43:51,639 --> 00:43:53,430 ზოგიერთი მონაცემთა ბაზები და ზოგიერთი კოდი, 919 00:43:53,430 --> 00:43:55,346 ისე, რომ ჰარვარდის გაშვებული საკუთარი სერვერი, 920 00:43:55,346 --> 00:43:56,995 და MIT გაშვებული საკუთარი სერვერი. 921 00:43:56,995 --> 00:43:59,120 და ეს იყო, რატომ, რაღაც ვინც შეიძლება გავიხსენოთ, 922 00:43:59,120 --> 00:44:01,510 თქვენ ვერ მეგობრები სხვა ქსელები. 923 00:44:01,510 --> 00:44:05,050 >> თქვენ ალბათ არ გაქვთ მეგობრებს MIT და ჰარვარდის 10 ან იმდენად წლის წინ, 924 00:44:05,050 --> 00:44:07,467 მაგრამ თქვენ ვერ span ქსელები ამისთვის ნაწილობრივ რომ მიზეზი. 925 00:44:07,467 --> 00:44:10,550 და ერთ-ერთი ყველაზე დიდი გამოწვევები ჩანაწერები და კომპანიებს, როგორიცაა Facebook 926 00:44:10,550 --> 00:44:13,460 რეალურად გატარება ასობით და ათასობით და მილიონობით 927 00:44:13,460 --> 00:44:14,460 მოთხოვნების წამში. 928 00:44:14,460 --> 00:44:16,501 ასე რამ დავიწყებთ ვსაუბრობთ ამ კვირაში 929 00:44:16,501 --> 00:44:19,860 ნამდვილად იქნება გერმანე წერა კარგი პროგრამული უზრუნველყოფა და popularly 930 00:44:19,860 --> 00:44:23,040 წარმატებული ინსტრუმენტები, რომ შეუძლია უამრავი მომხმარებლებს. 931 00:44:23,040 --> 00:44:25,460 >> ასე რომ, ჩვენ ვსაუბრობთ რამ მოსწონს ინდექსირებას და ძებნას, 932 00:44:25,460 --> 00:44:26,910 არამედ ის, რომ იგი დღეს. 933 00:44:26,910 --> 00:44:28,780 ჩვენ ვნახავთ უფრო ოთხშაბათს. 934 00:44:28,780 --> 00:44:31,780 935 00:44:31,780 --> 00:44:33,902 >> [მუსიკა - "Seinfeld" თემა] 936 00:44:33,902 --> 00:44:35,943 დავით Malan: თქვენ შეგიძლიათ მას, და სხვაობა ეს. 937 00:44:35,943 --> 00:44:38,859 და თქვენ არ უნდა გამყარებაში ზოგიერთი წინასწარ განსაზღვრული ოდენობით მეხსიერება. 938 00:44:38,859 --> 00:44:40,580 ისე, რა, რომ აპირებს ეწოდოს? 939 00:44:40,580 --> 00:44:42,369 >> დინამიკები 1: ისე, რა ხდება? 940 00:44:42,369 --> 00:44:43,535 დინამიკები 2: რას ნიშნავს? 941 00:44:43,535 --> 00:44:44,451 ის ლექციას. 942 00:44:44,451 --> 00:44:47,650 დავით Malan: ჩვენ შეგვიძლია გამოვიყენოთ ფუნქცია მოუწოდა malloc რომ memory-- 943 00:44:47,650 --> 00:44:50,050 >> დინამიკები 1: რატომ არ მისი იარაღი მოძრავი? 944 00:44:50,050 --> 00:44:52,450 >> დინამიკები 2: ისე that's-- თქვენ იცით, რომ ეს ნორმალურია. 945 00:44:52,450 --> 00:44:57,162 ეს, ისევე, მას აქვს მხოლოდ დიდი ძეხვი ჩამოკიდებული იქ. 946 00:44:57,162 --> 00:44:59,040 >> დინამიკები 1: ეს ნორმალურია? 947 00:44:59,040 --> 00:45:03,096 >> დინამიკები 2: ჰო, მე ვფიქრობ, რომ ჩვენ მხოლოდ ვივარაუდოთ, ის შემთხვევით 948 00:45:03,096 --> 00:45:06,840 შეცვალა მისი დეზოდორანტი superglue. 949 00:45:06,840 --> 00:45:07,608