2022-10-07 20:11:53
28 неделя обучения. ● Часы: 20ч.
● Темы:
Модуль "Events" (Теория и тест)
Модуль "DOM API" (Теория и тест)
Модуль "HTML Forms & Validation" (Теория и тест)
Проект "Online-zoo" (Практика)
Модуль "Алгоритмы и Структуры Данных" (Практика)
● Что я сделал за эту неделю:
Не менее насыщенная неделя. В первый день сразу же приступил к задачам третьей части проекта, где нужно было добавить функционал: бургер-меню, две карусели, попапы и интерактивность инпута на второй страничке. Удалось управиться за 8 часов. Очень помог бэкграунд с прошлой стадии курса. Не было проблем с тем, чтобы найти элемент в DOM, накинуть на него прослушиватель событий, запускающий функцию, которая что-то делает с другими элементами (двигает, скрывает, открывает, закрывает, передает значение в инпут и т.д.). С бесконечной каруселью был вынужден повозиться, так как до этого я делал только статичный слайдер. Здесь уже пришлось помозговать каким образом реализовать удаление крайнего блока и его же отрисовку с другой стороны. Данная логика была построена в коде следующим образом: 1) закидываем в массив все три слайда, 2) удаляем их со страницы, 3) отрисовываем снова, взяв из массива и даем им расположение, 4) создаем функцию отрисовки для правой и левой стороны, 5) при прослушивании кнопок вправо и влево запускаем функцию, которая двигает все слайды на ширину контейнера и с помощью сеттаймаута удаляет и отрисовывает новый блок. Пока всё работает, но если поиграться с изменением ширины экрана появляются странные баги. Для проверки не критично, но позже разберусь с этим. Ссылку на готовый проект выложу на следующей неделе.
На следующий день быстро пробежался по теории из модулей, указанных выше, чтобы освежить память и сдать тесты. А в оставшиеся дни таки добил все задачи по Basic JS. На десерт оставались самые сложные задачи и это было увлекательное путешествие в мир классов, рекурсии и замыканий. Пару задач пришлось осиливать математическим путём. Мой топ из этого набора задач: Vigenere cipher, Chain maker и Extended repeater. Очень круто прокачали мое мышление и расширили базовые знания JS. Но это были еще цветочки. Впереди BasicJS. Data structures, в котором нужно реализовать свой класс бинарного дерева поиска. Пока не представляю как буду подступаться к решению. Но уверен, что обязательно справлюсь.
С каждой строчкой кода, будь это алгоритмический таск или функционал для сайта, я становлюсь лучше прежнего себя в этом деле. Страшные и непонятные темы, которые вводят в ступор в начале изучения, через некоторое время становятся частыми помощниками в написании крутого и понятного кода. Нужна лишь дисциплина и любовь к ремеслу. Я всё также продолжаю придерживаться своего плана, чтобы стать профессионалом и никакие обстоятельства не отнимут у меня эту мечту. Впереди еще много работы и мы не отступим!
235 viewsedited 17:11