MariJoy

MariJoy

На Пикабу
Дата рождения: 16 декабря
119 рейтинг 7 подписчиков 0 подписок 7 постов 0 в горячем
5

#6 Учу frontend. Неделя 7. Духота и коммиты

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

Нужно было внести корректировки в html и css по списку, типа форматирования и нейминга, при этом строго следя за тем чтобы внесенные изменения записывались по отдельным коммитам. Ну и не сломать функционал. Как же это сложно морально, хочется быстрей все сделать. В голове картина как prettier сам сделает все красиво, а нужно пилить это ручками с помощью replace. При этом на поставил точку с запятой нужно делать коммит.
Еще на курсе система проверки - кроссчек между студентами, а это значит что все должно максимально соответствовать тз, чтобы исключить моменты где можно неверно трактовать решения. И вот после 15 сделанных коммитов накрывает мысль, что второй по счету нужно бы изменить.

Пришлось тренироваться изменять коммиты. С git у меня отношения не очень, но кажется я начинаю его любить. Не то чтобы я окончательно поняла концепцию веток и куда отрывается detached HEAD, но прогресс явно наметился.
Было волнительно в первый раз применять rebase -i на практике, но блин, какой же он балдежный, я прям в восторге) Можно вернуться в любую точку и сделать там практически что угодно, можно изменить коммит, слить его с другим, но особенно полезно для меня оказалась возможность "разбить" его на несколько.
Руководствовалась вот этим https://git-scm.com/docs/git-rebase#_splitting_commits , добавить туда git stash можно из финального вида нарезать целую предысторию. Локально работать очень удобно, для командной работы наверное не очень тк коммиты переписываются.
По пути потрогала свои первые конфликты.

Почитала про BEM. Попробовала применить, идея с блоками и элементами кажется понятной, с модификаторами не уверена что уловила верно. В целом, для маленького проекта такой подход кажется излишним что ли.

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

По статистике просела, буду нагонять:
времени на обучение потрачено: 17 часов
место в рейте: 255

#6 Учу frontend. Неделя 7. Духота и коммиты Обучение, Программирование, IT, Личный опыт, Отчет, Дневник, Frontend, Саморазвитие, Карьера
Показать полностью 1
3

#5 Учу frontend. Неделя 6. Массивы, их методы. Немного css

Посмотрев на дэдлайны выданных на прошлой неделе задач (до 14 января), я немного расслабилась. По вечерам не спеша решала задачки плюс дочитала материалы по css.

Начала с задач на массивы. Они шли с ограничением не использовать циклы, основной упор на методы массивов. Из нового, что осело:
-Array.from() - довольно удобная штука, с помощью которой можно на месте создать массив и сразу для каждого элемента применить функцию.
-Пустые слоты в массиве - это не undefined, многие методы их игнорируют, и для применения нужно сначала "наполнить" слоты.
-Многие мутирующие методы имеют не мутирующих близнецов, запомнить легко, тк к названиям просто добавлено to, toSorted() например. При решении задач, на мутирование не оглядывалась, но в голове держать полезно.
-Reduce, мой не любимый и мною избегаемый, оказался не таким страшным, после того как я поняла что аккумулятор, по сути это то, что функция возвращает при каждой итерации. Сначала еще забывала передавать начальное значение. Его наверное можно и не передавать если оно совпадает с первым элементом массива, но когда прописывается получается понагляднее.

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

По css у меня оставались статьи про новые функции, из интересного:
-Сss модули, как я поняла главный бенефис модулей - это локальная область видимости + возможности composes, что-то типа extends с sass.
-Сontainer queries позволяет менять элементы в зависимости от родительского контейнера. Играть от размеров контейнера для адаптивного дизайна звучит как что-то очень полезное. Поддержка у браузеров вроде довольно хорошая) помимо размеров можно будет еще привязываться к стилям родителя.
- Popover + Anchor похоже будет хорошая связка, довольно легкая в использовании, нашла статейку на тему ссыль

Статистика:
времени на обучение потрачено: 18 часов
место в рейте: 189

#5 Учу frontend. Неделя 6. Массивы, их методы. Немного css Обучение, Программирование, IT, Личный опыт, Отчет, Дневник, Frontend, Развитие
Показать полностью 1
5

#4 Учу frontend. Неделя 5. Добавление функционала

Прошлый недельный спринт прошел в попытках все успеть. Временно переехала из-за ремонта, что тоже сказалось на моем обучении. Отчет пишу во вторник.

