bootg.com »
United States »
Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js » Telegram Web
Обновление браузера принесло фичи, которые открывают новые возможности в UI и улучшении пользовательского опыта.
В карточках разберем:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18
Когда берёшься за новый проект, не хочется тратить время на выбор — просто ставишь то, с чем уже давно удобно. У каждого свой набор: кому-то без Tailwind некомфортно, кто-то кидает Zustand даже в самые простые задачи.
У меня сейчас так:
– Vite
– Tailwind + shadcn/ui
– Zustand
– jQuery
– Авторизация на скорую руку
Не идеал, но работать можно. Всё лишнее — позже, если понадобится.
Если постик зашёл, то поддержите бустом канала
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔14👍9❤1
В этой подборке — лучшие статьи, симуляторы и объяснения, которые разложат асинхронность в JS по полочкам.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
У вас есть объект настроек по умолчанию и фрагмент кода (на картинке).
Пользователь ввёл JSON:
{«__proto__": {"polluted": true}, "isAdmin": true}
Какими будут значения defaults.isAdmin и defaults.theme после выполнения этого кода
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥2
Senior Frontend Developer (Angular 15) — 3 500 — 6 000 €, relocation (Cyprus)
Frontend Developer (React) — 150 000 ₽, удаленно
Frontend-разработчик — офис (Москва)
Frontend vue.js developer — удаленно (Москва)
Frontend Team Lead — от 350 000 ₽ до 400 000 ₽, удаленно
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Проблема: управление состоянием формы и её отправкой может быть сложным, особенно при наличии валидации и асинхронных операций.
Решение: в книге «Learn React Hooks, 2nd Edition» автор предлагает использовать хук useActionState для управления состоянием формы, включая её отправку и обработку ошибок.
Пример кода:
import React, { useState } from 'react';
function useActionState(initialState) {
const [state, setState] = useState(initialState);
const [isSubmitting, setIsSubmitting] = useState(false);
const [error, setError] = useState(null);
const submit = async (action) => {
setIsSubmitting(true);
try {
await action();
setState(initialState);
} catch (err) {
setError(err);
} finally {
setIsSubmitting(false);
}
};
return { state, isSubmitting, error, submit };
}
function LoginForm() {
const { state, isSubmitting, error, submit } = useActionState({
username: '',
password: '',
});
const handleSubmit = () => {
submit(async () => {
// Асинхронная отправка данных
});
};
return (
<form onSubmit={handleSubmit}>
<input
type="text"
value={state.username}
onChange={(e) => setState({ ...state, username: e.target.value })}
/>
<input
type="password"
value={state.password}
onChange={(e) => setState({ ...state, password: e.target.value })}
/>
<button type="submit" disabled={isSubmitting}>
{isSubmitting ? 'Submitting...' : 'Submit'}
</button>
{error && <p>{error.message}</p>}
</form>
);
}
Преимущества:
— Управление состоянием формы и её отправкой.
— Обработка ошибок и асинхронных операций.
— Упрощение кода формы.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Вы пишите
let x = 1 + 2
, а под капотом V8 уже строит синтаксическое дерево, генерирует байт-код и думает, стоит ли компилировать это в машинный код.Что в карточках:
Если хотите писать реально быстрый JS, нужно понимать, как его читает движок.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2
Полная зачистка проекта, когда «ничего не работает, а вчера работало».
rm -rf node_modules dist .vite && npm cache clean --force && npm install
Используется при переходе между ветками, конфликте зависимостей или странных сборках
Зачем это нужно:
— Удаляет артефакты и кэш, которые могут ломать сборку.
— Позволяет начать «с нуля» без удаления проекта.
— Помогает при миграции зависимостей или обновлении сборщиков.
Лайфхаки:
alias resetnode="rm -rf node_modules dist .vite && npm cache clean --force && npm install»
rm -rf node_modules && lerna clean && lerna bootstrap
pnpm store prune && pnpm install --force
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2👏2
🔥 Последняя неделя перед стартом курса по AI-агентам
Старт курса уже 5го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место
На курсе:
— разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах
📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями
И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»
👉 Курс здесь
Старт курса уже 5го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место
На курсе:
— разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах
📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями
И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»
👉 Курс здесь
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁27😢4
CI — ваш честный ревьюер. Он проверит, не забыли ли вы запустить тесты, форматировать код и не сломал ли билд.
— Убедитесь, что build проходит на каждом коммите
— Добавьте проверку на размер бандла (webpack-bundle-analyzer, size-limit)
— Сравнивайте метрики между коммитами (например, с CI compare или Bundlewatch)
— Настройте ESLint (с правилами под ваш стек: React, TS и т.д.)
— Подключите Prettier с автоформатированием
— Проверяйте линт перед пушем через lint-staged и husky
— Запускайте тесты на каждый PR
— Покрывайте бизнес-логику, хуки, компоненты
— Минимум:
jest + @testing-library/react
— Включите строгую проверку TypeScript
— Ошибки типов — повод не пускать PR в main
— Не забудьте проверить .d.ts и внешние типы
— Убедитесь, что .env.production загружается правильно
— Добавьте в CI проверку на наличие всех нужных переменных
— Прогоните Lighthouse/Pa11y, если хочется extra-модуль
— Снимайте скриншоты UI (Storybook + Chromatic, Percy)
— Ловите баги до ревью
— Можно запускать раз в день/неделю в cron-режиме
— Добавтеь бейджи покрытия, билда и линта в README
— Публикуйте отчёты в MR/PR
— Настройте уведомления в Telegram/Slack
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥4