Senior Frontend - javascript, html, css @seniorfront Channel on Telegram

Senior Frontend - javascript, html, css

@seniorfront


Senior Front - канал для frontend программистов, практические задачки, проверки знаний, интересные статьи

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront
Менеджер по рекламе: @Spiral_Yuri

Senior Frontend - javascript, html, css (Russian)

Senior Front - это канал для frontend программистов, которые интересуются разработкой веб-приложений с использованием javascript, html и css. Здесь вы найдете практические задачки, проверки знаний, а также интересные статьи, которые помогут вам расширить свои профессиональные навыки. Администраторы канала всегда готовы ответить на ваши вопросы и помочь в решении возникших проблем. Если у вас есть предложения по сотрудничеству или вы хотите разместить рекламу на канале, вы можете связаться с администраторами по указанным контактам: @seniorFrontPromo, @maria_seniorfront. Также есть возможность обсудить рекламные вопросы с менеджером по рекламе: @Spiral_Yuri. Присоединяйтесь к Senior Front и вы всегда будете в курсе последних новостей и тенденций в мире frontend разработки!

Senior Frontend - javascript, html, css

06 Dec, 12:00


Вы уже работаете с JavaScript?
А вы сможете пройти тест для PRO?
https://otus.pw/3Xxr/

📚Получите актуальные навыки на практике,
используя привычные подходы.
— Node.js, Angular, React.js и Vue.js уже ждут вас на онлайн-курсе «JavaScript Developer. Professional» от OTUS.

🔥Пройдите тестирование, чтобы:
- Оценить свои навыки
- Получить курс по специальной цене после успешного прохождения теста
- Получить доступ к бесплатным урокам курса от OTUS

👉Ссылка на тест: https://otus.pw/3Xxr/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 erid 2SDnjcq5GZh

Senior Frontend - javascript, html, css

06 Dec, 09:02


Super charger

Реализовано и анимировано на HTML и SCSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

05 Dec, 16:02


Background Line Animation

Реализовано при помощи библиотеки slick-carousel. Свёрстано на чистых HTML и CSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

05 Dec, 10:30


Отправляй своему руководителю

👉 @seniorFront

Senior Frontend - javascript, html, css

05 Dec, 06:30


Требуются парни и девушки в возрасте 19–40 лет, желающие работать в сфере IT.

Опыт в программировании не нужен.

Завтра запускаем бесплатный онлайн-интенсив по Frontend-разработке, где будем показывать, как разрабатывать сайты и веб-приложения.

За 7 дней обучения ты:


1. Создашь полноценный веб-сайт на HTML и CSS;
2. Оживишь страницу с помощью JavaScript;
3. Используешь фронтенд-фреймворк Angular;
4. Подключишь Backend и загрузишь сайт на хостинг;
5. Получишь советы по доработке своего проекта;
6. Узнаешь сколько можно зарабатывать и как работать;
7. Получишь в подарок чек-лист «45 мест для поиска работы».

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

👉 Проскочить на интенсив бесплатно

🔥 С нас обучение, практика и помощь с выходом на фриланс.

Senior Frontend - javascript, html, css

04 Dec, 16:01


Animated Click Effect

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

👉 @seniorFront

Senior Frontend - javascript, html, css

04 Dec, 12:00


Как подготовиться к собеседованию и переехать в другую страну? Что делать, если выгорание близко и работа совсем не радует? Как вкатиться в IT за полгода, если тебе уже за 30?

Ответы на эти вопросы — в канале «Люди и код». Команда канала беседует с опытными и начинающими разработчиками и программистами, находит интересные и неожиданные темы и помогает влюбиться в IT. Про мемы и конкурсы тоже не забываем :) А ещё у нас есть подкаст, послушать его можно по этой ссылке.

Наши любимые материалы:

1. Как грамотно начать свой путь в IT в России в современных условиях?
2. Кто такой DevRel? Чем он занимается и сколько зарабатывает?
3. Какие игры помогут прокачаться в программировании? Подборка.
4. Как транзисторы перевернули наш мир: большой спецпроект
5. Как программисту пройти собеседование. 6 советов.
Подписывайтесь на канал «Люди и код»: @skillbox_media_code

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880 erid:2VtzqwECa4f

Senior Frontend - javascript, html, css

04 Dec, 09:09


SVG Animation Using Animation Element

Вся сцена - это SVG картинка, анимируемая при помощи SVG animate.

👉 @seniorFront

Senior Frontend - javascript, html, css

03 Dec, 16:07


Отцы и дети: как привычки пользователей из разных поколений влияют на ваш продукт

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

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

👉 @seniorFront

Senior Frontend - javascript, html, css

03 Dec, 09:01


Как общаться с руководителем

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

Первое. Не теряйте ответственности по дороге
Всю дорогу стараюсь донести до своих разработчиков мысль, что задача (таск в Джире) — это их зона ответственности вплоть до попадания кода в прод. Хотя деплоит в прод за редким исключением не разработчик.

Антипример.
— (на дэйлике) Разработчик Васенька, скоро уж страшный зим катит глаза, в смысле, окончание спринта, что у тебя вот с тобой задачкой на 6 человеко-часов?
— Ой, а я же тебе на позапрошлом дэйлике сказал, что Луна в Третьем доме, поэтому на неё забил…
— (немая сцена)

Что пошло не так? Исполнитель неявно спихнул ответственность за свою часть работы на руководителя: пусть Папа Римский помолится за всех нас! Не произошло явной передачи (это когда обе стороны понимают, кто теперь тащит задачу, и фиксируют договорённость где-то, хоть в той же Джире). У подчинённого возникла иллюзия, что если он проговорил вслух о своей проблеме, то добрая фея уже прилетела и всё решила за него.

Второе. Старайтесь не общаться с марсианами
Этот пункт развивает мысль, начатую в первом. Иногда, особенно при разборе какого-то факапа, разработчик начинает говорить о задаче отстранённо: «в коде появилось...», «в ветку влилось...», «в прод залили...». Мой руководитель иногда перебивает такое повествование вопросом: «Кто, марсиане залили?»

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

Третье. Вместе с жалобой приносите проект решения
Конечно, эмоции важны, и совершенно естественно прийти к руководителю со словами «да конём оно...», в смысле «мсье, я обескуражен наметившейся тенденцией». Но ведь вы не только хотите спустить пар, но и, как ответственный исполнитель, решить проблему? — Тогда помогите своему руководителю (самые хитрые тут даже начинают направлять его усилия в нужную им сторону не только по поводу одной задачи, но это отдельное искусство)!

Четвёртое. Руководитель — ваш рычаг, ваш бустер, ваш джинн из бутылки
Частенько люди пишут, мол, я что, нанимался ещё и требования писать, и код тестировать? Я хочу, чтобы мне просто приносили ТЗ, а я просто пилил код, отстаньте от меня все!

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

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

Пятое. Доверие — основа общения
И наконец, пункт, который говорит о базе, на которой строится взаимодействие. Тут не про его осуществление, а про подготовку. Люди, как и все другие социальные существа, постоянно «обнюхивают» друг-друга, то есть стараются построить более-менее точную картину насчёт того человека, с кем они имеют дело.

👉 @seniorFront

Senior Frontend - javascript, html, css

02 Dec, 16:01


Supercharged CSS with Anchor Positioning

Реализовано при помощи CSS anchor. Анимировано библиотекой gsap. Перемещения созданы библиотекой Draggable.

👉 @seniorFront

Senior Frontend - javascript, html, css

02 Dec, 12:00


Хотите создать свою первую веб-страницу с нуля? Без магии и кодерских заклинаний — только HTML, CSS и ваши идеи!

