[Powered by Google Translate] [Семинар] [програмер је Увод у АПИ] [Били Јанитсцх] [Универзитет Харвард] [Томи МацВиллиам] [Ово је ЦС50.] [ЦС50.ТВ] Здраво свима, ја сам Билли, а данас ћу да говорим о АПИ, или програмирање апликација интерфејс, посебно у контексту ЦС50 финалних пројеката и такве ствари. У принципу шта је АПИ? У веома ширем смислу, то је нека врста средњег човека који омогућава 2 комада софтвера да комуницирају једни са другима. То је врста веома широка дефиниција и није то релевантно за оно што гледамо. Оно што заиста желимо је нека врста корисног средњег тла да комуницира са неком врстом базе негде. Ево графикон, иу основи идеја је да смо апликација, а ми желимо да се подаци из базе података, али ми не желимо да директно упита базу података. Уместо тога, ми желимо да прођемо кроз ову врсту средње човека, АПИ. Идеја да је број 2 и 3 на графикону су оба ће бити веома компликовано и неуредно. Другим речима, када је АПИ упита базе података, вероватно ће бити користећи СКЛ столове и све те врсте ствари, а ми смо научили нешто о томе у ЦС50, али све у свему, Приметили сте да је помало боли. Постаје веома, веома компликовано и неуредна, посебно када правите комплексне упити и такве ствари. Оно што заиста желимо је нека врста корисних и једноставан начин да да податке, а то је идеја која стоји иза бројева 1 и 4 на графикону. Другим речима, желимо заиста једноставан начин да исприча шта АПИ да би за нас и заиста једноставан начин да вратимо те податке. Постоји један главни пут који су подаци се обично шаљу и примају, што је ЈСОН, или ЈаваСцрипт Објецт Нотатион. То може да варира мало колико и како сте послали захтев АПИ. Другим речима, ако желите неку одређену количину података, како сте рекли да се АПИ да подаци могу да се разликују мало. Обично то подразумева доношење неку мреже захтев. Другим речима, приступ некакву УРЛ који ће рећи АПИ тачно оно што желите, али подаци се готово увек шаљу назад, Другим речима, број 4 у ЈСОН. Шта је ЈСОН тачно? Као што сам рекао, ЈаваСцрипт Објецт Нотатион. То је у основи универзални стандард за пренос и пријем података. Идеја је да имате ове 3 категорије ствари. Имате низове, хасхмапс и примитивних. Низови и хасхмапс сте гледали мало у ЦС50, али сте некако добио веома строгу осећај шта су. Другим речима, са низовима знате да они упишите граница, тако да имате само једну врсту типа који иде у читавом низу. ЈСОН је много блажа са том ствари. У основи идеја је да изгради овај објекат, који се састоји од било које од ове 3 ствари и може бити састављена од више оних од њих, а они могу бити угњеждени. Ево нека врста пример ЈСОН, који је ове витичасте заграде овде представљају своју ХасхМап, и ХасхМап је у основи мапирање од неке врсте тастера некој врсти вредности. Ви ћете овде видети да имамо пропертиес кључ, и да је мапирање на низу, што је цела ова ствар. Ми видимо још један елемент ХасхМап, што је овај тастер исАвесоме, које мапе на примитивне вредности истина, другим речима, боолеан. Примитивци могу бити ниске. Они могу бити бројеви. Они могу бити боолс, тако нешто. И ви видите садржај овог низа то простори бодова има 2 жице у њему, само-сличне и дивно. То су 2 особине ЈСОН, и видимо да ЈСОН је страва. Да погледамо да мало ближе ја ћу да изгради сложенији пример ЈСОН овде. Почнимо са низа, на пример, само празну низ. Али то је нека врста досадно, па ћемо да га напуни мало, и као што сам рекао, низови у ЈСОН су тип граница, па бисмо могли и овде имамо ниску, што је здраво, и то је још један елемент тог низа. А исто тако, могли бисмо додати овде хасхмаппинг, који ће имати неколико мапирања. То ће имати мапирање из имена на ниску Билија. Имамо мапирање од имена до Билија, и имамо мапирање омиљена боја у плаву. То је у основи добар пример ЈСОН. Некако добија у-Упс, треба зарез тамо-све о различитим деловима њега. Опет, то није упишите везан уопште, тако да можете имати било какве врсте унутра шта желите, а идеја је да је само-сличан. Другим речима, ово овде је ЈСОН објекат, као што је цела ова ствар, јер је управо ово, тако да можете имати примитивна бити објекат, Низ бити предмет или ХасхМап буде предмет. Као што можете видети врста, ЈСОН је стварно корисно у смислу да је тако разноврстан. Можете имати све могуће податке које можете замислити налазе у ЈСОН. То га чини веома лепо језик за коришћење са АПИ јер то прилично значи да без обзира шта подаци које желите тамо ће бити неки начин да га вратим у ЈСОН. Неколико особине које чине ЈСОН посебно добар за овакве ствари. Као што можете видети, у поређењу са многим стварима које сте радили са у ЦС50 то је релативно лако за читање и врло лако писати. Можете га алинеја да ли желите, као што сам радио у том примеру, што вам даје леп, леп верзију коју можете видети заиста добро. Али осим тога, то је такође једноставан за читање и писање за рачунар. Другим речима, то је лако да анализирамо и лако за кодирање, што значи да је прилично брз колико читања података тиче, и ЈСОН може генерисати веома брзо. Такође је врло лако да приступе различитим деловима ЈСОН и те ствари. То је лепо, а осим тога, чињеница да је само-сличан, Другим речима, чињеница да можете имати ЈСОН ЈСОН унутар унутар ЈСОН је стварно лепо за складиштење података. Други део који је углавном заиста корисно у раду са АПИ је јКуери. Ви сте научили мало ЈаваСцрипт-а, што је добар начин да манипулишу ХТМЛ и ЦСС у оквиру сајта. Али то може бити врста бол да кодом у обичном ЈаваСцрипт, углавном због тога што је ЈаваСцрипт заиста вербосе језик. Морате да научите много синтаксе, и само да радим врло једноставне ствари потребно је много кода, тако јКуери је библиотека за ЈаваСцрипт. Другим речима, то је Јава фајл који можете учитати и онда користите јкуери функције да ураде одређене ствари. А јКуери суштини чини ваш живот много лакше. То поједностављује оно што би узети стотине линија у ЈаваСцрипт-доле на неколико линија у јКуери. То је посебно корисно ако користите АПИ, јер генерално како ћете да приступите тако што је АПИ АЈАКС захтева, и верујем да је Дејвид помиње у предавању које АЈАКС захтева углавном када правите мрежни захтев за неком серверу и да се вратим неку врсту података и ажурирање тренутно страницу. Док у обичном ЈаваСцрипт да би узети луде број линија да потврди све заглавља и да све те врсте ствари, јКуери има заиста једноставну функцију која се зове АЈАКС, и све што треба да урадите је да даш у АЈАКС параметре које желите да дате АПИ, локација АПИ и сваки додатни врста опција које желите да подесите. То је стварно лепо и врло корисно за овакве ствари. То је све што нам је потребно да почну да нам руке прљаве у АПИ. Идем да доведе до неколико примера и истражи своје различите особине и зашто су они корисни за различите врсте ствари. Прва ствар коју сам заправо ћу вам показати нешто што ја радим на у мојој истраживачкој лабораторији, која је Нграм Виевер иу основи идеја о Нграм Виевер је можете тражити неку врсту речи или фраза и видите колико често се то појављује у одређеном сету текста током времена. Овај пример је овај скуп података о бебама који су рођени у Њујорку између 1920 и 2000. Можемо тражити, на пример, за име Џенифер, и видимо да пре-1960 стварно није користио све то много, и онда као што смо добили у позним годинама то постаје све више користи. Ми такође може да уради поређења, тако да ако се упореди Џенифер, на пример, Томас, можемо видети Томас је био прилично распрострањена на читавој историји, док је Џенифер скорија име. Можемо да урадимо такве ствари. Како ова апликација ради? У суштини, ради преко АПИ-ја. Другим речима, овде имамо одређене параметре. Имамо параметре шта заправо траже, које су ова имена, а онда ћемо имати неколико других својстава, као И осе и Кс оса. Можете видети да имамо неколико различитих опција што се тиче Време резолуција да користите и да ствари. Имамо ове опције што се тиче онога што ми заправо желимо подаци из базе података, и желимо да добијемо те податке назад у неки користан начин. Обично, ако смо упита базе података директно би некако било бол да радим јер вјероватно ови подаци о беби имена живи у некој бази података негде, и то ће бити заиста компликовано да га упита ручно и одлучи шта података да се врате. Другим речима, ми смо само стало Џенифер и Томом у овом случају, а ми само стало на одређеном осе и све те врсте ствари. Како ћемо добити око овога? Да копају у том АПИ мало ћу да вам покажем још један пример ове платформе који користи нешто другачији скуп података. Овај скуп података, уместо да буде беби имена, је уствари читава штампање података Објављивање Опен Либрари, који је гигант извор текстова објављених током последњих 100 година или тако. Идеја је да ми имамо ту цомпоситори о милионима и милионима текста, што сада можемо тражити за различите речи и фразе за Ево примера који се разликује мало другачије од претходног примера Показао сам ти, што је имамо ова 3 упите за претрагу, рат, рат, и француска реч за рат, који је псеудоним. И ми траже у року од 3 различитих делова укупне базе података. Другим речима, у овом првом упиту само трагате у САД, У другом само у Великој Британији, а трећи само са радовима објављеним у Француској. Ми видимо неке интересантне обрасце појавити. На пример, ми видимо овде који- Упс, ја сам забрљао оса мало, али можете видети праву у овом опсегу овде око грађанског рата било је велико класу у америчком издању али не тако велики скок у другој два, а то је очигледно, јер Амерички грађански рат се дешава у том тренутку. Можемо видети неке кул ствари тамо, али оно што нам је заиста стало је како смо добили ове податке. Ја ћу вас одвести иза сцене у овој апликацији у мало. Уредан трик је ако радите са сајта и врсте желе да знају шта се дешава иза сцене, можете да отворите алатке за програмере. Ја ћу користити Цхроме Девелопер Тоолс, а да се онима можете урадити контролу, смену, Ј, и да вас води до ЈаваСцрипт конзоли. Постоји неколико картица овде. Сви они могу бити прилично корисна под различитим околностима, али бринем о мрежи Картица сада, а ја заправо морати да освежите да се тај рад. Ох, извини. Она воли да насумични пример. Ок, ми ћемо користити овај пример уместо тада. Идеја је овде је ово АПИ и можете видети шта АПИ враћа. То је оно што апликација се вратимо из АПИ што је послао тај захтев. Дозволите ми да увећате мало, и ми у суштини се види да је то само низ кључних вредности парова у ЈСОН. Другим речима, ми имамо овде ХасхМап који је мапирање вредности. Другим речима, то је мапирање година на вредности. У 1765 год реч коју је првобитно тражили користи 90 пута од 1 милион, тако да смо се вратим овај резултат. Није баш ЈСОН пошто овде имамо ову малу резултат заглавље, али приметите да цео овај предмет овде је само велика ЈСОН грудвица. Имамо низ овде који садржи целу ову елемент, и можете видети да цела елемент завршава тамо, и онда имамо једну велику елемент који иде скроз доле до краја, а да се овде завршава. Имамо заиста велики низ са 2 објектима у њему, и сваки од тих објеката је ХасхМап. Можете видети у свакој од тих хасхмапс имамо мапирање ове вредности индекса до 0 и ова вредност је вредност на другу ХасхМап, што опет је мапирање к оси вредности И осе вредности. Можете видети ЈСОН добије мало компликовано, али све у свему, то је заправо веома корисно, и то је врло лако да приступите у односу на други различити облици нотацији. Што се тиче онога што смо заправо шаљемо податке АПИ добити, Ја идем у задњем крају овде мало. Ово је велики ЈаваСцрипт фајл који је руковање све интеракције веб апликација, па ми не бринемо о већини, али ми је стало нешто од тога. На пример, ми бринемо о овом буилдКуери функције, и идеја ове функције је у основи то гледа около стране, схватите шта корисник жели да упита, другим речима, провере те кутије у којима они инпут своје термине за претрагу, провере различите И и Кс оса вредности које су они изабрали и све такве ствари, и то це да пљује ову упита вредност, која онда могу послати ван на АПИ. Ово изгледа компликовано, и то је прилично компликовано али шта ћу да радим, у ствари, ја сам већ ово радим, што је одлично, је да ћу добити конзолу да одштампате тачно да упита вредност да се то слања на АПИ. То је заправо овде. Извини, то излази доста ствари. Али то је оно што ми је стало, овај објекат баш овде. То је питање објекат. Другим речима, то је управо оно што веб апликација шаље на АПИ, па хајде да погледамо унутра мало и видимо да имамо овде неколико вредности. Ми видимо да имамо ту врсту бројања, што је појава на милион речи, што је управо оно што смо изабрали у И оси овамо. То је место где то долази. Имамо базу података вредност, што значи да постоји нека одређена база да ови подаци се живи, а ми желимо да се конкретно приступ тим подацима за разлику од беба имена подацима, на пример. Онда имамо ову група вредност, који је рекао да желимо да претражујете по години, за разлику од било који други Кс оса вредност. Онда имамо метод који неки АПИ ће учинити више ствари. Другим речима, овај АПИ се такође вратити и друге врсте података, али у овом случају, желимо да мапирање к оса вредности на и оси вредности. То је оно што се то говори да тамо раде, и ми имамо тај ограничава претрагу низ који садржи 2 вредности. Први је оно што смо овде видели, што је све вредности садржане у том првом малу кутију на врху. Другим речима, желимо да тражимо реч битку, и желимо да га филтрирате од енглеских текстова у америчкој књижевности. Ми имамо ову земљу, која је САД. Имамо језик, који је енглески, тако да смо све ове различите делове да су сви говорили АПИ тачно оно што желимо. Ми не знамо шта је податак да се вратимо још, али ми знамо да подаци ће узети одређени облик. Овај пример је некако на компликоване страни, и не би нужно користити АПИ овај комплекс али то је да вам покаже опсег и снагу онога АПИ може да уради. Другим речима, коришћењем релативно једноставног упита систему ми у суштини имамо поље за унос са неколико других селектора на различитим местима. Дозволите ми да се умањили овде. Имамо улазни кутију са неколико различитих метаподатака селекцијама, и имамо И осу и к оси селекције. Ми заправо не морају да се много поља, и можемо лако видети да смо у стању да упита некакав АПИ и добити податке назад, а затим ставите га у овој табели, који је онда ће то приказати на користан начин. Да погледамо још један пример који би могао да буде мало више упознати са вама ћемо да се окрену на Фацебоок. Фацебоок АПИ зове Фацебоок Граф, иу суштини шта то значи је Фацебоок себе види као ове масовне базе од много различитих делова који све имају одређене везе једни са другима. Другим речима, ја сам корисник на Фацебоок-у, тако да имам профил, и ја такође имају одређене пријатеље, а свака од њих има профил, и сваки од мојих пријатеља има зид, који има различите коментаре на њега, и свака од тих коментара има воли и све те ствари. Постоји много различитих делова на Фејсбуку. То је изузетно сложен АПИ и има тона можете да урадите са њом, али то је заправо прилично једноставан за коришћење. Идем да почне тако што ћете грапх.фацебоок.цом / биллијанитсцх, што је моје јединствено име налога, а ваше име налог ће бити или нека врста речи, ако сте га изабрали, или је то само може бити низ бројева. Оно што ми вратимо прилично основне информације. Видимо да имам име, што је Били, презиме, што је Јанитсцх. Постоји јединствена Фацебоок ИД који имам. Можете видети да сам мушко и да имам свој језик поставку британском енглеском. Другим речима, ми овде видимо веома основне информације. Није превише, али то не даје нам идеју о томе шта је тамо. Можемо да урадимо исту ствар Давид Малан, на пример. Мислим да му је име дмалан. Видимо Дејвид Малан има јединствени ИД. Он има име, име, средње име, презиме. Ми такође видимо да је он мушко и има свој језик скуп на америчком енглеском. Другим речима, ми овде видимо прилично основне информације. Дакле, шта се дешава ако покушамо да проверимо нешто друго? Рецимо да сам заинтересован за оно што Дејвид Малан је волео на Фејсбуку. Ја могу да урадим / воли. Сада смо покренули у проблему. Имамо некакву грешку која каже приступну токен је потребно да затражи овај ресурс. Али ако мислите о томе, да заправо има смисла, јер би то било чудно ако би могао приступити сваки део базе података Фацебоока Управо из неке врсте једноставне АПИ, зар не? Другим речима, претпоставља се ваша информација не може приступити било ко ко га жели. Ова грешка је управо оно што то значи. Неки АПИ захтевају одређене дозволе да би приступили својим подацима. И још напреднији АПИ, као и Фацебоок један, ће захтевати одређене дозволе да ураде одређене ствари. Видим ову основну информацију о Давиду Малан. Видим да је он мушко и да живи у САД, али ја стварно не могу видети ништа прошлости то. Како би се ово за сада, Фацебоок има овај леп алат који је граф АПИ истраживач, а идеја да је можете некако чине дозволе за себе на основу свог налога и онда видите ствари које конкретно ваш налог да прегледате. На пример, ако ја урадим грапх.фацебоок.цом/биллијанитсцх/ликес- Упс, мислим да овде продуже свој жетон. Ок. Ако то урадим поново, супер, сад видим да сам се вратио овај објекат која каже да ја волим базен резанце, који су у категорији Игре и играчке. Волим моржеви, који су у категорији животиња. Ово су моја стварна Фацебоок воли. Они су некако непријатно. Али ми можемо видети овај податак се све враћа у ЈСОН. То је прилично читљив. Другим речима, имамо овај мапирање података неком низу, и сваки елемент овог низа је ХасхМап која пресликава назив као и категорија као. Сваки попут има јединствени ИД. Постоје све врсте различитих ствари података које можемо добити, а ако сте заинтересовани за коришћење Фацебоок АПИ за ЦС50 завршног пројекта или за било шта као да је то заправо сасвим изводљиво. У суштини како се око веродостојности ствари је Фацебоок користи систем назван ОАутх, или отворите аутентикација, а ја не желим да улазим у то сада, јер ОАутх или другачији тип овере тежи да доста разликују између различитих АПИ, тако да сам могао да проведу дуго времена иде преко сваке један, али они су заправо прилично саморазумљиво. Ако Гоогле Фацебоок АПИ-је веома читљив. Постоји читав спец. На пример, ово је документација за Фацебоок АПИ, и можете видети да сам на страни Усер, тако да могу да науче све о различитим врстама ствари које су на располагању да се колико год је податке и различите дозволе које ми је потребно да би им приступили. Као што смо видели, не морамо дозволе за приступ име или пол, али осим тога ми треба дозвола за већину ствари. Ова страница, односно, овај сајт ће вам рећи како да се знак да може да се аутентификује. Већина аутентичности системи користе неку врсту токена где сте добили ову јединствену вредност, што је заиста дуго и случајни стринг, и на тај начин они могу удруживати захтев да правиш са вама. Другим речима, они знају да ви не радите ништа сумњиво са својим подацима. Они тачно знају шта циљаш. Они такође знају да имате дозволу да видите ту информацију. Ако сте направили Фацебоок апликација и ваша апликација има одређене кориснике, а ти корисници су дозволиле да се апликацији да приступи одређеним деловима свог профила, онда шта год АПИ кључ или знак да је апликација користи ће моћи да приступе подацима за те кориснике. Ово можда звучи компликовано, али није лоше, и ако желите да користите Фацебоок ја високо бих препоручио да сматрају се играју са својим АПИ. То је веома кул, а ви можете да урадите много различитих ствари са њом. Уколико корисник вам даје ове дозволе можете чак вратити на АПИ и кажем да заиста објавите на зиду овог корисника, или желим да их поставите фотографију, и то је разлог зашто на вести феед понекад ћете добити оне досадне ствари изрека ваш пријатељ је гледао овај видео на некаквој чудној сајта или нешто слично томе. То је зато што апликација је добила могућност да постављате на зиду те особе. Укупан идеја, Фацебоок АПИ је прилично компликовано, али такође веома корисна. Дефинитивно вреди да ли сте још увек у потрази за коначном пројекат. Други пакет АПИ да идем преко је ЦС50 АПИ. Дозволите ми да увећате овде. ЦС50 је заправо ставио заједно читав низ АПИ које можете да користите за коначни пројекат или само за све што сте одлука. И они су углавном везани Харварду, а они зависе од Худс менија, на пример, за ову Харвард догађаји АПИ, који ће вам омогућити да приступите листи различити догађаји који су се дешавају на Харварду и такве ствари. И тако можемо да кликнете на било који од њих и добити спецификацију за њу, које ћете моћи да пронађете за било АПИ, а идеја је омогућава вам да знате,, конкретно шта да тражи од АПИ и како да га траже. Другим речима, ако желим све догађаје који се дешавају сутра онда морам да је очигледно да дају тај датум који желим у одређеном формату, и Б, она ће ми рећи тачно шта ће да врати мени. То ће рећи ћу вам вратити тај ЈСОН објекат, или као што можете видети, постоје различити формати. Такође можете да вратите податке као ЦСВ, на пример. Али, знате тачно како да се подаци ће изгледати када га вратим тако да можете да очекујете да урадим неке ствари са њим. Можемо идите доле и види, на пример, ако желимо да упита АПИ да се календар, онда можемо да користимо ову конкретну адресу и да дају одређене параметре који ће бити подаци које смо управо желели. А исто тако, ако желимо податке назад у одређеном формату, онда можемо тражити да излаз података у ЦСВ, и то је само још један параметар који смо пролази у АПИ. Много занимљивих ствари да се ураде тамо. Дефинитивно бих препоручио одјавите ЦС50 АПИ. Идем да погледам ову Харвард хране АПИ посебно за мало. Једна ствар коју сам стварно сам дизајнирао је овај Харварду Номс сајт, који користи ЦС50 хране АПИ да преузме Худс мени за тај дан. А за људе за проширење школе, Худс је трпезарија услуга на Харварду. Оно што добијате је ова страница која садржи све од јела за тај дан, тако да видимо ручак. Имамо неколико различитих категорија. Имамо пасуљ и цело зрно станицу. Имамо браон пиринач станицу. Можемо видети за бранч имамо ових неколико прехрамбених артикала. Ако се кликне на њих, онда добијамо информације исхране. Видиш ово је информација за исхрану грејпфрут, у случају да се питате. И тако опет идемо на завири у задњем крају овде мало и видети шта се то ради да би добили ове податке. И испоставило се да није заправо бити веома сложен уопште. Овај фајл изгледа мало наопако, али имајте на уму да је ово руковање цео сајт, и ако сам доле помицати видимо ове податке функцију промена. Сада, само да буде јасно, ово је написано у ЦоффееСцрипт, што је језик који ви вероватно нисте видели. Али то је прилично читљив, тако да ћу проћи кроз њу као да је Псеудокод. Промена датума је функција која ће се предузети у овом временском вредности, а такође ће се узети у првом, коју није брига колико. Али важно је да има овај датум, и тај датум је дан који желимо да затражи све прехрамбених артикала за. И онда видиш да имамо овде мало синтаксе, која је у основи анализи тог датума у ​​читљивом формату. Другим речима, АПИ захтева датум у одређеном формату. Не можете само рећи 16. новембра 2012 АД. Она неће знати шта да раде са тим. Она жели датум у одређеном формату. Све што радимо овде је да управо то даје формат, који је годину дана вредност и онда цртица, месец вредност, друга цртица и датум вредност. И ми такође кажу желимо да подаци буду излаз у ЈСОН. Сада смо тако да је ово АЈАКС захтев, и као што сам раније поменуо, јКуери је овај супер корисну функцију која АЈАКС све што треба да урадите је да одредите неколико параметара овде доле, и она ће вас вратити тачно оно што желите. Ми смо га говоре да је УРЛ желимо да идемо на ово ЦС50 Храна АПИ које смо добили од спец. Ми кажемо да желимо податке у ЈСОН и да идемо да га дају ове податке које смо дефинисана овде. Ово је дан желимо намирница за. И онда све што треба да урадите је да дефинишемо неку врсту успеха функције, што је у суштини оно што се дешава када АПИ врати те податке. Другим речима, ми смо се пакују све параметре које желимо, који је у овом случају је дан који смо то желе и чињеница да смо га желимо у ЈСОН, и ми смо га послали на АПИ, тако да сада АПИ каже, ок, Овде се ваши подаци, добио сам га назад за вас. Имамо успех функцију, што значи с обзиром да АПИ успешно враћа неке податке, шта да радимо са њим? И испоставило се да је све што радимо је ово зовем исправка мени функција са било којим АПИ је вратио, тако да можемо тражити да и видети да је све што радимо овде користи гомилу нових синтаксе да ажурирате ХТМЛ и убаците ове нове податке. Шта ово омогућава је да имамо ове стрелице на обе стране, и ми можемо да кликнете, и сада гледамо податке за наредни дан и опет за следећи дан, и сваки пут када се ажурира тај датум вредност и упита АПИ, вратим неке податке и стављајући га у месту. Опет, можете да видите, супер, супер корисно. Ова апликација ми је неколико сати да заједно пијук, и ја имам мало више искуства, очигледно, али ваше ЦС50 коначан пројекат Можете погледати нешто веома слично овоме. АПИ су супер моћан у износу од напора да се узимају. Последња ствар коју ћу да идем преко је широко још неколико АПИ. Нећу се колико у њима колико шта конкретно раде, али ћу вам дати идеју о томе шта је тамо. 2 заиста корисни моји, ако сте заинтересовани за анализу података и визуелизацију или нешто слично, су Фреебасе и Википедиа. Википедиа-вероватно сви знате, је бесплатан онлајн енциклопедија, и то је заправо има АПИ, тако да ако желите да, на пример, добити све текстове и чланке за хоботнице можете врло лако урадити. Само реци хеј, Википедиа АПИ, ја бих податке враћене јер, и ја бих то у овом формату, и члан бих је хоботница, и веома брзо ће вас вратити ту информацију. То може бити заиста корисно ако желите да направите неку врсту сајта То је боље за Википедију гледалац или нешто слично томе. Фреебасе је некако слично, иако је мало теже колико АПИ. Фреебасе је као Википедијом да је онлајн енциклопедија који садржи пуно и пуно различитих података о свим врстама различитих тема, али је ускладиштена у релационој бази података, што је незнатно разликује од Википедије. Википедиа има своје текстове и чланке везане за друге чланке, али највећим делом, ако желите податке за хоботнице, одете у хоботница члана, добити те податке, а имате гомилу текста око хоботнице, тако да је то супер. Фреебасе ради у мало компликованије начин у томе све се односи на један други. Другим речима, ако смо у потрази за хоботнице онда она има гомилу категорија у вези са њим. На пример, то је животиња, она живи под водом, она има одређену телесну температуру. Не знам. И све ове категорије су линкови ка другим местима где можете отићи да видим ствари са том истом категорији. Другим речима, подаци хоботница скуп ће садржати линк ка скуп података за све животиње, и да ће дозволите ми кретати у бази стварно брзо. Ово може бити веома корисно ако радите нешто попут поређења. Другим речима, с обзиром на извесна ствар, желите да видите шта је то у вези са и видети шта то није у вези са. Та врста ствари. То може бити корисно на више начина. Ако сте у потрази за више изазов и да буде у стању да уради неке сложеније ствари Ја бих размотрити узимајући поглед на Фреебасе АПИ. Али углавном, Википедиа је врло једноставан место за ићи толико далеко као и добијање информација. Друго место које ћу погледати је Ласт.фм, а ја заправо идем на сајт у случају да неки људи нису упознати, али Ласт.фм је у основи музички укуси и препоруке вебсите. Можете направити налог. Можете почети музику уплоад са вашег музичког плејера на сајту, ау основи ће почети да вам музичке препоруке на основу онога што слушате. На пример, ако одете на свој профил страна-ово је моје, можете видети имате списак недавно слушао нумере. Можете видети укупне омиљене уметнике, све те такве ствари, и опет, постоји велика АПИ иза Ласт.фм,  и можете га користити да много, много заиста сјајних ствари. На пример, ја ћу отићи на страницу пријатеља који има овај Ласт.фм алатке сајт. Ово је заправо још једна платформа која је изграђена на Ласт.фм АПИ, и то чини низ лепих занимљивих ствари. Ако сам се пријавим са мојим корисничким именом, на пример, Ја могу да га замолим да генерише облак ознаке, на пример, и шта да се дешава да урадите је да ми врати слику сви различити жанрови и такве ствари које волим да слушам. Како се ово ради? Врло основи то говори да Ласт.фм АПИ ево овај корисник. Волео бих да знам жанр свакој песми да су икада слушали, и то можете да урадите тако што је прилично једноставан АЈАКС позив Ласт.фм АПИ. Добићеш назад велики списак, а онда је очигледно неке друге ствари се врши претворити га у речи облак, али можете видети укупан то је врло лако да приступе и веома једноставан за коришћење. Стварно лепо за неколико ствари. Мислим да је то отприлике све што ћу рећи укупно. И последња ствар коју ћу споменути о АПИ уопште да понекад ћете налетети на нешто што се зове стопа ограничење, и идеја стопа ограничавања је да не желе да злоупотребе АПИ. Другим речима, то је стварно лепо да многи од ових сајтова има АПИ које можете отићи и користити бесплатно. Међутим, ако правите милионе или милијарде захтева дневно, На пример, ако сте заглављени у бесконачну петљу која се бесконачно упућеног нека АПИ и вратимо огромну количину података, очигледно да то није добро, па шта много АПИ урадите је да ова стопа ограничавање функцију који каже да само може направити 1.000 захтева дневно по ИП адреси или нешто слично томе. А ако радите пуно тестирања и такве ствари, понекад ћете упасти у то, и одједном ће вас искључити и кажу не, нећу ти дати било више података. Шта желите да урадите је да играју по правилима. Ви желите да се уверите да сте прочитали АПИ спецификације пажљиво. Ако има одређена правила везан за њега, као што си ти може само да Кс упита дневно или можете само приступити део базе података одређени број пута или нешто слично да желите да будете сигурни да се држимо тога. Докле год играте у оквиру тих правила, вероватно ћете имати заиста лепо време користећи АПИ. Ваша укупна ПОНЕТИ је АПИ су стварно корисно. Има АПИ за скоро сваку велику веб сервис тамо. Прилично је било који део Гоогле Алатке Суите, Гоогле Мапс, Гоогле Еартх, Гмаил, Гоогле Цалендар, све те ствари имају АПИ. Можете их користити за оба добили податке са сервера и шаље податке на сервер. Другим речима, ако сте желели да направите апликацију календара који се ажурирају Гоогле Цалендар нечији, ту је АПИ за то. Ако желите да се нешто што се дешава да вам кажем где локацију одређене адресе је можете користити Гоогле Мапс АПИ за то. АПИ су фантастично корисни, и они су свуда. Уколико сте заинтересовани за неку врсту идеје, Вероватно постоји сродних АПИ који можете да користите да бисте добили пуно података веома брзо и веома једноставно. Ако још увек тражите пројекат или ако само желите да играте нечим у целини, АПИ су дефинитивно вредно раде. Хвала, и ја сам радо одговорити на сва питања која сте ви можда имате. Ок, хвала пуно. [ЦС50.ТВ]