🏆4
Forwarded from Python Ninja | Программирование
Совет по Python
Не преобразовывай итераторы в списки только ради срезов. Это тратит память и время впустую😬
Вместо этого используй💪
✈ Python Ninja
Не преобразовывай итераторы в списки только ради срезов. Это тратит память и время впустую
Вместо этого используй
islice из модуля itertools — результат тот же, но без лишних затрат from itertools import islice
# Плохо: загружает всё в память
data = list(big_file_iter)
first_10 = data[:10]
# Хорошо: берёт только первые 10 элементов
first_10 = list(islice(big_file_iter, 10))
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Подвох с параметрами по умолчанию в Python
Почему так?
➡️ Важно помнить: значения по умолчанию создаются при определении функции, а не при каждом вызове.
Поэтому если использовать изменяемый объект (например, список), он будет один и тот же для всех вызовов.
✅ Правильный способ:
Теперь всё будет как ожидается💡
✈ Python Ninja
def add(item, items=[]):
items.append(item)
return items
add("apple") # ['apple']
add("banana") # ['apple', 'banana']
Почему так?
Поэтому если использовать изменяемый объект (например, список), он будет один и тот же для всех вызовов.
def add(item, items=None):
if items is None:
items = []
items.append(item)
return items
Теперь всё будет как ожидается
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Хочешь ворваться в мир кибербеза лови подгон «90DaysOfCyberSecurity»
Твой личный план прокачки на 90 дней направленный на развитие ключевых навыков в области кибербезопасности. Каждый день новые темы от сетевых основ до анализа вредоносного ПО и пентеста
Всё удобно сделано: задания, готовые ресурсы и советы по изучению
Ставь лайк и стартуй❤️
☝️ Ссылка источник
✈ Python Ninja
Твой личный план прокачки на 90 дней направленный на развитие ключевых навыков в области кибербезопасности. Каждый день новые темы от сетевых основ до анализа вредоносного ПО и пентеста
Всё удобно сделано: задания, готовые ресурсы и советы по изучению
Ставь лайк и стартуй
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Ловите годноту «VulnHub» платформа для практики реальных атак в безопасной среде
Бесплатная библиотека преднамеренно уязвимых виртуальных машин («boxes»), которые можно скачать и запустить в VirtualBox/VMware, чтобы отрабатывать сканирование, эксплуатацию и эскалацию привилегий в контролируемой лаборатории
Идеально подходит для обучения, подготовки к CTF и оценки практических навыков специалистов по кибербезопасности😎
☝️ Ссылка источник
✈ Python Ninja
Бесплатная библиотека преднамеренно уязвимых виртуальных машин («boxes»), которые можно скачать и запустить в VirtualBox/VMware, чтобы отрабатывать сканирование, эксплуатацию и эскалацию привилегий в контролируемой лаборатории
Идеально подходит для обучения, подготовки к CTF и оценки практических навыков специалистов по кибербезопасности
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Хочешь понять Kubernetes глубже
Попробуй этот подход. Есть серия гайдов, где кластер Kubernetes собирается буквально вручную. В этой части настройка worker-нод и всех необходимых компонентов
Такой формат помогает не просто пользоваться Kubernetes, а реально понять, как он устроен внутри🏴☠
☝ Ссылка источник
✈ Python Ninja
Попробуй этот подход. Есть серия гайдов, где кластер Kubernetes собирается буквально вручную. В этой части настройка worker-нод и всех необходимых компонентов
Такой формат помогает не просто пользоваться Kubernetes, а реально понять, как он устроен внутри
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🎉2
Халява для аналитиков: бесплатные курсы по «Data Science» от Kaggle Learn
Бесплатные курсы по анализу данных, машинному обучению, Python, SQL и другим инструментам data science. Построены по принципу: «минимум теории — максимум кода»
Все задания выполняются в Jupyter ноутбуках прямо в браузере и есть система автоматической проверки👍
☝️ Ссылка источник
✈️ Python Ninja
Бесплатные курсы по анализу данных, машинному обучению, Python, SQL и другим инструментам data science. Построены по принципу: «минимум теории — максимум кода»
Все задания выполняются в Jupyter ноутбуках прямо в браузере и есть система автоматической проверки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Совет по Python: не глушите все ошибки
Ловить все исключения подряд это как пить обезболивающее, не сходив к врачу. Боль ушла но причина осталась.
Если этот сигнал заглушить, проблема никуда не денется просто вы о ней не узнаете, пока всё не бахнет в проде❓
Тихая катастрофа:
Так делать плохо: ошибка была, но вы её скрыли. Нет логов, нет уведомлений, нет понимания, что вообще произошло🔔
Обрабатываем то, что понимаем:
Все остальные исключения лучше не ловить без надобности. Пусть они “всплывут”, попадут в APM/логирование и уведомят команду — так вы хотя бы узнаете, что что-то сломалось🧠
✈️ Python Ninja
Ловить все исключения подряд это как пить обезболивающее, не сходив к врачу. Боль ушла но причина осталась.
🔄 Боль → сигнал, что что-то не так (например, сидишь на горячей плите).🔄 Исключение → сигнал, что в коде что-то сломалось.
Если этот сигнал заглушить, проблема никуда не денется просто вы о ней не узнаете, пока всё не бахнет в проде
Тихая катастрофа:
try:
process_payment()
except Exception:
# Был ли пользователь реально списан?
# Получил ли он доступ к платным функциям?
# Упала ли база данных? Кто знает!
pass
Так делать плохо: ошибка была, но вы её скрыли. Нет логов, нет уведомлений, нет понимания, что вообще произошло
Обрабатываем то, что понимаем:
try:
process_payment()
except PaymentError as e:
# Ошибка при оплате — обрабатываем
logger.error(f"Ошибка оплаты: {e}")
# Остальные исключения будут переданы для уведомления команды
Все остальные исключения лучше не ловить без надобности. Пусть они “всплывут”, попадут в APM/логирование и уведомят команду — так вы хотя бы узнаете, что что-то сломалось
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝3
Деплой через таро теперь официально
Есть сервис, который предлагает предсказывать исход деплоя с помощью карт. Да, звучит как шутка и это она и есть
Но если честно, иногда такие предсказания выглядят не менее точными, чем реальные прогнозы🔞
☝️ Ссылка источник
✈️ Python Ninja
Есть сервис, который предлагает предсказывать исход деплоя с помощью карт. Да, звучит как шутка и это она и есть
Но если честно, иногда такие предсказания выглядят не менее точными, чем реальные прогнозы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Объединение словарей в Python
Иногда нужно объединить два словаря в один. Вот два простых способа, как это можно сделать👇
Method 1 — оператор
Method 2 — оператор распаковки
📝 Оба способа работают одинаково — создают новый словарь, объединяя пары ключ–значение. Метод с | появился в Python 3.9, а способ с ** подходит и для более ранних версий
✈️ Python Ninja
Иногда нужно объединить два словаря в один. Вот два простых способа, как это можно сделать
Method 1 — оператор
|# Используем оператор объединения ( | ).
names_dict = {"kelly": 23,"Derick": 14, "John": 7}
another_names_dict = {"Ravi": 45, "Mpho": 67}
combined_dict = names_dict | another_names_dict
print(combined_dict)
Вывод:
{'kelly': 23, 'Derick': 14, 'John': 7, 'Ravi': 45, 'Mpho': 67}
Method 2 — оператор распаковки
**# Используем оператор распаковки ( ** )
names_dict = {"kelly": 23,"Derick": 14, "John": 7}
another_names_dict = {"Ravi": 45, "Mpho": 67}
combined_dict = {**names_dict, **another_names_dict}
print(combined_dict)
Вывод:
{'kelly': 23, 'Derick': 14, 'John': 7, 'Ravi': 45, 'Mpho': 67}
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Хабр торт принес увлекательную статью разбор уязвимости в ядре Linux
В свежем разборе автор шаг за шагом исследует CVE-2024-50264 — хитрую race condition в подсистеме AF_VSOCK, демонстрируя, как на тестовой площадке kernel-hack-drill выстраивался концепт-эксплойта, с тонкими пояснениями по use-after-free, null-deref и работе kworker
Отличный материал для тех, кто хочет понять реальные механики escalation of privileges и методы защитных проверок👀
☝ Ссылка источник
✈️ Python Ninja
В свежем разборе автор шаг за шагом исследует CVE-2024-50264 — хитрую race condition в подсистеме AF_VSOCK, демонстрируя, как на тестовой площадке kernel-hack-drill выстраивался концепт-эксплойта, с тонкими пояснениями по use-after-free, null-deref и работе kworker
Отличный материал для тех, кто хочет понять реальные механики escalation of privileges и методы защитных проверок
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Принес вам интересную игрушку «CyberOps Terminal»
Это бесплатная браузерная игра где нужно печатать команды так, будто вы настоящий хакер из фильмов. Ошибся — система поднимает тревогу, печатаешь быстро и точно — выигрываешь
Отличный способ разогнать пальцы и посоревноваться с коллегами по работе😎
☝️ Ссылка источник
✈️ Python Ninja
Это бесплатная браузерная игра где нужно печатать команды так, будто вы настоящий хакер из фильмов. Ошибся — система поднимает тревогу, печатаешь быстро и точно — выигрываешь
Отличный способ разогнать пальцы и посоревноваться с коллегами по работе
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2