Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
22.5K subscribers
2.44K photos
151 videos
38 files
4.83K links
Все самое полезное для фронтенда в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/77178ed4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
⭐️ Упрощаем валидацию и типизацию с помощью Zod

Zod — библиотека для TypeScript, которая позволяет описывать схемы данных, валидировать их и сразу получать типы — без дублирования кода.

Почему это удобно:

➡️ Схема данных работает и как валидатор, и как источник типов через z.infer. Один раз описали — используете везде.

➡️ Zod использует декларативный синтаксис. Пример:


const User = z.object({
id: z.number(),
name: z.string(),
email: z.string().email()
})


➡️ Поддержка вложенных объектов, массивов, union-типов, optional, nullable, enum — можно описать практически любую структуру.

➡️ Используется для проверки request.body в Express, данных из форм или внешнего API.

➡️ Отлично сочетается с React Hook Form, tRPC, Next.js API routes и другими TypeScript-first решениями.

Как использовать:

1) Установите:


npm install zod


2) Опишите схему:


const Product = z.object({
title: z.string(),
price: z.number().positive()
})


3) Проверьте данные:


const result = Product.safeParse(input)
if (!result.success) {
console.error(result.error)
}


4) Получите типы:


type Product = z.infer<typeof Product>


Zod помогает писать более надёжный код и экономит время, устраняя разрыв между типами и реальными данными. Подходит для всего: от валидации форм до API и работы с внешними сервисами.

🐸 Библиотека фронтендера

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥108🤔2
🚀 Как OpenAPI упрощает работу фронтендера

Сегодня в мире быстрого цикла разработки важно сокращать время на рутинные задачи.

OpenAPI — это не просто спецификация, а реальный инструмент для автоматизации, который позволяет ускорить большинство процессов.

Что в карточках:

➡️ Как OpenAPI ускоряет интеграцию и генерирует код

➡️ Как моки и типизация повышают точность и скорость

➡️ Инструменты для быстрой работы с OpenAPI

➡️ Роль ИИ в создании UI-прототипов по спецификации

🔗 Все примеры и подробности — в статье по ссылке

🐸 Библиотека фронтендера
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥1
🖥️ Уточнение требований к компоненту

При создании компонента на React важно чётко сформулировать требования, чтобы ускорить процесс разработки и избежать недоразумений. Уточнение для компонента с задачами поможет правильно организовать структуру и не упустить важные детали.

Промпт:

Создай компонент на React, который отображает список задач с возможностью добавления, удаления и изменения статуса. Используй Zustand для управления состоянием. Компонент должен быть адаптивным и поддерживать темную тему.


Чем полезен:

➡️ Ясное описание функционала компонента.

➡️ Упоминание ключевых аспектов, таких как состояние, адаптивность и темная тема.

➡️ Понимание, как использовать Zustand для управления состоянием в компоненте.

🐸 Библиотека фронтендера

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱6👍51👾1
🍿 Как настроить Source Maps и отладку в продакшене

Source Maps позволяют отлаживать минифицированный код, показывая исходники в DevTools.

Почему важно:

📍 Упрощает отладку ошибок в продакшене

📍 Сохраняет имена файлов и строки из исходного кода

📍 Помогает находить баги без доступа к исходникам на сервере

Как настроить:

1. Включаем генерацию Source Maps в сборщике:

➡️ Webpack:


module.exports = {
devtool: 'source-map', // или 'hidden-source-map' для продакшена
mode: 'production',
};


➡️ Vite:


export default {
build: {
sourcemap: true, // true или 'hidden'
}
}


➡️ Next.js (через next.config.js):


module.exports = {
productionBrowserSourceMaps: true,
};



2. Решаем, публиковать или нет:

source-map — полностью доступен в DevTools, но может раскрыть структуру проекта.

hidden-source-map — позволяет видеть ошибки и стек-трейсы, но не отображает исходный код в браузере.

nosources-source-map — показывает имена файлов и номеров строк без самих исходников.

3. Используем Sentry, Rollbar, Bugsnag и пр.

Загружайте .map файлы в систему мониторинга ошибок. Это позволит видеть стек-трейсы как будто вы в Dev-режиме.

Пример для Sentry:


sentry-cli releases files your-release upload-sourcemaps ./dist --url-prefix '~/static/js’


🐸 Библиотека фронтендера

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
Как работает async/await и зачем он нужен

Асинхронный код — неотъемлемая часть работы с веб-запросами, таймерами и файлами, но его сложность часто затрудняет понимание и поддержку.

Ранее для этого использовали коллбэки и промисы, но такие решения часто приводят к запутанному коду и трудностям с обработкой ошибок 🥲

В карточках разберем:

Как async/await упрощает асинхронный код

Что стоит за этим синтаксисом и как он работает

Чем async/await лучше традиционных методов

🔗 Подробное руководство читаем по ссылке

🐸 Библиотека фронтендера
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥2👾2
🌀 Фишка инструмента Reactime

Reactime — это расширение для Chrome, которое позволяет визуально отслеживать, как меняется состояние приложения, какие компоненты ререндерятся и что запускает useEffect.

Это как DevTools, но с акцентом на время, зависимости и жизненный цикл.

Чем полезен:

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

➡️ Можно наглядно увидеть, как срабатывают useState, useReducer и useEffect — когда и с какими значениями

➡️ Reactime позволяет перемещаться между состояниями и наблюдать, как UI реагирует на изменения — удобно для отладки сложных состояний

Как начать:

1. Установите расширение

2. Откройте React-приложение в режиме разработки

3. Перейдите во вкладку Reactime в DevTools и начните взаимодействие с UI

4. Следите за рендерингом, изменениями стейта и запуском эффектов

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

🐸 Библиотека фронтендера

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥102👾2
😤 Устал листать туториалы, которые не складываются в картину

У тебя в голове уже есть логрегрессии, деревья, метрики и какая-то PCA, но системного понимания всё нет?

Пора с этим разобраться!

Наш курс по классическому ML:

— научит выбирать адекватные модели под задачу
— разложит метрики, переобучение и bias по полочкам
— покажет, что скрывается за fit/predict, и что с этим делать

🔔 До 27 июля по промокоду Earlybird минус 10.000₽

P.S. Первые 10 участников получат эксклюзивный лонгрид, чтобы начать изучать тему ещё до старта курса.

👉 Поменяй свою жизнь: старт карьеры в AI — успей до закрытия набора!
🌚3
💬 Общие чаты в команде: за и против

Slack, Telegram, Discord — рабочие чаты стали центром всего: задачи, баги, апдейты, мемы. Удобно… пока не превращается в постоянный шум и расфокус.

🔘 Что удобно:

— Быстро решить вопрос без созвонов

— Видно, кто чем занят

— Меньше митингов, больше живого контекста

— Держит команду в тонусе

🔘 Что бесит:

— Поток отвлечений не прекращается

— Важное тонет в болтовне

— Нарушает фокус и deep work

— Появляется тревожка «а вдруг я что-то пропустил»

Чаты работают, когда в них есть правила: меньше @all, больше тредов, без лишнего шума — и никто не сходит с ума.

А как у вас: общие чаты помогают или выматывают? Расскажите, как вы с этим справляетесь👇

🐸 Библиотека фронтендера

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6🤔2