Code Ukraine // Програмування
Корисні шпаргалки, лекції та матеріали для програмістів. Співпраця - @Ekater1na_admin Посилання: https://t.me/+ummU63Z9Tn8yOGJi
Show more📈 Analytical overview of Telegram channel Code Ukraine // Програмування
Channel Code Ukraine // Програмування in the Ukrainian language segment is an active participant. Currently, the community unites 15 268 subscribers, ranking 8 230 in the Technologies & Applications category and 3 985 in the Ukraine region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 15 268 subscribers.
According to the latest data from 04 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -165 over the last 30 days and by -8 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 12.83%. Within the first 24 hours after publication, content typically collects 6.23% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 959 views. Within the first day, a publication typically gains 951 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 9.
- Thematic interests: Content is focused on key topics such as github, linux, claude, розробка, api.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Корисні шпаргалки, лекції та матеріали для програмістів.
Співпраця - @Ekater1na_admin
Посилання: https://t.me/+ummU63Z9Tn8yOGJi”
Thanks to the high frequency of updates (latest data received on 05 September, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
dict — доступ за ключем
• працює як list — доступ за індексом
• зберігає порядок вставки
• підтримує .index(key) та .key_at(i)
📌 Завдання: Реалізуй клас IndexedDict, який робить усе це.
⚠️ Підводний камінь:
• Просто наслідувати dict не вийде — d[0] буде інтерпретуватися як ключ, а не індекс
• Прийдеться реалізувати подвійну логіку доступу вручну
• Потрібно коректно підтримати __iter__, __getitem__, __len__ та інші.
✅ Рішення:
```python from collections.abc import MutableMapping class IndexedDict(MutableMapping): def __init__(self): self._data = {} self._keys = [] def __getitem__(self, key): if isinstance(key, int): real_key = self._keys[key] return self._data[real_key] return self._data[key] def __setitem__(self, key, value): if key not in self._data: self._keys.append(key) self._data[key] = value def __delitem__(self, key): if key in self._data: self._keys.remove(key) del self._data[key] def __iter__(self): return iter(self._keys) def __len__(self): return len(self._data) def index(self, key): return self._keys.index(key) def key_at(self, idx): return self._keys[idx] ```📈 Навіщо це потрібно: • Відмінне тренування з перевизначення магічних методів • Часто зустрічається у фреймворках (Pandas, SQLAlchemy) • Тестує знання ABC-класів (
collections.abc.MutableMapping)
• Корисно для побудови кастомних структур даних
Хочете версію з __contains__, __reversed__, типізацією та серіалізацією — пишіть 💬
Code UkraineЛюдство перемогло (поки що!) Я виснажений до межі. За останні 3 дні я проспав всього 10 годин — ледве живий. (Для ясності: це поки що попередні результати, але відрив повинен бути досить великим.)Psyho реально псіх ☠️ Code Ukraine
pathlib можна отримати доступ до різних частин шляху, таких як ім'я файлу, розширення та батьківський каталог. Це спрощує обробку та аналіз шляхів до файлів
> Ім'я файлу з розширенням:
>>> path.name 'test.md'> Ім'я файлу без розширення:
>>> path.stem “test”> Розширення файлу:
>>> path.suffix “.md”> Батьківський каталог:
>>> path.parent PosixPath(“C:/Users”)Code Ukraine
async/await вирішує цю проблему. Це синтаксис, який дозволяє писати асинхронний код у звичній покроковій формі, але під капотом він залишається неблокуючим.
Як це працює
Щоб використовувати async/await, достатньо оголосити функцію з ключовим словом async. Це означає, що вона завжди поверне промис. Усередині такої функції можна застосовувати await, щоб дочекатися завершення промису перед виконанням наступної інструкції.
Приклад:
async function fetchData() {
const response = await fetch(“/data.json”);
const data = await response.json();
console.log(data);
}
Такий код легко читати і підтримувати — він йде по кроках і не містить вкладених .then() і .catch().
Переваги в порівнянні з колбеками і промисами:
— Немає вкладених функцій і «пірамід пекла» з колбеків.
— Помилки можна обробляти звичним try/catch, як у синхронному коді.
— Логіка програми залишається лінійною і передбачуваною.
Коллбеки і проміси як і раніше працюють і підходять для деяких випадків, але async/await значно полегшує написання і підтримку асинхронного коду.
Якщо ви все ще використовуєте ланцюжки .then() або довгі колбеки — спробуйте переписати їх з async/await. Код стане чистішим, а помилки — легше виявляти.
Code Ukraines.remove(4) видає KeyError, якщо елемента немає
> s.discard(4) просто мовчить і продовжує роботу далі
Обидва методи видаляють елементи, але поводяться по-різному при відсутності значення.
remove() — суворо, discard() — спокійно
Такий підхід допомагає гнучко керувати логікою залежно від ситуації:
> потрібно жорстко контролювати наявність елемента — використовуй remove()
> хочеш без зайвих винятків — discard() на допомогу
Code Ukraine