Coding
248 subscribers
5.86K photos
1.47K videos
34 files
5.9K links
Статьи и ссылки с разных ресурсов, для начинающих программистов.
Download Telegram
🎮 Awesome Python Games — репозиторий с готовыми играми на Python.
🎮 Awesome Python Games — репозиторий с готовыми играми на Python.

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

Внутри:
🟢 классические аркады и головоломки;
💣 платформеры, стратегии и логические игры;
👨‍💻 проекты на Pygame, Tkinter, CodeSkulptor и других инструментах;
🖥 примеры объектно-ориентированного программирования;
🔥 работу с анимацией, событиями, физикой, графикой и игровыми циклами;
🧠 идеи, которые можно доработать и превратить в собственную игру.

👇 Готовый код в репозитории.

#python #soft #code
🤨 Юзеры пишут, что Telegram исчез из App Store во всех регионах. Если перейти по официальной ссылке выдает ошибку.

Причины пока хз.

🛏 Так себе утро...

Up
В европейском появился;

Up
В РУ тоже.

Выдыхаем. Те, кто спал не заметят тряски 😎
🔴 Тестовое собеседование с ТимЛидом Frontend-разработки в этот четверг

6 августа(в четверг!) в 19:00 по мск
приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Frontend-разработчика.

Как это будет:
📂 Алексей Романов, Teamlead в Underhood.dev с опытом 6+ лет, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Алексей будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Алексею

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

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

Реклама.
О рекламодателе.
👩‍💻 Создаём списки терминов с помощью <dl>, <dt> и <dd>!

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

Каждый тег выполняет свою роль:
• <dl> — контейнер для всего списка.
• <dt> — термин или название.
• <dd> — описание или значение термина.

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

📣 Code Ready | #атрибут
🐙 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