1 00:00:00,000 --> 00:00:02,480 [Powered by Google Translate] [سیمینار] [ایک پروگرامر APIs کا تعارف] 2 00:00:02,480 --> 00:00:04,059 [بلی Janitsch] [ہارورڈ یونیورسٹی] [ٹومی MacWilliam] 3 00:00:04,059 --> 00:00:08,220 [یہ CS50 ہے.] [CS50.TV] 4 00:00:08,220 --> 00:00:12,100 >> ہیلو، سب لوگ، میں بلی ہوں، اور آج میں 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 اور ہم نے اس کے بارے میں تھوڑا سا 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 پیچیدہ سوالات اور چیز کے بارے میں اس طرح ہے. 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، یا جاوا سکرپٹ کے آبجیکٹ سنکیتن ہے. 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 دوسرے لفظوں میں، JSON میں 4 نمبر. 38 00:01:59,530 --> 00:02:01,030 >> JSON بالکل ہے؟ 39 00:02:01,030 --> 00:02:03,030 جیسا کہ میں نے کہا، جاوا سکرپٹ کے آبجیکٹ سنکیتن. 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 آپ arrays، hashmaps، اور primitives ہے. 43 00:02:13,540 --> 00:02:16,580 ، Arrays اور hashmaps آپ CS50 میں تھوڑا سا میں دیکھا ہے 44 00:02:16,580 --> 00:02:19,870 لیکن آپ کی طرح کہ وہ کیا ہیں کے ایک بہت سخت احساس ہو گیا ہے. 45 00:02:19,870 --> 00:02:22,780 دوسرے الفاظ میں، آپ arrays کے ساتھ جانتے ہیں کہ وہ جانے ٹائپ کر رہے ہیں، 46 00:02:22,780 --> 00:02:26,560 تو آپ کو صرف قسم کی ایک طرح ہے کہ پوری صف بھر جاتا ہے ہے. 47 00:02:26,560 --> 00:02:29,310 JSON چیز کے بارے میں اس طرح کے ساتھ بہت زیادہ ادار ہے. 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 جس کا یہ ہے کہ ان گھوبگھرالی یہاں بریکٹ آپ 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 ڈور ہو سکتا ہے. وہ integers ہو سکتا ہے. 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 وہ JSON 2 خصوصیات ہیں، اور ہم دیکھتے ہیں کہ 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 لیکن یہ بورنگ طرح کی ہے، تو ہم اسے تھوڑی بھر جا رہے ہیں، 68 00:03:39,180 --> 00:03:43,420 اور جیسا کہ میں نے کہا، JSON میں arrays جانے ٹائپ کر رہے ہیں، 69 00:03:43,420 --> 00:03:46,400 تو ہم ایک تار بھی یہاں ہے، جس ہیلو سکتا ہے، 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 اس قسم کا ہو جاتا ہے میں افوہ، اس کے مختلف حصوں کے تمام کوما کی ضرورت ہے. 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 ایک صف کسی چیز یا hashmap کسی چیز. 82 00:04:35,680 --> 00:04:40,270 >> تم دیکھ طرح کر سکتے ہیں کے طور پر، JSON واقعی، واقعی مفید ہے کیونکہ اس میں بہت ورسٹائل ہے. 83 00:04:40,270 --> 00:04:45,860 آپ کسی بھی ممکنہ ڈیٹا ہے کہ آپ 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 جیسا کہ آپ دیکھ سکتے ہیں، چیزوں کی ایک بہت کے مقابلے میں ہے کہ آپ کو ہے 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 دوسرے الفاظ میں، یہ آسان تجزیہ اور آسان ہے ضابطہ کاری کریں، 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 جس سے آپ کو جاوا اسکرپٹ کا تھوڑا سا سیکھا ہے، یہ ایک اچھا طریقہ ہے 102 00:05:49,290 --> 00:05:53,710 اسکے لیے سی ایس ایس اور ایچ ٹی ایم ایل کو ایک ویب سائٹ کے اندر اندر جوڑتوڑ. 103 00:05:53,710 --> 00:05:57,190 لیکن اس قسم کی سادہ جاوا اسکرپٹ میں کوڈ درد کر سکتے ہیں، 104 00:05:57,190 --> 00:05:59,810 بڑی وجہ جاوا اسکرپٹ پہلے ہی سے اس کا ایک واقعی شبدبہل زبان ہے. 105 00:05:59,810 --> 00:06:03,020 آپ نحو کے ایک بہت کچھ سیکھ ہے، اور صرف بہت آسان چیز 106 00:06:03,020 --> 00:06:07,590 یہ کوڈ کا ایک بہت لیتا ہے، تو jQuery جاوا سکرپٹ کے لئے ایک لائبریری ہے. 107 00:06:07,590 --> 00:06:09,800 دوسرے الفاظ میں، یہ ایک جاوا اسکرپٹ فائل ہے کہ آپ لوڈ کر سکتے ہیں 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 یہ آسان ہے کیا جاوا سکرپٹ میں لائنوں کے سینکڑوں 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 جبکہ سادہ جاوا اسکرپٹ میں لائنوں کی پاگل نمبر لیں گے 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 ناظر ہے، 127 00:07:18,310 --> 00:07:23,270 اور بنیادی طور پر ایک Ngram ناظر کے خیال ہے آپ کو لفظ کے کسی نہ کسی قسم کی تلاش کر سکتے ہیں 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 اور ہم دیکھتے ہیں کہ 1960s سے پہلے یہ واقعی اتنا استعمال نہیں کیا گیا تھا، 133 00:07:44,400 --> 00:07:48,900 اور پھر جیسا کہ ہم بعد کے سالوں میں یہ زیادہ سے زیادہ بننے استعمال کیا جاتا ہے. 134 00:07:48,900 --> 00:07:53,680 ہم موازنہ بھی، مثال کے طور پر ایسا اگر ہم جینفر کا آپس میں موازنہ کر سکتے ہیں، تھامس، 135 00:07:53,680 --> 00:07:56,520 ہم دیکھتے ہیں تھامس تاریخ میں بہت مقبول رہا ہے کر سکتے ہیں، 136 00:07:56,520 --> 00:07:58,780 جینفر جبکہ حال ہی نام ہے. 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 کیونکہ شاید بچے کے نام کے بارے میں یہ اعداد و شمار کچھ ڈیٹا بیس میں کہیں رہتا ہے، 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 دوسرے الفاظ میں، ہم صرف اس صورت میں جینیفر اور تھامس کے بارے میں دیکھ بھال، 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 یہ اعداد و شمار سیٹ، بجائے بچے کے نام ہونے کا، اصل میں صرف پوری ہے 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 تلاش کے سوالات ہیں، 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 اوہ، میں نے غلطی کی محور تھوڑا سا، لیکن آپ کو براہ راست اس کی حد میں یہاں دیکھ سکتے ہیں 171 00:10:02,410 --> 00:10:05,730 خانہ جنگی کے ارد گرد امریکی ایڈیشن میں ایک بڑا اضافہ ہے 172 00:10:05,730 --> 00:10:08,340 لیکن دیگر دو میں اتنا نہیں بڑا اضافہ، اور یہ کہ ظاہر ہے کیونکہ 173 00:10:08,340 --> 00:10:10,880 امریکی خانہ جنگی میں اس وقت جو کچھ ہو رہا تھا. 174 00:10:10,880 --> 00:10:13,890 >> ہم نے کچھ ڈاؤن لوڈ، اتارنا وہاں چیزیں دیکھ سکتے ہیں، 175 00:10:13,890 --> 00:10:17,070 لیکن کیا ہم واقعی کے بارے میں پرواہ ہے کہ ہم کس طرح یہ اعداد و شمار ملے. 176 00:10:17,070 --> 00:10:21,320 میں نے آپ کو تھوڑا سا میں اس اپلی کیشن میں پردے کے پیچھے لے جائیں گے. 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 میں کروم کے ڈویلپر کے اوزار کا استعمال کرتے ہوئے جا رہا ہوں، اور لوگوں کو حاصل کرنے کے لئے 180 00:10:30,200 --> 00:10:35,160 آپ کو کنٹرول، تبدیلی، J، اور یہ کہ آپ جاوا سکرپٹ کنسول پر لے جاتا ہے ہے کر سکتے ہیں. 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 ٹیب ابھی، اور میں واقعی میں اس کام کرنے کو حاصل کرنے کے لئے تازہ کرنے کے لئے ہے. 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 ٹھیک ہے، ہم اس مثال کی بجائے تو استعمال کریں گے. 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 جو دوبارہ Y محور اقدار X محور اقدار کی میپنگ ہے. 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 یہ بڑا جاوا اسکرپٹ فائل ویب اپلی کیشن کے بات چیت کی تمام ہینڈلنگ ہے ہے، 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 ، باہر figuring جو صارف کو دوسرے لفظوں میں استفسار چاہتا ہے 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 اور یہ اس کیوری کو قدر، جو میں نے تو API بھیج سکتے ہیں تھوکنے جا رہا ہے. 219 00:13:06,650 --> 00:13:09,180 >> یہ پیچیدہ لگتا ہے، اور یہ بہت پیچیدہ ہے 220 00:13:09,180 --> 00:13:18,090 لیکن جو میں میں کیا حقیقت، میں نے پہلے ہی یہ کر جا رہا ہوں، بہت اچھا ہے 221 00:13:18,090 --> 00:13:21,640 یہ ہے کہ میں کنسول باہر بالکل اس کے استفسار قدر کو پرنٹ کرنے کے لئے جا رہا ہوں 222 00:13:21,640 --> 00:13:28,110 کہ یہ 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 مثال کے طور پر بچے کے نام اعداد و شمار، کی مخالفت کی. 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 یہ مثال کے طور پر پیچیدہ طرف کی طرح ہے، 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 مختلف مقامات میں چند ایک دیگر سلیکٹرز کے ساتھ. 256 00:15:29,490 --> 00:15:32,010 >> مجھے واپس یہاں زوم. 257 00:15:32,010 --> 00:15:37,720 ہم کچھ مختلف میٹا ڈیٹا کے انتخاب کے ساتھ ایک ان پٹ باکس ہے، 258 00:15:37,720 --> 00:15:40,610 اور ہم Y محور اور X محور انتخاب ہے. 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 ہم فیس بک پر کی طرف رجوع اورقرب اختیار کرنے جا رہے ہیں. 265 00:15:56,510 --> 00:15:59,440 فیس بک API فیس بک گراف کہا جاتا ہے، 266 00:15:59,440 --> 00:16:04,390 اور بنیادی طور پر کیا اس کا مطلب ہے فیس بک خود کو اس بڑے پیمانے پر ڈیٹا بیس کے طور پر دیکھتا ہے 267 00:16:04,390 --> 00:16:08,000 بہت سارے مختلف حصوں کہ تمام ایک دوسرے سے مخصوص تعلقات ہیں. 268 00:16:08,000 --> 00:16:11,070 دوسرے الفاظ میں، میں نے فیس بک پر ایک صارف ہوں، تو میں نے کی ہے، 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 >> فیس بک پر مختلف حصوں بہت ہے. 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 ایک منفرد فیس بک 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 ایک منفرد شناخت ہے. 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 اب، اگر ہم کچھ چیک کرنے کے لیے کی کوشش کرتے ہیں کیا ہوتا ہے؟ 292 00:17:28,860 --> 00:17:33,060 چلو کا کہنا ہے کہ میں کہ داؤد Malan فیس بک پر پسند کیا ہے دلچسپی رکھتا ہوں. 293 00:17:33,060 --> 00:17:36,860 I / پسند کر سکتے ہیں. اب ہم نے ایک مسئلہ میں چلائے گئے. 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 اگر آپ فیس بک کی ڈیٹا بیس کے ہر ایک حصہ تک رسائی حاصل کر سکتے ہیں 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 کا، 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 اب کے لئے اس کے ارد گرد حاصل کرنے کے لئے، فیس بک یہ اچھا آلہ ہے 308 00:18:23,050 --> 00:18:27,690 جو گراف API ایکسپلورر ہے، اور اس کے بارے میں خیال ہے آپ کو قسم کے کر سکتے ہیں ہے 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 افوہ، مجھے لگتا ہے کہ میں اپنے ٹوکن کو یہاں revalidate ہے. 313 00:18:53,510 --> 00:18:55,950 ٹھیک ہے. 314 00:18:55,950 --> 00:19:01,740 اگر میں پھر سے کرتے ہیں، بہت اچھا، میں اب دیکھو کہ میں اس اعتراض کو واپس حاصل 315 00:19:01,740 --> 00:19:06,300 جس میں کہا گیا ہے کہ میں پول نوڈلس، جو قسم کے کھیل اور کھلونے میں ہیں. 316 00:19:06,300 --> 00:19:08,620 میں walruses، جو قسم کے جانوروں میں ہیں. 317 00:19:08,620 --> 00:19:10,180 یہ میری اصل فیس بک پسند ہیں. 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 ہر طرح ایک منفرد شناخت ہے. 325 00:19:31,240 --> 00:19:34,510 کے تمام قسم کے اعداد و شمار ہے کہ ہم حاصل کر سکتے ہیں کے مختلف باتیں ہیں، 326 00:19:34,510 --> 00:19:37,980 اور اگر آپ کو ایک CS50 حتمی منصوبہ کے لئے فیس بک API کا استعمال کرتے ہوئے میں دلچسپی رکھتے ہیں 327 00:19:37,980 --> 00:19:40,720 یا کسی بھی چیز کے لئے اس طرح یہ اصل میں ہے بہت ممکن ہے. 328 00:19:40,720 --> 00:19:44,260 بنیادی طور پر کس طرح آپ کو تصدیق چیز کے ارد گرد حاصل فیس بک ہے 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 تصدیق کے مختلف 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 >> اگر آپ گوگل فیس بک API یہ بہت ہی پڑھنے کے قابل ہے. 335 00:20:04,050 --> 00:20:06,670 ایک پوری رپورٹ ہے. 336 00:20:06,670 --> 00:20:10,210 مثال کے طور پر، یہ فیس بک API کے لئے دستاویز ہے، 337 00:20:10,210 --> 00:20:14,170 تمہیں دیکھ کر میں صارف کے صفحے پر ہوں، تو میں تمام چیزوں کی مختلف قسم کے بارے میں معلومات حاصل کر سکتے ہیں کر سکتے ہیں 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 >> اگر تم نے کیا ہے فیس بک اے پی پی کے ایک اور آپ کی اے پی پی کچھ صارفین ہیں، 351 00:20:59,110 --> 00:21:03,380 اور ان صارفین کی اجازت ہے کہ اے پی پی اپنے پروفائل کے بعض حصوں تک رسائی حاصل کر سکتے ہیں ہے، 352 00:21:03,380 --> 00:21:07,790 تو جو کچھ بھی API کلید یا ٹوکن ہے کہ اس اپلی کیشن استعمال کر رہا ہے 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 اور اگر آپ فیس بک کو استعمال کرنے کے لئے کرنا چاہتے ہیں، میں انتہائی کی سفارش کرے گا کہ آپ 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 اور یہی وجہ ہے کہ آپ کو آپ کی خبر فیڈ پر ان پریشان چیزیں کبھی کبھی مل جائے گا 361 00:21:32,390 --> 00:21:37,840 کہ اپنے دوست عجیب سائٹ یا اس طرح کچھ کے کچھ قسم کی اس ویڈیو کو دیکھا ہے. 362 00:21:37,840 --> 00:21:43,120 اس کا ہے کیونکہ اس اپلی کیشن کی گئی ہے اس شخص کی دیوار پر پوسٹ کرنے کے تک رسائی کی اجازت دی ہے. 363 00:21:43,120 --> 00:21:48,350 مجموعی طور پر خیال، فیس بک 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 اور اس طرح ہم نے ان میں سے کسی ایک پر کلک کریں اور اس کے لئے ایک رپورٹ حاصل کر سکتے ہیں، 373 00:22:24,510 --> 00:22:28,090 جس سے آپ کسی بھی API کے لئے تلاش کرنے کے لئے کے قابل ہو جائے، اور خیال ہے. 374 00:22:28,090 --> 00:22:33,920 اس کی مدد سے آپ کو پتہ ہے، A، خاص طور پر. 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 لیکن تم جانتے ہو کہ ڈیٹا کس طرح جب آپ اسے واپس حاصل دیکھنے کے لئے کی جا رہی ہے 382 00:22:57,620 --> 00:23:00,610 تو آپ کو اس کے ساتھ کچھ کرنے کی توقع کر سکتے ہیں. 383 00:23:00,610 --> 00:23:07,240 ہم ذیل میں سکرال اور مثال کے طور پر دیکھ سکتے ہیں، اگر ہم API استفسار کرنا چاہتا ہوں 384 00:23:07,240 --> 00:23:11,500 ایک کیلنڈر کو حاصل کرنے کے لئے، تو ہم نے اس مخصوص یو آر ایل کا استعمال کر سکتے ہیں 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 میں نے 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 آپ کو صرف 16th نومبر، 2012 ء نہیں کہہ سکتے ہیں. 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 دوسرے الفاظ میں، ہم نے پیک پیرامیٹرز کہ ہم چاہتے ہیں سب، 433 00:26:15,490 --> 00:26:20,530 جو اس کیس میں دن ہے کہ ہم چاہتے ہیں اور حقیقت یہ ہے کہ ہم اسے JSON میں کرنا چاہتے ہیں ہے، 434 00:26:20,530 --> 00:26:23,840 اور ہم نے اسے بھیجا API پر، تو اب API کہہ رہے ہو، ٹھیک ہے، 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 دیکھ کر اور یہ کہ ہم سب کر رہے ہیں نئے نحو کا ایک گروپ کا استعمال کرتے ہوئے یہاں ہے 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 اور ہر بار اس اس تاریخ قدر کو اپ ڈیٹ اور API querying 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 اس اپلی کیشن آپ کے وزٹرز کا ریکارڈ رکھا چند گھنٹوں نے ساتھ ہیک کرنے، 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 لیکن میں آپ کو وہاں کیا ہے ایک خیال کو دے دونگا. 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 وکیپیڈیا شاید آپ سب ایک مفت آن لائن انسائکلوپیڈیا سے ہے، 457 00:27:49,800 --> 00:27:53,230 اور یہ واقعی میں ایک API ہے، اگر ایسا ہے تو آپ کرنا چاہتے ہیں، مثال کے طور پر، 458 00:27:53,230 --> 00:27:56,250 تحریروں کے تمام اور آکٹپس کے لئے مضامین حاصل 459 00:27:56,250 --> 00:27:58,030 کہ تم بہت آسانی سے کر سکتے ہیں. 460 00:27:58,030 --> 00:28:02,300 صرف یہ کہنا ہے، وکیپیڈیا API، میں اس کے طور پر واپس آ ڈیٹا کرنا چاہتے ہیں، 461 00:28:02,300 --> 00:28:07,010 اور میں نے اسے اس شکل میں پسند ہے، اور مضمون میں کرنا چاہتے ہیں وکٹپس ہے چاہتے ہیں، 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 کہ وکیپیڈیا یا اس طرح کچھ کے لئے ایک بہتر ناظرین ہے. 465 00:28:16,200 --> 00:28:21,350 >> Freebase اسی طرح کی طرح کی ہے، اگرچہ یہ تھوڑا سا مشکل ہے. جہاں تک API کے طور پر. 466 00:28:21,350 --> 00:28:24,390 Freebase کہ یہ ایک آن لائن انسائکلوپیڈیا سے ہے میں وکی پیڈیا کی طرح ہے 467 00:28:24,390 --> 00:28:29,050 جس میں مختلف موضوعات کی ہر قسم کے بارے میں مختلف اعداد و شمار کے بہت اور بہت پر مشتمل ہے، 468 00:28:29,050 --> 00:28:33,150 لیکن یہ ایک سنبندپرک ڈیٹا بیس، جو وکیپیڈیا سے تھوڑا سا مختلف ہے میں محفوظ ہے. 469 00:28:33,150 --> 00:28:36,410 وکیپیڈیا اس کے مضامین اور مضامین دیگر مضامین سے تعلق رکھنے ہیں، 470 00:28:36,410 --> 00:28:38,860 لیکن سب سے زیادہ حصہ کے لئے، اگر آپ آکٹپس کے لئے اعداد و شمار کی ضرورت ہے، 471 00:28:38,860 --> 00:28:41,990 آپ کے آکٹپس مضمون جاتے ہیں، اس کی معلومات حاصل کریں، اور آپ کو متن کا ایک گروپ ہے 472 00:28:41,990 --> 00:28:43,830 آکٹوپسوں کے بارے میں، تو یہ تو بہت اچھا ہے. 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 دوسرے الفاظ میں، اگر ہم آکٹپس کے لئے تلاش کر رہے ہیں 476 00:28:52,620 --> 00:28:54,940 تو یہ اس کے ساتھ منسلک اقسام میں سے ایک گروپ ہے. 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 دوسرے الفاظ میں، آکٹپس ڈیٹا سیٹ تمام جانوروں کے لئے مقرر کی معلومات ایک لنک پر مشتمل ہے، 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 آپ نے آپ کے میوزک پلیئر سے اپ لوڈ کی موسیقی شروع کر سکتے ہیں 496 00:30:04,250 --> 00:30:08,020 ویب سائٹ پر، اور بنیادی طور پر یہ آپ کو موسیقی کی تجاویز دینے کے شروع کر دیں گے 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 اور پھر، Last.fm کے پیچھے ایک بڑا API ہے، 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 اور آپ Last.fm API کے لئے ایک بہت آسان AJAX کال کر کے ایسا کر سکتے ہیں. 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 مثال کے طور پر، اگر آپ کو ایک لامحدود لوپ infinitely 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 جو یہ کہتا ہے کہ آپ کو IP ایڈریس یا اس طرح کچھ کے مطابق 1،000 فی دن کی درخواست پر صرف کر سکتے ہیں. 529 00:32:09,970 --> 00:32:12,540 اور اگر آپ کو ٹیسٹ کے بہت اور چیز کے بارے میں اس طرح کر رہے ہیں 530 00:32:12,540 --> 00:32:14,890 تم نے اس میں کبھی کبھی، باگو اور اچانک یہ آپ بند کر دونگی کریں گے 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 رپورٹ احتیاط سے پڑھ کرنے کے لئے چاہتے ہیں. 534 00:32:22,950 --> 00:32:26,330 اگر یہ اس سے منسلک بعض آپ جیسے قوانین فی دن X سوالات کر سکتے ہیں 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 ہے. 540 00:32:45,610 --> 00:32:50,700 گوگل فورم کے اوزار سوٹ، گوگل نقشہ جات، گوگل ارتھ کی کافی زیادہ کسی بھی حصے، 541 00:32:50,700 --> 00:32:54,390 جی میل، گوگل کیلنڈر، ان میں سے سب APIs کا ہے. 542 00:32:54,390 --> 00:32:58,280 تم نے ان کو سرور سے دونوں کے اعداد و شمار کے استعمال اور سرور پر ڈیٹا بھیج سکتے ہیں. 543 00:32:58,280 --> 00:33:00,870 دوسرے الفاظ میں، اگر آپ کیلنڈر اپلی کیشن کو بنانے کے لئے چاہتے ہیں کہ اپ ڈیٹ کر سکتے ہیں 544 00:33:00,870 --> 00:33:04,190 کسی کی گوگل کیلنڈر، وہاں اس کے لئے ایک 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 کے 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 ٹھیک ہے، بہت بہت شکریہ. 555 00:33:44,900 --> 00:33:48,000 [CS50.TV]