A?.Frontend Community
3.31K subscribers
839 photos
5 videos
1 file
166 links
Встречи frontend-сообщества Альфа-Банка для всех, кто хочет узнать новое, обменяться опытом и провести время в хорошей компании.

Чат сообщества: https://xn--r1a.website/alfa_frontend_chat
Download Telegram
Как хороший фронтенд превращается в легаси?

Обычно всё начинается с вполне разумных решений...
Вынести повторяющийся код. Сделать универсальный хук. Добавить пару условий в компонент. Быстро прикрутить useEffect, чтобы «просто заработало».

Cо временем такие решения накапливаются, проект становится всё сложнее поддерживать, тестировать и развивать.

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

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



@alfa_frontend — сообщество фронтендеров: делимся новым, обмениваемся опытом и проводим митапы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1274
Релизить себя так же бережно, как код? Почему бы и нет!

Мы привыкли выкатывать фичи с чек-листами, мониторингом, планом отката и поддержкой команды. Но почему-то к себе относимся совсем иначе. Часто держим всё в голове, игнорируем тревожные «алерты» и пытаемся справиться в одиночку.

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

#af_hard

❤️ Больше рассказываем о работе в IT и Digital в канале Alfa Digital
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍4🔥4
Что там новенького в ES2026 👀

30 июня Ecma ратифицировала ES2026 — семнадцатую редакцию спецификации, в которой представили семь новых фич.

Начнём с той, которую обсуждают меньше остальных. А зря...

Math.sumPrecise

Классическая ошибка в JS:

const cents = Array(10000).fill(0.1);

cents.reduce((a, b) => a + b);
// 1000.0000000001588


Или версия пожёстче:

[1e20, 0.1, -1e20].reduce((a, b) => a + b);
// 0


0.1 просто исчезла. 1e20 + 0.1 теряет дробную часть из-за ограниченной точности IEEE-754. В итоге после вычитания остаётся 0.

Теперь:

Math.sumPrecise([1e20, 0.1, -1e20]);
// 0.1


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

Но вот что стоит знать до того, как побежите менять все reduce в проекте:

🔴 Math.sumPrecise не исправляет проблему 0.1 + 0.2. Math.sumPrecise([0.1, 0.2]) по-прежнему вернёт 0.30000000000000004. Дело в том, что сами числа 0.1 и 0.2 уже хранятся в памяти не совсем как математические 0.1 и 0.2. Новый метод исправляет накопление ошибок при суммировании, а не способ представления чисел.


🔴 Math.sumPrecise ожидаемо работает медленнее обычного сложения.


🔴 На момент написания поста типов в lib.es*.d.ts ещё нет, в репозитории TypeScript висит issue. Поэтому пока остаются два варианта: расширить интерфейс Math самостоятельно или подождать.


🔴 Math.sumPrecise уже доступен в Baseline 2026. Для старых браузеров можно использовать полифиллы core-js или es-shims (math.sumprecise).


Хотите, разберём остальные новые методы JS на практике? Пишите в комментариях, что рассмотреть следующим 🔽

#af_hard

❤️ Больше рассказываем о работе в IT и Digital в канале Alfa Digital
Please open Telegram to view this post
VIEW IN TELEGRAM
👍208❤‍🔥51
Подглядываем за рабочими местами 🚨

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

Собрали несколько рабочих сетапов наших фронтендеров с их лайфхаками и историями о том, что помогает сохранять рабочий вайб дома.

Александр Китoв, главный технический лидер разработки, владелец стола на 6 карточке:
«Важно, чтобы было удобно. Я провожу большую часть жизни на этом месте, поэтому логично в него вкладываться и постоянно что-то улучшать. Клавиатуру собрал буквально пару месяцев назад: корпус смоделировал и напечатал на 3D-принтере, а потом спаял всё с нулевым опытом пайки. В процессе, конечно, намучился, но результатом доволен».


Виктория Копылова, старший разработчик, владелец стола на 2 карточке:
«Моё рабочее место в первую очередь про уют. Очень люблю большой экран, с ним появляется ощущение простора, где можно разложить всё, что нужно для работы. А милые мелочи помогают не забывать, что работа может быть не только продуктивной, но и приятной».


Илья Туров, ведущий разработчик, владелец стола на 5 карточке:

«Мне всегда важно держать бумажный блокнот под рукой, чтобы записывать самые важные задачи. Иногда включаю пластинки, когда занимаюсь чем-то рутинным, но для концентрации мне обязательно нужна тишина. А голубей использую вместо уточек, когда нужно в чём-то разобраться (и вообще они крутые!)».


Теперь хотим посмотреть, как устроены ваши рабочие места 👀

Кидайте фотографии в комментарии и делитесь своими секретами 🔽

#af_soft

❤️ Больше рассказываем о работе в IT и Digital в канале Alfa Digital
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥64
Рассказываем про Zustand 🔥

Основным стейт-менеджером в Альфе является Redux. Но мы часто пробуем что-то новое, и однажды наш взгляд упал на Zustand.

Zustand — крошечный state manager, который можно использовать не только с React. У него небольшой вес и почти полностью отсутствует boilerplate.


const useBear = create((set) => ({
bears: 0,
updateBears: (newBears) => set({
bears: newBears
}),
}))

Всего пару строк кода, а у вас уже есть стор и хендлер к нему, просто и понятно.

▶️ Как мы мигрировали с Redux на Zustand

Миграция проходила поэтапно. Удаляем один Redux-слайс, добавляем один Zustand-стор, так по очереди.

Сторы в Zustand независимы, поэтому внедрять его можно отдельными «островками». Это позволяет мигрировать плавно и без больших затрат.

Вопрос middleware тоже решился просто, есть множество существующих решений, а написать свои не составило труда.

С отладкой все максимально понятно, так как Zustand использует devtools от Redux.

▶️ Что показали замеры

По итогам наших замеров, Zustand показал себя на 72% быстрее Redux. Речь идёт о микросекундах, проект был небольшим. Поэтому с ростом проекта разница может стать заметнее.

▶️ Как восприняла команда

Поначалу Zustand кажется слишком простым для enterprise-проектов.

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

В итоге Zustand стал частью наших проектов и стандартов.

А что используете вы на своих проектах? 🔽

#af_hard

❤️ Больше рассказываем о работе в IT и Digital в канале Alfa Digital
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥129🥰4❤‍🔥1
Forwarded from Alfa Digital
Кто лучший работодатель? 👀

ЭКОПСИ и Хабр шестой год подряд исследуют HR-бренды IT-компаний. За это время поменялось само представление о хорошем работодателе — вот что показал 2025 год:

🔹 Стабильность впервые за пять лет попала в список главных критериев кандидатов
🔹 Общие ценности с компанией стали важнее зарплаты

🔗 А чтобы определить тренды найма и лучших работодателей в 2026 году, нужно ваше мнение — поделитесь им в опросе. И оцените Альфа-Банк

#анонс

Подписывайтесь на @alfadigital_jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝32🔥2