1 00:00:00,000 --> 00:00:11,470 2 00:00:11,470 --> 00:00:12,764 >> Parolanto 1: Ĉiuj, dekstra bonvenigas dorso. 3 00:00:12,764 --> 00:00:14,140 Ĉi tiu estas CS50. 4 00:00:14,140 --> 00:00:16,800 Kaj ĉi tiu estas la komenco de semajno naŭ. 5 00:00:16,800 --> 00:00:19,960 Kaj ĉi tiu estas la komenco de la resto de vian tempon en CS50, en kiu ni 6 00:00:19,960 --> 00:00:23,170 transiro nun, fine, al la retejo aspekto de la kurso, kie vi instruos vin 7 00:00:23,170 --> 00:00:26,200 trovi, ke multo el la fundamentoj kiuj ni estis eksporti dum semajnoj 8 00:00:26,200 --> 00:00:29,270 ankoraŭ revenos por viziti, aŭ turmenti, ni. 9 00:00:29,270 --> 00:00:33,440 Sed nun, vi trovos ke ĝi estas ordon de grando pli facile 10 00:00:33,440 --> 00:00:36,540 plenumi iujn taskojn kaj solvi iujn problemojn - 11 00:00:36,540 --> 00:00:41,050 tiom, ke eĉ se vi pensis iun problemon aroj estis amuza en sia 12 00:00:41,050 --> 00:00:44,200 propra maniero, mi pensas, ke vi trovos ke p starigis 7, p starigis 8, kaj tiam, 13 00:00:44,200 --> 00:00:47,990 fine, la fina projekto estos des pli kontentiganta ĉar vi 14 00:00:47,990 --> 00:00:51,830 trovi ke ni komencas preni por donita nun aferojn kiel memoro demarŝon, kaj 15 00:00:51,830 --> 00:00:54,190 montriloj, kaj kio okazas sur sub la kapuĉo. 16 00:00:54,190 --> 00:00:57,310 Kaj denove, temáticos, ĉiuj en la tuta sesmonato estis ĉi layering 17 00:00:57,310 --> 00:00:58,030 kaj layering. 18 00:00:58,030 --> 00:01:00,530 Kaj nun ni estas speco de supre ĉi tie, staris sur la 19 00:01:00,530 --> 00:01:01,930 ŝultroj de semajnoj pasinteco. 20 00:01:01,930 --> 00:01:05,360 >> Nun, memoru de lasta tempo, ke ni parolis pri kiel la interreto laboris. 21 00:01:05,360 --> 00:01:08,120 Kaj tio estis eble simplificación, sed memoru, ke 22 00:01:08,120 --> 00:01:12,960 ĉiu komputilo en la mondo havas IP trakti, kvankam tio estas iom de 23 00:01:12,960 --> 00:01:14,570 simplificación ankoraŭ. 24 00:01:14,570 --> 00:01:18,180 Kaj tiuj adresoj estas uzataj por unike identigi maŝinoj por ke 25 00:01:18,180 --> 00:01:22,010 kiam vi sendas informojn, aŭ pakojn, por tiel diri, ili povas havi originon 26 00:01:22,010 --> 00:01:24,000 adreso kaj destino adreso. 27 00:01:24,000 --> 00:01:27,830 Kaj tiuj samaj IP adresoj povas esti uzata kaj por bono kaj ankaŭ por malbono, 28 00:01:27,830 --> 00:01:29,270 spuri vi, ekzemple. 29 00:01:29,270 --> 00:01:32,200 Fakte, cxiu el vi per tekkomputilo malfermi nun, aŭ telefono en via 30 00:01:32,200 --> 00:01:35,070 poŝo, havas IP-adreso en Harvard reto. 31 00:01:35,070 --> 00:01:39,120 Kaj ne ĉiuj kiuj malfacile interligataj ke por kiu kaj kie vi 32 00:01:39,120 --> 00:01:40,180 estas tiuj tagoj. 33 00:01:40,180 --> 00:01:42,090 Sed pli sur tiu eble en la estonteco. 34 00:01:42,090 --> 00:01:46,510 >> Nun mi pensis ke mi volas revenigi iun memoroj de [? plibonigi?] kaj donos al vi 35 00:01:46,510 --> 00:01:49,360 alia klipo de programo vi povus trovi familiara. 36 00:01:49,360 --> 00:01:52,710 Se ni povus dim la lumoj por nur kelkajn sekundojn. 37 00:01:52,710 --> 00:01:53,960 La show Numb3rs. 38 00:01:53,960 --> 00:01:57,510 39 00:01:57,510 --> 00:02:00,540 >> Speaker 2: Ĝi estas 32-bita IPP4 adreso. 40 00:02:00,540 --> 00:02:01,610 >> Parolanto 3: IPP, kiel en interreto? 41 00:02:01,610 --> 00:02:02,968 >> Speaker 2: Privata reto. 42 00:02:02,968 --> 00:02:04,960 Por Amita privata reto. 43 00:02:04,960 --> 00:02:16,930 44 00:02:16,930 --> 00:02:19,602 Ŝi estas tiel mirinda. 45 00:02:19,602 --> 00:02:21,030 >> Parolanto 3: Venu, Charlie. 46 00:02:21,030 --> 00:02:21,490 >> Speaker 2: Estas. 47 00:02:21,490 --> 00:02:22,470 Al spegulo IP-adreso. 48 00:02:22,470 --> 00:02:27,680 Ŝi lasanta al ni rigardi kion ŝi faris en reala tempo. 49 00:02:27,680 --> 00:02:30,930 >> Parolanto 1: Bone, do kelkon malbone en ĉi tiu pentraĵo. 50 00:02:30,930 --> 00:02:32,920 Do unu, kaj ĉi tiu estas akceptebla, ĉi tiu estas efektive 51 00:02:32,920 --> 00:02:34,400 ne estas valida IP-adreso. 52 00:02:34,400 --> 00:02:38,190 Entajpu validan IP-adreso devas esti nombroj de la formo w.x.y.z, kie ĉiu el 53 00:02:38,190 --> 00:02:40,000 tiuj literoj estas 0 al 255. 54 00:02:40,000 --> 00:02:42,330 Sed tio estas bone, ĉar same kiel la filmoj kie falsa telefonnumerojn, 55 00:02:42,330 --> 00:02:43,520 ili Fake IP adresoj. 56 00:02:43,520 --> 00:02:45,230 Vi ne vere batis reala serviloj. 57 00:02:45,230 --> 00:02:46,760 >> Sed komprenu, ĉi tiu estas retumilo. 58 00:02:46,760 --> 00:02:50,760 Kaj retumiloj ne komencas elirigi komputila kodo ŝatas tion. 59 00:02:50,760 --> 00:02:54,230 Kaj se ni rigardas iom pli profunda, rimarki ke la lingvo kiun ili vidas 60 00:02:54,230 --> 00:02:57,040 sur la ekrano estas lingvo nomata Objective C, kiu estas la lingvo en 61 00:02:57,040 --> 00:02:59,520 kiu iPhone apps estas skribitaj, aparte tiuj engaĝante 62 00:02:59,520 --> 00:03:03,540 crayons, kiel vi povas vidi de la fontkodon tie. 63 00:03:03,540 --> 00:03:06,600 64 00:03:06,600 --> 00:03:07,560 >> Bone, mi pensis tio estis amuza. 65 00:03:07,560 --> 00:03:12,240 Do tiu fragmento de kodo havas absolute nenion por fari kun kiom tiu 66 00:03:12,240 --> 00:03:13,940 aparta epizodo estis cxirkauxe. 67 00:03:13,940 --> 00:03:17,590 Do la ŝerco estas speco de la homoj prenante por ĉi sentado. 68 00:03:17,590 --> 00:03:20,220 Sed ĉi tio ne estas ĉiuj kiuj malfacile akiri ĉi tiuj teknikaj detaloj rajtas. 69 00:03:20,220 --> 00:03:21,980 Kaj mi kuraĝigas vin. 70 00:03:21,980 --> 00:03:25,530 Kaj efektive, 50 povus tre bone militakiro multan TV kaj filmoj aŭ vi 71 00:03:25,530 --> 00:03:27,320 ĉar vi trovos, ke estas nur ne eblas kio ili estas 72 00:03:27,320 --> 00:03:28,630 fari en la ekrano. 73 00:03:28,630 --> 00:03:31,750 Sed ĝuste tio estas la kodo kiun vi povus vidi ĝin en iPhone apliko 74 00:03:31,750 --> 00:03:33,640 aŭ Mac OS apliko. 75 00:03:33,640 --> 00:03:35,685 Ĝi havas nenion fari kun sekurecon. 76 00:03:35,685 --> 00:03:38,610 Do prigardi ekstere por pli tia amuza aferojn tiel. 77 00:03:38,610 --> 00:03:42,720 >> Sed hodiaŭ ni komencos plonĝi en vere profunde al tuta gamo de lingvoj. 78 00:03:42,720 --> 00:03:45,410 An ja, unu el la komunajn takeaways de ĉi tiu parto de la 79 00:03:45,410 --> 00:03:51,815 Kompreneble ne estas por lerni kiel plani en PHP, ne lerni SQL per, ne 80 00:03:51,815 --> 00:03:58,100 lerni Javascript per, sed prefere instrui mem kiel instrui 81 00:03:58,100 --> 00:04:02,030 mem novajn lingvojn ĉar, vere, ni komencas preni nun la 82 00:04:02,030 --> 00:04:06,020 trejnado radoj ekstere tiel ke post Kompreneble la fino, vi ne atendas 20 83 00:04:06,020 --> 00:04:08,890 paĝo specifo por diri al vi kiom apliki iun programon. 84 00:04:08,890 --> 00:04:12,970 Vi havas sufiĉe ingrediencoj en via menso, kaj sufiĉe da ilojn en via ilo 85 00:04:12,970 --> 00:04:15,750 kit, per kiuj oni komencas konstrui solvojn al problemoj de intereso por 86 00:04:15,750 --> 00:04:19,130 vi por iuj studentoj grupo, por iuj esplorprojekto, aŭ vere ion 87 00:04:19,130 --> 00:04:20,140 interesajn por vi. 88 00:04:20,140 --> 00:04:24,150 >> Do al tiu fino, memoru, ke tio la bildo ni eltiris gxin lastan fojon. 89 00:04:24,150 --> 00:04:27,620 Kaj jen estas du komputiloj, kliento kaj apartigon, parolante unu al alia. 90 00:04:27,620 --> 00:04:31,130 Kaj la protokolo, la lingvo, por tiel paroli, ke tiuj du komputiloj okazi 91 00:04:31,130 --> 00:04:33,220 esti parolanta nomata HTTP. 92 00:04:33,220 --> 00:04:37,730 Kaj tio estas nur la protokolo uzata de komputiloj por kopii la informon per 93 00:04:37,730 --> 00:04:38,710 la mondo ampleksa TTT. 94 00:04:38,710 --> 00:04:41,770 La retejo, kompreneble, estas nur unu servo kiu kuras sur la 95 00:04:41,770 --> 00:04:43,000 tn interreto. 96 00:04:43,000 --> 00:04:48,660 Kio estas alia servo disponebla en supro de la interreto tiuj tagoj? 97 00:04:48,660 --> 00:04:51,600 Iuj aliaj protokolo aŭ - kio estas tio? 98 00:04:51,600 --> 00:04:52,300 >> Spektantaro: FTP. 99 00:04:52,300 --> 00:04:52,790 >> Parolanto 1: FTP. 100 00:04:52,790 --> 00:04:54,630 Do Dosiero Transfer Protocol estas alia. 101 00:04:54,630 --> 00:04:56,050 La plejparto de vi probable ne uzis ĝin. 102 00:04:56,050 --> 00:04:58,830 Sed la plimulto el vi probable uzis aĵoj kiel Gchat, aŭ momenteto 103 00:04:58,830 --> 00:05:00,970 mesaĝado pli ĝenerale, Certe retpoŝto. 104 00:05:00,970 --> 00:05:04,470 Kaj tiuj, ankaŭ, estas servoj kiuj rulas sur supro de la interreto ĉar, ĉe la 105 00:05:04,470 --> 00:05:08,180 fino de la tago, la interreto mem vere nur ricevas datumojn de punkto A al 106 00:05:08,180 --> 00:05:12,480 punkto B. Kaj ĝi uzas numeron de partikloj mem, unu el ili aŭ du 107 00:05:12,480 --> 00:05:17,340 el ili plej ĝenerale nomis TCP / IP, tio estas ke unu komputilo sur 108 00:05:17,340 --> 00:05:19,960 la interreto povas fakte esti faranta malsamaj aferoj, retpoŝto, 109 00:05:19,960 --> 00:05:20,980 kaj retejo, kaj tiel plu. 110 00:05:20,980 --> 00:05:22,220 Google faras multan ĉi. 111 00:05:22,220 --> 00:05:26,310 Do kiel estas tiuj servoj unike identigita, ni diru, en komputilo 112 00:05:26,310 --> 00:05:29,080 kiuj povus vere esti faranta multnombraj aferojn? 113 00:05:29,080 --> 00:05:29,860 >> La haveno nombro. 114 00:05:29,860 --> 00:05:34,180 Kaj tiuj estas nur arbitra homa konvencioj kiel 80 estas retejo, 443 estas 115 00:05:34,180 --> 00:05:36,580 ĉifrita retejo, 25 estas retpoŝto. 116 00:05:36,580 --> 00:05:38,230 Kaj tie estas aroj da aliaj. 117 00:05:38,230 --> 00:05:41,860 Kaj tiuj nombroj estas simple inkluzivita en tiuj pakoj de informo, tiuj 118 00:05:41,860 --> 00:05:46,230 virtuala koverto, ke en la praktiko enhavis peton aŭ respondon. 119 00:05:46,230 --> 00:05:51,300 >> Do kiam vi reiros respondon de la retejo, tipe, vi ne vidas ian 120 00:05:51,300 --> 00:05:54,780 nombroj ajn en terminoj de la statuso kodo de la respondo. 121 00:05:54,780 --> 00:05:56,770 Vi ne vere vidas la interne de la 122 00:05:56,770 --> 00:05:58,090 pakoj kiuj revenis. 123 00:05:58,090 --> 00:05:59,860 Sed 200 faras ja signifas OK. 124 00:05:59,860 --> 00:06:01,530 Kaj tio signifas ĉio estas bone. 125 00:06:01,530 --> 00:06:02,870 Vi eble vidis aron da tiuj. 126 00:06:02,870 --> 00:06:05,710 Kiu estas probable la plej komuna vi jam vidis en la reto? 127 00:06:05,710 --> 00:06:05,980 >> 404. 128 00:06:05,980 --> 00:06:07,330 Ĝi nur signifas dosiero ne estas trovita. 129 00:06:07,330 --> 00:06:08,270 Ĝi signifas ke iu ŝraŭbita supren. 130 00:06:08,270 --> 00:06:11,450 Vi faris per mistyping la URL, aŭ iu alia faris, donante al vi 131 00:06:11,450 --> 00:06:15,100 nevalida URL, aŭ ili viŝis la dosiero kaj la URL estas ankoraŭ 132 00:06:15,100 --> 00:06:16,130 uzita de popolo. 133 00:06:16,130 --> 00:06:19,670 Do neniu eblaj kialoj povas klarigi kial dosiero ne estas trovita. 134 00:06:19,670 --> 00:06:22,990 Kaj vi vidos, en la semajnoj veni, ĉi tiuj aliaj eraro kodoj, kaj vi instruos vin 135 00:06:22,990 --> 00:06:24,195 utiligi kelkajn el ili. 136 00:06:24,195 --> 00:06:25,760 La malbona estas 500. 137 00:06:25,760 --> 00:06:29,820 Se vi ricevas 500 eraro en la kodo vi havas skribita, pensu ke kiel varo de la 138 00:06:29,820 --> 00:06:33,290 analoga de seg faŭltoj en la mondo de ttt programado. 139 00:06:33,290 --> 00:06:34,560 Ĝi ne estas tiom terura. 140 00:06:34,560 --> 00:06:36,660 Sed ĝi nur signifas ke, ie, vi ŝraŭbita supren. 141 00:06:36,660 --> 00:06:38,260 Do rigardas antaŭen al tiuj. 142 00:06:38,260 --> 00:06:39,910 >> Sed ni vidu, se ni povas vidas tiujn en kunteksto. 143 00:06:39,910 --> 00:06:43,460 Permesu al mi iri al retumilo tie kaj faru la sekvajn. 144 00:06:43,460 --> 00:06:45,710 Do tiu estas Chrome, kio okazas al esti instalita en la aparaton. 145 00:06:45,710 --> 00:06:49,410 Sed plej ĉiu retumilo tiujn tagojn havas iuj ekvivalentaj funkciojn. 146 00:06:49,410 --> 00:06:52,610 Mi tuj iros la Chrome la menuo, kaj iru al Tools, kaj mi estas ironta 147 00:06:52,610 --> 00:06:53,990 al Developer Agordoj. 148 00:06:53,990 --> 00:06:57,040 Kaj vi vidos, ke tiu malgranda panelo malfermiĝas en la malsupro de la fenestro. 149 00:06:57,040 --> 00:07:00,190 Alia ligilo, por esti honesta, ke mi kutime uzas mem estas Right click 150 00:07:00,190 --> 00:07:04,370 aŭ Kontrolo klaku ie ajn sur la TTT paĝo kaj ĝuste iri al Esploru elemento. 151 00:07:04,370 --> 00:07:07,440 Kaj tio ne nur malfermi tiu havas por vi. 152 00:07:07,440 --> 00:07:10,230 Ĝi ankaŭ malfermas, specife, la Elementoj parton en 153 00:07:10,230 --> 00:07:11,430 la maldekstra flanko. 154 00:07:11,430 --> 00:07:12,460 >> Do ni estas kompreneble vidante Google. 155 00:07:12,460 --> 00:07:13,930 Ili ŝanĝis sian logoon hodiaŭ. 156 00:07:13,930 --> 00:07:20,200 Sed se mi rulu suben ĝis tie, rimarki ke sub Elementoj, vi vidos 157 00:07:20,200 --> 00:07:23,460 kio nomiĝas HTML, hiperteksto Markup Lingvo, kaj tio estas la lingvo 158 00:07:23,460 --> 00:07:26,000 ke tio kaj ĉiuj retpaĝoj, vere, estas skribita in 159 00:07:26,000 --> 00:07:28,950 Sed ĝi estas vere formatita por ni tiom pli readably 160 00:07:28,950 --> 00:07:29,970 ol ĝi normale estas. 161 00:07:29,970 --> 00:07:34,810 Fakte, se mi malzomi, kaj mi anstataŭ nur Right click aŭ Kontrolo Klaku 162 00:07:34,810 --> 00:07:39,630 klaki sur la paĝo, kaj poste iras al Rigardi Paĝo Fonto, tio estas laŭvorte kio 163 00:07:39,630 --> 00:07:42,150 Google sendis malsupren al mia retumilo. 164 00:07:42,150 --> 00:07:46,480 >> Do iu persono aŭ personoj skribis Google.com uzante ĉi fontkodo. 165 00:07:46,480 --> 00:07:47,790 La plejparto de ĉi tio ne estas HTML. 166 00:07:47,790 --> 00:07:49,340 Ĝi estas fakte lingvo nomata Javascript, kiu 167 00:07:49,340 --> 00:07:50,880 ni venis al la merkredoj. 168 00:07:50,880 --> 00:07:55,580 Sed kion Chrome, kaj kion ĉiu retumilo povas fari por ni, estas speco de vidos 169 00:07:55,580 --> 00:07:59,610 estinteco ĉiuj distroj de la freneza sintakso, kaj reenigi blanka spaco 170 00:07:59,610 --> 00:08:02,940 por ni, kaj eĉ la sintaksan kolorigon, aŭ colorize aferojn por ni. 171 00:08:02,940 --> 00:08:06,470 Do vi trovos, ke tiuj tn developer iloj konstruita en foliumiloj 172 00:08:06,470 --> 00:08:10,830 faros vian vivon tiel, tiom pli facile ĉar vi povas esplori, per tiu menuo 173 00:08:10,830 --> 00:08:13,940 interfaco, ĝuste kion la suba fontkodo estas por 174 00:08:13,940 --> 00:08:15,750 ĉiun paĝon en interreto. 175 00:08:15,750 --> 00:08:19,070 Kaj efektive, tiu estas unu el la plej efikaj manieroj por lerni kiel fari 176 00:08:19,070 --> 00:08:22,860 iu nova, almenaŭ se la paĝon ne estas tiel kompleksa kiel al Colmar, estas 177 00:08:22,860 --> 00:08:26,700 komenci ŝovas ĉirkaŭ ĝi estas HTML, rigardi en lia tn CSS, kiun ni venos 178 00:08:26,700 --> 00:08:30,310 por iom tiel, akiri komprenis kiel tio programisto 179 00:08:30,310 --> 00:08:33,480 implementado iu aparta trajto de la paĝo. 180 00:08:33,480 --> 00:08:36,530 >> Sed pli teknike interesa dekstra nun ĝi tuj estos ĉi. 181 00:08:36,530 --> 00:08:39,429 Se mi iras al la Reto langeto, ni nun certe tiu. 182 00:08:39,429 --> 00:08:43,429 Mi tuj klaki la malgrandan transiri simbolon ĉi tie, kaj poste 183 00:08:43,429 --> 00:08:45,630 iri al alia retejo. 184 00:08:45,630 --> 00:08:48,430 Kaj mi simple tuj tajpi en Facebook.com. 185 00:08:48,430 --> 00:08:51,940 Neniu HTTP, HTTPS neniu, neniu WWW. 186 00:08:51,940 --> 00:08:53,850 Ni fakte vidos kio okazas tie. 187 00:08:53,850 --> 00:08:55,030 >> Eniru. 188 00:08:55,030 --> 00:08:58,480 Nun rimarki tutan faskon da aĵoj simple aperis en ĉi sube panelo, en 189 00:08:58,480 --> 00:09:00,285 Krom la retpaĝo aperante en la supro. 190 00:09:00,285 --> 00:09:04,890 Mi tuj rulumi reen supren en la Reto langeto tie, kaj mi tuj 191 00:09:04,890 --> 00:09:06,080 klaki sur la unua vico. 192 00:09:06,080 --> 00:09:10,580 Kion tiu ilo tuj malkaŝi al ni estas ĉiu el la HTTP petojn 193 00:09:10,580 --> 00:09:13,550 ke rapide simple reiris kaj reen inter mia retumilo 194 00:09:13,550 --> 00:09:14,930 kaj Facebook servilo. 195 00:09:14,930 --> 00:09:17,830 Kaj tial cxiu el tiuj vicoj reprezentas unu tia peto aŭ 196 00:09:17,830 --> 00:09:20,970 Responde, unu aŭ pli de tiuj virtualaj koverto. 197 00:09:20,970 --> 00:09:24,080 Aŭ pli hazarde, estas kiel persono kiel persono, kliento en 198 00:09:24,080 --> 00:09:26,710 restoracio, petante ion denove, kaj denove, kaj denove. 199 00:09:26,710 --> 00:09:29,400 Kaj la kelnero subtenas alportante ĝin reen unuope. 200 00:09:29,400 --> 00:09:33,850 >> Do nun, se mi zomi en ĉi tio, rimarki kaj tio estos la speco de afero 201 00:09:33,850 --> 00:09:36,600 ke vi bonvena kaj kuraĝigis ludi sur via propra, ĉar ni 202 00:09:36,600 --> 00:09:38,150 ne iros tra ĉio tre detale. 203 00:09:38,150 --> 00:09:40,070 Sed rimarki ke estas malmultaj sub langetoj tie - 204 00:09:40,070 --> 00:09:43,700 Headers, Preview, Response, Kuketoj, kaj kronologio. 205 00:09:43,700 --> 00:09:48,280 Mi simple tuj rigardi titolaj cxar nun ĉar ĉi tiuj estas malmulte 206 00:09:48,280 --> 00:09:53,600 ingrediencoj ene de la koverto ke helpi datumoj akiri de kaj al lokoj. 207 00:09:53,600 --> 00:09:57,590 >> Do unue, lasu min premas tio View Fonto apud Peti Headers. 208 00:09:57,590 --> 00:10:01,910 Estas la peto, ke mia foliumilo, Chrome, en ĉi tiu kazo, sendis ene de 209 00:10:01,910 --> 00:10:02,910 tiu virtuala koverto. 210 00:10:02,910 --> 00:10:04,800 Vi memoras lasta semajno mi permane tajpis ĝin dum 211 00:10:04,800 --> 00:10:06,380 ŝajnigante esti retumilo. 212 00:10:06,380 --> 00:10:09,980 Tiam ĝi memorigis al la servilo, ke ĝi estas serĉante la gastiganto nomata 213 00:10:09,980 --> 00:10:10,835 Facebook.com. 214 00:10:10,835 --> 00:10:13,630 Kaj tiam tie estas iom pli arkaikaj informo kiun ni skuu 215 00:10:13,630 --> 00:10:14,830 niaj manoj por nun. 216 00:10:14,830 --> 00:10:18,640 >> Sed se mi komencos rulumu malsupren nun en tiun fenestron, lasu min iri al la 217 00:10:18,640 --> 00:10:19,980 respondo titolaj. 218 00:10:19,980 --> 00:10:23,270 Tio estis kio estas en la virtuala sur kiu revenis de 219 00:10:23,270 --> 00:10:24,095 Facebook.com. 220 00:10:24,095 --> 00:10:27,390 Kaj se mi alklakos Rigardi Fonto nur por vidi la krudan tekston de ĝi, 221 00:10:27,390 --> 00:10:28,400 rimarki kelkajn aferojn. 222 00:10:28,400 --> 00:10:32,130 Unu, Facebook ankaŭ parolas la saman protokolo, la versio 1.1 gxi. 223 00:10:32,130 --> 00:10:33,390 Do jen bela. 224 00:10:33,390 --> 00:10:36,820 Sed statuso kodo 301, movis konstante. 225 00:10:36,820 --> 00:10:38,880 >> Nu, kie la heck ne Facebook iras? 226 00:10:38,880 --> 00:10:40,430 Kio ĉi provas transdoni al ni? 227 00:10:40,430 --> 00:10:44,310 Nu, rimarkos cxi tie estas alia header nomata Loko. 228 00:10:44,310 --> 00:10:51,050 Do kial Facebook dirante al mi ke ili kopiis konstante al tiu URL 229 00:10:51,050 --> 00:10:53,580 apud Loko? 230 00:10:53,580 --> 00:10:54,962 Mi forgesis la www. 231 00:10:54,962 --> 00:10:56,250 >> Por ke estis mia elekto. 232 00:10:56,250 --> 00:11:00,450 Fakte, la plimulto de ni malofte, probable, tajpi www.whatever.com tiuj tagoj. 233 00:11:00,450 --> 00:11:03,390 Sed rezultu sistemo administranto, kiel Facebook, ĉu 234 00:11:03,390 --> 00:11:06,800 agordi siajn servantojn en tia maniero, ke aŭ Facebook.com funkcias, aŭ 235 00:11:06,800 --> 00:11:12,450 www.Facebook.com funkcias, aŭ, vere, tian prefikson antaux iliaj 236 00:11:12,450 --> 00:11:13,210 domajna nomo. 237 00:11:13,210 --> 00:11:14,500 Do ili faris, ke por ni. 238 00:11:14,500 --> 00:11:16,910 Kaj ili redireccionando nin, probable por iu teknika, 239 00:11:16,910 --> 00:11:18,100 iuj marketing kialoj. 240 00:11:18,100 --> 00:11:21,570 Ili nur volas canonicalize sur www.Facebook.com. 241 00:11:21,570 --> 00:11:24,040 >> Sed tio ne estas sufiĉe ĝin. 242 00:11:24,040 --> 00:11:28,560 Se mi rulumu malsupren tie, ni vidi kio okazas. 243 00:11:28,560 --> 00:11:30,810 Ĉi tio diras al mi ke ni kopiis konstante al 244 00:11:30,810 --> 00:11:33,450 http://www.Facebook.com. 245 00:11:33,450 --> 00:11:36,620 Do ni rigardu la dua peto ke mia retumilo sendas. 246 00:11:36,620 --> 00:11:40,070 Bedaŭrinde, ĝi aspektas kiel Facebook moviĝis denove ĉar la dua 247 00:11:40,070 --> 00:11:44,420 peto, per elekto de tiu URL anstataŭe, diras tion, movis 248 00:11:44,420 --> 00:11:45,010 konstante. 249 00:11:45,010 --> 00:11:48,140 Kaj lasu min rulumi malsupren tie al la respondo titolaj. 250 00:11:48,140 --> 00:11:51,530 Kie estas Facebook malaperis nun? 251 00:11:51,530 --> 00:11:52,680 >> Do HTTPS. 252 00:11:52,680 --> 00:11:56,130 Do nun Facebook komencis, aparte en la lumo de la nuna 253 00:11:56,130 --> 00:11:59,750 okazaĵoj en la lastaj monatoj, speciale kaj ankaŭ en la pasintaj kelkaj jaroj 254 00:11:59,750 --> 00:12:03,670 devigi ĉiuj siaj uzantoj, en bona vojo, por uzi HTTPS, kiu estas pli 255 00:12:03,670 --> 00:12:06,210 sekurigi, kvankam ne tute sekura. 256 00:12:06,210 --> 00:12:10,000 Kaj nun mia paĝo, mia foliumilo estas tuj petos tiu tria URL. 257 00:12:10,000 --> 00:12:14,710 Kaj nun, fine, ni atingas la alie nevidate 200 OK. 258 00:12:14,710 --> 00:12:18,830 >> Do kio en la mondo aŭ ĉiuj ĉi tiuj aliaj vicoj cxi tie. 259 00:12:18,830 --> 00:12:22,630 Mi laŭvorte tajpis ion kaj mia foliumilo bedaŭrinde esti petinta kiel 260 00:12:22,630 --> 00:12:23,840 20 iuj neparaj aĵoj. 261 00:12:23,840 --> 00:12:24,640 Kio estas tio? 262 00:12:24,640 --> 00:12:25,810 >> Spektantaro: Skriptoj? 263 00:12:25,810 --> 00:12:28,460 >> Parolanto 1: Scripts, do aliaj dosieroj skribita en lingvo nomata 264 00:12:28,460 --> 00:12:30,780 Javascript, kiu, denove, ni instruos vin vidi iom de la merkredoj. 265 00:12:30,780 --> 00:12:32,760 Kion alian? 266 00:12:32,760 --> 00:12:33,390 Stilo littukoj. 267 00:12:33,390 --> 00:12:36,350 Do io en lingvo nomata CSS, kion ni vidos en iom. 268 00:12:36,350 --> 00:12:40,690 Gifs, kaj JPEG-oj, kaj pngs, statuojn, kaj filmo dosieroj - kion ajn retpaĝo 269 00:12:40,690 --> 00:12:43,280 tio estas plej probabla en la formo de dosiero. 270 00:12:43,280 --> 00:12:46,750 Kaj do kion ni vidas en la maldekstra mana flanko estas ĉiuj dosieroj 271 00:12:46,750 --> 00:12:50,280 ke Chrome devis elŝuti, rekursie, se vi volas, por 272 00:12:50,280 --> 00:12:52,430 formas la tuteco de la paĝo. 273 00:12:52,430 --> 00:12:56,210 >> Do kion ni vidis antaŭ momento kun Google, se mi alklaku la Elementoj 274 00:12:56,210 --> 00:13:00,470 langeton, ĉi tio, certe, estas la HTML, la lingvo kiu formas ĉi paĝo. 275 00:13:00,470 --> 00:13:01,890 Sed estas aroj da aliaj aĵoj. 276 00:13:01,890 --> 00:13:02,640 Tie estas logo. 277 00:13:02,640 --> 00:13:04,680 Ekzistas tiuj bluaj-ish ikonoj tie. 278 00:13:04,680 --> 00:13:07,610 Kaj estas aliaj elementoj ankoraŭ en la paĝo kiu mem povus esti 279 00:13:07,610 --> 00:13:08,610 apartaj dosieroj. 280 00:13:08,610 --> 00:13:11,860 >> Do kio estas agrable pri foliumilo estas ke ĝi rigardas la lingvon ni iras 281 00:13:11,860 --> 00:13:14,690 komenci skribi, aŭ vi havas jam komencis skribi en P aro 7, figuroj 282 00:13:14,690 --> 00:13:17,970 el kie tiuj dosieroj vivi, kaj iras kaj kroĉas ilin tiel. 283 00:13:17,970 --> 00:13:21,010 Kaj mi ne povas elstari sufiĉas, eĉ kvankam iuj el ĉi povus aspekti iomete 284 00:13:21,010 --> 00:13:24,820 arkaikaj aŭ blindiga unuavide, lerni kiel plani 285 00:13:24,820 --> 00:13:28,500 aplikojn por la retejo, estas netaksebla por kompreni kiel tiuj 286 00:13:28,500 --> 00:13:29,410 iom iloj labori. 287 00:13:29,410 --> 00:13:33,830 Tio estas speco de kiel GDB kiel iloj, sed multe pli simpla, fine, uzi - 288 00:13:33,830 --> 00:13:37,690 kaj vere donas al vi okulojn en kio ni estis prenante por donita por 289 00:13:37,690 --> 00:13:39,170 sufiĉe tempo nun. 290 00:13:39,170 --> 00:13:42,270 >> Do kion ni povas nun fari per tiun informon? 291 00:13:42,270 --> 00:13:44,875 Nu, ni vere rigardu la konceptoj suba HTML. 292 00:13:44,875 --> 00:13:49,025 Kaj ni prokrastas, kiel ni jam havas, sekcioj tiu semajno, ĝis la problemo 293 00:13:49,025 --> 00:13:53,260 aro 7 specifo, al iuj de la plej detaloj de tiuj lingvoj. 294 00:13:53,260 --> 00:13:57,020 Sed vidu se ni ne povas pentri bildo de kion vi devus kompreni 295 00:13:57,020 --> 00:13:57,940 entuta tie. 296 00:13:57,940 --> 00:14:02,280 >> Do HTML, hiperteksto Markup Language, ne estas programlingvo. 297 00:14:02,280 --> 00:14:03,520 Kion tio vere signifas? 298 00:14:03,520 --> 00:14:05,690 Do HTML aspektas kiel ĉi tio. 299 00:14:05,690 --> 00:14:06,810 Kaj iuj el vi jam scias tion. 300 00:14:06,810 --> 00:14:08,130 Kelkaj el vi jam faradas ĉi por iu tempo. 301 00:14:08,130 --> 00:14:10,270 Sed vidu se ni ne povas plenigi en kelkaj spacoj tiel. 302 00:14:10,270 --> 00:14:11,760 Do rimarki paro de aferoj tie. 303 00:14:11,760 --> 00:14:13,030 Unu, estas nur teksto. 304 00:14:13,030 --> 00:14:15,960 Do estas ĝuste kiel fonto kodo C, aŭ iu alia lingvo. 305 00:14:15,960 --> 00:14:17,750 >> Rimarku ke ŝajnas esti mastro ĉi tie. 306 00:14:17,750 --> 00:14:20,870 Ekzistas deŝovon, sed teknike la deŝovon estas nur homa 307 00:14:20,870 --> 00:14:21,205 kongreso. 308 00:14:21,205 --> 00:14:24,980 Al retumiloj ne zorgas se novas linioj kaj taboj kiel ni vidas tie. 309 00:14:24,980 --> 00:14:27,410 Sed rimarkos ke ekzistas simetrioj tie. 310 00:14:27,410 --> 00:14:31,180 Jen kion mi vokos, sur la supro de ĉi tiu dosiero, la malferma etikedo, aŭ la komenco 311 00:14:31,180 --> 00:14:33,030 etikedo, nomata HTML. 312 00:14:33,030 --> 00:14:36,800 Kaj poste, sube, perfekte kovrita supren, multe kiel ni faras kun krispa krampoj, 313 00:14:36,800 --> 00:14:40,910 ni vidas malferma krampo, antaŭen oblikvo, HTML, proksime krampo. 314 00:14:40,910 --> 00:14:44,610 Do jen la responda proksime etikedo, aŭ fino etikedon, por tiu afero. 315 00:14:44,610 --> 00:14:47,990 >> Kune, ĉio ene de la tn malfermitaj etikedo kaj proksima etikedo 316 00:14:47,990 --> 00:14:50,440 formi kion ni vokos ero. 317 00:14:50,440 --> 00:14:53,910 Kaj ni vidos, en nur unu momento, ĝi estas vere ŝatas nodo en arboj. 318 00:14:53,910 --> 00:14:57,470 Ĉar se vi pensas pri la nun deŝovon ke estas implicita tie, 319 00:14:57,470 --> 00:15:00,780 speco de havi, ŝati, oni avo nodo nomata HTML. 320 00:15:00,780 --> 00:15:06,870 Kiom da infanoj povus diri, bazita en ĉi tiu bildo, la HTML-elemento havas? 321 00:15:06,870 --> 00:15:07,720 >> Do probable du. 322 00:15:07,720 --> 00:15:10,240 Unu estas la kapo elemento, ŝajne. 323 00:15:10,240 --> 00:15:11,710 Kaj tiu estas la korpo elemento. 324 00:15:11,710 --> 00:15:12,555 Kaj kial du infanojn? 325 00:15:12,555 --> 00:15:15,840 Nu, mi estas nur speco de infiriendo ke se Mi havas malferman kapo etikedo kaj poste 326 00:15:15,840 --> 00:15:17,820 proksima kapo etikedo, jen ero. 327 00:15:17,820 --> 00:15:21,200 Kaj tiam, se estas alia malferma korpo tag kaj proksima korpo etikedo, jen kiel 328 00:15:21,200 --> 00:15:22,340 alia elemento. 329 00:15:22,340 --> 00:15:26,000 Do, en la senco ke se mi specon de turni la bildo en lian flankon, estas 330 00:15:26,000 --> 00:15:29,910 kiel havi HTML etikedo, kaj poste kapo etikedo, kaj tiam korpo etikedo, kaj 331 00:15:29,910 --> 00:15:34,290 tiam iuj teksto, saluton mondo, pendantaj for de la korpo etikedo mem. 332 00:15:34,290 --> 00:15:36,620 >> Do ni povas desegni bildon kiun povus aspekti kiel ĉi tio. 333 00:15:36,620 --> 00:15:38,020 La formoj estas arbitraj. 334 00:15:38,020 --> 00:15:40,870 Sed rimarkos ke mi uzis specon de elipso supre por reprezenti la 335 00:15:40,870 --> 00:15:41,860 dokumenti. 336 00:15:41,860 --> 00:15:45,980 Rezultas ke povas ekzisti aliaj aĵoj ene de retpaĝo kiun mi havas ne 337 00:15:45,980 --> 00:15:46,940 desegnita tie. 338 00:15:46,940 --> 00:15:50,800 Do ni tuj eĉ pendi la HTML nodo ekstere de tn dokumenton nodo. 339 00:15:50,800 --> 00:15:53,730 Kaj tiam ni havas kapon kaj korpo kaj titolo, avizo, 340 00:15:53,730 --> 00:15:55,360 kiu neston for. 341 00:15:55,360 --> 00:15:58,650 Mi ne tedos metante plia linio rompas ene de la titolo etikedo. 342 00:15:58,650 --> 00:16:02,710 Ĝi simple sentis kiel oni ricevas iom tro parolema. 343 00:16:02,710 --> 00:16:07,000 Do mi lasis ĝin en unu linio tie, kun malfermita titolo, saluton mondo, proksima titolo. 344 00:16:07,000 --> 00:16:09,380 Kaj tiam ni havi iu teksto pendantaj de de ĉi tie. 345 00:16:09,380 --> 00:16:12,200 >> Do tiu bildo revenos al ni, kiam ni plonĝi en JavaScript. 346 00:16:12,200 --> 00:16:15,110 Kaj komprenante ke kiam vi skribi HTML kiel ĉi tio, kion 347 00:16:15,110 --> 00:16:16,250 Estas navegador faras? 348 00:16:16,250 --> 00:16:19,290 Nu, ni ne devas maltrankviligi kiel ĝi estas fari tion, aŭ kun kio 349 00:16:19,290 --> 00:16:23,090 algoritmo, sed je la fino de la tago, kiam retumilo ricevas HTML kiel 350 00:16:23,090 --> 00:16:27,510 ke, de Facebook aŭ Google, tio parses ĝin, por tiel diri, ĝi legas ĝin, 351 00:16:27,510 --> 00:16:31,160 kun iu kiel fread, supre fundo, maldekstre dekstren, kaj kiel ĝi 352 00:16:31,160 --> 00:16:36,300 rimarkas, ho, malfermita etikedo, kaj poste fermi etikedo, ĝi komencas malloc, por tiel diri, 353 00:16:36,300 --> 00:16:37,800 nodo en arbo. 354 00:16:37,800 --> 00:16:41,130 Kaj kiam ĝi renkontas, kiel ni implicis tie kun la deŝovon, oni 355 00:16:41,130 --> 00:16:45,400 infano nodo, ĝi mallocs nodo por ke kaj kunigita, ke la arbo. 356 00:16:45,400 --> 00:16:49,150 >> Do la arbo strukturoj, duumaj arboj, triargumenta arboj, kaj pli grandaj arboj, kiuj 357 00:16:49,150 --> 00:16:53,380 Ni ekrigardis unu semajno aŭ du horoj, avizo ke la sama principo estas 358 00:16:53,380 --> 00:16:54,220 revenanta al ni. 359 00:16:54,220 --> 00:16:57,590 Kaj kiu plenumiĝis, Chrome ajn teamo faris tion, supozeble havis 360 00:16:57,590 --> 00:17:00,800 apliki ia arbo strukturo sub la kapuĉo. 361 00:17:00,800 --> 00:17:05,329 Kaj tio mem estas probable en lingvo kiel C, aŭ C + +, aŭ pli malalta 362 00:17:05,329 --> 00:17:08,540 nivelo lingvo kiun ni instruos vin nun uzas la pinto de la TTT. 363 00:17:08,540 --> 00:17:11,200 >> Do nun, eble, tiu volo fari pli senco. 364 00:17:11,200 --> 00:17:15,420 Aktuala tattoo de iu knabo kiu povus bedaŭros eventuale, ia. 365 00:17:15,420 --> 00:17:17,359 OK, all right, do multe da ttt humuro. 366 00:17:17,359 --> 00:17:18,599 Tio ne vere tuj super tiel bone hodiaŭ. 367 00:17:18,599 --> 00:17:19,560 Do ni pluiru. 368 00:17:19,560 --> 00:17:20,180 Ĉio bone. 369 00:17:20,180 --> 00:17:22,760 >> Do ni rigardu nun en kelkaj ekzemploj. 370 00:17:22,760 --> 00:17:24,660 La plej simpla ebla afero povus esti tiu. 371 00:17:24,660 --> 00:17:29,170 Mi tuj iros antaŭen kaj malfermu en gedit dosiero nomata hello.php. 372 00:17:29,170 --> 00:17:31,730 373 00:17:31,730 --> 00:17:36,330 Kaj ene de ĉi tie, mi tuj rapide nur faru tion, printf, quote 374 00:17:36,330 --> 00:17:38,590 unquote, "saluton mondo." 375 00:17:38,590 --> 00:17:42,460 >> Do avizo, kaj mi faros mian backslash n, Mi ne tedis deklari ĉefa. 376 00:17:42,460 --> 00:17:45,310 Rezultas, en php, kaj multaj lingvoj, vi ne bezonas ĉefa 377 00:17:45,310 --> 00:17:46,090 funkcio per si mem. 378 00:17:46,090 --> 00:17:47,720 Vi povas simple komenci skribi via programo. 379 00:17:47,720 --> 00:17:51,210 Nun, kiam mi savos tiun dosieron, rimarki min tuj devos fari la sekvajn. 380 00:17:51,210 --> 00:17:55,360 Mi ne tuj uzos fari, kaj mi ne estas tuj uzos clang ĉar PHP, kontraste 381 00:17:55,360 --> 00:17:57,400 C, ne estas kompilitaj lingvo. 382 00:17:57,400 --> 00:18:01,400 Estas kio nomiĝas interpretita lingvo, kio signifas, ke vi kuras ĝin 383 00:18:01,400 --> 00:18:04,650 kiel eniro tra alia programo nomita interpretisto. 384 00:18:04,650 --> 00:18:08,150 Kaj tiu programo legas ĝin, supre fundo, maldekstre dekstren, kaj faras 385 00:18:08,150 --> 00:18:09,290 kion ajn vi diru ĝin fari. 386 00:18:09,290 --> 00:18:12,920 >> Do, en tiu kazo ĉi tie mi devas unu linio kiu diras printf. 387 00:18:12,920 --> 00:18:17,990 Do kiam mi kuros ĉi fontkodo, hello.php, kvankam programo kiu 388 00:18:17,990 --> 00:18:22,830 okazas, oportune, por nomi PHP, tiu programo PHP tuj legos 389 00:18:22,830 --> 00:18:26,120 tiu dosiero, supre sube, maldekstre dekstren, kaj tuj fari tion, kion mi 390 00:18:26,120 --> 00:18:30,110 diru ĝin fari - ekzekuti kodon, kaj se ne rekonas ion, simple 391 00:18:30,110 --> 00:18:31,320 kraĉi ĝin. 392 00:18:31,320 --> 00:18:34,940 Do mi tuj iros antaŭen kaj kuri PHP de hello.php. 393 00:18:34,940 --> 00:18:37,110 Eniru. 394 00:18:37,110 --> 00:18:39,690 >> Kaj tio ne estas sufiĉe kion mi intencis. 395 00:18:39,690 --> 00:18:40,530 Nu, kial estas tio? 396 00:18:40,530 --> 00:18:43,910 Nu, PHP estas lingvo kiu fakte desegnita por esti sufiĉe 397 00:18:43,910 --> 00:18:46,150 interplektitaj kun sxpinajxo. 398 00:18:46,150 --> 00:18:50,460 Kiam farante retpaĝojn kun ĉi tiu lingvo PHP, kiel ni baldaŭ vidos, ni instruos vin 399 00:18:50,460 --> 00:18:54,560 volas fari ion kiel presita el linioj kiel ĉi tio. 400 00:18:54,560 --> 00:18:55,940 >> Do mi tuj faros tion. 401 00:18:55,940 --> 00:19:00,810 Malferma krampo, demandosigno, PHP, kaj nun mi simple tuj indent ĝuste teni 402 00:19:00,810 --> 00:19:01,960 aĵoj bela. 403 00:19:01,960 --> 00:19:04,910 Kaj nun mi faros demandon marki proksime krampo. 404 00:19:04,910 --> 00:19:06,270 Do tie estas iom de nesimetrio tie. 405 00:19:06,270 --> 00:19:07,490 Vi ne faras tion. 406 00:19:07,490 --> 00:19:10,530 Kaj vi ne faros oblikvo, do PHP estas iom malsamaj. 407 00:19:10,530 --> 00:19:14,610 >> Sed nun, se mi rerun tiu programo, PHP hello.php, nun mi 408 00:19:14,610 --> 00:19:16,090 reale preni Saluton Mondo. 409 00:19:16,090 --> 00:19:17,750 Kaj ni vidos kial tiu estas valora. 410 00:19:17,750 --> 00:19:20,960 Unu, ĝi permesas min specifi, super eksplicite, tio estas 411 00:19:20,960 --> 00:19:22,480 kodo, ekzekuti ĉi. 412 00:19:22,480 --> 00:19:25,480 Kaj tio estas ĝuste kion tiuj specialaj etikedoj implicas tie. 413 00:19:25,480 --> 00:19:30,330 >> Sed ĝi ankaŭ signifas, ke se mi simple fari iu kiel mi notas ĉi tie, por ke 414 00:19:30,330 --> 00:19:34,000 tio signifas ke, laŭvorte, kiu nur presi sen la bezono 415 00:19:34,000 --> 00:19:36,850 efektive nomas printf aux presita, aŭ ajna simila funkcio. 416 00:19:36,850 --> 00:19:39,445 Do ni revenos al tiu en nur momento. 417 00:19:39,445 --> 00:19:40,470 >> Unue, ni faros. 418 00:19:40,470 --> 00:19:43,950 Ene de la aparato, ni havas dosierujon nomita Vhosts, por virtuala 419 00:19:43,950 --> 00:19:47,000 gastigantoj, slash loka gastiganto, slash publiko. 420 00:19:47,000 --> 00:19:50,240 Do estas iom verbose, sed longa rakonto Resume, la aparato estas desegnita ne 421 00:19:50,240 --> 00:19:53,770 nur por subteni C. Ĝi estas ankaŭ desegnita por elporti PHP. 422 00:19:53,770 --> 00:19:57,440 Sed ĝi estas ankaŭ desegnita por esti retejo servilo, kaj datumbazon servilo. 423 00:19:57,440 --> 00:20:00,230 Kaj ĝi estas desegnita, kaj vere agordita, esti memoras ajnan 424 00:20:00,230 --> 00:20:04,230 komerca ttt retprovizanton kompanio kiu vi povus pagi $ 5 monate por, 425 00:20:04,230 --> 00:20:05,040 $ 100 monate por. 426 00:20:05,040 --> 00:20:08,200 Sendepende de la servo estas, ĝi estas agordita esti tre simila al 427 00:20:08,200 --> 00:20:10,170 reala mondo produktado servilo. 428 00:20:10,170 --> 00:20:13,485 >> Kaj kion tio signifas estas ke kurante en la aparato estas retservilo programaro. 429 00:20:13,485 --> 00:20:15,060 Ĝi okazas al nomi Apache. 430 00:20:15,060 --> 00:20:17,790 Estas nur libera kaj malfermita kodo, kaj tre populara. 431 00:20:17,790 --> 00:20:23,260 Kaj ni agordita Apache scii ke se mi vizitas iun URL, kun 432 00:20:23,260 --> 00:20:28,060 Chrome aŭ ajna retumilo ene de la aparato, por serĉi en tiun dosierujon 433 00:20:28,060 --> 00:20:31,030 por la dosieroj, ke la uzanto petas. 434 00:20:31,030 --> 00:20:32,790 >> En aliaj vortoj, permesu al mi antaŭeniri kaj fari ĉi tion. 435 00:20:32,790 --> 00:20:36,890 Ene de mia publika dosierujo, mi tuj iri antaŭen kaj krei dosieron 436 00:20:36,890 --> 00:20:39,580 vokis index.html. 437 00:20:39,580 --> 00:20:41,000 Tio donas al mi la langeton tie. 438 00:20:41,000 --> 00:20:44,210 Kaj mi tuj iros tre rapide kaj iru antaŭen kaj bang el 439 00:20:44,210 --> 00:20:45,010 tiun programon tie. 440 00:20:45,010 --> 00:20:48,410 DOCTYPE HTML, kiun nuntempe, ĝuste supozi vi devas tajpi. 441 00:20:48,410 --> 00:20:53,490 Estas nur arkaikaj etikedo, tio ne vere HTML etikedo, kiu specifas kiun 442 00:20:53,490 --> 00:20:55,050 jen kelkaj HTML. 443 00:20:55,050 --> 00:20:57,400 >> Mi tuj iros antaŭen kaj amuzi kion ni vidis antaŭ momento. 444 00:20:57,400 --> 00:20:58,650 Jen la kapo de la paĝo. 445 00:20:58,650 --> 00:21:01,170 Ene de la kapo estis la - 446 00:21:01,170 --> 00:21:01,890 tiel titolo. 447 00:21:01,890 --> 00:21:04,340 Do ni devos diri saluton, mondo. 448 00:21:04,340 --> 00:21:06,570 Kaj tiam ĉi tie trovis la korpon etikedo. 449 00:21:06,570 --> 00:21:08,580 Lasu min fermi la korpo etikedo. 450 00:21:08,580 --> 00:21:12,280 Kaj tiam en ĉi tie mi ankaŭ diri, nur por klareco, saluton mondo. 451 00:21:12,280 --> 00:21:14,770 >> Do tiu estas, eble, la plej simpla ebla TTT-paĝo vi 452 00:21:14,770 --> 00:21:15,770 povas fari tio estas valida. 453 00:21:15,770 --> 00:21:17,030 Ĝi estas sintakse valida. 454 00:21:17,030 --> 00:21:18,620 Ĉio estas malfermitaj estas fermita. 455 00:21:18,620 --> 00:21:20,910 Ĉio estas bele en stiligas kaj dentado. 456 00:21:20,910 --> 00:21:23,600 Do ni vidas, ke mi povas aliri ĉi tiun dosieron. 457 00:21:23,600 --> 00:21:25,540 >> Nu, lasu min iri al Chrome tie. 458 00:21:25,540 --> 00:21:35,050 Kaj lasu min iri al http://localhost/index.html. 459 00:21:35,050 --> 00:21:36,200 Do kio estas loka gastiganto? 460 00:21:36,200 --> 00:21:39,400 Nu, plej ajna komputilo en la mondo, Linukso, Mac OS, Vindozo, ĝi havas kromnomo 461 00:21:39,400 --> 00:21:40,680 nomata loka gastiganto. 462 00:21:40,680 --> 00:21:42,900 Do, se vi iam volas paroli al via propra komputilo - 463 00:21:42,900 --> 00:21:45,140 kvankam, strange reflexively - 464 00:21:45,140 --> 00:21:47,080 vi nomas vin mem loka gastiganto. 465 00:21:47,080 --> 00:21:50,390 Ne gravas kion via reala komputilo estas vokis, ĉu ĝi estas David MacBook 466 00:21:50,390 --> 00:21:52,490 Aero, aŭ iu pli verbose tiel. 467 00:21:52,490 --> 00:21:57,760 >> Do tiu URL estas ŝajne tuj uzos la HTTP por paroli kun la loka gastiganto, 468 00:21:57,760 --> 00:22:00,800 la sama komputilo, la aparato, kaj ĝi estas tuj petos, nur preni 469 00:22:00,800 --> 00:22:02,570 diveni, kion dosieron? 470 00:22:02,570 --> 00:22:04,460 Index.html. 471 00:22:04,460 --> 00:22:08,650 Do la aparato estis agordita en antaŭi scii, ke se mi demandas 472 00:22:08,650 --> 00:22:13,460 por iu kiel index.html, serĉi en dosierujo nomita Vhosts, en 473 00:22:13,460 --> 00:22:17,950 dosierujo nomita localhost, en dosierujo gxi nomis publiko. 474 00:22:17,950 --> 00:22:20,400 Tie estas kie ĉiuj miaj publika Dosieroj tuj estos. 475 00:22:20,400 --> 00:22:22,610 Do mi nun iras al batis Eniru. 476 00:22:22,610 --> 00:22:27,100 >> Kaj malbenita, estas ke malpermesita mesaĝon, alie konata kiel 403, la 477 00:22:27,100 --> 00:22:28,490 numera kodo por ĝi. 478 00:22:28,490 --> 00:22:30,130 Do kio okazas ĉi tie? 479 00:22:30,130 --> 00:22:33,210 Nu, tio ne sufiĉas por ĝuste meti la dosieron ene de mia dosierujo. 480 00:22:33,210 --> 00:22:35,790 Mi bezonas efektive plenumi la sekvajn. 481 00:22:35,790 --> 00:22:40,210 >> Permesu al mi iri en mian Vhosts dosierujo, en localhost, en publiko, kaj lasis 482 00:22:40,210 --> 00:22:41,680 min fari ls haltostreko l. 483 00:22:41,680 --> 00:22:44,510 Kaj estas kelkaj aliaj aĵoj en ĉi tie por la hodiaŭa celoj. 484 00:22:44,510 --> 00:22:50,540 Sed rimarki sur la maldekstra flanko, apud al index.html, ni vidas nur unu RW. 485 00:22:50,540 --> 00:22:53,560 Kaj en la pasinteco, kia havas RW staris? 486 00:22:53,560 --> 00:22:54,240 >> Nur legi aŭ skribi. 487 00:22:54,240 --> 00:22:58,000 La fakto ke ĝi diras rw maldekstre signifas: Mi, la posedanto de ĉi tiu dosiero, povas 488 00:22:58,000 --> 00:22:59,020 legi aŭ skribi ĝin. 489 00:22:59,020 --> 00:23:05,010 Sed mi bezonas lasi tutan popolon en la mondo legu ĉi tion, kvankam ne skribas ĝin. 490 00:23:05,010 --> 00:23:09,650 Do mi tuj ŝanĝos la modo de la dosiero, chmod, ĉiuj krom r doni 491 00:23:09,650 --> 00:23:13,910 ĉiuj legas permeso de la dosiero nomata index.html. 492 00:23:13,910 --> 00:23:18,040 >> Kaj se mi nun Retajpu ls haltostreko l, avizo ke, ĉi tie, iuj pli 493 00:23:18,040 --> 00:23:19,160 R esti pusxis supren. 494 00:23:19,160 --> 00:23:21,090 Kaj nuntempe, la spec iras pli detale. 495 00:23:21,090 --> 00:23:24,450 Por P aro 7, ke nur signifas ke ĉiuj Nun povas legi ĉi tiun dosieron. 496 00:23:24,450 --> 00:23:27,790 Se mi reirus al mia retumilo nun kaj reŝarĝi, voilà. 497 00:23:27,790 --> 00:23:28,750 Saluton mondo. 498 00:23:28,750 --> 00:23:32,260 >> Kaj mi povas eĉ malfermi mian Chrome iloj kaj vidu, kiel kun Google kaj 499 00:23:32,260 --> 00:23:34,590 Facebook kiu tie estas mia HTML, formatita iom 500 00:23:34,590 --> 00:23:35,930 malsame kaj colorized. 501 00:23:35,930 --> 00:23:40,450 Se mi iras al la reto langeto freŝigi la paĝo, rimarki ke tie estas la akiri 502 00:23:40,450 --> 00:23:42,900 peti ke Chrome sendas al la aparato. 503 00:23:42,900 --> 00:23:46,020 Jen la 200 por ke aparta dosiero. 504 00:23:46,020 --> 00:23:49,340 Do, en mallonga, tiu estas kiel ĉiuj ĉi tiuj diversaj pecoj venas kune. 505 00:23:49,340 --> 00:23:53,530 Ĝi simple tiel okazas ke la retservilo ni uzas ĝuste nun ne estas malproksima, 506 00:23:53,530 --> 00:23:54,210 kiel Facebook. 507 00:23:54,210 --> 00:23:58,330 Ĝi estas laŭvorte sur la sama komputilo, kiu estas perfekte OK. 508 00:23:58,330 --> 00:24:00,590 >> Do kio pli ni povas fari en la retpaĝo? 509 00:24:00,590 --> 00:24:03,110 Nu, simple, ni brizo tra paro el tiuj aĵoj. 510 00:24:03,110 --> 00:24:07,860 Sed lasu min antaŭeniri kaj remalfermi Gedit kun index.html. 511 00:24:07,860 --> 00:24:13,980 Kaj lasu min antaŭeniri kaj saluti CS50, savi ĉi tiun dosieron, reiru al la 512 00:24:13,980 --> 00:24:16,260 retumilo, vere underwhelming ŝanĝon. 513 00:24:16,260 --> 00:24:19,130 >> Sed kion se ni volas vere ligi al io nun? 514 00:24:19,130 --> 00:24:23,480 Do rezultas ke ni povas havi la ligoj en HTML tio estas nur-etikedoj 515 00:24:23,480 --> 00:24:24,140 sin. 516 00:24:24,140 --> 00:24:27,320 Ĝi okazas al nomi la ankron etikedo. a href egalas 517 00:24:27,320 --> 00:24:33,190 https://www.cs50.net, www.cs50.net proksime citaĵo, proksime krampo. 518 00:24:33,190 --> 00:24:35,230 Kaj nun ni vidu kion alia venas tuj. 519 00:24:35,230 --> 00:24:36,500 >> Mi malfermis la etikedo. 520 00:24:36,500 --> 00:24:38,990 Mi nun bezonas doni ĝin frazo kiel CS50. 521 00:24:38,990 --> 00:24:40,600 Lasu min fermi la etikedo. 522 00:24:40,600 --> 00:24:42,010 Kaj rimarki kelkajn aferojn. 523 00:24:42,010 --> 00:24:45,270 Kvankam tie estas tio kripta afero ĉi tie, mi ne ripetis ĝin kiam vi 524 00:24:45,270 --> 00:24:46,010 fermi la etikedo. 525 00:24:46,010 --> 00:24:48,230 Vi nur fermi la etikedo kun lia nomo nur. 526 00:24:48,230 --> 00:24:50,940 Kaj ĉi tiu estas kion oni nomas atributo kun valoro. 527 00:24:50,940 --> 00:24:56,070 Atributoj nur modifi la konduton de iu etikedo ene de artikolo. 528 00:24:56,070 --> 00:24:59,150 >> Do tiu estas preciziganta ke la hiper referenco, la imago maniero diri la 529 00:24:59,150 --> 00:25:03,660 URL por ĉi ankro, por ĉi tiu ligilo, devus esti CS50.net. 530 00:25:03,660 --> 00:25:07,440 Kaj la teksto kiun ni volas montri la uzanto ne estas tiu kruda URL, sed prefere 531 00:25:07,440 --> 00:25:08,730 la vorto CS50. 532 00:25:08,730 --> 00:25:13,710 >> Do se nun mi povos reŝargi, lasu min zoom in por klareco, lasu min reŝarĝi la paĝon, 533 00:25:13,710 --> 00:25:16,460 rimarki, ke ni havas ĉi malnova lernejo blua emfazis ligilon. 534 00:25:16,460 --> 00:25:20,000 Kaj se mi ŝvebi super ĝi, kaj tuj esti malmolaj por vidi, en la fundo forlasis 535 00:25:20,000 --> 00:25:23,690 mano angulo de la ekrano, rimarki kiu diras la URL al kiu 536 00:25:23,690 --> 00:25:24,430 Mi tuj iros. 537 00:25:24,430 --> 00:25:27,940 Kaj se mi klakas tie, voilà, nun mi faras retpaĝoj. 538 00:25:27,940 --> 00:25:30,140 Kaj ni kondukis nin al la hejmpaĝo. 539 00:25:30,140 --> 00:25:32,670 >> Sed rimarki kion potencial tiu proponas al ni. 540 00:25:32,670 --> 00:25:34,890 Sekureco estas tre multe en boga tiuj tagoj. 541 00:25:34,890 --> 00:25:41,210 Kio se mi anstataŭ diri ion kiel ĉi tio, kaj mi anstataŭ iri al, ni diru, ni 542 00:25:41,210 --> 00:25:42,460 vidu, fakeCS50.net. 543 00:25:42,460 --> 00:25:44,660 544 00:25:44,660 --> 00:25:46,360 Reload ĉi paĝo. 545 00:25:46,360 --> 00:25:50,180 >> Bone, do rimarki ankoraŭ aspektas kiel mi estas tuj CS50, krom se ruza okulo 546 00:25:50,180 --> 00:25:51,560 Rimarku ke mi tuj falsa CS50. 547 00:25:51,560 --> 00:25:54,550 Mi konjektas tiu domajno ne estas prenita. 548 00:25:54,550 --> 00:25:55,960 Bone, do ĝi ne estas havebla. 549 00:25:55,960 --> 00:25:56,600 Do tio estas bona. 550 00:25:56,600 --> 00:25:57,900 Neniu vere havas tiun domajno. 551 00:25:57,900 --> 00:26:00,380 >> Sed ni estos iom pli malica ĉar tio estas speco de stulta. 552 00:26:00,380 --> 00:26:02,240 Kio se ni ŝanĝos ĉi tion al Paypal. 553 00:26:02,240 --> 00:26:09,960 Kaj kion se ni nomas tiun, kiel, www.paypal.badguy.com, 554 00:26:09,960 --> 00:26:12,070 kion ajn la domajno estas. 555 00:26:12,070 --> 00:26:13,700 Tio probable ekzistas. 556 00:26:13,700 --> 00:26:16,260 Do nun lasu min reŝarĝi la paĝon. 557 00:26:16,260 --> 00:26:22,890 Kaj ĉi tie ni havas specon de phishing atako, P-H-mi-S-H-mi-N-G, kiuj estas la 558 00:26:22,890 --> 00:26:26,760 stulta vorto donita por atako kiu provas fiŝo informo, aŭ, pli bone 559 00:26:26,760 --> 00:26:30,450 tamen, mono, el popolo de trompante ilin provizante informon kiu 560 00:26:30,450 --> 00:26:31,990 ili ne alie fari. 561 00:26:31,990 --> 00:26:33,500 Ĉi aspektas tute legit, ĉu ne? 562 00:26:33,500 --> 00:26:34,930 Mi devas havi ligon tie Paypal.com. 563 00:26:34,930 --> 00:26:37,700 564 00:26:37,700 --> 00:26:40,430 En justeco, se mi sexed ĝin kun iu grafiko, ni povas fari ĝin rigardi 565 00:26:40,430 --> 00:26:41,310 pli kiel PayPal. 566 00:26:41,310 --> 00:26:41,510 Ĝuste? 567 00:26:41,510 --> 00:26:43,815 Ĉar mi povis, kiel flanken, Mi povis iri al Paypal.com. 568 00:26:43,815 --> 00:26:47,110 Kaj ni ĵus vidis, kiel mi, facile vidi ĉiujn iliajn HTML. 569 00:26:47,110 --> 00:26:50,560 Mi povus simple kopii ĝin kaj amuzi la estetiko de Paypal anstataŭ iri 570 00:26:50,560 --> 00:26:51,490 malnova lernejo tie. 571 00:26:51,490 --> 00:26:55,010 Sed rimarkas, kompreneble, kaj estas iom malgranda ankoraŭ, nur en la fundo 572 00:26:55,010 --> 00:26:59,190 maldekstra angulo, en kiel 10 punkto tiparo, vi vidas kion URL vi estas 573 00:26:59,190 --> 00:27:01,310 fakte tuj estos kondukataj al. 574 00:27:01,310 --> 00:27:06,580 >> Kaj do se vi iam alveninta spamado dirante iru antaŭen, kaj vi rakontu 575 00:27:06,580 --> 00:27:07,420 estis kompromititaj. 576 00:27:07,420 --> 00:27:10,615 Bonvolu alklaki ĉi ligon kaj sciigu nin vian pasvorton tiel ni povas certigi vi estas 577 00:27:10,615 --> 00:27:13,010 vi ne iam fari tion. 578 00:27:13,010 --> 00:27:14,180 Tion devus iri sen diri. 579 00:27:14,180 --> 00:27:17,670 Sed estas mirinde amuze, kaj tragika, kiel ĉiujare ĉi tio ŝajnas 580 00:27:17,670 --> 00:27:19,660 okazi al iu ne-nula nombro de personoj. 581 00:27:19,660 --> 00:27:21,400 >> Kaj tio estas la belo de phishing atakoj. 582 00:27:21,400 --> 00:27:23,160 Vi povas sendi miliono retpoŝtoj. 583 00:27:23,160 --> 00:27:27,720 Kaj eĉ se 0,01% da homoj reale alklaku Paypal kaj donu al vi viajn 584 00:27:27,720 --> 00:27:31,040 pasvorto, tio estas ankoraŭ ne-nula nombro de personoj kiuj ĵus donante 585 00:27:31,040 --> 00:27:32,200 vi ilian monon. 586 00:27:32,200 --> 00:27:36,170 Kaj sendas retpoŝtojn, kompreneble, estas tute facila kaj, esence, libera 587 00:27:36,170 --> 00:27:36,970 ĉi tiuj tagoj. 588 00:27:36,970 --> 00:27:40,410 >> Do longan rakonton, mirinde bela ideo, ĉu ne? 589 00:27:40,410 --> 00:27:44,620 Antaŭ jaroj, ĉi tiu estis la plej frua retejo, permesante retejo de 590 00:27:44,620 --> 00:27:46,330 hiperligoj inter rimedoj. 591 00:27:46,330 --> 00:27:49,520 Sed tiel rapide povus esti uzata por malsana celoj. 592 00:27:49,520 --> 00:27:54,100 Kaj retpoŝto, sufiĉas diri, tiujn tagoj, ili HTML enigita enen. 593 00:27:54,100 --> 00:27:55,410 >> Nu, lasu min nur unu alia afero. 594 00:27:55,410 --> 00:27:58,640 Kaj ni prokrastas grandparte al sekcio en problemo starigis sep por permesi al vi 595 00:27:58,640 --> 00:28:00,000 esplori la detaloj. 596 00:28:00,000 --> 00:28:01,990 Sed lasu min antaŭeniri kaj fari kelkajn aferojn tie. 597 00:28:01,990 --> 00:28:04,840 Mi tuj iros kaj rakontos kio nomiĝas div aux 598 00:28:04,840 --> 00:28:06,080 divido, de la paĝo. 599 00:28:06,080 --> 00:28:07,770 Lasu min fermi ke div etikedo. 600 00:28:07,770 --> 00:28:11,460 >> Kaj mi tuj diros supren tie la supro. 601 00:28:11,460 --> 00:28:14,940 Kaj poste sub tiu, mi faros iu kiel alia div, fermu 602 00:28:14,940 --> 00:28:17,800 etikedo, kaj faru malsupro de la paĝo. 603 00:28:17,800 --> 00:28:18,840 Kaj ni konservu ĝin. 604 00:28:18,840 --> 00:28:21,040 >> Do nun ni reiros al mia dosiero. 605 00:28:21,040 --> 00:28:22,120 Tre underwhelming. 606 00:28:22,120 --> 00:28:25,520 Sed kion divido estas uzata por, sub la kapuĉo, ĝi estas fakte 607 00:28:25,520 --> 00:28:26,920 belan struktura elemento. 608 00:28:26,920 --> 00:28:30,300 Ĝi ne havas ajnan estetiko Kiom ni povas vidi, krom, ŝajne, 609 00:28:30,300 --> 00:28:31,890 metante aĵoj sur novaj linioj. 610 00:28:31,890 --> 00:28:36,290 >> Sed rimarki, kiel flanken, nur bati Entajpu ne tranĉas ĝin en HTML ŝatas ĝin 611 00:28:36,290 --> 00:28:39,840 ne en C. Vi povus pensi ke tio estas tuj metos belan granda breĉo inter 612 00:28:39,840 --> 00:28:41,300 la supro kaj malsupro de la paĝo. 613 00:28:41,300 --> 00:28:43,420 Sed ĝi estas ignorita. 614 00:28:43,420 --> 00:28:48,040 Blanka spaco estas esence ignorita en retpaĝojn aliaj ol la unua 615 00:28:48,040 --> 00:28:51,530 spaco trinkejo karaktero, aŭ tirilo, ke vi batis sur la klavaro. 616 00:28:51,530 --> 00:28:55,370 Se vi volas pli linisaltojn, vi devas specifi ĝin vi mem. 617 00:28:55,370 --> 00:28:59,080 >> Do mi faros kelkajn aferojn tie por montri kion okazas. 618 00:28:59,080 --> 00:29:02,700 Mi tuj aldonos atributo kiu Ekzistas Kaj denove, kiel vi lernos 619 00:29:02,700 --> 00:29:07,110 kio atribuas ekzistas, kio etikedoj ekzisti, vere, estas enreta referencoj. 620 00:29:07,110 --> 00:29:09,750 HTML estas la speco de lingvo - ĝi estas ne estas programlingvo. 621 00:29:09,750 --> 00:29:12,460 Ĝi estas markita lingvo - ke post bona duonhoro, eble, horo kun 622 00:29:12,460 --> 00:29:15,930 tio, vi certe ekkapti, plej Probable, la baza ideo. 623 00:29:15,930 --> 00:29:20,350 Kaj tiam serĉo Google for estas ĉio la eblaj etikedoj ke vi estu 624 00:29:20,350 --> 00:29:21,170 interesiĝas in 625 00:29:21,170 --> 00:29:24,290 Kaj por la specifon, kiu estas sufiĉe bonvenigi kaj kuraĝigis ĉi tie. 626 00:29:24,290 --> 00:29:26,120 >> Do nun lasu min iri antaŭen kaj fari ion kiel ĉi tio. 627 00:29:26,120 --> 00:29:28,690 Fona koloro. 628 00:29:28,690 --> 00:29:32,060 Kaj nun, mi faros ion kiel ruĝa, punktokomo. 629 00:29:32,060 --> 00:29:33,970 Kaj vi povas tion fari en kelkaj diversaj manieroj. 630 00:29:33,970 --> 00:29:36,770 Mi estas nur speco de tajpi ĝin kiel super eksplicite kiel ebla. 631 00:29:36,770 --> 00:29:41,960 >> Sed ĝi rezultas ke tiu valoro ĉi tie estas kion oni nomas CSS, Laŭtemaj Stilo 632 00:29:41,960 --> 00:29:43,700 Littukoj, kio apartenas al alia lingvo entute. 633 00:29:43,700 --> 00:29:46,770 CSS havas nenion komunan kun malfermi etikedoj kaj proksima etikedoj. 634 00:29:46,770 --> 00:29:48,230 Ĝi devas vidi kun proprietoj. 635 00:29:48,230 --> 00:29:52,660 >> Kaj propraĵoj estas simple ŝlosilo valoro paroj, kiu signifas nur iun vorton, 636 00:29:52,660 --> 00:29:54,680 dupunkto, kaj poste iu alia vorto. 637 00:29:54,680 --> 00:29:57,940 Kaj se vi havas plurajn, aŭ simple ĉi tie, vi povas fini ĝin per 638 00:29:57,940 --> 00:29:59,390 punktokomo, nur por klareco. 639 00:29:59,390 --> 00:30:01,370 Sed tio ankaŭ laboros tie. 640 00:30:01,370 --> 00:30:02,500 >> Nun kio tiu intencas fari? 641 00:30:02,500 --> 00:30:03,610 Vi verŝajne povas diveni. 642 00:30:03,610 --> 00:30:05,930 Lasu min antaŭeniri kaj reŝargi tiun paĝon. 643 00:30:05,930 --> 00:30:07,300 Kaj nun ĝi estas vere venas kune. 644 00:30:07,300 --> 00:30:09,150 Do supro de mia paĝo estas ruĝa. 645 00:30:09,150 --> 00:30:12,380 Sed kio estas ŝlosilo tie estas ke, mi menciis antaŭe, ke div donas al vi 646 00:30:12,380 --> 00:30:13,220 divido de la paĝo. 647 00:30:13,220 --> 00:30:14,410 Kaj tio estas ĝuste kion ĝi faras. 648 00:30:14,410 --> 00:30:17,920 Ĝi esence dividas la paĝon al rektangulo kiu vi povas tiam 649 00:30:17,920 --> 00:30:18,720 manipuli. 650 00:30:18,720 --> 00:30:22,330 >> Kaj ĉi tiu nocio de ortanguloj estas speco de konvinka en tio, se vi pensas 651 00:30:22,330 --> 00:30:26,410 plej ajna TTT-ejo, tie estas probable iu strukturo al ĝi. 652 00:30:26,410 --> 00:30:29,620 La plejparto de vi probable malofte vidita Facebook hejmpaĝo se vi ensalutinta 653 00:30:29,620 --> 00:30:30,440 en la tuta tempo. 654 00:30:30,440 --> 00:30:33,920 >> Sed en Facebook ĉefpaĝon, estas ia div kune la supro. 655 00:30:33,920 --> 00:30:36,140 Kaj ĝi ne povus esti tiel simpla kiel unu div, sed estas 656 00:30:36,140 --> 00:30:37,560 rektangula regiono tie. 657 00:30:37,560 --> 00:30:40,290 La resto de la paĝo estas kiel grandega div, kiel multe 658 00:30:40,290 --> 00:30:41,910 grandaj rektangulaj regiono. 659 00:30:41,910 --> 00:30:44,540 Do longan rakonton, nur por havi tiuj malgranduloj blokoj, la 660 00:30:44,540 --> 00:30:49,250 kapablo modelo aĵoj kiel rektanguloj, ĉu larĝa aŭ mallarĝa, vi povas ankaŭ 661 00:30:49,250 --> 00:30:53,680 fari kolumnoj potenciale, permesas vin kuŝis ekstere paĝoj, vere, tamen vi 662 00:30:53,680 --> 00:30:54,100 ŝatus. 663 00:30:54,100 --> 00:30:56,170 Ni vere nur skrapi la surfaco ĉi tie. 664 00:30:56,170 --> 00:30:59,820 >> Ja, se mi faras unu alia, lasu min antaŭeniri kaj fari stilo, 665 00:30:59,820 --> 00:31:05,410 fono-koloro, ni faros ion kiel blua, proksime citaĵoj. 666 00:31:05,410 --> 00:31:06,620 Ni reŝarĝi ĉi. 667 00:31:06,620 --> 00:31:08,260 Do nun ĝi iĝas eĉ pli malbelaj. 668 00:31:08,260 --> 00:31:11,520 Sed nun mi povas ia montri miaj P starigis kvin lertecojn, ĉu ne? 669 00:31:11,520 --> 00:31:12,690 Ruĝa. 670 00:31:12,690 --> 00:31:15,640 Ĝi rememorigas al mi RGB, Reto Verda Blua triopoj. 671 00:31:15,640 --> 00:31:19,330 Nu, tio rezultas en retejo programado, aŭ TTT-dezajno, kiu estas cxi tiu, ni 672 00:31:19,330 --> 00:31:21,650 ankoraŭ ne planis ion per, vi povas efektive 673 00:31:21,650 --> 00:31:22,880 havi deksesuma kodo. 674 00:31:22,880 --> 00:31:26,480 Do io io, iu io, iu ion. 675 00:31:26,480 --> 00:31:30,650 Do vi povas havi ses deksesumaj karakteroj, aŭ tri, en iuj kazoj, 676 00:31:30,650 --> 00:31:33,480 kaj ĉiu el tiuj demandosignojn devas esti deksesumaj ciferoj, 677 00:31:33,480 --> 00:31:34,985 nulo tra f. 678 00:31:34,985 --> 00:31:41,000 >> Se mi volas havi multe da ruĝaj, kaj neniu verda, kaj neniu blua, kio estas la 679 00:31:41,000 --> 00:31:43,740 malo de nulo uzinte deksesumajn? 680 00:31:43,740 --> 00:31:44,480 Ĝi estas f. 681 00:31:44,480 --> 00:31:51,130 Do mi povas fari ff, nulo nulo, nulo nulo, savi tion, kaj nun deiru tie. 682 00:31:51,130 --> 00:31:52,700 Kaj mi ne vere vidas ŝanĝon. 683 00:31:52,700 --> 00:31:56,230 Do citaĵo unquote "ruĝa" estas ŝajne sinonimo por ĉiuj ruĝa, 684 00:31:56,230 --> 00:31:57,610 neniu verdaj, neniu blua. 685 00:31:57,610 --> 00:31:59,960 Dume, ni intence ŝanĝi ĉi tiu esti iu 686 00:31:59,960 --> 00:32:01,210 hazarda, kiel ABCDF. 687 00:32:01,210 --> 00:32:03,790 688 00:32:03,790 --> 00:32:05,860 >> Ni vidu kio estas tio. 689 00:32:05,860 --> 00:32:08,530 Ĝi estas vere bela blua, fakte, bebo blua. 690 00:32:08,530 --> 00:32:11,820 Bone, do tiuj estas nur nun iom hazarda kombinojn de 691 00:32:11,820 --> 00:32:12,210 gravuloj. 692 00:32:12,210 --> 00:32:13,410 Do ni ne get enkaĉiĝis en ĉi tie. 693 00:32:13,410 --> 00:32:15,930 Sed denove, ĉi tio temas pri la precizeco ke vi povas komenci 694 00:32:15,930 --> 00:32:19,090 apliki - eĉ se vi tre premita de la estetiko. 695 00:32:19,090 --> 00:32:21,750 Fakte, se vi vere volas esti impresas, lasu min antaŭeniri kaj ŝanĝi 696 00:32:21,750 --> 00:32:23,500 la tiparo, ekzemple. 697 00:32:23,500 --> 00:32:25,960 Kaj rimarkos la punktokomo, kiu Estas necese tien. 698 00:32:25,960 --> 00:32:29,570 >> Font grandeco, povas esti simple ridinda ĉi tie, 96 punkton. 699 00:32:29,570 --> 00:32:31,280 Savi. 700 00:32:31,280 --> 00:32:33,670 Wow, tio estas granda tiparo. 701 00:32:33,670 --> 00:32:35,490 Bone, do ĝi estas tre facila. 702 00:32:35,490 --> 00:32:38,260 Kaj efektive, vi esence vidante la unua retpaĝo mi faris 703 00:32:38,260 --> 00:32:40,060 jaroj, kiam mi unue lernis ĉi aĵoj. 704 00:32:40,060 --> 00:32:42,190 Estas tre facile fari tre malbelegaj aferoj rapide. 705 00:32:42,190 --> 00:32:46,115 >> Kaj se vi konas la Wayback Maŝino en archive.org, vi 706 00:32:46,115 --> 00:32:48,210 povas trovi mian tutan hidan undergrad retpaĝoj. 707 00:32:48,210 --> 00:32:50,090 Unu havis Kermit la rano sur la fronto. 708 00:32:50,090 --> 00:32:53,150 Mi iris por fazo, kie mi pensis estis malvarmeta preni la fono de 709 00:32:53,150 --> 00:32:56,320 ruĝa kurteno, kiam mi eksciis kiom vi can kahelo bildojn denove kaj denove, kaj 710 00:32:56,320 --> 00:32:59,540 denove, por plenigi paĝo kun grandan tacky ruĝa kurteno. 711 00:32:59,540 --> 00:33:03,120 Kaj tiam, supre sur ĉi tio, estis ikono ke vi devis premi por eniri mian hejmon 712 00:33:03,120 --> 00:33:04,960 paĝo ĉar tiu estis tre en boga. 713 00:33:04,960 --> 00:33:08,870 >> Kaj tiam mia unua programo kiun mi iam verkis ne estis en PHP, sed en lingvo 714 00:33:08,870 --> 00:33:12,260 nomata Perlo, skribis gasto libro, kiu Estas vere malvarmeta aĵo kiu 715 00:33:12,260 --> 00:33:14,250 multaj homoj atendas vin havi sur ĉefpaĝon. 716 00:33:14,250 --> 00:33:17,510 Kiam vi atingos la paĝo, ili volas ke vi subskribi, kaj diros, kiu vi estas 717 00:33:17,510 --> 00:33:18,720 kaj kial vi estas tie. 718 00:33:18,720 --> 00:33:21,320 Ĉi tio estas tre 1990 stilo retejo dezajno. 719 00:33:21,320 --> 00:33:24,130 >> Sed tiuj tagoj, certe, ni venas multe pli malproksime. 720 00:33:24,130 --> 00:33:27,560 Kaj vi vidos, en sekcio, kaj eĉ en la problemo starigis sep, por 721 00:33:27,560 --> 00:33:31,570 utiligante bibliotekoj tiuj tagoj, ĝi estas tiel facile fari 722 00:33:31,570 --> 00:33:33,400 belaj aĵoj rapide. 723 00:33:33,400 --> 00:33:36,550 Vere ĉi tie, ni nur skrapi la surfaco de kion vi povas fari 724 00:33:36,550 --> 00:33:37,400 stile. 725 00:33:37,400 --> 00:33:41,660 >> Kaj fakte, jam, lasu min reliefigi ke tio jam estas atingi malbela, ne 726 00:33:41,660 --> 00:33:46,030 nur estetike, sed en terminoj de stilo de mia kodon, aŭ la 727 00:33:46,030 --> 00:33:47,260 dezajno de mia kodo. 728 00:33:47,260 --> 00:33:52,350 Mi nuntempe comingled HTML, kiu estas la verdeca malferma etikedoj tie, kun 729 00:33:52,350 --> 00:33:55,160 CSS propraĵoj, kiujn Estas plene legit. 730 00:33:55,160 --> 00:33:57,200 Tiu estas vere kie la lingvo havis liaj originoj. 731 00:33:57,200 --> 00:34:01,030 >> Sed en la intereso de pura dezajno, multe kiel ni komencis faktorigo stuff 732 00:34:01,030 --> 00:34:05,370 el C dosierojn en. h dosieroj, lasu mi efektive praktiki tian 733 00:34:05,370 --> 00:34:07,990 maksimuma kaj komenci fari ĉi anstataŭe. 734 00:34:07,990 --> 00:34:13,280 Lasu min metis stilo etikedo ĝis ĉi tie, kiuj ekzistas ankaŭ en HTML, kaj lasu min 735 00:34:13,280 --> 00:34:15,330 specifi la sekva. 736 00:34:15,330 --> 00:34:16,360 Lasu min forviŝi ĉi. 737 00:34:16,360 --> 00:34:18,110 Fonkoloro tuj estos ruĝa. 738 00:34:18,110 --> 00:34:19,800 Mi tuj forviŝi ĉi tute. 739 00:34:19,800 --> 00:34:22,580 Mi tuj forigi la stilon atribui, kaj mi tuj unike 740 00:34:22,580 --> 00:34:24,620 identigi ĉi div kun vorto - 741 00:34:24,620 --> 00:34:28,750 arbitre, sed prudente, citaĵo unquote "top". Kaj id estas speciala 742 00:34:28,750 --> 00:34:32,530 atributo kiu unike difinas iu HTML elemento 743 00:34:32,530 --> 00:34:33,850 kiel havanta ke id. 744 00:34:33,850 --> 00:34:37,969 >> Se mi nun volas stiligita ĝin, ĝis ĉi tie en la kapo de mia paĝo, ene de la 745 00:34:37,969 --> 00:34:41,730 stilo etikedo, rimarki ke Mi povas fari hash supro. 746 00:34:41,730 --> 00:34:45,300 Kaj tiam mi povas meti paron de krispa krampoj, rememorado de C, kaj tiam 747 00:34:45,300 --> 00:34:47,130 mi almeti en tiu estilización. 748 00:34:47,130 --> 00:34:49,929 Kaj lasu min iri antaŭen tie kaj anticipi kie mi iros kun cxi tiu. 749 00:34:49,929 --> 00:34:53,380 Permesu al mi ankaŭ krei por la fundo div. 750 00:34:53,380 --> 00:34:58,010 Lasu min kapti tiun hidan kodo de sube ĉi tie, meti ĝin en ĉi tie, kaj mi estos 751 00:34:58,010 --> 00:35:00,770 iom pli anal nun kaj stiligita ĝin por nur meti tion sur siaj propraj 752 00:35:00,770 --> 00:35:02,540 linio, finiĝanta per punktokomojn. 753 00:35:02,540 --> 00:35:04,430 Lasu min forigi la stilo etikedo. 754 00:35:04,430 --> 00:35:05,320 >> Sed mi ne faris ankoraŭ. 755 00:35:05,320 --> 00:35:07,406 Mi bezonas fari unu alian aferon. 756 00:35:07,406 --> 00:35:10,070 Jes, id egalas citaĵo unquote, "fundo" aŭ kio ajn id mi volas 757 00:35:10,070 --> 00:35:11,740 doni tiun elementon. 758 00:35:11,740 --> 00:35:13,420 Nun, lasu min reveni tien. 759 00:35:13,420 --> 00:35:14,360 Kaj jen estas abomena. 760 00:35:14,360 --> 00:35:15,805 Mi ne povas trakti 96 punkton. 761 00:35:15,805 --> 00:35:16,960 Ni faras 24 punkton. 762 00:35:16,960 --> 00:35:18,320 Aŭ vi povus esti pli preciza. 763 00:35:18,320 --> 00:35:21,800 Vi povas fakte uzi rastrumeroj, px, do ke vi vere akiri pli fajna akno 764 00:35:21,800 --> 00:35:23,220 kontrolon pri via paĝo. 765 00:35:23,220 --> 00:35:26,860 >> Kiel flanken, tio ne nepre la plej bona afero se la uzantoj, por 766 00:35:26,860 --> 00:35:29,650 alirebleco kialoj, volas povi pliigi grandecoj. 767 00:35:29,650 --> 00:35:32,650 Do rimarkas ke ekzistas manieroj fari aĵoj kiuj ne nepre 768 00:35:32,650 --> 00:35:34,230 malmola kodo ĉio. 769 00:35:34,230 --> 00:35:37,220 >> Bone, do ĝi estas pli granda, 24 punkton, ol kion ajn la defaŭlta estas. 770 00:35:37,220 --> 00:35:38,630 Sed nun ĝi estas iom pli pura. 771 00:35:38,630 --> 00:35:40,230 Kaj lasu min forigi tiun paŝon pli. 772 00:35:40,230 --> 00:35:47,220 Ĝuste kiel la ideo de header files, rimarki ni estas unu paŝo pli proksima al tio. 773 00:35:47,220 --> 00:35:52,000 Mi havas faktorita ekstere, sed ankoraŭ restis, ene de mia paĝo, tiuj CSS regulojn. 774 00:35:52,000 --> 00:35:56,200 Kial eble mi volas preni ĉi tiu paŝo plui, forigu ĉi entute, kaj 775 00:35:56,200 --> 00:35:59,860 metis ĝin en aparta dosiero? 776 00:35:59,860 --> 00:36:01,070 >> Do mi povas reuzi ĝin, ĉu ne? 777 00:36:01,070 --> 00:36:03,155 Ĉi tio estas nur ia intuicio nun. 778 00:36:03,155 --> 00:36:06,340 Antaŭe, mi asertis ke estis nur akiranta malbela havante la stilon 779 00:36:06,340 --> 00:36:08,480 atributojn ene de la divs sin. 780 00:36:08,480 --> 00:36:09,750 Sed ĝuste ia pensas ke per. 781 00:36:09,750 --> 00:36:13,560 Kiel via paĝo ricevas pli kaj pli longaj, se vi meti tie ĉi, kaj ĉi tie, kaj 782 00:36:13,560 --> 00:36:18,350 tie kaj tie, ĉiuj ĉi tiuj malsamaj koloroj, kaj tiparon grandecoj, kaj aliaj tiaj 783 00:36:18,350 --> 00:36:22,550 atributoj, via paĝo estas tre rapide iri igi ingobernables por vi. 784 00:36:22,550 --> 00:36:24,570 >> Se iu venas al vi kaj diras, ho, vi scias kion? 785 00:36:24,570 --> 00:36:28,070 Mi vere volonte por ŝanĝi la tiparon grandeco per du pliaj punktoj, vi 786 00:36:28,070 --> 00:36:31,275 eble devus iri kaj serĉi kaj anstataŭigi grandega nombro de linioj de kodo. 787 00:36:31,275 --> 00:36:35,170 Ĝi estas multe pli konvinkaj centralizi ĉiuj tiaj estetiko tie. 788 00:36:35,170 --> 00:36:38,850 Sed se vi ŝatus reuzi tiuj estetiko en multnombraj retpaĝoj, ĉiuj 789 00:36:38,850 --> 00:36:41,100 la plej konvinka al, por Ekzemple, krei dosieron 790 00:36:41,100 --> 00:36:45,290 vokis kun tiuj enhavoj. 791 00:36:45,290 --> 00:36:46,680 >> Kaj lasu min fari tion. 792 00:36:46,680 --> 00:36:51,150 793 00:36:51,150 --> 00:36:51,920 Konservi ĉi tiun dosieron. 794 00:36:51,920 --> 00:36:55,580 Mi diras styles.css, arbitraj, sed konvencia. 795 00:36:55,580 --> 00:36:58,770 Mi metos ĝin en John Harvard hejmo katalogo nun por simpleco. 796 00:36:58,770 --> 00:37:03,880 Kaj kion mi povas fari en mia retpaĝo estas akiri senigi de la stilo etikedo aro, 797 00:37:03,880 --> 00:37:08,270 kaj iom unintuitively, uzu ligon etikedo, kiu ne donas al vi ligilon en 798 00:37:08,270 --> 00:37:13,140 la hiperligilo, alklakebla senco, sed kie mi diras ligilo, href egalas 799 00:37:13,140 --> 00:37:15,120 styles.css. 800 00:37:15,120 --> 00:37:20,050 Kaj la rilaton, kiu ĉi tiu elemento kiu kun la retpaĝo estas servi kiel 801 00:37:20,050 --> 00:37:21,280 lia stilo folio. 802 00:37:21,280 --> 00:37:22,670 >> Do kiamaniere mi scios tion? 803 00:37:22,670 --> 00:37:25,950 Unu, vi nur legas la manlibro, aŭ vi Google ĉirkaŭe, kaj vi 804 00:37:25,950 --> 00:37:27,000 rigardi diversajn rimedojn. 805 00:37:27,000 --> 00:37:30,520 Mi volas diri, ke vere estas tiel kiel vi prenas teknikoj kiel tiu, kaj, konsekvence 806 00:37:30,520 --> 00:37:34,720 kun tiu ideo de instruante sin nova lingvoj, denove, vi trovos ke 807 00:37:34,720 --> 00:37:38,830 tie estas nur finia nombro de aĵoj al ajna lingvo kiu, unu fojon vi ricevas 808 00:37:38,830 --> 00:37:41,310 ili, vi trovos ke ĝi ricevas pli rapide skribi. 809 00:37:41,310 --> 00:37:44,180 Ja, lerni novan programado lingvo estas tiel pli rapide ol nova 810 00:37:44,180 --> 00:37:47,380 parolata lingvo, ĉar tio estas multe pli malgranda kaj multe pli 811 00:37:47,380 --> 00:37:48,820 precize difinita. 812 00:37:48,820 --> 00:37:51,590 >> Sed mi reliefigis iom de anomalio tie. 813 00:37:51,590 --> 00:37:57,750 Kial do mi reliefigis tiun antaŭen slash tie? 814 00:37:57,750 --> 00:37:59,420 Ĉar mi devos fermi la etikedo. 815 00:37:59,420 --> 00:38:00,530 Mi devus fermi la etikedo. 816 00:38:00,530 --> 00:38:02,750 Kaj vi trovos sennombraj rimedoj linio kiu ne 817 00:38:02,750 --> 00:38:04,080 nepre proksimaj etikedoj. 818 00:38:04,080 --> 00:38:08,770 Kaj realisme, ne estas strikte necesa por teknikaj kaj ekzistas 819 00:38:08,770 --> 00:38:11,950 kialoj de la realo, retumiloj estas nur sufiĉe tolerema erarojn en retejo 820 00:38:11,950 --> 00:38:14,360 paĝoj, por pli bona aŭ por malbona, sed plejparte malbona. 821 00:38:14,360 --> 00:38:18,830 >> Do ĉi tie estas nur pura vojo de dirante iu stulta kiel oriento, 822 00:38:18,830 --> 00:38:22,330 kie se vi volas malfermi la ligilon etikedo sed fermi ĝin, estas vere neniu nocio 823 00:38:22,330 --> 00:38:23,720 de enhavo por ligon etikedo. 824 00:38:23,720 --> 00:38:26,000 Ĝi nur signifas montru tiun dosieron kaj metu ĝin ĉi tie. 825 00:38:26,000 --> 00:38:30,610 Estas kiel akra inkluzivi en C. Vi povas malfermi kaj fermi etikedo subite 826 00:38:30,610 --> 00:38:31,660 ene de la sama etikedo. 827 00:38:31,660 --> 00:38:33,520 Kaj estas aliaj ekzemploj de tio. 828 00:38:33,520 --> 00:38:37,280 Ĉi tio ne estas la maniero por fari tion, sed la br etikedon, por linisaltojn, se mi 829 00:38:37,280 --> 00:38:41,780 vere volis atingi tion, kion mi trovis provante antaŭe por bati Enter, se 830 00:38:41,780 --> 00:38:45,380 Mi eksplicite diri linerompo, linerompo, linerompo, linerompo, kaj 831 00:38:45,380 --> 00:38:49,100 tiam reŝargi tiun paĝon, nun vi rimarkos ke malsupro de la paĝo estas, 832 00:38:49,100 --> 00:38:51,940 ja, tre pli malsupre en la malsupro de la paĝo. 833 00:38:51,940 --> 00:38:55,840 Sed eĉ tio povas fari multe pli pure kun CSS, kaj kun randoj, 834 00:38:55,840 --> 00:38:58,120 kaj kun aliaj tia estetika teknikoj. 835 00:38:58,120 --> 00:38:59,940 >> Do nuntempe, la takeaways estas tiu. 836 00:38:59,940 --> 00:39:02,320 En HTML, ni havas ĉi tiujn tion nomas etikedoj. 837 00:39:02,320 --> 00:39:04,830 En CSS, ni havas tion vokis propraĵoj. 838 00:39:04,830 --> 00:39:08,700 Ni povas comingle tiuj du lingvoj, ĉu per uzanta la stilo atributo, 839 00:39:08,700 --> 00:39:14,240 aŭ la stilo etikedo, aŭ pli bona ankoraŭ, faktorigo ĝin en aro, kiel ni 840 00:39:14,240 --> 00:39:17,270 en problemo starigis 7. 841 00:39:17,270 --> 00:39:23,820 Demandoj, do, pri la koncepta fundamentojn tie? 842 00:39:23,820 --> 00:39:24,740 >> Spektantaro: Mi havas demandon. 843 00:39:24,740 --> 00:39:25,630 >> Parolanto 1: Ho, pardonon. 844 00:39:25,630 --> 00:39:28,880 >> Spektantaro: Kial ne koloraj - 845 00:39:28,880 --> 00:39:31,410 >> Parolanto 1: Ho, en la alia langeto? 846 00:39:31,410 --> 00:39:32,232 Ĉi tie? 847 00:39:32,232 --> 00:39:33,482 >> Spektantaro: Ne, ĝi estas kiel la - 848 00:39:33,482 --> 00:39:35,330 849 00:39:35,330 --> 00:39:39,480 >> Parolanto 1: Ho, tio estas ĉar Mi estas fuŝa. 850 00:39:39,480 --> 00:39:41,350 Mi metis la dosieron en la malĝusta loko. 851 00:39:41,350 --> 00:39:47,840 Do, se mi efektive metu ĝin ĉi tie, kaj mi chmod ĝin, ĉiuj + r por styles.css, kaj 852 00:39:47,840 --> 00:39:52,050 nun reŝarĝi la paĝon, ni nun akiri la estilización dorso. 853 00:39:52,050 --> 00:39:54,530 Kaj ĉar la tiparo grandecoj estas malsama, ni ne vidas sufiĉe tiel 854 00:39:54,530 --> 00:39:55,010 blanka spaco. 855 00:39:55,010 --> 00:39:58,240 Ni anstataŭ vidi kio estas la implicite estas anstataŭe. 856 00:39:58,240 --> 00:40:00,050 Bona demando. 857 00:40:00,050 --> 00:40:00,846 Jes? 858 00:40:00,846 --> 00:40:02,630 >> Spektantaro: Kial la ligilon etikedo ene de la kaploko? 859 00:40:02,630 --> 00:40:06,270 >> Parolanto 1: Kial estas la ligoj etikedo ene de la header - 860 00:40:06,270 --> 00:40:07,650 mallonga respondo, nur ĉar. 861 00:40:07,650 --> 00:40:08,930 Tio estas kio estis decidita. 862 00:40:08,930 --> 00:40:10,720 Tie estas kie la ligilon etikedoj iri kiam vi havas kio nomiĝas 863 00:40:10,720 --> 00:40:13,650 ekstera stilo folio. 864 00:40:13,650 --> 00:40:16,430 Aliaj demandoj? 865 00:40:16,430 --> 00:40:17,770 >> Bone, nu ni faru tion. 866 00:40:17,770 --> 00:40:20,500 Ni havas tiel amuza antaŭ ni hodiaŭ. 867 00:40:20,500 --> 00:40:22,480 Tio nur skrapi la surfaco de CSS. 868 00:40:22,480 --> 00:40:23,010 Ni faras tion. 869 00:40:23,010 --> 00:40:25,980 Ni prenu kvin minutoj ripozon ĉi tie ĉar, per mia retpoŝto, ni pendigu en 870 00:40:25,980 --> 00:40:27,200 tie gxis la 2:30-ish hodiaŭ. 871 00:40:27,200 --> 00:40:28,540 Sed se vi faras devas lasi, ke estas bone. 872 00:40:28,540 --> 00:40:30,380 Sed ni forĝi antaŭe post kvin minutoj ripozon. 873 00:40:30,380 --> 00:40:35,930 Kaj ni lernos iom ion pri PHP, MySQL, kaj pli. 874 00:40:35,930 --> 00:40:44,520 >> Bone, do ni provu nun, ligi kelkaj el tiuj ideoj kune kaj fari, 875 00:40:44,520 --> 00:40:46,180 diri, nia propra serĉilo. 876 00:40:46,180 --> 00:40:48,570 Mi rimarkis, iom kurioze, la jena. 877 00:40:48,570 --> 00:40:52,610 Kiam vi estas en Google.com, vi estas tipe ĉe URL kiel ĉi tiu tie 878 00:40:52,610 --> 00:40:54,870 kun nenio post la punkto com. 879 00:40:54,870 --> 00:40:59,760 Sed se mi serĉi ion stulta kiel katoj, kaj poste premu butonon Enter, ni ricevos - ne 880 00:40:59,760 --> 00:41:01,300 stulta, sed vi scias. 881 00:41:01,300 --> 00:41:05,410 >> Bone, do rimarki, sur la supro de la paĝo, nun, la URL estas, kompreneble, ŝanĝis. 882 00:41:05,410 --> 00:41:07,190 Kaj tio ne estas io nova al iu el ni. 883 00:41:07,190 --> 00:41:09,290 Vi klaku ligoj kaj stuff okazas en la TTT. 884 00:41:09,290 --> 00:41:11,420 Sed kio estas interesa ĉi tie estas la jena. 885 00:41:11,420 --> 00:41:14,500 Ekzistas tuta loto de malordo, sed lasu mi forĵetu plenigos ke mi ne 886 00:41:14,500 --> 00:41:16,600 tute komprenas aŭ ne vere aspektas grava. 887 00:41:16,600 --> 00:41:18,490 >> Lasu min forigi ĉi. 888 00:41:18,490 --> 00:41:20,030 Lasu min forigi ĉi. 889 00:41:20,030 --> 00:41:22,630 Kaj lasu min nur forigi el ĉio ĉi. 890 00:41:22,630 --> 00:41:28,840 Kaj nun rimarkas, ke katoj estas en la URL, sekvis kun q, tiam egala 891 00:41:28,840 --> 00:41:29,710 subskribi antaŭ ĝi. 892 00:41:29,710 --> 00:41:32,110 Do rezultas tiu estas kiel la tiel funkcias kiam temas 893 00:41:32,110 --> 00:41:33,360 por enigo kaj eligo. 894 00:41:33,360 --> 00:41:37,510 >> Ni longe parolis pri nigraj skatoloj, ĉu ne? 895 00:41:37,510 --> 00:41:41,650 Do se tiu estas funkcio implementado tie kiel nigran skatolon, prenas enigo 896 00:41:41,650 --> 00:41:45,290 kaj produktas eligo, nu, la rimedoj per kiu vi provizis enigo al 897 00:41:45,290 --> 00:41:49,270 retejo estas de formo, ofte, de lia URLoj. 898 00:41:49,270 --> 00:41:52,850 Vi simple metas demandosignon kaj tiam ŝlosila egalas valoron. 899 00:41:52,850 --> 00:41:56,740 Kaj tiam eble-simbolo, kaj poste alia klavo egalas valoron, tiam eble 900 00:41:56,740 --> 00:41:58,810 alian signon, klavon egalas valoron. 901 00:41:58,810 --> 00:42:03,030 Tiel estas kiel vi pasas en klavoj kaj valoroj, paroj de enigoj. 902 00:42:03,030 --> 00:42:07,050 >> Do se mi batis Eniru nun, kio estas interesa pri Google estas, ke ĉiuj 903 00:42:07,050 --> 00:42:10,420 ke malordo mi forigita ne aperas esti strikte necesaj. 904 00:42:10,420 --> 00:42:15,120 Mi nur bezonas sendi al Google estas demando markon q egalas katoj akiri 905 00:42:15,120 --> 00:42:16,160 apogi iuj katoj. 906 00:42:16,160 --> 00:42:20,160 Nu, la implikaĵo de tiu, do, Estas kvazaŭ mi elsxiros gedit, mi komencis 907 00:42:20,160 --> 00:42:24,360 fari mian propran serĉilon tie en dosiero nomata seach0.html. 908 00:42:24,360 --> 00:42:26,750 >> Kaj lasu min antaŭeniri kaj forviŝi pli linio kiu vi 909 00:42:26,750 --> 00:42:27,910 ne supozis vidi. 910 00:42:27,910 --> 00:42:31,070 Kaj nun, mi iru en mian propran retumilo, tial ne al Google, kaj iru al 911 00:42:31,070 --> 00:42:34,900 http://localhost. 912 00:42:34,900 --> 00:42:36,220 Kaj tuj eniri la vojon. 913 00:42:36,220 --> 00:42:43,240 Do ni tuj devas diri adiaŭ al ke nuntempe, movi ĉi tie, 914 00:42:43,240 --> 00:42:46,270 ho, nun ni tuj devas adiaŭi al tiu dosiero. 915 00:42:46,270 --> 00:42:51,700 >> Kiam ajn vi havas dosieron nomatan index.html aŭ index.php en 916 00:42:51,700 --> 00:42:54,980 dosierujo, se la TTT-servilo estas agordita tiamaniere, kion vi instruos vin 917 00:42:54,980 --> 00:42:59,600 vidu, implicite, estas la enhavo de tiu dosiero anstataŭ liston de la 918 00:42:59,600 --> 00:43:02,330 dosierujo, kiel mi volis ĉi tie. 919 00:43:02,330 --> 00:43:03,750 Pli sur ĉi tio en la specifon. 920 00:43:03,750 --> 00:43:04,610 Vi ne vidis tion. 921 00:43:04,610 --> 00:43:06,360 >> Do ĉi tiu estas kion mi fakte volis. 922 00:43:06,360 --> 00:43:08,810 Sed antaŭ momento, estis dosiero en tiu ĉi dosierujo nomita 923 00:43:08,810 --> 00:43:11,290 index.html kaj index.php. 924 00:43:11,290 --> 00:43:13,380 Kaj tial la TTT-servilo estis montrante al mi tiujn dosierojn. 925 00:43:13,380 --> 00:43:15,900 Anstataŭe, mi volas ĉi dosierujo printante tie. 926 00:43:15,900 --> 00:43:18,340 >> Do mi tuj iras en CSS kaj iru al search0. 927 00:43:18,340 --> 00:43:21,770 Kaj mi asertas ke ĉi tiu estas ĝi tuj estos la komenco de mia propra konkura 928 00:43:21,770 --> 00:43:22,490 serĉi en motoro. 929 00:43:22,490 --> 00:43:27,630 Kaj fari tion, mi tuj iros en tie, en CSS, kaj malfermu per 930 00:43:27,630 --> 00:43:30,190 gedit, serĉo 0. 931 00:43:30,190 --> 00:43:32,280 Sed bedaŭrinde, ne estas ne multe okazas ĉi tie. 932 00:43:32,280 --> 00:43:35,690 Ĉiuj mi faris estis uzi rubriko etikedo, kiu pasas al nomi h1, kiu 933 00:43:35,690 --> 00:43:38,180 esence signifas granda kaj aŭdaca, kaj tio estas ĝi. 934 00:43:38,180 --> 00:43:40,810 Sed la rimedoj, per kiuj ni povas provizi enigoj estas tra tiuj 935 00:43:40,810 --> 00:43:42,180 aĵoj nomata formoj. 936 00:43:42,180 --> 00:43:46,040 >> Do lasu min antaŭeniri kaj malfermi kaj fermi, preemptively, formo etikedo tie. 937 00:43:46,040 --> 00:43:48,060 Kaj lasu min antaŭeniri kaj fari iu kiel ĉi tio. 938 00:43:48,060 --> 00:43:51,430 Enigo, tajpu egalas tekston. 939 00:43:51,430 --> 00:43:56,320 Kaj tiam ni fermas la etikedo ene la krampoj sin. 940 00:43:56,320 --> 00:43:58,800 Mi ne bezonas komenci teksto kampo kaj deteni tekston kampo. 941 00:43:58,800 --> 00:44:01,080 Ĝi simple tuj estos tie aŭ ne. 942 00:44:01,080 --> 00:44:06,210 >> Kaj poste sub tiu, ni faru eniga tipo egalas submeti. 943 00:44:06,210 --> 00:44:06,870 Konservi ĉi. 944 00:44:06,870 --> 00:44:08,630 Kaj nun ni nur fari rapida prudento kontroli. 945 00:44:08,630 --> 00:44:09,820 Ni povos reŝargi. 946 00:44:09,820 --> 00:44:10,890 >> Bone, do ĝi ne estas malbona. 947 00:44:10,890 --> 00:44:13,260 Ĝi ne estas Google stilo, sed ĝi estas sufiĉe proksima. 948 00:44:13,260 --> 00:44:13,920 Jen teksto kampo. 949 00:44:13,920 --> 00:44:17,190 Mi povas tajpi kelkajn aferojn en, batis Enter, sed nenio okazas ankoraŭ. 950 00:44:17,190 --> 00:44:21,090 Kaj tio estas ĉar mi ne specifita ago por ĉi tiu formo, por tiel diri. 951 00:44:21,090 --> 00:44:23,860 Do, se mi reirus al la formo elemento, rezultas, kaj mi scias tion nur 952 00:44:23,860 --> 00:44:27,460 el leginte la dokumentado, por ke la formo etikedo prenas atributo 953 00:44:27,460 --> 00:44:31,880 nomas agon kiu estas la URL de la retejo kiun vi 954 00:44:31,880 --> 00:44:34,790 volas sendi la formularon. 955 00:44:34,790 --> 00:44:37,610 >> Mi ne vere kredas ke ni havos tempon por apliki la tutan dorson fino por 956 00:44:37,610 --> 00:44:38,570 serĉi motoro hodiaŭ. 957 00:44:38,570 --> 00:44:41,900 Do ni nur intencas diri, he, iri al google.com / serĉo. 958 00:44:41,900 --> 00:44:43,450 Kaj nun mi volas fermi miajn citaĵoj. 959 00:44:43,450 --> 00:44:46,070 Kaj lasu min pli specifi ke la metodo por uzi tuj 960 00:44:46,070 --> 00:44:47,120 esti nomita akiras. 961 00:44:47,120 --> 00:44:50,650 >> Longan rakonton, ekzistas du manieroj, en almenaŭ, ke vi povas prezenti informon 962 00:44:50,650 --> 00:44:51,880 el browser al servilo. 963 00:44:51,880 --> 00:44:55,340 Unu estas akiri, kaj por la hodiaŭa intencoj, ke nur signifas en la URL. 964 00:44:55,340 --> 00:44:58,730 Vi vidas ĝuste la demando markoj, la egalas signoj kaj ampersands ke 965 00:44:58,730 --> 00:44:59,780 ni vidis antaŭe. 966 00:44:59,780 --> 00:45:02,890 Aŭ ekzistas alternativo nomita post. 967 00:45:02,890 --> 00:45:06,490 Por nun, sciu ke post estas ofte uzata kiam vi volas alŝuti dosierojn, kiel 968 00:45:06,490 --> 00:45:09,820 bildoj kaj tiel plu, aŭ kiam vi volas submeti kreditkartajn detalojn, aŭ 969 00:45:09,820 --> 00:45:13,810 pasvortoj, ion, kio ĝi ne vere havas sencon, koncepte, aŭ 970 00:45:13,810 --> 00:45:18,020 sekureco saĝa, por fini la URL-on de via retumilo, kie snooping gepatroj, 971 00:45:18,020 --> 00:45:21,520 aŭ kunloĝantoj, aŭ iu kun aliro al via komputilo povus vidi. 972 00:45:21,520 --> 00:45:23,110 >> Do ni savu, ke ĉi tie. 973 00:45:23,110 --> 00:45:24,480 Kaj mi bezonas fari aliajn afero. 974 00:45:24,480 --> 00:45:27,250 Ne sufiĉas nur por diru al mi tekston kampo. 975 00:45:27,250 --> 00:45:29,850 Mi devas doni tiun kampa taksas nomon. 976 00:45:29,850 --> 00:45:34,500 Do mi petu al Google elekto de nomoj, q, kaj specifi ke dua 977 00:45:34,500 --> 00:45:38,150 atribui mi ne vere zorgas pri la nomo de la submeto-butonon. 978 00:45:38,150 --> 00:45:40,890 Mi nur zorgas pri ĝi submitting kion la uzanto tajpas in 979 00:45:40,890 --> 00:45:41,940 >> Kaj nun jen estas ia malbela. 980 00:45:41,940 --> 00:45:42,820 Ĝi ĵus diras submeti. 981 00:45:42,820 --> 00:45:46,350 Rezultas, kaj mi scias ke ĉi tio la dokumentado, mi povas vere diri 982 00:45:46,350 --> 00:45:51,710 valoro egalas citaĵo unquote "cs50 seach, "fermi citaĵo. 983 00:45:51,710 --> 00:45:53,030 Tiam ni povos reŝargi denove. 984 00:45:53,030 --> 00:45:57,020 Do mi gardas bati Ordonu-R, aŭ Kontrolo-R sur mia klavaro por reŝargi. 985 00:45:57,020 --> 00:45:58,605 >> Nun ni havas pli interesa serĉi en motoro. 986 00:45:58,605 --> 00:46:00,340 Ĝi ne sufiĉe aspektas kiel Google tamen, kvankam. 987 00:46:00,340 --> 00:46:04,100 Do ni iru antaŭen en ĉi tie kaj fari iom linerompo. 988 00:46:04,100 --> 00:46:06,066 >> Bone, do nun ni havas Google. 989 00:46:06,066 --> 00:46:08,260 Ni efektive preskaŭ ne havas Google. 990 00:46:08,260 --> 00:46:10,460 Do nun tio, kio okazos? 991 00:46:10,460 --> 00:46:12,220 Mi iros por tajpi en iu kiel Katoj. 992 00:46:12,220 --> 00:46:16,570 Kaj la retumilo tuj analizi tiu formo ke mi difinita. 993 00:46:16,570 --> 00:46:19,470 Kaj tuj sendos al la uzanto kiun URL. 994 00:46:19,470 --> 00:46:23,420 Do ĉi tiu tempo, por iu kurioza kialo, Mi ricevis pli da informoj pri akcioj 995 00:46:23,420 --> 00:46:24,410 ol pri reala katoj. 996 00:46:24,410 --> 00:46:30,580 Sed tio estas bone ĉar rimarki ni ankoraŭ finis tie, q egalas katoj. 997 00:46:30,580 --> 00:46:35,200 >> Do longan rakonton, ĝi similas sufiĉe bagatela akiri eniron de la uzanto. 998 00:46:35,200 --> 00:46:38,190 Kaj por esti justa, estas aroj de aliaj tipoj de formo kampoj. 999 00:46:38,190 --> 00:46:41,510 Ekzistas ĉekon skatoloj, kaj iom reciproke ekskluziva radioaparato butonoj, kaj 1000 00:46:41,510 --> 00:46:42,960 gutigas menuoj, kaj multe pli. 1001 00:46:42,960 --> 00:46:46,160 Sed ĉiuj tiuj estas kiel relative facile realigeblaj, kiel 1002 00:46:46,160 --> 00:46:48,040 tiu teksto kampo estis. 1003 00:46:48,040 --> 00:46:52,050 Kaj fine, ni nur devas fari certe iu aŭskultante aliflanke 1004 00:46:52,050 --> 00:46:56,490 fino de la linio por atingi tiun informo procesita, iel, kaj 1005 00:46:56,490 --> 00:46:58,440 doni al ni pri revenigo de nia katoj. 1006 00:46:58,440 --> 00:47:00,840 >> Ni rigardu iomete pli implikitaj ekzemplo. 1007 00:47:00,840 --> 00:47:06,020 Permesu al mi iri en mian Vhost la dosierujo, en loka gastiganto, publika, kaj kie mi 1008 00:47:06,020 --> 00:47:06,980 meti hodiaŭa fontkodo. 1009 00:47:06,980 --> 00:47:09,800 Ĉio ĉi estos sur la kurso de retejo por vi toquetear. 1010 00:47:09,800 --> 00:47:15,420 Kaj se mi iros en froshims, lasu min malfermi ĝis ĉi tiu dosiero nun, froshim0.php. 1011 00:47:15,420 --> 00:47:18,460 Ĉi tiu estas iom pli abundajn, do ni ne skribos ĉi de nulo. 1012 00:47:18,460 --> 00:47:21,970 Sed ĝuste rimarki nun kelkaj iom familiara karakterizaĵoj. 1013 00:47:21,970 --> 00:47:24,550 >> Unu, formo etikedo, malsamaj agoj. 1014 00:47:24,550 --> 00:47:25,670 Ne plena URL. 1015 00:47:25,670 --> 00:47:29,930 Nun, estas ŝajne al dosiero nomata register0.php ĉar, en momento, 1016 00:47:29,930 --> 00:47:32,660 Mi tuj instrui min iom ion pri PHP, programado 1017 00:47:32,660 --> 00:47:37,360 lingvon, ĉar PHP povas esti uzata por apliki kio Google implementado kiel 1018 00:47:37,360 --> 00:47:39,650 la dorso fino de lia serĉiloj. 1019 00:47:39,650 --> 00:47:42,890 >> Google, en realo, probable uzas iuj Python, kelkaj C + +, kaj 1020 00:47:42,890 --> 00:47:44,230 aroj da aliaj lingvoj. 1021 00:47:44,230 --> 00:47:48,230 Sed ni certe povus apliki serĉo rezultoj uzante PHP se ni volis. 1022 00:47:48,230 --> 00:47:49,610 Sed nuntempe, ni devos konservi ĝin simpla. 1023 00:47:49,610 --> 00:47:53,320 Kaj ĉi tiu estas efektive memoras unu de la alia tre unuaj retejoj mi 1024 00:47:53,320 --> 00:47:54,490 faris jarojn. 1025 00:47:54,490 --> 00:47:58,160 >> Denove en mia tago, vi aligxintoj intramural sportoj kiel novulo per 1026 00:47:58,160 --> 00:48:00,880 plenigado de paperfolio, marŝante trans la korton, kaj delasante ĝin en 1027 00:48:00,880 --> 00:48:04,890 la leterkesto de Proctor en Wigglesworth, kaj tiu estis, kiel vi 1028 00:48:04,890 --> 00:48:05,460 registrita. 1029 00:48:05,460 --> 00:48:09,650 Kaj tial mia projekto baldaŭ post CS50, estis meti tiun, kiu igas perfekta 1030 00:48:09,650 --> 00:48:13,460 senco, sur la retejo, kiu ne estis kiel en boga tiam kiel nun. 1031 00:48:13,460 --> 00:48:17,510 Sed ĉiuj ni devis fari estis krei, esence, HTML formo. 1032 00:48:17,510 --> 00:48:19,640 >> Kaj tiu formo rigardis proksimume kiel ĉi tio. 1033 00:48:19,640 --> 00:48:22,480 Mi havis enigo por la novulo nomo. 1034 00:48:22,480 --> 00:48:27,780 Mi havis alian ĉekon skatolo por ĉu aŭ ne volas esti estro, kion 1035 00:48:27,780 --> 00:48:30,400 lia varo estis, kaj kion liaj dormejo estis. 1036 00:48:30,400 --> 00:48:33,370 Kaj tiam mi forte koditaj en aĵoj kiel Apley Kortego, kaj Canaday, 1037 00:48:33,370 --> 00:48:34,880 Grizaj, kaj tiel plu. 1038 00:48:34,880 --> 00:48:36,300 >> Do denove, novajn etikedojn. 1039 00:48:36,300 --> 00:48:39,820 Ne vidis tiujn antaŭe, nova atributoj, sed sufiĉe atingebla. 1040 00:48:39,820 --> 00:48:42,360 Kiam vi vidas ekzemplon, vi povas speco de prunteprenos tiun ideon kaj fari guto 1041 00:48:42,360 --> 00:48:43,820 malsupren menuo por la plimulto nenion. 1042 00:48:43,820 --> 00:48:46,350 Sed kio estas ŝlosilo estas ke ĉiu el tiuj aferoj havas nomojn. 1043 00:48:46,350 --> 00:48:49,720 Kaj je la malsupro de tiu formo, ekzistas la submeto-butonon kies etikedo, 1044 00:48:49,720 --> 00:48:51,510 aŭ valoro, estas registriĝi. 1045 00:48:51,510 --> 00:48:52,670 >> Do ni iru al tiu ĉi paĝo. 1046 00:48:52,670 --> 00:48:55,050 Permesu al mi iri returne en la katalogo de kantoj. 1047 00:48:55,050 --> 00:48:59,410 Permesu al mi iri en froshims, kaj iru al froshim0.php. 1048 00:48:59,410 --> 00:49:01,150 Do ĝi estas malbelega, esti justa. 1049 00:49:01,150 --> 00:49:03,950 Do mi povis definitive stylize ĉi kun iuj CSS, mi povus fari iujn 1050 00:49:03,950 --> 00:49:06,890 grafiko, eble aldoni iujn kolorojn, kaj faru al tiu bela. 1051 00:49:06,890 --> 00:49:10,530 Sed funkcie, mi argumentas ke tiu estas fakte sufiĉe kompletaj. 1052 00:49:10,530 --> 00:49:15,190 >> Bedaŭrinde, kiam Mi plenigos ĉi tion, Davido, Kapitano, Male, ni elektos, 1053 00:49:15,190 --> 00:49:20,510 diru Matthews, Register, cxion, kio okazas estas tiu. 1054 00:49:20,510 --> 00:49:21,910 Sed rimarki paro de takeaways. 1055 00:49:21,910 --> 00:49:27,130 Unu, kio dosieron revenis tiuj rezultojn, ŝajne? 1056 00:49:27,130 --> 00:49:29,470 Tia estas ja register0.php. 1057 00:49:29,470 --> 00:49:34,570 Do la fakto, ke ni vidis, ke ago valoro antaŭ momento por register0, ĉi 1058 00:49:34,570 --> 00:49:37,500 konfirmas, ke ni ja finiĝis supren en tiu aparta dosiero. 1059 00:49:37,500 --> 00:49:39,040 >> Nun ĉi tio estas nur malbela tekston. 1060 00:49:39,040 --> 00:49:42,810 Sed rimarkas ke ĉi tiu teksto devenante loka gastiganto, 1061 00:49:42,810 --> 00:49:44,170 kiu estas proksime de la aparato. 1062 00:49:44,170 --> 00:49:46,350 Pensu pri la aparato nun kiel ĝuste retejo servilo kiu povus esti en la 1063 00:49:46,350 --> 00:49:46,910 Scienco Centro. 1064 00:49:46,910 --> 00:49:48,060 Ĝi povus esti en la reala retejo. 1065 00:49:48,060 --> 00:49:49,850 Do ĝi estas publike atingebla. 1066 00:49:49,850 --> 00:49:55,480 >> Do klare, ke estas iu vojo de pasanta formas kampon enigoj al servilo 1067 00:49:55,480 --> 00:49:56,840 tiel ke ĝi povas fari iun kun ili. 1068 00:49:56,840 --> 00:49:59,020 Bedaŭrinde, register0 estas sufiĉe stulta. 1069 00:49:59,020 --> 00:50:01,870 Ĉiuj faras estas elprinti tabelo kiu similas al tiu. 1070 00:50:01,870 --> 00:50:04,790 Kaj ne estas tabelo en la senco, ke ni konas lin. 1071 00:50:04,790 --> 00:50:08,760 Rezultas ke PHP, kaj multaj lingvoj, havas ne nur numere 1072 00:50:08,760 --> 00:50:12,350 indeksita arrays kies unua indico estas nulo, tiam unu, tiam du, tiam ĝi pentras, 1073 00:50:12,350 --> 00:50:13,780 dot, punkto, n minus 1. 1074 00:50:13,780 --> 00:50:16,400 >> Tio estas kio nomiĝas asocieca tabelo. 1075 00:50:16,400 --> 00:50:21,150 Asocieca tabelo estas unu en kiu vi povas stoki ŝlosilo valoro paroj kie 1076 00:50:21,150 --> 00:50:23,160 la ŝlosilo ne estas nepre nombro. 1077 00:50:23,160 --> 00:50:25,580 Ĝi povus fakte esti kordo, vorto. 1078 00:50:25,580 --> 00:50:28,230 Kaj tiel tio povas esti realigita, sub la kapuĉo, ĝi rezultas, 1079 00:50:28,230 --> 00:50:31,896 uzante datumstrukturo konata kiel? 1080 00:50:31,896 --> 00:50:33,600 Penso ion draman estis por okazi - 1081 00:50:33,600 --> 00:50:34,840 hash tablo. 1082 00:50:34,840 --> 00:50:38,955 >> Do hash tablo, revokon, la de vi kiu faris por P aro 6, aŭ eĉ memoras 1083 00:50:38,955 --> 00:50:44,110 ĝin, almenaŭ eĉ se vi faris try, oni hash tablo, en nia uzado, estis uzata por 1084 00:50:44,110 --> 00:50:45,090 nur stoki vortoj. 1085 00:50:45,090 --> 00:50:47,980 Sed vere, vi estis stokante ŝlosilojn kaj valoroj. 1086 00:50:47,980 --> 00:50:51,940 Se vi implementado hash tablo por P aro 6 vortaro, la klavoj estis la 1087 00:50:51,940 --> 00:50:56,890 vortoj mem, kaj la valoroj estis efektive vera aŭ malvera. 1088 00:50:56,890 --> 00:51:00,190 Jes, ĉi tie, aŭ implice, ne, ne ĉi tie. 1089 00:51:00,190 --> 00:51:02,140 >> Nu, ni povas ĝeneraligi tiun ideon. 1090 00:51:02,140 --> 00:51:06,230 Kaj ni povus uzi tre simila datumoj strukturo por stoki ne la kordo 1091 00:51:06,230 --> 00:51:10,180 sin sola en via hash tablo, sed supozas, ke en ĉiu el viaj hash 1092 00:51:10,180 --> 00:51:11,130 tablo de nodoj. 1093 00:51:11,130 --> 00:51:14,210 Kaj vi povis eĉ fari tion en try anstataŭ nur havas bool. 1094 00:51:14,210 --> 00:51:15,350 Vi povus havi ion alian. 1095 00:51:15,350 --> 00:51:19,590 Kio se la ŝlosilo estis ne Maxwell, por Ekzemple, sed citaĵo unquote "nomo", aŭ 1096 00:51:19,590 --> 00:51:22,900 citi unquote "kapitano." Kaj ene de via C datumstrukturo, vi metu 1097 00:51:22,900 --> 00:51:26,170 valoron, ne nur Bulea, sed de valoro kiel citaĵo unquote "Davido", aŭ 1098 00:51:26,170 --> 00:51:28,690 "M", aŭ "Matthews," kaj tiel plu. 1099 00:51:28,690 --> 00:51:33,170 >> Do tiuj samaj datumstrukturoj ni uzis ŝajne ekzistas en aliaj lingvoj. 1100 00:51:33,170 --> 00:51:37,650 Kaj mi volas argumenti ke ili estas vere multe, multe pli simpla por aliri tie. 1101 00:51:37,650 --> 00:51:40,300 Ni fakte rigardu nun en iu tia sintakso. 1102 00:51:40,300 --> 00:51:43,120 >> Mi tuj iros en PHP-katalogo. 1103 00:51:43,120 --> 00:51:48,390 Kaj mi tuj malfermos pli bonan versio de saluton-0 de antaŭe. 1104 00:51:48,390 --> 00:51:50,270 Rimarku ke ĉiuj mi faris estis aldoni iujn komentojn. 1105 00:51:50,270 --> 00:51:52,530 Do ni povas liveri de tiu distro. 1106 00:51:52,530 --> 00:51:57,610 >> Kaj tiu programo faras ja presas saluton ĉar mi specifitaj inter 1107 00:51:57,610 --> 00:52:01,420 etikedoj, ke mi volas ekzekuti tiu kodo. 1108 00:52:01,420 --> 00:52:03,380 Nun, ni vidos en momento kial tiu estas utila. 1109 00:52:03,380 --> 00:52:05,630 Sed ni malfermu unu alia ekzemplo tie. 1110 00:52:05,630 --> 00:52:10,430 Lasu min kaj malfermu diri, gedit de kondiĉoj tiu. 1111 00:52:10,430 --> 00:52:12,970 >> Tio estas vojo tra tempo nun. 1112 00:52:12,970 --> 00:52:16,320 Sed semajnojn, mi kredas, en la semajno unu aŭ semajno du, ni havis ekzemplon nomis 1113 00:52:16,320 --> 00:52:18,470 conditions1.c. 1114 00:52:18,470 --> 00:52:22,050 Kaj mi decidis reimplement ĝin en PHP, nur speco de substreki ke 1115 00:52:22,050 --> 00:52:26,500 PHP, sintakse, estas preskaŭ identa al C. Ĉi tio ne estas grandega salto 1116 00:52:26,500 --> 00:52:27,840 de la pasinta semajno por ĉi tio. 1117 00:52:27,840 --> 00:52:31,230 >> Rimarku en la pinto de tiu programo, kiu komencas, kiel antaŭe, kun iuj 1118 00:52:31,230 --> 00:52:34,260 komentojn, kiujn mi devos liveri de kiel distro. 1119 00:52:34,260 --> 00:52:37,410 Rimarku, ke mi estas en PHP mode en ĉi tiu dosiero. 1120 00:52:37,410 --> 00:52:40,160 Do tiu kodo, ni vidos, estos get ekzekutita. 1121 00:52:40,160 --> 00:52:42,670 Rimarku ke estas readline, kiu estas probable la 1122 00:52:42,670 --> 00:52:46,230 analoga en PHP de getstring. 1123 00:52:46,230 --> 00:52:47,390 Rimarku ĝi estas iom malsama. 1124 00:52:47,390 --> 00:52:51,410 Vi vere specifi prompto al la funkcio nomita legu linio, kaj tio estas 1125 00:52:51,410 --> 00:52:52,180 kion la uzanto vidas. 1126 00:52:52,180 --> 00:52:53,520 Do vi ne devas printf permane. 1127 00:52:53,520 --> 00:52:54,860 Sed tio ne estas granda interkonsento. 1128 00:52:54,860 --> 00:52:59,150 Mi tuj stoki, ene de $ n, la redoni valoro de tio, kio ajn estas la 1129 00:52:59,150 --> 00:53:00,490 uzanto tajpas en ilia int. 1130 00:53:00,490 --> 00:53:01,660 Kaj jen alia vidindaĵo. 1131 00:53:01,660 --> 00:53:05,810 Rezultas, en PHP, ajna variablo nur devas esti prefiksita 1132 00:53:05,810 --> 00:53:06,970 kun dolaro signo. 1133 00:53:06,970 --> 00:53:08,110 Estas iom ĝena. 1134 00:53:08,110 --> 00:53:10,870 Sed rimarkos, kion mi ne faris por PHP. 1135 00:53:10,870 --> 00:53:13,980 Kio mankas en la maldekstra mano flanko de la egala signo? 1136 00:53:13,980 --> 00:53:15,430 >> Neniu mencio de tipo. 1137 00:53:15,430 --> 00:53:19,400 Do ĉi tiu estas malsama de C. Por pli bona aŭ por malbona, PHP estas lakse 1138 00:53:19,400 --> 00:53:20,550 tajpitaj lingvo. 1139 00:53:20,550 --> 00:53:22,010 Ĝi ja havas numerojn. 1140 00:53:22,010 --> 00:53:23,240 Ĝi ja havas kordoj. 1141 00:53:23,240 --> 00:53:24,015 Ĝi ja havas Booleans. 1142 00:53:24,015 --> 00:53:26,220 Kaj ĝi ja havas kelkajn aliaj datumtipoj. 1143 00:53:26,220 --> 00:53:30,570 Sed vi, la programisto, kutime ne devas zorgi pri ili. 1144 00:53:30,570 --> 00:53:34,010 La supra parto de tio estas ke ĝi faras ĝin iom pli facile programo. 1145 00:53:34,010 --> 00:53:35,380 Vi povas pensi iom malpli. 1146 00:53:35,380 --> 00:53:39,840 La malavantaĝo estas ankaŭ malfermas vin al eblaj eraroj se vi hazarde 1147 00:53:39,840 --> 00:53:43,080 trakti nombro kiel ŝnureto, ŝnuro kiel nombro, potenciale, sed eĉ 1148 00:53:43,080 --> 00:53:46,150 tiam, PHP, kaj multe da lingvoj, estas sufiĉe tolerema. 1149 00:53:46,150 --> 00:53:49,050 Ili uzos, kion oni nomas implicitan fandon. 1150 00:53:49,050 --> 00:53:55,220 Kaj se vi provas uzi n en la kunteksto de nombraj situacio, ĝi volo 1151 00:53:55,220 --> 00:53:58,040 konverti kio tie estas tuj estos ĉeno, ĉar se la uzanto tajpas 1152 00:53:58,040 --> 00:54:01,570 io, kaj vi ricevos la rezulton, kiel kun readline, aŭ akiri ĉenon, 1153 00:54:01,570 --> 00:54:02,910 ke tuj revenos ĉenon. 1154 00:54:02,910 --> 00:54:07,360 >> Sed avizo, paro liniojn poste, mi kontroli se n estas pli granda ol nulo. 1155 00:54:07,360 --> 00:54:13,370 Do PHP tuj implice ĵetas Miajn "String" 123, aŭ kio la uzanto 1156 00:54:13,370 --> 00:54:14,860 tipoj en, enen int. 1157 00:54:14,860 --> 00:54:18,730 Do mallonge, aĵoj nur laboras multe pli intuicie. 1158 00:54:18,730 --> 00:54:23,410 Do ni nun komencos malstreĉiĝi kelkajn el la kion ni faris en la pasinteco. 1159 00:54:23,410 --> 00:54:24,780 >> Multaj de ĉi tiuj aĵoj estas la sama, kvankam. 1160 00:54:24,780 --> 00:54:26,340 Ankoraŭ egalas egaluloj. 1161 00:54:26,340 --> 00:54:30,350 Kiel flanken PHP ankaŭ egalas egalas egaluloj, sed pli en kiu, eble, en 1162 00:54:30,350 --> 00:54:30,850 la estonteco. 1163 00:54:30,850 --> 00:54:31,150 Tio estis. 1164 00:54:31,150 --> 00:54:35,660 Typo sed du egalas signoj signifas la saman aĵo kiel antaŭe, por komparo. 1165 00:54:35,660 --> 00:54:37,060 printf signifas la samon kiel antaŭe. 1166 00:54:37,060 --> 00:54:39,160 Backslash n signifas la saman aĵo kiel antaŭe. 1167 00:54:39,160 --> 00:54:40,390 >> Do kiel mi kuri tiun programon? 1168 00:54:40,390 --> 00:54:44,400 Nu, kiel antaŭe, se mi faras PHP, conditions1.php, kaj tajpu 1169 00:54:44,400 --> 00:54:46,560 nombro ŝati 123. 1170 00:54:46,560 --> 00:54:47,720 Tio estas pozitiva nombro. 1171 00:54:47,720 --> 00:54:49,510 Se mi tajpas en 0, mi elektas 0. 1172 00:54:49,510 --> 00:54:53,700 Kaj se mi tajpas en negativa 123, I get apogi negativa nombro, kiu estas nur 1173 00:54:53,700 --> 00:54:59,050 diri, sintakse, PHP is super, super similaj. 1174 00:54:59,050 --> 00:55:03,250 >> Do kial estas tio nun utila en TTT kunteksto? 1175 00:55:03,250 --> 00:55:06,710 Nu, ni reiru al ĉi froshims Ekzemple, kiuj rigardis, 1176 00:55:06,710 --> 00:55:08,600 denove, kiel ĉi tie. 1177 00:55:08,600 --> 00:55:11,580 Kaj ni vere elsxiros la retpaĝo denove, kiuj aspektis kiel ĉi tio. 1178 00:55:11,580 --> 00:55:14,930 Kion ni povas fari kun la datumo kiu estas donita? 1179 00:55:14,930 --> 00:55:18,770 >> Nu, mi malfermas pli nova versio de ĉi. 1180 00:55:18,770 --> 00:55:20,920 Kaj vi vidos, ke la problemo aroj specifo promenas vin 1181 00:55:20,920 --> 00:55:22,850 tra kelkaj el ĉi tiuj. 1182 00:55:22,850 --> 00:55:29,610 Anstataŭ komenci kun nulo, ni rigardu froshims3, 1183 00:55:29,610 --> 00:55:31,410 kiu faras iom pli. 1184 00:55:31,410 --> 00:55:34,780 >> Rimarku unue, fakte, ni malfermu ĉe kio 0 estis, do vi vidos 1185 00:55:34,780 --> 00:55:37,170 kio registriĝi 0 estis. 1186 00:55:37,170 --> 00:55:40,040 Rimarku kion enskribi 0 faris. 1187 00:55:40,040 --> 00:55:41,730 Unu, Mi havas komentojn ĉe la supro. 1188 00:55:41,730 --> 00:55:43,900 Forigu tiujn kaj koncentri nur sur ĉi. 1189 00:55:43,900 --> 00:55:48,730 La plejparto de la enhavo de register0.php estas, evidente, kio lingvo? 1190 00:55:48,730 --> 00:55:49,980 Nur kruda PHP. 1191 00:55:49,980 --> 00:55:53,430 >> Do rimarki, ĉi dosiero ne komenci kun, en la momento, malferma krampo, 1192 00:55:53,430 --> 00:55:54,970 demandosigno, PHP. 1193 00:55:54,970 --> 00:55:59,800 PHP faras permesas intermiksas PHP kodo kun HTML-etikedoj. 1194 00:55:59,800 --> 00:56:04,130 Sed mi faris tion ĉi tie en de la paĝo ĉi tien. 1195 00:56:04,130 --> 00:56:08,180 >> Nun, denove, vi volas nur scias ke ĉi tio esti rigardis la manlibron. print_r, 1196 00:56:08,180 --> 00:56:13,410 rezultas, estas print_recursive. _recursive Kaj tio estas nur oportuna 1197 00:56:13,410 --> 00:56:16,780 utileca funkcio ke nur presas eksteren, rekursie, kion vi transdonos ĝin. 1198 00:56:16,780 --> 00:56:18,760 Se vi transdonos ĝin tabelo, ĝi devos presi tabelo. 1199 00:56:18,760 --> 00:56:20,180 Se vi transdonos ĝin numeron, ĝi devos presi nombro. 1200 00:56:20,180 --> 00:56:21,570 Transdoni ĝin ĉenon, tio instruos vin presi kordo. 1201 00:56:21,570 --> 00:56:24,500 Se vi transdonos ĝin hash tablo, ĝin presos el kradon tablo. 1202 00:56:24,500 --> 00:56:26,730 Vi ne devas skribi ĉiujn de tiu kodo mem. 1203 00:56:26,730 --> 00:56:29,490 >> Nun rimarkos ke mi eniri PHP modo ĉi tie. 1204 00:56:29,490 --> 00:56:32,070 Mi elirante PHP modo ĉi tie. 1205 00:56:32,070 --> 00:56:35,950 Do kiam la retservilo legas ĉi tiun dosieron supre sube, maldekstre dekstren, ĉar 1206 00:56:35,950 --> 00:56:40,750 ĝi finiĝas per dosiernomo nomata. php, kion ajn ne estas ene de PHP etikedoj estas 1207 00:56:40,750 --> 00:56:42,820 nur tuj estos spit ekstere, kiel krudan HTML. 1208 00:56:42,820 --> 00:56:43,630 Neniu granda interkonsento. 1209 00:56:43,630 --> 00:56:49,280 Sed tuj kiam la retservilo rimarkas ĉi tio, li tuj diros, ke mi ne devus 1210 00:56:49,280 --> 00:56:51,850 kraĉi eksteren, laŭvorte, print_r de post. 1211 00:56:51,850 --> 00:56:54,910 Mi devus ekzekuti la sekvaj linio de kodo. 1212 00:56:54,910 --> 00:56:59,850 >> Do la lasta demando, do, de ĉi tiu dosiero estas, nu, kion la heck is this? 1213 00:56:59,850 --> 00:57:00,530 Prenu konjekton. 1214 00:57:00,530 --> 00:57:04,230 Kio estas $ _POST, probable? 1215 00:57:04,230 --> 00:57:07,070 >> Spektantaro: [inaudibles] 1216 00:57:07,070 --> 00:57:08,830 >> Parolanto 1: Jes, la afiŝis datumoj. 1217 00:57:08,830 --> 00:57:11,350 Memori, ni rulumi reen en tempo por nur momento. 1218 00:57:11,350 --> 00:57:13,165 froshim0, denove, aspektis kiel ĉi tio. 1219 00:57:13,165 --> 00:57:15,640 A super plimulto de tio estas simple HTML. 1220 00:57:15,640 --> 00:57:18,410 Denove, iuj etikedoj vi ne havas vidis ankoraŭ, aŭ kun kiu 1221 00:57:18,410 --> 00:57:19,360 vi estas jam konata. 1222 00:57:19,360 --> 00:57:21,990 Sed la interesa afero estis jena. 1223 00:57:21,990 --> 00:57:27,270 Ĉi tiu linio estas kio vere Ligiloj ĝin al nia register0.php dosiero. 1224 00:57:27,270 --> 00:57:29,200 Mi submitting tra metodo post. 1225 00:57:29,200 --> 00:57:33,130 Kaj tio signifas ke la parametroj la uzanto tajpas en ne 1226 00:57:33,130 --> 00:57:35,150 tuj finos kie. 1227 00:57:35,150 --> 00:57:36,175 >> Ili ne tuj aperas en la URL. 1228 00:57:36,175 --> 00:57:39,020 Ili estas ankoraŭ tuj estos sendita de la kliento, de la krozilo, por la 1229 00:57:39,020 --> 00:57:42,080 servilo, sed nur per kelkaj aliaj mekanismo kiu ni cedas niaj manoj 1230 00:57:42,080 --> 00:57:44,330 ĉe por hodiaŭ, sed estas ne en la URL. 1231 00:57:44,330 --> 00:57:47,630 Sed rimarkis la rilaton nun kun post, kiu, per konvencio, estas 1232 00:57:47,630 --> 00:57:49,160 Minusklaj tie. 1233 00:57:49,160 --> 00:57:54,090 >> Sed se mi malfermos register0.php, Mi ŝajne presi ĉi. 1234 00:57:54,090 --> 00:57:56,450 Do tiu estas speco de stranga enoficigante konvencio. 1235 00:57:56,450 --> 00:58:01,430 Sed kio estas agrabla en PHP estas ke kiam uzante PHP en TTT-kunteksto, ne ĉe 1236 00:58:01,430 --> 00:58:04,480 komandlinio kiel mi faris antaŭ momento, kiam vi efektive uzante ĝin en retejo 1237 00:58:04,480 --> 00:58:10,580 paĝo, en Vhost dosierujo kiel ni estas, aŭtomate PHP plenigi tiun 1238 00:58:10,580 --> 00:58:15,560 afero, kiu estas asocieca tabelo, por tiel diri, kradon tablo, kun 1239 00:58:15,560 --> 00:58:17,290 ĉion la uzanto tajpas in 1240 00:58:17,290 --> 00:58:22,000 >> Mallonge, $ _POST en ĉiuj kaskedoj estas malloka variablo ke PHP nur 1241 00:58:22,000 --> 00:58:25,050 magie kreas por vi kiam uzante PHP en retejo kuntekston. 1242 00:58:25,050 --> 00:58:29,160 Kaj metas ene de ĉiu el la nomoj de parametroj en la formo kiu 1243 00:58:29,160 --> 00:58:33,200 donita al ĉi tiu dosiero kaj ĉiuj la valoroj kiujn la uzanto tajpas in 1244 00:58:33,200 --> 00:58:37,790 Do manoj al vi, kion la uzanto tajpitaj en tiu formo. 1245 00:58:37,790 --> 00:58:42,210 >> Do antaŭ ol ni atingis vere stulta eligo de ĵus vidinte tion, ĉar ĉiuj mi faris 1246 00:58:42,210 --> 00:58:44,400 Estis rekursie presi tiun tabelo. 1247 00:58:44,400 --> 00:58:46,060 La ŝlosilo estas nomo, la valoro estas David. 1248 00:58:46,060 --> 00:58:46,980 La ŝlosilo estas kapitano. 1249 00:58:46,980 --> 00:58:47,970 La valoro estas. 1250 00:58:47,970 --> 00:58:52,300 Kaj la duobla sago kaj la angulo krampo tie, ĉi tio estas nur arbitra. 1251 00:58:52,300 --> 00:58:53,270 Ĉi tio ne estas kodo. 1252 00:58:53,270 --> 00:58:57,690 Ĉi tio estas nur PHP la vojo de montrante vin kio estas la valoro de iu ŝlosilo estas. 1253 00:58:57,690 --> 00:59:03,000 >> Sed nun permesu al mi proponi ke en froshIMs3, estas preskaŭ identa 1254 00:59:03,000 --> 00:59:04,950 se gxi prezentas al ĉi tiu dosiero. 1255 00:59:04,950 --> 00:59:08,570 Kaj denove, ni iras al speco de simple ekrigard ĉi, simple vidi ian 1256 00:59:08,570 --> 00:59:12,040 sintakso, sed avizo kio tiun dosieron faras. 1257 00:59:12,040 --> 00:59:14,930 Prenu supozas simple surbaze de la linioj de kodo, kiu probable ne aspekti kiel 1258 00:59:14,930 --> 00:59:17,410 Greka, iugrade, estas ŝajne faras. 1259 00:59:17,410 --> 00:59:20,580 1260 00:59:20,580 --> 00:59:23,110 >> Ĉi tiu dosiero estas iel rilata al poŝto, retpoŝto. 1261 00:59:23,110 --> 00:59:24,770 Do kio estas tiu programo faras? 1262 00:59:24,770 --> 00:59:28,740 En ĉi tiu versio, se mi efektive plenigi tiu formo - kaj lasu min iri al 1263 00:59:28,740 --> 00:59:30,760 froshIMs3, ne froshIMs0 - 1264 00:59:30,760 --> 00:59:33,280 1265 00:59:33,280 --> 00:59:34,540 la formo aspektas same. 1266 00:59:34,540 --> 00:59:37,980 Davido, kapitano, viro, dormejo, Matthews. 1267 00:59:37,980 --> 00:59:42,980 Sed se mi prezentas tiun, ĉi tiu dosiero tuj iros al register3.php. 1268 00:59:42,980 --> 00:59:46,330 >> Kaj mi asertas, rigardante ĝi estas fonta kodo, ĝi tuj 1269 00:59:46,330 --> 00:59:47,650 iel engaĝi retpoŝto. 1270 00:59:47,650 --> 00:59:49,620 Lasu min antaŭeniri kaj malfermu tiun en pli granda fenestro, do ni 1271 00:59:49,620 --> 00:59:51,030 povas vidi ĝin pli pure. 1272 00:59:51,030 --> 00:59:57,220 Ni estas en Vhosts, lokaj gastiganto, publiko, froshims. 1273 00:59:57,220 --> 00:59:58,680 Mi tuj malfermi alian programo, nur tiel ni 1274 00:59:58,680 --> 01:00:00,160 povas vidi pli samtempe. 1275 01:00:00,160 --> 01:00:03,100 >> Do nun tie ĉi, rimarki kelkajn aferojn. 1276 01:00:03,100 --> 01:00:06,530 Ĉe la supro de la dosiero estas malfermita krampo, demandosigno, PHP. 1277 01:00:06,530 --> 01:00:08,920 Tiam ekzistas aro da komentoj, kiun ni povas ignori, estas 1278 01:00:08,920 --> 01:00:10,450 neinteresa por nun. 1279 01:00:10,450 --> 01:00:11,300 >> Nun tie estas tio. 1280 01:00:11,300 --> 01:00:14,200 Ĝi rezultas PHP havas multan de kodo nomas postulas. 1281 01:00:14,200 --> 01:00:19,110 Ĝi estas tre simila en spirito al C estas inkludi, inkluzivi hash, kiu 1282 01:00:19,110 --> 01:00:21,980 esence kroĉas la enhavon de iu alia dosiero kaj ĝuste plops ilin ĉi tie, 1283 01:00:21,980 --> 01:00:22,930 tiel vi povos uzi ilin. 1284 01:00:22,930 --> 01:00:27,060 En tiu kazo, la aparato havas, antaŭ-instalita, biblioteko, libera kaj 1285 01:00:27,060 --> 01:00:29,900 malfermita fonto biblioteko nomita PHP mailer ol ĉiu povas 1286 01:00:29,900 --> 01:00:30,770 elŝuti el la interreto. 1287 01:00:30,770 --> 01:00:32,000 Ni ĵus faris ĝin por vi. 1288 01:00:32,000 --> 01:00:36,130 Kaj tio signifas ke mi nun havas retpoŝto funkciojn en mia dispono. 1289 01:00:36,130 --> 01:00:38,170 >> Nun, rimarki kelkajn aferojn. 1290 01:00:38,170 --> 01:00:41,120 Mi iros por validigi la formo de submetiĝo. 1291 01:00:41,120 --> 01:00:45,980 Turnoj el PHP, oni, havas ekkrion punktoj por la ne operatoro, samkiel 1292 01:00:45,980 --> 01:00:49,810 C. Sed PHP ankaŭ havas funkcion vokis malplena. 1293 01:00:49,810 --> 01:00:53,920 >> Malplena ĵus revenas vera se la valoro de la afero vi transdonos ĝin en 1294 01:00:53,920 --> 01:00:57,190 krampoj estas malplena, kiel la uzanto ne tajpas ion in 1295 01:00:57,190 --> 01:01:02,680 Do ĉi tiu estas vorto, kaj rimarkis la sintakso, tre memorigas de C, se la 1296 01:01:02,680 --> 01:01:07,730 nomo ŝlosilo, do la nomo kampo en la formo, kiu estis donita per poŝto, per 1297 01:01:07,730 --> 01:01:13,010 la uzanto, ne estas malplenigi, kaj ilia genro ne estas malplenaj en la formo kiel 1298 01:01:13,010 --> 01:01:15,980 bone, kaj iliaj dormejoj estas ne malplena - 1299 01:01:15,980 --> 01:01:19,980 sed rimarki Mi ne zorgas pri Kapitano, tiam kio ni iras fari? 1300 01:01:19,980 --> 01:01:21,990 >> Mi tuj ekzekuti tiu linio de kodo. 1301 01:01:21,990 --> 01:01:24,100 Kaj vi povas pensi pri tiu speco de kiel malloc, sed estas iom 1302 01:01:24,100 --> 01:01:24,800 amatoro ol tio. 1303 01:01:24,800 --> 01:01:29,200 Sed por nun tio donas al mi specialan struct de tipo PHP mailer. 1304 01:01:29,200 --> 01:01:31,410 Sed ignori la ŝlosilvorto nova hodiaŭ. 1305 01:01:31,410 --> 01:01:35,670 >> Nun mi iros, por alvoki funkcio nomata IsSMTP, kiu diras, uzu SMTP. 1306 01:01:35,670 --> 01:01:39,380 Ĉi tiu estas haveno 25, samkiel la video pasintsemajne, kiam la afero estis ĵetante 1307 01:01:39,380 --> 01:01:40,710 retpoŝtojn en la fajroŝirmilo. 1308 01:01:40,710 --> 01:01:42,440 Haveno 25 estas SMTP. 1309 01:01:42,440 --> 01:01:44,410 SMTP signifas uzi la servilon. 1310 01:01:44,410 --> 01:01:46,215 Kiun, ni povas uzi Harvard SMTP.fas.harvard.edu. 1311 01:01:46,215 --> 01:01:48,850 1312 01:01:48,850 --> 01:01:51,590 >> Ni povas agordi la de adreso esti John Harvard. 1313 01:01:51,590 --> 01:01:55,090 Se mi rulumu malsupren pli, mi povas agordi la ricevanto adreso, nur 1314 01:01:55,090 --> 01:01:56,840 arbitre, esti John Harvard estas tiel. 1315 01:01:56,840 --> 01:01:59,210 Do li tuj estos emailing sin. 1316 01:01:59,210 --> 01:02:01,600 >> Nun mi povas agordi la temo esti registriĝo. 1317 01:02:01,600 --> 01:02:03,700 Kaj mi povas agordi la korpo de retpoŝto kiel sekvas. 1318 01:02:03,700 --> 01:02:06,500 Ĉi tiu linio aspektas iom pli kripta, sed tio estas nur ĉar tie estas multa 1319 01:02:06,500 --> 01:02:07,450 de informoj en ĝi. 1320 01:02:07,450 --> 01:02:10,670 Unu, tie estas skalara operatoro. 1321 01:02:10,670 --> 01:02:14,510 Iu devas scii jam kion la skalara operatoro faras. 1322 01:02:14,510 --> 01:02:15,436 Ĝi estas kunmeto. 1323 01:02:15,436 --> 01:02:19,240 Do se vi volas preni ĉenon en PHP, kaj aldonas ĝin, aŭ prepend gxin, por 1324 01:02:19,240 --> 01:02:23,500 alia kordo en PHP, dankon Dio vin ne devas uzi strcopy kaj malloc, 1325 01:02:23,500 --> 01:02:25,490 kaj ĉiujn kiuj plu. 1326 01:02:25,490 --> 01:02:28,765 >> Se vi volas concatenate du ŝnuroj, kiu zorgas pri la memoro. 1327 01:02:28,765 --> 01:02:30,850 Lasu PHP figuro kiu gxin al vi. 1328 01:02:30,850 --> 01:02:35,200 Kio PHP faros kun la skalara operatoro ĉi tie estas simple granda frazo el 1329 01:02:35,200 --> 01:02:37,900 de ĉi tiu linio, ĉi tiu linio, ĉi tiu linio, ĉi tiu linio. 1330 01:02:37,900 --> 01:02:40,460 Kaj nun rimarki, ĝi okazas esti ŝtopanta en valoroj. 1331 01:02:40,460 --> 01:02:43,680 Do la retpoŝton ke John Harvard okazas ricevi estas laŭvorte tuj diros 1332 01:02:43,680 --> 01:02:49,450 nomo, dupunkto, iu, pli ĝuste, tiam ni fermi la kordo kaj concatenate sur 1333 01:02:49,450 --> 01:02:52,220 kion ajn la uzanto tajpas en, tiam nova linio. 1334 01:02:52,220 --> 01:02:54,570 >> Tiam, en la sekvanta linio de John Harvard retpoŝton, ĝi estas dironta 1335 01:02:54,570 --> 01:02:55,910 Kapitano, Sur aŭ Nenio. 1336 01:02:55,910 --> 01:02:57,810 Ĝi estas dironta sekso, vira aŭ ina. 1337 01:02:57,810 --> 01:02:59,680 Dormejo tuj estos Matthews en mia kazo. 1338 01:02:59,680 --> 01:03:03,400 Kaj tiam rimarkos familiara punktokomo ĉe la fino. 1339 01:03:03,400 --> 01:03:07,830 Kaj tiam, cxi tie, avizo, iom kamufla ankoraŭ, sed denove, post 1340 01:03:07,830 --> 01:03:12,730 mastro kiu igos pli familiara post P starigis 7, se la sendo de la poŝto 1341 01:03:12,730 --> 01:03:16,610 Revenas malvera, tiam iru antaŭen kaj mortos. 1342 01:03:16,610 --> 01:03:19,610 >> Do PHP havas funkcion nomita mortas, kiuj, laŭvorte, nur mortigas la 1343 01:03:19,610 --> 01:03:22,830 retejo kaj nur presas el ajn vi rakontos ĝin - lia mortas 1344 01:03:22,830 --> 01:03:24,280 vortoj, por tiel diri. 1345 01:03:24,280 --> 01:03:28,310 Kaj tio, en la kazo, ĝi presos el kio la eraro informoj estas por 1346 01:03:28,310 --> 01:03:29,860 kion ajn okazis iri malbone. 1347 01:03:29,860 --> 01:03:34,490 Do longan rakonton tie, kion ni havas estas ekzemplo kie kiam la uzanto 1348 01:03:34,490 --> 01:03:39,150 prezentas la formon, froshim0, froshims3.php, ĝi iras al 1349 01:03:39,150 --> 01:03:40,760 register3.php. 1350 01:03:40,760 --> 01:03:45,290 Sed register3.php tiam procedas ekzekuti ĉiujn tiujn liniojn. 1351 01:03:45,290 --> 01:03:46,620 >> Do tie estas kelkaj TAKE aways tie. 1352 01:03:46,620 --> 01:03:50,380 Unu, estas ŝajne sufiĉe facila, programmatically, sendi retpoŝtojn, 1353 01:03:50,380 --> 01:03:50,830 kio estas bona. 1354 01:03:50,830 --> 01:03:53,500 Kiam la uzantoj registri vian retejon, en tiu kazo, kiam registri vian 1355 01:03:53,500 --> 01:03:56,220 sporto, vi povas sendi retleteron al la novulo Proctor, aŭ John 1356 01:03:56,220 --> 01:03:57,650 Harvard, en tiu kazo. 1357 01:03:57,650 --> 01:04:01,630 >> Sed ĝi ankaŭ signifas ke vi povas fari kion? 1358 01:04:01,630 --> 01:04:03,970 Sendu retpoŝtojn el iu al iu ajn. 1359 01:04:03,970 --> 01:04:05,430 Kaj ĉi tiu estas tre vera. 1360 01:04:05,430 --> 01:04:08,580 Tiu ne estas tiel facile fari se vi kutimas uzi Gmail. 1361 01:04:08,580 --> 01:04:11,310 Sed se vi iam uzis Eudora aŭ Outlook, vi povas sufiĉe multe rakonti 1362 01:04:11,310 --> 01:04:13,720 ejon servilon, ke vi estas iu ajn vi volas. 1363 01:04:13,720 --> 01:04:16,450 Kaj ĉi tiu estas kie mi bezonas surmetis ke ĉapelo kaj diros: Ne faru tion. 1364 01:04:16,450 --> 01:04:21,140 Sed tio estas atesto, kiom facila ĝi estas plenumi phishing atakoj, kaj 1365 01:04:21,140 --> 01:04:24,310 sendi anonimajn retpoŝtojn, kaj spamon, pli ĝenerale. 1366 01:04:24,310 --> 01:04:27,330 Kaj vere bolas malsupren al la fakto, ke oni nur bezonas iom 1367 01:04:27,330 --> 01:04:28,500 programita aliron. 1368 01:04:28,500 --> 01:04:31,940 >> Kiel flanken, mia plej proksima renkonto kun la anonco tabulo, mian propran unua jaro, 1369 01:04:31,940 --> 01:04:34,320 Estis kiam mi malkovris ĉi malvarmeta trompi ke, wow, vi povas 1370 01:04:34,320 --> 01:04:36,850 sendi retpoŝtojn de iu ajn. 1371 01:04:36,850 --> 01:04:39,770 Kaj tiel ni havi iu stulta argumento, laŭvorte, en Matthews, 1372 01:04:39,770 --> 01:04:40,790 inter miaj Proctor grupo. 1373 01:04:40,790 --> 01:04:42,470 Mi eĉ ne memoras kion la demando estis. 1374 01:04:42,470 --> 01:04:44,970 Sed mi volis provi meti fini al ĉi stulta debato. 1375 01:04:44,970 --> 01:04:48,580 >> Do mi decidis Mi simple sendi retmesaĝon al mia Proctor grupo, ŝajnigante esti 1376 01:04:48,580 --> 01:04:52,000 la alia knabo, kun kies opinio mi konsentis, kaj ke li konsentas al 1377 01:04:52,000 --> 01:04:54,680 kion ajn mia opinio estis en tiu aparta debato. 1378 01:04:54,680 --> 01:04:59,320 Kaj tiel mi forĝis ĉi retpoŝto uzante simila tekniko en spirito al tio. 1379 01:04:59,320 --> 01:05:01,256 Sed estis vere pli facile en tiu momento. 1380 01:05:01,256 --> 01:05:02,435 Hit sendi. 1381 01:05:02,435 --> 01:05:06,660 Li ne estis kontenta, nek volis estis la anonco tabulo. 1382 01:05:06,660 --> 01:05:10,280 >> Kaj mi estis tre rapide kaptita ene duaj ĉar, kiel vi scias, mi subskribas 1383 01:05:10,280 --> 01:05:11,420 miaj retmesaĝoj en certa maniero. 1384 01:05:11,420 --> 01:05:14,200 Kaj kvankam mi faru ĝin permane, en grandaj parto, 15 jaroj poste ĉar mi estis 1385 01:05:14,200 --> 01:05:15,080 traumado per tio. 1386 01:05:15,080 --> 01:05:16,960 Mi ne havas subskribon sur mia retpoŝta nun. 1387 01:05:16,960 --> 01:05:20,440 Sed en 1995, mi nur havis sig, signaturon en mia retpoŝto. 1388 01:05:20,440 --> 01:05:24,630 Kaj estis tiu noto dirante: Karaj Proctor grupo, mi konsentas mia opinio 1389 01:05:24,630 --> 01:05:31,240 kaj konsentas kun David, subskribita tia kaj tiel, nova linio, nova linio, DJM. 1390 01:05:31,240 --> 01:05:36,220 >> Do ne fari tion aŭ, ĝenerale, preni avantaĝo de ĉi tiu tekniko. 1391 01:05:36,220 --> 01:05:39,950 Sed kiam fari TTT-ejo, kiel via fina projekto, kiam farante 1392 01:05:39,950 --> 01:05:43,460 retejo por io dungistaj, jen kiel, pragmate, vi povas 1393 01:05:43,460 --> 01:05:47,000 leverage aliaj servoj en la interreto kiel poŝto kaj poste efektive 1394 01:05:47,000 --> 01:05:49,440 sendi aferojn uzante kodon. 1395 01:05:49,440 --> 01:05:51,240 >> Do kiel ni povas plibonigi sur tio? 1396 01:05:51,240 --> 01:05:54,370 Nu, unue ni prenu rapida tour iuj el la aĵoj kiujn vi vidos, 1397 01:05:54,370 --> 01:05:56,170 kaj tiam rigardu kelkaj ekzemploj. 1398 01:05:56,170 --> 01:05:59,500 Do unu, por trankviligi, ĉar ni flugas tra PHP. 1399 01:05:59,500 --> 01:06:02,470 Kaj mi scias, en iu punkto, vi devos por fakte komenci skribi ĉi se vi 1400 01:06:02,470 --> 01:06:03,460 ne jam havas. 1401 01:06:03,460 --> 01:06:06,220 Konscii, ke, unu, ĉefa estas afabla el la fenestro kun PHP. 1402 01:06:06,220 --> 01:06:09,420 Se vi volas skribi kodon kiu ricevas ekzekutitaj, vi simple komencu skribi ĝin en 1403 01:06:09,420 --> 01:06:13,970 dosiero nomata. php tiel longe kiel vi havas la malferma krampo 1404 01:06:13,970 --> 01:06:15,620 demandosigno PHP etikedo. 1405 01:06:15,620 --> 01:06:19,730 >> Sed rimarki tiuj estas kondiĉoj en php. 1406 01:06:19,730 --> 01:06:22,610 Rimarku, tio estas la ĝusta sama slide ni havis en la semajno oni kiam ni havis 1407 01:06:22,610 --> 01:06:25,670 kondiĉoj en C. Kondiĉoj en PHP estas strukture kaj 1408 01:06:25,670 --> 01:06:27,140 sintakse la sama. 1409 01:06:27,140 --> 01:06:30,290 Nur reala diferenco estas se vi havas variabloj, vi havos tiujn 1410 01:06:30,290 --> 01:06:31,600 dolaro signoj. 1411 01:06:31,600 --> 01:06:33,970 >> Dume, Buleaj esprimoj aspektas nur tiel por 1412 01:06:33,970 --> 01:06:35,725 aŭ-ing aŭ kaj-ing kune. 1413 01:06:35,725 --> 01:06:37,780 Ŝaltiloj aspektas precize la sama. 1414 01:06:37,780 --> 01:06:42,180 Kio estas agrable en PHP, dum en C, ŝaltiloj devus esti kazoj sur 1415 01:06:42,180 --> 01:06:46,380 primitivoj kiel ints aŭ signoj, en PHP via kazo deklaroj povas fakte esti 1416 01:06:46,380 --> 01:06:48,430 sur tuta kordoj, kiu estas fakte speco de agrabla. 1417 01:06:48,430 --> 01:06:49,480 Savas vin iom da tempo. 1418 01:06:49,480 --> 01:06:50,820 Ne povis fari tion en C. 1419 01:06:50,820 --> 01:06:52,880 >> Jen por buklo en PHP. 1420 01:06:52,880 --> 01:06:53,740 Ĝi estas identa. 1421 01:06:53,740 --> 01:06:55,400 Havu iom da dolaro signoj por la variabloj. 1422 01:06:55,400 --> 01:06:57,530 Vi ne devas mencii ke io estas int. 1423 01:06:57,530 --> 01:07:00,580 Vi nur deklari gxin per dolaro signo kaj la nomo de la variablo. 1424 01:07:00,580 --> 01:07:01,430 Sed por buklo estas la sama. 1425 01:07:01,430 --> 01:07:02,760 Al dum buklo estas la sama. 1426 01:07:02,760 --> 01:07:04,870 Al fari dum buklo estas la sama. 1427 01:07:04,870 --> 01:07:06,170 >> Tio estas iom malsamaj. 1428 01:07:06,170 --> 01:07:12,410 Do kun PHP, kun tabelo, vi povas statike deklari tabelo, kiel en C, 1429 01:07:12,410 --> 01:07:14,420 sed vi uzas kvadrataj krampoj. 1430 01:07:14,420 --> 01:07:17,060 En C, vi uzus krispa krampoj, se vi eĉ sciis tion. 1431 01:07:17,060 --> 01:07:20,910 Sed tio estas vere tre komuna en PHP deklari tabelo, en ĉi tiu kazo, 1432 01:07:20,910 --> 01:07:23,640 de nombroj, kaj alvoki variablo nombroj. 1433 01:07:23,640 --> 01:07:25,300 >> Variabloj sin aspekti kiel ĉi tio. 1434 01:07:25,300 --> 01:07:28,710 Ĉi tie estas cxeno, citi unquote "saluton mondon. "Vi povus havi backslash n. 1435 01:07:28,710 --> 01:07:30,950 Mi simple ne en tiu kazo. 1436 01:07:30,950 --> 01:07:32,640 >> Nun ĉi tiu estas interesa konstruo. 1437 01:07:32,640 --> 01:07:33,700 C ne havas tion. 1438 01:07:33,700 --> 01:07:34,700 Sed ĉi tiu estas super helpema. 1439 01:07:34,700 --> 01:07:38,160 Kaj vi vidos tion en P aro 7 spec - a por ĉiu konstruo. 1440 01:07:38,160 --> 01:07:41,800 Se vi volas ripeti super ĉiuj el la elementoj tabelo, vi ne havas 1441 01:07:41,800 --> 01:07:45,500 trakti kun $ i kaj $ n, kaj + +, kaj cxio, kion. 1442 01:07:45,500 --> 01:07:47,640 Vi povas laŭvorte diras: en PHP, ĉi tiu - 1443 01:07:47,640 --> 01:07:51,890 por ĉiu nombroj kiel nombro, tiel Mi supozas ke $ nombroj 1444 01:07:51,890 --> 01:07:53,380 estas tabelo de nombroj. 1445 01:07:53,380 --> 01:07:56,460 Kaj kiam mi diras por ĉiu nombroj kiel numero, ĉi tiu tuj 1446 01:07:56,460 --> 01:08:00,505 aŭtomate, kiel mia buklo ekzekutas, ĝisdatigi, sur ĉiu ripeto, la valoro 1447 01:08:00,505 --> 01:08:03,260 ene de dolaro signo nombro - 1448 01:08:03,260 --> 01:08:07,730 denove, kaj denove, kaj denove marŝi por min trans tiun tabelo. 1449 01:08:07,730 --> 01:08:08,735 Do nur savas nin kodo. 1450 01:08:08,735 --> 01:08:12,250 Neniu punktokomojn, neniu + + 's, no i estas, neniu n aj, ĝi estas nur bela. 1451 01:08:12,250 --> 01:08:13,700 >> Sed PHP ankaŭ havas ĉi. 1452 01:08:13,700 --> 01:08:14,830 Kaj ĉi tiu estas super potencaj. 1453 01:08:14,830 --> 01:08:17,410 Kaj vi uzos ĉi, manoj on, en P aro 7. 1454 01:08:17,410 --> 01:08:21,990 Kaj asocieca tabelo ankaŭ deklaris kun kvadrataj krampoj. 1455 01:08:21,990 --> 01:08:23,569 Sed rimarkos la sintakson nun. 1456 01:08:23,569 --> 01:08:26,880 Estas memoras kion ni vidis kun print_r antaŭ momento. 1457 01:08:26,880 --> 01:08:31,810 Kiom da klavoj, kiel malgranda prudento ĉeko, Ĉu tio tabelo ŝajnas havi. 1458 01:08:31,810 --> 01:08:32,689 >> Do ĝi havas du. 1459 01:08:32,689 --> 01:08:33,830 Kaj mi nomas tiun tabelo. 1460 01:08:33,830 --> 01:08:36,760 Sed se ĝi helpas, vi povas pensi de tiu kiel kradaj tablo, aŭ kiel 1461 01:08:36,760 --> 01:08:37,930 asocieca tabelo. 1462 01:08:37,930 --> 01:08:39,580 Sed estas nur malsama tipo de tabelo. 1463 01:08:39,580 --> 01:08:41,080 Kaj denove, malsamaj lingvoj havas tiujn. 1464 01:08:41,080 --> 01:08:43,810 Ni vidos ion similan en JavaScript tiel. 1465 01:08:43,810 --> 01:08:44,609 Ekzistas du klavoj. 1466 01:08:44,609 --> 01:08:48,390 Unu estas citaĵo unquote, "simbolo," unu estas citi unquote "prezo." Kaj tiuj klavoj 1467 01:08:48,390 --> 01:08:49,250 ĉiu havas valoron. 1468 01:08:49,250 --> 01:08:54,420 En tiu kazo simbolo valoro estas FB, por Facebook, kaj prezo de valoro estas 49, 26, 1469 01:08:54,420 --> 01:08:56,899 kiu estis Facebook stoko prezo de ĉi tiu mateno. 1470 01:08:56,899 --> 01:09:00,170 >> Do kio estas utila pri asocieca tabelo. 1471 01:09:00,170 --> 01:09:02,620 Mi povus esti havinta ciferece indeksita tabelo kun nur 1472 01:09:02,620 --> 01:09:04,120 simplaj rektaj krampoj. 1473 01:09:04,120 --> 01:09:09,380 Kaj mi povis havi dolaro signo citaĵo egalas nur ĉi. 1474 01:09:09,380 --> 01:09:10,529 Permesu al mi efektive faros. 1475 01:09:10,529 --> 01:09:14,796 Supozu mi anstataŭ simple deklaris tiun tabelo tiel. 1476 01:09:14,796 --> 01:09:17,590 Tio estas perfekte valida, sintakse. 1477 01:09:17,590 --> 01:09:20,569 Ĝi ne perdis neniun informon, per si mem. 1478 01:09:20,569 --> 01:09:24,760 Mi ankoraŭ vidas, ke la simbolo estas fb, kaj ke la prezo estas 49, 26. 1479 01:09:24,760 --> 01:09:28,939 Do kial estas asocieca arrays konvinka? 1480 01:09:28,939 --> 01:09:30,189 >> Spektantaro: Vi ne devas memori kie vi metis aĵojn. 1481 01:09:30,189 --> 01:09:32,050 1482 01:09:32,050 --> 01:09:34,130 >> Parolanto 1: Ĝuste, vi ne havas memori, kie vi metis aĵojn. 1483 01:09:34,130 --> 01:09:37,670 Vi ne devas arbitre memori ke stock simbolo estas en krampo nulo, 1484 01:09:37,670 --> 01:09:41,479 kaj stock prezoj estas en krampo unu, kio estas aparte danĝera se vi 1485 01:09:41,479 --> 01:09:43,220 ŝanĝi aĵojn, fine. 1486 01:09:43,220 --> 01:09:46,399 Ĝi estas multe pli agrabla por asocii kion ni vokos metadatumoj 1487 01:09:46,399 --> 01:09:48,340 kun via reala datumoj. 1488 01:09:48,340 --> 01:09:52,399 Mi volas argumenti ke tio, kion ni vere zorgas ĉi tie, estas fb kaj 49, 26. 1489 01:09:52,399 --> 01:09:57,020 La simbolo kaj prezo estas metadatumoj kiu priskribas la datumoj 1490 01:09:57,020 --> 01:09:58,180 vere maltrankviligas. 1491 01:09:58,180 --> 01:10:01,910 Sed tio estas ĝuste tiel facile aliri. 1492 01:10:01,910 --> 01:10:04,090 >> Nun, kiel flanken kio estas la prezo ni pagas? 1493 01:10:04,090 --> 01:10:06,600 Ni estis farante tiun en CS50 dum semajnoj. 1494 01:10:06,600 --> 01:10:10,740 Ĉi tiu karakterizaĵo devas veni en iu kosto. 1495 01:10:10,740 --> 01:10:11,350 Memoro. 1496 01:10:11,350 --> 01:10:13,830 Do vi ne nur provizon de 32 bitoj entjera, ekzemple. 1497 01:10:13,830 --> 01:10:17,980 Vi stokante simbolo / 0, verŝajne. 1498 01:10:17,980 --> 01:10:19,160 Do vi uzas pli da memoro. 1499 01:10:19,160 --> 01:10:22,540 >> Kaj kio estas la agado de rigardante ion en 1500 01:10:22,540 --> 01:10:24,822 asocieca tabelo, probable? 1501 01:10:24,822 --> 01:10:26,590 Estas probable pli malrapida. 1502 01:10:26,590 --> 01:10:29,670 Hazarda aliro estas bela, speciale kiam vi povas fari duuma serĉo. 1503 01:10:29,670 --> 01:10:33,380 Sed se vi efektive nun serĉas ne por nombroj, sed por kordoj, ĉi 1504 01:10:33,380 --> 01:10:37,630 vere estas implementado sub la kapuĉo, probable kiel hash tablo, kie 1505 01:10:37,630 --> 01:10:42,950 vi uzas ĉu hash tablo kun apartaj sinsekvon. 1506 01:10:42,950 --> 01:10:46,040 Aŭ vi uzas try al reale stoki la valorojn. 1507 01:10:46,040 --> 01:10:50,550 Do eble vi povas fari konstanta tempo, sed vi ankoraŭ devas rigardi S-Y-M-B-ho-L, 1508 01:10:50,550 --> 01:10:54,510 potenciale, anstataŭ nur 32 bitojn por serĉi ion. 1509 01:10:54,510 --> 01:10:58,430 Do denove, tiuj samaj ideoj venas apogi al ripetas en ĉi tiu kunteksto. 1510 01:10:58,430 --> 01:11:02,120 >> Sed denove, PHP nun havas iom super globals ke, verŝajne, estas 1511 01:11:02,120 --> 01:11:02,900 asociaj tabeloj. 1512 01:11:02,900 --> 01:11:05,590 Ni vidis unu antaŭ momento, $ _POST. 1513 01:11:05,590 --> 01:11:08,400 Kaj tio super tutmonda havas klavojn kaj valoroj. 1514 01:11:08,400 --> 01:11:10,550 Specife, la ŝlosilojn laŭliniigi kun kio? 1515 01:11:10,550 --> 01:11:14,520 Kie la ŝlosilojn en $ _POST venis? 1516 01:11:14,520 --> 01:11:15,380 Nur por recap? 1517 01:11:15,380 --> 01:11:16,480 >> Spektantaro: Nomo. 1518 01:11:16,480 --> 01:11:17,900 >> Parolanto 1: Nomo, kie? 1519 01:11:17,900 --> 01:11:19,860 >> Spektantaro: [inaudibles] 1520 01:11:19,860 --> 01:11:20,750 >> Parolanto 1: Nomo estas la atributo. 1521 01:11:20,750 --> 01:11:23,480 Nu kie, kie ili faris origine venas? 1522 01:11:23,480 --> 01:11:24,120 La formo. 1523 01:11:24,120 --> 01:11:30,140 Do se HTML-paĝo havas formon etikedo, ene de kiuj estas iuj enigoj, kiel 1524 01:11:30,140 --> 01:11:34,760 kontrolu skatoloj, teksto skatoloj, gutigas menuojn, ĉiu el kiuj havas nomon, tiuj 1525 01:11:34,760 --> 01:11:40,260 nomoj fini kiel ŝlosilojn en $ _POST, kaj, sincere, por tiu demando, $ _GET. 1526 01:11:40,260 --> 01:11:42,130 Se la metodo estas get, sama ideo. 1527 01:11:42,130 --> 01:11:43,830 Estas nur en malsama super tutmonda. 1528 01:11:43,830 --> 01:11:47,620 Kaj la valoroj, kompreneble, venis el kion ajn la uzanto tajpas en en lia aŭ 1529 01:11:47,620 --> 01:11:48,890 ŝi retumilo. 1530 01:11:48,890 --> 01:11:49,830 >> Sed estas kelkaj aliaj. 1531 01:11:49,830 --> 01:11:52,140 Ekzistas kuketo, kiujn ni instruos vin revenu al fine. 1532 01:11:52,140 --> 01:11:56,050 Sed tiuj estas la aferoj, ke vi scias la retejo uzas por iu bona aŭ malbona. 1533 01:11:56,050 --> 01:11:57,420 Sed ni revenu al tio. 1534 01:11:57,420 --> 01:12:01,720 Servilo kaj kunsido, kaj tiuj du havas iun specialan utilecon. 1535 01:12:01,720 --> 01:12:03,940 >> Sed ni rigardu tion ĉi. 1536 01:12:03,940 --> 01:12:13,330 Lasu min kaj malfermu ekzemplo vokis mvc0.php Do MVC 1537 01:12:13,330 --> 01:12:14,900 staras por la sekva. 1538 01:12:14,900 --> 01:12:19,390 Kaj ni enkondukas ĉi frue ol estas tipaj, vere, por akiri vi desegni 1539 01:12:19,390 --> 01:12:22,180 Problemo aro 7, kaj ankaŭ fino projektoj, en varo de industrio 1540 01:12:22,180 --> 01:12:23,670 norma maniero, kaj pura formo. 1541 01:12:23,670 --> 01:12:24,820 Ĝi estas bona dezajno. 1542 01:12:24,820 --> 01:12:29,090 >> Do vi estas, por vidi, kaj vi instruos vin sperto, en P aro 7, paradigmo, speco 1543 01:12:29,090 --> 01:12:32,260 de programado pensmanieron, kiu serĉas iom iun kiel ĉi tio. 1544 01:12:32,260 --> 01:12:35,570 M por Modelo, C por Controller, V for View. 1545 01:12:35,570 --> 01:12:39,690 Longan rakonton, MVC estas nur speco de metodiko, maniero de preni 1546 01:12:39,690 --> 01:12:43,360 retejoj, precipe, per kiu vi metu ĉiujn viajn, stulta frazo - 1547 01:12:43,360 --> 01:12:44,970 komerca logiko - 1548 01:12:44,970 --> 01:12:49,710 ĉiuj viaj intelekta proprieto en kio nomiĝas controlador, dosiero 1549 01:12:49,710 --> 01:12:54,840 kiel index.php, aŭ ni vidos, quote.php, aŭ buy.php. 1550 01:12:54,840 --> 01:12:59,570 >> En la kunteksto de Problemo aro 7, via modeloj tipe enhavas viajn datumojn, 1551 01:12:59,570 --> 01:13:03,860 io rilata al datumbazo, kiel ni instruos vin fine vidas, kaj viaj opinioj 1552 01:13:03,860 --> 01:13:07,510 enhavi la estetiko de via ejo, la HTML, la CSS. 1553 01:13:07,510 --> 01:13:10,420 Do ni jam vidis ĉi tion en C iom iom por uzi. h dosierojn. 1554 01:13:10,420 --> 01:13:15,010 Ni vere vidis ĝin antaŭ momento kun CSS, per faktorigo la CSS estilización 1555 01:13:15,010 --> 01:13:16,520 plenigos el niaj HTML. 1556 01:13:16,520 --> 01:13:20,730 >> Do MVC estas vere nur pri desegnante linioj en la sablo kaj dirante, la 1557 01:13:20,730 --> 01:13:25,400 interesa programado kodo por via retejo apartenas en kion ni nomas 1558 01:13:25,400 --> 01:13:26,400 regilo. 1559 01:13:26,400 --> 01:13:29,280 Plenigos rilataj al datumbazo tipe finas en modelo. 1560 01:13:29,280 --> 01:13:33,070 Sed vi vidos, en Problemo aro 7, ni kunfandi C kaj M por teni ĝin simpla. 1561 01:13:33,070 --> 01:13:37,630 Sed vidado estas kie ĉiuj de viaj HTML kaj estetiko tipe iri. 1562 01:13:37,630 --> 01:13:39,160 >> Do kion signifas ĉi tio en realaj terminoj? 1563 01:13:39,160 --> 01:13:45,980 Nu, permesu al mi iri en nia MVC dosierujo kiel sekvas. 1564 01:13:45,980 --> 01:13:48,880 Kaj vi vidos pli da tiuj turneis tra la specifon. 1565 01:13:48,880 --> 01:13:53,200 Do en mvc0, mi asertas ke ĉi tio estas, kiel, Versio 0 de CS50 la retejoj. 1566 01:13:53,200 --> 01:13:56,670 >> Ĉiuj ni havas estas iuj HTML, same kiel grandan h1 etikedo, ŝajne. 1567 01:13:56,670 --> 01:13:57,800 Kaj tiam bula listo. 1568 01:13:57,800 --> 01:13:59,860 Mi neniam vidis bula listo antaŭe, sed ne estas granda interkonsento. 1569 01:13:59,860 --> 01:14:01,590 Ni rapide rigardi la fontkodo. 1570 01:14:01,590 --> 01:14:06,610 Rezultas neordigitan liston kun kugloj estas malferma krampo ul kun aŭ 1571 01:14:06,610 --> 01:14:09,065 pli liston artikolojn, p. 1572 01:14:09,065 --> 01:14:10,650 Do avizo jen ankron etikedo. 1573 01:14:10,650 --> 01:14:12,130 Ni vidis, ke antaŭ momento. 1574 01:14:12,130 --> 01:14:13,810 >> Do jen kiel mi implementado ĉi tiu paĝo. 1575 01:14:13,810 --> 01:14:18,460 Mi havas du ligojn, du listo, eroj, unu ul por ordigita listo, kaj la fino 1576 01:14:18,460 --> 01:14:22,700 rezulto, estetike, estas ĉi tre bela retejo, versio 0 tie. 1577 01:14:22,700 --> 01:14:26,840 Sed kio estas interesa nun estas kiel tiu estas implementado sub la kapuĉo. 1578 01:14:26,840 --> 01:14:33,590 >> Permesu al mi iri en gedit kaj malfermu tiun tre unua ekzemplo por pentri portreton. 1579 01:14:33,590 --> 01:14:37,070 Kaj ni rigardu kio estas misa, potenciale, en ĉi tie. 1580 01:14:37,070 --> 01:14:43,260 Nu, se mi iros en localhost, publika, MVC, rimarkis kelkajn dosierojn. 1581 01:14:43,260 --> 01:14:45,780 Mi tuj voki tiujn, por la momento, ĉiuj regiloj. 1582 01:14:45,780 --> 01:14:48,640 Sed tio iom de misuzo ĉar vi vidos ĉion estas commingled 1583 01:14:48,640 --> 01:14:49,620 ene de ili. 1584 01:14:49,620 --> 01:14:52,330 >> Kaj lasu min iri interne index.php. 1585 01:14:52,330 --> 01:14:54,700 Kaj ni vidas, laŭvorte, la sama HTML. 1586 01:14:54,700 --> 01:14:57,970 Do eĉ se tiu dosiero finiĝas . Php, Ĝi ne signifas ke ĝi devas 1587 01:14:57,970 --> 01:14:59,500 havas neniun PHP-kodo. 1588 01:14:59,500 --> 01:15:02,290 Ĝi povas esti nur krudan HTML, kvankam tio estas speco de stulta. 1589 01:15:02,290 --> 01:15:07,650 Sed rimarki ne estas malferma krampo PHP tag, krom tiu, kiu, sincere, 1590 01:15:07,650 --> 01:15:09,160 estas nur ekzistas por servi kiel komento. 1591 01:15:09,160 --> 01:15:12,080 Sed tio estas funkcie ne eĉ tio interesa. 1592 01:15:12,080 --> 01:15:12,960 >> Sed rimarki tion. 1593 01:15:12,960 --> 01:15:15,400 Kio estas interesa nun estas kion ŝanĝoj en tiu ĉi paĝo. 1594 01:15:15,400 --> 01:15:16,650 Lasu min klaku Prelegoj. 1595 01:15:16,650 --> 01:15:18,560 Kaj rimarkos la URL estas por ŝanĝi. 1596 01:15:18,560 --> 01:15:20,930 Nun mi estas ĉe lectures.php. 1597 01:15:20,930 --> 01:15:22,630 Lasu min klaku nulo. 1598 01:15:22,630 --> 01:15:27,200 Nun mi estas ĉe week0.php Kaj nun Mi malfermos tiujn dosierojn en gedit. 1599 01:15:27,200 --> 01:15:30,120 Ne nur indekso, sed lasu min malfermi prelegoj. 1600 01:15:30,120 --> 01:15:33,900 Kaj lasu min forigi la komentojn centri en tiu ĉi parto nur. 1601 01:15:33,900 --> 01:15:37,680 >> Kaj nun mi volas malfermi nur unu pli, week0.php, forĵetu la komentoj, 1602 01:15:37,680 --> 01:15:39,910 nur por purigi ĉi supre. 1603 01:15:39,910 --> 01:15:41,720 Kaj nun rimarkis la sekvan. 1604 01:15:41,720 --> 01:15:47,340 Pensante vere ia atente dezajno, kaj ni faros linio 1605 01:15:47,340 --> 01:15:52,013 ĝis la sama, kion fari pli bone ĉi tie, ĉu vi opinias? 1606 01:15:52,013 --> 01:15:56,450 1607 01:15:56,450 --> 01:15:57,780 >> Kiel mi faros por semajno unu? 1608 01:15:57,780 --> 01:15:58,480 Kion pri tio. 1609 01:15:58,480 --> 01:16:00,450 Do jen kiel mi faris semajno unu. 1610 01:16:00,450 --> 01:16:08,290 Mi iris al Dosiero: Nova, Paste: Savu, week1.php, kaj poste mi eniris ĉi tie. 1611 01:16:08,290 --> 01:16:09,875 Kaj mi ŝanĝis unu - 1612 01:16:09,875 --> 01:16:11,646 kio estis tiu, unu al vendredo. 1613 01:16:11,646 --> 01:16:14,430 1614 01:16:14,430 --> 01:16:15,810 Mi ŝanĝis la nuloj al oni. 1615 01:16:15,810 --> 01:16:17,150 Mi ŝanĝis tion al unu. 1616 01:16:17,150 --> 01:16:20,350 >> Bone, do nun rigardi mian dosierojn. 1617 01:16:20,350 --> 01:16:22,100 Kio povus esti farata malsame? 1618 01:16:22,100 --> 01:16:25,310 Kie estas la ŝanco, eble? 1619 01:16:25,310 --> 01:16:28,330 Do tie estas la ŝanco por komenci faktorigo ĉi stuff eksteren. 1620 01:16:28,330 --> 01:16:32,950 Permesu al mi malfermi, kiel ruiniganto, por kion vi vidos en P aro 7. 1621 01:16:32,950 --> 01:16:38,750 Se mi malfermas nun index.php en versio kvin de ĉi tio, ĝi aspektas vojo 1622 01:16:38,750 --> 01:16:40,730 pli kripta, Certe. 1623 01:16:40,730 --> 01:16:43,710 >> Sed tio, nun, estas kion mi nomas regilo kiun oni kontrolas la 1624 01:16:43,710 --> 01:16:44,770 logiko de mia paĝo. 1625 01:16:44,770 --> 01:16:48,510 Kaj vi povas speco de rekonstrui, intuicie, eble, kio okazas. 1626 01:16:48,510 --> 01:16:50,630 En la unua linio, ĝi estas iom kamufla. 1627 01:16:50,630 --> 01:16:54,040 Sed rimarki Mi postulas, kiel kun akra inkluzivas, dosiero nomata 1628 01:16:54,040 --> 01:16:55,930 helpers.php. 1629 01:16:55,930 --> 01:16:59,980 Kaj tiam mi petas, ŝajne, funkcio, nomita render, pasante en 1630 01:16:59,980 --> 01:17:00,850 du argumentojn. 1631 01:17:00,850 --> 01:17:02,440 >> Unu estas citaĵo unquote, kaploko. 1632 01:17:02,440 --> 01:17:04,800 Kaj la alia estas, kia datumtipo estas ĉi tiu, bazita 1633 01:17:04,800 --> 01:17:07,180 sur nia sintakso pli frue? 1634 01:17:07,180 --> 01:17:08,160 Ĝi estas asociita tabelo. 1635 01:17:08,160 --> 01:17:11,730 Specife, ĝi estas pasanta en la titolo kun iuj metadatumoj tio memorigas 1636 01:17:11,730 --> 01:17:13,430 al mi, kio estas kaj ĝia valoro. 1637 01:17:13,430 --> 01:17:16,340 Tiam mi vidas malmola koditaj ul, do iuj krudan HTML. 1638 01:17:16,340 --> 01:17:20,020 Sed tiam mi revenis en PHP modo nomante funkcio render. 1639 01:17:20,020 --> 01:17:24,390 Do eĉ se vi neniam uzis HTML aŭ PHP- antaŭe, kaj kvankam tio aspektas 1640 01:17:24,390 --> 01:17:27,480 timinda, kial estas tio probable bona dezajno? 1641 01:17:27,480 --> 01:17:31,310 Kio estas pli bone pri tio, surbaze de konkludaj? 1642 01:17:31,310 --> 01:17:32,130 >> Spektantaro: [inaudibles] 1643 01:17:32,130 --> 01:17:35,750 >> Parolanto 1: Malpli redunda en tiu ne estas pli HTML etikedo, ne plu 1644 01:17:35,750 --> 01:17:38,410 kapoj etikedo, ne pli korpo etikedo en ĉiun malbenita dosiero. 1645 01:17:38,410 --> 01:17:41,860 Anstataŭe, mi havas faktorita el la komunaĵojn kaj supozeble metis ilin 1646 01:17:41,860 --> 01:17:45,150 en dosiero iel rilata al kaploko. 1647 01:17:45,150 --> 01:17:48,500 Kaj same por la proksimaj korpo etikedo, la proksimaj HTML etikedo. 1648 01:17:48,500 --> 01:17:52,165 Tio probable cxi tie ene de la piedlinio ie. 1649 01:17:52,165 --> 01:17:57,050 Kaj vi vidos, en Problemo aro 7, iom ĝiras tra ĉi. 1650 01:17:57,050 --> 01:17:58,070 >> Do kio kuŝas antaŭen? 1651 01:17:58,070 --> 01:18:03,390 La unu afero ni ne havas la kapablon tamen pro estas vere stoki datumoj. 1652 01:18:03,390 --> 01:18:06,110 Kaj do kion ni komencas vidi Merkredo, ekzemple, estas ke viaj 1653 01:18:06,110 --> 01:18:08,450 malnova amiko Excel aux nombroj, ebligas al vi konservi multajn 1654 01:18:08,450 --> 01:18:10,060 datumojn en vicoj kaj kolumnoj. 1655 01:18:10,060 --> 01:18:12,570 Turnoj el vi povas fari tion en kio estas nomata datumbazo, programmatically. 1656 01:18:12,570 --> 01:18:16,620 maníaco Kaj rezultas, post tio, ni povos stoki aĵojn kiel 1657 01:18:16,620 --> 01:18:20,550 tiu, kiun vi vidos denove en P aro 7, tuta aro da salutnomoj kaj 1658 01:18:20,550 --> 01:18:23,690 pasvortoj, la lasta de kiuj estas efektive kodita, multe kiel ili 1659 01:18:23,690 --> 01:18:25,550 estis en P aro 2 La hacker eldono. 1660 01:18:25,550 --> 01:18:29,600 Kaj fine, vi apliki tion, viajn proprajn eTrade-simila retejo kiu 1661 01:18:29,600 --> 01:18:32,220 implementa kolektive CS50 financo. 1662 01:18:32,220 --> 01:18:36,000 >> Fine, ĉar vi restis tie tiom malfrue hodiaŭ, se vi revenos al tiu parto 1663 01:18:36,000 --> 01:18:41,120 de universitata tereno, je 4:00 am hodiaŭ, ni faros doni al vi ne nur konsiloj, ĉe la SCES 1664 01:18:41,120 --> 01:18:44,200 Konsilante Foiro, je 4:00 am en la Maxwell-Dworkin, ni donos al vi iuj 1665 01:18:44,200 --> 01:18:47,470 Americone Sonĝo, Ĉerizo García, Ĉokolado Fudge Brownie, Ĉokolado 1666 01:18:47,470 --> 01:18:50,840 Blato Kuketo Pasto, kaj, kiam vi Google Bloka Simio, vi ricevas ĉi. 1667 01:18:50,840 --> 01:18:53,620 Do ĉiuj kiuj atendas je 4:00 Am en Maxwell-Dworkin. 1668 01:18:53,620 --> 01:18:56,736 Vidi vin merkrede tiel. 1669 01:18:56,736 --> 01:18:59,960 >> Speaker 2: En la sekvanta CS50, RJ dormas in 1670 01:18:59,960 --> 01:19:03,656 1671 01:19:03,656 --> 01:19:04,906 >> RJ: Mia sekcio! 1672 01:19:04,906 --> 01:19:07,727 1673 01:19:07,727 --> 01:19:08,977 Ha! 1674 01:19:08,977 --> 01:19:12,056 1675 01:19:12,056 --> 01:19:13,306 Ho, 1676 01:19:13,306 --> 01:19:16,374