Наглядные примеры полезных элементов (<figure>, <details>, <dialog> и др.), повышающих семантику и интерактивность.
Советы по типографике, кликабельности, виртуальным клавиатурам и адаптивности интерфейсов.
Краткий гид по исправлению типовых недочётов, влияющих на восприятие контента пользователями с особыми потребностями.
Полезные трюки: inset, стилизация без +, улучшение медиа-запросов и кнопок.
Актуальные нововведения: вложенность, :user-valid, balance, расширенные возможности форматирования.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчик Javascript — от 150 000 ₽, удаленно (Москва)
Frontend developer (React) — от 180 000 до 250 000 ₽, удаленно (Москва)
Frontend-разработчик — офис (Санкт-Петербург)
Senior Frontend Developer — 4 200 — 6 000 $, удаленно/помощь с релокацией (Грузия)
Frontend-developer — 120 000 - 200 000 ₽, удаленно (Москва)
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Проблема: при разработке Angular-приложений важно обеспечить высокое качество кода и стабильность функционала. Отсутствие автоматизированных тестов может привести к увеличению количества ошибок и снижению доверия к продукту.
Решение: в книге Mastering Angular Test-Driven Development автор предлагает внедрить практики тестирования с использованием Jasmine и Karma.
Пример теста для компонента PercentPipe, который форматирует числа в проценты:
import { PercentPipe } from './percent.pipe';
describe('PercentPipe', () => {
it('should create an instance', () => {
const pipe = new PercentPipe();
expect(pipe).toBeTruthy();
});
});
Преимущества:
— Обеспечивает высокое качество и стабильность кода.
— Упрощает выявление и исправление ошибок на ранних стадиях разработки.
— Снижает риски при внесении изменений в кодовую базу.
— Ускоряет процесс разработки за счет автоматизации тестирования.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Инструменты предназначены для улучшения взаимодействия с пользователем и оптимизации производительности веб-приложений.
Этот компонент упрощает добавление анимаций при изменении состояния UI. Он автоматически определяет, какие части интерфейса должны быть анимированы, и применяет соответствующие CSS-анимations.
Пример использования:
<ViewTransition>
<div>Контент с анимацией</div>
</ViewTransition>
Триггеры анимации:
startTransition(() => setState(...))
useDeferredValue(value)
<Suspense fallback={<Fallback />}>...</Suspense>
Настройка анимации:
::view-transition-old(*) {
animation: 300ms ease-out fade-out;
}
::view-transition-new(*) {
animation: 300ms ease-in fade-in;
}
Эти анимации используют новый API startViewTransition, доступный в большинстве современных браузеров.
Этот компонент позволяет скрывать и показывать части интерфейса без потери их состояния. Это особенно полезно для оптимизации производительности при рендеринге больших списков или сложных компонентов.
Пример использования:
анимации:
startTransition(() => setState(...))
useDeferredValue
Это позволяет React эффективно управлять рендерингом и минимизировать ненужные обновления DOM.
⚠️ Функции находятся на стадии эксперимента, и финальный API может измениться.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда проект растёт, время сборки может стать серьёзной проблемой. Рассмотрим несколько методов для ускорения процесса с помощью Webpack.
Использование файлового кэша позволяет избегать повторной сборки неизменённых модулей.
Как настроить:
cache: {
type: 'filesystem',
}
➡️ WebPack не пересобирает всё с нуля, а использует кэшированные данные, что сокращает время сборки.
Удаление неиспользуемого кода, чтобы уменьшить размер бандла.
Как настроить:
optimization: {
usedExports: true,
}
Позволяет разделять код между несколькими приложениями, загружая только необходимые части.
Как настроить:
позволяет избегать повторной сборки неизменённых модулей.
Как настроить:
cache: {
type: 'filesystem',
}
➡️
WebPack не
Минификация и сжатие JavaScript-кода для уменьшения его размера.
Как настроить:
optimization: {
minimize: true,
minimizer: [new TerserPlugin()],
}
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Один из эффективных подходов — использование ChatGPT для генерации пользовательских путей на основе документации продукта.
Промпт:
Generate a user flow based on this PRD. Describe the pages, features, and major states.
Почему это полезно:
Пример использования:
Представим, что у нас есть PRD для приложения по доставке еды:
Generate a user flow based on this PRD: An app that allows users to order food from local restaurants, track delivery in real-time, and provide feedback after receiving the order.
ChatGPT предоставит описание пользовательского пути, включая страницы, функции и основные состояния.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🚨 Смешные новости про IT теперь в одном канале
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
Мы запустили @hahacker_news — наш новый юмористический IT-канал.
Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.
👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
Please open Telegram to view this post
VIEW IN TELEGRAM
В больших проектах рутина часто повторяется — запуск тестов, сборка, форматирование, генерация кода. Автоматизация через кастомные скрипты — лучший способ ускорить работу. Но еще руче — запускать их одним нажатием клавиши.
File > Settings > Tools > External Tools
Settings > Keymap
и в поиске введите название External Tool
Add Keyboard Shortcut
→ назначь удобную комбинацию#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
useEffect — один из самых мощных, но одновременно и самых коварных хуков в React. Даже опытные разработчики порой сталкиваются с неожиданным порядком выполнения эффектов.
О чем статья:
С примерами, визуализациями и разбором кода — всё, что нужно для глубокого понимания и уверенной работы с эффектами в React
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 Проверьте внимательность и интуицию
В тексте на картинке скрылись 5 названий популярных фронтенд-технологий. Некоторые замаскированы, другие — спрятаны внутри слов или фраз.
Получилось найти хотя бы три? Пишите ответ в комментариях✏️
🐸 Библиотека фронтендера
#междусобойчик
В тексте на картинке скрылись 5 названий популярных фронтенд-технологий. Некоторые замаскированы, другие — спрятаны внутри слов или фраз.
Получилось найти хотя бы три? Пишите ответ в комментариях
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
➤ Отлично подходит для быстрой верстки прототипов и MVP.
➤ Снижает количество дизайнерских багов до передачи в разработку.
➤ Подходит для проектов с дизайн-системами.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend Developer — 150 000 - 250 000 ₽, удаленно (Москва)
Teamlead Frontend (Vue) — удаленно (Москва)
Middle Frontend-разработчик — от 80 000 до 150 000 ₽, удаленно/офис (Краснознаменск)
Fullstack разработчик JS/TS — 150 000 — 250 000 ₽, удаленно (Санкт-Петербург)
Fullstack-разработчик — удаленно (Санкт-Петербург)
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда вы вносите правку, а браузер не мигает, не сбрасывает форму, не роняет состояние — это магия, имя которой Hot Module Replacement (HMR).
npm create vite@latest my-app --template react
cd my-app
npm install
npm run dev
Что реально происходит:
Как можно кастомизировать:
// vite.config.js
export default defineConfig({
server: {
hmr: {
overlay: true, // показывает ошибки прямо в браузере
},
},
})
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
TypeScript дает огромные возможности — но где проходит грань между продуманной типизацией и избыточной сложностью?
Рассказываем в карточках, как типы превращаются в инструмент архитектуры.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM