Senior Frontend - javascript, html, css
25.7K subscribers
1.27K photos
2.25K videos
689 links
Senior Front - канал для frontend программистов, практические задачки, проверки знаний, интересные статьи

Админ, сотрудничество, реклама:@seniorFrontPromo, @maria_seniorfront
Канал в реестре РКН https://rknn.link/bsU
Download Telegram
Media is too big
VIEW IN TELEGRAM
CSS SVG Neon Loader Animation Effects

В этом видео создается с нуля SVG картинка-загрузчик, анимированная в CSS.

👉 @seniorFront
👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Станьте AI-разработчиком на Python и зарабатывайте от 150.000₽ в месяц 🔥🔥🔥

Мы научим вас создавать и тренировать нейронные сети, и вы сможете:

1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тыс. ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тыс. ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате

На интенсиве будет много практики: создадим 9 нейросетей за 1 вечер:

🧬 Оценка выброса CO2 по параметрам машины
🧬 Сегментация изображения для робота доставщика
🧬 Трекинг людей на видео
🧬 Распознавание речи
и другие

Ведущий интенсива - Senior AI-разработчик и основатель Университета искусственного интеллекта

🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайшую среду. Вы узнаете, как освоить самую востребованную профессию!
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Scroll Based Animation

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

👉 @seniorFront
👍2🔥2
Numbers of Letters of Numbers

Если мы запишем цифры «60» как английские слова, то получим «sixzero»; количество букв в «sixzero» равно семи. Количество букв в слове «seven» — пять. Количество букв в слове «five» — четыре. Количество букв в слове «four» — четыре: мы достигли устойчивого равновесия.

Создайте функцию, которая проведет все эти преобразования и вернет их в массиве.

Примеры:
numbersOfLetters(60) --> ["sixzero", "seven", "five", "four"]
numbersOfLetters(1) --> ["one", "three", "five", "four"]


👉 @seniorFront
👎3
Оптимизация производительности Vue.js приложений: Практическое руководство

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

👉 @seniorFront
👍2
Что такое Virtual DOM?

Virtual DOM (виртуальный Document Object Model) - это концепция, широко используемая в разработке интерфейсов, особенно в библиотеке React от Facebook, а также в других современных фронтенд-фреймворках. DOM - это структура данных, используемая браузерами для представления веб-страниц. Она позволяет программам изменять структуру, стиль и содержание веб-страницы, взаимодействуя с HTML и CSS. Проблема обычного DOM заключается в том, что он может быть довольно медленным при частых обновлениях, поскольку изменения в нем приводят к перерисовке элементов страницы, что может быть ресурсоёмким процессом.

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

Пример без Virtual DOM:
const element = document.getElementById('myElement');
element.textContent = 'Новый текст';

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


