Coding
248 subscribers
5.86K photos
1.47K videos
34 files
5.9K links
Статьи и ссылки с разных ресурсов, для начинающих программистов.
Download Telegram
🚬 Жиза... Тред, который поймут только миллениалы
HTMLImageElement.decode() — подготовка изображения до появления в DOM!

При динамической подстановке изображений часто возникает ситуация, когда элемент уже добавлен в DOM, но браузер ещё не завершил декодирование изображения. В результате пользователь может увидеть пустую область, задержку появления контента или заметное изменение содержимого после завершения подготовки картинки.

Для таких случаев существует метод decode(), который позволяет дождаться момента, когда изображение будет декодировано браузером и готово к безопасному отображению. Создадим объект изображения:
const image = new Image();

image.src = '/images/photo.jpg';

await image.decode();

После установки src браузер начинает загрузку ресурса. Метод decode() не является механизмом загрузки изображения — он ожидает завершения загрузки и последующего декодирования, чтобы браузер не выполнял эту работу непосредственно в момент первого отображения.

После успешного выполнения Promise изображение можно добавлять в DOM:
const image = new Image();

image.src = '/images/photo.jpg';

await image.decode();

document.body.append(image);

В таком случае браузеру не требуется выполнять декодирование в момент первого отображения элемента, что помогает избежать визуальных скачков при динамическом обновлении интерфейса.

Метод особенно полезен при динамической замене изображений:
const preview = document.querySelector('.preview');

const nextImage = new Image();

nextImage.src = '/images/next.jpg';

await nextImage.decode();

preview.replaceWith(nextImage);

Новая картинка будет установлена только после подготовки браузером, поэтому замена происходит без промежуточного состояния, связанного с декодированием изображения.

Важно учитывать разницу между загрузкой и декодированием. Событие load сообщает о завершении загрузки ресурса, а decode() отвечает за готовность изображения к отображению без дополнительной подготовки в момент рендера. Например:
image.onload = () => {
console.log('Изображение загружено');
};

await image.decode();

Эти механизмы решают разные задачи и могут использоваться вместе в зависимости от требований интерфейса.

При ошибке загрузки или невозможности декодировать изображение Promise будет отклонён:
try {
await image.decode();
} catch (error) {
console.error('Не удалось подготовить изображение', error);
}

Важно учитывать, что decode() не решает проблему layout shift (CLS), если размеры изображения заранее неизвестны. Для предотвращения скачков интерфейса рекомендуется задавать размеры через width / height или использовать aspect-ratio. Например:
<img src="/images/photo.jpg" width="800" height="600">

decode() широко применяется в современных веб-интерфейсах: галереях, слайдерах, редакторах изображений и компонентах с динамическим обновлением контента, где важно контролировать момент появления изображения.

🔥 HTMLImageElement.decode() позволяет синхронизировать отображение изображения с процессом его подготовки браузером и избежать визуальных артефактов при динамическом обновлении DOM.

📣 Code Ready | #практика
Дедлайны горят, а твои глаза уже нет. Что делать, если ты за#бался и хочется просто залипать в телефоне?

И вроде понимаешь, что НАДО, но от этого еще больше сопротивление.

Если близкие думают, что ты зажрался, а тебе и самому от себя уже тошно, но как себя взбодрить – непонятно, советую посмотреть вот что: https://t.me/Manifestans

Ты 100% себя узнаешь, а значит 100% получишь пользу от того, что там увидишь!

Если ты еще не собрал пожитки и не ушел отшельником в лес – есть шанс тебя оживить и вернуть эмоции и интерес к жизни.

Кликай сюда и начинай приходить в себя.
Добавляем дополнительную информацию с помощью тега <small>!

Тег <small> используется для отображения второстепенного текста, который имеет меньшее значение по сравнению с основным содержимым. Он подходит для информации, которая полезна пользователю, но не является частью основного сообщения.

Для чего <small> подойдёт идеально:
пояснения;
комментарии;
дисклеймеры;
предостережения;
копирайт;
информация о лицензии;
прочая правовая информация.

Важно: <small> имеет семантическое значение, а не просто уменьшает размер текста. Для изменения визуального размера обычного текста лучше использовать CSS.

📣 Code Ready | #атрибут
💾 Services Section – карточки с выдвигающимся фоном и композицией из четырех картинок-сегментов. В активном состоянии цвет текста становится ярче.

Сайтодел | #сниппет #css
🖥 Health Analytics App – дизайн для мобильного приложения с аналитикой здоровья. Основные черты – выдержанный стиль, насыщенные холодные тона, контрасты и отсутствие скругленных углов.

Сайтодел | #макет #figma
Please open Telegram to view this post
VIEW IN TELEGRAM
💀 Пароль, который удаляет всё содержимое смартфона

В США впервые возбудили уголовное дело из-за функции самоуничтожения смартфона.

Чувак вместо пароля назвал агентам специальный код GrapheneOS — телефон мгновенно стер все данные вместе с eSIM, оставив силовиков ни с чем.

