Coding
248 subscribers
5.85K photos
1.47K videos
34 files
5.9K links
Статьи и ссылки с разных ресурсов, для начинающих программистов.
Download Telegram
🐙 Appwrite – бэкенд-сервер с открытым исходным кодом. Платформа позволяет хранить данные приложения и использовать аутентификацию, а также предоставляет удобное API.

Сайтодел | #репозиторий #github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔴 Завтра тестовое собеседование на Middle Python с разработчиком из Авито

Уже завтра вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.

Как это будет:
📂 Даня, старший разработчик в Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Дане

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot

Реклама.
О рекламодателе.
Element.replaceChildren() — полная замена содержимого элемента через DOM API!

Для полной замены содержимого элемента часто сначала очищают контейнер, а затем добавляют новые узлы либо используют innerHTML.
Для этой задачи DOM API предоставляет специализированный метод replaceChildren().

Очистить элемент можно одним вызовом:
const list = document.querySelector('.list');

list.replaceChildren();

Метод удаляет все дочерние узлы элемента независимо от их типа. Одновременно можно передать новое содержимое, которое заменит существующее:
const list = document.querySelector('.list');

const item = document.createElement('li');
item.textContent = 'JavaScript';

list.replaceChildren(item);

После вызова прежние дочерние узлы будут удалены, а переданный элемент станет единственным дочерним узлом контейнера. Метод принимает любое количество DOM-узлов:
const container = document.querySelector('.container');

const title = document.createElement('h2');
title.textContent = 'Статьи';

const description = document.createElement('p');
description.textContent = 'Последние публикации';

container.replaceChildren(title, description);

Также можно передавать строки:
container.replaceChildren('Загрузка...');

Они автоматически преобразуются в текстовые узлы. Если передать существующий DOM-узел, он будет не скопирован, а перемещён:
const card = document.querySelector('.card');
const sidebar = document.querySelector('.sidebar');

sidebar.replaceChildren(card);

Это соответствует общей модели DOM: один узел не может одновременно находиться в нескольких местах дерева. В отличие от innerHTML, метод не разбирает переданные строки как HTML-разметку:
container.replaceChildren('<strong>Text</strong>');

В контейнер будет добавлен обычный текст:
<strong>Text</strong>

Если требуется вставить HTML-разметку, можно использовать innerHTML или insertAdjacentHTML(), но только для доверенной либо предварительно санитизированной разметки. Более безопасный вариант — сформировать необходимое дерево DOM-узлов программно.

🔥 replaceChildren() определён в DOM Standard и позволяет заменить всё содержимое одним вызовом. Это делает намерение кода более явным и избавляет от необходимости отдельно очищать контейнер перед добавлением новых узлов.

📣 Code Ready | #практика
📚 RSS Daily Digest – 5 августа 2026

Только что проверил подписки. Вот интересные новости, появившиеся за последние 24 ч.

Hacker News

Eight Myths on Software Engineering and GenAIhttps://queue.acm.org/detail.cfm?id=3807963
Stateless MCP has recaptured my interesthttps://simonwillison.net/2026/Jul/31/stateless-mcp/
Pi’s Minimalism Is Its Advantagehttps://earendil.com/posts/pi-autoresearch-and-databricks/
The Golden Age of British Ice Creamhttps://www.vittlesmagazine.com/p/the-golden-age-of-british-ice-cream
Mistral’s Shieldstral: 3B open‑weights model for multimodal moderationhttps://mistral.ai/news/shieldstral/
Why is it all in the kernel?https://lawrencecpaulson.github.io//2026/07/30/Collatz.html
IP and DNS Leaks in WebKit Affecting Proxy Browsers and iCloud Private Relayhttps://mysk.blog/2026/08/04/webkit-proxy-icloud-private-relay-ip-leak/
Zigbee vs. Matter over Thread: Understanding IoT Protocol Performance in Practicehttps://arxiv.org/abs/2603.04221
Rio‑vt and librio: Rio’s terminal engine, now embeddablehttps://rioterm.com/blog/2026/07/27/rio-vt-and-librio
The sale of Electronic Arts has been finalizedhttps://www.bbc.com/news/articles/cjejyl34345o

