1 00:00:00,000 --> 00:00:02,570 [Powered by Google Translate] [Aste 9] 2 00:00:02,570 --> 00:00:04,740 [David J. Malan - Harvard Unibertsitatea] 3 00:00:04,740 --> 00:00:07,170 [Hau CS50 da. - CS50.TV] 4 00:00:07,170 --> 00:00:12,350 Guztiak eskubidea. Ongi etorri berriro. Hau CS50 da, eta hau da 9 aste hasieran. 5 00:00:12,350 --> 00:00:16,600 Gaur egun, fokua, bereziki, diseinua, ez C testuinguruan 6 00:00:16,600 --> 00:00:20,010 baina PHP eta SQL apur bat testuinguruan eta JavaScript pixka bat, 7 00:00:20,010 --> 00:00:23,730 batez ere, bai pset 7 amaiera aldera, eta, gainera, azken proiektua. 8 00:00:23,730 --> 00:00:26,310 Izan ere, puntu horretan baduzu, zure proiektua behin betiko 9 00:00:26,310 --> 00:00:30,100 non ustez, gutxienez, ordu bat edo, beraz, ago pentsamendu batzuk ematen hasi ziren 10 00:00:30,100 --> 00:00:33,730 zure azken proiektua eta 1 edo 2 ikaskideekin lankidetzan aritzea, nahi duzun pentsatzen ari zaren, 11 00:00:33,730 --> 00:00:36,150 ari zaren arazoak izatea bada lotzen esan ikaskideekin, 12 00:00:36,150 --> 00:00:40,570 sentitzen free inprimakia bete cs50.net/partners/form at. 13 00:00:40,570 --> 00:00:42,880 Galdetzen besterik ez duzu nor zaren, zer nolako proiektua pentsatzen ari zaren, 14 00:00:42,880 --> 00:00:44,870 arrazoi logistiko for non bizi duzu. 15 00:00:44,870 --> 00:00:49,510 Eta gero, hurrengo astean edo, beraz, kalkulu-orriak URL hor baino begi bat mantendu nahi duzun bada, 16 00:00:49,510 --> 00:00:53,520 Google doc bertsioa irakurtzeko soilik ikusi ahal izango dituzu. 17 00:00:53,520 --> 00:00:56,010 informazio hori jasotzen ari gara. 18 00:00:56,010 --> 00:00:58,930 Beraz, bada, norbait lan egin nahi duzun, baliabide guztiak sentitzen free pertsona iristeko 19 00:00:58,930 --> 00:01:00,480 mekanismo horren bidez. 20 00:01:00,480 --> 00:01:02,690 Baina Folks gehienak lana bakarka. Guztiz fina. 21 00:01:02,690 --> 00:01:06,120 Beraz, ez sentitzen hori inolaz ere derrigorrezkoa da. 22 00:01:06,120 --> 00:01:09,680 Ostirala On besterik ez zen niretzat, eta taldeko batzuk hemen 23 00:01:09,680 --> 00:01:11,100 gehien antzerki hutsik. 24 00:01:11,100 --> 00:01:14,600 3 turista eserita dago, apur bat awkward zen, beraz. 25 00:01:14,600 --> 00:01:18,970 Zer hitz egin dugu datu-base izan zen, eta hitz egiten dugu pixka bat, 7 pset buruz. 26 00:01:18,970 --> 00:01:22,200 Eta ez baduzu ez da gertatuko hori harrapatzeko bideoan oraindik, fina da. 27 00:01:22,200 --> 00:01:26,770 Saiatu edozein hitz definitzeko behar dut bestela hartu dugun emandako 28 00:01:26,770 --> 00:01:28,840 Ostirala-en hitzaldia oinarritzen da. 29 00:01:28,840 --> 00:01:32,550 >> Baina gaur egun puntua saiatu goaz 30 00:01:32,550 --> 00:01:34,990 ez bakarrik gai pset 7 bezalako zerbait egin behar izateaz 31 00:01:34,990 --> 00:01:37,360 baina benetan ulertzen zer ari den gertatzen kanpaia azpian, 32 00:01:37,360 --> 00:01:41,910 batez ere leku jartzen dugun functions.php fitxategia abstrakzioak batzuk 33 00:01:41,910 --> 00:01:45,780 zure bizitza pixka bat errazteko, baina, azken finean, ulertu 34 00:01:45,780 --> 00:01:48,760 beraz, prestakuntza-gurpilak etortzen off aste batzuk oraindik bizirik irauteko 35 00:01:48,760 --> 00:01:53,750 mundu errealean eta zer stuff hau azpian esparru CS50 gabe. 36 00:01:53,750 --> 00:01:57,500 Hau $ _saioa dutenek ezagunak 37 00:01:57,500 --> 00:02:01,960 edo dagoeneko harrapatu bideoa Ostirala, zer ez SAIOA gaitezen egin 38 00:02:01,960 --> 00:02:04,330 PHP-n oinarritutako web aplikazio bat? 39 00:02:04,330 --> 00:02:09,650 Hau superglobal aldagaia da, eta horrek esan nahi du espiritua antzekoa da eta IRITSI ONDOREN 40 00:02:09,650 --> 00:02:13,970 eta beste batzuk, baina zer gauza hau oso erabilgarria da? 41 00:02:13,970 --> 00:02:18,320 >> Zer da SAIOA erabiltzen? Bai. [Ikasleak] saioa hasi 42 00:02:18,320 --> 00:02:21,040 Sentitzen dugu? [Ikasleak] sartu Saio-hasiera sartu saioaren amaiera Izan ere. 43 00:02:21,040 --> 00:02:25,100 7 pset SAIOA superglobal hau erabiltzen ari gara, saioa hasi errazteko 44 00:02:25,100 --> 00:02:28,600 Eta zer superglobal honi buruzko nice elkartze-array bat da. 45 00:02:28,600 --> 00:02:33,190 Elkartze-array bat, oroitzapen, besterik ez da array bat, baina horren indizeek ez dute zenbakiak izan 46 00:02:33,190 --> 00:02:37,670 012 atsegin dute. Zenbakiak izan daitezke, edo are kateak daitezke. 47 00:02:37,670 --> 00:02:44,890 Eta horrela dituzun 7 pset hartuz gero dived oraindik gogoratzen ari gara izeneko gako ID gordetzeko dezakezu 48 00:02:44,890 --> 00:02:50,330 array elkartze hau eta bere balioa 123 antzeko zerbait da barruan 49 00:02:50,330 --> 00:02:53,780 edozein user ID oraindik. 50 00:02:53,780 --> 00:02:59,470 Honen motibazioa da ondoren ere bisitatu ditu localhost 51 00:02:59,470 --> 00:03:02,720 edo nire webgunean, oro har, eta, ondoren, saioa hasi haiekin, 52 00:03:02,720 --> 00:03:07,320 nahiz eta ez dira egin klik esteka bat edo nire webgunean itzultzeko 5 minutu 53 00:03:07,320 --> 00:03:10,730 edo nahiz eta ordu bat edo egun bat ere, baina bere nabigatzailea leihoa irekita utzi dute, 54 00:03:10,730 --> 00:03:14,370 superglobal honen bidez egin ahal izango direla oraindik sartu gogoratzen dut 55 00:03:14,370 --> 00:03:21,140 >> Beste era batera esanda, apur bat epe luzerako ezer nahi erabiltzaile bati buruzko I gordetzeko aukera ematen du. 56 00:03:21,140 --> 00:03:24,390 Eta benetan uste ahal izango duzu erosketa saskia Enkarnazio gisa. 57 00:03:24,390 --> 00:03:27,740 Amazon bezalako Lekuak, jakina, utzi gauzak erosketa saskian batean, 58 00:03:27,740 --> 00:03:32,230 baina HTTP, protokolo Web botereak, estaturik gabeko 59 00:03:32,230 --> 00:03:34,230 zentzu web orri bat bisitatzen duzunean, 60 00:03:34,230 --> 00:03:37,290 gehienetan ez duzu sare konexioa konstante 61 00:03:37,290 --> 00:03:39,270 zure nabigatzaile eta zerbitzariaren artean. 62 00:03:39,270 --> 00:03:42,190 Deskargatu dituzun bezain laster HTML, eta JPEGs eta GIFs eta, guztiak 63 00:03:42,190 --> 00:03:48,200 konexioa doa urrun eta aski izango duzu HTML eta whatnot kopia bat zerbitzarian. 64 00:03:48,200 --> 00:03:53,000 Baina zerbitzari nahi duzu zerbait gogoratu nahi izanez gero, 65 00:03:53,000 --> 00:03:57,580 zama zerbitzariak informazio hori benetan grabatu da. 66 00:03:57,580 --> 00:04:00,130 Programatzailea eta, beraz, zerbitzariak gaineko kontrola duten 67 00:04:00,130 --> 00:04:04,400 gehienetan ezer jar dezakezu nahi duzun barruan honetan elkartze-array superglobal 68 00:04:04,400 --> 00:04:06,850 eta han izango da hurrengo aldian Erabiltzaile bueltatzen 69 00:04:06,850 --> 00:04:12,070 ala ez minutu edo, nahiz eta egun batzuk geroago, itxi dituztenean arakatzailearen leiho ezean, 70 00:04:12,070 --> 00:04:14,360 puntua SAIOA desagertu egingo da. 71 00:04:14,360 --> 00:04:17,779 Beraz, iragankorrak biltegiratze da, ez-iraunkorrak, eta ondorioz, urrun joan 72 00:04:17,779 --> 00:04:22,360 bezain laster, erabiltzaileak bere nabigatzailea ixten - Ez hori bakarrik fitxa, sarritan osoa nabigatzailean, 73 00:04:22,360 --> 00:04:24,930 horrela, modu eraginkorrean erabiltzaileak saioa hastean. 74 00:04:24,930 --> 00:04:28,000 Beraz, gauza hori benetan nola inplementatu? 75 00:04:28,000 --> 00:04:31,360 Dezagun begiratu ostiralean dugu adibide sinple bat begirada bat. 76 00:04:31,360 --> 00:04:33,340 Ohituta dituztenentzat, hau bezain sinplea izan zen. 77 00:04:33,340 --> 00:04:35,910 Hau da, web orrian eta horren helburua da bizitzan esango 78 00:04:35,910 --> 00:04:38,000 zenbat aldiz bisitatu dut orrialde hau. 79 00:04:38,000 --> 00:04:41,670 Lehenengo aldia da hemen Astelehena bisitatu dut, beraz, 0 dio. 80 00:04:41,670 --> 00:04:46,940 >> Baina hasten badut Orri hau berritu, dio denbora 1, 2, 3, 4, 5, 81 00:04:46,940 --> 00:04:49,800 eta azkenean bakarrik kontatuta on mantentzeko, gora, gora, gora, gora 82 00:04:49,800 --> 00:04:53,130 aldi bakoitzean sakatu benetan dut Birkargatu. 83 00:04:53,130 --> 00:04:58,830 Beraz, lan-hau da, nola? Barruan joan me izeneko counter.php fitxategi hau. 84 00:04:58,830 --> 00:05:02,490 Goiko zati urdina iruzkinak da, baina zati interesgarria da hemen. 85 00:05:02,490 --> 00:05:06,670 Line 13 session_start On funtzio hau deitu dugu, 86 00:05:06,670 --> 00:05:09,600 eta hori da, hitzez hitz guztiak egin behar duzu nahi duzun sarbidea izan nahi izanez gero 87 00:05:09,600 --> 00:05:13,610 bereziak izeneko superglobal hau $ _saioa. 88 00:05:13,610 --> 00:05:17,430 Horregatik, posible guztiak, eta nola da posible guztiak une bat ikusi dugu. 89 00:05:17,430 --> 00:05:20,350 16 line oharra zer egiten ari naiz. 90 00:05:20,350 --> 00:05:25,960 Beste era batera esanda, indizearen balioa - "counter" gakoa, counter deitzen badu 91 00:05:25,960 --> 00:05:32,310 izeneko SAIOA, orduan zer am lerroan I egiten beheko array honen barruan badago? 92 00:05:32,310 --> 00:05:36,650 Zer line 18 egiten da? 93 00:05:36,650 --> 00:05:40,360 >> [Inaudible ikaslearen erantzuna] Zer da hori? [Ikasleak] balioa gordetzeko. Good. 94 00:05:40,360 --> 00:05:45,800 , Balioa duten SAIOA da gordetzeko lokal bat aldi baterako aldagaia berria oraintxe, 95 00:05:45,800 --> 00:05:48,250 $ Minuskulaz guztiak mahaian. 96 00:05:48,250 --> 00:05:50,770 Iragarki PHP dagoeneko pixka bat alferrak hemen. 97 00:05:50,770 --> 00:05:55,550 Ohartu ez dugu izan int, float edo katea edo ezer bezala edozein aipamen 98 00:05:55,550 --> 00:06:00,480 PHP idatzitako ahula delako, beraz, ez duzu aldagai bat mota zehazteko, 99 00:06:00,480 --> 00:06:03,310 eta kasu honetan hemen ez dut are deklaratu oraindik. 100 00:06:03,310 --> 00:06:08,980 Naiz geratuko barruan giltza horiek kizkur eta C ez bezala, hau da, benetan ados. 101 00:06:08,980 --> 00:06:13,800 Ez dio axola nola sakon habiaratuak aldagai baten aitorpena PHP 102 00:06:13,800 --> 00:06:16,650 kizkur giltza, barruan kizkur giltza eta antzeko barruan - 103 00:06:16,650 --> 00:06:21,230 une horretan egingo du programaren gainerako existitzen, 104 00:06:21,230 --> 00:06:22,680 Onerako edo txarrerako. 105 00:06:22,680 --> 00:06:26,930 Beraz, berehala bihurtzen global bezain laster definitzeko ari gara hemen egiten. 106 00:06:26,930 --> 00:06:31,620 >> Bestela, ez bada ez dut ez dagoela ezer SAIOA superglobal 107 00:06:31,620 --> 00:06:34,680 Counter hau aldakorra hasieratzean itxuraz dut, 0 108 00:06:34,680 --> 00:06:37,580 beraz, erabiltzaileak ez du inoiz izan hemen aurretik suposatuz. 109 00:06:37,580 --> 00:06:40,030 Eta gero, jakina da eta counter nola incrementing? 110 00:06:40,030 --> 00:06:44,480 Elkartze-array honen barruan balioa duten eguneratzen dut 111 00:06:44,480 --> 00:06:49,530 edozein dela ere counter Gaur egun + 1 berdintasuna ezarriz. 112 00:06:49,530 --> 00:06:53,520 Joan I behera bada hemen orriaren HTML, actually pretty simple. 113 00:06:53,520 --> 00:06:58,920 Orri honen gorputza da, "bisitatu dute gune hau, beraz, eta, beraz, aldiz." 114 00:06:58,920 --> 00:07:00,350 Eta hau PHP eraikuntza bat da. 115 00:07:00,350 --> 00:07:06,080 Egin 00:07:12,600 Printf antzeko zerbait, ikusi dugu hainbat aldiz C benetan baliokidea da, 117 00:07:12,600 --> 00:07:15,940 dagoeneko ezagutzen duzun bezala, nahiz eta 7 pset zehaztutako 118 00:07:15,940 --> 00:07:20,160 inprimatu da funtzio bat besterik ez bistaratzen zerbait izarrekin ere, ez du benetan formatu kodeak erabili 119 00:07:20,160 --> 00:07:23,270 eta benetan esan dezakezu oihartzuna baita. 120 00:07:23,270 --> 00:07:27,460 Oraindik dute inoiz beraz, apur bat ezberdinak, nahiz eta eragina garbia da, azken finean, gauza bera. 121 00:07:27,460 --> 00:07:31,270 Erabilera hau berdin zeinu Beraz, dotorea modu bat egiteko moduko 122 00:07:31,270 --> 00:07:34,910 succinctly baino gehiagotan bestela ahal izango dezakezu. 123 00:07:34,910 --> 00:07:38,370 Beraz, gune honetan ez. Bistaratzen ditu counter balio. 124 00:07:38,370 --> 00:07:40,550 Nola da hori guztia benetan gertatzen ari den? 125 00:07:40,550 --> 00:07:43,250 Aste bat gogora ekarri ahal izango duzu, edo duela kanpaia azpian bilatzen hasi ginen 126 00:07:43,250 --> 00:07:47,910 web orri bat Inspector fitxa hau erabiliz nola funtzionatzen. 127 00:07:47,910 --> 00:07:51,900 >> Chrome du Mac bertsioa, Windows bertsio, eta are Linux bertsio bi 128 00:07:51,900 --> 00:07:59,510 eta Firefox eta IE antzeko mekanismo horren bidez eraikitako-in araztaileak duzu 129 00:07:59,510 --> 00:08:01,400 nabigatzailearen barruan. 130 00:08:01,400 --> 00:08:03,040 Dezagun honako hauek begirada bat. 131 00:08:03,040 --> 00:08:06,960 Tabs sorta osoa lortu dugu hemen, eta ezkerreko bat Elements dela gogoratzen 132 00:08:06,960 --> 00:08:10,700 eta ez du axola nola godawful HTML eta JavaScript orri bat da, 133 00:08:10,700 --> 00:08:15,710 gogoratzen Elements fitxa benetan dezakezu nabigatu HTML hierarkikoki 134 00:08:15,710 --> 00:08:17,050 eta atsegina eta garbi. 135 00:08:17,050 --> 00:08:19,370 Beraz, bada, Google edo Facebook bezalako web orri bat ikasten saiatzen ari zaren 136 00:08:19,370 --> 00:08:22,370 edo benetan webgune, konturatzen ari zaren seguruenik hobeto 137 00:08:22,370 --> 00:08:26,360 iturburu-kodea raw source begiratzen aurrean begira, 138 00:08:26,360 --> 00:08:29,580 nahaspila bat izan daiteke, Nik ikusi dugun bezala, batez ere, Google-en gunean. 139 00:08:29,580 --> 00:08:32,220 Beraz Sarea fitxa ordez egin klik hemen 140 00:08:32,220 --> 00:08:34,830 zer ari den gertatzen orri hau bisitatzeko I ikus dezagun. 141 00:08:34,830 --> 00:08:38,669 Lehenengoa utzi nire katxea garbitu me. 142 00:08:38,669 --> 00:08:43,570 Chrome ezarpenak sartu eta gero, historia joan noa 143 00:08:43,570 --> 00:08:46,420 eta, ondoren, Garbitu arakatze-datu guztiak. 144 00:08:46,420 --> 00:08:48,170 Duzu hau egiteko beste helburuetarako erabil liteke, [barreak] 145 00:08:48,170 --> 00:08:51,990 , baina orduan garatzen webgune, benetan erabilgarria da 146 00:08:51,990 --> 00:08:55,980 ari zaren barre egiten baduzu ezagutzen. [Barreak] 147 00:08:55,980 --> 00:08:59,310 Benetan da benetan erabilgarria da webgune errealitatea delako garatzen da 148 00:08:59,310 --> 00:09:04,100 cookie-ak eta gauza cached fitxategiak HTML, JavaScript fitxategiak cached bezala gauzak 149 00:09:04,100 --> 00:09:06,390 benetan bihurtu big buruhauste bat, izan ere, edozein arrazoigatik bada 150 00:09:06,390 --> 00:09:11,500 nabigatzailea erabakitzen, fitxategi batzuk cache eta oraindik egin duzun fitxategiaren aldaketak zerbitzarian 151 00:09:11,500 --> 00:09:14,670 baina nabigatzaileak ez du benetan konturatu fitxategia aldatu dela 152 00:09:14,670 --> 00:09:19,060 eta, beraz, ez du benetan berriro deskargatzeko denean ere Reload botoian klik eginez gero, 153 00:09:19,060 --> 00:09:23,210 bat ziurtatu errua ez da zure kodea modurik surefire, 154 00:09:23,210 --> 00:09:26,480 arakatzailearen portaera, hemen zure nabigatzailean 155 00:09:26,480 --> 00:09:29,950 eta garbitu historia osoan besterik ez da, beraz, ez dago nahasmena. 156 00:09:29,950 --> 00:09:33,210 >> Eta gero, benetan paranoikoak izan nahi baduzu, irten nabigatzailea, berrabiarazi, 157 00:09:33,210 --> 00:09:35,660 eta, ondoren, ziurtatu guztiak espero bezala lan. 158 00:09:35,660 --> 00:09:38,820 Beraz, azken finean, konpentsazio cache ona da garapen egiten ari denean. 159 00:09:38,820 --> 00:09:40,690 Beraz, hemen Network fitxa ditugu. 160 00:09:40,690 --> 00:09:46,020 Ordura bisitatzen dut gune 9 aldiz, baina utzi aurrera me now eta Reload sakatu. 161 00:09:46,020 --> 00:09:47,500 Eta atzera behera 0 nago. 162 00:09:47,500 --> 00:09:52,100 Dezagun benetan SAIOA superglobal hau nola garatzen ari den hori da. 163 00:09:52,100 --> 00:09:55,990 1 HTTP eskaera egin zuen klik noa, 164 00:09:55,990 --> 00:09:58,810 eta arazketa leihoa Aukera hau begiratzen barruan me. 165 00:09:58,810 --> 00:10:01,970 Hemen zerbitzariak erantzuna, eta hori ez da interesgarria ikusten dut. 166 00:10:01,970 --> 00:10:04,030 Hau ikusi dut modu edozein zenbaki. 167 00:10:04,030 --> 00:10:06,350 Baina zer da teknikoki interesgarria goiburuak dira. 168 00:10:06,350 --> 00:10:11,770 Joan I behera bada, hemen eta eskaera goiburuak bideratzeko eta egin klik ikusi 169 00:10:11,770 --> 00:10:14,400 zer ikusi dut literalki da HTTP eskaera 170 00:10:14,400 --> 00:10:17,250 bakarrik joan zen nire nabigatzailea zerbitzari 171 00:10:17,250 --> 00:10:21,400 GET operatibo hitza izan eta gero / counter.php fitxategi izena izateaz, 172 00:10:21,400 --> 00:10:25,670 HTTP/1.1 HTTP bertsio hori nire nabigatzailea erabiliz. 173 00:10:25,670 --> 00:10:31,070 Lerro honek hemen nabigatzaileak zerbitzari berreskuratu little zerbitzariaren izena 174 00:10:31,070 --> 00:10:33,020 nahi dituen hitz. 175 00:10:33,020 --> 00:10:38,200 Eta, ondoren, gainerako batzuetan interesgarria da, baina ez da garrantzitsua, eta oraintxe. 176 00:10:38,200 --> 00:10:40,090 >> Hau besterik ez, jakin-mina baten antzeko zerbait da. 177 00:10:40,090 --> 00:10:43,530 Críptica katea da hau, nahiz eta, edozein unetan zure nabigatzailean web orri bat bisitatzen 178 00:10:43,530 --> 00:10:47,110 zerbitzariak da informatzea zer nabigatzaileak erabiltzen ari zaren 179 00:10:47,110 --> 00:10:50,040 eta zer sistema eragile erabiltzen ari zarela eta zer bertsio kontratuan. 180 00:10:50,040 --> 00:10:52,650 Beraz, bada inoiz duzun galdetu nola CNN eta whatnot bezalako webgune 181 00:10:52,650 --> 00:10:56,860 dakit zer ehunekoak Mac erabiltzaile Web, PC erabiltzaile 182 00:10:56,860 --> 00:11:00,820 IE erabiltzaileak, Chrome erabiltzaile eta bezala, gure nabigatzaile guztiak ere 183 00:11:00,820 --> 00:11:04,300 single web bakoitza kontatzeko ez dago zer garen. 184 00:11:04,300 --> 00:11:07,410 Ez du zertan eduki informazio pertsonala, 185 00:11:07,410 --> 00:11:13,060 baina dira Zein da zure IP helbidea ez da eta zer arakatzailearen eta sistema eragilea erabiltzen ari zaren zerbitzaria ez da. 186 00:11:13,060 --> 00:11:14,720 Beraz, informazio hori non dagoen. 187 00:11:14,720 --> 00:11:19,960 Baina zer gehiago interesgarri orduan Saio horietan erantzun goiburua. 188 00:11:19,960 --> 00:11:22,530 Source ikusteko egin klik me ondoan erantzun. 189 00:11:22,530 --> 00:11:24,590 Zer da interesgarria hemen zenbait gauza bat da. 190 00:11:24,590 --> 00:11:27,580 1, 200 egoera kodea itzuli ginen. 191 00:11:27,580 --> 00:11:29,840 Inoiz ez dugu egoera kodea horrek esan nahi du, guztiak ondo. 192 00:11:29,840 --> 00:11:32,920 Literalki esan nahi du beste zerbait kontrastea ados. 193 00:11:32,920 --> 00:11:36,380 Zer da zenbaki bat batzuetan, ikusten dugu, hori txarra da? [Ikasleak] 404. 194 00:11:36,380 --> 00:11:39,860 404, fitxategia ez da aurkitu, 403 duzun gainean baliteke dagoeneko stumbling 195 00:11:39,860 --> 00:11:43,660 debekatuta dago, eta horrek esan nahi du ahaztu chmod zerbait, ziurrenik. 196 00:11:43,660 --> 00:11:45,190 Eta beste sorta bat da. 197 00:11:45,190 --> 00:11:47,760 >> Down hemen, hau da, pixka bat crazy. 198 00:11:47,760 --> 00:11:52,340 Idatzi benetan besterik ez dut fitxategi hau duela minutu batzuk itsasteko gedit. 199 00:11:52,340 --> 00:11:57,100 Zergatik orri hau 1981ean iraungiko da benetan izan zen lehenago, web gune bat? 200 00:11:58,010 --> 00:12:00,730 Zer gertatzen da hor? 201 00:12:00,730 --> 00:12:04,390 >> [Inaudible ikaslearen erantzuna] denbora zigilua. Baina zergatik? 202 00:12:06,110 --> 00:12:09,120 Zertxobait arbitrarioa da, baina benetan erabilgarria da. 203 00:12:09,120 --> 00:12:15,500 PHP fitxategi hau eskatu duzun dagoeneko iraungi Zer da hau nire nabigatzailea esaten da. 204 00:12:15,500 --> 00:12:18,580 Izan ere, duela 30 urte iraungi egin da. 205 00:12:18,580 --> 00:12:20,260 Baina, zer esan benetan esan nahi? 206 00:12:20,260 --> 00:12:22,500 Esan nahi du, besterik gabe erabiltzaile Orri hau bisitatzen hurrengo aldian, 207 00:12:22,500 --> 00:12:25,540 birkargatzen edo URL helbide-barran idazten den ala ez, 208 00:12:25,540 --> 00:12:28,010 ziurtatu joan eta s eskuratzean duzun kopia berri bat. 209 00:12:28,010 --> 00:12:30,840 Honek cache busting adibide bat sort da, 210 00:12:30,840 --> 00:12:33,790 bakarrik esan nahi du nabigatzaile eskainiko saiatzen ergelak hitza 211 00:12:33,790 --> 00:12:37,260 benetan HTML cachean zerbitzari batetik bidaliko 212 00:12:37,260 --> 00:12:41,490 beraz, ez ustekabean hit reload eta, ondoren, fitxategiaren bertsio bera ikusteko. 213 00:12:41,490 --> 00:12:43,730 Benetan nahi duzu beste kopia bat bidaltzeko zerbitzaria. 214 00:12:43,730 --> 00:12:47,440 Beraz, duela 1981 Izan ere, besterik gabe esan nahi du zer tresna aukeratuz 215 00:12:47,440 --> 00:12:50,280 iraganean arbitrarioak data gisa. 216 00:12:50,280 --> 00:12:53,380 Baina benetako lerro mamitsuena da gaur egun. 217 00:12:53,380 --> 00:12:57,550 Nahiz eta 50 aurretik Ziurrenera vaguely cookies ezagutzen. 218 00:12:57,550 --> 00:13:01,820 Gisa, oraintxe bertan, batez ere hain eroso edo artean, besteak beste, 219 00:13:01,820 --> 00:13:04,120 zer da zure ulertzeko cookie bat da oraintxe 220 00:13:04,120 --> 00:13:06,980 nahiz eta zure ulermena teknikoa egiteko buruz ari gara? 221 00:13:08,150 --> 00:13:10,070 Zer da cookie batean? Bai. 222 00:13:10,070 --> 00:13:13,890 [Ikasleen] erabiltzaileari buruzko informazioa, nahi badu bere erabiltzaile-izena edo zerbait idatzi dut dute. 223 00:13:13,890 --> 00:13:17,370 >> Good. Erabiltzaileari buruzko informazioa da, Nik ez ote duten beren erabiltzaile-izena idatzi dagoeneko. 224 00:13:17,370 --> 00:13:21,190 Cookieak modu bat, zeinaren bidez zerbitzariak erabiltzaile bati buruzko zerbait gogoratzen dira. 225 00:13:21,190 --> 00:13:25,810 Eta zer cookie bat benetan da testu fitxategi bat edo byte sekuentzia batzuk 226 00:13:25,810 --> 00:13:28,340 zure nabigatzailearen barruan zerbitzaria landatu, 227 00:13:28,340 --> 00:13:31,960 eta fitxategi horren barruan edo bytes artean identifikatzaile mota batzuk. 228 00:13:31,960 --> 00:13:35,640 Agian literalki da zure erabiltzaile-izena, baina sarritan zerbait gehiago críptica begira 229 00:13:35,640 --> 00:13:43,700 bo8dal3ct eta abar - benetan big alfanumeriko katea gauza hau hemen bezala 230 00:13:43,700 --> 00:13:47,050 hori benetan ekarri besterik ez duzu identifikatzaile bakarra izan behar du. 231 00:13:47,050 --> 00:13:49,790 Edo dezakezu uste esku birtual zigilua moduko gisa. 232 00:13:49,790 --> 00:13:53,020 Club batzuk edo jolas-parke bat joaten bazara, benetan ordaindu duzula gogoratu 233 00:13:53,020 --> 00:13:55,850 eta joan, eranskailu gorri txiki bat jarri dute zure Nolabaiteko alde batetik, 234 00:13:55,850 --> 00:13:59,270 eta gogorarazten counter duzula dagoeneko ordaindu 235 00:13:59,270 --> 00:14:01,340 eta zatoz dezakezu eta joan mesedez gisa. 236 00:14:01,340 --> 00:14:04,250 Cookieak dira espirituz, baina apur bat antzekoa da. 237 00:14:04,250 --> 00:14:08,070 Lehen aldiz web hau bisitatu dut, besterik ez dut nire cache urrundu ondoren egin zuen bezala, 238 00:14:08,070 --> 00:14:11,620 web zerbitzariak, tresna, kasu honetan, jarri zigilua, nire eskua 239 00:14:11,620 --> 00:14:15,030 bere izena PHPSESSID, saio ID 240 00:14:15,030 --> 00:14:18,260 balioa benetan alfanumeriko kate luzea da. 241 00:14:18,260 --> 00:14:22,470 >> Beraz, gaur egun armarridun sort nire eskua, beraz, hurrengo time I hit birkargatu 242 00:14:22,470 --> 00:14:25,230 edo eskuz bisitatu URL hau arakatzaile batean, 243 00:14:25,230 --> 00:14:29,230 nire nabigatzailea HTTP definizioa eskuz zigilua aurkezteko 244 00:14:29,230 --> 00:14:31,940 behin eta berriz eta berriz. 245 00:14:31,940 --> 00:14:34,550 Beraz, nahiz eta zerbitzariak ez du nahitaez ezagutzen I am 246 00:14:34,550 --> 00:14:39,610 ezagutzen dute, gutxienez nago berean Erabiltzaile edo, gutxienez, zehatzago esanda, nabigatzaile berdinarekin. 247 00:14:39,610 --> 00:14:45,660 Eta, beraz, hau da, azken finean, nola SAIOA superglobal inplementatu da. 248 00:14:45,660 --> 00:14:51,200 Zerbitzariak Ideia ez duten bigarren edo hirugarren aldiz web berriro 249 00:14:51,200 --> 00:14:53,410 aurkezten eskuz zigilua hau ezean. 250 00:14:53,410 --> 00:14:55,530 Eta ahalik eta azkarren aurkeztuko eskuz zigilu hori, 251 00:14:55,530 --> 00:14:59,370 funtsean, web zerbitzaria bere datu-base batean apur doa 252 00:14:59,370 --> 00:15:06,040 eta txekeak, ados, besterik ez dut ikusten user bo8dal3ct zigilua batetik, eta abar. 253 00:15:06,040 --> 00:15:09,850 Dezagun zein informazio programatzailea du gordetako me 254 00:15:09,850 --> 00:15:12,380 Erabiltzaile honi buruzko superglobal barruan, 255 00:15:12,380 --> 00:15:17,000 eta, ondoren, ziurtatu datuak berriro barruan SAIOA, superglobal egin me 256 00:15:17,000 --> 00:15:19,830 horrela, programatzailea datu horiek berriro sartzeko 257 00:15:19,830 --> 00:15:23,360 zen, nahiz eta minutu batzuk edo ordu ago. 258 00:15:23,360 --> 00:15:26,150 Beraz, beste hitzetan, cookie-ak, baina denbora pixka bat rap txarra 259 00:15:26,150 --> 00:15:29,990 delako nabigatzailean insecurities eta gure pribatutasuna urratzen, eta hori guztia benetan ahal izango dute, 260 00:15:29,990 --> 00:15:31,900 benetan handia utility gabe delako horiek 261 00:15:31,900 --> 00:15:36,110 etengabe nahi duzun bakoitzean Facebook bisitatzen duzun saioa hasi 262 00:15:36,110 --> 00:15:40,680 edo Gmail e-posta behin nabigatzaileak ez badu gogoratzeko modu batzuk irakurri 263 00:15:40,680 --> 00:15:43,320 duzula dagoeneko autentifikatu. 264 00:15:43,320 --> 00:15:46,640 >> Beraz, modu honetan cookie bidaliko dira atzera eta aurrera alanbre zehar. 265 00:15:46,640 --> 00:15:52,470 Cookieak buruzko jakin-mina beste, batez ere, hemen da, hau da, erabat cleartext. 266 00:15:52,470 --> 00:15:54,930 Enkriptatzea ez da hemen inolako 267 00:15:54,930 --> 00:15:57,240 eta, hain zuzen ere, HTTP erabiltzen ari naiz une honetan. 268 00:15:57,240 --> 00:16:00,890 Gure favorites une bat CS50, hau da, duela 2 urte, 269 00:16:00,890 --> 00:16:04,750 izan zen garai inguruan Firesheep izeneko tresna bat izan zen. 270 00:16:04,750 --> 00:16:08,320 Software librearen segurtasun-ikertzaile batek egin zen 271 00:16:08,320 --> 00:16:13,250 komunitateari dei estela-up bat besterik ez nola atrociously inplementatu esan bezala 272 00:16:13,250 --> 00:16:17,900 zenbait Web autentifikazioa mekanismoak ziren. 273 00:16:17,900 --> 00:16:22,880 Beraz, denbora pixka bat, Facebook izan da, ia oso-osorik HTTP, HTTPS ez baino gehiago. 274 00:16:22,880 --> 00:16:25,640 Eta nahiz eta ez daki nola kripto lan egiten baduzu, segurua da S 275 00:16:25,640 --> 00:16:27,950 beraz, ez da gutxienez enkriptatze batzuk parte hartzen esan nahi du. 276 00:16:27,950 --> 00:16:30,610 Facebook erabiltzaile-izenak eta pasahitzak enkriptatzeko erabiltzen zuen, 277 00:16:30,610 --> 00:16:33,560 baina ahalik eta azkarren zure begiratu pokes edo zure mezuak edo zure berri-jario, 278 00:16:33,560 --> 00:16:35,360 hori guztia enkriptatu gabe. 279 00:16:35,360 --> 00:16:37,870 Beraz, Gmail Duela urte bat besterik ez edo 2 arte. 280 00:16:37,870 --> 00:16:41,100 Edonoiz zaude, bai, seguru enkriptazioa erabiltzen dute, 281 00:16:41,100 --> 00:16:44,300 baina hortik aurrera ez zuten. Eta zergatik liteke hori? 282 00:16:44,300 --> 00:16:49,210 Zergatik ez erabili kriptografia aurkituko duzu, denbora guztia erabili hau atsegin kasu? 283 00:16:49,210 --> 00:16:53,700 Zer da hori? Zerbait entzun dudala uste dut. [Ikasleak] Speed. 284 00:16:53,700 --> 00:16:56,250 Abiadura, ezta? Modu daude honen inguruan. 285 00:16:56,250 --> 00:16:59,610 Baina besterik ez duzu mota bada pentsatu logikoki, enkriptatu behar duzu zerbait bada, 286 00:16:59,610 --> 00:17:01,820 gutxienez apur bat gehiago lan egin behar duzu. 287 00:17:01,820 --> 00:17:05,460 Caesar edo Vigenere jarri du martxan, edo are Crack pset 2, 288 00:17:05,460 --> 00:17:07,760 kate bat besterik ez inprimatzeko nahiko erraza da. 289 00:17:07,760 --> 00:17:12,040 Eta, ondoren, enkriptatzea kate bat inprimatzean minimoki pixka bat lan gehiago eskatzen du. 290 00:17:12,040 --> 00:17:14,520 >>  Google eta Facebook bezalako webgune popular super, 291 00:17:14,520 --> 00:17:18,839 lan gehiago egin behar duzu, erabiltzaile bakoitzak behin web-orri bakar bisitatzen bada, 292 00:17:18,839 --> 00:17:20,520 PUZaren denbora gehiago hartzen. 293 00:17:20,520 --> 00:17:22,920 Eta PUZaren denbora gehiago behar izanez gero, zerbitzari gehiago behar izatea, 294 00:17:22,920 --> 00:17:24,270 Horrek esan nahi du, diru gehiago behar izatea. 295 00:17:24,270 --> 00:17:27,579 Eta beraz, urte askotan eta hori guztia benetan ez zen onena praktika. 296 00:17:27,579 --> 00:17:31,440 Pertsonak SSL enkriptatzea denean bakarrik behar dute erabiliko luke. 297 00:17:31,440 --> 00:17:34,960 Baina horrexegatik da, eta Firesheep fellow hau egin super argi eta garbi, 298 00:17:34,960 --> 00:17:37,920 duzunean guys dira gaur egun duten Facebook-en oraintxe 299 00:17:37,920 --> 00:17:39,880 Jakin-mina Out, ikus dezagun duzu Fess dugu. 300 00:17:39,880 --> 00:17:42,620 Facebook erabiltzen ari bazara oraintxe bertan fitxa batzuetan bada ere, ez da foregrounded 301 00:17:42,620 --> 00:17:46,610 Zure URL HTTP edo HTTPS da? 302 00:17:46,610 --> 00:17:50,560 [Ikasle baino gehiago] S S.? [Barreak] 303 00:17:50,560 --> 00:17:55,510 Ongi da. HTTP Any? Just 1? Ongi da. 304 00:17:55,510 --> 00:17:58,940 Beraz, guztion lasaia, Facebook-eko kontua Hack oraintxe. 305 00:17:58,940 --> 00:18:04,100 Hau bihurtu da gehien piztuta default, gutxienez, webgune batzuetan. 306 00:18:04,100 --> 00:18:08,120 Eta luze ipuinean, zure web trafikoa enkriptatuta ez bada, 307 00:18:08,120 --> 00:18:12,960 ez bakarrik ez HTML joan WiFis enkriptatu gabeko zehar atzera eta aurrera, 308 00:18:12,960 --> 00:18:16,760 beraz, ez dute cookie-ak bezalako gauzak atzera eta aurrera Airean zehar dauden 309 00:18:16,760 --> 00:18:18,940 enkriptazio gabe. 310 00:18:18,940 --> 00:18:23,540 Beraz, bada, programazio adituentzat bit edo Googling trebetasun apur bat behar duzu 311 00:18:23,540 --> 00:18:27,410 free software hori ez du aurkitu, guztiak egin behar duzun da Starbucks eseri 312 00:18:27,410 --> 00:18:30,680 edo aireportu batean eseri han da, oro har, enkriptatu gabeko WiFi 313 00:18:30,680 --> 00:18:36,070 edo PHPSESSID: eta Set-Cookie bezala keywords ikusi 314 00:18:36,070 --> 00:18:39,300 duzu tekniko adituentzat baizik ikusi WiFi 315 00:18:39,300 --> 00:18:43,010 bit Eredu hau airean zehar fluxua, 316 00:18:43,010 --> 00:18:50,840 gero esan dezakezu guy en PHPSESSID gertatzen bo8dal eta abar. 317 00:18:50,840 --> 00:18:53,890 Eta gero berriz Oraindik nahikoa teknikoki adituentzat bada, edo tresna izan eskuineko, 318 00:18:53,890 --> 00:18:58,890 dezakezu, orduan besterik ez reconfigure zure nabigatzailean ibili da zigilu hori aurkezteko hasteko 319 00:18:58,890 --> 00:19:05,030 Facebook.com eta Facebook besterik ez da lasaia zarela hori bereganatzeko 320 00:19:05,030 --> 00:19:09,880 horiek guztiak ezagutzen ez delako nor zaren, baina identifikatzaile bakarra hau duzula. 321 00:19:09,880 --> 00:19:14,650 Beraz identifikatzaile bakarra lapurtu eta aurkezteko Zure web zerbitzariak, 322 00:19:14,650 --> 00:19:16,860 besterik ez dira pertsona hori erakusteko news feed 323 00:19:16,860 --> 00:19:18,980 edo pertsona horren mezuak edo pokes. 324 00:19:18,980 --> 00:19:23,190 >> Eta gaur egun Google nuke nola HTTPS aktibatzeko Facebook agian. 325 00:19:23,190 --> 00:19:25,150 Baina hori bezain erraza da benetan. 326 00:19:25,150 --> 00:19:27,660 Eta, beraz, Facebook eta Google eta antzeko ahaztuak benetan ona da, 327 00:19:27,660 --> 00:19:31,870 baina begi bat mantendu webgune bisitatzen duzun edozein erabiltzen ez duten HTTP guztiak out 328 00:19:31,870 --> 00:19:35,020 eta informazio sentikorra mota batzuk, 329 00:19:35,020 --> 00:19:37,490 finantza-edo pertsonala ote den edo. 330 00:19:37,490 --> 00:19:43,180 Ez bada ari dira hau erabiliz, nahiko ziurrenik cookies atsegin dute hau oso erraz lapurtu 331 00:19:43,180 --> 00:19:46,270 eta, ondoren, forjatuak, eta hori zehazki zer Firesheep egin. 332 00:19:46,270 --> 00:19:48,250 Ez duzu programatzailea izan. 333 00:19:48,250 --> 00:19:51,680 Guztiak egin izan dute Internet konexioa, download free tresna hau, 334 00:19:51,680 --> 00:19:56,490 eta zer egin izango litzateke da saioa, eta ondoren erakutsiko dizu litzateke Facebook izenak 335 00:19:56,490 --> 00:20:00,170 Sanders-denek, bereziki manifestazio honetan, zure inguruan 336 00:20:00,170 --> 00:20:03,260 eta egin izan zen bere izenaren gainean klik egin eta software prozesua automatiza 337 00:20:03,260 --> 00:20:05,970 cookie hori sniffing, aurkeztu Facebook zeure 338 00:20:05,970 --> 00:20:07,990 eta, voila, zu oraindik sartu 339 00:20:07,990 --> 00:20:11,190 Beraz, horietako beste bat da, "ez hau" ofizialki. 340 00:20:11,190 --> 00:20:14,660 Zure etxeko sarea bada, eta nahi tinker, baliabide guztiak, 341 00:20:14,660 --> 00:20:17,530 baina konturatzen honetan zeharkatuko du unibertsitate ingurumena on line. 342 00:20:17,530 --> 00:20:20,030 >> Baina hemen helburua da benetan ez hau nola egin azpimarratu 343 00:20:20,030 --> 00:20:22,320 baina nola gauza mota hauen aurka defendatzeko. 344 00:20:22,320 --> 00:20:26,180 Eta hutsala konponbidea hemen, nahiz eta bera da flawed, 345 00:20:26,180 --> 00:20:31,360 diren guneak ez HTTPS erabili etengabe erabilera da benetan murrizteko. 346 00:20:31,360 --> 00:20:34,520 Beraz, Facebook eta Google bezalako guneak gero eta kontrol-laukiak 347 00:20:34,520 --> 00:20:36,200 non aukera dezakezu gauza sort hau, 348 00:20:36,200 --> 00:20:40,000 eta banku izan dituzte urte antzeko arrazoiak direla eta. 349 00:20:40,000 --> 00:20:43,580 Beraz, pixka bat besterik ez dugu beldurra faktore. Baina hori hitz batean. 350 00:20:43,580 --> 00:20:46,420 Hau da, nola zerbitzari bat gogoratzen nor zaren. 351 00:20:46,420 --> 00:20:50,760 Eta ahalik eta azkarren nor zaren gogoratzen dute, zuri buruz ezer gogoratzen dute 352 00:20:50,760 --> 00:20:56,140 programatzailea izeneko $ _saioa superglobal berezi honen barruan gordetzen du. 353 00:20:56,140 --> 00:20:59,750 Eta 7 pset ari gara erabiliz kenduz int bat gogoratzeko, 354 00:20:59,750 --> 00:21:02,260 erabiltzailea saioa hasi ID berezia da, hain zuzen ere, 355 00:21:02,260 --> 00:21:05,880 beraz, ezagutzen dugun han egon dira aurretik. 356 00:21:05,880 --> 00:21:12,450 Gero saioak edo cookie-ak edo antzeko edozein galdera? 357 00:21:12,450 --> 00:21:15,130 Firesheep ez baita gehiago, 358 00:21:15,130 --> 00:21:18,310 eta zure ordenagailuan Modu nahasian berezia jarri behar duzu 359 00:21:18,310 --> 00:21:20,700 beraz, benetan ari zaren zuei gain, trafikoa entzuten. 360 00:21:20,700 --> 00:21:23,940 Beraz, ari zaren unean Firesheep deskargatu, konturatzen ez nahiko erraza da 361 00:21:23,940 --> 00:21:26,850 behin izan zen erakusteko. 362 00:21:26,850 --> 00:21:29,070 Guztiak eskubidea. Eta ez da Sanders. Do it etxean. 363 00:21:29,070 --> 00:21:30,890 Datu-baseak. 364 00:21:30,890 --> 00:21:33,580 Bat gauza egin dugu pset 7 Oso nahita 365 00:21:33,580 --> 00:21:37,780 zen eman dugu adibide bat datu-basearen erabiltzaile erabiltzaile IDak batzuk ditu, 366 00:21:37,780 --> 00:21:41,020 erabiltzaile-izen batzuk, eta enkriptatutako pasahitzak batzuk bertan. 367 00:21:41,020 --> 00:21:44,520 Eta ikusten duzu, ez baduzu dagoeneko, taula aldatzeko pixka bat izan zaren joan. 368 00:21:44,520 --> 00:21:47,710 Cache batzuk gehitu nahi mahai horretan erabiltzaile bakoitzak ari zara, 369 00:21:47,710 --> 00:21:51,130 eta beste historia taula, zorroak taula bat gehitu behar duzu, 370 00:21:51,130 --> 00:21:53,310 edo, agian, beste zerbait deitu. 371 00:21:53,310 --> 00:21:56,740 Baina hau nola egin pentsatzen, dezagun tresna hau ireki 372 00:21:56,740 --> 00:22:00,570 ostiralean erabiltzen dugu, baina lanik izanez gero, tresnak tresna batekin dator 373 00:22:00,570 --> 00:22:04,680 phpMyAdmin den coincidentally PHP idatzitako izeneko 374 00:22:04,680 --> 00:22:07,950 baina, bere bizitza helburua, saioa hemen I jharvard gisa carmesí ondoren, 375 00:22:07,950 --> 00:22:15,160 me emateko nire datu-basea ikusteko eta aldatzen modu user-friendly. 376 00:22:15,160 --> 00:22:18,040 >> Naiz I-tresnaren exekutatzen ari da datu-basea izeneko MySQL. 377 00:22:18,040 --> 00:22:23,420 Hau oso ezaguna da, eta free open source datu-basea erabili wonderfully erraza da, 378 00:22:23,420 --> 00:22:25,620 hau atsegin batez ere, aurrean amaitu da. 379 00:22:25,620 --> 00:22:29,350 Zer tresna honekin egin me, esate baterako, taulak ikutu. 380 00:22:29,350 --> 00:22:30,890 Dezagun aurrera eta hau egin. 381 00:22:30,890 --> 00:22:36,580 Ostirala On ikasle izan zen super simple izeneko taula bat sortu genuen. 382 00:22:36,580 --> 00:22:41,680 Id, izena, eta helbide elektronikoa - 3 zutabe izan du eta eskuz txertatuko dut Lerro pare bat 383 00:22:41,680 --> 00:22:44,420 David eta Mike zehatz honetan adibide bezala. 384 00:22:44,420 --> 00:22:47,290 Dezagun pixka bat gehiago, eta gogoratu nahi dugu bere gain hartzen dezagun 385 00:22:47,290 --> 00:22:49,660 besterik gabe, izena eta posta elektronikoko erabiltzaile bati buruz baino. 386 00:22:49,660 --> 00:22:53,090 Egitura sakatu me up Hemen goialdean. 387 00:22:53,090 --> 00:22:55,440 Eta berriro ere, pset ibiltzen urratsak baldintza hemen bitartez, 388 00:22:55,440 --> 00:22:58,150 beraz, ez kezkatu, batzuk apur bat azkarra bada. 389 00:22:58,150 --> 00:22:59,690 Ondoren, egin klik hemen noa. 390 00:22:59,690 --> 00:23:02,270 Email ondoren zutabe kopurua batzuk gehitu noa 391 00:23:02,270 --> 00:23:04,130 house antzeko zerbait gehitu nahi dudalako. 392 00:23:04,130 --> 00:23:06,640 Ikaslearen etxea grabatzeko ahaztu dut. 393 00:23:06,640 --> 00:23:11,400 Let Go egin klik me, eta, gaur egun, zoritxarrez, hori da pixka bat zabala ezkerretik eskuinera dugu, 394 00:23:11,400 --> 00:23:13,710 baina eremuan etxe honen izena deitzeko noa, 395 00:23:13,710 --> 00:23:16,050 eta, ondoren, mota aukeratu dute gaur egun I. 396 00:23:16,050 --> 00:23:18,870 Hargatik MySQL mota buruzko hainbat chat labur bat 397 00:23:18,870 --> 00:23:24,590 PHP ahula, berriz, idatzi du sort-azkar eta mota solteak delako, 398 00:23:24,590 --> 00:23:29,430 datu-base batean bereziki super garrantzitsua da benetan zure abantaila erabili idazketa 399 00:23:29,430 --> 00:23:33,260 gauzak MySQL eta beste datu-base bat delako egin 400 00:23:33,260 --> 00:23:37,910 ziurtatzeko ez duzula jarri akastunak datuak zure datu-basea da. 401 00:23:37,910 --> 00:23:41,850 Error free zure eskura egiaztatzen moduko bat da. 402 00:23:41,850 --> 00:23:46,250 >> Etxera ez, jakina, ez dugu nahi izan int bat, MySQL balioa 32-bit bat da. 403 00:23:46,250 --> 00:23:49,810 Hitz labur ostiralera varchar, luzera aldakorreko char dago buruz egin dugu. 404 00:23:49,810 --> 00:23:54,720 Zer da hau? Horrek aukera ematen die, hau Nolabaiteko kate bat izatea nahi duzun zehaztu. 405 00:23:54,720 --> 00:23:56,840 Benetan ez duzu jakin, aldez aurretik zenbat denbora da 406 00:23:56,840 --> 00:24:00,100 beraz, arbitrarioki dugu esan etxe izen bat 255 karaktere izan ditzake, 407 00:24:00,100 --> 00:24:04,190 baina 32, 64 eta ezin duzu - edozein zenbaki benetan. 408 00:24:04,190 --> 00:24:10,700 Baina varchar char izeneko eremu bat baino gehiago erabiliz abantaila zer da? 409 00:24:10,700 --> 00:24:15,110 Just senez behera mugitu dut hemen, konturatu ez da char eta han varchar. 410 00:24:15,110 --> 00:24:19,520 Varchar luzera aldakorreko char char du luzera finkorik char da. 411 00:24:19,520 --> 00:24:24,730 Beraz, definizio horretan oinarrituta, zer da, horietako bakoitzaren abantaila edo desabantaila da? 412 00:24:24,730 --> 00:24:30,490 Beste era batera esanda, bereizketa zaintzen, edo zergatik arduratu behar duzu? 413 00:24:31,660 --> 00:24:35,750 >> Bai. [Ikasleen] Varchar malgutasun gehiago ditu, baina hartzen du memoria gehiago. 414 00:24:35,750 --> 00:24:40,730 Good. Varchar hartzen gehiago - Ikus dezagun. Ez nago ziur entzun diot hori. 415 00:24:40,730 --> 00:24:42,360 Ezin esan duzu behin gehiago? 416 00:24:42,360 --> 00:24:45,850 [Ikasleak] varchar ziurrenik malgutasun handiagoa du, baina memoria gehiago hartzen du esan dut. 417 00:24:45,850 --> 00:24:51,170 Interesgarria da. Ongi da. Varchar ziurrenik malgutasun handiagoa ematen dizu, baina hartzen du memoria gehiago. 418 00:24:51,170 --> 00:24:53,220 Bigarrenak, berriz, ez du zertan egia. 419 00:24:53,220 --> 00:24:56,290 Testuinguruaren araberakoa da, baina dezagun itzuli hori. 420 00:24:56,290 --> 00:25:03,230 >> [Inaudible ikaslearen erantzuna] Zehazki. 421 00:25:03,230 --> 00:25:06,900 Benetan char izango dela normalean memoria gehiago erabili da kasu 422 00:25:06,900 --> 00:25:10,950 char, C bezala delako, kate bat bezalakoa da, karaktere array bat da. 423 00:25:10,950 --> 00:25:13,690 Beraz, luzera 255 eremuan char esaten duzu, 424 00:25:13,690 --> 00:25:16,910 datu-basea da, hitzez hitz, 255 karaktere emateko. 425 00:25:16,910 --> 00:25:22,290 Eta etxea eta ondorioz sortu Mather eta 6 karaktere guztira, 426 00:25:22,290 --> 00:25:25,090 200 karaktere baino gehiago galtzen ari duzu. 427 00:25:25,090 --> 00:25:29,640 >> Varchar eraginkortasunez soilik pertsonaia askok bezala, beraz, erabiltzen da, beharrezko 428 00:25:29,640 --> 00:25:31,590 gehieneko zenbatekoa. 429 00:25:31,590 --> 00:25:35,470 Baina prezioa ordaindu behar da, benetan performance, potentzialki. 430 00:25:35,470 --> 00:25:39,740 Aldez aurretik ezagutzen baduzu, zure kateak diren 8 karaktere izan behar ditu 431 00:25:39,740 --> 00:25:43,090 Adibidez, demagun behar duzun luzera 8 pasahitzak 432 00:25:43,090 --> 00:25:47,350 char eremu bat erabiliz, behin, baina ez da askotan goitik, 433 00:25:47,350 --> 00:25:51,100 pasahitz bat bezalakoa da zerbait luzera finko bat zehazteko 434 00:25:51,100 --> 00:25:53,300 gaur egun, datu-basea are smarter izan daiteke. 435 00:25:53,300 --> 00:25:58,160 Badaki bakoitza char eremuan bada, zutabe batean kate guztietan berdina luzera da, 436 00:25:58,160 --> 00:26:00,780 atzera ausazko sarbidea ezaugarri. 437 00:26:00,780 --> 00:26:05,110 Salto inguruan dezakezu hainbat eremuak char artean, zure datu-basearen 438 00:26:05,110 --> 00:26:07,940 datu-base bat delako uste errenkada eta zutabe gisa. 439 00:26:07,940 --> 00:26:11,670 Beraz, bada, kate bakoitza luzera bera da, 440 00:26:11,670 --> 00:26:17,820 byte 0 lehena badakizu, hurrengo byte 8 441 00:26:17,820 --> 00:26:20,240 eta, ondoren, 16 eta, ondoren, 24 eta abar. 442 00:26:20,240 --> 00:26:24,500 Beraz, kate guztiak luzera bera badira, salto egin inguruan dezakezu askoz ere modu eraginkorrean. 443 00:26:24,500 --> 00:26:26,710 Beraz, emanaldiei dagokienez prestazioa bat izan daiteke, 444 00:26:26,710 --> 00:26:29,420 baina normalean ez duzu aldez aurretik ezagutzea luxua, 445 00:26:29,420 --> 00:26:32,170 beraz varchar bat modu joan da. 446 00:26:32,170 --> 00:26:36,030 Zehatz-mehatz beste, nahiz eta Facebook azkenean sartu zuen. 447 00:26:36,030 --> 00:26:39,670 Ints handiak dira, eta erabili sort ditugu default zenbaki bat nahi dugu edozein unetan, 448 00:26:39,670 --> 00:26:41,750 baina 32 bit bakarrik da. 449 00:26:41,750 --> 00:26:46,210 >> Eta nahiz eta Facebook ez da nahiko izan 4 milioi erabiltzaile orain, 450 00:26:46,210 --> 00:26:48,680 ez da, zalantzarik gabe, ez dago out pertsona batzuk hainbat kontu 451 00:26:48,680 --> 00:26:50,960 edo kontu ireki dira, eta ondoren itxi. 452 00:26:50,960 --> 00:26:55,130 eta, beraz, Facebook bera trantsizio Duela urte batzuk izan int-tik uste dut 453 00:26:55,130 --> 00:27:00,010 gisa egokiekin izenekoa, bigint, hau da, 64 bit ordez. 454 00:27:00,010 --> 00:27:02,230 Beraz, hau ere diseinu-erabaki bat da. 455 00:27:02,230 --> 00:27:06,570 Amazingly zortea izango litzateke azken proiektua startup bihurtzen bada, 456 00:27:06,570 --> 00:27:10,010 4 milioi eta 1 erabiltzaile, eman edo hartu 457 00:27:10,010 --> 00:27:13,200 kasu horretan, ints apur bat shortsighted izan daiteke. 458 00:27:13,200 --> 00:27:16,230 Baina, egia esan, zure erabiltzaile taula da seguruenik ints duten fina. 459 00:27:16,230 --> 00:27:19,340 Baina pset 7 antzeko zerbait, zure historia taula bezala, 460 00:27:19,340 --> 00:27:23,700 etrade.com sartu eboluzionatu gero, milaka, milioika erabiltzaile izan dezakezu. 461 00:27:23,700 --> 00:27:26,020 Beraz, agian, berriz, ez duzu 4 milioi erabiltzaile baino gehiago, 462 00:27:26,020 --> 00:27:30,070 erabiltzaileek horiek egin nahi duzu 4 milioi transakzio baino gehiago izan ditzake denborak aurrera egin ahala 463 00:27:30,070 --> 00:27:33,200 erosten eta saltzen ditu eta bere historia gauzak. 464 00:27:33,200 --> 00:27:38,090 Beraz, ez duzu aurrea izanez gero, berriz, hauek ona duzu, askoz ere datu hori izanez gero arazoak izan dira 465 00:27:38,090 --> 00:27:40,920 int baten tamaina gainditzen datuak aurrea izanez gero, 466 00:27:40,920 --> 00:27:47,740 bigint antzeko zerbait egingo ez maiz nahikoa diseinatzaile hartutako norabidea da 467 00:27:47,740 --> 00:27:49,710 pertsona zifra hori ez da arazo bat izango delako, 468 00:27:49,710 --> 00:27:51,930 baina erraza da zerbait hori baino handiagoa aukeratzeko. 469 00:27:51,930 --> 00:27:55,380 Hamartar 7 pset finkoa doitasun zehazten erabiltzen ari gara 470 00:27:55,380 --> 00:27:59,840 beraz,, karroza eta bikoitzak eta reals eta atsegin hartzen dute parte gaiak saihesteko ahal izango duzu. 471 00:27:59,840 --> 00:28:02,440 >> Eta gero, ez da beste eremu batzuk hemen. Gure eskuetan olatuen dugu nolabait. 472 00:28:02,440 --> 00:28:07,270 Baina datak, aldiz MySQL formatuan agindutako 473 00:28:07,270 --> 00:28:10,830 eta datak gordetzeko abantaila datak eta ez varchars 474 00:28:10,830 --> 00:28:15,730 esan nahi duen datu basea benetan berreratu formatu ezberdinetan, 475 00:28:15,730 --> 00:28:18,800 AEBetako formatua edo Europako formatuan edo antzeko ala ez - Hala ere, nahi duzun 476 00:28:18,800 --> 00:28:22,700 askoz ere modu eraginkorrean ziren, besterik ez bada generic varchar batzuk baino. 477 00:28:22,700 --> 00:28:25,150 Eta orduan, beste zenbait bitar, varbinary, tanta. 478 00:28:25,150 --> 00:28:28,580 Hauek bitar objektu handiak dira, eta, gainera, dezakezu bitarra datuak gordetzeko 479 00:28:28,580 --> 00:28:30,750 baita datu-base batean datuak geometriko gisa. 480 00:28:30,750 --> 00:28:34,350 Baina normalean dugu ints eta varchars eta antzeko buruzko zaintzeko. 481 00:28:34,350 --> 00:28:36,230 Dezagun amaitzeko house Adibide honetan. 482 00:28:36,230 --> 00:28:40,030 Arbitrarioki esan dut Etxea 255 karakteretan izango da. 483 00:28:40,030 --> 00:28:42,850 Ondoren, balio lehenetsia hau egin ahal izan genuen. 484 00:28:42,850 --> 00:28:47,440 Genezake lehenespenez jartzen denek Mather House, esate baterako. 485 00:28:47,440 --> 00:28:49,710 Hau da nola zehaztu izan dugu datu-basea 486 00:28:49,710 --> 00:28:52,460 norbaitek beti balio du bermatu behar da. Baina utzi hori izan dut. 487 00:28:52,460 --> 00:28:55,270 Izan ere, bizi duten pertsonen off campus eta ez etxe batean, 488 00:28:55,270 --> 00:28:59,590 agian house balio lehenetsia NULL dela zehaztu nahi dut, benetan, 489 00:28:59,590 --> 00:29:04,890 eta, ondoren, kutxa hau ikusteko, eta datu-basea ongi da erabiltzailearen etxea da NULL bada esan behar dut. 490 00:29:04,890 --> 00:29:07,270 >> Berriz ere, beste defentsa mekanismo leku jarri dezakezu 491 00:29:07,270 --> 00:29:10,590 beraz, ez duzu, nahiz eta zure kodea PHP jarri nahitaez. 492 00:29:10,590 --> 00:29:14,630 Datu-basea gauza dira, edo ez dira NULL ziurtatzeko. 493 00:29:14,630 --> 00:29:17,310 Eta gero, azkenik, atributuak. 494 00:29:17,310 --> 00:29:18,920 Hauek ez dira oso garrantzitsua da. 495 00:29:18,920 --> 00:29:22,880 Binary, unsigned horietako bat ere ez dira garrantzitsuak varchar bat. 496 00:29:22,880 --> 00:29:24,220 Indizea. 497 00:29:24,220 --> 00:29:27,320 Does Edozeinek jakin edo gogoratu edo indize bat zer den asmatzeko 498 00:29:27,320 --> 00:29:29,510 etxea antzeko zerbait? 499 00:29:29,510 --> 00:29:35,240 Hau gehiegi da, benetan garrantzitsua da eta nahiko erraza diseinu erabakia. 500 00:29:35,240 --> 00:29:39,200 Dutenek ez dute oraindik ikusi, ostirala labur hitz egin dugu, gakoak lehen buruzko. 501 00:29:39,200 --> 00:29:43,240 Datu-base taula bat, lehen mailako gako bat eremu edo zutabea 502 00:29:43,240 --> 00:29:46,270 bakarrean identifikatzen taula errenkada. 503 00:29:46,270 --> 00:29:49,150 Beraz, taula uneko identifikazioak dugu, izen eta e-posta dugu. 504 00:29:49,150 --> 00:29:52,050 Horietako zein hautagaiak, lehen mailako gako bat izan da onena, 505 00:29:52,050 --> 00:29:55,810 horren rola errenkada bakarrean identifikatzeko? 506 00:29:55,810 --> 00:29:57,530 Seguruenik, ID. 507 00:29:57,530 --> 00:29:59,930 Dudarik gabe, ere erabili izan dugu zer izan arren? 508 00:29:59,930 --> 00:30:02,860 Agian, posta elektronikoa erabil daiteke teoria bakarra delako 509 00:30:02,860 --> 00:30:05,380 Jendeak posta kontuak ezean partekatuz. 510 00:30:05,380 --> 00:30:09,980 Baina errealitatea 1234 bezalako ari zaren zenbakizko ID bat erabiliz gero, 511 00:30:09,980 --> 00:30:14,170 32 bits bakarrik hori, helbide elektroniko bat hainbat byte, edo askoren bytes hau, berriz, ezin izan. 512 00:30:14,170 --> 00:30:16,610 Beraz, eraginkortasun baldintzak identifikadore berezia da, 513 00:30:16,610 --> 00:30:19,270 praktika onak izan int bat erabili ohi da 514 00:30:19,270 --> 00:30:23,090 nahiz eta zenbait kate hautagai izan dudarik gabe, erabili behar duzu. 515 00:30:23,090 --> 00:30:26,760 >> House antzeko zerbait, hau ez da lehen mailako gako bat izan 516 00:30:26,760 --> 00:30:30,770 ondoren, pertsona 1 bakarrik izan delako Mather bizi eta pertsona atsegin Currier eta 1. 517 00:30:30,770 --> 00:30:32,790 Era berean, hau ez da bakarra. 518 00:30:32,790 --> 00:30:37,830 Lehen eta bakarra arteko aldea, gure taulan uneko kasuan, 519 00:30:37,830 --> 00:30:42,620 ID lehen izango litzateke, baina e-posta ez da arrazoia, aipatu besterik ez dugu lehen 520 00:30:42,620 --> 00:30:44,740 performance, baina oraindik ere behar da berezia. 521 00:30:44,740 --> 00:30:47,200 Beraz, oraindik dezakezu betearazi berezitasuna erreklamazioa egin gabe 522 00:30:47,200 --> 00:30:49,520 super garrantzitsua da lehen eremuan. 523 00:30:49,520 --> 00:30:52,610 Baina hau oso lagungarria da: indizea. 524 00:30:52,610 --> 00:30:56,180 Zure proiektua behin betiko aldez aurretik ezagutzen baduzu, 7 pset, edo, oro har, 525 00:30:56,180 --> 00:30:59,480 Eremu etxe hori zerbait bilatzeko asko izango 526 00:30:59,480 --> 00:31:01,910 aukeratu keyword edo beste zerbait erabiliz, 527 00:31:01,910 --> 00:31:05,180 ondoren preemptively dezakezu dira datu-basean bere magia lan 528 00:31:05,180 --> 00:31:10,510 eta ziurtatu memoria sortzen fancy edozein datuen egitura beharrezko 529 00:31:10,510 --> 00:31:13,770 etxea oinarritutako bilaketak azkartzeko. 530 00:31:13,770 --> 00:31:17,860 Agian hash taula bat erabiliko du, agian lotutako zerrenda bat erabiliko du. 531 00:31:17,860 --> 00:31:21,260 Errealitatea, zuhaitz bat erabili ohi da, askotan, egitura bat izeneko B-zuhaitza 532 00:31:21,260 --> 00:31:24,090 ez zuhaitz bitar bat, baina B-zuhaitz bat, zuhaitz bat oso zabala da 533 00:31:24,090 --> 00:31:27,370 CS124, datuen egitura klase bezala klase batean ikus dezake. 534 00:31:27,370 --> 00:31:31,800 Baina, azken finean, ez duzu smart datu-basea software erabiltzen duten kezkatu. 535 00:31:31,800 --> 00:31:35,890 Besterik esango dizu, "Index Eremu hau bilatu dut gehiago modu eraginkorrean". 536 00:31:35,890 --> 00:31:40,250 >> Utzi duzu off bada, eta datu-basea duten Mather bizi guztiek bilatzeko saiatu behar baduzu, 537 00:31:40,250 --> 00:31:42,710 bilaketa lineala devolve sartuko da. 538 00:31:42,710 --> 00:31:45,360 Eta duzun got bada 6.000 undergrads bizi guztiak etxe batzuetan, 539 00:31:45,360 --> 00:31:47,900 taula osoa bilatu Matherites aurkitzeko joan zaren, 540 00:31:47,900 --> 00:31:52,190 Index esan duzu bada, zorionez, berriz, zerbait logaritmikoa bilaketa bat itxi egingo da 541 00:31:52,190 --> 00:31:54,510 mota horiek ikasle aurkitzeko. 542 00:31:54,510 --> 00:31:56,750 Honek ezaugarri bat besterik ez da free piztu, 543 00:31:56,750 --> 00:31:59,530 arren ez espazioaren zenbatekoa batzuen prezio bat etorri da. 544 00:31:59,530 --> 00:32:02,690 Azkenik, auto-gehikuntza, AI eremu honetan, 545 00:32:02,690 --> 00:32:05,830 besterik gabe esan nahi du horrek int bat bada eta nahi ez duzun zeuk Kontatzailea to zaintzeko 546 00:32:05,830 --> 00:32:07,570 Erabiltzaile berri bat da, aldi bakoitzean egiaztatu 547 00:32:07,570 --> 00:32:11,910 eta erabiltzaile bakoitzak lortzen txertatuko automatikoki berria jaso ID bat. 548 00:32:11,910 --> 00:32:15,620 Dezagun sakatu Save, eta, gaur egun, dezagun matxura diseinu hau. 549 00:32:15,620 --> 00:32:20,200 Browse, aldez aurretik jakinarazi, bai Mike eta nire etxea da NULL I joanez gero. 550 00:32:20,200 --> 00:32:22,420 PhpMyAdmin erabili ahal izango dut eskuz editatu. 551 00:32:22,420 --> 00:32:25,110 Joan daiteke hemen, eta mota Mather eta, ondoren, sakatu Sartu, 552 00:32:25,110 --> 00:32:27,740 eta, orain, taula desberdina da. 553 00:32:27,740 --> 00:32:29,270 Baina beste zerbait nabarituko baita egin izan dut. 554 00:32:29,270 --> 00:32:33,530 David ID 1 phpMyAdmin, berriz, administrazio-tresna bat da, beraz; 555 00:32:33,530 --> 00:32:35,970 hau da, ez da zerbait zure erabiltzaile dira inoiz ikusi. 556 00:32:35,970 --> 00:32:38,810 Beraz, bada, egin klik ordez I SQL fitxan goian - 557 00:32:38,810 --> 00:32:41,450 eta berriro, pset 7 duzun aurkezten du kontsulta horiek 558 00:32:41,450 --> 00:32:45,260 Eskuz dut SQL kontsulta egituratutako hizkuntza komandoa exekutatu 559 00:32:45,260 --> 00:32:56,410 UPDATE erabiltzaile SET etxea = 'Pfoho' WHERE id = 1. 560 00:32:56,410 --> 00:33:00,830 SQL kontsultak Hauek dira, nicely nahikoa, ezkerretik eskuinera nahiko irakurgarria. 561 00:33:00,830 --> 00:33:04,350 Eguneratu erabiltzaile taula, etxea izeneko eremuan ezarri Pfoho 562 00:33:04,350 --> 00:33:06,830 non erabiltzailearen ID 1. 563 00:33:06,830 --> 00:33:11,480 Edo ere egin izan dut, non email = 'malan@harvard.edu'. 564 00:33:11,480 --> 00:33:14,860 Beraz, luze hori bakarrean identifikatzen me, baita lan litzateke. 565 00:33:14,860 --> 00:33:18,810 Baina ID ohi errendimendua handiagoa izan da, eta, beraz, utzi egin dela. 566 00:33:18,810 --> 00:33:22,950 Dezagun sakatu Joan. Ados, lecture.users ez da existitzen. Zein da nire error? 567 00:33:22,950 --> 00:33:26,220 Zer da benetan izeneko taula? 568 00:33:26,220 --> 00:33:28,770 Deitzen da ikasle besterik ez delako hori zer sortu genuen hemen goiko ezkerreko. 569 00:33:28,770 --> 00:33:31,860 Deitzen da ikasle, ez erabiltzaileak. Beraz, gaur egun, Joan egin klik. 570 00:33:31,860 --> 00:33:34,330 1 errenkada eragina. Query hartu 0.01 segundotan. 571 00:33:34,330 --> 00:33:38,010 Arakatu klik egin dut, gaur egun Malan bizitza Pfoho bada. 572 00:33:38,010 --> 00:33:42,070 Beraz, beste SQL zaporea da, baina pset oinez egingo dela pixka bat gehiago bidez. 573 00:33:42,070 --> 00:33:44,710 >> Ergelak erabakia dut dagoeneko hemen egiten da. 574 00:33:44,710 --> 00:33:47,820 Datu-basearen diseinua eraginkorra dela argudiatu nahi nuke 575 00:33:47,820 --> 00:33:51,650 pertsona gehiago gehitzeko ikasle taula I delako, 576 00:33:51,650 --> 00:33:54,730 Gutako gehiago gehituz, gehituz hasten I TFS gehiago hasten naiz, 577 00:33:54,730 --> 00:33:58,320 taula honetan redundancies hasteko goaz? 578 00:34:00,840 --> 00:34:06,020 >> Bai. [Ikaslea ikasle dela ikusita, gauza bera ari gara erabiliz [inaudible] 579 00:34:06,020 --> 00:34:07,360 Gauza bera gertatzen da - Eskuin, zehazki. 580 00:34:07,360 --> 00:34:10,400 Beraz, bada, 400 pertsona Mather bizi, eman edo hartu. 581 00:34:10,400 --> 00:34:15,000 azkenean, taula hau da, 400 errenkadak esan "Mather," "Mather," 582 00:34:15,000 --> 00:34:16,590 "Mather," "Mather," "Mather". 583 00:34:16,590 --> 00:34:19,820 Bytes horiek guztiak galtzen ari gara, eta ez takeaways pare bat dago. 584 00:34:19,820 --> 00:34:23,080 1, crazy izkinan kasu non bada norbaitek diru asko ordaintzen 585 00:34:23,080 --> 00:34:25,949 eta renames Mather, orain dugu gure datu-basearen osoa aldatzeko. 586 00:34:25,949 --> 00:34:29,730 Hori ez da askotan gertatuko da, Pfoho izan zen behin, nahiz eta North House deitzen Duela 15 urte, 587 00:34:29,730 --> 00:34:32,310 beraz, gertatzen da. Baina hori ez da sinesgarria hori guztia. 588 00:34:32,310 --> 00:34:36,000 Soltean datuak eguneratu beharrik horrelako kasuan txoko bat baino gehiago sinesgarria 589 00:34:36,000 --> 00:34:41,150 datu-base bat da zergatik gordetzeko Mather behin eta berriro eta behin eta berriro? 590 00:34:41,150 --> 00:34:43,020 Hori karakteretan, 6 karakteretan asko. 591 00:34:43,020 --> 00:34:45,500 Ezin da, are gehiago, hori baino hobeto egin dugu, batez ere Pforzheimer? 592 00:34:45,500 --> 00:34:48,320 Askok karaktere baino hobeto Ziur asko egin ahal izango dugu. 593 00:34:48,320 --> 00:34:51,790 Zergatik ez bakarrik erlazionatuko etxe bakoitzean identifikatzaile bakarra 594 00:34:51,790 --> 00:34:55,020 eta erabiltzaile bakoitzak denda hori? Hargatik saiatu honekin. 595 00:34:55,020 --> 00:35:00,610 Dezagun ez bakarrik erabili ikasle taula baino, igo nazazu nire hitzaldia datu-basea sortu hemen goiko ezkerreko. 596 00:35:00,610 --> 00:35:02,600 Iragarki hemen Sortu taula dio. 597 00:35:02,600 --> 00:35:04,550 Let me izeneko etxe taula berri bat sortzeko. 598 00:35:04,550 --> 00:35:08,880 Zutabe kopurua 2 izango da. Sartu. 599 00:35:08,880 --> 00:35:11,200 Orain 2 fields daukat. 600 00:35:11,200 --> 00:35:14,600 Izena deitu dut, eta luzera 255 varchar bat izango da, 601 00:35:14,600 --> 00:35:18,770 >> baina hori nahiko arbitrarioa da. Hau behera hemen konbentzio jarri me. 602 00:35:18,770 --> 00:35:22,840 Beraz, hemen jarri ID bat sortu. Dezagun etxe guztietan ematen identifikatzaile bakarra. 603 00:35:22,840 --> 00:35:25,360 Dezagun etxe bakoitzak izen bat eman. 604 00:35:25,360 --> 00:35:30,980 Dezagun identifikatzailea, berriz, zehaztu gabeko izango da konbentzio zenbaki positiboak bakarrik erabili. 605 00:35:30,980 --> 00:35:35,020 Dezagun aurrera, eta hau auto-gehikuntza eremuan eman oraingoz. 606 00:35:35,020 --> 00:35:38,160 Eta beste edozer behar dugu? 607 00:35:38,160 --> 00:35:41,010 Dezagun aurrera eta sakatu Gorde. 608 00:35:41,010 --> 00:35:42,480 Orain, bigarren taula bat daukat. 609 00:35:42,480 --> 00:35:45,860 Oharra apur bat críptica SQL komando bat alde batera utzita 610 00:35:45,860 --> 00:35:50,280 izan duzu litzateke eskuz idatzi ez phpMyAdmin administrazio bezalako tresna bat erabiliz gero. 611 00:35:50,280 --> 00:35:51,990 Erabiltzen dugu, beraz, beste arrazoi bat. 612 00:35:51,990 --> 00:35:55,480 Wonderfully erabilgarria pedagogiko moduko inguruan klik daitekeelako 613 00:35:55,480 --> 00:36:01,050 irudikatu eta gauzak nola besterik ez kopiatu eta zer phpMyAdmin egin itsasteko lan egiten. 614 00:36:01,050 --> 00:36:04,150 Baina sortu taula komandoa exekutatu, eta hemen nire taula da. 615 00:36:04,150 --> 00:36:11,370 Dezagun aurrera me now eta raw SQL baino oversimplify Txertatu fitxan klik eginez. 616 00:36:11,370 --> 00:36:15,040 Etxe INSERT INTO ez me, 617 00:36:15,040 --> 00:36:22,230 eta etxearen izena Mather 'balioa izan behar da esan nahi dut. 618 00:36:22,230 --> 00:36:24,790 Dela. Sintaxia apur bat gehiago críptica. 619 00:36:24,790 --> 00:36:26,660 Eremu sartu nahi dugun izena da. 620 00:36:26,660 --> 00:36:30,390 Hauek dira arlo horietan txertatzeko balio nahi dugu. Let joan egin klik me. 621 00:36:30,390 --> 00:36:34,410 1 errenkada txertatuko hartu 0.02 segundotan. Arakatu me egin klik. 622 00:36:34,410 --> 00:36:42,020 >> Ohartu egin klik Arakatu bada, ez da Mather, zeinen ID automatizazio 1 zenbakia da. 623 00:36:42,020 --> 00:36:45,000 Beste bat do me. Dezagun joan SQL fitxa me. 624 00:36:45,000 --> 00:36:52,950 Etxe txertatzeko. Etxearen izena da Pfoho balio bat izan da, eta abar. 625 00:36:52,950 --> 00:36:56,350 Joan. Eta gorde berriro lan hau egiteko, eta behin eta berriro. 626 00:36:56,350 --> 00:36:59,470 Edo aspertuko phpMyAdmin erabiliz, besterik ez dezakezu Txertatu fitxa erabili 627 00:36:59,470 --> 00:37:01,000 eta ez dute raw SQL idatzi. 628 00:37:01,000 --> 00:37:04,690 Zaitezke Bang azkarrago, esate baterako, idazketa by Currier, Sartu, 629 00:37:04,690 --> 00:37:07,610 eta, gaur egun, egin klik Arakatu bada, ez dago Currier 3 ID bat. 630 00:37:07,610 --> 00:37:09,920 Beraz, hau da, auto-gehikuntza bidez zer esan nahi dugun. 631 00:37:09,920 --> 00:37:12,280 Baina orain zerbait konpontzeko ikasle ditugu. 632 00:37:12,280 --> 00:37:16,240 Ikasleak zer egin behar datu mota etxeko eremuan orain? 633 00:37:16,240 --> 00:37:19,450 Int bat izan behar du, ezta? 634 00:37:19,450 --> 00:37:23,950 Helburua hemen faktore, bestela normalizatzeko bezala ezagutzen, mahaiak 635 00:37:23,950 --> 00:37:27,940 beraz, ez dugu ez gordetzeko informazio redundantly nire mahai batean. 636 00:37:27,940 --> 00:37:31,130 Eta berriro ere, hemen dugu bide ziren Mather, Mather esan nahi du, 637 00:37:31,130 --> 00:37:34,220 Mather, Mather, Pfoho, Pfoho, Pfoho, Pfoho, hau da, oso erredundantea 638 00:37:34,220 --> 00:37:36,240 karakteretan, wastefulness dagokionez. 639 00:37:36,240 --> 00:37:40,820 Beraz, aurrera eta hau aldatzeko Egitura klik eginez, 640 00:37:40,820 --> 00:37:44,620 eta utzi aurretik, joan eta egiaztatu off etxeko eremuan, egin klik aldatu 641 00:37:44,620 --> 00:37:46,990 eta hau aldatzeko int bat izan dut. 642 00:37:46,990 --> 00:37:49,490 255 jada ez da garrantzitsua. 643 00:37:49,490 --> 00:37:54,010 Dezagun aurrera eta esan me duela fina da oraindik bada NULL. Gorde. 644 00:37:54,010 --> 00:37:55,870 Orain taula ikasleak aldatu egin dira, 645 00:37:55,870 --> 00:37:59,090 eta berriro ere nabarituko house int bat da. 646 00:37:59,090 --> 00:38:02,220 Bat alde batera utzita, ez ikusi egin parentesi kopurua orduan ints. 647 00:38:02,220 --> 00:38:03,770 >> Ondarea arrazoiak direla eta. 648 00:38:03,770 --> 00:38:06,920 Itzuli egunean ez duzu GUIs, izan ordez komando lerroa ingurumena, 649 00:38:06,920 --> 00:38:11,580 10 eta 11, hurrenez hurren zehaztu zenbat karaktere erakutsi behar duzu 650 00:38:11,580 --> 00:38:13,950 terminal leihoa benetan erakutsi eremuak. 651 00:38:13,950 --> 00:38:19,150 Ezer eremuan benetako luzera bit ez ditu, beraz, besterik ez dugu alde batetara utzi oraingoz. 652 00:38:19,150 --> 00:38:20,990 Orain, taula honetan sartu behar dut. 653 00:38:20,990 --> 00:38:24,610 Eta David Mather bizi, house behar ez 0 izan behar du, 654 00:38:24,610 --> 00:38:27,350 hurbilago NULL int balio lehenetsia da. 655 00:38:27,350 --> 00:38:29,810 Bizi behar zuen, etxea 1. 656 00:38:29,810 --> 00:38:36,870 Dezagun arbitrarioki esan Mike Pfoho bizi da, beraz, etxe multzoko 2. 657 00:38:36,870 --> 00:38:40,160 Orain nire taula itxura apur bat gehiago críptica. 658 00:38:40,160 --> 00:38:41,960 Baina kontuan hartu eraginkortasuna. 659 00:38:41,960 --> 00:38:44,860 32 bit bakarrik erabiltzen dut etxea identifikatzeko, 660 00:38:44,860 --> 00:38:49,530 Horrek esan nahi du, 1 bakarrik nire etxea Mather eta Pfoho definizioa kanonikoa 661 00:38:49,530 --> 00:38:52,090 eta hori etxe taula. 662 00:38:52,090 --> 00:38:55,880 Beraz, bada, taula hauek orain rejoin nahi dut, modu honetan pentsatu. 663 00:38:55,880 --> 00:39:01,980 Hona hemen nire ikasle taula I,, eta eskuinaldean zenbaki horiek, 1 eta 2. 664 00:39:01,980 --> 00:39:04,180 1 Mather, 2 Pfoho da. 665 00:39:04,180 --> 00:39:08,580 Beste taula honetan zenbaki bera ere, deitzen den etxe bat daukagu, 666 00:39:08,580 --> 00:39:11,020 1 eta 2 eta 3 3 etxe horiek. 667 00:39:11,020 --> 00:39:14,990 Zer egin nahi dugu, PHP eta SQL kodea gaitasuna izan da, 668 00:39:14,990 --> 00:39:18,800 ordenatzeko rejoin taula hauek, non hauek dira ikasle eta etxe horiek dira, 669 00:39:18,800 --> 00:39:22,050 nolabait konbinatu, beraz, 1 eta 1 lerroak nahi dugu, 670 00:39:22,050 --> 00:39:25,670 2 2 sortu lerroak, eta horrela irudikatu dezakegu non David 671 00:39:25,670 --> 00:39:28,000 eta non Mike eta gainontzeko bizi. 672 00:39:28,000 --> 00:39:31,850 Horretarako, honako hauek bezalako SQL kontsulta bat exekutatu ahal izango dugu. 673 00:39:31,850 --> 00:39:40,470 AUKERATU * ikasle ELKARTU etxe aurrera 674 00:39:40,470 --> 00:39:43,000 Eta orain zer eremuak ez sartu nahi dugu? 675 00:39:43,000 --> 00:39:49,520 Beraz, students.house = houses.id. 676 00:39:49,520 --> 00:39:54,150 >> Un poco de críptica, baina zati bat, horrek esan nahi du, hitzez hitz, behin-behineko taula berri bat sortu 677 00:39:54,150 --> 00:39:56,690 ikasle eta etxeak sartzeko emaitza da. 678 00:39:56,690 --> 00:40:00,340 Eta, nola ez, nire behatzak aholkuak konbinatu hemen nahi al duzu? 679 00:40:00,340 --> 00:40:05,280 Ezarri ikasleek 'etxea eremuan etxeak' ID eremuan berdinak. 680 00:40:05,280 --> 00:40:10,220 Eta orain badut egin klik Joan itzuli dut zehazki zer espero dut. 681 00:40:10,220 --> 00:40:15,890 David Mather, Mike Pfoho da, eta berezia identifikatzaileak ere ikusi dut. 682 00:40:15,890 --> 00:40:18,640 Baina puntua da gaur egun osoa taula bat daukat. 683 00:40:18,640 --> 00:40:23,020 Eta, beraz, takeaway hemen pset 7 edo benetan azken proiektua: 684 00:40:23,020 --> 00:40:25,830 Aurkitzen ari zaren informazioa edozein pieza gordetzeko redundantly bada, 685 00:40:25,830 --> 00:40:28,850 ote den etxe bat, agian, hiria, egoera, eta ZIP da 686 00:40:28,850 --> 00:40:32,050 non ZIP egin dezake normalean, baina ez dira beti berezia identifikatzaile gisa erabiltzen da, 687 00:40:32,050 --> 00:40:35,810 ez ariketa bidez phpMyAdmin moduko zerbait, adimen-eta, ondoren, 688 00:40:35,810 --> 00:40:40,660 batez ere komun datuak out factoring zure web lortzen ondo erabiltzen delako 689 00:40:40,660 --> 00:40:45,440 eta gehiago popular, hau da, nola ziurtatu dena super azkar egiten duzu, 690 00:40:45,440 --> 00:40:51,930 berezitasun gisa hainbat aholku ahalik eta datu-base emanez. 691 00:40:51,930 --> 00:40:53,860 Asko izan zen. 692 00:40:53,860 --> 00:40:59,010 Edozein galdera? Guztiak eskubidea. Dezagun 5 minutuko atsedenaldi bat hartu eta bilduko. 693 00:41:01,600 --> 00:41:03,540 Guztiak eskubidea. 694 00:41:03,540 --> 00:41:08,680 Jarraian, adibide bat izan zen duela urte batzuk erabiltzen CS161 hartu nuen, 695 00:41:08,680 --> 00:41:10,960 ikastetxea sistema eragileetarako mailakoa da 696 00:41:10,960 --> 00:41:15,160 amazing izateagatik ezaguna den, baina lan zenbatekoa crazy bat, 697 00:41:15,160 --> 00:41:19,810 eta benetan arreta berezia jarri du sistema eragile sortzen diren behe-mailako arazo batzuk 698 00:41:19,810 --> 00:41:22,700 eta, gainera, nahiz eta datu-base munduan. 699 00:41:22,700 --> 00:41:27,040 >> Istorioa kontatu izan zen nire irakaslea, Margo Seltzer, urte horretan honako hau izan zen. 700 00:41:27,040 --> 00:41:30,990 Demagun bat duzula eta zure gelakide gela txiki hozkailua 701 00:41:30,990 --> 00:41:34,030 eta bai benetan gustatzen esnea. 702 00:41:34,030 --> 00:41:36,360 Beraz, etxera klase egun bat, zure gelakide oraindik ez da han, 703 00:41:36,360 --> 00:41:39,650 hozkailua ireki duzu, eta konturatzen zara, "Oh madarikatua, esne gara." 704 00:41:39,650 --> 00:41:42,070 Beraz, hozkailuan ixteko, oinez kalean zehar CVS 705 00:41:42,070 --> 00:41:45,830 eta gero lerro luzeak CVS at esne pixka bat erostera. 706 00:41:45,830 --> 00:41:48,470 Bien bitartean, zure gelakide etxera bere edo bere klasea, 707 00:41:48,470 --> 00:41:51,690 gelan sartzen da, hozkailuan esne pixka bat benetan nahi irekiko da, 708 00:41:51,690 --> 00:41:54,130 hozkailua irekiko da, eta, "Damn, ez esnea." 709 00:41:54,130 --> 00:41:57,890 Beraz, zuen hozkailuan ixten dira, ibiltzen da atea, eta doan ABP 710 00:41:57,890 --> 00:42:00,910 edo nonbait CVS non ez duzu beste bakoitzean erliebe baino beste 711 00:42:00,910 --> 00:42:02,790 joan eskuratu esne pixka bat. 712 00:42:02,790 --> 00:42:04,820 Jakina, minutu batzuk geroago, bai iritsi etxera 713 00:42:04,820 --> 00:42:07,740 eta, gaur egun, bi aldiz askoz esne benetan duzun bezala nahi duzu. 714 00:42:07,740 --> 00:42:10,670 Eta esnea izatea, gaur egun txarra joan da joan nahi duzu esnea delako 715 00:42:10,670 --> 00:42:14,200 baina, ez duzu benetan esnea bezala, beraz, gaur egun gehiegi esnea behar duzu, beraz, gazi,. 716 00:42:14,200 --> 00:42:16,830 Awful, egoera beldurgarria da. 717 00:42:16,830 --> 00:42:22,920 Zer konpondu izan da predicament honetan lehen gelakide hasiera zinen bada? Bai. 718 00:42:22,920 --> 00:42:25,970 [Ikasleen] Ohar bat utzi behar duzu. [Barreak] 719 00:42:25,970 --> 00:42:28,090 Good. Ohar bat utzi behar duzu. 720 00:42:28,090 --> 00:42:32,320 Jarri behar duzu, a Post-it ohar edo, esanez bezala "esne for Gone," 721 00:42:32,320 --> 00:42:36,830 eta, gero, zure gelakide kontzeptualki izan litzateke blokeatuta benetan egiten. 722 00:42:36,830 --> 00:42:38,010 Edo joan 1 urrats dezake. 723 00:42:38,010 --> 00:42:41,060 Literalki dezakezu hozkailuan blokeatu giltzarrapo mota batzuk, 724 00:42:41,060 --> 00:42:44,870 eta orain zure gelakide literalki dira blokeatuta hozkailuan. 725 00:42:44,870 --> 00:42:48,520 Orokortu dugu atzera programazio bada, 726 00:42:48,520 --> 00:42:51,610 ia dezakezu hozkailuan uste zenbait aldagai mota edo struct 727 00:42:51,610 --> 00:42:53,500 informazio edukiontzi mota batzuk. 728 00:42:53,500 --> 00:42:58,290 Arazoa, funtsean, hemen duzu, bai ziren onartzen ikuskatu 729 00:42:58,290 --> 00:43:02,370 edo datu-egitura honen egoera irakurri 730 00:43:02,370 --> 00:43:08,050 baina bisitatua une desberdinetan, eta bai oraindik erabaki bat egin 731 00:43:08,050 --> 00:43:11,920 munduko egoera oinarritzen denbora une desberdinetan horietan. 732 00:43:11,920 --> 00:43:15,570 Beraz, zuen hozkailuan blokeatuta duzu, gutxienez, nahi duzun saihestu zure gelakide 733 00:43:15,570 --> 00:43:19,070 izan balitz gai munduko egoera aztertuko, 734 00:43:19,070 --> 00:43:22,530 beraz, berak ezin izan du egin dute erabaki hori bera. 735 00:43:22,530 --> 00:43:25,780 Datu-base Beraz, bihurtzen da, arazo hau etengabe. 736 00:43:25,780 --> 00:43:31,050 >> Ikus dezagun eszenatoki bat eraikitzeko bada. 737 00:43:31,050 --> 00:43:34,310 Demagun txarra lasaia sort ari zaren joan eta Banco de América 738 00:43:34,310 --> 00:43:37,950 edo plazan duten beste leku bat bikote kutxazainetan aldamenean, 739 00:43:37,950 --> 00:43:41,200 eta, nolabait, hurrena nola ATM txartela bikoiztu gogor ez duten guztiak. 740 00:43:41,200 --> 00:43:42,730 Banda magnetikoa bat besterik ez da. 741 00:43:42,730 --> 00:43:45,180 Eta beraz, zer egin saiatu nahi duzu play Joko hau da 742 00:43:45,180 --> 00:43:49,060 Horren bidez, 1 txartel jarri du makina 1, txartel bat beste makina batean, 743 00:43:49,060 --> 00:43:51,980 eta, funtsean, nahi duzun dirua ateratzea, aldi berean, saiatu, 744 00:43:51,980 --> 00:43:54,930 imajinatu duelako historia honela doa. 745 00:43:54,930 --> 00:43:57,350 Ezkerraldean makina zure txartela eta zure PIN hartzen du, 746 00:43:57,350 --> 00:44:00,240 eta, ondoren, esan duzu "Give me $ 100." 747 00:44:00,240 --> 00:44:04,790 ATM programatuta dago lehen egin aukeratu bere datu-basea edo baliokidea 748 00:44:04,790 --> 00:44:10,780 edozein delarik ere datu-basea erabiliz ikusteko erabiltzaile hau ez dute bere kontuan, gutxienez 100 $? 749 00:44:10,780 --> 00:44:16,180 Hala bada, ondoren, txu $ 100 eta $ 100 beren oreka kentzen. 750 00:44:16,180 --> 00:44:20,470 Baina, jakina, makina bat baino gehiago bada hemen edo ikuskatzeko modu bat baino gehiago 751 00:44:20,470 --> 00:44:23,560 mundu egoera, banku-ganga, zenbat diru duzu ikusteko 752 00:44:23,560 --> 00:44:26,780 demagun hori bakarrik aukera makina ezkerreko eta eskuineko 753 00:44:26,780 --> 00:44:30,140 bi eskatu galdera gutxi gorabehera denbora une berean. 754 00:44:30,140 --> 00:44:34,160 >> Eta hau, zalantzarik gabe gertatuko. Kutxazainetan ordenagailuak dira egun hauetan. 755 00:44:34,160 --> 00:44:37,670 Beraz, ezker makina dioen bada, "Bai, gutxienez 100 $ duzu," 756 00:44:37,670 --> 00:44:42,150 bestalde eskubidea makina dio: "Bai, gutxienez 100 $ baduzu," 757 00:44:42,150 --> 00:44:47,420 ondoren, biak jarraitu beren programak amaitzeko eta benetan txu 100 $ 758 00:44:47,420 --> 00:44:50,820 eta esan, "Aurretik 200 $ izan duzu." 759 00:44:50,820 --> 00:44:54,890 "Let me orain aldagaia $ 100 kontuan utzitako eguneratzeko." 760 00:44:54,890 --> 00:44:58,780 Baina biak hautatuta izanez gero, zure kontu oreka eta aurkitu dela 200 $ 761 00:44:58,780 --> 00:45:02,000 eta biak, ondoren, egin math eta esan 200 - 100, 762 00:45:02,000 --> 00:45:06,990 makinak potentzialki txu makina bakoitzean bi $ 100 fakturak, 763 00:45:06,990 --> 00:45:11,360 baina soilik haiekin eguneratu zure batura saldoa $ 100 izan. 764 00:45:11,360 --> 00:45:15,130 Beste era batera esanda, hartu duzun $ 200, baina munduko egoera ikuskatu dute delako 765 00:45:15,130 --> 00:45:18,840 aldi berean, eta ondoren egin balio horretan oinarritutako erabaki bat, 766 00:45:18,840 --> 00:45:21,930 Agian ez dute matematika, azken finean, behar bezala. 767 00:45:21,930 --> 00:45:25,520 Beraz, banku-egoera bat ere nahi bateko blokeoaren nolabaiteko 768 00:45:25,520 --> 00:45:28,450 beraz, ahalik eta azkarren egiaztatzen dituzun aldagai batzuen egoera 769 00:45:28,450 --> 00:45:31,220 hori oso garrantzitsua da, zure saldoa bezala, 770 00:45:31,220 --> 00:45:36,070 ez utzi inork egin horretan oinarriturik erabakiak egin arte gauza egiten, 771 00:45:36,070 --> 00:45:38,920 non kasu honetan ezker ATM dira. 772 00:45:38,920 --> 00:45:41,160 Blokeatu besteekin. 773 00:45:41,160 --> 00:45:44,650 Benetan dezakezu lortzeko efektu hau modu ezberdinetan pare bat. 774 00:45:44,650 --> 00:45:48,660 >> MySQL modurik errazena The SQL-lerro bat eman dizugu 775 00:45:48,660 --> 00:45:52,030 arazo multzo zehaztapen zehazki itxura hau. 776 00:45:52,030 --> 00:45:57,420 Edozein dela ere deitzen - id bat, sinbolo bat, eta partekatu, akzioen kopurua, taula txertatzeko 777 00:45:57,420 --> 00:45:59,660 balio hauek, esate baterako. 778 00:45:59,660 --> 00:46:03,370 Irakurri ez baduzu zehaztapenak oraindik, eta hau adibide bat da nola joan behar arazoak 779 00:46:03,370 --> 00:46:07,340 Penny stock honen 10 akzio erosi presidentea Skroob 780 00:46:07,340 --> 00:46:10,340 kopurua 7 izango, eta haren erabiltzaile ID gertatzen? 781 00:46:10,340 --> 00:46:14,070 Dio taula honako id, ikurra, eta akzioen kopurua txertatzeko 782 00:46:14,070 --> 00:46:18,200 7,, 'DVN.V', eta 10. 783 00:46:18,200 --> 00:46:21,510 Baina, baina, baina, baina bigarren lerroan garrantzitsu bat da. 784 00:46:21,510 --> 00:46:26,310 KEY UPDATE Duplicate akzio ON = akzioak + VALUES (akzioak). 785 00:46:26,310 --> 00:46:28,350 Beraz, hasiera batean erabat críptica bila. 786 00:46:28,350 --> 00:46:31,990 Baina SQL kontsulta hori, nahiz eta wraps 2 lerro aldera, 787 00:46:31,990 --> 00:46:35,920 1 query luzea da, atomikoa da esan nahi du 788 00:46:35,920 --> 00:46:41,000 Zentzu kontsulta hori bai, denak batera edo ez exekutatu guztietan. 789 00:46:41,000 --> 00:46:45,100 Eta MySQL definizioa, nola kontsulta hau jarri du martxan dute. 790 00:46:45,100 --> 00:46:51,010 Bermatuta guztiak aldi berean edo ez exekutatu eskuliburua definizioa da. 791 00:46:51,010 --> 00:46:54,020 Honen motibazioa da honela. 792 00:46:54,020 --> 00:46:58,540 Kasu honetan, 10 stock akzioak erosi ari bazara saiatzen ari da, 793 00:46:58,540 --> 00:47:02,260 esnea bezala istorio mota da, ATM gisa istorioa berean mota da. 794 00:47:02,260 --> 00:47:04,970 >> Egiten baduzu, akatsa ez da sintaxi honen bidez 795 00:47:04,970 --> 00:47:09,610 baina, horren ordez, datu-basea hautatu zenbat Penny stock akzioak ikusteko 796 00:47:09,610 --> 00:47:13,750 du presidenteak Skroob dute, eta suposatzen 10 akzio ditu, 797 00:47:13,750 --> 00:47:19,330 eta, ondoren, split segundo batzuk beranduago UPDATE adierazpen bat egin ondoren, 798 00:47:19,330 --> 00:47:24,810 beste SQL adierazpen dioen aurrera eta 10 akzio gehitu da 799 00:47:24,810 --> 00:47:28,700 bere gaur egungo 10, haien, beraz, guztira 20, hau da, 800 00:47:28,700 --> 00:47:33,490 arazoa, zeren eta gaur egungo datu-base sistemak eta baita gaur egungo ordenagailuetan 801 00:47:33,490 --> 00:47:35,990 prozesadore bat baino gehiago, gune bat baino gehiago duzu 802 00:47:35,990 --> 00:47:38,920 beste era batera esanda, ordenagailuak literalki anitz gauza egiten behin 803 00:47:38,920 --> 00:47:44,270 bermea ez da zure SELECT eta kasu honetan UPDATE 804 00:47:44,270 --> 00:47:46,150 dira berriro gertatuko atzera egingo. 805 00:47:46,150 --> 00:47:49,140 Eszenatoki bat txarra litzateke, beraz, AUKERATU egiten duzu 806 00:47:49,140 --> 00:47:51,670 zenbat akzio Penny stock hau izan du Skroob ikusteko, 807 00:47:51,670 --> 00:47:54,710 eta, ondoren, kasualitatez beste Datu-basean kontsulta exekutatu da - 808 00:47:54,710 --> 00:47:57,740 agian bere nabigatzailearen beste leiho batean Skroob 10 akzio erosi nahian 809 00:47:57,740 --> 00:48:00,700 Beste leiho batean guztira, askoz ATM bezala - 810 00:48:00,700 --> 00:48:05,410 eta demagun beste kontsulta batekin SELECT eta UPDATE artean lortzen. 811 00:48:05,410 --> 00:48:10,210 Kasuan Skroob akzioen zenbaki batzuk galtzen izan daiteke 812 00:48:10,210 --> 00:48:14,340 beste prozesu batek bere munduko egoera ikuskatzeko delako, 813 00:48:14,340 --> 00:48:17,800 edo akzio behar zuen baino gehiago irabazi zuen. 814 00:48:17,800 --> 00:48:23,250 Ez dugu zehazki zer bereziki istorioa lerro horiek litzateke partikularren sartu, 815 00:48:23,250 --> 00:48:28,380 baina puntua duzu aldagai balio bat egiaztatu eta gero, erabaki bat izanez gero, 816 00:48:28,380 --> 00:48:32,500 beste norbaitek zerbait egiten 2 adierazpenak artean arrisku bat badu, 817 00:48:32,500 --> 00:48:36,220 bezala hainbat sistemetan gertatuko, multicore sistemak, 818 00:48:36,220 --> 00:48:41,220 aldi berean hainbat gauza egin gaitasuna ordenagailuak, gauza txarrak gertatuko 819 00:48:41,220 --> 00:48:44,530 banku bezalako kontuak ari zorduntzerik gaizki, esnea birritan ere erosi 820 00:48:44,530 --> 00:48:46,730 edo kasu honetan akzio kopuru okerra. 821 00:48:46,730 --> 00:48:48,370 Baina honi buruz pentsatzeko modu bat errazagoa. 822 00:48:48,370 --> 00:48:53,290 >> Bihurtzen da SQL ere onartzen du, konfiguratu zure taula izanez gero, behar bezala, 823 00:48:53,290 --> 00:48:56,920 zerbait izeneko transakzioak, argudiatzeko nuke are errazagoa da, benetan ulertu 824 00:48:56,920 --> 00:49:00,650 hori baino, baina ez da 1-forrua, beraz, benetan pixka bat gehiago parte hartzen. 825 00:49:00,650 --> 00:49:04,960 Literalki START transakzio izeneko SQL adierazpen bat dago. 826 00:49:04,960 --> 00:49:08,300 Bezala AUKERATU, UPDATE, INSERT, DELETE, eta ELKARTU eta beste mordo bat, 827 00:49:08,300 --> 00:49:10,970 START transakzio bezala keywords daude. 828 00:49:10,970 --> 00:49:13,560 Eta zer 7 pset testuinguruan baduzu - 829 00:49:13,560 --> 00:49:17,270 ez duzu pset 7 Horretarako, esplizituki ez da beharrezkoa disclaimed 830 00:49:17,270 --> 00:49:18,830 baina azken proiektu erabilgarria izan daiteke 831 00:49:18,830 --> 00:49:22,820 START transakzio kontsulta bat deitu, eta, ondoren, beste kontsulta batekin 832 00:49:22,820 --> 00:49:25,620 eta gero, beste kontsulta batekin eta, ondoren, beste, beste bat, eta beste bat, 833 00:49:25,620 --> 00:49:31,860 kontsulta horiek ez dira exekutatu deitu SQL instrukzioa Entregatu arte, 834 00:49:31,860 --> 00:49:37,220 eta amaitzen da, ea 2 adierazpenak, 20 edo adierazpenak, izango dute guztiek da exekutatu aldi berean, 835 00:49:37,220 --> 00:49:42,770 Horrek esan nahi du, inork ez bestela, ustekabean gehiegi erosi esnea edo zordunketa diru gehiegi 836 00:49:42,770 --> 00:49:46,340 erosi edo gehiegi akzioak zure zalantzak guztiak exekutatu egingo delako 837 00:49:46,340 --> 00:49:48,410 Atzera itzuli. 838 00:49:48,410 --> 00:49:51,580 Eta hori da super garrantzitsua da, batez ere hau bezalako zerbait egiten ari zarenean. 839 00:49:51,580 --> 00:49:54,900 Hau da adibide arbitrario bat dioen let eguneratzeko banku kontuan 840 00:49:54,900 --> 00:50:00,200 $ 1000 2 kontu zenbakia da non - oreka oreka berdinak ezarriz. 841 00:50:00,200 --> 00:50:04,260 Eta gero, bigarren adierazpena dezagun utz $ 1000 842 00:50:04,260 --> 00:50:07,310 beste norbaitek sartu banku-kontu horien kontu zenbakia da 1. 843 00:50:07,310 --> 00:50:10,400 >> Beste era batera esanda, hau adibide bikaina da ziurtatu nahi duzun 844 00:50:10,400 --> 00:50:13,590 bi adierazpen horiek gertatzen diren edo ez 845 00:50:13,590 --> 00:50:15,450 bestela bezeroak delako izorratu joan 846 00:50:15,450 --> 00:50:17,670 eta beren dirua hartu eta ez da utzi beste nonbait ari zaren, 847 00:50:17,670 --> 00:50:20,470 edo banku izorratu to get non ari zaren dirua uzteko 848 00:50:20,470 --> 00:50:23,140 baina ez benetan kendu erabiltzailearen kontutik. 849 00:50:23,140 --> 00:50:25,810 Beraz, biak batera exekutatu nahi duzun. 850 00:50:25,810 --> 00:50:29,140 Hortaz, mundu eragiketak sartzen. 851 00:50:29,140 --> 00:50:31,360 Beraz, zerbait your mind atzealdean mantentzen da, 852 00:50:31,360 --> 00:50:34,710 beraz, proiektuaren azken helburuak askoz, 853 00:50:34,710 --> 00:50:36,700 baina nahi duzun zure azken proiektua hartu nonbait, 854 00:50:36,700 --> 00:50:39,040 hasi nahi enpresa batzuk inguruan izanez gero, 855 00:50:39,040 --> 00:50:41,270 ikaslea talde batzuk arazo konpondu nahi duzun campusean 856 00:50:41,270 --> 00:50:45,210 eta benetan, zuzenean, web aktibo horiek, bugs sotila sor sailkatu dira 857 00:50:45,210 --> 00:50:49,480 ez baduzu nahiko uste bidez zer egin dezaket gertatuko 2 pertsonek 858 00:50:49,480 --> 00:50:54,190 zure web sartzen saiatzen dira literalki denbora une berean, 859 00:50:54,190 --> 00:50:56,890 Horren bidez, beraien iritziak, kontsultak liteke bestela interwoven. 860 00:50:58,840 --> 00:51:01,420 >> JavaScript batzuk, horien teaser bat egiteko prest? 861 00:51:01,420 --> 00:51:04,320 Hau gure azken seihilekoan hizkuntza da. Guztiak eskubidea. 862 00:51:04,320 --> 00:51:09,940 Zorionez, JavaScript itxura oso, oso, 2 hizkuntza, C eta PHP oso antzekoa da, 863 00:51:09,940 --> 00:51:11,140 horrela egin dugu orain arte. 864 00:51:11,140 --> 00:51:14,340 7 pset Ikusteko Javascript-a ez da, baina oso tresna erabilgarria da 865 00:51:14,340 --> 00:51:18,840 web-oinarritutako final proiektuak egiteko edo benetan just web programazioa, oro har, orduan. 866 00:51:18,840 --> 00:51:20,950 Beraz, zerbait izeneko DOM ikuspegi azkar bat. 867 00:51:20,950 --> 00:51:23,600 Hona hemen super simple web orrian benetan kaixo, mundu dio 868 00:51:23,600 --> 00:51:25,970 bai titulua eta gorputza. 869 00:51:25,970 --> 00:51:29,270 Koska gisa aspalditik proposatuz, 870 00:51:29,270 --> 00:51:31,380 web orrialdeak hierarkia bat dago, hain zuzen ere. 871 00:51:31,380 --> 00:51:34,220 Zuhaitz baten gisa HTML snippet berean hau marraztu izan nuen, 872 00:51:34,220 --> 00:51:37,470 pentsatzeko gure datu-egituren eztabaidak C, honela. 873 00:51:37,470 --> 00:51:40,710 Berezi batzuk root izeneko dokumentua nodo nodo daukat, 874 00:51:40,710 --> 00:51:43,650 eta hau analogikoa JavaScript ikusiko dugu une bat besterik ez. 875 00:51:43,650 --> 00:51:48,330 HTML tag lehen haurra, eta hori, kasu honetan, seme-alaba bakarra da. 876 00:51:48,330 --> 00:51:49,880 Doctype, kartografia zuzenik ez da. 877 00:51:49,880 --> 00:51:53,170 Hau gauza berezi bat, besterik ez dugu ahaztu behar orduan DOM hau da, beraz, 878 00:51:53,170 --> 00:51:55,810 hau Document Object Model zuhaitza. 879 00:51:55,810 --> 00:51:59,530 Oharra HTML tag, irudikatuta dut arbitrarioki laukizuzen bat bezala, 880 00:51:59,530 --> 00:52:02,890 2 seme-alaba ditu: burua eta gorputza. 881 00:52:02,890 --> 00:52:04,840 >> Horiek, era berean, laukizuzenak bezala marraztuko. 882 00:52:04,840 --> 00:52:08,970 Esanguratsua da pictorially burua gorputzaren ezkerraldean da. 883 00:52:08,970 --> 00:52:11,960 Inplikazioa da, buru den zuhaitza lehen. 884 00:52:11,960 --> 00:52:14,910 Beraz, ez da benetan bat zuhaitz bat ordenatzen denean marraztu hau atsegin dute, 885 00:52:14,910 --> 00:52:17,460 nahiz eta forma eta whatnot arbitrarioak dira. 886 00:52:17,460 --> 00:52:20,360 Head bestalde izeneko title ume bat bakarra du, 887 00:52:20,360 --> 00:52:25,170 eta izenburua benetan bere seme-alaba, hau da, "kaixo, mundua" du, 888 00:52:25,170 --> 00:52:32,210 obalo bat hemen laukizuzena apur bat desberdinak egiteko nahita marraztu dut. 889 00:52:32,210 --> 00:52:37,420 Laukizuzenak hauek elementuak dira, kaixo, mundua, berriz, benetan testu-nodo bat. 890 00:52:37,420 --> 00:52:39,850 Beraz, zuhaitz nodo bat da, baina nodo mota bat da 891 00:52:39,850 --> 00:52:41,730 beraz, marraztu dut arbitrarioki ezberdina izan. 892 00:52:41,730 --> 00:52:45,000 Era berean, ez du gorputza kaixo, mundua baita izeneko haur bat, 893 00:52:45,000 --> 00:52:47,910 beraz, nahiz eta hainbat nodo coincidentally Oraindik dute testu bera, 894 00:52:47,910 --> 00:52:52,100 baina marrazten dut forma bera erabiliz. Beraz, nork zaintzen? 895 00:52:52,100 --> 00:52:56,820 Beno, zer HTML buruzko nice hierarkiko izaera hori izan du. 896 00:52:56,820 --> 00:53:01,010 Eta zer JavaScript eta, batez ere, liburutegi libre buruzko nice 897 00:53:01,010 --> 00:53:07,120 eta jQuery bezalako popular, zuhaitzaren egitura beraz, amazingly erraz nabigatu ahal izango duzu. 898 00:53:07,120 --> 00:53:11,790 Stuff C egin dugu erakusleak eta traversing zuhaitz eta nodoetako errekurtsibitatean 899 00:53:11,790 --> 00:53:15,300 ezkerretik eskuinera haurraren haurra, Bat-batean ordenatzeko dezakegu emandako 900 00:53:15,300 --> 00:53:19,450 amazingly argigarria izan ez pixka bat bada frustrating 901 00:53:19,450 --> 00:53:22,470 baina ez ia modu eraginkor bat programazioari buruz. 902 00:53:22,470 --> 00:53:24,470 Eta beraz, hizkuntza horiek JavaScript bezalako maila handiagoa 903 00:53:24,470 --> 00:53:28,340 Zuhaitz hau askoz ere intuitiboki nabigatu ahal izango dugu. 904 00:53:28,340 --> 00:53:30,430 >> Eta, hain zuzen ere, sintaxia nahiko ezaguna izango da. 905 00:53:30,430 --> 00:53:32,950 Nik inoiz ez baduzu ikusi Ikusteko Javascript-a baino lehen, hau da benetan nice erreferentzia 906 00:53:32,950 --> 00:53:35,910 Mozilla folks, pertsonak osatzen duten Firefox, 907 00:53:35,910 --> 00:53:38,370 beraz, doan arakatzeko zure gustura sentitzen ez. 908 00:53:38,370 --> 00:53:41,590 Zer aurkituko duzu eta diapositibak horiek berdin-berdinak dira, beste egun erabiltzen dugu 909 00:53:41,590 --> 00:53:44,030 era berean, nagusiak desagertuko da. 910 00:53:44,030 --> 00:53:47,010 Beraz JavaScript programa bat idazteko, funtzio nagusia ez da. 911 00:53:47,010 --> 00:53:48,690 Hasteko besterik ez duzu kodea idatziz. 912 00:53:48,690 --> 00:53:51,660 Baina JavaScript eta C eta PHP gako arteko bereizketa 913 00:53:51,660 --> 00:53:55,890 C eta PHP, beraz, orain arte, berriz, exekutatu zerbitzariaren aldeko 914 00:53:55,890 --> 00:53:59,180 Kasu honetan tresna edo gehiago, oro har, zerbitzari bat, 915 00:53:59,180 --> 00:54:04,270 Arakatzaile batek diseinu by JavaScript ohi da exekutatu. 916 00:54:04,270 --> 00:54:08,440 Beste era batera esanda, JavaScript kodea idatzi dezakezu, Oraindik dugu buruz 917 00:54:08,440 --> 00:54:13,080 aparatuaren zerbitzaria, baina zure HTML artean, besteak beste, zure CSS artean, 918 00:54:13,080 --> 00:54:16,100 zure GIFs eta zure PNGs eta zure JPEGs artean 919 00:54:16,100 --> 00:54:19,170 beraz, erabiltzaileak zure web orrian bisitatzen ari bazara JavaScript erabiliz, 920 00:54:19,170 --> 00:54:21,770 JavaScript kodea duten zerbitzaritik nabigatzailean dator, 921 00:54:21,770 --> 00:54:24,540 eta benetan nabigatzailean exekutatzen da. 922 00:54:24,540 --> 00:54:27,960 Beraz, hau jabetza nahiz eta intelektual inplikazio esanguratsuak. 923 00:54:27,960 --> 00:54:32,600 Silly mota da, are gehiago, zure IP babesteko uste orduan JavaScript kodea 924 00:54:32,600 --> 00:54:37,560 Hizkuntzaren izaera du normalean nabigatzaileak albo delako exekutatu. 925 00:54:37,560 --> 00:54:40,360 >> Ezkutatu dezakezu, horrek esan nahi du, crazy eta itsusiak itxura egin dezakezu 926 00:54:40,360 --> 00:54:45,400 zuriunez gabe, izugarri aldakorra izenak, jendeak zure IP lapurtzen gogorragoa izan dadin, 927 00:54:45,400 --> 00:54:48,120 baina gakoa da hori exekutatu nabigatzailean alboko. 928 00:54:48,120 --> 00:54:51,790 Nahiz eta zerbitzari alde batera utzita JavaScript erabili daiteke alboko gisa, 929 00:54:51,790 --> 00:54:54,480 erabilera ohikoena kasu oraintxe da oraindik nabigatzailea. 930 00:54:54,480 --> 00:54:59,800 Eta hemen zer itxura. Hemen da-errepikatzen ez bada, bestela, besterik gabe, C bezala eraikitzeko, PHP bezala. 931 00:54:59,800 --> 00:55:02,420 Hemen boolear adierazpen bat duzunean "edo" 2 gauza batera. 932 00:55:02,420 --> 00:55:04,330 Hona hemen "eta" 2 gauzak elkarrekin. 933 00:55:04,330 --> 00:55:08,300 Hemen switch adierazpen bat da, hau da, PHP antzeko 934 00:55:08,300 --> 00:55:10,810 balio-mota desberdinak alda dezakezu. 935 00:55:10,810 --> 00:55:15,180 Loops antzera loops dute hemen, eta zer ikusi dugu aurretik egituratzen dira berdinean. 936 00:55:15,180 --> 00:55:18,110 Loops bitartean; got dugu loops bitartean. 937 00:55:18,110 --> 00:55:20,290 Aldagaiak, inoiz, beraz, apur bat desberdina da. 938 00:55:20,290 --> 00:55:24,560 Aldagaiak deklaratzen ez duzu PHP eta C ez bezala, 939 00:55:24,560 --> 00:55:27,860 Ikusteko Javascript-a aktibatu da, baina, era berean, ahula idatzi. 940 00:55:27,860 --> 00:55:32,730 Ez duzu zehaztu int, float edo katea edo ezer izan ohi duen bezala. 941 00:55:32,730 --> 00:55:34,240 Zehaztu var dezakezu. 942 00:55:34,240 --> 00:55:38,040 Ez duzu var zehazteko, baina eragina izango du ez baduzu. 943 00:55:38,040 --> 00:55:42,000 Normalean bada var alde, ustekabean ordez tokiko aldagai global bat sortzeko. 944 00:55:42,000 --> 00:55:46,420 Beraz, egin iezadazue proposatu ia beti duzun esan var, eta ondoren aldagaiaren izena. 945 00:55:46,420 --> 00:55:48,740 Ez da mota bat, besterik ez aldagaiaren var da. 946 00:55:48,740 --> 00:55:52,930 Hau adibide bat izango litzateke, 123 edo "kaixo, mundua ote den". 947 00:55:52,930 --> 00:55:58,910 Arrayak oraina eta sintaktikoki PHP antzekoak dira. 948 00:55:58,910 --> 00:56:03,690 Var zenbakiak esan dut, eta, ondoren, parentesi artean karratua erabili dut berriro aldagai bat deklaratzeko 949 00:56:03,690 --> 00:56:08,870 horren mota array zenbakiak bereziki komekin banatuta hauek. 950 00:56:08,870 --> 00:56:11,740 Eta gero, azkenik, bakarra da, hau da, benetan itxura desberdina da. 951 00:56:11,740 --> 00:56:16,700 Gogoratu PHP ezarri genuke elkartze-array bat ikasle batek 952 00:56:16,700 --> 00:56:20,220 Zamyla atsegin baliteke itxura hau, non aldagaia deitzen zaio ikasleari. 953 00:56:20,220 --> 00:56:23,370 Karratu parentesi artean esanahia hemen array bat dator. 954 00:56:23,370 --> 00:56:28,500 >> Izan ere, ez naiz duten I zenbakizko indizeak baina kateak erabiliz - id, house, eta izena 955 00:56:28,500 --> 00:56:30,990 esan nahi du horrek elkartze-array bat da, 956 00:56:30,990 --> 00:56:34,490 eta geziak horiek zeinu eta angeluarekin parentesi berdinen 957 00:56:34,490 --> 00:56:37,310 esan nahi du gako "id" dela, balioa 1 izango da; 958 00:56:37,310 --> 00:56:39,310 gakoa "etxea" da, balio WINTHROP House da; 959 00:56:39,310 --> 00:56:41,800 gakoa "izena" da, balio Zamyla Chan da. 960 00:56:41,800 --> 00:56:47,110 Beraz, ez da 3 teklak elkartze-array honen barruan, eta bakoitzak bere balioa du. 961 00:56:47,110 --> 00:56:52,880 Pset 7, edo laster izango da, JavaScript ideia berean, ikusi dugu 962 00:56:52,880 --> 00:56:55,220 baina itxura hau dute. 963 00:56:55,220 --> 00:57:00,070 Beraz var ikasle - ez dolarraren ikurra eta aipamen mota ez oraindik baina var - 964 00:57:00,070 --> 00:57:05,860 berdinen eta ondoren, ireki giltza kizkur JavaScript denean gako bikote delako duzu, 965 00:57:05,860 --> 00:57:08,900 benetan zerbait izeneko objektu bat erabili. 966 00:57:08,900 --> 00:57:13,490 Eta dutenek APCS hartu zuen edo antzeko objektuak gogoratzen baliteke Java 967 00:57:13,490 --> 00:57:15,140 edo antzeko hizkuntza. 968 00:57:15,140 --> 00:57:17,880 Ikusteko Javascript-a ez da Java, lehenik eta behin. 969 00:57:17,880 --> 00:57:21,600 Duela diseinu bat nahita erabakia urte izan zen, beste zerbait izan zen popular off dionean, 970 00:57:21,600 --> 00:57:25,640 bere izena, nahiz eta ez funtsezko erlazio bera Java du. 971 00:57:25,640 --> 00:57:31,490 JavaScript objektuak, eta horiek sortu kizkur giltza notazio modu. 972 00:57:31,490 --> 00:57:36,710 JavaScript objektuak dira pretty askoz PHP array elkartze baliokideak 973 00:57:36,710 --> 00:57:40,030 Horietako barruan datuak gordetzeko orduan. 974 00:57:40,030 --> 00:57:44,100 >> Baina are gehiago potentziaz JavaScript oso erraz erlazionatuko duzu funtzio 975 00:57:44,100 --> 00:57:48,040 Objektu baten barruan, eta hau egin nahi duzu, nahiz eta beste hizkuntza batzuetan, 976 00:57:48,040 --> 00:57:50,040 paradigma oso ohikoa da, ikusi dugu. 977 00:57:50,040 --> 00:57:54,380 Labur esanda, objektu hau ikaslea adierazten duten bereziki Zamyla da, 978 00:57:54,380 --> 00:58:00,380 eta kontzeptualki antzekoa da, besterik ez sintaktikoki desberdinak. 979 00:58:00,380 --> 00:58:03,840 Dezagun benetan erabili JavaScript fitxategi batean. 980 00:58:03,840 --> 00:58:05,570 Script etiketa bat out bihurtzen da. 981 00:58:05,570 --> 00:58:08,180 Estilo etiketa bat ikusi dugu eta beste HTML tags ikusi dugu. 982 00:58:08,180 --> 00:58:11,510 Script etiketa benetan JavaScript kodea batzuk izango ditu. 983 00:58:11,510 --> 00:58:15,500 Dezagun joan aparatuaren me non iturburu-kodea batzuk aurrez egindako dugu. 984 00:58:15,500 --> 00:58:18,700 Ez dut posted web orrian oraindik, baina hori egin dut, klase ondoren. 985 00:58:18,700 --> 00:58:21,770 Dezagun ireki bat, blink.html. 986 00:58:21,770 --> 00:58:27,560 1990eko hamarkadan, ez zen literalki blink tag izeneko HTML tag bat, 987 00:58:27,560 --> 00:58:30,340 eta wonderfully overused tags bat izan zen Interneten 988 00:58:30,340 --> 00:58:36,140 Horren bidez, 1990eko hamarkadako estilo web orrian bisitatuko dituzu, eta testua ikusteko keinukaria hau atsegin dute, 989 00:58:36,140 --> 00:58:39,810 Marqués tag emaitzak, izan testu hau atsegin dute. 990 00:58:39,810 --> 00:58:45,070 Bat, non munduko web estandar bat adostu du benetan gutxi aldiz 991 00:58:45,070 --> 00:58:48,250 taula zehar guztiek hil blink tag duela urte batzuk. 992 00:58:48,250 --> 00:58:52,860 Baina berpizteko dezakegu JavaScript dituzun power manifestazio bat 993 00:58:52,860 --> 00:58:56,660 programa bat idatzi dezakezu web-orri baten barruan. 994 00:58:56,660 --> 00:59:00,240 Lehenik eta behin, utzi berria stuff saltatzeko eta fokua zaharra bakarrik. 995 00:59:00,240 --> 00:59:01,780 >> Hona hemen, adibide honetan stuff zaharra da. 996 00:59:01,780 --> 00:59:06,350 HTML tag bat, buru-etiketa bat, eta izenburua etiketa bat daukat. 997 00:59:06,350 --> 00:59:11,210 Gero, gorputza tag bat daukat hemen div batekin, zein gogoratzen da orriaren banaketa laukizuzena 998 00:59:11,210 --> 00:59:14,720 berezia da ID arbitrarioki "agurra" eman ditudan 999 00:59:14,720 --> 00:59:18,320 besterik ez beraz, bakarrean da dagokienean modu bat izan dut, oso erraza da testu batzuk eskaintzen ditu: 1000 00:59:18,320 --> 00:59:20,220 kaixo, mundua. 1001 00:59:20,220 --> 00:59:23,940 Orain utzi sortu korrituko me fitxategi honen hasierara eta ikusi zer berri. 1002 00:59:23,940 --> 00:59:27,710 Lehenengo gauza berriak sortu top script etiketa da, 1003 00:59:27,710 --> 00:59:31,280 eta barruan script tag oharra deklaratu dut funtzio bat. 1004 00:59:31,280 --> 00:59:34,610 JavaScript funtzio bat, pretty PHP antzeko adierazi, 1005 00:59:34,610 --> 00:59:37,930 idatzi literalki funtzioa funtzioaren izena gero, parentesi 1006 00:59:37,930 --> 00:59:40,400 eta, agian, argumentuak batzuk hartzen baldin badago. 1007 00:59:40,400 --> 00:59:43,510 Ondoren, lortu dut nire ohiko giltza kizkur, eta gaur egun kode berria apur batzuk ditugu, 1008 00:59:43,510 --> 00:59:45,230 baina zer, horrek esan nahi du ikus-en. 1009 00:59:45,230 --> 00:59:48,670 Div var Beraz, hori esan nahi du, emadazu izenekoa div aldakorra. 1010 00:59:48,670 --> 00:59:50,530 Deitu nuen foo, baina deitu div nahi dut 1011 00:59:50,530 --> 00:59:52,620 arrazoi argia izango da, bigarren bat. 1012 00:59:52,620 --> 00:59:57,480 Gero bihurtzen da JavaScript hasi eta hau da JavaScript kodea nire web orrian kapsulatutako 1013 00:59:57,480 --> 01:00:01,760 izeneko dokumentua era askotako aldagai global berezia da. 1014 01:00:01,760 --> 01:00:04,780 Ikusteko Javascript-a hain zuzen ere, objektuetara bideratutako hizkuntza bat da. 1015 01:00:04,780 --> 01:00:07,230 Ez dugu sakontzeko 50, zer esan nahi du, 1016 01:00:07,230 --> 01:00:11,180 baina orain jakin objektu bat da beti, eta egitura bat bezala. 1017 01:00:11,180 --> 01:00:14,740 Ikusi genuen modu Like back lehen arazo bat ezartzen 1018 01:00:14,740 --> 01:00:17,150 non eta egitura batean, informazio asko jarri genituen 1019 01:00:17,150 --> 01:00:21,330 era berean, nabigatzailea datorren berezi bat struct dokumentatu da, 1020 01:00:21,330 --> 01:00:24,810 web orrian edozein dator. Ez da zerbait dut sortu. 1021 01:00:24,810 --> 01:00:28,210 Dokumentuaren egitura honen barruan, ordea, ez bakarrik datuak duzu 1022 01:00:28,210 --> 01:00:30,010 baina ere funtzioak. 1023 01:00:30,010 --> 01:00:34,090 >> Eta denbora edozein funtzio bat duzu egitura baten barruan, objektu baten barruan, 1024 01:00:34,090 --> 01:00:36,490 izeneko metodo bat. Baina gauza bera da. 1025 01:00:36,490 --> 01:00:40,110 Metodo bat funtzio bat besterik ez da, beraz, gertatzen da beste zerbait barruan izango da. 1026 01:00:40,110 --> 01:00:42,990 Berezi hau global aldagai izeneko dokumentua Beraz, horrek esan nahi du 1027 01:00:42,990 --> 01:00:47,690 funtzio bat getElementById literalki ez dela deritzo. 1028 01:00:47,690 --> 01:00:52,460 DOM, elementu, Document Object Model zuhaitz izango da, 1029 01:00:52,460 --> 01:00:55,520 horren ID Kasu agurra da. 1030 01:00:55,520 --> 01:00:59,200 Beste era batera esanda, garai hartan eman zituen datuen egitura sartzen da jokoan hemen. 1031 01:00:59,200 --> 01:01:01,400 DOM bat argazki izan dugu une batez ago, 1032 01:01:01,400 --> 01:01:06,100 nahiz eta orrialde apur bat desberdina da, izan nuen div argazki hau 1033 01:01:06,100 --> 01:01:11,180 zer document.getElementById litzateke me itzuliko litzateke eraginkortasunez erakuslea 1034 01:01:11,180 --> 01:01:15,440 zuhaitz, zuhaitza laukizuzen erreferentzia bat laukizuzena. 1035 01:01:15,440 --> 01:01:18,410 Beraz, zer esan nahi du benetan funtzio horietako bat deitzeko. 1036 01:01:18,410 --> 01:01:21,960 Kasu honetan, berriro div bat da. Ez da gorputz bat edo titulu bat. 1037 01:01:21,960 --> 01:01:26,480 Hargatik zer div honen ondoren, ez dut que tengo barruan hau izeneko aldagaia div en. 1038 01:01:26,480 --> 01:01:32,580 Bihurtzen da JavaScript orriaren CSS dinamikoki alda gaitasuna duzu. 1039 01:01:32,580 --> 01:01:39,060 Orain arte, CSS egin dugu, mugatua bada ere, estilo-atributuak da, 1040 01:01:39,060 --> 01:01:41,730 edo non bestela CSS jarri dugu? 1041 01:01:42,730 --> 01:01:45,810 Bat hondatu duen mota dut. Fitxategia goialdean tag estiloa. 1042 01:01:45,810 --> 01:01:49,180 Edo hirugarren postua izan da? 1043 01:01:50,710 --> 01:01:54,590 >> Kanpoko fitxategi bat, zerbait. Css. 1044 01:01:54,590 --> 01:01:56,730 Beraz, 3 plazatako CSS egin dugu horrela, orain arte horiek dira, 1045 01:01:56,730 --> 01:01:59,310 baina harrapaketa da gogorra dugu kodetuta guztiak. 1046 01:01:59,310 --> 01:02:04,060 Pset 7 Dove gisa erabaki duzu, hitzaldia baino lehen, zein den gure CSS litzateke erabaki genuen. 1047 01:02:04,060 --> 01:02:07,380 Baina nahi duzun zure CSS aldatu nahi izanez gero, egia esan dezakezu hori egiteko 1048 01:02:07,380 --> 01:02:09,370 behin benetako programazio-lengoaia bat behar duzu. 1049 01:02:09,370 --> 01:02:13,910 CSS, HTML - ez programatzeko hizkuntza. Ikusteko Javascript-a da. 1050 01:02:13,910 --> 01:02:18,200 Beraz, izarrekin bihurtzen da bezala laster laukizuzenak horietako bat bezala zuhaitza 1051 01:02:18,200 --> 01:02:23,050 DOM, izeneko, berez du barruan datu batzuk. 1052 01:02:23,050 --> 01:02:27,820 Beraz, besterik ez dut zuhaitza harrapatu div jabetza bat deitu dugu barruan 1053 01:02:27,820 --> 01:02:34,390 izeneko estiloa eta estilo jabetza bera ikuspena izeneko propietate bat. 1054 01:02:34,390 --> 01:02:37,330 Hori jakin nahi dut bakarrik CSS erabiltzaile eskuliburu begira. 1055 01:02:37,330 --> 01:02:41,160 Ikusgarritasuna CSS jabetza eta horrela, ez esaten out bihurtzen da. 1056 01:02:41,160 --> 01:02:44,530 Ikusgai den, edo ez, ikusgai den, edo ez den zerbait egiten du. 1057 01:02:44,530 --> 01:02:46,810 Eta nola egin hori. 1058 01:02:46,810 --> 01:02:50,510 Programazioaren dut galdetuz div honen ikusgarritasuna ezkutatuta badago, 1059 01:02:50,510 --> 01:02:53,390 zer aldatu dut? Ikusgai. 1060 01:02:53,390 --> 01:02:58,840 Bestela, orri honen ikusgarritasuna ezkutatuko ez bada, logikoki egin du ezkutuko dut. 1061 01:02:58,840 --> 01:03:04,070 Zergatik ikusgai eta ezkutuko eta ez ikusgai eta ikusezina da ideia ez daukat. 1062 01:03:04,070 --> 01:03:06,000 Diseinua ahula bidean erabaki zen. 1063 01:03:06,000 --> 01:03:09,530 Baina horiek dira, hain zuzen ere CSS aurkakoen: ikusgai eta ezkutuko. 1064 01:03:09,530 --> 01:03:15,520 Hori guztia ez da aldatu nire fitxategia CSS on eta off esan nahi du, eta off 1065 01:03:15,520 --> 01:03:16,870 jakin div. 1066 01:03:16,870 --> 01:03:20,630 Baina, berriro ere, blink izeneko funtzio bat da. Noiz keinu funtzioa deitzen da? 1067 01:03:20,630 --> 01:03:24,080 Bihurtzen da, ez dagoela beste global berezia aldakorra izeneko leiho, 1068 01:03:24,080 --> 01:03:28,220 dokumentuan espiritua antzekoa da, baina zure web orrian aipatzen, berriz, 1069 01:03:28,220 --> 01:03:31,700 DOM zuhaitz bezala, HTML zerbitzariak bidaliko da, 1070 01:03:31,700 --> 01:03:35,250 leihoa inguru chrome, helbide-barra, izenburu-barra aipatzen da, 1071 01:03:35,250 --> 01:03:37,880 eta zure web orrian inguruan stuff hori guztia. 1072 01:03:37,880 --> 01:03:42,800 >> Eta bihurtzen da leiho objektu funtzioa berezia barruan izeneko setInterval 1073 01:03:42,800 --> 01:03:44,360 hori ez esaten. 1074 01:03:44,360 --> 01:03:48,600 Tarte bat ezarri izango da, kasu honetan, 500 milisegundotan behin - 1075 01:03:48,600 --> 01:03:52,270 eta, etxebizitza bat hartu, zer egingo bakoitzean 500 milisegundotan egin? 1076 01:03:52,270 --> 01:03:55,240 Funtzioa keinu hori exekutatu. 1077 01:03:55,240 --> 01:03:58,560 Eta zer da nice hemen egin dugula izan da hau C, nahiz eta inoiz ez dugu egin. 1078 01:03:58,560 --> 01:04:01,580 C dauka zerbait izeneko funtzioa erakusleak funtzio non pasatu ahal izango duzu inguruan 1079 01:04:01,580 --> 01:04:03,140 argumentu gisa. 1080 01:04:03,140 --> 01:04:07,620 Era berean JavaScript funtzio beste funtzio baten izena pasatzeko duzu. 1081 01:04:07,620 --> 01:04:10,630 Eta nabarituko zer egiten ari naiz. Ez dut hori egiteko. 1082 01:04:10,630 --> 01:04:14,380 Jarri dut parentesi blink ondoren, deitu blink funtzioa esan nahi du. 1083 01:04:14,380 --> 01:04:17,430 Ezikusia egin ditut bada, horrek esan nahi du, hemen blink-funtzioa 1084 01:04:17,430 --> 01:04:21,330 beraz setInterval 500 milisegundotan behin dei daiteke. 1085 01:04:21,330 --> 01:04:28,200 Azken emaitza, beraz, atrocious arren da, bada, joan localhost sartu nintzen eta blink.html joan 1086 01:04:28,200 --> 01:04:32,120 Dute gaur egun I happening hau behin eta berriro. 1087 01:04:32,120 --> 01:04:34,950 Eta benetan badut Inspect Element, ikus dezagun hau ikus daiteke. 1088 01:04:34,950 --> 01:04:38,550 Inspect Element Let me, utzi behera joan me pixka bat, 1089 01:04:38,550 --> 01:04:44,320 utzi hemen elementuak aukeratu me,, eta Chrome en inspektore barruan DOM nabarituko. 1090 01:04:44,320 --> 01:04:48,840 Literalki da atzera eta aurrera aldatzen 500 milisegundotan behin. 1091 01:04:48,840 --> 01:04:55,660 Gure lagun Nate joanez gero, 1092 01:04:55,660 --> 01:05:00,020 inoiz galdetu duzu nola funtzionatzen, antzeko ideia tarte bat, 1093 01:05:00,020 --> 01:05:04,810 baina Nate da benetan koloreen erabilera oso eraginkorra kasu honetan bereziki hemen. 1094 01:05:04,810 --> 01:05:07,350 Beraz, zer gehiago egin dezakegu hori benetan egiten dugu? 1095 01:05:07,350 --> 01:05:09,990 Dezagun beste adibide bat ireki eta zerbait saiatu 1096 01:05:09,990 --> 01:05:12,940 keinu egiteko baino gauza are gehiago erabilgarria programazioaren hori. 1097 01:05:12,940 --> 01:05:17,990 Dezagun gure forma direktoriora joan me gaur eta form0 sartu. 1098 01:05:17,990 --> 01:05:20,820 Sortu naiz izan duten forma ugliest posible izan zen, 1099 01:05:20,820 --> 01:05:23,290 eta utzi me erakutsi besterik ez duzu zer itxura arakatzaile batean bezala. 1100 01:05:23,290 --> 01:05:28,960 >> Localhost / inprimakietan me, eta hau da form0. 1101 01:05:28,960 --> 01:05:33,400 HTML formularioan email eremu batzuk ditu, pasahitza super itsusi bat da, 1102 01:05:33,400 --> 01:05:37,190 pasahitza, eta, ondoren, zenbait termino eta baldintzak onartu apur bat kontrol-laukia. 1103 01:05:37,190 --> 01:05:41,350 Harrapatzen dut formulario hau bisitatzen bada, eta ez dut nahi nire e-posta helbidea eman, 1104 01:05:41,350 --> 01:05:44,730 Baldintza eta agian ados ez dut nahi, egin klik Izena eman I 1105 01:05:44,730 --> 01:05:46,920 me aukera ematen dizu, eta horren bidez ere. 1106 01:05:46,920 --> 01:05:50,800 Hau gertatzen bat ergelak PHP izeneko fitxategi dump.php aurkeztu. 1107 01:05:50,800 --> 01:05:58,420 Guztiak egiten du inprimatu $ _GET helburu diagnostiko edukia. 1108 01:05:58,420 --> 01:06:01,580 Hori izan zen zer zen aurkeztu oraintxe erabiltzaileak. 1109 01:06:01,580 --> 01:06:05,010 Baina demagun erabiltzailearen inprimaki aurkezteko balioztatzeko benetan nahi dugu. 1110 01:06:05,010 --> 01:06:06,530 Dezagun joan version 1 me. 1111 01:06:06,530 --> 01:06:11,420 Hau da form1.html. Estetikoki Badirudi besterik ez txarra, baina nabarituko nola fancy da. 1112 01:06:11,420 --> 01:06:15,450 Egin klik I lankidetzan Izena eman gabe bada, yelled zait. 1113 01:06:15,450 --> 01:06:17,320 "Zure posta elektronikoaren helbidea eman behar duzu." 1114 01:06:17,320 --> 01:06:21,670 Guztiak eskubidea. Hargatik saiatu me. Malan@harvard.edu Beraz. Ez dut behar duzu. 1115 01:06:21,670 --> 01:06:25,100 Izena eman. "Pasahitz bat eman behar duzu." Guztiak eskubidea. 1116 01:06:25,100 --> 01:06:28,470 Beraz, carmesí pasahitza bat emango dut. Izena eman. 1117 01:06:28,470 --> 01:06:32,300 "Pasahitzak ez datoz bat." Hemen carmesí idatzi behar dut. 1118 01:06:32,300 --> 01:06:35,710 Ustekabean checked dut. Izena eman. 1119 01:06:35,710 --> 01:06:39,860 "Termino eta baldintzak onartu behar dituzu." Guztiak eskubidea. Ados dago. Izena eman. 1120 01:06:39,860 --> 01:06:43,700 Eta orain me erakusten du irteera diagnostiko han. 1121 01:06:43,700 --> 01:06:45,630 >> Beraz, zer gertatu da? 1122 01:06:45,630 --> 01:06:48,330 Inprimaki bidalketak balioztatzeko gaitasuna izan dugu. 1123 01:06:48,330 --> 01:06:51,420 Izan ere, ez duzu dive pset 7 sartu, ez dago Barkatu funtzio bat 1124 01:06:51,420 --> 01:06:54,620 horri esker, nahiko erraza da pantailan mezu bat erabiltzaile Yell. 1125 01:06:54,620 --> 01:06:57,580 Apur bat ezberdina mekanismo, alerta funtzioa erabiltzen dut, 1126 01:06:57,580 --> 01:07:03,690 funtzioa ez den irribarre bat gainean egiten da erabiltzaileak mezuak oso itsusiak geroztik. 1127 01:07:03,690 --> 01:07:05,710 Baina hemen zer egiten ari naiz ikus-en. 1128 01:07:05,710 --> 01:07:09,620 Hau da form1.html, eta nabarituko que tengo sintaxia nahiko ezagunak batzuk: 1129 01:07:09,620 --> 01:07:12,920 tag gorputza, forma tag, ekintza atributu, metodo atributua. 1130 01:07:12,920 --> 01:07:17,050 Baina nabarituko eman dut nire erosotasuna ID berezia. 1131 01:07:17,050 --> 01:07:19,190 Ondoren, eremu elektroniko bat da, eta horren mota da testu dut, 1132 01:07:19,190 --> 01:07:23,780 pasahitza eremuan pasahitza, berrespena Eremu horren mota pasahitza mota duten, 1133 01:07:23,780 --> 01:07:28,070 eta, ondoren, kontrol-laukia hemen hitzarmen horren izena, mota kontrol-laukia. 1134 01:07:28,070 --> 01:07:30,380 Eta gero Nik submit botoi bat. 1135 01:07:30,380 --> 01:07:33,050 Baina goialdean nabarituko zer gehiago daukat. 1136 01:07:33,050 --> 01:07:35,810 Lehenik eta behin, ez dago script etiketa beste erabilera bat da. 1137 01:07:35,810 --> 01:07:40,520 JavaScript kodea beste fitxategi batzuk bada, CSS bezala sar ditzakezu. 1138 01:07:40,520 --> 01:07:44,530 Eta script source egin duzula, eta gero konturatu itxuraz Konektatzen dut 1139 01:07:44,530 --> 01:07:50,349 bidea oso luzea googleapis.com baina horren file name jquery.min da 1140 01:07:50,349 --> 01:07:52,420 gutxienez. js. 1141 01:07:52,420 --> 01:07:55,969 jQuery JavaScript popular super liburutegia bakarrik egiten du JavaScript 1142 01:07:55,969 --> 01:07:58,230 more user-friendly guztiak erabili. 1143 01:07:58,230 --> 01:08:00,610 Da modu eraginkorrean de facto estandar bat bilakatu da. 1144 01:08:00,610 --> 01:08:04,090 Beraz, nahiz eta zer ikusten ari zaren, nahiz eta ez pure JavaScript per se, 1145 01:08:04,090 --> 01:08:09,340 JavaScript goiko askoz CS50 liburutegi liburutegia geruza bat da 1146 01:08:09,340 --> 01:08:13,670 behe-mailako C kodea gainean; errealitatea da Interneten ia denek erabiltzen du. 1147 01:08:13,670 --> 01:08:18,030 Beraz, ez dira prestakuntza gurpilak. Hau besterik ez da onena landu egun hauetan. 1148 01:08:18,030 --> 01:08:22,830 Orain konturatu azpian nire script etiketa da, eta konturatu zer egin dut hemen. 1149 01:08:22,830 --> 01:08:27,450 Bihurtzen da jQuery zerbait little fancy du. 1150 01:08:27,450 --> 01:08:29,660 JavaScript dolarraren zeinuak ditu, baina zentzugabeak dira. 1151 01:08:29,660 --> 01:08:32,870 >> Gutun A edo B edo C. bezalako dira 1152 01:08:32,870 --> 01:08:36,670 jQuery besterik ez du onartu erreklamazioa ezarritako hitzarmen edo sort Izan ere 1153 01:08:36,670 --> 01:08:40,280 $ beren sinbolo berezia izango da. 1154 01:08:40,280 --> 01:08:44,950 Beraz, ahalik eta azkarren global JavaScript fitxategia hemen kargatu script etiketa, 1155 01:08:44,950 --> 01:08:49,080 global aldagai berezi bat deitzen $ sarbidea duzu. 1156 01:08:49,080 --> 01:08:53,009 Gehiago behar bezala izeneko jQuery, baina horrek ez du itxura ia $ gisa sexy. 1157 01:08:53,009 --> 01:08:56,250 Baina $ ez da esanahi berezia du. PHP esanahi berezia izan du. 1158 01:08:56,250 --> 01:08:58,440 Aldagai baten aurrean izan duzu. 1159 01:08:58,440 --> 01:09:01,670 Hau besterik ez da, gauza bat sexy zuten. 1160 01:09:01,670 --> 01:09:03,389 Zer gertatzen da hemen? 1161 01:09:03,389 --> 01:09:08,830 Iragarki jQuery funtzioa dut nire global aldakorreko dokumentua igarotzean 1162 01:09:08,830 --> 01:09:10,860 eta gero. deitzen naiz prest. 1163 01:09:10,860 --> 01:09:15,480 Zer jQuery funtsean ez da bainila JavaScript gauza batzuk hartzeko aukera ematen du 1164 01:09:15,480 --> 01:09:17,889 dokumentuaren objektu bezala, leiho objektu, 1165 01:09:17,889 --> 01:09:20,790 eta gainditu baduzu jQuery funtzioa - 1166 01:09:20,790 --> 01:09:24,429 eta, berriro ere, argi eta garbi izan behar du, hau izeneko funtzio bat jQuery 1167 01:09:24,429 --> 01:09:28,240 zer den ez da itzultzen dizu dokumentuaren bertsio berezi bat 1168 01:09:28,240 --> 01:09:30,700 gehiago funtzionalitate lotutako ditu. 1169 01:09:30,700 --> 01:09:34,760 Ikusteko Javascript-a raw Beraz, funtzioa ez dago prest, 1170 01:09:34,760 --> 01:09:37,810 baina pasatzen dokumentua jQuery funtzioa, 1171 01:09:37,810 --> 01:09:40,960 itzultzen dokumentuaren objektu bertsio berezi bat 1172 01:09:40,960 --> 01:09:43,030 fancy ezaugarri gehiago ditu. 1173 01:09:43,030 --> 01:09:48,230 Eta hori da, zergatik pertsona nahi. Besterik ez du egiten gauzak errazago egin, Oraindik ikusi dugun bezala. 1174 01:09:48,230 --> 01:09:49,820 Beraz, zer kode-lerro hau esan nahi du? 1175 01:09:49,820 --> 01:09:52,690 Kode lerro honek hemen esan nahi du, dokumentu prest dago 1176 01:09:52,690 --> 01:09:56,830 beste era batera esanda, nabigatzailea behin egiten da fitxategia goian behean irakurketa 1177 01:09:56,830 --> 01:09:59,200 aurrera eta hurrengo funtzioa exekutatu. 1178 01:09:59,200 --> 01:10:03,540 Zer da benetan JavaScript interesgarria eta PHP baita - 1179 01:10:03,540 --> 01:10:05,450 anonimo funtzioak. 1180 01:10:05,450 --> 01:10:10,560 JavaScript funtzio ez dute izena, baina gorputz bat egiten dute deklaratu ahal izango duzu. 1181 01:10:10,560 --> 01:10:12,570 Ohartu zer gertatzen ari den. 1182 01:10:12,570 --> 01:10:16,220 >> Izeneko funtzio bat prest da, eta esan nahi du, besterik ez da egin honako 1183 01:10:16,220 --> 01:10:20,220 osoa web orrian prest dago, noiz guztiak irakurri zerbitzariak. 1184 01:10:20,220 --> 01:10:23,090 Zer egin nahi duzu? Kode zatia exekutatu nahi dut. 1185 01:10:23,090 --> 01:10:27,120 Ohartu ez dugu nahi, kode hau berehala exekutatu. 1186 01:10:27,120 --> 01:10:34,350 Zehazten ez bada I bada, hau esan nahi du berehala hasteko kode lerro horiek exekutatzean. 1187 01:10:34,350 --> 01:10:39,040 Baina naiz duten I ez, ez, ez esaten, itzulbiratu hau atsegin dute hau anonimoak funtzio bat 1188 01:10:39,040 --> 01:10:43,000 bitartez ez exekutatu oraindik; deitu azkenean. 1189 01:10:43,000 --> 01:10:45,430 Hau ikusi genuen duela une bat gure inprimaki aurreko adibide. 1190 01:10:45,430 --> 01:10:49,990 Zer funtzioa, azkenean, ez da deitzen diogu, 500 milisegundotan geroago? Keinu egin. 1191 01:10:49,990 --> 01:10:51,480 Ideia bera izan dezaten. 1192 01:10:51,480 --> 01:10:53,950 Berriz ere, nahiz eta itxura apur bat arraroa da, fede orain 1193 01:10:53,950 --> 01:10:57,060 anonimo bat, funtzio hori deitu azkenean aldarrikatu, 1194 01:10:57,060 --> 01:11:01,720 idatzi besterik ez duzu function () { 1195 01:11:01,720 --> 01:11:05,380 Beraz, zer kodea egingo dugu azkenean exekutatu? Honako hauek. 1196 01:11:05,380 --> 01:11:10,460 Txiki hau ere itxura berri bat, baina horrek esan nahi du, hemen funtzioa jQuery da, 1197 01:11:10,460 --> 01:11:13,430 eta hori gaur egun lasterbide bat da. 1198 01:11:13,430 --> 01:11:18,830 HTML snippet noski pantailaren behealdeko zuhaitzaren irudikapen batzuk ditu. 1199 01:11:18,830 --> 01:11:21,730 Ez da hau. Orri hau interesgarria da hau, kaixo mundu Adibidez baino gehiago. 1200 01:11:21,730 --> 01:11:25,210 Baina zuhaitz batzuk, HTML honetan dagokio. 1201 01:11:25,210 --> 01:11:28,910 Lepoan mina bat izango litzateke funtzioa errekurtsiboa mota batzuk ezartzeko 1202 01:11:28,910 --> 01:11:34,380 erroko nodoa etan hasiko da, eta gero, nodo horren ID erregistroa aurkitu. 1203 01:11:34,380 --> 01:11:38,340 Beraz, zer jQuery egiten super erraza da gurekin literalki hau. 1204 01:11:38,340 --> 01:11:43,000 Anima zaitez eta me get edozein div edo edozein moduan, edozein HTML elementu 1205 01:11:43,000 --> 01:11:45,820 Matrikula ID bat dauka. 1206 01:11:45,820 --> 01:11:52,440 Document.getElementById ('izen-ematea') parekoa da. 1207 01:11:52,440 --> 01:11:54,170 >> Zergatik jQuery atsegin dute? 1208 01:11:54,170 --> 01:12:00,110 Da laburragoa delako idatzi. Baina hori guztia da. Ideia bera da. 1209 01:12:00,110 --> 01:12:02,630 Talde me etiketa horren ID da izen-ematea. 1210 01:12:02,630 --> 01:12:06,300 Eta etiketa horiek, eta hori gertatzen da, formulario bat izango da aurkeztu, 1211 01:12:06,300 --> 01:12:08,300 aurrera eta kode hau exekutatu. 1212 01:12:08,300 --> 01:12:11,320 Beraz, dezagun begiratu bat nola inprimaki baliozkotzea egiten ari gara. 1213 01:12:11,320 --> 01:12:15,950 Sintaxia da admittedly lehen críptica, baina zer gertatzen da? 1214 01:12:15,950 --> 01:12:21,050 Kode-lerro hau egia bada, erabiltzaileak Yell bere helbide elektronikoa eman dut. 1215 01:12:21,050 --> 01:12:22,970 Beraz, zer kode-lerro hau? 1216 01:12:22,970 --> 01:12:25,560 $ JQuery esan nahi du. Orain jakinarazteko. 1217 01:12:25,560 --> 01:12:27,920 CSS-ak bezala mota da. 1218 01:12:27,920 --> 01:12:33,370 Duzun CSS bada dived oraindik, jakin hori duten elementu ID da izen-ematea esan nahi duzu. 1219 01:12:33,370 --> 01:12:39,840 Espazioa esan nahi du, haur bat aurkitu edo izena emateko ondorengo bere izena sarrera. 1220 01:12:39,840 --> 01:12:42,970 Eta gero, plaza Parentesi gauza txiki honetan iragazki bat da. 1221 01:12:42,970 --> 01:12:47,010 Eta nahiz eta itxura críptica, hau esan nahi du joan duen Inprimaki ID da izen-ematea, 1222 01:12:47,010 --> 01:12:51,230 Sarrerako elementu hori bere izena da email barruan joan, 1223 01:12:51,230 --> 01:12:55,440 eta, ondoren, bere balioa, edozein dela ere bere balioa gertatzen 1224 01:12:55,440 --> 01:12:59,670 asdf hori da dena edo idatzitako malan@harvard.edu hori zer I idatzi bada. 1225 01:12:59,670 --> 01:13:05,250 Beraz, bada, inprimaki email eremuan == ezer balio, erabiltzaileak Yell. 1226 01:13:05,250 --> 01:13:09,700 Bestela, pasahitzaren eremuan balioa == ezer ez bada, erabiltzaileak Yell. 1227 01:13:09,700 --> 01:13:19,520 >> Bestela, pasahitzaren eremuan balio ez badu baieztapen eremuan balio berdinak, 1228 01:13:19,520 --> 01:13:22,850 izan zen beste elementu, erabiltzaileak Yell. 1229 01:13:22,850 --> 01:13:25,680 Eta gero, azkenik, eta hau ere, bere sintaxia berri batzuk ditu, 1230 01:13:25,680 --> 01:13:29,270 baina behin ikusi duzun, gutxienez apur bat gehiago arrazoizkoa da 1231 01:13:29,270 --> 01:13:34,060 bestela, bere ID da erregistroa Sarrerako elementu bat bere izena da hitzarmen 1232 01:13:34,060 --> 01:13:39,720 da, eta egiaztatzea, eta, joan aurretik, eta erabiltzaileak Yell. 1233 01:13:39,720 --> 01:13:42,520 Beraz, erabat onartzen dut, hau da, hasiera batean guztiz jasanezinak. 1234 01:13:42,520 --> 01:13:46,530 Sintaxia berri asko bat da. Baina jQuery guztiak eredu mota horiek. 1235 01:13:46,530 --> 01:13:49,880 Eta, egia esanda, ez nuen dakite hau existitu Duela minutu gutxi arte. 1236 01:13:49,880 --> 01:13:53,640 Googled dut: "Nola kontrol-laukia da jQuery hautatuta egiaztatu duzu?" 1237 01:13:53,640 --> 01:13:55,680 eta sintaxia hau da, ez dago egiteko modu ezberdinak direlako 1238 01:13:55,680 --> 01:13:58,010 raw oraingo JavaScript kodea. 1239 01:13:58,010 --> 01:14:01,030 Beraz Arazoa Set 7 orrialde oso lehen azpimarratzen 1240 01:14:01,030 --> 01:14:04,500 pset 7 asko zeure burua bootstrapping ariketa bat 1241 01:14:04,500 --> 01:14:08,650 non emandako dugu, zorionez, pset aurre egiteko esparru kontzeptuala. 1242 01:14:08,650 --> 01:14:12,280 >> Baina, izan ohi da web diseinu kasuan, duzu benetan ikutu, 1243 01:14:12,280 --> 01:14:16,680 sartzeko kodea mozkinak eta adibideak Web luze cite dituzu 1244 01:14:16,680 --> 01:14:17,960 lehen fitxa termino bakoitzeko, 1245 01:14:17,960 --> 01:14:21,460 eta konturatzen HTML, CSS, JavaScript eta are SQL ikasteko 1246 01:14:21,460 --> 01:14:26,020 benetan esan nahi du, hau-at home ariketa prestakuntza gurpilak horiek hartu off hasten dugu. 1247 01:14:26,020 --> 01:14:29,150 Eta konturatzen ere ez da hainbeste gauza gehiago nabigatzaile baten bidez egin ahal izango duzu. 1248 01:14:29,150 --> 01:14:33,790 Elementu horiek gehienak barruan daude gertaera kudeatzaileen izeneko beste gauza batzuk. 1249 01:14:33,790 --> 01:14:37,140 Eta nahiz eta batzuk begiratu besterik ez dugu deitzen onsubmit eta onready 1250 01:14:37,140 --> 01:14:40,310 gauza egin dezakezu onkeydown, onkeyup bezala, 1251 01:14:40,310 --> 01:14:43,410 nahi da erabiltzaileak tekla bat ukitzen, eta tekla entzun ahal izango dituzu. 1252 01:14:43,410 --> 01:14:45,940 Gmail teklatu lasterbideak ditu. 1253 01:14:45,940 --> 01:14:49,490 Nola ez Google ezartzeko teklatu lasterbideak C bezala konposatzen for? 1254 01:14:49,490 --> 01:14:54,120 Entzun gertaerak dira, gisa ari izenekoa, onkeypress edo onkeyup eta onkeydown bezala. 1255 01:14:54,120 --> 01:14:56,360 Hovered duzun inoiz bada zure sagua menu aukera batzuk baino gehiago 1256 01:14:56,360 --> 01:15:00,180 eta, bat-bateko voila guztiak, menu bat agertuko da edo grafiko kolorez aldatzen da, 1257 01:15:00,180 --> 01:15:01,920 nola egiten ari direla? 1258 01:15:01,920 --> 01:15:06,940 Baino onready edo onsubmit entzun, entzun onmouseover edo onmouseout duzu. 1259 01:15:06,940 --> 01:15:10,920 >> Beraz, azken finean,, horiek oso sinplea oinarriak ditudan dugu gaur egungo azalera urratu hasi 1260 01:15:10,920 --> 01:15:13,940 eta gehiago dugu murgiltze Asteazkena, duzu, gero eta gehiago, 1261 01:15:13,940 --> 01:15:17,530 power dagoeneko ari zaren gauzak ezagutzen mota ezartzeko. 1262 01:15:17,530 --> 01:15:21,620 Hargatik bertan amaituko da, eta hau jarraitu dugu asteazkenean. 1263 01:15:22,690 --> 01:15:24,320 >> [CS50.TV]