📘 4 декабря стартует набор на курс «Математика для разработки AI-моделей»
Если вы работаете с моделями или хотите перейти в DS/ML, декабрь — идеальный момент закрыть фундаментальные пробелы.
На курсе вы разберёте ключевые разделы, которые лежат в основе современных AI-моделей: линейная алгебра, анализ, оптимизация, математический анализ, вероятности, статистика. Всё через практику в Python.
В программе живые занятия с экспертами AI-индустрии (SberAI, ВШЭ, WB&Russ), разбор реальных задач, квизы и финальный проект.
🌐 Формат: онлайн + доступ к записям
🎁 Бонусы: курс «Школьная математика» в подарок, бесплатный тест по математике
После лекций будет разбор ваших решений и возможность задать вопросы преподавателям.
👉 Записаться на курс
Если вы работаете с моделями или хотите перейти в DS/ML, декабрь — идеальный момент закрыть фундаментальные пробелы.
На курсе вы разберёте ключевые разделы, которые лежат в основе современных AI-моделей: линейная алгебра, анализ, оптимизация, математический анализ, вероятности, статистика. Всё через практику в Python.
В программе живые занятия с экспертами AI-индустрии (SberAI, ВШЭ, WB&Russ), разбор реальных задач, квизы и финальный проект.
🌐 Формат: онлайн + доступ к записям
🎁 Бонусы: курс «Школьная математика» в подарок, бесплатный тест по математике
После лекций будет разбор ваших решений и возможность задать вопросы преподавателям.
👉 Записаться на курс
❤4🥰2
❤3
react-router-v7-cheatsheet.pdf
48.9 KB
React Router v7 объединил v6 и Remix в одну библиотеку. Два режима на выбор: легковесный Library Mode для SPA или полноценный Framework Mode с SSR.
Требования: Node.js 20+ и React 18+
#readme #react
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🥰2👍1
⚛️ React: избавляемся от вложенных условий в JSX
Глубокие тернарные операторы быстро превращают JSX в нечитаемый код. Более понятный подход — ранние возвраты и предсказуемая структура рендера.
⚠️ Важное правило Hooks
Все хуки должны вызываться на верхнем уровне компонента — до любых return и условных конструкций.
React требует, чтобы хуки выполнялись в одном и том же порядке при каждом рендере. Если порядок или количество хуков изменится, возникнет ошибка.
Ранние возвраты полностью безопасны, если хуки вызываются до любых условий.
✅ Альтернатива: объектный маппинг
Подходит для компонентов с большим количеством состояний:
Важно: храните компоненты, а не JSX-элементы, чтобы свободно передавать пропсы.
➡️ Когда что использовать:
⚪️ Early Returns — оптимальны в большинстве случаев (loading / error / success).
⚪️ Объектный маппинг — подходит, когда состояний много и они определяются строковым статусом: этапы процессов, статусы заказов, типы уведомлений, шаги визардов.
💡 Начинайте с early returns — это самый простой и понятный вариант. Переходите на маппинг только тогда, когда это действительно упрощает код.
🐸 Библиотека фронтендера
#hotfix #react
Глубокие тернарные операторы быстро превращают JSX в нечитаемый код. Более понятный подход — ранние возвраты и предсказуемая структура рендера.
⚠️ Важное правило Hooks
Все хуки должны вызываться на верхнем уровне компонента — до любых return и условных конструкций.
React требует, чтобы хуки выполнялись в одном и том же порядке при каждом рендере. Если порядок или количество хуков изменится, возникнет ошибка.
// Ошибка: хук после return
function Component({ data }) {
if (!data) return null;
const [value] = useState(data); // Хук вызван условно!
}
// Правильно: хуки перед return
function Component({ data }) {
const [value] = useState(data);
if (!data) return null;
}
Ранние возвраты полностью безопасны, если хуки вызываются до любых условий.
Подходит для компонентов с большим количеством состояний:
const STATE_COMPONENTS = {
loading: Spinner,
error: Error,
success: Content,
empty: Empty
};
function DataView({ status, ...props }) {
const Component = STATE_COMPONENTS[status];
return Component ? <Component {...props} /> : null;
}
Важно: храните компоненты, а не JSX-элементы, чтобы свободно передавать пропсы.
#hotfix #react
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🥰3
Стандартный браузерный механизм, который позволяет заранее рендерить страницы и активировать их почти без задержек. Без JS-библиотек, без клиентского роутинга и без серверных настроек.
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#under_hood
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
Вращение, появление, пульсация и bounce — четыре примера, которые пригодятся в любом проекте.
Каждый эффект — это
@keyframes и несколько строк CSS. Копируйте и адаптируйте под свои задачи.🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2🥰2
AI в браузере — это уже реальность, а не будущее
TensorFlow.js, WebGL, сложная визуализация данных на Canvas. Фронтенд становится умнее. Чтобы внедрять ML-фичи на клиенте и понимать, как оптимизировать вычисления, чтобы не «повесить» вкладку пользователя, нужна математическая база.
Завтра мы запускаем курс «Математика для разработки AI-моделей».
Разберём всё: от матриц до градиентов, но понятным языком и с прицелом на практику.
Цена вопроса: 28 200 ₽.
Старт: Уже завтра.
Забирайте знания, пока цена праздничная:
👉 Узнать детали и записаться
🎁 Вводный тест: @proglib_academy_webinar_bot
TensorFlow.js, WebGL, сложная визуализация данных на Canvas. Фронтенд становится умнее. Чтобы внедрять ML-фичи на клиенте и понимать, как оптимизировать вычисления, чтобы не «повесить» вкладку пользователя, нужна математическая база.
Завтра мы запускаем курс «Математика для разработки AI-моделей».
Разберём всё: от матриц до градиентов, но понятным языком и с прицелом на практику.
Цена вопроса: 28 200 ₽.
Старт: Уже завтра.
Забирайте знания, пока цена праздничная:
👉 Узнать детали и записаться
🎁 Вводный тест: @proglib_academy_webinar_bot
❤4🙏2
🧩 Архитектура, которая делает код предсказуемым
Смешивание бизнес-логики и побочных эффектов приводит к хрупкости системы: тесты становятся тяжёлыми, изменения — рискованными, а переиспользование — ограниченным.
➡️ Imperative Shell — работа с внешним миром
Оболочка отвечает только за взаимодействие с БД и отправку сообщений. Бизнес-логика остаётся неизменной и предсказуемой.
➡️ Переиспользование без боли
Добавление новой функциональности не требует переписывать логику — только меняется контекст использования:
💡 Принцип простой:
чистые функции — для вычислений, императивная оболочка — для эффектов.
Результат — тестируемый, модульный и надёжный код, устойчивый к изменениям.
🔗 Источник: Google Testing Blog
🐸 Библиотека фронтендера
#blueuprint #react
Смешивание бизнес-логики и побочных эффектов приводит к хрупкости системы: тесты становятся тяжёлыми, изменения — рискованными, а переиспользование — ограниченным.
email.bulkSend(
generateExpiryEmails(
getExpiredUsers(db.getUsers(), Date.now())
)
);
Оболочка отвечает только за взаимодействие с БД и отправку сообщений. Бизнес-логика остаётся неизменной и предсказуемой.
Добавление новой функциональности не требует переписывать логику — только меняется контекст использования:
const fiveDaysFromNow = ...
email.bulkSend(
generateReminderEmails(
getExpiredUsers(db.getUsers(), fiveDaysFromNow)
)
);
чистые функции — для вычислений, императивная оболочка — для эффектов.
Результат — тестируемый, модульный и надёжный код, устойчивый к изменениям.
#blueuprint #react
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🥰2🔥1