>> Роджер ZURAWICKI: Привет всем.
Могу ли я привлечь ваше внимание?
Спасибо, ребята.
Сегодня я хочу поговорить о Meteor.
Это основа JavaScript.
Мы будем идти путем, как вы можете сделать действительно здорово веб-приложений.
>> Прежде чем попасть в JavaScript, я просто хочу рассказать вам, ребята, что это воля
быть - вы будете иметь более поздней собрать в этом семестре.
Это должно быть около JavaScript.
Я думаю, что [неразборчиво] сначала собирается покрыть веб HTML PHP материал прежде, чем мы
перейти к JavaScript.
И в CS50, JavaScript считается как клиентского кода.
Так что только получает работать в веб-браузер.
>> Но благодаря последним достижениям в технологии, мы теперь удалось бежать
JavaScript в качестве сервера, а также.
Так это создало действительно здорово рамки, потому что теперь вы можете написать
законно и тот же код для клиент и сервер.
И при определении функций в вашем сервер, клиент может назвать тех,
же функции.
И это делает его намного легче.
Если раньше, если вы используете PHP на сервер, JavaScript на передней
конец, вы должны написать функцию PHP а затем версия JavaScript из
та же функция, чтобы сделать Аналогичная работа.
>> Поэтому, прежде чем мы начнем, я хочу чтобы показать вам демо, что
Метеор может сделать для вас.
Я покажу вам демо, что и Вы сможете создать на
Конец этого семинара.
Мы просто идем прямо здесь.
Это приложение лидеров.
Это на самом деле основаны из примера что Метеор, дает тебе.
>> Метеор очень приятно, потому что, когда вы установить его в виде пакета, вы можете
в основном играть с эти четыре демки.
И лидеров является Первый из этих демонстраций.
После семинара, я призываю вас всех просто исследовать другие демо
потому что я думаю, что они действительно здорово, и они показывают вам власть Meteor.
>> Так что это, это размещен на лидеров.
Это просто откровенно список имен.
И вы можете выбрать людей.
Они желтеют.
И тогда вы сможете дать им пять очков.
И вы заметите, что список отсортированный потому что, как я отдаюсь больше
и более баллов, я теперь на самом верху.
Так что это, где мы начинаем.
>> И то, что вы будете в состоянии отнять от данного семинара является несколько более
особенности я, добавленные в Лидеров.
Мы будем покрывать, как, а также добавить пять очков для игрока, мы можем
удалить игроков, мы можем добавить новых игроков, и мы можем выбирать, как мы хотим,
сортировать их.
И все это очень легко звонки API что Метеор предоставляет для вас.
У вас также есть возможность здесь в случайном баллы.
>> Так что это действительно здорово об этом является вы, ребята, может на самом деле
все зайти на сайт.
Я положу его в большем текста здесь.
Один радикалы приводят erboard.meteor.com.
И когда вы, ребята, заходите на сайт, вам должны иметь возможность редактировать свой сайт, а
все ваши правки будут видны для всех остальных.
Так что вы можете - вы, ребята, все возможность подключения к сайту?
Так поиграть с ним.
Иди и начать удаление некоторые имена.
Посмотрите, что происходит.
>> Итак, вы видите каждый может играть.
Это только безопасности по умолчанию режим для Meteor.
Вы видите, что каждый может изменить данные друг друга.
Не волнуйтесь.
Метеор имеет безопасности.
Это очень легко реализовать функция, где вы можете настроить пользователей
и логины.
Но сейчас, любой, кто посещает сайт может дать себе больше,
указывает, как они хотят.
Так что я всегда так, потому что это представляет собой интересный способ, чтобы начать работу.
И тогда мы будем просто говорить о деталях, как
Метеор делает это возможным.
>> Так что я собираюсь рассказать, что Метеор, а затем мы просто должны охватывать
две предпосылки, что CS50 не покрыты достаточно.
Но к концу срока, вы должны быть удобными и с HTML и
JavaScript, чтобы действительно получить ваши руки грязные работы с Meteor.
И я думаю, это просто отличный способ для даже менее комфортно студентам сделать
Окончательные проекты, потому что они могут на самом деле оставаться на одном языке, и они получают
увидеть изменения их работать сразу же.
>> Так что это слайд-шоу лишь некоторые из основные технологии, которые Метеор JS
дает вам.
Метеор не новая технология сам по себе.
Это действительно конгломерат все эти разные вещи
у нас есть в Интернете.
А также HTML, CSS, JavaScript, мы есть некоторые технологии, такие как Node.js,
что и позволяет запускать JavaScript на заднем конце на вашем
сервер, а также некоторые JavaScript библиотеки, такие как JQuery, подчеркивания.
>> Все это будет знаком Вы к концу семестра.
И мы также получаете возможность использовать базу данных с именем MongoDB, который является действительно
популярная база данных в настоящее время для эти новые стартапы.
Вы можете думать об этом как как MySQL, но она работает очень хорошо с JavaScript.
И есть некоторые другие технологии здесь и многое другое я не указаны
что все интерфейс действительно приятно с Meteor.
>> Я должен положить этот слайд, потому что иногда я получаю путаницы по этому поводу.
Метеор только JavaScript.
Это не PHP.
Это не Рубин на рельсы.
Так что если вы пишете код, если вы хотите написать проект Метеор, вы действительно
не можете использовать Ruby, код.
Вы действительно не использовать PHP.
>> В то время как мы увидим, что различия в Код и синтаксис не может быть, что
разные, я хочу подчеркнуть, вам, что Метеор, все, что вы код
только в JavaScript.
И все, что вы показываете пользователь будет HTML CSS.
Но вы на самом деле не с помощью любого из другие языки, что и другие
семинары могут охватывать.
Что Метеор также является веб-сервером.
Так что даже если у вас нет любое JavaScript, и вы просто хотите, чтобы служить
CSS и HTML файлы, Метеор может сделать это за вас.
>> И вот ссылка еще раз, чтобы демо, что я получил, вы, ребята
начал играть с.
Но давайте перейдем к HTML.
Сколько людей здесь есть никакая идея, что HTML не?
ОК здорово.
И это полностью нормально.
Вы действительно не нужно много знать о Это потому, что мы пойдем на
Использование очень просто.
>> Это то, что простое HTML страница выглядит.
Это может быть как ваш Hello, World для HTML, в то время как мы начали в С
Здравствуй, мир.
Я не хочу, чтобы вы подчеркнуть на Подробности того, что HTML, какой голове, что
тело, что название там делает.
Я просто хочу подчеркнуть структуру, как у вас есть теги.
И это угловые скобки.
И вот, когда у вас есть Ваши дескрипторов.
>> Так что вы можете иметь HTML документ.
И тогда вы будете закрывать HTML документ с обратной косой же самое.
И у вас есть различные виды меток.
И заметьте, что все они согласованы.
Вы будете иметь как тело тега а затем закрывающий тег тела.
И внутри тега тела, это будет содержимое вашей веб-странице.
Так что это веб-страница просто отобразить в белом фоне и черный текст
Здравствуй, мир.
Значит ли это, имеет смысл?
ОК.
>> Теперь я собираюсь быстро покрыть JavaScript.
По словам предыдущей TF, "JavaScript является лучшим программирования
язык, существующей в настоящее.
Другие люди будут пытаться говорить вам обратное.
Они ошибаются ". JavaScript довольно хорошо, и я покажу вам, почему.
>> Так что это классический пример мы начинаем с в С. У нас есть привет, мир.
И вы заметите, что даже если вы сокращаться это, вы должны иметь по крайней мере два
строк кода.
У меня есть несколько строк кода.
Это может быть сделано очень просто.
Одна линия в JavaScript с console.log, а затем ваша строка,
Здравствуй, мир.
>> Теперь, даже при том, что мы движемся к новому язык JavaScript, почти все
навыки, которые вы узнали, кодирования в С непосредственно портативный.
Так строки, идея строк в двойные кавычки, это то же самое.
Точка с запятой, это то же самое.
>> Аккуратный особенностью JavaScript на самом деле в том, что вам
не нужна точка с запятой.
Он может догадаться, что вы должны поставить точку с запятой там.
А вот что сказал, вы всегда должны попробовать положить ваши запятой там.
Считается хорошим стилем.
А также, нет основной функцией.
Вы просто начать в верхней части файла и читать вещи строка за строкой.
>> Тогда это то, что нужно, чтобы сделать что привет, мир программа.
И обратите внимание на то, что вы должны сделать привет, а затем запустить привет.
С помощью JavaScript, она считается интерпретируемый язык.
Что нужно знать, что нет решений.
>> Там нет компиляции.
Вы просто запустите узел.
И помните узел это программа, которая будет работать ваш наличие на консоли,
на черном поле, а не на сайте.
Таким образом, вы просто дать ему файл, и это в печать привет, мир.
>> Я на самом деле немного демо что для вас, ребята прямо здесь.
Так что давайте перейдем к моим Node.js терминал.
ОК.
Давайте перейдем здесь.
Так что я собираюсь начать узел.
И я покажу вам, ребята всего сек, как получить, что
установлен, если вы не делаете.
Позвольте мне сделать, что немного больше.
ОК.
Я надеюсь, что вы, ребята, можете видеть.
>> Так что я могу написать код, как я сделал прежде в console.log.
Привет, Роджер.
И заметьте, я не должен сделать точка с запятой, но потом я получаю это странно
неопределенная вещь.
Ну на самом деле, не говоря уже о определено вещь.
Вещи, которые я хочу обратить ваше внимание, что вам не нужно основную функцию здесь
для запуска кода.
И нет никакого конца обратный слэш.
Там-то маленькие особенности, которые JavaScript может сделать для вас.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: О да.
Я сожалею об этом.
И, что стрелка просто означает узел готов к другой команде.
Таким образом, вы можете иметь его сделать простой математика, как 1 плюс 1.
И так же, как и в C, эти математики символы такие же.
Я могу сделать console.log числа.
А потом он печатает две.
JavaScript хорош в этом смысле, потому что хотя два является внутр,
как в C, если вы Printf с два, вы получите сообщение об ошибке.
>> Но в JavaScript знает, о, ты печать что-то.
Я собираюсь нужна строка.
Итак, позвольте мне конвертировать, что два в строку для вас.
И вы также можете сделать некоторые странные вещи как привет, а затем плюс два.
Это просто еще один пример того, как два могут быть преобразованы в там также.
>> Так что с этим из пути, давайте только покрыть немного больше JavaScript.
Таким образом, в С, у нас есть виды.
Всякий раз, когда мы создали новую переменную, мы должен сказать, что это, это символ * или
Строка в случае CS50.
Или если бы мы имели десятичное число, мы должны были сказать поплавок.
Если мы нуждались в логическое значение, мы должны были сказать б.
А потом, как только у нас было что-то, что был б, он должен был остаться BOOL.
Мы не могли магически изменить его на внутр если мы не писал в
скобки, внутр Ъ.
>> В JavaScript нет типа.
Вы просто думать об этом как вар.
И вар, как вы создать новый тип.
Так он может иметь переменная с является строкой, вар н будучи поплавок,
и переменная б не так.
И еще одна вещь, что вы не можете сделать в С Теперь я могу сказать, после этой линии, б
равна целое.
И это работает просто отлично.
В то время как в С, то сказал бы, что, как Ваш целое не BOOL.
Я не могу сделать это за вас.
Или [неразборчиво], выдавали ошибку.
>> И я могу быстро вернуться в узел и показать некоторые из этих функций.
Так что я могу есть уаг а.
Назовите это "Яблоко". Так что теперь, когда я печатаю, Я получу свой строку, 'Яблоко ". Но я могу
Также теперь говорят равен 3.
И обратите внимание, нет никакой ошибки.
И теперь равен 3.
Любые вопросы до сих пор?
Да.
>> АУДИТОРИЯ: Подождите, так console.log в основном Е, верно?
>> Роджер ZURAWICKI: console.log Ваш Е.
>> АУДИТОРИЯ: Верно.
Так как же, если вы просто введите в восемь или [неразборчиво], что способствует тому,
[Неразборчиво]?
>> Роджер ZURAWICKI: Верно.
Таким образом, это -
материал зеленым печатается в консоли.
И то, что мы увидим дальше, когда мы двигаемся в Интернете
страницы, мы не будем делать -
JavaScript будете иметь HTML Шаблон, который я расскажу в
Метеор часть семинара.
И вот, когда вы можете сказать, дай мне значение, и это поставит ин
ваш сайт.
Потому что каждый веб-браузер на самом деле есть немного консоль.
И если вы очень внимательно, вы бы получить некоторую информацию, как ваш
Е это появляясь там с каждый веб-страницы загрузки.
>> АУДИТОРИЯ: Как вы попали на экран оболочки?
>> Роджер ZURAWICKI: Так что есть команда называется узел, и он приходит с Meteor.
Так что я буду просто бросить оттуда.
Узел это программа, которая работает JavaScript.
Если вы идете в meteor.com, вы можно установить Метеор, и
Метеор поставляется с узлом.
Потому Метеор это просто набор всех этих программных пакетов.
Когда мы получаем к нашему примеру, я буду пешком всех через установку
Meteor, а затем вы можете играть с узлом себя.
ОК, отлично.
>> Так одна интересная особенность о работе с JavaScript в петли одинаковы.
В значительной степени то же самое.
Для петель, а петли, делать в то время как петли, если в другом месте.
Это все то же самое с фигурными скобками.
Это тот же синтаксис.
В случае цикл, маленький подробно, что вы должны обратить внимание
чтобы вместо ИНТ я равна 0, мы должны сказать, вар я равна 0.
Но это потому, что из переменных типы, что мы говорили раньше.
>> Обратите внимание, что Е становится Журнал, console.log.
И мы не должны сделать процент р обратный слеш н а затем передать в I.
Вы можете просто сказать, что я.
И было бы печатать номера от нуля до четырех.
Если вы, ребята хотите попробовать это, потому что Вы воспитали хорошую точку.
Если вы хотите запустить этот код себе на собственный браузер, я рекомендовал бы,
все открывается Google Chrome.
Google Chrome или любой веб-браузер действительно, но мне нравится Google Chrome
, потому что это очень стандартизированы.
>> Вы можете пойти в, я считаю, если щелкнуть правой нажмите на любой веб-сайт, на всякий
пробелы, вы увидите опцию называется Осмотрите элемент.
Это, как правило последним.
И когда вы щелкните по ней, вы должны получить вещь на дно появится здесь.
Позвольте мне увеличить здесь.
И у нас есть несколько вкладок здесь.
Тот, что вам нужно это консоль.
>> И это консоль JavaScript что теперь вы можете работать с.
Великий.
Так что я могу ввести тот же самый материал Я печатал прежде в узле.
Один плюс один равно двум.
Var равно "Яблоко".
А потом я бы напечатать, и является «Яблоко».
Так что в любом веб-браузере, Firefox, Chrome, Сафари, что вы используете, как
Пока у вас есть доступ к JavaScript Консоль, такой же
Код я бежал в узле, который может работать в своем собственном консоли.
>> АУДИТОРИЯ: [неразборчиво]?
>> Роджер ZURAWICKI: Как добраться до консоли?
Вы должны правой кнопкой мыши на пустом пространстве на странице, а затем вы идете в
Осмотрите элемент.
Так на самом деле, я бы хотел вас, ребята просто убедитесь, что вы можете
Осмотрите элемент в Chrome.
И видеть, когда вы набираете в некоторых Код в консоли
что он работает правильно.
Не стесняйтесь задавать любые вопросы, если что-то не ясно.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Любой тип, прямо.
Там только один тип для всех переменные в JavaScript.
И когда вы должны объявить переменная, вы говорите вар.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Да.
Да, но в JavaScript, это очень умным о выделении памяти.
Там нет таНос.
Там нет свободной.
Так что вам не нужно беспокоиться о том, что.
Это еще одна приятная особенность, которая JavaScript предоставляет вам.
>> Поэтому я хотел бы, чтобы двигаться дальше.
Это было бы в порядке?
ОК.
Великий.
>> АУДИТОРИЯ: Я просто возникли проблемы найти [? Осмотрите элемент. ?]
>> Роджер ZURAWICKI: Так Safari выглядит немного отличается, но вы
есть Chrome или Firefox?
Те, тем легче те, чтобы работать.
И для ваших проектов, я рекомендую придерживаться одного браузера, потому что
Вы получите много ошибок почти потому что каждый браузер обрабатывает
JavaScript HTML немного по-другому.
Поэтому я думаю, ваша жизнь будет намного легче, если вы будете придерживаться Chrome, потому что
она доступна на всех машинах.
И это довольно популярный браузер.
ОК?
>> Так что в следующий тема, которую мы должны охватить в JavaScript -
Я сожалею о форматировании здесь.
Мне пришлось растянуть слайды, чтобы соответствовать широкоформатный проектор.
Но я бы сейчас хотел говорить о как вы делаете функции.
В C, мы должны объявить каждая функция.
Как междунар добавить, и он принимает Int в х, и внутр у, а затем добавляем их
и вернуть его.
>> В JavaScript функции на самом деле другой тип переменной.
Таким образом, мы просто скажем, вар добавить, и она равна функции.
Функция, которая принимает х и у.
И что это функция делать?
Она возвращает х плюс у в точно такой же Синтаксис как в C. И вы заметили, что в
JavaScript, вы не будет сказано, что Функция возвращает, потому что с
переменные не имеют типов в любом случае, это это не совсем продуктивно, я думаю,
быть указав все свои типы в ваших функций.
А потом, когда вы вызываете функцию, это точно такой же синтаксис, как С. You
просто передать в ваших двух аргументов.
Я хотел бы попробовать это в моем узле.
Могу ли я изменить слайд?
>> АУДИТОРИЯ: [неразборчиво].
Сможем ли мы получить копию слайдов?
>> Роджер ZURAWICKI: Да.
Так давайте вернемся к узлу.
ОК.
Так что я буду говорить, вар добавить равна функцию.
Принимая х, принимая у.
А потом он знает, что заявление'S не завершена.
Таким образом, в узле или в консоли, Вы заметите, точка точка точка.
Таким образом, вы можете держать набрав код.
А теперь я скажу возвращение х плюс у.
И затем закройте скобки.
И в тот момент я закрываю скобки, это видит, что заявление закончена.
>> И теперь я могу сказать, добавить один и два.
И я получу три отъезде.
Заметим, что если я просто добавить, что говорит мне, что это функция.
И еще одна вещь просто обратить внимание на , если вы даете ему неверное количество
аргументы, это сделает.
Он будет работать, но вы могли бы получить некоторые действительно странные результаты.
Вроде как значение мусора, Вы можете думать об этом.
Поэтому, пожалуйста, идти вперед и попробовать это в ваш браузер.
>> Итак, в целях экономии времени, я буду теперь перейдем к следующим особенностей в
JavaScript.
Таким образом, мы уже говорили об функций.
Мы говорили о циклах, если заявления тоже.
Синтаксис такой же, как С и переменных.
А теперь я хочу поговорить о массивах.
Мне очень жаль, что горки Стал немного отрезаны.
Но на самом деле, в первом разделе, все, что нужно будет работать.
>> Поэтому у нас есть еще один тип для переменные называются массивы.
И мы используем квадратные скобки для обозначения их.
Таким образом, в первом примере вар обр, пустой массив.
Это пустой список, поэтому массив не содержащий элементы.
И вы также можете иметь массив с тремя строками.
В C, каждый элемент в массиве должен быть того же типа.
>> Но поскольку в JavaScript есть только один тип, массивы могут на самом деле
есть различные типы значений.
Как здесь, у нас есть массив с поплавок, логический, и внутр.
То, как вы получаете длину массива, Вы на самом деле не должны использовать размер
или что-нибудь.
Вы просто говорите массив и то точка длину.
И эта длина точка, вы можете думать о это вроде как структуру, как каждый
Массив имеет поле, дополнительная переменная внутри него называется длина, которая
отслеживает, как долго ваш массив.
>> Так что я просто быстро собираюсь вдаваться в узел и показать вам, ребята то же самое.
Так что я могу есть массив.
Это может быть пустой список.
И он будет печатать мне резервное пустой список.
Великий.
Теперь я могу сказать, что массив имеет 1, и 2.3, и правда.
Так что все различные типы.
И вы заметите, что он работает просто отлично.
Массив я вернусь опоры все значения, которые я дал его.
>> Если бы я хотел, чтобы получить первый элемент массив, синтаксис на самом деле
такой же, как у С. You Можно сказать, массив нулевой.
И вы получите один.
Я могу сказать то же самое для массива два, и я получаю истинное.
Если я делаю что-то вне массива, JavaScript является безопасным язык
потому что я не получите ошибку сегм.
Я получу определено.
>> И это не определено, вы можете рода из думаете об этом нулевой.
Но это может быть действительно раздражает, когда вы Код, потому что вы будете иметь, чтобы проверить, что
почти все, что вы делаете, вы работать с не определено.
И мы увидим, некоторые примеры это, когда мы работаем в Meteor.
>> Хотя массив четыре не определено, Я могу присвоить ему значение.
Так что я скажу, что это равняется одному.
И потом, если я иду в массиве, я имеют дополнительную ценность там.
И обратите внимание, что массив три, которые также был определен, остается неопределенным.
Так что я теперь есть массив с отверстие в середине.
Но если я напечатал массив четыре, Я хотел бы получить один.
Если бы я сделал массив три, я получаю не определено.
>> Таким образом, хорошая особенность, что JavaScript позволяет делать то, что списки могут
изменить размер.
Массивы, массивы быть списки, они меняют размер.
И вы можете указать любое место внутри них.
И все пробелы будут восполнены с этими неопределенными значениями.
>> Таким образом, мы уже говорили об массивов.
Теперь, последнее, что я хочу рассказать, в JavaScript, и это очень важно
к пониманию кода, Я собираюсь показать вам,
будет объекты.
И объекты член в -
В основном, они присутствуют в многие языки программирования.
И каждый язык программирования любит думать о них немного по-другому.
>> Но я думаю, для Метеор, хороший Аналогия С структурой.
В Си, если мы хотим, чтобы найти структуру студент, мы должны были бы указать все
вещи внутри него.
Поэтому он должен иметь имя.
Он должен иметь в год.
Он должен иметь пол.
Но мы также должны дать ему типы всех тех вещей.
>> И теперь, когда у нас есть эта пресс-форма для структура называется студентом, у нас может быть
Новая структура, а затем мы можем вручную сказать, что каждое из полей являются.
И вот, когда мы использовать точечную имя, точка году, точка пол.
А потом мы просто, в последней строке Код здесь, я просто распечатав
Название структуры студента.
>> В мире JavaScript, есть нет такого понятия, как структура студента.
Вы не генерируют предустановленной структуры.
Вы на самом деле просто, в этих скобках, вы говорите, что все.
И именно это странно обозначения с толстой кишки, а затем запятая, но вы будете
привыкнуть к нему достаточно скоро.
>> И это на самом деле очень проста, гибкий способ просто
управления объектами.
Вы заметите, что если я хочу теперь получить название от с, я просто делаю s.name.
Есть ли вопросы по этому поводу?
Как правило, это был очень запутанным тема, когда мы вводим людей
JavaScript.
Я сделаю некоторые примеры этого в узле.
Да?
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Так вы есть пример, различные
переменные этого типа.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: ОК.
Так что я думаю, как вы бы идти о является вы бы положить объекты в массиве,
и теперь вам придется Массив объектов.
Я ответил на ваш вопрос?
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Да.
S является одним объектом.
Таким образом, мы можем пойти в узле и просто играть вокруг немного.
>> АУДИТОРИЯ: [неразборчиво]?
>> Роджер ZURAWICKI: О, хорошо.
Так что, если вы спрашиваете, что такое классы, классы рассматриваются очень по-разному,
и у них есть действительно странное схему называется прототипов, которые вы не
нужно знать о.
Там нет фиксированной способ сделать это.
Так что если вы хотите создать несколько, вас бы только отчасти имеют функцию
или что-то.
Вы генерировать свою собственную функцию.
И вы вернетесь объект.
Это было бы самым простым способ сделать это.
Имеет ли это смысл?
ОК.
Великий.
Поэтому, как только у нас есть понимание того, JavaScript объекты, они -
о, да.
>> АУДИТОРИЯ: [неразборчиво]
Например, в чем разница между "Роджер" в двойные кавычки в сравнении с
[Неразборчиво] в одинарные кавычки.
>> Роджер ZURAWICKI: ОК.
Так что это в C, у нас есть один котировки, представляющие символы и дважды
котировки, представляющие строки.
JavaScript фактически бросает это далеко потому что вы можете иметь строки с
одинарные или двойные кавычки, и есть не существует такого понятия, как единый символ.
Но если вы просто скопировали то же самое С код, JavaScript будет
относиться к нему очень хорошо.
Именно поэтому я рассматривал его как -
вот почему я могу буквально порт код в этом смысле.
>> И я хочу показать вам пример более сложного объекта.
Таким образом, вы можете заметить, что один объект может иметь строки в качестве значений.
Он может иметь другой список значений.
Это может быть список объекты в качестве значений.
Там на самом деле никаких ограничений на это.
Так вот, это просто хорошая демонстрация о том, как вы можете получить много
различные виды, происходящие все в одном объекте.
Имеет ли это смысл?
>> Теперь, вы также можете иметь массивы объектов.
А вот вид похож на то, что вы спросил, если вы можете иметь объекты
того же типа.
Но проблема в том, что нет фиксированного Формат для объектов в JavaScript.
Таким образом, вы должны указать их самостоятельно.
И вы должны убедиться, что они однородны.
Так вот, когда я создаю объект, у меня есть чтобы убедиться, что каждый из них имеет
имя, и каждый из них имеет дом.
>> А потом у меня есть массив из тех, и что может быть мой дом.
А потом здесь вы можете рода см. для контура происходит.
Для контура быть просто действительно общим способ для обхода над массив
в JavaScript.
Обратите внимание, что эта модель очень похожа с С эквиваленте, где вам
есть внутр я равна нулю. я меньше, чем длина.
И тогда я плюс плюс.
>> Это почти тот же код, за исключением некоторых деталей.
Так ли все понимают что объект находится?
Подумайте об этом как C структуры.
И то, как вы доступ к полям просто с точки.
И до тех пор, как вы помните, как использовать точку, все будет в порядке.
>> Итак, теперь можно все читать эту ссылку?
Это ссылка на проект.
Кто возникли проблемы ли видя ссылку?
Хорошо, давайте изменим его тогда.
Это не -
Да, это, пожалуй, Самый простой способ сделать это.
Великий.
>> Так что, если вы идете на этот сайт, там должны некоторые инструкции, которые я буду
перейти от того, как мы можем установить Метеор и получить наш ход пример проекта.
Я хочу убедиться, что у всех есть ссылка вниз, прежде чем я двигаться.
Могу ли я двигаться дальше?
ОК, отлично.
>> И вот я здесь на сайте.
Вы заметите в файле ридми, у нас есть некоторые инструкции о том,
чтобы й настроить.
Вы должны быть либо в CS50 Прибор или просто на Mac.
Окна не будет работать.
Но в основном все, что не Окна должны работать с этими
инструкции просто отлично.
Но я могу сделать это немного больше, а также.
>> Таким образом, вы будете работать первым пара команд.
Эти ребята просто установить Метеор.
Я могу пойти в моем терминале.
А если я бегу то же самое сейчас, У меня уже есть он установлен.
Так что это немного короче.
Это может занять немного больше времени для вас, ребята.
Но я хочу сначала убедитесь, что у нас есть Метеор работает.
После установил Метеор, вы должны иметь возможность получить узел в консоли.
>> АУДИТОРИЯ: Они просят пароль.
>> Роджер ZURAWICKI: Это было бы ваше пароль пользователя, если вы находитесь на Mac.
Это просто необходимо разрешение изменить некоторые системные файлы.
Таким образом, вопрос был, если он просит у вас пароль, это просто прошу вас
имя пользователя пароль при Вы зайдете на свой Mac.
И это так, что вы можете изменить системные файлы.
>> И когда вы будете готовы, вы можете двигаться дальше к следующему шагу, который будет копировать
Пример кода у меня на сайте.
И вы получите новый каталог в вашем домашний каталог называется Лидеры и
мы можем начать работать оттуда.
Так что я просто копируя и вставляя их команд в моем терминале.
И для меня, я уже клонировали его.
Поэтому я могу только сейчас двигаться в лидеров.
И я должен иметь несколько файлы в там.
Есть вопросы?
>> АУДИТОРИЯ: [неразборчиво] не работает.
>> Роджер ZURAWICKI: О, вы, возможно, нужно Git установлен также.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Извините?
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: О, хорошо.
ОК.
Это потому, что вы, возможно, должны быть вошли в GitHub, чтобы получить по этой ссылке.
Если вы, ребята могут увидеть, что, самый простой способ сделать это, я бы тогда сказать,
скачать молнию.
И это будет просто скачать все файлы.
А потом, как только вы поместите его в скачать или ваш домашний каталог -
Я рекомендую положить его в свой домашний каталог, чтобы мы могли все
запустить те же команды.
Пока у нас есть файлы, мы будем сможет начать работать с ними.
Дайте мне знать, если люди, имеющие Проблемы с загрузкой файлов.
>> АУДИТОРИЯ: По домашнем каталоге, Вы имеете в виду -
>> Роджер ZURAWICKI: Так домашний каталог будет быть Джон Гарвард, если вы находитесь в
CS50 прибор.
Чтобы добраться до вашей домашней директории, просто введите С.
>> АУДИТОРИЯ: [неразборчиво]
CS50 прибор [неразборчиво].
>> Роджер ZURAWICKI: Да.
Вы хотите, чтобы выполнить команды в вашем терминале.
>> АУДИТОРИЯ: [неразборчиво].
Я получил сообщение об ошибке, которое говорит нет такого файла или каталога.
>> Роджер ZURAWICKI: Мы можем взять быстрый сломать и просто убедитесь, что
у каждого есть установлен Метеор, и я буду просто пойти попытаться помочь людям.
Пожалуйста, попробуйте помочь друг другу, если вы работаете с проблемами.
К сожалению, да.
Вы оба в приборе?
>> АУДИТОРИЯ: Да.
У меня есть RISA
>> Роджер ZURAWICKI: ОК.
Если вернуться на сайт, идти прокрутки вверх к вершине.
И есть в этом HTTPS.
>> АУДИТОРИЯ: Скопируйте это?
>> Роджер ZURAWICKI: Да.
А потом вы хотите введите в Git клон.
Так что, если вы нажмете Control A -
>> АУДИТОРИЯ: Здесь?
И сделать [неразборчиво]?
>> Роджер ZURAWICKI: G-Я-Т.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Git, а затем клонировать.
Так что это очень похоже на команду, которую вы был выше, но URL изменилось.
Поэтому, прежде чем это было это, сейчас именно это.
Позвольте мне обновить -
да.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Это загружается.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: О, так это не клонировать правильно.
Я буду это исправить.
Там в ошибке с попыткой для загрузки файлов.
Позвольте мне обновить команду для вас, ребята так что я могу убедиться, что он будет работать.
Я сожалею об этом.
Он должен быть одинаковым для Маках или CS50 прибор.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Я обновил Команда для номер два, если
Вы обновите страницу.
И с этим, URL, вы должны быть возможность загружать файлы.
>> АУДИТОРИЯ: Так что, если мы до сих пор загрузки [неразборчиво].
>> Роджер ZURAWICKI: Если вы еще загрузки Метеор?
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Да, если вы хотите разработать на вашем Mac.
Но для этого нужно разработчику Xcode инструменты установлены.
Я проверил эти команды на CS50 Прибор, так что я могу гарантировать,
что он будет работать.
Да. отпусти меня и помочь вам.
>> АУДИТОРИЯ: [неразборчиво].
Я даю пароль.
Это Mac.
А потом я [неразборчиво].
>> Роджер ZURAWICKI: ОК.
Я хотел бы попробовать работать все команды исключительно в CS50 прибора терминала.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Я бы это заработало Первый на терминале, на
CS50 прибор, а затем терминал Mac.
>> АУДИТОРИЯ: Так что, если вы делаете это на CS50 прибор так, [неразборчиво].
>> Роджер ZURAWICKI: Я хотел бы, чтобы переместить на, но если люди по-прежнему не
Беда создания Meteor, Кевин больше чем рады помочь вам, ребята из,
Кевин в серой рубашке.
То, что мы должны иметь это мы собираемся запустить последнюю команду, номер три, в
наш терминал.
Когда мы это сделаем, мы будем запускать Метеор.
>> И вы должны -
ой, у меня уже есть Метеор работает.
Так что это не позволю - пусть мне просто закрыть мой другой Метеор.
Когда я запускаю Метеор, ты теперь должны видеть, что -
вы должны увидеть текущий каталог что это подачей на стол.
И теперь он собирается сказать серверу работает на http://localhost.
Это URL вы хотите поставить в в веб-браузере.
>> И в тот URL, вы должны быть в состоянии доступ миленький лидеров.
Так заметить, что это на локальной, Это означает, что если вы выполните любое
изменения, вы не собираетесь, чтобы см. изменения друг друга.
В то время как на сайте я показал вам в начале, мы могли бы получить
изменения у всех, потому что все был доступ к той же веб-сайт.
>> Итак, позвольте мне просто пойти [? слово?]
3000.
Таким образом, вы должны быть в состоянии просто подтвердить что функциональность работает.
Вы можете выбрать разные люди, и вы можете дать им различные точки.
Так что я дать кто-то баллов.
Вы также можете видеть, что они поднимаются в звании.
>> Теперь, в целях экономии времени, есть три особенности, которые я
реализованы.
И мы собираемся реализовать удаление пользователи, как наш первый фильм.
Но прежде чем мы перейдем, являются Есть ли вопросы?
У тебя был руку.
Да?
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Вы можете проверить устанавливается, что Метеор?
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: локальный хост 3000?
И вы находитесь в CS50 прибора?
Что я могу сделать -
Вы не должны быть на Mac.
Это будет работать в приборе.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: В нормальное веб-браузер, да.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Является Метеор работает?
Так хорошо, что есть различие здесь.
Если вы запускаете его в Прибор, что вам нужно сделать
локальный внутри прибора.
Если вы работаете его в Mac, как я, то я могу сделать
мой Mac Google Chrome.
Но если вы используете CS50 прибор, Вы должны сделать все,
в приборе.
Таким образом, вы должны использовать Google Chrome в приборе.
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Это еще не работает?
>> АУДИТОРИЯ: [неразборчиво].
>> Роджер ZURAWICKI: Так что просто повторить, Как получить доступ к веб-сайт в настоящее время.
У вас есть URL здесь локальный 3000.
Если вы находитесь в CS50 прибора, вы должны открыть CS50
Appliance в Google Chrome.
И в этом Google Chrome в Прибор, вы можете ввести в этом URL,
и вы должны увидеть лидеров.
Так что я собираюсь просто поставить его в сторону здесь немного.
А теперь я собираюсь открыть мой текстовый редактор здесь.
Итак, позвольте мне просто убедитесь, что код в порядке.
ОК.
Великий.
>> Я хотел бы сейчас идти через код немного.
И первый файл я хотел бы начать с есть leaderboard.html.
Вы будете иметь возможность получить этот код после семинар, так что я просто хочу показать
Вы на моем компьютере, что происходит.
Поэтому я надеюсь, каждый может убедиться в этом.
Так в самом начале файла, мы есть нашу голову и титул, который
подобно тому, что мы видели в каждом HTML документа.
И тогда мы будем иметь тело тега здесь.
>> То, что я выбрали является основным тело, в основном то, что
собирается получить отображается.
Но есть некоторые новые не-HTML вещи, и это в
двойные угловые скобки.
И это шаблон теги.
Таким образом, вы увидите здесь этот кронштейн Кронштейн новый Лидеры.
И это своего рода - думать об этом как вызов функции для HTML.
>> Это специальная версия HTML.
Это версия, которая использует Метеор, который Именно поэтому вы можете показать разные
вещи, например, в списке лидеров имена и кнопки.
Но Лидеры говорит вам, чтобы перейти к Шаблон с именем лидеров.
Так шаблон не получить отображается на Сам, но это функция, так что
будет вызван.
И вы будете заменить во всем этом Код прямо здесь в лидеров.
>> Интересная часть лидеров вот только эта таблица.
Если вы только что прочитали, читайте этот код вслух, он должен быть интуитивным
потому Лидеры, все, что мы есть здесь представляет собой таблицу.
Этот идентификатор класса вещи вы не нужно беспокоиться о.
Просто знайте, что есть заголовок таблицы.
Вот это THEAD.
>> И он находит имя и счет.
Все эти теги, как thtable, THEAD, вы просто узнать, как вы идете вперед.
Это не важно, что вы запомните это потому, что вы можете просто получить доступ к любому
ссылаться в Интернете.
Или к концу семестра, они как раз и будет очень хорошо знакомы с вами.
>> После заголовка таблицы, часть, которую я хочу обратить ваше
внимание к это ч тег.
Потому что это в двойных квадратных скобках, это шаблон.
Таким образом, это означает, что для каждого из игроков, все игроки есть, мы должны
показать его.
И мы идем в шаблон игрока.
>> Если мы прокрутите вниз немного больше -
Я надеюсь, что каждый может видеть, что.
У нас есть шаблон проигрывателя.
И этот шаблон в основном определяет ячейки таблицы, где вы положили во имя
здесь и счет.
Уменьшение масштаба сейчас, мы видим, что это кусок кода -
и это было нашим игрок там -
определяет одну из этих клеток.
Каждая вещь, что я нажимаю становится желтым.
>> Простой способ я мог изменить это сейчас.
Убедитесь Метеор-прежнему работает.
Метеор должен быть процесс сервера, так что вы просто оставить его
работает, когда вы разработали.
Скажем, я хотел изменить все имена или счет.
И я бы сказал, что я собираюсь добавить точки здесь.
Таким образом, изменение, которое я сделал здесь был, а не только счет, я
добавить оценка космические очки.
>> Я собираюсь уменьшить масштаб, и я собирается спасти мой файл.
А после я сохранить файл, мне нужно чтобы убедиться Метеор работает.
К сожалению об этом.
Я хочу показать вам правки были сделаны в режиме реального времени.
Так что я просто изменить текст.
Нажмите игрока.
Я ставлю его в заглавными буквами.
И это должно быть, что если это работает должным образом, когда я сохранить его, он
обновит.
>> О, я думаю, сейчас проблема в том, Я не в правильном каталоге.
ОК.
Я сожалею об этом.
Так вот, то, что вы заметите, мне смена прошла.
Теперь, я хочу вернуться изменение.
Я хочу вернуться к тому, что у меня было.
Я просто хочу, чтобы ввести его в обычном режиме.
Нажмите игрока.
>> В тот момент, я сохранить его, Сайт обновляется для меня.
И я вижу, мое изменение на сайт мгновенно.
Это действительно полезная функция при отладке, потому что теперь
Я не придется -
когда мы пишем С-код, не только сделали мы должны сохранить файл, но мы должны были
сделать это, а затем запустить его снова.
Метеор очень приятно, потому что в отличие от C, момент, когда вы сохраните HTML или
JavaScript-файл, изменение сразу появляется.
>> Один вопрос, в этих шаблонов, как я могу получить значения, как игроков
или выберите имя?
Если бы я увеличить здесь в мой код, Я вижу это по каждому игроков.
Таким образом, шаблон знает, что У меня есть игроки как-то.
И он знает, что есть Выбранное имя.
Откуда это взялось?
Это происходит от JavaScript.
>> И если вы идете в leaderboard.js, это файл, теперь, когда я иду сюда, у нас есть
Несколько команд определены.
Это специальный синтаксис Метеор.
Обратите внимание, что вам не нужно переменные или что-либо.
Но это только структур на структур на структур или этих объектов.
И все я определяю это шаблон называется Лидеры.
>> Лидеров должны получить что называется игроков.
И то, что игроки?
Это все, что это выражение возвращает.
И то, что выбранное имя?
Это некоторый код.
Подробная информация о коде мы охватывать чуть позже.
Но сейчас я хочу, чтобы вы поняли что в этом коде, мы принимаем
игроки, и мы даем ему значение.
В этом случае, это функция что запускается на выполнение.
Таким образом, мы можем получить значение обратно когда мы запускаем функцию.
Это журнал.
Имеет ли это смысл?
>> Я могу изменить то, как это отсортированы.
Здесь есть объект рода.
И то, что это говорит в Я собираюсь разобраться на счет убывания первый и
назовите возрастанию.
Если я изменю это одному, он собирается сортировать оценка возрастания.
Так нуля должны быть на вершине.
И когда я увеличить в моем веб-сайте, мы Теперь видим, что сайт обновляется.
И счет уже взойти.
>> Следующая функция Я просто хочу для покрытия является нажмите приращение.
Из интересах экономии времени я не буду сможет охватить большую часть Метеор
Код, но есть много ресурсов доступны, и я буду
здесь после семинара.
Но я просто хочу, чтобы покрыть лидеров события.
Этот синтаксис вы узнаете Чуть позже в лекции.
Это JavaScript.
>> Мы просто говорю, что, когда мы получаем щелчок, и это на приращения, это
хэш просто означает, ID.
На прирост ID тега, то мы хотим обновить - ключевые слова, которые я хочу, чтобы вы
смотреть это обновление и выбрать и игрок.
Так в зависимости от того ИГРОКА выбран, мы обновляем ее.
И то, что мы делаем, мы увеличиваем его оценка на пять.
И что будет содержать описание функциональных возможностей мы имеем здесь.
>> После окончания этого семинара, мы будем сможете увидеть некоторые больше кода.
Но возвращаясь к своей цели, что я хочу изменить сайт, я хотел сюда
добавить кнопку удаления так Я могу удалить игрока.
Таким образом, чтобы сделать это, мне нужно сделать две вещи.
Мне нужно обновить HTML, обновить смотреть, что получает показан пользователю, и
то есть наличие, что, когда нажатии кнопки Метеор собирается
что-то делать.
Это собирается удалить этого игрока.
>> Таким образом, есть много участков кода, которые имеют в основном уже
было сделано для меня.
Если я смотрю здесь, у меня уже есть путь получения выбранного игрока.
Вот этот материал, если вы можете увидеть его.
Так что, если я просто -
Я буду иметь еще одно событие.
Так что я собираюсь копировать то, что у меня есть.
Потому что это список, Мне просто нужно запятую.
>> Так что теперь я собираюсь нажмите удалить.
И тогда вместо обновления игроков, Я собираюсь сделать игроки удалить.
И все игроки удалить потребности является выбранного игрока.
Так эта функция все, что нужно.
Мне нужно добавить некоторые HTML здесь все же.
Так что если я прокрутите вниз здесь, это мнение HTML.
У нас был вещь здесь, который был тег.
Вам не нужно беспокоиться о том, что.
>> Какие вопросы к вам это ID приращение.
И это то, что позволило нам сказать, когда мы нажали приращение, мы должны
дать пять очков.
И вы увидите, что это кнопка.
Вот что значит-кн.
И текст на кнопке это дать пять очков.
Так что я собираюсь сделать, это я собирается копировать эту строку.
Я собираюсь изменить идентификатор для удаления.
И я собираюсь изменить текст здесь, чтобы удалить.
>> Поэтому убедитесь, что все в спасены.
Я хочу вернуться к моему JavaScript чтобы убедиться, что у меня есть
удалить выстроились здесь.
Хорошо.
Так что я иду, чтобы спасти оба файла.
После сохранения оба файла, мы может вернуться на дно.
И теперь мы видим у нас есть Кнопка удаления.
И еще один шаг.
Вы замечаете, вы могли бы получить Ошибка потому что, когда я нажимаю
удалять, ничего не происходит.
>> Способ отладки это пойти обратно в Осмотрите элемент.
Я делаю это нарочно, чтобы вы могли посмотреть, как вы бы отладить что-то.
В Осмотрите элемент, у нас есть все наши тексте здесь.
Я хочу вернуться к консоли.
И что происходит, когда я иду сюда это я получить какую-то ошибку.
Это говорит, что нет никакого способа удалить.
>> Так что же это говорит, когда я иду обратно в код, я позвонил игрока
удалить здесь.
Удалить на самом деле не право команда.
Таким образом, чтобы выяснить, что право команда есть, есть API Метеор.
Документация я хочу указать вам ребята на это раз в meteor.com.
Так что я его здесь.
Это только так вы, ребята, знаете, где, чтобы узнать больше.
>> Там в ссылке в документации.
А в принципе, я могу просто находим для удаления.
И то, что вы видите, удалить на самом деле удалить.
То есть команда, Мне нужно позвонить.
Так что теперь мы знаем, что, я собираюсь изменить это удалить удалить.
Так что теперь, когда я возвращаюсь к моему лидеров сайт, я собираюсь нажмите
удалить, и теперь я уйду.
Там нет больше Роджер.
И я могу продолжать жить удаления каждый одно имя, пока я не ничего не осталось.
>> Так, чтобы было немного просмотр о том, как использовать Meteor.
Вы будете учить намного больше наличие и HTML необходимо сделать
она выглядела красивее, которые мы рассмотрим в на этой неделе [? кусок?] установлен на HTML
и JavaScript в следующем [? кусок?] установлен.
>> Так что не волноваться, если не все этот материал дается легко для вас.
Он будет ко времени Окончательный проект.
Спасибо за показ.
Ссылка Я буду обновлять вскоре после того, Семинар, так что вы можете увидеть некоторые более
Примеры, которые я реализованные о том, как чтобы получить более продвинутые лидеров
что у меня есть на этом сайте здесь один-радикально-leaderboard.meteor.
Спасибо.
>> [Аплодисменты]