>> DAVID Humala: Olgu, me oleme tagasi.
Nii põnev Kokkuvõttes on meie viimane osa
veebi programmeerimine, mis ma arvasin, et me tahaks kasutada üldmõistena
jäädvustada mõned allesjäänud teemasid.
Nii et lõpuks päev, siis me tegelikult teha
natuke käed-veebi programmeerimine keelega nimetatakse JavaScript.
Ja ma arvan, et me vaatleme millegi seotud pildid
ja avastanud midagi salaja peidetud pilt,
ja ka heita pilk Google Maps API, rakendusliidese
interface, kui midagi esindaja tüüpi tarkvara
see on üha ja vabalt kättesaadavad juba täna.
>> Aga miks me ei võta pilk kell koostisosa selles maailmas
et me oleme omamoodi olnud võttes iseenesestmõistetavana olemas
juba mõnda aega, andmebaasi.
Viimase päeva ja pool oleme eeldada
et meil on juurdepääs andmebaasi, kuid Mis probleem ei andmebaasis lahendada?
Mida see teeb meie jaoks?
Mis see on?
>> Publik: [kuuldamatu]
DAVID Humala: hoiab kõiki andmeid, OK, ja milliseid andmeid
Võib paned seda?
>> Publik: [kuuldamatu]
>> DAVID Humala: Igasugune teave paned ta, saad tagasi.
See on tõsi.
Ja tüüpiline veebipõhine kohapeal või veebi taotluse, millist liiki teavet,
Konkreetsemalt võib paned?
Publik: [kuuldamatu]
DAVID Humala: Kasutajad.
Mis siis kasutaja?
>> Publik: [kuuldamatu]
DAVID Humala: OK, registreeritud objekti kasutaja.
Ja mida see tähendab, et poest kasutajate informatsiooni?
Mis komponeerib kasutaja?
Kasutajal on mis?
Publik: [kuuldamatu]
DAVID Humala: Jah, isiklik andmed, ja mulle meeldib, et.
Olgem täpsem.
Nii kasutaja tavaliselt on nimi, mida veel võiks kasutaja on?
Publik: [kuuldamatu]
DAVID Humala: an addr-- OK, nii eesnimi, perekonnanimi.
See on hea.
Tegelikult olgem määrata et kuna see läheb
avada võimaluse arutelu, veel täiendavalt.
Eesnimi, perekonnanimi, sugu.
ID mingisugune.
Mida veel?
Kuulsin midagi enne ka.
E-posti, posti aadressi.
>> Nii saab peatada seal ja nüüd kaaluma mitte seda, mida me salvestamise andmebaasis
Aga-- mitte miks, sest see on võib-olla ilmne, et kui sa registreerid kasutaja,
soovite mäleta neid mõnda aega.
Sa ei taha, et see lihtsalt salvestatakse RAM
ja olla forgotten-- nii olgem keskenduda, kuidas.
>> Selgub, et maailma andmebaasid
seal vähemalt kahte tüüpi nendel päevadel.
Midagi nimetatakse SQL andmebaasi, Structured Query Language,
või cutely nimega, NoSQL, mis ei ole SQL.
Ja viimane on Näiteks, mida võiks
nimetada objektorienteeritud, või objekti poe andmebaasi
mis talletab objektid ja ei, vabandust mind, nagu me varsti näeme, rida.
>> Nii me keskenduda vaid hetkeks Neist esimese, nimelt SQL
andmebaasi, kui ainult, sest see on nii tuttav juba, et keegi
kes on kasutanud Exceli või Google lehed ja Apple
Numbrit ega standard tabelarvutusprogrammi,
või võrreldavalt või rohkem sophisticatedly,
midagi nagu Microsoft Access või Oracle
või MySQL või PostgreSQL, mis kõik on toote nimed rakendused
järgmistest idee.
>> Relatsioonandmebaasile on lihtsalt midagi, millel on read ja veerud.
Ja read ja veerud, Ma sõna otseses mõttes midagi tähendama
nagu see, et kus me võiks olla nime valdkonnas ja selle tüübi siin.
Ja tegelikult, las ma Nüüd hakkavad kaardistada.
Seega tegelikult ma ei tea miks ma joonistasin omaette diagrammi.
Hoidkem seda lihtne.
>> Meil on õigus siin algus meie lauda, ​​kus
see on nimi valdkonnas ja see on andmetüüp,
ja tüübi järgi mõtlen järgmise.
Kas see number on seda jada, lühikese string nagu sõna,
on see punkt, on see binaarandmete, nagu pildi?
Ja olgem lihtsalt kiusupunn see peale hetkeks.
Nii esimene nimi, telefoninumber, string, suure tüki text--
Publik: [kuuldamatu]
DAVID Humala: Jah, nii string.
Ja andmebaasis kontekstis, jagame tavaliselt nimetame seda char valdkonnas.
Ma lihtsalt ütlen char nüüd aga oleme läheb täpsustada seda korraks.
Märkide valdkonnas.
Viimane nimi on ilmselt sama.
Sugu?
>> Mees või naine, nii et see võiks olla char valdkonnas.
See võib olla kas tsiteerida, lõppeb "Mees" või tsiteerida, lõppeb "naiste"
või see võib olla m või f.
Kui soovite olla kaasav, Sul vaja kolmandat väärtus
või mingi muu valdkonnas hoopis.
Ja nii võid kasutada tõsi vale.
Valdkonnas võiks nimetada mees, ja siis võiks öelda, õige või vale.
Aga see ei pruugi lüüa kõik andmed, mida tahta.
>> Nii selgub seal on teist tüüpi on valdkond, mis võib olla kasulik siin
tüüpilises andmebaas, mida nimetatakse ENUMi, kus see on märk valdkonnas,
aga sa, disainer, saada loetleda võimalikud väärtused,
tsiteerida, lõppeb "mees", tsiteerida, lõppeb "naiste" ja nii edasi.
Nii et mida iganes väärtus on oma andmebaasi,
on tõepoolest Märgipõhiste, kuid see peab olema üks neist väärtustest.
Me ilmselt ei taha ENUMi eest eesnimi või perekonnanimi.
Vastasel juhul oleks meil loetleda, nagu nimigi
tuleneb, sõna otseses mõttes iga võimalik ees- ja perekonnanimi.
>> OK, nii ID milline peaks ID-olla?
Jah, nii võib-olla mitmeid.
Nii saab jääda et nüüd, number.
Ja number, number on natuke liiga lai nüüd.
Suhe lõpuks teise päev, ma tunnen, et me
tuleks vähe täpsemaks.
Number võib tähendada, nagu see võiks olla midagi sellist 1,236.
Ja et ilmselt ei ole mida me mõistame ID.
Mida me ilmselt silmas ID?
>> Publik: [kuuldamatu]
DAVID Humala: Oh, OK, nii võibolla see ei ole isegi mitu.
Võib-olla see on tegelikult kordumatu tunnus see on string, nagu kasutaja nime.
Nii absoluutselt, võiks olla.
Ma arvan, et keegi ilmselt tähendas numbriline, kuigi.
Nii jäägem selle.
Millist number?
Mis on rohkem precise-- täisarv.
Nii mitmeid nagu 0, 1, 2, 3, nii me nimetame seda täisarv.
Ja isegi siis, suutsin saab Syynääminen, see on
ei tõesti ainult Üldiselt täisarv soovite.
Sa ilmselt ei taha negatiivsed väärtused, lihtsalt sellepärast, et see lihtsalt tundub imelik.
Sa ilmselt tahad positiivset täisarvu.
Nii saab väljendada ka et Andmebaasis
kuid nüüd, me ütleme täisarv.
>> E-?
See on ilmselt lihtsalt-- Misasi?
>> Publik: [kuuldamatu]
>> DAVID Humala: See e-posti, aga see on märki, eks?
See lihtsalt on funky iseloomu nagu "at" sümbol või midagi muud,
kuid see on ikka iseloomu valdkonnas.
Ja postiaadress?
Märkide valdkonnas.
Nii et see kena algus, kuid olgem veidi täpsem nüüd.
>> Nii selgub, et andmebaasi, siis sageli
on valik rohkem rafineeritud versioonid nendest asjadest.
Tegelikult tüüpilises SQL andmebaas, SQL, või üldisemalt relatsioonandmebaasile,
andmebaase rida ja veerud, siis sageli
saada mitte ainult kindla tüübi field-- las ma tegema ruumi siin--
vaid ka pikkus.
>> Kui kaua on eesnimi?
Ma arvan, D-A-V-I-D. OK, sain ma ilmselt lihtsalt solvunud nagu pool
inimesed ruumis, paremale, kuna teie nimed on enam kui viis
tähed, nii viis tundub veidi isekas ja naiivne, et mis on parem väärtus?
10, eks, ja ma arvan, me OK ruumis.
13?
30?
Miks ma ei võta lähenemisviisi varem, kui me
rääkisid massiivid ja mälu?
Miks ma ei öelda nagu 1000?
Keegi nimi läheb olema pikem kui 1000.
Lükka tagasi.
>> Publik: [kuuldamatu]
DAVID Humala: Jah, see on raiskav, paremale, eriti
Kui enamik nimed on ainult viis või 10 või 15 märki, et on väga raiskav.
Nii et sa tead, mida?
See on omamoodi raske küsimus.
Nüüd saame kindlasti analüüsida English ja mis tahes muu keel nimed
ja aru saada, noh, mis on average-- keskmine ei ole tegelikult
aidata us-- milline on max ilmselt mida me tõesti tahame.
Aga selgub, meil on isegi mõned valik üle tüüp siin.
>> Tüüpilises SQL andmebaasi, siis on midagi, mida nimetatakse char valdkonnas
ja ka varchar, V-A-R, muutuja char valdkonnas.
Ja vahe on see.
Char valdkonnas, siis projekteerija, pea eelnevalt täpsustama
täpne pikkus valdkonnas.
Ehk eesnimi nagu 20 tundub selline ohutu.
Võib-olla teha mõned googeldamist kuni kas see on tegelikult piisavalt ohutu.
Seal on ilmselt nime 21 märki, kuid nüüd oletame, 20
on ohutu.
>> Char valdkonnas tähendaks andmebaasis, mida sa
kasutavad 20 ja alati 20 tähemärki.
Nüüd, kui see on lihtsalt D-A-V-I-D, neist 15 lihtsalt läheb tühjaks märki,
aga sa ikka kasutades kõiki 20 baiti.
Varchar valdkonnas seevastu tähendab string olema kuni 20 tähemärki
aga kui see on ainult viis, sa ainult kavatse kasutada
viis, või ehk kuue jaoks eriline väärtus lõpus,
niimoodi 0 arutasime, et tähistab lõppu iseloomu
järjestuse mällu.
>> Nii et kui sa arvad võite valida char
versus varchar, arvestades, et kompromiss?
Char kasutab nii palju tähti, varchar kasutab mitte enamat palju märke.
Publik: [kuuldamatu]
DAVID Humala: OK, kui sa tead stringi pikkusena päris kaalukad
lihtsalt kasutada sütt, sest kui sa tead seda, lihtsalt pane see alla.
Ja võib-olla see on tõsi zip kood, USA, vähemalt, 02138,
see on alati saab olema viis tähemärki, kuni lisate kriips neli.
Aga sa võisid mõned väärtused mis sa alati teada, pikkus.
Või äkki riigi sümbolid, nagu NY New York,
ja MA Massachusetts USA.
Võib-olla sa ei ole teatud olukordades kus see on täiesti põhjendatud,
kuid selle loogika, miks me isegi overthinking seda?
Miks me lihtsalt ei kasuta varchar ja siis me lihtsalt
kasutage alati kaks märki niikuinii, või alati kasutada viis tähemärki ikkagi?
Miks mitte lihtsalt säästa varchar eest kõike, mida see loogika?
Ei tohi olla saagi.
Publik: [kuuldamatu]
DAVID Humala: kas kirjutada midagi valesti.
Nii et see on tõsi.
Aga isegi siis, nad ei saa kasutada rohkem mälu kui ma eraldada.
Mul on veel lõplik öelda pikkuse,
nii et nad ei saa kogemata teha mis viga, aga hea mõte.
See on peenem, kuid see on väga seotud meie arutelu, tegelikult massiivid
ja ahelloendid varem.
>> Selgub, et andmebaasi, kui ta teab, et kõik väärtused on
fikseeritud pikkusega, isegi kui mõned neist väärtustest on tühi,
omamoodi esteetiliselt tühi, D-A-V-I-D ja siis 15 toorikud,
Selgub, et kui iga valdkonnas on ühepikkused,
palju nagu massiivi olid kõik tema asjad seljad et seljad et
võid lihtsalt pluss 1, et saada järgmine väärtus, sama mõte andmebaasi tabelisse.
Kui kõik oma iseloomu stringid on sama pikk,
teil on, mida nimetatakse muutmälu.
Kui kõik stringid on pikkus 20, siis ei ole lihtsalt
teha pluss 1 sa lihtsalt teha pluss 20 pluss 20 pluss 20 pluss 20,
ja saab väga kiiresti kerida või otsida läbi kõik oma andmed.
>> Muutuva paalia valdkonnas seevastu ei pea alati 20 tähemärki.
See võib olla 20 ja seejärel 15 ja siis 19 ja siis 10,
ja nii et kui soovite otsida läbi, sa ei saa lihtsalt pimesi
lisada 20 baiti, et saada järgmise üks.
Sa sõna otseses mõttes pea otsima läbi sest serva andmestruktuur,
kui soovite, on narmendav.
See liik läheb sisse ja välja, mis põhineb tegeliku stringi pikkusena.
Nii et kui sa tead, pikkus, kui Kareem ütleb, kasutage char valdkonnas,
sest sa saada, et efektiivsus on
võimalik otsida neist kiiremini Kui otsite andmeid,
muul viisil kasutada muutuja.
>> Kahjuks ei ole mul hea vastus kui kaua nimi peaks olema,
kuid midagi Nime, ma ütleks
varchar on ühine sest ta ei kavatse
olema fikseeritud pikkusega kõigile.
20, ma ei tea, 20 tunneb veidi kitsas.
Ütleme nii, et 50, 50.
See ei ole tegelikult maksab teile, et palju öelda 50 asemel 40,
kuid mingil hetkel pead teha otsuse kõne.
>> Väga sageli, otsekoheselt, jaoks [? ajalooliste?]
põhjustel, kuigi see on liiga suur, ehk 255, sest mõni aeg tagasi,
populaarne andmebaasi süsteemid, nagu MySQL, tasuta avatud lähtekoodiga tööriista
et palju ettevõtteid nagu ka Facebook kasutatud,
See oli suurim vaikimisi et inimesed lihtsalt läks sellega.
Nii ei ole mõistlik, kuid me kasutada veidi rohkem intuitsiooni
ja öelda, kindlasti 50, mis on ilmselt natuke liiga suur.
>> Sugu, ma nagu ENUMi, ja nii saame seega
loetleda mees või naine, või äkki tõhusamalt
m või f või mõne muu sümbolimääratlus, kuid ENUMi tundub hea valik seal.
Et asi oleks selge, sugu võiks lihtsalt olla varchar
ja saime ainult kõik lepivad kokku toredaid inimesi,
alati panna samu väärtusi seal.
Mees või naine või tühi-tähi.
>> Aga probleem siis, et me võiks teed vea, kui [kuuldamatu] pakutud
varem teises kontekstis.
Kui me teeme vea, võiksime saada vale väärtused meie andmebaasis.
Mis siis tore andmebaasid nagu Oracle ja MySQL ja teised,
on see, et sul on see viimane kihi kaitse, kus
Teie DBA, andmebaasi administraator, kes on projekteerimisel seda tabelit, nagu me
verbaalselt, võiks panna paika ENUMi et
kaitseb, et määrates mehed, naised, ja et keegi
muidu ei programmeerija saab kogemata lisada tahes muu väärtusega.
Nii et see oleks hea.
See on funktsioon.
>> Nii ID, eeldades numbriline ID, see ilmselt peaks olema positiivne täisarv.
Ja mõnikord me teeme on võimaluse arutada pikkus.
Sa ei tavaliselt täpsustada mitmeid siin
siis oleks selle asemel määrata see on int, või suur int,
nagu nad tavaliselt nimetatakse.
Aga tavaliselt, täisarv oleks, oletame, 4 baiti.
Ja kui see on 4 baiti, see, kuidas paljud bitti?
>> Publik: [kuuldamatu]
>> DAVID Humala: 32 bitti.
Niisiis, kuidas paljud kasutajad saavad meil Meie andmebaasis, kui nad kõik on ID
ja see ID peab olema unikaalne?
32 bitti tähendab, et oleme mustrid ühe, kahe, kolme, nelja, five--
nii, kui palju erinevaid mustreid nulli ja need võivad teil on, kui seal on 32?
See on sama asi nagu küsida, mida on kaks kuni 32?
See on suur number, et Ma ei ole päris saada õigus,
aga ma tean, et see umbes 4 miljardit.
Nii et see tähendab, et teie andmebaasi tabeli saab on neli miljard kasutajat ja ongi.
>> Nii et see on huvitav disain mõjuta.
Korralik ettevõtete arv on otsustanud, võibolla mitte niivõrd
nende kasutajate tabelis, sest on 4 miljardit kasutajad on haruldane probleem.
See on omamoodi Facebook stiilis probleem, mitte tüüpiline firma probleem.
Aga võib-olla, kui teil on tehingute registrid või mingi andmeid, mis pidevalt
saab kirjutatud oma andmebaasi et absoluutselt võiks olla miljardeid
ja miljardeid reas ning kasutate täisarv seda,
Mis juhtub nii kiiresti kui saad rea number 4 miljardit
ja siis proovida sisestada 4000000000. ja 1, nii et rääkida?
Ma lihtsustada numbrid natuke.
>> Võite kärpida, ma mõtlen sulle pea hakkama kuidagi.
Ja milline arvuti on tavaliselt teevad, mõtle selle peale isegi täna hommikul
kui sul on 4-bitine väärtus nagu 1, 1, 1, 1, mis saavutab
lihtsalt siduda hommikul koos pärastlõunal, mida
see number esindavad binaarne?
OK, me oleks lihtsam.
Mida see number esindavad binaarne?
OK, me oleks lihtsam, mida see esindavad binaarne?
Publik: Kolm.
DAVID Humala: Kolm, sest meil on need column--
[NAER]
Huh!
Meil oli need veerg ja kahekaupa kolonnis.
Nii oletame, et tõepoolest, meie [? Infield?] ei olnud 32 bitti,
aga see oli kaks bitti, saame loe kasutajaga number 0, 1, 2, 3,
ja siis me oleme omamoodi tagasi kasutaja 00 uuesti.
Nii et see on see, mida tavaliselt juhtub.
Kui olete kunagi kuulnud expression-- ilmselt ei ole, aga kui sa have--
täisarv ülevoolu, kus te flipping kõik oma bitti
olla suurim võimalik väärtusi, ja siis sa oled out of bits,
mis oleks tavaliselt juhtub?
Miks ma öelda 00?
Noh, see on kolm.
Kuidas ma esindan 4?
Kuidas esindavad Numbri 4 kahendsüsteemis?
Publik: [kuuldamatu]
DAVID Humala: One-- jaa, ei ütle 100 per se,
sest see on vale värvinguga, kuid 1-0-0.
Nii et number 1-0-0 on tõepoolest õige, aga kui sul on ainult kaks bitti,
mida sa tõesti teha?
Olete valtsitud üle 00.
Ja tõepoolest, see, mis juhtub.
Tegelikult saab mõelda sellest rohkem lähedalt.
Kui te mäletate, mida, 16 aastat tagasi, maailma
pidi lõppema, kui Y2K probleemi juhtus.
Miks see oli?
Noh enamik arvuteid jaoks mõistlikud otsused,
talletame numbrid nagu 1975 või 1999. aastal
lihtsalt kahe numbriga arvuti mällu.
Nii et loomulikult, mis juhtub kui sa saad aastal 2000
lähete seda, või pigem, jah.
Nii et sa minna 2000. aastal, kuid kui sa ainult kahe numbriga tundub
nagu aastal 00 ja Nii et olete valtsitud üle.
Ja see on põhjus, miks paljud süsteemid vaja ajakohastada ajal.
>> Nii et öelda, firmad nagu Facebook eel vastu.
Nii et ainus viis käepide olukorda, ausalt öeldes on ennetada seda.
Või puhtaim viis Selle olukorra lahendamiseks
on ette näha seda, et sa seda ei tee on hiljem muudatusi teha.
Nii et selle asemel 8 baiti, tead mis?
Ma lähen ettemõtlevat Siit, kuigi see on
veidi optimistlik, et me lähed on 4 miljardit
ja 1 kasutajad meie kodulehel.
Kuid olgem lihtsalt kasutada 8 baiti või 64 bitti, mis üldjuhul
nimetatakse suur täisarv, väga tehniline.
Ja see tähendab, et sa ei pea Veelgi numbrit oma number.
Aga see on oluline disaini otsuse
sest kui valid numbri, et on liiga vähe bitti ekspressiivsus
siis võiks tegelikult luua viga teie tarkvara.
>> Olgu, nii et olgem pakkima e-posti aadress ja postiaadress.
Nii e-maili, kui kaua peaks E-posti aadressi olla?
50.
Ma tõesti ei tea, aga see on ilmselt midagi sellist,
sest muidu keegi läheb kirjuta teile, kui ta saab liiga pikk, nii 50,
lähme koos seda nüüd.
Postiaadress, kui kaua peaks see olema?
Publik: [kuuldamatu]
>> DAVID Humala: See ei ole lihtsalt zip code, kuigi.
Postiaadress kuulsin.
Nii et see on nagu 1 Brattle Square, koma, Cambridge Mass., koma 02138.
Ja tegelikult, las ma lihtsalt tõmba natuke tööleht siin.
See kõik tundub nii jäänud võimalus.
Kui meil on 1 Brattle Square, koma, Cambridge MA 02138,
Ma tunnen, et me saame teha paremini kui lihtsalt postiaadress.
Miks me ei plahvatada seda natuke?
Mida ma saan vähemalt?
Mida me peaksime selle asemel on Meie read siin, ehk?
>> Publik: [kuuldamatu]
>> DAVID Humala: Jah, nii et olgem nimetame seda street_number,
ja alljooneta on vaid ühised viis millel milline näeb ruumi,
kuid see ei ole tegelikult.
Street ja seejärel city-- kahju?
>> Publik: [kuuldamatu]
DAVID Humala: Me võiks teha.
Line üks, teine ​​rida.
Miks me ei hoiab oleks lihtne nüüd,
kuid see on absoluutselt vastuvõetava otsuse.
Ja siis riik ja siis lähme olla natuke USA-kesksemaks nüüd
ja just seda postiindeks, lihtsalt sellepärast, see saab tekitada huvitav viga
või probleem.
Nii oletame, et on nüüd meie aadress.
See on veidi rohkem tüütu, et meil on kõik need rohkem valdkondades,
kuid nüüd saame sildistada asju veidi paremini.
>> Nüüd majanumbrile ilmselt ei tohiks olla paalia, peaks see?
Mis see olema peaks?
Publik: [kuuldamatu]
DAVID Humala: Võib-olla on mitmed nagu täisarv jälle?
Suur täisarv?
Sa ilmselt ei ela kell 4 miljardit Main Street
või midagi hull niimoodi.
Nii täisarv on ilmselt hea, kuid on keegi
kunagi elas aadressi nagu 1A Brattle Square, või 1 ja 1/2?
Need asjad on olemas, kahjuks isegi kui sa ei ole seal elanud,
seal on need anomaaliad nagu korter 1A, 1B, 1C.
Nii et sa tead, mida me ilmselt ei tohiks minna täisarv,
muidu me läheme kaotada osa müük.
>> Char valdkonnas, äkki?
Ma ei tea, kui kaua.
See on ilmselt ei kavatse olla et pikk, nii 10 või midagi.
Keegi ei kirjutada Pikema arvu, võib-olla.
Aga jälle, peaksime ilmselt sügavamalt ka seda.
Võibolla Google, teha mõned uuringud, aga me läheme meie sisikond nüüd.
Tänavad, paalia, 50, ma ei tea.
Mingil hetkel, keegi läheb kirjutada see ümbrik,
liiga, nii et seal on ilmselt mõned ülemised piirid olemas.
City, sama, kindel, et char 50.
>> Riik, saab USA-kesksemaks nüüd.
Nii võiks see olla nimekirjas, nii lahke resoluutse otsuse riigi.
See võiks olla nagu kaks märki.
Seega tegelikult olla, ütlesin: char.
Ma ilmselt tähenda varchar lihtsalt mõned tõhususe,
kuid me tuleme tagasi selle otsuse praegu.
Võiks olla tähemärk pikkus 2 riik.
Kui USA on neil, nagu MA, Massachusetts, NY, New York, NJ, New
Jersey, ja nii edasi.
Nii võiks see olla fikseeritud, et.
DC Washington DC.
>> Aga ma arvan, Olivier, siis kavandatud teistsugust lähenemist.
Publik: [kuuldamatu]
DAVID Humala: Jah, nii see on natuke tüütu kirjuta,
kuid ENUMi võib mõttekam, sest sel viisil, vähemalt USAs,
siis võiks loetleda, kui tüütult, kuid sa seda ainult üks kord oma andmebaasi
ja mitte kunagi enam pead mõtlema see kõik 50 kahekohaliste koodide.
Nii mulle meeldib ENUMi.
Jääme koos, et seal, sest see omamoodi jõustab jõulisem.
Ja siis zip code?
Ma arvan, Andrew oli mõte, et
Publik: [kuuldamatu]
DAVID Humala: Jah, viis või üheksa.
Ütleme nii hoida lihtsa.
Tee viis nüüd.
Aga äkki ma võiks lihtsalt teha täisarv, eks?
Suutsin, kuid sa tead, mida ma teinud see viga kord, mõnes mõttes.
Aastaid tagasi oli mul rännet Microsoft Outlook Gmaili,
ja Outlook on viis eksportivat kõik oma kontaktid Exceli failina,
CSV faili, komaga eraldatud väärtused faili.
Ja ma tegin vea, ma arvan, topelt klikkides,
kui ma alla eksporti, et veendumaks, et see nägi välja nagu ma ootasin.
Ilmselt sattusin Salvesta või lasta auto-save kick või midagi.
Sest kui ma siis imporditud see Gmail, see kõik töötas.
Aga aastaid, et sellel päeval, ja Ma tegin seda viis, 10 aastat tagasi,
Ma olen ikka leida sõpru, kes on aadressid, mis näeb välja selline.
Miks?
>> Publik: [kuuldamatu]
>> DAVID Humala: Kulus 0, noh, pigem on
võttis kogu sihtnumbri numbrile ja seega see
juhtiv 0, mis tähendab, see ei ole mingit tähendust.
Ja nii 2138 tundub olevat minu postiindeks.
Ja see on ausalt öeldes tüütu Excel funktsioon, mille Arvan vaikimisi
isegi siis, kui see on mõeldud ainult olla tekst, Microsoft Excel
otsustab, andke mulle abiks olla, ja oh, ma näen ainult numbrid.
Olgem ravida neid numbreid.
Ja see kärbib nullid.
>> Ma vannun, iga paari kuud ma leida aadressi,
ja sealt mingi OCD, ma lähen tagasi ja lisada 0, kuigi ma ei ole kunagi
Kirjuta inimesed tähti ega midagi.
Aga ma olen ikka leida jäänuseid seda.
Nii et see on öelda, on see hea mõte?
OK, ei, sest keegi Massachusetts, selles valdkonnas,
läheb on o sundinud neid.
Nii lähme koos nagu char ilmselt viis.
>> Ja siin, mõistame me võiks kasutada ENUMi ja me
võiks loetleda 10000 võimalik postiindeksid,
kuid mis tunne see on ilmselt ületamisel rida, nagu kasu.
Kui teil on sisend, mis palju andmeid oma andmebaasi
kaitseks midagi.
Nii char aru, siis võiks kirjutada H-E-L-L-O oma postiindeks,
mis ei ole muidugi numbriline.
Nii ei ole nii, et Tüüpilise andmebaas,
täpsustada ainult numbriline ja ainult viis märki,
nii et me lähed on mida teha, et koodi.
Me teeme, et PHP või Java või mis iganes keeles me oleme
kasutades serverisse jõustada sellist piirangut.
>> Uuh!
Olgu, nii küsimusi veel?
Teeme teise disaini otsuse.
Selgub, et teil Samuti saad valida,
projekteerimisel SQL andmebaasi või Tüüpiline relatsiooniline database-- kus
uuesti, relatsiooniline lihtsalt tähendab ridu ja veerge,
et kuidas teil korraldada oma data-- ja mõistavad, et mida see tähendab,,
Olen olnud eksitav et ma olen drawing-- seda
on see, mida nimetatakse skeemi jaoks andmebaasi tabelisse.
See on nagu kirjeldused table--
aga kui on aeg tegelikult andmete salvestamiseks,
ja me teeme seda lihtsalt näide.
Ma lähen avada Excel, sest Excel annab mulle ridu ja veerge.
Ja see on täpselt see, mida Oracle ja MySQL ja muud vahendid annab mulle.
Nii et ma olen lihtsalt kavatse kasutada aruteluks pärast.
Lubage mul minna ja avada esindaja dokument siin
suumida natuke.
Nii näiteks meie päised on nüüd eesnimi, perekonnanimi, sugu, ID
e-posti, majanumber, tänav, whoops.
Street, linn, riik, vaid umbes sobib ekraanil.
>> Nii tähendab see, et kui kasutaja kõigepealt registreerib minu kodulehel,
see saab olema midagi sellist David, Humala, m, oletame, et 1,
malan@harvard.edu, tänaval number olla nagu 1 Brattle Square, Cambridge, MA,
02138, ja siis nii edasi.
Nii et kui ma ütlen, et relatsioonandmebaasile või SQL andmebaas on ridade ja veergude
Ma mõtlen seda.
See tegelikud andmed on salvestatud ridade ja veergudena.
See on lihtsalt kokkusattumus, et me ei räägi,
ja ma just joonistus see läbi ridade ja veergude.
See on lihtsalt skeemi, üldine määratlus.
>> Nii need väljad siin või samaväärselt, seal,
mis on valdkonnad, mis te arvate Ma olen tõenäoliselt otsida, kui ma olen kasutaja
või kui ma olen andmebaasi administraator?
Nagu, mida väljad olen ma tegelikult läheb otsida?
>> Publik: [kuuldamatu]
>> DAVID Humala: nimi, jah nii Mulle meeldib, selle-- jaa,
e-olla päris tavalised.
Vabandame, sa ütlesid nime.
Nii maybe-- ja jälle, et me oleme Selline räägi abstraktselt.
Ma ei tea, miks Sa otsima nimi,
kuid mis tundub mõistlik, kui mida te otsite kasutaja.
Võib-olla öeldakse, kindel, ID.
>> Ja see on libe kalle, sest suutsin
leiutama stsenaarium, kus võibolla minu ülemus kutsus mind,
kui palju mehi on meil meie leheküljel?
Kui palju naisi on meil meie leheküljel?
Ja nii sel hetkel, võite otsi soo välja ka
ja ei midagi muud.
Nii et kompromiss siin.
Jällegi, ei ole õige vastus, kuid seal
on funktsioon enamikus SQL andmebaasid tuntakse indekseerimine, kusjuures
sa, disainer, siis andmebaasi administraator,
saada eelnevalt otsustada, mis põldude andmebaas peaks optimeerida
otsijate jaoks.
>> Sa võid väga naiivselt öelda, optimeerida see, optimeerida, et optimeerida seda,
optimeerida seda ja seda, ja andmebaas
teha mõned maagiline asi all hood, ja midagi nii
et järgmine kord, kui otsida ühelgi neist väljad
see tegelikult olla kiirem.
See on võimalik.
See ei saa tühistada ise välja.
Aga seal peab olema tasutud hind.
>> Kui te naiivselt, või entusiastlikult ütleme, indeks kõik need väljad,
niiöelda, need kõik tõhusalt otsida,
mis hinnaga sa ilmselt maksab?
Publik: [kuuldamatu]
DAVID Humala: Performance.
Mida sa silmas pead?
Noh jõudlust, vähemalt kontekstis ma arutada, on nüüd parem.
See on mõiste indekseerimist.
Ta teeb otsinguid kiiremini.
Nii lüheneb, kui nii võib öelda.
Publik: [kuuldamatu]
DAVID Humala: Space.
Nii jälle, need on ühine kaubandus.
Ma ei kiirendada oma otsinguid, kuid see on läheb teile maksma rohkem baiti ruumi.
Miks?
Noh, vaikimisi, kui meil ei ole ükski need punased tähed, ükski neist indeksid,
kui ma räägin, kuidas sa otsida Nime andmebaasis?
Nii saab juhtida meie tähelepanu sellele näitele.
Kui meil on David ja Scully ja Kareem ja ARWA ja teised need read,
näiteks.
>> Nii teeme just nii.
Scully on siin ja siis meil Kareem ja ARWA,
ja kõigile teistele, kui te ei on määratletud indeksit, nii et rääkida,
parim, mida saate teha on lineaarne otsing.
Kui otsite ARWA, me ei ole saab olema võimeline hüppama õigus tema
kiiresti.
Me läheme alustada ülemise ja minna kõik viis põhja,
ei ole erinevalt meie algne Mike Smith näiteks.
>> Kui aga ma öelda, hei, andmebaasi, indeks eesnimi valdkonnas,
siis see läheb midagi Kasvataja ja toetada midagi
nagu Kahendotsingupuu.
See on ilmselt ei Kahendotsingupuu per se.
Andmebaasid kalduvad kasutama teise andmestruktuur nimetatakse b-puud,
ei tohi segi ajada kahendpuuks, et lihtsalt teha seda kiiremini otsida
midagi logaritmiline looduses.
Aga auto hind üles ehitada, et funktsioon, mis andmestruktuur mälu,
on rohkem baiti.
Nii et see võib võtta mõned megabaiti, mõned gigabaiti, kes teab?
See sõltub andmed.
>> Nii mingil hetkel, tuleb teil otsustada, see ilmselt ei ühine puhul.
Mis on ühist tegelikku juhtudel, kui tõesti oleks valida,
milline võiks oma lemmik väljad on?
E-post.
Ja mulle meeldib e-posti, sest e-maili, teoreetiliselt peaks olema unikaalne.
Ja nii tavaliselt, kui sa tead ette, et üks sinu väljad
on või saab olema unikaalne, et kipub olema hea valdkonnas
otsi, sest nii, kui otsite midagi,
sa lähed, et saada tagasi üks või null vastuseid ja siis ongi valmis.
Sa ei pea hoidma otsin veel teised.
>> Ja nii sel juhul siin, e-posti nii kaua, kui te ei saa registreerida kaks korda
sama e-posti, on hea.
ID definitsiooni järgi on infotehnoloogia maailmas,
kui sa räägi ID, mis oli parem olla unikaalne.
See on omamoodi värvinguga ID või tunnust.
Ja ülejäänud neist võiks olla, nimetame neid tore rikaste,
kuid tegelikult ei vaja.
>> Ja nii andmebaasi, saab määrata indeksid,
kuid võite olla veelgi täpsem.
Sa ei saa öelda, hei, andmebaasi, veenduge, et iga ID tabelis on ainulaadne.
Ärge isegi lasta programmeerija kogemata kasutusele eksemplaris posti
või dubleerida ID number.
Nii palju nagu nimekirjadest kaitsta meid samamoodi, siis
võib olla need madalama taseme kaitsemehhanisme.
Ja nii andmebaasi disain, in Mõnes mõttes on selline tore,
kuna sa seda kaitsele.
Sa justkui eeldada, et sa tööd koos jube, jube programmeerijad
ja sa tahad panna nii palju kaitsemehhanisme kui võimalik, et kaitsta oma andmeid,
kuid samal ajal soovite et aidata neil täita paremini
valides, mis valdkondades, et optimeerida.
Aga sa ei saa tingimata seda teha vaakum, nagu me sellist siin.
Sa pead teadma, mida on nende ühiste juhtudel on.
Kui arendajad rakendades aadressiraamatu
võite väga hästi tahan olla võimeline otsida peaaegu igas valdkonnas,
lihtsalt looduse taotluse.
Ehk sa kulutad et lisaruumi.
>> Parem, küsimusi?
Jah.
>> Publik: [kuuldamatu]
>> DAVID Humala: Ei
>> Publik: [kuuldamatu]
>> DAVID Humala: OK.
>> Publik: [kuuldamatu]
>> DAVID Humala: Oh, nii et me räägime nii
nüüd, et on täiesti keeles agnostik.
Nii et me räägime praegu umbes relatsioonandmebaasides üldisemalt
või SQL andmebaasid üldisemalt.
>> Publik: [kuuldamatu]
>> DAVID Humala: parem sõna kasutada on, võib kasutada mis tahes keeles.
Nii et ma ei kirjuta JavaScripti koodi, C kood, C ++ koodi, Java koodi, Ruby koodi
mis kõik rääkida andmebaasi ja päringuid.
Tegelikult see ei ole halb rännata näide päring.
Ja jälle, me ei lähe Java või C ++ või mistahes sellise enam,
kuid SQL keel, mida ma hoida viidates, Structured Query Language,
See iseenesest on programmeerimiskeel, kuid see on nii mõeldud kasutada, no
üllatus, struktureeritud päringu päringuid.
>> Autor et ma mõtlen seda.
See, kuidas sa valida andmeid alates MySQL andmebaasi
on sul sõna otseses mõttes kirjutada oma programmi midagi valige tähe kasutajad.
Eeldan, et see tabel, Edaspidi nimetatakse kasutajad.
Ma võiks seda kõike tahame, kuid sellist mõtet.
Ja nii vali on väga ühise verb, kui te
tahet, SQL, mis sõna otseses mõttes ei tee seda.
Mis te arvate, star antud kontekstis tähendab?
>> Publik: [kuuldamatu]
>> DAVID Humala: Vabandust?
>> Publik: [kuuldamatu]
>> DAVID Humala: Pole nõutud, et see on kaasavamaks kui tegelikult.
See on looduses kaardi iseloomu.
Star peaaegu alati midagi tähendab, nii et see tähendab, antud juhul
vali kõik andmebaasist.
Nii et kui ma ütlen seda, ma mõtlen anna mulle tagasi iga veerg
minu laua nimetatakse kasutajad.
Nii et anna mulle tulemuse hulka, nagu seda nimetatakse.
Teisisõnu, mulle koopia tabelisse, on see, mida ma saan vähemalt.
>> Aga kui ma ütlesin valige tähe kasutajad kus ID võrdub 1, kui suur peaks
minu tulemus komplekt on siis?
Või samaväärselt, kui palju ridades Ma antakse tagasi andmebaasist?
Tõenäoliselt vaid üks, kui mul on tõepoolest käsitletakse ID kui kordumatu tunnus,
ja kui David on see unikaalne ID, ma peaks tagasi saada ainult üks rida
mis sisaldab kõiki Davidi teavet.
Kui ma ütlesin seda, kui ID võrdub 99, ma saan tagasi,
Selles kontekstis null ridades vähemalt hetkel.
>> Samas, kui ma tõesti ei hooli umbes kõik, et teave,
Ma võiks öelda, et kui ei David elada?
Vali postiindeksi kasutajate, kus ID on 1.
See valib mulle ainult Davidi zip koodi ja mitte kogu selle rea.
Miks võiks ma seda selle asemel, star päringu looduses kaardi?
>> Publik: [kuuldamatu]
>> DAVID Humala: Jah, ma võin ainult seda vajavad.
Nii jõudlus on jälle siin vastus.
Miks küsida rohkem informatsiooni, kui teil on vaja,
sest isegi kui see on kõik õige koos, sul on veel kopeerida, et andmed,
tundub, andmebaasist oma programmi kuidagi,
ja see on lihtsalt rumal, kui sa vaja ainult viit nende numbrit,
mitte kogu rida.
>> Niisiis, kuidas ma sisestada kasutaja?
Oletame, et kasutaja peab lihtsalt Registreeritud esmakordselt.
Süntaks tavaliselt näeb välja selline.
Lisada kasutajaid ja siis ütleks väärtused,
ja siis me ütleks väärtused nagu, ütleme, Lauren Scully,
Meie Harrastusvideograaf siin.
Ja järgmine valdkonnas on sugu.
Nii me öelda, tsiteerida, lõppeb "F", siis on meil ID
ja ma lähen say-- olgem teeselda, et ta on tegelikult siin,
nii me kerida lugu.
Nii 2 on tema ID.
Ja siis järgmisele väljale Siin on tema e-mail.
Nii et see saab olema nagu Lauren Scully ja nii edasi,
ja me lihtsalt dot dot dot eemale siin.
Nüüd siis natuke tüütu, kuid sisestada päringu
lõppkokkuvõttes välja nägema.
>> Kui ma tahan vabaneda Scully, uh-oh, lähme arvelt maha võtta
teda, ta kustutab oma konto kustutada kasutajate kus ID võrdub 2,
vabaneda Scully.
Või ma ei saa öelda uuendus kasutajad seatud, oletame, milline võiks me muuta?
Oletame, et ta liigub.
Määra zip võrdub 021-- nope, see on tema praegune zip.
90210.
Ainuke sihtnumber Ma tean, et maailmas.
Nii, mis muudaks tema zip code-- tegelikult,
mis ei muudaks tema postiindeks.
>> Mida ma teen?
Kuigi süntaks on ilmselt uus.
>> Publik: [kuuldamatu]
DAVID Humala: Jah, ma kolisin igaühele Beverly Hills, California.
Nii et ma tegelikult peaks öelda, kus ID võrdub 2.
Ja nii edasi.
Nii SQL on kõike neid liiki juhiseid.
Vali sisestada, kustutada, uuendada Nende predikaadid lõpus
Nende kus punkte, nii rääkida.
Ja seal on palju rohkem võite teha, kuid see on tõesti lihtsalt taandub
lihtsalt, kui arcanely, väljendades mida soovite andmebaasi teha.
>> Ja siis andmebaasi nuputada, kui
Sisestades Lauren Scully sisse andmebaasi, kuhu panna oma mälu
nii et me saame väga kiiresti saada tema põhineb tema e-posti aadress
või põhineb tema ID number vms.
Jah, Dan.
Publik: [kuuldamatu]
DAVID Humala: Tõesti hea küsimus.
Kas need skriptid muutuda Microsoft Access Oracle
MySQL PostgreSQL?
Lühike vastus on, see sõltub.
Teoreetiliselt on väga ühine oluline alagrupis SQL
mis on jagatud kõigi Nende rakendamist.
Kuid erinevate tootjate on lisafunktsioonid
oma andmebaasidele teha teatud asju väljuvad need omadused,
mis võivad tegelikult murda.
>> Nii, kuidas arendajad maandada see,
on see, et mitte kirjutada toores SQL koodi, nagu ma olen kirjalikult siin
nad kasutavad selle asemel raamatukogu ühine raamatukogu, mis iseenesest
on omamoodi kõrgema taseme ja teesid ära millist toodet te kasutate.
Ja see annab teile funktsioonid ja protseduurid
helistada, et sa kunagi tegelikult kirjutada toores SQL.
>> Teoorias siis saab muuta tooteid Oracle Microsoft
või vastupidi või midagi teine, ja sa sõna otseses mõttes
muuta midagi oma koodi.
Reaalsus on aga, mõnikord loobuma funktsioone tõttu.
Te olete valinud toote, sest see ju need lisandväärtusega omadused,
ja sa oled lihtsalt nüüd ei kasutades neid teadlikult.
>> Ja Anecdotally enamik ettevõtteid kipuvad kunagi eemalduda oma andmebaasi.
Niisiis, kui see on tore on funktsioon, reaalsus
on, kui sa renoveerimisel oma andmebaasi, et sa oled
ilmselt tegemist kobarad muud muutused Igatahes, et sa ei pruugi
vaja ette näha, et.
Nii et see on vaieldamatult üle-inseneri probleem,
kuid tegelikult sõltub kontekstist.
Aga teoreetiliselt SQL jagatakse nendest eri tooteid.
Tõesti head küsimused.
Jah.
>> Publik: [kuuldamatu]
>> DAVID Humala: Jah, nii sa ei mõtle andmebaasis
on lihtsalt server, lõpus päeval ja sees et server
on terve hunnik tabelid, read ja veerud.
Ja kui saadate päringu niimoodi oma programmi oma veebilehel,
kirjutatud Java, Ruby, Python, ükskõik, server võtab see käsk
ja tõlgendades seda sõna otseses mõttes samamoodi
Arutasime varem tõlgendada keeles
ja siis täita mõned tegevus null või mitu rida null või enam tabelites.
Publik: [kuuldamatu]
>> DAVID Humala: Täpselt, täpselt.
Nii pseudokoodi midagi niimoodi võib olla see.
Oma PHP faili või oma Python faili või Java-fail,
siis oleks pseudokoodi koodi või Scratch-like blokeerib nii, kui kasutaja külastab
acme.com/register~~V esimest korda, Seejärel lisada kasutajaid ja nii edasi.
Ja me tõlkida see, et konkreetsemad koodi lõpus.
Aga tõesti, me kõik oleme ehituskivid siin
kuigi me vahele mõned rakendamise sammud.
>> Nii et lubage mul norima, mida me Imeliselt tegi hetk tagasi.
Te olete loonud päris täielik tabel kasutajad.
Tõsi, me võiks rakendada seda mitu erinevat võimalust,
aga sa tegelikult viinud meid alla path-- ja ma ütlen teile,
aga see on ilmselt minu fault-- on üsna ebaefektiivne andmebaasi rakendamine.
See ei ole normaliseerunud.
>> Ja normaliseeritud ma mõtlen seal saab olema,
Aja jooksul oluliselt koondamise ja seetõttu ebaefektiivsus,
see on raiskamine ruumi.
Tuginedes ainult seda, mida sa näed siin, saab sa kujutlevad, kus see raiskamine ruumi
läheb tulema, aja jooksul, rohkem ja rohkem kasutajaid registreerida
oma koduleheküljel?
Mis andmed võivad muutuda ülearuseks?
>> Publik: [kuuldamatu]
>> DAVID Humala: Miks sa mõtled seda?
Publik: [kuuldamatu]
DAVID Humala: Jah.
Ja Oletame jaoks täna, et see on tõsi.
Selgub, ja me oleme õppinud seda raske tee, et see pole tõsi.
Kuidagi mitu linnad, millegipärast sama postiindeks,
mis lõhub see suurepärane intuitsioon.
Aga oletame, et on tõsi, sest see on peaaegu alati tõsi.
Nii oletame, et postiindeksi on alati seotud sama linna
ja riik, mis on selline on mõistlik eeldada,
aga vale, selgub.
Aga mõistlik eeldada tänapäeva eesmärkidel.
>> Siis oletame, et ma elan Cambridge, MA sõnul selle kasutaja lauda
ja oletame, et Lauren Scully elab Cambridge, MA,
ja oletame, et Kareem elab Cambridge, MA,
ja ARWA elab Cambridge, MA, meile kõigile 02138.
Miks me mäleta Cambridge, MA, 02138 kõigi nelja juures?
Mida peaks piisama, et mäletad?
>> Publik: [kuuldamatu]
DAVID Humala: Just sihtnumber.
Lihtsalt, et 02138 on olemas, sest sa tead, mida me võiksime teha?
Me võiks saada veidi fancy siin ja siin, määratleda teises tabelis
kus see saab olla nimi see saab olema tüüpi,
see saab olema pikkus ja edaspidi, ma olen
läheb nimetame seda minu linnad tabelis.
Seda nimetatakse, on Muidugi, minu kasutajate tabelis.
Ja mis ma peaksin siia minu linnad tabelis, kas sa arvad?
>> Publik: [kuuldamatu]
>> DAVID Humala: Jah.
Nii zip ning riigi ja linna.
Ja nii tüübist siin, me ütleme see saab olema char 5 jälle,
teema arutelus varem.
Sellest saab ENUMi, nagu ehk Enne ja linna saab varchar 50.
Ja nii nüüd, mida ma saan kustutada sellest tabelist
kõrvaldada, et ebaefektiivsus?
>> Publik: [kuuldamatu]
DAVID Humala: Nice.
Riigi ja linna minema, nii et ma olen nüüd kõrvaldada potentsiaalne ebaefektiivsus
jaoks liigselt mäleta, Cambridge, MA, Cambridge, MA, Cambridge, MA,
Cambridge, MA, mis loodetavasti on muutu kunagi.
Ja isegi kui see juhtub, on see minorly tüütu, nüüd
et pean muutma seda mitu rida,
samas siin, ma võiks lihtsalt muuta see ühes kohas.
>> Nüüd, mis on kompromiss, ehk?
See oli super mugav.
Olid kõik minu andmed kenasti kokku.
Aga mis on selgelt ka praegu?
>> Publik: [kuuldamatu]
DAVID Humala: Täpselt, ja ma olen rõõmus, et sa kasutada sõna liituda,
sest see on tegelikult märksõna, maailma relatsioonandmebaasides
SQL, see on tegelik sõna, mida Võib kirjutada või vähemalt edasi.
Ja tegelikult, mida me nüüd peame tegema valida David täielikku teavet
midagi valige täht kasutajate liituda linnad, nüüd-- ja nüüd
Ma lähen lihtsalt liikuda teise liini nii et see fits-- users.zip võrdub
cities.zip, kus users.ID võrdub 1.
>> Mis siis toimub?
See on kole vaadata, kuid saate liiki lugeda vasakult paremale, ülevalt alla.
Vali täht kasutajad on sama nagu enne,
kuid see ei ole kasutajate iseenesest.
See on kasutajad liituda linnades.
Mida ma liitumist nende kahe tabeleid?
Noh, ilmselt kasutajate tabelid zip valdkonnas,
ja selle aja jooksul on lihtsalt eriline süntaks väljendada, et idee,
ja see on linnad tabelid zip valdkonnas.
Ma tahan, et need kaks on võrdsed, aga ma tahan lõpuks valida
ainult need read, kus ID-kasutajad tabelis
võrdub 1, mis juhtus olema minu.
>> Ja just olema selge, et programmeerija, tavaliselt siis, kui
hardcode midagi arvu 1, sest muidu veebilehel ainult
toetab David või Kõige esimene kasutaja, siis
oleks selle asemel teha midagi ID, kus
See kujutab endast muutuja, midagi, mis
võib aja jooksul muutuda, mis on sarnane vaimus, mida ma ütlesin
kus selliseid kohatäitjaid.
Aga nüüd me lihtsalt hardcode seda 1.
Ja mis see tähendab?
Noh, kena viis visualiseerida see on et kui see käes on kasutajate tabelis,
ja see käsi on lukud laud, me oleme omamoodi finding--
ja näpunäiteid mu sõrmed on zip siin, ja näpunäiteid oma sõrmi
siin on zip, sa oled Selline blokeeringuga see
nii et saad tagasi tulemuseks originaal tabel, mida tõeliselt liitumisel
kaks tabelit ühise valdkonnas.
Ja see ei pea olema zip.
See võib olla kõige midagi muud, kuid zip on tore, sest üks, see on lühike,
kaks, see on alati sama pikk, seega ei
tõeline efektiivsus, mida Olivier pakutud siin
Faktooringuga välja zip ja [Kuuldamatu] ettepaneku, et me vabaneda
linna ja riigid.
>> Nii et see on protsess tuntakse normaliseerumist.
Kõik küsimused on?
Noh lubage mul rõhutada, See on selline värk,
kuigi see on üsna madala, Selle arutelu, et sa arvad
sa omamoodi saada kadunud umbrohu
See on märk rohkelt võimaluse arendajatel olla halb.
Ja tegelikult, isegi kui me, et Kursused Olen õpetanud, kui me oleme olnud,
Näiteks kogenematu bakalaureuse programmeerijad
ehitada veebilehed, esimesel pilgul, veebilehed võiks vaadata kohutav.
Ja nad on kõik funktsionaalsuse palusime,
arendajad tegid head tööd.
>> Aga nad ei pruugi teada, piisavalt informatsiooni andmebaasi disain
või nad ei usu, et raske piisavalt informatsiooni tüüpi andmeid
ja tüüpi kasutajatele kodulehel pidi olema,
ja leiame, siis kuus kuud hiljem, pärast olen lõpetanud või liikunud,
et kurat, meie kodulehel on tõesti, tõesti aeglane.
Ja ma ei räägi isegi võttes miljonid või tuhandeid kasutajaid.
Ma mõtlen paarsada kasutajad ülikoolilinnakus kellest kõik meeldib, näiteks
ostke kursustel Samal ajal on nad
kasutades, et muidugi kataloogi taotluse mainisin
ja asi muutub väga aeglane, kuna puudusid indeksid.
Puudusid punane tähte, nii et rääkida, või me ei pruugi
tegureid ühised andmeid saaksin säästa ruumi.
>> Ja nii, kui kontrollil arendaja või andmebaasi isik vms
liiki küsimusi läbi mõelda isegi, kui vaatame kellegi koodi
öelda, ei pruugi otsida läbi kõik oma koodi, kuid öelda,
Vaatame läbi andmebaasi tabeleid.
Mida te hoidmiseks?
Ja siis öelda, noh, oota minutis, miks sa kasutad täisarv?
Mis siis, kui meil on 4 miljardit ja 1 neist read?
Ja selliseid küsimused on võimalus
et selline tagurdamise ja tajuksid, kus
kui sa ei ole mugav teha see, et keegi rohkem tehnilisi
neid küsimusi, kas või mitte inimene tõesti teab oma kraami.
Ja see on selline värk ka, et inimesed
Internetis kes on iseõppinud, võibolla
õppida harvem, sest sa ei pruugi kohanud seda
nii palju, sest saad andmebaasi ja töötab,
aga kui olete lugenud üles õpetused või olnud
rääkis andmebaasi normaliseerimine ja indekseerimine ja tulemuslikkust,
need on asju mis hakkavad haiget teha.
Ja siis võiks arvata, või halb insener Võib öelda, oh, noh, me parem palk
Suurema andmebaasi või kiirem andmebaas
või lihtsalt visata raha selles, vertikaalselt skaalal, mitte tingimata nii.
Kui te lähete in-- ja võid minna pärast fact-- ja lisada indeksid,
ja see võib võtta paar tundi andmebaasi üles ehitada, et uute andmete
struktuur, mis ma vihjas varem saate siiski määrata see tagantjärele,
et see on koht, kus sa alustada eristada
hea disainerid halb disainerid, mitte ainult esteetiliselt,
kuid tulemuslikkuse tark ka.
Kas küsimusi on?
Ei?
Nii NoSQL, mis oli teist tüüpi Andmebaasi mida ma vihjas varem
sa ei pea ridu ja veerge.
Selle asemel, siis oleks midagi mis näeb välja natuke rohkem niimoodi.
Ma lähen kasutada ühist süntaks.
Looksulg juhtub kasutatakse siin üsna palju.
Sul võib olla midagi nagu esimene nimi on David,
siis võib-olla viimane nimi on Humala, hinnapakkumisi,
sa võisid ID on-- vabandage, whoops-- ID on 1,
email on malan@harvard.edu, ja ma ei viitsinud kirjutada välja puhata ja siis
mõned muud asjad.
>> Teisisõnu, see on tekstilise esindatuse
mida me tavaliselt nimetame Objekti arvutiprogramm.
Ja objekt on üldiselt lihtsalt kogumise põhiväärtus paari.
Nii jälle see teemaks.
Nägime põhiväärtus paari HTML, nägime põhiväärtus paari nüüd
kontekstis andmebaasid, ning me nägi põhiväärtus paari kontekstis
ja ma arvan, et keel juba täna.
Hoiab tulemas.
Ja tõepoolest, see on tõesti milliseid andmeid taandub,
andmed ja metaandmed või väärtused ja võtmed võrra.
>> Nii mitte-relatsiooniline andmebaas, midagi põhineb
esemete kohta, kus sa lihtsalt salk kõik kokku ja pane see
mällu, oleks üldiselt pildil on, või mõelnud, kui see.
Ja ma jätan selle nüüd kui omamoodi alternatiivset lähenemist.
Ja üks ei pruugi parem kui teised.
Tegelikult väga moes nendel päevadel on andmebaasi süsteemid
nagu MongoDB ja Redis ja mõned muud sellised vahendid, vabalt kättesaadavad,
kuid nad on üha en vogue.
Osaliselt seetõttu, et nad pakuvad täiendavat funktsioonid üle need tabelina lähenemisviise,
vaid ka sellepärast, et nad on veidi lihtsam kasutada,
sest sa ei pea mõtlema nii raske umbes palju neid disaini otsuseid.
Nii plussid ja miinused.
Nii mõistame, on võimalusi kaugemale sellest, mis me lihtsalt aega kulutada.
>> Nii teeme seda.
Olgem üleminek veidi nüüd tagasi veebi programmeerimine,
nii et meil selline sõlmida täna midagi
see on natuke käed, täites Mõnes lüngad eile.
Lubage mul minna seda esimesena.
Nii meenutada, et eile meil oli kanooniline HTML
lehekülgi, mis oli algselt ainult HTML ja seejärel alles seejärel oli CSS,
Kaskaadlaadistik.
See on uus silt, et me ei vaata eile, või rääkida,
Niinimetatud script tag.
>> Selgub saab tegelikult kinnistada keeles nimetatakse JavaScript oma veebi
lehele ja teha oma veebi lehekülgede midagi teha.
Mida ma öelda, et?
Noh, lubage mul minna ja lihtsalt laenata see kood hetkeks.
Ma lähen minema Cloud9, ei ole vaja sinna minna ise veel,
ja ma lähen nimetame seda alert.HTML.
Ma lähen kleepida minu pilt siin.
Ja just, et selgitada, mida ma olen teinud, las mul läheb sellele aadressile ja minna hoiatada,
ja sa näed Hello World.
>> Aga see on selline underwhelming.
Ma tahan teha midagi veidi erinev.
Nii et ma lähen tegelikult seda teha.
Ma lähen siin e, ja vahel mu skript silte
öelda alert ( "Hello, world"); nii teate see on natuke lohakas, kuid mul HTML,
mille sees on keeles nimetatakse JavaScript,
ja see on, mida nimetatakse funktsioon kõne või protseduuri kõne.
See on verb, sõna otseses mõttes, sel juhul ja ma viitamine koodi funktsionaalsus
et keegi kirjutas.
>> Nii et funktsionaalsus on märguanne, et lähme see leht
nüüd ja klõpsa Laadi uuesti ja nüüd sa vaata natuke interaktiivsust.
See on selline vana kooli ja kole.
Selline meenutaks hüpikaknad ehk Läinud
kuid see ei tee midagi veidi rohkem programmiline.
>> Nii üle, et teeme midagi huvitavat.
Lubage mul minna siia ja vabaneda sellest.
Ja ma lähen edasi minna ja luua vormi, nagu me tegime eile.
Tegelikult, sa tead, mida?
Ma lähen minema google.html, mida me
algas eile, mis tundus see, mille kaudu me otsinud kass
Aga märgata seal on selline viga praeguse versiooni.
See töötab kassid, kuid arvan, et Ma ei tee koostööd ja writing midagi,
ja ma lihtsalt käsku esitada.
See on selline imelik käitumine.
Tegi mulle tõeline Google, ei andnud mulle veateade.
Sooviksin öelda kasutaja sa pead andma meile väärtust.
>> Niisiis, kuidas võiks seda teha?
Noh lase mul minna tagasi Cloud9 ja lase mul minna peale minu leheküljel
lisada skripti tag niimoodi, kus Ma lähen kirjutada mõned JavaScript koodi.
Ja ma lähen tegema järgmist.
Kui (document.getelementByID-- ja tagasikutsumine et me rääkisime, et varem
et funktsioon.
Mis ID ma tahan saada?
Ma tahan saada q, ja ma lähen ütleme võrdub midagi, nagu see--
tegelikult las ma kasutada jutumärkide lihtsalt consistency-- võrdub midagi,
Seejärel alert ( "Palun sisesta päring") siin.
>> Nii et mul on, mida tundub olevat midagi seisukorras.
Me oleme näinud seda üldist ideed nullist.
See on nagu üks neist puzzle tükki, mis nägi välja selline.
Ja mida ma öelda?
Noh, siin, märkate ma olen kavatseb teha järgmist.
Ma annan selle vormi valdkonnas mitte ainult nime q, mis
on see, mida saab edastada Google'ile, kuid ma olen annan selle kohalik tunnus
nimetatakse ka q.
Aga ma võiks nimetada seda kõike ma tahad, ma lihtsalt hoida lihtsa
ja ka seda nimetada q, just lihtsus.
>> Ja nüüd ma lähen tegema midagi veidi.
Vormil väljad siin, ma lähen lisada mida nimetatakse sündmuse käitleja.
On esitada, ma tahan helistada funktsioon nimega valideerima.
See ei ole veel seda Sõna või see verb valideerida,
sest mida ma lähen tegema siin nüüd on lisada mõned koodi.
>> Ma ütlen funktsiooni valideerima.
Ma lähen treppimistasemel seda ja lisada veel lokkis traksidega siin ja teine ​​siin.
Mõtle, mida see nüüd teeme.
Mul on now-- mõelda sellele, kui loodud minu enda pusletükk, mis varem ei olnud
olemas, ja ma olen seda nimetanud puzzle panema Kinnita pusletükk.
Selle eesmärk elus on täita nelja rida koodi sees on.
>> Kui document.getElementById nii kontseptuaalselt
et läheb minema element, HTML element, mille unikaalne
Idee on lihtsalt q ja seejärel kuigi süntaks tundub veidi imelik,
mis võrdub võrdub lihtsalt tähendab võrdsete.
Nii et see tähendab, kui elemendi kordumatu tunnus q, siis saanud,
ei ole väärtust, vaid see võrdub tsitaat lõppeb, midagi seal,
siis mida ma tahan teha?
Ma tahan karjuda kasutaja.
>> Ja me ei hakka väga täpselt siin.
Ma lähen tagasi vale.
See on viga.
Else, ma lähen tagasi true.
Nii kas see töötas või ta ei ole.
Vale või õige.
Ja nüüd, kui ma ei teinud vigu, las ma salvestada ja uuesti laadida.
Ja las ma kontrollige, et Ma ei tegelikult teha kirjavigu
nii et ma ei häbistada ennast.
Vaatame, kas see toimib.
>> Nüüd ma lähen kirjuta kassid.
See töötab, või pool tööd, vähemalt.
Nüüd lubage mul seda uuesti laadida ja nüüd lase mul proovida, esitades ilma kirjutades
anything-- kurat, see lagunes.
Üks hetk.
Lubage mul avada konsool [Kuuldamatu] sisse laadige leht.
Las ma proovin seda uuesti.
Oh, kurat võtaks.
Ma unustasin.
Ma teinud kirjaviga.
Mäletan, mis see on.
.value.
Ma mõtlesin, et öelda, kui väärtus Elemendi kelle ID on q
võrdub, et siis kisa kasutaja.
>> Nüüd lubage mul hoidke mu hinge uuesti.
Siin me läheme.
Seal me läheme.
Palun kirjutage päring.
Nii, et see ei lase mind läbi.
Ma võin olla selline mänguline seda, ja selle asemel, et kontrollimine ei ole väärtust,
Ma ei saa öelda midagi sellist, Ei enam otsivad kassid,
ja nüüd saame lihtsalt rohkem vallatult lasta kasutaja Otsi koeri, kui ta
tahab, või kui ma lähen siin ja otsida kassid, nüüd ma ei saa.
>> Mis siis Buffee siin?
Nii et üks, oleme kasutusele võetud meie maailma HTML ja CSS,
programmide funktsionaalsust.
Ma ei saa tegelikult nüüd teha otsuseid koodi.
Varem suutsin ma ei märgi üles teksti sisu või graafilist sisu
ja öelda seda, mida otsida näeb ja kus näidata.
Nüüd ma ei saa tegelikult küsida küsimused veebilehe
ja teha otsuseid, mis põhinevad seda ja palub kasutajal
kui mul on vaja kisa teda.
>> Nii proovime midagi meie endi seda.
Lase käia, las ma avada järgmisele slaidile siin, ja lihtsalt meelde üks asi.
Just nagu CSS, saame teguri välja Meie JavaScripti koodi eraldi faili,
võite teha sama asja JavaScript nagu CSS.
Ja te kasutate, et kasutades allikat atribuut script tag.
Aga me ei keeruliseks asju nüüd.
Selle asemel, kui sa saaksid mine ei see leht,
aga-- lase mul liikuda selle ümber order-- minna, kui sa saaksid seda lehekülge siin.
See URL siin.
See on tänapäeva slaidid.
Sul võib olla uuesti laadida, sest Olen lisanud paar asja.
>> Aga sinna, kus mõned mõistatusi ootavad.
Ja see annab meile võimaluse, veidi lõbusam kontekstis
võõpama mõned JavaScript.
Ja kui sa sinna, Ma seletan, mis ootab.
Saada roheline.
Määra sinine.
Määrab roheline seab punane.
Oih.
Vabandust.
>> See on niivõrd meie dokumentatsiooni selle väljakutse.
Ja see läheb tööle järgmiselt.
Nii et mida sa pead selle leht on terve hulk
pilt mõistatusi poolt sõber Stanfordi ülikoolis.
Nii, mida te näete siin on peaaegu Selline üks neist magic eye mõistatusi,
aga kui sa lihtsalt vahtima see, midagi läheb näima.
Pigem on midagi peidetud selle pildi.
Ja see on peidetud järgmisel viisil.
Pilte, nagu te teate, võib olla koosneb vaid kolm värve.
Mõned punased, mõned sinised, mõned rohelised.
Ja me saame teha kõik värvid vikerkaar
segades neid kolme värvi kuidagi.
>> Nii et see tundub enamasti roheline ja sinine, kuid Nick ütleb siin,
See raud puzzle pilt on puzzle.
See sisaldab pilt midagi kuulus siiski
pilt on moonutatud.
Kuulus objekt on punane väärtusi.
Siiski punane väärtused kõik on jagatud 10.
Nii nad on liiga väikesed teguriga 10.
Nii teisisõnu, Nick võttis originaalpildile,
ja ta desaturated kõik Punase sellest,
koguse vähendamise punane tint, kui soovite, ta.
>> Sinine ja roheline väärtused on kõik lihtsalt mõttetu,
juhuslikud väärtused, aka müra loodud varjata tegelikku pilti.
Mis Nick tegi, oli ta mahendanud punane ja seejärel
ta lihtsalt viskas juhuslik koguses sinist ja rohelist
kell kujutise omamoodi segased Mis on tegelikult ikka olemas.
Sa pead tagasi võtta need moonutused esile pilt.
Esiteks, määrata kõik sinised ja rohelised väärtused nulli saada neid välja viis,
ja vaadata tulemust. siis korrutab iga punase väärtus 10,
tagi tagasi üles umbes lõpliku väärtusega.
Mis on kuulsa objekti?
>> Nii et kõik teist on selle ristküliku Teie brauseris praegu.
Ja teate, et on olemas starteri koodi, nii rääkida.
See on JavaScript koodi Nick on kirjutatud teile.
Ja märgata, et seal on joon keskel, et
algab kaldkriipsuga kaldkriipsuga, see on milline on tavaliselt nimetatakse kommentaari.
See tähendab, et see fraas programmeerijale millel puudub funktsionaalne tähendus.
See on lihtsalt visuaalne kii inimese.
>> Nii saab minna ja kustutada lihtsalt, et joon,
ja super ettevaatlik, et mitte kustutada või muuta midagi.
Ja las ma sõelub mida see kood teeb ja ma jätan
teile, et aru saada saladuse pilti.
See esimene rida siin, et ma olen lihtsalt esiletõstetud annab teile järgmist.
Vasakul pool, teil on, mida nimetatakse
muutuja, mis Nick on meelevaldselt, kuid mõistlikult nimetatakse im pildi.
Paremal pool Selle võrdusmärki,
Ta ütleb mulle uus tsiteerida, lõppeb "lihtne pilti".
>> Lihtne pilt, selles kontekstis on see, mida nimetatakse klassis, noh,
see on selline nagu class-- Tehniliselt prototype-- aga tõesti,
See annab mulle uue objekti, mille sisu on fail,
raua-puzzle.png.
Teisisõnu, Nick on loonud See mõiste on lihtne pilti
nii et saame pedagoogiliseks eesmärkidel, mängida pilti
ja muuta selle punase, rohelise ja sinise väärtused.
>> Ja kuidas me teeme seda?
See mõnevõrra segasena süntaks siin on selline nagu kordus plokk
et mõned nägid Scratch varem täna, kus saab korrata 10 korda.
Sel juhul Nick ei ole kõva kodeeritud mitmete nagu 10.
Selle asemel, et ta ütleb, initsialiseerida muutuva nimetatakse x 0,
kontrollida, kas x on väiksem kui laiusega pilt.
>> Ja nii olla õige, pilt on muutuja dot tähendab minna sees on
ja saada selle laius ja Seejärel avatud paren, suletud
paren on lihtsalt programmeerija viis öeldes on see funktsioon.
Tegemist on menetlusega.
See on funktsionaalsus keegi kirjutas.
Kasutage seda ja anna mulle tagasi vastuse.
Ja siis x ++ on fancy viis öeldes, pärast oled teinud seda kunagi,
juurdekasvu x 1.
Teisisõnu, see on programmeerija viis
esilekutsumise silmus, mis on läheb Käi
kõik veerud pilt.
>> Pilt on lihtsalt võre täpid, veergude ja ridade dots.
See on viis itereerimine üle kõik need kolonnid.
Ja sees, Vahepeal me iterating
üle kõrgused, siin ja siin ja siin.
Nii et see on lihtsalt viis traipsing, peaaegu nagu vana kooli kirjutusmasina
minge üle Kogu pilti korduvalt.
Isegi see ei ole päris täielikult selge, võtke usu nüüd,
et need kolm rida kood on koos
läheb võimaldavad korduvalt otsima igal piksli iga dot pildi.
>> Mis on pixel?
Noh, et oleks selge, kui me vaatame algse ja suumida,
kui sa tõesti panna oma silmad arvuti ekraani, mis on
lihtsalt terve hunnik täpid, mitu tuhat dots kokku pakkida seal.
Ja mis sa nüüd teha?
Iga üks neist punktidest, lõplik määratlus,
on tulemus, mis on üldiselt nimetatakse RGB, punane, roheline, sinine, mis
jällegi võib kombineerida anna teile mingit värvide arvu.
>> Tegelikult, kui sa mäletad alates palju, palju aastaid tagasi,
ekraanid nagu need asjad harjunud mitte üks lääts kuid kolm.
Üks neist sülitama punane tuli üks neid sülitama roheline tuli, üks neist
sülitama sinist valgust.
Ja kui sa olid mo nagu ma olin, kus nad olid kunagi
õigesti reguleeritud, siis olid alati vaadates ajalugu filme
mis oli veidi moonutatud, sest kolme värvi ei olnud
ühendades korralikult.
>> Aga selgub, et iga Nende väärtuste punane, roheline ja sinine,
võib olla mitmeid nendega.
Näiteks 0 Punane tähendab, et punane, 0 roheline tähendab, roheline,
ja 0 sinise tähendab, sinine.
Nii et kui teil ei ole punane, no roheline, ja mitte sinine, mis värvi sul on?
>> Publik: [kuuldamatu]
DAVID Humala: Sa ei teeks loodan, et see on valge.
Kahjuks see operates-- kahju?
>> Publik: [kuuldamatu]
DAVID Humala: Nii et sa tegelikult on must, antud juhul.
Nii et kui teil on ükski neist värvid sisse lülitatud, siis on must.
Siiski, kui teil on, oletame, et palju neist, nagu palju punast, 255 see,
palju rohelist ja palju sinine, mis on valge.
Nii et need on kaks äärmust.
Nii et see loogika, kui mul on palju punane ja mingit rohelist ega sinist,
mis värvi see on?
Publik: [kuuldamatu]
DAVID Humala: Õige, ilmselt.
Ja siis ei ole punane, palju roheline, ei ole sinine, ja seejärel
kui te have-- hästi, me lihtsalt lõpetada see lihtsalt sellepärast, kuid see loomulikult
Nüüd on sinine.
Ja nüüd saab ühendada need värvid.
Nüüd, kui kõrvale, kui keegi teist on kunagi teinud tegelik veebilehe kujunduse,
Sa võid tegelikult vaata sümbolid sellist.
FFF-- ja tegelikult on see ilmselt isegi mitte seda.
See on FFFFFF.
>> Igaüks näinud F-ja Ed ja A-through-- nii selgub,
me rääkisime eile kohaga, ja täna, selline umbes kohaga.
Täna me rääkisime binaarne.
Selgub, kuueteistkümnendsüsteemis on väga ühisbaas süsteemi kasutada arvuti.
Binary on kaks, koma on 10, hex on 16.
Ja selgub, kuidas teha loete kuueteistkümnendsüsteemis?
Null, üks, kaks, kolm, neli, viis, kuus, seitse, kaheksa,
üheksa, mida sa kasutada pärast üheksa?
Mis on järgmine number?
Meil on juba kasutatud null.
Mul on vaja 16 neist.
Null, üks, kaks, kolm, neli, viie, kuue, seitsme, kaheksa, üheksa,
teil on vaja mõned suvalise konventsiooni.
>> Ja mida inimkond otsustas mõnda aega tagasi, et pärast üheksat kaasas kiri
A ja seejärel B ja seejärel C. Nii kuidas sa loota kuueteistkümnendsüsteemis
on null, üks, kaks, kolm, neli, viie, kuue, seitsme, kaheksa, üheksa,
A, B, C, D, E, F, ja et loeb sa kõik teed, selgub, et 15.
Nii nullist 15 on nullist F. Nüüd, miks on see, et olulised?
Noh, kui sul on kaks F-ndatel, see on, kuidas sa väljendad 255.
>> Nii pikk lugu lühike, et maailma Photoshop,
et graafilise disaini tarkvara, maailma veebi arengut,
kus sul on palju värve, muidugi, mängida,
sageli programmeerijad väljendada need, kuueteistkümnesüsteemis
lihtsalt sellepärast, et see kipub olema veidi lihtsam.
Kuigi esmapilgul see on palju keerulisem.
>> Seega igal juhul on see oluline sest Nick Stanfordi
on andnud meile kuus tükki funktsionaalsus mis sa, lootustandev programmeerijad,
Nüüd on võime kasutada.
Ehitatud seda veebi leht on kuus ülesannet,
kuus korra, et Nick kirjutas.
Kolm neist on sulle mitmeid, punane, roheline või sinine väärtus.
Kolm neist on seatud, et väärtus.
Ja need allkriipsud on vaid kohatäitjaid,
nii et sa pead teadma, millised need on.
>> Nii need kolm funktsiooni, esimene neist asjadest
saab olema x-koordinaat, ja teine ​​neid asju
läheb y-koordinaat.
Teisisõnu, mis dot, mis piksli sa tahad saada roheline,
saada sinine, saada punane.
Ja siis siin, see saab olema x, see saab olla y väärtus,
ja see saab olla mitmeid.
Nii teeme esimese line see kokku
ja siis ma jätan selle teile proovida tuletada puhata.
Nii juhendite järgi Sellel leheküljel peame
suurendada punane teguriga 10 ja meil on vaja eemaldada roheline
ja eemaldage sinine.
Alustame viimane stsenaariume.
Nii et kui ma tahan, ja ma lähen taandamiseks abil mõned ruumid,
kui ma tahan, et määrata punast, roheline või sinine väärtus,
Ma lähen tegema järgmist.
>> Pilt, im.setBlue ja seejärel põhineb minu juhiseid siin
Mis kolm asja ma peaksin kirjuta sees sulgudes nüüd?
Vajan x väärtus, y väärtus, ja mis number
ma peaksin siin, kui ma tahan lahti saada sinine, põhineb see lugu siin?
Just null.
Kui ma tahan mingit sinist, ma olen lihtsalt muutu see nulli.
>> Nüüd lihtsalt sulgege mida see teeb.
Mul on siin need top teine ​​ja kolmas rida,
Ma väitis kaks ahelat, nested silmad, kui te
siis, et ei kavatse mõjuda edeneb vasakult paremale,
ülevalt alla üle kõik x väärtused ja kõik y väärtused.
Sest jälle, pildil on vaid grid ridu ja veerge.
Nii et see ei hakka lahti kõik sinised.
Las ma jätta järgmisele reale teile.
Kuidas vabaneda kõik roheline?
>> Publik: [kuuldamatu]
>> DAVID Humala: Nice.
>> Publik: [kuuldamatu]
>> DAVID Humala: Nice.
Ja ma lähen välja suumida ja lihtsalt võtta hoolt, et olete ei teinud ühtegi kirjavigu.
Ja kui sa oled mugav mida olete teinud,
minna ja klõpsake nuppu Käivita / Salvesta ja vaata, mida sa saad.
Ja jälle oleme teinud Vaid kolm muutusi.
Me kustutasime, et esimene kommenteerida ja asendada see
need kaks rida koodi.
Ja see on OK, kui sa pead lüüa Run / Salvesta nuppu paar korda
midagi kinnitada.
>> Ja andke mulle ka suumida minu koodi, nii et saate transkribeerida.
Väga hea.
Nii ma näen Andrew on, mida Tundub, et viga.
Ta sai just suur must ristkülik oma ekraanil.
Kas keegi on suur must ristkülik?
>> Publik: Jah.
>> DAVID Humala: Big must ristkülik?
OK, nii et mõtleme kohta, mida see tähendab.
Me ütlesime, et null, null, null, seega ei ole roheline, ei punaste, siniste,
annan sulle must.
Ja selgub, et enamik meie sülearvutid
lihtsalt ei ole piisavalt truudust.
Sa ei saa päris öelda, et on tegelikult midagi seal.
Ja kui sa mingi võibolla lahja ekraani edasi ja tagasi,
äkki sa näed natuke midagi seal?
Võib-olla selline, omamoodi?
See ei ole täiesti must.
>> Publik: [kuuldamatu]
>> DAVID Humala: Spoiler!
Seal on mõned punased olemas, kuid mäletan spetsifikatsioonid
probleemi, Nick toonides see maha.
Ta desaturated see mõnevõrra kuid mitte kõik viis null.
Nii et kui me tahame, et suurendada summa punane, andke mulle ettepaneku see trikk.
Las ma suumida minu ekraanil.
Ja las ma minna ja öelda summa võrdub im.getRed (x, y).
>> See koodirida annab mulle midagi, mida nimetatakse muutuja.
Mul on omavoliliselt, kuid väidetavalt mõistlikult helistasin oma muutuja, mida,
ilmselt?
Summa.
Just summa.
Ma võiks olen nimetatakse seda midagi, ma tahan, aga ma olen
Kasutades seda muud ülesanded et ma varem kirjeldatud
saada summa punane x koma y.
Miks ma seda teen?
Mida sa tahad teha siin?
Sa pead add--
Publik: [kuuldamatu]
DAVID Humala: Jah, võib-olla korrutada see 10.
Ja kui te ei tea seda, ma olen läheb edasi minna ja seda teha.
Ma lähen edasi minna ja ütleme, ma tahan summa punane
Ma tahan olla mis iganes on punane, korda 10
ja täht, tärn oma Klaviatuur on the-- ei kasuta x.
Kasutage täht.
See, kuidas sa korrutada asju Enamikus programmeerimiskeeltes.
>> Nii kohaselt Kareem intuitsioon, salvestatakse see muutuja nimega summa,
kui palju punase tahan Kohapeal xy.
Kuidas nüüd, ma teha, et Pixel on see number?
Olete juba teinud enne.
Te seate roheline ja sinine mingit väärtust, nulli.
Publik: [kuuldamatu]
DAVID Humala: Jah, noh sa ei taha, et see 10.
Sa juba tegid matemaatika siin.
Nii saame väärtust punane, mis on vähe, arvatavasti.
Me korrutades kuni 10.
Mida sa tahad teha muutuva summa nüüd?
>> Publik: [kuuldamatu]
>> DAVID Humala: Nice.
Nii im.set-- mida?
>> Publik: setRed.
>> DAVID Humala: setRed, Kohapeal xy.
Jah.
Ja just summa.
Teisisõnu, muutuva on ajutine kohatäide
mida saab panna midagi tahad.
Meil juhtub olema laskmise number seda, hetkel.
Meil on korrutatud seda 10 suureks teha.
Ja nüüd ma asendades muutuja kui kõnealune kolmas argument, või sisend
seada punane.
Ja nii, et kui sul lõpeta seda, ja võtta teadmiseks
on semikoolonite ja sulgudes.
>> Lase käia ja kliki joosta / salvestada kord, ja te
nägema, maagiliselt, mis oli tegelikult seal. [? ARWA,?] Mis seal on?
Eiffeli torn täieõiguslik punane, mitte päris pime.
see peaks olema selgem nüüd, jah?
OKEI.
Ja Andrew, enam musta kasti?
Publik: [kuuldamatu]
DAVID Humala: Hea küll.
Nii et ma hoian seda ekraanil.
Kui sa tahad mängida seda hiljem, ma taasluua seda teile.
Aga see kood siin just tegigi.
Miks me ei tee veel ühe.
Las ma keri veidi.
>> Nii sel juhul projektorit tegelikult ei tee seda õiglust.
Aga oma ekraane, siis ilmselt on väga punane ja väga musta kasti.
Ka see on mõistatus, et näitab midagi kuulus.
Kuid pilt on moonutatud.
Tõeline kujutis, seekord on sinise ja rohelise väärtused.
Kuid nad on kõik jagatud 20 nii väärtused on väga väike.
Punane väärtused on vaid juhuslike arvude, müra.
Tühista need moonutused paljastada tõelist pilti.
>> Nii Nick siis ütleb teile, mida teha.
Määra punane väärtusi nulli ja siis ei riku, mis see on.
Siis korrutada sinine ja rohelised väärtused 20.
Nii et see on peaaegu sama programmi nagu enne,
kuid sa tagasi pöörata.
Ja siis ma panen koodi enne ekraanile korral
soovite naasta see või mängida edasi, et üks.
Las ma suumida seda.
Aga lahendada vask pilti puzzle, number kaks.
>> Publik: [kuuldamatu]
>> DAVID Humala: OK, nii et see, mida ma olen ei kavatse anda nii palju näpunäiteid.
Nii et ma would-- oh, lähme vaata, sul on kirjaviga siin.
Seega pidage meeles, see siin tegelikult vajab sinna minna.
Mida ma teen ettepaneku, kui soovite keskenduda selle ühe, seal on vastus.
Kui soovite transkribeerida, et see peaks saama esimene töö.
Ja siis saab kasutada seda inspiratsiooni teine.
Nice.
Väga hea.
>> Ja kummaline, See on lihtne näide
on teaduse või kunsti nimetatakse steganography,
kunst peidus teavet pilte.
Tavaliselt pilte olla vesimärgiga väga jultunult
Logoga põhjas nurgas, kuid selgelt, siis
võib olla palju keerukam seda ja tegelikult
peita teiste piltide pildid kuidagi seda tehnikat.
>> Võtke veel 30 sekundit, ja siis me vähemalt teada, mida sa peaksid nägema.
Ja ma jätan kolmanda üks kui kodus kasutamise,
Kui soovite rohkem vaidlustada sel nädalavahetusel.
Ja ma arvan, Andrew võiks saanud see esimene.
Mis on teine ​​pilt, Andrew?
>> Publik: vabadussammas.
>> DAVID Humala: Vabadussammas saab vastuse seekord.
Nii jälle, lihtsalt mõned lihtsad näited, mille eesmärgiks
on anda teile ettekujutuse oleme tõlgitud pildiline Scratch
blokeerib rohkem tüütu ja rohkem keeruline kood, kuid kõik ideed
veel täpselt sama, kuigi kasutuselevõtt
Nüüd mõiste muutuv, olles võimalik salvestada midagi ajutiselt.
>> Teeme veel ühe käed-, lihtsalt nüüd ühendage punktid
midagi natuke rohkem reaalse maailma.
Kui olete valmis, kui sa saaksid mine selle URL ekraanil.
See on ka oma koopia slaidid, developers.google.com/maps~~V.
Olgem tegelikult midagi tõeline, nii et rääkida, netis
kasutades Google Maps API või rakenduse programmeerimise liidest,
järgmisel viisil.
>> Google, nagu paljud ettevõtted, pakub palju vaba funktsionaalsus
mida saab kasutada ehitada oma ise huvitavaid rakendusi.
Tegelikult, kui olete kunagi kasutada Uber saada kabiini või auto,
te ilmselt teate, et uber on kaart ja see näitab, autod peal.
See tähendab, et nii hästi kui suudan öelda, Google Maps API.
Nad on tegelikult kasutades Google Maps, kuid Uber ei ole kaardistamine firma
ega oleks üldse Eriti huvitav probleem
lahendada peal oma autoteenindus probleem.
Ja nii nad seisma, uuesti, õlgadel
teised, Google antud juhul.
Nii nad kasutavad Google Maps, kuid oma autoteenindus ja muud sellised omadused.
>> Nii et me läheme ära Selle teha järgmist.
Ja kui ma olen läinud liiga kiiresti, lihtsalt helista mulle üle ühe hetkega.
Palju sulgege mõned pildi värk.
Sa peaksid nägema ennast kell lehekülje niimoodi.
Nii Google'i kena ja nad ühed parimad
pakkuda mitte ainult API, kuid vaba API, mis sa
saab mängida või äriliselt.
Nad alustada laadimist, kui teie kasutamine on kõrge, kuid ma läksin edasi ette
ja allkirjastatud meid üles tasuta konto et loodetavasti 10 arvutid
ei diskvalifitseerida meid ootamatult.
Loodetavasti see tutvustamise töötab.
>> Ja märgata, et neil on API jaoks Android, iOS, veebi ja veebiteenused,
mis iganes see on.
Olgem keskenduda veebis.
Nii klõpsake roosa kasti, web, ja et viib teid loodetavasti lehele
siin.
Ja nad ju terve hulk API.
Ja see võib olla veidi valdav alguses,
aga ma juhtida meid läbi, mida me tahame.
>> Ülaosas vasakul on Google Maps JavaScript API, JavaScripti API.
Nii et laske käia ja klõpsake, et üks.
Ja mis viib teid nüüd, et järgmise lehekülje, demod ja proovi kood.
Lubage mul suumimiseks siin.
Ja las ma meid mina-- keri et kui ta ütleb quick start samme.
Ekraani peaks nägema minu.
>> Ja seal on kaks sammu, saada võtme ja hakata välja.
Ma juba tegin sammu üks Meie, saada nn võti.
Ja see on üldine idee.
API võti on üldiselt lihtsalt suur juhusliku arvu või stringi
et sa peaksid kleepida oma koodi,
nii, et Google teab, kes sa oled, kui te kasutate oma teenust, oma API.
See ei tähenda, et me oleme süüdistatakse midagi.
Ja nüüd, kliki asemel üks, klõpsa hakata välja.
Kui sa saaksid lihtsalt laine mind üle, kui ei tea, kus me oleme.
>> Nii me lihtsalt kriimustada pinnal, siin aga mida
Ma arvasin, et oleks kaalukaid on tegelikult meile kõigile,
kasutades Cloud9 ühes aknas ja Sel juhendaja teises aknas,
laseb tegelikult saada oma taotluse ja töötab
mis manustab kohandatud Google map omaenda veebilehe
ja lisab seejärel ühe või kahe iseärasusi.
Aga me lihtsalt kriimustada pind, mida me saame teha.
>> Nii lihtsalt kiire meelerahu kontrolli.
Kas igaüks sel lehel Google Maps JavaScript API?
Peaks ütlema alustanud.
Me ei lähe läbi kogu asi mis tahes viisil.
OK, teises tab, kui te ei see oli avatud, ei lähe Cloud9
ja end lihtsalt uue kaardi lõpuks.
Nii jälle c9.io eile, c9.io ja lihtsalt luua uus fail.
Ja minna ja kõne see iganes soovite.
Ma helistasin minu map.html.
Kõne see midagi lõpeb .html.
Ja siis peaks olema enam-vähem kus ma olen selles protsessis
vaid vilgub kiire tühjas tab nimega midagi map.html.
Või faili, uue faili seekord.
>> Ja nüüd, üle kohta Google Maps JavaScript API,
me vahele lugemine läbi kõik selle teksti.
Aga märgata, et tere on tõepoolest kõikjal, näete nüüd.
Tere maailm on see suur värviline Näiteks terve hulk HTML.
Lase käia ja kopeerida ainult, et HTML, nii et alates doc tüübist tipus
kõik viis tihedas HTML tag minna käia ja kopeerida kogu selle-- uuesti
see on alla tere example-- ja kleepida, et oma Cloud9 tab,
nii et nüüd ekraani peaks vaatama umbes nagu minul.
>> Ja saate salvestada, kuid ärge laadige see veel.
Vaatame kõigepealt pilk kood ja vaata, kas me
ei saa järeldada või õppida mis see on Google
on olnud meie pimesi kopeerida ja kleepida.
Nad lihtsalt tahavad aidata, sõna otseses mõttes, et meid alanud
kuid seal ei ole nii palju keerukust tegelikult olemas.
Kõik küsimused veel?
Oleme ohutu liikuda edasi?
OKEI.
>> Nii kiiresti, lähme lihtsalt teha mõned kiired meelerahu kontrolli.
Line üks, mida ma vaata, ja loodetavasti teile
vaata, mida see tähendab, doctype HTML?
Kareem, meenutavad?
Publik: [kuuldamatu]
DAVID Humala: Jah.
Siin on HTML 5.
Vahepeal liinile kaks kohta ekraan tähendab siin hey brauser,
siin on tegelik HTML.
Line kolm on hey brauser, siin on head.
Line neli on muidugi, hei brauser, siin on pealkiri.
Mida line viis teha?
Tegelikult see ei ole tõesti midagi meie jaoks.
Sel juhul see lihtsalt muudab suurust Lehe vaikimisi. Line kuus,
me ei rääkinud, kuid see määrab kodeeringu.
Seal on erinevaid viise, kuidas kodeerida faile, eriti võõrkeeli.
UTF-8 vaid kipub olema vaikimisi.
>> Nüüd me näeme kooskõlas seitsme kuni 16, mõned CSS.
Ja kuigi me oleme ei näinud kõik need asjad enne,
saame mingi järeldada.
Nii liinile kaheksa vahenditega, hei brauser, kohaldatakse kõik järgmised mille kaks silte
ilmselt?
HTML ja teksti järele.
Nii koma on uus asi seal.
Ja see on lihtsalt viis täpsustades mitme sildi korraga.
>> Siis on meil olemas looksulg.
Nii ilmselt see ütleb brauser, Kaubamärk kõrgus leht 100%.
Nii et isegi kui seal on väga vähe sisu, muuta kogu lehel
teeb asja täitke lehel.
Tehke kaart lõpuks täita lehekülje.
Margin, mida see tähendab?
See on tavaliselt nagu suvalise ümbritsevad valged servad
et mõned brauseri disainer lihtsalt otsustas peaks olema seal, sest see
ajab asju otsima puhtamaks.
Aga me ei taha seda.
Me soovime, et kaart läheb kõik viis servi.
Polster sarnase sisuga marginaale.
Marginaalid tähenda väljaspool, polster vahendid sees, aga see on samasugune asi.
See on natuke puhver Teie ja servad.
>> Ja siis joon 13 on hea võimalus kiire ülevaade.
Mida teeb terava märk kaart Tähendab, või hashtag kaart tähendab?
Mida see viidata põhimõtteliselt?
>> Publik: [kuuldamatu]
DAVID Humala: Täpselt.
See omadus on see CSS vara kehtib ainult üks asi, HTML tag
mis on ID tsiteerida, lõppeb "map".
Ja nüüd lähme kiiresti edasi, leidke alaserva faili, mis
ei ole liiga kaugel ja teate line 19, kui te kleepige see täpselt nagu mina,
rida 19 on vaid div, mis on jagamise leheküljel, mis eile
nimetatakse ristkülikukujuline piirkond.
See ju midagi ta.
See on avatud tag, sulgemissilti.
Aga see ei ole unikaalne ID.
>> Mis tundub olevat siin toimub on Google
on readying meie veebilehe on täielik 100% kõrgusest,
ja ei polster ei marginaale, kuna me läheme sinna sisse panna
Selle div, kelle unikaalne ID on kaart, on tegelikult varjatud kaart.
Ja me tahame seda täitma lehe ja mitte ainult
mõned väikesed ristküliku keskele.
Nii line 14 rõhutab samuti on map ise peaks kõrgus olema 100%.
>> Nüüd märkate ridade vahele 20 ja 28, see on JavaScript koodi.
Ja see on, kuigi see on süntaktiliselt vähe imelik,
Seal ei ole kõik, et palju siin toimub.
Vastavalt 21, see kuulutati midagi, mida nimetatakse muutuja.
Selle asemel, nimetades seda ulatub, nagu me tegime enne,
me täpsemalt öeldes var, mis tähendab lihtsalt muutuja.
Me oleks võinud kasutada, et Nicki koodi, kuid ta ei ole, nii et ma
ei viitsinud teeme seda.
See muutuja nimega kaardistada, ja siis seal on
funktsioon, mis on ilmselt nn initMap.
>> Nii et see on nagu meie omatehtud pusletükk Scratch.
Oleme loonud tükk funktsionaalsust nimega initMap,
ja saab omamoodi järeldada Mis siin toimub.
Vasakul pool, meil on varieeruv,
nii et me läheme panna järgmise asi sees, et muutuja,
paremalt vasakule.
Parempoolsed ütleb, hei brauser, anna mulle uue Google kaart.
Ja google.maps.map on lihtsalt funky viis täpsustades, et seda funktsiooni
kuulub Google Maps.
>> Pärast sulgudes oleme näinud seda enne, hei brauser saada
mulle elementide lehel tag lehel kelle unikaalne ID on--
>> Publik: [kuuldamatu]
>> DAVID Humala: --map.
Ja mis toimub, noh, see rida koos, joon 23,
sisuliselt öeldes hey brauser, minge mind
et tühjad div lehel kelle unikaalne ID kaart,
sest ma tahan lisada arvesse see-- süstige see,
kui te will-- terve hunnik sisu mis juhtub tulevad veebist
hiljem.
Ja Google teeme kõik, et meie jaoks.
>> Nii jälle päris lõpus päeval, meil on see näide võtmiseks.
Ma ei tea, mida kaardil on või kuidas rakendada kaardil API.
Me ei pea.
Me lihtsalt vaja öelda kaart kuhu panna ise ja jätke
nende põhjal rakendamine andmed, et Google.
Nüüd on ilmselt kaks tükki andmeid
et see näide on pakkudes Google'i API.
Ilmselt kaardi keskel, ja Suumimistaseme nii rääkida.
>> Ja kas keegi ka neid koordinaadid, pikkus- ja laiuskraadi?
Tõenäoliselt mitte, kuid me ei saa minna tagasi Õpetus, sõna otseses mõttes näha.
Aga eks me näeme seda vaid hetkeks.
Zoom tase on väärtus vahemikus, ma ei tean, üks 13 või midagi sellist.
See lihtsalt on pistmist kui kaugele sa oled suumimise ajal, ja ongi kõik.
Ja nüüd päris lõpus Lehe teate line 29--
see on natuke kole, sest see wraps-- see koodirida
on see, mis laeb kuni brauseri Google tegelik API.
Kõik koodi, et Google insenerid on kirjutanud, et rakendada
kogu see omadus põimitava kaarte.
>> Nüüd ei muuda midagi.
Kui sul järgmised mööda, edasi minna ja lihtsalt salvestada see fail, kui te tõepoolest
mida ma olen.
Mine oma URL.
Võite nuppu Käivita kuni ülemise ja mis ütleb
sa URL veebiserver uuesti.
Ja see viib teid uue kaardi.
Kui klõpsate Avatud map.html ja koefitsiendid on sul
hakka hoiatuse, veateate, jah?
Veateade veateate?
>> Nii kahjuks viga sõnum ei ole, et valgustav
kui sa tegelikult avada konsooli, et erilist tab meil
hoida avamisel eile ja natuke täna.
Aga ma komistas kogu See varem, nii et ma juba
arvasin, milline lahendus on.
Tänapäeva slaidid, või Pigem Cloud9, teate
et me ei tee midagi teadlikult.
Pange tähele, et see skript sildi line 29, kui sa loed läbi selle,
see on nagu maps.googleapis.com/ midagi, midagi, midagi,
siis märkad, et keegi, üks arendajad,
kirjutas kõik kapitali tähed, oma API võti.
>> Meil on vaja kleepida sinna midagi.
Ja see oli samm Ma tegin meile enne,
ja jälle nad võivad musta nimekirja meid, kui äkki 12 või rohkem meist
hakata kasutama sama võtit, aga vaatame, mis juhtub.
Nii et kui te lähete tänapäeva slaidid, üks klapp hiljem seal
See on väga funky välimusega tekstistringi.
Lase käia ja lihtsalt kopeerida seda ja kleebi see, kus ta ütleb oma API võti.
See on üks ma registreerusin.
>> Ja kindlasti ei püüa kirjutades seda käsitsi
sest ta tunneb täis koos kirjavigu, potentsiaalselt.
Nii lihtsalt kopeeri ja kleebi et.
Ja see läheb teha rida enam, kuid nüüd, vaid peab olema selge,
see peaks välja nägema veidi nagu see, kus peamine võrdub ei
kapitaliseeritud karjuma sa.
Salvesta oma lehele, mine tagasi teisele tab, reload,
ja loodame, et näha kaardil, kus?
>> Publik: Austraalias.
>> DAVID Humala: Austraalias.
Nii ilmselt need on GPS koordinaadid Austraalias.
Ja las ma jalutan hetkeks ja aita kedagi, kes ei ole päris seal,
aga las ma ettepaneku, via Google, leida GPS koordinaadid oma kodulinnas
või oma kodumaal.
Ja ilmselt Google saate selle üles või Wikipedia teile öelda.
Aga valida kaks erinevat väärtust laiuskraadi ja pikkuskraadi
tagasi minna ja kleebi need, ja pange lehele pärast salvestamist
ja vaata, kas sul võib olla kaart oma kodulinna.
>> Ja kui sa oled teinud et järelmeetmete challenge--
ja ma annan veidi vähem suunas, teadlikult, et sa sihilikult
pea vaeva paar minutit dokumentatsiooni,
kaardi vahetamiseks, et ei ole see multifilmilikke vaikimisi, kuid satelliit-kaart.
Nii et sa tegelikult näha satelliidi kujundlikkus asemel ilus värv.
>> Ja vihje ma annan sulle on muuta kaardi tüübi.
Mine tagasi, et saada hakkas lehel inspiratsiooni.
Nagu te võib-olla väita, kui te otsite,
seal on nii palju rohkem asju saab teha.
Mõned teist on juba muutunud kaardi tüübist.
Aga sa võid do-- näiteks, las ma minna midagi tegime käigus
Ma teach-- maps.cs50.net.
Üks meie üliõpilastele, tegid seda.
Me keskele meie kaart üle Harvard Yard ja superpositsioneerimisega kõik need hoone nimed,
ja meil oli temaga lisada see.
Nii et kui ma tahan otsida, Näiteks Matthews Hall,
meil on vähe rippmenüüst.
Ja ma arvan, et ta kasutab Bootstrap on raamatukogu arutasime varem selle eest.
Ja kui klõpsate Matthews Hall, see kohe
hüppab kaardi teatud asukoha, ja see näitab
sa pildi see väike pop-up.
>> Aga isegi see väike pop-up, me ei rakendanud.
Kui ma keri meie saada hakkas lehele ja otsida infot aknad,
näete, et mõned funktsionaalsuse te ise
lisada, kuigi natuke rohkem keerukust,
on midagi, mida nimetatakse infot akent.
Ja kui ma vajutan näide siin, ja see on see, mis on lõbus,
saate teha selliseid asju, Klikkides marker ja siis voila,
informatsiooni hüppab.
>> Nii et me ei ole päris sisse piisavalt funktsioone JavaScript
et maalida täpselt, kuidas võiks traat kõik see kraam kokku,
kuid me oleme omamoodi õhkõrnalt.
Tegelikult, mis ma just tegin, kui Ma klõpsanud seda markerit,
oli vallandada puhul olemas Niinimetatud kohta klõps.
Ja me tegelikult nägin Kui täna,
nn esitada juhul, kui olime ära hoida
kasutaja alates otsivad kassid.
Nii oleme omamoodi korjatud ja choosed hulgast kõik need erinevaid funktsioone,
anda teile tunne, loodetavasti mida saate tegelikult
teha natuke rohkem mugavust programmeerimine,
ja täiesti vabad vahendid.
>> Kas küsimusi on?
Ei?
See on teie viimane võimalus, vähemalt täna, reedel,
saada midagi välja oma rinnale nii, et jalutad siit
tunne kindel ja mugav.
Jah.
>> Publik: Miks mitte lisada veel üks asi?
>> DAVID Humala: Oh jumal.
Mul on vaja puhata sel nädalavahetusel, ma arvan.
Muud küsimused?
>> Publik: [kuuldamatu]
>> DAVID Humala: Sa can-- sisse Internet Explorer, puhka rahus,
sa kasutada saaks panna VB script, virtuaalne põhi script,
kuid mis tegelikult kunagi püütud.
Nii lühike vastus on lihtsalt JavaScript.
Muud küsimused?
Olgu, hästi, lubage mul seda teha.
Las ma haarata kolleegidega väljaspool.
Nad on mõned hindamine vorme, et nad tahavad kõik
kulutada paar minutit täites.
Nad tahavad, et koguda mis kujul ja mis tahes loobumisi, et siin võib olla väljaspool.
Nad on ka sertifikaadid.
Olen aim seal veel mõned suupisted väljaspool.
Lubage mul läbivad need läbi, ja kui sa Küsimuste vahepeal
Ma kõndida ümber rohkem individuaalselt ja me saame võite alustada.
Jah, muidugi.
Publik: [kuuldamatu]
DAVID Humala: Ongi tavaliselt tõsi nendel päevadel.
Kindlasti veebi tarkvara, siis on lahjad
teised sa kas esteetiliselt kasutades asju
nagu Bootstrap, et sa seda ei tee peavad rakendama madal
üksikasjad menüüde ja nupud ja kõik.
Sa toetudes keegi nagu Google, et sa
ei pea ehitama Uber Äri ja kaardistamise äri
ja olla palju selliseid rakenduste samuti.
>> Tegelikult sisselogimist on populaarsed ka.
Kui oled kasutanud Spotify või mis tahes mitmeid veebisaite,
saate sisse mõned veebilehed kasutades Facebook.
Mis on tore, seal on mõeldud API sisse logima
tänapäeval, nii et sa ei pea on oma kasutajate tabelis
ja kõik oma andmebaasi tingimata samal määral.
Võite lasta Facebook teha kõik selle keerukust teile.
Nii et see on põnev aeg, ausalt, programmeerimine,
sest seal on nii palju kolmanda osapoole teenuseid, mida on võimalik ehitada peal.
>> Ja jälle, auto hind on rahalisi või seisakuid.
Kui Google läheb alla, nii ei Uber väidetavalt
aga võibolla see on mõistlik kompromiss.
Ja jälle, et oli üks teemadest, Loodetavasti on viimase paari päeva jooksul,
on need kompromissid.
Ja harva on seal läheb olla õige vastus.
See on tõesti parem Kahe või enama vastuseid.
>> Pass nende ümber.
>> Ja need Cloud9 kontod jätkub töötada teoreetiliselt andma.
Te võite leida, kui sa oodata paar päeva või nädal või rohkem tagasi sisse logida neid,
see võib võtta nagu ühe või viis minutit, et avada uuesti üles,
aga see on lihtsalt sellepärast, et nad panid see magama säästa ressursse.