Я чувствовал себя довольно уверенно в начале дня. Я чувствовал, что в основном закончил проект на неделю и мог приступить к боулингу. Потом сел решил починить пару мелочей с Термостатом, и потратил на это все утро.

Я рад, что сделал это, мой проект теперь кажется намного более завершенным, просто удивительно, как некоторые задачи, которые кажутся простыми, могут быть проблематичными, и в то же время некоторые сложные проблемы могут оказаться простыми.

После недели на JavaScript я чувствую себя намного увереннее, работая на том или ином языке, я также немного лучше понимаю такие концепции, как MVC, увидев примеры в другом формате:

MVC в jQuery:

Вы можете создать веб-приложение на JS, которое имеет только один URL-адрес. Это немного меняет модель MVC:

Модели: почти такие же, как в Синатре. Фоновая логика, которая запускает вашу программу. Он состоит из классов (типа) и методов, которые могут вызываться вашим контроллером.

Контроллер: ваш файл интерфейса. Это использует методы jQuery для обработки пользовательского ввода через представление и дает ответ на основе фоновой логики, предоставляемой моделями. Он может изменить отображаемый текст, форматирование или сделать HTTP-запросы, если это необходимо.

Просмотр(s?): Ваш index.html. Вся информация, которая будет выведена на дисплей клиента. Здесь вам потребуется библиотека jQuery, а также любой другой элемент вашего приложения. Вы также можете использовать формы здесь для передачи информации вашему контроллеру.

Базы данных. Часто вам нужно хранить информацию. Это можно сделать с помощью sql, как на прошлой неделе, или JSON, или, если информации не так много, ее можно сохранить в сеансе. Однако для доступа к информации часто требуется API.

API: чтобы получить доступ к информации, чтобы данные могли сохраняться (а не исчезать при обновлении), вам придется преобразовать свое приложение из чисто клиентской части в серверную. В Thermostat я использовал Sinatra для работы в фоновом режиме и сохранения любой информации, которая была бы потеряна при обновлении, путем отправки ее через почтовый запрос на мой сервер, который мог предоставить данные при перезагрузке. Я хотел бы изучить другие способы сделать это, например, с помощью узла (кажется более разумным использовать версию JS в вашем приложении JS).

Вечером мы приветствовали новых юниоров напитками и веселыми играми. Я должен сказать, что в тот момент, когда мы начинаем играть в pictionary, я становлюсь очень конкурентоспособным. Моя семья играла в одну и ту же игру каждый боксерский день, пока она не стала слишком жестокой, и нам пришлось остановиться. К счастью, на этот раз никто не пострадал, хотя я снова слишком много баловался пивом, что несколько отложило продуктивность на выходные (на самом деле сейчас понедельник).