Эта неделя была посвящена реализации функционала в учебном проекте на ванильном JS. В результате были добавлено:
- мобильное меню
- слайдер, с двумя вариантами шага для разной ширины экранов
- таймер, отображающий время по UTC+0
- рандомайзер карточек товаров на главной странице
- сортировка
- модальные окна (на их реализацию ушло значительно больше времени по сравнению с другими функциями)
- кнопка "на верх" на странице товара для экранов шириной 768 пикселей и меньше

Результат работы тык

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

Теорию хватала урывками, в спешке, тоже придется возвращаться.
На этой неделе по теории git , по практике тесты на работу с массивами и циклами. Надеюсь, будет идти легко, и смогу выспаться)

Статистика:
времени на обучение потрачено: 35 часов
место в рейте: 275

#4 Учу frontend. Неделя 5. Добавление функционала Обучение, Программирование, IT, Личный опыт, Отчет, Дневник, Frontend, Развитие
Показать полностью 1
8

#3 Учу frontend. Неделя 4. Подгонка под мобильные устройства

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

Через медиа запросы, оказывается, можно не только подогнать макет к разным размерам экранов и ориентации. Но еще, например, настроить разные размеры для кликабельных областей в зависимости от указателя. Или убрать ховер эффекты, там где в принципе нет ховера.
Из того, что я еще представляю как можно использовать: это тип print, для настройки печатного вида. И настройки prefers-color-scheme. Остальное пока не представляю в каких ситуациях можно применить на практике.

С подгонкой под мобильные справилась довольно быстро.
В свободное время:
-поковырялась с svg для иконок. Сделала свой первый спрайт через symbol. Html после этого сдал выглядеть получше) Долго не могла понять, почему не применяется currentColor, потом только вычитала что информация кэшируется.
-почитала про относительные единицы измерения, применила rem к шрифтам в макете. На макете крайним размером под мобильные было 380, так что я до 320 решила попробовать сделать шрифты "флюидными" через calc(). Формулу брала здесь https://css-tricks.com/snippets/css/fluid-typography/ , сайт вообще кладезь всякого интересного. До конца не разобралась почему в одних случаях calc нормально принимает разные значения типа vw и px, в других нет, ну и как работает миксин из примера тоже не поняла. Но задуманное сделала. Надо теперь к остальные делали с макета тоже местами сделать относительными, а то смотрится не пропорционально.
-пообщалась с другими студентами, кому-то немного помогла. Чужой код - интересно и не сразу понятно, но когда получается найти в нем проблемное место - это прям буст к настроению. Попадаются хорошие решения, например, очень понравилось как выглядела работа sass с неймингом по БЭМ. На досуге тоже надо будет посмотреть.
-добила часть оставшихся тестов.

Результат работы тык
На этой неделе будет работа c функционалом.

Статистика:
времени на обучение потрачено: 31 час
место в рейте: 293

#3 Учу frontend. Неделя 4. Подгонка под мобильные устройства Обучение, Программирование, IT, Личный опыт, Отчет, Дневник, Frontend, Развитие
Показать полностью 1
5

#2 Учу frontend. Неделя 3. Верстка

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

На этой неделе я немного изменила подход, сразу взялась за практику, теория шла в перерывах или когда упиралась в нее при выполнении практики. По заданию нужно было сверстать десктопную версию двух страниц и сделать их деплой на gh-pages, без функционала. Ну и теория к практике: флексы, гриды, sass, углубление в сss.

Начала с верстки html на домашнюю страницы, с флексами я уже была знакома, поэтому разметку делала сразу с учетом на позиционирование. Так же сразу прописывала классы для css. Стили можно было делать просто css или с использованием sass. Подумала что довольно глупо будет читать в холостую, поэтому решила сразу использовать на практике. С sass нужно было задуматься о том как отслеживать применение стилей, использовать расширение Live Sass Compiler или взять какой-нибудь бандлер. Начало недели, настрой оптимистичный, решено гулять по полной и npm init vite@latest.

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

Пора было переходить к стилизации страницы.

#2 Учу frontend. Неделя 3. Верстка Обучение, Программирование, IT, Frontend, Отчет, Дневник, Текст, Длиннопост


Проблемы начались с подключением шрифтов, в макете были заявлены Montserrat и Allura. Первый прекрасно работал через @font-face, второй ни в какую, пробовала по разному, в итоге Allura подключился через ссылку. Сейчас думаю надо было сделать все единообразно и уже все шрифты подключить по ссылке. Классы в html походу прописывала зря, половину потом удаляла за ненадобностью. С вложенностью можно спокойно достать любой тег внутри родителя. Пришлось корректировать и саму разметку. Например, кнопки в секциях, стали линками. Было немного неуютно, что на макете не осталось кнопок, но если все что они делают, это ведут на соседнюю страницу, то это не совсем кнопки, верно ведь?