👉 На открытом вебинаре «Создаем свою первую страницу: HTML и CSS» вы узнаете, как работают основные элементы веб-разработки: от структуры HTML до современной стилизации с CSS.

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

💪 Это ваш шанс научиться веб-разработке, используя простой и мощный инструментарий. Уже на вебинаре вы создадите свою первую веб-страницу — с текстом, картинками и уникальным дизайном!

Регистрируйтесь на открытый урок 3 декабря в 19:00 мск! Урок проходит в преддверии старта курса «Fullstack Developer», участники вебинара получат скидку на обучение.

👉 Для участия зарегистрируйтесь: https://vk.cc/cFAkcC

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru erid 2SDnjeQxUcb

Senior Frontend - javascript, html, css

02 Dec, 09:02


Какие бывают utility types в TypeScript ?

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

Partial
Делает все свойства типа T необязательными.
interface User {
id: number;
name: string;
email: string;
}

const updateUser = (id: number, userUpdates: Partial<User>) => {
// Обновление пользователя
};

updateUser(1, { name: 'Alice' }); // Можно передать только часть свойств


Required
Делает все свойства типа T обязательными.
interface User {
id?: number;
name?: string;
email?: string;
}

const user: Required<User> = {
id: 1,
name: 'Alice',
email: '[email protected]'
}; // Все свойства должны быть указаны


Readonly

Делает все свойства типа T только для чтения.
interface User {
id: number;
name: string;
email: string;
}

const user: Readonly<User> = {
id: 1,
name: 'Alice',
email: '[email protected]'
};

user.id = 2; // Ошибка: свойство id доступно только для чтения


Pick

Создает тип с набором свойств K из типа T.
interface User {
id: number;
name: string;
email: string;
}

const user: Pick<User, 'id' | 'name'> = {
id: 1,
name: 'Alice'
}; // Только свойства id и name


Omit

Создает тип, исключающий свойства K из типа T.
interface User {
id: number;
name: string;
email: string;
}

const user: Omit<User, 'email'> = {
id: 1,
name: 'Alice'
}; // Все свойства, кроме email


Record
Создает тип объекта, ключи которого из K, а значения типа T.
type Roles = 'admin' | 'user' | 'guest';

const roles: Record<Roles, string> = {
admin: 'Admin User',
user: 'Regular User',
guest: 'Guest User'
};


Exclude

Создает тип, исключая из T те типы, которые находятся в U.
type T = 'a' | 'b' | 'c';
type U = 'a';

type Result = Exclude<T, U>; // 'b' | 'c'


Extract

Создает тип, включающий только те типы из T, которые также находятся в U.
type T = 'a' | 'b' | 'c';
type U = 'a' | 'c';

type Result = Extract<T, U>; // 'a' | 'c'


NonNullable
Исключает null и undefined из типа T.
type T = string | number | null | undefined;

type NonNullableT = NonNullable<T>; // string | number


ReturnType

Получает тип возвращаемого значения функции T.
function getUser() {
return { id: 1, name: 'Alice' };
}

type User = ReturnType<typeof getUser>; // { id: number, name: string }


👉 @seniorFront

Senior Frontend - javascript, html, css

01 Dec, 16:03


Ты — ненастоящий айтишник / Дедовщина в IT

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

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

👉 @seniorFront

Senior Frontend - javascript, html, css

01 Dec, 09:02


Remove the parentheses

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

Примечания
Кроме круглых скобок в строке могут встречаться только буквы и пробелы. Не беспокойтесь о других скобках, таких как "[]" и "{}", так как они никогда не появятся. Круглых скобок может быть несколько. Круглые скобки могут быть вложенными.

Пример:
removeParentheses("a (bc d)e") => "a e"
removeParentheses("a(b(c))") => "a"


👉 @seniorFront

Senior Frontend - javascript, html, css

30 Nov, 16:03


Navigation Button Interaction

Анимация переключения между кнопками реализовано при помощи библиотекой gsap.

👉 @seniorFront

Senior Frontend - javascript, html, css

30 Nov, 09:02


Cursor Move Effects

В этом видео создается эффект проявления картинки при наведении курсора на чистом JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

29 Nov, 13:00


CSS Illustration - Bicycle

Анимированная иллюстрация на HTML и SCSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

28 Nov, 16:02


Music App Interaction

Свёрстано на HTML и CSS. Анимировано библиотекой gsap.

👉 @seniorFront

Senior Frontend - javascript, html, css

28 Nov, 09:03


Когда разработчик видит своё приложение у кого-то на телефоне:

👉 @seniorFront

Senior Frontend - javascript, html, css

27 Nov, 17:02


Amazing Button Hover Effect

В этом видео создается эффект при наведении на кнопку на CSS и чистом JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

27 Nov, 09:02


Nav Buttons

Оригинальные кнопки меню, реализованные на HTML и SCSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

26 Nov, 15:00


Словарь программисткого жаргона без англицизмов

Часто можно встретить словари «программистского жаргона», однако они как правило на 90% состоят из англицизмов. Это не так интересно, поскольку англицизмов можно создать бесконечное количество и они появляются новые каждый день пачками.

Мне интересно было составить «чисто русский словарь», состоящий в основном из омонимов, то есть слов, использующихся в ином значении.

Дополнения и правки приветствуются )

👉 @seniorFront

Senior Frontend - javascript, html, css

26 Nov, 11:00


🇷🇸 Теперь можно стать гражданином Сербии всего за 8 месяцев. Помимо безвизового посещения всей Европы, этот паспорт даёт возможность вести международный бизнес и осуществлять трансграничные платежи из России. Подробности — тут.

Есть юристы, которые помогают с оформлением гражданства в короткие сроки: например, с полным сопровождением Bespalov Finance стать гражданином Сербии можно всего за 8 месяцев (у них хорошие отзывы и сотни довольных клиентов).

Бесплатная консультация доступна прямо в Telegram: @AleksandrBespalovFinance

Senior Frontend - javascript, html, css

26 Nov, 06:00


Мои Red-Flags при устройстве в IT-компании: Как не стать гребцом

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

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

Как реагировать: Один раз — ну ок. Два раза — в мусорку. Цените свое время.

Вакансия = тайна
Когда в вакансии нет подробностей о проекте, задачах или требованиях — это уже настораживает. Если всё держат в секрете, есть вероятность, что что-то не так. Может, проект в кризисе, или просто нет четкого понимания, что они вообще хотят. Если они не могут честно рассказать, с чем работать, скорее всего, тебе не расскажут и о проблемах, с которыми придется столкнуться.

Как реагировать: Иногда во всем виноват слабый HR-отдел. Стоит пробиться до реальных членов команды и узнать у них. Я часто встречал нормальную разработку и никудышный HR-отдел.

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

Как реагировать: Требуем конкретики и четких показателей. Не стоит пытаться узнать все устроившись и поработав. Лучше рассмотреть вариант получше.

У нас все честно!
Если на собеседовании тебе говорят "У нас все честно!" или "У нас все прозрачно" — насторожись. Это чаще всего сигнал, что тебя собираются обмануть. Настоящая честность не требует громких заявлений. Если компании приходится так настойчиво уверять, что они "честные", скорее всего, скрывается что-то неприятное. Не доверяй пустым обещаниям, лучше ищи реальные факты и конкретику — это поможет избежать неприятных сюрпризов в будущем.

Как реагировать: Большой красный флаг. Любой обман начинается с риторики а-ля "Я бы мог тебя обмануть как остальные, но я не такой, я честный"... Ага, "не бита, не крашена, в гараже стояла". Избегайте таких собесов.

