This media is not supported in your browser
VIEW IN TELEGRAM
Это мощный инструмент, который сочетает в себе простоту grep и глубину семантического анализа: позволяет делать поиск уязвимостей, антипаттернов и недокументированных API в коде на более чем 30 языках.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17🔥12👍8
Безопасное извлечение значений из словаря!
Когда работаешь с API или нестабильными данными, прямой доступ к словарю
Начнём с базового случая —
Теперь обернём это поведение в универсальную функцию по вложенному доступу:
Используем функцию с путём до нужного ключа:
🔥 Если чего-то нет — не падаем, а получаем
👉 Python Ready | #практика
Когда работаешь с API или нестабильными данными, прямой доступ к словарю
(dict['key'])
может вызвать KeyError
. Пишем функцию, которая умеет доставать значения безопасно и гибко.Начнём с базового случая —
.get()
:data = {"user": {"name": "Alice"}}
name = data.get("user", {}).get("name")
Теперь обернём это поведение в универсальную функцию по вложенному доступу:
def deep_get(d, path):
for key in path:
d = d.get(key, {})
return d
Используем функцию с путём до нужного ключа:
name = deep_get(data, ["user", "name"])
print(name) # Alice
🔥 Если чего-то нет — не падаем, а получаем
None
. Идеально для API, где структура может меняться.Please open Telegram to view this post
VIEW IN TELEGRAM
❤26🔥19🤝11👍1
В этом гайде создадим утилиту, которая переименует все нужные файлы по-человечески: уберёт мусор из имён, задаст структуру, пронумерует — и всё это в 10 строк кода.
В посте рассмотрим:
• Фильтрацию по расширению — переименовываем только нужные типы файлов.
• Очистку имён — избавляемся от “v2”, “копия”, “final” и пробелов.
• Форматирование — задаём шаблон имён с нумерацией (document_001.pdf).
Это отличный мини-скрипт для всех, кто работает с загрузками, фото, заказами и хочет, чтобы папки были в порядке без ручной рутины.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29❤18👍5😁1
Каждый уровень играет важную роль: от физической передачи сигналов до приложений, с которыми мы взаимодействуем каждый день. Понимание этой модели помогает лучше разбираться в сетевых ошибках, маршрутизации и защите данных.
На картинке — 7 уровней OSI, что делает каждый из них и примеры протоколов.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18🔥14🤝6
Полезные инструменты для работы с очередями, стеками, множества и бинарными данными. Эти структуры помогут писать код компактнее, эффективнее и безопаснее в многопоточном окружении.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25❤20👍10🤝3
Удаляем дубликаты, но сохраняем порядок!
Когда обрабатываешь списки из внешних источников (например, e-mail'ы, id-шники, URL'ы) — дубликаты надо убрать, но порядок важен. Просто
Используем
Теперь
Оборачиваем в функцию для переиспользования:
Можно применить к любым последовательностям:
🔥 Получается просто, нативно и эффективно — без
👉 Python Ready | #практика
Когда обрабатываешь списки из внешних источников (например, e-mail'ы, id-шники, URL'ы) — дубликаты надо убрать, но порядок важен. Просто
set()
не подойдёт — он всё перемешает.Используем
dict.fromkeys()
— он сохраняет порядок с Python 3.7+items = ["a", "b", "a", "c", "b"]
unique = list(dict.fromkeys(items))
Теперь
unique
будет ['a', 'b', 'c']
— в том же порядке, что в исходном списке.Оборачиваем в функцию для переиспользования:
def remove_duplicates(seq):
return list(dict.fromkeys(seq))
Можно применить к любым последовательностям:
emails = ["[email protected]", "[email protected]", "[email protected]"]
print(remove_duplicates(emails))
🔥 Получается просто, нативно и эффективно — без
set()
и сортировок.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35👍12❤11🤝1
По логам с временными метками определяем, в какой час на сервер приходилось больше всего запросов.
В этой задаче:
• Работаем с JSON — достаём timestamp из словаря
• Используем strptime — преобразуем строку в datetime
• defaultdict — считаем количество запросов по каждому часу
Задача из практики нагрузочного анализа и системного логирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28❤12👍8🤝3