1 00:00:00,000 --> 00:00:00,060 2 00:00:00,060 --> 00:00:01,560 >> Дејвид MALAN: Добро, ние сме назад. 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 малку на рацете на веб програмирање со јазик наречен JavaScript. 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 а исто така се погледне во Google Maps API, апликација програмирање 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 Дејвид MALAN: Смета дека сите информации, Добро, и какви видови на информации 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 >> Дејвид MALAN: Секоја информација се стави во неа, ќе се вратам. 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 Дејвид MALAN: Корисници. 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 Дејвид MALAN: Океј, регистрирани корисник на сајтот. 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 Дејвид MALAN: Да, лични податоци, и ми се допаѓа тоа. 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 Дејвид MALAN: Еден addr-- ред, па прво име, презиме. 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 but-- и зошто да не, бидејќи тоа е можеби очигледно е дека еднаш ќе се регистрирате на корисникот, 53 00:02:01,980 --> 00:02:03,730 сакате да се сеќаваат на нив за некое време. 54 00:02:03,730 --> 00:02:05,480 Вие не сакате тоа да се само да се чуваат во RAM меморија 55 00:02:05,480 --> 00:02:08,690 и да се forgotten-- така Да се ​​фокусира на тоа како. 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 Нешто што се нарекува SQL база на податоци, Структурно јазик за пребарување, 59 00:02:20,010 --> 00:02:24,770 или, cutely име, NoSQL, што не е SQL. 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 >> Па ние ќе се фокусираат за само еден миг на Првиот од овие, имено, на SQL 64 00:02:41,800 --> 00:02:46,850 база на податоци, само затоа што тоа е толку познато, веќе за никого 65 00:02:46,850 --> 00:02:51,070 кој се користи во Excel или Табели на Google или Епл 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 нешто како што е Microsoft Пристап или Oracle 69 00:02:58,610 --> 00:03:03,890 или MySQL или PostgreSQL, од кои сите се имиња на производи за имплементација 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 Значи прво име, број, стринг, голем дел од text-- 84 00:03:57,575 --> 00:03:58,450 ПУБЛИКАТА: [Беззвучен] 85 00:03:58,450 --> 00:03:59,616 Дејвид MALAN: Да, стринг. 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 Тоа би можело да биде или цитат unquote "Машки" или цитат unquote "женски" 94 00:04:21,380 --> 00:04:23,650 или тоа би можело да биде m или f. 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 во типичен база на податоци, наречен enum, каде што е поле на ликот, 102 00:04:46,040 --> 00:04:50,480 Но вие, дизајнер, да се наведеме можни вредности, 103 00:04:50,480 --> 00:04:54,630 како цитат unquote "машки", цитат, unquote "женски" и така натаму. 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 Ние сме веројатно нема да сакате enum за име или презиме. 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 Дејвид MALAN: О, во ред, така можеби тоа не е дури и голем број. 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 Што е повеќе precise-- цел број. 126 00:05:51,960 --> 00:05:56,710 Така голем број како 0, 1, 2, 3, па ние ќе се јавите на оваа цел број. 127 00:05:56,710 --> 00:05:58,909 Па дури и тогаш, би можел се Nitpicking, тоа е 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 >> E-mail? 134 00:06:10,650 --> 00:06:13,550 Ова е веројатно just-- што? 135 00:06:13,550 --> 00:06:14,460 >> ПУБЛИКАТА: [Беззвучен] 136 00:06:14,460 --> 00:06:16,980 >> Дејвид MALAN: Тоа е е-маил, но тоа е карактери, нели? 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 Всушност, во типичен SQL база на податоци, SQL, или поопшто, релациона база на податоци, 145 00:06:44,330 --> 00:06:46,680 бази на податоци со редови и колони, често 146 00:06:46,680 --> 00:06:53,610 се да се определи не само на видот на field-- дозволете ми да се направи некои here-- соба 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 Мислам, Д-А-В-I-Д. ОК, добив јас веројатно само навреден како половина 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 Зошто не можам да кажам како 1000? 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 Дејвид MALAN: Да, тоа е непотребното, право, особено 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 и да дознаам, добро, што е average-- просек навистина не 168 00:07:54,470 --> 00:07:57,150 помогне us-- што е е макс Веројатно она што навистина го сакате. 169 00:07:57,150 --> 00:07:59,920 Но излегува дека ние дури и да има некои избор во однос на видот тука. 170 00:07:59,920 --> 00:08:03,400 >> Во една типична SQL база на податоци, имаат нешто што се нарекува знак поле 171 00:08:03,400 --> 00:08:07,505 и, исто така, varchar, V-A-R, за променлива поле знак. 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 Можеби ќе мора да направи некои Googling да види дали тоа е доволно, всушност безбедно. 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 Сега, ако тоа е само Д-А-В-I-Д, 15 од овие само се случува да биде празно карактери, 182 00:08:37,419 --> 00:08:40,450 но ти си уште со користење на сите 20 бајти. 183 00:08:40,450 --> 00:08:46,302 поле varchar А, од друга страна, значи стринг треба да биде до 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 наспроти varchar, со оглед дека трампа? 190 00:09:05,240 --> 00:09:09,321 Знак дека го користи многу ликови, varchar не се користи повеќе од тоа што многу ликови. 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 Дејвид MALAN: Добро, кога знаеш должината на стрингот прилично привлечна 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 но со таа логика, зошто се ние дури overthinking ова? 202 00:09:39,520 --> 00:09:41,800 Зошто да не се само користење varchar, а потоа ние само ќе 203 00:09:41,800 --> 00:09:46,730 секогаш да користите два лика во секој случај, или секогаш користете пет карактери и покрај тоа? 204 00:09:46,730 --> 00:09:50,300 Зошто да не се спаси за varchar сè, од таа логика? 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 Дејвид MALAN: можам напишам нешто погрешно. 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 вид на естетски празно, Д-А-В-I-Д, а потоа 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 на varchar е заеднички затоа што тоа не се случува 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 во популарната база на податоци системи, како и MySQL, бесплатна алатка со отворен код 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 >> Пол, ми се допаѓа enum, и така тоа може да 253 00:12:05,720 --> 00:12:08,760 наведеме машки или женски, или можеби поефикасно, 254 00:12:08,760 --> 00:12:13,420 m или ѓ или некои други симболи, но enum се чувствува како добар избор таму. 255 00:12:13,420 --> 00:12:16,740 Да биде јасно, полот Можеби е само varchar, 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 Значи она што е убаво за бази на податоци како Oracle и MySQL и други, 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 се вербално, може да се стави во место на enum дека 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 >> Дејвид MALAN: 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 бита значи дека ние имаме модели на еден, два, три, четири, five-- 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 Дејвид MALAN: Три, бидејќи имаме оние column-- 308 00:14:59,670 --> 00:15:00,450 [СМЕА] 309 00:15:00,450 --> 00:15:01,350 Whew! 310 00:15:01,350 --> 00:15:03,980 Имавме колона оние и колона две. 311 00:15:03,980 --> 00:15:07,250 Па претпоставувам дека, навистина, нашите [? infield?] не беа 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 Ако некогаш сте слушнале expression-- најверојатно имаат не, но ако have-- 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 Дејвид MALAN: One-- да, не велат дека 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 требаше да заврши кога проблемот со Y2K случило. 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 >> Значи со тоа, рече, компаниите како Facebook работи против тоа. 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 Така е-мејл, колку време треба да e-mail адреса да биде? 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 >> Дејвид MALAN: Тоа не е само поштенски код, иако. 368 00:17:43,890 --> 00:17:45,720 Поштенска адреса, слушнав. 369 00:17:45,720 --> 00:17:50,720 Значи ова е како 1 Brattle плоштад, запирка, Кембриџ, Масачусетс., запирка, 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 Brattle плоштад, запирка, Кембриџ М-р 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 >> Дејвид MALAN: Да, па ајде го нарекуваат street_number, 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 Улица, а потоа city-- жал? 382 00:18:26,240 --> 00:18:28,440 >> ПУБЛИКАТА: [Беззвучен] 383 00:18:28,440 --> 00:18:29,690 Дејвид MALAN: Ние би можеле да го направите тоа. 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 Дејвид MALAN: Можеби, голем број како цел број повторно? 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 некогаш живеел на адреса како 1A Brattle плоштад, или 1 и 1/2? 402 00:19:13,880 --> 00:19:17,030 постојат овие нешта, за жал, дури и ако не сте живееле таму, 403 00:19:17,030 --> 00:19:21,240 постојат овие аномалии како стан 1а, 1б, 1C. 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 Можеби Google, дали некои истражувања, но ние ќе одиме со нашите храброст за сега. 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 Градот, исто, сигурно, така char 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 Јас веројатно значи varchar, само поради некоја ефикасност, 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 DC за Вашингтон. 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 Дејвид MALAN: Да, па тоа е малку досадно да напишете, 430 00:20:33,670 --> 00:20:37,890 но enum може да се направи повеќе смисла, бидејќи на овој начин, барем во САД, 431 00:20:37,890 --> 00:20:41,320 можете да наведеме, ако tediously, но го прават тоа само еднаш во вашата база на податоци 432 00:20:41,320 --> 00:20:47,480 и никогаш повторно да се размислува за тоа, сите 50 две карактер кодови. 433 00:20:47,480 --> 00:20:48,660 Така ми се допаѓа enum. 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 Дејвид MALAN: Да, пет или девет. 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 Пред неколку години, бев мигрирање од Microsoft Outlook за Gmail, 444 00:21:13,110 --> 00:21:18,640 и Outlook има свој начин на извозот сите твои контакти како датотека Excel, 445 00:21:18,640 --> 00:21:21,280 CSV датотека, разделени со запирки вредности датотека. 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 Затоа што кога јас потоа увезени што во Gmail, сето тоа работел. 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 >> Дејвид MALAN: Тоа траеше 0, и, наместо тоа, 455 00:21:50,650 --> 00:21:53,810 ја зеде целата ZIP код како што е голем број, а со тоа тоа е 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 И ова е, искрено, досадни Excel функција која мислам дека по дифолт, 459 00:22:07,100 --> 00:22:10,980 дури и ако тоа е со цел да се само да биде текст, Microsoft Excel 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 И тоа truncates водечки нули. 463 00:22:16,790 --> 00:22:19,165 >> Се колнам во Бога, на секои неколку месеци да најдам адреса, 464 00:22:19,165 --> 00:22:22,300 и надвор од еден вид на OCD, ќе се вратам и да го додадете на 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 се случува да имаат o ги води. 470 00:22:33,270 --> 00:22:38,070 Па ајде да одиме со слични знак, најверојатно, пет. 471 00:22:38,070 --> 00:22:41,450 >> И тука, ние се реализира може да се користи на enum и ние 472 00:22:41,450 --> 00:22:44,600 би можеле да наведеме 10.000 можно кодови ZIP, 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 Значи знак реализира можете да напишете во H-Е-Л-Л-О како вашиот поштенски код, 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 Ние ќе го сторат тоа во PHP или Јава или на кој било јазик ние сме 482 00:23:11,100 --> 00:23:14,230 користење на серверот за да се спроведе тој вид на ограничување. 483 00:23:14,230 --> 00:23:14,860 >> Whoo! 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 кога дизајнирање на SQL база на податоци, или типичен релациона database-- каде 488 00:23:26,600 --> 00:23:28,790 повторно, само релациона значи редови и колони, 489 00:23:28,790 --> 00:23:35,500 тоа е како да ги организирате вашите data-- и да сфатат дека она што ова значи, 490 00:23:35,500 --> 00:23:37,740 Сум бил во заблуда тоа, јас сум drawing-- ова 491 00:23:37,740 --> 00:23:40,190 е она што се нарекува на шемата за одредена база на табелата. 492 00:23:40,190 --> 00:23:42,810 Ова е како спецификации за table-- 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 Одам да се отвори Excel, бидејќи Excel ќе ми даде редови и колони. 496 00:23:55,080 --> 00:23:58,050 А тоа е токму она што Oracle и MySQL и други алатки, ќе ми даде. 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 е-пошта, број улица, улица, Whoops. 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 тоа се случува да биде нешто како Давид, Malan, m, да речеме 1, 505 00:24:32,880 --> 00:24:42,910 malan@harvard.edu, улица број ќе биде како 1 Brattle плоштад, Cambridge, MA, 506 00:24:42,910 --> 00:24:44,780 02138, а потоа и така натаму. 507 00:24:44,780 --> 00:24:48,290 Значи, кога ќе речам дека релациона база на податоци или SQL база на податоци е редови и колони, 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 >> Дејвид MALAN: Името, па је Ми се допаѓа фактот that-- да, 519 00:25:17,690 --> 00:25:19,750 e-mail може да биде прилично честа појава. 520 00:25:19,750 --> 00:25:21,440 Жал ми е, ми кажа дека името. 521 00:25:21,440 --> 00:25:24,030 Значи maybe-- и повторно, ние сме вид на разговор во апстрактот. 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 е карактеристика во повеќето SQL бази на податоци познат како индексирање, при што 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 Дејвид MALAN: перформанси. 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 Дејвид MALAN: простор. 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 Ако имаме Давид и Scully и Карим и Arwa и други, во овие редови, 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 Scully е тука, а потоа имаме Карим и Arwa, 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 Ако барате Arwa, ние не сме ќе биде во можност да скокаат право да ја 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 И остатокот од овие може да биде, ајде да ги наречеме убаво да се haves, 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 или дупликат ID број. 607 00:29:00,740 --> 00:29:03,140 Толку многу како enums не заштити Слично на тоа, 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 >> Дејвид MALAN: Не 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 >> Дејвид MALAN: Добро. 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 >> Дејвид MALAN: О, па ние се зборува на начин 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 или SQL бази на податоци генерално. 635 00:30:04,760 --> 00:30:06,870 >> ПУБЛИКАТА: [Беззвучен] 636 00:30:06,870 --> 00:30:10,030 >> Дејвид MALAN: подобар збор за користење е, може да се користи од страна на било кој јазик. 637 00:30:10,030 --> 00:30:15,280 За да можам да пишувам JavaScript код, C код, C ++ код, Java код, Руби код, 638 00:30:15,280 --> 00:30:19,010 од кои сите се зборува за база на податоци и извршување на пребарувања. 639 00:30:19,010 --> 00:30:22,310 Всушност, тоа не е лоша segue на пример на прашалник. 640 00:30:22,310 --> 00:30:25,720 И повторно, ние нема да се оди во Java или C ++ или било што повеќе, 641 00:30:25,720 --> 00:30:29,420 но во SQL јазик, јазикот на кој јас ги се однесуваат, Структурно јазик за пребарување, 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 Начинот на кој ќе го изберете податоци од MySQL база на податоци 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 ќе, во SQL, кој буквално го прави тоа. 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 >> Дејвид MALAN: Жал ми е? 654 00:31:05,380 --> 00:31:06,300 >> ПУБЛИКАТА: [Беззвучен] 655 00:31:06,300 --> 00:31:09,580 >> Дејвид MALAN: не е потребно, тоа е посеопфатен од тоа, всушност. 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 Ова ќе избере за мене само ZIP Давид код, а не на целината на тој ред. 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 >> Дејвид MALAN: Да, јас само може да им е потребно. 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 и тогаш би рекол вредности како, да речеме, Лорен Scully, 689 00:33:00,150 --> 00:33:02,380 нашите videographer, токму тука. 690 00:33:02,380 --> 00:33:04,390 И следниот поле не е полот. 691 00:33:04,390 --> 00:33:08,020 Па ние ќе се каже цитат unquote "Ѓ", тогаш имаме еден проект 692 00:33:08,020 --> 00:33:12,250 а јас ќе одам да се say-- ајде се преправаат дека не е всушност тука, 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 >> Ако сакам да се ослободи од Scully, Ух-ах, да одјават 701 00:33:30,970 --> 00:33:37,420 неа, таа се брише нејзиниот профил, избришете од корисници каде проект еднакво на 2, 702 00:33:37,420 --> 00:33:38,500 ќе се ослободи од Scully. 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 Постави ZIP еднаква 021-- бе, тоа е нејзината моментална код. 706 00:33:53,730 --> 00:33:54,487 90210. 707 00:33:54,487 --> 00:33:56,320 Единствената друга ZIP код Знам дека во светот. 708 00:33:56,320 --> 00:33:59,002 Така што ќе се менува нејзиниот ZIP code-- всушност, 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 Дејвид MALAN: Да, јас се пресели сите во Беверли Хилс, Калифорнија. 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 Па SQL е за сите овие видови на инструкции. 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 едноставно, ако arcanely, изразувајќи она што го сакате базата на податоци да се направи. 721 00:34:29,750 --> 00:34:31,580 >> А потоа и на база на податоци ќе дознаам, кога 722 00:34:31,580 --> 00:34:35,630 Лорен Scully да ја вметнете во база на податоци, каде да ја стави во меморија 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 Дејвид MALAN: Навистина добро прашање. 729 00:34:47,780 --> 00:34:50,370 Дали овие скрипти се менува од Microsoft пристап до Oracle 730 00:34:50,370 --> 00:34:52,290 на MySQL, PostgreSQL? 731 00:34:52,290 --> 00:34:53,790 На кратко одговорот е тоа зависи. 732 00:34:53,790 --> 00:34:58,697 Во теорија, постои многу значајна заедничка подгрупа на SQL 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 е дека наместо пишување необработени SQL код како што јас пишувам тука, 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 да се јавите, така што никогаш всушност пишува суровини SQL. 743 00:35:28,810 --> 00:35:32,609 >> Во теорија, тогаш ќе може да се промени производи од Oracle на Microsoft 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 Но, во теорија, SQL се дели во овие различни производи. 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 >> Дејвид MALAN: Да, па може да се мисли на база на податоци 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 напишан во Java, Ruby, Python, што, серверот е добивањето на оваа команда 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 >> Дејвид MALAN: Точно, точно. 772 00:36:55,070 --> 00:36:58,450 Значи pseudocode за нешто како тоа би можело да биде тоа. 773 00:36:58,450 --> 00:37:02,450 Во вашиот PHP фајл или вашиот Пајтон датотека или вашите Java датотека, 774 00:37:02,450 --> 00:37:09,210 вие ќе треба pseudocode код, или Нула-како блокови, а доколку корисникот посети 775 00:37:09,210 --> 00:37:19,870 acme.com/register~~V за прв пат, потоа вметнете во корисниците и така натаму. 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 но ти си, всушност, ни доведе одредување на path-- и јас да ви кажам, 783 00:37:43,030 --> 00:37:48,080 но тоа е веројатно мојата fault-- на прилично неефикасно спроведување базата на податоци. 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 >> Дејвид MALAN: Зошто ви значи тоа? 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 Дејвид MALAN: Да. 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 и се претпоставува дека Лорен Scully живее во Кембриџ, м-р, 809 00:39:04,100 --> 00:39:06,120 и претпоставуваат дека Карим живее во Кембриџ, м-р, 810 00:39:06,120 --> 00:39:10,400 и Arwa живее во Кембриџ, М-р, на сите нас во 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 Дејвид MALAN: Само поштенски код. 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 >> Дејвид MALAN: Да. 825 00:39:55,930 --> 00:40:01,440 Значи zip и државата и градот. 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 Ова ќе биде enum, можеби како пред, а градот ќе биде varchar 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 Дејвид MALAN: Ница. 833 00:40:23,850 --> 00:40:30,239 Државата и градот оди си, па јас сега елиминиран потенцијалниот неефикасност 834 00:40:30,239 --> 00:40:33,280 за redundantly помнење, Кембриџ, М-р, Cambridge, MA, Cambridge, MA, 835 00:40:33,280 --> 00:40:35,712 Cambridge, MA, која, се надевам никогаш нема да се промени. 836 00:40:35,712 --> 00:40:37,670 И дури и ако го прави тоа, тоа е minorly досадни, сега 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 Дејвид MALAN: Точно, и јас сум мило ми е што го користел зборот се приклучат, 845 00:40:58,100 --> 00:41:01,320 затоа што тоа е всушност клучниот збор, во светот на релациони бази на податоци 846 00:41:01,320 --> 00:41:05,270 во SQL, тоа е вистинскиот збор ќе може да се тип или барем да се пренесе. 847 00:41:05,270 --> 00:41:09,280 И всушност, она што ние сега треба да направите за да го изберете целосни информации Давид е 848 00:41:09,280 --> 00:41:19,700 нешто како изберете ѕвезда од корисниците, да се придружите градови, on-- и сега 849 00:41:19,700 --> 00:41:24,010 Одам да се движат само на втора линија така што овој fits-- users.zip еднаква на 850 00:41:24,010 --> 00:41:34,570 cities.zip, каде users.ID е еднакво на 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 hardcode нешто како на бројот 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 Но, за сега ние само ќе го hardcode како 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 а тоа пак, е на патентите маса, ние сме вид на finding-- 874 00:42:38,090 --> 00:42:41,330 и на врвовите на прстите се компресирани овде, и на врвовите на прстите 875 00:42:41,330 --> 00:42:43,740 тука се и ZIP, ти си вид на ИТ испреплетени 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 Тоа може да биде повеќето ништо друго, туку Zip е убаво, затоа што еден, тоа е кратко, 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 Ако одите in-- и можете да одите во по fact-- и додадете индекси, 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 Значи за NoSQL, кој беше друг вид на базата на податоци на која што се алудира погоре, 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 може да има последен име е Malan, цитати, 944 00:46:00,180 --> 00:46:07,530 може да има проект is-- извинете, whoops-- проект е 1, 945 00:46:07,530 --> 00:46:13,410 е-пошта е malan@harvard.edu, и јас нема пречи пишување надвор на одмор, а потоа 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 Видовме клучните вредност парови во HTML, видовме клучните вредност парови сега 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 како MongoDB и Redis и неколку други такви алатки, слободно достапни, 964 00:47:11,942 --> 00:47:13,400 но тие се повеќе en мода. 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 Значи предности и minuses. 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 Значи се потсетиме дека вчера имавме некои канонски HTML 976 00:47:49,310 --> 00:47:55,110 страници кои првично, само HTML, а потоа секундарно имаше CSS, 977 00:47:55,110 --> 00:47:56,620 Cascading Style Sheets. 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 >> Излегува дека всушност може да го вградите јазик наречен JavaScript во вашиот веб- 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 Одам да се оди во Cloud9, нема потреба да се оди таму си само уште, 985 00:48:15,860 --> 00:48:21,350 а јас ќе одам да се јавите оваа alert.HTML. 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 >> Но, ова е вид на underwhelming. 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 велат alert ( "Здраво, свет"); така најава тоа е малку невешт, но јас имам HTML, 994 00:48:53,460 --> 00:48:56,180 во внатрешноста на кој е јазик наречен JavaScript, 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 Овој вид на ве потсетува на pop-up прозорци, можеби, на недалечното минато 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 Одам да се оди во google.html, што ние 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 ме одведе до вистинска Google, мене не ми даде порака за грешка. 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 Па дозволете ми да се врати во Cloud9 и дозволете ми да одат во врвот на мојата страница 1017 00:50:06,790 --> 00:50:11,980 и додадете скрипта таг како ова, во Одам да напишете некои кодот JavaScript. 1018 00:50:11,980 --> 00:50:15,420 И јас одам да го направите следново. 1019 00:50:15,420 --> 00:50:22,910 Ако (document.getelementByID-- и отповикување кои ние разговаравме за тоа дека порано, 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 Сакам да се Q, а јас ќе одам да се да речеме еднаква на ништо, како this-- 1023 00:50:33,050 --> 00:50:38,220 всушност, дозволете ми да користат двојни наводници само за consistency-- еднаква на ништо, 1024 00:50:38,220 --> 00:50:46,650 потоа alert ( "Ве молиме напишете пребарување") тука. 1025 00:50:46,650 --> 00:50:49,200 >> Па јас се она што се појавува да биде нешто како услов. 1026 00:50:49,200 --> 00:50:51,410 Видовме оваа општа идеја во Scratch. 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 Јас ќе одам да им даде на оваа форма поле не е само името на q, која 1031 00:51:02,790 --> 00:51:06,630 е она што ќе поминуваат на Google, но јас сум ќе го даде на локалните идентификатор, 1032 00:51:06,630 --> 00:51:07,630 исто така, повика q. 1033 00:51:07,630 --> 00:51:11,780 Но, јас би го нарекле нешто што можам сакате, јас сум само ќе ја задржиш едноставен 1034 00:51:11,780 --> 00:51:14,570 а исто така да го наречеме q, само за едноставност. 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 Имам now-- мислам на тоа како создаде мојата сопствена сложувалка што претходно не 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 >> Ако document.getElementByID така концептуално, 1047 00:52:04,940 --> 00:52:09,380 што се случува да одат во елемент, на HTML елемент чија единствена 1048 00:52:09,380 --> 00:52:12,930 Идејата е едноставно q, а потоа, иако синтаксата изгледа малку чудно, 1049 00:52:12,930 --> 00:52:16,430 еднаков еднаква на само значи еднаквите. 1050 00:52:16,430 --> 00:52:20,950 Па тоа значи дека ако на елементот со единствен идентификатор на q, кога добиле, 1051 00:52:20,950 --> 00:52:25,700 нема вредност, тоа едноставно е еднаква на цитат unquote, ништо таму, 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 anything-- по ѓаволите, се скрши. 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 .value. 1078 00:53:21,350 --> 00:53:27,060 Мислев да се каже ако вредноста на елементот чии ID е q 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 Значи еден, ние сме воведени во нашиот свет на HTML и CSS, 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 Исто како и со CSS, ние може да се фактор на нашата JavaScript код на посебна датотека, 1101 00:54:37,250 --> 00:54:40,660 можете да го прават истото со JavaScript како со CSS. 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 but-- дозволете ми да се помести ова наоколу во order-- одат, и ако може, оваа страница тука. 1106 00:55:02,690 --> 00:55:03,592 Овој URL тука. 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 да плискам со некои JavaScript. 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 и тој desaturated сите на црвените од него, 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 Ова е JavaScript код кој Ник има напишано за вас. 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 променлива која Ник има произволно, но разумно наречен im за слика. 1169 00:58:39,140 --> 00:58:41,660 На десната страна на тој знак за еднаквост, 1170 00:58:41,660 --> 00:58:45,240 тој е велејќи ми даде нова цитат unquote "едноставна слика". 1171 00:58:45,240 --> 00:58:49,680 >> Едноставна слика, во овој контекст е она што се нарекува класа, добро, 1172 00:58:49,680 --> 00:58:53,910 тоа е вид на како class-- технички prototype-- но, навистина, 1173 00:58:53,910 --> 00:58:58,000 ова ми дава нов објект, содржините на кои се на датотеката, 1174 00:58:58,000 --> 00:58:59,610 железо puzzle.png. 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 Во овој случај, Ник не има Hardcoded голем број како 10. 1182 00:59:22,220 --> 00:59:28,020 Наместо тоа, тој е велејќи дека, се иницијализира променлива наречена x е 0, 1183 00:59:28,020 --> 00:59:33,180 провери ако X е помалку од ширината на сликата. 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 И тогаш x ++ е фенси начин велејќи: Откако сте го направиле ова уште еднаш, 1191 00:59:53,610 --> 00:59:55,850 подигање x од 1. 1192 00:59:55,850 --> 00:59:58,760 Со други зборови, е начин на програмерот 1193 00:59:58,760 --> 01:00:05,760 на поттикнување на циклус кој е ќе iterate во текот 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 Значи ова е само начин на traipsing, речиси како старата школа машина за пишување, 1200 01:00:29,442 --> 01:00:32,230 да се оди само во текот на Целата слика iteratively. 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 ќе ви овозможи да се погледне iteratively на секој пиксел, секоја точка во сликата. 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 е резултат на она што е генерално се нарекува RGB, црвена, зелена, сина, кои 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 Дејвид MALAN: ќе надевам дека е така, тоа е бела боја. 1227 01:01:52,800 --> 01:01:55,333 За жал, ова operates-- жал? 1228 01:01:55,333 --> 01:01:56,380 >> ПУБЛИКАТА: [Беззвучен] 1229 01:01:56,380 --> 01:01:58,630 Дејвид MALAN: Значи вие всушност имаат црна боја, во овој случај. 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 Дејвид MALAN: Добро, очигледно. 1238 01:02:20,610 --> 01:02:25,940 И тогаш не се црвени, многу зелена, сина нема, а потоа 1239 01:02:25,940 --> 01:02:29,590 ако have-- добро, ние само ќе заврши тоа, само затоа што, но тоа, се разбира, 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 FFF-- а всушност, тоа е веројатно нема ни тоа. 1245 01:02:42,030 --> 01:02:44,380 Тоа е ffffff. 1246 01:02:44,380 --> 01:02:48,970 >> Некој некогаш видел Ф, како и на E и А through-- така што се испоставува, 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 А и тогаш Б, а потоа C. Значи, начинот на кој се смета во хексадецимален 1261 01:03:34,450 --> 01:03:37,040 е нула, еден, два, три, четири, пет, шест, седум, осум, девет, 1262 01:03:37,040 --> 01:03:42,880 A, B, C, D, E, F, и дека ќе се смета сите вас на патот, што се испоставува, до 15. 1263 01:03:42,880 --> 01:03:47,850 Значи нула до 15 е нула преку Ѓ А зошто е тоа значајно? 1264 01:03:47,850 --> 01:03:51,570 Па, кога ќе имаат по две на F, тоа е како да го изразат 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 ќе биде y-координата. 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 И тогаш тука, тоа се случува да биде x, тоа се случува да биде вредност на y, 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 >> Слика, im.setBlue, а потоа врз основа на моите инструкции тука, 1297 01:05:31,280 --> 01:05:36,700 Кои три нешта што треба да тип внатрешноста на загради сега? 1298 01:05:36,700 --> 01:05:41,960 Ми треба x вредност, на y вредност, и што бројот 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 врвот до дното во текот на сите x вредности и сите вредности на y. 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 >> Дејвид MALAN: Ница. 1315 01:06:26,151 --> 01:06:28,260 >> ПУБЛИКАТА: [Беззвучен] 1316 01:06:28,260 --> 01:06:30,850 >> Дејвид MALAN: Ница. 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 И тоа е во ред, ако треба да ја погоди на копчето Изврши / Save неколку пати 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 >> Дејвид MALAN: Големи црн правоаголник? 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 >> Дејвид MALAN: Спојлер! 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 Тој го desaturated на некој начин, но не сите на патот до нула. 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 И дозволете ми да оди напред и да каже износ еднаков на im.getRed (x, y). 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 да се добие износот на црвено x y запирка. 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 Вие треба да add-- 1366 01:08:33,619 --> 01:08:34,493 ПУБЛИКАТА: [Беззвучен] 1367 01:08:34,493 --> 01:08:36,279 Дејвид MALAN: Да, можеби множете се него од 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 и ѕвезда, ѕвезда на вашиот Тастатурата е the-- не користат x. 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 е колку црвена сакам на локацијата XY. 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 Дејвид MALAN: Да, и не го сакам до 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 >> Дејвид MALAN: Ница. 1387 01:09:30,880 --> 01:09:34,616 Im.set-- па што? 1388 01:09:34,616 --> 01:09:35,640 >> ПУБЛИКАТА: setRed. 1389 01:09:35,640 --> 01:09:39,760 >> Дејвид MALAN: setRed, на локација XY. 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 треба да се види, магично, она што беше, всушност, таму. [? Arwa,?] Она што е таму? 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 Дејвид MALAN: Во ред. 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 >> Дејвид MALAN: Добро, така што ова сум нема да се даде како многу загатки. 1433 01:11:44,010 --> 01:11:47,220 Па јас would-- ох, ајде види, имаш грешка тука. 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 на наука или уметност наречен steganography, 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 >> Дејвид MALAN: Статуата на слободата ќе биде одговорот на овој период. 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 Кога ќе бидете подготвени, ако може да одат на овој URL на екранот. 1465 01:13:56,610 --> 01:14:00,610 Тоа е, исто така, во вашата копија на слајдови, developers.google.com/maps~~V. 1466 01:14:00,610 --> 01:14:03,660 Ајде да всушност направи нешто реално, така да се каже, на веб 1467 01:14:03,660 --> 01:14:07,600 користење на API на Google Maps, или интерфејс за програмирање апликации, 1468 01:14:07,600 --> 01:14:08,940 на следниов начин. 1469 01:14:08,940 --> 01:14:12,341 >> Google, како и многу други компании, обезбедува голем број на бесплатни функционалноста 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 Тоа е, како најдобро што можам каже, Google Maps API. 1474 01:14:24,870 --> 01:14:28,884 Тие се всушност користење на мапи на Google, но желбата не е компанија мапирање, 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 на другите, на Google во овој случај. 1479 01:14:37,520 --> 01:14:42,850 Па тие ги користат мапите на Google, но нивните автомобилски сервиси и други такви карактеристики. 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 Значи убаво на Google, и тие се меѓу најдобрите 1485 01:14:58,230 --> 01:15:01,364 за обезбедување не само API-јата, но API што ќе 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 >> И ќе забележите дека тие имаат API-јата за Андроид, iOS, интернет, и интернет услуги, 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 И тие го добивме целиот куп на API-јата. 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 >> Во горниот лев агол е на Google Maps Го вклучите Javascript-API, API JavaScript. 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 И дозволете ми да ни to-- дојдете долу до местото каде што се вели брз почеток чекори. 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 клуч за API е обично се само голем случаен број или стринг 1509 01:16:09,210 --> 01:16:11,130 дека вие би требало за вметнување на вашиот код, 1510 01:16:11,130 --> 01:16:15,280 така што Google не знае кој сте кога сте со користење на нивните услуги, нивните API. 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 користење Cloud9 во еден прозорец и ова упатство во друг прозорец, 1517 01:16:34,240 --> 01:16:37,120 Ви овозможува да се всушност нашите сопствени примена и трчање 1518 01:16:37,120 --> 01:16:40,920 дека вградува сопствен Google карта во нашата сопствена веб страница, 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 Е секој на оваа страница, Google Мапи го вклучите Javascript-API? 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 Во ред, во друга табот, ако не го отвори, одат во Cloud9 1526 01:16:58,090 --> 01:17:03,500 и да си на само нов таб, во крајна линија. 1527 01:17:03,500 --> 01:17:11,070 Значи, повторно, c9.io од вчера, c9.io, и само се создаде нова датотека. 1528 01:17:11,070 --> 01:17:13,500 И да оди напред и повик без оглед на тоа што би сакале. 1529 01:17:13,500 --> 01:17:16,495 Се јавив map.html рудникот. 1530 01:17:16,495 --> 01:17:17,870 Наречи го тоа нешто што завршува во html. 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 со само трепка брзо во празен јазиче наречено нешто како map.html. 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 >> И сега, во текот на Google Мапи го вклучите Javascript-API-то, 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 Здраво светот има овој голем шарени пример на целиот куп на HTML. 1541 01:17:58,020 --> 01:18:03,590 Оди напред и да копирате и залепите само дека HTML, па од типот на doc на врвот 1542 01:18:03,590 --> 01:18:08,810 сите на патот до крајот HTML таг, одете напред и да ги копирате сите that-- повторно, 1543 01:18:08,810 --> 01:18:14,430 кој е под свет здраво example-- и ставете дека во табот на Cloud9, 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 не може да се заклучи или да научат од она што е на Google 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 види, што значи тоа, DOCTYPE HTML? 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 Дејвид MALAN: Да. 1562 01:18:53,968 --> 01:18:54,870 Еве доаѓа HTML 5. 1563 01:18:54,870 --> 01:18:57,950 Во меѓувреме, се редат два на екран овде значи еј прелистувач, 1564 01:18:57,950 --> 01:18:59,482 тука доаѓа вистинските HTML. 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 UTF-8 само има тенденција да биде стандардно. 1573 01:19:21,100 --> 01:19:26,580 >> Па сега ќе видиме во линија седум до 16 години, некои CSS. 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 HTML и текст на. 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 Дејвид MALAN: Токму така. 1601 01:20:32,360 --> 01:20:36,900 Овој имот, ова имотот CSS се однесува на само една работа, HTML таг 1602 01:20:36,900 --> 01:20:41,180 дека има проект на понуда, unquote "мапа". 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 има само div, што е поделба на страница, која вчера се 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 >> Значи она што се чини дека е се случи тука е Google 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 на овој div, чиј единствен број е мапа, е вистински вградени сајтот. 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 години, ова е JavaScript код. 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 ние сме поточно велејќи var, што само значи променлива. 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 функција која е очигледно наречен initMap. 1627 01:21:53,360 --> 01:21:55,780 >> Значи ова е како нашите сопствени загатка парче во Scratch. 1628 01:21:55,780 --> 01:21:58,830 Ние создадовме парче функционалност наречена initMap, 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 Од десната страна вели, еј прелистувачот, ми даде нова карта на Google. 1634 01:22:11,940 --> 01:22:16,490 И google.maps.map е само фанки начин на наведувајќи дека оваа функционалност 1635 01:22:16,490 --> 01:22:19,790 припаѓа на Google Maps. 1636 01:22:19,790 --> 01:22:23,010 >> По загради, видовме тоа порано, еј прелистувач, се 1637 01:22:23,010 --> 01:22:29,210 ме елементи во страната, таг во страница чиј единствен број is-- 1638 01:22:29,210 --> 01:22:30,710 >> ПУБЛИКАТА: [Беззвучен] 1639 01:22:30,710 --> 01:22:31,790 >> Дејвид MALAN: --map. 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 тој празен div на страницата чиј единствен број е сајтот, 1643 01:22:42,800 --> 01:22:45,600 затоа што сакате да го вметнете во it-- внесе во неа, 1644 01:22:45,600 --> 01:22:49,520 ако will-- целиот куп на содржината што се случува да се доаѓа од интернет, 1645 01:22:49,520 --> 01:22:50,427 последователно. 1646 01:22:50,427 --> 01:22:52,010 И Google ќе го прави сето тоа за нас. 1647 01:22:52,010 --> 01:22:55,350 >> Значи, повторно, на самиот крај на денот, имаме овој пример на апстракција. 1648 01:22:55,350 --> 01:22:58,610 Јас немам идеја што сајтот е или како да се имплементира на сајтот API. 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 оние основните имплементација детали на Google. 1652 01:23:04,880 --> 01:23:08,190 Сега таму е очигледно две парчиња на податоци 1653 01:23:08,190 --> 01:23:11,940 дека овој пример е обезбедување на API на Google. 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 тоа е малку грди, бидејќи тоа wraps-- оваа линија код 1662 01:23:39,960 --> 01:23:44,570 е она што преземања на прелистувачот вистинските API на Google. 1663 01:23:44,570 --> 01:23:47,500 Сите кодот што на Google инженери имаат напишано дека се имплементира 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 Оди на нејзиниот URL. 1669 01:23:57,370 --> 01:23:59,820 Можете да кликнете на копчето Изврши до врвот и дека ќе покаже 1670 01:23:59,820 --> 01:24:03,050 ќе ја URL адресата на вашиот веб сервер повторно. 1671 01:24:03,050 --> 01:24:06,010 И тоа ќе ве доведе до ново јазиче. 1672 01:24:06,010 --> 01:24:11,910 Ако кликнете Отвори за map.html, и шансите се сте 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 Во денешниот слајдови или Наместо тоа, во Cloud9, известување 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 тоа е како maps.googleapis.com/ нешто, нешто, нешто, 1684 01:24:44,440 --> 01:24:46,430 тогаш се забележи некој, еден од програмерите, 1685 01:24:46,430 --> 01:24:50,040 пишува во сите капитални писма, вашите клучни API. 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 Оди напред и само копија на тоа и ставете го каде што вели: вашиот клуч за API. 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 >> Дејвид MALAN: Австралија. 1704 01:25:38,748 --> 01:25:41,200 Значи очигледно тоа се GPS координати на Австралија. 1705 01:25:41,200 --> 01:25:44,491 И дозволете ми да се шетаат за само еден миг и помогне на секој кој не е баш таму, 1706 01:25:44,491 --> 01:25:47,729 но дозволете ми предложи, преку Google, најдете на GPS координатите на вашиот роден град 1707 01:25:47,729 --> 01:25:48,770 или вашиот дом земјата. 1708 01:25:48,770 --> 01:25:51,436 И веројатно Google може да го претвори ова , или на Википедија да ви кажам. 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 >> А кога ќе завршиш со тоа, следење challenge-- 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 промена на мапата да биде не овој cartoonish стандардно, но сателитска мапа. 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 Но, можете да do-- на пример, дозволете ми да одат на нешто што го направивме за курсот 1725 01:26:49,890 --> 01:26:52,050 Јас teach-- maps.cs50.net. 1726 01:26:52,050 --> 01:26:53,470 Еден од нашите undergrads го направи ова. 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 можете слика во оваа мала pop-up. 1735 01:27:16,440 --> 01:27:18,670 >> Но, дури и овој мал Pop-up, ние не се имплементира. 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 можете да ги правите нештата како тоа, кликнување на маркер, а потоа Voila, 1742 01:27:40,530 --> 01:27:42,400 информации се појавува. 1743 01:27:42,400 --> 01:27:45,874 >> Значи ние не сме сосема воведе доволно опции на JavaScript 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 Значи ние сме вид на бере и choosed Од сите овие различни карактеристики, 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 >> Дејвид MALAN: О добрина. 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 >> Дејвид MALAN: Вие can-- во Internet Explorer, почивај во мир, 1769 01:28:46,810 --> 01:28:49,310 се користи за да биде во можност да се стави VB сценариото, виртуелната основните скрипта, 1770 01:28:49,310 --> 01:28:50,643 но тоа навистина не влезе во употреба. 1771 01:28:50,643 --> 01:28:52,490 Значи кратко одговорот е само JavaScript. 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 Дејвид MALAN: Тоа е вообичаено е вистина овие денови. 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 Вие сте потпирајќи се на некој како Google, така што ќе 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 Ако сте користеле или Spotify било кој број на веб-сајтови, 1797 01:29:48,500 --> 01:29:51,210 ќе влезете во некоја веб-сајтови користат Фејсбук. 1798 01:29:51,210 --> 01:29:53,350 Значи она што е убаво, има се API-јата за најава 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 Ако Google оди надолу, така и желбата, веројатно, 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 >> И овие сметки Cloud9 ќе продолжи на работа, во теорија, за вечни времиња. 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