Премиум каналы

Senior Frontend - javascript, html, css

Senior Frontend - javascript, html, css - это канал, созданный специально для frontend программистов. Здесь вы найдете практические задачки, которые помогут вам улучшить свои навыки и проверить свои знания. Мы также предлагаем интересные статьи, которые помогут вам быть в курсе последних тенденций и новостей в мире frontend разработки. Присоединяйтесь к нашему каналу и расширяйте свои знания и опыт в этой захватывающей области программирования.

Последние публикации с канала

Когда решил запустить программу, которую написал без тестов:

👉 @seniorFront

02.05.2024 / 09:05

Awesome Cursor Animation on Mousemove

В этом видео создаётся анимация при движении курсора. В JS генерируются элементы, каждому из которых задаётся случайная траектория движения.

👉 @seniorFront

Video is too big
01.05.2024 / 17:05

Squidematics

Реализовано на canvas и JS без использования библиотек для создания анимаций.

👉 @seniorFront

01.05.2024 / 09:05

Хороший парень, плохой код: доброта дороже денег?

Сегодня о тимлидском-наболевшем. Вот представьте, образовалась перед вами дилемма: есть в команде специалист, который по человеческим качествам — просто душка, но его скорость и качество работы вызывают желание спрятаться под стол и тихонько поплакать. Как быть?

Робин Гуд наоборот
Представьте, что вы — суперпонимающий, эмпатичный тимлид. У вас возникает соблазн оставить этого неэффективного разработчика просто потому, что он хороший человек. Но вот в чем загвоздка: по сути, вы будете платить ему из денег, заработанных его коллегами, теми, кто действительно выкладывается, фигачит овертаймы и вносит свой вклад в успех проекта. Такой вот странный сценарий Робина Гуда, только он отбирает у работящих, чтобы отдать... ну, не очень работящим.

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

Если же это не помогло, вариантов два:
Рефакторинг. Скорректировать зарплату разработчика в соответствии с его реальным вкладом. Это может показаться жестким, но это способ сохранить справедливость и обеспечить всем соответствующее вознаграждение.

Исключение. Оно же — увольнение. Возможно, это наилучший выход как для компании, так и для самого сотрудника. Он сможет найти работу, которая лучше соответствует его навыкам, а команда — повысить свою эффективность.

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

👉 @seniorFront

30.04.2024 / 16:04

Неразрешимые проблемы программирования

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

Собеседования
Мы сейчас ограничимся программистской спецификой. Понятно, что у рекрутеров, тимлидов и HR-менеджеров свои трудности с соискателями. Вольётся ли человек в коллектив? Это не наша забота. Наша забота — за час времени определить технический уровень кандидата.

Сейчас общепризнанно, что нестандартные задачки для этого не сильно подходят: когда-то их давали в Microsoft, но потом перестали. Иногда их дают в других компаниях. Мы научились более-менее отвечать на вопросы, почему люки круглые, или сколько заправок в Нью-Йорке, но, похоже, они не помогают работодателю оценить программиста.

Потому что на работе — обычно — нам не приходится решать нестандартные задачи. Нам не приходится решать олимпиадные задачи. И что мы оцениваем, задавая вопрос про люки — не известно никому.

Онбординг
Это адаптация сотрудника, только что вышедшего на работу. Вам должны рассказать, где здесь гардероб, туалет и столовая, как зовут соседей слева и справа, как подключиться к корпоративной почте и каковы ценности компании.
С этим обычно никаких проблем не возникает.

Затем вам дают проект — из тех, что мы называем legacy. Триста человеко-лет — десять лет и тридцать программистов. Часть из них сидит сейчас рядом с вами, но другая часть давно уволилась. Ваша задача — разобраться в проекте как можно быстрее.

Никто не знает. Если проект целиком не знают даже старожилы, то и у вас нет никаких шансов. Возможно, онбординг, как и день сурка, будет длится вечно. К счастью у нас есть четыре волшебных средства, которые помогают нам в адаптации. Комментарии, документация, тесты и помощь коллег.

Код-ревью
Здесь прекрасно всё, даже трудно выбрать, с чего начать. Да, вы и сами всё знаете.

Начнём с главного-очевидного. Почему-то так вышло, что среди программистов много душнил. Мы любим спорить, любим сомневаться даже в очевидном, плюём на авторитеты. И при этом, высказывая своё — безусловно ценное — мнение, редко заботимся о тонкой душевной организации коллег.

Когда нас называют идиотами, мы конечно, возмущаемся. А когда мы называем идиотами — нет.

Код-ревью — неиссякаемый источник напряжения в команде. Программистов надо учить давать конструктивную обратную связь. Но если они не хотят учиться, вы их не заставите.

👉 @seniorFront

30.04.2024 / 09:04

CSS animated SVG

Это SVG картинка, стилизованная и анимированная в SCSS.

👉 @seniorFront

29.04.2024 / 16:04

