[Powered by Google Translate] [সেমিনার] [API গুলি একটি প্রোগ্রামার এর পরিচিতি] [বিলি Janitsch] [হার্ভার্ড বিশ্ববিদ্যালয়] [টমি MacWilliam] [এটি CS50.] [CS50.TV] হাই, সবাই, আমি বিলি, এবং আজ আমি API গুলি সম্পর্কে কথা হবে না, অথবা অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস, বিশেষভাবে CS50 চূড়ান্ত প্রকল্পের কনটেক্সট এবং জিনিস যে সাজানোর. এটা কি সাধারণভাবে কোনো API? অনেক বিস্তৃত ভাষায়, যে এটা একটা মধ্যগ যে 2 টুকরা করার অনুমতি দেয় সাজান সফটওয়্যার একে অপরের সাথে যোগাযোগ করতে. এটা অত্যন্ত বিস্তৃত সংজ্ঞা এক ধরনের এবং কি আমরা এ খুঁজছেন জন্য প্রাসঙ্গিক নয়. আমরা কি সত্যিই চান সহায়ক মধ্যম স্থল কিছু সাজানোর ডাটাবেসের কিছু সাজানোর সঙ্গে কোথাও যোগাযোগ. এখানে একটি চার্ট, এবং মূলত ধারণা হয় যে আমরা একটি প্রয়োগ, এবং আমরা একটি ডাটাবেস থেকে তথ্য পেতে চান, কিন্তু আমরা সরাসরি ডাটাবেস অনুসন্ধান করতে ইচ্ছুক না. এর পরিবর্তে আমরা মধ্যগ, API-এর এই সাজানোর মধ্য দিয়ে যেতে চান. পিছনে যে ধারণা হয় সংখ্যা 2 চার্ট এবং 3 উভয় হয় খুব জটিল এবং নোংরা হতে যাচ্ছে. অন্য কথায়, যখন API-র ডাটাবেস অনুসন্ধান করা হয়, এটি সম্ভবত যাচ্ছে যাও এসকিউএল সারণী এবং পণ্যদ্রব্য যে ধরণের সব ব্যবহার করা হবে, এবং আমরা CS50 মধ্যে এটি সম্পর্কে একটি বিট করেছি শিখেছি, কিন্তু সামগ্রিক, আপনি যে এটা একটা ব্যথা একটু খেয়াল করেছি. এটা খুব খুব, জটিল এবং ময়লা, বিশেষত যখন আপনি তৈরি করছেন জটিল প্রশ্নের জিনিস যে সাজানোর. আমরা কি সত্যিই চান সহায়ক এবং সহজ উপায় কিছু সাজানোর যে তথ্য পেতে, এবং যে এর সংখ্যা 1 চার্ট এবং 4 পিছনে ধারণা. অন্য কথায়, আমরা একটি API-কি আমাদের জন্য বলা সত্যিই পেতে চান সহজ উপায় এবং সত্যিই একটি সহজ উপায় ফিরে যে তথ্য পেতে. এর একটি প্রধান উপায় যে সাধারণত যে তথ্য প্রেরিত হয় এবং প্রাপ্তি এখন পর্যন্ত, যা JSON, বা JavaScript অবজেক্ট স্বরলিপি. যে অল্প তারতম্য যতটা কিভাবে আপনি API-অনুরোধ পাঠাতে পারেন. অন্য কথায়, যদি আপনি কিছু নির্দিষ্ট পরিমাণ তথ্য চান, কিভাবে আপনি যে তথ্য সামান্য কিছুটা তারতম্য হতে পারে পেতে API 'বলুন. সাধারণত এটি জড়িত থাকে নেটওয়ার্ক অনুরোধের কিছু বাছাই করা হবে. অন্য কথায়, URL-র কিছু সাজানোর অ্যাক্সেস যে API 'বলা যাচ্ছে আপনি ঠিক কি কি করতে চান, কিন্তু তথ্য প্রায় সর্বদাই ফেরত পাঠানো হয়, অন্য কথায়, JSON সংখ্যা 4. JSON কি ঠিক? আমি যেমন বলেছি জাভাস্ক্রিপ্ট অবজেক্ট স্বরলিপি,. এটি মূলত এর প্রেরণ এবং তথ্য প্রাপ্তির জন্য সার্বজনীন আদর্শ. ধারণা করা হয় যে আপনি এই জিনিস 3 বিভাগ আছে. আপনি অ্যারে, hashmaps, এবং প্রিমিটিভের আছে. অ্যারে এবং hashmaps আপনি অল্প সময়ে CS50 মধ্যে লাগছিল করেছি, কিন্তু আপনি কি ধরণের একটি তারা খুব কঠোর ইন্দ্রিয় করেছি অর্জিত. অ্যারে সঙ্গে অন্য কথায়, আপনি কি জানেন যে তারা বাউন্ড টাইপ করছি, তাই শুধুমাত্র আপনি টাইপ এক সাজানোর সম্পূর্ণ অ্যারে জুড়ে যে যায় আছে. JSON অনেক জিনিস যে সাজানোর সঙ্গে আরো ক্ষমাশীল. মূলত ধারণা হয় আপনি এই বস্তু গঠন করা, যা এই 3 যে কোনো করতে পারে গঠন করা এবং তাদের একাধিক বেশী, ক্ষান্ত করা যাবে এবং তারা নেস্টেড করা যাবে. JSON এর একটি উদাহরণ এখানে এর সাজানোর, যা এই তরঙ্গায়িত এখানে বন্ধনী আপনার hashmap প্রতিনিধিত্ব করেন, এবং একটি hashmap মূলত কি কিছু সাজানোর থেকে একটি ম্যাপিং মান কিছু সাজান. আপনি এখানে যে আমরা বৈশিষ্ট্য কি আছে দেখতে পাবেন, এবং যে একটি অ্যারের সম্মুখের ম্যাপিং এর, যা এই গোটা ব্যাপারটাই. আমরা hashmap অন্য উপাদান, যা এই কী isAwesome দেখুন, যা মানচিত্র অন্যান্য শব্দের একটি সত্য আদিম মান যাও,, একটি বুলিয়ান. প্রিমিটিভের স্ট্রিং হতে পারেন. তারা পূর্ণসংখ্যা হতে পারেন. তারা bools, যে ভালো কিছু হতে পারে. এবং আপনি এই অ্যারে বিষয়বস্তু দেখতে পয়েন্ট যে বৈশিষ্ট্য তা 2 স্ট্রিং আছে, স্ব - অনুরূপ এবং বিস্ময়কর. সেগুলো হল JSON এর মধ্যে 2 টি বৈশিষ্ট্য, এবং আমরা দেখতে যে JSON হয় সন্ত্রস্ত. যে তাকান একটু আরো ঘনিষ্ঠভাবে আমি গঠন করা যাচ্ছে না একটি JSON আরও জটিল উদাহরণ. আসুন একটি অ্যারে এর সঙ্গে, যেমন আরম্ভ করার জন্য একটি খালি অ্যারে,. কিন্তু যে বিরক্তিকর বাছাই করা, তাই আমরা তা ভরাট করা একটি বিট চলুন, এবং আমি আগেই বলেছি, JSON এ অ্যারে বাউন্ড টাইপ করা হয়, তাই আমরা একটি স্ট্রিং এখানে আছে, তবে যা করা হয়, এবং যে যে অ্যারের অন্য উপাদান. এবং একইভাবে, আমরা একটি hashmapping এখানে যোগ করুন, হতে পারে যা কয়েক ম্যাপিং আছে যাচ্ছে. এটা থেকে নামের স্ট্রিং বিলি একটি ম্যাপিং আছে যাচ্ছে. আমরা থেকে বিলি নামের একটি ম্যাপিং আছে, এবং আমরা একটি ম্যাপিং আছে প্রিয় রং নীল. মূলত এর একটি JSON ভাল দৃষ্টান্ত. এটা কোন ধরনের পায় মধ্যে-ওহো, এটি একটি দেশের বিভিন্ন স্থানে কমা দ্বারা সেখানে-সমস্ত প্রয়োজন. আবার, এটি আবদ্ধ নয় এর টাইপ, যাতে আপনি যেকোন ধরনের ধরনের হতে পারে আপনি কিছু ভিতরে চান, এবং ধারণা করা হয় এটি স্ব - অনুরূপ. অন্য কথায়, এই এখানে ডান হল একটি JSON অবজেক্ট, হিসাবে এই গোটা ব্যাপারটাই, হিসাবে শুধুমাত্র এই সুতরাং, আপনি একটি আদিম একটি অবজেক্ট থাকতে পারে, একটি অ্যারের একটি অবজেক্ট বা একটি hashmap একটি অবজেক্ট. আপনি দেখতে পারেন ধরনের হিসাবে, JSON সত্যিই হয়, সত্যিই কাজে যে এটা এত বহুমুখী. আপনি কোন তথ্য সম্ভব যে আপনি JSON যেতে পারে কল্পনা সঞ্চিত থাকতে পারে. যে এটা সত্যিই একটি চমৎকার ভাষা API গুলি ব্যবহার করার জন্য কারণ এটি প্রায় কাছাকাছি মানে হল যে কোন ব্যাপার কি তথ্য চান সেটি গিয়ে কিছু উপায় এটি পেতে JSON ফিরে আছে এর. কয়েকটি বৈশিষ্ট্য যে করা JSON বিশেষ জিনিস এই সাজানোর জন্য ভাল. হিসাবে আপনি দেখতে পারেন একটা অনেক যাও, যে আপনার সাথে তুলনা করা হয়েছে করেছি CS50 কাজ এটা তুলনামূলকভাবে খুব সহজ এবং এছাড়াও পড়তে খুব লিখতে সহজ. আপনি ইন্ডেন্ট এটি আপনি চাইলে করতে পারেন, যেমন আমি যে উদাহরণ করছেন, যা দেয় একটা চমৎকার, সুন্দর সংস্করণ যে আপনি সত্যিই ভাল দেখতে পারেন আপনি. কিন্তু পরন্তু, এটি এর একটি কম্পিউটারের জন্য পড়তে এবং লিখতে সহজ. অন্য কথায়, এটা সহজ পার্স করতে এবং সহজ সঙ্কেতাক্ষরে লিখা, যার মানে হল যে এটি বেশ দ্রুত যতটা তথ্য পড়া উদ্বিগ্ন হয়, এবং JSON উত্পন্ন সত্যিই দ্রুত করা সম্ভব. এটি খুব সহজ যাও JSON বিভিন্ন অংশে এবং বিষয় যে সাজানোর অ্যাক্সেস. এটা চমৎকার, এবং তদ্ব্যতীত, যে এটা স্ব - অনুরূপ, অন্য কথায়, যে আপনি JSON মধ্যে JSON JSON মধ্যে থাকতে পারে হয় তথ্য সংগ্রহের জন্য সত্যিই চমৎকার. আরেকটি অংশ যা সাধারণত API গুলি সঙ্গে কাজ সত্যিই দরকারী হয় jQuery. আপনি একটি জাভাস্ক্রিপ্ট সামান্য বিট করেছি শিখেছি, যা একটা চমৎকার উপায় একটি HTML এবং CSS এর ওয়েবসাইট মধ্যে নিপূণভাবে. কিন্তু এটা কোন ধরনের প্লেইন জাভাস্ক্রিপ্ট কোড একটি ব্যথা হতে পারে, দরুণ জাভাস্ক্রিপ্ট একটি সত্যিই ভার্বোস ভাষা. আপনি সিনট্যাক্স অনেক জানার আছে, এবং শুধু খুব সহজ জিনিষ না এটা কোড অনেক সময় লাগে, তাই jQuery জাভাস্ক্রিপ্ট জন্য একটি লাইব্রেরি. অন্য কথায়, যে এটা একটা জাভাস্ক্রিপ্ট ফাইল লোড করতে পারে না যে আপনি এবং তারপর jQuery ফাংশান নির্দিষ্ট ধরনের জিনিস ব্যবহার করতে. এবং মূলত jQuery তোলে আপনার জীবন পুরো অনেক সহজ. এটা সহজসাধ্য কি জাভাস্ক্রিপ্ট মধ্যে লাইনের শত শত একটি jQuery মধ্যে কয়েক লাইন সরানোর হবে. এটা অত্যান্ত যদি আপনি API গুলি ব্যবহার করছেন কারণ সাধারণত AJAX অনুরোধ করে কিভাবে আপনি API গুলি অ্যাক্সেস করা হয় করব, এবং আমি বিশ্বাস করি ডেভিড বক্তৃতায় উল্লেখ করেনি যে AJAX অনুরোধ সাধারণত যখন আপনি সার্ভারের কিছু সাজানোর একটি নেটওয়ার্ক অনুরোধ করছেন এবং তথ্য পাবার কিছু সাজানোর ফিরে এবং একটি পাতা তাত্ক্ষণিকভাবে আপডেট. যেহেতু প্লেইন জাভাস্ক্রিপ্ট যে লাইনের ছবি নম্বর নিতে হবে যাও হেডার সমস্ত সত্যতা প্রতিপন্ন করা এবং পণ্যদ্রব্য যে ধরণের সব না, jQuery একটি সত্যিই সহজ ফাংশন বলা AJAX আছে, এবং সব AJAX আপনি কি করতে চান আছে পরামিতি যে আপনি API-টি দিতে চান দিতে হয়, API-এর অবস্থান এবং কোনো বিকল্পের সাহায্যে কনফিগার করতে ইচ্ছুক অতিরিক্ত সাজান. এটা সত্যিই সত্যিই, সুন্দর জিনিস এই ধরণের জন্য এবং খুব দরকারী. যে সমস্ত আমরা পেয়ে আমাদের হাতে API গুলি মধ্যে ময়লা শুরু করা দরকার. আমি কয়েকটি উদাহরণ আসা এবং তাদের বিভিন্ন বৈশিষ্ট্য অন্বেষণ করা যাচ্ছে না এবং কেন তারা বিভিন্ন ধরণের জিনিষ জন্য দরকারী করছি. প্রথম জিনিস আমি আসলে আপনাকে দেখানো হবে এমন কিছু বিষয় যা আমি কাজ করছি আমার গবেষণা ল্যাব এ, যা একটি Ngram ভিউয়ার, এবং মূলত একটি Ngram ভিউয়ার ধারণা হয় আপনি কিছু শব্দ খঁুজতে পারেন অথবা পংক্তি, এবং কত ঘন ঘন এটি একটি টেক্সট নির্দিষ্ট সময়ের সংকলনের মধ্যে উপস্থিত দেখতে. এখানে উদাহরণ হল, এই শিশুদের সম্পর্কে তথ্য সংকলন যে নিউ ইয়র্ক, 1920 এবং 2000 সালের মধ্যে জন্মগ্রহণ ছিল. আমরা যেমন অনুসন্ধান করার জন্য, নাম Jennifer জন্য, করতে পারেন, এবং আমরা দেখতে যে প্রি-1960 সত্যিই এটি সমস্ত যে অনেক ব্যবহার করা হয়নি, এবং তারপর হিসাবে আমরা পরে বছর ঢোকা এটি আরও এর ব্যবহৃত হয়ে উঠছে. আমরা তুলনা, কি করতে পারেন, উদাহরণস্বরূপ যদি আমরা Jennifer তুলনা,, থমাস, আমরা টমাস ইতিহাস জুড়ে হয়েছে প্রশংসনীয় প্রচলিত দেখতে পারেন, Jennifer যেহেতু আরো সাম্প্রতিক নাম. আমরা আর যে ধরনের কাজ করতে পারেন. কীভাবে এই অ্যাপ্লিকেশন কাজ করে? মূলত, এটি একটি API-র মাধ্যমে কাজ করে. অন্য কথায়, আমরা কিছু পরামিতি এখানে আছে. আমরা কি করছি আমরা আসলে জন্য অনুসন্ধান মধ্যে পরামিতি আছে, যা এই নামগুলি, এবং তারপর আমরা কয়েক অন্যান্য বৈশিষ্ট্য আছে, ভালো Y অক্ষ এবং X অক্ষ. আপনি যত দূরে দেখতে পারেন আমরা কয়েক বিভিন্ন অপশন আছে সময় রেজল্যুশন ব্যবহার এবং বিষয় যে সাজানোর. আমরা এই সমস্ত বিকল্প হিসাবে আছে যতদূর কি তথ্য আমরা আসলে ডাটাবেস থেকে চান, এবং আমরা যে তথ্য ফিরে কিছু দরকারী উপায় পেতে চান. সাধারনত, যদি আমরা সরাসরি ডাটাবেস অনুসন্ধান করা হয় এটি একটি ব্যথা হতে বাছাই করতে হবে কারণ সম্ভবতঃ শিশুর নাম সমূহ সম্পর্কে কিছু তথ্য এই ডাটাবেসের মধ্যে কোথাও বসবাস করেন, এবং সত্যিই এটি যাও যাও নিজে প্রশ্ন আছে জটিল হবে এবং ঠিক সিদ্ধান্ত নেয় কি তথ্য ফিরে যাও. অন্য কথায়, আমরা শুধুমাত্র Jennifer এবং টমাস সম্পর্কে এই ক্ষেত্রে যত্ন, এবং আমরা কেবল একটি নির্দিষ্ট অক্ষ এবং পণ্যদ্রব্য যে ধরণের সমস্ত যত্নশীল. কিভাবে আমরা এই স্বমতে আনা? এই API-টি একটি সামান্য আরও খনন আমি এই প্ল্যাটফর্ম আপনি অন্য একটি উদাহরণ দেখাব যা কিছুটা ভিন্ন তথ্য সেট ব্যবহার করে. পরিবর্তে হচ্ছে শিশুর নামের এই তথ্য সংকলন,, আসলে শুধু সমগ্র ওপেন লাইব্রেরী প্রকাশনার ডাটাবেস মুদ্রণ, যা গত 100 বছর বা তাই সারা প্রকাশিত গ্রন্থে এর দৈত্য উৎস. ধারণা হল আমরা লক্ষ লক্ষ এবং টেক্সট লক্ষ লক্ষ এই compository আছে, যা এখন আমরা ভিন্ন শব্দ ইন এবং বাক্যাংশ অনুসন্ধান করতে পারেন এখানে একটি উদাহরণ যে তারতম্য একটু ভিন্নভাবে থেকে পূর্ববর্তী উদাহরণে আমি আপনাকে দেখিয়েছি, যা আমরা এই 3 অনুসন্ধান প্রশ্ন থাকে, যুদ্ধ, যুদ্ধ, এবং যুদ্ধ, যা guerre জন্য ফরাসি শব্দ. এবং আমরা মোট 3 ডাটাবেসের বিভিন্ন বিভাগের অন্তর্গত অনুসন্ধান করছেন. এই প্রথম ক্যোয়ারীতে অন্য কথায়, আমরা শুধু মার্কিন যুক্তরাষ্ট্রের অনুসন্ধান করছি, কেবলমাত্র ইউ কে দ্বিতীয় এক, এবং শুধুমাত্র ফ্রান্সে প্রকাশিত কাজ থেকে তৃতীয়. আমরা দেখতে কিছু আকর্ষণীয় নিদর্শন উত্থান. উদাহরণস্বরূপ, আমরা দেখতে ঘুরে এখানে যা- ওহো, আমি তছনছ আপ সামান্য বিট অক্ষ, কিন্তু আপনি এখানে ডান এই সীমার মধ্যে দেখতে পারেন গৃহযুদ্ধের কাছাকাছি একটি আমেরিকান সংস্করণ বড় গজাল আছে কিন্তু অন্য একটি দুটি যেমন বড় গজাল না, এবং যে সম্ভবত এর কারণ আমেরিকান গৃহযুদ্ধ যে সময়ে ঘটছে ছিল. আমরা কিছু শান্ত সেখানে পণ্যদ্রব্য দেখতে পারেন, কিন্তু আমরা যে বিষয়ে সত্যিই যত্ন কিভাবে আমরা এই তথ্য পেয়েছেন. আমি কিছুক্ষন এই অ্যাপ্লিকেশন পর্দার পিছনের আপনি নেব. একটি কৌতুক ঝরঝরে হয় যদি আপনি সাইট এবং ধরনের সঙ্গে কাজ করছি জানতে চাই কি পর্দার পিছনের এর যাওয়া, আপনি ডেভেলপার টুলগুলি আপ খুলতে পারে. আমি Chrome-এর বিকাশকারী সরঞ্জাম ব্যবহার করা হচ্ছে, এবং করছি যারা পেতে আপনি নিয়ন্ত্রণ, স্থানান্তর, জে, এবং যে JavaScript কনসোল প্রদর্শিত করতে পারেন. এখানে কয়েক একটি ট্যাব রয়েছে. তারা বিভিন্ন পরিস্থিতির অধীন চমত্কার সহায়ক হতে পারে, কিন্তু আমি নেটওয়ার্ক যত্নশীল ট্যাব এখন অধিকার, এবং আমি আসলে যে কাজ পেতে রিফ্রেশ আছে. ওহ, দুঃখিত. এটি একটি দৈব উদাহরণ দিতে লেগেছে. ঠিক আছে, আমরা এই উদাহরণে ব্যবহার পরিবর্তে তারপরে. ধারণা করা হয় এখানে আছে এই এপিআই, এবং আপনি ঠিক কি API-এ ফিরে আপনি তা দেখতে পারেন. এই কি হয় অ্যাপ্লিকেশান API থাকার যে অনুরোধ পাঠানো থেকে ফিরে আসছে. সম্পর্কে অল্প জুম করা যাক, এবং মূলত আমরা দেখতে পারেন এটা কী মান যুগলের একটি JSON ধারাবাহিক. অন্য কথায়, আমরা এই যে এখানে hashmap মান এর ম্যাপিং আছে. অন্য কথায়, এটা মান ম্যাপিং এর বছর. 1765 সালে আমরা প্রথমে যাই হোক না কেন শব্দ অনুসন্ধান 90 বার ব্যবহার করা হয় 1 মিলিয়ন আউট, তাই আমরা এই ফলাফল পেয়ে ফিরে করছি. এটা ঠিক JSON যেহেতু আমরা এই সামান্য ফলে হেডার এখানে আছে না, কিন্তু বিজ্ঞপ্তি যে এই পুরো এখানে অবজেক্ট শুধুমাত্র একটি মহান বড় JSON ছিটা. আমরা এখানে একটি অ্যারে যা এই পুরো উপাদান উপস্থিত আছে, এবং আপনি যে সমগ্র উপাদান সেখানে শেষ হয়, তাহলে আমরা দেখতে এবং অন্য বড় উপাদান থাকতে পারে যে যায় সব পথ শেষ করে, এবং এখানে যে শেষ হয়. আমরা এটার মধ্যে 2 বস্তুর সঙ্গে একটি বড় অ্যারে আছে, এবং যারা বস্তুর প্রতিটি একটি hashmap. আপনি যাদের hashmaps প্রতিটি মধ্যে আমরা একটি ম্যাপিং আছে দেখতে পারেন এই 0 সূচক মান এবং অন্য hashmap এই মান এর মান, যা আবার Y অক্ষ মান X অক্ষ মান ম্যাপিং. আপনি JSON অল্প জটিল পায়, কিন্তু সামগ্রিক দেখতে পারেন, এটা আসলে খুব দরকারী, এবং এটি খুব সহজ তুলনায় অ্যাক্সেস অন্যান্য স্বরলিপি বিভিন্ন ফর্ম. যতদুর কি আসলে আমরা API-করছেন তথ্য পেতে পাঠানো, আমি ফিরে শেষে একটি সামান্য বিট এখানে যেতে চলেছি. এটি বড় জাভাস্ক্রিপ্ট ফাইল যে ওয়েব অ্যাপ্লিকেশন পারস্পরিক ক্রিয়ার সমস্ত এর সামলাচ্ছে, এবং তাই আমরা এই অধিকাংশ সম্পর্কে না, কিন্তু না যত্ন আমরা কিছু যত্ন সম্পর্কে না. উদাহরণস্বরূপ, আমরা এই buildQuery ফাংশন সম্পর্কে যত্ন, এবং এই কার্যকারিতা ধারণা মূলত এটি পাতা এর চারপাশ ঘুরে দেখছি, figuring কি ব্যবহারকারী যাও অন্য কথায়, প্রশ্ন করতে চায়, ঐ বক্স যেখানে তারা করেছেন তাদের খঁোজা শব্দ ইনপুট চেক, বিভিন্ন Y এবং X অক্ষ মান যে তারা এবং পছন্দের জিনিস যে ধরণের সব চেক করেছি, এবং এটি এই প্রশ্নের সাথে মান, যা আমি তারপর API-এ বন্ধ পাঠাতে পারেন থুতু আউট করে যাচ্ছে. এই দেখায় জটিল, এবং এটি প্রশংসনীয় জটিল কিন্তু কি আমি আসলে-না, আমি ইতিমধ্যে করছি এই করছেন যাচ্ছি, যা মহান- যে আমি কনসোলে প্রিন্ট আউট ঠিক যে প্রশ্নের সাথে মান পাওয়া যাচ্ছে না যে API-এর পাঠানোর বন্ধ. যে আসলে ঠিক এখানে. দুঃখিত, এটা একটা অনেক আউটপুট. কিন্তু এটা কি আমরা যত্নশীল, এই বস্তু অধিকার এখানে. এই প্রশ্নের সাথে বস্তু. অন্য কথায়, এটা ঠিক কি ওয়েব অ্যাপ্লিকেশন API-এ পাঠানো হয়, এবং তাই এর একটি সামান্য বিট ভিতরে যাক, এবং আমরা দেখতে আমরা কয়েক মান এখানে আছে. আমরা দেখতে আমরা এই গণনা টাইপ আছে, যা মিলিয়ন শব্দের প্রতি দৃষ্টিগোচর, যা ঠিক কি আমরা Y অক্ষ এখানে উপর জন্য চয়ন করেছেন. যে যেখানে যে এর থেকে আসছে. আমরা একটি ডাটাবেসের মান, যার মানে কিছু নির্দিষ্ট ডাটাবেস আছে আছে যে এই ডাটা, জীবিত এবং আমরা বিশেষভাবে যে ডেটা অ্যাক্সেস করতে চান না শিশুর নাম যেমন জন্য তথ্য, উল্টোদিকে. তারপর আমরা এই গ্রুপ মূল্য আছে, যা আমরা বছরের দ্বারা উল্টোদিকে খঁুজতে চান বলছে না অন্য কোনো X অক্ষ মান. তারপর আমরা একটি পদ্ধতি আছে, যা কিছু API একাধিক জিনিষ করবেন. অন্য কথায়, এই API 'র অন্যান্য ধরণের তথ্য ফিরে আসতে পারেন, কিন্তু এই ক্ষেত্রে, আমরা X অক্ষ মান যে Y অক্ষ মান ম্যাপিং করতে চান. এর যে কি যে এটা আছে কি না বলছে, এবং আমরা এই অনুসন্ধান সীমা অ্যারে, যা 2 মান আছে. প্রথম এক কি আমরা এখানে দেখতে, যা মান সব উপরের যে প্রথম সামান্য বাক্সের মধ্যে আছে. অন্য কথায়, আমরা যুদ্ধ শব্দ সন্ধান করতে চান, এবং আমরা এটাকে ফিল্টার করতে চান দ্বারা আমেরিকান সাহিত্যের মধ্যে ইংরেজি গ্রন্থে. আমরা এই দেশে, যা মার্কিন যুক্তরাষ্ট্রের আছে. আমরা একটি ভাষা, যা ইংরেজিতে আছে, তাই আমরা এই সব বিভিন্ন অংশ আছে যে সব হয় API-কহন ঠিক কি আমরা চাই. আমরা কি তথ্য যে আমরা ফিরে পেতে এখনো জানি না, কিন্তু আমরা জানি যে তথ্য একটি নির্দিষ্ট ফর্ম নিতে যাচ্ছে. এই যেমন জটিল দিকে থাকে ধরণের, অগত্যা এবং আপনি ব্যবহার করা হবে না এই জটিল একটি এপিআই, কিন্তু আপনি কি এই API গুলি করতে পারি পরিসীমা এবং ক্ষমতা দেখানোর জন্য. একটি অপেক্ষাকৃত সহজ প্রশ্ন সিস্টেম ব্যবহার করে অন্য কথায়, আমরা মূলত: একটি ইনপুট বক্স আছে সঙ্গে কয়েক বিভিন্ন জায়গায় অন্য নির্বাচক. আমাকে ফেরত এখানে জুম আউট. আমরা বিভিন্ন মেটাডেটা নির্বাচনগুলি সঙ্গে ইনপুট বক্স আছে, এবং আমরা Y অক্ষ এবং X অক্ষ নির্বাচনগুলি আছে. আমরা যে অনেক ক্ষেত্র আসলে নেই, এবং আমরা খুব সহজেই আমরা API-এর কিছু সাজানোর অনুসন্ধান সক্ষম দেখতে পারেন এবং তথ্য ফিরে পেতে এবং তারপর এই চার্ট মধ্যে রাখা, যা পরে একটি দরকারী উপায়ে তা প্রদর্শন করতে যাচ্ছে. অন্য একটি উদাহরণ এ যে একটি বিট আপনাকে বলছি আরো পরিচিত করা হতে পারে আমরা ফেসবুক চালু চলুন. ফেসবুক ফেসবুক API-এর গ্রাফ বলা হয়, এবং মূলত কি মানে হল ফেসবুক এই বিশাল ডাটাবেস হিসাবে নিজেকে সূচিত বিভিন্ন অংশে যে সব একে অপরকে নির্দিষ্ট সম্পর্ক আছে প্রচুর. অন্য কথায়, আমি ফেসবুকে ব্যবহারকারী, তাই আমি একটি প্রোফাইল আছে, এবং আমি কিছু বন্ধু আছে, এবং তাদের প্রতিটি প্রফাইল আছে, এবং আমার বন্ধুদের প্রতিটি একটি প্রাচীর, যার ফলে এটি বিভিন্ন মতামত রয়েছে, এবং যারা মন্তব্য প্রতিটি জিনিস পছন্দ এবং যে ধরণের সব আছে. ফেসবুক বিভিন্ন অংশে প্রচুর আছে. এটি একটি অতিশয় জটিল এপিআই, এবং টন আপনি এটি করতে পারেন নাই, কিন্তু এটি আসলে বেশ সহজ ব্যবহার. আমি যাব graph.facebook.com / billyjanitsch যাও দ্বারা শুরু করা যাচ্ছে না, যা আমার অনন্য অ্যাকাউন্টের নাম, এবং আপনার অ্যাকাউন্টের নাম হয় হবে শব্দ কিছু যদি আপনি বাছাই করেছেন, অথবা এটা হতে সংখ্যার একটি স্ট্রিং পারে. আমরা কি ফিরে পেতে বেশ কিছু সাধারণ তথ্য. আমরা দেখতে যে আমি একটি নামের প্রথম অংশ, যা বিলি, নামের শেষ অংশ, যা Janitsch আছে. একটি অনন্য ফেসবুক আইডি আছে যা আমি নেই. আপনি যে আমি পুরুষ এবং দেখুন যে আমি আমার ভাষা সেটিং থাকতে পারে ব্রিটিশ ইংরেজি. অন্য কথায়, আমরা খুব মৌলিক তথ্য এইজন্য এখানে করছি. এটা, কিন্তু খুব বেশী না এটা কি আছে একটি ধারণা দেয় আমাদের. আমরা একই জিনিস ডেভিড Malan যেমন করতে পারবেন. আমি মনে করি তার নাম হল dmalan. আমরা দেখতে ডেভিড Malan একটি অনন্য আইডি আছে. তিনি একটি নাম, নামের প্রথম অংশ, মাঝের নাম, পদবি আছে. আমরা দেখতে যে সে পুরুষ এবং তার মার্কিন ইংরেজী ভাষা সেট আছে. অন্য কথায়, আমরা চমত্কার মৌলিক তথ্য এইজন্য এখানে করছি. এখন, যদি আমরা কি অন্য কিছু চেক আউট করার চেষ্টা? চলুন শুরু করা যাক বলতে আমি কি ডেভিড Malan ফেসবুকে পছন্দ করেনি আগ্রহী. আমি / পছন্দ করতে পারেন. এখন আমরা একটি সমস্যা পাতিত করেছি. আমরা ভুল কিছু সাজানোর যে একটি এক্সেস টোকেন বলেছেন পেয়েছেন এই সম্পদ অনুরোধ করতে প্রয়োজন বোধ করা হয়. কিন্তু যদি আপনি এটি সম্পর্কে মনে করি, আসলে যে বিষয়টি যুক্তিযুক্ত কারণ এটি অদ্ভুত হবে যদি আপনি ফেসবুক এর প্রতি ডাটাবেসের একক অংশ অ্যাক্সেস করতে পারে শুধু থেকে সহজ API-এর কিছু সাজানোর, ডান? অন্য কথায় সম্ভবতঃ, আপনার তথ্য যারা এটা ব্যবহার করতে চায় দ্বারা ব্যবহার করা সম্ভব না. এই ত্রুটি সঠিকভাবে কি মানে. কিছু API নির্দিষ্ট অনুমতি প্রয়োজন, যাতে তারা তাদের ডেটা অ্যাক্সেস. এমনকি আরো উন্নত ফেসবুক মত API গুলি,, নির্দিষ্ট অনুমতি কিছু জিনিষ প্রয়োজন হবে না. আমি এই ডেভিড Malan সম্পর্কে মৌলিক তথ্য দেখতে পারেন. আমি যে সে পুরুষ এবং তিনি মার্কিন যুক্তরাষ্ট্রে বসবাস দেখতে পারেন, কিন্তু সত্যিই আমি গত কিছু দেখতে পারছি না. এই সমস্যা এড়ানোর জন্য এখন পেতে, ফেসবুক আছে এই চমৎকার টুলটি যা গ্রাফ API-এক্সপ্লোরার, এবং যে ধারণা হয় আপনি বাছাই করতে পারেন আপনার নিজের অ্যাকাউন্টের উপর ভিত্তি করে করা নিজের জন্য অনুমতি আপ এবং তারপর যে নির্দিষ্টভাবে আপনার অ্যাকাউন্ট দেখতে দেখতে পারেন. উদাহরণস্বরূপ, যদি আমি না graph.facebook.com/billyjanitsch/likes- ওহো, আমি অনুমান আমি এখানে আমার টোকেন revalidate আছে. ঠিক আছে. যদি আমি যে আবার কি, মহান এখন, আমি দেখতে যে আমি এই বস্তু ফিরে পেতে যা বলছেন যে আমি পুল নুডলস, বিষয়শ্রেণীতে গেম এবং ইসলাম যা হয় না. আমি walruses, বিষয়শ্রেণীতে প্রাণী যা হয় না. এগুলো আমার আসল ফেসবুক পছন্দ. ঐগুলি হতবুদ্ধিকর ধরনের. কিন্তু আমরা এই তথ্য JSON সকল হয় ফিরে দেখতে পারেন. এটি বেশ পাঠযোগ্য. অন্য কথায়, আমরা একটি অ্যারের কিছু সাজানোর যাও তথ্য এই ম্যাপিং আছে, এবং এই অ্যারের প্রতিটি উপাদান একটি hashmap যা মানচিত্র একটি ভালো নাম এবং একটি মত বিষয়শ্রেণীতে. প্রতিটি মত একটি অনন্য আইডি আছে. তথ্য পেতে পারেন যে আমরা বিভিন্ন জিনিস সমস্ত প্রকারের আছে, এবং যদি আপনি একটি CS50 চূড়ান্ত প্রকল্পের জন্য ফেসবুক API-টি ব্যবহার করতে আগ্রহী হন অথবা কিছু জন্য ভালো যে এটা আসলে বেশ doable. মূলত কিভাবে আপনি প্রমাণীকরণ জিনিস স্বমতে আনা হয় ফেসবুক একটি সিস্টেম নামক OAuth, বা ওপেন প্রমাণীকরণ ব্যবহার করে, এবং আমি তা এখন পেতে কারণ OAuth বা বিভিন্ন টাইপ করতে না চান পরিচয় প্রমাণ প্রক্রিয়ার বিভিন্ন API গুলি মধ্যে অনেক পরিবর্তিত হতে থাকে, তাই আমি প্রতিটি এক একটি দীর্ঘ সময় ধরে চালু ব্যয় করতে পারে, কিন্তু তারা আসলে সুন্দর স্বশাসিত. আপনি যদি Google-ফেসবুক API-টি খুব পাঠযোগ্য. পুরো একটি বৈশিষ্ট আছে. উদাহরণস্বরূপ, এই ফেসবুক API-এর জন্য ডকুমেন্টেশন, এবং আমি আপনার ব্যবহারকারী পাতায় নই, তাই আমি দেখতে সবকিছুর প্রকারের সম্পর্কে জানতে পারেন যা যতটা তথ্য পেতে উপলব্ধ এবং বিভিন্ন অনুমতি যে আমি প্রয়োজন তাদের অ্যাক্সেস. হিসাবে আমরা দেখেছি, আমরা নাম বা লিঙ্গ অ্যাক্সেস প্রয়োজন অনুমতি দেওয়া হয়নি, কিন্তু তার পরেও আমরা অধিকাংশ জিনিস জন্য অনুমতি প্রয়োজন. এই পাতা, বা, বরং এই ওয়েবসাইট এছাড়াও আপনি কিভাবে পেতে পারেন বলে দেবে একটি টোকেন নিজেকে প্রমাণীকরণ করতে পারবে. সর্বাধিক পরিচয়প্রমাণ ব্যবস্থা টোকেন কিছু সাজানোর ব্যবহার যেখানে আপনি এই অনন্য মান, যা সত্যিই দীর্ঘ এবং র্যান্ডম স্ট্রিং পেতে, এবং যে ভাবে তারা অনুরোধ করেন, যে আপনি আপনার সাথে তৈরীর করছি যুক্ত করতে পারেন. অন্য কথায়, তারা জানেন যে আপনি কিছু তথ্য তাদের সঙ্গে সন্দেহজনক কাজ করছি না. তারা জানেন আপনি ঠিক কি কি পেয়ে থাকেন. তারা জানেন যে আপনি যে তথ্য দেখতে অনুমতি আছে. আপনি যদি একটি ফেসবুক অ্যাপ্লিকেশন তৈরি করেছি এবং আপনার অ্যাপ্লিকেশন সুনির্দিষ্ঠ ব্যবহারকারীদের আছে, এবং ঐ ব্যবহারকারীদের অ্যাপ্লিকেশন যে তাদের প্রফাইল নির্দিষ্ট অংশ অ্যাক্সেস করতে অনুমতি দেওয়া আছে, তারপর যাহা API কী বা টোকেন যে অ্যাপ্লিকেশন ব্যবহার করা হয় যাও ঐ ব্যবহারকারীদের জন্য তথ্য অ্যাক্সেস করতে সক্ষম হবে. এই জটিল, নিস্বন কিন্তু খুব খারাপ না পারে, এবং যদি আপনি ফেসবুক ব্যবহার করতে চান অত্যন্ত আমি কথা বলতে চাই যে আপনি তাদের API সহ বাজানো কাছাকাছি বিবেচনা. খুব শান্ত, এবং আপনি এটি দিয়ে বিভিন্ন জিনিষ অনেক কিছু করতে পারেন. ব্যবহারকারী যদি অনুমতি এইসব অনুমতি আপনি এমনকি API-এ ফিরে যেতে পারেন এবং বলে আমি আসলে এই ব্যবহারকারী যাও এর প্রাচীর পোস্ট করতে চান, বা আমি তাদের একটি ছবির পোস্ট করতে চাই, এবং যে কেন আপনার খবর ফিড আপনাকে কখনও কখনও সেই বিরক্তিকর জিনিস পাবেন বলছে আপনার বন্ধুর অদ্ভুত সাইট বা ওই জাতীয় কিছু কিছু বাছাই করা এই ভিডিওটি দেখেছেন. কারন যে অ্যাপ্লিকেশন হয়েছে যে ব্যক্তি এর প্রাচীর তে পোস্ট করার অধিকার প্রদান. সামগ্রিক ধারণা, চমত্কার ফেসবুক API-জটিল কিন্তু সত্যিই দরকারী. নিশ্চিতভাবে মূল্য চেক আউট যদি আপনি এখনও চূড়ান্ত একটি প্রকল্পের জন্য খোঁজ করছি. API গুলি আরেকটি স্যুট যা আমি উপরে যেতে চলেছি হয় CS50 API গুলি. আমাকে এখানে জুম. CS50 আসলে করেনি একটি API গুলি পুরো সিরিজ একত্রে আপনি যে একটি চূড়ান্ত প্রকল্পের জন্য বা শুধু জন্য কিছু যা আপনি তৈরি করছেন ব্যবহার করতে পারেন. এবং তারা বেশিরভাগই করছি হার্ভার্ড সম্পর্কিত, এবং তারা HUDS মেনু থেকে আলাদা হয়, উদাহরণস্বরূপ, এই হার্ভার্ড ইভেন্টস এপিআই, যা আপনার একটি তালিকা অ্যাক্সেস করা বিভিন্ন ঘটনা যে হার্ভার্ড এ যাওয়া হয় এবং জিনিস যে সাজানোর. তাই আমরা এর মধ্যে যে কোনো একটিতে এবং এটি জন্য একটি বৈশিষ্ট পেতে এখানে ক্লিক করতে পারেন, যা আপনার কোন API-এর জন্য খুঁজে পেতে সক্ষম, এবং ধারণা করা হয় দেব এটি আপনাকে, এ, বিশেষভাবে কি API-এর থেকে অনুরোধ যাও এবং কিভাবে এটা অনুরোধ. অন্য কথায়, যদি আমি যে সব ঘটনা ঘটছে আগামীকাল হয় চান তারপর আমি সম্ভবত এটি যে একটি নির্দিষ্ট বিন্যাসে তারিখ যে আমি দিতে চান পেয়েছেন, এবং B, এটা সম্পর্কে বলা ঠিক হবে কি আমাকে ফেরত দিতে যাচ্ছে. এটা আমি আপনাকে এই JSON সামগ্রী ফিরে যাচ্ছি বলতে হবে, অথবা মত আপনি দেখতে পারেন, ভিন্ন বিন্যাস আছে. এছাড়াও আপনি একটি CSV হিসাবে তথ্য যেমন জন্য ফিরে আসতে পারেন,. কিন্তু আপনি কি জানেন যে ঠিক কিভাবে তথ্য যখন এটি ফিরিয়ে চেহারা পেতে যাচ্ছে তাই আপনার সাথে কিছু কিছু করার আশা করতে পারেন. আমরা নিচে স্ক্রল এবং দেখুন, যেমন পারেন, যদি আমরা API-টি অনুসন্ধান করতে চান একটি ক্যালেন্ডার পেতে তারপর, আমরা এই বিশেষ URL টি ব্যবহার করতে পারেন এবং এটি নির্দিষ্ট পরামিতি যা তথ্য যে আমরা ঠিক করতে ইচ্ছুক হতে যাচ্ছে দিন. এবং একইভাবে, যদি আমরা ফিরে একটি নির্দিষ্ট ফরম্যাটে তথ্য চান, তারপর আমরা একটি CSV ডেটা আউটপুট এটি অনুরোধ করতে পারেন, এবং যে শুধু অন্য প্যারামিটার যে আমরা API-পার করছি. দুর্দান্ত জিনিস সেখানে কি প্রচুর. আমি স্পষ্টভাবে সুপারিশ CS50 API গুলি চেক আউট করবে. আমি এই হার্ভার্ড খাদ্য API-এ একটি সামান্য বিট জন্য তার বিশেষ করে চলেছি. একটা জিনিষ আমি আসলে ডিজাইন করেছি এই হার্ভার্ড Noms ওয়েবসাইট, যা দিনের জন্য HUDS মেনু উদ্ধার CS50 খাদ্য API-টি ব্যবহার করে. এবং এক্সটেনশন স্কুল লোকেদের জন্য, HUDS হয় হার্ভার্ড ডাইনিং এ সেবা. কি পাবেন এই পৃষ্ঠা থাকে যা প্রতিদিন খাওয়ার জন্য সব রয়েছে, যাতে আমরা লাঞ্চ দেখুন. আমরা বিভিন্ন বিভাগ আছে. আমরা শিম এবং সমগ্র শস্য স্টেশন আছে. আমরা বাদামী চাল স্টেশন আছে. আমরা ব্রাঞ্চ জন্য আমরা এই কয়েক খাদ্য আইটেম আছে দেখতে পারেন. যদি আমরা তাদের উপর ক্লিক করে, আমরা পুষ্টি তথ্য পেতে পারেন. আপনি দেখতে পাবেন এই জাম্বুরা জন্য পুষ্টি তথ্য, যদি আপনি হতাশ হয়েছে. তাই আবার, আমরা ফিরে শেষ মধ্যে এখানে একটি সামান্য বিট পিয়ার চলুন এবং দেখুন কি ঠিক এই এই তথ্য পেতে করছে. এবং এটি সক্রিয় আউট খুব জটিল আসলে হবে না এ সব. এই ফাইলটি একটু মলিন চেহারা, কিন্তু মনে রাখবেন যে এই সম্পূর্ণ ওয়েবসাইট ঘাঁটাঘাটি করা হয়, এবং যদি আমি নিচে স্ক্রল আমরা এই পরিবর্তনের তথ্য ফাংশন দেখতে. এখন, ঠিক পরিষ্কার করা, এই CoffeeScript হবে না, যা একটি ভাষা যে সম্ভবত আপনি আগে দেখা যায় না. কিন্তু এটা বেশ পাঠযোগ্য, তাই আমি এটা দিয়ে যেন সেটি pseudocode বলব. পরিবর্তন তারিখের একটি ফাংশন যে এই তারিখের মান নিয়ে যাচ্ছে, এবং এটি একটি প্রথম মধ্যে, নিতে যা আমরা সম্পর্কে যতটা না যত্ন যাচ্ছে. কিন্তু গুরুত্বপূর্ণ ব্যাপার হল এটি এই তারিখ আছে, এবং এই তারিখের দিন যে আমরা খাবার আইটেম সমস্ত অনুরোধ করতে চাই. এবং তারপরে আপনি দেখতে আমরা একটি বাক্য গঠন সামান্য বিট এখানে আছে, যা মূলত একটি পাঠযোগ্য বিন্যাসে যে তারিখ পার্স. অন্য কথায়, API-টি একটি নির্দিষ্ট ফরম্যাটে প্রয়োজন. আপনি মাত্র নভেম্বর 16th, 2012 খ্রিস্টাব্দ না বলতে পারেন. এটা যে কি না জানি না. এটি একটি বিশেষ বিন্যাসে তারিখ চায়. সমস্ত আমরা এখানে এটা করছেন না দেবার ঠিক যে বিন্যাস, যা বছরের মান এবং তারপর একটা হাইফেন, একটি মাস মান, অন্য হাইফেন এবং তারিখ মান. এবং আমরা বলতে আমরা তথ্য JSON ফলাফল হতে চান. এখন আমরা এই AJAX তৈরীর অনুরোধ করছি, এবং হিসাবে আমি আগে উল্লেখ করেছে, jQuery এই সুপার দরকারী AJAX ফাংশন যা সমস্ত আপনাকে নির্দিষ্ট করা যায় একটি এখানে নিচে কয়েক পরামিতি, এবং এটি আপনাকে ফেরত আপনি ঠিক কি কি করতে চান. আমরা এটাকে যে URL-এ যান আমরা এটি করতে চান এই CS50 খাদ্য এপিআই, যা আমরা বৈশিষ্ট থেকে পেয়েছিলাম. আমরা যে আমরা JSON এবং যে তথ্য চাই আমরা এই তথ্য যা আমরা এখানে সংজ্ঞায়িত করেছি দিতে যাচ্ছেন. এই দিনে আমরা খাবার আইটেম চান. এবং তারপর আমরা সব করতে হবে তা হচ্ছে সাফল্য ফাংশন কিছু সাজানোর সংজ্ঞায়িত, যা মূলত কি যখন API-টি যে তথ্য ফেরৎ. অন্য কথায়, আমরা পরামিতি যে আমরা চাই সব প্যাকেজ আপ করেছি, যা এই ক্ষেত্রে সেই দিন যে আমরা এটা করতে চাই এবং সত্য যে আমরা JSON মধ্যে এটি করতে চান, এবং আমরা এটি API-এ পাঠানো বন্ধ, তাই এখন এপিআই, বলছে অনুমোদন করা হয়, এখানে আপনার তথ্য না, আমি আপনার জন্য সেটা ফেরত. আমরা সাফল্য ফাংশন, যার অর্থ দেওয়া আছে যা API ' সফলভাবে কিছু তথ্য ফেরৎ কি, আমরা এটি দিয়ে করবেন? এবং এটি সক্রিয় যে সমস্ত আমরা কি এই আপডেটে মেনু ফাংশন কল করা হয় যাই হোক না কেন API-ফিরে করেনি সঙ্গে, তাই আমরা যে জন্য অনুসন্ধান করতে পারেন এবং দেখুন যে সমস্ত আমরা করছেন নতুন সিন্টেক্স ব্যবহার করে একটি গুচ্ছ এখানে যাও HTML এবং আপডেট এই নতুন তথ্য সন্নিবেশ করুন. এই কি যাবে এটা আমরা উভয় দিকে এই তীর আছে, এবং আমরা এখানে ক্লিক করতে পারেন, এবং এখন আমরা পরবর্তী দিন জন্য এ তথ্য খুঁজছেন এবং আবার জন্য পরের দিন, এবং প্রতিটি সময় এটি যে তারিখের আপডেট এর মান ও API অনুসন্ধান, ফিরে পাবার কিছু তথ্য এবং সাইটে এটি নির্বাণ. আবার, আপনি সুপার, সুপার দরকারী, দেখতে পারেন. এই অ্যাপ্লিকেশন গ্রহণ করে কয়েক ঘন্টা সম্পর্কে একসাথে হ্যাক, এবং আমি কিছুটা অভিজ্ঞতা অবশ্যই,, কিন্তু আপনার CS50 চূড়ান্ত প্রকল্প আছে খুব ভালো কিছু প্রত্যাশা করতে পারেন. API গুলি প্রচেষ্টা পরিমাণ যে তারা নিতে জন্য শক্তিশালী সুপার হয়. শেষ জিনিস আমি পুনরালোচনা চলেছি হয় বিস্তৃতভাবে কয়েক আরো API গুলি. আমি তাদের মধ্যে যতটা না যতটা তারা বিশেষভাবে কি করবেন, কিন্তু আমি সেখানে কি এর একটি ধারণা দেব. 2 সত্যিই দরকারী বেশী, যদি আপনি তথ্য বিশ্লেষণ বা ঠাহর করতে আগ্রহী হন বা ওই জাতীয় কিছু, হয় Freebase এবং উইকিপিডিয়া. উইকিপিডিয়া, সম্ভবতঃ সমস্ত আপনি-জানি একটি বিনামূল্যের অনলাইন বিশ্বকোষ, এবং প্রকৃতপক্ষে এটি একটি API-টি হয়েছে, তাই আপনি যদি চান, যেমন, সব গ্রন্থে এবং অক্টোপাস জন্য নিবন্ধ পেতে আপনি খুব সহজেই করতে পারেন না যে. শুধু হেই বলে, উইকিপিডিয়া এপিআই, আমি এই তথ্য হিসাবে ফিরে চাই, এবং আমি এই বিন্যাসে, চাই এবং চাই নিবন্ধ আমি চাই হয় অক্টোপাস, এবং খুব তাড়াতাড়ি তা ফেরত দিতে হবে যে তথ্য. যে সত্যিই দরকারী যদি আপনি এই সাইটটির কিছু সাজানোর করতে চান হতে পারে যে একটি উইকিপিডিয়া বা যে মত দর্শকদের জন্য ভাল. ফিব্রেইস একই ধরণের, যদিও এটা একটু কঠিন যতটা API '. উইকিপিডিয়া ভালো ফিব্রেইস যে এটি একটি অনলাইন বিশ্বকোষ হয় যা প্রচুর এবং বিভিন্ন বিষয়ের সমস্ত প্রকারের সম্পর্কে বিভিন্ন তথ্য উপস্থিত রয়েছে প্রচুর, কিন্তু এটি একটি রিলেশনাল ডাটাবেস, যা উইকিপিডিয়া থেকে কিছুটা ভিন্ন সঞ্চিত. উইকিপিডিয়া নিবন্ধ এবং তার নিবন্ধে লিঙ্ক অন্যান্য নিবন্ধ আছে, কিন্তু অধিকাংশ অংশ জন্য, যদি আপনি অক্টোপাস জন্য তথ্য চাই, আপনি অক্টোপাস নিবন্ধে যেতে, যে তথ্য পেতে, এবং আপনার লেখার একটা গুচ্ছ আছে সম্পর্কে অক্টোপাসরা, তাই দারুণ. ফিব্রেইস একটি যে জটিলতর পদ্ধতিতে কাজ করে একে অপরের সাথে সম্পর্কিত সবকিছু হয়. অন্য কথায়, যদি আমরা অক্টোপাস অনুসন্ধান করছেন তাহলে এর সাথে জড়িত শ্রেণীর একটি গুচ্ছ আছে. উদাহরণস্বরূপ, এটি একটি প্রাণী, এটি জীবন ডুবো, এটি একটি নির্দিষ্ট শরীরের তাপমাত্রা আছে. আমি জানি না. এবং এই শ্রেণীর সব সংযোগগুলি অন্যান্য জায়গা যেখানে আপনি যেতে পারেন যাও যে একই সঙ্গে বিষয়শ্রেণীতে জিনিষ দেখতে. অন্য কথায়, অক্টোপাস তথ্য সংকলনের সমস্ত পশুদের জন্য সেট তথ্য একটি লিঙ্ক ধারণ করে, এবং যে সম্পর্কে ডাটাবেসের মধ্যে প্রায় সরাতে সত্যিই দ্রুত দেওয়া হবে. এই খুব দরকারী যদি আপনি তুলনা করছেন ভালো কিছু হতে পারে. একটি নির্দিষ্ট বিষয় দেয়া অন্য কথায়,, আপনি দেখতে চান কি কি তা এবং এর সাথে সম্পর্কিত কি কি এটা সম্পর্কিত না তা দেখতে. এর জিনিস যে সাজানোর. এটা অনেক ভাবে হতে পারে দরকারী. আপনি যদি একটি চ্যালেঞ্জের আরো জন্য এবং খুঁজছেন যাও যাও আরো কিছু জটিল জিনিষ করতে পারা করছি আমি Freebase API-এ একটি বর্ণন গ্রহণের কথা বিবেচনা করবে. কিন্তু অধিকাংশ ক্ষেত্রেই, উইকিপিডিয়া একটি খুব সহজ জায়গা যতটা তথ্য পেতে যান. অন্য স্থান যে আমি তাকান করবেন তা Last.fm, এবং আমি আসলে করছি সাইটে যেতে যাচ্ছে কিছু কিছু মানুষের ক্ষেত্রে, কিন্তু পরিচিত না Last.fm মূলত একটি সঙ্গীত মজা এবং সুপারিশগুলি ওয়েবসাইট. আপনি একটি একাউন্ট তৈরি করতে পারেন. আপনি আপনার মিউজিক প্লেয়ার থেকে আপলোড সঙ্গীত শুরু করতে পারেন যাও ওয়েবসাইট, এবং এটি মূলত দেবার সঙ্গীত প্রস্তাবনা আপনি শুরু হবে আপনি কি শুনতে উপর ভিত্তি করে. উদাহরণস্বরূপ, যদি আপনি আপনার প্রোফাইলে যান পাতা-এই খনি- আপনি ট্র্যাক শোনার সম্প্রতি একটি তালিকা আছে দেখতে পারেন. আপনি সামগ্রিক প্রিয় শিল্পী, আর যে ধরণের সব দেখতে পারেন, এবং আবার, একটি Last.fm পিছনে বড় API-এ আছে,  এবং আপনাকে অনেক এবং সত্যিই দুর্দান্ত জিনিস প্রচুর এটা ব্যবহার করতে পারেন. উদাহরণস্বরূপ, আমার এক বন্ধুর এর পাতা, যারা এই ওয়েবসাইটে Last.fm সরঞ্জাম নিয়ে যেতে হবে. এটি আসলে অন্য যে প্ল্যাটফর্ম Last.fm API-র উপর ভিত্তি করে গড়ে, এবং এটি প্রশংসনীয় আকর্ষণীয় একটা সংখ্যা আছে. যদি আমি আমার ইউজার নেম দিয়ে লগ ইন করুন, উদাহরণস্বরূপ, আমি একটা ট্যাগ ক্লাউড উৎপন্ন এটা জিজ্ঞাসা, যেমন পারেন, এবং যে কি না হবে এই সম্পর্কে ফেরত দিতে হয় একটি চিত্র সব বিভিন্ন ঘরানার এবং জিনিস যে সাজানোর যে আমি শুনতে চাই. কেমন এই করছেন? অত্যন্ত মূলত এটি এখানে Last.fm API-এর বলছে এর এই ব্যবহারকারী. আমি প্রতি গানের রীতি যে তারা কখনও করেছি শোনার জানতে চাই, এবং আপনি Last.fm API-এ একটি সুন্দর সহজ AJAX কল দ্বারা তা করতে পারে. আপনি একটি বড় তালিকা ফিরে পেতে, তারপর পাবেন এবং সম্ভবত অন্য কিছু উপাদান কাজ হচ্ছে একটি শব্দ মেঘ মধ্যে এটি চালু কিন্তু সামগ্রিক আপনি দেখতে পারেন খুব অ্যাক্সেস সহজ এবং খুব সহজে ব্যবহার করার জন্য. একটা সংখ্যা জন্য সত্যিই চমৎকার. আমি মনে করি যে এর সম্পর্কে সমস্ত আমি সামগ্রিক বলবো. গত এক জিনিস আমি API গুলি সম্পর্কে সাধারণ উল্লেখ করব যে আপনি কখনো কখনো কিছু বলা হার সীমিত মধ্যে চালানো হবে, এবং হার সীমিত ধারণা হয় আপনি API গুলি অপব্যবহার করতে না চান. অন্য কথায়, এটা সত্যিই চমৎকার যে এই ওয়েবসাইটের একটা অনেক API গুলি আছে আপনি যে এবং বিনামূল্যে ব্যবহারের জন্য যেতে পারেন. যাইহোক, আপনি যদি লাখ লাখ বা ​​প্রতিদিন অনুরোধ বিলিয়ান করছেন, উদাহরণস্বরূপ, আপনি যদি একটি অসীম লুপ যে অসীম এর অনুসন্ধান আটকে করছি API-এর কিছু বাছাই করা এবং পাওয়ার একটি তথ্য বিপুল পরিমাণ ফিরে, স্পষ্টত যে ভাল না, তাই কি API গুলি অনেক কাজের এই হার বৈশিষ্ট্য আছে সীমিত যে আপনি কেবল প্রতিদিন 1,000 IP ঠিকানা অথবা যে ভালো কিছু প্রতি অনুরোধ করতে পারেন. এবং যদি আপনি টেস্টিং এবং অনেক জিনিস যে সাজানোর করছেন, আপনি যে কখনও কখনও দেখা দিয়েছে এবং এটি আপনি পাবেন হঠাৎ শাট বন্ধ করা এবং কোন বলতে, আমি কোনো আরো তথ্য প্রদান করতে হবে না. আপনি কি করতে চান সেই নিয়ম অনুযায়ী খেলা. আপনি কি নিশ্চিত যে আপনি API-এর বৈশিষ্ট যত্ন সহকারে পড়ুন করতে চাই. যদি আপনি এটি নির্দিষ্ট নিয়ম মত সাথে, শুধুমাত্র প্রতিদিন এক্স কোয়েরি করতে পারেন অথবা আপনি শুধুমাত্র ডাটাবেসের একটি অংশ একটি নির্দিষ্ট সংখ্যক বার অ্যাক্সেস করতে পারেন অথবা এরকম কিছু একটা আপনি কি নিশ্চিত যে আপনি লাগিয়া থাকা করতে চাই. যতদিন আপনি যারা নিয়ম মধ্যে খেলা আপনি সম্ভবত একটি সত্যিই চমৎকার সময় API গুলি ব্যবহার করতে হবে. তোমার সামগ্রিক takeaway হয় API গুলি সত্যিই, সত্যিই দরকারী. এর প্রায় কোনো বড় আছে ওয়েব সার্ভিস জন্য এখন পর্যন্ত কোনো API. প্রায় কাছাকাছি গুগুল Suite-র সরঞ্জাম, Google Maps-এ, গুগল আর্থ কোনো অংশ, Gmail, Google ক্যালেন্ডার, সেগুলো সব API গুলি আছে. আপনি তাদের উভয় গেট সার্ভার থেকে তথ্য ব্যবহার সার্ভারে তথ্য প্রেরণ করতে পারেন. অন্য কথায়, আপনি যদি একটি ক্যালেন্ডার অ্যাপ্লিকেশন করতে চেয়েছিলেন যে আপডেট করতে পারেন কেউ এর Google ক্যালেন্ডার, যে জন্য সেখানে কোনো API. আপনি যদি কিছু যে আপনি যেখানে বলা যাচ্ছে করতে চাই একটি নির্দিষ্ট ঠিকানা অবস্থান হল আপনি যে জন্য Google Maps API ব্যবহার করতে পারেন. API গুলি হল fantastically দরকারী, এবং তারা সর্বত্র করছি. আপনি যদি ধারণা কিছু সাজানোর আগ্রহী হন, হয়ত সেখানে একটি API-সম্পর্কিত যে আপনি অনেক তথ্য পেতে ব্যবহার করতে পারেন খুব দ্রুত এবং খুব সহজভাবে. আপনি যদি এখনও একটি প্রজেক্টের জন্য বা যদি খোঁজ করছি আপনি শুধু কাছাকাছি খেলতে চান সাধারণ কিছু, API গুলি স্পষ্টভাবে হয় মূল্য করছেন. ধন্যবাদ, এবং আমি কোন প্রশ্ন থাকতে পারে না যে আপনি উত্তর খুশি. ঠিক আছে, অনেক ধন্যবাদ. [CS50.TV]