За импорты мне набили по рукам, куча предупреждений в терминале напрягала, пришлось переписать все на use. Структуру стилей у меня разнесло, где-то хватанула информацию, как это может выглядеть, сейчас думаю что на две коротенькие страницы, нужно было как минимум вместо разбивки по секциям, сделать разбивку по страницам. И заметка на полях, не писать миксины с кучей аргументов, сначала казалось хорошей идеей иметь такого "универсального" бойца, который флексы будет вертеть в любые стороны, еще и гэпы устанавливать. Нет, это нифига не удобно.

#2 Учу frontend. Неделя 3. Верстка Обучение, Программирование, IT, Frontend, Отчет, Дневник, Текст, Длиннопост

В общем остаток дней я привыкала к синтаксису, долбала стили, почитывала теорию в перерывах. С коммитами тоже раздрай, по идее все должно быть красиво: внесли корректировки в какой-то файл, сделали коммит с сообщением что и куда, у меня хаос и беззаконие, я их просто забываю делать иногда. В понедельник по плану было пройтись подогнать все под требования к сдаче, это пиксель перфект, состояния на на кнопках, проверить чтобы ссылки вели куда нужно, сделать деплой страниц.С первым пунктом проблем не возникло, единственное валидатор поругался на слеши в войд элементах. Решилось с подключением плагина prettier (prettier-plugin-void-html).

А вот с деплоем была свистопляска. Время уже вечер, дэдлайн ночью. Во первых я на старте удалила конфиг)) Вместе со всеми остальными ненужнотями, нафиг же он нужен. Ну не беда нашла на гитхабе у кого-то, дернула вехрний импорт и тело эксторта. На гитхаб нужно заливать папку dist, которая создается при билде, в конфиге прописывается base c названием репозитория. В чате посоветовали удобнейшую вещь https://www.npmjs.com/package/gh-pages , в сочетании с "deploy": "npm run build && gh-pages -d dist -e папка", вообще делает все в один клик.

НО, у меня на выходе вместо двух страниц, одна, и где-то в неизвестности бродят все подключенные через стили бэкграундные изображения. Адреналиньчик. Со страницами свистнула откуда-то со стак оверфлоу кусок c build: { rollupOptions: { input: {}, }, }. Со стилями пришлось прописать alias. Было радостно под конец узнать, что проблемы с изображениями можно было избежать, не засовывая асеты в папку crs, воспользовавшись папкой public, которая у меня тоже по какой-то причине попала под нож. И в гайде к vite это черным по белому написано.

Неделька была эмоциональной, из 4 тестов сделан 1, теория не дочитана, результат ссылка (и я уже вижу свои косяки с лого-ссылкой). На этой будет адаптация сайта под мобильные и кроссревью деплоя между студентами.

Статистика:
времени на обучение потрачено: 36 часов
место в рейте: 399,

#2 Учу frontend. Неделя 3. Верстка Обучение, Программирование, IT, Frontend, Отчет, Дневник, Текст, Длиннопост
Показать полностью 3
1

#1 Учу frontend. Неделя вторая. Б - база

Итак, прошла неделя, сегодня понедельник, настало время подвести итоги. Программа на недели включала в себя основы HTML, CSS и JS. Со всем этим я так или иначе уже сталкивалась, с js конечно побольше, с версткой я обращаться умею плохо, нет даже так, очень плохо.

По HTML проходились по основным тегам, семантике. Тут, пожалуй, главный вывод, что не нужно все строить на div, инпутов есть куча разных видов и + полезных атрибутов. Оказалось для разметки есть валидатор, на следующей уже опробую в деле. Возможно я его возненавижу.

CSS. Тоже общая информация. Селекторы, специфичность, основные свойства для шрифтов, позиционирования и тд. Все очень поверхностно, на сколько я поняла на следующей неделе будет более детальное погружение. Дополнительно поковырялась со специфичностью, узнала что ее можно представить в виде  0-0-0-0,
inline с более высокой специфичностью 1-0-0-0
id 0-1-0-0
class, атрибуты и псевдоклассы 0-0-1-0
теги и псевдоэлементы 0-0-0-1
*(универсальный) – низший приоритет
!important – высший
есть еще такая штука как layer в css, пометила себе почитать на досуге

