1 00:00:00,000 --> 00:00:11,330 2 00:00:11,330 --> 00:00:12,360 >> DAVID Malan: Nu labi. 3 00:00:12,360 --> 00:00:15,970 Tas ir CS50, un tas ir nedēļas beigās deviņi. 4 00:00:15,970 --> 00:00:18,560 Tas ir bijis viesulis vairāk pēdējo dienu laikā. 5 00:00:18,560 --> 00:00:21,580 Un problēmu noteikti septiņi, ja jūs esat celis dziļi tajā, saprast, ka ir diezgan 6 00:00:21,580 --> 00:00:23,340 bit kas jauns, kas ir tur. 7 00:00:23,340 --> 00:00:26,660 Bet pieņemsim redzēt, ja mēs nevaram gabals viss kopā šeit īsumā 8 00:00:26,660 --> 00:00:29,230 Pirms tam pagrieziens off vēl citā virzienā un redzēt 9 00:00:29,230 --> 00:00:30,510 Kur vēl mēs varam aiziet. 10 00:00:30,510 --> 00:00:32,630 >> Tātad līdz šim, mēs esam runājuši par HTML. 11 00:00:32,630 --> 00:00:33,740 Mēs esam runājuši par CSS. 12 00:00:33,740 --> 00:00:34,705 Mēs esam runājuši par PHP. 13 00:00:34,705 --> 00:00:36,520 Jūs esat sākuši izjust SQL. 14 00:00:36,520 --> 00:00:38,360 Šodien mēs runājam mazliet par JavaScript. 15 00:00:38,360 --> 00:00:41,230 Bet kā visus šos atšķirīgi valodas fit kopā? 16 00:00:41,230 --> 00:00:44,970 >> Tāpēc mēs runājām pagājušajā nedēļā par jēdziens ar serveri. 17 00:00:44,970 --> 00:00:48,470 Tāpēc pieņemsim tikai zīmēt šo taisnstūri kā tīmekļa serveris šeit. 18 00:00:48,470 --> 00:00:52,200 Un web serveri kalpo protams failus. 19 00:00:52,200 --> 00:00:54,640 Un daži no šiem failiem var būt HTML failus. 20 00:00:54,640 --> 00:00:58,270 Tātad viena no lietām, ka tīmekļa serveris var izspļaut varētu būt failu, kas 21 00:00:58,270 --> 00:01:01,290 mēs vienkārši izdarīt, piemēram, šis satur kādu HTML. 22 00:01:01,290 --> 00:01:04,786 Tāpēc lajs izteiksmē, ko tas HTML ļauj jums darīt? 23 00:01:04,786 --> 00:01:06,036 >> Mērķauditorija: Page izskatās jauki. 24 00:01:06,036 --> 00:01:09,670 25 00:01:09,670 --> 00:01:12,310 >> DAVID Malan: OK, padara lapas izskatās jauki, lai gan es domāju, ka es esmu pierādījis 26 00:01:12,310 --> 00:01:13,370 kas citādi. 27 00:01:13,370 --> 00:01:18,250 Tāpēc HTML tas ļauj noteikt lapas out strukturāli, un tas ļauj 28 00:01:18,250 --> 00:01:22,410 veida estētiski uzcenojums lapu, uzcenojums statisku saturu, lai jūs 29 00:01:22,410 --> 00:01:23,640 tad var apskatīt to ar interneta pārlūku. 30 00:01:23,640 --> 00:01:24,690 >> Bet tas ir galvenais. 31 00:01:24,690 --> 00:01:26,130 Tas ir statisks saturu. 32 00:01:26,130 --> 00:01:28,590 Jūs rakstāt, jūs to saglabāt, un tad kuģis to. 33 00:01:28,590 --> 00:01:31,130 Un web serveri, tad kalpo to uz augšu, lai jūsu apmeklētājiem. 34 00:01:31,130 --> 00:01:35,700 >> Bet mēs Stylize lietas, izmantojot atšķirīgas valodu vispār. 35 00:01:35,700 --> 00:01:40,150 Mēs sākām izmantot stila atribūtu par dažiem tagiem. 36 00:01:40,150 --> 00:01:43,400 Un stila atribūts ļaujiet mums noteikt lietas, piemēram, fonta lielumu un krāsu. 37 00:01:43,400 --> 00:01:46,460 Un jūs, iespējams, sāka atklāt, vai arī jums drīz par galīgo 38 00:01:46,460 --> 00:01:50,160 projekti potenciāli, vēl citi īpašības, ka jūs varat izmantot CSS. 39 00:01:50,160 --> 00:01:54,710 Un tā lajs izteiksmē, ko tiešām tad tas CSS darīt? 40 00:01:54,710 --> 00:01:57,810 Tie ir to tikai piemēri. 41 00:01:57,810 --> 00:02:00,730 Kas tas ļauj jums darīt, ka HTML Nešķiet, ka no tā, ko 42 00:02:00,730 --> 00:02:02,606 mēs esam redzējuši līdz šim? 43 00:02:02,606 --> 00:02:04,850 >> Mērķauditorija: Definēt stilus pats. 44 00:02:04,850 --> 00:02:06,700 >> DAVID Malan: Definēt stilus pats. 45 00:02:06,700 --> 00:02:10,280 Tāpēc noteikt lietas, piemēram, klasēs, kā jums var būt radušās, vai unikāli 46 00:02:10,280 --> 00:02:13,800 identificē mezglu dokumentā tā ka jūs varat Stylize viņiem. 47 00:02:13,800 --> 00:02:16,890 Bet precīzāk, es teiktu, ka CSS tiešām ļauj veikt lietas 48 00:02:16,890 --> 00:02:20,790 pēdējās jūdzes un ļauj norādīt daudz precīzāk estētika, 49 00:02:20,790 --> 00:02:24,340 tā kā HTML lielākā daļa ļauj jūs struktūra jūsu lapas. 50 00:02:24,340 --> 00:02:27,310 >> Un, lai gan ir daži nepildīšanu, kā mēs redzējām frāzi 51 00:02:27,310 --> 00:02:30,690 pozīcijā tag, kas rupji runājot guvusi lietas liels un drosmīgs. 52 00:02:30,690 --> 00:02:34,250 Tas ir diezgan vispārēju definīciju no tag - plašs un vērienīgs. 53 00:02:34,250 --> 00:02:35,260 Kas fonta izmērs ir tas, ka? 54 00:02:35,260 --> 00:02:36,080 Kādā krāsā tas ir? 55 00:02:36,080 --> 00:02:36,890 Cik drosmīgs ir tas, ka? 56 00:02:36,890 --> 00:02:39,830 Un CSS ļauj jums vairāk smalki melodija lietas, piemēram, ka. 57 00:02:39,830 --> 00:02:42,150 Kā arī izkārtojumu, kā daži no jums ir redzējis. 58 00:02:42,150 --> 00:02:45,180 >> Un godīgi sakot, CSS ir nedaudz no netīrs valodā. 59 00:02:45,180 --> 00:02:48,370 Tas ir ļoti spēcīgs, ka jūs varat veikt burtiski jebkuru mājas lapu, kas jūs esat 60 00:02:48,370 --> 00:02:51,880 tīmeklī redzams šodien ar to, bet tas ir sava veida sāpes kaklā. 61 00:02:51,880 --> 00:02:54,440 Un daži no jums sasitu galvu pret sienu jau tikai darīt 62 00:02:54,440 --> 00:02:58,560 kaut ko stulbu, piemēram, centra izvēlni Problēma noteikti septiņi, ja esat iepazinuši 63 00:02:58,560 --> 00:02:59,470 šis punkts jau ir. 64 00:02:59,470 --> 00:03:01,530 >> Bet saprast, šīs lietas saņemt vieglāk laikā. 65 00:03:01,530 --> 00:03:02,820 Jūs sākat pamanīt modeļiem. 66 00:03:02,820 --> 00:03:06,020 Un atkal, Google būs jūsu draugs par dažādiem veidiem, kā jūs varat 67 00:03:06,020 --> 00:03:07,220 atrisināt šīs problēmas veida. 68 00:03:07,220 --> 00:03:11,520 >> Un es uzdrošinos teikt ar CSS un HTML vairāk vispār, jūs varat atrisināt problēmas 69 00:03:11,520 --> 00:03:15,910 daudz vairāk veidi, kas visi varētu ļoti labi būt pareizs, nekā jūs varētu 70 00:03:15,910 --> 00:03:18,900 kaut kā C, pat Tagad PHP vai JavaScript. 71 00:03:18,900 --> 00:03:21,080 Tur ir tikai daudz dažādu veidi, kā noteikt lietas. 72 00:03:21,080 --> 00:03:22,570 >> Bet tas sāka iegūt netīrs, mēs teicām. 73 00:03:22,570 --> 00:03:26,480 Tikko veida sajaukšanos savu HTML un jūsu CSS ar stila atribūtu bija 74 00:03:26,480 --> 00:03:27,590 nedaudz apliets. 75 00:03:27,590 --> 00:03:31,460 Un tā mēs tā vietā teica veida abstrakti runājot, ka jums vajadzētu 76 00:03:31,460 --> 00:03:34,050 vismaz sākt faktors kādas ir jūsu CSS iespējams. 77 00:03:34,050 --> 00:03:37,430 Nav jūsu stils atribūti, bet vismaz izmantot stilu tagu iekšā to, ko 78 00:03:37,430 --> 00:03:38,840 daļa no mājas lapā? 79 00:03:38,840 --> 00:03:39,560 >> Mērķauditorija: Head. 80 00:03:39,560 --> 00:03:40,120 >> DAVID Malan: galvā. 81 00:03:40,120 --> 00:03:43,270 Līdz šim mums bija tikai titulu augšu tur, bet jūs varat arī pievienot stilu 82 00:03:43,270 --> 00:03:47,230 tag, un jūs varat nodot savu CSS rupji runājot pret lapas augšpusē. 83 00:03:47,230 --> 00:03:52,550 Bet tad mēs ņēmām lietas vienu soli tālāk un mēs ņemt, ka vairāk 84 00:03:52,550 --> 00:03:54,130 atsevišķā failā. 85 00:03:54,130 --> 00:03:57,240 >> Un tāpēc šie divi faili bija kaut kā tagad ir saistīti. 86 00:03:57,240 --> 00:03:59,550 Un tas patiešām bija tagu, kas to izdarīja. 87 00:03:59,550 --> 00:04:02,920 Un kāda bija viens no ilgtspējīgas attīstības mērķa motivācija faktoringa mūsu CSS 88 00:04:02,920 --> 00:04:04,057 viss vairāk? 89 00:04:04,057 --> 00:04:05,280 >> Mērķauditorija: otrreizēja izmantošana. 90 00:04:05,280 --> 00:04:05,785 >> DAVID Malan: otrreizēja izmantošana. 91 00:04:05,785 --> 00:04:06,150 Tiesības? 92 00:04:06,150 --> 00:04:09,470 Jums varētu būt redzējis p-set septiņas jau ka daudz lapām, 93 00:04:09,470 --> 00:04:12,260 pērk lapas, pārdošanas lapas, portfolio lapa, iespējams, ir 94 00:04:12,260 --> 00:04:13,550 strukturēta nedaudz līdzīgi. 95 00:04:13,550 --> 00:04:17,579 Tur CS50 finanšu logo augšpusē ja esat nolēmis mainīt. 96 00:04:17,579 --> 00:04:19,839 Tur kājenes pie apakšā lapas. 97 00:04:19,839 --> 00:04:24,315 Un CSS ļauj tam faktors to ārā to atsevišķā failā tā, ka tad, ja 98 00:04:24,315 --> 00:04:27,780 Jūs vēlaties kaut ko mainīt pasaulē pāri jūsu visu vietā, jūs tiešām var 99 00:04:27,780 --> 00:04:29,390 vienkārši mainīt to vienā vietā. 100 00:04:29,390 --> 00:04:32,750 >> Bet ir cena, ko maksāt, iespējams, pēc tam ņemt ārā 101 00:04:32,750 --> 00:04:38,380 CSS no mana HTML faila atsevišķu failu atsauču to ar 102 00:04:38,380 --> 00:04:40,650 tag, ko mēs redzējām pirmdien. 103 00:04:40,650 --> 00:04:43,850 Kas varētu negatīvie ir tas? 104 00:04:43,850 --> 00:04:48,830 Atceroties pirms nedēļas, kad mēs esam runājot par HTTP un TCP / IP, un, kā 105 00:04:48,830 --> 00:04:52,070 internets darbojas. 106 00:04:52,070 --> 00:04:53,530 Kaut kas vairāk nekā šeit? 107 00:04:53,530 --> 00:04:54,730 >> Mērķauditorija: Tas aizņem vairāk laika. 108 00:04:54,730 --> 00:04:55,470 >> DAVID Malan: Tas aizņem vairāk laika. 109 00:04:55,470 --> 00:04:56,750 Kāpēc? 110 00:04:56,750 --> 00:04:59,450 >> Mērķauditorija: [nedzirdama]. 111 00:04:59,450 --> 00:04:59,750 >> DAVID Malan: Jā. 112 00:04:59,750 --> 00:05:01,240 Tāpēc tas varbūt aizņem mazliet vairāk laika. 113 00:05:01,240 --> 00:05:04,290 Jo viens, CSS ir acīmredzami neatrodas vienā failā. 114 00:05:04,290 --> 00:05:06,920 Tātad, tagad jums ir, lai ne viens, bet divi lūgumi. 115 00:05:06,920 --> 00:05:11,230 Un katrs no šiem lūgumiem, kā mēs redzējām Chrome tā saukto inspektors, 116 00:05:11,230 --> 00:05:15,740 un mēs paskatījās tab tīklu, katrs no šiem failiem ir nepieciešama viena HTTP 117 00:05:15,740 --> 00:05:18,360 Pieprasījumu, ko mēs redzējām notiek daži daudz laika. 118 00:05:18,360 --> 00:05:19,290 Tagad, varbūt tas nav daudz. 119 00:05:19,290 --> 00:05:20,670 Varbūt tas ir tikai 20 milisekundes. 120 00:05:20,670 --> 00:05:22,260 Varbūt tas ir 200 milisekundes. 121 00:05:22,260 --> 00:05:25,530 >> Bet domāju par lapu, piemēram, Facebook, vai CNN vai Google, kas ir daudz 122 00:05:25,530 --> 00:05:28,060 lielāks nekā piemēriem mēs esam paskatījās līdz šim. 123 00:05:28,060 --> 00:05:32,070 Šīs lapas varētu būt desmitiem failu, no kuriem katrs var būt nepieciešama 124 00:05:32,070 --> 00:05:33,550 lejupielādēt no failu. 125 00:05:33,550 --> 00:05:35,800 Tātad lietas var potenciāli sāk palēnināties. 126 00:05:35,800 --> 00:05:39,280 >> Un jo īpaši šajās dienās, kad mēs visi ir mobilie tālruņi mūsu kabatās un 127 00:05:39,280 --> 00:05:43,010 lēnāku interneta pieslēgumu, ņemot pagaidiet vēl pāris milisekundes, maz 128 00:05:43,010 --> 00:05:46,110 vairāk milisekundes par papildu failus faktiski var būt lēna. 129 00:05:46,110 --> 00:05:50,430 Latentuma ir vārds, kas apraksta veida gaida, ka jums ir, ka jūs 130 00:05:50,430 --> 00:05:53,110 pieredzi, kad gaida daži gabals informāciju. 131 00:05:53,110 --> 00:05:54,430 >> Bet ir otrādi. 132 00:05:54,430 --> 00:05:56,600 Tāpēc tas vēl nav viss veida - 133 00:05:56,600 --> 00:05:58,170 tas tiešām ir mazliet rampa šeit. 134 00:05:58,170 --> 00:06:02,970 Negatīviem tagad, bet to, kas pārlūki var darīt ja tie ir smart, lai izvairītos no 135 00:06:02,970 --> 00:06:08,870 kam lūgt to pašu styles.css failu atkal var darīt? 136 00:06:08,870 --> 00:06:09,390 >> Cache to. 137 00:06:09,390 --> 00:06:10,370 Tā caching - 138 00:06:10,370 --> 00:06:11,690 C-A-C-H-E - 139 00:06:11,690 --> 00:06:15,810 parasti ir šeit tikai, lai saglabātu failu jums lūdza pirmo reizi, un 140 00:06:15,810 --> 00:06:17,440 Pēc tam pārbaudiet savu kešatmiņu par to. 141 00:06:17,440 --> 00:06:20,400 Pārbaudiet, vai esat veida uzglabāšanas konteiners, un, ja jums jau ir 142 00:06:20,400 --> 00:06:24,520 kopiju styles.css, pat tad, ja kāds cits lapa p-komplekts, vai jebkurā mājas lapā, 143 00:06:24,520 --> 00:06:28,560 pieprasa to vēlreiz, tikai, lai dotu lietotājs, kas pats saglabātā kopija. 144 00:06:28,560 --> 00:06:30,140 Nelietojiet apnikt, kas to pieprasa. 145 00:06:30,140 --> 00:06:32,560 >> Negatīviem tur, lai gan, kā daži no jums ir paklupu pār p-komplektu. 146 00:06:32,560 --> 00:06:35,870 Ja jūs veicat izmaiņas uz servera, un doties atpakaļ uz pārlūku, un jūs 147 00:06:35,870 --> 00:06:39,250 pārlādēt, dažreiz pārlūks jums labu, un nav apnikt 148 00:06:39,250 --> 00:06:43,660 atkārtoti lejupielādējot savu styles.css fails tāpēc, come on, kādas ir izredzes 149 00:06:43,660 --> 00:06:47,620 ka šie stili, Facebook izmanto gatavojas mainīt katru stundu vai 150 00:06:47,620 --> 00:06:48,140 dienas līdz dienai? 151 00:06:48,140 --> 00:06:48,800 Tas ir diezgan zems. 152 00:06:48,800 --> 00:06:52,260 Tie laika gaitā var mainīties, bet ne ar minūtē vai stundu. 153 00:06:52,260 --> 00:06:55,810 >> Tātad triks, tikai FYI, veicot mājas attīstība, bieži turiet 154 00:06:55,810 --> 00:06:59,500 taustiņu Shift piemēram, un pēc tam noklikšķiniet pārlādēt jūsu pārlūkprogrammā, un tas būs 155 00:06:59,500 --> 00:07:03,280 parasti pateikt pārlūka pārlādēt viss, pat ja jums jau ir 156 00:07:03,280 --> 00:07:04,180 tas kešatmiņā. 157 00:07:04,180 --> 00:07:06,630 Tātad vēlreiz, upsides un downsides, bet visi no tiem 158 00:07:06,630 --> 00:07:08,260 galu galā dizains lēmumus. 159 00:07:08,260 --> 00:07:11,520 >> Tāpēc tagad, mēs neesam tikai beigtu stāsts šeit. 160 00:07:11,520 --> 00:07:15,790 Ja es tagad iet atpakaļ un atpakaļ un atpakaļ un atpakaļ, mēs sākām ieviest ne tikai 161 00:07:15,790 --> 00:07:18,060 HTML, bet PHP. 162 00:07:18,060 --> 00:07:20,786 Tāpēc lajs izteiksmē, ko tas PHP darīsim? 163 00:07:20,786 --> 00:07:22,770 >> Mērķauditorija: [nedzirdama]. 164 00:07:22,770 --> 00:07:24,258 >> DAVID Malan: Kas tas ir? 165 00:07:24,258 --> 00:07:25,250 >> Mērķauditorija: Ieviest loģiku uz kodu. 166 00:07:25,250 --> 00:07:26,620 >> DAVID Malan: Jā, iepazīstināt loģika jūsu kodu. 167 00:07:26,620 --> 00:07:29,570 Tātad, tas ir taisnība, programmēšanas valodu ar cilpas, un mainīgie, un 168 00:07:29,570 --> 00:07:32,620 funkcijas, un nosacījumus, kā arī visus lietas, ko mēs esam, izmantojot ceļu atpakaļ 169 00:07:32,620 --> 00:07:33,780 ja kopš nulles. 170 00:07:33,780 --> 00:07:36,780 Un PHP, mēs esam redzējuši, var izmantot nu komandrindas - tas 171 00:07:36,780 --> 00:07:39,190 nav nekāda sakara ar internetu, pat ja tas ir 172 00:07:39,190 --> 00:07:43,150 tiešām tās izcelsmi un to, ko tā ir tendence būt labi un veicina - 173 00:07:43,150 --> 00:07:47,130 bet jūs varat izmantot PHP vienkārši pēc būtības par to, ka tā ir print () 174 00:07:47,130 --> 00:07:49,660 funkcija, un printf () funkciju, vai echo () funkciju. 175 00:07:49,660 --> 00:07:52,440 Ir ķekarus no veidiem, kā jūs var drukāt tekstu ar PHP. 176 00:07:52,440 --> 00:07:56,540 >> Tāpēc, jūs varat izmantot šo programmu, valoda, lai produkciju tieši 177 00:07:56,540 --> 00:07:58,460 ko mēs runājām par agrāk. 178 00:07:58,460 --> 00:08:01,360 Jūs varat dinamiski ģenerēt jūsu HTML. 179 00:08:01,360 --> 00:08:02,300 Varbūt ne visi no tā. 180 00:08:02,300 --> 00:08:06,460 Varbūt jums grūti kods lietām, piemēram, galvenes un kājenes, un logotipu, 181 00:08:06,460 --> 00:08:07,950 un jūsu stilu lapas, un tas viss. 182 00:08:07,950 --> 00:08:11,190 Bet kaut kā p-noteikti septiņi, kur jūs manipulējot krājumus un 183 00:08:11,190 --> 00:08:14,690 parādot lietotāja portfeli, kas ir būs dinamiski mainīt, jūs varētu 184 00:08:14,690 --> 00:08:18,960 droši izmantot PHP un loģiku tas dod jūs kā programmēšanas valodas 185 00:08:18,960 --> 00:08:22,320 izeja dinamiski apakšgrupās lapas. 186 00:08:22,320 --> 00:08:25,900 >> Tātad, ja jūs runājat par dinamisku tīmekļa vietnes, vai web programmēšana, kas ir 187 00:08:25,900 --> 00:08:27,200 ko jūs īsti runājam. 188 00:08:27,200 --> 00:08:31,450 Izmantojot valodu, piemēram, PHP, vai lietas sauc par Python vai Ruby, vai Java, vai 189 00:08:31,450 --> 00:08:35,900 vēl citas valodas, lai vaicājumu datu bāzi bieži vai citu serveri, un 190 00:08:35,900 --> 00:08:38,580 Tad dinamiski izspļaut HTML. 191 00:08:38,580 --> 00:08:42,470 >> Tagad gala rezultāts, jo malā, ir ka HTML lielākā daļa tīmekļa vietņu, 192 00:08:42,470 --> 00:08:45,970 ieskaitot jūsu p iestatīt septiņus, ir iespējams būs milzīgs haoss, ja 193 00:08:45,970 --> 00:08:48,060 paskatās avota kods pārlūkprogrammā. 194 00:08:48,060 --> 00:08:49,010 Tas nav liels darījumu. 195 00:08:49,010 --> 00:08:51,550 Šajā brīdī, kad mēs rūpējamies par stils, mēs rūpējamies par 196 00:08:51,550 --> 00:08:52,740 stuff, ka jums rakstīt. 197 00:08:52,740 --> 00:08:56,240 Mums nebūs rūp sīkumi ka tas, ko jūsu kods izejas. 198 00:08:56,240 --> 00:08:59,520 Tāpēc nav jāuztraucas par to ieloka šeit, ja tas ir PHP, kas ir 199 00:08:59,520 --> 00:09:01,190 faktiski outputting sīkumi. 200 00:09:01,190 --> 00:09:04,430 Galu galā, pārlūkprogramma vienalga, un cilvēku nebūs meklē 201 00:09:04,430 --> 00:09:05,400 pie avota anyway. 202 00:09:05,400 --> 00:09:09,000 Mēs darbinieki, piemēram, būtu meklē jūsu PHP. 203 00:09:09,000 --> 00:09:13,440 >> Tātad, ļaujiet man sniegt īsu piemēru tagad kāpēc cits tas varētu būt noderīgi. 204 00:09:13,440 --> 00:09:18,620 Tāpēc godīgi sakot, es nevaru atcerēties pēdējo reizi reizi, kad es izmantoti C, lai atrisinātu problēmu 205 00:09:18,620 --> 00:09:19,620 reālo pasauli. 206 00:09:19,620 --> 00:09:22,330 Tas bija iespējams, absolvents skolā, kad Man vajadzēja izmantot valodu, kas 207 00:09:22,330 --> 00:09:26,710 bija diezgan zemā līmenī, un deva man iespēja darīt kaut ko ļoti augstu 208 00:09:26,710 --> 00:09:30,720 veic, lai patiešām ietaupīt tik daudz CPU cikli, kā es varētu, lielā mērā 209 00:09:30,720 --> 00:09:33,990 jo man bija, izmantojot milzīgs datu kopas, un katru CPU ciklu skaitītas. 210 00:09:33,990 --> 00:09:37,750 Un godīgi sakot, pat lietas, piemēram, telefoniem šajās dienās, un citas ierīces 211 00:09:37,750 --> 00:09:39,910 ja jums nav gluži tik daudz atmiņu un jums nav gluži tik 212 00:09:39,910 --> 00:09:44,160 daudz CPU, izmantojot ātrāku valodas joprojām ir pievilcīgi. 213 00:09:44,160 --> 00:09:47,290 >> Bet reālajā pasaulē, ja jūs vienkārši gribu mest kādu programmu kopā 214 00:09:47,290 --> 00:09:50,340 analizēt dažus datus, vai arī jūs esat savākti viss ķekars reģistrāciju par 215 00:09:50,340 --> 00:09:53,330 dažas studentu grupas, un jūs vēlaties, lai ļoti ātri automatizēt sūtīt e-pastus 216 00:09:53,330 --> 00:09:56,240 pa vienam ar katru no tiem reģistrētājiem, jūs gatavojas sasniegt 217 00:09:56,240 --> 00:09:59,240 augstāka līmeņa valoda nekā C tā runāt. 218 00:09:59,240 --> 00:10:04,060 Kaut kas līdzīgs PHP vai Python vai Ruby, vai puse duci citi, kas pastāv 219 00:10:04,060 --> 00:10:04,550 šajās dienās. 220 00:10:04,550 --> 00:10:07,200 Bet tie trīs ir iespējams visvairāk moderns tieši tagad. 221 00:10:07,200 --> 00:10:10,840 >> Un ko tas nozīmē, ka jūs varat atvērt up teksta redaktoru, piemēram, gedit vai 222 00:10:10,840 --> 00:10:14,030 vairums kaut kas cits, un tad sāciet rakstot kodu, neraizējoties 223 00:10:14,030 --> 00:10:17,800 par apkopojot, bez tiešām jāuztraucas par atmiņas vadību, 224 00:10:17,800 --> 00:10:20,820 paturot prātā arī, ka nedaudz sloppiness galu galā nāk atpakaļ 225 00:10:20,820 --> 00:10:24,790 kodums jums, ja datu kopa izpaužas lielāki vai problēma kļūst liels. 226 00:10:24,790 --> 00:10:27,230 Bet ko tas nozīmē mums ir šāds. 227 00:10:27,230 --> 00:10:29,860 >> Ļaujiet man iet uz priekšu un palaist Speller No problēma noteikti seši. 228 00:10:29,860 --> 00:10:33,480 Tātad šis ir mans trie bāzes ieviešana ka es izmantoti lielā 229 00:10:33,480 --> 00:10:35,500 board kur es veikts ne tik labi. 230 00:10:35,500 --> 00:10:38,720 Mēs būsim atpakaļ nedēļas laikā un pārskatīt tiem, kuri galu galā atop 231 00:10:38,720 --> 00:10:40,430 Liels board mūsu pēdējā lekcijā. 232 00:10:40,430 --> 00:10:44,520 Bet tagad, ļaujiet man iet uz priekšu un vienkārši palaist savu risinājumu tekstu, un mēs darīsim 233 00:10:44,520 --> 00:10:48,460 King James Bible, un šeit mēs iet. 234 00:10:48,460 --> 00:10:51,080 >> Tātad tie ir visi it nepareizi uzrakstītus vārdus no 235 00:10:51,080 --> 00:10:52,240 King James Bible. 236 00:10:52,240 --> 00:10:55,560 Un mans īstenošana notika pussekundi kopumā. 237 00:10:55,560 --> 00:10:58,270 Tāpēc ne pārāk slikti par šo īpaši datoru. 238 00:10:58,270 --> 00:11:01,540 Bet domā par to, cik daudz kods man bija rakstīt. 239 00:11:01,540 --> 00:11:02,880 Domāju, cik daudz kodu, jums bija rakstīt. 240 00:11:02,880 --> 00:11:06,170 Domāju, cik stundas jūs pavadīts D-zālē vai jūsu kopmītnes vai kur 241 00:11:06,170 --> 00:11:07,890 faktiski kodēšanas up šo risinājumu. 242 00:11:07,890 --> 00:11:11,850 >> Nu, ja man tiešām ir augstāks valodas, piemēram, PHP, ņem vērā 243 00:11:11,850 --> 00:11:13,350 ko es varu darīt šeit. 244 00:11:13,350 --> 00:11:16,410 Pirmkārt, pieņemsim, ka tas ir vietā Jūsu izplatīšanas kodu. 245 00:11:16,410 --> 00:11:17,790 Šis ir fails ar nosaukumu Pareizrakstības. 246 00:11:17,790 --> 00:11:20,220 Tā ir pieejama kā daļa no šodienas sadales kodu. 247 00:11:20,220 --> 00:11:22,670 Un es esmu gatavojas vilnis savu roku pie visvairāk detaļas, bet tas ir faktiski 248 00:11:22,670 --> 00:11:25,500 Interesants piemērs tam, kā Jūs varētu port valodu 249 00:11:25,500 --> 00:11:28,870 piemēram, C salīdzinājumā ar PHP. 250 00:11:28,870 --> 00:11:33,420 Es burtiski atvēra divas teksta logus, viens ar manu C versiju speller.c, 251 00:11:33,420 --> 00:11:36,960 un es tikko sāku tulkojot to my dodies uz PHP, un ierakstot to, izmantojot 252 00:11:36,960 --> 00:11:38,840 vislīdzvērtīgākajām funkcijas. 253 00:11:38,840 --> 00:11:40,100 >> Tātad, daži no šiem lietām ir atšķirīgi. 254 00:11:40,100 --> 00:11:43,730 Mēs redzējām pēdējo reizi, ka PHP neizmanto ietver diezgan pašā veidā. 255 00:11:43,730 --> 00:11:47,050 Tas izmanto prasa parasti, lai gan ietver eksistē. 256 00:11:47,050 --> 00:11:50,330 Definēt ir nedaudz atšķiras no # Define C, bet tas ir 257 00:11:50,330 --> 00:11:51,890 kā mēs ar konstanti. 258 00:11:51,890 --> 00:11:55,860 $ Argc izrādās pastāv PHP, tāpēc mēs esam redzējuši, ka pirms tam. 259 00:11:55,860 --> 00:11:58,650 Šie ir tikai mainīgie, visi kas sākas ar dolāra zīmes. 260 00:11:58,650 --> 00:12:00,590 Atgādināt tie ir tikai ķekars ar peldošo punktu. 261 00:12:00,590 --> 00:12:03,970 >> Tik garš stāsts īss, jūs esat laipni aicināti uzsist pa šo, ja interese, tas ir 262 00:12:03,970 --> 00:12:10,010 gandrīz line-for-line pārveidošana C versija speller.c uz PHP. 263 00:12:10,010 --> 00:12:12,630 Un jūs varētu darīt to vēlreiz pusducis citās valodās. 264 00:12:12,630 --> 00:12:14,910 >> Bet kas ir interesanti tas ir. 265 00:12:14,910 --> 00:12:16,910 Vai to, kas ir atklāti neizcēlās tas ir. 266 00:12:16,910 --> 00:12:20,790 Ļaujiet man iet uz priekšu un rakstīt par dictionary.php, un apgalvo, ka es esmu 267 00:12:20,790 --> 00:12:23,670 gatavojas iet uz priekšu, un atkārtoti ieviest Problēma noteikti seši šeit. 268 00:12:23,670 --> 00:12:27,530 >> Tāpēc pieņemsim iesaku vispirms šajā fails, kas tiks īstenoti 269 00:12:27,530 --> 00:12:30,550 PHP, tāpēc ļaujiet man atvērt savus tagus, piemēram, ka. 270 00:12:30,550 --> 00:12:34,780 Ļaujiet man sniegt sevi globālā mainīgais, $ size kļūst nulle. 271 00:12:34,780 --> 00:12:36,710 Un es esmu gatavojas sniegt pats hash tabulu. 272 00:12:36,710 --> 00:12:38,110 Es izmantot hash tabulu šī lieta. 273 00:12:38,110 --> 00:12:42,070 Kā es varu paziņot, hash tabulu PHP? 274 00:12:42,070 --> 00:12:42,990 Darīts. 275 00:12:42,990 --> 00:12:43,980 OK. 276 00:12:43,980 --> 00:12:48,870 >> Tik atvērta kronšteins tuvu konsole ir ko PHP, kā mēs esam redzējuši? 277 00:12:48,870 --> 00:12:51,850 Masīvs, bet masīvs, kas varētu ir asociatīvā masīva. 278 00:12:51,850 --> 00:12:54,320 Asociatīvā masīva ir datu struktūra, kas 279 00:12:54,320 --> 00:12:55,860 saista atslēgas ar vērtībām. 280 00:12:55,860 --> 00:12:59,430 >> Tagad vienkāršākais skaitliski indeksētas masīvs, šie taustiņi ir tas, ko? 281 00:12:59,430 --> 00:13:02,250 282 00:13:02,250 --> 00:13:03,960 Nulle, viens, divi, trīs, labi? 283 00:13:03,960 --> 00:13:08,780 Old school sīkumi atpakaļ no C, bet to var arī virknes, piemēram, foo un bāru, 284 00:13:08,780 --> 00:13:12,210 vai Maxwell, vai jebkura šāda virkne. 285 00:13:12,210 --> 00:13:14,240 Lai es varētu piesaistīt, ka tikai brīdi. 286 00:13:14,240 --> 00:13:17,550 >> Ļaujiet man iet uz priekšu un atzīt funkcija, piemēram, - 287 00:13:17,550 --> 00:13:19,020 Darīsim slodzi () pirmās. 288 00:13:19,020 --> 00:13:20,690 Tā funkcija slodze (). 289 00:13:20,690 --> 00:13:23,440 Un PHP ir nedaudz atšķiras ar to, ka Jūs burtiski tipa funkciju, bet 290 00:13:23,440 --> 00:13:24,930 nerakstiet atgriešanās veidu. 291 00:13:24,930 --> 00:13:28,760 Es iešu uz priekšu un saka, ka slodze () funkcija ir veikt 292 00:13:28,760 --> 00:13:31,000 argumentu $ vārdnīca, tikai tāpat kā C versijā darīja. 293 00:13:31,000 --> 00:13:32,510 Es esmu darot to no atmiņas. 294 00:13:32,510 --> 00:13:34,910 >> Un es ierosinu, ka es esmu gatavojas to darīt. 295 00:13:34,910 --> 00:13:37,080 Es esmu tikai gatavojas darīt foreach. 296 00:13:37,080 --> 00:13:40,710 Es esmu gatavojas, lai izsauktu funkciju sauc failu (), kas iet ar nosaukumu, kas 297 00:13:40,710 --> 00:13:44,990 fails, kas ir mainīgs $ Vārdnīca kā $ vārdu. 298 00:13:44,990 --> 00:13:49,410 Un tad iekšā manā cilpa šeit, es esmu gatavojas iet uz priekšu un uzglabāt manā 299 00:13:49,410 --> 00:13:57,440 $ Tabula, $ vārds izpaužas taisnība. 300 00:13:57,440 --> 00:13:57,918 Darīts. 301 00:13:57,918 --> 00:14:01,264 Ak, pagaidiet. 302 00:14:01,264 --> 00:14:02,422 Darīts. 303 00:14:02,422 --> 00:14:02,760 Labi. 304 00:14:02,760 --> 00:14:04,970 >> Tas ir slodze () funkcija saka PHP. 305 00:14:04,970 --> 00:14:05,865 Tagad, kāpēc šo darbu? 306 00:14:05,865 --> 00:14:07,010 Un es esmu veida krāpšanos šeit. 307 00:14:07,010 --> 00:14:09,980 >> Tātad, viens, foreach mēs redzējām īsi pēdējo reizi. 308 00:14:09,980 --> 00:14:13,680 Tas tikai nozīmē, ka jūs varat atkārtot vairāk masīvs bez apgrūtinošas ar i 309 00:14:13,680 --> 00:14:16,150 un n un plus plus, un visi no ka. 310 00:14:16,150 --> 00:14:21,350 Vārdnīca ir, protams, faila nosaukumu, kaut kas līdzīgs liels vai mazs, divas 311 00:14:21,350 --> 00:14:22,830 vārdnīcas mēs izmantojām pēdējo reizi. 312 00:14:22,830 --> 00:14:26,715 Fails ir funkcija, kas paver tekstu failu, nolasa to pozīcijai, un 313 00:14:26,715 --> 00:14:29,840 rokas jums atpakaļ milzīgs masīvs, katrs no kuras elementi ir 314 00:14:29,840 --> 00:14:31,340 līnija no šī faila. 315 00:14:31,340 --> 00:14:36,040 Tātad tas ir kombinācija fopen, un fread, un kamēr cilpa, un fclose, 316 00:14:36,040 --> 00:14:37,080 un tas viss. 317 00:14:37,080 --> 00:14:40,150 Visbeidzot, kā vārds nozīmē tikai to, ka tas mainīgo Es esmu nāksies piekļūt 318 00:14:40,150 --> 00:14:41,890 par katru atkārtojuma šīs cilpas. 319 00:14:41,890 --> 00:14:46,910 >> Tātad, īsi sakot, šis viens laineris šeit nozīmē atvērt failu, kura nosaukums ir 320 00:14:46,910 --> 00:14:50,750 vārdnīca, mainīgs, atkārtot vairāk tā pozīcijai, un katru reizi, kad jūs saņemsiet 321 00:14:50,750 --> 00:14:54,290 līnija, veikalā mainīgo sauc vārdu, un tad kaut ko darīt ar vārdu. 322 00:14:54,290 --> 00:14:55,280 Ko es gribu darīt? 323 00:14:55,280 --> 00:14:58,110 Es gribu, lai vārdu manā hash tabulu. 324 00:14:58,110 --> 00:15:00,860 >> Nu, es varu kaut ko manā hash tabulu tāpat kā C 325 00:15:00,860 --> 00:15:02,140 Izmantojot kvadrātiekavas. 326 00:15:02,140 --> 00:15:03,660 Tas ir nosaukums mana hash tabulu. 327 00:15:03,660 --> 00:15:07,180 Es esmu gatavojas indekss par ka hash tabula šajā vietā. 328 00:15:07,180 --> 00:15:08,920 Tātad nav kronšteins nulle, nevis kronšteins vienu. 329 00:15:08,920 --> 00:15:11,990 Bracket quote likt pēdiņas beigās kaut ko, kāds tas vārds ir. 330 00:15:11,990 --> 00:15:15,200 Un, tāpat kā jūs varētu būt jūsu hash tabulu darbu Trie, jūs vienkārši glabāt 331 00:15:15,200 --> 00:15:17,650 efektīvi Būla, netieši vai skaidri. 332 00:15:17,650 --> 00:15:18,260 Darīts. 333 00:15:18,260 --> 00:15:20,000 Es esmu uzglabātu vērtību taisnība. 334 00:15:20,000 --> 00:15:23,150 >> Tagad tur ir pāris lietas Es esmu griešana stūriem šeit. 335 00:15:23,150 --> 00:15:27,720 Tehniski, tur būs kaitinošas jauns līnija, / n, beigās 336 00:15:27,720 --> 00:15:28,820 katrs no šiem vārdiem. 337 00:15:28,820 --> 00:15:31,770 Tāpēc es būtu iespējams zvanīt PHP funkciju sauc karbonāde (), kas 338 00:15:31,770 --> 00:15:33,460 gluži burtiski karbonāde, ka off. 339 00:15:33,460 --> 00:15:35,020 Un man tiešām ir nepieciešams, lai darīt vienu citu lietu. 340 00:15:35,020 --> 00:15:38,380 Es būtu iespējams pieauguma lielums par katru atkārtojuma, tāpēc es esmu, lai sekotu 341 00:15:38,380 --> 00:15:39,560 visā pasaulē par to, kas tas ir. 342 00:15:39,560 --> 00:15:43,180 Un atklāti, un tas ir viens no stulbākai aspektiem PHP, ja jūs esat 343 00:15:43,180 --> 00:15:46,950 izmantojot globālo mainīgo, jums ir nepieciešams skaidri teikt, ka jūs esat. 344 00:15:46,950 --> 00:15:51,670 Tāpēc es esmu gatavojas, lai faktiski rakstīt pasaules $ Size, pasaules $ galda, un tagad 345 00:15:51,670 --> 00:15:52,690 mana funkcija ir pabeigta. 346 00:15:52,690 --> 00:15:57,475 >> Tā nav tik vienkārši, kā iepriekš, bet , iespējams, bija mazāk laika nekā C 347 00:15:57,475 --> 00:15:58,220 versija, varbūt? 348 00:15:58,220 --> 00:15:58,730 Labi. 349 00:15:58,730 --> 00:16:00,390 >> Tātad tagad darīsim pārbaudi () funkciju. 350 00:16:00,390 --> 00:16:04,300 Let 's redzēt, ja tas vismaz bija stundas beigās, ka tā ir ņēmusi mūs C. Tātad 351 00:16:04,300 --> 00:16:06,500 ļaujiet man iet uz priekšu un paziņot pārbaudīt, kā funkcija. 352 00:16:06,500 --> 00:16:09,070 Stājas argumetnu vārdu, kas ir nāks no Speller. 353 00:16:09,070 --> 00:16:13,410 Un es esmu tikai gatavojas, lai pārbaudītu, vai pēc mainīgu isset, galda 354 00:16:13,410 --> 00:16:18,400 kronšteins strtolower no vārda - 355 00:16:18,400 --> 00:16:20,590 pieņemsim līdzsvaru visiem maniem iekavās - 356 00:16:20,590 --> 00:16:24,275 tad atgriezties true. 357 00:16:24,275 --> 00:16:27,020 358 00:16:27,020 --> 00:16:28,460 Pārējais - 359 00:16:28,460 --> 00:16:30,330 tas bija tiešām grūti daļa no šīs programmas. 360 00:16:30,330 --> 00:16:31,940 Else, atgriezties viltus. 361 00:16:31,940 --> 00:16:32,630 Darīts. 362 00:16:32,630 --> 00:16:33,460 Tas ir pārbaude (). 363 00:16:33,460 --> 00:16:34,520 >> Tagad, kāpēc šo darbu? 364 00:16:34,520 --> 00:16:37,040 Nu, es pieņemts vārdu, kas ir virkne. 365 00:16:37,040 --> 00:16:41,400 Divi, es esmu pārbaudīt iekšpusē hash galds, kurš sauc $ tabulu. 366 00:16:41,400 --> 00:16:45,470 Es esmu liekot to uz mazajiem burtiem, zvanot funkcija diezgan līdzīgs tolower () in 367 00:16:45,470 --> 00:16:48,580 C, bet tas visu vārdu, ne vienu rakstzīmi. 368 00:16:48,580 --> 00:16:52,680 Un, ja tas ir noteikts, citiem vārdiem sakot, ir vērtība, kas, citiem vārdiem sakot, 369 00:16:52,680 --> 00:16:54,880 ja tā ir taisnība, tad jā, tas ir vārds. 370 00:16:54,880 --> 00:16:56,530 Jo man likt to tur ar slodzi (). 371 00:16:56,530 --> 00:16:59,100 Un, ja ne, es esmu gatavojas atgriezties viltus. 372 00:16:59,100 --> 00:17:00,090 >> Tagad citi ir viegli. 373 00:17:00,090 --> 00:17:03,570 Funkcija izmērs (), kā es varu darīt? 374 00:17:03,570 --> 00:17:05,230 Es būtībā darīt atgriezties $ lielumu. 375 00:17:05,230 --> 00:17:07,770 Bet man ir tehniski nepieciešams darīt šo kaitinošas lieta. 376 00:17:07,770 --> 00:17:10,640 Un faktiski up dzirdēt, man bija griešana vienā stūrī pārāk daudz. 377 00:17:10,640 --> 00:17:12,920 Es tiešām ir nepieciešams darīt globālo $ tabulu. 378 00:17:12,920 --> 00:17:16,260 >> Bet ka to teica, izkraut). 379 00:17:16,260 --> 00:17:17,380 Izkraut () ir pārsteidzošs. 380 00:17:17,380 --> 00:17:20,500 Funkcija izkraut (). 381 00:17:20,500 --> 00:17:23,990 Kā es gribu, lai īstenotu izkraut ()? 382 00:17:23,990 --> 00:17:25,079 Darīts. 383 00:17:25,079 --> 00:17:25,450 Labi. 384 00:17:25,450 --> 00:17:28,900 >> Tātad izkraut (), atmiņas vadība ir pilnīgi rūpēsies par jums 385 00:17:28,900 --> 00:17:31,800 piemēram, PHP kaut ko, un daudz uz augstāka līmeņa valodām. 386 00:17:31,800 --> 00:17:32,600 Tātad, tas ir pārsteidzošs. 387 00:17:32,600 --> 00:17:36,080 Tāpat kā, kāpēc ellē mēs pavadījām pagātnē astoņas plus nedēļas C rakstiski 388 00:17:36,080 --> 00:17:41,030 acīmredzot ļoti lēni, tiešām laiks patērē problēmas ar desmitiem stundu 389 00:17:41,030 --> 00:17:42,530 no darba saskaņā ar mūsu drošības jostas? 390 00:17:42,530 --> 00:17:46,110 >> Nu, viena lieta, tas var strādāt sods par mazām programmām. 391 00:17:46,110 --> 00:17:47,840 Tas, protams, paātrinājusies manu izstrādes laiku. 392 00:17:47,840 --> 00:17:49,790 Bet pieņemsim redzēt, kas notiek reālajā pasaulē. 393 00:17:49,790 --> 00:17:52,370 >> Ļaujiet man iedziļināties šajā direktorijā termināļa logā. 394 00:17:52,370 --> 00:17:53,370 Tur Pareizrakstības. 395 00:17:53,370 --> 00:17:56,570 Un paziņojums, kā malā, un jūs varētu ir saskārušās ar šo problemātisko komplektu 396 00:17:56,570 --> 00:17:58,190 sešiem vai problēma noteikti septiņi. 397 00:17:58,190 --> 00:18:01,610 Jums nav obligāti jābūt uz galu PHP failus. php. 398 00:18:01,610 --> 00:18:05,250 Ja jūs nodot līniju, piemēram, ka pirmā vietā pašā augšā, kas ir īpaša līnija 399 00:18:05,250 --> 00:18:10,980 sintakses, kas būtībā nozīmē atrast programmu, ko sauc PHP, un izmantot to, lai 400 00:18:10,980 --> 00:18:12,270 interpretēt šo failu. 401 00:18:12,270 --> 00:18:15,410 Tāpēc tagad neviens īsti nezina, kas Es skrienu PHP programmu. 402 00:18:15,410 --> 00:18:19,860 Es varu palaist to tāpat, it kā tas bija kaut kas apkopoti C. 403 00:18:19,860 --> 00:18:20,650 >> Bet šeit ir lieta. 404 00:18:20,650 --> 00:18:21,600 Patiesībā, pieņemsim darīt atkal. 405 00:18:21,600 --> 00:18:23,530 Dropbox/pset6 /. 406 00:18:23,530 --> 00:18:25,390 Tur Pareizrakstības. 407 00:18:25,390 --> 00:18:26,720 Labi, 0.44 sekundes. 408 00:18:26,720 --> 00:18:28,080 Tas ieguva ātrāk šo laiku. 409 00:18:28,080 --> 00:18:29,745 >> Tagad iesim uz PHP versiju. 410 00:18:29,745 --> 00:18:43,070 411 00:18:43,070 --> 00:18:44,320 Nice touch. 412 00:18:44,320 --> 00:18:50,830 413 00:18:50,830 --> 00:18:53,285 Bet tikai domāju, cik daudz laika Es saglabāts darba laika. 414 00:18:53,285 --> 00:18:56,990 415 00:18:56,990 --> 00:18:57,790 Labi. 416 00:18:57,790 --> 00:19:01,020 >> Tātad 3.59 sekundēm, kas faktiski neizklausās precīzs, vai nu. 417 00:19:01,020 --> 00:19:03,710 Bet tas ir tāpēc, ka garš stāsts īss, kad jūs izdrukāt milzīgu 418 00:19:03,710 --> 00:19:06,840 stuff uz ekrāna, ka pati palēnina lietas leju. 419 00:19:06,840 --> 00:19:11,260 Ko tas īsti ieņēma CPU Ierīce bija 3.59 sekundes, kas 420 00:19:11,260 --> 00:19:15,260 pretstatā C, kas notika 0.44 sekundes pavisam nesen. 421 00:19:15,260 --> 00:19:17,620 Tas ir patiesi kārtība lielumu atšķirīgs. 422 00:19:17,620 --> 00:19:20,280 >> Tātad, ja ir tā, ka cena, kas nāk no? 423 00:19:20,280 --> 00:19:21,790 Kāpēc tas ir tik daudz lēnāk? 424 00:19:21,790 --> 00:19:24,220 Kāpēc PHP veikt tik slikti? 425 00:19:24,220 --> 00:19:25,242 Danielle? 426 00:19:25,242 --> 00:19:26,550 >> Mērķauditorija: Tu īsti izmantot hash tabulu. 427 00:19:26,550 --> 00:19:27,710 >> DAVID Malan: man nav īsti izmantot hash tabulu. 428 00:19:27,710 --> 00:19:28,760 Tāpēc es veida darīju. 429 00:19:28,760 --> 00:19:29,870 Tātad, tas ir asociatīvā masīva. 430 00:19:29,870 --> 00:19:33,650 Visticamāk, ja cilvēki PHP ir tiešām gudri, viņi izmanto zem 431 00:19:33,650 --> 00:19:39,520 hood faktiskais hash tabulu īstenoti kaut kā C vai C + +. 432 00:19:39,520 --> 00:19:41,290 Bet. 433 00:19:41,290 --> 00:19:42,760 Jā. 434 00:19:42,760 --> 00:19:44,010 >> Mērķauditorija: [nedzirdama]. 435 00:19:44,010 --> 00:19:46,690 436 00:19:46,690 --> 00:19:47,080 >> DAVID Malan: Jā. 437 00:19:47,080 --> 00:19:50,780 Tāpēc katra no funkcijām es uzrakstīju tagad - patiesībā, jūs varat teikt, ka vēlreiz 438 00:19:50,780 --> 00:19:51,480 mazliet skaļāk? 439 00:19:51,480 --> 00:19:54,509 >> Mērķauditorija: Katrs no funkcijām, kas Jums iekļauts ir daudz vairāk pilnīgu 440 00:19:54,509 --> 00:19:56,610 jauda nekā - 441 00:19:56,610 --> 00:19:57,550 >> DAVID Malan: Tātad, tas ir ļoti patiess. 442 00:19:57,550 --> 00:20:01,490 Tur ir daudz vairāk virs galvas, ka mēs esam nav īsti redzēt, koncentrējoties tikai uz 443 00:20:01,490 --> 00:20:03,730 dictionary.php, ko es tikko rakstīja. 444 00:20:03,730 --> 00:20:08,020 Turpretī, tur ir vesela tulks iet fonā. 445 00:20:08,020 --> 00:20:12,040 Patiesi, kad es ilga šo programmu, Tika nedarbojas apkopoti nullēm un tiem 446 00:20:12,040 --> 00:20:14,290 paredzēti manu Intel CPU. 447 00:20:14,290 --> 00:20:19,270 Drīzāk, tas darbojas pozīcijai PHP kodu, kas izskatās tieši 448 00:20:19,270 --> 00:20:20,350 kā mēs drukāti tā. 449 00:20:20,350 --> 00:20:22,475 Un tā, ja jūs izmantojat interpretē valodas, jūs 450 00:20:22,475 --> 00:20:23,850 tiešām maksāt šo cenu. 451 00:20:23,850 --> 00:20:27,010 Tas ir gatavojas veikt kādu laiku, lai lasītu Jūsu fails augšas uz leju, pa kreisi, lai 452 00:20:27,010 --> 00:20:30,740 pa labi, un pēc tam izpildīt katru līnijas atkal un atkal. 453 00:20:30,740 --> 00:20:34,250 >> Tagad patiesībā, jo īpaši internetā, Jūs faktiski var paātrināt šo procesu 454 00:20:34,250 --> 00:20:38,660 ar caching ar rezultātiem PHP kods tiek interpretēts. 455 00:20:38,660 --> 00:20:41,640 Un tas ir jēga tīmeklī, jo Ja jums nav viens lietotājs, piemēram, 456 00:20:41,640 --> 00:20:46,300 man šeit, bet 1000 vai 10000 lietotāju, tad varbūt pirmo reizi fails 457 00:20:46,300 --> 00:20:49,050 apskatīta tas ir lēns, bet pēc tam tas ir daudz ātrāks. 458 00:20:49,050 --> 00:20:51,000 >> Bet tas arī, atkal, ir tirdzniecības off. 459 00:20:51,000 --> 00:20:53,870 Un kaut ko līdzīgu pētījumu datiem noteikt, vai pat kaut ko lielu, piemēram, 460 00:20:53,870 --> 00:20:58,330 Tas, lietotāji tiks galā sāk justies, ka palēnināšanos. 461 00:20:58,330 --> 00:21:02,670 >> Tātad īsumā, interpretē valodas ļoti modē, ir ļoti populāri, un 462 00:21:02,670 --> 00:21:06,710 godīgi sakot, iespējams, valodas, vajadzētu sasniegt, risinot problēmas 463 00:21:06,710 --> 00:21:08,200 pēc CS50. 464 00:21:08,200 --> 00:21:12,720 Bet saprast, cik daudz jūs tiešām ņemot par pašsaprotamu zem pārsega 465 00:21:12,720 --> 00:21:15,910 tiešām šie pēdējo vairākas nedēļas hash tabulas, kā arī koki, un cenšas, 466 00:21:15,910 --> 00:21:20,770 , kas tiek izmantoti, galu galā, lai faktiski īstenot lietas, piemēram, atklātā grupā, 467 00:21:20,770 --> 00:21:24,200 kvadrātiekavas, ko mēs varam tagad pateicību par pašsaprotamu. 468 00:21:24,200 --> 00:21:26,360 >> Tātad, pieņemsim to apskatīt tagad šajā tīmekļa kontekstā. 469 00:21:26,360 --> 00:21:29,890 Un es teicu pēdējo reizi, ka tur ir ķekars superglobālajiem masīviem PHP, kas 470 00:21:29,890 --> 00:21:32,490 nav īsti būtiski pie komandrindas. 471 00:21:32,490 --> 00:21:36,210 Viņi vairāk attiecas kontekstā Izmantot PHP web kontekstā. 472 00:21:36,210 --> 00:21:41,220 Tā darbojas PHP web serveri, lai lai radītu lietas, piemēram, HTML. 473 00:21:41,220 --> 00:21:44,540 >> Un mēs paskatījās $ _GET un $ _POST, un tas ir, ja automātiski lietotāju 474 00:21:44,540 --> 00:21:49,100 ievades nonāks vienkārši, ja jūs iesniedzat veido uz failu beidzas. php uz web 475 00:21:49,100 --> 00:21:50,460 servera, piemēram, iekārtas. 476 00:21:50,460 --> 00:21:53,310 Bet pieņemsim skatīties īsumā $ _COOKIE Un $ _SESSION. 477 00:21:53,310 --> 00:21:56,670 >> Lajs izteiksmē, kas ir cookie, jo jūs saprotat to kontekstā 478 00:21:56,670 --> 00:21:58,220 izmantojot interneta? 479 00:21:58,220 --> 00:21:59,450 >> Mērķauditorija: failu datorā. 480 00:21:59,450 --> 00:21:59,920 >> DAVID Malan: Jā. 481 00:21:59,920 --> 00:22:03,500 Tā ir failu uz lietotāja datora apstādīta ar kādu citu vietni 482 00:22:03,500 --> 00:22:04,410 jūs notikt apmeklēt. 483 00:22:04,410 --> 00:22:07,334 Tātad, kad jūs iet uz Facebook, ja jūs iet līdz bankofamerica.com, kad jūs iet 484 00:22:07,334 --> 00:22:10,330 uz google.com, kad jūs iet uz gandrīz jebkuru mājas pasaulē šajās dienās, 485 00:22:10,330 --> 00:22:14,850 ieskaitot cs50.net, cookie tiek stādīti datorā, kas ir 486 00:22:14,850 --> 00:22:19,800 nu vērtību uzglabā RAM jūsu dators jūsu pārlūka atmiņā vai 487 00:22:19,800 --> 00:22:22,800 dažreiz tiešām fails glabājas uz jūsu cietā diska. 488 00:22:22,800 --> 00:22:26,960 >> Un to, kas parasti glabājas šajā failā nav jūsu lietotāja vārds, kas nav jūsu 489 00:22:26,960 --> 00:22:31,060 parole, parasti nav kaut kas jutīga, ja mājas lapā nav tik 490 00:22:31,060 --> 00:22:35,040 labi ar savu drošību, bet gan tas ir liels unikāls identifikators vidū 491 00:22:35,040 --> 00:22:35,680 citas lietas. 492 00:22:35,680 --> 00:22:38,920 Tas ir liels izlases numuru stādīti uz jūsu datoru, bet jūs varat iedomāties, kā 493 00:22:38,920 --> 00:22:42,740 veida virtuālo roku zīmogs, kā no klubu vai kādu atrakciju parks, kas 494 00:22:42,740 --> 00:22:47,160 pieļauj darbinieki, īpašnieki, kas serviss, atcerēties, kas jūs esat. 495 00:22:47,160 --> 00:22:51,030 Tātad, ja liels izlases skaits ir līdzīgs 12345678, lai gan tas, protams, 496 00:22:51,030 --> 00:22:54,180 ne pārāk nejauši, domāju, ka rokas zīmogu, ka tad, kad jūs apmeklējat 497 00:22:54,180 --> 00:22:57,930 facebook.com pirmo reizi, tie zīmogs šo numuru no jūsu puses. 498 00:22:57,930 --> 00:23:01,510 Un tad tāpēc, ka tu runā HTTP, jūs ir pārlūku, un tāpēc, ka Facebook 499 00:23:01,510 --> 00:23:06,440 protams, runā pats par web serveris, protokols HTTP saka, ka 500 00:23:06,440 --> 00:23:09,930 jebkurā laikā pēc tam apmeklēt facebook.com, vai tas ir otrais 501 00:23:09,930 --> 00:23:13,560 vēlāk, stundu vēlāk, pat nākamajā dienā, tik ilgi, kamēr jums nav skaidri 502 00:23:13,560 --> 00:23:17,050 atteicies, kas efektīvi ir, piemēram, mazgājot rokas. 503 00:23:17,050 --> 00:23:20,280 HTTP saka, jums vajadzētu iesniegt savu rokas zīmogs katru reizi, kad 504 00:23:20,280 --> 00:23:22,020 atgriezties šajā mājas lapā. 505 00:23:22,020 --> 00:23:24,390 >> Kas Facebook, tad tas ir viņi apskatīt šo rokas zīmogu un 506 00:23:24,390 --> 00:23:26,850 viņi saka, oh, 123456789. 507 00:23:26,850 --> 00:23:30,260 Es nezinu, no pirmā acu uzmetiena, ka šis ir David Malan Cambridge, 508 00:23:30,260 --> 00:23:34,690 Massachusetts, bet viņi var pārbaudīt savu datu bāzes un teikt, ak, persona 509 00:23:34,690 --> 00:23:39,930 kuras datora mēs apstādīta 123456789 ir David Malan no Cambridge, 510 00:23:39,930 --> 00:23:40,440 Massachusetts. 511 00:23:40,440 --> 00:23:46,000 Parādīsim, ka lietotājs, tad viņa profilu lapa vai viņa News Feed. 512 00:23:46,000 --> 00:23:49,660 >> Bet tur ir problēma, ja tas ir kā web patiešām darbojas. 513 00:23:49,660 --> 00:23:51,390 Pieņemsim apskatīt ātri piemērs. 514 00:23:51,390 --> 00:23:55,190 Let 's tiešām iet teikt facebook.com. 515 00:23:55,190 --> 00:23:58,130 Taču, pirms mēs varētu iet tur, lai man iet uz priekšu un atvērt Chrome 516 00:23:58,130 --> 00:23:59,790 Inspektors leju šeit. 517 00:23:59,790 --> 00:24:01,140 Ļaujiet man apskatīt tab tīkla. 518 00:24:01,140 --> 00:24:06,020 Un tagad iesim uz priekšu un ierakstiet in https://facebook.com. 519 00:24:06,020 --> 00:24:09,410 Un es daru, ka tā, ka mēs neredzam visus šos redirects un atkritumu 520 00:24:09,410 --> 00:24:10,660 laiku meklē caur tiem. 521 00:24:10,660 --> 00:24:12,690 Ļaujiet man hit ienākt. 522 00:24:12,690 --> 00:24:13,130 >> Labi. 523 00:24:13,130 --> 00:24:14,580 Mēs redzam visu ķekars pieprasījumu. 524 00:24:14,580 --> 00:24:15,640 Tur nāk Facebook. 525 00:24:15,640 --> 00:24:16,930 Tur viss ķekars failus. 526 00:24:16,930 --> 00:24:19,290 Un šeit, uz manu pieminēt latentuma pēdējo reizi, tas ir, 527 00:24:19,290 --> 00:24:21,240 daudz HTTP pieprasījumus. 528 00:24:21,240 --> 00:24:23,700 Bet pirmais ir iespējams Visbiežāk interesanti. 529 00:24:23,700 --> 00:24:26,420 >> Tāpēc pieņemsim ritiniet uz leju šeit, un Es tuvinātu sekundē. 530 00:24:26,420 --> 00:24:29,090 Tas būs sava veida haoss, bet paskatīsimies. 531 00:24:29,090 --> 00:24:31,660 Facebook sūta mums Visa ķekars stuff. 532 00:24:31,660 --> 00:24:33,490 >> Bet paga, interesanti. 533 00:24:33,490 --> 00:24:37,880 Viņi stādīšanas nevis vienu, bet četras rokas zīmogi uz manu roku šeit. 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 Un tur ir dažas iezīmes šeit. 536 00:24:44,030 --> 00:24:46,170 Visi no tiem minēt dažus veida termiņa beigām. 537 00:24:46,170 --> 00:24:50,090 Un izskatās, ka Facebook cer atcerēties mani līdz 2015. 538 00:24:50,090 --> 00:24:53,670 Tātad, tas ir iespējams, laiku, līdz kuram Man ir iziet vai tie būs vienkārši 539 00:24:53,670 --> 00:24:55,710 automātiski pieņemt, es esmu nav nāk atpakaļ. 540 00:24:55,710 --> 00:24:57,840 Tātad, tas ir tiešām pienācīgas laika sprīdī. 541 00:24:57,840 --> 00:24:59,170 >> Un tur ir daži citi lietas notiek šeit. 542 00:24:59,170 --> 00:25:03,036 Šis cookie, šķiet, ir piespiedu kārtā svītrots, sakot, tas beidzās 1970 543 00:25:03,036 --> 00:25:04,460 Pirms cookies pastāvēja. 544 00:25:04,460 --> 00:25:06,510 Tāpēc pārlūks ir tikai gatavojas pieņemt OK, tas ir tāpat kā 545 00:25:06,510 --> 00:25:07,910 Mazgājot rokas zīmogu. 546 00:25:07,910 --> 00:25:11,240 >> Bet tagad, kad mana pārlūkprogramma veic turpmākais pieprasījums - 547 00:25:11,240 --> 00:25:14,340 ļaujiet man iet uz priekšu un darīt to atkal un pārlādētu. 548 00:25:14,340 --> 00:25:18,170 Tagad ļaujiet man ritināt atpakaļ top pieprasījumu un iet uz leju 549 00:25:18,170 --> 00:25:20,760 Šeit var pieprasīt galvenes. 550 00:25:20,760 --> 00:25:21,390 Paziņojums šo. 551 00:25:21,390 --> 00:25:25,280 Tāpēc tagad es esmu ar ne atbildes galvenes, bet paziņojums tā saka pieprasījuma galvenes. 552 00:25:25,280 --> 00:25:29,220 Un paziņojums, ka mana pārlūkprogramma ir daļa no tā lūgums pēc hitting pārlādēt ir 553 00:25:29,220 --> 00:25:32,780 nosūta vismaz šādu informāciju. 554 00:25:32,780 --> 00:25:34,670 Nav noteikts, cookie, bet cookie. 555 00:25:34,670 --> 00:25:38,750 Tāpēc tas ir līnija, HTTP galvenes, lai runāt, kur mans pārlūks ir sava 556 00:25:38,750 --> 00:25:43,340 un bez manas nezinot to iesniedzot mana roka Facebook pārbaudi. 557 00:25:43,340 --> 00:25:46,020 >> Tāpēc šie cepumi var būt izmantots, tad par ko? 558 00:25:46,020 --> 00:25:49,420 Atcerēties, kas jūs esat, un atceros, kā daudzas reizes esat bijis tur, vai 559 00:25:49,420 --> 00:25:50,280 tiešām kaut kas. 560 00:25:50,280 --> 00:25:52,742 >> Tātad, šeit ir counter.php. 561 00:25:52,742 --> 00:25:53,780 Un ļaujiet man tuvinātu fontu. 562 00:25:53,780 --> 00:25:58,380 Un katru reizi, kad es pārlādēt šo lapu, paziņojumu tas ir atcerēties, cik reizes 563 00:25:58,380 --> 00:25:59,250 Es esmu bijis tur. 564 00:25:59,250 --> 00:26:00,570 Nu, tas nav tik iespaidīgs. 565 00:26:00,570 --> 00:26:03,140 Pieņemsim tikai aizvērt šo cilni, un tagad iesim atpakaļ uz 566 00:26:03,140 --> 00:26:07,860 http://localhost/counter.php. 567 00:26:07,860 --> 00:26:08,970 >> Ak, tas ir interesanti. 568 00:26:08,970 --> 00:26:10,960 Tas joprojām atceras, pat lai gan es slēgts cilni. 569 00:26:10,960 --> 00:26:14,010 Un, godīgi sakot, ja es aizvērtu pārlūku, ja īsteno pareizi, es 570 00:26:14,010 --> 00:26:18,950 varētu vēl atceras, ka šim lietotājam kas viņš vai viņa bija pirmā reize, un 571 00:26:18,950 --> 00:26:22,840 tikai tad, kad es iet uz Chrome izvēlnē, kas nekā šeit ir šeit, un dodieties uz 572 00:26:22,840 --> 00:26:25,990 Vēsturi, un noklikšķiniet uz Notīrīt pārlūkošanas datus, kā daži no jums var būt 573 00:26:25,990 --> 00:26:33,050 pagātnes, tikai tad jūsu cookies faktiski svītro tīmeklī laikā 574 00:26:33,050 --> 00:26:33,970 attīstība. 575 00:26:33,970 --> 00:26:35,340 >> Tātad, ja mēs ejam - 576 00:26:35,340 --> 00:26:37,080 pieņemsim slēgt gedit šeit. 577 00:26:37,080 --> 00:26:38,910 Un, ja mēs tagad iet uz šo failu. 578 00:26:38,910 --> 00:26:44,210 Ļaujiet man iet uz mūsu vhosts / localhost / valsts, un ļaujiet man darīt 579 00:26:44,210 --> 00:26:46,340 counter.php. 580 00:26:46,340 --> 00:26:48,350 Ievērojiet, ka tas ir diezgan vienkāršu programmu. 581 00:26:48,350 --> 00:26:50,250 Tas ir diezgan vienkārša mājas lapa. 582 00:26:50,250 --> 00:26:51,770 >> Tāpēc top faila ir tikai komentāri. 583 00:26:51,770 --> 00:26:54,930 Bet šeit ir jauna līnija, ko var esmu redzējis jau p-komplekts septiņi, 584 00:26:54,930 --> 00:26:56,000 session_start (). 585 00:26:56,000 --> 00:27:00,380 Tas ir līnija PHP kodu, būtībā stāsta web serveri, padara 586 00:27:00,380 --> 00:27:03,400 Noteikti zīmogs rokas un padarīt Pārliecinieties, lai pārbaudītu roku zīmogiem. 587 00:27:03,400 --> 00:27:06,810 Tas ir viss, ka līnijas nav, un tas dara visu šo procesu mums. 588 00:27:06,810 --> 00:27:09,510 Tad ievērosiet, es tikko saņēmu divas filiāles šeit. 589 00:27:09,510 --> 00:27:14,150 Ja skaitītājs galvenais iekšpusē šo īpašu globālo mainīgo sauc 590 00:27:14,150 --> 00:27:18,010 $ _SESSION Ir noteikts - citiem vārdiem sakot, ja tur ir dažas vērtība, kas tur - 591 00:27:18,010 --> 00:27:22,440 pieņemsim iegūt un uzglabāt to vietējās mainīgais sauc $ skaitītājs. 592 00:27:22,440 --> 00:27:27,000 Else, pieņemsim piešķirt $ skaitītājs noklusējuma vērtība ir 0. 593 00:27:27,000 --> 00:27:30,320 >> Tagad šeit ir viens aspekts, PHP, kas ir gan svētība un lāsts. 594 00:27:30,320 --> 00:27:32,080 PHP ir nedaudz apliets. 595 00:27:32,080 --> 00:27:35,160 Tādējādi, kaut arī C, kāda būtu joma letes ir 596 00:27:35,160 --> 00:27:36,725 nu šeit vai šeit? 597 00:27:36,725 --> 00:27:39,270 598 00:27:39,270 --> 00:27:41,690 >> Tas būtu bijis tikai šiem cirtaini lencēm. 599 00:27:41,690 --> 00:27:42,090 Guess what? 600 00:27:42,090 --> 00:27:46,920 PHP, tā pastāv arī ārpus tiem, cirtaini bikšturi, šeit un šeit, 601 00:27:46,920 --> 00:27:49,120 un šeit, un šeit, un pat zemāk. 602 00:27:49,120 --> 00:27:52,400 Tāpēc es saku, tas ir svētība nozīmē ka jums nav jādomā par 603 00:27:52,400 --> 00:27:54,070 grūti, kā mēs to darījām pirms nedēļas. 604 00:27:54,070 --> 00:27:56,880 Bet tas ir arī mazliet par lāstu, kas vienalga, kur jūs izmantojat mainīgais 605 00:27:56,880 --> 00:28:00,020 PHP, vismaz programmā, piemēram, tas, tas ir pasaulē pieejamu 606 00:28:00,020 --> 00:28:01,170 labāk vai sliktāk. 607 00:28:01,170 --> 00:28:06,130 Tātad jums ir jāpatur prātā, ka šobrīd Jūsu mainīgie nedrīkst undefined. 608 00:28:06,130 --> 00:28:07,640 Jūs, iespējams, ir definējušas tos citur. 609 00:28:07,640 --> 00:28:09,460 >> Bet to, ko es esmu gatavojas darīt, galu galā? 610 00:28:09,460 --> 00:28:13,160 Es esmu gatavojas glabāt iekšpusē, ka globālā mainīgais kā vērtību 611 00:28:13,160 --> 00:28:17,060 counter ievadīt rezultātu darot skaitītāju plus 1. 612 00:28:17,060 --> 00:28:18,910 Tāpēc tas ir tikai aritmētisks kas dara 613 00:28:18,910 --> 00:28:20,590 incrementation šīs letes. 614 00:28:20,590 --> 00:28:24,850 Un fakts, ka es esmu uzglabājot, ka vērtība atpakaļ šeit ir nozīmē 615 00:28:24,850 --> 00:28:29,970 būtiski atjaunināt datu bāzi, lai atcerieties, ka lietotājs 123456789 ir 616 00:28:29,970 --> 00:28:31,010 šeit divas reizes. 617 00:28:31,010 --> 00:28:33,780 Un, kad es to darīt atkal, kad nākamreiz es pārlādēt lapu, tas notiek, lai pārbaudītu 618 00:28:33,780 --> 00:28:36,710 mana roka zīmogu un teikt, ak, lietotājs 123456789 tagad ir 619 00:28:36,710 --> 00:28:38,410 Šeit ir trīs reizes. 620 00:28:38,410 --> 00:28:43,390 >> Un tā kādus PHP un tamlīdzīgi valodā dara, lai mums ir, tie ir doti 621 00:28:43,390 --> 00:28:47,720 , kā un kur un cik ilgi uzglabāt vērtības šo īpašo 622 00:28:47,720 --> 00:28:48,830 superglobal. 623 00:28:48,830 --> 00:28:52,750 Un tas superglobal nākamreiz es apmeklējiet lapa ir sava veida maģiski 624 00:28:52,750 --> 00:28:57,440 pirms apdzīvota, piepildīta ar vērtībām, kas tur bija pēdējo reizi esat apmeklējis, 625 00:28:57,440 --> 00:29:02,310 vai kas bija otrais atpakaļ, nedēļa pirms, vai 2013.gadā, un mēs tagad runājam 626 00:29:02,310 --> 00:29:03,790 par 2015. 627 00:29:03,790 --> 00:29:07,600 PHP un web serveri rūpēties par visu, kas jums. 628 00:29:07,600 --> 00:29:08,850 >> Mērķauditorija: [nedzirdama]. 629 00:29:08,850 --> 00:29:11,900 630 00:29:11,900 --> 00:29:15,760 >> DAVID Malan: Mainīgie PHP ir būtībā vienmēr ir globāla, ja vien jūs 631 00:29:15,760 --> 00:29:18,400 deklarēt tos iekšpusē funkciju, un tad viņi ir vietējā 632 00:29:18,400 --> 00:29:19,420 funkcija tikai. 633 00:29:19,420 --> 00:29:22,300 Bet tāpēc, ka es esmu nav rakstīts kādu funkcijas, tagad tie ir efektīvi 634 00:29:22,300 --> 00:29:25,090 Pasaules visā manā visiem lietas materiāliem šeit. 635 00:29:25,090 --> 00:29:26,040 >> Mērķauditorija: Vai ir veids, kā lai padarītu tos vietējiem? 636 00:29:26,040 --> 00:29:28,470 >> DAVID Malan: Vai ir kāds veids, kā padarīt tos vietējiem? 637 00:29:28,470 --> 00:29:30,680 Tikai ietīšana tos funkcijām. 638 00:29:30,680 --> 00:29:32,790 Kas jaunāko versiju PHP, jūs varat darīt to ar 639 00:29:32,790 --> 00:29:34,130 anonīma funkcija. 640 00:29:34,130 --> 00:29:35,930 Bet vairāk par ka konteksts JavaScript. 641 00:29:35,930 --> 00:29:37,260 Bet īsā atbilde ir nē. 642 00:29:37,260 --> 00:29:40,888 Ilgāk atbilde ir jā. 643 00:29:40,888 --> 00:29:42,380 Nice. 644 00:29:42,380 --> 00:29:43,380 Laba viktorīna jautājums. 645 00:29:43,380 --> 00:29:43,930 Labi. 646 00:29:43,930 --> 00:29:47,760 >> Tātad visbeidzot, lapa pati par sevi ir faktiski ir diezgan vienkārši. 647 00:29:47,760 --> 00:29:51,470 Ievērojiet, ka tad, kad es izeju PHP režīma, atgādināt ka visu šo stuff leju 648 00:29:51,470 --> 00:29:53,700 Turpmāk ir tikai gatavojas saņemt iespļaut veic izejvielas uz pārlūku. 649 00:29:53,700 --> 00:29:57,050 Kas ir labi, jo es vēlos, lai nosūtītu lietotājs dažas HTML, bet es vēlos 650 00:29:57,050 --> 00:29:59,140 lai dinamiski atjauninātu šo HTML. 651 00:29:59,140 --> 00:30:03,930 Un viens veids, kā es varu darīt, ir, lai sakārtotu ļoti ātri piliens atpakaļ uz PHP 652 00:30:03,930 --> 00:30:07,730 režīmā, izmanto atvērtā Bracket jautājuma zīme vienādības zīme, un pēc tam izejas vērtība 653 00:30:07,730 --> 00:30:08,650 no letes. 654 00:30:08,650 --> 00:30:12,360 >> Vai, ja tas izskatās mazliet noslēpumains, tas vienādības zīmi faktiski ir tikai daži 655 00:30:12,360 --> 00:30:16,190 sintaktisko cukura šim printf ($ skaitītājs). 656 00:30:16,190 --> 00:30:19,160 Bet atklāti sakot, tas ir tikai nedaudz neglīts un mazliet kaitinošas rakstīt. 657 00:30:19,160 --> 00:30:23,660 Tātad PHP ļoti labi piedāvā šo funkciju kur jūs varat vienkārši pateikt to vairāk 658 00:30:23,660 --> 00:30:25,450 īsi tādā pašā veidā. 659 00:30:25,450 --> 00:30:26,940 >> Tātad, kas notiek zem kapuci? 660 00:30:26,940 --> 00:30:31,210 Pieņemsim ātri apskatīt tīkla tab šeit counter.php. 661 00:30:31,210 --> 00:30:35,090 Un ļaujiet man iet uz priekšu, un pirmais pieņemsim, izdzēsiet savas sīkdatnes. 662 00:30:35,090 --> 00:30:38,670 Let 's skaidrs pārlūkošanas datus kopš sākuma laiku. 663 00:30:38,670 --> 00:30:39,680 Tagad iesim atpakaļ vairāk nekā šeit. 664 00:30:39,680 --> 00:30:41,340 Tagad pārlādēt lapu. 665 00:30:41,340 --> 00:30:42,170 Un es esmu atpakaļ pie nulles. 666 00:30:42,170 --> 00:30:44,810 Tāpēc, ka mana roka zīmogs ir mazgāti, Man tagad saņemt jaunu cookie. 667 00:30:44,810 --> 00:30:48,780 >> Patiešām, ja es paskatos uz cilnes Tīkli un apskatīt atbildes galvenes, paziņojums 668 00:30:48,780 --> 00:30:51,960 ka ierīce sūta mani cookie, kura vārds ir nedaudz 669 00:30:51,960 --> 00:30:55,820 patvaļīgi, bet gan sava veida saprātīgi, PHPSESSID. 670 00:30:55,820 --> 00:30:58,440 Un tas ir nosūtījis man tas ir patiešām liels izlases numuru. 671 00:30:58,440 --> 00:30:59,440 Tas nav gluži numuru. 672 00:30:59,440 --> 00:31:00,390 Tas nav gluži heksadecimālo. 673 00:31:00,390 --> 00:31:03,600 Tas ir sava veida burtu un ciparu virknes, bet, iespējams, tas ir nejauši. 674 00:31:03,600 --> 00:31:06,830 Un tas ir roku zīmogu tā, lai runā, ka es esmu, kas attiecas uz. 675 00:31:06,830 --> 00:31:11,960 >> Tajā pašā laikā, ja es noklikšķiniet uz papildināšanas un pēc tam apskatīt šajā otrajā rindā, lai mans otrais 676 00:31:11,960 --> 00:31:17,600 lūgums, paziņojums, tagad, ka mans lūgums galvenes ietver PHPSESSID vienāds ar to, 677 00:31:17,600 --> 00:31:19,390 nav set-cookie, bet tikai cookie. 678 00:31:19,390 --> 00:31:22,950 Un tas ir mana pārlūkprogrammas prezentācija no manas rokas zīmogu. 679 00:31:22,950 --> 00:31:28,820 >> Tātad tagad kā teaser, un mēs runājam vairāk par šo nedēļu, vai arī tā, bet 680 00:31:28,820 --> 00:31:31,590 kādā veidā tas padara tevi neaizsargāti, jūsu Facebook kontā 681 00:31:31,590 --> 00:31:34,137 neaizsargāti, un citas šādas konti neaizsargāti? 682 00:31:34,137 --> 00:31:35,510 >> Mērķauditorija: Ja kāds ir jūsu cookie. 683 00:31:35,510 --> 00:31:36,750 >> DAVID Malan: Jā, ja kāds ir jūsu cookie. 684 00:31:36,750 --> 00:31:39,920 Es domāju tiešām, daudz, piemēram, daži no jums iespējams, ir mēģinājuši pie kā klubā vai 685 00:31:39,920 --> 00:31:44,030 atrakciju parks, ja jūs mēģināt kaut ko piemēram, tas, lai kopētu zīmogu, lai gan 686 00:31:44,030 --> 00:31:47,560 atpakaļ uz citas personas puses, un tad viņš vai viņa pasniedz kā 687 00:31:47,560 --> 00:31:53,250 to pašu, ja tie patiešām izskatās identisks, 123456789, tad web 688 00:31:53,250 --> 00:31:57,980 serveris acīmredzot tikai gatavojas ticu, ka lietotājs ir jums. 689 00:31:57,980 --> 00:32:01,450 >> Un tas ir patiesi būtisks draudi jebkurā laikā jūs izmantojat sīkdatnes 690 00:32:01,450 --> 00:32:05,420 jo, ja kāds vienkārši Spoofs tāpēc, lai runā savu cookie, skaitļus, ko tā 691 00:32:05,420 --> 00:32:08,660 ir vai nu patiesi kopējot skatoties pie datora 692 00:32:08,660 --> 00:32:09,890 un ir, piemēram, OK. 693 00:32:09,890 --> 00:32:14,520 Dāvida cookie ir JJ3JIK un tā tālāk, un tad viņi pietiekami gudrs, lai zināt 694 00:32:14,520 --> 00:32:18,080 kā kārtot manuāli sūtīt kas cookie no pārlūka vai no 695 00:32:18,080 --> 00:32:22,350 Programma viņi raksta, tie varētu pilnībā ieiet mājas lapā, kā jūs. 696 00:32:22,350 --> 00:32:28,560 Tas nav tik grūti izlikties par kāds cits, ja mēs pārskatīt p-komplekts 697 00:32:28,560 --> 00:32:30,790 divi, kas ieviesa to, ko? 698 00:32:30,790 --> 00:32:32,065 >> Mērķauditorija: Kriptogrāfija. 699 00:32:32,065 --> 00:32:33,860 >> DAVID Malan: maz mazliet kriptogrāfiju. 700 00:32:33,860 --> 00:32:36,550 Vienkāršs kriptogrāfijas, vismaz standarta izdevums, bet Kripto 701 00:32:36,550 --> 00:32:36,870 tomēr. 702 00:32:36,870 --> 00:32:37,410 mazāk. 703 00:32:37,410 --> 00:32:41,440 Tātad izrādās, ja jūs šifrēt visus šīs galvenes, izmantojot kaut ko, kas jums 704 00:32:41,440 --> 00:32:48,770 šobrīd varētu zināt vairāk familiarly, SSL, Secure Socket Layer vai https:// URL, 705 00:32:48,770 --> 00:32:51,890 tad visas šīs lietas, mēs esam bijuši glancing patiesībā ir šifrēta, 706 00:32:51,890 --> 00:32:54,800 kas nozīmē, ka tas ir tāpat kā jūs nevar nolasīt rokas zīmogu. 707 00:32:54,800 --> 00:32:59,350 Tikai facebook.com var, vai google.com, vai šajā gadījumā, ierīce var 708 00:32:59,350 --> 00:33:00,550 izlasīju, ka rokas zīmogu. 709 00:33:00,550 --> 00:33:04,020 >> Traģiski, lai gan, un atkal, tas ir pārāk piemērots ar VDI sīkumi 710 00:33:04,020 --> 00:33:06,410 par vēlu, pat SSL ir trausli. 711 00:33:06,410 --> 00:33:09,850 Un tas tiešām nav tik grūti pat kreka šo šifrēšanu. 712 00:33:09,850 --> 00:33:12,040 Ne tik daudz plaisas šifrēšanu, bet tricking 713 00:33:12,040 --> 00:33:15,720 pārlūku uz atkodēšanu dati priekšlaicīgi. 714 00:33:15,720 --> 00:33:17,880 Bet atkal, mēs ķircināt jums ar to pirms ilgi. 715 00:33:17,880 --> 00:33:21,242 Tagad, vienkārši bail. 716 00:33:21,242 --> 00:33:23,070 Tas ir traģiski sava veida taisnība. 717 00:33:23,070 --> 00:33:23,760 >> Labi. 718 00:33:23,760 --> 00:33:27,910 Tātad, ja tas tagad atstāj mūs? 719 00:33:27,910 --> 00:33:29,010 Nu, pieņemsim to izdarītu. 720 00:33:29,010 --> 00:33:31,790 Iesim uz priekšu un veikt ātri teaser pirms mēs ņemt pārtraukumu. 721 00:33:31,790 --> 00:33:33,790 Un es domāju, ka mēs uzkavēties nedaudz ilgāk šodien, bet mēs ejam, lai nodoties 722 00:33:33,790 --> 00:33:37,850 kaut ko pavisam jaunu un seksīga, kas būs apetītes rosināšanai, lai vēl vairāk. 723 00:33:37,850 --> 00:33:38,950 Tātad, tas ir teaser. 724 00:33:38,950 --> 00:33:41,520 >> Tātad SQL, mēs sākām runāt par kādreiz tik īsi pēdējo reizi. 725 00:33:41,520 --> 00:33:44,670 Jūs tiešām saņemt rokas netīras ar dažiem to septiņu p-komplektu. 726 00:33:44,670 --> 00:33:46,480 Un lajs izteiksmē, ko tas SQL - 727 00:33:46,480 --> 00:33:47,110 S-Q-L - 728 00:33:47,110 --> 00:33:49,850 darīt jūsu labā? 729 00:33:49,850 --> 00:33:50,310 Kas tas ir? 730 00:33:50,310 --> 00:33:51,546 Jā. 731 00:33:51,546 --> 00:33:53,240 >> Mērķauditorija: Pieņemsim jūs varat piekļūt datiem. 732 00:33:53,240 --> 00:33:53,360 >> DAVID Malan: Jā. 733 00:33:53,360 --> 00:33:55,120 Tā pieņemsim jūs piekļūt datiem datu bāzē. 734 00:33:55,120 --> 00:33:56,710 Strukturēts Query Language. 735 00:33:56,710 --> 00:33:59,890 Un tas ir būtībā programmēšanas valodu. 736 00:33:59,890 --> 00:34:03,400 Ir pazīmes tam, ka mums nebūs pat izmantot klasē. 737 00:34:03,400 --> 00:34:04,710 Bet jūs varat efektīvi definētu funkciju. 738 00:34:04,710 --> 00:34:06,870 Viņi aicināja glabāt procedūras SQL. 739 00:34:06,870 --> 00:34:09,860 Bet mēs turpinām to diezgan vienkāršs un vienkārši izmantot dažas pamatdarbības 740 00:34:09,860 --> 00:34:14,320 piemēram, izvēloties datus, ievietojot datus, atjauninot datus un dzēst datus. 741 00:34:14,320 --> 00:34:17,400 >> Un jūs tiešām domājat, ka datu bāzes, piemēram, SQL datu bāzi, kā tikko 742 00:34:17,400 --> 00:34:18,800 ir Microsoft Excel. 743 00:34:18,800 --> 00:34:21,989 Tāpēc, ka SQL attiecas uz relāciju datu bāze, kur 744 00:34:21,989 --> 00:34:23,480 saistība nozīmē tikai tabulas. 745 00:34:23,480 --> 00:34:24,739 Rindas un kolonnas. 746 00:34:24,739 --> 00:34:27,929 Lai kaut ko jūs varat īstenot izklājlapu piemēram, tas, vai Google Docs, 747 00:34:27,929 --> 00:34:32,460 jūs varētu ievietot SQL datu bāzē atzīstot tabulu. 748 00:34:32,460 --> 00:34:34,800 >> Tagad, kā jūs faktiski var piekļūt šī informācija? 749 00:34:34,800 --> 00:34:38,239 Nu, ar komandu vai vaicājumi, kā šis. 750 00:34:38,239 --> 00:34:40,199 SELECT, INSERT, UPDATE un DELETE. 751 00:34:40,199 --> 00:34:44,489 Un lielākā daļa, tie ir četras vienīgās sastāvdaļas jums ir nepieciešams, lai 752 00:34:44,489 --> 00:34:47,370 darīt kaut ko diezgan spēcīgi jo problēma noteikti septiņi. 753 00:34:47,370 --> 00:34:49,940 >> Tagad atpakaļ dienā, jūs faktiski mijiedarbojas ar datu bāzes 754 00:34:49,940 --> 00:34:52,730 melnā un baltā termināla logu uz mirgo ātri, kā šis. 755 00:34:52,730 --> 00:34:56,370 Un datu bāzē, mēs esam darbojas Ierīce sauc par MySQL, kas ir 756 00:34:56,370 --> 00:34:58,560 bezmaksas un atvērtā koda datu bāzes dzinēju. 757 00:34:58,560 --> 00:35:02,240 Ja jūs Google un lasīt Wikipedia rakstu, jūs zināt, ka nosaukums ir 758 00:35:02,240 --> 00:35:05,060 mazliet pāreju uz dažām Linux versijas. 759 00:35:05,060 --> 00:35:10,460 Maria datu bāze ir faktiski dakša tāpēc runāt par MySQL. 760 00:35:10,460 --> 00:35:12,740 >> Long stāsts īss, Oracle nopirka MySQL. 761 00:35:12,740 --> 00:35:13,870 Oracle ir liels uzņēmums. 762 00:35:13,870 --> 00:35:17,010 Cilvēki ir noraizējies, ka tas būtu vairs paliek gluži kā atvērtā pirmkoda, 763 00:35:17,010 --> 00:35:20,930 tāpēc tas ir tikai kopija, MySQL, kas ir joprojām ir bezmaksas, tomēr open source, un 764 00:35:20,930 --> 00:35:23,550 uzstādītas Ubuntu Linux pēc noklusējuma. 765 00:35:23,550 --> 00:35:26,130 >> Bet tas ir sava veida sāpes kakla, lai iepazītos ar 766 00:35:26,130 --> 00:35:27,310 datubāzē šādā veidā. 767 00:35:27,310 --> 00:35:30,560 Tāpēc mēs iekļaut CS50 ierīces bezmaksas atvērtā koda rīku, ko sauc 768 00:35:30,560 --> 00:35:31,700 phpMyAdmin. 769 00:35:31,700 --> 00:35:33,940 Tikai sagadīšanās, ka tas ir uzrakstīts PHP. 770 00:35:33,940 --> 00:35:36,450 Nav būtiski nepieciešams PHP šeit. 771 00:35:36,450 --> 00:35:40,090 Bet tas ir tikai tīmekļa rīks, kas mēs lejupielādēt par brīvu, uzstādīti 772 00:35:40,090 --> 00:35:43,850 ierīce, kas ļauj mums būt grafiskā lietotāja saskarne, ar kuru 773 00:35:43,850 --> 00:35:48,610 izpētīt p uzstādīto septiņi datu bāzi, ar kas, lai izveidotu jaunas datu bāzes, 774 00:35:48,610 --> 00:35:51,980 teikt savu galīgo projektu, ja jūs gribētu patīk, un galu galā radītu 775 00:35:51,980 --> 00:35:55,900 dinamiskas mājas lapas, piemēram CS50 Finance kas ļauj jums vaicāt datus un 776 00:35:55,900 --> 00:35:58,140 atjaunināt datus dinamiski. 777 00:35:58,140 --> 00:36:01,420 >> Jūs neesat nāksies izmantot tikai vienkāršu teksta failu vai CSV. 778 00:36:01,420 --> 00:36:05,950 Jūs faktiski var izmantot gudru datu bāzi programma, lai jūs varētu izpildīt vairāk 779 00:36:05,950 --> 00:36:10,240 sarežģītas vaicājumus nekā tikai lasījumā caur visu lineāri. 780 00:36:10,240 --> 00:36:14,150 >> Tātad, piemēram, tas ir tas, ko mēs dodam jūs no kastē par septiņu p-komplektu. 781 00:36:14,150 --> 00:36:18,280 Tas ir galds ar acīmredzot vismaz trīs kolonnas, viens no kuriem ir 782 00:36:18,280 --> 00:36:21,450 Lietotājs, viens no kuriem ir hash, un no kurām otra ir ID. 783 00:36:21,450 --> 00:36:26,200 >> Bet interesanta lieta, un tikai ķircināt, viena doma šeit, lietotājvārds 784 00:36:26,200 --> 00:36:29,270 droši vien jau ir unikāls, labi? 785 00:36:29,270 --> 00:36:31,190 Es domāju, lielākā daļa jebkuru mājas lapā, ja jums ir lietotājvārds, tur 786 00:36:31,190 --> 00:36:32,370 nevar būt divi Caesars. 787 00:36:32,370 --> 00:36:33,440 Tur nevar būt divas Malans. 788 00:36:33,440 --> 00:36:34,950 Tur nevar būt divas jharvards. 789 00:36:34,950 --> 00:36:35,600 Tās unikāls. 790 00:36:35,600 --> 00:36:38,610 Pretējā gadījumā viņi nezina, kas jharvard tas patiesībā ir. 791 00:36:38,610 --> 00:36:42,710 Tātad, kādi varētu būt motivācija arī ar trešo kolonnu pa kreisi 792 00:36:42,710 --> 00:36:46,970 tur sauc ID, kas izskatās numurs, kas ir līdzīgi unikāls? 793 00:36:46,970 --> 00:36:51,300 Tā jūtas mazliet lieks man pēc pirmā acu uzmetiena. 794 00:36:51,300 --> 00:36:54,910 Kāpēc tas varētu būt pārliecinoši, lai būtu ne tikai unikālās lietotājvārdi, 795 00:36:54,910 --> 00:36:56,837 bet arī unikāls numurs? 796 00:36:56,837 --> 00:36:59,460 >> Mērķauditorija: Tie varētu būt pašu paroli. 797 00:36:59,460 --> 00:37:01,720 >> DAVID Malan: Cilvēki varētu būt pati parole, protams. 798 00:37:01,720 --> 00:37:03,900 Tas varētu absolūti notikt. 799 00:37:03,900 --> 00:37:08,270 Bet, ja tie ir šo unikālo lietotājvārdu, es gribētu apgalvot, ka tas nav īsti 800 00:37:08,270 --> 00:37:11,630 jautājums, jo, ja tie ierakstiet to lietotājvārdu, man ir nepieciešama tikai, lai pārbaudītu to 801 00:37:11,630 --> 00:37:15,060 paroli, to hash to. 802 00:37:15,060 --> 00:37:15,970 Kāpēc vēl? 803 00:37:15,970 --> 00:37:17,950 >> Mērķauditorija: Ātrāka meklēšana. 804 00:37:17,950 --> 00:37:18,680 >> DAVID Malan: Ātrāka meklēšana. 805 00:37:18,680 --> 00:37:19,548 Kāpēc? 806 00:37:19,548 --> 00:37:21,460 >> Mērķauditorija: ID ir tikai viens. 807 00:37:21,460 --> 00:37:24,040 >> DAVID Malan: ID ir tikai viens raksturu, vai precīzāk, tas ir skaitlis, 808 00:37:24,040 --> 00:37:26,910 tāpēc tas ir iespējams, 32 bitu vai kaut kas tamlīdzīgs. 809 00:37:26,910 --> 00:37:30,270 Tā kā lietotājvārdu, acīmredzot Jason Hirschhorn tur augšā ir sava veida 810 00:37:30,270 --> 00:37:33,900 smieklīgi garš, un tas notiek ņem mani daudz vairāk laika, lai string 811 00:37:33,900 --> 00:37:40,910 salīdzināt H-I-R-S-C-H-H-O-R-N, un varbūt / 0 vai kaut kā tā, lai 812 00:37:40,910 --> 00:37:45,100 meklēt Džeisonu, nevis tikai sakot, man lietotāja numuru divi. 813 00:37:45,100 --> 00:37:46,510 Tas ir 32 biti. 814 00:37:46,510 --> 00:37:48,550 Tas ir viens INT, ka jums ir salīdzināt. 815 00:37:48,550 --> 00:37:52,150 Un tiešām, tas ir tieši tāpēc datu bāzes mēdz piešķirt unikālu ID, lai 816 00:37:52,150 --> 00:37:53,710 rindas tiem. 817 00:37:53,710 --> 00:37:56,280 >> Tagad Kādas citas datu tipi ir tur turklāt INT un acīmredzot 818 00:37:56,280 --> 00:37:57,160 stīgas, kā šis? 819 00:37:57,160 --> 00:37:59,700 Nu, ir vairāk pareizi, SQL datu bāzēm, piemēram, 820 00:37:59,700 --> 00:38:02,060 MySQL, ir Char laukus. 821 00:38:02,060 --> 00:38:05,320 Un char nedaudz maldinoši nav viens char. 822 00:38:05,320 --> 00:38:10,290 CHAR lauks MySQL datu bāzē vienu vai vairākas rakstzīmes, bet tas ir 823 00:38:10,290 --> 00:38:11,780 fiksēta rakstzīmju skaitu. 824 00:38:11,780 --> 00:38:15,710 >> Tātad, piemēram, ja es iet pār phpMyAdmin, jo jums var būt jau, vai 825 00:38:15,710 --> 00:38:21,340 drīz būs problēma noteikti septiņi, un es iet manu datu bāzi, un tikai jautri, 826 00:38:21,340 --> 00:38:25,700 pieņemsim izveidot jaunu tabulu, ko sauc par pārbaudīt tikai ar diviem kolonnām. 827 00:38:25,700 --> 00:38:27,160 Es pēc tam noklikšķiniet uz Aiziet. 828 00:38:27,160 --> 00:38:30,070 Un tas kļūs diezgan pazīstami, jo, kā jūs lāpīt 829 00:38:30,070 --> 00:38:31,130 ap savu. 830 00:38:31,130 --> 00:38:34,140 Šeit es varētu rakstīt ID, lai radītu jauna tabula tipa INT. 831 00:38:34,140 --> 00:38:37,770 Bet šeit es varētu ierakstīt lietotājvārdu atjaunotu minēto agrāko tabulu. 832 00:38:37,770 --> 00:38:40,700 Un paziņojums man ir visai ķekars veidu, no kuriem izvēlēties. 833 00:38:40,700 --> 00:38:43,610 >> Un tas arī ir iemesls, kāpēc phpMyAdmin ir sava veida jauki. 834 00:38:43,610 --> 00:38:46,770 Tas ir sava veida sevis mācīšanas, ka jūs var vienkārši sava veida punkts un noklikšķiniet, un 835 00:38:46,770 --> 00:38:50,730 apskatīt nolaižamās izvēlnes, un secināt no ka tas, ko pilnvaras SQL dod jums. 836 00:38:50,730 --> 00:38:54,090 >> Un tiešām, ja es izvēlos CHAR, es pēc tam ir jānorāda garumu, vai kā 837 00:38:54,090 --> 00:38:55,940 daudz vērtības, cik daudzi simboli. 838 00:38:55,940 --> 00:39:00,090 Tāpēc ļoti bieži vērtības ir lietas, piemēram, 255, bet tas ir diezgan garš. 839 00:39:00,090 --> 00:39:02,250 Parasti ir astoņām lietotājvārdu. 840 00:39:02,250 --> 00:39:03,590 Bet tas ir pārāk mazs šajās dienās. 841 00:39:03,590 --> 00:39:05,430 Tātad šis ir dizaina lēmums. 842 00:39:05,430 --> 00:39:08,630 Vai tas ir 8 rakstzīmes max, 32, 255, 1000? 843 00:39:08,630 --> 00:39:09,830 Tas tiešām atkarīgs no jums. 844 00:39:09,830 --> 00:39:12,350 Bet CHAR lauks ir noteikts skaits. 845 00:39:12,350 --> 00:39:16,420 Tāpēc izvēlēties pārāk maz, un jūs esat veida ieskrūvē, ja jūs vēlaties garāku lietotājvārdu. 846 00:39:16,420 --> 00:39:19,132 Izvēlēties pārāk daudz, un to, kas ir negatīvie? 847 00:39:19,132 --> 00:39:20,820 >> Mērķauditorija: [nedzirdama]. 848 00:39:20,820 --> 00:39:21,620 >> DAVID Malan: tas ir izšķērdīgs. 849 00:39:21,620 --> 00:39:24,835 Tāpat kā C, ja jums ir lielāks rieciens atmiņas, nekā jums nepieciešams, jūs esat 850 00:39:24,835 --> 00:39:27,190 tikai izšķērdēt laiku un izšķērdēt telpā. 851 00:39:27,190 --> 00:39:31,430 Tā kā alternatīvu, pastāv VARCHAR, kas atrisina šo problēmu, 852 00:39:31,430 --> 00:39:36,390 apstrādājot garumu nevis kā fiksētu garumu, bet kā maksimālo garumu un izmantojot 853 00:39:36,390 --> 00:39:40,990 maināmu skaitu simboliem, kas pēc tam mēdz izmantot tikai tik daudz simboli, kā jūs 854 00:39:40,990 --> 00:39:42,710 tiešām ir nepieciešams. 855 00:39:42,710 --> 00:39:43,670 Tas izklausās perfekta. 856 00:39:43,670 --> 00:39:45,640 >> Kāpēc nav mēs atbrīvoties no CHAR datu tipu, tad? 857 00:39:45,640 --> 00:39:48,500 Kas varētu būt negatīvie izmantojot VARCHARs, kas izklausās 858 00:39:48,500 --> 00:39:51,644 kā tas ir jauki win? 859 00:39:51,644 --> 00:39:52,596 Yeah? 860 00:39:52,596 --> 00:39:53,846 >> Mērķauditorija: [nedzirdama]. 861 00:39:53,846 --> 00:39:57,360 862 00:39:57,360 --> 00:39:57,790 >> DAVID Malan: Labi, labi. 863 00:39:57,790 --> 00:40:01,101 Tātad, ja visi dati ir tāds pats garumu, kas ir problēma? 864 00:40:01,101 --> 00:40:05,250 >> Mērķauditorija: Tāpēc, ka jūs izšķērdēt dati pēc darot tos visus. 865 00:40:05,250 --> 00:40:09,060 >> DAVID Malan: Tātad, ja visi jūsu dati ir vienāda garuma, lai gan, es teiktu 866 00:40:09,060 --> 00:40:12,300 , kas norāda maksimālo garumu gada VARCHAR neatšķiras no 867 00:40:12,300 --> 00:40:16,070 nosakot fiksētu garumu par CHAR ja Jūs zināt, ka vairāki iepriekš. 868 00:40:16,070 --> 00:40:19,500 Bet tur ir tiešām, un es ņemšu veida izraksts no šo atbildi realitāti 869 00:40:19,500 --> 00:40:22,610 ka tur ir vēl max, kas varētu kaitinošas, jo īpaši, ja jūs 870 00:40:22,610 --> 00:40:25,920 sastopas personas vārdu, kas ir neparasti ilgi, ka jums nav 871 00:40:25,920 --> 00:40:26,860 paredzēt. 872 00:40:26,860 --> 00:40:31,420 Un tas ir arī nedaudz mazāk efektīva faktiski meklēt VARCHARs kā 873 00:40:31,420 --> 00:40:35,620 nevis meklē simboli, it īpaši gariem galdiem, kas ir daudz, un 874 00:40:35,620 --> 00:40:36,510 daudz datu. 875 00:40:36,510 --> 00:40:40,060 Tātad arī šeit, tematiskā atkal nav acīmredzama izvēle. 876 00:40:40,060 --> 00:40:42,870 >> Tik vienkārši, lai dotu jums sajūtu citi datu tipi, kas varētu interesēt 877 00:40:42,870 --> 00:40:45,400 nu p-noteikti septiņi vai nākotne, tur ir INT. 878 00:40:45,400 --> 00:40:47,270 Ir BIGINT, kas ir kā ilgi ilgi. 879 00:40:47,270 --> 00:40:48,880 Tas mēdz būt 64 bitiem. 880 00:40:48,880 --> 00:40:51,640 Ir Decimal, ko jūs redzēsiet problēma komplekts, kas ir daudz 881 00:40:51,640 --> 00:40:55,300 tīrītājs atbilde uz problēmām, kas mums saskārās ar pludiņu un peldošo 882 00:40:55,300 --> 00:40:55,980 punktu neprecizitātes. 883 00:40:55,980 --> 00:40:57,390 Un tad tur ir DATETIME. 884 00:40:57,390 --> 00:41:01,530 Tur ir burtiski datu tips, kas ir izskatās gadu, mēnesi, dienu, 885 00:41:01,530 --> 00:41:03,730 un stunda, minūte un sekunde. 886 00:41:03,730 --> 00:41:07,470 >> Bet SQL datu bāzēm ir arī lietas, ko mēs sauksim indeksu. 887 00:41:07,470 --> 00:41:11,630 Un indekss ir kaut kas jums norādiet veidojot tabulu 888 00:41:11,630 --> 00:41:15,720 veikt meklēšanu un citas darbības efektīvāku. 889 00:41:15,720 --> 00:41:18,550 Proti, tur ir kaut kas ko sauc PRIMARY indeksu, kas jums varētu 890 00:41:18,550 --> 00:41:19,440 deklarē šādi. 891 00:41:19,440 --> 00:41:22,330 >> Mēs to darījām, lai jūs ar lietotāju tabula mēs dodam jums. 892 00:41:22,330 --> 00:41:26,160 Bet paziņojums, ja es būtu manuāli atjaunošanās lietotāju tabula šeit sniedzot 893 00:41:26,160 --> 00:41:27,110 tā nosaukums lietotājiem. 894 00:41:27,110 --> 00:41:28,125 Es jau norādīts ID. 895 00:41:28,125 --> 00:41:29,330 Esmu norādījis INT. 896 00:41:29,330 --> 00:41:32,000 Esmu norādījis lietotājvārdu ar maksimāli 32 rakstzīmes. 897 00:41:32,000 --> 00:41:36,140 Bet, ja mēs pastāvīgi ritināšanu šajā samērā plats logs, paziņojums tur 898 00:41:36,140 --> 00:41:38,260 ķekars citas lietas, es varu paredzēt. 899 00:41:38,260 --> 00:41:40,950 >> Viens, es varu norādīt atribūtus piemēram, jūs zināt, ko tas 900 00:41:40,950 --> 00:41:42,190 INT būtu parakstīts. 901 00:41:42,190 --> 00:41:45,510 Es negribu negatīvi skaitļi, tāpēc pieņemsim, būtu parakstīts. 902 00:41:45,510 --> 00:41:48,660 Null nav nozīmes šeit, jo Es vēlos ikvienam lietotājam 903 00:41:48,660 --> 00:41:49,640 ir unikāls numurs. 904 00:41:49,640 --> 00:41:50,830 Es nevēlos, lai to null. 905 00:41:50,830 --> 00:41:52,330 >> Bet tas ir interesanti. 906 00:41:52,330 --> 00:41:57,780 Es varu norādīt, ka ID ir vai nu primārā atslēga Šīs datu bāzes, vai arī tas ir 907 00:41:57,780 --> 00:42:00,620 unikālu, vai arī tas ir indeksēti vai pilnu tekstu. 908 00:42:00,620 --> 00:42:05,630 Tātad šodienas vajadzībām, garš stāsts Īsi sakot, galvenais veids, ka tas 909 00:42:05,630 --> 00:42:10,570 būt gan konceptuāli un tehniski lauks, ko mēs izmantojam, lai unikāli 910 00:42:10,570 --> 00:42:12,140 identificētu lietotājus. 911 00:42:12,140 --> 00:42:16,140 >> Tātad, kad mēs skatāmies uz augšu lietotājiem, tas ir sava veida ar solījumu meklēt tos galvenokārt 912 00:42:16,140 --> 00:42:17,370 kas unikāls identifikators. 913 00:42:17,370 --> 00:42:21,930 Un datu bāze nodrošina to, ka, ja jums ir lietotāja numuru 3, jūs nevarat 914 00:42:21,930 --> 00:42:25,400 fiziski ievietot citu lietotāju ar to pašu numuru 3. 915 00:42:25,400 --> 00:42:28,380 Datubāzē būs tikai atkritumu , lai saglabātu izmaiņas. 916 00:42:28,380 --> 00:42:32,310 Kas ir laba lieta, jo jūs varat pasargāt sevi no sevis. pats 917 00:42:32,310 --> 00:42:34,270 >> Alternatīvi, lietotājvārdu. 918 00:42:34,270 --> 00:42:37,670 Tātad otrajā rindā, atgādināt, ir lietotājvārds jomā. 919 00:42:37,670 --> 00:42:41,860 Tātad otrajā rindā šeit ir lietotājvārds, kā mēs to darījām uz tālu pa kreisi tur. 920 00:42:41,860 --> 00:42:43,940 >> Tātad, ko vēl varētu es vēlos norādīt? 921 00:42:43,940 --> 00:42:47,840 Es neesmu atļauts, saskaņā ar SQL, norādīt divas primārās atslēgas. 922 00:42:47,840 --> 00:42:50,750 Jūs varat norādīt kopīgu atslēgu, kur jūs apskatīt gan laukos, bet tās nevar 923 00:42:50,750 --> 00:42:52,260 individuāli ir primārās atslēgas. 924 00:42:52,260 --> 00:42:54,750 Tātad tas ir ārpus jautājuma. 925 00:42:54,750 --> 00:42:56,040 Tātad, ko es varētu vēlēties, lai izvēlētos? 926 00:42:56,040 --> 00:42:59,710 >> Nu, UNIQUE ir līdzīgs garā primārā atslēga, ja jūs norādāt šo 927 00:42:59,710 --> 00:43:03,570 lauks ir unikāls, bet tas ir nebūs viens 928 00:43:03,570 --> 00:43:04,410 Es izmantoju visu laiku. 929 00:43:04,410 --> 00:43:08,450 Un mēs neesam gatavojas izmantot šo vienu visu laiks kāda iemesla dēļ atkal? 930 00:43:08,450 --> 00:43:10,490 Tas ir lēnāks, iespējams, ja tas ir garš lietotājvārds. 931 00:43:10,490 --> 00:43:11,740 Tas ir tikai laika izšķiešana. 932 00:43:11,740 --> 00:43:16,140 >> INDEX, tikmēr, ir precizēts, ka tā ir nebūs unikāls, bet es gribētu 933 00:43:16,140 --> 00:43:19,470 strādāt savu burvju zem kapuce, lai padarītu to ātrāku man 934 00:43:19,470 --> 00:43:21,420 meklēt šajā jomā. 935 00:43:21,420 --> 00:43:23,320 Tāpēc tas, iespējams, nav būtisks. 936 00:43:23,320 --> 00:43:26,500 Lietotājvārdu, es gribētu apgalvot, ka UNIQUE ir laba atbilde. 937 00:43:26,500 --> 00:43:31,200 Bet pieņemsim, ka mēs, kas lietotājiem vairāk interesanti nekā tikai lietotājvārdus, 938 00:43:31,200 --> 00:43:32,430 hashes, un identifikācijas numuri. 939 00:43:32,430 --> 00:43:33,860 Ko darīt, ja mēs deva cilvēkiem pilnu vārdu? 940 00:43:33,860 --> 00:43:37,700 Ko darīt, ja mēs viņiem deva adreses un citi dati par viņiem? 941 00:43:37,700 --> 00:43:43,360 >> Nu, ja jūs norādāt, ka kolonna datu bāze ir indeksēti, tas nozīmē, ka 942 00:43:43,360 --> 00:43:47,730 MySQL vai Oracle, vai kāds datu bāzes jūs izmantojat, vajadzētu strādāt tās burvju 943 00:43:47,730 --> 00:43:51,300 un izmantot kādu no iedomātā datu struktūra, piemēram, koka, vai Trie, vai arī 944 00:43:51,300 --> 00:43:55,940 hash tabulu, vai kaut ko, lai garantētu ka tad, kad jūs meklēt informāciju, izmantojot 945 00:43:55,940 --> 00:43:58,150 izvēlēties šajā konkrētajā jomā - 946 00:43:58,150 --> 00:44:01,310 tāpat kā man parādīt visiem, ka dzīvo uz Oxford Street. 947 00:44:01,310 --> 00:44:02,540 Vaicājumu, piemēram, ka. 948 00:44:02,540 --> 00:44:06,250 Ja esat norādījis iepriekš, ka Jūs vēlaties indeksu šajā jomā, 949 00:44:06,250 --> 00:44:09,050 meklējumi būs daudz, daudz ātrāk. 950 00:44:09,050 --> 00:44:12,090 >> Ja jums nav jānorāda indeksu, labākais jūs varat darīt, ir lineāra meklēšanu, ja 951 00:44:12,090 --> 00:44:13,030 tas nav sakārtots. 952 00:44:13,030 --> 00:44:16,220 Bet, ja jūs norādāt indeksu, smart cilvēki, kuri izgatavoti datubāzi - 953 00:44:16,220 --> 00:44:19,340 cilvēki kā jūs, kas tagad zina kokus un cenšas un hash galdi - 954 00:44:19,340 --> 00:44:23,220 automātiski izveidot šādu datu struktūra RAM, lai pārliecinātos, ka 955 00:44:23,220 --> 00:44:26,050 šie meklējumi ir daudz ātrāk. 956 00:44:26,050 --> 00:44:29,660 >> Fulltext tikmēr ir līdzīga pēc būtības, bet ļauj jums darīt zvaigznīti 957 00:44:29,660 --> 00:44:35,480 meklējumi, piemēram, parādiet man visiem, ka dzīvo uz ielas, kas sākas ar 958 00:44:35,480 --> 00:44:36,960 burtu O kāda iemesla dēļ. 959 00:44:36,960 --> 00:44:38,850 Jūs varat darīt aizstājējzīmes meklēšanu piemēram, ka. 960 00:44:38,850 --> 00:44:45,880 Vai vairāk pārliecinoši lietām, piemēram, liecina, man visi, kas ir vārds - 961 00:44:45,880 --> 00:44:49,400 parādiet man ikvienu, kura vārds sākas ar konkrētu burtu. 962 00:44:49,400 --> 00:44:51,880 Jūs varat meklēt atslēgvārdus šādā veidā. 963 00:44:51,880 --> 00:44:52,630 Labi. 964 00:44:52,630 --> 00:44:55,760 >> Tātad, dizaina iespējas tur iespējams. 965 00:44:55,760 --> 00:44:57,740 Ir citi, kas es ņemšu vilnis savu roku pie. 966 00:44:57,740 --> 00:45:00,530 Izrādās, ka jūs varat būt dažādi glabāšanas dzinējiem. 967 00:45:00,530 --> 00:45:04,390 Un tas ir vairāk mistisks, nekā mums vajag protams, par problēmu noteikti septiņi. 968 00:45:04,390 --> 00:45:06,920 Pēc noklusējuma, jūs guys izmantojat kaut ko sauc InnoDB. 969 00:45:06,920 --> 00:45:10,910 Jūs redzēsiet nepieminēja šo kaut kur phpMyAdmin saskarne visticamāk. 970 00:45:10,910 --> 00:45:14,130 Bet zinu, ka ir arī citi dizains lēmumi, kas ir potenciāls 971 00:45:14,130 --> 00:45:18,030 procenti nāk galīgo projektu, ja jūs kaut ko darīt tīmekļa. 972 00:45:18,030 --> 00:45:19,330 >> Bet pieņemsim to izdarītu. 973 00:45:19,330 --> 00:45:23,130 Iesim uz priekšu un nodot to tālāk ekrāns kā teaser par stāstu 974 00:45:23,130 --> 00:45:26,330 iesaistot jums, kaimiņiem, un glāzi piena. 975 00:45:26,330 --> 00:45:28,240 Paņemsim divas minūti vai arī tā pauze šeit. 976 00:45:28,240 --> 00:45:31,060 Un, ja jūs varat stick apkārt, pieņemsim nāk atpakaļ, izskatās nedaudz vairāk par SQL, un 977 00:45:31,060 --> 00:45:35,160 tad mazliet JavaScript ar p-noteikti astoņi prātā. 978 00:45:35,160 --> 00:45:36,120 >> Labi. 979 00:45:36,120 --> 00:45:40,420 Tātad, pieņemsim nokļūt jūs domājat par stūra gadījums, kas var ļoti viegli rasties 980 00:45:40,420 --> 00:45:44,240 kontekstā, izmantojot datu bāzi, vai godīgi sakot, pat izmantojot reālās pasaules lietas 981 00:45:44,240 --> 00:45:46,280 piemēram, bankomātu, lai saņemtu naudu. 982 00:45:46,280 --> 00:45:47,640 Tātad, šeit ir ledusskapis. 983 00:45:47,640 --> 00:45:50,040 Pieņemsim, ka jūs esat ieguvuši vienu pārāk Jūsu kopmītnes vai jūsu māja. 984 00:45:50,040 --> 00:45:54,990 Un tev viens kaimiņiem, un abi Jums tiešām patīk pienu piemēram. 985 00:45:54,990 --> 00:45:57,210 >> Tātad jūs nākt mājās no klases vienu dienu. 986 00:45:57,210 --> 00:45:58,490 Viņš vai viņa vēl nav atpakaļ. 987 00:45:58,490 --> 00:45:59,180 Atverot ledusskapi. 988 00:45:59,180 --> 00:46:00,870 Jūs tiešām vēlaties lielu glāzi piena. 989 00:46:00,870 --> 00:46:01,820 Nav pienu. 990 00:46:01,820 --> 00:46:02,920 Tātad, ko jūs darīt? 991 00:46:02,920 --> 00:46:03,840 Aizverot ledusskapis. 992 00:46:03,840 --> 00:46:04,670 Jūs greifers atslēgas. 993 00:46:04,670 --> 00:46:05,930 Jūs iet laukumā. 994 00:46:05,930 --> 00:46:09,240 Un jums rindā pie CVS tiem, pašapkalpošanās kases lietas, kas vienmēr 995 00:46:09,240 --> 00:46:11,180 nepieciešams ilgāks laiks, nekā patiesībā ar kasieri. 996 00:46:11,180 --> 00:46:11,820 Tik un tā. 997 00:46:11,820 --> 00:46:15,490 >> Tātad, tikmēr, dot dot dot, savu kaimiņiem nāk mājās, un viņš vai viņa 998 00:46:15,490 --> 00:46:17,440 līdzīgi ir ilgas kādu pienu. 999 00:46:17,440 --> 00:46:20,380 Lai viņš vai viņa atver ledusskapi, izskatās iekšā, un oh, damn. 1000 00:46:20,380 --> 00:46:21,160 Nē pienu. 1001 00:46:21,160 --> 00:46:24,750 Lai viņš vai viņa galvu, kas, notiek, lai iet pārējām CVS, kas ir tikai 1002 00:46:24,750 --> 00:46:27,900 bloķēt prom kādu iemeslu dēļ, un viņš vai viņa izpaužas rindā, lai nopirktu pienu. 1003 00:46:27,900 --> 00:46:30,480 >> Tajā pašā laikā, jūs nākt mājās, viņš vai viņa nāk mājās, un kādi darīt 1004 00:46:30,480 --> 00:46:31,980 Jūs galu galā ir? 1005 00:46:31,980 --> 00:46:33,080 Divreiz tik daudz piena. 1006 00:46:33,080 --> 00:46:34,620 Bet jums nav patiešām patīk pienu, ka daudz. 1007 00:46:34,620 --> 00:46:37,300 Tātad, tagad jums ir tik daudz piena, ka tagad viens no tiem ir tikai gatavojas iet skābs 1008 00:46:37,300 --> 00:46:37,820 galu galā. 1009 00:46:37,820 --> 00:46:39,370 Tāpēc tas ir ļoti slikti problēma. 1010 00:46:39,370 --> 00:46:39,900 Tiesības? 1011 00:46:39,900 --> 00:46:41,990 >> Tātad, kas ir noticis? 1012 00:46:41,990 --> 00:46:44,810 Tātad būtībā, tas ir sava veida par smieklīgu piemēru. 1013 00:46:44,810 --> 00:46:48,580 Bet zem motora pārsega, ko mēs esam bija notiek šeit ir jums abiem pārbaudīts 1014 00:46:48,580 --> 00:46:52,390 stāvokli kādu gabals atmiņa, ledusskapis. 1015 00:46:52,390 --> 00:46:54,420 Jums abiem pārbauda valsts dažu mainīgo. 1016 00:46:54,420 --> 00:46:57,360 Jūs abi izdarīja secinājumu ka jūs pēc tam darbojās. 1017 00:46:57,360 --> 00:47:01,420 Bet, diemžēl, kamēr jūsu kaimiņiem bija veikalā, valsts, kas 1018 00:47:01,420 --> 00:47:05,670 mainīgais mainījies, viņš atgriezās un tagad grib, lai mainītu valsts, bet 1019 00:47:05,670 --> 00:47:07,480 tas jau ir mainīts par viņa vai viņas. 1020 00:47:07,480 --> 00:47:11,120 Un, protams, viņš vai viņa nebūtu devusies uz veikalu, ja viņi zināja 1021 00:47:11,120 --> 00:47:13,010 ka jums jau bija ceļā. 1022 00:47:13,010 --> 00:47:16,430 >> Tātad reālajā pasaulē, kā jūs varētu izvairītos no šīs problēmas, pieņemot, ka jums ir 1023 00:47:16,430 --> 00:47:18,940 ledusskapis, jums ir kaimiņiem, un jūs tiešām vēlaties pienu? 1024 00:47:18,940 --> 00:47:19,760 >> Mērķauditorija: Komunikācija. 1025 00:47:19,760 --> 00:47:20,580 >> DAVID Malan: Komunikācija. 1026 00:47:20,580 --> 00:47:21,160 Labi. 1027 00:47:21,160 --> 00:47:22,500 Bet kā jūs varētu sazināties? 1028 00:47:22,500 --> 00:47:23,990 >> Mērķauditorija: Atstājiet piezīmi. 1029 00:47:23,990 --> 00:47:25,480 >> DAVID Malan: Atstājiet piezīmi, labi? 1030 00:47:25,480 --> 00:47:28,025 Vienmēr atstājiet piezīmi, lai faniem parādīt. 1031 00:47:28,025 --> 00:47:31,580 Labi, tāpēc vienmēr atstāt piezīmi, vai likts patiešām patīk piekaramo atslēgu vai kaut ko 1032 00:47:31,580 --> 00:47:35,440 uz ledusskapja, kas saglabā jūsu kaimiņiem no pārbaudīt stāvokli 1033 00:47:35,440 --> 00:47:36,540 ka mainīgais. 1034 00:47:36,540 --> 00:47:40,800 >> Tagad, kāpēc, iespējams, tas ir piederīgs Problēma noteikti septiņi, vai uz bankomātiem. 1035 00:47:40,800 --> 00:47:46,780 Nu, iedomājieties pasauli bankomāta, kur Jūs varētu aiziet līdz ATM 1036 00:47:46,780 --> 00:47:48,920 mašīna šeit, un vēl ATM šeit. 1037 00:47:48,920 --> 00:47:50,680 Un tas notiek diezgan bieži. 1038 00:47:50,680 --> 00:47:54,150 Un pieņemsim, ka jums bija divas ATM kartes, kas ir iespējams iegūt. 1039 00:47:54,150 --> 00:47:57,420 Un jūs piesakāties gan mašīnas efektīvi vienlaicīgi, cerams 1040 00:47:57,420 --> 00:47:58,660 bet neviens meklē. 1041 00:47:58,660 --> 00:48:01,260 Un tad jūs ierakstiet PIN aptuveni vienlaicīgi. 1042 00:48:01,260 --> 00:48:06,280 Un tad jūs līdzsvaru vaicājumu redzēt, cik daudz naudas jums ir. 1043 00:48:06,280 --> 00:48:08,920 Un pieņemsim, ka jums ir 100 $ palicis jūsu kontā. 1044 00:48:08,920 --> 00:48:13,310 Tātad būtībā vienlaicīgi, jūs saka viens, nulle, nulle, ievadiet. 1045 00:48:13,310 --> 00:48:16,000 Un jūs, cerams, saņemt atpakaļ naudu. 1046 00:48:16,000 --> 00:48:18,440 >> Bet cik daudz naudas jūs varētu saņemt atpakaļ? 1047 00:48:18,440 --> 00:48:21,710 Tagad datori beigās dienā, it īpaši, ja viņi runā ar 1048 00:48:21,710 --> 00:48:27,360 serveri, ne vienmēr darīt lietas tādā kārtībā, kas ir sagaidāms. 1049 00:48:27,360 --> 00:48:30,860 >> Tātad, pieņemsim, ka tas, kas notiek, jo neatkarīgi no tīkla ātruma jautājumiem tur 1050 00:48:30,860 --> 00:48:34,530 ir vai CPU jautājumiem ir, vai kaut kas līdzīgs, ka, pieņemsim, ka 1051 00:48:34,530 --> 00:48:38,530 Pirmais ATM pārbauda līdzsvaru un redz, ak, šī persona ir $ 100. 1052 00:48:38,530 --> 00:48:41,840 Bet tad kļūst apjucis, jo varbūt backup notiek, un tāpēc ir 1053 00:48:41,840 --> 00:48:42,500 palēninot. 1054 00:48:42,500 --> 00:48:45,080 Vai varbūt vienlaikus pārbaudot, tīklu savienojums ieguva nedaudz lēnāk, jo 1055 00:48:45,080 --> 00:48:45,910 tas vienkārši notiek. 1056 00:48:45,910 --> 00:48:47,100 Viņi fiziskās ierīces. 1057 00:48:47,100 --> 00:48:49,330 Tātad tikmēr, otrais ATM ir lūdzot to pašu jautājumu. 1058 00:48:49,330 --> 00:48:53,030 Cik daudz naudas tas Dāvids ir? 100 $ ir atbilde. 1059 00:48:53,030 --> 00:48:58,930 Bet tāpēc, ka pirmais bankomāts vēl nav nosūtīts ziņojums atņemt 100 $, gan 1060 00:48:58,930 --> 00:49:03,000 Bankomāti ir pārbaudīti bankas glabātuves redzot tur ir $ 100 tur, un tagad 1061 00:49:03,000 --> 00:49:07,160 abas mašīnas potenciāli ir būs izspļaut atbildi. 1062 00:49:07,160 --> 00:49:12,240 >> Tagad tas ir liels jums kaut kādā ziņā ja tas, ko bankas dara, galu galā 1063 00:49:12,240 --> 00:49:17,200 ir mainīt summu līdz mīnus 100 līdz Nosakot mainīgais ir vienāds ar savu 1064 00:49:17,200 --> 00:49:21,570 bankas konts, kas vienāds ar 0, pretstatā darīt mīnus 100. 1065 00:49:21,570 --> 00:49:24,410 Tagad sliktākajā gadījumā par banku - 1066 00:49:24,410 --> 00:49:27,470 vai labāko banku, tikmēr, viņi jums $ 200, un 1067 00:49:27,470 --> 00:49:31,690 jūsu bankas kontā tagad rāda negatīvu $ 100, kas patiešām nav 1068 00:49:31,690 --> 00:49:32,950 labumu jums vispār. 1069 00:49:32,950 --> 00:49:36,500 Bet ir tas, ka šis skrējiens nosacījums divas roommates kļūst 1070 00:49:36,500 --> 00:49:40,660 piens vai diviem bankomātiem cenšas iegūt naudu un mainīt stāvokli velvēt 1071 00:49:40,660 --> 00:49:44,510 vienlaicīgi pastāv jebkuru reizi, jums ir datu bāze. 1072 00:49:44,510 --> 00:49:48,290 >> Tagad problēma noteikti septiņi, šis jautājums rodas tādā nozīmē, ka, ja jūs pērkat 1073 00:49:48,290 --> 00:49:52,110 daļa Facebook krājumu, un tad Piemēram, jūs iegādāties otru daļu 1074 00:49:52,110 --> 00:49:55,160 Facebook akciju, jums ir nepieciešams veikt lēmums, kā programmētājs. 1075 00:49:55,160 --> 00:49:58,710 Lai izlemtu, kā atjaunināt datu bāzes, izredzes ir jūs gatavojas 1076 00:49:58,710 --> 00:50:02,250 ir viena rinda šo krājumu, un tas ir viens veids, kā to īstenot. 1077 00:50:02,250 --> 00:50:06,640 Un jūs gatavojas, lai būtu viena daļa FB, kas ir to akciju biržas simbols 1078 00:50:06,640 --> 00:50:10,120 Šim lietotājvārdu vai lietotāju ID, unikāls identifikators. 1079 00:50:10,120 --> 00:50:12,340 >> Bet pats stāsts var notikt šeit. 1080 00:50:12,340 --> 00:50:15,800 Ja jūs izvēlaties SQL, kā jūs redzēsiet jo problēma noteikti septiņi, kad jūs redzat, 1081 00:50:15,800 --> 00:50:18,460 ak, Deivids ir viena daļa no Facebook noliktavā. 1082 00:50:18,460 --> 00:50:23,240 Ļaujiet man tagad mainīt, ir divas daļas, jo viņš vēlas pirkt 1083 00:50:23,240 --> 00:50:24,120 Otrā daļa. 1084 00:50:24,120 --> 00:50:27,860 Bet pieņemsim, ka Dāvids faktiski bija divi pārlūkprogrammas logus atvērt, vai pieņemsim, ka 1085 00:50:27,860 --> 00:50:32,150 tas ir kopīgs konts ar abu laulāto, un viņi abi mēģina veikt 1086 00:50:32,150 --> 00:50:36,770 pati darbība, tur, too, pastāv potenciāls lēmumam būtu 1087 00:50:36,770 --> 00:50:39,670 veic, pamatojoties uz iepriekšējā valsts pasaulē - 1088 00:50:39,670 --> 00:50:41,290 kontā ir viena daļa - 1089 00:50:41,290 --> 00:50:45,630 un abi cilvēki, vai abiem serveriem, tagad mēģināt teikt pieauguma to divās daļās. 1090 00:50:45,630 --> 00:50:49,020 Bet šajā gadījumā, iespējams, ir jāmaksā man nauda gan akcijām, bet 1091 00:50:49,020 --> 00:50:50,830 pieaudzis tikai šo vienu reizi. 1092 00:50:50,830 --> 00:50:54,730 >> Tātad īsumā, pamatproblēma Šeit, tāpat kā joks par aizbraukšanu 1093 00:50:54,730 --> 00:50:58,750 ņemiet vērā, vai liekot atslēga uz to, ir ja divi cilvēki, vai divas tēmas - 1094 00:50:58,750 --> 00:50:59,930 domāju, ka atpakaļ uz nulles - 1095 00:50:59,930 --> 00:51:03,220 var pārbaudīt stāvokli dažu mainīgo un tad mēģināt mainīt šo mainīgo, 1096 00:51:03,220 --> 00:51:07,950 bet šīs divas lietas nav notikt Tajā pašā laikā, bet var iegūt pārtraukta 1097 00:51:07,950 --> 00:51:11,500 citas lietas notiek, dati var nokļūt ļoti dīvaini stāvoklī. 1098 00:51:11,500 --> 00:51:15,450 Un jūs varat izmantot, vai jūs varat ciest izpratnē naudas piemērs. 1099 00:51:15,450 --> 00:51:18,110 >> Tātad problēma noteikti septiņi, mēs jums šo vienu rindiņu kodu, kas ilgs 1100 00:51:18,110 --> 00:51:21,000 stāsts īss, atrisina šo problēma MySQL. 1101 00:51:21,000 --> 00:51:24,950 Tas ir ļoti garš norādījums, ka nav pat ietilptu vienā rindā uz 1102 00:51:24,950 --> 00:51:30,370 screen šeit nodrošina, ka jūsu darbība ir tas, ko sauc par atomu. 1103 00:51:30,370 --> 00:51:33,720 Tas viss notiek uzreiz, vai tā nenotiek vispār. 1104 00:51:33,720 --> 00:51:37,530 Šis ļoti ilgi frāze nevar get pārtraukta daļēji. 1105 00:51:37,530 --> 00:51:39,840 >> Un ko tā dara, ir burtiski ko tā saka. 1106 00:51:39,840 --> 00:51:44,200 Ievietot kādu tabulā pēc trīs lauki šīs īpašās vērtības, 1107 00:51:44,200 --> 00:51:47,280 bet dublikātu atslēgas, nedariet ieliktni. 1108 00:51:47,280 --> 00:51:48,280 Do atjauninājumu. 1109 00:51:48,280 --> 00:51:52,450 Tātad tas ir, piemēram, darot SELECT un INSERT tā sakot, tajā pašā laikā. 1110 00:51:52,450 --> 00:51:55,150 Un kas ir galvenais, tas ir iespējams, tiek minēts šeit? 1111 00:51:55,150 --> 00:51:58,300 1112 00:51:58,300 --> 00:52:01,380 >> Izrādās, un jūs redzēsiet to Problēma noteikti SEVEN ir spec, jo 1113 00:52:01,380 --> 00:52:06,040 mēs esam deklarēti, lai būtu unikāla atslēga par šo konkrēto galda tā, ka 1114 00:52:06,040 --> 00:52:08,480 Jūs nevarat būt vairākas rindas tajā pašā lietotājs ar 1115 00:52:08,480 --> 00:52:10,150 pats penss krājumu simbols - 1116 00:52:10,150 --> 00:52:13,780 šajā piemērā šeit, DVN.V ir dumjš penss krājumu, ka mēs 1117 00:52:13,780 --> 00:52:14,980 attiecas uz spec. 1118 00:52:14,980 --> 00:52:17,860 Jo mēs esam atzinusi, ka tā ir unikāls, ko tas nozīmē, ka, ja jūs 1119 00:52:17,860 --> 00:52:23,580 mēģināt ievietot dublikātu rindu, tu esi vietā, gatavojas atjaunināt bez 1120 00:52:23,580 --> 00:52:27,020 kāds cits, kam ir iespēja mainīt valsts pasaulē, vai nu. 1121 00:52:27,020 --> 00:52:29,400 Tātad īsi sakot, tas nodrošina lietas ir atomu. 1122 00:52:29,400 --> 00:52:32,530 >> Plašākā nozīmē, lai gan, datu bāzes piemēram, MySQL - 1123 00:52:32,530 --> 00:52:35,460 un jums nav nepieciešams šo funkciju p-noteikti septiņi, bet paturēt to prātā 1124 00:52:35,460 --> 00:52:36,200 nākotne - 1125 00:52:36,200 --> 00:52:38,870 atbalstīt to, ko sauc par darījumiem, kur jūs varat teikt 1126 00:52:38,870 --> 00:52:40,990 START DARĪJUMS burtiski. 1127 00:52:40,990 --> 00:52:43,270 Tad jūs varat izpildīt divas SQL. 1128 00:52:43,270 --> 00:52:45,710 Un SQL, kā jūs redzēsiet P-komplekts septiņi, izskatās nedaudz 1129 00:52:45,710 --> 00:52:46,750 kaut kas līdzīgs šim. 1130 00:52:46,750 --> 00:52:48,820 Atjaunināt tabulas sauc kontu. 1131 00:52:48,820 --> 00:52:52,550 Uzstādīt līdzsvaru kolonnu vienāds neatkarīgi bilance kolonna pašlaik 1132 00:52:52,550 --> 00:52:57,280 ir mīnus 1000, ja skaitlis, konta numurs, piemēram, lietotāja ID, 1133 00:52:57,280 --> 00:53:00,830 ir vienāds ar 2, un pēc tam atjaunināt konts dot dot dot. 1134 00:53:00,830 --> 00:53:04,350 >> Tāpēc lajs izteiksmē, ko darīt, šie divi jautājumus, šķiet, ir dara 1135 00:53:04,350 --> 00:53:05,840 reālās pasaules izjūta banku? 1136 00:53:05,840 --> 00:53:07,440 >> Mērķauditorija: Došanās ietaupījumus. 1137 00:53:07,440 --> 00:53:08,020 >> DAVID Malan: Tieši tā. 1138 00:53:08,020 --> 00:53:10,470 Pārceļot līdzekļus no viena konta uz otru. 1139 00:53:10,470 --> 00:53:14,400 Un tas ir vēl viens piemērs, kur jūs patiešām vēlamies šīs divas lietas, kas notiek 1140 00:53:14,400 --> 00:53:15,570 vai nenotiek. 1141 00:53:15,570 --> 00:53:18,880 Jūs nevēlaties kaut ko saņemt no tām vidū un, iespējams, izjaukt 1142 00:53:18,880 --> 00:53:22,220 math, vai izjaukt, cik daudz naudas jums ir, vai cik daudz 1143 00:53:22,220 --> 00:53:23,170 nauda banka. 1144 00:53:23,170 --> 00:53:26,890 Tātad, kas ir patiešām jauka par darījumiem MySQL ir tas, ka, un 1145 00:53:26,890 --> 00:53:30,160 datubāzes plašākā nozīmē, ka viņi un gudri cilvēki, kas esmu īstenoti 1146 00:53:30,160 --> 00:53:33,670 šie līdzekļi izdomāt, kā padarīt pārliecinieties, ka abas šīs lietas notiek 1147 00:53:33,670 --> 00:53:35,120 vai nav vispār. 1148 00:53:35,120 --> 00:53:38,580 >> Un, ja jūs patiešām cenšas darīt mājas lapu, kas ir izmantots, ko cilvēki par 1149 00:53:38,580 --> 00:53:41,490 Campus, cilvēki reālajā pasaulē, darot kaut starta nozīmē, 1150 00:53:41,490 --> 00:53:43,300 šīs ir veidi dizains lēmumus, kas 1151 00:53:43,300 --> 00:53:45,020 kļuvis kādreiz tik svarīgi. 1152 00:53:45,020 --> 00:53:48,240 Pretējā gadījumā jūs sākat zaudēt datus, zaudē lietotājiem, vai sliktākajā gadījumā, kā 1153 00:53:48,240 --> 00:53:51,800 mēs esam redzējuši šeit, iespējams, zaudēt naudu. 1154 00:53:51,800 --> 00:53:56,180 Tātad vēlreiz, vairāk par to problēmu noteikts seven, kā arī, iespējams, dažiem no 1155 00:53:56,180 --> 00:53:57,530 jums gala projektu. 1156 00:53:57,530 --> 00:54:01,870 >> Tā ļauj mainīt šo priekšstatu, mums bija pirms brīža tikai vēl viens veids. 1157 00:54:01,870 --> 00:54:04,070 Tāpēc ļaujiet man patiešām redzēt, ja es varu - 1158 00:54:04,070 --> 00:54:06,030 Nē, tas ir pagājis. 1159 00:54:06,030 --> 00:54:06,690 Tur tas ir. 1160 00:54:06,690 --> 00:54:09,020 >> Tātad, tas ir, ja mēs atstājām pēdējo reizi. 1161 00:54:09,020 --> 00:54:12,390 Un izrādās, mēs ejam mētāt vēl viena lieta, uz sajauc šeit - 1162 00:54:12,390 --> 00:54:14,510 valoda sauc JavaScript. 1163 00:54:14,510 --> 00:54:18,060 Tāpēc JavaScript faktiski der šajā gabalā - 1164 00:54:18,060 --> 00:54:22,086 un man nebija gluži atstāt pietiekami daudz vietas, tāpēc tas nav tagad mērogā. 1165 00:54:22,086 --> 00:54:23,900 OK, tas ir patiešām nožēlojami. 1166 00:54:23,900 --> 00:54:27,075 Labi, tā ka ir JavaScript. 1167 00:54:27,075 --> 00:54:27,340 Labi. 1168 00:54:27,340 --> 00:54:28,760 Es esmu patiešām dara to lāča. 1169 00:54:28,760 --> 00:54:29,390 Labi. 1170 00:54:29,390 --> 00:54:34,790 >> Tāpēc JavaScript ir cita programmēšanas valodu, un mūsu pēdējā, ja tas palīdz 1171 00:54:34,790 --> 00:54:37,770 pārliecināt, ka tur nav daudz vairāk no ugunsdzēsības hidrantu šeit. 1172 00:54:37,770 --> 00:54:41,100 Tāpēc JavaScript ir interpretējams valoda, kas nozīmē, jums nav 1173 00:54:41,100 --> 00:54:42,670 sastādīt to nuļļu un vieninieku. 1174 00:54:42,670 --> 00:54:43,690 Jūs vienkārši palaist to. 1175 00:54:43,690 --> 00:54:47,680 Bet kas ir būtiski atšķiras ar JavaScript parasti ir tā, ka jums 1176 00:54:47,680 --> 00:54:49,815 nav palaist to uz jūsu tīmekļa servera. 1177 00:54:49,815 --> 00:54:52,570 Tā nesaņem palaist ierīce per se. 1178 00:54:52,570 --> 00:54:57,490 Drīzāk, tas izpaužas lejupielādēt lietotājs izmantojot HTTP savā pārlūkprogrammā - 1179 00:54:57,490 --> 00:55:00,260 Chrome, Safari, Internet Explorer, Firefox, vienalga - 1180 00:55:00,260 --> 00:55:03,860 un tas ir pārlūks, kas izpilda šo īpaši programmēšanas valodu. 1181 00:55:03,860 --> 00:55:08,000 >> Tātad, lai būtu skaidrs, PHP līdz šim ir bijis izpildīts vai nu komandrindas 1182 00:55:08,000 --> 00:55:11,290 Mūsu melnā un baltā krāsā logu, uz servera piemēram, iekārtas, datoru 1183 00:55:11,290 --> 00:55:14,490 patīk ierīci, vai tas ir bijis izpildīts ar tīmekļa serveri 1184 00:55:14,490 --> 00:55:15,860 darbojas uz datora. 1185 00:55:15,860 --> 00:55:20,490 Bet tēma ir tāda, ka PHP līdz šim ir izpildīts servera pusē, tāpēc 1186 00:55:20,490 --> 00:55:24,820 lietotāja un lietotāja pārlūks nekad redz līnijas PHP kodu. 1187 00:55:24,820 --> 00:55:28,530 >> Patiesībā, ja jūs kādreiz atvērt pārlūkprogrammu jūsu mājas lapā vai citu, un jūs 1188 00:55:28,530 --> 00:55:32,400 faktiski redzēt PHP kodu savā logā, kāds ir ieskrūvē augšu. 1189 00:55:32,400 --> 00:55:34,950 Tāpēc, ka tas nav domāts, lai būtu nosūtīts uz pārlūku tieši. 1190 00:55:34,950 --> 00:55:38,150 Tas ir jāpilda, un pagriezās par kaut ko, piemēram, HTML. 1191 00:55:38,150 --> 00:55:40,120 >> Bet JavaScript būtībā pretējo. 1192 00:55:40,120 --> 00:55:44,350 Tas ir domāts, lai būtu palaist parasti iekšpusē no lietotāja pārlūka logā. 1193 00:55:44,350 --> 00:55:46,840 Un kāda veida tīmekļa vietnes izmanto JavaScript tad šajās dienās? 1194 00:55:46,840 --> 00:55:49,640 1195 00:55:49,640 --> 00:55:52,180 >> Tāpat kā burtiski katras tautas mājas lapā. 1196 00:55:52,180 --> 00:55:55,430 Katru mājas lapā, ka jūs guys, iespējams, izmantot ikdienā izmantot JavaScript 1197 00:55:55,430 --> 00:55:57,330 Vienkāršākais un pat sexiest funkcijas. 1198 00:55:57,330 --> 00:55:59,800 >> Tātad, kaut kas līdzīgs Facebook Chat, ja jūs izmantojat to. 1199 00:55:59,800 --> 00:56:01,040 Kā tas, kas faktiski strādā? 1200 00:56:01,040 --> 00:56:05,090 Nu līdz šim, visi sīkumi mēs esam darīts ar HTML un PHP pieņem, ka 1201 00:56:05,090 --> 00:56:08,750 Jūs uzvilkt URL, un jūs hit Enter, un jūs redzat kādu HTML saturu. 1202 00:56:08,750 --> 00:56:11,970 Un jūs noklikšķiniet uz saites, kas maina URL, maina lapu un pildījumiem 1203 00:56:11,970 --> 00:56:12,740 kādu jaunu saturu. 1204 00:56:12,740 --> 00:56:16,340 Noklikšķiniet uz citu URL, vai iesniegt veidlapu, get whisked uz citu lapu un 1205 00:56:16,340 --> 00:56:17,420 jūs redzat kādu jaunu saturu. 1206 00:56:17,420 --> 00:56:22,710 >> Bet, izmantojot kaut ko līdzīgu Facebook Chat, vai Gchat, vai Google Maps, reti 1207 00:56:22,710 --> 00:56:27,350 tas visu lapu atsvaidzināt tāds, ka redzat balts ekrāns uz brīdi un 1208 00:56:27,350 --> 00:56:28,470 Pēc tam jaunu saturu. 1209 00:56:28,470 --> 00:56:32,610 Drīzāk, mājas lapas šodien ir dinamiski kļūst atjaunināts atkal un 1210 00:56:32,610 --> 00:56:35,570 atkal un atkal visu veida no aizkulisēs. 1211 00:56:35,570 --> 00:56:38,560 Un izrādās, ka tad, kad jūs iet uz kaut ko, piemēram, Facebook, vai Gchat, 1212 00:56:38,560 --> 00:56:43,050 vai Gmail, un lapas atjauninājumus automātiski, bez pārkraušanas 1213 00:56:43,050 --> 00:56:47,630 viss ekrāns, kas ir noticis, ir tas, ka Jūsu pārlūkprogrammā ir izgatavots veida slepeni 1214 00:56:47,630 --> 00:56:49,410 papildu HTTP pieprasījumus - 1215 00:56:49,410 --> 00:56:52,740 nevis uz visām mājas lapas, bet tikai maz gabalos datu, piemēram, 1216 00:56:52,740 --> 00:56:55,740 tērzēšanas ziņu, ka jūsu draugs tikko Tevi, vai statusa atjauninājumu, kas 1217 00:56:55,740 --> 00:56:58,210 kāds tikko nosūtīju jums, vai čivināt ka kāds tikko nosūtīju. 1218 00:56:58,210 --> 00:57:02,120 Tas ir tikai padarot maz pieprasījumus dati, un tad, izmantojot JavaScript, šis 1219 00:57:02,120 --> 00:57:06,370 programmēšanas valodu, lai mainītu to, ko mājas lapa izskatās bez 1220 00:57:06,370 --> 00:57:09,860 serveris palīdzot, bez servera radot šo HTML. 1221 00:57:09,860 --> 00:57:13,820 >> Tātad īsumā, JavaScript var tikt izmantotas, tad ne tikai ielādēt jaunus datus no 1222 00:57:13,820 --> 00:57:16,750 servera bez pārkraušanas visu lapā vai iesniedzot veidlapu. 1223 00:57:16,750 --> 00:57:20,060 To var arī izmantot, lai mainītu ts DOM - 1224 00:57:20,060 --> 00:57:21,520 dokumenta objekta modelis - 1225 00:57:21,520 --> 00:57:24,620 kas ir tikai iedomātā veids sakot koku HTML 1226 00:57:24,620 --> 00:57:26,220 ka mēs redzējām pēdējo reizi. 1227 00:57:26,220 --> 00:57:31,640 >> Tātad, lai nomierinātu JavaScript ir sintaktiski tik līdzīgs C, kā arī. 1228 00:57:31,640 --> 00:57:32,820 Nav galvenā funkcija. 1229 00:57:32,820 --> 00:57:35,430 Jūs vienkārši sākt rakstīt kodu un tas saņems izpildīts, vai 1230 00:57:35,430 --> 00:57:36,900 interpretē pareizi. 1231 00:57:36,900 --> 00:57:38,660 Nosacījumi izskatīsies šādi. 1232 00:57:38,660 --> 00:57:41,230 Nav atšķirīga no C vai PHP par šo jautājumu. 1233 00:57:41,230 --> 00:57:43,890 Būla izteiksmes vai-ed kopā izskatās šādi. 1234 00:57:43,890 --> 00:57:45,590 Anded kopā izskatās šādi. 1235 00:57:45,590 --> 00:57:47,750 >> Slēdži izskatīsies šādi. 1236 00:57:47,750 --> 00:57:49,440 Par cilpas izskatīsies šādi. 1237 00:57:49,440 --> 00:57:51,060 Kaut arī cilpas izskatīsies šādi. 1238 00:57:51,060 --> 00:57:53,316 Darīt, kamēr cilpas izskatīsies šādi. 1239 00:57:53,316 --> 00:57:54,780 >> Tas ir jauns. 1240 00:57:54,780 --> 00:57:58,753 Tātad JavaScript ir nevis foreach būvēt per se, bet būvēt 1241 00:57:58,753 --> 00:58:03,870 par mainīgo i ar masīva, un es šajā lieta kļūst indeksa vērtība. 1242 00:58:03,870 --> 00:58:06,880 Tātad, tas ir nedaudz atšķiras no foreach, gan jaunas versijas 1243 00:58:06,880 --> 00:58:10,280 JavaScript nāk no visu laiku, tāpēc pat tie valoda funkcijas 1244 00:58:10,280 --> 00:58:10,880 attīstās. 1245 00:58:10,880 --> 00:58:16,920 >> Un kā malā, JavaScript šajās dienās var izmantot arī uz serveri, tāpat kā 1246 00:58:16,920 --> 00:58:19,920 PHP, izmantojot sistēmu, ko sauc Node.js. 1247 00:58:19,920 --> 00:58:24,670 Viens no CS50 ir TFS, Kevin, ir izraisījusi seminārs par Node.js, kas ir pieejami 1248 00:58:24,670 --> 00:58:26,440 cs50.net/seminars. 1249 00:58:26,440 --> 00:58:28,830 Tātad, ja jūs esat ieinteresēti, zinu, ka tu var izmantot šo uz servera pusē, kā 1250 00:58:28,830 --> 00:58:33,870 labi, bet tas ir diezgan nesena tendence, bet jaudīgu tajā. 1251 00:58:33,870 --> 00:58:35,270 >> Tas ir nedaudz atšķirīgs. 1252 00:58:35,270 --> 00:58:37,910 Tas ir masīvs JavaScript. 1253 00:58:37,910 --> 00:58:40,115 Un ko streiki jūs kā atšķiras pret C vai PHP? 1254 00:58:40,115 --> 00:58:43,890 1255 00:58:43,890 --> 00:58:47,420 Ir daži ātri stāsti mēs varam pateikt šeit. 1256 00:58:47,420 --> 00:58:49,367 Kas trūkst pret PHP? 1257 00:58:49,367 --> 00:58:51,652 >> Mērķauditorija: [nedzirdama]. 1258 00:58:51,652 --> 00:58:52,110 >> DAVID Malan: Jā? 1259 00:58:52,110 --> 00:58:53,322 Atvainojiet, vēlreiz saku? 1260 00:58:53,322 --> 00:58:54,740 >> Mērķauditorija: Nav deklarējot tipa mainīgais. 1261 00:58:54,740 --> 00:58:56,390 >> DAVID Malan: Mēs nedeklarējot tipa mainīgais. 1262 00:58:56,390 --> 00:58:59,630 Tātad faktiski ir diezgan piemēram, PHP, mēs neesam norādot veidus šim mainīgajam. 1263 00:58:59,630 --> 00:59:02,670 Drīzāk, mēs esam vairāk vispārīgi sakot VaR mainīgo. 1264 00:59:02,670 --> 00:59:06,690 Mums nav PHP radītos traucējumus dolāra zīmi, kas savukārt nogurdinošs 1265 00:59:06,690 --> 00:59:09,160 veids, tas padara vairāk skaidrs, ka kaut kas ir mainīgs. 1266 00:59:09,160 --> 00:59:11,830 Tā kā šeit, mēs esam sava veida atpakaļ C pieeju, tikai zvanot 1267 00:59:11,830 --> 00:59:14,500 mainīgo ar nosaukumu mēs vēlamies uz to, tāpat numuriem. 1268 00:59:14,500 --> 00:59:17,170 Un arī, piemēram, PHP, mēs esam kvadrātveida kronšteini 1269 00:59:17,170 --> 00:59:19,170 vērtībām iekšā šajā masīvā. 1270 00:59:19,170 --> 00:59:22,490 >> Tātad mainīgie JavaScript arī varētu izskatīties šādi. 1271 00:59:22,490 --> 00:59:26,900 Paziņojums te ir virkne sauc s, bet tāpat mēs esam nav norādīts 1272 00:59:26,900 --> 00:59:28,750 ka tas ir virkne. 1273 00:59:28,750 --> 00:59:33,160 Te gan ir līdzeklis, kas nav pastāv tieši tādā pašā veidā, PHP, 1274 00:59:33,160 --> 00:59:34,460 bet mazliet līdzīgi. 1275 00:59:34,460 --> 00:59:36,530 Tas ir objekts JavaScript. 1276 00:59:36,530 --> 00:59:42,110 Un objekti ir sava veida Šveices armijas Nazis datu struktūras, kas jums 1277 00:59:42,110 --> 00:59:43,900 tos var izmantot, lai jebkādu skaitu lietas. 1278 00:59:43,900 --> 00:59:46,860 >> Lūk, piemēram, mēs esam paziņojot mainīgo sauc cenas. 1279 00:59:46,860 --> 00:59:49,110 Veids šim mainīgajam ir objekts. 1280 00:59:49,110 --> 00:59:53,550 Jūs varat domāt par to kā C struct kas ir atslēgas un vērtības. 1281 00:59:53,550 --> 00:59:55,250 Simbols ir galvenais. 1282 00:59:55,250 --> 00:59:57,350 FB ir vērtība, acīmredzot akciju simbolu. 1283 00:59:57,350 --> 00:59:57,930 Komats. 1284 00:59:57,930 --> 01:00:02,180 Cena ir vēl viens svarīgs, un tā vērtība ir acīmredzot peldošā punktu, vai 1285 01:00:02,180 --> 01:00:06,510 numurs, plašāk JavaScript, no 49.26 $. 1286 01:00:06,510 --> 01:00:09,030 >> Tātad, PHP nav - 1287 01:00:09,030 --> 01:00:12,980 mēs neesam redzējuši PHP objektos diezgan kā šis, bet mēs redzam analogo, 1288 01:00:12,980 --> 01:00:14,093 , kas bija kas? 1289 01:00:14,093 --> 01:00:14,980 >> Mērķauditorija: [nedzirdama]. 1290 01:00:14,980 --> 01:00:16,110 >> DAVID Malan: Asociatīvās bloki. 1291 01:00:16,110 --> 01:00:19,990 Tātad, tā kā PHP ir asociatīvas bloki kura sintakse ir kādreiz nedaudz, lai 1292 01:00:19,990 --> 01:00:20,370 dažādi - 1293 01:00:20,370 --> 01:00:21,780 mēs redzējām kvadrātiekavas. 1294 01:00:21,780 --> 01:00:23,860 Mēs redzējām dīvaini bultiņām simboliem. 1295 01:00:23,860 --> 01:00:27,330 JavaScript ir objektus, bet tas ir galvenokārt semantiskā atšķirība, un 1296 01:00:27,330 --> 01:00:29,260 atšķirīgs sinonīms tagad. 1297 01:00:29,260 --> 01:00:35,060 Tomēr, kā malā, PHP arī ir objektu tādā veidā, ka Java un citu 1298 01:00:35,060 --> 01:00:37,810 valodām ir objekti objektorientētā programmēšana. 1299 01:00:37,810 --> 01:00:40,440 Bet mēs izmantosim šos vienkārši datu tipu, lai tagad. 1300 01:00:40,440 --> 01:00:42,170 Objekti un asociatīvas bloki. 1301 01:00:42,170 --> 01:00:44,140 >> Tas varētu darīt to nedaudz vairāk skaidrs. 1302 01:00:44,140 --> 01:00:45,890 Lūk, kāpēc objekts ir noderīga. 1303 01:00:45,890 --> 01:00:48,760 Ja vēlaties, lai paziņot students, piemēram Zamyla, mēs faktiski var 1304 01:00:48,760 --> 01:00:52,630 rezumēju tāpēc runāt iekšpusi, ka objektu, izmantojot cirtaini iekavās tāpat kā 1305 01:00:52,630 --> 01:00:55,060 Pirms visu ķekars atslēgu un vērtības šeit. 1306 01:00:55,060 --> 01:00:59,150 Mums ir ID, māja, un nosaukumu, lai Zamyla, kam seko semikolu kā 1307 01:00:59,150 --> 01:01:00,690 parasti beigās. 1308 01:01:00,690 --> 01:01:04,840 >> Down šeit, tas ir nedaudz atšķirīgs, bet arī ļoti spēcīga 1309 01:01:04,840 --> 01:01:05,690 šajās dienās. 1310 01:01:05,690 --> 01:01:08,780 Šeit ir masīvs, un es zinu, ka, jo tur kvadrātiekavas augšu 1311 01:01:08,780 --> 01:01:11,090 top un kvadrātiekavas apakšā. 1312 01:01:11,090 --> 01:01:16,050 Un tas ir masīvs, kādi dati ierakstiet acīmredzot JavaScript? 1313 01:01:16,050 --> 01:01:21,260 Tas ir masīvs izskatās piemēram, trīs objekti. 1314 01:01:21,260 --> 01:01:24,580 Un es zinu, tas ir tikai objekts jo cirtaini lencēm. 1315 01:01:24,580 --> 01:01:28,760 Un paziņojums tur ir atvērts cirtaini lencēm, daži sīkumi, netālu cirtaini lencēm, komats, 1316 01:01:28,760 --> 01:01:31,180 tad dažas vairāk, komats, un tad dažas vairāk. 1317 01:01:31,180 --> 01:01:33,800 Tātad tas ir trīs argumenti atdalīti ar divām komatiem. 1318 01:01:33,800 --> 01:01:36,810 >> Tātad tas ir masīvs no trim objektiem. 1319 01:01:36,810 --> 01:01:39,940 Un katrs no tiem objektiem šķiet students vai darbinieks dažu 1320 01:01:39,940 --> 01:01:42,370 veida, katra ar ID, māju, un nosaukumu. 1321 01:01:42,370 --> 01:01:45,060 Bet es esmu sauc šo kaut sauc JSON - 1322 01:01:45,060 --> 01:01:47,450 JavaScript Object notāciju. 1323 01:01:47,450 --> 01:01:52,060 Un tas ir datu formāts, kas faktiski ir tik ļoti populārs, un 1324 01:01:52,060 --> 01:01:55,100 modē šajās dienās, ka, ja jūs rakstīt programma, kas izmanto Facebook 1325 01:01:55,100 --> 01:01:59,150 API, Twitter API, tiešām gandrīz kāds API tur šajās dienās, 1326 01:01:59,150 --> 01:02:02,820 tostarp dažas CS50 pašas, Datu jūs saņemsiet atpakaļ nav 1327 01:02:02,820 --> 01:02:04,720 vecās skolas CSV formātā. 1328 01:02:04,720 --> 01:02:06,780 >> Jo atsaukšanu ka CSV ir super vienkārši. 1329 01:02:06,780 --> 01:02:10,230 Tas ir tikai kolonnas atdalītas ar komatiem. 1330 01:02:10,230 --> 01:02:13,190 JSON datus sniedz jums vairāk metadatus. 1331 01:02:13,190 --> 01:02:17,800 Tā saista atslēgu ar katru vērtību, lai tie nav tikai pieņemt, ka 1332 01:02:17,800 --> 01:02:22,460 0. kolonna ir viena vērtība, kolonna viens ir vēl viena, divu kolonnu ir cits. 1333 01:02:22,460 --> 01:02:26,790 Viss ir JSON objekts šeit ir sava self-apraksta, jo katrs 1334 01:02:26,790 --> 01:02:30,940 viens no nosaukumiem, šajā failā ir burtiski nosaukt tā priekšā, kā 1335 01:02:30,940 --> 01:02:32,510 citēts virkne. 1336 01:02:32,510 --> 01:02:34,950 >> Tātad, pieņemsim to apskatīt Pāris piemēru šeit. 1337 01:02:34,950 --> 01:02:36,800 Ļaujiet man iet uz ierīces. 1338 01:02:36,800 --> 01:02:41,000 Un ļaujiet man iedziļināties mūsu vhost direktoriju uz sabiedrību. 1339 01:02:41,000 --> 01:02:45,590 Un ļaujiet man iedziļināties JavaScript katalogs. 1340 01:02:45,590 --> 01:02:49,610 Un iesim uz priekšu un atvērt dom-0.html, kur DOM tikai nozīmē, 1341 01:02:49,610 --> 01:02:51,010 dokumenta objekta modelis. 1342 01:02:51,010 --> 01:02:53,490 Tas ir koks sīkumi, uz kuru Es minēju iepriekš. 1343 01:02:53,490 --> 01:02:54,950 >> Un ļaujiet man piedāvāt sekojošo. 1344 01:02:54,950 --> 01:02:57,720 Šeit ir mājas lapa, kura ķermenis ir diezgan vienkāršs. 1345 01:02:57,720 --> 01:03:00,170 Tātad, noteikti šeit apakšā, paziņojums Man ir forma. 1346 01:03:00,170 --> 01:03:01,500 Mēs esam redzējuši, kas pirms tam. 1347 01:03:01,500 --> 01:03:07,600 Tas ir divas ieejas, no kuriem viens ir ID nosaukuma, no kuriem viens ir veida 1348 01:03:07,600 --> 01:03:09,830 pakļauties, un pirmais viens ir veids ir teksts. 1349 01:03:09,830 --> 01:03:11,900 Tāpēc tas patiesībā izklausās diezgan vienkārši. 1350 01:03:11,900 --> 01:03:13,090 >> Iesim šeit. 1351 01:03:13,090 --> 01:03:15,390 Iesim atpakaļ uz šo lapu šeit. 1352 01:03:15,390 --> 01:03:21,030 Iesim uz localhost, un iedziļināties Mūsu JavaScript direktoriju, un doties uz 1353 01:03:21,030 --> 01:03:24,640 dom-0, un šeit mēs esam šo veidlapu. 1354 01:03:24,640 --> 01:03:26,550 Tātad, tas ir acīmredzami visas šīs lapas nav. 1355 01:03:26,550 --> 01:03:28,740 Tā ir nosaukuma lauku ar Iesniegt pogu. 1356 01:03:28,740 --> 01:03:30,340 Bet es neesmu gatavojas izmantot PHP šeit. 1357 01:03:30,340 --> 01:03:34,310 Es darīšu visu klienta pusē tā sakot JavaScript šādi. 1358 01:03:34,310 --> 01:03:39,100 >> Ievērojiet, ka es patiešām esmu devis nosaukumu jomā, šo ieguldījumu unikāla 1359 01:03:39,100 --> 01:03:42,350 identifikatoru, kas faktiski ietaupīt man kādu laiku pēc brīža. 1360 01:03:42,350 --> 01:03:45,480 Un paziņojums, es esmu ieviesta vēl tag galvā manu mājas lapā, 1361 01:03:45,480 --> 01:03:46,565  tag. 1362 01:03:46,565 --> 01:03:50,120 >> Tāpēc tas ir šajā ziņā, ka JavaScript ir klienta puses programmēšanas valoda. 1363 01:03:50,120 --> 01:03:55,020 Šajā gadījumā, tāpat kā CSS, es esmu likts tas taisni iekšā mana HTML. 1364 01:03:55,020 --> 01:03:58,810 Bet paziņojums es esmu pasludinājis funkciju kas izskatās mazliet kā PHP 1365 01:03:58,810 --> 01:04:01,530 sintaktiski, bet tas ir faktiski JavaScript, jo atkal, tas ir 1366 01:04:01,530 --> 01:04:03,920 klienta puses pārlūkprogrammā. 1367 01:04:03,920 --> 01:04:07,590 Un veikt uzminēt, ko tas gatavojas darīt, lai gan daži no sintakses 1368 01:04:07,590 --> 01:04:09,338 šeit ir jauns. 1369 01:04:09,338 --> 01:04:11,760 >> Mērķauditorija: Say hello to kādam citam. 1370 01:04:11,760 --> 01:04:14,020 >> DAVID Malan: Tas būs teikt sveiki lai kurš apmeklē šo lapu. 1371 01:04:14,020 --> 01:04:15,120 Tad kā? 1372 01:04:15,120 --> 01:04:18,070 >> Tātad paziņojums, izrādās JavaScript tur ir alert () funkciju. 1373 01:04:18,070 --> 01:04:22,840 Tas ir ļoti veida skumji funkcija, kas tiešām tikai mēdz traucēt lietotājiem. 1374 01:04:22,840 --> 01:04:25,440 Tas nav viens no jums patiešām vajadzētu izmantot parasti, bet tas ir ātri un netīrās 1375 01:04:25,440 --> 01:04:27,710 veids veida poligrāfijas kaut uz grafisko lietotāja 1376 01:04:27,710 --> 01:04:29,180 saskarne, kā pārlūkprogrammā. 1377 01:04:29,180 --> 01:04:31,400 Ievērojiet, ka es esam ieguvuši string vienu pēdiņām. 1378 01:04:31,400 --> 01:04:36,010 Izrādās, ka atšķirībā no C, JavaScript patiesībā var būt jums izmantot vienotā 1379 01:04:36,010 --> 01:04:38,730 citātus, un godīgi sakot tas ir tikai veids no stilistiskās konvencijas starp 1380 01:04:38,730 --> 01:04:41,180 JavaScript programmētāji izmantot vienu pēdiņām. 1381 01:04:41,180 --> 01:04:43,750 PHP, viņi patiesībā ir nedaudz dažādas nozīmes. 1382 01:04:43,750 --> 01:04:45,810 Bet tagad, tikai zinu, ka tas ir vienīgais iemesls. 1383 01:04:45,810 --> 01:04:49,270 JavaScript konvencija ir bieži apostrofus, bet mēs varētu izmantot 1384 01:04:49,270 --> 01:04:50,950 pēdiņas abās vietās, kā arī. 1385 01:04:50,950 --> 01:04:52,610 >> Tāpēc tas ir interesanti. 1386 01:04:52,610 --> 01:04:56,430 Atgādināt, pēdējo reizi, ka mums bija, ka attēlu uz ekrāna, kas vērsa koku 1387 01:04:56,430 --> 01:04:59,720 kur bija HTML mezglā, un galvas mezglā, un ķermeņa mezglā, 1388 01:04:59,720 --> 01:05:00,800 un pēc tam daži tekstu. 1389 01:05:00,800 --> 01:05:04,700 Bet tur bija viens īpašs mezgls pie pašā augšā, ka es sauc par dokumentu. 1390 01:05:04,700 --> 01:05:08,260 Nu, izrādās JavaScript, jebkura reizi, kad jūs uzrakstīt programmu JavaScript 1391 01:05:08,260 --> 01:05:11,040 pārlūkprogrammā, jums ir piekļuve īpašu globālo mainīgo. 1392 01:05:11,040 --> 01:05:14,130 Līdzīgs garā PHP ir superglobālajiem masīviem, tas viens sauc 1393 01:05:14,130 --> 01:05:16,050 visi mazie dokuments. 1394 01:05:16,050 --> 01:05:21,480 >> Tas ir kā struktūrai, bet tas struktūrai ir arī funkcijas iekšpusē no tā. 1395 01:05:21,480 --> 01:05:23,790 Tāpēc C struktūrai vienkārši ir dati parasti. 1396 01:05:23,790 --> 01:05:29,060 Bet JavaScript objekts, jo tas tehniski ir arī funkcijas, 1397 01:05:29,060 --> 01:05:31,830 citādi zināma kā metodes, iekšpusē no tā. 1398 01:05:31,830 --> 01:05:35,750 Un jūs varat zvanīt funkciju iekšpusē šis objekts burtiski dara savu 1399 01:05:35,750 --> 01:05:39,610 nosaukums, punkts, un tad nosaukumu funkciju, vai atkal metodi. 1400 01:05:39,610 --> 01:05:41,160 Tas ir tikai sinonīms, tiešām. 1401 01:05:41,160 --> 01:05:42,450 >> Un ko šī funkcija dara? 1402 01:05:42,450 --> 01:05:43,840 Jūs varat veida uzminēt no tās nosaukuma. 1403 01:05:43,840 --> 01:05:45,590 Get elementu pēc ID. 1404 01:05:45,590 --> 01:05:50,040 Tāpēc tas ir gatavojas meklēt mājas lapā, meklēt šo koku, meklējot 1405 01:05:50,040 --> 01:05:55,210 neatkarīgi mezglā, AKA elements ir unikālais ID citējot likt pēdiņas beigās vārda. 1406 01:05:55,210 --> 01:05:56,560 Un tad ko es darīšu? 1407 01:05:56,560 --> 01:06:00,350 Es esmu gatavojas, lai iegūtu vērtību iekšpusē ka mezglu koka, un es esmu gatavojas 1408 01:06:00,350 --> 01:06:02,580 kaut kā sasveicināties ar šo nosaukumu. 1409 01:06:02,580 --> 01:06:05,360 >> Lai ņemtu uzminēt, pat ja mēs esam nav redzējuši šo vēl, ko darīt, kā arī 1410 01:06:05,360 --> 01:06:07,396 simboli nozīmē, šeit un šeit iespējams? 1411 01:06:07,396 --> 01:06:08,230 >> Mērķauditorija: Saķēdēt. 1412 01:06:08,230 --> 01:06:09,220 >> DAVID Malan: Saķēdēt. 1413 01:06:09,220 --> 01:06:11,290 Labi, un tie ir tikai veida dizains lēmumus 1414 01:06:11,290 --> 01:06:12,280 cilvēki, kas gadiem. 1415 01:06:12,280 --> 01:06:15,190 PHP, jums saķēdēt lietas ar punktiem. 1416 01:06:15,190 --> 01:06:18,800 C, jūs lēkt caur vairākām stīpām un zvanu funkcijas, piemēram, strcopy () vai 1417 01:06:18,800 --> 01:06:20,600 strcat () vai citas šādas funkcijas. 1418 01:06:20,600 --> 01:06:22,060 Bet JavaScript, jūs izmantojat plusi. 1419 01:06:22,060 --> 01:06:24,770 Tāpēc tas ir tikai konkatenācijas trīs stīgas - 1420 01:06:24,770 --> 01:06:27,850 sveiki, vārdu, un pēc tam izsaukuma zīme. 1421 01:06:27,850 --> 01:06:30,390 >> Tātad, kad un kāpēc tas ir funkcija sauc, lai gan? 1422 01:06:30,390 --> 01:06:33,150 Nu, ņem uzminēt no HTML apakšā. 1423 01:06:33,150 --> 01:06:35,810 Kāpēc sveicināt () sauc, vai kad? 1424 01:06:35,810 --> 01:06:39,730 1425 01:06:39,730 --> 01:06:44,030 >> Acīmredzot, cik labi es varu pateikt, uz iesniedz, kad tiek iesniegta šī veidlapa, 1426 01:06:44,030 --> 01:06:47,200 Es esmu gatavojas darīt visu, iekšpusē šīm pēdiņām. 1427 01:06:47,200 --> 01:06:50,900 Un konkrēti, es esmu dodas uz zvanu sveicināt () un pēc tam atgriezties viltus. 1428 01:06:50,900 --> 01:06:53,090 >> Nu, pieņemsim redzēt, kas neto ietekme šeit ir pirmajā vietā. 1429 01:06:53,090 --> 01:06:58,290 Tātad, ļaujiet man iet uz priekšu un ierakstiet , teiksim, Lorēna, Iesniegt. 1430 01:06:58,290 --> 01:06:59,440 Sveiki Loren. 1431 01:06:59,440 --> 01:07:02,990 Redzēsim, vai varbūt tas bija tikai laimīgs īstenošanu. 1432 01:07:02,990 --> 01:07:03,200 Nē. 1433 01:07:03,200 --> 01:07:05,990 Tāpēc tas ir rakstīt veic neatkarīgi nosaukt es tiešām likts tur. 1434 01:07:05,990 --> 01:07:07,970 >> Bet paziņojums par to, kas nemainās. 1435 01:07:07,970 --> 01:07:10,360 URL joprojām dom-0.html. 1436 01:07:10,360 --> 01:07:11,820 Nav register.php. 1437 01:07:11,820 --> 01:07:13,110 Nav otro failu. 1438 01:07:13,110 --> 01:07:14,930 Nav rīcības atribūts. 1439 01:07:14,930 --> 01:07:19,720 Tātad, kas ir šī atgriešanās nepatiesa iespējams, dara? 1440 01:07:19,720 --> 01:07:23,660 Kāpēc man zvana sveicu () un pēc tam atgriezties viltus iespējams? 1441 01:07:23,660 --> 01:07:26,420 Kas parasti notiek, kad jūs noklikšķiniet Iesniedz uz veidlapas, ka pat mēs esam 1442 01:07:26,420 --> 01:07:27,854 redzams pagājušajā nedēļā? 1443 01:07:27,854 --> 01:07:29,900 >> Mērķauditorija: [nedzirdama]. 1444 01:07:29,900 --> 01:07:30,860 >> DAVID Malan: Pats kaut kur, vai ne? 1445 01:07:30,860 --> 01:07:32,720 Tā iet uz kādu galamērķa URL. 1446 01:07:32,720 --> 01:07:34,120 Bet es negribu, ka varētu notikt šeit. 1447 01:07:34,120 --> 01:07:37,620 Es vēlos, lai mana mājas lapa ir pilnīgi dinamiskā piemēram, Gmail, kur reiz tu esi 1448 01:07:37,620 --> 01:07:38,650 tur, jums palikt tur. 1449 01:07:38,650 --> 01:07:42,900 URL nemaina tādā veidā, ka norāda visa lapa ir pārkraušanu. 1450 01:07:42,900 --> 01:07:46,680 Drīzāk, es tikai vēlos, lai kaut ko mainīt piemēram, izdrukāšana kaut 1451 01:07:46,680 --> 01:07:48,320 šeit uz ekrāna. 1452 01:07:48,320 --> 01:07:49,630 >> Nu ļaujiet man tīrīt to uz augšu mazliet. 1453 01:07:49,630 --> 01:07:55,370 Ļaujiet man atvērt ne Dom-0, bet ļaujiet man atvērt Dom-2. 1454 01:07:55,370 --> 01:07:57,350 Vienkārši, lai jūs esat redzējuši kādu sintaksi šeit. 1455 01:07:57,350 --> 01:08:02,080 >> Izrādās, ka tas, ko mēs tikko tomēr izmanto izejvielas JavaScript. 1456 01:08:02,080 --> 01:08:04,420 Tāpēc tas ir patiesi valoda JavaScript. 1457 01:08:04,420 --> 01:08:07,340 Daži no jums varētu zināt bibliotēka sauc jQuery. 1458 01:08:07,340 --> 01:08:09,980 >> Tātad jQuery nav tāds pats lieta, JavaScript. 1459 01:08:09,980 --> 01:08:14,110 Tas ir tikai bibliotēka, kas patiešām gudrs puisis rakstīja un popularizēts, piemēram 1460 01:08:14,110 --> 01:08:18,100 ka gandrīz ikviens visā pasaulē tagad izmanto jQuery, izmantojot JavaScript. 1461 01:08:18,100 --> 01:08:20,890 Un pēc pirmā acu uzmetiena, godīgi, tas izskatās nedaudz vairāk mistisks. 1462 01:08:20,890 --> 01:08:24,990 Bet jūs atradīsiet, it īpaši, ja jums iet tur jūsu gala projektu ar web 1463 01:08:24,990 --> 01:08:29,029 attīstība, jūs atradīsiet, ka šī attīra lietas uz augšu un ļaus ietaupīt diezgan 1464 01:08:29,029 --> 01:08:30,229 dažas rindiņas kodu. 1465 01:08:30,229 --> 01:08:33,189 >> Tāpēc pieņemsim tikai skatienu, kā šī veidlapa strādā. 1466 01:08:33,189 --> 01:08:35,664 Paziņojums Ko es noņemt acīmredzot no mana HTML? 1467 01:08:35,664 --> 01:08:38,240 1468 01:08:38,240 --> 01:08:40,630 Nav apstiprināšanas apdarinātājs tā runāt. 1469 01:08:40,630 --> 01:08:41,470 Nav atribūts. 1470 01:08:41,470 --> 01:08:43,359 Jo jūs zināt, ko Man nav tiešām patīk? 1471 01:08:43,359 --> 01:08:45,640 Es jutos kā mēs, kas uz vecajiem paradumiem tur. 1472 01:08:45,640 --> 01:08:49,340 Tāpat kā tas bija sāk justies apliets to sajaukt gan CSS ar 1473 01:08:49,340 --> 01:08:52,149 HTML, jo jūs esat veida throwing dažādās valodās visā 1474 01:08:52,149 --> 01:08:56,180 vietu, tāpat tas varēja sākt justies kā slikts ceļa, lai iet uz leju, ja 1475 01:08:56,180 --> 01:09:01,069 Es esmu liekot JavaScript kodu iekšpusē manu HTML nevis faktoringa to ārā. 1476 01:09:01,069 --> 01:09:02,279 >> Tā ka ir mācība šeit. 1477 01:09:02,279 --> 01:09:05,080 DOM-2.html, es esmu faktoringa to ārā. 1478 01:09:05,080 --> 01:09:07,399 Un es daru lietas nedaudz savādāk. 1479 01:09:07,399 --> 01:09:09,630 Tagad es esmu gatavojas vilnis manas rokas par ko tas īsti dara 1480 01:09:09,630 --> 01:09:10,590 zem motora pārsega. 1481 01:09:10,590 --> 01:09:14,210 Bet tikai tagad pieņemt, ka šis pirmais līnija koda šajā bibliotēkā 1482 01:09:14,210 --> 01:09:18,170 sauc jQuery nozīmē tikai tad, kad Dokuments ir sagatavots, rīkojieties šādi. 1483 01:09:18,170 --> 01:09:20,080 >> Jo mājas lapas var veikt kādu laiku, lai slodze. 1484 01:09:20,080 --> 01:09:23,029 Jums varētu būt par lēnu internetu savienojumu, un tas varētu būt vērpšanai 1485 01:09:23,029 --> 01:09:25,290 un vērpšanas un beidzot tas ir piekrauts. 1486 01:09:25,290 --> 01:09:29,060 Ka koda rindu vienkārši saka gaidīt, kamēr visa lapa ir gatava, dokuments 1487 01:09:29,060 --> 01:09:31,189 ir gatava, pirms izpildes šo kodu. 1488 01:09:31,189 --> 01:09:34,390 >> Un tagad paziņojums, tas ir iespējams, visnoderīgākā pirmais 1489 01:09:34,390 --> 01:09:36,189 atņemt jQuery. 1490 01:09:36,189 --> 01:09:42,140 Šī līnija šeit ir ļoti līdzīgs garā šim daudz ilgāku līnijā šeit. 1491 01:09:42,140 --> 01:09:46,920 Tā kā neapstrādātu JavaScript kodu, tur pastāv dokumentu globālu objektu, 1492 01:09:46,920 --> 01:09:50,460 ir funkciju sauc getElementById () cilvēki, kuri rakstīja 1493 01:09:50,460 --> 01:09:55,720 jQuery vienkāršota, ka tikai pateikt dolāra zīmi, un tad iekšpusē 1494 01:09:55,720 --> 01:10:00,250 iekavas izvirzīti divi citātus, un pēc tam likts hash simbolu, kam seko 1495 01:10:00,250 --> 01:10:02,250 unikāls ID, jūs vēlaties, lai greifers. 1496 01:10:02,250 --> 01:10:06,170 Tāpēc tas ir ekvivalents document.getElementById. 1497 01:10:06,170 --> 01:10:11,090 >> Tikmēr. Iesniegt tikai nozīmē par iesniegšana jebkādā formā tu esi 1498 01:10:11,090 --> 01:10:14,240 atsaucoties uz pa kreisi, dodieties priekšu un izpildīt to. 1499 01:10:14,240 --> 01:10:16,600 Bet tagad tas ir zinātkāre too. 1500 01:10:16,600 --> 01:10:19,560 Kas ir dīvaini par to, Esmu izcelti šeit? 1501 01:10:19,560 --> 01:10:23,840 1502 01:10:23,840 --> 01:10:28,594 Tas ir ne tikai sava veida sintaktiski jauna, tur ir arī kaut kas trūkst. 1503 01:10:28,594 --> 01:10:29,558 >> Mērķauditorija: Tas ir tikai sauc funkciju? 1504 01:10:29,558 --> 01:10:31,970 Tas nav sauc brīdinājumu? 1505 01:10:31,970 --> 01:10:32,440 >> DAVID Malan: Jā. 1506 01:10:32,440 --> 01:10:35,450 Nu, tāpēc alert () ir uz leju šeit, lai būtu godīgi. 1507 01:10:35,450 --> 01:10:39,520 Bet nav pieminēts nosaukums, tāpat kā jūs zināt, foo vai 1508 01:10:39,520 --> 01:10:40,980 kaut ko šeit. 1509 01:10:40,980 --> 01:10:43,830 Un tiešām, tas ir viens no iezīmēm JavaScript, kas ir diezgan 1510 01:10:43,830 --> 01:10:45,370 spēcīgs, bet arī pavisam jauni. 1511 01:10:45,370 --> 01:10:47,460 Un PHP patiesībā ir tas, kā labi. 1512 01:10:47,460 --> 01:10:49,500 >> Ļaujiet man iet uz priekšu un darīt kaut kas ļoti ātri. 1513 01:10:49,500 --> 01:10:52,030 Ļaujiet man iet uz priekšu un nodot to šeit. 1514 01:10:52,030 --> 01:10:52,600 Ļaujiet man izdarīt. 1515 01:10:52,600 --> 01:10:53,690 Funkcija. 1516 01:10:53,690 --> 01:10:56,455 Sauksim šo apdarinātājs (). 1517 01:10:56,455 --> 01:10:58,290 Kopējs funkciju, lai runāt. 1518 01:10:58,290 --> 01:11:00,110 Kaut kas apstrādā kādu darbību. 1519 01:11:00,110 --> 01:11:02,700 Ļaujiet man sakopt manu atkāpi. 1520 01:11:02,700 --> 01:11:04,380 Un nodot šo šeit. 1521 01:11:04,380 --> 01:11:06,090 Un nodot, ka šeit. 1522 01:11:06,090 --> 01:11:06,470 Yep. 1523 01:11:06,470 --> 01:11:07,060 Labi. 1524 01:11:07,060 --> 01:11:10,300 >> Tāpēc tagad man ir tā saucamā funkcija apdarinātājs (), ka man nav tiešām zināt 1525 01:11:10,300 --> 01:11:10,890 ko tā dara vēl. 1526 01:11:10,890 --> 01:11:12,710 Tas tikai vēl, ka stuff. 1527 01:11:12,710 --> 01:11:13,900 Whoops. 1528 01:11:13,900 --> 01:11:15,820 Aizņēma pārāk daudz. 1529 01:11:15,820 --> 01:11:18,490 Darīsim to. 1530 01:11:18,490 --> 01:11:18,990 Labi. 1531 01:11:18,990 --> 01:11:20,240 Žēl. 1532 01:11:20,240 --> 01:11:23,140 1533 01:11:23,140 --> 01:11:23,690 Labi. 1534 01:11:23,690 --> 01:11:24,720 Ļaujiet man darīt. 1535 01:11:24,720 --> 01:11:25,020 Labi. 1536 01:11:25,020 --> 01:11:27,040 Tas izskatās jauki un taisni uz priekšu tagad. 1537 01:11:27,040 --> 01:11:29,090 Ļaujiet man darīt. 1538 01:11:29,090 --> 01:11:29,860 Dariet to. 1539 01:11:29,860 --> 01:11:30,950 Un Labi. 1540 01:11:30,950 --> 01:11:33,080 Tāpēc tagad, pieņemsim nodot šo vairāk nekā šeit. 1541 01:11:33,080 --> 01:11:35,840 1542 01:11:35,840 --> 01:11:37,270 Ne vairāk programmēšanas par lidot. 1543 01:11:37,270 --> 01:11:37,900 Labi. 1544 01:11:37,900 --> 01:11:40,000 >> Tāpēc tagad, iesim atpakaļ uz kur stāsts sākās. 1545 01:11:40,000 --> 01:11:43,530 Iepriekš man teica, ka šī līnija šeit nozīmē, ja dokuments ir gatavs, iet 1546 01:11:43,530 --> 01:11:44,380 uz priekšu un darīt to. 1547 01:11:44,380 --> 01:11:45,660 Ko es gribu darīt? 1548 01:11:45,660 --> 01:11:49,070 Nu konkrēti, es gribu iet uz priekšu un darīt šādi. 1549 01:11:49,070 --> 01:11:53,700 Izpildīt šo līniju kodu, un pēc tam to, ko es gribu, lai jūs darīt, ir zvanīt tas 1550 01:11:53,700 --> 01:11:56,370 darboties, kad veidlapa tiek iesniegta. 1551 01:11:56,370 --> 01:11:57,730 >> Tagad tas ir tas, kas ir interesanti. 1552 01:11:57,730 --> 01:11:59,170 Tas pats par sevi nav funkcija. 1553 01:11:59,170 --> 01:12:02,540 Paziņojums Es neesmu liekot iekavas šeit normālā veidā. 1554 01:12:02,540 --> 01:12:06,800 Es esmu burtiski iet, ko sauc par funkciju kopējs () uz citu funkciju 1555 01:12:06,800 --> 01:12:10,800 sauc iesniedz () kā argumentu kā lai gan tas ir kā mainīgs. 1556 01:12:10,800 --> 01:12:14,290 Un šī ir viena no iezīmēm JavaScript ir funkcijas paši 1557 01:12:14,290 --> 01:12:15,710 Ir tiešām tikai objekti. 1558 01:12:15,710 --> 01:12:18,350 Patiesībā, viņi tiešām vienkārši mainīgie dažu šķirot. 1559 01:12:18,350 --> 01:12:21,340 Un, ja pie funkcijas nosaukums ir apdarinātājs (), nav iemesla es nevaru 1560 01:12:21,340 --> 01:12:23,390 nodot to kā argumentu šeit. 1561 01:12:23,390 --> 01:12:27,530 Un tas nozīmē, kad veidlapa ar no demo ID ir 1562 01:12:27,530 --> 01:12:29,320 iesniegts, nosaukt šo funkciju. 1563 01:12:29,320 --> 01:12:32,770 >> Bet tagad, ja es atsaukt to visu, kāpēc tad gan es, iespējams darīt 1564 01:12:32,770 --> 01:12:34,850 tas pirms brīža? 1565 01:12:34,850 --> 01:12:36,840 Nu, tas ir anonīma funkcija. 1566 01:12:36,840 --> 01:12:41,080 Jo godīgi sakot, es sapratu, kāpēc es esmu apgrūtinošas tērēt laiku atzīta 1567 01:12:41,080 --> 01:12:45,540 funkciju sauc kopējs () tikai zvanīt tā vienā un tikai vienā vietā? 1568 01:12:45,540 --> 01:12:48,640 Ja man nevajag vārdu, un es nedomāju, ir nepieciešams, lai izsauktu to vairāk nekā viena vieta, 1569 01:12:48,640 --> 01:12:51,200 pieņemsim tikai īstenot funkciju labi, ja man to vajag. 1570 01:12:51,200 --> 01:12:55,190 Un tā JavaScript un PHP atbalsts, ko sauc anonīms funkcijas, kas 1571 01:12:55,190 --> 01:12:57,900 ļaujiet man darīt tieši to šeit. 1572 01:12:57,900 --> 01:12:59,570 >> Bet mēs esam tikai nesaskrāpē virsmas. 1573 01:12:59,570 --> 01:13:02,430 Let 's ķircināt tikai ar pāris gala piemēri šeit. 1574 01:13:02,430 --> 01:13:04,600 >> Ja es iedziļināties quote.php. 1575 01:13:04,600 --> 01:13:07,160 1576 01:13:07,160 --> 01:13:11,870 Ievērojiet, ka tas ir faktiski PHP funkcija, PHP programmas, ka es uzrakstīju 1577 01:13:11,870 --> 01:13:15,270 kas sagaida HTTP sauc parametrs simbols, un es varu pāriet 1578 01:13:15,270 --> 01:13:16,730 vērtību, piemēram, FB. 1579 01:13:16,730 --> 01:13:20,010 Un, ja mēs faktiski apskatīt avota kodu, tas ir vaicājumiem bezmaksas tīmekļa vietni 1580 01:13:20,010 --> 01:13:23,680 sauc par Yahoo Finance, tāpat kā p-komplekts septiņi, un tas ir atgriešanās pie manis 1581 01:13:23,680 --> 01:13:26,580 kaut kas acīmredzot pazīstams formāts ir JSON - 1582 01:13:26,580 --> 01:13:28,010 JavaScript Object notāciju. 1583 01:13:28,010 --> 01:13:28,810 Tas ir tikai objekts. 1584 01:13:28,810 --> 01:13:32,500 Paziņojums par cirtaini bikšturi, pēdiņām, resnās zarnas, un komatus. 1585 01:13:32,500 --> 01:13:34,720 >> Tagad tikmēr, tas ir diezgan atdzist. 1586 01:13:34,720 --> 01:13:38,520 Jo es varu droši izmantot programmēšana valoda, lai radītu URL 1587 01:13:38,520 --> 01:13:40,370 ka izskatās šis dinamiski, labi? 1588 01:13:40,370 --> 01:13:43,340 Es varu mainīt, lai Google un saņemt atpakaļ Google 1589 01:13:43,340 --> 01:13:47,930 akciju cena 1,017.55 $. 1590 01:13:47,930 --> 01:13:49,640 Tātad, pieņemsim redzēt, ja mēs nevaram izmantot šo tagad. 1591 01:13:49,640 --> 01:13:56,590 >> Ļaujiet man iet uz Ajax 0 šeit, kas izskatās šādi. 1592 01:13:56,590 --> 01:13:59,750 Tas ir tikai mājas lapu, kas ir veidlapa ar pogu. 1593 01:13:59,750 --> 01:14:05,860 Ļaujiet man šeit iet uz priekšu un ierakstiet YHOO par Yahoo akciju simbolu, noklikšķiniet uz Saņemt 1594 01:14:05,860 --> 01:14:10,530 Citēju, un tagad paziņojums es esmu gotten brīdinājumu ar 32.86. 1595 01:14:10,530 --> 01:14:14,050 >> Ļaujiet man tiešām iet uz mīļotājs versiju Šīs lapas, versiju divi, un 1596 01:14:14,050 --> 01:14:17,530 tipa teiksim Microsoft, MSFT. 1597 01:14:17,530 --> 01:14:18,410 Get Citēt. 1598 01:14:18,410 --> 01:14:19,850 Un tagad paziņojums, nekādu brīdinājumu. 1599 01:14:19,850 --> 01:14:22,770 Paziņojums kur ir teikts cena ir jānosaka? 1600 01:14:22,770 --> 01:14:27,060 Ir piemēri, ka vienkāršākais norāda uz to, kas Gchat, un Facebook 1601 01:14:27,060 --> 01:14:30,070 Tērzēt, un Gmail, un citas šādas mājas lapas darām, ko faktiski 1602 01:14:30,070 --> 01:14:31,290 mainot mājas lapā. 1603 01:14:31,290 --> 01:14:31,800 >> Paziņojums to. 1604 01:14:31,800 --> 01:14:33,120 Ļaujiet man pārlādēt lapu. 1605 01:14:33,120 --> 01:14:35,080 Ļaujiet man atvērt Chrome inspektors. 1606 01:14:35,080 --> 01:14:36,890 Ļaujiet man iet uz elementiem tab uz leju šeit. 1607 01:14:36,890 --> 01:14:42,310 Tagad paziņojums, ja man ir uz leju šeit tālummaiņa un atvērt šo up, ievērosiet, ka tas ir mans 1608 01:14:42,310 --> 01:14:44,500 HTML DOM - mana dokumenta objekta modelis. 1609 01:14:44,500 --> 01:14:45,920 Šis ir mans HTML. 1610 01:14:45,920 --> 01:14:48,750 Bet tagad paziņojums, pat ja tas notiek būt nedaudz grūti, lai redzētu to gan 1611 01:14:48,750 --> 01:14:52,080 vietas uzreiz, ja es rakstīt FB šeit, skatīties dibenu 1612 01:14:52,080 --> 01:14:54,110 no ekrāna tikai. 1613 01:14:54,110 --> 01:14:57,720 >> Tas ir patiešām notiek, mans HTML par lidot. 1614 01:14:57,720 --> 01:15:01,670 Un tas dara to gluži vienkārši darot kaut kas līdzīgs šim. 1615 01:15:01,670 --> 01:15:06,800 Ja es atvērtu ajax-2, ievērosiet, īstenojot kaut ko tik seksīgs kā 1616 01:15:06,800 --> 01:15:09,560 ka, lai gan tas ir diezgan neglīts, bet tik sarežģīta, kā tas 1617 01:15:09,560 --> 01:15:11,910 funkcionāli, tas ir daži HTML apakšā. 1618 01:15:11,910 --> 01:15:13,810 , Bet paziņojums, es izmantoti, lai atzīmēt. 1619 01:15:13,810 --> 01:15:16,640 Mēs esam neizmanto šo pirms, bet tas ir piemēram, bet tas nav spēkā 1620 01:15:16,640 --> 01:15:17,840 viss uz jaunu līniju. 1621 01:15:17,840 --> 01:15:20,830 Tas tikai padara taisnstūra reģionu uz vienas līnijas būtībā. 1622 01:15:20,830 --> 01:15:22,870 >> Ievērojiet, ka es deva tai ID cenu. 1623 01:15:22,870 --> 01:15:26,800 Un izrādās, izmantojot pašu JavaScript bibliotēka, man ir funkcija 1624 01:15:26,800 --> 01:15:30,440 sauc citātu (), kas sauc, kad veidlapas iesniegšanas. 1625 01:15:30,440 --> 01:15:31,800 Un ko es daru tas ir. 1626 01:15:31,800 --> 01:15:35,730 Es esmu atzīst mainīgais Javascript sauc url, saglabājot vērtību 1627 01:15:35,730 --> 01:15:38,650 quote.php simbols =?. 1628 01:15:38,650 --> 01:15:44,220 Citiem vārdiem sakot, es pats esmu sāk lai sagatavotu HTTP pieprasījumu, un pēc tam 1629 01:15:44,220 --> 01:15:49,250 Es esmu concatenating uz, ka ar plus kāds elements ar ID 1630 01:15:49,250 --> 01:15:54,190 gada simbols ir, kas paziņojums ir tāds, ka Teksta lauks tiesības uz leju šeit. 1631 01:15:54,190 --> 01:15:56,630 Tātad, tāpat kā mums bija formas pagātnē. 1632 01:15:56,630 --> 01:16:01,450 >> Un tad izrādās jQuery, ja jūs zvanu. val (), kas aicina par val 1633 01:16:01,450 --> 01:16:05,900 funkciju, vērtību, funkcija, kas izpaužas kāds lietotājs ir drukāti collas 1634 01:16:05,900 --> 01:16:08,920 Un pēc tam visi no tīkla satiksmes kas notiek, ir tas. 1635 01:16:08,920 --> 01:16:11,230 $. GetJSON. 1636 01:16:11,230 --> 01:16:13,720 >> Un kā malā, dolāra zīmi ir tikai saīsināts apzīmējums. 1637 01:16:13,720 --> 01:16:16,860 Tas ir patiešām jQuery.getJSON. 1638 01:16:16,860 --> 01:16:21,520 Nokļūt mani JSON šo URL, un, kad lūgums nāk atpakaļ, to sauc par 1639 01:16:21,520 --> 01:16:26,550 funkciju un iet tik argumentu kāds atgriezās no servera. 1640 01:16:26,550 --> 01:16:31,205 >> Tātad, citiem vārdiem sakot, ja es dodos atpakaļ pārlūku, un es dodos atpakaļ uz quote.php, 1641 01:16:31,205 --> 01:16:35,590 kāds ir mans pārlūks dara, ir panākt, šis gabals datus. 1642 01:16:35,590 --> 01:16:38,930 Un, kad es iet uz šo mājas lapā šeit, paziņojums, ja mēs tā vietā doties uz tīklu 1643 01:16:38,930 --> 01:16:43,820 tab un skaidri to, un tad ierakstiet kaut kas līdzīgs GOOG par Google un saņemt 1644 01:16:43,820 --> 01:16:46,340 Citāts, ievērosiet lapa nemainījās. 1645 01:16:46,340 --> 01:16:50,990 Bet HTTP pieprasījums tika iesniegts, un kādi atgriezos šeit, ja mēs skatāmies 1646 01:16:50,990 --> 01:16:56,130 atbilde ir visai ķekars JSON ka mēs piekļūt beidzot ar 1647 01:16:56,130 --> 01:16:58,070 Šī vienkāršā līnija šeit. 1648 01:16:58,070 --> 01:17:00,150 >> Dati, kas bija gotten no servera. 1649 01:17:00,150 --> 01:17:02,120 Cena ir nosaukums Galvenais man rūp. 1650 01:17:02,120 --> 01:17:05,230 Tāpēc data.price dod man to. 1651 01:17:05,230 --> 01:17:07,540 >> Tagad tikmēr, un tas ir pēdējais piemērs. 1652 01:17:07,540 --> 01:17:09,280 Jūs varat darīt vēl vairāk ar lapu. 1653 01:17:09,280 --> 01:17:12,440 Viens faktiski, labi divi. 1654 01:17:12,440 --> 01:17:14,780 Mēs varam atvest tag, ja jūs atceraties to. 1655 01:17:14,780 --> 01:17:15,850 Tas ir JavaScript. 1656 01:17:15,850 --> 01:17:17,110 Mēs varam darīt. 1657 01:17:17,110 --> 01:17:17,690 Ļoti aizraujoša. 1658 01:17:17,690 --> 01:17:18,800 Mēs ņemšu atvaļinājumu, ka cliffhanger. 1659 01:17:18,800 --> 01:17:21,590 >> Bet vairāk aizraujoši, jūs varat darīt lietas, kā šis. 1660 01:17:21,590 --> 01:17:25,940 Ja es eju uz ģeogrāfiskās vietas-1, izrādās ka Chrome zina, ka mēs esam 1661 01:17:25,940 --> 01:17:30,672 platuma 42.37. -71,10. 1662 01:17:30,672 --> 01:17:32,940 Tātad tur ir vēl tur Jūsu rīcībā. 1663 01:17:32,940 --> 01:17:34,290 Bet vairāk par šo nākamnedēļ. 1664 01:17:34,290 --> 01:17:35,540 See you pirmdien. 1665 01:17:35,540 --> 01:17:37,558