🧩 Архитектура, которая делает код предсказуемым
Смешивание бизнес-логики и побочных эффектов приводит к хрупкости системы: тесты становятся тяжёлыми, изменения — рискованными, а переиспользование — ограниченным.
➡️ 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
❤5🥰2🔥1
Chrome, Edge, Firefox и Safari официально добавили WebGPU — новый низкоуровневый API для работы с видеокартой прямо в браузере.
Что это меняет:
Статус платформ:
• Android — поддержка с Chrome 121+;
• Linux и Intel Mac — в активной разработке;
• WebGPU уже пригоден для production: экосистема растёт, документация стабилизируется.
#release_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤2😁2🥰1
Когда нужен простой и предсказуемый центр по обеим осям — Grid справляется быстрее и чище, чем Flex.
• модальные окна
• лоадеры и спиннеры
• empty states
• hero-блоки
• карточки с иконками и коротким текстом
Любой статичный компонент, где центр — ключевая точка внимания.
place-items — это шорткат для align-items + justify-items.
Можно настраивать оси раздельно:
.container {
display: grid;
place-items: start center; /* вертикаль | горизонталь */
}
Flex выигрывает в динамических сценариях:
• несколько элементов в строке
• space-between / space-around
• адаптивный wrap
• навигация, списки, карточки в ряду
Если нужно распределить несколько элементов, а не центрировать один — выбирайте Flex.
🌐 Поддержка: Chrome 59+, Firefox 45+, Safari 11+, Edge 79+
#hotfix #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
В неё входят решения для работы с событиями браузера, состояниями, сетевыми запросами, таймерами и другими типовыми задачами. Всё реализовано аккуратно, понятно и готово к продакшну.
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#stack #react
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🥰4❤2
Большинство разработчиков знают только git add . и git reset, но есть команда, которая позволяет работать чище и безопаснее — git restore --staged.
Она снимает изменения только из индекса (staged), не трогая рабочую директорию. То есть код остаётся в файлах, но не попадёт в коммит.
Когда это используют:
Добавили лишние файлы?
Вернуть индекс в чистое состояние проще простого:
git restore --staged .
Когда в PR важно отделить:
– правки логики
– форматирование
– обновления зависимостей
– рефакторинг
Если что-то случайно попало — легко убрать из staged:
git restore --staged src/utils/helpers.js
Интерактивно добавляли куски кода и выбрали не тот?
Команда помогает быстро исправить ошибку — без потери изменений в файле.
Нужно собрать идеальный коммит.
Важно иметь чистый staged — restore отлично помогает контролировать этот процесс.
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#readme #git
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥰3❤🔥1
Anthropic приобрела команду Oven — разработчиков JavaScript-платформы Bun.
Зачем это Anthropic:
Bun уже используется в Claude Code и Claude Agent SDK. Покупка закрепляет его как технологическую основу продуктов компании.
Что изменится для разработчиков
По заявлению команды — ничего критичного:
• проект остаётся open-source;
• разработка продолжится на GitHub;
• команда сохраняется;
• roadmap не меняется.
Фактически это усиление стабильности проекта и гарантия его долгосрочной поддержки.
#release_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🥰2
«Я фронтендер, зачем мне матрицы?»
Пока AI-инструменты пишут код за нас, ценность разработчика смещается. Теперь круто не просто сверстать интерфейс, а понимать, как работает ML-модель, которую вы подключаете по API.
Математика — это универсальный язык, который не устаревает, в отличие от JS-фреймворков.
Мы обновили курс по математике для AI. Это ваш шанс выйти за рамки браузера.
Что будем делать (на Python, но логика важнее):
🔹 Разбирать линейную алгебру для работы с данными;
🔹 Строить линейную регрессию с нуля;
🔹 Создавать простые рекомендательные системы через SVD-разложение.
Живые вебинары уже начались, но вы успеваете догнать группу.
Регистрация открыта до 9 декабря:
https://clc.to/LojFzw
Пока AI-инструменты пишут код за нас, ценность разработчика смещается. Теперь круто не просто сверстать интерфейс, а понимать, как работает ML-модель, которую вы подключаете по API.
Математика — это универсальный язык, который не устаревает, в отличие от JS-фреймворков.
Мы обновили курс по математике для AI. Это ваш шанс выйти за рамки браузера.
Что будем делать (на Python, но логика важнее):
🔹 Разбирать линейную алгебру для работы с данными;
🔹 Строить линейную регрессию с нуля;
🔹 Создавать простые рекомендательные системы через SVD-разложение.
Живые вебинары уже начались, но вы успеваете догнать группу.
Регистрация открыта до 9 декабря:
https://clc.to/LojFzw
🥰3👍1🥱1
This media is not supported in your browser
VIEW IN TELEGRAM
Восемь способов выбрать нужный элемент без лишних классов. От базовых :first-child и :last-child до продвинутых формул с :nth-child(3n+1). Один селектор вместо десятка классов.
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥1🥰1