Дејвид Џ MALAN: Сите во право, така што ова тука е Myo рака бенд, неколку од кои ние имаат за CS50 конечниот проекти. И тоа беше демонстрација ние чекаат на ред те однапред, каде во суштина ова прилично тесни нараквица тука слуша вашата мускулна движења кои потоа се одбележан во софтвер со лаптоп Колтон е овде што имаше iTunes и дека Песната веќе чекаат на ред. Наместо мене demoing ова, Колтон е е во лабораторија јасно цела недела добивање на демонстрациите подготвени за една храбра волонтер. Ако некој би сакал да дојдеш на up-- видов својата рака во прв план. Ајде до. [00:01:09] Сите во право. И она што е вашето име? [00:01:13] ПУБЛИКАТА: Ух, Марија. [00:01:14] Дејвид Џ MALAN: Марија, убаво да те видам. Ајде овде. Дозволете ми да ве запознаам со Колтон. Колтон, ова е Марија. [00:01:21] COLTON: Здраво, убаво да ви се исполнат. [00:01:23] Дејвид Џ MALAN: Сите право, па првиот чекор, ние сме ќе треба да се стави ова на вашиот подлактица така што тоа е прилично тесни во близина на лактот. А во меѓувреме, ајде да стави на нашите Google Glass и ние ќе се меша технологии денес. [00:01:33] COLTON: Прво ние ќе мора да кука ова во работите. [00:01:36] Дејвид Џ MALAN: Добро. Всушност, ајде да се стави вашата рака како блиску до овој кабел што е можно така што можеме прво да го синхронизирате до. [00:01:41] COLTON: Ајде да го направите тоа. [00:01:42] Дејвид Џ MALAN: А во меѓувреме, па дека секој може да се добие поблиску поглед, ние ќе фрли камера Андреј на екранот таму. Па ние имаме USB кабел што е се вклучени во лента за на рака на Марија. И дозволете ми да се фрли екран Колтон е врз проектор следната. [00:02:00] Па Колтон е регистрирање на уредот сега како Myo поврзани со овој кабел. И сега што Марија случува да се направи моментално е всушност прошетка низ чекорите за калибрација и ги учат на софтвер колку мускулите одговори кога таа направи одредени пред-дефинирани Гестовите дека софтверот разбира. Ако сакате да се оди во предниот дел на екранот. Добро, се обидувам. [00:02:30] COLTON: Оди вака. И како тоа. И сите на начинот на десно. Се врати. [00:02:35] Дејвид Џ MALAN: Добро. Поинаква перспектива. Тоа не си ти. Тоа сме ние. [00:02:40] МАРИЈА: Добро. Дејвид Џ MALAN: Не Ајде да се движат повисоко, така што е поблиску до лактот, па дури и построги. Сите во право. [00:02:52] Еве ќе одиме. Ова ќе биде добро време за CS52X. Таму одиме. [00:02:57] Многу убаво. ОК. Палецот да Пинки. [00:03:02] Многу убаво. Шири прстите. Добро. Бранува право. Тоа е љубопитно покажува ви со левото hand-- [00:03:17] COLTON: Да, тоа е чуден. Дејвид Џ MALAN: бран на право и да се движат напред. Брзо нанапред за да го прескокнете или следната. Тоа е во ред Бран право. [00:03:25] МАРИЈА: Јас don't-- чекаат. [00:03:26] Дејвид Џ MALAN: Треба некаква помош? [00:03:28] COLTON: Значи си оди вака. МАРИЈА: Тоа е вртење на друга работа, иако. COLTON: Тоа е. Дејвид Џ MALAN: Да не знам зошто тоа ви покажува leftie. COLTON: Зошто не try-- едноставно се обидуваме оди вака. [00:03:38] Дејвид Џ MALAN: Не? Можеби стигнат до својата рака само малку straighter и да ја направат повеќе нагло се допаѓа ова. Да, во ред, ајде. [00:03:48] МАРИЈА: Жал ми е. Дејвид Џ MALAN: Тоа не е вашата вина. COLTON: Тоа е во ред. Дејвид Џ MALAN: Во ред. Well-- [00:03:56] МАРИЈА: ние треба да го прескокнете ова, тогаш? Дејвид Џ MALAN: Да, ајде да ти сноселе одговорност. Значи, ако некој би сакал да се направи финалниот проект со користење на овој најсовремена хардвер, да сфатат дека можеби само потрае малку се користи за добивање. И this-- реалноста е ова е всушност многу болно опседнат. [00:04:10] Ова е она што се нарекува инвеститорот комплет, кој е замислена да биде во суштина е пред-порака така што луѓето можат да го прават токму this-- се бори со него, фигура како телата на луѓето да работат со технологијата. Значи, ако сакате потоа, по предавање, ние може да ви дојде и земе уште прободе во тоа. Но во спротивно, аплауз, ако ние би можеле, на Марија за доаѓање на до. [00:04:26] МАРИЈА: Ви благодарам. [00:04:28] Дејвид Џ MALAN: Ви благодарам. Ние ќе се откажам од тоа, но ние ќе им даде you-- како за стрес топчето тука? Ох, and-- if-- Да, благодарам. Сите во право. Така и за љубопитни, ако сте биле запознаени со звук избор што го направивме таму порано, неверојатно ТВ покажуваат дека ти треба апсолутно да биде прекумерно гледање на Netflix е ова тука. [00:04:51] ЗВУЧНИЦИ 1: Дами и господа, магионичар по име Џош. [00:05:04] Дејвид Џ MALAN: И очигледно, тоа е нешто да ме текст за време на предавање сега. Јас сум да им се кажува дека Марија беше роденден вчера. Среќен роденден од CS50 на Марија, како и. [00:05:18] Па може да се прочита во последниве месец дека ова господа тука, Стив Балмер, кој, всушност, класа на 1977 во колеџот, неодамна пензионираниот за Microsoft. Тој беше додипломски тука, потоа неколку години подоцна се најде во Стенфорд бизнис школа кога тој добил телефонски повик од пријател на неговиот кој живееле долу во ходникот од него тука на Харвард. Име кое пријател Бил Гејтс, и во тоа време, тој се обидува да регрутира Стив да биде првиот бизнис лице, навистина, во една мала компанија името на Microsoft. [00:05:45] Скратам приказната, Стив беше на крајот победи над, придружи на Microsoft, кога тие имаше само 30 вработени. И од времето кога тој пензија неодамна, компанијата имаше 100.000 вработени во текот на изминатите неколку години. И така на веб-сајт познат како работ подготви овој почит на видео дека ние сме мислеле дека би дели, кој ви дава чувство на само колку енергија Стив доведува до било какво претставување тој дава. [Видео репродукција] -Microsoft Е како четврто дете. Децата не ја напушти куќата. Во овој случај, претпоставувам Јас сум напуштање на куќата. Еј Бил, whazzap? [00:06:23] -Wazzap? [00:06:24] -Hey, Wazzap? Ние сме биле дадена огромна можност. И Бил ни даде таа можност. Сакам да се заблагодарам на Бил за тоа. Сакам да се премногу. На темпото на иновации нема да се забави. [00:06:42] Тоа се случува да се добие побрзо и побрзо. Може да има неколку конкуренти кои, за жал се елиминира! [00:06:54] Сакам оваа компанија. Да! Јас сум на компјутер, и јас сакам оваа компанија! [00:07:08] Програмери, програмери, програмери, програмери, програмери, програмери, програмери, програмери. Да! Веб програмери! [00:07:19] Веб програмери! Веб програмери! Слушаат она што друго можете добијат без доплата! [00:07:28] MS-DOS извршната власт, на закажаната средба календар, картичка куп, белешка рампа, часовник, контролен панел. И, може да ви се верува ли? Reversie! [00:07:35] Изгори ги на CD! Постави ги на МСН! Можете да ги пошта на пријатели! [00:07:40] Сите со еден клик! Еден Мајкрософт, една стратегија, еден team-- фокусирани, дисциплинирани, професионални, и експерт во сè што правиме. Дозволете ми да се користи линија од стар филм. [00:07:52] Односи се како ајкули. Тие се движат напред или ќе умрат. Јас всушност мислам технологија компании се исти. [00:08:01] [END видео репродукција] Дејвид Џ MALAN: Значи, ние сме толку среќни да објави дека Стив ќе биде ни се приклучи тука во CS50 следната среда во вообичаените местото и времето тука. Простор, најверојатно, ќе биде ограничен. И така да ни се придружат во лице, ве молиме главата денес или набргу потоа да cs50.harvard.edu/register. [00:08:22] И ние ќе го следат од страна на Вторник потврда дамки. Со нетрпение очекуваме да дека следната Среда текот предавање во CS50. Сега, во другите вести, јас се случи да се среќаваме со ова во Кримсон само пред некој ден. [00:08:34] Излегува дека еден од вработените CS50 е и барем еден од учениците CS50 е е во моментов работи за УЗ претседател и потпретседател, кој ме врати на мојата сопствена дена назад кога изгубив изборите во УЗ очајно. Но, за надеж во кој е секогаш сум раскаже приказната е дека еден од сигурен сум дека многу причини го изгубив изборите беше комплетен недостаток на талент за јавно говорење. И така сосема искрено тоа, ме возеше, тоа искуство Мислам дека мојот помлад година, за да всушност се регистрирате за Харвард Компјутерски општество, кое е групата на кампусот што има разни технички разговори и други работи. И јас го презеде нивното учење семинари и затоа имаа можност, на прекрасна можност, да почне да работи на токму тоа. Но, исто така, имав можност во текот на ова искуство да си научи сè повеќе и повеќе на HTML. И така јас одолговлекува минатата ноќ од страна на гледајќи низ HTML базирани веб-сајт Јас направив во како 1997, '98, за моите кампања која изгледа вака тука. Знам. [00:09:29] Because-- и, се разбира, известување овој неверојатен дизајн одлука во 1998 година или какво ли не. Првото нешто што сакате на корисниците да се направи по посета на вашиот веб-сајт е да се има да кликнете уште еден линк само да внесувате вашиот сајт овде со монахот зад како обвиткан завеса каде очигледно мојата кампања платформа беше. И ова е сите ќе добиете денес е само екранот. Но, јас го читав преку, како, мојата кампања постери минатата ноќ и мојот платформа. [00:09:50] И јас бев толку лута во тоа време. Мојата платформа was-- беше интересно. Па јас се смири, бидејќи тогаш. Но, еден ден, ќе се кандидира повторно и се надевам дека подобро тоа време. [00:10:03] Па HTML, дека јазикот на кој сум направил дека in-- наскоро ќе направи многу more-- е нешто што ние сме биле зборуваме за на крајот и во голема мера преземање здраво за готово сега дека ние сме се преселиле на други јазици. Но, ајде да се откажеш за само еден миг и стави некои од овие работи во контекст. Па во една реченица, што е HTML? [00:10:18] Или, што се користи за? Некој? Да. [00:10:20] ПУБЛИКАТА: Селектирај за веб-сајтови. Дејвид Џ MALAN: Селектирај за веб-сајт. Така, тоа е маркап јазик кој Ви овозможува да структура на веб-страница. Заглавие оди до тука, наслов оди овде, телото оди овде. Ова е болдирање, ова е italics-- тој вид на детали. [00:10:33] Добро, добро. Па CSS овозможува you-- и јас се некои слободи таму со задебелени букви со кои се соочува и искосен, бидејќи тоа е подобро спроведени со ова. CSS is-- што? Велат во една реченица. Секој на сите. Да. [00:10:46] ПУБЛИКАТА: embellishments и работи, како и како да го дизајн. Дејвид Џ MALAN: Добро, добро. Embellishments што ќе овозможи да го дизајн или стилизирам тоа со нешта како болдирање и закосени букви и бои и, исто така, повеќе парична казна грануларен позиционирање на елементите. Тоа вид на ти овозможува да се работи на последната милја, така што ако, на пример, во Pset7, може да се забележи на вашиот портфолио страница, ако сте во овој момент веќе дека стандардно маса што направи да се покаже акции фарми на корисникот и парични веројатно изгледа прилично одвратен стандардно без белиот простор. Вид сè е на преполн заедно во редови и колони. [00:11:18] Па, со малку CSS, како што може да се реализира, всушност можете да tweak дека и да ја направат нешто многу повеќе запознаени и многу поубава да се погледне. Па CSS е за стилизација на веб-сајтови. Но, тогаш ќе воведе уште еден јазик, PHP, која ни овозможува да го направи она што? [00:11:36] Ајде да го направи она што? Никого. Мора да вложување надвор првите неколку редови. Да. [00:11:40] ПУБЛИКАТА: Генерирање на динамична содржина. Дејвид Џ MALAN: Совршена. Генерираат динамички содржини. И можете да го направите ова во било кој број на јазици. Ние се случи да го користите PHP, бидејќи тоа е во дел, така сличен на C синтакса. [00:11:50] Но PHP го прави токму тоа. Тоа ви овозможува да генерираат динамички излез. А некои од дека производството би можело да биде HTML, како што ние си обично се прави. И тоа е, исто така, бидејќи тоа е програмски јазик, е механизмот преку кој можеме да зборуваме за бази на податоци. [00:12:03] И ние може да направи пребарувања за други сервери како Yahoos и програмски направи нешто навистина дека можеби е поинаку сакате да се принуди еден компјутер да се направи. Па PHP ни овозможува да започнете динамички Ставање содржина. Значи со оваа логика, немав динамична веб страната назад во 1998 година. [00:12:16] Тоа беше само еден статичен веб страница. Моето содржина да се промени од страна на рачно со gedit или некој еквивалент. Но PHP е она што ние се користат или може да се користат, а, нешто слично на Frosh инстант пораки веб-сајт, кој требаше да се регистрации и управуваат со листа на users-- работи кои се всушност промена во текот време, иако ние се случи да се користи Perl, различна јазик во тоа време. [00:12:35] А потоа на крај, воведовме SQL-- Структурно јазик за пребарување. Значи уште еден јазик кој се користи за што? Се користи за што? Можеме да се осмелам slight-- Добро, ние нема да се добие многу подалеку од оркестарот тука. ПУБЛИКАТА: Тоа е протокол се користи за да разговарате со бази на податоци. Дејвид Џ MALAN: А протокол се користи за да разговарате со бази на податоци. Дозволете ми да го смените. Тоа е природен јазик се користи да разговара со databases-- избира и инсерти и се брише и надградби, а всушност дури и повеќе функции кои ние не се ни нурна во но можеби ќе сакате да explore-- имаат за да истражуваат за, да речеме, конечниот проект. Па така постојат овие различни парчиња. [00:13:09] И се надевам дека Pset7, иако нејзината спецификација е прилично долга, тоа е намерно долго за да ви прошетка преку тоа како овие работи може сите да бидат внесени заедно. Сега, во понеделникот, ние воведе нашата последна јазик дека ние формално ќе се воведе во на course-- тоа е, JavaScript. Ова, како PHP, е толкува јазик. [00:13:25] Но клучна разлика Јас во понеделникот е дека додека PHP е извршување или се интерпретира на серверот, што во овој случај е CS50 апаратот, или може да има некои комерцијални веб серверот на интернет, Го вклучите Javascript-општо е јазик што тече клиентската страна не сервер side-- така во прелистувачот. Кој е да се каже, исто како кога ја отворив до Фејсбук изворниот код и резултат на сите на оние .js датотеки, импликација беше дека кога ќе ја посетите Фејсбук или повеќето веб-сајтови овие денови, ќе добиете не само HTML, не само на CSS, но целиот куп на вклучите Javascript- кодот често во форма на .js датотеки. И тогаш тоа е browser-- свој Mac или PC-- дека извршува тој код. [00:14:03] Но вашиот прелистувач го извршува. Може да се мисли во вид на песок. Така што JavaScript код не треба да биде во можност да ги избришете фајлови на вашиот компјутер. Тоа не треба да биде во можност да испраќаат електронски пораки во ваше име. Вашиот прелистувач вид ограничува она што може да се направи со неа. [00:14:17] Па во таа смисла, тоа е малку помалку моќен, можеби, од В. Но го вклучите Javascript-може, како настрана, да се користи на серверот, иако ќе имаат тенденција да не зборуваме за тоа во тој контекст. Па сега ајде да се врзуваат за овие заедно. Една недела плус одамна, ние претстави некои HTML на left-- супер досадни веб-страница. [00:14:34] Само вели здраво свет. И тогаш предложив на право ние вид на може да се крадат идеи од нашата дискусија структури на податоци во C и мислам за тоа како оваа хиерархиска Селектирај јазик на левата можат да се извлечат или спроведува во меморија како вистински дрво структура со јазли и покажувачи и оние видови на детали. На десната страна, што ние го нарекуваме дека DOM-- документ Објект Model-- што е само фенси начин да се каже дрво. [00:14:56] Сега, зошто е ова корисно да се мислам на тоа на овој начин? Затоа што сега со Го вклучите Javascript-, бидејќи имаме код кој добива да игра во овој животната средина, вистинската HTML тоа е беше испратен до интернет пребарувач веќе и има веќе се вчитана во меморијата на прелистувачот во дрво во вашиот компјутер RAM меморија како оваа, може да се користат да вклучите всушност да напречни или прошетка или пребарување или промени тоа DOM-стебло сепак сакаме. Така, всушност, ако мислите за facebook.com, ако користите разговор функција, ако употреба на Gmail и Gchat функција, нешто каде што треба пораки кои доаѓаат повторно и повторно и повторно, овие пораки се веројатно, како, ЛИ таг, Листа Точка тагови, можеби. [00:15:35] Или можеби тие се само divs кои постојано се појавуваат секој пат кога ќе добиете инстант порака. И така тоа само значи она што Фејсбук или Google прави е секој пат кога ќе се добие пораките од серверот, тие се веројатно користејќи го вклучите Javascript- само да додадете друг јазол на овој tree-- друг јазол на оваа дрво, кои потоа визуелно само изгледа како нова линија на текст на вашиот екран. Но тие се вметнување во оваа податочна структура. [00:15:57] Значи во класи како CS124 и други, ќе всушност пишува повеќе кодот против структури на податоци, како ова. Но, за сега во JavaScript, ние само ќе се претпостави ние ги добиете сите од оваа функционалност бесплатно од самиот јазик. Па ајде да погледнеме еден пример. [00:16:09] Дозволете ми да се отвори фајл наречен form.html. Тоа е супер едноставен. Тоа само изгледа вака. [00:16:15] Не, CSS, не помислуваат на естетика. Тоа е чисто функционално и очигледно сум прашува за е-маил, лозинка, лозинка, а потоа проверка да се согласи со некои рокови и услови. Што изворниот код за ова изгледа е веројатно нешто ќе може да се погоди со малку на мислата сега. Имам форма таг тука. [00:16:32] Акција очигледно ќе одат на датотека наречена register.php. Методот Одам да се користи е да се добие. А потоа имам текст поле чие име е-мејл. [00:16:40] Јас имам полето за лозинка чие име е лозинка. Јас имам друг полето за лозинка чие име е на некој начин произволно потврда. Тоа е само уште HTTP параметар. [00:16:49] И тогаш ние не сум користел овие, освен од Frosh инстант пораки демо во class-- наога што е само тип еднаква на проверка. И јас ќе се јавам на таа спогодба. Па јас сум вид на произволно но погодно именуван овие области. Така што сега кога оваа форма добива поднесено, ајде да видиме што се случува. Ако го направам malan@harvard.edu, Ќе се направи лозинка на црвенило. Ќе се направи лозинка ништо. Ајде да не соработуваат. [00:17:10] И јас не ќе ги провери кутија. Дозволете ми да кликнете на Register. А таа вели, хм, ти си регистриран. Не, навистина. [00:17:16] Но URL смени. Па оваа форма е јасно дозволено да ги достават до register.php. Но, веројатно, би требало да биде фаќање на некои од овие грешки. Сега, во Pset7 и некои на нашите предавање примери, ние генерално ќе печати едно големо црвено порака за грешка тука велејќи недостасува име, или исчезнати лозинка. Ние сме направиле тоа порано и ние направено од страна на серверот грешка детекција. [00:17:37] Но, многу веб-сајтови овие денови направи клиентската страна грешка детекција каде URL-то не се менува. Целата страница не се одмориме. Ќе добиете инстант фидбек од прелистувачот. Можеби нешто ќе тргне црвено. [00:17:48] Можеби ќе добиете pop-up. Но вие не губат време испраќање серверот податоци тоа е некомплетна. Да видиме како да постигне таа функција, како и. [00:17:56] Дозволете ми да одат на form1.html, што изгледа исто. Но, ако ова време правам malan@harvard.edu и сум тип пурпурни и јас не соработуваат и понатаму но кликнете на Register, информации сега. Тоа не е најсекси решение. Сум најмалку фатени оваа грешка. И јас сум користел на алармирање функција во JavaScript-- кои ние сме само користење во класата. Во принцип, не треба да ја користите оваа поради тоа што многу брзо може да се излезе од контрола. Но лозинки не се совпаѓаат е грешка. [00:18:19] Дозволете ми да оди напред и да кликнете OK. Но, она што клучните готова брза тука е дека УРЛ не се промени. Па јас не сум пречи губење време време на серверот бара тоа прашање кое јас би можеле да имаат сфатиле одговорот за себе. [00:18:30] И корисникот, иако се зборува за ова подолго од корисникот случува да се размислува за тоа, се случува да имаат инстант фидбек. Нема латентност со мрежата на поврзување. Значи, да се погледне на овој изворниот код. [00:18:40] Form1.html изглед структурно сличен тука. Форма е всушност истото. Но, да видиме она што го направив овде долу. И има различни начини да го направите тоа. И јас го направив најмногу прав следбеник, но не најелегантен начин уште. Имам скрипта таг. Јас тогаш се јавите document.getElementByID ("регистрација"). И јас ја запази таа вредност во форма, променлива. [00:19:04] Значи она што сум направил? Можете да мислам на document.getElementByID, како да бидат посебна функција која Го вклучите Javascript-ви дава кои буквално рацете ви покажувач на еден од јазли или правоаголници во ова дрво. Па сега тоа е она што нашата форма променлива во вклучите Javascript-е, всушност, покажувајќи кон. [00:19:21] Па сега синтаксата е различна од C. Но ние сме прави неколку работи овде. Еден, ова е малку чудно изглед, сигурно наспроти В. Но, изгледа на линија 35. Па на левата form.onsubmit. Потсетиме дека onsubmit е како поле во struct. Ако мислите дека на формата променлива е само да се биде C struct, тоа би можело да има некои полиња. [00:19:42] Назад во текот на денот, имавме студенти имиња, ИД, куќи, оние вид на полиња. Само помислете на onsubmit како друга област. Но, тоа е посебно поле, бидејќи прелистувачот е програмиран да се очекува .onsubmit да не биде вредност како број или стринг, но всушност да биде во функција или адресата на функција во меморијата на компјутерот. [00:20:02] И навистина, тоа е она што овој клучен збор овде прави тоа. Ова се вели, да ми даде нова функција. Но, она што е нејзиното име ќе биде, очигледно? [00:20:09] Размислување назад кон понеделникот. Што е името на овој функција врз основа на оваа синтакса? Не, сакам да кажам, има јасно нема име associated-- сигурно не во она што сум го истакна тука. [00:20:21] Но, тоа е, всушност, во ред. Ова е анонимен функција, или Ламбда функции како што некои би можеле да го наречеме. И тоа само значи тоа е уште една функција. Тоа е само, не можете да го нарекуваат со името. Но, тоа е во ред. Затоа што, повторно, прелистувачот е програмиран од страна на компании како Google или Microsoft или Mozilla или другите да само знам дека ако .onsubmit поле во внатрешноста на една форма елемент има вредност, го третираат како function-- функција покажувачот, ако сакате. И го нарекуваат кога се поднесува формуларот. [00:20:46] Па што кодот треба да биде погубен кога форма се доставува? Очигледно, сè внатрешноста на кадрава голема заграда. И ова е само стилски. [00:20:53] Вие би можеле да го направите тоа како ние се стремиме да се направи во CS50. Но во JavaScript, повеќето луѓе имаат тенденција да се задржи на иста линија само поради тоа што повеќе од јасно е поврзани со овој клучен збор функција. Па сега што правам? [00:21:03] Ако form.email.value еднаква на еднаквите на празен стринг или ништо, тука е предупредување каде што ќе одам да се каже, мора да се обезбеди вашата e-mail адреса, а потоа се врати лажни. И тоа е дека враќањето лажни дека спречува форма од тоа да биде поднесена. Во меѓувреме, ако лозинката вредност е празно, јас ќе одам да се развикам на корисникот и да каже, ќе треба да дадете лозинка. [00:21:21] Во меѓувреме работите се малку познавач тука. Ако form.password.value не еднакви form.confirmation.value, на друго поле, се развикам корисникот дека лозинките не се совпаѓаат, како тие Не пред еден миг. А потоа ова е малку посекси, бидејќи јас знаете знаев дека концептуално проверено е името на полето е. [00:21:40] Па јас само може да се користи фантастичен точка да се каже дали проверката не е checked-- тоа е Булова вредност, точно или false-- Ќе се развикам на корисникот за таа причина. Инаку, ако ги добиеме преку сите овие услови, ајде да се врати вистина. Нека се поднесува формуларот. И ова, тогаш ќе се случи. [00:21:56] Ајде да напишете во пурпурна. Ајде проверете кутија, кликнете на Register. А сега одам до дестинацијата. Сега, не постои база на податоци таму. Нема ништо интересен во register.php. Јас само е потребно нешто всушност да разговарате. Значи, дозволете ми пауза, тука. Било какви прашања за тоа што ние сме само направено или она што некои на оваа нова синтакса е? Добро, да? [00:22:17] ПУБЛИКАТА: Така било полето автоматски е Булова. Вие не треба да го прогласат како тоа. [00:22:21] Дејвид Џ MALAN: Точни. Било квадратчето што е испратен од на HTML форма на вашиот JavaScript код ќе бидат третирани, да, како Булова value-- точно или неточно. Тоа е добро прашање. Додека други вредности, Се разбира, се текст, АКА жици. [00:22:36] Сите во право, па ме пушти премотам касетата малку понатаму. Она што беше целата поента на ова? Само за да биде јасно. Како, ние веќе знаеме, дури и од Pset7 па дури и од предавање минатата недела примери, дека ние очигледно може да се провери $ _GET $ _POST Се види дали на корисникот даде нас празен вредност. Се сеќавам на празни функција во PHP. [00:22:54] Па само да биде јасно, она што е една причина ние би можеле, исто така, сакате да го направите ова грешка проверка внатрешноста на прелистувач? Што е мотивација тука? Да. [00:23:06] ПУБЛИКАТА: Побрзо, а вие не испрати непотребни податоци на серверот. Дејвид Џ MALAN: Добро. Тоа е побрзо. Вие не испрати непотребни на податоци до серверот. [00:23:12] Па ќе се вратам повеќе непосреден одговор. И, генерално, на корисникот искуство е подобро. Размислете за алтернатива. [00:23:17] Ако за Gmail-- и беше случај пред многу години. Да претпоставиме дека сте ја добиле нов е-мејл вашата Gmail сметка, но единствениот начин со да се види дека е, како, вчитување на целата страница. Или да претпоставиме ќе кликнете на линк да го прочитате е-маил. [00:23:29] Сè мора да ја превчитате така што можете да видите е-мејл. Или Facebook-- ќе добие порака. Не го види, додека не ја превчитате страната или кликнете на некои линк. [00:23:36] Како, тоа би било ужасно досадни корисничко искуство. И тоа е она што го беше како, јасно, назад кога ќе се кандидираше за УЗ и на веб беше многу помалку динамични и го вклучите Javascript-не беше толку популаризирана како што е сега. И работите се многу повеќе динамичен и многу повеќе клиентската страна, во таа смисла. [00:23:49] Но, постои фати тука, и ова е вид на досадни gotcha. Само затоа што можете да додадете клиентската страна откривање, како тоа не значи можете или треба да се откаже на страна на серверот за откривање. Вие во суштина сакаат да ги ставаш грешка проверка во двете места. Затоа што она што беше еден на научил лекцијата од член читам некои извадоци од овој глупав CMS system-- Менаџирање Содржина System-- тоа беше спроведувањето на своите проверка на системот, нејзините логирање преку она механизам? Го вклучите Javascript-. [00:24:20] ПУБЛИКАТА: вклучите Javascript-. Дејвид Џ MALAN: Го вклучите Javascript-, точно, нели? Тоа беше користејќи JavaScript. И буквално, вие момци имаат игра малку веројатно со инспектор Хром. И ако можам да го најдете, увид елемент. [00:24:30] Дозволете ми да одат над да се направи сите опции Хром. И ова е колку е лесно е да се оневозможите JavaScript во прелистувачот. Проверете, нема повеќе да го вклучите Javascript. [00:24:38] Па во праведноста, многу на интернет овие денови е само ќе се скрши, бидејќи Gmail и други sites-- Facebook-- се претпостави дека JavaScript е овозможено. Но, ако правиш нешто глупаво како само потврдување на корисниците влез и проверка за грешки на клиентската страна, противник лесно би можеле да го направите тоа. А потоа дури и попаметни противник како вие момци сега може да го користат Телнет или Curl или само командната линија команди а всушност се испраќаат пораки на серверот дека на сличен начин не се грешка провери. [00:25:05] Па ова е повеќе од кориснички интерфејс одлука отколку што е вистински технички improvement-- спроведување нешто клиентската страна, вака. Па сега еден брз поглед, но потоа Ќе се одложи на онлајн прошетка преку овој еден. Во форма на две, ние всушност помина низ и исчистени кодот малку. Но, дозволете ми да се одложи на еден од видеа ние ќе веројатно Вградена во Pset8 дека само ви покажува на слични синтакса користење на библиотека наречена jQuery, што е супер, супер популарни библиотека во вклучите Javascript- дека искрено повеќето луѓе само ги користат овие дена па дури и се збуни, како суштество се вклучите. [00:25:37] И тоа има тенденција да се вклучат некои долар знаци и клучни зборови, како документ во загради тука. Но, повторно, дозволете ми да се одложи на некои побавно упатства онлајн наместо да се врзан во само синтакса. Ајде да се движи кон нешто малку поладна во однос на примената на ова. [00:25:50] Толку посебно, дозволете ми да одат напред и се отвори овој овде. Ајде. Таму одиме. [00:25:59] Дозволете ми да се отвори оваа слика овде. Непотребно комплициран изглед, но тоа опишува техника наречена AJAX-- Асинхрони вклучите Javascript-и XML, каде Х за XML е, всушност, веќе не е навистина користи. Тоа се стреми да се користи нешто друг што се вика JSON. [00:26:13] Но, тука е како нешто како Google Мапи или Google Earth работи. Ајде да се обидеме овој во лет, всушност. Дозволете ми да оди напред и да се отвори до Хром на мојот интернет пребарувач. [00:26:21] И дозволете ми да одат во, велат, maps.google.com. А всушност, ако сте стари доволно да се сетам што, како, MapQuest беше како во тоа време, а можеби и тие се уште работат вака. Кога ќе се користи за пребарување на something-- 33 Оксфорд Стрит, Кембриџ, Масачусетс, ајде да направиме this-- ви би всушност, ако сакаше да се движите и долу, лево и десно, ќе изгледа како голема стрелка на врвот, и тоа ќе ви покаже уште еден рамката на картата тука. Или ќе кликнете лево и вие ќе поминат тука, или друг клик и ќе одат овде. Но, наместо овие дена, се разбира само се земе здраво за готово дека можеме да одиме околу Кембриџ прилично брзо само со кликнување и влечење. Но забележите има некои баговите. [00:26:59] Ако го направам тоа доволно брзо, она што се чини дека се случува како што влечете малку пребрзо за компјутер да се задржи? Што гледате? Да. [00:27:07] ПУБЛИКАТА: На пиксели не се одмориме. Дејвид Џ MALAN: На пиксели не се одмориме. Има actually-- и вие можеше да се види ова, всушност, ако гледате онлајн и пауза оваа или, всушност, го забавува работите надолу за once-- ќе видите дека постојат плочки, плоштади, или правоаголници кои се водат за исчезнати од мапата до Сплит во секунда подоцна, повеќе податоци, повеќе слики, всушност, се појави на екранот. И всушност, ако правиме тоа гледајќи до Chrome's-- да речеме, Chrome-- ајде да видиме. Ние не можеме да го направите тоа. [00:27:31] Ох, Whoops. Ајде да се отвори maps.google.com. Дозволете ми да го направи прозорецот поголем повторно. [00:27:36] Се врати на 33 Оксфорд Стрит. Она што беше на веб-сајтот бев на неодамна? Морав ова, како, приватни проповед на мене дека јас би потоа инстант порака било пријател кој е онлајн кој сакал да го слушнеш. Има некои веб-сајт. Мислам дека тоа е така Comcast-- многу голем американски интернет провајдер. Можете да, кога се регистрирате за нов кабел модем услуга или кабловска телевизија услуга, тие имаат форма многу разумни каде што тие ве праша за вашата адреса. И имаат оваа неверојатна функција наречена авто комплетна, како Google, која започнува да се пополни во одговорот на вашето прашање. [00:28:04] Проблемот е, што го прават авто комплетна на првите нешта што пишувате. Значи, ако почнете да пишувате во 33 тоа, ќе ви покаже буквално секоја куќа во Америка, која започнува со бројот 33 пред да продолжите да очекуваме да внесете повеќе. Значи, ако сте тип 33 Оксфорд, тогаш тоа ви покажува секоја улица во Америка, кој има 33 Оксфорд во своето име, без разлика на градот дека сте во. [00:28:25] А потоа ќе продолжи пишување. И конечно, сфати дека тие не понуда на услуги во вашиот дом во Кембриџ или нешто слично. Но поентата е, ова е најстариот упорит имплементација на авто заврши било кога. [00:28:34] И јас сум само ќе го на оваа тангента повторно. Но, постојат добри начини за да користете го вклучите Javascript-и лоши начини. И тоа не е секогаш најдобриот една. [00:28:40] Но поентата тука, пред овој тирада, беше да се отворат алатки овде и ќе отвори инвеститорот алатки, како што ние си ги охрабри пред, и да се види на мрежата јазичето како кликнувам навистина брзо. И ќе забележите еден куп на се барања се случило. Сето ова се случи, бидејќи јас влече. [00:28:57] И, најверојатно, навистина многу од овие редови сега се слика коса црта JPEG MIME типови или видови содржини. Тоа е затоа што хром прави секој пат кога ќе кликнете и влечете, кликнете и повлечете, е тоа е реализирање, ох, се треба да одат побарајте на Google за плочка на картата дека е овде, брзо го преземете преку HTTP, а потоа да го додадете во т.н. ДОМ на веб прелистувачи во меморијата дрво претставување, така што на корисникот, мене, гледа дека ажурирани плочка. И ова е затоа што на техника наречена AJAX. Назад во текот на денот, тоа навистина беше случај дека ако сакаше да се промени она што е на екранот, вие ќе треба да кликнете горе, долу, лево, во право. А потоа и нова страница ќе се отвори. Но, овие денови, сè е подинамичен. Тоа се случува во начинот на кој ние луѓето би се надевам дека, всушност, ќе интерактивно. И тоа го постигнува со начин на техника наречена AJAX, кој е можеби најдобро објасни со пример. Прво, дозволете ми да оди напред и се отвори датотеката наречен quote.php во денес дистрибуција код. [00:29:53] И тогаш дозволете ми да го направите symbol-- Whoops. Дозволете ми да го направи симбол = GOOG за само некои акции. Или, всушност, да го стори еден од Pset БЕСПЛАТНО. Enter. [00:30:05] И сега се забележи она што ќе се вратам. Значи ова е навистина краток PHP фајл дека јас напиша дека едноставно позајмува код од Pset7 е пребарување функција и плука со користење на овој кадрава голема заграда и цитати и дебелото црево нотација, очигледно, цена за тековната акцијата компанија што ќе го положат во преку добие. Значи ова е различно од повеќето од она што го направено во тоа известување Јас сум буквално плукање надвор што личи JavaScript код. [00:30:27] Всушност, ова е да го вклучите Javascript објект. Всушност, само за да биде појасно, Го вклучите Javascript-Објектно Notation-- JSON-- е само фенси начин да се каже дека може да претставуваат податоци во вклучите Javascript-многу како можете да во PHP користење на клучните вредност парови. Значи, ако јас сакав да се изјасни променлива во вклучите Javascript- за да го претставува Zamyla, за instance-- на struct за Zamyla-- и ние ќе го наречеме студент, ја оваа променлива. Нејзиниот проект е еден, куќата е Winthrop, а името е Zamyla. [00:30:53] Но, јас, исто така, може да има низа од објекти. Значи, ако јас всушност сакаа да имаат низа во JavaScript содржи повеќе такви објекти, овој време претставуваат вработените, Јас би можеле да имаат овие три парчиња на код назад да се врати назад за овие тројца поранешни членови на персоналот. Па синтакса, прилично слични на both-- во PHP. Но, ова е особено JavaScript. Тоа е објект нотација. Па што е ова корисно за? [00:31:17] Ако јас се напише код кој плука JSON-- Го вклучите Javascript-Објектно Notation-- работи кои изгледа вака или работи кои изгледа како структура Zamyla е, Јас всушност може да го користите овој во програмите пишувам. Дозволете ми да одат на ajax0.html. И ова too-- не многу размислување за естетика. Но, види што се случува. [00:31:34] Дозволете ми да оди напред и да внесете бесплатно овде. Кликнете добие понуда. И ќе забележите дека URL-то не се промени. Но јас не добиете pop-up со очигледно денар цената на акциите денес на 0,15 $. Затоа, не сите толку лош. Но, разликата е во тоа што на некој начин, овие податоци се врати да ме директно. Но, ајде да направиме чекор кон нешто повеќе запознаени. Во верзија еден од тоа, дозволете ми тип бесплатно повторно, кликнете на Get понуда, и now-- ох, ова беше всушност jQuery верзија. Значи, да me-- јас не брзо-нанапред сосема доволно далеку. Дозволете ми да одат на верзија две, која е местото каде што сакав. Забележи она што го направив тука. Јас имам еден веб page-- супер едноставна верзија на било кој веб-страница можете да го користите денес со поле за текст тука за слободни и тогаш очигледно само текст. [00:32:14] Ова не е форма тука, очигледно. Но, ако јас кликнете добиете понуда, забележи мојот веб-страница е за да се промени како иако јас само доби нова инстант порака или како да сум само се преселил на карта и се потребни за да добиете повеќе податоци додадени динамично на веб страницата без рачно менување и на корисникот искуство добивање прекината. Всушност, јас сум уште на иста place-- ajax2.html. [00:32:35] Значи, да погледнеме само во овој пример и да видиме како тоа се случува. Дозволете ми да одат во ajax2.html. И ќе забележите дека формата во прв план. [00:32:44] Овде долу, јас сум вртење исклучите автоматското завршена. Понекогаш тоа добива досадни, ако на прелистувачот се обидува да ви го покаже вашиот целата историја. Па можете да го направите во HTML страна само велејќи авто заврши надвор. [00:32:53] Сум дал овој текст полето на symbol-- а, лична на симболот. И сега, ова е интересна карактеристика. Не сме разговарале за век, но може да се размислува за тоа како став таг или div таг. Тоа е она што се нарекува во линија елемент, кој значи дека нема да се добие став се скрши над и под неа. Тоа е само случува да остане во линија без притискање на еквивалент на внесете. Па јас имаат дадено оваа парче на HTML да се утврди единствен идентификатор дека јас произволно се нарекува цена. И јас имам Прати копче. [00:33:21] Бидејќи сега до here-- и ова е всушност супер неверојатни колку малку код можете да го напишете да се направи релативно уредно things-- забележи она што го направив тука ако јас дојдете до шефот на оваа страница. Јас сум вклучен прв во мојата глава скрипта таг кои, всушност, референци Го вклучите Javascript-датотека на друго место. Ова е од организацијата кој пишува jQuery, И ова е само ви даваат најновите верзија на нивниот jQuery библиотеката. [00:33:42] Значи ова е вид на како остар вклучуваат во C или да бараат во PHP. Го користите скрипта таг со извор атрибут. Но сега моето кодот е ќе биде во право тука. [00:33:52] Забележете имам функција наречена Цитати. И тоа изгледа малку криптичната на прв поглед. Но, ајде да закачам ова распаѓа. Дај ми променлива наречена URL-то. Доделување буквално овој стринг. Значи, единечен наводник, двојни наводници во Го вклучите Javascript-само ми дава стринг. Што значи плус направам? Конкатенација. [00:34:08] Значи ова сега е jQuery синтакса кој ги зема малку се користи за добивање. Но, тоа само значи одам да ме ДОМ јазол чиј единствен идентификатор е симбол. Хаштагот има значи единствен идентификатор симбол. [00:34:21] На знакот за долар во загради само значи, заврши ова во jQuery еден вид на тајна сос така добивате дополнителна функционалност. А потоа .val е очигледно функција, или како што ние велиме сега, метод во внатрешноста на овој јазол дека само ви дава вредност. Значи во кратки, грди и збунувачки како што тоа изгледа на прв поглед, Ова само значи да се добие со корисникот внесе in, го стави на крајот на низата со concatenating тоа. Тоа е се. [00:34:43] Па сега, последните три линии. Можете да се притисне многу функционалност од три линии. Ова знакот за долар, како настрана, е само прекар за посебен глобалната променлива наречена буквално jQuery. [00:34:55] Знакот за долар само изгледа кул. Па jQuery заедница само вид на тоа се користи како нивните специјални симбол. Тоа не значи она што значи во PHP. Во JavaScript, знакот за долар е исто како буква од азбуката или негова број за променлива. [00:35:07] Вие само може да го имаат како името. Само изгледа кул. Значи заедницата прифаќа како прекар за сопствената библиотека наречена jQuery. [00:35:13] И тоа е супер популарен. Па се JSON е токму тоа. Тоа е функција која на луѓе во jQuery напиша кој добива JSON од server-- Го вклучите Javascript-Објектно нотација. Од она што URL-то е тоа се случува за да се добие таа информација? Очигледно од овој URL тука. [00:35:27] И што треба прелистувачот направи како веднаш штом ќе се врати овој одговор? А тоа е магијата на AJAX, така да speak-- Асинхрони вклучите Javascript-во XML. Тоа е тешко да се види со таква едноставен пример како што имавме тука. [00:35:41] Но, тоа беше асинхрони во смисла дека мојата код кога извршена испрати порака до сервер за да одам да ме некои JSON. И тоа се случи супер брз тоа добив одговор. Но, она што е интересно е дека овој линија код не висат мојот компјутер. [00:35:55] Јас не гледам врти икона. Јас не изгуби способноста да се движи мојот глушец. Мојот интернет пребарувач, всушност совршено добро. [00:36:01] Поради начинот на кој го вклучите Javascript-се справува со одговор од серверот е како што следува. Ќе се регистрирате она што би ја нарекол повратен повик функција, која само значи, еј, го вклучите Javascript-. Штом серверот одговара со JSON, Ве молиме јавете се на овој анонимен функција. [00:36:18] И ве молам премина во оваа функција што низа на серверот плукаат како аргумент се нарекува податоци. Значи со други, зборови, ако Јас сум монтажа динамички URL-то quote.php поминува во овој симбол како бесплатен или GOOG или какво ли не, Јас сум тогаш кажувам Го вклучите Javascript одам да купам дека URL-то. Запомнете дека прелистувачот се случува да се врати нешто што личи видовме earlier-- ова. [00:36:42] И она што на вториот аргумент тука за да добие JSON е велејќи дека е повик оваа функција кога серверот добива назад дали тоа е 10 милисекунди од сега или 10 секунди од сега. И веднаш штом ќе се направи, додаде цената на страницата. Оваа синтакса тука само значи одам да купам јазол од дрво чиј единствен идентификатор е price-- тој временски период видовме порано. [00:37:01] Овој метод наречен HTML само вели, оди замени HTML кодот кој е таму со data.price. Што е data.price? Па, на прелистувачот, да се потсетиме, ми покажа ова се враќаат. Значи ова е податоци. [00:37:14] И така тоа е малку криптичната за да ја видите запирки тука. Но, всушност, дозволете ми да го направите тоа. Дозволете ми само ставете ова вистински брзо во gedit и ја прикажете како што покажа Структура Zamyla претходно. [00:37:27] Што серверот испраќа назад е малку објект кој изгледа вака. И така data.price е само мене давање на 0,1515. Толку многу на движење делови овде на сите одеднаш. [00:37:39] Но Клучни е дека ние ја имаат оваа способност да вложи дополнителни HTTP барања користејќи JavaScript без да ја превчитате страната. А потоа ние всушност може да промени на веб страницата на мува. И излегува дека JavaScript и други јазици може да се користи сега не само да мутира веб страници, но всушност да пишуваат софтвер во вистински компјутер, не само ограничени на Хром или слично. [00:38:00] Всушност, if-- Колтон, ќе сакале да ни се придружат врати тука со вашиот лабораториски код, и Чанг, како? Ајде да одиме напред, ја зборуваше за анонимни функции и повикувања и навистина примамат судбина тука со живо демо со крварење компании за технологија, еден од овие елити движење уреди. Сега, овој уред, да се потсетиме, е малку USB уред како и that-- тоа е beautiful-- дека приклучоци во вашиот USB порта. [00:38:25] И тогаш тоа обезбедува влез во форма на човечки гестови со откривање на користење на инфрацрвени зраци, во суштина, движења од вашата рака. Па додека она Марија се обиде на претходно беше мускулест, всушност чувствуваат она што се менува вашата рака, ова е инфрацрвена врз основа. Така, тоа е во потрага за движења во вид на сферата на една нога или така на самиот уред. [00:38:46] Па зошто да не земам прободе во оваа прва? И ајде да одиме напред и да се фрли те на надземни тука. Значи, да се стави лаптоп Колтон е тука. Имаме Ендрју на ТВ. И она што би сакал да го направам првиот? [00:39:00] COLTON: Оди напред и само ги ставаш рацете во текот на овој човек и ќе видите некои чудесната сјајот. [00:39:04] Дејвид Џ MALAN: Многу убаво. Ова е сите се случува во реално време. ОК. Сите права, и Да. Толку убаво. Добро, што друго да направам? [00:39:15] COLTON: Одете на следниот екран и да видиме. [00:39:17] Дејвид Џ MALAN: Во ред. [00:39:19] COLTON: А забава малку игра каде што можеш да се направи роботи. [00:39:21] Дејвид Џ MALAN: Во ред, така што ова е лажен рацете покажувајќи ми што да направам. COLTON: Да Така одат напред и го имате еден од блокови и го стави на врвот на органот кој робот е. Дејвид Џ MALAN: О, па тука е мојата рака. Ох. Добро, симпатична. Почекајте една минута, во ред. Таму одиме. [00:39:41] COLTON: Јас направив еден на несреќата. [00:39:43] Дејвид Џ MALAN: Океј, јас ќе добиете овој човек. По ѓаволите! Кога бевме практикуваат оваа последна ноќта, кога знаеш што овој пренесени во? [00:39:51] Вака. ОК. Следна еден? [00:39:55] COLTON: Секако. [00:39:56] Дејвид Џ MALAN: Сите во право, и има една третина. Сите во право. COLTON: И во овој, ќе го добиете to-- Дејвид Џ MALAN: О, ова ми е убава. COLTON: --yeah, разложат овој цвет. Дејвид Џ MALAN: Добро. Не? Пропушти. [00:40:14] COLTON: О, таму да одите. [00:40:15] Дејвид Џ MALAN: Ах, гледам тоа. Многу убаво. Па, зошто да не "го земеме од еден волонтер тука кои би сакале да дојдат на до. Како за право таму во зелена, е тоа? [00:40:27] Сите права, и ајде да have-- наместо тоа да го направам, некои од вас Може да знаете оваа игра here-- се намали на јажето, можеби? Ајде да видиме. Ние имаме очилата овде? [00:40:37] ОК. Ви благодарам. Што е вашето име? [00:40:39] ПУБЛИКАТА: Лора. [00:40:40] Дејвид Џ MALAN: Лора? Убаво да се види. Ако не ти пречи ставање Google Стакло врз вашиот очила. Ова е Колтон. [00:40:46] COLTON: Здраво. Убаво да ви се исполнат. [00:40:48] Дејвид Џ MALAN: Океј, ајде наоколу. Добро, па што ви се случува да направите тука, да игра пред, е да се стави својата рака над Престапна движење тука. И сега вашиот стрелките да се движат. Ох, бе. [00:40:57] ПУБЛИКАТА: Не [00:40:58] Дејвид Џ MALAN: Ние не сакаат да се откажат од уште. Добро, почекај. Овде. Значи забележите како ќе се одржи вашата прст за нешто, глувчето ќе почне да одат зелени, кој е како ќе кликнете. [00:41:06] Па лебдат над Play. И само еден прст е во ред. И сега кликнете на малото зелени дечко на левата страна. И сега држат додека не исполнува зелена. Добро. Сега, како, на ниво на еден до врвот. [00:41:16] ПУБЛИКАТА: Да, ние сакаме ниво еден, тука. [00:41:20] Дејвид Џ MALAN: Добро. Добро, така што сите што треба да направите е да се намали на јажето. Курсорот е бела, таму долу. [00:41:28] Многу убаво. Добро, тоа е за да се потешко. Значи се одржи вашиот прст во наредните сега. Добро. Ова ми е тешко. [00:41:39] ПУБЛИКАТА: О глупости. ОК. Таа сака да одиме на тој начин. Ох глупости, that-- [00:41:44] Дејвид Џ MALAN: Да. Средно цел е да ги добиете сите на ѕвездите. Добро, следната. [00:41:53] Ајде да видиме дали може да се добие оваа третиот. Добро. Добро, одам таму. [00:42:06] Сигурен. Ох, многу убаво. Сите во право. [00:42:11] Па зошто да не се одлага денес тука? Дозволувајте некој да дојде на до кој сака да игра. Благодарение толку многу за да Лаура нашите волонтери. И ние ќе се видиме во понеделник. [00:42:18] ПУБЛИКАТА: Вие веројатно сакате овие назад. [00:42:21] ЗВУЧНИЦИ 2: На следниот CS50--