1 00:00:00,000 --> 00:00:01,940 >> [მუსიკალური სათამაშო] 2 00:00:01,940 --> 00:00:11,130 3 00:00:11,130 --> 00:00:14,620 >> DAVID Malan: ეს არის CS 50 და ეს არის დაწყების კვირაში ცხრა. 4 00:00:14,620 --> 00:00:18,240 და რა გვეგონა ჩვენ გვინდა გავაკეთოთ დღეს არ არის მხოლოდ დახურვა თავი გასულ კვირას 5 00:00:18,240 --> 00:00:22,670 მასალა, სადაც ჩვენ ფოკუსირებული სერვერზე ვებ-პროგრამირების PHP და SQL, 6 00:00:22,670 --> 00:00:23,549 ზოგიერთი მონაცემთა პერსონალი. 7 00:00:23,549 --> 00:00:25,590 ჩვენ ვსაუბრობთ ცოტა უსაფრთხოების დღეს და შემდეგ 8 00:00:25,590 --> 00:00:29,590 გადასვლის კლიენტის მხარეს პროგრამირების ენა ცნობილია როგორც JavaScript. 9 00:00:29,590 --> 00:00:31,330 მაგრამ პირველი, ზოგიერთი შესყიდვა. 10 00:00:31,330 --> 00:00:35,030 >> თქვენ შეიძლება გავიხსენოთ, რომ ოთხშაბათი, მე გადმოცემულია 11 00:00:35,030 --> 00:00:37,550 დაწერა ვებგვერდზე, მიიღო მომხმარებლის შეყვანის 12 00:00:37,550 --> 00:00:41,120 by HTML ფორმა, რომელიც შემდეგ ინახება რომ მომხმარებლის input სახელი, ტელეფონის 13 00:00:41,120 --> 00:00:43,124 ციფრები, და მობილური ტელეფონები მატარებლების მონაცემთა ბაზაში. 14 00:00:43,124 --> 00:00:45,540 და შემდეგ მე მქონდა პატარა command ონლაინ სკრიპტი დაწერილი PHP 15 00:00:45,540 --> 00:00:47,956 რომელიც უნდა iterate მეტი რიგები მონაცემთა ბაზაში 16 00:00:47,956 --> 00:00:49,400 და გააგზავნეთ ტექსტური შეტყობინებები. 17 00:00:49,400 --> 00:00:53,870 მიუხედავად იმისა, რომ რამდენიმე, რამდენიმე მცდელობა, ჩვენ არ მიიღოს, რომ სამუშაო ბოლოსთვის. 18 00:00:53,870 --> 00:00:57,820 >> ასე გავატარე მთელი კვირა სამუშაო რომ კოდი გვაძლევს წარსულში წერტილი 19 00:00:57,820 --> 00:01:01,220 სადაც ჩვენ შეჩერდით, სადაც ყველა მე მივიღე ბოლოსთვის ოთხშაბათი 20 00:01:01,220 --> 00:01:05,500 იყო ამ ტექსტის გაგზავნა საწყისი Margo როგორც მე იბრძოდა, 21 00:01:05,500 --> 00:01:09,940 მოყვება ტექსტი გაგზავნა სხვა კლასელი, თქვენ მოხვდით ამ დავით. 22 00:01:09,940 --> 00:01:14,030 მოჰყვა ამ ერთი, შესანიშნავად ხელს უწყობს. 23 00:01:14,030 --> 00:01:15,840 განაგრძო, ძალიან გამამხნევებელია. 24 00:01:15,840 --> 00:01:20,960 მე თითქმის მივიღე ეს, სანამ then-- და ეს არის ის, რომ შენიშვნა დასრულდა ოთხშაბათს. 25 00:01:20,960 --> 00:01:25,850 და შემდეგ, რეალურად, ალბათ, ჩემი საყვარელი, მომენტი მოგვიანებით, ამ მოვიდა. 26 00:01:25,850 --> 00:01:27,000 Damn Live Stream. 27 00:01:27,000 --> 00:01:31,080 >> ამიტომ დღეს, ჩვენ დაფიქსირება ამ სწრაფი შეხედეთ რა მე ვაკეთებ შემდეგ. 28 00:01:31,080 --> 00:01:35,440 ასე რომ ყველა ეს კოდი არის შესაძლებელი ონლაინ გასულ კვირას, კვირაში რვა, 29 00:01:35,440 --> 00:01:36,300 კოდის. 30 00:01:36,300 --> 00:01:39,425 და დაინახავთ, რომ მე გაიარა, და მე რეალურად დაასუფთავეს რამ ცოტა. 31 00:01:39,425 --> 00:01:42,080 მე გააცნო რამდენიმე სხვა მახასიათებლები SQL მონაცემთა ბაზაში. 32 00:01:42,080 --> 00:01:45,300 მაგალითად, ვიდრე უბრალოდ მიიღოს გადამზიდავი var char 33 00:01:45,300 --> 00:01:47,310 როგორც მე ვფიქრობ, მე on the fly გასულ კვირას. 34 00:01:47,310 --> 00:01:49,820 ნაცვლად განისაზღვრება, როგორც რასაც Enum. 35 00:01:49,820 --> 00:01:53,310 >> და ზოგიერთი თქვენ შეიძლება არ მინახავს ეს როგორც ჩვენ შესწავლილი C. Enum ფაქტიურად 36 00:01:53,310 --> 00:01:56,820 თვისება C, სადაც შეგიძლიათ ჩამოვთვალოთ მთელი bunch მუდმივები 37 00:01:56,820 --> 00:01:59,640 და მივანიჭოთ მათ ავტომატიკა ღირებულებები, როგორც ერთი, ორი, სამი, ოთხი 38 00:01:59,640 --> 00:02:01,330 გარეშე მძიმე კოდი ნომრები. 39 00:02:01,330 --> 00:02:04,780 ასე რომ, SQL ოპერირებს იგივე, რომლის მიხედვითაც, თუ თქვენ გაქვთ მონაცემთა ბაზა ველი, რომ თქვენ მხოლოდ 40 00:02:04,780 --> 00:02:09,389 მინდა, რომ მიიღოს ერთი სასრული ღირებულებები, თქვენ შეგიძლიათ სიტყვასიტყვით დააკონკრეტა ის 41 00:02:09,389 --> 00:02:13,120 როგორც მე არ კეთდება იქ ოთხი პოპულარული აშშ მობილურში მატარებლები. 42 00:02:13,120 --> 00:02:13,819 >> ასე რომ, მე რომ. 43 00:02:13,819 --> 00:02:16,610 მე და მთელი რიგი ცვლილებები, როგორც ასევე, ყველაზე მნიშვნელოვანი რაც 44 00:02:16,610 --> 00:02:20,090 იყო მიიღოს ელ მუშაობს იმიტომ, რომ გავიხსენოთ, რომ ეს პროგრამა დაეყრდნო, რომელიც 45 00:02:20,090 --> 00:02:23,470 ზოგადად მოუწოდა ელ SMS gateway, რომელიც მხოლოდ 46 00:02:23,470 --> 00:02:27,670 ლამაზი გზა ამბობდა, რომ Verizon და AT & T, და სხვები მხარს უჭერენ სერვერზე, 47 00:02:27,670 --> 00:02:30,740 რომლის მიხედვითაც, თუ იგი იღებს ელ, იგი გარდაქმნის მას SMS 48 00:02:30,740 --> 00:02:33,290 და უგზავნის ტექსტი გაგზავნა ვიღაცის ტელეფონში. 49 00:02:33,290 --> 00:02:37,010 ასე რომ, თუ მე სწორად, აქ არის ახალი და გაუმჯობესებული სახით 50 00:02:37,010 --> 00:02:39,259 რომ აპირებს გაიგო ახალი და გაუმჯობესებული კოდი, რომელიც 51 00:02:39,259 --> 00:02:40,300 თქვენ შეგიძლიათ ითამაშოთ ონლაინ რეჟიმში. 52 00:02:40,300 --> 00:02:44,140 და ეს იმედია ჩემი ტელეფონი beep რაღაც მომენტში. 53 00:02:44,140 --> 00:02:47,240 >> ასე რომ, პირველი, მე ვაპირებ აკრიფოთ ჩემი სახელი. 54 00:02:47,240 --> 00:02:51,400 მეორე, მე არ ვაპირებ გავაკეთოთ ეს ამ დროს. 55 00:02:51,400 --> 00:02:53,920 მე ვაპირებ არ შეამოწმოს ელემენტის. 56 00:02:53,920 --> 00:02:56,710 და ეს მხოლოდ ცოტა რამ ასე რომ არ 57 00:02:56,710 --> 00:02:59,250 შექმნა საათი პოსტ წარმოება მუშაობა, როგორც მე ბოლო დროს. 58 00:02:59,250 --> 00:03:02,300 ახლა იქ არის ჩემი ტელეფონის ნომერი. 59 00:03:02,300 --> 00:03:03,560 >> მე აირჩიოთ Verizon. 60 00:03:03,560 --> 00:03:10,260 და აქ, მოდით მივმართოთ ამ მიკროფონი აქ, და მიზნად ისახავს ამ დროს ჩემი ტელეფონი აქ. 61 00:03:10,260 --> 00:03:13,130 მე ვაპირებ დააწკაპუნეთ რეგისტრაცია, რომელიც უნდა იმედია 62 00:03:13,130 --> 00:03:14,530 დააყენოს ის მონაცემთა ბაზაში. 63 00:03:14,530 --> 00:03:16,780 ახლა მე ვაპირებ წასვლა command line პროგრამა, რომელიც 64 00:03:16,780 --> 00:03:20,825 გაწვევას ეწოდა dot slash ტექსტი, და ჯვრის თქვენი თითების. 65 00:03:20,825 --> 00:03:24,092 66 00:03:24,092 --> 00:03:26,527 აქ ჩვენ მივდივართ. 67 00:03:26,527 --> 00:03:27,501 >> [PHONE dings] 68 00:03:27,501 --> 00:03:28,962 >> [ტაში] 69 00:03:28,962 --> 00:03:31,815 70 00:03:31,815 --> 00:03:34,940 DAVID Malan: ასე უფრო fun ვიდრე ამას ეს არის fun, რა თქმა უნდა, თუ მე ეს. 71 00:03:34,940 --> 00:03:38,004 მაგრამ ეს უფრო მეტი გართობა, ვიფიქრე, რომ თუ ჩვენ განთავსებულია ერთ იმ ფილმის მომენტები 72 00:03:38,004 --> 00:03:40,420 სადაც, როგორც რაღაც ნამდვილად ცუდი მოხდა მსოფლიოში, 73 00:03:40,420 --> 00:03:42,860 და როგორც ყველა NSA ხალხის მობილური ტელეფონები დაიწყება beeping 74 00:03:42,860 --> 00:03:44,860 ტექსტი შეტყობინებები საგანგაშო მათ ეს ფაქტი. 75 00:03:44,860 --> 00:03:47,026 ასე მეგონა, რომ ჩვენ შეეცდება ხელახლა იგივე აქ, 76 00:03:47,026 --> 00:03:49,610 რომლის დროსაც არ იყენებს მონაცემთა ბაზაში, ნაცვლად წინასწარ 77 00:03:49,610 --> 00:03:51,490 დაწერა პროგრამა, რომელიც ასე გამოიყურება. 78 00:03:51,490 --> 00:03:53,660 >> ეს არის index.php-- და მე ზუსტად ამ კოდი ონლაინ 79 00:03:53,660 --> 00:03:56,710 როგორც well--, როგორც ჩანს, უბრალოდ უწევს form.php, 80 00:03:56,710 --> 00:04:00,990 გამოყენებით MVC style პარადიგმა, რომ ჩვენ ვისაუბროთ უფრო დეტალურად პრობლემა კომპლექტი 81 00:04:00,990 --> 00:04:01,650 შვიდი. 82 00:04:01,650 --> 00:04:02,910 რომ ფორმა საკმაოდ მარტივია. 83 00:04:02,910 --> 00:04:06,634 ის აპირებს წარუდგინოს ფაილი სახელად here.php ფოსტით. 84 00:04:06,634 --> 00:04:09,300 და ეს აშკარად სთხოვს სახელის და ტელეფონის ნომერი, 85 00:04:09,300 --> 00:04:11,400 და შემდეგ მეშვეობით, ე.წ. აირჩიეთ მენიუ, ეს 86 00:04:11,400 --> 00:04:14,250 ვაპირებ მოგცემთ მინიმუმ ოთხი პოპულარული აშშ მობილურში მატარებლები, 87 00:04:14,250 --> 00:04:17,470 და შემდეგ საშუალებას გაძლევთ ეფექტურად მიიღოს დასწრება დააჭირეთ აქ. 88 00:04:17,470 --> 00:04:20,471 >> და აქ, იმავდროულად, აპირებს სესხის ზოგიერთი კოდი ბოლო დროს. 89 00:04:20,471 --> 00:04:22,553 და თუ უბრალოდ skim ეს თქვენ ნახავთ, რომ არსებობს 90 00:04:22,553 --> 00:04:23,900 მთელი bunch შეცდომა შემოწმებისას. 91 00:04:23,900 --> 00:04:26,640 მაგრამ სილამაზით ბოლოს ის არის, რომ ჩვენ არ წერილობით მონაცემთა ბაზაში დღეს. 92 00:04:26,640 --> 00:04:29,130 ჩვენ შენახვის მარტივი და უბრალოდ გაგზავნის out იმედია 93 00:04:29,130 --> 00:04:32,190 ტექსტის გაგზავნა მეშვეობით ფუნქცია დაწერა უკანასკნელი რამდენიმე დღის ზარი 94 00:04:32,190 --> 00:04:36,270 ტექსტი, რომელიც ფუნქციები. php, რომელიც კვლავ ხელმისაწვდომი. 95 00:04:36,270 --> 00:04:38,210 >> ასე რომ, თუ გსურთ მიიღოს ამ. 96 00:04:38,210 --> 00:04:40,190 ჩვენ არ უნდა შენახვის არაფერი. 97 00:04:40,190 --> 00:04:43,809 გადადით ამ URL აქ რეალურ დროში. 98 00:04:43,809 --> 00:04:46,850 ნუ შეიყვანთ მას უბრალოდ არ არის, მაგრამ მოდით ვნახოთ, თუ შეგვიძლია ერთი ამ ფილმის 99 00:04:46,850 --> 00:04:49,830 მომენტები, სადაც ყველას მობილურში იწყება beeping, იმედია მხოლოდ 100 00:04:49,830 --> 00:04:53,580 ერთხელ ამ წელს განსხვავებით 2011 სადაც წავიდა horribly awry. 101 00:04:53,580 --> 00:04:58,910 და კიდევ რა, რომ მისამართი, თქვენ უნდა ნახოთ სუპერ მარტივი ფორმით 102 00:04:58,910 --> 00:05:03,884 რომ, თუ თქვენ გაქვთ სახელი, მობილურ ტელეფონზე ნომერი, და მობილურში გადამზიდავი 103 00:05:03,884 --> 00:05:06,175 შეესაბამება სიაში, წავიდეთ წინ და შეავსოთ ფორმა. 104 00:05:06,175 --> 00:05:07,880 მაგრამ არ მოხვდა წარუდგინოს მხოლოდ ამჟამად. 105 00:05:07,880 --> 00:05:10,850 >> ფორმა ხდება ასე გამოიყურება. 106 00:05:10,850 --> 00:05:13,660 წავიდეთ წინ და ტიპის თქვენი სახელი, ტელეფონის ნომერი. 107 00:05:13,660 --> 00:05:17,670 ახდენენ, ვინმე აპირებს წინ მრუდი. 108 00:05:17,670 --> 00:05:18,170 ეს OK. 109 00:05:18,170 --> 00:05:19,340 OK, ყველას შევსებული ფორმა. 110 00:05:19,340 --> 00:05:21,400 ეს უნდა მუშაობა ტელეფონი, ძალიან, თუ გნებავთ. 111 00:05:21,400 --> 00:05:23,695 ყველა უფლება, თქვენი ნიშნების, მიიღეთ მითითებული, წასვლა. 112 00:05:23,695 --> 00:05:24,195 მოხვდა აქ. 113 00:05:24,195 --> 00:05:27,275 114 00:05:27,275 --> 00:05:27,775 რა? 115 00:05:27,775 --> 00:05:31,140 116 00:05:31,140 --> 00:05:31,640 პოსტები 117 00:05:31,640 --> 00:05:34,410 118 00:05:34,410 --> 00:05:40,250 ვფიცავ ღმერთს, მე გამოცდილი ეს რამდენჯერმე შეხვდა. 119 00:05:40,250 --> 00:05:41,720 შენ ეს? 120 00:05:41,720 --> 00:05:43,145 >> [INTERPOSING ხმები] 121 00:05:43,145 --> 00:05:46,470 122 00:05:46,470 --> 00:05:49,560 >> დავით Malan: OK, მომხმარებლის შეცდომა, ალბათ. 123 00:05:49,560 --> 00:05:50,550 რომ ორი. 124 00:05:50,550 --> 00:05:53,300 ის მუშაობდა ორი გარეთ რამდენიმე ასეული, სამი, ოთხი. 125 00:05:53,300 --> 00:05:55,940 OK, რომ კარგია. 126 00:05:55,940 --> 00:05:58,520 ოთხი ხუთიდან სისწორის როგორ შესახებ. 127 00:05:58,520 --> 00:05:59,810 >> ასე რომ, რა მოხდა? 128 00:05:59,810 --> 00:06:02,727 ასე რომ, სავარაუდოდ, არ ხედავს თქვენი ეკრანები, რატომ შეიძლება ეს არ errored? 129 00:06:02,727 --> 00:06:05,518 ეს, ალბათ, რომ მხოლოდ ცდილობს, რომ ძალიან ბევრი კავშირები 130 00:06:05,518 --> 00:06:08,110 ჰარვარდის ფოსტის სერვერზე ყველა დროს ერთხელ იგივე IP მისამართი. 131 00:06:08,110 --> 00:06:10,740 მე უბრალოდ გამოცნობა, რადგან მე არ გვაქვს იმის ფუფუნება, ტესტირება 132 00:06:10,740 --> 00:06:13,220 ეს კოდი ზოგიერთ 300 ადამიანი წინასწარ 133 00:06:13,220 --> 00:06:16,040 მაგრამ ახლა ვხვდები, რომ რომ მინიმუმ უნდა 134 00:06:16,040 --> 00:06:18,250 მიღებული გაწეული სამუშაო ამ დროს. 135 00:06:18,250 --> 00:06:22,880 >> ყველა უფლება, ასე რატომ არის ეს ყველა უფრო გერმანე რა ხდება? 136 00:06:22,880 --> 00:06:24,900 ისე, პირველ რიგში, სწრაფი რამდენიმე განცხადებები. 137 00:06:24,900 --> 00:06:29,350 ასე რომ, ერთი, თუ გსურთ შეუერთდება Chang, და ნიკ, და სხვები ლანჩი ამ პარასკევს, 138 00:06:29,350 --> 00:06:32,400 ამის გაკეთება RSVP ჩვეულებრივი URL არსებობს. 139 00:06:32,400 --> 00:06:35,650 თუ თქვენ ფიქრი კონცენტრაცია ან აკეთებს საშუალო CS, 140 00:06:35,650 --> 00:06:38,941 თუ თქვენ მეორე, ან freshman, ან თუნდაც უმცროს ან უფროს ამ ეტაპზე 141 00:06:38,941 --> 00:06:42,490 და მაინც შესუსტებას კურსები, გააცნობიეროს, რომ ინჟინერიის სკოლა 142 00:06:42,490 --> 00:06:45,620 შეგროვება უფასო თამაში ბენ და ჯერი ნაყინი და რჩევა 143 00:06:45,620 --> 00:06:48,910 ამ ოთხშაბათს მას შემდეგ, რაც კლასის at 4:00 PM in CS შენობა 144 00:06:48,910 --> 00:06:49,771 at Maxwell Dworkin. 145 00:06:49,771 --> 00:06:51,520 თუ ეს არის ძალიან სწრაფი ეკრანზე, უბრალოდ 146 00:06:51,520 --> 00:06:55,260 to cs50.harvard.edu დიდი ბმული Facebook ღონისძიება 147 00:06:55,260 --> 00:06:57,140 სადაც შეგიძლიათ უფრო დეტალურად. 148 00:06:57,140 --> 00:07:01,390 >> ამასობაში, ვიფიქრე, რომ გამოსწორების ერთი სხვა რამ მე goofed ოთხშაბათს. 149 00:07:01,390 --> 00:07:04,400 გამოდის, რომ მარკოზის ID on Facebook არ იყო სამი. 150 00:07:04,400 --> 00:07:05,230 ეს იყო ოთხი. 151 00:07:05,230 --> 00:07:08,330 გამოდის, რომ მას გამოცდა ადრინდელთან შედარებით მახსოვს. 152 00:07:08,330 --> 00:07:12,400 მაგრამ რა ეს იგრძნო, როგორიცაა საშუალება უნდა გავაკეთოთ არის გაიყვანოს URL მოსწონს ეს. 153 00:07:12,400 --> 00:07:16,680 >> გამოდის, რომ Facebook API, განაცხადის პროგრამირების ინტერფეისი, 154 00:07:16,680 --> 00:07:20,070 რომელიც არის მექანიზმი, რომლის დროსაც თქვენ შეუძლია მოითხოვოს მონაცემთა პროგრამულად 155 00:07:20,070 --> 00:07:24,480 Facebook- ზე და დავუბრუნდეთ მანქანა იკითხება ინფორმაცია, არ ვებ გვერდები 156 00:07:24,480 --> 00:07:28,690 მაგრამ მხოლოდ ნედლეული ტექსტი, რაღაც მოუწოდა JavaScript Object ნოტაცია. 157 00:07:28,690 --> 00:07:32,150 და რეალურად, თუ ვარ ამ URL, და მასშტაბის, ჩვეულებრივ, 158 00:07:32,150 --> 00:07:34,960 ეს არის ჩანაწერები საჯაროდ ხელმისაწვდომი ინფორმაცია. 159 00:07:34,960 --> 00:07:37,430 >> და საინტერესო დეტალი აქ არის მხოლოდ, რომ მისი ID 160 00:07:37,430 --> 00:07:40,670 მართლაც, ხმების ოთხი, რომელიც მე მიხვდა, როგორც კი ეს. 161 00:07:40,670 --> 00:07:44,260 თქვენ შეგიძლიათ ამის გაკეთება საკუთარ თავს, თუ თქვენ იცით, თქვენი Facebook ნიკი თუ თქვენ გაქვთ ერთი. 162 00:07:44,260 --> 00:07:45,440 მხოლოდ ჩაწერეთ it up ზედა არსებობს. 163 00:07:45,440 --> 00:07:46,640 და არც ერთი არის კერძო. 164 00:07:46,640 --> 00:07:48,670 მე მხოლოდ ამით კი ამ ინკოგნიტო რეჟიმი. 165 00:07:48,670 --> 00:07:49,900 ასე რომ, მე კი არ ხართ სისტემაში შესული. 166 00:07:49,900 --> 00:07:54,440 და თქვენ ხედავს, რომ მე აშკარად პროფაილი ნომერი 6.454 167 00:07:54,440 --> 00:07:56,480 on Facebook, რომელიც არ არის ძალიან ცუდი ამ დღეებში. 168 00:07:56,480 --> 00:07:59,900 ამიტომ anyhow, თქვენ ასევე ვხედავთ დამატებითი ინფორმაცია არ არსებობს. 169 00:07:59,900 --> 00:08:02,150 >> და სასარგებლო ასპექტი რომ არის, რომ თქვენ 170 00:08:02,150 --> 00:08:06,890 შეიძლება დაწეროთ პროგრამა, რომელიც რატომღაც აერთიანებს ინფორმაციას მოსწონს ეს 171 00:08:06,890 --> 00:08:08,170 თქვენი განცხადება. 172 00:08:08,170 --> 00:08:10,650 შეგიძლიათ მისცეს მომხმარებლებს შეხვიდეთ თქვენს ნახვა, 173 00:08:10,650 --> 00:08:14,190 არ იყენებს საკუთარი საბაჟო სახელი და პაროლს, მაგრამ იქნებ მათი Facebook შესვლა 174 00:08:14,190 --> 00:08:16,170 და მიიღოს ინფორმაცია კი მათი მეგობრები, 175 00:08:16,170 --> 00:08:18,740 თუ ეთანხმება ამ, ან მსგავსი. 176 00:08:18,740 --> 00:08:21,430 ასე აღნიშნავენ, რომ CS50, ძალიან, აქვს საკუთარი APIs, 177 00:08:21,430 --> 00:08:24,620 ერთი კურსი კატალოგი მონაცემებით, ზოგიერთი ჩახუტება მენიუები სასადილო 178 00:08:24,620 --> 00:08:26,730 დარბაზები, ყველა შენობები და ადგილას 179 00:08:26,730 --> 00:08:30,930 კამპუსში ჩვენ გვაქვს API ისევე რომ თქვენ შეგიძლიათ შეკითხვის მსგავსად და მიიღეთ 180 00:08:30,930 --> 00:08:35,520 უკან ტექსტური მონაცემები, რომ თქვენ შეგიძლიათ ინტეგრირება შევიდა PHP ან JavaScript, ან თუნდაც, 181 00:08:35,520 --> 00:08:38,320 მიუხედავად იმისა, რომ ნაკლებად ხშირად, C დაფუძნებული საბოლოო პროექტი. 182 00:08:38,320 --> 00:08:41,190 >> მართლაც წინ საბოლოო პროექტი რამდენიმე ეტაპები. 183 00:08:41,190 --> 00:08:42,980 თქვენ მივიღე ელ us მეორე დღეს. 184 00:08:42,980 --> 00:08:45,761 გააცნობიეროს, რომ ეს წინადადება გამო ამ მომავალ ორშაბათს. 185 00:08:45,761 --> 00:08:49,010 ეს არ არის აუცილებელი სავალდებულო, მაგრამ თქვენ უნდა მიიღოს თქვენი სწავლების პრაქტიკის 186 00:08:49,010 --> 00:08:51,260 დამტკიცების მიღების ნებისმიერი ცვლილების შემდეგ. 187 00:08:51,260 --> 00:08:54,280 და მაშინ წინ არის რიგი სხვა ეტაპები. 188 00:08:54,280 --> 00:08:56,542 >> ასე აჯავრებენ თქვენ, ძალიან, ზოგიერთი შესაძლებლობები, 189 00:08:56,542 --> 00:08:58,250 ჩვენ გვაქვს bunch of ეს ტონი ნათურები. 190 00:08:58,250 --> 00:09:01,190 და ზოგიერთი თქვენ ბიჭები ახლა უკვე რამდენიმე ამ თქვენს საცხოვრებელი ოთახი ასევე. 191 00:09:01,190 --> 00:09:02,920 და მათაც აქვთ API. 192 00:09:02,920 --> 00:09:07,300 გავიხსენოთ, იმ ორობითი ნათურებით კვირის წინ, რომ დენ ბრედლი და ანსელ 193 00:09:07,300 --> 00:09:08,780 Duff შექმნა ჩვენთვის. 194 00:09:08,780 --> 00:09:12,560 ისინი გამოიყენება პროგრამული ინტერფეისი ეს ნათურა, რომელიც იმ მომენტში 195 00:09:12,560 --> 00:09:15,232 არის plugged შევიდა ელექტროენერგიის და შემდეგ უსადენო 196 00:09:15,232 --> 00:09:17,690 უკავშირდება ცოტა რამ მოუწოდა Bridge ქვემოთ აქ, 197 00:09:17,690 --> 00:09:21,280 როგორც პატარა როუტერი საკუთრების ამ კონკრეტულ მოწყობილობაზე. 198 00:09:21,280 --> 00:09:26,540 >> მაგრამ აღმოჩნდება, რომ, თუ მე ვიცი, თუ როგორ უნდა გაუგზავნე HTTP შეტყობინებები, როგორც ჩვენ ყველა ახლა ამის გაკეთება, 199 00:09:26,540 --> 00:09:31,670 მე შეგიძლიათ გააგზავნოთ გაგზავნა მოსწონს ეს ეს ნათურა ჩართოთ იგი ან გამოსართავად 200 00:09:31,670 --> 00:09:34,000 ან რაიმე ნომერი სხვა ოპერაციების შესახებ. 201 00:09:34,000 --> 00:09:36,110 შეამჩნია, რომ ის არ მიიღოთ, რომ ეს არ შეგიძლიათ. 202 00:09:36,110 --> 00:09:37,760 არსებობს მეორე მოუწოდა დააყენა. 203 00:09:37,760 --> 00:09:39,630 იქ, ფაქტობრივად, რამდენიმე სხვა ასეთი ზმნები. 204 00:09:39,630 --> 00:09:42,920 მაგრამ შეამჩნია გზა არსებობს, სლეში API, ხაზი new დეველოპერი, 205 00:09:42,920 --> 00:09:44,990 სლეში ნათელი, სლეში ერთი, სლეში სახელმწიფო. 206 00:09:44,990 --> 00:09:49,060 >> ეს აშკარად მხოლოდ გზა, რომ კომპანია, Philips, 207 00:09:49,060 --> 00:09:51,640 გადაწყვიტა თქვენ უნდა მოხვდა ერთად HTTP მოთხოვნის 208 00:09:51,640 --> 00:09:55,010 თუ თქვენ გსურთ შეცვალოთ სახელმწიფო ნათურა გამოყენებით HTTP 1.1. 209 00:09:55,010 --> 00:09:56,380 მაშინ შეამჩნია ცარიელი ხაზი. 210 00:09:56,380 --> 00:10:00,170 და მერე ბოლოს რა ჰგავს მასივი გარკვეული, 211 00:10:00,170 --> 00:10:04,730 ეს კიდევ ერთხელ აპირებს ეწოდოს JavaScript Object ნოტაცია, ან Jason. 212 00:10:04,730 --> 00:10:08,000 და რას ხედავთ აქ არის ის, რომ არსებობს სამი გასაღები ღირებულება წყვილი. 213 00:10:08,000 --> 00:10:09,115 >> ერთ-ერთი ძირითადი ეწოდება. 214 00:10:09,115 --> 00:10:10,990 და მისი ღირებულება, როგორც ჩანს, იქნება ჭეშმარიტი. 215 00:10:10,990 --> 00:10:13,612 სიკაშკაშე 128, რომელიც არის რაღაც int. 216 00:10:13,612 --> 00:10:15,820 და შემდეგ გარდამავალი დრო ნულოვანი, რომელიც, როგორც ჩანს, 217 00:10:15,820 --> 00:10:17,970 რამდენი ხანი აპირებს მიიღოს, რომ ეს რამ. 218 00:10:17,970 --> 00:10:19,890 >> ასე რომ, ახლა ეს ნათურა off. 219 00:10:19,890 --> 00:10:22,880 მაგრამ თუ მე ზუსტად ამას მიადევნე მომეცით წასვლა პატარა cheat ფურცელი 220 00:10:22,880 --> 00:10:25,200 რომ დენ შეიქმნა advance-- და მე ვაპირებ 221 00:10:25,200 --> 00:10:27,920 წავიდეთ წინ და ასლი შემდეგი ბრძანება. 222 00:10:27,920 --> 00:10:30,200 Curl, როგორც ზოგიერთი შესაძლოა, მოპოვებული on CS50 223 00:10:30,200 --> 00:10:35,080 განიხილოს არის სასარგებლო, როგორიცაა Telnet ასეთი რომ თქვენ შეგიძლიათ სიმულაცია HTTP მოთხოვნა, 224 00:10:35,080 --> 00:10:36,360 კონკრეტულად აყენებს. 225 00:10:36,360 --> 00:10:39,710 შემიძლია ეს მონაცემები კონკრეტულად რა, ჩვენ მხოლოდ 226 00:10:39,710 --> 00:10:43,430 დაინახა მომენტში წინ კონკრეტულად ამ URL აქ. 227 00:10:43,430 --> 00:10:46,310 და მაშინ Curl აპირებს გაუმკლავდეს ყველა საჭირო headers 228 00:10:46,310 --> 00:10:47,600 და parsing იქ. 229 00:10:47,600 --> 00:10:54,700 >> ასე რომ ყველა მე უნდა გააკეთოთ კოპირება ამ შევიდა ტერმინალის ფანჯარაში და შემდეგ დააჭიროთ. 230 00:10:54,700 --> 00:10:56,000 და ნათურა გრძელდება. 231 00:10:56,000 --> 00:10:59,060 და ეს ყველაფერი გადის ჩემი კომპიუტერის wirelessly 232 00:10:59,060 --> 00:11:01,960 რატომღაც ქვემოთ ხიდი, რომელიც შემდეგ საუბარი ეს ნათურა. 233 00:11:01,960 --> 00:11:02,960 მე შემიძლია ამის გაკეთება რაღაც. 234 00:11:02,960 --> 00:11:07,050 მე შემიძლია ეს რამ წასვლა წითელი მაგალითად. 235 00:11:07,050 --> 00:11:11,040 შემიძლია მაგალითად, რათა ეს ის მწვანე. 236 00:11:11,040 --> 00:11:12,220 მე შემიძლია წასვლა ლურჯი. 237 00:11:12,220 --> 00:11:14,760 >> და შენიშნავს, რომ თითოეულ ამ შემთხვევები, ყველა რომ მე იცვლება 238 00:11:14,760 --> 00:11:18,540 არის ე.წ. ტონი, ღირებულების რეალურად მისცეს მას გარკვეული ფერი. 239 00:11:18,540 --> 00:11:20,320 ნება მომეცით, ჩასვით ეს ერთი ისევე. 240 00:11:20,320 --> 00:11:21,000 ახლა ეს ლურჯი. 241 00:11:21,000 --> 00:11:24,672 >> და თქვენ შეგიძლიათ კიდევ fancier რამ where-- მოდით წავიდეთ მწვანე. 242 00:11:24,672 --> 00:11:26,630 და მე ვერ გავაკეთებ, ეს კი რა თქმა უნდა, ჩემი საკუთარი კოდი. 243 00:11:26,630 --> 00:11:30,670 მაგრამ API თავად მხარს უჭერს ხმაურიანი ოპერაცია 244 00:11:30,670 --> 00:11:35,510 მსგავსი, რომელიც ახლა ადარდებს us შემდეგი 30 წამი. 245 00:11:35,510 --> 00:11:39,170 >> ისე, რომ ერთი გემოვნების, თუ რა შეიძლება გააკეთოს API, ეს ერთი, მათ შორის 246 00:11:39,170 --> 00:11:40,010 ნათურები. 247 00:11:40,010 --> 00:11:42,510 გაითვალისწინეთ, რომ CS50 აქვს რამდენიმე წყვილი Google Glass თუ გსურთ 248 00:11:42,510 --> 00:11:45,380 მინდა დაძლევის რაღაც გასწვრივ იმ ხაზები, Arduino Unos, რომელიც 249 00:11:45,380 --> 00:11:48,670 არის პატარა კომპიუტერი, არსებითად, პატარა მიკროსქემის ფორუმში 250 00:11:48,670 --> 00:11:50,470 რომ შეგიძლიათ დაკავშირება ხაზები და სხვა რამ 251 00:11:50,470 --> 00:11:52,732 და რეალურად კონტროლი თქვენი რეალურ სამყაროში გარემოში. 252 00:11:52,732 --> 00:11:54,940 და მაშინ არსებობს რამდენიმე ახალი სათამაშოები, რომ გვაქვს. 253 00:11:54,940 --> 00:11:59,294 ეს ერთი სიტყვა უბრალოდ ჩამოვიდა მეორე დღეს ფოსტით Myo სამკლაური. 254 00:11:59,294 --> 00:12:01,710 და ვფიქრობდი, რომ ეს არის გზა თქვენ აღფრთოვანებული პროექტები 255 00:12:01,710 --> 00:12:03,720 რომ თქვენ შეიძლება გამოიყენოთ ერთად ეს აპარატურა 256 00:12:03,720 --> 00:12:08,900 რომ ითამაშოს ამ მოკლე კლიპი ისინი იყენებენ აჯავრებენ ეგ 257 00:12:08,900 --> 00:12:10,500 რომ ჩვენ ვცხოვრობთ ამ მომავალში. 258 00:12:10,500 --> 00:12:13,494 259 00:12:13,494 --> 00:12:15,490 >> [მუსიკალური სათამაშო] 260 00:12:15,490 --> 00:13:33,410 261 00:13:33,410 --> 00:13:37,109 >> დავით Malan: ასე რამდენიმე კვირის განმავლობაში, ძალიან შეიძლება, რომ მაგარი CS50 სამართლიანი. 262 00:13:37,109 --> 00:13:39,150 სხვა მოწყობილობა, რომელიც ჩვენ აქვს bunch, რომ ჩვენ 263 00:13:39,150 --> 00:13:42,090 ბედნიერი სესხის out for პროექტები ეწოდება მოძრაობის კონტროლერი. 264 00:13:42,090 --> 00:13:45,030 ეს არის პატარა USB მოწყობილობა თქვენ დაკავშირება კომპიუტერი, 265 00:13:45,030 --> 00:13:47,520 გაძლევთ საშუალებას ურთიერთქმედება თქვენი ლეპტოპი, Mac ან PC, 266 00:13:47,520 --> 00:13:51,570 თითქოს თქვენ ჰქონდა, როგორც Xbox Kinect და რეალურად ფიზიკური შუამდგომლობა ბევრად 267 00:13:51,570 --> 00:13:54,509 როგორც ვხედავთ, ამ ხედვა მომავალში. 268 00:13:54,509 --> 00:13:56,505 >> [მუსიკალური სათამაშო] 269 00:13:56,505 --> 00:15:03,380 270 00:15:03,380 --> 00:15:06,260 >> დავით Malan: ასე რომ, თუ თქვენ გაქვთ არ ვიცი, როგორ რამე მაგდაგვარს 271 00:15:06,260 --> 00:15:10,050 შეიძლება იყოს გამოგონილი ან მუშაობა წლის ტექნიკის დონეს, არ აქვს მნიშვნელობა. 272 00:15:10,050 --> 00:15:13,520 მას შემდეგ, რაც რამდენიმე თვის განმავლობაში CS50, და გაგება პროგრამირების 273 00:15:13,520 --> 00:15:19,460 უფრო ზოგადად, და ვებ პროგრამირების უფრო ცოტა ხნის წინ, და შემდეგ ასევე APIs და HTTP, 274 00:15:19,460 --> 00:15:21,830 თქვენ უნდა ხელმისაწვდომობის მეშვეობით პროგრამული APIs თუ 275 00:15:21,830 --> 00:15:24,680 არ მინდა სესხება ერთი ასეთი მოწყობილობების, რომ რეალურად გაიგო ეს 276 00:15:24,680 --> 00:15:27,180 და არ უნდა ფიქრი ძირითადი განხორციელებას 277 00:15:27,180 --> 00:15:30,220 დეტალები, რომელიც სრულიად შეესაბამება ეს ცნება layering 278 00:15:30,220 --> 00:15:33,610 აბსტრაქცია, რომ ჩვენ ჩანს მთელი სემესტრის განმავლობაში. 279 00:15:33,610 --> 00:15:37,990 >> ასევე მთელი კვირის განმავლობაში, დაინახა წყვილი სიუჟეტებით. 280 00:15:37,990 --> 00:15:40,640 თავდაპირველად, წასვლა სემინარები, თუ მინდა ვისწავლოთ რაღაც 281 00:15:40,640 --> 00:15:42,160 მეტი ნებისმიერ რიგი საკითხები. 282 00:15:42,160 --> 00:15:43,340 იხილეთ URL არსებობს. 283 00:15:43,340 --> 00:15:45,890 და ეს ერთი გაიგზავნა ჩემს მიერ Chang, ვინც იცით, 284 00:15:45,890 --> 00:15:47,850 ვინ არის ბეჭდვის ჩვენი არმია სპილოები. 285 00:15:47,850 --> 00:15:49,910 და ეს იყო სათაური ასეთია. 286 00:15:49,910 --> 00:15:51,280 მე შეშინებული of my new TV. 287 00:15:51,280 --> 00:15:54,301 რატომ ვარ შეშინებული, რომ ეს რამ და თქვენ მინდა იყოს ძალიან. 288 00:15:54,301 --> 00:15:56,050 ასე რომ, ჩვენ ახლა მეტიც სემესტრში, 289 00:15:56,050 --> 00:15:58,860 ძალიან, სადაც კი, თუ თქვენ გაქვთ ოდნავი გაგება 290 00:15:58,860 --> 00:16:02,620 როგორ ინტერნეტში მუშაობს და HTTP, და უსაფრთხოების, მსგავსი რამ 291 00:16:02,620 --> 00:16:03,980 უნდა დაიწყოს დაჭერა თქვენი თვალის. 292 00:16:03,980 --> 00:16:07,450 არამედ, მიხვდებით არის თუ არა ეს ყველაფერი ან არ არის 293 00:16:07,450 --> 00:16:08,430 ფაქტობრივი საფრთხეები. 294 00:16:08,430 --> 00:16:10,940 >> ამიტომ მე მივიღე რამდენიმე ნაწყვეტები ამ სტატიის აქ. 295 00:16:10,940 --> 00:16:12,540 და სიუჟეტი ასეთია. 296 00:16:12,540 --> 00:16:14,300 მე ახლა მფლობელი ახალი smart TV, რომელიც 297 00:16:14,300 --> 00:16:18,470 ჰპირდება სიტყვით ნაკადი მულტიმედიური შინაარსის, თამაშები, app, 298 00:16:18,470 --> 00:16:21,450 სოციალური მედია და ინტერნეტ ამჟამად, მე და ტელევიზორი ძალიან. 299 00:16:21,450 --> 00:16:24,410 ერთადერთი პრობლემა ის არის, რომ მე ახლა ეშინია გამოიყენოს იგი, ამბობს ავტორი. 300 00:16:24,410 --> 00:16:29,592 თქვენ იქნება ძალიან, თუ წაიკითხავთ მეშვეობით 46 გვერდი Privacy Policy ტელევიზიით. 301 00:16:29,592 --> 00:16:31,800 თანხის მონაცემები ამ რაც აგროვებს შემაძრწუნებელია. 302 00:16:31,800 --> 00:16:35,710 ეს დავთრის სად, როდის, როგორ და რამდენ ხანს ტელევიზიით. 303 00:16:35,710 --> 00:16:38,190 ის ადგენს თვალთვალის cookies, როგორც ჩვენ განვიხილეთ, 304 00:16:38,190 --> 00:16:40,560 და შუქურები შექმნილია შესამჩნევია, როდესაც თქვენ გაქვთ 305 00:16:40,560 --> 00:16:43,185 პოპულარულები კონკრეტული შინაარსი ან კერძოდ ფოსტის გაგზავნა 306 00:16:43,185 --> 00:16:45,230 თუ თქვენ გსურთ შეამოწმოთ ელ ტელევიზიით. 307 00:16:45,230 --> 00:16:48,430 ეს მონაცემები პროგრამები გამოყენება, საიტები თქვენ ესტუმრებით, 308 00:16:48,430 --> 00:16:52,280 და თუ როგორ ურთიერთქმედება შინაარსის, ყველაფერს რომ მეშვეობით smart TV. 309 00:16:52,280 --> 00:16:55,470 იგი ასევე, creepier ამაზე ეს არის ჩემი addition-- 310 00:16:55,470 --> 00:16:58,140 აქვს ინტეგრირებული კამერა სახის აღიარება. 311 00:16:58,140 --> 00:17:01,010 >> მიზანია უზრუნველყოს ჟესტი კონტროლი TV 312 00:17:01,010 --> 00:17:05,490 და საშუალებას გაძლევთ შეხვიდეთ პერსონალური ანგარიშის გამოყენებით თქვენი სახე. 313 00:17:05,490 --> 00:17:08,940 ერთის მხრივ, გამოსახულებები შენახული TV ნაცვლად ატვირთული 314 00:17:08,940 --> 00:17:09,940 კორპორატიული სერვერზე. 315 00:17:09,940 --> 00:17:12,520 On downside, ინტერნეტ კავშირი ხდის მთელი TV 316 00:17:12,520 --> 00:17:14,811 დაუცველი ჰაკერები, რომლებიც აჩვენა უნარი 317 00:17:14,811 --> 00:17:16,700 მიიღოს სრული კონტროლი მანქანა. 318 00:17:16,700 --> 00:17:20,880 >> უფრო შემაშფოთებელია, რადგან თუ ეს არ იყო ჭკვიანი საკმარისი, არის მიკროფონი. 319 00:17:20,880 --> 00:17:23,599 სატელევიზიო გამოირჩევა ხმა აღიარება 320 00:17:23,599 --> 00:17:26,859 რომელიც საშუალებას აძლევს მაყურებელს კონტროლი ეკრანზე ხმოვანი ბრძანებები. 321 00:17:26,859 --> 00:17:30,290 მაგრამ მომსახურება გააჩნია საკმაოდ საშიში გაფრთხილება. 322 00:17:30,290 --> 00:17:33,030 გაითვალისწინეთ, რომ თუ თქვენი სიტყვები მოიცავს 323 00:17:33,030 --> 00:17:36,210 პირადი ან სხვა სენსიტიური ინფორმაცია, რომ ინფორმაცია 324 00:17:36,210 --> 00:17:40,310 შორის იქნება მონაცემები აიღეს და გადასცემს მესამე პირს. 325 00:17:40,310 --> 00:17:40,870 მიიღო, რომ? 326 00:17:40,870 --> 00:17:45,860 არ ვამბობ, პირადი ან მგრძნობიარე პერსონალის წინ ტელევიზიით. 327 00:17:45,860 --> 00:17:47,280 >> ასე რომ, ეს არის რეალურად რეალური. 328 00:17:47,280 --> 00:17:50,530 და ძნელია არ დაინახო ის, თუ წასვლა Best Buy ან მოსწონს ტელევიზორები 329 00:17:50,530 --> 00:17:51,030 ამ დღეებში. 330 00:17:51,030 --> 00:17:52,540 ისინი ყველა ჭკვიანი რამდენიმე გზა. 331 00:17:52,540 --> 00:17:54,740 და ისინი მიღების სასურველი სტუმარი გახდებით და creepier. 332 00:17:54,740 --> 00:17:57,490 და ისინი უბრალოდ შეგროვება მონაცემები გზები, რომ ჩვენ ვისაუბრეთ 333 00:17:57,490 --> 00:18:01,840 და შემდეგ ატვირთვა ის მეშვეობით HTTP ან ზოგიერთი სხვა ოქმი ზოგიერთ სერვერზე. 334 00:18:01,840 --> 00:18:05,720 >> ასე რომ, ეს იყო fun სტატია ამ ინტერნეტ- 335 00:18:05,720 --> 00:18:08,940 აქ, რომელიც ისაუბრა კერძოდ შემატყობინე შეცდომის ცდება კოდი 336 00:18:08,940 --> 00:18:11,340 რომ ჩვენ შეგვიძლია რეალურად გვაკავშირებს გასულ კვირას მისი განხილვა. 337 00:18:11,340 --> 00:18:15,730 ასე რომ, ეს სათაური იყო, ასეთია, სიუჟეტი მიდის აქ, 338 00:18:15,730 --> 00:18:18,720 Josh Breckman მუშაობდა კომპანია, რომელიც დაეშვა ხელშეკრულება 339 00:18:18,720 --> 00:18:22,390 განავითაროს შინაარსის მართვის სისტემა, ან CMS, როგორც ისინი უწოდებენ, 340 00:18:22,390 --> 00:18:24,380 საკმაოდ დიდი მთავრობის ვებგვერდზე. 341 00:18:24,380 --> 00:18:27,300 ბევრი პროექტის ფარგლებში განვითარებადი შინაარსის მართვის სისტემა 342 00:18:27,300 --> 00:18:29,840 ისე, რომ თანამშრომლებს იქნება შეუძლია აშენება და შენარჩუნება 343 00:18:29,840 --> 00:18:31,877 ოდესმე შეცვლის შინაარსი მათი საიტი. 344 00:18:31,877 --> 00:18:34,210 რამ წავიდა კარგად რამდენიმე დღის შემდეგ ხდება ცოცხალი. 345 00:18:34,210 --> 00:18:37,020 მაგრამ დღეს ექვსი, წავიდა ისე კარგად. 346 00:18:37,020 --> 00:18:39,500 ყველა შინაარსი საიტი სრულიად გაქრა. 347 00:18:39,500 --> 00:18:42,950 და ყველა გვერდს გამოიწვია default, გთხოვთ შეიყვანოთ content ვებ-გვერდზე. 348 00:18:42,950 --> 00:18:43,810 Whoops. 349 00:18:43,810 --> 00:18:46,080 Josh ეწოდა to გამოიძიოს და შენიშნა, 350 00:18:46,080 --> 00:18:49,390 რომ ერთ-ერთი განსაკუთრებით შემაშფოთებელი გარე IP მისამართი ჰქონდა 351 00:18:49,390 --> 00:18:53,380 წავიდა და წაიშალოს ყველა შინაარსი სისტემა. 352 00:18:53,380 --> 00:18:56,290 >> IP მისამართი არ ეკუთვნის ზოგიერთი საზღვარგარეთ hacker bent 353 00:18:56,290 --> 00:18:58,340 განადგურება სასარგებლო მთავრობის ინფორმაცია. 354 00:18:58,340 --> 00:19:05,190 ეს გადაწყვეტილი, googlebot.com, Google- ის ძალიან საკუთარი ვებ მცოცავი spider. 355 00:19:05,190 --> 00:19:06,010 Whoops. 356 00:19:06,010 --> 00:19:09,150 შემდეგ ცოტა კვლევისა და scrambling ირგვლივ noncorrupt სარეზერვო, 357 00:19:09,150 --> 00:19:10,180 Josh ი პრობლემა. 358 00:19:10,180 --> 00:19:12,700 >> ამ მომხმარებლის გადაწერა და გაკრული რამდენიმე ფაილი ერთ 359 00:19:12,700 --> 00:19:15,670 გვერდზე სხვა, მათ შორის, Edit ჰიპერბმულის 360 00:19:15,670 --> 00:19:17,577 რედაქტირება შინაარსი გვერდზე. 361 00:19:17,577 --> 00:19:20,160 ჩვეულებრივ, ეს არ იქნება საკითხი, რადგან გარეთ პროფაილი გვინდა 362 00:19:20,160 --> 00:19:24,320 უნდა შეიყვანოთ სახელი და პაროლი, მაგრამ CMS ავტორიზაციის სისტემა, 363 00:19:24,320 --> 00:19:27,520 შესვლა სისტემა, არ გაითვალისწინოს 364 00:19:27,520 --> 00:19:30,980 დახვეწილი ძებნა ტექნიკის Google Spider. 365 00:19:30,980 --> 00:19:31,700 Whoops. 366 00:19:31,700 --> 00:19:33,610 >> როგორც ირკვევა, Google Spider არ გამოიყენოთ 367 00:19:33,610 --> 00:19:36,950 cookies, რაც იმას ნიშნავს, რომ მას შეუძლია ადვილად გვერდის ავლით შემოწმებისას 368 00:19:36,950 --> 00:19:39,840 ხართ cookie მითითებული უნდა იყოს ცრუ. 369 00:19:39,840 --> 00:19:42,620 იგი ასევე არ ყურადღება მიაქციონ JavaScript, რომელიც ჩვეულებრივ 370 00:19:42,620 --> 00:19:45,170 სწრაფი და გადამისამართება მომხმარებლებს ვინც არ ხართ შესული სისტემაში. 371 00:19:45,170 --> 00:19:48,610 ეს იმას თუმცა დაიცვას ყველა ჰიპერბმულის ყველა გვერდზე მიიჩნევს, 372 00:19:48,610 --> 00:19:51,700 მათ შორის წაშალე გვერდი ამ სათაურით. 373 00:19:51,700 --> 00:19:52,650 Whoops. 374 00:19:52,650 --> 00:19:56,070 >> ასე რომ რას ნიშნავს ეს უფრო ტექნიკური მაგრამ საკმაოდ ხელმისაწვდომი თვალსაზრისით? 375 00:19:56,070 --> 00:19:58,340 ეს მხოლოდ იმას ნიშნავს, რომ მთელი მათი ნახვა, 376 00:19:58,340 --> 00:20:02,287 მათ ჰქონდათ მისამართები არ განსხვავებით ეს ერთი რომ თქვენ ალბათ ხედავთ პრობლემა მითითებული შვიდი. 377 00:20:02,287 --> 00:20:04,620 შეგახსენებთ, რომ პრობლემა კომპლექტი შვიდი ან იცით პრობლემა მითითებული შვიდი 378 00:20:04,620 --> 00:20:06,411 რომ თქვენ ეჭვქვეშ, სხვა საკითხებთან ერთად, 379 00:20:06,411 --> 00:20:08,570 გაყიდოს აქციების სახელით მომხმარებლებს. 380 00:20:08,570 --> 00:20:14,010 მაგრამ ახორციელებს, რომ თვისება გზით მისაღებად მეშვეობით ჰიპერბმულებს თქვენს შესახებ 381 00:20:14,010 --> 00:20:16,880 ინტერფეისი, ალბათ, არ არის smartest იდეა 382 00:20:16,880 --> 00:20:20,300 რადგან თუ თქვენი საიტი როგორმე ხელმისაწვდომი ან ადამიანის 383 00:20:20,300 --> 00:20:23,577 ვინ არის დაჭერით გარშემო ან ყიდვა bot, როგორიცაა Google ან Spider 384 00:20:23,577 --> 00:20:26,160 როგორც ისინი უწოდებენ, რომ ეს მხოლოდ მცოცავი ვებ ცდილობს ინდექსი 385 00:20:26,160 --> 00:20:29,060 ვებ როგორც საძიებო სისტემა, მათ შეეძლოთ ძალიან ადვილად 386 00:20:29,060 --> 00:20:31,340 მოხვდა მეშვეობით ამ სახის URL. 387 00:20:31,340 --> 00:20:33,770 და ეს ფუნქციურად ექვივალენტური, ამ შემთხვევაში, 388 00:20:33,770 --> 00:20:37,000 გაყიდვის აქციების Google. 389 00:20:37,000 --> 00:20:40,030 >> ახლა გულწრფელად ვამბობ, რომ ეს სრულიად asinine, რომ CMS 390 00:20:40,030 --> 00:20:43,240 მეორადი JavaScript და ნაჭდევი განახორციელოს მისი შესვლის სისტემა 391 00:20:43,240 --> 00:20:47,100 და არ აკეთებს, რომ სერვერის მხარეს, როგორც თქვენ ბიჭებს და მიიღებს PSet -7 ბლოკის 392 00:20:47,100 --> 00:20:49,940 არსებობს login.php ფაილი ყოველთვის, ყოველთვის, 393 00:20:49,940 --> 00:20:52,789 ყოველთვის უსაფრთხოება უნდა იყოს კეთდება სერვერის მხარეს, 394 00:20:52,789 --> 00:20:56,080 არ კლიენტის მხარეს, რადგან, როგორც ეს სტატიაში მიუთითებს, და ალბათ თავს 395 00:20:56,080 --> 00:20:59,600 იხილეთ რაღაც მომენტში, ეს არის ტრივიალური შესახებ, კარგი ან ცუდი, 396 00:20:59,600 --> 00:21:02,860 უბრალოდ გამორთეთ JavaScript რომ აღარაფერი ვთქვათ cookies. 397 00:21:02,860 --> 00:21:06,020 ისე, რომ თქვენი ყოველდღიური WTF. 398 00:21:06,020 --> 00:21:07,970 >> არსებობს კიდევ ერთი, რომელიც მხოლოდ სახის საშინელი, 399 00:21:07,970 --> 00:21:11,360 ასე რომ, მე აღვნიშნო, რომ თუ მხოლოდ როგორც ცხოვრების გაკვეთილი. 400 00:21:11,360 --> 00:21:14,850 როდესაც თქვენ იყენებთ განცხადება მოუწოდა, როგორიცაა Snapchat ან მოსწონს 401 00:21:14,850 --> 00:21:19,380 რომელიც ამბობს, რომ ეს ფოტოები მხოლოდ ბოლო ხუთი წამი, ათი წამი, ან whatnot. 402 00:21:19,380 --> 00:21:21,680 ისინი ეფემერული ეს არის აბსოლუტურად არ არის. 403 00:21:21,680 --> 00:21:25,670 ისევე როგორც არ არსებობს გზა, ელექტრონულად, განახორციელოს რაიმე სახით ვიდეო, 404 00:21:25,670 --> 00:21:30,150 ან სურათი, ან ტექსტური გაზიარების ასეთი რომ მიმღები მეორეს ბოლოს 405 00:21:30,150 --> 00:21:31,660 ვერ როგორმე გადაარჩინოს მონაცემები. 406 00:21:31,660 --> 00:21:34,300 >> ყველაზე გულუბრყვილო გზა, ვინმე შეიძლება მათი ტელეფონში. 407 00:21:34,300 --> 00:21:36,850 და მათ აქვთ 10 მეორე window ხოლო ეძებს რაღაც ვადამდელი 408 00:21:36,850 --> 00:21:39,410 უბრალოდ მიიღოს რაიმე სხვა ტელეფონში და ფოტოს ის, ცხადია. 409 00:21:39,410 --> 00:21:41,660 ასე რომ თქვენ შეუძლია შეინარჩუნოს რაღაც ციფრული, რომ გზა. 410 00:21:41,660 --> 00:21:44,620 ზოგიერთი იცით, თუ როგორ უნდა ეკრანის თქვენი ტელეფონი. 411 00:21:44,620 --> 00:21:49,290 ფაქტობრივად, თუ არ ვიცი, გააცნობიეროს, რომ მინიმუმ Snapchat, 412 00:21:49,290 --> 00:21:51,040 და მე ვფიქრობ, სხვა პროგრამები ამ დღეებში, 413 00:21:51,040 --> 00:21:53,720 მინიმუმ გითხრათ თუ მიმღები რეალურად 414 00:21:53,720 --> 00:21:55,310 მიღებული screenshot თქვენი იმიჯი. 415 00:21:55,310 --> 00:22:00,870 >> მაგრამ უარესი არ არის, ეს იყო snappening, როგორც ვინმე ნაკრები ცოტა ხნის წინ, 416 00:22:00,870 --> 00:22:04,680 სადაც რამდენიმე 100,000 snaps უკვე გაათავისუფლეს 417 00:22:04,680 --> 00:22:09,310 რასაც ტორენტის ფაილი სხვადასხვა საიტებზე საბოლოოდ. 418 00:22:09,310 --> 00:22:12,000 და ეს შეიცავს მთელი bunch კერძო შეტყობინებები და შეტყობინება. 419 00:22:12,000 --> 00:22:15,210 გამოდის, მათი უმრავლესობა კეთილთვისებიანი ასე არ არის, რაც თქვენ შეიძლება ველოდოთ. 420 00:22:15,210 --> 00:22:17,580 არამედ იმიტომ, რომ ხალხს არ ჰქონდა გამოიყენება მესამე მხარის ვებ- 421 00:22:17,580 --> 00:22:20,270 შესასვლელად მათ Snapchat სახელი და პაროლი და შემდეგ 422 00:22:20,270 --> 00:22:23,470 გადარჩენის ყველა მათი snaps ამ მესამე მხარის ვებსაიტს. 423 00:22:23,470 --> 00:22:26,130 და ეს იყო, რომ მესამე მხარის ნახვა, რომელიც იყო hacked, 424 00:22:26,130 --> 00:22:30,710 რომელიც მხოლოდ იმას ნიშნავდა, ვინმე figured, თუ როგორ მიიღოს ყველა 100,000 პლუს სურათები 425 00:22:30,710 --> 00:22:33,822 საკუთარ მყარ დისკზე შემდგომი გაზიარება. 426 00:22:33,822 --> 00:22:36,030 გულწრფელად ვამბობ, აქაც, ეს არის ერთგვარი საქართველოს asinine რომ Snapchat 427 00:22:36,030 --> 00:22:39,360 ხორციელდება ისე, რომ მესამე მხარის შეგიძლიათ დაალაგოთ ჩაჭრა 428 00:22:39,360 --> 00:22:43,310 მონაცემები და რომ ეს არ უკავშირდება თქვენი საკუთარი განცხადების გაშვებული ტელეფონი. 429 00:22:43,310 --> 00:22:46,947 მაგრამ აქ, ძალიან, გააცნობიეროს, რომ ეს რამ არ უნდა დაჭერა თქვენ მიერ სიურპრიზი, 430 00:22:46,947 --> 00:22:49,030 ან თუნდაც იქ უნდა იყოს ცხოვრების გაკვეთილი აქ. 431 00:22:49,030 --> 00:22:52,220 თუ გსურთ ტექნიკური დეტალები, წასვლა რომ URL არსებობს 432 00:22:52,220 --> 00:22:53,570 ეს არის ის, რომ დღევანდელ სლაიდები. 433 00:22:53,570 --> 00:23:00,960 ყველა უფლება, ნებისმიერი შეკითხვა დღევანდელი ცხოვრების გაკვეთილები CS? 434 00:23:00,960 --> 00:23:02,710 ჩართოთ, რომ off. 435 00:23:02,710 --> 00:23:04,970 არაფერი ყველა? 436 00:23:04,970 --> 00:23:06,301 არაფერი ყველა? 437 00:23:06,301 --> 00:23:09,050 მაქვს ბევრი ადამიანი შემოწმების მათი Snapchat ან რამე ახლა. 438 00:23:09,050 --> 00:23:11,690 >> ყველა უფლება, ასე SQL, სტრუქტურირებული შეკითხვის ენა. 439 00:23:11,690 --> 00:23:12,509 მოდით გადაიტანოთ ეს. 440 00:23:12,509 --> 00:23:14,300 და, მიუხედავად იმისა, ჩვენ მხოლოდ scratching 441 00:23:14,300 --> 00:23:16,310 ზედაპირზე ეს ენის, ჩვენ მოგცემთ 442 00:23:16,310 --> 00:23:18,930 საკმარისი ენის სახით PSet 7 443 00:23:18,930 --> 00:23:22,140 ასე რომ თქვენ შეგიძლიათ დაძლევის ზოგიერთი საკმაოდ გავრცელებული ფუნქცია. 444 00:23:22,140 --> 00:23:24,912 მაგრამ რეალიზება არსებობს რამდენიმე რაც არ მოითხოვს, რომ თქვენ, 445 00:23:24,912 --> 00:23:27,120 მაგრამ ისინი იქნება მნიშვნელოვანი მოვიდა საბოლოო პროექტები 446 00:23:27,120 --> 00:23:30,760 და რა თქმა უნდა მოდის მიღების ფაქტობრივი ვებ-ფაქტობრივი ასაკი 447 00:23:30,760 --> 00:23:32,040 ეს დიზაინი გადაწყვეტილება. 448 00:23:32,040 --> 00:23:34,460 >> გამოდის, რომ MySQL მონაცემთა ბაზა, 449 00:23:34,460 --> 00:23:37,460 გაქვთ bunches არჩევანი მოსწონს მონაცემთა ტიპები, თქვენი სვეტები 450 00:23:37,460 --> 00:23:41,670 და სხვა რამ, მაგრამ თქვენ ასევე უნდა არჩევანი ე.წ. შენახვის 451 00:23:41,670 --> 00:23:44,570 ძრავი ყველა თქვენი მონაცემები სახის ფაილური სისტემა, 452 00:23:44,570 --> 00:23:46,700 თუ თქვენ იცნობს, ყველა თქვენი მონაცემები. 453 00:23:46,700 --> 00:23:48,830 რა ფორმატში, საბოლოოდ ინახება? 454 00:23:48,830 --> 00:23:53,300 და ყველაზე გავრცელებული, ალბათ, უკვე MYISAM და InnoDB, ტექნიკური თვალსაზრისით, 455 00:23:53,300 --> 00:23:56,060 ის, რომ ჩვენ ვზრუნავთ მხოლოდ იმის გათვალისწინებით, რომ ერთი 456 00:23:56,060 --> 00:23:58,500 და ერთი არ უნდა შემდეგი ფუნქცია. 457 00:23:58,500 --> 00:24:00,390 >> დავუშვათ, რომ თქვენ უნდა პატარა dorm მაცივარი. 458 00:24:00,390 --> 00:24:03,030 და ვფიქრობ, რომ თქვენ და თქვენი roommate, რომლებიც ამ მაცივარი, 459 00:24:03,030 --> 00:24:04,682 ნამდვილად უყვარდა ვთქვათ რძე. 460 00:24:04,682 --> 00:24:07,140 და ეს არის, ფაქტობრივად, როგორ ამბავი მითხრეს, რომ ჩემთვის გზა უკან 461 00:24:07,140 --> 00:24:10,890 იმ დღეს, როდესაც მე რა თქმა უნდა მოუწოდა CS 161 ოპერაციული სისტემა, რომელიც 462 00:24:10,890 --> 00:24:12,580 ასეთივე იკვლევს ამ თემაზე. 463 00:24:12,580 --> 00:24:13,760 ასე რომ თქვენ გაქვთ ეს მაცივარი. 464 00:24:13,760 --> 00:24:14,630 თქვენ out რძე. 465 00:24:14,630 --> 00:24:17,000 და თქვენ მოვიდა სახლში, თქვენი roommate ჯერ კიდევ კლასის ან რასაც, 466 00:24:17,000 --> 00:24:19,208 და თქვენ გადაწყვიტეთ მე ვაპირებ გასვლა და მიიღოს რამდენიმე რძე. 467 00:24:19,208 --> 00:24:22,630 ასე რომ თქვენ დახურეთ მაცივარი, უმოქმედობა საცხოვრებელი ოთახი, წასვლა მოპირდაპირე მხარეს 468 00:24:22,630 --> 00:24:25,330 to CVS ან იქ, სადაც, და კიდევ ხაზი ყიდვა ზოგიერთი რძე. 469 00:24:25,330 --> 00:24:28,960 >> იმავდროულად, თქვენი roommate იღებს სახლში კლასი, იღებს შევიდა საცხოვრებელი ოთახი, 470 00:24:28,960 --> 00:24:31,802 ხსნის მაცივარი, ასევე აცნობიერებს ooph, ჩვენ გარეთ რძე. 471 00:24:31,802 --> 00:24:33,760 ამიტომ მას ხურავს მაცივარი და შემდეგ მოხდება 472 00:24:33,760 --> 00:24:35,610 წასვლა სხვა CVS, რომელიც ხდება უნდა იყოს 473 00:24:35,610 --> 00:24:38,470 ერთი კვარტლის დაშორებით სხვა CVS მოედანზე, და იღებს ონლაინ 474 00:24:38,470 --> 00:24:40,230 იქ რამდენიმე რძე. 475 00:24:40,230 --> 00:24:42,524 ახლა, რა თქმა უნდა, რამდენიმე წუთში მოგვიანებით, ორივე დავუბრუნდეთ, 476 00:24:42,524 --> 00:24:44,690 და ყველაზე უარესი ყველა შესაძლო შედეგების მოხდა. 477 00:24:44,690 --> 00:24:45,792 როგორც თქვენ გაქვთ რძე. 478 00:24:45,792 --> 00:24:47,500 და თქვენ ნამდვილად არ როგორიცაა რძე, რომ ბევრი. 479 00:24:47,500 --> 00:24:49,625 ასე რომ, ერთი მათგანი არის მხოლოდ აპირებს მაწონი რაღაც მომენტში. 480 00:24:49,625 --> 00:24:55,941 ასე რომ, ახლა თქვენ გაქვთ ზედმეტი თანხა რძის მაცივარი იმიტომ რატომ? 481 00:24:55,941 --> 00:24:57,072 >> [INAUDIBLE] 482 00:24:57,072 --> 00:24:59,780 DAVID Malan: ჰო, თქვენ არ რატომღაც ერთმანეთთან ურთიერთობა 483 00:24:59,780 --> 00:25:00,904 რომ თქვენ მიღების რძე. 484 00:25:00,904 --> 00:25:04,320 ასე რომ მარტივი გზები ადამიანთა სამყაროში, 485 00:25:04,320 --> 00:25:08,390 როგორ შეიძლება თავიდან ავიცილოთ ეს სულელური სიტუაცია ხდება ასეთი 486 00:25:08,390 --> 00:25:09,750 რომ მხოლოდ დასრულდება ერთად ერთი. 487 00:25:09,750 --> 00:25:10,840 ტექსტის მათ, დიახ, კარგი. 488 00:25:10,840 --> 00:25:12,877 მაგრამ როგორ სხვაგან? 489 00:25:12,877 --> 00:25:13,460 პოსტ ის აღნიშნავს. 490 00:25:13,460 --> 00:25:14,626 DAVID Malan: Post- ის შენიშვნა. 491 00:25:14,626 --> 00:25:17,150 ნებისმიერი ფორმით ურთიერთობა ეუბნება, რომ თქვენი roommate 492 00:25:17,150 --> 00:25:18,670 არ წასვლას მაცივარი რძე. 493 00:25:18,670 --> 00:25:20,440 მე ვაპირებ წასვლა restock ჩემს. 494 00:25:20,440 --> 00:25:22,770 ასე, რომ თქვენ რატომღაც უნდა დაიბლოკოს ეს რესურსი. 495 00:25:22,770 --> 00:25:27,180 ამიტომ, ჩვენ შეგვიძლია ამას ჩვენ შეგვიძლია სახის ჩაშლის ამბავი და გადაიქცევა CS ამბავი 496 00:25:27,180 --> 00:25:30,360 რომლის დროსაც ვფიქრობ, რომ ეს, ისევე, როგორც ცვლადი, რომელიც შენახვის გარკვეული მნიშვნელობა. 497 00:25:30,360 --> 00:25:32,570 და ახლა, ღირებულების რძის ნულოვანი, 498 00:25:32,570 --> 00:25:35,410 რომელიც თქვენ არ გსურთ თქვენი roommate, შეამოწმოს, რომ ცვლადი 499 00:25:35,410 --> 00:25:38,730 და შემდეგ მიიღოს გადაწყვეტილება მას თავად საფუძველზე სახელმწიფო რომ ცვლადი 500 00:25:38,730 --> 00:25:42,430 თუ თქვენ ამ პროცესში შეცვლის სახელმწიფო, რომ განსხვავებულია. 501 00:25:42,430 --> 00:25:46,140 >> ასე რომ, ერთი ხაზი SQL, რომ ჩვენ გაძლევთ pset 7 სპეციფიკაცია 502 00:25:46,140 --> 00:25:47,310 ეს ერთი აქ. 503 00:25:47,310 --> 00:25:49,740 და ჩვენ არ დახარჯოს დიდი დროის საუბარი ამის შესახებ. 504 00:25:49,740 --> 00:25:55,100 მაგრამ აღმოჩნდება, რომ, თუ თქვენ ცდილობთ ყიდვა ზოგიერთი საფონდო CS50 ფინანსთა 505 00:25:55,100 --> 00:25:58,000 რომ თქვენ უკვე გაქვთ ზოგიერთი აქციების, თქვენ 506 00:25:58,000 --> 00:26:01,750 მინდა, რომ იყოს ვერ გააკეთებს ნომერი რამ მყისიერად ერთად. 507 00:26:01,750 --> 00:26:04,360 გსურთ შეძლებს ეფექტურად, მაღალ დონეზე, 508 00:26:04,360 --> 00:26:06,700 შეამოწმეთ ყველა უფლება, თუ მინდა მეტი აქციები იყიდონ, უფასო, 509 00:26:06,700 --> 00:26:08,780 Penny მარაგის ჩვენ ვისაუბროთ Spec, 510 00:26:08,780 --> 00:26:10,660 მინდა პირველი გამშვები რამდენი აქციების მაქვს. 511 00:26:10,660 --> 00:26:11,810 და ვფიქრობ, ხუთი. 512 00:26:11,810 --> 00:26:14,600 და ვფიქრობ, მინდა ყიდვა 10, მე საბოლოოდ 513 00:26:14,600 --> 00:26:17,069 გსურთ აქვს 15 აქციების საფონდო. 514 00:26:17,069 --> 00:26:18,360 ასე რომ, მე უნდა ვთხოვო ორ კითხვას. 515 00:26:18,360 --> 00:26:20,230 რა არის სახელმწიფო ცვლადი? 516 00:26:20,230 --> 00:26:21,470 რა არის სახელმწიფოს ზედიზედ? 517 00:26:21,470 --> 00:26:22,970 რამდენი აქციების მე გაკეთებული აქვს? 518 00:26:22,970 --> 00:26:24,636 მაშინ გსურთ წავიდეთ წინ და განახლება. 519 00:26:24,636 --> 00:26:27,720 ასე რომ, ანალოგი რძე, რომ თქვენ შემოწმება ზედიზედ, 520 00:26:27,720 --> 00:26:30,730 და შემდეგ გსურთ განახლება იმიტომ, რომ თუ თქვენ გსურთ შეიძინოთ 10 აქციების, 521 00:26:30,730 --> 00:26:32,521 თქვენ არ მინდა, რომ შეიცვალოს ზედიზედ 10, 522 00:26:32,521 --> 00:26:35,300 მინდა, რომ შეიცვალოს ეს 5 პლუს 10 და, რა თქმა უნდა, 15. 523 00:26:35,300 --> 00:26:40,030 >> ეს ხაზი კოდი, უზრუნველყოფს, რომ ამ ორი კონცეპტუალური იდეები 524 00:26:40,030 --> 00:26:42,810 მოხდება ერთად თუ არა ყველა. 525 00:26:42,810 --> 00:26:46,920 არავის, მათ შორის, სხვა მომხმარებლის ვინ არის შესული იგივე ნახვა, 526 00:26:46,920 --> 00:26:49,900 შეიძლება როგორმე შეუშალოს შემოწმების row 527 00:26:49,900 --> 00:26:52,960 და განახლება, რომ ზედიზედ შერჩევა და განახლება თუ გნებავთ. 528 00:26:52,960 --> 00:26:57,360 და სინტაქსი არის სუპერ აშკარა, მაგრამ ეს ერთი ხაზი, ხანგრძლივი ის არის, 529 00:26:57,360 --> 00:27:01,150 უზრუნველყოფს, რომ იმ ორი ოპერაცია შეამოწმეთ ცვლადი ან შეამოწმოს row 530 00:27:01,150 --> 00:27:04,660 და განახლება row მოხდეს atomically. 531 00:27:04,660 --> 00:27:06,849 >> Oh აქ ჩვენ კვლავ. 532 00:27:06,849 --> 00:27:07,890 ტექსტის გაგზავნა ჩემს ტელეფონზე. 533 00:27:07,890 --> 00:27:09,954 მოდით ეს ცოტა უფრო კონკრეტული. 534 00:27:09,954 --> 00:27:12,120 დავუშვათ, რომ თქვენ არ ახორციელებს მაცივარი, 535 00:27:12,120 --> 00:27:16,400 და თქვენ არ ახორციელებს Pset 7 მაგრამ ფაქტობრივი ბანკი, 536 00:27:16,400 --> 00:27:20,000 ან ATM, ავტომატური Teller მანქანა, რომლითაც თქვენ რატომღაც 537 00:27:20,000 --> 00:27:22,960 გსურთ შეძლებს მისცეს წევრებს გადასცეს ფული 538 00:27:22,960 --> 00:27:24,500 ერთი ანგარიშიდან მეორეზე. 539 00:27:24,500 --> 00:27:25,100 OK, გათიშეთ. 540 00:27:25,100 --> 00:27:26,683 მე ვაპირებ, რომ მუნჯი ეს ახლა, მადლობა. 541 00:27:26,683 --> 00:27:30,450 ასე რომ ჩვენ გვინდა გადავა ფული ერთი ანგარიშის ნომერი 542 00:27:30,450 --> 00:27:33,600 განსხვავებული ანგარიში ნომერი, კონკრეტულად $ 100. 543 00:27:33,600 --> 00:27:37,690 ასე რომ, ეს არის სახის თვითნებური მაგალითად, რომლითაც თქვენ, ბანკომატი, 544 00:27:37,690 --> 00:27:41,060 დაგვჭირდება, რათა შესრულდეს ორი SQL შეკითხვებს, სხვაობა ერთ ანგარიშზე 545 00:27:41,060 --> 00:27:42,430 და დაამატოთ სხვა ანგარიშზე. 546 00:27:42,430 --> 00:27:46,766 მაგრამ გვინდა, რომ უზრუნველყოს, რომ ეს ორი ხაზი, როგორც მოხდა, ან საერთოდ არ. 547 00:27:46,766 --> 00:27:48,640 თქვენ არ მინდა რაღაც მიღების გაწყდება. 548 00:27:48,640 --> 00:27:51,440 თქვენ არ ზოგიერთი ჭკვიანი ცუდი ბიჭი რატომღაც იდგა Bank of America 549 00:27:51,440 --> 00:27:53,270 ორი ბანკომატები წინ მას და რატომღაც 550 00:27:53,270 --> 00:27:55,270 სახის აკრეფით ბრძანებები, ამავე დროს, 551 00:27:55,270 --> 00:28:01,230 იმედია ცდილობს დაწესებული $ 200 ნაცვლად $ 100 და მხოლოდ მქონე $ 100 ჩაირიცხება. 552 00:28:01,230 --> 00:28:04,450 მოკლედ, მინდა, რომ ეს მოიქცეს ისე, როგორც თქვენ მოველით. 553 00:28:04,450 --> 00:28:06,540 >> და თქვენ ამის გაკეთება ამ SQL მონაცემთა ბაზა 554 00:28:06,540 --> 00:28:09,350 თქვენ გადაიტანოთ ეს რა არის მოუწოდა გარიგება. 555 00:28:09,350 --> 00:28:14,290 ფაქტიურად SQL, შეგიძლიათ დარეკოთ CS50 მიერ შეკითხვის ფუნქცია გაცემა unquote დაწყება 556 00:28:14,290 --> 00:28:15,370 გარიგება. 557 00:28:15,370 --> 00:28:18,640 მაშინ შეასრულოს ნებისმიერი რაოდენობის შემდგომი SQL queries, 558 00:28:18,640 --> 00:28:20,870 მაგრამ არც ერთი მათგანი მიიღებს მოქმედებს მონაცემთა ბაზა 559 00:28:20,870 --> 00:28:25,880 სანამ რეკავთ შეკითხვის გაცემა unquote ჩაუდენია, თუ ისევ PHP. 560 00:28:25,880 --> 00:28:29,810 და ამ გზით, შეგიძლიათ უზრუნველყოს, რომ მაშინაც კი, თუ თქვენ გაქვთ 1000 მომხმარებლებს 561 00:28:29,810 --> 00:28:32,080 hitting თქვენს მონაცემთა ბაზაში ამავე დროს, SQL 562 00:28:32,080 --> 00:28:34,540 გპირდებით, რომ ეს ორი queries იქნება 563 00:28:34,540 --> 00:28:36,740 განხორციელებული ერთ შემდეგ სხვა. 564 00:28:36,740 --> 00:28:40,330 ასე რომ თქვენ არ დასრულდება up ერთად ჭარბი რძე ან არასწორი თანხა, საბოლოო ჯამში, 565 00:28:40,330 --> 00:28:40,830 ფული. 566 00:28:40,830 --> 00:28:43,110 >> ასე რომ შევინარჩუნოთ ამის გათვალისწინებით, არა იმდენად PSet 7 567 00:28:43,110 --> 00:28:45,250 მაგრამ საბოლოო პროექტები თუ თქვენ რეალურად 568 00:28:45,250 --> 00:28:49,690 ცდილობენ მონაცემები გარშემო მთელი მაგიდა, როგორც ამას აქ. 569 00:28:49,690 --> 00:28:53,980 მაგრამ შესაძლოა უფრო მარტივი და ცხადია, უნდა გვესმოდეს, მაგალითად 570 00:28:53,980 --> 00:28:54,860 ეს ერთი აქ. 571 00:28:54,860 --> 00:28:57,760 და ვინმე ელექტრონული ფოსტით ჩვენს შესახებ ეს მხოლოდ მეორე დღეს 572 00:28:57,760 --> 00:28:59,600 როდესაც დაინახა, რაღაც მსგავსი ონლაინ რეჟიმში. 573 00:28:59,600 --> 00:29:03,480 >> ასე რომ, ჩემი ცოდნა, pin სისტემა არ არის დაუცველი წინააღმდეგ. 574 00:29:03,480 --> 00:29:06,637 და მე არ ვიცი, თუ ის კიდევ მიზნებისათვის SQL მონაცემთა ბაზის ქვეშ hood. 575 00:29:06,637 --> 00:29:08,470 მაგრამ მოდით გამოვიყენოთ ეს გულისთვის დისკუსია. 576 00:29:08,470 --> 00:29:10,178 აი ეკრანზე რომ ჰარვარდის ეგ ტენდენცია 577 00:29:10,178 --> 00:29:13,620 , როდესაც შესასვლელად მათ ჰარვარდის ID ნომერი და მათი pin. 578 00:29:13,620 --> 00:29:19,020 და ვარაუდობენ, რომ pin სისტემა განხორციელებული PHP და MySQL 579 00:29:19,020 --> 00:29:22,000 მონაცემთა ბაზა, რომ კოდი, რომ ვინმე შესაძლოა, წერილობითი წლის წინ 580 00:29:22,000 --> 00:29:23,270 შესაძლოა ასე გამოიყურება. 581 00:29:23,270 --> 00:29:25,230 პირველი, განაცხადოს ცვლადში სახელი. 582 00:29:25,230 --> 00:29:27,560 და უბრალოდ რომ POST superglobal. 583 00:29:27,560 --> 00:29:30,140 მაშინ კიდევ ერთი ცვლადი მოუწოდა პაროლი და იგივე გააკეთონ. 584 00:29:30,140 --> 00:29:33,080 და შემდეგ უბრალოდ შეასრულოს ამ ხნის შეკითხვის აქ 585 00:29:33,080 --> 00:29:36,690 აირჩიეთ ვარსკვლავი მომხმარებლებისთვის სახელი უტოლდება ასეთი და ასეთი 586 00:29:36,690 --> 00:29:38,510 და პაროლი უდრის ასეთი და ასეთი. 587 00:29:38,510 --> 00:29:40,660 >> ყურადღება მიაქციეთ, რომ curly braces მე გამოიყენება აქ 588 00:29:40,660 --> 00:29:42,880 უბრალოდ ნიშნავს, რომ PHP, წავიდეთ წინ და შემცვლელი 589 00:29:42,880 --> 00:29:45,400 ღირებულება ამ ორ ცვლადები უფლება არსებობს. 590 00:29:45,400 --> 00:29:50,090 ისინი არ არის მკაცრად აუცილებელი, მაგრამ ისინი, როგორც წესი, რათა თავიდან ავიცილოთ დახვეწილი სინტაქსური შეცდომების. 591 00:29:50,090 --> 00:29:53,650 ასე რომ, ეს გამოიყურება სრულიად სწორი ერთი შეხედვით. 592 00:29:53,650 --> 00:29:54,240 და ეს არის. 593 00:29:54,240 --> 00:29:56,680 თქვენ შეიძლება განახორციელოს pin სისტემა ამ გზით. 594 00:29:56,680 --> 00:30:00,460 >> მაგრამ ვარაუდობენ, რომ სუპერ ჭკვიანი და მუქარის სტუდენტი 595 00:30:00,460 --> 00:30:03,020 input, როგორც მისი pin. 596 00:30:03,020 --> 00:30:05,550 ასე რომ, მე ამოღებულ ტყვია ნიშნები აქ იმიტირებულ up, 597 00:30:05,550 --> 00:30:08,760 და მე რეალურად გამოვლინდა ის, რაც მას შეიძლება აკრეფით. 598 00:30:08,760 --> 00:30:10,350 და ეს ცოტა უცნაურია. 599 00:30:10,350 --> 00:30:13,850 მაგრამ რა გადასვლა out at თქვენ პოტენციურად შემაშფოთებელი შესახებ მომხმარებლის input, 600 00:30:13,850 --> 00:30:16,450 მაშინაც კი, თუ არ ვიცი რა SQL ინექცია თავდასხმა ნიშნავს. 601 00:30:16,450 --> 00:30:20,300 რატომ გამოიყურება პატარა Fishy? 602 00:30:20,300 --> 00:30:21,050 რა არის ეს? 603 00:30:21,050 --> 00:30:21,550 [INAUDIBLE] 604 00:30:21,550 --> 00:30:24,260 DAVID Malan: თუ არის ცოტა საეჭვო. 605 00:30:24,260 --> 00:30:26,310 ფაქტობრივად, ეს არის ის, სიტყვით საწყისი SQL. 606 00:30:26,310 --> 00:30:28,105 ისე, რომ არ უქადის. 607 00:30:28,105 --> 00:30:29,980 ის ფაქტი, რომ იქ ყველა ამ ერთჯერადი შეთავაზებები 608 00:30:29,980 --> 00:30:32,646 იქ, ფაქტობრივად, ერთ უმარტივეს გზა შესვენება ზოგიერთ ბაზაში 609 00:30:32,646 --> 00:30:35,880 არის აკრეფით სახელწოდება O'Reilly რომელსაც აქვს აპოსტროფი ეს 610 00:30:35,880 --> 00:30:38,600 იმიტომ, რომ თუ ადამიანის, რომელმაც დაწერა კოდი კულისებში 611 00:30:38,600 --> 00:30:41,570 არ გავითვალისწინოთ, რომ არსებობს შეიძლება იყოს ერთჯერადი შეთავაზებები ამ მომხმარებლის მიერ 612 00:30:41,570 --> 00:30:45,060 input, და ის გამოყენებით ერთჯერადი შეთავაზებები მათ კოდი 613 00:30:45,060 --> 00:30:46,040 ცუდი რამ შეიძლება მოხდეს. 614 00:30:46,040 --> 00:30:47,870 >> ფაქტობრივად, უარესი არ არის, მიგვაჩნია, რომ ეს. 615 00:30:47,870 --> 00:30:50,600 თუ ეს იყო ერთხელ კოდი რომ ვინმე ჰარვარდის წლის 616 00:30:50,600 --> 00:30:53,100 წინ წერდა pin სისტემა, შეამჩნია რა 617 00:30:53,100 --> 00:30:56,220 დაახლოებით უნდა შეცვალონ სახელი და პაროლი 618 00:30:56,220 --> 00:30:59,780 თუ მომხმარებლის ტიპების ერთხელ skroob როგორც მათი სახელი 619 00:30:59,780 --> 00:31:03,960 და მაშინ ერთი, ორი, სამი, ოთხი, ხუთი, ციტირება ან გაცემა, unquote ერთი ტოლობის 620 00:31:03,960 --> 00:31:04,660 შეთავაზება ერთი. 621 00:31:04,660 --> 00:31:07,220 და შეამჩნია რა გასაღები აქ არის მომხმარებელს ჯერ არ 622 00:31:07,220 --> 00:31:09,900 დაიწყო პაროლი ან მათი pin ერთად ციტირებით. 623 00:31:09,900 --> 00:31:12,610 და არ დასრულდა ეს ციტირებით რადგან მას 624 00:31:12,610 --> 00:31:16,315 ვთქვათ, რომ თუ programmer ასე არ იყო მკვეთრი, 625 00:31:16,315 --> 00:31:18,690 ისინი აპირებენ, რომ ის ერთჯერადი შეთავაზებები მათი კოდი. 626 00:31:18,690 --> 00:31:19,860 >> ასე რომ აქ კოდი. 627 00:31:19,860 --> 00:31:23,820 და ცვლილება, რომელიც შეიძლება ახლა მოხდეს ეს. 628 00:31:23,820 --> 00:31:26,350 და მე ხაზი გაუსვა რა მომხმარებელს ჯერ აკრეფილი. 629 00:31:26,350 --> 00:31:28,480 ასე რომ, სანამ მას შემდეგ, რაც. 630 00:31:28,480 --> 00:31:33,330 და შეამჩნია რა რბილად შემაშფოთებელი ახლა სწორი ნახევარში SQL კოდი? 631 00:31:33,330 --> 00:31:36,300 ეს ცოტა უფრო რთული, მართლაც, ვიდრე queries ჩვენ ვნახეთ. 632 00:31:36,300 --> 00:31:38,550 მაგრამ ეს არ შეიძლება კარგი რამ, თუ თქვენ 633 00:31:38,550 --> 00:31:42,240 ამბობდა select ვარსკვლავი, რომელიც აირჩიეთ ყველაფერი მომხმარებელს მაგიდასთან 634 00:31:42,240 --> 00:31:46,630 სადაც username ტოლია skroob და დაგავიწყდათ ტოლია ერთი, ორი, სამი, ოთხი, 635 00:31:46,630 --> 00:31:49,610 ხუთი ან ერთი უდრის. 636 00:31:49,610 --> 00:31:53,860 რა არის ლოგიკური მნიშვნელობა რომ ბოლო პუნქტი სავარაუდოდ? 637 00:31:53,860 --> 00:31:55,650 ეს უბრალოდ ყოველთვის მართალია. 638 00:31:55,650 --> 00:31:59,930 >> და რადგან ჩვენ ერთგვარი მიხვდა ან figured, სასამართლო პროცესი და შეცდომა 639 00:31:59,930 --> 00:32:02,760 რომ პროგრამისტი, რომელიც დავწერე ეს კოდი არ 640 00:32:02,760 --> 00:32:07,250 მოსალოდნელია, ადამიანის ან ცუდი ადამიანი აკრეფით ერთჯერადი შეთავაზებები, ასევე, 641 00:32:07,250 --> 00:32:10,350 ჩვენ შეგვიძლია სინტაქსურად შეავსოთ SQL query 642 00:32:10,350 --> 00:32:12,260 რაღაც აბსურდული მაგრამ ის, რაც 643 00:32:12,260 --> 00:32:15,930 არის სინტაქსურად არასწორი რომ ყოველთვის აფასებს ჭეშმარიტი. 644 00:32:15,930 --> 00:32:19,130 ასე რომ, თუ ეს კოდი გამოიყენება პასუხის გაცემა კითხვა ჭეშმარიტი ან მცდარი უნდა 645 00:32:19,130 --> 00:32:22,930 ამ მომხმარებლის დაიშვება გაივლის, პასუხი ყოველთვის, როგორც ჩანს, აპირებს 646 00:32:22,930 --> 00:32:26,930 უნდა იყოს ჭეშმარიტი, რადგან ეს ყოველთვის აირჩიოთ რაიმე მონაცემთა ბაზა 647 00:32:26,930 --> 00:32:29,280 იმიტომ, რომ ერთი რა თქმა უნდა ყოველთვის უდრის. 648 00:32:29,280 --> 00:32:30,360 >> ასე რომ, რა არის გამოსავალი? 649 00:32:30,360 --> 00:32:33,290 კარგად pset 7, ჩვენ, ფაქტობრივად, თავიდან ავიცილოთ ეს ყველაფერი ერთად. 650 00:32:33,290 --> 00:32:37,360 ჩვენ გაძლევთ შეკითხვის ფუნქცია, და ჩვენ გარწმუნებთ, რომ გამოიყენოს კითხვის ნიშნები 651 00:32:37,360 --> 00:32:40,430 როგორც მფლობელები, მსგავსი სულითა printf ს% s, 652 00:32:40,430 --> 00:32:43,710 მაგრამ რა არის მთავარი შესახებ კითხვის ნიშნები აქ არის, თუ თქვენ ნამდვილად წაიკითხა მეშვეობით 653 00:32:43,710 --> 00:32:46,950 functions.php, სადაც ჩვენი შეკითხვის ფუნქცია ხორციელდება, 654 00:32:46,950 --> 00:32:52,780 ის კითხვის ნიშნები, რომლებიც გაიქცა, სადაც რაიმე პოტენციურად საშიში 655 00:32:52,780 --> 00:32:58,210 როგორც ერთი გაცემა აღმოჩნდა და გაიქცა ერთი გაცემა. 656 00:32:58,210 --> 00:33:00,590 >> ასე რომ, ეს არის ის, რაც მართლა ხდება თუ 657 00:33:00,590 --> 00:33:04,850 გამოიყენოთ CS50 მოთხოვნას ფუნქცია ან ნებისმიერი რაოდენობის მესამე მხარის უფასო ბიბლიოთეკები, 658 00:33:04,850 --> 00:33:06,000 იგივე გააკეთონ. 659 00:33:06,000 --> 00:33:09,850 არ აქვს მნიშვნელობა, ამ შემთხვევაში, მწვანე, თუ მომხმარებელს უკვე აკრეფილი ერთი გაცემა 660 00:33:09,850 --> 00:33:12,070 იმიტომ შეკითხვაზე ფუნქცია, რომ ჩვენ დაწერა 661 00:33:12,070 --> 00:33:15,120 ვაპირებ, რომ დაამატოთ backslashes ადრე ნებისმიერი ასეთი საშიში გაცემა. 662 00:33:15,120 --> 00:33:17,360 ასე რომ, ეს არ არის, ფაქტობრივად, იქნება legit. 663 00:33:17,360 --> 00:33:20,910 ეს არის, როგორც აკრეფით გიჟები ეძებს დაგავიწყდათ, რომ, რა თქმა უნდა, არ აპირებს 664 00:33:20,910 --> 00:33:23,490 იყოს skroob ფაქტობრივი პაროლი. 665 00:33:23,490 --> 00:33:28,260 >> ამიტომ takeaway for CS50 არის ერთი, აბსოლუტურად ყოველთვის გამოიყენოთ რაღაც 666 00:33:28,260 --> 00:33:30,860 მოსწონს CS50 მოთხოვნას ფუნქცია ან ძირითადი ბიბლიოთეკა, 667 00:33:30,860 --> 00:33:32,560 რომელიც ხდება ე.წ. სახალხო დამცველის აპარატი. 668 00:33:32,560 --> 00:33:35,880 მაგრამ არასდროს, არასდროს, არასოდეს გააკეთებს კოდი მოსწონს ეს 669 00:33:35,880 --> 00:33:39,472 გარეშე აფარებს ან scrubbing როგორც ამბობენ, თქვენი საშუალებებით. 670 00:33:39,472 --> 00:33:42,430 და თქვენ რაღაც მომენტში, ალბათ, გვხვდება ნახვა მოსწონს ეს. 671 00:33:42,430 --> 00:33:46,060 სინამდვილეში, როგორც ჩანს, იმ შემთხვევაში, როგორც აეროპორტში და სასტუმროებში ადგილები 672 00:33:46,060 --> 00:33:48,880 სადაც მათ აქვთ უფასო Wi-Fi ხელმისაწვდომობა, რომ თქვენ უნდა შემოხვიდეთ, 673 00:33:48,880 --> 00:33:51,010 ამ საიტებზე ყოველთვის horribly განხორციელდა. 674 00:33:51,010 --> 00:33:55,680 ასე რომ, ერთგვარი გართობა სახლში exercise, არ მუქარის მიზნებისათვის ან მეტი 675 00:33:55,680 --> 00:33:59,170 გართობა გზაზე სწავლება, მხოლოდ ჩაწერეთ 676 00:33:59,170 --> 00:34:02,850 აპოსტროფი, ერთი გაცემა, ფორმა ზოგიერთ საიტი 677 00:34:02,850 --> 00:34:03,810 და ვნახოთ, რა მოხდება. 678 00:34:03,810 --> 00:34:06,660 და თუ სერვერზე crashes ან აძლევს თქვენ გარკვეული სახის შეცდომა, 679 00:34:06,660 --> 00:34:09,690 ეს შეიძლება ძალიან კარგად იყოს, რომ ვინმე არ მოელიან. 680 00:34:09,690 --> 00:34:15,239 და მაშინ უნდა პირთა სათანადო ხელისუფლება და მიიღოს არ შემდგომი. 681 00:34:15,239 --> 00:34:20,843 >> ასე რომ, ახლა თქვენ ბიჭები უნდა იმედია გაგება ცოტა მეტი GEEK იუმორი აქ. 682 00:34:20,843 --> 00:34:24,120 >> [სიცილის] 683 00:34:24,120 --> 00:34:27,571 684 00:34:27,571 --> 00:34:29,070 დავით Malan: თქვენ იცით, რომ თქვენ geek. 685 00:34:29,070 --> 00:34:30,944 მომდევნო რამდენიმე წლის განმავლობაში, თქვენ გახსოვთ, 686 00:34:30,944 --> 00:34:33,520 ვინც პატარა ბობი მაგიდები არის იმიტომ, რომ ამ cartoon აქ. 687 00:34:33,520 --> 00:34:36,760 გააგრძელეთ, რომ გონება, როგორც ჩვენ კონტექსტში switch ერთი ბოლო დროს 688 00:34:36,760 --> 00:34:38,770 დღეს JavaScript. 689 00:34:38,770 --> 00:34:41,600 ჩვენ გაატარა შედარებით პატარა დროის სინტაქსი PHP 690 00:34:41,600 --> 00:34:43,440 რადგან ეს, ფაქტობრივად super მსგავსი C. 691 00:34:43,440 --> 00:34:47,300 და ლამაზად საკმარისი, JavaScript ძალიან სუპერ მსგავსი C- ს სინტაქსი 692 00:34:47,300 --> 00:34:49,639 ისევე როგორც ვნახავთ მხოლოდ ერთი წუთით და როგორც ჩვენ 693 00:34:49,639 --> 00:34:51,205 , მოგვიანებით ამ კვირაში, კერძოდ. 694 00:34:51,205 --> 00:34:54,080 რა შეგიძლიათ გააკეთოთ ამ ენაზე თუმცა, არის უფრო ძლიერი, 695 00:34:54,080 --> 00:34:55,790 განსაკუთრებით APIs. 696 00:34:55,790 --> 00:34:56,960 >> მაგრამ პირველი სწრაფი ტური. 697 00:34:56,960 --> 00:35:00,450 ასე რომ, ერთი, JavaScript, არსებობს არ ძირითადი ფუნქცია, რომელიც არის ლამაზი. 698 00:35:00,450 --> 00:35:02,650 როგორც PHP, შეგიძლიათ უბრალოდ დაწერეთ კოდი. 699 00:35:02,650 --> 00:35:04,310 პირობები მოსწონს ეს. 700 00:35:04,310 --> 00:35:07,100 და ლოგიკური გამონათქვამები შეიძლება ასე გამოიყურება და მოსწონს ეს. 701 00:35:07,100 --> 00:35:09,530 კონცენტრატორები არსებობს და შესაძლოა ასე გამოიყურება. 702 00:35:09,530 --> 00:35:10,970 ოთხი მარყუჟების გამოიყურება. 703 00:35:10,970 --> 00:35:12,390 მიუხედავად იმისა, მარყუჟების გამოიყურება. 704 00:35:12,390 --> 00:35:14,160 ამის გაკეთება whiles მოსწონს ეს. 705 00:35:14,160 --> 00:35:16,850 და შემდეგ კოლექტორები ჰგავს ეს ძალიან ჰგავს PHP. 706 00:35:16,850 --> 00:35:20,740 მაგრამ შეამჩნია, რომ JavaScript თქვენ განაცხადოს ცვლადი არა დოლარი 707 00:35:20,740 --> 00:35:25,190 ხელი მოაწეროს, მაგრამ არა მონაცემები ტიპის, მაგრამ ფაქტიურად განაცხადა var ცვლადი წინაშე. 708 00:35:25,190 --> 00:35:27,900 ეს ძალიან თავისუფლად აკრეფილი რომ მას აქვს სახის, 709 00:35:27,900 --> 00:35:29,729 მაგრამ თქვენ არ მკაფიოდ ვაცხადებ მათ. 710 00:35:29,729 --> 00:35:31,520 და შემდეგ სიმებიანი, რადგან მაგალითად, შეიძლება გამოიყურებოდეს 711 00:35:31,520 --> 00:35:34,350 როგორც ეს, რომ სიმებიანი მიმდინარეობს მოუწოდა ამ შემთხვევაში. 712 00:35:34,350 --> 00:35:35,410 და შემდეგ ობიექტი. 713 00:35:35,410 --> 00:35:37,010 და ეს ჩვენ უფრო მეტი ადრე ხანგრძლივი. 714 00:35:37,010 --> 00:35:41,470 და ობიექტი, ალბათ, ერთ-ერთი ყველაზე ხშირად ჩანს მონაცემების სტრუქტურები 715 00:35:41,470 --> 00:35:44,050 ამ JavaScript საფუძველზე პროგრამა, რადგან იგი საშუალებას იძლევა 716 00:35:44,050 --> 00:35:46,680 თქვენ გაერთიანდნენ თვითნებური გასაღები ღირებულება წყვილი მხოლოდ 717 00:35:46,680 --> 00:35:51,240 როგორც PHP- ს ასოციაციური მასივები და ისევე, როგორც თქვენი საკუთარი hash მაგიდა 718 00:35:51,240 --> 00:35:54,042 ან ცდილობენ როგორც ჩვენ განხორციელდეს რამდენიმე კვირის უკან. 719 00:35:54,042 --> 00:35:56,250 მოდით რეალურად ვხედავ რა შეგვიძლია JavaScript. 720 00:35:56,250 --> 00:35:59,410 კერძოდ, ეს არის სამრეცხაო სიაში მახასიათებლები 721 00:35:59,410 --> 00:36:02,300 რომ ბრაუზერები, რომ საშუალებას მოგვცემს, რომ Hook JavaScript 722 00:36:02,300 --> 00:36:05,470 შევიდა ნახვა შემდეგნაირად. 723 00:36:05,470 --> 00:36:09,340 JavaScript ხშირად გამოიყენება, როგორც კლიენტის მხარეს სკრიფტინგის ენა. 724 00:36:09,340 --> 00:36:10,130 ეს არ არის შედგენილი. 725 00:36:10,130 --> 00:36:11,370 ეს ძალიან ინტერპრეტაცია. 726 00:36:11,370 --> 00:36:15,740 მაგრამ განსხვავებით PHP, რომელიც გაშვებული on სერვერზე, სერვერზე, 727 00:36:15,740 --> 00:36:18,220 ან ღრმა შიგნით კლიენტებს, JavaScript 728 00:36:18,220 --> 00:36:22,190 არის განსხვავებული, რომ ეს როგორც წესი, გადის ბრაუზერი. 729 00:36:22,190 --> 00:36:26,060 >> ასე რომ, ნებისმიერ JavaScript კოდი დაიწყოს წერა ამისთვის pset 8, ან თქვენი საბოლოო პროექტი, 730 00:36:26,060 --> 00:36:29,890 ან რეალურ სამყაროში ზოგადად აპირებს უნდა იყოს შენახული სერვერზე, აბსოლუტურად 731 00:36:29,890 --> 00:36:33,110 ამ dot HTML ან dot JS for JavaScript ფაილი. 732 00:36:33,110 --> 00:36:35,770 მაგრამ ბრაუზერის აპირებს ჩამოტვირთვა რომ JavaScript 733 00:36:35,770 --> 00:36:39,530 კოდი თქვენს საკუთარ ინსტანციის Chrome, ან IE ან Firefox, ან რასაც. 734 00:36:39,530 --> 00:36:43,870 და კოდი არის რეალურად აპირებს მიიღოს შესრულებული შიგნით თქვენი საკუთარი ბრაუზერის. 735 00:36:43,870 --> 00:36:46,560 მხოლოდ იმიტომ, რომ ეს უფრო რეალური, ვნახოთ, ეს კონკრეტული ფორმა. 736 00:36:46,560 --> 00:36:50,120 >> ჩვენ არ ვიცით, რა ეს კოდი აკეთებს გარეშე ნამდვილად კითხულობს მეშვეობით. 737 00:36:50,120 --> 00:36:52,670 მაგრამ ნება მომეცით წასვლა Facebook.com გარეშე შესვლის. 738 00:36:52,670 --> 00:37:00,440 ნება მომეცით წასვლა შეამოწმოს ელემენტის, გადადით, ვთქვათ, ქსელი და განაახლეთ გვერდი. 739 00:37:00,440 --> 00:37:04,150 და ჩვენ ვხედავ მიადევნე თვალი გადაიტანოს Reload გვერდზე მისაღებად ყველა მოთხოვნა ახალი. 740 00:37:04,150 --> 00:37:08,850 და პირველივე ფაილი ვხედავ CSS, CSS. 741 00:37:08,850 --> 00:37:10,880 აი პირველი JavaScript ფაილი, და მე 742 00:37:10,880 --> 00:37:14,600 არ ვიცი, რა ეს ასეა, მაგრამ აქ არის რამდენიმე JavaScript კოდი 743 00:37:14,600 --> 00:37:16,180 რომელიც მართავს Facebook. 744 00:37:16,180 --> 00:37:18,400 ის კი არ არის, რომ გამოვლენის, რომ მიუახლოვდით. 745 00:37:18,400 --> 00:37:20,260 ეს ჯერ კიდევ მხოლოდ როგორც nonsensical. 746 00:37:20,260 --> 00:37:24,341 >> მაგრამ დაინახავთ კი ქვემოთ, იქ უფრო მეტი ამ JavaScript ფაილი. 747 00:37:24,341 --> 00:37:24,840 Whoops. 748 00:37:24,840 --> 00:37:25,440 სწორედ ping. 749 00:37:25,440 --> 00:37:28,550 მოდით წავიდეთ ქვემოთ პატარა შემდგომი, უფრო, უფრო. 750 00:37:28,550 --> 00:37:29,894 არსებობს ერთი. 751 00:37:29,894 --> 00:37:31,238 არსებობს ერთი. 752 00:37:31,238 --> 00:37:31,880 არსებობს ერთი. 753 00:37:31,880 --> 00:37:35,820 >> მიუხედავად იმისა, Facebook, უკან სცენები, წერია მონაწილეობა PHP 754 00:37:35,820 --> 00:37:39,100 და Facebook- ის საკუთარი ვერსია მისი, არსებობს უზარმაზარი JavaScript. 755 00:37:39,100 --> 00:37:41,330 ფაქტობრივად, ნებისმიერ ჩატი აკეთებთ Facebook, 756 00:37:41,330 --> 00:37:45,520 ნებისმიერი inline ვადები განახლება რომ მოხდეს რეალურ დროში, ყველა რომ 757 00:37:45,520 --> 00:37:47,944 ამოძრავებს JavaScript. 758 00:37:47,944 --> 00:37:48,444 ჰო? 759 00:37:48,444 --> 00:37:50,235 >> აუდიტორია: მე არ ვარ დარწმუნებული თუ ეს არის Facebook, 760 00:37:50,235 --> 00:37:53,624 მაგრამ ვფიქრობდი, რომ Facebook განვითარებული საკუთარი სახლი კოდი ენა? 761 00:37:53,624 --> 00:37:54,540 დავით Malan: ისინი გააკეთა. 762 00:37:54,540 --> 00:37:58,110 ამიტომაც ვამბობ, რომ ეწინააღმდეგება PHP მოუწოდა Hip Hop, რომ ისინი რეალურად 763 00:37:58,110 --> 00:38:03,440 დამატებული ფუნქციები, ისეთი, რომ როდესაც Mark პირველად განხორციელდა Facebook, 764 00:38:03,440 --> 00:38:04,710 ეს იყო დაწერილი PHP. 765 00:38:04,710 --> 00:38:07,370 და რომ ერთგვარი დარჩა სახის წინა ბოლომდე ენის 766 00:38:07,370 --> 00:38:09,030 ისინი იყენებენ ბევრად მათი კოდირება, მაგრამ ეს 767 00:38:09,030 --> 00:38:11,870 არ ყოფილა ის ენა, რომელსაც ის სასწორები განსაკუთრებით კარგად მილიარდობით 768 00:38:11,870 --> 00:38:12,630 ადამიანი. 769 00:38:12,630 --> 00:38:15,300 ასე რომ, ისინი არ დასძინა, საკუთარი გაუმჯობესების კულისებში. 770 00:38:15,300 --> 00:38:17,049 და ისინი გამოიყენოთ ნებისმიერი რაოდენობის სხვა ენებზე 771 00:38:17,049 --> 00:38:19,170 სხვადასხვა ცალი მათი ინფრასტრუქტურა. 772 00:38:19,170 --> 00:38:24,080 ასე რომ დიახ, ის ეწინააღმდეგება საქართველოს რაც ჩვენ ვიცით როგორც PHP. 773 00:38:24,080 --> 00:38:26,610 >> მოდით შევხედოთ დროს რამდენიმე მაგალითები 774 00:38:26,610 --> 00:38:28,890 როგორ შეიძლება გამოიყენოს JavaScript აქ. 775 00:38:28,890 --> 00:38:32,530 დღევანდელ კოდის, ჩვენ გვაქვს რამოდენიმე ფაილი, რომელთაგან პირველი, 776 00:38:32,530 --> 00:38:34,090 მოდით მოუწოდა DOM ნულოვანი. 777 00:38:34,090 --> 00:38:36,770 ასე DOM ნულოვანი გამოიყურება. 778 00:38:36,770 --> 00:38:40,730 ნება მომეცით წასვლას დირექტორია და ქმნის domzero.html, 779 00:38:40,730 --> 00:38:44,970 ზედა რომელსაც აქვს doc ტიპი დეკლარაცია, რომ აქ საქმე HTML 5. 780 00:38:44,970 --> 00:38:46,440 და ახლა აქ HTML tag. 781 00:38:46,440 --> 00:38:47,540 აი არეში აქვს. 782 00:38:47,540 --> 00:38:49,210 და აი, რა არის ახალი დღეს. 783 00:38:49,210 --> 00:38:52,620 >> ჩვენ ახლა აქვს სცენარი აქვს შიგნით ხელმძღვანელი გვერდზე. 784 00:38:52,620 --> 00:38:55,290 და ეს, როგორც ჩანს ძალიან ცოტა, მაგრამ ცნობა 785 00:38:55,290 --> 00:38:58,410 რომ მე განსაზღვრული script, JavaScript. 786 00:38:58,410 --> 00:39:01,050 და როგორც განზე, რადგან ამ ფართოდაა გავრცელებული მცდარი შეხედულება, 787 00:39:01,050 --> 00:39:05,220 JavaScript აბსოლუტურად არაფერი აქვს უნდა გავაკეთოთ Java, ენა 788 00:39:05,220 --> 00:39:08,010 რომ ზოგიერთი შეიძლება შეიტყო APCS. 789 00:39:08,010 --> 00:39:10,480 ეს უფრო მარკეტინგული რამ, ვიდრე არაფერი, 790 00:39:10,480 --> 00:39:12,980 ცხენოსნობა coattails ჯავის წლის წინ. 791 00:39:12,980 --> 00:39:17,300 მაგრამ JavaScript, არაფერ შუაშია Java, უბრალოდ ისევე, და გამაღიზინებლად 792 00:39:17,300 --> 00:39:18,480 confusingly დაასახელა. 793 00:39:18,480 --> 00:39:21,890 >> ასე რომ, აქ არის, თუ როგორ განაცხადოს ფუნქცია JavaScript, სიტყვასიტყვით ამბობენ ფუნქცია, 794 00:39:21,890 --> 00:39:24,556 მაშინ სახელით ფუნქციონირებს, მაშინ რაიმე არგუმენტი, რომ შესაძლოა, 795 00:39:24,556 --> 00:39:25,530 ისევე როგორც PHP. 796 00:39:25,530 --> 00:39:28,990 თურმე JavaScript, ერთ-ერთი ყველაზე შემაშფოთებელი ფუნქციები, რომელიც არსებობის Alert. 797 00:39:28,990 --> 00:39:31,392 ეს არის პატარა ფანჯარა, რომელიც გაიხსნება და მიიღეთ 798 00:39:31,392 --> 00:39:32,600 ზოგიერთი მათგანი. 799 00:39:32,600 --> 00:39:33,766 ეს ზოგადად frowned საფუძველზე. 800 00:39:33,766 --> 00:39:35,980 მაგრამ ჩვენ გამოიყენოს იგი როგორც ჩვენი პირველი სავარჯიშო აქ. 801 00:39:35,980 --> 00:39:37,900 >> შეამჩნია რამდენიმე თავისებურება JavaScript. 802 00:39:37,900 --> 00:39:41,524 ერთჯერადი შეთავაზებები და ორმაგი შეთავაზებები რეალურად არ აქვს მნიშვნელობა უქმნით. 803 00:39:41,524 --> 00:39:43,690 ერთჯერადი შეთავაზებები და ორმაგი შეთავაზებები შეიძლება გაცვალეს, 804 00:39:43,690 --> 00:39:46,220 ხოლო C, თქვენ უნდა გამოიყენოთ ორმაგი შეთავაზებები სიმები, 805 00:39:46,220 --> 00:39:48,150 და თქვენ ორი ერთი შეთავაზებები სიმბოლო. 806 00:39:48,150 --> 00:39:51,150 ამ JavaScript მსოფლიოში, ბევრი ადამიანი, ყველაზე ხალხი 807 00:39:51,150 --> 00:39:54,970 გამოიყენოთ ერთჯერადი შეთავაზებები გარშემო strings მხოლოდ იმიტომ, რომ სტილისტური რამ. 808 00:39:54,970 --> 00:39:58,330 მაგრამ რა plus ოპერატორს აქ, რომელიც ჩვენ არ მინახავს ადრე? 809 00:39:58,330 --> 00:39:59,836 >> აუდიტორია: გაერთიანების. 810 00:39:59,836 --> 00:40:00,960 დავით Malan: გაერთიანების. 811 00:40:00,960 --> 00:40:02,450 ასე C კი არ აქვს ეს. 812 00:40:02,450 --> 00:40:04,820 PHP აქვს dot ოპერატორი, რომელიც ამას. 813 00:40:04,820 --> 00:40:09,710 JavaScript აქვს პლუს ოპერატორი, რომელიც confusingly, ისევე, როგორც ჯავაში. 814 00:40:09,710 --> 00:40:11,440 ახლა, რა ხდება აქ? 815 00:40:11,440 --> 00:40:14,260 >> ასე რომ, აქ, სადაც ძირითადი გაგება, რომ სურათი 816 00:40:14,260 --> 00:40:17,010 ჩვენ ესროლა რამდენიმე დღის წინ ძალაში პიესა. 817 00:40:17,010 --> 00:40:19,620 გახსოვთ, როდესაც ჩვენ გვქონდა მარტივი ვერსია HTML page-- 818 00:40:19,620 --> 00:40:20,830 ეს უბრალოდ განაცხადა, hello მსოფლიოში. 819 00:40:20,830 --> 00:40:22,770 და მაშინ ჩვენ მიიპყრო ხე უფლება, რომელიც 820 00:40:22,770 --> 00:40:27,320 ჰქონდა მართკუთხედს და ხაზები დამაკავშირებელი მათ მოსწონს ოჯახის ხე. 821 00:40:27,320 --> 00:40:30,820 ასე რომ, ე.წ. DOM ან დოკუმენტის ობიექტური მოდელი. 822 00:40:30,820 --> 00:40:36,759 და აღმოჩნდება, რომ თქვენ შეგიძლიათ თქვათ ოთხკუთხედს, რომ ხე და სინტაქსის 823 00:40:36,759 --> 00:40:37,550 როგორიცაა შემდეგ. 824 00:40:37,550 --> 00:40:41,370 თქვენ სიტყვასიტყვით ამბობენ დოკუმენტი, რომელიც არის სპეციალური გლობალური ცვლადი JavaScript 825 00:40:41,370 --> 00:40:45,890 პროგრამა, რომელიც აქვს ფუნქცია დაკავშირებული ის, რომ თქვენ შეგიძლიათ თქვათ 826 00:40:45,890 --> 00:40:50,280 მსგავსი struct, მაგრამ თქვენ უბრალოდ ამბობენ dot და შემდეგ ფუნქციის სახელი, 827 00:40:50,280 --> 00:40:52,390 მიიღეთ ელემენტს ID. 828 00:40:52,390 --> 00:40:55,460 >> ელემენტის მინდა კიდევ არის როგორც ჩანს, ციტირებით unquote სახელი. 829 00:40:55,460 --> 00:40:57,150 და მაშინ მე მინდა კიდევ მისი ღირებულება. 830 00:40:57,150 --> 00:40:58,330 ახლა ჩვენ ვიღებთ ადრე საკუთარ თავს. 831 00:40:58,330 --> 00:41:00,038 მე არ ვარ დარწმუნებული, თუ რა ყველა ეს არის შესახებ. 832 00:41:00,038 --> 00:41:03,000 მოდით სწრაფად ველით HTML on გვერდზე, რომელიც არის სუპერ მარტივი. 833 00:41:03,000 --> 00:41:05,370 >> შეამჩნია, რომ მე განსაზღვრული ფორმა ქვემოთ აქ. 834 00:41:05,370 --> 00:41:07,940 გაითვალისწინეთ მე მოცემულ ის უნიკალური ID, მიუხედავად იმისა, ჩვენ არ გამოიყენება 835 00:41:07,940 --> 00:41:08,870 ამ ატრიბუტის ადრე. 836 00:41:08,870 --> 00:41:11,300 მაგრამ ეს არსებობს HTML. 837 00:41:11,300 --> 00:41:15,570 თქვენ შეგიძლიათ ცალსახად იდენტიფიცირება ზოგიერთი ბლოკი of HTML რომელზეც იდენტიფიკატორი მოსწონს ეს. 838 00:41:15,570 --> 00:41:19,880 >> განაცხადის ახლა ამას თურმე HTML მხარს უჭერს, თითო რომ სამრეცხაო სიაში 839 00:41:19,880 --> 00:41:22,490 მომენტში წინ, მთელი რამოდენიმე ღონისძიება ელფოსტის. 840 00:41:22,490 --> 00:41:25,060 და ეს ღონისძიება დამმუშავებლის ამბობს წარადგინოს. 841 00:41:25,060 --> 00:41:28,730 საქართველოს შესახებ წარდგენის ფორმა, დარეკეთ შემდეგ კოდი. 842 00:41:28,730 --> 00:41:31,360 და კოდი, რომელიც აპირებს ეწოდოს ან შესრულებული 843 00:41:31,360 --> 00:41:35,260 სწორედ ეს არის, ბერძნული ფუნქცია მოჰყვა დაბრუნების ცრუ. 844 00:41:35,260 --> 00:41:37,360 ყველაფერი უნდა იყოს საკმაოდ ნაცნობი. 845 00:41:37,360 --> 00:41:42,050 >> აქ არის შეყვანის ტიპის ტექსტი, რომლის ID, რომ ამ შემთხვევაში, იქნება სახელი. 846 00:41:42,050 --> 00:41:45,430 ჩვენ არ გვაქვს ნამდვილი სახელი ატრიბუტი ამ time-- და submit ღილაკს. 847 00:41:45,430 --> 00:41:48,330 ასე რომ, რის შედეგადაც გვერდი ასე გამოიყურება. 848 00:41:48,330 --> 00:41:52,890 და შედეგად ქცევა, დაინახავთ, ასე გამოიყურება. 849 00:41:52,890 --> 00:41:56,940 გვერდის it ადგილობრივი მასპინძლებს ამბობს, hello David, ძლივს ესთეტიურად სასიამოვნო 850 00:41:56,940 --> 00:41:58,340 გზა მივესალმო შესახებ. 851 00:41:58,340 --> 00:41:59,950 მაგრამ ის, რაც სინამდვილეში ხდება? 852 00:41:59,950 --> 00:42:01,360 >> განვიხილოთ, რა არის ეს. 853 00:42:01,360 --> 00:42:02,310 ეს არის ტექსტური ველი. 854 00:42:02,310 --> 00:42:04,635 და შესაბამისად HTML აქ, მე მოცემულ ის 855 00:42:04,635 --> 00:42:07,350 უნიკალური იდენტიფიკატორი მოუწოდა გაცემა unquote სახელი. 856 00:42:07,350 --> 00:42:09,770 იმავდროულად, მე განაცხადა, როდესაც მომხმარებლის წარუდგენს ამ ფორმით 857 00:42:09,770 --> 00:42:13,820 მიერ hitting შეიყვანეთ და დაჭერით შეტანა ღილაკს, მოვუწოდებთ ფუნქცია მოუწოდა მოიკითხეთ 858 00:42:13,820 --> 00:42:15,410 და შემდეგ დაბრუნების ცრუ. 859 00:42:15,410 --> 00:42:16,870 განვიხილოთ იმ საპირისპირო. 860 00:42:16,870 --> 00:42:20,590 შეამჩნია, როდესაც მე დააჭირეთ submit, URL ამ გვერდზე არ იცვლება. 861 00:42:20,590 --> 00:42:22,420 ბრაუზერის icon არ დაიწყოს დაწნული. 862 00:42:22,420 --> 00:42:27,050 მე არ წავიდეთ სადმე, და ეს ფაქტიურად იმიტომ ვთქვი დაბრუნების ცრუ. 863 00:42:27,050 --> 00:42:31,534 დაბრუნების ცრუ მოკლე სქემები ან გაჩერება ნაგულისხმევი ქცევის ფორმა. 864 00:42:31,534 --> 00:42:33,700 ასე რომ, მაშინ ტოვებს ჩვენთვის ამ ერთი საბოლოო კითხვას. 865 00:42:33,700 --> 00:42:34,764 რას მოიკითხეთ გავაკეთოთ? 866 00:42:34,764 --> 00:42:36,680 ასევე, მივესალმო, როგორც ჩანს, მოუწოდებს ფუნქცია მოუწოდა 867 00:42:36,680 --> 00:42:39,250 Alert, გადის ერთი ხანგრძლივი არგუმენტი, რომ 868 00:42:39,250 --> 00:42:43,950 შედეგი concatenating ერთად bunch of substrings, hello მძიმე სივრცე, 869 00:42:43,950 --> 00:42:45,810 შემდეგ რაც ბრუნდება. 870 00:42:45,810 --> 00:42:51,490 ასე დოკუმენტი, როგორიცაა გლობალური ცვლადი, რომ ძირეული რომ ხე, 871 00:42:51,490 --> 00:42:55,560 რიგგარეშე ფუნქცია, წინააღმდეგ შემთხვევაში, ცნობილია როგორც მეთოდი. 872 00:42:55,560 --> 00:42:57,650 ფუნქცია, რომელიც შიგნით ცვლადი არის 873 00:42:57,650 --> 00:42:59,640 მოუწოდა მეთოდი ნაცვლად ფუნქცია. 874 00:42:59,640 --> 00:43:01,570 >> ასე რომ კიდევ ელემენტს ID. 875 00:43:01,570 --> 00:43:03,940 რა ელემენტს თქვენ გსურთ მიიღოთ მისი ID? 876 00:43:03,940 --> 00:43:06,970 ციტირებით unquote სახელი და მაშინ კონკრეტულად ვაფასებთ. 877 00:43:06,970 --> 00:43:12,000 ასე რომ, სხვა სიტყვებით, რომ კოდი, უბრალოდ, აღმოაჩენს ველში, რომლის ID არის სახელი 878 00:43:12,000 --> 00:43:13,380 და შემდეგ იღებს მისი ღირებულება. 879 00:43:13,380 --> 00:43:16,460 ასე რომ, თუ მე რომ შეცვალოს ეს და ვთქვათ Davin ნაცვლად დავით, 880 00:43:16,460 --> 00:43:20,670 და დაწკაპეთ წარუდგინოს, ახლა ჩვენ აქვს მისალოცი Davin. 881 00:43:20,670 --> 00:43:22,890 >> ყველა უფლება, ასე რომ ყველა კარგი და კეთილი. 882 00:43:22,890 --> 00:43:25,480 მაგრამ ვნახოთ, თუ ჩვენ შეგვიძლია ამ ცოტა სუფთა, რადგან მხოლოდ 883 00:43:25,480 --> 00:43:28,190 წერა კოდი მოსწონს ეს ზოგადად იქნება frowned საფუძველზე. 884 00:43:28,190 --> 00:43:30,060 ეს აპირებს გამოიყურებოდეს scarier. 885 00:43:30,060 --> 00:43:32,330 მაგრამ რა არის პირველი განსხვავება, რომ თქვენ აღვნიშნო აქ 886 00:43:32,330 --> 00:43:35,970 ეს ვერსია, გარდა იმისა, სახელი იცვლება DOM, ერთი? 887 00:43:35,970 --> 00:43:41,110 რა სტრუქტურულად გამოიყურება სხვადასხვა ამ წინააღმდეგ სხვა? 888 00:43:41,110 --> 00:43:41,932 ჰო? 889 00:43:41,932 --> 00:43:43,890 აუდიტორია: არის ფორმა ყველაზე script ახლა? 890 00:43:43,890 --> 00:43:46,570 DAVID Malan: ჰო, ფორმა თავზე სცენარის რამდენიმე ცნობისმოყვარე მიზეზი. 891 00:43:46,570 --> 00:43:48,736 ასე რომ, პირველი, რაც რომ jumps out at me, ძალიან. 892 00:43:48,736 --> 00:43:50,990 საბედნიეროდ, სულ მცირე, ეს ნაწილი არის იდენტური. 893 00:43:50,990 --> 00:43:53,470 ასე რომ, ერთადერთი, რაც, როგორც ჩანს, განსხვავებული უნდა იყოს ეს. 894 00:43:53,470 --> 00:43:55,296 >> ასე რომ, აქ არის ის, რაც სუფთა შესახებ JavaScript 2. 895 00:43:55,296 --> 00:43:57,420 და ეს შეუძლებელს ქმნის მესმის, ერთი შეხედვით, 896 00:43:57,420 --> 00:44:00,670 განსაკუთრებით საბოლოო პროექტების, თუ თქვენ ეძებთ ნიმუში კოდი შემოსული, 897 00:44:00,670 --> 00:44:04,200 მაგრამ ეს boils ქვემოთ ზოგიერთი ძირითადი სინტაქსური ფუნქციები. 898 00:44:04,200 --> 00:44:06,230 აქ ისევ ის არის, რომ გლობალური ცვლადი დოკუმენტი. 899 00:44:06,230 --> 00:44:09,540 აქ ისევ ის არის, რომ მეთოდი და ფუნქცია რომელიც ამბობს, რომ მიიღოთ ელემენტი, ID. 900 00:44:09,540 --> 00:44:11,570 ამ დროს მინდა მიიღეთ ID მოუწოდა დემო. 901 00:44:11,570 --> 00:44:12,490 სად არის? 902 00:44:12,490 --> 00:44:15,400 ეს აშკარად სწორი აქ, ფორმა თავად. 903 00:44:15,400 --> 00:44:20,010 >> და ახლა შეამჩნია, რომ როგორც ჩანს, თუ მე დავუბრუნდეთ, რომ კვანძის ხე, 904 00:44:20,010 --> 00:44:22,940 წარმოადგენს ფორმა თავისთავად, არ ველში, 905 00:44:22,940 --> 00:44:26,970 გამოდის, რომ ფორმა, რომელიც კვანძის ან მართკუთხედი, ხე, 906 00:44:26,970 --> 00:44:30,450 აქვს ის, რაც ჩვენ მოვუწოდებთ ქონება, ძალიან, ძალიან, ძალიან ჰგავს 907 00:44:30,450 --> 00:44:35,390 სულითა struct in C. ეს მხოლოდ მონაცემთა წევრი შიგნით მართკუთხედი. 908 00:44:35,390 --> 00:44:38,300 >> მე მაქვს ფორმა აქ, და მე ვამაგრებ, 909 00:44:38,300 --> 00:44:44,650 ან მე მინიჭება, მისი წარმოადგინოს კურატორმა ან უფრო წარმოადგინოს ქონება 910 00:44:44,650 --> 00:44:45,740 შემდეგი ფუნქცია. 911 00:44:45,740 --> 00:44:49,000 და ეს არის, გაცილებით, craziest რაც დღემდე syntactically. 912 00:44:49,000 --> 00:44:53,610 თურმე JavaScript და PHP და გულწრფელად, რომ ამ საკითხზე C, 913 00:44:53,610 --> 00:44:58,990 მიუხედავად იმისა, რომ ჩვენ არ გავაკეთებთ, თქვენ შეგიძლიათ რჩეულებში უსახელო, ანონიმური, და AKA lambda 914 00:44:58,990 --> 00:45:03,000 ფუნქცია, რაც არ აქვს სახელი მაგრამ შეიძლება ეწოდოს მაინც. 915 00:45:03,000 --> 00:45:07,050 >> მერე რა მე აკეთებს აქ მე მინიჭება ამ ალბომის ქონება, რომელიც 916 00:45:07,050 --> 00:45:14,330 შიგნით ამ კვანძის ჩემი DOM ხე, ფუნქცია, ფუნქციის მაჩვენებელი თუ გნებავთ. 917 00:45:14,330 --> 00:45:16,310 ეს ფუნქცია არ აქვს სახელი, მაგრამ ეს არ 918 00:45:16,310 --> 00:45:19,110 აქვს, რადგან ჩვენ დავინახავთ, როგორ მომენტში ეძახით. 919 00:45:19,110 --> 00:45:21,780 როდესაც ეს ფუნქცია ეწოდება, ეს კოდი იღებს დასაჯეს, მაშინ 920 00:45:21,780 --> 00:45:24,210 ყალბი უბრუნდება, ისევე, როგორც ადრე. 921 00:45:24,210 --> 00:45:25,800 >> მაგრამ შეამჩნია რა მე ვაკეთებ. 922 00:45:25,800 --> 00:45:27,830 ამ ეტაპზე ამბავი, მაქვს ფორმა. 923 00:45:27,830 --> 00:45:30,190 მას აქვს უნიკალური ID მოუწოდა დემო. 924 00:45:30,190 --> 00:45:33,740 Down აქ, მე მაქვს სცენარი აქვს რომელიც ახორციელებს შემდეგი კოდი. 925 00:45:33,740 --> 00:45:37,720 ის ანიჭებს, რომ კვანძის ხე ეს წარმოადგინოს 926 00:45:37,720 --> 00:45:40,260 ქონების ამ ფუნქციას აქ. 927 00:45:40,260 --> 00:45:44,310 და მხოლოდ ბუნება, თუ როგორ ბრაუზერები მუშაობა, როდესაც მე ახლა დააჭირეთ Submit და Enter, 928 00:45:44,310 --> 00:45:45,889 რომ ფუნქცია აპირებს მისაღებად მოუწოდა. 929 00:45:45,889 --> 00:45:48,680 ეს არ უნდა სახელის გამო, რომელიც heck ზრუნავს რასაც ის მოუწოდა. 930 00:45:48,680 --> 00:45:52,540 ერთადერთი დრო, რომ ის ოდესმე აპირებს მისაღებად მოუწოდა, როდესაც მე წარმოადგინოს ფორმა. 931 00:45:52,540 --> 00:45:55,130 იქ არ არის საჭიროება ჩემთვის, ადამიანის დეველოპერი, 932 00:45:55,130 --> 00:45:57,330 სინამდვილეში ეს არსად. 933 00:45:57,330 --> 00:46:00,720 >> ახლა ისევე როგორც teaser, თითქოს, არ იყო გონება bending საკმარისი, 934 00:46:00,720 --> 00:46:03,330 ჩვენ კი ამ უფრო cryptic გამოყენებით 935 00:46:03,330 --> 00:46:05,850 სუპერ პოპულარული ბიბლიოთეკა მოუწოდა jQuery. 936 00:46:05,850 --> 00:46:08,760 ფაქტობრივად jQuery და JavaScript ხშირად conflated. 937 00:46:08,760 --> 00:46:12,790 და ჩვენ ყველაფერს გავაკეთებთ ოთხშაბათს დაწყება ამ ენით და ამ ბიბლიოთეკების 938 00:46:12,790 --> 00:46:16,030 ავაშენოთ უფრო ასინქრონული და დინამიური პროგრამები 939 00:46:16,030 --> 00:46:18,950 როგორც რუკაზე მიღების პროგრამები, პროგრამები 940 00:46:18,950 --> 00:46:22,360 რომ განაახლოთ ვებგვერდზე რეალურ დროს, ბევრი, როგორიცაა Facebook ან Gchat 941 00:46:22,360 --> 00:46:27,130 ამის გაკეთება, და აღარ confine თავს დარტყმის წარმოადგინოს მისაღებად ან უბრალოდ პოსტი 942 00:46:27,130 --> 00:46:27,630 მარტო. 943 00:46:27,630 --> 00:46:29,055 ასე რომ, მე, თქვენ ოთხშაბათს. 944 00:46:29,055 --> 00:46:31,805 945 00:46:31,805 --> 00:46:35,550 >> [მუსიკალური სათამაშო] 946 00:46:35,550 --> 00:48:09,728