JS. Повторила про типы, преобразования типов, операторы, циклы, всплытие и области видимости. Основное время досталось типам. Их всего 8, 7 из них примитивы. Интересно, все примитивы кроме null и undefined имеют свои обвертки object wrapper, которые позволяют вызывать методы, для null и undefined вызов метода будет выкидывать ошибку. Еще интересно на сколько mdn отличается в русифицированной версии и в английской). typeof null будет выдавать object, тот же результат будет если проверить примитив созданный с помощью конструктора new.

К проходимым топикам прошла 4 теста, баллы от 88 до 95. Самый низкий за html:) Времени тесты отжирают неплохо, текст на английском, местами с подвохом приходилось напрягаться.

Было также два практических занятия, на строки и на числа
Cтроки было легко и скучновато. Что бы я хотела рассмотреть детальнее так это – регулярные выражения, это просто фантастические возможности, но пока это выглядит для меня как клинопись, понимаю только диапазоны типа [0-9] [a-c] и флажки /g и /i
Числа и объект Math. Вот здесь мне было уже гораздо тяжелей, пришлось вспоминать математику, которую я проходила в школе практически мимо. Если теорему Пифагора я вспомнила довольно быстро (Анна Николаевна, спасибо за то, что смогли мне вдолбить хоть что-то) Нахождение угла между двумя векторами и задачку с числами фибоначи я делала долго, и фиг повторю без формулы перед глазами) К задачкам были приложены ссылки на вики, но че-то мне это нифига дела не ускорило. Вторая часть задания тоже была скучновата.
В целом решением задач не удовлетворена, можно сработать лучше, но со временем я не подрасчитала, доделывала все в воскресенье. Казалось бы проходимые топики вижу не в первый раз, но все равно что-то не помнила, что-то не видела, думала справлюсь побыстрей) Практическая часть залита на репозиторий https://github.com/IlinJoy, но туда лучше идти с седативным)

Остался еще топик с JS Scope & Functions с замыканиями, декораторами, this и тд. И еще один с функциями добавлеными ES2015, дедлайн до декабря, думаю успею.
На следующей неделе углубление в css и препроцессор sass, о котором я ни сном не духом, 4 теста и верстка двух страниц офигенно красивого макета. Вот этого я немного побаиваюсь.

И в заключение немного статистики:
место в рейте: 239, из 3к участников больше половины не активны, как мне кажется

#1 Учу frontend. Неделя вторая. Б - база Обучение, Программирование, Дневник, IT, Личный опыт, Frontend, Отчет, Карьера

времени на обучение потрачено: 24 часа
Ушла учиться, вернусь с отчетом в понедельник

Показать полностью 1
12

#0 Во Фронтенд в 35

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

И так дано: графический дизайнер на фрилансе, образование гуманитарное, с двумя корочками (преподаватель изо и комп. графика).
Начала самостоятельно, быстро поняла, что хватаю информацию отовсюду и поверхностно, и нашла очень ламповый курс, где нас на потоке было всего 50. Все пошло гораздо веселей, с видосов на ютюбе, переключилась на чтение. Курс состоял в основном из ссылок на статьи или ресурсы типа Learn.JS, все организованно от простого к сложному + закрепляющие задания. В какой-то момент у меня начали случаться накладки с основной работой и все полетело к чертям. Если раньше я размеренно шла с группой, не отставая больше чем на пару дней, то теперь разрывы были в полмесяца/месяц, которые я нагоняла как можно быстрей как только появлялась минутка, два месяца в режиме 12 часов за компом и я сдулась. Люди, которые учатся так по полгода и больше - супергерои. Я пару месяцев в итоге и не работала и и не училась, обходила комп по дуге. Продолжать после того как курс закончился оказалось грустновато, уже не хватало компании, да и позабылось все, и вот я решила начать сначала)
Во второй заход думала начать с новым потоком, но попался другой вариант, система схожа, привет ссылки, привет чтение)) привет соревнование, на курсе >3к студентов и есть таблица рейтинга с очками. Первый этап учишься самостоятельно, есть автотесты с дэдлайнами. Курс на английском, так что заодно прокачаюсь в нем. На втором этапе самых лучших разберут менторы)
Планирую публиковать отчеты раз в неделю, с выжимкой из того, что пройдено, плюс номер места в рейте, может еще буду записывать кол-во затраченных часов. Рекомендованное время на курсе 20-40 часов в неделю, не работать не вариант, так что буду еще экспериментировать с процессом обучения и тайм менеджментом.

Показать полностью
Отличная работа, все прочитано!