>> [Мусиц плаиинг]
Давид Малан: Добро, ово је ЦС50.
Ово је крај недеље осам.
И данас, почињемо да попуните у неким комадима
када је у питању изградња ствари на Интернету.
Дакле, сећам се да је у понедељак трошимо много више времена
на ПХП, што је та динамика програмски језик који
летс нам излаз, између осталог ствари, ХТМЛ и друге такав садржај
да ћемо желе да виде.
Али нисмо баш погледао како идемо за складиштење било какву информацију.
Заиста, готово ништа од тога супер занимљиви сајтови сте данас посјетити
имају неку врсту базе података на задњем крају, зар не?
Фацебоок сигурно чува много података о свима нама и Гмаил свим радњама
ваше е-поште.
>> И тако, многи други сајтови нису само Статични Садржај то је информативни.
То је заправо динамичан, на неки начин.
Ти обезбеди улаз, ажурира странице за друге људе.
Можете добити поруке, шаљете поруке, и тако даље.
Дакле, данас гледамо на ближе се темеље пројекта
да ћете зароните у следећу недеља, ЦС50 финансија, који
заправо ће имати да изградите Нешто није у Ц, али у ПХП.
Сајт који Изгледа мало нешто овако
који омогућава да купују и продају акције које су заправо
намеру да на реалном времену стоцк подаци из Иахоо Финанце.
И тако на крају ћете имати илузија за себе и за кориснике
да у ствари куповине и продаје залихе и добијање скоро у реалном времену
исправке, управљање портфолио, од којих
ће се захтевати да, на крају, база података корисника.
>> Дакле, у својим речима, поготово ако ниси
Супер упознат са рачунаром наука или базе података, што
Да ли знате базу података да је сада, у смислу нонтецхницал?
Шта је то?
Како бисте га описали да цимера или пријатеља?
>> ПУБЛИКА: [неразумљиво] Информације [неразумљиво]
>> Давид Малан: Дакле, списак информација, или сторе-- листу информација
да би желите да сачувате о нечему, као корисник.
А шта слави повезан са њима?
Ако сте корисник на Фацебоок-у или Гмаил, које су карактеристике
да сви ми корисници су?
Као, шта би могло бити неке од колоне у табели у којој смо
алудирао последњи пут?
Јер опет, можете Мислим базе података
стварно као фенси Екцел фајл или Гоогле Табела или Аппле Бројеви фајл.
>> Па, шта мислиш о када помислите на корисника?
Шта они имају?
Шта је ово?
>> ПУБЛИКА: Име.
>> Давид Малан: Име.
Дакле, ако је име, као и Давид Малан би бити име неког корисника.
Шта још нема корисник има?
>> ПУБЛИКА: Лична.
>> Давид Малан: Лична.
Дакле, као матичном броју, као твој Харварду ИД или ваш Јејл Нето ИД или слично.
Шта друго може да корисник има?
>> ПУБЛИКА: Лозинка.
>> Давид Малан: Лозинка, можда сат адреса, број телефона, можда, можда
е-маил адреса.
Дакле, постоји гомиле поља и ово могао некако измакне контроли
брзо чим почнете схватајући, ох, хајде да чувате ово
и хајде да чувате ово и оно.
>> Али како смо заправо урадили?
Дакле, поново је ментални модел да за данас као што смо
зарони у стварном СКЛ, Струцтуред Куери Лангуаге,
је база података која изгледа овако.
То је само редове и колоне.
А можете замислити Гоогле Спреадсхеетс или било који број других програма.
Али оно што је кључно за МиСКЛ, која је База података софтвер ћемо користити,
на слободним отворено аваилабле-- Фацебоок употребе
то и било који број осталих вебситес-- База података складишти ствари релатионалли.
И релациона база података само значи онај који буквално
чува своје податке у редовима и колонама.
То је тако једноставно.
>> Дакле, чак и нешто што Орацле можда сте углавном чули
је релациона база података.
А испод хаубе га, складишти податке у редовима и колонама.
И Орацле вам је терети много новца да то уради,
док МиСКЛ оптужби ви ништа за исто.
Дакле, СКЛ ће да нам дају најмање четири операције.
Способност да изабере податке, као што прочитане података, уметак, брисање и ажурирање података.
Другим речима, то су заиста четири кључне операције
који ће нам омогућити да промени ствари у тим редовима и колонама.
>> Алат да ћемо данас користимо посебно да науче СКЛ и да играју са њим
поново зове ПХП МиАдмин.
То је веб басед алат.
Укупно случајност да пише у ПХП.
Али то ће нам дати графички кориснички интерфејс тако да можемо да
креирају ове редове и колоне а потом разговарати са њима преко кода.
Дакле, хајде да сада почињу да оно што мислим да је искрено
врста забаве процеса изградњу задњи крај сајтова,
делови да корисници не види, али сигурно стало до,
јер је то прилично података иде.
Тако, слично Ц и А мало мање као ПХП,
СКЛ или база података која подржава СКЛ има типова бар ови подаци
и гомиле других.
ЗНАК, ВАРЦХАР, ИНТ, БИГИНТ, ДЕЦИМАЛ, и ДАТЕТИМЕ.
И ту је цела гомила других карактеристика,
али хајде да урадимо тако што начин стварног пример.
>> Ја идем у ЦС50 ИДЕ где, унапред сам пријављени
и ја исто сам посетио УРЛ за овај алат се зове ПХП-МиАдмин.
И у Проблем сет седам, ми ћемо рећи сте тачно како доћи до овог интерфејса
као.
На горњем левом углу, приметити пише предавање.
И то само значи да унапред, сам створио
празан база података под називом Предавање да нема табеле у њему још.
Нема редова и колона.
Јер, први ствар коју ћемо да радимо
се почињу да направите табелу који ће да складиште наше кориснике.
>> Дакле, буквално преко овде на десно, ја сам
ће рећи базе података Желим сто се зове Усерс.
Дакле, ово је као да сам фајл желите да сачувате све моје податке у.
А колико колона?
Па, хајде да буде једноставно за сада.
Само желим да сачувате као да је корисничко име и име за корисника.
Ми ћемо почети мали.
Дакле, желим две колоне укупно.
И ја ћу ићи напред и кликните на Го.
А онда, за њих колоне, шта ћу
да Па-- ако овај интернет цооператес-- све у реду,
па ћемо да пробамо поново.
Идем да створе сто под називом Корисници са две колоне, кликните на Го, у реду.
Сада имамо стварно брзо.
Хвала вам, јако добро.
У реду, па шта желимо Ове колоне да се зове?
>> Дакле, један ће се звати име.
Дакле, све што видим овде-- и интерфејс искрено се мало ружно крају,
Када почнете да куцате у свим овим подацима.
Али, оно што је лепо је таква врста парадоксално, ја стварање колоне,
али алат има лакомислено положио их у редовима
тако да можете подесити ове колоне.
Дакле, ту нема два недовршена под називом.
А једна од тих области и Желим да се зове име,
а други поље желим да позовем име.
>> А сад морам да бирам врсте података за ове ствари.
Тако, док је у Екцел и Гоогле табеле,
ако желите колону, буквално само укуцајте име или име, притисните Ентер.
Можда је то храбар лице да Само да разјаснимо, али то је то.
Ви не наведете типови стубова.
Сада у Гоогле табеле или Екцел, иоу Можда одредите како ће подаци изречена.
Могао би у менију Формат, а ви Можете одредити показати као знак долара,
покажемо као покретним зарезом вредности.
>> Дакле, то је слично у духу да је оно што смо урадити,
али ово је стварно неће приморавати подаци да буде одређени тип.
Сада, иако сам малопре је рекао да постоји само неколико врста података,
заправо постоји много, и они су
у различитом степену специфичности.
И успут, ти могу ни фенси ствари
као геометрије за складиштење унутар базе података.
Можете сместити ствари као ГПС координате
и заправо наћи, математички, тачке које су у непосредној близини другима.
Али ћемо ово остане супер једноставна
и идите до овде, све тзв врсте стринг.
>> Дакле, овде је списак олуја са гомила опција.
ЗНАК, ВАРЦХАР, ТИНИТЕКСТ, МЕДИУМТЕКСТ, ЛОНГТЕКСТ.
И то је некако огромна.
И, нажалост, донекле парадоксално до Ц,
цхар није стварно ЗНАК.
Ако наведете у бази података да је ваш тип података је ЗНАК,
то значи да да, то је ЗНАК, али је један или више знакова.
И мораш да наведете колико Цхарс желите.
Дакле, шта је типичан Дужина за корисничко име?
Да ли постоји типично лимит?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: 16 можда?
Нешто налик томе.
Знате, у дан, што је било осам.
Понекад је 16, а понекад то је чак и више од тога.
И тако, ово не Мислим дај ми један знак.
То значи да морам да прецизира дужина поља,
и сада могу рећи нешто као 16.
И ту је компромис овде.
Дакле, видећемо у тренутку да то значи једну,
свака корисничко име мора да буде 16 знакова.
Али чекај мало, М-А-Л-А-Н. Ако је то моје име и ја користим само пет,
шта би ви предлажете да је база података да раде за друге 11 знакова да
Ја сам резервисан простор за?
Шта би ти урадио?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Да, само да их све нулл.
Нека им простора.
Али вероватно нула, тако да Много Бацксласх нула.
Дакле, с једне стране, имамо Сада се побринуо да моје корисничко име
не може бити више од 16 карактера.
И друга страна је то да ако сам имао јако дуго име
или хтели стварно дуго усернаме као неки од вас
момци можда има у том колеџу или у Иале.еду, не можете имати.
И тако, у ствари, ако сте икада регистрован за веб сајт
и галамити да говоре лозинка је предугачак
или ваше корисничко име је предуго, то је једноставно зато што програмер, када
конфигурисање своју базу података, одлучио да ће ово поље
бити дужи од те дужине.
>> У реду, па шта ако је наставимо да наведемо?
Колико дуго Уколико Име типичног хуману бити?
Колико ликови, 16?
Претпостављам да би могли наћи неког у овој соби
где од његовог првог плус задњи Име је дуже од 16 знакова.
Дакле, шта је боље од тога, 17?
18?
25?
Већи?
30?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: 5.000, о мој Боже.
Дакле, то је вероватно пристојно горње границе, рећи ћемо.
И ту смо некако има донијети пресуду позив.
Као, нема прави одговор овде.
Бесконачни није сасвим могуће, јер смо на крају смо
да бих-- смо ће остати без меморије.
Дакле, морамо да се направи пресуда позива у неком тренутку.
>> Веома честа би, на пример, да Користи, и дозволите ми да одредите ЦХАР овде
као пре-- 255 је буквално горња граница на овом софтвера за базе података
пре много година.
И тако, доста људи би само рећи, у реду.
255 је граница.
Хајде да користи максимум.
А ово је прилично смешно.
Као, ако је неко куцање наме фор 200 плус карактера,
то мало смешно.
>> Али, запамтите да АСЦИИ није једини систем за ликове.
И тако, посебно у Много азијских језика
где има знакова не можемо изражавају на клавијатурама попут мог САД
тастатура, неки ликови заправо заузимају 16 бита, уместо осам битова.
И тако, ово стварно није све то неразумно
да нам је потребно више Простор ако желимо да се уклопи
већи ликови од самог САД центриц оне које смо склони да разговарају.
Дакле, треба нам неки горња граница.
Ја не знам шта је најбоља је, али 255 је генерално честа.
25 осећа низак.
16, 32 осећа низак.
Ја бих грешку на страни нешто већи.
Али постоји компромис, као и увек.
Шта је, можда, очигледно Трговина офф резервисања 255 знакова
за име свачији у мом базе података?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Шта је то?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: То је Пуно сећања, зар не?
М-А-Л-А-Н. Управо сам узалуд 250 ликови само да чувате своје име
одбрана, само у случају да неко у класи има стварно дуг назив.
То изгледа као непотребног компромису.
>> Дакле, испоставља се да СКЛ, овај језик база података,
заправо подржава нешто назива ВАРЦХАР, или променљива ЗНАК.
И ово је лепо у томе ова Омогућава вам да одредите није фиксна
ширина, већ, променљива ширина.
И још специфичније, максимална ширина поља.
Дакле, то значи да име може бити више од 250 карактера,
али свакако може бити мање.
А база података ће бити паметан.
Ако не ставите у М-А-Л-А-Н, то ће само да користи пет,
можда шест бајтова за слично пратећи нулл карактер,
а не троше додатна 249 или 250 бајтова непотребно.
>> Дакле, ово изгледа као да би требало почели су са овом причом.
Али увек постоји компромис.
Дакле, с једне стране, име корисника имам наведено да се тешко кодиран на 16,
а можда то није било право позив, можда га
је, али зашто не користити ВАРЦХАРс за све?
>> Она постоји са разлогом.
Зашто не користите ВАРЦХАРс за сваку област чија је дужина не знате унапред
ако изгледа да је велика ствар, зар не?
Користите само онолико простора колико треба до те границе?
>> ПУБЛИКА: Спорије.
Давид Малан: Спеллер?
ПУБЛИКА: Чини спорије?
Давид Малан: Ох, то је спорији.
Добро, то је скоро увек одговор, искрено.
Као, шта је компромис?
То ни кошта више простора или то кошта више времена.
Дакле, у овом случају, можда ће бити спорија.
Zašto?
>> ПУБЛИКА: [неразумљиво] одређивање [неразумљиво].
>> Давид Малан: Добро.
Дакле, можда се сећате чак и од ПСЕД5, играње са својим приступом
у речник, ако имате да доделите меморију динамички или задржати
расте пуфер, који може заправо бити спор.
Ако имате да позовете маллоц испод хаубе и можда
то је оно МиСКЛ ради, тако сигурно да бити случај.
А ако мислите начин Назад на ПСет-- или чак
Недеља два, када смо радили ствари као што су бинарна претрага или чак линеарна претрага,
једна од лепих ствари о свакој речи у базе података или сваке речи у колони
као потпуно исте дужине, чак и ако гомила тих знакова
су празне, да можете користити директног приступа на вашим подацима, зар не?
>> Ако знате да је сваки Реч је удаљена 16 карактера,
можете да користите поинтер аритметику, тако да говоре, и идите на нас 16, 32, 48, 64,
и можете само скочити одмах користећи аритметику
било речи у вашој бази података.
Док ако је ВАРЦХАР, шта мислиш, уместо да урадим?
>> [Пхоне Рингинг]
>> Ако је то ВАРЦХАР, ви Не могу да користим случајан приступ.
Оно што треба тражити или учинити?
Да?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Лоок кроз вхоле-- трага
целу листу у потрази за шта, највероватније?
Какав посебну вриједност?
ПУБЛИКА: [неразумљиво]
Давид Малан: Лоокинг за нулл терминатори
да одредите одвајање речи.
Дакле, опет, компромис, и нема прави одговор.
Али ово је место где, посебно када ваши корисници добијају да буде много
а ваш терет на својим серверима, Број људи који користе постаје висока,
То су заправо нетривијална одлуке.
Дакле, можемо оставити их као ово, али хајде да спустимо у десно
овде.
Сада, постоји неколико колона где морамо да направимо пресуду позив.
Има ли смисла да дозволи корисник је име, корисничко име једног корисника или се корисник је
Име, да буде нула?
То је само празно.
Осећа мало бесмислена, па сам неће да проверимо те кутије.
Али испоставља се у А база података, можете рећи,
неко може најповољније, да имају ову вредност.
Ова колона нема да стварно бити тамо.
>> Сада, ту је падајући мени.
И приметио сам и даље тамо у првом реду,
тако да говорим о корисничким именом сада.
И испоставило се да база података, за разлику од простог пука табеле,
има моћне функције називају индекси.
И индекс је начин говори база података у унапред да сам ја људском
сам паметнији од тебе.
>> Знам шта врсте упита, изаберите или убаците или брисање или ажурирање,
да је мој код ће се завршити до радили на овој бази података.
Желим да прочитам доста података.
Желим да убаците доста података.
Желим да се стално делете много података.
Ако знам да ћу бити приступа поље као име пуно,
Ја превентивно могу рећи база података, знам више од тебе,
и желим да декретом који требало би индекс ову област.
Где индексирање поље или колону значи да је база података у унапред
треба да позајмим неке идеје из, рецимо, недеље четири и пет и шест из ЦС50
и заправо изградити нешто као бинарни потрази
дрво или нешто генерално назива Б дрво
да учите у класи као ЦС124
на Харварду, један алгоритми класа, или било који број других места.
>> База података и паметна људи који га спроводе
ће схватити како да сачувате тај сто информација
у меморији тако да претреси и друге операције су супер брзо.
Не морате то да урадим.
Не морате да имплементирају линеарна претрес или бинарна претрага
или спојити врсту или избор врста, ништа од тога.
База то ради за вас ако кажеш да превентивно да индексу ово поље.
>> И можете превише види, ту је неке друге карактеристике
можемо рећи база података да спроведе.
Шта би то значило да изаберем Уникуе Из овог менија, само интуитивно?
Да?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Да, корисничко име мора да буде јединствена.
Да ли је то добро или лоше за база података, за веб сајт са корисницима?
Уколико корисничка бити јединствен?
Да, вероватно.
Ако је то оно што је поље користимо да се пријавите,
не заиста желите да људи имају исти осећај или исто корисничко име.
Дакле, можемо имати База спроводи тако
да сада у мом ПХП код или било ком језику, Ја не морам да, на пример, проверите
нужно ради ово корисничко име постоје, пре него што је неко регистровати?
База података неће дозволити да двоје људи по имену Давид или Маланс региструју у овом случају.
>> И као по страни, иако је ово Мени само вам омогућава да изаберете једну,
јединствено индекс је онај који је индексиран за супер брзим перформансама,
али и спроводи јединственост.
И ми ћемо се вратити на оно што је Друга два значи за тренутак.
У међувремену, ако одем у мој други ред, који
је име корисника, треба да одредите да би име бити јединствен?
Не, зато што свакако могао бих-- нема два Дејвид
Маланс у овој соби, највероватније.
Али, ако смо изабрали друго име, можемо сигурно имати судара.
>> Сетите се хасх табеле и слично.
Дакле, ми сигурно не желимо да је поље име јединствен.
Дакле, ми ћемо само отићи да као цртицом, цртица, повлака, ништа.
И ја ћу да одем све остало сам.
Заиста, већина ових области нећемо морати да бринемо о томе.
И када сам спреман да би сачували, Ако Интернет сарађује,
Кликнем Саве, и веома, веома, веома полако се база података спашени.
И сад сам се вратио на ово интерфејс, који се, истина,
је огромна на први поглед.
Али све ћу да урадите је да кликнете на реч корисницима у горњем левом углу.
Ја идем горе, кликните на дугме Корисници, а подразумевано, то
је извршено неко СКЛ, али више о томе у овом тренутку.
Ево само резиме онога што сам урадио.
И да се не бринем да видиш споменути латинског и шведски овде.
То су само подразумевани подешавања, јер МиСКЛ првобитно,
или ПХП МиАдмин, један од њих двојице догодило да се напише неки шведских људи.
Али то је небитно у нашем случају овде.
>> У реду, па зашто је све ово интересантно?
Испоставило се, могу уметнути податке у базу података од стране писања кода.
И ја идем напријед и у мом досијеу овде, ја сам
отићи напред и претварати се ово је повезан на ту базу података, која
није у овом тренутку, али ће бити када дођемо до проблема сет седам.
И ја ћу ићи напред и извршава функцију која се зове упит,
коју ћемо вам дати у проблему сет седам је дистрибутивни кодекс, који
Потребно је најмање један аргумент, што је само низ.
Низ СКЛ кода.
Дакле, ти си хтео да науче како да напиши Струцтуред Куери Лангуаге.
>> Ако желите да унесете нови ред у моју база података јер је неко поднео
облик мом коду, буквално бих напиши ИНСЕРТ ИНТО корисницима следеће
поља: корисничко име, зарез, име, вредностима,
и сада морам да убаците нешто као Малан, и цитирам,
Крај цитата 'Давид Малан.' А сада чак и за оне који нису упознати са СКЛ,
Зато сам ја користећи једноструке наводнике унутар овог зеленог низа?
Шта би могао бити овде разлог?
>> Обратите пажњу Ја сам ко-дружење два језика.
Упит је ПХП функција, али је потребно аргумент.
И тај аргумент мора да буде себи написан на другом језику зове
СКЛ Струцтуред Куери Лангуаге.
Дакле, све што сам Управо је истакао овде
је тај језик зове СКЛ.
Дакле, шта је са појединачним наводнике, баш као брз проверу исправности?
Хајде.
Они су жице.
Дакле, цитат, под знацима навода Малан и цитата, под знацима навода Дејвид Малан су жице.
И само размишљам интуитивно сада, знајући шта знате о Ц и ПХП,
зашто нисам ово, које сам обично Половни двоструки наводници за стрингове?
Зашто ја не желим то да урадим?
Да?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Управо тако.
Зато што сам већ користим Двоструки наводници на путу
изван аргумента на ПХП функција,
Ја бих само збунити преводиоца.
Неће знати, да они иду заједно?
Да ли ово иде заједно?
Дакле, уместо наизменично.
>> Или сам могао да урадим овако нешто, обрнута коса црта цитат или косу црту цитат.
Искрено, да тек почиње да бити веома нечитљива и ружно.
Али то би постигли исти резултат као добро.
>> Дакле, ако сам био да изврши ово упит сада, хајде да видимо шта се дешава.
Ја ћу да наставим сада и прилично него изврши ПХП код који
је место где ћете играти у проблему сет седам,
Идем да уместо иде у ПХП МиАдмин.
И ручно идем да иде на картицу СКЛ,
и дозволите ми да зумира интерфејсу.
И ја ћу да налепите у оно што сам сам откуцао.
А кодирање боја има променио сада мало,
само зато што су формати програм ствари мало другачије.
Али приметити да све што сам урадио је сам рекао, убаците у Корисницима.
Ја сам наведено, онда, у зарез одвојена парентхесизед листа два
поља које желим да убаците, и онда сам буквално сам рекао вредности
затим другог парен, па онда две вредности
Желим да плуг-ин, и сада за сваки случај,
Ја ћу ставити зарез на крају.
Дакле, то није Ц. Ово није ПХП.
Ово је сада СКЛ и ја га лијепити у овој веб базирани интерфејс који је
само да ме пусти, чим кликните на Го,
изврши овај упит на бази ради унутар ЦС50 ИДЕ.
>> Дакле, ово је добро.
Приметимо да је рекао један ред убачена, је супер брз,
0.0054 секунди да убаците те податке.
Дакле, то звучи прилично здраво.
То реформаттед мој упит за мене овде само да га видим
у врсти боје кодирани верзије.
Али сада, ако кликнем Бровсе, приметити да, чак и
мада има доста нереда на екран, мој сто сада има два реда.
>> Дакле, пусти ме иди и уради друго.
Уместо тога, нека ме идите на картицу СКЛ поново.
И овај пут ћу убацити нешто Роб и његово име ће бити роб Боуден.
Боуден.
Идемо кликните Саве.
Упс, радије.
>> Кликните на дугме Потражи опет, и сада приметити Имам два реда.
Дакле, ово је само начин сложенији начин отварања Гоогле табеле
и само куцањем ред у колони.
Али, оно што је кључно јесте да сада имамо синтаксу
са којима се пишу код тако да на крају крајева, ми заправо могли
урадите нешто и то.
Подсетимо да ПХП подржава Супер глобалне променљиве.
>> Шта је унутар долар потписати подвлаку ГЕТ у ПХП?
Узели смо поглед на један или два једноставна примера.
И у ПСет6, сећате ли здраво тачка ПХП који користи ову променљиву.
Шта иде тамо?
Или шта је то?
Мало гласније.
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: То је снег семе низа, који
је само фенси начин да се каже низ који има кључне вредности парова.
И тастери нису нумерички.
Они су речи или жице.
Конкретно, шта су оне кључне вредности парова?
Одакле долазе?
Молим?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Не?
Где оним кључним вредност паровима долазе?
Kaži ponovo?
Опет?
Јесам ли ја једина расправа нешто?
>> [СМЕХ]
>> Тако је, зар не?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Да, долазе из стринг упита.
Дакле, ако ревинд на време да када смо одиграли са Гоогле
и ми смо отишли ​​у Гоогле.цом сласх претрага знак питања К једнако мачке,
ако бих ударио Ентер а ако Гоогле је имплементиран у ПХП-у,
ПХП код које Гоогле написао ће имати приступ долар знак
наглашавају да будем у којима је кључни зове К и вредност
тзв мачке које онда могу користити радили стварни претрагу са.
>> Дакле, у ствари, шта ћу сад је се вратим у ПХП цоде
да опет ћете видети више у ПСет7.
И уместо да зачепљења у тешким кодираним вредностима које
не изгледа као да је веома динамичан сајт,
Ја ћу вам дати теасер од шта је ваш стварни број би урадио.
Ти би ставио у два Питање обележава овако.
Ја не знам шта је корисничко име је.
Ја не знам шта је Име ће бити,
али знам да могу да их динамички.
>> Дакле, ако код смо сада писање је код ради на Гоогле-овим серверима,
или ако је то здраво тачка ПХП који долази са ПСет6,
Идем да пређе у функција упит
баш као принтф, друга два аргумента.
ГЕТ, цитат, под знацима навода корисничко име, и ГЕТ, цитат, под знацима навода име.
А сада, приметио шта се Општа структура је овде.
Имам на левој стране позива,
Ова функција се зове упит у ПХП.
Још увек имам као први Аргумент, само низ текста.
>> Али то низ текста написана на језику који се зове СКЛ.
И искрено, то није велики језик.
Идемо само да разговарамо о формално данас, заиста.
А онда у проблему сет седам, релативно има
неке карактеристике које ми смо да искористи.
Оцене питање, међутим, значи прикључите вредност овде и утикач у другом вредности
овде.
И обавештење, ја сам изоставио оно из целог куоте-- дамн
То-- око цитат обележава овај пут.
Ја сам изоставио цитат знаци око знаком питања,
Жао ми је, овај пут.
>> Дакле, шта је лепо о томе Питање карактеристика знак који
ПХП тежи да подржи, Руби и Питхон и други језици,
ово само значи утикач у неким вреднују овде и знаш шта?
Ви схватити да ли ћете користити појединачни цитати или двоструки наводници.
Не гњави ме са онима интелектуално незанимљиве детаљи.
Али, уверите се да је тачно тако да је мој код је коначно
оперативно и безбедно, који ће имати значење пре времена.
>> Сада, колико аргументи укупно, само да буде јасно, да ли је упит функција узимање?
Свако ко жели да гласа за више од два?
Три?
Наравно, зашто?
Зашто три?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Управо тако.
Први део је стринг.
Други аргумент је знак долара наглашавају ГЕТ конзоле корисничко име.
И трећи аргумент је иста ствар, али само име.
Другим речима, сада ако сам имао веб формулар
која је морала да текстуална поља, један за корисничко име корисника,
један за његово име, само Као што можете видети на сајту
када се региструјете за неки сајт, ово би могло
бити код на задњем крају да заправо ради уметање сада
у базу података.
>> Сада с друге стране, да пустимо брзо напред.
Претпоставимо да је корисник сада улогујете и желите
да напишете ПХП код који проверава да ли особа која је управо пријављени
је заправо корисник, можете користе прилично једноставну синтаксу.
Можете рећи СЕЛЕЦТ, рецимо стар, где звезда значи све.
Ја не знам шта Желим, тако да само ми дај
све колоне из табеле зове корисници где, и то је лепо.
Избор подржава оно што је зове предикат, која је
као начин квалификација оно што желите.
Где корисничко име једнако цитат, под знацима навода Малан.
Дакле овде сам ембеддед унутар аргумент
на ПХП функција, а линије СКЛ кода.
И то СКЛ кода ово Време је буквално
да тражи цитатом, под знацима навода Малан.
>> Сада то није све што корисно, тако да ћу прескочити да
и ја ћу склонити Овај савет од Бради, и идите
и плуг-ин уместо упитник овде.
Дакле, само да буде јасно, шта треба ми други аргумент
бити ако је неко само пријављени и ја желите да проверите да ли је он или она је заправо
корисник?
ПУБЛИКА: [неразумљиво]
Давид Малан: Да.
Чујем знак долара црте ГЕТ цитат, Крај цитата име.
И то треба да се врати мени било који од редова у мом базе
који имају име за Малан.
Сада надам се, ја ћу да се вратим нула ако никада Малан је био овде,
или један ако има.
Не би требало да се вратим два или три или четири.
Zašto?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Рекао сам јединствена, зар не?
Једноставан разлог.
Зато сам рекао да мора да бити јединствени, само логично,
можете имати само нула или један Маланс у овом таблице базе података.
Сада као на страну, само да сте видели да, иако сам стално користи ГЕТ
и иако ПСет6 само користи ГЕТ, сигурно може имати ПОСТ.
И сећам се да је друга порука техника за достављање информација
из неког облика, али је не појави у УРЛ.
То је мало сигурније, свакако за ствари попут корисничких имена и лозинки,
који ПСет7 ће, у ствари, укључују.
>> Дакле, хајде да урадимо ово у ПХП МиАдмин и види шта се дешава.
Ја ћу да идем на таб МиСКЛ.
И приметите да затезна вредност за ПХП МиАдмин, само да покуша да буде од помоћи,
је да изаберете звезду од корисника где је један.
Па, један је увек истина, тако ово има глупо ефикасна
од само изаберите све.
Али ја ћу бити мало више педантно и ручно
откуцати СЕЛЕЦТ звезду од корисника.
>> Сада технички, можете цитирам име столовима.
То је реткост да морате да, али то нису приметили
Ваше нормалне цитати на америчком тастатуре.
Ово је такозвана бацктицк, која је генерално у горњем левом руком
угао тастатури.
Али то је реткост да ћеш заправо треба да смета са тим,
па ћу их прескочити у сваком случају.
Дакле, сада, пусти ме само напред и ударио иде.
И колико редова треба да добијем када сам изаберите звезду од корисника?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Број редова, наравно.
Али колико у томе бетон прича сада?
Два, јер је ја и ту је Роб.
Дакле, ако кликнем идем, визуелно да видим Ја сам се вратила, заиста, два реда.
Има доста нереда на екран, али ја видим само два реда.
Насупрот томе, ако то поново уради и ИЗАБЕРИ звездице од корисника, где корисничко име
једнако куоте, под знацима навода Малан, сада, ако кликнем Го,
Само ћу да се вратим један ред.
И на крају, ако то урадим овако нешто, претпостављам
да не стало узимајући све,
која је врста бесмислено сада, јер постоје само две колоне.
Није да сам одабира огромна количина података.
Претпоставимо да идем напред и не СЕЛЕЦТ име ФРОМ
корисници, где корисничко име једнако Малан, оно што је лепо о СКЛ искрено,
је да се заиста ради само ста ти то кажем.
То је прилично сажет, али буквално само реците шта желите да урадите.
Одаберите име од корисника гдје корисничко име једнако Малан.
И стварно је то експлицитно.
Дакле, сада ако сам погодио Иди, колико редови ћу да се вратим?
Један, јер то је само Малан, надам се.
Или нула ако није тамо, али један максимално.
>> А колико колона ће се вратим?
Колико колоне?
Овај пут, ја ћу да се један, јер нисам
изаберите звезду, која је све.
Сада сам избором само име, па сам само да се вратимо једну колону и један ред.
И некако изгледа на одговарајући начин смешно, само гледам Супер
мали овако.
Дакле, шта се стварно дешава?
Када изврши СКЛ упит користећи изаберите,
на шта циљаш вратила из базе података
је као привремени сто са редова и колона, можда,
али да ништа изоставити да није заправо изабран од тебе.
Дакле, то је као да је неко имао велики табелу свих ученика
регистрован за неке група студената, а ви кажете,
дај ми све од бруцоша који су регистрован за нашу студентску групу, шта
ваш колега у група студената може да уради
се они могли предати само сте целу табелу.
То је као да кажеш изаберите звезду.
И то је мало досадан ако можете само желео бруцош.
И тако, ако уместо тога рекао, изаберите звезда из базе података табеле
где год једнако цитат, под знацима навода бруцош,
то је као да твој пријатељ у студентској групи
буквално је нагласио и копирати само бруцоша редова,
налепљен их у новом Гоогле Табела или Екцел датотека,
и предао вас Бацк резултира само фајл.
То је све што се дешава на концептуално овде.
>> Дакле, на крају, можемо да урадимо неке прилично фанци ствари
чувањем ствари као што су корисничка имена и лозинке и слично.
Али, испоставило се, треба да урадимо мало другачије од овога.
Није тако паметан да само сачувате корисничко име и лозинку.
Неко раније, мислим доле, предложио ИД.
Сада лична би могао бити као Харварда ИД или Иале нето ИД,
али би могло бити још једноставнија у нашем случају базе.
И заиста, чест случај је још један колону.
И ја ћу да одем напред и изменим свој сто.
А ако играте са овај интерфејс за ПСет7,
видећете да можете да проверите ово дугме овде и додајте
поље на почетку табеле.
И сада, ако ја кликните на Го, иде да ми даш једну од оних облика
од раније.
Ја ћу да додам поље под називом личну карту.
И ја ћу се нумеричка тип направити.
>> Имам гомилу од вредности за нумерици.
Ја ћу само да одаберете ИНТ и Не брините о различитим величинама.
Ја не морам да одредите дужина или вредност,
јер ће бити 32 бита без обзира на све.
Атрибути, нисмо видели раније.
Било интерес за било који од ових опције менија ово време?
За ИНТ?
Шта предлажете?
Ne?
Да ли неко од њих има смисла?
Да.
Да, непотписани, зар не?
>> Генерално, ако ћемо дати сви јединствени број, који
где је ова прича иде, ја заиста само желим
особа има број као нуле И један и два и три и четири.
Не треба да се са негативним бројевима.
Изгледа као непотребног сложености.
Желим четири милијарде могуће вредности, не четири милијарде могућих вредности,
па сам дуплирала Капацитет мог ИНТ.
Као страну, ако желите да се односе то нешто као Фацебоок,
поново у врсти мом дану када Фацебоок први пут изашао,
Верујем шта су користећи у њиховој бази података МиСКЛ
да сачувате корисник је идентификатор, је био само ИНТ.
Али наравно, има пуно реалних људи у свету.
Има доста лажне Фацебоок рачуне у свету.
И тако на крају, на Фацебоок прелило величина једног ИНТ, четири милијарде
вредност.
Зато, ако се осврнемо около и ту је сајтова
који могу да вам кажем шта Ваш јединствени ИД је.
А ако никада изабрао име у Фацебоок, видећете свој идентификациони број.
Мислим да је профил тачка тект знак питања ИД износи нешто.
То је сада нешто као велики ИНТ, или дуго дуго ако хоћете,
што је 64-битна вредност или нешто упоредиви.
>> Дакле, чак и у стварном свету раде ови питања на крају понекад битно.
И испоставило се овде, ако сам дајући све од мојих корисника единствен број,
Желим да будемо супер експлицитна и минимално чине ово поље јединственим.
Али испоставило се да постоји једна комад номенклатуре и данас
то је примарни кључ.
Ако дизајнирање базе података сто и знате унапред
да је један од колона у тој табели треба и да ће јединствено идентификује редове
у табели, желите да навести га и реците базу података,
ово је мој примарни кључ.
Ту би могло бити дупликати у другим областима,
али ја говорим да је ово базу података је мој примарни, моја најважнија област,
то је гарантовано да буду јединствени.
>> Дакле, ово изгледа сувишна.
Ја сам сада предлаже да смо додати кликом овде Саве,
поље цаллед-- и ја ћу да иде напред и кликните АИ,
ћемо се вратити на да у једном тренутку, Саве.
Ја сам сада да предложи мој сто изгледа овако.
Имам ИНТ поље под називом ИД, цхар поље зове име,
ВАРЦХАР поље зове име, али ИД, ако је примарни и самим тим јединствен,
Зато сам само троше Време увођење шта
ефикасно је други јединствен поље назвао ИД који је ИНТ?
>> Корисничко име, опозив, било већ јединствена, рекли смо.
Дакле, само логично, не треба свака база искуство разлога
кроз ово, зашто Можда сам унео
инт као мој јединствени идентификатор, као?
Шта је ово-- поновим?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан Рандом Приступ је лакше, зашто?
>> ПУБЛИКА: [неразумљиво]
Давид Малан: Да, то је само приступ бројева.
Дакле, ако ви мислите о овоме истински је табела, као низа,
Сада имам јединствене идентификаторе да могу јумп ароунд.
И боље од тога још увек је то колика је инт ће опет бити?
32 бита или четири бајта.
>> Колика је моје корисничко име ће бити?
Максимално?
16 бајта.
>> Дакле, ако сте заиста брину о перформансе вашег кода,
Сетите се ПСет5, да ли би радије да тражи четири бајтова вредности или 16
бајт вредност, зар не?
То је заиста тако једноставно.
Морате да урадите четири пута више посла тражити корисничка имена, јер оне
су 16 бајтова.
Дакле, морате да буквално упореди свих 16 бајтова буде
Сигурно да, ово је корисничко име желим.
Док за ИНТ, можете урадите то са само четири бајта.
>> И као по страни за оне занима рачунарског хардвера,
Испоставило се да може да стане нешто инт или 32-битна вредност у нечему
назива регистар у рачунару Процесор, што значи да је супер,
супер брзо, чак и на најнижи Ниво хардвера рачунара.
Дакле, ту је свуда само предности.
Дакле, шта то значи?
У ствари, када се пројектује таблица у бази података, готово све време
ћеш да нема Само подаци вам је стало,
али и нешто слично јединствени идентификатор
јер ће се Пустите нас да радимо друге ствари.
И да саплете један проблем овде.
>> Претпоставимо да корисници имају не Само корисничка имена и,
али они такође имају такве ствари градова и државе и ЗИП кодова, најмање
овде у САД.
Дакле, ја идем напријед и само брзо реци,
дај ми још три колоне на крају стола.
И то ће бити Град, ово ће бити држава,
и то ће бити Поштански.
>> Сада врсте Град, које податке треба то бити, можда?
ВАРЦХАР?
Ја не знам шта је Најдуже име града је.
Негде у Америци, ту је Вероватно неке смешно дуго реч,
па идемо са 255, донекле историјски или произвољно.
Држава, шта желите да урадите?
Пресуда позив, зар не?
Шта је можда најефикаснији?
Колико знакова?
Можда само два, ако можемо извући са радим само,
као, МА за Масачусетс и тако даље.
Дакле, ја идем цхар вредност два.
>> Поштански код је занимљив.
Овде смо у 02138, тако да је предлаже да би требало да искористи оно?
То је ИНТ, зар не?
ИНТ, ИНТ, кратко?
Кратки ће радити.
Ne?
ЗНАК или пет, али желим инт.
Зашто потисне на ИНТ?
Убеди ме од овога.
Оно што је глупо о неком ИНТ, моја идеја?
Да.
>> ПУБЛИКА: Узми више меморије.
>> Давид Малан: Узми више меморије.
Четири бајтова, али ти си предлагање зип код
као пет бајтова или је неко био као знак, што се осећа као Ех, то није стварно
случај.
>> Па, забавно прича.
Пре неколико година, када сам користио Мицрософт Оутлоок за мој е-маил,
На крају сам хтео да бисте прешли на Гмаил.
И тако, извози сам све моје контакте са Оутлоок као ЦСВ датотеку.
Цомма сепаратед валуес, који је управо мислио
Сви моји пријатељи су имали имена и прошле имена и телефонске бројеве и ЗИП кодова
и све то.
И онда сам извршена грешка отварања ит уп
у Екцел, који је табеларни програм који
схвата ЦСВ датотеке као што смо видели.
Али онда, мора да сам погодио, као, Командовања или контроле М у једном тренутку.
И Екцел очигледно у вријеме имао функцију којом било ком тренутку
Видела број, је покушао да буде од помоћи.
И ако тај број је почео са нуле, само би их се отараси.
Зашто ти треба водећа нуле на целих?
Они су бесмислене, математички.
Они нису безначајна у УС Постал система.
Дакле, ја сам имао годинама, до данашњег дана, и даље
Имам пријатеље да када редак случај да ми треба неко
решавање ових дана, И даље ћемо видети да сам
имам пријатеља у Кембриџу, Масачусетс, 2138.
И то је досадан ако сте Покушавам да те некако програмски
генерисати коверте или само записати.
А то је због овог разлога, Изабрао сам погрешан тип података.
Дакле, ја волим своју идеју.
Хајде да користите ЦХАР поље.
Пет знакова, осим постоје корнер случај.
Ако и даље слање поште, Понекад зип кодове ових дана,
они су, као, плус четири.
Дакле, морамо цртицу, а затим треба нам још четири броја.
Дакле, да будем искрен, могао би го много различитих начина.
>> За сада, ја ћу задржати је једноставна и само сам
хтео да кажем да је то пет ЗНАК вредност и ми смо
да прескочите цео цртица плус четири.
Али ово су врсте компромиса.
И можете мислити на исти проблеми који произлазе
са бројевима или другим областима.
>> И сада, ово је уствари будаласта пут да иде доле.
Претпоставимо како Роб и ја и Ханнах и Марија и [? Давон?] И Анди
и други на особље све живе у Кембриџу, Масачусетс, 02138.
То је заправо осећају глупо да сам додајући да моји корисници столу, град, држава,
и зип.
Zašto?
>> ПУБЛИКА: [неразумљиво]
>> Давид Малан: Понови?
ПУБЛИКА: [неразумљиво]
>> Давид Малан: Увек су да иду заједно, зар не?
Када се испоставило, користили смо да мислимо ово је био случај док се не исцрпно
претресли целу САД, и испада да постоји
неке недоследности где више градова има
исто ЗИП, што је чудно.
Али, ако се предвиђају за сада то 02138 је увек Кембриџ, Масачусетс,
Зашто у свету би складиштити у Ваша база података Кембриџ и мр и 02138
за мене и за Ханнах и Роб и за [? Давон?] И за друге који живе
овде у Кембриџу, то је савршено сувишан.
>> Требало би да одем са само чување шта?
Само поштански број.
Али онда, ако се само складишти Зип Цоде, желим, вероватно,
за мој сајт да знам где је 02138.
Дакле, треба ми још један сто.
И то је у реду.
И у ствари, ово је један од дизајн процеса пројектовања столова
да ћете радити у ПСет7 као и при желите да фактор од заједничке податке.
Као смо факторинг се уобичајена код и факторинг од заједничког
стилови из ЦСС, овде превише у бази података,
ако треба само да јединствено 02138 идентификује нечије родни град,
немојте складиштити Цамбридге, Масс за сваки дарн корисник у вашој табели.
>> Уместо тога, имају посебан сто се зове Зипс да имају оно колоне?
Вероватно је поље ИД, само зато, за принципи говоримо о сада.
Вероватно зип поље за 02138.
А онда вероватно шта друго колоне?
Град и држава, али само један ред за 02138, један ред за 02139,
један ред за 90210.
И то је буквално све зип кодови знам.
>> Дакле, сада, шта можете да урадите?
Ово је проблематично, јер Сада имам два стола.
Дакле, моји корисници су углавном овде, али њихов град-држава је информације
овде.
Дакле, испада са СКЛ, ту је заправо начин да се придруже информације,
и видећете то у ПСет.
>> Али испоставило се да можеш урадите нешто овако.
ИЗАБЕРИ звезда ФРОМ усерс, ЈОИН зипује НА корисници дот рар једнако без икаквих дот зип.
Који је мало Ворди, додуше, али ово само
значи изаберите све из Процес узимања моји корисници сто
и мој икаквих таблица.
Придружите им се на један поље имају у колони.
Дакле, буквално раде нешто овако, и врати ми
нова привремена табела То је шири, то је већи,
која има све од колоне из оба.
И то, једноставно, био би Синтакса за радиш нешто овако.
>> Дакле, ту је овај испред, али иде
да се и друге одлуке дизајн ви ћете морати да, не само са индексима
али и ради у изазовима.
У ствари, постоји изазов у сваком дизајну базе података
при чему понекад двоје људи желети да приступите исте редове базе података
сто.
Дакле, то је нешто што ћемо сусрећу у ПСет7 као добро.
>> Али сам мислио да погледате један Напад је то могуће у СКЛ.
Које су неке од Проблеми који могу настати?
Тако ћете наићи на ово ПСет7.
И ми вам рећи отворено шта кодирање решење за овај проблем је.
Али, ако узмете вишег разреда нивоу, нарочито у оперативним системима,
ћеш срести питање атомски,
проблем покушава да уради више ствари одједном
bez prekida.
>> А ја сам мислио да ћу представити ово Идеја за ПСет7 са метафором
сазнао сам себе у Марго СЕЛТЗЕР је ЦС164 оперативни системи
пре цласс година.
Претпоставимо да имате један од ових дому фрижидери у вашој соби у студентском дому или кући,
и имате праву склоност за млеко.
И тако, ти дођеш кући са часова Једног дана, када отворите фрижидер.
О, проклетство.
Нема млека у фрижидеру.
Дакле, затворите фрижидер, закључали врата, закључали спрата,
хода иза угла да ЦВС, стани у ред,
и почети проверава по мало млека.
И то ће потрајати, јер оне проклете селфцхецкоут
бројачи се заувек у сваком случају користити.
Тако је у међувремену, твој цимер дође кући.
Он или она стварно воли млеко као добро.
Они долазе у собу, отворите фрижидер, ох Проклетство.
Нема више млека.
>> Дакле, он или она такође иде иза угла.
Али сада, с обзиром да је као два или у близини три или четири ЦВСес,
они се десити да оду у један од другачији на тргу.
И сада, неколико минута касније, обоје
дође кући и ух, највећи проблем икада.
Сада имате превише млека јер ће то ићи кисело.
А ти се свиђа млеко, али не волим млеко.
>> Дакле, сада, ово је био скуп грешка јер обоје
донео одлуку засновану на стање неке променљиве које
био у поступку се мења од вас,
иницијатор ће добити млеко.
Дакле, оно што је можда човек решење за тај проблем?
ПУБЛИКА: [неразумљиво]
Давид Малан: Оставите поруку, зар не?
Увек оставите поруку, ако сте упознат са тим емисији.
Да, постоје нас двоје.
Дакле, увек оставите поруку, или дословно закључали фрижидер
са неком врстом катанца или нешто преко врха тако.
Али то је заправо ће бити Кључни проблем са дизајном базе података,
посебно када можда има више прегледача, више лаптопови,
више корисника сви покушавају да ажурирају информације одједном.
Посебно осетљиве информације као финансијских информација,
при чему са Стоцк Традинг сајт попут тебе ћу да градим,
шта ако желите да проверите колико новца имате и онда ако довољно,
купити акције?
>> Али шта ако неко други ко има заједнички рачун са вама
истовремено покушавајући је да купиш акције?
Дакле, он или она проверава стање на рачуну, обоје
вратимо исти одговор, нема млека.
Или обоје вратимо одговор, имате 100 $ на рачуну.
Обојица покушавају да донесе одлуку купити једну акцију неког предузећа лагеру.
>> И сад, шта се дешава?
Имате две акције?
Немате акције?
Проблеми као што је то могу настати.
Дакле, ми ћемо наићи тога.
СКЛ ињецтион напада, на срећу, су нешто што ћу ти помогнем,
али ово су атроциоусли заједничких ових дана и даље.
Дакле, ово је само један пример.
Ја не тврдимо да Харварда ПИН-систем
рањива на овом нападу.
Покушали смо.
Али, знате да смо ми терен овако.
И Јејл нето ИД има сличан гледајући екран ових дана.
И испоставило се, да је можда Системски ПИН је имплементиран у ПХП.
>> И ако је смо-- је није-- они можда има код који изгледа овако.
Имају две варијабле.
Дај ми име и лозинку од пост супер глобалне променљиве
да смо причали раније.
Можда Харварда има упит као СЕЛЕЦТ стар Фром корисника
где корисничко име једнако је и лозинку једнако томе.
И приметио да сам само прикључите га у коришћењу
таласасту Браце нотација од другог дан, што значи само укључите у вредности
овде.
Нисам коришћењем знак питања техника.
Немам сваког тренутка или трећим аргументи.
Ја сам само буквално изградњом миселф стринг.
>> Проблем је, међутим, да ако неко волим сцрооб,
која је референца на филму, пријављује са овако нешто,
и ја сам уклонити тачкице која обично заташкају
лозинке, шта ако је он Посебно злонамерни
и његова лозинка можда је 12345, по филму под називом "Спацебаллс"
али је критички се унесе знак апостроф након пет,
онда буквално реч или у простору, а затим цитат,
под знацима навода један једнако куоте једну, не приметим да је изостављено шта?
Он је изостављен цитат са десне стране и он је изоставио цитат са леве стране.
>> Јер ако нападач сцрооб је претпоставка
је да су људи који су писали ово ПХП код нису били тако светле,
Можда они само имају неке сингл цитира око интерполацијом
променљиве у заграда?
И тако, можда, могао је некако од заврше своје мисли
за њих, али на начин који ће да му је упао у ПИН система.
Другим речима, претпостављам да је ово шифра
и сада прикључите шта сцрооб откуцала.
И то је црвено, јер је то лоше.
>> А основни текст је оно што је откуцао у,
сцрооб могу преварити Харвард серверу у изградњи СКЛ упит
стринг који изгледа овако.
Лозинка једнако 12345 или један једнако један.
Резултат који, логично, је да ће овај лог сцрооб
у ако му је лозинка 12345 или ако један једнако
један, што је наравно увек истина, што значи сцрооб увек добија у.
>> И тако, начин да се поправи овом, као иу много случајева,
би било да пишем више у одбрани.
Да бисте користили нешто попут наше стварна функција упит, који
видећете у ПСет7, где смо у плуг нешто слично питање обележава овде.
И лепоти Функција упит да
дати је да брани против ових Такозвани СКЛ ињецтион напада, где
неко преварио своју шифру у убризгавањем свој сопствени СКЛ код.
Јер оно што функцији упита дајемо ви заправо ће учинити,
ако користите упитник синтаксу а други и трећи аргумент овде,
је оно што се то додате у улаз да корисник под условом?
Они обрнута коса црта цитира.
>> Дакле, измиче било потенцијално опасне карактера.
Ово изгледа чудно сада, али то није рањива
јер не више променити логику
јер је цела лозинка Сада један цитат који није,
у ствари, лозинком сцрооб екипе.
Дакле, дошло је до неких вицева о томе током година.
Дакле, ово је била фотографија снимљена неке геек на паркингу
где можете знати да неке градове и државе покушавају да скенира лиценцу
Плоча вама или карту Билл Треба ако идете кроз без, као,
Е-З Пасс ствар.
Дакле, та особа претпоставља да можда људи пишу Е З Пасс систем
нису били тако светле, а можда су Само спојени заједно стринг,
тако да он или она није могла злонамерно не само своју мисао заврши,
али заправо изврши лош команду, коју нисам још споменуо,
али вероватно да претпоставим.
То поред избрисати и убаците и ажурирање и изаберите,
ту је кључна реч се зове кап, који буквално брише све
у бази података, која Посебно је лоше.
>> Можемо зумирати на ово ако то је мало тешко да се види.
Ова, сада је чувени цртани филм То је дивно паметно сада
и разумљиво.
>> [СМЕХ]
>> Да, кул.
Некако геекинг напоље.
Дакле, то су, дакле, СКЛ ињецтион напада.
И они су тако лако да се избегне помоћу право код или праве библиотеке.
И видећете у ПСет7, то је Зато смо вам функцију упита.
Дакле, неколико теасерс да смо мислили да
дај те овде у нашем Преосталих минута заједно.
Дакле, као што се сећате из седмице нула, ми уведен ове две сијалице које
су лепе, а не само зато што они су прилично и шарене су,
већ зато што подржавају нешто назива АПИ, апликација
Програмски интерфејс И у ЦС50 до сада, имамо
углавном фокусирана на ГЕТ и ПОСТ, али се испоставило
нема друге ХТТП глаголи попут ПУТ.
>> И у ствари, ово је био слајд из седмице нула
при чему ако сте написали код који шаље ла ПСет6 ХТТП захтев који
изгледа овако са том комаду текста на дну, који се зове ЈСОН,
или ЈаваСцрипт објекат нотација да ћемо причати о следеће недеље,
можете да укључите или искључите или промена боја светла попут оних.
Дакле, ако ЦС50 има уз неким тих сијалица овде у Нев Хавен
Ако желите да позајмим их за завршне пројекте,
Такође Неки Мицрософт Бендови, који су као
ватцхес да носите око зглоба да на сличан начин имају АПИ тако да
може да напише свој софтвер за њих.
>> Имамо налог са Апплеов иПхоне код тако
да ако имате Аппле Гледај или иПхонеа или иПад или иПод,
можете написати код који заправо ради о онима.
Имамо гомилу оф Ардуинос, који су
ситним рачунари без случајевима, у суштини,
да можете да се повежете преко УСБ-а, обично на своју Мац или ПЦ,
писање кода који ради на овим физичким уређаји који често имају сензоре на њих
тако да можете комуницирати са реалном свету.
Имамо гомилу ЛЕАП-Мотион уређаја,
који су УСБ уређаји за Мац-а Рачунари, овде и опет, у Нев Хавен.
А ако га повежете са Мац, заправо можете да контролишете рачунар
пишући софтвер да преко ИЦ зрацима,
схвати где су вам људске руке су, чак и без додиривања тастатуре.
Мислили смо да делимо брзо Осврт на ово, на пример.
>> [Мусиц плаиинг]
Дакле, имамо једну целину гомила тих ствари,
такође, позвао Мио руке траке који сте ставили преко подлактице
и онда можете да контролишете прави свет или виртуелни свет овако.
>> [Мусиц плаиинг]
Или, имамо и неке Гоогле Картон, која је буквално, као,
картонска кутија можете да ставите на вашем лице, али слајд у вашем телефону у њу
тако да стави чашу ваше телефон заиста близу вашим очима.
И Гоогле картон је прилично јефтино на 10 $ или $ 20.
И има мало сочива да мало ван смене
слика на екрану ваша људска очи да вам дају осећај дубине
тако да заправо имају 3Д средина пред вама.
Такође имамо неке Самсунг Геар, која је скупљи верзија овога,
али да исто тако може да клизи у Андроид телефон и дати вам илузију
од-- или дати искуство виртуелне реалности.
И у нашим коначним два минута, смо мислили да покушамо да урадимо ово.
Ако могу пројектовати шта Колтон има овде само да вхет апетит,
пусти ме само напред и баци се на великом екрану овде.
Пусти ме да убијем светла.
Колтон, да ли желиш да идеш напред и стави на своју ћелију за тренутак
и долазила до средини бине?
А да ли желите да пројецт-- то је оно што Колтон види.
>> Сада, Ви-Фи овдје је није толико јак за овај уређај
да је ово супер убедљив, али Колтон је буквално
у овом магичном футуристички месту.
Он види само једну слику.
Ви видите свој леви и десни око да је његов мозак се заједно ститцхинг
у три димензионални животна средина на лицу.
Управо је изабрао опцију овде.
И тако опет, он носи овај хеадсет са Самсунг телефона на њему да је
бежично пројектовање нашем над главом.
Сада сте на Марсу, мислим?
ЦОЛТОН: Мислим да јесте.
Нисам сигуран [неразумљиво].
[СМЕХ]
>> Давид Малан: Испада Марс има те меније.
>> ЦОЛТОН: [неразумљиво] неки кул мјеста ако желимо да идемо да--
>> Давид Малан: Гдје желимо да идемо?
>> ЦОЛТОН: [неразумљиво]
Давид Малан: И да видимо где је Колтон нас води сада.
ЦОЛТОН: [неразумљиво]
>> Давид Малан: Па, ту је толико различита места можете сами узети.
Постоји ФАПИс преко којих можете напиши игре или интеракције које
рун, на крају, на телефону.
Па, ти заиста само писања апликацију за мобилни телефон.
Али захваљујући софтверу и графичке могућности,
Сада Колтон је у томе мала мала колиба.
И на ризик преплављују себе,
Колтон а ја ћу остати за док је на крају часа данас овде
Ако желите да се и играти.
И ми ћемо их следеће недеље као добро.
Без даље, адо То је све за данас.
Видимо се следеће недеље.
>> [МУЗИКА - Рагга Твинс, "лош човек"]