Теперь мужчину обвиняют в уничтожении доказательств и воспрепятствовании законному изъятию имущества. Максимальное наказание — до 5 лет тюрьмы.

При этом защита утверждает, что ордера на обыск не было, а просьбы вызвать адвоката проигнорировали.

Стартаперы, ловите идею для приложения 😎
RSS дайджест за 31 июля готов и сохранён в data/digest-2026-07-31.md.

🤖 RSS Дайджест — 31 июля 2026

───

🤖 AI/LLM

Anthropic: ИИ-модели взломали 3 компании — во время security tests
Minimax-H3: видеомодель вышла, open weights скоро
LG AI Research: K-EXAONE 2.0 750B — корейская модель
Inkling-Small-276B-12B — новая модель от thinkingmachines
Бенчмарки не работают?

🤖 Robotics

Gemini Robotics 2 — Google DeepMind

🛠 Tech

Stacked PRs теперь в GitHub
Google: AI исправила в Chrome больше багов за июнь, чем за 2 года
Krebs: Don't buy that TV streaming stick

🍎 Apple

Apple: значительные supply constraints
Gaming slowdown и App Store ударили по services
Reddit: solid quarter, но AI давит

───

Источники: TechCrunch, HN, r/LocalLLaMA
💾 CSS Single Element Goey Spinner – лоадер из "жидких" капель, которые перетекают друг в друга по направлению движения. Лучше всего будет выглядеть на белом фоне.

Сайтодел | #сниппет #css
🎨 Цветовая палитра макета "Restaurant Reversion App"

HEX | RGB
#EDEDE5 | rgb(237, 237, 229)
#F27BF1 | rgb(242, 123, 241)
#8D8CF4 | rgb(141, 140, 244)

⚠️ Цвет копируется одним кликом!

Сайтодел | #палитра
🐙 Phaser – фреймворк с открытым исходным кодом для создания браузерных игр. Визуализация основана на Canvas и WebGL, а рендеринг – на Pixi.js.

Сайтодел | #репозиторий #github
This media is not supported in your browser
VIEW IN TELEGRAM
💾 Seamless SVG Text – изображение в формате SVG, которое движется по кругу. Здесь сделан плавный переход между правой и левой частями окружности.

Сайтодел | #сниппет #css
⌨️ Оживляем код: первые шаги в ООП на Python

Приглашаем на открытый урок.

🗓 03 августа в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Pyhon-разработчик».

На занятии вы узнаете:
✔️ Что такое класс и объект, и зачем они нужны.
✔️ Как создавать свои типы данных с атрибутами и методами.
✔️ Как объединять данные и логику внутри класса.
✔️ Как применить ООП на простом практическом примере.

🔗 Ссылка на регистрацию: https://otus.pw/r7ks/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
😎 И-инвестиции наглядно

С добрым утром, пятница!
Code Ready | Frontend pinned «Всем привет ⠀ Запускаем этот канал, в котором будем делиться ссылками на готовый код для вашего сайта. Этот код будет написан на HTML, CSS или JavaScript. ⠀ Время от времени здесь будет появляться новый код на разные потребности! Мы - ваша готовая библиотека)...»
Code Ready | Frontend pinned a video
This media is not supported in your browser
VIEW IN TELEGRAM
👨‍💻 FrontendBase — база знаний по фронтенд-разработке!

На сайте собраны подробные статьи по фронтенду: HTML, CSS, JavaScript, TypeScript, React, Vue и другим технологиям. Можно найти разборы популярных методов, примеры кода, объяснения сложных тем и решения типичных ошибок, с которыми сталкиваются разработчики.

📌 Оставляю ссылочку: frontendbase.ru

📣 Code Ready | #сайт
🖥 Data Visualization – дизайн элементов инфографики в ярких, но глубоких тонах. Графики и диаграммы особенно стильно смотрятся на темном фоне.

Сайтодел | #макет #figma
This media is not supported in your browser
VIEW IN TELEGRAM
💾 Expanding Card Page – карточки с многослойным эффектом. При нажатии каждая карточка раскрывается с увеличенной картинкой и блоком текста.

Сайтодел | #сниппет #css
😱 Настоящий клад! 500+ готовых ИИ-проектов в одном месте! Просто бери код и запускай.

Внутри огромная коллекция рабочих AI-агентов:

💬 чат-боты,
💬 автоматизация,
💬 анализ данных,
💬 трейдинг,
💬 генерация контента,
💬 поиск информации,
💬 ассистенты и десятки других решений.

⚙️ Установка:
git clone https://github.com/ashishpatel26/500-AI-Agents-Projects.git
cd 500-AI-Agents-Projects

▶️ Запуск любого агента из agents/ directory:
cd agents/01-web-research-agent
pip install -r requirements.txt
cp .env.example .env
python agent.py

Каждый проект уже с исходниками!

⭐️ Забираем в закладки

😳 Лайф | 📲 Зеркало Max

#soft #нейросеть #github