>> [Играет музыка]
>> Дэвид Малан: Это CS50, и это начало недели восемь.
И мы так рады приветствовать назад, большой сюрприз, собственный Рамон CS50 в
Гальван, восходящая старший, который был Проведя последние несколько месяцев
с июля в Лос-Анджелесе, в Голливуде, буквально работает на новом телевизоре
шоу под названием Колония, создателем которого на самом деле сам Гарвардский квасцы.
И поэтому мы очень рады видеть это Дебют в сети США в январе этого года.
Так что следите за что, а для более Рамон для недель приехать.
>> Знайте же теперь, что конец близок.
И то, что это означает, что там не все, что многое осталось CS50, к сожалению.
У нас есть только три проблемы наборы left-- есть
Проблема установить six--, который находится в Ваши руки сейчас или в ближайшее время будет,
в конце этого week-- призвана устранить наши миры в командной строке, где
мы провели большую часть нашего времени, используя С, а мир веб-программирования.
Ну, вы увидите много идей заимствованы из работы из командной строки,
но также много нового и интересные идеи
которые также будет уместна для мобильные приложения и технологии, для
в более общем, с помощью которого Ребята все знакомы в настоящее время
на ноутбуках и телефонах и тому подобное.
>> Таким образом, вы будете осуществлять не веб-страницы, или веб-сайт
как таковой, но фактически веб-сервер.
Вы будете писать остальные веб-сервера написано в C, цель которого в жизни
это получить HTTP запросов, эти виртуальные конверты мы продолжать говорить
о, а на самом деле ответить либо некоторые статические content-- как точка HTML
файл или точка JPEG или любое другое число файлов,
или даже файл PHP посредством веб- сервер будет интерпретировать эту PHP
Код и выплюнул результаты.
Теперь, мы предоставили вам совсем немного рамках
для it-- действительно Код распределения проблемы
установить шесть длиной более 1000 линий, А многие из которых представлены отзывы, чтобы быть fair--
но это на самом деле означает быть возможность
чтобы получить ваши руки грязные дайвинг в довольно большом проекте
что мы очень конкретно вырезанные куски для вас,
так что на самом деле, когда вы выходите CS50 и ввести реальный мир программирования
и хотите, чтобы плескаться в любое количество проектов,
Вы будете иметь гораздо больше комфорт скачивания некоторые источник
Код, некоторые с открытым исходным кодом проекта в Интернете,
и дайвинг в и делает Изменения, которые вы считаете нужным.
Проблема установить семь будет о сделать свой собственный веб-приложение
который принимает динамический ввод и производит динамический выход в виде
веб-сайта etrade.com-как.
И проблема установить восемь будут сосредоточены на еще другой язык известен как JavaScript.
>> Между тем, окончательное Проект находится на горизонте.
Так называемый предварительной заявки из-за неделю с сегодняшнего дня.
Предварительно proposal-- в соответствии со спецификацией, который находится на website-- CS50 в
является довольно случайный возможность для чтобы вы отправить письмо довольно краткий
в учение товарища просто информировать его
или ее, что вы думаете, в использовать его или ее в качестве рупора.
И есть здравомыслие check-- ли вы думаете
о откусывая слишком много или, может быть, слишком мало,
или, может быть, вы понятия не имеете вообще и хотите участвовать в разговоре.
>> После это предложение и отчет о состоянии,
так называемый CS50 Hackathon здесь Кембридж для Гарварда и Йеля студентов
похожи.
Окончательный проект-х Реализация тогда из-за.
А потом CS50 справедливо здесь, в Кембридже, а также еще один в Нью-Хейвене.
Так предложению, взгляните на веб-сайт для тех частностей.
>> Но более возбуждающе, тоже является возможность получить ваши руки грязные,
и ваши умы, открытые для целого куча тем и инструментов
и методы, которые являются вспомогательными к основной программе Курса,
но тем не менее связаны между собой.
А также замечательный ступеньками к делать действительно классные окончательные проекты, которые
выходят далеко за рамки материала мы рассмотрели официально в задаче устанавливает или лекции.
Так что на сайт CS50 для Весь список семинаров.
Если вы еще не зарегистрировать, это нормально.
Идите вперед и зарегистрироваться еще, и мы будем следить за живой связи потокового
день и время на сайте.
И все будет записан и поставить онлайн
если вы не можете сделать в определенные дни недели и время.
>> О том, что впереди thereafter-- хорошо, Конечно, есть CS50 Hackathon.
Эта фотография, напомним, с нуля неделю приняты около 4 часов утра в один из вечеров прошлого года.
CS50 ярмарка, которая снова состоится в обоих городах.
А потом, на завод семян, хотя мы по-прежнему
есть в месяц плюс слева от семестра, если Вы хотели бы присоединиться к собственной учение CS50 в
персонал, и вы хотите, чтобы начать думать о становится CA,
или учение молодец, знает, что мы начинаем говорить о том, что более
позже в этом семестре.
Но на фото здесь Наиболее команды в этом году.
>> И так, PHP--, и я был так грустно на прошлой неделе, что [? Allyse?] Любезно
пошел в усилия получения нас эти замечательные реквизит
что я не в конечном итоге с помощью, так что на самом деле просто посмотрел рода глупо
что у нас лопату сидя здесь все день в прошлую среду, и немного ложку.
Но это был мой метафорический способ попытаться нарисовать
картина, почему мы перехода из С в языке, как PHP.
И то же самое можно сказать и о любой Количество languages-- Java, Python, Ruby
или пучки others-- но в то время как в С, например, написать программу на С
может быть, как правило, принимая ложку, как это
и копать яму в земля, в песок или грязь.
PHP позволяет занять гораздо большие укусы из проблемы,
писать код гораздо меньше используя гораздо меньшую инструмент,
потому что есть гораздо больше, Функциональность собрана в.
>> Теперь, если мы действительно драматические, мы что-то лопатой
здесь, но так оно и будет.
Между тем, с другой Метафора мы придумали
есть, конечно, вы могли бы использовать что-то вроде гаечного ключа
забивать чем-то вроде гвоздя.
Но, конечно, право инструмент для использования собирается
быть не столько язык называется C--
и теперь я просто раздражен [? Сандерс,?] Возможно,
мы это исправим later-- так правильный инструмент для часто используют
не будет это самый низкий уровень инструментом.
И в самом деле, С не является языком, который большинство из вас когда-нибудь использовать,
или обязательно использовать снова.
>> И в самом деле, немного secret-- единственный раз
Я использую C я довольно много между Сентябрь и декабрь каждого падения
семестр.
И это потому, что мы использовать его как возможность
чтобы научить основам программирования,
а вместе с ним компьютера наука основы, данные
структуры, алгоритмов и like-- но очень быстро будет вам
видим, что синтаксис и идеи, лежащие C
так чудесно передаче на более современные
высокоуровневых языков, как PHP и Python и Perl, Java и
и Objective-C-- самом деле, не так много Цель-C-- но Свифт, эти новые
языки, что многие из вас будет то плескаться с вами окончательного проекта.
>> Так что без дальнейших церемоний, давайте на самом деле использовать PHP, чтобы решить некоторые проблемы.
Напомним, что на ранней стадии, в прошлом неделе мы просто использовали CS50 IDE,
мы написали небольшую программу DINKY что только что сказал, "Привет, мир".
И тогда я спас его в файл называется hello.php.
И тогда я побежал эту команду.
>> И почему?
В английском языке, что здесь происходит?
Что я делаю, когда Я побежал эту команду?
>> Да?
>> АУДИТОРИЯ: Там какая-то функция PHP который читает то, что in-- понимает.
Дэвид Малан: Хорошо, есть некоторая функция PHP-- и позвольте мне быть более конкретным,
есть программа под названием PHP, также известное, как
Переводчик, который понимает содержимое hello.php,
и интерпретирует его сверху снизу, слева направо,
и делает то, что говорят эти команды.
Команды в hello.php, конечно, только источник code-- функции
и переменные и петли и и т.п., что мы сами
начали писать в PHP.
>> Но в отличие от C, который является компилируемый язык,
PHP вы просто написать его, и запустить его.
Вы пропустить этот шаг посредника преобразования его в нулей и единиц,
а затем запустить его.
И так, что с ног на это?
Почему мы пропуская шаг?
Почему более современные языки как правило, чтобы пропустить этот шаг?
Что выгода?
>> Или просто интуитивно?
Даже если мы не имею написано много PHP раньше,
что выгодно не о компиляции кода вы думаете?
Нет?
Не совершении?
Чесать голову?
Да.
>> АУДИТОРИЯ: более динамичным.
>> Дэвид Малан: Более динамичный?
Что ты имеешь в виду?
>> АУДИТОРИЯ: [неразборчиво]
Дэвид Малан: ОК, хорошо, так в зависимости от входных данных,
Вы не должны собрать его каждый раз.
И это действительно так просто, как то, что that--
является точкой продолжения скомпилировать код?
Это всего лишь один шаг, что это making-- это требует,
В течение последних нескольких недели, в два раза больше шагов
как только что выполнение программы.
Это было полезно в том, что вы увидеть некоторые сообщения об ошибках и т.д.,
но это еще только раздражает шаг.
>> И поэтому программисты поняли, в течение долгого времени, почему бы нам
начать писать языках, которые не нужно что довольно механической шаг,
так что можно просто написать код и запустить его.
Но какой ценой что мы увидели мы заплатили
на прошлой неделе, с одной конкретном примере?
Да?
>> Скорость.
Так [? что?] переводчики немного медленнее,
в том, что нули и единицы в красиво и быстро для компьютера
чтобы понять, потому что Процессор Intel, или то, что есть,
просто понимает, что происходит на с этими моделями бит.
В то время как переводчика это программа, которая на самом деле
должен прочитать источник Ascii код, который вы написали,
и преобразовать его, так сказать, или выяснить, как она преобразует в конечном счете,
в нулей и единиц.
Так что просто занимает немного немного производительности.
Так что это немного компромисс.
Теперь, если мы делаем это здесь, позвольте мне идти вперед и делать пример следующим образом.
Если я иду сюда, новый файл, я собираюсь сохранить это опять hello.php.
А теперь я собираюсь идти вперед и сказать, "печать привет мир" -
и вспомнить, что я могу использовать печать, я не должны использовать печать-F. А теперь сюда,
если я PHP в hello.php, huh-- я кажется, не интерпретировали его.
Что я сделал не так?
>> Аудитория: угловые браслеты.
>> Дэвид Малан: Да, вам нужно что скобка наверху.
Так что это вид раздражает, но вы привыкнете к нему быстро.
Если я должен написать PHP код, я как правило, необходимо, чтобы сообщить программе,
или рассказать переводчика, эй PHP, вот некоторые PHP-код.
И тогда для хорошей мерой, я бы закрыть это не с этого, а
с углом марки просто вопрос кронштейн, так что теперь здесь,
если я запускаю это снова, теперь Я получить желаемый результат.
>> Теперь давайте сделаем небольшое оптимизации, просто так, что вы видели раньше.
Это своего рода раздражает, что я должны работать PHP пространство hello.php,
потому что в прошлом я может просто написать точка слэш
Название программы, которая является своеобразной приятно.
Это своего рода лучшего пользовательского опыта.
>> Вот и получается, вы можете сделать это в PHP с following-- I
можно использовать это довольно загадочным заклинание в верхней здесь,
которые, как правило, называется притон, причем это резкое символ,
так сказать, это взрыв или восклицательный знак.
И это в настоящее время является путь к программе на обычной системе Linux, что
называется среду, или окр.
И это line-- длинную историю short-- одна линия только
говорит, эй компьютер, найти PHP переводчик для меня в окружающей среде,
найти его в памяти, так сказать.
>> И что теперь приятно, это что если я иду сюда,
Я могу сделать точка слэш привет точка PHP, или-- хм.
Доступ запрещен.
Ну, вы увидите даже больше этого с проблемой установить семь, если вы
уже не имеете, с разрешениями.
Оказывается, что мне нужно для выполнения этой команды
называется [? chamod?] для изменения mode-- плюс х hello.php.
Мне нужно [неразборчиво] это один дополнительный шаг, который говорит мой компьютер,
сделать hello.php исполняемый файл.
А теперь посмотрите, что happens-- точка сократить hello.php, он просто работает.
Мне не нужно, чтобы указать интерпретатор больше.
И я могу сделать это, даже красивее, еще, если я переименовать эту вещь.
Если переместить hello.php просто Hello-- так заметить в левом верхнем углу,
Название программы является действительно сейчас просто Привет.
Теперь я могу сделать его похожим на программу C, даже если это написано в PHP--
или откровенно любое количество других языков.
>> Так предельная повышение, нет функциональной разницы.
Но это всего лишь немного любопытства Теперь, так что вы можете писать программы,
на любом языке, и пользователь не должны знать, или все равно, что это такое.
Ну, давайте посмотрим на более убедительным примером в настоящее время
что я на скорую руку заранее.
И это называется quote.php.
И это доступно онлайн.
И заметьте, что это довольно short-- но это программа командной строки, что это
будет выглядеть цен на акции для меня, что на самом деле происходит
быть уместны для проблем установить семь.
>> Итак, давайте посмотрим, что я делаю.
На самом верху я получил открывающая скобка знак вопроса PHP.
Тогда я получил эту линию, в результате чего я требующих файл под названием functions.php--
мы собираемся, чтобы увидеть Подробнее об этом в немного,
но это, как С-х версия резкое включают,
куда ты хочешь пойти включить другой файл.
PHP называет это требует, хотя это также имеет функцию включают в себя.
И оказывается, что это function.php просто что-то я уже писал класса.
Я положил его в том же каталоге, потому что Я хотел, чтобы вынести код
что мы могли бы использовать в другом месте.
>> Между тем, вы можете, вероятно, вывод, что здесь происходит.
Это немного отличается от C-- но что я имею в виду гарантировать надлежащее использование?
Перевести это более технически.
При каких обстоятельствах это я выход из программы, или выходе?
Да?
>> АУДИТОРИЯ: Когда у вас нет два аргумента командной строки.
>> Дэвид Малан: Когда я не командовать аргументы строки.
И помните, что один из тех, Аргументы само название программы.
И второй будет другое слово я печатаю после строке.
Так же, как C, это это мой способ проверки,
сделал пользователь сотрудничать и запустить программу как я собирался?
Теперь, есть кое-что немного отличается
с C-- в первую очередь мы есть этот знак доллара,
и то, что делает доллар войдите обозначения в PHP?
Просто переменная.
Это all-- просто переменная последующим все, что вы хотите на самом деле назвать это.
Обратите внимание, есть что-то отсутствует из моей программы PHP,
так же, как это было в прошлом отсутствует неделю, по сравнению с C, который является что?
>> А виды, но еще кое-что.
Там нет то function-- основную функцию.
Там нет основной функцией.
Вы просто начать писать код без
беспокоиться о довольно произвольное Конвенция именования по умолчанию некоторые
Функция главный.
Так аргумент С только действительно глобальная переменная
что переводчика делает доступными для меня.
Теперь, это интересно.
Так что смотрите на вещи.
Знак доллара акции на вышло, что моя переменная.
На правой стороне, есть, видимо,
функция в PHP называется поиск, что Я передаю свой последний командной строки
Аргумент, целью которых все слово.
И мы увидим, как это работает в данный момент.
>> А потом, наконец, я сообщаю цену.
Я печатаю одним Доля такой-то.
И помните, что это способ PHP-- образом в PHP--
где вы не должны делать знак доллара S больше.
Вы можете просто использовать фигурные скобки и подключить какой-либо переменной.
Вы не должны беспокоиться о используя Printf таким же образом.
>> И, как в сторону, когда вы кладете переменную внутри двойных кавычек, как это,
Вы используете фантазии технику называется интерполяция переменных.
Это просто означает, подключите переменную здесь.
И, как в сторону, некоторые из вас, кто пришел от других слоев программирования,
Вы не можете использовать одинарные кавычки вокруг струны, чтобы сделать это.
Вы должны использовать двойные кавычки для интерполяция переменных, чтобы работать.
В противном случае вы будете буквально увидеть эти фигурные скобки.
>> Так, наконец, давайте идти вперед и работать в этом.
Позвольте мне сделать мой терминал немного больше.
Позвольте мне идти вперед и работать внутри моей цитатой каталоге.
[? CDsource?] [? М.?] [? цитата?] PHP цитатой точка PHP,
и я собираюсь искать что-то как GOOG, который является его тикер,
и одна акция новым именем, Алфавит Inc, стоимость $ 717, как сегодня.
Ладно, если мы хотим, чтобы Запустим, кто
есть еще один биржевых сводок они хотят, чтобы посмотреть?
>> Microsoft, я думаю, это одно, MSFT-- $ 53.
Я думаю, что Yahoo является, может быть,.
И в том, что Facebook.
>> Так что эта программа делает?
Магия, кажется, быть встроены в этой функции поиска.
Итак, давайте взглянем.
>> Получается, что не пришел с PHP, это в functions.php.
И мы не будем идти через это очень подробно,
но обратите внимание на оперативное слово здесь что на линии шестой functions.php--
Я буквально сказать, функцию.
Я указать имя моей функции.
Я тогда указать любой аргументы, или параметры,
Я хочу, чтобы функция не take-- никакие типы.
И тогда я его реализации.
>> И я буду махать рукой на реализацию,
так как это довольно продвинутый право сейчас, но мы будем видеть его снова на самом деле
в неделю в задаче установить семь.
Но я могу очистить это тоже.
Я также включил в сегодня код версия
цитаты, которая не имеет точка PHP файл.
Потому что то, что, предположительно, на Верхняя часть программы под названием просто процитировать?
Это так называемая shebang-- довольно загадочным заклинание
что говорит найти PHP, а затем запустить его на своем коде здесь.
>> Ладно, так что приносит нам, где мы остановились
Последнее time-- хотя и с некоторые более продвинутые примеры.
Любые вопросы до сих пор о PHP или то, что мы делаем?
No-- все в порядке.
Да?
>> АУДИТОРИЯ: Внутри HTML файлы, делать you--
[? вы ?] [? просто назвать его?] а [неразборчиво] PHP файл?
Дэвид Малан: Хороший вопрос.
В контексте Веб, который мы находимся буквально о переходу к,
Вы не используете так называемый притон в верхней части,
потому что веб-server-- часто Программа называется Apache или Microsoft
IIS, Internet Information Server, или любое количество другого программного обеспечения веб-сервера,
знает, что, когда он видит файл точка PHP, что это
следует запустить интерпретатор на нем.
Это не смотрит на этой первой строки.
Так первой линии трюк просто, когда вы
писать командной строки programs-- который мы не будем делать супер часто,
но это наш способ преодоления наши примеры C до сих пор нашей PHP.
>> Так что давайте действительно преодолеть этот мир от мира из командной строки в Сети
делая следующее.
Позвольте мне идти вперед и делать здесь на мгновение.
Так что, если у нас есть веб-сервер, или, вернее, если у нас есть свой ноутбук здесь,
которые я буду рисовать, как это.
И вот у нас есть Интернет в каком-то виде.
А потом сюда, у нас есть сервер в building--
это, как Интернет works-- и здесь
это сервер с некоторыми огнями, может быть.
Что происходит на самом деле между этими двумя соединениями?
>> Таким образом, в этом здании является веб-сервер.
Это просто компьютер который работает в некоторых операционных
система-- возможно свободное программное обеспечение под названием Apache, который работает CS50 IDE.
Таким образом, вы можете фактически думаю, из этого здания
как здание, в который хранится CSt0 IDE.
Вот где у вас у всех счета, где вы все
иметь свой собственный веб-сервер работает, вы все
есть свои собственные уникальные адреса, как мы начали обсуждать,
и вы будете видеть больше в П. установлены шесть.
>> Вот мой ноутбук где-то еще в Интернете.
И поэтому, когда я посещаю URL, который принадлежит мне, что интернет-трафик будет
на сервер, сервер-х получения HTTP-request--
подобно получить index.html, и это отвечая на этой веб-странице.
Так что это вообще парадигма.
В то время как все до До сих пор сегодня, все
происходит только в ограничивается этого здания.
Я использовал свой ноутбук, но Я был связан с CS50 IDE,
так что все из этих программ я бежал был внутри этого сервера, самой.
>> Но теперь, давайте начнем повторного PHP написать несколько программ, которые фактические
подаются до веб-сервером.
А для этого, я собираюсь пойти в целой кучей примеров
что ввести эту идею здесь.
Так что это своего рода причудливый способ описания парадигмы программирования.
>> И в самом деле, как вы выйдете CS50 или работать на конечных проектов,
или взять некоторые следуют от класса, вы начнете
видеть, что world-- особенно выросшие
с языков, таких как C которые являются супер низкой level--
понимаю, что есть лучше способы написания программного обеспечения.
Есть определенная шаблоны вы можете следовать,
некоторые способы организации файлов и способы именования функций,
так что короче говоря, мир пришел
с целой кучей сокращений и имена путей программирования.
Это всего лишь методы, которые Вы могли бы использовать.
>> И один из них называется MVC, для модели View Controller.
И это только для Теперь, чрезмерно сложным
способ сказать, как вы должны выложить сайт PHP на основе, в нашем случае.
Как вам организовать ваши файлы, как вы организовать вашу логику,
таким образом, что делает его легче написать более сложные веб-сайты?
И в самом деле, мы быстро попасть с р-ром семь.
>> Таким образом, в мире MVC, вы собираетесь видеть, что наш код может вообще
можно охарактеризовать как любой код модели, или код контроллера, или вид Код.
И я собираюсь упрощать его как follows--
контроллер является мозги вашей программы,
это, где все интересная логика бывает.
Так что все мы были писать до сих пор в классе,
вроде как контроллер code-- это контроль
ваша программа, ваши петли, ваш условия, ваши функции
и переменные и все такое.
>> Просмотров, теперь, будут немного более очевидным в мире в Интернете.
Вид эстетика вашего сайта.
Это то, что пользователь sees-- изображения, HTML-столы, HTML теги и все
того, что все пушистый эстетики вещи, которые не то, что трудно написать,
но только то, что вы генерации, это так называемый вид, эстетика.
И модель, в итоге, будет быть stuff-- база данных, которая
мы начнем дайвинг во все тем более в эту среду.
Так контроллер логика, взгляд эстетическое вещи,
и модель будет где мы храним наши фактические данные.
>> Итак, давайте посмотрим на это более конкретно на следующем примере.
Я собираюсь пойти в мой каталог здесь сегодняшней источника code-- все из которых
доступно онлайн.
И я собираюсь идти в версии нулевой.
А вот is-- давайте называть его на Версия нуль сайте CS50 в.
Там не так много здесь вообще.
Это очень простой веб-страницы, что это вероятно, используя то, что HTML-tags-- только
догадаться из последних примеров?
>> Что это?
H1-- вероятно, что большой смелый Название, логотип, что наверху, CS50.
И, что еще в игре?
Да?
АУДИТОРИЯ: Ненумерованный список.
Дэвид Малан: Неупорядоченный list-- так UL тег и, возможно, пару LI тэгов.
И если вы не помните, эти, это честно не имеет значения.
Эти пушистые рода Детали реализации HTML
что вы быстро искать и вы снова на вашем пути.
Мы сосредоточиться на программировании идеи, которые являются более сочными штук.
>> Так что давайте просто взять быстрый посмотреть на HTML-- и действительно
если я открываю источник вид здесь, да, Это именно то, что происходит здесь.
Там в тег UL.
Вложенные внутри, что является LI тэгов.
И тогда я заимствовал URL фактического программе здесь.
>> И тогда в lectures.php по-видимому,
другой динамически страница что будет иметь, давайте see-- ах,
первые две недели лекции.
Так нулю неделю и неделю из, давайте посмотреть на this-- если я посмотреть исходный код страницы,
также супер просто.
Они ведут к двух страниц называется week0.php и week1.php.
Так что теперь рассмотреть, что происходит.
>> Когда я нажимаю на week0.php, мой ноутбук делает запрос на week0.php.
Веб-сервер, также известное, как, CS50 IDE, получает виртуальный конверт что.
Это отображается сообщение как, получить week0.php.
Затем интерпретации файл, верхняя вниз, влево, чтобы right-- файл
называется week0.php-- и выплевывая результатов.
Так внутри этого файла, week0.php, должны быть
логика управления, который генерирует Этот HTML-и мы скоро увидим, что.
>> Но сейчас, позвольте мне нажмите на нулевой неделе, и теперь у нас есть среду и пятницу,
и теперь у нас есть слайды медленно нулевой неделе.
И вы помните это от пути назад, когда.
Так вот этот веб-сайт делает.
>> Итак, давайте рассмотрим, как это делает это.
Я собираюсь вернуться в Исходный код здесь, в CS50 IDE,
и я собираюсь открыть index.php.
В верхней части этого файла это куча комментариев.
И тогда в середине этого файла, его Оказывается, нет PHP кода бы то ни было.
Потому что, если у вас нет какой-либо из открытый кронштейн знак вопроса PHP теги,
Вы свободны просто поставить HTML.
>> Потому что то, что PHP- переводчик должен делать,
когда он читает эту file-- сверху вниз, слева right--
это только интерпретирует код он видит между эти скобки знак вопроса.
И что-то еще, что это не признать PHP, он просто выплевывает.
И HTML-ли среди вещей это будет просто выплюнуть.
>> Так этот файл может иметь были index.html,
но я все называя точка PHP как трамплин.
Lectures.php-- аналогично восторг, это лишь некоторые HTML.
Week0.php, аналогично лишь некоторые HTML.
>> Но теперь давайте на пресловутый инженерно шляпа,
и рассмотрим, как мы можем улучшить это.
Это не трудно сделать, но я вроде из превратились в копии и пасты.
И в самом деле, если я неделю два, вы знаю, что я, вероятно, буду делать?
Я собираюсь поехать в week1.php, я собирается выделить все.
Я собираюсь скопировать его, вставить его в новый файл с названием week2.php,
изменить некоторые адреса, и быть на моем пути.
>> Так на основе того, что мы видел в C уже
это не чувствует себя хорошо, с надеждой.
Копирование, вставка редко правильное решение.
Так что мы можем начать сделать, чтобы улучшить это?
Каковы возможности для лучшего дизайна?
>> К тому времени, я получаю, чтобы неделю восемь, это будет
чтобы быть действительно раздражает если я хочу, чтобы изменить
шрифт каждого из мои страницы, или если я хочу
изменить структуру макета.
Так где же возможность для лучшего дизайна?
Ну, давайте рассмотрим то, что поделился во всех этих файлов.
>> Вот неделе один, вот неделю нулю, вот lectures.php,
вот index.php-- что то же самое, и Чем отличается, грубо говоря,
в каждом из этих файлов?
Да?
>> АУДИТОРИЯ: [неразборчиво]
Дэвид Малан: ОК, хорошо.
Так что картина, конечно же, в результате чего каждый раз, когда я выбираю лекции я,
Я должен быть генерирования очень похожий, стр.
И поэтому, возможно, я могу использовать тот факт, что на самом деле,
мы сознательно численно индексируется наш lectures--
если я могу поставить еще слова в ответ.
И то, что это единственное, что, на самом деле, что меняется между неделю одно--
и позвольте мне прокрутите вниз, чтобы это примерно в то же place--
так вот нулю неделю, примерно сверху.
Вот неделе один, неделю нулю, неделе один, ноль неделю.
ОК, буквально, если вы знаете, нет программы вообще,
это теперь так же, как рисунок логической игре.
Так чем же отличается?
Да?
>> АУДИТОРИЯ: [неразборчиво]
Дэвид Малан: Хорошо, так что название меняется, чуть-чуть.
Ноль будет, конечно, к одному.
То же самое происходит в теге H1.
И мы не совсем понимаю, как легко, потому что URL-адреса немного долго.
Но эти URL-адреса меняются незначительно.
>> Но то, что не меняется вне, смею сказать, большинство из содержимого page--
HTML-теги тот же, голова то же самое, что название почти то же самое,
тело же, и почти все остальное
то же самое, за исключением маленькие хитрости те.
Так как мы можем идти о факторинг некоторые из это?
>> Ну позвольте мне предложить именно что в следующей версии.
Так вот в версии одной, у меня есть точная те же файлы, а также несколько других.
Вот index.php-- и даже если Вы никогда не видели прежде, чем PHP,
что я, вероятно, делать, чтобы решить этот problem-- основе того, что вы видите здесь?
Да, это то, что небольшим приверженности?
Нет?
Да, идти дальше.
>> АУДИТОРИЯ: [неразборчиво]
>> Дэвид Малан: Да.
>> АУДИТОРИЯ: [неразборчиво]
>> Дэвид Малан: Я хочу, чтобы ты говорить только немного громче.
>> АУДИТОРИЯ: [неразборчиво]
Дэвид Малан: ОК, хорошо.
И я think-- было трудно услышать, но я you--
думаю, что вы получаете на это, что теги, которые были распространены до верхней,
и теги, которые были распространены на снизу, в настоящее время вынесена,
или низведена к тому, что файлы?
Header.php и footer.php-- и мы собираемся
чтобы сделать некоторые хитрости, чтобы устранить озабоченность вы просто
поднят вопрос о смене номера, для Например, если я правильно услышал тебя.
>> Но это, кажется, суть его.
Если бы не было огромное количество резервирование в верхней части страницы,
и огромное количество резервирование на дне,
давайте буквально изюминкой и сократить это содержание из,
поместить его в отдельную file-- просто как идея CSS, где мы факторизовали
очень похожи эстетика, поставленные это в отдельном файле PHP точка,
использовать требуют mechanism-- которые это как-диез включать: который
по сути, как говорят идти захватить содержимое header.php,
скопируйте и вставьте их здесь.
>> Но то, что это означает, что в настоящее время в index.php, у меня есть эти две линии.
В lectures.php, я также есть те две линии.
В week0.php, я также есть те две линии.
>> Так что теперь, если я хочу, чтобы изменить название всех моих страниц,
или я хочу изменить фундаментальная структура,
Я могу изменить его теперь только в одном месте, или два places-- верхний и нижний колонтитулы,
соответственно.
Теперь стартовая Кодекса смотреть немного больше загадочное, верно?
Но если вы думаете, о том, что страница в doing-- если я с просьбой week0.php,
так же, как на чертеже над here-- когда week0.php запрашивается,
что это значит?
>> Буквально этот файл просил в браузере.
Веб-server-- также известное
CS50 ID-- хватает этого Файл, week0.php, и читает
это сверху вниз, слева направо.
На первой линии, сразу же сталкивается с его открывающая скобка знак вопроса PHP, требуют
Заголовок точка PHP, и так что РНР
does--, что встроенный в веб Сервер, потому что мы предварительно настроен
это для you-- он автоматически переходит в header.php, копирует содержимое,
вставляет их здесь.
>> Но тогда интерпретатор встречает знак вопроса рядом кронштейн,
так что это все делается думать.
Теперь он просто слепо плюет из линий второго по семь,
потому что это просто сырой HTML.
Получает в линию восемь, и делает, что же магия again-- открытия файла,
захватывая содержимое, и требуя от них или вставляя их
прямо тогда или там.
>> Но я просто ссылался на ошибку.
Это неполный шаг назад, потому что, если мы посмотрим в header.php,
Я вроде отрезать уголок.
Что функция я отказаться, чтобы чтобы получить эту спорную лучший дизайн?
Да?
АУДИТОРИЯ: [неразборчиво]
Дэвид Малан: Да, я как бы Вырезать нетривиальное угол.
Вы отметили, что то, что было изменение было название, количество в названии,
и количество в H1.
Так что мое решение было, хорошо, давайте просто переименовать страницу,
а не заниматься тем, что Проблема вообще.
Так вот неполный шаг назад наверняка.
>> Но то, что примечательно здесь Это то, что я сделал
в противном случае учтены из всего общего материала.
И в footer.php, обратите внимание, я учтены из всех, что, хотя менее,
общий материал.
Так что я каким-то образом нужно теперь смогут сделать еще один шаг вперед, и исправить
что вопросы название.
Так давайте сделаем это.
>> Позвольте мне идти в моем втором варианте здесь, что, опять же, имеет те же самые файлы
для одного новое дополнение исключением.
И это немного больше, многословен, но давайте посмотрим, если мы
может дразнить друг от друга, что здесь происходит.
Таким образом, вместо того, чтобы требовать header.php и footer.php,
Я, кажется, только один требующий file-- называется, конечно, helpers.php.
И позвольте мне предусматривают сейчас, что внутри helpers.php
это всего лишь кучка функций что я написал, как и раньше.
Но я назвал его helpers.php.
>> Теперь, по-видимому, в линия три и 10, я
вызова двух functions-- оказывать заголовок, оказывают колонтитулы.
Те, не приходят с PHP, я написал те себя.
И я положил их в helpers.php.
>> Теперь, мы видели только этот синтаксис один раз, и это было супер кратким.
Но это по-видимому аргумент оказывать заголовок, функции.
Почему я это знаю?
Ну вот близкий Парень, вот открытая скобка.
И, конечно, как и в C, ничего между этими скобками
является input-- или аргумент функции.
>> Какой тип данных этого аргумента, на основе того, что я выделил?
Что делать эти квадратные скобки указывают, на основе последней недели?
Да, что это array-- специально ассоциативный массив.
И это правда, синтаксис немного напуганный,
но это просто проходил в одной ключевой пары значений.
Ключ, цитата конец цитаты Название и значение CS50.
>> Если мы сделали это в C, это могло бы вместо
выглядеть примерно так, просто цитата конец цитаты CS50--
или на самом деле было бы вьющиеся брекеты, или что-то подобное в C,
где ключ равен нулю, и значение CS50.
Но, опять же, в PHP, хотя Синтаксис, опять же, немного странно,
это позволяет передавать в слова вместо номера
чтобы связать ключи со значениями.
>> Итак, что же все это значит?
Если я иду в helpers.php, давайте посмотрим на эту функцию.
renderHeader.php, а renderHeader это моя функция,
и я знаю, что, потому что вижу функция Ключевое слово здесь.
Это новое от C-- его, по-видимому принимает аргумент с именем data--
но я мог бы назвать это что-нибудь, но я назвал его данные,
просто быть немного clean-- и просто взять догадку, особенно
если вы программировали в некоторых других выше уровень языка, прежде чем, что-то
выше C, концептуально.
>> Что делает равный открытый кронштейн квадратную скобку, вероятно, имеете в виду?
Или то, что, возможно, это значит?
Мы не видели это в С. Да?
>> Пустой массив.
В частности, это означает, что если пользователь не называть renderHeader
с аргументом, я все еще собираюсь иметь аргумент с именем данных,
но его значение по умолчанию будет пустой массив.
Так что это просто хороший удобство.
Я не должен кричать на пользователя, или сказать, что вы использовали моя функция не так.
Я могу только дать пользователю по умолчанию значение, если я не особенно волнует.
Теперь эта функция, я собирается махать руками в.
Но этот экстракт функция позволяет нам передать эти переменные в данных
в header.php следующим образом.
И это последняя часть, Я думаю, что, фанки синтаксиса.
Вот мой новая версия из header.php-- его
говаривал, в буквальном смысле, открытым Кронштейн название CS50, и что это было.
И то же самое для H1.
>> Теперь, по-видимому, говорит он что-то очень напуганный.
И позвольте мне упростить это на мгновение, как следует.
Это то, что я изменил свой титул, чтобы быть.
Тем не менее, это становится немного некрасиво постоянно открытых скобках с PHP,
а затем использовать функцию печати.
Получается, что PHP имеет сокращенную обозначения для этого, который является только
знак равенства, который является технически Функция называется эхо вместо печати,
но это то же самое, эффективно.
>> Это просто выглядит лучше.
Это просто синтаксический сахар, если хотите,
что делает мой код выглядит немного лучше.
Но, оказывается, и мы увидим это снова
в скором времени, мы должны назвать это раздражающе долго функция называется
HTML специальные символы в PHP, потому что он оказывается
Есть определенные входы что пользователь может дать нам,
или, что пользователи могут дать нам, что собираются разбить наш сайт.
Но мы увидим, что в следующем неделю с JavaScript.
Но сейчас, просто знаю, что этот файл, headers.php, просто
принимает титул, который Я прошел в это сделать
уверен, что это безопасно вводить в Интернете страница, и он выплевывает его, как мой титул
и как мой H1.
Так что, если я иду в этой версии сейчас, заметить, что лекции имеет титул назад,
нулевой неделе имеет свое название назад, и в самом деле, HTML я генерации
идентичен тому, что мой первый вариант was-- для моего пробелов, за исключением,
потому что я начал форматирование мой код немного по-другому.
Но я все генерируется код, который я волнует.
Итак, позвольте мне остановиться на только на мгновение и увидеть
если есть какие-либо вопросы или спутанность сознания я создал.
Ладно, так что давайте крутить немного сложнее здесь
чтобы увидеть, если есть возможность для улучшения.
Helpers.php также было это функция, называемая renderFooter.
И то, что примечательно о renderHeader и renderFooter?
И снова, для сегодняшних целей, знают, что функция экстракт просто
мой способ передачи аргументов в header.php и footer.php.
>> Сожалею?
>> АУДИТОРИЯ: [неразборчиво]
Дэвид Малан: Да, я только изменен требуют линия.
Так буквально, я совершил грех копирования и вставки, еще раз.
Это не огромное количество линий, но приходят on--
если я копирования и вставки все просто изменить один словечко,
и одна маленькая слово, что Алан указывает аут нижний колонтитул здесь, по сравнению с заголовка здесь.
В противном случае, все идентичны, за исключением,
Конечно, имена функции.
Так что мы могли бы сделать лучше?
>> Ну позвольте мне открыть эту версию здесь, в результате чего в helpers.php,
почему я не просто получить немного умнее об этом?
Написать чуть сложнее Код, но назвать это сделать?
Так что я принципиально изменилось?
>> Он принимает аргумент now-- два аргумента, данные по-прежнему.
И тогда то, что первый Название, вероятно, используется для,
на основе того, что вы читаете здесь?
Даже если некоторые из синтаксиса все еще является новой.
Что шаблона знак доллара?
>> Сожалею?
>> АУДИТОРИЯ: верхний или нижний колонтитул.
>> Дэвид Малан: верхний или нижний колонтитул.
Таким образом, очевидно, я решил, что если Единственное, что меняется
это то, что я хочу, шаблон чтобы print-- и по шаблону
Я имею в виду, это проект для код, который я хочу для вывода,
но я хочу, чтобы подключить некоторые values-- так что если это только заголовок
или нижний колонтитул, почему я не параметризации что и называют знак доллара аргумент
шаблон?
И тогда это фанки синтаксис позволяет мне создать путь в переменной.
>> Так знак доллара путь переменной.
Что делает этот синтаксис делать, если вы знакомы?
Да?
>> АУДИТОРИЯ: [неразборчиво]
Дэвид Малан: Точно.
Если шаблон, цитата конец цитаты, Заголовок, или если шаблон,
конец цитаты цитаты, подвал, эта линия существует что я выделил, линия восемь,
просто принимая это имя, как заголовок, и объединения ее с точечной PHP.
Таким образом, мы не должны этого оператора в C. Этот оператор является точка
удивительная вещь в PHP-- если вы знакомы с JavaScript или Java,
Вы можете использовать плюс войдите сделать конкатенацию.
>> В C, это боль в neck-- и мне так жаль, в р-шесть установить,
Вы будете иметь, чтобы сделать this-- это боль в шее
для объединения строк.
Зачем?
Ну, потому что, если у вас есть строка это так долго,
и еще строка это так долго, Вы не можете просто подключить их вместе.
Что вы вместо этого сделать в C?
Да?
>> АУДИТОРИЯ: [неразборчиво]
>> Дэвид Малан: Вы должны таНос памяти, или использовать массив в стеке.
И вы на самом деле нужно сделать это достаточно большой массив
чтобы соответствовать это плюс это, плюс обратный слеш нулю.
Затем объединить их вместе с помощью перемешать вручную или кошку с цикл,
или любое количество методов.
И мы покажем вам несколько в р-установить шесть.
>> Это боль в шее.
И это действительно то, что я имею в виду это против this-- как C по сравнению с PHP.
Вы просто получите гораздо больше Функциональность бесплатно,
так что вы можете сосредоточиться, в идеале, на веселье
часть кодировании Проект вы хотите решить,
а не на уровне мелочей низкой.
>> Так что это просто генерирует header.php или footer.php на основании которых я называю.
И в самом деле, если я иду в index.php, уведомление
все, что changed-- Вместо называя оказать заголовок или нижний колонтитул сделать,
Я звоню сделать, за ним имя шаблона, что я хочу сделать.
И вы увидите, это тоже, в задаче установить семь,
в результате чего мы позволяем вам использовать та же функция, чтобы сделать букеты
и гроздья различных веб-страниц.
>> Таким образом, вместо останавливаться слишком больше на тех details--
которые вы увидите снова в Проблема набор seven-- давайте посмотрим
на сейчас начала раствора к более интересной проблеме.
До сих пор, мы ничего не имею сделать есть сохраненные данные.
На самом деле, единственный раз, мы когда-либо сохранены то, что мы сделали в этом классе
это когда у нас был очень простой демо некоторое время назад, в результате чего мы использовали файл IO в C,
и я думаю, я набрал во имя Мое, и Имя Анны, и имя Марии,
или, может быть, имя Энди, и тогда мы сохранили file-- CSV
значения, разделенные запятыми файл.
>> И мы использовали fopen-- Я думаю, мы использовали fprintf, как я помню,
и мы сохранили файл.
Теперь, что это самый простой Форма базы данных.
Если вы хотите, чтобы сделать веб-сайт для Программа Фрош чаты, в результате чего первокурсников
может зарегистрироваться на спорт, ты идеально хочу сделать что-то с этими данными.
На прошлой неделе, мы ничего не делали с data-- мы просто сказал
Вы зарегистрированы, не на самом деле.
Или, может быть, я послал по электронной почте Проктор, и что это было.
>> Но было бы неплохо, если бы я мог дать, что Проктор файл CSV,
как файл Excel.
Или, еще лучше, это было бы хорошо, если бы я мог
поместить имена этих пользователей и общежития имена и все, что
в базу данных, просто живет вечно,
пока я не выбрать для удаления данных.
База данных, которая позволяет мне запрос информации.
И в самом деле, это то, что база данных.
>> Введем сегодня, и на следующей неделе, тоже технология
называется SQL-- структурный запрос Язык, который является другой язык.
Это существенно программирования язык, но для баз данных.
И база данных сейчас, просто думаю, как супер модные версии
из Microsoft Excel или Google Таблицы, или яблочный чисел.
Это в целом программа, которая позволяет хранить целую кучу данных
в строках и столбцах, достаточно как вы могли бы в Excel.
>> Но то, что приятно, особенно если мы не супер знакомы с Excel,
то, что SQL позволяет сделать запрос это Информация в письменном виде строк кода
где вы можете, даже если ваш база данных имеет миллион строк в нем,
Вы можете найти вещи очень быстро.
В самом деле, Excel особенно плохо на больших наборов данных.
И в самом деле, до нескольких лет назад, оказалось
Excel только позволит вам хранить до 65,535 строк, которые data--
звучит, как много, но в то раз я был аспирантом,
и я помню, спотыкаясь это потому, что я был генерации
Файлы CSV для моего исследования, и я хотел проанализировать их быстро
просто открыв в Excel.
Конечно, мой компьютер просто разбился, потому что я был более, чем 65000 строк.
>> Но где же 65,535 пришли?
Что делать Microsoft, по-видимому?
Если вы хорошо с полномочиями двух?
Да, они были с использованием 16-бит значение представляют число строк.
И два 16 является 65,536-- минус одна, потому что если вы
нулевой отметки означает, что был Наибольшее количество строк я мог бы.
И это было только дизайнерское решение.
При сохранении 16 бит, они ограничены меня 16000 строк, а не 4 млрд,
которые я мог иметь в идеале.
Но сейчас, мы собираемся ввести этот более в веб-контексте.
И то, что приятно об SQL является то, что даже хотя это довольно мощная и довольно
сложные, это действительно кипит до четырех ключевых операций, четыре
Основные функции, если вы выберите, will-- для извлечения данных, поиска
для данных; удалять или удаление данных; вставить для добавления строк в базе данных;
и обновление.
Так что если вы когда-либо использовали Google Таблицы, Apple, Microsoft Числа
Excel, как Вы выполнили, скорее всего, все
из этих операций, как человека по только с помощью клавиатуры и mouse--
вставки данных, используя свои глаза для выбора или поиска данных,
или данные обновления или удаления данных.
>> Итак, что же это значит?
Ну, предварительно установлены в CS50 IDE является программа под названием MySQL.
Это бесплатно, с открытым исходным кодом базы данных, что супер популярным.
Facebook, например, использует его для этого день, среди прочих инструментов, которые они используют.
И много очень популярных веб-сайтов использовать это в значительной степени потому, что это быстро,
и потому, что это бесплатно.
Хотя, безусловно, существуют альтернативы.
И некоторые из вас, возможно, плескаться с альтернативы для конечных проектов.
>> Это снимок экрана, тем временем, из веб-инструмент называется PhpMyAdmin.
Это совпадение, что это веб-инструмент также
написана на языке РНР, но то, что он хотел сделать
это дать нам на основе веб- Интерфейс к базе данных.
Поскольку MySQL, как правило, является то, исторически, вам
будут взаимодействовать только с с командной строки.
И это было бы супер раздражает и тайной иметь
ввести текстовые команды для выбора Данные, вставить данные и удалять данные.
Таким образом, некоторые люди в Интернете написал веб-программы
что просто дайте нам управлять данные в нашей базе данных.
Это как дважды щелкнув по Excel и работает их веб-разрядных версий.
>> И то, что вы собираетесь использовать это для в конечном счете, на следующей неделе, а не в р-установить шесть,
но что-то построить называется CS50 Финансы, которые
будет иметь базу данных пользователи, с именами пользователей и паролями,
доллар суммы, которые они имеют в своих банковских счетов.
Это будет то, что вы используете для хранения
символы и величины запасов, что пользователи
купил с помощью виртуальной долларов, что вы будете давать им.
И это происходит, чтобы позволить пользователям чтобы зарегистрироваться для вашего сайта,
так что даже ваши друзья можете настроиться на свой веб-сайт
а на самом деле зарегистрируйтесь, войти, и поиграть
и попытаться найти неисправность в коде, и попытаться найти ошибки в свой веб-сайт.
И они просто зарегистрироваться, добавив себя, по сути,
с помощью кода вы пишете в базу данных.
>> Например, это быстрый скриншот что база данных может выглядеть.
Это с одной из solutions-- прошлогодние
это как мини-Excel подать, хранится в нашей базе данных,
хранятся в этом программное обеспечение под названием MySQL.
На левой стороне, видимо, У меня учитывая каждому пользователю уникальный номер.
Во второй колонке, я дал все пользователь name-- мое
среди них.
А на правой стороне, Я дал им хэш.
>> Теперь это действительно пароля, но это не простой текстовый пароль.
Это зашифрованный пароль, если Вы будете, или хэш пароля.
Который мы вернемся к скором времени.
>> Но если вы когда-либо читал статья о том, как
пароль в какой-то банк или некоторые веб-сайт может быть скомпрометирована,
он может, как правило означать одно из двух вещей.
Так что это просто отрывок из шести пользователей.
Все теперь вы можете понять из с помощью взлома или трещин
какие пароли наших шести народные.
Но если вы когда-либо получали предупреждение или извинение
от компании или на сайте поговорке, извините, хакер ворвались в нашей базе данных,
Вы, вероятно, следует изменить свой пароль, что может означать?
>> Ну, один, может означать, что Компания была более идиотский,
и был хранения пароль в колонке, как это, в незашифрованном виде.
Что означает, что противник, кто украл базу данных,
буквально знает ваши имя пользователя и пароль.
Это худший сценарий.
И, как вы увидите в р-набор семь, так легко избежать.
Там нет абсолютно никакого оправдания за что форма глупости в современном Интернете.
Two-- и мы найдем несколько статей чтобы свидетельствовать тот факт, что это по-прежнему
бывает, nonetheless-- два, может быть, противник
украл эту версию базы данных.
Какие еще вид плохо, потому что теперь они знают, что у меня есть шесть клиентов,
Я знаю имена пользователей из этих шести клиентов,
и я знаю, зашифрованный версии, или версии, HASHED
паролей этих шести клиентов.
Но любой из вас, кто может сделал [? Хакер 2?]
где вы трещины пароли, или взял Взгляд на этой версии проблемы
набор, почему это до сих пор мало беспокоит если противник знает ваш хэш
пароли?
>> АУДИТОРИЯ: Потому что они могли введите целый словарь
в хэш-функции.
И если ваш пароль словарь слово, [? они могут просто match--?]
>> Дэвид Малан: Ровно, противник можно просто написать код, как и некоторые из вас
сделал для [? Хакер?] 2, в котором вы перебора
все слова в словаре, или все возможные комбинации А
через Z и один через nine-- которая звучит, как много, и это.
Но для компьютера, это чертовски быстро.
И в самом деле, что было точка [? Хакер 2,?] Был
принять вещи, которые буквально выглядит так,
и обратный инжиниринг то, что было на самом деле.
>> Таким образом, мы будем смотреть на то, как мы можем хранить это более эффективно.
Оказывается, к счастью, в MySQL, там собираются быть типы данных.
И один из забавных частей о проектирование баз данных, чтобы быть честным,
на самом деле решить для себя как вы должны представлять данные?
Если вы представляете, как номер телефона целочисленное, как большой номер, или длинный?
Или вы на самом деле сделать это как последовательность символов?
И может быть очень нетривиальные последствия этого.
>> На самом деле, один из ранние, веселые истории герман
когда Марк Цукерберг строит Facebook, он был изначально написан на,
и до сих пор в значительной степени написана в PHP.
И одна из самых больших проблем, они столкнулись рано было масштабирования.
Когда они продолжали добавлять школу после Школа после школы, по моим сведениям,
один из оригинальных решений по сути, скопируйте и вставьте
некоторые из баз данных и часть кода,
так что Гарвард был работает на собственном сервере,
и Массачусетского технологического института был запущен на собственном сервере.
И это было, почему, для некоторых из вас, кто, возможно, помните,
Вы не могли иметь друзей в других сетях.
>> Вы, наверное, нет друзей на Массачусетский технологический институт Гарвардский или 10 или около того лет назад,
но вы не могли занимать сетей для частично по этой причине.
И одна из самых больших проблем для Марк и для компаний, таких как Facebook
на самом деле обработки сотни и тысячи и миллионы
запросов в секунду.
Таким образом, то, что мы начнем говорить об этой неделе
действительно будет уместно, чтобы написание хорошей программы, и в народе
успешные инструменты, может обрабатывать большое количество пользователей.
>> Таким образом, мы будем говорить о том, как индексации и поиска,
но это на сегодня.
Мы будем видеть Вас в течение более в среду.
>> [МУЗЫКА - "Seinfeld" ТЕМА]
Дэвид Малан: вы можете это, и вычесть из него.
И вы не должны придерживаться некоторые заранее определенные объем памяти.
Ну, то, что, что будет называться?
>> СПИКЕР 1: Ну, что происходит?
СПИКЕР 2: Что вы имеете в виду?
Он читал лекцию.
Дэвид Малан: И мы можем использовать Функция называется таНос в memory--
>> СПИКЕР 1: Почему не руки движется?
>> СПИКЕР 2: Ну that's-- Вы знаете, что это нормально.
Это просто, как он только что сарделек висит.
>> СПИКЕР 1: Это нормально?
>> СПИКЕР 2: Да, я думаю, что мы только предположить, что он случайно
заменить его дезодорант с суперклеем.