Фронтендер от бога
3.58K subscribers
1.12K photos
19 videos
1.08K links
Божественные дайджесты по фронтенду и немного юмора.

По всем вопросам: @godinmedia
Download Telegram
Истории и боли frontend-разработчика

#почитать

Пятничное.

В начале карьерного пути я был юнцом с битриксом под ногтями и с JQuery в сердце. Тогда для меня было нормальным передавать настройки фронтенда через data-атрибуты и посылать ajax запросы не за модным JSON, а за готовым HTML-кодом. Тем временем в соседнем отделе матёрые фронтендеры писали на хайповом React, который умел много чего удивительного, в том числе и переход по страницам без перезагрузки. Я захотел так же и пошел советоваться с опытными фронтендерами: «А я могу просто перехватывать клик по ссылке, сделать ajax запрос на новую страницу за всем, что лежит между header и footer и вставлять на место текущего контента, подменяя историю?» Ребята посмеялись, на меня стали косо посматривать… Теперь же хайпует htmx, который по сути делает то же самое. Он будто создан для битрикса.

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


Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
Как удаление isNumber из зависимостей сэкономило 440 Гб трафика

#почитать

Концепция isNumber проста: функция, в аргументе которого должна быть определяемая переменная, должна вывести нам true или false; true если да, false если нет.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥21
Рендеринг компонентов React

#почитать

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

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🥴2🔥1
Двойной ползунок с помощью плагина NoUiSlider

#почитать

Создание двойного ползунка (double range slider) с помощью NoUiSlider — это отличное решение, когда нужно дать пользователям возможность выбирать диапазон значений, например, для фильтрации цен или других числовых параметров.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1
Типы или интерфейсы в TypeScript?

#почитать

Когда использовать типы, а когда интерфейсы?

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

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👎2
▫️Цвета в CSS

#посмотреть

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


Смотреть на YouTube ⏱️1 час
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2
Руководство по использованию Vite в React

#почитать

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

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👎21🔥1
Концепция временного View state в JavaScript

#почитать

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

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍1
Создаем динамические веб-сайты с
помощью PHP, MySQL, JavaScript,
CSS и HTML5

Автор
: Никсон Робин
Год издания: 2023

#html #javascript #css #ru

Скачать книгу
😁7👍31
Лучший способ создания паттерна проектирования Singleton в JavaScript и TypeScript

#почитать

Делимся эффективными методами реализации паттерна Singleton в JavaScript и TypeScript. Кроме того рассмотрим преимущества паттерна и потенциальные риски его использования.


Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍21
CSS Position — управление размещением элементов

#почитать

Наиболее часто используемые position значения:

▪️static(по умолчанию): элемент позиционируется в соответствии с обычным потоком документа. Свойства top, right, bottom и left не имеют никакого эффекта.
▪️relative: элемент позиционируется относительно своего обычного положения в потоке документа. Вы можете перемещать его, используя верх, право, низ или лево, но он все равно будет занимать место в своем исходном положении.
▪️absolute: элемент позиционируется относительно ближайшего позиционированного предка (не обязательно родителя) и удаляется из обычного потока документа.
▪️fixed: элемент позиционируется относительно окна браузера, то есть он остается на месте даже при прокрутке страницы.
▪️sticky: элемент переключается между относительным и фиксированным позиционированием в зависимости от положения прокрутки пользователем.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
Chrome 130 - что нового

#почитать


• добавлена новая форма компактных уведомлений о совершённых операциях, показываемых под адресной строкой в виде небольшой полоски, перекрывающей контент;

• при включённом режиме экономии потребления энергии (Energy saver) реализована экспериментальная поддержка автоматической заморозки вкладок, потребляющих много ресурсов CPU, но при этом не выводящих звук и скрытых в течение более 5 минут. Исключение делается только для вкладок, связанных с управлением внешними устройствами или проведением видео и аудио конференций (подобные вкладки определяются на основании доступа к API для работы с USB, Bluetooth, камерой, устройствами ввода и микрофоном, а также организации канала связи с использованием RTCDataChannel или MediaStreamTrack);

• в версии для платформы Android реализован встроенный просмотрщик документов в формате PDF, не требующий вызова внешних приложений, а также появилась поддержка сторонних служб автозаполнения и хранения паролей;

• предоставлена возможность открытия в режиме «картинка в картинке» (picture-in-picture) не только видео, но и любых элементов для показа произвольного контента поверх другого содержимого;

• добавлена возможность обращения к внешним словарям со сжатием ответов при помощи алгоритмов Brotli и Zstandard;

• появилась поддержка активации областей прокрутки при навигации с использованием клавиатуры, что позволяет пользователям без мыши вначале переключиться в нужную область клавишей Tab, а затем прокрутить её содержимое стрелками управления курсором;

• добавлена поддержка разбора неспециальных схем URL (не включённых в список типовых схем) с разделением хоста и пути (парсер URL-адресов в Chrome теперь корректно обрабатывает нестандартные URL);

• Поведение элемента приведено к соответствию Safari и Firefox: в режиме видимости "none" элемент теперь не скрывается, а переключается на отдельный стиль;

• расширены возможности инструментов для веб-разработчиков. В панель анализа сетевой активности добавлено выпадающее меню с дополнительными фильтрами. Добавлена опция для чистки конфиденциальных данных перед сохранением HTTP-сеанса в формате HAR (HTTP Archive).


Подробнее
▫️ Посмотреть (en)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥31
AggregateError в JavaScript

#почитать

AggregateError помогает обрабатывать сразу несколько ошибок в JavaScript. Это упрощает управление кодом и делает его надежным.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥21
JavaScript. Полное руководство.

Автор: Дэвид Флэнаган
Год издания:
2021

#javascript #ru

Скачать книгу
🔥8👍21
7 принципов JavaScript, которые стоит запомнить

#почитать

▪️Замыкания сделают код чище
▪️Деструктуризация сделает код проще
▪️Debouncing и Throttling оптимизируют производительность
▪️Каррирование повышает гибкость функций
▪️Proxy перехватывает действия объектов
▪️Как работает цикл событий и асинхронный JavaScript
▪️Мемоизация улучшает производительность

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍31
Градиентный текст с тенью

#почитать

В наши дни градиентный текст довольно легко сделать с помощью background-clip: text; — но это убивает возможность использовать text-shadow. На помощь приходит SVG.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
▫️Профилирование Node.js

#посмотреть

С помощью инструментов профилирования Node.js разработчики "положили" графики времени ответа сервера.

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

Смотреть на YouTube ⏱️45 минут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
Справочник JavaScript

Авторы:
Никольский А.П.,
Дубовик Е.В.
Год издания: 2021

#javascript #ru

Скачать книгу
8👍2🔥1
Кэширование Next.js

#почитать

Next.js расширяет API fetch, чтобы дать вам суперсилы, когда дело касается кэширования.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
Инструменты отладки JavaScript

#почитать

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

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2
Сборщик мусора в V8

#почитать

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

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2