Технический процесс? Вижу впервые!
Когда спрашиваешь, как у них организован процесс разработки, а в ответ получаешь: «Мы просто кодим, а потом все собираем» — это уже красный флаг. Неудивительно, что баги в продакшне появляются как кораблики в море, а с деплоем — полная неразбериха.

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

👉 @seniorFront

Senior Frontend - javascript, html, css

25 Nov, 16:02


Temperature line chart

Реализовано на canvas с использованием библиотеки Chart.js

👉 @seniorFront

Senior Frontend - javascript, html, css

25 Nov, 09:04


BigInt в JavaScript

Тип большого целого BigInt — примитивный тип, который представляет целые числа больше 253-1. Эти числа уже не помещаются в стандартный примитив «число».

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

Создать BigInt можно двумя способами:

1. Добавить суффикс n в конец записи числа
const biggy = 9997000254740991n


2. Вызвать конструктор BigInt
const alsoBig = BigInt(9997000254999999)


BigInt поддерживает, например, операции сложения +, вычитания -, умножения *, взятия остатка от деления %, возведения в степень **.
Операция деления / также работает, но дробная часть отбросится:
const seven = 7n
const five = 5n

console.log(seven / five)
// 1


BigInt не сериализуется в JSON, то есть не переводится в последовательность битов. Это усложняет использование данного типа данных в задачах взаимодействия с сервером.

Преобразование типов
В операциях BigInt невозможно использовать напрямую с обычными числами типа number: это приведёт к ошибке.
const biggy = 10n
const number = 5

console.log(biggy + number)
// Uncaught TypeError: Cannot mix BigInt and other types,
// use explicit conversions


Чтобы провести операции между BigInt и обычными числами, их нужно явно преобразовать. Например:
const biggy = 10n
const number = 5

console.log(biggy + BigInt(number))
// 15n

console.log(Number(biggy) + number)
// 15


Ограничения
Нет поддержки дробных чисел. BigInt работает только с целыми числами. Дробные числа нельзя использовать с этим типом данных.

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

В BigInt не поддерживаются операции унарного плюса и сдвига битов вправо.

👉 @seniorFront

Senior Frontend - javascript, html, css

24 Nov, 16:08


Гайд: как попасть с докладом на крупную конференцию и на что обратить внимание при подготовке

Меня зовут Лиза, я ex-программный координатор конференции HighLoad++ и в этой статье расскажу базовые шаги, которые помогут спикерам дойти до программы крупной (а то и крупнейшей) профильной конференции страны.

👉 @seniorFront

Senior Frontend - javascript, html, css

24 Nov, 09:03


Descending Order

Cоздать функцию, которая может принимать в качестве аргумента любое неотрицательное целое число и возвращать его с цифрами в порядке убывания. По сути, нужно переставить цифры так, чтобы получилось максимально возможное число

Пример:
Ввод: 42145     —>  вывод: 54421
Ввод: 145263 —> вывод: 654321
Ввод: 123456789 —> вывод: 987654321


👉 @seniorFront

Senior Frontend - javascript, html, css

23 Nov, 16:05


Anxious dots

Реализовано на canvas и чистом JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

23 Nov, 09:02


Our Services Box

В этом видео создаются карточки с оригинальным эффектом при наведении на CSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

22 Nov, 09:02


envelope with animation

Свёрстано на чистых HTML и CSS. При наведении запускаются CSS трансформации.

👉 @seniorFront

Senior Frontend - javascript, html, css

21 Nov, 16:05


Editor Canvas

Вся сцена - SVG картинка, анимированная библиотекой TweenMax.

👉 @seniorFront

Senior Frontend - javascript, html, css

21 Nov, 09:02


Главное чтобы задача была интересная

👉 @seniorFront

Senior Frontend - javascript, html, css

20 Nov, 17:12


Tooltip Text

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

👉 @seniorFront

Senior Frontend - javascript, html, css

20 Nov, 13:12


Открытый урок «Эффективная работа с Next.js и TypeScript»

🗓 25 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Практический курс по TypeScript» от Otus.

На вебинаре:

разберем, как создавать масштабируемые и производительные приложения с помощью Next.js и TypeScript;
поговорим об использовании статической и серверной генерации, работе с маршрутизацией и оптимизации производительности;
обсудим типизацию компонентов и интеграцию с внешними API для создания надежных приложений.

🔗 Ссылка на регистрацию: https://vk.cc/cF1SP8

🎁 Только в "Черную пятницу", скидки на курс до 15%! Подробности у менеджеров.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 erid 2SDnjeEFjP1

Senior Frontend - javascript, html, css

20 Nov, 06:07


Interactive Lit LLaMA

Это SVG картинка, анимированная в CSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

19 Nov, 18:00


Разработай прорывное решение для автоматического Code Review с помощью ИИ на хакатоне ЕВРАЗа 3.0🔥

🦾 Создай будущее Code Review с ИИ! 

Участвуйте в нашем уникальном хакатоне по созданию ИИ-чатбота, который станет незаменимым помощником для разработчиков ЕВРАЗа! Выберите одно из направлений — Python, TypeScript или C#, и разработайте решение для анализа кода на соответствие нашим стандартам. 

Дата: 29 ноября – 1 декабря 2024.
Формат: гибридный (онлайн и офлайн).
Призовой фонд: 500.000 рублей.

🧑‍💻 Присоединяйся к хакатону, если ты:
– AI-специалист;
– Frontend / Backend-разработчик;
– Студент или выпускник технического вуза.

⚡️ Зачем участвовать?
– Прокачаешь скиллы и получишь обратную связь от ведущих экспертов отрасли.
– Прикоснешься к ИТ в ЕВРАЗе.
– Получишь возможность стать частью масштабной и амбициозной команды ЕВРАЗа.

🔸 Регистрация уже открыта! Подай заявку до 25 ноября 23:59 МСК по ссылке.

Senior Frontend - javascript, html, css

14 Nov, 17:00


Ивент для тех, кто хочет узнать больше об открытом коде — Яндекс проведет «Ночь опенсорс библиотек»

Вы сможете понетворкать с разработчиками крупных опенсорс проектов и узнать от мейнтейнеров, как коммитить так, чтобы ваш код всегда принимали. А еще познакомитесь с созданием интерфейсов в Gravity UI, научитесь кодить в HTML/CSS на emmet и автоматизируете рутинные задачи с zx.

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

Ночь опенсорса пройдет 14 декабря в московской Библиотеке иностранной литературы. Регистрация открыта до 4 декабря.

Senior Frontend - javascript, html, css

14 Nov, 16:03


Lotsa Notifications

Логика работы уведомлений реализована на чистом JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

14 Nov, 10:00


Нет у меня никакого выгорания, наверное

👉 @seniorFront

Senior Frontend - javascript, html, css

14 Nov, 09:00


В жизни каждого разработчика однажды наступает момент, когда перед ним возникает оно… ЛЕГАСИ 👻

Что такое легаси код и откуда он берется? Как обнаружить легаси в проекте? Какую ошибку постоянно совершают лиды? Как предупредить проблему в будущем? Когда стоит отказаться от рефакторинга?

Обо всем этом расскажет лид frontend-разработки Мерка, Никита Шальнев, на онлайн-митапе «Как лиду работать с легаси?»

Встречаемся с вами в 19:00 МСК в канале @merkteam ⬅️

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

Senior Frontend - javascript, html, css

13 Nov, 17:01


Cursor in & Out Ripple Effects

В этом видео создается анимация при наведении на карточку, зависящая от положения курсора пользователя. Параметры анимации задаются в JS при срабатывании события mousemove.

👉 @seniorFront

Senior Frontend - javascript, html, css

13 Nov, 09:02


Responsive app switcher or carousel

Реализовано на чистом CSS при помощи CSS animation-timeline.

