1 00:00:00,000 --> 00:00:00,060 2 00:00:00,060 --> 00:00:01,560 >> Давид Малан: У реду, вратили смо се. 3 00:00:01,560 --> 00:00:03,830 Дакле, за узбудљив закључак, наш последњи део 4 00:00:03,830 --> 00:00:06,900 на веб програмирање, који сам Мислили смо да користимо као општи појам 5 00:00:06,900 --> 00:00:08,440 за снимање неколико преосталих тема. 6 00:00:08,440 --> 00:00:10,390 Тако да је на крају овог дан, ми ћемо заправо радити 7 00:00:10,390 --> 00:00:14,830 мало Хандс-Он веб програмирање језиком зове Јавасцрипт. 8 00:00:14,830 --> 00:00:17,510 И мислим да ћу да погледам на нешто у вези са сликама 9 00:00:17,510 --> 00:00:20,040 и откривање нешто тајно скривено у слици, 10 00:00:20,040 --> 00:00:23,230 и такође погледајте Гоогле Мапе АПИ, програмирање апликација 11 00:00:23,230 --> 00:00:26,040 интерфејс, као нешто представник врсте софтвера 12 00:00:26,040 --> 00:00:28,800 То је све и слободно доступан данас. 13 00:00:28,800 --> 00:00:32,029 >> Али зашто не бисмо погледали на састојак у овај свет 14 00:00:32,029 --> 00:00:34,070 да смо некако били узимајући здраво за готово не постоји 15 00:00:34,070 --> 00:00:36,720 за неко време, база података. 16 00:00:36,720 --> 00:00:39,150 За протеклих дана и пола смо претпоставили 17 00:00:39,150 --> 00:00:42,910 да имамо приступ бази података, али какав проблем не реши база података? 18 00:00:42,910 --> 00:00:45,540 Шта ради за нас? 19 00:00:45,540 --> 00:00:47,030 Шта је то? 20 00:00:47,030 --> 00:00:48,679 >> ПУБЛИКА: [неразумљиво] 21 00:00:48,679 --> 00:00:51,720 Давид Малан: Држи све информације, ОК, и које врсте информација 22 00:00:51,720 --> 00:00:53,186 Можда сте ставили у њу? 23 00:00:53,186 --> 00:00:54,590 >> ПУБЛИКА: [неразумљиво] 24 00:00:54,590 --> 00:00:56,450 >> Давид Малан: Свака информација ставите у њу, да ћеш се вратити. 25 00:00:56,450 --> 00:00:57,070 То је истина. 26 00:00:57,070 --> 00:01:01,900 И на типичном веб-басед сајта или веб апликација, које врсте информација, 27 00:01:01,900 --> 00:01:03,385 конкретно, можда сте ставили у? 28 00:01:03,385 --> 00:01:04,260 ПУБЛИКА: [неразумљиво] 29 00:01:04,260 --> 00:01:05,051 Давид Малан: корисници. 30 00:01:05,051 --> 00:01:07,000 Дакле, шта је корисник? 31 00:01:07,000 --> 00:01:09,765 >> ПУБЛИКА: [неразумљиво] 32 00:01:09,765 --> 00:01:11,640 Давид Малан: У реду, регистрован корисник сајта. 33 00:01:11,640 --> 00:01:15,100 И шта то значи складиште информација корисника? 34 00:01:15,100 --> 00:01:17,260 Шта саставља корисника? 35 00:01:17,260 --> 00:01:18,331 Корисник је шта? 36 00:01:18,331 --> 00:01:19,206 ПУБЛИКА: [неразумљиво] 37 00:01:19,206 --> 00:01:21,040 Давид Малан: Да, лични података, и то ми се свиђа. 38 00:01:21,040 --> 00:01:21,970 Да будем прецизнији. 39 00:01:21,970 --> 00:01:25,275 Дакле, корисник обично има име, шта друго може да корисник има? 40 00:01:25,275 --> 00:01:26,150 ПУБЛИКА: [неразумљиво] 41 00:01:26,150 --> 00:01:29,130 Давид Малан Ан аддр-- реду, тако име, презиме. 42 00:01:29,130 --> 00:01:29,630 То је добро. 43 00:01:29,630 --> 00:01:31,463 Заправо, да поправимо да, јер ће 44 00:01:31,463 --> 00:01:35,010 да би отворили могућност за дискусија, и даље, даље. 45 00:01:35,010 --> 00:01:39,090 Име, презиме, пол. 46 00:01:39,090 --> 00:01:41,820 47 00:01:41,820 --> 00:01:43,481 Лична неке врсте. 48 00:01:43,481 --> 00:01:43,980 Шта још? 49 00:01:43,980 --> 00:01:45,438 Чуо сам нешто раније, такође. 50 00:01:45,438 --> 00:01:51,600 Е-маил, поштанска адреса. 51 00:01:51,600 --> 00:01:58,170 >> Дакле, хајде да овде зауставите и сада размотрити није оно што ми складиштење у бази података, 52 00:01:58,170 --> 00:02:01,980 али- и не зашто, јер је можда очигледно да је једном региструјете корисника, 53 00:02:01,980 --> 00:02:03,730 желите да их запамтити за неко време. 54 00:02:03,730 --> 00:02:05,480 Ви не желите да само да се складиште у РАМ 55 00:02:05,480 --> 00:02:08,690 и буде форготтен-- тако хајде да се фокусирају на питање како. 56 00:02:08,690 --> 00:02:11,700 >> Испоставило се да у свет базе података, 57 00:02:11,700 --> 00:02:14,410 има најмање две врсте ових дана. 58 00:02:14,410 --> 00:02:20,010 Нешто што се зове СКЛ базу података, Струцтуред Куери Лангуаге, 59 00:02:20,010 --> 00:02:24,770 или, цутели по имену, носкл, што није СКЛ. 60 00:02:24,770 --> 00:02:26,980 А други је пример онога што би могло 61 00:02:26,980 --> 00:02:30,660 се зове објектно оријентисан, или објекат продавница, база података 62 00:02:30,660 --> 00:02:36,010 која садржи објекте, а не, оправдање ја, као што ћемо ускоро видети, редове. 63 00:02:36,010 --> 00:02:41,800 >> Па ћемо се фокусирати само на тренутак на прва од њих, наиме, СКЛ 64 00:02:41,800 --> 00:02:46,850 база података, ако само зато што је тако познато већ, било коме 65 00:02:46,850 --> 00:02:51,070 који је користио Екцел или Гоогле табела или Аппле 66 00:02:51,070 --> 00:02:53,740 Бројева или било који стандардни табеларни програм, 67 00:02:53,740 --> 00:02:56,040 или еквивалентно или више софистицирано, 68 00:02:56,040 --> 00:02:58,610 нешто као Мицрософт Приступ или Орацле 69 00:02:58,610 --> 00:03:03,890 или МиСКЛ или ПостгреСКЛ, од којих сви су називи производа за имплементација 70 00:03:03,890 --> 00:03:04,865 на наредном идеје. 71 00:03:04,865 --> 00:03:10,350 >> Релациона база података је једноставно нешто што има редове и колоне. 72 00:03:10,350 --> 00:03:12,850 И по редовима и колонама, Ја буквално значи нешто 73 00:03:12,850 --> 00:03:21,860 овако, па где би могли имати назив поља и његову врсту овде. 74 00:03:21,860 --> 00:03:25,800 И заправо, пусти ме сада почињу да карту ово. 75 00:03:25,800 --> 00:03:29,420 Уствари, ја не знам Зато сам нацртао посебан графикон. 76 00:03:29,420 --> 00:03:30,780 Нека ово буде једноставна. 77 00:03:30,780 --> 00:03:34,830 >> Имамо право овде Почеци нашег стола, где 78 00:03:34,830 --> 00:03:40,150 ово је име поља а то је тип података, 79 00:03:40,150 --> 00:03:41,660 и према врсти мислим на следеће. 80 00:03:41,660 --> 00:03:45,510 Да ли је то број, то је ниска, кратак низ као реч, 81 00:03:45,510 --> 00:03:49,340 да ли је то пасус, то је бинарни подаци, као што је на слици? 82 00:03:49,340 --> 00:03:51,980 И хајде да задиркују ово осим за тренутак. 83 00:03:51,980 --> 00:03:57,575 Дакле, прво име, број, ниска, велики део тект-- 84 00:03:57,575 --> 00:03:58,450 ПУБЛИКА: [неразумљиво] 85 00:03:58,450 --> 00:03:59,616 Давид Малан: Да, тако ниска. 86 00:03:59,616 --> 00:04:04,744 И у контексту базе података, ми ћемо обично зову ово поље кар. 87 00:04:04,744 --> 00:04:07,660 Само ћу рећи цхар за сада, али смо да прерадити то у тренутку. 88 00:04:07,660 --> 00:04:09,180 Карактер поље. 89 00:04:09,180 --> 00:04:11,365 Презиме је вероватно исто. 90 00:04:11,365 --> 00:04:11,865 Пол? 91 00:04:11,865 --> 00:04:16,230 92 00:04:16,230 --> 00:04:18,310 >> Мушко или женско, тако да може бити поље инт. 93 00:04:18,310 --> 00:04:21,380 То може бити било цитат, под знацима навода "Мушки" или цитат, под знацима навода "женски" 94 00:04:21,380 --> 00:04:23,650 или то може бити м или ф. 95 00:04:23,650 --> 00:04:26,540 Ако желите да будете више инклузивни, можда ће бити потребно трећа вредност 96 00:04:26,540 --> 00:04:28,640 или нека друга поља у потпуности. 97 00:04:28,640 --> 00:04:31,350 И тако можете користити фалсе. 98 00:04:31,350 --> 00:04:35,036 Поље би се могао назвати мушкарац, и онда се може рећи тачно или нетачно. 99 00:04:35,036 --> 00:04:38,160 Али то не мора ухватити све информације можете желите. 100 00:04:38,160 --> 00:04:41,118 >> Тако испада постоји још једна врста поља која би могла бити од користи овде 101 00:04:41,118 --> 00:04:46,040 у типичном бази података, назвао енум, где је поље карактер, 102 00:04:46,040 --> 00:04:50,480 али, дизајнер, доћи до набројати могуће вредности, 103 00:04:50,480 --> 00:04:54,630 као цитат, под знацима навода "мушко", цитат, под знацима навода "женски" и тако даље. 104 00:04:54,630 --> 00:04:57,620 Тако да све вредности је у својој бази података, 105 00:04:57,620 --> 00:05:00,670 заиста лик заснован, али то мора бити један од тих вредности. 106 00:05:00,670 --> 00:05:03,520 Вероватно не би желео да чује енум за имену или презимену. 107 00:05:03,520 --> 00:05:05,630 У супротном бисмо имали набројати, као име 108 00:05:05,630 --> 00:05:09,570 произлази из, буквално сваки могуће име и презиме. 109 00:05:09,570 --> 00:05:13,960 >> У реду, тако ИД шта треба лична бити? 110 00:05:13,960 --> 00:05:15,200 Да, па можда број. 111 00:05:15,200 --> 00:05:17,870 Дакле, да се држимо да за сада, број. 112 00:05:17,870 --> 00:05:22,010 И по броју, број је сувише широк сада. 113 00:05:22,010 --> 00:05:23,900 За крај другог дан, осећам као да смо 114 00:05:23,900 --> 00:05:25,280 треба да буде мало прецизнији. 115 00:05:25,280 --> 00:05:29,280 Број могло да значи да, то може бити нешто као 1.236. 116 00:05:29,280 --> 00:05:31,500 И то је вероватно није оно што подразумевамо под личном картом. 117 00:05:31,500 --> 00:05:34,635 Шта ћемо вероватно значи од стране ИД? 118 00:05:34,635 --> 00:05:36,382 >> ПУБЛИКА: [неразумљиво] 119 00:05:36,382 --> 00:05:38,590 Давид Малан: О, у реду, тако можда није ни број. 120 00:05:38,590 --> 00:05:42,840 Можда је заправо јединствени идентификатор То је низ, као корисничког имена. 121 00:05:42,840 --> 00:05:44,580 Дакле, апсолутно, може бити. 122 00:05:44,580 --> 00:05:46,730 Мислим да је неко вероватно значи нумерички, мада. 123 00:05:46,730 --> 00:05:48,460 Дакле, хајде да останемо са тим. 124 00:05:48,460 --> 00:05:49,320 Какав број? 125 00:05:49,320 --> 00:05:51,960 Шта је још прецисе-- цео број. 126 00:05:51,960 --> 00:05:56,710 Тако се известан број као 0, 1, 2, 3, па ћемо назвати овај цео број. 127 00:05:56,710 --> 00:05:58,909 А чак и тада, могао сам се цјепидлачење, то је 128 00:05:58,909 --> 00:06:00,700 не стварно само Генерално цео хоћеш. 129 00:06:00,700 --> 00:06:04,340 Вероватно не желите негативне вредности, само зато, што се осећа чудно. 130 00:06:04,340 --> 00:06:06,070 Вероватно желите позитивни цели бројеви. 131 00:06:06,070 --> 00:06:07,920 Тако да се може изразити да у бази података, 132 00:06:07,920 --> 00:06:09,450 али за сада, рећи ћемо цео. 133 00:06:09,450 --> 00:06:10,650 >> Емаил? 134 00:06:10,650 --> 00:06:13,550 Ово је вероватно само- шта? 135 00:06:13,550 --> 00:06:14,460 >> ПУБЛИКА: [неразумљиво] 136 00:06:14,460 --> 00:06:16,980 >> Давид Малан: То је е-маил, али то је карактера, зар не? 137 00:06:16,980 --> 00:06:19,813 Само има функи карактер као "ат" симбол или нешто друго, 138 00:06:19,813 --> 00:06:21,580 али је и даље поље карактер. 139 00:06:21,580 --> 00:06:23,900 И поштанску адресу? 140 00:06:23,900 --> 00:06:25,360 Карактер поље. 141 00:06:25,360 --> 00:06:31,400 Дакле, то је лепо почетак, али будимо мало прецизнији сада. 142 00:06:31,400 --> 00:06:34,540 >> Тако испада да је у база података, често 143 00:06:34,540 --> 00:06:39,120 имају избор на више рафинирани верзије ових ствари. 144 00:06:39,120 --> 00:06:44,330 У ствари, у типичном СКЛ базе података, СКЛ, или више уопште, релациона база података, 145 00:06:44,330 --> 00:06:46,680 база података са редовима и колоне, често 146 00:06:46,680 --> 00:06:53,610 се одредити не само од врсте фиелд-- дозволите ми да мало мјеста овде-- 147 00:06:53,610 --> 00:06:56,600 али и дужине. 148 00:06:56,600 --> 00:06:59,900 >> Колико дуго је име? 149 00:06:59,900 --> 00:07:07,060 Мислим, Д-А-В-И-д. У реду, ја га Вероватно је само увредио као пола 150 00:07:07,060 --> 00:07:11,260 људи у просторији, десно, јер ваша имена су дуже од пет 151 00:07:11,260 --> 00:07:16,608 слова, па пет изгледа мало себичним и наивни, па шта је бољи вредност? 152 00:07:16,608 --> 00:07:19,320 153 00:07:19,320 --> 00:07:24,330 10, у реду, и ја мислим добро смо у соби. 154 00:07:24,330 --> 00:07:26,254 13? 155 00:07:26,254 --> 00:07:27,541 30? 156 00:07:27,541 --> 00:07:29,540 Зашто не узимам приступ раније када смо 157 00:07:29,540 --> 00:07:31,081 говоримо о низовима и меморије? 158 00:07:31,081 --> 00:07:32,450 Зашто не само рећи да 1.000? 159 00:07:32,450 --> 00:07:35,260 Ничија име иде да буде дужи од 1.000. 160 00:07:35,260 --> 00:07:36,706 Потисне. 161 00:07:36,706 --> 00:07:38,005 >> ПУБЛИКА: [неразумљиво] 162 00:07:38,005 --> 00:07:40,130 Давид Малан: Да, то је расипнички, десно, посебно 163 00:07:40,130 --> 00:07:44,630 ако већина имена су само пет или 10 или 15 знакова, то је веома расипан. 164 00:07:44,630 --> 00:07:45,810 Дакле, знате шта? 165 00:07:45,810 --> 00:07:48,020 Ово је некако тешко питање. 166 00:07:48,020 --> 00:07:51,721 Сада, сигурно можемо анализирати Енглисх и имена било који други језик је 167 00:07:51,721 --> 00:07:54,470 и схватити, добро, шта је авераге-- просек не баш 168 00:07:54,470 --> 00:07:57,150 помоћи нас-- што је највећа је вероватно оно што заиста желимо. 169 00:07:57,150 --> 00:07:59,920 Али испоставило се да чак ни неки избор од типа овде. 170 00:07:59,920 --> 00:08:03,400 >> У типичном СКЛ бази, су нешто што се зове инт поље 171 00:08:03,400 --> 00:08:07,505 а такође и варцхар, В-А-Р, за променљиве области цхар. 172 00:08:07,505 --> 00:08:08,630 А разлика је ово. 173 00:08:08,630 --> 00:08:12,400 Поље знак, ви дизајнер, морају одредити унапред 174 00:08:12,400 --> 00:08:14,900 тачан дужина поља. 175 00:08:14,900 --> 00:08:20,530 Дакле, можда је име као 20 осећа некако сигурно. 176 00:08:20,530 --> 00:08:23,950 Можда треба да урадите нешто гугујеш у видим да ли је то довољно стварно сигурно. 177 00:08:23,950 --> 00:08:26,910 Вероватно је име са 21 карактера, али за сада, претпостављам 20 178 00:08:26,910 --> 00:08:27,620 безбедно је. 179 00:08:27,620 --> 00:08:30,070 >> Поље Чар би значило у бази података које вас 180 00:08:30,070 --> 00:08:33,289 су користећи 20 и увек 20 знакова. 181 00:08:33,289 --> 00:08:37,419 Сада ако је само Д-А-В-И-Д 15 оних који су тек ће бити бланко знакова, 182 00:08:37,419 --> 00:08:40,450 али се још увек користе свих 20 бајтова. 183 00:08:40,450 --> 00:08:46,302 Поље инт, с друге стране, значи да је ниска треба да буде до 20 карактера 184 00:08:46,302 --> 00:08:48,260 али ако је само пет, Ви само ћемо користити 185 00:08:48,260 --> 00:08:51,270 пет, или можда шест фор а Посебну вредност на крају, 186 00:08:51,270 --> 00:08:54,980 као онај 0 разговарали смо да означава крај карактера 187 00:08:54,980 --> 00:08:56,790 секвенца у меморији. 188 00:08:56,790 --> 00:08:59,950 >> Дакле, када мислите можете одабрати цхар 189 00:08:59,950 --> 00:09:05,240 против варцхар, с обзиром да је компромис? 190 00:09:05,240 --> 00:09:09,321 Цхар користи ту много знакова, варцхар користи ништа више од тога много знакова. 191 00:09:09,321 --> 00:09:10,196 ПУБЛИКА: [неразумљиво] 192 00:09:10,196 --> 00:09:13,859 193 00:09:13,859 --> 00:09:16,900 Давид Малан: Добро, кад знаш да је дужина низа прилично убедљив 194 00:09:16,900 --> 00:09:19,316 је користити само знак, јер ако Ви то знате, само га спусти. 195 00:09:19,316 --> 00:09:23,390 А можда је то истина за рар код, у САД, најмање, 02138, 196 00:09:23,390 --> 00:09:26,660 то је увек ће бити пет ликови док не додате цртица четири. 197 00:09:26,660 --> 00:09:29,750 Али можда имати неке вредности за који увек зна дужину. 198 00:09:29,750 --> 00:09:32,310 Или можда државни симболи, као НИ за Нев Иорк, 199 00:09:32,310 --> 00:09:33,811 и МА за Масачусетс у САД. 200 00:09:33,811 --> 00:09:36,560 Можда ти немаш неке ситуације где је то потпуно разумно, 201 00:09:36,560 --> 00:09:39,520 али тој логици, зашто су ми чак размиљљаљ ово? 202 00:09:39,520 --> 00:09:41,800 Зашто једноставно не користимо инт а онда ћемо само 203 00:09:41,800 --> 00:09:46,730 увек користите два лика у сваком случају, или увек користите пет знакова у сваком случају? 204 00:09:46,730 --> 00:09:50,300 Зашто не само сачувати варцхар за све, та логика? 205 00:09:50,300 --> 00:09:51,677 Мора да постоји нека цака. 206 00:09:51,677 --> 00:09:52,552 ПУБЛИКА: [неразумљиво] 207 00:09:52,552 --> 00:09:54,952 208 00:09:54,952 --> 00:09:56,660 Давид Малан: Цоулд напише нешто погрешно. 209 00:09:56,660 --> 00:09:58,090 Тако да је истина. 210 00:09:58,090 --> 00:10:01,030 Али чак и тада, они не могу да користе више меморије него што сам издвојити. 211 00:10:01,030 --> 00:10:03,340 Још увек имам финалу кажу по дужини, 212 00:10:03,340 --> 00:10:06,780 тако да не могу случајно да да грешка, али добра идеја. 213 00:10:06,780 --> 00:10:10,510 То је суптилније, али то је веома везани у нашој дискусији, заправо, од низова 214 00:10:10,510 --> 00:10:12,390 и повезане листе раније. 215 00:10:12,390 --> 00:10:16,290 >> Испоставило се да база података, ако зна да све вредности су 216 00:10:16,290 --> 00:10:19,250 забележбе дужине, макар неки од тих вредности су празне, 217 00:10:19,250 --> 00:10:22,484 некако естетски празно, Д-А-В-И-Д, а затим 15 празнине, 218 00:10:22,484 --> 00:10:24,650 испада да ако сваки поље је једнаке дужине, 219 00:10:24,650 --> 00:10:28,670 слично као низа имали све своје ствари бацк то бацк то бацк то бацк, тако да 220 00:10:28,670 --> 00:10:33,480 само, плус 1 могао доћи до следећег вредност, иста идеја у табели базе података. 221 00:10:33,480 --> 00:10:37,550 Ако је сву своју карактера жице су исте дужине, 222 00:10:37,550 --> 00:10:39,390 имате оно што се зове директног приступа. 223 00:10:39,390 --> 00:10:41,850 Ако су све жице су дужина 20, ви не само 224 00:10:41,850 --> 00:10:45,230 до плус 1 то управо урадио више 20 плус 20 плус 20 плус 20, 225 00:10:45,230 --> 00:10:48,775 а можете врло брзо кретање кроз или претраживати све податке. 226 00:10:48,775 --> 00:10:54,420 >> Променљиве символ поље, с друге стране, не мора увек да има 20 знакова. 227 00:10:54,420 --> 00:10:58,000 То би могло имати 20, а затим 15 и потом 19 и онда 10, 228 00:10:58,000 --> 00:11:00,720 па ако желите да претражите кроз њу, не можеш само слепо 229 00:11:00,720 --> 00:11:03,050 додати 20 бајтова да се на следећу. 230 00:11:03,050 --> 00:11:07,280 Имате буквално за претраживање преко јер ивица структуре података, 231 00:11:07,280 --> 00:11:08,340 ако хоћете, је чупав. 232 00:11:08,340 --> 00:11:11,480 Некако улази и излази на бази на стварне дужине низа. 233 00:11:11,480 --> 00:11:14,460 Дакле, када знате дужину, као Кареем каже, користите поље цхар, 234 00:11:14,460 --> 00:11:16,460 јер добијате да Ефикасност је 235 00:11:16,460 --> 00:11:19,170 у стању да брже тражење кроз њега када сте у потрази за подацима, 236 00:11:19,170 --> 00:11:20,550 иначе користи променљиву. 237 00:11:20,550 --> 00:11:24,450 >> На жалост, немам добар одговор на колико дуго име треба да буде, 238 00:11:24,450 --> 00:11:26,360 али за тако нешто име, рекао бих 239 00:11:26,360 --> 00:11:28,470 инт је уобичајено јер не иде 240 00:11:28,470 --> 00:11:30,430 да буде фиксне дужине за свакога. 241 00:11:30,430 --> 00:11:33,650 20, не знам, 20 осећа мало тесне. 242 00:11:33,650 --> 00:11:36,460 Рецимо 50, 50. 243 00:11:36,460 --> 00:11:39,210 Не стварно кошта да много више рећи 50 уместо 40, 244 00:11:39,210 --> 00:11:41,260 али у неком тренутку, морате да пресуда позив. 245 00:11:41,260 --> 00:11:43,090 >> Веома честа, искрено, за [? историјски?] 246 00:11:43,090 --> 00:11:47,670 Разлози, иако је претерана, јест 255, јер пре извесног времена, 247 00:11:47,670 --> 00:11:51,440 у популарним системима база података, као МиСКЛ, бесплатан опен соурце алат 248 00:11:51,440 --> 00:11:53,790 да много компанија као и на Фацебоок користи, 249 00:11:53,790 --> 00:11:56,654 ово је максимум подразумевани тако да људи једноставно отишао са њим. 250 00:11:56,654 --> 00:11:59,070 Дакле, не неразумно, али ћемо користи мало интуицију 251 00:11:59,070 --> 00:12:02,970 и кажу, сигурно 50, то је вероватно мало претерано. 252 00:12:02,970 --> 00:12:05,720 >> Пол, ја као енум, па смо стога можемо 253 00:12:05,720 --> 00:12:08,760 набројати мушко или женско, или можда ефикасније, 254 00:12:08,760 --> 00:12:13,420 м или ф или неки други симбологије, али енум изгледа као добар избор тамо. 255 00:12:13,420 --> 00:12:16,740 Да буде јасно, пол може бити само НУЛЛ, 256 00:12:16,740 --> 00:12:19,090 и можемо само сви слажу као фине људе, 257 00:12:19,090 --> 00:12:21,010 увек стави исте вредности тамо. 258 00:12:21,010 --> 00:12:22,720 Мушко или женско или шта све не. 259 00:12:22,720 --> 00:12:27,800 >> Али проблем онда, је да смо могли погрешити, јер [неразумљиво] предложени 260 00:12:27,800 --> 00:12:29,140 раније у другачијем контексту. 261 00:12:29,140 --> 00:12:32,780 Ако направимо грешку, можемо добити погрешних вредности у нашој бази података. 262 00:12:32,780 --> 00:12:36,320 Дакле, шта је лепо у вези са базама података као Орацле и МиСКЛ и других, 263 00:12:36,320 --> 00:12:39,280 је да имате овај последњи слој одбране где 264 00:12:39,280 --> 00:12:43,010 администратор ДБА, база података, ко год је пројектовање ову табелу као и ми 265 00:12:43,010 --> 00:12:46,440 су вербално, да ставимо на предај енум да 266 00:12:46,440 --> 00:12:51,250 штити против тога одређивањем мушко, женско, па нико 267 00:12:51,250 --> 00:12:54,230 друго не програмер може случајно убаците било који други вредности. 268 00:12:54,230 --> 00:12:55,480 Дакле, то би била добра ствар. 269 00:12:55,480 --> 00:12:56,660 Ово је функција. 270 00:12:56,660 --> 00:13:00,760 >> Дакле, лична, под претпоставком нумеричку ИД га, Вероватно би требало да буде позитиван цео број. 271 00:13:00,760 --> 00:13:04,380 И ми понекад имају прилика да се разговара дужину. 272 00:13:04,380 --> 00:13:06,830 Ти не би типично навести број овде, 273 00:13:06,830 --> 00:13:11,310 би уместо тога одредити ово је инт, или велика инт, 274 00:13:11,310 --> 00:13:12,980 као што су типично звали. 275 00:13:12,980 --> 00:13:18,840 Али типично, цео број било би, рецимо, 4 бајта. 276 00:13:18,840 --> 00:13:23,694 И ако је 4 бајта, то је колико бита? 277 00:13:23,694 --> 00:13:24,630 >> ПУБЛИКА: [неразумљиво] 278 00:13:24,630 --> 00:13:26,610 >> Давид Малан: 32 бита. 279 00:13:26,610 --> 00:13:30,270 Колико корисници могу имамо у Наша база података уколико они имају личну карту 280 00:13:30,270 --> 00:13:33,320 а ова лична мора да буде јединствен? 281 00:13:33,320 --> 00:13:36,780 32 бита значи да смо узорке једног, два, три, четири, фиве-- 282 00:13:36,780 --> 00:13:41,000 па колико различитих дезена нула и оне могу ли да има 32? 283 00:13:41,000 --> 00:13:43,235 То је иста ствар као и пита шта је две до 32? 284 00:13:43,235 --> 00:13:46,472 285 00:13:46,472 --> 00:13:48,430 То је велики број који Не могу баш како треба, 286 00:13:48,430 --> 00:13:50,270 али знам да је око 4 милијарде. 287 00:13:50,270 --> 00:13:53,970 Дакле, ово значи да ваш сто база података може имају четири милијарде корисника и то је то. 288 00:13:53,970 --> 00:13:56,410 >> Дакле, ово је занимљив дизајн импликација. 289 00:13:56,410 --> 00:14:00,840 Пристојан број компанија одлучили, можда не толико 290 00:14:00,840 --> 00:14:04,860 за њихову табелу кориснике јер имају 4 милијарде корисника је редак проблем. 291 00:14:04,860 --> 00:14:08,410 Ово је нека врста Фацебоок-стил проблем, а не типичан компанија проблема. 292 00:14:08,410 --> 00:14:12,670 Али можда ако имате трансакција логове или нека врста података који стално 293 00:14:12,670 --> 00:14:15,610 се уписује у своју базу података да апсолутно може имати милијарде 294 00:14:15,610 --> 00:14:18,900 и милијарде редова, и користите цео број за њу, 295 00:14:18,900 --> 00:14:22,750 шта ће се чим се деси ти на ред број 4 милијарде 296 00:14:22,750 --> 00:14:26,210 а ви покушавате да убаците 4 милијардити и 1, да тако кажем? 297 00:14:26,210 --> 00:14:29,610 Ја сам поједностављење бројеве мало. 298 00:14:29,610 --> 00:14:33,740 >> Можете смањити, мислим ти да се то средити некако. 299 00:14:33,740 --> 00:14:37,910 И шта би рачунар типично до, размислите о томе још од јутрос, 300 00:14:37,910 --> 00:14:42,430 ако имате 4-битну вредност као 1, 1, 1, 1, који, 301 00:14:42,430 --> 00:14:44,920 само везати јутро заједно поподне, шта 302 00:14:44,920 --> 00:14:48,369 да ли је тај број представља у бинарном? 303 00:14:48,369 --> 00:14:49,410 У реду, ми ћемо бити лакше. 304 00:14:49,410 --> 00:14:53,310 Шта овај број представљају у бинарном? 305 00:14:53,310 --> 00:14:56,794 У реду, ми ћемо лакше, шта да ли то представља у бинарном? 306 00:14:56,794 --> 00:14:57,460 ПУБЛИКА: Три. 307 00:14:57,460 --> 00:14:59,670 Давид Малан: Три, јер имамо оне цолумн-- 308 00:14:59,670 --> 00:15:00,450 [Смех] 309 00:15:00,450 --> 00:15:01,350 Ух! 310 00:15:01,350 --> 00:15:03,980 Имали смо колону онес и двојки колона. 311 00:15:03,980 --> 00:15:07,250 Претпостављам да, заиста, наш [? окућница?] нису били 32 бита, 312 00:15:07,250 --> 00:15:13,440 али су два бита, можемо цоунт од корисника број 0, 1, 2, 3, 313 00:15:13,440 --> 00:15:18,040 а онда смо некако назад на корисника 00 поново. 314 00:15:18,040 --> 00:15:19,739 Дакле, то је оно што обично дешава. 315 00:15:19,739 --> 00:15:22,780 Ако сте икада чули екпрессион-- Вероватно нису, али ако бих-- 316 00:15:22,780 --> 00:15:26,500 цео преливање, где сте држати окретањем све ваше бита 317 00:15:26,500 --> 00:15:29,640 да су највеће могуће вредности, а онда си ван битова, 318 00:15:29,640 --> 00:15:30,850 шта би обично дешава? 319 00:15:30,850 --> 00:15:32,280 Зашто кажем 00? 320 00:15:32,280 --> 00:15:33,220 Па, то је три. 321 00:15:33,220 --> 00:15:34,230 Како да представљају 4? 322 00:15:34,230 --> 00:15:36,890 323 00:15:36,890 --> 00:15:38,915 Како да представљају за број 4 у бинарни? 324 00:15:38,915 --> 00:15:39,790 ПУБЛИКА: [неразумљиво] 325 00:15:39,790 --> 00:15:41,780 Давид Малан: Један-- да, не говори 100 по себи, 326 00:15:41,780 --> 00:15:44,190 јер има погрешан конотација, али 1-0-0. 327 00:15:44,190 --> 00:15:48,920 Тако да је број 1-0-0 је заиста исправан, али ако имате само два бита, 328 00:15:48,920 --> 00:15:50,820 шта сте заправо урадили? 329 00:15:50,820 --> 00:15:53,219 Ви сте преврнуо на 00. 330 00:15:53,219 --> 00:15:54,760 И заиста, то је оно што ће се десити. 331 00:15:54,760 --> 00:15:56,884 У ствари, можете мислити о томе више фамилијарно. 332 00:15:56,884 --> 00:15:59,350 Ако се сећате, шта, Пре 16 година, свет 333 00:15:59,350 --> 00:16:03,380 Требало је да завршава када проблем И2К догодило. 334 00:16:03,380 --> 00:16:04,330 Зашто је то било? 335 00:16:04,330 --> 00:16:08,170 Па већина рачунара, за разумни одлуке, 336 00:16:08,170 --> 00:16:15,320 су чување бројева као што је 1975 године или 1999 337 00:16:15,320 --> 00:16:19,010 користећи само две цифре у меморији рачунара. 338 00:16:19,010 --> 00:16:21,950 Па наравно, шта се дешава када дођете до 2000. године, 339 00:16:21,950 --> 00:16:25,790 идеш на ово, односно, да. 340 00:16:25,790 --> 00:16:30,120 Зато иди до 2000. године, али ако ви само користите две цифре Изгледа 341 00:16:30,120 --> 00:16:32,660 као годину 00 и тако да сам преврнуо. 342 00:16:32,660 --> 00:16:36,820 И то је разлог зашто многи системи потребно да се ажурира на време. 343 00:16:36,820 --> 00:16:42,500 >> Имајући то рекао, компаније као што је Фацебоок наићи на ово. 344 00:16:42,500 --> 00:16:46,147 Дакле, једини начин да се носи са ситуација, искрено, је да се предвиди. 345 00:16:46,147 --> 00:16:47,980 Или најчистије начин средим ову ситуацију 346 00:16:47,980 --> 00:16:50,330 је да се предвиди тако да не морати да измене касније. 347 00:16:50,330 --> 00:16:51,970 Дакле, уместо од 8 бајтова, знаш шта? 348 00:16:51,970 --> 00:16:54,261 Ја ћу бити напред-размишљање овде, иако је то 349 00:16:54,261 --> 00:16:56,760 мало оптимиста да да ћемо имати 4 милијарде 350 00:16:56,760 --> 00:16:58,850 и 1 корисника на нашем сајту. 351 00:16:58,850 --> 00:17:01,790 Али хајде да користимо 8 бајтова, или 64 битс, који ће генерално бити 352 00:17:01,790 --> 00:17:05,640 зове велики цео број, веома технички. 353 00:17:05,640 --> 00:17:10,280 И то само значи да можете имати још више цифара у ваш број. 354 00:17:10,280 --> 00:17:12,599 Али ово је важан дизајн одлука, 355 00:17:12,599 --> 00:17:16,400 јер ако одаберете број који има премало бита изражајности 356 00:17:16,400 --> 00:17:19,089 би стварно могао створити грешка у софтверу. 357 00:17:19,089 --> 00:17:21,750 >> У реду, па хајде да завршим са емаил и поштанску адресу. 358 00:17:21,750 --> 00:17:26,369 Тако е, колико дуго треба е-маил адреса бити? 359 00:17:26,369 --> 00:17:26,869 50. 360 00:17:26,869 --> 00:17:29,220 Ја стварно немам појма, али је вероватно тако нешто, 361 00:17:29,220 --> 00:17:32,261 јер у супротном нико неће да напиши ти ако постане сувише дуго, тако 50, 362 00:17:32,261 --> 00:17:33,360 идемо са њим за сада. 363 00:17:33,360 --> 00:17:35,770 Поштанска адреса, колико дуго треба да буде? 364 00:17:35,770 --> 00:17:38,325 365 00:17:38,325 --> 00:17:39,200 ПУБЛИКА: [неразумљиво] 366 00:17:39,200 --> 00:17:41,900 367 00:17:41,900 --> 00:17:43,890 >> Давид Малан: Није само поштански број, ипак. 368 00:17:43,890 --> 00:17:45,720 Поштанска адреса, чуо сам. 369 00:17:45,720 --> 00:17:50,720 Дакле, ово је као 1 Браттле тргу, зарез, Кембриџ Маса., зарез, 02138. 370 00:17:50,720 --> 00:17:53,860 И, у ствари, само да повуче до мало радног овде. 371 00:17:53,860 --> 00:17:56,510 Ово изгледа као да је пропуштена прилика. 372 00:17:56,510 --> 00:18:01,480 Ако имамо 1 Браттле Скуаре, зарез, Цамбридге МА 02138, 373 00:18:01,480 --> 00:18:04,510 Осећам се као да ми можемо боље него само поштанску адресу. 374 00:18:04,510 --> 00:18:07,100 Зашто не бисмо експлодира ово мало? 375 00:18:07,100 --> 00:18:08,030 Шта добијам у? 376 00:18:08,030 --> 00:18:10,970 Шта треба да уместо тога имамо за наше редове овде, можда? 377 00:18:10,970 --> 00:18:12,260 >> ПУБЛИКА: [неразумљиво] 378 00:18:12,260 --> 00:18:17,579 >> Давид Малан: Да, па хајде зову га стреет_нумбер, 379 00:18:17,579 --> 00:18:20,620 и један подвлаку је само обичан начин да оно што изгледа као простор, 380 00:18:20,620 --> 00:18:22,360 али то није, заправо. 381 00:18:22,360 --> 00:18:26,240 Улица, а онда Град-- жао? 382 00:18:26,240 --> 00:18:28,440 >> ПУБЛИКА: [неразумљиво] 383 00:18:28,440 --> 00:18:29,690 Давид Малан: Можемо ми то. 384 00:18:29,690 --> 00:18:30,702 Лине један, друга линија. 385 00:18:30,702 --> 00:18:32,410 Зашто не бисмо ће наставити је једноставан за сада, 386 00:18:32,410 --> 00:18:34,840 али то је апсолутно прихватљиво решење. 387 00:18:34,840 --> 00:18:38,180 И онда држава, а онда немојмо бити мало САД-орјентисане за сада 388 00:18:38,180 --> 00:18:42,040 и само до поштански број, само зато што то ће довести до занимљивог грешке 389 00:18:42,040 --> 00:18:43,090 или проблем овде. 390 00:18:43,090 --> 00:18:44,655 Претпостављам да је сада наша адреса. 391 00:18:44,655 --> 00:18:47,280 То је мало нервира то имамо све те више поља, 392 00:18:47,280 --> 00:18:49,200 али сада можемо означити ствари мало боље. 393 00:18:49,200 --> 00:18:53,210 >> Дакле, сада улица број вероватно не би требало да буде знак, би требало? 394 00:18:53,210 --> 00:18:54,835 Шта би требало да буде? 395 00:18:54,835 --> 00:18:55,710 ПУБЛИКА: [неразумљиво] 396 00:18:55,710 --> 00:18:57,835 Давид Малан: Можда, број као опет један цео број? 397 00:18:57,835 --> 00:19:00,170 Велики цео број? 398 00:19:00,170 --> 00:19:02,170 Вероватно не живе на 4 милијарде Маин Стреет 399 00:19:02,170 --> 00:19:03,490 или било шта луди тако. 400 00:19:03,490 --> 00:19:06,850 Дакле, цео број је вероватно добро, али има било кога 401 00:19:06,850 --> 00:19:13,880 икада живели на адресу као 1А Браттле Трг, или 1 и 1/2? 402 00:19:13,880 --> 00:19:17,030 постоје ове ствари, нажалост, чак и ако нисте живели тамо, 403 00:19:17,030 --> 00:19:21,240 постоје те аномалије као стан 1А, 1Б, 1Ц. 404 00:19:21,240 --> 00:19:24,260 Дакле, знате шта, вероватно не би требало да иде са целим, 405 00:19:24,260 --> 00:19:27,440 иначе ћемо да изгуби неку продају. 406 00:19:27,440 --> 00:19:29,920 >> Цхар поље, можда? 407 00:19:29,920 --> 00:19:30,870 Не знам колико дуго. 408 00:19:30,870 --> 00:19:33,370 Вероватно неће бити толико дуго, тако да 10 или нешто. 409 00:19:33,370 --> 00:19:34,950 Нико неће да напише дужи број, можда. 410 00:19:34,950 --> 00:19:37,070 Али опет, вероватно би требало да дају више мисли на то. 411 00:19:37,070 --> 00:19:39,900 Можда гоогле, да мало истраживање, али ићи ћемо са нашим цревима за сада. 412 00:19:39,900 --> 00:19:44,565 Улице, знак, 50, не знам. 413 00:19:44,565 --> 00:19:46,940 У једном тренутку, нико неће да се пише на коверти, 414 00:19:46,940 --> 00:19:49,350 такође, тако да је вероватно неки горње границе тамо. 415 00:19:49,350 --> 00:19:54,200 Град, исто, наравно, тако цхар 50. 416 00:19:54,200 --> 00:19:59,120 >> Држава, могу бити САД-оријентисане за сада. 417 00:19:59,120 --> 00:20:01,850 Дакле, могло би бити листа, љубазни пресуде позива, државе. 418 00:20:01,850 --> 00:20:04,000 То може бити као два карактера. 419 00:20:04,000 --> 00:20:06,140 Уствари, можда, ја сам говорио цхар. 420 00:20:06,140 --> 00:20:09,420 Вероватно Мислим варцхар, само за неке ефикасност, 421 00:20:09,420 --> 00:20:12,240 али ћемо се вратити у да је одлука у једном тренутку. 422 00:20:12,240 --> 00:20:16,150 Могло би бити инт дужине 2 за државу. 423 00:20:16,150 --> 00:20:20,670 Ако у САД имају, као што је МА, Массацхусеттс, НИ, Њујорк, Њ, Нови 424 00:20:20,670 --> 00:20:22,100 Јерсеи, и тако даље. 425 00:20:22,100 --> 00:20:23,630 Дакле, могло би се фиксиран на то. 426 00:20:23,630 --> 00:20:25,900 ДЦ за Вашингтону. 427 00:20:25,900 --> 00:20:29,915 >> Али мислим, Оливије, ти Предложени другачији приступ. 428 00:20:29,915 --> 00:20:30,790 ПУБЛИКА: [неразумљиво] 429 00:20:30,790 --> 00:20:33,670 Давид Малан: Да, па то је мало неугодно да куцате у, 430 00:20:33,670 --> 00:20:37,890 већ енум би више смисла, јер овај начин, барем у САД, 431 00:20:37,890 --> 00:20:41,320 бисте могли набројати, ако тедиоусли, али ви то само једном у бази података 432 00:20:41,320 --> 00:20:47,480 и никада више морати да размислим о то, сви 50 два-знакова кодова. 433 00:20:47,480 --> 00:20:48,660 Волим да Енум. 434 00:20:48,660 --> 00:20:51,720 Хајде да се држимо да је, због то на неки начин спроводи више строгост. 435 00:20:51,720 --> 00:20:53,620 А онда зип код? 436 00:20:53,620 --> 00:20:55,306 Мислим да је Ендру имао мисао о томе 437 00:20:55,306 --> 00:20:56,180 ПУБЛИКА: [неразумљиво] 438 00:20:56,180 --> 00:20:57,240 Давид Малан: Да, пет или девет. 439 00:20:57,240 --> 00:20:58,323 Хајде да то буде једноставно. 440 00:20:58,323 --> 00:20:59,380 Само уради пет за сада. 441 00:20:59,380 --> 00:21:03,070 Али можда бих могао до цео број, зар не? 442 00:21:03,070 --> 00:21:08,750 Могао бих, али знате шта, ја направио ово грешка једном, у неком смислу. 443 00:21:08,750 --> 00:21:13,110 Пре неколико година, био сам миграцију из Мицрософт Ворд за Гмаил, 444 00:21:13,110 --> 00:21:18,640 и Оутлоок има начин извоза свим својим контактима, као Екцел фајл, 445 00:21:18,640 --> 00:21:21,280 ЦСВ датотека, одвојени зарезом вредности фајл. 446 00:21:21,280 --> 00:21:23,950 И ја направио грешку, ја Мислим, контра је клика, 447 00:21:23,950 --> 00:21:27,380 Једном сам скинути извоз, да проверите да ли је изгледало што сам очекивао. 448 00:21:27,380 --> 00:21:31,320 Мора да сам ударио Саве или нека Ауто-саве ударац или тако нешто. 449 00:21:31,320 --> 00:21:35,100 Јер кад сам тада увози она у Гмаил, све је. 450 00:21:35,100 --> 00:21:39,910 Али годинама, до данашњег дана, и Ја сам то урадио пет, пре 10 година, 451 00:21:39,910 --> 00:21:44,380 И даље налазим пријатеље који имају адресе које изгледају овако. 452 00:21:44,380 --> 00:21:45,700 Зашто? 453 00:21:45,700 --> 00:21:47,900 >> ПУБЛИКА: [неразумљиво] 454 00:21:47,900 --> 00:21:50,650 >> Давид Малан: Требало од 0, па, радије, 455 00:21:50,650 --> 00:21:53,810 је цео зип код као број и стога је 456 00:21:53,810 --> 00:21:56,590 водећи 0, што значи то нема смисла. 457 00:21:56,590 --> 00:21:59,470 Па 2138 изгледа мој поштански број. 458 00:21:59,470 --> 00:22:07,100 И то је, искрено, досадни Екцел карактеристика при чему мислим по дефаулту, 459 00:22:07,100 --> 00:22:10,980 чак и ако то значи да само бити текст, Екцел 460 00:22:10,980 --> 00:22:13,780 одлучује, да будем од помоћи, и ох, видим само бројеве. 461 00:22:13,780 --> 00:22:15,290 Хајде да третирају их као бројеве. 462 00:22:15,290 --> 00:22:16,790 И то умањује водеће нуле. 463 00:22:16,790 --> 00:22:19,165 >> Кунем се Богом, сваки пар месеци нађем адресу, 464 00:22:19,165 --> 00:22:22,300 и из једне врсте ОЦД, враћам у и додајте 0, иако никад нисам 465 00:22:22,300 --> 00:22:23,700 шаље људе писма или ништа. 466 00:22:23,700 --> 00:22:25,510 Али ја и даље проналажење остатке ово. 467 00:22:25,510 --> 00:22:28,820 Дакле, ово значи да је ово добра идеја? 468 00:22:28,820 --> 00:22:31,610 ОК, нема, јер свако у Массацхусеттс, у овој области, 469 00:22:31,610 --> 00:22:33,270 ће имати ои водећи их. 470 00:22:33,270 --> 00:22:38,070 Дакле, идемо са сличним Чар, вероватно, пет. 471 00:22:38,070 --> 00:22:41,450 >> И овде, схватимо да могао користити енум и ми 472 00:22:41,450 --> 00:22:44,600 могли набројати 10.000 могуће зип кодови, 473 00:22:44,600 --> 00:22:48,530 али да се осећа као да је вероватно прелазећи линију, као, користи. 474 00:22:48,530 --> 00:22:51,350 Ако имате да унесете да много података у својој бази података 475 00:22:51,350 --> 00:22:52,940 за заштиту од нечега. 476 00:22:52,940 --> 00:22:57,400 Дакле, Чар схватио можете да упишете у Х-Е-Л-Л-О као поштанског броја, 477 00:22:57,400 --> 00:22:59,180 који није, очигледно, нумерички. 478 00:22:59,180 --> 00:23:01,680 Дакле, нема шансе, у типична база података, 479 00:23:01,680 --> 00:23:05,561 одредити само нумеричку и само пет знакова, 480 00:23:05,561 --> 00:23:07,310 тако да ћемо имати да то уради у коду. 481 00:23:07,310 --> 00:23:11,100 Ми ћемо то учинити у ПХП или Јава или било ком језику смо 482 00:23:11,100 --> 00:23:14,230 користећи на серверу да спроведе таква ограничења. 483 00:23:14,230 --> 00:23:14,860 >> Вхоо! 484 00:23:14,860 --> 00:23:18,322 У реду, па нека питања још увек? 485 00:23:18,322 --> 00:23:19,780 Хајде да још једну одлуку дизајн. 486 00:23:19,780 --> 00:23:22,500 Испоставило се да ти Такође могу да бирам, 487 00:23:22,500 --> 00:23:26,600 приликом дизајнирања СКЛ базе података, или типични релационих датабасе-- где 488 00:23:26,600 --> 00:23:28,790 Опет, релациона само значи редове и колоне, 489 00:23:28,790 --> 00:23:35,500 тако да организујете своје дата-- и схватити да је оно што ово значи, 490 00:23:35,500 --> 00:23:37,740 Ја сам заблуду у да, ја сам дравинг-- ово 491 00:23:37,740 --> 00:23:40,190 је оно што се зове шема за табелу базе података. 492 00:23:40,190 --> 00:23:42,810 Ово је као да је спецификације за табле-- 493 00:23:42,810 --> 00:23:48,040 али када дође време да стварно складиштење података, 494 00:23:48,040 --> 00:23:52,081 и ми ћемо то урадити само пример овде. 495 00:23:52,081 --> 00:23:55,080 Ја ћу отворити Екцел, јер Екцел ће ми дати редове и колоне. 496 00:23:55,080 --> 00:23:58,050 И то је управо оно што Орацле и МиСКЛ и други алат ће ми дати. 497 00:23:58,050 --> 00:24:02,270 Дакле, ја ћу само да користи то ради дискусије је. 498 00:24:02,270 --> 00:24:05,250 Пусти ме напред и отвори Представник документ овде, 499 00:24:05,250 --> 00:24:06,310 зоом ин мало. 500 00:24:06,310 --> 00:24:15,200 Тако, на пример, наши заглавља сада име, презиме, пол, ИД, 501 00:24:15,200 --> 00:24:20,980 е-маил, улица и број, улица, упс. 502 00:24:20,980 --> 00:24:25,710 Улица, град, држава, само о одговара на екрану. 503 00:24:25,710 --> 00:24:29,080 >> Дакле, шта то значи да када Корисничко име региструје за мој интернет страници, 504 00:24:29,080 --> 00:24:32,880 то ће бити нешто слично Давид, Малан, м рецимо 1, 505 00:24:32,880 --> 00:24:42,910 малан@харвард.еду, улица број ће бити као 1 Браттле Скуаре, Цамбридге, МА, 506 00:24:42,910 --> 00:24:44,780 02138, а затим тако даље. 507 00:24:44,780 --> 00:24:48,290 Дакле, када кажем да је релациона база података или СКЛ база података је редове и колоне, 508 00:24:48,290 --> 00:24:49,350 Мислим ово. 509 00:24:49,350 --> 00:24:51,900 Да је стварна подаци се чувају у редовима и колонама. 510 00:24:51,900 --> 00:24:53,950 Ово је само случајност, да смо разговарали, 511 00:24:53,950 --> 00:24:56,033 и сам сам га цртање у редовима и колонама. 512 00:24:56,033 --> 00:24:58,320 Ово је само схема, свеобухватни дефиниција. 513 00:24:58,320 --> 00:25:01,640 >> Дакле, од ових области овде, или еквивалентно, тамо, 514 00:25:01,640 --> 00:25:06,270 које су поља које мислиш Ја сам вероватно тражити на ако сам корисник 515 00:25:06,270 --> 00:25:09,200 или ако сам администратор базе? 516 00:25:09,200 --> 00:25:12,426 Као што поља а заправо да потражи на? 517 00:25:12,426 --> 00:25:13,830 >> ПУБЛИКА: [неразумљиво] 518 00:25:13,830 --> 00:25:17,690 >> Давид Малан: име, да тако Свиђа ми се чињеница то-- да, 519 00:25:17,690 --> 00:25:19,750 е може бити прилично уобичајено. 520 00:25:19,750 --> 00:25:21,440 Жао ми је, рекли сте име. 521 00:25:21,440 --> 00:25:24,030 Тако маибе-- и поново, ми смо врста разговора у садржају. 522 00:25:24,030 --> 00:25:25,988 Не знам зашто бих бити у потрази за име, 523 00:25:25,988 --> 00:25:29,340 али да се осећа разумно ако тражите корисника. 524 00:25:29,340 --> 00:25:31,170 Можда се наводи, наравно, ИД. 525 00:25:31,170 --> 00:25:34,100 526 00:25:34,100 --> 00:25:36,160 >> И то је клизаво нагиб, јер сам могао 527 00:25:36,160 --> 00:25:38,890 измишљати сценарија где можда мој шеф ме је питао, 528 00:25:38,890 --> 00:25:40,417 колико људи имамо на нашем сајту? 529 00:25:40,417 --> 00:25:42,000 Колико жена имамо на нашем сајту? 530 00:25:42,000 --> 00:25:45,210 И тако у том тренутку, можда ћете желети за претраживање на терену равноправности, такође, 531 00:25:45,210 --> 00:25:45,940 и ништа друго. 532 00:25:45,940 --> 00:25:47,350 Тако да је компромис овде. 533 00:25:47,350 --> 00:25:49,180 Опет, нема прави одговор, али тамо 534 00:25:49,180 --> 00:25:53,760 је функција у већини СКЛ базе података познат као индексирање, при чему 535 00:25:53,760 --> 00:25:56,100 ти, дизајнер, Администратор базе, 536 00:25:56,100 --> 00:26:01,730 се одлучити унапред који терени база треба да оптимизира 537 00:26:01,730 --> 00:26:02,980 за претраге на. 538 00:26:02,980 --> 00:26:07,620 >> веома наивно Могло би се рећи, оптимизацију ово, оптимизацију да, оптимизацију ово, 539 00:26:07,620 --> 00:26:10,300 оптимизира да и то, а база података ће 540 00:26:10,300 --> 00:26:14,882 до неке магична ствар испод хауба, и уради нешто на такав начин 541 00:26:14,882 --> 00:26:17,090 да следећи пут када претражите на било који од ових области, 542 00:26:17,090 --> 00:26:18,400 она ће, у ствари, бити брже. 543 00:26:18,400 --> 00:26:19,110 Ово је могуће. 544 00:26:19,110 --> 00:26:20,530 Себе не поништи. 545 00:26:20,530 --> 00:26:22,500 Али мора постојати цена плаћена. 546 00:26:22,500 --> 00:26:27,220 >> Ако вам се наивно, или превише одушевљено рецимо, индекс свим овим областима, 547 00:26:27,220 --> 00:26:29,810 да тако кажем, да их све ефикасно претраживати, 548 00:26:29,810 --> 00:26:31,625 коју цену се вероватно платити? 549 00:26:31,625 --> 00:26:32,500 ПУБЛИКА: [неразумљиво] 550 00:26:32,500 --> 00:26:33,090 Давид Малан: Перформансе. 551 00:26:33,090 --> 00:26:33,798 Шта мислите? 552 00:26:33,798 --> 00:26:37,380 Па перформансе, барем у контекст ја разговарали, сада је боље. 553 00:26:37,380 --> 00:26:38,830 То је дефиниција индексирање. 554 00:26:38,830 --> 00:26:41,180 То ће учинити претраге брже. 555 00:26:41,180 --> 00:26:43,366 Дакле време смањује, тако да говори. 556 00:26:43,366 --> 00:26:44,240 ПУБЛИКА: [неразумљиво] 557 00:26:44,240 --> 00:26:45,031 Давид Малан: Простор. 558 00:26:45,031 --> 00:26:46,520 Дакле, то су уобичајени трговине. 559 00:26:46,520 --> 00:26:50,820 Могу да убрза своје претраге, али је ће те коштати више бајтова простора. 560 00:26:50,820 --> 00:26:51,610 Зашто? 561 00:26:51,610 --> 00:26:55,230 Па, подразумевано, ако имамо ништа од ова црвена звезда, ниједан од ових индекса, 562 00:26:55,230 --> 00:26:58,797 као што кажем, како се тражи имена у овој бази података? 563 00:26:58,797 --> 00:27:00,630 Дакле, да скренете пажња на овом примеру. 564 00:27:00,630 --> 00:27:06,300 Ако имамо Давида и Сцулли и Кареема и Арва и други у овим редовима, 565 00:27:06,300 --> 00:27:06,910 на пример. 566 00:27:06,910 --> 00:27:08,390 >> Дакле, хајде да управо то. 567 00:27:08,390 --> 00:27:13,990 Скали је овде, а онда имамо Кареем, и Арва, 568 00:27:13,990 --> 00:27:18,390 и сви остали, ако не има индекс дефинисан, да тако кажем, 569 00:27:18,390 --> 00:27:20,160 најбоље што може да уради је линеарна претраге. 570 00:27:20,160 --> 00:27:23,470 Ако тражите арва, нисмо ће бити у стању да скочи право на њу 571 00:27:23,470 --> 00:27:24,140 брзо. 572 00:27:24,140 --> 00:27:26,556 Ми ћемо почети врх и иде све до дна, 573 00:27:26,556 --> 00:27:28,600 не за разлику од наше оригинал Мајк Смит пример. 574 00:27:28,600 --> 00:27:33,470 >> Ако, међутим, да кажем, хеј, база података, индекс поље име и презиме, 575 00:27:33,470 --> 00:27:37,000 онда ће да уради нешто одгајивач и подржати нешто 576 00:27:37,000 --> 00:27:38,130 као бинарни потрази. 577 00:27:38,130 --> 00:27:39,820 Вероватно није бинарни претрага по себи. 578 00:27:39,820 --> 00:27:42,810 Базе података имају тенденцију да користе други Подаци структура под називом б-дрвеће, 579 00:27:42,810 --> 00:27:46,540 не треба мешати са бинарних стабала, да само буде брже претражујете 580 00:27:46,540 --> 00:27:48,500 нешто логаритамска у природи. 581 00:27:48,500 --> 00:27:53,510 Али је цена коју плаћате да изградите да карактеристика, да структура података у меморији, 582 00:27:53,510 --> 00:27:54,570 је више бајтова. 583 00:27:54,570 --> 00:27:57,170 Дакле, можда ће бити потребно неколико мегабајта, неки гигабајта, ко зна? 584 00:27:57,170 --> 00:27:58,410 Зависи о подацима. 585 00:27:58,410 --> 00:28:02,640 >> Дакле, у неком тренутку, морате да одлучите, вероватно није чест случај. 586 00:28:02,640 --> 00:28:06,000 Дакле, шта су стварни заједнички случајеви, ако заиста морао да бирам, 587 00:28:06,000 --> 00:28:10,080 шта би ваши омиљени поља бити? 588 00:28:10,080 --> 00:28:10,580 Емаил. 589 00:28:10,580 --> 00:28:14,400 И ја волим имејл зато емаил, у теорији, требало би да буде јединствен. 590 00:28:14,400 --> 00:28:17,650 И тако обично, када знате унапред да једном од ваших поља 591 00:28:17,650 --> 00:28:20,277 или ће бити јединствена, да тежи да буде добар поље 592 00:28:20,277 --> 00:28:22,860 за претраживање на, јер тај начин, када тражите нешто, 593 00:28:22,860 --> 00:28:26,194 ћеш се вратити једног или нула одговоре и онда си готов. 594 00:28:26,194 --> 00:28:28,110 Не морате да задржите у потрази за још других. 595 00:28:28,110 --> 00:28:31,992 >> И тако у овом случају овде, е-маил, докле год не могу да региструју два пута 596 00:28:31,992 --> 00:28:33,450 са истом е-поште, је добар. 597 00:28:33,450 --> 00:28:36,710 ИД по дефиницији, у Цомпутер сциенце свет, 598 00:28:36,710 --> 00:28:39,610 ако говоримо о једној ИД, који је боље бити јединствен. 599 00:28:39,610 --> 00:28:42,970 То је нека врста конотације од ИД или идентификатор. 600 00:28:42,970 --> 00:28:46,440 А остатак од њих може бити, назовимо их лепо да богатих, 601 00:28:46,440 --> 00:28:47,860 али не баш потребно. 602 00:28:47,860 --> 00:28:49,976 >> И тако у бази података, наведете индексе, 603 00:28:49,976 --> 00:28:51,350 али можете бити још прецизнији. 604 00:28:51,350 --> 00:28:56,060 Можете рећи, хеј, база података, уверите се да је свака ИД у овој табели је јединствена. 605 00:28:56,060 --> 00:28:59,330 Немој ни да програмер случајно ставио у дупликата е-поште 606 00:28:59,330 --> 00:29:00,740 или дупликат ИД број. 607 00:29:00,740 --> 00:29:03,140 Толико као енумс заштити нас слично, те 608 00:29:03,140 --> 00:29:04,881 могу остварити те одбрану на нижем нивоу. 609 00:29:04,881 --> 00:29:07,130 И тако дизајн база података, у неки смисао, је некако забавно, 610 00:29:07,130 --> 00:29:08,380 јер ти то у одбрани. 611 00:29:08,380 --> 00:29:11,460 Некако си претпоставити да радите са ужасним, ужасним програмера 612 00:29:11,460 --> 00:29:15,550 и желите да ставите у што више одбрану као што можете да заштитите своје податке, 613 00:29:15,550 --> 00:29:18,940 али истовремено желите да им помогне да боље раде 614 00:29:18,940 --> 00:29:21,386 избором који поља за оптимизацију за. 615 00:29:21,386 --> 00:29:24,260 Али не можете обавезно урадити у вакуум као да смо некако су овде. 616 00:29:24,260 --> 00:29:26,480 Мораш да знаш шта су те заједничке случајева бити. 617 00:29:26,480 --> 00:29:29,397 Ако програмери су имплементацију адресар, 618 00:29:29,397 --> 00:29:32,230 можда врло добро желе да буду у стању за претраживање на скоро сваком пољу, 619 00:29:32,230 --> 00:29:33,830 само по природи апликације. 620 00:29:33,830 --> 00:29:37,910 Дакле, можда би провести да додатни простор. 621 00:29:37,910 --> 00:29:39,090 >> У праву, има ли питања? 622 00:29:39,090 --> 00:29:41,820 623 00:29:41,820 --> 00:29:42,486 Да. 624 00:29:42,486 --> 00:29:43,470 >> ПУБЛИКА: [неразумљиво] 625 00:29:43,470 --> 00:29:44,404 >> Давид Малан: Не 626 00:29:44,404 --> 00:29:45,279 >> ПУБЛИКА: [неразумљиво] 627 00:29:45,279 --> 00:29:47,840 628 00:29:47,840 --> 00:29:48,826 >> Давид Малан: У реду. 629 00:29:48,826 --> 00:29:49,701 >> ПУБЛИКА: [неразумљиво] 630 00:29:49,701 --> 00:29:52,420 631 00:29:52,420 --> 00:29:54,850 >> Давид Малан: О, па смо говорите на начин 632 00:29:54,850 --> 00:29:57,940 Сада је то потпуно језика агностик. 633 00:29:57,940 --> 00:30:02,370 Тако да сада говоримо о релационе базе података више уопште, 634 00:30:02,370 --> 00:30:04,760 или СКЛ базе података уопште. 635 00:30:04,760 --> 00:30:06,870 >> ПУБЛИКА: [неразумљиво] 636 00:30:06,870 --> 00:30:10,030 >> Давид Малан: Боље реч користи се, може да користи било који језик. 637 00:30:10,030 --> 00:30:15,280 Тако да могу да пишем ЈаваСцрипт кода, Ц код, Ц ++ код, Јава код, Руби код, 638 00:30:15,280 --> 00:30:19,010 све што разговара са базе података и извршава упита. 639 00:30:19,010 --> 00:30:22,310 У ствари, то није лоше сегуе на пример упита. 640 00:30:22,310 --> 00:30:25,720 И опет, нећемо ићи у Јава или Ц ++ или више било шта од тога, 641 00:30:25,720 --> 00:30:29,420 али у СКЛ, језик на којем стално мисли, Струцтуред Куери Лангуаге, 642 00:30:29,420 --> 00:30:32,790 ово је сама по себи програмски језик, али треба да се користи за, нема 643 00:30:32,790 --> 00:30:37,330 изненађење, структуриран упита питања. 644 00:30:37,330 --> 00:30:38,660 >> Под тим мислим ово. 645 00:30:38,660 --> 00:30:41,190 Начин на који сте одабрали податке из МиСКЛ базе података 646 00:30:41,190 --> 00:30:49,330 је буквално куцате на програму нешто попут изаберите звезда од стране корисника. 647 00:30:49,330 --> 00:30:52,200 Претпостављам да ове табеле, од сада се зове корисницима. 648 00:30:52,200 --> 00:30:54,860 Могу да га звати како год желимо, али да има смисла. 649 00:30:54,860 --> 00:30:57,240 Па изаберите је веома заједнички глагол, ако вас 650 00:30:57,240 --> 00:30:59,290 ће, у СКЛ, да буквално не ради. 651 00:30:59,290 --> 00:31:02,730 Шта мислите звездице значи у овом контексту? 652 00:31:02,730 --> 00:31:04,410 >> ПУБЛИКА: [неразумљиво] 653 00:31:04,410 --> 00:31:05,380 >> Давид Малан: Жао ми је? 654 00:31:05,380 --> 00:31:06,300 >> ПУБЛИКА: [неразумљиво] 655 00:31:06,300 --> 00:31:09,580 >> Давид Малан: Није потребно, то је више инклузивни од тога, заправо. 656 00:31:09,580 --> 00:31:11,700 То је лик џокер. 657 00:31:11,700 --> 00:31:14,740 Стар скоро увек нешто значи, па то значи, у овом случају, 658 00:31:14,740 --> 00:31:16,510 изаберите све из базе. 659 00:31:16,510 --> 00:31:20,730 Дакле, када кажем ово, мислим врати ми сваки колону 660 00:31:20,730 --> 00:31:22,440 из мог стола под називом корисницима. 661 00:31:22,440 --> 00:31:24,730 Дакле, ми скуп резултата, како се зове. 662 00:31:24,730 --> 00:31:28,210 Другим речима, дај ми копију табела, шта циљам. 663 00:31:28,210 --> 00:31:34,890 >> Али, ако сам рекао изаберите звездице од корисника где ИД једнако 1, колики треба 664 00:31:34,890 --> 00:31:36,640 мој резултат скуп бити онда? 665 00:31:36,640 --> 00:31:41,680 Или еквивалентно, колико редова треба Ја се предати из базе података? 666 00:31:41,680 --> 00:31:45,860 Вероватно је само један, ако заиста имају третира Број као јединствени идентификатор, 667 00:31:45,860 --> 00:31:50,710 и ако Давид има тај јединствени ИД, ја треба да се врати један једини ред 668 00:31:50,710 --> 00:31:53,220 који садржи све Давидове информација. 669 00:31:53,220 --> 00:31:56,390 Ако сам рекао у којој ИД једнако 99, требало би да се вратим, 670 00:31:56,390 --> 00:32:00,320 у том контексту, нула редова, барем у овом тренутку. 671 00:32:00,320 --> 00:32:03,620 >> Међутим, ако не баш брига о свим тим информацијама, 672 00:32:03,620 --> 00:32:06,970 Ја само могу рећи, гдје Дејвид живи? 673 00:32:06,970 --> 00:32:10,860 Избор поштански број из корисници где ИД је 1. 674 00:32:10,860 --> 00:32:15,820 Ово ће одабрати мени само Давидов зип Код а не целина тог реда. 675 00:32:15,820 --> 00:32:19,541 Зашто би ово радим уместо звезда упит, дивља карта? 676 00:32:19,541 --> 00:32:21,950 >> ПУБЛИКА: [неразумљиво] 677 00:32:21,950 --> 00:32:24,590 >> Давид Малан: Да, можда је потребно само. 678 00:32:24,590 --> 00:32:26,350 Дакле, представа је поново одговор овде. 679 00:32:26,350 --> 00:32:28,540 Зашто тражити више информације него што је потребно, 680 00:32:28,540 --> 00:32:32,020 јер чак и ако је све у реду заједно, и даље морате да копирате те податке, 681 00:32:32,020 --> 00:32:35,560 чини се, из базе података у свој програм некако, 682 00:32:35,560 --> 00:32:38,490 и то је глупо ако вас Потребно је само пет од тих цифара, 683 00:32:38,490 --> 00:32:40,340 не целовитост реда. 684 00:32:40,340 --> 00:32:42,180 >> Па како да убаците корисника? 685 00:32:42,180 --> 00:32:44,780 Претпоставимо да корисник има само регистровано за први пут. 686 00:32:44,780 --> 00:32:46,560 Синтакса обично изгледају овако. 687 00:32:46,560 --> 00:32:52,700 Инсерт инто корисника, и онда би рекли вредности, 688 00:32:52,700 --> 00:33:00,150 а онда би рекли вредности као, рецимо, Лаурен Сцулли, 689 00:33:00,150 --> 00:33:02,380 наш сниматељ овде. 690 00:33:02,380 --> 00:33:04,390 А следећи поље је пол. 691 00:33:04,390 --> 00:33:08,020 Па ћемо рећи цитат, под знацима навода "Ф", онда имамо идентификацију 692 00:33:08,020 --> 00:33:12,250 и ја ћу прицала- хајдемо претварати да није заправо овде, 693 00:33:12,250 --> 00:33:14,380 па ћемо уназад у причи. 694 00:33:14,380 --> 00:33:16,530 Дакле, 2 ће бити њен ИД. 695 00:33:16,530 --> 00:33:19,130 А онда следећи поље овде је њен е-маил. 696 00:33:19,130 --> 00:33:22,140 Тако да ће бити као Лаурен Скали и тако даље, 697 00:33:22,140 --> 00:33:24,360 и ми ћемо једноставно Дот дот га одавде на. 698 00:33:24,360 --> 00:33:26,890 Сада ће добити мало досадан, али је уметак упит 699 00:33:26,890 --> 00:33:28,310 би на крају изгледати тако. 700 00:33:28,310 --> 00:33:30,970 >> Ако желим да се отарасим Скали, ух-ох, хајде да се одјаве 701 00:33:30,970 --> 00:33:37,420 јој, она брише њен рачун, делете од корисника где ИД је једнако 2, 702 00:33:37,420 --> 00:33:38,500 ће ослободити Скали. 703 00:33:38,500 --> 00:33:48,050 Или могу да кажем корисника упдате сет, рецимо, шта ми можемо да променимо? 704 00:33:48,050 --> 00:33:49,430 Претпостављам да се креће. 705 00:33:49,430 --> 00:33:53,730 Сет ави једнако 021-- Не, То је њен тренутни рар. 706 00:33:53,730 --> 00:33:54,487 90210. 707 00:33:54,487 --> 00:33:56,320 Једина друга поштански број Знам да на свету. 708 00:33:56,320 --> 00:33:59,002 Тако да ће променити њен рар цоде-- заправо, 709 00:33:59,002 --> 00:34:00,460 да не би променило њен поштански број. 710 00:34:00,460 --> 00:34:02,170 >> Шта сам урадио? 711 00:34:02,170 --> 00:34:04,292 Иако је синтакса је вероватно нови. 712 00:34:04,292 --> 00:34:05,302 >> ПУБЛИКА: [неразумљиво] 713 00:34:05,302 --> 00:34:08,010 Давид Малан: Да, преселио сам све у Беверли Хиллс, Калифорнија. 714 00:34:08,010 --> 00:34:11,920 Тако да сада треба кажу где ИД једнако 2. 715 00:34:11,920 --> 00:34:12,820 И тако даље. 716 00:34:12,820 --> 00:34:15,290 Дакле, СКЛ је све о њима врсте инструкција. 717 00:34:15,290 --> 00:34:20,260 Селецт, уметање, брисање, ажурирање, са овим предиката на крају 718 00:34:20,260 --> 00:34:22,139 ови где клаузуле, да тако кажем. 719 00:34:22,139 --> 00:34:25,170 И има много више можете до, али то стварно само своди 720 00:34:25,170 --> 00:34:29,750 једноставно, ако арцанели, изражавајући шта желите да база података да уради. 721 00:34:29,750 --> 00:34:31,580 >> А онда база података ће схватити, када 722 00:34:31,580 --> 00:34:35,630 убаците Лаурен Сцулли Инто тхе база података, где да је стави у меморији 723 00:34:35,630 --> 00:34:38,230 тако да можемо врло брзо добити је заснован на њеном е-маил адреса 724 00:34:38,230 --> 00:34:42,610 или на основу њеног броја ИД или слично. 725 00:34:42,610 --> 00:34:43,391 Да, Ден. 726 00:34:43,391 --> 00:34:44,266 ПУБЛИКА: [неразумљиво] 727 00:34:44,266 --> 00:34:46,364 728 00:34:46,364 --> 00:34:47,780 Давид Малан: Стварно добро питање. 729 00:34:47,780 --> 00:34:50,370 Да ли ће ове скрипте мењају из Мицрософт Приступ Орацле 730 00:34:50,370 --> 00:34:52,290 на МиСКЛ на ПостгреСКЛ? 731 00:34:52,290 --> 00:34:53,790 Кратак одговор је да то зависи. 732 00:34:53,790 --> 00:34:58,697 У теорији, постоји веома значајан заједнички подскуп СКЛ 733 00:34:58,697 --> 00:35:00,780 да је деле све од ових имплементација. 734 00:35:00,780 --> 00:35:03,340 Међутим, различити произвођачи имају додатим функцијама 735 00:35:03,340 --> 00:35:07,120 њиховим базама података да уради неке ствари изван опсега ових карактеристика, 736 00:35:07,120 --> 00:35:08,720 које могу, у ствари, разбити. 737 00:35:08,720 --> 00:35:11,210 >> Дакле, како програмери хедге против тога, 738 00:35:11,210 --> 00:35:14,350 је да уместо писања сирово СКЛ кода као да пишем овде, 739 00:35:14,350 --> 00:35:19,460 они уместо тога користе библиотеку, заједнички библиотека која сама 740 00:35:19,460 --> 00:35:23,650 је нека врста вишег нивоа и апстракти е који производ користите. 741 00:35:23,650 --> 00:35:25,710 И то вам даје Функције и процедуре 742 00:35:25,710 --> 00:35:28,810 позвати тако да никада стварно пише сирову СКЛ. 743 00:35:28,810 --> 00:35:32,609 >> У теорији, онда, можете да промените производи од Орацле Мицрософту 744 00:35:32,609 --> 00:35:34,650 или обрнуто, или било шта друго, и буквално 745 00:35:34,650 --> 00:35:36,920 променити ништа о коду. 746 00:35:36,920 --> 00:35:40,180 Реалност је, међутим, је, понекад одустати функције као резултат. 747 00:35:40,180 --> 00:35:43,860 Можда сте одабрали неку производа јер има ове функције додате вредности, 748 00:35:43,860 --> 00:35:46,610 а ти си само сада не користећи их свесно. 749 00:35:46,610 --> 00:35:51,630 >> И анекдотално, већина предузећа настоје никад да се удаљи од њихове базе. 750 00:35:51,630 --> 00:35:54,002 Дакле, иако је то лепо да имају функцију, реалност 751 00:35:54,002 --> 00:35:55,960 је, ако ремонт Ваша база података, ви сте 752 00:35:55,960 --> 00:35:59,890 Вероватно што гомиле других промена у сваком случају, да не обавезно 753 00:35:59,890 --> 00:36:01,360 треба очекивати да. 754 00:36:01,360 --> 00:36:03,720 Тако да је дискутабилно над-инжењеринг проблем, 755 00:36:03,720 --> 00:36:05,670 али то заиста зависи од контекста. 756 00:36:05,670 --> 00:36:09,960 Али у теорији, СКЛ је заједничка преко ових разних производа. 757 00:36:09,960 --> 00:36:11,560 Стварно добрих питања. 758 00:36:11,560 --> 00:36:12,272 Да. 759 00:36:12,272 --> 00:36:13,147 >> ПУБЛИКА: [неразумљиво] 760 00:36:13,147 --> 00:36:17,820 761 00:36:17,820 --> 00:36:21,480 >> Давид Малан: Да, тако можете да базу података 762 00:36:21,480 --> 00:36:25,020 је само сервер, на крају дан, и унутар тог сервера 763 00:36:25,020 --> 00:36:28,670 је гомила столови, редови и колоне. 764 00:36:28,670 --> 00:36:33,410 И када шаљете упит овако од програма, ваш сајт, 765 00:36:33,410 --> 00:36:39,340 писан у Јави, Руби, Питхон, без обзира, сервер прима ову команду 766 00:36:39,340 --> 00:36:41,660 и то тумачење у буквално на исти начин 767 00:36:41,660 --> 00:36:43,660 смо раније разговарали са тумачити језика, 768 00:36:43,660 --> 00:36:47,333 а затим обавља неку акцију на нулу или више редова у нула или више табела. 769 00:36:47,333 --> 00:36:48,208 ПУБЛИКА: [неразумљиво] 770 00:36:48,208 --> 00:36:53,540 771 00:36:53,540 --> 00:36:55,070 >> Давид Малан: Тачно, тачно. 772 00:36:55,070 --> 00:36:58,450 Тако да псеудокоду за нешто као да би могло бити то. 773 00:36:58,450 --> 00:37:02,450 У вашем ПХП датотеци или ваш Питхон фајл или ваш Јава фајл, 774 00:37:02,450 --> 00:37:09,210 морали псеудокоду код, или Сцратцх-попут блока као, ако корисник посети 775 00:37:09,210 --> 00:37:19,870 ацме.цом/регистер~~В по први пут, онда убаците у корисника и тако даље. 776 00:37:19,870 --> 00:37:22,619 И ми би превести ово конкретнији код на крају. 777 00:37:22,619 --> 00:37:24,660 Али стварно, сви имамо градивни блокови овде, 778 00:37:24,660 --> 00:37:27,680 иако смо прескакања неке корака за имплементацију. 779 00:37:27,680 --> 00:37:31,560 >> Дакле, дозволите ми замерити шта смо дивно урадила малопре. 780 00:37:31,560 --> 00:37:36,470 Ви сте створили лепа Комплетна табела за кориснике. 781 00:37:36,470 --> 00:37:38,920 Додуше, можемо имплементирати то на неколико различитих начина, 782 00:37:38,920 --> 00:37:43,030 али сте заправо нас је довео низ патх-- и ти рећи, 783 00:37:43,030 --> 00:37:48,080 али то је вероватно мој фаулт-- на прилично неефикасна имплементација база података. 784 00:37:48,080 --> 00:37:49,950 Није нормализује. 785 00:37:49,950 --> 00:37:52,320 >> И нормализован мислим ту ће бити, 786 00:37:52,320 --> 00:37:57,380 током времена, значајан вишак запослених, и стога неефикасност, 787 00:37:57,380 --> 00:38:00,210 да је отпад простора. 788 00:38:00,210 --> 00:38:05,650 На основу само оно што видиш овде, могу Ви замислили где је овај отпад простора 789 00:38:05,650 --> 00:38:08,710 ће доћи из, током времена, као све више и више корисника региструјте 790 00:38:08,710 --> 00:38:10,860 за свој сајт? 791 00:38:10,860 --> 00:38:13,047 Који подаци могу постати сувишан? 792 00:38:13,047 --> 00:38:19,084 793 00:38:19,084 --> 00:38:20,940 >> ПУБЛИКА: [неразумљиво] 794 00:38:20,940 --> 00:38:22,686 >> Давид Малан: Зашто мислиш да? 795 00:38:22,686 --> 00:38:23,561 ПУБЛИКА: [неразумљиво] 796 00:38:23,561 --> 00:38:32,180 797 00:38:32,180 --> 00:38:32,930 Давид Малан: Да. 798 00:38:32,930 --> 00:38:35,622 И претпоставимо за потребе данас да је то истина. 799 00:38:35,622 --> 00:38:38,330 Испоставило се да, и сазнали смо ово на тежи начин, то није истина. 800 00:38:38,330 --> 00:38:41,670 Некако више градова има, некако, исто поштански број, 801 00:38:41,670 --> 00:38:43,390 што квари ову предивну интуицију. 802 00:38:43,390 --> 00:38:46,180 Али претпоставимо да је то истина, јер је скоро увек истина. 803 00:38:46,180 --> 00:38:51,390 Претпостављам да зип код увек повезан са истом граду 804 00:38:51,390 --> 00:38:53,600 и држава, која је врста разумне претпоставке, 805 00:38:53,600 --> 00:38:54,840 али нетачно, испоставило се. 806 00:38:54,840 --> 00:38:57,310 Али разумна претпоставка за данашње потребе. 807 00:38:57,310 --> 00:39:01,650 >> Онда претпостављам да живим у Кембриџу, Мр, према табели овог корисника, 808 00:39:01,650 --> 00:39:04,100 и претпостављам да Лаурен Скали живи у Кембриџу, МА, 809 00:39:04,100 --> 00:39:06,120 и претпоставимо да Карим живи у Кембриџу, МА, 810 00:39:06,120 --> 00:39:10,400 и Арва живи у Кембриџу, Мр, сви ми у 02138. 811 00:39:10,400 --> 00:39:15,890 Зашто смо памћења Цамбридге, МА 02138 за све нас четворо? 812 00:39:15,890 --> 00:39:18,903 Шта треба да је довољно запамтити? 813 00:39:18,903 --> 00:39:20,249 >> ПУБЛИКА: [неразумљиво] 814 00:39:20,249 --> 00:39:21,540 Давид Малан: Само поштански број. 815 00:39:21,540 --> 00:39:25,080 Само да 02138 постоји, јер Знаш шта можемо да урадимо? 816 00:39:25,080 --> 00:39:32,650 Могли бисмо се мало фенси овде и овде, дефинисати други сто 817 00:39:32,650 --> 00:39:35,850 где ово ће бити име, ово ће бити тип, 818 00:39:35,850 --> 00:39:38,840 ово ће бити дужине, и од сада, ја сам 819 00:39:38,840 --> 00:39:42,900 це звати ово мој градове сто. 820 00:39:42,900 --> 00:39:47,011 То се звало, од Наравно, мој корисници сто. 821 00:39:47,011 --> 00:39:49,885 Па шта да кажем овде за мојим столом градова, мислиш? 822 00:39:49,885 --> 00:39:53,605 823 00:39:53,605 --> 00:39:54,535 >> ПУБЛИКА: [неразумљиво] 824 00:39:54,535 --> 00:39:55,930 >> Давид Малан: Да. 825 00:39:55,930 --> 00:40:01,440 Дакле, зип и државу и град. 826 00:40:01,440 --> 00:40:05,350 И тако је тип овде, рећи ћемо ово ће бити Чар 5 опет, 827 00:40:05,350 --> 00:40:06,750 предмет расправе о раније. 828 00:40:06,750 --> 00:40:14,810 Ово ће бити енум, можда као пре, а град ће бити инт 50. 829 00:40:14,810 --> 00:40:17,960 И сада шта сам добио избрисати из ове табеле 830 00:40:17,960 --> 00:40:21,995 да се елиминишу ту неефикасност? 831 00:40:21,995 --> 00:40:23,100 >> ПУБЛИКА: [неразумљиво] 832 00:40:23,100 --> 00:40:23,850 Давид Малан: Лепо. 833 00:40:23,850 --> 00:40:30,239 Држава и град отићи, тако да сам сада сам елиминисао потенцијални неефикасност 834 00:40:30,239 --> 00:40:33,280 за редундантно памћење, Цамбридге, Мр, Цамбридге, МА, Цамбридге, 835 00:40:33,280 --> 00:40:35,712 Цамбридге, МА, који, надамо се, се никада неће променити. 836 00:40:35,712 --> 00:40:37,670 А чак и ако се то деси, то је минорли досадан, сада 837 00:40:37,670 --> 00:40:39,750 да ја морати да се промени то у више редова, 838 00:40:39,750 --> 00:40:43,770 а овде, ја могу само промените га на једном месту. 839 00:40:43,770 --> 00:40:46,890 >> Шта је компромис, можда? 840 00:40:46,890 --> 00:40:48,020 Ово је супер згодно. 841 00:40:48,020 --> 00:40:50,730 Имао све моје податке лепо заједно. 842 00:40:50,730 --> 00:40:53,644 Али, оно што је очигледно случај сада? 843 00:40:53,644 --> 00:40:55,684 >> ПУБЛИКА: [неразумљиво] 844 00:40:55,684 --> 00:40:58,100 Давид Малан: Тачно, и ја сам Драго ми је да користи реч се придруже, 845 00:40:58,100 --> 00:41:01,320 јер је то заправо кључна реч, у свету релационим базама података 846 00:41:01,320 --> 00:41:05,270 СКЛ, то је стварна реч коју Можда тип или барем пренесе. 847 00:41:05,270 --> 00:41:09,280 И у ствари, оно што сада треба да урадимо да бисте изабрали Давидова пуна информација 848 00:41:09,280 --> 00:41:19,700 нешто попут изаберите звезда из корисници, придружио градовима, ајде-- и сада 849 00:41:19,700 --> 00:41:24,010 Ја ћу само прећи на другу линију тако да овај фитс-- усерс.зип једнако 850 00:41:24,010 --> 00:41:34,570 цитиес.зип, где усерс.ИД једнако 1. 851 00:41:34,570 --> 00:41:35,550 >> Дакле, шта се дешава? 852 00:41:35,550 --> 00:41:38,970 То је ружно изгледају, али можете некако реад ит лева на десно, одозго на доле. 853 00:41:38,970 --> 00:41:41,030 Избор звезда од корисника је иста као и раније, 854 00:41:41,030 --> 00:41:42,930 али то није од корисника, пер се. 855 00:41:42,930 --> 00:41:45,910 То је од корисника придружио градовима. 856 00:41:45,910 --> 00:41:48,520 Оно што ја придружити та два стола на? 857 00:41:48,520 --> 00:41:51,820 Па, очигледно је корисника столови зип поље, 858 00:41:51,820 --> 00:41:54,810 а тај период је само посебан синтакса да изразе ту идеју, 859 00:41:54,810 --> 00:41:58,130 а ово је градови столови зип поље. 860 00:41:58,130 --> 00:42:01,580 Желим та два да буду једнаки, али желим да на крају изабрали 861 00:42:01,580 --> 00:42:06,280 само они редова где ИД у табели корисници 862 00:42:06,280 --> 00:42:08,730 једнак 1, што је био мој. 863 00:42:08,730 --> 00:42:11,781 >> И само да буде јасно, програмер, обично када 864 00:42:11,781 --> 00:42:14,780 хардцоде нешто попут броја 1, јер у супротном само сајт 865 00:42:14,780 --> 00:42:17,630 подржава Давид ор Тхе Први корисник, 866 00:42:17,630 --> 00:42:20,720 би уместо тога нешто попут ИД, где 867 00:42:20,720 --> 00:42:22,510 ово представља променљива, нешто што 868 00:42:22,510 --> 00:42:26,210 може променити током времена, слично у духу онога што сам раније рекао 869 00:42:26,210 --> 00:42:28,080 са оваквим држаче. 870 00:42:28,080 --> 00:42:30,396 Али за сада ћу га хардцоде као 1. 871 00:42:30,396 --> 00:42:31,520 И шта то значи? 872 00:42:31,520 --> 00:42:35,100 Па, лепо начин да се визуализује то је да ако ова рука је сто корисника, 873 00:42:35,100 --> 00:42:38,090 а то рука је без икаквих сто, ми смо на неки начин финдинг-- 874 00:42:38,090 --> 00:42:41,330 и врхови прстију су рар овде, а врхови прстију 875 00:42:41,330 --> 00:42:43,740 Овде су зип, ти си Некако ми се блокирање 876 00:42:43,740 --> 00:42:47,950 тако да се вратиш добијени оригинални сто, по заиста спајање 877 00:42:47,950 --> 00:42:49,590 две табеле на заједничком терену. 878 00:42:49,590 --> 00:42:50,840 И то не мора да буде рар. 879 00:42:50,840 --> 00:42:54,460 То може бити веома нешто друго, али рар је лепо, јер је један, то је кратак, 880 00:42:54,460 --> 00:42:56,470 два, то је увек исте дужине, тако да је 881 00:42:56,470 --> 00:43:02,270 прави ефикасност шта Оливиер овде предлаже 882 00:43:02,270 --> 00:43:05,200 са факторинга кроз зип, и [Неразумљиво] предлаже да се отарасимо 883 00:43:05,200 --> 00:43:07,110 града и државе. 884 00:43:07,110 --> 00:43:11,370 >> Дакле, ово је процес познат као нормализације. 885 00:43:11,370 --> 00:43:14,171 Има ли питања у вези са тим? 886 00:43:14,171 --> 00:43:16,170 Па дозволите ми да нагласим ово је врста ствари, 887 00:43:16,170 --> 00:43:19,202 иако је прилично низак ниво, ова дискусија, да ли мислите 888 00:43:19,202 --> 00:43:20,910 ви на неки начин се изгубио у коров, 889 00:43:20,910 --> 00:43:26,690 ово је манифестација довољно прилика за програмере да буде лоше. 890 00:43:26,690 --> 00:43:29,600 И, у ствари, чак и када смо, у курсеви сам учио, када смо имали, 891 00:43:29,600 --> 00:43:32,290 на пример, неискусне основних програмери 892 00:43:32,290 --> 00:43:35,920 изградити сајтова, на први поглед, сајтови могу да изгледају сјајно. 893 00:43:35,920 --> 00:43:38,280 И они имају све од функционалност смо тражили, 894 00:43:38,280 --> 00:43:40,650 програмери урадили добар посао. 895 00:43:40,650 --> 00:43:43,370 >> Али нису нужно знати довољно о ​​дизајну базе података 896 00:43:43,370 --> 00:43:46,680 или нису добро размисли довољно о ​​врстама података 897 00:43:46,680 --> 00:43:49,220 и врсте корисника у сајт ће имати, 898 00:43:49,220 --> 00:43:53,240 и нађемо, онда, шест месеци касније, након што је дипломирао или премештена на, 899 00:43:53,240 --> 00:43:56,016 да дођавола, наш сајт заиста, заиста споро. 900 00:43:56,016 --> 00:43:58,890 И још ми не говоримо о томе да милиони или хиљаде корисника. 901 00:43:58,890 --> 00:44:02,580 Мислим неколико стотина корисника на кампусу, сви којих бих, на пример, 902 00:44:02,580 --> 00:44:04,870 схоп за програме на У исто време, они су 903 00:44:04,870 --> 00:44:07,010 користећи тај каталог курсева Апликација сам поменуо 904 00:44:07,010 --> 00:44:10,410 и ствар постаје стварно успори јер није било индекса. 905 00:44:10,410 --> 00:44:13,740 Није било црвена звезда, тако да говоре, или ми нисмо имали обавезно 906 00:44:13,740 --> 00:44:17,690 фактор од заједничке податке добити неке уштеде простора. 907 00:44:17,690 --> 00:44:21,880 >> И тако, када провере програмер или особа база или слично, 908 00:44:21,880 --> 00:44:25,864 Врсте питања за размишљање је чак, приликом разматрања нечији код, 909 00:44:25,864 --> 00:44:28,530 да кажем, не нужно поглед кроз све своје кода, али кажу, 910 00:44:28,530 --> 00:44:30,154 Погледајмо кроз табеле базе података. 911 00:44:30,154 --> 00:44:31,150 Шта то чување? 912 00:44:31,150 --> 00:44:33,941 И да онда кажемо, добро, чекај минут, зашто користите цео број? 913 00:44:33,941 --> 00:44:36,224 Шта ако имамо 4 милијарде и 1 ових редова? 914 00:44:36,224 --> 00:44:38,140 И ове врсте питање је прилика 915 00:44:38,140 --> 00:44:40,170 да се некако потисне и добити осећај, где 916 00:44:40,170 --> 00:44:42,300 ако нисте сигурни како да урадите то, да неко више техничке 917 00:44:42,300 --> 00:44:45,425 постави ова питања, о томе да ли или не особа заиста зна свој посао. 918 00:44:45,425 --> 00:44:47,890 И ово је врста ствари, такође, да људи 919 00:44:47,890 --> 00:44:50,540 на интернету ко су самоуки, можда 920 00:44:50,540 --> 00:44:53,920 научити ређе, јер тебе не морају да долазе преко њега 921 00:44:53,920 --> 00:44:56,630 колико, јер можете добити база података горе и трчање, 922 00:44:56,630 --> 00:44:58,880 али ако сте прочитали се на туторијалима или било 923 00:44:58,880 --> 00:45:01,880 је причао о нормализацији базе података и индексирање и перформансе, 924 00:45:01,880 --> 00:45:04,255 Ово су врсте ствари који ће те повредити. 925 00:45:04,255 --> 00:45:07,480 И можете помислити, или лоше инжењер Могло би се рећи, ох, добро, боље плате 926 00:45:07,480 --> 00:45:09,600 за већу базу података или бржи база података 927 00:45:09,600 --> 00:45:13,360 или само бацају паре на ово, вертикално скала, не мора нужно бити тако. 928 00:45:13,360 --> 00:45:16,920 Ако одеш у-- и можеш ићи у после фацт-- и додати индексима, 929 00:45:16,920 --> 00:45:20,320 и можда ће бити потребно неколико сати за база да се изгради тај нови података 930 00:45:20,320 --> 00:45:24,100 структура које сам алудирао раније, још увек можете поправити ово након тога, 931 00:45:24,100 --> 00:45:26,180 да је ово где си почињу да разликује 932 00:45:26,180 --> 00:45:28,830 добри дизајнери из лоше дизајнери, а не само естетски, 933 00:45:28,830 --> 00:45:32,972 али у питању перформансе као добро. 934 00:45:32,972 --> 00:45:33,555 Неко питање? 935 00:45:33,555 --> 00:45:36,420 936 00:45:36,420 --> 00:45:37,480 Не? 937 00:45:37,480 --> 00:45:41,980 Дакле, за носкл, која је била друга врста базе података за које сам алудирао раније, 938 00:45:41,980 --> 00:45:43,490 немате редове и колоне. 939 00:45:43,490 --> 00:45:47,000 Уместо тога, ви би имао нешто да изгледа мало више овако. 940 00:45:47,000 --> 00:45:48,630 Ја ћу користити здрав синтаксу. 941 00:45:48,630 --> 00:45:51,270 Заграда се деси се овде користи доста. 942 00:45:51,270 --> 00:45:55,400 Можда имате нешто као прво име је Давид, 943 00:45:55,400 --> 00:46:00,180 Ви можда има последњи име је Малан, цитати, 944 00:46:00,180 --> 00:46:07,530 Ви можда има ИД је-- извините, вхоопс-- ИД је 1, 945 00:46:07,530 --> 00:46:13,410 емаил је малан@харвард.еду, а ја нећу смета куцањем остатак, и онда 946 00:46:13,410 --> 00:46:14,380 неке друге ствари. 947 00:46:14,380 --> 00:46:17,380 >> Другим речима, ово је приказ текстуални 948 00:46:17,380 --> 00:46:20,720 онога што би обично зовемо објекат у компјутерском програму. 949 00:46:20,720 --> 00:46:26,079 И предмет је генерално само збирка кључних вредности парова. 950 00:46:26,079 --> 00:46:27,370 Дакле, опет, то понавља. 951 00:46:27,370 --> 00:46:30,440 Видели смо кључ вредност пар у ХТМЛ, видели смо кључне вредности парове сада 952 00:46:30,440 --> 00:46:34,020 у контексту база података, а ми Видела кључне вредности парова у контексту 953 00:46:34,020 --> 00:46:35,970 од, мислим, језик раније данас. 954 00:46:35,970 --> 00:46:36,890 Стално долази. 955 00:46:36,890 --> 00:46:39,620 И заиста, то је стварно који подаци се своди на, 956 00:46:39,620 --> 00:46:44,240 података и метаподатака, или вредности и кључеви, респективно. 957 00:46:44,240 --> 00:46:47,430 >> Дакле, не-релациона база података, нешто на бази 958 00:46:47,430 --> 00:46:50,680 на објектима, где се само грумен све заједно и ставите га 959 00:46:50,680 --> 00:46:55,640 у меморију, би генерално на слици као, или мислио, јер то. 960 00:46:55,640 --> 00:47:00,500 И ја ћу сада оставити да као врста алтернативног приступа. 961 00:47:00,500 --> 00:47:03,750 А један није нужно боља од друге. 962 00:47:03,750 --> 00:47:07,310 У ствари, веома у моди ових дана су системи за базе података 963 00:47:07,310 --> 00:47:11,942 као МонгоДБ и РЕДИС и неколико друга таква алата, слободно доступне, 964 00:47:11,942 --> 00:47:13,400 али су све моди. 965 00:47:13,400 --> 00:47:18,850 Делом због тога што они нуде додатни карактеристике преко тих плочастих приступа, 966 00:47:18,850 --> 00:47:20,850 али и зато што су мало лакши за коришћење, 967 00:47:20,850 --> 00:47:24,099 јер не морам да размишљам као тешко о много ових одлука дизајна. 968 00:47:24,099 --> 00:47:25,970 Тако плусева и минуса. 969 00:47:25,970 --> 00:47:29,740 Тако схватају да су опције више од онога што смо управо провели време на. 970 00:47:29,740 --> 00:47:32,310 >> Хајде да урадимо ово. 971 00:47:32,310 --> 00:47:37,870 Хајде да транзиције мало се сада на веб програмирање, 972 00:47:37,870 --> 00:47:40,470 тако да смо некако закључити данас са нечим 973 00:47:40,470 --> 00:47:43,930 То је мало хандс-он, пуњење у неким празнина од јуче. 974 00:47:43,930 --> 00:47:45,340 Пусти ме да ово прво. 975 00:47:45,340 --> 00:47:49,310 Тако се сетим да је јуце имамо мало канонски ХТМЛ 976 00:47:49,310 --> 00:47:55,110 странице које су у почетку, само ХТМЛ и онда секундарно имао ЦСС, 977 00:47:55,110 --> 00:47:56,620 Цасцадинг Стиле Схеетс. 978 00:47:56,620 --> 00:47:59,830 Ово је нова ознака које нисмо види јуче, или живе на, 979 00:47:59,830 --> 00:48:01,490 тзв ознаке скрипте. 980 00:48:01,490 --> 00:48:05,830 >> Испоставило се заправо можете уградити језик назван ЈаваСцрипт у свом веб 981 00:48:05,830 --> 00:48:08,310 страна и направите веб страница уради нешто. 982 00:48:08,310 --> 00:48:09,710 Дакле, шта хоћу да кажем? 983 00:48:09,710 --> 00:48:12,630 Па, пусти ме само напред и само позајмим код за тренутак. 984 00:48:12,630 --> 00:48:15,860 Ја идем у цлоуд9, нема потребе да идем тамо сами још увек, 985 00:48:15,860 --> 00:48:21,350 и ја ћу назвати алерт.ХТМЛ. 986 00:48:21,350 --> 00:48:23,650 Идем да налепите у мом досијеу овде. 987 00:48:23,650 --> 00:48:32,070 И само да се разјасни шта сам урадио, нека ме на ову адресу и идите на упозори, 988 00:48:32,070 --> 00:48:33,870 и видите Хелло Ворлд. 989 00:48:33,870 --> 00:48:35,440 >> Али ово је мало ундервхелминг. 990 00:48:35,440 --> 00:48:37,410 Желим да урадим нешто мало другачије. 991 00:48:37,410 --> 00:48:40,610 Тако да ћу стварно урадити. 992 00:48:40,610 --> 00:48:43,820 Ја идем у овде е, и између мојих ознаке скрипте, 993 00:48:43,820 --> 00:48:53,460 кажу алерт ( 'Хелло Ворлд'); тако обавештење то је мало траљаво, али имам ХТМЛ, 994 00:48:53,460 --> 00:48:56,180 од којих је у језик назван ЈаваСцрипт 995 00:48:56,180 --> 00:48:59,420 и то је оно што се зове позив функције или поступак позив. 996 00:48:59,420 --> 00:49:04,500 Ово је глагол, буквално, у овом случају, и ја сам позивајући се код функционалност 997 00:49:04,500 --> 00:49:06,310 да је неко други написао. 998 00:49:06,310 --> 00:49:09,630 >> Тако да је функционалност је Упозорење, па идемо на овој страници 999 00:49:09,630 --> 00:49:14,046 Сада и кликните на Релоад, и сада види мало интерактивности. 1000 00:49:14,046 --> 00:49:15,420 То је нека врста старе школе и ружно. 1001 00:49:15,420 --> 00:49:18,580 Ова врста вас подсећа од поп-упс, можда, од прошлих 1002 00:49:18,580 --> 00:49:22,030 али је до нечег мало више програмски. 1003 00:49:22,030 --> 00:49:26,940 >> Тако више од тога, хајде да урадимо нешто интересантније. 1004 00:49:26,940 --> 00:49:30,980 Пусти ме унутра и ријеши ово. 1005 00:49:30,980 --> 00:49:33,840 И ја идем напред и створити образац као што смо урадили јуче. 1006 00:49:33,840 --> 00:49:34,840 У ствари, знаш шта? 1007 00:49:34,840 --> 00:49:37,350 Ја идем у гоогле.хтмл, који смо 1008 00:49:37,350 --> 00:49:43,027 почела је јуче, који је изгледао као ово, преко које смо тражили цат 1009 00:49:43,027 --> 00:49:45,360 Али примећујете да је нека врста грешка у садашњој верзији. 1010 00:49:45,360 --> 00:49:49,770 Она ради за мачке, али претпостављам да Ја не сарађују и куцам ништа, 1011 00:49:49,770 --> 00:49:53,290 и ја једноставно кликните поднети. 1012 00:49:53,290 --> 00:49:54,540 То је чудно понашање. 1013 00:49:54,540 --> 00:49:57,300 Одвели су ме у стварном Гоогле, Није ми дао поруку о грешци. 1014 00:49:57,300 --> 00:50:00,590 Хтео бих да кажем корисника треба да нам дају вредност. 1015 00:50:00,590 --> 00:50:01,780 >> Како бисмо могли да урадимо ово? 1016 00:50:01,780 --> 00:50:06,790 Па да се вратимо у Цлоуд9 и пусти ме у врху моје странице 1017 00:50:06,790 --> 00:50:11,980 и додати скрипт таг овако, где Идем да унесете мало ЈаваСцрипт кода. 1018 00:50:11,980 --> 00:50:15,420 И ја ћу да урадите следеће. 1019 00:50:15,420 --> 00:50:22,910 Иф (доцумент.гетелементБиИД-- и опозива да смо о томе разговарали раније, 1020 00:50:22,910 --> 00:50:23,960 да функција. 1021 00:50:23,960 --> 00:50:25,310 Шта ИД желим да добијем? 1022 00:50:25,310 --> 00:50:33,050 Желим да к, а ја ћу рецимо једнако ништа, овако-- 1023 00:50:33,050 --> 00:50:38,220 заправо да употребим наводнике само за цонсистенци-- једнако ништа, 1024 00:50:38,220 --> 00:50:46,650 онда упозорење ( "Унесите упит") овде. 1025 00:50:46,650 --> 00:50:49,200 >> Тако да имају оно што изгледа нешто као услов. 1026 00:50:49,200 --> 00:50:51,410 Видели смо ову општу идеју у Сцратцх. 1027 00:50:51,410 --> 00:50:54,240 То је као један од оних слагалице комада који су изгледали овако. 1028 00:50:54,240 --> 00:50:55,780 А шта ја то говорим? 1029 00:50:55,780 --> 00:50:59,520 Па, овде, приметио сам урадити следеће. 1030 00:50:59,520 --> 00:51:02,790 Ја ћу дати овај формулар поље не само назив к, који 1031 00:51:02,790 --> 00:51:06,630 је оно што добија прошло Гоогле, али ја сам ће му дати локални идентификатор, 1032 00:51:06,630 --> 00:51:07,630 назива К. 1033 00:51:07,630 --> 00:51:11,780 Али сам могао назвати нешто што Желим, ја ћу да остане једноставан 1034 00:51:11,780 --> 00:51:14,570 и такође га зову К, само због једноставности. 1035 00:51:14,570 --> 00:51:17,650 >> А сада ћу да урадим нешто мало више. 1036 00:51:17,650 --> 00:51:22,600 На пољима обрасца овде, идем да додати оно што се зове догађај трговина. 1037 00:51:22,600 --> 00:51:32,260 На субмит, желим да позовем функција се зове потврда. 1038 00:51:32,260 --> 00:51:35,520 Ово још увек не постоји, ово реч, или тај глагол Валидате, 1039 00:51:35,520 --> 00:51:38,560 јер оно што ћу да урадим овде сада је додати неки код. 1040 00:51:38,560 --> 00:51:42,200 >> Ја ћу рећи функцију Потврдите. 1041 00:51:42,200 --> 00:51:48,280 Ја ћу да увучете ово и додати још коврџава браће овде и још једна овде. 1042 00:51:48,280 --> 00:51:50,110 Размислите о чему се сада ради. 1043 00:51:50,110 --> 00:51:54,210 Имам сада-- мисли о овоме као створен мој властити слагалице који нису раније 1044 00:51:54,210 --> 00:51:57,440 постоје, а ја сам назвао ово слагалица пиеце Валидате слагалицу комад. 1045 00:51:57,440 --> 00:52:01,620 Његова сврха у животу је да се изврши четири линије кода у њему. 1046 00:52:01,620 --> 00:52:04,940 >> ako доцумент.гетЕлементБиИд тако концептуално, 1047 00:52:04,940 --> 00:52:09,380 који ће ићи у елементу, ХТМЛ елемент чији је јединствен 1048 00:52:09,380 --> 00:52:12,930 Идеја је само к, и онда иако синтакса изгледа мало чудно, 1049 00:52:12,930 --> 00:52:16,430 да једнако једнако само значи једнаки. 1050 00:52:16,430 --> 00:52:20,950 То значи, ако елемент са јединствени идентификатор к, када стечен, 1051 00:52:20,950 --> 00:52:25,700 нема вредност, то само једнако под знацима навода, нема ничега, 1052 00:52:25,700 --> 00:52:27,170 онда оно што желим да урадим? 1053 00:52:27,170 --> 00:52:29,360 Желим да виче на корисника. 1054 00:52:29,360 --> 00:52:31,710 >> И нећемо пуно детаља овде. 1055 00:52:31,710 --> 00:52:32,960 Ја ћу се вратити лажна. 1056 00:52:32,960 --> 00:52:34,380 То је грешка. 1057 00:52:34,380 --> 00:52:38,746 Друго, ја ћу се вратити истина. 1058 00:52:38,746 --> 00:52:40,120 Дакле, било да је радио или није. 1059 00:52:40,120 --> 00:52:41,800 Лажне или истините. 1060 00:52:41,800 --> 00:52:47,820 А сада, ако нисам направио неку грешку, пусти ме да сачувам и поново ово. 1061 00:52:47,820 --> 00:52:50,940 И дозволите ми да проверите да Нисам, у ствари, било какве грешке у куцању, 1062 00:52:50,940 --> 00:52:52,690 тако да не осрамотити себе. 1063 00:52:52,690 --> 00:52:54,240 Да видимо да ли ово ради. 1064 00:52:54,240 --> 00:52:56,930 >> Дакле, сада ћу да куцате мачке. 1065 00:52:56,930 --> 00:52:59,421 То је још увек ради, или пола ради, најмање. 1066 00:52:59,421 --> 00:53:02,170 Сад ме пусти да га поново, и сада нека да покушам подношења без куцања 1067 00:53:02,170 --> 00:53:05,860 било шта дођавола, је пукла. 1068 00:53:05,860 --> 00:53:06,430 Само тренутак. 1069 00:53:06,430 --> 00:53:09,380 1070 00:53:09,380 --> 00:53:12,660 Пусти ме да отворим конзолу, [Неразумљиво] лог, поново страницу. 1071 00:53:12,660 --> 00:53:13,576 Дозволите ми да ово покушамо поново. 1072 00:53:13,576 --> 00:53:17,000 1073 00:53:17,000 --> 00:53:17,501 Ох, проклетство. 1074 00:53:17,501 --> 00:53:18,000 Заборавио сам. 1075 00:53:18,000 --> 00:53:18,630 Направио сам грешку у куцању. 1076 00:53:18,630 --> 00:53:20,760 Сећам се шта је то. 1077 00:53:20,760 --> 00:53:21,350 .валуе. 1078 00:53:21,350 --> 00:53:27,060 Хтео сам да кажем да је вредност елемента чији је ИД је К 1079 00:53:27,060 --> 00:53:29,800 једнака је, затим викати на корисника. 1080 00:53:29,800 --> 00:53:31,870 >> Па сад да опет држи дах. 1081 00:53:31,870 --> 00:53:33,480 Идемо. 1082 00:53:33,480 --> 00:53:34,130 Ево га. 1083 00:53:34,130 --> 00:53:35,010 Унесите упит. 1084 00:53:35,010 --> 00:53:36,840 Дакле, није ме пустити преко. 1085 00:53:36,840 --> 00:53:40,210 Могу бити некако разиграни са овим, и уместо да провере без вредности, 1086 00:53:40,210 --> 00:53:46,720 Ја нешто да кажем као, више у потрази за мачке, 1087 00:53:46,720 --> 00:53:51,150 и сада можемо само више у шали пустити корисник потрага за псе ако он или она 1088 00:53:51,150 --> 00:53:57,490 жели, или ако одем тамо и тражи мачке, сада не могу. 1089 00:53:57,490 --> 00:53:58,690 >> Дакле, шта је понети овде? 1090 00:53:58,690 --> 00:54:03,010 Дакле, један, увели смо у наш свет ХТМЛ и ЦСС, 1091 00:54:03,010 --> 00:54:04,320 програмирање функционалност. 1092 00:54:04,320 --> 00:54:06,300 Ја заправо могу сада доносе одлуке у коду. 1093 00:54:06,300 --> 00:54:10,570 Раније, све што сам могао да урадим је означили текстуални садржај или графички садржај 1094 00:54:10,570 --> 00:54:13,080 и реци шта да траже као и где се приказује. 1095 00:54:13,080 --> 00:54:16,650 Сада сам заиста могу питати питања веб страници 1096 00:54:16,650 --> 00:54:20,010 и доносе одлуке засноване на њему, и питати корисника 1097 00:54:20,010 --> 00:54:22,780 ако треба да вичем на њега или њу. 1098 00:54:22,780 --> 00:54:28,740 >> Дакле, хајде да пробамо нешто сами са овим. 1099 00:54:28,740 --> 00:54:33,350 Само напред, пусти ме отвори следећи слајд овде, и само да кажем једну ствар. 1100 00:54:33,350 --> 00:54:37,250 Баш као и са ЦСС, можемо фацтор од наш ЈаваСцрипт кода на посебан фајл, 1101 00:54:37,250 --> 00:54:40,660 можете да урадите исту ствар са ЈаваСцрипт као и ЦСС. 1102 00:54:40,660 --> 00:54:44,520 А ви користите да користите извор атрибут скрипте ознаке. 1103 00:54:44,520 --> 00:54:46,540 Али нећемо компликовати ствари за сада. 1104 00:54:46,540 --> 00:54:50,440 Уместо тога, ако можеш идите на ову страницу не, 1105 00:54:50,440 --> 00:55:02,690 али- да пређемо ово преокрене у ордер-- идем, ако бисте могли, ову страницу овде. 1106 00:55:02,690 --> 00:55:03,592 Овај УРЛ овде. 1107 00:55:03,592 --> 00:55:04,550 То је у данашњим слајдовима. 1108 00:55:04,550 --> 00:55:07,133 Можда ћете морати да поново јер Додао сам пар ствари. 1109 00:55:07,133 --> 00:55:09,970 1110 00:55:09,970 --> 00:55:13,890 >> Али идем тамо где нека слагалице чекају. 1111 00:55:13,890 --> 00:55:16,670 И то ће нам дати шансу, у нешто забавније контексту, 1112 00:55:16,670 --> 00:55:20,610 да се бави са неким ЈаваСцрипт. 1113 00:55:20,610 --> 00:55:25,505 И кад стигнем тамо, Ја ћу објаснити шта чека. 1114 00:55:25,505 --> 00:55:47,350 1115 00:55:47,350 --> 00:55:47,850 Гет зелено. 1116 00:55:47,850 --> 00:56:03,063 1117 00:56:03,063 --> 00:56:03,562 Сет плаво. 1118 00:56:03,562 --> 00:56:11,030 1119 00:56:11,030 --> 00:56:13,930 Поставља зелена, поставља црвени. 1120 00:56:13,930 --> 00:56:19,220 1121 00:56:19,220 --> 00:56:20,220 Оопс. 1122 00:56:20,220 --> 00:56:22,330 Извините. 1123 00:56:22,330 --> 00:56:27,630 >> Ово је обим нашег документација за овај изазов. 1124 00:56:27,630 --> 00:56:29,920 И ово ће да ради на следећи начин. 1125 00:56:29,920 --> 00:56:33,340 Дакле, шта имате на ово страница је гомила 1126 00:56:33,340 --> 00:56:38,024 имиџ слагалица од једног другара на Универзитету Станфорд. 1127 00:56:38,024 --> 00:56:41,190 Дакле, оно што видите овде је скоро врста једног од тих Магиц Еие слагалица, 1128 00:56:41,190 --> 00:56:43,815 али ако само буље у њу, Ништа се неће искочити на тебе. 1129 00:56:43,815 --> 00:56:46,000 Уместо тога, нешто је скривена у овој слици. 1130 00:56:46,000 --> 00:56:47,790 И то је скривена на следећи начин. 1131 00:56:47,790 --> 00:56:51,740 Слике, као што знате, може бити састављен од само три боје. 1132 00:56:51,740 --> 00:56:53,346 Неки црвена, неки плаве, а неки зелени. 1133 00:56:53,346 --> 00:56:55,220 И можемо учинити све боје у дуге 1134 00:56:55,220 --> 00:56:57,570 мешањем те три боје некако. 1135 00:56:57,570 --> 00:57:01,940 >> Дакле, ово изгледа углавном зелено и плаво, али као Ник каже овде, 1136 00:57:01,940 --> 00:57:04,060 ово гвожђе слагалица слика је загонетка. 1137 00:57:04,060 --> 00:57:06,780 Она садржи слику нешто познат, међутим, 1138 00:57:06,780 --> 00:57:08,310 је слика искривљена. 1139 00:57:08,310 --> 00:57:11,500 Чувени објекат је у црвеним вредности. 1140 00:57:11,500 --> 00:57:13,810 Међутим, црвени вредности Имам све је подељено са 10. 1141 00:57:13,810 --> 00:57:16,230 Тако да су премале фактором 10. 1142 00:57:16,230 --> 00:57:18,280 Другим речима, Ник узео оригиналну слику, 1143 00:57:18,280 --> 00:57:21,500 а он све десатуратед на црвеном од њега, 1144 00:57:21,500 --> 00:57:23,850 смањење количине црвене мастило, ако хоћете, у томе. 1145 00:57:23,850 --> 00:57:26,060 >> Плаве и зелене вредности су све само бесмислена, 1146 00:57:26,060 --> 00:57:30,000 рандом вредности, звани бука дизајниран да сакрије праву слику. 1147 00:57:30,000 --> 00:57:32,250 Дакле, шта Ник је он био ублажена црвено и онда 1148 00:57:32,250 --> 00:57:34,380 он је само бацио случајни количине плава и зелена 1149 00:57:34,380 --> 00:57:37,590 на слици на врсту нејасан шта је заправо још увек тамо. 1150 00:57:37,590 --> 00:57:41,089 Морате да поништите те дисторзије да открије слику. 1151 00:57:41,089 --> 00:57:44,255 Прво, подесите све плаве и зелене вредности на нулу да их са пута, 1152 00:57:44,255 --> 00:57:48,700 и погледај резултат. онда умножавају сваки ред вредност за 10, 1153 00:57:48,700 --> 00:57:51,720 сцалинг назад до око његова коначна вредност. 1154 00:57:51,720 --> 00:57:53,035 Шта је познати предмет? 1155 00:57:53,035 --> 00:57:57,920 >> Дакле, сви ви имате тај правоугаоник у вашем бровсеру сада. 1156 00:57:57,920 --> 00:58:00,830 И приметити да постоји неко стартер код, да тако кажем. 1157 00:58:00,830 --> 00:58:04,370 Ово је ЈаваСцрипт код да Ницк је написао за вас. 1158 00:58:04,370 --> 00:58:07,250 И приметити да постоји линија у средини која 1159 00:58:07,250 --> 00:58:10,380 почиње са сласх сласх, то је оно што се обично зове коментар. 1160 00:58:10,380 --> 00:58:14,660 То значи да је израз за програмера да нема функционалну значење. 1161 00:58:14,660 --> 00:58:16,520 То је само визуелни знак да у човеку. 1162 00:58:16,520 --> 00:58:18,670 >> Тако да можете ићи напред и обрисати само ту линију, 1163 00:58:18,670 --> 00:58:22,214 и бити супер не рачуна да избрисати или променити било шта друго. 1164 00:58:22,214 --> 00:58:25,130 И дозволите ми да вас провести кроз шта је ово код ради и ја ћу га оставити 1165 00:58:25,130 --> 00:58:28,580 На вама је да схватим тајну слику. 1166 00:58:28,580 --> 00:58:32,226 Ова прва линија овде да сам управо истакнути даје следеће. 1167 00:58:32,226 --> 00:58:34,100 На левој страни, имате оно што се зове 1168 00:58:34,100 --> 00:58:39,140 променљива која Ник има произвољно, али разумно под називом им за слику. 1169 00:58:39,140 --> 00:58:41,660 На десној страни те знака једнакости, 1170 00:58:41,660 --> 00:58:45,240 Он каже дај нови цитат, под знацима навода "једноставно слика". 1171 00:58:45,240 --> 00:58:49,680 >> Једноставна слика, у овом контексту је оно што се зове класа, добро, 1172 00:58:49,680 --> 00:58:53,910 то је нешто као цласс-- техничком смислу прототипе-- али стварно, 1173 00:58:53,910 --> 00:58:58,000 ово ми даје нови објекат, чији садржај су фајл, 1174 00:58:58,000 --> 00:58:59,610 гвожђе-пуззле.пнг. 1175 00:58:59,610 --> 00:59:03,190 Другим речима, Ник је створио овај појам једноставне слике 1176 00:59:03,190 --> 00:59:05,920 тако да можемо, за педагошко сврхе, играју са сликом 1177 00:59:05,920 --> 00:59:09,790 и променити ред, зелене и плаве вредности. 1178 00:59:09,790 --> 00:59:11,750 >> А како ћемо да радимо? 1179 00:59:11,750 --> 00:59:15,360 Ова помало загонетан синтакса овде је као нека врста понављања блока 1180 00:59:15,360 --> 00:59:19,140 да су неки од вас видели у Сцратцх раније данас, где можете да поновите 10 пута. 1181 00:59:19,140 --> 00:59:22,220 У овом случају, Ник нема хардцодед број као 10. 1182 00:59:22,220 --> 00:59:28,020 Уместо тога, он каже, инитиализе променљива под називом к 0, 1183 00:59:28,020 --> 00:59:33,180 проверите да ли је к мање од ширина слике. 1184 00:59:33,180 --> 00:59:38,160 >> Па да буду прави, слика је променљива, тачка значи ићи у њему 1185 00:59:38,160 --> 00:59:40,900 и добити своју ширину, и онда Отворена заграда, затворено 1186 00:59:40,900 --> 00:59:43,687 заграда је само начин на који програмера да се каже да је ово функција. 1187 00:59:43,687 --> 00:59:44,520 Ово је поступак. 1188 00:59:44,520 --> 00:59:46,430 Ово је функционалност неко други написао. 1189 00:59:46,430 --> 00:59:48,570 Користите га и врати ми одговор. 1190 00:59:48,570 --> 00:59:53,610 А онда је к ++ је фенси начин каже, након што сте то урадили једном, 1191 00:59:53,610 --> 00:59:55,850 повећајте к је 1. 1192 00:59:55,850 --> 00:59:58,760 Другим речима, овај је програматор је начин 1193 00:59:58,760 --> 01:00:05,760 индуковања петљу која је да прелазили преко 1194 01:00:05,760 --> 01:00:10,410 све колоне у слици. 1195 01:00:10,410 --> 01:00:14,790 >> Слика је само мрежа у тачке, редови и колоне тачака. 1196 01:00:14,790 --> 01:00:18,270 Ово је начин итератинг током свих тих колона. 1197 01:00:18,270 --> 01:00:20,770 И изнутра, У међувремену, ми смо итератинг 1198 01:00:20,770 --> 01:00:24,030 над висинама, овде и овде и овде. 1199 01:00:24,030 --> 01:00:29,442 Да ли је ово само начин да се траипсинг, Скоро као стари школски писаћој машини, 1200 01:00:29,442 --> 01:00:32,230 да само прећи преко цела слика итеративно. 1201 01:00:32,230 --> 01:00:36,370 Ни то није баш у потпуности јасно, само се на вери за сада, 1202 01:00:36,370 --> 01:00:38,880 да су те три линије кода заједно су 1203 01:00:38,880 --> 01:00:43,090 ће омогућити да итеративно поглед на сваки пиксел, сваки дот на слици. 1204 01:00:43,090 --> 01:00:43,790 >> Шта је пиксел? 1205 01:00:43,790 --> 01:00:46,250 Па, да буде јасно, ако погледамо у оригиналу и зоом ин, 1206 01:00:46,250 --> 01:00:49,060 ако стварно ставити очи на екран рачунара, то је 1207 01:00:49,060 --> 01:00:53,510 само гомила тачкица, неколико хиљаду тачке пакује заједно тамо. 1208 01:00:53,510 --> 01:00:56,180 И шта сте да учините? 1209 01:00:56,180 --> 01:00:59,240 Сваки од тих тачака, коначна дефиниција, 1210 01:00:59,240 --> 01:01:06,350 је резултат онога што је генерално назива РГБ, црвена, зелена, плава, који 1211 01:01:06,350 --> 01:01:09,940 опет, могу се комбиновати у да ти дам било који број боја. 1212 01:01:09,940 --> 01:01:13,200 >> У ствари, ако се сећате од многих пре, много година, 1213 01:01:13,200 --> 01:01:17,320 пројектор екрани попут ових ствари некада имао ни један објектив већ три. 1214 01:01:17,320 --> 01:01:20,700 Један од њих испљунути црвено светло, један од их испљунути зелено светло, један од њих 1215 01:01:20,700 --> 01:01:21,600 испљунути плаву светлост. 1216 01:01:21,600 --> 01:01:24,391 И ако сте били у средњој школи као био сам гдје никада нису били 1217 01:01:24,391 --> 01:01:27,000 равне, си увек посматра историју филмова 1218 01:01:27,000 --> 01:01:29,770 који су били мало искривљено, јер три боје нису 1219 01:01:29,770 --> 01:01:30,970 комбиновање правилно. 1220 01:01:30,970 --> 01:01:36,330 >> Али испоставило се да је свако од Ове вредности црвене, зелене и плаве, 1221 01:01:36,330 --> 01:01:37,980 могу имати бројне повезан са њима. 1222 01:01:37,980 --> 01:01:42,500 На пример, 0 за црвено значи да нема црвена, 0 за зеленим значи не зелена, 1223 01:01:42,500 --> 01:01:45,120 и 0 за плаву значи да нема плаво. 1224 01:01:45,120 --> 01:01:49,403 Дакле, ако немате црвена, не зелена, и не плаве, које боје имате? 1225 01:01:49,403 --> 01:01:51,009 >> ПУБЛИКА: [неразумљиво] 1226 01:01:51,009 --> 01:01:52,800 Давид Малан: Ти би Надам се, да је бела. 1227 01:01:52,800 --> 01:01:55,333 На жалост, овај оператес-- жао? 1228 01:01:55,333 --> 01:01:56,380 >> ПУБЛИКА: [неразумљиво] 1229 01:01:56,380 --> 01:01:58,630 Давид Малан: Дакле, ви у ствари има црни, у овом случају. 1230 01:01:58,630 --> 01:02:01,530 Дакле, ако немате ниједан од ових боје укључен, имате црно. 1231 01:02:01,530 --> 01:02:06,510 Међутим, ако имате, рецимо пуно од њих, као и много црвене, 255 тога, 1232 01:02:06,510 --> 01:02:10,340 много зелене, и много од плаве, то је бела. 1233 01:02:10,340 --> 01:02:12,230 Дакле, то су два екстрема. 1234 01:02:12,230 --> 01:02:17,460 Дакле, у овом логиком, ако имам пуно црвене и зелене нема и не плави, 1235 01:02:17,460 --> 01:02:18,485 Које је боје је то? 1236 01:02:18,485 --> 01:02:19,360 ПУБЛИКА: [неразумљиво] 1237 01:02:19,360 --> 01:02:20,610 Давид Малан: Добро, очигледно. 1238 01:02:20,610 --> 01:02:25,940 И онда не црвена, много зелено, плаво не, и онда 1239 01:02:25,940 --> 01:02:29,590 ако се добро бих--, само ћемо завршити то, само зато, али то, наравно, 1240 01:02:29,590 --> 01:02:31,350 Сада је плава. 1241 01:02:31,350 --> 01:02:33,030 А сада можете комбиновати ове боје. 1242 01:02:33,030 --> 01:02:36,430 Сада као страну, ако неко од вас има није урадио неки стварни дизајн вебсите, 1243 01:02:36,430 --> 01:02:38,360 ви заправо можда види симболе као што је то. 1244 01:02:38,360 --> 01:02:42,030 ФФФ-- и заправо, то је Вероватно ни то. 1245 01:02:42,030 --> 01:02:44,380 То је ФФФФФФ. 1246 01:02:44,380 --> 01:02:48,970 >> Ико икада видио П-а и Е је и А тхроугх-- испоставило се, 1247 01:02:48,970 --> 01:02:52,970 Разговарали смо јуче о децимале, и данас, некако око децимале. 1248 01:02:52,970 --> 01:02:54,570 Данас смо разговарали о бинарни. 1249 01:02:54,570 --> 01:02:59,010 Испоставило се да, хексадецимални је веома заједнички основни систем за употребу у рачунарству. 1250 01:02:59,010 --> 01:03:04,960 Бинарни је два, децималне је 10, Хек је 16. 1251 01:03:04,960 --> 01:03:08,640 И испоставило се да, како да рачунаш у хексадецималном? 1252 01:03:08,640 --> 01:03:11,620 Нула, један, два, три, четири, пет, шест, седам, осам, 1253 01:03:11,620 --> 01:03:14,730 девет, шта користите после девет? 1254 01:03:14,730 --> 01:03:16,600 Шта је следећи број? 1255 01:03:16,600 --> 01:03:19,180 Ми смо већ користили нула. 1256 01:03:19,180 --> 01:03:20,570 Морам 16 од њих. 1257 01:03:20,570 --> 01:03:25,770 Нула, један, два, три, четири, пет, шест, седам, осам, девет, 1258 01:03:25,770 --> 01:03:27,520 ти треба мало произвољно конвенцију. 1259 01:03:27,520 --> 01:03:30,810 >> А шта човечанство одлучио мало времена Пре да је после девет долази писмо 1260 01:03:30,810 --> 01:03:34,450 А и затим Б, а затим Ц. Дакле Начин на који рачунати у хексадецималном 1261 01:03:34,450 --> 01:03:37,040 је нула, један, два, три, четири, пет, шест, седам, осам, девет, 1262 01:03:37,040 --> 01:03:42,880 А, Б, Ц, Д, Е, Ф, и да ће се рачунати ти скроз, испоставља се, до 15. 1263 01:03:42,880 --> 01:03:47,850 Дакле, нула до 15 нула кроз Ф А зашто је то битно? 1264 01:03:47,850 --> 01:03:51,570 Па, када имате два Ф је, тако да изразите 255. 1265 01:03:51,570 --> 01:03:54,350 >> Тако скратим причу, у свет Пхотосхопа, 1266 01:03:54,350 --> 01:03:57,299 да графички дизајн софтвера, у свету веб развоја, 1267 01:03:57,299 --> 01:03:59,590 где имате пуно боја, наравно, да се играју са, 1268 01:03:59,590 --> 01:04:02,350 често програмери ће екпресс оне у хексадецималном, 1269 01:04:02,350 --> 01:04:05,260 само зато што има тенденцију да се мало једноставније. 1270 01:04:05,260 --> 01:04:07,850 Иако је на први поглед то је много сложенији. 1271 01:04:07,850 --> 01:04:11,590 >> Дакле, у сваком случају, ово је важно јер Ницк на Станфорд 1272 01:04:11,590 --> 01:04:15,100 нам је дао шест комада функционалности да вама, новије програмери, 1273 01:04:15,100 --> 01:04:17,060 ће сада имати могућност да користе. 1274 01:04:17,060 --> 01:04:19,960 Уграђена у овој веб страница је шест функција, 1275 01:04:19,960 --> 01:04:21,820 шест процедуре које Ник написао. 1276 01:04:21,820 --> 01:04:26,800 Три од њих ће ти број, црвену, зелену, или плави вредност. 1277 01:04:26,800 --> 01:04:28,787 Три од њих ће поставити ту вредност. 1278 01:04:28,787 --> 01:04:30,620 И ова доња црта су само чувари места, 1279 01:04:30,620 --> 01:04:32,600 тако да морају да знају шта је то. 1280 01:04:32,600 --> 01:04:36,240 >> Тако да са ове три функције, први од ових ствари 1281 01:04:36,240 --> 01:04:39,190 ће бити једно к-координата, а други од тих ствари 1282 01:04:39,190 --> 01:04:40,700 ће бити и координата. 1283 01:04:40,700 --> 01:04:44,650 Другим речима, што дот, који пиксела желиш да се зеленило, 1284 01:04:44,650 --> 01:04:46,480 добити плаветнило, добити црвенила. 1285 01:04:46,480 --> 01:04:51,440 И онда овде, ово ће бити х, ово ће бити година вредност, 1286 01:04:51,440 --> 01:04:55,379 а то ће бити број. 1287 01:04:55,379 --> 01:04:57,170 Дакле, хајде да урадимо први Линија ово заједно 1288 01:04:57,170 --> 01:05:00,220 а онда ћу га остављам вама у покушају да изведу остатак. 1289 01:05:00,220 --> 01:05:03,100 Дакле, по упутствима на овој страници, треба 1290 01:05:03,100 --> 01:05:08,960 да повећају црвено за фактор 10, и морамо уклонити зелени 1291 01:05:08,960 --> 01:05:09,930 и уклоните плаву. 1292 01:05:09,930 --> 01:05:12,410 Почнимо са каснијим сценаријима. 1293 01:05:12,410 --> 01:05:17,760 Дакле, ако желим да, и ја идем да увучете користећи неки простор, 1294 01:05:17,760 --> 01:05:22,291 ако желим да подесите црвено, зелени, или плави вредност, 1295 01:05:22,291 --> 01:05:23,540 Ја ћу да урадите следеће. 1296 01:05:23,540 --> 01:05:31,280 >> Слика, им.сетБлуе, а затим на основу мојих инструкција овде, 1297 01:05:31,280 --> 01:05:36,700 Које три ствари бих тип унутар заграда сада? 1298 01:05:36,700 --> 01:05:41,960 Треба ми к вриједност, И вредност, и који број 1299 01:05:41,960 --> 01:05:48,770 да ставим овде ако желим да се отарасим ведра неба, на основу ове приче овде? 1300 01:05:48,770 --> 01:05:49,630 Само нула. 1301 01:05:49,630 --> 01:05:52,420 Ако ја желим плава, ја сам ће то променити на нулу. 1302 01:05:52,420 --> 01:05:54,465 >> Сада ћемо само да резимирам како се ово ради. 1303 01:05:54,465 --> 01:05:56,970 1304 01:05:56,970 --> 01:06:01,170 Ја овде на овим врх Други и трећи линије, 1305 01:06:01,170 --> 01:06:04,080 тврдио сам две петље, нестед петље, ако вас 1306 01:06:04,080 --> 01:06:08,360 це, који ће имати ефекат на напредовање с лева на десно, 1307 01:06:08,360 --> 01:06:11,590 од врха до дна над свим к вредности и све и вредности. 1308 01:06:11,590 --> 01:06:15,167 Јер опет, слика је само мрежа редова и колона. 1309 01:06:15,167 --> 01:06:17,000 Тако да ће се добити ослободити од свих плаве. 1310 01:06:17,000 --> 01:06:18,627 Пусти ме оставити у следећем реду за вас. 1311 01:06:18,627 --> 01:06:20,043 Како да се ослободите свих зеленој? 1312 01:06:20,043 --> 01:06:23,747 1313 01:06:23,747 --> 01:06:25,140 >> ПУБЛИКА: [неразумљиво] 1314 01:06:25,140 --> 01:06:26,151 >> Давид Малан: Лепо. 1315 01:06:26,151 --> 01:06:28,260 >> ПУБЛИКА: [неразумљиво] 1316 01:06:28,260 --> 01:06:30,850 >> Давид Малан: Лепо. 1317 01:06:30,850 --> 01:06:36,120 И ја ћу да бисте умањили, и само узети брига за то још увек нисте урадили било грешке у куцању. 1318 01:06:36,120 --> 01:06:39,390 А ако сте удобно са оним што сте урадили, 1319 01:06:39,390 --> 01:06:42,936 само напред и кликните на дугме Рун / Саве и видите шта сте добили. 1320 01:06:42,936 --> 01:06:46,982 1321 01:06:46,982 --> 01:06:48,690 И опет, ми смо направили само три измене. 1322 01:06:48,690 --> 01:06:52,130 да обрисали смо први цоммент и заменио га 1323 01:06:52,130 --> 01:06:53,575 са ове две линије кода. 1324 01:06:53,575 --> 01:06:55,742 1325 01:06:55,742 --> 01:06:58,450 И то је у реду ако је потребно погодити Покрени / тастер Саве неколико пута 1326 01:06:58,450 --> 01:07:01,190 поправити нешто. 1327 01:07:01,190 --> 01:07:03,610 >> И допустите ми да зумира мој Код тако да можете преписати. 1328 01:07:03,610 --> 01:07:04,110 Добро. 1329 01:07:04,110 --> 01:07:08,720 Видим Ендру има шта Изгледа да је грешка. 1330 01:07:08,720 --> 01:07:11,110 Он је управо добио велики црна правоугаоник свом екрану. 1331 01:07:11,110 --> 01:07:13,120 Да ли још неко има велики црни правоугаоник? 1332 01:07:13,120 --> 01:07:13,390 >> ПУБЛИКА: Да. 1333 01:07:13,390 --> 01:07:14,360 >> Давид Малан: Велики црни правоугаоник? 1334 01:07:14,360 --> 01:07:16,068 У реду, па хајде да мислимо шта то значи. 1335 01:07:16,068 --> 01:07:20,560 Рекли смо да је нула, нула, нула, тако да нема зелено, не црвено, не плава, 1336 01:07:20,560 --> 01:07:21,980 ће вам дати црно. 1337 01:07:21,980 --> 01:07:24,467 И испоставило се да већина наших лаптоп рачунара 1338 01:07:24,467 --> 01:07:25,800 само немају довољно верност. 1339 01:07:25,800 --> 01:07:27,750 Ви не можете баш рећи ту је заправо нешто тамо. 1340 01:07:27,750 --> 01:07:30,340 А ако мало можда леан екран напред и назад, 1341 01:07:30,340 --> 01:07:32,850 можда ти видим мало нечега? 1342 01:07:32,850 --> 01:07:34,820 Можда, некако, на неки начин? 1343 01:07:34,820 --> 01:07:36,640 То није сасвим црн. 1344 01:07:36,640 --> 01:07:38,050 >> ПУБЛИКА: [неразумљиво] 1345 01:07:38,050 --> 01:07:39,510 >> Давид Малан: Спојлер! 1346 01:07:39,510 --> 01:07:42,610 Постоје неке црвене тамо, али сећам из спецификација 1347 01:07:42,610 --> 01:07:44,940 проблема, Ник је ублажена. 1348 01:07:44,940 --> 01:07:47,860 Он је десатуратед нешто, али не скроз на нулу. 1349 01:07:47,860 --> 01:07:51,670 Дакле, ако желимо да увећају износ црвене, дозволите ми да предложи овај трик. 1350 01:07:51,670 --> 01:07:53,750 Пусти ме увећање на екрану. 1351 01:07:53,750 --> 01:07:58,678 И пусти ме напред и реци износ једнак им.гетРед (к, и). 1352 01:07:58,678 --> 01:08:02,440 1353 01:08:02,440 --> 01:08:05,790 >> Ова линија кода ме даје нешто што се зове променљиву. 1354 01:08:05,790 --> 01:08:09,643 Ја произвољно имам, али, вероватно, разумно зове мој променљива шта, 1355 01:08:09,643 --> 01:08:10,143 очигледно? 1356 01:08:10,143 --> 01:08:13,530 1357 01:08:13,530 --> 01:08:14,340 Износ. 1358 01:08:14,340 --> 01:08:14,980 Само износ. 1359 01:08:14,980 --> 01:08:16,960 Могао сам да га зове шта хоћу, али ја сам 1360 01:08:16,960 --> 01:08:19,490 Коришћењем ове другу функцију које сам раније описао 1361 01:08:19,490 --> 01:08:25,359 да количину црвене на х зарез и. 1362 01:08:25,359 --> 01:08:27,520 Зашто сам то урадио? 1363 01:08:27,520 --> 01:08:30,004 Шта желите да урадите овде? 1364 01:08:30,004 --> 01:08:32,910 1365 01:08:32,910 --> 01:08:33,619 Треба да адд-- 1366 01:08:33,619 --> 01:08:34,493 ПУБЛИКА: [неразумљиво] 1367 01:08:34,493 --> 01:08:36,279 Давид Малан: Да, можда помножите то са 10. 1368 01:08:36,279 --> 01:08:38,862 А ако не знате, ја сам отићи напред и уради то. 1369 01:08:38,862 --> 01:08:42,060 Ја идем напред и рецимо, ја желим количину црвена 1370 01:08:42,060 --> 01:08:46,550 Желим да будем било шта је у црвеном, а 10, 1371 01:08:46,550 --> 01:08:50,330 и звезда, Звездица на вашем Тастатура је који-- не користе к. 1372 01:08:50,330 --> 01:08:51,569 Користите звезду. 1373 01:08:51,569 --> 01:08:55,350 Тако се множити ствари у већини програмских језика. 1374 01:08:55,350 --> 01:08:59,790 >> Па према Карим је интуицију, складиштити у овом променљиве под називом износ, 1375 01:08:59,790 --> 01:09:03,649 је колико црвена желим на локацију ки. 1376 01:09:03,649 --> 01:09:11,500 Како, сада, да ли се то Пикел имају тај број? 1377 01:09:11,500 --> 01:09:12,859 Ви сте већ раније урадили. 1378 01:09:12,859 --> 01:09:17,666 Сте поставили зелени и плаве до никакву вредност, на нулу. 1379 01:09:17,666 --> 01:09:18,540 ПУБЛИКА: [неразумљиво] 1380 01:09:18,540 --> 01:09:20,040 Давид Малан: Да, добро га не жели до 10. 1381 01:09:20,040 --> 01:09:21,460 Већ си математику овде. 1382 01:09:21,460 --> 01:09:24,779 Тако добијамо вредност црвена, што је мали број, вероватно. 1383 01:09:24,779 --> 01:09:26,180 Ми смо множењем од стране 10. 1384 01:09:26,180 --> 01:09:29,139 Шта желите да урадите са променљива количина сада? 1385 01:09:29,139 --> 01:09:30,130 >> ПУБЛИКА: [неразумљиво] 1386 01:09:30,130 --> 01:09:30,880 >> Давид Малан: Лепо. 1387 01:09:30,880 --> 01:09:34,616 Тако им.сет-- шта? 1388 01:09:34,616 --> 01:09:35,640 >> ПУБЛИКА: сетРед. 1389 01:09:35,640 --> 01:09:39,760 >> Давид Малан: сетРед, на локацији ки. 1390 01:09:39,760 --> 01:09:40,260 Да. 1391 01:09:40,260 --> 01:09:41,200 И само износ. 1392 01:09:41,200 --> 01:09:44,257 Другим речима, променљива је привремено чувар места 1393 01:09:44,257 --> 01:09:45,840 који можете ставити све што желите у. 1394 01:09:45,840 --> 01:09:48,680 Ми се десити да се довођењем број у њој, у овом тренутку. 1395 01:09:48,680 --> 01:09:51,569 Ми смо га помножи са 10 да буде већи. 1396 01:09:51,569 --> 01:09:56,480 И сада замењујући ту променљиву као онај трећи аргумент, или улаз 1397 01:09:56,480 --> 01:09:57,810 за сет ред. 1398 01:09:57,810 --> 01:10:00,440 И тако да кад вас заврши то, и узети на знање 1399 01:10:00,440 --> 01:10:02,330 од тачком и зарезом и заграда. 1400 01:10:02,330 --> 01:10:06,290 >> Само напред и кликните рун / саве опет, и ви 1401 01:10:06,290 --> 01:10:10,690 треба видети, магијом, шта је заправо тамо. [? Арва,?] Шта је тамо? 1402 01:10:10,690 --> 01:10:16,412 Ајфелова кула у пуноправно црвена, не баш мрак. 1403 01:10:16,412 --> 01:10:17,870 то би сада требало да буде јасно, зар не? 1404 01:10:17,870 --> 01:10:18,840 ОК. 1405 01:10:18,840 --> 01:10:20,215 И Андрев, нема више црна кутија? 1406 01:10:20,215 --> 01:10:21,090 ПУБЛИКА: [неразумљиво] 1407 01:10:21,090 --> 01:10:22,180 Давид Малан: У реду. 1408 01:10:22,180 --> 01:10:23,610 Тако да ћу то задржати на екрану. 1409 01:10:23,610 --> 01:10:27,010 Ако желите да играте са овим Касније, ја ћу поново ово за тебе. 1410 01:10:27,010 --> 01:10:29,140 Али ово код овде урадио управо то. 1411 01:10:29,140 --> 01:10:31,460 Зашто не бисмо урадили једну другу. 1412 01:10:31,460 --> 01:10:33,880 Пусти ме да спустите мало. 1413 01:10:33,880 --> 01:10:36,760 >> Дакле, у овом случају, пројектора не стварно то учинити правду. 1414 01:10:36,760 --> 01:10:40,486 Али на својим екранима, вероватно имају веома црвено и веома црну кутију. 1415 01:10:40,486 --> 01:10:42,610 Ово је, такође, је загонетка која показује нешто познат. 1416 01:10:42,610 --> 01:10:44,193 Међутим, слика је искривљена. 1417 01:10:44,193 --> 01:10:47,740 Права слика, овај пут, је у плавим и зеленим вредности. 1418 01:10:47,740 --> 01:10:51,820 Међутим, они су сви били подељени од 20 тако да вредности су веома мале. 1419 01:10:51,820 --> 01:10:54,660 Црвени вредности су само случајни бројеви, бука. 1420 01:10:54,660 --> 01:10:57,190 Ундо ове дисторзије да откривају праву слику. 1421 01:10:57,190 --> 01:10:59,200 >> Дакле, Ник онда вам говори шта да радите. 1422 01:10:59,200 --> 01:11:04,290 Сет црвене вредности на нулу, и онда не кваре шта је то. 1423 01:11:04,290 --> 01:11:07,110 Онда помножите плави и зелене вредности од 20. 1424 01:11:07,110 --> 01:11:09,820 Тако да је скоро Исти програм као и раније, 1425 01:11:09,820 --> 01:11:11,380 али сте зауставили тај процес. 1426 01:11:11,380 --> 01:11:13,780 И ја ћу ставити свој код са пре на екрану у случају 1427 01:11:13,780 --> 01:11:16,650 желите да се вратим на њу или играти даље са тим. 1428 01:11:16,650 --> 01:11:18,100 Пусти ме зумира да. 1429 01:11:18,100 --> 01:11:21,450 Али решити бакра слику слагалица, број два. 1430 01:11:21,450 --> 01:11:37,623 1431 01:11:37,623 --> 01:11:40,580 >> ПУБЛИКА: [неразумљиво] 1432 01:11:40,580 --> 01:11:44,010 >> Давид Малан: У реду, тако да се сам неће дати што више савете. 1433 01:11:44,010 --> 01:11:47,220 Тако да би-- Ох, хајде види, имате куцању овде. 1434 01:11:47,220 --> 01:11:49,621 И запамтите, ово овде заправо треба да иде тамо. 1435 01:11:49,621 --> 01:11:52,870 Дакле, оно што бих ја предлажем, ако желите да фокусирати на овоме, ту је одговор. 1436 01:11:52,870 --> 01:11:57,060 Ако желите да се транскрибује да, да Требало би да је први рад. 1437 01:11:57,060 --> 01:11:59,910 А онда можете користити да као инспирација за другом. 1438 01:11:59,910 --> 01:12:02,230 Леп. 1439 01:12:02,230 --> 01:12:02,730 Добро. 1440 01:12:02,730 --> 01:12:05,430 1441 01:12:05,430 --> 01:12:08,180 >> И за радознале, ово је једноставан пример 1442 01:12:08,180 --> 01:12:11,080 од науке или уметности зове стеганографија, 1443 01:12:11,080 --> 01:12:14,100 уметност крије информације у сликама. 1444 01:12:14,100 --> 01:12:16,890 Типично, слике могу бити ватермаркед врло грубо 1445 01:12:16,890 --> 01:12:19,500 са логом на дну угао, али јасно, ви 1446 01:12:19,500 --> 01:12:22,070 може бити много софистициранији о томе и стварно 1447 01:12:22,070 --> 01:12:25,050 крију друге слике у Имагес некако са овом техником. 1448 01:12:25,050 --> 01:12:59,890 1449 01:12:59,890 --> 01:13:05,770 >> Узети још 30 секунди, а онда ћемо бар саопшти шта треба да видите. 1450 01:13:05,770 --> 01:13:08,330 И ја ћу отићи трећи један као вежба ат-хоме, 1451 01:13:08,330 --> 01:13:11,353 ако желите више Паге изазов овог викенда. 1452 01:13:11,353 --> 01:13:18,240 1453 01:13:18,240 --> 01:13:20,390 И мислим да Ендру могао да га прво добили. 1454 01:13:20,390 --> 01:13:22,645 Шта је друга слика, Ендрју? 1455 01:13:22,645 --> 01:13:23,920 >> ПУБЛИКА: Кип Слободе. 1456 01:13:23,920 --> 01:13:28,500 >> Давид Малан: Статуе оф Либерти ће бити одговор овај пут. 1457 01:13:28,500 --> 01:13:31,140 Дакле, опет, само нека једноставна примери, чији је циљ 1458 01:13:31,140 --> 01:13:35,040 је да вам дати осећај како ми смо превели сликовно Сцратцх 1459 01:13:35,040 --> 01:13:40,410 блокови за више нервира и више компликован код, али све идеје 1460 01:13:40,410 --> 01:13:42,980 још увек потпуно исти, мада са увођењем 1461 01:13:42,980 --> 01:13:48,380 сада појма променљиве, као може да чува нешто привремено. 1462 01:13:48,380 --> 01:13:51,750 >> Хајде да урадимо још један практичан, само да се прикључите тачкице 1463 01:13:51,750 --> 01:13:53,880 нешто мало више стварног света. 1464 01:13:53,880 --> 01:13:56,610 Када сте спремни, ако можеш Идите на овај УРЛ на екрану. 1465 01:13:56,610 --> 01:14:00,610 То је такође у вашој копија слајдови, девелоперс.гоогле.цом/мапс~~В. 1466 01:14:00,610 --> 01:14:03,660 Хајде да урадимо нешто заиста прави, да тако кажем, на Интернету 1467 01:14:03,660 --> 01:14:07,600 коришћењем Гоогле Мапс АПИ, или Интерфејс за програмирање апликација, 1468 01:14:07,600 --> 01:14:08,940 на следећи начин. 1469 01:14:08,940 --> 01:14:12,341 >> Гоогле, као и многе компаније, даје пуно слободног функционалности 1470 01:14:12,341 --> 01:14:14,840 које можете користити за изградњу своје властите занимљиве апликације. 1471 01:14:14,840 --> 01:14:18,890 У ствари, ако сте икада користили Убер да заустави такси или аутомобил, 1472 01:14:18,890 --> 01:14:21,640 Ви вероватно знате да Убер има мапа и показује аутомобила на њега. 1473 01:14:21,640 --> 01:14:24,870 То је, као најбоље што могу рећи, Гоогле Мапс АПИ. 1474 01:14:24,870 --> 01:14:28,884 Они су заправо користе мапе Гоогле, али Убер није мапирање компанија, 1475 01:14:28,884 --> 01:14:31,050 нити би то био Посебно занимљив проблем 1476 01:14:31,050 --> 01:14:33,510 да се реши на врху њиховог ауто сервис проблема. 1477 01:14:33,510 --> 01:14:35,510 И тако стоје, поново на раменима 1478 01:14:35,510 --> 01:14:37,520 других Гоогле у овом случају. 1479 01:14:37,520 --> 01:14:42,850 Тако да користите мапе Гоогле већ сами сервиси и друге сличне карактеристике. 1480 01:14:42,850 --> 01:14:47,770 >> Па ћемо искористити ово да урадите следеће. 1481 01:14:47,770 --> 01:14:50,230 И ако сам отишао сувише брзо, само зови ме више у тренутку. 1482 01:14:50,230 --> 01:14:53,500 Драго ми је да подсетимо неке ствари слике. 1483 01:14:53,500 --> 01:14:56,290 Треба да се види на страници овако. 1484 01:14:56,290 --> 01:14:58,230 Дакле, Гоогле лепо, и они су међу најбољима 1485 01:14:58,230 --> 01:15:01,364 пружања не само АПИ, али фрее АПИ да 1486 01:15:01,364 --> 01:15:02,780 могу да играју са или користити у комерцијалне сврхе. 1487 01:15:02,780 --> 01:15:06,450 Они почне да наплаћује те ако је употреба је висока, али сам наставио даље унапред 1488 01:15:06,450 --> 01:15:10,490 и потписан нас за бесплатан налог да, надам се, 10 компјутера 1489 01:15:10,490 --> 01:15:12,480 нас неће дисквалификовати за изненада. 1490 01:15:12,480 --> 01:15:14,320 Тако да се надамо ово Демонстрација ће радити. 1491 01:15:14,320 --> 01:15:18,840 >> И приметио да имају АПИ за Андроид, иОС интернет, и веб сервиси, 1492 01:15:18,840 --> 01:15:19,620 шта год да је. 1493 01:15:19,620 --> 01:15:20,700 Хајде да се фокусирамо на Интернету. 1494 01:15:20,700 --> 01:15:26,560 Па кликните на розе кутије, веб, и то ће вас водити, надамо се, на страници 1495 01:15:26,560 --> 01:15:27,630 овде. 1496 01:15:27,630 --> 01:15:29,335 И имају гомилу АПИ. 1497 01:15:29,335 --> 01:15:31,210 И то може бити мало Огромна на први поглед, 1498 01:15:31,210 --> 01:15:33,000 али ћу нас управљати кроз оно што желимо. 1499 01:15:33,000 --> 01:15:38,500 >> У горњем левом углу је Гоогле Мапс ЈаваСцрипт АПИ, ЈаваСцрипт АПИ-ја. 1500 01:15:38,500 --> 01:15:40,380 Зато само напред и кликните на ону. 1501 01:15:40,380 --> 01:15:49,360 И то ће вас довести до сада следећој страници, демо и код узорка. 1502 01:15:49,360 --> 01:15:51,190 Пусти ме умањили овде. 1503 01:15:51,190 --> 01:15:56,300 И дај да нас да-- спустимо где се каже брзе кораке старт. 1504 01:15:56,300 --> 01:15:57,970 Ваш екран би требало да изгледа као мој. 1505 01:15:57,970 --> 01:16:01,130 >> И ту је два корака, добити кључ и започети развој. 1506 01:16:01,130 --> 01:16:04,190 Већ сам први корак за нас, добијање тзв кључ. 1507 01:16:04,190 --> 01:16:05,320 И то је заједничка идеја. 1508 01:16:05,320 --> 01:16:09,210 Кључ за АПИ је углавном само велики случајни број или стринг 1509 01:16:09,210 --> 01:16:11,130 да би требало да налепите у коду, 1510 01:16:11,130 --> 01:16:15,280 тако да Гоогле зна ко си ти кад користите њихове службе, АПИ. 1511 01:16:15,280 --> 01:16:17,370 Не значи да смо се терети ништа. 1512 01:16:17,370 --> 01:16:21,030 И сада, кликните на дугме, уместо један, кликните на дугме Старт у развоју. 1513 01:16:21,030 --> 01:16:25,990 Ако би ми само махати преко ако нису сигурни где смо. 1514 01:16:25,990 --> 01:16:28,040 >> Дакле, ми ћемо само загребати површина, овде али шта 1515 01:16:28,040 --> 01:16:31,000 Мислио сам да ће бити убедљив је да заправо имају све нас, 1516 01:16:31,000 --> 01:16:34,240 користећи Цлоуд9 у једном прозору и ово упутство у другом прозору, 1517 01:16:34,240 --> 01:16:37,120 летс заиста добити наше Апликација се и трчање 1518 01:16:37,120 --> 01:16:40,920 да уграђује прилагођени Гоогле мап у нашем сајту, 1519 01:16:40,920 --> 01:16:43,010 а затим додаје један или два функције. 1520 01:16:43,010 --> 01:16:45,520 Али ми ћемо само загребати Површина шта можемо да урадимо. 1521 01:16:45,520 --> 01:16:47,020 >> Дакле, само брзо проверу исправности. 1522 01:16:47,020 --> 01:16:49,740 Да ли су сви у овој страници, ЈаваСцрипт АПИ Гоогле мапа? 1523 01:16:49,740 --> 01:16:50,872 Треба рећи да започнете. 1524 01:16:50,872 --> 01:16:53,330 Нећемо ићи кроз цела ствар на било који начин. 1525 01:16:53,330 --> 01:16:58,090 У реду, у другој картици, ако не има их отворено, не идем у Цлоуд9 1526 01:16:58,090 --> 01:17:03,500 и да се то само нова картица, на крају. 1527 01:17:03,500 --> 01:17:11,070 Дакле, опет, ц9.ио од јуче, ц9.ио, и само створити нову датотеку. 1528 01:17:11,070 --> 01:17:13,500 И само напред и позив то шта год желите. 1529 01:17:13,500 --> 01:17:16,495 Звао сам минско мап.хтмл. 1530 01:17:16,495 --> 01:17:17,870 Назовите то било завршава у .хтмл. 1531 01:17:17,870 --> 01:17:23,930 1532 01:17:23,930 --> 01:17:26,580 И требало би да буде приближно где сам у овом процесу 1533 01:17:26,580 --> 01:17:31,470 са само жмирка линији у празан Картица се зове нешто као мап.хтмл. 1534 01:17:31,470 --> 01:17:35,808 1535 01:17:35,808 --> 01:17:38,148 Или фајл, нови фајл овај пут. 1536 01:17:38,148 --> 01:17:41,960 1537 01:17:41,960 --> 01:17:48,000 >> А сада, преко на Гоогле мапе ЈаваСцрипт АПИ, 1538 01:17:48,000 --> 01:17:50,010 ћемо прескочити читање кроз све ове текста. 1539 01:17:50,010 --> 01:17:53,760 Али приметите да здраво свет заиста свуда, ви га видим. 1540 01:17:53,760 --> 01:17:58,020 Здраво свет има оволики шарене Пример гомила ХТМЛ. 1541 01:17:58,020 --> 01:18:03,590 Само напред и копирате само да ХТМЛ тако да од типа доц на врху 1542 01:18:03,590 --> 01:18:08,810 све до блиског ХТМЛ таг, иди напред и копирајте све то-- опет, 1543 01:18:08,810 --> 01:18:14,430 да је под Хелло Ворлд екампле-- и пасте који у својој Цлоуд9 картици, 1544 01:18:14,430 --> 01:18:17,996 тако да сада на екрану треба да изгледа отприлике као мој. 1545 01:18:17,996 --> 01:18:22,280 1546 01:18:22,280 --> 01:18:24,520 >> И можете га сачувати, али не учитавају још увек. 1547 01:18:24,520 --> 01:18:26,290 Хајде да прво погледамо код и видимо да ли можемо 1548 01:18:26,290 --> 01:18:29,110 не може се закључити или да науче од онога што је Гоогле 1549 01:18:29,110 --> 01:18:30,860 има нас слепо копирање и лепљење. 1550 01:18:30,860 --> 01:18:33,334 Они само желе да помогну, буквално, да нас почели, 1551 01:18:33,334 --> 01:18:35,500 али нема толико комплексност заправо тамо. 1552 01:18:35,500 --> 01:18:40,100 1553 01:18:40,100 --> 01:18:42,210 Има ли питања још увек? 1554 01:18:42,210 --> 01:18:43,790 Ми смо сигурни да фалсификује напред? 1555 01:18:43,790 --> 01:18:44,330 ОК. 1556 01:18:44,330 --> 01:18:46,800 >> Тако брзо, хајде да одрадимо неке брзе Санити провере. 1557 01:18:46,800 --> 01:18:48,800 Лине један од онога што сам види, и надам се да 1558 01:18:48,800 --> 01:18:51,710 види, шта то значи, ДОЦТИПЕ хтмл? 1559 01:18:51,710 --> 01:18:52,385 Кареем, сећате? 1560 01:18:52,385 --> 01:18:53,260 ПУБЛИКА: [неразумљиво] 1561 01:18:53,260 --> 01:18:53,968 Давид Малан: Да. 1562 01:18:53,968 --> 01:18:54,870 Овде долази ХТМЛ-5. 1563 01:18:54,870 --> 01:18:57,950 У међувремену, друга линија на екран овде значи хеи бровсер, 1564 01:18:57,950 --> 01:18:59,482 ево стварно ХТМЛ. 1565 01:18:59,482 --> 01:19:01,440 Линија три је хеј браузер, ево глава. 1566 01:19:01,440 --> 01:19:04,260 Линија четири је, наравно, хеј претраживач, ево титулу. 1567 01:19:04,260 --> 01:19:07,780 Шта линија пет до? 1568 01:19:07,780 --> 01:19:09,930 Заправо, ово не Заиста ништа за нас. 1569 01:19:09,930 --> 01:19:13,340 У овом случају, то само прилагођава страница за примарну. Лине шест, 1570 01:19:13,340 --> 01:19:16,140 нисмо разговарали о томе, али то одређује кодирање знакова. 1571 01:19:16,140 --> 01:19:19,181 Постоји више начина да се кодирају фајлова, посебно за стране језике. 1572 01:19:19,181 --> 01:19:21,100 УТФ-8 само има тенденцију да буде подразумевани. 1573 01:19:21,100 --> 01:19:26,580 >> Дакле, сада ћемо видети у складу седам до 16, неки ЦСС. 1574 01:19:26,580 --> 01:19:29,260 И иако смо нисмо видели све ове ствари пре, 1575 01:19:29,260 --> 01:19:30,810 можемо некако закључити. 1576 01:19:30,810 --> 01:19:37,075 Тако линију осам средства, хеј претраживач, примењују Све од следећег на који две ознаке, 1577 01:19:37,075 --> 01:19:37,575 очигледно? 1578 01:19:37,575 --> 01:19:40,650 1579 01:19:40,650 --> 01:19:41,701 ХТМЛ и текст. 1580 01:19:41,701 --> 01:19:43,200 Дакле, зарез је нова ствар тамо. 1581 01:19:43,200 --> 01:19:46,140 И то је само начин наводећи више ознака одједном. 1582 01:19:46,140 --> 01:19:47,640 >> Онда ми имамо витичасте. 1583 01:19:47,640 --> 01:19:51,170 Дакле, очигледно, то говори бровсер, да висину страници 100%. 1584 01:19:51,170 --> 01:19:54,170 Дакле, чак и ако има врло мало Садржај, чине целу страницу, 1585 01:19:54,170 --> 01:19:55,530 чине ствар попунити страницу. 1586 01:19:55,530 --> 01:19:57,524 Направи мапа на крају попунити страницу. 1587 01:19:57,524 --> 01:19:58,690 Маргин, шта то значи? 1588 01:19:58,690 --> 01:20:01,559 То је обично као произвољна бели простор око ивица 1589 01:20:01,559 --> 01:20:04,350 да неки дизајнер браузер само одлучио треба да буде тамо, јер њега 1590 01:20:04,350 --> 01:20:05,540 некако чини да ствари изгледају чистији. 1591 01:20:05,540 --> 01:20:06,498 Али ми не желимо да. 1592 01:20:06,498 --> 01:20:08,710 Желимо мапа иде све до ивица. 1593 01:20:08,710 --> 01:20:10,930 Паддинг, слично у духу са маргине. 1594 01:20:10,930 --> 01:20:14,980 Маргине значи изван, паддинг средства унутра, али то је иста врста договора. 1595 01:20:14,980 --> 01:20:17,520 То је мало тампон између вас и ивицама. 1596 01:20:17,520 --> 01:20:21,170 >> А онда линија 13 је добар шанса за брз преглед. 1597 01:20:21,170 --> 01:20:26,440 Шта оштар знак карту Мислим, или хаштагот мапа значи? 1598 01:20:26,440 --> 01:20:29,650 Шта се то односи, у принципу? 1599 01:20:29,650 --> 01:20:31,485 >> ПУБЛИКА: [неразумљиво] 1600 01:20:31,485 --> 01:20:32,360 Давид Малан: Управо тако. 1601 01:20:32,360 --> 01:20:36,900 Ова особина, ово ЦСС имовина се односи на само једну ствар, ХТМЛ ознака 1602 01:20:36,900 --> 01:20:41,180 да има идентификациони број цитатом, под знацима навода "мап". 1603 01:20:41,180 --> 01:20:44,460 А сада да брзо напред, померање до дна датотеке, која 1604 01:20:44,460 --> 01:20:49,860 није далеко, а обавештење он лине 19, ако га налепите баш као ја, 1605 01:20:49,860 --> 01:20:53,405 линија 19 има само див, који је подела странице, који је јуче И 1606 01:20:53,405 --> 01:20:54,820 назива правоугаони област. 1607 01:20:54,820 --> 01:20:55,820 То нема никакве у њој. 1608 01:20:55,820 --> 01:20:57,550 То је отворено ознака, близу ознака. 1609 01:20:57,550 --> 01:20:59,490 Али нема јединствени ИД. 1610 01:20:59,490 --> 01:21:02,090 >> Дакле, оно што се чини догађа овде је Гоогле 1611 01:21:02,090 --> 01:21:05,880 се спрема нашу веб страницу на имају потпуну висину 100%, 1612 01:21:05,880 --> 01:21:09,680 и не паддинг, без маргине, јер шта ћемо ставити унутра 1613 01:21:09,680 --> 01:21:13,647 ове ДИВ, чији је јединствени ИД је Карта, је стварна уграђена карту. 1614 01:21:13,647 --> 01:21:15,480 И желимо да попуни страница и не само 1615 01:21:15,480 --> 01:21:17,560 има неки мали правоугаоник у средини. 1616 01:21:17,560 --> 01:21:24,220 Дакле, слично наглашава линија 14 је мап себе треба имати висину од 100%. 1617 01:21:24,220 --> 01:21:29,220 >> Тако да сада приметити између редова 20 и 28, то је ЈаваСцрипт код. 1618 01:21:29,220 --> 01:21:33,020 А ово је, иако је то синтактички мало чудно, 1619 01:21:33,020 --> 01:21:34,730 нема баш много дешава овде. 1620 01:21:34,730 --> 01:21:39,310 У ред 21, ово изјављујући нешто што се зове променљиву. 1621 01:21:39,310 --> 01:21:42,030 Уместо да га зове износи, као што смо раније, 1622 01:21:42,030 --> 01:21:44,500 ми прецизније говорећи вар, што само значи променљиву. 1623 01:21:44,500 --> 01:21:46,520 Могли смо користили да у Ницк Код, али није, па сам 1624 01:21:46,520 --> 01:21:48,190 није сметало то радио ни. 1625 01:21:48,190 --> 01:21:50,240 То је променљива карта, а онда је 1626 01:21:50,240 --> 01:21:53,360 функција која је је позвао инитМап. 1627 01:21:53,360 --> 01:21:55,780 >> Дакле, ово је као нашем обичају слагалице у Сцратцх. 1628 01:21:55,780 --> 01:21:58,830 Направили смо комад функционалност зове инитМап, 1629 01:21:58,830 --> 01:22:00,980 и тај проблем може да закључи шта се дешава овде. 1630 01:22:00,980 --> 01:22:02,930 На левој страни, имамо променљиву, 1631 01:22:02,930 --> 01:22:06,000 па ћемо ставити следеће ствар у тој променљивој, 1632 01:22:06,000 --> 01:22:07,362 са десна на лево. 1633 01:22:07,362 --> 01:22:11,940 На десној страни каже, хеј претраживач, дај ми нови Гоогле мапе. 1634 01:22:11,940 --> 01:22:16,490 И гоогле.мапс.мап је само фанки начин од прецизирао да ову функцију 1635 01:22:16,490 --> 01:22:19,790 припада Гоогле мапама. 1636 01:22:19,790 --> 01:22:23,010 >> Након загради, видели смо ово пре, хеј претраживач, добити 1637 01:22:23,010 --> 01:22:29,210 ја елементи у страницу, ознака на страници чији је јединствени ИД је-- 1638 01:22:29,210 --> 01:22:30,710 >> ПУБЛИКА: [неразумљиво] 1639 01:22:30,710 --> 01:22:31,790 >> Давид Малан: --мап. 1640 01:22:31,790 --> 01:22:35,770 А шта се дешава, добро, Ова линија заједно, линија 23, 1641 01:22:35,770 --> 01:22:38,630 у суштини говори, хеј претраживач, иди ми 1642 01:22:38,630 --> 01:22:42,800 да празан див на страници чији јединствени ИД је карта, 1643 01:22:42,800 --> 01:22:45,600 јер желим да убаците у то-- убризгати у њу, 1644 01:22:45,600 --> 01:22:49,520 ако вилл-- гомилу садржаја који се дешава да долази са Интернета, 1645 01:22:49,520 --> 01:22:50,427 накнадно. 1646 01:22:50,427 --> 01:22:52,010 И Гоогле ради све то за нас. 1647 01:22:52,010 --> 01:22:55,350 >> Дакле, поново, на самом крају дана, имамо овај пример апстракције. 1648 01:22:55,350 --> 01:22:58,610 Немам појма шта је мапа или како имплементирати карту АПИ. 1649 01:22:58,610 --> 01:22:59,460 Ми не треба да. 1650 01:22:59,460 --> 01:23:02,740 Само треба да кажеш мапу где да се стави, и остави 1651 01:23:02,740 --> 01:23:04,880 они у основи имплементација Детаљи Гоогле-у. 1652 01:23:04,880 --> 01:23:08,190 Сада је очигледно два комада података 1653 01:23:08,190 --> 01:23:11,940 да овај пример је пружајући на Гоогле-АПИ. 1654 01:23:11,940 --> 01:23:16,450 Очигледно центар карте, и ниво зум, да тако кажем. 1655 01:23:16,450 --> 01:23:21,390 >> И да ли неко препозна ово координате, ширина и дужина? 1656 01:23:21,390 --> 01:23:24,364 Вероватно не, али можемо да се вратимо у туториал, буквално види. 1657 01:23:24,364 --> 01:23:25,780 Али ми ћемо га видети за тренутак. 1658 01:23:25,780 --> 01:23:29,880 ниво зоом је вредност између, не знам знам, један у 13 или тако нешто. 1659 01:23:29,880 --> 01:23:32,880 Само има везе са колико сте зумира или ван, и то је то. 1660 01:23:32,880 --> 01:23:35,690 И сада на самом крају страница, обавештење ред 29-- 1661 01:23:35,690 --> 01:23:39,960 мало је ружно јер то врапс-- ову линију кода 1662 01:23:39,960 --> 01:23:44,570 је оно преузимања до претраживач Гоогле стварни АПИ-ја. 1663 01:23:44,570 --> 01:23:47,500 Све кода који Гоогле-а Инжењери су написали да спроведе 1664 01:23:47,500 --> 01:23:50,000 цела ова карактеристика ембеддабле карата. 1665 01:23:50,000 --> 01:23:51,470 >> Сада да не мења ништа. 1666 01:23:51,470 --> 01:23:54,761 Ако пратите заједно, само напред и само сачувати тај фајл, ако заиста имају 1667 01:23:54,761 --> 01:23:55,760 шта имам. 1668 01:23:55,760 --> 01:23:57,370 Иди на својој УРЛ. 1669 01:23:57,370 --> 01:23:59,820 Можете да кликнете на дугме Рун до врха и да ће рећи 1670 01:23:59,820 --> 01:24:03,050 ти опет УРЛ вашег веб сервера. 1671 01:24:03,050 --> 01:24:06,010 И то ће вас довести до новој картици. 1672 01:24:06,010 --> 01:24:11,910 Ако кликнете на Отвори за мап.хтмл, а шансе су ти 1673 01:24:11,910 --> 01:24:15,520 ће добити обавештење, порука о грешци, зар не? 1674 01:24:15,520 --> 01:24:18,570 Порука о грешци, порука о грешци? 1675 01:24:18,570 --> 01:24:21,170 >> Тако да, нажалост, грешка Порука није то поучно 1676 01:24:21,170 --> 01:24:23,890 осим ако стварно отворите конзола, да је посебна картица ми 1677 01:24:23,890 --> 01:24:27,110 чува отварање јуче и мало раније данас. 1678 01:24:27,110 --> 01:24:29,445 Али сам на саплео ово раније, тако да сам већ 1679 01:24:29,445 --> 01:24:30,820 схватио шта је решење. 1680 01:24:30,820 --> 01:24:34,440 У данашњим слајдове, или а, у Цлоуд9, обавештење 1681 01:24:34,440 --> 01:24:36,430 да ми нисмо урадили нешто намерно. 1682 01:24:36,430 --> 01:24:40,690 Обратите пажњу да ово писмо ознака у линија 29, ако читате кроз њега, 1683 01:24:40,690 --> 01:24:44,440 то је као мапс.гооглеапис.цом/~~побј нешто, нешто, нешто, 1684 01:24:44,440 --> 01:24:46,430 онда приметили некога, један од програмера, 1685 01:24:46,430 --> 01:24:50,040 је написао у свом граду писма, да АПИ кључ. 1686 01:24:50,040 --> 01:24:51,700 >> Морамо да налепите нешто унутра. 1687 01:24:51,700 --> 01:24:53,450 И то је био корак Ја сам за нас пре, 1688 01:24:53,450 --> 01:24:57,190 и опет би могли црну листу нас ако изненада, 12 или више од нас 1689 01:24:57,190 --> 01:24:59,470 почну да користе исти кључ, али хајде да видимо шта ће се десити. 1690 01:24:59,470 --> 01:25:03,030 Дакле, ако идете у данашњем слајдови, један слајд касније, ту је 1691 01:25:03,030 --> 01:25:07,070 ово врло Функи изгледа низ текста. 1692 01:25:07,070 --> 01:25:12,230 Само напред и само копирајте да и пасте где пише кључ АПИ-ја. 1693 01:25:12,230 --> 01:25:15,120 То је онај који сам потписала. 1694 01:25:15,120 --> 01:25:17,700 >> И дефинитивно не покушавајте куцање га ручно, 1695 01:25:17,700 --> 01:25:21,210 јер се осећа пун са куцању, потенцијално. 1696 01:25:21,210 --> 01:25:23,260 Па само копирај то. 1697 01:25:23,260 --> 01:25:26,090 И то ће направити линију дуже, али сада, само да буде јасно, 1698 01:25:26,090 --> 01:25:29,540 то би требало да изгледа мало више овако, где кључ једнако не 1699 01:25:29,540 --> 01:25:32,200 капитализована виче на вас. 1700 01:25:32,200 --> 01:25:34,810 Сачувајте своју страницу, да се вратим на другу картицу, релоад, 1701 01:25:34,810 --> 01:25:36,770 и надам се да видети мапу где? 1702 01:25:36,770 --> 01:25:37,790 >> ПУБЛИКА: Аустралија. 1703 01:25:37,790 --> 01:25:38,748 >> Давид Малан: Аустралија. 1704 01:25:38,748 --> 01:25:41,200 Дакле, очигледно то су ГПС координате Аустралије. 1705 01:25:41,200 --> 01:25:44,491 И пусти ме шетају само на тренутак и помогне ономе ко је не баш тамо, 1706 01:25:44,491 --> 01:25:47,729 али дозволите ми да предложи, преко Гоогле-а, наћи ГПС координате на свом родном граду 1707 01:25:47,729 --> 01:25:48,770 или свој домовина. 1708 01:25:48,770 --> 01:25:51,436 И вероватно Гоогле може претворити ово горе, или Википедија могу ти рећи. 1709 01:25:51,436 --> 01:25:54,410 Али изабрати два различита вредности за географске ширине и дужине, 1710 01:25:54,410 --> 01:25:57,530 вратити у и налепите их, и а затим поново страницу након снимања 1711 01:25:57,530 --> 01:26:00,718 и видите да ли можете имати мап за своју родном граду. 1712 01:26:00,718 --> 01:26:04,500 1713 01:26:04,500 --> 01:26:08,042 >> А када завршите са да је праћење цхалленге-- 1714 01:26:08,042 --> 01:26:11,250 и ја ћу дати мало мање правац, намерно, тако да намерно 1715 01:26:11,250 --> 01:26:13,791 боре се за пар минута са документацијом, 1716 01:26:13,791 --> 01:26:18,740 промени мапу да не буде ово нацртано подразумевани, али сателитска карта. 1717 01:26:18,740 --> 01:26:24,600 Тако да заправо видели сателит слике уместо лепих боја. 1718 01:26:24,600 --> 01:26:29,710 >> И наговештај даћу ти је променити врсту мапе. 1719 01:26:29,710 --> 01:26:33,084 Го бацк то да се почео страницу за инспирацију. 1720 01:26:33,084 --> 01:26:40,599 1721 01:26:40,599 --> 01:26:42,390 Као што сте можда прикупити, ако тражиш, 1722 01:26:42,390 --> 01:26:44,250 има толико више ствари које можете да урадите. 1723 01:26:44,250 --> 01:26:46,380 Неки од вас већ имају променио типа мапе. 1724 01:26:46,380 --> 01:26:49,890 Али можете урадиш-- на пример, пусти ме идите на нешто смо урадили за курс 1725 01:26:49,890 --> 01:26:52,050 Ја теацх-- мапс.цс50.нет. 1726 01:26:52,050 --> 01:26:53,470 Један од наших недипломираних је то урадио. 1727 01:26:53,470 --> 01:26:58,890 Ми центра нашу карту преко Харвард Иард и преклопи сва та имена грађевинских, 1728 01:26:58,890 --> 01:27:01,070 и имали смо га додам. 1729 01:27:01,070 --> 01:27:04,270 Дакле, ако желим да тражи, на пример, Маттхевс Халл, 1730 01:27:04,270 --> 01:27:05,730 имамо мало падајући мени. 1731 01:27:05,730 --> 01:27:09,080 И мислим да је користи Бутстрапа, на библиотека смо разговарали раније за ово. 1732 01:27:09,080 --> 01:27:12,190 А ако кликнете на Маттхевс Сала, одмах 1733 01:27:12,190 --> 01:27:14,790 скаче на мапу одређени локација, и то показује 1734 01:27:14,790 --> 01:27:16,440 Ви слику у овом малом поп-уп. 1735 01:27:16,440 --> 01:27:18,670 >> Али чак и ово мало поп-уп, нисмо спровести. 1736 01:27:18,670 --> 01:27:27,521 Ако сам спустимо на нашем добијање почела страну и тражити инфо прозоре, 1737 01:27:27,521 --> 01:27:29,770 видећете да су неки од функционалност Ви сами 1738 01:27:29,770 --> 01:27:31,561 могу додати, иако са мало више сложености, 1739 01:27:31,561 --> 01:27:33,970 је нешто што се зове инфо-прозор. 1740 01:27:33,970 --> 01:27:37,190 И ако кликнете на пример овде, а то је оно што је забавно, 1741 01:27:37,190 --> 01:27:40,530 можете да урадите нешто овако, кликните на маркер и онда воила, 1742 01:27:40,530 --> 01:27:42,400 информације искочи. 1743 01:27:42,400 --> 01:27:45,874 >> Тако да нисмо сасвим увели довољно карактеристике ЈаваСцрипт 1744 01:27:45,874 --> 01:27:49,040 да наслика слику тачно како ти могао спојити све ове ствари заједно, 1745 01:27:49,040 --> 01:27:50,706 али смо некако загребао по површини. 1746 01:27:50,706 --> 01:27:53,140 У ствари, то што сам урадио када кликнуо сам на тај маркер, 1747 01:27:53,140 --> 01:27:55,819 је ов догађај, тзв на клик догађај. 1748 01:27:55,819 --> 01:27:57,610 И ми смо заправо видео је догађај је раније данас, 1749 01:27:57,610 --> 01:28:00,670 тзв субмит догађај, кад смо спречавање 1750 01:28:00,670 --> 01:28:02,490 корисник из потрази за мачке. 1751 01:28:02,490 --> 01:28:06,560 Па смо некако одабрао и цхоосед из реда свих ових различитих карактеристика, 1752 01:28:06,560 --> 01:28:08,990 да вам пружи осећај, надам се, онога што заправо може 1753 01:28:08,990 --> 01:28:11,000 урадити са мало више удобност у програмирању, 1754 01:28:11,000 --> 01:28:12,587 и потпуно слободна средства. 1755 01:28:12,587 --> 01:28:15,856 1756 01:28:15,856 --> 01:28:18,770 >> Неко питање? 1757 01:28:18,770 --> 01:28:19,790 Не? 1758 01:28:19,790 --> 01:28:22,542 Ово је твоја последња шанса, на данас најмање, у петак, 1759 01:28:22,542 --> 01:28:25,000 да се нешто са својим грудима тако да изађемо одавде 1760 01:28:25,000 --> 01:28:27,067 осећају самопоуздања и удобно. 1761 01:28:27,067 --> 01:28:27,566 Да. 1762 01:28:27,566 --> 01:28:29,740 >> ПУБЛИКА: Зашто не додате још нешто? 1763 01:28:29,740 --> 01:28:32,720 >> Давид Малан: О мој боже. 1764 01:28:32,720 --> 01:28:35,260 Морам да се одморим овог викенда, мислим. 1765 01:28:35,260 --> 01:28:36,180 Остала питања? 1766 01:28:36,180 --> 01:28:37,055 >> ПУБЛИКА: [неразумљиво] 1767 01:28:37,055 --> 01:28:44,130 1768 01:28:44,130 --> 01:28:46,810 >> Давид Малан: Ви можеш-- у Интернет Екплорер одмор у миру, 1769 01:28:46,810 --> 01:28:49,310 да сте били у стању да стави ВБ скрипта, виртуелна основни сценарио, 1770 01:28:49,310 --> 01:28:50,643 али то стварно није ухваћен на. 1771 01:28:50,643 --> 01:28:52,490 Тако кратак одговор је само ЈаваСкрипт. 1772 01:28:52,490 --> 01:28:55,144 1773 01:28:55,144 --> 01:28:55,810 Остала питања? 1774 01:28:55,810 --> 01:28:58,427 1775 01:28:58,427 --> 01:28:59,760 У реду, па, пусти ме да радим ово. 1776 01:28:59,760 --> 01:29:02,070 Пусти ме да узмем своје колеге ван. 1777 01:29:02,070 --> 01:29:04,500 Они имају неку процену форме које они желе свима 1778 01:29:04,500 --> 01:29:06,310 да проведе неколико минута попуњавање. 1779 01:29:06,310 --> 01:29:08,775 Они желе да прикупе тај формулар и било одрицања да би могли имати напољу. 1780 01:29:08,775 --> 01:29:10,240 Они такође ће имати сертификате. 1781 01:29:10,240 --> 01:29:12,380 Претпостављам да има још неке грицкалице ван. 1782 01:29:12,380 --> 01:29:14,360 Пусти ме ово, и ако вас имате било каквих питања у међувремену, 1783 01:29:14,360 --> 01:29:17,120 Ја ћу ходати више појединачно и можемо добити сте почели. 1784 01:29:17,120 --> 01:29:17,879 Да наравно. 1785 01:29:17,879 --> 01:29:18,754 ПУБЛИКА: [неразумљиво] 1786 01:29:18,754 --> 01:29:26,737 1787 01:29:26,737 --> 01:29:28,570 Давид Малан: То је обично прави ових дана. 1788 01:29:28,570 --> 01:29:30,730 Свакако са веб софтвер, ви се ослањају 1789 01:29:30,730 --> 01:29:32,901 другима или си естетски користећи ствари 1790 01:29:32,901 --> 01:29:35,400 као боотстрап, тако да не треба да спроводе низак ниво 1791 01:29:35,400 --> 01:29:37,169 детаљи менија и дугмад и све то. 1792 01:29:37,169 --> 01:29:39,210 Ти ослањајући се на некога као што су Гоогле, тако да вас 1793 01:29:39,210 --> 01:29:42,050 не мора да изгради Убер бизнис и мапирање посао, 1794 01:29:42,050 --> 01:29:44,850 и било који број сличан примена. 1795 01:29:44,850 --> 01:29:46,350 >> У ствари, Пријаве су популарни, такође. 1796 01:29:46,350 --> 01:29:48,500 Ако сте користили Спотифи или било који број сајтова, 1797 01:29:48,500 --> 01:29:51,210 Ви ћете се пријавите на неки веб сајтовима који користе Фацебоок. 1798 01:29:51,210 --> 01:29:53,350 Дакле, шта је лепо, тамо су АПИ за логовања 1799 01:29:53,350 --> 01:29:56,570 данас, тако да не морате да има свој усерс табелу 1800 01:29:56,570 --> 01:29:59,440 и све од својих база података нужно у истој мери. 1801 01:29:59,440 --> 01:30:01,795 Можете пустити на Фацебоок учинити све те сложености за тебе. 1802 01:30:01,795 --> 01:30:03,920 Дакле, то је узбудљиво време, искрено, у програмирању, 1803 01:30:03,920 --> 01:30:07,200 јер има толико треће стране услуге које можете изградити на врху. 1804 01:30:07,200 --> 01:30:10,890 >> И опет, цена коју плаћате је или финансијски или застоја. 1805 01:30:10,890 --> 01:30:13,750 Ако Гоогле иде доле, тако се Убер, вероватно, 1806 01:30:13,750 --> 01:30:15,690 али можда то је разумни компромис. 1807 01:30:15,690 --> 01:30:18,040 И опет, то је једна од тема, надам се, за последњих неколико дана, 1808 01:30:18,040 --> 01:30:18,780 је ове компромиси. 1809 01:30:18,780 --> 01:30:20,738 И ретко је тамо дешава да је прави одговор. 1810 01:30:20,738 --> 01:30:25,700 То је стварно боље два или више одговора. 1811 01:30:25,700 --> 01:30:26,682 >> Прође ово око. 1812 01:30:26,682 --> 01:30:36,830 1813 01:30:36,830 --> 01:30:41,110 >> И ови Цлоуд9 рачуни ће наставити за рад, у теорији, у недоглед. 1814 01:30:41,110 --> 01:30:45,000 Можда ћете ако чекате неколико дана или недељу или више да се поново у њих, 1815 01:30:45,000 --> 01:30:49,170 можда ће бити потребно да један или пет минута да отвори назад, 1816 01:30:49,170 --> 01:30:54,090 али то је само зато што су ставили је спавати да се уштеди на ресурсе. 1817 01:30:54,090 --> 01:31:10,527