>> DAVID Malan: Gerai, mes atgal.
Taigi įdomi išvada, mūsų paskutiniame skyriuje
apie interneto programavimo, kurį aš maniau, mes norime naudoti kaip bendras terminas
užfiksuoti keletą likusių temų.
Tad galutinio dieną, mes iš tikrųjų
šiek tiek praktinės interneto programavimo su kalba vadinama "JavaScript".
Ir aš manau, mes pažvelgti kažko, susijusio su vaizdais
ir atrasti kažką slapta paslėpti į atvaizdą,
ir taip pat pažvelgti į "Google" išvaizdą Žemėlapiai API taikomųjų programų
sąsaja, kaip kažkas atstovas tipo programinės įrangos
tai vis ir laisvai prieinama šiandien.
>> Bet kodėl ne mes pažvelgti ne ingredientas į šį pasaulį
kad mes natūra buvo atsižvelgiant dalyku egzistuoja
tam tikrą laiką, duomenų bazė.
Per pastaruosius dieną puse mes prielaidą,
kad mes turime prieigą prie duomenų bazės, tačiau kokia problema nėra duomenų bazę išspręsti?
Ką jis daro mums?
Kas tai?
>> Auditorija: [NESIGIRDI]
DAVID Malan: Turi visą informaciją, Gerai, kokių rūšių informaciją
gali jūs įtraukėte į jį?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Bet kokia informacija jūs įtraukėte į jį, jūs gausite atgal.
Tai tiesa.
Ir tipiškas žiniatinklio svetainę ar interneto taikymas, kokių rūšių informaciją,
Tiksliau, gali jūs įtraukėte?
Auditorija: [NESIGIRDI]
DAVID Malan: Vartotojai.
Taigi, kas yra vartotojas?
>> Auditorija: [NESIGIRDI]
DAVID Malan: Gerai, registruota vartotojas svetainę.
Ir ką tai reiškia parduotuvės naudotojai "informacija?
Ką komponuoja vartotoją?
Vartotojas turi ką?
Auditorija: [NESIGIRDI]
DAVID Malan: Taip, asmens duomenys, ir man tai patinka.
Būkime tikslesnis.
Taigi vartotojas paprastai turi pavadinimą, ką dar gali vartotojas turi?
Auditorija: [NESIGIRDI]
DAVID Malan: an addr-- Gerai, taip vardas, pavardė.
Tai gerai.
Tiesą sakant, tegul nustatyti kad, nes tai vyksta
atverti sudaro sąlygas diskusija, dar, dar.
Vardas, pavardė, lytis.
Kažkoks ID.
Kas dar?
Girdėjau kažkas anksčiau, taip pat.
Elektroninio pašto, pašto adresas.
>> Taigi leiskite pristabdyti ten ir dabar mano ne tai, ką mes saugoti duomenų bazėje,
but--, o ne kodėl, nes tai galbūt Akivaizdu, kad, kai jūs užregistruoti vartotoją,
norite prisiminti juos tam tikrą laiką.
Jūs nenorite, kad tiesiog būti saugomi RAM
ir būti forgotten-- taip tegul sutelkti dėmesį į tai, kaip.
>> Ji Pasirodo, kad duomenų bazių pasaulyje,
ten bent dviejų tipų šių dienų.
Kažkas pavadino SQL duomenų bazę, Struktūrinių užklausų kalba,
arba cutely pavadintas, NoSQL, kuri nėra "SQL.
Ir pastaroji yra pavyzdys, kas gali
būti vadinama objektinės, arba objektas parduotuvė, duomenų bazė
, kuris saugo objektus, o ne, pasiteisinimas man, kaip mes netrukus matysime, eilučių.
>> Taigi mes sutelkti tik už momento Pirmasis iš jų, būtent, SQL
duomenų, jei tik dėl to, kad tai taip pažįstama jau niekam
kuris naudojamas Excel "arba "Google" skaičiuoklių ar "Apple"
Numeriai arba bet koks standartinis skaičiuoklės programa,
arba, analogiškai, arba daugiau skoningai,
kažkas panašaus į "Microsoft" Prieiga ar "Oracle"
arba MySQL arba PostgreSQL, kurie visi yra produktų pavadinimai diegimas
iš toliau idėja.
>> Reliacinės duomenų bazės yra tiesiog kažkas, kad turi eilutes ir stulpelius.
Ir eilučių ir stulpelių, Aš tiesiog reiškia kažką
kaip tai, taigi, kur mes galime turėti Pavadinimas srityje ir jos tipo čia.
Ir iš tikrųjų, tegul mane dabar pradėti map tai.
Taigi iš tikrųjų, aš nežinau kodėl aš patraukė atskirą lentelę.
Leiskite išlaikyti šią paprastą.
>> Mes turime teisę čia pradžia mūsų stalo, kur
tai yra srityje pavadinimas ir tai yra duomenų tipas,
ir tipo aš turiu galvoje toliau.
Ar tai skaičius, tai seka, trumpas eilutė kaip žodžio,
yra tai dalis, tai dvejetainiai duomenys, pvz vaizdą?
Ir tegul tiesiog erzinti tai Išskirkite tik akimirkai.
Taigi, pirmiausia pavadinimas, numeris, eilutė, didelis gabalas text--
Auditorija: [NESIGIRDI]
DAVID Malan: Taip, taip, eilutė.
Ir bazės kontekste, mes paprastai tai vadina char lauką.
Aš tiesiog pasakyti char dabar, bet mes ketina patikslinti tai akimirkai.
Simbolių laukas.
Pavardė tikriausiai tas pats.
Lytis?
>> Vyras ar moteris, todėl ji gali būti char laukas.
Tai gali būti arba citatą, citatos pabaiga "Vyras" arba citata, citatos pabaiga "moterų"
arba ji gali būti m arba F.
Jei nori būti labiau imtinai, Jums gali prireikti trečios vertę
ar kai kitoje srityje natūra apskritai.
Ir todėl jūs galite naudoti tikrąjį klaidinga.
Laukas gali būti vadinamas Vyras ir tada galima sakyti, true arba false.
Bet tai nebūtinai fiksuoti visa informacija galbūt norėsite.
>> Taigi paaiškėja, yra dar vienas tipas lauko, kad gali būti naudinga čia
tipiškas duomenų bazės, vadinamas ENUM, kai ji yra simbolis laukas,
bet jūs, dizaineris, gauti išvardyti galimų reikšmių,
kaip citata, citatos pabaiga "Mažosios", citata, citatos pabaiga "moterų" ir kt.
Taigi, kad nepriklausomai nuo vertės yra jūsų duomenų bazėje,
Iš tiesų charakteris pagrindu, tačiau ji turi būti viena iš šių vertybių.
Mes tikriausiai ne nori, kad ENUM pirmą pavadinimą arba pavardę.
Priešingu atveju mes turėtume išvardyti, kaip pavadinimas
kilęs iš, pažodžiui kiekvieną galima vardas ir pavardė.
>> Gerai, kad ID ką reikėtų tapatybės būti?
Taip, kad gal skaičius.
Taigi leiskite klijuoti su kad dabar, skaičius.
Ir skaičiaus, skaičius yra šiek tiek per platus dabar.
Už antrąjį galą dieną, jaučiu, kaip mes
turėtų būti šiek tiek daugiau tiksli.
Taškų galėtų reikšti patinka, ją galėtų būti kažkas panašaus 1.236.
Ir tai tikriausiai ne Ką mums reiškia asmens tapatybę.
Ką mes tikriausiai reiškia asmens tapatybę?
>> Auditorija: [NESIGIRDI]
DAVID Malan: O, gerai, todėl gal tai net ne skaičius.
Gal tai tikrai unikalus identifikatorius tai seka, kaip vartotojo vardą.
Taigi visiškai, galėtų būti.
Manau, kad kažkas tikriausiai reiškė skaitmeninis, nors.
Taigi leiskite gyventi su tuo.
Kokios numerį?
Kas yra daugiau precise-- sveikasis skaičius.
Todėl numeris kaip 0, 1, 2, 3, todėl mes tai vadiname sveikasis skaičius.
Ir net tada, galėjau būti nitpicking, tai
tikrai ne tik apskritai sveikas norite.
Jūs tikriausiai nenorite neigiamas reikšmes, tik todėl, kad jis tiesiog jaučiasi keistai.
Jūs tikriausiai norite teigiami sveikieji skaičiai.
Kad jūs taip pat gali išreikšti kad į duomenų bazę,
Bet dabar, mes pasakyti sveikasis skaičius.
>> Siųsti?
Tai turbūt just-- ką?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Tai pašto, bet tai simboliai, tiesa?
Jis tiesiog turi funky charakterį kaip yra "ne" simbolis ar kažkas,
bet jis vis dar charakteris lauke.
Ir pašto adresą?
Simbolių laukas.
Taigi, kad gražus pradžia, bet būkime šiek tiek tikslesnis dabar.
>> Todėl Pasirodo, kad duomenų bazė, dažnai
turime pasirinkimą virš labiau rafinuotas versijos šių dalykų.
Tiesą sakant, tipiškas SQL duomenų bazės, SQL, arba apskritai, reliacinės duomenų bazės,
duomenų bazės su eilėmis ir kolonos, dažnai
gauti nurodyti ne tik to tipo field-- leiskite man padaryti šiokią here--
bet taip pat ilgis.
>> Taigi, kiek laiko yra vardas?
Manau, D-a-V-I-D. Gerai, supratau aš tikriausiai tiesiog įžeidė kaip pusė
iš kambario žmonių, tiesa, nes jūsų vardai yra ilgesnės nei penkerių
raidės, todėl penkių atrodo šiek tiek savanaudis ir naivus, todėl kas geriau vertė?
10, viskas gerai, ir aš manau, mes Gerai patalpoje.
13?
30?
Kodėl ne aš imtis požiūris anksčiau, kai mes
buvo kalbama apie matricas ir atminties?
Kodėl ne aš tiesiog pasakyti kaip 1000?
Niekieno vardas vyksta būti ilgesnis nei 1000.
Atstumti.
>> Auditorija: [NESIGIRDI]
DAVID Malan: Taip, tai išlaidavimas, tiesa, ypač
jei dauguma pavadinimai yra tik penki, 10 arba 15 simbolių, tai labai išlaidavimas.
Taigi jūs žinote, ką?
Tai tipo iš kietos klausimą.
Dabar mes tikrai gali analizuoti anglų ir bet kuria kita kalba vardai
ir išsiaiškinti, gerai, kas yra average-- vidutiniškai tikrai ne
padėti us-- koks max tikriausiai tai, ką mes iš tikrųjų norime.
Tačiau paaiškėja, mes net turime kai pasirinkimas virš tipo čia.
>> Be tipiškų SQL duomenų bazę, jums turi kažką vadinama char laukas
ir taip pat VARCHAR, V-A-R, kintamo char srityje.
Ir skirtumas yra tai.
Char srityje, projektuotojai, reikia nurodyti iš anksto
tiksli ilgis srityje.
Tai gal vardas kaip 20 jaučiasi rūšies saugus.
Gali tekti padaryti kai kuriuos "Google" paiešką, kad pamatyti, jei tai pakankamai realiai saugus.
Tikriausiai pavadinimas 21 simbolių, bet dabar, manau, 20
yra saugus.
>> Char laukas reikštų duomenų bazėje, kad jums
yra naudojant 20 ir visada 20 simbolių.
Dabar, jei tai tik D-A-V-I-D, 15 iš tų, yra tiesiog bus tušti simboliai,
bet jūs vis dar naudojate visus 20 baitų.
VARCHAR laukas, priešingai, reiškia, kad eilutė turėtų būti iki 20 simbolių
bet jei tai tik penki, jūs tik ketina naudoti
penki, o gal šešis dėl ypatingą vertę pabaigoje
kaip kad 0 aptarėme, kad reiškia, kad personažo pabaigą
seka atmintyje.
>> Taigi, kai jūs manote, galite pasirinkti char
prieš varchar, nes kompromisą?
Char naudoja, kad daugelis simbolių, varchar naudoja ne daugiau kaip, kad daugelis simbolių.
Auditorija: [NESIGIRDI]
DAVID Malan: Gerai, kai jūs žinote, ilgis eilutę gana įtikinamų
tiesiog naudokite char, 'cause jei jį žinote, tiesiog įdėti jį žemyn.
O gal tai tiesa užtrauktuku kodas, JAV, bent jau, 02138,
ji visada bus penki simbolių, kol pridėti brūkšnį keturi.
Tačiau jums gali tekti keletą vertybių kurį visada žino ilgį.
Arba gal valstybiniai simboliai, kaip NY už Niujorke
ir MA už Massachusetts JAV.
Gal jūs turite keletą situacijų kur tai visiškai pagrįsta,
bet ta logika, kodėl mes net overthinking tai?
Kodėl mes tiesiog naudoti varchar ir tada mes tiesiog
visada naudokite dviejų simbolių vistiek, arba visada naudokite penkis personažus vistiek?
Kodėl ne tik sutaupyti varchar už viskas, tos logikos?
Turi būti sugauti.
Auditorija: [NESIGIRDI]
DAVID Malan: Gal parašyti kažką blogo.
Taigi tai yra tiesa.
Tačiau net ir tuomet, jie negali naudoti daugiau atminties nei aš skirti.
Aš vis dar turiu galutinis sako per ilgį,
todėl jie negali netyčia padaryti kad klaida, bet geras mintis.
Tai subtilesnė, bet tai labai susiję mūsų diskusijoje, iš tikrųjų, iš matricos
ir tiesinis sąrašas anksčiau.
>> Pasirodo, kad duomenų bazėje, jei ji žino, kad visas reikšmes yra
fiksuoto ilgio, net jei kai kurie iš šių vertybių yra tuščias,
rūšiuoti estetiškai tuščias, D-A-V-I-D ir tada 15 ruošiniai,
ji Pasirodo, kad jei kiekvienas laukas yra tokio pat ilgio,
panašiai kaip masyvo turėjo visus savo stuff atgal atgal atgal atgal, kad
Jums tik plius 1 gali patekti į kitą vertė, pačią idėją į duomenų bazės lentelę.
Jei visi jūsų charakterį stygos yra tokio pat ilgio,
turite tai, kas vadinama laisvosios kreipties.
Jei visi stygos yra ilgis 20, jūs ne tik
padaryti plius 1 jūs tiesiog padaryti plius 20, plius 20 plius 20 plius 20,
ir jūs galite labai greitai slinkti arba ieškoti per visus savo duomenis.
>> Kintamasis char laukas, priešingai, ne visada turime 20 simbolių.
Ji gali turėti 20 ir tada 15 ir tada 19 ir tada 10,
ir todėl, jei norite ieškoti per jį, galite ne tik aklai
pridėti 20 baitų patekti į kitą.
Jūs tiesiog turite ieškoti per nes duomenų struktūros kraštas,
jei bus, tai nuskuręs.
Jis rūšies eina ir iš pagrįstas nuo faktinio ilgio eilutę.
Taigi, kai jūs žinote, trukmė, kaip Kareemas sako, naudokite char lauką,
nes jūs gaunate, kad efektyvumas yra
sugebėti ieškoti per ją greičiau kai jūs ieškote duomenimis,
kitaip naudoti kintamąjį.
>> Deja, aš neturiu gero atsakymo kaip ilgai pavadinimas turėtų būti,
bet kažkas panašaus pavadinimas, sakyčiau
VARCHAR yra bendras nes jis nesiruošia
būti fiksuoto ilgio visiems.
20, aš nežinau, 20 jaučiasi šiek tiek įtemptas.
Leiskite tik pasakyti, 50, 50.
Jis tikrai ne jums kainuos, kad daug daugiau pasakyti 50, o ne 40,
bet tam tikru momentu, jums reikia kad teismo sprendimas skambutį.
>> Labai dažni, tiesą sakant, dėl [? Istorinis?]
priežasčių, nors tai didelis, ty 255, nes prieš kurį laiką,
populiariausių duomenų bazių sistemų, pavyzdžiui, MySQL nemokama atviro kodo įrankis
kad daug įmonių kaip naudoti net "Facebook",
tai buvo didžiausia pagal nutylėjimą todėl žmonės tiesiog nuėjo su juo.
Taigi nėra neprotinga, bet mes naudoti šiek tiek daugiau intuicija
ir pasakyti, tikrai 50, tai tikriausiai šiek tiek per didelė.
>> Lytis, man patinka ENUM, ir todėl mes, todėl gali
išvardyti vyrai ar moterys, arba gal efektyviau,
m arba F arba kita simbolika, bet ENUM jaučiasi geras pasirinkimas ten.
Kad būtų aišku, lyčių gali būti tiesiog varchar,
ir mes galime tiesiog visi susitaria gražius žmones,
visada įdėti tas pačias vertybes ten.
Vyras ar moteris ar Plauktiņš.
>> Bet problema yra ta, kad mes galime padaryti klaidą, nes [NESIGIRDI] Komisija pasiūlė
anksčiau kitame kontekste.
Jei mes darome klaidą, mes galime gauti neteisingi vertės mūsų duomenų bazės.
Taigi, kas malonu apie duomenų bazių kaip Oracle ir MySQL ir kiti,
yra tai, kad jūs turite tai paskutinis sluoksnis gynybos kur
Jūsų DBA, duomenų bazės administratorius, kas yra projektuojant šią lentelę, kaip mes
yra žodžiu, gali kilti į vietą ENUM, kad
apsaugo nuo kad nurodant Vyriška, Moteriška, ir todėl niekas
dar ne programuotojas gali netyčia įterpti bet kokį kitą vertę.
Taigi tai būtų geras dalykas.
Tai yra funkcija.
>> Taigi tapatybės, darant prielaidą, skaitinę ID, ją tikriausiai turėtų būti teigiamas sveikasis skaičius.
Ir mes kartais turime galimybę aptarti ilgį.
Tu nenorėjai paprastai nurodyti skaičių čia
Jūs verčiau nurodyti tai yra tarpinis junginys, arba didelis INT,
kaip jie paprastai vadinamas.
Tačiau paprastai sveikas skaičius būtų, tarkim, 4 baitai.
Ir jei tai 4 baitų, tai kiek bitų?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: 32 bitai.
Taigi, kiek vartotojų galime turėti Mūsų duomenų bazė jei jie visi turi ID
ir šis identifikatorius turi būti unikalus?
32 bitai reiškia, kad turime modelius po vieną, du, tris, keturis, five--
Taigi, kaip daug skirtingų modelių nuliai ir tie, galite turėti, jei yra 32?
Štai tas pats, kaip klausia, kas du į 32?
Tai didelis skaičius, kad Aš negaliu visiškai gauti teisę,
bet aš žinau, tai maždaug 4 mlrd.
Taigi tai reiškia, kad jūsų duomenų lentelė gali turi keturis milijardus vartotojų, ir viskas.
>> Taigi tai yra įdomi dizainas aspektus.
Padoraus įmonių nusprendė, o gal ir ne tiek daug
savo vartotojams stalo, nes turi 4 mlrd vartotojai yra reta problema.
Tai tarsi "Facebook" stiliumi problema, o ne tipiškas įmonė problema.
Bet gal, jei turite sandorių žurnalai arba kai duomenų rūšis, kuri nuolat
gauna raštu į savo duomenų bazę kad absoliučiai gali turėti milijardus
ir milijardai eilučių ir naudoti sveikasis skaičius už jį,
kas nutiks, kai jums eilutės numeris 4 mlrd
ir tada bandote įdėkite 4 milijardoji ir 1, taip sakant?
Aš supaprastinti skaičius šiek tiek.
>> Galite iškirpti atgal, aš tai jums turi dirbti tai kažkaip.
Ir ką kompiuteris būtų paprastai padaryti, galvoti apie tai net iš šį rytą,
jei turite 4-bitų reikšmę kaip 1, 1, 1, 1, kuris,
tiesiog susieti rytas kartu su pietų, ką
ar šis skaičius atstovauti dvejetainės?
Gerai, mes lengviau.
Ką šį numerį atstovauja dvejetainės?
Gerai, mes lengviau, kas ar tai atstovauti dvejetainės?
Auditorija: Trys.
DAVID Malan: Trys, nes mes turime tuos column--
[Juokas]
Oho!
Mes turėjome tuos stulpelį ir poromis stulpelis.
Taigi tarkime, kad, tiesą sakant, mūsų [? Ariama žemė?] nebuvo 32 bitai,
bet tai buvo du bitai, mes galime skaičius nuo vartotojo numeris 0, 1, 2, 3,
ir tada mes rūšies Atgal į vartotojų 00 kartą.
Taigi, tai yra tai, kas paprastai atsitinka.
Jeigu jūs kada nors girdėjote expression-- tikriausiai ne, bet jei have--
sveikasis skaičius perpildymo, kur jums išlaikyti prakeiktas visa savo bitai
būti didžiausi galimi dydžiai, ir tada jūs iš bitai,
kas būtų paprastai vyksta?
Kodėl aš sakau, 00?
Gerai, tai yra trys.
Kaip aš atstovauju 4?
Kaip man atstovauti už numerio 4 dvejetainiu?
Auditorija: [NESIGIRDI]
DAVID Malan: One-- taip, nesakau 100 SE,
nes ji turi klaidingą konotacija, bet 1-0-0.
Taigi šis skaičius 1-0-0 yra iš tiesų teisingai, bet jeigu turite tik du bitus,
ką jūs tikrai padaryti?
Jūs perkelta į 00.
Ir iš tiesų, tai, kas nutiktų.
Tiesą sakant, jūs galite galvoti Apie tai daugiau familiariai.
Jei prisimenate, kas, prieš 16 metų, pasaulis
turėjo baigtis, kai Y2K problema atsitiko.
Kodėl buvo?
Na dauguma kompiuteriai, skirti pagrįstus sprendimus,
buvo saugoti numerius, pavyzdžiui, 1975 metus arba metus, 1999
tik naudojant du skaitmenys Į kompiuterio atmintį.
Taip žinoma, kas atsitinka, kai jūs gaunate į 2000 metus,
tu tai, ar veikiau, taip.
Taigi jūs einate į 2000 metus, tačiau jei jūs tik dviem skaitmenimis atrodo
kaip metus 00 ir taip jūs perkelta.
Ir tai, kodėl sistemų daug reikėjo atnaujinti tuo metu.
>> Taigi su tai sakė, įmonių, pavyzdžiui, "Facebook" paleisti prieš tai.
Taigi vienintelis būdas tvarkyti situacija, tiesą sakant, yra jį numatyti.
Arba švariausias būdas elgtis šioje situacijoje
yra numatyti taip, jūs neturite turite padaryti pakeitimus vėliau.
Taigi vietoj 8 baitų, žinote, ką?
Aš ruošiuosi būti orientuota į mąstymą čia, nors tai
šiek tiek optimistiškai, kad mes ketiname turėti 4 mlrd
ir 1 produkto vartotojai mūsų svetainėje.
Bet tegul tiesiog naudoti 8 baitų, arba 64 bitai, kuris paprastai turėtų būti
vadinamas didelis sveikasis skaičius, labai techniškas.
Ir tai tik reiškia, kad jūs galite turėti dar daugiau skaitmenų Jūsų numerio.
Bet tai yra svarbus dizainas sprendimas,
nes jei pasirinksite skaičių, kad turi per mažai bitai išraiškingumo
jūs iš tiesų gali sukurti tavo programinės įrangos klaidą.
>> Gerai, tad susivynioti su elektroniniu paštu ir pašto adresą.
Taigi siųsti, kiek laiko turėtų elektroninio pašto adresas bus?
50.
Aš tikrai neįsivaizduoju, bet tai tikriausiai kažką panašaus, kad,
nes kitaip niekas ketina rašyti, jei ji tampa per ilgas, todėl 50,
eikime su juo dabar.
Pašto adresą, kiek laiko turėtų būti?
Auditorija: [NESIGIRDI]
>> DAVID Malan: Tai ne tiesiog zip kodas, nors.
Pašto adresą, aš girdėjau.
Taigi, tai yra kaip 1 Brattle aikštėje kablelis, Kembridžo masę., kablelis, 02138.
Ir iš tiesų, leiskite man tiesiog patraukite iki šiek tiek darbalapį čia.
Tai jaučiasi, kad tai praleista galimybė.
Jei mes turime 1 BRATTLE aikštė, kablelis, Kembridžo MA 02138,
Jaučiu, kaip mes galime padaryti geriau ne tik pašto adresą.
Kodėl mes sprogti tai šiek tiek?
Ką aš gaunu ne?
Ką turėtume vietoje turi mūsų eilių čia gal?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Taip, taip, tegul vadina jį street_number,
ir pabraukimo yra tik bendras būdas, turintis, kas atrodo erdvėje,
bet tai ne, iš tikrųjų.
Gatvė, tada city-- gaila?
>> Auditorija: [NESIGIRDI]
DAVID Malan: Galėtume padaryti.
viena eilutė, linija du.
Kodėl mes nuolat tai paprasta dabar
bet tai visiškai priimtina sprendimas.
Ir tada, valstija, ir tada tegul būti šiek tiek JAV orientuotas dabar
ir tiesiog padaryti pašto kodą, tik todėl, kad jis bus sukelti įdomų klaidą
ar problema čia.
Taigi tarkime, kad dabar mūsų adresas.
Tai šiek tiek labiau erzina, kad turime visus šiuos daugiau laukų,
bet dabar mes galime pažymėti viskas šiek tiek geriau.
>> Taigi, dabar gatvė, namo numeris tikriausiai neturėtų būti char, turėtų tai?
Ką ji turėtų būti?
Auditorija: [NESIGIRDI]
DAVID Malan: Gal, skaičius kaip sveikasis skaičius vėl?
Didelis sveikas?
Jūs tikriausiai negyvena 4 mlrd Main Street
ar kas nors kvailai, kaip kad.
Taigi sveikas tikriausiai gerai, bet turi kas nors
kada gyveno adresu kaip 1A Brattle aikštė, arba 1 ir 1/2?
Šie dalykai egzistuoja, deja, net jei jūs ne ten gyveno,
yra šie anomalijos kaip buto 1A, 1B, 1C.
Taigi jūs žinote, ką mes tikriausiai neturėtų eiti su sveikojo skaičiaus,
kitaip mes ketiname prarasti kai kuriuos pardavimus.
>> Char laukas, gal?
Aš nežinau, kiek laiko.
Tai tikriausiai nesiruošia būti kad ilgai, todėl 10 ar kažką.
Niekas ketina rašyti ilgesnis skaičius, gal.
Bet vėl, mes tikriausiai turėtų suteikti daugiau minties, kad.
Gal google, padaryti kai kuriuos tyrimus, bet mes eiti su mūsų viduriai dabar.
Gatvės, char, 50, aš nežinau.
Tam tikru momentu, niekas manimi vyksta rašyti ant voko,
per daug, todėl ten tikriausiai kai viršutinė ribos ten.
Miestas, tas pats, įsitikinkite, todėl char 50.
>> Valstybė, gali būti JAV orientuotas dabar.
Taigi tai gali būti sąrašas, todėl natūra teismo sprendimo skambučio, valstybės.
Tai galėtų būti, pavyzdžiui, dviejų simbolių.
Taigi iš tikrųjų, gal, aš nuolat kartojo char.
Aš tikriausiai reiškia varchar, tik tam tikrą efektyvumo,
bet mes grįžti į šis sprendimas per akimirką.
Gali būti ilgio 2 dėl valstybės simbolis.
Jei JAV jie turi, kaip MA, Masačusetsas, NY, Niujorkas, NJ, Nauja
Apranga, ir taip toliau.
Taigi ji gali būti nustatyta, kad.
NS Vašingtone.
>> Bet manau, kad Olivier, jums Siūloma kitą metodą.
Auditorija: [NESIGIRDI]
DAVID Malan: Taip, taip, tai tiek erzina, kad tipo,
tačiau pervedimą gali padaryti daugiau prasmės, nes tokiu būdu, bent jau JAV,
galėtumėte išvardinti, jei Nemalonu, bet jums tai padaryti tik vieną kartą savo duomenų bazėje
ir niekada galvoti apie tai visi 50 dviženklių kodai.
Taigi, aš norėčiau ENUM.
Leiskite klijuoti su, kad ten, nes tai tarsi įgyvendina daugiau griežtumo.
Ir tada ZIP kodas?
Manau, Andriejus turėjo mintį apie tai
Auditorija: [NESIGIRDI]
DAVID Malan: Taip, penkis ar devynis.
Leiskite tiesiog laikyti jį paprasta.
Tiesiog atlikite penkis dabar.
Bet gal aš galėčiau tik padaryti sveikasis skaičius, tiesa?
Galėčiau, bet jūs žinote, ką, aš padariau ši klaida iš karto, tam tikra prasme.
Prieš daug metų, buvau migruoja iš "Microsoft Outlook", "Gmail",
ir Outlook turi eksportuoti būdas visus savo kontaktus, kaip "Excel" failą,
CSV failą, atskyrus kableliu failą.
Ir aš padariau klaidą, aš manau, dvigubos ją spustelėdami,
kai aš atsisiuntė eksportą, įsitikinkite, kad jis atrodė kaip tikėjausi.
Turiu nukentėjo Išsaugoti arba leisti automatinis išsaugojimas smūgį ar kažką.
Nes kai aš tada importuoti jį į "Gmail", tai visi dirbo.
Bet už metus, iki šios dienos, ir Aš tai penki, prieš 10 metų,
Aš vis dar rasti draugų, kurie turi adresai, kurie atrodo kaip šis.
Kodėl?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Jis paėmė nustatyta 0, gerai, o, ją
užėmė visą zip kodą skaičius, ir dėl to jis
pirmaujanti 0 o tai reiškia, tai neturi jokios reikšmės.
Ir taip 2138 atrodo mano pašto kodą.
Ir tai, tiesą sakant, erzina "Excel" bruožas, kuriuo Manau pagal nutylėjimą,
net jei jis skirtas tik būti tekstas, "Microsoft Excel"
nusprendžia, leiskite man būti naudinga, ir oh, aš matau tik skaičius.
Leiskite gydyti juos kaip numeriais.
Ir tai nukerta nulius.
>> Prisiekiu Dievu, kiekviena pora mėnesių Manau, adresą,
ir iš visų OKS rūšiuoti, aš einu atgal ir pridėti 0, nors aš niekada
siųsti žmones laiškus ar nieko.
Bet aš vis dar rasti likučiai tai.
Taigi tai yra pasakyti, ar tai gera idėja?
Gerai, ne, nes kas nors Masačusetsas, šioje srityje,
teks Ø genami.
Taigi eikime su panašiomis Char, tikriausiai, penki.
>> Ir čia suprasite, mes gali naudoti ENUM ir mes
gali išvardinti 10000 galimi Pašto kodai,
bet jaučiasi tai tikriausiai kerta daug, kaip, naudą liniją.
Jei jūs turite indėlį, daug duomenų į savo duomenų bazę
apsaugoti nuo kažko.
Taigi char supratau galite įvesti H-E-L-L-O kaip savo pašto kodą,
kuris yra ne, žinoma, skaitinė reikšmė.
Taigi nėra jokio būdo, kad tipiškas duomenų,
nurodyti tik skaitmeniniai ir tik penki simbolių ilgio,
todėl mes ketiname turėti padaryti, kad kodą.
Mes ketiname padaryti, kad PHP arba Java arba kokia kalba mes
naudojant serveryje vykdyti kad prievartos rūšies.
>> Whoo!
Visos teisės, todėl visi klausimai tik dar?
Padarykime dar vieną dizaino sprendimas.
Pasirodo, kad jums Taip pat gaunate pasirinkti,
projektuojant SQL duomenų bazę, arba tipiniai reliacinės database-- kur
vėl, reliacinės tik reiškia, eilutes ir stulpelius,
tai kaip jums organizuoti savo data-- ir suvokti, kad tai, ką tai reiškia,
Aš jau klaidinanti kad aš drawing-- tai
yra tai, kas vadinama schema, už duomenų bazės lentelės.
Tai kaip ir specifikacijos table--
bet kai ateina laikas realiai saugoti duomenis,
ir mes tai padaryti, tiesiog pavyzdyje.
Aš ruošiuosi atverti Excel, nes "Excel" duos man eilutes ir stulpelius.
Ir tai, ką "Oracle" ir MySQL ir kiti įrankiai duos man.
Taigi, aš tiesiog ketinate naudoti jos diskusijoms labui.
Leiskite man eiti į priekį ir atverti atstovas dokumentas čia
padidinti šiek tiek.
Taigi, pavyzdžiui, mūsų antraštes dabar vardas, pavardė, lytis, ID
pašto, gatvė, namo numeris, gatvė, oi.
Gatvė, miestas, valstybė, tik apie telpa ekrane.
>> Taigi, kas tai reiškia, kad, kai vartotojas pirmą kartą įregistruoja mano svetainę,
tai bus kažkas panašaus Dovydas Malan, M, tarkim 1,
malan@harvard.edu, gatvė, namo numeris bus būti kaip 1 Brattle aikštėje, Cambridge, MA,
02138, ir tada taip toliau.
Taigi, kai aš sakau, kad reliacinės duomenų bazės arba SQL duomenų bazės yra eilučių ir stulpelių,
Aš turiu galvoje tai.
Kad faktiniai duomenys yra saugomi eilėmis ir stulpeliais.
Tai tik sutapimas, kad mes kalbame,
ir man buvo tiesiog piešimo ją eilutėse ir stulpeliuose.
Tai tik schemos, Svarbiausias apibrėžimas.
>> Taigi iš šių laukų čia arba analogiškai, ten,
kurie laukai, jūsų manymu, Aš greičiausiai ieškoti, jei aš vartotojas
arba jei aš duomenų bazės administratorius?
Kaip, ką laukai aš esu tikrųjų ketiname ieškoti?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: pavadinimas, yeah, taip Man patinka tai, that-- taip,
siųsti galėtų būti gana paplitęs.
Atsiprašome, bet jums sakė, pavadinimas.
Taigi maybe-- ir vėl, mes rūšies kalbėti abstrakčiai.
Aš nežinau, kodėl norite būti ieškant vardu
bet jaučiasi protingas, jei jūs ieškote vartotojui.
Gal teigia, įsitikinkite, asmens tapatybės.
>> Ir tai yra slidus nuolydį, nes galėjau
Sugalvoti scenarijų, gal mano bosas paklausė manęs,
kiek vyrų mes turime mūsų svetainėje?
Kiek moterų mes turime mūsų svetainėje?
Ir taip, kad tuo momentu, galbūt norėsite ieškoti ant lyčių srityje, taip pat,
ir nieko daugiau.
Taigi ten yra kompromisas čia.
Vėlgi, nėra teisingas atsakymas, tačiau
yra daugeliu SQL duomenų bazių funkcija žinomas kaip indeksavimo, kuriuo
Jūs, dizaineriai, duomenų bazės administratorius,
gauti iš anksto nuspręsti, kuri laukų nustatomas duomenų bazė turėtų optimizuoti
jei ieškoma.
>> Galima labai naiviai pasakyti, optimizuoti tai, optimizuoti, kad, optimizuoti tai,
optimizuoti, kad ir tai, ir duomenų bazė
padaryti kai magiškas dalykas po dangtis, ir padaryti kažką taip
kad kitą kartą jums ieškoti bet kurį iš šių sričių,
jis, iš tiesų, bus greičiau.
Tai yra įmanoma.
Tai nepanaikina save.
Bet turi būti sumokėta kaina.
>> Jei jus naiviai, arba per entuziastingai tarkim, indeksas visose šiose srityse,
taip sakant, kad jie visi efektyviai paieškai,
kokia kaina tu tikriausiai moka?
Auditorija: [NESIGIRDI]
DAVID Malan: spektaklio.
Ką turi galvoje?
Na spektaklis, bent jau kontekstas aš diskutuoti, geriau dabar.
Štai indeksavimo apibrėžimas.
Tai padės greičiau ieškoti.
Taigi laikas mažėja, taip sakant.
Auditorija: [NESIGIRDI]
DAVID Malan: erdvė.
Taigi dar kartą, tai yra dažna prekyba.
Galiu pagreitinti savo paieškas, tačiau tai ketina jums kainuoti daugiau baitų erdvę.
Kodėl?
Na, pagal nutylėjimą, jei mes nė vienas iš Šios raudonos žvaigždės, nė vienas iš šių rodiklių,
kaip aš sakau, kaip jums ieškoti už šios duomenų bazės vardą?
Taigi leiskite atkreipti mūsų dėmesį į šiame pavyzdyje.
Jei mes turime Dovydą ir Scully ir Kareem ir Arwa ir kiti šiose eilutėse,
pavyzdžiui.
>> Taigi darykime būtent tai.
Scully yra čia, ir tada turime Kareem ir Arwa,
ir visi kiti, jei ne turėti indeksas, apibrėžiamas, taip sakant,
geriausia, ką galite padaryti, tai linijinis paieška.
Jei ieškote Arwa, mes ne bus galima šokti teisę ją
greitai.
Mes ketiname pradėti viršų ir pereiti visą kelią į apačią,
ne kitaip mūsų originalas Mike'as Smithas pavyzdys.
>> Tačiau, jei aš sakau, ei, duomenų bazės, rodiklis vardas lauką,
tada jis ketina kažką daryti mėgėjas ir remti kažką
kaip dvejetainis paieškos.
Tai tikriausiai ne dvejetainis paieškos savaime.
Duomenų bazės linkę naudoti kitą duomenų struktūra vadinama B-medžiai,
neturi būti painiojama su dvejetainiais medžiais, kad tiesiog padaryti jį greičiau ieškoti
kažkas logaritminė gamtoje.
Tačiau kaina, kurią mokate sukurti, kad funkcija, kad duomenų struktūra atmintyje,
yra daugiau baitų.
Taigi tai gali užtrukti keletą megabaitų, kai gigabaitų, kas žino?
Tai priklauso nuo duomenų.
>> Taigi tam tikru momentu, jūs turite nuspręsti, tai tikriausiai ne pasitaikantis atvejis.
Taigi, kas yra tikrasis bendras atvejais, jeigu jūs tikrai turėjo pasirinkti,
ką jūsų mėgstamiausia laukai gali būti?
Paštu.
Ir man patinka laišką, nes laišką, teoriškai turėtų būti unikalus.
Ir taip paprastai, kai jūs žinote, iš anksto, kad vieną iš savo srityse
yra arba bus unikalus, kad linkęs būti geras laukas
ieškoti informacijos, nes tokiu būdu, kai ieškote kažko,
jūs ketinate grįžti vieną arba nulio atsakymus ir tada baigsite.
Jūs neturite išlaikyti ieško dar kitų.
>> Ir taip, šiuo atveju čia, elektroniniu paštu, taip ilgai, kaip jūs galite neregistruoja du kartus
su tuo pačiu elektroniniu paštu, yra gera.
ID pagal apibrėžimą, į kompiuterių mokslo pasaulis,
jei kalbame apie ID, kad būtų geriau būti unikalus.
Tai tarsi reikšmės, id ar identifikatorius.
Ir šių poilsio gali būti, tegul pavadinkime juos malonu privilegijuotųjų,
bet tikrai ne reikia.
>> Ir todėl į duomenų bazę, galite nurodyti indeksus,
bet jūs galite būti dar tikslesni.
Galite pasakyti, ei, duomenų, įsitikinkite, kad kad kiekvienas ID Šioje lentelėje yra unikalus.
Negalima net tegul programuotojas netyčia įdėti dublikato paštu
ar dubliuoti numerį.
Tiek daug, kaip Enums apsaugoti mus panašiai, jus
gali turėti tuos žemesnio lygio apsaugą.
Ir taip duomenų bazės projektavimas, į tam tikra prasme, yra rūšies įdomus,
nes jums tai padaryti ginantis.
Jūs tarsi manyti, kad jūs dirbate su baisi, žiaurios programuotojų
ir norite įdėti kaip daug apsaugą kaip jūs galite apsaugoti savo duomenis,
bet tuo pat metu norite padėti jiems geriau
pasirenkant, kuris Laukai optimizuoti.
Bet jūs galite nebūtinai tai padaryti panašus mes dulkių rūšies yra čia.
Jūs turite žinoti, kas yra šie bendri atvejai viduryje.
Jei kūrėjai įgyvendinant adresų knygą,
jums gali labai gerai nori turėti ieškoti beveik kiekvieną srityje,
tiesiog pobūdžio paraiškoje.
Taigi gal jūs praleisti kad papildomos vietos.
>> Teisė, kokių nors klausimų?
Taip.
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Ne
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Gerai.
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: O, kad mes kalbame taip,
Dabar tai visiškai kalba agnostikas.
Taigi mes kalbame dabar apie reliacinių duomenų bazių apskritai,
arba SQL duomenų bazių apskritai.
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: geresnio žodžio naudoti yra, gali būti naudojamas bet kokia kalba.
Taigi aš galiu parašyti JavaScript, C kodas C ++ kodas, Java kodą, Rubinas kodas,
kurie visi kalbėtis su Duomenų bazės ir vykdyti užklausas.
Tiesą sakant, tai nėra blogai segue į pvz užklausą.
Ir vėl mes neketiname eiti į Java arba C ++ arba bet kad nebėra,
bet SQL, kalba, į kurią aš nuolat nuoroda, Struktūrinių užklausų kalba,
tai pati programavimo kalba, bet tai reiškia, kurie turi būti naudojami, ne
nenuostabu, Struktūrinių užklausų užklausas.
>> Iki, kad aš turiu galvoje tai.
Kaip jums pasirinkti duomenis iš MySQL duomenų bazės
yra tu tiesiog įveskite savo programą kažkas panašaus pasirinkite žvaigždė iš vartotojų.
Aš esu darant prielaidą, kad šioje lentelėje, Nuo šiol vadinama vartotojams.
Galėčiau jį pavadinti ką mes norime, bet kokios prasmės.
Ir taip pasirinkite yra labai bendra veiksmažodis, jei jums
bus, SQL, kad tiesiog tai daro.
Ką manote žvaigždė reiškia šiame kontekste?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Aš atsiprašau?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Nereikalaujama, tai daugiau imtinai nei, kad iš tikrųjų.
Tai afera charakteris.
Pažymėti kaip beveik visada reiškia nieko, todėl tai reiškia, kad šiuo atveju,
pasirinkti viską nuo duomenų bazę.
Taigi, kai aš tai sakau, aš turiu galvoje duok man atgal kiekvieną stulpelį
nuo mano stalo vadinamas vartotojams.
Taigi man duoti rezultatų rinkinį, kaip jis vadinamas.
Kitaip tariant, duoti man kopiją skaičiuoklės, yra tai, ką aš gaunu ne.
>> Bet jei aš sakė pasirinkite žvaigždė iš vartotojų kur ID, lygus 1, kaip didelis turėtų
mano rezultatas rinkinys bus tada?
Arba analogiškai, kaip daug eilučių turėtų Aš būtų grąžintas iš duomenų bazės?
Tikriausiai tik vienas, jei aš iš tikrųjų apdorojimo ID kaip unikalų identifikatorių,
ir jei Davidas turi tokią unikalią ID, aš turėtų grįžti vieną ir tik vieną eilutę
kuriame yra visi Dovydo informaciją.
Jei pasakiau tai, kur ID lygi 99, turėčiau grįžti,
Šiame kontekste, nulis eilutės, bent jau šiuo metu.
>> Tačiau, jei aš nerūpi apie visą šią informaciją,
Galėčiau tik pasakyti, kur gi Dovydas gyventi?
Pasirinkite ZIP kodas iš Vartotojų kur ID 1.
Tai bus pasirinkti tik man Dovydo zip kodas, o ne tos eilutės visuma.
Kodėl aš galėčiau tai padaryti, o ne žvaigždė užklausą, laukinių kortelę?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Taip, galiu tik reikia.
Taigi spektaklis vėl čia atsakymas.
Kodėl prašyti daugiau informacija, nei jums reikia,
nes net jei tai viskas gerai kartu, jūs vis dar turite nukopijuoti šiuos duomenis,
atrodo, iš duomenų bazės į savo programą kažkaip,
ir tai tik kvailas, jei jums tik reikia penkios iš šių skaitmenų,
ne iš eilės visuma.
>> Taigi, kaip man įterpti vartotojas?
Tarkime, vartotojas turi tik registruojami pirmą kartą.
Sintaksė paprastai atrodyti taip.
Įkiškite į vartotojų ir tada sakytume, vertybes,
ir tada sakytume vertybes kaip, tarkim, Lauren Scully,
Mūsų videographer čia.
Kitą laukas yra lytis.
Taigi mes pasakyti citata, citatos pabaiga "F", tada mes turime ID
ir aš ruošiuosi say-- tegul apsimesti, ji ne iš tikrųjų čia
todėl mes atgal į istoriją.
Taigi 2 bus jos adresas.
Ir tada kitas laukas čia yra jos laišką.
Taigi tai bus lyg Laura Scully ir tt,
ir mes tik dot dot dot jį nuo čia.
Dabar jis gaus šiek tiek varginantis, tačiau įterpti užklausos
galiausiai atrodyti, kad.
>> Jei aš noriu atsikratyti Scully, UH-Oh, tegul išsiregistruoti
jai, ji ištrina savo sąskaitą, ištrinti iš vartotojų, kur ID, lygus 2,
atsikratyti Scully.
Arba galiu pasakyti Atnaujinti vartotojai nustatyti, tarkim, ką mes galime pakeisti?
Tarkime, ji juda.
Nustatyti ZIP lygus 021-- Nope, tai jos dabartinė ZIP.
90210.
Vienintelis kitas Pašto kodas Žinau pasaulyje.
Taigi, kad būtų pakeisti jos ZIP code-- tikrųjų,
kad nebūtų pakeisti savo pašto kodą.
>> Ką aš tiesiog padaryti?
Nors sintaksė tikriausiai naujas.
>> Auditorija: [NESIGIRDI]
DAVID Malan: Taip, aš persikėlė visiems į Beverly Hills, Kalifornija.
Taigi turėčiau tikrųjų pasakyti, kur ID, lygus 2.
Ir taip toliau.
Taigi SQL viskas apie tai rūšių instrukcijas.
Pasirinkite, įterpti, ištrinti, atnaujinti su šiomis predikatai gale
šie, kai sąlygos, taip sakant.
Ir ten yra daug daugiau, galite padaryti, bet tai tikrai tik suvesta
tiesiog, jei arcanely, išreikšti kas norite duomenų daryti.
>> Ir tada duomenų bus išsiaiškinti, kada
įdėsite Lauren Scully į duomenų bazė, kur įdėti ją į atminties
taip, kad mes galime labai greitai jai, remiantis jos elektroninio pašto adresą
arba remiantis jos identifikaciniu numeriu, ar pan.
Taip, Danas.
Auditorija: [NESIGIRDI]
DAVID Malan: Tikrai geras klausimas.
Ar šie scenarijai keisti iš Microsoft Access "Oracle"
MySQL PostgreSQL?
Trumpas atsakymas yra tai priklauso.
Teoriškai, yra labai reikšminga bendra poaibis SQL
kad manimi pasidalino visose Šių diegimas.
Tačiau įvairūs gamintojai turi papildomų funkcijų
jų duomenų bazes daryti tam tikrus dalykus už šių funkcijų taikymo sritį,
kad gali, tiesą sakant, nutraukti.
>> Taigi pusę kūrėjams apsidrausti nuo to,
yra tai, kad užuot raštu žalias "SQL kodas, kaip aš rašau čia
jie vietoj naudoti biblioteka, bendra biblioteka, kuri pati
yra tarsi aukštesnio lygio ir referatai toli kuris produktas jūs naudojate.
Ir tai suteikia jums funkcijos ir procedūros
skambinti taip, kad jums niekada iš tikrųjų rašyti žalią SQL.
>> Teoriškai, tuomet galite pakeisti produktai iš "Oracle" Microsoft "
arba atvirkščiai, arba nieko kitur, ir jūs tiesiog
pakeisti nieko kodą.
Realybė, nors tai, kartais pasiduoti funkcijas, kaip rezultatas.
Galbūt pasirinko produktas, nes jis gavo šias pridėtinės vertės funkcijų,
ir jūs tiesiog dabar ne juos naudojant sąmoningai.
>> Ir anecdotally, dauguma įmonių yra linkusios niekada tolti nuo savo duomenų bazę.
Taigi, nors tai yra malonu turi funkciją, realybė
yra, jei jūs atnaujinimui Jūsų duomenų, jūs
tikriausiai todėl kekių kitų pakeitimų bet kokiu atveju, kad jūs nebūtinai
reikia numatyti, kad.
Taigi, tai, be abejo, per inžinerijos problemos,
bet tai tikrai priklauso nuo konteksto.
Bet teoriškai, SQL dalijamasi šių įvairių produktų.
Tikrai geras klausimai.
Taip.
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Taip, taip, jūs galite galvoti duomenų bazę
yra tai tik serverio, pabaigoje dieną, ir viduje tame serveryje
yra visa krūva stalai, eilutes ir stulpelius.
Ir kai jūs siunčiate užklausą, kaip tai iš savo programą, jūsų svetainė,
parašyta Java, Ruby, Python, nepriklausomai, serveris gauna šią komandą
ir žodžiu jį tiesiog tas pats būdas
aptarėme anksčiau su aiškinami kalbos,
ir tada atlikti tam tikrą veiksmą nulio ar daugiau eilučių nulį ar daugiau lentelių.
Auditorija: [NESIGIRDI]
>> DAVID Malan: Būtent, lygiai.
Taigi už kažką Pseudocode kaip kad gali būti tai.
Jūsų PHP failo arba jūsų Python failas ar jūsų "Java failą,
jums reikės Pseudocode kodą arba Scratch-kaip blokai, kaip, jei vartotojas apsilanko
acme.com/register~~V pirmą kartą, tada įdėkite į vartotojų ir kt.
Ir mes išversti tai daugiau betono kodas pabaigoje.
Bet iš tikrųjų, mes visi blokai čia,
nors mes praleidžiant kai iš įgyvendinimo etapų.
>> Taigi leiskite man rasti kaltės, ką mes nuostabiai padarė vos prieš akimirką.
Jūs sukūrėte gana užbaigti lentelė vartotojams.
Tiesa, mes galime įgyvendinti jį keliais skirtingais būdais,
bet jūs iš tikrųjų paskatino mus žemyn path-- ir sakau jums,
bet tai tikriausiai mano fault-- iš gana neefektyvus duomenų įgyvendinimas.
Tai ne normalizuoti.
>> Ir normalizuotas turiu galvoje ten bus,
laikui bėgant, didelė atleidimo iš darbo, ir todėl neefektyvus,
tai yra atliekos erdvėje.
Remiantis tik tai, ką jūs matote čia gali įsivaizduoti, kai tokios vietos atliekų
ketina atvykti, laikui bėgant, kaip vis daugiau ir daugiau vartotojų užsiregistruoti
Jūsų svetainėje?
Kokie duomenys gali tapti nereikalinga?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Kodėl jūs turite galvoje, kad?
Auditorija: [NESIGIRDI]
DAVID Malan: Taip.
Ir tarkime tiems tikslams Šiandien, kad tai yra tiesa.
Pasirodo, ir mes sužinojome šią sunku, kaip, kad tai nėra tiesa.
Kažkaip daug miestai turi, kažkaip tas pats ZIP kodas,
kuris kyla šią nuostabią intuiciją.
Bet tarkime, kad tai tiesa, nes tai beveik visada tiesa.
Taigi tarkime, kad zip kodas yra visada susijęs su tuo pačiu miesto
ir valstybė, kuri yra natūra Protingo prielaida,
bet neteisinga, it turns out.
Bet protingas prielaida šiandienos reikmėms.
>> Tada tarkime, kad aš gyvenu Cambridge, MA, pagal šiame vartotojo stalo,
ir manau, kad Laura Scully gyvena Cambridge, MA,
ir manau, kad Kareemas gyvena Cambridge, MA,
ir Arwa gyvena Kembridže MA, mus visus 02138.
Kodėl mes prisiminti Cambridge, MA, 02138 mums visiems keturių?
Kas turėtų pakakti prisiminti?
>> Auditorija: [NESIGIRDI]
DAVID Malan: Tiesiog ZIP kodas.
Tiesiog, kad 02.138 egzistuoja, nes žinote, ką mes galime padaryti?
Mes galime gauti šiek tiek fantazijos čia ir daugiau čia, apibrėžti kitą lentelę
kur tai vyksta būti pavadinimas, tai bus tipo,
tai ketina būti ilgis ir nuo šiol aš
ketina tai vadiname mano miestai stalo.
Tai buvo vadinama, ir Žinoma, mano vartotojai stalo.
Ir taip ką turėčiau įdėti daugiau čia mano miestų lentelės, manai?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Taip.
Taigi zip ir valstybę ir miestą.
Ir taip tipo čia mes pasakyti tai bus char 5 vėl
taikomi anksčiau diskusijose.
Tai bus pervedimą, galbūt kaip Prieš ir miestas bus varchar 50.
Ir todėl dabar, ką aš gausiu ištrinti iš šios lentelės
pašalinti, kad neefektyvumas?
>> Auditorija: [NESIGIRDI]
DAVID Malan: Nicos.
Valstybės ir miesto neišnyks, todėl aš dabar eliminavo galimą neefektyvumą
už nereikalingai prisiminti, Cambridge, MA, Cambridge, MA, Cambridge, MA,
Kembridžo MA, kuris, tikiuosi niekada nesiruošia keisti.
Ir net jei ji, tai minorly erzina, dabar
kad turiu keisti jis keliomis eilėmis,
o čia galėjau tik pakeisti jį į vieną vietą.
>> Dabar kas yra kompromisas, galbūt?
Tai buvo super patogu.
Turėjo visus savo duomenis gražiai kartu.
Bet kas aiškiai atvejis dabar?
>> Auditorija: [NESIGIRDI]
DAVID Malan: Būtent, ir aš malonu jums naudojamas žodis prisijungti,
nes tai tikrai raktažodis, į reliacinių duomenų bazių pasaulyje
SQL, tai tikrasis žodis, gali įvesti arba ne mažiau kaip perteikti.
Ir iš tiesų, ką mes dabar turime daryti pasirinkti pilnas Dovydo informacija
kažkas panašaus pasirinkite žvaigždė iš Vartotojų, prisijungti miestus, on-- ir dabar
Aš ruošiuosi tiesiog perkelti į antrą eilutę kad šis fits-- users.zip lygus
cities.zip, kur users.ID lygus 1.
>> Taigi kas vyksta?
Tai bjaurus ieško, bet jūs galite rūšies skaityti iš kairės į dešinę, iš viršaus į apačią.
Pasirinkite žvaigždė iš vartotojų yra tas pats kaip ir anksčiau,
bet tai ne iš vartotojų, per se.
Tai iš vartotojų prisijungti miestus.
Ką aš prisijungti prie šių dviejų lenteles?
Na, matyt, vartotojų stalai zip lauką,
ir šis laikotarpis yra tiesiog ypatinga sintaksė išreikšti tą idėją,
ir tai yra miestų lentelės zip lauką.
Noriu, kad tie du bus lygi, bet aš noriu galiausiai pasirinkti
tik tie eilutės kur ID naudotojų stalo
lygus 1, kuris nutiko mano.
>> Ir tiesiog, kad būtų aišku, A programuotojas, paprastai, kai
hardcode kažką panašaus į numerį 1, kitaip tik svetainės nes
palaiko Dovydą ar Pats pirmas vartotojas, galite
verčiau daryti kažkas panašaus į ID, kur
tai reiškia kintamasis, kažkas, kad
laikui bėgant gali keistis, panašus dvasia, ką aš sakiau anksčiau
su šių rezervavimo ženklai rūšių.
Bet dabar mes tiesiog hardcode kaip 1.
Ir taip, ką tai reiškia?
Na, gražus būdas vizualizuoti tai kad jeigu ši ranka yra vartotojai lentelė,
ir tai ranka yra užtrauktukai stalo, mes tarsi finding--
ir mano pirštais patarimai ZIP per čia, ir mano pirštai patarimai
čia yra užtrauktukas, jūs rūšies blokavimo ją
taip, kad jums grįžti gautas originalus stalas, išties prisijungti
du stalai bendros srityje.
Ir tai neturi būti ZIP.
Tai gali būti pats ką nors, bet ZIP yra gražus, nes vienas, tai trumpas,
du, tai visada tokio pat ilgio, todėl nėra
realus efektyvumas, ką Olivier pasiūlė čia
su faktoringo iš zip, ir [NESIGIRDI] siūlo, kad mes atsikratyti
Miesto ir valstybių.
>> Todėl tai yra procesas žinomas kaip normalizuoti.
Turite klausimų apie tai?
Na leiskite atkreipti dėmesį tai yra stuff natūra,
nors tai gana žemo lygio, Ši diskusija, kad jūs manote, kad
jūs tarsi gauti prarasta piktžoles,
tai yra pakankamai apraiška galimybė kūrėjams bus blogai.
Ir iš tikrųjų, net tada, kai mes, į Kursai aš mokė, kai mes turėjo,
Pavyzdžiui, nepatyrę bakalauro programuotojai
kurti svetaines, iš pirmo žvilgsnio, tinklapis gali atrodyti siaubingas.
Ir jie turi visas funkcionalumas mes prašoma,
kūrėjai padarė gerą darbą.
>> Bet jie nebūtinai žino pakankamai informacijos apie duomenų bazių projektavimo
ar jie nemanė, kad sunku pakankamai apie duomenų tipus
ir vartotojų tipus svetainė buvo ketinate turėti,
ir randame, tada, po šešių mėnesių, po to, kai jau baigė arba persikėlė,
kad rautų, mūsų svetainė tikrai, tikrai lėtai.
Ir aš nesu net kalbėti apie turintys milijonai ar tūkstančiai vartotojų.
Aš turiu galvoje kelis šimtus vartotojų miesteliu, iš kurių visos mėgsta, pavyzdžiui,
parduotuvė kursus tuo pačiu metu, jie
naudojant tą kursinį katalogas taikymas minėjau
ir dalykas yra gauti tikrai lėtai, nes nebuvo indeksai.
Nebuvo raudonos žvaigždės, taip kalbėti, ar mes turėjome nebūtinai
atsižvelgti bendrus duomenis kažkiek erdvės santaupas.
>> Ir todėl, kai tikrindama kūrėjas arba duomenų bazė asmuo ar panašiai,
Už tokių klausimų apgalvoti rūšių net, kai peržiūrint kažkieno kodą
pasakyti, nebūtinai atrodo per visus savo kodą, bet pasakyti,
pažvelkime per duomenų bazės lentelių.
Ką saugoti?
Ir tada pasakyti, gerai, palaukti minučių, kodėl jūs naudojate sveikasis skaičius?
Ką daryti, jei mes turime 4 mlrd ir 1 iš šių eilučių?
Ir šių rūšių klausimai yra galimybė
į rūšies stūmimo atgal ir gauti, kur jausmą
Jei nesate patenkintas daro IT, Kazkas daugiau techninių
paklausti šių klausimų, nuo to, ar asmuo tikrai žino savo stuff.
Ir tai yra rūšies Daiktai, taip pat, kad žmonės
internete, kurie yra savamokslis, o gal
mokytis rečiau, nes jūs nebūtinai susidurti jį
daug, nes galite gauti duomenų bazės ir veikia,
bet jei jūs skaitėte ant vadovėliai ar buvo
papasakojo apie duomenų bazių normalizavimo ir indeksavimas ir efektyvumą,
tai yra dalykų rūšių kad ketinate jums pakenkti.
Ir jūs manote, ar blogas inžinierius Galima sakyti, oi, gerai, mes geriau mokėti
, kad padidintumėte duomenų bazėje arba greičiau duomenų
arba tiesiog mesti pinigus į tai, vertikaliai masto, nebūtinai taip.
Jeigu jūs einate in-- ir jūs galite eiti po fact-- ir pridėti indeksų,
ir tai gali užtrukti keletą valandų už duomenų bazė sukurti tą naują informaciją
struktūra, kuri man užsiminė anksčiau, Jūs vis dar galite išspręsti šią problemą po to,
kad tai kur jus pradėti atskirti
geri dizaineriai nuo blogų dizaineriai, ne tik estetiškai,
bet spektaklis-protingas, taip pat.
Turite klausimų?
Ar ne?
Taigi NoSQL, kuris buvo kitoks duomenų bazės, į kurią aš užsiminiau anksčiau,
Jūs neturite eilutes ir stulpelius.
Vietoj to, jums reikės kažką kad atrodo šiek tiek daugiau, kaip šis.
Aš ruošiuosi naudoti bendrą sintaksė.
Garbanotas petnešos atsitikti čia būti naudojama gana daug.
Galbūt kažką kaip vardas yra Dovydas
jums gali tekti paskutinis vardas Malan, citatos,
jums gali tekti ID is-- atsiprašau, whoops-- ID yra 1,
pašto adresas yra malan@harvard.edu, ir aš ne vargintis rašyti iš poilsio, o tada
kai kurių kitų dalykų.
>> Kitaip tariant, tai yra tekstinis atstovavimas
ką mes paprastai vadiname į kompiuterinę programą objektas.
Ir objektas paprastai yra tik iš pagrindinių vertės porų rinkinys.
Taigi dar kartą, tai pasikartojanti tema.
Mes matėme rakto reikšmė porų HTML, matėme rakto reikšmė porų dabar
į duomenų bazių kontekste, ir mes pamačiau rakto reikšmė porų konteksto
apie, manau, kalba anksčiau šiandien.
Saugo artėja.
Ir iš tiesų, tai tikrai kokie duomenys suvesta,
duomenis ir metaduomenis, ar vertės ir raktai, atitinkamai.
>> Taigi ne reliacinės duomenų, kažkas remiantis
objektų, kur jūs tiesiog sulimpa viskas kartu ir įdėti jį
į atmintį, būtų paprastai nuotraukoje kaip arba maniau, kaip šis.
Ir aš paliksiu, kad dabar, kaip Rūšiuoti alternatyvų požiūrį.
Ir vienas yra nebūtinai geriau nei kita.
Tiesą sakant, labai madinga šių dienų yra duomenų bazių sistemos
kaip MongoDB ir Redis ir keletas kiti tokie įrankiai, laisvai prieinamus,
bet jie vis lt madoje.
Iš dalies todėl jie siūlo papildomas yra daugiau kaip šių lentelių metodų,
bet taip pat, nes jie šiek tiek lengviau naudoti,
nes jūs neturite galvoti, kaip sunku apie šių dizaino sprendimus daug.
Taigi pliusų ir minusų.
Taigi realizuoti yra galimybių to, kas mes tiesiog praleido laiką.
>> Taigi leiskite tai padaryti.
Leiskite pereiti šiek tiek atgal dabar į interneto programavimo,
kad mes rūšies sudaryti šiandien su kažkuo
kad šiek tiek hands-on, pildymo kai spragas iš vakar.
Leiskite man eiti į šį pirmąjį.
Taigi priminti, kad vakar mes turėjome šiek tiek kanoninę HTML
Puslapiai, kurie iš pradžių, tik HTML, tada antrinis turėjo CSS,
pakopinių stilių.
Tai nauja žyma, kad mes ne pamatyti vakar, ar gyvens,
Vadinamasis scenarijaus žymos.
>> Pasirodo, jūs iš tikrųjų galite įterpti kalba vadinama JavaScript savo interneto
puslapis ir padaryti savo žiniatinklio puslapiai kažką daryti.
Taigi, ką aš turiu galvoje, kad?
Na, leiskite man eiti į priekį ir tik skolintis šį kodą akimirką.
Aš ruošiuosi eiti į Cloud9, nereikia ten patys, tik dar,
ir aš ruošiuosi skambinti šiuo alert.HTML.
Aš ruošiuosi įdėti savo failą čia.
Ir tik paaiškinti, ką aš padariau, tegul man eiti šiuo adresu ir eiti įspėti,
ir pamatysite Hello World ".
>> Bet tai kokios underwhelming.
Noriu padaryti kažką šiek tiek kitoks.
Taigi, aš ruošiuosi iš tiesų tai padaryti.
Aš ruošiuosi eiti į čia e, ir tarp mano scenarijaus žymeles,
pasakyti įspėjimą ( "Labas, pasauli"); taip pranešimas tai šiek tiek prastesnis, bet aš turiu HTML,
kurio viduje yra kalba vadinama "JavaScript"
ir tai yra tai, kas vadinama skambinimo funkcijos ar procedūros skambutis.
Tai veiksmažodis, pažodžiui, šiuo atveju, ir aš remtis kodas funkcionalumą
kad kažkas parašė.
>> Taigi, kad funkcijos yra perspėjimas, todėl eikime į šį puslapį
dabar ir spustelėkite Atnaujinti, ir dabar jūs matyti šiek tiek interaktyvumo.
Tai tipo senosios mokyklos ir negraži.
Tai tipo jums primena iš pop-ups, ko gero, pasekėjai
bet ji padaryti kažką šiek tiek daugiau programinis.
>> Taigi daugiau nei, kad darykime kažkas įdomiau.
Leiskite man eiti čia ir atsikratyti tai.
Ir aš ruošiuosi eiti į priekį ir sukurti formą, kaip mes padarėme vakar.
Tiesą sakant, jūs žinote, ką?
Aš ruošiuosi eiti į google.html, kurį mes
prasidėjo vakar, kuris atrodė kaip tai, per kurią mes ieškoma katė
Bet pastebėsite tipo Re į dabartinę versiją.
Jis veikia katėms, bet tarkime, kad Nemanau, bendradarbiauti ir aš nieko tipo,
ir aš tiesiog spustelėkite Pateikti.
Tai tipo keistą elgesį.
Paėmė mane į realų "Google", nedavė man klaidos pranešimą.
Norėčiau pasakyti, kad vartotojas jums reikia mums vertę.
>> Taigi, kaip gali mes tai darome?
Na leiskite grįžti į Cloud9 ir leiskite man eiti į mano puslapio viršuje
ir pridėti tag scenarijų, kaip tai, kur Aš ruošiuosi rašyti šiek JavaScript kodą.
Ir aš ruošiuosi daryti toliau.
Jei (document.getelementByID-- ir atšaukimo kad mes kalbėjome apie tai anksčiau,
kad funkcija.
Ką ID, aš noriu gauti?
Noriu gauti q, ir aš ruošiuosi tarkim lygi nieko, kaip this--
iš tikrųjų leiskite naudoti kabutes tik consistency-- lygi nieko,
tada perspėjimas ( "Prašome įvesti užklausą") čia.
>> Taigi turiu kas atrodo kažkas panašaus būklės.
Mes matėme šį bendrą idėją nulio.
Tai kaip vienos iš tų dėlionės gabalus, kurie atrodė taip.
Ir ką aš pasakyti?
Na, žemyn čia, pastebėsite, aš ketinate daryti toliau.
Aš ruošiuosi duoti šią formą laukas ne tik q pavadinimas, kuris
yra tai, ką gauna perduodama "Google", bet aš ketina suteikti jai vietos identifikatorius,
taip pat vadinamas Q.
Bet galėčiau tai vadiname ką aš nori, aš tik ketina laikyti jį paprasta
ir taip pat ją vadina Q, tiesiog paprastumo.
>> Ir dabar aš ruošiuosi daryti kažkas šiek tiek daugiau.
Dėl formos laukus čia, aš ruošiuosi pridėti tai, kas vadinama įvykis krautuvas.
Dėl pateikti, noriu skambinti funkcija vadinama tikrintuvai.
Tai neegzistuoja dar, tai žodis arba ši veiksmažodis, suderinimo,
nes tai, ką aš ruošiuosi daryti čia dabar yra pridėti šiek tiek kodą.
>> Aš ruošiuosi pasakyti funkcija tikrintuvai.
Aš ruošiuosi įtrauka tai ir pridėti kitą garbanotas petnešomis čia ir čia dar vienas.
Apsvarstykite, kas tai yra dabar daro.
Turiu now-- galvoti apie tai, kaip sukurti savo savo įspūdį, kad to nepadarė anksčiau
egzistuoja, ir aš pavadino šį dėlionė gabalas Patvirtinti įspūdį.
Jo gyvenimo tikslas yra vykdyti keturi eilučių kodo viduje ji.
>> Jei document.getElementById taip konceptualiai
kad ketina eiti į elemento, HTML elementas, kurio unikalus
idėja yra tiesiog q, ir tada, nors sintaksė atrodo šiek tiek keistai,
kad vienodas lygus tiesiog reiškia lygių.
Taigi tai reiškia, kad jei elementas su unikalus identifikatorius q, kai įsigijo,
neturi vertės, tai tik lygu citata citatos pabaiga, nieko ten,
tada ką aš noriu daryti?
Noriu klykauti ne vartotojui.
>> Ir mes neisiu labai išsamiai čia.
Aš ruošiuosi grįžti klaidinga.
Tai yra klaida.
Kita, aš ruošiuosi grįžti tiesa.
Taigi, arba jis dirbo ar jis to nepadarė.
Klaidingas ar tiesa.
Ir dabar, jei aš nepadarė jokių klaidų, leiskite man išsaugoti tai ir perkraukite tai.
Ir tegul man tiesiog dukart patikrinkite, Aš ne iš tikrųjų, jokių rašybos,
kad aš ne varžyti save.
Leiskite pamatyti, jei tai veikia.
>> Taigi, dabar aš ruošiuosi rašyti kates.
Jis vis dar veikia, ar puse darbai, bent jau.
Dabar leiskite man perkraukite ją, o dabar tegul man pabandyti pateikti neįvedant
anything-- damn, jis sugedo.
Minutėlę.
Leiskite atidaryti konsolę, [NESIGIRDI] prisijungti, perkraukite puslapį.
Leiskite man pabandyti dar kartą.
Oh, rautų.
Aš pamiršau.
Aš padariau gramatinę klaidą.
Prisimenu kas tai yra.
Value.
Norėjau pasakyti, jei reikšmė elemento kurio ID yra Q
lygus, kad, tada klykauti ne vartotojui.
>> Taigi dabar leiskite man turėti savo kvėpavimą vėl.
Čia mes einame.
Čia mes eiti.
Prašome įvesti užklausą.
Taigi tai ne nuomos mane per.
Aš galiu būti natūra žaismingas su tuo, ir vietoj tikrinti neturi jokios vertės,
Galiu pasakyti kažką panašaus, Ne daugiau ieškoti katėms,
ir dabar mes tiesiog negali daugiau žaismingai tegul vartotojas paieška šunims, jei jis ar ji
nori, ar jei aš einu čia ir ieškoti katės, dabar aš negaliu.
>> Taigi, kas yra Takeaway čia?
Taigi vienas, mes įdiegėme į Mūsų pasaulis HTML ir CSS,
programavimo funkcijas.
Aš iš tikrųjų galite dabar priimti sprendimus kodą.
Anksčiau viskas, ką aš galėčiau padaryti tai pažymėti iki teksto turinį ar grafinę turinys
ir pasakyti, ko ieškoti kaip ir kur rodyti.
Dabar aš iš tikrųjų galite paklausti klausimai tinklalapį
ir priimti sprendimus, pagrįstus ant jo, ir greitai vartotojo
jei man reikia klykauti ne jam ar jai.
>> Taigi pabandykime kažką mūsų pačių su tai.
Eiti į priekį, leiskite man atverti kitą skaidrę čia, ir tik atkreipti dėmesį į vieną dalyką.
Kaip ir su CSS, mes galime veiksnys iš Mūsų JavaScript kodą į atskirą bylą,
Jūs galite padaryti tą patį JavaScript kaip su CSS.
Ir jūs naudojate, kad naudojant šaltinį atributas scenarijų žyma.
Bet mes ne apsunkinti dabar.
Vietoj to, jei galėtumėte pereiti prie ne šiame puslapyje,
but-- leiskite perkelti šį aplink order-- eiti, jei gali, šį puslapį čia.
Šis URL čia.
Tai šiandienos skaidres.
Jums gali tekti perkrauti, nes Aš pridėjo dalykas pora.
>> Bet ten, kur kai kurie galvosūkiai laukia.
Ir tai suteiks mums galimybę, šiek tiek daugiau įdomus kontekste
taškytis su kai JavaScript.
Ir kai jūs ten, Aš paaiškinti, kas laukia.
Gauk žalia.
Nustatykite mėlynos.
Nustato žalia, nustato raudona.
Oi.
Atsiprašau.
>> Tai yra kiek mūsų dokumentus šiam iššūkiui.
Ir tai vyksta dirbti taip.
Taigi, ką jūs turite apie tai puslapis yra visa krūva
vaizdinių galvosūkius bičiulių Stanfordo universitete.
Taigi, ką jūs matote čia yra beveik rūšies viena iš tų stebuklingų akių galvosūkiai,
bet jei jūs tiesiog spokso į jį, nieko ketina iššokti į tave.
Atvirkščiai, kažkas yra paslėpti šį vaizdą.
Ir tai paslėpta taip.
Vaizdai, kaip jūs galbūt žinote, gali būti sudaro tik tris spalvas.
Kai raudona, šiek tiek mėlyna, o kai žalia.
Ir mes galime padaryti visi spalvų vaivorykštės
maišant šias tris spalvas kažkaip.
>> Taigi, tai atrodo, daugiausia žalios ir mėlyna, bet kaip Nikas sako čia
tai geležies dėlionės vaizdas yra dėlionės.
Jame yra vaizdas kažkas garsaus, tačiau,
vaizdas buvo iškreipta.
Garsusis objektas yra raudonos vertybes.
Tačiau raudona vertės visi buvo dalijami iš 10.
Todėl jie yra per maži, 10 kartų.
Taigi, kitaip tariant, Nikas paėmė pradinį vaizdą,
ir jis Nesočiosios visi Raudonojo iš jo,
sumažinti raudonos spalvos kiekis dažai, jei norite, į jį.
>> Mėlynos ir žalios spalvos vertės visi tiesiog beprasmis,
atsitiktinių dydžių, taip pat žinomas kaip triukšmas skirta užtemdyti tikrąją įvaizdį.
Taigi, ką Nikas padarė jis buvo sušvelnintas raudona ir tada
jis tiesiog išmetė atsitiktinai kiekiai mėlyna ir žalia
tuo vaizdas į rūšies miglota kas iš tikrųjų vis dar ten.
Jūs turite atšaukti šiuos iškraipymus atskleisti vaizdas.
Pirma, nustatyti visas mėlyna ir žalia vertybes iki nulio gauti juos iš kelio,
ir pažvelgti į rezultatą. tada daugintis kiekvieną raudoną vertę 10,
sumažinus iki maždaug galutinė vertė.
Kas yra garsusis objektas?
>> Taigi visi jūs turite šį stačiakampį Jūsų naršyklėje dabar.
Ir pastebėsite, kad yra tam tikrų starteris kodas, taip sakant.
Tai JavaScript kodą, kad Nikas parašė jums.
Ir pastebėti, kad yra linija per vidurį, kad
prasideda slash velniop, tai kas paprastai vadinama komentaras.
Tai reiškia, kad frazė į programuotojas kad neturi funkcinę prasmę.
Tai tik vizualus Cue žmogaus.
>> Taigi galite eiti į priekį ir ištrinti tik tą liniją,
ir super atsargūs, ne ištrinti arba pakeisti nieko.
Ir leiskite man tiesiog vaikščioti jus per ką šis kodas daro ir aš palikti jį
jums išsiaiškinti slaptą įvaizdį.
Tai pirmoji eilutė, kad čia aš tik Pažymėtas suteikia jums toliau.
Kairėje pusėje, turite tai, kas vadinama
kintamasis, kad Nikas turi savavališkai, bet pagrįstai vadinamas IM įvaizdį.
Dešinėje pusėje tos lygybės ženklą,
jis sako duok man nauja citata, citatos pabaiga "paprastas vaizdas".
>> Paprasta vaizdo, šiame kontekste yra tai, kas vadinama klasė, gerai,
tai tipo kaip class-- techniškai prototype-- bet tikrai,
Tai suteikia man naują objektą, kurio turinys yra failas,
geležies puzzle.png.
Kitaip tariant, Nikas sukūrė ši sąvoka paprasto paveikslėlio
taip, kad galime, pedagoginės tikslais, žaisti paveikslėlio
ir pakeisti savo raudona, žalios ir mėlynos vertybes.
>> Ir kaip mes darome, kad?
Tai šiek tiek paslaptingas sintaksė čia yra lyg pakartotinio bloko
kad kai kurie iš jūsų Scratch matė anksčiau Šiandien kurioje galite pakartoti 10 kartų.
Šiuo atveju, Nikas turi ne kieta yra, pavyzdžiui, 10 numeris.
Vietoj to jis sako, inicijuoti kintamasis vadinamas x 0,
patikrinti, ar x yra mažiau nei atvaizdo plotis.
>> Ir taip, kad būtų labiau tinkamas, vaizdo yra kintamasis, taškas reiškia eiti viduje ji
ir gauti jos pločio ir Tada atidarykite paren, uždarytas
paren yra tik programuotojas būdas pasakyti, tai yra funkcija.
Tai procedūra.
Tai yra funkcionalumas kažkas parašė.
Naudokite jį ir suteikti man atgal atsakymą.
Ir tada x ++ yra išgalvotas būdas sakydamas, atlikę šį kartą,
prieaugio x 1.
Kitaip tariant, tai yra programuotojas būdas
indukuoti kilpą, kad'S ketina pakartoti per
visi iš vaizdo stulpelių.
>> Vaizdas yra tik tinklelis taškų, eilutės ir taškų stulpeliai.
Tai kartojate būdas per visus tuos stulpelius.
Ir į vidų, Tuo tarpu, mes kartojame
per aukštumas, čia ir čia ir čia.
Taigi tai yra tiesiog traipsing būdas, beveik kaip senosios mokyklos rašomąja mašinėle,
tiesiog eiti per Visas vaizdas iteracijų.
Net tai ne visai visiškai aišku, tiesiog tikėjimu dabar,
kad tų trijų eilučių kodo kartu yra
ketina leisti jums keletą kartų žiūrėti kiekviename pikselių, kiekvienas taškas paveikslėlyje.
>> Kas yra pikselis?
Na, aišku, jei pažvelgtume ne originalus ir priartinti,
jei tikrai įdėti savo akis į kompiuterio ekraną, tai
tiesiog visa krūva taškų, keli tūkstantį taškų pakuojami kartu ten.
Ir taip, ko tu apie tai padaryti?
Kiekvienas iš šių taškų, galutinis apibrėžimas,
yra tai, kas paprastai rezultatas vadinamas RGB, raudona, žalia, mėlyna, kuri
vėl, gali būti sujungtos, kad suteikti jums bet kokią spalvų skaičių.
>> Iš tiesų, jei jūs prisimenate iš daugelio prieš daug metų,
Projektorių ekranai kaip šių dalykų dažnai turi ne vieną objektyvą, išskyrus tris.
Vienas iš jų išspjauti raudoną šviesą, vienas iš juos išspjauti žalią šviesą, vienas iš jų
išspjauti mėlyna šviesa.
Ir jei jums buvo vidurinės mokyklos kaip man buvo, kur jie niekada nebuvo
tinkamai suderinti, tu buvai visada žiūri istorijos filmai
kad buvo šiek tiek iškreiptas, dėl to, kad trys spalvos buvo ne
derinant tinkamai.
>> Bet ji Pasirodo, kad kiekvienas iš Šios vertybės raudona, žalia ir mėlyna,
gali numerio, susieto su jais.
Pavyzdžiui, 0 raudona reiškia, kad nėra raudona, 0 žalia reiškia ne žalia,
ir 0 Blue reiškia Neatsiranda mėlyna.
Taigi, jei turite ne raudona, ne žalia, ir ne mėlyna, kokia spalva turite?
>> Auditorija: [NESIGIRDI]
DAVID Malan: Galima būtų tikiuosi, kad taip, tai balta.
Deja, šis operates-- gaila?
>> Auditorija: [NESIGIRDI]
DAVID Malan: Taigi jūs iš tikrųjų turėti juoda, šiuo atveju.
Taigi, jei turite nė viena iš šių spalvos įjungtas, turite juoda.
Tačiau, jei turite, tarkim daug iš jų, tarsi raudona daug, 255 apie jį,
žaliosios daug, ir daug mėlynai, kad yra baltos spalvos.
Taigi tai yra du kraštutinumai.
Taigi pagal šią logiką, jei aš turiu daug raudona ir ne žalia ir ne mėlyna,
kokia spalva yra tai, kad?
Auditorija: [NESIGIRDI]
DAVID Malan: Teisė, žinoma.
Ir tada ne raudona, daug žalios, ne mėlyna, ir tada
Jei have-- gerai, mes tiesiog baigti ji, tik todėl, kad, bet tai, žinoma,
dabar yra mėlyna.
Ir dabar jūs galite sujungti šias spalvas.
Dabar, kaip panaikinti, jei kuri nors iš jūsų turi nors padaryti šiek tiek faktinį interneto svetainės dizainas,
Jūs iš tiesų gali matyti simbolius, kaip šis.
FFF-- ir iš tikrųjų, tai tikriausiai net ne tai.
Tai FFFFFF.
>> Ar kas nors matė F "ir" E " ir A through-- taip it turns out,
mes kalbėjome vakar apie dešimtosios, ir šiandien, tipo apie dešimtosios dalies.
Šiandien mes kalbėjome apie dvejetainės.
Pasirodo, šešioliktainis yra labai bendrą pagrindą sistemą naudoti kompiuterijoje.
Dvejetainiai yra du, dešimtainis yra 10, HEX yra 16.
Ir it turns out, kaip tai padaryti jums suskaičiuoti šešioliktainis?
Nulis, vienas, du, tris, keturis, penki, šeši, septyni, aštuoni,
devynių, ką jūs naudojate Po devynių?
Kas bus kitas numeris?
Mes jau naudojamas nulis.
Man reikia 16 iš jų.
Nulis, vienas, du, tris, keturis, penki, šeši, septyni, aštuoni, devyni,
jums reikia šiek tiek savavališkai konvenciją.
>> Ir ką žmonija nusprendė šiek tiek laiko prieš, kad po devynių ateina laiškas
A ir tada B ir tada C. Taigi būdas jums suskaičiuoti šešioliktainis
yra nulis, vienas, du, tris, keturis, penki, šeši, septyni, aštuoni, devyni,
A, B, C, D, E, F, ir tai bus skaičiuojama Jums visą kelią, it turns out, 15.
Taip nuo nulio iki 15 yra nulis per F. Dabar kodėl tai, kad didelė?
Na, kai jūs turite du F-ųjų tai kaip jums išreikšti 255.
>> Taigi ilga istorija trumpa, kad Photoshop pasaulis,
kad grafinio dizaino programinė įranga, atsižvelgiant į interneto plėtros pasaulyje,
kur jūs turite daug spalvų, Žinoma, žaisti su,
dažnai programuotojai išreikšti tiems šešioliktainis,
tik todėl, kad jis yra linkęs būti šiek tiek paprastesnė.
Nors iš pirmo žvilgsnio tai daug sudėtingesnė.
>> Taigi, bet kuriuo atveju, tai yra svarbu nes Nikas Stanfordo
davė mums šešis gabalus funkcionalumą kad jūs, jaunieji programuotojai,
dabar turės galimybę naudotis.
Įmontuotas į šią interneto puslapis yra šeši funkcijos,
šešios procedūros, Nikas parašė.
Trys iš jų bus jums numerį, raudona, žalia arba mėlyna vertė.
Trys iš jų bus nustatyti šią vertę.
Ir šie pabraukimo yra tik pamainymai,
todėl jūs turite žinoti, kas tai yra.
>> Taigi su šių trijų funkcijų, pirmasis iš šių dalykų
ketina tapti x koordinuoti, ir iš šių dalykų antra
bus Y koordinačių.
Kitaip tariant, kurie dot, kuris pikselių norite gauti žalia,
gauti mėlyna, gauti raudona.
Ir tada čia, tai bus x, tai bus Y vertė,
ir tai bus skaičius.
Taigi darykime pirmas linija tai kartu
ir tada aš paliksiu jį jums bandyti išvesti poilsio.
Taigi už instrukcijas Šiame puslapyje mes turime
padidinti raudona iš koeficiento 10, ir mes turime pašalinti žalia
ir nuimkite mėlyna.
Pradėkime nuo pastarųjų scenarijus.
Taigi, jei aš noriu, ir aš ruošiuosi įtrauka naudojant keletą erdvių,
jei aš noriu nustatyti raudona, žalia arba mėlyna vertė,
Aš ruošiuosi daryti toliau.
>> Vaizdo, im.setBlue, tada remiantis mano nurodymus čia
kas trys dalykai turėčiau įrašykite viduje skliausteliuose dabar?
Man reikia x vertę, Y reikšmė, ir ką numeris
Turėčiau įdėti čia, jei noriu atsikratyti mėlynos, remiantis šią istoriją čia?
Tiesiog nulio.
Jei aš noriu Neatsiranda mėlyna, aš tiesiog ketina pakeisti jį iki nulio.
>> Dabar galime tik Priminti kas tai daro.
Turiu čia šiais viršų antra ir trečia eilutė,
Aš teigė dvi kilpos, įdėtos kilpos, jei jums
bus, kad ketinate turėti poveikį perėjimas iš kairės į dešinę,
iš viršaus į apačią yra perkelti visi x vertybes ir visi y reikšmių.
Nes vėl, nuotrauka yra tik eilučių ir stulpelių tinklelis.
Taigi tai yra ketina gauti atsikratyti visų mėlyna.
Leiskite atostogų į kitą eilutę jums.
Kaip man atsikratyti visų žalia?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Nicos.
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Nicos.
Ir aš ruošiuosi nutolinti, ir tiesiog imtis rūpintis, kad jūs dar nepadarėte jokių klaidų.
Ir jei jūs esate patenkintas su tuo, ką padarei,
eiti į priekį ir spustelėkite mygtuką Paleisti / Save ir pamatyti, ką jūs gaunate.
Ir vėl mes padarėme tik trys pokyčiai.
Mes panaikinome, kad pirmasis komentuoti ir ją pakeisti
su šių dviejų eilučių kodo.
Ir tai gerai, jei jums reikia, kad pasiektų Vykdyti / Įrašyti mygtuką porą kartų
nustatyti kažką.
>> Ir tegul man taip pat priartinti mano kodas, todėl jūs galite perrašyti.
Geras.
Taigi matau Andrius turi ką Atrodo, kad būti klaida.
Jis tiesiog gavo didelis juoda stačiakampį savo ekrane.
Ar kas nors turi didelis juodas stačiakampis?
>> Auditorija: Taip.
>> DAVID Malan: didelis juodas stačiakampis?
Gerai, kad pagalvokime apie tai, ką tai reiškia.
Mes sakė, kad nulis, nulis, nulis, taip ne žalia, ne raudona, ne mėlyna,
ketina suteikti jums juoda.
Ir paaiškėja, kad dauguma mūsų nešiojamieji kompiuteriai
tiesiog neturi pakankamai ištikimybę.
Jūs negalite gana pasakyti ten iš tikrųjų yra kažkas ten.
Ir jei jūs rūšies gal liesos ekrano į priekį ir atgal,
gal jūs matote mažai ką ten?
Gal, tipo, rūšiuoti?
Tai nėra visiškai juoda.
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Spoileris!
Yra kai raudona ten, bet prisiminti iš specifikacijas
Problemos, Nikas atspalvių jį žemyn.
Jis Nesočiosios ją šiek tiek, bet ne visą kelią iki nulio.
Taigi, jei norime, kad padidintumėte sumą raudonos, leiskite man pasiūlyti šį triuką.
Leiskite padidinti mano ekrane.
Ir leiskite man eiti į priekį ir pasakyti suma yra lygi im.getRed (x, y).
>> Šis kodo eilutė suteikia man kažkas vadinamas kintamąjį.
Turiu savavališkai, tačiau, be abejo, pagrįstai vadinamas mano kintamasis ką,
matyt?
Suma.
Tiesiog suma.
Galėjau jį pavadino ką aš noriu, bet aš
naudojant šį kitą funkciją kad aš aprašyta anksčiau
gauti raudonųjų sumą x kableliais m.
Kodėl aš tai padaryti?
Ką norite daryti čia?
Jums reikia add--
Auditorija: [NESIGIRDI]
DAVID Malan: Taip, gal padauginkite jį iš 10.
Ir jei jūs neturite žinoti, aš ketina eiti į priekį ir tai padaryti.
Aš ruošiuosi eiti į priekį ir tarkim, aš noriu raudonos spalvos kiekis
Noriu būti whatever yra raudonos, laikai 10,
ir žvaigždė, žvaigždutė ant jūsų Klaviatūra yra padirbėti nenaudokite x.
Naudokite žvaigždė.
Štai kaip jūs dauginti dalykus daugeliu programavimo kalbų.
>> Taigi pagal Kareem intuicija, saugomi šį kintamąjį vadinamą suma,
yra kiek raudona noriu ne vietos xy.
Kaip dabar, darau, kad PIXEL turi tą numerį?
Jūs jau padaryta anksčiau.
Jūs nustatote žalia ir mėlynos iki neturi jokios vertės, iki nulio.
Auditorija: [NESIGIRDI]
DAVID Malan: Taip, gerai Jūs nenorite, kad jis 10.
Jūs jau padarė matematikos čia.
Taigi mes gauti raudonos vertę, kuris yra mažas skaičius, matyt.
Mes dauginant padidėjo 10.
Ką jūs norite daryti su kintamoji suma šiuo metu?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Nicos.
Taigi im.set-- ką?
>> Auditorija: setRed.
>> DAVID Malan: setRed, bent vietos xy.
Taip.
Ir tik suma.
Kitaip tariant, kintamasis yra laikina vietos rezervavimo
kad jūs galite įdėti viską, ką nori ir.
Mes atsitiktų būti pridėdami numeris į jį, šiuo metu.
Mes dauginama jį 10, kad būtų didesni.
Ir dabar aš pakeisti, kad kintamasis kaip tos trečiosios argumentas, ar įvesties
nustatyti raudona.
Ir taip, kad, kai jūs baigti, kad ir atkreipti dėmesį
iš kabliataškiais ir skliausteliuose.
>> Eiti į priekį ir spustelėkite paleisti / išsaugoti kartą, ir jūs
turėtų pamatyti, stebuklingai, kas buvo iš tikrųjų ten. [? Arwa,?] Kas ten?
Eifelio bokštas visateise raudona, ne visai tamsu.
ji turėtų būti labiau akivaizdu dabar, taip?
GERAI.
Ir Andriejus, ne daugiau "black box?
Auditorija: [NESIGIRDI]
DAVID Malan: Gerai.
Todėl aš nuolat tai ekrane.
Jei norite žaisti su šia vėliau, aš atkurti tai už jus.
Tačiau šis kodas čia darė būtent tai.
Kodėl mes viena kita.
Leiskite slinkite žemyn šiek tiek.
>> Taigi šiuo atveju, projektoriaus tikrai ne tai padaryti teisingumą.
Bet jūsų ekranus, tikriausiai labai raudona ir labai juodą dėžutę.
Tai taip pat yra dėlionės kad rodo kažką garsus.
Tačiau vaizdas buvo iškreipta.
Tiesa vaizdą, šį kartą, yra į mėlynos ir žalios vertybes.
Tačiau jie visi buvo suskirstyti 20 todėl reikšmės yra labai mažas.
Raudonos vertės yra tik atsitiktiniai skaičiai, triukšmas.
Atšaukti šiuos iškraipymus atskleisti tikrąjį vaizdą.
>> Taigi Nikas tada jums pasakys, ką daryti.
Nustatyti raudonos vertes iki nulio, ir tada nereikia sugadinti tai, ką jis yra.
Tada padauginkite mėlyna ir žalia vertės 20.
Taigi, tai beveik pati programa kaip ir anksčiau,
bet jūs atbulinės eigos procesą.
Ir aš įdėti savo kodą iš prieš dėl tuo atveju, ekrane
Norite grąžinti jai arba žaisti toliau su tuo vienu.
Leiskite priartinkite kad.
Bet spręsti vario vaizdas Dėlionės, numeris du.
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Gerai, kad tai vienas aš nesiruošia suteikti kuo daugiau užuominų.
Taigi aš would-- oi, tegul matyti, turite typo čia.
Taigi nepamirškite, tai čia iš tikrųjų reikia eiti ten.
Taigi, ką aš norėčiau pasiūlyti, jei norite sutelkti dėmesį į šį vieną, ten atsakymas.
Jei norite perrašyti, kad kad turėtų gauti pirmąjį vieno darbo.
Ir tada galite naudoti, kad įkvėpimo antrasis.
Gražus.
Geras.
>> Ir įdomu, tai yra paprastas pavyzdys
apie mokslo ar meno vadinamas steganography,
iš slepia informaciją vaizdų str.
Paprastai, vaizdai gali būti vandenženklinius labai akivaizdžiai
su dugne logotipo kampe, bet akivaizdu, kad jums
gali būti daug sudėtingesnės apie tai ir iš tikrųjų
paslėpti kitus vaizdus Atvaizdai kažkaip su šia technika.
>> Paimkite dar 30 sekundžių, tada mes bent pranešti, ką reikėtų pamatyti.
Ir aš paliksiu trečia vienas kaip at-home pratybų,
jei norite daugiau iššūkis šį savaitgalį.
Ir aš manau, Andriejus galėtų Dotarłeś ji pirmą kartą.
Kas yra antras paveikslėlis, Andriejus?
>> Auditorija: Laisvės statula.
>> DAVID Malan: Laisvės statula bus atsakymas šį kartą.
Taigi dar kartą, tik kai paprasta pavyzdžiai, kurio tikslas
yra suteikti jums kaip jausmą mes verčiami tapybos nulio
blokai labiau erzina ir daugiau sudėtinga kodas, bet visi idėjų
yra vis dar lygiai taip pat, nors įvade
dabar iš kintamojo sąvoką, yra galima saugoti kažką laikinai.
>> Darom daugiau vienas rankas, tik dabar sujungti taškus
į kažką šiek tiek daugiau realaus pasaulio.
Kai būsite pasiruošę, jei galėtumėte eiti į šį URL ekrane.
Štai taip pat savo kopiją skaidres, developers.google.com/maps~~V.
Leiskite tikrųjų kažką realus, taip sakant, internete
naudojant "Google Maps" API arba taikomųjų programų programavimo sąsaja,
tokiu būdu.
>> "Google", kaip ir daugelis įmonių, suteikia nemokamai funkcionalumo daug
kad jūs galite naudoti norėdami sukurti savo pačių įdomių paraiškas.
Iš tiesų, jei jūs kada nors naudoti Uber gauti taksi ar automobilį,
Jūs tikriausiai žinote, kad uber turi žemėlapį ir tai rodo, automobilius į jį.
Tai yra, kaip geriausiai, kaip galiu pasakyti, "Google Maps" API.
Jie iš tikrųjų, naudojant "Google" žemėlapių, bet uber nėra kartografavimo įmonė,
nei būtų, kad būtų ypač įdomi problema
išspręsti ant jų autoservisas problema.
Ir taip jie stovi, vėl ant pečių
kitų, "Google šiuo atveju.
Taigi jie naudoja "Google" žemėlapius, bet jų pačių autoservisai ir kiti tokie bruožai.
>> Taigi, mes ketiname pasinaudoti tai daryti toliau.
Ir jei aš atvyko per greitai, tiesiog paskambinkite man per per akimirką.
Laimingi Priminti kai vaizdo medžiagą.
Jūs turėtumėte pamatyti save į puslapį kaip šis.
Taigi "Google" gražus, ir jie vieni iš geriausių
teikti ne tik API, tačiau be API, kad jūs
galite žaisti su arba naudoti komerciniais tikslais.
Jie pradėti apmokestinimo jums, jei jūsų naudojimas yra didelis, bet aš nuėjau į priekį iš anksto
ir pasirašytas mus nemokamą paskyrą kad, tikiuosi, 10 kompiuteriai
nebus diskvalifikuoti mumis staiga.
Taigi, tikiuosi, tai demonstravimas veiks.
>> Ir pastebėsite, kad jie turi API, skirtos "Android", "iOS", interneto ir interneto paslaugos,
kas tai bebūtų.
Leiskite dėmesio internete.
Taigi spustelėkite rožinė dėžutė, interneto ir kad nuves jus, tikiuosi, į puslapį
čia.
Ir jie gavo visa krūva API.
Ir ji gali būti šiek tiek didžioji ne pirmas,
bet aš jautis mus per tai, ką norime.
>> Viršuje kairėje yra "Google Maps" JavaScript API JavaScript "API.
Taigi pirmyn ir paspauskite, kad vienas.
Ir kad nuves jus dabar į Sekančiame puslapyje demo ir mėginio kodą.
Leiskite nutolinti čia.
Ir leiskite man gauti mums to-- slinkite žemyn kur ji sako greitai pradžios žingsnius.
Jūsų ekranas turėtų atrodyti mano.
>> Ir ten du žingsniai, gauti pagrindinis ir pradėti kurti.
Aš jau padariau vieną žingsnį už mums, gauti vadinamąjį raktą.
Ir tai yra bendra idėja.
API raktas paprastai yra tik didelis atsitiktinių skaičių arba eilutė
kad jums turėtų įklijuoti į savo kodą,
taip, kad "Google" žino, kas jūs esate, kai jūs naudojate savo paslaugas, savo API.
Nereiškia, kad mes esame kaltinamas nieko.
Ir dabar, spustelėkite, vietoj vienas, spustelėkite pradėti kurti.
Jei galima tiesiog mojuoti mane daugiau, jei nežinote, kur mes esame.
>> Taigi mes tiesiog subraižyti paviršiaus, čia bet kas
Maniau būtų įtikinamų yra iš tikrųjų turi mums visiems,
naudojant Cloud9 viename lange ir Šis vadovėlis kitame lange,
lets faktiškai gauti mūsų pačių taikymas ir veikia
kurios paskatintų užsakymą Google žemėlapį į mūsų svetainėje,
ir tada prideda vieną arba du funkcijas.
Bet mes tiesiog subraižyti paviršius, ką mes galime padaryti.
>> Taigi tiesiog greitai normalumas patikrinti.
Ar kiekvienas į šį puslapį, "Google Maps" JavaScript "API?
Reikia pasakyti nuo ko pradėti.
Mes neketiname eiti per visa tai bet kokiomis priemonėmis.
Gerai, kitoje kortelėje, jei jūs neturite jį atidaryti, ar eiti į Cloud9
ir gauti sau tiesiog naujas skirtukas, galiausiai.
Taigi dar kartą, c9.io nuo vakar, c9.io, ir tiesiog sukurti naują failą.
Ir eiti į priekį ir skambutis tai ką norite.
Aš pašaukiau minų map.html.
Pavadinkite tai nieko baigiasi .html.
Ir jums turėtų būti maždaug kur aš esu šio proceso
tik su mirksi eilutę tuščią skirtukas vadinamas kažką panašaus map.html.
Arba failą, nauja byla, šįkart.
>> Ir dabar, per dėl "Google Maps" JavaScript "API,
mes praleisti svarstymą per visą šį tekstą.
Tačiau pastebite, kad labas pasaulis iš tikrųjų visur, jūs matote jį dabar.
Sveiki pasaulis tai didelis spalvingas pavyzdys visa krūva HTML.
Eiti į priekį ir nukopijuokite ir įklijuokite tik, kad HTML, todėl iš tipo dokumento viršuje
visą kelią į glaudžius HTML tegus, eikite į priekį ir nukopijuoti visus that-- vėl
tai pagal hello world example-- ir įklijuokite, kad į jūsų Cloud9 kortelėje
taip, kad dabar jūsų ekranas turėtų atrodyti maždaug kaip mano.
>> Ir jūs galite išsaugoti jį, bet nedėkite ją tik dar.
Tegul pirmasis žvilgsnis kodas ir pamatyti, jei mes
negali numanyti arba sužinoti iš to, ką jis yra "Google
buvo mums aklai kopijuoti ir įklijuoti.
Jie tiesiog nori padėti, pažodžiui, gauti mums pradėti,
bet ten ne tai, kad daug sudėtingumas tikrųjų ten.
Turite klausimų tik dar?
Mes saugūs išsiveržti į priekį?
GERAI.
>> Taip greitai, galime tiesiog padaryti keletas greitai normalumas patikrinimai.
viena eilutė, ką aš matyti, ir, tikiuosi, jums
matote, ką tai reiškia, DOCTYPE HTML?
Kareem, prisiminti?
Auditorija: [NESIGIRDI]
DAVID Malan: Taip.
Čia ateina HTML 5.
Tuo tarpu, Line du ant ekranas čia reiškia hey naršyklę,
čia ateina tikrasis HTML.
trijų linija ei naršyklė, čia ateina vadovas.
keturių linija yra, žinoma, ei naršyklė, čia ateina titulą.
Ką linija penkių daryti?
Tiesą sakant, tai nėra tikrai nieko mums padaryti.
Šiuo atveju, tai tiesiog didinama puslapis su nutylėjimą. šešių linija,
mes ne kalbėjo apie, bet jis nurodo simbolių koduotę.
Yra įvairių būdų, kaip koduoti failus, ypač užsienio kalbų.
UTF-8 tik linkęs būti numatytasis.
>> Taigi dabar mes matome linija septynių iki 16, kai kurie atitinka CSS.
Ir nors mes nematėme visų šių dalykų anksčiau,
mes galime rūšies išvadą.
Taigi linija aštuonis būdus, ei naršyklė, taikyti visi taip prie kurio dviejų žymių,
matyt?
HTML ir kūno tekstas.
Taigi kablelis yra naujas dalykas ten.
Ir tai tik iš būdų nurodant kelis žodžius vienu metu.
>> Tada mes turime garbanotas petnešos.
Taigi, matyt, tai nurodo naršyklei, padaryti puslapio 100% aukštį.
Taigi, net jei yra labai mažai turinį, padaryti visą puslapį,
padaryti dalykas užpildyti puslapį.
Padaryti žemėlapis galiausiai užpildyti puslapį.
Marža, ką tai reiškia?
Štai paprastai kaip savavališkas balta erdvė aplink kraštus
kad kai naršyklė dizaineris tiesiog nusprendė turėtų būti ten, nes tai
rūšies daro viskas atrodo švaresnis.
Bet mes nenorime, kad.
Mes norime, kad žemėlapis vyksta visą kelią iki kraštų.
Apdaila, panaši dvasia maržas.
Paraštės reiškia lauke, išklojimui priemonės viduje, bet tai tos pačios rūšies sandorį.
Tai šiek tiek buferis tarp jūsų ir kraštų.
>> Ir tada linija 13 yra geras galimybė greitai peržiūrai.
Ką aštrių gestų žemėlapį galvoje, ar grotelėmis žemėlapis reiškia?
Ką tai susiję su iš esmės?
>> Auditorija: [NESIGIRDI]
DAVID Malan: Būtent.
Šis viešbutis, tai atitinka CSS nuosavybė taikoma tik vieną dalyką, HTML tegus
kad turi Citatos ID, citatos pabaiga "žemėlapį".
O dabar tegul pirmyn, slinkties žemyn į failo apačioje, kuri
yra ne per toli, ir pranešimas apie linija 19, jei įklijuokite jį tiksliai taip, kaip aš,
19 linija turi tik div, kuris yra padalinys puslapyje, o vakar aš
vadinamas stačiakampis regionas.
Jis gavo nieko jame.
Tai atvira žymė, netoli žymė.
Bet ji turi unikalų ID.
>> Taigi, kas, atrodo, yra vyksta čia yra "Google
yra ruošiasi mūsų tinklalapį turime visą 100% aukštį,
ir ne apdaila, be paraščių, nes tai, ką mes ketiname įdėti viduje
Šio div, kurio unikalus ID Žemėlapis, yra tikrasis integruotas žemėlapis.
Ir mes norime, kad ji užpildyti puslapis ir ne tik
būti šiek tiek mažas stačiakampis per vidurį.
Taigi linija 14 panašiai pabrėžia, The žemėlapį pati turėtų turėti 100% aukštį.
>> Taigi dabar pastebėti tarp eilučių 20 ir 28, tai yra JavaScript kodas.
Ir tai, nors tai sintaksiškai šiek tiek keista,
ten ne visi, kad daug čia vyksta.
Pagal 21, tai deklaruojant kažkas vadinamas kintamąjį.
Vietoj vadindami jį sudaro, kaip mes padarėme anksčiau,
mes tiksliau pasakyti var, kuris tiesiog reiškia kintamasis.
Mes galėjo pasinaudoti, kad Nikas kodas, bet jis to nepadarė, todėl aš
nesivargino daryti arba.
Tai kintamasis vadinamas žemėlapį ir tada ten
funkcija, kuri yra matyt vadinamas initMap.
>> Taigi tai yra tarsi mūsų pačių užsakymą Puzzle gabalas nulio.
Sukūrėme gabalas funkcionalumas vadinamas initMap,
ir jūs galite rūšies išvadą kas čia vyksta.
Kairėje pusėje, mes turime kintamąjį,
todėl mes ketiname įdėti šiuos dalykas viduje, kad kintamojo,
iš dešinės į kairę.
Dešinė pusė sako, ei naršyklė, duok man naują "Google" žemėlapį.
Ir google.maps.map yra tik funky būdas nuo nurodant, kad šią funkciją
priklauso "Google Maps".
>> Po skliausteliuose, mes matėme prieš tai, ei naršyklė, gauti
man į puslapio elementams, tag puslapyje, kurio unikalus ID is--
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: --map.
Ir tai, kas vyksta, gerai, ši linija kartu, 23 eilutė,
iš esmės sakydamas, ei naršyklė, eikite gauti mane
kad tuščia div puslapyje kurio unikalus ID žemėlapis,
nes noriu įterpti į it-- švirkšti į jį,
Jei will-- visa krūva turinio kad atsitinka būti iš interneto,
vėliau.
Ir "Google" daro viską, kad už mus.
>> Taigi dar kartą, pačiame gale dienos, mes turime šį pavyzdį imti.
Aš neįsivaizduoju, ką žemėlapis arba kaip įgyvendinti žemėlapį API.
Mums nereikia, kad.
Mes tiesiog reikia pasakyti žemėlapį kur įdėti save, ir palikti
šias bazines įgyvendinimas Išsamiau Google ".
Dabar yra akivaizdžiai dviejų dalių duomenų
kad šis pavyzdys yra teikti "Google" API.
Matyt žemėlapio centras, ir priartinimo lygį, taip sakant.
>> Ir ar kas nors atpažinti šiuos koordinatės, platumos ir ilgumos?
Tikriausiai ne, bet mes galime grįžti į pamoka, tiesiog pamatyti.
Bet mes jį pamatyti vos akimirką.
Padidinti lygis yra vertybė tarp jų, aš ne žinau, vienas 13 metų ar kažką panašaus.
Jis tiesiog turi daryti su tuo, kaip toli jūs esate Mastelis arba iš, ir viskas.
Ir dabar galo puslapis, pranešimas linija 29--
tai šiek tiek negraži, nes tai wraps-- šią eilutę kodo
yra tai, ką atsiunčia į Naršyklė tikrasis "Google" API ".
Visų kodą, kad "Google" inžinieriai parašyta, kad įgyvendinti
visas šis bruožas Ryšiai žemėlapius.
>> Dabar tegul nieko nekeičia.
Jei taip kartu, eiti į priekį ir tiesiog įrašykite šį failą, jei jūs iš tikrųjų turi
ką aš turiu.
Eiti į jo URL.
Galite spustelėti mygtuką Paleisti iki viršaus ir kad pasakys
Jums jūsų žiniatinklio serverio URL dar kartą.
Ir tai nuves jus į naują kortelę.
Jei paspausite atvira map.html ir šansai yra jums
ketina gauti perspėjimą, klaidos pranešimas, taip?
Klaidos pranešimas, klaidos pranešimas?
>> Taip deja, klaida pranešimas nereiškia, kad apšviestų
nebent jūs iš tikrųjų atidaryti Konsolė, kad ypatingas skirtukas mes
laikomi atidarymo vakar ir šiek tiek anksčiau šiandien.
Bet aš szarpnęły visoje tai anksčiau, todėl aš jau
suprato, ką tirpalas yra.
Šiandienos skaidres, arba o, kad Cloud9, pranešimas
kad mes ne padaryti kažkas sąmoningai.
Atkreipkite dėmesį, kad šis scenarijus tegus linija 29, jei jūs skaitote per jį,
tai kaip maps.googleapis.com/~~pobj kažkas, kažkas, kažką,
tada pastebėsite ką nors, viena iš kūrėjų,
rašė visose kapitalo laiškai, jūsų API raktas.
>> Turime įklijuokite kažką ten.
Ir tai buvo žingsnis Aš už mus anksčiau,
ir vėl jie gali juodąjį sąrašą mums, jei staiga, 12 ar daugiau iš mūsų
pradėti naudoti tą patį raktą, bet pažiūrėkime, kas vyksta.
Taigi, jei jūs einate į šiandien skaidres, vienas Pristatymas vėliau, ten
Tai labai funky, atrodantis eilutė teksto.
Eiti į priekį ir tiesiog nukopijuokite kad ir įklijuokite jį kai jis sako API raktą.
Štai vienas aš užsiregistravau.
>> Ir tikrai nebandykite rašyti jį rankiniu būdu,
nes jis jaučiasi kupinas su rašybos, potencialiai.
Taigi tiesiog nukopijuokite ir įklijuokite tai.
Ir tai vyksta, kad linija ilgiau, bet dabar, tiesiog, kad būtų aišku,
ji turėtų atrodyti šiek tiek daugiau kaip šis, kur raktas lygus ne
kapitalizuojamos šaukiantį į tave.
Išsaugokite savo puslapį, grįžti į kitą skirtuką, perkrauti,
ir tikiuosi, kad pamatytumėte, kur žemėlapį?
>> AUDITORIJA: Australija.
>> DAVID Malan: Australija.
Taigi, matyt, tie yra GPS koordinatės Australijoje.
Ir leiskite man eiti aplink tik akimirkai ir padėti visiems, kurie ne visai ten,
bet leiskite man pasiūlyti, per "Google", rasite GPS koordinatės savo gimtajame
arba savo gimtojoje šalyje.
Ir tikriausiai "Google" gali išjungti šią užsiregistruoti, arba Vikipedija gali pasakyti.
Bet pasirinkti dvi skirtingas reikšmes už platumos ir ilgumos,
grįžti ir įklijuokite juos ir tada perkraukite puslapį po taupymo
ir pamatyti, jei jūs galite turėti map už savo gimtajame mieste.
>> Ir kai jūs baigsite su kad tolesni challenge--
ir aš duosiu šiek tiek mažiau kryptį, sąmoningai, todėl, kad jūs sąmoningai
turi kovoti už porą minučių su dokumentais,
pakeisti žemėlapį būti ne tai karikatūros nutylėjimą, tačiau palydovinės žemėlapis.
Taigi jūs iš tikrųjų matyti palydovą vaizdai vietoj gražių spalvų.
>> Ir užuomina aš duosiu jums yra pakeisti žemėlapio tipą.
Grįžti į, kad gauti prasidėjo puslapį įkvėpimo.
Kaip Jūs galbūt jau surinktą, jei jūs ieškote,
yra tiek daug daugiau dalykų, kuriuos galite padaryti.
Kai kurie iš jūsų jau pakeitė žemėlapį tipą.
Bet jūs galite do-- pavyzdžiui, leiskite man pereiti prie kažko mes padarėme kursui
Aš teach-- maps.cs50.net.
Vienas iš mūsų undergrads tai padarė.
Mes centro mūsų žemėlapį per Harvardo kiemas ir perdengti visus šiuos statybos pavadinimų,
ir mes turėjome jį pridėti.
Taigi, jei aš noriu ieškoti, Pavyzdžiui, Matthews, salė,
mes turime šiek tiek išskleidžiamąjį meniu.
Ir aš manau, kad jis manimi naudojant Bootstrap, kad biblioteka aptarėme anksčiau už tai.
O jei paspausite ant Matthews Salė, jis iš karto
šuoliai žemėlapį į tam tikrą vietą, ir tai rodo,
tu šioje mažoje pop-up nuotrauka.
>> Bet net ir tai mažai pop-up, mes neįgyvendino.
Jei aš slinkite žemyn mūsų gauti prasidėjo puslapį ir ieškoti informacijos languose,
pamatysite, kad kai kurie iš funkcionalumas tu
galite pridėti, nors ir su šiek tiek daugiau sudėtingumo,
yra kažkas vadinamas informacijos langas.
Ir jei aš spustelėkite pavyzdį čia, ir tai, kas smagu,
jūs galite padaryti dalykus, kaip tai, paspaudę ant persekiotoją ir tada voila,
informacija pasirodo.
>> Taigi, mes turime ne visai pristatė pakankamai funkcijų JavaScript
dažų paveikslėlį tiksliai, kaip jums gali vielos visą šį stuff kartu,
bet mes rūšies subraižyti paviršių.
Tiesą sakant, tai, ką aš ką tik padariau, kai Aš spustelėjote tą persekiotoją,
buvo sukėlimą atveju, Vadinamasis ant click atveju.
Ir mes iš tikrųjų pamačiau Renginys anksčiau šiandien,
vadinamasis pateikti įvykį, kai mes buvome užkirsti kelią
vartotojas iš paieškos katėms.
Taigi mes rūšies pakėlė ir pasirinkto iš visų šių įvairių funkcijų,
duoti jums jausmą, tikiuosi, ką jūs iš tikrųjų galite
daryti su šiek tiek daugiau Comfort programavimo,
ir visiškai nemokama ištekliai.
>> Turite klausimų?
Ar ne?
Tai jūsų galutinis tikimybė, bent jau šiandien, penktadienį,
gauti ką nors ne savo krūtinės taip, kad eisi iš čia
jausmas pasitikintys ir jaukus.
Taip.
>> Auditorija: kodėl gi ne pridėti dar vieną dalyką?
>> DAVID Malan: O mano gėris.
Man reikia pailsėti šį savaitgalį, manau.
Kiti klausimai?
>> Auditorija: [NESIGIRDI]
>> DAVID Malan: Jūs can-- į "Internet Explorer", poilsio ramybėje,
Jūs naudojote, kad būtų galima įdėti VB scenarijų, virtualus pagrindinė scenarijų,
bet kad tikrai niekada sugauti.
Taigi trumpas atsakymas yra tiesiog "JavaScript".
Kiti klausimai?
Gerai, gerai, leiskite man tai padaryti.
Leiskite patraukti kolegas lauke.
Jie turi tam tikrą vertinimą formos, kad jie nori visiems
praleisti keletą minučių užpildant.
Jie nori rinkti šią formą ir bet atsisakymai, kad galite turėti už jos ribų.
Jie taip pat turi sertifikatus.
Spėju ten dar keletas užkandžiai ribų.
Leisk mums pereiti tokiai, ir, jei turi kokių nors tuo tarpu klausimus,
Aš vaikščioti aplink daugiau individualiai ir mes galime jums pradėti.
Taip, žinoma.
Auditorija: [NESIGIRDI]
DAVID Malan: Tai paprastai tiesa šių dienų.
Žinoma su interneto programinė įranga, jūs pasvirusi
kitiems jūs arba estetiškai naudojant dalykų
kaip Bootstrap, todėl jūs neturite turi įgyvendinti žemo lygio
informacija apie meniu ir mygtukai ir visa kita.
Jūs pasvirusi ant kažkam kaip Google, kad jūs
neturi statyti Uber verslo ir kartografavimo verslas,
ir bet koks panašus skaičius paraiškas, taip pat.
>> Tiesą sakant, prisijungimai yra populiarus, taip pat.
Jei naudojamas "Spotify" arba bet svetainių skaičius,
jums prisijungti prie kai svetaines naudojant "Facebook".
Taigi, kas yra gražus, ten yra API vardus
šiandien, todėl, kad jūs neturite turėti savo Vartotojų lentelę
ir visi savo duomenų bazėje nebūtinai ta pačia apimtimi.
Galite leisti "Facebook" padaryti viską, tos sudėtingumo jums.
Taigi, tai puikus laikas, sąžiningai, programavimo,
nes yra tiek daug trečioji šalis paslaugas, kuriomis galite statyti ant.
>> Ir vėl, kaina, kurią mokate yra arba finansinės ar prastovos.
Jei "Google" krinta, todėl nėra uber, be abejo,
bet galbūt tai yra protingas kompromisas.
Ir vėl, tai buvo viena iš temų, Tikimės, kad per pastaruosius porą dienų,
yra šie kompromisai.
Ir retai ten vyksta būti teisingas atsakymas.
Tai tikrai geriau iš dviejų ar daugiau atsakymų.
>> Perduoti šias aplink.
>> Ir šie Cloud9 sąskaitos ir toliau bus dirbti, teoriškai, visam laikui.
Jūs galite rasti, jei jūs laukti kelias dienas arba per savaitę ar dažniau prisijungti atgal į juos,
ji gali imtis, kaip vienas ar penkias minutes atidaryti atsargines kopijas,
bet tai tik todėl, kad jie įdėti tai miegoti sutaupyti lėšų.