1 00:00:00,000 --> 00:00:01,940 >> [Musiikki soi] 2 00:00:01,940 --> 00:00:11,130 3 00:00:11,130 --> 00:00:14,620 >> DAVID MALAN: Tämä on CS 50, ja tämä on alku viikolla yhdeksän. 4 00:00:14,620 --> 00:00:18,240 Ja mitä ajattelimme tehdä tänään ei ole sulkea vain luku viime viikon 5 00:00:18,240 --> 00:00:22,670 materiaali, jossa keskityimme palvelimella puoli Web-ohjelmointi PHP ja SQL, 6 00:00:22,670 --> 00:00:23,549 Joissakin tietokanta kamaa. 7 00:00:23,549 --> 00:00:25,590 Me puhumme hieman turvallisuus tänään ja sitten 8 00:00:25,590 --> 00:00:29,590 siirtyminen asiakkaan puolella ohjelma kieli tunnetaan JavaScript. 9 00:00:29,590 --> 00:00:31,330 Mutta ensin, jotkut lunastus. 10 00:00:31,330 --> 00:00:35,030 >> Muistatte ehkä, että Keskiviikkona otan pois 11 00:00:35,030 --> 00:00:37,550 kirjoittaa verkkosivuillaan, että otti käyttäjän syöttää 12 00:00:37,550 --> 00:00:41,120 by HTML-lomakkeen, joka sitten tallennetaan että käyttäjä syöttää nimiä, puhelin 13 00:00:41,120 --> 00:00:43,124 numeroita, ja kännykkä harjoittajien tietokantaan. 14 00:00:43,124 --> 00:00:45,540 Ja sitten minulla oli hieman komento komentojonoa kirjoitettu PHP 15 00:00:45,540 --> 00:00:47,956 joka oli tarkoitus kerrata yli rivit tietokannassa 16 00:00:47,956 --> 00:00:49,400 ja lähettää tekstiviestejä. 17 00:00:49,400 --> 00:00:53,870 Huolimatta useista, useista yrityksistä, me ei saada, että työn loppuun mennessä. 18 00:00:53,870 --> 00:00:57,820 >> Joten olen viettänyt koko tämän viikon työskentely siitä, että koodi saada meidät ohi pisteen 19 00:00:57,820 --> 00:01:01,220 mihin jäimme, jolloin kaikki Sain loppuun keskiviikkona 20 00:01:01,220 --> 00:01:05,500 oli tämä tekstiviestin alkaen Margo kuten olen kamppaillut, 21 00:01:05,500 --> 00:01:09,940 jonka jälkeen tekstiviestin toisesta luokkatoveri, Sinulla tämä David. 22 00:01:09,940 --> 00:01:14,030 Seuraaja tämä yksi, ihanan rohkaiseva. 23 00:01:14,030 --> 00:01:15,840 Huusi menossa, hyvin rohkaisevaa. 24 00:01:15,840 --> 00:01:20,960 Minä melkein sain sen vasta then-- ja se muistio päädyimme keskiviikkona. 25 00:01:20,960 --> 00:01:25,850 Ja sitten itse ehkä suosikkini, Hetken kuluttua tämä tuli. 26 00:01:25,850 --> 00:01:27,000 Hitto live stream. 27 00:01:27,000 --> 00:01:31,080 >> Joten tänään, me korjata nopealla katsokaa mitä olen tehnyt vuodesta. 28 00:01:31,080 --> 00:01:35,440 Joten kaikki tämä koodi on käytettävissä verkossa viime viikolla, viikolla kahdeksan, 29 00:01:35,440 --> 00:01:36,300 lähdekoodia. 30 00:01:36,300 --> 00:01:39,425 Ja näet, että kävin läpi, ja olen itse siivonnut asioita hieman. 31 00:01:39,425 --> 00:01:42,080 Esittelin pari muuta ominaisuuksia SQL-tietokannan. 32 00:01:42,080 --> 00:01:45,300 Esimerkiksi, sen sijaan, vain tehdä kantavan var nieriää 33 00:01:45,300 --> 00:01:47,310 koska mielestäni tein lennossa viime viikolla. 34 00:01:47,310 --> 00:01:49,820 Minä sen sijaan määritteli sen mitä kutsutaan ENUM. 35 00:01:49,820 --> 00:01:53,310 >> Ja jotkut teistä ehkä nähnyt tämän koska tutkimme C. Enum on todella 36 00:01:53,310 --> 00:01:56,820 ominaisuus C, jossa voit luetella koko joukko vakioita 37 00:01:56,820 --> 00:01:59,640 ja liittää ne automaattiset arvot, kuten yksi, kaksi, kolme, neljä 38 00:01:59,640 --> 00:02:01,330 ilman kovaa koodinumerot. 39 00:02:01,330 --> 00:02:04,780 Joten SQL tukee samaa, jolloin jos sinulla on tietokanta kenttä, jota vain 40 00:02:04,780 --> 00:02:09,389 halua ottaa yksi rajallinen arvot, voit kirjaimellisesti määrittää sen 41 00:02:09,389 --> 00:02:13,120 kuten olen tehnyt siellä neljä Yhdysvaltojen suosituimpia matkapuhelin harjoittajat. 42 00:02:13,120 --> 00:02:13,819 >> Joten tein sen. 43 00:02:13,819 --> 00:02:16,610 Ja tein määrä muutoksia hyvin, joista tärkeimmät 44 00:02:16,610 --> 00:02:20,090 oli saada sähköpostia toimi, koska muistaa, että tämä ohjelma vedonnut ja jotka 45 00:02:20,090 --> 00:02:23,470 yleensä kutsutaan sähköpostitse SMS-yhdyskäytävä, joka on vain 46 00:02:23,470 --> 00:02:27,670 hieno tapa sanoa, että Verizon, ja AT & T, ja muut ihmiset tukevat palvelin, 47 00:02:27,670 --> 00:02:30,740 jolloin jos se saa sähköposti, se muuntaa sen SMS 48 00:02:30,740 --> 00:02:33,290 ja lähettää tekstiviestin Viestin jonkun puhelimeen. 49 00:02:33,290 --> 00:02:37,010 Joten jos tein tämän oikein, tässä on uusi ja parannettu muoto 50 00:02:37,010 --> 00:02:39,259 joka on menossa puhua uusia ja parannettuja koodi, joka 51 00:02:39,259 --> 00:02:40,300 voit pelata verkossa. 52 00:02:40,300 --> 00:02:44,140 Ja toivottavasti se tekee minun puhelin äänimerkin vain hetken. 53 00:02:44,140 --> 00:02:47,240 >> Joten ensimmäinen, aion kirjoittaa nimeni. 54 00:02:47,240 --> 00:02:51,400 Toiseksi, en ole menossa tehdä tämä tällä kertaa. 55 00:02:51,400 --> 00:02:53,920 Aion tehdä Tarkasta Element. 56 00:02:53,920 --> 00:02:56,710 Ja tämä on vain pikku juttu joten en 57 00:02:56,710 --> 00:02:59,250 luoda tuntia jälkituotanto toimi kuten tein viime kerralla. 58 00:02:59,250 --> 00:03:02,300 Siellä nyt on minun puhelinnumero. 59 00:03:02,300 --> 00:03:03,560 >> Minä valitse Verizon. 60 00:03:03,560 --> 00:03:10,260 Ja tässä, nyt otat tämän mikrofonin täällä, ja pyrkiä tämän minun puhelin täällä. 61 00:03:10,260 --> 00:03:13,130 Aion klikkaa Register, joka toivottavasti 62 00:03:13,130 --> 00:03:14,530 laita ne tietokantaan. 63 00:03:14,530 --> 00:03:16,780 Nyt aion mennä komentorivi ohjelma, joka 64 00:03:16,780 --> 00:03:20,825 Recall oli nimeltään piste slash tekstiä, ja toivoa parasta. 65 00:03:20,825 --> 00:03:24,092 66 00:03:24,092 --> 00:03:26,527 Nyt mennään. 67 00:03:26,527 --> 00:03:27,501 >> [PUHELIN nuksissa] 68 00:03:27,501 --> 00:03:28,962 >> [APPLAUSE] 69 00:03:28,962 --> 00:03:31,815 70 00:03:31,815 --> 00:03:34,940 DAVID MALAN: Niin hauskempaa kuin this-- se on hauskaa, tietenkin, jos saan sen. 71 00:03:34,940 --> 00:03:38,004 Mutta se on enemmän hauskaa, ajattelin, jos me luotu yksi niistä elokuvan hetkiä 72 00:03:38,004 --> 00:03:40,420 jos jotain todella pahaa on tapahtunut maailmassa, 73 00:03:40,420 --> 00:03:42,860 ja kuten kaikki NSA ihmisten kännyköiden piippaa 74 00:03:42,860 --> 00:03:44,860 tekstiviestien ilmoitat heille tämän tosiasian. 75 00:03:44,860 --> 00:03:47,026 Joten ajattelin, että olisi kokeilla luoda sama täällä, 76 00:03:47,026 --> 00:03:49,610 jolloin ei käytä tietokantaa, Minä sen sijaan etukäteen 77 00:03:49,610 --> 00:03:51,490 kirjoitti ohjelma, joka näyttää tältä. 78 00:03:51,490 --> 00:03:53,660 >> Tämä on index.php-- ja laitoin tämän koodin verkossa 79 00:03:53,660 --> 00:03:56,710 kuten well-- että ilmeisesti vain tekee form.php, 80 00:03:56,710 --> 00:04:00,990 käyttäen MVC tyyli paradigma, että me puhua tarkemmin Harjoitus 81 00:04:00,990 --> 00:04:01,650 seitsemän. 82 00:04:01,650 --> 00:04:02,910 Tämä muoto on melko yksinkertainen. 83 00:04:02,910 --> 00:04:06,634 Se tulee toimittaa tiedosto nimeltä here.php postitse. 84 00:04:06,634 --> 00:04:09,300 Ja se ilmeisesti aio kysyä Nimen ja puhelinnumeron, 85 00:04:09,300 --> 00:04:11,400 ja sitten kautta ns Valitse valikko, se on 86 00:04:11,400 --> 00:04:14,250 aio antaa teille ainakin neljä Yhdysvaltojen suosituimpia matkapuhelin harjoittajat, 87 00:04:14,250 --> 00:04:17,470 ja sitten voit tehokkaasti ottaa läsnäolo klikkaamalla tästä. 88 00:04:17,470 --> 00:04:20,471 >> Ja tässä puolestaan ​​on menossa lainata joitakin koodin viimeinen kerta. 89 00:04:20,471 --> 00:04:22,553 Ja jos vain lukaista tämän, näet, että siellä on 90 00:04:22,553 --> 00:04:23,900 läjän virheentarkistus. 91 00:04:23,900 --> 00:04:26,640 Mutta kauneus lopussa on, että emme kirjallisesti tietokantaan tänään. 92 00:04:26,640 --> 00:04:29,130 Pidämme asiat yksinkertaisina ja vain lähettämällä toivottavasti 93 00:04:29,130 --> 00:04:32,190 tekstiviestin välityksellä toiminto I kirjoitti viime päivinä puhelun 94 00:04:32,190 --> 00:04:36,270 Teksti, joka on toiminnot. PHP, joka on jälleen saatavilla verkossa. 95 00:04:36,270 --> 00:04:38,210 >> Joten jos haluat nauttia tässä. 96 00:04:38,210 --> 00:04:40,190 Emme aio olla tallentamasta mitään. 97 00:04:40,190 --> 00:04:43,809 Siirry osoitteeseen täällä reaaliajassa. 98 00:04:43,809 --> 00:04:46,850 Älä lähetä sitä ihan vielä, mutta katsotaan katso jos voimme olla yksi näistä elokuva 99 00:04:46,850 --> 00:04:49,830 hetkiä, jolloin kaikkien kännykkään piippaa, toivottavasti vain 100 00:04:49,830 --> 00:04:53,580 kerran tänä vuonna toisin kuin vuonna 2011 jos tämä meni pahasti pieleen. 101 00:04:53,580 --> 00:04:58,910 Ja kun menet kyseiseen osoitteeseen, sinun pitäisi nähdä Super yksinkertainen muoto 102 00:04:58,910 --> 00:05:03,884 että jos sinulla on nimi, matkapuhelin numero, ja matkapuhelin harjoittaja, joka 103 00:05:03,884 --> 00:05:06,175 ottelut lista siellä, mene eteenpäin ja täytä lomake. 104 00:05:06,175 --> 00:05:07,880 Mutta älä paina lähetä vielä. 105 00:05:07,880 --> 00:05:10,850 >> Lomake tulee näyttämään tältä. 106 00:05:10,850 --> 00:05:13,660 Mennä eteenpäin ja kirjoita nimesi, puhelinnumerosi. 107 00:05:13,660 --> 00:05:17,670 Oop, joku menee kärjessä. 108 00:05:17,670 --> 00:05:18,170 Se on OK. 109 00:05:18,170 --> 00:05:19,340 OK, kaikki on täytetty lomake. 110 00:05:19,340 --> 00:05:21,400 Tämän pitäisi toimia puhelin, liian, jos haluat. 111 00:05:21,400 --> 00:05:23,695 Okei, teidän Paikoillanne, valmiit, mene. 112 00:05:23,695 --> 00:05:24,195 Hit Here. 113 00:05:24,195 --> 00:05:27,275 114 00:05:27,275 --> 00:05:27,775 Mitä? 115 00:05:27,775 --> 00:05:31,140 116 00:05:31,140 --> 00:05:31,640 Ei. 117 00:05:31,640 --> 00:05:34,410 118 00:05:34,410 --> 00:05:40,250 Vannon, testasin Tämä useita kertoja tänään. 119 00:05:40,250 --> 00:05:41,720 Ymmärsitkö? 120 00:05:41,720 --> 00:05:43,145 >> [Väliin ÄÄNTÄ] 121 00:05:43,145 --> 00:05:46,470 122 00:05:46,470 --> 00:05:49,560 >> DAVID MALAN: OK, käyttäjä virhe ehkä. 123 00:05:49,560 --> 00:05:50,550 Se on kaksi. 124 00:05:50,550 --> 00:05:53,300 Se toimi kaksi ulos muutama sata, kolme, neljä. 125 00:05:53,300 --> 00:05:55,940 OK, se on hyvä. 126 00:05:55,940 --> 00:05:58,520 Neljä viidestä varten oikeellisuuden entä. 127 00:05:58,520 --> 00:05:59,810 >> Joten mitä juuri tapahtui? 128 00:05:59,810 --> 00:06:02,727 Joten oletettavasti ilman näkemästä näytöt, miksi ehkä se on errored? 129 00:06:02,727 --> 00:06:05,518 Se on varmaan, että olimme juuri yrittää tehdä liian monia yhteyksiä 130 00:06:05,518 --> 00:06:08,110 Harvardin sähköpostipalvelin kaikki kerran samasta IP-osoitteesta. 131 00:06:08,110 --> 00:06:10,740 Olen vain arvailla, koska en ovat ylellisyyttä testaus 132 00:06:10,740 --> 00:06:13,220 Tämän koodin joidenkin 300 ihmistä etukäteen 133 00:06:13,220 --> 00:06:16,040 mutta nyt ymmärtää, että että ainakin pitäisi 134 00:06:16,040 --> 00:06:18,250 ovat saaneet työnsä tehtyä tällä kertaa. 135 00:06:18,250 --> 00:06:22,880 >> Okei, joten miksi tämä kaikki lisää germane mitä on tekeillä? 136 00:06:22,880 --> 00:06:24,900 No ensimmäinen, nopea Muutaman ilmoitukset. 137 00:06:24,900 --> 00:06:29,350 Joten, jos haluat liittyä Chang, ja Nick, ja toiset lounaalla perjantaina, 138 00:06:29,350 --> 00:06:32,400 tehdä RSVP tavanomaiseen URL siellä. 139 00:06:32,400 --> 00:06:35,650 Jos olet ajatellut keskittämällä tai tekee toissijainen CS, 140 00:06:35,650 --> 00:06:38,941 olitpa toisen vuoden opiskelija, tai fuksi, tai jopa nuorempi tai vanhempi tässä vaiheessa 141 00:06:38,941 --> 00:06:42,490 ja voi vielä puristaa kursseja, ymmärtää, että tekniikan koulu 142 00:06:42,490 --> 00:06:45,620 kokoaa ilmaiseksi Ben ja Jerryn jäätelöä ja neuvoja 143 00:06:45,620 --> 00:06:48,910 keskiviikkona pian sen jälkeen luokan klo 16:00 CS rakennus 144 00:06:48,910 --> 00:06:49,771 Maxwell Dworkin. 145 00:06:49,771 --> 00:06:51,520 Jos tämä on liian nopea ruudulla, vain mennä 146 00:06:51,520 --> 00:06:55,260 jotta cs50.harvard.edu varten linkki Facebook-tapahtuma 147 00:06:55,260 --> 00:06:57,140 jossa voit nähdä enemmän yksityiskohtia. 148 00:06:57,140 --> 00:07:01,390 >> Samaan aikaan, ajattelin korjata yhden asian olen goofed keskiviikkona. 149 00:07:01,390 --> 00:07:04,400 Osoittautuu, että Markuksen tunnus Facebookissa ollut kolme. 150 00:07:04,400 --> 00:07:05,230 Se oli neljä. 151 00:07:05,230 --> 00:07:08,330 Osoittautuu, hän oli enemmän testi tilejä kuin muistan. 152 00:07:08,330 --> 00:07:12,400 Mutta mitä tämä tuntui tilaisuus tehdä, on vetää URL kuin tämä. 153 00:07:12,400 --> 00:07:16,680 >> Joten näyttää siltä, ​​että Facebook on API, Application Programming Interface, 154 00:07:16,680 --> 00:07:20,070 mikä on mekanismi, jonka avulla voit voi pyytää tietoja ohjelmallisesti 155 00:07:20,070 --> 00:07:24,480 Facebookissa ja saada takaisin koneeseen luettavaa tietoa, ei verkkosivuja 156 00:07:24,480 --> 00:07:28,690 mutta vain raaka tekstiä, jotain kutsutaan JavaScript Object merkintätapa. 157 00:07:28,690 --> 00:07:32,150 Ja itse asiassa, jos käyn tätä URL, ja lähennä, oletuksena, 158 00:07:32,150 --> 00:07:34,960 tämä on Markuksen julkisesti saatavilla olevaa tietoa. 159 00:07:34,960 --> 00:07:37,430 >> Ja mielenkiintoinen yksityiskohta tässä vain, että hänen ID 160 00:07:37,430 --> 00:07:40,670 on todellakin numero neljä, jonka minä tajusi heti kun tein tämän. 161 00:07:40,670 --> 00:07:44,260 Voit tehdä tämän itse, jos tiedät Facebook-käyttäjätunnus, jos sinulla on sellainen. 162 00:07:44,260 --> 00:07:45,440 Kirjoita se ylös sieltä. 163 00:07:45,440 --> 00:07:46,640 Ja mikään tästä on yksityinen. 164 00:07:46,640 --> 00:07:48,670 Teen vain tämän vielä vuonna incognito-tilassa. 165 00:07:48,670 --> 00:07:49,900 Joten en ole edes kirjautunut sisään. 166 00:07:49,900 --> 00:07:54,440 Ja te näette, että minä ilmeisesti oli käyttäjä numero 6454 167 00:07:54,440 --> 00:07:56,480 Facebook, joka ei ole Harmi näinä päivinä. 168 00:07:56,480 --> 00:07:59,900 Joten joka tapauksessa, näet myös Lisätietoa siellä. 169 00:07:59,900 --> 00:08:02,150 >> Ja hyödyllinen näkökulma ja se on, että te 170 00:08:02,150 --> 00:08:06,890 voisi kirjoittaa oman ohjelmiston, joka jotenkin integroi tiedot, kuten tämän 171 00:08:06,890 --> 00:08:08,170 omaan sovellukseen. 172 00:08:08,170 --> 00:08:10,650 Voit valtuuttaa käyttäjiä kirjaudu verkkosivuilla, 173 00:08:10,650 --> 00:08:14,190 eivät käytä omia mukautettuja käyttäjätunnus ja salasanan mutta ehkä heidän Facebook-kirjautuminen 174 00:08:14,190 --> 00:08:16,170 ja saada tietoa jopa heidän ystäviä, 175 00:08:16,170 --> 00:08:18,740 jos ne hyväksyvät tällaisia ​​tai vastaavia. 176 00:08:18,740 --> 00:08:21,430 Niin huomaa, että CS50, liian, on joitakin omia API, 177 00:08:21,430 --> 00:08:24,620 yksi kurssi luettelon tietoihin jotkut halauksia valikot ruokailu 178 00:08:24,620 --> 00:08:26,730 salia, kaikki rakennukset ja paikat 179 00:08:26,730 --> 00:08:30,930 kampuksella meillä API samoin että voit kyselyn samalla ja saada 180 00:08:30,930 --> 00:08:35,520 takaisin sanallista tietoa, että voit integroida osaksi PHP tai JavaScript, tai jopa, 181 00:08:35,520 --> 00:08:38,320 vaikkakin harvemmin, C perustuu opinnäytetyön. 182 00:08:38,320 --> 00:08:41,190 >> Itse eteenpäin lopullinen Hanke on muutamia virstanpylväitä. 183 00:08:41,190 --> 00:08:42,980 Sait sähköpostia meiltä toinen päivä. 184 00:08:42,980 --> 00:08:45,761 Ymmärtää, että ehdotus johtuu tulevana maanantaina. 185 00:08:45,761 --> 00:08:49,010 Se ei ole välttämättä sitovia, mutta älä tarvitsee saada opetusta kaverit 186 00:08:49,010 --> 00:08:51,260 hyväksyntä ennen Sen jälkeen muutoksista. 187 00:08:51,260 --> 00:08:54,280 Ja sitten Haasteina ovat useita muita virstanpylväitä. 188 00:08:54,280 --> 00:08:56,542 >> Joten kiusata sinuakin, joitakin mahdollisuuksia, 189 00:08:56,542 --> 00:08:58,250 meillä on nippu Näiden sävyn lamput. 190 00:08:58,250 --> 00:09:01,190 Ja jotkut teistä kaverit nyt on joitakin Näiden teidän asuntolan huoneessa samoin. 191 00:09:01,190 --> 00:09:02,920 Ja heilläkin API. 192 00:09:02,920 --> 00:09:07,300 Joten palauttavat binary sipulit viikkoa sitten, että Dan Bradley ja Ansel 193 00:09:07,300 --> 00:09:08,780 Duff meitä varten. 194 00:09:08,780 --> 00:09:12,560 He käyttivät ohjelmointirajapinta tämä lamppu, joka tällä hetkellä 195 00:09:12,560 --> 00:09:15,232 on kytketty sähköä ja sitten langattomasti 196 00:09:15,232 --> 00:09:17,690 kytketään pikku juttu nimeltään Bridge tänne, 197 00:09:17,690 --> 00:09:21,280 kuin pieni reitittimen oma tämän laitteen kanssa. 198 00:09:21,280 --> 00:09:26,540 >> Mutta se osoittautuu jos tiedän, miten lähettää HTTP-viestejä, kuten me kaikki nyt tehdä, 199 00:09:26,540 --> 00:09:31,670 Voin lähettää viestin tämäntapaisella tämä lamppu kytkeä päälle tai pois päältä 200 00:09:31,670 --> 00:09:34,000 tai tehdä mitään määrää muut toiminnot sitä. 201 00:09:34,000 --> 00:09:36,110 Huomaa, että se ei päästä, se ei lähetä. 202 00:09:36,110 --> 00:09:37,760 On toinen nimeltään laittaa. 203 00:09:37,760 --> 00:09:39,630 On itse asiassa muutamia muita tällaisia ​​verbejä. 204 00:09:39,630 --> 00:09:42,920 Mutta huomaa siellä on tie sinne, slash API, slash uusi kehittäjä, 205 00:09:42,920 --> 00:09:44,990 slash valo, slash yksi, slash valtio. 206 00:09:44,990 --> 00:09:49,060 >> Se on ilmeisesti vain polku, että yritys, Philips, 207 00:09:49,060 --> 00:09:51,640 päätti täytyy lyödä kanssa HTTP-pyynnön 208 00:09:51,640 --> 00:09:55,010 Jos haluat muuttaa valtion sipulin HTTP 1.1. 209 00:09:55,010 --> 00:09:56,380 Sitten huomaa tyhjä rivi. 210 00:09:56,380 --> 00:10:00,170 Ja sitten lopuksi mitä näyttää Tällainen joukko jonkinlainen, 211 00:10:00,170 --> 00:10:04,730 tämä taas tulee kutsua JavaScript Object esitystä tai Jason. 212 00:10:04,730 --> 00:10:08,000 Ja mitä näet on, että on kolme keskeistä arvoa paria. 213 00:10:08,000 --> 00:10:09,115 >> Yksi avain on kehottanut. 214 00:10:09,115 --> 00:10:10,990 Ja sen arvo ilmeisesti tulee olemaan totta. 215 00:10:10,990 --> 00:10:13,612 Kirkkaus on 128, joka on jonkinlainen int. 216 00:10:13,612 --> 00:10:15,820 Ja sitten siirtymisen aika on nolla, joka on ilmeisesti 217 00:10:15,820 --> 00:10:17,970 kuinka kauan se tulee ottaa kääntää tämä asia on. 218 00:10:17,970 --> 00:10:19,890 >> Joten nyt tämä lamppu on pois päältä. 219 00:10:19,890 --> 00:10:22,880 Mutta jos en tee juuri this-- anna minun mennä hieman lunttilappua 220 00:10:22,880 --> 00:10:25,200 että Dan perustettiin vuonna advance-- ja aion 221 00:10:25,200 --> 00:10:27,920 mennä eteenpäin ja kopioi seuraava komento. 222 00:10:27,920 --> 00:10:30,200 Curl, kuten jotkut teistä ehkä päätellä siitä CS50 223 00:10:30,200 --> 00:10:35,080 Keskustele on hyödyllisyys kuin Telnet kuten että voit simuloida HTTP-pyyntöjä, 224 00:10:35,080 --> 00:10:36,360 nimenomaan tuo. 225 00:10:36,360 --> 00:10:39,710 Voin lähettää nämä tiedot, erityisesti mitä vain 226 00:10:39,710 --> 00:10:43,430 näki hetki sitten erikseen Tämän URL-osoitteen tänne. 227 00:10:43,430 --> 00:10:46,310 Ja sitten Curl tulee käsitellä kaikki tarvittavat otsikot 228 00:10:46,310 --> 00:10:47,600 ja jäsentämiseen siellä on. 229 00:10:47,600 --> 00:10:54,700 >> Joten kaikki minun täytyy tehdä, on kopioida tämän huomioon terminaali-ikkuna ja paina sitten Enter. 230 00:10:54,700 --> 00:10:56,000 Ja lamppu syttyy. 231 00:10:56,000 --> 00:10:59,060 Ja tämä kaikki on menossa läpi Oma tietokone langattomasti 232 00:10:59,060 --> 00:11:01,960 jotenkin alas sillan, joka Sitten puhuu tämän hehkulamppu. 233 00:11:01,960 --> 00:11:02,960 Voin tehdä jotain muuta. 234 00:11:02,960 --> 00:11:07,050 Voin tehdä tämä asia mennä punainen esimerkiksi. 235 00:11:07,050 --> 00:11:11,040 Voin esimerkiksi tehdä tämä juttu mennä vihreä. 236 00:11:11,040 --> 00:11:12,220 Voin tehdä sen mennä sininen. 237 00:11:12,220 --> 00:11:14,760 >> Ja huomaa kussakin näistä tapauksissa kaikki, että olen muuttumassa 238 00:11:14,760 --> 00:11:18,540 on niin sanottu värisävy arvo todella antaa sille väriä. 239 00:11:18,540 --> 00:11:20,320 Haluan siis liitä tämä yksi samoin. 240 00:11:20,320 --> 00:11:21,000 Nyt se on sininen. 241 00:11:21,000 --> 00:11:24,672 >> Ja voit tehdä vielä hienompaa asiat where-- mennään vihreäksi. 242 00:11:24,672 --> 00:11:26,630 Ja voisin tehdä tätä on Tietenkin omalla koodilla. 243 00:11:26,630 --> 00:11:30,670 Mutta vaikka API itse tukee funky toiminta 244 00:11:30,670 --> 00:11:35,510 kuten tämä, joka nyt viitsi meille seuraavan 30 sekuntia. 245 00:11:35,510 --> 00:11:39,170 >> Niin, että yksi maku mitä voisi tehdä API, tämä liittyy 246 00:11:39,170 --> 00:11:40,010 lamput. 247 00:11:40,010 --> 00:11:42,510 Huomaa, että CS50 on pari paria Google Glass Jos haluat 248 00:11:42,510 --> 00:11:45,380 haluan puuttua jotain pitkin nämä rivit, Arduino Unos, joka 249 00:11:45,380 --> 00:11:48,670 ovat pikku tietokoneita, olennaisesti, on pieni piirilevy 250 00:11:48,670 --> 00:11:50,470 että voit liittää johdot ja muut asiat 251 00:11:50,470 --> 00:11:52,732 antamaan ja ohjaus reaalimaailman ympäristö. 252 00:11:52,732 --> 00:11:54,940 Ja sitten on olemassa pari uusia leluja, jotka meillä on. 253 00:11:54,940 --> 00:11:59,294 Tämä yksi kirjaimellisesti juuri saapunut toinen päivä postitse, Myo käsivarteen. 254 00:11:59,294 --> 00:12:01,710 Ja ajattelin, että se on tapa sinut innostumaan hankkeista 255 00:12:01,710 --> 00:12:03,720 että saatat käyttää tämä laitteisto olisi 256 00:12:03,720 --> 00:12:08,900 olla pelata tätä lyhyen pätkän että he käyttävät kiusata ihmisiä 257 00:12:08,900 --> 00:12:10,500 että me nyt elävät tulevaisuudessa. 258 00:12:10,500 --> 00:12:13,494 259 00:12:13,494 --> 00:12:15,490 >> [Musiikki soi] 260 00:12:15,490 --> 00:13:33,410 261 00:13:33,410 --> 00:13:37,109 >> DAVID MALAN: Eli vain muutaman viikon, voit Sekin voi olla, että viileä CS50 oikeudenmukainen. 262 00:13:37,109 --> 00:13:39,150 Toiseen laitteeseen, että me on nippu, että olemme 263 00:13:39,150 --> 00:13:42,090 mielellään lainata ulos hankkeisiin kutsutaan liikeohjaimelle. 264 00:13:42,090 --> 00:13:45,030 Tämä on pieni USB-laite liität tietokoneeseen, joka 265 00:13:45,030 --> 00:13:47,520 avulla voit vuorovaikutuksessa kannettava tietokone, Mac tai PC, 266 00:13:47,520 --> 00:13:51,570 ikään kuin sinulla oli kuin Xbox Kinect ja todella tehdä fyysisiä liikkeitä paljon 267 00:13:51,570 --> 00:13:54,509 kuten näemme tässä visio tulevaisuudesta. 268 00:13:54,509 --> 00:13:56,505 >> [Musiikki soi] 269 00:13:56,505 --> 00:15:03,380 270 00:15:03,380 --> 00:15:06,260 >> DAVID MALAN: Eli vaikka olet Ei aavistustakaan, miten tuollaista 271 00:15:06,260 --> 00:15:10,050 voitaisiin mahdollisesti keksitty tai työn on laitteiston tasolla, ei väliä. 272 00:15:10,050 --> 00:15:13,520 Senkin jälkeen vain muutaman kuukauden CS50, ja ymmärrystä ohjelmointi 273 00:15:13,520 --> 00:15:19,460 yleisemmin, ja web-ohjelmointi lisää äskettäin, ja sitten myös API, ja HTTP, 274 00:15:19,460 --> 00:15:21,830 sinulla on pääsy kautta ohjelmistojen API jos 275 00:15:21,830 --> 00:15:24,680 eivät halua lainata yksi näistä laitteet oikeastaan ​​puhua siitä 276 00:15:24,680 --> 00:15:27,180 ja ei tarvitse murehtia taustalla täytäntöönpano 277 00:15:27,180 --> 00:15:30,220 yksityiskohtia, joka on täysin sopusoinnussa tämän käsitteen kerrospukeutuminen 278 00:15:30,220 --> 00:15:33,610 abstraktio, että olemme nähtävissä koko lukukauden. 279 00:15:33,610 --> 00:15:37,990 >> Joten myös viikonlopun aikana, näki pari uutista. 280 00:15:37,990 --> 00:15:40,640 Mennä ensin, mene seminaareihin jos haluaisivat oppia jotain 281 00:15:40,640 --> 00:15:42,160 lisää tahansa monista aiheista. 282 00:15:42,160 --> 00:15:43,340 Katso URL siellä. 283 00:15:43,340 --> 00:15:45,890 Ja tämä lähetettiin minua Chang, jotka tiedätte, 284 00:15:45,890 --> 00:15:47,850 kuka tulostus armeijamme norsuja. 285 00:15:47,850 --> 00:15:49,910 Ja se oli otsikko seuraavasti. 286 00:15:49,910 --> 00:15:51,280 Olen kauhuissani minun uusi TV. 287 00:15:51,280 --> 00:15:54,301 Miksi olen peloissani tehdä tästä asia ja haluat olla liikaa. 288 00:15:54,301 --> 00:15:56,050 Joten olemme nyt viittaavat lukukauden, 289 00:15:56,050 --> 00:15:58,860 liian, jos vaikka sinulla pienintäkään ymmärrystä 290 00:15:58,860 --> 00:16:02,620 miten web toimii, ja HTTP, ja turvallisuus, asioita, kuten tämä 291 00:16:02,620 --> 00:16:03,980 pitäisi alkaa kiinnitettyä. 292 00:16:03,980 --> 00:16:07,450 Mutta myös, sinun ymmärtää ovatko nämä asiat ovat tai eivät ole 293 00:16:07,450 --> 00:16:08,430 Varsinainen uhkia. 294 00:16:08,430 --> 00:16:10,940 >> Joten otin muutamia otteita Tämän artikkelin täältä. 295 00:16:10,940 --> 00:16:12,540 Ja tarina on seuraava. 296 00:16:12,540 --> 00:16:14,300 Olen nyt omistaja Uusi Smart TV, joka 297 00:16:14,300 --> 00:16:18,470 lupaa tarjota streaming multimediasisällön, pelejä, app, 298 00:16:18,470 --> 00:16:21,450 sosiaalinen media ja internet selailu, oh ja TV liikaa. 299 00:16:21,450 --> 00:16:24,410 Ainoa ongelma on, että olen nyt pelkää käyttää sitä, sanoo kirjailija. 300 00:16:24,410 --> 00:16:29,592 Sinun olisi myös, jos luet 46 sivun tietosuojakäytäntöversion TV. 301 00:16:29,592 --> 00:16:31,800 Tietomäärä tästä asia kerää on huikea. 302 00:16:31,800 --> 00:16:35,710 Se lokit missä, milloin, miten ja kuinka kauan käytät TV. 303 00:16:35,710 --> 00:16:38,190 Se asettaa evästeet, kuten olemme keskustelleet, 304 00:16:38,190 --> 00:16:40,560 ja majakat suunniteltu havaita, kun olet 305 00:16:40,560 --> 00:16:43,185 katsottu tiettyä sisältöä tai Erityisesti sähköpostiviestin 306 00:16:43,185 --> 00:16:45,230 Jos haluat tarkistaa sähköpostin televisiossa. 307 00:16:45,230 --> 00:16:48,430 Se tallentaa apps sinulle käyttää verkkosivustoja, 308 00:16:48,430 --> 00:16:52,280 ja miten olet vuorovaikutuksessa sisällön, tekee kaiken tuon kautta Smart TV. 309 00:16:52,280 --> 00:16:55,470 Se myös, creepier yet-- se on minun addition-- 310 00:16:55,470 --> 00:16:58,140 on sisäänrakennettu kamera kasvojen tunnustamista. 311 00:16:58,140 --> 00:17:01,010 >> Tarkoituksena on tarjota liikeohjaus TV 312 00:17:01,010 --> 00:17:05,490 ja voit kirjautua sisään henkilökohtaisen tilin kasvosi. 313 00:17:05,490 --> 00:17:08,940 On ylösalaisin, kuvat ovat tallennetut TV sijasta siirretyille 314 00:17:08,940 --> 00:17:09,940 jotta yrityksen palvelin. 315 00:17:09,940 --> 00:17:12,520 Haittapuolena, internet liitäntä tekee koko TV 316 00:17:12,520 --> 00:17:14,811 alttiita hakkerit, jotka ovat osoittaneet kykynsä 317 00:17:14,811 --> 00:17:16,700 ottaa kokonaan koneen hallinnan. 318 00:17:16,700 --> 00:17:20,880 >> Pulmallisempia, ikään kuin tämä ei niin fiksu, on mikrofoni. 319 00:17:20,880 --> 00:17:23,599 TV ylpeilee ääni tunnustaminen ominaisuus 320 00:17:23,599 --> 00:17:26,859 jonka avulla katsojat pääsevät ohjaamaan näytön äänikomennoilla. 321 00:17:26,859 --> 00:17:30,290 Mutta palvelu tulee melko pahaenteinen varoitus. 322 00:17:30,290 --> 00:17:33,030 Huomaa, että jos puhuttua sanaa sisältävät 323 00:17:33,030 --> 00:17:36,210 henkilökohtaisia ​​tai muita arkaluonteisia tieto, että tiedot 324 00:17:36,210 --> 00:17:40,310 on joukossa keräämän tiedon ja lähetetään kolmannelle osapuolelle. 325 00:17:40,310 --> 00:17:40,870 Ymmärsitkö? 326 00:17:40,870 --> 00:17:45,860 Älä sano henkilökohtaisia ​​tai arkaluontoisia tavaraa television edessä. 327 00:17:45,860 --> 00:17:47,280 >> Joten tämä on todella todellinen. 328 00:17:47,280 --> 00:17:50,530 Ja on vaikea olla näkemättä, jos Siirry Best Buy tai vastaava televisiot 329 00:17:50,530 --> 00:17:51,030 näinä päivinä. 330 00:17:51,030 --> 00:17:52,540 He kaikki ovat älykkäitä jollain tavalla. 331 00:17:52,540 --> 00:17:54,740 Ja he saavat älykkäämpiä ja creepier. 332 00:17:54,740 --> 00:17:57,490 Ja he yksinkertaisesti kerätä tietoja tavoilla, jotka olemme puhuneet 333 00:17:57,490 --> 00:18:01,840 ja sitten lataamalla se HTTP tai jokin muu protokolla jossain palvelimelle. 334 00:18:01,840 --> 00:18:05,720 >> Joten tämä oli hauska artikkeli Tässä online-sivustolla 335 00:18:05,720 --> 00:18:08,940 täällä, jossa puhuttiin Erityisesti vika tai virheellinen koodi 336 00:18:08,940 --> 00:18:11,340 että voimme todella sitoa viime viikon keskustelua. 337 00:18:11,340 --> 00:18:15,730 Joten tämä otsikko oli seuraa, tarina menee täällä, 338 00:18:15,730 --> 00:18:18,720 Josh Breckman työskenteli yritys, joka laskeutui sopimus 339 00:18:18,720 --> 00:18:22,390 kehittää sisällön hallinta järjestelmä, tai CMS niitä kutsutaan, 340 00:18:22,390 --> 00:18:24,380 ja melko suuri hallituksen verkkosivuilla. 341 00:18:24,380 --> 00:18:27,300 Suuri osa hankkeen mukana kehittämällä content management system 342 00:18:27,300 --> 00:18:29,840 jotta työntekijät olisivat osaa rakentaa ja ylläpitää 343 00:18:29,840 --> 00:18:31,877 alati muuttuvassa sisältöä niiden päällä. 344 00:18:31,877 --> 00:18:34,210 Asiat menivät melko hyvin muutaman päivän kuluttua menossa suorana. 345 00:18:34,210 --> 00:18:37,020 Mutta kuudentena päivänä, asiat menivät huonommin. 346 00:18:37,020 --> 00:18:39,500 Kaikki sisältö sivusto oli täysin kadonnut. 347 00:18:39,500 --> 00:18:42,950 Ja kaikki sivut johti oletus, kirjoita sisältöä web sivulle. 348 00:18:42,950 --> 00:18:43,810 Oho. 349 00:18:43,810 --> 00:18:46,080 Josh kutsuttiin tutkimaan ja huomasin 350 00:18:46,080 --> 00:18:49,390 että yksi erityisen hankala ulkoinen IP-osoite oli 351 00:18:49,390 --> 00:18:53,380 mennyt ja poistanut kaikki sisällön järjestelmään. 352 00:18:53,380 --> 00:18:56,290 >> IP-osoite ei kuulu jossain ulkomailla hakkeri taipunut 353 00:18:56,290 --> 00:18:58,340 tuhota hyödyllinen julkista tietoa. 354 00:18:58,340 --> 00:19:05,190 Se päätti googlebot.com, Googlen oma web indeksoinnin hämähäkki. 355 00:19:05,190 --> 00:19:06,010 Oho. 356 00:19:06,010 --> 00:19:09,150 Jälkeen vähän tutkimusta ja muokkaamisella noin löytää noncorrupt varmuuskopio, 357 00:19:09,150 --> 00:19:10,180 Josh löysi ongelman. 358 00:19:10,180 --> 00:19:12,700 >> Käyttäjä oli kopioitu ja liittää joitakin sisältöä yhdestä 359 00:19:12,700 --> 00:19:15,670 sivulta toiselle, kuten Edit Hyperlinkki 360 00:19:15,670 --> 00:19:17,577 muokata sisältöä sivulla. 361 00:19:17,577 --> 00:19:20,160 Normaalisti tämä ei olisi kysymys, koska ulkopuolinen käyttäjä 362 00:19:20,160 --> 00:19:24,320 täytyy syöttää käyttäjätunnus ja salasana, mutta CMS authentication järjestelmä, 363 00:19:24,320 --> 00:19:27,520 Kirjaudu järjestelmä, ei ottanut huomioon 364 00:19:27,520 --> 00:19:30,980 hienostunut hakkerointi tekniikoita Google Spider. 365 00:19:30,980 --> 00:19:31,700 Oho. 366 00:19:31,700 --> 00:19:33,610 >> Kuten on käynyt ilmi, Google Spider ei käytä 367 00:19:33,610 --> 00:19:36,950 evästeet, mikä tarkoittaa, että se voi helposti ohittaa tarkistaa 368 00:19:36,950 --> 00:19:39,840 on kirjautunut evästejoukon vääriksi. 369 00:19:39,840 --> 00:19:42,620 Se ei kiinnitä huomiota JavaScript, jotka normaalisti 370 00:19:42,620 --> 00:19:45,170 kysyy ja ohjaa käyttäjiä jotka eivät ole kirjautuneena sisään. 371 00:19:45,170 --> 00:19:48,610 Se ei kuitenkaan seuraa jokaista hyperlinkki jokaisella sivulla se toteaa, 372 00:19:48,610 --> 00:19:51,700 myös ne, joilla Poista sivu otsikossa. 373 00:19:51,700 --> 00:19:52,650 Oho. 374 00:19:52,650 --> 00:19:56,070 >> Mitä tämä tarkoittaa lisää tekninen mutta melko helppotajuinen? 375 00:19:56,070 --> 00:19:58,340 Se vain tarkoittaa, että koko niiden verkkosivuilla, 376 00:19:58,340 --> 00:20:02,287 heillä oli URL-osoitteita ei toisin tämä yksi, joka saatat nähdä ongelman asettaa seitsemän. 377 00:20:02,287 --> 00:20:04,620 Recall ongelma asettaa seitsemän tai tietää ongelman asettaa seitsemän 378 00:20:04,620 --> 00:20:06,411 että olet haastoi, muun muassa, 379 00:20:06,411 --> 00:20:08,570 myydä varastojen käyttäjien puolesta. 380 00:20:08,570 --> 00:20:14,010 Mutta täytäntöönpanossa kyseistä ominaisuutta Poiketen get kautta hyperlinkkejä käyttäjä 381 00:20:14,010 --> 00:20:16,880 käyttöliittymä, luultavasti ei fiksuin idea 382 00:20:16,880 --> 00:20:20,300 koska jos sivusto on jotenkin jonne pääsee joko ihmisen 383 00:20:20,300 --> 00:20:23,577 kuka klikkaamalla ympärille tai osta bot kuten Googlen tai Spider 384 00:20:23,577 --> 00:20:26,160 kuten niitä kutsutaan, joka on juuri indeksointi web yrittää indeksoida 385 00:20:26,160 --> 00:20:29,060 raina hakukoneen, he voisivat hyvin helposti 386 00:20:29,060 --> 00:20:31,340 osuma kautta saada tällaista URL. 387 00:20:31,340 --> 00:20:33,770 Ja se on toiminnallisesti vastaa tässä tapauksessa, 388 00:20:33,770 --> 00:20:37,000 myydä kaikki osakkeet Google. 389 00:20:37,000 --> 00:20:40,030 >> Nyt rehellisesti, se on täysin aasimainen että CMS 390 00:20:40,030 --> 00:20:43,240 Käytetyt JavaScript ja evästeet toteuttaa sen kirjautumisjärjestelmään 391 00:20:43,240 --> 00:20:47,100 ja ei tee sitä palvelimen puolella, koska teette ja tahtoa PSET 7-- 392 00:20:47,100 --> 00:20:49,940 siellä login.php file-- aina, aina, 393 00:20:49,940 --> 00:20:52,789 aina turvallisuus olisi tehdään palvelimen puolella, 394 00:20:52,789 --> 00:20:56,080 ei asiakkaan puolelta, koska tämä artikkeli ehdottaa ja saatat itse 395 00:20:56,080 --> 00:20:59,600 nähdä jossain vaiheessa, se on vähäpätöinen käyttäjä, hyvä tai huono, 396 00:20:59,600 --> 00:21:02,860 vain sammuttaa JavaScript puhumattakaan evästeitä. 397 00:21:02,860 --> 00:21:06,020 Niin, että on päivittäinen WTF. 398 00:21:06,020 --> 00:21:07,970 >> On vielä yksi, joka on juuri sellainen pelottava, 399 00:21:07,970 --> 00:21:11,360 niin minä mainitsen sen, jos vain elämän oppitunti. 400 00:21:11,360 --> 00:21:14,850 Kun käytät sovelluksen kutsutaan kuten Snapchat tai vastaavaa 401 00:21:14,850 --> 00:21:19,380 joka sanoo nämä kuvat vain kestää viisi sekuntia, kymmenen sekuntia, tai vaikka mitä. 402 00:21:19,380 --> 00:21:21,680 He hetkellistä Eli ehdottomasti ei pidä paikkaansa. 403 00:21:21,680 --> 00:21:25,670 Kuin ei ole mitään keinoa, digitaalisesti, toteuttaa jonkinlaista video, 404 00:21:25,670 --> 00:21:30,150 tai kuvan tai tekstimuotoinen jakaa tällaiset että vastaanottaja toisessa päässä 405 00:21:30,150 --> 00:21:31,660 voi jotenkin pelastaa tiedot. 406 00:21:31,660 --> 00:21:34,300 >> Kaikkein naiivi tapa, joku voisi niiden puhelimeen. 407 00:21:34,300 --> 00:21:36,850 Ja niillä on 10 toinen ikkuna kun katsot joitakin Snap 408 00:21:36,850 --> 00:21:39,410 vain ottaa jokin muu puhelin ja kuvata sitä, tietenkin. 409 00:21:39,410 --> 00:21:41,660 Joten voit säilyttää jotain digitaalisesti niin. 410 00:21:41,660 --> 00:21:44,620 Jotkut teistä tietävät, miten ottaa kuvakaappauksia puhelimen. 411 00:21:44,620 --> 00:21:49,290 Itse asiassa, jos et tiedä tätä, ymmärtää, että ainakin Snapchat, 412 00:21:49,290 --> 00:21:51,040 ja mielestäni muut sovellukset näinä päivinä, 413 00:21:51,040 --> 00:21:53,720 ainakin kertoa, jos vastaanottaja on todella 414 00:21:53,720 --> 00:21:55,310 otettu kuvakaappaus kuvasi. 415 00:21:55,310 --> 00:22:00,870 >> Mutta vielä pahempaa, tämä oli snappening, kuten joku keksi sen äskettäin, 416 00:22:00,870 --> 00:22:04,680 jossa jotkut 100000 nepparit oli vapautettu 417 00:22:04,680 --> 00:22:09,310 mitä kutsutaan torrent-tiedosto eri verkkosivustoja lopulta. 418 00:22:09,310 --> 00:22:12,000 Ja nämä sisälsivät läjän Yksityisten viestien ja. 419 00:22:12,000 --> 00:22:15,210 On käynyt ilmi, useimmat niistä hyvänlaatuinen, joten mitä voisi odottaa. 420 00:22:15,210 --> 00:22:17,580 Mutta koska ihmiset olivat käyttää kolmannen osapuolen verkkosivuilla, 421 00:22:17,580 --> 00:22:20,270 kirjautumalla heidän Snapchat käyttäjätunnus ja salasana ja sitten 422 00:22:20,270 --> 00:22:23,470 säästää kaikkien niiden nepparit tämän kolmannen osapuolen verkkosivuilla. 423 00:22:23,470 --> 00:22:26,130 Ja se oli, että kolmas osapuoli sivuston, joka oli hakkeroitu, 424 00:22:26,130 --> 00:22:30,710 joka vain tarkoitti joku tajunnut, miten saada kaikki 100000 plus niistä kuvista 425 00:22:30,710 --> 00:22:33,822 omiin kovalevy myöhempää jakamista. 426 00:22:33,822 --> 00:22:36,030 Rehellisesti, tässäkin, se on eräänlainen on typerä että Snapchat 427 00:22:36,030 --> 00:22:39,360 on toteutettu siten, että kolmas osapuoli voi tavallaan siepata 428 00:22:39,360 --> 00:22:43,310 tiedot ja että se ei ole sidottu sinun oma sovellus käynnissä puhelimessa. 429 00:22:43,310 --> 00:22:46,947 Mutta tässäkin, ymmärtää, että nämä asioita ei saisi sinut kiinni yllätyksenä, 430 00:22:46,947 --> 00:22:49,030 tai ainakin pitäisi olla elämän oppitunti täällä. 431 00:22:49,030 --> 00:22:52,220 Jos haluat teknistä Lisätietoja kohdassa, että URL on 432 00:22:52,220 --> 00:22:53,570 se on nykypäivän dioja. 433 00:22:53,570 --> 00:23:00,960 Okei, kysyttävää Nykypäivän elämän oppitunteja CS? 434 00:23:00,960 --> 00:23:02,710 Käännä se pois päältä. 435 00:23:02,710 --> 00:23:04,970 Yhtään mitään? 436 00:23:04,970 --> 00:23:06,301 Yhtään mitään? 437 00:23:06,301 --> 00:23:09,050 Minulla on paljon ihmisiä tarkkailun niiden Snapchat tai jotain nyt. 438 00:23:09,050 --> 00:23:11,690 >> Okei, joten SQL, Structured Query Language. 439 00:23:11,690 --> 00:23:12,509 Homma pakettiin. 440 00:23:12,509 --> 00:23:14,300 Ja myös, vaikka me vain naarmuuntumista 441 00:23:14,300 --> 00:23:16,310 pinta tämän kieli, annamme sinulle 442 00:23:16,310 --> 00:23:18,930 tarpeeksi kieli muodossa PSET 7 443 00:23:18,930 --> 00:23:22,140 jotta voit ratkoa melko yleinen toimivuus. 444 00:23:22,140 --> 00:23:24,912 Mutta ymmärrän, että pari mitä emme vaadi sinua, 445 00:23:24,912 --> 00:23:27,120 mutta he tulevat olemaan tärkeää tulla lopullinen hankkeita 446 00:23:27,120 --> 00:23:30,760 ja varmasti tulee tekemään varsinaisen sivustot todellisten käyttäjien kanssa 447 00:23:30,760 --> 00:23:32,040 on tällä grafiikalla päätös. 448 00:23:32,040 --> 00:23:34,460 >> On käynyt ilmi, että MySQL-tietokanta, voit 449 00:23:34,460 --> 00:23:37,460 on risuryppäät valintoja, kuten tietotyyppejä sarakkeet 450 00:23:37,460 --> 00:23:41,670 ja muita asioita, mutta on myös valinta ns varastointi 451 00:23:41,670 --> 00:23:44,570 moottori kaikki tiedot, tavallaan tiedostojärjestelmä, 452 00:23:44,570 --> 00:23:46,700 jos olet tuttu, kaikkien teidän tiedot. 453 00:23:46,700 --> 00:23:48,830 Missä muodossa se lopulta tallennetaan? 454 00:23:48,830 --> 00:23:53,300 Ja yleisin, ehkä, on ollut MyISAM ja InnoDB, tekniset termit 455 00:23:53,300 --> 00:23:56,060 että me välitämme vain siinä määrin, että yksi on 456 00:23:56,060 --> 00:23:58,500 ja yksi ei seuraavan ominaisuuden. 457 00:23:58,500 --> 00:24:00,390 >> Oletetaan, että sinulla on pieni asuntolan jääkaappi. 458 00:24:00,390 --> 00:24:03,030 Ja olettaa, että te ja teidän kämppäkaveri, jotka jakavat tämän jääkaappi, 459 00:24:03,030 --> 00:24:04,682 ovat todella ihastunut vaikkapa maitoa. 460 00:24:04,682 --> 00:24:07,140 Ja tämä on, itse asiassa, miten tarina kerrottiin minulle paluumatkalla 461 00:24:07,140 --> 00:24:10,890 päivällä kun otin kurssin nimeltään CS 161 käyttöjärjestelmät, jotka 462 00:24:10,890 --> 00:24:12,580 Samoin tutkii tätä aihetta. 463 00:24:12,580 --> 00:24:13,760 Joten sinulla tämä jääkaappi. 464 00:24:13,760 --> 00:24:14,630 Olet poissa maitoa. 465 00:24:14,630 --> 00:24:17,000 Ja tulet kotiin, teidän kämppäkaveri vielä luokan tai mitä tahansa, 466 00:24:17,000 --> 00:24:19,208 ja päätät aion mennä ulos ja saada maitoa. 467 00:24:19,208 --> 00:24:22,630 Joten suljet jääkaappi, kaaduttua asuntolan huoneessa, mene kadun 468 00:24:22,630 --> 00:24:25,330 CVS tai minne, ja saada linjassa ostaa maitoa. 469 00:24:25,330 --> 00:24:28,960 >> Samaan aikaan, kämppis tulee kotiin luokasta, joutuu asuntolan huoneessa, 470 00:24:28,960 --> 00:24:31,802 avaa jääkaappi, myös tajuaa ooph, olemme maitoa. 471 00:24:31,802 --> 00:24:33,760 Joten hän sulkee jääkaappi ja sitten tapahtuu 472 00:24:33,760 --> 00:24:35,610 mennä muiden CVS, joka sattuu olemaan 473 00:24:35,610 --> 00:24:38,470 yhden korttelin päässä muista CVS aukiolla, ja pääsee linja 474 00:24:38,470 --> 00:24:40,230 siellä saada maitoa. 475 00:24:40,230 --> 00:24:42,524 Nyt, tietenkin, muutaman minuutin myöhemmin, saatte molemmat takaisin, 476 00:24:42,524 --> 00:24:44,690 ja pahinta mahdollista Tavoitteet on tapahtunut. 477 00:24:44,690 --> 00:24:45,792 Molemmat teistä on maitoa. 478 00:24:45,792 --> 00:24:47,500 Ja et todellakaan kuten maitoa niin paljon. 479 00:24:47,500 --> 00:24:49,625 Niin yksi niistä on vain menossa hapan jossain vaiheessa. 480 00:24:49,625 --> 00:24:55,941 Joten nyt sinulla on liikaa maitoa jääkaappiin kaikki johtuu miksi? 481 00:24:55,941 --> 00:24:57,072 >> [Äänetön] 482 00:24:57,072 --> 00:24:59,780 DAVID MALAN: Joo, et ole jotenkin kommunikoida toistensa kanssa 483 00:24:59,780 --> 00:25:00,904 että olit saada maitoa. 484 00:25:00,904 --> 00:25:04,320 Niin yksinkertaisin tapoja ihmisten maailmassa, 485 00:25:04,320 --> 00:25:08,390 miten voisit välttää tämän tyhmän skenaario tapahtumasta kuten 486 00:25:08,390 --> 00:25:09,750 että olet vain päätyä yhteen. 487 00:25:09,750 --> 00:25:10,840 Text heitä, kyllä ​​hyvä. 488 00:25:10,840 --> 00:25:12,877 Mutta miten muuten? 489 00:25:12,877 --> 00:25:13,460 Post-it toteaa. 490 00:25:13,460 --> 00:25:14,626 DAVID MALAN: Post-it. 491 00:25:14,626 --> 00:25:17,150 Kaikenlainen viestintä joka kertoo kämppäkaveri 492 00:25:17,150 --> 00:25:18,670 älä mene jääkaapissa maitoa. 493 00:25:18,670 --> 00:25:20,440 Aion mennä keinometsittämistä itsekseni. 494 00:25:20,440 --> 00:25:22,770 Joten jotenkin tarvitset lukita tätä resurssia. 495 00:25:22,770 --> 00:25:27,180 Joten voimme tehdä this-- voimme eräänlainen pilata tarina ja muuttuu CS tarina 496 00:25:27,180 --> 00:25:30,360 jolloin ajatella tätä aivan kuten muuttuja, joka tallentaa parhaillaan jotain arvoa. 497 00:25:30,360 --> 00:25:32,570 Ja juuri nyt, arvo maito on nolla, 498 00:25:32,570 --> 00:25:35,410 jota et halua kämppis tarkastaa, että muuttuja 499 00:25:35,410 --> 00:25:38,730 ja sitten tehdä päätös itseään tilan perusteella kyseisen muuttujan 500 00:25:38,730 --> 00:25:42,430 jos olet parhaillaan tilan muuttamiseksi, että muuttuja. 501 00:25:42,430 --> 00:25:46,140 >> Joten yksi riviä SQL että me antaa sinulle PSET 7 erittely 502 00:25:46,140 --> 00:25:47,310 on tämä yksi täällä. 503 00:25:47,310 --> 00:25:49,740 Emmekä viettää valtava aika puhua siitä. 504 00:25:49,740 --> 00:25:55,100 Mutta näyttää siltä, ​​jos yrität ostaa hyllyssä CS50 rahoitus 505 00:25:55,100 --> 00:25:58,000 että sinulla on jo jotkut osakkeet, te 506 00:25:58,000 --> 00:26:01,750 haluavat pystyä tekemään useita asioita hetkessä yhdessä. 507 00:26:01,750 --> 00:26:04,360 Haluat pystyä tehokkaasti, korkealla tasolla, 508 00:26:04,360 --> 00:26:06,700 katso kaikki oikeassa, jos haluan ostaa lisää osakkeita Ilmainen, 509 00:26:06,700 --> 00:26:08,780 penniäkään varastossa puhua spec, 510 00:26:08,780 --> 00:26:10,660 Haluan ensin tarkistettava kuinka paljon osakkeita minulla on. 511 00:26:10,660 --> 00:26:11,810 Ja kai se on viisi. 512 00:26:11,810 --> 00:26:14,600 Ja kai haluan ostaa 10 enemmän, minä lopulta 513 00:26:14,600 --> 00:26:17,069 halua olla 15 osakkeella. 514 00:26:17,069 --> 00:26:18,360 Joten minun täytyy kysyä kaksi kysymystä. 515 00:26:18,360 --> 00:26:20,230 Mikä tila muuttuja? 516 00:26:20,230 --> 00:26:21,470 Mikä tila peräkkäin? 517 00:26:21,470 --> 00:26:22,970 Kuinka monta osaketta voin tällä hetkellä? 518 00:26:22,970 --> 00:26:24,636 Sitten haluat mennä eteenpäin ja päivittää sitä. 519 00:26:24,636 --> 00:26:27,720 Niin, että analogisesta maitoa, että tarkistat rivin, 520 00:26:27,720 --> 00:26:30,730 ja sitten haluat päivittää koska jos haluat ostaa 10 osaketta, 521 00:26:30,730 --> 00:26:32,521 et halua muuttaa rivi 10, voit 522 00:26:32,521 --> 00:26:35,300 haluat vaihtaa sen 5 plus 10 tai tietysti 15. 523 00:26:35,300 --> 00:26:40,030 >> Koodirivin varmistaa, että nämä kaksi käsitteellisiä ideoita 524 00:26:40,030 --> 00:26:42,810 tapahtua yhdessä tai ei ollenkaan. 525 00:26:42,810 --> 00:26:46,920 Kukaan, kuten jotkut muut käyttäjän kuka on kirjautunut samalla sivustolla, 526 00:26:46,920 --> 00:26:49,900 voi jotenkin keskeyttää tarkastukset rivin 527 00:26:49,900 --> 00:26:52,960 ja päivittäminen rivin, valita ja päivittää, jos tahtoa. 528 00:26:52,960 --> 00:26:57,360 Ja syntaksi ei ole super ilmeinen, mutta tämä yksi rivi, pitkä on se, 529 00:26:57,360 --> 00:27:01,150 varmistaa, että nämä kaksi toimintaa Tarkista muuttuja tai tarkista rivin 530 00:27:01,150 --> 00:27:04,660 ja päivittää rivi tapahtua atomisesti. 531 00:27:04,660 --> 00:27:06,849 >> Voi taas mennään. 532 00:27:06,849 --> 00:27:07,890 Tekstiviesti puhelimeen. 533 00:27:07,890 --> 00:27:09,954 Joten tehkäämme tästä hieman konkreettisempi. 534 00:27:09,954 --> 00:27:12,120 Oletetaan, että et ole täytäntöönpanosta jääkaappi, 535 00:27:12,120 --> 00:27:16,400 ja et ole täytäntöönpanosta PSET 7 mutta varsinainen pankki, 536 00:27:16,400 --> 00:27:20,000 tai ATM, pankkiautomaatti Kone, jolloin sinulle jotenkin 537 00:27:20,000 --> 00:27:22,960 haluavat voitava valtuuttaa käyttäjät voivat siirtää rahaa 538 00:27:22,960 --> 00:27:24,500 yhdeltä tililtä toiselle. 539 00:27:24,500 --> 00:27:25,100 OK, roikkua. 540 00:27:25,100 --> 00:27:26,683 Aion mykistää tähän nyt, kiitos. 541 00:27:26,683 --> 00:27:30,450 Joten haluamme siirtää rahaa yhdestä tilinumero 542 00:27:30,450 --> 00:27:33,600 eri tiliin määrä, erityisesti 100 dollaria. 543 00:27:33,600 --> 00:27:37,690 Joten tämä on tavallaan mielivaltainen Esimerkiksi, jolloin te, ATM, 544 00:27:37,690 --> 00:27:41,060 kannattaa suorittaa kahden SQL kyselyt, vähennä yhdeltä tililtä, 545 00:27:41,060 --> 00:27:42,430 ja lisätä toisen tilin. 546 00:27:42,430 --> 00:27:46,766 Mutta haluat varmistaa, että nämä kaksi riviä molemmat tapahtuu tai ei ollenkaan. 547 00:27:46,766 --> 00:27:48,640 Et halua jotain saada keskeytynyt. 548 00:27:48,640 --> 00:27:51,440 Et jotkut fiksu pahis jotenkin seisoo Bank of America 549 00:27:51,440 --> 00:27:53,270 kaksi pankkiautomaatit edessä hänestä ja jotenkin 550 00:27:53,270 --> 00:27:55,270 tavallaan kirjoittamalla komentoja samanaikaisesti, 551 00:27:55,270 --> 00:28:01,230 toivottavasti yrittää vähentää 200 dollaria sijaan 100 dollaria ja vain ottaa 100 dollaria hyvitetään. 552 00:28:01,230 --> 00:28:04,450 Lyhyesti sanottuna, et halua näin käyttäytyvät juuri niin kuin odottaa. 553 00:28:04,450 --> 00:28:06,540 >> Ja miten teet Tämän SQL-tietokanta on 554 00:28:06,540 --> 00:28:09,350 kääri se mitä kutsutaan liiketoimi. 555 00:28:09,350 --> 00:28:14,290 Kirjaimellisesti SQL, voit soittaa CS50: n hakutoiminto lainaamalla lainaus alku 556 00:28:14,290 --> 00:28:15,370 liiketoimi. 557 00:28:15,370 --> 00:28:18,640 Sitten voit suorittaa minkä tahansa määrän myöhempien SQL-kyselyjä, 558 00:28:18,640 --> 00:28:20,870 mutta mikään niistä ei tule Vaikutus tietokantaan 559 00:28:20,870 --> 00:28:25,880 kunnes puhelu Kysely lainaus lainaus sitoutua, jos taas PHP. 560 00:28:25,880 --> 00:28:29,810 Ja tällä tavalla voit varmistaa, että vaikka sinulla on 1000 käyttäjää kaikki 561 00:28:29,810 --> 00:28:32,080 lyömällä tietokannan samaan aikaan, SQL- 562 00:28:32,080 --> 00:28:34,540 lupaavat, että nämä kaksi kyselyt 563 00:28:34,540 --> 00:28:36,740 toteutetaan yksi oikea toisensa jälkeen. 564 00:28:36,740 --> 00:28:40,330 Niin et päädy yli maitoa tai väärän summan, lopulta, 565 00:28:40,330 --> 00:28:40,830 rahaa. 566 00:28:40,830 --> 00:28:43,110 >> Niin pitää tämä mielessä, ei niinkään PSET 7 567 00:28:43,110 --> 00:28:45,250 mutta lopullinen hankkeita Jos olet itse 568 00:28:45,250 --> 00:28:49,690 yrittää siirtää dataa noin taulukkojen kuten ehkä täällä. 569 00:28:49,690 --> 00:28:53,980 Mutta ehkä vieläkin helpompaa ja ilmeinen ymmärtää esimerkin 570 00:28:53,980 --> 00:28:54,860 on tämä yksi täällä. 571 00:28:54,860 --> 00:28:57,760 Ja joku on lähettänyt meille Tässä vain toinen päivä 572 00:28:57,760 --> 00:28:59,600 kun hän näki jotain vastaavaa verkossa. 573 00:28:59,600 --> 00:29:03,480 >> Joten minun tietääkseni, tappi järjestelmä ei Tämä heikkous. 574 00:29:03,480 --> 00:29:06,637 Ja minulla ei ole aavistustakaan, jos se edes käyttötarkoitukset SQL-tietokannan alla huppu. 575 00:29:06,637 --> 00:29:08,470 Mutta katsotaanpa käyttää sitä vuoksi keskustelu. 576 00:29:08,470 --> 00:29:10,178 Tässä on näyttö, joka Harvard ihmiset yleensä 577 00:29:10,178 --> 00:29:13,620 nähdä, kun kirjaudut sisään heidän Harvard tunnistenumeron ja niiden pin. 578 00:29:13,620 --> 00:29:19,020 Ja olettaa, että tappi järjestelmä oli toteutettu PHP ja MySQL 579 00:29:19,020 --> 00:29:22,000 tietokanta, koodi että joku ehkä kirjoittanut vuotta sitten 580 00:29:22,000 --> 00:29:23,270 voisi näyttää tältä. 581 00:29:23,270 --> 00:29:25,230 Ensimmäinen, julistaa muuttuja nimeltä käyttäjätunnus. 582 00:29:25,230 --> 00:29:27,560 Ja vain saada että vuodesta POST superglobal. 583 00:29:27,560 --> 00:29:30,140 Sitten saat toisen muuttujan nimeltään salasanan ja tehdä samoin. 584 00:29:30,140 --> 00:29:33,080 Ja sitten vain toteuttaa Tämän pitkän kyselyn täällä, 585 00:29:33,080 --> 00:29:36,690 Valitse tähti käyttäjiltä jossa käyttäjätunnus on sama kuin siinä ja siinä 586 00:29:36,690 --> 00:29:38,510 ja salasana on sama kuin niin ja niin. 587 00:29:38,510 --> 00:29:40,660 >> Huomaa, että kihara henkselit olen käyttänyt täällä 588 00:29:40,660 --> 00:29:42,880 tarkoita vain PHP, mennä eteenpäin ja korvaavaa 589 00:29:42,880 --> 00:29:45,400 arvon näiden kahden muuttujat oikeassa. 590 00:29:45,400 --> 00:29:50,090 He eivät ole ehdottoman välttämättömiä, mutta he pyrkivät välttämään hienovaraisia ​​syntaksivirheitä. 591 00:29:50,090 --> 00:29:53,650 Joten tämä näyttää täysin oikea ensi silmäyksellä. 592 00:29:53,650 --> 00:29:54,240 Ja se on. 593 00:29:54,240 --> 00:29:56,680 Voisit toteuttaa pin järjestelmä tällä tavalla. 594 00:29:56,680 --> 00:30:00,460 >> Mutta oletetaan, että Super älykäs ja ilkeä opiskelija 595 00:30:00,460 --> 00:30:03,020 input tätä hänen pin. 596 00:30:03,020 --> 00:30:05,550 Joten olen poistanut luodin merkkejä täällä pilkata ylös, 597 00:30:05,550 --> 00:30:08,760 ja olen todella paljasti mitä hän voisi olla kirjoittamista. 598 00:30:08,760 --> 00:30:10,350 Ja se on vähän outoa. 599 00:30:10,350 --> 00:30:13,850 Mutta mitä hyppää ulos sinua mahdollisesti huolestuttava noin käyttäjän panos, 600 00:30:13,850 --> 00:30:16,450 vaikka sinulla ei ole aavistustakaan, mitä SQL-injektio hyökkäys tarkoittaa. 601 00:30:16,450 --> 00:30:20,300 Miksi tämä näyttää hieman hämärä? 602 00:30:20,300 --> 00:30:21,050 Mikä tuo on? 603 00:30:21,050 --> 00:30:21,550 [Äänetön] 604 00:30:21,550 --> 00:30:24,260 DAVID MALAN: tai on hieman epäilyttävää. 605 00:30:24,260 --> 00:30:26,310 Itse asiassa, se on avainsana SQL. 606 00:30:26,310 --> 00:30:28,105 Niin että ei tiedä hyvää. 607 00:30:28,105 --> 00:30:29,980 Se, että on olemassa kaikki nämä puolilainausmerkkejä 608 00:30:29,980 --> 00:30:32,646 there-- itse asiassa, yksi helpoin tapoja rikkoa joitakin tietokantoja 609 00:30:32,646 --> 00:30:35,880 on kirjoittamalla nimi, kuten O'Reilly että on heittomerkki siinä 610 00:30:35,880 --> 00:30:38,600 sillä jos ihmisten, jotka kirjoittivat koodi kulissien takana 611 00:30:38,600 --> 00:30:41,570 ei oteta huomioon, että siellä voisi olla yksi lainauksia käyttäjän 612 00:30:41,570 --> 00:30:45,060 tulo, ja hän käyttää puolilainausmerkkejä niiden koodin, 613 00:30:45,060 --> 00:30:46,040 huonoja asioita voi tapahtua. 614 00:30:46,040 --> 00:30:47,870 >> Itse asiassa vielä pahempaa, pitävät tätä. 615 00:30:47,870 --> 00:30:50,600 Jos tämä oli taas koodi että joku Harvardin vuotta 616 00:30:50,600 --> 00:30:53,100 sitten kirjoitti pin järjestelmä, huomaa, mitä on 617 00:30:53,100 --> 00:30:56,220 saamassa substituoituja käyttäjätunnusta ja salasanaa 618 00:30:56,220 --> 00:30:59,780 jos käyttäjä on jälleen skroob niiden käyttäjätunnus 619 00:30:59,780 --> 00:31:03,960 ja sitten yksi, kaksi, kolme, neljä, viisi, lainaus tai lainaus lainaus yksi on 620 00:31:03,960 --> 00:31:04,660 lainata yksi. 621 00:31:04,660 --> 00:31:07,220 Ja huomaa, mitä on avain tässä käyttäjä ei ole 622 00:31:07,220 --> 00:31:09,900 aloittivat salasana tai niiden pin tarjouksen. 623 00:31:09,900 --> 00:31:12,610 Ja he eivät ole päättynyt sitä siteeraamalla koska hän 624 00:31:12,610 --> 00:31:16,315 lähtee siitä, että jos ohjelmoija ei ollut niin terävä, 625 00:31:16,315 --> 00:31:18,690 he ovat menossa nämä puolilainausmerkkejä niiden koodin. 626 00:31:18,690 --> 00:31:19,860 >> Joten tässä on koodi. 627 00:31:19,860 --> 00:31:23,820 Ja korvaaminen että saattaa tapahtua nyt on tämä. 628 00:31:23,820 --> 00:31:26,350 Ja olen korostanut, mitä käyttäjä on kirjoitettu. 629 00:31:26,350 --> 00:31:28,480 Joten ennen, jälkeen. 630 00:31:28,480 --> 00:31:33,330 Ja huomaa, mitä on lievästi huolestuttavaa nyt oikeudesta puolet tämän SQL-koodin? 631 00:31:33,330 --> 00:31:36,300 Se on hieman monimutkaisempi, tosin kuin kyselyt olemme nähneet. 632 00:31:36,300 --> 00:31:38,550 Mutta näin ei voi olla hyvä asia, jos olet 633 00:31:38,550 --> 00:31:42,240 sanomalla Valitse tähti, joka on valitse kaiken käyttäjän taulukko 634 00:31:42,240 --> 00:31:46,630 jossa käyttäjätunnus on sama skroob ja salasana on yksi, kaksi, kolme, neljä, 635 00:31:46,630 --> 00:31:49,610 viisi tai yksi on yksi. 636 00:31:49,610 --> 00:31:53,860 Mikä on looginen seuraus Tämän viimeksi mainitun lausekkeen oletettavasti? 637 00:31:53,860 --> 00:31:55,650 Se on vain aina totta. 638 00:31:55,650 --> 00:31:59,930 >> Ja koska olemme tavallaan arvasi tai tajunnut haparoiden 639 00:31:59,930 --> 00:32:02,760 että ohjelmoija joka Kirjoitin tämän koodin ei 640 00:32:02,760 --> 00:32:07,250 ennakoida ihmisten tai paha ihminen kirjoittamalla heittomerkkeihin samoin, 641 00:32:07,250 --> 00:32:10,350 Voimme syntaktisesti täydellinen SQL-kysely 642 00:32:10,350 --> 00:32:12,260 jotain järjetöntä vaan jotain, 643 00:32:12,260 --> 00:32:15,930 on syntaktisesti virheellinen että aina tosi. 644 00:32:15,930 --> 00:32:19,130 Joten jos tätä koodia käytetään vastata kysymys tosi tai epätosi olisi 645 00:32:19,130 --> 00:32:22,930 tämä käyttäjä saa kulkea, Vastaus on aina ilmeisesti menossa 646 00:32:22,930 --> 00:32:26,930 olla totta, koska se on aina menossa Valitse jotain tietokannasta 647 00:32:26,930 --> 00:32:29,280 koska yksi tietenkin aina yhtä kuin yksi. 648 00:32:29,280 --> 00:32:30,360 >> Joten mikä on ratkaisu? 649 00:32:30,360 --> 00:32:33,290 No PSET 7, me oikeastaan välttää tämä kaikki yhdessä. 650 00:32:33,290 --> 00:32:37,360 Annamme sinulle hakutoiminto, ja me Kannustamme sinua käyttämään kysymysmerkkejä 651 00:32:37,360 --> 00:32:40,430 paikkamerkeiksi, samanlainen hengeltään printf n% s, 652 00:32:40,430 --> 00:32:43,710 mutta mitä näppäintä noin kysymysmerkkejä täällä on, jos itse lukea läpi 653 00:32:43,710 --> 00:32:46,950 functions.php, jossa meidän hakutoiminto on toteutettu, 654 00:32:46,950 --> 00:32:52,780 näitä kysymysmerkkejä on karannut, jolloin mitään mahdollisesti vaarallisia 655 00:32:52,780 --> 00:32:58,210 kuten heittomerkki käännetään osaksi karannut heittomerkki. 656 00:32:58,210 --> 00:33:00,590 >> Joten tämä on mitä todella tapahtuu, jos 657 00:33:00,590 --> 00:33:04,850 käyttää CS50: n hakutoiminto tai useita Kolmansien osapuolten vapaa kirjastot 658 00:33:04,850 --> 00:33:06,000 tehdä samoin. 659 00:33:06,000 --> 00:33:09,850 Ei ole väliä tässä tapauksessa, vihreä, jos käyttäjä on kirjoittanut yhdessä lainaus 660 00:33:09,850 --> 00:33:12,070 koska kysely toiminto, joka kirjoitimme on 661 00:33:12,070 --> 00:33:15,120 aio lisätä kenoviivoja ennen tällaista vaarallista lainaus. 662 00:33:15,120 --> 00:33:17,360 Joten tämä ei ole, vuonna Itse asiassa tulee olemaan legit. 663 00:33:17,360 --> 00:33:20,910 Tämä on kuin kirjoittamalla hullu näköinen salasana, joka on, tietenkin, ei tule 664 00:33:20,910 --> 00:33:23,490 olla skroob todellista salasana. 665 00:33:23,490 --> 00:33:28,260 >> Joten takeaway CS50 on yksi, ehdottomasti aina käyttää jotain 666 00:33:28,260 --> 00:33:30,860 kuten CS50: n hakutoiminto tai taustalla kirjasto, 667 00:33:30,860 --> 00:33:32,560 joka sattuu olemaan nimeltään SAN. 668 00:33:32,560 --> 00:33:35,880 Mutta ei koskaan, ei koskaan, koskaan tee koodi näin 669 00:33:35,880 --> 00:33:39,472 ilman karkaaminen tai hankaamalla kuten he sanovat teidän tuloa. 670 00:33:39,472 --> 00:33:42,430 Ja tulet jossain vaiheessa luultavasti törmännyt verkkosivuilla kuten tämä. 671 00:33:42,430 --> 00:33:46,060 Itse asiassa se näyttää olevan kyse kuten lentoasemilla ja hotellit paikoissa 672 00:33:46,060 --> 00:33:48,880 jos niillä on ilmainen Wi-Fi yhteys, että sinun täytyy kirjautua sisään, 673 00:33:48,880 --> 00:33:51,010 nämä sivustot ovat aina hirvittävän täytäntöön. 674 00:33:51,010 --> 00:33:55,680 Ja niin tavallaan hauskaa kotona liikunta, ei haitallisiin tarkoituksiin tai enemmän 675 00:33:55,680 --> 00:33:59,170 hauska tiellä liikunta, on kirjoita 676 00:33:59,170 --> 00:34:02,850 heittomerkki, heittomerkki, muotoon joitakin verkkosivuilla 677 00:34:02,850 --> 00:34:03,810 ja katso mitä tapahtuu. 678 00:34:03,810 --> 00:34:06,660 Ja jos palvelin kaatuu tai antaa sinulla jonkinlainen virheilmoitus, 679 00:34:06,660 --> 00:34:09,690 se voi hyvinkin olla, että joku ei ennakoinut tätä. 680 00:34:09,690 --> 00:34:15,239 Ja sitten sinun pitäisi varoittaa asianmukainen viranomaisten ja jatka enää. 681 00:34:15,239 --> 00:34:20,843 >> Joten nyt te toivottavasti ymmärtää hieman nörtti huumoria täällä. 682 00:34:20,843 --> 00:34:24,120 >> [Naurua] 683 00:34:24,120 --> 00:34:27,571 684 00:34:27,571 --> 00:34:29,070 DAVID MALAN: Tiedät pelle. 685 00:34:29,070 --> 00:34:30,944 Usean seuraavan vuotta, muistat 686 00:34:30,944 --> 00:34:33,520 joka pikku Bobby taulukot on koska tämä sarjakuva täällä. 687 00:34:33,520 --> 00:34:36,760 Niin pitää tämä mielessä, kun me konstentinvaihdot viimeisen kerran 688 00:34:36,760 --> 00:34:38,770 tänään JavaScript. 689 00:34:38,770 --> 00:34:41,600 Olemme viettäneet suhteellisen vähän aikaa syntaksin PHP 690 00:34:41,600 --> 00:34:43,440 koska se on todella Super samanlainen C. 691 00:34:43,440 --> 00:34:47,300 Ja kauniisti tarpeeksi, JavaScript liian on erittäin samanlainen kuin C: n syntaksin 692 00:34:47,300 --> 00:34:49,639 sekä me nähdä vain hetken ja kuten tulemme 693 00:34:49,639 --> 00:34:51,205 katso myöhemmin tällä viikolla erityisesti. 694 00:34:51,205 --> 00:34:54,080 Mitä voit tehdä tällä kielellä, vaikka on kaikki voimakkaampi, 695 00:34:54,080 --> 00:34:55,790 erityisesti API. 696 00:34:55,790 --> 00:34:56,960 >> Mutta ensin lyhyt esittely. 697 00:34:56,960 --> 00:35:00,450 Joten, JavaScript, siellä Ei päätehtävä, mikä on mukavaa. 698 00:35:00,450 --> 00:35:02,650 Kuten PHP, voit vain kirjoittaa koodia. 699 00:35:02,650 --> 00:35:04,310 Olosuhteet näyttävät tältä. 700 00:35:04,310 --> 00:35:07,100 Ja Boolen pitää näyttää tältä tai näin. 701 00:35:07,100 --> 00:35:09,530 Kytkimet olemassa, ja ne voisi näyttää tältä. 702 00:35:09,530 --> 00:35:10,970 Neljä silmukoita näyttää tältä. 703 00:35:10,970 --> 00:35:12,390 Vaikka silmukat näyttävät tältä. 704 00:35:12,390 --> 00:35:14,160 Tehdä whiles näyttävät tältä. 705 00:35:14,160 --> 00:35:16,850 Ja sitten taulukot näyttävät Tämän, hyvin samanlainen kuin PHP. 706 00:35:16,850 --> 00:35:20,740 Mutta huomaa, että JavaScript sinua julistaa muuttuja eikä dollari 707 00:35:20,740 --> 00:35:25,190 allekirjoittaa, ei tietotyyppiä vaan kirjaimellisesti sanomalla var muuttujan ennen sitä. 708 00:35:25,190 --> 00:35:27,900 Sekin on löyhästi kirjoitettu siitä, että se on tyyppiä, 709 00:35:27,900 --> 00:35:29,729 mutta et erikseen ilmoita niistä. 710 00:35:29,729 --> 00:35:31,520 Ja sitten merkkijono, sillä Esimerkiksi voisi näyttää 711 00:35:31,520 --> 00:35:34,350 näin, että jono kutsutaan s tässä tapauksessa. 712 00:35:34,350 --> 00:35:35,410 Ja sitten kohde. 713 00:35:35,410 --> 00:35:37,010 Ja nämä näemme lisää ennen pitkää. 714 00:35:37,010 --> 00:35:41,470 Ja esine on ehkä yksi yleisimmin nähty tietorakenteita 715 00:35:41,470 --> 00:35:44,050 vuonna JavaScript perustuva ohjelma, koska se mahdollistaa 716 00:35:44,050 --> 00:35:46,680 voit liittää mielivaltaisen avain-arvo pareja juuri 717 00:35:46,680 --> 00:35:51,240 kuten PHP: n assosiatiiviset taulukot ja aivan kuin oma tiiviste 718 00:35:51,240 --> 00:35:54,042 tai yrittää niin toteutimme muutama viikko sitten. 719 00:35:54,042 --> 00:35:56,250 Joten itse nähdä mitä voimme tehdä JavaScript. 720 00:35:56,250 --> 00:35:59,410 Ja erityisesti, tämä on pitkä lista ominaisuuksia 721 00:35:59,410 --> 00:36:02,300 että selaimilla on, että jotta voimme liittää JavaScript 722 00:36:02,300 --> 00:36:05,470 osaksi verkkosivuilla seuraavasti. 723 00:36:05,470 --> 00:36:09,340 JavaScript käytetään usein client side scripting kieli. 724 00:36:09,340 --> 00:36:10,130 Se ei ole koottu. 725 00:36:10,130 --> 00:36:11,370 Sekin tulkitaan. 726 00:36:11,370 --> 00:36:15,740 Mutta toisin kuin PHP, joka on ollut käynnissä palvelimelle, web-palvelin, 727 00:36:15,740 --> 00:36:18,220 tai syvällä sisällä asiakkaita, JavaScript 728 00:36:18,220 --> 00:36:22,190 on erilainen, että se yleensä toimii selaimessa. 729 00:36:22,190 --> 00:36:26,060 >> Joten mitään JavaScript-koodin voit alkaa kirjoittaa varten PSET 8, tai opinnäytetyön, 730 00:36:26,060 --> 00:36:29,890 tai todellisessa maailmassa yleensä menossa voidaan tallentaa palvelimelle, ehdottomasti 731 00:36:29,890 --> 00:36:33,110 dot HTML tai piste JS JavaScript-tiedoston. 732 00:36:33,110 --> 00:36:35,770 Mutta selain on menossa ladata, että JavaScript 733 00:36:35,770 --> 00:36:39,530 koodi oman esiintymä Chrome, tai IE tai Firefox, tai mitä tahansa. 734 00:36:39,530 --> 00:36:43,870 Ja koodi on todella menossa teloitettiin sisällä oman selaimen. 735 00:36:43,870 --> 00:36:46,560 Vain tehdä tätä enemmän todellisia, Katsotaan tämä konkreettisesti. 736 00:36:46,560 --> 00:36:50,120 >> Meillä ei ole aavistustakaan, mitä tämä koodi ei ilman todella luet sen. 737 00:36:50,120 --> 00:36:52,670 Mutta anna minun mennä Facebook.com ilman sisäänkirjautumista. 738 00:36:52,670 --> 00:37:00,440 Anna minun mennä tarkastamaan Element ja mennä, sanotaanko, Verkko ja lataa sivu uudelleen. 739 00:37:00,440 --> 00:37:04,150 Ja me see-- haluaisin siirtää Reload Sivu saada kaikki pyynnöt uutta. 740 00:37:04,150 --> 00:37:08,850 Ja ensimmäinen tiedosto näen on CSS, CSS. 741 00:37:08,850 --> 00:37:10,880 Tässä on ensimmäinen JavaScript-tiedosto, ja minulla on 742 00:37:10,880 --> 00:37:14,600 ei ole aavistustakaan, mitä tämä tekee, mutta täällä on joitakin JavaScript-koodin 743 00:37:14,600 --> 00:37:16,180 joka ajaa Facebook. 744 00:37:16,180 --> 00:37:18,400 Se ei ole edes kovinkaan paljastaen lähentää. 745 00:37:18,400 --> 00:37:20,260 Se on edelleen aivan yhtä järjetön. 746 00:37:20,260 --> 00:37:24,341 >> Mutta näet myös alhaalla, siellä vielä enemmän näitä JavaScript-tiedostot. 747 00:37:24,341 --> 00:37:24,840 Oho. 748 00:37:24,840 --> 00:37:25,440 Se on ping. 749 00:37:25,440 --> 00:37:28,550 Mennään alas hieman edelleen, edelleen, edelleen. 750 00:37:28,550 --> 00:37:29,894 Siellä on yksi. 751 00:37:29,894 --> 00:37:31,238 Siellä on yksi. 752 00:37:31,238 --> 00:37:31,880 Siellä on yksi. 753 00:37:31,880 --> 00:37:35,820 >> Joten vaikka Facebook, takana kohtauksia, on kirjoitettu osittain PHP 754 00:37:35,820 --> 00:37:39,100 ja Facebookin oma versio siitä, Siellä on valtava määrä JavaScript. 755 00:37:39,100 --> 00:37:41,330 Itse asiassa, mitä tahansa chattailuun teet Facebookissa, 756 00:37:41,330 --> 00:37:45,520 Jonkin Inline aikajanan päivitykset että tapahtuu reaaliajassa, kaikki kyseisen 757 00:37:45,520 --> 00:37:47,944 ohjaavat JavaScript. 758 00:37:47,944 --> 00:37:48,444 Joo? 759 00:37:48,444 --> 00:37:50,235 >> Yleisö: En ole varma jos tämä on Facebook, 760 00:37:50,235 --> 00:37:53,624 mutta ajattelin, että Facebook kehitetty oman talon koodikieltä? 761 00:37:53,624 --> 00:37:54,540 DAVID MALAN: he tekivät. 762 00:37:54,540 --> 00:37:58,110 Joten siksi sanon varianssi PHP nimeltään Hip Hop, että ne todella 763 00:37:58,110 --> 00:38:03,440 lisäominaisuudet siten, että kun Mark toteutetaan ensimmäistä kertaa Facebook, 764 00:38:03,440 --> 00:38:04,710 se oli kirjoitettu PHP. 765 00:38:04,710 --> 00:38:07,370 Ja että sellainen on pysynyt eräänlainen etupään kieli 766 00:38:07,370 --> 00:38:09,030 että ne käyttävät paljon niiden koodausta, mutta se 767 00:38:09,030 --> 00:38:11,870 ei ole kieltä, joka on skaalautuu erityisen hyvin miljardeja 768 00:38:11,870 --> 00:38:12,630 ihmisiä. 769 00:38:12,630 --> 00:38:15,300 Ja niin he ovat lisänneet omat parannuksia kulissien takana. 770 00:38:15,300 --> 00:38:17,049 Ja he käytä numeroa muiden kielten 771 00:38:17,049 --> 00:38:19,170 eri kappaletta infrastruktuuriaan. 772 00:38:19,170 --> 00:38:24,080 Joten kyllä, se varianssi mitä nyt tiedämme kuten PHP. 773 00:38:24,080 --> 00:38:26,610 >> Joten katsomaan on pari esimerkkiä 774 00:38:26,610 --> 00:38:28,890 miten voisimme käyttää JavaScript tästä. 775 00:38:28,890 --> 00:38:32,530 Nykypäivän lähdekoodia, meillä nippu tiedostoja, joista ensimmäinen, 776 00:38:32,530 --> 00:38:34,090 Katsotaanpa kutsutaan DOM nolla. 777 00:38:34,090 --> 00:38:36,770 Joten DOM nolla näyttää seuraavalta. 778 00:38:36,770 --> 00:38:40,730 Anna minun mennä tähän hakemistoon ja avata domzero.html, 779 00:38:40,730 --> 00:38:44,970 jonka päällä on doc tyyppi ilmoitus, sano tässä tulee HTML 5. 780 00:38:44,970 --> 00:38:46,440 Ja nyt tässä on HTML-tunnisteen. 781 00:38:46,440 --> 00:38:47,540 Tässä pää tag. 782 00:38:47,540 --> 00:38:49,210 Ja tässä mitä uutta tänään. 783 00:38:49,210 --> 00:38:52,620 >> Meillä on nyt komentosarjatunnus sisällä pään sivulla. 784 00:38:52,620 --> 00:38:55,290 Ja tämä ilmeisesti ei hyvin vähän, mutta huomautus 785 00:38:55,290 --> 00:38:58,410 että olen määritellyt käsikirjoitus, JavaScript. 786 00:38:58,410 --> 00:39:01,050 Ja niin syrjään, koska tämä on yleinen väärinkäsitys, 787 00:39:01,050 --> 00:39:05,220 JavaScript ei ole mitään tehdä Java, kieli 788 00:39:05,220 --> 00:39:08,010 että jotkut teistä ehkä oppineet APCS. 789 00:39:08,010 --> 00:39:10,480 Se oli enemmän markkinointi asia kuin mitään, 790 00:39:10,480 --> 00:39:12,980 ratsastus coattails Java vuotta sitten. 791 00:39:12,980 --> 00:39:17,300 Mutta JavaScript, mitään tekemistä Java, juuri samalla tavalla, ja ärsyttävän, 792 00:39:17,300 --> 00:39:18,480 harhaanjohtavasti nimetty. 793 00:39:18,480 --> 00:39:21,890 >> Joten tässä on, miten voit julistaa toiminto JavaScript, kirjaimellisesti sanoa toiminto, 794 00:39:21,890 --> 00:39:24,556 sitten funktion nimi, sitten kaikki argumentit saattaa kestää, 795 00:39:24,556 --> 00:39:25,530 aivan kuten PHP. 796 00:39:25,530 --> 00:39:28,990 Osoittautuu JavaScript, yksi harmittaa toimintoja, jotka ovat olemassa on Alert. 797 00:39:28,990 --> 00:39:31,392 Tämä on pieni ikkuna, joka ponnahtaa ja hälyttää 798 00:39:31,392 --> 00:39:32,600 Joidenkin tieto. 799 00:39:32,600 --> 00:39:33,766 On yleisesti paheksuttavaa. 800 00:39:33,766 --> 00:39:35,980 Mutta käytämme sitä meidän ensimmäinen harjoitus täällä. 801 00:39:35,980 --> 00:39:37,900 >> Huomata muutama piirteitä JavaScript. 802 00:39:37,900 --> 00:39:41,524 Puolilainausmerkkejä ja lainausmerkit ei oikeastaan ​​enää väliä. 803 00:39:41,524 --> 00:39:43,690 Puolilainausmerkkejä ja kaksinkertainen lainauksia voidaan vaihtaa, 804 00:39:43,690 --> 00:39:46,220 kun taas C, sinun on käytettävä lainausmerkkeihin jousille, 805 00:39:46,220 --> 00:39:48,150 ja sinulla on kaksi erillistä lainausmerkkejä merkkiä. 806 00:39:48,150 --> 00:39:51,150 JavaScript-maailmassa, monet ihmiset, useimmat ihmiset 807 00:39:51,150 --> 00:39:54,970 Käytä puolilainausmerkkejä noin jouset vain koska se on tyylillinen asia. 808 00:39:54,970 --> 00:39:58,330 Mutta mitä plus operaattori täällä, jota emme ole ennen nähneet? 809 00:39:58,330 --> 00:39:59,836 >> Yleisö: ketjutus. 810 00:39:59,836 --> 00:40:00,960 DAVID MALAN: ketjutus. 811 00:40:00,960 --> 00:40:02,450 Joten C ei ole edes tätä. 812 00:40:02,450 --> 00:40:04,820 PHP on piste operaattori, joka tekee tämän. 813 00:40:04,820 --> 00:40:09,710 JavaScript on plus operaattori, joka erehdyttävästi on aivan kuin Java. 814 00:40:09,710 --> 00:40:11,440 Nyt mitä täällä on tekeillä? 815 00:40:11,440 --> 00:40:14,260 >> Joten tässä on, jos perus käsitys, että kuva 816 00:40:14,260 --> 00:40:17,010 me oksensi pari päivä sitten tulee pelata. 817 00:40:17,010 --> 00:40:19,620 Muistan kun meillä oli yksinkertainen versio HTML page-- 818 00:40:19,620 --> 00:40:20,830 se vain sanoi, hello world. 819 00:40:20,830 --> 00:40:22,770 Ja sitten me kiinnitti puu oikealle, joka 820 00:40:22,770 --> 00:40:27,320 oli joukko suorakulmioita ja linjat kytkemällä ne kuten sukupuu. 821 00:40:27,320 --> 00:40:30,820 Niin, että niin sanottu DOM tai Document Object Model. 822 00:40:30,820 --> 00:40:36,759 Ja käy ilmi, että voit käyttää suorakulmioita, että puu syntaksin 823 00:40:36,759 --> 00:40:37,550 kuten seuraavassa. 824 00:40:37,550 --> 00:40:41,370 Voit kirjaimellisesti sanoa asiakirja, joka on erityistä yleismuuttujan JavaScript 825 00:40:41,370 --> 00:40:45,890 ohjelma, joka on funktio liittyy se, että voit käyttää 826 00:40:45,890 --> 00:40:50,280 samanlainen struct, mutta voit yksinkertaisesti sanoa piste ja sitten funktion nimi, 827 00:40:50,280 --> 00:40:52,390 saada elementti tunnus. 828 00:40:52,390 --> 00:40:55,460 >> Elementti Haluan saada on ilmeisesti lainata lainaus nimi. 829 00:40:55,460 --> 00:40:57,150 Ja sitten haluan saada arvonsa. 830 00:40:57,150 --> 00:40:58,330 Nyt saamme asioiden edelle. 831 00:40:58,330 --> 00:41:00,038 En ole edes varma, mitä kaikki tämä on noin. 832 00:41:00,038 --> 00:41:03,000 Katsotaanpa nopeasti eteenpäin HTML sivu, joka on erittäin yksinkertainen. 833 00:41:03,000 --> 00:41:05,370 >> Huomaa, että olen määritellyt muodostavat tänne. 834 00:41:05,370 --> 00:41:07,940 Huomaatko olen antanut sen ainutlaatuinen ID, vaikka olemme ei käytetä 835 00:41:07,940 --> 00:41:08,870 tätä ominaisuutta ennen. 836 00:41:08,870 --> 00:41:11,300 Mutta tämä on olemassa HTML. 837 00:41:11,300 --> 00:41:15,570 Voit yksilöimään joitakin murikka HTML tunnisteella näin. 838 00:41:15,570 --> 00:41:19,880 >> Huomautus nyt this-- osoittautuu HTML tukee, per se pitkä lista 839 00:41:19,880 --> 00:41:22,490 hetki sitten, kokonainen nippu tapahtumankäsittelijät. 840 00:41:22,490 --> 00:41:25,060 Ja tämä tapahtumakäsittely sanoo esittää. 841 00:41:25,060 --> 00:41:28,730 Käyttäjän jättämistä tämän lomakkeen, soita seuraava koodi. 842 00:41:28,730 --> 00:41:31,360 Ja koodi, joka on menossa kutsua tai suorittaa 843 00:41:31,360 --> 00:41:35,260 on juuri tämä, Kreikan toiminto seuraa return false. 844 00:41:35,260 --> 00:41:37,360 Kaikki muu olisi olla melko tuttu. 845 00:41:37,360 --> 00:41:42,050 >> Täällä on tulon tyypin tekstiä, jonka ID, tässä tapauksessa tulee olemaan nimi. 846 00:41:42,050 --> 00:41:45,430 Meillä ei ole varsinaista nimeä määrite Tämän time-- ja lähetä -painiketta. 847 00:41:45,430 --> 00:41:48,330 Joten mikä sivu näyttää tältä. 848 00:41:48,330 --> 00:41:52,890 Ja tuloksena käyttäytymistä, näet, näyttää tältä. 849 00:41:52,890 --> 00:41:56,940 Sivu se paikallisten isäntien sanoo, hei David, tuskin esteettisesti miellyttävä 850 00:41:56,940 --> 00:41:58,340 tapa tervehtiä käyttäjälle. 851 00:41:58,340 --> 00:41:59,950 Mutta mitä todella tapahtuu? 852 00:41:59,950 --> 00:42:01,360 >> No, mieti mitä tämä on. 853 00:42:01,360 --> 00:42:02,310 Tämä on tekstikenttään. 854 00:42:02,310 --> 00:42:04,635 Ja mukaan HTML täällä, olen antanut sille 855 00:42:04,635 --> 00:42:07,350 yksilöllinen tunniste nimeltään lainaus lainaus nimi. 856 00:42:07,350 --> 00:42:09,770 Samaan aikaan, olen sanonut, kun käyttäjä lähettää tämän lomakkeen 857 00:42:09,770 --> 00:42:13,820 by enteriä tai klikkaamalla Lähetä painike, call toiminto nimeltään Greet 858 00:42:13,820 --> 00:42:15,410 ja sitten return false. 859 00:42:15,410 --> 00:42:16,870 Tarkastellaan näitä taaksepäin. 860 00:42:16,870 --> 00:42:20,590 Huomaa kun valitset Lähetä, Sivun osoite ei muutu. 861 00:42:20,590 --> 00:42:22,420 Selaimen ikoni ei alkavat pyöriä. 862 00:42:22,420 --> 00:42:27,050 En mene minnekään, ja se on kirjaimellisesti koska sanoin return false. 863 00:42:27,050 --> 00:42:31,534 Return false oikosulkuja tai pysähtyessä oletustoimintaa muodossa. 864 00:42:31,534 --> 00:42:33,700 Niin että sitten jää meille Tässä vielä yksi kysymys. 865 00:42:33,700 --> 00:42:34,764 Mitä Greet tehdä? 866 00:42:34,764 --> 00:42:36,680 No, Tervehtiä ilmeisesti kutsuu funktiota kutsutaan 867 00:42:36,680 --> 00:42:39,250 Alert, kulkee yhdessä pitkä argumentti, joka on 868 00:42:39,250 --> 00:42:43,950 tulos ketjuttamalla yhdessä nippu merkkijonoa, Hei pilkku tilaa, 869 00:42:43,950 --> 00:42:45,810 niin mitä tämä palaa. 870 00:42:45,810 --> 00:42:51,490 Joten asiakirja on kuin globaali muuttuja, että juuri tuon puun, 871 00:42:51,490 --> 00:42:55,560 soittamalla erityinen toiminto, muuten nyt tunnetaan menetelmä. 872 00:42:55,560 --> 00:42:57,650 Toiminto, joka on sisällä muuttuja on 873 00:42:57,650 --> 00:42:59,640 kutsuttu menetelmä sijasta funktio. 874 00:42:59,640 --> 00:43:01,570 >> Joten elementin ID. 875 00:43:01,570 --> 00:43:03,940 Mikä elementti sinä haluavat saada sen tunnus? 876 00:43:03,940 --> 00:43:06,970 Lainata lainaus nimi ja sitten erityisesti arvostavat. 877 00:43:06,970 --> 00:43:12,000 Eli toisin sanoen, että koodi yksinkertaisesti toteaa tekstikenttään, jonka tunnus on nimi 878 00:43:12,000 --> 00:43:13,380 ja sitten saa sen arvon. 879 00:43:13,380 --> 00:43:16,460 Joten jos olisin muuttaa tätä ja sano Davin Daavidin sijaan, 880 00:43:16,460 --> 00:43:20,670 ja valitse Lähetä, nyt me on tervehdys Davin. 881 00:43:20,670 --> 00:43:22,890 >> Okei, joten kaikki hyvä ja hieno. 882 00:43:22,890 --> 00:43:25,480 Mutta katsotaanpa, jos voimme tehdä Tässä hieman puhtaampi, koska vain 883 00:43:25,480 --> 00:43:28,190 koodausta kuin tämä on yleensä aiotaan paheksuttavaa. 884 00:43:28,190 --> 00:43:30,060 Tämä on menossa katsomaan pelottavampi. 885 00:43:30,060 --> 00:43:32,330 Mutta mikä on ensimmäinen erotuksella, että huomaat täällä 886 00:43:32,330 --> 00:43:35,970 Tässä versiossa lisäksi nimiseikkaan DOM yksi? 887 00:43:35,970 --> 00:43:41,110 Mitä rakenteellisesti näyttää erilaiselta tästä verrattuna muihin? 888 00:43:41,110 --> 00:43:41,932 Joo? 889 00:43:41,932 --> 00:43:43,890 Yleisö: Onko muodossa päälle kirjoitus nyt? 890 00:43:43,890 --> 00:43:46,570 DAVID MALAN: Joo, muoto on päällä käsikirjoituksen jostain utelias syystä. 891 00:43:46,570 --> 00:43:48,736 Niin, että ensimmäinen asia, joka hyppää ulos minuakin. 892 00:43:48,736 --> 00:43:50,990 Ja onneksi ainakin, tämä osa on sama. 893 00:43:50,990 --> 00:43:53,470 Joten ainoa asia, joka vaikuttaa olla erilainen on tämä. 894 00:43:53,470 --> 00:43:55,296 >> Joten tässä mitä siisti noin JavaScriptin 2. 895 00:43:55,296 --> 00:43:57,420 Ja se vaikeuttaa ymmärtää ensi silmäyksellä, 896 00:43:57,420 --> 00:44:00,670 varsinkin opinnäytetöiden jos etsit mallikoodi verkossa, 897 00:44:00,670 --> 00:44:04,200 mutta se kuihtuu joitakin perus syntaktisia piirteitä. 898 00:44:04,200 --> 00:44:06,230 Tässäkin on, että globaali muuttuja asiakirja. 899 00:44:06,230 --> 00:44:09,540 Tässäkin on se, että menetelmä tai funktio joka sanoo saada elementin ID. 900 00:44:09,540 --> 00:44:11,570 Tällä kertaa haluan saada ID nimeltään demo. 901 00:44:11,570 --> 00:44:12,490 Missä se on? 902 00:44:12,490 --> 00:44:15,400 Se on ilmeisesti oikea täällä, muoto itse. 903 00:44:15,400 --> 00:44:20,010 >> Ja nyt huomaan, että ilmeisesti jos minä saada takaisin, että solmun puu, joka 904 00:44:20,010 --> 00:44:22,940 edustaa muodossa itse, ei tekstikenttään, 905 00:44:22,940 --> 00:44:26,970 käy ilmi, että lomakkeen, joka solmu tai suorakulmion puusta, 906 00:44:26,970 --> 00:44:30,450 on mitä me kutsumme omaisuutta, hyvin, hyvin, hyvin samankaltainen 907 00:44:30,450 --> 00:44:35,390 hengeltään struct C. Se on vain data jäsen sisällä tämän suorakulmion. 908 00:44:35,390 --> 00:44:38,300 >> Joten minulla muodossa täällä, ja olen liittämässä, 909 00:44:38,300 --> 00:44:44,650 tai olen määrittämällä, sen Submit ohjaajan tai pikemminkin Lähetä omaisuus 910 00:44:44,650 --> 00:44:45,740 seuraava toiminto. 911 00:44:45,740 --> 00:44:49,000 Ja tämä on ylivoimaisesti hulluin asia toistaiseksi syntaktisesti. 912 00:44:49,000 --> 00:44:53,610 On käynyt ilmi, JavaScript ja PHP, ja rehellisesti, että asia C, 913 00:44:53,610 --> 00:44:58,990 vaikka emme tee sitä, voit lisätä nimetön, nimetön, tai AKA lambda 914 00:44:58,990 --> 00:45:03,000 toimintoja, jotka eivät ole nimeä mutta voidaan kutsua kuitenkin. 915 00:45:03,000 --> 00:45:07,050 >> Joten mitä teen täällä olen osoitetaan Tämän Submit omaisuutta, joka 916 00:45:07,050 --> 00:45:14,330 on sisällä tämän solmun minun DOM-puuhun, toiminto, funktio-osoitin jos haluatte. 917 00:45:14,330 --> 00:45:16,310 Tämä toiminto ei ole nimi, mutta se ei 918 00:45:16,310 --> 00:45:19,110 väliä, koska näemme hetken, miten sitä kutsua. 919 00:45:19,110 --> 00:45:21,780 Kun tämä toiminto on nimeltään, Tämän koodin saa suorittaa, sitten 920 00:45:21,780 --> 00:45:24,210 false palautetaan aivan kuten ennenkin. 921 00:45:24,210 --> 00:45:25,800 >> Mutta huomaa, mitä olen tehnyt. 922 00:45:25,800 --> 00:45:27,830 Tässä vaiheessa tarina, minulla muodossa. 923 00:45:27,830 --> 00:45:30,190 Se sai yksilöllinen tunnus nimeltään demo. 924 00:45:30,190 --> 00:45:33,740 Tänne, minulla on komentosarjatunnus joka toteuttaa seuraavan koodin. 925 00:45:33,740 --> 00:45:37,720 Se kiinnittyy että solmuun puu se Submit 926 00:45:37,720 --> 00:45:40,260 kiinteistö tätä toimintoa täällä. 927 00:45:40,260 --> 00:45:44,310 Ja aivan luonnostaan, kuinka selaimet toimivat, kun nyt valitse Lähetä tai paina Enter, 928 00:45:44,310 --> 00:45:45,889 että toiminto on menossa kutsutaan. 929 00:45:45,889 --> 00:45:48,680 Se ei tarvitse nimeä, koska joka Pahus välittää sen nimeä. 930 00:45:48,680 --> 00:45:52,540 Ainoa kerta se ikinä päästä nimeltään on kun lähettää lomakkeen. 931 00:45:52,540 --> 00:45:55,130 Ei ole mitään tarvetta minulle, ihmisen kehittäjä, 932 00:45:55,130 --> 00:45:57,330 todella kutsua sitä missään muualla. 933 00:45:57,330 --> 00:46:00,720 >> Nyt vain teaser, ikään kuin ei mielen taivutus tarpeeksi, 934 00:46:00,720 --> 00:46:03,330 voimme jopa tehdä tästä näyttää enemmän arvoituksellinen käyttäen 935 00:46:03,330 --> 00:46:05,850 Super suosittu kirjasto nimeltään jQuery. 936 00:46:05,850 --> 00:46:08,760 Itse jQuery ja JavaScript ovat usein sekoittanut. 937 00:46:08,760 --> 00:46:12,790 Ja mitä me teemme keskiviikkona on alku Käyttämällä tätä kieltä ja nämä kirjastot 938 00:46:12,790 --> 00:46:16,030 rakentaa yhä asynkroninen ja dynaamisia sovelluksia 939 00:46:16,030 --> 00:46:18,950 kuten kartta tulossa sovellukset, sovellukset 940 00:46:18,950 --> 00:46:22,360 että päivittää verkkosivun todellinen aikaa, aivan kuten Facebook tai Gchat 941 00:46:22,360 --> 00:46:27,130 tehdä, eikä enää tyytyä Lyömällä esittämään get tai vain postitse 942 00:46:27,130 --> 00:46:27,630 yksin. 943 00:46:27,630 --> 00:46:29,055 Joten Nähdään keskiviikkona. 944 00:46:29,055 --> 00:46:31,805 945 00:46:31,805 --> 00:46:35,550 >> [Musiikki soi] 946 00:46:35,550 --> 00:48:09,728