Ловите годноту «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
Сокровищница для разработчиков «GeeksforGeeks»
Образовательный ресурс где можно найти всё, что нужно для изучения программирования. Там куча полезных статей, задачек, гайдов и даже курсов от простого до очень сложного😍
☝️ Ссылка источник
✈️ Python Ninja
Образовательный ресурс где можно найти всё, что нужно для изучения программирования. Там куча полезных статей, задачек, гайдов и даже курсов от простого до очень сложного
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2
Знаете ли вы, что в Python можно создавать собственные итераторы
Всё, что нужно сделать это реализовать собственные методы iter и next. На картинке выше представлен пример
✈️ Python Ninja
Всё, что нужно сделать это реализовать собственные методы iter и next. На картинке выше представлен пример
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Python: классика vs лаконичность или как вы обычно группируете значения по ключам?
👇 Традиционный способ:
😘 А можно короче и элегантнее:
Результат в обоих случаях:
Лично я всё чаще ловлю себя на втором варианте меньше кода, меньше шума🙃
А вы какой используете: классический или «гениальный»?
✈️ Python Ninja
data = {}
items = [('a', 1), ('b', 2), ('a', 3)]
for key, value in items:
if key not in data:
data[key] = []
data[key].append(value)data = {}
for key, value in items:
data.setdefault(key, []).append(value)Результат в обоих случаях:
{'a': [1, 3], 'b': [2]}Лично я всё чаще ловлю себя на втором варианте меньше кода, меньше шума
А вы какой используете: классический или «гениальный»?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Как проверить, является ли строка печатаемой или нет в Python 🤯
✈️ Python Ninja
>>> "123".isprintable()
True
>>> "abc".isprintable()
True
>>> "\t\n".isprintable()
False
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2