1 00:00:00,000 --> 00:00:01,940 >> [Мусиц плаиинг] 2 00:00:01,940 --> 00:00:11,130 3 00:00:11,130 --> 00:00:14,620 >> ДАВИД Малан: Ово је ЦС 50, и Ово је почетак седмице девет. 4 00:00:14,620 --> 00:00:18,240 А оно што смо мислили да радимо данас није само затварање поглавља о прошле седмице 5 00:00:18,240 --> 00:00:22,670 Материјал где смо фокусирани на серверу страни веб програмирање са ПХП и СКЛ, 6 00:00:22,670 --> 00:00:23,549 неке ствари база. 7 00:00:23,549 --> 00:00:25,590 Причаћемо о мало безбедност данас и онда 8 00:00:25,590 --> 00:00:29,590 Прелазак на страни клијента програмирање језика познат као ЈаваСцрипт. 9 00:00:29,590 --> 00:00:31,330 Али прво, мало искупљење. 10 00:00:31,330 --> 00:00:35,030 >> Можда се сећате да је Среда, сет сам 11 00:00:35,030 --> 00:00:37,550 да напише сајт који је у улаз корисника 12 00:00:37,550 --> 00:00:41,120 од ХТМЛ формулара који тада чува да имена корисничког уноса, телефон 13 00:00:41,120 --> 00:00:43,124 бројеви, и мобилни телефон носачи у бази података. 14 00:00:43,124 --> 00:00:45,540 И онда сам имао малу команду линија сценарију у ПХП 15 00:00:45,540 --> 00:00:47,956 који је требало да поновити преко редова у бази 16 00:00:47,956 --> 00:00:49,400 и шаљу текстуалне поруке. 17 00:00:49,400 --> 00:00:53,870 Упркос неколико покушаја, неколико, ми нису добили тај радом до краја. 18 00:00:53,870 --> 00:00:57,820 >> Тако да цела ове недеље провела радећи на том коду да нас отарасити тачке 19 00:00:57,820 --> 00:01:01,220 где смо стали, при чему су сва Имам до краја среду 20 00:01:01,220 --> 00:01:05,500 је овај текст порука од Марго док сам се борио, 21 00:01:05,500 --> 00:01:09,940 следи текстуалне поруке са неког другог другарица Имате ову Давид. 22 00:01:09,940 --> 00:01:14,030 Затим овај, дивно охрабрујући. 23 00:01:14,030 --> 00:01:15,840 Наставио даље, веома охрабрује. 24 00:01:15,840 --> 00:01:20,960 Скоро га до онда-- и То је белешка смо завршили у среду. 25 00:01:20,960 --> 00:01:25,850 А онда заправо можда моја омиљена, Тренутак касније, ово је у. 26 00:01:25,850 --> 00:01:27,000 Проклетство Ливе Стреам. 27 00:01:27,000 --> 00:01:31,080 >> Тако да данас, ми поправити са брзо погледај шта сам урадио тада. 28 00:01:31,080 --> 00:01:35,440 Дакле, све ове код је доступан Онлине од прошлонедељног, недеље осам, 29 00:01:35,440 --> 00:01:36,300 изворни код. 30 00:01:36,300 --> 00:01:39,425 И видећете да сам прошао кроз, и ја заправо очистио ствари мало. 31 00:01:39,425 --> 00:01:42,080 Представио сам пар друга карактеристике СКЛ базе података. 32 00:01:42,080 --> 00:01:45,300 На пример, уместо само се носилац вар цхар 33 00:01:45,300 --> 00:01:47,310 као што мислим да сам у ходу прошле недеље. 34 00:01:47,310 --> 00:01:49,820 Ја већ га је дефинисао као оно што се зове енум. 35 00:01:49,820 --> 00:01:53,310 >> А неки од вас можда видели као што смо истражили Ц Енум је заправо 36 00:01:53,310 --> 00:01:56,820 карактеристика Ц, где можете набрајају гомилу константи 37 00:01:56,820 --> 00:01:59,640 и доделити их аутоматски вредности, као један, два, три, четири 38 00:01:59,640 --> 00:02:01,330 без тешких кода бројева. 39 00:02:01,330 --> 00:02:04,780 Тако СКЛ подржава исто, при чему ако имате поље у бази података које сте само 40 00:02:04,780 --> 00:02:09,389 Желим да се на једном од коначних вредности, можете буквално да га навести 41 00:02:09,389 --> 00:02:13,120 као што сам тамо урадио за четири Популарни САД целлпхоне превозници. 42 00:02:13,120 --> 00:02:13,819 >> Па сам то урадио. 43 00:02:13,819 --> 00:02:16,610 И сам направио неколико измена, као , од којих најважнији 44 00:02:16,610 --> 00:02:20,090 је да се е-маил ради због опозива, да овај програм ослања на коме 45 00:02:20,090 --> 00:02:23,470 обично назива е-маил на СМС гатеваи, који је само 46 00:02:23,470 --> 00:02:27,670 Фанци начин да се каже да је Веризон, и АТ & Т, и други људи подржавају сервер, 47 00:02:27,670 --> 00:02:30,740 чиме ако добије Емаил, она га претвара у СМС 48 00:02:30,740 --> 00:02:33,290 и шаље текст Порука нечији телефон. 49 00:02:33,290 --> 00:02:37,010 Дакле, ако сам ово добро урадио, овде нове и побољшане форма 50 00:02:37,010 --> 00:02:39,259 који ће разговарати са Нова и побољшана код, који 51 00:02:39,259 --> 00:02:40,300 можете играти са онлине. 52 00:02:40,300 --> 00:02:44,140 И то ће, надамо се, бити мој телефон звона у само тренутак. 53 00:02:44,140 --> 00:02:47,240 >> Дакле, прво, ја ћу да куцате у моје име. 54 00:02:47,240 --> 00:02:51,400 Друго, ја не идем да се то уради овај пут. 55 00:02:51,400 --> 00:02:53,920 Ја ћу да урадим Инспекција Елемент. 56 00:02:53,920 --> 00:02:56,710 А ово је само мала ствар тако да не 57 00:02:56,710 --> 00:02:59,250 створити сати постпродукцију раде као и прошли пут. 58 00:02:59,250 --> 00:03:02,300 Тамо је мој број телефона. 59 00:03:02,300 --> 00:03:03,560 >> Ја ћу одабрати Веризон. 60 00:03:03,560 --> 00:03:10,260 И овде, хајде да укључите овај микрофон Овде, а циљ на овај мој телефон овде. 61 00:03:10,260 --> 00:03:13,130 Идем да кликнете Регистрација која би, надамо се, 62 00:03:13,130 --> 00:03:14,530 ставите га у базу података. 63 00:03:14,530 --> 00:03:16,780 Сада ћу да одем у командне линије програма, који 64 00:03:16,780 --> 00:03:20,825 Подсетимо се звао дот сласх текст, и крст прсте. 65 00:03:20,825 --> 00:03:24,092 66 00:03:24,092 --> 00:03:26,527 Идемо. 67 00:03:26,527 --> 00:03:27,501 >> [ПХОНЕ дингс] 68 00:03:27,501 --> 00:03:28,962 >> [АППЛАУСЕ] 69 00:03:28,962 --> 00:03:31,815 70 00:03:31,815 --> 00:03:34,940 ДАВИД Малан: Па забавније од ово-- то је забавно, наравно, ако се у то. 71 00:03:34,940 --> 00:03:38,004 Али је још забавније, мислио сам, ако се створио један од тих филмских момената 72 00:03:38,004 --> 00:03:40,420 где као нешто стварно лоше се десило у свету, 73 00:03:40,420 --> 00:03:42,860 и као и сви НСА народне целлпхонес старт јавите се сигналом 74 00:03:42,860 --> 00:03:44,860 са текстуалним порукама их упозорава на ту чињеницу. 75 00:03:44,860 --> 00:03:47,026 Па сам мислио да ћемо покушати да поново исто овде, 76 00:03:47,026 --> 00:03:49,610 чиме не користи базу података, Ја уместо унапред 77 00:03:49,610 --> 00:03:51,490 написао програм који изгледа овако. 78 00:03:51,490 --> 00:03:53,660 >> Ово је индек.пхп-- и ја ставио овај код онлајн 79 00:03:53,660 --> 00:03:56,710 као -Па то очигледно Само пружа форм.пхп, 80 00:03:56,710 --> 00:04:00,990 користећи МВЦ стил парадигму да разговарају о детаљније у сету проблема 81 00:04:00,990 --> 00:04:01,650 седам. 82 00:04:01,650 --> 00:04:02,910 То је прилично једноставна форма. 83 00:04:02,910 --> 00:04:06,634 То ће да поднесу Филе позвао хере.пхп поштом. 84 00:04:06,634 --> 00:04:09,300 И то очигледно да питам за име, и број телефона, 85 00:04:09,300 --> 00:04:11,400 и затим преко такозваних Изаберите Мени, то је 86 00:04:11,400 --> 00:04:14,250 ће вам дати најмање четири Популарни САД целлпхоне носачи, 87 00:04:14,250 --> 00:04:17,470 и онда вам омогућити да ефикасно узети присуство кликом овде. 88 00:04:17,470 --> 00:04:20,471 >> И овде, у међувремену, ће позајми неке од кода од прошлог пута. 89 00:04:20,471 --> 00:04:22,553 И ако само ским ово, видећете да постоји 90 00:04:22,553 --> 00:04:23,900 гомила провере грешке. 91 00:04:23,900 --> 00:04:26,640 Али љепота на крају је то нисмо писање у базу података и данас. 92 00:04:26,640 --> 00:04:29,130 Ми смо га једноставно и чување Само слање надамо 93 00:04:29,130 --> 00:04:32,190 текстуална порука преко функција И написао у протеклих неколико дана разговора 94 00:04:32,190 --> 00:04:36,270 Текст, који је функција. ПХП, која је поново доступан онлине. 95 00:04:36,270 --> 00:04:38,210 >> Дакле, ако желите да учествују у томе. 96 00:04:38,210 --> 00:04:40,190 Нећемо бити складиштење ништа. 97 00:04:40,190 --> 00:04:43,809 Иди на овом УРЛ овде у реалном времену. 98 00:04:43,809 --> 00:04:46,850 Немојте га поднесе још само, али хајде да видимо да ли можемо да имамо једну од ових филм 99 00:04:46,850 --> 00:04:49,830 тренуци где су сви мобитела почиње јавите се сигналом, надам се само 100 00:04:49,830 --> 00:04:53,580 једном ове године за разлику од 2011, где је овај отишао ужасно криво. 101 00:04:53,580 --> 00:04:58,910 И кад идеш на ту адресу, требало би да видите супер једноставан образац 102 00:04:58,910 --> 00:05:03,884 да ако имате име, мобилни телефон број, а мобилни телефон превозник који 103 00:05:03,884 --> 00:05:06,175 одговара листу тамо, иди напред и попуните формулар. 104 00:05:06,175 --> 00:05:07,880 Али немој да удараш достави још. 105 00:05:07,880 --> 00:05:10,850 >> Форма ће изгледати овако. 106 00:05:10,850 --> 00:05:13,660 Само напред и унесите Ваше име, број телефона. 107 00:05:13,660 --> 00:05:17,670 ООП, неко иде испред криве. 108 00:05:17,670 --> 00:05:18,170 То је у реду. 109 00:05:18,170 --> 00:05:19,340 У реду, сви попуњени образац. 110 00:05:19,340 --> 00:05:21,400 Ово би требало да раде на телефон, такође, ако желите. 111 00:05:21,400 --> 00:05:23,695 У реду, на своја места, да се поставите, иди. 112 00:05:23,695 --> 00:05:24,195 Хит Ево. 113 00:05:24,195 --> 00:05:27,275 114 00:05:27,275 --> 00:05:27,775 Шта? 115 00:05:27,775 --> 00:05:31,140 116 00:05:31,140 --> 00:05:31,640 Не. 117 00:05:31,640 --> 00:05:34,410 118 00:05:34,410 --> 00:05:40,250 Кунем се Богом, сам тестирао Овај више пута данас. 119 00:05:40,250 --> 00:05:41,720 Имаш га? 120 00:05:41,720 --> 00:05:43,145 >> [Изнео Воицес] 121 00:05:43,145 --> 00:05:46,470 122 00:05:46,470 --> 00:05:49,560 >> ДАВИД Малан: Ок, кориснички грешка можда. 123 00:05:49,560 --> 00:05:50,550 То је два. 124 00:05:50,550 --> 00:05:53,300 Он је радио за два од неколико стотина, три, четири. 125 00:05:53,300 --> 00:05:55,940 У реду, то је добро. 126 00:05:55,940 --> 00:05:58,520 Четири од пет за исправност како о. 127 00:05:58,520 --> 00:05:59,810 >> Дакле, шта се десило? 128 00:05:59,810 --> 00:06:02,727 Тако је наводно, не видим твоје екрани, зашто би то могло да ерроред? 129 00:06:02,727 --> 00:06:05,518 Вероватно је да смо управо били покушава да превише везе 130 00:06:05,518 --> 00:06:08,110 на маил сервер Харварду све у Једном од исте ИП адресе. 131 00:06:08,110 --> 00:06:10,740 Само нагађам, јер нисам имају луксуз тестирања 132 00:06:10,740 --> 00:06:13,220 Овај код са неким 300 људи у унапред 133 00:06:13,220 --> 00:06:16,040 али за сада схватају да да најмање треба 134 00:06:16,040 --> 00:06:18,250 имају стечен посао овај пут. 135 00:06:18,250 --> 00:06:22,880 >> У реду, па зашто је све ово више Германе шта се дешава? 136 00:06:22,880 --> 00:06:24,900 Па прво, брзо Пар обавештења. 137 00:06:24,900 --> 00:06:29,350 Дакле, један, ако желите да се придружите Цханг, и Ницк, и други на ручку у петак, 138 00:06:29,350 --> 00:06:32,400 урадите РСВП на уобичајеном УРЛ тамо. 139 00:06:32,400 --> 00:06:35,650 Ако размишљате о концентришемо или ради секундарна у ЦС, 140 00:06:35,650 --> 00:06:38,941 да ли сте студент друге године, или на првој, или чак млађи или старији у овом тренутку 141 00:06:38,941 --> 00:06:42,490 и још увек могу стиснути у курсевима, схватају да је електротехнички факултет 142 00:06:42,490 --> 00:06:45,620 окупља бесплатно Бена и Јерри сладоледа и савети 143 00:06:45,620 --> 00:06:48,910 у среду непосредно после класа у 4:00 часова у згради ЦС 144 00:06:48,910 --> 00:06:49,771 в Маквелл Дворкин. 145 00:06:49,771 --> 00:06:51,520 Ако је ово пребрзо на екрану, само иди 146 00:06:51,520 --> 00:06:55,260 да цс50.харвард.еду за Линк на Фацебоок догађаја 147 00:06:55,260 --> 00:06:57,140 где можете видети више детаља. 148 00:06:57,140 --> 00:07:01,390 >> У међувремену, мислио сам да исправим једна ствар је омануо у среду. 149 00:07:01,390 --> 00:07:04,400 Испало је да је Марко ИД на Фацебоок-у није било три. 150 00:07:04,400 --> 00:07:05,230 То је било четири. 151 00:07:05,230 --> 00:07:08,330 Испоставило се да је имао више тест рачуни него ја сећам. 152 00:07:08,330 --> 00:07:12,400 Али шта то осетио као прилика да урадите је да се подигне УРЛ овако. 153 00:07:12,400 --> 00:07:16,680 >> Тако испада да Фацебоок има АПИ, Апплицатион Программинг Интерфаце, 154 00:07:16,680 --> 00:07:20,070 који је механизам којим вас може тражити податке програмски 155 00:07:20,070 --> 00:07:24,480 на Фацебоок-у и да се вратим машина читљив информације, а не веб странице 156 00:07:24,480 --> 00:07:28,690 али само сирови текст, нешто позвао ЈаваСцрипт Објецт нотација. 157 00:07:28,690 --> 00:07:32,150 И у ствари, ако посетите ово УРЛ адреса, и зумирате, стандардно, 158 00:07:32,150 --> 00:07:34,960 Ово је Марк јавно доступне информације. 159 00:07:34,960 --> 00:07:37,430 >> А занимљив детаљ Овде је само да је његов ИД 160 00:07:37,430 --> 00:07:40,670 је заиста, број четири, која ја реализована чим сам ово. 161 00:07:40,670 --> 00:07:44,260 То можете да урадите сами, ако знате ваш Фацебоок корисничко име ако га имате. 162 00:07:44,260 --> 00:07:45,440 Само укуцајте одозго тамо. 163 00:07:45,440 --> 00:07:46,640 И ништа од тога није приватна. 164 00:07:46,640 --> 00:07:48,670 Ја само радим ово још у режиму без архивирања. 165 00:07:48,670 --> 00:07:49,900 Дакле, ја не ни пријављени. 166 00:07:49,900 --> 00:07:54,440 И ви видите да ја очигледно је корисник број 6.454 167 00:07:54,440 --> 00:07:56,480 на Фацебоок-у, што није Штета ових дана. 168 00:07:56,480 --> 00:07:59,900 Значи у сваком случају, такође ћете видети Додатне информације тамо. 169 00:07:59,900 --> 00:08:02,150 >> А корисна аспект на то је да 170 00:08:02,150 --> 00:08:06,890 да напише своје софтвера који некако интегрише податке овако 171 00:08:06,890 --> 00:08:08,170 у својој апликацији. 172 00:08:08,170 --> 00:08:10,650 Можете оснажити кориснике на пријавите се на сајту, 173 00:08:10,650 --> 00:08:14,190 Не користи свој прилагођени корисничко име и Пассворд али можда њихова Фацебоок логин 174 00:08:14,190 --> 00:08:16,170 и добити информације и о њиховим пријатељима, 175 00:08:16,170 --> 00:08:18,740 ако одобри такав, или слично. 176 00:08:18,740 --> 00:08:21,430 Дакле, обратите пажњу да је ЦС50, такође, има неке од својих АПИ, 177 00:08:21,430 --> 00:08:24,620 једна за податке курса каталога, неки за загрљаја меније у трпезарији 178 00:08:24,620 --> 00:08:26,730 хале, сви зграде и локације 179 00:08:26,730 --> 00:08:30,930 на кампусу имамо АПИ за и које можете да на сличан упит и добити 180 00:08:30,930 --> 00:08:35,520 назад текстуални подаци који можете интегрисати у ПХП, или ЈаваСцрипт, или чак, 181 00:08:35,520 --> 00:08:38,320 мада ређе, Ц базирана коначни пројекат. 182 00:08:38,320 --> 00:08:41,190 >> Заиста напред за финале Пројекат су неколико прекретнице. 183 00:08:41,190 --> 00:08:42,980 Имаш емаил од нас неки дан. 184 00:08:42,980 --> 00:08:45,761 Схватају да је предлог Ово је последица долази у понедељак. 185 00:08:45,761 --> 00:08:49,010 Није нужно обавезујућа, али ти морате да примате наставне момци 186 00:08:49,010 --> 00:08:51,260 одобрење пре него што Било које промене након тога. 187 00:08:51,260 --> 00:08:54,280 А онда су напред број других прекретница. 188 00:08:54,280 --> 00:08:56,542 >> Тако да вас задиркује, такође, са неким могућностима, 189 00:08:56,542 --> 00:08:58,250 имамо гомилу ови Хуе сијалице. 190 00:08:58,250 --> 00:09:01,190 А неки од вас сада мало од њих у својој студентској соби као добро. 191 00:09:01,190 --> 00:09:02,920 И они имају АПИ. 192 00:09:02,920 --> 00:09:07,300 Дакле, сећате тих бинарних сијалице недеље Пре који дан Брадлеи и Ансел 193 00:09:07,300 --> 00:09:08,780 Дуфф створена за нас. 194 00:09:08,780 --> 00:09:12,560 Они су користили софтверски интерфејс за Ова сијалица, које у овом тренутку 195 00:09:12,560 --> 00:09:15,232 прикључен на струју а затим преко вирелесс 196 00:09:15,232 --> 00:09:17,690 је повезан малу ствар зове мост овде, 197 00:09:17,690 --> 00:09:21,280 као мало рутер власништву овом конкретном уређају. 198 00:09:21,280 --> 00:09:26,540 >> Али испоставило се да знам како да сенд ХТТП поруке, као што сви сада, 199 00:09:26,540 --> 00:09:31,670 Ја могу послати поруку да се овако Ова сијалица да га укључите или искључите 200 00:09:31,670 --> 00:09:34,000 или да било који број остале операције на њему. 201 00:09:34,000 --> 00:09:36,110 Обратите пажњу да се то не да, није пост. 202 00:09:36,110 --> 00:09:37,760 Постоји још једна зове пут. 203 00:09:37,760 --> 00:09:39,630 Заправо Постоји неколико других таквих глаголи. 204 00:09:39,630 --> 00:09:42,920 Али приметити тамо нема стаза, сласх АПИ, сласх Нев Девелопер, 205 00:09:42,920 --> 00:09:44,990 сласх светло, сласх један, сласх државу. 206 00:09:44,990 --> 00:09:49,060 >> То је очигледно само пут да је компанија, Пхилипс, 207 00:09:49,060 --> 00:09:51,640 Одлучили сте да удари са ХТТП захтев 208 00:09:51,640 --> 00:09:55,010 Ако желите да промените државу сијалице помоћу ХТТП 1.1. 209 00:09:55,010 --> 00:09:56,380 Затим приметио празну линију. 210 00:09:56,380 --> 00:10:00,170 И онда на крају како изгледа врста низ неке врсте, 211 00:10:00,170 --> 00:10:04,730 ово опет ће да се зове ЈаваСцрипт Објецт Нотатион, или Џејсон. 212 00:10:04,730 --> 00:10:08,000 И оно што видите овде је то постоје три кључна вредност паровима. 213 00:10:08,000 --> 00:10:09,115 >> Један од кључних је позвао. 214 00:10:09,115 --> 00:10:10,990 И његова вредност очигледно ће бити истина. 215 00:10:10,990 --> 00:10:13,612 Осветљење је 128, који је нека врста инт. 216 00:10:13,612 --> 00:10:15,820 И онда време транзиција нула, што је очигледно 217 00:10:15,820 --> 00:10:17,970 Колико дуго ће то потребно да укључите ову ствар. 218 00:10:17,970 --> 00:10:19,890 >> Дакле, сада ово сијалица је искључен. 219 00:10:19,890 --> 00:10:22,880 Али, ако сам тачно урадим ово-- лет ја идем у мало Цхеат Схеет 220 00:10:22,880 --> 00:10:25,200 Дан који је постављена у адванце-- и идем 221 00:10:25,200 --> 00:10:27,920 да иде напред и копирање следећу команду. 222 00:10:27,920 --> 00:10:30,200 Цурл, као што неки од вас можда скупљене на ЦС50 223 00:10:30,200 --> 00:10:35,080 Дискутовати је алатка као Телнет таквог да можете симулирати ХТТП захтеве, 224 00:10:35,080 --> 00:10:36,360 конкретно ставља. 225 00:10:36,360 --> 00:10:39,710 Ја могу послати ове податке, конкретно што смо управо 226 00:10:39,710 --> 00:10:43,430 Видео сам малопре специфично на овај УРЛ овде. 227 00:10:43,430 --> 00:10:46,310 А онда Цурл ће за руковање сви неопходни заглавља 228 00:10:46,310 --> 00:10:47,600 и тамо на парсинг. 229 00:10:47,600 --> 00:10:54,700 >> Дакле, све што треба да урадите је да копирате ово у прозор терминала, а затим притисните Ентер. 230 00:10:54,700 --> 00:10:56,000 И сијалица наставља. 231 00:10:56,000 --> 00:10:59,060 И то је све пролази кроз Ми Цомпутер бежично 232 00:10:59,060 --> 00:11:01,960 некако до моста, који се затим говори на ову сијалицу. 233 00:11:01,960 --> 00:11:02,960 Могу да урадим нешто друго. 234 00:11:02,960 --> 00:11:07,050 Ја могу да ову ствар иди црвено, на пример. 235 00:11:07,050 --> 00:11:11,040 Могу, на пример направити ово зелено. 236 00:11:11,040 --> 00:11:12,220 Могу да га ићи плаво. 237 00:11:12,220 --> 00:11:14,760 >> И приметити у сваки од њих инстанцама, све да мењам 238 00:11:14,760 --> 00:11:18,540 је тзв Хуе вриједност заправо му дати мало боје. 239 00:11:18,540 --> 00:11:20,320 Дакле, дозволите ми да налепите у ову, као и. 240 00:11:20,320 --> 00:11:21,000 Сада је плаво. 241 00:11:21,000 --> 00:11:24,672 >> И можете да урадите чак и одгајивача ствари где-- идемо у зелено. 242 00:11:24,672 --> 00:11:26,630 И ја могу да урадим за Наравно са мојим кодом. 243 00:11:26,630 --> 00:11:30,670 Али, чак и сама АПИ подржава фанки операције 244 00:11:30,670 --> 00:11:35,510 овако, који ће сада сметати САД за наредних 30 секунди. 245 00:11:35,510 --> 00:11:39,170 >> Дакле, то је један укус онога што би могао урадите са АПИ, ово укључује 246 00:11:39,170 --> 00:11:40,010 сијалице. 247 00:11:40,010 --> 00:11:42,510 Имајте на уму да ЦС50 има пар парови Гоогле Гласс ако желиш 248 00:11:42,510 --> 00:11:45,380 воле да се позабаве нешто заједно те линије, Ардуино Унос, који 249 00:11:45,380 --> 00:11:48,670 су ситним рачунари, у суштини, на малом плочи 250 00:11:48,670 --> 00:11:50,470 које можете да се повежете жице и друге ствари 251 00:11:50,470 --> 00:11:52,732 да и заправо контрола Ваш стварни свет окружење. 252 00:11:52,732 --> 00:11:54,940 А онда постоји пар о новим играчкама које имамо. 253 00:11:54,940 --> 00:11:59,294 Ово буквално стигао Други дан поштом, Мио браслет. 254 00:11:59,294 --> 00:12:01,710 А ја сам мислио да је то начин да се да те узбуђен због пројектима 255 00:12:01,710 --> 00:12:03,720 да би сте користили са Овај хардвер би 256 00:12:03,720 --> 00:12:08,900 да се игра овај кратак снимак да користе да задиркује народе 257 00:12:08,900 --> 00:12:10,500 да ми сада живимо у будућности. 258 00:12:10,500 --> 00:12:13,494 259 00:12:13,494 --> 00:12:15,490 >> [Мусиц плаиинг] 260 00:12:15,490 --> 00:13:33,410 261 00:13:33,410 --> 00:13:37,109 >> ДАВИД Малан: Дакле, у само неколико недеља, ти такође може бити да кул на сајму ЦС50. 262 00:13:37,109 --> 00:13:39,150 Други уређај који смо имају гомилу да смо 263 00:13:39,150 --> 00:13:42,090 драго да позајми за пројекте се зове Мотион Цонтроллер. 264 00:13:42,090 --> 00:13:45,030 Ово је мало УСБ уређај се повежете са рачунаром који 265 00:13:45,030 --> 00:13:47,520 омогућава интеракцију са лаптоп, Мац или ПЦ, 266 00:13:47,520 --> 00:13:51,570 као да си имао као Ксбок Кинецт и заправо чине физичке покрете много 267 00:13:51,570 --> 00:13:54,509 Као што видимо у овоме визија будућности. 268 00:13:54,509 --> 00:13:56,505 >> [Мусиц плаиинг] 269 00:13:56,505 --> 00:15:03,380 270 00:15:03,380 --> 00:15:06,260 >> ДАВИД Малан: Дакле, чак и ако имате нема појма колико тако нешто 271 00:15:06,260 --> 00:15:10,050 евентуално се измисли или дело на хардверском нивоу, без обзира. 272 00:15:10,050 --> 00:15:13,520 Чак и након само неколико месеци ЦС50, и разумевање програмирања 273 00:15:13,520 --> 00:15:19,460 генерално, и веб програмирање више Недавно, а затим и АПИ, и ХТТП, 274 00:15:19,460 --> 00:15:21,830 имаћете приступ преко софтвер АПИ ако вас 275 00:15:21,830 --> 00:15:24,680 Не желим да позајмим једну од ових уређаји да стварно разговарам са њим 276 00:15:24,680 --> 00:15:27,180 и да не морају да брину о основни имплементација 277 00:15:27,180 --> 00:15:30,220 детаљи, који је потпуно у складу са овим појмом слојевима 278 00:15:30,220 --> 00:15:33,610 апстракција које смо види током семестра. 279 00:15:33,610 --> 00:15:37,990 >> Тако и током викенда, видио пар вијести. 280 00:15:37,990 --> 00:15:40,640 Иди прво, идите на семинарима, ако вам би желели да сазнају нешто 281 00:15:40,640 --> 00:15:42,160 више о било ком броју тема. 282 00:15:42,160 --> 00:15:43,340 Види УРЛ тамо. 283 00:15:43,340 --> 00:15:45,890 А овај је послата ми од Цханг, који знате, 284 00:15:45,890 --> 00:15:47,850 ко је штампање нашу војску слонова. 285 00:15:47,850 --> 00:15:49,910 И то је наслов гласи. 286 00:15:49,910 --> 00:15:51,280 Ја сам престрављен моје нове ТВ. 287 00:15:51,280 --> 00:15:54,301 Зашто сам уплашен од овога ствар на А ти би бити. 288 00:15:54,301 --> 00:15:56,050 Дакле, сада смо у указују у семестру, 289 00:15:56,050 --> 00:15:58,860 такође, где чак и ако имате најмања разумевања 290 00:15:58,860 --> 00:16:02,620 како интернет функционише, и ХТТП, и безбедности, овакве ствари 291 00:16:02,620 --> 00:16:03,980 би требало да почне да ухвати своју пажњу. 292 00:16:03,980 --> 00:16:07,450 Али такође, да ћете разумети да ли су те ствари или не 293 00:16:07,450 --> 00:16:08,430 стварним претњама. 294 00:16:08,430 --> 00:16:10,940 >> Па сам узео пар одломке из овог чланка. 295 00:16:10,940 --> 00:16:12,540 А прича је следећа. 296 00:16:12,540 --> 00:16:14,300 Сада сам власник нови Смарт ТВ, који 297 00:16:14,300 --> 00:16:18,470 обећава стреаминг мултимедијални садржај, игрице, Апп, 298 00:16:18,470 --> 00:16:21,450 друштвени медији, и интернет прегледање, ох и ТВ сувише. 299 00:16:21,450 --> 00:16:24,410 Једини проблем је што сам сада плаше да га користе, каже аутор. 300 00:16:24,410 --> 00:16:29,592 Ти би, такође, ако се прочитате 46 страна Приваци Полици за ваш телевизор. 301 00:16:29,592 --> 00:16:31,800 Количина података ових Ствар прикупља је запањујућа. 302 00:16:31,800 --> 00:16:35,710 Она резање где, када, како, и колико дуго користите телевизор. 303 00:16:35,710 --> 00:16:38,190 Поставља трацкинг цоокиес, Као што смо разговарали, 304 00:16:38,190 --> 00:16:40,560 и ознаке дизајнирани да детектује када имате 305 00:16:40,560 --> 00:16:43,185 виевед посебно садржај или посебно е-порука 306 00:16:43,185 --> 00:16:45,230 ако желите да проверите е-поште на свом телевизору. 307 00:16:45,230 --> 00:16:48,430 Снима апликације које користе, веб сајтова које посећујете, 308 00:16:48,430 --> 00:16:52,280 и како сте у интеракцији са садржајем, чинећи све то путем вашег Смарт ТВ. 309 00:16:52,280 --> 00:16:55,470 Такође, језивије иет-- то је мој аддитион-- 310 00:16:55,470 --> 00:16:58,140 има уграђену камеру са препознавањем лица. 311 00:16:58,140 --> 00:17:01,010 >> Циљ је да обезбеди гест контрола за ТВ 312 00:17:01,010 --> 00:17:05,490 и омогућавају вам да се пријавите на персонализована налог помоћу своје лице. 313 00:17:05,490 --> 00:17:08,940 С позитивне стране, слике су сачуване на телевизору, уместо уплоадед 314 00:17:08,940 --> 00:17:09,940 на корпоративном серверу. 315 00:17:09,940 --> 00:17:12,520 Са друге стране, Интернет прикључак чини цео ТВ 316 00:17:12,520 --> 00:17:14,811 рањиви на хакере који су показали способност 317 00:17:14,811 --> 00:17:16,700 да преузме потпуну контролу над машином. 318 00:17:16,700 --> 00:17:20,880 >> Више забрињава, као да то није било довољно паметан, је микрофон. 319 00:17:20,880 --> 00:17:23,599 ТВ похвалити глас функцију препознавања 320 00:17:23,599 --> 00:17:26,859 који омогућава гледаоцима да контролишу екран са гласовним командама. 321 00:17:26,859 --> 00:17:30,290 Али служба долази са прилично злокобна упозорење. 322 00:17:30,290 --> 00:17:33,030 Имајте на уму да, ако ваше изговорене речи инцлуде 323 00:17:33,030 --> 00:17:36,210 личне или друге осетљиве информације, те информације 324 00:17:36,210 --> 00:17:40,310 ће бити међу подацима заробљених и преноси на треће лице. 325 00:17:40,310 --> 00:17:40,870 Гот то? 326 00:17:40,870 --> 00:17:45,860 Немојте рећи лично или осетљива ствари испред телевизора. 327 00:17:45,860 --> 00:17:47,280 >> Дакле, ово је заправо стварно. 328 00:17:47,280 --> 00:17:50,530 И то је тешко да се не види да ли идите на Бест Буи или слично за телевизоре 329 00:17:50,530 --> 00:17:51,030 ових дана. 330 00:17:51,030 --> 00:17:52,540 Они су сви паметни на неки начин. 331 00:17:52,540 --> 00:17:54,740 И они добити паметнији и језивије. 332 00:17:54,740 --> 00:17:57,490 И они једноставно прикупљање података на начине који смо говорили 333 00:17:57,490 --> 00:18:01,840 а затим га уплоад путем ХТТП или неки други протокол за неки сервер. 334 00:18:01,840 --> 00:18:05,720 >> Дакле, ово је на забаван чланка у овој онлајн сајту 335 00:18:05,720 --> 00:18:08,940 Овде, која је говорила о Посебно буг или погрешно кода 336 00:18:08,940 --> 00:18:11,340 да ми заправо можемо везати у прошлонедељном разговору. 337 00:18:11,340 --> 00:18:15,730 Дакле, то је као наслов прати, прича иде овде, 338 00:18:15,730 --> 00:18:18,720 Јосх Брецкман радио за Компанија која слетео уговор 339 00:18:18,720 --> 00:18:22,390 развити управљање садржајем Систем, или ЦМС јер они звали, 340 00:18:22,390 --> 00:18:24,380 за прилично велике владе сајту. 341 00:18:24,380 --> 00:18:27,300 Већи део пројекта укључени развој система за управљање садржајем 342 00:18:27,300 --> 00:18:29,840 како би запослени био способни да изграде и одржавају 343 00:18:29,840 --> 00:18:31,877 икада мења Садржај за њиховом сајту. 344 00:18:31,877 --> 00:18:34,210 Ствари је прилично добро неколико дана после одласка уживо. 345 00:18:34,210 --> 00:18:37,020 Али шестог дана, ствари нису тако добро је. 346 00:18:37,020 --> 00:18:39,500 Сав садржај на Вебсите је потпуно нестао. 347 00:18:39,500 --> 00:18:42,950 А све странице довела до подразумевано, унесите садржаја веб странице. 348 00:18:42,950 --> 00:18:43,810 Упс. 349 00:18:43,810 --> 00:18:46,080 Јосх је позван да истраже и приметио 350 00:18:46,080 --> 00:18:49,390 да је један посебно проблематично Ектернал ИП адреса је имао 351 00:18:49,390 --> 00:18:53,380 отишао у и избрисане све садржаја на систему. 352 00:18:53,380 --> 00:18:56,290 >> ИП адреса не припада у некој иностранству хацкер бент 353 00:18:56,290 --> 00:18:58,340 да униште помоћи Владине информације. 354 00:18:58,340 --> 00:19:05,190 Он је одлучио да гооглебот.цом, Гоогле-ов сопствени веб пузећи паук. 355 00:19:05,190 --> 00:19:06,010 Упс. 356 00:19:06,010 --> 00:19:09,150 После мало истраживања и кодирање около да пронађе нонцоррупт бацкуп, 357 00:19:09,150 --> 00:19:10,180 Јосх се проблем. 358 00:19:10,180 --> 00:19:12,700 >> Корисник је копиран и налепљен неки садржај из једног 359 00:19:12,700 --> 00:19:15,670 стране на другу, укључујући Измени Хиперлинк 360 00:19:15,670 --> 00:19:17,577 да измените садржај на страници. 361 00:19:17,577 --> 00:19:20,160 Обично то не би било Питање од спољашњег корисника би 362 00:19:20,160 --> 00:19:24,320 треба да унесете име и лозинку, али систем Аутхентицатион ЦМС, 363 00:19:24,320 --> 00:19:27,520 Пријава систем, нису узети у обзир 364 00:19:27,520 --> 00:19:30,980 софистицирани хацкинг технике Гоогле Спидер. 365 00:19:30,980 --> 00:19:31,700 Упс. 366 00:19:31,700 --> 00:19:33,610 >> Како се испоставило, Гоогле Спидер не користи 367 00:19:33,610 --> 00:19:36,950 колачиће, што значи да се може лако заобићи чек за 368 00:19:36,950 --> 00:19:39,840 пријављен на цоокие сету да је лажна. 369 00:19:39,840 --> 00:19:42,620 Он такође не обраћају пажњу на ЈаваСцрипт, који би нормално 370 00:19:42,620 --> 00:19:45,170 навести и преусмерава кориснике који нису пријављени. 371 00:19:45,170 --> 00:19:48,610 Ипак не прати сваки хипервеза на свакој страни пронађе, 372 00:19:48,610 --> 00:19:51,700 укључујући и оне са Делете Паге у наслову. 373 00:19:51,700 --> 00:19:52,650 Упс. 374 00:19:52,650 --> 00:19:56,070 >> Дакле, шта то значи за више Технички али прилично приступачни услове? 375 00:19:56,070 --> 00:19:58,340 То само значи да кроз њиховом сајту, 376 00:19:58,340 --> 00:20:02,287 они нису имали УРЛ разлику овога да можда ћете видети у проблем сет седам. 377 00:20:02,287 --> 00:20:04,620 Подсетимо у проблему сет седам или знају у проблему сет седам 378 00:20:04,620 --> 00:20:06,411 да сте оспорили, између осталог, 379 00:20:06,411 --> 00:20:08,570 да продају акције у име корисника. 380 00:20:08,570 --> 00:20:14,010 Али спровођење тог функцију начин од добити путем хипервезе у вашем корисника 381 00:20:14,010 --> 00:20:16,880 интерфејс, вероватно Није најпаметнија идеја 382 00:20:16,880 --> 00:20:20,300 јер ако ваш сајт је некако доступни било од човека 383 00:20:20,300 --> 00:20:23,577 ко клика око или купити Бот попут Гоогле-а или Паук 384 00:20:23,577 --> 00:20:26,160 јер они звали, то је само пузање веб покушава да индексу 385 00:20:26,160 --> 00:20:29,060 веб као претраживач, су могли врло лако 386 00:20:29,060 --> 00:20:31,340 хит преко овакву врсту УРЛ. 387 00:20:31,340 --> 00:20:33,770 И то је функционално еквивалентно, у овом случају, 388 00:20:33,770 --> 00:20:37,000 продају све акције Гоогле. 389 00:20:37,000 --> 00:20:40,030 >> Сада искрено, потпуно је да глупост ЦМС 390 00:20:40,030 --> 00:20:43,240 Половни ЈаваСцрипт и колачићи да спроведе свој систем пријављивања 391 00:20:43,240 --> 00:20:47,100 а не ради тај страни сервера, као ви радите и да ће у ПСет 7-- 392 00:20:47,100 --> 00:20:49,940 постоји логин.пхп филе-- увек, увек, 393 00:20:49,940 --> 00:20:52,789 Увек безбедност би требало да буде ради на страни сервера, 394 00:20:52,789 --> 00:20:56,080 не на страни клијента, јер, јер Члан предлаже и можете се 395 00:20:56,080 --> 00:20:59,600 види у неком тренутку, то је тривијална за корисника, добро или лоше, 396 00:20:59,600 --> 00:21:02,860 само да искључите ЈаваСцрипт да не помињемо колачиће. 397 00:21:02,860 --> 00:21:06,020 Дакле, то је ваш дневни ВТФ. 398 00:21:06,020 --> 00:21:07,970 >> Постоји још један, који је некако страшно, 399 00:21:07,970 --> 00:21:11,360 па ћу га споменути, ако само као живот лекција. 400 00:21:11,360 --> 00:21:14,850 Кад год користите неку апликацију зове као Снапцхат или слично 401 00:21:14,850 --> 00:21:19,380 која каже ове фотографије трају само пет секунди, десет секунди, или шта све не. 402 00:21:19,380 --> 00:21:21,680 Они су ефемерна То је апсолутно није случај. 403 00:21:21,680 --> 00:21:25,670 Као да не постоји начин, дигитално, да примените неку врсту видео, 404 00:21:25,670 --> 00:21:30,150 или слика, или текстуални дељење тако да прималац на другом крају 405 00:21:30,150 --> 00:21:31,660 Не могу некако спасити податке. 406 00:21:31,660 --> 00:21:34,300 >> На већини наивном начин, неко могао да свој телефон. 407 00:21:34,300 --> 00:21:36,850 И они имају другу прозор 10 док гледа у неком снап 408 00:21:36,850 --> 00:21:39,410 само да узме неки други телефон и фотографисали га, очигледно. 409 00:21:39,410 --> 00:21:41,660 Тако да можете да сачувате нешто дигитално тај начин. 410 00:21:41,660 --> 00:21:44,620 Неки од вас знају како да Сцреенсхотс на вашем телефону. 411 00:21:44,620 --> 00:21:49,290 У ствари, ако не знате, схвате да бар Снапцхат, 412 00:21:49,290 --> 00:21:51,040 и мислим да друге апликације ових дана, 413 00:21:51,040 --> 00:21:53,720 бар ти, ако кажем прималац има ствари 414 00:21:53,720 --> 00:21:55,310 узети сцреенсхот ваше слике. 415 00:21:55,310 --> 00:22:00,870 >> Али још горе, ово је снаппенинг, како је неко смислио недавно, 416 00:22:00,870 --> 00:22:04,680 где су неки 100,000 снимци су пуштени 417 00:22:04,680 --> 00:22:09,310 у оно што се зове торрент филе на разним сајтовима на крају. 418 00:22:09,310 --> 00:22:12,000 А ово је садржао гомилу приватних порука и порука. 419 00:22:12,000 --> 00:22:15,210 Испоставило се да већина њих бенигни, па не оно што би се могло очекивати. 420 00:22:15,210 --> 00:22:17,580 Али зато што су људи имали користи треће сајт парти, 421 00:22:17,580 --> 00:22:20,270 улогујете са својим Снапцхат корисничко име и лозинку, а затим 422 00:22:20,270 --> 00:22:23,470 уштеда све њихове снапс на овом сајту треће странке. 423 00:22:23,470 --> 00:22:26,130 И то је то треће лице сајт који је хакован, 424 00:22:26,130 --> 00:22:30,710 које сам мислила неко схватио како да добију све 100.000 плус тих слика 425 00:22:30,710 --> 00:22:33,822 у сопствену хард диску за каснију дељење. 426 00:22:33,822 --> 00:22:36,030 Искрено, овде, некако је да на глупост Снапцхат 427 00:22:36,030 --> 00:22:39,360 је имплементиран у такав начин да Треће лице може разврстати на пресретнутог разговора 428 00:22:39,360 --> 00:22:43,310 подаци и да то није везано за ваш сопствена апликација на телефону. 429 00:22:43,310 --> 00:22:46,947 Али овде, такође, схватају да су ствари не би требало да вас ухвати изненадило, 430 00:22:46,947 --> 00:22:49,030 или барем не би требало да живот лекција овде. 431 00:22:49,030 --> 00:22:52,220 Ако желите техничка детаљи, идите на тај УРЛ тамо 432 00:22:52,220 --> 00:22:53,570 то је у данашњим слајдова. 433 00:22:53,570 --> 00:23:00,960 У реду, било каква питања о данас Лифе лессонс ин ЦС? 434 00:23:00,960 --> 00:23:02,710 Угаси то. 435 00:23:02,710 --> 00:23:04,970 Било шта? 436 00:23:04,970 --> 00:23:06,301 Било шта? 437 00:23:06,301 --> 00:23:09,050 Имам много људи проверу њихов Снапцхат или нешто сада. 438 00:23:09,050 --> 00:23:11,690 >> У реду, тако СКЛ, Струцтуред Куери Лангуаге. 439 00:23:11,690 --> 00:23:12,509 Идемо завршити ово. 440 00:23:12,509 --> 00:23:14,300 Такође, иако ми смо се само гребање 441 00:23:14,300 --> 00:23:16,310 површина овог језика, ми ћемо вам дати 442 00:23:16,310 --> 00:23:18,930 Довољно језика у облику ПСет 7 443 00:23:18,930 --> 00:23:22,140 тако да можете прекршају мало прилично уобичајено функционалност. 444 00:23:22,140 --> 00:23:24,912 Али схватите постоје пар ствари које не захтевају од вас, 445 00:23:24,912 --> 00:23:27,120 али они ће бити важно цоме завршне пројекте 446 00:23:27,120 --> 00:23:30,760 и сигурно доћи израду стварне сајтови са стварних корисника 447 00:23:30,760 --> 00:23:32,040 је овај дизајн одлука. 448 00:23:32,040 --> 00:23:34,460 >> Испоставило се да је у МиСКЛ база података, можете 449 00:23:34,460 --> 00:23:37,460 имају гомилу избора, као што су врсте података за ваше колоне 450 00:23:37,460 --> 00:23:41,670 и друге ствари, али имате и избор такозваног складиштење 451 00:23:41,670 --> 00:23:44,570 мотор за све ваше податке, врста система датотека, 452 00:23:44,570 --> 00:23:46,700 да ли сте упознати, за све ваше податке. 453 00:23:46,700 --> 00:23:48,830 Шта је то на крају формату чува у? 454 00:23:48,830 --> 00:23:53,300 А најчешћи, можда, био је МиИСАМ и ИнноДБ, технички услови 455 00:23:53,300 --> 00:23:56,060 да ћемо стало само у мери у којој се има 456 00:23:56,060 --> 00:23:58,500 и један нема Следећа карактеристика. 457 00:23:58,500 --> 00:24:00,390 >> Претпоставимо да имате Мало спаваоница фрижидер. 458 00:24:00,390 --> 00:24:03,030 И претпоставимо да сте ви и ваш цимер, који деле овај фрижидер, 459 00:24:03,030 --> 00:24:04,682 заиста воле рецимо млека. 460 00:24:04,682 --> 00:24:07,140 И то је, у ствари, како прича ми је речено Ваи Бацк 461 00:24:07,140 --> 00:24:10,890 у дан кад сам узео курс зове ЦС 161 Оперативни системи, који 462 00:24:10,890 --> 00:24:12,580 Слично истражује ову тему. 463 00:24:12,580 --> 00:24:13,760 Дакле, имаш тај фрижидер. 464 00:24:13,760 --> 00:24:14,630 Ти си ван млека. 465 00:24:14,630 --> 00:24:17,000 А ти дођеш кући, твој цимер је још увек на часу или било шта, 466 00:24:17,000 --> 00:24:19,208 а ви одлучите ја ћу изаћи и мало млека. 467 00:24:19,208 --> 00:24:22,630 Тако да затворите фрижидер, затвор спаваоница, идите преко улице 468 00:24:22,630 --> 00:24:25,330 на ЦВС или где год, и добити у реду да купи млеко. 469 00:24:25,330 --> 00:24:28,960 >> У међувремену, ваш цимер врати из класе, улази у спаваоницу, 470 00:24:28,960 --> 00:24:31,802 отвара фрижидер, такође схвата Оопх, ми смо остали без млека. 471 00:24:31,802 --> 00:24:33,760 Тако да он или она затвара фрижидер и онда се деси 472 00:24:33,760 --> 00:24:35,610 да оду у другу ЦВС, који се дешава да буде 473 00:24:35,610 --> 00:24:38,470 један блок даље од осталих ЦВС на тргу, а добија у реду 474 00:24:38,470 --> 00:24:40,230 тамо да мало млека. 475 00:24:40,230 --> 00:24:42,524 Сада, наравно, неколико минута касније, обоје да се вратим, 476 00:24:42,524 --> 00:24:44,690 а најгоре од свега је могуће Исходи се десило. 477 00:24:44,690 --> 00:24:45,792 Обоје имају млека. 478 00:24:45,792 --> 00:24:47,500 А ти не баш као млеко толико. 479 00:24:47,500 --> 00:24:49,625 Дакле, један од њих је само ће се погоршају у неком тренутку. 480 00:24:49,625 --> 00:24:55,941 Сада имате Превелика млека у фрижидеру све јер зашто? 481 00:24:55,941 --> 00:24:57,072 >> [Неразумљиво] 482 00:24:57,072 --> 00:24:59,780 ДАВИД Малан: Да, ниси некако комуницирају једни са другима 483 00:24:59,780 --> 00:25:00,904 да си добити млеко. 484 00:25:00,904 --> 00:25:04,320 Тако да у најједноставније путеви у људском свету, 485 00:25:04,320 --> 00:25:08,390 Како би сте избегли ово глупо Сценарио догоди таква 486 00:25:08,390 --> 00:25:09,750 да само завршити са једним. 487 00:25:09,750 --> 00:25:10,840 Тект их, да добро. 488 00:25:10,840 --> 00:25:12,877 Али како друго? 489 00:25:12,877 --> 00:25:13,460 Пост-ит нотес. 490 00:25:13,460 --> 00:25:14,626 ДАВИД Малан: Пост-ит нота. 491 00:25:14,626 --> 00:25:17,150 Било какав облик комуникације који говори цимера 492 00:25:17,150 --> 00:25:18,670 не идите у фрижидер за млеко. 493 00:25:18,670 --> 00:25:20,440 Ја идем придржавају сама. 494 00:25:20,440 --> 00:25:22,770 Тако да је потребно некако закључати овај ресурс. 495 00:25:22,770 --> 00:25:27,180 Тако да можемо направити ово-- можемо некако упропастити причу и да се претвори у причу ЦС 496 00:25:27,180 --> 00:25:30,360 при чему мисли о овоме као као променљива, што је складиштење неку вредност. 497 00:25:30,360 --> 00:25:32,570 А сада, вредност млека је нула, 498 00:25:32,570 --> 00:25:35,410 коју не желите да ваше цимер на увид ту променљиву 499 00:25:35,410 --> 00:25:38,730 а затим донети одлуку саму себе на основу стању ту променљиву 500 00:25:38,730 --> 00:25:42,430 Ако сте у процесу промену стања те променљиве. 501 00:25:42,430 --> 00:25:46,140 >> Дакле, једна од линија које смо СКЛ даје се у ПСет 7 спецификацији 502 00:25:46,140 --> 00:25:47,310 је овај овде. 503 00:25:47,310 --> 00:25:49,740 А ми не троше огромна количина времена говори о томе. 504 00:25:49,740 --> 00:25:55,100 Али испоставило се да, ако покушавате да купимо акције у ЦС50 финансија 505 00:25:55,100 --> 00:25:58,000 да већ имате неке акције, тебе 506 00:25:58,000 --> 00:26:01,750 желе да буду у стању да уради број ствари одмах заједно. 507 00:26:01,750 --> 00:26:04,360 Желите да будете у стању да ефективно, на високом нивоу, 508 00:26:04,360 --> 00:26:06,700 цхецк реду, ако желим да купи још акција слободних, 509 00:26:06,700 --> 00:26:08,780 Пенни Стоцк смо говорити о томе у спец, 510 00:26:08,780 --> 00:26:10,660 Желим да прво проверите Колико акција имам. 511 00:26:10,660 --> 00:26:11,810 И претпостављам да је то пет. 512 00:26:11,810 --> 00:26:14,600 И желим да претпоставимо купити 10 више, ја на крају 513 00:26:14,600 --> 00:26:17,069 Желим да имају 15 деоница. 514 00:26:17,069 --> 00:26:18,360 Тако да морам да поставим два питања. 515 00:26:18,360 --> 00:26:20,230 Шта је стање променљиве? 516 00:26:20,230 --> 00:26:21,470 Шта је стање реда? 517 00:26:21,470 --> 00:26:22,970 Колико акција ја тренутно имам? 518 00:26:22,970 --> 00:26:24,636 Онда желим да идем напред и ажурирање. 519 00:26:24,636 --> 00:26:27,720 Дакле, то је аналогна млека у да проверите ред, 520 00:26:27,720 --> 00:26:30,730 а затим желите да га ажурирати јер ако желите да купите 10 акција, 521 00:26:30,730 --> 00:26:32,521 Ви не желите да промените ред до 10, ти 522 00:26:32,521 --> 00:26:35,300 Желим да га промените у 5 плус 10 или, наравно, 15. 523 00:26:35,300 --> 00:26:40,030 >> Ова линија кода омогућава да та два концептуалне идеје 524 00:26:40,030 --> 00:26:42,810 догодити заједно или уопште не. 525 00:26:42,810 --> 00:26:46,920 Нико, укључујући и неке друге корисника који је пријављен на истом сајту, 526 00:26:46,920 --> 00:26:49,900 некако прекинути провера реда 527 00:26:49,900 --> 00:26:52,960 и ажурирање реда, изаберите и ажурирање ако хоћете. 528 00:26:52,960 --> 00:26:57,360 А синтакса није супер очигледно, али ова једна линија, дуга је то је, 529 00:26:57,360 --> 00:27:01,150 осигурава да су те две операције проверите променљиву или проверите ред 530 00:27:01,150 --> 00:27:04,660 и ажурирање ред догоди атомски. 531 00:27:04,660 --> 00:27:06,849 >> Ох ево га опет. 532 00:27:06,849 --> 00:27:07,890 Текст поруке на телефону. 533 00:27:07,890 --> 00:27:09,954 Па хајде да ово мало конкретнији. 534 00:27:09,954 --> 00:27:12,120 Претпоставимо да ниси спровођење фрижидер, 535 00:27:12,120 --> 00:27:16,400 а ви не имплементацију ПСет 7 али стварни банка, 536 00:27:16,400 --> 00:27:20,000 или банкомат, Аутоматед Теллер Машина, те чиме некако 537 00:27:20,000 --> 00:27:22,960 желе да буду у стању да се оснаже корисницима пребацивање новца 538 00:27:22,960 --> 00:27:24,500 са једног рачуна на други. 539 00:27:24,500 --> 00:27:25,100 У реду, држи се. 540 00:27:25,100 --> 00:27:26,683 Ја ћу да искључите ово сада, хвала. 541 00:27:26,683 --> 00:27:30,450 Дакле, желимо да се креће новац из једног броја рачуна 542 00:27:30,450 --> 00:27:33,600 у други рачун број, посебно $ 100. 543 00:27:33,600 --> 00:27:37,690 Дакле, ово је врста произвољан пример, при чему ти, банкомат, 544 00:27:37,690 --> 00:27:41,060 можда желите да извршите два СКЛ упити, одузети од једног рачуна, 545 00:27:41,060 --> 00:27:42,430 и додати други налог. 546 00:27:42,430 --> 00:27:46,766 Али ти желиш да се осигура да су две линије и догодити или не уопште. 547 00:27:46,766 --> 00:27:48,640 Ти не желиш нешто геттинг прекинут. 548 00:27:48,640 --> 00:27:51,440 Ти не неки паметан негативац некако стоји на Банк оф Америца 549 00:27:51,440 --> 00:27:53,270 са два банкомата испред од њега и некако 550 00:27:53,270 --> 00:27:55,270 врста куцања у команди истовремено, 551 00:27:55,270 --> 00:28:01,230 надамо се покушавајући да одбије уместо $ 200 од $ 100 и $ 100 има само одобрава. 552 00:28:01,230 --> 00:28:04,450 Укратко, хоћеш ово понашају управо онако како сте очекивали. 553 00:28:04,450 --> 00:28:06,540 >> А како ти ово СКЛ база података 554 00:28:06,540 --> 00:28:09,350 га умотати у шта је назива трансакција. 555 00:28:09,350 --> 00:28:14,290 Буквално у СКЛ, можете позвати ЦС50 је упит функција са знацима навода старт 556 00:28:14,290 --> 00:28:15,370 трансакција. 557 00:28:15,370 --> 00:28:18,640 Онда можете извршити било који број накнадних СКЛ упита, 558 00:28:18,640 --> 00:28:20,870 али ниједан од њих узети Ефекат на бази података 559 00:28:20,870 --> 00:28:25,880 док зовете упита под знацима навода цоммит, ако опет користе ПХП. 560 00:28:25,880 --> 00:28:29,810 И на овај начин, можете обезбедити да чак и ако имате 1.000 корисника све 561 00:28:29,810 --> 00:28:32,080 удара своју базу података истовремено, СКЛ 562 00:28:32,080 --> 00:28:34,540 ће обећати да они два упити ће бити 563 00:28:34,540 --> 00:28:36,740 реализује један одмах после друге. 564 00:28:36,740 --> 00:28:40,330 Тако да се не завршавају са вишком млеко или погрешан износ, на крају, 565 00:28:40,330 --> 00:28:40,830 новца. 566 00:28:40,830 --> 00:28:43,110 >> Дакле, то на уму, не толико због ПСет 7 567 00:28:43,110 --> 00:28:45,250 али за коначних пројекте Ако сте стварно си 568 00:28:45,250 --> 00:28:49,690 покушавају да се крећу около података преко стола као што можете да овдје. 569 00:28:49,690 --> 00:28:53,980 Али, можда још једноставније и очигледно да разумеју пример 570 00:28:53,980 --> 00:28:54,860 је овај овде. 571 00:28:54,860 --> 00:28:57,760 И неко нас поштом о ово само неки дан 572 00:28:57,760 --> 00:28:59,600 када је видео нешто слично на мрежи. 573 00:28:59,600 --> 00:29:03,480 >> Дакле, по мом сазнању, системског ПИН није рањива на овај напад. 574 00:29:03,480 --> 00:29:06,637 А ја немам појма да ли Он чак користи СКЛ база испод хаубе. 575 00:29:06,637 --> 00:29:08,470 Али хајде да га користите ради дискусије. 576 00:29:08,470 --> 00:29:10,178 Ево екран који Харвард људи склони 577 00:29:10,178 --> 00:29:13,620 виде када се пријавите са својим Харвард матични број и њихов ПИН. 578 00:29:13,620 --> 00:29:19,020 И претпоставимо да су системски ПИН имплементиран у ПХП и са МиСКЛ 579 00:29:19,020 --> 00:29:22,000 база података, код који је неко Пре можда написани година 580 00:29:22,000 --> 00:29:23,270 може изгледати овако. 581 00:29:23,270 --> 00:29:25,230 Прво, прогласи променљива зове име. 582 00:29:25,230 --> 00:29:27,560 И само се то од ПОСТ суперглобалних. 583 00:29:27,560 --> 00:29:30,140 Онда добити другу променљиву позвао лозинком и учинити исто. 584 00:29:30,140 --> 00:29:33,080 А онда само извршавају Овај дуго упит овде, 585 00:29:33,080 --> 00:29:36,690 Изаберите звезда ФРОМ усерс ВХЕРЕ корисничко име једнако такав и такав 586 00:29:36,690 --> 00:29:38,510 и лозинку једнако тако и тако. 587 00:29:38,510 --> 00:29:40,660 >> Обратите пажњу на то коврџава протеза Ја сам се овде користи 588 00:29:40,660 --> 00:29:42,880 Само значи ПХП, идемо напред и замена 589 00:29:42,880 --> 00:29:45,400 вредност тих двоје променљиве управо тамо. 590 00:29:45,400 --> 00:29:50,090 Они нису строго неопходно, али они имају тенденцију да се избегне суптилних синтаксу грешке. 591 00:29:50,090 --> 00:29:53,650 Дакле, ово изгледа потпуно тачно на први поглед. 592 00:29:53,650 --> 00:29:54,240 И то је. 593 00:29:54,240 --> 00:29:56,680 Могао би имплементирати пин систем у овај начин. 594 00:29:56,680 --> 00:30:00,460 >> Али претпоставимо да је супер паметан и злонамерно ученик 595 00:30:00,460 --> 00:30:03,020 улаз ово као свог пин. 596 00:30:03,020 --> 00:30:05,550 Па сам уклонио метак знаци овде у репрезентативном, 597 00:30:05,550 --> 00:30:08,760 и ја сам у ствари открио шта он или она можда куцања. 598 00:30:08,760 --> 00:30:10,350 И то је мало чудно. 599 00:30:10,350 --> 00:30:13,850 Али оно искочи на тебе у потенцијално забрињавајуће о улаз корисника, 600 00:30:13,850 --> 00:30:16,450 чак и ако немате појма шта напад СКЛ ињецтион значи. 601 00:30:16,450 --> 00:30:20,300 Зашто ово изгледа мало сумњиво? 602 00:30:20,300 --> 00:30:21,050 Шта је то? 603 00:30:21,050 --> 00:30:21,550 [Неразумљиво] 604 00:30:21,550 --> 00:30:24,260 ДАВИД Малан: или је мало сумњиво. 605 00:30:24,260 --> 00:30:26,310 У ствари, то је кључна реч из СКЛ. 606 00:30:26,310 --> 00:30:28,105 Тако да не слути на добро. 607 00:30:28,105 --> 00:30:29,980 Чињеница да постоји Сви ови апострофе 608 00:30:29,980 --> 00:30:32,646 тамо-- заправо, један од најлакших начини сломимо неке базе података 609 00:30:32,646 --> 00:30:35,880 је укуцавањем имена попут О'Реилли да има апостроф у њој 610 00:30:35,880 --> 00:30:38,600 јер ако човек који је написао код иза кулиса 611 00:30:38,600 --> 00:30:41,570 не узима у обзир да постоји Можда сингле цитати корисник је 612 00:30:41,570 --> 00:30:45,060 улаз, а он или она користи апострофе у свом коду, 613 00:30:45,060 --> 00:30:46,040 лоше ствари могу десити. 614 00:30:46,040 --> 00:30:47,870 >> У ствари, још горе, сматрам. 615 00:30:47,870 --> 00:30:50,600 Ако је ово опет код да неко на Харварду година 616 00:30:50,600 --> 00:30:53,100 Пре писао за пин Систем, приметио шта је 617 00:30:53,100 --> 00:30:56,220 о да се замењен за корисничко име и лозинку 618 00:30:56,220 --> 00:30:59,780 ако је корисник поново скрооб као своје корисничко име 619 00:30:59,780 --> 00:31:03,960 а онда један, два, три, четири, пет, куоте или под знацима навода један једнако 620 00:31:03,960 --> 00:31:04,660 цитирам једну. 621 00:31:04,660 --> 00:31:07,220 А погледајте шта је кључ Овде је корисник није 622 00:31:07,220 --> 00:31:09,900 почео своју шифру или њихов ПИН са цитатом. 623 00:31:09,900 --> 00:31:12,610 А нису га завршили са цитатом зато што он или она 624 00:31:12,610 --> 00:31:16,315 претпоставља да, ако програмер није био тако оштар, 625 00:31:16,315 --> 00:31:18,690 они ће имати оне апострофе у свом коду. 626 00:31:18,690 --> 00:31:19,860 >> Дакле, ево код. 627 00:31:19,860 --> 00:31:23,820 И то супституција Можда сада десити је. 628 00:31:23,820 --> 00:31:26,350 И ја сам нагласио шта корисник унесе. 629 00:31:26,350 --> 00:31:28,480 Дакле пре, после. 630 00:31:28,480 --> 00:31:33,330 А погледајте шта је благо забрињава сада о десној половини ове СКЛ кода? 631 00:31:33,330 --> 00:31:36,300 То је мало сложенији, додуше, од упита смо видели. 632 00:31:36,300 --> 00:31:38,550 Али то не може да бити добра ствар ако си 633 00:31:38,550 --> 00:31:42,240 рекавши изаберите звезду, која је изаберите све од стола корисника 634 00:31:42,240 --> 00:31:46,630 где корисничко име једнако скрооб и Пассворд једнако један, два, три, четири, 635 00:31:46,630 --> 00:31:49,610 Пет или један једнако један. 636 00:31:49,610 --> 00:31:53,860 Шта је логично импликација тог последњег клаузуле вероватно? 637 00:31:53,860 --> 00:31:55,650 То је само увек истина. 638 00:31:55,650 --> 00:31:59,930 >> И зато што смо некако погодили или схватио методом покушаја и грешке 639 00:31:59,930 --> 00:32:02,760 да програмер који ово написао закон није 640 00:32:02,760 --> 00:32:07,250 предвиди људско или лошу особу куцате у појединачним наводницима и, 641 00:32:07,250 --> 00:32:10,350 можемо синтаксицки заврши СКЛ упит 642 00:32:10,350 --> 00:32:12,260 са нечим бесмисленом већ нешто што 643 00:32:12,260 --> 00:32:15,930 синтаксно нетачна који увек има вредност труе. 644 00:32:15,930 --> 00:32:19,130 Дакле, ако је то број се користи да одговори питање истинито или лажно треба 645 00:32:19,130 --> 00:32:22,930 Овај корисник бити дозвољено да прође, Одговор је увек очигледно иде 646 00:32:22,930 --> 00:32:26,930 да би било истинито, јер то је увек иде да изаберете нешто из базе података 647 00:32:26,930 --> 00:32:29,280 јер је један, наравно, увек једнако један. 648 00:32:29,280 --> 00:32:30,360 >> Дакле, шта је решење? 649 00:32:30,360 --> 00:32:33,290 Па у ПСет 7, заправо избегавајте све ово заједно. 650 00:32:33,290 --> 00:32:37,360 Ми вам дати функцију упита, а ми Саветујемо вам да употребите упитнике 651 00:32:37,360 --> 00:32:40,430 као носиоци, слично у духу принтф је% с, 652 00:32:40,430 --> 00:32:43,710 али оно што је кључно је са упитник Овде је, ако заиста прочитате 653 00:32:43,710 --> 00:32:46,950 фунцтионс.пхп, где наши Функција Куери се спроводи, 654 00:32:46,950 --> 00:32:52,780 ти упитник су побегли, при чему ништа потенцијално опасан 655 00:32:52,780 --> 00:32:58,210 као апостроф укључен у одбеглог апостроф. 656 00:32:58,210 --> 00:33:00,590 >> Дакле, то је оно што је стварно догађа ако вас 657 00:33:00,590 --> 00:33:04,850 користите функцију упита ЦС50 или било који број независних слободних библиотекама да 658 00:33:04,850 --> 00:33:06,000 урадите исто. 659 00:33:06,000 --> 00:33:09,850 Није битно у овом случају, у зеленој, ако корисник унесе апостроф 660 00:33:09,850 --> 00:33:12,070 јер упита Функција коју је написао 661 00:33:12,070 --> 00:33:15,120 ће додати бацксласх пре Свака таква опасна цитат. 662 00:33:15,120 --> 00:33:17,360 Дакле, то није, у Чињеница, ће бити легално. 663 00:33:17,360 --> 00:33:20,910 То је као да куцате у луди лоокинг Пассворд то је, наравно, не иде 664 00:33:20,910 --> 00:33:23,490 бити скрооб стварном лозинку. 665 00:33:23,490 --> 00:33:28,260 >> Дакле, за понети за ЦС50 је један, апсолутно увек користите нешто 666 00:33:28,260 --> 00:33:30,860 као функција упита ЦС50 је или основни библиотеке, 667 00:33:30,860 --> 00:33:32,560 који се дешава да се зове ЗОП. 668 00:33:32,560 --> 00:33:35,880 Али никада, никада, никада не код овако 669 00:33:35,880 --> 00:33:39,472 без бекства или рибање како кажу твоји улаза. 670 00:33:39,472 --> 00:33:42,430 И хоћеш у неком тренутку вероватно наићи неки сајту овако. 671 00:33:42,430 --> 00:33:46,060 У ствари, чини се да је случај као на аеродромима и хотелима у местима 672 00:33:46,060 --> 00:33:48,880 где имају фрее Ви-Фи Приступ да морате да се пријавите на, 673 00:33:48,880 --> 00:33:51,010 ови сајтови су увек ужасно имплементиран. 674 00:33:51,010 --> 00:33:55,680 Па нека врста забаве код куће вежбе, Не у злонамерне сврхе или више 675 00:33:55,680 --> 00:33:59,170 од забаве на путу вежба, да само укуцајте 676 00:33:59,170 --> 00:34:02,850 Апостропхе, апостроф, у форму на неком сајту 677 00:34:02,850 --> 00:34:03,810 и види шта се дешава. 678 00:34:03,810 --> 00:34:06,660 А ако је сервер сруши или даје ви нека врста поруке о грешци, 679 00:34:06,660 --> 00:34:09,690 може врло добро бити да неко није предвидео ово. 680 00:34:09,690 --> 00:34:15,239 А онда би требало да упозори Пропер власти и наставите даље. 681 00:34:15,239 --> 00:34:20,843 >> Па сад ви треба надам се схватити мало више геек хумор. 682 00:34:20,843 --> 00:34:24,120 >> [Лаугхтер] 683 00:34:24,120 --> 00:34:27,571 684 00:34:27,571 --> 00:34:29,070 ДАВИД Малан: Знаш да си кретен. 685 00:34:29,070 --> 00:34:30,944 За наредних неколико година, ви ћете се сетити 686 00:34:30,944 --> 00:34:33,520 који Литтле Бобби табелама због ове карикатуре овде. 687 00:34:33,520 --> 00:34:36,760 Тако то на уму, као што контекст прекидач последњи пут 688 00:34:36,760 --> 00:34:38,770 данас ЈаваСцрипт. 689 00:34:38,770 --> 00:34:41,600 Провели смо релативно мало Време на синтакси ПХП 690 00:34:41,600 --> 00:34:43,440 јер то је заправо Супер слично Ц. 691 00:34:43,440 --> 00:34:47,300 И лепо довољно, такође ЈаваСцрипт је супер сличан синтакси Ц с 692 00:34:47,300 --> 00:34:49,639 као што ћемо видети у Само тренутак, а као што ћемо 693 00:34:49,639 --> 00:34:51,205 види касније ове недеље у посебно. 694 00:34:51,205 --> 00:34:54,080 Шта можете да урадите са овом језику, мада је све моћнији, 695 00:34:54,080 --> 00:34:55,790 посебно са АПИ. 696 00:34:55,790 --> 00:34:56,960 >> Али прво Куицк Тоур. 697 00:34:56,960 --> 00:35:00,450 Дакле један, у ЈаваСцрипт, ту је Но главна функција, што је лепо. 698 00:35:00,450 --> 00:35:02,650 Као и код ПХП, можете само писати код. 699 00:35:02,650 --> 00:35:04,310 Услови изгледају овако. 700 00:35:04,310 --> 00:35:07,100 Боолеан изрази мигхт изгледају овако или овако. 701 00:35:07,100 --> 00:35:09,530 Прекидачи постоје, а они може изгледати овако. 702 00:35:09,530 --> 00:35:10,970 Четири Лоопс изгледају овако. 703 00:35:10,970 --> 00:35:12,390 Док Лоопс изгледају овако. 704 00:35:12,390 --> 00:35:14,160 Дали Докле изгледају овако. 705 00:35:14,160 --> 00:35:16,850 И онда низови изгледати ово, врло слична ПХП. 706 00:35:16,850 --> 00:35:20,740 Али приметили, да у ЈаваСцрипт иоу прогласи променљиву не са долар 707 00:35:20,740 --> 00:35:25,190 потпише, не са типом података, али буквално рекавши вар за променљиву пред њим. 708 00:35:25,190 --> 00:35:27,900 Он је такође лабаво откуцан ин да има врста, 709 00:35:27,900 --> 00:35:29,729 али не изричито их прогласи. 710 00:35:29,729 --> 00:35:31,520 И онда низа, пример, може изгледати 711 00:35:31,520 --> 00:35:34,350 овако, то стринг зову а у овом случају. 712 00:35:34,350 --> 00:35:35,410 И онда објекат. 713 00:35:35,410 --> 00:35:37,010 А ово ћемо видети још пре дуго. 714 00:35:37,010 --> 00:35:41,470 А објекат је можда један од најчешће види структуре података 715 00:35:41,470 --> 00:35:44,050 у ЈаваСцрипт заснива програм, јер омогућава 716 00:35:44,050 --> 00:35:46,680 да повежете произвољно Кључни вредност паровима само 717 00:35:46,680 --> 00:35:51,240 Као ПХП асоцијативне низове и баш као твоје хасх табели 718 00:35:51,240 --> 00:35:54,042 или покушајте што смо реализовали Пре неколико недеља. 719 00:35:54,042 --> 00:35:56,250 Па хајде да видимо шта стварно можемо да урадимо са ЈаваСцрипт. 720 00:35:56,250 --> 00:35:59,410 Конкретно, ово је листе за функција 721 00:35:59,410 --> 00:36:02,300 да прегледачи имају тај омогућавају нам да кука ЈаваСцрипт 722 00:36:02,300 --> 00:36:05,470 у сајту на следећи начин. 723 00:36:05,470 --> 00:36:09,340 ЈаваСцрипт се често користи као Цлиент Сиде Сцриптинг Лангуаге. 724 00:36:09,340 --> 00:36:10,130 Није саставио. 725 00:36:10,130 --> 00:36:11,370 Он такође се тумачи. 726 00:36:11,370 --> 00:36:15,740 Али за разлику од ПХП, који је покренут на серверу, на веб сервер, 727 00:36:15,740 --> 00:36:18,220 или дубоко у Клијенти, ЈаваСцрипт 728 00:36:18,220 --> 00:36:22,190 се разликује по томе што обично ради у претраживачу. 729 00:36:22,190 --> 00:36:26,060 >> Тако да било ЈаваСцрипт код почнете да пишете за ПСет 8, или ваш коначног пројекта, 730 00:36:26,060 --> 00:36:29,890 или у стварном свету генерално иде да се чувају на серверу, апсолутно 731 00:36:29,890 --> 00:36:33,110 у дот ХТМЛ или ДОТ ЈС за ЈаваСцрипт датотеку. 732 00:36:33,110 --> 00:36:35,770 Али прегледач иде за преузимање да ЈаваСцрипт 733 00:36:35,770 --> 00:36:39,530 код на своју инстанцу Цхроме, или ИЕ, или Фирефок, или било шта друго. 734 00:36:39,530 --> 00:36:43,870 А код заправо ће добити извршава унутар сопственог претраживача. 735 00:36:43,870 --> 00:36:46,560 Само да ово више Реал, хајде да видимо у конкретном облику. 736 00:36:46,560 --> 00:36:50,120 >> Немамо појма шта то код ради без читања заиста кроз њу. 737 00:36:50,120 --> 00:36:52,670 Али, дозволите ми да идем у Фацебоок.цом без логовања. 738 00:36:52,670 --> 00:37:00,440 Пусти ме да прегледа елемент и идите на, рецимо, мреже и перезагрузите страницу. 739 00:37:00,440 --> 00:37:04,150 И ми ћемо видео-- пусти ме померити поново учитате Страна да се све захтеве за нове. 740 00:37:04,150 --> 00:37:08,850 И први Филе Видим је ЦСС, ЦСС. 741 00:37:08,850 --> 00:37:10,880 Ево први ЈаваСцрипт фајл, и ја имам 742 00:37:10,880 --> 00:37:14,600 нема појма шта то ради, али овде је неки од ЈаваСцрипт кода 743 00:37:14,600 --> 00:37:16,180 који вози Фацебоок. 744 00:37:16,180 --> 00:37:18,400 Није ни то баш откривајући да бисте увећали. 745 00:37:18,400 --> 00:37:20,260 И даље је исто тако бесмислено. 746 00:37:20,260 --> 00:37:24,341 >> Али видећете и доле, ту је још више ових ЈаваСцрипт датотеке. 747 00:37:24,341 --> 00:37:24,840 Упс. 748 00:37:24,840 --> 00:37:25,440 То је пинг. 749 00:37:25,440 --> 00:37:28,550 Идемо доле мало даље, даље, даље. 750 00:37:28,550 --> 00:37:29,894 Има један. 751 00:37:29,894 --> 00:37:31,238 Има један. 752 00:37:31,238 --> 00:37:31,880 Има један. 753 00:37:31,880 --> 00:37:35,820 >> Дакле, иако је Фацебоок, иза сцене, пише у делу у ПХП 754 00:37:35,820 --> 00:37:39,100 и Фацебоок сопствене верзије истих, постоји огромна количина ЈаваСцрипт. 755 00:37:39,100 --> 00:37:41,330 У ствари, било који од ћаскање радите на Фацебоок, 756 00:37:41,330 --> 00:37:45,520 Било која од ажурирања редни хронолошким да се то догоди у реалном времену, све то 757 00:37:45,520 --> 00:37:47,944 покреће ЈаваСцрипт. 758 00:37:47,944 --> 00:37:48,444 Да? 759 00:37:48,444 --> 00:37:50,235 >> ПУБЛИКА: Нисам сигуран ако је ово Фацебоок, 760 00:37:50,235 --> 00:37:53,624 али сам мислио да је Фацебоок развио своје у кући код језика? 761 00:37:53,624 --> 00:37:54,540 ДАВИД Малан: Јесу. 762 00:37:54,540 --> 00:37:58,110 Зато кажем на варијацију ПХП назвао Хип Хоп да они заправо 763 00:37:58,110 --> 00:38:03,440 додатне функције на такав да када Марк прво спроводи Фацебоок, 764 00:38:03,440 --> 00:38:04,710 је написан у ПХП. 765 00:38:04,710 --> 00:38:07,370 И да је на неки начин остао врста предњег језика 766 00:38:07,370 --> 00:38:09,030 да користе много њиховог кодирања, али 767 00:38:09,030 --> 00:38:11,870 није језик који је ваге посебно добро у милијардама 768 00:38:11,870 --> 00:38:12,630 људи. 769 00:38:12,630 --> 00:38:15,300 И тако су додали своје побољшања иза сцене. 770 00:38:15,300 --> 00:38:17,049 И они користе било који број других језика 771 00:38:17,049 --> 00:38:19,170 за различите комаде своју инфраструктуру. 772 00:38:19,170 --> 00:38:24,080 Тако да, то је одступање од оно што сада знамо као ПХП. 773 00:38:24,080 --> 00:38:26,610 >> Дакле, хајде да погледамо на неколико примера 774 00:38:26,610 --> 00:38:28,890 како бисмо могли да користе ЈаваСцрипт овде. 775 00:38:28,890 --> 00:38:32,530 У данашњем изворног кода, имамо Гомила фајлова, прва од којих, 776 00:38:32,530 --> 00:38:34,090 хајде да се зове ДОМ нуле. 777 00:38:34,090 --> 00:38:36,770 Дакле, ДОМ нула изгледа као што следи. 778 00:38:36,770 --> 00:38:40,730 Пусти ме да идем у овај директоријум и отвори домзеро.хтмл, 779 00:38:40,730 --> 00:38:44,970 врх који има тип доц декларација, рекавши долази ХТМЛ 5. 780 00:38:44,970 --> 00:38:46,440 А сада је ХТМЛ тагове. 781 00:38:46,440 --> 00:38:47,540 Ево главе ознака. 782 00:38:47,540 --> 00:38:49,210 А ево шта је ново данас. 783 00:38:49,210 --> 00:38:52,620 >> Ми сада имамо сцрипт таг унутар главе странице. 784 00:38:52,620 --> 00:38:55,290 И ово очигледно не врло мало, али Нотице 785 00:38:55,290 --> 00:38:58,410 да сам дефинише скрипта, ЈаваСцрипт. 786 00:38:58,410 --> 00:39:01,050 И као по страни, јер то је честа заблуда, 787 00:39:01,050 --> 00:39:05,220 ЈаваСцрипт има апсолутно ништа у вези са Јава, језиком 788 00:39:05,220 --> 00:39:08,010 да су неки од вас можда научили у оклопним транспортерима. 789 00:39:08,010 --> 00:39:10,480 Било је више од маркетинга ствар од свега, 790 00:39:10,480 --> 00:39:12,980 јахање џеповима Јава година. 791 00:39:12,980 --> 00:39:17,300 Али ЈаваСцрипт, нема никакве везе са Јава, само слично, и досадно, 792 00:39:17,300 --> 00:39:18,480 збуњујуће зове. 793 00:39:18,480 --> 00:39:21,890 >> Дакле, овде је како прогласити функцију у ЈаваСцрипт, буквално кажу функцију, 794 00:39:21,890 --> 00:39:24,556 затим име функције, онда никакве аргументе Зхатјевају, 795 00:39:24,556 --> 00:39:25,530 баш као у ПХП. 796 00:39:25,530 --> 00:39:28,990 Испада у ЈаваСцрипт, један од највише досадне функције које постоје на опрезу. 797 00:39:28,990 --> 00:39:31,392 Ово је мали прозор који ће се појавити и упозорити вас 798 00:39:31,392 --> 00:39:32,600 на неку информацију. 799 00:39:32,600 --> 00:39:33,766 То је углавном пожељан. 800 00:39:33,766 --> 00:39:35,980 Али ми ћемо га користити као наш Прво вежба овде. 801 00:39:35,980 --> 00:39:37,900 >> Обратите пажњу на неколико карактеристика ЈаваСцрипт. 802 00:39:37,900 --> 00:39:41,524 Једнокреветне и двокреветне цитати цитати Не стварно није битно више. 803 00:39:41,524 --> 00:39:43,690 Апострофе и дупли цитати могу да замене, 804 00:39:43,690 --> 00:39:46,220 док је у Ц, морате да користите Двоструки наводници за стрингове, 805 00:39:46,220 --> 00:39:48,150 а имате два сингл наводи за карактера. 806 00:39:48,150 --> 00:39:51,150 У свету ЈаваСцрипт, многи људи, већина људи 807 00:39:51,150 --> 00:39:54,970 Користите једноструке наводнике око низова само зато што је стилска ствар. 808 00:39:54,970 --> 00:39:58,330 Али шта је ту оператер Плус, које нисмо видели раније? 809 00:39:58,330 --> 00:39:59,836 >> ПУБЛИКА: Спајање. 810 00:39:59,836 --> 00:40:00,960 ДАВИД Малан: Спајање. 811 00:40:00,960 --> 00:40:02,450 Дакле, Ц нема ни ово. 812 00:40:02,450 --> 00:40:04,820 ПХП има оператор дот, која то ради. 813 00:40:04,820 --> 00:40:09,710 ЈаваСцрипт има оператор плус, који збуњује је као Јава. 814 00:40:09,710 --> 00:40:11,440 Сада шта се овде дешава? 815 00:40:11,440 --> 00:40:14,260 >> Па, ево, где основни разумевање те слике 816 00:40:14,260 --> 00:40:17,010 смо бацили се пар пре дана долази у игру. 817 00:40:17,010 --> 00:40:19,620 Сећаш се кад смо имали једноставан верзија ХТМЛ паге-- 818 00:40:19,620 --> 00:40:20,830 то сам рекао, здраво свет. 819 00:40:20,830 --> 00:40:22,770 А онда нацртао дрво десно, који 820 00:40:22,770 --> 00:40:27,320 имао гомилу правоугаоника и линија повезујући их као породично стабло. 821 00:40:27,320 --> 00:40:30,820 Дакле, то је такозвани ДОМ или Доцумент Објецт Модел. 822 00:40:30,820 --> 00:40:36,759 И испоставило се да можете да приступите правоугаоника у дрвету са синтаксе 823 00:40:36,759 --> 00:40:37,550 као у наставку. 824 00:40:37,550 --> 00:40:41,370 Ви буквално кажете документ, који је Посебан глобална променљива у ЈаваСцрипт 825 00:40:41,370 --> 00:40:45,890 програм који има функцију повезан са њим да можете приступити 826 00:40:45,890 --> 00:40:50,280 слично на структуру, али ти једноставно кажу тачка и затим назив функцију је, 827 00:40:50,280 --> 00:40:52,390 гет елемент по ИД. 828 00:40:52,390 --> 00:40:55,460 >> Елемент желим да је очигледно под знацима навода име. 829 00:40:55,460 --> 00:40:57,150 И онда желим да се његова вредност. 830 00:40:57,150 --> 00:40:58,330 Сада смо се занели. 831 00:40:58,330 --> 00:41:00,038 Нисам ни сигуран шта све ово је у вези. 832 00:41:00,038 --> 00:41:03,000 Идемо брзо напред у ХТМЛ о страница, која је супер једноставна. 833 00:41:03,000 --> 00:41:05,370 >> Обавештење да сам дефинише формирају овде. 834 00:41:05,370 --> 00:41:07,940 Нотице сам га дао јединствен ИД, иако ми нисмо користили 835 00:41:07,940 --> 00:41:08,870 Овај атрибут раније. 836 00:41:08,870 --> 00:41:11,300 Али то постоји у ХТМЛ. 837 00:41:11,300 --> 00:41:15,570 Ви јединствено можете идентификовати неки комад ХТМЛ са идентификатора овако. 838 00:41:15,570 --> 00:41:19,880 >> Обавештење сад ово-- испоставља ХТМЛ подржава, по том списку за 839 00:41:19,880 --> 00:41:22,490 малопре, цела гомила управљање догађајима. 840 00:41:22,490 --> 00:41:25,060 А овај догађај руковалац каже на субмит. 841 00:41:25,060 --> 00:41:28,730 На корисничком подношења овог форма, позовите следећи код. 842 00:41:28,730 --> 00:41:31,360 И код који иде да се зове или погубљен 843 00:41:31,360 --> 00:41:35,260 је управо то, грчки Функција затим врати ЛАЖ. 844 00:41:35,260 --> 00:41:37,360 Све остало треба бити веома познато. 845 00:41:37,360 --> 00:41:42,050 >> Ево улаз типа текста, чије ИД, у овом случају, ће бити име. 846 00:41:42,050 --> 00:41:45,430 Ми немамо право име атрибут Ово времена-- готово и дугме поднесе. 847 00:41:45,430 --> 00:41:48,330 Тако да резултира страна изгледа овако. 848 00:41:48,330 --> 00:41:52,890 И резултујући понашање, видећете, изгледа овако. 849 00:41:52,890 --> 00:41:56,940 Страни је локални домаћини, каже, здраво Дејвид, тешко естетски 850 00:41:56,940 --> 00:41:58,340 начин да се поздрави корисника. 851 00:41:58,340 --> 00:41:59,950 Али шта се заправо дешава? 852 00:41:59,950 --> 00:42:01,360 >> Па, размислите шта је ово. 853 00:42:01,360 --> 00:42:02,310 Ово је текст поље. 854 00:42:02,310 --> 00:42:04,635 А према ХТМЛ код, ја сам га дао 855 00:42:04,635 --> 00:42:07,350 јединствени идентификатор назива под знацима навода име. 856 00:42:07,350 --> 00:42:09,770 У међувремену, ја сам рекао, када корисник доставља овај образац 857 00:42:09,770 --> 00:42:13,820 ударајући Ентер или кликом Пошаљи дугме, позовите функцију под називом Греет 858 00:42:13,820 --> 00:42:15,410 а затим врати ЛАЖ. 859 00:42:15,410 --> 00:42:16,870 Размотримо оне у рикверц. 860 00:42:16,870 --> 00:42:20,590 Обратите пажњу када сам кликните на Пошаљи, УРЛ ове странице се не мења. 861 00:42:20,590 --> 00:42:22,420 Икона читача није почео врти. 862 00:42:22,420 --> 00:42:27,050 Ја нисам ишао нигде, и то је буквално, јер сам рекао да врати ЛАЖ. 863 00:42:27,050 --> 00:42:31,534 Ретурн фалсе кратке спојеве или заустављање Уобичајено понашање форме. 864 00:42:31,534 --> 00:42:33,700 Тако да нас је тада оставља ово последње питање. 865 00:42:33,700 --> 00:42:34,764 Шта Поздравите радим? 866 00:42:34,764 --> 00:42:36,680 Па, очигледно Греет позива функцију која се зове 867 00:42:36,680 --> 00:42:39,250 Алерт, пролази у једном дуго аргумент да је 868 00:42:39,250 --> 00:42:43,950 резултат спајају заједно гомила субстрингс, здраво зарез простор, 869 00:42:43,950 --> 00:42:45,810 онда шта год ово враћа. 870 00:42:45,810 --> 00:42:51,490 Дакле, документ је као глобални променљива на тај корен тог дрвета, 871 00:42:51,490 --> 00:42:55,560 позивање специјалну функцију, иначе сада познат као метод. 872 00:42:55,560 --> 00:42:57,650 Функција која је унутар променљива 873 00:42:57,650 --> 00:42:59,640 назива метода уместо функције. 874 00:42:59,640 --> 00:43:01,570 >> Зато се елемент по ИД. 875 00:43:01,570 --> 00:43:03,940 Који елемент и ти Желим да својом ИД? 876 00:43:03,940 --> 00:43:06,970 Под знацима навода име и затим посебно вреднују. 877 00:43:06,970 --> 00:43:12,000 Другим речима, то код једноставно проналази текстуално поље чије ИД је име 878 00:43:12,000 --> 00:43:13,380 а потом добија вредност. 879 00:43:13,380 --> 00:43:16,460 Дакле, ако бих да се то промени и кажу Давин уместо Давида, 880 00:43:16,460 --> 00:43:20,670 и кликните на Пошаљи, сада имају поздрав за Давин. 881 00:43:20,670 --> 00:43:22,890 >> У реду, тако да су сви добро и добро. 882 00:43:22,890 --> 00:43:25,480 Али хајде да видимо да ли можемо да направимо Ово мало чистач од само 883 00:43:25,480 --> 00:43:28,190 писање кода овако је генерално ће бити пожељан. 884 00:43:28,190 --> 00:43:30,060 То ће изгледати страшније. 885 00:43:30,060 --> 00:43:32,330 Али шта је прва Разлика коју напоменути 886 00:43:32,330 --> 00:43:35,970 у овој верзији поред име промени у Дом један? 887 00:43:35,970 --> 00:43:41,110 Шта структурно изгледа другачије о томе у односу на друге? 888 00:43:41,110 --> 00:43:41,932 Да? 889 00:43:41,932 --> 00:43:43,890 ПУБЛИКА: Да ли је форма у Топ оф сценарију сада? 890 00:43:43,890 --> 00:43:46,570 ДАВИД Малан: Да, образац је на врху сценарија за неког радозналог разлога. 891 00:43:46,570 --> 00:43:48,736 Дакле, то је прва ствар да искочи на мене. 892 00:43:48,736 --> 00:43:50,990 И срећом најмање, Овај део је идентичан. 893 00:43:50,990 --> 00:43:53,470 Дакле, једина ствар која изгледа бити другачији је ово. 894 00:43:53,470 --> 00:43:55,296 >> Дакле, овде је оно што је згодно о ЈаваСцрипт 2. 895 00:43:55,296 --> 00:43:57,420 И то отежава разумети на први поглед, 896 00:43:57,420 --> 00:44:00,670 посебно за коначних пројеката уколико гледате код узорка мрежи, 897 00:44:00,670 --> 00:44:04,200 али то се своди на неке Основне карактеристике синтаксни. 898 00:44:04,200 --> 00:44:06,230 Ево опет да Глобал променљива документ. 899 00:44:06,230 --> 00:44:09,540 Ево опет тај метод или функција која каже да елемент по ИД. 900 00:44:09,540 --> 00:44:11,570 Овај пут желим да добити ИД називом демо. 901 00:44:11,570 --> 00:44:12,490 Где је то? 902 00:44:12,490 --> 00:44:15,400 То је очигледно у праву Овде, сама форма. 903 00:44:15,400 --> 00:44:20,010 >> А сада приметите да очигледно да сам вратимо тај чвор из дрвета који 904 00:44:20,010 --> 00:44:22,940 представља облик сама, а не текст поље, 905 00:44:22,940 --> 00:44:26,970 Испоставило се да форму, да чвор или правоугаоник са дрвета, 906 00:44:26,970 --> 00:44:30,450 има шта ћемо назвати имовине, веома, веома, веома сличне 907 00:44:30,450 --> 00:44:35,390 у духу на структуру у Ц. То је само члан података унутар овог правоугаоника. 908 00:44:35,390 --> 00:44:38,300 >> Тако да имам форму овде, а ја причвршћивање, 909 00:44:38,300 --> 00:44:44,650 или сам доделе, на њен Он Пошаљи трговине односно на имовину Пошаљи 910 00:44:44,650 --> 00:44:45,740 следеће функције. 911 00:44:45,740 --> 00:44:49,000 А ово је, далеко, најлуђа ствар до сада синтаксицки. 912 00:44:49,000 --> 00:44:53,610 Испоставило се да у ЈаваСцрипт и у ПХП, а искрено се тога тиче у Ц, 913 00:44:53,610 --> 00:44:58,990 иако ми то не радимо, можете адд безимени, анонимно или АКА ламбда 914 00:44:58,990 --> 00:45:03,000 функције које немају име али може назвати свеједно. 915 00:45:03,000 --> 00:45:07,050 >> Дакле, оно што ја радим овде сам додељивање Овај он Субмит имовину, која 916 00:45:07,050 --> 00:45:14,330 унутар овог чвора мог ДОМ стабла, Функција, функција показивач ако хоћете. 917 00:45:14,330 --> 00:45:16,310 Та функција нема наме, али да не 918 00:45:16,310 --> 00:45:19,110 важно јер ћемо видети у једном тренутку како да га зовем. 919 00:45:19,110 --> 00:45:21,780 Када се зове ова функција, Овај код буде погубљен, а затим 920 00:45:21,780 --> 00:45:24,210 лаж се вратио као пре. 921 00:45:24,210 --> 00:45:25,800 >> Али погледајте шта сам урадио. 922 00:45:25,800 --> 00:45:27,830 У овом тренутку у прича, имам форму. 923 00:45:27,830 --> 00:45:30,190 Има јединствени ИД називом демо. 924 00:45:30,190 --> 00:45:33,740 Овде, имам сцрипт таг да извршава следећи код. 925 00:45:33,740 --> 00:45:37,720 Придаје том чвор у дрво за то је на Пошаљи 926 00:45:37,720 --> 00:45:40,260 Проперти ова функција овде. 927 00:45:40,260 --> 00:45:44,310 И само по природи како претраживачи раде, кад сам сад кликните на Пошаљи или притисните Ентер, 928 00:45:44,310 --> 00:45:45,889 да функција ће се звао. 929 00:45:45,889 --> 00:45:48,680 Није потребно име јер ко дођавола брига како се зове. 930 00:45:48,680 --> 00:45:52,540 Једини пут икада ће добити звала је кад сам поднесе образац. 931 00:45:52,540 --> 00:45:55,130 Нема потребе за мене, Хуман програмер, 932 00:45:55,130 --> 00:45:57,330 Да бисте га назвати било где другде. 933 00:45:57,330 --> 00:46:00,720 >> Сада само као тизер, као да нису довољно смета савијање, 934 00:46:00,720 --> 00:46:03,330 можемо чак да овај изгледају Цриптиц користећи 935 00:46:03,330 --> 00:46:05,850 Супер популарна библиотека зове јКуери. 936 00:46:05,850 --> 00:46:08,760 У ствари јКуери и ЈаваСцрипт се често измешан. 937 00:46:08,760 --> 00:46:12,790 А шта ћемо урадити у среду је почетак користећи овај језик и ове библиотеке 938 00:46:12,790 --> 00:46:16,030 да се изгради више асинхрони и динамичке апликације 939 00:46:16,030 --> 00:46:18,950 као МАП апликације, апликације 940 00:46:18,950 --> 00:46:22,360 да ажурирате страну у Реал време, слично као Фацебоок или Гцхат 941 00:46:22,360 --> 00:46:27,130 уради, а не да се ограничити Ударање Пошаљите од добити или само пост 942 00:46:27,130 --> 00:46:27,630 сама. 943 00:46:27,630 --> 00:46:29,055 Тако да ћу те видети у среду. 944 00:46:29,055 --> 00:46:31,805 945 00:46:31,805 --> 00:46:35,550 >> [Мусиц плаиинг] 946 00:46:35,550 --> 00:48:09,728