Цель заброшена
Автор не отписывался в цели 4 года 10 месяцев 9 дней
Дневник цели
Комментарии
Всем привет!
Небольшой апдейт, что происходит. Просматриваю курс Javascript: Understanding the Weird Parts на Udemy. Курс отлично ставит мозги на место по поводу того, как на самом деле работает JS. Далее по плану два курса: TypeScript и Angular.
После этого начну делать практические задания по этапу Angular в foxminded.
Параллельно пытаюсь тянуть курс в RS School. Нагрузка добавилась существенно, но думаю, это полезно, т.к. по курсу RS School заполняю много пробелов.
Буду держать в курсе )
Всем хорошей недели!
Всем привет!
Сегодня торжественно зачеркиваю первую фазу Javascript. Перехожу на фазу Angular.
Записался также в RS School, попробую совмещать.
Думаю, что посты в этом блоге надо бы сделать поинтереснее. Например, писать не столько что конкретно сделал, а чему научился, что открыл для себя, с какими проблемами сталкивался, как их преодолел.
Буду думать и постараюсь писать что-то поинтереснее.
Всем хорошего дня!
Расскажу пару слов, как делал последнее задание. В общем, таск заключался в том, чтобы придумать, как реализовать Sticky Headers методами ванильного Javascript-а.
Вот сразу моно можно посмотреть конечный результат: http://headers.teoremaschool.ru/
Код можно посмотреть здесь: https://github.com/NikitaMigushev/demos/tree/master/javascript/TASK%203.8
И вроде задача-то несложная. Делаешь сss position: sticky и все работает. Но проблема в том, что css сам по себе не понимает, в какой момент нужно менять стили. Для этого требуется Javascript.
Начал гуглить. Поначалу находил какие-то библиотеки, которые уже делают все за тебя. Также встретил много примеров с Jquery. Но проблема в том, что Jquery использовать нельзя. Требуется нативный javascript без каких-либо библиотек.
После некоторого времени гугления нахожу вот эту статью: https://developers.google.com/web/updates/2017/09/sticky-headers?hl=ru
Автор статьи предлагает использовать Intersection Observer для решения задачи с динамичными sticky headers.
Моя мысль: “ну все… вроде то, что нужно…cейчас быстренько разберусь и все сделаю”.
И что вы думаете? Я потратил на анализ этого метода часов 10!
Как работает IntersectionObserver? В какой момент он выстреливает события? Как эти события интерпретировать? Причем здесь sentinels? Если я скролю вниз, то что? А если вверх, то что тогда? Что такое кастомные функции? Зачем они вообще и как работают?
Посмотрев готовый код автора на гитхабе, у меня вообще началась легкая паника. Я вообще не понимал, что в нем. Начал гуглить, как читать чужой код, когда вообще не понимаешь, что в нем происходит? )
Паника начала сходить потихонечьку, когда я начала анализировать код автора кусочек за кусочком, без спешки и паники. Записывал в блокнот, за что отвечают его различные куски кода. Картина начала постепенно проявляться.
В итоге, как все то работает? IntersectionObserver это метод, позволяющий отслеживать определенные элементы на странице и выстреливать события, когда эти элементы становятся в определенную позицию на экране. Для того, чтобы Javascript понимал, в какой момент менять стили, нужно выставить специальные “сторожевые” div-ы, так называемые “sentinels”. В момент, когда sentinel становится в определенную позицию, Intersection Obeserver выстреливает событие, и мы можем привязать к этому событию смену стиля.
Вот замечательная статья, где очень четко и с примерами объясняют принцип работы Intersection Obsrver: https://css-tricks.com/an-explanation-of-how-the-intersection-observer-watches/
Спасибо большое автору!
Выводы, которые я для себя сделал:
1. Нужно уметь хорошо читать чужой код. Это отдельный скилл, который нужно прокачивать.
2. Даже если ты ничего не понимаешь в коде, не паниковать, а пытаться разобрать каждый непонятный кусок по отдельности, гуглить и выяснять значение того или иного метода. Проводить логическую цепочку, откуда переменные пришли и куда ушли.
3. Программирование - это такая вещь, которую наскоком взять невозможно, нужно все понимать и осознать. Благо, в программировании всему есть свое логическое объяснение.
Всем приятного кодинга!
Всем привет!
Был небольшой перерыв, но кое-что все равно делал в вялотекущем режиме.
Сдал Таск 3.7 и, о боже, у меня остался только один таск по Javascript.
Ну а дальше Angular. Думаю, будет весело - там и typescript надо будет и сам angular.
Да, кстати, на этой неделе игрался с API mailchimp - сделал простенькую интеграцию добавления контактов в лист. Пока делал потрогал node, epxress, bootsrap. Интересно вышло. Зацените, какая симпотная форма получилась с bootstrap-ом
Чешутся руки, наконец, начать писать полноценные full-stack приложения с базами и фреймворками, но понимаю, что мне до этого еще месяца три минимум. Ну ничего, осилим )
Всех с Новым Годом! Надеюсь у всех праздники проходят весело!
У меня цель перешла в статус завершенная по причине того, что срок вышел. Напишу админам, уточню, как продлить срок. Не хочется удалять цель и создавать заново.
Отлично встретил Новый Год. На крыше в Москва-Сити ) Потом съездили в центр. Завтра продолжение банкета.
Урывками удается программировать. На этой неделе натрекал 7 часов. Выполнил Таск 3.6. На следующей неделе приступаю к таску 3.7. В целом, дела идут повеселее.
Привет всем! На этой неделе уделил программированию 10 часов. За это время осваивал Regular Expressions. Практикой не занимался. С этого дня цель считается просроченной по причине того, что я неадекватно оценил сроки. Но, как говорится, касячат все, а не касячат только те, кто ничего не делает ) Поэтому я с полным оптимизмом врываюсь в 2020 год, что я, наконец, завершу курс по Front End и приступлю к изучению Node.js.
Всех с наступающим Новым Годом!
Всем привет!
Эту неделю, наконец, могу назвать продуктивной. Занимался программированием 18,5 часов. Это в три раза больше, чем на прошлой неделе. Разница в результатах существенная.
Что удалось сделать:
- Разобрался и написал приложение WeatherApp (Таск 3.5) и отправил на проверку ментору.
- Получил ответ от ментора, что нужно половину передалать ).
- Переделал все, что нужно и отправил на повторную проверку.
ссылка на приложение в Github кому интересно: ссылка
ссылка на демо приложения на сайте: ссылка
Что получилось хорошо:
- Это была моя первая более-менее серьезная работа с API и конвертированием JSON в HTML. Поймал приятные чувства, когда все получилось. Возникло такое ощущение - "Ну все, теперь я смогу разобраться с любым сервисом, где есть API и получать нужные мне данные".
- Получил представление, как конвертировать JSON в HTML.
- Более-менее привыкаю работать с объектами.
- В общем жизнь налаживается.
Что получилось плохо:
- Процесс обучения кажется очень медленным. Но я думаю, со временем будет легче.
- Не понимаю некоторые важные вещи: как работать с npm, webpack, писать тесты, как организуются большие проекты, не читал документацию ECMScript 5, 6
Что сделаю лучше:
- На следующей неделе постараюсь держать планку 15-18 часов. Осталась неделя с небольшим до Нового Года, в связи с домашними делами, это может быть довольно трудно.
Всем отличной недели! И успешной подготовки к Новому Году!
npm - установщик и сборщик пакетов, особо ничего и изучать не надо, там пара команд.
на вебпак может уйти много времени если запариваться, а можно установить и начать работать, постепенно вникая.
Он отлично рассказывает по вебпак и установку/настройку и так же есть там же статьи с кодом
https://www.youtube.com/playlist?list=PLkCrmfIT6LBQWN02hNj6r1daz7965GxsV
Случайно нажал на крестик на телефоне и удалил запись... Дублирую.
Всем привет!
Натрекал за эту неделю 6,5 часов за программированием из 12-ти целевых ) За это время просмотрел курс на linked in learning про Ajax (ссылка). Также прочитал пару статей, как работает интернет и как компилируется javascript (ссылка). Еще задумался над тем, как данные передаются через wifi ) Оказывается, данные шифруются в электромагнитных волнах в их амплитуде и частоте. Вот неплохой ролик, в котором объясняются, как работают электромагнитные волны в телефонах (ссылка).
Что касается того, что волны расшифровываются потом в бинарный код - это я как-то еще могу понять, но воткак волны расшифровываются в звук мне не совсем понятно. Если вы знаете,поделитесь инфой по этой теме, пожалуйста.
Мог ли я натрекать больше часов на этой неделе? Да, мог. Постараюсь взять себя в руки на следующей неделе и все нормально отработать.
Также на этой неделе зарегистрировался в Upwork. Было интересно посмотреть, что там происходит. Думаю, что было бы неплохо освоить MERN/MEAN Stack - это понятный full-stack и заказы на эти технологии есть на бирже.А у Вас есть опыт работы в Upwork? Поделитесь своим опытом.
Цели на следующую неделю:
12 часов на программирование.
Завершить таск 3.5.
Всем позитивной и продуктивной недели!