👉 @seniorFront

Senior Frontend - javascript, html, css

12 Nov, 16:02


Как убить самоорганизацию в команде: вредные советы для лидера

Сегодня многие компании переходят на гибридный формат работы, где команды нуждаются в особом подходе для поддержания самоорганизации — процесса, при котором люди выполняют задачи без постоянного контроля руководителя. Я поделюсь своими наблюдениями, почему в современных условиях самоорганизация не происходит «магически» и что должен делать тимлид, чтобы помочь команде достичь этой цели.

👉 @seniorFront

Senior Frontend - javascript, html, css

12 Nov, 09:02


Почему программисты никогда не вымрут

Буквально 20 минут назад прочел статью - Сгенерированный ИИ код сделает вас плохим программистом. И у меня созрела мысль, которую я до этого нигде не читал.

Итак, о чем статья то. Я ни в коем случае не обесцениваю труд автора, но я прочел ее краткое содержание примерно так:

Почему нельзя писать код с помощью нейросетей:
- Вы станете тупым
- Вас никто не будет уважать
- Это вообще не дело

Лично я вообще не переживаю насчет того, что скоро скайнет захватит мир, потому что:
- Зачем зря переживать
- У меня есть работа
- Я уверен, что ближайшие десять лет моих знаний хватит, чтобы не оказаться в нищете.

В комментариях большая часть аудитории разделились на два лагеря:
- Первые: да с этим чатом гпт у вас сгниют мозги!
- Вторые: пусть гниют, мы то хотя бы не умрем в нищете!

Для меня утверждение - "люди с чатом гпт - лучшие работники, чем без него" - просто бред.

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

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

Тоже самое, что сказать - "код на C++ говно, на python гораздо лучше. Кто пишет на python, за тем будущее". Ах, да... Такой тезис периодически звучал последние несколько лет.

Хороший программист - это профессионал, финальный продукт деятельности которого удовлетворяет заказчика. Если тебе надо выбивать дырки на перфокарте и написание "hello, world!" отнимает у тебя неделю, то это не удовлетворит ни одного заказчика. Если вносить правки в систему умеет 2 человека в мире, такой продукт ни одного вменяемого человека также не устроит.

Если же ты профессионал, и можешь сделать отличную систему из поломанного стула и рожка мороженного - то ты будешь востребован до тех пор, пока твой продукт будет удовлетворять заказчика. А поверьте, отлично сделанные системы никогда не перестанут удовлетворять заказчиков.

👉 @seniorFront

Senior Frontend - javascript, html, css

11 Nov, 16:02


Looping words

Стилизовано в CSS и анимировано библиотекой gsap.

👉 @seniorFront

Senior Frontend - javascript, html, css

11 Nov, 09:02


В чём разница между event.preventDefault и event.stopPropagation?

event.preventDefault() и event.stopPropagation() — это два метода, которые используются для управления поведением событий в JavaScript. Они выполняют разные задачи и полезны в различных сценариях.

event.preventDefault()
Предотвращает поведение браузера по умолчанию для события. Это может быть полезно, когда вы хотите отменить действие, которое обычно происходит при определенном событии.

Примеры:

Отмена отправки формы:
document.querySelector('form').addEventListener('submit', function(event) {
event.preventDefault();
console.log('Форма не отправлена!');
});


Отмена перехода по ссылке:
document.querySelector('a').addEventListener('click', function(event) {
event.preventDefault();
console.log('Переход по ссылке отменен!');
});


event.stopPropagation()
Предотвращает дальнейшее распространение события по дереву DOM. Это полезно, когда вы хотите остановить событие от всплытия (bubbling) или захвата (capturing) к родительским элементам.

Примеры:

Остановка всплытия события:
document.querySelector('.child').addEventListener('click', function(event) {
event.stopPropagation();
console.log('Клик на child');
});

document.querySelector('.parent').addEventListener('click', function() {
console.log('Клик на parent');
});


В этом примере клик на .child элемент не вызовет обработчик клика на .parent элементе.

👉 @seniorFront

Senior Frontend - javascript, html, css

10 Nov, 18:07


SOLID на котиках

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

👉 @seniorFront

Senior Frontend - javascript, html, css

10 Nov, 09:09


Пивомида

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

Пирамида пивных банок возводит в квадрат количество банок на каждом уровне: 1 банка на верхнем уровне, 4 на втором, 9 на следующем, 16, 25...

Завершите функцию beeramid, чтобы получить количество полных уровней пирамиды из пивных банок, которую вы можете построить, учитывая параметры:
ваш реферальный бонус и цена банки пива

Пример:
beeramid(1500, 2); // should === 12
beeramid(5000, 3); // should === 16


👉 @seniorFront

Senior Frontend - javascript, html, css

09 Nov, 16:02


Business Card

Карточка - визитка web разработчика, реализованная на HTML и SCSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

09 Nov, 09:02


Image Trails Effects

В этом видео создается эффект проявления картинок при движении мыши на чистом CSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

08 Nov, 15:41


Закрытый клуб для айтишников

FAANG School, чьи выпускники работают в Яндексе, СБЕРЕ и других гигантах, запустили бесплатное сообщество для всех, кто изучает Java.

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

В чате уже больше 10 000 человек, а новенькие, которые подключатся сейчас, получат доступ к большой библиотеке Java Junior с полезными материалами:

– Пошаговая RoadMap по Java
– Мануал по Docker. Основные команды и концепции
– Микросервисы. Вопросы с собеседований
– Шпаргалка по Kafka
– Инструкция по работе с Git
– Подробный гайд, как найти работу в IT без опыта
– Подборка платформ с вакансиями для java-разработчиков

Вступай сейчас. Открыли доступ всего на 24 часа!

Senior Frontend - javascript, html, css

08 Nov, 09:03


Social Card Hove

Карточки, свёрстанные на HTML и CSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

07 Nov, 16:02


Lightweight Water Distortion Effect

Реализовано на canvas и чистом JS. Можно изменять параметры анимации, а также подгружать свою картинку.

👉 @seniorFront

Senior Frontend - javascript, html, css

07 Nov, 13:00


Реакция разраба на дизайнера, который презентует концепт сайта с анимациями и эффектами

👉 @seniorFront

Senior Frontend - javascript, html, css

06 Nov, 14:00


Background Animation

В этом видео создается анимация при движении мыши на CSS и JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

06 Nov, 09:02


3D Image Carousel

Карусель реализована на HTML и CSS, без использования JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

05 Nov, 16:03


Как сделать React Server Components в Electron с помощью Next.js и без открытых портов

С появлением React Server Components и Server Actions разработка веб-приложений стала проще, чем когда-либо. Удобно когда у разработчика есть все серверные API прямо внутри веб-приложения, нативно, с типами и полной поддержкой от фреймворка, например Next.js (и других фреймворков, поддерживающих RSC, конечно).

В то же время, Electron является де-факто стандартом для современных настольных приложений, написанных с использованием веб-технологий, особенно когда приложению нужен доступ к файловой системе и другим системным API, и девелопер знает только JS (Tauri заслуживает почётного упоминания, если вы знаете Rust или если вам нужен только простой WebView2 shell).

Я задался вопросом: почему бы не объединить лучшее из обоих миров и не запустить обычное приложение Next.js прямо внутри Electron, чтобы насладиться всеми преимуществами React Server Components?

👉 @seniorFront

Senior Frontend - javascript, html, css

05 Nov, 09:06


Performance review

Это процесс, который компании выставляют как справедливый способ для карьерного роста и распределения благ между сотрудниками. На деле, этот процесс далёк от справедливости и невыгоден сотрудникам по следующим причинам:

