Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🏆2
Откопал две мощные платформы для практического обучения «Play with Docker и Play with Kubernetes»
Play with Docker предоставляет интерактивную среду для запуска контейнеров и работы с сетями. Пользователь получает 4-часовую сессию и до пяти виртуальных машин. Плюсом идёт обучение с заданиями и теорией
Play with Kubernetes позволяет развернуть кластер Kubernetes, добавлять узлы и тестировать манифесты. Сессия ограничена 4 часами. Здесь также доступен мини-курс с подробными пошаговыми инструкциями🏴☠️
✈️ Python Ninja
Play with Docker предоставляет интерактивную среду для запуска контейнеров и работы с сетями. Пользователь получает 4-часовую сессию и до пяти виртуальных машин. Плюсом идёт обучение с заданиями и теорией
Play with Kubernetes позволяет развернуть кластер Kubernetes, добавлять узлы и тестировать манифесты. Сессия ограничена 4 часами. Здесь также доступен мини-курс с подробными пошаговыми инструкциями
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Хорошая книга по питону для старта «Learn Python 3»
Python с нуля бесплатно книга прямо на GitHub. Нашёл полноценное руководство по Python, оформленное как книга: всё от базовых конструкций до первых реальных программ
Можно спокойно идти по главам и постепенно разбираться в языке
Ставь лайк и погнали учиться😮
☝ Ссылка источник
✈ Python Ninja
Python с нуля бесплатно книга прямо на GitHub. Нашёл полноценное руководство по Python, оформленное как книга: всё от базовых конструкций до первых реальных программ
Можно спокойно идти по главам и постепенно разбираться в языке
Ставь лайк и погнали учиться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🏆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