>> Давид Малан: У реду, вратили смо се.
Дакле, за узбудљив закључак, наш последњи део
на веб програмирање, који сам Мислили смо да користимо као општи појам
за снимање неколико преосталих тема.
Тако да је на крају овог дан, ми ћемо заправо радити
мало Хандс-Он веб програмирање језиком зове Јавасцрипт.
И мислим да ћу да погледам на нешто у вези са сликама
и откривање нешто тајно скривено у слици,
и такође погледајте Гоогле Мапе АПИ, програмирање апликација
интерфејс, као нешто представник врсте софтвера
То је све и слободно доступан данас.
>> Али зашто не бисмо погледали на састојак у овај свет
да смо некако били узимајући здраво за готово не постоји
за неко време, база података.
За протеклих дана и пола смо претпоставили
да имамо приступ бази података, али какав проблем не реши база података?
Шта ради за нас?
Шта је то?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Држи све информације, ОК, и које врсте информација
Можда сте ставили у њу?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Свака информација ставите у њу, да ћеш се вратити.
То је истина.
И на типичном веб-басед сајта или веб апликација, које врсте информација,
конкретно, можда сте ставили у?
ПУБЛИКА: [неразумљиво]
Давид Малан: корисници.
Дакле, шта је корисник?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: У реду, регистрован корисник сајта.
И шта то значи складиште информација корисника?
Шта саставља корисника?
Корисник је шта?
ПУБЛИКА: [неразумљиво]
Давид Малан: Да, лични података, и то ми се свиђа.
Да будем прецизнији.
Дакле, корисник обично има име, шта друго може да корисник има?
ПУБЛИКА: [неразумљиво]
Давид Малан Ан аддр-- реду, тако име, презиме.
То је добро.
Заправо, да поправимо да, јер ће
да би отворили могућност за дискусија, и даље, даље.
Име, презиме, пол.
Лична неке врсте.
Шта још?
Чуо сам нешто раније, такође.
Е-маил, поштанска адреса.
>> Дакле, хајде да овде зауставите и сада размотрити није оно што ми складиштење у бази података,
али- и не зашто, јер је можда очигледно да је једном региструјете корисника,
желите да их запамтити за неко време.
Ви не желите да само да се складиште у РАМ
и буде форготтен-- тако хајде да се фокусирају на питање како.
>> Испоставило се да у свет базе података,
има најмање две врсте ових дана.
Нешто што се зове СКЛ базу података, Струцтуред Куери Лангуаге,
или, цутели по имену, носкл, што није СКЛ.
А други је пример онога што би могло
се зове објектно оријентисан, или објекат продавница, база података
која садржи објекте, а не, оправдање ја, као што ћемо ускоро видети, редове.
>> Па ћемо се фокусирати само на тренутак на прва од њих, наиме, СКЛ
база података, ако само зато што је тако познато већ, било коме
који је користио Екцел или Гоогле табела или Аппле
Бројева или било који стандардни табеларни програм,
или еквивалентно или више софистицирано,
нешто као Мицрософт Приступ или Орацле
или МиСКЛ или ПостгреСКЛ, од којих сви су називи производа за имплементација
на наредном идеје.
>> Релациона база података је једноставно нешто што има редове и колоне.
И по редовима и колонама, Ја буквално значи нешто
овако, па где би могли имати назив поља и његову врсту овде.
И заправо, пусти ме сада почињу да карту ово.
Уствари, ја не знам Зато сам нацртао посебан графикон.
Нека ово буде једноставна.
>> Имамо право овде Почеци нашег стола, где
ово је име поља а то је тип података,
и према врсти мислим на следеће.
Да ли је то број, то је ниска, кратак низ као реч,
да ли је то пасус, то је бинарни подаци, као што је на слици?
И хајде да задиркују ово осим за тренутак.
Дакле, прво име, број, ниска, велики део тект--
ПУБЛИКА: [неразумљиво]
Давид Малан: Да, тако ниска.
И у контексту базе података, ми ћемо обично зову ово поље кар.
Само ћу рећи цхар за сада, али смо да прерадити то у тренутку.
Карактер поље.
Презиме је вероватно исто.
Пол?
>> Мушко или женско, тако да може бити поље инт.
То може бити било цитат, под знацима навода "Мушки" или цитат, под знацима навода "женски"
или то може бити м или ф.
Ако желите да будете више инклузивни, можда ће бити потребно трећа вредност
или нека друга поља у потпуности.
И тако можете користити фалсе.
Поље би се могао назвати мушкарац, и онда се може рећи тачно или нетачно.
Али то не мора ухватити све информације можете желите.
>> Тако испада постоји још једна врста поља која би могла бити од користи овде
у типичном бази података, назвао енум, где је поље карактер,
али, дизајнер, доћи до набројати могуће вредности,
као цитат, под знацима навода "мушко", цитат, под знацима навода "женски" и тако даље.
Тако да све вредности је у својој бази података,
заиста лик заснован, али то мора бити један од тих вредности.
Вероватно не би желео да чује енум за имену или презимену.
У супротном бисмо имали набројати, као име
произлази из, буквално сваки могуће име и презиме.
>> У реду, тако ИД шта треба лична бити?
Да, па можда број.
Дакле, да се држимо да за сада, број.
И по броју, број је сувише широк сада.
За крај другог дан, осећам као да смо
треба да буде мало прецизнији.
Број могло да значи да, то може бити нешто као 1.236.
И то је вероватно није оно што подразумевамо под личном картом.
Шта ћемо вероватно значи од стране ИД?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: О, у реду, тако можда није ни број.
Можда је заправо јединствени идентификатор То је низ, као корисничког имена.
Дакле, апсолутно, може бити.
Мислим да је неко вероватно значи нумерички, мада.
Дакле, хајде да останемо са тим.
Какав број?
Шта је још прецисе-- цео број.
Тако се известан број као 0, 1, 2, 3, па ћемо назвати овај цео број.
А чак и тада, могао сам се цјепидлачење, то је
не стварно само Генерално цео хоћеш.
Вероватно не желите негативне вредности, само зато, што се осећа чудно.
Вероватно желите позитивни цели бројеви.
Тако да се може изразити да у бази података,
али за сада, рећи ћемо цео.
>> Емаил?
Ово је вероватно само- шта?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: То је е-маил, али то је карактера, зар не?
Само има функи карактер као "ат" симбол или нешто друго,
али је и даље поље карактер.
И поштанску адресу?
Карактер поље.
Дакле, то је лепо почетак, али будимо мало прецизнији сада.
>> Тако испада да је у база података, често
имају избор на више рафинирани верзије ових ствари.
У ствари, у типичном СКЛ базе података, СКЛ, или више уопште, релациона база података,
база података са редовима и колоне, често
се одредити не само од врсте фиелд-- дозволите ми да мало мјеста овде--
али и дужине.
>> Колико дуго је име?
Мислим, Д-А-В-И-д. У реду, ја га Вероватно је само увредио као пола
људи у просторији, десно, јер ваша имена су дуже од пет
слова, па пет изгледа мало себичним и наивни, па шта је бољи вредност?
10, у реду, и ја мислим добро смо у соби.
13?
30?
Зашто не узимам приступ раније када смо
говоримо о низовима и меморије?
Зашто не само рећи да 1.000?
Ничија име иде да буде дужи од 1.000.
Потисне.
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Да, то је расипнички, десно, посебно
ако већина имена су само пет или 10 или 15 знакова, то је веома расипан.
Дакле, знате шта?
Ово је некако тешко питање.
Сада, сигурно можемо анализирати Енглисх и имена било који други језик је
и схватити, добро, шта је авераге-- просек не баш
помоћи нас-- што је највећа је вероватно оно што заиста желимо.
Али испоставило се да чак ни неки избор од типа овде.
>> У типичном СКЛ бази, су нешто што се зове инт поље
а такође и варцхар, В-А-Р, за променљиве области цхар.
А разлика је ово.
Поље знак, ви дизајнер, морају одредити унапред
тачан дужина поља.
Дакле, можда је име као 20 осећа некако сигурно.
Можда треба да урадите нешто гугујеш у видим да ли је то довољно стварно сигурно.
Вероватно је име са 21 карактера, али за сада, претпостављам 20
безбедно је.
>> Поље Чар би значило у бази података које вас
су користећи 20 и увек 20 знакова.
Сада ако је само Д-А-В-И-Д 15 оних који су тек ће бити бланко знакова,
али се још увек користе свих 20 бајтова.
Поље инт, с друге стране, значи да је ниска треба да буде до 20 карактера
али ако је само пет, Ви само ћемо користити
пет, или можда шест фор а Посебну вредност на крају,
као онај 0 разговарали смо да означава крај карактера
секвенца у меморији.
>> Дакле, када мислите можете одабрати цхар
против варцхар, с обзиром да је компромис?
Цхар користи ту много знакова, варцхар користи ништа више од тога много знакова.
ПУБЛИКА: [неразумљиво]
Давид Малан: Добро, кад знаш да је дужина низа прилично убедљив
је користити само знак, јер ако Ви то знате, само га спусти.
А можда је то истина за рар код, у САД, најмање, 02138,
то је увек ће бити пет ликови док не додате цртица четири.
Али можда имати неке вредности за који увек зна дужину.
Или можда државни симболи, као НИ за Нев Иорк,
и МА за Масачусетс у САД.
Можда ти немаш неке ситуације где је то потпуно разумно,
али тој логици, зашто су ми чак размиљљаљ ово?
Зашто једноставно не користимо инт а онда ћемо само
увек користите два лика у сваком случају, или увек користите пет знакова у сваком случају?
Зашто не само сачувати варцхар за све, та логика?
Мора да постоји нека цака.
ПУБЛИКА: [неразумљиво]
Давид Малан: Цоулд напише нешто погрешно.
Тако да је истина.
Али чак и тада, они не могу да користе више меморије него што сам издвојити.
Још увек имам финалу кажу по дужини,
тако да не могу случајно да да грешка, али добра идеја.
То је суптилније, али то је веома везани у нашој дискусији, заправо, од низова
и повезане листе раније.
>> Испоставило се да база података, ако зна да све вредности су
забележбе дужине, макар неки од тих вредности су празне,
некако естетски празно, Д-А-В-И-Д, а затим 15 празнине,
испада да ако сваки поље је једнаке дужине,
слично као низа имали све своје ствари бацк то бацк то бацк то бацк, тако да
само, плус 1 могао доћи до следећег вредност, иста идеја у табели базе података.
Ако је сву своју карактера жице су исте дужине,
имате оно што се зове директног приступа.
Ако су све жице су дужина 20, ви не само
до плус 1 то управо урадио више 20 плус 20 плус 20 плус 20,
а можете врло брзо кретање кроз или претраживати све податке.
>> Променљиве символ поље, с друге стране, не мора увек да има 20 знакова.
То би могло имати 20, а затим 15 и потом 19 и онда 10,
па ако желите да претражите кроз њу, не можеш само слепо
додати 20 бајтова да се на следећу.
Имате буквално за претраживање преко јер ивица структуре података,
ако хоћете, је чупав.
Некако улази и излази на бази на стварне дужине низа.
Дакле, када знате дужину, као Кареем каже, користите поље цхар,
јер добијате да Ефикасност је
у стању да брже тражење кроз њега када сте у потрази за подацима,
иначе користи променљиву.
>> На жалост, немам добар одговор на колико дуго име треба да буде,
али за тако нешто име, рекао бих
инт је уобичајено јер не иде
да буде фиксне дужине за свакога.
20, не знам, 20 осећа мало тесне.
Рецимо 50, 50.
Не стварно кошта да много више рећи 50 уместо 40,
али у неком тренутку, морате да пресуда позив.
>> Веома честа, искрено, за [? историјски?]
Разлози, иако је претерана, јест 255, јер пре извесног времена,
у популарним системима база података, као МиСКЛ, бесплатан опен соурце алат
да много компанија као и на Фацебоок користи,
ово је максимум подразумевани тако да људи једноставно отишао са њим.
Дакле, не неразумно, али ћемо користи мало интуицију
и кажу, сигурно 50, то је вероватно мало претерано.
>> Пол, ја као енум, па смо стога можемо
набројати мушко или женско, или можда ефикасније,
м или ф или неки други симбологије, али енум изгледа као добар избор тамо.
Да буде јасно, пол може бити само НУЛЛ,
и можемо само сви слажу као фине људе,
увек стави исте вредности тамо.
Мушко или женско или шта све не.
>> Али проблем онда, је да смо могли погрешити, јер [неразумљиво] предложени
раније у другачијем контексту.
Ако направимо грешку, можемо добити погрешних вредности у нашој бази података.
Дакле, шта је лепо у вези са базама података као Орацле и МиСКЛ и других,
је да имате овај последњи слој одбране где
администратор ДБА, база података, ко год је пројектовање ову табелу као и ми
су вербално, да ставимо на предај енум да
штити против тога одређивањем мушко, женско, па нико
друго не програмер може случајно убаците било који други вредности.
Дакле, то би била добра ствар.
Ово је функција.
>> Дакле, лична, под претпоставком нумеричку ИД га, Вероватно би требало да буде позитиван цео број.
И ми понекад имају прилика да се разговара дужину.
Ти не би типично навести број овде,
би уместо тога одредити ово је инт, или велика инт,
као што су типично звали.
Али типично, цео број било би, рецимо, 4 бајта.
И ако је 4 бајта, то је колико бита?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: 32 бита.
Колико корисници могу имамо у Наша база података уколико они имају личну карту
а ова лична мора да буде јединствен?
32 бита значи да смо узорке једног, два, три, четири, фиве--
па колико различитих дезена нула и оне могу ли да има 32?
То је иста ствар као и пита шта је две до 32?
То је велики број који Не могу баш како треба,
али знам да је око 4 милијарде.
Дакле, ово значи да ваш сто база података може имају четири милијарде корисника и то је то.
>> Дакле, ово је занимљив дизајн импликација.
Пристојан број компанија одлучили, можда не толико
за њихову табелу кориснике јер имају 4 милијарде корисника је редак проблем.
Ово је нека врста Фацебоок-стил проблем, а не типичан компанија проблема.
Али можда ако имате трансакција логове или нека врста података који стално
се уписује у своју базу података да апсолутно може имати милијарде
и милијарде редова, и користите цео број за њу,
шта ће се чим се деси ти на ред број 4 милијарде
а ви покушавате да убаците 4 милијардити и 1, да тако кажем?
Ја сам поједностављење бројеве мало.
>> Можете смањити, мислим ти да се то средити некако.
И шта би рачунар типично до, размислите о томе још од јутрос,
ако имате 4-битну вредност као 1, 1, 1, 1, који,
само везати јутро заједно поподне, шта
да ли је тај број представља у бинарном?
У реду, ми ћемо бити лакше.
Шта овај број представљају у бинарном?
У реду, ми ћемо лакше, шта да ли то представља у бинарном?
ПУБЛИКА: Три.
Давид Малан: Три, јер имамо оне цолумн--
[Смех]
Ух!
Имали смо колону онес и двојки колона.
Претпостављам да, заиста, наш [? окућница?] нису били 32 бита,
али су два бита, можемо цоунт од корисника број 0, 1, 2, 3,
а онда смо некако назад на корисника 00 поново.
Дакле, то је оно што обично дешава.
Ако сте икада чули екпрессион-- Вероватно нису, али ако бих--
цео преливање, где сте држати окретањем све ваше бита
да су највеће могуће вредности, а онда си ван битова,
шта би обично дешава?
Зашто кажем 00?
Па, то је три.
Како да представљају 4?
Како да представљају за број 4 у бинарни?
ПУБЛИКА: [неразумљиво]
Давид Малан: Један-- да, не говори 100 по себи,
јер има погрешан конотација, али 1-0-0.
Тако да је број 1-0-0 је заиста исправан, али ако имате само два бита,
шта сте заправо урадили?
Ви сте преврнуо на 00.
И заиста, то је оно што ће се десити.
У ствари, можете мислити о томе више фамилијарно.
Ако се сећате, шта, Пре 16 година, свет
Требало је да завршава када проблем И2К догодило.
Зашто је то било?
Па већина рачунара, за разумни одлуке,
су чување бројева као што је 1975 године или 1999
користећи само две цифре у меморији рачунара.
Па наравно, шта се дешава када дођете до 2000. године,
идеш на ово, односно, да.
Зато иди до 2000. године, али ако ви само користите две цифре Изгледа
као годину 00 и тако да сам преврнуо.
И то је разлог зашто многи системи потребно да се ажурира на време.
>> Имајући то рекао, компаније као што је Фацебоок наићи на ово.
Дакле, једини начин да се носи са ситуација, искрено, је да се предвиди.
Или најчистије начин средим ову ситуацију
је да се предвиди тако да не морати да измене касније.
Дакле, уместо од 8 бајтова, знаш шта?
Ја ћу бити напред-размишљање овде, иако је то
мало оптимиста да да ћемо имати 4 милијарде
и 1 корисника на нашем сајту.
Али хајде да користимо 8 бајтова, или 64 битс, који ће генерално бити
зове велики цео број, веома технички.
И то само значи да можете имати још више цифара у ваш број.
Али ово је важан дизајн одлука,
јер ако одаберете број који има премало бита изражајности
би стварно могао створити грешка у софтверу.
>> У реду, па хајде да завршим са емаил и поштанску адресу.
Тако е, колико дуго треба е-маил адреса бити?
50.
Ја стварно немам појма, али је вероватно тако нешто,
јер у супротном нико неће да напиши ти ако постане сувише дуго, тако 50,
идемо са њим за сада.
Поштанска адреса, колико дуго треба да буде?
ПУБЛИКА: [неразумљиво]
>> Давид Малан: Није само поштански број, ипак.
Поштанска адреса, чуо сам.
Дакле, ово је као 1 Браттле тргу, зарез, Кембриџ Маса., зарез, 02138.
И, у ствари, само да повуче до мало радног овде.
Ово изгледа као да је пропуштена прилика.
Ако имамо 1 Браттле Скуаре, зарез, Цамбридге МА 02138,
Осећам се као да ми можемо боље него само поштанску адресу.
Зашто не бисмо експлодира ово мало?
Шта добијам у?
Шта треба да уместо тога имамо за наше редове овде, можда?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Да, па хајде зову га стреет_нумбер,
и један подвлаку је само обичан начин да оно што изгледа као простор,
али то није, заправо.
Улица, а онда Град-- жао?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Можемо ми то.
Лине један, друга линија.
Зашто не бисмо ће наставити је једноставан за сада,
али то је апсолутно прихватљиво решење.
И онда држава, а онда немојмо бити мало САД-орјентисане за сада
и само до поштански број, само зато што то ће довести до занимљивог грешке
или проблем овде.
Претпостављам да је сада наша адреса.
То је мало нервира то имамо све те више поља,
али сада можемо означити ствари мало боље.
>> Дакле, сада улица број вероватно не би требало да буде знак, би требало?
Шта би требало да буде?
ПУБЛИКА: [неразумљиво]
Давид Малан: Можда, број као опет један цео број?
Велики цео број?
Вероватно не живе на 4 милијарде Маин Стреет
или било шта луди тако.
Дакле, цео број је вероватно добро, али има било кога
икада живели на адресу као 1А Браттле Трг, или 1 и 1/2?
постоје ове ствари, нажалост, чак и ако нисте живели тамо,
постоје те аномалије као стан 1А, 1Б, 1Ц.
Дакле, знате шта, вероватно не би требало да иде са целим,
иначе ћемо да изгуби неку продају.
>> Цхар поље, можда?
Не знам колико дуго.
Вероватно неће бити толико дуго, тако да 10 или нешто.
Нико неће да напише дужи број, можда.
Али опет, вероватно би требало да дају више мисли на то.
Можда гоогле, да мало истраживање, али ићи ћемо са нашим цревима за сада.
Улице, знак, 50, не знам.
У једном тренутку, нико неће да се пише на коверти,
такође, тако да је вероватно неки горње границе тамо.
Град, исто, наравно, тако цхар 50.
>> Држава, могу бити САД-оријентисане за сада.
Дакле, могло би бити листа, љубазни пресуде позива, државе.
То може бити као два карактера.
Уствари, можда, ја сам говорио цхар.
Вероватно Мислим варцхар, само за неке ефикасност,
али ћемо се вратити у да је одлука у једном тренутку.
Могло би бити инт дужине 2 за државу.
Ако у САД имају, као што је МА, Массацхусеттс, НИ, Њујорк, Њ, Нови
Јерсеи, и тако даље.
Дакле, могло би се фиксиран на то.
ДЦ за Вашингтону.
>> Али мислим, Оливије, ти Предложени другачији приступ.
ПУБЛИКА: [неразумљиво]
Давид Малан: Да, па то је мало неугодно да куцате у,
већ енум би више смисла, јер овај начин, барем у САД,
бисте могли набројати, ако тедиоусли, али ви то само једном у бази података
и никада више морати да размислим о то, сви 50 два-знакова кодова.
Волим да Енум.
Хајде да се држимо да је, због то на неки начин спроводи више строгост.
А онда зип код?
Мислим да је Ендру имао мисао о томе
ПУБЛИКА: [неразумљиво]
Давид Малан: Да, пет или девет.
Хајде да то буде једноставно.
Само уради пет за сада.
Али можда бих могао до цео број, зар не?
Могао бих, али знате шта, ја направио ово грешка једном, у неком смислу.
Пре неколико година, био сам миграцију из Мицрософт Ворд за Гмаил,
и Оутлоок има начин извоза свим својим контактима, као Екцел фајл,
ЦСВ датотека, одвојени зарезом вредности фајл.
И ја направио грешку, ја Мислим, контра је клика,
Једном сам скинути извоз, да проверите да ли је изгледало што сам очекивао.
Мора да сам ударио Саве или нека Ауто-саве ударац или тако нешто.
Јер кад сам тада увози она у Гмаил, све је.
Али годинама, до данашњег дана, и Ја сам то урадио пет, пре 10 година,
И даље налазим пријатеље који имају адресе које изгледају овако.
Зашто?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Требало од 0, па, радије,
је цео зип код као број и стога је
водећи 0, што значи то нема смисла.
Па 2138 изгледа мој поштански број.
И то је, искрено, досадни Екцел карактеристика при чему мислим по дефаулту,
чак и ако то значи да само бити текст, Екцел
одлучује, да будем од помоћи, и ох, видим само бројеве.
Хајде да третирају их као бројеве.
И то умањује водеће нуле.
>> Кунем се Богом, сваки пар месеци нађем адресу,
и из једне врсте ОЦД, враћам у и додајте 0, иако никад нисам
шаље људе писма или ништа.
Али ја и даље проналажење остатке ово.
Дакле, ово значи да је ово добра идеја?
ОК, нема, јер свако у Массацхусеттс, у овој области,
ће имати ои водећи их.
Дакле, идемо са сличним Чар, вероватно, пет.
>> И овде, схватимо да могао користити енум и ми
могли набројати 10.000 могуће зип кодови,
али да се осећа као да је вероватно прелазећи линију, као, користи.
Ако имате да унесете да много података у својој бази података
за заштиту од нечега.
Дакле, Чар схватио можете да упишете у Х-Е-Л-Л-О као поштанског броја,
који није, очигледно, нумерички.
Дакле, нема шансе, у типична база података,
одредити само нумеричку и само пет знакова,
тако да ћемо имати да то уради у коду.
Ми ћемо то учинити у ПХП или Јава или било ком језику смо
користећи на серверу да спроведе таква ограничења.
>> Вхоо!
У реду, па нека питања још увек?
Хајде да још једну одлуку дизајн.
Испоставило се да ти Такође могу да бирам,
приликом дизајнирања СКЛ базе података, или типични релационих датабасе-- где
Опет, релациона само значи редове и колоне,
тако да организујете своје дата-- и схватити да је оно што ово значи,
Ја сам заблуду у да, ја сам дравинг-- ово
је оно што се зове шема за табелу базе података.
Ово је као да је спецификације за табле--
али када дође време да стварно складиштење података,
и ми ћемо то урадити само пример овде.
Ја ћу отворити Екцел, јер Екцел ће ми дати редове и колоне.
И то је управо оно што Орацле и МиСКЛ и други алат ће ми дати.
Дакле, ја ћу само да користи то ради дискусије је.
Пусти ме напред и отвори Представник документ овде,
зоом ин мало.
Тако, на пример, наши заглавља сада име, презиме, пол, ИД,
е-маил, улица и број, улица, упс.
Улица, град, држава, само о одговара на екрану.
>> Дакле, шта то значи да када Корисничко име региструје за мој интернет страници,
то ће бити нешто слично Давид, Малан, м рецимо 1,
малан@харвард.еду, улица број ће бити као 1 Браттле Скуаре, Цамбридге, МА,
02138, а затим тако даље.
Дакле, када кажем да је релациона база података или СКЛ база података је редове и колоне,
Мислим ово.
Да је стварна подаци се чувају у редовима и колонама.
Ово је само случајност, да смо разговарали,
и сам сам га цртање у редовима и колонама.
Ово је само схема, свеобухватни дефиниција.
>> Дакле, од ових области овде, или еквивалентно, тамо,
које су поља које мислиш Ја сам вероватно тражити на ако сам корисник
или ако сам администратор базе?
Као што поља а заправо да потражи на?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: име, да тако Свиђа ми се чињеница то-- да,
е може бити прилично уобичајено.
Жао ми је, рекли сте име.
Тако маибе-- и поново, ми смо врста разговора у садржају.
Не знам зашто бих бити у потрази за име,
али да се осећа разумно ако тражите корисника.
Можда се наводи, наравно, ИД.
>> И то је клизаво нагиб, јер сам могао
измишљати сценарија где можда мој шеф ме је питао,
колико људи имамо на нашем сајту?
Колико жена имамо на нашем сајту?
И тако у том тренутку, можда ћете желети за претраживање на терену равноправности, такође,
и ништа друго.
Тако да је компромис овде.
Опет, нема прави одговор, али тамо
је функција у већини СКЛ базе података познат као индексирање, при чему
ти, дизајнер, Администратор базе,
се одлучити унапред који терени база треба да оптимизира
за претраге на.
>> веома наивно Могло би се рећи, оптимизацију ово, оптимизацију да, оптимизацију ово,
оптимизира да и то, а база података ће
до неке магична ствар испод хауба, и уради нешто на такав начин
да следећи пут када претражите на било који од ових области,
она ће, у ствари, бити брже.
Ово је могуће.
Себе не поништи.
Али мора постојати цена плаћена.
>> Ако вам се наивно, или превише одушевљено рецимо, индекс свим овим областима,
да тако кажем, да их све ефикасно претраживати,
коју цену се вероватно платити?
ПУБЛИКА: [неразумљиво]
Давид Малан: Перформансе.
Шта мислите?
Па перформансе, барем у контекст ја разговарали, сада је боље.
То је дефиниција индексирање.
То ће учинити претраге брже.
Дакле време смањује, тако да говори.
ПУБЛИКА: [неразумљиво]
Давид Малан: Простор.
Дакле, то су уобичајени трговине.
Могу да убрза своје претраге, али је ће те коштати више бајтова простора.
Зашто?
Па, подразумевано, ако имамо ништа од ова црвена звезда, ниједан од ових индекса,
као што кажем, како се тражи имена у овој бази података?
Дакле, да скренете пажња на овом примеру.
Ако имамо Давида и Сцулли и Кареема и Арва и други у овим редовима,
на пример.
>> Дакле, хајде да управо то.
Скали је овде, а онда имамо Кареем, и Арва,
и сви остали, ако не има индекс дефинисан, да тако кажем,
најбоље што може да уради је линеарна претраге.
Ако тражите арва, нисмо ће бити у стању да скочи право на њу
брзо.
Ми ћемо почети врх и иде све до дна,
не за разлику од наше оригинал Мајк Смит пример.
>> Ако, међутим, да кажем, хеј, база података, индекс поље име и презиме,
онда ће да уради нешто одгајивач и подржати нешто
као бинарни потрази.
Вероватно није бинарни претрага по себи.
Базе података имају тенденцију да користе други Подаци структура под називом б-дрвеће,
не треба мешати са бинарних стабала, да само буде брже претражујете
нешто логаритамска у природи.
Али је цена коју плаћате да изградите да карактеристика, да структура података у меморији,
је више бајтова.
Дакле, можда ће бити потребно неколико мегабајта, неки гигабајта, ко зна?
Зависи о подацима.
>> Дакле, у неком тренутку, морате да одлучите, вероватно није чест случај.
Дакле, шта су стварни заједнички случајеви, ако заиста морао да бирам,
шта би ваши омиљени поља бити?
Емаил.
И ја волим имејл зато емаил, у теорији, требало би да буде јединствен.
И тако обично, када знате унапред да једном од ваших поља
или ће бити јединствена, да тежи да буде добар поље
за претраживање на, јер тај начин, када тражите нешто,
ћеш се вратити једног или нула одговоре и онда си готов.
Не морате да задржите у потрази за још других.
>> И тако у овом случају овде, е-маил, докле год не могу да региструју два пута
са истом е-поште, је добар.
ИД по дефиницији, у Цомпутер сциенце свет,
ако говоримо о једној ИД, који је боље бити јединствен.
То је нека врста конотације од ИД или идентификатор.
А остатак од њих може бити, назовимо их лепо да богатих,
али не баш потребно.
>> И тако у бази података, наведете индексе,
али можете бити још прецизнији.
Можете рећи, хеј, база података, уверите се да је свака ИД у овој табели је јединствена.
Немој ни да програмер случајно ставио у дупликата е-поште
или дупликат ИД број.
Толико као енумс заштити нас слично, те
могу остварити те одбрану на нижем нивоу.
И тако дизајн база података, у неки смисао, је некако забавно,
јер ти то у одбрани.
Некако си претпоставити да радите са ужасним, ужасним програмера
и желите да ставите у што више одбрану као што можете да заштитите своје податке,
али истовремено желите да им помогне да боље раде
избором који поља за оптимизацију за.
Али не можете обавезно урадити у вакуум као да смо некако су овде.
Мораш да знаш шта су те заједничке случајева бити.
Ако програмери су имплементацију адресар,
можда врло добро желе да буду у стању за претраживање на скоро сваком пољу,
само по природи апликације.
Дакле, можда би провести да додатни простор.
>> У праву, има ли питања?
Да.
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Не
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: У реду.
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: О, па смо говорите на начин
Сада је то потпуно језика агностик.
Тако да сада говоримо о релационе базе података више уопште,
или СКЛ базе података уопште.
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Боље реч користи се, може да користи било који језик.
Тако да могу да пишем ЈаваСцрипт кода, Ц код, Ц ++ код, Јава код, Руби код,
све што разговара са базе података и извршава упита.
У ствари, то није лоше сегуе на пример упита.
И опет, нећемо ићи у Јава или Ц ++ или више било шта од тога,
али у СКЛ, језик на којем стално мисли, Струцтуред Куери Лангуаге,
ово је сама по себи програмски језик, али треба да се користи за, нема
изненађење, структуриран упита питања.
>> Под тим мислим ово.
Начин на који сте одабрали податке из МиСКЛ базе података
је буквално куцате на програму нешто попут изаберите звезда од стране корисника.
Претпостављам да ове табеле, од сада се зове корисницима.
Могу да га звати како год желимо, али да има смисла.
Па изаберите је веома заједнички глагол, ако вас
ће, у СКЛ, да буквално не ради.
Шта мислите звездице значи у овом контексту?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Жао ми је?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Није потребно, то је више инклузивни од тога, заправо.
То је лик џокер.
Стар скоро увек нешто значи, па то значи, у овом случају,
изаберите све из базе.
Дакле, када кажем ово, мислим врати ми сваки колону
из мог стола под називом корисницима.
Дакле, ми скуп резултата, како се зове.
Другим речима, дај ми копију табела, шта циљам.
>> Али, ако сам рекао изаберите звездице од корисника где ИД једнако 1, колики треба
мој резултат скуп бити онда?
Или еквивалентно, колико редова треба Ја се предати из базе података?
Вероватно је само један, ако заиста имају третира Број као јединствени идентификатор,
и ако Давид има тај јединствени ИД, ја треба да се врати један једини ред
који садржи све Давидове информација.
Ако сам рекао у којој ИД једнако 99, требало би да се вратим,
у том контексту, нула редова, барем у овом тренутку.
>> Међутим, ако не баш брига о свим тим информацијама,
Ја само могу рећи, гдје Дејвид живи?
Избор поштански број из корисници где ИД је 1.
Ово ће одабрати мени само Давидов зип Код а не целина тог реда.
Зашто би ово радим уместо звезда упит, дивља карта?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Да, можда је потребно само.
Дакле, представа је поново одговор овде.
Зашто тражити више информације него што је потребно,
јер чак и ако је све у реду заједно, и даље морате да копирате те податке,
чини се, из базе података у свој програм некако,
и то је глупо ако вас Потребно је само пет од тих цифара,
не целовитост реда.
>> Па како да убаците корисника?
Претпоставимо да корисник има само регистровано за први пут.
Синтакса обично изгледају овако.
Инсерт инто корисника, и онда би рекли вредности,
а онда би рекли вредности као, рецимо, Лаурен Сцулли,
наш сниматељ овде.
А следећи поље је пол.
Па ћемо рећи цитат, под знацима навода "Ф", онда имамо идентификацију
и ја ћу прицала- хајдемо претварати да није заправо овде,
па ћемо уназад у причи.
Дакле, 2 ће бити њен ИД.
А онда следећи поље овде је њен е-маил.
Тако да ће бити као Лаурен Скали и тако даље,
и ми ћемо једноставно Дот дот га одавде на.
Сада ће добити мало досадан, али је уметак упит
би на крају изгледати тако.
>> Ако желим да се отарасим Скали, ух-ох, хајде да се одјаве
јој, она брише њен рачун, делете од корисника где ИД је једнако 2,
ће ослободити Скали.
Или могу да кажем корисника упдате сет, рецимо, шта ми можемо да променимо?
Претпостављам да се креће.
Сет ави једнако 021-- Не, То је њен тренутни рар.
90210.
Једина друга поштански број Знам да на свету.
Тако да ће променити њен рар цоде-- заправо,
да не би променило њен поштански број.
>> Шта сам урадио?
Иако је синтакса је вероватно нови.
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Да, преселио сам све у Беверли Хиллс, Калифорнија.
Тако да сада треба кажу где ИД једнако 2.
И тако даље.
Дакле, СКЛ је све о њима врсте инструкција.
Селецт, уметање, брисање, ажурирање, са овим предиката на крају
ови где клаузуле, да тако кажем.
И има много више можете до, али то стварно само своди
једноставно, ако арцанели, изражавајући шта желите да база података да уради.
>> А онда база података ће схватити, када
убаците Лаурен Сцулли Инто тхе база података, где да је стави у меморији
тако да можемо врло брзо добити је заснован на њеном е-маил адреса
или на основу њеног броја ИД или слично.
Да, Ден.
ПУБЛИКА: [неразумљиво]
Давид Малан: Стварно добро питање.
Да ли ће ове скрипте мењају из Мицрософт Приступ Орацле
на МиСКЛ на ПостгреСКЛ?
Кратак одговор је да то зависи.
У теорији, постоји веома значајан заједнички подскуп СКЛ
да је деле све од ових имплементација.
Међутим, различити произвођачи имају додатим функцијама
њиховим базама података да уради неке ствари изван опсега ових карактеристика,
које могу, у ствари, разбити.
>> Дакле, како програмери хедге против тога,
је да уместо писања сирово СКЛ кода као да пишем овде,
они уместо тога користе библиотеку, заједнички библиотека која сама
је нека врста вишег нивоа и апстракти е који производ користите.
И то вам даје Функције и процедуре
позвати тако да никада стварно пише сирову СКЛ.
>> У теорији, онда, можете да промените производи од Орацле Мицрософту
или обрнуто, или било шта друго, и буквално
променити ништа о коду.
Реалност је, међутим, је, понекад одустати функције као резултат.
Можда сте одабрали неку производа јер има ове функције додате вредности,
а ти си само сада не користећи их свесно.
>> И анекдотално, већина предузећа настоје никад да се удаљи од њихове базе.
Дакле, иако је то лепо да имају функцију, реалност
је, ако ремонт Ваша база података, ви сте
Вероватно што гомиле других промена у сваком случају, да не обавезно
треба очекивати да.
Тако да је дискутабилно над-инжењеринг проблем,
али то заиста зависи од контекста.
Али у теорији, СКЛ је заједничка преко ових разних производа.
Стварно добрих питања.
Да.
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Да, тако можете да базу података
је само сервер, на крају дан, и унутар тог сервера
је гомила столови, редови и колоне.
И када шаљете упит овако од програма, ваш сајт,
писан у Јави, Руби, Питхон, без обзира, сервер прима ову команду
и то тумачење у буквално на исти начин
смо раније разговарали са тумачити језика,
а затим обавља неку акцију на нулу или више редова у нула или више табела.
ПУБЛИКА: [неразумљиво]
>> Давид Малан: Тачно, тачно.
Тако да псеудокоду за нешто као да би могло бити то.
У вашем ПХП датотеци или ваш Питхон фајл или ваш Јава фајл,
морали псеудокоду код, или Сцратцх-попут блока као, ако корисник посети
ацме.цом/регистер~~В по први пут, онда убаците у корисника и тако даље.
И ми би превести ово конкретнији код на крају.
Али стварно, сви имамо градивни блокови овде,
иако смо прескакања неке корака за имплементацију.
>> Дакле, дозволите ми замерити шта смо дивно урадила малопре.
Ви сте створили лепа Комплетна табела за кориснике.
Додуше, можемо имплементирати то на неколико различитих начина,
али сте заправо нас је довео низ патх-- и ти рећи,
али то је вероватно мој фаулт-- на прилично неефикасна имплементација база података.
Није нормализује.
>> И нормализован мислим ту ће бити,
током времена, значајан вишак запослених, и стога неефикасност,
да је отпад простора.
На основу само оно што видиш овде, могу Ви замислили где је овај отпад простора
ће доћи из, током времена, као све више и више корисника региструјте
за свој сајт?
Који подаци могу постати сувишан?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Зашто мислиш да?
ПУБЛИКА: [неразумљиво]
Давид Малан: Да.
И претпоставимо за потребе данас да је то истина.
Испоставило се да, и сазнали смо ово на тежи начин, то није истина.
Некако више градова има, некако, исто поштански број,
што квари ову предивну интуицију.
Али претпоставимо да је то истина, јер је скоро увек истина.
Претпостављам да зип код увек повезан са истом граду
и држава, која је врста разумне претпоставке,
али нетачно, испоставило се.
Али разумна претпоставка за данашње потребе.
>> Онда претпостављам да живим у Кембриџу, Мр, према табели овог корисника,
и претпостављам да Лаурен Скали живи у Кембриџу, МА,
и претпоставимо да Карим живи у Кембриџу, МА,
и Арва живи у Кембриџу, Мр, сви ми у 02138.
Зашто смо памћења Цамбридге, МА 02138 за све нас четворо?
Шта треба да је довољно запамтити?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Само поштански број.
Само да 02138 постоји, јер Знаш шта можемо да урадимо?
Могли бисмо се мало фенси овде и овде, дефинисати други сто
где ово ће бити име, ово ће бити тип,
ово ће бити дужине, и од сада, ја сам
це звати ово мој градове сто.
То се звало, од Наравно, мој корисници сто.
Па шта да кажем овде за мојим столом градова, мислиш?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Да.
Дакле, зип и државу и град.
И тако је тип овде, рећи ћемо ово ће бити Чар 5 опет,
предмет расправе о раније.
Ово ће бити енум, можда као пре, а град ће бити инт 50.
И сада шта сам добио избрисати из ове табеле
да се елиминишу ту неефикасност?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Лепо.
Држава и град отићи, тако да сам сада сам елиминисао потенцијални неефикасност
за редундантно памћење, Цамбридге, Мр, Цамбридге, МА, Цамбридге,
Цамбридге, МА, који, надамо се, се никада неће променити.
А чак и ако се то деси, то је минорли досадан, сада
да ја морати да се промени то у више редова,
а овде, ја могу само промените га на једном месту.
>> Шта је компромис, можда?
Ово је супер згодно.
Имао све моје податке лепо заједно.
Али, оно што је очигледно случај сада?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Тачно, и ја сам Драго ми је да користи реч се придруже,
јер је то заправо кључна реч, у свету релационим базама података
СКЛ, то је стварна реч коју Можда тип или барем пренесе.
И у ствари, оно што сада треба да урадимо да бисте изабрали Давидова пуна информација
нешто попут изаберите звезда из корисници, придружио градовима, ајде-- и сада
Ја ћу само прећи на другу линију тако да овај фитс-- усерс.зип једнако
цитиес.зип, где усерс.ИД једнако 1.
>> Дакле, шта се дешава?
То је ружно изгледају, али можете некако реад ит лева на десно, одозго на доле.
Избор звезда од корисника је иста као и раније,
али то није од корисника, пер се.
То је од корисника придружио градовима.
Оно што ја придружити та два стола на?
Па, очигледно је корисника столови зип поље,
а тај период је само посебан синтакса да изразе ту идеју,
а ово је градови столови зип поље.
Желим та два да буду једнаки, али желим да на крају изабрали
само они редова где ИД у табели корисници
једнак 1, што је био мој.
>> И само да буде јасно, програмер, обично када
хардцоде нешто попут броја 1, јер у супротном само сајт
подржава Давид ор Тхе Први корисник,
би уместо тога нешто попут ИД, где
ово представља променљива, нешто што
може променити током времена, слично у духу онога што сам раније рекао
са оваквим држаче.
Али за сада ћу га хардцоде као 1.
И шта то значи?
Па, лепо начин да се визуализује то је да ако ова рука је сто корисника,
а то рука је без икаквих сто, ми смо на неки начин финдинг--
и врхови прстију су рар овде, а врхови прстију
Овде су зип, ти си Некако ми се блокирање
тако да се вратиш добијени оригинални сто, по заиста спајање
две табеле на заједничком терену.
И то не мора да буде рар.
То може бити веома нешто друго, али рар је лепо, јер је један, то је кратак,
два, то је увек исте дужине, тако да је
прави ефикасност шта Оливиер овде предлаже
са факторинга кроз зип, и [Неразумљиво] предлаже да се отарасимо
града и државе.
>> Дакле, ово је процес познат као нормализације.
Има ли питања у вези са тим?
Па дозволите ми да нагласим ово је врста ствари,
иако је прилично низак ниво, ова дискусија, да ли мислите
ви на неки начин се изгубио у коров,
ово је манифестација довољно прилика за програмере да буде лоше.
И, у ствари, чак и када смо, у курсеви сам учио, када смо имали,
на пример, неискусне основних програмери
изградити сајтова, на први поглед, сајтови могу да изгледају сјајно.
И они имају све од функционалност смо тражили,
програмери урадили добар посао.
>> Али нису нужно знати довољно о ​​дизајну базе података
или нису добро размисли довољно о ​​врстама података
и врсте корисника у сајт ће имати,
и нађемо, онда, шест месеци касније, након што је дипломирао или премештена на,
да дођавола, наш сајт заиста, заиста споро.
И још ми не говоримо о томе да милиони или хиљаде корисника.
Мислим неколико стотина корисника на кампусу, сви којих бих, на пример,
схоп за програме на У исто време, они су
користећи тај каталог курсева Апликација сам поменуо
и ствар постаје стварно успори јер није било индекса.
Није било црвена звезда, тако да говоре, или ми нисмо имали обавезно
фактор од заједничке податке добити неке уштеде простора.
>> И тако, када провере програмер или особа база или слично,
Врсте питања за размишљање је чак, приликом разматрања нечији код,
да кажем, не нужно поглед кроз све своје кода, али кажу,
Погледајмо кроз табеле базе података.
Шта то чување?
И да онда кажемо, добро, чекај минут, зашто користите цео број?
Шта ако имамо 4 милијарде и 1 ових редова?
И ове врсте питање је прилика
да се некако потисне и добити осећај, где
ако нисте сигурни како да урадите то, да неко више техничке
постави ова питања, о томе да ли или не особа заиста зна свој посао.
И ово је врста ствари, такође, да људи
на интернету ко су самоуки, можда
научити ређе, јер тебе не морају да долазе преко њега
колико, јер можете добити база података горе и трчање,
али ако сте прочитали се на туторијалима или било
је причао о нормализацији базе података и индексирање и перформансе,
Ово су врсте ствари који ће те повредити.
И можете помислити, или лоше инжењер Могло би се рећи, ох, добро, боље плате
за већу базу података или бржи база података
или само бацају паре на ово, вертикално скала, не мора нужно бити тако.
Ако одеш у-- и можеш ићи у после фацт-- и додати индексима,
и можда ће бити потребно неколико сати за база да се изгради тај нови података
структура које сам алудирао раније, још увек можете поправити ово након тога,
да је ово где си почињу да разликује
добри дизајнери из лоше дизајнери, а не само естетски,
али у питању перформансе као добро.
Неко питање?
Не?
Дакле, за носкл, која је била друга врста базе података за које сам алудирао раније,
немате редове и колоне.
Уместо тога, ви би имао нешто да изгледа мало више овако.
Ја ћу користити здрав синтаксу.
Заграда се деси се овде користи доста.
Можда имате нешто као прво име је Давид,
Ви можда има последњи име је Малан, цитати,
Ви можда има ИД је-- извините, вхоопс-- ИД је 1,
емаил је малан@харвард.еду, а ја нећу смета куцањем остатак, и онда
неке друге ствари.
>> Другим речима, ово је приказ текстуални
онога што би обично зовемо објекат у компјутерском програму.
И предмет је генерално само збирка кључних вредности парова.
Дакле, опет, то понавља.
Видели смо кључ вредност пар у ХТМЛ, видели смо кључне вредности парове сада
у контексту база података, а ми Видела кључне вредности парова у контексту
од, мислим, језик раније данас.
Стално долази.
И заиста, то је стварно који подаци се своди на,
података и метаподатака, или вредности и кључеви, респективно.
>> Дакле, не-релациона база података, нешто на бази
на објектима, где се само грумен све заједно и ставите га
у меморију, би генерално на слици као, или мислио, јер то.
И ја ћу сада оставити да као врста алтернативног приступа.
А један није нужно боља од друге.
У ствари, веома у моди ових дана су системи за базе података
као МонгоДБ и РЕДИС и неколико друга таква алата, слободно доступне,
али су све моди.
Делом због тога што они нуде додатни карактеристике преко тих плочастих приступа,
али и зато што су мало лакши за коришћење,
јер не морам да размишљам као тешко о много ових одлука дизајна.
Тако плусева и минуса.
Тако схватају да су опције више од онога што смо управо провели време на.
>> Хајде да урадимо ово.
Хајде да транзиције мало се сада на веб програмирање,
тако да смо некако закључити данас са нечим
То је мало хандс-он, пуњење у неким празнина од јуче.
Пусти ме да ово прво.
Тако се сетим да је јуце имамо мало канонски ХТМЛ
странице које су у почетку, само ХТМЛ и онда секундарно имао ЦСС,
Цасцадинг Стиле Схеетс.
Ово је нова ознака које нисмо види јуче, или живе на,
тзв ознаке скрипте.
>> Испоставило се заправо можете уградити језик назван ЈаваСцрипт у свом веб
страна и направите веб страница уради нешто.
Дакле, шта хоћу да кажем?
Па, пусти ме само напред и само позајмим код за тренутак.
Ја идем у цлоуд9, нема потребе да идем тамо сами још увек,
и ја ћу назвати алерт.ХТМЛ.
Идем да налепите у мом досијеу овде.
И само да се разјасни шта сам урадио, нека ме на ову адресу и идите на упозори,
и видите Хелло Ворлд.
>> Али ово је мало ундервхелминг.
Желим да урадим нешто мало другачије.
Тако да ћу стварно урадити.
Ја идем у овде е, и између мојих ознаке скрипте,
кажу алерт ( 'Хелло Ворлд'); тако обавештење то је мало траљаво, али имам ХТМЛ,
од којих је у језик назван ЈаваСцрипт
и то је оно што се зове позив функције или поступак позив.
Ово је глагол, буквално, у овом случају, и ја сам позивајући се код функционалност
да је неко други написао.
>> Тако да је функционалност је Упозорење, па идемо на овој страници
Сада и кликните на Релоад, и сада види мало интерактивности.
То је нека врста старе школе и ружно.
Ова врста вас подсећа од поп-упс, можда, од прошлих
али је до нечег мало више програмски.
>> Тако више од тога, хајде да урадимо нешто интересантније.
Пусти ме унутра и ријеши ово.
И ја идем напред и створити образац као што смо урадили јуче.
У ствари, знаш шта?
Ја идем у гоогле.хтмл, који смо
почела је јуче, који је изгледао као ово, преко које смо тражили цат
Али примећујете да је нека врста грешка у садашњој верзији.
Она ради за мачке, али претпостављам да Ја не сарађују и куцам ништа,
и ја једноставно кликните поднети.
То је чудно понашање.
Одвели су ме у стварном Гоогле, Није ми дао поруку о грешци.
Хтео бих да кажем корисника треба да нам дају вредност.
>> Како бисмо могли да урадимо ово?
Па да се вратимо у Цлоуд9 и пусти ме у врху моје странице
и додати скрипт таг овако, где Идем да унесете мало ЈаваСцрипт кода.
И ја ћу да урадите следеће.
Иф (доцумент.гетелементБиИД-- и опозива да смо о томе разговарали раније,
да функција.
Шта ИД желим да добијем?
Желим да к, а ја ћу рецимо једнако ништа, овако--
заправо да употребим наводнике само за цонсистенци-- једнако ништа,
онда упозорење ( "Унесите упит") овде.
>> Тако да имају оно што изгледа нешто као услов.
Видели смо ову општу идеју у Сцратцх.
То је као један од оних слагалице комада који су изгледали овако.
А шта ја то говорим?
Па, овде, приметио сам урадити следеће.
Ја ћу дати овај формулар поље не само назив к, који
је оно што добија прошло Гоогле, али ја сам ће му дати локални идентификатор,
назива К.
Али сам могао назвати нешто што Желим, ја ћу да остане једноставан
и такође га зову К, само због једноставности.
>> А сада ћу да урадим нешто мало више.
На пољима обрасца овде, идем да додати оно што се зове догађај трговина.
На субмит, желим да позовем функција се зове потврда.
Ово још увек не постоји, ово реч, или тај глагол Валидате,
јер оно што ћу да урадим овде сада је додати неки код.
>> Ја ћу рећи функцију Потврдите.
Ја ћу да увучете ово и додати још коврџава браће овде и још једна овде.
Размислите о чему се сада ради.
Имам сада-- мисли о овоме као створен мој властити слагалице који нису раније
постоје, а ја сам назвао ово слагалица пиеце Валидате слагалицу комад.
Његова сврха у животу је да се изврши четири линије кода у њему.
>> ako доцумент.гетЕлементБиИд тако концептуално,
који ће ићи у елементу, ХТМЛ елемент чији је јединствен
Идеја је само к, и онда иако синтакса изгледа мало чудно,
да једнако једнако само значи једнаки.
То значи, ако елемент са јединствени идентификатор к, када стечен,
нема вредност, то само једнако под знацима навода, нема ничега,
онда оно што желим да урадим?
Желим да виче на корисника.
>> И нећемо пуно детаља овде.
Ја ћу се вратити лажна.
То је грешка.
Друго, ја ћу се вратити истина.
Дакле, било да је радио или није.
Лажне или истините.
А сада, ако нисам направио неку грешку, пусти ме да сачувам и поново ово.
И дозволите ми да проверите да Нисам, у ствари, било какве грешке у куцању,
тако да не осрамотити себе.
Да видимо да ли ово ради.
>> Дакле, сада ћу да куцате мачке.
То је још увек ради, или пола ради, најмање.
Сад ме пусти да га поново, и сада нека да покушам подношења без куцања
било шта дођавола, је пукла.
Само тренутак.
Пусти ме да отворим конзолу, [Неразумљиво] лог, поново страницу.
Дозволите ми да ово покушамо поново.
Ох, проклетство.
Заборавио сам.
Направио сам грешку у куцању.
Сећам се шта је то.
.валуе.
Хтео сам да кажем да је вредност елемента чији је ИД је К
једнака је, затим викати на корисника.
>> Па сад да опет држи дах.
Идемо.
Ево га.
Унесите упит.
Дакле, није ме пустити преко.
Могу бити некако разиграни са овим, и уместо да провере без вредности,
Ја нешто да кажем као, више у потрази за мачке,
и сада можемо само више у шали пустити корисник потрага за псе ако он или она
жели, или ако одем тамо и тражи мачке, сада не могу.
>> Дакле, шта је понети овде?
Дакле, један, увели смо у наш свет ХТМЛ и ЦСС,
програмирање функционалност.
Ја заправо могу сада доносе одлуке у коду.
Раније, све што сам могао да урадим је означили текстуални садржај или графички садржај
и реци шта да траже као и где се приказује.
Сада сам заиста могу питати питања веб страници
и доносе одлуке засноване на њему, и питати корисника
ако треба да вичем на њега или њу.
>> Дакле, хајде да пробамо нешто сами са овим.
Само напред, пусти ме отвори следећи слајд овде, и само да кажем једну ствар.
Баш као и са ЦСС, можемо фацтор од наш ЈаваСцрипт кода на посебан фајл,
можете да урадите исту ствар са ЈаваСцрипт као и ЦСС.
А ви користите да користите извор атрибут скрипте ознаке.
Али нећемо компликовати ствари за сада.
Уместо тога, ако можеш идите на ову страницу не,
али- да пређемо ово преокрене у ордер-- идем, ако бисте могли, ову страницу овде.
Овај УРЛ овде.
То је у данашњим слајдовима.
Можда ћете морати да поново јер Додао сам пар ствари.
>> Али идем тамо где нека слагалице чекају.
И то ће нам дати шансу, у нешто забавније контексту,
да се бави са неким ЈаваСцрипт.
И кад стигнем тамо, Ја ћу објаснити шта чека.
Гет зелено.
Сет плаво.
Поставља зелена, поставља црвени.
Оопс.
Извините.
>> Ово је обим нашег документација за овај изазов.
И ово ће да ради на следећи начин.
Дакле, шта имате на ово страница је гомила
имиџ слагалица од једног другара на Универзитету Станфорд.
Дакле, оно што видите овде је скоро врста једног од тих Магиц Еие слагалица,
али ако само буље у њу, Ништа се неће искочити на тебе.
Уместо тога, нешто је скривена у овој слици.
И то је скривена на следећи начин.
Слике, као што знате, може бити састављен од само три боје.
Неки црвена, неки плаве, а неки зелени.
И можемо учинити све боје у дуге
мешањем те три боје некако.
>> Дакле, ово изгледа углавном зелено и плаво, али као Ник каже овде,
ово гвожђе слагалица слика је загонетка.
Она садржи слику нешто познат, међутим,
је слика искривљена.
Чувени објекат је у црвеним вредности.
Међутим, црвени вредности Имам све је подељено са 10.
Тако да су премале фактором 10.
Другим речима, Ник узео оригиналну слику,
а он све десатуратед на црвеном од њега,
смањење количине црвене мастило, ако хоћете, у томе.
>> Плаве и зелене вредности су све само бесмислена,
рандом вредности, звани бука дизајниран да сакрије праву слику.
Дакле, шта Ник је он био ублажена црвено и онда
он је само бацио случајни количине плава и зелена
на слици на врсту нејасан шта је заправо још увек тамо.
Морате да поништите те дисторзије да открије слику.
Прво, подесите све плаве и зелене вредности на нулу да их са пута,
и погледај резултат. онда умножавају сваки ред вредност за 10,
сцалинг назад до око његова коначна вредност.
Шта је познати предмет?
>> Дакле, сви ви имате тај правоугаоник у вашем бровсеру сада.
И приметити да постоји неко стартер код, да тако кажем.
Ово је ЈаваСцрипт код да Ницк је написао за вас.
И приметити да постоји линија у средини која
почиње са сласх сласх, то је оно што се обично зове коментар.
То значи да је израз за програмера да нема функционалну значење.
То је само визуелни знак да у човеку.
>> Тако да можете ићи напред и обрисати само ту линију,
и бити супер не рачуна да избрисати или променити било шта друго.
И дозволите ми да вас провести кроз шта је ово код ради и ја ћу га оставити
На вама је да схватим тајну слику.
Ова прва линија овде да сам управо истакнути даје следеће.
На левој страни, имате оно што се зове
променљива која Ник има произвољно, али разумно под називом им за слику.
На десној страни те знака једнакости,
Он каже дај нови цитат, под знацима навода "једноставно слика".
>> Једноставна слика, у овом контексту је оно што се зове класа, добро,
то је нешто као цласс-- техничком смислу прототипе-- али стварно,
ово ми даје нови објекат, чији садржај су фајл,
гвожђе-пуззле.пнг.
Другим речима, Ник је створио овај појам једноставне слике
тако да можемо, за педагошко сврхе, играју са сликом
и променити ред, зелене и плаве вредности.
>> А како ћемо да радимо?
Ова помало загонетан синтакса овде је као нека врста понављања блока
да су неки од вас видели у Сцратцх раније данас, где можете да поновите 10 пута.
У овом случају, Ник нема хардцодед број као 10.
Уместо тога, он каже, инитиализе променљива под називом к 0,
проверите да ли је к мање од ширина слике.
>> Па да буду прави, слика је променљива, тачка значи ићи у њему
и добити своју ширину, и онда Отворена заграда, затворено
заграда је само начин на који програмера да се каже да је ово функција.
Ово је поступак.
Ово је функционалност неко други написао.
Користите га и врати ми одговор.
А онда је к ++ је фенси начин каже, након што сте то урадили једном,
повећајте к је 1.
Другим речима, овај је програматор је начин
индуковања петљу која је да прелазили преко
све колоне у слици.
>> Слика је само мрежа у тачке, редови и колоне тачака.
Ово је начин итератинг током свих тих колона.
И изнутра, У међувремену, ми смо итератинг
над висинама, овде и овде и овде.
Да ли је ово само начин да се траипсинг, Скоро као стари школски писаћој машини,
да само прећи преко цела слика итеративно.
Ни то није баш у потпуности јасно, само се на вери за сада,
да су те три линије кода заједно су
ће омогућити да итеративно поглед на сваки пиксел, сваки дот на слици.
>> Шта је пиксел?
Па, да буде јасно, ако погледамо у оригиналу и зоом ин,
ако стварно ставити очи на екран рачунара, то је
само гомила тачкица, неколико хиљаду тачке пакује заједно тамо.
И шта сте да учините?
Сваки од тих тачака, коначна дефиниција,
је резултат онога што је генерално назива РГБ, црвена, зелена, плава, који
опет, могу се комбиновати у да ти дам било који број боја.
>> У ствари, ако се сећате од многих пре, много година,
пројектор екрани попут ових ствари некада имао ни један објектив већ три.
Један од њих испљунути црвено светло, један од их испљунути зелено светло, један од њих
испљунути плаву светлост.
И ако сте били у средњој школи као био сам гдје никада нису били
равне, си увек посматра историју филмова
који су били мало искривљено, јер три боје нису
комбиновање правилно.
>> Али испоставило се да је свако од Ове вредности црвене, зелене и плаве,
могу имати бројне повезан са њима.
На пример, 0 за црвено значи да нема црвена, 0 за зеленим значи не зелена,
и 0 за плаву значи да нема плаво.
Дакле, ако немате црвена, не зелена, и не плаве, које боје имате?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Ти би Надам се, да је бела.
На жалост, овај оператес-- жао?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Дакле, ви у ствари има црни, у овом случају.
Дакле, ако немате ниједан од ових боје укључен, имате црно.
Међутим, ако имате, рецимо пуно од њих, као и много црвене, 255 тога,
много зелене, и много од плаве, то је бела.
Дакле, то су два екстрема.
Дакле, у овом логиком, ако имам пуно црвене и зелене нема и не плави,
Које је боје је то?
ПУБЛИКА: [неразумљиво]
Давид Малан: Добро, очигледно.
И онда не црвена, много зелено, плаво не, и онда
ако се добро бих--, само ћемо завршити то, само зато, али то, наравно,
Сада је плава.
А сада можете комбиновати ове боје.
Сада као страну, ако неко од вас има није урадио неки стварни дизајн вебсите,
ви заправо можда види симболе као што је то.
ФФФ-- и заправо, то је Вероватно ни то.
То је ФФФФФФ.
>> Ико икада видио П-а и Е је и А тхроугх-- испоставило се,
Разговарали смо јуче о децимале, и данас, некако око децимале.
Данас смо разговарали о бинарни.
Испоставило се да, хексадецимални је веома заједнички основни систем за употребу у рачунарству.
Бинарни је два, децималне је 10, Хек је 16.
И испоставило се да, како да рачунаш у хексадецималном?
Нула, један, два, три, четири, пет, шест, седам, осам,
девет, шта користите после девет?
Шта је следећи број?
Ми смо већ користили нула.
Морам 16 од њих.
Нула, један, два, три, четири, пет, шест, седам, осам, девет,
ти треба мало произвољно конвенцију.
>> А шта човечанство одлучио мало времена Пре да је после девет долази писмо
А и затим Б, а затим Ц. Дакле Начин на који рачунати у хексадецималном
је нула, један, два, три, четири, пет, шест, седам, осам, девет,
А, Б, Ц, Д, Е, Ф, и да ће се рачунати ти скроз, испоставља се, до 15.
Дакле, нула до 15 нула кроз Ф А зашто је то битно?
Па, када имате два Ф је, тако да изразите 255.
>> Тако скратим причу, у свет Пхотосхопа,
да графички дизајн софтвера, у свету веб развоја,
где имате пуно боја, наравно, да се играју са,
често програмери ће екпресс оне у хексадецималном,
само зато што има тенденцију да се мало једноставније.
Иако је на први поглед то је много сложенији.
>> Дакле, у сваком случају, ово је важно јер Ницк на Станфорд
нам је дао шест комада функционалности да вама, новије програмери,
ће сада имати могућност да користе.
Уграђена у овој веб страница је шест функција,
шест процедуре које Ник написао.
Три од њих ће ти број, црвену, зелену, или плави вредност.
Три од њих ће поставити ту вредност.
И ова доња црта су само чувари места,
тако да морају да знају шта је то.
>> Тако да са ове три функције, први од ових ствари
ће бити једно к-координата, а други од тих ствари
ће бити и координата.
Другим речима, што дот, који пиксела желиш да се зеленило,
добити плаветнило, добити црвенила.
И онда овде, ово ће бити х, ово ће бити година вредност,
а то ће бити број.
Дакле, хајде да урадимо први Линија ово заједно
а онда ћу га остављам вама у покушају да изведу остатак.
Дакле, по упутствима на овој страници, треба
да повећају црвено за фактор 10, и морамо уклонити зелени
и уклоните плаву.
Почнимо са каснијим сценаријима.
Дакле, ако желим да, и ја идем да увучете користећи неки простор,
ако желим да подесите црвено, зелени, или плави вредност,
Ја ћу да урадите следеће.
>> Слика, им.сетБлуе, а затим на основу мојих инструкција овде,
Које три ствари бих тип унутар заграда сада?
Треба ми к вриједност, И вредност, и који број
да ставим овде ако желим да се отарасим ведра неба, на основу ове приче овде?
Само нула.
Ако ја желим плава, ја сам ће то променити на нулу.
>> Сада ћемо само да резимирам како се ово ради.
Ја овде на овим врх Други и трећи линије,
тврдио сам две петље, нестед петље, ако вас
це, који ће имати ефекат на напредовање с лева на десно,
од врха до дна над свим к вредности и све и вредности.
Јер опет, слика је само мрежа редова и колона.
Тако да ће се добити ослободити од свих плаве.
Пусти ме оставити у следећем реду за вас.
Како да се ослободите свих зеленој?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Лепо.
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Лепо.
И ја ћу да бисте умањили, и само узети брига за то још увек нисте урадили било грешке у куцању.
А ако сте удобно са оним што сте урадили,
само напред и кликните на дугме Рун / Саве и видите шта сте добили.
И опет, ми смо направили само три измене.
да обрисали смо први цоммент и заменио га
са ове две линије кода.
И то је у реду ако је потребно погодити Покрени / тастер Саве неколико пута
поправити нешто.
>> И допустите ми да зумира мој Код тако да можете преписати.
Добро.
Видим Ендру има шта Изгледа да је грешка.
Он је управо добио велики црна правоугаоник свом екрану.
Да ли још неко има велики црни правоугаоник?
>> ПУБЛИКА: Да.
>> Давид Малан: Велики црни правоугаоник?
У реду, па хајде да мислимо шта то значи.
Рекли смо да је нула, нула, нула, тако да нема зелено, не црвено, не плава,
ће вам дати црно.
И испоставило се да већина наших лаптоп рачунара
само немају довољно верност.
Ви не можете баш рећи ту је заправо нешто тамо.
А ако мало можда леан екран напред и назад,
можда ти видим мало нечега?
Можда, некако, на неки начин?
То није сасвим црн.
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Спојлер!
Постоје неке црвене тамо, али сећам из спецификација
проблема, Ник је ублажена.
Он је десатуратед нешто, али не скроз на нулу.
Дакле, ако желимо да увећају износ црвене, дозволите ми да предложи овај трик.
Пусти ме увећање на екрану.
И пусти ме напред и реци износ једнак им.гетРед (к, и).
>> Ова линија кода ме даје нешто што се зове променљиву.
Ја произвољно имам, али, вероватно, разумно зове мој променљива шта,
очигледно?
Износ.
Само износ.
Могао сам да га зове шта хоћу, али ја сам
Коришћењем ове другу функцију које сам раније описао
да количину црвене на х зарез и.
Зашто сам то урадио?
Шта желите да урадите овде?
Треба да адд--
ПУБЛИКА: [неразумљиво]
Давид Малан: Да, можда помножите то са 10.
А ако не знате, ја сам отићи напред и уради то.
Ја идем напред и рецимо, ја желим количину црвена
Желим да будем било шта је у црвеном, а 10,
и звезда, Звездица на вашем Тастатура је који-- не користе к.
Користите звезду.
Тако се множити ствари у већини програмских језика.
>> Па према Карим је интуицију, складиштити у овом променљиве под називом износ,
је колико црвена желим на локацију ки.
Како, сада, да ли се то Пикел имају тај број?
Ви сте већ раније урадили.
Сте поставили зелени и плаве до никакву вредност, на нулу.
ПУБЛИКА: [неразумљиво]
Давид Малан: Да, добро га не жели до 10.
Већ си математику овде.
Тако добијамо вредност црвена, што је мали број, вероватно.
Ми смо множењем од стране 10.
Шта желите да урадите са променљива количина сада?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Лепо.
Тако им.сет-- шта?
>> ПУБЛИКА: сетРед.
>> Давид Малан: сетРед, на локацији ки.
Да.
И само износ.
Другим речима, променљива је привремено чувар места
који можете ставити све што желите у.
Ми се десити да се довођењем број у њој, у овом тренутку.
Ми смо га помножи са 10 да буде већи.
И сада замењујући ту променљиву као онај трећи аргумент, или улаз
за сет ред.
И тако да кад вас заврши то, и узети на знање
од тачком и зарезом и заграда.
>> Само напред и кликните рун / саве опет, и ви
треба видети, магијом, шта је заправо тамо. [? Арва,?] Шта је тамо?
Ајфелова кула у пуноправно црвена, не баш мрак.
то би сада требало да буде јасно, зар не?
ОК.
И Андрев, нема више црна кутија?
ПУБЛИКА: [неразумљиво]
Давид Малан: У реду.
Тако да ћу то задржати на екрану.
Ако желите да играте са овим Касније, ја ћу поново ово за тебе.
Али ово код овде урадио управо то.
Зашто не бисмо урадили једну другу.
Пусти ме да спустите мало.
>> Дакле, у овом случају, пројектора не стварно то учинити правду.
Али на својим екранима, вероватно имају веома црвено и веома црну кутију.
Ово је, такође, је загонетка која показује нешто познат.
Међутим, слика је искривљена.
Права слика, овај пут, је у плавим и зеленим вредности.
Међутим, они су сви били подељени од 20 тако да вредности су веома мале.
Црвени вредности су само случајни бројеви, бука.
Ундо ове дисторзије да откривају праву слику.
>> Дакле, Ник онда вам говори шта да радите.
Сет црвене вредности на нулу, и онда не кваре шта је то.
Онда помножите плави и зелене вредности од 20.
Тако да је скоро Исти програм као и раније,
али сте зауставили тај процес.
И ја ћу ставити свој код са пре на екрану у случају
желите да се вратим на њу или играти даље са тим.
Пусти ме зумира да.
Али решити бакра слику слагалица, број два.
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: У реду, тако да се сам неће дати што више савете.
Тако да би-- Ох, хајде види, имате куцању овде.
И запамтите, ово овде заправо треба да иде тамо.
Дакле, оно што бих ја предлажем, ако желите да фокусирати на овоме, ту је одговор.
Ако желите да се транскрибује да, да Требало би да је први рад.
А онда можете користити да као инспирација за другом.
Леп.
Добро.
>> И за радознале, ово је једноставан пример
од науке или уметности зове стеганографија,
уметност крије информације у сликама.
Типично, слике могу бити ватермаркед врло грубо
са логом на дну угао, али јасно, ви
може бити много софистициранији о томе и стварно
крију друге слике у Имагес некако са овом техником.
>> Узети још 30 секунди, а онда ћемо бар саопшти шта треба да видите.
И ја ћу отићи трећи један као вежба ат-хоме,
ако желите више Паге изазов овог викенда.
И мислим да Ендру могао да га прво добили.
Шта је друга слика, Ендрју?
>> ПУБЛИКА: Кип Слободе.
>> Давид Малан: Статуе оф Либерти ће бити одговор овај пут.
Дакле, опет, само нека једноставна примери, чији је циљ
је да вам дати осећај како ми смо превели сликовно Сцратцх
блокови за више нервира и више компликован код, али све идеје
још увек потпуно исти, мада са увођењем
сада појма променљиве, као може да чува нешто привремено.
>> Хајде да урадимо још један практичан, само да се прикључите тачкице
нешто мало више стварног света.
Када сте спремни, ако можеш Идите на овај УРЛ на екрану.
То је такође у вашој копија слајдови, девелоперс.гоогле.цом/мапс~~В.
Хајде да урадимо нешто заиста прави, да тако кажем, на Интернету
коришћењем Гоогле Мапс АПИ, или Интерфејс за програмирање апликација,
на следећи начин.
>> Гоогле, као и многе компаније, даје пуно слободног функционалности
које можете користити за изградњу своје властите занимљиве апликације.
У ствари, ако сте икада користили Убер да заустави такси или аутомобил,
Ви вероватно знате да Убер има мапа и показује аутомобила на њега.
То је, као најбоље што могу рећи, Гоогле Мапс АПИ.
Они су заправо користе мапе Гоогле, али Убер није мапирање компанија,
нити би то био Посебно занимљив проблем
да се реши на врху њиховог ауто сервис проблема.
И тако стоје, поново на раменима
других Гоогле у овом случају.
Тако да користите мапе Гоогле већ сами сервиси и друге сличне карактеристике.
>> Па ћемо искористити ово да урадите следеће.
И ако сам отишао сувише брзо, само зови ме више у тренутку.
Драго ми је да подсетимо неке ствари слике.
Треба да се види на страници овако.
Дакле, Гоогле лепо, и они су међу најбољима
пружања не само АПИ, али фрее АПИ да
могу да играју са или користити у комерцијалне сврхе.
Они почне да наплаћује те ако је употреба је висока, али сам наставио даље унапред
и потписан нас за бесплатан налог да, надам се, 10 компјутера
нас неће дисквалификовати за изненада.
Тако да се надамо ово Демонстрација ће радити.
>> И приметио да имају АПИ за Андроид, иОС интернет, и веб сервиси,
шта год да је.
Хајде да се фокусирамо на Интернету.
Па кликните на розе кутије, веб, и то ће вас водити, надамо се, на страници
овде.
И имају гомилу АПИ.
И то може бити мало Огромна на први поглед,
али ћу нас управљати кроз оно што желимо.
>> У горњем левом углу је Гоогле Мапс ЈаваСцрипт АПИ, ЈаваСцрипт АПИ-ја.
Зато само напред и кликните на ону.
И то ће вас довести до сада следећој страници, демо и код узорка.
Пусти ме умањили овде.
И дај да нас да-- спустимо где се каже брзе кораке старт.
Ваш екран би требало да изгледа као мој.
>> И ту је два корака, добити кључ и започети развој.
Већ сам први корак за нас, добијање тзв кључ.
И то је заједничка идеја.
Кључ за АПИ је углавном само велики случајни број или стринг
да би требало да налепите у коду,
тако да Гоогле зна ко си ти кад користите њихове службе, АПИ.
Не значи да смо се терети ништа.
И сада, кликните на дугме, уместо један, кликните на дугме Старт у развоју.
Ако би ми само махати преко ако нису сигурни где смо.
>> Дакле, ми ћемо само загребати површина, овде али шта
Мислио сам да ће бити убедљив је да заправо имају све нас,
користећи Цлоуд9 у једном прозору и ово упутство у другом прозору,
летс заиста добити наше Апликација се и трчање
да уграђује прилагођени Гоогле мап у нашем сајту,
а затим додаје један или два функције.
Али ми ћемо само загребати Површина шта можемо да урадимо.
>> Дакле, само брзо проверу исправности.
Да ли су сви у овој страници, ЈаваСцрипт АПИ Гоогле мапа?
Треба рећи да започнете.
Нећемо ићи кроз цела ствар на било који начин.
У реду, у другој картици, ако не има их отворено, не идем у Цлоуд9
и да се то само нова картица, на крају.
Дакле, опет, ц9.ио од јуче, ц9.ио, и само створити нову датотеку.
И само напред и позив то шта год желите.
Звао сам минско мап.хтмл.
Назовите то било завршава у .хтмл.
И требало би да буде приближно где сам у овом процесу
са само жмирка линији у празан Картица се зове нешто као мап.хтмл.
Или фајл, нови фајл овај пут.
>> А сада, преко на Гоогле мапе ЈаваСцрипт АПИ,
ћемо прескочити читање кроз све ове текста.
Али приметите да здраво свет заиста свуда, ви га видим.
Здраво свет има оволики шарене Пример гомила ХТМЛ.
Само напред и копирате само да ХТМЛ тако да од типа доц на врху
све до блиског ХТМЛ таг, иди напред и копирајте све то-- опет,
да је под Хелло Ворлд екампле-- и пасте који у својој Цлоуд9 картици,
тако да сада на екрану треба да изгледа отприлике као мој.
>> И можете га сачувати, али не учитавају још увек.
Хајде да прво погледамо код и видимо да ли можемо
не може се закључити или да науче од онога што је Гоогле
има нас слепо копирање и лепљење.
Они само желе да помогну, буквално, да нас почели,
али нема толико комплексност заправо тамо.
Има ли питања још увек?
Ми смо сигурни да фалсификује напред?
ОК.
>> Тако брзо, хајде да одрадимо неке брзе Санити провере.
Лине један од онога што сам види, и надам се да
види, шта то значи, ДОЦТИПЕ хтмл?
Кареем, сећате?
ПУБЛИКА: [неразумљиво]
Давид Малан: Да.
Овде долази ХТМЛ-5.
У међувремену, друга линија на екран овде значи хеи бровсер,
ево стварно ХТМЛ.
Линија три је хеј браузер, ево глава.
Линија четири је, наравно, хеј претраживач, ево титулу.
Шта линија пет до?
Заправо, ово не Заиста ништа за нас.
У овом случају, то само прилагођава страница за примарну. Лине шест,
нисмо разговарали о томе, али то одређује кодирање знакова.
Постоји више начина да се кодирају фајлова, посебно за стране језике.
УТФ-8 само има тенденцију да буде подразумевани.
>> Дакле, сада ћемо видети у складу седам до 16, неки ЦСС.
И иако смо нисмо видели све ове ствари пре,
можемо некако закључити.
Тако линију осам средства, хеј претраживач, примењују Све од следећег на који две ознаке,
очигледно?
ХТМЛ и текст.
Дакле, зарез је нова ствар тамо.
И то је само начин наводећи више ознака одједном.
>> Онда ми имамо витичасте.
Дакле, очигледно, то говори бровсер, да висину страници 100%.
Дакле, чак и ако има врло мало Садржај, чине целу страницу,
чине ствар попунити страницу.
Направи мапа на крају попунити страницу.
Маргин, шта то значи?
То је обично као произвољна бели простор око ивица
да неки дизајнер браузер само одлучио треба да буде тамо, јер њега
некако чини да ствари изгледају чистији.
Али ми не желимо да.
Желимо мапа иде све до ивица.
Паддинг, слично у духу са маргине.
Маргине значи изван, паддинг средства унутра, али то је иста врста договора.
То је мало тампон између вас и ивицама.
>> А онда линија 13 је добар шанса за брз преглед.
Шта оштар знак карту Мислим, или хаштагот мапа значи?
Шта се то односи, у принципу?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Управо тако.
Ова особина, ово ЦСС имовина се односи на само једну ствар, ХТМЛ ознака
да има идентификациони број цитатом, под знацима навода "мап".
А сада да брзо напред, померање до дна датотеке, која
није далеко, а обавештење он лине 19, ако га налепите баш као ја,
линија 19 има само див, који је подела странице, који је јуче И
назива правоугаони област.
То нема никакве у њој.
То је отворено ознака, близу ознака.
Али нема јединствени ИД.
>> Дакле, оно што се чини догађа овде је Гоогле
се спрема нашу веб страницу на имају потпуну висину 100%,
и не паддинг, без маргине, јер шта ћемо ставити унутра
ове ДИВ, чији је јединствени ИД је Карта, је стварна уграђена карту.
И желимо да попуни страница и не само
има неки мали правоугаоник у средини.
Дакле, слично наглашава линија 14 је мап себе треба имати висину од 100%.
>> Тако да сада приметити између редова 20 и 28, то је ЈаваСцрипт код.
А ово је, иако је то синтактички мало чудно,
нема баш много дешава овде.
У ред 21, ово изјављујући нешто што се зове променљиву.
Уместо да га зове износи, као што смо раније,
ми прецизније говорећи вар, што само значи променљиву.
Могли смо користили да у Ницк Код, али није, па сам
није сметало то радио ни.
То је променљива карта, а онда је
функција која је је позвао инитМап.
>> Дакле, ово је као нашем обичају слагалице у Сцратцх.
Направили смо комад функционалност зове инитМап,
и тај проблем може да закључи шта се дешава овде.
На левој страни, имамо променљиву,
па ћемо ставити следеће ствар у тој променљивој,
са десна на лево.
На десној страни каже, хеј претраживач, дај ми нови Гоогле мапе.
И гоогле.мапс.мап је само фанки начин од прецизирао да ову функцију
припада Гоогле мапама.
>> Након загради, видели смо ово пре, хеј претраживач, добити
ја елементи у страницу, ознака на страници чији је јединствени ИД је--
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: --мап.
А шта се дешава, добро, Ова линија заједно, линија 23,
у суштини говори, хеј претраживач, иди ми
да празан див на страници чији јединствени ИД је карта,
јер желим да убаците у то-- убризгати у њу,
ако вилл-- гомилу садржаја који се дешава да долази са Интернета,
накнадно.
И Гоогле ради све то за нас.
>> Дакле, поново, на самом крају дана, имамо овај пример апстракције.
Немам појма шта је мапа или како имплементирати карту АПИ.
Ми не треба да.
Само треба да кажеш мапу где да се стави, и остави
они у основи имплементација Детаљи Гоогле-у.
Сада је очигледно два комада података
да овај пример је пружајући на Гоогле-АПИ.
Очигледно центар карте, и ниво зум, да тако кажем.
>> И да ли неко препозна ово координате, ширина и дужина?
Вероватно не, али можемо да се вратимо у туториал, буквално види.
Али ми ћемо га видети за тренутак.
ниво зоом је вредност између, не знам знам, један у 13 или тако нешто.
Само има везе са колико сте зумира или ван, и то је то.
И сада на самом крају страница, обавештење ред 29--
мало је ружно јер то врапс-- ову линију кода
је оно преузимања до претраживач Гоогле стварни АПИ-ја.
Све кода који Гоогле-а Инжењери су написали да спроведе
цела ова карактеристика ембеддабле карата.
>> Сада да не мења ништа.
Ако пратите заједно, само напред и само сачувати тај фајл, ако заиста имају
шта имам.
Иди на својој УРЛ.
Можете да кликнете на дугме Рун до врха и да ће рећи
ти опет УРЛ вашег веб сервера.
И то ће вас довести до новој картици.
Ако кликнете на Отвори за мап.хтмл, а шансе су ти
ће добити обавештење, порука о грешци, зар не?
Порука о грешци, порука о грешци?
>> Тако да, нажалост, грешка Порука није то поучно
осим ако стварно отворите конзола, да је посебна картица ми
чува отварање јуче и мало раније данас.
Али сам на саплео ово раније, тако да сам већ
схватио шта је решење.
У данашњим слајдове, или а, у Цлоуд9, обавештење
да ми нисмо урадили нешто намерно.
Обратите пажњу да ово писмо ознака у линија 29, ако читате кроз њега,
то је као мапс.гооглеапис.цом/~~побј нешто, нешто, нешто,
онда приметили некога, један од програмера,
је написао у свом граду писма, да АПИ кључ.
>> Морамо да налепите нешто унутра.
И то је био корак Ја сам за нас пре,
и опет би могли црну листу нас ако изненада, 12 или више од нас
почну да користе исти кључ, али хајде да видимо шта ће се десити.
Дакле, ако идете у данашњем слајдови, један слајд касније, ту је
ово врло Функи изгледа низ текста.
Само напред и само копирајте да и пасте где пише кључ АПИ-ја.
То је онај који сам потписала.
>> И дефинитивно не покушавајте куцање га ручно,
јер се осећа пун са куцању, потенцијално.
Па само копирај то.
И то ће направити линију дуже, али сада, само да буде јасно,
то би требало да изгледа мало више овако, где кључ једнако не
капитализована виче на вас.
Сачувајте своју страницу, да се вратим на другу картицу, релоад,
и надам се да видети мапу где?
>> ПУБЛИКА: Аустралија.
>> Давид Малан: Аустралија.
Дакле, очигледно то су ГПС координате Аустралије.
И пусти ме шетају само на тренутак и помогне ономе ко је не баш тамо,
али дозволите ми да предложи, преко Гоогле-а, наћи ГПС координате на свом родном граду
или свој домовина.
И вероватно Гоогле може претворити ово горе, или Википедија могу ти рећи.
Али изабрати два различита вредности за географске ширине и дужине,
вратити у и налепите их, и а затим поново страницу након снимања
и видите да ли можете имати мап за своју родном граду.
>> А када завршите са да је праћење цхалленге--
и ја ћу дати мало мање правац, намерно, тако да намерно
боре се за пар минута са документацијом,
промени мапу да не буде ово нацртано подразумевани, али сателитска карта.
Тако да заправо видели сателит слике уместо лепих боја.
>> И наговештај даћу ти је променити врсту мапе.
Го бацк то да се почео страницу за инспирацију.
Као што сте можда прикупити, ако тражиш,
има толико више ствари које можете да урадите.
Неки од вас већ имају променио типа мапе.
Али можете урадиш-- на пример, пусти ме идите на нешто смо урадили за курс
Ја теацх-- мапс.цс50.нет.
Један од наших недипломираних је то урадио.
Ми центра нашу карту преко Харвард Иард и преклопи сва та имена грађевинских,
и имали смо га додам.
Дакле, ако желим да тражи, на пример, Маттхевс Халл,
имамо мало падајући мени.
И мислим да је користи Бутстрапа, на библиотека смо разговарали раније за ово.
А ако кликнете на Маттхевс Сала, одмах
скаче на мапу одређени локација, и то показује
Ви слику у овом малом поп-уп.
>> Али чак и ово мало поп-уп, нисмо спровести.
Ако сам спустимо на нашем добијање почела страну и тражити инфо прозоре,
видећете да су неки од функционалност Ви сами
могу додати, иако са мало више сложености,
је нешто што се зове инфо-прозор.
И ако кликнете на пример овде, а то је оно што је забавно,
можете да урадите нешто овако, кликните на маркер и онда воила,
информације искочи.
>> Тако да нисмо сасвим увели довољно карактеристике ЈаваСцрипт
да наслика слику тачно како ти могао спојити све ове ствари заједно,
али смо некако загребао по површини.
У ствари, то што сам урадио када кликнуо сам на тај маркер,
је ов догађај, тзв на клик догађај.
И ми смо заправо видео је догађај је раније данас,
тзв субмит догађај, кад смо спречавање
корисник из потрази за мачке.
Па смо некако одабрао и цхоосед из реда свих ових различитих карактеристика,
да вам пружи осећај, надам се, онога што заправо може
урадити са мало више удобност у програмирању,
и потпуно слободна средства.
>> Неко питање?
Не?
Ово је твоја последња шанса, на данас најмање, у петак,
да се нешто са својим грудима тако да изађемо одавде
осећају самопоуздања и удобно.
Да.
>> ПУБЛИКА: Зашто не додате још нешто?
>> Давид Малан: О мој боже.
Морам да се одморим овог викенда, мислим.
Остала питања?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Ви можеш-- у Интернет Екплорер одмор у миру,
да сте били у стању да стави ВБ скрипта, виртуелна основни сценарио,
али то стварно није ухваћен на.
Тако кратак одговор је само ЈаваСкрипт.
Остала питања?
У реду, па, пусти ме да радим ово.
Пусти ме да узмем своје колеге ван.
Они имају неку процену форме које они желе свима
да проведе неколико минута попуњавање.
Они желе да прикупе тај формулар и било одрицања да би могли имати напољу.
Они такође ће имати сертификате.
Претпостављам да има још неке грицкалице ван.
Пусти ме ово, и ако вас имате било каквих питања у међувремену,
Ја ћу ходати више појединачно и можемо добити сте почели.
Да наравно.
ПУБЛИКА: [неразумљиво]
Давид Малан: То је обично прави ових дана.
Свакако са веб софтвер, ви се ослањају
другима или си естетски користећи ствари
као боотстрап, тако да не треба да спроводе низак ниво
детаљи менија и дугмад и све то.
Ти ослањајући се на некога као што су Гоогле, тако да вас
не мора да изгради Убер бизнис и мапирање посао,
и било који број сличан примена.
>> У ствари, Пријаве су популарни, такође.
Ако сте користили Спотифи или било који број сајтова,
Ви ћете се пријавите на неки веб сајтовима који користе Фацебоок.
Дакле, шта је лепо, тамо су АПИ за логовања
данас, тако да не морате да има свој усерс табелу
и све од својих база података нужно у истој мери.
Можете пустити на Фацебоок учинити све те сложености за тебе.
Дакле, то је узбудљиво време, искрено, у програмирању,
јер има толико треће стране услуге које можете изградити на врху.
>> И опет, цена коју плаћате је или финансијски или застоја.
Ако Гоогле иде доле, тако се Убер, вероватно,
али можда то је разумни компромис.
И опет, то је једна од тема, надам се, за последњих неколико дана,
је ове компромиси.
И ретко је тамо дешава да је прави одговор.
То је стварно боље два или више одговора.
>> Прође ово око.
>> И ови Цлоуд9 рачуни ће наставити за рад, у теорији, у недоглед.
Можда ћете ако чекате неколико дана или недељу или више да се поново у њих,
можда ће бити потребно да један или пет минута да отвори назад,
али то је само зато што су ставили је спавати да се уштеди на ресурсе.