1. Система закрыта для сотрудников. Вы не можете посмотреть результаты ревью ваших коллег, вы не можете влиять на итоговую оценку. Нередки ситуации, когда вы получаете большинство положительных отзывов от коллег, но достаточно одного негативного отзыва и руководитель принимает «объективное решение» снизить вам оценку. Иногда достаточно и просто мнения вашего руководителя, чтобы он снизил вам итоговую оценку независимо от положительных отзывов. PR только создаёт видимость коллективной оценки вашего труда, но по факту её результат формируется вашим руководителем, который вынужден преследовать собственный KPI, и у вас нет никаких способов влияния на это.

2. Не существует объективных способов оценки. Процесс, в котором вы рассказываете руководству, что вы сделали за отчётный период, парадоксален. Весь период руководство занималось какими-то своими делами, а теперь вам надо рассказать, что вы сделали ценного для компании. И основная проблема тут — показать видимый для руководства результат работы. Это значит, что ваш коллега, что написал новый сервис с нуля, находится в гораздо более выигрышной ситуации, чем ваши правки легаси сервисов, код которых поддерживается ещё с 1990-х годов. Даже в том случае, если они помогут сохранить бизнесу кучу денег на длинной дистанции. Можно, конечно, предположить, что ваше руководство объективно и достаточно в теме, чтобы понять сложность и необходимость вашей работы с легаси кодом и по достоинству вас оценить. Но тогда зачем такому руководству PR, если оно и так в курсе вашего вклада в общее дело?

3. PR занижает вашу рыночную стоимость. Вот вы хотите увеличить себе зарплату. Компания предлагает решение — для этого надо показать оценку выше средней на следующем PR. Если ваши рабочие задачи к этому располагают, то это может быть неплохим вариантом. Но получить оценку выше средней, как правило, тяжелее, чем оффер в другой компании на ту сумму, что вы хотите. Существуют и политики компании, что вам не могут повысить зарплату выше определённого порога, как, например, в «Озоне». В итоге, если вы выбираете путь PR, вы выполняете больше работы за меньшую оплату. Если вы верите в справедливость PR, то для компаний это очень эффективный инструмент снижения вашей стоимости, а значит, собственных издержек.

4. PR часто используют для обоснования сокращений. Поскольку процесс закрытый, вы вполне можете получать из года в год хорошие оценки, но внезапно получить плохую, потому что компании нужно провести сокращения. Нам известно о таких случаях в «Додо» и «Авито», например. Самое мерзкое в этом то, что компания может не признавать факт сокращений, а все увольнения будет оправдывать неэффективностью увольняемых.

👉 @seniorFront

Senior Frontend - javascript, html, css

04 Nov, 16:01


Noise Abstraction

Реализовано на canvas с использованием библиотеки simplex-noise.

👉 @seniorFront

Senior Frontend - javascript, html, css

04 Nov, 09:02


Как работает браузер ?

Работа браузера включает несколько этапов, чтобы отобразить веб-страницу. Давайте разберем их по порядку:

Запрос ресурса:
Когда пользователь вводит URL в адресную строку и нажимает Enter, браузер начинает с определения адреса ресурса. Если это URL-адрес, начинающийся с http:// или https://, браузер отправляет запрос на сервер.
        GET /index.html HTTP/1.1
Host: example.com


DNS-разрешение:
Браузер преобразует доменное имя (например, example.com) в IP-адрес с помощью DNS-сервера.

Установка соединения:

Браузер устанавливает TCP-соединение с сервером, а если используется https, то устанавливает также SSL/TLS-соединение для безопасной передачи данных.

Отправка HTTP-запроса:
Браузер отправляет HTTP-запрос к серверу, чтобы получить содержимое веб-страницы.
        GET /index.html HTTP/1.1
Host: example.com


Получение HTTP-ответа:
Сервер отвечает с кодом состояния (например, 200 OK) и возвращает HTML-документ.
        HTTP/1.1 200 OK
Content-Type: text/html

<html>
<head>
<title>Example</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>


Разбор (парсинг) HTML:
Браузер начинает разбор HTML-документа. Он создает DOM (Document Object Model) — иерархическую структуру узлов, представляющую содержимое страницы.
        <html>
<head>
<title>Example</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>


Обработка CSS:
Браузер обрабатывает CSS-стили. Он загружает CSS-файлы и применяет стили к соответствующим элементам DOM, создавая CSSOM (CSS Object Model).
       h1 {
color: blue;
}


Построение рендер-дерева:
DOM и CSSOM объединяются для создания рендер-дерева. Рендер-дерево представляет собой структуру, содержащую визуальные элементы, которые должны быть отображены на странице.

Визуализация (рендеринг):

Браузер вычисляет положение каждого элемента на экране (расчет компоновки) и рисует их (отрисовка).

Обработка JavaScript:
Браузер загружает и выполняет JavaScript-код. Если скрипт модифицирует DOM или CSSOM, процесс может повториться с повторным расчетом и перерисовкой.
document.querySelector('h1').textContent = 'Hello, JavaScript!';


Асинхронные операции:
Браузер обрабатывает асинхронные операции, такие как AJAX-запросы и таймеры, что может также вызвать повторное обновление страницы.

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

👉 @seniorFront

Senior Frontend - javascript, html, css

03 Nov, 16:02


Как использовать менеджер состояний NgRx для Angular-проектов

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

В этой статье разбираются особенности применения, плюсы и минусы NgRx.

👉 @seniorFront

Senior Frontend - javascript, html, css

03 Nov, 09:02


1's, 0's and wildcards

Верните массив, содержащий все возможные значения, которые можно получить, заменяя '?' нулём или единицей.

Пример:
'101?' -> ['1010', '1011']
'1?1?' -> ['1010', '1110', '1011', '1111']


👉 @seniorFront

Senior Frontend - javascript, html, css

02 Nov, 16:04


action button with checkbox trick

Реализовано на HTML и Less, без использования JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

02 Nov, 09:02


Ghost Text

В этом видео создается эффект исчезновения текста при помощи CSS blur и transform при наведении.

👉 @seniorFront

Senior Frontend - javascript, html, css

01 Nov, 09:02


CSS Info Cards

Карточки, свёрстанные на HTML и SCSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

31 Oct, 16:03


Shy Ghost

Создано и анимировано в HTML и SCSS. Логика запуска анимаций реализована в JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

31 Oct, 09:02


Как работает API:

👉 @seniorFront

Senior Frontend - javascript, html, css

30 Oct, 17:01


Creative Banner Hover Effects

В этом видео создается эффект "проявления" картинки при наведении на CSS и JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

30 Oct, 13:12


range slider hamster

В зависимости от выбранной скорости запускаются различные CSS анимации.

👉 @seniorFront

Senior Frontend - javascript, html, css

29 Oct, 16:05


14 инструментов для генерации изображений с кодом

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

👉 @seniorFront

Senior Frontend - javascript, html, css

29 Oct, 09:01


Вот вам вопросы для прокрастинации

Вопросы разные, все они присланы пользователями.

Если бы 8-битного бога спросили, какое самое большое число, что он ответил?
255

Как понять, что проект нужно переписывать заново?
Когда время на рефакторинг кода для внедрения изменений (фичи) больше, чем время для написания кода самого изменения (фичи). Зачёт по смыслу.

Согласно легенде ОН — глаз небесного белого орла, который после битвы с черным колдуном упал на Землю и стал камнем. Другой ОН стоил около 4000 рублей и для многих стал первым проводником в мир программирования.
Агат

Что появилось раньше, print(), или 'Hello world!' как фраза, с которой сталкивался каждый программист?
print(), т.к. без него не было бы и 'Hello world!'