───

Если нужны детали, фильтры по темам или иной формат — дайте знать!
💾 Password Generator – генератор надежных длинных паролей со специальными символами. Каждый вариант можно скопировать нажатием на иконку.

Сайтодел | #сниппет #css
🎨 Цветовая палитра макета "Performance Driven Gym"

HEX | RGB
#E9ECFF | rgb(233, 236, 255)
#808CFD | rgb(128, 140, 253)
#3C3E4C | rgb(60, 62, 76)

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

Сайтодел | #палитра
👨‍💻 Сохраняем ещё один полезный ресурс для разработчиков

Нашли @Hanza_chat - IT-комьюнити, где можно не только читать очередную подборку инструментов, но и нормально пообщаться с другими разработчиками.

А для больших разборов у ребят есть отдельный Hanza.io - форум с разделами.

Чат: @Hanza_chat
Форум: Hanza.io
👩‍💻 Можно ли одной строкой сбросить все CSS-свойства элемента?

Свойство all позволяет одновременно сбросить или переопределить почти все CSS-свойства элемента. Это удобно, когда нужно убрать влияние внешних стилей и начать оформление с чистого листа.

Основные значения:
initial — сбрасывает свойства к значениям по умолчанию;
inherit — наследует все свойства от родителя;
unset — сочетает initial и inherit в зависимости от свойства;
revert — возвращает стили, заданные браузером или пользовательскими стилями.

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

📣 Code Ready | #свойство
✍️ Digital 7 Mono – ретро-шрифт с прямоугольными формами, созданный в стиле старых дисплеев. Пример можно увидеть в сниппете Metal Gear Radar States

Сайтодел | #шрифт
🎨 Цветовая палитра макета "Social Factory"

HEX | RGB
#FEFBF6 | rgb(254, 251, 246)
#FE0000 | rgb(254, 0, 0)
#5C1B15 | rgb(92, 27, 21)

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

Сайтодел | #палитра
💾 Made With CSS – анимированное кольцо с текстом. Так как оно вращается против часовой стрелки, слова легко считываются справа налево.

Сайтодел | #сниппет #css
URL.canParse() — нативная проверка URL без try...catch!

При работе с пользовательскими данными часто требуется проверить, может ли строка быть разобрана как URL. Распространённый подход — использовать конструктор URL внутри try...catch, поскольку при некорректной строке он выбрасывает исключение:
try {
new URL(value);
} catch {
console.log('Не удалось разобрать URL');
}

Современный Web API предоставляет более удобный способ — статический метод URL.canParse(). Он проверяет, может ли строка быть разобрана по алгоритму URL Standard, и возвращает true или false без использования try...catch:
URL.canParse('https://example.com');
// true

URL.canParse('not-a-url');
// false

Для относительных адресов необходимо передать базовый URL:
URL.canParse('/users/1', 'https://example.com');
// true

Без базового URL такой вызов вернёт false, поскольку относительный адрес невозможно разрешить без контекста.

Если нужен только результат проверки, URL.canParse() — оптимальный выбор. Если после проверки требуется объект URL, удобнее сразу использовать URL.parse(), чтобы не выполнять разбор дважды:
const url = URL.parse(value);

if (url) {
console.log(url.hostname);
}

URL.parse() возвращает объект URL при успешном разборе и null при ошибке. Например, для проверки пользовательского ввода:
const input = document.querySelector('input');

if (!URL.canParse(input.value)) {
input.setCustomValidity('Введите абсолютный URL');
} else {
input.setCustomValidity('');
}

Если приложение допускает относительные адреса, передайте document.baseURI вторым аргументом. Важно понимать, что URL.canParse() проверяет только возможность разбора строки. Метод не проверяет существование ресурса, доступность сервера, допустимость протокола для приложения или безопасность адреса.

