1 00:00:00,000 --> 00:00:02,480 [Powered by Google Translate] [სემინარი] [Programmer ს შესავალი APIs] 2 00:00:02,480 --> 00:00:04,059 [Billy Janitsch] [ჰარვარდის უნივერსიტეტის] [Tommy MacWilliam] 3 00:00:04,059 --> 00:00:08,220 [ეს არის CS50.] [CS50.TV] 4 00:00:08,220 --> 00:00:12,100 >> Hi, ყველას, მე ვარ ბილი, და დღეს მე ვაპირებ ვისაუბრებთ APIs, 5 00:00:12,100 --> 00:00:15,220 ან განაცხადის პროგრამირების ინტერფეისი, 6 00:00:15,220 --> 00:00:20,040 კერძოდ კონტექსტში CS50 საბოლოო პროექტები და რომ ერთგვარი რამ. 7 00:00:20,040 --> 00:00:22,490 ზოგადად რა არის API? 8 00:00:22,490 --> 00:00:25,530 ძალიან ფართო თვალსაზრისით, ეს ერთგვარი შუა კაცი, რომელიც საშუალებას აძლევს 2 ცალი 9 00:00:25,530 --> 00:00:28,610 პროგრამული უზრუნველყოფის ურთიერთობა ერთმანეთთან. 10 00:00:28,610 --> 00:00:32,530 სწორედ ამგვარი ძალიან ფართო განმარტებას და არ არის, რომ შესაბამისი, რასაც ჩვენ ვუყურებთ. 11 00:00:32,530 --> 00:00:35,450 რაც ჩვენ ნამდვილად გვინდა არის გარკვეული სასარგებლო შუა ადგილზე 12 00:00:35,450 --> 00:00:40,570 ურთიერთობის გარკვეული მონაცემთა ბაზა სადღაც. 13 00:00:40,570 --> 00:00:43,310 >> აქ ჩარტში, და ძირითადად იდეა ისაა, რომ 14 00:00:43,310 --> 00:00:46,790 ჩვენ განაცხადს, და ჩვენ გვინდა მონაცემების მონაცემთა ბაზაში, 15 00:00:46,790 --> 00:00:49,570 მაგრამ ჩვენ არ გვინდა, რომ შეკითხვის ბაზაზე პირდაპირ. 16 00:00:49,570 --> 00:00:52,710 ამის ნაცვლად ჩვენ გვინდა გავლა ასეთი ახლო ადამიანი, API. 17 00:00:52,710 --> 00:00:55,440 იდეა უკან რომ არის ციფრები 2 და 3 წლის ჩარტში 18 00:00:55,440 --> 00:00:57,750 ორივე იქნება ძალიან რთული და ბინძურ. 19 00:00:57,750 --> 00:00:59,960 სხვა სიტყვებით, როდესაც API არის querying მონაცემთა ბაზა, 20 00:00:59,960 --> 00:01:03,300 ალბათ იქნება გამოყენებით SQL მაგიდები და ყველა რომ სახის პერსონალის, 21 00:01:03,300 --> 00:01:05,489 და ჩვენ ვისწავლეთ bit ამის შესახებ CS50, მაგრამ საერთო ჯამში, 22 00:01:05,489 --> 00:01:07,590 თქვენ შენიშნა, რომ ცოტა ტკივილი. 23 00:01:07,590 --> 00:01:10,590 იგი იღებს ძალიან, ძალიან რთული და ბინძურ, განსაკუთრებით მაშინ, როდესაც თქვენ მიღების 24 00:01:10,590 --> 00:01:12,530 კომპლექსი queries და რომ ერთგვარი რამ. 25 00:01:12,530 --> 00:01:15,960 >> რაც ჩვენ ნამდვილად გვინდა არის გარკვეული სასარგებლო და მარტივი გზა 26 00:01:15,960 --> 00:01:19,780 მისაღებად, რომ მონაცემები, და ეს იდეა უკან ციფრები 1 და 4 წლის ჩარტში. 27 00:01:19,780 --> 00:01:23,600 სხვა სიტყვებით, ჩვენ გვინდა ნამდვილად მარტივი გზა ვუთხრა API რა მიიღოს ჩვენთვის 28 00:01:23,600 --> 00:01:27,760 და ნამდვილად მარტივი გზა, რომ მონაცემები უკან. 29 00:01:27,760 --> 00:01:33,020 არის კიდევ ერთი მთავარი გზა, რომ მონაცემები ჩვეულებრივ გაგზავნილი და მიღებული, 30 00:01:33,020 --> 00:01:36,490 რაც JSON ან JavaScript Object ნოტაცია. 31 00:01:36,490 --> 00:01:40,370 რომელიც შეიძლება განსხვავდებოდეს ცოტა რამდენადაც როგორ თქვენ გააგზავნით თხოვნით API. 32 00:01:40,370 --> 00:01:43,210 სხვა სიტყვებით, თუ გნებავთ გარკვეული თანხის მონაცემები, 33 00:01:43,210 --> 00:01:46,670 თქვენ როგორ ვუთხრა API მისაღებად რომ მონაცემები შეიძლება განსხვავდებოდეს ცოტა. 34 00:01:46,670 --> 00:01:49,210 ჩვეულებრივ იგი მოიცავს მიღების გარკვეული ქსელის თხოვნით. 35 00:01:49,210 --> 00:01:53,130 სხვა სიტყვებით, წვდომის გარკვეული URL რომ აპირებს ვუთხრა API 36 00:01:53,130 --> 00:01:56,190 ზუსტად რა გსურთ, მაგრამ მონაცემები თითქმის ყოველთვის დააბრუნეს, 37 00:01:56,190 --> 00:01:59,530 სხვა სიტყვებით, ნომერი 4 in JSON. 38 00:01:59,530 --> 00:02:01,030 >> რა არის JSON ზუსტად? 39 00:02:01,030 --> 00:02:03,030 როგორც უკვე ვთქვი, JavaScript Object ნოტაცია. 40 00:02:03,030 --> 00:02:07,090 ეს ძირითადად უნივერსალური სტანდარტი გადამცემი და მიმღები მონაცემები. 41 00:02:07,090 --> 00:02:11,410 იდეა არის ის, რომ თქვენ გაქვთ ამ 3 კატეგორიაში რამ. 42 00:02:11,410 --> 00:02:13,540 თქვენ გაქვთ მასივები, hashmaps და primitives. 43 00:02:13,540 --> 00:02:16,580 კოლექტორები და hashmaps თქვენ შევხედე ცოტა in CS50, 44 00:02:16,580 --> 00:02:19,870 მაგრამ თქვენ ერთგვარი მიღებული მკაცრი გრძნობა რასაც ისინი. 45 00:02:19,870 --> 00:02:22,780 სხვა სიტყვებით, თან კოლექტორები თქვენ იცით, რომ ისინი აკრიფოთ შეკრული, 46 00:02:22,780 --> 00:02:26,560 ასე რომ თქვენ მხოლოდ ერთი სახის ტიპის რომ მიდის მთელი მასივი. 47 00:02:26,560 --> 00:02:29,310 JSON არის გაცილებით მეტი lenient რომ სახის რამ. 48 00:02:29,310 --> 00:02:33,590 ძირითადად იდეა თქვენ ავაშენებთ ეს ობიექტი, 49 00:02:33,590 --> 00:02:36,270 რომელიც შეიძლება შედგება ნებისმიერი ამ 3 რამ 50 00:02:36,270 --> 00:02:39,470 და შეიძლება შედგება მრავალი პირობა მათგანი, და ისინი შეიძლება წყობილი. 51 00:02:39,470 --> 00:02:42,110 >> აქ ერთგვარი მაგალითი JSON, 52 00:02:42,110 --> 00:02:47,910 რაც ამ Curly ფრჩხილებში აქ, თქვენი hashmap, 53 00:02:47,910 --> 00:02:51,400 და hashmap ძირითადად რუკების საწყისი გარკვეული გასაღები 54 00:02:51,400 --> 00:02:53,340 ზოგიერთი სახის ღირებულება. 55 00:02:53,340 --> 00:02:56,440 თქვენ ნახავთ, რომ ჩვენ გვაქვს თვისებები გასაღები, 56 00:02:56,440 --> 00:02:59,600 და ეს ობიექტების გადატანა მასივი, რომელიც ამ მთელი რამ. 57 00:02:59,600 --> 00:03:04,120 ჩვენ ვხედავთ კიდევ ერთი ელემენტს hashmap, რომელიც ამ გასაღები isAwesome, 58 00:03:04,120 --> 00:03:07,370 რაც რუკები პრიმიტიული ღირებულება ასეა, სხვა სიტყვებით, ლოგიკური. 59 00:03:07,370 --> 00:03:09,420 Primitives შეიძლება სტრიქონები. ეს შეიძლება იყოს რიცხვებით. 60 00:03:09,420 --> 00:03:11,960 ეს შეიძლება იყოს bools, არაფერი რომ. 61 00:03:11,960 --> 00:03:18,410 და ხედავთ შინაარსი ამ მასივი რომ თვისებები ქულა აქვს 2 სიმებისათვის ის, 62 00:03:18,410 --> 00:03:20,050 თვითმმართველობის მსგავსი და მშვენიერი. 63 00:03:20,050 --> 00:03:27,410 იმ 2 თვისებები JSON, და ჩვენ ვხედავთ, რომ JSON მდებარ. 64 00:03:27,410 --> 00:03:30,060 შევხედოთ, რომ ცოტა უფრო მჭიდროდ მე ვაპირებ მშენებლობა 65 00:03:30,060 --> 00:03:32,870 უფრო რთული მაგალითი JSON აქ. 66 00:03:32,870 --> 00:03:37,000 >> დავიწყოთ მასივი, მაგალითად, მხოლოდ ცარიელი მასივი. 67 00:03:37,000 --> 00:03:39,180 მაგრამ ეს ერთგვარი მოსაწყენი, ასე რომ, ჩვენ ვაპირებთ შეავსოთ იგი up bit, 68 00:03:39,180 --> 00:03:43,420 და როგორც უკვე ვთქვი, კოლექტორები წელს JSON არიან აკრიფოთ შეკრული, 69 00:03:43,420 --> 00:03:46,400 ამიტომ ჩვენ შეგვიძლია აგრეთვე აქვს სიმებიანი აქ, რომელიც Hi, 70 00:03:46,400 --> 00:03:49,330 და ეს კიდევ ერთი ელემენტი, რომ მასივი. 71 00:03:49,330 --> 00:03:53,450 ანალოგიურად, შეიძლება დაამატოთ hashmapping აქ, რომელიც აპირებს აქვს რამდენიმე mappings. 72 00:03:53,450 --> 00:04:00,470 ის აპირებს რუკების საწყისი სახელი სიმებიანი ბილი. 73 00:04:00,470 --> 00:04:04,590 ჩვენ გვყავს რუკების საწყისი სახელი ბილი, და ჩვენ გვაქვს აგეგმვითი 74 00:04:04,590 --> 00:04:10,860 საყვარელი ფერი ლურჯი. 75 00:04:10,860 --> 00:04:12,700 სწორედ ძირითადად კარგი მაგალითი იმისა, JSON. 76 00:04:12,700 --> 00:04:18,160 იგი სახის იღებს შევიდა-whoops, გვჭირდება მძიმით იქ-ყველა სხვადასხვა კუთხეში იგი. 77 00:04:18,160 --> 00:04:21,140 ისევ, ეს არ აკრიფოთ შეკრული ყველა, ასე რომ თქვენ შეგიძლიათ აქვს რაიმე სახის ტიპის 78 00:04:21,140 --> 00:04:24,710 შიგნით არაფერი გსურთ, და იდეა არის ის თვითმმართველობის მსგავსი. 79 00:04:24,710 --> 00:04:28,830 სხვა სიტყვებით, ეს უფლება აქ არის JSON ობიექტი, როგორც ეს მთელი რამ, 80 00:04:28,830 --> 00:04:33,200 როგორც არის მხოლოდ ამ, ასე რომ თქვენ შეგიძლიათ აქვს პრიმიტიული იყოს ობიექტი, 81 00:04:33,200 --> 00:04:35,680 array იყოს ობიექტის ან hashmap იყოს ობიექტი. 82 00:04:35,680 --> 00:04:40,270 >> როგორც თქვენ შეგიძლიათ სახის ვხედავ, JSON მართლაც, ნამდვილად სასარგებლოა, რომ ასე ძალიან მრავალმხრივი. 83 00:04:40,270 --> 00:04:45,860 შეგიძლიათ რაიმე შესაძლო მონაცემები, რომ თქვენ შეგიძლიათ conceive შენახული JSON. 84 00:04:45,860 --> 00:04:47,900 რომ ხდის მართლაც ლამაზი ენა გამოსაყენებელი APIs 85 00:04:47,900 --> 00:04:50,770 რადგან ეს საკმაოდ ბევრი იმას ნიშნავს, რომ არა აქვს მნიშვნელობა, თუ რა მონაცემები, რომ გსურთ 86 00:04:50,770 --> 00:04:54,270 იქ იქნება გარკვეული გზა მას უკან JSON. 87 00:04:54,270 --> 00:04:58,600 რამდენიმე თვისებები რომ JSON განსაკუთრებით კარგია ასეთი რამ. 88 00:04:58,600 --> 00:05:02,270 როგორც ხედავთ, შედარებით ბევრი რამ, რომ თქვენ უკვე მუშაობს in CS50 89 00:05:02,270 --> 00:05:06,040 ეს შედარებით ძალიან ადვილად წასაკითხი და ასევე ძალიან ადვილია დაწერა. 90 00:05:06,040 --> 00:05:09,700 შეგიძლიათ აბზაცის ის, თუ გნებავთ, როგორიც მე აკეთებდა, რომ მაგალითად, 91 00:05:09,700 --> 00:05:12,990 რომელიც გაძლევთ ლამაზი, მშვენიერი ვერსია, რომ ხედავთ ნამდვილად კარგად. 92 00:05:12,990 --> 00:05:17,150 მაგრამ გარდა ამისა, ის ასევე ადვილად წაიკითხოთ და დაწეროთ ამისთვის კომპიუტერში. 93 00:05:17,150 --> 00:05:19,870 სხვა სიტყვებით, ადვილი გარჩევის და ადვილი encode, 94 00:05:19,870 --> 00:05:23,820 რაც იმას ნიშნავს, რომ ეს საკმაოდ სწრაფად რამდენადაც კითხულობს მონაცემები ეხება, 95 00:05:23,820 --> 00:05:26,460 და JSON შეიძლება გამომუშავებული მართლაც სწრაფად. 96 00:05:26,460 --> 00:05:30,300 >> ასევე ძალიან ადვილად მისადგომ სხვადასხვა კუთხეში JSON და რომ ერთგვარი რამ. 97 00:05:30,300 --> 00:05:33,320 სწორედ ლამაზი, და უფრო მეტიც, ის ფაქტი, რომ თვითმმართველობის მსგავსი, 98 00:05:33,320 --> 00:05:36,090 სხვა სიტყვებით, ის ფაქტი, რომ თქვენ შეგიძლიათ აქვს JSON ფარგლებში JSON ფარგლებში JSON 99 00:05:36,090 --> 00:05:40,040 მართლაც ლამაზი მოგროვებისა მონაცემები. 100 00:05:40,040 --> 00:05:45,490 მეორე ნაწილი, რომელიც, როგორც წესი, ნამდვილად სასარგებლო მუშაობის APIs არის jQuery. 101 00:05:45,490 --> 00:05:49,290 თქვენ გავიგე ცოტა JavaScript, რომელიც ლამაზი გზა 102 00:05:49,290 --> 00:05:53,710 მანიპულირება HTML და CSS ფარგლებში ნახვა. 103 00:05:53,710 --> 00:05:57,190 მაგრამ სახის იყოს ტკივილის კოდი მარტივი JavaScript, 104 00:05:57,190 --> 00:05:59,810 დიდწილად იმიტომ, რომ JavaScript არის ნამდვილად verbose ენაზე. 105 00:05:59,810 --> 00:06:03,020 თქვენ უნდა ვისწავლოთ ბევრი სინტაქსი, და მხოლოდ ამის გაკეთება ძალიან მარტივი რამ 106 00:06:03,020 --> 00:06:07,590 სჭირდება ბევრი კოდი, ასე რომ jQuery არის ბიბლიოთეკაში ამისთვის JavaScript. 107 00:06:07,590 --> 00:06:09,800 სხვა სიტყვებით, ეს JavaScript ფაილის რომ თქვენ შეგიძლიათ გადაწეროთ 108 00:06:09,800 --> 00:06:12,730 და შემდეგ გამოიყენოთ jQuery ფუნქციების გავაკეთოთ გარკვეული რამ. 109 00:06:12,730 --> 00:06:15,670 და jQuery ძირითადად ხდის თქვენი ცხოვრება მთლიანად ბევრი ადვილია. 110 00:06:15,670 --> 00:06:20,390 ეს ამარტივებს რა დასჭირდება ასობით ხაზები JavaScript ქვემოთ რამდენიმე ხაზები jQuery. 111 00:06:20,390 --> 00:06:24,430 >> ეს განსაკუთრებით სასარგებლოა, თუ თქვენ იყენებთ APIs რადგან ზოგადად 112 00:06:24,430 --> 00:06:27,600 როგორ თქვენ უნდა წვდომის APIs არის მიერ მიღების AJAX მოითხოვს, 113 00:06:27,600 --> 00:06:30,130 და მე მჯერა, დავით აღნიშნა ლექციების, რომ AJAX მოითხოვს 114 00:06:30,130 --> 00:06:33,120 ზოგადად, როდესაც თქვენ მიღების ქსელის თხოვნით გარკვეული სერვერზე 115 00:06:33,120 --> 00:06:37,760 და დავუბრუნდეთ გარკვეული მონაცემები და განახლებაზე გვერდზე მომენტალურად. 116 00:06:37,760 --> 00:06:41,840 ხოლო სადა JavaScript რომ დასჭირდება Crazy ნომრები ხაზები 117 00:06:41,840 --> 00:06:44,620 რათა შეამოწმოს ყველა ზედა და ყველაფერი ამ სახის პერსონალის, 118 00:06:44,620 --> 00:06:46,810 jQuery აქვს ნამდვილად მარტივი ფუნქცია მოუწოდა AJAX, 119 00:06:46,810 --> 00:06:51,760 და ყველაფერი რაც თქვენ უნდა გავაკეთოთ AJAX არის მისცეს პარამეტრების რომ გსურთ მისცეს API, 120 00:06:51,760 --> 00:06:56,830 ადგილმდებარეობის API და რაიმე დამატებითი სახის პარამეტრების რომ გსურთ კონფიგურაციის. 121 00:06:56,830 --> 00:07:02,480 მართლაც, მართლაც ლამაზი და ძალიან სასარგებლო ამ სახის რამ. 122 00:07:02,480 --> 00:07:06,970 სულ ეს ჩვენ გვჭირდება, რომ დაიწყოს მიღების ჩვენს ხელში ბინძური წელს APIs. 123 00:07:06,970 --> 00:07:10,220 >> მე ვაპირებ ზრდიან რამდენიმე მაგალითი და შეისწავლონ მათი განსხვავებული თვისებები 124 00:07:10,220 --> 00:07:13,150 და რატომ ისინი სასარგებლოა სხვადასხვა სახის ნივთები. 125 00:07:13,150 --> 00:07:15,570 პირველი, რაც მე რეალურად გაჩვენებთ არის ის, რასაც მე მუშაობა 126 00:07:15,570 --> 00:07:18,310 ჩემი კვლევითი ლაბორატორია, რომელიც Ngram Viewer, 127 00:07:18,310 --> 00:07:23,270 და ძირითადად იდეა Ngram Viewer არის შეგიძლიათ მოძებნოთ გარკვეული სიტყვა 128 00:07:23,270 --> 00:07:28,840 ან ფრაზა და ვნახოთ რამდენად ხშირად ეს გამოჩნდა გარკვეული კომპლექტი ტექსტი დროთა განმავლობაში. 129 00:07:28,840 --> 00:07:33,160 ეს მაგალითი აქ არის ამ მონაცემთა კომპლექტი ჩვილი 130 00:07:33,160 --> 00:07:36,480 რომ დაიბადა ნიუ იორკში შორის 1920 და 2000. 131 00:07:36,480 --> 00:07:40,090 ჩვენ შეგვიძლია ვეძებოთ, მაგალითად, სახელი Jennifer, 132 00:07:40,090 --> 00:07:44,400 და ჩვენ ვხედავთ, რომ წინასწარ 1960 ის მართლაც არ იყო გამოყენებული ყველა რომ ბევრი რამ, 133 00:07:44,400 --> 00:07:48,900 და მაშინ, როგორც ჩვენ შეღწევას შემდგომ წლებში ის ხდება გამოყენებული უფრო და უფრო. 134 00:07:48,900 --> 00:07:53,680 ჩვენ შეგვიძლია ასევე გავაკეთოთ შედარებები ასე რომ, თუ შევადარებთ Jennifer რომ, მაგალითად, თომას, 135 00:07:53,680 --> 00:07:56,520 ვხედავთ თომას უკვე საკმაოდ გავრცელებული მთელი ისტორიის, 136 00:07:56,520 --> 00:07:58,780 ხოლო Jennifer არის ბოლოდროინდელი სახელი. 137 00:07:58,780 --> 00:08:00,590 ჩვენ შეგვიძლია გავაკეთოთ, რომ სახის რამ. 138 00:08:00,590 --> 00:08:02,460 >> როგორ აკეთებს ამას განაცხადის მუშაობს? 139 00:08:02,460 --> 00:08:06,030 ძირითადად, მუშაობს გავლით API. 140 00:08:06,030 --> 00:08:08,660 სხვა სიტყვებით, ჩვენ გვაქვს გარკვეული პარამეტრების აქ. 141 00:08:08,660 --> 00:08:11,360 ჩვენ გვყავს პარამეტრების რა ჩვენ რეალურად ეძებს, 142 00:08:11,360 --> 00:08:13,720 რომლებიც ამ სახელს, და მაშინ ჩვენ გვაქვს რამდენიმე სხვა თვისებები, 143 00:08:13,720 --> 00:08:16,570 მოსწონს Y ღერძი და X ღერძი. 144 00:08:16,570 --> 00:08:18,440 თქვენ ხედავთ, რომ ჩვენ გვაქვს რამდენიმე სხვადასხვა ვარიანტი რამდენადაც 145 00:08:18,440 --> 00:08:20,860 ახლა რეზოლუციის გამოყენება და რომ ერთგვარი რამ. 146 00:08:20,860 --> 00:08:26,700 ჩვენ გვყავს ამ კონფიგურაციის რამდენადაც რა მონაცემები ჩვენ ნამდვილად გინდათ მონაცემთა ბაზიდან, 147 00:08:26,700 --> 00:08:29,400 და ჩვენ გვინდა, რომ მონაცემები უკან რაიმე სასარგებლოს გზა. 148 00:08:29,400 --> 00:08:34,020 ჩვეულებრივ, თუ ჩვენ querying ბაზაზე პირდაპირ იქნებოდა ერთგვარი იყოს ტკივილი გავაკეთოთ 149 00:08:34,020 --> 00:08:38,970 რადგან სავარაუდოდ ამ მონაცემებს Baby სახელები ცხოვრობს გარკვეული მონაცემთა ბაზა სადღაც, 150 00:08:38,970 --> 00:08:42,789 და ეს იქნებოდა ნამდვილად რთული რომ უნდა შეკითხვის იგი ხელით 151 00:08:42,789 --> 00:08:45,830 და გადაწყვიტოს ზუსტად რა მონაცემები დაბრუნებას. 152 00:08:45,830 --> 00:08:49,300 სხვა სიტყვებით, ჩვენ მხოლოდ აინტერესებს Jennifer და თომას ამ შემთხვევაში, 153 00:08:49,300 --> 00:08:53,410 და ჩვენ მხოლოდ აინტერესებს შესახებ გარკვეული ღერძი და ყველა რომ სახის ნივთები. 154 00:08:53,410 --> 00:08:55,720 >> როგორ უნდა მიიღოთ დაახლოებით ამ? 155 00:08:55,720 --> 00:09:01,200 იმისათვის რომ სანგრები შევიდა ამ API ცოტა მეტი მე შენ გაჩვენებ ერთი მაგალითია ამ პლატფორმა 156 00:09:01,200 --> 00:09:04,490 რომელიც იყენებს ოდნავ განსხვავებული მონაცემები კომპლექტი. 157 00:09:04,490 --> 00:09:09,950 ეს მონაცემები კომპლექტი, ნაცვლად Baby სახელები, ფაქტიურად მხოლოდ მთელი 158 00:09:09,950 --> 00:09:12,460 ბეჭდვა გამოქვეყნების მონაცემთა ბაზის ღია ბიბლიოთეკა, 159 00:09:12,460 --> 00:09:18,410 რომელიც გიგანტური წყარო ტექსტები გამოქვეყნებული მასშტაბით ბოლო 100 ან იმდენად წლის. 160 00:09:18,410 --> 00:09:23,540 იდეა ისაა, რომ ჩვენ გვაქვს ეს compository მილიონობით და მილიონობით ტექსტი, 161 00:09:23,540 --> 00:09:27,420 რაც ჩვენ შეგვიძლია ახლა მოძებნოთ სხვა სიტყვები და ფრაზები სისტემაში 162 00:09:27,420 --> 00:09:30,840 აი მაგალითად რომ მერყეობს პატარა განსხვავებულად წინა მაგალითი 163 00:09:30,840 --> 00:09:33,350 მე აჩვენა თქვენ, რომელიც ჩვენ გვაქვს ამ 3 ძებნა queries, 164 00:09:33,350 --> 00:09:36,290 ომი, ომი, და საფრანგეთის სიტყვა ომი, რომელიც guerre. 165 00:09:36,290 --> 00:09:40,380 და ჩვენ ძებნას ფარგლებში 3 სხვადასხვა მონაკვეთებზე სულ ბაზაში. 166 00:09:40,380 --> 00:09:45,080 სხვა სიტყვებით, ამ პირველი შეკითხვის ჩვენ მხოლოდ ჩხრეკის ამერიკის შეერთებულ შტატებში, 167 00:09:45,080 --> 00:09:51,150 მეორე მხოლოდ ბრიტანეთში, ხოლო მესამე მარტო სამუშაოები გამოქვეყნებული საფრანგეთში. 168 00:09:51,150 --> 00:09:53,120 ჩვენ ვხედავთ რამოდენიმე საინტერესო ნიმუშების აღმოცენდეს. 169 00:09:53,120 --> 00:09:58,180 მაგალითად, ჩვენ ვხედავთ უფლება გარშემო აქ რაც- 170 00:09:58,180 --> 00:10:02,410 oops, მე არევა ღერძი ცოტა, მაგრამ ხედავთ უფლება ამ დიაპაზონი აქ 171 00:10:02,410 --> 00:10:05,730 გარშემო სამოქალაქო ომის არის დიდი spike ამერიკულ გამოცემა 172 00:10:05,730 --> 00:10:08,340 მაგრამ არა ასეთი დიდი spike მეორე ორი, და ეს აშკარად იმიტომ 173 00:10:08,340 --> 00:10:10,880 ამერიკის სამოქალაქო ომის ხდებოდა იმ ეტაპზე. 174 00:10:10,880 --> 00:10:13,890 >> ჩვენ ვხედავთ ზოგიერთი cool პერსონალის იქ, 175 00:10:13,890 --> 00:10:17,070 მაგრამ რაც ჩვენ ნამდვილად აინტერესებს არის თუ როგორ მივიღეთ ეს მონაცემები. 176 00:10:17,070 --> 00:10:21,320 მე გადაგიყვანთ კულუარებში ამ app წელს ცოტა. 177 00:10:21,320 --> 00:10:24,540 სისუფთავე შეასრულა არის თუ თქვენ მუშაობის ადგილზე და სახის გვინდა ვიცოდეთ 178 00:10:24,540 --> 00:10:27,430 რა ხდება კულისებში, შეგიძლიათ გახსნათ მდე დეველოპერი ინსტრუმენტები. 179 00:10:27,430 --> 00:10:30,200 მე ვაპირებ იყოს გამოყენებით Chrome-ს დეველოპერი იარაღები, და მიიღოს იმ 180 00:10:30,200 --> 00:10:35,160 შეგიძლიათ გააკეთოთ კონტროლი, Shift, J, და რომ იღებს თქვენ JavaScript კონსოლი. 181 00:10:35,160 --> 00:10:37,420 არსებობს რამდენიმე ჩანართის აქ. 182 00:10:37,420 --> 00:10:39,680 მათ შეუძლიათ ყველა იყოს საკმაოდ სასარგებლო ქვეშ სხვადასხვა ვითარებაში, მაგრამ აინტერესებს ქსელის 183 00:10:39,680 --> 00:10:44,150 tab ახლავე, და მე რეალურად უნდა ამოცნობა მიიღოს, რომ სამუშაო. 184 00:10:44,150 --> 00:10:50,180 ოჰ, უკაცრავად. 185 00:10:50,180 --> 00:10:52,320 ეს მოსწონს მისცეს შემთხვევითი მაგალითად. 186 00:10:52,320 --> 00:10:54,700 Okay, ჩვენ გამოიყენოს ეს მაგალითი ნაცვლად შემდეგ. 187 00:10:54,700 --> 00:11:01,330 >> იდეა აქ არის ამ API აქ, 188 00:11:01,330 --> 00:11:05,330 და ხედავთ ზუსტად ის, რაც API ბრუნდება. 189 00:11:05,330 --> 00:11:10,220 ეს არის ის, რაც განაცხადის დღითიდღე უკან API რომელმაც გააგზავნა, რომ მოთხოვნა. 190 00:11:10,220 --> 00:11:13,680 ნება მომეცით დიდი ზომით ცოტა, 191 00:11:13,680 --> 00:11:18,340 და ჩვენ შეგვიძლია ძირითადად ვხედავ უბრალოდ სერია გასაღები მნიშვნელობის წყვილის JSON. 192 00:11:18,340 --> 00:11:23,220 სხვა სიტყვებით, ჩვენ გვაქვს ამ hashmap აქ რომ ობიექტების ღირებულებებს. 193 00:11:23,220 --> 00:11:26,440 სხვა სიტყვებით, ის ობიექტების წელი ღირებულებებს. 194 00:11:26,440 --> 00:11:32,600 1765 წელს რასაც სიტყვა ჩვენ თავდაპირველად ეძებდნენ გამოიყენება 90 ჯერ 195 00:11:32,600 --> 00:11:35,810 აქედან 1 მილიონი, ასე რომ ჩვენ დავუბრუნდეთ ეს შედეგი. 196 00:11:35,810 --> 00:11:40,280 ეს არ არის ზუსტად JSON წლიდან გვაქვს ამ ნაკლები შედეგი თავური აქ, 197 00:11:40,280 --> 00:11:45,630 მაგრამ ცნობა ამ მთელი ობიექტი აქ არის მხოლოდ დიდი დიდი JSON blob. 198 00:11:45,630 --> 00:11:51,070 ჩვენ გვყავს მასივი აქ რომელიც შეიცავს ამ ელემენტს მთელი, 199 00:11:51,070 --> 00:11:55,590 და თქვენ ხედავთ, რომ მთელი ის ელემენტი მთავრდება იქ, და მაშინ ჩვენ გვაქვს სხვა დიდი ელემენტს 200 00:11:55,590 --> 00:11:59,430 რომ მიდის ყველა გზა ქვემოთ ბოლომდე, და რომ დამთავრდა აქ. 201 00:11:59,430 --> 00:12:02,200 ჩვენ გვყავს მართლაც დიდი მასივში 2 ობიექტების ის, 202 00:12:02,200 --> 00:12:04,630 და თითოეული იმ ობიექტების hashmap. 203 00:12:04,630 --> 00:12:07,340 თქვენ შეგიძლიათ ნახოთ თითოეულ იმ hashmaps გვაქვს რუკების 204 00:12:07,340 --> 00:12:12,700 ამ ინდექსის მნიშვნელობა 0 და ამ ღირებულების ღირებულების სხვა hashmap, 205 00:12:12,700 --> 00:12:18,360 რომელიც კვლავ და კვლავ ობიექტების X ღერძი ფასეულობები Y ღერძი ღირებულებებს. 206 00:12:18,360 --> 00:12:20,970 >> თქვენ ხედავთ, JSON იღებს ცოტა რთულია, მაგრამ საერთო ჯამში, 207 00:12:20,970 --> 00:12:24,190 ეს ძალიან სასარგებლო და ძალიან ადვილია წვდომისათვის შედარებით 208 00:12:24,190 --> 00:12:27,390 სხვადასხვა ფორმების ნოტაცია. 209 00:12:27,390 --> 00:12:30,550 რამდენადაც რა ჩვენ რეალურად გაგზავნის მონაცემების API მისაღებად, 210 00:12:30,550 --> 00:12:34,690 მე ვაპირებ წასვლას უკან ბოლომდე ცოტა აქ. 211 00:12:34,690 --> 00:12:39,850 ეს არის დიდი JavaScript ფაილი რომ გატარება ყველა ურთიერთქმედების აპარატის ვებ აპლიკაცია, 212 00:12:39,850 --> 00:12:44,810 და ამიტომ ჩვენ არ აინტერესებს ყველაზე მეტად, მაგრამ ჩვენ ვფიქრობთ ზოგიერთი მას. 213 00:12:44,810 --> 00:12:47,410 მაგალითად, ჩვენ აღელვებს ამ buildQuery ფუნქცია, 214 00:12:47,410 --> 00:12:50,670 და იდეა ამ ფუნქციის ძირითადად ის ეძებს გარშემო გვერდზე, 215 00:12:50,670 --> 00:12:53,750 მჭიდროდაა რა მომხმარებელს სურს შეკითხვის, სხვა სიტყვებით, 216 00:12:53,750 --> 00:12:57,090 შემოწმების იმ ყუთები, სადაც ისინი შეყვანის მათი ძიება პირობები, 217 00:12:57,090 --> 00:13:01,380 შემოწმების სხვადასხვა Y-სა და X ღერძის ღირებულებებს, რომ მათ მიერ არჩეული და ყველა რომ სახის რამ, 218 00:13:01,380 --> 00:13:06,650 და ის აპირებს Spit out ამ შეკითხვის ღირებულებით, რაც შემიძლია შემდეგ off იმ API. 219 00:13:06,650 --> 00:13:09,180 >> ეს გამოიყურება რთული, და ეს საკმაოდ რთული 220 00:13:09,180 --> 00:13:18,090 მაგრამ რა მე ვაპირებ do-ფაქტობრივად, მე უკვე ამით, რაც საკმაოდ დიდი- 221 00:13:18,090 --> 00:13:21,640 არის ის, რომ მე ვაპირებ კიდევ კონსოლში უნდა ამობეჭდოთ ზუსტად რომ შეკითხვის ღირებულება 222 00:13:21,640 --> 00:13:28,110 რომ ის გაგზავნის off იმ API. 223 00:13:28,110 --> 00:13:30,870 სწორედ პრაქტიკულად უფლება აქ. ვწუხვართ, შედეგები ბევრი რამ. 224 00:13:30,870 --> 00:13:33,690 მაგრამ ეს არის ის, რაც ჩვენ აღელვებს, ეს ობიექტი უფლება აქ. 225 00:13:33,690 --> 00:13:35,300 ეს არის შეკითხვის ობიექტი. 226 00:13:35,300 --> 00:13:40,670 სხვა სიტყვებით, ეს არის ზუსტად ის, რაც ვებ განაცხადის აგზავნის იმ API, 227 00:13:40,670 --> 00:13:45,730 და მოდით შიგნიდან ცოტა, და ჩვენ ვხედავთ, ჩვენ გვაქვს რამდენიმე ღირებულებების აქ. 228 00:13:45,730 --> 00:13:48,710 ჩვენ ვხედავთ, რომ ჩვენ გვაქვს ეს რაოდენობა ტიპის, რომელიც შემთხვევები თითო მილიონი სიტყვა, 229 00:13:48,710 --> 00:13:51,460 სწორედ იმას, რასაც ჩვენ არჩეულ იმ Y ღერძი აქ. 230 00:13:51,460 --> 00:13:53,740 სწორედ აქ რომ მოდის. 231 00:13:53,740 --> 00:13:58,010 ჩვენ გვყავს მონაცემთა ბაზაში ღირებულებით, რაც იმას ნიშნავს, რომ არსებობს გარკვეული მონაცემთა ბაზა 232 00:13:58,010 --> 00:14:01,610 რომ ეს მონაცემები ცხოვრობს, და ჩვენ გვინდა, რათა შეამოწმონ, რომ მონაცემები კონკრეტულად 233 00:14:01,610 --> 00:14:04,950 როგორც ეწინააღმდეგებოდა Baby სახელები მონაცემები, მაგალითად. 234 00:14:04,950 --> 00:14:08,320 მაშინ ამ ჯგუფების ღირებულება, 235 00:14:08,320 --> 00:14:12,090 რომელიც ამბობს, რომ ჩვენ გვინდა ძებნა წელიწადში ნაცვლად 236 00:14:12,090 --> 00:14:16,030 ნებისმიერი სხვა X ღერძი ღირებულება. 237 00:14:16,030 --> 00:14:19,040 მაშინ ჩვენ გვაქვს მეთოდი, რომელიც რამდენიმე APIs გავაკეთებ მრავალჯერადი რამ. 238 00:14:19,040 --> 00:14:22,360 სხვა სიტყვებით, ამ API შეიძლება ასევე დაბრუნების სხვა სახის მონაცემები, 239 00:14:22,360 --> 00:14:27,740 მაგრამ ამ შემთხვევაში, ჩვენ გვინდა, რომ აგეგმვითი X ღერძი ფასეულობები Y ღერძი ღირებულებებს. 240 00:14:27,740 --> 00:14:30,730 სწორედ რომ ეუბნება მას ესაქმებათ, 241 00:14:30,730 --> 00:14:35,020 და ჩვენ გვაქვს ამ ძებნის ლიმიტები მასივი, რომელიც შეიცავს 2 ღირებულებებს. 242 00:14:35,020 --> 00:14:40,720 პირველი არის ის, რაც ჩვენ ვხედავთ აქ, რაც ყველა ღირებულებები 243 00:14:40,720 --> 00:14:43,020 შეიცავს, რომ პირველ პატარა ყუთში ზედა. 244 00:14:43,020 --> 00:14:47,570 >> სხვა სიტყვებით, ჩვენ გვინდა ვეძებოთ სიტყვა ბრძოლა, და გვინდა, რომ გავფილტროთ ის 245 00:14:47,570 --> 00:14:51,920 ინგლისური ტექსტების ფარგლებში ამერიკულ ლიტერატურაში. 246 00:14:51,920 --> 00:14:54,590 ჩვენ გვყავს ამ ქვეყანაში, რომელიც ამერიკის შეერთებულ შტატებში. 247 00:14:54,590 --> 00:14:59,130 ჩვენ გვყავს ენაზე, რომელიც არის ინგლისური, ამიტომ ჩვენ ყველა ამ სხვადასხვა კუთხეში 248 00:14:59,130 --> 00:15:02,690 რომ ყველა ვეუბნებოდი API ზუსტად რა გვინდა. 249 00:15:02,690 --> 00:15:04,940 ჩვენ არ ვიცით, რა მონაცემები, რომ ჩვენ დავუბრუნდეთ არის კიდევ, 250 00:15:04,940 --> 00:15:10,970 მაგრამ ჩვენ ვიცით, რომ მონაცემები აპირებს მიიღოს გარკვეული ფორმა. 251 00:15:10,970 --> 00:15:13,650 ეს მაგალითი არის ერთგვარი on რთული მხარე, 252 00:15:13,650 --> 00:15:16,180 და თქვენ არ აუცილებლად გამოყენებით API ამ კომპლექსი, 253 00:15:16,180 --> 00:15:20,600 მაგრამ ეს არის გაჩვენოთ სპექტრი და ძალა რა APIs შეუძლია გააკეთოს. 254 00:15:20,600 --> 00:15:24,980 სხვა სიტყვებით, გამოყენებით შედარებით მარტივი შეკითხვის სისტემა, რომელსაც ჩვენ ძირითადად აქვს შეყვანის ყუთი 255 00:15:24,980 --> 00:15:29,490 რამდენიმე სხვა selectors სხვადასხვა ადგილებში. 256 00:15:29,490 --> 00:15:32,010 >> ნება მომეცით zoom უკან აქ. 257 00:15:32,010 --> 00:15:37,720 ჩვენ გვყავს input box რამდენიმე სხვადასხვა მეტადატის selections, 258 00:15:37,720 --> 00:15:40,610 და ჩვენ გვაქვს Y ღერძი და X ღერძის selections. 259 00:15:40,610 --> 00:15:42,830 ჩვენ არ რეალურად რომ სხვადასხვა სფეროში, 260 00:15:42,830 --> 00:15:46,210 და ვხედავთ ძალიან მარტივად ჩვენ შეუძლია შეკითხვის გარკვეული API 261 00:15:46,210 --> 00:15:48,510 და მიიღონ მონაცემები თავში და შემდეგ დააყენა იგი ამ ჩარტში, 262 00:15:48,510 --> 00:15:52,080 რომელიც შემდეგ აპირებს არიან ეს სასარგებლო გზაა. 263 00:15:52,080 --> 00:15:54,970 შევხედოთ კიდევ ერთი მაგალითია, რომ შეიძლება იყოს უფრო მეტი ნაცნობი თქვენ ბიჭები 264 00:15:54,970 --> 00:15:56,510 ჩვენ ვაპირებთ მივმართოთ Facebook. 265 00:15:56,510 --> 00:15:59,440 Facebook-ის API ეწოდება Facebook Graph, 266 00:15:59,440 --> 00:16:04,390 და ძირითადად რა ეს ნიშნავს, რომ არის Facebook ხედავს თავად როგორც ამ მასიური მონაცემთა ბაზა 267 00:16:04,390 --> 00:16:08,000 უამრავი სხვადასხვა კუთხეში რომ ყველას გვაქვს გარკვეული ურთიერთობები ერთმანეთს. 268 00:16:08,000 --> 00:16:11,070 სხვა სიტყვებით, მე მომხმარებლის Facebook-ზე, ამიტომ აქვს პროფილი, 269 00:16:11,070 --> 00:16:14,310 და მე ასევე გარკვეულ მეგობრები, და თითოეული მათგანი ნახვა, 270 00:16:14,310 --> 00:16:17,580 და თითოეული ჩემი მეგობრები ჰყავს კედელი, რომელმაც სხვადასხვა კომენტარი მასზე, 271 00:16:17,580 --> 00:16:20,800 და თითოეული მათგანი კომენტარი აქვს მოსწონს და ყველა რომ სახის რამ. 272 00:16:20,800 --> 00:16:23,100 >> არსებობს უამრავი სხვადასხვა ნაწილებით Facebook. 273 00:16:23,100 --> 00:16:26,670 ეს უკიდურესად კომპლექსური API, და არსებობს ტონა შეგიძლიათ შუაში იყო, 274 00:16:26,670 --> 00:16:28,450 მაგრამ სინამდვილეში საკმაოდ მარტივი გამოყენება. 275 00:16:28,450 --> 00:16:33,680 მე ვაპირებ დაიწყება მიერ აპირებს graph.facebook.com / billyjanitsch, 276 00:16:33,680 --> 00:16:38,430 რაც ჩემი ორიგინალური სახელწოდება და თქვენი ანგარიშის სახელი ან იყოს 277 00:16:38,430 --> 00:16:43,710 რაღაც სიტყვა თუ თქვენ აგვირჩევია, ან შეიძლება უბრალოდ იყოს სიმებიანი ნომრები. 278 00:16:43,710 --> 00:16:46,360 რა მივიღებთ უკან საკმაოდ ძირითადი ინფორმაცია. 279 00:16:46,360 --> 00:16:50,460 ჩვენ ვხედავთ, რომ მაქვს სახელი, რომელიც ბილი, გვარი, რომელიც Janitsch. 280 00:16:50,460 --> 00:16:53,370 არსებობს უნიკალური Facebook ID რომელიც მე. 281 00:16:53,370 --> 00:16:57,920 თქვენ ხედავთ, რომ მე ვარ კაცი და რომ მე მაქვს ჩემი ენის პარამეტრები 282 00:16:57,920 --> 00:17:01,290 ბრიტანული ინგლისური. 283 00:17:01,290 --> 00:17:03,490 სხვა სიტყვებით, ჩვენ ვხედავთ ძალიან ძირითადი ინფორმაცია აქ. 284 00:17:03,490 --> 00:17:08,670 ეს არ არის ძალიან ბევრი, მაგრამ ეს იმას გვაძლევს იდეა რა იქ. 285 00:17:08,670 --> 00:17:10,849 >> ჩვენ შეგვიძლია გავაკეთოთ იგივე დავით Malan, მაგალითად. 286 00:17:10,849 --> 00:17:13,599 ვფიქრობ მისი სახელი dmalan. 287 00:17:13,599 --> 00:17:16,369 ჩვენ ვხედავთ, დავით Malan აქვს უნიკალური ID. 288 00:17:16,369 --> 00:17:19,300 მას აქვს სახელი, სახელი, მამის სახელი, გვარი. 289 00:17:19,300 --> 00:17:24,210 ჩვენ ასევე ვხედავთ, რომ ის კაცი და აქვს თავისი ენის კომპლექტი აშშ ინგლისურ ენაზე. 290 00:17:24,210 --> 00:17:26,869 სხვა სიტყვებით, ჩვენ ვხედავთ საკმაოდ ძირითადი ინფორმაცია აქ. 291 00:17:26,869 --> 00:17:28,860 ახლა, რა ხდება თუ ჩვენ ვცდილობთ სანახავად out რაღაც? 292 00:17:28,860 --> 00:17:33,060 ვთქვათ მაინტერესებს რას დავით Malan არ მოეწონა Facebook-ზე. 293 00:17:33,060 --> 00:17:36,860 შემიძლია / მოსწონს. ახლა ჩვენ გადაეყარონ პრობლემა. 294 00:17:36,860 --> 00:17:39,280 გვაქვს გარკვეული შეცდომა, რომელიც ამბობს, დაშვების ნიშნად 295 00:17:39,280 --> 00:17:41,660 საჭირო მოითხოვოს ამ რესურსის. 296 00:17:41,660 --> 00:17:44,730 მაგრამ თუ ფიქრობთ ამის შესახებ, რომ რეალურად აზრი, რადგან ეს იქნებოდა უცნაური 297 00:17:44,730 --> 00:17:47,830 თუ თქვენ ვერ შედიხართ თითოეული ნაწილი Facebook-ის მონაცემთა ბაზაში 298 00:17:47,830 --> 00:17:50,170 მხოლოდ გარკვეული მარტივი API, არა? 299 00:17:50,170 --> 00:17:56,040 სხვა სიტყვებით, სავარაუდოდ თქვენი ინფორმაცია არ შეიძლება იქნეს მიერ ვისაც სურს მას. 300 00:17:56,040 --> 00:17:58,330 >> ეს შეცდომა სწორედ რომ ნიშნავს. 301 00:17:58,330 --> 00:18:03,630 ზოგიერთი APIs მოითხოვს გარკვეული ნებართვების იმისათვის, რათა შეამოწმონ მათი მონაცემები. 302 00:18:03,630 --> 00:18:06,940 და კიდევ უფრო მოწინავე APIs, როგორიცაა Facebook ერთი, 303 00:18:06,940 --> 00:18:09,840 დასჭირდება გარკვეული ნებართვების გავაკეთოთ გარკვეული რამ. 304 00:18:09,840 --> 00:18:12,650 მე ვხედავ, ამ ძირითად ინფორმაციას დავით Malan. 305 00:18:12,650 --> 00:18:15,950 მე ვხედავ, რომ ის კაცი და რომ ის ცხოვრობს აშშ, 306 00:18:15,950 --> 00:18:19,270 მაგრამ მე ვერ ვხედავ ვერაფერს წარსულში რომ. 307 00:18:19,270 --> 00:18:23,050 იმისათვის რომ გარშემო ეს არის, Facebook-ს აქვს ამ ლამაზი ინსტრუმენტი 308 00:18:23,050 --> 00:18:27,690 რაც გრაფაში API Explorer, და იდეა, რომელიც შეგიძლიათ სახის 309 00:18:27,690 --> 00:18:31,880 შეადგინოს ნებართვების თავის ეფუძნება თქვენი საკუთარი ანგარიშის 310 00:18:31,880 --> 00:18:35,680 და შემდეგ სანახავად რამ, რომ კონკრეტულად თქვენი ანგარიში შეგიძლიათ ნახოთ. 311 00:18:35,680 --> 00:18:45,120 მაგალითად, თუ graph.facebook.com/billyjanitsch/likes- 312 00:18:45,120 --> 00:18:53,510 whoops, ვფიქრობ უნდა revalidate ჩემი ნიშნად აქ. 313 00:18:53,510 --> 00:18:55,950 Okay. 314 00:18:55,950 --> 00:19:01,740 თუ რომ ერთხელ, დიდი, ახლა ვხედავ, რომ მივიღო ეს ობიექტი უკან 315 00:19:01,740 --> 00:19:06,300 რომელშიც ნათქვამია, რომ მე მიყვარს აუზი noodles, რომლებიც კატეგორია თამაშები და სათამაშოები. 316 00:19:06,300 --> 00:19:08,620 მომწონს მორჟები, რომლებიც კატეგორია Animal. 317 00:19:08,620 --> 00:19:10,180 ეს არის ჩემი ფაქტობრივი Facebook მოსწონს. 318 00:19:10,180 --> 00:19:13,280 ისინი სახის უხერხულ. 319 00:19:13,280 --> 00:19:16,090 >> მაგრამ ჩვენ ვხედავთ ამ მონაცემების ყველა დაბრუნდა JSON. 320 00:19:16,090 --> 00:19:18,160 ეს საკმაოდ იკითხება. 321 00:19:18,160 --> 00:19:20,970 სხვა სიტყვებით, ჩვენ გვაქვს ამ რუკების მონაცემთა გარკვეული მასივი, 322 00:19:20,970 --> 00:19:25,220 და თითოეული ელემენტის ამ მასივი hashmap რომელიც რუკები 323 00:19:25,220 --> 00:19:28,530 სახელწოდება მოსწონს და კატეგორიის მოსწონს. 324 00:19:28,530 --> 00:19:31,240 თითოეული მოსწონს აქვს უნიკალური ID. 325 00:19:31,240 --> 00:19:34,510 არსებობს ყველა სახის სხვადასხვა ნივთები მონაცემები, რომ ჩვენ შეგვიძლია კიდევ, 326 00:19:34,510 --> 00:19:37,980 და თუ თქვენ დაინტერესებული გამოყენებით Facebook API for CS50 საბოლოო პროექტი 327 00:19:37,980 --> 00:19:40,720 ან არაფერი რომ რეალურად საკმაოდ doable. 328 00:19:40,720 --> 00:19:44,260 ძირითადად, თუ როგორ მიიღოთ დაახლოებით ავტორიზაციის რამ არის Facebook 329 00:19:44,260 --> 00:19:48,030 იყენებს სისტემის მოუწოდა OAuth, ან ღია ავთენტურობის, 330 00:19:48,030 --> 00:19:52,870 და მე არ მინდა შეღწევას ეს არის, რადგან OAuth ან სხვადასხვა ტიპის 331 00:19:52,870 --> 00:19:56,060 აუტენტიფიკაციის tends განსხვავდება ბევრი შორის სხვადასხვა APIs, 332 00:19:56,060 --> 00:19:58,320 ამიტომ მე ვერ დახარჯავს ხნის განმავლობაში მიმდინარეობს მეტი თითოეული, 333 00:19:58,320 --> 00:20:01,170 მაგრამ ისინი რეალურად საკმაოდ თვითმმართველობის განმარტებითი. 334 00:20:01,170 --> 00:20:04,050 >> თუ Google Facebook API ძალიან იკითხება. 335 00:20:04,050 --> 00:20:06,670 არსებობს მთელი სპეც. 336 00:20:06,670 --> 00:20:10,210 მაგალითად, ეს არის დოკუმენტაცია Facebook API, 337 00:20:10,210 --> 00:20:14,170 და ხედავთ მე on მომხმარებელი გვერდზე, ასე, რომ შეიძლება ვისწავლოთ ყველაფერი სხვადასხვა სახის ნივთები 338 00:20:14,170 --> 00:20:17,170 , რომლებიც ხელმისაწვდომი იქნება კიდევ რამდენადაც მონაცემები 339 00:20:17,170 --> 00:20:21,550 და ასევე სხვადასხვა ნებართვების რომ მჭირდება რათა შეღწევის დროს. 340 00:20:21,550 --> 00:20:25,470 როგორც დავინახეთ, ჩვენ არ გვჭირდება ნებართვების წვდომისათვის სახელი ან სქესისა, 341 00:20:25,470 --> 00:20:29,380 მაგრამ ამის მიღმა ჩვენ გვჭირდება ნებართვების საუკეთესო რამ. 342 00:20:29,380 --> 00:20:33,040 ეს გვერდი, ან უფრო სწორად, ამ ნახვა ასევე გითხრათ, თუ როგორ უნდა 343 00:20:33,040 --> 00:20:35,640 ნიშნად უნდა შეეძლოს სინამდვილის თავს. 344 00:20:35,640 --> 00:20:39,290 ყველაზე ავტორიზაციის სისტემების გამოყენება გარკვეული ჟეტონი 345 00:20:39,290 --> 00:20:42,880 სადაც თქვენ მიიღოს ამ უნიკალური ღირებულება, რომელიც მართლაც ხანგრძლივი და შემთხვევითი სტრიქონი, 346 00:20:42,880 --> 00:20:46,240 და ამ გზით მათ შეუძლიათ გაერთიანდნენ თხოვნით, რომ თქვენ მიღების თქვენთან ერთად. 347 00:20:46,240 --> 00:20:50,560 სხვა სიტყვებით, მათ იციან, რომ თქვენ არ აკეთებს არაფერს საეჭვო მათი მონაცემები. 348 00:20:50,560 --> 00:20:53,340 მათ იციან ზუსტად რა თქვენ მისაღებად. 349 00:20:53,340 --> 00:20:56,180 მათ ასევე იციან, რომ თქვენ გაქვთ სანახავად რომ ინფორმაციას. 350 00:20:56,180 --> 00:20:59,110 >> თუ თქვენ გააკეთა Facebook app და თქვენი app აქვს გარკვეული წევრებს, 351 00:20:59,110 --> 00:21:03,380 და იმ მომხმარებლებს არ დაუშვეს, რომ app წვდომისათვის გარკვეული ნაწილების მათი ნახვა, 352 00:21:03,380 --> 00:21:07,790 მაშინ რასაც API გასაღები ან ჟეტონი რომ app იყენებს 353 00:21:07,790 --> 00:21:11,090 შეძლებს წვდომისათვის მონაცემები იმ მომხმარებლებს. 354 00:21:11,090 --> 00:21:13,780 ეს შეიძლება გასწავლოთ რთულია, მაგრამ ეს არ არის ძალიან ცუდი, 355 00:21:13,780 --> 00:21:16,810 და თუ გსურთ გამოიყენოთ Facebook მინდა უაღრესად გირჩევთ რომ 356 00:21:16,810 --> 00:21:18,990 განიხილოს თამაშობენ გარშემო მათი API. 357 00:21:18,990 --> 00:21:21,610 ძალიან მაგარი, და თქვენ შეგიძლიათ ბევრი სხვადასხვა რამ არის. 358 00:21:21,610 --> 00:21:24,880 თუ მომხმარებლის ანიჭებს თქვენ ამ ნებართვების თქვენ შეგიძლიათ კიდევ დაბრუნდეს API 359 00:21:24,880 --> 00:21:28,820 და ვთქვათ მე მინდა რეალურად პოსტი ამ მომხმარებლის კედლის, ან მინდა რომ მათ პოსტი ფოტო, 360 00:21:28,820 --> 00:21:32,390 და ამიტომაც თქვენს ამბები Feed თქვენ ზოგჯერ მიიღოს იმ უსიამოვნოს რამ 361 00:21:32,390 --> 00:21:37,840 ამბობდა თქვენი მეგობარი უყურებს ამ ვიდეო გარკვეული უცნაური საიტი ან რამე მაგდაგვარს. 362 00:21:37,840 --> 00:21:43,120 ეს იმიტომ, რომ რომ app მიენიჭა ხელმისაწვდომობის საგუშაგო, რომ პირის კედლის. 363 00:21:43,120 --> 00:21:48,350 იდეა ზოგადად, Facebook API საკმაოდ გართულებულია, არამედ მართლაც სასარგებლო. 364 00:21:48,350 --> 00:21:53,220 აუცილებლად ღირს შემოწმების გარეთ თუ თქვენ ჯერ კიდევ ეძებს საბოლოო პროექტი. 365 00:21:53,220 --> 00:21:57,930 >> მეორე კომპლექტს APIs რომ მე ვაპირებ წასვლა მეტი არის CS50 APIs. 366 00:21:57,930 --> 00:22:00,070 ნება მომეცით მიუახლოვდით აქ. 367 00:22:00,070 --> 00:22:03,390 CS50 ფაქტობრივად დააყენა ერთად მთელი რიგი APIs 368 00:22:03,390 --> 00:22:07,080 რომ თქვენ შეგიძლიათ გამოიყენოთ საბოლოო პროექტის ან უბრალოდ არაფერი, რომ თქვენ მიღების. 369 00:22:07,080 --> 00:22:12,830 და ისინი ძირითადად ჰარვარდის დაკავშირებული, და მათ მერყეობს HUDS მენიუ, 370 00:22:12,830 --> 00:22:17,780 მაგალითად, ამ ჰარვარდის თარიღები API, რომელიც გაძლევთ წვდომას სიაში 371 00:22:17,780 --> 00:22:21,290 სხვადასხვა მოვლენების რომ მიმდინარეობს ჰარვარდის და რომ ერთგვარი რამ. 372 00:22:21,290 --> 00:22:24,510 და ასე შეგვიძლია დააწკაპუნეთ ერთი ასეთი და მიიღეთ Spec ამისთვის, 373 00:22:24,510 --> 00:22:28,090 რომელიც თქვენ უნდა იპოვოთ ნებისმიერი API, და იდეა არის 374 00:22:28,090 --> 00:22:33,920 ეს საშუალებას თქვენ იცით,, კონკრეტულად რა უნდა მოსთხოვოს API და როგორ მოითხოვოს იგი. 375 00:22:33,920 --> 00:22:37,370 სხვა სიტყვებით, თუ მინდა ყველა ღონისძიება, რომელიც ხდება ხვალ 376 00:22:37,370 --> 00:22:42,550 მაშინ მაქვს აშკარად მისცეს მას, რომ თარიღი, რომ მინდა გარკვეული ფორმატი, 377 00:22:42,550 --> 00:22:46,030 და B, ის მეუბნებოდა ზუსტად რასაც ის აპირებს უკან ჩემთვის. 378 00:22:46,030 --> 00:22:48,590 იგი იტყვის მე ვაპირებ დაბრუნებას თქვენ ამ JSON ობიექტი, 379 00:22:48,590 --> 00:22:50,960 ან მოსწონს ხედავთ, არსებობს სხვადასხვა ფორმატებში. 380 00:22:50,960 --> 00:22:54,050 >> თქვენ ასევე შეგიძლიათ დაბრუნებას მონაცემები CSV, მაგალითად. 381 00:22:54,050 --> 00:22:57,620 მაგრამ თქვენ იცით ზუსტად როგორ, რომ მონაცემები აპირებს look როდესაც თქვენ მას უკან 382 00:22:57,620 --> 00:23:00,610 ასე რომ თქვენ შეგიძლიათ ველით უნდა გავაკეთოთ გარკვეული რამ არის. 383 00:23:00,610 --> 00:23:07,240 ჩვენ შეგვიძლია გადახვევა down და ვხედავთ, მაგალითად, თუ გვინდა, რომ შეკითხვის API 384 00:23:07,240 --> 00:23:11,500 მიიღოს კალენდარი, მაშინ ჩვენ შეგვიძლია გამოვიყენოთ ამ კონკრეტულ URL 385 00:23:11,500 --> 00:23:16,480 და მისცეს მას გარკვეული პარამეტრების რომლებიც იქნება მონაცემები, რომ ჩვენ გვინდა ზუსტად. 386 00:23:16,480 --> 00:23:19,540 ანალოგიურად, თუ გვინდა მონაცემები უკან გარკვეული ფორმატი, 387 00:23:19,540 --> 00:23:23,790 მაშინ შეგვიძლია მოვითხოვოთ ეს დაბეჭდვის მონაცემების CSV, 388 00:23:23,790 --> 00:23:27,700 და ეს კიდევ ერთი პარამეტრი, რომ ჩვენ ავლით, რათა API. 389 00:23:27,700 --> 00:23:29,210 უამრავი მაგარი რამ უნდა გააკეთოს იქ. 390 00:23:29,210 --> 00:23:32,550 მე აუცილებლად გირჩევთ შემოწმების out CS50 APIs. 391 00:23:32,550 --> 00:23:36,000 >> მე ვაპირებ შევხედოთ ამ ჰარვარდის კვების API კერძოდ ცოტა. 392 00:23:36,000 --> 00:23:39,870 ერთი რამ მე რეალურად შექმნილია ეს ჰარვარდის Noms ნახვა, 393 00:23:39,870 --> 00:23:44,930 რომელიც იყენებს CS50 კვების API ვიღებ HUDS მენიუ დღისთვის. 394 00:23:44,930 --> 00:23:50,400 და გაგრძელების სკოლის ადამიანი, HUDS არის სასადილო სამსახურის ჰარვარდის. 395 00:23:50,400 --> 00:23:55,130 რა თქვენ ამ გვერდზე, რომელიც შეიცავს ყველა კვება ამ დღისთვის, ასე ვხედავთ ლანჩი. 396 00:23:55,130 --> 00:23:58,130 ჩვენ გვყავს რამდენიმე სხვადასხვა კატეგორიები. ჩვენ გვყავს ლობიო და მთელი მარცვლეულის სადგური. 397 00:23:58,130 --> 00:24:00,340 ჩვენ გვყავს ყავისფერი ბრინჯი სადგური. 398 00:24:00,340 --> 00:24:03,360 ჩვენ ვხედავთ იმ ფილიალი გვაქვს ამ რამდენიმე კვების საკითხი. 399 00:24:03,360 --> 00:24:07,030 თუ ჩვენ დააწკაპუნეთ მათ, მაშინ მივიღებთ კვების ინფორმაციას. 400 00:24:07,030 --> 00:24:12,240 ხედავთ ეს არის კვების ინფორმაციის გრეიფრუტი, იმ შემთხვევაში თუ თქვენ გაინტერესებთ. 401 00:24:12,240 --> 00:24:14,870 და ა.შ. კიდევ ერთხელ, ჩვენ ვაპირებთ, რათა თანხმობა შევიდა უკან ბოლომდე აქ ცოტა 402 00:24:14,870 --> 00:24:18,530 და რა ზუსტად ამ ყველაფერს აკეთებს, რათა ამ მონაცემებს. 403 00:24:18,530 --> 00:24:21,710 და აღმოჩნდება, რომ რეალურად არ იყოს ძალიან რთული იყო. 404 00:24:21,710 --> 00:24:28,720 ეს ფაილი გამოიყურება პატარა ბინძურ, მაგრამ გახსოვდეთ, რომ ეს გატარება მთელი საიტი, 405 00:24:28,720 --> 00:24:34,130 და თუ გადახვევა ქვემოთ ჩვენ ვხედავთ ამ ცვლილების მონაცემები ფუნქცია. 406 00:24:34,130 --> 00:24:36,630 >> ახლა, უბრალოდ უნდა იყოს წმინდა, ამ წერია CoffeeScript, 407 00:24:36,630 --> 00:24:39,570 რაც ენის, რომ თქვენ ალბათ არ მინახავს ადრე. 408 00:24:39,570 --> 00:24:44,810 მაგრამ ეს საკმაოდ იკითხება, ამიტომ მე გავლა, როგორც იმისა, რომ იგი იყო pseudocode. 409 00:24:44,810 --> 00:24:49,080 შეცვლის თარიღი არის ფუნქცია, რომელიც აპირებს ამ თარიღის მნიშვნელობის, 410 00:24:49,080 --> 00:24:51,740 და ასევე აპირებს წელს პირველად, რომელიც ჩვენ არ აინტერესებს იმდენი. 411 00:24:51,740 --> 00:24:54,110 მაგრამ მთავარია, რომ მას ამ თარიღს, 412 00:24:54,110 --> 00:25:00,080 და რომ თარიღი არის დღე, რომ ჩვენ გვინდა, მოითხოვოს ყველა საკვები ნივთები. 413 00:25:00,080 --> 00:25:04,030 და მაშინ ვხედავთ ჩვენ გვაქვს ცოტა სინტაქსი აქ, 414 00:25:04,030 --> 00:25:09,000 რომელიც ძირითადად პარსინგის რომ თარიღი შევიდა იკითხება ფორმატში. 415 00:25:09,000 --> 00:25:11,920 სხვა სიტყვებით, API მოითხოვს თარიღის გარკვეული ფორმატში. 416 00:25:11,920 --> 00:25:17,390 თქვენ არ შეგიძლიათ უბრალოდ, ვამბობთ 16 ნოემბერს, 2012 AD. 417 00:25:17,390 --> 00:25:20,320 ეს არ იცის რა უნდა გააკეთოს, რომ. ეს სურს თარიღის კონკრეტული ფორმატში. 418 00:25:20,320 --> 00:25:23,230 ყველა ვაკეთებთ აქ ვაძლევთ მას ზუსტად რომ ფორმატი, 419 00:25:23,230 --> 00:25:26,520 რომელიც წელიწადში ღირებულება და შემდეგ დეფისი, თვეში ღირებულება, 420 00:25:26,520 --> 00:25:29,420 სხვა დეფისი და თარიღის მნიშვნელობის. 421 00:25:29,420 --> 00:25:34,910 და ჩვენ ასევე ვაცხადებთ ჩვენ გვინდა მონაცემები უნდა იყოს გამოტანის JSON. 422 00:25:34,910 --> 00:25:37,560 >> ახლა ჩვენ ვდებთ ამ AJAX თხოვნით, და როგორც ვთქვი ადრე, 423 00:25:37,560 --> 00:25:41,680 jQuery აქვს ამ სუპერ სასარგებლო AJAX ფუნქცია, რომელიც ყველა თქვენ მხოლოდ უნდა მიუთითოთ 424 00:25:41,680 --> 00:25:45,780 რამდენიმე პარამეტრების ქვემოთ აქ, და ეს მოგცემთ უკან ზუსტად რა გსურთ. 425 00:25:45,780 --> 00:25:50,490 ჩვენ ვეუბნებით, რომ URL ჩვენ გვსურს წასვლა ეს CS50 კვების API, 426 00:25:50,490 --> 00:25:52,270 რაც მივიღეთ საწყისი სპეც. 427 00:25:52,270 --> 00:25:56,730 ჩვენ ვამბობთ, რომ ჩვენ გვინდა მონაცემების JSON და რომ 428 00:25:56,730 --> 00:25:59,490 ჩვენ ვაპირებთ მისცეს მას ამ მონაცემთა რომელიც ჩვენ განსაზღვრული აქ. 429 00:25:59,490 --> 00:26:02,670 ეს არის დღე გვინდა საკვები ნივთები. 430 00:26:02,670 --> 00:26:07,790 და მაშინ ყველა ჩვენ უნდა გავაკეთოთ არის განსაზღვროს გარკვეული წარმატების ფუნქცია, 431 00:26:07,790 --> 00:26:11,980 რომელიც ძირითადად რა ხდება, როდესაც API დააბრუნებს, რომ მონაცემები. 432 00:26:11,980 --> 00:26:15,490 სხვა სიტყვებით, ჩვენ შეფუთული up ყველა პარამეტრებით, რომ ჩვენ გვინდა, 433 00:26:15,490 --> 00:26:20,530 რაც ამ შემთხვევაში არის დღე, რომ ჩვენ გვსურს და ის ფაქტი, რომ ჩვენ გვინდა ეს JSON, 434 00:26:20,530 --> 00:26:23,840 და ჩვენ გადაუგზავნა off to API, ამიტომ ახლა API ამბობს, okay, 435 00:26:23,840 --> 00:26:26,350 აქ არის თქვენი მონაცემები, მე მივიღე უკან თქვენთვის. 436 00:26:26,350 --> 00:26:29,930 ჩვენ გვყავს წარმატების ფუნქცია, რაც იმას ნიშნავს, რომ API 437 00:26:29,930 --> 00:26:32,230 წარმატებით ბრუნდება გარკვეული მონაცემები, რასაც ვაკეთებთ ეს? 438 00:26:32,230 --> 00:26:35,980 >> და აღმოჩნდება, რომ ყველა ვაკეთებთ არის დაარქვით განახლება მენიუ ფუნქცია 439 00:26:35,980 --> 00:26:42,680 ერთად რასაც API დაბრუნდა, ამიტომ ჩვენ შეგვიძლია ვეძებოთ, რომ 440 00:26:42,680 --> 00:26:47,970 და ვხედავთ, რომ ყველა ვაკეთებთ იყენებს bunch ახალი სინტაქსი აქ 441 00:26:47,970 --> 00:26:52,220 განაახლოთ HTML და ჩადეთ ამ ახალი მონაცემები. 442 00:26:52,220 --> 00:26:56,580 რა ამ საშუალებას არის გვაქვს ამ ისრებით ორივე მხარეს, და ჩვენ შეგვიძლია დააწკაპუნეთ, 443 00:26:56,580 --> 00:27:01,060 და ახლა ჩვენ შევხედავთ მონაცემებს მომდევნო დღეს და ისევ მეორე დღეს, 444 00:27:01,060 --> 00:27:04,820 და ყოველ ჯერზე ის განახლებაზე, რომ თარიღი ღირებულების და querying API, 445 00:27:04,820 --> 00:27:07,510 დავუბრუნდეთ გარკვეული მონაცემები და აყენებს მას საიტი. 446 00:27:07,510 --> 00:27:10,590 ერთხელ, ხედავთ, სუპერ, სუპერ სასარგებლო. 447 00:27:10,590 --> 00:27:14,410 ეს აპლიკაცია წამიყვანეს რამდენიმე საათი hack ერთად, 448 00:27:14,410 --> 00:27:20,140 და მე უფრო მეტი გამოცდილება, ცხადია, მაგრამ თქვენი CS50 საბოლოო პროექტი 449 00:27:20,140 --> 00:27:22,870 შეგვიძლია რაღაც ძალიან მოსწონს ეს. 450 00:27:22,870 --> 00:27:29,540 >> APIs არიან სუპერ ძლიერი ამისთვის თანხის ძალისხმევა, რომ ისინი იღებენ. 451 00:27:29,540 --> 00:27:32,800 ბოლო რამ მე ვაპირებ წასვლა მეტი არის კიდევ რამდენიმე APIs ფართოდ. 452 00:27:32,800 --> 00:27:35,480 მე ვერ მიიღებენ რამდენადაც შევიდა მათ რამდენადაც რას აკეთებს კონკრეტულად, 453 00:27:35,480 --> 00:27:38,740 მაგრამ მე მოგცემთ იდეა რა out არსებობს. 454 00:27:38,740 --> 00:27:42,700 2 ნამდვილად სასარგებლო პირობა, თუ თქვენ დაინტერესებული მონაცემთა ანალიზის ან ვიზუალიზაცია 455 00:27:42,700 --> 00:27:45,960 ან არაფერი რომ, არიან Freebase და ვიკიპედია. 456 00:27:45,960 --> 00:27:49,800 Wikipedia-სავარაუდოდ მოგეხსენებათ-არის უფასო ონლაინ ენციკლოპედია, 457 00:27:49,800 --> 00:27:53,230 და ეს რეალურად აქვს API ასე რომ, თუ გსურთ, მაგალითად, 458 00:27:53,230 --> 00:27:56,250 მიიღონ ყველა ტექსტები და სტატიებს Octopus 459 00:27:56,250 --> 00:27:58,030 შეგიძლიათ ძალიან მარტივად გავაკეთოთ, რომ. 460 00:27:58,030 --> 00:28:02,300 უბრალოდ, ვამბობთ hey, Wikipedia API, მინდა მონაცემები დაბრუნდა როგორც ეს, 461 00:28:02,300 --> 00:28:07,010 და მინდა ეს ამ ფორმატში და მუხლის მე მინდა არის Octopus, 462 00:28:07,010 --> 00:28:09,820 და ძალიან სწრაფად იგი მოგცემთ უკან რომ ინფორმაციას. 463 00:28:09,820 --> 00:28:12,230 რომელიც შეიძლება მართლაც სასარგებლო თუ გინდათ გარკვეული საიტი 464 00:28:12,230 --> 00:28:16,200 რომ უკეთ დამთვალიერებელის Wikipedia ან რამე მაგდაგვარს. 465 00:28:16,200 --> 00:28:21,350 >> Freebase არის ერთგვარი ანალოგიური, თუმცა ეს ცოტა რთული რამდენადაც API. 466 00:28:21,350 --> 00:28:24,390 Freebase ჰგავს Wikipedia, რომ ის არის ონლაინ ენციკლოპედია 467 00:28:24,390 --> 00:28:29,050 რომელიც შეიცავს უამრავი და უამრავი სხვადასხვა მონაცემებს ყველა სახის სხვადასხვა თემებზე, 468 00:28:29,050 --> 00:28:33,150 მაგრამ შენახული relational მონაცემთა ბაზა, რომელიც არის ოდნავ განსხვავებული from Wikipedia. 469 00:28:33,150 --> 00:28:36,410 ვიკიპედია აქვს თავისი სტატია და სტატია დაკავშირებულია სხვა სტატიები, 470 00:28:36,410 --> 00:28:38,860 მაგრამ დიდი ნაწილი, თუ გნებავთ მონაცემების Octopus, 471 00:28:38,860 --> 00:28:41,990 მიდიხარ Octopus მუხლი, მიიღოთ, რომ მონაცემები, და თქვენ გაქვთ bunch of ტექსტი 472 00:28:41,990 --> 00:28:43,830 შესახებ octopuses, ასე რომ დიდი. 473 00:28:43,830 --> 00:28:46,870 Freebase მუშაობს ოდნავ უფრო რთული ფორმით, რომ 474 00:28:46,870 --> 00:28:48,930 ყველაფერი დაკავშირებული ერთმანეთთან. 475 00:28:48,930 --> 00:28:52,620 სხვა სიტყვებით, თუ ჩვენ ეძებს Octopus 476 00:28:52,620 --> 00:28:54,940 მაშინ მას აქვს bunch of კატეგორიაში ასოცირდება იგი. 477 00:28:54,940 --> 00:28:57,920 >> მაგალითად, ეს ცხოველი, ის ცხოვრობს წყალქვეშა, 478 00:28:57,920 --> 00:28:59,710 მას აქვს გარკვეული სხეულის ტემპერატურის. 479 00:28:59,710 --> 00:29:01,210 მე არ ვიცი. 480 00:29:01,210 --> 00:29:04,230 ყველა ამ კატეგორიაში არის ბმულები სხვა ადგილებში, სადაც შეგიძლიათ გადასვლა 481 00:29:04,230 --> 00:29:06,640 რომ ნახოთ რამ რომ იგივე კატეგორიაში. 482 00:29:06,640 --> 00:29:13,450 სხვა სიტყვებით, Octopus მონაცემები კომპლექტი იქნებოდა შეიცავდეს ბმული მონაცემები დადგენილი ყველა ცხოველები, 483 00:29:13,450 --> 00:29:16,790 და რომ ნება მომეცით გადაადგილება ბაზაში მართლაც სწრაფად. 484 00:29:16,790 --> 00:29:21,740 ეს შეიძლება იყოს ძალიან სასარგებლო, თუ თქვენ აკეთებთ რაღაც შედარებები. 485 00:29:21,740 --> 00:29:24,490 სხვა სიტყვებით, თუ გავითვალისწინებთ გარკვეული რამ, გსურთ იხილოთ 486 00:29:24,490 --> 00:29:27,890 რა ეს დაკავშირებული და ვნახოთ რა ეს არ არის დაკავშირებული. 487 00:29:27,890 --> 00:29:30,700 რომ სახის რამ. ეს შეიძლება იყოს სასარგებლო რიგ გზებს. 488 00:29:30,700 --> 00:29:34,250 თუ თქვენ ეძებს უფრო გამოწვევას და გამოუვა რაღაც უფრო რთული რამ 489 00:29:34,250 --> 00:29:38,740 მინდა განიხილოს აღების შევხედოთ Freebase API. 490 00:29:38,740 --> 00:29:44,670 მაგრამ დიდწილად, ვიკიპედიაში არის ძალიან მარტივი წასასვლელი რამდენადაც ინფორმაციის მიღება. 491 00:29:44,670 --> 00:29:48,340 კიდევ ერთი ადგილი, რომ მე შევხედოთ არის Last.fm და მე რეალურად აპირებს მისვლას საიტი 492 00:29:48,340 --> 00:29:53,800 იმ შემთხვევაში თუ ზოგიერთი ადამიანი არ იცნობენ, მაგრამ Last.fm ძირითადად მუსიკა 493 00:29:53,800 --> 00:29:57,220 გემოვნებისა და რეკომენდაციები ნახვა. 494 00:29:57,220 --> 00:29:59,000 შეგიძლიათ გააკეთოთ ანგარიშზე. 495 00:29:59,000 --> 00:30:04,250 შეგიძლიათ ატვირთვა მუსიკა თქვენი music player 496 00:30:04,250 --> 00:30:08,020 to ნახვა, და ძირითადად ეს დაიწყება გაწვდით მუსიკა რეკომენდაციები 497 00:30:08,020 --> 00:30:10,030 რის საფუძველზე თქვენ მოვუსმინოთ. 498 00:30:10,030 --> 00:30:14,270 >> მაგალითად, თუ თქვენ გადადით თქვენი პროფილის გვერდზე-ეს არის ნაღმებისაგან 499 00:30:14,270 --> 00:30:18,180 ხედავთ თქვენ გაქვთ სიაში ახლახანს მოისმინა ჩანაწერები. 500 00:30:18,180 --> 00:30:22,550 თქვენ შეგიძლიათ ნახოთ სრული საყვარელი მხატვრები, ყველა რომ სახის რამ, 501 00:30:22,550 --> 00:30:25,280 და ისევ, არის დიდი API უკან Last.fm, 502 00:30:25,280 --> 00:30:29,360  და თქვენ შეგიძლიათ მისი გამოყენება უნდა გააკეთოს უამრავი და უამრავი მართლაც მაგარი რამ. 503 00:30:29,360 --> 00:30:38,870 მაგალითად, მე წასვლა მეგობრის გვერდზე, რომელსაც აქვს ამ Last.fm ინსტრუმენტები ნახვა. 504 00:30:38,870 --> 00:30:42,380 ეს არის რეალურად კიდევ ერთი პლატფორმა რომ აგებული Last.fm API, 505 00:30:42,380 --> 00:30:45,420 ეს სულაც ხმების საკმაოდ საინტერესო რამ. 506 00:30:45,420 --> 00:30:50,260 თუ მე მომხმ ჩემი მომხმარებლის სახელი, მაგალითად, 507 00:30:50,260 --> 00:30:53,110 შემიძლია ვთხოვო მას გენერირებისათვის საკვანძო სიტყვები, მაგალითად, 508 00:30:53,110 --> 00:30:56,480 და რა, რომ აპირებს გააკეთოთ მომეცი უკან იმიჯი 509 00:30:56,480 --> 00:30:59,850 ყველა სხვადასხვა ჟანრის და რომ სახის რამ, რომ მე მიყვარს მოუსმინოს. 510 00:30:59,850 --> 00:31:01,410 როგორ ხდება მისი ამით? 511 00:31:01,410 --> 00:31:05,670 ძალიან ძირითადად ის ამბობდა, რომ Last.fm API აქ ამ მომხმარებლის. 512 00:31:05,670 --> 00:31:10,710 მინდა იცოდეს ჟანრის ყველა სიმღერა, რომ ისინი ოდესმე მოისმინა, 513 00:31:10,710 --> 00:31:15,130 და შეგიძლიათ, რომ მიერ მიღების საკმაოდ მარტივია AJAX ზარი Last.fm API. 514 00:31:15,130 --> 00:31:18,990 თქვენ მიიღებთ უკან დიდი სია, შემდეგ კი აშკარად რაღაც სხვა პერსონალის კეთდება 515 00:31:18,990 --> 00:31:22,280 ჩართოთ იგი სიტყვის ღრუბელი, მაგრამ ხედავთ საერთო 516 00:31:22,280 --> 00:31:25,850 ძალიან ადვილია, რათა შეამოწმონ და ძალიან მარტივი. 517 00:31:25,850 --> 00:31:30,750 მართლაც ლამაზი რიგი რამ. 518 00:31:30,750 --> 00:31:35,940 >> მიმაჩნია, რომ ყველა მე ამბობენ საერთო. 519 00:31:35,940 --> 00:31:39,040 ერთი ბოლო რამ მე მითითება APIs ზოგადად ის არის, რომ 520 00:31:39,040 --> 00:31:41,840 თქვენ ზოგჯერ გადაეყარონ რაღაც მოუწოდა განაკვეთის შეზღუდვის, 521 00:31:41,840 --> 00:31:44,940 და იდეა განაკვეთის შეზღუდვის არის თქვენ არ მინდა ბოროტად APIs. 522 00:31:44,940 --> 00:31:48,130 სხვა სიტყვებით, ეს ნამდვილად სასიამოვნოა, რომ ბევრი ამ საიტებზე აქვს APIs 523 00:31:48,130 --> 00:31:51,070 რომ თქვენ შეგიძლიათ წასვლა და გამოიყენოთ უფასოდ. 524 00:31:51,070 --> 00:31:54,460 თუმცა, თუ თქვენ მიღების მილიონობით და მილიარდობით მოითხოვს დღეში, 525 00:31:54,460 --> 00:31:57,610 მაგალითად, თუ თქვენ დავრჩებოდით უსასრულო loop რომ უსასრულოდ querying 526 00:31:57,610 --> 00:32:00,680 გარკვეული API და დავუბრუნდეთ დიდი ოდენობით მონაცემები, 527 00:32:00,680 --> 00:32:04,570 აშკარად რომ არ არის კარგი, ასე რომ ბევრი APIs გააკეთოთ ეს კურსი შეზღუდვის ფუნქცია 528 00:32:04,570 --> 00:32:09,970 რომელიც ამბობს, თქვენ შეგიძლიათ მხოლოდ მიიღოს 1,000 მოითხოვს დღეში თითო IP მისამართი ან რამე მაგდაგვარს. 529 00:32:09,970 --> 00:32:12,540 და თუ თქვენ აკეთებთ ბევრი ტესტირებისა და რომ ერთგვარი რამ, 530 00:32:12,540 --> 00:32:14,890 თქვენ ზოგჯერ გადაეყარონ რომ, და მოულოდნელად იგი დახურეს თქვენ off 531 00:32:14,890 --> 00:32:18,280 და ვთქვათ, არა, მე არ გაწვდით აღარ მონაცემები. 532 00:32:18,280 --> 00:32:20,000 >> რა გსურთ არის თამაში მას წესები. 533 00:32:20,000 --> 00:32:22,950 თქვენ გვინდა დავრწმუნდეთ, რომ თქვენ წაიკითხოთ API Spec ფრთხილად. 534 00:32:22,950 --> 00:32:26,330 თუ მას აქვს გარკვეული წესები ერთვის ის, ისევე როგორც თქვენ შეგიძლიათ მხოლოდ მიიღოს X queries დღეში 535 00:32:26,330 --> 00:32:30,000 ან შეგიძლიათ მხოლოდ წვდომას ნაწილი ბაზაში გარკვეული რაოდენობის ჯერ 536 00:32:30,000 --> 00:32:32,900 ან რაღაც მსგავსი, რომ თქვენ გვინდა დავრწმუნდეთ, რომ თქვენ ჯოხი რომ. 537 00:32:32,900 --> 00:32:38,360 სანამ თქვენ თამაშობთ ფარგლებში იმ წესების თქვენ ალბათ მართლაც ლამაზი დრო გამოყენებით APIs. 538 00:32:38,360 --> 00:32:42,030 შენი საერთო takeaway არის APIs მართლაც, მართლაც სასარგებლო. 539 00:32:42,030 --> 00:32:45,610 >> არსებობს API თითქმის ნებისმიერი დიდი ვებ სამსახურის out არსებობს. 540 00:32:45,610 --> 00:32:50,700 საკმაოდ ბევრი ნებისმიერი ნაწილი Google ინსტრუმენტები Suite, Google Maps, Google Earth, 541 00:32:50,700 --> 00:32:54,390 Gmail, Google Calendar, ყველა იმ რამ APIs. 542 00:32:54,390 --> 00:32:58,280 თქვენ შეგიძლიათ გამოიყენოთ ისინი როგორც მონაცემების მიღება საწყისი სერვერზე და მონაცემების სერვერზე. 543 00:32:58,280 --> 00:33:00,870 სხვა სიტყვებით, თუ მინდოდა კალენდარი app რომ შეიძლება განაახლოს 544 00:33:00,870 --> 00:33:04,190 ვინმეს Google კალენდარი, არსებობს API გააჩნია. 545 00:33:04,190 --> 00:33:07,810 თუ გინდათ, რომ რაღაც ხდება გითხრათ, სადაც 546 00:33:07,810 --> 00:33:12,530 ადგილმდებარეობის გარკვეული მისამართი შეგიძლიათ გამოიყენოთ Google Maps API გააჩნია. 547 00:33:12,530 --> 00:33:15,860 APIs are fantastically სასარგებლო და ისინი ყველგან. 548 00:33:15,860 --> 00:33:18,700 თუ თქვენ დაინტერესებული გარკვეული იდეა, 549 00:33:18,700 --> 00:33:22,170 იქ ალბათ დაკავშირებული API რომ თქვენ შეგიძლიათ გამოიყენოთ მიიღოს ბევრი მონაცემები 550 00:33:22,170 --> 00:33:25,060 ძალიან სწრაფად და ძალიან მარტივად. 551 00:33:25,060 --> 00:33:28,140 >> თუ თქვენ ჯერ კიდევ ეძებს პროექტის ან თუ უბრალოდ გსურთ ითამაშოს გარშემო 552 00:33:28,140 --> 00:33:31,820 რაღაც ზოგადად, APIs ნამდვილად ღირს. 553 00:33:31,820 --> 00:33:37,200 მადლობა, და მოხარული ვარ, უპასუხოს ნებისმიერ შეკითხვას, რომ თქვენ ბიჭები შეიძლება ჰქონდეს. 554 00:33:37,200 --> 00:33:44,900 Okay, მადლობას უხდის ბევრი. 555 00:33:44,900 --> 00:33:48,000 [CS50.TV]