Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2👍1🤔1
Наследование – это механизм ООП, который позволяет создавать новый класс на основе существующего, перенимая его свойства и методы.
содержит общие свойства и методы.
наследует их и может добавлять новые или переопределять старые.
Код становится повторно используемым → меньше дублирования.
Логически группируем сущности → удобная архитектура.
Можно дополнять и изменять поведение без изменения базового класса.
Базовый (родительский) класс
class Animal:
def __init__(self, name):
self.name = name
def make_sound(self):
return "Какой-то звук"
Дочерний класс (наследует
Animal)class Dog(Animal):
def make_sound(self):
return "Гав-гав"
Использование наследования
dog = Dog("Шарик")
print(dog.name) # Шарик (унаследовано от Animal)
print(dog.make_sound()) # Гав-гав (переопределено в Dog)Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1💊1
При втором запуске Ansible должен сообщить, что изменений нет, так как файл уже удален. Это подтверждает идемпотентность – задача не выполняется снова, если состояние соответствует ожидаемому.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Это системный механизм в Astra Linux (и некоторых других дистрибутивах на базе Debian), который убивает "долгоиграющие" процессы, потребляющие слишком много ресурсов. Он предотвращает зависания системы и защищает от неэффективного использования вычислительных мощностей.
Long Killer анализирует процессы и завершает те, которые:
Запущены от обычного пользователя (не root).
Работают слишком долго (по умолчанию >10 минут).
Потребляют много CPU (по умолчанию >90% CPU).
Используют много памяти (если система близка к OOM – Out of Memory).
Не имеют активности (зависли, например, ожидание ввода).
Он не убивает root-процессы.
Системные службы (например,
sshd, systemd) остаются нетронутыми. Если процесс выполняется интерактивно (например, работа в
vim или nano), он обычно не трогает его. Если подозреваете, что ваш процесс завершился из-за Long Killer, посмотрите логи
journalctl -u long-killer.service --no-pager | tail -n 20
Также можно проверить
dmesg dmesg | grep "killed by Long Killer"
Файл конфигурации находится здесь
/etc/long-killer.conf
Пример настроек
MAX_CPU_USAGE=90 # Максимальная загрузка CPU (%)
MAX_EXEC_TIME=600 # Максимальное время выполнения (секунды)
EXCLUDE_USERS=root # Не убивать процессы от root
После изменения перезапустите сервис
systemctl restart long-killer.service
Чтобы полностью отключить Long Killer
systemctl stop long-killer.service
systemctl disable long-killer.service
Запуск от
root (если это безопасно): sudo my_long_process
Снижение приоритета процесса (nice/renice)
nice -n 10 my_process
renice -n 10 -p <PID>
Использование
nohup или screen для фоновых задач nohup my_script.sh &
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Например, маска
Используется для разделения сети на подсети, маршрутизации и управления доступом.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤔1
В Linux информация о версии дистрибутива и ядра хранится в нескольких файлах.
Этот файл есть во всех современных дистрибутивах (Debian, Ubuntu, RHEL, CentOS, Fedora).
cat /etc/os-release
Пример содержимого
/etc/os-release NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
ID=ubuntu
PRETTY_NAME="Ubuntu 22.04.3 LTS"
VERSION_ID="22.04"
HOME_URL="https://www.ubuntu.com/"
Некоторые дистрибутивы используют
/etc/issue. cat /etc/issue
Вывод
Ubuntu 22.04.3 LTS \n \l
Этот файл содержит версию ядра и информацию о компиляции.
cat /proc/version
Вывод
Linux version 5.15.0-84-generic (buildd@lcy02-amd64-016) (gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0) #93-Ubuntu SMP
Проверить версию через
lsb_release lsb_release -a
Вывод
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
Проверить ядро через
unameuname -r
Вывод
5.15.0-84-generic
Можно также вывести полную информацию:
uname -a
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Добрый день
пост для @easy_devops
Кто идёт на Kuber Conf by AOT 4 декабря?
Первая некоммерческая K8s-конференция в Москве — отличный повод встретиться и обсудить:
🟣 Как на самом деле работает CNI chaining в продакшене
🟣 Как безопасно развернуть Gatekeeper для k8s-in-k8s
🟣 Поддержку Kubernetes в Vitastor
🟣 Опыт построения Managed Kubernetes
На ивенте будут топовые инженеры и архитекторы — будет о чём поговорить.
Конференция проходит под эгидой Ассоциации облачно-ориентированных технологий (АОТ), которую создают Флант, VK Cloud и Yandex Cloud.
Встречаемся?
Программа и билеты: https://aot-kuberconf.ru/?utm_source=telegram&utm_medium=referral_cpc&utm_campaign=easy_devops
Реклама Садовская.Е.О
ИНН:9710066394 Erid:2VtzquzxkhN
пост для @easy_devops
Кто идёт на Kuber Conf by AOT 4 декабря?
Первая некоммерческая K8s-конференция в Москве — отличный повод встретиться и обсудить:
🟣 Как на самом деле работает CNI chaining в продакшене
🟣 Как безопасно развернуть Gatekeeper для k8s-in-k8s
🟣 Поддержку Kubernetes в Vitastor
🟣 Опыт построения Managed Kubernetes
На ивенте будут топовые инженеры и архитекторы — будет о чём поговорить.
Конференция проходит под эгидой Ассоциации облачно-ориентированных технологий (АОТ), которую создают Флант, VK Cloud и Yandex Cloud.
Встречаемся?
Программа и билеты: https://aot-kuberconf.ru/?utm_source=telegram&utm_medium=referral_cpc&utm_campaign=easy_devops
Реклама Садовская.Е.О
ИНН:9710066394 Erid:2VtzquzxkhN
Squash — это процесс объединения нескольких коммитов в один перед слиянием ветки. Применяется для:
- очистки истории;
- упрощения отката;
- группировки связанных изменений;
- подготовки "чистого" pull request'а.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Маска подсети (subnet mask) — это число, которое определяет, какая часть IP-адреса относится к сети, а какая — к хостам внутри этой сети.
Пример:
IP-адрес: 192.168.1.10
Маска подсети: 255.255.255.0
В двоичном виде
IP: 11000000.10101000.00000001.00001010 (192.168.1.10)
Маска: 11111111.11111111.11111111.00000000 (255.255.255.0)
Разделять сеть на логические сегменты (разделение на подсети). Определять, находятся ли два устройства в одной сети или им нужен маршрутизатор. Экономить IP-адреса, разбивая сеть на нужное количество хостов.
Если два устройства в одной подсети, они могут общаться напрямую. Если в разных — нужен маршрутизатор.
Вместо маски 255.255.255.0 можно записать /24.
Пример: 192.168.1.10/24 (означает, что первые 24 бита — это сеть).
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1💊1
В GitLab существуют следующие типы Runner:
- Shared Runner — общий для всех проектов;
- Specific Runner — закреплён за конкретным проектом;
- Group Runner — доступен для всех проектов в группе; Также Runner может быть Shell, Docker, Docker+Machine, Kubernetes и другие — по способу исполнения задач.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3👍1