1 00:00:00,000 --> 00:00:11,330 2 00:00:11,330 --> 00:00:12,360 >> DAVID Malan: Në rregull. 3 00:00:12,360 --> 00:00:15,970 Kjo është CS50, dhe kjo është fundi i javës së nëntë. 4 00:00:15,970 --> 00:00:18,560 Ka qenë një shakullinë mbi ditët e fundit. 5 00:00:18,560 --> 00:00:21,580 Dhe problemi vendosur shtatë, në qoftë se ju jeni gju thellë në të, të kuptojnë se ka mjaft 6 00:00:21,580 --> 00:00:23,340 bit e re që është në atje. 7 00:00:23,340 --> 00:00:26,660 Por le të shohim nëse ne nuk mund të pjesë çdo gjë së bashku këtu për pak kohë 8 00:00:26,660 --> 00:00:29,230 para se atëherë veering off në ende një tjetër drejtim dhe duke parë 9 00:00:29,230 --> 00:00:30,510 ku tjetër mund të shkojmë. 10 00:00:30,510 --> 00:00:32,630 >> Pra deri tani, ne kemi biseduar për HTML. 11 00:00:32,630 --> 00:00:33,740 Ne kemi folur në lidhje me CSS. 12 00:00:33,740 --> 00:00:34,705 Ne kemi biseduar për PHP. 13 00:00:34,705 --> 00:00:36,520 Ju keni filluar të përjetojnë SQL. 14 00:00:36,520 --> 00:00:38,360 Sot, ne do të flasim pak për JavaScript. 15 00:00:38,360 --> 00:00:41,230 Por si të bëjë të gjitha këto ndryshëm Gjuhë të përshtaten së bashku? 16 00:00:41,230 --> 00:00:44,970 >> Pra, kemi biseduar javën e kaluar në lidhje me Nocioni i të paturit e një server. 17 00:00:44,970 --> 00:00:48,470 Pra, le të vetëm të tërheqë këtë drejtkëndësh si një web server këtu. 18 00:00:48,470 --> 00:00:52,200 Dhe një web server shërben siguri fotografi. 19 00:00:52,200 --> 00:00:54,640 Dhe disa nga ato fotografi mund të jetë fotografi HTML. 20 00:00:54,640 --> 00:00:58,270 Pra, një nga gjërat që një web server mund të nxjerr nga goja mund të jetë një fotografi që 21 00:00:58,270 --> 00:01:01,290 ne do të nxjerrë vetëm si kjo përmban disa HTML. 22 00:01:01,290 --> 00:01:04,786 Pra, në kushtet e laik, çfarë ckemi HTML ju lejojnë të bëni? 23 00:01:04,786 --> 00:01:06,036 >> Audienca: Page look nice. 24 00:01:06,036 --> 00:01:09,670 25 00:01:09,670 --> 00:01:12,310 >> DAVID Malan: OK, të bëjë një faqe të duken bukur, edhe pse unë mendoj se kam provuar 26 00:01:12,310 --> 00:01:13,370 që ndryshe. 27 00:01:13,370 --> 00:01:18,250 Pra HTML do të ju lejojnë të nxjerr faqet strukturore, dhe kjo ju lejon të 28 00:01:18,250 --> 00:01:22,410 lloj aesthetically të shënojë një faqe, shënuar deri përmbajtjen statike, kështu që ju 29 00:01:22,410 --> 00:01:23,640 atëherë mund ta shohin me një shfletues web. 30 00:01:23,640 --> 00:01:24,690 >> Por kjo është çelësi. 31 00:01:24,690 --> 00:01:26,130 Është përmbajtje statike. 32 00:01:26,130 --> 00:01:28,590 Ju shkruani atë, se e ruani, dhe pastaj ju anije atë. 33 00:01:28,590 --> 00:01:31,130 Dhe web server pastaj shërben ajo deri në vizitorët tuaj. 34 00:01:31,130 --> 00:01:35,700 >> Por ne stilizoj gjëra duke përdorur një ndryshme Gjuha e krejt. 35 00:01:35,700 --> 00:01:40,150 Ne kemi filluar të përdorim një atribut stil Etiketimet e caktuara. 36 00:01:40,150 --> 00:01:43,400 Dhe atribut stil le të vendosur gjëra të tilla si madhësia e shkronjave dhe ngjyra. 37 00:01:43,400 --> 00:01:46,460 Dhe ju keni filluar ndoshta për të zbuluar, ose ju së shpejti do të formës së prerë 38 00:01:46,460 --> 00:01:50,160 Projektet potencialisht, ende të tjera pronat që ju mund të përdorni në CSS. 39 00:01:50,160 --> 00:01:54,710 Dhe kështu në kushtet e laik, çfarë atëherë me të vërtetë e bën CSS? 40 00:01:54,710 --> 00:01:57,810 Ata janë vetëm shembuj prej tyre. 41 00:01:57,810 --> 00:02:00,730 Çfarë e bën atë të ju lejojnë të bëni këtë HTML nuk duket se nga ajo që 42 00:02:00,730 --> 00:02:02,606 ne kemi parë deri tani? 43 00:02:02,606 --> 00:02:04,850 >> Audienca: Definimi stilet me veten. 44 00:02:04,850 --> 00:02:06,700 >> DAVID Malan: Definimi stilet me veten. 45 00:02:06,700 --> 00:02:10,280 Pra, të përcaktuar gjëra të tilla si klasat e si ju mund të keni hasur, ose unike 46 00:02:10,280 --> 00:02:13,800 identifikojnë nyjet në një dokument në mënyrë që ju mund të stilizoj ato. 47 00:02:13,800 --> 00:02:16,890 Por, më saktësisht, unë do të them që CSS me të vërtetë ju lejon të marrin gjërat 48 00:02:16,890 --> 00:02:20,790 milje e fundit dhe ju lejon të specifikoni shumë më saktë estetikë, 49 00:02:20,790 --> 00:02:24,340 ndërsa HTML për pjesën më lejon të ju strukturë faqet tuaja. 50 00:02:24,340 --> 00:02:27,310 >> Dhe, edhe pse ka disa standarte, si e pamë tag për 51 00:02:27,310 --> 00:02:30,690 një tag kreut, e cila me përafërsi bërë gjëra të mëdha dhe të guximshme. 52 00:02:30,690 --> 00:02:34,250 Kjo është një përkufizim mjaft të përgjithshme i tag - e madhe dhe të guximshme. 53 00:02:34,250 --> 00:02:35,260 Çfarë font size është se? 54 00:02:35,260 --> 00:02:36,080 Çfarë ngjyre është kjo? 55 00:02:36,080 --> 00:02:36,890 Si të guximshme është se? 56 00:02:36,890 --> 00:02:39,830 Dhe CSS ju lejon të imët më shumë mendje gjëra të tilla si se. 57 00:02:39,830 --> 00:02:42,150 Si dhe plan urbanistik, si disa e ju e keni parë. 58 00:02:42,150 --> 00:02:45,180 >> Dhe sinqerisht, CSS është pak e një gjuhë të çrregullt. 59 00:02:45,180 --> 00:02:48,370 Është shumë e fuqishme në atë që ju mund të bëni fjalë për fjalë çdo faqe interneti që ju keni 60 00:02:48,370 --> 00:02:51,880 parë në internet sot me të, por kjo është lloj i një dhimbje në qafë. 61 00:02:51,880 --> 00:02:54,440 Dhe disa prej jush kanë shembur kokën tuaj kundër mureve tashmë vetëm për të bërë 62 00:02:54,440 --> 00:02:58,560 diçka të trashë si qendër një menu në Problemi vendosur shtatë në qoftë se ju keni marrë për të 63 00:02:58,560 --> 00:02:59,470 kjo pikë tashmë. 64 00:02:59,470 --> 00:03:01,530 >> Por e kuptojnë, ato gjëra të merrni më të lehtë kalimin e kohës. 65 00:03:01,530 --> 00:03:02,820 Ju filloni në njoftim modele. 66 00:03:02,820 --> 00:03:06,020 Dhe përsëri, Google do të jetë miku juaj për mënyrat e ndryshme në të cilat ju mund të 67 00:03:06,020 --> 00:03:07,220 zgjidhur probleme të tilla. 68 00:03:07,220 --> 00:03:11,520 >> Dhe unë guxoj të them me CSS, HTML dhe më shumë në përgjithësi, ju mund të zgjidhin problemet në 69 00:03:11,520 --> 00:03:15,910 shumë më tepër mënyra, të cilat mund shumë mirë të jetë e saktë, se sa ju mund të 70 00:03:15,910 --> 00:03:18,900 në diçka si C, madje edhe tani PHP, ose JavaScript. 71 00:03:18,900 --> 00:03:21,080 Nuk janë vetëm shumë të ndryshme mënyra për të hedhur gjëra jashtë. 72 00:03:21,080 --> 00:03:22,570 >> Por kjo filloi të marrë çrregullt, kemi thënë. 73 00:03:22,570 --> 00:03:26,480 Vetëm lloj i përzien HTML tuaj dhe CSS juaj me atribut stil ishte 74 00:03:26,480 --> 00:03:27,590 pak i lëngshëm. 75 00:03:27,590 --> 00:03:31,460 Dhe kështu që ne vend të kësaj tha, lloj abstrakte të folurit, që ju duhet 76 00:03:31,460 --> 00:03:34,050 të paktën të fillojnë të faktorit nga CSS tuaj ndoshta. 77 00:03:34,050 --> 00:03:37,430 Jo stilin tuaj atributet, por të paktën përdorni tag stil brenda asaj 78 00:03:37,430 --> 00:03:38,840 pjesë e web faqes? 79 00:03:38,840 --> 00:03:39,560 >> Audienca: Shef. 80 00:03:39,560 --> 00:03:40,120 >> DAVID Malan: Në kokë. 81 00:03:40,120 --> 00:03:43,270 Deri tani, ne vetëm kishte titullin deri atje, por ju gjithashtu mund të shtoni një stil 82 00:03:43,270 --> 00:03:47,230 tag, dhe ju mund të bëjnë CSS tuaj afërsisht flet drejtim të lartë të faqes. 83 00:03:47,230 --> 00:03:52,550 Por pastaj ne u gjërat një hap më tej dhe ne faktorë që më shumë 84 00:03:52,550 --> 00:03:54,130 në një file të veçantë. 85 00:03:54,130 --> 00:03:57,240 >> Dhe kështu këto dy fotografi ishin disi tani lidhura. 86 00:03:57,240 --> 00:03:59,550 Dhe me të vërtetë kjo ishte tag që bëri atë. 87 00:03:59,550 --> 00:04:02,920 Dhe ajo ishte një nga prob- motivet për factoring nga CSS tonë 88 00:04:02,920 --> 00:04:04,057 të gjithë më shumë? 89 00:04:04,057 --> 00:04:05,280 >> Audienca: Reusability. 90 00:04:05,280 --> 00:04:05,785 >> DAVID Malan: Reusability. 91 00:04:05,785 --> 00:04:06,150 E drejtë? 92 00:04:06,150 --> 00:04:09,470 Ju mund të keni parë në p-vendosur tashmë shtatë se një shumë e faqeve, 93 00:04:09,470 --> 00:04:12,260 Faqja blerjen, shitjen faqe, Faqja e portofolit, ndoshta janë 94 00:04:12,260 --> 00:04:13,550 strukturuar disi në mënyrë të ngjashme. 95 00:04:13,550 --> 00:04:17,579 Ka një logo financave CS50 në krye nëse ju keni vendosur për të ndryshuar atë. 96 00:04:17,579 --> 00:04:19,839 Ka një footer në fund të faqeve. 97 00:04:19,839 --> 00:04:24,315 Dhe CSS ju lejon pastaj të faktor atë atë në një file të veçantë në mënyrë që nëse 98 00:04:24,315 --> 00:04:27,780 ju doni të ndryshojë diçka në nivel global në të gjithë faqen tuaj, ju mund të vërtetë 99 00:04:27,780 --> 00:04:29,390 vetëm të ndryshojë atë në një vend. 100 00:04:29,390 --> 00:04:32,750 >> Por ka një çmimi që ju paguani potencialisht duke duke faktorë jashtë 101 00:04:32,750 --> 00:04:38,380 CSS dosjen time nga HTML në një të veçantë paraqesin referenca atë me 102 00:04:38,380 --> 00:04:40,650 tag, të cilat ne pamë të hënën. 103 00:04:40,650 --> 00:04:43,850 Çfarë mund të jetë i dobësitë kjo? 104 00:04:43,850 --> 00:04:48,830 Duke menduar përsëri një javë më parë për të, kur ne jemi duke folur për HTTP dhe TCP / IP dhe si 105 00:04:48,830 --> 00:04:52,070 internet punon. 106 00:04:52,070 --> 00:04:53,530 Diçka këtu? 107 00:04:53,530 --> 00:04:54,730 >> Audienca: Kjo merr më shumë kohë. 108 00:04:54,730 --> 00:04:55,470 >> DAVID Malan: Kjo merr më shumë kohë. 109 00:04:55,470 --> 00:04:56,750 Pse? 110 00:04:56,750 --> 00:04:59,450 >> Audienca: [padëgjueshme]. 111 00:04:59,450 --> 00:04:59,750 >> DAVID Malan: Po. 112 00:04:59,750 --> 00:05:01,240 Pra, kjo ndoshta merr pak më shumë kohë. 113 00:05:01,240 --> 00:05:04,290 Për shkak se një, CSS është padyshim jo në të njëjtën lëndës. 114 00:05:04,290 --> 00:05:06,920 Deri tani ju keni për të mos bërë një, por dy kërkesa. 115 00:05:06,920 --> 00:05:11,230 Dhe secili prej këtyre kërkesave siç e pamë në Chrome në të ashtu-quajtur Inspector, 116 00:05:11,230 --> 00:05:15,740 dhe kemi shikuar në skedën e rrjetit, çdo e ato fotografi kërkon një HTTP 117 00:05:15,740 --> 00:05:18,360 kërkesa, të cilat ne pamë merr disa sasinë e kohës. 118 00:05:18,360 --> 00:05:19,290 Tani, ndoshta nuk është shumë. 119 00:05:19,290 --> 00:05:20,670 Ndoshta është vetëm 20 milisekonda. 120 00:05:20,670 --> 00:05:22,260 Ndoshta kjo është 200 milisekonda. 121 00:05:22,260 --> 00:05:25,530 >> Por mendoj se për një faqe si Facebook, ose CNN, apo të Google, të cilat janë shumë më të 122 00:05:25,530 --> 00:05:28,060 më të mëdha se shembujt që kemi shikuar deri tani. 123 00:05:28,060 --> 00:05:32,070 Këto faqe mund të ketë dhjetëra dosjeve, secila prej të cilave mund të kërkojnë një 124 00:05:32,070 --> 00:05:33,550 shkarko fotografish. 125 00:05:33,550 --> 00:05:35,800 Pra, gjërat mund të potencialisht të të fillojë për të ngadalësuar. 126 00:05:35,800 --> 00:05:39,280 >> Dhe sidomos këto ditë kur ne të gjithë kanë telefonat celular në xhepat tonë dhe 127 00:05:39,280 --> 00:05:43,010 lidhje interneti te ngadalte, që ka për prisni një milliseconds pak më shumë, disa 128 00:05:43,010 --> 00:05:46,110 më shumë milisekonda për shtesë fotografi në fakt mund të jetë i ngadalshëm. 129 00:05:46,110 --> 00:05:50,430 Latente është fjala që përshkruan lloj duke pritur që ju keni se ju 130 00:05:50,430 --> 00:05:53,110 përjetojnë kur duke pritur për disa pjesë e informacionit. 131 00:05:53,110 --> 00:05:54,430 >> Por ka një përmbysur. 132 00:05:54,430 --> 00:05:56,600 Pra, kjo nuk është e gjitha një lloj - 133 00:05:56,600 --> 00:05:58,170 ai në fakt është pak e një kolovitem këtu. 134 00:05:58,170 --> 00:06:02,970 Dobësitë tani, por çfarë mund të bëjmë shfletues në qoftë se ata janë të zgjuar për të shmangur 135 00:06:02,970 --> 00:06:08,870 që ka për të kërkuar të njëjtën styles.css paraqesë përsëri mund të jetë për të bërë çfarë? 136 00:06:08,870 --> 00:06:09,390 >> Cache atë. 137 00:06:09,390 --> 00:06:10,370 Pra caching - 138 00:06:10,370 --> 00:06:11,690 C-A-C-H-E - 139 00:06:11,690 --> 00:06:15,810 përgjithësi do të thotë këtu vetëm për të ruajtur kartelën që kërkohet për herë të parë, dhe 140 00:06:15,810 --> 00:06:17,440 atëherë kontrolloni cache tuaj për të. 141 00:06:17,440 --> 00:06:20,400 Kontrolloni ju jeni lloj enë magazinimit, dhe nëse ju tashmë keni një 142 00:06:20,400 --> 00:06:24,520 kopje e styles.css, edhe nëse disa të tjera faqe në p-vendosur, ose ndonjë faqe interneti, 143 00:06:24,520 --> 00:06:28,560 kërkon atë përsëri, vetëm për të dhënë përdorues që kopje njëjta kopje e ruajtur. 144 00:06:28,560 --> 00:06:30,140 Mos u mërzit duke kërkuar atë. 145 00:06:30,140 --> 00:06:32,560 >> Dobësitë atje, edhe pse, si disa nga ju kanë morën përsipër në p-grup të. 146 00:06:32,560 --> 00:06:35,870 Nëse ju bëni një ndryshim në server dhe të ju shkoni përsëri në shfletuesin dhe ju 147 00:06:35,870 --> 00:06:39,250 ringarkoni, nganjëherë shfletuesi bën ju një favor dhe nuk bother 148 00:06:39,250 --> 00:06:43,660 ri-shkarkimit dosja juaj styles.css sepse, eja, cilat janë shanset 149 00:06:43,660 --> 00:06:47,620 se këto stilet që Facebook përdor do të ndryshojë orë për orë ose 150 00:06:47,620 --> 00:06:48,140 ditë për ditë? 151 00:06:48,140 --> 00:06:48,800 Është shumë e ulët. 152 00:06:48,800 --> 00:06:52,260 Ata mund të ndryshojnë me kalimin e kohës, por jo nga minuta ose me ore. 153 00:06:52,260 --> 00:06:55,810 >> Pra, një mashtrim, vetëm FYI kur të bërë web zhvillimin, shpesh mbajnë poshtë 154 00:06:55,810 --> 00:06:59,500 ndryshim kyç për shembull dhe pastaj kliko ringarkoni në shfletuesin tuaj, dhe kjo do të 155 00:06:59,500 --> 00:07:03,280 zakonisht tregoni shfletuesit ringarkoni çdo gjë, edhe nëse ju tashmë keni 156 00:07:03,280 --> 00:07:04,180 ajo në cache. 157 00:07:04,180 --> 00:07:06,630 Pra, përsëri, upsides dhe dobësi, por të gjithë ata 158 00:07:06,630 --> 00:07:08,260 në fund të fundit të hartuar vendime. 159 00:07:08,260 --> 00:07:11,520 >> Deri tani, ne nuk kemi vetëm të përfundojë tregimin këtu. 160 00:07:11,520 --> 00:07:15,790 Nëse unë tani të shkuar mbrapa dhe mbrapa dhe mbrapa dhe mbrapa, kemi filluar për të futur jo vetëm 161 00:07:15,790 --> 00:07:18,060 HTML, por PHP. 162 00:07:18,060 --> 00:07:20,786 Pra, në kushtet e laik, çfarë ckemi PHP le të bëjmë? 163 00:07:20,786 --> 00:07:22,770 >> Audienca: [padëgjueshme]. 164 00:07:22,770 --> 00:07:24,258 >> DAVID Malan: Çfarë është ajo? 165 00:07:24,258 --> 00:07:25,250 >> Audienca: Prezantoni logjikë në kodin. 166 00:07:25,250 --> 00:07:26,620 >> DAVID Malan: Po, të futur logjikë në kodin tuaj. 167 00:07:26,620 --> 00:07:29,570 Pra, kjo është një gjuhë programimi e vërtetë me sythe, dhe variablave, dhe 168 00:07:29,570 --> 00:07:32,620 funksionet dhe konditat dhe gjithë gjërat që ne kemi qenë duke përdorur rrugën prapa 169 00:07:32,620 --> 00:07:33,780 kur që nga zeroja. 170 00:07:33,780 --> 00:07:36,780 Dhe PHP, ne kemi parë, mund të përdoren ose në rreshtin e komandave - ajo 171 00:07:36,780 --> 00:07:39,190 nuk duhet të ketë asgjë të bëjë me internet, edhe pse kjo është 172 00:07:39,190 --> 00:07:43,150 të vërtetë origjina e saj dhe atë që ajo tenton të jetë e mirë në dhe të favorshme për - 173 00:07:43,150 --> 00:07:47,130 por ju mund të përdorni PHP thjesht nga natyra për faktin se ajo ka një të shtypura () 174 00:07:47,130 --> 00:07:49,660 funksion, dhe një printf () funksion, ose një jehonë () funksion. 175 00:07:49,660 --> 00:07:52,440 Ka bunches mënyra që ju mund të shtypura tekstin me PHP. 176 00:07:52,440 --> 00:07:56,540 >> Prandaj, ju mund të përdorni këtë programimit Gjuha të prodhimit saktësisht 177 00:07:56,540 --> 00:07:58,460 atë që ne ishim duke folur për para. 178 00:07:58,460 --> 00:08:01,360 Ju mund të gjenerojnë dinamike HTML tuaj. 179 00:08:01,360 --> 00:08:02,300 Ndoshta jo të gjithë atë. 180 00:08:02,300 --> 00:08:06,460 Ndoshta ju hard gjëra kod, si header, dhe futboll, dhe logo, 181 00:08:06,460 --> 00:08:07,950 dhe fletë tuaj stil, dhe të gjithë se. 182 00:08:07,950 --> 00:08:11,190 Por, për diçka si p-vendosur shtatë, ku jeni manipulimin e stoqeve dhe 183 00:08:11,190 --> 00:08:14,690 duke treguar portofolin e përdoruesit, e cila është do të ndryshojë në mënyrë dinamike, ju mund të 184 00:08:14,690 --> 00:08:18,960 me siguri përdorin PHP dhe logjikën që i jep ju si një gjuhë programimi për 185 00:08:18,960 --> 00:08:22,320 Prodhimi dinamike subsets e faqes. 186 00:08:22,320 --> 00:08:25,900 >> Pra, kur ju flisni për faqet e internetit dinamike, ose programimit web, kjo është 187 00:08:25,900 --> 00:08:27,200 atë që ju jeni të vërtetë duke folur për. 188 00:08:27,200 --> 00:08:31,450 Duke përdorur një gjuhë si PHP, ose gjëra i quajtur Python ose Ruby ose Java ose 189 00:08:31,450 --> 00:08:35,900 ende gjuhë të tjera, për kërkimin e një bazë të dhënash shpesh, ose në një tjetër server, dhe 190 00:08:35,900 --> 00:08:38,580 pastaj fol dinamike jashtë HTML. 191 00:08:38,580 --> 00:08:42,470 >> Tani rezultati përfundimtar, si një mënjanë, është se HTML e faqet e internetit më, 192 00:08:42,470 --> 00:08:45,970 duke përfshirë p-vendosur shtatë juaj, është ndoshta do të jetë një rrëmujë e madhe në qoftë se 193 00:08:45,970 --> 00:08:48,060 ju shikoni në burim Kodi në një shfletues. 194 00:08:48,060 --> 00:08:49,010 Kjo nuk është një punë e madhe. 195 00:08:49,010 --> 00:08:51,550 Në këtë pikë, kur ne lidhje me kujdes stil, ne lidhje me kujdes 196 00:08:51,550 --> 00:08:52,740 gjëra që ju shkruani. 197 00:08:52,740 --> 00:08:56,240 Ne nuk do të kujdeset për gjëra të se ajo që rezultatet tuaja kod. 198 00:08:56,240 --> 00:08:59,520 Pra, mos u bëni merak për vulë këtu nëse është e PHP kjo është 199 00:08:59,520 --> 00:09:01,190 në fakt kompjuteri sende. 200 00:09:01,190 --> 00:09:04,430 Në fund të fundit, shfletuesi nuk do të kujdeset, dhe një njeri nuk do të jetë në kërkim 201 00:09:04,430 --> 00:09:05,400 në burim gjithsesi. 202 00:09:05,400 --> 00:09:09,000 Ne stafi, për shembull, do të të kërkoni në PHP tuaj. 203 00:09:09,000 --> 00:09:13,440 >> Pra më lejoni të jap një shembull të shpejtë tani e pse tjetër kjo mund të jetë e dobishme. 204 00:09:13,440 --> 00:09:18,620 Pra sinqerisht, unë nuk mund të kujtohet fundit kohë kam përdorur C për të zgjidhur një problem në 205 00:09:18,620 --> 00:09:19,620 bota reale. 206 00:09:19,620 --> 00:09:22,330 Ajo ishte ndoshta në shkollën e diplomuar, kur Unë e nevojshme për të përdorur një gjuhë që 207 00:09:22,330 --> 00:09:26,710 ishte mjaft niveli i ulët dhe më dha mundësi për të bërë diçka shumë të lartë 208 00:09:26,710 --> 00:09:30,720 kryerjen me të vërtetë të ruani si CPU shumë cikle si unë mund të, në pjesën më të madhe 209 00:09:30,720 --> 00:09:33,990 sepse unë kam qenë duke përdorur grupe të mëdha të të dhënave, dhe çdo cikël CPU numërohen. 210 00:09:33,990 --> 00:09:37,750 Dhe sinqerisht, madje edhe në gjëra të tilla si telefonat këto ditë dhe pajisje të tjera 211 00:09:37,750 --> 00:09:39,910 ku ju nuk e mjaft të ketë sa më shumë kujtesës dhe ju nuk keni mjaft të ketë si 212 00:09:39,910 --> 00:09:44,160 më shumë CPU, përdorimit të gjuhëve të shpejta është ende tërheqës. 213 00:09:44,160 --> 00:09:47,290 >> Por në botën e vërtetë, kur ju vetëm duan të hedhin ndonjë program së bashku për të 214 00:09:47,290 --> 00:09:50,340 analizuar disa të dhëna, ose ju keni mbledhur një bandë e tërë e regjistrimeve për 215 00:09:50,340 --> 00:09:53,330 disa grup studenti dhe ju doni për të shumë shpejt automate email dërguar 216 00:09:53,330 --> 00:09:56,240 njëra nga një deri në çdo një prej atyre Registrants, ju jeni duke shkuar për të arritur për 217 00:09:56,240 --> 00:09:59,240 një gjuhë të nivelit të lartë se C mënyrë që të flasin. 218 00:09:59,240 --> 00:10:04,060 Diçka si PHP ose Python, Ruby ose, ose një gjysmë duzinë të tjerët që ekzistojnë 219 00:10:04,060 --> 00:10:04,550 këto ditë. 220 00:10:04,550 --> 00:10:07,200 Por ata tre janë ndoshta drejta më të modës tani. 221 00:10:07,200 --> 00:10:10,840 >> Dhe çfarë kjo do të thotë është se ju mund të hapur deri një editor teksti si Gedit ose 222 00:10:10,840 --> 00:10:14,030 çdo gjë më tjetër dhe vetëm pastaj të fillojë shkruar kodin, pa pasur nevojë të shqetësuar 223 00:10:14,030 --> 00:10:17,800 në lidhje me hartimin, pa pasur nevojë të të vërtetë të shqetësuar në lidhje me menaxhimin e kujtesës, 224 00:10:17,800 --> 00:10:20,820 mbajtur në mend se edhe pse pak Pjerrësia përfundimisht do të kthehet 225 00:10:20,820 --> 00:10:24,790 të kafshojë ju në qoftë se të dhënat e merr set të mëdha apo problemi merr madh. 226 00:10:24,790 --> 00:10:27,230 Por çfarë do të thotë kjo për na është vijim. 227 00:10:27,230 --> 00:10:29,860 >> Më lejoni të shkojnë përpara dhe të drejtuar speller nga problemi vendosur gjashtë. 228 00:10:29,860 --> 00:10:33,480 Pra kjo është zbatimi trie bazuar ime që kam përdorur më e madhe 229 00:10:33,480 --> 00:10:35,500 Bordi atje ku nuk kam kryer aq mirë. 230 00:10:35,500 --> 00:10:38,720 Ne do të kthehemi në një kohë të javës dhe sërish ata të cilët ka fund deri në majë 231 00:10:38,720 --> 00:10:40,430 Bordi i madh në ligjëratën tonë të fundit. 232 00:10:40,430 --> 00:10:44,520 Por tani për tani, më lejoni të shkoj përpara dhe vetëm drejtuar zgjidhje tim në tekst, dhe ne do të bëjmë 233 00:10:44,520 --> 00:10:48,460 King James Bible, dhe këtu ne do të shkojmë. 234 00:10:48,460 --> 00:10:51,080 >> Pra, ata janë të gjithë prej gjoja fjalë misspelled jashtë i 235 00:10:51,080 --> 00:10:52,240 King James Bible. 236 00:10:52,240 --> 00:10:55,560 Dhe zbatimi ime mori gjysmën e një të dytë në total. 237 00:10:55,560 --> 00:10:58,270 Pra, nuk është shumë keq për këtë kompjuter veçanti. 238 00:10:58,270 --> 00:11:01,540 Por mendoj se sa kodojnë Unë kisha për të shkruar. 239 00:11:01,540 --> 00:11:02,880 Mendoni se sa Kodi keni pasur për të shkruar. 240 00:11:02,880 --> 00:11:06,170 Mendoni se sa ore keni shpenzuar në D-sallë ose fjetore tuaj ose kudo 241 00:11:06,170 --> 00:11:07,890 në fakt coding deri atë zgjidhje. 242 00:11:07,890 --> 00:11:11,850 >> E pra, në qoftë se unë në fakt kanë një nivel më të lartë Gjuha si PHP, marrë parasysh të 243 00:11:11,850 --> 00:11:13,350 çfarë mund të bëj këtu. 244 00:11:13,350 --> 00:11:16,410 Së pari, mendoj se kjo është në vend Kodi juaj shpërndarjes. 245 00:11:16,410 --> 00:11:17,790 Kjo është një file i quajtur Speller. 246 00:11:17,790 --> 00:11:20,220 Ajo është në dispozicion si pjesë e sotme Kodi i Shpërndarjes. 247 00:11:20,220 --> 00:11:22,670 Dhe unë jam duke shkuar për të tundë dorën time në shumicën e detajeve, por kjo është në fakt 248 00:11:22,670 --> 00:11:25,500 një shembull interesant i sa ju mund të transferoheni një gjuhë 249 00:11:25,500 --> 00:11:28,870 si C mbi të PHP. 250 00:11:28,870 --> 00:11:33,420 Unë fjalë për fjalë u hap dy dritare tekst, një me C versionin tim të Shkruaj një fjalë, 251 00:11:33,420 --> 00:11:36,960 dhe kam filluar atë në përkthimin tim kokë për PHP dhe të shtypni atë duke përdorur 252 00:11:36,960 --> 00:11:38,840 funksionet ekuivalente të afërta. 253 00:11:38,840 --> 00:11:40,100 >> Pra, disa nga këto gjëra janë të ndryshme. 254 00:11:40,100 --> 00:11:43,730 Ne pamë herën e fundit që PHP nuk e përdor përfshijë në mjaft të njëjtën mënyrë. 255 00:11:43,730 --> 00:11:47,050 Ajo përdor kërkojnë në mënyrë tipike, edhe pse përfshijnë ekziston. 256 00:11:47,050 --> 00:11:50,330 Përcaktojnë eshte nje pak i ndryshëm nga Përcaktojnë në C #, por kjo është 257 00:11:50,330 --> 00:11:51,890 se si kemi bërë një konstante. 258 00:11:51,890 --> 00:11:55,860 $ Argc ajo rezulton ekziston në PHP, kështu që ne kemi parë se më parë. 259 00:11:55,860 --> 00:11:58,650 Këto janë vetëm variablat, të gjithë të cilat fillojnë me shenja të dollarit. 260 00:11:58,650 --> 00:12:00,590 Kujtojnë këto janë vetëm një bandë e pikave lundrues. 261 00:12:00,590 --> 00:12:03,970 >> Pra, histori të gjatë të shkurtër, ju jeni të mirëpritur për të shfletoj nëpër këtë nëse kurioz, kjo është 262 00:12:03,970 --> 00:12:10,010 pothuajse një line-për-line konvertimin e Shkruaj një version C në PHP. 263 00:12:10,010 --> 00:12:12,630 Dhe ju mund të bëni këtë përsëri për një gjysmë duzinë gjuhë të tjera. 264 00:12:12,630 --> 00:12:14,910 >> Por ajo që është interesante është kjo. 265 00:12:14,910 --> 00:12:16,910 Apo çfarë është sinqerisht jashtëzakonisht e dobët është kjo. 266 00:12:16,910 --> 00:12:20,790 Më lejoni të shkojnë përpara dhe të shkruani në lidhje me dictionary.php, dhe pretendojnë se unë jam 267 00:12:20,790 --> 00:12:23,670 do të shkojnë përpara dhe të ri-zbatuar Problemi vendosur gjashtë këtu. 268 00:12:23,670 --> 00:12:27,530 >> Pra, le të propozojë parë se në këtë fotografi, të cilat do të zbatohen në 269 00:12:27,530 --> 00:12:30,550 PHP, aq më lejoni të hapur kodet e mia si kjo. 270 00:12:30,550 --> 00:12:34,780 Më lejoni t'ju jap vetes një global ndryshueshme, $ madhësia merr zero. 271 00:12:34,780 --> 00:12:36,710 Dhe unë jam duke shkuar për të dhënë veten një tabelë hash. 272 00:12:36,710 --> 00:12:38,110 Unë do të përdorin një tabelë hash për këtë gjë. 273 00:12:38,110 --> 00:12:42,070 Si unë deklaroj një tabelë hash në PHP? 274 00:12:42,070 --> 00:12:42,990 Done. 275 00:12:42,990 --> 00:12:43,980 OK. 276 00:12:43,980 --> 00:12:48,870 >> Pra, të hapur afër kllapa kllapa përfaqëson atë në PHP, siç e kemi parë? 277 00:12:48,870 --> 00:12:51,850 Një koleksion, por një grup që mund të të jetë një array asociativ. 278 00:12:51,850 --> 00:12:54,320 Një array asociativ është një strukturë e të dhënave që 279 00:12:54,320 --> 00:12:55,860 Çelësat bashkëpunëtorë me vlera. 280 00:12:55,860 --> 00:12:59,430 >> Tani në thjeshte indeksuar numerikisht array, këto çelësat janë ato? 281 00:12:59,430 --> 00:13:02,250 282 00:13:02,250 --> 00:13:03,960 Zero, një, dy, tre, e drejtë? 283 00:13:03,960 --> 00:13:08,780 Vjetër sende shkollë kthyer nga C. Por kjo mund të të jetë edhe vargjet, si dhe foo bar, 284 00:13:08,780 --> 00:13:12,210 ose Maxwell, ose ndonjë varg të tillë. 285 00:13:12,210 --> 00:13:14,240 Kështu që unë mund të levave që në një moment të vetëm. 286 00:13:14,240 --> 00:13:17,550 >> Më lejoni të shkojnë përpara dhe të deklarojë një funksion si - 287 00:13:17,550 --> 00:13:19,020 le të bëjmë load () e parë. 288 00:13:19,020 --> 00:13:20,690 Pra load function (). 289 00:13:20,690 --> 00:13:23,440 Dhe PHP është pak më ndryshe se në fjalë për fjalë që ju shkruani funksion, por ju 290 00:13:23,440 --> 00:13:24,930 nuk shkruani një lloj të kthimit. 291 00:13:24,930 --> 00:13:28,760 Unë jam duke shkuar për të shkuar përpara dhe të thonë se load () Funksioni duhet të marrë në 292 00:13:28,760 --> 00:13:31,000 Argumenti $ fjalor, vetëm si versioni C bëri. 293 00:13:31,000 --> 00:13:32,510 Unë jam duke bërë që nga kujtesa. 294 00:13:32,510 --> 00:13:34,910 >> Dhe unë propozoj që unë jam duke shkuar për të bërë këtë. 295 00:13:34,910 --> 00:13:37,080 Unë jam thjesht duke shkuar për të bërë foreach. 296 00:13:37,080 --> 00:13:40,710 Unë jam duke shkuar për të thirrur një funksion të quajtur skedar (), duke kaluar ne emër te cilat 297 00:13:40,710 --> 00:13:44,990 fotografinë, e cila është e ndryshueshme $ $ Fjalor si fjala. 298 00:13:44,990 --> 00:13:49,410 Dhe pastaj brenda e mia për lak këtu, unë jam do të shkojnë përpara dhe të ruajtur në tim 299 00:13:49,410 --> 00:13:57,440 $ $ Tabela që merr fjala e vërtetë. 300 00:13:57,440 --> 00:13:57,918 Done. 301 00:13:57,918 --> 00:14:01,264 Oh, prisni. 302 00:14:01,264 --> 00:14:02,422 Done. 303 00:14:02,422 --> 00:14:02,760 OK. 304 00:14:02,760 --> 00:14:04,970 >> Kjo është load () Funksioni thonë në PHP. 305 00:14:04,970 --> 00:14:05,865 Tani, pse e bën atë punë? 306 00:14:05,865 --> 00:14:07,010 Dhe unë jam lloj i mashtrimit këtu. 307 00:14:07,010 --> 00:14:09,980 >> Pra, një, foreach pamë shkurtimisht hera e fundit. 308 00:14:09,980 --> 00:14:13,680 Ajo thjesht do të thotë që ju mund të iterate mbi një koleksion pa mërzit me I 309 00:14:13,680 --> 00:14:16,150 dhe n dhe plus plus, dhe të gjithë se. 310 00:14:16,150 --> 00:14:21,350 Fjalori është sigurisht emrin e file, diçka si të mëdha apo të vogla, dy 311 00:14:21,350 --> 00:14:22,830 Fjalorët e kemi përdorur për herë të fundit. 312 00:14:22,830 --> 00:14:26,715 Dokumentit është një funksion që hap tekstin fotografi, lexon atë në rresht pas rreshti, dhe 313 00:14:26,715 --> 00:14:29,840 Duart ju përsëri një koleksion të madh, secilin nga elementet e të cilit është një 314 00:14:29,840 --> 00:14:31,340 Linja nga këtë dosje. 315 00:14:31,340 --> 00:14:36,040 Pra, kjo është kombinimi i fopen, dhe fread, dhe ndërsa loop, dhe Shkrimi, 316 00:14:36,040 --> 00:14:37,080 dhe të gjithë se. 317 00:14:37,080 --> 00:14:40,150 Së fundi, si fjala thjesht do të thotë se është variabël unë jam do të ketë qasje në 318 00:14:40,150 --> 00:14:41,890 në çdo ripërsëritje në këtë lak. 319 00:14:41,890 --> 00:14:46,910 >> Pra me pak fjalë, kjo do të thotë një avion i linjës këtu të hapur skedarin emri i të cilit është në 320 00:14:46,910 --> 00:14:50,750 fjalor, e ndryshueshme, iterate mbi ajo rresht pas rreshti, dhe çdo herë që ju të merrni 321 00:14:50,750 --> 00:14:54,290 një linjë, dyqan në një fjalë të ndryshueshme të quajtur, dhe pastaj të bëjë diçka me fjalën. 322 00:14:54,290 --> 00:14:55,280 Çfarë doni të bëni? 323 00:14:55,280 --> 00:14:58,110 Unë dua të vënë fjalën në tryezën time hash. 324 00:14:58,110 --> 00:15:00,860 >> E pra, unë mund të vënë diçka në tim tabelë hash ashtu si në C 325 00:15:00,860 --> 00:15:02,140 duke përdorur kllapa katrore. 326 00:15:02,140 --> 00:15:03,660 Ky është emri për tryezën time hash. 327 00:15:03,660 --> 00:15:07,180 Unë jam duke shkuar për në indeksin që hash Tabela në këtë vend. 328 00:15:07,180 --> 00:15:08,920 Pra, nuk parantezë zero, nuk kllapa një. 329 00:15:08,920 --> 00:15:11,990 Quote Bracket mbyll thonjëzat diçka, çfarëdo që është fjala. 330 00:15:11,990 --> 00:15:15,200 Dhe ashtu si ju mund të keni në tuaj Puna hash table trie, ju vetëm dyqan 331 00:15:15,200 --> 00:15:17,650 efektivisht një Boolean, në mënyrë implicite ose në mënyrë eksplicite. 332 00:15:17,650 --> 00:15:18,260 Done. 333 00:15:18,260 --> 00:15:20,000 Unë jam ruajtjen vlera e vërtetë. 334 00:15:20,000 --> 00:15:23,150 >> Tani ka disa gjëra të Unë jam prerja qoshet këtu. 335 00:15:23,150 --> 00:15:27,720 Teknikisht, nuk do të jetë një Linja bezdisshëm i ri, / n, në fund të 336 00:15:27,720 --> 00:15:28,820 secila prej këtyre fjalëve. 337 00:15:28,820 --> 00:15:31,770 Kështu që unë ndoshta duhet të thërrasë një funksion PHP pres quajtur (), i cili do të 338 00:15:31,770 --> 00:15:33,460 mjaft fjalë për fjalë pres atë off. 339 00:15:33,460 --> 00:15:35,020 Dhe unë në fakt duhet të të bëjë një gjë tjetër. 340 00:15:35,020 --> 00:15:38,380 Unë ndoshta duhet të Zmadhimi i madhësisë në secilin përsëritje, kështu që unë jam mbajtja 341 00:15:38,380 --> 00:15:39,560 globalisht i se çfarë është ajo. 342 00:15:39,560 --> 00:15:43,180 Dhe sinqerisht, dhe kjo është një nga Aspektet stupider e PHP, nëse ju jeni 343 00:15:43,180 --> 00:15:46,950 duke përdorur një ndryshore globale, ju keni nevojë për në mënyrë eksplicite për të thonë se ju jeni. 344 00:15:46,950 --> 00:15:51,670 Kështu që unë jam duke shkuar për të vërtetë shkruani globale $ Madhësia, globale $ tavolinë, dhe tani 345 00:15:51,670 --> 00:15:52,690 Funksioni im është i plotë. 346 00:15:52,690 --> 00:15:57,475 >> Pra, nuk është mjaft aq e thjeshtë si më parë, por ndoshta mori më pak kohë sesa C 347 00:15:57,475 --> 00:15:58,220 version, ndoshta? 348 00:15:58,220 --> 00:15:58,730 OK. 349 00:15:58,730 --> 00:16:00,390 >> Pra, tani le të bëjë kontroll () funksion. 350 00:16:00,390 --> 00:16:04,300 Le të shohim nëse kjo të paktën mori orë në fund se ai na mori në C. Pra, 351 00:16:04,300 --> 00:16:06,500 më lejoni të shkoj përpara dhe të deklarojë shikoni si një funksion. 352 00:16:06,500 --> 00:16:09,070 Merr në fjalën e argumentit, e cila është do të vijnë nga speller. 353 00:16:09,070 --> 00:16:13,410 Dhe unë jam vetëm duke shkuar për të kontrolluar nëse pas ndryshueshme, tavolinë isset 354 00:16:13,410 --> 00:16:18,400 strtolower parantezë e fjalës - 355 00:16:18,400 --> 00:16:20,590 le të balancuar të gjitha kllapa e mia - 356 00:16:20,590 --> 00:16:24,275 pastaj kthehen e vërtetë. 357 00:16:24,275 --> 00:16:27,020 358 00:16:27,020 --> 00:16:28,460 Else - 359 00:16:28,460 --> 00:16:30,330 se ishte me të vërtetë e vështirë pjesë e këtij programi. 360 00:16:30,330 --> 00:16:31,940 Tjetër, kthimit të rreme. 361 00:16:31,940 --> 00:16:32,630 Done. 362 00:16:32,630 --> 00:16:33,460 Kjo është çeku (). 363 00:16:33,460 --> 00:16:34,520 >> Tani, pse e bën këtë punë? 364 00:16:34,520 --> 00:16:37,040 E pra, e kam kaluar në një fjalë, cila eshte nje varg. 365 00:16:37,040 --> 00:16:41,400 Dy, unë jam duke kontrolluar në brendësi të hash tavolinë, i cili është quajtur $ tryezë. 366 00:16:41,400 --> 00:16:45,470 Unë jam duke e detyruar atë për të me të vogla duke telefonuar tolower një funksion mjaft i ngjashëm () në 367 00:16:45,470 --> 00:16:48,580 C, por kjo e bën krejt fjalën, jo një karakter të vetëm. 368 00:16:48,580 --> 00:16:52,680 Dhe në qoftë se që është vendosur, me fjalë të tjera nuk është një grup vlera, me fjalë të tjera, 369 00:16:52,680 --> 00:16:54,880 në qoftë se ajo është e vërtetë, atëherë po, kjo është një fjalë. 370 00:16:54,880 --> 00:16:56,530 Sepse unë e vënë atë atje me ngarkesë (). 371 00:16:56,530 --> 00:16:59,100 Dhe nëse jo, unë jam duke shkuar për t'u kthyer rreme. 372 00:16:59,100 --> 00:17:00,090 >> Tani të tjerët janë të lehtë. 373 00:17:00,090 --> 00:17:03,570 Madhësia Funksioni (), si mund ta bëni këtë? 374 00:17:03,570 --> 00:17:05,230 Unë në thelb do të kthehen $ madhësinë. 375 00:17:05,230 --> 00:17:07,770 Por unë teknikisht duhet të bëni këtë gjë të bezdisshëm. 376 00:17:07,770 --> 00:17:10,640 Dhe në të vërtetë deri dëgjoni, unë ishte prerja e një qoshe shumë. 377 00:17:10,640 --> 00:17:12,920 Unë me të vërtetë duhet të bëni globale tryezë $. 378 00:17:12,920 --> 00:17:16,260 >> Por që u tha, shkarkoj). 379 00:17:16,260 --> 00:17:17,380 Shkarkoj () është e mahnitshme. 380 00:17:17,380 --> 00:17:20,500 Funksioni shkarkoj (). 381 00:17:20,500 --> 00:17:23,990 Si mund unë dua për të zbatuar shkarkoj ()? 382 00:17:23,990 --> 00:17:25,079 Done. 383 00:17:25,079 --> 00:17:25,450 OK. 384 00:17:25,450 --> 00:17:28,900 >> Pra shkarkoj (), menaxhimin e kujtesës është mjekuar plotësisht e për ju në 385 00:17:28,900 --> 00:17:31,800 diçka si PHP dhe një shumë i nivelit të lartë gjuhët. 386 00:17:31,800 --> 00:17:32,600 Pra, kjo është e mahnitshme. 387 00:17:32,600 --> 00:17:36,080 Ashtu si pse dreqin kemi shpenzuar kaluara tetë javë plus në shkrim C 388 00:17:36,080 --> 00:17:41,030 me sa duket me të vërtetë i ngadalshëm, me të vërtetë koha Problemet e konsumojnë me dhjetëra orë 389 00:17:41,030 --> 00:17:42,530 i punës nën rripa tona? 390 00:17:42,530 --> 00:17:46,110 >> E pra, për një gjë, kjo mund të punojnë gjobë për programe të vogla. 391 00:17:46,110 --> 00:17:47,840 Kjo sigurisht sped up my Ora zhvillimit. 392 00:17:47,840 --> 00:17:49,790 Por le të shohim se çfarë ndodh në botën reale. 393 00:17:49,790 --> 00:17:52,370 >> Më lejoni të shkojë në këtë directory në një dritare terminali. 394 00:17:52,370 --> 00:17:53,370 Ka Speller. 395 00:17:53,370 --> 00:17:56,570 Dhe vini re si një mënjanë, dhe ju mund të kanë hasur në këtë grup në zgjidhjen 396 00:17:56,570 --> 00:17:58,190 gjashtë apo problem i ngritur shtatë. 397 00:17:58,190 --> 00:18:01,610 Ju nuk keni për të në mënyrë rigoroze të përfundojë me fotografi PHP. php. 398 00:18:01,610 --> 00:18:05,250 Nëse ju vendosni një rresht si atë të parin në shumë të lartë, që është një linjë të veçantë 399 00:18:05,250 --> 00:18:10,980 e sintaksës që në thelb do të thotë të gjetur program të quajtur PHP dhe e përdorin atë për të 400 00:18:10,980 --> 00:18:12,270 interpretojnë këtë skedar. 401 00:18:12,270 --> 00:18:15,410 Deri tani askush nuk e di se Unë jam drejtimin e një program PHP. 402 00:18:15,410 --> 00:18:19,860 Unë mund të kandidojë atë vetëm sikur ajo ishin diçka e përpiluar në C. 403 00:18:19,860 --> 00:18:20,650 >> Por këtu është gjë. 404 00:18:20,650 --> 00:18:21,600 Në fakt, le të bëjë këtë përsëri. 405 00:18:21,600 --> 00:18:23,530 Dropbox/pset6 /. 406 00:18:23,530 --> 00:18:25,390 Ka Speller. 407 00:18:25,390 --> 00:18:26,720 OK, 0.44 sekonda. 408 00:18:26,720 --> 00:18:28,080 Ajo mori të shpejtë këtë kohë. 409 00:18:28,080 --> 00:18:29,745 >> Tani le të shkojë në versionin e PHP. 410 00:18:29,745 --> 00:18:43,070 411 00:18:43,070 --> 00:18:44,320 Gëzohem kontakt. 412 00:18:44,320 --> 00:18:50,830 413 00:18:50,830 --> 00:18:53,285 Por thjesht mendoj se sa kohë Kam ruajtur në orët e zyrës. 414 00:18:53,285 --> 00:18:56,990 415 00:18:56,990 --> 00:18:57,790 OK. 416 00:18:57,790 --> 00:19:01,020 >> Pra 3,59 sekonda, e cila në fakt nuk do të tingëllojë si i saktë ose. 417 00:19:01,020 --> 00:19:03,710 Por kjo është për shkak histori të gjatë të shkurtër, kur ju jeni shtypje nga një sasi të madhe 418 00:19:03,710 --> 00:19:06,840 e stuff në ekran, që Vetë ngadalëson gjëra poshtë. 419 00:19:06,840 --> 00:19:11,260 Çfarë me të vërtetë mori në CPU aplikim ishte 3,59 sekonda, në 420 00:19:11,260 --> 00:19:15,260 Kontrasti në C, e cila mori 0.44 sekonda më së fundi. 421 00:19:15,260 --> 00:19:17,620 Kjo është me të vërtetë një urdhër i magnitudë ndryshme. 422 00:19:17,620 --> 00:19:20,280 >> Pra, ku është çmimi që vjen nga? 423 00:19:20,280 --> 00:19:21,790 Pse është kaq shumë më e ngadalshme? 424 00:19:21,790 --> 00:19:24,220 Pse nuk PHP kryejnë aq dobët? 425 00:19:24,220 --> 00:19:25,242 Danielle? 426 00:19:25,242 --> 00:19:26,550 >> Audienca: Ju nuk e bëri me të vërtetë përdorin një tabelë hash. 427 00:19:26,550 --> 00:19:27,710 >> DAVID Malan: Unë nuk e bëri me të vërtetë përdorin një tabelë hash. 428 00:19:27,710 --> 00:19:28,760 Kështu që unë lloj i bëri. 429 00:19:28,760 --> 00:19:29,870 Pra, kjo është një koleksion asociative. 430 00:19:29,870 --> 00:19:33,650 Më shumë gjasa, nëse njerëzit në PHP janë me të vërtetë i zgjuar, ata kanë përdorur nën 431 00:19:33,650 --> 00:19:39,520 individualitet një tryezë aktuale hash zbatuar në diçka si C ose C + +. 432 00:19:39,520 --> 00:19:41,290 Por. 433 00:19:41,290 --> 00:19:42,760 Po. 434 00:19:42,760 --> 00:19:44,010 >> Audienca: [padëgjueshme]. 435 00:19:44,010 --> 00:19:46,690 436 00:19:46,690 --> 00:19:47,080 >> DAVID Malan: Po. 437 00:19:47,080 --> 00:19:50,780 Pra, secili nga funksionet e shkrova tani - në fakt, mund të ju them se një herë më shumë një 438 00:19:50,780 --> 00:19:51,480 pak louder? 439 00:19:51,480 --> 00:19:54,509 >> Audienca: Secili nga funksionet që ju përfshihet ka shumë më shumë të plotë 440 00:19:54,509 --> 00:19:56,610 Kapaciteti se - 441 00:19:56,610 --> 00:19:57,550 >> DAVID Malan: Pra, kjo është shumë e vërtetë. 442 00:19:57,550 --> 00:20:01,490 Ka shumë më lart se ne jemi jo të vërtetë duke parë duke u përqendruar vetëm në 443 00:20:01,490 --> 00:20:03,730 dictionary.php, të cilën unë vetëm shkruante. 444 00:20:03,730 --> 00:20:08,020 Nga ana tjetër, ka një përkthyes të tërë shkon në sfond. 445 00:20:08,020 --> 00:20:12,040 Në të vërtetë, kur unë u zhvillua këtë program, ajo nuk ishte drejtimin zero përpiluar dhe ato 446 00:20:12,040 --> 00:20:14,290 projektuar për Intel CPU time. 447 00:20:14,290 --> 00:20:19,270 Përkundrazi, ajo ishte duke ecur rresht pas rreshti Kodi PHP që duket tamam 448 00:20:19,270 --> 00:20:20,350 si ne e shtypur atë. 449 00:20:20,350 --> 00:20:22,475 Dhe kështu sa herë që ju përdorni një gjuha e interpretuar, ju 450 00:20:22,475 --> 00:20:23,850 të bëjë në fakt paguajnë këtë çmim. 451 00:20:23,850 --> 00:20:27,010 Ajo do të marrë disa kohë për të lexuar top tuaj fotografi deri në fund, u largua për të 452 00:20:27,010 --> 00:20:30,740 drejtë, dhe pastaj të ekzekutojë çdo vijë përsëri dhe përsëri. 453 00:20:30,740 --> 00:20:34,250 >> Tani, në realitet, sidomos në internet, ju në fakt mund të përshpejtojë këtë proces 454 00:20:34,250 --> 00:20:38,660 caching nga rezultatet e Kodi PHP duke u interpretuar. 455 00:20:38,660 --> 00:20:41,640 Dhe kjo ka kuptim në internet, sepse në qoftë se ju nuk keni një përdorues si 456 00:20:41,640 --> 00:20:46,300 mua këtu, por 1000 ose 10,000 përdoruesit, atëherë ndoshta hera e parë që skedari është 457 00:20:46,300 --> 00:20:49,050 arrihen është i ngadalshëm, por më pas kjo është shumë më e shpejtë. 458 00:20:49,050 --> 00:20:51,000 >> Por kjo shumë, përsëri, është një tregti off. 459 00:20:51,000 --> 00:20:53,870 Dhe për diçka si një të dhënave kërkimore caktuar, apo edhe diçka e madhe si 460 00:20:53,870 --> 00:20:58,330 kjo, përdoruesit e juaj përfundimisht do të të fillojnë të mendojnë se ngadalësim. 461 00:20:58,330 --> 00:21:02,670 >> Gjuhë Pra me pak fjalë, janë interpretuar shumë në modë, shumë popullor, dhe 462 00:21:02,670 --> 00:21:06,710 sinqerisht ndoshta janë gjuhët që ju duhet të arrijnë kur për zgjidhjen e problemeve 463 00:21:06,710 --> 00:21:08,200 të mëvonshme për CS50. 464 00:21:08,200 --> 00:21:12,720 Por të kuptojë se sa ju jeni me të vërtetë duke marrë për të dhënë nën kapuç 465 00:21:12,720 --> 00:21:15,910 vërtetë ato disa javëve të fundit në Hash tavolina, dhe pemët, dhe përpiqet, 466 00:21:15,910 --> 00:21:20,770 të cilat janë përdorur në fund të fundit që në fakt zbatojë gjëra të tilla si parantezë të hapur, 467 00:21:20,770 --> 00:21:24,200 kllapa katrore, të cilat ne tani mund të mirënjohje të marrë për të dhënë. 468 00:21:24,200 --> 00:21:26,360 >> Pra, le të marrin një vështrim tani në këtë kontekst web. 469 00:21:26,360 --> 00:21:29,890 Dhe unë u përmend për herë të fundit që ka një bandë e superglobals në PHP që 470 00:21:29,890 --> 00:21:32,490 nuk janë me të vërtetë të rëndësishme në vijën komanduese. 471 00:21:32,490 --> 00:21:36,210 Ata janë më relevante në kontekstin i përdorur PHP në një kontekst web. 472 00:21:36,210 --> 00:21:41,220 Pra, running PHP në një web server në mënyrë që për të gjeneruar të stuff like HTML. 473 00:21:41,220 --> 00:21:44,540 >> Dhe ne lëshoi ​​në $ _GET dhe $ _POST, dhe kjo është ajo ku përdoruesit automatikisht ' 474 00:21:44,540 --> 00:21:49,100 input përfundon në qoftë se ju thjesht të paraqesë një formuar në një skedar përfundon në. php në një web 475 00:21:49,100 --> 00:21:50,460 server si aplikim. 476 00:21:50,460 --> 00:21:53,310 Por le të shohim shkurtimisht në _COOKIE _SESSION $ Dhe $. 477 00:21:53,310 --> 00:21:56,670 >> Në terma laik, çfarë është një cookie si ju e kuptoni atë në kontekstin e 478 00:21:56,670 --> 00:21:58,220 duke përdorur web? 479 00:21:58,220 --> 00:21:59,450 >> Audienca: dokumentit në kompjuter. 480 00:21:59,450 --> 00:21:59,920 >> DAVID Malan: Po. 481 00:21:59,920 --> 00:22:03,500 Kjo është një skedar në kompjuterin e përdoruesit mbjellë me çfarëdo website 482 00:22:03,500 --> 00:22:04,410 ju ndodh që të vizitoni. 483 00:22:04,410 --> 00:22:07,334 Pra, kur ju shkoni në Facebook, kur ju shkoni për bankofamerica.com, kur shkoni 484 00:22:07,334 --> 00:22:10,330 në google.com, kur ju shkoni në pothuajse çdo faqen e internetit në botë këto ditë, 485 00:22:10,330 --> 00:22:14,850 përfshirë cs50.net, një cookie është mbjellë on kompjuterit tuaj, e cila eshte 486 00:22:14,850 --> 00:22:19,800 ose një vlerë ruajtur në RAM në tuaj kompjuter në kujtesën e shfletuesit tuaj, ose 487 00:22:19,800 --> 00:22:22,800 ndonjëherë me të vërtetë një skedar ruhet në hard drive tuaj. 488 00:22:22,800 --> 00:22:26,960 >> Dhe çfarë është ruajtur në mënyrë tipike në këtë dosje nuk është emri juaj i përdoruesit, nuk tuaj 489 00:22:26,960 --> 00:22:31,060 password, zakonisht nuk është diçka ndjeshme nëse e internetit nuk është aq 490 00:22:31,060 --> 00:22:35,040 mirë me sigurinë e tyre, por më tepër ajo është një identifikues unik i madh në mesin e 491 00:22:35,040 --> 00:22:35,680 gjëra të tjera. 492 00:22:35,680 --> 00:22:38,920 Është një numër i madh të rastit mbjellë në tuaj kompjuter, por ju mund të mendoni si 493 00:22:38,920 --> 00:22:42,740 lloj i një vule dore virtuale si nga një klub ose disa amusement park që 494 00:22:42,740 --> 00:22:47,160 lejon stafi, pronarët e që shërbimit, për të kujtuar se kush jeni. 495 00:22:47,160 --> 00:22:51,030 Pra, nëse numri i madh të rastit është si 12345678, edhe pse kjo është padyshim 496 00:22:51,030 --> 00:22:54,180 jo shumë të rastit, mendoj se si Vula dorë se kur ju vizitoni 497 00:22:54,180 --> 00:22:57,930 facebook.com për herë të parë, ata vulosë atë numër në dorën tuaj. 498 00:22:57,930 --> 00:23:01,510 Dhe pastaj për shkak se ju flisni http, ju duke qenë një shfletues, dhe për shkak të Facebook 499 00:23:01,510 --> 00:23:06,440 padyshim flet njëjtë si një web server, HTTP protokoll thotë se 500 00:23:06,440 --> 00:23:09,930 çdo kohë që ju vizitoni më vonë facebook.com, nëse kjo është një e dytë 501 00:23:09,930 --> 00:23:13,560 më vonë, një orë më vonë, edhe të nesërmen, aq kohë sa ju nuk e keni në mënyrë eksplicite 502 00:23:13,560 --> 00:23:17,050 Anglisht jashtë, e cila efektivisht është si larja e duarve tuaja. 503 00:23:17,050 --> 00:23:20,280 HTTP thotë se ju duhet të paraqesë tuaj t'ia vulosë çdo herë që 504 00:23:20,280 --> 00:23:22,020 kthehen në këtë website. 505 00:23:22,020 --> 00:23:24,390 >> Çfarë atëherë Facebook do të është se ata shikoni në atë vulë dore dhe 506 00:23:24,390 --> 00:23:26,850 ata thonë, oh, 123456789. 507 00:23:26,850 --> 00:23:30,260 Unë nuk e di në shikim të parë se ky është David Malan në Kembrixh, 508 00:23:30,260 --> 00:23:34,690 Massachusetts, por ata mund të kontrolloni e tyre Baza e të dhënave dhe të thonë, oh, personi 509 00:23:34,690 --> 00:23:39,930 on cilit kompjuter ne mbjellë 123456789 është David Malan nga Kembrixh, 510 00:23:39,930 --> 00:23:40,440 Massachusetts. 511 00:23:40,440 --> 00:23:46,000 Le të tregojnë se përdoruesi atëherë profilin e tij faqe ose Feed Lajme tij. 512 00:23:46,000 --> 00:23:49,660 >> Por ka një problem këtu, nëse kjo është se si web të vërtetë punon. 513 00:23:49,660 --> 00:23:51,390 Le të hidhni një sy në një shembull të shpejtë. 514 00:23:51,390 --> 00:23:55,190 Le të shkojë në të vërtetë për të thënë facebook.com. 515 00:23:55,190 --> 00:23:58,130 Por, para se të mund të shkojë atje, le të Më të shkojnë përpara dhe të hapur Chrome-së 516 00:23:58,130 --> 00:23:59,790 Inspektori poshtë këtu. 517 00:23:59,790 --> 00:24:01,140 Më lejoni të shikoni në skedën e rrjetit. 518 00:24:01,140 --> 00:24:06,020 Dhe tani le të shkojnë përpara dhe të shtypni në https://facebook.com. 519 00:24:06,020 --> 00:24:09,410 Dhe unë jam duke bërë atë mënyrë që ne nuk e shohim të gjithë ata përcjellime dhe mbeturinave 520 00:24:09,410 --> 00:24:10,660 kohë duke kërkuar nëpërmjet atyre. 521 00:24:10,660 --> 00:24:12,690 Më lejoni hit enter. 522 00:24:12,690 --> 00:24:13,130 >> Dakord. 523 00:24:13,130 --> 00:24:14,580 Ne e shohim një bandë e tërë e kërkesave. 524 00:24:14,580 --> 00:24:15,640 Ka vjen Facebook. 525 00:24:15,640 --> 00:24:16,930 Ka një bandë e tërë e dosjeve. 526 00:24:16,930 --> 00:24:19,290 Dhe këtu, për përmendjen e mia kohë latente e fundit, kjo është 527 00:24:19,290 --> 00:24:21,240 një shumë e kërkesave HTTP. 528 00:24:21,240 --> 00:24:23,700 Por e para është ndoshta më interesante. 529 00:24:23,700 --> 00:24:26,420 >> Pra, le të shkoni poshtë këtu, dhe Unë do të zoom në në një të dytë. 530 00:24:26,420 --> 00:24:29,090 Kjo do të jetë lloj i një rrëmujë, por le të shohim. 531 00:24:29,090 --> 00:24:31,660 Facebook po dërgon na një tërë bandë e sende. 532 00:24:31,660 --> 00:24:33,490 >> Por ee, interesante. 533 00:24:33,490 --> 00:24:37,880 Ata janë mbjelljen e jo një, por katër pulla dore onto duart e mia këtu. 534 00:24:37,880 --> 00:24:40,400 Set-cookie, Set-cookie, set-cookie, set-cookie. 535 00:24:40,400 --> 00:24:44,030 Dhe ka disa karakteristika këtu. 536 00:24:44,030 --> 00:24:46,170 Të gjithë ata të përmendur disa lloj skadimit. 537 00:24:46,170 --> 00:24:50,090 Dhe kjo duket si Facebook është duke shpresuar për të kujtuar mua deri në vitin 2015. 538 00:24:50,090 --> 00:24:53,670 Pra, kjo është me sa duket koha me të cilën Unë duhet të hyni nga, ose ata do të thjesht 539 00:24:53,670 --> 00:24:55,710 automatikisht të marrë Jam nuk vijnë. 540 00:24:55,710 --> 00:24:57,840 Pra, kjo është në fakt një të mirë Sasinë e kohës. 541 00:24:57,840 --> 00:24:59,170 >> Dhe ka disa të tjera gjëra të ndodh këtu. 542 00:24:59,170 --> 00:25:03,036 Kjo cookie duket të jetë me forcë fshihet duke thënë se ai përfundoi në vitin 1970 543 00:25:03,036 --> 00:25:04,460 para biskota ekzistuar. 544 00:25:04,460 --> 00:25:06,510 Pra, shfletuesi është vetëm do të marrë OK, kjo është si 545 00:25:06,510 --> 00:25:07,910 larja vulën duart. 546 00:25:07,910 --> 00:25:11,240 >> Por tani kur shfletuesi im bën një kërkesë të mëvonshme - 547 00:25:11,240 --> 00:25:14,340 më lejoni të shkoj përpara dhe të bëjë këtë përsëri dhe reload. 548 00:25:14,340 --> 00:25:18,170 Tani më lejoni të shkoni përsëri në Kërkesa e lartë dhe të shkojnë poshtë 549 00:25:18,170 --> 00:25:20,760 këtu, të kërkojë headers. 550 00:25:20,760 --> 00:25:21,390 Vini re këtë. 551 00:25:21,390 --> 00:25:25,280 Deri tani unë jam nën jo headers përgjigje, por vini re ai thotë kërkesë headers. 552 00:25:25,280 --> 00:25:29,220 Dhe vini re se shfletuesit e mia si pjesë e Kërkesa e tij pas goditur ringarkoni ka 553 00:25:29,220 --> 00:25:32,780 dërguar paktën vijim informacionit. 554 00:25:32,780 --> 00:25:34,670 Nuk është caktuar-cookie, por cookie. 555 00:25:34,670 --> 00:25:38,750 Pra, kjo është vija, HTTP header kështu për të folur, ku shfletuesi im është lloj 556 00:25:38,750 --> 00:25:43,340 e pa e ditur tim të paraqitur dora ime për inspektim Facebook. 557 00:25:43,340 --> 00:25:46,020 >> Pra, këto cookie mund të jetë përdorur pastaj për çfarë? 558 00:25:46,020 --> 00:25:49,420 Për të mos harroni se kush jeni, apo të kujtohet se si shumë herë ju keni qenë atje, ose 559 00:25:49,420 --> 00:25:50,280 me të vërtetë asgjë. 560 00:25:50,280 --> 00:25:52,742 >> Kështu që këtu është counter.php. 561 00:25:52,742 --> 00:25:53,780 Dhe më lejoni të zoom në në font. 562 00:25:53,780 --> 00:25:58,380 Dhe çdo herë që unë rifreskoni këtë faqe, njoftim ajo duke kujtuar se sa herë 563 00:25:58,380 --> 00:25:59,250 Unë kam qenë atje. 564 00:25:59,250 --> 00:26:00,570 E pra, kjo nuk është e gjitha që mbresëlënëse. 565 00:26:00,570 --> 00:26:03,140 Le të vetëm afër atë tab, dhe tani le të kthehemi në 566 00:26:03,140 --> 00:26:07,860 http://localhost/counter.php. 567 00:26:07,860 --> 00:26:08,970 >> Oh, kjo është interesante. 568 00:26:08,970 --> 00:26:10,960 Ajo ende mend, madje edhe pse unë mbyllur tab. 569 00:26:10,960 --> 00:26:14,010 Dhe sinqerisht, në qoftë se unë të mbyllur shfletuesit, nëse zbatohet në mënyrë të drejtë, unë 570 00:26:14,010 --> 00:26:18,950 ende mund të mbani mend se ky përdorues është që ai ose ajo ishte hera e parë, dhe 571 00:26:18,950 --> 00:26:22,840 vetëm një herë kam shkuar në menynë Chrome, i cili këtu është këtu, dhe të shkojnë në 572 00:26:22,840 --> 00:26:25,990 Historia, dhe klikoni Qartë Shfletim dhënave, si disa nga ju mund të kenë në 573 00:26:25,990 --> 00:26:33,050 e kaluara, vetëm atëherë do cookies në të vërtetë të fshihet gjatë web 574 00:26:33,050 --> 00:26:33,970 zhvillimit. 575 00:26:33,970 --> 00:26:35,340 >> Pra, nëse ne do të shkojmë - 576 00:26:35,340 --> 00:26:37,080 le të mbyll gedit këtu. 577 00:26:37,080 --> 00:26:38,910 Dhe nëse ne do të shkojmë tani tek kjo skedë. 578 00:26:38,910 --> 00:26:44,210 Më lejoni të shkoni në tonë vhosts / localhost / publik, dhe më lejoni të bëj 579 00:26:44,210 --> 00:26:46,340 counter.php. 580 00:26:46,340 --> 00:26:48,350 Vini re se kjo është një shumë e program i thjeshtë. 581 00:26:48,350 --> 00:26:50,250 Kjo është një website shumë e thjeshtë. 582 00:26:50,250 --> 00:26:51,770 >> Pra, maja e dosjes është vetëm komente. 583 00:26:51,770 --> 00:26:54,930 Por këtu është një linjë e re që ju mund të kanë parë tashmë në p-vendosur shtatë, 584 00:26:54,930 --> 00:26:56,000 session_start (). 585 00:26:56,000 --> 00:27:00,380 Kjo është një linjë e kodit PHP që në thelb tregon web server, e bëjnë 586 00:27:00,380 --> 00:27:03,400 të sigurt për të shtypur duart dhe të bëjë Sigurohuni që të kontrolloni pulla dore. 587 00:27:03,400 --> 00:27:06,810 Kjo është e gjitha që linjë e bën, dhe kjo e bën gjithë këtë proces për ne. 588 00:27:06,810 --> 00:27:09,510 Pastaj vëreni unë kam marrë vetëm dy degë këtu. 589 00:27:09,510 --> 00:27:14,150 Nëse counter kyç brenda kësaj ndryshueshme të veçantë globale të quajtur 590 00:27:14,150 --> 00:27:18,010 $ _SESSION Është vendosur - me fjalë të tjera, në qoftë se ka disa vlera atje - 591 00:27:18,010 --> 00:27:22,440 le të marrë atë dhe ruajtur atë në një lokal ndryshore të quajtur $ counter. 592 00:27:22,440 --> 00:27:27,000 Tjetër, le të caktojë $ counter vlera e parazgjedhur e 0. 593 00:27:27,000 --> 00:27:30,320 >> Tani këtu është një aspekt i PHP kjo është si një bekim dhe një mallkim. 594 00:27:30,320 --> 00:27:32,080 PHP është pak i lëngshëm. 595 00:27:32,080 --> 00:27:35,160 Pra, ndërsa në C, çfarë do Shtrirja e counter kanë qenë 596 00:27:35,160 --> 00:27:36,725 qoftë këtu apo këtu? 597 00:27:36,725 --> 00:27:39,270 598 00:27:39,270 --> 00:27:41,690 >> Ajo do të kishte qenë i mbyllur të këtyre formatimin e teksteve kaçurrel. 599 00:27:41,690 --> 00:27:42,090 Me mend se çfarë? 600 00:27:42,090 --> 00:27:46,920 Në PHP, ai ekziston edhe jashtë atyre të formatimin e teksteve kaçurrel, këtu, dhe këtu, 601 00:27:46,920 --> 00:27:49,120 dhe këtu, dhe këtu, dhe edhe poshtë më poshtë. 602 00:27:49,120 --> 00:27:52,400 Kështu që unë them ky është një bekim në kuptimin që ju nuk duhet të mendojnë si 603 00:27:52,400 --> 00:27:54,070 vështirë sa ne e bëmë javë më parë. 604 00:27:54,070 --> 00:27:56,880 Por është gjithashtu një pak e një mallkim në se ska rëndësi se ku ju përdorni një ndryshore në 605 00:27:56,880 --> 00:28:00,020 PHP, të paktën në një program si ky, kjo është globalisht të arritshme për 606 00:28:00,020 --> 00:28:01,170 mirë apo për keq. 607 00:28:01,170 --> 00:28:06,130 Kështu që ju duhet të mbani në mend tani që variablat tuaja nuk mund të pacaktuar. 608 00:28:06,130 --> 00:28:07,640 Ju mund të keni përcaktuar ato diku tjetër. 609 00:28:07,640 --> 00:28:09,460 >> Por çfarë jam unë do të bëj në fund të fundit? 610 00:28:09,460 --> 00:28:13,160 Unë jam duke shkuar për të ruajtur brenda që globale variable si një vlerë e 611 00:28:13,160 --> 00:28:17,060 counter kyç rezultatin e duke bërë kundër plus 1. 612 00:28:17,060 --> 00:28:18,910 Pra, kjo është vetëm aritmetike që bën 613 00:28:18,910 --> 00:28:20,590 incrementation të atij kundër. 614 00:28:20,590 --> 00:28:24,850 Dhe fakti që unë jam ruajtjen që Vlera e kthyer në këtu është do të thotë të 615 00:28:24,850 --> 00:28:29,970 thelb Përditëso bazën e të dhënave të mos harroni se përdoruesi 123456789 ka qenë 616 00:28:29,970 --> 00:28:31,010 këtu dy herë. 617 00:28:31,010 --> 00:28:33,780 Kur unë bëj atë përsëri herën tjetër unë ringarkoni faqe, ajo do të kontrolloni 618 00:28:33,780 --> 00:28:36,710 Vula ime dore dhe thonë, oh, 123456789 përdorues ka tani 619 00:28:36,710 --> 00:28:38,410 qenë këtu tri herë. 620 00:28:38,410 --> 00:28:43,390 >> Dhe kështu ajo PHP dhe gjuhë të ngjashme janë duke bërë për ne është se ata janë duke parafytyruar 621 00:28:43,390 --> 00:28:47,720 se si dhe ku dhe për sa kohë për të ruajtur vlerat në këtë të veçantë 622 00:28:47,720 --> 00:28:48,830 superglobal. 623 00:28:48,830 --> 00:28:52,750 Dhe kjo superglobal herën tjetër unë vizitoni faqe është lloj i magjike 624 00:28:52,750 --> 00:28:57,440 para-populluar, e mbushur me vlera që ishin atje hera e fundit që keni vizituar, 625 00:28:57,440 --> 00:29:02,310 nëse kjo ishte një sekondë më parë, një javë më parë, apo në vitin 2013 dhe tani ne jemi duke folur 626 00:29:02,310 --> 00:29:03,790 rreth 2015. 627 00:29:03,790 --> 00:29:07,600 PHP dhe web server të kujdeset i të gjithë se për ju. 628 00:29:07,600 --> 00:29:08,850 >> Audienca: [padëgjueshme]. 629 00:29:08,850 --> 00:29:11,900 630 00:29:11,900 --> 00:29:15,760 >> DAVID Malan: Ndryshoret në PHP janë në thelb gjithmonë globale nëse nuk ju 631 00:29:15,760 --> 00:29:18,400 deklarojë ato në brendësi të një funksioni, dhe atëherë ata janë lokale për të 632 00:29:18,400 --> 00:29:19,420 Funksioni i vetëm. 633 00:29:19,420 --> 00:29:22,300 Por për shkak se unë nuk kam shkruar asnjë funksionet, ata tani janë në mënyrë efektive 634 00:29:22,300 --> 00:29:25,090 globale në të gjithë dosjen time të tërë këtu. 635 00:29:25,090 --> 00:29:26,040 >> Audienca: A ka ndonjë mënyrë për t'i bërë ato lokale? 636 00:29:26,040 --> 00:29:28,470 >> DAVID Malan: A ka ndonjë mënyrë për t'i bërë ato lokale? 637 00:29:28,470 --> 00:29:30,680 Vetëm nga ambalazhi ato në funksione. 638 00:29:30,680 --> 00:29:32,790 E cila në versionin e fundit të PHP, ju mund ta bëni këtë me 639 00:29:32,790 --> 00:29:34,130 një funksion anonim. 640 00:29:34,130 --> 00:29:35,930 Por më shumë se në Konteksti i JavaScript. 641 00:29:35,930 --> 00:29:37,260 Por përgjigja e shkurtër është jo. 642 00:29:37,260 --> 00:29:40,888 Një përgjigje më të gjatë është po. 643 00:29:40,888 --> 00:29:42,380 Bukur. 644 00:29:42,380 --> 00:29:43,380 Pyetje e mirë quiz. 645 00:29:43,380 --> 00:29:43,930 Dakord. 646 00:29:43,930 --> 00:29:47,760 >> Pra, së fundi, faqja në vetvete është në të vërtetë shumë e thjeshtë. 647 00:29:47,760 --> 00:29:51,470 Vini re se një herë kam dalë nga modaliteti PHP, kujtojnë që të gjitha të këtij stuff poshtë 648 00:29:51,470 --> 00:29:53,700 më poshtë është vetëm do të merrni më pështyu nga papërpunuara të shfletuesit. 649 00:29:53,700 --> 00:29:57,050 Cila është e mirë, sepse unë nuk dua të dërgoni disa përdorues HTML, por unë nuk dua 650 00:29:57,050 --> 00:29:59,140 për të rinovuar atë dinamike HTML. 651 00:29:59,140 --> 00:30:03,930 Dhe një mënyrë unë mund të bëj për të zgjidhur këtë është të bjerë shumë shpejt kthehet në PHP 652 00:30:03,930 --> 00:30:07,730 mode, përdorni Open Pyetje Bracket marka shenjë të barabartë, dhe pastaj output vlera 653 00:30:07,730 --> 00:30:08,650 i banak. 654 00:30:08,650 --> 00:30:12,360 >> Ose në qoftë se kjo duket pak e fshehtë, kjo shenjë të barabartë është në të vërtetë vetëm disa 655 00:30:12,360 --> 00:30:16,190 sheqer sintaktik për këtë printf ($ counter). 656 00:30:16,190 --> 00:30:19,160 Por sinqerisht, kjo është vetëm një e shëmtuar pak dhe një pak i bezdisshëm për të tipit. 657 00:30:19,160 --> 00:30:23,660 Pra PHP shumë të bukur ofron këtë tipar ku ju mund të them vetëm atë më shumë 658 00:30:23,660 --> 00:30:25,450 shkurtimisht në të njëjtën mënyrë. 659 00:30:25,450 --> 00:30:26,940 >> Pra, çfarë po ndodh nën individualitet? 660 00:30:26,940 --> 00:30:31,210 Le të shikojmë shpejt në rrjet tab këtu për counter.php. 661 00:30:31,210 --> 00:30:35,090 Dhe më lejoni të shkoj përpara dhe e parë le të qartë cookies tuaj. 662 00:30:35,090 --> 00:30:38,670 Të dhëna të qarta LET'S shfletim viti fillimi i kohës. 663 00:30:38,670 --> 00:30:39,680 Tani le të kthehemi përsëri mbi këtu. 664 00:30:39,680 --> 00:30:41,340 Tani le të rifreskoni faqen. 665 00:30:41,340 --> 00:30:42,170 Dhe unë jam kthyer në zero. 666 00:30:42,170 --> 00:30:44,810 Sepse Vula dora ime ka qenë larë, Unë tani të merrni një cookie të re. 667 00:30:44,810 --> 00:30:48,780 >> Në të vërtetë, nëse unë shoh në skedën e rrjetit dhe shikoni në headers përgjigje, njoftim 668 00:30:48,780 --> 00:30:51,960 se pajisja është dërguar mua një cookie emri i të cilit është disi 669 00:30:51,960 --> 00:30:55,820 në mënyrë arbitrare, por lloji i arsyeshme, PHPSESSID. 670 00:30:55,820 --> 00:30:58,440 Dhe kjo është dërguar mua kjo me të vërtetë numrin e madh të rastit. 671 00:30:58,440 --> 00:30:59,440 Kjo nuk është një numër mjaft. 672 00:30:59,440 --> 00:31:00,390 Kjo nuk është mjaft heksadecimal. 673 00:31:00,390 --> 00:31:03,600 Kjo është një lloj i vargut alfanumerike, por me sa duket kjo është e rastit. 674 00:31:03,600 --> 00:31:06,830 Dhe kjo është vula dorë në mënyrë që të flasin se unë jam duke iu referuar. 675 00:31:06,830 --> 00:31:11,960 >> Ndërkohë, nëse unë klikoni dhe pastaj ringarkoni shikoni në këtë linjë të dytë për tim të dytë 676 00:31:11,960 --> 00:31:17,600 Kërkesa, vëreni tani që kërkesa ime headers përfshijnë PHPSESSID barabartë kjo, 677 00:31:17,600 --> 00:31:19,390 nuk set-cookie, por vetëm cookie. 678 00:31:19,390 --> 00:31:22,950 Dhe kjo është paraqitja shfletuesin tim s vulën e dorës sime. 679 00:31:22,950 --> 00:31:28,820 >> Pra, tani si një ngacmues, dhe ne do të flasim më shumë në lidhje me këtë në një javë apo më shumë, por 680 00:31:28,820 --> 00:31:31,590 në çfarë mënyre ju bën kjo të pambrojtur, Facebook llogarisë suaj 681 00:31:31,590 --> 00:31:34,137 pambrojtur, dhe të tjera të tilla Llogaritë e të dobëta? 682 00:31:34,137 --> 00:31:35,510 >> Audienca: Nëse dikush ka cookie tuaj. 683 00:31:35,510 --> 00:31:36,750 >> DAVID Malan: Po, në qoftë se dikush ka cookie tuaj. 684 00:31:36,750 --> 00:31:39,920 Unë do të thotë me të vërtetë, më shumë si disa prej jush mund të keni provuar si në një klub ose një 685 00:31:39,920 --> 00:31:44,030 amusement park, në qoftë se ju provoni diçka si kjo për të kopjuar vulën, megjithëse 686 00:31:44,030 --> 00:31:47,560 prapa onto ana e një personi tjetër, dhe pastaj ai ose ajo paraqet atë si 687 00:31:47,560 --> 00:31:53,250 tyre, në qoftë se ai në fakt duket identike, 123456789, atëherë web 688 00:31:53,250 --> 00:31:57,980 server është me sa duket vetëm do të Besoj se që përdoruesi është që ju. 689 00:31:57,980 --> 00:32:01,450 >> Dhe kjo është me të vërtetë një fundamental Kërcënimi çdo kohë që ju të përdorin cookies 690 00:32:01,450 --> 00:32:05,420 sepse në qoftë se dikush vetëm Spoofs në mënyrë që të flasin, tuaj të cookie shifrat se çfarë është ajo 691 00:32:05,420 --> 00:32:08,660 është, me të vërtetë ose duke kopjuar atë duke shikuar në kompjuterin tuaj 692 00:32:08,660 --> 00:32:09,890 dhe duke qenë si, OK. 693 00:32:09,890 --> 00:32:14,520 Cookit e Davidit është JJ3JIK dhe kështu me radhë, dhe pastaj ata janë të zgjuar të mjaftueshme për të dini 694 00:32:14,520 --> 00:32:18,080 si për të zgjidhur me dorë të dërguar që cookit nga një shfletues ose nga nje 695 00:32:18,080 --> 00:32:22,350 Programi ata shkruajnë, ata mund të krejtësisht të hyni në një faqe interneti si ju. 696 00:32:22,350 --> 00:32:28,560 Kjo nuk është e vështirë të pretendojë të jetë dikush tjetër nëse ne rishqyrtojnë p-set 697 00:32:28,560 --> 00:32:30,790 dy, i cili prezantoi çfarë? 698 00:32:30,790 --> 00:32:32,065 >> Audienca: Kriptografia. 699 00:32:32,065 --> 00:32:33,860 >> DAVID Malan: Pak bit e kriptografisë. 700 00:32:33,860 --> 00:32:36,550 Kriptografia thjeshte, te pakten ne Standard Edition, por kripto 701 00:32:36,550 --> 00:32:36,870 megjithatë. 702 00:32:36,870 --> 00:32:37,410 më pak. 703 00:32:37,410 --> 00:32:41,440 Pra, ajo rezulton në qoftë se ju encrypt të gjithë këto headers duke përdorur diçka që ju 704 00:32:41,440 --> 00:32:48,770 tani mund të dini më shumë ceremoni si SSL, Secure Socket Layer, ose URL https:/, 705 00:32:48,770 --> 00:32:51,890 atëherë të gjitha këto gjëra ne kemi qenë glancing në të vërtetë janë të koduara, 706 00:32:51,890 --> 00:32:54,800 që do të thotë se ajo është si ju nuk mund të lexojnë vulën e dorës. 707 00:32:54,800 --> 00:32:59,350 Vetëm facebook.com mund, ose google.com, apo në këtë rast, pajisja mund të 708 00:32:59,350 --> 00:33:00,550 lexoni atë vulën e dorës. 709 00:33:00,550 --> 00:33:04,020 >> Tragjikisht pse, dhe përsëri, kjo është të gjitha shumë të përshtatshme me sende NSA 710 00:33:04,020 --> 00:33:06,410 i vonë, edhe SSL është thyeshëm. 711 00:33:06,410 --> 00:33:09,850 Dhe kjo nuk është e vërtetë se e vështirë për të edhe plas se encryption. 712 00:33:09,850 --> 00:33:12,040 Jo aq shumë nga plasaritje encryption, por nga tricking 713 00:33:12,040 --> 00:33:15,720 shfletues në decrypting të dhënat e para kohe. 714 00:33:15,720 --> 00:33:17,880 Por përsëri, ne do t'ju bezdis me atë para se të gjatë. 715 00:33:17,880 --> 00:33:21,242 Tani për tani, vetëm të jetë i frikësuar. 716 00:33:21,242 --> 00:33:23,070 Është tragjikisht lloj i vërtetë. 717 00:33:23,070 --> 00:33:23,760 >> Dakord. 718 00:33:23,760 --> 00:33:27,910 Pra, ku e bën këtë tani na lënë? 719 00:33:27,910 --> 00:33:29,010 E pra, le ta bëjmë këtë. 720 00:33:29,010 --> 00:33:31,790 Le të shkojnë përpara dhe për të marrë një të shpejtë teaser para se të marrë një pushim. 721 00:33:31,790 --> 00:33:33,790 Dhe unë mendoj se ne do të zgjatem pak më të gjatë sot, por ne do të zhyten në 722 00:33:33,790 --> 00:33:37,850 diçka krejt të re dhe sexy, e cila do të ngjall oreksin tuaj për edhe më shumë. 723 00:33:37,850 --> 00:33:38,950 Pra, kjo është ngacmues. 724 00:33:38,950 --> 00:33:41,520 >> Pra SQL, kemi filluar duke folur për ndonjëherë në mënyrë pak kohë për herë të fundit. 725 00:33:41,520 --> 00:33:44,670 Ju do të vërtetë të marrë në duart tuaja të pista me një pjesë e saj në p-vendosur shtatë. 726 00:33:44,670 --> 00:33:46,480 Dhe në kushtet e laik, çfarë bën SQL - 727 00:33:46,480 --> 00:33:47,110 S-Q-L - 728 00:33:47,110 --> 00:33:49,850 bëj për ju? 729 00:33:49,850 --> 00:33:50,310 Çfarë është ajo? 730 00:33:50,310 --> 00:33:51,546 Po. 731 00:33:51,546 --> 00:33:53,240 >> Audienca: Le të dhënave që ju të aksesit. 732 00:33:53,240 --> 00:33:53,360 >> DAVID Malan: Po. 733 00:33:53,360 --> 00:33:55,120 Ajo le të të dhënave juve akses në një bazë të dhënash. 734 00:33:55,120 --> 00:33:56,710 Strukturuar Query Language. 735 00:33:56,710 --> 00:33:59,890 Dhe kjo është në thelb një gjuhë programimi. 736 00:33:59,890 --> 00:34:03,400 Ka karakteristika të saj që ne nuk do të përdorë edhe në klasë. 737 00:34:03,400 --> 00:34:04,710 Por ju mund të në mënyrë efektive përcaktojnë funksionet. 738 00:34:04,710 --> 00:34:06,870 Ata janë quajtur të ruajtura procedurat në SQL. 739 00:34:06,870 --> 00:34:09,860 Por ne do të vazhdojmë atë mjaft e thjeshtë dhe vetëm përdorin atë për disa operacione themelore 740 00:34:09,860 --> 00:34:14,320 si zgjedhjen e të dhënave, futjen e të dhënave, përditësimin e të dhënave, dhe fshirjen e të dhënave. 741 00:34:14,320 --> 00:34:17,400 >> Dhe ju mund të vërtetë të mendojnë për një bazë të dhënash, si një bazë të dhënash SQL, si vetëm 742 00:34:17,400 --> 00:34:18,800 duke qenë Microsoft Excel. 743 00:34:18,800 --> 00:34:21,989 Sepse SQL referohet një relacionale bazës së të dhënave, ku 744 00:34:21,989 --> 00:34:23,480 lidhje thjesht do të thotë tavolina. 745 00:34:23,480 --> 00:34:24,739 Rreshta dhe kolona. 746 00:34:24,739 --> 00:34:27,929 Pra, çdo gjë që ju mund të vënë në një spreadsheet si kjo ose Google Docs, 747 00:34:27,929 --> 00:34:32,460 ju mund të vënë në një bazë të dhënash SQL duke deklaruar një tryezë. 748 00:34:32,460 --> 00:34:34,800 >> Tani, si mendoni ju në të vërtetë të hyrë se informacioni? 749 00:34:34,800 --> 00:34:38,239 E pra, me komandat apo pyetje si kjo. 750 00:34:38,239 --> 00:34:40,199 SELECT, INSERT, UPDATE dhe DELETE. 751 00:34:40,199 --> 00:34:44,489 Dhe për pjesën më të madhe, ato janë vetëm katër përbërësit që ju do të duhet të 752 00:34:44,489 --> 00:34:47,370 bëjë diçka mjaft të fuqishëm në problem të caktuar shtatë. 753 00:34:47,370 --> 00:34:49,940 >> Tani mbrapa në ditë, ju do të vërtetë ndërveprojnë me një bazë të dhënash në një 754 00:34:49,940 --> 00:34:52,730 dritare e zezë dhe e bardhë në terminal një të shpejtë keq si ky. 755 00:34:52,730 --> 00:34:56,370 Dhe baza e të dhënave që ne jemi në drejtimin e Pajisja quhet MySQL, e cila është 756 00:34:56,370 --> 00:34:58,560 lirë dhe të hapur motor bazës së të dhënave burim. 757 00:34:58,560 --> 00:35:02,240 Nëse ju të Google dhe lexuar Wikipedia artikull, ju do të dini se emri është 758 00:35:02,240 --> 00:35:05,060 pak e tranzicionit për disa versionet e Linux. 759 00:35:05,060 --> 00:35:10,460 Maria bazës së të dhënave është në fakt një pirun mënyrë që të flasin për MySQL. 760 00:35:10,460 --> 00:35:12,740 >> Të gjatë histori e shkurtër, Oracle bleu MySQL. 761 00:35:12,740 --> 00:35:13,870 Oracle është një kompani e madhe. 762 00:35:13,870 --> 00:35:17,010 Njerëzit janë të shqetësuar se kjo do të mbetet më shumë si burim të hapur, 763 00:35:17,010 --> 00:35:20,930 kështu që kjo është vetëm një kopje e MySQL që është ende i lirë, ende burim të hapur, dhe 764 00:35:20,930 --> 00:35:23,550 instaluar në Fedora Linux nga default. 765 00:35:23,550 --> 00:35:26,130 >> Por kjo është lloj i një dhimbje në qafë për t'u njohur me një 766 00:35:26,130 --> 00:35:27,310 Baza e të dhënave në këtë mënyrë. 767 00:35:27,310 --> 00:35:30,560 Pra, ne të përfshijë në pajisje CS50 një mjet i lirë me kod të hapur të quajtur 768 00:35:30,560 --> 00:35:31,700 phpMyAdmin. 769 00:35:31,700 --> 00:35:33,940 Vetëm një rastësi që është e shkruar në PHP. 770 00:35:33,940 --> 00:35:36,450 Nuk ka asnjë themelore nevojë për PHP këtu. 771 00:35:36,450 --> 00:35:40,090 Por kjo është vetëm një mjet web-based që ne shkarkohet falas, të instaluar në 772 00:35:40,090 --> 00:35:43,850 aplikim, që na lejon të kemi një ndërfaqes grafike të përdoruesit me të cilat 773 00:35:43,850 --> 00:35:48,610 për të shqyrtuar p-vendosur shtatë bazën e të dhënave të me të cilat për të krijuar bazat e të dhënave të reja, 774 00:35:48,610 --> 00:35:51,980 thonë se për vetë projektin tuaj përfundimtar nëse do të si, dhe në fund të fundit të krijojnë 775 00:35:51,980 --> 00:35:55,900 faqet e internetit dinamike si CS50 Financave që ju lejon të query të dhënat dhe 776 00:35:55,900 --> 00:35:58,140 përditësimin e të dhënave dinamike. 777 00:35:58,140 --> 00:36:01,420 >> Ju nuk jeni do të duhet të përdorin vetëm një fotografi të thjeshtë teksti ose CSV. 778 00:36:01,420 --> 00:36:05,950 Ju në fakt mund të përdorni një bazë të dhënash zgjuar program në mënyrë që ju mund të ekzekutojë shumë 779 00:36:05,950 --> 00:36:10,240 pyetje të sofistikuar sesa thjesht leximi me çdo gjë linear. 780 00:36:10,240 --> 00:36:14,150 >> Kështu për shembull, kjo është ajo që ne japim ju nga kutia për p-vendosur shtatë. 781 00:36:14,150 --> 00:36:18,280 Kjo është një tabelë me sa duket të paktën tre kolona, ​​njëra prej të cilave është 782 00:36:18,280 --> 00:36:21,450 përdoruesit, një nga të cilat është e hash, dhe tjetri i cili është ID. 783 00:36:21,450 --> 00:36:26,200 >> Por gjëja interesante, dhe vetëm për të vë në lojë nga një mendim këtu, emri i përdoruesit 784 00:36:26,200 --> 00:36:29,270 është me sa duket tashmë unike, e drejtë? 785 00:36:29,270 --> 00:36:31,190 Unë do të thotë, më çdo website, nëse ju keni një emër përdoruesi, ka 786 00:36:31,190 --> 00:36:32,370 nuk mund të jetë dy Caesars. 787 00:36:32,370 --> 00:36:33,440 Nuk mund të ketë dy MALANS. 788 00:36:33,440 --> 00:36:34,950 Nuk mund të ketë dy jharvards. 789 00:36:34,950 --> 00:36:35,600 E saj unik. 790 00:36:35,600 --> 00:36:38,610 Përndryshe, ata nuk e dinë se cilat jharvard ajo në fakt është. 791 00:36:38,610 --> 00:36:42,710 Pra, çfarë mund të jetë motivim për të të paturit e një kolonë e tretë në të majtë 792 00:36:42,710 --> 00:36:46,970 ka quajtur ID, e cila duket si një Numri kjo është në mënyrë të ngjashme unik? 793 00:36:46,970 --> 00:36:51,300 Ajo ndjen një të tepërta të vogël për mua në shikim të parë. 794 00:36:51,300 --> 00:36:54,910 Pse mund të jetë bindës për të pasur jo vetëm të përdoruesve të veçantë, 795 00:36:54,910 --> 00:36:56,837 por edhe numrat unik? 796 00:36:56,837 --> 00:36:59,460 >> Audienca: Ata mund të kenë të njëjtën gjë fjalëkalimin. 797 00:36:59,460 --> 00:37:01,720 >> DAVID Malan: Njerëzit mund të ketë të njëjtën fjalëkalimin, i sigurt. 798 00:37:01,720 --> 00:37:03,900 Kjo mund të ndodhë absolutisht. 799 00:37:03,900 --> 00:37:08,270 Por në qoftë se ata e kanë këtë emër përdoruesi të veçantë, unë do të argumentojnë se kjo nuk ka të vërtetë 800 00:37:08,270 --> 00:37:11,630 çështje, sepse në qoftë se ata shkruani në e tyre emrin, unë vetëm duhet të kontrolloni e tyre 801 00:37:11,630 --> 00:37:15,060 regjistrohu, hash e tyre të saj. 802 00:37:15,060 --> 00:37:15,970 Pse tjetër? 803 00:37:15,970 --> 00:37:17,950 >> Audienca: Faster kërkim. 804 00:37:17,950 --> 00:37:18,680 >> DAVID Malan: Faster kërkim. 805 00:37:18,680 --> 00:37:19,548 Pse? 806 00:37:19,548 --> 00:37:21,460 >> Audienca: ID është vetëm një. 807 00:37:21,460 --> 00:37:24,040 >> DAVID Malan: ID është vetëm një karakter, ose për të qenë më të saktë, kjo është një numër, 808 00:37:24,040 --> 00:37:26,910 kështu që është ndoshta 32 bit ose diçka të tillë. 809 00:37:26,910 --> 00:37:30,270 Ndërsa emri i përdoruesit, me sa duket Jason Deri Hirschhorn-së ka një lloj 810 00:37:30,270 --> 00:37:33,900 qesharake të gjatë, dhe ajo do të marrë më shumë më shumë kohë për të string 811 00:37:33,900 --> 00:37:40,910 krahasohen H-I-R-S-C-H-H-O-R-N, dhe mbase A / 0 ose diçka të tillë, në mënyrë që 812 00:37:40,910 --> 00:37:45,100 për të parë deri Jasonin, krahasuar me vetëm duke thënë se më jep përdoruesit numrin dy. 813 00:37:45,100 --> 00:37:46,510 Kjo është 32 bit. 814 00:37:46,510 --> 00:37:48,550 Kjo është një INT vetme që ju keni për të krahasuar. 815 00:37:48,550 --> 00:37:52,150 Dhe vërtet, kjo është pikërisht arsyeja pse bazat e të dhënave kanë tendencë të caktojë ID unike që 816 00:37:52,150 --> 00:37:53,710 rreshtave në to. 817 00:37:53,710 --> 00:37:56,280 >> Tani çfarë lloje të tjera të të dhënave janë atje përveç INT dhe me sa duket 818 00:37:56,280 --> 00:37:57,160 vargjet si kjo? 819 00:37:57,160 --> 00:37:59,700 E pra, që të jenë më të duhur, Bazat e të dhënave SQL, si 820 00:37:59,700 --> 00:38:02,060 MySQL, kanë fushat char. 821 00:38:02,060 --> 00:38:05,320 Dhe Char pak, mashtrues nuk është një CHAR vetme. 822 00:38:05,320 --> 00:38:10,290 Një fushë CHAR në një bazë të dhënash MySQL është një ose më shumë karaktere, por kjo është një 823 00:38:10,290 --> 00:38:11,780 numër të caktuar të karaktereve. 824 00:38:11,780 --> 00:38:15,710 >> Kështu për shembull, nëse unë shkoj për të phpMyAdmin si ju mund të keni tashmë, ose 825 00:38:15,710 --> 00:38:21,340 së shpejti do një problem vendosur shtatë, dhe të shkoj në bazën e të dhënave e mia, dhe vetëm për argëtim, 826 00:38:21,340 --> 00:38:25,700 le të krijojë një tabelë të re të quajtur të testuar me vetëm dy kolona. 827 00:38:25,700 --> 00:38:27,160 Unë atëherë do të klikoni Go. 828 00:38:27,160 --> 00:38:30,070 Dhe kjo do të bëhet në mënyrë të drejtë të njohur, sidomos si ju kallajxhi 829 00:38:30,070 --> 00:38:31,130 rreth në tuaj. 830 00:38:31,130 --> 00:38:34,140 Këtu unë mund të shkruani ID për të krijuar një tabelë të re të tipit INT. 831 00:38:34,140 --> 00:38:37,770 Por këtu unë mund të shkruani emrin e përdoruesit për të rikrijojë atë tryezë më parë. 832 00:38:37,770 --> 00:38:40,700 Dhe vini re unë kam një bandë e tërë të llojeve të zgjedhur. 833 00:38:40,700 --> 00:38:43,610 >> Dhe kjo edhe është arsyeja pse phpMyAdmin është lloj i bukur. 834 00:38:43,610 --> 00:38:46,770 Kjo është lloj i vetë-mësimit në atë ju mund vetëm lloj pikë dhe klikoni, dhe 835 00:38:46,770 --> 00:38:50,730 shikoni në menu dropdown, dhe konkludoj nga se ajo që fuqitë SQL ju jep. 836 00:38:50,730 --> 00:38:54,090 >> Dhe me të vërtetë, në qoftë se unë zgjedh CHAR, unë atëherë duhet të specifikojë kohëzgjatjen, ose si 837 00:38:54,090 --> 00:38:55,940 shumë vlera, se sa shumë karaktere. 838 00:38:55,940 --> 00:39:00,090 Vlerat Pra, shumë të zakonshme janë gjëra të tilla si 255, por kjo është pak më e gjatë. 839 00:39:00,090 --> 00:39:02,250 Zakonisht është tetë për një emër përdorues. 840 00:39:02,250 --> 00:39:03,590 Por kjo është pak e vogël këto ditë. 841 00:39:03,590 --> 00:39:05,430 Pra, ky është një vendim i projektit. 842 00:39:05,430 --> 00:39:08,630 A është e 8 karaktere max, 32, 255, 1000? 843 00:39:08,630 --> 00:39:09,830 Është me të vërtetë deri te ju. 844 00:39:09,830 --> 00:39:12,350 Por një fushë CHAR është një numër fiks. 845 00:39:12,350 --> 00:39:16,420 Pra, zgjidhni shumë pak dhe ju jeni lloj i dehur në qoftë se ju doni një emër përdoruesi më të gjatë. 846 00:39:16,420 --> 00:39:19,132 Zgjidhni shumë dhe çfarë është dobësitë? 847 00:39:19,132 --> 00:39:20,820 >> Audienca: [padëgjueshme]. 848 00:39:20,820 --> 00:39:21,620 >> DAVID Malan: Kjo është kota. 849 00:39:21,620 --> 00:39:24,835 Ashtu si në C, nëse ju keni një të madhe copë e kujtesës se sa ju duhet, ju jeni 850 00:39:24,835 --> 00:39:27,190 vetëm humbur kohë dhe të humbur hapësirë. 851 00:39:27,190 --> 00:39:31,430 Pra, si një alternativë, ekziston VARCHAR, e cila zgjidh këtë problem duke 852 00:39:31,430 --> 00:39:36,390 trajtimin gjatësi jo si një gjatësi të caktuar, por si një gjatësi maksimale, dhe duke përdorur një 853 00:39:36,390 --> 00:39:40,990 Numri ndryshueshme të chars, e cila më pas ka tendencë për të përdorur vetëm si shumë karaktere si ju 854 00:39:40,990 --> 00:39:42,710 në të vërtetë nevojë. 855 00:39:42,710 --> 00:39:43,670 Kjo tingëllon e përsosur. 856 00:39:43,670 --> 00:39:45,640 >> Pse nuk të shpëtoj të Dhënat Char shkruani pastaj? 857 00:39:45,640 --> 00:39:48,500 Çfarë mund të jetë i dobësitë duke përdorur VARCHARs, që tingëllon 858 00:39:48,500 --> 00:39:51,644 si ajo është një fitore e bukur? 859 00:39:51,644 --> 00:39:52,596 Po? 860 00:39:52,596 --> 00:39:53,846 >> Audienca: [padëgjueshme]. 861 00:39:53,846 --> 00:39:57,360 862 00:39:57,360 --> 00:39:57,790 >> DAVID Malan: OK, i mirë. 863 00:39:57,790 --> 00:40:01,101 Pra, nëse të gjitha të dhënat tuaja është e njëjtë gjatësia, çfarë është shqetësimi? 864 00:40:01,101 --> 00:40:05,250 >> Audienca: Për shkak se ju jeni të humbur dhënat sipas thënë ata të gjithë. 865 00:40:05,250 --> 00:40:09,060 >> DAVID Malan: Pra, nëse të gjitha të dhënat tuaja është e të njëjtën gjatësi, edhe pse, unë do të argumentoja 866 00:40:09,060 --> 00:40:12,300 që duke specifikuar një gjatësi maksimale më VARCHAR nuk është e ndryshme nga 867 00:40:12,300 --> 00:40:16,070 duke specifikuar një gjatësi të caktuar në CHAR nëse ju e dini se numri paraprakisht. 868 00:40:16,070 --> 00:40:19,500 Por nuk është me të vërtetë, dhe unë do lloj ekstrakt nga ajo përgjigje realitetin 869 00:40:19,500 --> 00:40:22,610 se ka ende një max, e cila mund të të jetë i bezdisshëm, sidomos në qoftë se ju 870 00:40:22,610 --> 00:40:25,920 ndeshen me emrin e një personi që është jashtëzakonisht të gjatë që ju nuk e keni 871 00:40:25,920 --> 00:40:26,860 parashikojnë. 872 00:40:26,860 --> 00:40:31,420 Dhe kjo është edhe një pak më pak të efektshme që në fakt kërkoni në VARCHARs si 873 00:40:31,420 --> 00:40:35,620 krahasim me karaktere në kërkim, veçanërisht për tavolina të gjata që kanë shumë dhe 874 00:40:35,620 --> 00:40:36,510 shumë të dhëna. 875 00:40:36,510 --> 00:40:40,060 Pra edhe këtu, tematike është përsëri ka zgjedhje e qartë. 876 00:40:40,060 --> 00:40:42,870 >> Pra, vetëm për të ju jap një ndjenjë të tjera lloje të të dhënave që mund të jetë me interes 877 00:40:42,870 --> 00:40:45,400 qoftë për p-vendosur shtatë ose në e ardhmja, ka INT. 878 00:40:45,400 --> 00:40:47,270 Ka BIGINT, e cila është si kohë e gjatë. 879 00:40:47,270 --> 00:40:48,880 Ajo ka tendencë të jetë 64 bit. 880 00:40:48,880 --> 00:40:51,640 Ka dhjetore, të cilat ju do të shihni në set problem, e cila është një shumë 881 00:40:51,640 --> 00:40:55,300 përgjigje të pastër për problemet që hasur me noton dhe lundrues 882 00:40:55,300 --> 00:40:55,980 pikë pasaktësi. 883 00:40:55,980 --> 00:40:57,390 Dhe pastaj nuk ka datetime. 884 00:40:57,390 --> 00:41:01,530 Ka fjalë për fjalë një lloj të dhënave që ka të duket si një vit, një muaj, një ditë, 885 00:41:01,530 --> 00:41:03,730 dhe një orë, minutë, dhe të dytë. 886 00:41:03,730 --> 00:41:07,470 >> Por bazat e të dhënave SQL gjithashtu kanë gjërat që ne do të thërrasë indekseve. 887 00:41:07,470 --> 00:41:11,630 Dhe një indeks është diçka që ju specifikoni kur të krijuar tryezë të 888 00:41:11,630 --> 00:41:15,720 të bëjë kërkime dhe operacione të tjera më efikase. 889 00:41:15,720 --> 00:41:18,550 Në mënyrë të veçantë, ka diçka të quajtur Indeksi PRIMARY që ju mund të 890 00:41:18,550 --> 00:41:19,440 deklaroj si më poshtë. 891 00:41:19,440 --> 00:41:22,330 >> Ne e bëmë këtë për ju me Përdoruesit Tabela ne ju japim. 892 00:41:22,330 --> 00:41:26,160 Por vini re në qoftë se unë ishin me dorë rikrijimin Përdoruesit tryezë këtu duke i dhënë 893 00:41:26,160 --> 00:41:27,110 atë një emër të përdoruesit. 894 00:41:27,110 --> 00:41:28,125 Unë tashmë e specifikuar ID. 895 00:41:28,125 --> 00:41:29,330 I specifikuar INT. 896 00:41:29,330 --> 00:41:32,000 Unë specifikuar emrin e përdoruesit me maksimumi 32 karaktere. 897 00:41:32,000 --> 00:41:36,140 Por nëse do të vazhdojmë scrolling në këtë mënyrë të drejtë dritare të gjerë, njoftimi ka një 898 00:41:36,140 --> 00:41:38,260 bandë e gjëra të tjera unë mund të specifikojë. 899 00:41:38,260 --> 00:41:40,950 >> Një, unë mund të specifikoni atribute si, ju e dini çfarë, kjo 900 00:41:40,950 --> 00:41:42,190 INT duhet të jetë i panënshkruar. 901 00:41:42,190 --> 00:41:45,510 Unë nuk dua numrat negative, kështu që le të bëjnë të panënshkruar. 902 00:41:45,510 --> 00:41:48,660 Null nuk është i rëndësishëm këtu, sepse Unë dua çdo përdorues të 903 00:41:48,660 --> 00:41:49,640 kanë një numër unik. 904 00:41:49,640 --> 00:41:50,830 Unë nuk dua që ajo të jetë null. 905 00:41:50,830 --> 00:41:52,330 >> Por kjo është interesante. 906 00:41:52,330 --> 00:41:57,780 Unë mund të specifikoni se ID është ose kyç primar i kësaj baze të dhënash, ose është e 907 00:41:57,780 --> 00:42:00,620 unike, ose është e indeksuar, ose teksti i plotë. 908 00:42:00,620 --> 00:42:05,630 Pra, për qëllime të sotme, histori e gjatë shkurtër, PRIMARY do të thotë se kjo do të 909 00:42:05,630 --> 00:42:10,570 të jetë edhe konceptualisht dhe teknikisht fusha që ne përdorim për të unike 910 00:42:10,570 --> 00:42:12,140 të identifikuar përdoruesit. 911 00:42:12,140 --> 00:42:16,140 >> Pra, kur ne të kërkoni përdoruesit, kjo është lloj i një premtimi për të kërkuar ato kryesisht nga 912 00:42:16,140 --> 00:42:17,370 që identifikues unik. 913 00:42:17,370 --> 00:42:21,930 Dhe baza e të dhënave do të sigurojë se në qoftë se ju kanë një numër të përdoruesit 3, ju nuk mund të 914 00:42:21,930 --> 00:42:25,400 fizikisht të futur një tjetër përdorues me atë numër të njëjtë 3. 915 00:42:25,400 --> 00:42:28,380 Baza e të dhënave vetëm do të refuzojë për të ruajtur ndryshimet tuaja. 916 00:42:28,380 --> 00:42:32,310 E cila është një gjë e mirë, sepse ju mund të të mbrojtur veten nga ju vetë. vete 917 00:42:32,310 --> 00:42:34,270 >> Nga ana tjetër, për emër përdorues. 918 00:42:34,270 --> 00:42:37,670 Pra, në radhën e dytë, risjell, është fusha emrin. 919 00:42:37,670 --> 00:42:41,860 Pra, në radhën e dytë këtu është emri i përdoruesit, siç kemi bërë më e majtë atje. 920 00:42:41,860 --> 00:42:43,940 >> Pra, çfarë tjetër mund të dua të specifikojë? 921 00:42:43,940 --> 00:42:47,840 Unë nuk jam i lejuar, sipas SQL, për të specifikuar dy çelësat primar. 922 00:42:47,840 --> 00:42:50,750 ju mund të specifikoni një çelës të përbashkët ku ju shikoni në të dy fushat, por ata nuk mund të 923 00:42:50,750 --> 00:42:52,260 individualisht të jetë çelësat primar. 924 00:42:52,260 --> 00:42:54,750 Pra, kjo është jashtë diskutimit. 925 00:42:54,750 --> 00:42:56,040 Kështu që mund të dua të zgjedhur? 926 00:42:56,040 --> 00:42:59,710 >> E pra, UNIK është e ngjashme në frymë të një kyç primar ku ju specifikoni kjo 927 00:42:59,710 --> 00:43:03,570 fushë do të jetë unike, por është e nuk do të jetë një 928 00:43:03,570 --> 00:43:04,410 Unë e përdorin gjatë gjithë kohës. 929 00:43:04,410 --> 00:43:08,450 Dhe ne nuk jemi duke shkuar për të përdorur këtë një të tillë të gjithë koha për çfarë arsye përsëri? 930 00:43:08,450 --> 00:43:10,490 Kjo është më e ngadaltë potencialisht nëse kjo është një emër përdoruesi të gjatë. 931 00:43:10,490 --> 00:43:11,740 Është vetëm një humbje kohe. 932 00:43:11,740 --> 00:43:16,140 >> INDEKSI, ndërkohë, specifikon se është e nuk do të jetë unike, por unë do të doja 933 00:43:16,140 --> 00:43:19,470 ju për të punuar magjinë tuaj nën individualitet për ta bërë atë më të shpejtë për mua për të 934 00:43:19,470 --> 00:43:21,420 kërkoni në këtë fushë. 935 00:43:21,420 --> 00:43:23,320 Pra, kjo ndoshta nuk është e rëndësishme këtu. 936 00:43:23,320 --> 00:43:26,500 Për emrin e përdoruesit, unë do të argumentojnë se UNIK është një përgjigje e mirë. 937 00:43:26,500 --> 00:43:31,200 Por mendoj se kemi bërë përdoruesit më shumë interesante se vetëm përdoruesve, 938 00:43:31,200 --> 00:43:32,430 hashes, dhe numrat e ID. 939 00:43:32,430 --> 00:43:33,860 Po në qoftë se ne i dha popullit emrat e plotë? 940 00:43:33,860 --> 00:43:37,700 Po në qoftë se ne u dha atyre adresat dhe të dhëna të tjera rreth tyre? 941 00:43:37,700 --> 00:43:43,360 >> E pra, në qoftë se ju specifikoni se një kolonë në një bazës së të dhënave është indeksuar, kjo do të thotë se 942 00:43:43,360 --> 00:43:47,730 MySQL, Oracle ose, ose çfarëdo bazës së të dhënave ju jeni duke përdorur, duhet të punojnë magjinë e saj 943 00:43:47,730 --> 00:43:51,300 dhe të përdorin disa lloj të të dhënave dashuroj struktura si një druri, ose një Trie, ose një 944 00:43:51,300 --> 00:43:55,940 tabelë hash, apo diçka për të garantuar se kur ju kërkoni për të dhëna duke përdorur 945 00:43:55,940 --> 00:43:58,150 zgjidhni në këtë fushë të veçantë - 946 00:43:58,150 --> 00:44:01,310 si më tregoni të gjithëve se jeton në Oxford Street. 947 00:44:01,310 --> 00:44:02,540 Një pyetje si kjo. 948 00:44:02,540 --> 00:44:06,250 Nëse ju keni specifikuar paraprakisht se ju doni një tregues tek atë fushë, 949 00:44:06,250 --> 00:44:09,050 kërkimet do të jetë shumë, shumë më të shpejtë. 950 00:44:09,050 --> 00:44:12,090 >> Nëse ju nuk e specifikoni një indeks, më e mirë ju mund të bëni është një kërkim linear nëse 951 00:44:12,090 --> 00:44:13,030 kjo nuk është e renditura. 952 00:44:13,030 --> 00:44:16,220 Por nëse ju specifikoni INDEKSI, i zgjuar njerëzit që kanë bërë bazën e të dhënave - 953 00:44:16,220 --> 00:44:19,340 njerëzit si ju që tani dinë pemë dhe mundohet dhe tavolina hash - 954 00:44:19,340 --> 00:44:23,220 automatikisht do të ndërtojë një të dhënave të tillë Struktura në RAM për të siguruar që 955 00:44:23,220 --> 00:44:26,050 ato kërkimet janë shumë më të shpejtë. 956 00:44:26,050 --> 00:44:29,660 >> FULLTEXT ndërkohë është e ngjashme në frymë, por ju lejon të bëni wildcard 957 00:44:29,660 --> 00:44:35,480 kërkimet, si më tregoni të gjithëve se jeton në rrugë që fillojnë me 958 00:44:35,480 --> 00:44:36,960 letër O për çfarëdo arsye. 959 00:44:36,960 --> 00:44:38,850 Ju mund të bëni kërkime wildcard si kjo. 960 00:44:38,850 --> 00:44:45,880 Ose, gjëra shumë të forta si shfaqje me të gjithë ata që ka fjalën - 961 00:44:45,880 --> 00:44:49,400 më tregoni të gjithë emri i të cilit fillon me një letër të veçantë. 962 00:44:49,400 --> 00:44:51,880 Ju mund të kërkoni për fjalë kyçe në këtë mënyrë. 963 00:44:51,880 --> 00:44:52,630 Dakord. 964 00:44:52,630 --> 00:44:55,760 >> Pra, mundësitë e projektimit ka potencialisht. 965 00:44:55,760 --> 00:44:57,740 Ka edhe të tjerë që unë do të valë duart e mia në. 966 00:44:57,740 --> 00:45:00,530 Ajo rezulton se ju mund të keni motorë të ndryshme magazinimit. 967 00:45:00,530 --> 00:45:04,390 Dhe kjo është më e errët se sa ne kemi nevojë sigurisht për problemin e ngritur shtatë. 968 00:45:04,390 --> 00:45:06,920 By default, ju djema jeni duke përdorur diçka që quhet InnoDB. 969 00:45:06,920 --> 00:45:10,910 Ju do të shihni përmend tillë diku në Ndërfaqja e phpMyAdmin 's më i mundshëm. 970 00:45:10,910 --> 00:45:14,130 Por e di se ka dizajn të tjera vendimet që janë të potencialit 971 00:45:14,130 --> 00:45:18,030 Interesi vijnë projektet përfundimtare nëse ju bëni diçka të web-bazuar. 972 00:45:18,030 --> 00:45:19,330 >> Por le ta bëjmë këtë. 973 00:45:19,330 --> 00:45:23,130 Le të shkojnë përpara dhe të vënë këtë në ekran si një ngacmues për një histori 974 00:45:23,130 --> 00:45:26,330 që përfshin ju, një shokun, dhe një gotë qumësht. 975 00:45:26,330 --> 00:45:28,240 Le të bëjmë një minutë dy apo më shumë pushim këtu. 976 00:45:28,240 --> 00:45:31,060 Dhe në qoftë se ju mund të rrinë përreth, le të vijë mbrapa, shikoni pak më shumë në SQL, dhe 977 00:45:31,060 --> 00:45:35,160 pastaj pak e JavaScript me p-vendosur tetë në mendje. 978 00:45:35,160 --> 00:45:36,120 >> Dakord. 979 00:45:36,120 --> 00:45:40,420 Pra, le të merrni ju të menduarit për një rast qoshe që shumë lehtë mund të lindin 980 00:45:40,420 --> 00:45:44,240 në kontekstin e duke përdorur një bazë të dhënash, ose sinqerisht, madje edhe duke përdorur gjëra të botës reale 981 00:45:44,240 --> 00:45:46,280 si ATM për të marrë paratë. 982 00:45:46,280 --> 00:45:47,640 Kështu që këtu është një frigorifer. 983 00:45:47,640 --> 00:45:50,040 Supozoni se ju keni marrë një shumë në fjetore tuaj ose shtëpinë tuaj. 984 00:45:50,040 --> 00:45:54,990 Dhe ju keni marrë një shokun, dhe të dy ju të vërtetë si qumësht për shembull. 985 00:45:54,990 --> 00:45:57,210 >> Kështu që ju vijnë në shtëpi nga klasa një ditë. 986 00:45:57,210 --> 00:45:58,490 Ai ose ajo nuk është ende prapa. 987 00:45:58,490 --> 00:45:59,180 Ju hapur frigoriferin. 988 00:45:59,180 --> 00:46:00,870 Ju me të vërtetë duan një gotë të madhe me qumësht. 989 00:46:00,870 --> 00:46:01,820 Nuk ka qumësht. 990 00:46:01,820 --> 00:46:02,920 Pra, çfarë do të bëni? 991 00:46:02,920 --> 00:46:03,840 Ju mbyllni frigorifer. 992 00:46:03,840 --> 00:46:04,670 Ju kap çelësat tuaj. 993 00:46:04,670 --> 00:46:05,930 Ju dalë në shesh. 994 00:46:05,930 --> 00:46:09,240 Dhe ju të merrni në përputhje në CVS në ato gjërat checkout vetë, e cila gjithmonë 995 00:46:09,240 --> 00:46:11,180 marrë më shumë se në të vërtetë që ka Cashiers. 996 00:46:11,180 --> 00:46:11,820 Gjithsesi. 997 00:46:11,820 --> 00:46:15,490 >> Kështu pra, ndërkohë, dot dot dot, tuaj shokun vjen në shtëpi dhe ai ose ajo 998 00:46:15,490 --> 00:46:17,440 në mënyrë të ngjashme ka një etje për disa qumësht. 999 00:46:17,440 --> 00:46:20,380 Kështu që ai ose ajo e hap frigoriferin, duket brenda, dhe oh, mallkuar. 1000 00:46:20,380 --> 00:46:21,160 Nuk ka qumësht. 1001 00:46:21,160 --> 00:46:24,750 Kështu që ai ose ajo drejton jashtë, ndodh për të shkuar në CVS tjetër, e cila ishte vetëm një 1002 00:46:24,750 --> 00:46:27,900 bllokuar larg për disa arsye, dhe ai ose ajo merr në rradhë për të blerë qumësht. 1003 00:46:27,900 --> 00:46:30,480 >> Ndërkohë, ju vijnë në shtëpi, ai apo ajo vjen në shtëpi, dhe çfarë të bëjmë 1004 00:46:30,480 --> 00:46:31,980 në fund të fundit ju keni? 1005 00:46:31,980 --> 00:46:33,080 Dy herë më shumë qumësht. 1006 00:46:33,080 --> 00:46:34,620 Por ju nuk vërtetë si qumësht se shumë. 1007 00:46:34,620 --> 00:46:37,300 Deri tani ju keni qumësht aq shumë sa që tani një prej tyre është vetëm do të shkuar kosi 1008 00:46:37,300 --> 00:46:37,820 përfundimisht. 1009 00:46:37,820 --> 00:46:39,370 Pra, ky është një problem me të vërtetë keq. 1010 00:46:39,370 --> 00:46:39,900 E drejtë? 1011 00:46:39,900 --> 00:46:41,990 >> Pra, çfarë ka ndodhur? 1012 00:46:41,990 --> 00:46:44,810 Pra, në thelb, kjo është lloj e një shembull qesharak. 1013 00:46:44,810 --> 00:46:48,580 Por nën kapuç, ajo që ne kemi pasur ndodhë këtu është dy prej jush kontrolluar 1014 00:46:48,580 --> 00:46:52,390 gjendja e disa pjesë të kujtesës, frigorifer. 1015 00:46:52,390 --> 00:46:54,420 Të dy ju kontrolluar shtetin prej rreth ndryshueshme. 1016 00:46:54,420 --> 00:46:57,360 Ju të dy tërhoqi një përfundim që ju pastaj të vepruar në. 1017 00:46:57,360 --> 00:47:01,420 Por për fat të keq, ndërsa shokun tuaj ishte në dyqan, shteti i se 1018 00:47:01,420 --> 00:47:05,670 ndryshueshme ndryshuar, ai ose ajo u kthye dhe tani dëshiron të ndryshojë gjendjen, por 1019 00:47:05,670 --> 00:47:07,480 ajo tashmë i është ndryshuar për atë apo të saj. 1020 00:47:07,480 --> 00:47:11,120 Dhe sigurisht, ai ose ajo nuk do të kishte shkuar në dyqan, nëse ata e dinin 1021 00:47:11,120 --> 00:47:13,010 se keni qenë tashmë në rrugë. 1022 00:47:13,010 --> 00:47:16,430 >> Pra, në botën e vërtetë, si mund të ju shmangur këtë problem, duke supozuar që ju keni 1023 00:47:16,430 --> 00:47:18,940 një frigorifer, ju keni një shokun, dhe në të vërtetë ju pëlqen qumësht? 1024 00:47:18,940 --> 00:47:19,760 >> Audienca: Komunikimi. 1025 00:47:19,760 --> 00:47:20,580 >> DAVID Malan: Komunikimi. 1026 00:47:20,580 --> 00:47:21,160 OK. 1027 00:47:21,160 --> 00:47:22,500 Por si mund të komunikoni? 1028 00:47:22,500 --> 00:47:23,990 >> Audienca: Lini një shënim. 1029 00:47:23,990 --> 00:47:25,480 >> DAVID Malan: Lini një shënim, e drejtë? 1030 00:47:25,480 --> 00:47:28,025 Gjithmonë të lënë një shënim, për tifozët e tregojnë. 1031 00:47:28,025 --> 00:47:31,580 Në rregull, kështu që gjithmonë të lënë një shënim, ose vënë me të vërtetë si një dry apo diçka 1032 00:47:31,580 --> 00:47:35,440 në frigorifer që mban tuaj shokun nga inspektuar gjendjen e 1033 00:47:35,440 --> 00:47:36,540 që ndryshueshme. 1034 00:47:36,540 --> 00:47:40,800 >> Tani, pse kjo mund të jetë i përshtatshëm për Problemi vendosur shtatë, ose për të ATM-ve. 1035 00:47:40,800 --> 00:47:46,780 E pra, imagjinoni një botë në një ATM, ku ju mund të jetë në gjendje të shkojnë deri në një ATM 1036 00:47:46,780 --> 00:47:48,920 makine këtu, dhe një tjetër ATM këtu. 1037 00:47:48,920 --> 00:47:50,680 Dhe kjo ndodh mjaft shpesh. 1038 00:47:50,680 --> 00:47:54,150 Dhe mendoj që ju kishte dy karta ATM, e cila është e mundur për të marrë. 1039 00:47:54,150 --> 00:47:57,420 Dhe ju hyni në të dy makina në mënyrë efektive në të njëjtën kohë, me shpresë 1040 00:47:57,420 --> 00:47:58,660 ndërsa askush nuk është në kërkim. 1041 00:47:58,660 --> 00:48:01,260 Dhe pastaj ju shkruani PIN tuaj afërsisht në të njëjtën kohë. 1042 00:48:01,260 --> 00:48:06,280 Dhe pastaj ju bëni një pyetje të bilancit për të parë se sa të holla keni. 1043 00:48:06,280 --> 00:48:08,920 Dhe le të thonë se ju keni $ 100 mbetur në llogarinë tuaj. 1044 00:48:08,920 --> 00:48:13,310 Pra, në thelb të njëjtën kohë, ju thonë se një, zero, zero, të hyjë. 1045 00:48:13,310 --> 00:48:16,000 Dhe ju shpresojmë të kthehet disa para. 1046 00:48:16,000 --> 00:48:18,440 >> Por sa para mund të merrni mbrapa? 1047 00:48:18,440 --> 00:48:21,710 Tani kompjutera në fund të ditës, veçanërisht në qoftë se ata janë duke folur për të 1048 00:48:21,710 --> 00:48:27,360 servers, nuk është e detyruar të bëjë gjëra në mënyrë që është pritur. 1049 00:48:27,360 --> 00:48:30,860 >> Pra, mendoj se çfarë ndodh, për shkak të pavarësisht rrjetit çështje shpejtësi atje 1050 00:48:30,860 --> 00:48:34,530 janë, ose çështje CPU ka, ose diçka të tillë, mendoj se 1051 00:48:34,530 --> 00:48:38,530 ATM pari kontrollon ekuilibrin tuaj dhe sheh, oh, ky person ka 100 $. 1052 00:48:38,530 --> 00:48:41,840 Por pastaj merr hutuar sepse ndoshta një backup po ndodh dhe kështu që është e 1053 00:48:41,840 --> 00:48:42,500 ngadalësuar. 1054 00:48:42,500 --> 00:48:45,080 Apo ndoshta duke kontrolluar, rrjetin Lidhja mori një pak më ngadalë, sepse 1055 00:48:45,080 --> 00:48:45,910 kjo ndodh vetëm. 1056 00:48:45,910 --> 00:48:47,100 Ata janë pajisje fizike. 1057 00:48:47,100 --> 00:48:49,330 Pra ndërkohë, ATM dytë është duke i kërkuar të njëjtën pyetje. 1058 00:48:49,330 --> 00:48:53,030 Sa të holla i keni Davidi? $ 100 është përgjigje. 1059 00:48:53,030 --> 00:48:58,930 Por për shkak ATM e parë nuk ka ende dërguar mesazh zbres $ 100, të dy 1060 00:48:58,930 --> 00:49:03,000 ATM kanë inspektuar kasaforta e bankës, duke parë nuk ka 100 $ atje, dhe tani 1061 00:49:03,000 --> 00:49:07,160 dy makina janë potencialisht do të nxjerr nga goja një përgjigje. 1062 00:49:07,160 --> 00:49:12,240 >> Tani, kjo është e madhe për ju në një kuptim në qoftë se ajo që banka bën në fund të fundit 1063 00:49:12,240 --> 00:49:17,200 është të ndryshojë shumën që minus 100 nga vendosjen e ndryshueshme e barabartë me tuaj 1064 00:49:17,200 --> 00:49:21,570 Banka llogari barabartë me 0, në krahasim për të bërë minus 100. 1065 00:49:21,570 --> 00:49:24,410 Tani në rastin më të keq për bankën - 1066 00:49:24,410 --> 00:49:27,470 ose në të mirë për bankën, ndërkohë, ata të ju jap $ 200, dhe 1067 00:49:27,470 --> 00:49:31,690 llogarinë tuaj bankare tani tregon negative $ 100, e cila vërtetë nuk ka 1068 00:49:31,690 --> 00:49:32,950 të përfitojnë ju në të gjitha. 1069 00:49:32,950 --> 00:49:36,500 Por çështja është se kjo garë kusht për dy roommates duke u 1070 00:49:36,500 --> 00:49:40,660 qumësht, ose për dy ATM-ve duke u përpjekur për të marrë para në dorë dhe për të ndryshuar gjendjen e një kasafortë 1071 00:49:40,660 --> 00:49:44,510 në të njëjtën kohë ekziston ndonjë herë ju keni një bazë të dhënash. 1072 00:49:44,510 --> 00:49:48,290 >> Tani në problem të caktuar shtatë, kjo çështje lind në kuptimin se në qoftë se ju blej një 1073 00:49:48,290 --> 00:49:52,110 Pjesa e aksioneve Facebook, dhe pastaj për shkallës ju blini një pjesë të dytë të 1074 00:49:52,110 --> 00:49:55,160 Aksioneve Facebook, ju duhet të bëni një vendim si programues. 1075 00:49:55,160 --> 00:49:58,710 Në mënyrë që të vendosë se si për të rinovuar bazës së të dhënave, shanset janë që ju jeni do të 1076 00:49:58,710 --> 00:50:02,250 kanë një rresht për atë magazinë, dhe kjo është një mënyrë për ta zbatuar atë. 1077 00:50:02,250 --> 00:50:06,640 Dhe ju jeni do të ketë një pjesë të FB, e cila është simbol i tyre aksioneve Tiker 1078 00:50:06,640 --> 00:50:10,120 për këtë emër, apo ky përdorues ID, identifikues unik. 1079 00:50:10,120 --> 00:50:12,340 >> Por e njëjta histori mund të ndodhë këtu. 1080 00:50:12,340 --> 00:50:15,800 Nëse ju bëni një zgjidhni në SQL, si ju do të shihni në problemin vendosur shtatë kur të shihni, 1081 00:50:15,800 --> 00:50:18,460 oh, David ka një pjesë e aksioneve të Facebook. 1082 00:50:18,460 --> 00:50:23,240 Më lejoni tani të ndryshojë kjo të jetë dy aksione, për shkak se ai dëshiron të blejë një 1083 00:50:23,240 --> 00:50:24,120 Pjesa e dytë. 1084 00:50:24,120 --> 00:50:27,860 Por mendoj David fakt kishte dy dritaret e shfletuesit të hapur, ose të supozojmë se 1085 00:50:27,860 --> 00:50:32,150 kjo është një llogari të përbashkët me të dy bashkëshortëve, dhe dy prej tyre janë duke u përpjekur për të kryer 1086 00:50:32,150 --> 00:50:36,770 operacion njëjtë, atje, gjithashtu, ekziston potenciali për një vendim për të qenë 1087 00:50:36,770 --> 00:50:39,670 bëhet në bazë të mëparshme Gjendja e botës - 1088 00:50:39,670 --> 00:50:41,290 Llogaria ka një pjesë - 1089 00:50:41,290 --> 00:50:45,630 dhe të dy njerëz, ose të dy servers, tani përpiqen për të thënë rritje atë në dy aksione. 1090 00:50:45,630 --> 00:50:49,020 Por në këtë rast, ju mund të keni akuzuar me të holla për të dy aksionet, por 1091 00:50:49,020 --> 00:50:50,830 incremented vetëm se një herë. 1092 00:50:50,830 --> 00:50:54,730 >> Pra me pak fjalë, problemi themelor këtu, si me shaka rreth duke lënë një 1093 00:50:54,730 --> 00:50:58,750 vini re, ose të vënë një dry në të, është e në qoftë se dy njerëz, ose dy temat - 1094 00:50:58,750 --> 00:50:59,930 mendoj përsëri në para - 1095 00:50:59,930 --> 00:51:03,220 mund të inspektojnë gjendjen e disa ndryshore dhe pastaj të përpiqet për të ndryshuar atë variabël, 1096 00:51:03,220 --> 00:51:07,950 por këto dy gjëra nuk ndodhin në të njëjtën kohë, por mund të merrni ndërprerë 1097 00:51:07,950 --> 00:51:11,500 me gjëra të tjera që ndodhin, të dhënat mund të marrë në një gjendje shumë të pazakontë. 1098 00:51:11,500 --> 00:51:15,450 Dhe ju mund të përfitojnë ose ju mund të vuajnë në kuptimin e shembullit të parave. 1099 00:51:15,450 --> 00:51:18,110 >> Pra, në problemin vendosur shtatë, ju japim kjo linjë një kod, i cili gjatë 1100 00:51:18,110 --> 00:51:21,000 histori e shkurtër, zgjidh kjo Problemi në MySQL. 1101 00:51:21,000 --> 00:51:24,950 Ky udhëzim shumë të gjatë që nuk ka edhe përshtaten mbi një linjë të 1102 00:51:24,950 --> 00:51:30,370 ekran këtu siguron se operacioni juaj është ajo që quhet atomike. 1103 00:51:30,370 --> 00:51:33,720 E gjitha ndodh në një herë, ose kjo nuk ndodh në të gjitha. 1104 00:51:33,720 --> 00:51:37,530 Kjo frazë shumë të gjatë nuk mund të merrni ndërprerë pjesërisht. 1105 00:51:37,530 --> 00:51:39,840 >> Dhe atë që nuk është fjalë për fjalë çfarë thotë ai. 1106 00:51:39,840 --> 00:51:44,200 Futur në një tryezë në vijim tri fusha këto vlera të veçanta, 1107 00:51:44,200 --> 00:51:47,280 por mbi kopjuar çelës, nuk e bëjmë një insert. 1108 00:51:47,280 --> 00:51:48,280 Të bëjë një update. 1109 00:51:48,280 --> 00:51:52,450 Pra, kjo është si duke bërë një SELECT dhe një INSERT mënyrë që të flasin në të njëjtën kohë. 1110 00:51:52,450 --> 00:51:55,150 Dhe çfarë është çelësi që ndoshta duke u referuar këtu? 1111 00:51:55,150 --> 00:51:58,300 1112 00:51:58,300 --> 00:52:01,380 >> Kjo rezulton, dhe ju do të shihni këtë në Problemi vendosur spekulim shtatë-së, për shkak se 1113 00:52:01,380 --> 00:52:06,040 ne kemi deklaruar që të ketë një çelës unik në këtë tabelë të veçantë të tillë që 1114 00:52:06,040 --> 00:52:08,480 ju nuk mund të ketë rreshtave të shumta për të njëjtin përdorues me 1115 00:52:08,480 --> 00:52:10,150 njëjtë qindarkë aksioneve simbol - 1116 00:52:10,150 --> 00:52:13,780 në këtë shembull këtu, DVN.V është një gjendje pa kuptim qindarkë që ne 1117 00:52:13,780 --> 00:52:14,980 referohen në spekulim. 1118 00:52:14,980 --> 00:52:17,860 Sepse ne kemi deklaruar që ajo të jetë unike, çfarë kjo do të thotë është se në qoftë se ju 1119 00:52:17,860 --> 00:52:23,580 të përpiqemi për të futur një rresht kopjuar, ju jeni në vend të kësaj do të update it pa 1120 00:52:23,580 --> 00:52:27,020 dikush tjetër që ka mundësia të gjendja e botës ose. 1121 00:52:27,020 --> 00:52:29,400 Pra me pak fjalë, kjo siguron gjërat janë atomike. 1122 00:52:29,400 --> 00:52:32,530 >> Më në përgjithësi edhe pse, bazat e të dhënave si MySQL - 1123 00:52:32,530 --> 00:52:35,460 dhe ju nuk keni nevojë për këtë funksion p-vendosur shtatë, por mbani në mend për 1124 00:52:35,460 --> 00:52:36,200 të ardhmen - 1125 00:52:36,200 --> 00:52:38,870 të mbështetur atë që janë quajtur transaksionet, ku ju mund të them 1126 00:52:38,870 --> 00:52:40,990 START transaksion fjalë për fjalë. 1127 00:52:40,990 --> 00:52:43,270 Ju pastaj mund të ekzekutojë dy deklarata SQL. 1128 00:52:43,270 --> 00:52:45,710 Dhe një deklaratë SQL, si ju do të shihni në p-vendosur shtatë, duket pak 1129 00:52:45,710 --> 00:52:46,750 diçka e tillë. 1130 00:52:46,750 --> 00:52:48,820 Update quajtur një llogari tryezë. 1131 00:52:48,820 --> 00:52:52,550 Set kolonën e bilancit të barabartë me çdo gjë kolona bilanci aktualisht 1132 00:52:52,550 --> 00:52:57,280 është minus 1.000 ku numri, numri i llogarisë, si ID e përdoruesit, 1133 00:52:57,280 --> 00:53:00,830 është e barabartë me 2, dhe pastaj të rinovuar Llogaria dot dot dot. 1134 00:53:00,830 --> 00:53:04,350 >> Pra, në kushtet e laik, çfarë bëjnë këto dy pyetje duket të jetë bërë në 1135 00:53:04,350 --> 00:53:05,840 ndjenjë të vërtetë bota e bankare? 1136 00:53:05,840 --> 00:53:07,440 >> Audienca: Transferimi në kursime. 1137 00:53:07,440 --> 00:53:08,020 >> DAVID Malan: Pikërisht. 1138 00:53:08,020 --> 00:53:10,470 Transferimin e fondeve nga një llogari të tjera. 1139 00:53:10,470 --> 00:53:14,400 Dhe ky është një shembull tjetër ku ju me të vërtetë duan këto dy gjëra të ndodhin 1140 00:53:14,400 --> 00:53:15,570 ose jo të ndodhë. 1141 00:53:15,570 --> 00:53:18,880 Ju nuk doni diçka për të marrë në mes të tyre dhe potencialisht mess up 1142 00:53:18,880 --> 00:53:22,220 matematikë, ose bela deri sa para që ju keni, ose sa 1143 00:53:22,220 --> 00:53:23,170 Paratë banka ka. 1144 00:53:23,170 --> 00:53:26,890 Pra, çfarë është me të vërtetë e bukur për transaksionet në MySQL është se, dhe 1145 00:53:26,890 --> 00:53:30,160 Bazat e të dhënave më përgjithësisht, është se ato dhe njerëz të zgjuar që kam zbatuar 1146 00:53:30,160 --> 00:53:33,670 këto karakteristika të kuptoj se si për të bërë i sigurt se të dy nga ato gjëra të ndodhë 1147 00:53:33,670 --> 00:53:35,120 ose jo në të gjitha. 1148 00:53:35,120 --> 00:53:38,580 >> Dhe në qoftë se ju jeni me të vërtetë aspirojnë për të bërë një faqe interneti që është përdorur nga njerëzit në 1149 00:53:38,580 --> 00:53:41,490 kampus, njerëzit në botën reale, duke bërë diçka në kuptimin e nisjes, 1150 00:53:41,490 --> 00:53:43,300 këto janë llojet e vendime të projektimit që 1151 00:53:43,300 --> 00:53:45,020 të bëhet ndonjëherë aq e rëndësishme. 1152 00:53:45,020 --> 00:53:48,240 Përndryshe, ju filloni të humbni të dhënat, të humbur përdoruesit, ose në rastin më të keq si 1153 00:53:48,240 --> 00:53:51,800 ne kemi parë këtu, potencialisht humbasin para. 1154 00:53:51,800 --> 00:53:56,180 Pra, përsëri, më shumë se në problemin vendosur shtatë, si dhe mbase per disa 1155 00:53:56,180 --> 00:53:57,530 ju në projekte finale. 1156 00:53:57,530 --> 00:54:01,870 >> Pra, le të ndryshojë atë foto që kishim një moment më parë vetëm në një mënyrë më shumë. 1157 00:54:01,870 --> 00:54:04,070 Pra më lejoni të vërtetë të shohim nëse mund të - 1158 00:54:04,070 --> 00:54:06,030 nope, që është zhdukur. 1159 00:54:06,030 --> 00:54:06,690 Nuk është. 1160 00:54:06,690 --> 00:54:09,020 >> Pra, kjo është ajo ku ne e kemi lënë për herë të fundit. 1161 00:54:09,020 --> 00:54:12,390 Dhe kjo rezulton ne do të hedh një gjë më shumë në përzierje këtu - 1162 00:54:12,390 --> 00:54:14,510 një gjuhë e quajtur JavaScript. 1163 00:54:14,510 --> 00:54:18,060 Pra JavaScript në fakt i përshtatet në këtë pjesë - 1164 00:54:18,060 --> 00:54:22,086 dhe nuk e kam mjaft të lënë hapësirë ​​të mjaftueshme, kështu që kjo nuk është tashmë në shkallë. 1165 00:54:22,086 --> 00:54:23,900 OK, kjo është me të vërtetë patetike. 1166 00:54:23,900 --> 00:54:27,075 OK, kështu që kjo është JavaScript. 1167 00:54:27,075 --> 00:54:27,340 Dakord. 1168 00:54:27,340 --> 00:54:28,760 Unë jam me të vërtetë duke e bërë atë një dëmtim. 1169 00:54:28,760 --> 00:54:29,390 Dakord. 1170 00:54:29,390 --> 00:54:34,790 >> Pra JavaScript është një tjetër programimi gjuhës, dhe e fundit tonë, qoftë se ndihmon 1171 00:54:34,790 --> 00:54:37,770 të siguruar se nuk ka shumë më tepër nga hidranti zjarri këtu. 1172 00:54:37,770 --> 00:54:41,100 Pra JavaScript është gjithashtu një interpretohet gjuhës, që do të thotë që ju nuk e bëni 1173 00:54:41,100 --> 00:54:42,670 përpilojnë atë në zero dhe ato. 1174 00:54:42,670 --> 00:54:43,690 Ju vetëm të drejtuar atë. 1175 00:54:43,690 --> 00:54:47,680 Por ajo që është krejtësisht e ndryshme me JavaScript zakonisht është se ju 1176 00:54:47,680 --> 00:54:49,815 nuk e drejtuar atë në web serverin tuaj. 1177 00:54:49,815 --> 00:54:52,570 Ajo nuk merr kandidojë në aplikim në vetvete. 1178 00:54:52,570 --> 00:54:57,490 Më saktë, ajo merr shkarkuar nga një përdorues nëpërmjet HTTP në shfletuesin e tyre - 1179 00:54:57,490 --> 00:55:00,260 Chrome, Safari, Internet Explorer, Firefox, çfarëdo - 1180 00:55:00,260 --> 00:55:03,860 dhe kjo është shfletuesi që ekzekuton këtë veçanti gjuhë programimi. 1181 00:55:03,860 --> 00:55:08,000 >> Pra, të jetë i qartë, PHP deri tani ka qenë ekzekutuar ose në rreshtin e komandave në 1182 00:55:08,000 --> 00:55:11,290 dritare tonë të zezë dhe të bardhë, në një server si aparatit, një kompjuter 1183 00:55:11,290 --> 00:55:14,490 pëlqen pajisjen, ose ajo është ekzekutuar nga një web server 1184 00:55:14,490 --> 00:55:15,860 kandidon për një kompjuter. 1185 00:55:15,860 --> 00:55:20,490 Por tema këtu është se PHP deri tani është ekzekutuar server-krah, kështu që 1186 00:55:20,490 --> 00:55:24,820 përdoruesit dhe shfletuesi i përdoruesit kurrë nuk e sheh një linjë të kodit PHP. 1187 00:55:24,820 --> 00:55:28,530 >> Në fakt, në qoftë se ju ndonjëherë të hapur një shfletues për faqen tuaj te internetit ose në një tjetër dhe ju 1188 00:55:28,530 --> 00:55:32,400 në të vërtetë të shihni kodin PHP në dritaren tuaj, dikush ka dehur. 1189 00:55:32,400 --> 00:55:34,950 Për shkak se ajo nuk është për qëllim të jetë dërguar në një shfletues direkt. 1190 00:55:34,950 --> 00:55:38,150 Ajo është menduar për të ekzekutuar dhe të kthyer në diçka si HTML. 1191 00:55:38,150 --> 00:55:40,120 >> Por JavaScript është në thelb e kundërta. 1192 00:55:40,120 --> 00:55:44,350 Është menduar që të drejtohen në mënyrë tipike brenda i shfletuesit dritare të përdoruesit. 1193 00:55:44,350 --> 00:55:46,840 Dhe çfarë lloje të faqet e internetit të përdorni JavaScript atëherë këto ditë? 1194 00:55:46,840 --> 00:55:49,640 1195 00:55:49,640 --> 00:55:52,180 >> Ashtu si fjalë për fjalë çdo faqen e internetit popullor. 1196 00:55:52,180 --> 00:55:55,430 Çdo website se ju djema ndoshta përdorin çdo ditë përdorin JavaScript për 1197 00:55:55,430 --> 00:55:57,330 thjeshtë dhe madje Karakteristika sexiest. 1198 00:55:57,330 --> 00:55:59,800 >> Pra, diçka si Facebook Chat qoftë se ju përdorni atë. 1199 00:55:59,800 --> 00:56:01,040 Si bën që në të vërtetë punojnë? 1200 00:56:01,040 --> 00:56:05,090 E pra deri më tani, të gjitha stuff ne kemi bërë me HTML dhe PHP supozon se 1201 00:56:05,090 --> 00:56:08,750 ju tërheqë një URL, dhe ti hit Enter, dhe ju të shihni disa përmbajtje në HTML. 1202 00:56:08,750 --> 00:56:11,970 Dhe ju klikoni lidhjen, që ndryshon URL, ndryshon faqe, dhe reloads 1203 00:56:11,970 --> 00:56:12,740 disa përmbajtje të re. 1204 00:56:12,740 --> 00:56:16,340 Klikoni një tjetër URL ose të dorëzojnë një formular, ju merrni whisked në një faqe dhe 1205 00:56:16,340 --> 00:56:17,420 ju të shihni disa përmbajtje të re. 1206 00:56:17,420 --> 00:56:22,710 >> Por duke përdorur diçka si Facebook Chat, ose Gchat, ose Google Maps, rrallë 1207 00:56:22,710 --> 00:56:27,350 jep i gjithë faqja rifreskoni të tilla që ju shihni një ekran të bardhë dhe një çast 1208 00:56:27,350 --> 00:56:28,470 pastaj përmbajtje të re. 1209 00:56:28,470 --> 00:56:32,610 Përkundrazi, faqet e internetit sot janë dinamike duke u përditësuar përsëri dhe 1210 00:56:32,610 --> 00:56:35,570 përsëri dhe përsëri të gjitha lloj e prapa skenave. 1211 00:56:35,570 --> 00:56:38,560 Dhe kjo rezulton se kur ju shkoni për të diçka si Facebook, apo Gchat, 1212 00:56:38,560 --> 00:56:43,050 apo Gmail, dhe më të reja faqe automatikisht pa ringarkuar 1213 00:56:43,050 --> 00:56:47,630 gjithë ekranin, ajo që ka ndodhur është se shfletuesi juaj ka bërë lloj të fshehtë 1214 00:56:47,630 --> 00:56:49,410 shtesë HTTP kërkesa - 1215 00:56:49,410 --> 00:56:52,740 jo për faqet e internetit të tërë, por vetëm për chunks vogla e të dhënave, si 1216 00:56:52,740 --> 00:56:55,740 mesazhe casti se shoku juaj vetëm ju, ose update statusin dërguar që 1217 00:56:55,740 --> 00:56:58,210 dikush vetëm ju, ose cicëroj dërguar që dikush vetëm të dërguar. 1218 00:56:58,210 --> 00:57:02,120 Është vetëm duke bërë kërkesa të vogla për të dhënave, dhe pastaj duke përdorur JavaScript, ky 1219 00:57:02,120 --> 00:57:06,370 gjuhë programimi, për të ndryshuar çfarë web faqja e duket si pa 1220 00:57:06,370 --> 00:57:09,860 server ndihmuar, pa server gjenerimin se HTML. 1221 00:57:09,860 --> 00:57:13,820 >> Pra me pak fjalë, JavaScript mund të përdoret pastaj për të shkoj të marr jo vetëm të dhëna të reja nga 1222 00:57:13,820 --> 00:57:16,750 server pa ringarkuar një të tërë faqe apo paraqitur një formë. 1223 00:57:16,750 --> 00:57:20,060 Ajo mund të përdoret gjithashtu për të ndryshimit ashtu-quajtur DOM - 1224 00:57:20,060 --> 00:57:21,520 Dokumenti objekt modeli - 1225 00:57:21,520 --> 00:57:24,620 e cila është vetëm mënyrë e sofistikuar për duke thënë se pema e HTML 1226 00:57:24,620 --> 00:57:26,220 që kemi parë për herë të fundit. 1227 00:57:26,220 --> 00:57:31,640 >> Pra, për të siguruar, JavaScript është syntactically në mënyrë të ngjashme me C si. 1228 00:57:31,640 --> 00:57:32,820 Nuk ka funksion kryesor. 1229 00:57:32,820 --> 00:57:35,430 Ju vetëm të filloni të shkruani kodin dhe ajo do të ekzekutohet, ose 1230 00:57:35,430 --> 00:57:36,900 interpretohet më shumë si duhet. 1231 00:57:36,900 --> 00:57:38,660 Kushtet do të duket si ky. 1232 00:57:38,660 --> 00:57:41,230 E ndryshme nga C, ose PHP për këtë çështje. 1233 00:57:41,230 --> 00:57:43,890 Shprehjet Boolean ose-ed bashku do të duket si ky. 1234 00:57:43,890 --> 00:57:45,590 Anded së bashku të duket si ky. 1235 00:57:45,590 --> 00:57:47,750 >> Switches do të duket si ky. 1236 00:57:47,750 --> 00:57:49,440 Për sythe do të duket si ky. 1237 00:57:49,440 --> 00:57:51,060 Ndërsa sythe do të duket si ky. 1238 00:57:51,060 --> 00:57:53,316 A ndërsa sythe do të duket si ky. 1239 00:57:53,316 --> 00:57:54,780 >> Kjo është e re. 1240 00:57:54,780 --> 00:57:58,753 Pra, JavaScript nuk ka një foreach ndërtuar në vetvete, por kjo konstrukt 1241 00:57:58,753 --> 00:58:03,870 për variabël i renditi për betejë, dhe unë në këtë Rasti bëhet një vlerë indeksi. 1242 00:58:03,870 --> 00:58:06,880 Pra, kjo është pak e ndryshme nga ajo foreach, edhe pse versione të reja të 1243 00:58:06,880 --> 00:58:10,280 JavaScript po vijnë nga të gjithë kohës, kështu që edhe këto tipare gjuhësore 1244 00:58:10,280 --> 00:58:10,880 po evoluon. 1245 00:58:10,880 --> 00:58:16,920 >> Dhe si një mënjanë, JavaScript këto ditë mund të përdoret gjithashtu në një server të vetëm si 1246 00:58:16,920 --> 00:58:19,920 PHP duke përdorur një kuadër të quajtur Node.js. 1247 00:58:19,920 --> 00:58:24,670 Një nga TFS CS50-së, Kevin, e ka udhëhequr një seminar mbi Node.js kjo është në dispozicion në 1248 00:58:24,670 --> 00:58:26,440 cs50.net/seminars. 1249 00:58:26,440 --> 00:58:28,830 Pra, nëse ju jeni kurioz, e di se ju mund të përdorin këtë në anën e serverit si 1250 00:58:28,830 --> 00:58:33,870 mirë, por kjo është një tendencë të kohëve të fundit në mënyrë të drejtë, por një njeri i fuqishëm në atë. 1251 00:58:33,870 --> 00:58:35,270 >> Kjo është pak më ndryshe. 1252 00:58:35,270 --> 00:58:37,910 Ky është një koleksion në JavaScript. 1253 00:58:37,910 --> 00:58:40,115 Dhe ajo që të godet si të ndryshme kundrejt C apo PHP? 1254 00:58:40,115 --> 00:58:43,890 1255 00:58:43,890 --> 00:58:47,420 Ka pak raste të shpejtë ne mund të them këtu. 1256 00:58:47,420 --> 00:58:49,367 Çfarë i mungon kundrejt PHP? 1257 00:58:49,367 --> 00:58:51,652 >> Audienca: [padëgjueshme]. 1258 00:58:51,652 --> 00:58:52,110 >> DAVID Malan: Po? 1259 00:58:52,110 --> 00:58:53,322 Na vjen keq, them përsëri? 1260 00:58:53,322 --> 00:58:54,740 >> Audienca: Jo deklaruar Lloji i ndryshore. 1261 00:58:54,740 --> 00:58:56,390 >> DAVID Malan: Ne nuk jemi duke deklaruar Lloji i ndryshore. 1262 00:58:56,390 --> 00:58:59,630 Pra, në të vërtetë mjaft si PHP, ne nuk jemi specifikuar llojet e kësaj variable. 1263 00:58:59,630 --> 00:59:02,670 Më saktë, ne jemi më shumë generically duke thënë var për ndryshore. 1264 00:59:02,670 --> 00:59:06,690 Ne nuk kemi telash PHP-së e shenjë dollar, e cila duke i lodhshëm për të 1265 00:59:06,690 --> 00:59:09,160 lloji, e bën më të qartë se diçka është një variabël. 1266 00:59:09,160 --> 00:59:11,830 Ndërsa këtu, ne jemi lloj përsëri në Qasja C duke e quajtur vetëm një 1267 00:59:11,830 --> 00:59:14,500 ndryshueshme me emrin që duam për të dhënë atë, si numrat. 1268 00:59:14,500 --> 00:59:17,170 Dhe ashtu si PHP, ne kemi kllapa katrore për 1269 00:59:17,170 --> 00:59:19,170 Vlerat brenda kësaj grup. 1270 00:59:19,170 --> 00:59:22,490 >> Pra variablat në JavaScript gjithashtu mund të duket kështu. 1271 00:59:22,490 --> 00:59:26,900 Vini re këtu kjo është një varg i quajtur s, por në mënyrë të ngjashme nuk kanë specifikuar 1272 00:59:26,900 --> 00:59:28,750 se kjo është një varg. 1273 00:59:28,750 --> 00:59:33,160 Ja pse është një tipar që nuk ka ekzistojnë pikërisht në të njëjtën mënyrë e në PHP, 1274 00:59:33,160 --> 00:59:34,460 por pak në mënyrë të ngjashme. 1275 00:59:34,460 --> 00:59:36,530 Kjo është një objekt në JavaScript. 1276 00:59:36,530 --> 00:59:42,110 Dhe objektet janë lloj Ushtria zvicerane Thikë e një strukture të dhënave në atë ju 1277 00:59:42,110 --> 00:59:43,900 mund t'i përdorë ato për çdo numër të gjërave. 1278 00:59:43,900 --> 00:59:46,860 >> Këtu, për shembull, ne jemi duke deklaruar një ndryshore të quajtur kuotë. 1279 00:59:46,860 --> 00:59:49,110 Lloji i kësaj variable është një objekt. 1280 00:59:49,110 --> 00:59:53,550 Ju mund të mendoj për këtë si strukturë C që ka çelësat dhe vlerat. 1281 00:59:53,550 --> 00:59:55,250 Simboli është një kyç. 1282 00:59:55,250 --> 00:59:57,350 FB është një vlerë, me sa duket një simbol të aksioneve. 1283 00:59:57,350 --> 00:59:57,930 Presje. 1284 00:59:57,930 --> 01:00:02,180 Çmimi është një tjetër kyç, dhe vlera e saj është duket një pikë qarkullues, ose një 1285 01:00:02,180 --> 01:00:06,510 Numri më në përgjithësi në JavaScript, prej 49,26 $. 1286 01:00:06,510 --> 01:00:09,030 >> Pra PHP nuk ka - 1287 01:00:09,030 --> 01:00:12,980 ne nuk kemi parë në objekte PHP mjaft si kjo, por ne e shohim një analog, 1288 01:00:12,980 --> 01:00:14,093 e cila ishte ajo? 1289 01:00:14,093 --> 01:00:14,980 >> Audienca: [padëgjueshme]. 1290 01:00:14,980 --> 01:00:16,110 >> DAVID Malan: vargjeve asociative. 1291 01:00:16,110 --> 01:00:19,990 Pra, ndërsa PHP ka vargjeve të shoqatave Sintaksa e të cilit është kurrë aq pak 1292 01:00:19,990 --> 01:00:20,370 të ndryshme - 1293 01:00:20,370 --> 01:00:21,780 ne pamë kllapa katrore. 1294 01:00:21,780 --> 01:00:23,860 Ne pamë pazakontë shigjeta simbolet. 1295 01:00:23,860 --> 01:00:27,330 JavaScript ka objekte, por kjo është kryesisht një ndryshim semantik dhe një 1296 01:00:27,330 --> 01:00:29,260 sinonim të ndryshme për tani. 1297 01:00:29,260 --> 01:00:35,060 Megjithatë, si një mënjanë, PHP gjithashtu ka objekte në një mënyrë që Java dhe të tjera 1298 01:00:35,060 --> 01:00:37,810 gjuhë kanë objekte në programimit object-oriented. 1299 01:00:37,810 --> 01:00:40,440 Por ne do të përdorim këto vetëm për llojet e të dhënave për tani. 1300 01:00:40,440 --> 01:00:42,170 Objektet dhe vargjeve asociative. 1301 01:00:42,170 --> 01:00:44,140 >> Kjo mund të bëjnë të pak më i qartë. 1302 01:00:44,140 --> 01:00:45,890 Ja pse një objekt është e dobishme. 1303 01:00:45,890 --> 01:00:48,760 Kur doni të deklarojë një student, si Zamyla, ne mund të vërtetë 1304 01:00:48,760 --> 01:00:52,630 encapsulate kështu që të flasin brenda e që kundërshtojnë duke përdorur kllapa kaçurrel ashtu si 1305 01:00:52,630 --> 01:00:55,060 para një bandë e tërë e çelësat dhe vlerat në këtu. 1306 01:00:55,060 --> 01:00:59,150 Ne kemi një ID, një shtëpi, dhe një emër për Zamyla, e ndjekur nga një pikëpresje si 1307 01:00:59,150 --> 01:01:00,690 zakonisht në fund. 1308 01:01:00,690 --> 01:01:04,840 >> Poshtë edhe këtu, kjo është pak të ndryshme, por edhe shumë i fuqishëm 1309 01:01:04,840 --> 01:01:05,690 këto ditë. 1310 01:01:05,690 --> 01:01:08,780 Ja një grup, dhe unë e di se për shkak ka një kllapa katrore up 1311 01:01:08,780 --> 01:01:11,090 lartë dhe një kllapa katrore në fund. 1312 01:01:11,090 --> 01:01:16,050 Dhe kjo është një grup të asaj që të dhënat e shkruani sa duket në JavaScript? 1313 01:01:16,050 --> 01:01:21,260 Ky është një grup i saj duket si tre objekte. 1314 01:01:21,260 --> 01:01:24,580 Dhe unë e di se është vetëm një objekt për shkak të formatimin e teksteve kaçurrel. 1315 01:01:24,580 --> 01:01:28,760 Dhe vini re nuk ka mbajtëse të hapur kaçurrel, disa sende, mbajtëse të ngushtë kaçurrel, presje, 1316 01:01:28,760 --> 01:01:31,180 pastaj disa më shumë, presje, dhe pastaj disa më shumë. 1317 01:01:31,180 --> 01:01:33,800 Pra, kjo është tre argumente ndara nga dy presje. 1318 01:01:33,800 --> 01:01:36,810 >> Pra, kjo është një grup prej tre objekte. 1319 01:01:36,810 --> 01:01:39,940 Dhe secili prej këtyre objekteve duket të jetë një anëtar student ose stafi i disa 1320 01:01:39,940 --> 01:01:42,370 lloj, secili me një ID, shtëpi, dhe emri. 1321 01:01:42,370 --> 01:01:45,060 Por unë e kam quajtur këtë diçka quajtur JSON - 1322 01:01:45,060 --> 01:01:47,450 JavaScript simbol Object. 1323 01:01:47,450 --> 01:01:52,060 Dhe kjo është një format të dhënave që në fakt është kaq shumë popullor dhe në 1324 01:01:52,060 --> 01:01:55,100 modë këto ditë se në qoftë se ju shkruani një aplikim që përdor Facebook 1325 01:01:55,100 --> 01:01:59,150 API, API Twitter, me të vërtetë gati çdo API atje këto ditë, 1326 01:01:59,150 --> 01:02:02,820 duke përfshirë edhe disa nga vetë CS50-së, të dhënat që ju të merrni përsëri nuk është në 1327 01:02:02,820 --> 01:02:04,720 vjetër format CSV shkollës. 1328 01:02:04,720 --> 01:02:06,780 >> Sepse kujtojnë se CSV është super e thjeshtë. 1329 01:02:06,780 --> 01:02:10,230 Ajo është vetëm kolona të ndara me presje. 1330 01:02:10,230 --> 01:02:13,190 Të dhënave JSON ju jep më shumë metadata. 1331 01:02:13,190 --> 01:02:17,800 Ajo lidh një kyç me çdo vlerë në mënyrë ata nuk kanë për të vetëm të supozojmë se 1332 01:02:17,800 --> 01:02:22,460 kolona 0 është një vlerë, kolona një është një tjetër, kolona dy është një tjetër. 1333 01:02:22,460 --> 01:02:26,790 Çdo gjë në një objekt JSON këtu është lloj të vetë-përshkruar, sepse çdo 1334 01:02:26,790 --> 01:02:30,940 një prej emrave në këtë fotografi ka fjalë për fjalë të përmendur para saj si një 1335 01:02:30,940 --> 01:02:32,510 string cituar. 1336 01:02:32,510 --> 01:02:34,950 >> Pra, le të marrin një vështrim në a disa shembuj këtu. 1337 01:02:34,950 --> 01:02:36,800 Më lejoni të shkoj në aplikim. 1338 01:02:36,800 --> 01:02:41,000 Dhe më lejoni të shkoj në vhost tonë directory në publik. 1339 01:02:41,000 --> 01:02:45,590 Dhe më lejoni të shkoj në JavaScript directory. 1340 01:02:45,590 --> 01:02:49,610 Dhe le të shkojë përpara dhe të hapur dom-0.html, ku DOM thjesht do të thotë 1341 01:02:49,610 --> 01:02:51,010 dokument Modeli objekt. 1342 01:02:51,010 --> 01:02:53,490 Është pemë gjëra për të cilat Unë i përmendur më herët. 1343 01:02:53,490 --> 01:02:54,950 >> Dhe më lejoni të propozoj në vijim. 1344 01:02:54,950 --> 01:02:57,720 Këtu ka një faqe web e të cilit Trupi është shumë e thjeshtë. 1345 01:02:57,720 --> 01:03:00,170 Pra, këtu poshtë në pjesën e poshtme, vini re: Unë kam një formë. 1346 01:03:00,170 --> 01:03:01,500 Ne kemi parë ata që ishin para. 1347 01:03:01,500 --> 01:03:07,600 Ajo ka dy inputeve, një nga të cilat ka një ID emri, një nga të cilat është një lloj 1348 01:03:07,600 --> 01:03:09,830 paraqesë, dhe parë Lloji i njeriut është teksti. 1349 01:03:09,830 --> 01:03:11,900 Pra, kjo në të vërtetë tingëllon shumë e thjeshtë. 1350 01:03:11,900 --> 01:03:13,090 >> Le të shkoni këtu. 1351 01:03:13,090 --> 01:03:15,390 Le të kthehemi në këtë faqe këtu. 1352 01:03:15,390 --> 01:03:21,030 Le të shkojnë në localhost, dhe shko në directory tonë JavaScript, dhe të shkojnë në 1353 01:03:21,030 --> 01:03:24,640 dom-0, dhe këtu ne kemi këtë formular. 1354 01:03:24,640 --> 01:03:26,550 Pra, kjo është me sa duket e gjithë kjo faqe ka. 1355 01:03:26,550 --> 01:03:28,740 Ajo ka një fushë me emrin Submit një buton. 1356 01:03:28,740 --> 01:03:30,340 Por unë nuk jam duke shkuar për të përdorur PHP këtu. 1357 01:03:30,340 --> 01:03:34,310 Unë jam duke shkuar për të bërë çdo gjë anën e klientit kështu që të flasin në JavaScript si më poshtë. 1358 01:03:34,310 --> 01:03:39,100 >> Vini re se unë kam dhënë të vërtetë emrin Fusha e këtij input një unik 1359 01:03:39,100 --> 01:03:42,350 identifikues, i cili do të vërtetë Më të ruajtur disa kohë në një çast. 1360 01:03:42,350 --> 01:03:45,480 Dhe vini re unë kam futur një tag në krye të web faqen time, 1361 01:03:45,480 --> 01:03:46,565  tag. 1362 01:03:46,565 --> 01:03:50,120 >> Pra, është në këtë kuptim se JavaScript është një klient-side gjuhë programimi. 1363 01:03:50,120 --> 01:03:55,020 Në këtë rast, ashtu si CSS, unë kam vënë kjo e drejtë brenda HTML tim. 1364 01:03:55,020 --> 01:03:58,810 Por njoftimi Unë e kam deklaruar një funksion se duket pak si PHP 1365 01:03:58,810 --> 01:04:01,530 sintaksore, por kjo është në të vërtetë JavaScript, sepse përsëri, kjo është 1366 01:04:01,530 --> 01:04:03,920 klient-side në shfletuesin. 1367 01:04:03,920 --> 01:04:07,590 Dhe të marrë me mend se çfarë kjo do të të bëjë, edhe pse disa prej sintaksës 1368 01:04:07,590 --> 01:04:09,338 këtu është e re. 1369 01:04:09,338 --> 01:04:11,760 >> Audienca: Thuaj përshëndetje për të kushdo. 1370 01:04:11,760 --> 01:04:14,020 >> DAVID Malan: Ajo do të thonë hello për të kushdo që viziton këtë faqe. 1371 01:04:14,020 --> 01:04:15,120 Pra, si? 1372 01:04:15,120 --> 01:04:18,070 >> Pra të vini re, ajo rezulton në JavaScript ka një alert () funksion. 1373 01:04:18,070 --> 01:04:22,840 Ky është një funksion shumë lloj trishtuar që vërtetë vetëm ka tendencë për të fyejnë përdoruesit. 1374 01:04:22,840 --> 01:04:25,440 Kjo nuk është një që ju duhet të vërtetë të përdorni në mënyrë tipike, por kjo është një shpejtë dhe të pista 1375 01:04:25,440 --> 01:04:27,710 Mënyra e lloj shtypjes diçka për një përdorues grafike 1376 01:04:27,710 --> 01:04:29,180 kryesh, si një shfletues. 1377 01:04:29,180 --> 01:04:31,400 Vini re këtu që unë kam marrë një string në thonjëza të vetme. 1378 01:04:31,400 --> 01:04:36,010 Ajo rezulton se ndryshe nga C, JavaScript në fakt mund të keni të përdorni të vetme 1379 01:04:36,010 --> 01:04:38,730 citon, dhe sinqerisht kjo është vetëm lloj e konventës stilistike në mesin e 1380 01:04:38,730 --> 01:04:41,180 JavaScript programuesit për të përdorur Kuotat e vetme. 1381 01:04:41,180 --> 01:04:43,750 PHP, ata në fakt kanë pak Kuptimi i ndryshëm. 1382 01:04:43,750 --> 01:04:45,810 Por tani për tani, vetëm e di se kjo është arsyeja e vetme. 1383 01:04:45,810 --> 01:04:49,270 Konventa në JavaScript është shpesh për të përdorni Kuotat e vetme, por ne mund të përdorim 1384 01:04:49,270 --> 01:04:50,950 Kuotat e dyfishtë në të dy vendet si. 1385 01:04:50,950 --> 01:04:52,610 >> Pra, kjo është interesante. 1386 01:04:52,610 --> 01:04:56,430 Kujtojnë herë të fundit që kemi pasur që fotografia në ekran që tërhoqi një pemë 1387 01:04:56,430 --> 01:04:59,720 ku keni pasur nyjen HTML, dhe kokë nyje, dhe nyjen e trupit, 1388 01:04:59,720 --> 01:05:00,800 dhe pastaj disa tekst. 1389 01:05:00,800 --> 01:05:04,700 Por nuk ishte një nyje të veçantë në shumë të lartë që unë e quajti dokumentin. 1390 01:05:04,700 --> 01:05:08,260 E pra, kjo rezulton në JavaScript, çdo herë që të shkruani një program në JavaScript 1391 01:05:08,260 --> 01:05:11,040 në një shfletues, ju keni qasje në një variabël të veçantë globale. 1392 01:05:11,040 --> 01:05:14,130 Të ngjashme në frymë të superglobals php-së, kjo quhet në 1393 01:05:14,130 --> 01:05:16,050 të gjitha dokument me të vogla. 1394 01:05:16,050 --> 01:05:21,480 >> Është si një struct, por kjo struct gjithashtu ka funksione në brendësi të tij. 1395 01:05:21,480 --> 01:05:23,790 Pra, një struct C vetëm ka të dhëna në mënyrë tipike. 1396 01:05:23,790 --> 01:05:29,060 Por një objekt JavaScript pasi kjo teknikisht është gjithashtu ka funksione, 1397 01:05:29,060 --> 01:05:31,830 i njohur ndryshe si metodat, në brendësi të saj. 1398 01:05:31,830 --> 01:05:35,750 Dhe ju mund të telefononi një funksion brenda ky objekt mjaft fjalë për fjalë saj duke bërë 1399 01:05:35,750 --> 01:05:39,610 emri, dot, dhe pastaj emrin e funksioni, ose përsëri metodë. 1400 01:05:39,610 --> 01:05:41,160 Është vetëm një sinonim, me të vërtetë. 1401 01:05:41,160 --> 01:05:42,450 >> Dhe çfarë e bën këtë funksion të bëjë? 1402 01:05:42,450 --> 01:05:43,840 Ju mund të lloj mend nga emri i saj. 1403 01:05:43,840 --> 01:05:45,590 Get element me ID. 1404 01:05:45,590 --> 01:05:50,040 Pra, kjo do të kërkoni në web faqe, kërko atë pemë, në kërkim të 1405 01:05:50,040 --> 01:05:55,210 çfarëdo nyje, element AKA, ka një ID unike kuotë e emrit mbyll thonjëzat. 1406 01:05:55,210 --> 01:05:56,560 Dhe pastaj çfarë jam unë do të bëj? 1407 01:05:56,560 --> 01:06:00,350 Unë jam duke shkuar për të marrë vlerën brenda që Nyja në pemë, dhe unë jam duke shkuar 1408 01:06:00,350 --> 01:06:02,580 për të thënë disi hello për këtë emër. 1409 01:06:02,580 --> 01:06:05,360 >> Pra, të marrë me mend, edhe pse ne nuk kemi parë këtë ende, çfarë bëni plus 1410 01:06:05,360 --> 01:06:07,396 simbole të thotë këtu dhe këtu ndoshta? 1411 01:06:07,396 --> 01:06:08,230 >> Audienca: lidh. 1412 01:06:08,230 --> 01:06:09,220 >> DAVID Malan: lidh. 1413 01:06:09,220 --> 01:06:11,290 E drejta, dhe këto janë vetëm lloj të hartuar vendime 1414 01:06:11,290 --> 01:06:12,280 populli e vite më parë. 1415 01:06:12,280 --> 01:06:15,190 Në PHP, ju lidh gjërat me pika. 1416 01:06:15,190 --> 01:06:18,800 Në C, ju kërcejnë përmes disa hoops dhe të telefononi funksionet si strcopy () ose 1417 01:06:18,800 --> 01:06:20,600 strcat () ose funksione të tjera të tilla. 1418 01:06:20,600 --> 01:06:22,060 Por në JavaScript, ju përdorni pluses. 1419 01:06:22,060 --> 01:06:24,770 Pra, kjo është vetëm concatenating tre strings - 1420 01:06:24,770 --> 01:06:27,850 hello, një emër, dhe pastaj një pikë thirrje. 1421 01:06:27,850 --> 01:06:30,390 >> Pra, kur dhe pse është ky funksion quajtur pse? 1422 01:06:30,390 --> 01:06:33,150 E pra, të marrë me mend nga HTML në fund. 1423 01:06:33,150 --> 01:06:35,810 Pse është e përshëndes () i quajtur, apo kur? 1424 01:06:35,810 --> 01:06:39,730 1425 01:06:39,730 --> 01:06:44,030 >> Me sa duket, sa më mirë unë mund të them, në paraqesë, kur kjo formë është dorëzuar, 1426 01:06:44,030 --> 01:06:47,200 Unë jam duke shkuar për të bërë çdo gjë që është brenda nga këto citate. 1427 01:06:47,200 --> 01:06:50,900 Dhe në mënyrë të veçantë, unë jam duke shkuar për të thirrur përshëndes () dhe pastaj të kthimit të rreme. 1428 01:06:50,900 --> 01:06:53,090 >> E pra, le të shohim se çfarë neto Efekti këtu është i parë. 1429 01:06:53,090 --> 01:06:58,290 Pra më lejoni të shkoj përpara dhe të shtypni në, të themi, Loren, Submit. 1430 01:06:58,290 --> 01:06:59,440 Përshëndetje Loren. 1431 01:06:59,440 --> 01:07:02,990 Le të shohim nëse ndoshta kjo ishte vetëm një zbatim me fat. 1432 01:07:02,990 --> 01:07:03,200 Jo. 1433 01:07:03,200 --> 01:07:05,990 Pra, është e shtypur nga çfarëdo emrin Unë në fakt vendos atje. 1434 01:07:05,990 --> 01:07:07,970 >> Por vini re se çfarë nuk është duke ndryshuar. 1435 01:07:07,970 --> 01:07:10,360 URL është ende dom-0.html. 1436 01:07:10,360 --> 01:07:11,820 Nuk ka register.php. 1437 01:07:11,820 --> 01:07:13,110 Nuk ka fotografi të dytë. 1438 01:07:13,110 --> 01:07:14,930 Nuk ka atribut veprim. 1439 01:07:14,930 --> 01:07:19,720 Pra, çfarë është kjo e rreme kthim me sa duket duke bërë? 1440 01:07:19,720 --> 01:07:23,660 Pse jam duke e quajtur përshëndes () dhe pastaj kthimit të rreme ndoshta? 1441 01:07:23,660 --> 01:07:26,420 Ajo që zakonisht ndodh kur ju klikoni Submit në një formë që edhe ne kemi 1442 01:07:26,420 --> 01:07:27,854 parë në javën e fundit? 1443 01:07:27,854 --> 01:07:29,900 >> Audienca: [padëgjueshme]. 1444 01:07:29,900 --> 01:07:30,860 >> DAVID Malan: Ajo shkon diku, apo jo? 1445 01:07:30,860 --> 01:07:32,720 Ai shkon në një destinacion URL. 1446 01:07:32,720 --> 01:07:34,120 Por unë nuk dua që kjo të ndodhë këtu. 1447 01:07:34,120 --> 01:07:37,620 Unë dua web faqen time për të qenë plotësisht dinamik si Gmail, ku një herë ju jeni 1448 01:07:37,620 --> 01:07:38,650 atje, ju qëndroni aty. 1449 01:07:38,650 --> 01:07:42,900 URL nuk ndryshon në një mënyrë që tregon e gjithë faqja është reloading. 1450 01:07:42,900 --> 01:07:46,680 Përkundrazi, unë vetëm dua të ndryshojë diçka si shtypjes nga diçka 1451 01:07:46,680 --> 01:07:48,320 këtu në ekran. 1452 01:07:48,320 --> 01:07:49,630 >> E pra më lejoni të pastruar këtë deri pak. 1453 01:07:49,630 --> 01:07:55,370 Më lejoni të hapur jo dom-0, por më lejoni të hapur dom-2. 1454 01:07:55,370 --> 01:07:57,350 Vetëm kështu që ju kam parë disa sintaksë këtu. 1455 01:07:57,350 --> 01:08:02,080 >> Ajo rezulton se ajo që ne vetëm e para është duke përdorur JavaScript. 1456 01:08:02,080 --> 01:08:04,420 Pra, kjo është me të vërtetë gjuha JavaScript. 1457 01:08:04,420 --> 01:08:07,340 Disa nga ju mund të dini të një bibliotekë të quajtur jQuery. 1458 01:08:07,340 --> 01:08:09,980 >> Pra jQuery nuk është e njëjtë gjë si JavaScript. 1459 01:08:09,980 --> 01:08:14,110 Është vetëm një bibliotekë që një të vërtetë të zgjuar djalë i shkroi dhe e popullarizuar të tilla 1460 01:08:14,110 --> 01:08:18,100 që pothuajse të gjithë në botë tani përdor jQuery kur duke përdorur JavaScript. 1461 01:08:18,100 --> 01:08:20,890 Dhe në shikim të parë, me ndershmëri, ai duket pak më i fshehtë. 1462 01:08:20,890 --> 01:08:24,990 Por ju do të gjeni, veçanërisht në qoftë se ju shkoni atje për projektin tuaj përfundimtar me web 1463 01:08:24,990 --> 01:08:29,029 zhvillim, ju do të gjeni se ky pastron gjërat dhe ju kursen mjaft 1464 01:08:29,029 --> 01:08:30,229 disa rreshta të kodit. 1465 01:08:30,229 --> 01:08:33,189 >> Pra, le të vetëm shikim në mënyrën se si kjo formë është duke punuar. 1466 01:08:33,189 --> 01:08:35,664 Vini re çfarë bëri të heq me sa duket nga HTML e mia? 1467 01:08:35,664 --> 01:08:38,240 1468 01:08:38,240 --> 01:08:40,630 Nuk ka asnjë më të paraqesë mbajtës mënyrë që të flasin. 1469 01:08:40,630 --> 01:08:41,470 Nuk ka atribut. 1470 01:08:41,470 --> 01:08:43,359 Sepse ju e dini, se çfarë Unë nuk të vërtetë si? 1471 01:08:43,359 --> 01:08:45,640 Unë ndjeva si ne ishim në rënie në zakone të vjetra aty. 1472 01:08:45,640 --> 01:08:49,340 Ashtu si ajo është duke filluar të ndjehen të lëngshëm të përzihem me të dy CSS 1473 01:08:49,340 --> 01:08:52,149 HTML, sepse ju jeni lloj i hedhur gjuhë të ndryshme në të gjithë 1474 01:08:52,149 --> 01:08:56,180 vend, në mënyrë të ngjashme ka kjo të fillojë të ndjehen të si një rrugë e keqe për të shkuar poshtë ku 1475 01:08:56,180 --> 01:09:01,069 Unë jam vënë kodin JavaScript brenda e mia HTML në vend se factoring it out. 1476 01:09:01,069 --> 01:09:02,279 >> Pra, kjo është mësim këtu. 1477 01:09:02,279 --> 01:09:05,080 Në dom-2.html, unë jam factoring atë. 1478 01:09:05,080 --> 01:09:07,399 Dhe unë jam duke bërë gjëra pak ndryshe. 1479 01:09:07,399 --> 01:09:09,630 Tani për tani, unë jam duke shkuar për të valë duart e mia në atë që kjo me të vërtetë e bën 1480 01:09:09,630 --> 01:09:10,590 nën kapuç. 1481 01:09:10,590 --> 01:09:14,210 Por vetëm tani për tani supozojmë se se pari linjë e kodit në këtë bibliotekë 1482 01:09:14,210 --> 01:09:18,170 quajtur jQuery thjesht do të thotë kur dokumenti është gati, të bëjë të mëposhtme. 1483 01:09:18,170 --> 01:09:20,080 >> Për shkak se faqet e internetit mund të marrë disa kohë të ngarkesës. 1484 01:09:20,080 --> 01:09:23,029 Ju mund të jetë në një internet të ngadaltë lidhje, dhe kjo mund të jetë tjerrje 1485 01:09:23,029 --> 01:09:25,290 dhe tjerrje, dhe më në fund është e ngarkuar. 1486 01:09:25,290 --> 01:09:29,060 Kjo linjë e kodit vetëm të thotë të presë deri e gjithë faqja është e gatshme, dokumenti 1487 01:09:29,060 --> 01:09:31,189 është e gatshme, para ekzekutimit këtë kod. 1488 01:09:31,189 --> 01:09:34,390 >> Dhe tani vini re, kjo është ndoshta më të dobishme e parë 1489 01:09:34,390 --> 01:09:36,189 marr me vete nga jQuery. 1490 01:09:36,189 --> 01:09:42,140 Kjo linjë këtu është shumë e ngjashme në frymë në këtë linjë shumë më të gjatë këtu. 1491 01:09:42,140 --> 01:09:46,920 Ndërsa në të papërpunuara kodin JavaScript, ka ekziston një objekt globale dokument që 1492 01:09:46,920 --> 01:09:50,460 ka një funksion të quajtur getElementById (), njerëzit që shkruan 1493 01:09:50,460 --> 01:09:55,720 jQuery thjeshtuar që të vetëm të thonë shenjë dollar, dhe pastaj brenda 1494 01:09:55,720 --> 01:10:00,250 kllapat vënë dy citate, dhe më pas vënë një simbol hash ndjekur nga 1495 01:10:00,250 --> 01:10:02,250 ID unike që ju dëshironi për të rrëmbyer. 1496 01:10:02,250 --> 01:10:06,170 Pra, kjo është e barabartë me document.getElementById. 1497 01:10:06,170 --> 01:10:11,090 >> Ndërkohë,. Paraqesë vetëm do të thotë më paraqitja e çfarëdo forme ju jeni 1498 01:10:11,090 --> 01:10:14,240 duke iu referuar në të majtë, të shkojnë përpara dhe të ekzekutuar këtë. 1499 01:10:14,240 --> 01:10:16,600 Por kjo është tani shumë kuriozitet. 1500 01:10:16,600 --> 01:10:19,560 Çfarë ka të pazakontë në lidhje me atë Unë e kam theksuar këtu? 1501 01:10:19,560 --> 01:10:23,840 1502 01:10:23,840 --> 01:10:28,594 Jo vetëm që është lloj i syntactically ri, ka edhe diçka që mungon. 1503 01:10:28,594 --> 01:10:29,558 >> Audienca: Ajo që quhet thjesht funksion? 1504 01:10:29,558 --> 01:10:31,970 Kjo nuk quhet vigjilent? 1505 01:10:31,970 --> 01:10:32,440 >> DAVID Malan: Po. 1506 01:10:32,440 --> 01:10:35,450 E pra, kështu alert () është poshtë këtu, të jetë e drejtë. 1507 01:10:35,450 --> 01:10:39,520 Por nuk përmendet e një emrin, si ju e dini, foo ose 1508 01:10:39,520 --> 01:10:40,980 diçka këtu. 1509 01:10:40,980 --> 01:10:43,830 Dhe në të vërtetë, kjo është një nga karakteristikat i JavaScript që është mjaft 1510 01:10:43,830 --> 01:10:45,370 të fuqishme, por edhe mjaft e re. 1511 01:10:45,370 --> 01:10:47,460 Dhe PHP fakt ka këtë të mirë. 1512 01:10:47,460 --> 01:10:49,500 >> Më lejoni të shkoj përpara dhe të bëjë diçka të vërtetë të shpejtë. 1513 01:10:49,500 --> 01:10:52,030 Më lejoni të shkojnë përpara dhe të vënë këtë këtu. 1514 01:10:52,030 --> 01:10:52,600 Më lejoni të bërë këtë. 1515 01:10:52,600 --> 01:10:53,690 Funksioni. 1516 01:10:53,690 --> 01:10:56,455 Le të quajmë këtë mbajtës (). 1517 01:10:56,455 --> 01:10:58,290 Një funksion mbajtës mënyrë që të flasin. 1518 01:10:58,290 --> 01:11:00,110 Diçka që merret me disa operacion. 1519 01:11:00,110 --> 01:11:02,700 Më lejoni të pastruar vulë time. 1520 01:11:02,700 --> 01:11:04,380 Dhe vënë këtë këtu. 1521 01:11:04,380 --> 01:11:06,090 Dhe vendos se këtu. 1522 01:11:06,090 --> 01:11:06,470 Yep. 1523 01:11:06,470 --> 01:11:07,060 OK. 1524 01:11:07,060 --> 01:11:10,300 >> Deri tani unë kam një funksion të quajtur handler () se unë nuk e vërtetë e di 1525 01:11:10,300 --> 01:11:10,890 atë që bën ende. 1526 01:11:10,890 --> 01:11:12,710 Ajo vetëm ende ka se stuff. 1527 01:11:12,710 --> 01:11:13,900 Uh. 1528 01:11:13,900 --> 01:11:15,820 Mori shumë. 1529 01:11:15,820 --> 01:11:18,490 Le të bëjnë këtë. 1530 01:11:18,490 --> 01:11:18,990 Dakord. 1531 01:11:18,990 --> 01:11:20,240 Më vjen keq. 1532 01:11:20,240 --> 01:11:23,140 1533 01:11:23,140 --> 01:11:23,690 Dakord. 1534 01:11:23,690 --> 01:11:24,720 Më lejoni të bërë këtë. 1535 01:11:24,720 --> 01:11:25,020 OK. 1536 01:11:25,020 --> 01:11:27,040 Kjo duket e bukur dhe të drejtë përpara tani. 1537 01:11:27,040 --> 01:11:29,090 Më lejoni të bërë këtë. 1538 01:11:29,090 --> 01:11:29,860 E bëjnë këtë. 1539 01:11:29,860 --> 01:11:30,950 Dhe OK. 1540 01:11:30,950 --> 01:11:33,080 Deri tani, le të vënë këtë këtu. 1541 01:11:33,080 --> 01:11:35,840 1542 01:11:35,840 --> 01:11:37,270 Jo më shumë programimit të fluturojnë. 1543 01:11:37,270 --> 01:11:37,900 OK. 1544 01:11:37,900 --> 01:11:40,000 >> Deri tani, le të kthehemi në ku historia filloi. 1545 01:11:40,000 --> 01:11:43,530 Më parë, kam thënë se kjo linjë këtu do të thotë kur dokumenti është gati, shkoni 1546 01:11:43,530 --> 01:11:44,380 përpara dhe të bëjë këtë. 1547 01:11:44,380 --> 01:11:45,660 Çfarë doni të bëni? 1548 01:11:45,660 --> 01:11:49,070 E pra në mënyrë të veçantë, unë dua të shkoj përpara dhe të bëjë të mëposhtme. 1549 01:11:49,070 --> 01:11:53,700 Execute këtë linjë të kodit, dhe më pas ajo që unë dua që ju të bëni është të telefononi këtë 1550 01:11:53,700 --> 01:11:56,370 funksionojë kur forma është dorëzuar. 1551 01:11:56,370 --> 01:11:57,730 >> Tani kjo është ajo që është interesante. 1552 01:11:57,730 --> 01:11:59,170 Kjo nuk është në vetvete një funksion. 1553 01:11:59,170 --> 01:12:02,540 Njoftim Unë nuk jam vënë kllapa këtu në mënyrë normale. 1554 01:12:02,540 --> 01:12:06,800 Unë jam fjalë për fjalë duke kaluar një funksion të quajtur mbajtës () në një tjetër funksion 1555 01:12:06,800 --> 01:12:10,800 quajtur paraqesë () si argument si edhe pse është si një variabël. 1556 01:12:10,800 --> 01:12:14,290 Dhe kjo është një nga tiparet e JavaScript, është funksione vetë 1557 01:12:14,290 --> 01:12:15,710 janë me të vërtetë vetëm të objekteve. 1558 01:12:15,710 --> 01:12:18,350 Në fakt, ata janë me të vërtetë vetëm variablat e disa lloj. 1559 01:12:18,350 --> 01:12:21,340 Dhe në qoftë se emri i funksionit është handler (), nuk ka asnjë arsye që unë nuk mund të 1560 01:12:21,340 --> 01:12:23,390 të kalojë atë në si argument këtu. 1561 01:12:23,390 --> 01:12:27,530 Dhe kjo do të thotë kur forma me ID e demo është 1562 01:12:27,530 --> 01:12:29,320 dorëzuar, e quajnë këtë funksion. 1563 01:12:29,320 --> 01:12:32,770 >> Por tani në qoftë se unë të ndrequr të gjithë këtë, pse atëherë nuk kam ndoshta të bëjë 1564 01:12:32,770 --> 01:12:34,850 ky një moment më parë? 1565 01:12:34,850 --> 01:12:36,840 E pra, kjo është një funksion anonim. 1566 01:12:36,840 --> 01:12:41,080 Sepse sinqerisht, unë kuptova pse jam unë mërzit për të humbur kohë duke deklaruar një 1567 01:12:41,080 --> 01:12:45,540 funksion të quajtur handler () vetëm për të thirrur ajo në një dhe vetëm një vend? 1568 01:12:45,540 --> 01:12:48,640 Nëse unë nuk kanë nevojë për emrin, dhe unë nuk e bëj nevojë për të thirrur atë më shumë se një vend, 1569 01:12:48,640 --> 01:12:51,200 le të vetëm të zbatojë funksionin drejtë ku kam nevojë për të. 1570 01:12:51,200 --> 01:12:55,190 Dhe kështu JavaScript dhe PHP mbështesin atë janë quajtur funksionet anonim që 1571 01:12:55,190 --> 01:12:57,900 më lejoni të bëjë pikërisht këtë këtu. 1572 01:12:57,900 --> 01:12:59,570 >> Por ne jemi vetëm kruarje sipërfaqe. 1573 01:12:59,570 --> 01:13:02,430 Le të vë në lojë me vetëm një çift shembuj përfundimtare këtu. 1574 01:13:02,430 --> 01:13:04,600 >> Nëse unë shkoj në quote.php. 1575 01:13:04,600 --> 01:13:07,160 1576 01:13:07,160 --> 01:13:11,870 Vini re se kjo është në fakt një PHP funksion, një program PHP, që kam shkruar 1577 01:13:11,870 --> 01:13:15,270 se pret një HTTP parameter quajtur simbol, dhe unë mund të kalojë në 1578 01:13:15,270 --> 01:13:16,730 një vlerë si FB. 1579 01:13:16,730 --> 01:13:20,010 Dhe nëse ne fakt duken në burim kodi, kjo është po kërkoj një faqe interneti falas 1580 01:13:20,010 --> 01:13:23,680 quajtur Yahoo Finance, ashtu si p-set shtatë, dhe është kthyer për mua 1581 01:13:23,680 --> 01:13:26,580 diçka në me sa duket Formati i njohur është JSON - 1582 01:13:26,580 --> 01:13:28,010 JavaScript simbol Object. 1583 01:13:28,010 --> 01:13:28,810 Është vetëm një objekt. 1584 01:13:28,810 --> 01:13:32,500 Vini re formatimin e teksteve kaçurrel, kuotat, zorrës së trashë, dhe Presjet. 1585 01:13:32,500 --> 01:13:34,720 >> Tani ndërkohë, kjo është shumë cool. 1586 01:13:34,720 --> 01:13:38,520 Sepse unë ndoshta mund të përdorni një programimit Gjuha për të gjeneruar URLs 1587 01:13:38,520 --> 01:13:40,370 që të duket si ky dinamike, të drejtë? 1588 01:13:40,370 --> 01:13:43,340 Unë mund të ndryshojë këtë në Google dhe të kthehemi Google 1589 01:13:43,340 --> 01:13:47,930 Çmimi i aksioneve të $ 1,017.55. 1590 01:13:47,930 --> 01:13:49,640 Pra, le të shohim nëse ne nuk mund të përdorim këtë tani. 1591 01:13:49,640 --> 01:13:56,590 >> Lermë të shkoj-ajax 0 këtu, e cila duket si në vijim. 1592 01:13:56,590 --> 01:13:59,750 Është vetëm një faqe interneti që ka një formë me një buton. 1593 01:13:59,750 --> 01:14:05,860 Më lejoni këtu të shkojnë përpara dhe të shkruani në YHOO për modelet simbol Yahoo, klikoni Get 1594 01:14:05,860 --> 01:14:10,530 Quote, dhe tani vini re unë kam marrë një alarm me 32.86. 1595 01:14:10,530 --> 01:14:14,050 >> Më lejoni të vërtetë të shkojnë në një version njohës të kësaj faqe, version dy, dhe 1596 01:14:14,050 --> 01:14:17,530 shkruani le të themi Microsoft, MSFT. 1597 01:14:17,530 --> 01:14:18,410 Get Quote. 1598 01:14:18,410 --> 01:14:19,850 Dhe tani vini re, asnjë alarm. 1599 01:14:19,850 --> 01:14:22,770 Njoftim ku ai thotë se çmimi për të përcaktuar? 1600 01:14:22,770 --> 01:14:27,060 Nuk është e thjeshtë të shembujve që lë të kuptohet se në çfarë Gchat, dhe Facebook 1601 01:14:27,060 --> 01:14:30,070 Chat, dhe Gmail, dhe të tjera të tilla faqet e internetit janë duke bërë në të vërtetë nga 1602 01:14:30,070 --> 01:14:31,290 ndryshuar web faqe. 1603 01:14:31,290 --> 01:14:31,800 >> Vini re këtë. 1604 01:14:31,800 --> 01:14:33,120 Më lejoni të rifreskoni faqen. 1605 01:14:33,120 --> 01:14:35,080 Më lejoni të hapur Inspector Chrome-së. 1606 01:14:35,080 --> 01:14:36,890 Më lejoni të shkoj në elementet tab poshtë këtu. 1607 01:14:36,890 --> 01:14:42,310 Tani vini re, nëse unë zoom poshtë këtu dhe hapur këtë ide, vini re se kjo është e mia 1608 01:14:42,310 --> 01:14:44,500 HTML DOM - modeli im objekt dokument. 1609 01:14:44,500 --> 01:14:45,920 Kjo është HTML im. 1610 01:14:45,920 --> 01:14:48,750 Por tani vini re, edhe pse ajo do të jetë pak e vështirë për të parë atë në të dy 1611 01:14:48,750 --> 01:14:52,080 vende në të njëjtën kohë, në qoftë se unë lloji në FB deri këtu, të shikojnë pjesën e poshtme 1612 01:14:52,080 --> 01:14:54,110 i ekranit vetëm. 1613 01:14:54,110 --> 01:14:57,720 >> Është në të vërtetë ndryshuar HTML tim të fluturojnë. 1614 01:14:57,720 --> 01:15:01,670 Dhe është e bërë këtë shumë thjesht duke bërë diçka si kjo. 1615 01:15:01,670 --> 01:15:06,800 Nëse unë të hapur ajax-2, njoftim zbatimin diçka si sexy si 1616 01:15:06,800 --> 01:15:09,560 se, edhe pse kjo është shumë e shëmtuar, por aq i sofistikuar si ajo 1617 01:15:09,560 --> 01:15:11,910 funksionalisht, ajo ka disa HTML në fund. 1618 01:15:11,910 --> 01:15:13,810 Por vini re kam përdorur për të tag. 1619 01:15:13,810 --> 01:15:16,640 Ne nuk e kam përdorur këtë më parë, por kjo është si një, por kjo nuk i detyrojnë 1620 01:15:16,640 --> 01:15:17,840 çdo gjë mbi një linjë të re. 1621 01:15:17,840 --> 01:15:20,830 Ajo vetëm e bën një rajon drejtkëndëshe në të njëjtën linjë thelb. 1622 01:15:20,830 --> 01:15:22,870 >> Vini re se i dha një ID të çmimit. 1623 01:15:22,870 --> 01:15:26,800 Dhe kjo rezulton, duke përdorur të njëjtën JavaScript bibliotekë, unë kam një funksion 1624 01:15:26,800 --> 01:15:30,440 quajtur quote () që quhet sa herë që formë është dorëzuar. 1625 01:15:30,440 --> 01:15:31,800 Dhe ajo që unë jam duke bërë është ky. 1626 01:15:31,800 --> 01:15:35,730 Unë jam deklaruar një ndryshore në JavaScript quajtur url, duke kursyer vlerën 1627 01:15:35,730 --> 01:15:38,650 quote.php? simbol =. 1628 01:15:38,650 --> 01:15:44,220 Me fjalë të tjera, unë vetë jam duke filluar për të përgatitur një kërkesë HTTP, dhe më pas 1629 01:15:44,220 --> 01:15:49,250 Unë jam concatenating mbi atë me një plus çfarëdo element me ID 1630 01:15:49,250 --> 01:15:54,190 i është simbol, i cili njoftim është se fushë teksti të drejtë këtu. 1631 01:15:54,190 --> 01:15:56,630 Pra, ashtu si kishim forma në të kaluarën. 1632 01:15:56,630 --> 01:16:01,450 >> Dhe pastaj kjo rezulton në jQuery, në qoftë se ju telefononi. val (), që bën thirrje për një val 1633 01:16:01,450 --> 01:16:05,900 funksion, një funksion vlerë, që merr çdo gjë që përdoruesi ka shtypur in 1634 01:16:05,900 --> 01:16:08,920 Dhe pastaj të gjithë e trafikut të rrjetit që ndodh është kjo. 1635 01:16:08,920 --> 01:16:11,230 $. GetJSON. 1636 01:16:11,230 --> 01:16:13,720 >> Dhe si një mënjanë, shenjë dollari është vetëm një simbol stenografi. 1637 01:16:13,720 --> 01:16:16,860 Është me të vërtetë jQuery.getJSON. 1638 01:16:16,860 --> 01:16:21,520 Get më të JSON nga kjo URL, dhe kur Kërkesa vjen mbrapa, e quajnë këtë 1639 01:16:21,520 --> 01:16:26,550 funksion dhe të kalojë në si argumentin çdo gjë u kthye nga serveri. 1640 01:16:26,550 --> 01:16:31,205 >> Pra, me fjalë të tjera, nëse unë kthehem në shfletues, dhe unë të kthehem në quote.php, 1641 01:16:31,205 --> 01:16:35,590 çfarë shfletuesi ime është duke bërë është duke u kjo copë e të dhënave. 1642 01:16:35,590 --> 01:16:38,930 Dhe kur të shkoj në këtë web faqe këtu, njoftim nëse ne në vend të shkojnë në rrjet 1643 01:16:38,930 --> 01:16:43,820 tab dhe të qartë atë, dhe pastaj shkruani diçka si GOOG për Google dhe Get 1644 01:16:43,820 --> 01:16:46,340 Quote, njoftim faqja nuk ka ndryshuar. 1645 01:16:46,340 --> 01:16:50,990 Por një kërkesë HTTP është bërë, dhe çfarë u kthye këtu në qoftë se ne e shikojmë në 1646 01:16:50,990 --> 01:16:56,130 Përgjigja është një bandë e tërë e JSON që ne të arrihen në fund me 1647 01:16:56,130 --> 01:16:58,070 kjo linjë e thjeshtë këtu. 1648 01:16:58,070 --> 01:17:00,150 >> Të dhënat është ajo që është marrë nga serveri. 1649 01:17:00,150 --> 01:17:02,120 Çmimi është emri i çelësi më intereson. 1650 01:17:02,120 --> 01:17:05,230 Pra data.price më jep atë. 1651 01:17:05,230 --> 01:17:07,540 >> Tani ndërkohë, dhe kjo është shembulli më i fundit. 1652 01:17:07,540 --> 01:17:09,280 Ju mund të bëjë akoma më shumë me faqen. 1653 01:17:09,280 --> 01:17:12,440 Një fakt, edhe dy. 1654 01:17:12,440 --> 01:17:14,780 Ne mund të sjellë përsëri tag, në qoftë se ju kujtohet kjo. 1655 01:17:14,780 --> 01:17:15,850 Kjo është JavaScript. 1656 01:17:15,850 --> 01:17:17,110 Ne mund ta bëjë këtë. 1657 01:17:17,110 --> 01:17:17,690 Shumë emocionuese. 1658 01:17:17,690 --> 01:17:18,800 Ne do të iki se si cliffhanger. 1659 01:17:18,800 --> 01:17:21,590 >> Por më shumë excitingly, ju mund të bëjë gjëra të tilla si kjo. 1660 01:17:21,590 --> 01:17:25,940 Nëse unë shkoj për të Geolocation-1, rezulton Chrome që e di se ne jemi në 1661 01:17:25,940 --> 01:17:30,672 gjatësi gjerësi 42,37. -71,10. 1662 01:17:30,672 --> 01:17:32,940 Pra, ka edhe më shumë ka në dispozicionin tuaj. 1663 01:17:32,940 --> 01:17:34,290 Por më shumë në atë javën e ardhshme. 1664 01:17:34,290 --> 01:17:35,540 Shihemi të hënën. 1665 01:17:35,540 --> 01:17:37,558