В чём отличие геймера от тестировщика игр?
Один тратит деньги, а другой зарабатывает. Зачёт по смыслу.

Одна из татуировок иронично символизирует разделение одного с другим и одновременно неотделимость одного от другого. В коде и одно, и другое так же часто неотделимы. Назовите одно и другое на любом языке.
</head> <body> Зачёт по смыслу.

На одной забавной картинке в интернете собрались вместе театр, лиса, лев, старый грязный унитаз и ЦВЕТ, который есть в лисе, во льве и в театре. Какое слово автор заменил словом «ЦВЕТ»?
Хром (Chrome)

Если камень — это 0, бумага — это 31 а ножницы — 6, то какими числами сказать «отлично», «наберу»?
1, 17. В кулаке согнутые пальцы нули, а выпрямленные единицы рассматриваем как двоичную систему счисления

Нельзя сказать, чтобы их подбрасывало в 6 раз сильнее на таких же по высоте кочках. Но сидеть им было явно неудобно и фактически они стояли при езде. Так что пришлось всё же сделать для них нечто, чтобы их не выбросило вовсе. А что именно сделали для них?
«Ремни безопасности». Их установили на четырёхколёсных транспортных планетоходах для передвижения людей по поверхности Луны.

МРТ, рентген, «дышите‑не‑дышите», простукивание. Подумайте о том, что был же тот, кто первый начал стучать и — назовите тару.
Бочка. В 1761 году в Вене вышла книга молодого врача Ауенбруннера, посвященная распознаванию болезней. Она начиналась словами благодарности отцу врача, потомственному пивовару, за оригинальную идею — выстукивание грудной клетки пациента, по аналогии с выстукиванием пивных бочек. Вот так проверка пивных бочек привела к врачебному способу исследования.

Еще больше вопросов в статье

👉 @seniorFront

Senior Frontend - javascript, html, css

28 Oct, 16:02


Rotating text, falling letters

В JS создана логика запуска CSS трансформаций для каждой буквы слова.

👉 @seniorFront

Senior Frontend - javascript, html, css

28 Oct, 09:04


Как использовать useEffect ?

Это хук, введённый в React 16.8, который позволяет выполнять побочные эффекты в функциональных компонентах. Побочные эффекты включают в себя операции, которые выходят за рамки возвращаемого результатом рендеринга, такие как работа с сетью (запросы к API), подписки, изменение документа и так далее. Он заменяет собой жизненные циклы классовых компонентов, такие как componentDidMount, componentDidUpdate и componentWillUnmount.

Синтаксис:
useEffect(() => {
// Ваш код для побочного эффекта
return () => {
// Очистка (необязательно)
};
}, [зависимости]);

Функция побочного эффекта: Это его основное тело, где вы помещаете код, который должен выполняться после каждого рендеринга (по умолчанию) или когда изменяются определённые зависимости.
Очистка: Функция очистки выполняется перед тем, как компонент будет удалён, а также перед следующим выполнением эффекта. Это идеальное место для отмены подписок, таймеров и других ресурсов, чтобы избежать утечек памяти.
Массив зависимостей: Определяет, при изменении каких значений должен повторно выполняться эффект. Если массив пуст ([]), эффект выполнится один раз после первого рендеринга. Если массив не указан, эффект будет выполняться после каждого рендеринга.

Примеры использования:

Запуск эффекта один раз
Чтобы выполнить эффект один раз после первого рендеринга (аналог componentDidMount в классовых компонентах), используйте пустой массив зависимостей:
useEffect(() => {
// Код здесь будет выполнен один раз после инициализации компонента
}, []);


Выполнение при изменении зависимостей
Чтобы выполнить эффект при изменении определённых значений:
const [count, setCount] = useState(0);

useEffect(() => {
// Код здесь будет выполнен каждый раз, когда изменяется значение count
document.title = Вы нажали ${count} раз;
}, [count]); // Зависимости


Очистка эффекта
Пример использования функции очистки:
useEffect(() => {
const timerID = setInterval(() => {
// Ваша логика здесь
}, 1000);

return () => {
clearInterval(timerID); // Очистка при размонтировании компонента
};
}, []); // Эффект выполнится один раз


👉 @seniorFront

Senior Frontend - javascript, html, css

27 Oct, 16:02


Психологический тупик в ИТ-карьере: как я преодолевал «выгорание» и почему сопротивлялся изменениям

В этой статье я хочу поделиться личным опытом и рассказать о том, как я оказался в «психологическом тупике». Расскажу на что это было похоже, с какими трудностями столкнулся, какие варианты перепробовал и что мне действительно помогло.

👉 @seniorFront

Senior Frontend - javascript, html, css

27 Oct, 09:02


Write Number in Expanded Form

Вам будет дан номер, и вам нужно будет вернуть его в виде строки в расширенной форме
Все числа будут целыми числами больше 0

Пример:
expandedForm(12); //  '10 + 2'
expandedForm(42); // '40 + 2'
expandedForm(70304); // '70000 + 300 + 4'


👉 @seniorFront

Senior Frontend - javascript, html, css

26 Oct, 16:02


Glitching Text

Анимация искажения текста, реализованная в SCSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

26 Oct, 09:02


Cursor Move + Card Hover Effects

В этом видео создается эффект при наведении на карточку, привязанный к курсору пользователя на CSS и JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

25 Oct, 16:01


👉 @seniorFront

Senior Frontend - javascript, html, css

25 Oct, 09:02


CSS3 loading animations

Подборка анимаций загрузки, реализованных на HTML и Less.

👉 @seniorFront

Senior Frontend - javascript, html, css

24 Oct, 16:01


PIXI Displacement Map

Реализовано при помощи библиотек Pixi.js и TweenMax.

👉 @seniorFront

Senior Frontend - javascript, html, css

24 Oct, 09:02


Хочешь знать откуда эти шрамы?

👉 @seniorFront

Senior Frontend - javascript, html, css

23 Oct, 17:01


CSS + SVG Animation Effects

В этом видео создается анимированная SVG картинка - loader.

👉 @seniorFront

Senior Frontend - javascript, html, css

23 Oct, 09:01


Star Ratings

В JS созданы обработчики события click для каждой звезды. При нажатии изменяются определенные стили.

👉 @seniorFront

Senior Frontend - javascript, html, css

22 Oct, 20:00


Почему вам лучше не работать проджектом

Часто слышу от людей, которые только хотят войти в IT, что “если ты гуманитарий, а в QA идти не хочется, то есть один путь – в менеджеры проектов”. Им кажется, что рабочий день выглядит так: провел 2-3 встречи, выпил 3 чашки кофе, построил Гант, промотивировал команду и можно идти домой.

Я уже больше 10 лет работаю менеджером проектов и видел много коллег, которые бросали профессию и уходили заниматься всем чем угодно, только лишь бы потушить вечно горящую задницу. Я утешал рыдающих коллег-проджектов, меня выгоняли охранники из офисного здания заказчика с фонариками, потому что оно закрывалось в 11 вечера, а мне надо было еще работать.

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

👉 @seniorFront

Senior Frontend - javascript, html, css

22 Oct, 16:00


Забирай пошаговую roadmap по JAVA

FAANG School в течение 24 часов отдают бесплатно свою библиотеку знаний. Вы можете получить доступ:

– Redis - 5 улучшений для твоего пет-проекта
– Пошаговая RoadMap по Java
– Мануал по Docker. Основные команды и концепции
– Микросервисы. Вопросы с собеседований
– Шпаргалка с горячими клавишами JetBrains IDE. Ускоришь работу в 10 раз
– Desk setup. Подборка аксессуаров для комфортной работы
– Шпаргалка по Kafka
– Подробный гайд, как найти работу в IT без опыта
– Подборка платформ с вакансиями для java-разработчиков

