В вашем приложении есть список из 1000+ элементов, который подгружается на страницу сразу. Пользователь жалуется на низкую производительность и долгую загрузку страницы.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3😁2👍1🥰1🤔1
Бывает, что локально и на тестовом стенде всё идеально, а вот в продакшене — баг, который воспроизводится у одного процента пользователей. И, конечно, ни логов, ни воспроизводимости.
Вопрос от подписчика:
«Недавно словили кейс: приложение периодически зависало у пользователей в Южной Америке. Логи — пустые, трейсей нет, на стендах всё стабильно. Подозрения на сеть и какой-то специфичный браузер. Но проверить напрямую — никак. Как вы в таких случаях находите причину и воспроизводите баги?»
P.S. Если хотите задать вопрос, заполните нашу гугл-форму. Это займет 5 минут.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🥰6🔥3👏1🤔1
Выбирать между фрилансом и офисной работой — как решать, что важнее: свобода или безопасность. Оба пути учат, развивают и приносят деньги… но по-разному.
— Гибкий график, проекты на вкус
— Быстро прокачиваешь навыки
— Доход выше при умелом подходе
— Каждый день новые вызовы
— Стабильная зарплата и соцпакет
— Менторство и карьерный рост
— Процессы уже налажены
— Работа в команде
Фриланс и офис не конкурируют, а показывают разные пути развития. Главное — понять, что важнее именно вам.
А вы что выбрали бы: свободу фриланса или стабильность в найме
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉9👍6❤4🔥3👏2
Вы реализуете drag & drop для задач с сохранением порядка через поле order (например, 1, 2, 3…).
После нескольких быстрых перестановок (10+), список отображается неправильно — некоторые задачи «прыгают» на старые позиции при обновлении.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🌚1
Приложение получает уведомления по WebSocket. Пользователи жалуются, что после переподключения к интернету они не видят часть уведомлений.
Что скорее всего не реализовано
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7
У каждого фронтендера был момент: билд зелёный, все unit-тесты проходят, а на проде кнопка «Купить» не работает. Или наоборот — e2e гоняются часами, падают от любого чиха, а баг кроется в двух строках функции.
⚡️ e2e
— Проверяют продукт глазами пользователя
— Сразу видно, что реально сломалось
— Цепляют баги, мимо которых пройдут юнит-тесты
⚡️ Unit
— Легко писать и поддерживать
— Ловят мелкие баги в логике
— Дают уверенность при рефакторинге
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4❤3
Приложение на Next.js отрендерено на сервере. На клиенте после загрузки React «гидратирует» DOM. Вы замечаете ошибку:
“Warning: Text content did not match. Server: ‘100’ Client: ‘101’”.
Что это означает
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚5💯3
🧩 Скрытый баг в списке
На тесте замечено:
— При удалении элемента данные «съезжают» — значения в инпутах не совпадают с
— Иногда при редактировании одного поля меняется значение в другом.
❓ В чём настоящая проблема? Отвечайте правильным эмодзи👋
🐸 Библиотека фронтендера
#междусобойчик
{items.map((item, index) => (
<input
key={index}
defaultValue={item.name}
/>
))}
На тесте замечено:
— При удалении элемента данные «съезжают» — значения в инпутах не совпадают с
item.name.
— Иногда при редактировании одного поля меняется значение в другом.
❓ В чём настоящая проблема? Отвечайте правильным эмодзи
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥81🥱10❤2🤩2🌚2
🧩 Ловушка оптимизации
На тесте заметили:
— При 3000 заказах список подлагивает, даже после добавления виртуализации.
— Профайлер показывает сотни повторных ререндеров OrderCard, хотя данные не меняются.
❓ В чём настоящая проблема? Отмечайте правильный эмодзи 👋
🐸 Библиотека фронтендера
#междусобойчик
{orders.map(order => (
<OrderCard key={order.id} data={order} />
))}
На тесте заметили:
— При 3000 заказах список подлагивает, даже после добавления виртуализации.
— Профайлер показывает сотни повторных ререндеров OrderCard, хотя данные не меняются.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥49🌚25🤩7❤4💯1
🗿 Незаметные ререндеры
— Даже если filters не меняются, при любом апдейте родителя все Item снова ререндерятся.
❓ Почему так происходит?
🐸 Библиотека фронтендера
#междусобойчик
const FiltersContext = createContext({ filters: {} });
function App({ filters, items }) {
return (
<FiltersContext.Provider value={{ filters }}>
{items.map(i => <Item key={i.id} />)}
</FiltersContext.Provider>
);
}
— Даже если filters не меняются, при любом апдейте родителя все Item снова ререндерятся.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚19❤2🔥1