Например, URL с протоколом javascript: или data: может успешно пройти проверку. Если приложение принимает только HTTPS, протокол необходимо проверить отдельно:
const url = URL.parse(value);

if (url?.protocol === 'https:') {
// дальнейшая обработка
}

Перед выполнением запроса удобно сразу получить объект URL:
const url = URL.parse(apiUrl, document.baseURI);

if (!url || !['http:', 'https:'].includes(url.protocol)) {
throw new Error('Недопустимый адрес API');
}

await fetch(url);

document.baseURI учитывает базовый адрес документа, включая значение элемента <base>. Проверка протокола также не защищает от SSRF, поэтому на сервере необходима дополнительная валидация адресов.

🔥 URL.canParse() подходит для случаев, когда нужна только проверка возможности разбора URL, а URL.parse() — когда требуется сразу получить объект URL. При использовании этих методов в проектах с поддержкой старых браузеров и устаревших WebView следует учитывать совместимость.

📣 Code Ready | #практика
🔴В 2025 году Россияне заработали 5,3 млрд рублей на арбитраже криптовалют

По данным Минфин 32% граждан покинули своё место работы, поскольку в среднем уже в первый месяц тут можно зарабатывать от 140 000 рублей, а через 2-3 месяца с легкостью выйти на семизначные числа.

Самое смешное, что лишь 8% россиян что-то слышали об этой профессии, хотя все инструкции бесплатно лежат на канале Арбитраж Криптовалют

Там объясняют, как имея телефон и доступ в интернет, заработать свои первые $2000. Причём разжёвывают так доступно, что поймёт даже ребенок. Кстати, на канале сегодня вышла новая рабочая связка!

Быстрее вступайте, пока это бесплатноhttps://t.me/+U-f4ZwrEo-pmZGYy
🖥 Weather Glitch App – необычный дизайн мобильного приложения для погоды. Его основа – произвольные линии из текста и иконок, геометрические фигуры и цветные блики.

Сайтодел | #макет #figma
💾 Card Swipe Carousel – стопка карточек, которые нужно перетаскивать вправо и влево. От простого нажатия карточка остается на месте.

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

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

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

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

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔥 Мини-приложения с иконкой в трее — на Python? Легко!

Pystray — библиотека, которая превращает твой скрипт в настоящее десктоп-приложение с иконкой рядом с часами.

👨‍💻 Что умеет Pystray:

🟢Создаёт фоновое приложение без окон и GUI
🟢Добавляет иконку в системный трей — как у VPN, антивирусов и Telegram.
🟢Работает на Windows, macOS и Linux.
🟢Идеально для трекеров, бэкапов, Telegram-ботов, утилит и напоминалок.
🟢Простой API — минимум кода, максимум пользы.

⚙️ Простая установка:

pip install pystray

📚 Документация/Примеры кода

Используй Pystray, чтобы твои скрипты выглядели как настоящие нативные приложения.

И никаких окон. Только стиль и функциональность.

#python #soft #code #github
🤨 Ученые предложили постепенно сократить население Земли почти вдвое — до 4 миллиардов человек к 2200 году.

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

С добрым утром 🌟
Вышла интересная статья на Хабре: «TAMA-90: тамагочи из 90-х своими руками на JavaScript»!

В этой статье:
• Показывается, как создать современную версию тамагочи на чистом JavaScript без фреймворков и сторонних библиотек;
• Разбирается архитектура проекта, работа с Canvas, localStorage, игровой логикой, случайными событиями и мини-играми;
• Объясняется, как программно рисовать пиксельных питомцев, организовать сохранения, коллекцию персонажей и систему развития без готовых спрайтов.

🔊 Продолжайте читать на Habr!

📣 Code Ready | #статья
🐙 Text Extract API – инструмент для преобразования картинок, pdf-файлов и других документов в формат Markdown или JSON. Работает с табличными данными, числами и математическими формулами, использует FastAPI.

Сайтодел | #репозиторий #github