Но как браузер понимает, что ошибка из минифицированного файла соответствует конкретной строке в вашем исходном коде?
Разбираем, как это работает под капотом.
#under_hoow
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4🥰1
🎬 Где ломаются архитектуры ИИ-агентов и как этого избежать: запись урока от Proglib.Academy и cloud․ru
Proglib.аcademy вместе с cloud․ru провели вебинар, где разобрали реальные боли проектирования автономных систем. Вы просили запись встречи — она уже в открытом доступе!
Что внутри:
— критерии выбора между одним агентом и мультиагентной системой;
— разбор популярных архитектурных ошибок;
— реальные ограничения современных ИИ-агентов;
— практические рекомендации по проектированию агентных систем.
👉 Посмотреть запись можно тут:
● VK
● YouTube
Proglib.аcademy вместе с cloud․ru провели вебинар, где разобрали реальные боли проектирования автономных систем. Вы просили запись встречи — она уже в открытом доступе!
Что внутри:
— критерии выбора между одним агентом и мультиагентной системой;
— разбор популярных архитектурных ошибок;
— реальные ограничения современных ИИ-агентов;
— практические рекомендации по проектированию агентных систем.
👉 Посмотреть запись можно тут:
● VK
● YouTube
❤3🥰2
Если используете кастомный <select> с иконками, цветными плашками или изображениями, не убирайте текст из <option>.
Текст нужен сразу по трём причинам:
Иконки и другие визуальные элементы должны дополнять текст, а не заменять его.
#readme #html #css #accessibility
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍2❤1🥰1
Попадёт ли ответ 404 в catch при использовании fetch()?
fetch() не считает HTTP-статусы 404, 500 и другие ошибками. Promise успешно выполнится, а в ответе придёт объект Response.
fetch("/api/users")
.then(response => {
console.log(response.status); // 404
console.log(response.ok); // false
})
.catch(() => {
console.log("Ошибка сети");
});
Чтобы обработать такие ответы как ошибки, нужно проверить response.ok:
const response = await fetch("/api/users");
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
fetch() попадает в catch только при сетевых ошибках или если запрос не удалось выполнить. Ответы 404 и 500 нужно обрабатывать через response.ok или response.status.
👍 — знал/а
🔥 — стало понятнее
#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍10🥰2
Как вы чаще всего открываете DevTools?
👍 — F12
❤️ — Горячими клавишами (Ctrl+Shift+I / ⌘⌥I)
🔥 — ПКМ → Inspect
📍 Навигация: [Вакансии]
🐸 Библиотека фронтендера
#code_battle
👍 — F12
❤️ — Горячими клавишами (Ctrl+Shift+I / ⌘⌥I)
🔥 — ПКМ → Inspect
#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👍34❤19🥰1
cursor: grab;
cursor: grabbing;
cursor: zoom-in;
cursor: not-allowed;
cursor: progress;
Эти значения помогают сделать интерфейс понятнее без дополнительного текста.
⚠️ Если используете url(), всегда указывайте запасной вариант:
cursor: url(cursor.png), pointer;
#readme
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
This media is not supported in your browser
VIEW IN TELEGRAM
Этот сайт полностью стилизован под старый CRT-монитор. Автор использовал Three.js, чтобы воспроизвести мерцание, геометрические искажения, цветовые аберрации и другие эффекты ЭЛТ-дисплея.
🔵 Внутри — полноценный интерфейс в стиле Windows 95 с браузером, резюме и мини-играми.
Хороший пример того, как WebGL может использоваться не только для 3D-сцен, но и для создания необычного пользовательского опыта.
#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍2😁2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😁1
Если в интерфейсе есть часы, таймер, счётчик или финансовые данные, числа могут «прыгать» при изменении. Причина — большинство шрифтов используют пропорциональную ширину символов.
Исправить это можно одной строкой:
font-variant-numeric: tabular-nums;
После этого все цифры занимают одинаковую ширину, поэтому значения перестают смещаться при обновлении.
Полезно для:
⏱️ часов и таймеров;
📈 дашбордов и аналитики;
💰 финансовых таблиц;
🏆 счётчиков и табло.
Свойство поддерживается всеми современными браузерами и не требует подключения дополнительных библиотек
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔6❤4👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Array.fill() не создаёт новые массивы. Если передать в него объект или массив, все элементы будут ссылаться на один и тот же экземпляр.
arr[0].push(1);
[[1], [1], [1]]
👍 — ответил(а) правильно
🔥 — узнал(а) что-то новое
#code_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍11🥰1🤔1
Lazy Loading — отложенная загрузка ресурсов, которая ускоряет стартовую загрузку страницы и экономит трафик, особенно на медленных сетях.
Почему важно:
— Быстрая загрузка видимого контента
— Меньшая нагрузка на сеть и сервер
— Плавная подгрузка контента при прокрутке
1. Используем атрибут loading="lazy" для изображений:
<img src="image.jpg" loading="lazy" alt="Описание" />
2. Применяем Intersection Observer для кастомных элементов:
const observer = new IntersectionObserver((entries, obs) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const el = entry.target;
el.src = el.dataset.src;
obs.unobserve(el);
}
});
});
document.querySelectorAll('img[data-src]').forEach(img => observer.observe(img));
3. Используем динамический импорт компонентов:
const LazyComp = React.lazy(() => import('./Component'));
<Suspense fallback="Загрузка..."><LazyComp /></Suspense>
const LazyComp = defineAsyncComponent(() => import('./Component.vue’));
4. Предварительная загружаем критичные изображения:
Используйте <link rel="preload"> для важных ресурсов.
5. Тестируем производительность:
Chrome DevTools и Lighthouse помогут оценить эффект.
#readme
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤩3❤1🥰1
Что такое Event Loop простыми словами?
Пока выполняется текущий код, асинхронные задачи (например, setTimeout, fetch или обработчики событий) ожидают своей очереди.
Когда стек вызовов становится пустым, Event Loop берёт следующую задачу из очереди и передаёт её на выполнение.
Event Loop следит за стеком вызовов и очередями задач, чтобы запускать асинхронный код только тогда, когда основной поток свободен.
👍 — знал/а
🔥 — стало понятнее
#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥7🥰1🤔1
🚀 Не уверены, стоит ли переходить на зрелую ИИ-инженерию? Начните с демо-урока!
Вот-вот стартует наш курс AgentOps. Если вы сомневаетесь в формате, просто оставьте заявку и получите бесплатный демо-урок «AI-инструменты в разработке: как писать код быстрее с помощью ассистентов».
Для тех, кто готов мощно прокачать портфолио, прямо сейчас действует предложение «3 любых курса по цене 1»:
👉 Получить демо-урок и зафиксировать спецпредложение 3 в 1
Вот-вот стартует наш курс AgentOps. Если вы сомневаетесь в формате, просто оставьте заявку и получите бесплатный демо-урок «AI-инструменты в разработке: как писать код быстрее с помощью ассистентов».
Для тех, кто готов мощно прокачать портфолио, прямо сейчас действует предложение «3 любых курса по цене 1»:
— При покупке VIP-тарифа (осталось 4 места) нового потока «ИИ-агенты» вы получаете в подарок доступ к курсу «AgentOps» + ещё один любой курс Академии на выбор
— В деньгах это два топовых курса по автоматизации и контролю ИИ всего за 134.000 ₽ вместо 263.000 ₽ 🔥 А за счет третьего курса (например, можно выбрать «Математику») вы соберете мощный стек и освоите целое востребованное направление.
— Платеж можно разбить на несколько частей с помощью беспроцентной рассрочки.
👉 Получить демо-урок и зафиксировать спецпредложение 3 в 1
🥰2❤1
Красивая раскладка карточек — это здорово. Но если внутри есть ссылки или кнопки, порядок перехода по Tab может оказаться совершенно неожиданным.
Разбираемся, в чём причина
#under_hood
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👏2🥰1🤔1