Пример с использованием Virtual DOM (пример на React):
class MyComponent extends React.Component {
render() {
return <div>Новый текст</div>;
}
}
```

В этом случае, при изменении состояния компонента, React сначала применяет изменения к виртуальному DOM, а затем, используя согласование, оптимально обновляет реальный.

Виртуальный Document Object Model позволяет писать код, как если бы можно было менять любую часть веб-страницы в любой момент, не беспокоясь о производительности. Это делает разработку интерфейсов более интуитивно понятной и эффективной.

👉 @seniorFront
12👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Swipeable Video Cards

Свёрстано на Pug и SCSS. Логика перелистывания карточек реализована в JS.

👉 @seniorFront
👍2
Почему брейнштормы бесполезны

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

Метод брейншторма был разработан Алексом Осборном в 40-х годах именно для создания прорывных идей, что же пошло не так? Дело не в самой механике, а в том какие ошибки допускают при её использовании. Приведу самые распространенные недочеты, которые вижу на практике чаще всего.

Придумывание идей в группе
Типичная картина для крупной организации: приглашают 20-30 человек, чтобы охватить как можно больше мнений и компетенций, всех участников распределяют по командам. Группы отбирают лучшие идеи и презентуют их друг другу. Зачастую результаты у команд похожие или одинаковые, а реально в брейншторме участвуют 5, в лучшем случае 10 человек. Сьюзан Кейн в своей книге «Сила интровертов в непрерывно болтающем мире» приводит несколько причин такой ситуации:

- Социальная леность: человек в группе прилагает меньше усилий, чем при индивидуальной работе, так как считает свой вклад менее важным
- Снижение продуктивности, Production Blocking: пока самые ассертивные участники группы говорят о своих решениях, другие слушают их, вместо придумывания своих идей
- Социальное давление, Evaluation apprehension: люди боятся выглядеть глупо в глазах других и предпочитают умолчать рискованные и смелые идеи
- Регрессия к среднему: самые талантливые участники перформят на среднем уровне группы

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

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

👉 @seniorFront
👍131
В помощь разработчику: 6 полезных библиотек визуализации данных

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

👉 @seniorFront
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Volume Control

Оба элемента сцены - это SVG картинки, анимированные в JS.

👉 @seniorFront
👍7🔥1🤔1
Media is too big
VIEW IN TELEGRAM
Parallax Text Effects

В этом видео реализуется параллакс эффект для текста. Поворот реализован при помощи CSS transform: skew(). Движение текста привязано к курсору при помощи события mousemove.

👉 @seniorFront
🔥4👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Тот самый гаджет, который помогает протянуть до пятницы

👉 @seniorFront
👎8👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Radial Menu Animation

Кнопка меню - это SVG картинка, анимированная библиотекой gsap.

👉 @seniorFront
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Wave

Создано и анимировано на HTML и SCSS.

👉 @seniorFront
👍9🤔51
Что происходит с элементом, имеющим директиву v-if, если условие становится ложным во Vue?
Anonymous Quiz
20%
Элемент скрывается.
62%
Элемент удаляется из DOM.
12%
Элемент меняет свое CSS-свойство display.
6%
Элемент остается видимым.
👍51
Media is too big
VIEW IN TELEGRAM
Stairway

В этом видео создается бесконечная анимация лестницы на чистом CSS.

👉 @seniorFront
👍41
This media is not supported in your browser
VIEW IN TELEGRAM
Environment Impact Cards

Реализовано на HTML и SCSS. Анимировано библиотекой gsap.

👉 @seniorFront
👍5
Chunky strings

Вам дана строка, состоящая из 'чанков'. Каждый чанк отделен скобками "[" и "]".
В вашей строке все закрывающие скобки удалены. Создайте функцию, которая вернет закрывающие скобки.

Пример:
Input               Restored String
'x' 'x'
'[xy' '[xy]'
'[x[yy' '[x[yy]]'
'[[xyy' '[[xy]y]'
'[[ab[ab' '[[ab][ab]]'
'[c[o[d[e[w[a[rs' '[c[o[d[e[w[a[rs]]]]]]]'


👉 @seniorFront
👎15👍1
Удавка на собесе

Сегодня поговорим про ИТ собесы, от которых меня в последнее время тошнит. Я занимаюсь коммерческой разработкой с 2000-х, поменял более 10 ИТ-компаний и прошел достаточно собесов, чтобы уверенно сформировать личное мнение о качестве подбора персонала в 2024 году. Мой знакомый, владея кадровым агентством в ЕС как-то раз поведал: когда речь идет об ИТ компаниях из СНГ, то это больше история про техническую удавку, если про ИТ-компании из ЕС, то это про софт-скиллы. Что касается Республики Беларусь, то это микс, который зависит от конкретного заказчика. Я больше работал с ЕС и один раз по совместительству с РФ. Пришел я в ИТ по собственному желанию, когда про ИТ мало говорили даже за студенческими партами. Я тогда мало интересовался рынком ИТ и где-то там слышал от сокурсников, что в моем городе появлялись мелкие ИТ-компашки. Что они писали и для кого, я не интересовался вообще.

👉 @seniorFront
👍11
Зачем нужны сборщики ?

Сборщики (или бандлеры) играют критически важную роль в процессе создания современных веб-приложений и сайтов. Они автоматизируют и оптимизируют множество задач, связанных с подготовкой кода к продакшену. Сборщики, такие как Webpack, Rollup, Parcel и другие, обеспечивают эффективное управление зависимостями, минификацию кода, транспиляцию и множество других возможностей. Вот основные причины, по которым сборщики являются неотъемлемой частью современной веб-разработки:

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

Модульность и организация кода
Поддерживают использование модулей ES6, CommonJS и других форматов модулей, что позволяет разработчикам структурировать код более эффективно, делая его читаемым и легко поддерживаемым.

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

Оптимизация производительности

Могут минифицировать и углифицировать JavaScript и CSS, удаляя лишние пробелы, комментарии и сокращая имена переменных. Это уменьшает размер файлов и ускоряет загрузку веб-приложений.

Автоматизация задач
Могут автоматизировать множество рутинных задач, таких как компиляция SASS/LESS в CSS, оптимизация изображений, генерация исходных карт (source maps) для упрощения отладки и другие.

Горячая замена модулей (HMR)

Поддерживают горячую замену модулей (Hot Module Replacement), что позволяет разработчикам видеть изменения в коде в реальном времени без полной перезагрузки страницы, ускоряя процесс разработки.

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

👉 @seniorFront
👍62
Когда лопнет IT-пузырь

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

Сценарий №1. Всех заменит ИИ
Вероятно, вы слышали высказывания главы Nvidia Дженсена Хуанга о том, что больше нет необходимости изучать программирование, поскольку искусственный интеллект заменит большую часть IT-специалистов. Действительно, эту угрозу ощущают немало профессионалов своего дела. Уже сейчас медленно, но верно ИИ проникает во многие рабочие процессы, частично заменяя некоторые позиции.
Однако давайте посмотрим на это с другой стороны. Да, мир постоянно меняется, и мы с вами никак не можем этому помешать. Тем не менее, несмотря на рост уровня автоматизации, многие процессы по-прежнему требуют человеческого участия и глубокого понимания. Создание эффективного ИИ, его тестирование и совершенствование — это задачи, в которых человеческий элемент невозможно полностью заменить.
Как мне кажется, развитие ИИ создаст новые возможности не только для специалистов, занятых в разработке, внедрении и обслуживании этих технологий, но и всех, кто сможет адаптироваться и научится использовать нейросети в свою пользу.

Сценарий №2. Переизбыток специалистов на рынке
Время от времени я просматриваю вакансии на hh.ru. За последние пару лет заметно выросло количество откликов по многим направлениям в IT.
Думаю, есть несколько причин такого ажиотажа. Во-первых, государство поддерживает это направление: во многих учебных заведениях появились или расширились факультеты для подготовки IT-специалистов. Во-вторых, количество онлайн-курсов, которые обещают обучить с нуля и заманивают учеников громкими обещаниями, увеличивается день ото дня. Всё это плодит кучу новичков в сфере, готовых стартануть с меньшей зарплатой и на менее выгодных условиях.
Конкуренция растёт, а зарплаты, которые раньше были стабильно высокими, начинают снижаться. Это может продолжаться в течение нескольких лет, приводя к тому, что даже опытные ребята будут долго искать работу.

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

👉 @seniorFront
👍5👎31🤔1