1 00:00:00,000 --> 00:00:02,570 [Powered by Google Translate] [Ġimgħa 9] 2 00:00:02,570 --> 00:00:04,740 [David J. Malan - Università ta 'Harvard] 3 00:00:04,740 --> 00:00:07,170 [Dan huwa CS50. - CS50.TV] 4 00:00:07,170 --> 00:00:12,350 Kull dritt. Merħba lura. Dan huwa CS50, u dan huwa l-bidu tal-ġimgħa 9. 5 00:00:12,350 --> 00:00:16,600 Illum aħna niffukaw b'mod partikolari fuq id-disinn, m'għadhiex fil-kuntest ta 'C 6 00:00:16,600 --> 00:00:20,010 iżda fil-kuntest ta 'PHP u daqsxejn ta' SQL u daqsxejn ta 'JavaScript, 7 00:00:20,010 --> 00:00:23,730 partikolarment lejn l-aħħar ta 'kemm pset 7 u wkoll proġett finali tiegħek. 8 00:00:23,730 --> 00:00:26,310 Fil-fatt, jekk inti f'dak il-proġett finali tiegħek 9 00:00:26,310 --> 00:00:30,100 fejn preżumibbilment bħala ta 'siegħa jew hekk ilu inti inqas bdew jaħsbu ftit 10 00:00:30,100 --> 00:00:33,730 għall-proġett finali tiegħek u inti qed jaħsbu li inti tixtieq li jikkollaboraw ma '1 jew 2 klassi, 11 00:00:33,730 --> 00:00:36,150 jekk int trouble wara konnessjoni ma qal klassi, 12 00:00:36,150 --> 00:00:40,570 tħossok liberu li timla l-formola fil-cs50.net/partners/form. 13 00:00:40,570 --> 00:00:42,880 Hija biss tistaqsi lilek min int, liema tip ta 'proġett inti qed jaħsbu dwar, 14 00:00:42,880 --> 00:00:44,870 fejn inti tgħix biss għal raġunijiet loġistiċi. 15 00:00:44,870 --> 00:00:49,510 U mbagħad jekk inti tixtieq li żżomm għajnejk fuq matul il-ġimgħa d-dieħla jew hekk il-URL spreadsheet hemm, 16 00:00:49,510 --> 00:00:53,520 inti tista 'mbagħad tara verżjoni jinqraw-biss tal-dok Google 17 00:00:53,520 --> 00:00:56,010 li aħna qed jiġbru dik l-informazzjoni. 18 00:00:56,010 --> 00:00:58,930 Mela jekk inti tixtieq taħdem ma 'xi ħadd, bil-mezzi kollha li tħossok liberu li jilħqu lin-nies 19 00:00:58,930 --> 00:01:00,480 permezz ta 'dak il-mekkaniżmu. 20 00:01:00,480 --> 00:01:02,690 Iżda l-maġġoranza ta 'folks jagħmlu solo xogħol. Dak totalment multa. 21 00:01:02,690 --> 00:01:06,120 Allura ma jħossu li dan huwa f'kull mod obbligatorju. 22 00:01:06,120 --> 00:01:09,680 Nhar il-Ġimgħa kien biss lili u ftit mill-tim fil hawn, 23 00:01:09,680 --> 00:01:11,100 teatru vojta għall-aktar parti. 24 00:01:11,100 --> 00:01:14,600 Kien hemm 3 turisti seduta up hemm, b'tali mod li kien ftit skomdi. 25 00:01:14,600 --> 00:01:18,970 Dak li aħna tkellem dwar kien databases u tkellimna dwar pset 7 ftit. 26 00:01:18,970 --> 00:01:22,200 U jekk inti ma jiġri li jaqbdu li fuq video għadha biss, li l-multa. 27 00:01:22,200 --> 00:01:26,770 I ser jipprova jiddefinixxi xi termini li aħna kieku jieħdu għal mogħtija 28 00:01:26,770 --> 00:01:28,840 ibbażata fuq lecture nhar il-Ġimgħa. 29 00:01:28,840 --> 00:01:32,550 >> Imma llum aħna qed tmur biex nipprova nikseb inti l-punt 30 00:01:32,550 --> 00:01:34,990 ta 'mhux biss tkun tista' tagħmel xi ħaġa simili pset 7 31 00:01:34,990 --> 00:01:37,360 imma verament jifhmu x'inhu għaddej taħt il-barnuża, 32 00:01:37,360 --> 00:01:41,910 partikolarment uħud mill-estrazzjoni li aħna stabbiliti fil-fajl functions.php 33 00:01:41,910 --> 00:01:45,780 biex jagħmlu l-ħajja tiegħek daqsxejn aktar faċli iżda sabiex inti finalment jifhmu 34 00:01:45,780 --> 00:01:48,760 b'tali mod li meta l-roti ta 'taħriġ jiġu off fi ftit ġimgħat inti xorta tista' jgħix 35 00:01:48,760 --> 00:01:53,750 fid-dinja reali u jagħmlu dan il-għalf mingħajr ebda qafas CS50 taħt inti. 36 00:01:53,750 --> 00:01:57,500 Dan _SESSION $, għal dawk minnkom li huma familjari 37 00:01:57,500 --> 00:02:01,960 jew li diġà qabad il-video fuq il-Ġimgħa, dak ma SESSJONI ejjew nagħmlu 38 00:02:01,960 --> 00:02:04,330 f'applikazzjoni tal-web PHP bbażati? 39 00:02:04,330 --> 00:02:09,650 Din hija varjabbli superglobal, li jfisser li huwa simili fl-ispirtu li IKOLLOK u POST 40 00:02:09,650 --> 00:02:13,970 u fi ftit oħrajn, imma dak li hu dan ħaġa utli għall? 41 00:02:13,970 --> 00:02:18,320 >> X'inhu SESSJONI jintuża? Yeah. [Student] Logging pulzieri 42 00:02:18,320 --> 00:02:21,040 Jiddispjacini? [Student] Logging pulzieri Logging pulzieri Tabilħaqq. 43 00:02:21,040 --> 00:02:25,100 Fl pset 7 aħna qed jużaw dan superglobal SESSJONI biex jiffaċilitaw qtugħ pulzieri 44 00:02:25,100 --> 00:02:28,600 U x'hemm sbieħ dwar dan superglobal hija li huwa firxa assoċjattiva. 45 00:02:28,600 --> 00:02:33,190 Firxa assoċjattiv, recall, huwa biss firxa iżda li l-indiċi m'għadx għandek tkun in-numri 46 00:02:33,190 --> 00:02:37,670 bħall 012. Huma jistgħu jkunu numri jew jistgħu jkunu anki kordi. 47 00:02:37,670 --> 00:02:44,890 U hekk jekk inti stajt dived fis pset 7 għadhom, inti tista 'recall li aħna qed jaħżnu ID ewlieni imsejjaħ 48 00:02:44,890 --> 00:02:50,330 ġewwa ta 'din il-firxa assoċjattiva li l-valur hija xi ħaġa simili 123 - 49 00:02:50,330 --> 00:02:53,780 tkun xi tkun il bħalissa illoggjat ID utent huwa. 50 00:02:53,780 --> 00:02:59,470 Il-motivazzjoni għal dan hija li anki wara l-utent ikun żar localhost 51 00:02:59,470 --> 00:03:02,720 jew website tiegħi aktar ġenerali u allura dawn ħadthom illoggjat, 52 00:03:02,720 --> 00:03:07,320 anke jekk ma jkunx ikklikkja rabta jew jirritornaw għall-website tiegħi għal 5 minuti 53 00:03:07,320 --> 00:03:10,730 jew saħansitra siegħa jew anki ġurnata iżda dawn iħallu tieqa browser tagħhom miftuħa, 54 00:03:10,730 --> 00:03:14,370 permezz ta 'dan superglobal nista tiftakar li huma logged pulzieri 55 00:03:14,370 --> 00:03:21,140 >> Fi kliem ieħor, hija tippermetti lili biex jaħżnu xi ftit twil xejn tul nixtieq madwar utent. 56 00:03:21,140 --> 00:03:24,390 U inti tista 'taħseb li verament bħala l-Inkarnazzjoni ta' shopping cart. 57 00:03:24,390 --> 00:03:27,740 Postijiet bħal Amazon ovvjament let inti tpoġġi l-affarijiet fis-shopping cart, 58 00:03:27,740 --> 00:03:32,230 iżda HTTP, il-protokoll li s-setgħat tal-Web, huwa mingħajr stat 59 00:03:32,230 --> 00:03:34,230 fis-sens li meta inti żżur il-websajt, 60 00:03:34,230 --> 00:03:37,290 għall-parti l-aktar inti ma għandekx xi konnessjoni tan-netwerk kostanti 61 00:03:37,290 --> 00:03:39,270 bejn browser tiegħek u s-server. 62 00:03:39,270 --> 00:03:42,190 Hekk kif inti ħadthom jitniżżel l-HTML u l-JPEGs u l GIFs u dak kollu li, 63 00:03:42,190 --> 00:03:48,200 il-konnessjoni tmur bogħod u inti biss għandek kopja tal-HTML u whatnot mis-server. 64 00:03:48,200 --> 00:03:53,000 Iżda jekk il-server trid tiftakar xi ħaġa dwarek, 65 00:03:53,000 --> 00:03:57,580 il-piż huwa fuq il-server li attwalment jirreġistra dik l-informazzjoni. 66 00:03:57,580 --> 00:04:00,130 U għalhekk inti l-programmer li jkollhom kontroll fuq is-server 67 00:04:00,130 --> 00:04:04,400 tista 'tpoġġi xejn aktar li trid ġewwa ta' din il-firxa assoċjattiva superglobal 68 00:04:04,400 --> 00:04:06,850 u se jkun hemm il-ħin li jmiss l-utent jiġi lura, 69 00:04:06,850 --> 00:04:12,070 jekk huwa minuta jew saħansitra ijiem wara, sakemm ma jagħlqu tieqa browser tagħhom, 70 00:04:12,070 --> 00:04:14,360 f'liema SESSJONI punt tisparixxi. 71 00:04:14,360 --> 00:04:17,779 Allura huwa ħażna effimeru, huwa mhux persistenti, u huwa maħsub li jmorru lil hinn 72 00:04:17,779 --> 00:04:22,360 hekk kif l-utent tagħlaq browser tagħhom - mhux biss li tab, ħafna drabi l-browser kollu, 73 00:04:22,360 --> 00:04:24,930 b'hekk effettivament qtugħ l-utent barra. 74 00:04:24,930 --> 00:04:28,000 Allura kif dan huwa ħaġa fil-fatt implimentati? 75 00:04:28,000 --> 00:04:31,360 Ejja tagħti ħarsa lejn eżempju sempliċi ħarisna lejn il-Ġimgħa. 76 00:04:31,360 --> 00:04:33,340 Għal dawk familjari, kien sempliċi kemm dan. 77 00:04:33,340 --> 00:04:35,910 Din hija paġna web li l-uniku skop fil-ħajja huwa li tell me 78 00:04:35,910 --> 00:04:38,000 kif ħafna drabi I żaru din il-paġna. 79 00:04:38,000 --> 00:04:41,670 Dan huwa l-ewwel darba hawnhekk nhar it-Tnejn li I miżjura dan, hekk jgħid 0 darbiet. 80 00:04:41,670 --> 00:04:46,940 >> Imma jekk jien tibda tagħbija mill-ġdid din il-paġna, jgħid 1 ħin, 2, 3, 4, 5, 81 00:04:46,940 --> 00:04:49,800 u dan eventwalment se biss iżommu fuq jingħaddu up, up, up, up, up 82 00:04:49,800 --> 00:04:53,130 għal kull darba I attwalment ikklikkja Reload fuqha. 83 00:04:53,130 --> 00:04:58,830 Allura kif dan huwa xogħol? Let me go ġewwa tal dan il-fajl imsejħa counter.php. 84 00:04:58,830 --> 00:05:02,490 Il-parti ta 'fuq ta' dan huwa kummenti kollha blu, imma l-parti interessanti huwa hawnhekk. 85 00:05:02,490 --> 00:05:06,670 Fuq il-linja 13 nitolbu dan session_start funzjoni, 86 00:05:06,670 --> 00:05:09,600 u li hija litteralment kull ma għandek bżonn tagħmel jekk inti tixtieq li jkollok aċċess 87 00:05:09,600 --> 00:05:13,610 għal dan superglobal speċjali msejħa $ _SESSION. 88 00:05:13,610 --> 00:05:17,430 Li jagħmilha possibbli, u aħna ser tara fil-mument kif dan kollu possibbli. 89 00:05:17,430 --> 00:05:20,350 Fil-linja 16 avviż dak li qed nagħmel. 90 00:05:20,350 --> 00:05:25,960 Jekk il-kjavi, imsejħa kontro - fi kliem ieħor, il-valur indiċi - "counter" 91 00:05:25,960 --> 00:05:32,310 jeżisti ġewwa ta 'din il-firxa imsejħa SESSJONI, allura dak am I tagħmel miegħu fil-linja hawn taħt? 92 00:05:32,310 --> 00:05:36,650 X'inhu linja 18 tagħmel? 93 00:05:36,650 --> 00:05:40,360 >> [Rispons istudent inaudible] X'hemm li? [Student] Kif taħżen il-valur. Tajba. 94 00:05:40,360 --> 00:05:45,800 Huwa ħażna l-valur li fil SESSJONI dritt issa fil-varjabbli ġdid temporanju lokali, 95 00:05:45,800 --> 00:05:48,250 $ Counter kollha zghar. 96 00:05:48,250 --> 00:05:50,770 Avviż li PHP huwa diġà jkunu ftit għażżien hawn. 97 00:05:50,770 --> 00:05:55,550 Avviż aħna ma jkollhomx ebda referenza ta 'int jew float jew spag jew xi ħaġa bħal dik 98 00:05:55,550 --> 00:06:00,480 għaliex PHP huwa dgħajjef ittajpjat, fejn inti ma għandekx biex tispeċifika t-tip ta 'varjabbli, 99 00:06:00,480 --> 00:06:03,310 u f'dan il-każ hawnhekk stajt lanqas iddikjarat encore. 100 00:06:03,310 --> 00:06:08,980 Jien tiddikjarah ġewwa ta 'dawn ċineg kaboċċi u b'differenza C, dan huwa attwalment okay. 101 00:06:08,980 --> 00:06:13,800 Ma jimpurtax kemm profondament nested dikjarazzjoni tal-varjabbli huwa fil-PHP - 102 00:06:13,800 --> 00:06:16,650 ġewwa ta 'Brace kaboċċi, ġewwa ta' Brace kaboċċi u simili - 103 00:06:16,650 --> 00:06:21,230 se f'dak il-mument fil-ħin jeżistu għall-bqija tal-programm, 104 00:06:21,230 --> 00:06:22,680 għall-aħjar jew għall-agħar. 105 00:06:22,680 --> 00:06:26,930 Allura immedjatament isir globali hekk kif inti definizzjoni għalih kif aħna qed tagħmel hawn. 106 00:06:26,930 --> 00:06:31,620 >> Inkella, jekk ma nsibx li hemm xi ħaġa fil-superglobal SESSJONI, 107 00:06:31,620 --> 00:06:34,680 Jien apparentement initializing din il-kontro-varjabbli għal 0, 108 00:06:34,680 --> 00:06:37,580 b'hekk biss jekk wieħed jassumi l-utent qatt ma kien hawn qabel. 109 00:06:37,580 --> 00:06:40,030 U allura dan il-kors huwa inkrementazzjoni il-bank kif? 110 00:06:40,030 --> 00:06:44,480 Jien aġġornament tal-valur li l-ġewwa ta 'din il-firxa assoċjattiva 111 00:06:44,480 --> 00:06:49,530 billi dan ikun iffissat ugwali għal kwalunkwe kontro bħalissa huwa + 1. 112 00:06:49,530 --> 00:06:53,520 Jekk I iscroll hawn biex l-HTML tal-paġna, huwa attwalment pjuttost sempliċi. 113 00:06:53,520 --> 00:06:58,920 All I jkollhom fil-korp ta 'din il-paġna hija, "Inti żaru dan is-sit ħinijiet hekk u hekk." 114 00:06:58,920 --> 00:07:00,350 U dan huwa tibni PHP. 115 00:07:00,350 --> 00:07:06,080 Jekk inti tagħmel 00:07:12,600 Huwa tassew ekwivalenti għal xi ħaġa bħal printf, li Rajna ħafna drabi fis-C, 117 00:07:12,600 --> 00:07:15,940 għalkemm kif inti tista 'taf diġà mill-spec fil pset 7, 118 00:07:15,940 --> 00:07:20,160 istampar hija wkoll funzjoni li biss prints xi ħaġa, ma attwalment jużaw kodiċijiet format, 119 00:07:20,160 --> 00:07:23,270 u inti tista 'attwalment tgħid eku ukoll. 120 00:07:23,270 --> 00:07:27,460 Huma qed kollha dejjem hekk ftit differenti anki jekk l-effett nett huwa finalment l-istess. 121 00:07:27,460 --> 00:07:31,270 Allura dan l-użu tas-sinjal ugwali huwa biss tip ta 'mod eleganti ta' kif isir dan 122 00:07:31,270 --> 00:07:34,910 aktar qosor milli suppost kieku tkun kapaċi. 123 00:07:34,910 --> 00:07:38,370 Allura li kollox dan is-sit ma. Hija prints l-valur tal-counter. 124 00:07:38,370 --> 00:07:40,550 Kif huwa dan kollu verament jiġri? 125 00:07:40,550 --> 00:07:43,250 Inti tista 'tfakkar fil-ġimgħa jew hekk ilu bdejna tħares taħt il-barnuża 126 00:07:43,250 --> 00:07:47,910 lejn kif web page taħdem billi jużaw dan tab Spettur. 127 00:07:47,910 --> 00:07:51,900 >> Chrome għandu dan kemm fil-verżjoni Mac, il-verżjoni tal-Windows, u anki l-verżjoni Linux, 128 00:07:51,900 --> 00:07:59,510 u Firefox u IE għandhom mekkaniżmi simili fejn għandek dan debugger built-in 129 00:07:59,510 --> 00:08:01,400 ġewwa tal-browser. 130 00:08:01,400 --> 00:08:03,040 Ejja tagħti ħarsa lejn dan li ġej. 131 00:08:03,040 --> 00:08:06,960 Imxejna ltqajna mazz sħiħ ta 'tabs hawn, u tfakkar li l-waħda leftmost hija Elementi, 132 00:08:06,960 --> 00:08:10,700 u l-ebda kwistjoni kif godawful-HTML u JavaScript huwa fil-paġna, 133 00:08:10,700 --> 00:08:15,710 ifakkar li l-tab Elementi inti tista 'attwalment jinnavigaw l-HTML ġerarkikament 134 00:08:15,710 --> 00:08:17,050 u sbieħ u pulit. 135 00:08:17,050 --> 00:08:19,370 Mela jekk inti qed tipprova jitgħallmu minn websajt bħall-Google jew Facebook 136 00:08:19,370 --> 00:08:22,370 jew verament xi website, tirrealizza li int probabilment aħjar off 137 00:08:22,370 --> 00:08:26,360 tħares lejn il-kodiċi sors b'dan il-mod għall-kuntrarju viewing-sors prima, 138 00:08:26,360 --> 00:08:29,580 li jista 'jkun mess, kif aħna stajt tidher speċjalment fuq is-sit tal-Google. 139 00:08:29,580 --> 00:08:32,220 Mela jekk jien minflok ikklikkja fuq il-tab Netwerk hawn, 140 00:08:32,220 --> 00:08:34,830 ejja ara x'inhu għaddej meta I żjara din il-paġna. 141 00:08:34,830 --> 00:08:38,669 Ewwel let me ċar cache tiegħi. 142 00:08:38,669 --> 00:08:43,570 Jien se jmorru fil Settings fil Chrome u mbagħad mur Istorja 143 00:08:43,570 --> 00:08:46,420 u mbagħad Ċara data kollha browsing. 144 00:08:46,420 --> 00:08:48,170 Inti jista 'jintuża biex tagħmel dan għal skopijiet oħrajn, [daħk] 145 00:08:48,170 --> 00:08:51,990 iżda meta niġu għall-websajts li qed jiżviluppaw, huwa attwalment utli - 146 00:08:51,990 --> 00:08:55,980 jekk int laughing inti taf. [Daħk] 147 00:08:55,980 --> 00:08:59,310 Huwa fil-fatt verament utli meta jiżviluppaw websajts għaliex ir-realtà hija 148 00:08:59,310 --> 00:09:04,100 affarijiet simili cookies u affarijiet simili fajls HTML, fajls Cached Cached JavaScript 149 00:09:04,100 --> 00:09:06,390 jistgħu attwalment issir ras kbir, għax jekk għal kwalunkwe raġuni 150 00:09:06,390 --> 00:09:11,500 il-browser jiddeċiedi li cache xi fajl u għadhom inti stajt għamel bidliet fil dan il-fajl fuq is-server 151 00:09:11,500 --> 00:09:14,670 iżda l-browser ma verament induna li l-fajl nbidlet 152 00:09:14,670 --> 00:09:19,060 u għalhekk ma attwalment terġa 'tniżżel dan anki meta inti ikklikkja l-buttuna Reload, 153 00:09:19,060 --> 00:09:23,210 wieħed mill-modi l-aktar surefire li biss tiżgura l-tort mhux bil-kodiċi tiegħek, 154 00:09:23,210 --> 00:09:26,480 huwa ma 'l-imġiba tal-browser, huwa li jmorru fil hawn fil-browser tiegħek 155 00:09:26,480 --> 00:09:29,950 u biss ċar l-istorja kollha sabiex ma jkun hemm l-ebda konfużjoni. 156 00:09:29,950 --> 00:09:33,210 >> U mbagħad jekk int verament tixtieq li tkun paranojde, nieqaf il-browser, jerġa, 157 00:09:33,210 --> 00:09:35,660 u mbagħad jagħmel żgur kulħadd qed taħdem kif mistenni. 158 00:09:35,660 --> 00:09:38,820 Allura fil-qosor, cache ikklerjar huwa tajjeb meta jkun qed jagħmel l-iżvilupp. 159 00:09:38,820 --> 00:09:40,690 Allura hawnhekk għandna l-tab Network. 160 00:09:40,690 --> 00:09:46,020 I qabel kien żar is-sit 9 darbiet, iżda let me imorru quddiem issa u kklikkja Reload. 161 00:09:46,020 --> 00:09:47,500 U jien lura għal 0. 162 00:09:47,500 --> 00:09:52,100 Ejja attwalment ara kemm huwa li dan superglobal SESSJONI qed tiġi implimentata. 163 00:09:52,100 --> 00:09:55,990 Jien ser ikklikkja fuq it-talba HTTP 1 li kien sar, 164 00:09:55,990 --> 00:09:58,810 u dan il-tieqa debugging tikri me tfittex ġewwa ta 'dan. 165 00:09:58,810 --> 00:10:01,970 Hawnhekk nara biss ir-rispons mis-server, li mhuwiex interessanti. 166 00:10:01,970 --> 00:10:04,030 Stajt rajt dan fi kwalunkwe numru ta 'modi. 167 00:10:04,030 --> 00:10:06,350 Imma x'hemm teknikament interessanti huma l-headers. 168 00:10:06,350 --> 00:10:11,770 Jekk I iscroll hawn u tiffoka fuq l-headers talba u kklikkja sors fehma, 169 00:10:11,770 --> 00:10:14,400 dak li jien ser tara hija litteralment it-talba HTTP 170 00:10:14,400 --> 00:10:17,250 li biss marru mill-browser tiegħi għall-server, 171 00:10:17,250 --> 00:10:21,400 IKOLLOK huwa l-kelma operattiva u mbagħad / counter.php huma l-isem fajl, 172 00:10:21,400 --> 00:10:25,670 HTTP/1.1 sempliċement il-verżjoni ta HTTP li browser tiegħi qed tuża. 173 00:10:25,670 --> 00:10:31,070 Din il-linja hawnhekk hija tifkira ftit mill-browser għall-server dak l-isem tas-server huwa 174 00:10:31,070 --> 00:10:33,020 li trid biex jitkellem. 175 00:10:33,020 --> 00:10:38,200 U allura l-bqija ta 'dan huwa kultant interessanti imma mhux rilevanti dritt issa. 176 00:10:38,200 --> 00:10:40,090 >> Dan huwa biss it-tip ta 'kurżità. 177 00:10:40,090 --> 00:10:43,530 Cryptic għalkemm din is-sekwenza huwa, f'kull ħin browser tiegħek żjarat website 178 00:10:43,530 --> 00:10:47,110 huwa jinforma lill-server dak browser inti qed tuża 179 00:10:47,110 --> 00:10:50,040 u liema sistema operattiva inti qed tuża u liema verżjoni tiegħu. 180 00:10:50,040 --> 00:10:52,650 Mela jekk inti stajt qatt staqsiet kif websajts bħal CNN u whatnot 181 00:10:52,650 --> 00:10:56,860 taf x'inhuma l-persentaġġi huma ta 'utenti Mac fuq l-utenti tal-Web PC,, 182 00:10:56,860 --> 00:11:00,820 Utenti IE, l-utenti Chrome u simili, huwa minħabba kollha ta 'browsers tagħna 183 00:11:00,820 --> 00:11:04,300 huma javżak kull sit elettroniku uniku hemmhekk dak li aħna. 184 00:11:04,300 --> 00:11:07,410 Dan ma jfissirx neċessarjament jinkludu informazzjoni personalment identifikabbli, 185 00:11:07,410 --> 00:11:13,060 iżda ma tgħid il-server liema indirizz IP tiegħek u għalxiex browser u OS qed tuża. 186 00:11:13,060 --> 00:11:14,720 Allura dak fejn din l-informazzjoni. 187 00:11:14,720 --> 00:11:19,960 Imma x'hemm aktar interessanti issa meta niġu għal dawn is-sessjonijiet hija l-header rispons. 188 00:11:19,960 --> 00:11:22,530 Let me ikklikkja ħsieb għajn jmiss rispons. 189 00:11:22,530 --> 00:11:24,590 X'hemm interessanti hawnhekk huwa ftit affarijiet. 190 00:11:24,590 --> 00:11:27,580 1, sirna lura kodiċi istat ta '200. 191 00:11:27,580 --> 00:11:29,840 Aħna qatt ma tara dan il-kodiċi istat minħabba li tfisser kollox huwa tajjeb. 192 00:11:29,840 --> 00:11:32,920 Dan ifisser litteralment okay b'kuntrast ma 'xi ħaġa oħra. 193 00:11:32,920 --> 00:11:36,380 X'hemm numru aħna kultant tara li l-ħażina? [Student] 404. 194 00:11:36,380 --> 00:11:39,860 , 404 fajl ma nstabx, 403 inti tista 'tkun ostaklu fuq diġà, 195 00:11:39,860 --> 00:11:43,660 li huwa pprojbit, li jfisser li inti nesa xi ħaġa chmod, l-aktar probabbli. 196 00:11:43,660 --> 00:11:45,190 U hemm mazz ta 'oħrajn. 197 00:11:45,190 --> 00:11:47,760 >> Down hawn, dan huwa xi ftit crazy. 198 00:11:47,760 --> 00:11:52,340 I really biss kiteb dan il-fajl ftit minuti ilu mill pasta fis gedit. 199 00:11:52,340 --> 00:11:57,100 Għaliex ma din il-paġna tiskadi fl-1981 qabel ma jkun hemm verament kien Web? 200 00:11:58,010 --> 00:12:00,730 X'qed jiġri hemmhekk? 201 00:12:00,730 --> 00:12:04,390 >> [Inaudible student rispons] It-timbru ħin. Iżda għaliex? 202 00:12:06,110 --> 00:12:09,120 Huwa kemmxejn arbitrarja, iżda huwa attwalment utli. 203 00:12:09,120 --> 00:12:15,500 X'inhu dan huwa qal lill-browser tiegħi huwa dan il-fajl PHP inti stajt biss mitlub ikun diġà skada. 204 00:12:15,500 --> 00:12:18,580 Fil-fatt, skada 30 sena ilu. 205 00:12:18,580 --> 00:12:20,260 Imma dak li verament ma jfisser? 206 00:12:20,260 --> 00:12:22,500 Dan ifisser biss l-ħin li jmiss l-utent żjarat din il-paġna, 207 00:12:22,500 --> 00:12:25,540 kemm permezz tagħbija mill-ġdid jew jiġu ttajpjati l-URL fl-address bar, 208 00:12:25,540 --> 00:12:28,010 aċċerta ruħek li tmur u jġibu kopja ġdida ta 'dan. 209 00:12:28,010 --> 00:12:30,840 Din hija tip ta 'eżempju ta' fqigħ cache, 210 00:12:30,840 --> 00:12:33,790 kelma stupid li sempliċiment ifisser tipprova li jiskoraġġixxu browsers 211 00:12:33,790 --> 00:12:37,260 mill-fatt HTML caching li kien mibgħut minn server 212 00:12:37,260 --> 00:12:41,490 sabiex inti ma aċċidentalment hit rikarigu u mbagħad tara l-istess verżjoni tal-fajl. 213 00:12:41,490 --> 00:12:43,730 Inti fil-fatt tixtieq l-server li tibgħat kopja ġdida. 214 00:12:43,730 --> 00:12:47,440 Allura l-fatt li huwa 1981 ifisser biss li dak hu l-appliance hija għażla 215 00:12:47,440 --> 00:12:50,280 bħala d-data arbitrarju fl-imgħoddi. 216 00:12:50,280 --> 00:12:53,380 Iżda l-linja mmerraq reali issa huwa dan wieħed. 217 00:12:53,380 --> 00:12:57,550 Anki qabel 50 int probabilment vagament familjari ma cookies. 218 00:12:57,550 --> 00:13:01,820 Bħala dritt issa, speċjalment fost dawk inqas komdi jew fl bejn, 219 00:13:01,820 --> 00:13:04,120 dak li huwa cookie fil-fehma tiegħek dritt issa 220 00:13:04,120 --> 00:13:06,980 anke jekk aħna qed madwar biex jagħmlu komprensjoni tiegħek aktar tekniku? 221 00:13:08,150 --> 00:13:10,070 X'hemm cookie? Yeah. 222 00:13:10,070 --> 00:13:13,890 [Student] Informazzjoni dwar l-utent, bħal jekk dawn ħadthom miktub utent isem tagħhom jew xi ħaġa. 223 00:13:13,890 --> 00:13:17,370 >> Tajba. Hu l-informazzjoni dwar l-utent, jekk dawn ħadthom ittajpjat fl-isem l-utent tagħhom diġà. 224 00:13:17,370 --> 00:13:21,190 Cookies huma mod li bih servers tista tiftakar xi ħaġa dwar l-utent. 225 00:13:21,190 --> 00:13:25,810 U dak cookie verament huwa fajl huwa test jew xi sekwenza ta 'bytes 226 00:13:25,810 --> 00:13:28,340 li l-mħawla mill-server ġewwa tal-browser tiegħek, 227 00:13:28,340 --> 00:13:31,960 u ġewwa ta 'dan il-fajl jew fost dawk bytes huwa xi tip ta' identifikatur. 228 00:13:31,960 --> 00:13:35,640 Forsi huwa litteralment isem l-utent tiegħek, iżda aktar spiss huwa xi ħaġa aktar cryptic li tħares 229 00:13:35,640 --> 00:13:43,700 bħal dan ħaġa hawn - bo8dal3ct u oħrajn - dan sekwenza alfanumerika verament kbar 230 00:13:43,700 --> 00:13:47,050 thats verament ftit maħsub li jkun identifikatur uniku għalik. 231 00:13:47,050 --> 00:13:49,790 Jew inti tista 'taħseb bħala tip ta' timbru idejn virtwali. 232 00:13:49,790 --> 00:13:53,020 Jekk inti tmur għal xi klabb jew park ta 'divertiment, li tiftakar li inti stajt attwalment imħallsa 233 00:13:53,020 --> 00:13:55,850 u marret fi, li jqiegħdu stiker aħmar ftit fuq naħa tiegħek ta 'xi tip, 234 00:13:55,850 --> 00:13:59,270 u li jfakkar lill-poplu fuq il-counter li inti stajt diġà mħallsa 235 00:13:59,270 --> 00:14:01,340 u inti tista jiġu u jmorru kif jekk jogħġbok. 236 00:14:01,340 --> 00:14:04,250 Cookies huma ftit simili fl-ispirtu għal dan. 237 00:14:04,250 --> 00:14:08,070 L-ewwel darba I miżjura din il-websajt, kif I biss ma wara l-ikklerjar cache tiegħi, 238 00:14:08,070 --> 00:14:11,620 il-web server, l-apparat f'dan il-każ, jitqiegħed timbru fuq naħa tiegħi 239 00:14:11,620 --> 00:14:15,030 li ismu huwa PHPSESSID, sessjoni ID, 240 00:14:15,030 --> 00:14:18,260 li l-valur huwa dan sekwenza alfanumerika verament twila. 241 00:14:18,260 --> 00:14:22,470 >> Allura dak issa tip ta 'emblazoned fuq naħa tiegħi hekk li l-ħin li jmiss I hit rikarigu 242 00:14:22,470 --> 00:14:25,230 jew manwalment żjara dan il-URL fil-browser, 243 00:14:25,230 --> 00:14:29,230 browser tiegħi b'definizzjoni ta HTTP se tippreżenta it-timbru naħa 244 00:14:29,230 --> 00:14:31,940 ġdid u għal darb'oħra u għal darb'oħra. 245 00:14:31,940 --> 00:14:34,550 Għalhekk anki jekk il-server ma jkunx neċessarjament jaf min jien, 246 00:14:34,550 --> 00:14:39,610 huma inqas jafu li jien l-istess utent jew għall-inqas, b'mod aktar speċifiku, il-browser istess. 247 00:14:39,610 --> 00:14:45,660 U hekk dan huwa finalment kif l-superglobal SESSJONI tiġi implimentata. 248 00:14:45,660 --> 00:14:51,200 Il-server m'għandha l-ebda idea min int meta inti tirrevedi websajt għat-tieni jew it-tielet darba 249 00:14:51,200 --> 00:14:53,410 sakemm inti tippreżenta dan it-timbru idejn. 250 00:14:53,410 --> 00:14:55,530 U hekk kif inti tippreżenta dan timbru idejn, 251 00:14:55,530 --> 00:14:59,370 il-web server essenzjalment tmur ġo database ftit tagħha stess 252 00:14:59,370 --> 00:15:06,040 u kontrolli, okay, I għadek raw it-timbru naħa ta bo8dal3ct utent u ibqa 'sejjer hekk. 253 00:15:06,040 --> 00:15:09,850 Let me tara liema informazzjoni l-programmer ikun maħżun 254 00:15:09,850 --> 00:15:12,380 ġewwa tal-superglobal dwar dan l-utent, 255 00:15:12,380 --> 00:15:17,000 u mbagħad let me jagħmlu ċert li d-data hija għal darb'oħra ġewwa tal-SESSJONI superglobal 256 00:15:17,000 --> 00:15:19,830 sabiex il-programmer tista 'terġa' aċċess li d-data 257 00:15:19,830 --> 00:15:23,360 anki jekk dan kien stipulat ftit minuti jew sigħat ilu. 258 00:15:23,360 --> 00:15:26,150 Kliem Għalhekk fl ieħor, cookies, li ltqajna a bad rap għal xi żmien 259 00:15:26,150 --> 00:15:29,990 minħabba insikurezzi fir browsers u tassew ikunu jistgħu jiksru l-privatezza tagħna u dan kollu, 260 00:15:29,990 --> 00:15:31,900 dawn għandhom attwalment utilità kbira għaliex mingħajrhom 261 00:15:31,900 --> 00:15:36,110 inti tkun kontinwament tkun tidħol fl-kull paġna Facebook inti żjara 262 00:15:36,110 --> 00:15:40,680 jew kull email Gmail inti taqra jekk il-browser ma kellhomx xi mod ta 'ftakar 263 00:15:40,680 --> 00:15:43,320 li inti stajt diġà awtentikati. 264 00:15:43,320 --> 00:15:46,640 >> Allura f'dan il-mod cookies jintbagħtu quddiem u lura madwar l-wajer. 265 00:15:46,640 --> 00:15:52,470 Ieħor kurżità dwar il-cookies, speċjalment hawnhekk, huwa li dan huwa kompletament fl cleartext. 266 00:15:52,470 --> 00:15:54,930 M'hemm l-ebda encryption jiġri hawn tkun xi tkun, 267 00:15:54,930 --> 00:15:57,240 u tabilħaqq jien jużaw HTTP fil-mument. 268 00:15:57,240 --> 00:16:00,890 Waħda mill-mumenti favoriti tagħna fid CS50, li issa 2 snin ilu, 269 00:16:00,890 --> 00:16:04,750 kien madwar il-ħin għodda msejħa Firesheep ħareġ. 270 00:16:04,750 --> 00:16:08,320 Din kienet biċċa ħieles ta 'softwer li saret minn riċerkatur sigurtà 271 00:16:08,320 --> 00:16:13,250 bħala sejħa riattivazzjoni-up għall-komunità li jgħidu kemm atrociously implimentati 272 00:16:13,250 --> 00:16:17,900 ċerti mekkaniżmi ta 'awtentikazzjoni fuq il-Web kienu. 273 00:16:17,900 --> 00:16:22,880 Allura għal xi żmien, Facebook kienet kważi kompletament fuq HTTP, HTTPS ebda. 274 00:16:22,880 --> 00:16:25,640 U anki jekk ma jkollok ebda idea kif il-kripto xogħlijiet, S hija sigura 275 00:16:25,640 --> 00:16:27,950 għalhekk dan ifisser li hemm mill-inqas xi encryption involuti. 276 00:16:27,950 --> 00:16:30,610 Facebook ma użata għall-kriptaġġ utent ismijiet u passwords, 277 00:16:30,610 --> 00:16:33,560 iżda hekk kif inti ħares lejn tiegħek pokes jew messaġġi tiegħek jew l-għalf aħbarijiet tiegħek, 278 00:16:33,560 --> 00:16:35,360 kollha ta 'li kien unencrypted. 279 00:16:35,360 --> 00:16:37,870 Hekk kien Gmail sakemm biss sena jew 2 ilu. 280 00:16:37,870 --> 00:16:41,100 Kwalunkwe ħin li inti illoggjat, iva, huma użati encryption sigura, 281 00:16:41,100 --> 00:16:44,300 iżda wara dawn ma kinux. U għaliex jista 'jkun? 282 00:16:44,300 --> 00:16:49,210 Għaliex mhux biss l-użu kriptografija l-ħin kollu fil-każijiet ta 'użu bħal dan? 283 00:16:49,210 --> 00:16:53,700 X'hemm li? I think I smajt xi ħaġa. [Student] Veloċità. 284 00:16:53,700 --> 00:16:56,250 Veloċità, id-dritt? Hemm modi madwar dan. 285 00:16:56,250 --> 00:16:59,610 Imma jekk inti biss tip ta 'jaħsbu dwar dan loġikament, jekk inti kriptaġġ xi ħaġa, 286 00:16:59,610 --> 00:17:01,820 għandek tagħmel inqas xogħol ftit aktar. 287 00:17:01,820 --> 00:17:05,460 Fil pset 2 meta inti implimentata Caesar jew Vigenere jew saħansitra jixxaqqaq, 288 00:17:05,460 --> 00:17:07,760 biss istampar string huwa relattivament faċli. 289 00:17:07,760 --> 00:17:12,040 Encrypting u mbagħad istampar string minimament teħtieġ xogħol ftit aktar. 290 00:17:12,040 --> 00:17:14,520 >>  Għall-websajts popolari super bħall-Google u Facebook, 291 00:17:14,520 --> 00:17:18,839 jekk għandek tagħmel aktar xogħol għal kull utent għal kull paġna web wieħed huma żjara, 292 00:17:18,839 --> 00:17:20,520 li biss jieħu ż-żmien CPU aktar. 293 00:17:20,520 --> 00:17:22,920 U jekk ikollok bżonn żmien CPU aktar, jista 'jkollok bżonn servers aktar, 294 00:17:22,920 --> 00:17:24,270 li jfisser li inti jista 'jkollok bżonn aktar flus. 295 00:17:24,270 --> 00:17:27,579 U hekk għal ħafna snin dan biss verament ma kienx l-aħjar prattika. 296 00:17:27,579 --> 00:17:31,440 In-nies se jużaw SSL encryption biss meta meħtieġa. 297 00:17:31,440 --> 00:17:34,960 Iżda rriżulta, u kif dan sħabi ma Firesheep magħmula super ċar, 298 00:17:34,960 --> 00:17:37,920 meta inti guys li bħalissa huma fuq Facebook dritt issa - 299 00:17:37,920 --> 00:17:39,880 Minn ta 'kurżità, ejja ara jekk inti ser fess up. 300 00:17:39,880 --> 00:17:42,620 Jekk int fuq Facebook dritt issa b'xi tab, anki jekk mhuwiex foregrounded, 301 00:17:42,620 --> 00:17:46,610 huwa URL HTTP tiegħek jew HTTPS? 302 00:17:46,610 --> 00:17:50,560 [Studenti multipli] S. S? [Daħk] 303 00:17:50,560 --> 00:17:55,510 Okay. Kull HTTP? Just 1? Okay. 304 00:17:55,510 --> 00:17:58,940 Allura lkoll jistgħu Hack li Guy-kont Facebook dritt issa. 305 00:17:58,940 --> 00:18:04,100 Għall-parti l-kbira dan sar mixgħula fil-kontumaċja, għallinqas xi websites. 306 00:18:04,100 --> 00:18:08,120 U l-istorja twila fil-qosor, jekk it-traffiku web tiegħek ma tkunx encrypted, 307 00:18:08,120 --> 00:18:12,960 mhux biss ma 'l-HTML imorru quddiem u lura madwar l-WiFis unencrypted, 308 00:18:12,960 --> 00:18:16,760 sabiex ma affarijiet simili cookies imorru quddiem u lura madwar l-arja 309 00:18:16,760 --> 00:18:18,940 mingħajr l-ebda forma ta 'encryption. 310 00:18:18,940 --> 00:18:23,540 Mela jekk għandek biss daqsxejn ta 'sofistikati programmazzjoni jew daqsxejn ta Googling ħiliet 311 00:18:23,540 --> 00:18:27,410 biex isibu softwer b'xejn li ma dan, kull ma għandek tagħmel huwa ipoġġu fil Starbucks 312 00:18:27,410 --> 00:18:30,680 jew ipoġġu fl-ajruport fejn ikun hemm s ġeneralment unencrypted WiFi 313 00:18:30,680 --> 00:18:36,070 u biss watch għall keywords bħal Set-cookie: jew PHPSESSID 314 00:18:36,070 --> 00:18:39,300 għaliex jekk inti għandek l-sofistikati tekniċi għal ftit tara l-WiFi 315 00:18:39,300 --> 00:18:43,010 għall kollha tal-bits li fluss madwar l-arja għal dan il-mudell, 316 00:18:43,010 --> 00:18:50,840 inti tista 'mbagħad tgħid li PHPSESSID Guy jiġri li jkun bo8dal u oħrajn. 317 00:18:50,840 --> 00:18:53,890 U mbagħad għal darb'oħra jekk int biżżejjed teknikament sofistikati jew ikollhom l-għodda dritt, 318 00:18:53,890 --> 00:18:58,890 inti tista 'mbagħad biss jikkonfiguraw mill-browser tiegħek biex tibda tippreżenta dak timbru idejn 319 00:18:58,890 --> 00:19:05,030 għall Facebook.com, u Facebook huwa biss se jassumi li inti li Guy 320 00:19:05,030 --> 00:19:09,880 minħabba kollha jafu mhuwiex min int imma li għandek dan identifikatur uniku. 321 00:19:09,880 --> 00:19:14,650 Mela jekk inti steal dan identifikatur uniku u tippreżentah lill-web server kif tiegħek, 322 00:19:14,650 --> 00:19:16,860 huma biss ser jurik għalf aħbarijiet dik il-persuna 323 00:19:16,860 --> 00:19:18,980 jew messaġġi li persuna jew pokes. 324 00:19:18,980 --> 00:19:23,190 >> U nixtieq Google issa kif jattiva HTTPS għall Facebook forsi. 325 00:19:23,190 --> 00:19:25,150 Imma huwa verament sempliċi bħal dik. 326 00:19:25,150 --> 00:19:27,660 U hekk Facebook u Google u simili gotten verament tajba għal dan, 327 00:19:27,660 --> 00:19:31,870 iżda żżomm għajnejk out kollha l-aktar għal xi websajts li żżur li ma jużawx HTTP 328 00:19:31,870 --> 00:19:35,020 u għandhom xi tip ta 'informazzjoni sensittiva fuqhom, 329 00:19:35,020 --> 00:19:37,490 jekk huwa finanzjarju jew personali jew simili. 330 00:19:37,490 --> 00:19:43,180 Jekk dawn mhux qed jużaw dan, pjuttost possibilment jista cookies bħal din tkun faċilment misruqa 331 00:19:43,180 --> 00:19:46,270 u mbagħad falsifikati, u dan huwa eżattament dak Firesheep għamlet. 332 00:19:46,270 --> 00:19:48,250 Inti ma għandekx tkun programmer. 333 00:19:48,250 --> 00:19:51,680 Kull ma kellu jagħmel kienet li konnessjoni Internet, download din l-għodda b'xejn, 334 00:19:51,680 --> 00:19:56,490 u dak li se tagħmel huwa inti login u allura turi li inti l-ismijiet Facebook 335 00:19:56,490 --> 00:20:00,170 ta 'kulħadd Sanders, f'dan dimostrazzjoni partikolari, ta' madwarek 336 00:20:00,170 --> 00:20:03,260 u kull ma kellu jagħmel kienet ikklikkja fuq l-isem tagħhom u l-software awtomatizzat il-proċess 337 00:20:03,260 --> 00:20:05,970 ta 'xamm dak il-cookie, jippreżentah għall Facebook bħala tiegħek, 338 00:20:05,970 --> 00:20:07,990 u, voila, int logged pulzieri 339 00:20:07,990 --> 00:20:11,190 Allura dan huwa wieħed ieħor ta 'dawk "ma tagħmel dan" uffiċjalment. 340 00:20:11,190 --> 00:20:14,660 Jekk għandek network tiegħek dar stess u inti tixtieq li tinker, bil-mezzi kollha, 341 00:20:14,660 --> 00:20:17,530 imma tirrealizza dan ma jaqsmu l-linja dwar ambjent università. 342 00:20:17,530 --> 00:20:20,030 >> Iżda l-għan hawnhekk huwa verament li jiġi enfasizzat li ma kif tagħmel dan 343 00:20:20,030 --> 00:20:22,320 imma kif tiddefendi kontra dawn it-tipi ta 'affarijiet. 344 00:20:22,320 --> 00:20:26,180 U s-soluzzjoni trivjali hawn, anki jekk hija stess huwa difettuż, 345 00:20:26,180 --> 00:20:31,360 huwa li verament inaqqsu l-użu ta 'kwalunkwe siti li huma ma jużawx HTTPS kontinwament. 346 00:20:31,360 --> 00:20:34,520 Allura siti bħal Facebook u Google dejjem ikollhom checkboxes 347 00:20:34,520 --> 00:20:36,200 fejn inti tista 'tagħżel fl għal dan it-tip ta' ħaġa, 348 00:20:36,200 --> 00:20:40,000 u l-banek kellhom dan għal snin għal raġunijiet simili. 349 00:20:40,000 --> 00:20:43,580 Hekk biss ftit ta 'fattur ta' biża jekk nistgħu. Imma dak li huwa fil-qosor. 350 00:20:43,580 --> 00:20:46,420 Din hija kif server jiftakar min int. 351 00:20:46,420 --> 00:20:50,760 U hekk kif dawn jistgħu tiftakar min int, huma jistgħu jiftakru xejn dwarek 352 00:20:50,760 --> 00:20:56,140 li l-programmer ikun maħżun ġewwa ta 'dan superglobal speċjali msejħa $ _SESSION. 353 00:20:56,140 --> 00:20:59,750 U għall pset 7 aħna qed tużaha trivially biss biex tiftakar xi int, 354 00:20:59,750 --> 00:21:02,260 jiġifieri l-ID uniku tal-utent li jkun illoggjat, 355 00:21:02,260 --> 00:21:05,880 sabiex inkunu nafu li ħadthom kien hemm qabel. 356 00:21:05,880 --> 00:21:12,450 Kwalunkwe mistoqsijiet imbagħad fuq sessjonijiet jew cookies jew simili? 357 00:21:12,450 --> 00:21:15,130 Firesheep ma taħdimx kif ukoll aktar, 358 00:21:15,130 --> 00:21:18,310 u inti għandek tpoġġi kompjuter tiegħek fil-modalità promiscuous speċjali 359 00:21:18,310 --> 00:21:20,700 hekk int attwalment jisimgħu għat-traffiku minbarra yourselves. 360 00:21:20,700 --> 00:21:23,940 Mela jekk int attwalment tniżżil Firesheep, tirrealizza mhuwiex daqshekk faċli 361 00:21:23,940 --> 00:21:26,850 kif darba kien juru. 362 00:21:26,850 --> 00:21:29,070 Kull dritt. U ma tagħmel dan fil Sanders. Jagħmlu dan fid-dar. 363 00:21:29,070 --> 00:21:30,890 Databases. 364 00:21:30,890 --> 00:21:33,580 Waħda mill-affarijiet għamilna fil pset 7 very deliberatament 365 00:21:33,580 --> 00:21:37,780 kienet aħna nagħtuk tabella database kampjun għall-utenti li għandha xi IDs utent, 366 00:21:37,780 --> 00:21:41,020 xi ismijiet utent, u xi passwords encrypted hemmhekk. 367 00:21:41,020 --> 00:21:44,520 U kif tkun taf tara, jekk inti ma jkunux diġà, int se jkollhom jibdlu l-tabella ftit. 368 00:21:44,520 --> 00:21:47,710 Int ser ikollok żżid xi cache għal kull wieħed mill-utenti f'dik it-tabella, 369 00:21:47,710 --> 00:21:51,130 u int ser ikollhom iżidu ieħor tabella istorja, tabella portafolli, 370 00:21:51,130 --> 00:21:53,310 jew forsi sejħa hija xi ħaġa oħra. 371 00:21:53,310 --> 00:21:56,740 Iżda f'termini ta 'ħsieb dwar kif għandek tagħmel dan, ejja tiftaħ din l-għodda 372 00:21:56,740 --> 00:22:00,570 li aħna użati fuq il-Ġimgħa, imma jekk familjari, l-appliance tiġi flimkien ma 'għodda 373 00:22:00,570 --> 00:22:04,680 imsejħa phpMyAdmin li inzerta miktub fil-PHP, 374 00:22:04,680 --> 00:22:07,950 iżda l-għan tagħha fil-ħajja, wara I log fil hawn bħala jharvard ma krimżi, 375 00:22:07,950 --> 00:22:15,160 huwa li jagħti lili mod faċli għall-utent tal-wiri u l-bdil database tiegħi. 376 00:22:15,160 --> 00:22:18,040 >> Id-database li niġri fuq l-appliance huwa msejjaħ MySQL. 377 00:22:18,040 --> 00:22:23,420 Dan huwa popolari ħafna, u huwa b'xejn open source database li l wonderfully faċli biex jintużaw, 378 00:22:23,420 --> 00:22:25,620 speċjalment ma 'quddiem truf bħal dan. 379 00:22:25,620 --> 00:22:29,350 X'inhu din l-għodda tippermetti lili biex jagħmlu, per eżempju, huwa poke madwar tabelli. 380 00:22:29,350 --> 00:22:30,890 Let me imorru quddiem u jagħmlu dan. 381 00:22:30,890 --> 00:22:36,580 Nhar il-Ġimgħa ħloqna tabella msejħa istudenti li kien sempliċi super. 382 00:22:36,580 --> 00:22:41,680 Hija kellha 3 kolonni - id, isem, u l-email - u I manwalment daħħal ftit ringieli 383 00:22:41,680 --> 00:22:44,420 bħal David u Mike f'dan l-eżempju partikolari. 384 00:22:44,420 --> 00:22:47,290 Ejja tieħu din id-daqsxejn aktar, u ejja nassumu li aħna rridu li tiftakar aktar 385 00:22:47,290 --> 00:22:49,660 minn sempliċiment l-isem u l-email dwar l-utent. 386 00:22:49,660 --> 00:22:53,090 Let me ikklikkja Struttura up hawn fil-quċċata. 387 00:22:53,090 --> 00:22:55,440 U għal darb'oħra, il-pset mixjiet inti permezz tal-passi meħtieġa hawn, 388 00:22:55,440 --> 00:22:58,150 sabiex ma joqogħdu jinkwetaw jekk xi wħud dan huwa daqsxejn ta 'malajr. 389 00:22:58,150 --> 00:22:59,690 Imbagħad jien ser ikklikkja fuq hawn. 390 00:22:59,690 --> 00:23:02,270 Jien ser żżid xi numru ta 'kolonni wara email 391 00:23:02,270 --> 00:23:04,130 għaliex nixtieq li żżid xi ħaġa bħal dar. 392 00:23:04,130 --> 00:23:06,640 I nesa li jirreġistra d-dar ta 'student. 393 00:23:06,640 --> 00:23:11,400 Let me ikklikkja Mur, u issa għandna din il-formola li sfortunatament huwa xi ftit wiesgħa mix-xellug għal-lemin, 394 00:23:11,400 --> 00:23:13,710 imma jien ser sejħa-isem ta 'din id-dar il-qasam, 395 00:23:13,710 --> 00:23:16,050 u mbagħad it-tip I issa jkollhom jagħżlu. 396 00:23:16,050 --> 00:23:18,870 Mela ejja jkollhom chat qosor dwar it-tipi varji fil MySQL 397 00:23:18,870 --> 00:23:24,590 għaliex billi PHP hija dgħajfa ittajpjat u tip ta 'tilgħab veloċi u maħlula ma' tipi, 398 00:23:24,590 --> 00:23:29,430 fid-database speċjalment huwa importanti super biex attwalment jużaw ittajpjar għall-vantaġġ tiegħek 399 00:23:29,430 --> 00:23:33,260 għaliex wieħed mill-MySQL affarijiet u magni database oħra jista 'jagħmel għalik 400 00:23:33,260 --> 00:23:37,910 huwa jiżgura li inti ma tpoġġi data taparsi fis-database tiegħek. 401 00:23:37,910 --> 00:23:41,850 Din hija tip ta 'żball ħielsa verifika disponibbli lilek. 402 00:23:41,850 --> 00:23:46,250 >> Għal dar aħna ovvjament ma tridx li din tkun int, li huwa valur 32-bit fl MySQL. 403 00:23:46,250 --> 00:23:49,810 Aħna ma jitkellmu fil-qosor dwar il-Ġimgħa dwar varchar, li stands għal tul varjabbli char. 404 00:23:49,810 --> 00:23:54,720 X'inhu dan? Dan jippermettilek li tispeċifika li inti tixtieq li dan ikun sensiela ta 'xi tip. 405 00:23:54,720 --> 00:23:56,840 Inti ma verament jafu minn qabel kemm żmien huwa, 406 00:23:56,840 --> 00:24:00,100 hekk aħna ser arbitrarjament ngħidu isem dar jista 'jkun 255 karattri, 407 00:24:00,100 --> 00:24:04,190 imma int tista 'tmur ma' 32, 64 - kull numru verament. 408 00:24:04,190 --> 00:24:10,700 Iżda l-vantaġġ li jużaw varchar fuq qasam imsejjaħ char huwa dak? 409 00:24:10,700 --> 00:24:15,110 Just intuwittivament jekk I iscroll stabbiliti hawn, l-avviż li hemm char u hemm varchar. 410 00:24:15,110 --> 00:24:19,520 Varchar huwa tul varjabbli char; char huwa ta 'tul fiss char. 411 00:24:19,520 --> 00:24:24,730 Allura bbażati biss fuq din id-definizzjoni, x'inhu l-vantaġġ jew żvantaġġ ta 'kull wieħed minn dawn? 412 00:24:24,730 --> 00:24:30,490 Fi kliem ieħor, quién dwar id-distinzjoni, jew għaliex għandek kura? 413 00:24:31,660 --> 00:24:35,750 >> Yeah. [Student] varchar ikollu iktar flessibbiltà iżda jieħu memorja aktar. 414 00:24:35,750 --> 00:24:40,730 Tajba. Varchar jieħu aktar - Ejja naraw. M'inix ċert jekk I smajt dak id-dritt. 415 00:24:40,730 --> 00:24:42,360 Tista 'tgħid li darba aktar? 416 00:24:42,360 --> 00:24:45,850 [Student] għidt varchar probabbilment ikollu iktar flessibbiltà iżda tieħu up memorja aktar. 417 00:24:45,850 --> 00:24:51,170 Interessanti. Okay. Varchar probabbilment jagħtik aktar flessibilità, iżda jieħu memorja aktar. 418 00:24:51,170 --> 00:24:53,220 L-aħħar mhuwiex neċessarjament minnu. 419 00:24:53,220 --> 00:24:56,290 Hija tiddependi fuq il-kuntest, imma ejja terġa 'lura għal dan. 420 00:24:56,290 --> 00:25:03,230 >> [Inaudible student rispons] Eżattament. 421 00:25:03,230 --> 00:25:06,900 Huwa fil-fatt il-każ li char se tipikament jużaw memorja aktar 422 00:25:06,900 --> 00:25:10,950 għaliex char, bħal fis-C, huwa bħal string, huwa firxa ta 'karattri. 423 00:25:10,950 --> 00:25:13,690 Mela jekk inti tgħidli qasam char ta 'tul 255, 424 00:25:13,690 --> 00:25:16,910 id-database huwa litteralment ser jagħtuk 255 karattri. 425 00:25:16,910 --> 00:25:22,290 U jekk id-dar jispiċċa jkun karattri Mather u 6 totali, 426 00:25:22,290 --> 00:25:25,090 int ħela aktar minn 200 karattru. 427 00:25:25,090 --> 00:25:29,640 >> Allura varchar effettivament biss l-użi bħala karattri kemm ikun meħtieġ 428 00:25:29,640 --> 00:25:31,590 sa ammont massimu. 429 00:25:31,590 --> 00:25:35,470 Iżda l-prezz li inti tħallas huwa attwalment prestazzjoni, potenzjalment. 430 00:25:35,470 --> 00:25:39,740 Jekk inti taf minn qabel li kollha ta 'kordi tiegħek ser ikunu 8 karattri - 431 00:25:39,740 --> 00:25:43,090 per eżempju, ejja ngħidu li għandek bżonn passwords ta 'tul 8 - 432 00:25:43,090 --> 00:25:47,350 il-rasu ta 'użu ta' qasam char fuq okkażjoni, għalkemm mhux ta 'spiss, 433 00:25:47,350 --> 00:25:51,100 huwa li jispeċifika tul fiss għal xi ħaġa bħal password 434 00:25:51,100 --> 00:25:53,300 minħabba li issa d-database jista 'jkun saħansitra aktar intelliġenti. 435 00:25:53,300 --> 00:25:58,160 Jekk taf li kull qasam char, kull sekwenza fil-kolonna hija l-istess tul, 436 00:25:58,160 --> 00:26:00,780 ikollok lura l-karatteristika ta 'aċċess bl-addoċċ. 437 00:26:00,780 --> 00:26:05,110 Tista jaqbżu madwar fost l-oqsma char varji fit-tabella database tiegħek 438 00:26:05,110 --> 00:26:07,940 minħabba think ta 'database bħala ringieli u kolonni. 439 00:26:07,940 --> 00:26:11,670 Mela jekk kull wieħed mill-kordi huwa l-istess tul, 440 00:26:11,670 --> 00:26:17,820 inti taf li l-ewwel waħda hija fil byte 0, il-wieħed li jmiss huwa fil byte 8 441 00:26:17,820 --> 00:26:20,240 u mbagħad 16 u mbagħad 24 u ibqa 'sejjer hekk. 442 00:26:20,240 --> 00:26:24,500 Allura jekk il-kordi huma ta 'l-istess tul, inti tista' tiżdied madwar ħafna aktar effiċjenti. 443 00:26:24,500 --> 00:26:26,710 Allura li tista 'tkun ta' benefiċċju f'termini ta 'prestazzjoni, 444 00:26:26,710 --> 00:26:29,420 imma tipikament inti ma għandekx il-lussu li wieħed ikun jaf minn qabel, 445 00:26:29,420 --> 00:26:32,170 hekk varchar huwa l-mod biex imorru. 446 00:26:32,170 --> 00:26:36,030 Hawn ieħor dettall li anke Facebook dam fis eventwalment. 447 00:26:36,030 --> 00:26:39,670 Ints huma kbar, u aħna tip ta 'jużawhom fil-kontumaċja kwalunkwe ħin irridu numru, 448 00:26:39,670 --> 00:26:41,750 imma hija biss 32 bits. 449 00:26:41,750 --> 00:26:46,210 >> U anki jekk Facebook ma pjuttost jkollhom 4 biljun utenti issa, 450 00:26:46,210 --> 00:26:48,680 hemm definittivament xi nies hemmhekk ma 'kontijiet multipli 451 00:26:48,680 --> 00:26:50,960 jew kontijiet li jkunu nfetħu u mbagħad jingħalqu, 452 00:26:50,960 --> 00:26:55,130 u għalhekk Facebook nnifisha nemmen ftit snin ilu kellhom tranżizzjoni minn int 453 00:26:55,130 --> 00:27:00,010 li, kif huwa aptly imsejjaħ, bigint, li huwa biss 64 bits minflok. 454 00:27:00,010 --> 00:27:02,230 Allura dan ukoll hija deċiżjoni disinn. 455 00:27:02,230 --> 00:27:06,570 Inti tkun amazingly xortik tajba jekk il-proġett finali tiegħek dawriet istartjar, 456 00:27:06,570 --> 00:27:10,010 tkun 4 biljuni u 1-utenti, jagħtu jew jieħu, 457 00:27:10,010 --> 00:27:13,200 f'liema każ bl-użu ta ints jista 'jkun ftit shortsighted. 458 00:27:13,200 --> 00:27:16,230 Iżda fir-realtà, l-utenti mejda tiegħek huwa probabbilment multa ma ints. 459 00:27:16,230 --> 00:27:19,340 Iżda għal xi ħaġa bħal pset 7, bħal mejda istorja tiegħek, 460 00:27:19,340 --> 00:27:23,700 inti jista 'jkollhom eluf, miljuni ta' utenti jekk inti jevolvu fis etrade.com. 461 00:27:23,700 --> 00:27:26,020 Allura filwaqt li inti tista 'ma jkollhom aktar minn 4 biljun utenti, 462 00:27:26,020 --> 00:27:30,070 dawk l-utenti inti ma jkollhom jista 'jkollok aktar minn 4 biljun transazzjoni matul iż-żmien - 463 00:27:30,070 --> 00:27:33,200 tixtri u tbiegħ u affarijiet fl-istorja tagħhom. 464 00:27:33,200 --> 00:27:38,090 Mela jekk inti tagħmel jantiċipaw - għal darb'oħra, dawn huma problemi tajba li jkollhom jekk għandek din id-data ħafna - 465 00:27:38,090 --> 00:27:40,920 jekk inti tagħmel jantiċipaw data li jaqbżu d-daqs ta 'int, 466 00:27:40,920 --> 00:27:47,740 jmorru ma 'xi ħaġa bħal bigint huwa f'direzzjoni li ma' spiss biżżejjed adottati mill-disinjaturi 467 00:27:47,740 --> 00:27:49,710 għaliex in-nies figura li mhux se tkun problema, 468 00:27:49,710 --> 00:27:51,930 iżda huwa dan faċli li jagħżlu xi ħaġa akbar minn dak. 469 00:27:51,930 --> 00:27:55,380 Deċimali aħna qed jużaw fil pset 7, li tispeċifika preċiżjoni fiss 470 00:27:55,380 --> 00:27:59,840 sabiex inti tista 'tevita l-kwistjonijiet li jinvolvu flowts u jirdoppja u reals u simili. 471 00:27:59,840 --> 00:28:02,440 >> U allura hemm xi oqsma oħra hawn. Aħna ser mewġa idejn tagħna fuq minnhom sa ċertu punt. 472 00:28:02,440 --> 00:28:07,270 Iżda dati, ħinijiet kollha jkollu l-format preskritt fir MySQL, 473 00:28:07,270 --> 00:28:10,830 u l-vantaġġ ta 'dati ħażna ta' dati u mhux varchars 474 00:28:10,830 --> 00:28:15,730 ifisser li d-database tista 'attwalment reformat tagħhom fiċ-formati differenti, 475 00:28:15,730 --> 00:28:18,800 jekk format Istati Uniti jew format Ewropew jew affarijiet simili - madankollu inti tixtieq li - 476 00:28:18,800 --> 00:28:22,700 aktar effiċjenti milli kieku kien biss ftit varchar ġeneriku. 477 00:28:22,700 --> 00:28:25,150 U allura hemm xi binarju ieħor, varbinary, blobs. 478 00:28:25,150 --> 00:28:28,580 Dawn huma oġġetti kbar binarji, u tista 'wkoll jaħżnu data binarja 479 00:28:28,580 --> 00:28:30,750 kif ukoll data ġeometriċi fid-database. 480 00:28:30,750 --> 00:28:34,350 Iżda għalina aħna ser tipikament jimpurtahom ints u varchars u simili. 481 00:28:34,350 --> 00:28:36,230 Ejja jispiċċaw dan l-eżempju ma 'dar. 482 00:28:36,230 --> 00:28:40,030 Kamra jien se ngħid se jkun arbitrarjament 255 Chars. 483 00:28:40,030 --> 00:28:42,850 Imbagħad valur awtomatiċi stajna nagħmlu dan. 484 00:28:42,850 --> 00:28:47,440 Aħna jista 'awtomatikament tpoġġi lil kulħadd fil Mather House, per eżempju. 485 00:28:47,440 --> 00:28:49,710 Thats kif nistgħu tispeċifika li d-database 486 00:28:49,710 --> 00:28:52,460 għandhom jiżguraw li xi ħadd dejjem għandha valur. Imma jien ser jitlaq minn dak tkun. 487 00:28:52,460 --> 00:28:55,270 Fil-fatt, għall-persuni li jgħixu barra mill-kampus u mhux fil-dar, 488 00:28:55,270 --> 00:28:59,590 forsi I attwalment jridu jispeċifikaw li l-valur awtomatiku għall-dar huwa NULL, 489 00:28:59,590 --> 00:29:04,890 u mbagħad I bżonn li jiċċekkja din il-kaxxa u għid l-database huwa okay jekk dar l-utent huwa NULL. 490 00:29:04,890 --> 00:29:07,270 >> Għal darb'oħra, dan huwa pass ieħor mekkaniżmu ta 'difiża inti tista' tpoġġi fis-seħħ 491 00:29:07,270 --> 00:29:10,590 sabiex inti ma jkollhomx biex tqiegħed fil-kodiċi PHP tiegħek bilfors. 492 00:29:10,590 --> 00:29:14,630 Id-database se tiżgura li l-affarijiet huma jew mhumiex NULL. 493 00:29:14,630 --> 00:29:17,310 U mbagħad fl-aħħar, Attributi. 494 00:29:17,310 --> 00:29:18,920 Xejn minn dawn huma verament rilevanti. 495 00:29:18,920 --> 00:29:22,880 Binarju, mhux iffirmat - ebda waħda minn dawn huma rilevanti għal varchar. 496 00:29:22,880 --> 00:29:24,220 Indiċi. 497 00:29:24,220 --> 00:29:27,320 Hawn xi ħadd jaf jew tiftakar jew ikollhom raden dwar liema indiċi huwa 498 00:29:27,320 --> 00:29:29,510 għal xi ħaġa bħal dar? 499 00:29:29,510 --> 00:29:35,240 Dan ukoll huwa attwalment deċiżjoni disinn importanti u relattivament faċli. 500 00:29:35,240 --> 00:29:39,200 Għal dawk li għadhom ma bbenefikawx, nhar il-Ġimgħa tkellimna fil-qosor dwar iċ-ċwievet primarja. 501 00:29:39,200 --> 00:29:43,240 Fit-tabella database, kodiċi primarju huwa l-qasam jew kolonna 502 00:29:43,240 --> 00:29:46,270 li jidentifika b'mod uniku ringieli fit-tabella. 503 00:29:46,270 --> 00:29:49,150 Allura fit-tabella attwali li għandna IDs, għandna ismijiet u emails. 504 00:29:49,150 --> 00:29:52,050 Liema minn dawn huwa l-aħjar kandidat li jkun kodiċi primarju, 505 00:29:52,050 --> 00:29:55,810 rwol tiegħu huwa li jidentifika unikament ringieli? 506 00:29:55,810 --> 00:29:57,530 . ID Probabbilment 507 00:29:57,530 --> 00:29:59,930 Wieħed jista 'jargumenta, nistgħu wkoll jużaw dak għalkemm? 508 00:29:59,930 --> 00:30:02,860 Forsi inti tista 'tuża email għaliex fit-teorija dan huwa uniku 509 00:30:02,860 --> 00:30:05,380 sakemm in-nies huma qsim kontijiet email. 510 00:30:05,380 --> 00:30:09,980 Iżda r-realtà hija li jekk inti qed tuża ID numeriku bħall 1234, 511 00:30:09,980 --> 00:30:14,170 dan huwa biss 32 bits, filwaqt email address jista 'jkun dan bytes ħafna jew dan bytes ħafna. 512 00:30:14,170 --> 00:30:16,610 Allura f'termini ta 'effiċjenza għal identifikaturi uniċi, 513 00:30:16,610 --> 00:30:19,270 li għandha tendenza li tkun prattika tajba biss biex jużaw int 514 00:30:19,270 --> 00:30:23,090 anke jekk ikollok xi kandidat string li inti tista 'forsi tuża. 515 00:30:23,090 --> 00:30:26,760 >> Għal xi ħaġa bħal dar, dan m'għandux ikun kodiċi primarju 516 00:30:26,760 --> 00:30:30,770 għaliex imbagħad biss 1 persuna tista 'tgħix fil Mather u persuna 1 Currier u simili. 517 00:30:30,770 --> 00:30:32,790 Bl-istess mod, dan m'għandux ikun uniku. 518 00:30:32,790 --> 00:30:37,830 Id-differenza bejn primarja u uniku hija li fil-każ ta 'tabella attwali tagħna, 519 00:30:37,830 --> 00:30:42,620 ID ikun primarju imma email mhuwiex primarja għar-raġuni aħna biss imsemmija - 520 00:30:42,620 --> 00:30:44,740 prestazzjoni - iżda xorta għandha tkun unika. 521 00:30:44,740 --> 00:30:47,200 Allura inti xorta tista tinforza uniċità mingħajr ma jagħmel it-talba 522 00:30:47,200 --> 00:30:49,520 li huwa qasam super primarju importanti. 523 00:30:49,520 --> 00:30:52,610 Iżda dan huwa wieħed pjuttost utli: Indiċi. 524 00:30:52,610 --> 00:30:56,180 Jekk inti taf minn qabel għall-proġett finali tiegħek, per pset 7, jew b'mod ġenerali, 525 00:30:56,180 --> 00:30:59,480 li din id-dar il-qasam se jkun xi ħaġa li għandek tfittex fuq lott 526 00:30:59,480 --> 00:31:01,910 tuża l-keyword tagħżel jew xi ħaġa oħra, 527 00:31:01,910 --> 00:31:05,180 allura inti tista 'tgħid preemptively-database biex jaħdmu magic tagħha 528 00:31:05,180 --> 00:31:10,510 u kun żgur li hija toħloq fil-memorja xi strutturi tad-data fancy meħtieġ 529 00:31:10,510 --> 00:31:13,770 biex iħaffu tfittxijiet bbażati fuq dar. 530 00:31:13,770 --> 00:31:17,860 Forsi se jużaw tabella hash, forsi se juża lista marbuta. 531 00:31:17,860 --> 00:31:21,260 Fir-realtà, għandha t-tendenza li jużaw siġra, spiss struttura tissejjaħ B-siġra - 532 00:31:21,260 --> 00:31:24,090 mhux siġra binarju iżda B-siġra - li hija siġra wiesgħa ħafna 533 00:31:24,090 --> 00:31:27,370 li inti tista 'tara fi klassi bħall CS124, il-klassi l-istrutturi tad-data. 534 00:31:27,370 --> 00:31:31,800 Iżda fil-qosor, inti ma għandekx għalfejn tinkwieta dwar dan meta jużaw softwer tad-database intelliġenti. 535 00:31:31,800 --> 00:31:35,890 Inti tista 'sempliċement tgħid li, "Indiċi f'dan il-qasam so I tista' tfittex fuqha b'mod aktar effiċjenti." 536 00:31:35,890 --> 00:31:40,250 >> Jekk inti tħalli dan off u inti tipprova tfittxija għal kulħadd fid-database li jgħix fil Mather, 537 00:31:40,250 --> 00:31:42,710 se jaqgħu fis-tfittxija lineari. 538 00:31:42,710 --> 00:31:45,360 U jekk inti stajt ltqajna 6000 undergrads kollha li jgħixu f'xi dar, 539 00:31:45,360 --> 00:31:47,900 int ser tfittex il-mejda kollu biex isibu l-Matherites, 540 00:31:47,900 --> 00:31:52,190 billi jekk inti tgħidli Indiċi, wieħed jittama li se jkun xi ħaġa qrib għal tfittxija logaritmika 541 00:31:52,190 --> 00:31:54,510 biex isibu dawk it-tipi ta 'l-istudenti. 542 00:31:54,510 --> 00:31:56,750 Dan huwa biss fattur ħielsa li jduru fuq, 543 00:31:56,750 --> 00:31:59,530 anki jekk ma jaqgħu fil-prezz ta 'xi ammont ta' spazju. 544 00:31:59,530 --> 00:32:02,690 Fl-aħħar nett, auto-inkrement, f'dan il-qasam AI, 545 00:32:02,690 --> 00:32:05,830 li sempliċiment ifisser jekk huwa ta 'int u inti ma tridx li kura li inkrement it yourself 546 00:32:05,830 --> 00:32:07,570 kull darba li hemm utent ġdid, iċċekkja li, 547 00:32:07,570 --> 00:32:11,910 u kull utent li gets miżjud awtomatikament se tikseb ID ġdida. 548 00:32:11,910 --> 00:32:15,620 Ejja ikklikkja Save, u issa ejja ssib tort ma 'dan id-disinn. 549 00:32:15,620 --> 00:32:20,200 Jekk mmur fis Fittex, avviż li kemm Mike u d-dar tiegħi huwa NULL. 550 00:32:20,200 --> 00:32:22,420 I jistgħu jużaw phpMyAdmin biex jeditjaw dan manwalment. 551 00:32:22,420 --> 00:32:25,110 I tista 'tmur fil hawn u t-tip fil Mather u mbagħad hit Ikteb, 552 00:32:25,110 --> 00:32:27,740 u issa avviż-tabella hija differenti. 553 00:32:27,740 --> 00:32:29,270 Imma Avviż I jistgħu jagħmlu xi ħaġa oħra ukoll. 554 00:32:29,270 --> 00:32:33,530 ID David huwa 1, sabiex phpMyAdmin darb'oħra huwa biss għodda amministrattiva; 555 00:32:33,530 --> 00:32:35,970 din mhix xi ħaġa utenti tiegħek huma qatt ser tara. 556 00:32:35,970 --> 00:32:38,810 Mela jekk jien minflok ikklikkja l-tab SQL up top - 557 00:32:38,810 --> 00:32:41,450 u għal darb'oħra, pset 7 se jintroduċu inti aktar ta 'dawn il-mistoqsijiet - 558 00:32:41,450 --> 00:32:45,260 I jistgħu manwalment tesegwixxi l-kmand SQL strutturat lingwa query 559 00:32:45,260 --> 00:32:56,410 Utenti AĠĠORNAMENT SET house = "Pfoho" FEJN id = 1. 560 00:32:56,410 --> 00:33:00,830 Dawn huma mistoqsijiet SQL, nicely biżżejjed, pretty tinqara mix-xellug għal-lemin. 561 00:33:00,830 --> 00:33:04,350 Aġġorna l-tabella utenti, jistabbilixxu l-qasam msejħa dar biex Pfoho 562 00:33:04,350 --> 00:33:06,830 fejn ID tal-utent huwa 1. 563 00:33:06,830 --> 00:33:11,480 Jew I jistgħu anki jagħmlu meta email = "malan@harvard.edu". 564 00:33:11,480 --> 00:33:14,860 Sakemm li jidentifika b'mod uniku lili, li tkun taħdem ukoll. 565 00:33:14,860 --> 00:33:18,810 Iżda ID tendenza li jkun prestazzjoni ogħla, so ejja tagħmel dan. 566 00:33:18,810 --> 00:33:22,950 Ejja ikklikkja Mur. Okay, lecture.users ma teżistix. X'hemm żball tiegħi? 567 00:33:22,950 --> 00:33:26,220 X'hemm-tabella attwalment imsejħa hawn? 568 00:33:26,220 --> 00:33:28,770 Huwa sejjaħ lill-istudenti biss għaliex dan huwa dak li għamilna sa hawn fuq quċċata xellug. 569 00:33:28,770 --> 00:33:31,860 Huwa sejjaħ istudenti, u mhux l-utenti. Allura ikklikkja Mur issa. 570 00:33:31,860 --> 00:33:34,330 1 ringiela affettwati. Mistoqsija ħa 0.01 sekondi. 571 00:33:34,330 --> 00:33:38,010 Jekk I ikklikkja Browse issa, issa jgħix Malan fil Pfoho. 572 00:33:38,010 --> 00:33:42,070 Allura li l-ieħor togħma ta 'SQL, iżda l-pset se jimxu miegħek permezz daqsxejn aktar ta' dak. 573 00:33:42,070 --> 00:33:44,710 >> Hemm deċiżjoni stupid stajt diġà saru hawn. 574 00:33:44,710 --> 00:33:47,820 Jidhirli li dan id-disinn database huwa ineffiċjenti 575 00:33:47,820 --> 00:33:51,650 minħabba li l-aktar nies I żid għall-tabella istudenti, 576 00:33:51,650 --> 00:33:54,730 l-aktar minna I tibda żżid, l-aktar mill-TFS I tibda żżid, 577 00:33:54,730 --> 00:33:58,320 aħna qed tmur biex tibda biex tara dak sensji f'din it-tabella? 578 00:34:00,840 --> 00:34:06,020 >> Yeah. [Student] Jaraw li huwa fl-istudenti, aħna qed jużaw l-istess [inaudible] 579 00:34:06,020 --> 00:34:07,360 L-istess - Dritt, eżattament. 580 00:34:07,360 --> 00:34:10,400 Mela jekk 400 persuna jgħixu Mather, jagħtu jew jieħu, 581 00:34:10,400 --> 00:34:15,000 eventwalment din it-tabella huwa se jkollu 400 ringieli li jgħidu "Mather," "Mather," 582 00:34:15,000 --> 00:34:16,590 "Mather," "Mather," "Mather." 583 00:34:16,590 --> 00:34:19,820 Aħna ħela kollha ta 'dawn bytes, u hemm koppja ta' takeaways hemmhekk. 584 00:34:19,820 --> 00:34:23,080 1, hemm il-każ kantuniera crazy fejn jekk xi ħadd iħallas ħafna flus 585 00:34:23,080 --> 00:34:25,949 u isem ġdid Mather, issa għandna għall-bidla mejda tagħna database kollu. 586 00:34:25,949 --> 00:34:29,730 Li ma jiġri spiss, għalkemm Pfoho darba kienet imsejħa North House 15-il sena ilu, 587 00:34:29,730 --> 00:34:32,310 hekk dan jiġri. Imma dak li mhux kollha li konvinċenti. 588 00:34:32,310 --> 00:34:36,000 Aktar konvinċenti minn każ kantuniera bħal dik ta 'bżonn li jaġġornaw l-informazzjoni fil-massa 589 00:34:36,000 --> 00:34:41,150 għal database hija għaliex inti jaħżnu MATHER ġdid u għal darb'oħra u għal darb'oħra u għal darb'oħra? 590 00:34:41,150 --> 00:34:43,020 Li l-lott ta 'Chars, 6 Chars. 591 00:34:43,020 --> 00:34:45,500 Ma tistax nagħmlu anke aħjar minn dik, speċjalment għall Pforzheimer? 592 00:34:45,500 --> 00:34:48,320 Żgur li nistgħu nagħmlu aħjar minn dik karattri ħafna. 593 00:34:48,320 --> 00:34:51,790 Għaliex mhux biss jassoċjaw identifikatur uniku ma 'kull dar 594 00:34:51,790 --> 00:34:55,020 u jaħżnu li għal kull utent? Mela ejja jippruvaw dan. 595 00:34:55,020 --> 00:35:00,610 Pjuttost milli sempliċiment uża t-tabella istudenti, let me go sa database taħdita tiegħi sa hawn fuq quċċata xellug. 596 00:35:00,610 --> 00:35:02,600 Avviż hawnhekk jgħid Oħloq tabella. 597 00:35:02,600 --> 00:35:04,550 Let me tinħoloq tabella ġdida msejħa djar. 598 00:35:04,550 --> 00:35:08,880 In-numru ta 'kolonni se tkun 2. Ikteb. 599 00:35:08,880 --> 00:35:11,200 Issa għandi 2 oqsma. 600 00:35:11,200 --> 00:35:14,600 Jien ser sejħa dan l-isem, u li għaddej biex tkun varchar ta 'tul 255, 601 00:35:14,600 --> 00:35:18,770 >> imma li pjuttost arbitrarja. Let me tpoġġi dan l isfel hawn minn konvenzjoni. 602 00:35:18,770 --> 00:35:22,840 Allura tpoġġi ID up here. Ejjew nagħtu kull dar identifikatur uniku. 603 00:35:22,840 --> 00:35:25,360 Ejjew nagħtu kull dar isem. 604 00:35:25,360 --> 00:35:30,980 Ejja jispeċifikaw li l-identifikatur se jkun mhux iffirmat biss bi ftehim taċitu li jużaw biss numri pożittivi. 605 00:35:30,980 --> 00:35:35,020 Ejja jimxi 'l quddiem u jagħtu dan l-auto-inkrement qasam għal issa. 606 00:35:35,020 --> 00:35:38,160 U għandna bżonn xi ħaġa oħra? 607 00:35:38,160 --> 00:35:41,010 Ejja jimxi 'l quddiem u kklikkja Save. 608 00:35:41,010 --> 00:35:42,480 Issa I jkollhom tabella 2. 609 00:35:42,480 --> 00:35:45,860 Avviż bħala twarrib li dan huwa l-kmand SQL ftit cryptic 610 00:35:45,860 --> 00:35:50,280 li inti kien ikollha tip manwalment jekk mhux permezz ta 'għodda amministrattiva bħal phpMyAdmin. 611 00:35:50,280 --> 00:35:51,990 Allura raġuni oħra nużawha. 612 00:35:51,990 --> 00:35:55,480 Huwa tip wonderfully utli ta pedagoġikament għaliex inti tista 'ikklikkja madwar 613 00:35:55,480 --> 00:36:01,050 u figura kif jaħdmu l-affarijiet bi ftit ikkupjar u pasta għamlet phpMyAdmin dak. 614 00:36:01,050 --> 00:36:04,150 Iżda l-kmand tabella Oħloq huwa dak kien biss eżegwit, u hawn huwa mejda tiegħi. 615 00:36:04,150 --> 00:36:11,370 Let me imorru quddiem issa u l-użu SQL prima minflok oversimplify billi tikklikkja l-tab Daħħal. 616 00:36:11,370 --> 00:36:15,040 Let me do DAĦĦAL FIS djar, 617 00:36:15,040 --> 00:36:22,230 u jien ser ngħid l-isem tad-dar se jkollhom valur ta '"Mather". 618 00:36:22,230 --> 00:36:24,790 Li minnu. Dan sintassi hija ftit aktar cryptic. 619 00:36:24,790 --> 00:36:26,660 Dan huwa l-isem ta 'l-oqsma li rridu daħħal. 620 00:36:26,660 --> 00:36:30,390 Dawn huma l-valuri irridu li ddaħħal fil dawk l-oqsma. Let me ikklikkja Mur. 621 00:36:30,390 --> 00:36:34,410 1 ringiela tiddaħħal ħa 0.02 sekondi. Let me ikklikkja Browse issa. 622 00:36:34,410 --> 00:36:42,020 >> Avviż jekk I ikklikkja Browse, hemm Mather, li ID huwa billi awtomazzjoni-numru 1. 623 00:36:42,020 --> 00:36:45,000 Let me do ieħor. Let me jmorru fil-tab SQL. 624 00:36:45,000 --> 00:36:52,950 DAĦĦAL FIS djar. L-isem tad-dar huwa se jkollu valur ta 'Pfoho u oħrajn. 625 00:36:52,950 --> 00:36:56,350 Mur. U nista 'tkompli tagħmel dan mill-ġdid u għal darb'oħra u għal darb'oħra. 626 00:36:56,350 --> 00:36:59,470 Jew jekk ikollok bored tuża phpMyAdmin, inti tista 'biss tuża l-tab Daħħal 627 00:36:59,470 --> 00:37:01,000 u li ma jkollhom tip-SQL prima. 628 00:37:01,000 --> 00:37:04,690 Tista 'biss bang out aktar malajr billi jittajpja, per eżempju, Currier, Daħħal, 629 00:37:04,690 --> 00:37:07,610 u issa jekk aħna ikklikkja Browse, hemm Currier ma 'ID ta' 3. 630 00:37:07,610 --> 00:37:09,920 Allura dan huwa dak li jfisser mill-awto-inkrement. 631 00:37:09,920 --> 00:37:12,280 Imma issa għandna biex jiffissaw xi ħaġa istudenti. 632 00:37:12,280 --> 00:37:16,240 Fil istudenti x'għandu it-tip tad-data tal-qasam dar issa jkun? 633 00:37:16,240 --> 00:37:19,450 Għandu jkun int, right? 634 00:37:19,450 --> 00:37:23,950 Allura l-għan hawnhekk huwa li fattur out, inkella magħruf bħala jinnormalizzaw, it-tabelli 635 00:37:23,950 --> 00:37:27,940 hekk li aħna ma taħżen l-informazzjoni bla bżonn fi kwalunkwe tabelli tiegħi. 636 00:37:27,940 --> 00:37:31,130 U għal darb'oħra, il-passaġġ konna hawn fuq se ngħid Mather, Mather, 637 00:37:31,130 --> 00:37:34,220 Mather, Mather, Pfoho, Pfoho, Pfoho, Pfoho, li huwa ħafna żejda 638 00:37:34,220 --> 00:37:36,240 f'termini tal-ħela ta 'l-Chars. 639 00:37:36,240 --> 00:37:40,820 So let me go quddiem u tbiddel dan billi tikklikkja Struttura, 640 00:37:40,820 --> 00:37:44,620 u let me imorru quddiem u jiċċekkjaw barra l-qasam dar, ikklikkja Bidla, 641 00:37:44,620 --> 00:37:46,990 u issa jien se jibdlu din hi int. 642 00:37:46,990 --> 00:37:49,490 255 m'għadux rilevanti. 643 00:37:49,490 --> 00:37:54,010 Let me imorru quddiem u jgħidu li l-multa jekk huwa għadu NULL. Save. 644 00:37:54,010 --> 00:37:55,870 Issa istudenti tabella nbidlet b'suċċess, 645 00:37:55,870 --> 00:37:59,090 u avviż għal darb'oħra dar huwa int. 646 00:37:59,090 --> 00:38:02,220 Bħala twarrib, jinjora n-numru fil-parentesi meta niġu għall-ints. 647 00:38:02,220 --> 00:38:03,770 >> Dan huwa għal raġunijiet wirt. 648 00:38:03,770 --> 00:38:06,920 Lura fil-ġurnata meta inti ma kellhiex GUIs, inti minflok kellhom linja ambjentali kmand, 649 00:38:06,920 --> 00:38:11,580 l-10 u 11 rispettivament speċifikati kemm karattri inti għandek turi 650 00:38:11,580 --> 00:38:13,950 fit-tieqa terminal li attwalment juru oqsma. 651 00:38:13,950 --> 00:38:19,150 Hija għandha x'taqsam xejn mat-tul ftit ta 'l-medda attwali, hekk aħna ser biss jinjora li għal issa. 652 00:38:19,150 --> 00:38:20,990 Issa għandi biex tmur fil din it-tabella. 653 00:38:20,990 --> 00:38:24,610 U jekk David jgħix Mather, dar m'għandhomx ikunu 0, 654 00:38:24,610 --> 00:38:27,350 li hija valur int default eqreb null. 655 00:38:27,350 --> 00:38:29,810 Hu għandu jgħixu fid-dar 1. 656 00:38:29,810 --> 00:38:36,870 Ejja ngħidu li b'mod arbitrarju Mike jgħix fil Pfoho, sabiex in-numru house 2. 657 00:38:36,870 --> 00:38:40,160 Issa mejda tiegħi jistenna ftit aktar cryptic. 658 00:38:40,160 --> 00:38:41,960 Iżda jikkunsidraw l-effiċjenza. 659 00:38:41,960 --> 00:38:44,860 Jien issa jużaw biss 32 bits biex tidentifika l-dar, 660 00:38:44,860 --> 00:38:49,530 li jfisser li hemm biss 1 definizzjoni canonical ta 'dar Mather tiegħi u Pfoho 661 00:38:49,530 --> 00:38:52,090 u li fit-tabella djar. 662 00:38:52,090 --> 00:38:55,880 Mela jekk jien tixtieq li jaderixxi mill-ġdid issa dawn it-tabelli, think ta 'dan il-mod. 663 00:38:55,880 --> 00:39:01,980 Hawn irrid niċċara istudenti mejda tiegħi, u fuq in-naħa tal-lemin hemm dawn in-numri, 1 u 2. 664 00:39:01,980 --> 00:39:04,180 1 huwa Mather, 2 huwa Pfoho. 665 00:39:04,180 --> 00:39:08,580 Għandna dawk istess numri f'din it-tabella l-oħra, li huwa sejjaħ djar, 666 00:39:08,580 --> 00:39:11,020 1 u 2 u 3 għal dawk il-djar 3. 667 00:39:11,020 --> 00:39:14,990 Dak li aħna issa trid tagħmel hu li jkollhom l-abbiltà fil-kodiċi, PHP u SQL, 668 00:39:14,990 --> 00:39:18,800 sort ta jaderixxi mill-ġdid dawn it-tabelli, fejn jekk dawn huma l-istudenti u dawn huma l-djar, 669 00:39:18,800 --> 00:39:22,050 irridu li b'xi mod tgħaqqadhom b'tali mod li 1-linji bi 1, 670 00:39:22,050 --> 00:39:25,670 2 linji up ma '2, u sabiex inkunu nistgħu insemmu fejn David 671 00:39:25,670 --> 00:39:28,000 u fejn Mike u fejn kulħadd jgħix. 672 00:39:28,000 --> 00:39:31,850 Biex tagħmel dan nistgħu tesegwixxi mistoqsija SQL bħal dawn li ġejjin. 673 00:39:31,850 --> 00:39:40,470 TAGĦŻEL * MINN istudenti Jissieħbu DWAR djar - 674 00:39:40,470 --> 00:39:43,000 U issa dak l-oqsma irridu li jissieħbu fuq? 675 00:39:43,000 --> 00:39:49,520 Allura students.house = houses.id. 676 00:39:49,520 --> 00:39:54,150 >> A cryptic ftit, imma din il-parti ifisser litteralment joħolqu tabella temporanja ġdida 677 00:39:54,150 --> 00:39:56,690 dak l-riżultat li jingħaqdu l-istudenti u djar. 678 00:39:56,690 --> 00:40:00,340 U kif taħseb li tixtieq li jgħaqqdu l-truf tas-swaba tiegħi hawn? 679 00:40:00,340 --> 00:40:05,280 Issettja l-istudenti house qasam ugwali għall-djar "qasam ID. 680 00:40:05,280 --> 00:40:10,220 U jekk I issa ikklikkja Mur, niġi lura eżattament dak I ttamat li. 681 00:40:10,220 --> 00:40:15,890 David huwa Mather, Mike huwa Pfoho, u I wkoll tara l-identifikaturi uniċi. 682 00:40:15,890 --> 00:40:18,640 Iżda l-punt huwa issa I jkollhom tabella sħiħa. 683 00:40:18,640 --> 00:40:23,020 U għalhekk l-takeaway hawn għal pset 7 jew verament għall-proġett finali: 684 00:40:23,020 --> 00:40:25,830 Jekk issib li int ħażna kwalunkwe biċċa informazzjoni bla bżonn, 685 00:40:25,830 --> 00:40:28,850 jekk huwa dar, forsi huwa l-belt, statali, u ZIP 686 00:40:28,850 --> 00:40:32,050 fejn ZIP normalment jistgħu iżda mhux dejjem jintużaw bħala identifikatur uniku, 687 00:40:32,050 --> 00:40:35,810 do jgħaddu l-eżerċizzju mentalment u mbagħad ma 'xi ħaġa bħal phpMyAdmin 688 00:40:35,810 --> 00:40:40,660 ta 'fatturar barra dik id-data komuni għax speċjalment fir-website tiegħek gets aktar tajjeb użat 689 00:40:40,660 --> 00:40:45,440 u aktar popolari, dan huwa kif inti tagħmel ċert li kollox huwa super fast, 690 00:40:45,440 --> 00:40:51,930 billi d-database kif ideat kemm lill uniċità kemm jista 'jkun. 691 00:40:51,930 --> 00:40:53,860 Dan kien ħafna. 692 00:40:53,860 --> 00:40:59,010 Kwalunkwe mistoqsijiet? Kull dritt. Ejja jieħu pawża 5-minuta hemm u rraggruppati mill-ġdid. 693 00:41:01,600 --> 00:41:03,540 Kull dritt. 694 00:41:03,540 --> 00:41:08,680 Dan li ġej huwa eżempju li ġie użat xi snin ilu meta I ħa CS161, 695 00:41:08,680 --> 00:41:10,960 li hija l-klassi sistemi li joperaw fil-kulleġġ 696 00:41:10,960 --> 00:41:15,160 li huwa magħruf għall qed aqwa imma ammont crazy ta 'xogħol, 697 00:41:15,160 --> 00:41:19,810 u jiffoka verament fuq xi wħud mill-problemi ta 'livell baxx li jinqalgħu fis-sistemi operattivi 698 00:41:19,810 --> 00:41:22,700 u wkoll anki fid-dinja ta 'databases. 699 00:41:22,700 --> 00:41:27,040 >> L-istorja li kien qal minn professur tiegħi, Margo Seltzer, dik is-sena kienet kif ġej. 700 00:41:27,040 --> 00:41:30,990 Ejja ngħidu li għandek fridge dorm ftit għalik u roommate tiegħek 701 00:41:30,990 --> 00:41:34,030 u tnejn inti verament simili ħalib. 702 00:41:34,030 --> 00:41:36,360 Allura inti ġejjin dar minn klassi waħda kuljum, roommate tiegħek għadu mhux hemmhekk, 703 00:41:36,360 --> 00:41:39,650 inti tiftaħ il-fridge, u inti tirrealizza, "Oh kkritikat, aħna qed barra ta 'ħalib." 704 00:41:39,650 --> 00:41:42,070 Allura inti qrib il-fridge, inti timxi madwar il-triq biex CVS 705 00:41:42,070 --> 00:41:45,830 u jiksbu fil-linji dejjem aktar twal biex jixtru xi ħalib fil CVS. 706 00:41:45,830 --> 00:41:48,470 Sadanittant, roommate tiegħek jiġi dar minn tiegħu jew klassi tagħha, 707 00:41:48,470 --> 00:41:51,690 jidħol fil-kamra, jiftaħ il-fridge verament jixtiequ xi ħalib, 708 00:41:51,690 --> 00:41:54,130 tiftaħ il-fridge u, "indanna, l-ebda ħalib." 709 00:41:54,130 --> 00:41:57,890 Hekk hu jew hi jagħlaq il-fridge, mixjiet l-bieb, u tmur għall-ABP 710 00:41:57,890 --> 00:42:00,910 jew x'imkien ieħor għajr CVS fejn int mhux ser bump fis xulxin 711 00:42:00,910 --> 00:42:02,790 li jmorru nikseb xi ħalib. 712 00:42:02,790 --> 00:42:04,820 Of course ftit minuti wara, tnejn inti tikseb lura d-dar 713 00:42:04,820 --> 00:42:07,740 u issa għandek ħalib doppju ta 'kemm inti fil-fatt riedu. 714 00:42:07,740 --> 00:42:10,670 U li ħalib, issa li għaddej biex tmur ħażin għaliex inti tixtieq ħalib 715 00:42:10,670 --> 00:42:14,200 imma inti ma verament bħall-ħalib, hekk issa inti għandek ħalib wisq, hekk li għaddej biex qarsa. 716 00:42:14,200 --> 00:42:16,830 Din hija orribbli, sitwazzjoni orribbli. 717 00:42:16,830 --> 00:42:22,920 Liema jista solvejna din predicament jekk inti kienu l-dar roommate ewwel? Iva. 718 00:42:22,920 --> 00:42:25,970 [Student] Għandek ħallew nota. [Daħk] 719 00:42:25,970 --> 00:42:28,090 Tajba. Għandek ħallew nota. 720 00:42:28,090 --> 00:42:32,320 Għandek poġġew nota Post-it jew bħalhom qal, "Għaddew għall-ħalib," 721 00:42:32,320 --> 00:42:36,830 u mbagħad roommate tiegħek kunċettwalment kienu imsakkar minn fatt jagħmlu dan. 722 00:42:36,830 --> 00:42:38,010 Jew inti tista 'tmur 1 pass ulterjuri. 723 00:42:38,010 --> 00:42:41,060 Inti tista 'litteralment lock-friġġ ma' xi tip ta 'katnazz, 724 00:42:41,060 --> 00:42:44,870 u issa roommate tiegħek se litteralment jkun maqful barra mill-friġġ. 725 00:42:44,870 --> 00:42:48,520 Jekk aħna tiġġeneralizza lura għall-ipprogrammar, 726 00:42:48,520 --> 00:42:51,610 inti tista 'kważi think ta' l-fridge bħala xi tip ta varjabbli jew Struct, 727 00:42:51,610 --> 00:42:53,500 xi tip ta 'kontenitur għall-informazzjoni. 728 00:42:53,500 --> 00:42:58,290 Il-problema hawn hija li fundamentalment tnejn inti kienu permessi biex jispezzjonaw 729 00:42:58,290 --> 00:43:02,370 jew aqra l-istat ta 'din l-istruttura tad-data, 730 00:43:02,370 --> 00:43:08,050 imma int meqjusa li fi żminijiet differenti u għadhom tnejn inti għamlu deċiżjoni 731 00:43:08,050 --> 00:43:11,920 ibbażata fuq l-istat tad-dinja lejn dawk il-mumenti differenti fil-ħin. 732 00:43:11,920 --> 00:43:15,570 Allura kellha inti msakkra-friġġ, inti jkollok inqas evitati roommate tiegħek 733 00:43:15,570 --> 00:43:19,070 minn wara li ġew kapaċi li jispezzjonaw l-istat tad-dinja, 734 00:43:19,070 --> 00:43:22,530 hekk hu jew hi ma setgħux għamlu istess deċiżjoni. 735 00:43:22,530 --> 00:43:25,780 Allura databases, kif jirriżulta, din il-problema dejjem. 736 00:43:25,780 --> 00:43:31,050 >> Ejja naraw jekk nistgħu tibni xenarju. 737 00:43:31,050 --> 00:43:34,310 Ejja ngħidu li int it-tip ta 'Guy ħażina u inti tmur Bank of America 738 00:43:34,310 --> 00:43:37,950 jew wieħed mill-postijiet l-oħra fil-pjazza li għandhom ġenb koppja ATMs ma 'ġenb, 739 00:43:37,950 --> 00:43:41,200 u b'xi mod inti dehret kif duplikat karta ATM - mhux kollha li diffiċli. 740 00:43:41,200 --> 00:43:42,730 Huwa biss strixxa manjetika. 741 00:43:42,730 --> 00:43:45,180 U għalhekk dak li inti trid tipprova tagħmel hu jilagħbu din il-logħba 742 00:43:45,180 --> 00:43:49,060 fejn inti tpoġġi 1 karta fis-1-magna, karta oħra fil-magna l-oħra, 743 00:43:49,060 --> 00:43:51,980 u inti essenzjalment tixtieq tipprova tiġbed il-flus fl-istess ħin, 744 00:43:51,980 --> 00:43:54,930 minħabba jimmaġina li l-istorja tmur kif ġej. 745 00:43:54,930 --> 00:43:57,350 Il-magna fuq ix-xellug tieħu karta tiegħek u l-PIN tiegħek, 746 00:43:57,350 --> 00:44:00,240 u allura inti tgħidli, "Give me $ 100." 747 00:44:00,240 --> 00:44:04,790 Il-ATM huwa pprogrammat li l-ewwel jagħmlu tagħżel fid-database tagħha jew l-ekwivalenti - 748 00:44:04,790 --> 00:44:10,780 kwalunkwe database huwa bl-użu - biex tara ma dan l-utent ikollhom mill-inqas $ 100 fl kont tiegħu jew tagħha? 749 00:44:10,780 --> 00:44:16,180 Jekk iva, allura bżiq l-$ 100 u naqqas $ 100 mill-bilanċ tagħhom. 750 00:44:16,180 --> 00:44:20,470 Iżda naturalment jekk ikun hemm magni multipli hawn jew modi multipli ta 'spezzjoni 751 00:44:20,470 --> 00:44:23,560 l-istat ta 'dik dinjija, l-kaxxa-forti bank, biex tara kemm għandek flus, 752 00:44:23,560 --> 00:44:26,780 jissoponi li biss b'kumbinazzjoni-magna fuq ix-xellug u d-dritt 753 00:44:26,780 --> 00:44:30,140 kemm jistaqsu din il-kwistjoni fil-mument madwar istess ħin. 754 00:44:30,140 --> 00:44:34,160 >> U dan jista 'ċertament iseħħ. ATMs huma kompjuters dawn il-jiem. 755 00:44:34,160 --> 00:44:37,670 Allura jekk il-magna fuq ix-xellug jgħid, "Iva, inti għandek inqas $ 100," 756 00:44:37,670 --> 00:44:42,150 sadanittant il-magna fuq il-lemin jgħid, "Iva, inti għandek inqas $ 100," 757 00:44:42,150 --> 00:44:47,420 imbagħad tnejn minnhom jipproċedi biex jintemm l-programmi tagħhom u fil-fatt bżiq il-$ 100 758 00:44:47,420 --> 00:44:50,820 u jgħidu, "Preċedentement kellek $ 200." 759 00:44:50,820 --> 00:44:54,890 "Let me taġġorna l-varjabbli li issa jkun $ 100 jitħalla fil-kont." 760 00:44:54,890 --> 00:44:58,780 Iżda jekk tnejn minnhom jkunu kkontrollaw il-bilanċ tal-kont tiegħek u sab li huwa $ 200 761 00:44:58,780 --> 00:45:02,000 u tnejn minnhom imbagħad jagħmlu l-matematika u jgħidu 200-100, 762 00:45:02,000 --> 00:45:06,990 il-magni jkunu potenzjalment bżiq out żewġ kontijiet $ 100 fl kull magna, 763 00:45:06,990 --> 00:45:11,360 iżda li ħadthom biss aġġornata bilanċ tiegħek kont somma li jkun $ 100. 764 00:45:11,360 --> 00:45:15,130 Fi kliem ieħor, inti ħadt out $ 200, imma għax huma spezzjonati l-istat tad-dinja 765 00:45:15,130 --> 00:45:18,840 simultanjament u mbagħad għamel deċiżjoni bbażata fuq dak il-valur, 766 00:45:18,840 --> 00:45:21,930 huma jistgħu ma jagħmlu l-matematika fl-aħħar b'mod korrett. 767 00:45:21,930 --> 00:45:25,520 Allura f'sitwazzjoni bank wisq int verament tixtieq li jkollok xi tip ta 'lockout 768 00:45:25,520 --> 00:45:28,450 b'tali mod li hekk kif inti stajt ċċekkjati l-istat ta 'xi varjabbli 769 00:45:28,450 --> 00:45:31,220 li tassew importanti, bħall-bilanċ tal-kont tiegħek, 770 00:45:31,220 --> 00:45:36,070 ma let xi ħadd ieħor jagħmlu deċiżjonijiet ibbażati fuq li sakemm inti qed isir tagħmel ħaġa tiegħek, 771 00:45:36,070 --> 00:45:38,920 fejn f'dan il-każ inti l-ATM fuq ix-xellug. 772 00:45:38,920 --> 00:45:41,160 Lock kulħadd out. 773 00:45:41,160 --> 00:45:44,650 Inti tista 'attwalment tikseb dan l-effett fi ftit ta' modi differenti. 774 00:45:44,650 --> 00:45:48,660 >> L-eħfef mod fil MySQL hija linja ta 'SQL li aħna ħadt 775 00:45:48,660 --> 00:45:52,030 fl-ispeċifikazzjoni sett problema li jidher eżattament bħal dan. 776 00:45:52,030 --> 00:45:57,420 Daħħal fit-tabella - kwalunkwe huwa msejjaħ - l-id, simbolu, u sehem, numru ta 'ishma, 777 00:45:57,420 --> 00:45:59,660 il-valuri li ġejjin, per eżempju. 778 00:45:59,660 --> 00:46:03,370 Jekk int ma taqra l-spec għadhom, dan huwa eżempju li tinvolvi kif do you go dwar 779 00:46:03,370 --> 00:46:07,340 jixtru 10 ishma ta 'dan l-istokk Penny għall-President Skroob, 780 00:46:07,340 --> 00:46:10,340 user li jiġri li jkun in-numru 7? 781 00:46:10,340 --> 00:46:14,070 Dan jgħid DAĦĦAL FIS-mejda tal-id li ġejja, simbolu, u n-numru ta 'ishma 782 00:46:14,070 --> 00:46:18,200 tas-7, "DVN.V", u 10. 783 00:46:18,200 --> 00:46:21,510 Iżda - iżda, iżda, iżda - it-tieni linja hija dik importanti. 784 00:46:21,510 --> 00:46:26,310 ON ishma Duplikat AĠĠORNAMENT EWLENIN = ishma + VALURI (ishma). 785 00:46:26,310 --> 00:46:28,350 Allura totalment cryptic li tħares ewwel daqqa t'għajn. 786 00:46:28,350 --> 00:46:31,990 Imma l-fatt li din il-mistoqsija SQL, anki jekk garżi fuq 2 linji, 787 00:46:31,990 --> 00:46:35,920 huwa 1 mistoqsija twil, dan ifisser li huwa atomika 788 00:46:35,920 --> 00:46:41,000 fis-sens li din il-mistoqsija jew se jiġu esegwiti kollha flimkien jew xejn affattu. 789 00:46:41,000 --> 00:46:45,100 U billi definizzjoni ta 'MySQL, li l-mod kif dawn implimentaw din il-mistoqsija. 790 00:46:45,100 --> 00:46:51,010 Huwa b'definizzjoni fil-manwal garantit li teżegwixxi kollu f'daqqa jew xejn affattu. 791 00:46:51,010 --> 00:46:54,020 Il-motivazzjoni għal din hija kif ġej. 792 00:46:54,020 --> 00:46:58,540 Jekk f'dan il-każ inti qed jippruvaw jixtru 10 ishma ta 'stock, 793 00:46:58,540 --> 00:47:02,260 huwa tip ta 'l-istorja istess bħall-ħalib, huwa tip ta' l-istorja istess ATM. 794 00:47:02,260 --> 00:47:04,970 >> Jekk inti tagħmel l-iżball ta 'ma jużawx din sintassi 795 00:47:04,970 --> 00:47:09,610 iżda minflok tagħżel mid-database biex tara kemm ishma ta 'dan l-istokk Penny 796 00:47:09,610 --> 00:47:13,750 ma President Skroob jkollhom, u jissoponi huwa għandu 10-ishma, 797 00:47:13,750 --> 00:47:19,330 u mbagħad ftit qasma tat-tieni wara li inti mbagħad tagħmel dikjarazzjoni AĠĠORNAMENT, 798 00:47:19,330 --> 00:47:24,810 li hija ieħor dikjarazzjoni SQL li tgħid jimxi 'l quddiem u żid 10 ishma aktar 799 00:47:24,810 --> 00:47:28,700 sa 10 attwali tiegħu b'tali mod li idealment il-totali huwa 20, 800 00:47:28,700 --> 00:47:33,490 l-problema hija minħabba fis-sistemi tad-database tal-lum u minħabba fil-kompjuters tal-lum 801 00:47:33,490 --> 00:47:35,990 għandek proċessuri multipli, qlub multipli - 802 00:47:35,990 --> 00:47:38,920 fi kliem ieħor, il-kompjuters jistgħu litteralment tkun qiegħda tagħmel l-affarijiet multipli fuq darba - 803 00:47:38,920 --> 00:47:44,270 hemm ebda garanzija li SELECT tiegħek u UPDATE tiegħek f'dan il-każ 804 00:47:44,270 --> 00:47:46,150 huma jiġri lura lura. 805 00:47:46,150 --> 00:47:49,140 Allura xenarju ħażina tkun inti tagħmel l TAGĦŻEL 806 00:47:49,140 --> 00:47:51,670 biex tara kemm ishma ta 'dan l-istokk Penny ma Skroob jkollhom, 807 00:47:51,670 --> 00:47:54,710 u mbagħad biss b'kumbinazzjoni ieħor mistoqsija database hija esegwita - 808 00:47:54,710 --> 00:47:57,740 forsi Skroob tagħha fi tieqa browser jippruvaw jixtru 10-ishma 809 00:47:57,740 --> 00:48:00,700 ieħor tieqa għal kollox, ħafna bħall-ATM - 810 00:48:00,700 --> 00:48:05,410 u jissoponi li ieħor mistoqsija gets bejn TAGĦŻEL u l AĠĠORNAMENT. 811 00:48:05,410 --> 00:48:10,210 Jista 'jkun il-każ li Skroob issa jitlef xi numru ta' ishma 812 00:48:10,210 --> 00:48:14,340 minħabba li ieħor il-proċess huwa li jispezzjona l-istat tad-dinja tiegħu, 813 00:48:14,340 --> 00:48:17,800 jew hu gets ishma aktar milli huwa għandu jkollu. 814 00:48:17,800 --> 00:48:23,250 Aħna mhux se tidħol fis-dettalji ta 'eżattament dak li dawk il-linji istorja partikolari tkun, 815 00:48:23,250 --> 00:48:28,380 imma l-punt huwa jekk inti għandek tiċċekkja valur varjabbli u mbagħad jagħmlu deċiżjoni, 816 00:48:28,380 --> 00:48:32,500 jekk ikun hemm riskju ta 'xi ħadd ieħor jagħmel xi ħaġa fl bejn dawn id-dikjarazzjonijiet 2, 817 00:48:32,500 --> 00:48:36,220 kif jista 'jiġri f'sistemi multiproċessuri, fil multipolari sistemi, 818 00:48:36,220 --> 00:48:41,220 kompjuters bil-kapaċità li tagħmel affarijiet multipli fuq darba, affarijiet ħżiena jista 'jiġri 819 00:48:41,220 --> 00:48:44,530 kontijiet bankarji bħal li qed debitati ħażin, ix-xiri tal-ħalib darbtejn daqs, 820 00:48:44,530 --> 00:48:46,730 jew f'dan il-każ in-numru ħażin ta 'ishma. 821 00:48:46,730 --> 00:48:48,370 Imma hemm mod aktar faċli biex jaħsbu dwar dan. 822 00:48:48,370 --> 00:48:53,290 >> Jirriżulta li SQL jappoġġja wkoll, jekk inti kkonfigurat mejda tiegħek b'mod korrett, 823 00:48:53,290 --> 00:48:56,920 xi ħaġa imsejħa operazzjonijiet, li nixtieq jargumentaw huwa attwalment saħansitra aktar faċli biex jinftiehem 824 00:48:56,920 --> 00:49:00,650 minn dan, imma mhuwiex ta '1-inforra, dan huwa attwalment ftit aktar involuti. 825 00:49:00,650 --> 00:49:04,960 Hemm litteralment dikjarazzjoni fil SQL imsejħa tranżazzjoni START. 826 00:49:04,960 --> 00:49:08,300 Eżatt bħal hemm TAGĦŻEL, AĠĠORNAMENT, DAĦĦAL, Ħassar, u Jissieħbu u mazz ta 'oħrajn, 827 00:49:08,300 --> 00:49:10,970 hemm keywords bħal tranżazzjoni START. 828 00:49:10,970 --> 00:49:13,560 U dak li inti mbagħad tagħmel fil-kuntest ta 'pset 7 - 829 00:49:13,560 --> 00:49:17,270 inti ma għandek tagħmel dan għall pset 7; huwa espliċitament disclaimed bħala mhux meħtieġ, 830 00:49:17,270 --> 00:49:18,830 iżda għall-proġetti finali jista 'jkun utli - 831 00:49:18,830 --> 00:49:22,820 jekk inti sejħa mistoqsija ta 'transazzjoni START u mbagħad ieħor query 832 00:49:22,820 --> 00:49:25,620 u mbagħad ieħor mistoqsija u mbagħad ieħor, ieħor, u ieħor, 833 00:49:25,620 --> 00:49:31,860 dawk id-domandi mhux ser fil-fatt jiġu esegwiti sakemm inti sejħa-dikjarazzjoni SQL COMMIT, 834 00:49:31,860 --> 00:49:37,220 f'liema punt, kemm jekk huwa 2 dikjarazzjonijiet jew 20 dikjarazzjonijiet, dawn se jkunu kollha jiġu esegwiti f'daqqa, 835 00:49:37,220 --> 00:49:42,770 li jfisser l-ebda wieħed inkella jista 'aċċidentalment jixtru l-ħalib wisq jew debitu wisq flus 836 00:49:42,770 --> 00:49:46,340 jew jixtru ishma wisq minħabba kollha ta 'mistoqsijiet tiegħek se tesegwixxi 837 00:49:46,340 --> 00:49:48,410 lura lura lura lura. 838 00:49:48,410 --> 00:49:51,580 U dan huwa super importanti, speċjalment meta int tagħmel xi ħaġa bħal din. 839 00:49:51,580 --> 00:49:54,900 Dan huwa eżempju arbitrarja li tgħid ejja taġġorna l-kont tal-bank 840 00:49:54,900 --> 00:50:00,200 billi hemm bilanċ ugwali għal bilanċ - $ 1000 fejn il-numru tal-kont huwa 2. 841 00:50:00,200 --> 00:50:04,260 U allura-tieni dikjarazzjoni hija issa ejja jiddepożita dak $ 1000 842 00:50:04,260 --> 00:50:07,310 fis xi ħadd ieħor kont bankarju f'isimha numru huwa 1. 843 00:50:07,310 --> 00:50:10,400 >> Fi kliem ieħor, dan huwa eżempju perfett ta 'fejn inti tixtieq li tagħmel ċert 844 00:50:10,400 --> 00:50:13,590 li dawn iż-żewġ dikjarazzjonijiet jiġri jew xejn affattu 845 00:50:13,590 --> 00:50:15,450 għax inkella l-klijent ikun se tikseb invitat 846 00:50:15,450 --> 00:50:17,670 u int ser jieħdu l-flus tagħhom u ma jiddepożitaw xi mkien ieħor, 847 00:50:17,670 --> 00:50:20,470 jew il-bank se tikseb invitat fejn int ser biex jiddepożita l-flus 848 00:50:20,470 --> 00:50:23,140 iżda mhux attwalment naqqas mill-kont tal-utent. 849 00:50:23,140 --> 00:50:25,810 Allura inti tixtieq tnejn minnhom li jwettqu flimkien. 850 00:50:25,810 --> 00:50:29,140 Għalhekk jidħol fis-transazzjonijiet dinja. 851 00:50:29,140 --> 00:50:31,360 Allura li xi ħaġa li jżomm fil-dahar ta 'moħħok, 852 00:50:31,360 --> 00:50:34,710 mhux tant għall-finijiet ta 'ftit proġett finali, 853 00:50:34,710 --> 00:50:36,700 imma jekk inti tixtieq li tieħu proġett finali tiegħek x'imkien, 854 00:50:36,700 --> 00:50:39,040 jekk inti tixtieq li jibdew xi kumpanija madwaru, 855 00:50:39,040 --> 00:50:41,270 jekk inti tixtieq li issolvi l-problema xi grupp istudent fuq il-kampus 856 00:50:41,270 --> 00:50:45,210 u fil-fatt ikollhom ħajjin, websajt attiva, dawn huma t-tip ta 'bugs sottili li jistgħu jinqalgħu 857 00:50:45,210 --> 00:50:49,480 jekk inti ma pjuttost jaħsbu permezz ta 'dak li jista' jiġri jekk 2 persuni 858 00:50:49,480 --> 00:50:54,190 qed jippruvaw aċċess website tiegħek fil-mument litteralment istess ħin, 859 00:50:54,190 --> 00:50:56,890 fejn mistoqsijiet tagħhom inkella jistgħu jiksbu minsuġa. 860 00:50:58,840 --> 00:51:01,420 >> Ready għal xi JavaScript, teaser tiegħu? 861 00:51:01,420 --> 00:51:04,320 Dan huwa lingwa aħħar tagħna għall-semestru. Kull dritt. 862 00:51:04,320 --> 00:51:09,940 B'xorti tajba, JavaScript jistenna ħafna, ħafna, simili ħafna għall-lingwi 2, C u PHP, 863 00:51:09,940 --> 00:51:11,140 aħna ghamilt s'issa. 864 00:51:11,140 --> 00:51:14,340 M'hemm l-ebda JavaScript fil pset 7, iżda huwa għodda oerhört utli 865 00:51:14,340 --> 00:51:18,840 meta niġu biex tagħmel fuq l-internet proġetti finali jew verament ftit programmazzjoni web aktar ġenerali. 866 00:51:18,840 --> 00:51:20,950 Allura ħarsa ta 'malajr ta' xi ħaġa imsejħa DOM. 867 00:51:20,950 --> 00:51:23,600 Hawnhekk huwa super sempliċi web page li verament biss jgħid hello, dinja 868 00:51:23,600 --> 00:51:25,970 kemm fit-titolu u fil-ġisem. 869 00:51:25,970 --> 00:51:29,270 Peress li l-indentazzjoni ġie jissuġġerixxu għal xi żmien, 870 00:51:29,270 --> 00:51:31,380 hemm tassew ġerarkija għall-paġni web. 871 00:51:31,380 --> 00:51:34,220 I jista 'jiġbed dan snippet istess HTML bħala siġra, 872 00:51:34,220 --> 00:51:37,470 ħsieb lura għal diskussjonijiet tagħna ta 'strutturi tad-data fis-C, kif ġej. 873 00:51:37,470 --> 00:51:40,710 Għandi xi node għerq speċjali msejħa l-node dokument, 874 00:51:40,710 --> 00:51:43,650 u aħna ser tara l-Analog ta 'dan fl JavaScript fi ftit mument. 875 00:51:43,650 --> 00:51:48,330 L-ewwel tarbija u tifel biss ta 'li f'dan il-każ huwa l-tikketta HTML. 876 00:51:48,330 --> 00:51:49,880 M'hemm l-ebda immappjar diretta tal-DOCTYPE. 877 00:51:49,880 --> 00:51:53,170 Li l-ħaġa speċjali, hekk aħna għandhom biss jinjoraha meta niġu għal dan DOM, 878 00:51:53,170 --> 00:51:55,810 dan id-Dokument Għan Mudell siġra. 879 00:51:55,810 --> 00:51:59,530 Avviż li l-tikketta HTML, li stajt jidhru arbitrarjament bħala rettangolu, 880 00:51:59,530 --> 00:52:02,890 tkun 2 itfal: ras u l-ġisem. 881 00:52:02,890 --> 00:52:04,840 >> Dawk huma simili mfassla bħala rettangoli. 882 00:52:04,840 --> 00:52:08,970 Huwa sinifikanti pictorially li ras hija lejn ix-xellug tal-ġisem. 883 00:52:08,970 --> 00:52:11,960 L-implikazzjoni hija li l-kap jiġi l-ewwel fil-siġra. 884 00:52:11,960 --> 00:52:14,910 Allura hemm attwalment tordna lill siġra meta inti tiġbed bħal dan, 885 00:52:14,910 --> 00:52:17,460 minkejja li l-forom u whatnot huma arbitrarji. 886 00:52:17,460 --> 00:52:20,360 Kap sadanittant għandha wild wieħed imsejjaħ titolu, 887 00:52:20,360 --> 00:52:25,170 u t-titolu fil-fatt għandha tifel tagħha stess, li huwa "bonjour, dinja", 888 00:52:25,170 --> 00:52:32,210 li jiena deliberatament ġibdet bħala ovali hawn biex jagħmilha kemmxejn differenti mill-rettangolu. 889 00:52:32,210 --> 00:52:37,420 Dawn rettangoli huma elementi, filwaqt hello, dinja huwa verament node test. 890 00:52:37,420 --> 00:52:39,850 Allura huwa node fil-siġra, imma hija tip differenti ta 'node 891 00:52:39,850 --> 00:52:41,730 so I ġibdet dan arbitrarjament differenti. 892 00:52:41,730 --> 00:52:45,000 Bl-istess mod ma ġisem jkollhom tfal imsejjaħ hello, dinja, kif ukoll, 893 00:52:45,000 --> 00:52:47,910 node tant differenti anke jekk dawn qed inzerta l-istess test, 894 00:52:47,910 --> 00:52:52,100 imma stajt mfassla billi tuża l-istess forma. Allura quién? 895 00:52:52,100 --> 00:52:56,820 Ukoll, x'hemm sbieħ dwar HTML hija li jkollhom din in-natura ġerarkika. 896 00:52:56,820 --> 00:53:01,010 U x'hemm sbieħ dwar JavaScript u partikolarment libreriji li huma disponibbli liberament 897 00:53:01,010 --> 00:53:07,120 u popolari bħal jQuery, inti tista 'tinnaviga l-struttura ta' siġra hekk amazingly faċli. 898 00:53:07,120 --> 00:53:11,790 Kwalunkwe ta 'l-għalf għamilna fis-C ma' pointers u siġar traversat u recursing fuq lymph 899 00:53:11,790 --> 00:53:15,300 tfal xellug għat-tarbija dritt, kollha f'daqqa nistgħu sort ta 'tieħu għall mogħtija 900 00:53:15,300 --> 00:53:19,450 bħala amazingly illuminanti jekk mhux ftit frustranti 901 00:53:19,450 --> 00:53:22,470 iżda mhux kważi mod effiċjenti biex imorru dwar l-ipprogrammar. 902 00:53:22,470 --> 00:53:24,470 U hekk ma 'dawn il-lingwi ta' livell ogħla bħall JavaScript 903 00:53:24,470 --> 00:53:28,340 aħna ser tkun kapaċi tinnaviga din is-siġra ħafna aktar intuwittivament. 904 00:53:28,340 --> 00:53:30,430 >> U fil-fatt l-sintassi se tkun pjuttost familjari. 905 00:53:30,430 --> 00:53:32,950 Jekk inti stajt qatt dehru JavaScript qabel, din hija referenza tassew sbieħ 906 00:53:32,950 --> 00:53:35,910 mill-folks Mozilla, il-persuni li jagħmlu Firefox, 907 00:53:35,910 --> 00:53:38,370 hekk li tħossok liberu li jibbrawżjaw li fil-konvenjenza tiegħek. 908 00:53:38,370 --> 00:53:41,590 Dak li inti ser issib - u dawn slides huma identiċi għal dak li aħna użati l-oħra jum - 909 00:53:41,590 --> 00:53:44,030 bl-istess mod, prinċipali hija marret. 910 00:53:44,030 --> 00:53:47,010 Allura meta inti tikteb programm JavaScript, m'hemm l-ebda funzjoni prinċipali. 911 00:53:47,010 --> 00:53:48,690 Inti biss tibda bil-miktub kodiċi. 912 00:53:48,690 --> 00:53:51,660 Iżda distinzjoni ewlenija bejn JavaScript u C u PHP 913 00:53:51,660 --> 00:53:55,890 hija li filwaqt C u PHP s'issa jkunu ġew eżegwiti server sekondarji 914 00:53:55,890 --> 00:53:59,180 mill-apparat f'dan il-każ jew b'mod iktar ġenerali minn server, 915 00:53:59,180 --> 00:54:04,270 JavaScript mid-disinn huwa normalment eżegwit permezz ta 'browser. 916 00:54:04,270 --> 00:54:08,440 Fi kliem ieħor, inti tista 'jikteb il-kodiċi JavaScript, kif aħna qed waslu biex, 917 00:54:08,440 --> 00:54:13,080 fuq server fl-appliance, imma inti jinkludu fost HTML tiegħek, fost CSS tiegħek, 918 00:54:13,080 --> 00:54:16,100 fost GIFs tiegħek u PNGs tiegħek u JPEGs tiegħek 919 00:54:16,100 --> 00:54:19,170 b'tali mod li meta l-utent żjarat web page tiegħek, jekk inti qed tuża JavaScript, 920 00:54:19,170 --> 00:54:21,770 dan il-kodiċi JavaScript ġej minn server għall-browser, 921 00:54:21,770 --> 00:54:24,540 u huwa l-browser li attwalment tesegwixxi dan. 922 00:54:24,540 --> 00:54:27,960 Allura dan għandu implikazzjonijiet sinifikanti għall-proprjetà intellettwali anke. 923 00:54:27,960 --> 00:54:32,600 Huwa tip ta 'iblah li anke taħseb dwar il-protezzjoni IP tiegħek meta niġu għall-JavaScript kodiċi 924 00:54:32,600 --> 00:54:37,560 minħabba fin-natura tal-lingwa jiġrilha eżegwit normalment ġenb browser. 925 00:54:37,560 --> 00:54:40,360 >> Tista 'obfuscate dan, li jfisser li inti tista' tagħmel ħarsa crazy u ikrah 926 00:54:40,360 --> 00:54:45,400 bl-ebda whitespace, ismijiet varjabbli horrible, biex jagħmluha aktar diffiċli għall-persuni li steal IP tiegħek, 927 00:54:45,400 --> 00:54:48,120 iżda l-importanti hu li tkun imwettqa ġenb browser. 928 00:54:48,120 --> 00:54:51,790 Anki jekk bħala server sekondarji aside JavaScript jistgħu jintużaw, 929 00:54:51,790 --> 00:54:54,480 il-każ aktar użu komuni dritt issa għadu fuq il-browser. 930 00:54:54,480 --> 00:54:59,800 U hawn hu dak li jidher qisu. Hawn hu jekk-ieħor jekk-ieħor tibni bħad C, bħad PHP. 931 00:54:59,800 --> 00:55:02,420 Hawnhekk huwa espressjoni Boolean meta int "jew" 2 affarijiet flimkien. 932 00:55:02,420 --> 00:55:04,330 Hawnhekk huwa meta inti "u" 2 affarijiet flimkien. 933 00:55:04,330 --> 00:55:08,300 Hawnhekk hija dikjarazzjoni swiċċ, li huwa simili għall PHP 934 00:55:08,300 --> 00:55:10,810 li inti tista 'taqleb fuq tipi differenti ta' valuri. 935 00:55:10,810 --> 00:55:15,180 Loops simili jkollhom għal-linji hawnhekk, li huma strutturati b'mod identiku għal dak li konna rajna qabel. 936 00:55:15,180 --> 00:55:18,110 Filwaqt loops; konna ltqajna tagħmel waqt loops. 937 00:55:18,110 --> 00:55:20,290 Varjabbli, dejjem hekk ftit differenti. 938 00:55:20,290 --> 00:55:24,560 Inti ma tiddikjara varjabbli simili tagħmel fil-PHP u Ċ, 939 00:55:24,560 --> 00:55:27,860 iżda bl-istess mod huwa JavaScript dgħajjef ittajpjat. 940 00:55:27,860 --> 00:55:32,730 Inti ma tispeċifika int jew float jew spag jew xi ħaġa bħal dik li normalment. 941 00:55:32,730 --> 00:55:34,240 Tista 'tispeċifika var. 942 00:55:34,240 --> 00:55:38,040 Inti ma għandekx li jiġu speċifikati var, iżda għandha implikazzjonijiet jekk inti ma. 943 00:55:38,040 --> 00:55:42,000 Normalment jekk inti tonqos var, inti aċċidentalment toħloq varjabbli globali minflok lokali. 944 00:55:42,000 --> 00:55:46,420 So let me nipproponi li inti kważi dejjem biss jgħidu var u allura l-isem tal-varjabbli. 945 00:55:46,420 --> 00:55:48,740 Mhuwiex tip, huwa biss var għall varjabbli. 946 00:55:48,740 --> 00:55:52,930 Dan ikun ta 'eżempju, jekk huwa 123 jew "hello, dinja". 947 00:55:52,930 --> 00:55:58,910 Arrays huma preżenti u sintattiku simili għall PHP. 948 00:55:58,910 --> 00:56:03,690 I ser ngħid numri var u mbagħad I jużaw parentesi kwadri għal darb'oħra biex tiddikjara varjabbli 949 00:56:03,690 --> 00:56:08,870 li tip hija array li għandu dawn in-numri partikolari fiha separati mill-virgoli. 950 00:56:08,870 --> 00:56:11,740 U mbagħad fl-aħħar, dan huwa l-unika waħda li verament jistenna differenti. 951 00:56:11,740 --> 00:56:16,700 Ifakkar li fil-PHP aħna għandna implimentati firxa assoċjattiva għal student 952 00:56:16,700 --> 00:56:20,220 bħal Zamyla li tista 'tidher bħal dan, fejn il-varjabbli huwa msejjaħ student. 953 00:56:20,220 --> 00:56:23,370 Il-parentesi kwadri jfissru hawnhekk jidħol firxa. 954 00:56:23,370 --> 00:56:28,500 >> Il-fatt li jien ma jużaw indiċi numeriċi iżda kordi - id-dar, u l-isem - 955 00:56:28,500 --> 00:56:30,990 tfisser li dan huwa firxa assoċjattiva, 956 00:56:30,990 --> 00:56:34,490 u dawn vleġeġ mal-daqs sinjal u l-kategorija angolata 957 00:56:34,490 --> 00:56:37,310 tfisser li l-importanti hu "id", il-valur huwa 1; 958 00:56:37,310 --> 00:56:39,310 l-importanti hu "house", il-valur huwa Winthrop Kamra; 959 00:56:39,310 --> 00:56:41,800 il-muftieħ huwa "isem", il-valur huwa Zamyla Chan. 960 00:56:41,800 --> 00:56:47,110 Allura hemm 3 ċwievet ġewwa ta 'dan array assoċjazzjoni, li kull wieħed minnhom għandu valur tagħha stess. 961 00:56:47,110 --> 00:56:52,880 Imxejna dehru li fil pset 7, jew inti hekk se, fil JavaScript istess idea, 962 00:56:52,880 --> 00:56:55,220 iżda li għaddej biex teżamina bħal dan. 963 00:56:55,220 --> 00:57:00,070 Student Allura var - l-ebda sinjal dollaru u l-ebda referenza ta 'tip għadhom iżda var - 964 00:57:00,070 --> 00:57:05,860 daqs u mbagħad iftaħ ċineg kaboċċi għaliex JavaScript meta jkollok pari valur ewlenin, 965 00:57:05,860 --> 00:57:08,900 inti attwalment jużaw xi ħaġa imsejħa oġġett. 966 00:57:08,900 --> 00:57:13,490 U dawk fostkom li ma tieħu APCs jew simili tista 'recall oġġetti minn Java 967 00:57:13,490 --> 00:57:15,140 jew lingwi simili. 968 00:57:15,140 --> 00:57:17,880 JavaScript mhix Java, l-ewwel nett. 969 00:57:17,880 --> 00:57:21,600 Kien snin intenzjonat deċiżjoni tad-disinn ilu li knock off xi ħaġa oħra li kienet popolari, 970 00:57:21,600 --> 00:57:25,640 isem tagħha, anki jekk għandha l-ebda relazzjoni fundamentali li JAVA innifsu. 971 00:57:25,640 --> 00:57:31,490 JavaScript għandha oġġetti, u inti toħloq lilhom permezz ta 'l-notazzjoni Brace kaboċċi. 972 00:57:31,490 --> 00:57:36,710 Oġġetti fl JavaScript huma pjuttost ħafna ekwivalenti għal arrays assoċjazzjoni fil-PHP 973 00:57:36,710 --> 00:57:40,030 meta niġu għall-ħażna tad-data ġewwa minnhom. 974 00:57:40,030 --> 00:57:44,100 >> Iżda anke aktar qawwi fl JavaScript tista tassoċja faċilment funzjonijiet 975 00:57:44,100 --> 00:57:48,040 ġewwa ta 'oġġett, u għalkemm inti tista' tagħmel dan fil-lingwi l-oħra, 976 00:57:48,040 --> 00:57:50,040 huwa pjuttost paradigma komuni, kif Ser naraw. 977 00:57:50,040 --> 00:57:54,380 Fil-qosor, dan l-oġġett jirrappreżenta student, li huwa partikolarment Zamyla, 978 00:57:54,380 --> 00:58:00,380 u huwa simili kunċettwalment, biss sintattiku differenti minn dan. 979 00:58:00,380 --> 00:58:03,840 Ejja attwalment jużaw JavaScript fil-fajl. 980 00:58:03,840 --> 00:58:05,570 Jirriżulta hemm tag iskrittura. 981 00:58:05,570 --> 00:58:08,180 Imxejna dehru tag stil u Rajna HTML tags oħra. 982 00:58:08,180 --> 00:58:11,510 Il-lametta iskrittura fil-fatt se jkun fih xi kodiċi JavaScript. 983 00:58:11,510 --> 00:58:15,500 Let me jmorru fil-appliance fejn għandna xi kodiċi tas-sors minn qabel magħmula. 984 00:58:15,500 --> 00:58:18,700 I ma jkunux stazzjonati encore fuq il-websajt, imma jien ser tagħmel dan wara klassi. 985 00:58:18,700 --> 00:58:21,770 Ejja tiftaħ dan wieħed, blink.html. 986 00:58:21,770 --> 00:58:27,560 Lura fl-1990, kien hemm litteralment tag HTML imsejjaħ il-lametta blink, 987 00:58:27,560 --> 00:58:30,340 u din kienet waħda mill-tags aktar wonderfully Overused fuq l-Internet 988 00:58:30,340 --> 00:58:36,140 fejn youd żżur xi snin 1990 paġna web stil u tibda tara test jteptep inti bħal dan, 989 00:58:36,140 --> 00:58:39,810 ir-riżultati tal-lametta Marquis, li kienet it-test ser bħal dan. 990 00:58:39,810 --> 00:58:45,070 Wieħed mill-ftit drabi meta d-dinja tkun attwalment qablu fuq standard web, 991 00:58:45,070 --> 00:58:48,250 kulħadd madwar l-bord maqtula l-tikketta blink xi snin ilu. 992 00:58:48,250 --> 00:58:52,860 Iżda nistgħu resurrect ma JavaScript bħala turija ta 'l-enerġija li għandek 993 00:58:52,860 --> 00:58:56,660 meta inti tista 'tikteb programm ġewwa ta' paġna web. 994 00:58:56,660 --> 00:59:00,240 Ewwel ejja skip fuq il-għalf ġdid u jiffoka biss fuq il-qodma. 995 00:59:00,240 --> 00:59:01,780 >> Hawn hu l-għalf qodma f'dan l-eżempju. 996 00:59:01,780 --> 00:59:06,350 I jkollhom tikketta HTML, tag ras, u tag titolu. 997 00:59:06,350 --> 00:59:11,210 Imbagħad I jkollhom tikketta tal-ġisem hawn ma 'div, li recall huwa biss diviżjoni rettangolari tal-paġna 998 00:59:11,210 --> 00:59:14,720 li stajt mogħtija ID unika arbitrarju ta '"greeting" biex, 999 00:59:14,720 --> 00:59:18,320 biss hekk I jkollhom mod ta 'unikament jirreferi għaliha, li għandha xi test sempliċi ħafna: 1000 00:59:18,320 --> 00:59:20,220 bonjour. dinja, 1001 00:59:20,220 --> 00:59:23,940 Issa let me iscroll sal-quċċata ta 'dan il-fajl u tara x'hemm ġdid. 1002 00:59:23,940 --> 00:59:27,710 L-ewwel ħaġa li l-quċċata up ġdida hija l-tikketta iskrittura, 1003 00:59:27,710 --> 00:59:31,280 u ġewwa ta 'l-avviż tag iskrittura Stajt ddikjarat funzjoni. 1004 00:59:31,280 --> 00:59:34,610 Biex tiddikjara funzjoni JavaScript, pjuttost simili għall PHP, 1005 00:59:34,610 --> 00:59:37,930 inti litteralment jiktbu funzjoni allura l-isem tal-funzjoni, parentesi, 1006 00:59:37,930 --> 00:59:40,400 u forsi xi argumenti jekk tieħu xi. 1007 00:59:40,400 --> 00:59:43,510 Imbagħad stajt ltqajna Brace kaboċċi tiegħi bħas-soltu, u issa għandna xi kodiċi kemmxejn ġdida, 1008 00:59:43,510 --> 00:59:45,230 imma ejja ara dak dan ifisser. 1009 00:59:45,230 --> 00:59:48,670 Allura div var, dan ifisser biss jagħtu me div imsejħa varjabbli. 1010 00:59:48,670 --> 00:59:50,530 I jistgħu qalu li din foo, imma jien ridt li jiġu msejħa div 1011 00:59:50,530 --> 00:59:52,620 għal raġunijiet li se jkunu ċari fit-tieni. 1012 00:59:52,620 --> 00:59:57,480 Imbagħad jirriżulta fl JavaScript - u dan huwa kodiċi JavaScript inkorporat fil-paġna web tiegħi - 1013 00:59:57,480 --> 01:00:01,760 hemm varjabbli globali speċjali ta 'tipi imsejħa dokument. 1014 01:00:01,760 --> 01:00:04,780 JavaScript huwa fil-fatt lingwa oġġett orjentati lejn. 1015 01:00:04,780 --> 01:00:07,230 Aħna mhux se tidħol fis-dettal fil-50 dwar dak li tfisser, 1016 01:00:07,230 --> 01:00:11,180 iżda għal issa jkunu jafu li l-oġġett huwa pjuttost ħafna bħal Struct. 1017 01:00:11,180 --> 01:00:14,740 Bħal rajna mod lura meta f'wieħed mill-problema kmieni settijiet 1018 01:00:14,740 --> 01:00:17,150 fejn aħna jagħmlu ħafna ta 'informazzjoni fil-Struct, 1019 01:00:17,150 --> 01:00:21,330 bl-istess mod huwa dokument ta 'Struct speċjali li jiġi ma' l browser, 1020 01:00:21,330 --> 01:00:24,810 jiġi ma 'kwalunkwe web page. Mhuwiex xi ħaġa I maħluqa. 1021 01:00:24,810 --> 01:00:28,210 Ġewwa ta 'din l-istruttura dokument, għalkemm, inti għandek mhux biss data 1022 01:00:28,210 --> 01:00:30,010 imma inti ukoll għandek l-funzjonijiet. 1023 01:00:30,010 --> 01:00:34,090 >> U kull darba li inti għandek funzjoni ġewwa ta 'struttura, ġewwa ta' oġġett, 1024 01:00:34,090 --> 01:00:36,490 huwa msejjaħ metodu. Imma hija l-istess ħaġa. 1025 01:00:36,490 --> 01:00:40,110 Metodu hija funzjoni li biss hekk jiġri li jkun ġewwa ta 'xi ħaġa oħra. 1026 01:00:40,110 --> 01:00:42,990 Allura dan ifisser li din il-varjabbli globali speċjali msejħa dokument 1027 01:00:42,990 --> 01:00:47,690 għandha funzjoni msejħa getElementById li litteralment ma dan. 1028 01:00:47,690 --> 01:00:52,460 Dan inti jkollok element mill-DOM, siġra Dokument Object Model, 1029 01:00:52,460 --> 01:00:55,520 li ID huwa f'dan il-każ greeting. 1030 01:00:55,520 --> 01:00:59,200 Fi kliem ieħor, dak kollu li ħin moħli fuq strutturi tad-data tidħol fis-play hawn. 1031 01:00:59,200 --> 01:01:01,400 Dan stampa ta 'DOM li kellna mument ilu, 1032 01:01:01,400 --> 01:01:06,100 anki jekk il-paġna huwa xi ftit differenti, jekk kelli div fil din l-istampa, 1033 01:01:06,100 --> 01:01:11,180 dak document.getElementById se jerġa 'lura lili effettivament tkun pointer 1034 01:01:11,180 --> 01:01:15,440 ir-rettangolu fil-siġra, referenza għall-rettangolu fil-siġra. 1035 01:01:15,440 --> 01:01:18,410 Allura dak hu li jfisser li attwalment sejħa waħda minn dawk il-funzjonijiet. 1036 01:01:18,410 --> 01:01:21,960 F'dan il-każ mill-ġdid huwa div. Mhuwiex korp jew titolu. 1037 01:01:21,960 --> 01:01:26,480 Mela ejja ara dak I imbagħad tagħmel ma 'dan div issa li għandi hija ġewwa ta' dan div varjabbli imsejħa. 1038 01:01:26,480 --> 01:01:32,580 Jirriżulta mal JavaScript għandek il-ħila biex tweak-CSS tal-paġna tiegħek dinamiku. 1039 01:01:32,580 --> 01:01:39,060 Sa issa, kollha ta 'l-CSS aħna ghamilt, għalkemm limitat, huwa fil-attributi stil, 1040 01:01:39,060 --> 01:01:41,730 jew fejn inkella jkunu npoġġux CSS? 1041 01:01:42,730 --> 01:01:45,810 I tip ta 'maħmuġ li wieħed. Fl-tikketta istil fil-quċċata tal-fajl. 1042 01:01:45,810 --> 01:01:49,180 Jew tielet post kien fil-? 1043 01:01:50,710 --> 01:01:54,590 >> Fajl esterna, xi ħaġa. Css. 1044 01:01:54,590 --> 01:01:56,730 Għalhekk dawn huma l-postijiet 3 we ghamilt CSS s'issa, 1045 01:01:56,730 --> 01:01:59,310 iżda l-qabda tkun konna iebes kodifikati dan kollu. 1046 01:01:59,310 --> 01:02:04,060 Inti iddeċidejt li inti dove fis pset 7, aħna deċiż qabel taħdita dak CSS tagħna tkun. 1047 01:02:04,060 --> 01:02:07,380 Iżda jekk inti tixtieq li tibdel CSS tiegħek, inti tista 'tagħmel dan 1048 01:02:07,380 --> 01:02:09,370 ladarba inti għandek lingwa ta 'programmar attwali. 1049 01:02:09,370 --> 01:02:13,910 CSS, HTML - lingwi mhux ipprogrammar. JavaScript huwa. 1050 01:02:13,910 --> 01:02:18,200 Għalhekk jirriżulta li hekk kif ikollok wieħed minn dawk rettangoli mill-siġra 1051 01:02:18,200 --> 01:02:23,050 imsejjaħ il-DOM, hija stess tkun xi data ġewwa ta 'dan. 1052 01:02:23,050 --> 01:02:27,820 Allura l-div li jien biss grabbed mill-siġra għandu dak li aħna ser sejħa proprjetà ġewwa ta 'dan 1053 01:02:27,820 --> 01:02:34,390 imsejħa l-istil, u l-proprjetà l-istil stess proprjetà msejħa viżibilità. 1054 01:02:34,390 --> 01:02:37,330 Nixtieq jafu dan biss billi tħares up manwali utent CSS s. 1055 01:02:37,330 --> 01:02:41,160 Jirriżulta hemm proprjetà viżibilità CSS li ma dak li jgħid. 1056 01:02:41,160 --> 01:02:44,530 Jagħmel xi ħaġa viżibbli jew le, viżibbli jew le. 1057 01:02:44,530 --> 01:02:46,810 U kif inti tagħmel dan hija din. 1058 01:02:46,810 --> 01:02:50,510 Jien tistaqsi programmatically jekk il-viżibbiltà ta 'dan div hija moħbija, 1059 01:02:50,510 --> 01:02:53,390 dak li għandi bidla li? Viżibbli. 1060 01:02:53,390 --> 01:02:58,840 Inkella, jekk il-viżibbiltà ta 'din il-paġna ma tkunx moħbija, loġikament I do jagħmilha moħbija. 1061 01:02:58,840 --> 01:03:04,070 Għandi l-ebda idea għaliex huwa viżibbli u moħbija u mhux viżibbli u inviżibbli. 1062 01:03:04,070 --> 01:03:06,000 Din kienet deċiżjoni disinn fqir tul it-triq. 1063 01:03:06,000 --> 01:03:09,530 Iżda dawn huma tassew opposti fl CSS: viżibbli u moħbija. 1064 01:03:09,530 --> 01:03:15,520 Dan kollu ma huwa dan ifisser jibdlu l-CSS tal-fajl tiegħi fuq u barra, fuq u barra 1065 01:03:15,520 --> 01:03:16,870 għal dak div partikolari. 1066 01:03:16,870 --> 01:03:20,630 Iżda għal darb'oħra, dan huwa funzjoni msejħa blink. Meta huwa l-funzjoni blink imsejħa? 1067 01:03:20,630 --> 01:03:24,080 Jirriżulta li hemm ieħor globali speċjali tieqa varjabbli msejħa, 1068 01:03:24,080 --> 01:03:28,220 simili fl-ispirtu għal dokument, iżda billi d-dokument jirreferi għall-paġna web tiegħek, 1069 01:03:28,220 --> 01:03:31,700 bħall-siġra DOM, l-HTML inti mibgħut mis-server, 1070 01:03:31,700 --> 01:03:35,250 tieqa tirreferi għall-chrome madwaru, il-address bar, il-bar titolu, 1071 01:03:35,250 --> 01:03:37,880 u kollha ta 'li Jittieħed madwar il-paġna web tiegħek. 1072 01:03:37,880 --> 01:03:42,800 >> U jirriżulta li l-għan tieqa għandha ġewwa funzjoni speċjali ta 'dan msejħa setInterval 1073 01:03:42,800 --> 01:03:44,360 li ma dak li jgħid. 1074 01:03:44,360 --> 01:03:48,600 Hija se tagħti intervall - f'dan il-każ kull millisekonda 500 - 1075 01:03:48,600 --> 01:03:52,270 u, tieħu raden, dak li huwa għaddej biex tagħmel kull 500 millisekondi? 1076 01:03:52,270 --> 01:03:55,240 Huwa ser tesegwixxi dik blink funzjoni. 1077 01:03:55,240 --> 01:03:58,560 U x'hemm sbieħ hawnhekk hija li nistgħu għamlu dan fis-C anke jekk aħna qatt għamlet. 1078 01:03:58,560 --> 01:04:01,580 C ma jkollhom xi ħaġa imsejħa pointers funzjoni fejn inti tista 'tgħaddi l-funzjonijiet madwar 1079 01:04:01,580 --> 01:04:03,140 bħala argumenti. 1080 01:04:03,140 --> 01:04:07,620 Bl-istess mod fil-JavaScript tista tgħaddi l-isem ta 'funzjoni fil-funzjoni oħra. 1081 01:04:07,620 --> 01:04:10,630 U Avviż dak li qed nagħmel. Jien ma tagħmel dan. 1082 01:04:10,630 --> 01:04:14,380 Jekk nressaq parentesi wara t-blink, dan ikun ifisser sejħa tal-funzjoni blink. 1083 01:04:14,380 --> 01:04:17,430 Jekk I jħalli barra minnhom, li tfisser hawnhekk hija l-funzjoni blink 1084 01:04:17,430 --> 01:04:21,330 sabiex setInterval tista 'sejħa hija kull millisekondi 500. 1085 01:04:21,330 --> 01:04:28,200 Allura l-riżultat aħħari, atroċi għalkemm huwa, li jekk immur fis localhost u mur blink.html, 1086 01:04:28,200 --> 01:04:32,120 I issa għandhom dan jiġri mill-ġdid u għal darb'oħra. 1087 01:04:32,120 --> 01:04:34,950 U jekk I attwalment Spezzjona Element, ejja ara jekk nistgħu naraw dan. 1088 01:04:34,950 --> 01:04:38,550 Let me Spezzjona Element, let me iscroll biss ftit, 1089 01:04:38,550 --> 01:04:44,320 let me jagħżlu Elementi minn hawn, u l-avviż il-ġewwa DOM ta ispettur Chrome. 1090 01:04:44,320 --> 01:04:48,840 Huwa litteralment qed jinbidlu u lura kull millisekondi 500. 1091 01:04:48,840 --> 01:04:55,660 Jekk immorru ħabib tagħna Nate, 1092 01:04:55,660 --> 01:05:00,020 jekk inti qatt ħsibt kif dan qed jaħdem, idea simili b'intervall, 1093 01:05:00,020 --> 01:05:04,810 imma Nate huwa attwalment tagħmel użu effettiv ħafna ta 'kulur f'dan il-każ partikolari hawnhekk. 1094 01:05:04,810 --> 01:05:07,350 Allura dak li aktar jista we attwalment tagħmel ma 'dan? 1095 01:05:07,350 --> 01:05:09,990 Ejja jiftħu eżempju ieħor u tipprova xi ħaġa 1096 01:05:09,990 --> 01:05:12,940 li l-programmatically saħansitra aktar utli milli jagħmlu affarijiet blink. 1097 01:05:12,940 --> 01:05:17,990 Let me go fis direttorju forom tagħna llum u jmorru fil form0. 1098 01:05:17,990 --> 01:05:20,820 Dan kien il-formola ugliest possibbli li I tista 'toħroġ bi, 1099 01:05:20,820 --> 01:05:23,290 u let me biss jurik dak li jidher qisu fil-browser. 1100 01:05:23,290 --> 01:05:28,960 >> Let me go fis localhost / forom, u dan huwa form0. 1101 01:05:28,960 --> 01:05:33,400 Din hija forma super HTML ikrah li għandha l-oqsma ftit għall-email, għal password, 1102 01:05:33,400 --> 01:05:37,190 password, u mbagħad Checkbox ftit li jaqblu li xi termini u kundizzjonijiet. 1103 01:05:37,190 --> 01:05:41,350 Il-qabda hija jekk I żjara din il-formola u jien ma jridu jagħtuk indirizz email tiegħi, 1104 01:05:41,350 --> 01:05:44,730 Ma rridx li taqbel mat-termini u l-kondizzjonijiet forsi, I jistgħu ikklikkja Reġistru 1105 01:05:44,730 --> 01:05:46,920 u hija tikri me permezz xorta waħda. 1106 01:05:46,920 --> 01:05:50,800 Dan jiġri li jissottomettu lill-fajl PHP stupid imsejħa dump.php. 1107 01:05:50,800 --> 01:05:58,420 Kull ma huwa jistampa l-kontenut ta '$ _GET biss għal skopijiet dijanjostiċi. 1108 01:05:58,420 --> 01:06:01,580 Dan kien dak li kien sottomess mill-utent biss issa. 1109 01:06:01,580 --> 01:06:05,010 Imma ejja ngħidu aħna fil-fatt tixtieq li jivvalida sottomissjoni forma l-utent. 1110 01:06:05,010 --> 01:06:06,530 Let me go fis verżjoni 1. 1111 01:06:06,530 --> 01:06:11,420 Dan huwa form1.html. Huwa jistenna estetikament daqstant ħażin, imma avviż kif fancy huwa. 1112 01:06:11,420 --> 01:06:15,450 Jekk I ikklikkja Reġistru mingħajr ma kkooperat, niġi għajjat ​​fil. 1113 01:06:15,450 --> 01:06:17,320 "Int trid tipprovdi l-indirizz email tiegħek." 1114 01:06:17,320 --> 01:06:21,670 Kull dritt. So let me jippruvaw dan. Allura malan@harvard.edu. I m'għandhomx bżonn password. 1115 01:06:21,670 --> 01:06:25,100 Reġistru. "Int trid tipprovdi password." Kull dritt. 1116 01:06:25,100 --> 01:06:28,470 So I se tipprovdi password ta krimżi. Reġistru. 1117 01:06:28,470 --> 01:06:32,300 "Passwords ma jaqblux." Għandi li issa tip fil hawn krimżi. 1118 01:06:32,300 --> 01:06:35,710 I aċċidentalment ivverifikat li. Reġistru. 1119 01:06:35,710 --> 01:06:39,860 "Int trid taqbel mat-termini u kundizzjonijiet." Kull dritt. Jaqblu hemmhekk. Reġistru. 1120 01:06:39,860 --> 01:06:43,700 U issa dan juri lili l-output dijanjostiku hemmhekk. 1121 01:06:43,700 --> 01:06:45,630 >> Allura dak li ġara biss? 1122 01:06:45,630 --> 01:06:48,330 Aħna kellna din il-ħila biex jivvalidaw sottomissjonijiet formola. 1123 01:06:48,330 --> 01:06:51,420 Fil-fatt, jekk inti ma adsa fis pset 7, hemm xi funzjoni ruhna 1124 01:06:51,420 --> 01:06:54,620 li jagħmilha pjuttost faċli li Yell fil-utent ma 'messaġġ fuq l-iskrin. 1125 01:06:54,620 --> 01:06:57,580 Jien jużaw mekkaniżmu kemmxejn differenti, il-funzjoni ta 'twissija, 1126 01:06:57,580 --> 01:07:03,690 li mhix funzjoni li l-tbissem fuq peress li jagħmilha messaġġi utent ħafna ikrah. 1127 01:07:03,690 --> 01:07:05,710 Imma ejja ara dak li qed nagħmel hawn. 1128 01:07:05,710 --> 01:07:09,620 Dan huwa form1.html, u avviż li għandi xi sintassi pretty familjari: 1129 01:07:09,620 --> 01:07:12,920 tag ġisem, lametta forma, attribut azzjoni, attribut metodu. 1130 01:07:12,920 --> 01:07:17,050 Imma avviż stajt mogħtija forma tiegħi ID unika għall-konvenjenza. 1131 01:07:17,050 --> 01:07:19,190 Imbagħad Stajt ltqajna qasam email li tip huwa test, 1132 01:07:19,190 --> 01:07:23,780 qasam password li tip huwa, password konferma qasam li tip huwa password, 1133 01:07:23,780 --> 01:07:28,070 u mbagħad Checkbox li ismu huwa ftehim hawn fuq, it-tip huwa Checkbox. 1134 01:07:28,070 --> 01:07:30,380 U mbagħad stajt ltqajna buttuna issottometti. 1135 01:07:30,380 --> 01:07:33,050 Iżda l-avviż fil-quċċata liema aktar għandi. 1136 01:07:33,050 --> 01:07:35,810 L-ewwelnett, hemm użu ieħor tal-lametta iskrittura. 1137 01:07:35,810 --> 01:07:40,520 Jekk għandek xi kodiċi JavaScript fil fajl ieħor, bħal ma CSS inti tista 'tinkludi dan. 1138 01:07:40,520 --> 01:07:44,530 U inti tagħmel dan ma 'sors iskrittura, u mbagħad tinduna jien konnessjoni apparentement 1139 01:07:44,530 --> 01:07:50,349 li googleapis.com għal triq twila ħafna, iżda isem ta 'fajl li jispiċċa fid jquery.min 1140 01:07:50,349 --> 01:07:52,420 għal minimu. JS. 1141 01:07:52,420 --> 01:07:55,969 jQuery hija librerija popolari super għall JavaScript li biss jagħmel JavaScript 1142 01:07:55,969 --> 01:07:58,230 l-aktar faċli għall-utent għall-użu. 1143 01:07:58,230 --> 01:08:00,610 Huwa effettivament jsiru standard de facto. 1144 01:08:00,610 --> 01:08:04,090 Allura anke jekk dak li int ser tara mhuwiex pur JavaScript per se, 1145 01:08:04,090 --> 01:08:09,340 huwa librerija fuq quċċata ta 'JavaScript ħafna bħall-librerija CS50 huwa saff 1146 01:08:09,340 --> 01:08:13,670 fuq quċċata tal-kodiċi C ta 'livell baxx; ir-realtà hija kważi kulħadd fuq l-Internet jużaw dan. 1147 01:08:13,670 --> 01:08:18,030 Allura dawn mhumiex roti tat-taħriġ. Dan huwa biss l-aħjar prattika dawn il-jiem. 1148 01:08:18,030 --> 01:08:22,830 Issa avviż hawn taħt li huwa tag tiegħi iskrittura stess, u l-avviż dak li jien ghamilt hawn. 1149 01:08:22,830 --> 01:08:27,450 Jirriżulta li jQuery ma xi ħaġa fancy ftit. 1150 01:08:27,450 --> 01:08:29,660 JavaScript għandha sinjali dollaru, iżda huma bla sens. 1151 01:08:29,660 --> 01:08:32,870 >> Huma bħall-ittra A jew B jew Ċ 1152 01:08:32,870 --> 01:08:36,670 jQuery sempliċement adottat il-konvenzjoni jew tip ta 'talba jitpoġġa għall-fatt 1153 01:08:36,670 --> 01:08:40,280 li $ se jkun simbolu speċjali tagħhom. 1154 01:08:40,280 --> 01:08:44,950 Allura hekk kif inti tagħbija dan il-fajl JavaScript globali up here bil-tikketta iskrittura, 1155 01:08:44,950 --> 01:08:49,080 ikollok aċċess għal varjabbli globali speċjali li sejjaħ $. 1156 01:08:49,080 --> 01:08:53,009 Huwa aktar xieraq imsejjaħ jQuery, iżda li ma tfittex kważi bħala sexy kif $. 1157 01:08:53,009 --> 01:08:56,250 Imma $ m'għandha l-ebda tifsira speċjali. Fil PHP hija kellha tifsira speċjali. 1158 01:08:56,250 --> 01:08:58,440 Kellek biex dan quddiem ta 'varjabbli. 1159 01:08:58,440 --> 01:09:01,670 Dan huwa biss ħaġa sexy li jkunu ħadu fuq. 1160 01:09:01,670 --> 01:09:03,389 Dak li qed jiġri hawn? 1161 01:09:03,389 --> 01:09:08,830 Avviż jien tgħaddi għall-funzjoni jQuery dokument varjabbli tiegħi globali 1162 01:09:08,830 --> 01:09:10,860 u mbagħad jien sejħa. lest. 1163 01:09:10,860 --> 01:09:15,480 Liema jQuery essenzjalment ma huwa jippermetti li tieħu xi affarijiet JavaScript vanilla 1164 01:09:15,480 --> 01:09:17,889 bħall-oġġett dokument, l-oġġett tieqa, 1165 01:09:17,889 --> 01:09:20,790 u jekk inti tgħaddi fil-funzjoni jQuery - 1166 01:09:20,790 --> 01:09:24,429 u għal darb'oħra, li jkun ċar, dan huwa funzjoni msejħa jQuery - 1167 01:09:24,429 --> 01:09:28,240 dak li ma hu dan jirritorna lilek verżjoni speċjali ta 'dokument 1168 01:09:28,240 --> 01:09:30,700 li għandha funzjonalità aktar assoċjati magħha. 1169 01:09:30,700 --> 01:09:34,760 Għalhekk fl JavaScript prima m'hemm l-ebda funzjoni lesta, 1170 01:09:34,760 --> 01:09:37,810 imma jekk inti tgħaddi dokument għall-funzjoni jQuery ewwel, 1171 01:09:37,810 --> 01:09:40,960 dan jirritorna lilek verżjoni speċjali tal-oġġett dokument 1172 01:09:40,960 --> 01:09:43,030 li għandu karatteristiċi iżjed fancy. 1173 01:09:43,030 --> 01:09:48,230 U hu għalhekk li n-nies bhalu. Hija biss jagħmel l-affarijiet aktar faċli li tagħmel, kif aħna qed madwar biex tara. 1174 01:09:48,230 --> 01:09:49,820 Allura dak li ma din il-linja tal-kodiċi jfisser? 1175 01:09:49,820 --> 01:09:52,690 Din il-linja tal-kodiċi hawnhekk tfisser meta d-dokument ikun lest - 1176 01:09:52,690 --> 01:09:56,830 fi kliem ieħor, ladarba l-browser isir qari dan top fajl għal isfel - 1177 01:09:56,830 --> 01:09:59,200 imorru quddiem u tesegwixxi l-funzjoni li ġejjin. 1178 01:09:59,200 --> 01:10:03,540 X'hemm verament interessanti fil JavaScript - u PHP dan ukoll - 1179 01:10:03,540 --> 01:10:05,450 huwa funzjonijiet anonimi. 1180 01:10:05,450 --> 01:10:10,560 Fil JavaScript inti tista 'tiddikjara l-funzjonijiet li jkollhom l-ebda isem, iżda dawn ma jkollhom korp. 1181 01:10:10,560 --> 01:10:12,570 Avviż dak li qed jiġri hawn. 1182 01:10:12,570 --> 01:10:16,220 >> Din hija funzjoni msejħa lesta, u dan ifisser biss tagħmel dan li ġej 1183 01:10:16,220 --> 01:10:20,220 meta l-paġna web kollu hija lesta, meta dan kollu kien li jinqara mill-server. 1184 01:10:20,220 --> 01:10:23,090 Xi trid tagħmel? Irrid li tesegwixxi blokki ta 'kodiċi. 1185 01:10:23,090 --> 01:10:27,120 Avviż li aħna ma rridux li teżegwixxi dan il-kodiċi id-dritt bogħod. 1186 01:10:27,120 --> 01:10:34,350 Jekk I titħalla barra dan, dan ikun ifisser immedjatament tibda esekuzzjoni ta 'dawn il-linji ta' kodiċi. 1187 01:10:34,350 --> 01:10:39,040 Imma l-fatt li jien tgħid no, no, no, wrap dan funzjoni anonima bħal dan 1188 01:10:39,040 --> 01:10:43,000 mezzi ma esegwit għadu; sejħa hija eventwalment. 1189 01:10:43,000 --> 01:10:45,430 Rajna dan mument ilu fl-eżempju tagħna forma preċedenti. 1190 01:10:45,430 --> 01:10:49,990 Dak il-funzjoni ma nitolbu eventwalment, 500 millisekondi aktar tard? Blink. 1191 01:10:49,990 --> 01:10:51,480 Allura l-idea istess. 1192 01:10:51,480 --> 01:10:53,950 Għal darb'oħra, anke jekk dan jistenna ftit stramb, ħu għal issa fuq il-fidi 1193 01:10:53,950 --> 01:10:57,060 li tiddikjara funzjoni anonimu li sejjaħ eventwalment, 1194 01:10:57,060 --> 01:11:01,720 inti sempliċiment tikteb funzjoni () { 1195 01:11:01,720 --> 01:11:05,380 Allura dak il-kodiċi huma aħna se tesegwixxi eventwalment? Dawn li ġejjin. 1196 01:11:05,380 --> 01:11:10,460 Dan ukoll jistenna ġdid ftit, iżda dan ifisser hawn l-funzjoni jQuery, 1197 01:11:10,460 --> 01:11:13,430 u dan issa huwa shortcut. 1198 01:11:13,430 --> 01:11:18,830 Dan snippet ta HTML fil-qiegħ tal-iskrin ta 'kors għandu xi rappreżentazzjoni siġra. 1199 01:11:18,830 --> 01:11:21,730 Mhuwiex dan. Din il-paġna huwa aktar interessanti minn dan l-eżempju dinja bonjour,. 1200 01:11:21,730 --> 01:11:25,210 Iżda hemm xi siġra li jikkorrispondi għal din il HTML. 1201 01:11:25,210 --> 01:11:28,910 Ikun uġigħ fl-għonq li jkollha biex timplimenta xi tip ta 'funzjoni jirrikorri 1202 01:11:28,910 --> 01:11:34,380 li tibda fil-node għerq u mbagħad isibu l-node li huwa ID reġistrazzjoni. 1203 01:11:34,380 --> 01:11:38,340 Allura dak li jagħmel jQuery super faċli għalina hija litteralment dan. 1204 01:11:38,340 --> 01:11:43,000 Jimxi 'l quddiem u jiksbu me xi div jew forma tkun xi tkun, tkun xi tkun l-element HTML 1205 01:11:43,000 --> 01:11:45,820 għandha ID tar-reġistrazzjoni. 1206 01:11:45,820 --> 01:11:52,440 Dan huwa ekwivalenti għal document.getElementById ("ir-reġistrazzjoni"). 1207 01:11:52,440 --> 01:11:54,170 >> Għaliex in-nies bħal jQuery? 1208 01:11:54,170 --> 01:12:00,110 Għaliex dan huwa iqsar għat-tip. Imma li kollox huwa. Hu l-istess idea. 1209 01:12:00,110 --> 01:12:02,630 Niżżel me l-tikketta li huwa ID reġistrazzjoni. 1210 01:12:02,630 --> 01:12:06,300 U meta dik tikketta, li jiġri li jkun forma, tiġi ppreżentata, 1211 01:12:06,300 --> 01:12:08,300 jimxi 'l quddiem u tesegwixxi dan il-kodiċi. 1212 01:12:08,300 --> 01:12:11,320 Mela ejja tagħti ħarsa 1 issa lejn kif aħna qed tagħmel validazzjoni formola. 1213 01:12:11,320 --> 01:12:15,950 Is-sintassi hija ċertament cryptic fl-ewwel, imma x'inhu għaddej? 1214 01:12:15,950 --> 01:12:21,050 Jekk din il-linja tal-kodiċi huwa veru, jien ser Yell fil-utent biex jipprovdi tiegħu jew tagħha l-indirizz email. 1215 01:12:21,050 --> 01:12:22,970 Allura x'inhi din il-linja tal-kodiċi? 1216 01:12:22,970 --> 01:12:25,560 $ Ifisser jQuery. Issa Avviż dan. 1217 01:12:25,560 --> 01:12:27,920 Dan huwa tip ta 'bħal CSS. 1218 01:12:27,920 --> 01:12:33,370 Jekk inti ħadthom dived fis CSS għadhom, inti ser tkun taf li dan ifisser l-element li huwa ID reġistrazzjoni. 1219 01:12:33,370 --> 01:12:39,840 L-ispazju ifisser isibu tifel jew dixxendent ta 'reġistrazzjoni li ismu huwa input. 1220 01:12:39,840 --> 01:12:42,970 U allura dan ħaġa fil pjazza parentesi huwa filtru ftit. 1221 01:12:42,970 --> 01:12:47,010 U anki jekk dan jistenna cryptic, dan ifisser biss imorru għall-formola li hija ID reġistrazzjoni, 1222 01:12:47,010 --> 01:12:51,230 mur ġewwa element input ta 'dak li ismu huwa email, 1223 01:12:51,230 --> 01:12:55,440 u mbagħad jiksbu l-valur tiegħu, ikun x'ikun il-valur tiegħu jiġri li jkun - 1224 01:12:55,440 --> 01:12:59,670 asdf jekk li kollox I ittajpjat jew malan@harvard.edu jekk dan huwa dak I ittajpjat. 1225 01:12:59,670 --> 01:13:05,250 Allura jekk il-valur ta 'kamp email-formola tal == xejn, Yell fil-utent. 1226 01:13:05,250 --> 01:13:09,700 Inkella jekk il-valur tal-qasam password == xejn, Yell fil-utent. 1227 01:13:09,700 --> 01:13:19,520 >> Inkella jekk il-valur tal-qasam password ma daqs il-valur tal-qasam konferma, 1228 01:13:19,520 --> 01:13:22,850 li kienet l-element forma oħra, Yell fil-utent. 1229 01:13:22,850 --> 01:13:25,680 U mbagħad fl-aħħar - u dan wieħed wisq għandha wħud sintassi ġdida ta 'tiegħu stess, 1230 01:13:25,680 --> 01:13:29,270 iżda li ladarba inti stajt tidher dan, huwa mill-inqas ftit aktar raġonevoli - 1231 01:13:29,270 --> 01:13:34,060 inkella jekk il-formola li hija ID reġistrazzjoni għandu element input li ismu huwa ftehim 1232 01:13:34,060 --> 01:13:39,720 u huwa kkontrollat, imorru quddiem u Yell fuq l-utent. 1233 01:13:39,720 --> 01:13:42,520 So I totalment nammetti li dan huwa kompletament kbira ewwel daqqa t'għajn. 1234 01:13:42,520 --> 01:13:46,530 Huwa ħafna ta 'sintassi ġdid. Iżda kollha ta 'jQuery ġej dawn it-tipi ta' mudelli. 1235 01:13:46,530 --> 01:13:49,880 U onestament, I lanqas biss jafu dan jeżisti sakemm ftit minuti ilu. 1236 01:13:49,880 --> 01:13:53,640 I Googled, "Kif inti tiċċekkja jekk Checkbox hija vverifikata fl jQuery?" 1237 01:13:53,640 --> 01:13:55,680 u dan huwa l-sintassi, għaliex hemm modi differenti ta 'kif isir dan 1238 01:13:55,680 --> 01:13:58,010 bl attwali kodiċi JavaScript prima. 1239 01:13:58,010 --> 01:14:01,030 Hekk kif il-paġna ewwel ta 'Set Problem 7 jenfasizza, 1240 01:14:01,030 --> 01:14:04,500 pset 7 huwa ferm eżerċizzju fil bootstrapping yourself 1241 01:14:04,500 --> 01:14:08,650 fejn konna pprovduti, wieħed jittama, qafas kunċettwali li biex tindirizza l-pset. 1242 01:14:08,650 --> 01:14:12,280 >> Imma kif huwa spiss il-każ ma 'disinn web, huwa sa inti verament li poke madwar, 1243 01:14:12,280 --> 01:14:16,680 jinkorpora siltiet tal-kodiċi u eżempji mill-Web sakemm inti jużawhom 1244 01:14:16,680 --> 01:14:17,960 Skond il-termini dwar l-ewwel folja, 1245 01:14:17,960 --> 01:14:21,460 u jirrealizzaw li t-tagħlim HTML, CSS, JavaScript u anki SQL 1246 01:14:21,460 --> 01:14:26,020 huwa verament maħsub li jkun dan l-eżerċizzju fil-dar kif aħna jibdew jieħdu dawn ir-roti ta 'taħriġ off. 1247 01:14:26,020 --> 01:14:29,150 U jirrealizzaw wisq hemm ħafna affarijiet aktar inti tista 'tagħmel ma' browser. 1248 01:14:29,150 --> 01:14:33,790 Ġewwa ta 'ħafna minn dawn l-elementi hemm affarijiet oħra msejħa handlers avveniment. 1249 01:14:33,790 --> 01:14:37,140 U anki jekk aħna biss ħares lejn dawk imsejħa onsubmit u onready, 1250 01:14:37,140 --> 01:14:40,310 inti tista 'tagħmel affarijiet simili onkeydown, onkeyup, 1251 01:14:40,310 --> 01:14:43,410 bħal meta l-utent tmiss ewlieni, inti tista 'tisma għal dan u l ċavetta. 1252 01:14:43,410 --> 01:14:45,940 Gmail għandha shortcuts tal-keyboard. 1253 01:14:45,940 --> 01:14:49,490 Kif ma Google jimplimentaw shortcuts tal-keyboard bħal C għal compose? 1254 01:14:49,490 --> 01:14:54,120 Huma jisimgħu għal avvenimenti, kif dawn qed jissejjaħ, bħall onkeypress jew onkeyup u onkeydown. 1255 01:14:54,120 --> 01:14:56,360 Jekk inti stajt qatt hovered maws fuq xi għażla menu 1256 01:14:56,360 --> 01:15:00,180 u kollha f'daqqa, voila, a menu jidher jew jibdel il-kulur grafiċi, 1257 01:15:00,180 --> 01:15:01,920 kif huma jagħmlu dan? 1258 01:15:01,920 --> 01:15:06,940 Pjuttost milli jisimgħu għal onready jew onsubmit, inti tisma għall onmouseover jew onmouseout. 1259 01:15:06,940 --> 01:15:10,920 >> Allura fil-qosor, dawn il-punti bażiċi sempliċi ħafna li konna beda tobrox il-wiċċ tal-lum 1260 01:15:10,920 --> 01:15:13,940 u aħna ser adsa wara nhar l-Erbgħa, għandek, dejjem aktar, 1261 01:15:13,940 --> 01:15:17,530 setgħa li jimplimentaw il-tip ta 'affarijiet li int diġà familjari magħhom. 1262 01:15:17,530 --> 01:15:21,620 Mela ejja jieqafx hemm, u aħna ser tkompli dan l-Erbgħa. 1263 01:15:22,690 --> 01:15:24,320 >> [CS50.TV]