Сегодня я закончил смотреть Введение в Angular, которое я освещал в своих предыдущих записях. Хотя я еще не полностью разобрался с фреймворком, некоторые его части собираются вместе и приобретают смысл. В то же время, вот некоторые мысли, которые возникли во время видео:

Инструменты разработчика Chrome

Это старая новость для большинства разработчиков, но на самом деле это что-то вроде Волшебника страны Оз: при просмотре веб-страниц с помощью Chrome щелкните правой кнопкой мыши или удерживая клавишу Ctrl в любом месте страницы и выберите Проверить. Это запустит Инструменты разработчика, богатый набор функций, которые позволяют вам увидеть закулисные задачи, которые создают веб-опыт: минутная разбивка визуальных элементов, временные шкалы процессов с точностью до миллисекунды, шаг- пошаговый отладчик и многое другое. (Конечно, большая часть этого будет понятна непрограммисту.)

ES6

Как упоминалось в прошлый раз, в 2015 году было выпущено большое количество обновлений JavaScript, известных как EcmaScript6 или ES6. Я долго изучал эти функции, но в последнее время похоже, что большая часть базы кода JS использует этот синтаксис. К счастью, для этого есть несколько уроков Nodeschool!

Обработка данных в Angular

Здесь я чувствую шаткость в своем понимании, но я попытаюсь объяснить: ничто не возникает из ничего. Каждый отдельный файл в коде Angular — это отдельная отдельная ячейка, ничего не знающая о любом другом файле, если только он не подключен явно, через импорт (перенос данных из другого файла) и экспорт (предоставление информации, которая может быть прочитана другим файлом).

Мне придется запачкать руки кодом, прежде чем я попытаюсь дать более подробное объяснение здесь.

Наблюдаемые

Создавая чат-ботов для GetHuman, я уловил немного скользкую концепцию: обещания. По сути, когда в будущем произойдет событие, связанное с данными, вы можете использовать обещание для представления этого потенциального события и настроить другие процессы, которые будут запускаться экземпляром события. Звучит просто, но реализация этого в коде требует некоторого умственного сальто назад. Однако вы сможете писать гораздо более чистый и простой код (избегая ужасного «ада обратных вызовов»), как только сможете его использовать.

Наблюдаемые объекты продвигают концепцию еще на один шаг вперед и предоставляют способ моделирования и обработки потоков событий: вместо одного события, происходящего в будущем, поток представляет собой серию однотипных событий, происходящих во времени. Например, если вы хотите, чтобы что-то происходило каждый раз, когда пользователь нажимает кнопку на вашем сайте, вы можете смоделировать поток нажатий кнопки как Observable. Однако я еще не использовал их в своем собственном коде.

Тайм-менеджмент

Я понимаю, что в целом трачу слишком много времени на просмотр видеороликов о кодировании, пытаясь понять каждую строчку на экране. Это оказалось разочаровывающим в контексте этого видео, где обновления версии создали разницу между видео и тем, что находится в репозитории Github. Что я нашел полезным здесь и планирую помнить в будущем, так это не слишком зацикливаться на видео (если только я не пытаюсь скопировать очень конкретную вещь), а вместо этого попытаться получить более широкие концепции, пока наблюдая, и получая более мелкие детали в процессе использования кода самостоятельно.

Идти вперед

Имея в виду предыдущее решение, в следующий раз я планирую просто работать с кодом самостоятельно, чтобы получить более глубокое представление о нем. Мой общий план состоит в том, чтобы попробовать внести небольшие изменения, добавить эту функцию, изменить ту, удалить ту и посмотреть, что работает, а что ломает. Используйте его, стройте, ломайте, ремонтируйте.