Из свежих пополнений – Инструкция по работе с Git (ключевой навык для любого разработчика!)

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

Senior Frontend - javascript, html, css

22 Oct, 13:00


Приходят в компанию, а уходят от руководителя: проявления негатива, которых стоит избегать в рабочей коммуникации

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

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

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

3. Токсичность
Пожалуй, самое затасканное понятие, которое часто неверно понимают. Токсичность — это не «плохое поведение», а действия, которые отравляют окружение при контакте. К примеру, собеседник вполне себе вежлив, но капля сарказма тут, усмешка там и вот уже с ним нет желания говорить даже в чате, не то, что в реале.

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

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

👉 @seniorFront

Senior Frontend - javascript, html, css

21 Oct, 16:02


Photo Filter With Range Sliders

Значение для CSS фильтров задаются через JS по событию input.

👉 @seniorFront

Senior Frontend - javascript, html, css

21 Oct, 10:00


Что такое inline block в отличии от inline элемента ?

Есть несколько значений для свойства display, которые определяют, как элемент будет отображаться на странице. Два из этих значений — inline и inline-block — имеют некоторые сходства, но и значительные отличия.

Inline элементы - элементы с display: inline; ведут себя как часть текста. Это значит, что:
- Они располагаются на одной строке с другими инлайн-элементами или текстом, если только ширина родительского элемента не заставляет их обтекать.
- У инлайн-элементов нельзя задать ширину (width) и высоту (height), так как размеры определяются содержимым.
- Вертикальные отступы (margin-top и margin-bottom) и вертикальные внутренние отступы (padding-top и padding-bottom) не влияют на расстояние между инлайн-элементами вертикально, хотя могут влиять на фоновое изображение или цвет.
- Горизонтальные отступы и внутренние отступы применяются нормально.

Inline-block элементы - элементы с display: inline-block; комбинируют некоторые свойства инлайн и блочных элементов:
- Как и инлайн элементы, эти элементы располагаются на одной строке с другими инлайн-элементами или текстом.
- В то же время, у них можно задать ширину и высоту, как у блочных элементов.
- Вертикальные и горизонтальные отступы (margin и padding) работают как у блочных элементов, влияя на расстояние вокруг элемента во всех направлениях.
- Элементы могут содержать другие блочные или инлайн элементы.

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

👉 @seniorFront

Senior Frontend - javascript, html, css

21 Oct, 09:00


Успей принять участие в хакатоне Т1.Самара

На хакатоне участникам будут предложены 2 кейса:
1. DataCraft. Конструктор отчётов по проекту;
2. Документы 2.0: Умная автоматизация с LLM.
Призовой фонд: 600 000 рублей.

Почему тебе нужно принять участие:
*️⃣Фирменный мерч в подарок всем офлайн-участникам;
*️⃣Питание — обед и снэк-бар на протяжении всего дня;
*️⃣Обратная связь от топовых менторов и техлидов Т1.

И еще один крутой бонус!
- Участники, попавшие в ТОП-8 по итогам оценки решений, получат разряд по спортивному программированию.
- Победители будут награждены кубками и грамотами.
🤝Партнёр хакатона: Федерация Спортивного Программирования Самарской области.

Даты проведения хакатона:
— 25-26 октября — онлайн
— 27-28 октября — офлайн
📍г. Самара

➡️ Регистрация на хакатон открыта до 23 октября, 23:59 МСК по ссылке.

#реклама
О рекламодателе

Senior Frontend - javascript, html, css

20 Oct, 16:02


Как матрица компетенций помогает развитию команды

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

👉 @seniorFront

Senior Frontend - javascript, html, css

20 Oct, 10:20


Unique In Order

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

Пример:
uniqueInOrder('AAAABBBCCDAABBB')  //   ['A', 'B', 'C', 'D', 'A', 'B']
uniqueInOrder('ABBCcAD') // ['A', 'B', 'C', 'c', 'A', 'D']
uniqueInOrder([1,2,2,3,3]) // [1,2,3]


👉 @seniorFront

Senior Frontend - javascript, html, css

20 Oct, 08:20


Идеальная страна в Европе для программистов?

Это та, где за окном океан, ритм жизни расслабленный, климат мягкий и солнечный, а по выходным все ездят на серфинг.
Европейская Калифорния – Португалия🇵🇹

Здесь уже сформировалось отличное русскоязычное комьюнити. А Лиссабон быстро превращается в точку притяжения инноваций и стартапов.

Нашли для вас интересный канал Португалия и мы.
Автор переехал из Петербурга в Лиссабон и рассказывает обо всех тонкостях жизни релокантов в Португалии.

Из интересного:
▫️Пути получения ВНЖ после мая 2024
▫️Подготовка к переезду по шагам
▫️Где жить в Лиссабоне. Обзор районов города

Переходите в @portugal_and_me, здесь много ценной информации из первых рук.

Senior Frontend - javascript, html, css

19 Oct, 16:02


Product card

Вёрстка реализована на HTML и SCSS. Логика смены классов при нажатии на кнопки реализована в JS.

👉 @seniorFront

Senior Frontend - javascript, html, css

19 Oct, 10:30


Split Slider

В этом видео создается слайдер картинок на чистом CSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

19 Oct, 06:30


Успей ухватить 7 дней бесплатного обучения фронтенд-разработке!

🔥 С нас обучение, практика и помощь с выходом на фриланс.

Скоро Роман Чернов, веб-разработчик с 10-летним стажем, проведёт онлайн-интенсив с практикой и обратной связью.

На эти 7 дней план такой:
- Сверстаешь веб-сайт на HTML + CSS;
- Реализуешь функционал на JavaScript;
- Используешь фронтенд-фреймворк Angular;
- Подключишь Backend и загрузишь сайт на хостинг;
- Получишь советы по доработке своего проекта.

В итоге ты разработаешь качественный сайт, который не стыдно добавить в портфолио или продать, освоишь азы работы с фреймворком Angular и получишь море бесценного опыта в вёрстке сайтов.

👉 Забрать бесплатно 7 дней обучения frontend-разработке

А тем, кто ещё только думает переходить в IT, дадим пошаговый план как стать успешным frontend-разработчиком с нуля.

Senior Frontend - javascript, html, css

18 Oct, 15:00


Gallery Hover Effect

Карточки с CSS трансформациями, которые запускаются при наведении.

👉 @seniorFront

Senior Frontend - javascript, html, css

18 Oct, 09:00


Хотите узнать, как реализовать идеальную хэш-таблицу, которая работает за О(L) время?

Ждем вас на открытом вебинаре 21 октября в 20:00 мск, где мы разберем:

- как создать алгоритм ассоциативного массива на основе идеальной хэш-таблицы;
- как исключить коллизии с помощью двухступенчатой хэш-таблицы;
- как выполнить визуальное тестирование с англо-русским словарем на 2.000 слов.

👨‍💻🛠👨🏻‍💻 Урок для Junior-разработчиков на любых языках программирования.

Спикер Евгений Волосатов — программист баз данных и преподаватель с огромным и разнообразным опытом, автор статей и учебных программ по C#, Java, PHP.

Встречаемся в преддверии старта курса «Алгоритмы и структуры данных».
Все участники вебинара получат специальную цену на обучение!

Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cCMIqM

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 erid 2SDnjdBtMco

Senior Frontend - javascript, html, css

17 Oct, 17:10


Color Palette Generator

Оригинальное приложение - генератор цветовых палитр, созданное на angular.

👉 @seniorFront

Senior Frontend - javascript, html, css

17 Oct, 09:03


Когда используешь <div> как <button>:

👉 @seniorFront

Senior Frontend - javascript, html, css

