>> DAVID MALAN: Selvä, olemme takaisin.
Joten jännittävä Lopuksi viimeinen kohta
Web ohjelmointi, jota Ajattelimme käyttää yleinen termi
kaapata muutama jäljellä aiheita.
Joten lopussa päivä, me todella tehdä
hieman käytännön web ohjelmointi joiden kieli kutsutaan JavaScript.
Ja uskon me katsomaan jotain liittyvät kuvat
ja löytää jotain salaa piilotettu kuvan,
ja myös katsomaan Google Maps API, Application Programming
liitäntä, kuten jotain tyyppiä edustava ohjelmisto
se yhä ja vapaasti saatavilla tänään.
>> Mutta miksi emme katsomaan klo ainesosa tähän maailmaan
että olemme tavallaan ollut itsestään selvänä olemassa
jonkin aikaa, tietokanta.
Viimeisen päivän ja puoli olemme oletettu
että meillä on pääsy tietokantaan, mutta mitä ongelmaa ei tietokannan ratkaista?
Mitä se tekee meille?
Mikä se on?
>> Yleisö: [tahtiimme]
DAVID MALAN: Pitää kaikki tiedot, OK, ja millaisia ​​tietoja
voisit laittaa sen?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Kaikki tiedot asetat sen, saat takaisin.
Se on totta.
Ja tyypillinen web-pohjainen sivusto tai web sovellus, millaisia ​​tietoja,
Erityisesti, voisit laittaa?
Yleisö: [tahtiimme]
DAVID MALAN: Käyttäjät.
Joten mitä käyttäjä?
>> Yleisö: [tahtiimme]
DAVID MALAN: OK, rekisteröity käyttäjä sivuston.
Ja mitä se tarkoittaa tallentaa käyttäjien tietoja?
Mikä säveltää käyttäjä?
Käyttäjä on mitä?
Yleisö: [tahtiimme]
DAVID MALAN: Joo, henkilökohtainen data, ja pidän siitä.
Katsotaan tarkemmin.
Joten käyttäjä on tyypillisesti nimi, mitä muuta voisi käyttäjä on?
Yleisö: [tahtiimme]
DAVID MALAN: an addr-- OK, niin etunimi, sukunimi.
Se on hyvä.
Oikeastaan, nyt korjata että, koska se on menossa
avata mahdollisuus Keskustelun vielä entisestään.
Etunimi, sukunimi, sukupuoli.
ID jonkinlaisia.
Mitä muuta?
Kuulin jotain muuta ennen, too.
Sähköpostia, postiosoite.
>> Joten tauko siellä ja nyt harkita ei mitä me tallentamista tietokantaan,
but-- eikä miksi, koska se on ehkä selvää, että kun olet rekisteröitynyt käyttäjä,
haluat muistaa niitä jonkin aikaa.
Et halua sitä vain tallennetaan RAM
ja voidaan forgotten-- niin nyt keskittyä miten.
>> On käynyt ilmi, että maailmaan tietokantojen,
siellä ainakin kahta tyyppiä näinä päivinä.
Jotain kutsutaan SQL-tietokannan, Structured Query Language,
tai, cutely nimetty, NoSQL, joka ei ole SQL.
Ja jälkimmäinen on esimerkki siitä, mikä saattaisi
kutsua olio, tai objektimuistin, tietokanta
joka tallentaa objekteja, eikä, tekosyy me, kuten tulemme pian nähdä, rivit.
>> Niinpä me keskitymme vain hetkeksi Ensimmäinen näistä, nimittäin SQL
tietokanta, jos vain koska se on niin tuttu jo, kaikille
joka on käyttänyt Excel tai Google Sheets tai Apple
Numeroita tai mitään standardia taulukkolaskentaohjelma,
tai vastaavasti, tai enemmän hienostuneen,
jotain Microsoft Access tai Oracle
tai MySQL tai PostgreSQL, jotka kaikki ovat tuotenimet toteutuksille
seuraavista idea.
>> Relaatiotietokannan on yksinkertaisesti jotain, joka on rivejä ja sarakkeita.
Ja rivejä ja sarakkeita, Olen kirjaimellisesti tarkoittaa jotakin
näin, niin missä voisimme olla nimetä kentän ja sen tyyppi tänne.
Ja todella, haluan nyt alkaa kartoittamaan näitä.
Joten itse asiassa, en tiedä miksi Piirsin erillinen kaavio.
Pidetään tämä yksinkertainen.
>> Meillä oikeus täällä alkuja meidän pöytään, jossa
tämä on kentän nimi ja tämä on datatyypin
ja tyypin tarkoitan seuraavaa.
Onko se numero, on se merkkijono, lyhyt merkkijono kuin sana,
on se kohta, on se binary data, kuten kuvan?
Ja Haluan vain kiusaa tätä toisistaan ​​vain hetken.
Joten etunimi, numero, string, suuren osan text--
Yleisö: [tahtiimme]
DAVID MALAN: Kyllä, niin jono.
Ja tietokantaan yhteydessä käymme tyypillisesti kutsuvat tätä merkkiä kenttään.
Otan vain sanoa char nyt, mutta olemme menossa hiomaan tätä hetken.
Character kenttään.
Sukunimi on luultavasti sama.
Sukupuoli?
>> Mies tai nainen, niin se voisi olla char kenttään.
Se voi olla joko lainaus, lainaus "Mies" tai lainaus, lainaus "nainen"
tai se voi olla m: n tai f.
Jos haluat olla enemmän osallisuutta saatat tarvita kolmas arvo
tai jonkinlainen muu alan kokonaan.
Ja niin voit käyttää true false.
Kentän voisi kutsua miehen, ja sitten voisi sanoa tosi tai epätosi.
Mutta se ei välttämättä kaapata kaikki tiedot kannattaa.
>> Joten se kääntyy pois on toinen tyyppi Kentän voi olla hyötyä tässä
tyypillisessä tietokantaan, jota kutsutaan ENUM, jossa se on luonteeltaan kenttä,
mutta te, suunnittelija, päästä luetella mahdolliset arvot,
kuten lainaus, lainaus "mies", lainaus, lainaus "naisten" ja niin edelleen.
Niin, että mitä tahansa arvo on tietokannassa,
on todellakin merkkipohjainen, mutta sen täytyy olla yksi niistä arvoista.
Emme luultavasti ei halua ENUM varten etunimi tai sukunimi.
Muuten meillä olisi luetella, kuten nimi
juontuu, kirjaimellisesti jokaisen mahdollista etunimi ja sukunimi.
>> OK, joten ID mitä pitäisi ID olla?
Kyllä, joten ehkä useita.
Joten kiinni että nyt, numero.
Ja numero, numero on hieman liian laaja nyt.
Lopulle toisen päivä, minusta tuntuu me
olisi hieman tarkempi.
Numero voi tarkoittaa esimerkiksi, se voisi olla jotain 1,236.
Ja se ei todennäköisesti ole mitä me tarkoitamme tunnus.
Mitä luultavasti tarkoitamme tunnus?
>> Yleisö: [tahtiimme]
DAVID MALAN: Ai, OK, niin Ehkä se ei ole edes useita.
Ehkä se on todella yksilöllinen tunniste se merkkijono, kuten käyttäjätunnus.
Joten ehdottomasti voisi olla.
Joku varmaan tarkoitti numeerinen, vaikka.
Joten pysyä siinä.
Millainen numero?
Mitä enemmän precise-- kokonaisluku.
Joten useita kuten 0, 1, 2, 3, niin me kutsumme tätä kokonaisluku.
Ja silloinkin, pystyin voida saivartelu, se on
ei oikeastaan ​​vain yleinen kokonaisluku haluat.
Et varmaankaan halua negatiivisia arvoja, vain siksi, se vain tuntuu oudolta.
Et luultavasti halua positiivisia kokonaislukuja.
Joten voit myös ilmaista että tietokantaan,
mutta nyt me sanomme kokonaisluku.
>> Sähköposti?
Tämä on luultavasti just-- mitä?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Se sähköpostia, mutta se merkkiä, eikö?
Se vain on hieno luonne, kuten "at" symboli tai jotain muuta,
mutta se on silti merkki kenttään.
Ja postiosoite?
Character kenttään.
Niin, että on mukava alku, mutta olkaamme hieman tarkempi nyt.
>> Joten käy ilmi, että vuonna tietokanta, usein
valita yli tarkemman versiot näistä asioista.
Itse asiassa, tyypillisessä SQL-tietokanta, SQL, tai yleisemmin, relaatiotietokanta,
tietokannat riviä ja sarakkeita, usein
saavat määritellä paitsi tyypistä field-- haluan tehdä joitakin huone here--
mutta myös pituus.
>> Kuinka kauan on etunimi?
Luulen, D-A-V-I-D. Selvä I luultavasti vain loukkaantunut kuin puolet
ihmiset huoneessa, oikea, koska teidän nimet ovat yli viisi
kirjaimia, joten viisi tuntuu hieman itsekäs ja naiivi, niin mitä parempaa vastinetta?
10, kunnossa, ja luulen olemme OK huoneeseen.
13?
30?
Miksi en ota lähestymistapa aikaisemmin, kun me
puhuivat paneelit ja muisti?
Miksi en vain sanoa kuin 1000?
Kukaan nimi on menossa olla pidempi kuin 1000.
Push takaisin.
>> Yleisö: [tahtiimme]
DAVID MALAN: Joo, se on tuhlaileva, oikea, varsinkin
jos useimmat nimet ovat vain viisi tai 10 tai 15 merkkiä, se on hyvin epätaloudellista.
Joten tiedätkö mitä?
Tämä on eräänlainen kova kysymys.
Nyt voimme varmasti analysoida Englanti ja mikä tahansa muu kieli nimiä
ja selvittää, hyvin, mikä on average-- keskiarvo ei oikeastaan
auttaa us-- mikä on max luultavasti mitä me todella haluamme.
Mutta näyttää siltä meillä on jopa Joissakin valinnanvaraa tyypin täällä.
>> Tyypillisessä SQL-tietokannasta, ovat jotain kutsutaan char kenttä
ja myös varchar, V-A-R, muuttujan char kenttään.
Ja ero on tämä.
Char kenttään, te suunnittelija, täytyy määrittää etukäteen
tarkka kentän pituutta.
Joten ehkä etunimi kuten 20 tuntee sellainen turvallinen.
Joutua tekemään joitakin googling kohteeseen onko se todella riittävän turvallinen.
Siellä on luultavasti nimi 21 merkkejä, mutta nyt, kai 20
on turvallinen.
>> Char kenttä merkitsisi tietokantaan, että olet
ovat käytössä 20 ja aina 20 merkkiä.
Nyt se on vain D-A-V-I-D, 15 niistä juuri menossa olla tyhjä merkkiä,
mutta käytät edelleen kaikkia 20 tavua.
VARCHAR kenttä sitä vastoin tarkoittaa merkkijono pitäisi olla enintään 20 merkkiä
mutta jos se on vain viisi, olet vain aikoo käyttää
viisi tai ehkä kuusi varten erityinen arvo lopussa,
niin 0 keskustelimme että merkitsee loppuun merkin
järjestyksessä muistiin.
>> Joten kun luulet voit valita char
versus varchar, koska kompromissi?
Char käyttää että monta merkkiä, varchar käyttää enempää kuin monta merkkiä.
Yleisö: [tahtiimme]
DAVID MALAN: OK, kun tiedät merkkijonon pituus melko pakottavia
vain käyttää char, koska jos huomaatkaan, vain laittaa se alas.
Ja ehkä se on totta zip koodi, Yhdysvalloissa, ainakin, 02138,
se on aina olemaan viisi merkkejä, kunnes lisäät viiva neljä.
Mutta niitä on jonkin verran arvot jonka tiedät aina pituus.
Tai ehkä valtion symboleja, kuten NY New York,
ja MA Massachusetts Yhdysvalloissa.
Ehkä sinulla on joitakin tilanteita jos se on täysin kohtuullinen,
vaan se logiikka, miksi me edes overthinking tämän?
Miksi emme vain käyttää varchar ja sitten me vain
aina kaksi merkkiä muutenkin, tai käytä aina viisi merkkiä silti?
Miksi ei vain säästä varchar varten kaikki, tämän logiikka?
On oltava kiinni.
Yleisö: [tahtiimme]
DAVID MALAN: Could kirjoittaa jotain vikaa.
Niin, että on totta.
Mutta silloinkin, he eivät voi käyttää enemmän muistia kuin minä jakaa.
Olen edelleen on viimeinen sanoa pituudelle,
joten he eivät voi vahingossa tehdä että virhe, mutta hyvä ajatus.
Se on enemmän hienovarainen, mutta se on hyvin liittyvä meidän keskustelua, itse asiassa, matriiseja
ja linkitettyjen listojen aikaisemmin.
>> On käynyt ilmi, että tietokantaan, jos se tietää, että kaikki arvot ovat
on kiinteä pituus, vaikka jotkut näistä arvoista ovat tyhjiä,
tavallaan esteettisesti tyhjä, D-A-V-I-D ja sitten 15 aihioita,
käy ilmi, että jos jokainen kenttä on sama pituus,
paljon kuin joukko oli kaikki sen juttuja takaisin takaisin takaisin takaisin niin, että
voit vain plus 1 päästä seuraavaan arvo, saman ajatuksen tietokantaan taulukon.
Jos kaikki hahmosi jouset ovat samanpituisia,
olet mitä kutsutaan random access.
Jos kaikki jouset ovat pituus 20, et vain
do plus 1 juuri tehdä plus 20, plus 20 plus 20 plus 20,
ja voit hyvin nopeasti selata tai etsiä kaikki tiedot.
>> Muuttuva char kenttä sen sijaan, ei aina ole 20 merkkiä.
Se voi olla 20 ja sitten 15 ja sitten 19 ja sitten 10,
joten jos haluat etsiä sen kautta, et voi vain sokeasti
lisätään 20 tavua päästä seuraavaan.
Kirjaimellisesti tarvitse selata koska reuna tietorakenteen,
jos haluatte, on repaleinen.
Se ikään kuin menee sisään ja ulos perustuvat todelliseen langan pituutta.
Joten kun tietää pituus, kuten Kareem sanoo, käytä char kentän,
koska saat että tehokkuus olemisen
osaa etsiä sitä nopeammin Kun etsit tietoja,
muuten käyttää muuttujaa.
>> Valitettavasti minulla ei ole hyvää vastausta kuinka kauan nimen pitäisi olla,
mutta jotain Nimen, sanoisin
VARCHAR on yhteinen koska se ei tule
olevan kiinteän pituuden kaikille.
20, en tiedä, 20 tuntuu hieman tiukka.
Sanotaan vain 50, 50.
Se ei todellakaan maksa sinulle, että paljon sanottavaa 50 sijasta 40,
mutta jossain vaiheessa, tarvitset tehdä arvostele.
>> Hyvin yleinen, rehellisesti, for [? historiallinen?]
syistä, vaikka se on liikaa, eli 255, koska jokin aika sitten,
suosittu tietokantajärjestelmiä, kuten MySQL, ilmainen avoimen lähdekoodin työkalu
että paljon yrityksiä kuten jopa Facebook käytetty,
tämä oli suurin oletuksena joten ihmiset vain meni sen kanssa.
Joten ei ole kohtuutonta, mutta me käyttää hieman enemmän intuition
ja sanoa, varma 50, joka on todennäköisesti hieman liikaa.
>> Sukupuoli, pidän enum, ja niin voimme siis
luetella mies tai nainen, tai ehkä tehokkaammin,
m tai f tai jokin muu symboliikkaa, mutta ENUM tuntuu hyvä valinta siellä.
Olla selkeä, sukupuoli voisi vain olla varchar,
ja voisimme vain kaikki yhtä mieltä mukavia ihmisiä,
aina laittaa samoja arvoja siellä.
Mies tai nainen tai vaikka mitä.
>> Mutta ongelma silloin, että voisimme teet virheen, koska [tahtiimme] ehdotettu
aikaisemmin eri yhteydessä.
Jos teemme virheen, saisimme virheellisiä arvoja meidän tietokantaan.
Joten mitä mukavaa noin tietokannoista kuten Oracle ja MySQL ja muut,
on, että sinulla on tämä viimeinen kerros puolustus missä
sinun DBA, tietokannan ylläpitäjä, kuka suunnittelee tässä taulukossa kuten me
ovat suullisesti, voisi laittaa paikoilleen ENUM joka
suojaa että määrittelemällä mies, nainen, ja niin kukaan
muuten ei ohjelmoija voi vahingossa työnnä mitään muuta arvoa.
Joten tämä olisi hyvä asia.
Tämä on ominaisuus.
>> Joten tunnus, olettaen numeerinen tunnus, se luultavasti pitäisi olla positiivinen kokonaisluku.
Ja joskus eivät ole tilaisuus keskustella pituus.
Et tekisi yleensä Määritä numero tähän,
haluat sen sijaan määrittää tämä on int, tai iso int,
koska ne ovat yleensä kutsutaan.
Tavallisesti kuitenkin kokonaisluku olisi, sanotaanko, 4 tavua.
Ja jos se on 4 tavua, niin monta bittiä?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: 32 bittiä.
Kuinka monta käyttäjää voi olemme tietokantaan, jos kaikilla on tunnus
ja tämä tunnus on olla ainutlaatuinen?
32 bittiä tarkoittaa meillä kuviot yhden, kaksi, kolme, neljä, five--
niin kuinka monta eri malleja nollien ja niitä voi olet jos on 32?
Se on sama asia kuin kysyy mitä kaksi 32?
Se on iso määrä, joka En ole aivan saada oikeutta,
mutta tiedän, että se on suunnilleen 4 miljardia.
Joten tämä tarkoittaa tietokantataulun voi on neljä miljardi käyttäjää ja se on siinä.
>> Joten tämä on mielenkiintoinen muotoilu vaikutuksia.
Kunnon määrä yrityksiä ovat päättäneet, ehkä ei niin paljon
käyttäjilleen pöytä, koska ottaa 4 miljardia käyttäjää on harvinainen ongelma.
Tämä on eräänlainen Facebook-tyyliin ongelma, ei ole tyypillinen yritys ongelma.
Mutta ehkä jos on tapahtumalokien tai jonkinlainen tietojen jatkuvasti
saa kirjoitettu tietokantaan että ehdottomasti voisi olla miljardeja
ja miljardeja rivejä, ja käytät kokonaisluku sitä,
mitä tulee tapahtumaan pian saat rivi numero 4 miljardia
ja sitten yrität lisätä 4 miljardisosaa ja 1, niin sanotusti?
Olen yksinkertaistaa numerot hieman.
>> Voit leikata, tarkoitan teitä täytyy käsitellä sitä jotenkin.
Ja mitä tietokone tyypillisesti tekevät, ajattele sitä jopa tänä aamuna,
Jos kysymyksessä on 4-bittinen arvo kuten 1, 1, 1, 1, jotka,
vain sitoa aamulla yhdessä iltapäivällä, mitä
tämä määrä edustaa binary?
OK, me helpottaa.
Mitä tämä numero edustaa binary?
OK, me helpottaa, mitä tämä edustaa binary?
Yleisö: Kolme.
DAVID MALAN: Three, koska olemme itse column--
[NAURU]
Vau!
Meillä oli niitä sarake ja kakkoset sarakkeeseen.
Niin olettaa, että todellakin, meidän [? sisäkenttä?] eivät olleet 32 ​​bittiä,
mutta se oli kaksi bittiä, voimme laskea käyttäjältä numero 0, 1, 2, 3,
ja sitten olemme eräänlainen takaisin käyttäjälle 00 uudelleen.
Joten tämä on mitä yleensä tapahtuu.
Jos olet koskaan kuullut expression-- luultavasti ei, mutta jos have--
kokonaisluvun ylivuoto, jossa pitää kääntäminen kaikki bitit
olevan suurin mahdollinen arvo, ja sitten olet poissa bittiä,
mitä yleensä tapahtuu?
Miksi sanon 00?
No, tämä on kolme.
Miten edustan 4?
Miten edustavat Numeron 4 binary?
Yleisö: [tahtiimme]
DAVID MALAN: One-- joo, älä sano 100 sinänsä,
koska se on väärä konnotaatio, mutta 1-0-0.
Niin että määrä 1-0-0 on todellakin oikea, mutta jos sinulla on vain kaksi bittiä,
mitä olet tehnyt todella?
Olet kaataa 00.
Ja todellakin, se mitä tapahtuisi.
Oikeastaan, voit ajatella tästä tuttavallisemmin.
Jos muistatte, mitä, 16 vuotta sitten, maailma
piti lopettaa, kun Y2K ongelma tapahtui.
Miksi näin?
No useimmat tietokoneet järkeviä päätöksiä,
olivat tallentaminen kuten 1975 tai vuonna 1999
vain käyttämällä kaksi numeroa tietokoneen muistiin.
Niin tietysti, mitä tapahtuu kun saat vuoteen 2000,
menet tähän, tai pikemminkin, joo.
Joten menet vuonna 2000, mutta jos olet vain kahdella numerolla se näyttää
kuten vuonna 00 ja joten olet kaataa.
Ja siksi paljon järjestelmien tarvitaan päivitetään tuolloin.
>> Niin, että sanoi, yritykset, kuten Facebook törmännyt tähän.
Joten ainoa tapa käsitellä tilanne, rehellisesti, on ennakoida sitä.
Tai puhtain tapa selviää tilanteesta
on ennakoida niin et täytyy tehdä muutoksia myöhemmin.
Joten sen sijaan 8 tavua, tiedätkö mitä?
Aion olla kaukonäköistä täällä, vaikka se on
hieman optimistinen, että aiomme olla 4 miljardia
ja 1 käyttäjien sivuillamme.
Mutta nyt vain käyttää 8 tavua, tai 64 bittiä, mikä yleensä
nimeltään suuri kokonaisluku, erittäin tekninen.
Ja tämä tarkoittaa vain voi olla vieläkin numeroryhmästä numeron.
Mutta tämä on tärkeä suunnittelupäätös,
koska jos valitset numeron, joka on liian vähän bittiä ilmaisukyky
voit itse luoda vian ohjelmiston.
>> Selvä, joten tehdään paketoida sähköpostilla ja postiosoite.
Joten sähköposti, kuinka kauan pitäisi sähköpostiosoite olla?
50.
En todellakaan ole aavistustakaan, mutta se on luultavasti jotain,
koska muuten kukaan menee kirjoittaa, jos se saa liian pitkä, niin 50,
mennään sen kanssa nyt.
Osoite, kuinka kauan pitäisi olla?
Yleisö: [tahtiimme]
>> DAVID MALAN: Se ei ole vain postinumeron, vaikka.
Osoite, kuulin.
Joten tämä on kuin 1 Brattle Square, pilkku, Cambridge Mass., pilkku, 02138.
Ja itse asiassa, haluan vain vetää hieman ylöspäin työtilan.
Tämä tuntuu se menetetty tilaisuus.
Jos meillä on 1 Brattle Square, pilkku, Cambridge MA 02138,
Tunnen pystymme parempaan kuin postiosoite.
Miksi emme räjähtää tässä hieman?
Mitä saan at?
Mitä meidän pitäisi sen sijaan olla meidän rivien täällä, kenties?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Joo, joten tehdään kutsuvat sitä street_number,
ja alaviiva on vain yleinen tapa saada mitä näyttää tilaa,
mutta se ei ole, oikeastaan.
Street, ja sitten city-- anteeksi?
>> Yleisö: [tahtiimme]
DAVID MALAN: Voisimme tehdä.
Rivi yksi, linjalla kaksi.
Miksi emme pitää helpoksi nyt,
mutta se on ehdottoman hyväksyttävä päätös.
Ja sitten valtion ja anna n olla hieman USA-keskeinen nyt
ja vain tehdä postinumeron, vain siksi se tulee johtaa mielenkiintoinen virhe
tai ongelma.
Niin kai se on nyt meidän osoite.
Se on vähän ärsyttävää, että meillä on kaikki nämä useampia kenttiä,
mutta nyt voimme merkitä asiat hieman paremmin.
>> Nyt kadun numero luultavasti ei pitäisi olla nieriä, sen pitäisi?
Mikä sen pitäisi olla?
Yleisö: [tahtiimme]
DAVID MALAN: Ehkä, useat kuten kokonaisluku uudelleen?
Iso kokonaisluku?
Et todennäköisesti elä at 4 miljardia Main Street
tai jotain hullua sellaista.
Joten kokonaisluku on luultavasti hieno, mutta onko kukaan
elänyt osoitteeseen kuten 1A Brattle Square, tai 1 ja 1/2?
Nämä asiat ovat olemassa, valitettavasti, vaikka et ole asunut siellä,
on näitä poikkeavuuksia kuten asunto 1A, 1B, 1C.
Niin tiedät mitä, me luultavasti ei pitäisi mennä kokonaisluku,
muuten aiomme menettää joitakin myyntiä.
>> Char kenttä, ehkä?
En tiedä kuinka kauan.
Se todennäköisesti tule olemaan niin kauan, joten 10 tai jotain.
Kukaan menee kirjoittaa pidemmän numero, ehkä.
Mutta jälleen kerran, meidän pitäisi luultavasti mietittävä enemmän sitä.
Ehkä google, tehdä tutkimusta, mutta me mennä meidän sisua nyt.
Streets, nieriä, 50, en tiedä.
Jossain vaiheessa, kukaan menee kirjoittamaan sen kirjekuoreen,
liikaa, joten on luultavasti Joissakin ylärajan siellä.
City, sama, varmasti, joten char 50.
>> Valtion, voi olla US-keskeinen nyt.
Joten se voisi olla lista, niin ystävällinen tuomion puhelun tila.
Se voisi olla kaksi merkkiä.
Joten itse asiassa, ehkä, Sanoin nieriä.
Luultavasti tarkoita varchar, vain joitakin tehokkuutta,
mutta me palaamme että päätös hetken.
Voisi olla char pituudeltaan 2 valtion.
Jos Yhdysvalloissa ne ovat, kuten MA, Massachusetts, NY, New York, NJ, New
Jersey, ja niin edelleen.
Joten se voisi olla kiinteä tuohon.
DC Washington DC.
>> Uskon kuitenkin, Olivier, te Ehdotettu toinen lähestymistapa.
Yleisö: [tahtiimme]
DAVID MALAN: Joo, niin se on vähän ärsyttävää kirjoittaa,
mutta ENUM voi olla järkevää, koska tällä tavalla, ainakin Yhdysvalloissa,
voit luetella, jos ikävän, mutta teet sen vain kerran tietokannassa
ja ei enää koskaan tarvitse miettiä se, kaikki 50 kahden merkin koodit.
Joten pidän ENUM.
Oletetaan kiinni, ettei, koska se tavallaan täytäntöön täsmällisempiä.
Ja sitten postinumeron?
Uskon, Andrew oli ajatus siitä, että
Yleisö: [tahtiimme]
DAVID MALAN: Joo, viisi tai yhdeksän.
Katsotaan vain pidettävä yksinkertaisina.
Tehkää viisi nyt.
Mutta ehkä voisin vain do kokonaisluku, eikö?
Voisin, mutta tiedätkö mitä, tein Tämän virheen kerran, jossain mielessä.
Vuosia sitten olin siirtymässä Microsoft Outlook Gmailiin,
ja Outlook on tapa vientiä kaikki yhteystiedot Excel-tiedoston,
CSV-tiedosto, csv tiedosto.
Ja tein virheen, I ajatella, kaksinkertaisen klikkaamalla sitä,
kun Latasin maastavientiä varmista, että se näytti kuin odotin.
Minun on osunut Tallenna tai anna Automaattinen tallennus potku tai jotain.
Koska kun Sitten tuodaan se Gmailiin, se kaikki toimi.
Mutta vuosia, tähän päivään, ja Tein viisi, 10 vuotta sitten,
Olen vielä löytää ystäviä, jotka ovat osoitteita, jotka näyttävät tältä.
Miksi?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Kesti 0, hyvin, vaan se
otti koko postinumeron numero, ja siksi se on
johtava 0, mikä tarkoittaa, sillä ei ole merkitystä.
Ja niin 2138 näyttää olevan minun postinumeron.
Ja tämä on suoraan sanoen ärsyttävää Excel ominaisuus jolloin Mielestäni oletuksena,
vaikka se on tarkoitettu vain olla tekstiä, Microsoft Excel
päättää, anna minun olla avuksi, ja oh, näen vain numeroita.
Kohdelkaamme näitä numeroita.
Ja se katkaisee alkunollat.
>> Vannon, joka pari kuukautta löydän osoitteen,
ja pois eräänlainen OCD, palaan in ja lisää 0, vaikka en koskaan
lähettää ihmisiä kirjeitä tai mitään.
Mutta en silti löytää jäänteitä tästä.
Joten tämä on sanoa, onko tämä hyvä idea?
OK, no, koska kukaan Massachusetts, tällä alalla,
tulee olla o mikä heitä.
Joten mennä kuten nieriä, luultavasti, viisi.
>> Ja tässä, ymmärtää me voisi käyttää ENUM ja me
voisi luetella 10000 mahdollista postinumerot,
mutta joka tuntuu se on luultavasti rajan linja, kuten, etuja.
Jos olet syöttää että paljon tiedot tietokantaan
suojaamaan jotain.
Joten char tajusi voit kirjoittaa H-E-L-L-O kuten postinumeron,
joka ei ole, on selvää, numeerinen.
Joten ei ole mitään tapaa, vuonna tyypillinen tietokanta,
määritellä vain numeerisia ja vain viisi merkkiä pitkä,
niin me aiomme olla tehdä sen koodia.
Aiomme tehdä PHP tai Java tai mitä kieltä olemme
käyttämällä palvelimen valvomaan sellainen rajoitus.
>> Huh!
Selvä, joten kysymyksiä aivan vielä?
Tehdään toinen suunnittelupäätös.
On käynyt ilmi, että olet myös saada valita,
suunniteltaessa SQL-tietokannan, tai Tyypillinen relaatio database-- jossa
jälleen, relaatio vain tarkoittaa rivejä ja sarakkeita,
niin voit järjestää data-- ja ymmärtää, että mitä tämä tarkoittaa,
Olen harhaanjohtava että olen drawing-- tämän
on mitä kutsutaan skeema for tietokantaan taulukon.
Tämä on kuin tekniset table--
mutta kun on aika itse tallentaa tietoja,
ja teemme tätä vain esimerkki.
Aion avata Excel, koska Excel antaa minulle rivejä ja sarakkeita.
Ja juuri näin Oracle ja MySQL ja muut välineet antavat minulle.
Joten olen juuri menossa käyttää se keskustelun vuoksi.
Anna minun mennä eteenpäin ja avata edustava dokumentti täällä,
zoomata hieman.
Niinpä esimerkiksi meidän otsikot ovat nyt etunimi, sukunimi, sukupuoli, ID,
sähköposti, katuosoitteen, oho.
Street, kaupunki, osavaltio, aivan noin sovitetaan ruudulle.
>> Joten mitä tämä tarkoittaa, että kun käyttäjä ensin rekisteröityy minun verkkosivuilla,
se tulee olemaan jotain David, Malan, m, sanokaamme 1,
malan@harvard.edu, kadun numero tulee olla kuin 1 Brattle Square, Cambridge, MA,
02138, ja sitten niin edelleen.
Joten kun sanon, että relaatiotietokanta tai SQL-tietokanta on rivejä ja sarakkeita,
Siis tätä.
Tämä varsinainen data tallennetaan riveihin ja sarakkeisiin.
Tämä on vain sattumaa, että puhuimme,
ja olin juuri piirtämällä ulos riveihin ja sarakkeisiin.
Tämä on vain skeema, yleisenä määritelmä.
>> Niinpä näiden kenttien täällä, tai vastaavasti, siellä,
jotka ovat kenttiä, jotka luulet Olen todennäköisesti etsiä jos olen käyttäjä
tai jos olen tietokannan ylläpitäjä?
Kuten, mitä kenttiä am I todella tulee etsiä?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: nimi, joo niin Pidän siitä that-- joo,
sähköposti voi olla melko yleisiä.
Valitettavasti sanoit nimi.
Niin maybe-- ja uudestaan, olemme Tällainen puhuminen abstraktisti.
En tiedä miksi olisit olla hakemalla nimen,
mutta tuntuu kohtuullinen jos etsit käyttäjälle.
Ehkä toteaa, varma, ID.
>> Ja se on liukas rinne, koska pystyin
contrive skenaario, jossa Ehkä pomoni on pyytänyt minua,
kuinka monta miestä meillä sivustollamme?
Kuinka monet naiset meillä sivustollamme?
Ja niin siinä vaiheessa, kannattaa etsiä sukupuolten kenttään myös
eikä mitään muuta.
Joten siellä on kompromissi tässä.
Jälleen ei ole mitään oikea vastaus, mutta siellä
on ominaisuus useimmissa SQL-tietokantojen tunnetaan indeksointi, jolloin
te, suunnittelija, The tietokannan ylläpitäjä,
itse päättää etukäteen, mitä kenttiä tietokantaan tulisi optimoida
hauissa.
>> Voisi hyvin sinisilmäisesti sanoa, optimoida Tämän, optimoida että optimoida,
optimoida että ja tämä, ja tietokanta
tehdä joitakin maaginen asia alla huppu, ja tehdä jotain niin
että seuraavan kerran etsiä tahansa näistä kenttien,
se itse asiassa nopeammin.
Tämä on mahdollista.
Se ei poista itse ulos.
Mutta on oltava maksettu hinta.
>> Jos naiivisti, tai yli-innokkaasti esimerkiksi indeksi kaikilla näillä aloilla,
niin sanotusti, ne kaikki tehokkaasti haettavissa,
mihin hintaan olet todennäköisesti maksavat?
Yleisö: [tahtiimme]
DAVID MALAN: Performance.
Mitä tarkoitat?
No suorituskyky, ainakin yhteydessä olen keskustella, on parempi nyt.
Se määritelmä indeksointi.
Se tekee hakuja nopeammin.
Joten aika vähenee, niin sanotusti.
Yleisö: [tahtiimme]
DAVID MALAN: Space.
Joten jälleen, nämä ovat yleinen kauppa.
Voin nopeuttaa hakuja, mutta se on tulee maksamaan enemmän tavua tilaa.
Miksi?
No, oletusarvoisesti, jos meillä mitään nämä punaiset tähdet, mikään näistä indeksit,
kuten sanon, miten etsiä Nimen tähän tietokantaan?
Joten piirtää meidän huomiota tämän esimerkin.
Jos meillä on David ja Scully ja Kareem ja Arwa ym näissä riveihin,
esimerkiksi.
>> Joten juuri siihen.
Scully on täällä, ja sitten olemme Kareem, ja Arwa,
ja kaikki muutkin, jos et on indeksi määritelty, niin sanotusti,
parasta mitä voi tehdä on lineaarinen haku.
Jos etsi Arwa, emme ole menossa pystyä hypätä suoraan hänen
nopeasti.
Aiomme aloittaa alkuun ja mennä aina pohjaan,
ei toisin alkuperäistä Mike Smith esimerkki.
>> Jos kuitenkin sanon, hei, tietokanta, indeksi etunimi kenttään,
Sitten se tulee tehdä jotain harrastaja ja tukea jotain
kuten binary haku.
Se ei todennäköisesti ole binäärihakupuu sinänsä.
Tietokannat ovat yleensä käyttää toista tietorakenne kutsutaan b-puita,
ei pidä sekoittaa binary puita, että vain tehdä nopeammin etsiä
jotain logaritminen luonnossa.
Mutta hinta maksat rakentaa että ominaisuus, että datarakenne muistissa,
on enemmän tavua.
Joten se saattaa kestää jonkin megatavua, Joissakin gigatavua, kuka tietää?
Se riippuu datan.
>> Joten jossain vaiheessa, sinun on päätettävä, se ei todennäköisesti ole yhteistä asia.
Mitkä ovat todellisia yhteisiä tapauksissa, jos todella pitäisi valita,
mitä voisi suosikki kentät olla?
Sähköposti.
Ja pidän sähköpostin, koska sähköpostin, teoriassa pitäisi olla ainutlaatuinen.
Ja niin yleensä, kun tietää etukäteen, että joku kenttien
on tai tulee olemaan ainutlaatuinen, että taipumus olla hyvä kenttä
etsiä, koska sillä tavalla, kun etsit jotain,
aiot saada takaisin yhteen tai nolla vastauksia ja sitten olet valmis.
Sinun ei tarvitse pitää etsivät vielä toiset.
>> Ja niin tässä tapauksessa täällä, sähköposti, kunhan et voi rekisteröityä kahdesti
samalla sähköposti, on hyvä.
ID määritelmän, että tietojenkäsittelytiede maailmassa,
jos olet puhumme ID, joka oli parempi olla ainutlaatuinen.
Se on tavallaan mielleyhtymiä henkilökortti tai tunniste.
Ja loput näistä voisi olla, kutsukaamme heitä mukava päässeiden,
mutta ei oikeastaan ​​tarvita.
>> Ja niin tietokantaan, voit määrittää indeksit,
mutta voit olla vielä tarkempi.
Voit sanoa, hei, tietokanta, varmista että jokainen tunnus tässä taulukossa on ainutlaatuinen.
Älä edes anna ohjelmoija vahingossa laitettu kahtena email
tai kopioida ID-numero.
Niin paljon kuin enums suojella meitä samalla, te
voivat olla niitä alemman tason puolustusmekanismeja.
Ja niin tietokannan suunnittelu, vuonna jossain mielessä, on tavallaan hauskaa,
koska teet sen puolustautui.
Sinä tavallaan olettaa, että työskentelet kamala, kamala ohjelmoijat
ja haluat laittaa niin monta puolustukset kuin voit suojata tiedot,
mutta samanaikaisesti haluat auttaa heitä toimimaan paremmin
valitsemalla joka kenttiä optimoida.
Mutta et voi välttämättä tehdä sitä tyhjiö kuten me tavallaan täällä.
Sinulla tietää, mitkä ovat nämä yhteiset tapaukset ovat.
Jos kehittäjät ovat täytäntöön osoitekirjan,
saatat hyvinkin haluavat pystyä etsiä lähes joka alalla,
vain sovelluksen luonteesta.
Joten ehkä viettää että lisätilaa.
>> Oikea, kysyttävää?
Joo.
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Ei.
>> Yleisö: [tahtiimme]
>> DAVID MALAN: OK.
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Ai, niin me Kyseessä tavalla
Nyt se on täysin kieli agnostikko.
Joten puhumme nyt noin relaatiotietokantojen yleisemmin
tai SQL-tietokantojen yleisemmin.
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Parempi sana käyttää on, voidaan käyttää millä tahansa kielellä.
Voin siis kirjoittaa JavaScript-koodia, C koodia, C ++ koodia, Java-koodia, Ruby koodia,
jotka kaikki puhua tietokanta ja suorittaa kyselyitä.
Itse asiassa, se ei ole huono segue esimerkkiin kyselyn.
Ja vielä, emme aio mennä Java tai C ++ tai mitään sitä enää,
mutta SQL, kielen jota pitää viitaten, Structured Query Language,
Tämä itsessään on ohjelmointikieli, mutta se on tarkoitus käyttää, ei
yllätys, jäsennelty kysely kyselyt.
>> Sillä tarkoitan tätä.
Tapa valitaan data alkaen MySQL-tietokannan
on kirjaimellisesti kirjoitat ohjelmaan jotain valitse tähti käyttäjiltä.
Oletan, että tämä taulukko, tästedes kutsutaan käyttäjille.
Voisin kutsua sitä mitä me haluamme, mutta sellainen on järkevää.
Ja niin valitse on hyvin yleinen verbi, jos
tulee, SQL, joka kirjaimellisesti tekee sen.
Mitä mieltä olet tähti tarkoittaa tässä yhteydessä?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Anteeksi?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Ei tarvita, se on laajempi kuin se, todellisuudessa.
Se on JOKERIMERKKI.
Star melkein aina tarkoittaa mitä tahansa, niin tämä tarkoittaa, tässä tapauksessa,
Valitse kaikki tietokannasta.
Joten kun sanon tämän, tarkoitan anna minulle takaisin jokainen sarake
minun pöytä soitetuille käyttäjille.
Joten antaa minulle tulosjoukossa, kuten sitä kutsutaan.
Toisin sanoen, anna minulle kopion taulukkolaskenta, on mitä saan osoitteessa.
>> Mutta jos sanoin valitse tähti käyttäjiltä jossa tunnus on 1, kuinka suuri olisi
minun tulosjoukon olla niin?
Tai vastaavasti, kuinka monta riviä pitäisi I luovutetaan takaisin tietokannasta?
Luultavasti vain yksi, jos on todellakin käsitelty tunnuksen yksilöllinen tunniste,
ja jos David on, että yksilöllinen tunnus, I pitäisi saada takaisin ainoastaan ​​yksi rivi
joka sisältää kaikki Daavidin tietoa.
Jos Sanoin tämän missä ID on yhtä suuri kuin 99, minun pitäisi saada takaisin,
tässä yhteydessä nolla riviä, ainakin tällä hetkellä.
>> Kuitenkin, jos en välitä kaikki nämä tiedot,
Voisin sanoa, mistä David elää?
Valitse postinumeron käyttäjille, jos tunnus on 1.
Tämä valitsee ainoastaan ​​minulle Daavidin zip koodi eikä kokonaisuudessaan rivin.
Miksi voisi Teen tämän sijasta tähti kysely, villi kortti?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Joo, ehkä vain tarvitse sitä.
Joten suorituskyky on jälleen vastaus täällä.
Miksi kysy lisää tietoa kuin tarvitset,
sillä vaikka se mitään yhdessä, sinulla on vielä kopioida, että tiedot,
näyttäisi siltä, ​​tietokannasta omaan ohjelmaan jotenkin,
ja se on vain typerä, jos tarvitsee vain viisi näistä numeroa,
ei kokonaisuudessaan rivin.
>> Miten voin asettaa käyttäjä?
Oletetaan käyttäjä on juuri rekisteröidään ensimmäisen kerran.
Syntaksi tavallisesti näyttää tältä.
Lisättävän käyttäjiä, ja Sitten sanoisimme arvoja,
ja sitten sanoisimme arvot kuten sanotaan, Lauren Scully,
Meidän videographer täällä.
Ja seuraava kenttä on sukupuoli.
Niinpä me sanomme lainaus, lainaus "F", niin meillä on tunnus
ja aion say-- katsotaanpa teeskennellä hän ei ole oikeastaan ​​täällä,
niin me kelata tarina.
Joten 2 on hänen ID.
Ja sitten seuraavaan kenttään tässä on hänen email.
Joten se tulee olemaan kuin Lauren Scully ja niin edelleen,
ja me vain dot dot dot sen pois tästä eteenpäin.
Nyt se saa hieman ikävä, mutta insertti kyselyn
lopulta näyttää tältä.
>> Jos haluan päästä eroon Scully, uh-oh, nyt uloskirjautua
häntä, hän poistaa hänen tilille, poistaa käyttäjiä, jossa tunnus on 2,
päästä eroon Scully.
Tai voin sanoa päivittää käyttäjien asettaa, sanokaamme, mitä me voisimme muuttua?
Oletetaan hän liikkuu.
Aseta vetoketju on yhtä 021-- Ehei, se on hänen nykyinen zip.
90210.
Ainoa muu postinumeron Tiedän maailmassa.
Jotta muuttuisi hänen zip code-- todella,
että ei muuttaisi hänen postinumeron.
>> Mitä minä juuri tehdä?
Vaikka syntaksi on todennäköisesti uusi.
>> Yleisö: [tahtiimme]
DAVID MALAN: Joo, muutin kaikille Beverly Hills, Kalifornia.
Joten minun pitäisi oikeastaan sanoa missä ID = 2.
Ja niin edelleen.
Joten SQL on kyse näistä Erilaisia ​​ohjeet.
Valitse, lisätä, poistaa, päivittää, Näiden predikaatteja lopussa
Näiden jos lausekkeita, niin sanotusti.
Ja siellä on paljon enemmän voit tee, mutta se oikeastaan ​​vain kuihtuu
yksinkertaisesti, jos arcanely, jotka ilmentävät mitä haluat tietokannan tehdä.
>> Ja niin tietokanta tulee selvittää, milloin
asetat Lauren Scully osaksi tietokanta, minne laittaa hänet muistiin
jotta voimme hyvin nopeasti hänen perustuvat hänen sähköpostiosoitteen
tai joka perustuu hänen ID-numero tai vastaava.
Niin, Dan.
Yleisö: [tahtiimme]
DAVID MALAN: Todella hyvä kysymys.
Saattavatko skriptejä muuttuvat Microsoft Access Oracle
MySQL PostgreSQL?
Lyhyt vastaus on se riippuu.
Teoriassa on erittäin merkittävä yhteinen osajoukko SQL
joka on jaettu kaikkien Näiden toteutusten.
Kuitenkin eri valmistajien on lisätty ominaisuuksia
tietokantoihinsa tehdä tiettyjä asioita kuulu näitä ominaisuuksia,
joka saattaa itse asiassa murtaa.
>> Joten miten kehittäjät suojautumaan tältä,
on, että kirjoittamisen sijasta raaka SQL-koodin kuten olen kirjallisesti täällä,
ne sen sijaan käyttää kirjaston, yhteinen kirjasto, joka itse
on tavallaan korkeamman tason ja abstraktit pois, mikä tuote käytät.
Ja se antaa sinulle toiminnot ja menettelyt
soittaa niin, että et koskaan itse kirjoittaa raaka SQL.
>> Teoriassa niin, voit muuttaa tuotteita Oracle Microsoft
tai päinvastoin tai mitään muuten, ja te kirjaimellisesti
muuttaa mitään koodia.
Tosiasia on kuitenkin, joskus luopua ominaisuuksia seurauksena.
Olet ehkä valinnut tuotteen, koska se sai näitä lisäarvoa ominaisuuksia,
ja olet juuri nyt ole käyttää niitä tietoisesti.
>> Ja anecdotally, useimmat yritykset pyrkivät koskaan siirtyä pois niiden tietokannassa.
Joten vaikka tämä on mukava on ominaisuus, todellisuus
on, jos olet uudistamalla tietokannan, olet
luultavasti tehdä risuryppäät muita muutoksia joka tapauksessa, että et välttämättä
täytyy ennakoida, että.
Joten se luultavasti yli-engineering ongelma,
mutta se riippuu oikeastaan ​​yhteydessä.
Mutta teoriassa, SQL on jaettu poikki kyseisiä tuotteita.
Todella hyviä kysymyksiä.
Joo.
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Joo, niin voit ajatella tietokannan
on vain palvelin, lopussa päivä, ja sisällä että palvelin
on koko joukko taulukoita, rivejä ja sarakkeita.
Ja kun lähettää kyselyn näin alkaen ohjelma, sivusto,
Javalla, Ruby, Python riippumatta, palvelin vastaanottaa tämän komennon
ja tulkitsemalla tätä kirjaimellisesti samalla tavalla
keskustelimme aiemmin tulkitaan kieliä,
ja sitten suorittamalla joitakin toimia nollaan tai useampia rivejä nolla tai useampia pöytiä.
Yleisö: [tahtiimme]
>> DAVID MALAN: Aivan, aivan.
Joten pseudokoodi jotain kuten että voisi olla tätä.
PHP-tiedosto tai Python tiedosto tai Java-tiedoston,
olisit pseudokoodi koodia, tai Scratch-kuin lohkojen, jos käyttäjä vierailee
acme.com/register~~V ensimmäistä kertaa, aseta osaksi käyttäjien ja niin edelleen.
Ja me kääntää tätä konkreettisempi koodi lopussa.
Mutta oikeasti, olemme kaikki rakennuspalikat tässä,
vaikka olemme ohita joitakin täytäntöönpanon vaiheet.
>> Haluan siis löytää vikaa, mitä me ihanan teki juuri äsken.
Olet luonut melko täydellinen taulukko käyttäjille.
Tosin voisimme toteuttaa sen muutaman eri tavoin,
mutta olet todella saanut meidät alas path-- ja sanon teille,
mutta se on luultavasti minun fault-- of melko tehoton tietokannan toteuttamiseen.
Se ei ole normalisoitunut.
>> Ja normalisoitu tarkoitan siellä tulee olemaan,
ajan, merkittävää irtisanomisten ja siksi tehottomuus,
että on hukkatilaa.
Perustuu vain mitä näet täällä, voi Kerrassaan jos tämä hukkatilaa
on oikein tulevat ajan mittaan, kun yhä useammat käyttäjät rekisteröityä
sivuston?
Mitä tietoja saattaa tulla tarpeettomaksi?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Miksi tarkoittaa, että?
Yleisö: [tahtiimme]
DAVID MALAN: Joo.
Ja Oletetaan varten tänään, että se on totta.
Osoittautuu, ja olemme oppineet tästä kantapään kautta, se ei ole totta.
Jotenkin useita kaupunkeja on, jotenkin, sama postinumero,
joka rikkoo tätä hienoa intuition.
Mutta oletetaan, että se on totta, koska se on lähes aina totta.
Niin oletetaan, että postinumeron on liittyy aina samassa kaupungissa
ja tila, joka on eräänlainen Kohtuullisen oletus,
mutta virheellinen, se kääntyy pois.
Mutta kohtuullinen oletus nykypäivän tarkoituksiin.
>> Sitten oletetaan, että asun Cambridge, MA, mukaan tämän käyttäjän taulukko,
ja olettaa, että Lauren Scully asuu Cambridge, MA,
ja olettaa, että Kareem asuu Cambridge, MA,
ja Arwa asuu Cambridge, MA, meitä kaikkia 02138.
Miksi muistaa Cambridge, MA, 02138 kaikkien neljän meille?
Mitä pitäisi riittää muistaa?
>> Yleisö: [tahtiimme]
DAVID MALAN: Just postinumeron.
Vain että 02138 on olemassa, koska tiedät mitä voisimme tehdä?
Voisimme saada hieman fancy täällä ja tänne, määritellä toinen taulukko
jos tämä tulee olemaan nimi, tämä tulee olemaan tyyppiä,
tämä tulee olemaan pituus, ja tästä lähtien olen
menossa kutsua tätä minun kaupungeissa taulukossa.
Tätä kutsuttiin, on Tietenkin minun käyttäjät pöytä.
Ja niin mitä pitäisi laittaa tänne minun kaupunkien pöytä, luulet?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Joo.
Joten zip ja valtion ja kaupungin.
Ja niin tyyppi täällä, me sanomme tämä tulee olemaan char 5 uudelleen,
jollei keskustelussa aiemmin.
Tämä on ENUM, ehkä kuten ennen, ja kaupunki tulee varchar 50.
Ja niin nyt, mitä saan tyhjentää tästä taulukosta
poistamaan että tehottomuuteen?
>> Yleisö: [tahtiimme]
DAVID MALAN: Nice.
Valtion ja kaupungin mennä pois, joten olen nyt eliminoidaan mahdollinen tehottomuus
for tarpeettomasti muistaa, Cambridge, MA, Cambridge, MA, Cambridge, MA,
Cambridge, MA, joka toivottavasti ei koskaan muutu.
Ja vaikka se tekee, se on minorly ärsyttävää, nyt
että minun vaihtaa sen useita rivejä,
kun taas täällä, voisin vain muuttaa sitä yhdessä paikassa.
>> Nyt mitä kompromissien, kenties?
Tämä oli erittäin kätevä.
Oli kaikki tietoni hienosti yhteen.
Mutta mikä on selvästi nytkin?
>> Yleisö: [tahtiimme]
DAVID MALAN: Aivan, ja olen iloinen käytit sanaa liittyä,
koska se on todella avainsana, maailmassa relaatiotietokantojen
SQL, se on todellinen sanan saattaa tyypin tai ainakin välittää.
Ja itse asiassa, mitä me nyt täytyy tehdä Valitse Daavidin täydelliset tiedot on
jotain valitsemalla star käyttäjille, liittyä kaupungeissa, on-- ja nyt
Aion vain siirtyä toisen linjan niin, että tämä fits-- users.zip on yhtä suuri kuin
cities.zip, jossa users.ID on 1.
>> Joten mitä tapahtuu?
Se on ruma näköinen, mutta voit eräänlainen lukea sen vasemmalta oikealle, ylhäältä alas.
Valitse tähti käyttäjiltä on sama kuin ennen,
mutta se ei ole käyttäjiltä, ​​sinänsä.
Se käyttäjiltä liittyä kaupungeissa.
Mitä minä tuloaan nämä kaksi pöytää?
No, ilmeisesti Käyttäjät taulukot zip kenttä,
ja tämä aika on aivan erityinen syntaksin ilmaista, että idea,
ja tämä on kaupungeissa taulukoita zip kenttään.
Haluan nämä kaksi on yhtä suuri, mutta haluan lopulta valita
vain ne rivit, joissa ID käyttäjät taulukossa
on 1, joka sattui olemaan minun.
>> Ja vain olla selvä, eli ohjelmoija, tyypillisesti kun
hardcode jotain numero 1, koska muuten verkkosivuilla ainoa
tukee David tai ensimmäinen käyttäjä, sinun
sen sijaan tehdä jotain ID, jossa
tämä edustaa muuttuja, mikä
voi muuttua ajan myötä, samanlainen hengeltään mitä sanoin aiemmin
tämänkaltaisia ​​paikkamerkkejä.
Mutta nyt meidän täytyy vain hardcode sen 1.
Ja niin mitä tämä tarkoittaa?
No, mukava tapa visualisoida on että jos tämä käsi on käyttäjien taulukko,
ja tämä käsi on vetoketjut pöytä, olemme tavallaan finding--
ja vinkkejä sormet ovat zip tänne, ja kärjet sormiani
täällä ovat zip, olet eräänlainen lukituksesta se
niin että saat takaisin saatua alkuperäinen taulukko, jota todella liittymällä
kahdessa taulukossa yhteisestä kenttään.
Ja se ei tarvitse olla zip.
Se voisi olla kaikkein mitään muuta, mutta zip on mukavaa, koska yksi, se on lyhyt,
kaksi, se on aina samanpituisia, niin siellä
todellinen tehokkuus mitä Olivier Tässä ehdotettu
kanssa pois laskuista zip, ja [Tahtiimme], jossa ehdotetaan, että päästään eroon
kaupungin ja valtioiden.
>> Joten tämä on prosessi tunnetaan normalisointi.
Kaikki kysymykset siitä?
No haluaisin huomauttaa tämä on semmoista,
vaikka se on melko matalalla, Keskustelun että luulisi
olet tavallaan saada hävisi rikkaruohot,
tämä on osoitus runsaasti mahdollisuus kehittäjät huonoksi.
Ja itse asiassa, vaikka me, vuonna kurssit Olen opettanut, kun meillä on ollut,
Esimerkiksi kokematon perustutkintoa ohjelmoijat
rakentaa verkkosivustoja, ensi silmäyksellä, sivustot saattavat näyttää loistava.
Ja heillä on kaikki toiminnallisuus pyysimme,
kehittäjät tekivät hyvää työtä.
>> Mutta he eivät välttämättä tiedä tarpeeksi tietokantasuunnittelu
tai he eivät usko kova tarpeeksi siitä, millaisia ​​tietoja
ja tyypit käyttäjät verkkosivusto menossa on,
ja löydämme sitten, kuusi kuukautta myöhemmin, kun he ovat valmistuneet tai siirtynyt,
että hitto, sivuillamme on todella, todella hidas.
Enkä puhu edes ottaa miljoonia tai tuhansia käyttäjiä.
Siis muutaman sadan käyttäjät kampuksella, jotka kaikki haluavat esimerkiksi
osta kursseja Samalla he
käyttäen, että kurssi luettelo sovellus Mainitsin
ja asia on tulossa todella hidas, koska ei ollut indeksejä.
Ei ollut punaiset tähdet, niin puhua, tai emme olisi välttämättä
laskelmiin yhteiset tiedot saada säästöjä tilaa.
>> Ja niin kun Tutkiessaan kehittäjä tai tietokannan henkilö tai vastaava,
millaisia ​​kysymyksiä miettiä on vielä, kun arvioimme kenenkään koodia,
sanoa, ei välttämättä katso kaikkien niiden koodia, mutta sanovat,
Katsotaanpa tietokannan kautta taulukoita.
Mitä tallentamiseen?
Ja sitten sanoa, hyvin, odota minuutti, miksi käytät kokonaisluku?
Mitä jos meillä on 4 miljardia ja 1 näiden rivien?
Ja tällaisia kysymykset on mahdollisuus
sellaista työntää takaisin ja saada tunnetta, jossa
jos et ole mukava tehdä se, että joku enemmän teknistä
kysyä näitä kysymyksiä, vai ei henkilö todella tietää niiden juttuja.
Ja tämä on sellainen tavaraa myös, että ihmiset
Internetissä kuka ovat itseoppinut, ehkä
oppia harvemmin, koska olet eivät välttämättä törmännyt se
niin paljon, koska saat tietokanta vauhtiin,
mutta jos olet lukenut ylös tutorials tai olleet
kertoi tietokannan normalisointi ja indeksointi ja suorituskykyä,
nämä ovat erilaisia ​​asioita jotka ovat menossa satuttaa sinua.
Ja luulisi, tai huono insinööri Voisi sanoa, No, me parempia palkkoja
isompi tietokanta tai nopeampi tietokanta
tai vain heittää rahaa tähän, pystysuoraan mittakaavassa, ei välttämättä niin.
Jos menet in-- ja voit mennä jälkeen fact-- ja lisää indeksit,
ja se saattaa kestää muutaman tunnin tietokanta rakentaa että uudet tiedot
rakenne, joka viittasin aikaisemmin, voit silti korjata jälkikäteen,
että tämä on silloin, kun alkaa erottaa
hyviä suunnittelijoita huono suunnittelijat, ei vain esteettisesti,
mutta suorituskyky-viisasta samoin.
Kysymyksiä?
Ei?
Joten NoSQL, joka oli muu Tietokannan johon viittasin aikaisemmin,
sinulla ei ole rivejä ja sarakkeita.
Sen sijaan, sinun olisi jotain joka näyttää hieman enemmän kuin tämä.
Aion käyttää yhteisiä syntaksin.
Aaltosulkeita sattuvat käyttää tässä aika paljon.
Saatat olla jotain kuten etunimi on David,
saatat olla viimeinen nimi on Malan, lainauksia,
saatat olla ID is-- anteeksi, whoops-- tunnus on 1,
sähköposti on malan@harvard.edu, ja en tahdo vaivata kirjoittamalla ulos loput, ja sitten
joitakin muita asioita.
>> Toisin sanoen, tämä on tekstimuotoisen esityksen
mitä me yleensä soittaa objekti tietokoneohjelma.
Ja kohde on yleensä vain kokoelma avaimen arvo-pareja.
Joten jälleen, tämä toistuva teema.
Näimme keskeinen arvo pareja HTML, näimme avaimen arvo pareja nyt
yhteydessä tietokantojen, ja me Näin keskeinen arvo pareja yhteydessä
of mielestäni kieli aiemmin tänään.
Pitää tulossa.
Ja todellakin, se on todella mitä tietoja kuihtuu,
tiedot ja metatiedot, tai arvoja ja avaimet, vastaavasti.
>> Joten ei-relaatio tietokanta, jotain perustuva
esineistä, josta juuri kasaantuvat kaikki yhteen ja laita se
muistiin, olisi yleisesti kuvattiin, tai ajatellut, koska tämä.
Ja Jätän että nyt kun tavallaan vaihtoehtoista lähestymistapaa.
Ja yksi ei välttämättä parempi kuin muut.
Itse asiassa, hyvin paljon muodissa nämä päivät ovat tietokantajärjestelmiin
kuten MongoDB ja Redis ja muutama muita tällaisia ​​välineitä, vapaasti käytettävissä,
mutta ne ovat yhä en muodissa.
Osittain siksi ne tarjoavat ylimääräistä ominaisuuksia näinä taulukkomuodossa lähestymistavat,
mutta myös koska he hieman helpompi käyttää,
koska sinun ei tarvitse ajatella niin kovaa noin paljon näitä suunnitteluun liittyviä päätöksiä.
Joten plussia ja miinuksia.
Joten ymmärtävät on olemassa vaihtoehtoja mikä me juuri viettänyt aikaa.
>> Joten tehdään tämä.
Oletetaan siirtyminen vähän takaisin nyt web ohjelmointi,
jotta sellainen päätellä tänään jotain
se on hieman käytännön, täyttö Joissakin aukkoja eilisestä.
Anna minun mennä tähän ensimmäiseen.
Niin muistaa, että eilen meillä oli kanoninen HTML
sivut, jotka olivat alun perin vain HTML, ja sitten toissijaisesti oli CSS,
CSS-tyylisivuja.
Tämä on uusi tagi että emme katso eilen, tai pysähtyä,
niin sanottu komentosarjatunnus.
>> Osoittautuu voit itse upottaa kieli kutsutaan JavaScript web
sivu ja tehdä web sivut tehdä jotain.
Joten mitä tarkoitan tällä?
No, anna minun mennä eteenpäin ja vain lainata tätä koodia hetkeksi.
Aion mennä Cloud9, ei tarvitse mennä sinne itse vielä,
ja aion kutsua tätä alert.HTML.
Aion liittää minun tiedosto tästä.
Ja vain selventää, mitä olen tehnyt, anna minun mennä tähän osoitteeseen ja mene varoittaa,
ja näet Hello World.
>> Mutta tämä on tavallaan underwhelming.
Haluan tehdä jotain hieman erilainen.
Joten aion itse tehdä tämän.
Aion mennä tänne e, ja välillä minun koodit,
sanovat alert ( 'hei, maailma'); joten ilmoitus se on hieman huolimaton, mutta minulla HTML,
jonka sisällä on kieli kutsutaan JavaScript,
ja tämä on mitä kutsutaan funktiokutsua tai proseduurikutsua.
Tämä on verbi, kirjaimellisesti, tässä tapauksessa, ja olen vetoaa koodin toiminnallisuus
että joku muu kirjoitti.
>> Niin, että toiminnallisuus on hälytys, joten mennään tälle sivulle
nyt ja valitse reload, ja nyt te nähdä hieman vuorovaikutteisuus.
Se on eräänlainen vanhan koulun ja ruma.
Tällainen muistuttaa teitä ponnahdusikkunoita ehkä menneen
mutta se ei tee jotain hieman ohjelmallinen.
>> Joten enemmän kuin Tehdään jotain mielenkiintoisempaa.
Päästä minut tänne ja päästä eroon tästä.
Ja aion mennä eteenpäin ja luoda lomakkeen kuten teimme eilen.
Oikeastaan, tiedätkö mitä?
Aion mennä google.html, jota
alkoi eilen, mikä näytti Tämän, jonka kautta etsittiin kissa
Mutta huomaa siellä on eräänlainen vian nykyisen version.
Se toimii kissoille, mutta olettaa, että En yhteistyötä ja kirjoitan mitään,
ja minä klikkaa lähetä.
Sellainen outo käytös.
Kesti todellinen Google, ei antanut minulle virheilmoituksen.
Haluaisin kertoa käyttäjälle sinun täytyy antaa meille arvon.
>> Miten voisi onnistuu?
No anna minun mennä takaisin Cloud9 ja anna minun mennä alkuun minun sivun
ja lisää komentosarjatunnus näin, jos Aion kirjoittaa JavaScript-koodia.
Ja aion tehdä seuraavaa.
Jos (document.getelementByID-- ja recall että puhuimme, että aikaisemmin,
että funktio.
Mitä ID minä haluan saada?
Haluan saada q, ja aion sanoa yhtä kuin ei mitään, tämän kaltaisia ​​osia
todella haluan käyttämällä lainausmerkkejä vain consistency-- yhtä kuin ei mitään,
Sitten alert ( "Kirjoita kyselyn") täällä.
>> Olen siis mikä näyttää olevan jotain kunnossa.
Olemme nähneet tätä yleinen ajatus Scratch.
Se on kuin yksi niistä palapelin palaset näytti tältä.
Ja mitä minä puhun?
No, täällä, huomaa olen aikoo tehdä seuraavaa.
Aion antaa tämän lomakkeen kenttä paitsi nimeä q, joka
on mitä saa välitetään Googlelle, mutta olen aio antaa sille paikallinen tunniste,
kutsutaan myös q.
Mutta voisin kutsua tätä mitään I haluavat, olen juuri menossa pidettävä yksinkertaisina
ja myös kutsua sitä q, vain yksinkertaisuuden vuoksi.
>> Ja nyt aion tehdä jotain hieman.
On lomakekentät täällä, aion lisätä mitä kutsutaan tapahtumakäsittely.
On toimitettava Haluan soittaa toimintoa kutsutaan validate.
Tämä ei ole vielä olemassa, tämä sana, tai tämä verbi validate,
koska mitä aion tehdä täällä nyt on lisätä koodia.
>> Aion sanoa toiminto validate.
Aion sisentää tämän ja lisää toinen kihara ahdin täällä ja toinen täällä.
Mieti, mitä tämä nyt tekee.
Minulla now-- ajatella tätä luonut oma palapelin pala, joka ei aiemmin
olemassa, ja olen kutsui tätä palapeliä pala Validate palapelin pala.
Sen tarkoitus elämässä on toteuttaa neljä riviä koodia sisällä siitä.
>> Jos document.getElementById niin käsitteellisesti,
joka ei mene elementtiin, HTML-elementti, jonka ainutlaatuinen
idea on vain q, ja sitten vaikka syntaksi näyttää hieman outo,
yhdenvertainen yhtä suuri tarkoittaa vain tasavertaisten.
Niin se tarkoittaa, jos elementti kanssa yksilöllinen tunniste q, kun mennyt,
ei ole mitään arvoa, se vain on yhtä kuin lainaus lainaus päättyy, mitään siellä,
Sitten mitä haluan tehdä?
Haluan huutaa käyttäjälle.
>> Ja emme mene yksityiskohtaisesti täällä.
Aion palata false.
Se on virhe.
Else, aion palata totta.
Joten joko se toimi tai se ei ole.
Vääriä tai totta.
Ja nyt jos en tee virheitä, haluan tallentaa ja ladata tämä.
Ja haluan vain varmista, että En itse asiassa tee mitään kirjoitusvirheitä,
joten en nolaa itseäni.
Katsotaan tämä toimii.
>> Nyt aion kirjoittaa kissoille.
Se toimii edelleen, tai puoli toimii, ainakin.
Nyt haluan ladata sen, ja nyt anna me yritä lähettää kirjoittamatta
anything-- hitto, se hajosi.
Yksi hetki.
Saanen Avaa konsoli, [Tahtiimme] log, lataa sivu.
Yritän tätä uudelleen.
Voi hitto.
Minä unohdin.
Olen tehnyt kirjoitusvirheen.
En muista mitä se on.
.arvo.
Minun piti sanoa, jos arvo Elementin jonka tunnus on q
on yhtä suuri kuin, sitten huutaa käyttäjälle.
>> Nyt anna minun pidätellä hengitystä uudelleen.
Nyt sitä mennään.
Siellä mennään.
Kirjoita kysely.
Joten se ei ole saan läpi.
Voin olla sellainen leikkisä tämän, ja sen sijaan, että tarkistamalla mitään arvoa,
Voin sanoa jotain, Ei enää etsimistä kissoille,
ja nyt voimme vain enemmän leikkisästi let käyttäjä etsintä koirille, jos hän
haluaa, tai jos menen tänne ja etsi kissoja, nyt en voi.
>> Joten mitä takeaway täällä?
Joten, olemme tuodaan maailmamme HTML ja CSS,
ohjelmointi toiminnallisuus.
Voin oikeastaan ​​nyt tehdä päätöksiä koodia.
Aiemmin kaikki voisin tehdä on merkitä ylös tekstisisältöä tai graafista sisältöä
ja kertoa, mitä etsiä kuten ja kun näyttää.
Nyt voin todella kysyä kysymykset sivun
ja tehdä päätöksiä sitä, ja kehottaa käyttäjää
jos minun täytyy huutaa hänelle.
>> Joten kokeilla jotain omalla tähän.
Anna mennä, anna minun avata seuraavan dian täällä, ja vain yhden asian.
Aivan kuten CSS, voimme tekijä ulos JavaScript-koodin erilliseen tiedostoon,
voit tehdä sama asia JavaScript kuin CSS.
Ja käytät että käyttämällä lähde määritettä komentosarjatunnus.
Mutta emme mutkistaa asioita nyt.
Sen sijaan, jos voisit mene ei tätä sivua
but-- saanen siirtää tämän ympäri order-- mennä, jos voisit, tämä sivu täällä.
Tämä URL-osoite tähän.
Se on nykypäivän dioja.
Saatat joutua uudelleen, koska Olen lisännyt pari asia.
>> Mutta sinne missä joitakin pulmia odottavat.
Ja tämä antaa meille mahdollisuuden, hieman hauskempaa yhteydessä
harrastella joidenkin JavaScript.
Ja kun pääset sinne, Selitän mitä odottaa.
Get vihreä.
Set sininen.
Asettaa vihreä, asettaa punainen.
Oho.
Anteeksi.
>> Tämä on laajuus meidän dokumentaatio tähän haasteeseen.
Ja tämä on menossa töihin seuraavasti.
Joten mitä on tähän sivu on koko joukko
kuvan pulmia kaveri Stanfordin yliopistossa.
Joten mitä näet täällä on melkein Tällainen yksi niistä magic eye pulmia,
mutta jos vain tuijota sitä, mitään menee pop ulos sinua.
Pikemminkin jotain on piilotettu kuva.
Ja se on piilotettu seuraavalla tavalla.
Kuvat, kuten ehkä tiedätte, voi olla koostuu vain kolme väriä.
Jotkut punainen, sinistä, ja vihreitä.
Ja voimme tehdä kaikki sateenkaaren värit
sekoittamalla nämä kolme väriä jotenkin.
>> Joten tämä näyttää enimmäkseen vihreä ja sininen, mutta kuten Nick sanoo täällä,
tämä rauta palapeli kuva on palapeli.
Se on otos jotain kuuluisa kuitenkin
kuva on vääristynyt.
Kuuluisa kohde on punainen arvoihin.
Kuitenkin punainen arvot ovat kaikki jaettu 10.
Joten ne ovat liian pieniä kertoimella 10.
Eli toisin sanoen, Nick otti alkuperäisen kuvan,
ja hän desaturated kaikki punainen siitä,
alentamalla punaisen määrää muste, jos haluatte, siinä.
>> Sininen ja vihreät arvot ovat kaikki vain merkityksettömiä,
satunnainen arvot, alias melu suunnitellut hämärtää todellista kuvaa.
Joten mitä Nick teki oli hän lievennettiin punainen ja sitten
Hän vain heitti satunnainen määriä sininen ja vihreä
at kuvan sellaista hämärtää mitä oikeastaan ​​vielä siellä.
Sinun täytyy kumota nämä vääristymät paljastaa kuvan.
Määritä ensin kaikki siniset ja vihreät arvot nollaan saada ne pois tieltä,
ja katso tulos. Sitten moninkertaistaa kukin punainen arvon 10,
karsimisen asti noin loppuarvostaan.
Mikä on tunnetuin kohde?
>> Joten te kaikki on tämän suorakulmion selaimessa juuri nyt.
Ja huomaa, että on olemassa joitakin käynnistin koodia, niin sanotusti.
Tämä on JavaScript-koodia, joka Nick on kirjoittanut sinulle.
Ja huomaa, että on olemassa rivi keskeltä
alkaa kauttaviivalla vinoviiva, joka on mitä kutsutaan yleisesti kommentti.
Se tarkoittaa että se lause ohjelmoija että ei ole toiminnallista merkitystä.
Se on vain visuaalisen ihmisen.
>> Joten voit mennä eteenpäin ja poistaa juuri tuon linja,
ja super varo poistaa tai muuttaa mitään muuta.
Ja haluan vain opastaa mitä tämä koodi tekee ja Jätän
voit selvittää salainen kuva.
Tämä ensimmäinen rivi tässä, että olen juuri korostettu antaa seuraavan.
Vasemmalla puolella, olet mitä kutsutaan
muuttuja, joka Nick on mielivaltaisesti, mutta kohtuullisen kutsutaan im kuvan.
Oikealla puolella Kyseisen yhtäläisyysmerkin,
hän sanoo antaa minulle uuden lainaus, lainaus "yksinkertainen kuva".
>> Yksinkertainen kuva, tässä yhteydessä on mitä kutsutaan luokan, hyvin,
se on eräänlainen class-- teknisesti prototype-- mutta todella,
tämä antaa minulle uusi kohde, jonka sisältö ovat tiedoston,
rauta-puzzle.png.
Toisin sanoen, Nick on luonut tämä käsite yksinkertainen kuvan
jotta voimme, opetuksellisia tarkoituksiin, leikkiä kuva
ja muuttaa sen punainen, vihreän ja sinisen arvot.
>> Miten teemme sen?
Tämä hieman arvoituksellinen syntaksin täällä on ikään kuin toista lohko
että jotkut näit Scratch aikaisemmin tänään, jossa voi toistaa 10 kertaa.
Tässä tapauksessa, Nick ei ole hardcoded useita kuin 10.
Sen sijaan hän sanoo, alustaa muuttuja nimeltä x 0,
tarkista jos x on pienempi kuin leveys kuvan.
>> Ja niin olla oikea, kuva on muuttuja, piste tarkoittaa mennä sen sisällä
ja saada sen leveys, ja avaa paren, suljettu
paren on vain ohjelmoijan tavalla sanoa tämä on tehtävä.
Tämä on menettely.
Tämä on toiminnallisuus joku muu kirjoitti.
Käytä sitä ja antaa minulle takaisin vastauksen.
Ja niin x ++ on hieno tapa sanomalla, kun olet tehnyt tämän kerran,
increment x 1.
Toisin sanoen, tämä on ohjelmoijan tavalla
indusoimaan silmukka, joka on menossa kerrata yli
kaikki sarakkeet kuvassa.
>> Kuva on vain verkkoon pisteitä, rivejä ja sarakkeita pisteitä.
Tämä on tapa iteroimalla Yli kaikki nämä sarakkeet.
Ja sisäpuolella, välin, olemme iteroimalla
yli korkeudet, tässä ja tästä ja tästä.
Joten tämä on vain tapa Traipsing, melkein kuin vanha koulu kirjoituskoneen,
vain mennä yli Koko kuva iteratiivisesti.
Vaikka se ei ole aivan kokonaan kirkas, ota uskoon nyt,
että nämä kolme riviä koodia ovat yhdessä
menossa voit iteratiivisesti etsiä jokaisen pikselin, joka piste kuvassa.
>> Mikä pikseli?
No, on selvä, jos katsomme alkuperäiseen ja zoomata,
jos todella laittaa silmät tietokoneen näytön, joka on
vain koko joukko pisteitä, useat tuhat pisteitä pakattu yhteen siellä.
Ja niin mitä olet aikeissa tehdä?
Jokainen näistä pisteistä, lopullinen määritelmä,
on seurausta mitä yleensä kutsutaan RGB, punainen, vihreä, sininen, joka
jälleen, voidaan yhdistää anna mitään värien määrä.
>> Itse asiassa, jos muistat alkaen monta, monta vuotta sitten,
heijastuskankaasta kuten nämä asiat oli aiemmin ole yksi linssi vaan kolme.
Yksi niistä sylkemään punainen valo, yksi ne sylkemään vihreää valoa, yksi heistä
sylkemään sinistä valoa.
Ja jos olit yläasteen kuten Olin missä he olivat koskaan
oikein kohdistettu, olit aina katsomassa historia elokuvien
jotka olivat hieman vääristynyt, koska kolme väriä eivät olleet
Yhdistämällä oikein.
>> Mutta on käynyt ilmi, että kukin Näiden arvojen punainen, vihreä ja sininen,
voi olla useita niihin liittyviä.
Esimerkiksi 0 punaisen tarkoittaa ei punainen, 0 vihreä tarkoittaa ei vihreä,
ja 0 sininen tarkoittaa ei sininen.
Joten jos sinulla ei ole punainen, ei vihreä, ja ei sinistä, mitä väriä sinulla on?
>> Yleisö: [tahtiimme]
DAVID MALAN: Olisitte toivon niin, se on valkoinen.
Valitettavasti tämä operates-- anteeksi?
>> Yleisö: [tahtiimme]
DAVID MALAN: Olet siis itse asiassa on musta, tässä tapauksessa.
Joten jos sinulla on mitään näistä värien päällä, olet musta.
Jos kuitenkin on, sanokaamme paljon niistä, kuten paljon punaista, 255 siitä,
paljon vihreää, ja paljon sininen, joka on valkoinen.
Nämä ovat siis kaksi ääripäätä.
Joten tämä logiikka, jos olen paljon punaista eikä vihreää eikä sinistä,
mikä väri on?
Yleisö: [tahtiimme]
DAVID MALAN: Oikea, ilmeisesti.
Ja sitten ei punaista, paljon vihreä, ei sinistä, ja sitten
jos have-- hyvin, me vain Maali se, vain koska, mutta tämä tietenkin
Nyt on sininen.
Nyt voit yhdistää nämä värit.
Nyt kun Sivuhuomautuksena, jos joku teistä koskaan tehnyt joitakin todellisia verkkosivujen suunnittelua,
saatat todella katso symbolien näin.
FFF-- ja itse, se on luultavasti ei edes sitä.
Se FFFFFF.
>> Kukaan koskaan nähnyt F: n ja E: n ja A through-- niin se kääntyy pois,
puhuimme eilen desimaalin, ja tänään, millaisia ​​noin desimaalin.
Tänään puhuimme binary.
Osoittautuu, heksadesimaalinen on hyvin yhteinen perusjärjestelmä käyttää computing.
Binary on kaksi, desimaalin on 10, hex on 16.
Ja on käynyt ilmi, miten laskit heksadesimaali-?
Nolla, yksi, kaksi, kolme, neljä, viisi, kuusi, seitsemän, kahdeksan,
yhdeksän, mitä käytätte jälkeen yhdeksän?
Mikä on seuraava numero?
Meillä on jo käytetty nolla.
Tarvitsen 16 näistä.
Nolla, yksi, kaksi, kolme, neljä, viisi, kuusi, seitsemän, kahdeksan, yhdeksän,
tarvitset mielivaltainen sopimusta.
>> Ja mitä ihmiskunta päätti vähän aikaa sitten, että yhdeksän tulee kirjain
A ja sitten B ja sitten C. Joten miten laskit heksadesimaaleina
on nolla, yksi, kaksi, kolme, neljä, viisi, kuusi, seitsemän, kahdeksan, yhdeksän,
A, B, C, D, E, F, ja ne lasketaan koko matkan, se kääntyy pois, 15.
Joten nollasta 15 on nolla kautta F. Nyt miksi se on merkittävä?
No, kun on kaksi F: n, se, miten ilmaista 255.
>> Niin pitkän tarinan lyhyesti, vuonna maailmaan Photoshop,
että graafinen suunnittelu ohjelmisto, maailmassa web-kehitys,
jossa on paljon värejä, tietenkin pelata,
Usein ohjelmoijat ilmaista niitä heksadesimaali,
vain koska se pyrkii olla hieman yksinkertaisempi.
Vaikka ensi silmäyksellä se on paljon monimutkaisempi.
>> Joten joka tapauksessa, tämä on tärkeä koska Nick Stanfordin
on antanut meille kuusi kappaletta toiminnallisuutta että te, orastava ohjelmoijat,
on nyt kyky käyttää.
Rakennettu tätä web sivu on kuusi toimintoja,
kuusi menettelyjä Nick kirjoitti.
Kolme niistä saavat sinulle useita, punainen, vihreä tai sininen arvo.
Kolme niistä asettaa tämän arvon.
Ja nämä alaviivojen ovat vain paikkamerkit,
joten sinun täytyy tietää, mitä ne ovat.
>> Niinpä nämä kolme tehtävää, Ensimmäinen näistä asioista
tulee olemaan x-koordinaatti, ja toinen näistä asioista
tulee olemaan y-koordinaatti.
Toisin sanoen, joka piste, joka pixel haluat saada vihreät,
saada sininen, saavat punaisen.
Ja sitten täällä, tämä tulee olemaan x tämä tulee olemaan y-arvo,
ja tämä tulee olemaan useita.
Joten tehdä ensimmäinen rivi veneessä
ja sitten Jätän sen sinulle yrittää päätellä loput.
Joten ohjeiden tällä sivulla, tarvitsemme
lisätä punaisen kertoimella 10, ja meidän täytyy poistaa vihreä
ja poista sininen.
Aloitetaan jälkimmäisen skenaarioita.
Joten jos haluan, ja aion sisentää käyttämällä joitakin tiloja,
jos haluan asettaa punainen, vihreä tai sininen arvo,
Aion tehdä seuraavaa.
>> Image, im.setBlue, ja sitten perustuu minun ohjeet täältä,
mitä kolme asiaa pitäisi I tyyppi sisällä suluissa nyt?
Tarvitsen x arvo, y-arvo, ja kuinka monta
pitäisi laittaa tähän, jos haluan päästä eroon sininen, joka perustuu tämän tarinan täällä?
Vain nolla.
Jos en halua mitään sininen, olen vain aio muuttaa sen nollaan.
>> Nyt vain kertaus, mitä tämä tekee.
Minulla on täällä seuraavilla alkuun Toinen ja kolmas linjat,
I väitti kaksi silmukkaa, sisäkkäistä silmukkaa, jos
tulee, että ovat menossa on vaikutusta edetä vasemmalta oikealle,
ylhäältä alas kaikkia x- arvot ja kaikki y: n arvojen.
Koska jälleen, kuva kertoo vain verkkoon rivejä ja sarakkeita.
Eli tämä on menossa eroon kaikki siniset.
Saanen jättää seuraavan rivin sinulle.
Miten päästä eroon kaikki vihreät?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Nice.
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Nice.
Ja aion loitontaa, ja ota huolta, että ette ole tehneet mitään kirjoitusvirheitä.
Ja jos olet mukava mitä olet tehnyt,
mennä eteenpäin ja painiketta Suorita / Tallenna ja katso, mitä saat.
Ja vielä, olemme tehneet vain kolme muutosta.
Poistimme että ensimmäinen kommentoida ja korvasi sen
nämä kaksi riviä koodia.
Ja se on OK, jos haluat lyödä Suorita / Tallenna-painiketta pari kertaa
korjata jotain.
>> Ja haluan myös zoomata minun koodi, jotta voit puhtaaksi.
Hyvä.
Joten en näe Andrew on mitä näyttää olevan virhe.
Hän sai juuri iso musta suorakulmio hänen näytöllä.
Onko kukaan muu ole iso musta suorakulmio?
>> Yleisö: Kyllä.
>> DAVID MALAN: Big musta suorakulmio?
OK, joten Ajatellaanpa mitä tämä tarkoittaa.
Totesimme, että nolla, nolla, nolla, joten ei vihreä, ei punaista, ei sinistä,
aikoo antaa sinulle mustaa.
Ja käy ilmi, että useimmat kannettavat tietokoneet
vain ei ole tarpeeksi uskollisuus.
Et voi aivan sanoa siellä on todella jotain siellä.
Ja jos sellainen ehkä laiha näytön eteen ja taakse,
Ehkä sinä näet vähän jotain siellä?
Ehkä, tavallaan, tavallaan?
Se ei ole täysin musta.
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Spoiler!
On joitakin punaisia ​​siellä, mutta muistaa spesifikaatioista
Ongelman, Nick heikentäneet ehdotusta.
Hän desaturated sitä jonkin verran, mutta ei aina nolla.
Joten jos haluamme suurentaa määrään punainen, haluan ehdottaa tätä temppua.
Saanen suurentaa tietokoneen näytöllä.
Ja anna minun mennä eteenpäin ja sanoa määrä vastaa im.getRed (x, y).
>> Koodirivin antaa minulle jotain kutsutaan muuttuja.
Minulla on mielivaltaisesti, mutta luultavasti, kohtuudella kutsuin muuttuja mitä,
ilmeisesti?
Määrä.
Vain määrä.
Olisin voinut kutsui sitä mitä haluan, mutta olen
tällä muu toiminto että olen kuvattu aiemmin
saada punaisen määrää x pilkku y.
Miksi tein sen?
Mitä haluat tehdä täällä?
Sinun täytyy add--
Yleisö: [tahtiimme]
DAVID MALAN: Kyllä, ehkä kertoa sen 10.
Ja jos et tiedä tätä, olen menossa mennä eteenpäin ja tehdä tätä.
Aion mennä eteenpäin ja vaikkapa Haluan punaisen määrää
Haluan olla mitä tahansa on punainen, ajat 10,
ja tähti, tähti oman Näppäimistö on tyylillisesti älä käytä x.
Käytä tähti.
Niin kerrot asiat Useimmissa ohjelmointikieliä.
>> Joten mukaan Kareem intuitioon, tallennetaan tähän muuttujaan nimeltä määrä,
on, kuinka paljon punaista Haluan paikassa xy.
Miten nyt, voin tehdä, että pikselivertailukäskyjä saanut numeron?
Olet jo tehnyt tämän ennenkin.
Käyttäjä asettaa vihreät ja sinisestä mitään arvoa, nollaan.
Yleisö: [tahtiimme]
DAVID MALAN: Kyllä, hyvin et halua sitä 10.
Sinä jo tehnyt matematiikka täällä.
Joten saamme arvon punainen, joka on pieni määrä, oletettavasti.
Olemme kertomalla kasvoi 10.
Mitä haluat tehdä muuttuva osuus nyt?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: Nice.
Joten im.set-- mitä?
>> Yleisö: setRed.
>> DAVID MALAN: setRed, paikassa xy.
Joo.
Ja vain määrää.
Toisin sanoen, muuttuja on väliaikainen paikkamerkki
että voit laittaa mitä haluat.
Meidän sattuvat olemaan laskemisesta numero se, tällä hetkellä.
Olemme kerrottuna sen 10 tehdä isompi.
Ja nyt olen korvata että muuttuja kuin kolmas väite, tai tulo
asettaa punainen.
Ja niin, että kun lopuksi, että sekä ottamaan huomioon
n puolipisteet ja sulkuja.
>> Siirry eteenpäin ja valitse run / tallenna uudelleen, ja te
pitäisi nähdä, maagisesti, mitä todella siellä. [? Arwa,?] Mitä siellä?
Eiffelin torni täysimittaiseen punainen, ei aivan pimeä.
sen pitäisi olla selvempi nyt, kyllä?
OK.
Ja Andrew, enää musta laatikko?
Yleisö: [tahtiimme]
DAVID MALAN: Selvä.
Joten aion pitää tätä ruudulla.
Jos haluat leikkiä myöhemmin, minä uudelleen tämän sinulle.
Mutta tämä koodi tähän teki juuri niin.
Miksi emme tee yksi muu.
Saanen selaa alaspäin hieman.
>> Joten tässä tapauksessa, projektori ei todellakaan tee sille oikeutta.
Mutta näytöt, luultavasti on hyvin punainen ja hyvin musta laatikko.
Tämäkin on palapeli, joka osoittaa jotain kuuluisa.
Kuitenkin kuva on vääristynyt.
Todellinen kuva, tällä kertaa, on sininen ja vihreät arvot.
Kuitenkin he ovat kaikki jaettu 20, joten arvot ovat hyvin pieniä.
Punainen arvot ovat vain satunnaisia ​​numeroita, melua.
Kumoa nämä vääristymät paljastaa todellisen kuvan.
>> Joten Nick sitten kertoo, mitä tehdä.
Aseta punainen arvot nolla, ja niin älä pilaa mitä se on.
Sitten moninkertaistaa sininen ja vihreät arvot 20.
Joten se melkein Sama ohjelma kuin ennen,
mutta olet kääntää prosessi.
Ja minä panen koodin ennen ruudulle tapauksessa
haluat palata se tai pelata pidemmälle, että yksi.
Saanen zoomata että.
Mutta ratkaista kupari kuva palapeli, numero kaksi.
>> Yleisö: [tahtiimme]
>> DAVID MALAN: OK, joten tämä olen aio antaa niin monta vihjeitä.
Olen siis would-- OH, katsotaanpa katso, sinun on kirjoitusvirhe täällä.
Muista siis, tämä tässä todella tarvitsee mennä sinne.
Joten mitä Ehdottaisin, jos haluat keskittyä tähän yhteen, on olemassa vastaus.
Jos haluat puhtaaksi, että se pitäisi saada ensimmäinen työ.
Ja sitten voit käyttää sitä inspiraation toinen.
Kiva.
Hyvä.
>> Ja utelias, Tämä on yksinkertainen esimerkki
science tai taidetta nimeltään steganography,
taidetta piilossa tiedon kuvia.
Tyypillisesti kuvat saattavat olla vesileimalla hyvin räikeän
logo pohjassa kulma, mutta selvästi, te
voi olla paljon kehittyneempiä siitä ja todellakin
piilota muut kuvat Kuvat jotenkin tällä tekniikalla.
>> Ota toinen 30 sekuntia, ja sitten me ainakin ilmoittaa mitä sinun pitäisi nähdä.
Ja Jätän kolmatta yksi kuin kotona liikunta,
Jos haluat enemmän haastaa tänä viikonloppuna.
Ja luulen Andrew ehkä ovat saaneet sitä ensin.
Mikä on toinen kuva, Andrew?
>> Yleisö: Vapaudenpatsas.
>> DAVID MALAN: Vapaudenpatsas on vastaus tällä kertaa.
Joten jälleen, vain muutamia yksinkertaisia esimerkkejä, jonka tavoitteena
on antaa sinulle käsityksen siitä, miten Olemme käännetty kuvallinen Scratch
lohkojen ärsyttävää ja enemmän monimutkaista koodia, mutta kaikki ideat
ovat edelleen aivan sama, vaikkakin käyttöönoton
Nyt käsitteen muuttujan, joka pystyä tallentamaan jotain tilapäisesti.
>> Tehdään yksi käytännön, juuri nyt yhdistää pisteitä
jotain hieman reaalimaailman.
Kun olet valmis, jos voisit siirry osoitteeseen ruudulla.
Se on myös oman kopion dioja, developers.google.com/maps~~V.
Tehdään itse tehdä jotain real, niin sanotusti, Webissä
Google Maps API, tai ohjelmointirajapinta,
seuraavasti.
>> Google, kuten monet yritykset, tarjoaa paljon vapaata toiminnallisuutta
että voit rakentaa oma mielenkiintoisia sovelluksia.
Itse asiassa, jos olet koskaan käytetty Uber saada ohjaamon tai auton,
luultavasti tietää, että Uber on kartta ja se osoittaa autoja sitä.
Eli niin hyvin kuin pystyn kertoa, Google Maps API.
Ne ovat todella käyttävät Googlen karttoja, mutta Uber ei ole kartoitus yritys,
eikä olisi, että on Erityisen mielenkiintoinen ongelma
ratkaisemaan päälle niiden autohuolto ongelma.
Ja niin he seisovat, jälleen, lapoihin
toisten Google tässä tapauksessa.
Niinpä he käyttävät Googlen karttoja vaan omaa auton palvelut ja muut tällaiset ominaisuudet.
>> Joten aiomme hyödyntää Tämän tehdä seuraavaa.
Ja jos olen mennyt liian nopeasti, vain soittaa minulle yli hetkessä.
Hyvää kertaus joitakin kuvan tavaraa.
Sinun pitäisi nähdä itse klo sivulla näin.
Joten Googlen mukavaa, ja he parhaita
tarjota paitsi API, mutta vapaa API, että olet
voi pelata tai käyttää kaupallisesti.
Ne eivät aloita latausta, jos käyttötiedot on korkea, mutta menin eteenpäin etukäteen
ja allekirjoitettu meidät ilmaisen tilin että toivottavasti 10 tietokonetta
ei hylätä meitä yhtäkkiä.
Toivottavasti tämä esittely toimii.
>> Ja huomaa, että heillä on API for Android, iOS, web, ja verkkopalvelut,
mitä se on.
Keskitytään www.
Joten klikkaa vaaleanpunainen laatikko, web, ja että johtaa teitä, toivottavasti, sivulle
tässä.
Ja heillä on koko joukko API.
Ja se voi olla hieman ylivoimainen aluksi,
mutta minä ohjata meitä, mitä me haluamme.
>> Ylimpänä vasemmalla on Google Maps JavaScript API, JavaScript API.
Joten mene eteenpäin ja valitse että yksi.
Ja joka johtaa nyt, että Seuraavalla sivulla, demoja ja näyte koodin.
Saanen loitontaa tänne.
Ja haluaisin saada meidät to-- selaa jossa lukee pikaopas vaiheita.
Näytön tulisi näyttää minun.
>> Ja siellä on kaksi vaihetta, saat avaimen ja alkaa kehittää.
Olen jo tehnyt askel yksi Meille saada ns avain.
Ja tämä on yleinen ajatus.
API-avain on yleensä vain iso satunnaisluku tai merkkijono
että sinun pitäisi liittää osaksi koodia,
niin että Google tietää kuka olet, kun käytät palvelunsa, heidän API.
Ei tarkoita, että olemme latautuu mitään.
Ja nyt, valitse sen sijaan, yksi, valitse alkaa kehittää.
Jos voisit vain aalto minua Yli jos ei ole varma, missä olemme.
>> Joten me vain naarmuttaa pinta, täällä, mutta mitä
Ajattelin olisi pakottavia on oikeastaan ​​meille kaikille,
käyttäen Cloud9 yhdessä ikkunassa ja tämä opetusohjelma toiseen ikkunaan,
lets itse saada oman sovellus vauhtiin
joka upottaa muokatun Google kartta omassa verkkosivun,
ja lisää sitten yksi tai kaksi piirrettä.
Mutta me vain naarmuttaa pintaa mitä voimme tehdä.
>> Joten vain nopeasti järki tarkistaa.
Ovatko kaikki tällä sivulla, Google Maps JavaScript API?
Pitäisi sanoa aloittanut.
Emme aio käydä läpi koko asia millään tavalla.
OK, toisen välilehden, jos et on se auki, älä mene Cloud9
ja saada itse vain uuden välilehden, lopulta.
Joten jälleen, c9.io eilen, c9.io, ja vain luo uuden tiedoston.
Ja mennä eteenpäin ja puhelun se mitä haluat.
Soitin minun map.html.
Soita se jotain päättyy .html.
Ja sinun tulisi olla suunnilleen missä olen tässä prosessissa
vain vilkkuva nopea tyhjässä välilehti nimeltä jotain map.html.
Tai tiedosto, uuden tiedoston tällä kertaa.
>> Ja nyt, päälleni Google Maps JavaScript API
me ohittaa lukeminen tämän kaiken tekstin.
Mutta huomaa, että Hello World on todellakin kaikkialla, näet sen nyt.
Hello world on tämä iso värikäs Esimerkkinä koko joukko HTML.
Menkää ja kopioida ja liittää vain sitä HTML, joten siitä doc tyyppiä yläosassa
aina läheinen HTML-tunnisteen, siirry eteenpäin ja kopioida kaikki that-- uudelleen,
se alla Hello World example-- ja liittää sen osaksi Cloud9 välilehden,
niin että nyt näytön pitäisi näyttää suunnilleen kuin minun.
>> Ja voit tallentaa sen, mutta älä lataa sitä vielä.
Katsotaanpa ensin katsoa koodi ja katso jos me
voi päätellä tai oppia siitä, mitä se on Google
on ollut meille sokeasti kopioida ja liittää.
He haluavat vain auttaa, kirjaimellisesti, päästä meitä alkoi,
mutta siellä ei ole niin paljon monimutkaisuus todella olemassa.
Kaikki kysymykset aivan vielä?
Olemme turvassa eteenpäin?
OK.
>> Niin nopeasti, haluan vain tehdä nopeita järki tarkastuksia.
Line yksi mitä katso, ja toivottavasti te
katso, mitä se tarkoittaa, DOCTYPE HTML?
Kareem, muistaa?
Yleisö: [tahtiimme]
DAVID MALAN: Kyllä.
Täältä tulee HTML 5.
Samalla linjalla kaksi on screen tarkoittaa tässä hei selain,
tässä tulee varsinainen HTML.
Line kolme on hei selain, tässä tulee päähän.
Linja neljä on tietenkin, hei selain, tässä tulee otsikko.
Mitä line viisi tehdä?
Itse asiassa tämä ei ole oikeastaan ​​tehdä mitään meille.
Tässä tapauksessa, se vain muuttaa kokoaan sivun oletuksena. Linja kuusi,
emme ole puhuneet, mutta se määrittää merkkikoodauksen.
On erilaisia ​​tapoja koodata tiedostoja, varsinkin vieraita kieliä.
UTF-8 vain taipumus olla oletuksena.
>> Nyt näemme linjassa seitsemän kautta 16, jotkut CSS.
Ja vaikka emme ole nähnyt kaikki nämä asiat ennen,
Voimme eräänlainen päätellä.
Joten linja kahdeksan keinoin, hei selain, sovelletaan kaikki seuraavat johon kaksi tunnisteita,
ilmeisesti?
HTML ja leipäteksti.
Eli pilkku on uusi asia siellä.
Ja se on vain tapa määrittelemällä useita tunnisteita kerralla.
>> Sitten olemme saaneet aaltosulkeiden.
Ilmeisesti, tämä kertoo selaimelle, tehdä korkeus sivun 100%.
Joten vaikka on hyvin vähän sisältöä, tehdä koko sivun,
tehdä asia täyttäisi sivun.
Tee karttaa lopulta täyttäisi sivun.
Marginaali, mitä se tarkoittaa?
Se on yleensä kuten mielivaltainen valkoinen reunoihin
että jotkut selain suunnittelija vain päätti pitäisi olla siellä, koska se
Tällainen tekee asiat näyttävät puhtaampia.
Mutta me emme halua.
Haluamme karttaa menossa aina reunat.
Täyte, hengeltään samanlaisia ​​marginaaleja.
Reunukset tarkoita ulkopuolella, täyte välineet sisällä, mutta se on samanlaista käsitellä.
Se on hieman puskurin sinun ja reunat.
>> Ja sitten linja 13 on hyvä mahdollisuus lyhyt arvostelu.
Mitä terävä merkki kartalla tarkoittaa, tai hashtag kartta tarkoittaa?
Mitä jotka viittaavat periaatteessa?
>> Yleisö: [tahtiimme]
DAVID MALAN: Aivan.
Tämä ominaisuus, CSS omaisuus koskee vain yksi asia, HTML tag
että käyttäjätunnus on lainaus, lainaus "kartta".
Nyt Katsotaanpa eteenpäin, selaa pohjaan tiedoston, joka
ei ole liian kaukana, ja tiedonanto line 19, jos liität sen ihan tein,
linja 19 on vain div, joka on jako sivun, joka eilen
kutsutaan suorakulmainen alue.
Se ei ole mitään sitä.
Se on avoin tag, lähellä tag.
Mutta se ei ole yksilöllinen tunnus.
>> Joten mitä näyttää olevan tapahtuu tässä Google
on readying meidän verkkosivustoa on täydellinen 100% korkeus,
eikä täyte, ei marginaaleja, koska mitä aiomme laittaa sisälle
Tämän div, jonka yksilöllinen tunnus on kartta, on todellinen sisällytettyä karttaa.
Ja me haluamme sitä täyttämään sivua eikä vain
olla pieniä suorakulmio keskellä.
Joten rivi 14 samoin korostanut, map itse korkeuden tulisi olla 100%.
>> Joten nyt huomaa linjojen 20 ja 28, tämä on JavaScript-koodin.
Ja tämä on, vaikka se on syntaktisesti hieman oudolta,
siellä ei ole kovin paljon tekeillä.
Linjassa 21, tämä on julistaa jotain kutsutaan muuttuja.
Sen sijaan, kutsuen sitä määrät, kuten aikaisemminkin,
olemme tarkemmin sanoen var, mikä tarkoittaa vain muuttuja.
Olisimme voineet käyttää, että Nick koodia, mutta hän ei, niin minä
ei viitsinyt tee sitä.
Se on muuttuja nimeltään kartta, ja sitten on
funktio, joka on ilmeisesti nimeltään initMap.
>> Joten tämä on kuin meidän omia palapelin pala Scratch.
Olemme luoneet palan toiminnallisuus nimeltään initMap,
ja voit sellaista päätellä mitä täällä tapahtuu.
Vasemmalla puolella, meillä on muuttuja,
joten emme aio panna seuraava asia sisällä että muuttuja,
oikealta vasemmalle.
Oikeanpuoleinen sanoo, hei selain, anna minulle uusi Google kartan.
Ja google.maps.map on vain hieno tapa täsmentää, että tämä toiminto
kuuluu Google Maps.
>> Jälkeen suluissa, olemme nähneet tätä ennen, hei selain, saat
minulle elementtejä sivulle, tag sivun jonka yksilöllinen tunnus is--
>> Yleisö: [tahtiimme]
>> DAVID MALAN: --map.
Ja mitä tapahtuu, hyvin, Tämän linjan yhdessä, linja 23,
oleellisesti sanomalla, hei selain, mene saada minut
että tyhjät div sivulla joiden yksilöllinen tunnus on kartta,
koska haluan lisätä osaksi it-- pistä sitä,
Jos will-- koko joukko sisältöä joka sattuu olemaan peräisin web,
myöhemmin.
Ja Googlen toteuttaa kaikki tämä meille.
>> Joten jälleen, aivan lopussa päivä, meillä on tämä esimerkki abstraktio.
Minulla ei ole aavistustakaan, mitä kartta on tai miten toteuttaa kartan API.
Meidän ei tarvitse.
Meidän tarvitsee vain kertoa kartan mihin itse ja jättää
ne taustalla täytäntöönpano tiedot Googlelle.
Nyt on ilmeisesti kaksi kappaletta tietojen
että tämä esimerkki on tarjoamalla Googlen API.
Ilmeisesti kartan keskellä, ja zoom taso, niin sanotusti.
>> Ja kukaan tunnistaa nämä koordinaatit, leveys ja pituus?
Todennäköisesti ei, mutta voimme mennä takaisin opetusohjelman, kirjaimellisesti nähdä.
Mutta näemme se vain hetken.
Zoomaustaso on arvo välillä, en tietävät, yksi 13 tai jotain.
Se vain on tekemistä sen kanssa, kuinka pitkälle olet zoomattu sisään tai ulos, ja se on siinä.
Ja nyt aivan lopussa sivun ilmoitus rivi 29--
se on hieman ruma, koska se wraps-- koodirivin
on mitä lataa sen selaimen Googlen todellinen API.
Kaikki koodi, että Googlen insinöörit ovat kirjoittaneet, jotka toteuttavat
koko tämä ominaisuus upotettavia karttoja.
>> Nyt ei muuta mitään.
Jos seuraava pitkin, mennä eteenpäin ja vain tallentaa tiedoston, jos todellakin
mitä minulla on.
Mene sen URL.
Voit valita Suorita ylös ja joka kertoo
te URL Web-palvelimen uudelleen.
Ja se johtaa sinut uuden välilehden.
Jos osoitat avoinna map.html, ja kertoimet ovat olet
menossa ilmoituksen, virheilmoitus, kyllä?
Virheilmoitus, virheilmoitus?
>> Joten valitettavasti virhe viesti ei ole, että valaiseva
ellet todella avata konsoli, että erityistä välilehti me
piti avaaminen eilen ja hieman aiemmin tänään.
Mutta törmäsi Tämän aiemmin, joten olen jo
tajunnut, mitä ratkaisu on.
Nykypäivän dioja tai pikemminkin, vuonna Cloud9, ilmoituksessa
että emme tee jotain tarkoituksella.
Huomaa, että tämä kirjoitus tunniste linja 29, jos luet sen,
se on kuin maps.googleapis.com/ jotain, jotain, jotain,
Sitten huomaa joku, yksi kehittäjistä,
kirjoitti isoilla kirjaimia, API-avain.
>> Meidän täytyy liittää jotain siellä.
Ja tämä oli askel Tein meille ennen,
ja jälleen ne saattavat mustalle listalle meille jos yhtäkkiä, 12 tai useampi meistä
alkaa käyttää samaa avainta, mutta katsotaan, mitä tapahtuu.
Joten jos menet tänään dioja, yksi levy myöhemmin, siellä
Tämä erittäin funky näköinen merkkijono.
Menkää ja kopioi se ja liitä se missä lukee API avaimen.
Se on yksi Kirjauduin.
>> Ja varmasti ei yritä kirjoittamalla sen manuaalisesti,
koska se tuntuu täynnä kanssa kirjoitusvirheitä, mahdollisesti.
Joten vain kopioida ja liittää se.
Ja se tulee tehdä linja pidempään, mutta nyt vain olla selvä,
se näyttää hieman enemmän näin, jos avain on yhtä kuin ei
Aktivoitujen huutaa sinulle.
Tallenna sivun, mene takaisin Muihin välilehden, ladata,
ja toivomme kartan, jossa?
>> Yleisö: Australia.
>> DAVID MALAN: Australia.
Ilmeisesti ne ovat GPS-koordinaatit Australian.
Ja anna minun kävellä vain hetken ja auttaa ketään, joka ei ole aivan siellä,
mutta haluaisin ehdottaa, Googlen kautta, löytää GPS-koordinaatit oman kotikaupungissaan
tai oman kodin maassa.
Ja luultavasti Google voi tehdä tästä ylös, tai Wikipedia voi kertoa.
Mutta valita kaksi eri arvoa pituus- ja pituutta,
palata ja liittää ne, ja sitten lataa sivu tallentamisen jälkeen
ja katso jos voit olla map oman kotikaupungissaan.
>> Ja kun olet tehnyt että seurannan challenge--
ja minä annan hieman vähemmän suuntaan, tarkoituksella, jotta voit tietoisesti
on kamppailtava pari minuuttia asiakirjat,
muuttaa kartan olla ei tähän cartoonish oletus, mutta satelliitti kartta.
Joten te itse nähdä satelliitin kuvakieli sijaan kauniita värejä.
>> Ja vihje Annan on muuttaa kartan tyyppiä.
Palata tuohon saaminen aloitti sivu inspiraatiota.
Kuten ehkä asianmukaisine, jos etsit,
on niin paljon enemmän mitä voi tehdä.
Jotkut teistä ovat jo muuttanut karttaa tyyppiä.
Mutta voit do-- esimerkiksi haluan siirry jotain teimme kurssin
Olen teach-- maps.cs50.net.
Yksi undergrads teki tämän.
Me keskittää meidän kartalla yli Harvard Yard ja overlay kaikki nämä rakennuksen nimiä,
ja meillä oli hänet lisätä tämän.
Joten jos haluan hakea, Esimerkiksi Matthews Hall,
meillä on pieni pudotusvalikosta.
Ja mielestäni hän käyttää Bootstrap, The kirjasto Aiemmin käsitellyt tätä.
Ja jos klikkaat Matthews Hall, heti
hyppää karttaa tietyn sijainti, ja se näyttää
sinulle kuvan tässä vähän pop-up.
>> Mutta vaikka tämä pieni pop-up, emme toteuttaa.
Jos minä selaa meidän saamaan alkoi sivulla ja etsimään tietoa ikkunoiden,
näet, että jotkut toiminnallisuutta itse
voi lisätä, vaikkakin hieman enemmän monimutkaisuutta,
on niin sanotun info ikkuna.
Ja jos minä klikkaa esimerkki täällä, ja tämä on mitä hauskaa,
voit tehdä asioita, kuten tämä, klikkaamalla merkki ja sitten voila,
tiedot ponnahtaa.
>> Joten emme ole aivan otettu käyttöön tarpeeksi ominaisuuksia JavaScript
maalata kuvan siitä miten te voisi lanka kaikki tätä kamaa yhdessä,
mutta olemme tavallaan pintaraapaisu.
Itse asiassa, mitä tein, kun Napsautin että merkki,
oli käynnistää tapahtuman, joka on niin sanottu on klikkaustapahtumaan.
Ja me todellakin näkivät tapahtuma aiemmin tänään,
ns esittää tapahtuman kun olimme ehkäisemiseksi
käyttäjää etsivät kissojen.
Siksi olemme eräänlainen poimittuja ja valitsi alkaen kaikkien näiden eri ominaisuuksia,
antaa sinulle tunteen, toivottavasti, mitä voit itse
tehdä hieman enemmän mukavuutta ohjelmointi,
ja täysin vapaita resursseja.
>> Kysymyksiä?
Ei?
Tämä on viimeinen mahdollisuus, ainakin tänään, perjantaina,
saada mitään irti rinnasta jotta voit kävellä ulos täältä
tunne luottavainen ja mukava.
Kyllä.
>> Yleisö: Miksi ei lisäät yksi asia?
>> DAVID MALAN: Hyvänen.
Minun täytyy levätä viikonlopun, luulen.
Muita kysymyksiä?
>> Yleisö: [tahtiimme]
>> DAVID MALAN: You can-- in Internet Explorer, levätä rauhassa,
käytit pystyä laittaa VB käsikirjoitus, virtuaalinen perus käsikirjoitus,
mutta se oikeastaan ​​koskaan kiinni.
Joten lyhyt vastaus on juuri JavaScript.
Muita kysymyksiä?
Selvä, no, anna minun tehdä tätä.
Saanen napata kollegojen ulkopuolella.
Heillä on jonkin verran arviointi muotoja, jotka he haluavat kaikkien
viettää muutaman minuutin täyttämällä.
He haluavat kerätä kyseisessä muodossa ja mitä tahansa poikkeusluvat, että saatat olla ulkona.
He myös todistuksia.
Olen arvaamaan siellä vielä joitakin välipaloja ulkopuolella.
Salli minun kulkea nämä pois, ja jos on kysymyksiä tällä välin,
Kävelen ympäri enemmän yksilöllisesti ja voimme pääset alkuun.
Tottakai.
Yleisö: [tahtiimme]
DAVID MALAN: Se yleensä totta näinä päivinä.
Varmasti web ohjelmisto, olet kallistumassa
muille olet joko esteettisesti käyttäen asiat
kuten Bootstrap, niin et on pantava alhaiselle tasolle
yksityiskohdat valikot ja painikkeet ja kaikki.
Olet nojaten joku kuten Google niin että te
ei tarvitse rakentaa Uber liiketoiminta ja kartoitus liike,
ja rajoittamattoman määrän vastaavia sovelluksissa.
>> Itse asiassa, käyttäjätunnukset ovat suosittuja myös.
Jos olet käyttänyt Spotify tai mikä tahansa useita sivustoja,
sinun kirjautua joihinkin sivustot käyttämällä Facebook.
Joten mitä on mukava, siellä ovat API-käyttäjätunnukset
nykyään, joten sinun ei tarvitse saada oma käyttäjää taulukko
ja kaikki oman tietokannan välttämättä samassa määrin.
Voit antaa Facebook tehdä kaikki Kyseisen monimutkaisuuden sinulle.
Joten on jännittävää aikaa, rehellisesti, ohjelmoinnissa,
koska on niin paljon kolmannen osapuolen palveluja, joita voit rakentaa päälle.
>> Ja vielä, hinta maksat on taloudellisia tai seisokkeja.
Jos Google menee alas, niin ei Uber, luultavasti,
mutta ehkä se on kohtuullinen kompromissi.
Ja vielä, että oli yksi aiheista, toivottavasti, viimeiset pari päivää,
nämä kompromissit.
Ja harvoin on siellä menossa olla oikea vastaus.
Se todellakin on parempi kahden tai useamman vastauksia.
>> Siirtää nämä ympäri.
>> Ja nämä Cloud9 tilien jatkuu töihin, teoriassa, ikuisesti.
Saatat löytää, jos odottaa muutaman päivän tai viikon tai enemmän kirjautua takaisin niihin,
se saattaa kestää kuin yksi tai viisi minuuttia avata takaisin ylös,
mutta se on vain koska he laittaa se nukkua säästää resursseja.