🔥 Проходишь собеседования?

Здесь собраны актуальные вопросы к собеседованиям на позицию Frontend Разработчика. В каждом посте:

Короткий и полный ответы
Ссылки на ресурсы для изучения темы
Уровень сложности вопроса

Канал ведут опытные Frontend Разработчики, которые будут еженедельно проводить публичные собеседования среди подписчиков.

Подпишись на Frontend | Собеседования

29.04.2024 / 12:04

Более надёжные кастомные чекбоксы с псевдо-классом focus-within

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


 <body>
<div class="custom-checkbox">
<input id="cb" type="checkbox" class="custom-checkbox__input">
<label class="custom-checkbox" for="cb">Запомнить данные</label>
</div>
</body>

.custom-checkbox__input:focus + .custom-checkbox__label::before {
outline: 3px solid #222;
}


Есть специалисты, которые нашли недостаток этого способа. По их мнению, часто происходит так, что люди случайно вставляют элемент <input> в другое место. По этой причине селектор перестаёт работать.


Думая над решением этой проблемы, ко мне пришла мысль: «А почему бы не заменить соседнего родственного комбинатора + на псевдо-класс focus-within?». Ведь данный псевдо-класс срабатывает, когда сам элемент или кто-то из его дочерних элементов находится в фокусе. И в случае использования его в нашей задаче, получится так, что позиция элемента <input> неважна.


Заменим фрагмент кода с комбинатором + на псевдо-элемент :focus-within.


 .custom-checkbox:focus-within .custom-checkbox__label::before {
outline: 3px solid #222;
}


Мне кажется, даже код выглядит «красивее». А вы как думаете? Напишите в комментариях.

👉 @seniorFront

29.04.2024 / 09:04

Не бойтесь бросать свои пет-проекты

В этой статье автор рассказывает о своём недавнем пет-проекте, который он забросил в тот же день, в который запустил.

Выводы, к которым автор пришел:
Вместо того, чтобы подходить к своему первому проекту чисто из амбициозных соображений или чтобы впечатлить работодателя, взгляните на него в первую очередь как на способ изучить новые возможности. Как только вы наберётесь достаточно опыта (то есть заброшенных пет-проектов), остальное придёт само. Личные проекты должны быть креативными и интересными. Если вы заметите, что вас начинает беспокоить срок готовности вашего начинания или, хуже того, если вы из-за него начнёте выгорать, то не мешкая бросайте. Велика вероятность, что при внимательном рассмотрении вы заметите немало ценности, которую он вам уже принёс.

👉 @seniorFront

28.04.2024 / 16:04

Christmas Trash Party

Вы получите trash1 и trash2, которые могут иметь следующие значения:
[], false, '', new Array(), null, NaN, undefined, 0, -0, 0n, -0n, '0'.

Вы должны вернуть булево значение, если они строго равны.

Примечание:
тройное равенство === и строгое неравенство !== не допускаются

Пример:

compareTrash(0, false) => false
compareTrash('', '') => true
compareTrash([], 0) => false

👉 @seniorFront

28.04.2024 / 13:04

☄️ Горячая акция для IT-специалистов на дизайн и ремонт квартиры!

RE Design Buro создаем дизайн-проекты и реализуем их в жизнь более 15 лет ⭐️

За это время сделали уже 450+ проектов и ремонтов в Москве и области 🏆

Коротко о компании:

⭐️ работают не бригады, а узкие специалисты: плиточники, электрики, сантехники т.д.
⭐️ 6 месяцев средний срок ремонта.
⭐️ рейтинг выполненных ремонтов - 4.9.
⭐️ все цены и сроки фиксируем в договоре.
⭐️ оплата разбивается частями по факту сдачи работ
.

💥 Только для специалистов IT-индустрии - скидка 10% на дизайн и ремонт от компании RE Design Buro

‼️ Важное условие — вы работаете в IT-компании, которая получила аккредитацию Минцифры РФ

👉 Наши работы
👉 Мы в Телеграм
👉 Связаться с нами
👉 Консультация дизайнера БЕСПЛАТНО
👉 Получить сметный расчёт стоимости ремонта

28.04.2024 / 09:04

Greyscale Infinite Swiper

Создано на React и стилизовано в SCSS.

👉 @seniorFront

27.04.2024 / 16:04

Direction-Aware Text Hover Effects

В этом видео создается анимация при наведении на текст, которая меняется в зависимости от места наведения курсора.

👉 @seniorFront

Video is too big
27.04.2024 / 09:04

Что такое SyntheticEvent в React?

Anonymous Quiz

26% - События, генерируемые компонентами React

60% - Абстракции над нативными событиями браузера, предоставленные React

9% - События, вызываемые асинхронными действиями

6% - События, обрабатываемые сторонними библиотеками

26.04.2024 / 16:04
Отзывы: - 0
Поделитесь вашим мнением! Оставьте отзыв:

Похожие

Избранное