This media is not supported in your browser
VIEW IN TELEGRAM
Interactive Christmas Tree
Вся сцена - это SVG картинка, анимированная библиотекой gsap.
👉 @seniorFront
Вся сцена - это SVG картинка, анимированная библиотекой gsap.
👉 @seniorFront
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
Menu Transition
Подборка анимированных бургер-кнопок, реализованных с использованием препроцессоров Slim и SCSS.
👉 @seniorFront
Подборка анимированных бургер-кнопок, реализованных с использованием препроцессоров Slim и SCSS.
👉 @seniorFront
👍5
Что означает "мультиплексирование" в контексте HTTP/2?
Anonymous Quiz
25%
Использование нескольких TCP-соединений одновременно.
59%
Одновременная отправка и получение нескольких запросов и ответов по одному TCP-соединению.
9%
Сжатие заголовков HTTP-запросов.
8%
Использование бинарного кодирования вместо текстового.
❤2
Extract the domain name from a URL
Напишите функцию, которая при задании URL-адреса в виде строки анализирует только имя домена и возвращает его в виде строки
Пример:
👉 @seniorFront
Напишите функцию, которая при задании URL-адреса в виде строки анализирует только имя домена и возвращает его в виде строки
Пример:
"http://google.com" // "google"
"http://google.co.jp" // "google"
"www.xakep.ru" // "xakep"
"https://youtube.com" // "youtube"
👉 @seniorFront
👍4
Архитектура фронтенда, к которой мы пришли
На нашем проекте всего два фронтенд-разработчика, и мы вдвоём на протяжении почти года спорили о том, как лучше раскладывать файлы по папкам. Чуть меньше мы спорили о том, как называть файлы и папки. Затем перешли к расположению.
Мы все для наших проектов хотим только хорошего, но, к сожалению, у каждого понимание хорошего своё, поэтому спорить нам было о чём.
Эта статья появилась, потому что мы наконец-то выбрали решение, которое всех устраивает. Возможно, пригодится и вам.
👉 @seniorFront
На нашем проекте всего два фронтенд-разработчика, и мы вдвоём на протяжении почти года спорили о том, как лучше раскладывать файлы по папкам. Чуть меньше мы спорили о том, как называть файлы и папки. Затем перешли к расположению.
Мы все для наших проектов хотим только хорошего, но, к сожалению, у каждого понимание хорошего своё, поэтому спорить нам было о чём.
Эта статья появилась, потому что мы наконец-то выбрали решение, которое всех устраивает. Возможно, пригодится и вам.
👉 @seniorFront
👍4❤1👎1
Как сделать анимацию бесконечно повторяющейся?
Чтобы создать бесконечно повторяющуюся анимацию в CSS, используется свойство
Основные шаги
1. Определение ключевых кадров анимации
с помощью @keyframes.
2. Применение анимации к элементу с использованием свойства animation и указанием параметра infinite.
Пример использования
Сначала создайте анимацию с ключевыми кадрами. Допустим, мы хотим, чтобы элемент плавно изменял цвет и возвращался к исходному состоянию.
Теперь применим эту анимацию к элементу и укажем, что она должна повторяться бесконечно.
Зачем это нужно
- Эффекты на сайте
Бесконечные анимации могут использоваться для создания привлекательных визуальных эффектов на сайте, таких как мерцание, изменение цвета или вращение элементов.
- Интерактивность
Такие анимации могут сделать пользовательский интерфейс более динамичным и интересным.
👉 @seniorFront
Чтобы создать бесконечно повторяющуюся анимацию в CSS, используется свойство
animation вместе с параметром infinite, который указывает, что анимация должна повторяться бесконечно.Основные шаги
1. Определение ключевых кадров анимации
с помощью @keyframes.
2. Применение анимации к элементу с использованием свойства animation и указанием параметра infinite.
Пример использования
Сначала создайте анимацию с ключевыми кадрами. Допустим, мы хотим, чтобы элемент плавно изменял цвет и возвращался к исходному состоянию.
@keyframes changeColor {
0% {
background-color: lightblue;
}
50% {
background-color: lightgreen;
}
100% {
background-color: lightblue;
}
}
Теперь применим эту анимацию к элементу и укажем, что она должна повторяться бесконечно.
.animated-box {
width: 100px;
height: 100px;
background-color: lightblue;
animation: changeColor 3s infinite;
}
Зачем это нужно
- Эффекты на сайте
Бесконечные анимации могут использоваться для создания привлекательных визуальных эффектов на сайте, таких как мерцание, изменение цвета или вращение элементов.
- Интерактивность
Такие анимации могут сделать пользовательский интерфейс более динамичным и интересным.
👉 @seniorFront
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Invitation
Сверстано на HTML и SCSS. Логика переключения экранов реализована на чистом JS.
👉 @seniorFront
Сверстано на HTML и SCSS. Логика переключения экранов реализована на чистом JS.
👉 @seniorFront
👍6
Корпоративный револьвер: как айтишнику выживать в корпорации
С одной стороны корпорации желают от IT выполнения целей и соблюдения планов, обложенных OKR, KPI и другими словами. С другой — работы с влетами. Здесь мы и достаем револьвер. Команда — это револьвер. Емкость барабана — емкость команды в спринте. Или в квартале, это как договоритесь. Патроны — задачи. Задачи делятся на классы. Заряжаете в команду задачи разных классов в разных пропорциях и стреляете. Например, для восьмиразрядного револьвера вы берете пять целевых задач, одну поддержку, один техдолг, один влет.
Внедрение метода — подготовка
Со второго квартала разработки приходите к бизнесу и говорите: вот квартальная емкость команды, вот оценка предполагаемых целей. Давайте договоримся, какие цели берем.
Почему со второго? Потому что в первом во многих корпорациях нет статистики производительности, нет понимания, кто из бизнеса решает. Требования могут постоянно меняться. А также есть масса других сюрпризов. Первый квартал — это путь воина. В промежутках между атаками проявляются цели второго квартала.
Действие
Допустим, к концу первого квартала команда вышла на плато производительности. Это не всегда так, но допустим. Тогда легко прикинуть емкость второго квартала для целевых задач.
Как известно, прозрачность коммуникаций, конструктивная обратная связь, сотрудничество и гибкость — ключ к успеху. Так оно и есть, ну вы поняли. Поэтому приходите к бизнесу, приносите фактуру по первому кварталу и показываете расклад по второму: всего шесть патронов: четыре выстрела — по целям, один — в поддержку. Последний — на влеты.
Пули вылетели. А что в итоге?
Получите плюсики в карму за цели, потому что вы придерживаетесь плана, как атомные часы. А также плюсики за влеты.
Ведь несмотря на постоянный цейтнот, вы в итоге всегда выполняете обещанное. Да, иногда могут быть задержки. Но именно они спасут вас от подозрений, что вы перезаложились по времени или взяли «недостаточно амбициозные» цели.
В среднем вы соблюдаете баланс между целями и влетами. И кружитесь в танце с вашим заказчиком, не наступая друг другу на ноги.
В общем, именно так в корпорации можно пользоваться револьвером.
👉 @seniorFront
С одной стороны корпорации желают от IT выполнения целей и соблюдения планов, обложенных OKR, KPI и другими словами. С другой — работы с влетами. Здесь мы и достаем револьвер. Команда — это револьвер. Емкость барабана — емкость команды в спринте. Или в квартале, это как договоритесь. Патроны — задачи. Задачи делятся на классы. Заряжаете в команду задачи разных классов в разных пропорциях и стреляете. Например, для восьмиразрядного револьвера вы берете пять целевых задач, одну поддержку, один техдолг, один влет.
Внедрение метода — подготовка
Со второго квартала разработки приходите к бизнесу и говорите: вот квартальная емкость команды, вот оценка предполагаемых целей. Давайте договоримся, какие цели берем.
Почему со второго? Потому что в первом во многих корпорациях нет статистики производительности, нет понимания, кто из бизнеса решает. Требования могут постоянно меняться. А также есть масса других сюрпризов. Первый квартал — это путь воина. В промежутках между атаками проявляются цели второго квартала.
Действие
Допустим, к концу первого квартала команда вышла на плато производительности. Это не всегда так, но допустим. Тогда легко прикинуть емкость второго квартала для целевых задач.
Как известно, прозрачность коммуникаций, конструктивная обратная связь, сотрудничество и гибкость — ключ к успеху. Так оно и есть, ну вы поняли. Поэтому приходите к бизнесу, приносите фактуру по первому кварталу и показываете расклад по второму: всего шесть патронов: четыре выстрела — по целям, один — в поддержку. Последний — на влеты.
Пули вылетели. А что в итоге?
Получите плюсики в карму за цели, потому что вы придерживаетесь плана, как атомные часы. А также плюсики за влеты.
Ведь несмотря на постоянный цейтнот, вы в итоге всегда выполняете обещанное. Да, иногда могут быть задержки. Но именно они спасут вас от подозрений, что вы перезаложились по времени или взяли «недостаточно амбициозные» цели.
В среднем вы соблюдаете баланс между целями и влетами. И кружитесь в танце с вашим заказчиком, не наступая друг другу на ноги.
В общем, именно так в корпорации можно пользоваться револьвером.
👉 @seniorFront
❤1👍1
Почему ИИ-инструменты для разработчиков не оправдывают ожиданий
«Искусственный интеллект сделает разработчиков ненужными», — говорили они. И вот мы в 2 часа ночи занимаемся отладкой кода, сгенерированного искусственным интеллектом. Что пошло не так?
Искусственный интеллект должен был писать идеальный код, выполнять всю рутинную работу и в целом делать нашу жизнь проще. Но вот мы пришли к текущей реальности, и... всё не совсем так, как мы ожидали.
Итак, в чём же эти ИИ-инструменты для разработчиков оказываются неэффективными? Почему написание кода с использованием искусственного интеллекта оказалось не тем, чем мы все ожидали? И, что важнее всего: как мы можем его использовать, чтобы на самом деле облегчить свою работу?
👉 @seniorFront
«Искусственный интеллект сделает разработчиков ненужными», — говорили они. И вот мы в 2 часа ночи занимаемся отладкой кода, сгенерированного искусственным интеллектом. Что пошло не так?
Искусственный интеллект должен был писать идеальный код, выполнять всю рутинную работу и в целом делать нашу жизнь проще. Но вот мы пришли к текущей реальности, и... всё не совсем так, как мы ожидали.
Итак, в чём же эти ИИ-инструменты для разработчиков оказываются неэффективными? Почему написание кода с использованием искусственного интеллекта оказалось не тем, чем мы все ожидали? И, что важнее всего: как мы можем его использовать, чтобы на самом деле облегчить свою работу?
👉 @seniorFront
👎3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Text Fade In
Стилизовано и анимировано в HTML и SCSS. При скроле активируются определенные CSS классы через JS.
👉 @seniorFront
Стилизовано и анимировано в HTML и SCSS. При скроле активируются определенные CSS классы через JS.
👉 @seniorFront
👍10
Media is too big
VIEW IN TELEGRAM
CSS Transforming Circle Loader
В этом видео создается анимированный загрузчик на чистом CSS.
👉 @seniorFront
В этом видео создается анимированный загрузчик на чистом CSS.
👉 @seniorFront
This media is not supported in your browser
VIEW IN TELEGRAM
Муд в понедельник: «продуктивные» зумы с коллегами на пару часов.
Ну не работать же после выходных!
👉 @seniorFront
Ну не работать же после выходных!
👉 @seniorFront
👍10👎2🔥2
Как с помощью деструктуризации извлечь значение свойства age из объекта person = { name: 'Иван', age: 30 }?
Anonymous Quiz
18%
const age = person.age;
69%
const { age } = person;
6%
const [age] = person;
7%
const age = person['age'];
👍13👎3❤1
Media is too big
VIEW IN TELEGRAM
Modern Javascript Button Hover Animation Effects
В этом видео создается кнопка, анимированная при наведении. В JS генерируются полосы, которые анимируются в CSS.
👉 @seniorFront
В этом видео создается кнопка, анимированная при наведении. В JS генерируются полосы, которые анимируются в CSS.
👉 @seniorFront
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Pure CSS Playing Card
Реализовано без использования картинок и JS, задействованы только HTML и SCSS.
👉 @seniorFront
Реализовано без использования картинок и JS, задействованы только HTML и SCSS.
👉 @seniorFront
👍9❤5🔥1
Проверка объединенных строк
На собеседовании вам предстоит написать алгоритм, проверяющий, может ли строка(s), быть сформирована из двух других строк, part1 и part2.
Ограничение состоит в том, что символы в part1 и part2 должны располагаться в том же порядке, что и в s.
Пример:
👉 @seniorFront
На собеседовании вам предстоит написать алгоритм, проверяющий, может ли строка(s), быть сформирована из двух других строк, part1 и part2.
Ограничение состоит в том, что символы в part1 и part2 должны располагаться в том же порядке, что и в s.
Пример:
'xcyc', 'xc', 'yc' —> // true
'xcyc', 'yc', 'xc' —> // true
'codewars', 'code', 'wars' —> // true
'codewars', 'cdwr', 'oeas' —> // true
'codewars', 'code', 'code' —> // false
👉 @seniorFront
Чистая архитектура фронтенд приложений.
За свою карьеру я встречал достаточно много проектов, крупных и малых, которые страдали от огромной и запутанной кодовой базы с высоким уровнем зацепления и малой связностью, непонятной структурой, в которую весьма сложно погрузиться (на онбродинг нового сотрудника может уходить до трех месяцев) и большим количеством непонятных и громоздких компонентов, которые являются god object'ами. Стоит ли говорить, что у таких проектов имеются большие проблемы с поддержкой и развитием.
Зачастую, в ответ на вопрос "почему так?" можно услышать разнообразные оправдательные ответы, которые, в основном, ссылаются на сжатые сроки, частые продуктовые изменения и первичность продукта перед качеством кодовой базы. И большая доля правды в этом есть, но, что, если я скажу, что можно усидеть сразу на нескольких стульях и от этого выиграют все, от менеджеров до разработки? И это гораздо проще, чем кажется. Естественно, универсального решения нет, но можно существенно облегчить жизнь в будущем себе или своим потомкам.
В данном цикле статей я хочу поделиться своими наблюдениями и дать советы и рекомендации, которые помогли мне и, по моему мнению, могут помочь другим разработчикам. Я не буду сразу разбирать типовые ошибки в коде или микроархитектуре, так как это лишь маленькие точки на радаре.
👉 @seniorFront
За свою карьеру я встречал достаточно много проектов, крупных и малых, которые страдали от огромной и запутанной кодовой базы с высоким уровнем зацепления и малой связностью, непонятной структурой, в которую весьма сложно погрузиться (на онбродинг нового сотрудника может уходить до трех месяцев) и большим количеством непонятных и громоздких компонентов, которые являются god object'ами. Стоит ли говорить, что у таких проектов имеются большие проблемы с поддержкой и развитием.
Зачастую, в ответ на вопрос "почему так?" можно услышать разнообразные оправдательные ответы, которые, в основном, ссылаются на сжатые сроки, частые продуктовые изменения и первичность продукта перед качеством кодовой базы. И большая доля правды в этом есть, но, что, если я скажу, что можно усидеть сразу на нескольких стульях и от этого выиграют все, от менеджеров до разработки? И это гораздо проще, чем кажется. Естественно, универсального решения нет, но можно существенно облегчить жизнь в будущем себе или своим потомкам.
В данном цикле статей я хочу поделиться своими наблюдениями и дать советы и рекомендации, которые помогли мне и, по моему мнению, могут помочь другим разработчикам. Я не буду сразу разбирать типовые ошибки в коде или микроархитектуре, так как это лишь маленькие точки на радаре.
👉 @seniorFront
👎1