1 00:00:00,000 --> 00:00:02,964 2 00:00:02,964 --> 00:00:05,434 >> [Музике може чути] 3 00:00:05,434 --> 00:00:11,825 4 00:00:11,825 --> 00:00:12,700 ХАНА: Здраво, свима. 5 00:00:12,700 --> 00:00:15,866 Хвала вам момци толико за излазак у одвратном времену за квиз један 6 00:00:15,866 --> 00:00:16,910 прегледати сједницу. 7 00:00:16,910 --> 00:00:20,020 Као ви знате, квиз једна је ове среде. 8 00:00:20,020 --> 00:00:22,209 Тако ћемо ићи кроз гомилу тема. 9 00:00:22,209 --> 00:00:24,000 Давин: Хеј, могу да кажем нешто на брзину? 10 00:00:24,000 --> 00:00:25,215 ХАНА: Да, Давин иде да кажем нешто врло брзо. 11 00:00:25,215 --> 00:00:25,780 Давин: Извини. 12 00:00:25,780 --> 00:00:29,490 Само на брзину, ако имате питања о квизу, можете ићи на мрежи. 13 00:00:29,490 --> 00:00:32,420 Иди на 2014. квиз један, о квизу. 14 00:00:32,420 --> 00:00:34,680 Има логистику о где да идем, када ићи. 15 00:00:34,680 --> 00:00:38,100 Ако истовремено се уписао, ми смо ће имати поправни квиз у 5:30. 16 00:00:38,100 --> 00:00:40,350 Или ако ми је послао проблем, имате неки други проблем. 17 00:00:40,350 --> 00:00:42,640 Али 5:30 је шминка Време у среду. 18 00:00:42,640 --> 00:00:44,540 Али ако имате питања, општа питања, 19 00:00:44,540 --> 00:00:45,748 Онлине има све логистику. 20 00:00:45,748 --> 00:00:47,690 Дакле проверите прво тамо. 21 00:00:47,690 --> 00:00:49,070 >> ХАНА: Страва. 22 00:00:49,070 --> 00:00:53,030 Дакле овде је велики списак тема да ћемо ићи до данас. 23 00:00:53,030 --> 00:00:57,390 Идем да покрије сав Ц ствари, а то је да прво колона. 24 00:00:57,390 --> 00:01:00,710 Дакле, Ц ствари које смо покривен после квиза нула. 25 00:01:00,710 --> 00:01:05,459 Почевши од повезане листе, која укључује тројке. 26 00:01:05,459 --> 00:01:07,668 >> Добро, па смо видели ово у последњој седници преглед, 27 00:01:07,668 --> 00:01:10,000 па ћу ићи кроз ово је мало брже. 28 00:01:10,000 --> 00:01:13,500 Само дигни руку ако желиш да успори или обрати нешто даље. 29 00:01:13,500 --> 00:01:17,150 Али ми користите повезане листе јер смо почели у Ц са низовима. 30 00:01:17,150 --> 00:01:20,920 И низови су супер, али Проблем је што имају фиксну величину. 31 00:01:20,920 --> 00:01:24,925 Линкед листе дозвољавају нам да створимо динамички величине структуре података. 32 00:01:24,925 --> 00:01:28,520 33 00:01:28,520 --> 00:01:32,320 >> А ми имамо наше основне операције, инсерт, делете, и тражи. 34 00:01:32,320 --> 00:01:36,780 А ми можемо учинити уметак у најгори случај константа време 35 00:01:36,780 --> 00:01:39,140 ако само стави на самом почетку. 36 00:01:39,140 --> 00:01:45,220 Обриши и претраживање, најгоре Случај велики ох о н времена. 37 00:01:45,220 --> 00:01:47,140 Дакле опет, само да флип кроз ове слике, 38 00:01:47,140 --> 00:01:50,860 Знам да смо видели ове прошли пут, али смо желите да пратите наше повезане листе 39 00:01:50,860 --> 00:01:53,440 држећи евиденцију о Шеф наше повезане листе. 40 00:01:53,440 --> 00:01:55,580 Јер знамо да сваки од наших чворова 41 00:01:55,580 --> 00:01:58,610 је само да укаже на следећи чвор у нашем повезане листе. 42 00:01:58,610 --> 00:02:00,460 >> Па тако смо пратити. 43 00:02:00,460 --> 00:02:02,910 Иако то нису континуиране комада меморије, 44 00:02:02,910 --> 00:02:07,410 можемо их наћи по само Следећи различите стрелице. 45 00:02:07,410 --> 00:02:09,800 Овде је наша структура за повезане листе чвор. 46 00:02:09,800 --> 00:02:11,440 Видели смо прошли пут. 47 00:02:11,440 --> 00:02:13,080 Ми имамо струцт чвор. 48 00:02:13,080 --> 00:02:14,340 И има два својства. 49 00:02:14,340 --> 00:02:17,020 Број један, стварна вредност желимо да сачувате. 50 00:02:17,020 --> 00:02:18,290 У овом случају, то је цео број. 51 00:02:18,290 --> 00:02:21,100 То може бити низ, да може бити цхар, шта год желите. 52 00:02:21,100 --> 00:02:24,710 А онда, морамо да пратимо следећи чвор у нашем повезане листе. 53 00:02:24,710 --> 00:02:29,797 Тако да ће бити поинтер на следећи чвор. 54 00:02:29,797 --> 00:02:31,880 Ако сте управо радили претраживање, као што сам раније рекао, 55 00:02:31,880 --> 00:02:34,900 морао би да пратите своје стреле доле. 56 00:02:34,900 --> 00:02:40,720 Уметање, ти би да пратите где је остатак вашег списка је. 57 00:02:40,720 --> 00:02:44,150 И желите да преусмери главу да укаже на нашем новом елемент, који 58 00:02:44,150 --> 00:02:46,640 у овом случају је један, а онда један ће указати 59 00:02:46,640 --> 00:02:49,480 на остатак повезане листе. 60 00:02:49,480 --> 00:02:52,996 Дакле опет, знам да је ово мало битни од понављања из квиза нула. 61 00:02:52,996 --> 00:02:55,370 Дакле, морамо да будемо веома опрезни о редоследу којим смо 62 00:02:55,370 --> 00:03:00,390 урадите ове фуга тако да не радимо изгубити траг о задњем делу листе. 63 00:03:00,390 --> 00:03:04,122 ОК, нека питања са Само појединачно повезана листе? 64 00:03:04,122 --> 00:03:06,060 Страва, у реду, кул. 65 00:03:06,060 --> 00:03:09,410 >> Дакле, сада, идемо да иде на нешто Само мало компликованије, 66 00:03:09,410 --> 00:03:10,920 двоструко повезана листа. 67 00:03:10,920 --> 00:03:13,680 Дакле, поред складу стаза од следећег чвора, 68 00:03:13,680 --> 00:03:16,220 ми такође желимо да пратите претходног чвора. 69 00:03:16,220 --> 00:03:19,580 И ово нам омогућава да, ако смо у неком тренутку у нашем повезане листе, 70 00:03:19,580 --> 00:03:23,110 не само иди напред, али Такође поновити уназад. 71 00:03:23,110 --> 00:03:25,220 Јер као што смо видели у појединачно линкед лист, 72 00:03:25,220 --> 00:03:27,980 ако смо били у неком чвору, и одједном, одлучили смо, 73 00:03:27,980 --> 00:03:30,160 заправо, желим да идем у Право чвор пре мене, 74 00:03:30,160 --> 00:03:32,034 морао би да уложи све пут назад у главу 75 00:03:32,034 --> 00:03:35,710 и поновити кроз све док не фоунд чвор сте тражили. 76 00:03:35,710 --> 00:03:37,680 >> Дакле, ово чини ствари мало лакше јер смо 77 00:03:37,680 --> 00:03:39,670 покушавајући тако прелазите преко повезане листе. 78 00:03:39,670 --> 00:03:47,870 Али нас захтева да пратите једног више показивач, па још један чвор звездице. 79 00:03:47,870 --> 00:03:50,830 Добро, па ево и забаван део. 80 00:03:50,830 --> 00:03:55,600 Идемо да вежбају имплементацији уклоните за двоструко повезане листе. 81 00:03:55,600 --> 00:03:58,660 Дакле, ово је нешто што је потпуно фер игра за квизу. 82 00:03:58,660 --> 00:04:00,750 Она се појавила на протеклих квизова. 83 00:04:00,750 --> 00:04:04,220 Дакле дефинитивно се припремити да кодира за мало на Ц. 84 00:04:04,220 --> 00:04:07,900 Не заборавите да са свима ово забавно ПХП и ЈаваСцрипт, 85 00:04:07,900 --> 00:04:10,560 и даље имамо на уму да урадите Ц. Зато освези да 86 00:04:10,560 --> 00:04:12,146 ако се осећате зарђао. 87 00:04:12,146 --> 00:04:14,580 >> У реду, хајде да видимо да ли можемо да урадимо ово. 88 00:04:14,580 --> 00:04:16,312 У реду, кул. 89 00:04:16,312 --> 00:04:18,600 Тако ћемо покушати уредити права овде, 90 00:04:18,600 --> 00:04:20,707 и надамо се ово иде по плану. 91 00:04:20,707 --> 00:04:23,915 У реду, да ли неко жели да ми дају предлог како би требало да почне? 92 00:04:23,915 --> 00:04:27,030 Само претпоставка сам Израда је да сам већ 93 00:04:27,030 --> 00:04:30,180 су структура дефинисана, један показао сам на последњој страници, 94 00:04:30,180 --> 00:04:31,420 на последњем слајду. 95 00:04:31,420 --> 00:04:39,250 И ја складиштење главу мој линкед Листа на неки показивачем зове листу. 96 00:04:39,250 --> 00:04:42,190 Да ли неко жели да да почињем? 97 00:04:42,190 --> 00:04:45,410 >> ПУБЛИКА: Можете ли креирати нови чвор за позивање кроз листу? 98 00:04:45,410 --> 00:04:46,410 >> ХАНА: Авесоме, тако идемо да створимо 99 00:04:46,410 --> 00:04:47,951 нови чвор да пузи кроз листу. 100 00:04:47,951 --> 00:04:48,570 Свиђа ми се. 101 00:04:48,570 --> 00:04:50,799 Само ћу га назвати показивач ако је то у реду. 102 00:04:50,799 --> 00:04:52,340 И где би требало да се почне првобитно? 103 00:04:52,340 --> 00:04:57,280 104 00:04:57,280 --> 00:04:59,840 >> ПУБЛИКА: Вероватно у носилац листе. 105 00:04:59,840 --> 00:05:00,590 ХАНА: Лепа. 106 00:05:00,590 --> 00:05:03,670 Желимо да се крећу од главе, која Рекао сам ће чувати у листи. 107 00:05:03,670 --> 00:05:04,170 Страва. 108 00:05:04,170 --> 00:05:05,220 До сада, тако добро. 109 00:05:05,220 --> 00:05:08,260 А сада, наш циљ је да поновити кроз листу 110 00:05:08,260 --> 00:05:12,870 док не нађемо чвор са вредност н да желимо да избришете. 111 00:05:12,870 --> 00:05:13,540 У реду? 112 00:05:13,540 --> 00:05:15,910 >> Тако сада је део где желимо да поновити путем. 113 00:05:15,910 --> 00:05:19,488 Може ли ико предложити начин да се поновити кроз? 114 00:05:19,488 --> 00:05:20,979 >> ПУБЛИКА: петља. 115 00:05:20,979 --> 00:05:21,840 >> ХАНА: петља. 116 00:05:21,840 --> 00:05:22,620 Ја га волим. 117 00:05:22,620 --> 00:05:25,550 Конкретно, можемо покушати вхиле петљу. 118 00:05:25,550 --> 00:05:30,919 У реду, а ми знамо да смо достигли крај нашем списку када је шта? 119 00:05:30,919 --> 00:05:32,210 ПУБЛИКА: Када показивач је нулл. 120 00:05:32,210 --> 00:05:33,418 ХАНА: Када показивач је нулл. 121 00:05:33,418 --> 00:05:34,320 Лепа, ја га волим. 122 00:05:34,320 --> 00:05:35,110 У реду, кул. 123 00:05:35,110 --> 00:05:39,300 124 00:05:39,300 --> 00:05:43,190 Тако ми је жао због гранични браће је некако пада са екрана. 125 00:05:43,190 --> 00:05:44,090 Донели смо га вратили. 126 00:05:44,090 --> 00:05:46,610 У реду, кул. 127 00:05:46,610 --> 00:05:48,690 Шта је следеће? 128 00:05:48,690 --> 00:05:51,950 >> Тако знамо да желите да избришете чвор који има вредност н. 129 00:05:51,950 --> 00:05:56,340 Па хајде да нађемо случају када ми заправо наћи нашу чвор. 130 00:05:56,340 --> 00:05:57,840 Па како бих проверити да? 131 00:05:57,840 --> 00:06:02,210 Само бих рекао да показивачем, а онда ако ја Желим да се вредност из показивача, 132 00:06:02,210 --> 00:06:08,940 Ја само арров н, једнако н, параметар 133 00:06:08,940 --> 00:06:14,490 да смо дали на ту функцију, чвор који желимо да заиста обрисати. 134 00:06:14,490 --> 00:06:17,090 Сва питања До овде? 135 00:06:17,090 --> 00:06:18,360 У реду. 136 00:06:18,360 --> 00:06:24,140 У реду, тако да сада хајде да нацртају брзо слику на плочи, како за визуелизацију ово. 137 00:06:24,140 --> 00:06:30,710 >> Па рецимо да је наша дивна чвор. 138 00:06:30,710 --> 00:06:34,480 И то има вредност, само ћу рећи четири. 139 00:06:34,480 --> 00:06:40,340 И то указује на следећи чвор у нашем повезане листе. 140 00:06:40,340 --> 00:06:42,220 И нема ништа пре тога. 141 00:06:42,220 --> 00:06:45,800 Дакле, имамо наш претходни указујући на ништа. 142 00:06:45,800 --> 00:06:48,110 У овом случају, ми уназад указују. 143 00:06:48,110 --> 00:06:50,960 Ок, само постављање мој Листа повезана овде. 144 00:06:50,960 --> 00:06:53,630 И ми имамо листу која указује да ове структуре за почетак. 145 00:06:53,630 --> 00:06:57,220 146 00:06:57,220 --> 00:07:00,485 Ја ћу извући још један за ради потпуности. 147 00:07:00,485 --> 00:07:04,209 148 00:07:04,209 --> 00:07:06,117 У реду. 149 00:07:06,117 --> 00:07:07,480 Ја ћу указати ову напред. 150 00:07:07,480 --> 00:07:09,550 А ја ћу указати онај иза. 151 00:07:09,550 --> 00:07:10,360 Упс, извини. 152 00:07:10,360 --> 00:07:12,710 Да, ја ово наопако. 153 00:07:12,710 --> 00:07:15,548 154 00:07:15,548 --> 00:07:16,967 Уради то поново. 155 00:07:16,967 --> 00:07:18,330 У реду, ево га. 156 00:07:18,330 --> 00:07:19,910 У реду, схватио сам. 157 00:07:19,910 --> 00:07:21,780 Ок, ево наша слика. 158 00:07:21,780 --> 00:07:24,860 >> У реду, тако да би требало да размислите два случаја. 159 00:07:24,860 --> 00:07:27,330 Први случај је ако чвор желимо обрисати 160 00:07:27,330 --> 00:07:29,420 је на самом почетку наше листе. 161 00:07:29,420 --> 00:07:34,070 А онда, други случај да желимо размотрити је да ли је то било где другде. 162 00:07:34,070 --> 00:07:37,660 Разумем да је ово тотално неуредан цртање са свим мојим брисање, 163 00:07:37,660 --> 00:07:40,400 али надамо се да ћемо покушати да да појасним са неким кодом. 164 00:07:40,400 --> 00:07:45,450 >> У реду, па хајде да покрије случај где смо нашли чвор, 165 00:07:45,450 --> 00:07:48,900 и то је на врло старт нашег повезане листе. 166 00:07:48,900 --> 00:07:50,810 Свако ми сугестија овде о томе шта 167 00:07:50,810 --> 00:07:54,684 Ја треба да уради да стварно уклонити нашу чвор? 168 00:07:54,684 --> 00:07:55,970 Мало је незгодно. 169 00:07:55,970 --> 00:07:56,470 У реду? 170 00:07:56,470 --> 00:07:59,628 >> ПУБЛИКА: Морате узети чвор који би био пред њим 171 00:07:59,628 --> 00:08:01,794 и чине га указују онај који би после тога, 172 00:08:01,794 --> 00:08:03,004 и узети чвор који би након тога и направити 173 00:08:03,004 --> 00:08:04,554 она указују на чвору пред њом. 174 00:08:04,554 --> 00:08:05,220 ХАНА: Тачно. 175 00:08:05,220 --> 00:08:10,640 Ок, тако да је ово случај где-- имамо два случаја. 176 00:08:10,640 --> 00:08:14,100 Имамо случај где је чвор који тражимо 177 00:08:14,100 --> 00:08:18,270 је предњи део листе. 178 00:08:18,270 --> 00:08:23,110 У реду, а затим случај да вас описао је иначе, зар не? 179 00:08:23,110 --> 00:08:24,500 То је негде другде на листи. 180 00:08:24,500 --> 00:08:27,460 181 00:08:27,460 --> 00:08:32,840 Тако да је рекао, морамо да погледати на чвору претходном, 182 00:08:32,840 --> 00:08:36,500 и чине претходни чвор указују на следећи чвор. 183 00:08:36,500 --> 00:08:40,510 Рецимо да смо покушавајући да изведем пет 184 00:08:40,510 --> 00:08:43,059 у мом врло неуредан цртеж овамо. 185 00:08:43,059 --> 00:08:47,530 Желимо да се уверите да четири сада показује на шест. 186 00:08:47,530 --> 00:08:49,590 Четири је следећи указује на шест. 187 00:08:49,590 --> 00:08:52,150 А шест је претходна указује на четири. 188 00:08:52,150 --> 00:08:53,960 То је наш циљ овде, зар не? 189 00:08:53,960 --> 00:08:56,150 То је оно што сам вам мислим Само је рекао тамо. 190 00:08:56,150 --> 00:08:58,450 >> У реду, па хајде да се тај први комад. 191 00:08:58,450 --> 00:09:02,300 Хајде да урадимо имају претходна показивач претходни. 192 00:09:02,300 --> 00:09:06,550 193 00:09:06,550 --> 00:09:09,690 Тако је четири поред треба да укаже на шта? 194 00:09:09,690 --> 00:09:13,210 195 00:09:13,210 --> 00:09:14,900 Тачно, у овом случају, шест. 196 00:09:14,900 --> 00:09:18,470 Зато треба да кажу показивач, поред. 197 00:09:18,470 --> 00:09:20,600 У реду? 198 00:09:20,600 --> 00:09:21,150 У реду. 199 00:09:21,150 --> 00:09:24,870 Па хајде да уклоните овај ружне слике и покушајте да се направи нешто лепше један. 200 00:09:24,870 --> 00:09:29,040 201 00:09:29,040 --> 00:09:31,172 Имамо овде нашу листу главу. 202 00:09:31,172 --> 00:09:36,440 203 00:09:36,440 --> 00:09:42,740 И то указује на први чвор у наша линкед лист, који смо рекли је четири. 204 00:09:42,740 --> 00:09:45,620 Ово је наш други чвор, пет. 205 00:09:45,620 --> 00:09:47,307 И наш трећи чвор, шест. 206 00:09:47,307 --> 00:09:50,265 Само покушавам да скренем потпуно исти слика, само мало висе чисто. 207 00:09:50,265 --> 00:09:52,780 208 00:09:52,780 --> 00:09:56,280 Ок, па је следеће четири првобитно указује на пет. 209 00:09:56,280 --> 00:09:58,620 Фиве је следећи указује на шест. 210 00:09:58,620 --> 00:10:00,170 Шест је претходна указује на пет. 211 00:10:00,170 --> 00:10:02,470 И пет је претходна указује на четири. 212 00:10:02,470 --> 00:10:03,360 Знатно лепше! 213 00:10:03,360 --> 00:10:04,530 У реду, кул. 214 00:10:04,530 --> 00:10:07,770 >> Па сад, шта смо урадили управо Овде, ова линија кода, 215 00:10:07,770 --> 00:10:12,680 која каже показивач претходна следећи, па шта то значи? 216 00:10:12,680 --> 00:10:17,540 То значи да ако гледамо пет, идите на претходни чвор, 217 00:10:17,540 --> 00:10:21,970 и то поред је требало сад тачка до пет је следећи. 218 00:10:21,970 --> 00:10:27,840 Па у суштини, шта је то ради се да је брисање ове стрелицу 219 00:10:27,840 --> 00:10:29,640 и што га прескочите право над пет. 220 00:10:29,640 --> 00:10:31,360 Да ли је то јасно? 221 00:10:31,360 --> 00:10:33,200 Знам да могу бити мало недоречена. 222 00:10:33,200 --> 00:10:34,480 Видим неке главе клима главом. 223 00:10:34,480 --> 00:10:35,390 То је добро. 224 00:10:35,390 --> 00:10:36,670 У реду, кул. 225 00:10:36,670 --> 00:10:39,590 Сада, шта је следећи корак? 226 00:10:39,590 --> 00:10:42,060 >> Ја сам ресет следећи. 227 00:10:42,060 --> 00:10:45,297 Сада, која друга стрелица требам промијенити? 228 00:10:45,297 --> 00:10:46,130 Ова овде. 229 00:10:46,130 --> 00:10:47,560 Шест је претходна. 230 00:10:47,560 --> 00:10:50,620 Ми не желимо шест је претходна више да укаже на пет. 231 00:10:50,620 --> 00:10:54,580 Желимо да укажемо на четири. 232 00:10:54,580 --> 00:10:56,190 Да ли то слика смисла? 233 00:10:56,190 --> 00:10:58,370 Тако сада можемо да узме пет од. 234 00:10:58,370 --> 00:10:59,370 Па хајде да тај комад. 235 00:10:59,370 --> 00:11:03,390 236 00:11:03,390 --> 00:11:11,180 Шта треба да урадим пре него што ресет шест је претходна на четири? 237 00:11:11,180 --> 00:11:14,360 Нека идеја тамо? 238 00:11:14,360 --> 00:11:17,369 >> ПУБЛИКА: Ослободите чвор између их постављањем је на нулте? 239 00:11:17,369 --> 00:11:17,910 ХАНА: Кул. 240 00:11:17,910 --> 00:11:21,100 Дефинитивно, наш крајњи циљ је Биће да ослободи чвор. 241 00:11:21,100 --> 00:11:22,490 Тако можемо да урадимо да овде. 242 00:11:22,490 --> 00:11:23,540 Фрее показивач. 243 00:11:23,540 --> 00:11:24,810 Апсолутно. 244 00:11:24,810 --> 00:11:29,160 Али чак и пре тога, хајде да само- свој циљ право 245 00:11:29,160 --> 00:11:38,730 Овде је поставити показивач поред претходна једнака поинтер претходни. 246 00:11:38,730 --> 00:11:40,760 Знам да је узимајући прикривено. 247 00:11:40,760 --> 00:11:45,440 ОК, хајде да таке-- кул. 248 00:11:45,440 --> 00:11:46,990 Могу сви виде овај доњи ред? 249 00:11:46,990 --> 00:11:47,840 Или је то супер мали? 250 00:11:47,840 --> 00:11:50,430 251 00:11:50,430 --> 00:11:54,300 >> Дакле, пре него што изврши ова линија овде, желимо 252 00:11:54,300 --> 00:11:58,375 да се уверите да показивач следећи није нулл. 253 00:11:58,375 --> 00:12:00,500 Јер ако показивач следећа је нулл, каква грешка 254 00:12:00,500 --> 00:12:02,727 ћу добити када покушам да референце нулл показивач? 255 00:12:02,727 --> 00:12:03,560 ПУБЛИКА: Сег кривица. 256 00:12:03,560 --> 00:12:05,660 ХАНА: сец кривица, лепа. 257 00:12:05,660 --> 00:12:09,690 Ок, па ако то није нулл, онда можемо ресетовати. 258 00:12:09,690 --> 00:12:14,420 И ми имамо шест тачку поново на четири. 259 00:12:14,420 --> 00:12:17,440 Питања До ове тачке? 260 00:12:17,440 --> 00:12:17,940 Да? 261 00:12:17,940 --> 00:12:19,814 >> ПУБЛИКА: У први ако изјави, зар не 262 00:12:19,814 --> 00:12:23,817 Мислим да има стрелицу поред, или [неразумљиво]? 263 00:12:23,817 --> 00:12:25,150 ХАНА: Мислио сам показивач стрелицу н. 264 00:12:25,150 --> 00:12:30,270 У основи, оно што ја покушавам да урадим је рећи, тренутни чвор да сам ја 265 00:12:30,270 --> 00:12:34,100 итератинг над, струја чвор који Гледам, ја складиштење у показивачем. 266 00:12:34,100 --> 00:12:37,630 И желим да знам показивач је вредност, која у овом случају је н. 267 00:12:37,630 --> 00:12:39,500 И желим да видим, је чвор Гледам 268 00:12:39,500 --> 00:12:42,790 за чвор циљам обрисати? 269 00:12:42,790 --> 00:12:47,657 Зато имамо овде поинтер н. 270 00:12:47,657 --> 00:12:49,857 >> ПУБЛИКА: Дакле стрелица иде да н, подесите вредност 271 00:12:49,857 --> 00:12:52,058 и чувајте их на чвору зове н? 272 00:12:52,058 --> 00:12:55,410 273 00:12:55,410 --> 00:12:58,820 >> ХАНА: Па то је као да сам ја пролази кроз ову повезане листе 274 00:12:58,820 --> 00:13:00,310 и указујући на пет. 275 00:13:00,310 --> 00:13:03,600 Ако желим да се ту вредност, ако Ја желим да се тај број, 5, 276 00:13:03,600 --> 00:13:06,400 Морам да радим показивача стрелице н. 277 00:13:06,400 --> 00:13:06,900 Цоол? 278 00:13:06,900 --> 00:13:07,900 Да. 279 00:13:07,900 --> 00:13:11,200 >> ПУБЛИКА: је Н назив променљиве? 280 00:13:11,200 --> 00:13:11,700 ХАНА: Да. 281 00:13:11,700 --> 00:13:14,870 Дакле, ако се вратимо флип један слиде, н је име 282 00:13:14,870 --> 00:13:18,660 од вредности унутар од чвор у нашем повезане листе. 283 00:13:18,660 --> 00:13:21,510 И знам да могу добити мало збуњујуће јер ми такође 284 00:13:21,510 --> 00:13:24,680 позивају ствар да желимо да избришете н. 285 00:13:24,680 --> 00:13:26,717 Значи ту да једна линија долази. 286 00:13:26,717 --> 00:13:27,671 Да? 287 00:13:27,671 --> 00:13:31,010 >> ПУБЛИКА: Шта имаш [Неразумљиво] како они раде? 288 00:13:31,010 --> 00:13:33,872 289 00:13:33,872 --> 00:13:35,780 Показивач [неразумљиво]? 290 00:13:35,780 --> 00:13:37,520 >> ХАНА: Наравно. 291 00:13:37,520 --> 00:13:40,027 Да ли причаш-- која линија? 292 00:13:40,027 --> 00:13:41,526 ПУБЛИКА: Последња линија [неразумљиво]. 293 00:13:41,526 --> 00:13:44,280 294 00:13:44,280 --> 00:13:45,250 >> ХАНА: Наравно, у реду. 295 00:13:45,250 --> 00:13:48,540 Па хајде да погледамо слику у Да би покушати да објасним ово. 296 00:13:48,540 --> 00:13:51,030 Жао ми је, за камера, питање је било 297 00:13:51,030 --> 00:13:54,580 можемо објаснити показивач стрелицу поред показивач претходна. 298 00:13:54,580 --> 00:14:01,510 У реду, па рецимо да смо у пет а наш циљ је да обришете пет. 299 00:14:01,510 --> 00:14:07,240 Дакле поинтер следећи, који од њих три чворови нам то даје? 300 00:14:07,240 --> 00:14:10,840 То нас доводи до шестог чвора, зар не? 301 00:14:10,840 --> 00:14:16,490 >> У реду, тако да сада тражимо за шест је претходна. 302 00:14:16,490 --> 00:14:17,060 У реду? 303 00:14:17,060 --> 00:14:20,210 И ми ресетовања ово да буде једнака са четири, 304 00:14:20,210 --> 00:14:23,214 што је био пет је претходна. 305 00:14:23,214 --> 00:14:25,180 Знам, то је супер тешко пратити. 306 00:14:25,180 --> 00:14:29,286 Стварно препоручујем да нацртају слике ако добијете питање овако. 307 00:14:29,286 --> 00:14:30,242 Да? 308 00:14:30,242 --> 00:14:32,617 >> ПУБЛИКА: Да ли је разлог то немамо [неразумљиво]? 309 00:14:32,617 --> 00:14:37,430 310 00:14:37,430 --> 00:14:38,570 >> ХАНА: Тачно. 311 00:14:38,570 --> 00:14:44,800 Дакле, питање је било, зашто не треба да провери овде? 312 00:14:44,800 --> 00:14:48,160 Зашто не треба да проверите да ли показивач претходни није једнак нулл? 313 00:14:48,160 --> 00:14:50,070 И то је зато што имамо Већ одвоји 314 00:14:50,070 --> 00:14:52,490 случај ако се показивач је на самом почетку. 315 00:14:52,490 --> 00:14:54,060 Врло добро питање. 316 00:14:54,060 --> 00:14:56,880 Још нешто о томе? 317 00:14:56,880 --> 00:14:57,380 У реду, кул. 318 00:14:57,380 --> 00:14:58,360 Па хајде да га завршим. 319 00:14:58,360 --> 00:14:59,890 Скоро смо стигли. 320 00:14:59,890 --> 00:15:01,310 >> Па шта ако је то у глави? 321 00:15:01,310 --> 00:15:03,360 Шта ако уместо Покушавате да избришете пет, 322 00:15:03,360 --> 00:15:06,240 ми заправо желели да избришете четири? 323 00:15:06,240 --> 00:15:07,270 Шта бих ја морао да урадим? 324 00:15:07,270 --> 00:15:09,610 Па, ја желим да ресетујем главу на шта? 325 00:15:09,610 --> 00:15:14,288 326 00:15:14,288 --> 00:15:15,585 Схоут ит оут? 327 00:15:15,585 --> 00:15:16,710 ПУБЛИКА: један после њега. 328 00:15:16,710 --> 00:15:17,460 ХАНА: Лепа. 329 00:15:17,460 --> 00:15:26,430 У реду, тако да ми желимо да се показује листу да шта год наша показивач следећи чвор је. 330 00:15:26,430 --> 00:15:29,040 Добро. 331 00:15:29,040 --> 00:15:30,810 И само ради потпуности-их саке, ми би 332 00:15:30,810 --> 00:15:35,590 желите да проверите да док год наше листе није нулл, док наша листа није 333 00:15:35,590 --> 00:15:42,730 празан, онда желимо да подесите наш претходни једнака нулл. 334 00:15:42,730 --> 00:15:46,960 335 00:15:46,960 --> 00:15:50,230 Питање до сада? 336 00:15:50,230 --> 00:15:53,205 Један корак од--? 337 00:15:53,205 --> 00:15:55,530 >> ПУБЛИКА: Да ли би било ако Списак није једнак нулл? 338 00:15:55,530 --> 00:15:56,950 >> ХАНА: Да, ти си потпуно у праву. 339 00:15:56,950 --> 00:15:58,130 Тако ми је жао. 340 00:15:58,130 --> 00:16:00,040 Да ли је списак није једнак нулл. 341 00:16:00,040 --> 00:16:01,915 Страва. 342 00:16:01,915 --> 00:16:04,245 Покушавајући да донесе све ово на екрану. 343 00:16:04,245 --> 00:16:06,870 То је нека врста отпада. 344 00:16:06,870 --> 00:16:07,730 Извини, момци. 345 00:16:07,730 --> 00:16:11,874 И на крају, али не мање важно, сви морамо да урадимо је повратак. 346 00:16:11,874 --> 00:16:12,840 У реду. 347 00:16:12,840 --> 00:16:15,400 То је било много нагурали у заиста брзо. 348 00:16:15,400 --> 00:16:16,800 Узмите мало да бацим поглед. 349 00:16:16,800 --> 00:16:18,216 Реци ми ако имате било каквих питања. 350 00:16:18,216 --> 00:16:20,232 351 00:16:20,232 --> 00:16:20,732 Да? 352 00:16:20,732 --> 00:16:26,940 >> ПУБЛИКА: Ако листа је на глава, онда-- чекај, нема везе. 353 00:16:26,940 --> 00:16:27,700 >> ХАНА: У реду, добро. 354 00:16:27,700 --> 00:16:30,987 Дакле, ово је, ако је листа на челу, ми га уклонили да све што уметнута. 355 00:16:30,987 --> 00:16:31,486 Да? 356 00:16:31,486 --> 00:16:33,777 >> ПУБЛИКА: Можете ли да објасните Први ако изјава поново? 357 00:16:33,777 --> 00:16:36,149 Ако се показивач њеједнако н? 358 00:16:36,149 --> 00:16:36,690 ХАНА: Наравно. 359 00:16:36,690 --> 00:16:42,780 Тако је наш циљ целе ове функције је да обришете чвор који има вредност н. 360 00:16:42,780 --> 00:16:47,460 Па уколико нађемо, јер ми смо итератинг кроз наше листе, 361 00:16:47,460 --> 00:16:51,770 чвор са вредност н, то је Онај који нам је за брисање. 362 00:16:51,770 --> 00:16:57,286 Дакле, све у брисања деси унутар те велики ако изјави. 363 00:16:57,286 --> 00:16:58,593 Да ли то има смисла? 364 00:16:58,593 --> 00:16:59,480 Цоол. 365 00:16:59,480 --> 00:16:59,990 Да? 366 00:16:59,990 --> 00:17:02,864 >> ПУБЛИКА: Можда једноставно не могу да виде она, али не морате и линију 367 00:17:02,864 --> 00:17:06,024 за крећете по листи? 368 00:17:06,024 --> 00:17:06,690 ХАНА: Страва. 369 00:17:06,690 --> 00:17:10,896 Хајде да износим ово мало, и ћемо бацити то право у дну. 370 00:17:10,896 --> 00:17:13,282 371 00:17:13,282 --> 00:17:15,490 Можда бих га одбор био мало боља идеја. 372 00:17:15,490 --> 00:17:17,829 Па како би се померим поинтер напред? 373 00:17:17,829 --> 00:17:20,184 >> ПУБЛИКА: Поинтер једнако показивач плус један. 374 00:17:20,184 --> 00:17:21,599 >> ХАНА: Лепа. 375 00:17:21,599 --> 00:17:25,050 Тако да нам омогућава да наставити итератинг кроз. 376 00:17:25,050 --> 00:17:26,251 У реду. 377 00:17:26,251 --> 00:17:27,750 ПУБЛИКА: Не би ли бити други? 378 00:17:27,750 --> 00:17:29,028 ХАНА: Још једном? 379 00:17:29,028 --> 00:17:32,444 ПУБЛИКА: Не би постојати друго после велики стари ако 380 00:17:32,444 --> 00:17:35,519 Изјава [неразумљиво]? 381 00:17:35,519 --> 00:17:36,310 ХАНА: Који део? 382 00:17:36,310 --> 00:17:38,350 Жао ми је. 383 00:17:38,350 --> 00:17:41,800 >> ПУБЛИКА: траверсал, да их не буде један други? 384 00:17:41,800 --> 00:17:43,550 ХАНА: Апсолутно могао имати друго. 385 00:17:43,550 --> 00:17:46,930 Јер имам право повратка тамо, не треба друго. 386 00:17:46,930 --> 00:17:48,760 Али да, добро питање. 387 00:17:48,760 --> 00:17:50,170 У реду, зар не? 388 00:17:50,170 --> 00:17:52,878 ПУБЛИКА: Можемо мислити на показивача да се креће кроз листу 389 00:17:52,878 --> 00:17:56,610 као узимање од вредности сваког чвора у листи? 390 00:17:56,610 --> 00:18:00,650 Или треба да мислимо о томе као некако екстерни на листу? 391 00:18:00,650 --> 00:18:02,350 >> ХАНА: Или једно је добро, мислим. 392 00:18:02,350 --> 00:18:05,880 Како ја то замислим је Ја кажем, у реду, ја сам показивач. 393 00:18:05,880 --> 00:18:06,520 И ово сам ја. 394 00:18:06,520 --> 00:18:07,150 Ово је моја рука. 395 00:18:07,150 --> 00:18:09,960 Идем да укаже на другачији ствари које желим да поновити путем. 396 00:18:09,960 --> 00:18:12,270 Прво, ја ћу да истакнем на челу листе. 397 00:18:12,270 --> 00:18:14,144 И то ми је досадно говори ће указати на четири. 398 00:18:14,144 --> 00:18:18,060 И тако ја, као екстерни на листу, Могу указати на сваки од ових елемената. 399 00:18:18,060 --> 00:18:19,520 Тако да мислим о себи као показивача. 400 00:18:19,520 --> 00:18:21,645 ПУБЛИКА: Дакле, када избришете један од тих елемената, 401 00:18:21,645 --> 00:18:23,404 себе обрисати, да тако кажем. 402 00:18:23,404 --> 00:18:24,070 ХАНА: Тачно. 403 00:18:24,070 --> 00:18:25,920 Тако да избришете ствар упериш да. 404 00:18:25,920 --> 00:18:28,340 Тако у примеру који смо видели где смо 405 00:18:28,340 --> 00:18:31,670 Покушавате да избришете пет, кад ти показујем да пет, 406 00:18:31,670 --> 00:18:34,200 Желим да избришете ствар ти показујем да. 407 00:18:34,200 --> 00:18:35,870 Тачно у праву. 408 00:18:35,870 --> 00:18:36,577 Да? 409 00:18:36,577 --> 00:18:39,410 ПУБЛИКА: Да ли смо збринути Случај где н није на листи? 410 00:18:39,410 --> 00:18:40,460 ХАНА: Ако н није на листи? 411 00:18:40,460 --> 00:18:43,501 Све што ће се догодити је да си ће поновити кроз и Итерате 412 00:18:43,501 --> 00:18:47,616 кроз, а онда, идеш доћи до поинтер бића нулл, 413 00:18:47,616 --> 00:18:48,990 а онда ћеш да се уради. 414 00:18:48,990 --> 00:18:50,812 >> ПУБЛИКА: И ми имамо нешто да се врате? 415 00:18:50,812 --> 00:18:51,520 ХАНА: Могли бисмо. 416 00:18:51,520 --> 00:18:54,500 Начин да ако је ово дефинисала Функција, ја само кажем да се врати 417 00:18:54,500 --> 00:18:55,770 воид обзира. 418 00:18:55,770 --> 00:18:58,360 Али можете имати нешто Као повратку цео број, 419 00:18:58,360 --> 00:19:00,920 и то су се вратили негативан 1 ако не. 420 00:19:00,920 --> 00:19:03,070 Тако нешто. 421 00:19:03,070 --> 00:19:04,494 Питања са-- да? 422 00:19:04,494 --> 00:19:05,410 ПУБЛИКА: [неразумљиво]? 423 00:19:05,410 --> 00:19:05,993 ХАНА: Извини? 424 00:19:05,993 --> 00:19:07,419 ПУБЛИКА: [неразумљиво]? 425 00:19:07,419 --> 00:19:07,960 ХАНА: Наравно. 426 00:19:07,960 --> 00:19:11,730 Дакле, то је ацтуал-- једном имамо учињено све ово дело креће 427 00:19:11,730 --> 00:19:16,530 сви ови стрелице око, наша цела Циљ је био да се отараси чвора 428 00:19:16,530 --> 00:19:18,230 да тражимо. 429 00:19:18,230 --> 00:19:21,610 Дакле, у овом случају, ослобађајући показивач, ако ти показујем да пет, 430 00:19:21,610 --> 00:19:24,670 то је као брисање ове средњи чвор. 431 00:19:24,670 --> 00:19:27,250 То је слободан показивач део. 432 00:19:27,250 --> 00:19:29,090 То има смисла? 433 00:19:29,090 --> 00:19:31,390 >> ПУБЛИКА: Па чак и помислио ниси [неразумљиво]? 434 00:19:31,390 --> 00:19:36,060 >> ХАНА: Па смо претпоставили на почетку имали смо неке списак који је алреади-- 435 00:19:36,060 --> 00:19:37,220 су ставили ово заједно. 436 00:19:37,220 --> 00:19:39,761 Тако у циљу изградње ово Листа, они Мора [неразумљиво]. 437 00:19:39,761 --> 00:19:42,190 438 00:19:42,190 --> 00:19:42,750 Цоол. 439 00:19:42,750 --> 00:19:44,490 Још нешто са овим? 440 00:19:44,490 --> 00:19:46,386 Да? 441 00:19:46,386 --> 00:19:49,204 >> ПУБЛИКА: Шта ако листа не једнак нулл линију? 442 00:19:49,204 --> 00:19:49,704 [Неразумљиво]? 443 00:19:49,704 --> 00:19:52,289 444 00:19:52,289 --> 00:19:53,080 ХАНА: Овде? 445 00:19:53,080 --> 00:19:53,840 ПУБЛИКА: Да. 446 00:19:53,840 --> 00:19:57,370 ХАНА: Ок, све што радим Само је пазећи 447 00:19:57,370 --> 00:20:03,250 да пре него што сам покушати да дереференце листи, пре него што покушам да приступим претходни, 448 00:20:03,250 --> 00:20:07,210 Желим да се уверите да то није нулл тако да не добијем сег грешку. 449 00:20:07,210 --> 00:20:08,400 Цоол. 450 00:20:08,400 --> 00:20:10,820 >> Ок, знам да је ово био прилично много да се пробије. 451 00:20:10,820 --> 00:20:14,950 Дакле, ово ће бити слајд стављају на располагање. 452 00:20:14,950 --> 00:20:17,341 Тако да можете проћи кроз њега у више детаља. 453 00:20:17,341 --> 00:20:17,841 Да? 454 00:20:17,841 --> 00:20:19,749 >> ПУБЛИКА: Зашто листа [неразумљиво]? 455 00:20:19,749 --> 00:20:24,129 456 00:20:24,129 --> 00:20:24,670 ХАНА: Наравно. 457 00:20:24,670 --> 00:20:27,390 Дакле листа заиста указује на овај елемент овде, 458 00:20:27,390 --> 00:20:29,200 Први елемент у листи. 459 00:20:29,200 --> 00:20:30,748 Тако да не може имати претходни. 460 00:20:30,748 --> 00:20:31,736 Да? 461 00:20:31,736 --> 00:20:35,194 >> ПУБЛИКА: Да ли показивач тачку на истој адреси у меморији? 462 00:20:35,194 --> 00:20:38,404 Да ли то указује на исто адреса у меморији као чвора 463 00:20:38,404 --> 00:20:40,640 да то показује да? 464 00:20:40,640 --> 00:20:43,865 >> ХАНА: Да, то указује да овај чвор у меморији. 465 00:20:43,865 --> 00:20:47,190 >> ПУБЛИКА: Добро, тако кад [неразумљиво]? 466 00:20:47,190 --> 00:20:50,580 >> ХАНА: У неку руку, да. 467 00:20:50,580 --> 00:20:51,280 У реду. 468 00:20:51,280 --> 00:20:52,997 У реду, идемо даље са овим. 469 00:20:52,997 --> 00:20:55,330 А ако имате још питања, остати на крају, 470 00:20:55,330 --> 00:20:57,130 и ми можемо проћи кроз то поново. 471 00:20:57,130 --> 00:20:58,120 У реду, кул. 472 00:20:58,120 --> 00:21:00,490 Сада, добијамо да идемо даље да размотре табела, покушаја, 473 00:21:00,490 --> 00:21:04,940 и дрвеће, које сте добили супер упознати са у п-сет пет, спеллер. 474 00:21:04,940 --> 00:21:11,020 >> Дакле хасх табела је само низ са појединачно повезаних листи 475 00:21:11,020 --> 00:21:14,050 или двоструко повезана листа долазе од тога. 476 00:21:14,050 --> 00:21:16,380 Дакле, имамо неку врсту од асоцијативно низа. 477 00:21:16,380 --> 00:21:21,280 А како знамо која од њих низови кашике да оду до, 478 00:21:21,280 --> 00:21:24,137 користимо хасх функцију. 479 00:21:24,137 --> 00:21:26,470 Дакле, у овом случају, може ико погоди шта хасх функцију 480 00:21:26,470 --> 00:21:28,636 би се само на основу неких на улазу и излазу? 481 00:21:28,636 --> 00:21:31,392 482 00:21:31,392 --> 00:21:33,194 >> ПУБЛИКА: Писмо број абецеде. 483 00:21:33,194 --> 00:21:33,860 ХАНА: Тачно. 484 00:21:33,860 --> 00:21:36,160 То их ставља само по абецедном реду. 485 00:21:36,160 --> 00:21:39,280 Све што почиње са Се ставља у први кофу. 486 00:21:39,280 --> 00:21:43,340 Све са Б је пуштен у Други кашика, итд, и тако даље. 487 00:21:43,340 --> 00:21:45,620 Страва, ОК. 488 00:21:45,620 --> 00:21:48,980 И хасх функција је било Функција која узима у једном речју 489 00:21:48,980 --> 00:21:51,910 и да ће вам рећи шта кашика припада у. 490 00:21:51,910 --> 00:21:55,150 Дакле који унос у нашој арраи припада у. 491 00:21:55,150 --> 00:21:58,080 >> Тако да сваки пут дајем хасх функција реч, 492 00:21:58,080 --> 00:22:00,660 треба ми говоре исто постави сваки пут. 493 00:22:00,660 --> 00:22:03,270 Дакле, ако користимо хасх функцију из претходног слајда 494 00:22:03,270 --> 00:22:05,950 где смо се сортира по Прво слово абецеде, 495 00:22:05,950 --> 00:22:08,230 сваки пут кад дам мој хасх функција "јабука", 496 00:22:08,230 --> 00:22:10,180 увек треба да ми врати 0. 497 00:22:10,180 --> 00:22:12,890 Дакле ако имам јабука да ставим у хасх табели, 498 00:22:12,890 --> 00:22:17,700 ако дам "Аппле" на моју хеш функције, треба да стоји, иди стави га у кофу 0. 499 00:22:17,700 --> 00:22:19,980 Ако тражим јабука у мом хасх табели 500 00:22:19,980 --> 00:22:24,340 и ја кажем, где би могао јабука уживо, питаш своју хасх функцију. 501 00:22:24,340 --> 00:22:26,900 И каже, идите на кашика 0. 502 00:22:26,900 --> 00:22:29,150 У реду? 503 00:22:29,150 --> 00:22:32,660 Питања са хеш функције? 504 00:22:32,660 --> 00:22:34,570 Страва. 505 00:22:34,570 --> 00:22:37,320 >> Ево мало више детаљно објашњење 506 00:22:37,320 --> 00:22:39,570 шта хасх функција могла да изгледа. 507 00:22:39,570 --> 00:22:42,230 508 00:22:42,230 --> 00:22:42,960 У реду. 509 00:22:42,960 --> 00:22:45,960 Сада, проблем са хасх Функције је у идеалном свету, 510 00:22:45,960 --> 00:22:48,870 ми само да има један ствар у сваки сегмент. 511 00:22:48,870 --> 00:22:50,900 Али у стварности, постоји не само једна реч 512 00:22:50,900 --> 00:22:54,280 да почиње са А. Нема само једна реч која почиње са Б. Со 513 00:22:54,280 --> 00:22:56,960 у овом случају, ако смо ми изненада "берри," 514 00:22:56,960 --> 00:22:58,710 и желимо да га стави у нашем хасх табели, 515 00:22:58,710 --> 00:23:03,640 и видимо, ох, не, банана је већ тамо, шта да радимо? 516 00:23:03,640 --> 00:23:05,900 >> Па, имамо две опције. 517 00:23:05,900 --> 00:23:07,990 Прва опција је линеарни прескок, која 518 00:23:07,990 --> 00:23:11,100 само значи да надјемо следећи празан кашика. 519 00:23:11,100 --> 00:23:14,100 Иди наћи на следећу празну низа унос. 520 00:23:14,100 --> 00:23:15,750 И само стави "Берри" тамо. 521 00:23:15,750 --> 00:23:18,880 Тако да знам како треба да иди са бананом у кофу једном. 522 00:23:18,880 --> 00:23:22,155 Али само га ставите у канту три, јер кофи три је празна. 523 00:23:22,155 --> 00:23:24,806 524 00:23:24,806 --> 00:23:26,680 Друга опција је вероватно шта имплементирати 525 00:23:26,680 --> 00:23:29,220 у вашем п-сет, где вас имао посебан цхаининг. 526 00:23:29,220 --> 00:23:33,990 Тако сваки од ваших кашике, сваки од ваших елемената низа, 527 00:23:33,990 --> 00:23:38,410 не само држи једну ријечи, али у ствари има показивач на листи речи. 528 00:23:38,410 --> 00:23:41,880 Тако да, ако сте имали банане у вашем хасх табели 529 00:23:41,880 --> 00:23:44,740 а ти одједном хтели додати Берри, нема проблема. 530 00:23:44,740 --> 00:23:51,110 Само адд берри на крају, или почетак, на вашој листи повезане. 531 00:23:51,110 --> 00:23:54,040 Ок, супер. 532 00:23:54,040 --> 00:23:58,490 Питања са хасх столови пре него што наставимо? 533 00:23:58,490 --> 00:23:59,850 >> У реду. 534 00:23:59,850 --> 00:24:01,070 Дрвеће и покушава. 535 00:24:01,070 --> 00:24:07,980 ОК, ово је још један опција за имплементацију речник. 536 00:24:07,980 --> 00:24:09,100 Могао си да пробам. 537 00:24:09,100 --> 00:24:13,420 Тако да је посебна врста дрвета која понаша као мулти-левел хасх табели а. 538 00:24:13,420 --> 00:24:16,862 Тако ћете видети слику где имате низ који 539 00:24:16,862 --> 00:24:19,320 указује на гомили низова које указују на гомили низова 540 00:24:19,320 --> 00:24:20,390 које указују на гомили низова. 541 00:24:20,390 --> 00:24:23,140 Па ћемо видети шта то би изгледала на будућем слајду. 542 00:24:23,140 --> 00:24:26,070 И уопште, дрво је само било структура података 543 00:24:26,070 --> 00:24:29,710 у којима подаци организована у неком хијерархији. 544 00:24:29,710 --> 00:24:32,610 Па где смо видели да имамо нека врста разумевања 545 00:24:32,610 --> 00:24:36,130 о врхунском нивоу, поред ниво, Следећи ниво, поред ниво. 546 00:24:36,130 --> 00:24:39,690 Дакле, ово је вероватно већина јасно са неким конкретним примерима. 547 00:24:39,690 --> 00:24:40,880 Дакле овде је наш дрво. 548 00:24:40,880 --> 00:24:42,970 Можете видети да њега има посебне нивое 549 00:24:42,970 --> 00:24:45,480 да почнемо са тим роот чвор, један. 550 00:24:45,480 --> 00:24:47,640 И можемо да идемо кроз нашу дрво. 551 00:24:47,640 --> 00:24:50,730 552 00:24:50,730 --> 00:24:53,910 >> Бинарни дрво Посебну врсту дрвета. 553 00:24:53,910 --> 00:24:56,770 А једини спецификација за бинарном стаблу 554 00:24:56,770 --> 00:25:01,130 је да сваки чвор има највише два лишће. 555 00:25:01,130 --> 00:25:03,960 Тако да не идеш да видим било од ове чворови имају три или четири 556 00:25:03,960 --> 00:25:06,880 или неки други број листова. 557 00:25:06,880 --> 00:25:11,310 А онда још конкретнији је бинарна претрага дрво 558 00:25:11,310 --> 00:25:18,010 где сваки чвор са леве стране чвор ће имати вредност мања. 559 00:25:18,010 --> 00:25:21,180 И сваки вредност за Право ће бити већи. 560 00:25:21,180 --> 00:25:26,900 Дакле, ако видиш 44 је на нашем корену, лево, 11, 22, и 33 561 00:25:26,900 --> 00:25:28,940 су сви мање од нашег корена. 562 00:25:28,940 --> 00:25:33,890 А на десној су сви бројеви биггер-- 66, 55, и 77. 563 00:25:33,890 --> 00:25:37,380 И ове некретнине важи на сваком нивоу стабла. 564 00:25:37,380 --> 00:25:42,690 >> Па кад идемо у 22, 11 и 33, још 11 565 00:25:42,690 --> 00:25:46,950 је мањи од 22 и 33 је већи од 22. 566 00:25:46,950 --> 00:25:50,160 А ово олакшава претрагу јер ако гледамо из више, 567 00:25:50,160 --> 00:25:53,877 ми тачно знамо који грана да пратите доле. 568 00:25:53,877 --> 00:25:56,210 Дакле, ово би требало да вас подсетим а Мало бинарног потрази. 569 00:25:56,210 --> 00:25:56,967 Да? 570 00:25:56,967 --> 00:25:58,835 >> ПУБЛИКА: Па кад си описујући бинарни, 571 00:25:58,835 --> 00:26:00,587 сте рекли да има највише два листа? 572 00:26:00,587 --> 00:26:01,170 ХАННАХ: Аха. 573 00:26:01,170 --> 00:26:02,580 ПУБЛИКА: Може ли имају мање? 574 00:26:02,580 --> 00:26:03,121 ХАНА: Да. 575 00:26:03,121 --> 00:26:06,720 Рецимо, на пример, ви није имао паран број ствари 576 00:26:06,720 --> 00:26:11,791 а нисте могли напунити све своје лишће, у реду је ако неко има једну. 577 00:26:11,791 --> 00:26:12,290 У реду? 578 00:26:12,290 --> 00:26:12,789 Страва. 579 00:26:12,789 --> 00:26:15,930 Има ли још питања на дрвећу? 580 00:26:15,930 --> 00:26:16,670 У реду. 581 00:26:16,670 --> 00:26:20,110 >> Назад на нашим покушаја као што сам причала о мало раније, 582 00:26:20,110 --> 00:26:23,900 како имамо ове низове више нивоа. 583 00:26:23,900 --> 00:26:26,280 Дакле, у овом случају, почињемо на врху. 584 00:26:26,280 --> 00:26:29,030 А ми можемо пратити сваку дату реч доле. 585 00:26:29,030 --> 00:26:30,780 Рецимо смо хтели тражити Туринг. 586 00:26:30,780 --> 00:26:34,380 Почињемо у Т, пратите га доле за низ који садржи У, 587 00:26:34,380 --> 00:26:37,350 и пратите га док не достигне овај мали делта која 588 00:26:37,350 --> 00:26:39,060 нам говори, да, нашао си реч. 589 00:26:39,060 --> 00:26:43,200 590 00:26:43,200 --> 00:26:44,120 Јасно покушаја? 591 00:26:44,120 --> 00:26:48,138 Било шта да идем тамо? 592 00:26:48,138 --> 00:26:48,908 Да? 593 00:26:48,908 --> 00:26:51,866 ПУБЛИКА: Да ли симбол делта морају да заузму простор унутар три? 594 00:26:51,866 --> 00:26:54,532 ХАНА: Да, тако се то не догоди нужно чак ни да буде делта. 595 00:26:54,532 --> 00:26:57,760 Али ми треба мало пут ка реци наш цомпутер-- жао, 596 00:26:57,760 --> 00:27:01,130 тако да знамо да ТУР није реч. 597 00:27:01,130 --> 00:27:04,180 Јер рецимо нисмо имали Овај концепт делта, овај концепт 598 00:27:04,180 --> 00:27:09,850 од честитки, нашао си реч, било би проћи и поновити Т-У-Р, 599 00:27:09,850 --> 00:27:11,300 и онда кажу, феноменално, нашао сам! 600 00:27:11,300 --> 00:27:12,670 Мора да је реч. 601 00:27:12,670 --> 00:27:13,720 Али то стварно није. 602 00:27:13,720 --> 00:27:15,310 Желимо цео Тјуринг да буде реч. 603 00:27:15,310 --> 00:27:17,760 Зато морамо имати нешто у крај да каже, честитке, 604 00:27:17,760 --> 00:27:19,051 сте нашли легитиман реч. 605 00:27:19,051 --> 00:27:21,680 ПУБЛИКА: Па ако сте имали свиђа 26 слова у абецеди, 606 00:27:21,680 --> 00:27:24,560 да ли би заправо имају 27 кључева у вашем пробате? 607 00:27:24,560 --> 00:27:26,010 >> ХАНА: Страва, да. 608 00:27:26,010 --> 00:27:28,210 Тако у ствари, мислим да ће бити на следећем слајду. 609 00:27:28,210 --> 00:27:29,440 Та-да! 610 00:27:29,440 --> 00:27:32,880 Где ако имате чвор у вашем покушају, ти си 611 00:27:32,880 --> 00:27:35,800 ће имати 27 деце уместо 26. 612 00:27:35,800 --> 00:27:39,010 613 00:27:39,010 --> 00:27:40,050 Сва питања с тим? 614 00:27:40,050 --> 00:27:40,550 Да? 615 00:27:40,550 --> 00:27:44,569 ПУБЛИКА: Зашто покушава заузети тако много простора [неразумљиво] ас иоу го? 616 00:27:44,569 --> 00:27:47,629 Зашто се то сматра [неразумљиво]? 617 00:27:47,629 --> 00:27:48,170 ХАНА: Наравно. 618 00:27:48,170 --> 00:27:48,790 Вратимо. 619 00:27:48,790 --> 00:27:52,350 Питање је, зашто су покушава толико много већи 620 00:27:52,350 --> 00:27:54,620 него нешто попут хеш табели. 621 00:27:54,620 --> 00:27:57,790 Дакле, за сваки од ових нивоа, чак и ако они не овде дравн, 622 00:27:57,790 --> 00:28:01,250 морате да имате свих 26 знакова. 623 00:28:01,250 --> 00:28:04,420 А разлог да не можете кажу, ох, али као за Туринг, ја 624 00:28:04,420 --> 00:28:07,570 не морају да имају неке од оних исте ствари на нивоу У. Па, 625 00:28:07,570 --> 00:28:11,390 ако изненада сте хтели да додате нешто што је као Т-Х, 626 00:28:11,390 --> 00:28:14,800 ти би потребно да имате могућност доградње ту реч. 627 00:28:14,800 --> 00:28:17,330 Дакле, сваки појединачно слово, ти ћеш имати 628 00:28:17,330 --> 00:28:19,730 да имају гомилу низови долазе од тога. 629 00:28:19,730 --> 00:28:24,060 Тако да можете видети како то да се стварно велики, стварно брзо. 630 00:28:24,060 --> 00:28:26,560 Има ли још питања? 631 00:28:26,560 --> 00:28:28,980 У реду. 632 00:28:28,980 --> 00:28:29,832 Да? 633 00:28:29,832 --> 00:28:33,210 >> ПУБЛИКА: Када су покушава бржи од хасх табела? 634 00:28:33,210 --> 00:28:36,280 >> ХАНА: Када су покушава бржи од хасх табела? 635 00:28:36,280 --> 00:28:39,120 Дакле, ако сте имали стварно лоше хасх функција. 636 00:28:39,120 --> 00:28:41,840 Па рецимо да сам био као, ево ти хасх функција. 637 00:28:41,840 --> 00:28:43,660 Без обзира на све речи ти ми даш, увек сам 638 00:28:43,660 --> 00:28:47,740 ће то ставити у арраи улазак 0. 639 00:28:47,740 --> 00:28:52,000 И тако на крају добијамо само стављањем све у једном великом дуго повезане листе. 640 00:28:52,000 --> 00:28:58,740 И тако ИП адресу времена ће узети у најгорем н ако је на самом крају нашег листа. 641 00:28:58,740 --> 00:29:03,150 Са покушаја, само морамо да поновити кроз слова у речи. 642 00:29:03,150 --> 00:29:07,080 Дакле, чак и ако смо додао гомилу више речи у нашем покушају, 643 00:29:07,080 --> 00:29:09,620 не би нас било више да пронађу одређену реч. 644 00:29:09,620 --> 00:29:11,750 >> Све што треба да урадимо је, за пример, у овом случају, 645 00:29:11,750 --> 00:29:17,170 рецимо тражимо зоом, ми само морати да поновити над 646 00:29:17,170 --> 00:29:19,840 З-О-О-М, четири слова. 647 00:29:19,840 --> 00:29:22,250 Дакле, то је само дужина речи зума. 648 00:29:22,250 --> 00:29:25,400 Није битно колико више речи ставимо у овом покушају. 649 00:29:25,400 --> 00:29:30,225 Ми увек можемо добити у та четири корака. 650 00:29:30,225 --> 00:29:31,215 Страва. 651 00:29:31,215 --> 00:29:32,205 Да? 652 00:29:32,205 --> 00:29:34,185 >> ПУБЛИКА: Дакле [неразумљиво] је низ, зар не? 653 00:29:34,185 --> 00:29:35,322 >> ХАННАХ: Аха. 654 00:29:35,322 --> 00:29:37,155 ПУБЛИКА: Ако сте лоокинг фор [неразумљиво], 655 00:29:37,155 --> 00:29:40,929 да ли бисте морали да прођу кроз Ваш низ пронаћи [неразумљиво]? 656 00:29:40,929 --> 00:29:41,470 ХАНА: Наравно. 657 00:29:41,470 --> 00:29:44,000 ПУБЛИКА: Зар то не узме више времена? 658 00:29:44,000 --> 00:29:46,370 ХАНА: Ако ћу кажу да је мој низ је увек 659 00:29:46,370 --> 00:29:49,250 Биће, Б, Ц, Д, Е, Ф, Г, бла бла бла, 660 00:29:49,250 --> 00:29:51,630 па ако сам увек знам да је у истом онако како је, 661 00:29:51,630 --> 00:29:53,880 ако Увек знам да је по абецедном реду, 662 00:29:53,880 --> 00:29:57,860 Само могу да кажем је О број тако и тако у писму. 663 00:29:57,860 --> 00:29:59,620 Само скочи на том месту. 664 00:29:59,620 --> 00:30:01,860 Јер запамтите, са низови, можемо приступити 665 00:30:01,860 --> 00:30:06,590 било елемената тог низа у константа Време ако знамо где тражимо. 666 00:30:06,590 --> 00:30:09,080 667 00:30:09,080 --> 00:30:09,580 Да? 668 00:30:09,580 --> 00:30:12,005 >> ПУБЛИКА: На претходни слиде [неразумљиво] 27, 669 00:30:12,005 --> 00:30:14,430 али 26 на првом. 670 00:30:14,430 --> 00:30:15,400 >> ХАНА: Извини? 671 00:30:15,400 --> 00:30:18,800 >> ПУБЛИКА: Није први један 0, па не би било 26? 672 00:30:18,800 --> 00:30:24,900 >> ХАНА: Наравно, па када кажемо 27, то је ће дати нам индекси 0 до 26. 673 00:30:24,900 --> 00:30:28,220 Али ако заиста рачунати они се, то ће бити 27. 674 00:30:28,220 --> 00:30:30,007 Добро питање. 675 00:30:30,007 --> 00:30:30,590 Још нешто? 676 00:30:30,590 --> 00:30:31,200 Да? 677 00:30:31,200 --> 00:30:34,420 >> ПУБЛИКА: Па су покушава спорији од хасх табела? 678 00:30:34,420 --> 00:30:37,920 >> ХАНА: Покушава ће бити, у теорија, брже него хасх табеле 679 00:30:37,920 --> 00:30:39,760 али заузимају више меморије. 680 00:30:39,760 --> 00:30:40,534 Да? 681 00:30:40,534 --> 00:30:41,450 ПУБЛИКА: [неразумљиво]? 682 00:30:41,450 --> 00:30:45,770 683 00:30:45,770 --> 00:30:47,484 >> ХАНА: Жао ми је, нисам вас чујем. 684 00:30:47,484 --> 00:30:48,400 ПУБЛИКА: [неразумљиво]. 685 00:30:48,400 --> 00:30:51,250 686 00:30:51,250 --> 00:30:54,100 0 до 25 даје 26. 687 00:30:54,100 --> 00:30:56,958 >> ХАНА: 0 до 25 би да ти дам 26, десно. 688 00:30:56,958 --> 00:30:58,457 >> ПУБЛИКА: А онда [неразумљиво]. 689 00:30:58,457 --> 00:30:59,040 ХАНА: Тако је. 690 00:30:59,040 --> 00:31:04,760 Тако је број специфицирамо је број ствари у нашем низу. 691 00:31:04,760 --> 00:31:07,260 Дакле, ако имамо 27, то је ће нам дати 0 692 00:31:07,260 --> 00:31:10,620 до 26, који ће дати нас простор за, у овом случају, 693 00:31:10,620 --> 00:31:12,770 Нећу укључујући призивање. 694 00:31:12,770 --> 00:31:17,040 Тако добијамо 0 до 25. су прва 26 слова азбуке, 695 00:31:17,040 --> 00:31:18,990 или свих 26 слова азбуке. 696 00:31:18,990 --> 00:31:21,190 А онда тај последњи ствар, на улазу 26, је 697 00:31:21,190 --> 00:31:24,598 Биће чек ознака, односно делта. 698 00:31:24,598 --> 00:31:26,960 Још нешто? 699 00:31:26,960 --> 00:31:29,130 Страва. 700 00:31:29,130 --> 00:31:30,020 Изгубио сам простор. 701 00:31:30,020 --> 00:31:31,020 У реду, кул. 702 00:31:31,020 --> 00:31:33,240 >> Тако смо већ дотакли ово. 703 00:31:33,240 --> 00:31:37,430 Али велика компромис између покушаја и хасх табела 704 00:31:37,430 --> 00:31:39,720 је да покушава обезбедити, у теорија, константна гледај горе 705 00:31:39,720 --> 00:31:42,890 пута али користе пуно меморије. 706 00:31:42,890 --> 00:31:46,495 У реду, сада смо мало имамо мање компликоване структуре, 707 00:31:46,495 --> 00:31:49,640 и ми ћемо бити са Ц, а ми ћемо све одрадим. 708 00:31:49,640 --> 00:31:51,930 >> Дакле книгохранилисе, видели смо ово у предавању где сте 709 00:31:51,930 --> 00:31:55,020 Имам нешто слично стек тацне где 710 00:31:55,020 --> 00:31:57,330 последња ствар коју пут на стек иде 711 00:31:57,330 --> 00:31:59,500 да буде прва ствар коју скинути. 712 00:31:59,500 --> 00:32:02,880 Дакле, то је оно што заиста дефинише стацк је да последња ствар коју на пут 713 00:32:02,880 --> 00:32:06,080 ће бити први ствар коју скинути. 714 00:32:06,080 --> 00:32:09,279 И терминологија коју користимо ако ћемо ставити нешто, 715 00:32:09,279 --> 00:32:12,070 ако ћемо додати нешто наш стек, ми то зовемо гурања. 716 00:32:12,070 --> 00:32:14,970 А ако узмемо нешто офф, ми то зовемо кокичара. 717 00:32:14,970 --> 00:32:17,080 А ако ћемо да спровести стацк, ми 718 00:32:17,080 --> 00:32:20,660 треба да буду сигурни да пратите како величина и капацитета. 719 00:32:20,660 --> 00:32:24,940 Тако је укупан број елемената можемо држите и тренутни број елемената 720 00:32:24,940 --> 00:32:27,880 да смо држи. 721 00:32:27,880 --> 00:32:29,885 >> И врло слично, имамо редове. 722 00:32:29,885 --> 00:32:34,510 И једина разлика је уместо са гомиле, 723 00:32:34,510 --> 00:32:37,630 смо рекли последња ствар која нам стави на је прва ствар коју скинемо. 724 00:32:37,630 --> 00:32:40,940 Дакле са редовима, Прво што ћемо ставити у 725 00:32:40,940 --> 00:32:43,129 ће бити Прво што ћемо узети. 726 00:32:43,129 --> 00:32:45,420 Дакле, ово је као да си заправо гурају продавници 727 00:32:45,420 --> 00:32:48,140 а ти се помогао, онда прва особа у реду 728 00:32:48,140 --> 00:32:50,880 треба да буде прва особа која се помогне. 729 00:32:50,880 --> 00:32:52,220 Тако да би било ред. 730 00:32:52,220 --> 00:32:55,880 >> Зато морамо да пратите величина, капацитет, а глава јер смо 731 00:32:55,880 --> 00:33:01,130 одржаће све са предње стране листе уместо леђа. 732 00:33:01,130 --> 00:33:03,480 Питања о томе? 733 00:33:03,480 --> 00:33:06,330 Било Ц питања која су те мучи? 734 00:33:06,330 --> 00:33:09,590 Структуре података, било те забавних ствари? 735 00:33:09,590 --> 00:33:10,530 У реду, кул. 736 00:33:10,530 --> 00:33:14,120 Па ћу га предати Алисон да скок у неку више програмирање. 737 00:33:14,120 --> 00:33:15,965 >> Алисон: О, видећемо. 738 00:33:15,965 --> 00:33:17,370 Видећемо колико добро сам овде радим. 739 00:33:17,370 --> 00:33:21,410 Ок, ја ћу покушати и лети кроз ове ствари, момци. 740 00:33:21,410 --> 00:33:24,540 Хана је отишао веома у дубина на свим њеним стварима. 741 00:33:24,540 --> 00:33:26,900 Ја ћу покушати да дам ти брз преглед експлозија 742 00:33:26,900 --> 00:33:31,290 тако да можемо доћи до Давин са свима да забавни ЈаваСцрипт и безбедносне ствари 743 00:33:31,290 --> 00:33:33,380 да можда заправо Желим да чујем више о. 744 00:33:33,380 --> 00:33:36,600 >> Ок, како је рекао Хана, ако имате питања, 745 00:33:36,600 --> 00:33:39,170 Идем пребрзо, молим, јавите ми. 746 00:33:39,170 --> 00:33:42,114 Ја ћу одговорити на питања као неопходна. 747 00:33:42,114 --> 00:33:45,280 Дакле за почетак, идемо да почне са Вероватно једна од првих ствари 748 00:33:45,280 --> 00:33:48,730 Ви научили са веб програмирање, дозволе. 749 00:33:48,730 --> 00:33:52,720 Дакле цхмод, ви треба да сте били мајстори у ово са свим вебу 750 00:33:52,720 --> 00:33:54,870 програмирање да немаш радили у последње време. 751 00:33:54,870 --> 00:33:57,320 То је у основи само команда да мења дозволе 752 00:33:57,320 --> 00:34:00,779 или дозволе о приступу од наших објеката система датотека. 753 00:34:00,779 --> 00:34:02,570 Наравно, да заправо види ово, да ли си 754 00:34:02,570 --> 00:34:04,910 има проблема са овим током ваших проблема сетовима, 755 00:34:04,910 --> 00:34:11,460 можда сте користили лс -л, што је дуго, да бисте добили поглед врсту овако, 756 00:34:11,460 --> 00:34:14,209 где сте ви видели све дозволе за датотеку. 757 00:34:14,209 --> 00:34:16,850 758 00:34:16,850 --> 00:34:20,732 >> И заиста, ми ћемо само да одем кроз врло брзо само лепа 759 00:34:20,732 --> 00:34:21,940 много шта сваки од њих значи. 760 00:34:21,940 --> 00:34:24,481 Тако смо д овде, који само стоји за директоријум. 761 00:34:24,481 --> 00:34:26,790 762 00:34:26,790 --> 00:34:31,739 Очигледно овде, ми видимо рвк, која је читљив, могућ упис, и извршна. 763 00:34:31,739 --> 00:34:37,090 Они се такође могу представљени као бита, који ћемо ући у на следећој страници. 764 00:34:37,090 --> 00:34:40,699 Тако сваки тројство које смо видели овде, тако да је три Триадс. 765 00:34:40,699 --> 00:34:48,120 Ми смо рвк, Р ништа к и р ништа к за овај први фајл. 766 00:34:48,120 --> 00:34:49,690 То је ово општа структура. 767 00:34:49,690 --> 00:34:50,940 >> Дакле, имамо неку директоријум. 768 00:34:50,940 --> 00:34:53,999 Имамо неке групе корисника са овим дозволама. 769 00:34:53,999 --> 00:34:57,040 Неки група која има те дозволе, и свет који има дозволу. 770 00:34:57,040 --> 00:34:59,420 Можете мислити од њих као тријаде. 771 00:34:59,420 --> 00:35:01,130 Можете мислити од ових као три бита. 772 00:35:01,130 --> 00:35:04,060 Тако да могу држати вредности нигде од 0 уп 773 00:35:04,060 --> 00:35:07,350 до 7, због чега понекад имали смо ти цхмод 774 00:35:07,350 --> 00:35:17,510 600 уместо цхмод РВ шта год. 775 00:35:17,510 --> 00:35:19,170 Ми ћемо ући у један пример тамо. 776 00:35:19,170 --> 00:35:24,260 Али у суштини, можете мислити од њих као ни само рвк, 777 00:35:24,260 --> 00:35:28,520 или можете мислити о њима као неки Број где ова прва овде 778 00:35:28,520 --> 00:35:31,480 представља број од 0 и 7, ова друга 779 00:35:31,480 --> 00:35:33,970 представља број од 0 и 7, а трећи 780 00:35:33,970 --> 00:35:38,245 представља број између 0 и 7, у реду? 781 00:35:38,245 --> 00:35:42,700 >> Р има вредност од 4. в има вредност од 2, и Кс 782 00:35:42,700 --> 00:35:49,230 има вредност 1, због чега ова дозвола овде би се цхмод 700. 783 00:35:49,230 --> 00:35:53,520 Јер у овом случају овде, то ми каже су први битни тамо је преврнуо на. 784 00:35:53,520 --> 00:35:55,380 Дакле, имамо 4 за читање. 785 00:35:55,380 --> 00:35:58,730 Други битни се преврнуо на за в, која је 2, па сада имамо 6. 786 00:35:58,730 --> 00:36:02,070 И трећи бит се преврнуо на за Кс, који је 1, тако да смо добили седам. 787 00:36:02,070 --> 00:36:04,820 И наравно, наша група и наш свет су сваки 0. 788 00:36:04,820 --> 00:36:07,770 Дакле, ово је такође еквивалент цхмод 700. 789 00:36:07,770 --> 00:36:12,081 И ја бих дефинитивно покушати да разумеју мапирање између оних. 790 00:36:12,081 --> 00:36:14,080 Нисам сигуран да ли има дошао на квизу пре, 791 00:36:14,080 --> 00:36:18,590 али би било Питање које сам могао питати. 792 00:36:18,590 --> 00:36:22,110 >> Само мало иде чак даље у цхмод овде, овде 793 00:36:22,110 --> 00:36:27,730 је врло уопштен структура цхмод позива. 794 00:36:27,730 --> 00:36:29,500 Дакле наравно, ми смо овде цхмод. 795 00:36:29,500 --> 00:36:34,410 Референце, на што се односи је који ми дајемо ове дозволе за 796 00:36:34,410 --> 00:36:36,570 или ко су ми Судећи по томе Дозволе даље од. 797 00:36:36,570 --> 00:36:44,330 Дакле, имамо овде у дозволама, да смо дали сте цхмод а плус к, 798 00:36:44,330 --> 00:36:45,440 као што ћемо ускоро видети. 799 00:36:45,440 --> 00:36:48,460 само значи дати ово специфична Дозволе свима. 800 00:36:48,460 --> 00:36:49,600 Дајте им свима. 801 00:36:49,600 --> 00:36:55,370 Тако да би можда и У Плус Кс хаве или Г плус к или о Плус Кс или вишеструке 802 00:36:55,370 --> 00:36:55,870 истих. 803 00:36:55,870 --> 00:36:59,280 Тако да први део је увек Биће референце. 804 00:36:59,280 --> 00:37:03,220 Ко ми дајемо ове дозволе да, или који су их одузима од? 805 00:37:03,220 --> 00:37:04,850 >> Други је оператер. 806 00:37:04,850 --> 00:37:07,350 Дакле ви сте се углавном бавили плус. 807 00:37:07,350 --> 00:37:12,140 Ово даје дозволе за ко год да си их дају, 808 00:37:12,140 --> 00:37:14,840 док минусу, логично, отклања их. 809 00:37:14,840 --> 00:37:16,880 Дакле ништа превише страшно тамо. 810 00:37:16,880 --> 00:37:23,060 А онда је Режими о чему смо причали са читање, писање, или извршавање. 811 00:37:23,060 --> 00:37:29,070 Дакле Плус Кс значи дати извршну Дозволе свима. 812 00:37:29,070 --> 00:37:33,430 И онда, наравно, на коме специфична или директоријум. 813 00:37:33,430 --> 00:37:33,980 У реду? 814 00:37:33,980 --> 00:37:36,010 Свако добро са цхмод? 815 00:37:36,010 --> 00:37:37,850 Није лоше? 816 00:37:37,850 --> 00:37:42,417 >> Ок, тако ХТМЛ, неки од вас су довољно стар да-- МиСпаце године? 817 00:37:42,417 --> 00:37:44,750 Послао сам ово мојој секцији, и буквално половина људи 818 00:37:44,750 --> 00:37:45,790 Погледао ме је као да сам луд. 819 00:37:45,790 --> 00:37:47,498 И ја сам био као, момци, нисмо толико стара. 820 00:37:47,498 --> 00:37:48,910 Хајде. 821 00:37:48,910 --> 00:37:53,360 Дакле ХиперТект Маркуп Лангуаге, то је само искрено начин за вас 822 00:37:53,360 --> 00:37:57,990 за приказ неке ствари на Интернету. 823 00:37:57,990 --> 00:37:59,210 Дакле, то је језик за означавање. 824 00:37:59,210 --> 00:38:00,640 Није скриптинг језика. 825 00:38:00,640 --> 00:38:02,160 Нема логике у томе. 826 00:38:02,160 --> 00:38:05,710 То је једноставно да се промени начин нешто се приказује. 827 00:38:05,710 --> 00:38:07,670 У реду, тако да је важно разлика да. 828 00:38:07,670 --> 00:38:12,030 Сматра језик за маркирање, Не скриптинг језика. 829 00:38:12,030 --> 00:38:15,100 >> Дакле, овде имамо наше ХТМЛ ознаке. 830 00:38:15,100 --> 00:38:20,390 На овом слајду су вероватно већина оне које треба да буду упознати са 831 00:38:20,390 --> 00:38:22,390 и бити заиста пријатно. 832 00:38:22,390 --> 00:38:25,700 Дакле, очигледно, имамо наш ХТМЛ тег, који 833 00:38:25,700 --> 00:38:29,930 означава да је све у између ове две ће бити ХТМЛ. 834 00:38:29,930 --> 00:38:33,070 Имамо неке везе, која Очигледно ће вам дати 835 00:38:33,070 --> 00:38:34,990 веза са спољним веб страници. 836 00:38:34,990 --> 00:38:37,520 Неки наслов, унутар наше главе овде. 837 00:38:37,520 --> 00:38:40,020 И ми имамо наше тело са х1, што је хеадер, 838 00:38:40,020 --> 00:38:42,260 тако да ћу то учинити лепо и храбар и већи. 839 00:38:42,260 --> 00:38:46,040 А онда, имамо неке п, што је пасус. 840 00:38:46,040 --> 00:38:49,000 Вероватно знате и да буду упознати са стварима 841 00:38:49,000 --> 00:38:54,030 Свиђа ми се како си убацили слику, су постоје неке друге класе хеадер? 842 00:38:54,030 --> 00:38:57,240 Ја бих дефинитивно бити угодно див. 843 00:38:57,240 --> 00:39:00,840 Дакле, ово има већину тагова да треба да буду упознати са. 844 00:39:00,840 --> 00:39:04,370 Али наравно, као и са свим у ЦС 50, списак није коначан. 845 00:39:04,370 --> 00:39:08,200 Зато пазите да освези то. 846 00:39:08,200 --> 00:39:13,260 >> ЦСС, тако ЦСС, ако неко од вас гледа мој семинар из пре две недеље, 847 00:39:13,260 --> 00:39:16,250 заиста само начин како обликовати вашу веб страницу? 848 00:39:16,250 --> 00:39:18,950 У реду, тако да имамо неки програмски језик. 849 00:39:18,950 --> 00:39:23,220 ХТМЛ, која брине о само текста и где то може бити на страни. 850 00:39:23,220 --> 00:39:25,760 Али ЦСС заиста оно што га чини прилично. 851 00:39:25,760 --> 00:39:30,690 Могао си ово у ХТМЛ фајлова, али како ћемо разговарати о касније, 852 00:39:30,690 --> 00:39:32,660 Прилично сам сигуран да би могао бити следећи слајд, она 853 00:39:32,660 --> 00:39:35,620 је уобичајена пракса, и заправо пракса да смо заиста подстичу, 854 00:39:35,620 --> 00:39:40,670 за вас да их држати одвојене када смо говорити о МВЦ и целом том парадигме. 855 00:39:40,670 --> 00:39:42,490 То је стварно оно ово уклапа у. 856 00:39:42,490 --> 00:39:46,110 >> Дакле ЦСС је само начин да се да ствари изгледају прилично. 857 00:39:46,110 --> 00:39:50,500 Ствари овде, као што су Тело и #титле и .инфо, 858 00:39:50,500 --> 00:39:54,340 то се зове селекторе и шта они раде је да изаберете одређене ствари 859 00:39:54,340 --> 00:39:59,260 у оквиру вашег ХТМЛ датотеку и примењују без обзира стил, 860 00:39:59,260 --> 00:40:04,090 шта год врсту ствари које желите, на дату елементу вашег веб 861 00:40:04,090 --> 00:40:04,590 страна. 862 00:40:04,590 --> 00:40:08,820 Дакле, овде имамо боја позадине и боје 863 00:40:08,820 --> 00:40:12,450 и породица фонта који је био примењена на оно што је у телу. 864 00:40:12,450 --> 00:40:15,530 Дакле, ако смо гледали овде, то не би односило на наслов. 865 00:40:15,530 --> 00:40:22,340 То би важило само за оно што је у овим телесним селектора, у реду? 866 00:40:22,340 --> 00:40:25,250 >> Са насловом овде, ово је ће бити иста ствар, 867 00:40:25,250 --> 00:40:28,410 боја текста бити плаво иде само 868 00:40:28,410 --> 00:40:33,870 да утиче оно што је у насловна селектори. 869 00:40:33,870 --> 00:40:36,580 Као и информација о овде, текст ће бити розе, 870 00:40:36,580 --> 00:40:38,600 шта год је о, која је овде. 871 00:40:38,600 --> 00:40:40,860 Тако је једина ствар која би розе на овој страници 872 00:40:40,860 --> 00:40:44,100 је датум, понедељак, 17. новембар, 2014. 873 00:40:44,100 --> 00:40:48,770 Ок, па ЦСС је само начин да се имају већу контролу овер-- да? 874 00:40:48,770 --> 00:40:51,850 >> ПУБЛИКА: Зашто мораш да користе хасх са насловом? 875 00:40:51,850 --> 00:40:55,170 >> ХАНА: Следеће слајд, обећавам! 876 00:40:55,170 --> 00:40:56,810 Ми цемо тамо. 877 00:40:56,810 --> 00:40:59,830 Па зато морамо да користимо хасх. 878 00:40:59,830 --> 00:41:03,429 Тако селектори преузме три главна форме које смо причали са вама око. 879 00:41:03,429 --> 00:41:05,595 Ја фиоу желите да сазнате више, има доста тамо. 880 00:41:05,595 --> 00:41:07,540 Има велики ЦСС документација. 881 00:41:07,540 --> 00:41:12,680 Постоји име ознака, који се односи Уз помоћ само нормалним ознака у ХТМЛ. 882 00:41:12,680 --> 00:41:17,210 Дакле Х1, п, див, Х2, Такве ствари. 883 00:41:17,210 --> 00:41:20,320 А ми само можемо именовати оне као је. 884 00:41:20,320 --> 00:41:22,650 Дакле, као што видимо овде са Тело, то је нормално ознака. 885 00:41:22,650 --> 00:41:26,660 Тако можемо само да стави тело када говоримо у нашој ЦСС фајла. 886 00:41:26,660 --> 00:41:29,730 >> Са насловом, целе разлога хаве тхис хасх је имамо оно што је 887 00:41:29,730 --> 00:41:31,010 сматра ИД. 888 00:41:31,010 --> 00:41:35,400 Дакле ИД треба увек да буде јединствен у својој ХТМЛ страницу 889 00:41:35,400 --> 00:41:37,930 тако да када сте мислећи на њега, ви 890 00:41:37,930 --> 00:41:41,990 Знам да сте само говорите на једну одређену ствар. 891 00:41:41,990 --> 00:41:46,270 Дакле у овом случају овде, са нашим Х1 овде, ЦС 50 преглед седница, 892 00:41:46,270 --> 00:41:47,810 имамо ид од наслова. 893 00:41:47,810 --> 00:41:54,280 Тако да би се управо обратио да комад наше ХТМЛ, радимо хасх титулу. 894 00:41:54,280 --> 00:41:58,080 Само по конвенцији, ИД-ови су означени са хасх испред њих. 895 00:41:58,080 --> 00:42:01,650 На исти начин, видимо Информације овде је класа. 896 00:42:01,650 --> 00:42:06,070 И тако класа са ЦСС је означен као дот класа 897 00:42:06,070 --> 00:42:08,895 или дот шта год да је класа. 898 00:42:08,895 --> 00:42:10,850 Дакле у овом случају овде, то је инфо. 899 00:42:10,850 --> 00:42:13,090 >> Тако Повлачим. 900 00:42:13,090 --> 00:42:16,200 И једно и друго би било пинк за нашу ЦСС овде 901 00:42:16,200 --> 00:42:18,430 јер обоје имају класу инфо. 902 00:42:18,430 --> 00:42:23,070 И у нашој ЦСС фајла, ми смо означени да било шта у оквиру класе инфо 903 00:42:23,070 --> 00:42:24,120 ће бити ружичаста. 904 00:42:24,120 --> 00:42:25,968 Да ли то има смисла? 905 00:42:25,968 --> 00:42:27,435 Да? 906 00:42:27,435 --> 00:42:30,731 >> ПУБЛИКА: Ако сте били да се све у телу белом, 907 00:42:30,731 --> 00:42:32,814 а онда покушати да нешто у њему плава, 908 00:42:32,814 --> 00:42:34,770 би да изазове проблеме? 909 00:42:34,770 --> 00:42:37,310 >> ХАНА: Па је ЦСС Цасцадинг Стиле Схеетс. 910 00:42:37,310 --> 00:42:40,730 Дакле, шта год је према дно ће имати предност. 911 00:42:40,730 --> 00:42:44,080 Ако урадите нешто са телом, а ти све бити бела, 912 00:42:44,080 --> 00:42:49,300 а онда касније промените наслов или промените текст унутар тела, 913 00:42:49,300 --> 00:42:50,560 то преписује да. 914 00:42:50,560 --> 00:42:55,360 Тако нешто ка дно ће имати предност. 915 00:42:55,360 --> 00:42:56,730 Да? 916 00:42:56,730 --> 00:42:59,627 >> Публика: и ИДС су јединствени, али часови могу бити? 917 00:42:59,627 --> 00:43:00,210 ХАНА: Тако је. 918 00:43:00,210 --> 00:43:06,320 Дакле овима треба да буде јединствен, а настава може погледајте што више ствари као што желите. 919 00:43:06,320 --> 00:43:07,580 Има ли још питања? 920 00:43:07,580 --> 00:43:09,800 Да. 921 00:43:09,800 --> 00:43:11,210 >> ПУБЛИКА: [неразумљиво]. 922 00:43:11,210 --> 00:43:13,509 Питам се да ли то прави разлику. 923 00:43:13,509 --> 00:43:15,217 ХАНА: Жао ми је, шта је било питање? 924 00:43:15,217 --> 00:43:18,960 ПУБЛИКА: Има мала "Ф" и капитал "Ф." 925 00:43:18,960 --> 00:43:21,440 ХАНА: Па разлика између малог "ф" и капитала "П" 926 00:43:21,440 --> 00:43:22,606 не би требало да праве разлику. 927 00:43:22,606 --> 00:43:26,330 Тако "Ф" ће бити 15 Било како. 928 00:43:26,330 --> 00:43:28,130 Цоол, још нешто? 929 00:43:28,130 --> 00:43:29,930 Свако добро, ЦСС? 930 00:43:29,930 --> 00:43:30,850 Да? 931 00:43:30,850 --> 00:43:31,790 >> ПУБЛИКА: Извини. 932 00:43:31,790 --> 00:43:35,550 Можете ли имате класу и идентификацију? 933 00:43:35,550 --> 00:43:38,030 >> ХАНА: Да, можете. 934 00:43:38,030 --> 00:43:40,420 Ствари могу имати и класу и личну карту. 935 00:43:40,420 --> 00:43:44,670 И Топло препоручујем тестирање ове сами. 936 00:43:44,670 --> 00:43:50,480 ЦСС научићете најбоље само прављењем нешто, врло једноставна веб страница, 937 00:43:50,480 --> 00:43:53,440 израду неке ЦСС, и само види како су у интеракцији. 938 00:43:53,440 --> 00:43:56,970 А ти ћеш добити врло добар, интуитиван осећај за то како то функционише. 939 00:43:56,970 --> 00:43:58,810 >> Ок, сви добро са ЦСС? 940 00:43:58,810 --> 00:44:01,280 Сви ћете направити беаутифул сајтови са ЦСС сада. 941 00:44:01,280 --> 00:44:05,460 ОК, најбоље праксе, само ствари које морамо имати на уму, ствари 942 00:44:05,460 --> 00:44:09,810 то-- зато што пристанемо ти за дизајнера и ситница. 943 00:44:09,810 --> 00:44:11,820 Дакле затворите све ХТМЛ ознаке. 944 00:44:11,820 --> 00:44:14,840 Дакле, ако имате отворен тело, требало би да постоји близу тело. 945 00:44:14,840 --> 00:44:18,180 Ако имате отворену став, требало би да постоји близак став. 946 00:44:18,180 --> 00:44:19,555 Проверите да ли је ваша страница потврђује. 947 00:44:19,555 --> 00:44:23,330 Ви би требало да буде веома познато са овим из п-сет седам 948 00:44:23,330 --> 00:44:26,350 са ЦС 50 финансија са В3 валидатор. 949 00:44:26,350 --> 00:44:28,340 И као што сам раније рекао, један од наших великих парадигми 950 00:44:28,340 --> 00:44:33,780 се одвајањем свој изглед са ЦСС из вашег добит, што је ХТМЛ. 951 00:44:33,780 --> 00:44:36,900 И онда, наравно, имамо овај велики КСКЦД овде доле. 952 00:44:36,900 --> 00:44:38,280 Ура, Цомиц Релиеф! 953 00:44:38,280 --> 00:44:41,340 >> Ок, ТЦП / ИП. 954 00:44:41,340 --> 00:44:44,650 Између ових и ХТТП, у основи су оба протокола. 955 00:44:44,650 --> 00:44:46,810 Па си могао мислити од њих као скуп правила 956 00:44:46,810 --> 00:44:50,110 да управљају како ствари крећу преко интернета. 957 00:44:50,110 --> 00:44:53,410 Тако контрола пренос протокол, или Интернет протокол, 958 00:44:53,410 --> 00:44:57,280 је само начин да се уверите да подаци добија куда иде 959 00:44:57,280 --> 00:45:00,030 и да знамо да ли се икада недостајућих података. 960 00:45:00,030 --> 00:45:03,520 Дакле, ако ви мислите назад на предавање Пре пар недеља са Давидом 961 00:45:03,520 --> 00:45:06,980 где смо имали четири коверте, они су сви нумерисана као један од четири, 962 00:45:06,980 --> 00:45:11,300 два од четири, три од четири, четири четири, ово је само скуп правила. 963 00:45:11,300 --> 00:45:13,830 Рекли смо, у реду, кад год смо слањем више од једног пакета, 964 00:45:13,830 --> 00:45:16,610 идемо на број она са којим бројем је 965 00:45:16,610 --> 00:45:19,040 и колико укупно да корисник треба да. 966 00:45:19,040 --> 00:45:22,540 >> А ово је само говори ко год прима податке да ли су 967 00:45:22,540 --> 00:45:26,120 су постале све или ако нешто изгубио успут. 968 00:45:26,120 --> 00:45:28,840 И они треба да на то поново. 969 00:45:28,840 --> 00:45:31,140 Ово је стварно само скуп правила. 970 00:45:31,140 --> 00:45:33,650 Тако можете мислити о томе, у реду? 971 00:45:33,650 --> 00:45:37,700 Такође, она наводи порт који ви можеш-- Знам током предавања, 972 00:45:37,700 --> 00:45:39,170 имали су целу листу портова. 973 00:45:39,170 --> 00:45:41,630 Али ми их немате сада овде. 974 00:45:41,630 --> 00:45:45,290 >> Дакле Хипертект Трансфер Протоцол је, опет, то је други протокол. 975 00:45:45,290 --> 00:45:48,630 Дакле, то је још један сет правила да владају, у овом случају, 976 00:45:48,630 --> 00:45:51,130 како хипертекст се преноси. 977 00:45:51,130 --> 00:45:54,340 Тако да само дозвољава бровсера да разговара са веб сервера. 978 00:45:54,340 --> 00:45:56,910 И као што смо овде рекао, то је као људско руковање. 979 00:45:56,910 --> 00:46:00,480 То је само начин да се управља како веб сервер је 980 00:46:00,480 --> 00:46:02,690 ће интеракцију са вашем претраживачу. 981 00:46:02,690 --> 00:46:05,660 А ми имамо само пар примера. 982 00:46:05,660 --> 00:46:09,100 Ми имамо неке захтеве овде где ГЕТ метод. 983 00:46:09,100 --> 00:46:13,760 Имамо ХТТП 1.1, која је Верзија протокол за нас. 984 00:46:13,760 --> 00:46:17,230 А онда, домаћин, који је ста ми заправо покушавате да приступите. 985 00:46:17,230 --> 00:46:21,800 А онда, као што видите овде, ми мало одговор са овим 200 986 00:46:21,800 --> 00:46:25,032 Ок као наш код ХТТП одговор. 987 00:46:25,032 --> 00:46:27,240 Имамо велику листу Идем покупити у једној секунди 988 00:46:27,240 --> 00:46:29,430 да ви треба да буду упознати са. 989 00:46:29,430 --> 00:46:35,750 И ми имамо тај тип садржај тект / хтмл, која само каже која врста података 990 00:46:35,750 --> 00:46:39,990 ми прима са сервера, у реду? 991 00:46:39,990 --> 00:46:44,230 Овај домаћин и ова врста садржаја су део ХТТП заглавља. 992 00:46:44,230 --> 00:46:49,610 Можете их имају врло мало или онолико мало колико неопходне за контексту онога што 993 00:46:49,610 --> 00:46:50,580 имате посла са. 994 00:46:50,580 --> 00:46:53,371 Понекад ћете имати пуно информације које долазе из вашег сервера. 995 00:46:53,371 --> 00:46:56,040 Можда они траже много информација од корисника. 996 00:46:56,040 --> 00:46:57,600 Варира у зависности од контекста. 997 00:46:57,600 --> 00:47:01,144 Ако погледате ЦС 50 Студи, има много више о томе. 998 00:47:01,144 --> 00:47:03,060 Али ми имамо много тога да се кроз, па идем 999 00:47:03,060 --> 00:47:05,760 да само напред ако то је ОК са вама? 1000 00:47:05,760 --> 00:47:07,960 Цоол. 1001 00:47:07,960 --> 00:47:08,460 Држи се. 1002 00:47:08,460 --> 00:47:11,182 Ја дефинитивно имам да Цео списак од-- ха! 1003 00:47:11,182 --> 00:47:13,140 Не знам зашто је то скроз овамо. 1004 00:47:13,140 --> 00:47:15,660 Мислио сам да сам буквално преселила то док сам био ситтинг-- 1005 00:47:15,660 --> 00:47:16,540 >> Давин: Да ли желите да га научи? 1006 00:47:16,540 --> 00:47:17,420 Или хоћеш да га научим? 1007 00:47:17,420 --> 00:47:20,010 >> ПУБЛИКА: Мислио сам да смо могли Само им показати да почне са. 1008 00:47:20,010 --> 00:47:22,210 Мислим, можете отићи у их даље, али ја 1009 00:47:22,210 --> 00:47:26,030 Мислио сам да има више смисла од када сам је само о ХТТП статусима. 1010 00:47:26,030 --> 00:47:28,200 Дакле, ево цела листа. 1011 00:47:28,200 --> 00:47:31,730 Претпостављам шта ће се десити је Давин ће ићи у њих касније. 1012 00:47:31,730 --> 00:47:35,330 Али постоји читав списак, скице укуса да дође. 1013 00:47:35,330 --> 00:47:41,640 У реду, идемо у блов-- ово иде да буде ПХП убрзани курс као ниједно друго. 1014 00:47:41,640 --> 00:47:44,874 >> Дакле ПХП, хипертекст Претпроцесор, то је рекурзиван акроним, 1015 00:47:44,874 --> 00:47:46,540 што значи да је под другачијим именом. 1016 00:47:46,540 --> 00:47:49,050 А онда их је, као, ово нема смисла стварно. 1017 00:47:49,050 --> 00:47:52,210 Тако да су само по имену то-- и то је акроним, 1018 00:47:52,210 --> 00:47:54,840 па они само то ПХП маде хипертекст Претпроцесор, која 1019 00:47:54,840 --> 00:47:55,980 Само нема смисла. 1020 00:47:55,980 --> 00:47:57,714 Забава прича. 1021 00:47:57,714 --> 00:47:58,880 То је програмски језик. 1022 00:47:58,880 --> 00:48:02,360 Дакле колико год сам нагласити да ХТМЛ није програмски језик, 1023 00:48:02,360 --> 00:48:05,350 то је језик за маркирање, ПХП је програмски језик. 1024 00:48:05,350 --> 00:48:07,422 Како знате да је ово јер постоји логика. 1025 00:48:07,422 --> 00:48:08,380 Постоје Кондиционали. 1026 00:48:08,380 --> 00:48:12,750 Имамо променљиве, а ми немају ништа од тих ствари у ХТМЛ. 1027 00:48:12,750 --> 00:48:16,960 >> У реду, онда имамо ово мало битни овде то је као укусом ПХП. 1028 00:48:16,960 --> 00:48:20,510 Дакле основе, називи променљива почети са знаком долара. 1029 00:48:20,510 --> 00:48:21,500 Много људи попут њега. 1030 00:48:21,500 --> 00:48:22,371 Подсећа на нама новца. 1031 00:48:22,371 --> 00:48:22,995 Све је супер. 1032 00:48:22,995 --> 00:48:25,280 Сви ми желимо ПХП. 1033 00:48:25,280 --> 00:48:28,020 Дакле, ми не прецизира Тип више променљиве. 1034 00:48:28,020 --> 00:48:29,995 Утврђено је време извршавања. 1035 00:48:29,995 --> 00:48:32,710 1036 00:48:32,710 --> 00:48:35,890 Тумач ће бити као, Ох, само ћемо пробости, 1037 00:48:35,890 --> 00:48:39,565 а према контексту, Видећемо шта врста типова 1038 00:48:39,565 --> 00:48:41,560 ове променљиве треба да имају. 1039 00:48:41,560 --> 00:48:42,815 Нема главна функција. 1040 00:48:42,815 --> 00:48:43,690 Ствари ће само покренути. 1041 00:48:43,690 --> 00:48:47,851 Ви са Вашим увоза у вашем Последњи П-сет, приметићете ово. 1042 00:48:47,851 --> 00:48:49,350 Није било баш главна функција. 1043 00:48:49,350 --> 00:48:52,070 Само написао ста си хтео да се догоди. 1044 00:48:52,070 --> 00:48:53,280 И то некако догодило. 1045 00:48:53,280 --> 00:48:56,760 Дакле, то је за тебе ПХП. 1046 00:48:56,760 --> 00:48:59,180 >> Низови су веома слични. 1047 00:48:59,180 --> 00:49:01,270 Ми увек имамо ову конзолу. 1048 00:49:01,270 --> 00:49:05,940 Ево, имамо неку променљиву позвао обр, а то је једнако 1049 00:49:05,940 --> 00:49:08,540 да-- имамо наш нормално носач нотација. 1050 00:49:08,540 --> 00:49:10,630 И ми имамо неку кључну вредност. 1051 00:49:10,630 --> 00:49:14,630 И велика разлика између Ц и ПХП низова 1052 00:49:14,630 --> 00:49:19,330 је да можемо да имамо ову ассоциате-- можемо дружити вредности на тастерима. 1053 00:49:19,330 --> 00:49:22,440 Дакле, уместо да само има низ који је индексиран 1054 00:49:22,440 --> 00:49:26,630 по броју или положај те елемент у реду, 1055 00:49:26,630 --> 00:49:29,060 можемо да га повезују са кључем. 1056 00:49:29,060 --> 00:49:36,700 Где можемо рећи, у реду, шта год хоћу вредност повезана са воћа. 1057 00:49:36,700 --> 00:49:39,280 А можда имамо воће отишли ​​у банану. 1058 00:49:39,280 --> 00:49:41,760 Па би се вратили банану нам. 1059 00:49:41,760 --> 00:49:44,100 >> Али у основи, највише моћна ствар о томе 1060 00:49:44,100 --> 00:49:47,960 је да ако ви сећате Демо од предавања где смо у основи 1061 00:49:47,960 --> 00:49:53,050 Ревроте спеллер у ПХП, и то било-- ИП адресу било заиста баш као, 1062 00:49:53,050 --> 00:49:55,007 да ли то кључ постоји? 1063 00:49:55,007 --> 00:49:56,590 То је љубазно од њега моћи. 1064 00:49:56,590 --> 00:49:58,560 Не треба да поновити кроз низ. 1065 00:49:58,560 --> 00:50:00,311 Не треба да знате шта је то простор у. 1066 00:50:00,311 --> 00:50:01,976 То може бити на крају или почетку. 1067 00:50:01,976 --> 00:50:04,790 Докле год знате кључ који је повезан са вредношћу, 1068 00:50:04,790 --> 00:50:09,740 ПХП само да пљују ту вредност враћам се на тебе, у реду? 1069 00:50:09,740 --> 00:50:12,960 >> И онда, ми такође само Имам само зато што смо 1070 00:50:12,960 --> 00:50:16,750 може имати кључне вредност пар не значи да треба да. 1071 00:50:16,750 --> 00:50:19,180 Такође можете само створити нормална низ као овде, 1072 00:50:19,180 --> 00:50:21,540 на дну, где је само један, два, три, четири. 1073 00:50:21,540 --> 00:50:22,510 То су наше вредности. 1074 00:50:22,510 --> 00:50:25,320 И у ствари, њихови тастери су индекси. 1075 00:50:25,320 --> 00:50:26,830 Тако кључ за једну би бити нула. 1076 00:50:26,830 --> 00:50:28,610 Кључ за двоје би био један. 1077 00:50:28,610 --> 00:50:31,910 Тако даље и тако даље, осим ако Ви експлицитно доделите кључ, 1078 00:50:31,910 --> 00:50:34,630 можете претпоставити да вредност није само њихов индекс. 1079 00:50:34,630 --> 00:50:37,290 Да ли то има смисла за све? 1080 00:50:37,290 --> 00:50:38,070 Нема питања? 1081 00:50:38,070 --> 00:50:38,930 Страва. 1082 00:50:38,930 --> 00:50:44,420 >> Ок, Еогеасп је начин да се поновити кроз ваше низова. 1083 00:50:44,420 --> 00:50:47,490 Тако да имамо нешто овде, Само општа структура. 1084 00:50:47,490 --> 00:50:51,020 Дакле фореацх, име наш низ, као год 1085 00:50:51,020 --> 00:50:53,930 желите да позовете једни елемент у вашем низу, 1086 00:50:53,930 --> 00:50:57,270 и можемо да урадимо нешто са тај елемент или са том вредношћу. 1087 00:50:57,270 --> 00:50:58,680 Дакле, имамо овде пример. 1088 00:50:58,680 --> 00:51:05,770 Имамо асоцијативним низ са ове две ставке 1089 00:51:05,770 --> 00:51:10,080 са баром се повезује са фоо и кук се повезује са БАЗ. 1090 00:51:10,080 --> 00:51:12,180 Дакле тастери су Фоо и баз. 1091 00:51:12,180 --> 00:51:13,650 Вредности су бар и кук. 1092 00:51:13,650 --> 00:51:18,560 Дакле фореацх, имамо низ Овде, као кључни вредности пара. 1093 00:51:18,560 --> 00:51:21,560 Ово нам омогућава да приступ како кључ и вредност. 1094 00:51:21,560 --> 00:51:23,680 Можда само желите вредност, у ком случају 1095 00:51:23,680 --> 00:51:27,640 бисте могли да урадите као арр ас $ вредност, а затим вам 1096 00:51:27,640 --> 00:51:30,640 су само приступају вредност као што поновити кроз. 1097 00:51:30,640 --> 00:51:32,600 Али можда, за неке Разлог, хоћеш кључ, 1098 00:51:32,600 --> 00:51:35,460 и зато сам одабрао овај пример уместо. 1099 00:51:35,460 --> 00:51:40,240 Тако да заиста може манипулисати кључ и вредност у овом случају. 1100 00:51:40,240 --> 00:51:41,070 У реду? 1101 00:51:41,070 --> 00:51:41,905 Питање? 1102 00:51:41,905 --> 00:51:44,279 >> ПУБЛИКА: Ако си хтео да Само манипулисати кључ, би 1103 00:51:44,279 --> 00:51:45,910 морате да урадите фореацх-- 1104 00:51:45,910 --> 00:51:47,360 >> Алисон: Тако је. 1105 00:51:47,360 --> 00:51:50,560 Дакле, ако сте желели да манипулисати само кључ, 1106 00:51:50,560 --> 00:51:53,680 ти би и даље треба ово синтакса јер ако вас само 1107 00:51:53,680 --> 00:51:56,930 имају арр као нешто, као прво, то је 1108 00:51:56,930 --> 00:52:00,070 ће претпоставити да желите вредност, не кључ. 1109 00:52:00,070 --> 00:52:06,780 Дакле, ако сте икада само као обр као, можда је ово као $ елемент, 1110 00:52:06,780 --> 00:52:11,670 то ће претпоставити да питате за само у вредности сваке тачке. 1111 00:52:11,670 --> 00:52:13,879 Ако желите да експлицитно учини нешто са кључем, 1112 00:52:13,879 --> 00:52:16,170 чак и ако не идеш на ништа са вредношћу, 1113 00:52:16,170 --> 00:52:18,430 Потребан вам је ову структуру да ми овде имамо 1114 00:52:18,430 --> 00:52:22,330 где сте експлицитно питате и за кључ и вредности. 1115 00:52:22,330 --> 00:52:24,170 Велики питање. 1116 00:52:24,170 --> 00:52:25,940 Још нешто? 1117 00:52:25,940 --> 00:52:27,490 Цоол. 1118 00:52:27,490 --> 00:52:29,911 >> У реду, ПХП и ХТМЛ. 1119 00:52:29,911 --> 00:52:31,410 О, вратили смо се п-сет седам опет. 1120 00:52:31,410 --> 00:52:35,380 Дакле, ово би требало да изгледа мало познато. 1121 00:52:35,380 --> 00:52:41,760 Дакле, ово је нека једноставна ХТМЛ форма да има улазну име поздрав. 1122 00:52:41,760 --> 00:52:43,820 И ми видимо имамо метод ГЕТ. 1123 00:52:43,820 --> 00:52:47,430 А ако се сетимо од наших п-сет, када се подноси овај облик, 1124 00:52:47,430 --> 00:52:58,130 она шаље низ називом $ _ ГЕТ да има сви ови улаза или варијабле из 1125 00:52:58,130 --> 00:53:00,490 облик који би требало да буде манипулисати у нашем ПХП. 1126 00:53:00,490 --> 00:53:03,320 Дакле у овом случају, корисник би ставио у њихово име. 1127 00:53:03,320 --> 00:53:04,370 Они то субмит. 1128 00:53:04,370 --> 00:53:07,810 И видимо да смо се мало низ овде. 1129 00:53:07,810 --> 00:53:09,080 Ми имамо ГЕТ низ. 1130 00:53:09,080 --> 00:53:11,510 И ми приступају име. 1131 00:53:11,510 --> 00:53:15,070 >> Тако да каже, у реду, дај ми вредност која је повезана са именом, 1132 00:53:15,070 --> 00:53:16,550 име буде кључ овде. 1133 00:53:16,550 --> 00:53:21,400 И то мапс директно на оно што ми је рекао наш улаз име је. 1134 00:53:21,400 --> 00:53:28,960 Дакле, ово је ти дајем кључ шта ће бити у вашем низу овде. 1135 00:53:28,960 --> 00:53:31,220 Да ли то има смисла за све? 1136 00:53:31,220 --> 00:53:32,070 Да? 1137 00:53:32,070 --> 00:53:36,240 >> ПУБЛИКА: Да ли име у ГЕТ односе на пурпурне линије у [неразумљиво]? 1138 00:53:36,240 --> 00:53:37,740 >> Алисон: Односи се ово овде. 1139 00:53:37,740 --> 00:53:43,840 Дакле ово поље овде, то се односи на ово име овде. 1140 00:53:43,840 --> 00:53:47,800 Дакле, ово би могао бити назван као телефонски број, или шта год. 1141 00:53:47,800 --> 00:53:51,790 Ово име заправо каже, шта зовеш ову област? 1142 00:53:51,790 --> 00:53:53,600 Како ћеш односе на ову област? 1143 00:53:53,600 --> 00:53:57,670 И ово име је заправо воле, ми смо рекавши ово поље се зове име. 1144 00:53:57,670 --> 00:53:59,224 Тако ћемо да јој приступе. 1145 00:53:59,224 --> 00:54:02,070 >> ПУБЛИКА: Тако је то изгледало, улаз име једнако Боб, и-- 1146 00:54:02,070 --> 00:54:04,380 >> Алисон: Добро, онда ти би добили Боба доле. 1147 00:54:04,380 --> 00:54:06,090 Тачно. 1148 00:54:06,090 --> 00:54:07,800 Свако кул? 1149 00:54:07,800 --> 00:54:10,990 У реду, тако ГЕТ против ПОСТ, то су два главна начина 1150 00:54:10,990 --> 00:54:14,880 да пролазимо податке у ХТТП захтев. 1151 00:54:14,880 --> 00:54:17,370 Ви треба да су видели обе ове надамо. 1152 00:54:17,370 --> 00:54:20,940 Дакле са ГЕТ, информације је прошао кроз УРЛ. 1153 00:54:20,940 --> 00:54:23,490 Дакле, ако сте икада урадите Гоогле претраживања, ИоуТубе, ви ћете 1154 00:54:23,490 --> 00:54:25,130 Вероватно приметити неку знак питања. 1155 00:54:25,130 --> 00:54:28,230 А онда, све речи да сте само стави унутра. 1156 00:54:28,230 --> 00:54:31,410 И ПОСЛЕ пролази податке у ХТТП тело поруке. 1157 00:54:31,410 --> 00:54:36,922 Па за разлику од ГЕТ, ви некако размотрити да се подаци скривен од корисника. 1158 00:54:36,922 --> 00:54:38,630 Али оно што је стварно важно разумети 1159 00:54:38,630 --> 00:54:44,040 да је ово још увек баш као несигурна као ГЕТ. 1160 00:54:44,040 --> 00:54:48,780 Аналогија волим да користим је ако имате број банковног рачуна 1161 00:54:48,780 --> 00:54:52,795 и ти то писати на спољашњој страни коверта, то је прилично несигурно. 1162 00:54:52,795 --> 00:54:55,920 Ако сте били да се пише по комаду папир и ставите га у коверту, 1163 00:54:55,920 --> 00:54:58,850 то је још увек јако несигурно јер све што треба да урадите је да се отвори 1164 00:54:58,850 --> 00:55:03,480 и погледате тренутни садржај поруке да видим. 1165 00:55:03,480 --> 00:55:08,310 Дакле, ово је "скривена", а људи воле да Мислим да је сигуран, али то заиста није. 1166 00:55:08,310 --> 00:55:11,000 И сигуран сам да ће Давин улазимо у то више, можда. 1167 00:55:11,000 --> 00:55:12,850 Али то је важно разлика да 1168 00:55:12,850 --> 00:55:15,820 и нешто заиста добро да разуме. 1169 00:55:15,820 --> 00:55:19,220 >> Ок, СКЛ, Струцтуред Куери Лангуаге. 1170 00:55:19,220 --> 00:55:22,220 Све ствари које видели смо толико недавно! 1171 00:55:22,220 --> 00:55:25,400 Дакле, то је у основи само дизајниран, Очигледно, за управљање подацима. 1172 00:55:25,400 --> 00:55:30,560 Момци су имали доста искуства са ово у вашим столова са ПХП МиАдмин. 1173 00:55:30,560 --> 00:55:34,100 А ту су и четири заједничке упити да желимо да знате. 1174 00:55:34,100 --> 00:55:37,304 Тако да обнова, уметак, изаберите, и избрисати. 1175 00:55:37,304 --> 00:55:38,970 Зато пазите да знате оне стварно добро. 1176 00:55:38,970 --> 00:55:40,960 Идемо у го кроз њих јако брзо. 1177 00:55:40,960 --> 00:55:44,340 >> Дакле упдате, заиста, као што можда мислим да јесте, 1178 00:55:44,340 --> 00:55:46,740 то само ажурира податке у бази података. 1179 00:55:46,740 --> 00:55:48,750 Дакле, имамо овде мало примјер. 1180 00:55:48,750 --> 00:55:53,310 Ово је општи Структура пропитивање. 1181 00:55:53,310 --> 00:55:56,150 Тако смо ажурирали табелу да говоримо о. 1182 00:55:56,150 --> 00:56:00,520 И ми желимо да подесите одређени вредности, одређене колоне 1183 00:56:00,520 --> 00:56:02,600 једнака понуђене вредности. 1184 00:56:02,600 --> 00:56:07,500 Дакле, ово само ажурира табелу, мења вредности у свим редовима у овом случају. 1185 00:56:07,500 --> 00:56:13,690 Дакле, у овом једном овде, стварна Пример, имамо инсерт-- жао. 1186 00:56:13,690 --> 00:56:17,630 То слајд адванцед без мене то не схватају. 1187 00:56:17,630 --> 00:56:22,230 >> Дакле, ово сто исправке сет кол1 једнака да ВАЛ1 где кућа једнако "Цурриер." 1188 00:56:22,230 --> 00:56:25,300 Шта ово један ради је то само мења, она само 1189 00:56:25,300 --> 00:56:28,130 ажурира ових вредности у одређеним местима. 1190 00:56:28,130 --> 00:56:32,300 Дакле, у овом првом, мења ово вредности за све у оквиру својих табели, 1191 00:56:32,300 --> 00:56:32,860 У реду? 1192 00:56:32,860 --> 00:56:35,820 То се неце променити ово колона за сваки појединачни улазак, 1193 00:56:35,820 --> 00:56:37,020 за сваку ред. 1194 00:56:37,020 --> 00:56:40,840 Али то где, можеш мислите о томе као квалификант. 1195 00:56:40,840 --> 00:56:44,020 Тако да ће само да се промени она у веома специфичним местима. 1196 00:56:44,020 --> 00:56:47,840 Дакле, у п-сет седам, када вас мозда упдатед количину готовине 1197 00:56:47,840 --> 00:56:53,050 да је ваш кориснички имао, вероватно имали неки где ИД једнако ИД сесије, зар не? 1198 00:56:53,050 --> 00:56:55,280 >> Јер ниси хтео да промените износ готовине 1199 00:56:55,280 --> 00:56:57,630 за сваку особу која је користио свој сајт. 1200 00:56:57,630 --> 00:57:00,480 Хтео си да га промените за један нека особа, та особа је 1201 00:57:00,480 --> 00:57:02,410 ко год је био да га користите у то време. 1202 00:57:02,410 --> 00:57:04,320 Зар не? 1203 00:57:04,320 --> 00:57:07,510 Ок, па убаците, уметак одређене вредности у табелама. 1204 00:57:07,510 --> 00:57:11,650 Ово је као кад си стварање потпуно новог корисника. 1205 00:57:11,650 --> 00:57:14,240 Општа структура овде се убаците у било сто 1206 00:57:14,240 --> 00:57:15,680 говоримо о. 1207 00:57:15,680 --> 00:57:18,910 Вредности, битак вредности које ми заправо желимо да убаците. 1208 00:57:18,910 --> 00:57:23,060 Ок, како видимо овде, ми су убацили у табели. 1209 00:57:23,060 --> 00:57:27,790 Ово је специфична колоне са њихови кореспондира вредности. 1210 00:57:27,790 --> 00:57:29,940 Дакле, ово каже, убаци Нови ред садржи 1211 00:57:29,940 --> 00:57:33,660 Вредности вал1 и вал2 под ови посебни колоне. 1212 00:57:33,660 --> 00:57:39,240 >> Па можда желите само да попуните од половине ствари у овом реду. 1213 00:57:39,240 --> 00:57:41,150 То је оно што овај део овде вам омогућава да урадите. 1214 00:57:41,150 --> 00:57:43,280 То вам омогућава заправо одредити који део. 1215 00:57:43,280 --> 00:57:44,244 Да? 1216 00:57:44,244 --> 00:57:52,150 >> ПУБЛИКА: Можете ли само [неразумљиво] ћелија у низу [неразумљиво]? 1217 00:57:52,150 --> 00:57:55,000 >> Алисон: Ако само попуните поједини делови вашег ред, 1218 00:57:55,000 --> 00:57:57,480 остатак тих ћелија су само празне. 1219 00:57:57,480 --> 00:58:02,730 1220 00:58:02,730 --> 00:58:05,660 Све док их дозволити да бити празан, то није проблем. 1221 00:58:05,660 --> 00:58:09,570 Ако покушате да им приступите, то је ће вратити неке празне елемент. 1222 00:58:09,570 --> 00:58:13,850 Али важно је да се зна да у неким табелама, 1223 00:58:13,850 --> 00:58:16,690 они морају бити дозвољено да буде нула. 1224 00:58:16,690 --> 00:58:18,890 Можда сте налетео на Проблем током п-сет 1225 00:58:18,890 --> 00:58:21,320 јер ми нису дали од ваше вредности бити нулл. 1226 00:58:21,320 --> 00:58:26,110 Али можете да одредите опционо вредност у вашем столу. 1227 00:58:26,110 --> 00:58:29,640 >> Ок, изаберите, па ово је само начин да се 1228 00:58:29,640 --> 00:58:33,790 специфични подаци из табеле на неки идентификатор који желите. 1229 00:58:33,790 --> 00:58:37,990 Дакле изаберите звезда од стола где цол једнако нешто само значи, 1230 00:58:37,990 --> 00:58:43,820 дај ми све податке везане где је овај специфичан колона је истина. 1231 00:58:43,820 --> 00:58:49,020 Дакле звезда у овом случају ће врати читав ред да вас, у реду? 1232 00:58:49,020 --> 00:58:54,880 >> А онда, у овом случају, изаберите звезда из сто само вам даје целу табелу. 1233 00:58:54,880 --> 00:58:58,940 А онда, избрисати очигледно, само брише ред са стола. 1234 00:58:58,940 --> 00:59:01,320 Дакле делете од стола, шта год сто смо 1235 00:59:01,320 --> 00:59:06,830 упућује, где су неки специфични идентификатор или неки услов је истина. 1236 00:59:06,830 --> 00:59:07,720 Да? 1237 00:59:07,720 --> 00:59:08,700 >> ПУБЛИКА: Питање. 1238 00:59:08,700 --> 00:59:10,699 Зашто користите двоструко цитати, и да ли вас 1239 00:59:10,699 --> 00:59:13,600 урадите наводнике или сингл цитати, да ли то нешто променити? 1240 00:59:13,600 --> 00:59:18,235 >> Алисон: Двоструки наводници или појединачни цитати не прави разлику у СКЛ. 1241 00:59:18,235 --> 00:59:19,610 Мислим да сам видео још једно питање. 1242 00:59:19,610 --> 00:59:20,814 Да? 1243 00:59:20,814 --> 00:59:25,070 >> ПУБЛИКА: Зар не утиче шта бива побегао из упита? 1244 00:59:25,070 --> 00:59:27,945 >> Алисон: Роб? 1245 00:59:27,945 --> 00:59:31,410 >> РОБ: Шта мислите под побегао из упита? 1246 00:59:31,410 --> 00:59:36,870 >> ПУБЛИКА: Ако неко има сингл питање у облику од-- 1247 00:59:36,870 --> 00:59:39,862 >> РОБ: Ако би неко стави само један цитат у, 1248 00:59:39,862 --> 00:59:43,560 онда док сте санитизинг Ваш унос, онда није битно. 1249 00:59:43,560 --> 00:59:46,205 Али ако користите један цитат и ви сте погрешно 1250 00:59:46,205 --> 00:59:47,914 побегне ваше уносе, онда да, они треба 1251 00:59:47,914 --> 00:59:51,079 ставити само један цитат како би се прекинуо Ваш код. ако користите двоструки наводници, 1252 00:59:51,079 --> 00:59:53,580 они треба да ставе дупло цитирам разбити свој код. 1253 00:59:53,580 --> 00:59:56,163 Али докле год ти да побегнеш ствари правилно, то није битно. 1254 00:59:56,163 --> 00:59:59,220 Само ће превести на исправни симбол ионако. 1255 00:59:59,220 --> 01:00:02,332 >> ПУБЛИКА: Шта значи бекство? 1256 01:00:02,332 --> 01:00:04,040 Алисон: Па, као санирање и бекство. 1257 01:00:04,040 --> 01:00:06,810 1258 01:00:06,810 --> 01:00:13,820 Испит да имамо, велики КСКЦД стрип да подигне где имате, 1259 01:00:13,820 --> 01:00:15,629 Ох-- 1260 01:00:15,629 --> 01:00:16,670 РОБ: То је последњи слајд. 1261 01:00:16,670 --> 01:00:18,500 Алисон: То је последњи слајд, стварно? 1262 01:00:18,500 --> 01:00:20,200 Ох ми год. 1263 01:00:20,200 --> 01:00:21,780 Ево нас, савршено. 1264 01:00:21,780 --> 01:00:27,900 Ок, па у основи, можете ињецт нешто у том СКЛ упита 1265 01:00:27,900 --> 01:00:30,560 где се ломи твој код, или као Дејвид је показао 1266 01:00:30,560 --> 01:00:38,460 у класи, ако имамо неке сингл цитирај 1 једнак 1 и ако у нашем коду, 1267 01:00:38,460 --> 01:00:41,230 управо смо директно цопи то у, и имамо крајњу ниједан цитат, 1268 01:00:41,230 --> 01:00:44,740 оно што се дешава је добијамо неки израз који 1269 01:00:44,740 --> 01:00:48,680 оцењује да тачно да ће нека неко ући у нашу базу података 1270 01:00:48,680 --> 01:00:51,720 и добити податке које смо не желим да се. 1271 01:00:51,720 --> 01:00:54,240 Дакле санитизинг инпута само значи пазећи 1272 01:00:54,240 --> 01:00:57,680 да смо беже ово ликови и да их одреди 1273 01:00:57,680 --> 01:01:01,720 као карактера и нису ствари које треба дозволити 1274 01:01:01,720 --> 01:01:04,990 треба схватити дословно као наш СКЛ наредби. 1275 01:01:04,990 --> 01:01:09,980 >> Тако велика ствар што смо рекли да ви треба да буде користећи 1276 01:01:09,980 --> 01:01:13,650 били ХТМЛ специјални карактера, која је нешто 1277 01:01:13,650 --> 01:01:15,730 да би желите да погледате. 1278 01:01:15,730 --> 01:01:17,240 Ок, делете. 1279 01:01:17,240 --> 01:01:19,450 Типови података, то ће све бити на мрежи. 1280 01:01:19,450 --> 01:01:23,510 Пошто смо 15 минута, ја сам Само ће ићи кроз ово. 1281 01:01:23,510 --> 01:01:28,500 ПХП и СКЛ, у основи то је Управо смо имали функцију да упита 1282 01:01:28,500 --> 01:01:31,520 помогла у заштити од ови злонамерни напади. 1283 01:01:31,520 --> 01:01:33,970 Дакле, кад год користите упит, ми смо водећи рачуна 1284 01:01:33,970 --> 01:01:36,560 да су се ствари санитизед и шта све не. 1285 01:01:36,560 --> 01:01:41,070 >> ДСЦ је само парадигма дизајн, тако модели, поглед, контролер. 1286 01:01:41,070 --> 01:01:44,200 То је само начин да се ствари лепо и разишли на исти начин 1287 01:01:44,200 --> 01:01:47,100 да смо склони да фактор од кода у функцијама. 1288 01:01:47,100 --> 01:01:53,390 Ово је само веб дизајн оквир који вам омогућава да уради исту ствар. 1289 01:01:53,390 --> 01:01:54,760 Идем да прескочите ово. 1290 01:01:54,760 --> 01:01:58,530 >> Ово је нешто што сам било би супер навикао. 1291 01:01:58,530 --> 01:02:01,132 То је велика мало сто тамо. 1292 01:02:01,132 --> 01:02:03,090 То вам даје функцију Пример модела. 1293 01:02:03,090 --> 01:02:05,473 Само ћу кроз ово зато што Стварно желим да Давин моћи да разговарамо. 1294 01:02:05,473 --> 01:02:07,140 Ако имате било каквих питања, слободно. 1295 01:02:07,140 --> 01:02:07,931 Ја ћу бити овде после. 1296 01:02:07,931 --> 01:02:10,360 Само то да разговара са мном. 1297 01:02:10,360 --> 01:02:13,380 Уз то, имамо ХТТП статусе. 1298 01:02:13,380 --> 01:02:16,270 И Давин иде експлодирати кроз ово за 15 минута. 1299 01:02:16,270 --> 01:02:17,560 Ово ће бити супер. 1300 01:02:17,560 --> 01:02:18,893 >> Давин: У реду. 1301 01:02:18,893 --> 01:02:20,312 Ух, твој микрофон? 1302 01:02:20,312 --> 01:02:22,210 Да. 1303 01:02:22,210 --> 01:02:23,336 Извините. 1304 01:02:23,336 --> 01:02:24,460 Алисон: Пут да се припреми. 1305 01:02:24,460 --> 01:02:25,335 Давин: Не, ја сам спреман. 1306 01:02:25,335 --> 01:02:25,860 Спреман сам. 1307 01:02:25,860 --> 01:02:28,790 Хајде да урадимо ово. 1308 01:02:28,790 --> 01:02:29,290 То је спреман. 1309 01:02:29,290 --> 01:02:30,041 У реду. 1310 01:02:30,041 --> 01:02:30,540 Извините. 1311 01:02:30,540 --> 01:02:31,664 Ја просуо кафу на себе. 1312 01:02:31,664 --> 01:02:36,037 1313 01:02:36,037 --> 01:02:38,210 Ја не знам да ли сам више узнемирило да изгледам глупо, 1314 01:02:38,210 --> 01:02:40,600 или да ја више немам кафу. 1315 01:02:40,600 --> 01:02:44,480 У сваком случају, само брзо најава о стања момци имају. 1316 01:02:44,480 --> 01:02:47,994 Дакле, ово што ви имате, лист није званичник шта је на квизу. 1317 01:02:47,994 --> 01:02:49,660 Ово је званична шта је на квизу. 1318 01:02:49,660 --> 01:02:52,520 Такође, на сајту, ми реците ви, у реду, то ће бити на квизу. 1319 01:02:52,520 --> 01:02:55,020 Дакле, у малој Цхеат Схеет имате, не званичник. 1320 01:02:55,020 --> 01:02:56,690 А ту су и грешке на њему. 1321 01:02:56,690 --> 01:03:01,490 Тако себе да не само слепо га користе. 1322 01:03:01,490 --> 01:03:04,390 Тако да, то је то. 1323 01:03:04,390 --> 01:03:05,980 Па хајде да у овом веома брзо. 1324 01:03:05,980 --> 01:03:07,420 >> Дакле ХТТП статуси. 1325 01:03:07,420 --> 01:03:10,430 Шта се дешава када сајт, све је у реду. 1326 01:03:10,430 --> 01:03:11,144 Све је у реду. 1327 01:03:11,144 --> 01:03:13,310 Све се враћа сте како сте желели да. 1328 01:03:13,310 --> 01:03:15,370 Добијате 200 ОК. 1329 01:03:15,370 --> 01:03:19,250 301, где смо видели да 301 раније? 1330 01:03:19,250 --> 01:03:20,890 Чекај, шта има? 1331 01:03:20,890 --> 01:03:23,250 Извините. 1332 01:03:23,250 --> 01:03:24,980 Видели смо и лимени предавање током безбедности. 1333 01:03:24,980 --> 01:03:30,690 Дакле током безбедности, па ако Дејвид откуца хттп а затим покушао да оде у цс50.нет, 1334 01:03:30,690 --> 01:03:31,940 Ви ћете видети 301 преселили. 1335 01:03:31,940 --> 01:03:32,440 Зашто? 1336 01:03:32,440 --> 01:03:35,570 Зато што ће преусмерити ви аутоматски нашем ХТТПС. 1337 01:03:35,570 --> 01:03:38,649 >> Дакле 301 преселио, само то је основи преусмеравање. 1338 01:03:38,649 --> 01:03:40,190 А можете мислити о томе овако. 1339 01:03:40,190 --> 01:03:43,790 Било која од статуса који почињу са 2-их, они су као, у реду, све је ОК. 1340 01:03:43,790 --> 01:03:46,530 Било која од статуса који почињу са 3, то су преусмеравање. 1341 01:03:46,530 --> 01:03:49,571 Статуси који почињу са 4, то значи постоји нека врста грешке клијента. 1342 01:03:49,571 --> 01:03:52,440 Статуси који почињу са 5, То је нека врста сервера грешке. 1343 01:03:52,440 --> 01:03:54,680 Тако да некако раскинули су статуси тако. 1344 01:03:54,680 --> 01:03:59,120 Дакле 304 не не модификовани, тако у вашем сервер.ц п-вртове, па хајде да те кажем 1345 01:03:59,120 --> 01:04:00,600 лоадед цат.хтмл. 1346 01:04:00,600 --> 01:04:03,360 Све се враћа, добијате 200с, ОК, супер. 1347 01:04:03,360 --> 01:04:04,540 >> Рецимо да је освежио. 1348 01:04:04,540 --> 01:04:07,310 Па, унутра да цат.хтмл, имате ЈПЕГ. 1349 01:04:07,310 --> 01:04:09,520 Па, то није ЈПЕГ ће се поново учита. 1350 01:04:09,520 --> 01:04:12,140 Не идеш да поставите други ГЕТ захтев на сервер, 1351 01:04:12,140 --> 01:04:13,980 и онда се све те информације назад. 1352 01:04:13,980 --> 01:04:17,560 То ће само бити-- да слика није ће бити сачуване на вашем рачунару. 1353 01:04:17,560 --> 01:04:19,540 И тако да слика ће бити 304. 1354 01:04:19,540 --> 01:04:20,720 Тако да то није измењена. 1355 01:04:20,720 --> 01:04:24,600 Ако се постепено гасити, јасно колачићи, а затим освежите 1356 01:04:24,600 --> 01:04:27,490 и покушати да учита ту страницу Опет, ви ћете видети 200С. 1357 01:04:27,490 --> 01:04:28,910 Не идеш да видим тај 304. 1358 01:04:28,910 --> 01:04:32,340 >> 400, лоше захтев, реални брзо, као да вас 1359 01:04:32,340 --> 01:04:34,880 ишли за слање ЈСОН објекат на сервер 1360 01:04:34,880 --> 01:04:38,090 и ваша ЈСОН објекат је био нетачан, видећете нешто слично. 1361 01:04:38,090 --> 01:04:39,000 403, забрањено. 1362 01:04:39,000 --> 01:04:40,330 Када би сте видели забрањено? 1363 01:04:40,330 --> 01:04:41,394 Вероватно Вероватно? 1364 01:04:41,394 --> 01:04:42,060 ПУБЛИКА: Промена дозвола. 1365 01:04:42,060 --> 01:04:42,950 Давин: Промена дозвола, да. 1366 01:04:42,950 --> 01:04:44,730 Значи нисте поставили Дозволе исправно. 1367 01:04:44,730 --> 01:04:45,577 404, није пронађен. 1368 01:04:45,577 --> 01:04:46,410 То једноставно није било. 1369 01:04:46,410 --> 01:04:48,670 Дакле, ако откуцате у погрешном УРЛ. 1370 01:04:48,670 --> 01:04:53,500 500, Интернал Сервер Еррор, сервера Вероватно није исправно подешен. 1371 01:04:53,500 --> 01:04:56,260 Нешто није у вашем крају, али нешто на страни сервера. 1372 01:04:56,260 --> 01:04:57,240 И 503? 1373 01:04:57,240 --> 01:04:59,502 Много људи видели 503с у последњем сету. П- 1374 01:04:59,502 --> 01:05:00,460 Када би се то десило? 1375 01:05:00,460 --> 01:05:04,180 1376 01:05:04,180 --> 01:05:05,660 Чуо сам шапат. 1377 01:05:05,660 --> 01:05:07,767 >> ПУБЛИКА: Кад Гоогле одлучи да си робот. 1378 01:05:07,767 --> 01:05:10,350 Давин: Да, када је Гоогле одлучи ти си робот, добијате 503с. 1379 01:05:10,350 --> 01:05:11,560 Дакле, то је преоптерећења. 1380 01:05:11,560 --> 01:05:14,620 Ако сте тражили са сервера превише, то је обично привремено. 1381 01:05:14,620 --> 01:05:15,560 И већина вас то приметио. 1382 01:05:15,560 --> 01:05:16,185 Дакле, видели сте 503. 1383 01:05:16,185 --> 01:05:19,282 Можда сте мало узети Пауза, онда 503с отишао, 1384 01:05:19,282 --> 01:05:20,490 и све је било у реду. 1385 01:05:20,490 --> 01:05:26,640 >> ГАБЕ: Реал брзо, када се ви добити 500 у вероватно ово последњи проблем сет? 1386 01:05:26,640 --> 01:05:27,954 Да? 1387 01:05:27,954 --> 01:05:30,906 >> ПУБЛИКА: Обично ако сервер има датотеку загубљен 1388 01:05:30,906 --> 01:05:34,650 или [неразумљиво] њиховог Машина [неразумљиво]. 1389 01:05:34,650 --> 01:05:38,870 >> ГАБЕ: Па можда је конфигурација питање у вашем ПХП на вашем серверу. 1390 01:05:38,870 --> 01:05:42,250 Али можда је баш нешто као и зарезом да је ваш заборавило. 1391 01:05:42,250 --> 01:05:44,130 Ако куцате ПХП, нека нетачна синтакса 1392 01:05:44,130 --> 01:05:46,000 Можда ти тако нешто. 1393 01:05:46,000 --> 01:05:46,960 У реду? 1394 01:05:46,960 --> 01:05:48,610 >> Давин: Кул. 1395 01:05:48,610 --> 01:05:51,180 Да ли желиш да урадим само до АЈАКС? 1396 01:05:51,180 --> 01:05:52,950 >> ГАБЕ: [неразумљиво]. 1397 01:05:52,950 --> 01:05:53,450 Давин: У реду. 1398 01:05:53,450 --> 01:05:54,230 Па шта је ДОМ? 1399 01:05:54,230 --> 01:05:55,290 Шта ДОМ станд фор? 1400 01:05:55,290 --> 01:05:56,990 >> ПУБЛИКА: Доцумент Објецт Модел. 1401 01:05:56,990 --> 01:05:57,490 Давин: Лепо. 1402 01:05:57,490 --> 01:06:00,775 И зашто ми се свиђа? 1403 01:06:00,775 --> 01:06:02,670 Страва. 1404 01:06:02,670 --> 01:06:06,651 Право, па њега само нам омогућава да приступ ХТМЛ, приступ нашој страници веома брзо. 1405 01:06:06,651 --> 01:06:07,150 Зашто? 1406 01:06:07,150 --> 01:06:09,980 Јер смо лечење наше страна, лечење наше ХТМЛ ознаке, 1407 01:06:09,980 --> 01:06:11,730 све лечење као да су објекте. 1408 01:06:11,730 --> 01:06:13,710 Ако смо их третирају као да су објекти, онда шта да радимо? 1409 01:06:13,710 --> 01:06:15,210 Па, можемо назвати функције њих. 1410 01:06:15,210 --> 01:06:16,460 И ово је важно зашто? 1411 01:06:16,460 --> 01:06:19,200 Па, зато што идемо користити Скрипта да би сте ажурирати наш ХТМЛ, 1412 01:06:19,200 --> 01:06:20,500 ажурирати ове објекте. 1413 01:06:20,500 --> 01:06:23,869 Дакле, ако смо их третирамо као објекти, онда можемо назвати функције њих. 1414 01:06:23,869 --> 01:06:26,660 Идем да уђу у ово мало више када одем у ЈаваСцрипт, 1415 01:06:26,660 --> 01:06:30,510 али сви смо видели као доцумент.гетЕлементБиИд. 1416 01:06:30,510 --> 01:06:32,870 Дакле документ је твој елеменат, гет елемент по ИД, 1417 01:06:32,870 --> 01:06:35,087 тако да ћемо да погледамо за неке ИД у ХТМЛ таг. 1418 01:06:35,087 --> 01:06:36,920 А онда, можете да урадите нешто друго на то. 1419 01:06:36,920 --> 01:06:40,089 На пример, као доцумент.боди, онда можете додати дете. 1420 01:06:40,089 --> 01:06:41,630 Значи да ћеш наћи тај документ. 1421 01:06:41,630 --> 01:06:42,340 Имате документ. 1422 01:06:42,340 --> 01:06:43,629 Идеш да пронађу тело. 1423 01:06:43,629 --> 01:06:44,420 Нашао си тело. 1424 01:06:44,420 --> 01:06:46,545 А онда, ти ћеш позовите неку функцију на њему. 1425 01:06:46,545 --> 01:06:50,312 Дакле аппенд дете, а можете додати неки ХТМЛ на крају унутар вашег тела. 1426 01:06:50,312 --> 01:06:52,520 Дакле, у основи, само си третирате као објекат. 1427 01:06:52,520 --> 01:06:54,515 Ти лечење ХТМЛ ознаке попут неког објекта. 1428 01:06:54,515 --> 01:06:57,071 И то га чини врло лако и брзо проћи кроз њих. 1429 01:06:57,071 --> 01:06:59,070 Али ти омогућава позвати функције њих 1430 01:06:59,070 --> 01:07:04,410 тако да можете манипулисати и мењају елементе. 1431 01:07:04,410 --> 01:07:10,162 >> ГАБЕ: Имајући у виду ову, зашто је ЈаваСцрипт таква лепо језик за интеракцију са ХТМЛ? 1432 01:07:10,162 --> 01:07:12,870 Шансе су, када су људи одабиру језик за бровсер, 1433 01:07:12,870 --> 01:07:14,990 за клијента, ЈаваСцрипт је стварно лепо, 1434 01:07:14,990 --> 01:07:16,765 стварно је добар у руковање предметима. 1435 01:07:16,765 --> 01:07:20,620 А објекти су некако волим предмети који се појављују у ХТМЛ, 1436 01:07:20,620 --> 01:07:23,940 тако да је врло лако за ЈаваСцрипт да раде такве руковања. 1437 01:07:23,940 --> 01:07:24,440 Давин: Лепо. 1438 01:07:24,440 --> 01:07:25,670 Дакле овде је само један пример. 1439 01:07:25,670 --> 01:07:29,020 Тако да мислим на прошлогодишњем квизу, или можда пре две године, ми 1440 01:07:29,020 --> 01:07:30,840 питао вас да креира стабло. 1441 01:07:30,840 --> 01:07:32,660 Дакле, ово је управо оно што би урадио. 1442 01:07:32,660 --> 01:07:34,255 Тако да почне са документом. 1443 01:07:34,255 --> 01:07:36,130 А онда сте у основи само погледајте тагова. 1444 01:07:36,130 --> 01:07:38,100 Дакле, ако се осврнемо, ми почети са ХТМЛ таг. 1445 01:07:38,100 --> 01:07:41,660 А онда, добијате трагове о томе како да ово на основу увлачења. 1446 01:07:41,660 --> 01:07:43,870 Тако шеф некако се грана. 1447 01:07:43,870 --> 01:07:46,242 Унутра глави, имамо друга ознака за титулу. 1448 01:07:46,242 --> 01:07:47,450 Тако онда, имамо титле таг. 1449 01:07:47,450 --> 01:07:49,760 А унутра да, имамо неку жицу. 1450 01:07:49,760 --> 01:07:52,210 И тако ми представљамо стринг у круг. 1451 01:07:52,210 --> 01:07:54,010 И сви су ознаке у трговима. 1452 01:07:54,010 --> 01:07:56,270 >> А ако погледате, ако смо ми мисли о овоме као дрво, 1453 01:07:56,270 --> 01:07:58,730 и рецимо да је ХТМЛ родитељ, онда главе и тела 1454 01:07:58,730 --> 01:07:59,772 ће бити браћа и сестре. 1455 01:07:59,772 --> 01:08:01,813 Они се и бити деца у том родитеља. 1456 01:08:01,813 --> 01:08:03,620 Значи зато што су оба браћа и сестре, они су 1457 01:08:03,620 --> 01:08:06,590 Биће некако поред једни другима у нашем моделу стабла. 1458 01:08:06,590 --> 01:08:08,590 А онда, у основи уради исту ствар. 1459 01:08:08,590 --> 01:08:13,512 Дакле није тешко, али ми смо питали Питања као ово на квизу. 1460 01:08:13,512 --> 01:08:15,220 ГАБЕ: Да ли ико Имам питања до сада? 1461 01:08:15,220 --> 01:08:16,357 Да ли је добро? 1462 01:08:16,357 --> 01:08:16,856 Давин: Кул. 1463 01:08:16,856 --> 01:08:19,630 1464 01:08:19,630 --> 01:08:21,600 ЈаваСцрипт, ОК, добра ствар. 1465 01:08:21,600 --> 01:08:24,069 Дакле ЈаваСцрипт, шта је ЈаваСцрипт? 1466 01:08:24,069 --> 01:08:28,370 Па, то је ЈаваСцрипт је-- компликовано, али они 1467 01:08:28,370 --> 01:08:30,727 су неке од најважнијих догађаја да треба да имате на уму. 1468 01:08:30,727 --> 01:08:31,810 Прво, то је лабаво откуца. 1469 01:08:31,810 --> 01:08:33,529 Шта то значи? 1470 01:08:33,529 --> 01:08:35,596 Дакле ПХП био-- да, шта има? 1471 01:08:35,596 --> 01:08:39,854 >> ПУБЛИКА: Не морате да изричито стање који тип променљиве је. 1472 01:08:39,854 --> 01:08:40,479 Давин: Савршено. 1473 01:08:40,479 --> 01:08:43,270 Дакле, он је рекао да не морате да изричито тип променљиве. 1474 01:08:43,270 --> 01:08:44,160 То је потпуно тачно. 1475 01:08:44,160 --> 01:08:49,700 Дакле, у Ц, ако сам имао ИНТ И једнако 50, онда у ПХП, то је само овако, $ и, 1476 01:08:49,700 --> 01:08:50,550 једнако 50. 1477 01:08:50,550 --> 01:08:54,319 Затим у ЈаваСцрипт, шта би било позив? 1478 01:08:54,319 --> 01:08:55,260 Вар, зар не? 1479 01:08:55,260 --> 01:08:56,566 То би било као вар једнако 50. 1480 01:08:56,566 --> 01:08:58,649 Али не морате да се као, у реду, то је инт. 1481 01:08:58,649 --> 01:09:00,350 Ок, ово је стринг. 1482 01:09:00,350 --> 01:09:01,731 Нема потребе за тим. 1483 01:09:01,731 --> 01:09:02,939 То је тумачити језика. 1484 01:09:02,939 --> 01:09:04,904 Дакле, шта то значи? 1485 01:09:04,904 --> 01:09:06,340 >> ПУБЛИКА: Не саставио. 1486 01:09:06,340 --> 01:09:10,470 >> Давин: Шта не саставио значи? 1487 01:09:10,470 --> 01:09:11,392 Да? 1488 01:09:11,392 --> 01:09:15,336 >> ПУБЛИКА: Немате репрограмира код 1489 01:09:15,336 --> 01:09:18,294 да се она спремна за компјутер да га покренете. 1490 01:09:18,294 --> 01:09:23,144 То је само узети у време извршење и рачунар [неразумљиво]. 1491 01:09:23,144 --> 01:09:25,560 Давин: Да, тако да ће пролазе преко преводиоца. 1492 01:09:25,560 --> 01:09:26,750 Али ти си потпуно у праву. 1493 01:09:26,750 --> 01:09:28,319 Тако да никада идеш да сам саставити, зар не? 1494 01:09:28,319 --> 01:09:30,399 Када сте радили ваш ПХП и ЈаваСцрипт код, 1495 01:09:30,399 --> 01:09:31,365 никад ниси звао саставити. 1496 01:09:31,365 --> 01:09:33,779 Никад ниси звао нешто слично Бренд или било шта слично. 1497 01:09:33,779 --> 01:09:34,800 То је зато што тумачи. 1498 01:09:34,800 --> 01:09:37,319 Тако сваки пут пролази кроз бровсер, пролази преко преводиоца. 1499 01:09:37,319 --> 01:09:40,370 А то ће га тумаче Само у реалном времену одмах за вас. 1500 01:09:40,370 --> 01:09:43,770 Па шта су неки позитивне и негативне стране морате имати протумачити језик 1501 01:09:43,770 --> 01:09:45,258 и има преведени језик? 1502 01:09:45,258 --> 01:09:48,240 1503 01:09:48,240 --> 01:09:50,540 Дакле цомпилинг-- да, шта има? 1504 01:09:50,540 --> 01:09:52,444 >> ПУБЛИКА: Интерпретед је спорији. 1505 01:09:52,444 --> 01:09:53,319 Давин: У ком смислу? 1506 01:09:53,319 --> 01:09:57,167 1507 01:09:57,167 --> 01:09:59,091 >> ПУБЛИКА: После тебе састави, немате 1508 01:09:59,091 --> 01:10:04,400 да уради додатне кораке да изврши она, док овај [неразумљиво]. 1509 01:10:04,400 --> 01:10:05,570 >> Давин: Тако је, савршено. 1510 01:10:05,570 --> 01:10:08,386 Па шта си рекао је у основи то састављање, 1511 01:10:08,386 --> 01:10:10,760 када преводите, имате Много који утичу трошкова, зар не? 1512 01:10:10,760 --> 01:10:11,760 Идеш у сам саставити. 1513 01:10:11,760 --> 01:10:13,750 Али након што сам саставити, компајлер ће га оптимизовали. 1514 01:10:13,750 --> 01:10:14,840 То ће бити брзо. 1515 01:10:14,840 --> 01:10:16,170 То ће у основи бити тако брзо као што може бити. 1516 01:10:16,170 --> 01:10:18,830 Са тумачење, никад има ту директна улагања. 1517 01:10:18,830 --> 01:10:22,260 Уместо тога, то ће бити нешто спорији сваки пут када га тумаче. 1518 01:10:22,260 --> 01:10:24,940 А ти ћеш морати да тумаче га сваки пут. 1519 01:10:24,940 --> 01:10:27,114 Тако уместо да ово једном трошак, сад си 1520 01:10:27,114 --> 01:10:29,530 морати да га тумаче сваки пут страница чини. 1521 01:10:29,530 --> 01:10:31,890 >> Дакле преводиоци су добри јер не морате да га саставе, 1522 01:10:31,890 --> 01:10:33,980 али они су лоше у томе сваки Тиме Тхе страница учита, то је 1523 01:10:33,980 --> 01:10:35,771 морати да тумачити овај ЈаваСцрипт. 1524 01:10:35,771 --> 01:10:40,520 И то ће покренути нешто спорије него ако сте били да га саставити. 1525 01:10:40,520 --> 01:10:43,044 Омогућава вам да комуницирао-- ох, чекај. 1526 01:10:43,044 --> 01:10:44,960 Користе за манипулацију Садржај и изглед. 1527 01:10:44,960 --> 01:10:46,043 Управо смо разговарали о томе. 1528 01:10:46,043 --> 01:10:47,250 Она користи ДОМ. 1529 01:10:47,250 --> 01:10:49,930 АЈАКС, ми ћемо ући у АЈАКС у мало. 1530 01:10:49,930 --> 01:10:51,520 И онда, то је клијент страни. 1531 01:10:51,520 --> 01:10:53,110 Дакле ПХП је сервер страни. 1532 01:10:53,110 --> 01:10:54,360 ЈаваСцрипт је клијент страни. 1533 01:10:54,360 --> 01:10:57,780 Који су позитивни на то? 1534 01:10:57,780 --> 01:10:58,280 То је, каже. 1535 01:10:58,280 --> 01:11:01,480 1536 01:11:01,480 --> 01:11:02,780 То је брже, зар не? 1537 01:11:02,780 --> 01:11:05,282 Зато што не мораш-- је брже. 1538 01:11:05,282 --> 01:11:07,490 Не морате да комуницирају са неким другим уређајем. 1539 01:11:07,490 --> 01:11:08,790 Ако сте само на вашем клијент, ти никада ниси 1540 01:11:08,790 --> 01:11:11,280 морати да одем и види шта је на серверу 1541 01:11:11,280 --> 01:11:13,150 а онда јави или нешто слично. 1542 01:11:13,150 --> 01:11:15,410 Тако клијент страни има тенденцију да бити мало брже. 1543 01:11:15,410 --> 01:11:17,910 >> ГАБЕ: Да, али ово не значи ПХП је 1544 01:11:17,910 --> 01:11:20,440 брже него ЈаваСцрипт или нешто слично. 1545 01:11:20,440 --> 01:11:23,270 Они воде некако у исто Брзина јер су обојица су 1546 01:11:23,270 --> 01:11:24,490 тумаче језици. 1547 01:11:24,490 --> 01:11:26,680 Оно што је спор Овде је захтев. 1548 01:11:26,680 --> 01:11:28,870 Дакле, ви у ствари идете скроз у Бразил 1549 01:11:28,870 --> 01:11:31,460 да се неке информације да живи тамо. 1550 01:11:31,460 --> 01:11:34,590 Али ПХП и ЈаваСцрипт, они некако покренути у истом брзином. 1551 01:11:34,590 --> 01:11:37,930 Није да је неко брже од друге. 1552 01:11:37,930 --> 01:11:40,600 Ово, такође, трик питање овде. 1553 01:11:40,600 --> 01:11:47,338 Дакле ЈаваСцрипт никада постаје Машина код, тачно или нетачно? 1554 01:11:47,338 --> 01:11:48,590 >> ПУБЛИКА: Нетачно. 1555 01:11:48,590 --> 01:11:49,090 ГАБЕ: Нетачно. 1556 01:11:49,090 --> 01:11:51,298 Она мора постати мацхине Код јер машина код је 1557 01:11:51,298 --> 01:11:53,210 Једино што машина разуме. 1558 01:11:53,210 --> 01:11:55,800 Иако није саставио, ипак постаје машина шифра 1559 01:11:55,800 --> 01:11:59,120 јер преводилац је само програм који иде ред по ред 1560 01:11:59,120 --> 01:12:02,170 и трансформише тај ред у нешто рачунар разуме. 1561 01:12:02,170 --> 01:12:02,825 У реду? 1562 01:12:02,825 --> 01:12:03,325 Цоол. 1563 01:12:03,325 --> 01:12:08,530 1564 01:12:08,530 --> 01:12:12,890 >> Давин: Ево само једна основна Хелло Ворлд ЈаваСцрипт програма. 1565 01:12:12,890 --> 01:12:15,590 Тако да не знам да ли- сте видели ово. 1566 01:12:15,590 --> 01:12:17,630 Али само би требало овде ХТМЛ. 1567 01:12:17,630 --> 01:12:21,020 И уместо да ствари стављање ЈаваСцрипт у сценарију тагова, 1568 01:12:21,020 --> 01:12:22,810 па нормално да га стави у главу. 1569 01:12:22,810 --> 01:12:24,030 Имате скрипт ознаке. 1570 01:12:24,030 --> 01:12:24,870 Ти га баци тамо. 1571 01:12:24,870 --> 01:12:28,350 Све смо урадили овде је да смо повезани у-- тако смо повезани у ЈаваСцрипт датотеци 1572 01:12:28,350 --> 01:12:29,137 овако. 1573 01:12:29,137 --> 01:12:30,470 А ви сте сви урадили ово, зар не? 1574 01:12:30,470 --> 01:12:34,740 Дакле, када сте користили јКуери и ундерсцоре.јс у последњој п-сет, 1575 01:12:34,740 --> 01:12:38,700 немате тона код горе у твој сценарио ознаке, у твојој глави. 1576 01:12:38,700 --> 01:12:41,415 Могли сте то урадити, али уместо тога ти само његово повезивање у. 1577 01:12:41,415 --> 01:12:43,540 А ти га повезују у баш као и ти са ЦСС. 1578 01:12:43,540 --> 01:12:50,186 Дакле, само олакшава тако читати Ваш број није као дуго 1,000 линије 1579 01:12:50,186 --> 01:12:52,310 са тона функција које можда нећете користити. 1580 01:12:52,310 --> 01:12:53,518 >> Уместо тога, само га повезати у. 1581 01:12:53,518 --> 01:12:55,050 То је цомпартментализес. 1582 01:12:55,050 --> 01:13:00,110 То је као писање неке хеадер датотеку, и онда укључујући ту хеадер датотеку у Ц. 1583 01:13:00,110 --> 01:13:01,620 Мислите о томе баш овако. 1584 01:13:01,620 --> 01:13:02,680 Па шта то радим? 1585 01:13:02,680 --> 01:13:04,560 Па, ово ће покренути. 1586 01:13:04,560 --> 01:13:05,410 То ће упозорити. 1587 01:13:05,410 --> 01:13:08,020 Значи да ћеш добити мало поп уп који се зове Хелло ворлд. 1588 01:13:08,020 --> 01:13:11,420 Брзо питање, само разум чек, тако да овде види у телу, 1589 01:13:11,420 --> 01:13:13,160 кажу тело, ХТМЛ овде. 1590 01:13:13,160 --> 01:13:14,080 Шта долази прво? 1591 01:13:14,080 --> 01:13:16,864 Да ли видим тело, ХТМЛ овде, или да прво видим упозорење? 1592 01:13:16,864 --> 01:13:19,828 1593 01:13:19,828 --> 01:13:20,820 >> ПУБЛИКА: Узбуна. 1594 01:13:20,820 --> 01:13:21,470 >> Давин: Тако је. 1595 01:13:21,470 --> 01:13:22,110 Он каже узбуна. 1596 01:13:22,110 --> 01:13:22,610 Зашто? 1597 01:13:22,610 --> 01:13:24,470 >> ПУБЛИКА: Зато вас иди од врха до дна. 1598 01:13:24,470 --> 01:13:25,600 >> Давин: Да. 1599 01:13:25,600 --> 01:13:26,100 Савршено. 1600 01:13:26,100 --> 01:13:29,207 Тако он каже, ти иди из врха до дно, која је апсолутно тачно. 1601 01:13:29,207 --> 01:13:30,790 Идеш да иде од врха до дна. 1602 01:13:30,790 --> 01:13:34,790 И у ЈаваСцрипт, јКуери, имате функција која је као онЛоад, или спреман, 1603 01:13:34,790 --> 01:13:38,030 и да каже, у реду, сачекајте све ове ХТМЛ учита. 1604 01:13:38,030 --> 01:13:39,580 А онда, позовите ЈаваСцрипт. 1605 01:13:39,580 --> 01:13:42,190 Јер ми не да имају овде, Прва ствар која ће се десити 1606 01:13:42,190 --> 01:13:43,920 је да ће ићи од врха до дна. 1607 01:13:43,920 --> 01:13:46,310 То ће погодити да јс позовите, то ће упозорити. 1608 01:13:46,310 --> 01:13:49,510 Након тога кликнете на дугме ОК, да узбуна нестаје. 1609 01:13:49,510 --> 01:13:53,600 Онда ће то показати Ви тело ХТМЛ овде. 1610 01:13:53,600 --> 01:13:54,590 Лепо. 1611 01:13:54,590 --> 01:14:00,880 >> Ок, па само јако брзо, писање у ЈаваСцрипт је супер брз. 1612 01:14:00,880 --> 01:14:02,710 Да би се прогласи променљива, вар име. 1613 01:14:02,710 --> 01:14:07,070 Дакле, у Ц, имате инт и, имате да прогласи каква типа је. 1614 01:14:07,070 --> 01:14:08,040 ПХП, $. 1615 01:14:08,040 --> 01:14:08,755 ЈаваСцрипт, вар. 1616 01:14:08,755 --> 01:14:09,630 Разговарали смо о томе. 1617 01:14:09,630 --> 01:14:11,020 У реду, идемо. 1618 01:14:11,020 --> 01:14:12,510 >> Лоопс, иста ствар. 1619 01:14:12,510 --> 01:14:14,230 Иста ствар. 1620 01:14:14,230 --> 01:14:18,165 Декларације Фунцтион, тако баш као што сте видели у Ц. 1621 01:14:18,165 --> 01:14:21,290 Једино што разликује је тако када дођете до друге програмске језике, 1622 01:14:21,290 --> 01:14:24,780 као кад узмете 51 следећег семестра а ви радите са оцамл, 1623 01:14:24,780 --> 01:14:26,690 можете бавити анонимних функцијама. 1624 01:14:26,690 --> 01:14:28,240 Дакле, то је управо оно што овде имамо. 1625 01:14:28,240 --> 01:14:31,560 Дакле, желите да ставите у збиру, нека врста сум вредности. 1626 01:14:31,560 --> 01:14:33,870 Али ти само можда то раде једном. 1627 01:14:33,870 --> 01:14:37,310 Дакле, не желите да га зову функција Збир, му дати изјаву функцију. 1628 01:14:37,310 --> 01:14:39,830 Уместо тога, само га користити као анонимни функцију. 1629 01:14:39,830 --> 01:14:42,469 И ти си се ово много. 1630 01:14:42,469 --> 01:14:44,510 Видећете пример ово за пар слајдовима. 1631 01:14:44,510 --> 01:14:45,597 Да, видећемо. 1632 01:14:45,597 --> 01:14:46,430 ГАБЕ: Добро питање. 1633 01:14:46,430 --> 01:14:50,660 Када би желите да користите анонимни функција овде? 1634 01:14:50,660 --> 01:14:54,111 У основи, када желите нешто, као догађај, да се догоди. 1635 01:14:54,111 --> 01:14:55,860 Дакле, када је миш цлицкед, на пример, 1636 01:14:55,860 --> 01:14:57,790 желите нешто функција да се зове. 1637 01:14:57,790 --> 01:15:00,570 Тако да прође на догађај претовар, прођете на догађај, 1638 01:15:00,570 --> 01:15:02,870 врста, функција која желите да се зове. 1639 01:15:02,870 --> 01:15:04,710 А шта ти пролази је као, на крају 1640 01:15:04,710 --> 01:15:08,757 дана, само показивач на да је инструкција, функцији. 1641 01:15:08,757 --> 01:15:11,090 Дакле није као ти пролази цео број, као што 1642 01:15:11,090 --> 01:15:12,173 показивач на функцију. 1643 01:15:12,173 --> 01:15:17,871 А онда, када неко кликне миш, онда то бива функција зове. 1644 01:15:17,871 --> 01:15:22,340 >> Давин: низови, тебе тако имају арраи декларацију. 1645 01:15:22,340 --> 01:15:23,990 Затим, низ ставити ствари у. 1646 01:15:23,990 --> 01:15:25,769 Стварно брзо, шта ће ово одштампати? 1647 01:15:25,769 --> 01:15:27,060 Шта ће бити трећи елемент? 1648 01:15:27,060 --> 01:15:31,470 1649 01:15:31,470 --> 01:15:32,450 >> ПУБЛИКА: "ЈС". 1650 01:15:32,450 --> 01:15:33,940 >> Давин: Добро, било би "ЈС." 1651 01:15:33,940 --> 01:15:35,760 Чекај, вратимо. 1652 01:15:35,760 --> 01:15:37,100 Шта је дужина? 1653 01:15:37,100 --> 01:15:38,117 >> ПУБЛИКА: Три. 1654 01:15:38,117 --> 01:15:38,950 Давин: Три, зар не? 1655 01:15:38,950 --> 01:15:40,210 Управо оно што ти мислиш. 1656 01:15:40,210 --> 01:15:42,072 Ок, сад иди. 1657 01:15:42,072 --> 01:15:43,530 Низови, можете додати ствари на њих. 1658 01:15:43,530 --> 01:15:45,395 Тако да можете ићи даље њихови почетни границе. 1659 01:15:45,395 --> 01:15:46,740 Само нешто треба имати на уму. 1660 01:15:46,740 --> 01:15:49,760 ПХП, ЈаваСцрипт, они су мало мало више прашта у смислу ствари 1661 01:15:49,760 --> 01:15:50,570 тако. 1662 01:15:50,570 --> 01:15:54,260 Објекти, веома налик Структуре у Ц, много 1663 01:15:54,260 --> 01:15:56,590 као асоцијативних низова у ПХП. 1664 01:15:56,590 --> 01:15:58,720 Сви сте имали искуства са овим. 1665 01:15:58,720 --> 01:16:01,880 Дакле ЈСОН, кад пролази ЈСОН напред-назад у п-сет осам, 1666 01:16:01,880 --> 01:16:03,260 То је ваш циљ. 1667 01:16:03,260 --> 01:16:06,290 >> Тако да, пример, врло брзо пример. 1668 01:16:06,290 --> 01:16:07,880 Ево објекат. 1669 01:16:07,880 --> 01:16:12,700 Начин на који помињете ово објекат, па само јако брзо, 1670 01:16:12,700 --> 01:16:18,630 рецимо да сам хтео да пронађу , ОК, шта је курс? 1671 01:16:18,630 --> 01:16:20,681 И тако име објекат овде је ЦС50. 1672 01:16:20,681 --> 01:16:23,180 И онда кад бих имао асоцијативним арраи, како бих ја то урадио? 1673 01:16:23,180 --> 01:16:24,580 Ја ћу бити користећи кључ, зар не? 1674 01:16:24,580 --> 01:16:26,030 Тако да имам име низа. 1675 01:16:26,030 --> 01:16:30,160 Имам брацкет, цитате, кључ, енд цитати, крај носач, 1676 01:16:30,160 --> 01:16:33,610 а да ће референца која Елемент у мојој асоцијативно низа. 1677 01:16:33,610 --> 01:16:37,646 Како да референцирана Наравно у мом објекту? 1678 01:16:37,646 --> 01:16:39,170 Да ли неко зна? 1679 01:16:39,170 --> 01:16:40,622 >> ПУБЛИКА: [неразумљиво]. 1680 01:16:40,622 --> 01:16:41,784 >> Давин: Шта има? 1681 01:16:41,784 --> 01:16:42,700 ПУБЛИКА: ЦС50.цоурсе. 1682 01:16:42,700 --> 01:16:43,510 Давин: Тако је, да. 1683 01:16:43,510 --> 01:16:45,320 Тако ЦС50.цоурсе. 1684 01:16:45,320 --> 01:16:48,770 Дакле начин ви спомињете ствари унутар објекта је ЈСОН са тачком. 1685 01:16:48,770 --> 01:16:53,114 >> ПУБЛИКА: Можете да користите и низа синтаксу. 1686 01:16:53,114 --> 01:16:54,050 >> Давин: У реду, у реду. 1687 01:16:54,050 --> 01:16:57,544 >> ГАБЕ: Можете да користите и ЦС50 брацкет, стринг, као под наводницима. 1688 01:16:57,544 --> 01:16:59,210 ПУБЛИКА: Мислим да је идентичан ПХП. 1689 01:16:59,210 --> 01:17:00,293 ГАБЕ: То је иста ствар. 1690 01:17:00,293 --> 01:17:02,487 Давин: Добро! 1691 01:17:02,487 --> 01:17:03,945 Али видећете ове друга места. 1692 01:17:03,945 --> 01:17:08,990 1693 01:17:08,990 --> 01:17:10,480 Да, тако настави. 1694 01:17:10,480 --> 01:17:13,330 То је оно што сам управо рекао. 1695 01:17:13,330 --> 01:17:17,840 Тако се у ЈаваСцрипт јКуери пример. 1696 01:17:17,840 --> 01:17:19,440 Дакле, ово је мој ДОМ, зар не? 1697 01:17:19,440 --> 01:17:22,290 1698 01:17:22,290 --> 01:17:25,410 Стварно брзо, тако да имам глава, здраво свет, тело. 1699 01:17:25,410 --> 01:17:26,160 Имам дугме. 1700 01:17:26,160 --> 01:17:27,870 Пише "пусх ме," па желим да га гурати. 1701 01:17:27,870 --> 01:17:29,745 И ја желим да урадим нешто када је кликнуо. 1702 01:17:29,745 --> 01:17:31,220 Право, поред. 1703 01:17:31,220 --> 01:17:34,630 >> Право, тако да је ово мој ЈаваСцрипт. 1704 01:17:34,630 --> 01:17:37,790 Дакле јКуери је само лакше начин да се напише ЈаваСцрипт. 1705 01:17:37,790 --> 01:17:40,920 Дакле ово, а шта ћу показати ти си следећи, ће бити јКуери, 1706 01:17:40,920 --> 01:17:41,930 су идентични. 1707 01:17:41,930 --> 01:17:43,990 Дакле, они ће радити исте ствари. 1708 01:17:43,990 --> 01:17:45,974 Само јКуери има тенденцију да буде мало лакше. 1709 01:17:45,974 --> 01:17:47,140 Људи су склони да воле га више. 1710 01:17:47,140 --> 01:17:48,390 Има доста функционалности. 1711 01:17:48,390 --> 01:17:49,830 Дакле, људи имају тенденцију да користе јКуери. 1712 01:17:49,830 --> 01:17:53,270 Сви сте користили јКуери у последњем п-сет. 1713 01:17:53,270 --> 01:17:54,270 Па шта ће то учинити? 1714 01:17:54,270 --> 01:17:56,580 Шта ће ово ЈаваСцрипт-- тако ово је само обичан ЈаваСцрипт. 1715 01:17:56,580 --> 01:17:57,430 Шта ће то учинити? 1716 01:17:57,430 --> 01:18:00,600 1717 01:18:00,600 --> 01:18:03,450 Шта ће урадити? 1718 01:18:03,450 --> 01:18:04,890 >> Дакле, прво, видиш прозор онЛоад. 1719 01:18:04,890 --> 01:18:05,390 Зар не? 1720 01:18:05,390 --> 01:18:06,640 Дакле, ми нисмо то прије видјети. 1721 01:18:06,640 --> 01:18:09,380 Дакле, ово ће чекати све док се цео прозорске оптерећења. 1722 01:18:09,380 --> 01:18:12,770 Тако да ће чекати до ХТМЛ, све слике оптерећење 1723 01:18:12,770 --> 01:18:13,770 пре него што ништа не ради. 1724 01:18:13,770 --> 01:18:16,050 Рецимо наш ДОМ учита. 1725 01:18:16,050 --> 01:18:17,270 Све је ту. 1726 01:18:17,270 --> 01:18:19,080 Онда шта ће се десити? 1727 01:18:19,080 --> 01:18:19,922 Да? 1728 01:18:19,922 --> 01:18:22,880 >> ПУБЛИКА: појављује Батон. 1729 01:18:22,880 --> 01:18:25,201 >> Давин: Дугме је већ тамо. 1730 01:18:25,201 --> 01:18:26,700 Да, тако је већ тамо дугме. 1731 01:18:26,700 --> 01:18:31,190 Али ово ће да каже, Ок, ако кликнем на дугме, 1732 01:18:31,190 --> 01:18:33,650 тако је већ дугме Ето, тако ХТМЛ таг. 1733 01:18:33,650 --> 01:18:35,980 Чекај, вратимо брзо. 1734 01:18:35,980 --> 01:18:39,470 Овај таг право овде је Биће већ дугме. 1735 01:18:39,470 --> 01:18:40,810 Већ постоји дугме. 1736 01:18:40,810 --> 01:18:44,120 Али онда, ЈаваСцрипт ознака, овде, 1737 01:18:44,120 --> 01:18:46,160 пише, у реду, ја желим да се елемент по ИД, 1738 01:18:46,160 --> 01:18:50,300 па дугме претраживање само каже, у реду, ја желим да мапира ову променљиву на то дугме. 1739 01:18:50,300 --> 01:18:53,120 Дакле, то је само променљива лакши начин да приступите то дугме. 1740 01:18:53,120 --> 01:18:57,300 И ја кажем, у реду, ако кликнем да дугме, па ако кликнем тај елемент, 1741 01:18:57,300 --> 01:18:59,560 а овај елемент се односи на дугме, ако га цлицк, 1742 01:18:59,560 --> 01:19:00,875 онда желим да позовем функцију. 1743 01:19:00,875 --> 01:19:03,500 Овде је један од оних анониман Функције смо говорили. 1744 01:19:03,500 --> 01:19:04,840 >> Само позовите неку функцију. 1745 01:19:04,840 --> 01:19:08,840 Унутар те функције, у основи нешто што смо видели много, упозорење. 1746 01:19:08,840 --> 01:19:10,477 Ви кликните на дугме за претрагу. 1747 01:19:10,477 --> 01:19:12,060 То ће у основи имати дугме. 1748 01:19:12,060 --> 01:19:13,040 Ти кликните на њу. 1749 01:19:13,040 --> 01:19:14,040 Ти тај узбуну. 1750 01:19:14,040 --> 01:19:14,850 Кс напоље. 1751 01:19:14,850 --> 01:19:15,754 Тако је. 1752 01:19:15,754 --> 01:19:16,254 Да? 1753 01:19:16,254 --> 01:19:21,980 >> ПУБЛИКА: Па ако ставите скрипта [Неразумљиво], скрипта ознака у ХТМЛ? 1754 01:19:21,980 --> 01:19:24,300 >> Давин: Можете да ставите скрипту ознака право у главу 1755 01:19:24,300 --> 01:19:30,667 јер имате ту онЛоад. 1756 01:19:30,667 --> 01:19:32,000 Такође је да имате клик. 1757 01:19:32,000 --> 01:19:34,166 Тако да ће чекати до кликнете за нешто. 1758 01:19:34,166 --> 01:19:37,470 Али онЛоад је за сваки случај, да се да све оптерећења у ХТМЛ 1759 01:19:37,470 --> 01:19:38,170 унапред. 1760 01:19:38,170 --> 01:19:39,247 Да? 1761 01:19:39,247 --> 01:19:40,330 Хоћеш да кажеш нешто? 1762 01:19:40,330 --> 01:19:41,080 >> ГАБЕ: [неразумљиво]. 1763 01:19:41,080 --> 01:19:42,485 Давин: Да. 1764 01:19:42,485 --> 01:19:45,426 >> ПУБЛИКА: Па онЛоад Избегава дефинисање променљиве дугме за претрагу 1765 01:19:45,426 --> 01:19:49,930 од само кажем доцумент.гетЕлементБиИд Претрага дугме дот [неразумљиво]. 1766 01:19:49,930 --> 01:19:52,320 >> Давин: Дефинитивно, али онда Ваш стринг само постаје огроман. 1767 01:19:52,320 --> 01:19:55,553 Тачно, тако да је ово само да олакшавају за вас, да. 1768 01:19:55,553 --> 01:19:56,053 Да? 1769 01:19:56,053 --> 01:19:57,886 >> ПУБЛИКА: Где смо урадили створити виндов.онлоад? 1770 01:19:57,886 --> 01:19:58,951 Или доцумент.реади? 1771 01:19:58,951 --> 01:20:00,590 >> Давин: Да, ту је. 1772 01:20:00,590 --> 01:20:02,094 Да, ту је, проверио сам. 1773 01:20:02,094 --> 01:20:03,710 >> ГАБЕ: Не за њих да брине о. 1774 01:20:03,710 --> 01:20:06,970 >> Давин: Ок, па идем Ионако да ти кажем. 1775 01:20:06,970 --> 01:20:11,005 Дакле, у основи, само уопштено, тако виндов.онлоад чека ваше ДОМ, све 1776 01:20:11,005 --> 01:20:12,180 Ваш ХТМЛ, оптерећења. 1777 01:20:12,180 --> 01:20:13,513 Она чека да своје слике оптерећења. 1778 01:20:13,513 --> 01:20:14,930 Она чека док се све оптерећења. 1779 01:20:14,930 --> 01:20:18,410 доцумент.реади, само чека ваше ДОМ оптерећења. 1780 01:20:18,410 --> 01:20:22,190 Када ХТМЛ је све ту, некада Ваш ДОМ тамо, почиње да тече. 1781 01:20:22,190 --> 01:20:23,400 То је једина разлика. 1782 01:20:23,400 --> 01:20:24,700 >> ГАБЕ: Брзо разум провери овде. 1783 01:20:24,700 --> 01:20:29,060 Дакле, ово се може видети некако као линију кода, зар не? 1784 01:20:29,060 --> 01:20:33,600 Зато што је виндов.онлоад једнако гомилу ствари. 1785 01:20:33,600 --> 01:20:39,030 Када ЈаваСцрипт чита ово, истина или лажна, функција бива погубљен. 1786 01:20:39,030 --> 01:20:40,020 Нетачно. 1787 01:20:40,020 --> 01:20:40,920 У реду? 1788 01:20:40,920 --> 01:20:44,470 Шта се дешава овде, ти само у пролазу ова функција као анонимни функције 1789 01:20:44,470 --> 01:20:45,300 да виндов.онлоад. 1790 01:20:45,300 --> 01:20:48,480 И онда када се иде да стварно се погубљен? 1791 01:20:48,480 --> 01:20:49,600 Када се прозор оптерећења. 1792 01:20:49,600 --> 01:20:50,420 То је догађај. 1793 01:20:50,420 --> 01:20:52,460 Дакле, то је иус Т ствар да смо говоримо о раније, зар не? 1794 01:20:52,460 --> 01:20:54,580 Дакле, када се догађај деси, Функција се дешава. 1795 01:20:54,580 --> 01:20:55,746 Иста ствар са онцлицк. 1796 01:20:55,746 --> 01:20:59,510 1797 01:20:59,510 --> 01:21:03,130 >> Давин: У реду, тако неко узео далеко доцумент.реади. 1798 01:21:03,130 --> 01:21:04,698 Али то ће бити тачан саме-- 1799 01:21:04,698 --> 01:21:06,864 ПУБЛИКА: Знак долар, то је доцумент.реади. 1800 01:21:06,864 --> 01:21:07,710 То је пречица. 1801 01:21:07,710 --> 01:21:08,501 >> Давин: Ох, то је? 1802 01:21:08,501 --> 01:21:10,880 1803 01:21:10,880 --> 01:21:15,500 ОК, па је ово средство доцумент.реади, пречица. 1804 01:21:15,500 --> 01:21:19,660 Али ово је исто као виндов.онлоад осим тог малог разлике 1805 01:21:19,660 --> 01:21:20,680 Рекао сам ти за. 1806 01:21:20,680 --> 01:21:21,870 А ово је јКуери. 1807 01:21:21,870 --> 01:21:25,190 Дакле, ово је потпуно исти ствар-- ово је Јава-скрипта. 1808 01:21:25,190 --> 01:21:29,500 Ово је само- неки људи мисле о томе као још мале тежине, елегантан верзија 1809 01:21:29,500 --> 01:21:32,370 да има пуно функционалности да вероватно ћете користити. 1810 01:21:32,370 --> 01:21:34,500 Дакле, ово ради исту ствар. 1811 01:21:34,500 --> 01:21:37,110 >> Тако ствари да некако указати. 1812 01:21:37,110 --> 01:21:40,364 Дакле, у другом примеру, имао доцумент.гетЕлементБиИд, 1813 01:21:40,364 --> 01:21:42,280 тако да смо имали оволико дуго стринг који ће добити 1814 01:21:42,280 --> 01:21:44,290 елеменат било којим ИД има. 1815 01:21:44,290 --> 01:21:46,470 То је замењен овим позивом овде. 1816 01:21:46,470 --> 01:21:50,860 Па видиш знак долара, онда видите цитат, хасхтаг. 1817 01:21:50,860 --> 01:21:52,370 Хасхтаг је увек селектор. 1818 01:21:52,370 --> 01:21:54,730 Каже, ОК, ово има везе са личном картом. 1819 01:21:54,730 --> 01:21:56,120 Шта је селектор за класу? 1820 01:21:56,120 --> 01:21:57,190 >> ПУБЛИКА: Дот. 1821 01:21:57,190 --> 01:21:57,960 >> Давин: Дот, зар не. 1822 01:21:57,960 --> 01:22:01,950 Ако сте само тако да изаберите ознаку, шта је то? 1823 01:22:01,950 --> 01:22:03,310 То је само ознака, тачно. 1824 01:22:03,310 --> 01:22:05,560 А ти би могао користити да овде, као добро. 1825 01:22:05,560 --> 01:22:08,560 >> ГАБЕ: И по тагу, мислимо као див, на пример, или главе. 1826 01:22:08,560 --> 01:22:11,500 >> Давин: Или тело или п или нешто слично, да. 1827 01:22:11,500 --> 01:22:14,390 Дакле овде, у реду, уместо да кажете доцумент.гетЕлементБиИд, 1828 01:22:14,390 --> 01:22:16,500 ово је само иста ствар. 1829 01:22:16,500 --> 01:22:17,990 Само у јКуери, то је краћи. 1830 01:22:17,990 --> 01:22:19,860 Тако да је једноставније. 1831 01:22:19,860 --> 01:22:23,420 Тако онда, нема више онцлицк, само кликните. 1832 01:22:23,420 --> 01:22:26,320 Функција јКуери, позовите ову функцију. 1833 01:22:26,320 --> 01:22:27,580 Алерт је потпуно исти. 1834 01:22:27,580 --> 01:22:29,452 Тако да је мало мањи, или мало 1835 01:22:29,452 --> 01:22:32,410 краћи, а литтле бит-- људи мисле мало је лакше писати напоље, 1836 01:22:32,410 --> 01:22:34,600 мало лакше разумети. 1837 01:22:34,600 --> 01:22:35,640 Али ово је јКуери. 1838 01:22:35,640 --> 01:22:37,887 Много људи се мало збуњена и забринута 1839 01:22:37,887 --> 01:22:40,220 и они мисле, у реду, јКуери се разликује од ЈаваСцрипт. 1840 01:22:40,220 --> 01:22:42,136 Морам да се сетим тих две различите ствари. 1841 01:22:42,136 --> 01:22:42,740 Није. 1842 01:22:42,740 --> 01:22:45,315 Мислим, то је другачије синтаксе. 1843 01:22:45,315 --> 01:22:46,970 Али јКуери је ЈаваСцрипт. 1844 01:22:46,970 --> 01:22:50,050 То је само наизглед боље верзија која 1845 01:22:50,050 --> 01:22:51,967 Можда би било лакше да Разумем да људи користе. 1846 01:22:51,967 --> 01:22:53,716 ГАБЕ: Да, да буде искрен, то знак долара 1847 01:22:53,716 --> 01:22:57,240 да видиш у јКуери, то је само назив за функцију коју јКуери дефинише. 1848 01:22:57,240 --> 01:22:58,614 То не мора ништа посебно. 1849 01:22:58,614 --> 01:23:03,140 Да ли је то је само назив функције, Само вас могао дефинисати доллар сигн. 1850 01:23:03,140 --> 01:23:05,670 >> Давин: Да, тако је говорио о томе. 1851 01:23:05,670 --> 01:23:06,680 Неке корисне ствари. 1852 01:23:06,680 --> 01:23:10,414 Гледао сам вратио на старе квизова. 1853 01:23:10,414 --> 01:23:13,080 У протеклих неколико квизова, они су морали да користе овакве ствари. 1854 01:23:13,080 --> 01:23:15,230 Тако доцумент.реади, тако уверите да је све 1855 01:23:15,230 --> 01:23:17,410 лоадед пред вама да радимо ствари. 1856 01:23:17,410 --> 01:23:20,120 Изаберите личну карту, или одаберите класа, то би само 1857 01:23:20,120 --> 01:23:24,020 бити цитат дот мало класе, Крај цитата. 1858 01:23:24,020 --> 01:23:26,580 Субмит, па ако сте подношењем и позив 1859 01:23:26,580 --> 01:23:28,830 ова функција након форми подноси. 1860 01:23:28,830 --> 01:23:34,210 Вредност, па рецимо да сам имао форму подношење, као корисничког имена, е-маил, 1861 01:23:34,210 --> 01:23:34,950 год. 1862 01:23:34,950 --> 01:23:36,010 Имао сам оквир за текст. 1863 01:23:36,010 --> 01:23:37,670 Тако куцам у тај оквир за текст. 1864 01:23:37,670 --> 01:23:42,170 Па, ако желите да добијете вредност из те оквир за текст, можете користити дот вал. 1865 01:23:42,170 --> 01:23:44,050 А онда, овде, дот ХТМЛ је иста 1866 01:23:44,050 --> 01:23:47,710 је као документ дот гетЕлементБиИд дот иннерХТМЛ. 1867 01:23:47,710 --> 01:23:50,890 Тако да ће да се врати Ви ХТМЛ из тог ИД. 1868 01:23:50,890 --> 01:23:55,080 Ево, ви само користите неки ИД или шта год дот ХТМЛ. 1869 01:23:55,080 --> 01:23:56,930 То ћу ХТМЛ том елементу. 1870 01:23:56,930 --> 01:24:00,130 Ако сте хтели да онда промијенити ХТМЛ, можете га проћи нешто. 1871 01:24:00,130 --> 01:24:05,600 Тако да би било као дот ХТМЛ, а затим унутра, цитати, нова ХТМЛ или нешто. 1872 01:24:05,600 --> 01:24:07,490 >> ГАБЕ: У реду, тако АЈАКС. 1873 01:24:07,490 --> 01:24:10,347 Стварно волим да разумем АЈАКС стварно добро. 1874 01:24:10,347 --> 01:24:12,430 Тако сам вам желим људи до разумем АЈАКС стварно добро. 1875 01:24:12,430 --> 01:24:14,221 Јер ако, ти прилично иде 1876 01:24:14,221 --> 01:24:16,810 да разуме све што има везе са ХТТП, ПХП, 1877 01:24:16,810 --> 01:24:21,080 Јавасцрипт јер свега тога долази заједно у АЈАКС. 1878 01:24:21,080 --> 01:24:25,130 АЈАКС није језик. 1879 01:24:25,130 --> 01:24:27,000 АЈАКС је техника. 1880 01:24:27,000 --> 01:24:31,690 И то користи пуно различитих алата. 1881 01:24:31,690 --> 01:24:35,090 АЈАКС означава асинхрони ЈаваСцрипт КСМЛ. 1882 01:24:35,090 --> 01:24:36,730 Дакле метод, језика, подаци. 1883 01:24:36,730 --> 01:24:40,610 >> Тако главног језика који користимо у АЈАКС да покрене све 1884 01:24:40,610 --> 01:24:42,830 и за руковање све касније је Јава-скрипта. 1885 01:24:42,830 --> 01:24:45,160 Зато се она односи Веома близу ЈаваСцрипт. 1886 01:24:45,160 --> 01:24:49,810 А онда је асинхрони јер ми то не радимо 1887 01:24:49,810 --> 01:24:51,980 одједном кад смо учитавања странице. 1888 01:24:51,980 --> 01:24:57,190 Ово је ствар што можемо радим ствари некако паралелно. 1889 01:24:57,190 --> 01:24:59,725 Основна идеја АЈАКС је да желите 1890 01:24:59,725 --> 01:25:02,170 она добити одређене информације. 1891 01:25:02,170 --> 01:25:06,450 На пример, када куцате ново корисничко име када региструјете корисничко име, 1892 01:25:06,450 --> 01:25:08,520 моје корисничко име је абц123. 1893 01:25:08,520 --> 01:25:11,671 А онда, на крају облик, морате да кликните на Пошаљи. 1894 01:25:11,671 --> 01:25:14,420 И то је морао да оде на сервер, а затим проверите да ли у бази података, 1895 01:25:14,420 --> 01:25:15,594 абц123 је већ тамо. 1896 01:25:15,594 --> 01:25:18,510 И ако је већ ту, каже, корисничко име већ у бази података. 1897 01:25:18,510 --> 01:25:21,010 И они, морате попунити од целог форми поново. 1898 01:25:21,010 --> 01:25:23,110 И било је заиста, заиста лоше. 1899 01:25:23,110 --> 01:25:25,440 >> А онда кажу људи, Ок, зашто не можемо једноставно 1900 01:25:25,440 --> 01:25:29,560 уради мали ХТТП захтев да само провери да видим да ли ово упутство је у бази података 1901 01:25:29,560 --> 01:25:32,080 пре корисник је морао да субмит цео образац? 1902 01:25:32,080 --> 01:25:36,350 Тако на пример, када корисник заврши куцање абц123, 1903 01:25:36,350 --> 01:25:39,660 идемо на сервер мало битни и само се прави или лажни 1904 01:25:39,660 --> 01:25:43,080 са сервера се видјело да то је важећа корисничко име или не. 1905 01:25:43,080 --> 01:25:49,250 У реду, тако да је један од главних усес оф АЈАКС-данас још увек. 1906 01:25:49,250 --> 01:25:52,130 >> Давин: Па јако брзо, у Ајакс позив у јКуери, 1907 01:25:52,130 --> 01:25:54,770 Ви може да значи и да вас Желим да то буде синхрона. 1908 01:25:54,770 --> 01:25:56,330 Не би требало да урадите. 1909 01:25:56,330 --> 01:25:57,640 Али ти то може. 1910 01:25:57,640 --> 01:25:59,277 И ако јеси да, шта би се десило? 1911 01:25:59,277 --> 01:26:01,610 Па, на пример, када сте геттинг вести или било шта, 1912 01:26:01,610 --> 01:26:05,464 Ваш претраживач је само чекати док се то не заврши цела позив 1913 01:26:05,464 --> 01:26:08,130 уместо да радите друго ствари одмах после вас кликните на њу. 1914 01:26:08,130 --> 01:26:14,560 1915 01:26:14,560 --> 01:26:17,115 >> ГАБЕ: Није више пролази. 1916 01:26:17,115 --> 01:26:19,681 Ох ми год. 1917 01:26:19,681 --> 01:26:20,180 Извини! 1918 01:26:20,180 --> 01:26:22,810 1919 01:26:22,810 --> 01:26:23,601 Да. 1920 01:26:23,601 --> 01:26:25,350 "У прошлости, клијент треба да захтјев 1921 01:26:25,350 --> 01:26:26,840 Целокупан садржај веб сајта. " 1922 01:26:26,840 --> 01:26:28,210 То је оно што сам рекао. 1923 01:26:28,210 --> 01:26:30,070 То нам омогућава да пошаљете додатни ГЕТ или ПОСТ 1924 01:26:30,070 --> 01:26:32,140 захтеви без потребе то релоад нашу бровсер. 1925 01:26:32,140 --> 01:26:34,806 Тако на крају дана, ми смо заправо чинећи ХТТП захтеве 1926 01:26:34,806 --> 01:26:35,740 овде користи ЈаваСцрипт. 1927 01:26:35,740 --> 01:26:39,700 Јер пре, само смо користили ЈаваСцрипт да промените ХТМЛ који већ дошао. 1928 01:26:39,700 --> 01:26:43,110 А сада, можемо га користити за интерфејс са веб серверима као. 1929 01:26:43,110 --> 01:26:46,140 Начин на који се дешава је имамо клијента. 1930 01:26:46,140 --> 01:26:47,340 Давин је клијент. 1931 01:26:47,340 --> 01:26:50,797 И он има сву ЈаваСцрипт приказују јер ХТМЛ је глуп. 1932 01:26:50,797 --> 01:26:51,630 ЈаваСцрипт је паметан. 1933 01:26:51,630 --> 01:26:54,690 Дакле Давин Давин има његова паметна део и његов глупи део. 1934 01:26:54,690 --> 01:26:57,590 Он ће користити свој смарт део сада. 1935 01:26:57,590 --> 01:27:00,860 Он ће користити ЈаваСцрипт захтеву, на пример, 1936 01:27:00,860 --> 01:27:04,340 било абц123 је у база података или не. 1937 01:27:04,340 --> 01:27:08,450 >> Дакле Давин, молим, само пошаљите ми ХТТП захтев. 1938 01:27:08,450 --> 01:27:09,197 Хвала. 1939 01:27:09,197 --> 01:27:10,530 Тако је само послао ХТТП захтев. 1940 01:27:10,530 --> 01:27:11,270 Видиш то? 1941 01:27:11,270 --> 01:27:14,700 А то је само на исти начин да је сваки ХТТП захтев послат. 1942 01:27:14,700 --> 01:27:16,830 Претраживач Гоогле Цхроме или нешто, је 1943 01:27:16,830 --> 01:27:19,570 идемо да видимо да Давин је покушавајући да пошаље ХТТП захтев, 1944 01:27:19,570 --> 01:27:20,930 ће помоћи хм мало. 1945 01:27:20,930 --> 01:27:23,950 А то ће ићи све до серверу. 1946 01:27:23,950 --> 01:27:27,370 Сада, сервер ће имати ПХП овде, или било који други језик. 1947 01:27:27,370 --> 01:27:29,990 Баш као у нормалном ХТТП захтев. 1948 01:27:29,990 --> 01:27:31,950 То је прилично нормална ХТТП захтев. 1949 01:27:31,950 --> 01:27:33,658 >> А онда, сервера ће рећи, у реду, 1950 01:27:33,658 --> 01:27:37,270 Давин жели да провери да ли ово абц123 је у бази података. 1951 01:27:37,270 --> 01:27:38,310 Иди разговарај са моделом. 1952 01:27:38,310 --> 01:27:41,310 Модел каже да није. абц123 је добра корисничко име. 1953 01:27:41,310 --> 01:27:47,940 А онда, веб сервер ће користите ПХП да пружи неку врсту датотеке. 1954 01:27:47,940 --> 01:27:52,280 То може бити буквално само фајл да садржи "да" у њему, или "не, 1955 01:27:52,280 --> 01:27:53,315 или нешто слично. 1956 01:27:53,315 --> 01:27:54,190 То може да буде било који фајл. 1957 01:27:54,190 --> 01:27:57,080 >> То може бити као да ћу да послати Давин слику патка 1958 01:27:57,080 --> 01:28:01,200 ако је у бази података и послати слику хрчка 1959 01:28:01,200 --> 01:28:02,420 ако то није у бази података. 1960 01:28:02,420 --> 01:28:04,294 То би било некако глупо, али ће радити. 1961 01:28:04,294 --> 01:28:07,030 Ок, па сам послати патку на Давин. 1962 01:28:07,030 --> 01:28:08,150 Давин добио патку. 1963 01:28:08,150 --> 01:28:13,330 А сад, ко ће за руковање патку? 1964 01:28:13,330 --> 01:28:16,390 Паметан део Давин поново, тако ЈаваСцрипт, зар не? 1965 01:28:16,390 --> 01:28:18,620 ЈаваСцрипт је послао Захтев, и ЈаваСцрипт 1966 01:28:18,620 --> 01:28:22,300 ће да прими захтев и тумаче га у неком облику. 1967 01:28:22,300 --> 01:28:26,630 >> И у том смислу, то ће кажу, у реду, ако патка онда сам добар. 1968 01:28:26,630 --> 01:28:30,770 Ако хрчка, онда идем да кажем, већ не, корисничко име 1969 01:28:30,770 --> 01:28:31,970 постоји у бази података. 1970 01:28:31,970 --> 01:28:33,845 Али обично, ниси ће послати патку. 1971 01:28:33,845 --> 01:28:36,740 Идеш да пошаљете нешто мало паметнији. 1972 01:28:36,740 --> 01:28:40,320 А шта ми користимо је КСМЛ. 1973 01:28:40,320 --> 01:28:42,690 И још недавно, користимо ЈСОН. 1974 01:28:42,690 --> 01:28:45,629 ЈСОН је само скрипта Објецт нотација, која 1975 01:28:45,629 --> 01:28:47,670 је у основи добијате Цела ЈаваСцрипт објекат. 1976 01:28:47,670 --> 01:28:50,820 А ти си то ставила у фајл, баш као да ЦС50 објекат који сте видели. 1977 01:28:50,820 --> 01:28:53,090 Ти га стави у датотеци, и ти га послати преко до Давин. 1978 01:28:53,090 --> 01:28:55,850 >> Дакле, у овом случају, ја бих направи ЈаваСцрипт објекат 1979 01:28:55,850 --> 01:28:59,570 и само да кажем, корисник постоји, да. 1980 01:28:59,570 --> 01:29:01,630 Или корисник постоји, не. 1981 01:29:01,630 --> 01:29:02,810 И га послати назад у њега. 1982 01:29:02,810 --> 01:29:03,830 А зашто ЈСОН? 1983 01:29:03,830 --> 01:29:07,330 Јер особа ко прима је ово 1984 01:29:07,330 --> 01:29:10,030 ће користити ЈаваСцрипт за руковање одговор. 1985 01:29:10,030 --> 01:29:14,970 И ЈаваСцрипт функционише тако добро, јер то се зове ЈаваСкрипт објекта нотација. 1986 01:29:14,970 --> 01:29:15,470 Зар не? 1987 01:29:15,470 --> 01:29:19,660 Дакле, он само може назвати функцију и добити ово лепо објекат од одговора. 1988 01:29:19,660 --> 01:29:22,890 А онда, он ће знати да ли да је корисник у бази података или не. 1989 01:29:22,890 --> 01:29:25,230 >> Па видиш, све то долази заједно у веб сервера, 1990 01:29:25,230 --> 01:29:28,450 а ту је један ХТТП захтев да и један ХТТП одговор и све. 1991 01:29:28,450 --> 01:29:30,600 Зато пазите да момци разумеју овај АЈАКС позив 1992 01:29:30,600 --> 01:29:37,260 јер вам помаже да сви разумемо од појмова говоримо о. 1993 01:29:37,260 --> 01:29:40,260 >> Дакле ево примера Ајакса са јКуери. 1994 01:29:40,260 --> 01:29:42,130 И овде, радимо са гет ЈСОН. 1995 01:29:42,130 --> 01:29:45,660 Дакле, ми не покушавамо да слика мачке овде, или патка. 1996 01:29:45,660 --> 01:29:48,110 Покушавамо да добијем ЈСОН датотеку. 1997 01:29:48,110 --> 01:29:51,184 А онда смо чекати до се то ради, тачка урађено. 1998 01:29:51,184 --> 01:29:52,850 То значи Чекам одговор. 1999 01:29:52,850 --> 01:29:54,180 Можда ће мало потрајати. 2000 01:29:54,180 --> 01:29:56,360 Онда, видиш мало лоадинг. 2001 01:29:56,360 --> 01:29:59,340 Ако желите да урадите да у вашем сајту. 2002 01:29:59,340 --> 01:30:01,440 Дакле дот урађено, а шта онда дешава када се то ради? 2003 01:30:01,440 --> 01:30:04,040 Прођете у анонимно Функција, баш као што смо раније видели. 2004 01:30:04,040 --> 01:30:07,800 Јер урађено је догађај, само Као што ћете кликнути миша или шта већ, 2005 01:30:07,800 --> 01:30:08,710 за јКуери. 2006 01:30:08,710 --> 01:30:13,710 Тако да прође у овом функцији са Подаци, текст, стање, и јкКСХР. 2007 01:30:13,710 --> 01:30:15,790 И у основи, то је само неке променљиве 2008 01:30:15,790 --> 01:30:22,160 да можете користити касније да имају статус ХТТП захтева, 2009 01:30:22,160 --> 01:30:24,470 подаци који иде треба вратити назад са тобом. 2010 01:30:24,470 --> 01:30:28,740 Дакле онда касније може тумачити и учинити нешто што има смисла с њим. 2011 01:30:28,740 --> 01:30:30,240 И ако не, када би то могло успети? 2012 01:30:30,240 --> 01:30:33,780 Па, кад ХТТП захтев даје ви 500 или нешто слично. 2013 01:30:33,780 --> 01:30:37,420 Онда, то ће вам рећи Статус, каква неуспеха који је био, 2014 01:30:37,420 --> 01:30:38,420 и свашта. 2015 01:30:38,420 --> 01:30:40,630 Морате да се уверите за руковање оба случаја, 2016 01:30:40,630 --> 01:30:42,770 иначе програма полуди. 2017 01:30:42,770 --> 01:30:45,820 >> Давин: Да, ово је тачно Па шта сте видели на последњем п-сет. 2018 01:30:45,820 --> 01:30:49,720 Стварни АЈАКС позива у гет ЈСОН. 2019 01:30:49,720 --> 01:30:50,587 То је позив. 2020 01:30:50,587 --> 01:30:52,920 А онда, тачка урађено је као проверава да ли је успешан. 2021 01:30:52,920 --> 01:30:55,620 Ако је успешна, хоћеш да уради нешто са подацима. 2022 01:30:55,620 --> 01:30:59,290 Ти се врати из које ЈСОН тражити податке. 2023 01:30:59,290 --> 01:31:00,600 То је оно што се вратиш. 2024 01:31:00,600 --> 01:31:04,470 Дакле, ако се сећате из вашег п-сет, многи од вас су као држач података и 2025 01:31:04,470 --> 01:31:06,302 или шта год, тачка линк или наслов. 2026 01:31:06,302 --> 01:31:08,260 Шта год се враћа из тог ЈСОН, шта год 2027 01:31:08,260 --> 01:31:11,020 поља су у том објекту ЈСОН, то је оно што се вратим. 2028 01:31:11,020 --> 01:31:12,394 Дата је оно што се вратим. 2029 01:31:12,394 --> 01:31:15,510 Статус Текст, само нешто што вам каже шта се десило. 2030 01:31:15,510 --> 01:31:20,570 А онда, јкКСХР, то је само јКуери КСМЛ ХТТП захтев. 2031 01:31:20,570 --> 01:31:21,990 То је само као објекат. 2032 01:31:21,990 --> 01:31:23,932 А онда фаил, баш као Габе рекао. 2033 01:31:23,932 --> 01:31:27,140 ГАБЕ: У нашем малом примеру абц123 Само да проверим да ли је то у бази података 2034 01:31:27,140 --> 01:31:32,260 или не, да ће подаци бити нешто вам би урадио, ако тачка подаци корисничко име постоји, 2035 01:31:32,260 --> 01:31:37,720 који је оно твој ПХП генерисана за Ви, ако подаци тачка корисничко име постоји, онда 2036 01:31:37,720 --> 01:31:40,880 Идем да упозори, корисник Име већ постоји. 2037 01:31:40,880 --> 01:31:44,300 Друго, ја ћу пустити корисник настави попуњавањем формулара. 2038 01:31:44,300 --> 01:31:47,860 2039 01:31:47,860 --> 01:31:50,820 Ок, безбедност, кул. 2040 01:31:50,820 --> 01:31:52,060 >> Давин: ја Вант то? 2041 01:31:52,060 --> 01:31:54,500 >> ГАБЕ: Волим ову. 2042 01:31:54,500 --> 01:31:57,680 Тако нешто што изгледа познато. 2043 01:31:57,680 --> 01:31:59,750 Скоро смо готови. 2044 01:31:59,750 --> 01:32:02,670 Дакле, ово је само пример ви видели у класи. 2045 01:32:02,670 --> 01:32:04,860 Си користио аргв1 овде. 2046 01:32:04,860 --> 01:32:06,460 То је као аргумент командне линије. 2047 01:32:06,460 --> 01:32:09,270 И ми мем копирање да у бафер величине 12. 2048 01:32:09,270 --> 01:32:12,560 Шта је овде проблем? 2049 01:32:12,560 --> 01:32:13,660 Буффер оверфлов! 2050 01:32:13,660 --> 01:32:15,400 Јер имамо бафер величине 12. 2051 01:32:15,400 --> 01:32:18,400 аргв1 можда има величину од две милијарде. 2052 01:32:18,400 --> 01:32:19,960 Ми не радимо никакву граничну проверу. 2053 01:32:19,960 --> 01:32:24,970 Тако смо могли копирај много меморије. 2054 01:32:24,970 --> 01:32:28,630 И ми ћемо бити посебно лоше о томе. 2055 01:32:28,630 --> 01:32:32,600 Шта смо могли да урадимо то је Веома, веома значи у овом случају? 2056 01:32:32,600 --> 01:32:33,278 Да? 2057 01:32:33,278 --> 01:32:36,528 ПУБЛИКА: Део две милијарде ствари садржи извршни код који враћа 2058 01:32:36,528 --> 01:32:38,127 [Неразумљиво]. 2059 01:32:38,127 --> 01:32:38,710 ГАБЕ: Тачно. 2060 01:32:38,710 --> 01:32:41,110 Дакле, то је врста Оно што људи користе 2061 01:32:41,110 --> 01:32:43,344 да јаилбреак иПхоне, на пример. 2062 01:32:43,344 --> 01:32:44,260 Дакле такве ствари. 2063 01:32:44,260 --> 01:32:48,610 Јер само може да направи уређај изврши било који код који вам се свиђа. 2064 01:32:48,610 --> 01:32:50,247 Фикс, па је лако поправити. 2065 01:32:50,247 --> 01:32:51,330 Само проверите за граница. 2066 01:32:51,330 --> 01:32:53,455 Ви проверите нулл јер увек проверите нулл 2067 01:32:53,455 --> 01:32:54,940 када имамо посла са жицама. 2068 01:32:54,940 --> 01:32:57,840 А онда, узмете Дужина стринг пре. 2069 01:32:57,840 --> 01:33:00,150 А ако тетиву Дужина је важећа стринг 2070 01:33:00,150 --> 01:33:03,700 дужина, која је у оквиру 0 и 12, онда смо добри. 2071 01:33:03,700 --> 01:33:07,144 >> Давин: Ако не проверите нулл, врло брзо, шта ће се десити? 2072 01:33:07,144 --> 01:33:07,810 То ће СЕГ грешку. 2073 01:33:07,810 --> 01:33:10,850 Зашто ће СЕГ крив? 2074 01:33:10,850 --> 01:33:12,510 Зато што ви зовете стрлен на нулл. 2075 01:33:12,510 --> 01:33:13,010 ГАБЕ: Да. 2076 01:33:13,010 --> 01:33:16,490 2077 01:33:16,490 --> 01:33:19,630 Тачно или нетачно, користећи један лозинка је добра идеја. 2078 01:33:19,630 --> 01:33:20,430 >> ПУБЛИКА: Нетачно. 2079 01:33:20,430 --> 01:33:21,150 >> ГАБЕ: Нетачно. 2080 01:33:21,150 --> 01:33:23,870 Користите многе лозинке и велике, дуге оне. 2081 01:33:23,870 --> 01:33:26,050 Катанац иконе осигура безбедност. 2082 01:33:26,050 --> 01:33:27,080 >> ПУБЛИКА: Нетачно. 2083 01:33:27,080 --> 01:33:27,749 >> ГАБЕ: Нетачно. 2084 01:33:27,749 --> 01:33:28,790 То не значи ништа. 2085 01:33:28,790 --> 01:33:30,480 То је само икона. 2086 01:33:30,480 --> 01:33:32,824 ССЛ штити од човек у средњем нападу. 2087 01:33:32,824 --> 01:33:33,490 ПУБЛИКА: Нетачно. 2088 01:33:33,490 --> 01:33:34,110 ГАБЕ: Нетачно. 2089 01:33:34,110 --> 01:33:35,355 Ок, тако да сви они су лажни. 2090 01:33:35,355 --> 01:33:38,324 2091 01:33:38,324 --> 01:33:39,490 Лепо. 2092 01:33:39,490 --> 01:33:40,220 [Неразумљиво] 2093 01:33:40,220 --> 01:33:42,500 Желим да причам о овоме? 2094 01:33:42,500 --> 01:33:43,259 На тебе је ред. 2095 01:33:43,259 --> 01:33:45,050 Давин: Врсте напада, човек у средини. 2096 01:33:45,050 --> 01:33:47,134 Шта је човек у средњем нападу? 2097 01:33:47,134 --> 01:33:48,050 ПУБЛИКА: [неразумљиво]. 2098 01:33:48,050 --> 01:33:51,437 2099 01:33:51,437 --> 01:33:54,020 Давин: Ако шаљете ХТТП Захтев, они то могу, зар не? 2100 01:33:54,020 --> 01:33:57,890 Али ако шаљете ХТТПС, они вероватно неће бити у стању да уради ово. 2101 01:33:57,890 --> 01:33:59,952 Има доста поена дуж везе. 2102 01:33:59,952 --> 01:34:00,660 Имате рутере. 2103 01:34:00,660 --> 01:34:01,746 Имате ДНС сервере. 2104 01:34:01,746 --> 01:34:04,120 Ако је неко у стању да физички види шта шаљете, 2105 01:34:04,120 --> 01:34:06,140 тако је неко у стању да заправо добити између вас, 2106 01:34:06,140 --> 01:34:08,840 клијент, и сервера, па је могу да виде шта шаљете, 2107 01:34:08,840 --> 01:34:10,298 ово је човек у средини напада. 2108 01:34:10,298 --> 01:34:14,287 Па да видимо шта покушаваш да од сервера, или је у стању да видео-- горе, 2109 01:34:14,287 --> 01:34:16,620 можда ћете моћи да видите колачиће или нешто слично. 2110 01:34:16,620 --> 01:34:19,290 >> Тако на пример, ако не користите ССЛ, он 2111 01:34:19,290 --> 01:34:21,900 можда моћи да виде Ваша сесија ИД цоокиес. 2112 01:34:21,900 --> 01:34:25,460 И ово се зове седница отмица јер види свој ИД колачиће, 2113 01:34:25,460 --> 01:34:28,317 а онда је он у стању да иду у тај сајт и претварати да вас буде. 2114 01:34:28,317 --> 01:34:31,150 Јер баш као у ПХП, запамти када смо пријављени, шта да радимо? 2115 01:34:31,150 --> 01:34:33,340 Поставили смо ИД сесије једнаку ИД. 2116 01:34:33,340 --> 01:34:34,810 Тако да вас идентификује. 2117 01:34:34,810 --> 01:34:38,300 Зато можете да видите свој портфолио а не сви остали ПОРТФЕЉ. 2118 01:34:38,300 --> 01:34:42,320 >> Па, ако сам у могућности да добијете тај колач, онда могу пријавити на тој страници. 2119 01:34:42,320 --> 01:34:45,380 И онда, ја само могу да видим своје ствари и почети куповину и продају ствари. 2120 01:34:45,380 --> 01:34:46,800 Дакле, то је седница отмица. 2121 01:34:46,800 --> 01:34:50,810 Али ви не би требало да буде у стању да-- тако вас може користити човека у средњем нападу 2122 01:34:50,810 --> 01:34:52,290 чак и ако они користе ССЛ. 2123 01:34:52,290 --> 01:34:53,520 Али ви не би требало да буде у стању да. 2124 01:34:53,520 --> 01:34:56,580 Ако они користе ССЛ, не можеш седница отмица. 2125 01:34:56,580 --> 01:34:58,927 Зашто? 2126 01:34:58,927 --> 01:35:01,135 Зато што је све кодиран, зар не? ако је кодиран, 2127 01:35:01,135 --> 01:35:03,509 и још увек сам човек у средњи, и даље се ваше податке. 2128 01:35:03,509 --> 01:35:04,279 То је у реду. 2129 01:35:04,279 --> 01:35:05,070 Али је кодиран. 2130 01:35:05,070 --> 01:35:07,750 Тако да не могу да га користе. 2131 01:35:07,750 --> 01:35:09,840 Дакле, то су два. 2132 01:35:09,840 --> 01:35:11,544 >> Стварно брзо, крст сајт захтев фалсификат. 2133 01:35:11,544 --> 01:35:13,960 То је само ако постоји веза и та веза учини нешто 2134 01:35:13,960 --> 01:35:14,890 да не мислим да би требало да уради. 2135 01:35:14,890 --> 01:35:18,150 Тако на пример, ако је веза ће купити акције или продају акције, 2136 01:35:18,150 --> 01:35:19,360 а ви нисте знали да. 2137 01:35:19,360 --> 01:35:22,040 Сте кликнули на линк, послала захтев, купио 2138 01:35:22,040 --> 01:35:24,240 или продато нешто што да ниси хтео да уради. 2139 01:35:24,240 --> 01:35:25,120 То је то. 2140 01:35:25,120 --> 01:35:30,720 >> Цросс сите сцриптинг, па ево, ви пролазите у преко променљиве к, 2141 01:35:30,720 --> 01:35:33,510 уместо доношења у некој врсти од вредности, можда к је као име. 2142 01:35:33,510 --> 01:35:36,560 Дакле, уместо да пролази к екуалс Давин или нешто слично, 2143 01:35:36,560 --> 01:35:38,740 ако не користите ХТМЛ посебни слова, теби ако 2144 01:35:38,740 --> 01:35:43,100 не побегне ово бити сигурни да је У реду, онда бих могао уместо проћи у, 2145 01:35:43,100 --> 01:35:46,910 Рецимо овде говорим штампање или нешто слично, 2146 01:35:46,910 --> 01:35:51,070 онда сам могао проћи овде скрипт позив. 2147 01:35:51,070 --> 01:35:53,140 >> Дакле онда, уместо да Само добијање променљиву, 2148 01:35:53,140 --> 01:35:54,960 Ја бих тада извршења ове скрипте позив. 2149 01:35:54,960 --> 01:35:57,065 Дакле у тој скрипти позовите, шта то радим? 2150 01:35:57,065 --> 01:36:00,190 Документ дот локација, које ће промените локацију документа. 2151 01:36:00,190 --> 01:36:02,290 Зато ћу да преусмери да негде другде. 2152 01:36:02,290 --> 01:36:08,170 То се зове негативац у овај пример, веома добро. 2153 01:36:08,170 --> 01:36:10,536 Није могао да смисли речи. 2154 01:36:10,536 --> 01:36:12,410 А онда, шта је још горе је да идем 2155 01:36:12,410 --> 01:36:16,832 да онда сет цоокие, што је неке променљива Имам у овом сајту. 2156 01:36:16,832 --> 01:36:19,040 Идем поставити је изједначити на документ дот колачића. 2157 01:36:19,040 --> 01:36:20,660 Стога, ја идем да ти украде колачић. 2158 01:36:20,660 --> 01:36:22,951 И ја ћу да преусмери неке информације на сајту 2159 01:36:22,951 --> 01:36:25,120 да не треба да се приступа. 2160 01:36:25,120 --> 01:36:29,250 И то све дешава зато што си не беже шта сте видели. 2161 01:36:29,250 --> 01:36:29,910 Да? 2162 01:36:29,910 --> 01:36:32,160 >> ПУБЛИКА: Дакле, само да буде јасно, то је 2163 01:36:32,160 --> 01:36:37,550 вулнерабле.цом да је рањива на ово. 2164 01:36:37,550 --> 01:36:39,300 Тако да веза може појавити на било ком страници. 2165 01:36:39,300 --> 01:36:42,200 Неко кликне на њега, иде на вулнерабле.цом. 2166 01:36:42,200 --> 01:36:43,700 Имате колачић на вулнерабле.цом. 2167 01:36:43,700 --> 01:36:46,670 Рецимо Фацебоок је рањива, тако фацебоок.цом. 2168 01:36:46,670 --> 01:36:48,310 Имате свој Фацебоок колачић. 2169 01:36:48,310 --> 01:36:50,925 Шта то ради, ти си ће фацебоок.цом, 2170 01:36:50,925 --> 01:36:53,990 то је одмах преусмерава да бадгуи.цом, 2171 01:36:53,990 --> 01:36:57,182 али укључујући ваше информације о колачићима. 2172 01:36:57,182 --> 01:36:59,310 Тако да је брзо преусмеравање, али ваш Фацебоок колачић 2173 01:36:59,310 --> 01:37:02,572 је укључен у том додатном испитивању, и тако су [неразумљиво]. 2174 01:37:02,572 --> 01:37:04,280 ГАБЕ: Да, ту је неке веома зле ствари 2175 01:37:04,280 --> 01:37:06,070 да људи могу да урадим ако постоји ово. 2176 01:37:06,070 --> 01:37:09,190 На пример, ако Фацебоок дозвољено сви да промените своје корисничко име, 2177 01:37:09,190 --> 01:37:11,680 а они то нису радили било Санити чекови, тебе тако 2178 01:37:11,680 --> 01:37:16,810 могао убаците ЈаваСцрипт ствар која мења своју слику на хрчка. 2179 01:37:16,810 --> 01:37:22,590 И то убацује исто ЈаваСцрипт у свима који гледа своју страницу. 2180 01:37:22,590 --> 01:37:26,400 Па свако ко виевс своју страницу има исту ствар у корисничком имену. 2181 01:37:26,400 --> 01:37:30,104 И зато што је вирус, она експоненцијално шири. 2182 01:37:30,104 --> 01:37:32,270 Давин: Ми ћемо прескочити последњи један, а онда смо готови. 2183 01:37:32,270 --> 01:37:34,120 Дакле, ово је само још један пример. 2184 01:37:34,120 --> 01:37:36,120 Дакле, ово је нису побегну њихов СКЛ сто. 2185 01:37:36,120 --> 01:37:37,090 Тако да можете да прекинемо. 2186 01:37:37,090 --> 01:37:38,805 Дакле, желите да побегнете ствари. 2187 01:37:38,805 --> 01:37:44,010 То је био претходни пример са унакрсном сите сцриптинг. 2188 01:37:44,010 --> 01:37:45,430 Извините што касним водио мало. 2189 01:37:45,430 --> 01:37:46,870 Сутра, извини! 2190 01:37:46,870 --> 01:37:48,560 Сутра, имамо радно вријеме. 2191 01:37:48,560 --> 01:37:50,870 Тако радно време у Цаббот 8:00 до 11:00 часова. 2192 01:37:50,870 --> 01:37:55,240 У радно време је строго за квиз питања. 2193 01:37:55,240 --> 01:37:56,587