16 Oct, 17:02


Creative Radio Buttons

В этом видео создаются кастомные анимированные радио-кнопки на HTML и CSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

16 Oct, 09:02


Scroll-driven animated card stack with scroll snap events.

Свёрстано на HTML и SCSS. Переключение реализовано при помощи события "scrollsnapchange".

👉 @seniorFront

Senior Frontend - javascript, html, css

15 Oct, 16:16


Какой он, отличный день для Frontend-разработчиков? 🤔

21 сентября на A?.Frontend Day мы вместе с сотней IT-специалистов создали именно такую атмосферу! Офлайн в Москве и онлайн это событие собрало тех, кто готов делиться опытом и узнавать новое.

🌟 Что было:
Вадим Царегородцев из Ostrovok.ᅠru представил Valibot — инновационный инструмент для гибкой и безопасной валидации данных в JavaScript.
Сергей Попов из Skillbox раскрыл методы преодоления проблем внедрения изменений в компаниях.
Никита Мамизеров рассказал о сложностях и успехах внедрения BDUI в Альфа-Онлайн.
Никита Ульшин из Т-Банка поделился паттернами отказоустойчивости, помогающими минимизировать риски.
Андрей Смирнов из X5 Tech рассмотрел карьерные ловушки для тимлидов и объяснил, как их избежать.
Евгений Смирнов из Альфа-Банка провёл дискуссию о том, как ИИ и Copilot меняют разработку и что ждёт программирование в будущем.

И это только часть того, что происходило на A?.Frontend Day! А ещё были квизы, розыгрыши подарков и афтепати с нетворкингом.

Хотите увидеть, как это было? Переходите по ссылке и смотрите подробный отчёт с мероприятия!❤️

Senior Frontend - javascript, html, css

15 Oct, 16:02


Как понять продукт и зачем это нужно разработчику

Если вы не понимаете бизнес своей компании, вы не сможете полностью реализовать свои технические навыки. Крутой технарь на позиции СТО, который знает нюансы TOGAF и отличия Raft от Paxos — это хорошо, но мало. Вы должны принимать решения не только исходя из технических деталей задачи, но и с учётом реалий бизнеса, его потребностей и направления развития.

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

👉 @seniorFront

Senior Frontend - javascript, html, css

14 Oct, 16:12


Почему все неправы в споре «Стартап или бизнес»?

Если попробовать найти определение что такое стартап, а что такое бизнес в интернете, то можно совершенно и полностью запутаться. Начнем с того, что главной характеристикой стартапа все будут выделять разное, кто‑то скажет, что стартап должен быть технологичным, кто‑то скажет, что обязательно нужно быть убыточным, а кто‑то что нельзя быть стартапом долго, так как только новая компания — стартап. Но все эти определения неверны и им можно показать огромное количество примеров, опровергающих эти доводы:

- Новый? Udemy и AirBnb искали ProductMarketFit (Состояние продукта достойное рынка, считается что начинать продажи стоит только при его достижении) более 2-х лет, а Roblox заявляют почти о 10-ти годах.

- Технологичный? Скажите это стартапу, который придумал добавить кармашек на кросовки, чтобы во время бега не носить ключи (оборот 158 млн), а также Российскому «Бери заряд!», который сдает павербанки в аренду. Там нет сложных технологий, но это стартапы.

- Убыточный? Startupplanner стали прибыльными на 2-й месяц, при продаже второго заказа. Или Zappos, который торговал обувью сразу в прибыль, не сразу но достаточно быстро стал прибыльным и GitHub — сервис для управления версионностью программного кода.

- Маленький? На своем старте Tesla сразу нанимала сотни сотрудников, как и стриминговый сервис Quibi, стартовал с инвестициями в 1,75 миллиарда и несколькими сотнями сотрудников.

Что же тогда отличает стартап от бизнеса? Отсутствие рабочей бизнес-модели.
Стартап — это временная организация по поиску работающей бизнес‑модели. Когда вы придумали новую бизнес‑модель и нет уверенности, что это все будет работать, то это стартап. Как только вы ее проверили и поняли, что это рабочая схема — вы бизнес. Граница между стартапом и бизнесом весьма размыта, но это все равно самое точное и верное определение из всех доступных.

👉 @seniorFront

Senior Frontend - javascript, html, css

14 Oct, 13:06


Todo card stack

Реализовано на React и стилизовано в чистом CSS.

👉 @seniorFront

Senior Frontend - javascript, html, css

14 Oct, 09:06


Ищем автора эталонного кода! 💎

Если вы уверены, что вашему коду подходит звание «Эталонный», а вам — звание «Автор самого красивого кода», то приглашаем принять участие в Конкурсе красоты кода 2.0 и выиграть классные призы от Сбера: iPhone 16 и умную колонку SberBoom.

Опытные эксперты определят победителей в пяти категориях: Backend, Frontend, DevOps, AI и Mobile, — а награждение пройдёт на ключевом IT-событии HighLoad в Москве, 2 и 3 декабря.

Больше 40 участников прошлого конкурса стали частью команды Сбера. Возможно, следующим станете именно вы — переходите по ссылке и изучайте подробности!

Senior Frontend - javascript, html, css

14 Oct, 09:02


.isSupersetOf()

Метод isSupersetOf() сравнивает текущую коллекцию с другой и возвращает true, если текущая коллекция включает в себя все элементы другой коллекции, и false — если нет.

Пример
У Софии и Надежды большие личные библиотеки. София хочет доказать, что её коллекция включает все романы Набокова, которые есть в коллекции Надежды. В этом ей поможет метод isSupersetOf().

У нас есть два массива строк. Определим, входят ли все элементы второго массива также в первый. Для решения задачи создадим Set-объекты из массивов и сравним их, используя метод isSupersetOf():

const booksOfSonya = [ 'Дар', 'Подвиг', 'Защита Лужина', 'Отчаяние' ]
const booksOfNadya = [ 'Подвиг', 'Защита Лужина', 'Дар' ]

const set1 = new Set(booksOfSonya)
const set2 = new Set(booksOfNadya)

console.log(set1.isSupersetOf(set2))
// true
console.log(set2.isSupersetOf(set1))
// false


Сравнение коллекций — часто встречающаяся задача. Метод isSupersetOf() упрощает её решение и избавляет от необходимости писать код обхода и сравнения.

Не путайте метод isSupersetOf() с методом isSubsetOf(), который решает обратную задачу и проверяет, что все элементы текущей коллекции содержатся в другой. Поддержка isSupersetOf() в основных браузерах и в Node.js появилась в 2024 году. Если попробуете использовать метод в более ранних версиях, получите ошибку.

👉 @seniorFront

Senior Frontend - javascript, html, css

13 Oct, 16:02


Что нового в React 19

React 19 на подходе. Команда React анонсировала предрелизную версию React 19 в апреле. Это крупное обновление принесет с собой ряд улучшений и новых паттернов, нацеленных на повышение производительности, удобство использования и опыта разработки.

Многие из этих возможностей были представлены в экспериментальном режиме в React 18, но в React 19 они станут стабильными. Давайте подготовимся к этому обновлению.

👉 @seniorFront

Senior Frontend - javascript, html, css

13 Oct, 09:02


Найдите гласные

Мы хотим узнать индекс гласных в заданном слове, например, в слове super есть две гласные (вторая и четвертая буквы).

Пример:
Mmmm  => []
Super => [2,4]
Apple => [1,5]
YoMama -> [1,2,4,6]


👉 @seniorFront

Senior Frontend - javascript, html, css

12 Oct, 16:01


Collection of animated loaders

Подборка анимированных загрузчиков, реализованных на HTML и SCSS.

👉 @seniorFront