🎅 Секретный Санта для айтишников от Proglib.academy
Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик.
🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе:
1️⃣ Упомяните курс Академии у себя в блоге.
2️⃣ Пришлите скрин сюда.
3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса.
Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более.
🎄 Акция действует до Нового года.
Win-win, всё как мы любим!
Весь этот год команда Академии запускала курсы для айтишников. А под Новый год мы запускаем новый курс по ИИ-агентам и ставим под ёлку самый свежий стек 2025 года и обучение проектированию автономных нейросетевых экосистем — от LLM и ReAct-циклов до мультиагентных систем, LangGraph, AutoGen и продакшн-практик.
🎁 Хотим дарить подарки и приглашаем вас поучаствовать в конкурсе:
1️⃣ Упомяните курс Академии у себя в блоге.
2️⃣ Пришлите скрин сюда.
3️⃣ Получите секретный промокод на 10 000 ₽ при оплате любого курса.
Подходит всё — соцсети, блоги, Telegram-каналы от 300 подписчиков и более.
🎄 Акция действует до Нового года.
Win-win, всё как мы любим!
🥰5❤1
Если страницу могут распечатать — у неё должны быть print-стили. Иначе пользователь получит веб-макет вместо документа.
@media print {
body {
font-size: 12pt;
color: black;
background: none;
max-width: 210mm; /* формат A4 */
margin: auto;
}
nav, .sidebar, .ads, .button {
display: none;
}
a {
color: black;
text-decoration: underline;
}
a::after {
content: " (" attr(href) ")";
font-size: 10pt;
color: gray;
}
h1, h2, h3, p {
break-inside: avoid;
}
}
Результат:
— чистая ч/б печать
— только контент
— корректная ширина под A4
— читаемые ссылки
— без кривых разрывов страниц
#hotix #css
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5
90+ компонентов: текст, кнопки, секции и эффекты с аккуратным дизайном. Подключаются быстро, стили — CSS или Tailwind.
Подходит, когда нужен быстрый и визуально сильный UI без лишней возни.
#stack #react
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4❤1
WANTED: FRONTEND-ВЗЛОМЩИК РЕАЛЬНОСТИ
Разыскивается эксперт, чей код не «плывёт», а интерфейсы не тормозят. Мы знаем, что у тебя накоплен багаж знаний, который пора легализовать.
Приметы:
— в совершенстве знает современный JS-стек и понимает логику
— умеет выстраивать архитектуру крупных SPA-приложений;
— готов делиться опытом с большой аудиторией фронтендеров;
— хочет монетизировать свои знания через образовательные форматы.
Условия:
— официальное сотрудничество с Proglib Academy;
— прокачка личного бренда в профессиональном сообществе;
— дополнительный доход без отрыва от основной работы.
Сдаться добровольно
P.S. Знаешь коллегу, который пишет код «как боженька»? Пора его сдать.
Разыскивается эксперт, чей код не «плывёт», а интерфейсы не тормозят. Мы знаем, что у тебя накоплен багаж знаний, который пора легализовать.
Приметы:
— в совершенстве знает современный JS-стек и понимает логику
Python, Go или Java;— умеет выстраивать архитектуру крупных SPA-приложений;
— готов делиться опытом с большой аудиторией фронтендеров;
— хочет монетизировать свои знания через образовательные форматы.
Условия:
— официальное сотрудничество с Proglib Academy;
— прокачка личного бренда в профессиональном сообществе;
— дополнительный доход без отрыва от основной работы.
Сдаться добровольно
P.S. Знаешь коллегу, который пишет код «как боженька»? Пора его сдать.
❤5🥰4
Проблемы с зависимостями редко взрываются сразу. Они накапливаются: растёт вес, тормозит CI, обновления превращаются в боль.
#under_hood
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5👍3🔥1
Контроль реальности. Перед билдом, перед коммитом, перед пушем.
Смотрите, что именно меняется в JSX/CSS. Ловит случайные правки, auto-format и мусор от IDE.
Один компонент — один коммит. Ревьюеры скажут спасибо.
Исправить сообщение или добавить забытый файл без нового коммита. Чистая история вместо «fix typo», «fix typo 2».
Срочно переключиться на багфикс, не ломая рабочее состояние. Незаменимо при параллельных задачах.
#readme #git
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5👍3❤2
Какие статические методы есть у Promise и чем они реально отличаются?
• Promise.resolve() — создаёт уже выполненный промис (часто используется для нормализации значений).
• Promise.reject() — создаёт отклонённый промис.
• Promise.all() — ждёт все промисы, но падает при первой ошибке.
• Promise.race() — возвращает результат первого завершившегося промиса (успех или ошибка).
• Promise.allSettled() — ждёт все промисы и возвращает их статусы, ошибки не прерывают выполнение.
• Promise.any() — возвращает первый успешно завершившийся промис, ошибка — только если все отклонены.
#career_merge #middle
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🥰1
Простой CSS-приём для управления расстоянием между элементами без :first-child, reset’ов и лишней специфики.
— как работает * + *
— когда он лучше альтернатив
— в чём его практическая польза
— когда всё-таки стоит выбрать gap
Минимум теории — максимум пользы для поддерживаемого CSS.
#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🥰3
Команда популярного курса по React выпустила наглядное руководство по ключевым возможностям React 19.
Разбирают:
Если хочется увидеть, а не просто прочитать, как React устроен внутри — стоит посмотреть
#under_hood
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4
В этом видео Райан Карниато объясняет, что такое сигналы на самом деле и почему это не «новая магия», а старая архитектурная идея.
#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4
Как вы обычно добавляете новую зависимость ❔
Anonymous Poll
44%
Читаю README и смотрю код
33%
Ставлю, если популярная
3%
Уже есть транзитивно, просто использую
11%
Копирую нужные строки в проект
10%
Сначала ищу, что можно удалить
🥰4
Хватит верстать формочки — пора строить интерфейсы для ИИ-агентов 🎨
Представь: твоё приложение не просто ждёт клика, а само принимает решения. Агенты — это новый бэкенд, и фронтендеру важно понимать, как с ними взаимодействовать.
На курсе по AI-агентам мы научим вас оркестровать процессы и интегрировать умных ботов в реальные продукты.
Что внутри для тебя:
— создание ботов-агентов, которые переключаются между задачами через
— работа с
— освоение протокола
— практика построения
Это отличный шанс выйти за рамки привычного стека и стать тем, кто создаёт продукты будущего.
Стать AI-разработчиком ✨
Представь: твоё приложение не просто ждёт клика, а само принимает решения. Агенты — это новый бэкенд, и фронтендеру важно понимать, как с ними взаимодействовать.
На курсе по AI-агентам мы научим вас оркестровать процессы и интегрировать умных ботов в реальные продукты.
Что внутри для тебя:
— создание ботов-агентов, которые переключаются между задачами через
n8n;— работа с
OpenAI SDK и LangChain для создания логики «рассуждения»;— освоение протокола
MCP для обмена данными между интерфейсом и AI;— практика построения
RAG-систем, чтобы UI летал даже с гигабайтами данных.Это отличный шанс выйти за рамки привычного стека и стать тем, кто создаёт продукты будущего.
Стать AI-разработчиком ✨
❤5
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12
Clipboard API
await navigator.clipboard.writeText('text');
const text = await navigator.clipboard.readText();
Требования: HTTPS, user gesture
Поддержка: Chrome, Firefox, Safari
Page Visibility API
document.addEventListener('visibilitychange', () => {
if (document.hidden) {
// пауза видео, анимаций, таймеров
}
});
Зачем: экономия ресурсов, корректный UX при сворачивании вкладки
Screen Wake Lock API
const lock = await navigator.wakeLock.request('screen');
// …
await lock.release();
Поддержка: Chrome, Edge, Android
Ограничения: HTTPS, user gesture, может быть отозван браузером
Web Share API
await navigator.share({
title: 'Title',
text: 'Text',
url: 'https://example.com'
});
Поддержка: Mobile Safari, Android Chrome
Ограничения: HTTPS, user action
Vibration API ⚠️ Limited
navigator.vibrate(200);
navigator.vibrate([100, 50, 100]);
navigator.vibrate(0);
Поддержка: Android
Статус: нишевой, не работает на iOS
Device Orientation / Motion ⚠️ Permissions required
window.addEventListener('deviceorientation', e => {
e.alpha; // Z
e.beta; // X
e.gamma; // Y
});
• iOS требует DeviceMotionEvent.requestPermission()
• Работает только после user interaction
Web Speech API ⚠️ Experimental
// Синтез речи
const u = new SpeechSynthesisUtterance('текст');
u.pitch = 1.2;
u.rate = 0.9;
speechSynthesis.speak(u);
// Распознавание (Chrome-only)
const r = new webkitSpeechRecognition();
r.onresult = e => console.log(e.results[0][0].transcript);
r.start();
Статус: нестандартный
Риск: разные реализации, vendor prefix
WebHID API ⚠️ Chrome-only
const [device] = await navigator.hid.requestDevice({ filters: [] });
await device.open();
device.addEventListener('inputreport', e => {
const value = e.data.getInt8(0);
});
Поддержка: Chrome 89+, Edge
Зачем: кастомные HID-устройства (контроллеры, панели, девайсы)
WebMIDI API ⚠️ Niche
navigator.requestMIDIAccess().then(access => {
for (const input of access.inputs.values()) {
input.onmidimessage = e => {
console.log(e.data);
};
}
});
Поддержка: Chrome, Edge, Safari (частично)
Использование: музыка, MIDI-контроллеры
#readme #webapi
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2🥰2
Какое условие обязательно выполнить, чтобы элемент мог принять drop в HTML5 Drag and Drop API ❓
Anonymous Quiz
16%
Установить dataTransfer.dropEffect = 'copy' в обработчике dragenter
33%
Вызвать event.preventDefault() в обработчике dragover
12%
Добавить CSS-свойство pointer-events: all для зоны сброса
39%
Вернуть объект с allowDrop: true из обработчика dragstart
🥰4
Что внутри статьи:
🔴 Почему@starting-styleработает не так, как keyframes🔴 Реальный баг из продакшена (particle effect, который отказался работать)🔴 3 решения проблемы — от «ядерного» до элегантного🔴 Неожиданный вывод: а нужен ли вообще@starting-style?
Даже если вы не используете эту фичу, статья прокачает ваше понимание CSS specificity. Это знание спасёт вас в любом проекте.
#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰3🔥2